# Author: Ashish SHUKLA .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: