-
-
Save oz/835e05337efde9ac6e3aaaa5db0753b6 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
diff --git a/src/cmd/go/internal/work/init.go b/src/cmd/go/internal/work/init.go | |
index eb99815338..ae76ba8a6c 100644 | |
--- a/src/cmd/go/internal/work/init.go | |
+++ b/src/cmd/go/internal/work/init.go | |
@@ -123,7 +123,9 @@ func buildModeInit() { | |
ldBuildmode = "c-shared" | |
case "default": | |
switch platform { | |
- case "android/arm", "android/arm64", "android/amd64", "android/386": | |
+ case "linux/amd64", "linux/arm", "linux/arm64", "linux/386", "linux/ppc64le", "linux/s390x", | |
+ "android/amd64", "android/arm", "android/arm64", "android/386", | |
+ "freebsd/amd64": | |
codegenArg = "-shared" | |
ldBuildmode = "pie" | |
case "darwin/arm", "darwin/arm64": |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# $Id$ | |
# Maintainer: Bartłomiej Piotrowski <bpiotrowski@archlinux.org> | |
pkgbase=go | |
pkgname=(go go-pie) | |
epoch=2 | |
pkgver=1.11 | |
pkgrel=1 | |
arch=(x86_64) | |
url='http://golang.org/' | |
license=(BSD) | |
makedepends=(git go) | |
source=(https://storage.googleapis.com/golang/go$pkgver.src.tar.gz | |
default-buildmode-pie.patch) | |
sha256sums=('afc1e12f5fe49a471e3aae7d906c73e9d5b1fdd36d52d72652dde8f6250152fb' | |
'3ef06a47ef358d29f2a3ace3145ab3e9d33078e6f30a491eee187727d31d8fc6') | |
export GOOS=linux | |
case "$CARCH" in | |
x86_64) export GOARCH=amd64 ;; | |
esac | |
export GOROOT_FINAL=/usr/lib/go | |
export GOROOT_BOOTSTRAP=/usr/lib/go | |
export GOCACHE=off | |
prepare() { | |
cp -r $pkgbase ${pkgbase}-pie | |
cd ${pkgbase}-pie | |
patch -p1 -i "$srcdir"/default-buildmode-pie.patch | |
} | |
build() { | |
export GOPATH="$srcdir/" | |
for _pkgname in ${pkgname[@]}; do | |
export GOROOT="$srcdir/$_pkgname" | |
export GOBIN="$GOROOT/bin" | |
cd "$srcdir/$_pkgname/src" | |
./make.bash --no-clean -v | |
PATH="$GOBIN:$PATH" go install -v -buildmode=shared std | |
PATH="$GOBIN:$PATH" go install -v -race std | |
done | |
} | |
check() { | |
# Run test suite only for unpatched Go as it expects non-PIE ldBuildmode | |
export GOROOT="$srcdir/$pkgbase" | |
export GOBIN="$GOROOT/bin" | |
export PATH="$srcdir/$pkgbase/bin:$PATH" | |
export GO_TEST_TIMEOUT_SCALE=2 | |
cd $pkgbase/src | |
./run.bash --no-rebuild -v -v -v -k | |
} | |
_package() { | |
options=(!strip staticlibs) | |
cd "$srcdir/$1" | |
install -d "$pkgdir/usr/bin" "$pkgdir/usr/lib/go" "$pkgdir/usr/share/doc/go" | |
cp -a bin pkg src lib misc api "$pkgdir/usr/lib/go" | |
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 LICENSE "$pkgdir/usr/share/licenses/go/LICENSE" | |
install -Dm644 VERSION "$pkgdir/usr/lib/go/VERSION" | |
rm -rf "$pkgdir/usr/lib/go/pkg/bootstrap" | |
rm -rf "$pkgdir/usr/lib/go/pkg/tool/*/api" | |
} | |
package_go() { | |
pkgdesc='Core compiler tools for the Go programming language' | |
provides=(go-pie) | |
conflicts=(go-pie) | |
_package $pkgname | |
} | |
package_go-pie() { | |
pkgdesc='Core compiler tools for the Go programming language (with PIE enabled by default)' | |
provides=(go) | |
conflicts=(go) | |
_package $pkgname | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment