2018-08-06 20:00:58 +02:00
|
|
|
#!/usr/bin/env bash
|
2018-05-13 23:25:41 +02:00
|
|
|
|
2020-05-27 16:42:58 +02:00
|
|
|
# NOTE: Script for the CI builds. CI comes here from `.travis.yml`
|
|
|
|
|
2018-08-06 20:00:58 +02:00
|
|
|
set -xe
|
2018-05-13 23:25:41 +02:00
|
|
|
set -euo pipefail
|
|
|
|
IFS=$'\n\t'
|
|
|
|
|
|
|
|
if [ "$GHCVERSION" = "ghcjs" ]; then
|
2018-05-14 19:34:41 +02:00
|
|
|
nix-build --substituters 'https://nixcache.reflex-frp.org?trusted=1' ghcjs
|
2018-05-13 23:25:41 +02:00
|
|
|
else
|
2018-05-14 08:26:28 +02:00
|
|
|
nix-build \
|
2018-05-13 23:25:41 +02:00
|
|
|
--argstr compiler $GHCVERSION \
|
|
|
|
--arg doTracing $TRACING \
|
2018-08-06 13:15:01 +02:00
|
|
|
--arg doStrict $STRICT \
|
|
|
|
$@
|
2018-05-13 23:25:41 +02:00
|
|
|
fi
|
2020-05-27 16:44:49 +02:00
|
|
|
# NOTE: If var not imported - set to the default value
|
|
|
|
GHCVERSION=${GHCVERSION:-ghc865}
|
|
|
|
rev=${rev:-nixpkgs-unstable}
|
|
|
|
NIX_PATH=${NIX_PATH:-"nixpkgs=https://github.com/nixos/nixpkgs/archive/$rev.tar.gz"}
|
|
|
|
export NIX_PATH
|
|
|
|
name=${name:-defaultBinaryName}
|
|
|
|
pkgName=${pkgName:-defaultPkgName}
|
|
|
|
failOnAllWarnings=${failOnAllWarnings:-'false'}
|
|
|
|
checkUnusedPackages=${checkUnusedPackages:-'false'}
|
|
|
|
doCoverage=${doCoverage:-'false'}
|
|
|
|
doHaddock=${doHaddock:-'false'}
|
|
|
|
doJailbreak=${doJailbreak:-'false'}
|
|
|
|
doCheck=${doCheck:-'true'}
|
|
|
|
doBenchmark=${doBenchmark:-'false'}
|
|
|
|
enableExecutableProfiling=${enableExecutableProfiling:-'false'}
|
|
|
|
enableLibraryProfiling=${enableLibraryProfiling:-'false'}
|
|
|
|
buildFromSdist=${buildFromSdist:-'false'}
|
|
|
|
buildStrictly=${buildStrictly:-'false'}
|
|
|
|
disableOptimization=${disableOptimization:-'true'}
|
|
|
|
buildStackProject=${buildStackProject:-'false'}
|
|
|
|
# NOTE: *Oprparse* key is redifined in the code further
|
|
|
|
generateOptparseApplicativeCompletion=${generateOptparseApplicativeCompletion:-'false'}
|
|
|
|
allowInconsistentDependencies=${allowInconsistentDependencies:-'false'}
|
|
|
|
ghcjsTmpLogFile=${ghcjsTmpLogFile:-'/tmp/ghcjsTmpLogFile.jog'}
|
|
|
|
ghcjsLogTailLength=${ghcjsLogTailLength:-'10000'}
|
|
|
|
|