New build_style haskell-stack.
This commit is contained in:
28
common/build-style/haskell-stack.sh
Normal file
28
common/build-style/haskell-stack.sh
Normal file
@@ -0,0 +1,28 @@
|
||||
#
|
||||
# This helper is for templates built using Haskell stack.
|
||||
#
|
||||
# hostmakedepends="ghc 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" .
|
||||
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
|
||||
|
||||
STACK_ROOT=$wrksrc/.stack stack ${makejobs} build ${make_build_args}
|
||||
}
|
||||
|
||||
do_install() {
|
||||
vmkdir usr/bin
|
||||
STACK_ROOT=$wrksrc/.stack stack install ${make_build_args} \
|
||||
--local-bin-path=${DESTDIR}/usr/bin
|
||||
}
|
||||
Reference in New Issue
Block a user