%global forge_url https://pagure.io/fork/nim/go-rpm-macros %global commit ee145d34d7b29a701a061184fbd761e98a3cc0e5 %forge_init #https://src.fedoraproject.org/rpms/redhat-rpm-config/pull-request/51 %global _spectemplatedir %{_datadir}/rpmdevtools/fedora %global _docdir_fmt %{name} # Master definition that will be written to macro files %global golang_arches %{ix86} x86_64 %{arm} aarch64 ppc64le s390x %global gccgo_arches %{mips} %global gopath %{_datadir}/gocode %global goproxy %{_libdir}/goproxy ExclusiveArch: %{golang_arches} %{gccgo_arches} Name: go-rpm-macros Version: 4.0.0 Release: 0.55%{?dist} Summary: Build-stage rpm automation for Go packages License: GPLv3+ URL: %{forge_url} Requires: go-srpm-macros = %{version}-%{release} Requires: go-filesystem = %{version}-%{release} %ifarch %{golang_arches} Requires: golang Provides: compiler(golang) Provides: compiler(go-compiler) = 2 Obsoletes: go-compilers-golang-compiler < %{version}-%{release} %endif %ifarch %{gccgo_arches} Requires: gcc-go Provides: compiler(gcc-go) Provides: compiler(go-compiler) = 1 Obsoletes: go-compilers-gcc-go-compiler < %{version}-%{release} %endif %description This package provides build-stage rpm automation to simplify the creation of Go language (golang) packages. It does not need to be included in the default build root: go-srpm-macros will pull it in for Go packages only. %package -n go-srpm-macros Summary: Source-stage rpm automation for Go packages BuildArch: noarch Requires: redhat-rpm-config %description -n go-srpm-macros This package provides SRPM-stage rpm automation to simplify the creation of Go language (golang) packages. 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-filesystem Summary: Directories used by Go packages License: Public Domain Requires: modist %description -n go-filesystem This package contains the basic directory layout used by Go packages. %package -n go-rpm-templates Summary: RPM spec templates for Go packages License: MIT BuildArch: noarch Requires: go-rpm-macros = %{version}-%{release} #https://src.fedoraproject.org/rpms/redhat-rpm-config/pull-request/51 #Requires: redhat-rpm-templates %description -n go-rpm-templates This package contains documented rpm spec templates showcasing how to use the macros provided by go-rpm-macros to create Go packages. %sourcelist %forge_sources %prep %forge_prep %writevars -f rpm/macros.d/macros.go-srpm golang_arches gccgo_arches gopath goproxy for template in templates/rpm/*\.spec ; do target=$(echo "${template}" | sed "s|^\(.*\)\.spec$|\1-bare.spec|g") grep -v '^%%dnl' "${template}" > "${target}" touch -r "${template}" "${target}" done %install # Some of those probably do not work with gcc-go right now # This is not intentional, but mips is not a primary Fedora architecture # Patches and PRs are welcome install -m 0755 -vd %{buildroot}%{gopath}/src install -m 0755 -vd %{buildroot}%{goproxy} install -m 0755 -vd %{buildroot}%{_spectemplatedir} install -m 0644 -vp templates/rpm/*spec \ %{buildroot}%{_spectemplatedir} install -m 0755 -vd %{buildroot}%{rpmmacrodir} install -m 0644 -vp rpm/macros.d/macros.go-* \ %{buildroot}%{rpmmacrodir} install -m 0755 -vd %{buildroot}%{_rpmluadir}/fedora/srpm install -m 0644 -vp rpm/lua/srpm/*lua \ %{buildroot}%{_rpmluadir}/fedora/srpm install -m 0755 -vd %{buildroot}%{_rpmluadir}/fedora/rpm install -m 0644 -vp rpm/lua/rpm/*lua \ %{buildroot}%{_rpmluadir}/fedora/rpm install -m 0755 -vd %{buildroot}%{_rpmconfigdir}/fileattrs install -m 0644 -vp rpm/fileattrs/*.attr \ %{buildroot}%{_rpmconfigdir}/fileattrs/ install -m 0755 -vp rpm/*.prov \ %{buildroot}%{_rpmconfigdir}/ %ifarch %{golang_arches} install -m 0644 -vp rpm/macros.d/macros.go-compilers-golang \ %{buildroot}%{_rpmconfigdir}/macros.d/macros.go-compiler-golang %endif %ifarch %{gccgo_arches} install -m 0644 -vp rpm/macros.d/macros.go-compilers-gcc \ %{buildroot}%{_rpmconfigdir}/macros.d/macros.go-compiler-gcc %endif %files %license LICENSE.txt %doc README.md %{_rpmconfigdir}/fileattrs/*.attr %{_rpmconfigdir}/*.prov %{_rpmconfigdir}/macros.d/macros.go-rpm* %{_rpmconfigdir}/macros.d/macros.go-compiler* %{_rpmluadir}/fedora/rpm/*.lua %files -n go-srpm-macros %license LICENSE.txt %doc README.md %{_rpmconfigdir}/macros.d/macros.go-srpm %{_rpmluadir}/fedora/srpm/*.lua %files -n go-filesystem %dir %{goproxy} %dir %{gopath} %dir %{gopath}/src %files -n go-rpm-templates %license LICENSE-templates.txt %doc README.md # https://src.fedoraproject.org/rpms/redhat-rpm-config/pull-request/51 %dir %{dirname:%{_spectemplatedir}} %dir %{_spectemplatedir} %{_spectemplatedir}/*.spec %transfiletriggerin -n go-filesystem -- %{goproxy} modist index %{goproxy} %end %transfiletriggerpostun -n go-filesystem -- %{goproxy} modist index %{goproxy} %end %changelog * Tue Jan 28 2020 Fedora Release Engineering - 3.0.8-5 - Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild * Thu Jul 25 2019 Fedora Release Engineering - 3.0.8-4 - Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild * Wed Jun 05 2019 Nicolas Mailhot - 3.0.8-3 - initial Fedora import, for golist 0.10.0 and redhat-rpm-config 130