void-packages/common/build-style/haskell-stack.sh

31 lines
884 B
Bash
Raw Normal View History

2015-09-14 14:13:13 +00:00
#
# This helper is for templates built using Haskell stack.
#
# make_build_args="stack-build-flags"
# stackage="lts-X.Y" # or include a stack.yaml in $FILESDIR
#
do_build() {
if [ -f "${FILESDIR}/stack.yaml" ]; then
msg_normal "Using stack config in stack.yaml.\n"
cp "${FILESDIR}/stack.yaml" .
elif [ -z "$stackage" -a -f "stack.yaml" ]; then
msg_normal "Using stack.yaml from downloaded source.\n"
2015-09-14 14:13:13 +00:00
else
if [ -z "$stackage" ]; then
msg_error "Stackage version not set in \$stackage.\n"
fi
msg_normal "Using stackage resolver ${stackage}.\n"
STACK_ROOT=$wrksrc/.stack \
stack init --force --resolver ${stackage}
fi
2017-04-12 13:33:46 +00:00
STACK_ROOT=$wrksrc/.stack stack --system-ghc ${makejobs} build \
${make_build_args}
2015-09-14 14:13:13 +00:00
}
do_install() {
vmkdir usr/bin
2017-04-12 13:33:46 +00:00
STACK_ROOT=$wrksrc/.stack stack --system-ghc install \
${make_build_args} --local-bin-path=${DESTDIR}/usr/bin
2015-09-14 14:13:13 +00:00
}