You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
52 lines
1.5 KiB
Bash
52 lines
1.5 KiB
Bash
#!/usr/bin/env bash
|
|
[% c("var/set_default_env") -%]
|
|
[% c("var/setarch") -%]
|
|
distdir=/var/tmp/dist/[% project %]
|
|
mkdir -p /var/tmp/dist
|
|
|
|
[% IF c("var/linux") %]
|
|
# Config options for hardening-wrapper
|
|
export DEB_BUILD_HARDENING=1
|
|
export DEB_BUILD_HARDENING_STACKPROTECTOR=1
|
|
export DEB_BUILD_HARDENING_FORTIFY=1
|
|
export DEB_BUILD_HARDENING_FORMAT=1
|
|
export DEB_BUILD_HARDENING_PIE=1
|
|
[% END %]
|
|
|
|
mkdir -p /var/tmp/build
|
|
|
|
# Building go 1.4.x
|
|
# This is needed to bootstrap the go that we actually use
|
|
# https://golang.org/doc/install/source#go14
|
|
tar -C /var/tmp/build --transform='s,^go\>,go1.4,' -xf $rootdir/[% c('input_files_by_name/go14') %]
|
|
cd /var/tmp/build/go1.4/src
|
|
# Disable cgo to avoid conflicts with newer GCC. cgo is not needed for the bootstrap go.
|
|
# https://github.com/golang/go/issues/13114#issuecomment-186922245
|
|
# Disable CC etc. that are set up for cross builds.
|
|
CGO_ENABLED=0 CC= CFLAGS= LDFLAGS= ./make.bash
|
|
export GOROOT_BOOTSTRAP="/var/tmp/build/go1.4"
|
|
|
|
cd $rootdir
|
|
[% IF ! c("var/linux") %]
|
|
[% pc(c('var/compiler'), 'var/setup', { compiler_tarfile => c('input_files_by_name/' _ c('var/compiler')) }) %]
|
|
[% END %]
|
|
|
|
# Building go
|
|
# http://golang.org/doc/install/source#environment
|
|
tar -C /var/tmp/dist -xf $rootdir/[% c('input_files_by_name/go') %]
|
|
export GOROOT="$distdir"
|
|
cd /var/tmp/dist/go/src
|
|
[% IF c("var/linux") %]
|
|
./make.bash
|
|
[% ELSIF c("var/osx") %]
|
|
# TODO
|
|
[% ELSIF c("var/windows") %]
|
|
# TODO
|
|
[% END -%]
|
|
|
|
cd /var/tmp/dist
|
|
[% c('tar', {
|
|
tar_src => [ project ],
|
|
tar_args => '-czf ' _ dest_dir _ '/' _ c('filename'),
|
|
}) %]
|