From 00bbfab69fbd011113221a99328583d82c03f7e1 Mon Sep 17 00:00:00 2001 From: Fredrik Fornwall Date: Fri, 14 Aug 2015 16:29:47 -0400 Subject: [PATCH] Add experimental golang package --- packages/golang/build.sh | 47 +++++++++++++++++++++++++++++++ packages/golang/src-os-file_unix.go.patch | 15 ++++++++++ 2 files changed, 62 insertions(+) create mode 100644 packages/golang/build.sh create mode 100644 packages/golang/src-os-file_unix.go.patch diff --git a/packages/golang/build.sh b/packages/golang/build.sh new file mode 100644 index 00000000..b27b53c1 --- /dev/null +++ b/packages/golang/build.sh @@ -0,0 +1,47 @@ +TERMUX_PKG_HOMEPAGE=https://golang.org/ +TERMUX_PKG_DESCRIPTION="Go programming language compiler" +TERMUX_PKG_VERSION=1.5rc1 +TERMUX_PKG_SRCURL=https://storage.googleapis.com/golang/go1.5rc1.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 () { + if [ "$TERMUX_ARCH" = "arm" ]; then + TERMUX_GOLANG_DIRNAME=linux_arm + export GOARCH=arm + export GOARM=7 + elif [ "$TERMUX_ARCH" = "i686" ]; then + TERMUX_GOLANG_DIRNAME=linux_386 + export GOARCH=386 + export GO386=sse2 + else + echo "ERROR: Unsupported arch: $TERMUX_ARCH" + exit 1 + fi + + 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} + + cd $TERMUX_PKG_SRCDIR/src + env CC_FOR_TARGET=$CC CC=gcc GOROOT_BOOTSTRAP=$TERMUX_HOST_GOLANG_DIR GOROOT_FINAL=$TERMUX_GODIR GOOS=linux ./make.bash + + cd .. + cp bin/$TERMUX_GOLANG_DIRNAME/{go,gofmt} $TERMUX_PREFIX/bin + cp VERSION $TERMUX_GODIR/ + 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/ +} diff --git a/packages/golang/src-os-file_unix.go.patch b/packages/golang/src-os-file_unix.go.patch new file mode 100644 index 00000000..3b249a79 --- /dev/null +++ b/packages/golang/src-os-file_unix.go.patch @@ -0,0 +1,15 @@ +--- ../go/src/os/file_unix.go 2015-08-06 00:36:35.000000000 -0400 ++++ ./src/os/file_unix.go 2015-08-14 03:28:11.634760646 -0400 +@@ -329,11 +329,7 @@ + func TempDir() string { + dir := Getenv("TMPDIR") + if dir == "" { +- if runtime.GOOS == "android" { +- dir = "/data/local/tmp" +- } else { +- dir = "/tmp" +- } ++ dir = "@TERMUX_PREFIX@/tmp" + } + return dir + } -- 2.11.0