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