chiark / gitweb /
libevent: Fix 64-bit build
[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.6beta1
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_step_make_install () {
11         export GOOS=android
12         export CGO_ENABLED=1
13         if [ "$TERMUX_ARCH" = "arm" ]; then
14                 export GOARCH=arm
15                 export GOARM=7
16         elif [ "$TERMUX_ARCH" = "i686" ]; then
17                 export GOARCH=386
18                 export GO386=sse2
19         elif [ "$TERMUX_ARCH" = "aarch64" ]; then
20                 export GOARCH=arm64
21         elif [ "$TERMUX_ARCH" = "x86_64" ]; then
22                 export GOARCH=amd64
23         else
24                 echo "ERROR: Unsupported arch: $TERMUX_ARCH"
25                 exit 1
26         fi
27
28         TERMUX_GOLANG_DIRNAME=${GOOS}_$GOARCH
29
30         TERMUX_GODIR=$TERMUX_PREFIX/lib/go
31         rm -Rf $TERMUX_GODIR
32         mkdir -p $TERMUX_GODIR/{src,pkg/tool/$TERMUX_GOLANG_DIRNAME,pkg/include,pkg/${TERMUX_GOLANG_DIRNAME}_shared}
33
34         termux_setup_golang
35
36         cd $TERMUX_PKG_SRCDIR/src
37         env CC_FOR_TARGET=$CC \
38             CXX_FOR_TARGET=$CXX \
39             CC=gcc \
40             GO_LDFLAGS="-extldflags=-pie" \
41             GOROOT_BOOTSTRAP=$GOROOT \
42             GOROOT_FINAL=$TERMUX_GODIR \
43             ./make.bash
44
45         cd ..
46         cp bin/$TERMUX_GOLANG_DIRNAME/{go,gofmt} $TERMUX_PREFIX/bin
47         cp VERSION $TERMUX_GODIR/
48         cp pkg/tool/$TERMUX_GOLANG_DIRNAME/* $TERMUX_GODIR/pkg/tool/$TERMUX_GOLANG_DIRNAME/
49         cp -Rf src/* $TERMUX_GODIR/src/
50         cp pkg/include/* $TERMUX_GODIR/pkg/include/
51         cp -Rf pkg/${TERMUX_GOLANG_DIRNAME}_shared/* $TERMUX_GODIR/pkg/${TERMUX_GOLANG_DIRNAME}_shared/
52 }
53
54 termux_step_post_massage () {
55         find . -path '*/testdata*' -delete
56 }