From e74cde76c104df82b120a7b13964cb786da8f565 Mon Sep 17 00:00:00 2001 From: Erich Eckner Date: Mon, 22 May 2023 20:18:50 +0200 Subject: community -> extra --- extra/go/PKGBUILD | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++ extra/go/go-x87.patch | Bin 0 -> 777 bytes 2 files changed, 52 insertions(+) create mode 100644 extra/go/PKGBUILD create mode 100644 extra/go/go-x87.patch (limited to 'extra/go') diff --git a/extra/go/PKGBUILD b/extra/go/PKGBUILD new file mode 100644 index 00000000..c4adc372 --- /dev/null +++ b/extra/go/PKGBUILD @@ -0,0 +1,52 @@ +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 + +# https://go-review.googlesource.com/c/go/+/257963 +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 + +# bootstrap via go17 +makedepends=(${makedepends[@]//go/}) +makedepends+=('go17') diff --git a/extra/go/go-x87.patch b/extra/go/go-x87.patch new file mode 100644 index 00000000..0c0a584b Binary files /dev/null and b/extra/go/go-x87.patch differ -- cgit v1.2.3-54-g00ecf