From 6dc7d81554624909770ab3ca1203045c7a98a211 Mon Sep 17 00:00:00 2001 From: Andreas Baumann Date: Tue, 4 Apr 2023 18:36:19 +0200 Subject: aded go17 to build-support --- build-support/go17/PKGBUILD | 125 ++++++++++++++++++++++++++++++++++++++++ build-support/go17/go-x87.patch | Bin 0 -> 777 bytes 2 files changed, 125 insertions(+) create mode 100644 build-support/go17/PKGBUILD create mode 100644 build-support/go17/go-x87.patch (limited to 'build-support') diff --git a/build-support/go17/PKGBUILD b/build-support/go17/PKGBUILD new file mode 100644 index 00000000..ff6ae85c --- /dev/null +++ b/build-support/go17/PKGBUILD @@ -0,0 +1,125 @@ +# Maintainer: Morten Linderud +# Contributor: Daniel Martí +# Contributor: Bartłomiej Piotrowski +# Contributor: Alexander F. Rødseth +# Contributor: Pierre Neidhardt +# Contributor: Vesa Kaihlavirta +# Contributor: Rémy Oudompheng +# Contributor: Andres Perera +# Contributor: Matthew Bauer +# Contributor: Christian Himpel +# Contributor: Mike Rosset +# Contributor: Daniel YC Lin +# Contributor: John Luebs + +pkgname=go17 +_pkgname=go +epoch=2 +pkgver=1.17 +pkgrel=1 +pkgdesc='Core compiler tools for the Go programming language' +arch=(i486 i686 pentium4 x86_64) +url='https://golang.org/' +license=(BSD) +makedepends=(git go) +replaces=(go-pie) +provides=(go-pie) +options=(!strip staticlibs) +source=(https://go.dev/dl/go${pkgver}.src.tar.gz{,.asc}) +validpgpkeys=('EB4C1BFD4F042F6DDDCCEC917721F63BD38B4796') +sha256sums=('3a70e5055509f347c0fb831ca07a2bf3b531068f349b14a3c652e9b5b67beb5d' + 'SKIP') + +build() { + export GOARCH=amd64 + export GOAMD64=v1 # make sure we're building for the right x86-64 version + export GOROOT_FINAL=/usr/lib/go + export GOROOT_BOOTSTRAP=/usr/lib/go + + cd "$_pkgname/src" + ./make.bash -v +} + +check() { + export GO_TEST_TIMEOUT_SCALE=3 + + cd $_pkgname/src + ./run.bash --no-rebuild -v -v -v -k +} + +package() { + cd "$_pkgname" + + install -d "$pkgdir/usr/bin" "$pkgdir/usr/lib/go" "$pkgdir/usr/share/doc/go" \ + "$pkgdir/usr/lib/go/pkg/linux_amd64_"{dynlink,race} + + cp -a bin pkg src lib misc api test "$pkgdir/usr/lib/go" + # We can't strip all binaries and libraries, + # as that also strips some testdata directories and breaks the tests. + # Just strip the packaged binaries as a compromise. + strip $STRIP_BINARIES "$pkgdir/usr/lib/go"{/bin/*,/pkg/tool/*/*} + + cp -r doc/* "$pkgdir/usr/share/doc/go" + + ln -sf /usr/lib/go/bin/go "$pkgdir/usr/bin/go" + ln -sf /usr/lib/go/bin/gofmt "$pkgdir/usr/bin/gofmt" + ln -sf /usr/share/doc/go "$pkgdir/usr/lib/go/doc" + + install -Dm644 VERSION "$pkgdir/usr/lib/go/VERSION" + + rm -rf "$pkgdir/usr/lib/go/pkg/bootstrap" "$pkgdir/usr/lib/go/pkg/tool/*/api" + + # TODO: Figure out if really needed + rm -rf "$pkgdir"/usr/lib/go/pkg/obj/go-build + + install -Dm644 LICENSE "$pkgdir/usr/share/licenses/$pkgname/LICENSE" +} + +# vim: ts=2 sw=2 et +eval "$( + declare -f build | \ + sed ' + /install\( .*\)\? -race /d + ' + declare -f package_go-pie package | \ + sed ' + s,\(/linux_\)amd64\([_/]\),\1386\2,g + ' +)" + +eval "$( + declare -f build check _package \ + | sed ' + s/\(export GOARCH=\)amd64/\1386 / + ' +)" + +# 1.16 dropped non-SSE2 floating point operations, so we must +# use software floating points (see https://github.com/golang/go/issues/40255) +if [ "$CARCH" = 'i686' -o "$CARCH" = 'i486' ]; then + eval "$( + declare -f build \ + | sed ' + 2 a export GO386='softfloat' + ' + declare -f check \ + | sed ' + 2 a export GO386='softfloat' + ' + )" +fi + +source+=('go-x87.patch') +sha256sums+=('8b124eaa7521bd0e3760b514829b1ecce3d3cd169f99c3629ff50b7769303802') +eval "$( + { + declare -f prepare || \ + printf 'prepare() { cd "$_pkgname" \n}\n' + } \ + | sed ' + $i patch -Np1 -i ../go-x87.patch + ' +)" + +# tests are failing, ignore them +unset check diff --git a/build-support/go17/go-x87.patch b/build-support/go17/go-x87.patch new file mode 100644 index 00000000..0c0a584b Binary files /dev/null and b/build-support/go17/go-x87.patch differ -- cgit v1.2.3-54-g00ecf