Add experimental golang package
authorFredrik Fornwall <fredrik@fornwall.net>
Fri, 14 Aug 2015 20:29:47 +0000 (16:29 -0400)
committerFredrik Fornwall <fredrik@fornwall.net>
Fri, 14 Aug 2015 20:29:47 +0000 (16:29 -0400)
packages/golang/build.sh [new file with mode: 0644]
packages/golang/src-os-file_unix.go.patch [new file with mode: 0644]

diff --git a/packages/golang/build.sh b/packages/golang/build.sh
new file mode 100644 (file)
index 0000000..b27b53c
--- /dev/null
@@ -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 (file)
index 0000000..3b249a7
--- /dev/null
@@ -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
+ }