chiark / gitweb /
golang: Fix version numbering mistake
[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.1
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 }