%define with_pie 1 Name: go Version: 1.11 Release: 2mamba Summary: The Go programming language Group: Applications/Development Vendor: openmamba Distribution: openmamba Packager: Silvan Calarco URL: https://golang.org ## GITSOURCE https://github.com/golang/go.git go1.10.1 Source: https://github.com/golang/go.git/go%{version}/go-%{version}.tar.bz2 Patch0: go-1.10.1-default-buildmode-pie.patch License: BSD ## AUTOBUILDREQ-BEGIN BuildRequires: glibc-devel ## AUTOBUILDREQ-END BuildRequires: gcc-go >= 8.1.0 Provides: go Provides: go-pie #%if "%{with_pie}" == "1" #Conflicts: go #%else #Conflicts: go-pie #%endif BuildRoot: %{_tmppath}/%{name}-%{version}-root %description The Go programming language. %package pie Group: Applications/Development Summary: The Go programming language (with PIE enabled by default) %description pie The Go programming language (with PIE enabled by default). %debug_package %prep %setup -q %if "%{with_pie}" == "1" %patch0 -p1 %endif %define _use_internal_dependency_generator 0 %define __find_provides %{_builddir}/go-%{version}/find_provides.sh cat > %{_builddir}/go-%{version}/find_provides.sh <<_EOF #! /bin/sh %{_prefix}/lib/rpm/find-provides %{buildroot} %{_target_cpu} _EOF chmod +x %{_builddir}/go-%{version}/find_provides.sh %define __find_requires %{_builddir}/go-%{version}/find_requires.sh cat > %{_builddir}/go-%{version}/find_requires.sh <<_EOF #! /bin/sh grep -v %{buildroot}%{_libdir}/go/src/ | \ %{_prefix}/lib/rpm/find-requires %{buildroot} %{_target_cpu} 2>/dev/null _EOF chmod +x %{_builddir}/go-%{version}/find_requires.sh %build export GOPATH="`pwd`/" export GOROOT="$GOPATH" export GOBIN="$GOROOT/bin" cd "$GOPATH/src" ./make.bash --no-clean -v PATH="$GOBIN:$PATH" go install -v -buildmode=shared std %ifarch x86_64 PATH="$GOBIN:$PATH" go install -v -race std %endif %install [ "%{buildroot}" != / ] && rm -rf "%{buildroot}" export GOPATH="`pwd`/" options=(!strip staticlibs) install -d %{buildroot}{%{_bindir},%{_libdir}/go,%{_docdir}/go} cp -a bin pkg src lib misc %{buildroot}%{_libdir}/go cp -r doc/* %{buildroot}%{_docdir}/go ln -sf %{_libdir}/go/bin/go %{buildroot}%{_bindir}/go-pie ln -sf %{_libdir}/go/bin/gofmt %{buildroot}%{_bindir}/gofmt-pie ln -sf %{_docdir}/go %{buildroot}%{_libdir}/go/doc install -Dm644 LICENSE %{buildroot}%{_datadir}/licenses/go/LICENSE install -Dm644 VERSION %{buildroot}%{_libdir}/go/VERSION rm -rf %{buildroot}%{_libdir}/go/pkg/bootstrap rm -rf %{buildroot}%{_libdir}/go/pkg/tool/*/api rm -rf %{buildroot}%{_libdir}/go/src/*.rc %clean [ "%{buildroot}" != / ] && rm -rf "%{buildroot}" %if "%{with_pie}" == "1" %files pie %else %files %endif %defattr(-,root,root) %{_bindir}/go-pie %{_bindir}/gofmt-pie %dir %{_libdir}/go %{_libdir}/go/* %dir %{_datadir}/doc/go %{_datadir}/doc/go/* %{_datadir}/licenses/go/LICENSE #%doc README.md %changelog * Mon Sep 10 2018 Silvan Calarco 1.11-2mamba - rename go and go-fmt to [-pie] for cohexistence woth gcc-go * Tue Sep 04 2018 Automatic Build System 1.11-1mamba - automatic version update by autodist * Sun Jun 24 2018 Silvan Calarco 1.10.3-2mamba - rebuilt with libgo 8.1.0 * Fri Jun 08 2018 Automatic Build System 1.10.3-1mamba - automatic version update by autodist * Wed May 02 2018 Automatic Build System 1.10.2-1mamba - automatic version update by autodist * Tue Apr 24 2018 Silvan Calarco 1.10.1-2mamba - remove testdata binaries for other architectures * Thu Apr 19 2018 Silvan Calarco 1.10.1-1mamba - package created using the webbuild interface