termux-packages/packages/golang/build.sh

54 lines
1.8 KiB
Bash
Raw Normal View History

2015-08-14 22:29:47 +02:00
TERMUX_PKG_HOMEPAGE=https://golang.org/
TERMUX_PKG_DESCRIPTION="Go programming language compiler"
2019-01-21 13:53:58 +01:00
TERMUX_PKG_LICENSE="BSD 3-Clause"
2019-08-15 17:46:38 +02:00
local _MAJOR_VERSION=1.12.8
TERMUX_PKG_SHA256=11ad2e2e31ff63fcf8a2bdffbe9bfa2e1845653358daed593c8c2d03453c9898
2016-02-18 04:41:22 +01:00
# Use the ~ deb versioning construct in the future:
TERMUX_PKG_VERSION=2:${_MAJOR_VERSION}
TERMUX_PKG_SRCURL=https://storage.googleapis.com/golang/go${_MAJOR_VERSION}.src.tar.gz
TERMUX_PKG_DEPENDS="clang"
TERMUX_PKG_NO_STATICSPLIT=true
2015-08-14 22:29:47 +02:00
termux_step_pre_configure() {
# Certain packages are not safe to build on device because their
# build.sh script deletes specific files in $TERMUX_PREFIX.
if $TERMUX_ON_DEVICE_BUILD; then
termux_error_exit "Package '$TERMUX_PKG_NAME' is not safe for on-device builds."
fi
}
termux_step_make_install() {
2016-01-11 01:45:41 +01:00
termux_setup_golang
2015-08-14 22:29:47 +02:00
2015-08-17 22:58:29 +02:00
TERMUX_GOLANG_DIRNAME=${GOOS}_$GOARCH
2015-08-14 22:29:47 +02:00
TERMUX_GODIR=$TERMUX_PREFIX/lib/go
rm -Rf $TERMUX_GODIR
mkdir -p $TERMUX_GODIR/{src,doc,lib,pkg/tool/$TERMUX_GOLANG_DIRNAME,pkg/include,pkg/${TERMUX_GOLANG_DIRNAME}}
2015-08-14 22:29:47 +02:00
cd $TERMUX_PKG_SRCDIR/src
# Unset PKG_CONFIG to avoid the path being hardcoded into src/cmd/cgo/zdefaultcc.go,
# see https://github.com/termux/termux-packages/issues/3505.
2015-08-17 22:58:29 +02:00
env CC_FOR_TARGET=$CC \
CXX_FOR_TARGET=$CXX \
2017-11-24 12:21:01 +01:00
CC=gcc \
2015-08-17 22:58:29 +02:00
GO_LDFLAGS="-extldflags=-pie" \
GOROOT_BOOTSTRAP=$GOROOT \
2016-09-09 15:36:53 +02:00
GOROOT_FINAL=$TERMUX_GODIR \
PKG_CONFIG= \
2015-08-17 22:58:29 +02:00
./make.bash
2015-08-14 22:29:47 +02:00
cd ..
cp bin/$TERMUX_GOLANG_DIRNAME/{go,gofmt} $TERMUX_PREFIX/bin
cp VERSION $TERMUX_GODIR/
cp pkg/tool/$TERMUX_GOLANG_DIRNAME/* $TERMUX_GODIR/pkg/tool/$TERMUX_GOLANG_DIRNAME/
cp -Rf src/* $TERMUX_GODIR/src/
cp -Rf doc/* $TERMUX_GODIR/doc/
2015-08-14 22:29:47 +02:00
cp pkg/include/* $TERMUX_GODIR/pkg/include/
cp -Rf lib/* $TERMUX_GODIR/lib
2017-02-17 20:09:31 +01:00
cp -Rf pkg/${TERMUX_GOLANG_DIRNAME}/* $TERMUX_GODIR/pkg/${TERMUX_GOLANG_DIRNAME}/
2015-08-14 22:29:47 +02:00
}
2015-08-19 13:50:30 +02:00
termux_step_post_massage() {
2015-08-19 13:50:30 +02:00
find . -path '*/testdata*' -delete
}