nim / rpms / go-compilers

Forked from rpms/go-compilers 6 years ago
Clone

Blame go-compilers.spec

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