File: build.sh

package info (click to toggle)
golang-github-appc-spec 0.8.11%2Bdfsg-2.1
  • links: PTS, VCS
  • area: main
  • in suites: bookworm, bullseye
  • size: 1,112 kB
  • sloc: sh: 167; makefile: 12
file content (38 lines) | stat: -rwxr-xr-x 1,147 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
#!/usr/bin/env bash
set -e

# Gets the directory that this script is stored in.
# https://stackoverflow.com/questions/59895/can-a-bash-script-tell-what-directory-its-stored-in
DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"

ORG_PATH="github.com/appc"
REPO_PATH="${ORG_PATH}/spec"

if [ ! -h ${DIR}/gopath/src/${REPO_PATH} ]; then
  mkdir -p ${DIR}/gopath/src/${ORG_PATH}
  cd ${DIR} && ln -s ../../../.. gopath/src/${REPO_PATH} || exit 255
fi

export GO15VENDOREXPERIMENT=1
export GOBIN=${DIR}/bin
export GOPATH=${DIR}/gopath
export GOOS GOARCH

eval $(go env)

if [ "${GOOS}" = "freebsd" ]; then
  # /usr/bin/cc is clang on freebsd, but we need to tell it to go to
  # make it generate proper flavour of code that doesn't emit
  # warnings.
  export CC=clang
fi

echo "Building actool..."
go build -o ${GOBIN}/actool ${REPO_PATH}/actool

if ! [[ -d "$(go env GOROOT)/pkg/${GOOS}_${GOARCH}" ]]; then
	echo "go ${GOOS}/${GOARCH} not bootstrapped, not building ACE validator"
else
	echo "Building ACE validator..."
	CGO_ENABLED=0 go build -a -installsuffix ace -ldflags '-extldflags "-static"' -o ${GOBIN}/ace-validator ${REPO_PATH}/ace
fi