| 1 | TERMUX_PKG_HOMEPAGE=https://golang.org/ |
| 2 | TERMUX_PKG_DESCRIPTION="Go programming language compiler" |
| 3 | _MAJOR_VERSION=1.5.2 |
| 4 | # Need to be considered a higher version than "1.5rc1": |
| 5 | TERMUX_PKG_VERSION=1:$_MAJOR_VERSION |
| 6 | TERMUX_PKG_SRCURL=https://storage.googleapis.com/golang/go${_MAJOR_VERSION}.src.tar.gz |
| 7 | TERMUX_PKG_FOLDERNAME=go |
| 8 | TERMUX_PKG_KEEP_STATIC_LIBRARIES=true |
| 9 | |
| 10 | TERMUX_HOST_GOLANG_DIR=$TERMUX_PKG_CACHEDIR/go-host-$_MAJOR_VERSION |
| 11 | |
| 12 | termux_step_post_extract_package () { |
| 13 | if [ ! -d $TERMUX_HOST_GOLANG_DIR ]; then |
| 14 | cd $TERMUX_PKG_CACHEDIR |
| 15 | GOHOST_TARFILE=go-host-${_MAJOR_VERSION}.tar.gz |
| 16 | if [ ! -f $GOHOST_TARFILE ]; then |
| 17 | curl -o $GOHOST_TARFILE https://storage.googleapis.com/golang/go${_MAJOR_VERSION}.linux-amd64.tar.gz |
| 18 | fi |
| 19 | tar xf $GOHOST_TARFILE |
| 20 | mv go $TERMUX_HOST_GOLANG_DIR |
| 21 | fi |
| 22 | } |
| 23 | |
| 24 | termux_step_make_install () { |
| 25 | if [ "$TERMUX_ARCH" = "arm" ]; then |
| 26 | export GOOS=android |
| 27 | export CGO_ENABLED=1 |
| 28 | export GOARCH=arm |
| 29 | export GOARM=7 |
| 30 | elif [ "$TERMUX_ARCH" = "i686" ]; then |
| 31 | export GOOS=linux |
| 32 | export CGO_ENABLED=0 |
| 33 | export GOARCH=386 |
| 34 | export GO386=sse2 |
| 35 | else |
| 36 | echo "ERROR: Unsupported arch: $TERMUX_ARCH" |
| 37 | exit 1 |
| 38 | fi |
| 39 | |
| 40 | TERMUX_GOLANG_DIRNAME=${GOOS}_$GOARCH |
| 41 | |
| 42 | TERMUX_GODIR=$TERMUX_PREFIX/lib/go |
| 43 | rm -Rf $TERMUX_GODIR |
| 44 | mkdir -p $TERMUX_GODIR/{src,pkg/tool/$TERMUX_GOLANG_DIRNAME,pkg/include,pkg/$TERMUX_GOLANG_DIRNAME} |
| 45 | |
| 46 | cd $TERMUX_PKG_SRCDIR/src |
| 47 | env CC_FOR_TARGET=$CC \ |
| 48 | CXX_FOR_TARGET=$CXX \ |
| 49 | CC=gcc \ |
| 50 | GO_LDFLAGS="-extldflags=-pie" \ |
| 51 | GOROOT_BOOTSTRAP=$TERMUX_HOST_GOLANG_DIR \ |
| 52 | GOROOT_FINAL=$TERMUX_GODIR \ |
| 53 | ./make.bash |
| 54 | |
| 55 | cd .. |
| 56 | cp bin/$TERMUX_GOLANG_DIRNAME/{go,gofmt} $TERMUX_PREFIX/bin |
| 57 | cp VERSION $TERMUX_GODIR/ |
| 58 | cp pkg/tool/$TERMUX_GOLANG_DIRNAME/* $TERMUX_GODIR/pkg/tool/$TERMUX_GOLANG_DIRNAME/ |
| 59 | cp -Rf src/* $TERMUX_GODIR/src/ |
| 60 | cp pkg/include/* $TERMUX_GODIR/pkg/include/ |
| 61 | cp -Rf pkg/$TERMUX_GOLANG_DIRNAME/* $TERMUX_GODIR/pkg/$TERMUX_GOLANG_DIRNAME/ |
| 62 | } |
| 63 | |
| 64 | termux_step_post_massage () { |
| 65 | find . -path '*/testdata*' -delete |
| 66 | } |