summaryrefslogtreecommitdiff
path: root/repo/go/go.xibuild
diff options
context:
space:
mode:
Diffstat (limited to 'repo/go/go.xibuild')
-rw-r--r--repo/go/go.xibuild67
1 files changed, 67 insertions, 0 deletions
diff --git a/repo/go/go.xibuild b/repo/go/go.xibuild
new file mode 100644
index 0000000..9a5f1b7
--- /dev/null
+++ b/repo/go/go.xibuild
@@ -0,0 +1,67 @@
+#!/bin/sh
+
+# Ensure we have gcc-go
+MAKEDEPS="make gcc"
+DEPS=""
+
+PKG_VER=1.17.7
+SOURCE=https://go.dev/dl/go$PKG_VER.src.tar.gz
+
+BOOTSTRAP="go1.4-bootstrap-20171003"
+ADDITIONAL="
+ https://dl.google.com/go/$BOOTSTRAP.tar.gz
+"
+
+DESC="Core compiler tools for the Go programming language"
+
+prepare () {
+ export TMPDIR=/tmp
+ tar -xvf $BOOTSTRAP.tar.gz
+ mv go $BOOTSTRAP
+}
+
+build () {
+ export sourceroot=$(pwd)
+ export GOARCH=amd64
+ export GOAMD64=v1 # make sure we're building for the right x86-64 version
+ export GOOS="linux"
+
+ cd $BOOTSTRAP
+ cd src
+ echo "~~~~BUILDING BOOTSTRAP"
+ CGO_ENABLED=0 ./make.bash -v
+
+ cd $sourceroot
+ export GOROOT_FINAL=/usr/lib/go
+ export GOROOT_BOOTSTRAP="$(pwd)/$BOOTSTRAP"
+
+ echo "~~~~BUILDING GOLANG"
+ cd src
+ if [ ! -z "${GOROOT_BOOTSTRAP}" ]; then
+ ./bootstrap.bash -v
+ fi
+ ./make.bash -v
+ cd ..
+}
+
+package () {
+ install -d "$PKG_DEST/usr/bin" "$PKG_DEST/usr/lib/go" "$PKG_DEST/usr/share/doc/go" \
+ "$PKG_DEST/usr/lib/go/pkg/linux_amd64_"dynlink \
+ "$PKG_DEST/usr/lib/go/pkg/linux_amd64_"race
+
+ cp -a bin pkg src lib misc api test "$PKG_DEST/usr/lib/go"
+ cp -r doc/* "$PKG_DEST/usr/share/doc/go"
+
+ ln -sf /usr/lib/go/bin/go "$PKG_DEST/usr/bin/go"
+ ln -sf /usr/lib/go/bin/gofmt "$PKG_DEST/usr/bin/gofmt"
+ ln -sf /usr/share/doc/go "$PKG_DEST/usr/lib/go/doc"
+
+ install -Dm644 VERSION "$PKG_DEST/usr/lib/go/VERSION"
+
+ rm -rf "$PKG_DEST/usr/lib/go/pkg/bootstrap" "$PKG_DEST/usr/lib/go/pkg/tool/*/api"
+
+ # TODO: Figure out if really needed
+ rm -rf "$PKG_DEST"/usr/lib/go/pkg/obj/go-build/*
+
+ install -Dm644 LICENSE "$PKG_DEST/usr/share/licenses/$pkgname/LICENSE"
+}