go/go.spec

127 lines
3.3 KiB
RPMSpec

#% define with_pie 1
Name: go
Version: 1.10.2
Release: 1mamba
Summary: The Go programming language
Group: Applications/Development
Vendor: openmamba
Distribution: openmamba
Packager: Silvan Calarco <silvan.calarco@mambasoft.it>
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
BuildRequires: ldconfig
BuildRequires: libperl
BuildRequires: perl-devel
## AUTOBUILDREQ-END
Conflicts: gcc-go
Provides: go
%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
ln -sf %{_libdir}/go/bin/gofmt %{buildroot}%{_bindir}/gofmt
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
%{_bindir}/gofmt
%dir %{_libdir}/go
%{_libdir}/go/*
%dir %{_datadir}/doc/go
%{_datadir}/doc/go/*
%{_datadir}/licenses/go/LICENSE
#%doc README.md
%changelog
* Wed May 02 2018 Automatic Build System <autodist@mambasoft.it> 1.10.2-1mamba
- automatic version update by autodist
* Tue Apr 24 2018 Silvan Calarco <silvan.calarco@mambasoft.it> 1.10.1-2mamba
- remove testdata binaries for other architectures
* Thu Apr 19 2018 Silvan Calarco <silvan.calarco@mambasoft.it> 1.10.1-1mamba
- package created using the webbuild interface