[Freebsd-haskell] GHC 6.12.1 Port
Ashish SHUKLA
wahjava.ml at gmail.com
Sat Jan 9 09:47:25 EST 2010
Skipped content of type multipart/signed-------------- next part --------------
# Author: Ashish SHUKLA <gmail.com!wahjava>
.if defined(USE_GHC)
GHC_VERSION?= 6.10.4
HACKAGE_NAME?= ${PORTNAME}
HACKAGE_VERSION?= ${PORTVERSION}
MASTER_SITES_HACKAGE= http://hackage.haskell.org/packages/archive/${HACKAGE_NAME}/${HACKAGE_VERSION}/
##### Commands
GHC_CMD= ${LOCALBASE}/bin/ghc
HADDOCK_CMD= ${LOCALBASE}/bin/haddock
HSCOLOUR_CMD= ${LOCALBASE}/bin/HsColour
ALEX_CMD= ${LOCALBASE}/bin/alex
HAPPY_CMD= ${LOCALBASE}/bin/happy
SETUP_CMD= ./Setup
HADDOCK_VERSION= 2.6.0
HSCOLOUR_VERSION= 1.15
PORT_HADDOCK!= (cd ${.CURDIR}/../../lang/ghc && ${MAKE} -V PORT_HADDOCK)
HSCOLOUR_DATADIR= ${PREFIX}/share/hscolour-${HSCOLOUR_VERSION}
##### tools
happy_build_depends= happy:${PORTSDIR}/devel/hs-happy
happy_run_depends= happy:${PORTSDIR}/devel/hs-happy
alex_build_depends= alex:${PORTSDIR}/devel/hs-alex
alex_run_depends= alex:${PORTSDIR}/devel/hs-alex
###### list of hackages needs to be prepared
utf8-string_port= devel/hs-utf8-string-ghc
ghc-paths_port= devel/hs-ghc-paths
HTTP_port= www/hs-HTTP
###### depends
GHC_6_10_4_build_depends= ghc:${PORTSDIR}/lang/ghc
GHC_6_10_4_run_depends= ghc:${PORTSDIR}/lang/ghc
GHC_6_12_1_build_depends= ghc:${PORTSDIR}/lang/ghc-devel
GHC_6_12_1_run_depends= ghc:${PORTSDIR}/lang/ghc-devel
.if !empty(PORT_HADDOCK:M?0)
HADDOCK_build_depends= haddock:${PORTSDIR}/devel/hs-haddock
.endif
HSCOLOUR_build_depends= HsColour:${PORTSDIR}/print/hs-hscolour
.if ${GHC_VERSION} == 6.10.4
BUILD_DEPENDS+= ${GHC_6_10_4_build_depends}
.elif ${GHC_VERSION} == 6.12.1
BUILD_DEPENDS+= ${GHC_6_12_1_build_depends}
.else
IGNORE= unavailable GHC version ${GHC_VERSION}
.endif
.if !defined(USE_GHC_BUILD_ONLY)
.if ${GHC_VERSION} == 6.10.4
RUN_DEPENDS+= ${GHC_6_10_4_run_depends}
.elif ${GHC_VERSION} == 6.12.1
RUN_DEPENDS+= ${GHC_6_12_1_run_depends}
.else
IGNORE= unavailable GHC version ${GHC_VERSION}
.endif
.endif # USE_GHC_BUILD_ONLY
.if !defined(NOPORTDOCS)
BUILD_DEPENDS+= ${HADDOCK_build_depends}
BUILD_DEPENDS+= ${HSCOLOUR_build_depends}
PORTDOCS= *
.endif
.if defined(USE_HACKAGE)
.for i in ${USE_HACKAGE}
__u_h_r_package= ${i:C/:.*$//g}
.if ${__u_h_r_package} == ${i}
__u_h_r_version=
.else
__u_h_r_version= ${i:C/^.*://g}
.endif
__u_h_r_port= ${${__u_h_r_package}_port}
__u_h_r_name= ${__u_h_r_port:C/.*\///g}
# if no version is specified, then depend on all versions of ports.
# if someone knows any better way of doing this, please fix it.
.if empty(__u_h_r_version)
__u_h_r_version!= make -C ../../${__u_h_r_port} -V PORTVERSION
__u_h_r_version:= <=${__u_h_r_version}
.endif
haskell_BUILD_DEPENDS:= ${haskell_BUILD_DEPENDS} ${__u_h_r_name}${__u_h_r_version}:${PORTSDIR}/${__u_h_r_port}
.endfor
.endif # USE_HACKAGE
.if defined(USE_HACKAGE_RUNTIME)
.for i in ${USE_HACKAGE_RUNTIME}
__u_h_r_package= ${i:C/:.*//1}
.if ${__u_h_r_package} == ${i}
__u_h_r_version=
.else
__u_h_r_version= ${i:C/^.*://g}
.endif
__u_h_r_port= ${${__u_h_r_package}_port}
__u_h_r_name= ${__u_h_r_port:C/.*\///g}
# if no version is specified, then depend on all versions of ports.
# if someone knows any better way of doing this, please fix it.
.if empty(__u_h_r_version)
__u_h_r_version!= make -C ../../${__u_h_r_port} -V PORTVERSION
__u_h_r_version:= <=${__u_h_r_version}
.endif
haskell_RUN_DEPENDS:= ${haskell_RUN_DEPENDS} ${__u_h_r_name}${__u_h_r_version}:${PORTSDIR}/${__u_h_r_port}
.endfor
.endif # USE_HACKAGE_RUNTIME
BUILD_DEPENDS+= ${haskell_BUILD_DEPENDS}
RUN_DEPENDS+= ${haskell_RUN_DEPENDS}
.if defined(USE_CABAL)
.if !target(do-configure)
do-configure:
cd ${WRKSRC} && \
${GHC_CMD} --make ${CABAL_SETUP} -o ${SETUP_CMD} -package Cabal && \
${SETUP_CMD} configure --haddock-options=-w --prefix=${PREFIX}
.endif
.if !target(do-build)
do-build:
cd ${WRKSRC} && \
${SETUP_CMD} build && \
${SETUP_CMD} register --gen-script
.if !defined(NOPORTDOCS)
cd ${WRKSRC} && \
${SETUP_CMD} haddock --hyperlink-source \
--hscolour-css=${HSCOLOUR_DATADIR}/hscolour.css
.endif
.endif
.if !target(do-install)
do-install:
cd ${WRKSRC} && \
${SETUP_CMD} install && \
${INSTALL_SCRIPT} register.sh ${PREFIX}/${UTF8STR_LIBDIR_REL}/register.sh
.endif
post-install:
${RM} -f ${PREFIX}/lib/ghc-${GHC_VERSION}/package.conf.old
.endif # USE_CABAL
.endif # USE_HASKELL
# Local Variables:
# mode: makefile-bsdmake
# tab-width: 8
# End:
-------------- next part --------------
# New ports collection makefile for: hs-utf8-string-ghc
# Date created: 2008-10-21
# Whom: Ashish Shukla <wahjava at gmail.com>
#
# $FreeBSD: ports/devel/hs-utf8-string-ghc/Makefile,v 1.6 2010/01/06 17:53:45 pgj Exp $
#
PORTNAME= utf8-string
PORTVERSION= 0.3.6
CATEGORIES= devel haskell
MASTER_SITES= ${MASTER_SITES_HACKAGE}
PKGNAMEPREFIX= hs-
PKGNAMESUFFIX= -ghc
MAINTAINER= wahjava at gmail.com
COMMENT= Support for reading/writing UTF8 strings for Haskell programs
USE_GHC= true
USE_CABAL= true
CABAL_SETUP= Setup.lhs
# utf8-string don't really depends on following dependencies, they're
# there just to demonstrate the USE_HACKAGE and USE_HACKAGE_RUNTIME
# variables.
USE_HACKAGE_RUNTIME= ghc-paths
USE_HACKAGE= ghc-paths:>=0.1.0.5 HTTP
UTF8STR_VERSION= ${PORTVERSION}
DOCSDIR= ${PREFIX}/share/doc/${DISTNAME}
UTF8STR_LIBDIR_REL= lib/${DISTNAME}
PLIST_SUB= GHC_VERSION=${GHC_VERSION} \
UTF8STR_VERSION=${UTF8STR_VERSION} \
UTF8STR_LIBDIR_REL=${UTF8STR_LIBDIR_REL}
.if defined(NOPORTDOCS)
PLIST_SUB+= NOPORTDOCS=""
.else
PLIST_SUB+= NOPORTDOCS="@comment "
.endif
.include "../../lang/ghc/Makefile.haskell"
.include <bsd.port.mk>
More information about the FreeBSD-haskell
mailing list