From 0e6f563e732299d28a43a6d365267a83f4a3a4d1 Mon Sep 17 00:00:00 2001 From: Subhaditya Nath Date: Sat, 6 Aug 2022 15:12:02 +0530 Subject: [PATCH] go: update to 1.19, add tests A few tests need to be skipped, but otherwise tests run perfectly fine. --- srcpkgs/go/files/fix-musl-tests.patch | 13 +++++++++++++ srcpkgs/go/template | 21 +++++++++++++++++++-- 2 files changed, 32 insertions(+), 2 deletions(-) create mode 100644 srcpkgs/go/files/fix-musl-tests.patch diff --git a/srcpkgs/go/files/fix-musl-tests.patch b/srcpkgs/go/files/fix-musl-tests.patch new file mode 100644 index 000000000000..6f19ba9a15e2 --- /dev/null +++ b/srcpkgs/go/files/fix-musl-tests.patch @@ -0,0 +1,13 @@ +--- a/go/src/syscall/syscall_linux_test.go ++++ b/go/src/syscall/syscall_linux_test.go +@@ -530,10 +530,6 @@ func TestSetuidEtc(t *testing.T) { + {call: "Setgid(1)", fn: func() error { return syscall.Setgid(1) }, filter: "Gid:", expect: "\t1\t1\t1\t1"}, + {call: "Setgid(0)", fn: func() error { return syscall.Setgid(0) }, filter: "Gid:", expect: "\t0\t0\t0\t0"}, + +- {call: "Setgroups([]int{0,1,2,3})", fn: func() error { return syscall.Setgroups([]int{0, 1, 2, 3}) }, filter: "Groups:", expect: "\t0 1 2 3"}, +- {call: "Setgroups(nil)", fn: func() error { return syscall.Setgroups(nil) }, filter: "Groups:", expect: ""}, +- {call: "Setgroups([]int{0})", fn: func() error { return syscall.Setgroups([]int{0}) }, filter: "Groups:", expect: "\t0"}, +- + {call: "Setregid(101,0)", fn: func() error { return syscall.Setregid(101, 0) }, filter: "Gid:", expect: "\t101\t0\t0\t0"}, + {call: "Setregid(0,102)", fn: func() error { return syscall.Setregid(0, 102) }, filter: "Gid:", expect: "\t0\t102\t102\t102"}, + {call: "Setregid(0,0)", fn: func() error { return syscall.Setregid(0, 0) }, filter: "Gid:", expect: "\t0\t0\t0\t0"}, diff --git a/srcpkgs/go/template b/srcpkgs/go/template index 2db64b795ed8..65b36190089d 100644 --- a/srcpkgs/go/template +++ b/srcpkgs/go/template @@ -1,17 +1,18 @@ # Template file for 'go' pkgname=go -version=1.18.3 +version=1.19 revision=1 create_wrksrc=yes build_wrksrc=go hostmakedepends="go1.12-bootstrap" +checkdepends="clang gcc-fortran" short_desc="Go Programming Language" maintainer="Michael Aldridge " license="BSD-3-Clause" homepage="https://go.dev/" changelog="https://go.dev/doc/devel/release.html" distfiles="https://go.dev/dl/go${version}.src.tar.gz" -checksum=0012386ddcbb5f3350e407c679923811dbd283fcdc421724931614a842ecbc2d +checksum=9419cc70dc5a2523f29a77053cafff658ed21ef3561d9b6b020280ebceab28b9 nostrip=yes noverifyrdeps=yes @@ -31,12 +32,24 @@ if [ "$CROSS_BUILD" ]; then fi fi +post_extract() { + if [ "$XBPS_LIBC" = musl ]; then + patch "$patch_args" <"${FILESDIR}/fix-musl-tests.patch" + fi +} + do_build() { unset GCC CC CXX LD CFLAGS # FIXME: work around leaking go build-style vars when built as a # dependency unset CGO_CXXFLAGS CGO_CFLAGS CGO_ENABLED + # Workaround for go-1.19 compilation error on i686 + # runtime/cgo(.text): unknown symbol __stack_chk_fail_local in pcrel + if [ "$_goarch" = 386 ]; then + export CGO_CFLAGS="-fno-stack-protector" + fi + export GOROOT_BOOTSTRAP="/usr/lib/go1.12" export GOROOT=$PWD export GOROOT_FINAL="/usr/lib/go" @@ -47,6 +60,10 @@ do_build() { bash make.bash -v } +do_check() { + ./bin/go tool dist test -v -run '!^go_test:(os|cmd/link/internal/ld|net)$' +} + do_install() { local bindir