golang: Fix 64-bit builds
[termux-packages] / packages / golang / build.sh
index d745d36..311757b 100644 (file)
@@ -1,33 +1,25 @@
 TERMUX_PKG_HOMEPAGE=https://golang.org/
 TERMUX_PKG_DESCRIPTION="Go programming language compiler"
-TERMUX_PKG_VERSION=1.5rc1
-TERMUX_PKG_BUILD_REVISION=1
-TERMUX_PKG_SRCURL=https://storage.googleapis.com/golang/go1.5rc1.src.tar.gz
+_MAJOR_VERSION=1.6beta1
+# Need to be considered a higher version than "1.5rc1":
+TERMUX_PKG_VERSION=1:$_MAJOR_VERSION
+TERMUX_PKG_SRCURL=https://storage.googleapis.com/golang/go${_MAJOR_VERSION}.src.tar.gz
 TERMUX_PKG_FOLDERNAME=go
 TERMUX_PKG_KEEP_STATIC_LIBRARIES=true
 
-TERMUX_HOST_GOLANG_DIR=$TERMUX_PKG_CACHEDIR/go-host-$TERMUX_PKG_VERSION
-
-termux_step_post_extract_package () {
-       if [ ! -d $TERMUX_HOST_GOLANG_DIR ]; then
-               cd $TERMUX_PKG_CACHEDIR
-               curl -o go-host.tar.gz https://storage.googleapis.com/golang/go${TERMUX_PKG_VERSION}.linux-amd64.tar.gz
-               tar xf go-host.tar.gz
-               mv go $TERMUX_HOST_GOLANG_DIR
-       fi
-}
-
 termux_step_make_install () {
+       export GOOS=android
+       export CGO_ENABLED=1
        if [ "$TERMUX_ARCH" = "arm" ]; then
-               export GOOS=android
-               export CGO_ENABLED=1
                export GOARCH=arm
                export GOARM=7
        elif [ "$TERMUX_ARCH" = "i686" ]; then
-               export GOOS=linux
-               export CGO_ENABLED=0
                export GOARCH=386
                export GO386=sse2
+       elif [ "$TERMUX_ARCH" = "aarch64" ]; then
+               export GOARCH=arm64
+       elif [ "$TERMUX_ARCH" = "x86_64" ]; then
+               export GOARCH=amd64
        else
                echo "ERROR: Unsupported arch: $TERMUX_ARCH"
                exit 1
@@ -37,14 +29,16 @@ termux_step_make_install () {
 
        TERMUX_GODIR=$TERMUX_PREFIX/lib/go
        rm -Rf $TERMUX_GODIR
-       mkdir -p $TERMUX_GODIR/{src,pkg/tool/$TERMUX_GOLANG_DIRNAME,pkg/include,pkg/$TERMUX_GOLANG_DIRNAME}
+       mkdir -p $TERMUX_GODIR/{src,pkg/tool/$TERMUX_GOLANG_DIRNAME,pkg/include,pkg/${TERMUX_GOLANG_DIRNAME}_shared}
+
+       termux_setup_golang
 
        cd $TERMUX_PKG_SRCDIR/src
        env CC_FOR_TARGET=$CC \
            CXX_FOR_TARGET=$CXX \
            CC=gcc \
            GO_LDFLAGS="-extldflags=-pie" \
-           GOROOT_BOOTSTRAP=$TERMUX_HOST_GOLANG_DIR \
+           GOROOT_BOOTSTRAP=$GOROOT \
             GOROOT_FINAL=$TERMUX_GODIR \
            ./make.bash
 
@@ -54,5 +48,9 @@ termux_step_make_install () {
        cp pkg/tool/$TERMUX_GOLANG_DIRNAME/* $TERMUX_GODIR/pkg/tool/$TERMUX_GOLANG_DIRNAME/
        cp -Rf src/* $TERMUX_GODIR/src/
        cp pkg/include/* $TERMUX_GODIR/pkg/include/
-       cp -Rf pkg/$TERMUX_GOLANG_DIRNAME/* $TERMUX_GODIR/pkg/$TERMUX_GOLANG_DIRNAME/
+       cp -Rf pkg/${TERMUX_GOLANG_DIRNAME}_shared/* $TERMUX_GODIR/pkg/${TERMUX_GOLANG_DIRNAME}_shared/
+}
+
+termux_step_post_massage () {
+       find . -path '*/testdata*' -delete
 }