Add experimental golang package
[termux-packages] / packages / golang / build.sh
CommitLineData
00bbfab6
FF
1TERMUX_PKG_HOMEPAGE=https://golang.org/
2TERMUX_PKG_DESCRIPTION="Go programming language compiler"
3TERMUX_PKG_VERSION=1.5rc1
4TERMUX_PKG_SRCURL=https://storage.googleapis.com/golang/go1.5rc1.src.tar.gz
5TERMUX_PKG_FOLDERNAME=go
6TERMUX_PKG_KEEP_STATIC_LIBRARIES=true
7
8TERMUX_HOST_GOLANG_DIR=$TERMUX_PKG_CACHEDIR/go-host-$TERMUX_PKG_VERSION
9
10termux_step_post_extract_package () {
11 if [ ! -d $TERMUX_HOST_GOLANG_DIR ]; then
12 cd $TERMUX_PKG_CACHEDIR
13 curl -o go-host.tar.gz https://storage.googleapis.com/golang/go${TERMUX_PKG_VERSION}.linux-amd64.tar.gz
14 tar xf go-host.tar.gz
15 mv go $TERMUX_HOST_GOLANG_DIR
16 fi
17}
18
19termux_step_make_install () {
20 if [ "$TERMUX_ARCH" = "arm" ]; then
21 TERMUX_GOLANG_DIRNAME=linux_arm
22 export GOARCH=arm
23 export GOARM=7
24 elif [ "$TERMUX_ARCH" = "i686" ]; then
25 TERMUX_GOLANG_DIRNAME=linux_386
26 export GOARCH=386
27 export GO386=sse2
28 else
29 echo "ERROR: Unsupported arch: $TERMUX_ARCH"
30 exit 1
31 fi
32
33 TERMUX_GODIR=$TERMUX_PREFIX/lib/go
34 rm -Rf $TERMUX_GODIR
35 mkdir -p $TERMUX_GODIR/{src,pkg/tool/$TERMUX_GOLANG_DIRNAME,pkg/include,pkg/$TERMUX_GOLANG_DIRNAME}
36
37 cd $TERMUX_PKG_SRCDIR/src
38 env CC_FOR_TARGET=$CC CC=gcc GOROOT_BOOTSTRAP=$TERMUX_HOST_GOLANG_DIR GOROOT_FINAL=$TERMUX_GODIR GOOS=linux ./make.bash
39
40 cd ..
41 cp bin/$TERMUX_GOLANG_DIRNAME/{go,gofmt} $TERMUX_PREFIX/bin
42 cp VERSION $TERMUX_GODIR/
43 cp pkg/tool/$TERMUX_GOLANG_DIRNAME/* $TERMUX_GODIR/pkg/tool/$TERMUX_GOLANG_DIRNAME/
44 cp -Rf src/* $TERMUX_GODIR/src/
45 cp pkg/include/* $TERMUX_GODIR/pkg/include/
46 cp -Rf pkg/$TERMUX_GOLANG_DIRNAME/* $TERMUX_GODIR/pkg/$TERMUX_GOLANG_DIRNAME/
47}