From 52ef73d59a8a7e4839d325d0a37bcead329d0c8c Mon Sep 17 00:00:00 2001 From: EnumDev Date: Wed, 10 Dec 2025 12:22:11 +0200 Subject: [PATCH] Update source.sh script --- pkg.info | 2 +- source.sh | 34 +++++++++++++++++++++------------- 2 files changed, 22 insertions(+), 14 deletions(-) diff --git a/pkg.info b/pkg.info index 7e8ba6e..b85487e 100644 --- a/pkg.info +++ b/pkg.info @@ -1,7 +1,7 @@ name: golang description: The GO programming language version: 1.25.5 -revision: 1 +revision: 2 url: https://go.dev/ license: BSD-3-Clause architecture: any diff --git a/source.sh b/source.sh index e7dd75f..d502887 100644 --- a/source.sh +++ b/source.sh @@ -6,10 +6,13 @@ # This function is used to compile the source code build() { cd src + + # Set variables for compilation export GOOS=linux export GOARCH=amd64 export GOROOT_FINAL=/usr/lib/go - export GOROOT_BOOTSTRAP=/usr/lib/go + [ -z "$GOROOT_BOOTSTRAP" ] && export GOROOT_BOOTSTRAP=/usr/lib/go + ./make.bash -v } @@ -17,6 +20,7 @@ build() { # This function is used to run tests to verify the package has been compiled correctly check() { cd src + export GO_TEST_TIMEOUT_SCALE=3 ./run.bash --no-rebuild -v -v -v -k -run "!cmd/cgo/internal/testsanitizers" } @@ -24,22 +28,26 @@ check() { # The package function is executed in the source directory # This function is used to move the compiled files into the output directory package() { - install -d "${BPM_OUTPUT}/usr/bin" "${BPM_OUTPUT}/usr/lib/go" "${BPM_OUTPUT}/usr/share/doc/go" \ - "${BPM_OUTPUT}/usr/lib/go/pkg/linux_amd64_"{dynlink,race} + install -d "$BPM_OUTPUT"/usr/bin \ + "$BPM_OUTPUT"/usr/lib/go \ + "$BPM_OUTPUT"/usr/share/doc/go \ + "$BPM_OUTPUT"/usr/lib/go/pkg/linux_amd64_{dynlink,race} cp -a bin pkg src lib misc api test "${BPM_OUTPUT}/usr/lib/go" - cp -r doc/* "${BPM_OUTPUT}/usr/share/doc/go" + install -Dm644 go.env "$BPM_OUTPUT"/usr/lib/go/go.env + install -Dm644 VERSION "$BPM_OUTPUT"/usr/lib/go/VERSION - ln -sf /usr/lib/go/bin/go "${BPM_OUTPUT}/usr/bin/go" - ln -sf /usr/lib/go/bin/gofmt "${BPM_OUTPUT}/usr/bin/gofmt" - ln -sf /usr/share/doc/go "${BPM_OUTPUT}/usr/lib/go/doc" + # Symlink go binaries to usr/bin + ln -sf /usr/lib/go/bin/go "$BPM_OUTPUT"/usr/bin/go + ln -sf /usr/lib/go/bin/gofmt "$BPM_OUTPUT"/usr/bin/gofmt - install -Dm644 VERSION "${BPM_OUTPUT}/usr/lib/go/VERSION" + # Install documentation + cp -r doc/* "$BPM_OUTPUT"/usr/share/doc/go + ln -sf /usr/share/doc/go "$BPM_OUTPUT"/usr/lib/go/doc - rm -rf "${BPM_OUTPUT}/usr/lib/go/pkg/bootstrap" "${BPM_OUTPUT}/usr/lib/go/pkg/tool/*/api" - - install -Dm644 go.env "${BPM_OUTPUT}/usr/lib/go/go.env" - - install -Dm644 LICENSE "${BPM_OUTPUT}/usr/share/licenses/go/LICENSE" + # Remove unwanted directory + rm -rf "$BPM_OUTPUT"/usr/lib/go/pkg/bootstrap "$BPM_OUTPUT"/usr/lib/go/pkg/tool/*/api + # Install package license + install -Dm644 "$BPM_SOURCE"/LICENSE "$BPM_OUTPUT"/usr/share/licenses/golang/LICENSE }