diff options
Diffstat (limited to 'community/go/APKBUILD')
-rw-r--r-- | community/go/APKBUILD | 174 |
1 files changed, 137 insertions, 37 deletions
diff --git a/community/go/APKBUILD b/community/go/APKBUILD index d4470ce83e1..06274e82539 100644 --- a/community/go/APKBUILD +++ b/community/go/APKBUILD @@ -1,32 +1,120 @@ # Contributor: Sören Tempel <soeren+alpine@soeren-tempel.net> # Contributor: Eivind Uggedal <eu@eju.no> -# Maintainer: Natanael Copa <ncopa@alpinelinux.org> +# Contributor: Natanael Copa <ncopa@alpinelinux.org> +# Maintainer: Sören Tempel <soeren+alpine@soeren-tempel.net> pkgname=go # go binaries are statically linked, security updates require rebuilds -pkgver=1.17.4 +pkgver=1.22.2 pkgrel=0 pkgdesc="Go programming language compiler" -url="https://golang.org/" +url="https://go.dev/" arch="all" license="BSD-3-Clause" depends="binutils gcc musl-dev" makedepends="bash" -checkdepends="binutils-gold" +checkdepends="binutils-gold git git-daemon" subpackages="$pkgname-doc" -source="https://golang.org/dl/go${pkgver/_/}.src.tar.gz - disable-flaky-sync-test.patch - disable-flaky-gc-test.patch - allow-unshare-to-return-enosys.patch +source="https://go.dev/dl/go$pkgver.src.tar.gz + 0001-cmd-link-prefer-musl-s-over-glibc-s-ld.so-during-dyn.patch + 0002-misc-cgo-test-enable-setgid-tests-on-Alpine-Linux-ag.patch + 0003-go.env-Don-t-switch-Go-toolchain-version-as-directed.patch + 0004-cmd-dist-cmd-go-define-assembly-macros-handle-GOARM-.patch + + tests-fchmodat-not-supported.patch " case "$CARCH" in arm*|aarch64) depends="binutils-gold";; - riscv64) - # Gold does not support RISC-V - checkdepends="" + riscv64|loongarch64) + # binutils-gold is not supported on riscv64 and loongarch64. + checkdepends="${checkdepends/binutils-gold/}" ;; esac # secfixes: +# 0: +# - CVE-2022-41716 +# - CVE-2022-41720 +# - CVE-2022-41722 +# 1.22.2-r0: +# - CVE-2023-45288 +# 1.22.1-r0: +# - CVE-2024-24783 +# - CVE-2023-45290 +# - CVE-2023-45289 +# - CVE-2024-24785 +# - CVE-2024-24784 +# 1.21.5-r0: +# - CVE-2023-39324 +# - CVE-2023-39326 +# 1.21.3-r0: +# - CVE-2023-39325 +# - CVE-2023-44487 +# 1.21.2-r0: +# - CVE-2023-39323 +# 1.21.1-r0: +# - CVE-2023-39318 +# - CVE-2023-39319 +# - CVE-2023-39320 +# - CVE-2023-39321 +# - CVE-2023-39322 +# 1.20.7-r0: +# - CVE-2023-29409 +# 1.20.6-r0: +# - CVE-2023-29406 +# 1.20.5-r0: +# - CVE-2023-29402 +# - CVE-2023-29403 +# - CVE-2023-29404 +# - CVE-2023-29405 +# 1.20.4-r0: +# - CVE-2023-24539 +# - CVE-2023-24540 +# - CVE-2023-29400 +# 1.20.3-r0: +# - CVE-2023-24537 +# - CVE-2023-24538 +# - CVE-2023-24534 +# - CVE-2023-24536 +# 1.20.2-r0: +# - CVE-2023-24532 +# 1.20.1-r0: +# - CVE-2022-41725 +# - CVE-2022-41724 +# - CVE-2022-41723 +# 1.19.4-r0: +# - CVE-2022-41717 +# 1.19.2-r0: +# - CVE-2022-2879 +# - CVE-2022-2880 +# - CVE-2022-41715 +# 1.19.1-r0: +# - CVE-2022-27664 +# - CVE-2022-32190 +# 1.18.5-r0: +# - CVE-2022-32189 +# 1.18.4-r0: +# - CVE-2022-1705 +# - CVE-2022-1962 +# - CVE-2022-28131 +# - CVE-2022-30630 +# - CVE-2022-30631 +# - CVE-2022-30632 +# - CVE-2022-30633 +# - CVE-2022-30635 +# - CVE-2022-32148 +# 1.18.1-r0: +# - CVE-2022-28327 +# - CVE-2022-27536 +# - CVE-2022-24675 +# 1.17.8-r0: +# - CVE-2022-24921 +# 1.17.7-r0: +# - CVE-2022-23772 +# - CVE-2022-23773 +# - CVE-2022-23806 +# 1.17.6-r0: +# - CVE-2021-44716 +# - CVE-2021-44717 # 1.17.3-r0: # - CVE-2021-41772 # - CVE-2021-41771 @@ -35,6 +123,8 @@ esac # 1.17.1-r0: # - CVE-2021-39293 # 1.17-r0: +# - CVE-2020-29509 +# - CVE-2020-29511 # - CVE-2021-29923 # 1.16.7-r0: # - CVE-2021-36221 @@ -81,7 +171,6 @@ esac if [ "$CBUILD" = "$CTARGET" ]; then makedepends="go-bootstrap $makedepends" provides="go-bootstrap=$pkgver-r$pkgrel" - subpackages="$subpackages" else pkgname="go-bootstrap" makedepends="go $makedepends" @@ -93,21 +182,18 @@ else fi case "$CTARGET_ARCH" in -aarch64)export GOARCH="arm64" ;; -armel) export GOARCH="arm" GOARM=5 ;; -armhf) export GOARCH="arm" GOARM=6 ;; -armv7) export GOARCH="arm" GOARM=7 ;; -s390x) export GOARCH="s390x" ;; -x86) export GOARCH="386" ;; -x86_64) export GOARCH="amd64" ;; -ppc64) export GOARCH="ppc64" ;; +aarch64) export GOARCH="arm64" ;; +armel) export GOARCH="arm" GOARM=5 ;; +armhf) export GOARCH="arm" GOARM=6 ;; +armv7) export GOARCH="arm" GOARM=7 ;; +s390x) export GOARCH="s390x" ;; +x86) export GOARCH="386" ;; +x86_64) export GOARCH="amd64" ;; +ppc64) export GOARCH="ppc64" ;; ppc64le) export GOARCH="ppc64le" ;; -mips) export GOARCH="mips" GOMIPS=softfloat ;; -mips64) export GOARCH="mips64" GOMIPS64=softfloat ;; -mips64el) export GOARCH="mips64le" GOMIPS64=softfloat ;; -mipsel) export GOARCH="mipsle" GOMIPS=softfloat ;; riscv64) export GOARCH="riscv64" ;; -*) export GOARCH="unsupported";; +loongarch64) export GOARCH="loong64" ;; +*) export GOARCH="unsupported";; esac # compile go itself as a PIE on supported arches. @@ -118,7 +204,12 @@ esac prepare() { default_prepare - # See https://github.com/golang/go/issues/49066 + # The GitLab CI builds aports in a container. On ppc64le, ASLR + # needs to be disabled in order to have the following test case + # pass. However, the container doesn't have permissions to + # disable ASLR, hence we just disable this test for now. + # + # See https://github.com/golang/go/issues/49066#issuecomment-1252948861 if [ "$CTARGET_ARCH" = "ppc64le" ]; then rm test/fixedbugs/bug513.go fi @@ -133,6 +224,7 @@ build() { export GOROOT="$builddir" export GOBIN="$GOROOT"/bin export GOROOT_FINAL=/usr/lib/go + local p; for p in /usr/lib/go-bootstrap /usr/lib/go-linux-$GOARCH-bootstrap /usr/lib/go; do if [ -d "$p" ]; then export GOROOT_BOOTSTRAP="$p" @@ -155,9 +247,14 @@ build() { check() { cd "$builddir/src" - [ "$CTARGET_ARCH" = "armhf" ] && GO_TEST_TIMEOUT_SCALE=2 - # TODO: cgo_test fails due to https://github.com/golang/go/issues/39857 - PATH="$builddir/bin:$PATH" ./run.bash -no-rebuild -run='!(^cgo_test$)' + if [ "$CTARGET_ARCH" = "armhf" ]; then + export GO_TEST_TIMEOUT_SCALE=2 + fi + + # Test suite does not pass with ccache, thus remove it form $PATH. + export PATH="$(echo "$PATH" | sed 's|/usr/lib/ccache/bin:||g')" + + PATH="$builddir/bin:$PATH" ./run.bash -no-rebuild } package() { @@ -168,14 +265,15 @@ package() { ln -s /usr/lib/go/bin/"$binary" "$pkgdir"/usr/bin/ done - cp -a pkg lib "$pkgdir"/usr/lib/go - cp -r doc misc "$pkgdir"/usr/share/doc/go + cp -a misc pkg src lib "$pkgdir"/usr/lib/go + cp -r doc "$pkgdir"/usr/share/doc/go rm -rf "$pkgdir"/usr/lib/go/pkg/obj rm -rf "$pkgdir"/usr/lib/go/pkg/bootstrap rm -f "$pkgdir"/usr/lib/go/pkg/tool/*/api - mkdir -p "$pkgdir"/usr/lib/go/ - cp -a "$builddir"/src "$pkgdir"/usr/lib/go + # Install go.env, see https://go.dev/doc/toolchain#GOTOOLCHAIN. + install -Dm644 "$builddir"/go.env "$pkgdir"/usr/lib/go/go.env + install -Dm644 VERSION "$pkgdir/usr/lib/go/VERSION" # Remove tests from /usr/lib/go/src to reduce package size, # these should not be needed at run-time by any program. @@ -193,8 +291,10 @@ package() { } sha512sums=" -61668dddf5e8c45a4554e19877c06d38c1615f2a672a68fae318f59400911736c5a03da4bfdb8d68ac85a51059d65681d8a365028fb09c3a1ab0ce4e03385d6a go1.17.4.src.tar.gz -988a436727aefc5124702bd70cb01bb457a921affcdd03e17f78937685482e899080d95baf125e054d1f634dae5c747d05a3662f1f4f462b87965b06270c788f disable-flaky-sync-test.patch -ab4aa83d8a9bf10bbb93ad029095b47c6eea7d5532703d84449884039116e07897871649feb1df8128f10257cbdb5d7eb03820ab0f1a3f60315e195302f6e516 disable-flaky-gc-test.patch -6017caacf77c2911e9e882878fdaa2ed066b76b7e97b2ad776bc33d96b21cabc802966473946642c86a8f985c69adcc5e7ea61684f6d0dbacd468a6aad687229 allow-unshare-to-return-enosys.patch +f2491d2b5d4ef2dd86ca7820503a2534cd1860822049dc01a6cb40b556a0812cfc4196fa83173765816060253ac949f4165b0fb4b2bed5d45e30d03bb69e434d go1.22.2.src.tar.gz +34dbe032c5f08dd8a7aad36fc4d54e746a876fdadc25466888a2f04f5a9d53103190ebd68d3cf978d3a041976185e30ffb25611fb577d031c159810d2d4c7c41 0001-cmd-link-prefer-musl-s-over-glibc-s-ld.so-during-dyn.patch +89ab4fbb2901d3907e9661dce877ee45b4a4ee07b964dca341235420ee08764f49aed5da1596d28c649e349af19ea49c03ab6f2c2ad7588a4cf950a619c10e9b 0002-misc-cgo-test-enable-setgid-tests-on-Alpine-Linux-ag.patch +8061e4ef9d7dd31804bd8d98c95afa5dd82567940b3436f45f874e0419e324b49713d8a814df04617e575ec3c6155199c4661352ea8aef63ead81ca3020f3dc4 0003-go.env-Don-t-switch-Go-toolchain-version-as-directed.patch +a69a836364be8857f153b606769a155d89fdbbac39af6fbbc3cd923e95a15805f7497d6fdce6176a18a9ccee867946a03b809d8a4a32765dd20086115f179929 0004-cmd-dist-cmd-go-define-assembly-macros-handle-GOARM-.patch +33ecefca77fa0af52a3b2b66a76977af27a88c8dddb89f03e0a5ae6794b9aac53a62d7be33020b49022e9a89d4cdfa383038ee10e160eb94548b2430bf3cfb5e tests-fchmodat-not-supported.patch " |