Name: go-compilers Version: 3 Release: 0.8%{?dist} Summary: rpm automation to create Go language (golang) packages License: GPLv3+ # This file contains Go architecture definitions which are also used here # Therefore, changing those requires a double rebuild Source0: macros.go-srpm Source1: macros.go-rpm # Autodeps Source10: go.attr Source11: go.prov Source12: go.req # Compiler definitions Source20: macros.golang-compiler Source21: macros.gcc-go-compiler ExclusiveArch: %{go_arches} %description This package provides rpm automation to simplify the creation of Go language (golang) packages on various architectures: — SRPM-stage macros — Build-stage rpm macros — Go rpm autodeps (provides and requires) — correct Go compiler definitions for each supported architecture %package -n go-srpm-macros Summary: SRPM-stage rpm automation for Go packages BuildArch: noarch Requires: redhat-rpm-config >= 73 %description -n go-srpm-macros This package provides SRPM-stage rpm automation to simplify the creation of Go language (golang) packages on various architectures. It limits itself to the automation subset required to create Go SRPM packages and needs to be included in the default build root. The rest of the automation is provided by the go-rpm-macros package, that go-srpm-macros will pull in for Go packages only. %package -n go-rpm-macros Summary: Build-stage rpm automation for Go packages BuildArch: noarch Requires: lua-argparse Requires: compiler(go-compiler) Requires: go-srpm-macros = %{version}-%{release} %description -n go-rpm-macros This package provides build-stage rpm automation to simplify the creation of Go language (golang) packages on various architectures. It does not need to be included in the default build root: go-srpm-macros will pull it in for Go packages only. %ifarch %{golang_arches} %package -n golang-compiler Summary: compiler for golang Requires: golang Provides: compiler(go-compiler) = 2 Provides: compiler(golang) Provides: go-compilers-golang-compiler = %{version}-%{release} Obsoletes: go-compilers-golang-compiler < %{version}-%{release} %description -n golang-compiler Compiler for golang. %endif %ifarch %{gccgo_arches} %package -n gcc-go-compiler Summary: compiler for gcc-go # GCC>=5 holds in Fedora now Requires: gcc-go Provides: compiler(go-compiler) = 1 Provides: compiler(gcc-go) Provides: go-compilers-gcc-go-compiler = %{version}-%{release} Obsoletes: go-compilers-gcc-go-compiler < %{version}-%{release} %description -n gcc-go-compiler Compiler for gcc-go. %endif %install install -m 0755 -vd %{buildroot}%{_rpmconfigdir}/{macros.d,fileattrs}/ install -m 0644 -vp %{SOURCE0} %{SOURCE1} \ %{buildroot}%{_rpmconfigdir}/macros.d/ install -m 0644 -vp %{SOURCE10} \ %{buildroot}%{_rpmconfigdir}/fileattrs/ install -m 0755 -vp %{SOURCE11} %{SOURCE12} \ %{buildroot}%{_rpmconfigdir}/ %ifarch %{golang_arches} install -m 0644 -vp %{SOURCE20} \ %{buildroot}%{_rpmconfigdir}/macros.d/ %endif %ifarch %{gccgo_arches} install -m 0644 -vp %{SOURCE21} \ %{buildroot}%{_rpmconfigdir}/macros.d/ %endif %files -n go-srpm-macros %{_rpmconfigdir}/macros.d/macros.go-srpm %files -n go-rpm-macros %{_rpmconfigdir}/macros.d/macros.go-rpm %{_rpmconfigdir}/fileattrs/go.attr %{_rpmconfigdir}/go.prov %{_rpmconfigdir}/go.req %ifarch %{golang_arches} %files -n golang-compiler %{_rpmconfigdir}/macros.d/macros.golang-compiler %endif %ifarch %{gccgo_arches} %files -n gcc-go-compiler %{_rpmconfigdir}/macros.d/macros.gcc-go-compiler %endif %changelog * Mon Feb 12 2018 Nicolas Mailhot - 3-0.8 - merge go-srpm-macros and go-compilers to reduce the number of Go rpm macro packages and make sure all the macros are kept in sync - simplify subpackage naming - add more Go packaging automation, including autodeps: https://fedoraproject.org/wiki/More_Go_packaging * Wed Feb 07 2018 Fedora Release Engineering - 1-17 - Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild * Tue Jan 16 2018 Jakub Čajka - 1-16 - use build mode pie also for testing(we are getting pie ld flag from hardening), this resolves linker issues on ppc64le * Thu Nov 30 2017 Jakub Čajka - 1-15 - allow to specify __golang_extldflags macro to specify extldflags with go* macros - Resolves: rhbz#1502305 * Wed Aug 02 2017 Fedora Release Engineering - 1-14 - Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild * Wed Jul 26 2017 Fedora Release Engineering - 1-13 - Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild * Fri Jul 14 2017 Jakub Čajka - 1-12 - rebuild for ppc64 drop * Wed Feb 15 2017 Jakub Čajka - 1-11 - pie is not supported on ppc64 * Fri Feb 10 2017 Fedora Release Engineering - 1-10 - Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild * Fri Jan 27 2017 Jakub Čajka - 1-9 - Add crash traceback level to golang as default - Switch to PIE and push distribution ld flags - Resolves BZ#1413529 - Related BZ#1411242 * Wed Jul 20 2016 Jakub Čajka - 1-8 - Build for s390x switch to golang - Related: bz1357394 * Wed Apr 13 2016 Dan Horák - 1-7 - fix bug in gcc-go version of gotest macro * Wed Feb 03 2016 Fedora Release Engineering - 1-6 - Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild * Thu Jan 28 2016 Jakub Čajka - 1-5 - Build for {power64} switch to golang * Fri Jan 22 2016 Jakub Čajka - 1-4 - version provides to make seamless transition between compilers possible - Resolves: bz#1300717 * Thu Nov 12 2015 Jakub Čajka - 1-3 - remove version requirement from gcc-go subpackage to avoid cyclic dependency due to macro declaration in subpackage * Thu Sep 10 2015 jchaloup - 1-2 - go_compiler macro must be in go-srpm-macros package as it is used to pick compiler(go-compiler) which would provide go_compiler * Tue Jul 07 2015 Jan Chaloupka - 1-1 - Initial commit resolves: #1258182