[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