31 lines
		
	
	
		
			897 B
		
	
	
	
		
			Bash
		
	
	
	
	
	
			
		
		
	
	
			31 lines
		
	
	
		
			897 B
		
	
	
	
		
			Bash
		
	
	
	
	
	
| #
 | |
| # 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"
 | |
| 	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 --system-ghc --force --resolver ${stackage}
 | |
| 	fi
 | |
| 
 | |
| 	STACK_ROOT=$wrksrc/.stack stack --system-ghc ${makejobs} build \
 | |
| 		${make_build_args}
 | |
| }
 | |
| 
 | |
| do_install() {
 | |
| 	vmkdir usr/bin
 | |
| 	STACK_ROOT=$wrksrc/.stack stack --system-ghc install \
 | |
| 	       	${make_build_args} --local-bin-path=${DESTDIR}/usr/bin
 | |
| }
 | 
