diff options
Diffstat (limited to 'lang/ghc')
-rw-r--r-- | lang/ghc/Makefile | 277 | ||||
-rw-r--r-- | lang/ghc/bsd.cabal.mk | 226 | ||||
-rw-r--r-- | lang/ghc/bsd.cabal.options.mk | 16 | ||||
-rw-r--r-- | lang/ghc/bsd.hackage.mk | 1081 | ||||
-rw-r--r-- | lang/ghc/distinfo | 9 | ||||
-rw-r--r-- | lang/ghc/files/build.boot.mk.in | 8 | ||||
-rw-r--r-- | lang/ghc/files/build.mk.in | 19 | ||||
-rw-r--r-- | lang/ghc/files/patch-aclocal.m4 | 39 | ||||
-rw-r--r-- | lang/ghc/files/patch-configure.ac | 18 | ||||
-rw-r--r-- | lang/ghc/files/patch-ghc.mk | 17 | ||||
-rw-r--r-- | lang/ghc/files/patch-libraries_Cabal_Cabal_Distribution_Simple_GHC.hs | 4 | ||||
-rw-r--r-- | lang/ghc/files/patch-libraries__Cabal__Cabal__Distribution__Simple__Program__Builtin.hs | 29 | ||||
-rw-r--r-- | lang/ghc/pkg-plist | 9 |
13 files changed, 915 insertions, 837 deletions
diff --git a/lang/ghc/Makefile b/lang/ghc/Makefile index 53c73a7afc82..1ab40a2ca9ac 100644 --- a/lang/ghc/Makefile +++ b/lang/ghc/Makefile @@ -2,8 +2,7 @@ # $FreeBSD$ PORTNAME= ghc -PORTVERSION= 7.10.2 -PORTREVISION= 3 +PORTVERSION= ${GHC_VERSION} CATEGORIES= lang haskell MASTER_SITES= http://www.haskell.org/ghc/dist/${PORTVERSION}/:source \ LOCAL/pgj/:boot @@ -17,96 +16,93 @@ LICENSE_FILE= ${WRKSRC}/LICENSE ONLY_FOR_ARCHS= i386 amd64 -MAKE_JOBS_NUMBER_LIMIT= 4 -NO_CCACHE= yes - -GHC_VERSION= ${PORTVERSION} -HSCOLOUR_VERSION= 1.23 -LLVM_VERSION= 35 +GHC_VERSION= 8.0.2 +HSCOLOUR_VERSION= 1.24.1 DATADIR= ${PREFIX}/share/ghc-${GHC_VERSION} EXAMPLESDIR= ${PREFIX}/share/examples/ghc-${GHC_VERSION} -CONFLICTS= ghc-7.4.* ghc-7.6.* ghc-7.8.* +CONFLICTS= ghc-7.4.* ghc-7.6.* ghc-7.8.* ghc-7.10.* LIB_DEPENDS+= libgmp.so:math/gmp -USES= autoreconf gmake iconv:translit ncurses perl5 tar:xz +USES= autoreconf gmake iconv:translit localbase:ldflags ncurses perl5 tar:xz USE_LOCALE= en_US.UTF-8 -USE_PERL5= build +USE_PERL5= build # The configure process accepts,filters and canonicalises # the CONFIGURE_TARGET variable. You can read the files # ${WRKSRC}/configure and ${WRKSRC}/config.sub. -# This is better fixed in the ${WRKSRC}/mk/build.mk. -# You can view below. +# This is better fixed in files/build.mk.in GNU_CONFIGURE= yes -OPTIONS_DEFINE= PROFILE DYNAMIC LLVM DOCS -OPTIONS_SINGLE= C_Compiler -OPTIONS_SINGLE_C_Compiler= GCC PCLANG BCLANG +CONFIGURE_ARGS= --with-ld=${LD} \ + --with-gmp-includes=${LOCALBASE}/include \ + --with-gmp-libraries=${LOCALBASE}/lib \ + --with-iconv-includes=${LOCALBASE}/include \ + --with-iconv-libraries=${LOCALBASE}/lib + +SUB_FILES= build.mk \ + build.boot.mk +SUB_LIST= GHC_VERSION=${GHC_VERSION} \ + NCURSESINC="${NCURSESINC}" NCURSESLIB="${NCURSESLIB}" \ + CFLAGS="${CFLAGS}" + +OPTIONS_GROUP= BOOTSTRAP +BOOTSTRAP_DESC= Bootsrap using installed ghc +OPTIONS_GROUP_BOOTSTRAP=BOOT BOOTH +OPTIONS_DEFINE= DYNAMIC PROFILE DOCS +OPTIONS_SUB= yes -OPTIONS_DEFAULT= PROFILE DYNAMIC GCC +OPTIONS_DEFAULT= PROFILE DYNAMIC BOOT_DESC= Use installed GHC for bootstrapping BOOTH_DESC= Use installed HsColour for bootstrapping -PCLANG_DESC= Build with Clang from ports -BCLANG_DESC= Build with Clang from base PROFILE_DESC= Add support for performance profiling DYNAMIC_DESC= Add support for dynamic linking -LLVM_DESC= Add support for generating code via LLVM DOCS_DESC= Install HTML documentation -LOCALBASE?= /usr/local +DYNAMIC_CONFIGURE_ARGS= --with-system-libffi \ + --with-ffi-includes=${LOCALBASE}/include \ + --with-ffi-libraries=${LOCALBASE}/lib +# The version number is needed as lang/gcc installs a different version +DYNAMIC_LIB_DEPENDS= libffi.so.6:devel/libffi -.if exists(${LOCALBASE}/bin/ghc) -OPTIONS_DEFINE+= BOOT -.endif +# Append substitutions for build.mk -- the files uses '#' as comments +BOOT_SUB_LIST= HSC2HS=${LOCALBASE}/bin/hsc2hs +BOOT_SUB_LIST_OFF= HSC2HS=${BOOT_HSC2HS} -.if exists(${LOCALBASE}/bin/HsColour) -OPTIONS_DEFINE+= BOOTH -.endif +DOCS_BUILD_DEPENDS+= sphinx-build:textproc/py-sphinx -.include <bsd.port.options.mk> +DYNAMIC_SUB_LIST= WITH_DYNAMIC="" +DYNAMIC_SUB_LIST_OFF= WITH_DYNAMIC="\#" -.if ${PORT_OPTIONS:MDYNAMIC} -# The version number is needed as lang/gcc installs a different version -LIB_DEPENDS+= libffi.so.6:devel/libffi -.endif +PROFILE_SUB_LIST= WITH_PROFILE="" +PROFILE_SUB_LIST_OFF= WITH_PROFILE="\#" -.if empty(PORT_OPTIONS:MBOOT) +DOCS_SUB_LIST= WITH_DOCS="YES" +DOCS_SUB_LIST_OFF= WITH_DOCS="NO" +LOCALBASE?= /usr/local + +.include <bsd.port.options.mk> + +.if empty(PORT_OPTIONS:MBOOT) BOOT_GHC_VERSION= 7.10.2 DISTFILES+= ghc-${BOOT_GHC_VERSION}-boot-${ARCH}-freebsd${EXTRACT_SUFX}:boot - .endif # MBOOT -.if ${PORT_OPTIONS:MPCLANG} -BUILD_DEPENDS+= ${LOCALBASE}/bin/clang${LLVM_VERSION}:lang/clang${LLVM_VERSION} -RUN_DEPENDS+= ${LOCALBASE}/bin/clang${LLVM_VERSION}:lang/clang${LLVM_VERSION} -CC= ${LOCALBASE}/bin/clang${LLVM_VERSION} -CXX= ${LOCALBASE}/bin/clang++${LLVM_VERSION} -CPP= ${LOCALBASE}/bin/clang-cpp${LLVM_VERSION} -LDFLAGS+= -B${LOCALBASE}/bin -CFLAGS+= -Qunused-arguments -CONFIGURE_ARGS+= --with-clang=${CC} --with-gcc=${CC} -USE_BINUTILS= yes -.if empty(PORT_OPTIONS:MBOOT) -CONFIGURE_ARGS_BOOT+= --with-clang=${CC} --with-gcc=${CC} -.endif -.elif ${PORT_OPTIONS:MBCLANG} -CC= /usr/bin/clang -CXX= /usr/bin/clang++ -CPP= /usr/bin/clang-cpp -CFLAGS+= -Qunused-arguments -CONFIGURE_ARGS+= --with-clang=${CC} --with-gcc=${CC} -.else # GCC -USE_GCC= yes -CONFIGURE_ARGS+= --with-gcc=${CC} +# LLVM is still not properly supported, further it does not make sense to have +# to depend on old llvm ports that will be removed from the ports soon. +# So for now, stick to GCC. +# https://ghc.haskell.org/trac/ghc/wiki/Commentary/Compiler/Backends/LLVM/Installing +# We should however investigate whether base's clang is enough to build ghc&co. +# This will likely require some modifications to compiler/main/*hs +USE_GCC= yes +CONFIGURE_ARGS+= -with-gcc=${CC} .if empty(PORT_OPTIONS:MBOOT) CONFIGURE_ARGS_BOOT+= --with-gcc=${CC} .endif -.endif DOCSDIR= ${PREFIX}/share/doc/${DISTNAME} GHC_LIBDIR= ${STAGEDIR}${PREFIX}/lib/ghc-${GHC_VERSION} @@ -114,31 +110,9 @@ GHC_LIBDIR_REL= lib/ghc-${GHC_VERSION} PLIST_SUB+= GHC_VERSION=${GHC_VERSION} GHC_LIBDIR=${GHC_LIBDIR_REL} -HACKAGE_SITE?= http://hackage.haskell.org/package/ - -CONFIGURE_ARGS+= --with-ld=${LD} \ - --with-gmp-includes=${LOCALBASE}/include \ - --with-gmp-libraries=${LOCALBASE}/lib - -CONFIGURE_ARGS+= --with-iconv-includes=${LOCALBASE}/include \ - --with-iconv-libraries=${LOCALBASE}/lib - -.if ${PORT_OPTIONS:MDYNAMIC} -CONFIGURE_ARGS+= --with-system-libffi \ - --with-ffi-includes=${LOCALBASE}/include \ - --with-ffi-libraries=${LOCALBASE}/lib -.endif - -.if ${PORT_OPTIONS:MLLVM} -BUILD_DEPENDS+= ${LOCALBASE}/bin/opt${LLVM_VERSION}:devel/llvm${LLVM_VERSION} -RUN_DEPENDS+= ${LOCALBASE}/bin/opt${LLVM_VERSION}:devel/llvm${LLVM_VERSION} - -CONFIGURE_ARGS+= --with-opt=${LOCALBASE}/bin/opt${LLVM_VERSION} \ - --with-llc=${LOCALBASE}/bin/llc${LLVM_VERSION} -.endif +HACKAGE_SITE?= http://hackage.haskell.org/package/ .if empty(PORT_OPTIONS:MBOOT) - BOOT_DIR= ${WRKDIR}/ghc-${BOOT_GHC_VERSION}-boot BOOT_GHC= ${BOOT_DIR}/bin/ghc-${BOOT_GHC_VERSION} BOOT_GHC-PKG= ${BOOT_DIR}/bin/ghc-pkg-${BOOT_GHC_VERSION} @@ -148,19 +122,11 @@ SLAVE_CMD= ${SETENV} PATH=${BOOT_DIR}/bin:${PATH} CONFIGURE_ARGS_BOOT+= --prefix=${BOOT_DIR} --with-ld=${LD} CONFIGURE_ARGS+= --with-ghc=${BOOT_GHC} - .else # MBOOT - -SLAVE_CMD= # empty - +SLAVE_CMD= # empty CONFIGURE_ARGS+= --with-ghc=${LOCALBASE}/bin/ghc - .endif # MBOOT -# libgmp: -LDFLAGS+= -L${LOCALBASE}/lib -CFLAGS+= -I${LOCALBASE}/include - # override TMPDIR because /tmp often doesn't have enough space # to build some of the larger libraries. TMPDIR= ${WRKSRC}/tmp @@ -173,16 +139,16 @@ TMPDIR= ${WRKSRC}/tmp .if ${PORT_OPTIONS:MDOCS} -.if empty(PORT_OPTIONS:MBOOTH) +. if empty(PORT_OPTIONS:MBOOTH) MASTER_SITES+= ${HACKAGE_SITE}hscolour-${HSCOLOUR_VERSION}/:docs DISTFILES+= hscolour-${HSCOLOUR_VERSION}.tar.gz:docs EXTRACT_ONLY= ${_DISTFILES:C/hscolour.*$//g} -.endif # MBOOTH +. endif # MBOOTH -.if empty(PORT_OPTIONS:MBOOTH) +. if empty(PORT_OPTIONS:MBOOTH) SLAVES_PREFIX= ${WRKDIR}/slaves_prefix SLAVES_WRKDIRPREFIX= ${WRKDIR}/slaves_wrkdirprefix @@ -190,87 +156,49 @@ SLAVES_WRKDIRPREFIX= ${WRKDIR}/slaves_wrkdirprefix MAKE_ENV+= PATH=${SLAVES_PREFIX}/bin:${PATH} CONFIGURE_ENV+= PATH=${SLAVES_PREFIX}/bin:${PATH} -.endif # MBOOTH +. endif # MBOOTH -BUILD_DEPENDS+= docbook-xsl>0:textproc/docbook-xsl \ - ${LOCALBASE}/bin/xsltproc:textproc/libxslt -.endif +.endif # MDOCS post-extract: - @${ECHO} >> ${WRKSRC}/mk/build.mk "docdir = ${PREFIX}/share/doc/ghc-${GHC_VERSION}" - @${ECHO} >> ${WRKSRC}/mk/build.mk "htmldir = ${PREFIX}/share/doc/ghc-${GHC_VERSION}" - @${ECHO} >> ${WRKSRC}/mk/build.mk "mandir = ${PREFIX}/man" - @${ECHO} >> ${WRKSRC}/mk/build.mk "infodir = ${PREFIX}/info" - @${ECHO} >> ${WRKSRC}/mk/build.mk "GhcLibWays = v" -.if ${PORT_OPTIONS:MPROFILE} - @${ECHO} >> ${WRKSRC}/mk/build.mk "GhcLibWays += p" -.endif -.if ${PORT_OPTIONS:MDYNAMIC} - @${ECHO} >> ${WRKSRC}/mk/build.mk "GhcLibWays += dyn" -.endif -.if ${PORT_OPTIONS:MDOCS} - @${ECHO} >> ${WRKSRC}/mk/build.mk "XMLDocWays = html" - @${ECHO} >> ${WRKSRC}/mk/build.mk "HADDOCK_DOCS = YES" - @${ECHO} >> ${WRKSRC}/mk/build.mk "HSCOLOUR_SRCS = YES" -.else - @${ECHO} >> ${WRKSRC}/mk/build.mk "XMLDocWays =" - @${ECHO} >> ${WRKSRC}/mk/build.mk "HADDOCK_DOCS =" - @${ECHO} >> ${WRKSRC}/mk/build.mk "HSCOLOUR_SRCS =" -.endif -.if ${PORT_OPTIONS:MBOOT} - @${ECHO} >> ${WRKSRC}/mk/build.mk "BSD_PATH_TO_HSC2HS = ${LOCALBASE}/bin/hsc2hs" -.else - @${ECHO} >> ${WRKSRC}/mk/build.mk "BSD_PATH_TO_HSC2HS = ${BOOT_HSC2HS}" -.endif - @${ECHO} >> ${WRKSRC}/mk/build.mk "SRC_HC_OPTS += -I${NCURSESINC} -L${NCURSESLIB} -I${LOCALBASE}/include -L${LOCALBASE}/lib" -.if ${PORT_OPTIONS:MPCLANG} - @${ECHO} >> ${WRKSRC}/mk/build.mk "SRC_HC_OPTS += -optl=-B${LOCALBASE}/bin" -.endif - @${ECHO} >> ${WRKSRC}/mk/build.mk "SRC_CC_OPTS += ${CFLAGS}" - @${ECHO} >> ${WRKSRC}/mk/build.mk "EXTRA_HSC2HS_OPTS += -I${LOCALBASE}/include --lflag=-L${LOCALBASE}/lib" - @${ECHO} >> ${WRKSRC}/mk/build.mk "EXTRA_LD_OPTS += -L${LOCALBASE}/lib" - @${ECHO} >> ${WRKSRC}/mk/build.mk "EXTRA_CABAL_CONFIGURE_FLAGS += --extra-include-dirs=${LOCALBASE}/include" - @${ECHO} >> ${WRKSRC}/mk/build.mk "EXTRA_CABAL_CONFIGURE_FLAGS += --extra-lib-dirs=${LOCALBASE}/lib" - @${ECHO} >> ${WRKSRC}/mk/build.mk "libraries/terminfo_CONFIGURE_OPTS += --configure-option=--with-curses-includes=${NCURSESINC} --configure-option=--with-curses-libraries=${NCURSESLIB}" - @${ECHO} >> ${WRKSRC}/mk/build.mk "V = 0" -.if ${PORT_OPTIONS:MBCLANG} || ${PORT_OPTIONS:MPCLANG} - @${REINPLACE_CMD} -e 's|@SettingsCCompilerFlags@|& -Qunused-arguments|' ${WRKSRC}/settings.in -.if empty(PORT_OPTIONS:MBOOT) - @${REINPLACE_CMD} -e 's|@SettingsCCompilerFlags@|& -Qunused-arguments|' ${BOOT_DIR}/settings.in -.endif -.endif .if empty(PORT_OPTIONS:MBOOT) && ${OPSYS} == FreeBSD && ${OSVERSION} >= 1200031 @${REINPLACE_CMD} -e 's|@SettingsCCompilerLinkFlags@|& -Wl,--wrap=readdir_r,--wrap=stat,--wrap=lstat,--wrap=fstat,--wrap=mknod|' ${BOOT_DIR}/settings.in .endif +# %%PORTDOCS%%%%DOCSDIR%%/html/libraries/doc-index-V.html post-install-script: - @${FIND} -ds ${GHC_LIBDIR} -type f -print | ${SED} -E -e \ - '/^${GHC_LIBDIR:C/\//\\\//g}\/package.conf.d\/package\.cache/d' -e \ - 's,^${STAGEDIR}${PREFIX}/?,,' >> ${TMPPLIST} - @${FIND} -ds ${STAGEDIR}${DOCSDIR} -type f -print | ${SED} -E -e \ - '/^${STAGEDIR:C/\//\\\//g}${DOCSDIR:C/\//\\\//g}\/html\/libraries\/doc-index-[^.]+\.html/d' -e \ - '/^${STAGEDIR:C/\//\\\//g}${DOCSDIR:C/\//\\\//g}\/html\/libraries\/index[^\/.]*\.html/d' -e \ - '/^${STAGEDIR:C/\//\\\//g}${DOCSDIR:C/\//\\\//g}\/html\/libraries\/[^\/]+\.png/d' -e \ - 's,^${STAGEDIR}${PREFIX}/?,,' >> ${TMPPLIST} + ${FIND} -ds ${GHC_LIBDIR} -type f -print | ${SED} -E \ + -e 's,^${STAGEDIR}${PREFIX}/?,,' \ + -e '/^${GHC_LIBDIR:C/\//\\\//g}\/package.conf.d\/package\.cache/s|^|@comment |g' \ + >> ${TMPPLIST} + ${FIND} -ds ${STAGEDIR}${DOCSDIR} -type f -print | ${SED} -E \ + -e 's,^${STAGEDIR}${PREFIX}/?,,' \ + -e '/^${STAGEDIR:C/\//\\\//g}${DOCSDIR:C/\//\\\//g}\/html\/libraries\/doc-index-[^.]+\.html/s|^|@comment |g' \ + -e '/^${STAGEDIR:C/\//\\\//g}${DOCSDIR:C/\//\\\//g}\/html\/libraries\/index[^\/.]*\.html/s|^|@comment|g' \ + -e '/^${STAGEDIR:C/\//\\\//g}${DOCSDIR:C/\//\\\//g}\/html\/libraries\/[^\/]+\.png/s|^|@comment |g' \ + >> ${TMPPLIST} .if ${PORT_OPTIONS:MDOCS} # Cleanup the indexen created by gen_contents_index - @${ECHO} "@unexec ${RM} %D/${DOCSDIR_REL}/html/libraries/doc-index-*.html" >> ${TMPPLIST} - @${ECHO} "@unexec ${RM} %D/${DOCSDIR_REL}/html/libraries/index*.html" >> ${TMPPLIST} - @${ECHO} "@unexec ${RM} %D/${DOCSDIR_REL}/html/libraries/*.png" >> ${TMPPLIST} + ${ECHO} "@postunexec ${RM} %D/${DOCSDIR_REL}/html/libraries/doc-index-*.html" >> ${TMPPLIST} + ${ECHO} "@postunexec ${RM} %D/${DOCSDIR_REL}/html/libraries/index*.html" >> ${TMPPLIST} + ${ECHO} "@postunexec ${RM} %D/${DOCSDIR_REL}/html/libraries/*.png" >> ${TMPPLIST} .endif - @${ECHO} '@unexec ${RM} %D/${GHC_LIBDIR_REL}/package.conf.d/package.cache' >>${TMPPLIST} - @${ECHO} "@exec %D/bin/ghc-pkg recache" >>${TMPPLIST} + ${ECHO} '@postunexec ${RM} %D/${GHC_LIBDIR_REL}/package.conf.d/package.cache' >>${TMPPLIST} + ${ECHO} "@postexec %D/bin/ghc-pkg recache" >>${TMPPLIST} .if ${PORT_OPTIONS:MDOCS} - @${ECHO} '@exec ${SH} -c "cd %D/${DOCSDIR_REL}/html/libraries && ./gen_contents_index"' >> ${TMPPLIST} + ${ECHO} '@postexec ${SH} -c "cd %D/${DOCSDIR_REL}/html/libraries && ./gen_contents_index"' >> ${TMPPLIST} .endif post-patch: - @${REINPLACE_CMD} -e 's|%%CC%%|${CC}|; \ + ${REINPLACE_CMD} -e 's|%%CC%%|${CC}|; \ s|%%AR%%|${AR}|; \ s|%%LD%%|${LD}|' \ ${WRKSRC}/libraries/Cabal/Cabal/Distribution/Simple/Program/Builtin.hs -pre-configure: +pre-configure: apply-slist + # Copy the subbed build.mk to the proper position + ${CP} ${WRKDIR}/build.mk ${WRKSRC}/mk/build.mk + @${MKDIR} ${TMPDIR} .if empty(PORT_OPTIONS:MBOOTH) && ${OPSYS} == FreeBSD && \ ${OSVERSION} >= 1200031 @@ -307,13 +235,44 @@ pre-configure: ${SLAVE_CMD} ./Setup install) .endif +_EXECUTABLES= ${STAGEDIR}${PREFIX}/bin/hp2ps \ + ${GHC_LIBDIR}/bin/unlit \ + ${GHC_LIBDIR}/bin/hpc \ + ${GHC_LIBDIR}/bin/ghc-iserv \ + ${GHC_LIBDIR}/bin/ghc-pkg \ + ${GHC_LIBDIR}/bin/hsc2hs \ + ${GHC_LIBDIR}/bin/runghc \ + ${GHC_LIBDIR}/bin/ghc + +.if ${PORT_OPTIONS:MPROFILE} +_EXECUTABLES+= ${GHC_LIBDIR}/bin/ghc-iserv-prof +.endif +.if ${PORT_OPTIONS:MDYNAMIC} +_EXECUTABLES+= ${GHC_LIBDIR}/bin/ghc-iserv-dyn +.endif +.if ${PORT_OPTIONS:MDOCS} +_EXECUTABLES+= ${GHC_LIBDIR}/bin/haddock +.endif + post-install: - @${RM} ${STAGEDIR}${PREFIX}/bin/haddock + ${RM} ${STAGEDIR}${PREFIX}/bin/haddock .if ${PORT_OPTIONS:MDOCS} - @${LN} -sf haddock-ghc-${GHC_VERSION} ${STAGEDIR}${PREFIX}/bin/haddock + ${LN} -sf haddock-ghc-${GHC_VERSION} ${STAGEDIR}${PREFIX}/bin/haddock .endif - @(for f in ${STAGEDIR}${PREFIX}/bin/hp2ps ${GHC_LIBDIR}/unlit \ - $$(${FIND} ${GHC_LIBDIR}/bin -type f; ${FIND} ${GHC_LIBDIR} -name '*.so'); do \ - ${STRIP_CMD} $$f; done) + (for f in ${_EXECUTABLES} $$(${FIND} ${GHC_LIBDIR} -name '*.so'); do \ + ${STRIP_CMD} $$f; done) .include <bsd.port.mk> + +# Create a bootstrap compiler tar ball: run this in an interactive poudriere jail +.PHONY: create-bootstrap +create-bootstrap: + @${ECHO} "TODO: https://github.com/freebsd-haskell/ports/wiki/Updating-the-Bootstrap-Compiler" + cd ${WRKSCR} \ + && ${CP} ${WRKDIR}/build.boot.mk mk \ + && setenv ${CONFIGURE_ENV} ./configure --with-iconv-includes=${LOCALBASE}/include \ + --with-iconv-libraries=${LOCALBASE}/lib \ + --with-gcc=${CC} \ + --with-ld=${LD} \ + && make binary-dist TAR_COMP=xz \\ + && mv ghc-${GHC_VERSION}-boot-${GHC_ARCH}-unknown-freebsd.tar.xz /tmp/ghc-${GHC_VERSION}-${ARCH}-freebsd${FREEBSD_MAJOR_VERSION}-boot.tar.xz diff --git a/lang/ghc/bsd.cabal.mk b/lang/ghc/bsd.cabal.mk index c031e7b26d06..7cc0a1d3e7ce 100644 --- a/lang/ghc/bsd.cabal.mk +++ b/lang/ghc/bsd.cabal.mk @@ -1,4 +1,4 @@ -# + # $FreeBSD$ # # bsd.cabal.mk -- Support for ports based on Haskell Cabal. @@ -32,8 +32,12 @@ SETUP_CMD?= ./setup ALEX_CMD?= ${LOCALBASE}/bin/alex HAPPY_CMD?= ${LOCALBASE}/bin/happy C2HS_CMD?= ${LOCALBASE}/bin/c2hs +CPPHS_CMD?= ${LOCALBASE}/bin/cpphs -CABAL_DIRS+= ${DATADIR} ${EXAMPLESDIR} ${CABAL_LIBDIR}/${CABAL_LIBSUBDIR} \ +# ./usr/local/lib/cabal/ghc-8.0.2/x86_64-freebsd-ghc-8.0.2/libHStransformers-compat-0.5.1.4-IuF +CABAL_DIRS+= ${DATADIR} ${EXAMPLESDIR} \ + ${CABAL_LIBDIR}/${CABAL_LIBSUBDIR} \ + ${CABAL_LIBDIR}/${CABAL_ARCHSUBDIR} \ ${DOCSDIR} GHC_HADDOCK_CMD=${LOCALBASE}/bin/haddock-ghc-${GHC_VERSION} @@ -50,10 +54,19 @@ GHC_LIB_DOCSDIR_REL= share/doc/ghc-${GHC_VERSION}/html/libraries CABAL_LIBDIR= ${PREFIX}/lib/cabal/ghc-${GHC_VERSION} CABAL_LIBSUBDIR= ${PACKAGE} +CABAL_ARCH= x86_64 +.if ("${ARCH}" == "i386") +CABAL_ARCH= i386 +.endif +CABAL_ARCHSUBDIR= ${CABAL_ARCH}-freebsd-ghc-${GHC_VERSION} CABAL_LIBDIR_REL= ${CABAL_LIBDIR:S,^${PREFIX}/,,} CONFIGURE_ARGS+= --libdir=${CABAL_LIBDIR} --libsubdir=${CABAL_LIBSUBDIR} +# Inherited via lang/ghc we need to depend on iconv and libgmp.so (stage q/a) +USES+= iconv:translit +LIB_DEPENDS+= libgmp.so:math/gmp + PLIST_SUB+= GHC_VERSION=${GHC_VERSION} \ PORTNAME=${PORTNAME} \ PORTVERSION=${PORTVERSION} \ @@ -83,35 +96,15 @@ BUILD_DEPENDS+= ghc:lang/ghc BUILD_DEPENDS+= ghc>=${GHC_VERSION}:lang/ghc .endif - -.if ${PORT_OPTIONS:MPCLANG} -BUILD_DEPENDS+= ${LOCALBASE}/bin/clang${LLVM_VERSION}:lang/clang${LLVM_VERSION} -RUN_DEPENDS+= ${LOCALBASE}/bin/clang${LLVM_VERSION}:lang/clang${LLVM_VERSION} -CC= ${LOCALBASE}/bin/clang${LLVM_VERSION} -CXX= ${LOCALBASE}/bin/clang++${LLVM_VERSION} -CPP= ${LOCALBASE}/bin/clang-cpp${LLVM_VERSION} -CFLAGS+= -Qunused-arguments -LDFLAGS+= -B${LOCALBASE}/bin -CONFIGURE_ARGS+= --ghc-option=-optl=-B${LOCALBASE}/bin -USE_BINUTILS= yes -.elif ${PORT_OPTIONS:MBCLANG} -CC= /usr/bin/clang -CXX= /usr/bin/clang++ -CPP= /usr/bin/clang-cpp -CFLAGS+= -Qunused-arguments -.else # GCC +# LLVM is still not properly supported, further it does not make sense to have +# to depend on old llvm ports that will be removed from the ports soon. +# So for now, stick to GCC -- this might change with ghc-8.4. +# https://ghc.haskell.org/trac/ghc/wiki/Commentary/Compiler/Backends/LLVM/Installing +# We should however investigate whether base's clang is enough to build ghc&co. USE_GCC= yes -.endif -CONFIGURE_ARGS+= --with-gcc=${CC} --with-ld=${LD} --with-ar=${AR} - -.if ${PORT_OPTIONS:MLLVM} -CONFIGURE_ARGS+= --ghc-option=-fllvm \ - --ghc-option=-pgmlo --ghc-option=${LOCALBASE}/bin/opt${LLVM_VERSION} \ - --ghc-option=-pgmlc --ghc-option=${LOCALBASE}/bin/llc${LLVM_VERSION} -BUILD_DEPENDS+= ${LOCALBASE}/bin/opt${LLVM_VERSION}:devel/llvm${LLVM_VERSION} -.endif +CONFIGURE_ARGS+= --with-gcc=${CC} --with-ld=${LD} --with-ar=${AR} .if defined(USE_ALEX) BUILD_DEPENDS+= ${ALEX_CMD}:devel/hs-alex @@ -128,66 +121,72 @@ BUILD_DEPENDS+= ${C2HS_CMD}:devel/hs-c2hs CONFIGURE_ARGS+= --with-c2hs=${C2HS_CMD} .endif -.if defined(EXECUTABLE) -LIB_DEPENDS+= libgmp.so:math/gmp -USES+= iconv +.if defined(USE_CPPHS) +BUILD_DEPENDS+= ${CPPHS_CMD}:devel/hs-cpphs +CONFIGURE_ARGS+= --with-cpphs=${CPPHS_CMD} +.endif +.if defined(EXECUTABLE) CONFIGURE_ARGS+= --enable-executable-stripping .endif .if defined(USE_CABAL) .include "bsd.hackage.mk" -.for cabal_package in ${USE_CABAL} +. for cabal_package in ${USE_CABAL} __u_h_r_package= ${cabal_package:C/[<=>].*$//g} __u_h_r_port= ${${__u_h_r_package}_port} __u_h_r_name= ${__u_h_r_port:C/.*\///g} -.if empty(__u_h_r_port) -IGNORE?= dependency fails: ${cabal_package:C/[<=>].*$//g} is not known as a port -.endif +. if empty(__u_h_r_port) +IGNORE?= dependency fails: ${cabal_package} -> ${__u_h_r_package} is not known as a port +. endif -.if ${__u_h_r_package} == ${cabal_package} +. if ${__u_h_r_port} != ${STAGE2_DUMMY} +. if ${__u_h_r_package} == ${cabal_package} __u_h_r_version:= >=0 -.else +. else __u_h_r_version:= ${cabal_package:C/^[^<=>]*//g} -.endif +. endif dependencies:= ${dependencies} \ ${HSPREFIX}${__u_h_r_package}${__u_h_r_version}:${__u_h_r_port} -.endfor +. else +IGNORE?= dependency fail: ${__u_h_r_package} is part of lang/ghc +. endif +. endfor BUILD_DEPENDS+= ${dependencies} -.if !defined(STANDALONE) || ${PORT_OPTIONS:MDYNAMIC} +. if !defined(STANDALONE) || ${PORT_OPTIONS:MDYNAMIC} RUN_DEPENDS+= ${dependencies} -.endif +. endif .endif .if ${PORT_OPTIONS:MDOCS} -.if !defined(XMLDOCS) +. if !defined(XMLDOCS) -.if defined(HADDOCK_AVAILABLE) +. if defined(HADDOCK_AVAILABLE) HADDOCK_OPTS= # empty -.if ${PORT_OPTIONS:MHSCOLOUR} +. if ${PORT_OPTIONS:MHSCOLOUR} BUILD_DEPENDS+= HsColour:print/hs-hscolour HSCOLOUR_DATADIR= ${LOCALBASE}/share/cabal/ghc-${GHC_VERSION}/hscolour-${HSCOLOUR_VERSION} HADDOCK_OPTS+= --hyperlink-source --hscolour-css=${HSCOLOUR_DATADIR}/hscolour.css -.endif # HSCOLOUR -.endif # HADDOCK_AVAILABLE +. endif # HSCOLOUR +. endif # HADDOCK_AVAILABLE -.endif +. endif -.if defined(XMLDOCS) +. if defined(XMLDOCS) BUILD_DEPENDS+= docbook-xsl>0:textproc/docbook-xsl \ ${LOCALBASE}/bin/xsltproc:textproc/libxslt USES+= gmake -.endif # !XMLDOCS +. endif # !XMLDOCS .endif # DOCS @@ -206,7 +205,7 @@ CONFIGURE_ARGS+= --disable-shared --disable-executable-dynamic .if ${PORT_OPTIONS:MPROFILE} CONFIGURE_ARGS+= --enable-executable-profiling --enable-library-profiling .else -CONFIGURE_ARGS+= --disable-executable-profiling --disable-library-profiling +CONFIGURE_ARGS+= --disable-profiling --disable-library-profiling .endif .SILENT: @@ -220,7 +219,7 @@ post-patch:: _BUILD_SETUP= ${GHC_CMD} -o ${SETUP_CMD} -package Cabal --make .if !defined(METAPORT) -.if !target(do-configure) +. if !target(do-configure) do-configure: @${MKDIR} ${TMPDIR} @if [ -f ${WRKSRC}/Setup.hs ]; then \ @@ -237,112 +236,115 @@ do-configure: exit 1; \ fi -.if ${PORT_OPTIONS:MDOCS} -.if defined(XMLDOCS) && defined(USE_AUTOTOOLS) +. if ${PORT_OPTIONS:MDOCS} +. if defined(XMLDOCS) && defined(USE_AUTOTOOLS) cd ${WRKSRC}/doc && ${AUTOCONF} && ./configure --prefix=${PREFIX} -.endif -.endif # DOCS -.endif # target(do-configure) +. endif +. endif # DOCS +. endif # target(do-configure) .endif # !METAPORT .if !defined(METAPORT) -.if !target(do-build) +. if !target(do-build) do-build: cd ${WRKSRC} && ${SETENV} ${MAKE_ENV} ${SETUP_CMD} build -.if !defined(STANDALONE) +. if !defined(STANDALONE) cd ${WRKSRC} && ${SETENV} ${MAKE_ENV} ${SETUP_CMD} register --gen-script -.endif +. endif -.if ${PORT_OPTIONS:MDOCS} -.if defined(HADDOCK_AVAILABLE) && !defined(XMLDOCS) && !defined(STANDALONE) && ${PORT_OPTIONS:MDOCS} +. if ${PORT_OPTIONS:MDOCS} +. if defined(HADDOCK_AVAILABLE) && !defined(XMLDOCS) && !defined(STANDALONE) && ${PORT_OPTIONS:MDOCS} cd ${WRKSRC} && ${SETENV} ${MAKE_ENV} ${SETUP_CMD} haddock ${HADDOCK_OPTS} -.endif # STANDALONE -.if defined(XMLDOCS) +. endif # STANDALONE +. if defined(XMLDOCS) @(cd ${WRKSRC}/doc && ${SETENV} ${MAKE_ENV} ${MAKE_CMD} ${MAKE_FLAGS} ${MAKEFILE} ${MAKE_ARGS} html) -.endif # XMLDOCS -.endif # DOCS -.endif # target(do-build) +. endif # XMLDOCS +. endif # DOCS +. endif # target(do-build) .endif # !METAPORT .for sect in 1 2 3 4 5 6 7 8 9 -.if defined(MAN${sect}PAGES) -.for man in ${MAN${sect}PAGES} +. if defined(MAN${sect}PAGES) +. for man in ${MAN${sect}PAGES} PLIST_FILES+= man/man${sect}/${man}.gz -.endfor -.endif +. endfor +. endif .endfor .if !defined(METAPORT) -.if !target(do-install) +. if !target(do-install) do-install: cd ${WRKSRC} && ${SETENV} ${MAKE_ENV} ${SETUP_CMD} copy --destdir=${STAGEDIR} -.if !defined(STANDALONE) +. if !defined(STANDALONE) @${MKDIR} ${STAGEDIR}${CABAL_LIBDIR}/${CABAL_LIBSUBDIR} cd ${WRKSRC} && ${INSTALL_SCRIPT} register.sh ${STAGEDIR}${CABAL_LIBDIR}/${CABAL_LIBSUBDIR}/register.sh -.endif +. endif -.if !empty(INSTALL_PORTDATA) +. if !empty(INSTALL_PORTDATA) @${MKDIR} ${STAGEDIR}${DATADIR} ${INSTALL_PORTDATA} -.endif +. endif -.if !empty(INSTALL_PORTEXAMPLES) && ${PORT_OPTIONS:MEXAMPLES} +. if !empty(INSTALL_PORTEXAMPLES) && ${PORT_OPTIONS:MEXAMPLES} @${MKDIR} ${STAGEDIR}${EXAMPLESDIR} ${INSTALL_PORTEXAMPLES} -.endif +. endif -.for sect in 1 2 3 4 5 6 7 8 9 -.if defined(MAN${sect}SRC) -.for man in ${MAN${sect}PAGES} +. for sect in 1 2 3 4 5 6 7 8 9 +. if defined(MAN${sect}SRC) +. for man in ${MAN${sect}PAGES} @${INSTALL_MAN} ${WRKSRC}/${MAN${sect}SRC}/${man} ${STAGEDIR}${MANPREFIX}/man/man${sect} -.endfor -.endif # MAN${sect}SRC -.endfor +. endfor +. endif # MAN${sect}SRC +. endfor -.if ${PORT_OPTIONS:MDOCS} -.if !empty(XMLDOCS) -.for xmldoc in ${XMLDOCS} +. if ${PORT_OPTIONS:MDOCS} +. if !empty(XMLDOCS) +. for xmldoc in ${XMLDOCS} @(cd ${WRKSRC}/${xmldoc:C/:.*$//g} && ${COPYTREE_SHARE} \* ${STAGEDIR}${DOCSDIR}/${xmldoc:C/^.*://g}) -.endfor -.endif # XMLDOCS -.endif # DOCS -.endif # target(do-install) +. endfor +. endif # XMLDOCS +. endif # DOCS +. endif # target(do-install) .endif # !METAPORT .if !target(post-install-script) post-install-script: -.if defined(EXECUTABLE) -.for exe in ${EXECUTABLE} - @${ECHO_CMD} 'bin/${exe}' >>${TMPPLIST} -.endfor -.endif # EXECUTABLE - @for dir in ${CABAL_DIRS}; do if [ -d ${STAGEDIR}$${dir} ]; then ${FIND} -ds ${STAGEDIR}$${dir} \ +. if defined(EXECUTABLE) +. for exe in ${EXECUTABLE} + ${ECHO_CMD} 'bin/${exe}' >>${TMPPLIST} +. endfor +. endif # EXECUTABLE + for dir in ${CABAL_DIRS}; do if [ -d ${STAGEDIR}$${dir} ]; then ${FIND} -ds ${STAGEDIR}$${dir} \ -type f -print | ${SED} -E -e 's,^${STAGEDIR}${PREFIX}/?,,' >> ${TMPPLIST}; fi ; done + @${ECHO} "================ CONTENTS OF TMPPLIST =================== " + cat ${TMPPLIST} + @${ECHO} "========================================================= " .endif # target(post-install-script) .if !defined(METAPORT) add-plist-post: add-plist-cabal add-plist-cabal: -.if !defined(STANDALONE) - @${ECHO_CMD} '@unexec ${LOCALBASE}/bin/ghc-pkg unregister --force ${PORTNAME}-${PORTVERSION}' >> ${TMPPLIST} -.endif - -.if defined(HADDOCK_AVAILABLE) && ${PORT_OPTIONS:MDOCS} - @(${ECHO_CMD} '@unexec ${RM} ${LOCALBASE}/${GHC_LIB_DOCSDIR_REL}/${PACKAGE}' ; \ - ${ECHO_CMD} '@unexec cd ${LOCALBASE}/${GHC_LIB_DOCSDIR_REL} && \ - ${RM} doc-index*.html && ./gen_contents_index') >> ${TMPPLIST} -.endif - -.if !defined(STANDALONE) - @${ECHO_CMD} '@exec ${SH} %D/${CABAL_LIBDIR_REL}/${CABAL_LIBSUBDIR}/register.sh > /dev/null' >> ${TMPPLIST} -.endif +. if !defined(STANDALONE) + @${ECHO_CMD} '@postunexec ${LOCALBASE}/bin/ghc-pkg unregister --force ${PORTNAME}-${PORTVERSION}' >> ${TMPPLIST} +. endif -.if defined(HADDOCK_AVAILABLE) && ${PORT_OPTIONS:MDOCS} - @(${ECHO_CMD} '@exec ${LN} -s ${DOCSDIR}/html ${LOCALBASE}/${GHC_LIB_DOCSDIR_REL}/${PACKAGE} && \ +. if defined(HADDOCK_AVAILABLE) && ${PORT_OPTIONS:MDOCS} +# GHC_LIB_DOCSDIR_REL= share/doc/ghc-${GHC_VERSION}/html/libraries + (${ECHO} '@postexec ${LN} -s ${DOCSDIR}/html ${LOCALBASE}/${GHC_LIB_DOCSDIR_REL}/${PACKAGE} && \ cd ${LOCALBASE}/${GHC_LIB_DOCSDIR_REL} && \ ${RM} doc-index*.html && ./gen_contents_index') >> ${TMPPLIST} -.endif + (${ECHO} '@postunexec ${RM} -r ${LOCALBASE}/${GHC_LIB_DOCSDIR_REL}/${PACKAGE}' ; \ + ${ECHO} '@postunexec cd ${LOCALBASE}/${GHC_LIB_DOCSDIR_REL} && \ + ${RM} doc-index*.html && ./gen_contents_index') >> ${TMPPLIST} +# Don't install index files + ${ECHO} "@comment share/doc/ghc-%%GHC_VERSION%%/html/libraries/index.html" >> ${TMPPLIST} +. endif + +. if !defined(STANDALONE) + @${ECHO_CMD} '@postexec ${SH} %D/${CABAL_LIBDIR_REL}/${CABAL_LIBSUBDIR}/register.sh > /dev/null' >> ${TMPPLIST} +. endif .endif # !METAPORT diff --git a/lang/ghc/bsd.cabal.options.mk b/lang/ghc/bsd.cabal.options.mk index 1829f6948d9e..aa64e85c9ecc 100644 --- a/lang/ghc/bsd.cabal.options.mk +++ b/lang/ghc/bsd.cabal.options.mk @@ -18,21 +18,13 @@ GHC_CMD?= ${LOCALBASE}/bin/ghc HADDOCK_CMD?= ${LOCALBASE}/bin/haddock HSCOLOUR_CMD?= ${LOCALBASE}/bin/HsColour -GHC_VERSION?= 7.10.2 -LLVM_VERSION= 35 +GHC_VERSION?= 8.0.2 -HSCOLOUR_VERSION= 1.23 +HSCOLOUR_VERSION= 1.24.1 HSCOLOUR_DESC?= Colorize generated documentation by HsColour DYNAMIC_DESC?= Add support for dynamic linking PROFILE_DESC?= Add support for profiling -LLVM_DESC?= Use the LLVM backend for code generation -PCLANG_DESC= Build with Clang from ports -BCLANG_DESC= Build with Clang from base - -OPTIONS_SINGLE+= C_Compiler -OPTIONS_SINGLE_C_Compiler= GCC PCLANG BCLANG -OPTIONS_DEFAULT+= GCC .if (!exists(${GHC_CMD}) || exists(${LOCALBASE}/lib/ghc-${GHC_VERSION}/rts/libHSrts-ghc${GHC_VERSION}.so)) && !defined(IGNORE_DYNAMIC) OPTIONS_DEFINE+= DYNAMIC @@ -43,10 +35,6 @@ OPTIONS_DEFAULT+= DYNAMIC OPTIONS_DEFINE+= PROFILE .endif -.if !defined(IGNORE_LLVM) -OPTIONS_DEFINE+= LLVM -.endif - .if ((!exists(${GHC_CMD}) || exists(${LOCALBASE}/lib/ghc-${GHC_VERSION}/html)) || exists(${HADDOCK_CMD})) && !defined(IGNORE_DOCS) OPTIONS_DEFINE+= DOCS HADDOCK_AVAILABLE= yes diff --git a/lang/ghc/bsd.hackage.mk b/lang/ghc/bsd.hackage.mk index 41d8ac475a74..4b48785a2cb9 100644 --- a/lang/ghc/bsd.hackage.mk +++ b/lang/ghc/bsd.hackage.mk @@ -9,493 +9,598 @@ # Maintained by: haskell@FreeBSD.org # +# List of packages installed by lang/ghc (stage2 packages). +# In the future we could think of installing only ghc and base packages, +# and using unbundles versions for the rest of these +# ghc-8.0.2 provides: Cabal-1.24.2.0 array-0.5.1.1 base-4.9.1.0 binary-0.8.3.0 +# bytestring-0.10.8.1 containers-0.5.7.1 deepseq-1.4.2.0 +# directory-1.3.0.0 filepath-1.4.1.1 ghc-8.0.2 +# ghc-boot-8.0.2 ghc-boot-th-8.0.2 ghc-prim-0.5.0.0 +# ghci-8.0.2 haskeline-0.7.3.0 hoopl-3.10.2.1 hpc-0.6.0.3 +# integer-gmp-1.0.0.1 pretty-1.1.3.3 process-1.4.3.0 +# template-haskell-2.11.1.0 terminfo-0.4.0.2 time-1.6.0.1 +# transformers-0.5.2.0 unix-2.7.2.1 xhtml-3000.2.1 +# Note: it's important to make sure that the versions for the hs-* ports are +# compatible with these, i.e. sometimes we cannot pick the newest one. +GHC_STAGE2_PACKAGES= Cabal \ + array \ + base \ + binary \ + bytestring \ + containers \ + deepseq \ + directory \ + filepath \ + ghc \ + ghc-boot \ + ghc-boot-th \ + ghc-prim \ + ghci \ + haskeline \ + hoopl \ + hpc \ + integer-gmp \ + pretty \ + process \ + template-haskell \ + terminfo \ + time \ + transformers \ + unix \ + xhtml +STAGE2_DUMMY= lang/ghc +.for _ghc_stage2_package in ${GHC_STAGE2_PACKAGES} ; do +# Define dummy dependency, so that we can filter it easily and produce a warning +# in bsd.cabal.mk it these depdencies are added to USE_CABAL. +${_ghc_stage2_package}_port= ${STAGE2_DUMMY} +.endfor + # KEEP THE LIST ALPHABETICALLY SORTED! -abstract-deque_port= devel/hs-abstract-deque -abstract-par_port= devel/hs-abstract-par -activehs_port= www/hs-activehs # executable -activehs-base_port= devel/hs-activehs-base -adjunctions_port= math/hs-adjunctions -aeson_port= converters/hs-aeson -aeson-pretty_port= converters/hs-aeson-pretty # executable -Agda_port= math/hs-Agda # executable -alex_port= devel/hs-alex # executable -ALUT_port= audio/hs-ALUT -angel_port= sysutils/hs-angel # executable -ansi-terminal_port= devel/hs-ansi-terminal -ansi-wl-pprint_port= devel/hs-ansi-wl-pprint -appar_port= textproc/hs-appar -arrows_port= devel/hs-arrows -asn1-data_port= devel/hs-asn1-data -asn1-encoding_port= devel/hs-asn1-encoding -asn1-parse_port= devel/hs-asn1-parse -asn1-types_port= devel/hs-asn1-types -async_port= devel/hs-async -atomic-primops_port= devel/hs-atomic-primops -attoparsec_port= textproc/hs-attoparsec -attoparsec-enumerator_port= textproc/hs-attoparsec-enumerator -authenticate_port= www/hs-authenticate -auto-update_port= devel/hs-auto-update -aws_port= net/hs-aws -base-orphans_port= devel/hs-base-orphans -base-unicode-symbols_port= devel/hs-base-unicode-symbols -base16-bytestring_port= devel/hs-base16-bytestring -base64-bytestring_port= devel/hs-base64-bytestring -basic-prelude_port= devel/hs-basic-prelude -bencode_port= textproc/hs-bencode -bifunctors_port= devel/hs-bifunctors -bio_port= science/hs-bio # executable -bits-atomic_port= devel/hs-bits-atomic -blaze-builder_port= devel/hs-blaze-builder -blaze-builder-enumerator_port= devel/hs-blaze-builder-enumerator -blaze-html_port= textproc/hs-blaze-html -blaze-markup_port= textproc/hs-blaze-markup -blaze-textual_port= devel/hs-blaze-textual -bloomfilter_port= devel/hs-bloomfilter -BNFC_port= devel/hs-BNFC # executable -Boolean_port= devel/hs-Boolean -BoundedChan_port= devel/hs-BoundedChan -boxes_port= devel/hs-boxes -brainfuck_port= lang/hs-brainfuck # executable -bsd-sysctl_port= devel/hs-bsd-sysctl -byteable_port= devel/hs-byteable -byteorder_port= devel/hs-byteorder -bytestring-csv_port= textproc/hs-bytestring-csv -bytestring-lexing_port= devel/hs-bytestring-lexing -bytestring-mmap_port= devel/hs-bytestring-mmap -bytestring-nums_port= devel/hs-bytestring-nums # executable -bytestring-show_port= devel/hs-bytestring-show -c2hs_port= devel/hs-c2hs # executable -cabal-install_port= devel/hs-cabal-install # executable -cairo_port= graphics/hs-cairo -case-insensitive_port= textproc/hs-case-insensitive -cassava_port= textproc/hs-cassava -categories_port= math/hs-categories -cereal_port= devel/hs-cereal -certificate_port= security/hs-certificate -cgi_port= www/hs-cgi -checkers_port= devel/hs-checkers -chunked-data_port= devel/hs-chunked-data -cipher-aes_port= security/hs-cipher-aes -cipher-aes128_port= security/hs-cipher-aes128 -cipher-blowfish_port= security/hs-cipher-blowfish -cipher-camellia_port= security/hs-cipher-camellia -cipher-des_port= security/hs-cipher-des -cipher-rc4_port= security/hs-cipher-rc4 -citeproc-hs_port= textproc/hs-citeproc-hs -classy-prelude_port= devel/hs-classy-prelude -classy-prelude-conduit_port= devel/hs-classy-prelude-conduit -clientsession_port= security/hs-clientsession -cmark_port= textproc/hs-cmark -cmdargs_port= devel/hs-cmdargs -comonad_port= math/hs-comonad -conduit_port= devel/hs-conduit -conduit-combinators_port= devel/hs-conduit-combinators -conduit-extra_port= devel/hs-conduit-extra -ConfigFile_port= devel/hs-ConfigFile -configurator_port= devel/hs-configurator -connection_port= net/hs-connection -constraints_port= devel/hs-constraints -contravariant_port= math/hs-contravariant -convertible_port= devel/hs-convertible -cookie_port= www/hs-cookie -cpphs_port= devel/hs-cpphs # executable -cprng-aes_port= security/hs-cprng-aes -cpu_port= sysutils/hs-cpu -criterion_port= benchmarks/hs-criterion -Crypto_port= security/hs-Crypto -crypto-api_port= security/hs-crypto-api -crypto-cipher-types_port= security/hs-crypto-cipher-types -crypto-conduit_port= security/hs-crypto-conduit -crypto-numbers_port= security/hs-crypto-numbers -crypto-pubkey_port= security/hs-crypto-pubkey -crypto-pubkey-types_port= security/hs-crypto-pubkey-types -crypto-random_port= security/hs-crypto-random -crypto-random-api_port= security/hs-crypto-random-api -cryptocipher_port= security/hs-cryptocipher -cryptohash_port= security/hs-cryptohash -cryptohash-conduit_port= security/hs-cryptohash-conduit -cryptohash-cryptoapi_port= security/hs-cryptohash-cryptoapi -cryptonite_port= security/hs-cryptonite -css-text_port= www/hs-css-text -csv_port= textproc/hs-csv -curl_port= ftp/hs-curl # lib_depends -darcs_port= devel/hs-darcs # executable -data-default_port= devel/hs-data-default -data-default-class_port= devel/hs-data-default-class -data-default-instances-base_port= devel/hs-data-default-instances-base -data-default-instances-containers_port= devel/hs-data-default-instances-containers -data-default-instances-dlist_port= devel/hs-data-default-instances-dlist -data-default-instances-old-locale_port= devel/hs-data-default-instances-old-locale -data-hash_port= devel/hs-data-hash -data-lens_port= math/hs-data-lens -data-lens-template_port= math/hs-data-lens-template -data-ordlist_port= devel/hs-data-ordlist -data-pprint_port= devel/hs-data-pprint -dataenc_port= converters/hs-dataenc -date-cache_port= devel/hs-date-cache -datetime_port= devel/hs-datetime -DAV_port= www/hs-DAV # executable -deepseq-generics_port= devel/hs-deepseq-generics -dia-base_port= graphics/hs-dia-base -dia-functions_port= graphics/hs-dia-functions -Diff_port= textproc/hs-Diff -digest_port= security/hs-digest -directory_port= devel/hs-directory -directory-tree_port= devel/hs-directory-tree -distributive_port= math/hs-distributive -dlist_port= devel/hs-dlist -dlist-instances_port= devel/hs-dlist-instances -dns_port= dns/hs-dns -double-conversion_port= textproc/hs-double-conversion -DRBG_port= security/hs-DRBG -easy-file_port= devel/hs-easy-file -edit-distance_port= devel/hs-edit-distance -either_port= devel/hs-either -ekg_port= sysutils/hs-ekg -ekg-core_port= sysutils/hs-ekg-core -ekg-json_port= sysutils/hs-ekg-json -email-validate_port= mail/hs-email-validate -enclosed-exceptions_port= devel/hs-enclosed-exceptions -entropy_port= security/hs-entropy -enumerator_port= devel/hs-enumerator -equivalence_port= devel/hs-equivalence -erf_port= math/hs-erf -errors_port= devel/hs-errors -esqueleto_port= databases/hs-esqueleto -exceptions_port= devel/hs-exceptions -extensible-exceptions_port= devel/hs-extensible-exceptions -extra_port= devel/hs-extra -fast-logger_port= devel/hs-fast-logger -fastcgi_port= www/hs-fastcgi # lib_depends -feed_port= textproc/hs-feed -fgl_port= devel/hs-fgl -file-embed_port= devel/hs-file-embed -filemanip_port= devel/hs-filemanip -filestore_port= devel/hs-filestore -free_port= devel/hs-free -fsnotify_port= devel/hs-fsnotify -gconf_port= devel/hs-gconf -generic-deriving_port= devel/hs-generic-deriving -geniplate-mirror_port= devel/hs-geniplate-mirror -ghc-events_port= devel/hs-ghc-events # executable -ghc-mtl_port= devel/hs-ghc-mtl -ghc-paths_port= devel/hs-ghc-paths -gio_port= devel/hs-gio -git-annex_port= devel/hs-git-annex # executable -gitit_port= www/hs-gitit # executable -glib_port= devel/hs-glib -Glob_port= devel/hs-Glob -GLURaw_port= x11-toolkits/hs-GLURaw -GLUT_port= x11-toolkits/hs-GLUT -gnuidn_port= dns/hs-gnuidn # lib_depends -gnutls_port= security/hs-gnutls # lib_depends -gsasl_port= net/hs-gsasl # lib_depends -gtk_port= x11-toolkits/hs-gtk -gtk2hs_port= x11-toolkits/hs-gtk2hs # metaport -gtk2hs-buildtools_port= devel/hs-gtk2hs-buildtools # executable -gtksourceview2_port= x11-toolkits/hs-gtksourceview2 -haddock_port= devel/hs-haddock # executable -haddock-api_port= devel/hs-haddock-api -haddock-library_port= devel/hs-haddock-library -happstack_port= www/hs-happstack # executable -happstack-server_port= www/hs-happstack-server -happy_port= devel/hs-happy # executable -hashable_port= devel/hs-hashable -hashed-storage_port= devel/hs-hashed-storage -hashtables_port= devel/hs-hashtables -haskell-src_port= devel/hs-haskell-src -haskell-src-exts_port= devel/hs-haskell-src-exts -haskell-xmpp_port= net-im/hs-haskell-xmpp -hasktags_port= devel/hs-hasktags # executable -hastache_port= devel/hs-hastache -HaXml_port= textproc/hs-HaXml # executable -hedis_port= databases/hs-hedis -heist_port= www/hs-heist -hex_port= devel/hs-hex -hexpat_port= textproc/hs-hexpat -HGL_port= graphics/hs-HGL -highlighting-kate_port= textproc/hs-highlighting-kate -hinotify_port= devel/hs-hinotify # lib_depends -hint_port= devel/hs-hint -hjsmin_port= www/hs-hjsmin # executable -hlibev_port= devel/hs-hlibev # lib_depends -hlint_port= devel/hs-hlint # executable -hoauth2_port= net/hs-hoauth2 -hoogle_port= devel/hs-hoogle # executable -hostname_port= net/hs-hostname -hourglass_port= devel/hs-hourglass -hs-bibutils_port= textproc/hs-hs-bibutils -hS3_port= www/hs-hS3 # executable -hsb2hs_port= devel/hs-hsb2hs -hscolour_port= print/hs-hscolour # executable -hslogger_port= devel/hs-hslogger -hslua_port= devel/hs-hslua -HsOpenSSL_port= security/hs-HsOpenSSL -hspec_port= devel/hs-hspec # executable -hspec-core_port= devel/hs-hspec-core -hspec-discover_port= devel/hs-hspec-discover # executable -hspec-expectations_port= devel/hs-hspec-expectations -HStringTemplate_port= textproc/hs-HStringTemplate -html_port= textproc/hs-html -html-conduit_port= textproc/hs-html-conduit -HTTP_port= www/hs-HTTP -http-client_port= www/hs-http-client -http-client-tls_port= www/hs-http-client-tls -http-conduit_port= www/hs-http-conduit -http-date_port= www/hs-http-date -http-reverse-proxy_port= www/hs-http-reverse-proxy -http-server_port= www/hs-http-server -http-types_port= www/hs-http-types -http2_port= www/hs-http2 -HUnit_port= devel/hs-HUnit -hxt_port= textproc/hs-hxt -hxt-charproperties_port= textproc/hs-hxt-charproperties -hxt-regex-xmlschema_port= textproc/hs-hxt-regex-xmlschema -hxt-unicode_port= textproc/hs-hxt-unicode -ieee754_port= math/hs-ieee754 -IfElse_port= devel/hs-IfElse -iproute_port= net/hs-iproute -js-flot_port= devel/hs-js-flot -js-jquery_port= devel/hs-js-jquery -json_port= converters/hs-json -JuicyPixels_port= graphics/hs-JuicyPixels -kan-extensions_port= math/hs-kan-extensions -keys_port= devel/hs-keys -kqueue_port= devel/hs-kqueue -language-c_port= devel/hs-language-c -language-javascript_port= devel/hs-language-javascript -largeword_port= devel/hs-largeword -lazysmallcheck_port= devel/hs-lazysmallcheck -lens_port= devel/hs-lens -lhs2tex_port= textproc/hs-lhs2tex # executable -libmpd_port= audio/hs-libmpd -libxml_port= textproc/hs-libxml -libxml-sax_port= textproc/hs-libxml-sax # lib_depends -lifted-async_port= devel/hs-lifted-async -lifted-base_port= devel/hs-lifted-base -List_port= devel/hs-List -logict_port= devel/hs-logict -maccatcher_port= net/hs-maccatcher -map-syntax_port= devel/hs-map-syntax -math-functions_port= math/hs-math-functions -memory_port= devel/hs-memory -MemoTrie_port= devel/hs-MemoTrie -mime_port= mail/hs-mime -mime-mail_port= mail/hs-mime-mail -mime-types_port= mail/hs-mime-types -MissingH_port= devel/hs-MissingH -mmap_port= devel/hs-mmap -mmorph_port= devel/hs-mmorph -monad-control_port= devel/hs-monad-control -monad-logger_port= devel/hs-monad-logger -monad-loops_port= devel/hs-monad-loops -monad-par_port= devel/hs-monad-par -monad-par-extras_port= devel/hs-monad-par-extras -MonadCatchIO-mtl_port= devel/hs-MonadCatchIO-mtl -MonadCatchIO-transformers_port= devel/hs-MonadCatchIO-transformers -monadcryptorandom_port= security/hs-monadcryptorandom -MonadRandom_port= devel/hs-MonadRandom -monads-tf_port= devel/hs-monads-tf -mono-traversable_port= devel/hs-mono-traversable -mtl_port= devel/hs-mtl -mueval_port= devel/hs-mueval # executable -multipart_port= www/hs-multipart -murmur-hash_port= devel/hs-murmur-hash -mutable-containers_port= devel/hs-mutable-containers -mwc-random_port= math/hs-mwc-random -mysql_port= databases/hs-mysql -ncurses_port= devel/hs-ncurses # lib_depends -network_port= net/hs-network -network-info_port= net/hs-network-info -network-multicast_port= net/hs-network-multicast -network-protocol-xmpp_port= net/hs-network-protocol-xmpp -network-uri_port= net/hs-network-uri -newtype_port= devel/hs-newtype -nonce_port= security/hs-nonce -NumInstances_port= math/hs-NumInstances -ObjectName_port= devel/hs-ObjectName -oeis_port= www/hs-oeis -old-locale_port= devel/hs-old-locale -old-time_port= devel/hs-old-time -OpenAL_port= audio/hs-OpenAL -OpenGL_port= x11-toolkits/hs-OpenGL -OpenGLRaw_port= x11-toolkits/hs-OpenGLRaw -optparse-applicative_port= devel/hs-optparse-applicative -pandoc_port= textproc/hs-pandoc # executable -pandoc-citeproc_port= textproc/hs-pandoc-citeproc # executable -pandoc-types_port= textproc/hs-pandoc-types -pango_port= x11-toolkits/hs-pango -parallel_port= devel/hs-parallel -parsec_port= textproc/hs-parsec -path-pieces_port= www/hs-path-pieces -pcap_port= net/hs-pcap -pcre-light_port= devel/hs-pcre-light # lib_depends -pem_port= security/hs-pem -persistent_port= databases/hs-persistent -persistent-sqlite_port= databases/hs-persistent-sqlite -persistent-template_port= databases/hs-persistent-template -pointed_port= math/hs-pointed -polyparse_port= textproc/hs-polyparse -porte_port= ports-mgmt/hs-porte # executable -prelude-extras_port= devel/hs-prelude-extras -preprocessor-tools_port= devel/hs-preprocessor-tools -prettyclass_port= devel/hs-prettyclass -primitive_port= devel/hs-primitive -probability_port= math/hs-probability -profunctors_port= devel/hs-profunctors -project-template_port= devel/hs-project-template -PSQueue_port= devel/hs-PSQueue -publicsuffixlist_port= net/hs-publicsuffixlist -pureMD5_port= security/hs-pureMD5 -pwstore-fast_port= security/hs-pwstore-fast -QuickCheck_port= devel/hs-QuickCheck -quickcheck-io_port= devel/hs-quickcheck-io -random_port= devel/hs-random -ReadArgs_port= devel/hs-ReadArgs # executable -readline_port= devel/hs-readline -recaptcha_port= www/hs-recaptcha -reflection_port= devel/hs-reflection -regex-applicative_port= textproc/hs-regex-applicative -regex-base_port= textproc/hs-regex-base -regex-compat_port= textproc/hs-regex-compat -regex-compat-tdfa_port= textproc/hs-regex-compat-tdfa -regex-pcre-builtin_port= textproc/hs-regex-pcre-builtin # lib_depends -regex-posix_port= textproc/hs-regex-posix -regex-tdfa_port= textproc/hs-regex-tdfa -resource-pool_port= devel/hs-resource-pool -resourcet_port= devel/hs-resourcet -rfc5051_port= textproc/hs-rfc5051 -RSA_port= security/hs-RSA -safe_port= devel/hs-safe -SafeSemaphore_port= devel/hs-SafeSemaphore -sandi_port= converters/hs-sandi -scientific_port= devel/hs-scientific -scroll_port= games/hs-scroll # executable -securemem_port= devel/hs-securemem -semigroupoids_port= math/hs-semigroupoids -semigroups_port= math/hs-semigroups -sendfile_port= net/hs-sendfile -setenv_port= devel/hs-setenv -setlocale_port= devel/hs-setlocale -SHA_port= security/hs-SHA # executable -shake_port= devel/hs-shake # executable -shakespeare_port= www/hs-shakespeare -ShellCheck_port= devel/hs-ShellCheck # executable -shelly_port= shells/hs-shelly -show_port= devel/hs-show -silently_port= devel/hs-silently -simple-reflect_port= devel/hs-simple-reflect -simple-sendfile_port= net/hs-simple-sendfile -skein_port= security/hs-skein -smallcheck_port= devel/hs-smallcheck -snap_port= www/hs-snap # executable -snap-core_port= www/hs-snap-core -snap-server_port= www/hs-snap-server # lib_depends -socks_port= net/hs-socks -split_port= devel/hs-split -StateVar_port= devel/hs-StateVar -statistics_port= math/hs-statistics -stm_port= devel/hs-stm -stm-chans_port= devel/hs-stm-chans -STMonadTrans_port= devel/hs-STMonadTrans -Stream_port= devel/hs-Stream -streaming-commons_port= devel/hs-streaming-commons -strict_port= devel/hs-strict -stringsearch_port= textproc/hs-stringsearch -svgcairo_port= graphics/hs-svgcairo -syb_port= devel/hs-syb -syb-with-class_port= devel/hs-syb-with-class -syb-with-class-instances-text_port= devel/hs-syb-with-class-instances-text -system-fileio_port= devel/hs-system-fileio -system-filepath_port= devel/hs-system-filepath -tagged_port= devel/hs-tagged -tagsoup_port= textproc/hs-tagsoup # executable -tagstream-conduit_port= textproc/hs-tagstream-conduit -tar_port= archivers/hs-tar -temporary_port= devel/hs-temporary -test-framework_port= devel/hs-test-framework -test-framework-hunit_port= devel/hs-test-framework-hunit -test-framework-quickcheck2_port= devel/hs-test-framework-quickcheck2 -texmath_port= textproc/hs-texmath # executable -text_port= devel/hs-text -text-icu_port= devel/hs-text-icu # lib_depends -tf-random_port= devel/hs-tf-random -threads_port= devel/hs-threads -threadscope_port= devel/hs-threadscope # executable -time-compat_port= devel/hs-time-compat -time-locale-compat_port= devel/hs-time-locale-compat -timezone-olson_port= devel/hs-timezone-olson -timezone-series_port= devel/hs-timezone-series -tls_port= security/hs-tls -torrent_port= net-p2p/hs-torrent -transformers-base_port= devel/hs-transformers-base -transformers-compat_port= devel/hs-transformers-compat -TypeCompose_port= devel/hs-TypeCompose -unamb_port= devel/hs-unamb -uniplate_port= devel/hs-uniplate -unix-compat_port= devel/hs-unix-compat -unix-time_port= devel/hs-unix-time -unlambda_port= lang/hs-unlambda # executable -unordered-containers_port= devel/hs-unordered-containers -uri_port= textproc/hs-uri -url_port= www/hs-url -utf8-light_port= devel/hs-utf8-light -utf8-string_port= devel/hs-utf8-string -utility-ht_port= devel/hs-utility-ht -uuagc_port= devel/hs-uuagc # executable -uuagc-bootstrap_port= devel/hs-uuagc-bootstrap # executable -uuagc-cabal_port= devel/hs-uuagc-cabal -uuid_port= devel/hs-uuid -uuid-types_port= devel/hs-uuid-types -uulib_port= devel/hs-uulib -vault_port= devel/hs-vault -vector_port= devel/hs-vector -vector-algorithms_port= devel/hs-vector-algorithms -vector-binary-instances_port= devel/hs-vector-binary-instances -vector-instances_port= devel/hs-vector-instances -vector-space_port= math/hs-vector-space -vector-th-unbox_port= devel/hs-vector-th-unbox -void_port= devel/hs-void -vte_port= x11-toolkits/hs-vte -wai_port= www/hs-wai -wai-app-static_port= www/hs-wai-app-static # executable -wai-extra_port= www/hs-wai-extra -wai-logger_port= www/hs-wai-logger -warp_port= www/hs-warp -warp-tls_port= www/hs-warp-tls -webkit_port= www/hs-webkit # lib_depends -word8_port= devel/hs-word8 -wx_port= x11-toolkits/hs-wx -wxc_port= x11-toolkits/hs-wxc # lib_depends -wxcore_port= x11-toolkits/hs-wxcore # lib_depends -wxdirect_port= x11-toolkits/hs-wxdirect # executable -X11_port= x11/hs-X11 # lib_depends -X11-xft_port= x11/hs-X11-xft -x509_port= security/hs-x509 -x509-store_port= security/hs-x509-store -x509-system_port= security/hs-x509-system -x509-validation_port= security/hs-x509-validation -xml_port= textproc/hs-xml -xml-conduit_port= textproc/hs-xml-conduit -xml-hamlet_port= textproc/hs-xml-hamlet -xml-types_port= textproc/hs-xml-types -xmlhtml_port= textproc/hs-xmlhtml -xmobar_port= x11/hs-xmobar # executable -xmonad_port= x11-wm/hs-xmonad # executable -xmonad-contrib_port= x11-wm/hs-xmonad-contrib -xss-sanitize_port= www/hs-xss-sanitize -yaml_port= textproc/hs-yaml # executable -yesod_port= www/hs-yesod -yesod-auth_port= www/hs-yesod-auth -yesod-auth-hashdb_port= www/hs-yesod-auth-hashdb -yesod-bin_port= www/hs-yesod-bin # executable -yesod-core_port= www/hs-yesod-core -yesod-form_port= www/hs-yesod-form -yesod-persistent_port= www/hs-yesod-persistent -yesod-static_port= www/hs-yesod-static -yesod-test_port= www/hs-yesod-test -zip-archive_port= archivers/hs-zip-archive -zlib_port= archivers/hs-zlib -zlib-bindings_port= archivers/hs-zlib-bindings -zlib-enum_port= archivers/hs-zlib-enum +abstract-deque_port?= devel/hs-abstract-deque +abstract-par_port?= devel/hs-abstract-par +activehs_port?= www/hs-activehs # executable +activehs-base_port?= devel/hs-activehs-base +adjunctions_port?= math/hs-adjunctions +aeson_port?= converters/hs-aeson +aeson-compat_port?= converters/hs-aeson-compat +aeson-pretty_port?= converters/hs-aeson-pretty # executable +Agda_port?= math/hs-Agda # executable +alex_port?= devel/hs-alex # executable +ALUT_port?= audio/hs-ALUT +angel_port?= sysutils/hs-angel # executable +ansi-terminal_port?= devel/hs-ansi-terminal +ansi-wl-pprint_port?= devel/hs-ansi-wl-pprint +appar_port?= textproc/hs-appar +arrows_port?= devel/hs-arrows +asn1-data_port?= devel/hs-asn1-data +asn1-encoding_port?= devel/hs-asn1-encoding +asn1-parse_port?= devel/hs-asn1-parse +asn1-types_port?= devel/hs-asn1-types +async_port?= devel/hs-async +atomic-primops_port?= devel/hs-atomic-primops +attoparsec_port?= textproc/hs-attoparsec +attoparsec-enumerator_port?= textproc/hs-attoparsec-enumerator +attoparsec-iso8601_port?= textproc/hs-attoparsec-iso8601 +authenticate_port?= www/hs-authenticate +auto-update_port?= devel/hs-auto-update +aws_port?= net/hs-aws +base-compat_port?= devel/hs-base-compat +base-orphans_port?= devel/hs-base-orphans +base-unicode-symbols_port?= devel/hs-base-unicode-symbols +base16-bytestring_port?= devel/hs-base16-bytestring +base64-bytestring_port?= devel/hs-base64-bytestring +basic-prelude_port?= devel/hs-basic-prelude +bencode_port?= textproc/hs-bencode +bifunctors_port?= devel/hs-bifunctors +bio_port?= science/hs-bio # executable +bits-atomic_port?= devel/hs-bits-atomic +blaze-builder_port?= devel/hs-blaze-builder +blaze-builder-enumerator_port?= devel/hs-blaze-builder-enumerator +blaze-html_port?= textproc/hs-blaze-html +blaze-markup_port?= textproc/hs-blaze-markup +blaze-textual_port?= devel/hs-blaze-textual +bloomfilter_port?= devel/hs-bloomfilter +BNFC_port?= devel/hs-BNFC # executable +Boolean_port?= devel/hs-Boolean +BoundedChan_port?= devel/hs-BoundedChan +boxes_port?= devel/hs-boxes +brainfuck_port?= lang/hs-brainfuck # executable +bsd-sysctl_port?= devel/hs-bsd-sysctl +byteable_port?= devel/hs-byteable +byteorder_port?= devel/hs-byteorder +bytestring-csv_port?= textproc/hs-bytestring-csv +bytestring-lexing_port?= devel/hs-bytestring-lexing +bytestring-mmap_port?= devel/hs-bytestring-mmap +bytestring-nums_port?= devel/hs-bytestring-nums # executable +bytestring-show_port?= devel/hs-bytestring-show +c2hs_port?= devel/hs-c2hs # executable +cabal-install_port?= devel/hs-cabal-install # executable +call-stack_port?= devel/hs-call-stack +cairo_port?= graphics/hs-cairo +case-insensitive_port?= textproc/hs-case-insensitive +cassava_port?= textproc/hs-cassava +categories_port?= math/hs-categories +cereal_port?= devel/hs-cereal +certificate_port?= security/hs-certificate +cgi_port?= www/hs-cgi +checkers_port?= devel/hs-checkers +chunked-data_port?= devel/hs-chunked-data +cipher-aes_port?= security/hs-cipher-aes +cipher-aes128_port?= security/hs-cipher-aes128 +cipher-blowfish_port?= security/hs-cipher-blowfish +cipher-camellia_port?= security/hs-cipher-camellia +cipher-des_port?= security/hs-cipher-des +cipher-rc4_port?= security/hs-cipher-rc4 +classy-prelude_port?= devel/hs-classy-prelude +classy-prelude-conduit_port?= devel/hs-classy-prelude-conduit +clientsession_port?= security/hs-clientsession +clock_port?= devel/hs-clock +cmark_port?= textproc/hs-cmark +cmdargs_port?= devel/hs-cmdargs +code-page_port?= devel/hs-code-page +colour_port?= devel/hs-colour +comonad_port?= math/hs-comonad +concurrent-output_port?= devel/hs-concurrent-output +conduit_port?= devel/hs-conduit +conduit-combinators_port?= devel/hs-conduit-combinators +conduit-extra_port?= devel/hs-conduit-extra +ConfigFile_port?= devel/hs-ConfigFile +configurator_port?= devel/hs-configurator +connection_port?= net/hs-connection +constraints_port?= devel/hs-constraints +contravariant_port?= math/hs-contravariant +convertible_port?= devel/hs-convertible +cookie_port?= www/hs-cookie +cpphs_port?= devel/hs-cpphs # executable +cprng-aes_port?= security/hs-cprng-aes +cpu_port?= sysutils/hs-cpu +criterion_port?= benchmarks/hs-criterion +Crypto_port?= security/hs-Crypto +crypto-api_port?= security/hs-crypto-api +crypto-cipher-types_port?= security/hs-crypto-cipher-types +crypto-conduit_port?= security/hs-crypto-conduit +crypto-numbers_port?= security/hs-crypto-numbers +crypto-pubkey_port?= security/hs-crypto-pubkey +crypto-pubkey-types_port?= security/hs-crypto-pubkey-types +crypto-random_port?= security/hs-crypto-random +crypto-random-api_port?= security/hs-crypto-random-api +cryptocipher_port?= security/hs-cryptocipher +cryptohash_port?= security/hs-cryptohash +cryptohash-md5_port?= security/hs-cryptohash-md5 +cryptohash-sha1_port?= security/hs-cryptohash-sha1 +cryptohash-sha256_port?= security/hs-cryptohash-sha256 +cryptohash-conduit_port?= security/hs-cryptohash-conduit +cryptohash-cryptoapi_port?= security/hs-cryptohash-cryptoapi +cryptonite_port?= security/hs-cryptonite +css-text_port?= www/hs-css-text +csv_port?= textproc/hs-csv +curl_port?= ftp/hs-curl # lib_depends +darcs_port?= devel/hs-darcs # executable +data-default_port?= devel/hs-data-default +data-default-class_port?= devel/hs-data-default-class +data-default-instances-base_port?= devel/hs-data-default-instances-base +data-default-instances-containers_port?= devel/hs-data-default-instances-containers +data-default-instances-dlist_port?= devel/hs-data-default-instances-dlist +data-default-instances-old-locale_port?= devel/hs-data-default-instances-old-locale +data-endian_port?= devel/hs-data-endian +data-hash_port?= devel/hs-data-hash +data-lens_port?= math/hs-data-lens +data-lens-template_port?= math/hs-data-lens-template +data-ordlist_port?= devel/hs-data-ordlist +data-pprint_port?= devel/hs-data-pprint +dataenc_port?= converters/hs-dataenc +date-cache_port?= devel/hs-date-cache +datetime_port?= devel/hs-datetime +DAV_port?= www/hs-DAV # executable +dbus_port?= devel/hs-dbus +deepseq-generics_port?= devel/hs-deepseq-generics +dia-base_port?= graphics/hs-dia-base +dia-functions_port?= graphics/hs-dia-functions +Diff_port?= textproc/hs-Diff +digest_port?= security/hs-digest +directory-tree_port?= devel/hs-directory-tree +disk-free-space_port?= sysutils/hs-disk-free-space +distributive_port?= math/hs-distributive +dlist_port?= devel/hs-dlist +dlist-instances_port?= devel/hs-dlist-instances +dns_port?= dns/hs-dns +doctemplates_port?= textproc/hs-doctemplates +double-conversion_port?= textproc/hs-double-conversion +DRBG_port?= security/hs-DRBG +ed25519_port?= security/hs-ed25519 +easy-file_port?= devel/hs-easy-file +EdisonAPI_port?= devel/hs-EdisonAPI +EdisonCore_port?= devel/hs-EdisonCore +edit-distance_port?= devel/hs-edit-distance +either_port?= devel/hs-either +ekg_port?= sysutils/hs-ekg +ekg-core_port?= sysutils/hs-ekg-core +ekg-json_port?= sysutils/hs-ekg-json +email-validate_port?= mail/hs-email-validate +enclosed-exceptions_port?= devel/hs-enclosed-exceptions +entropy_port?= security/hs-entropy +enumerator_port?= devel/hs-enumerator +equivalence_port?= devel/hs-equivalence +erf_port?= math/hs-erf +errors_port?= devel/hs-errors +esqueleto_port?= databases/hs-esqueleto +exceptions_port?= devel/hs-exceptions +extensible-exceptions_port?= devel/hs-extensible-exceptions +extra_port?= devel/hs-extra +fast-logger_port?= devel/hs-fast-logger +fastcgi_port?= www/hs-fastcgi # lib_depends +feed_port?= textproc/hs-feed +fdo-notify_port?= deskutils/hs-fdo-notify +fgl_port?= devel/hs-fgl +file-embed_port?= devel/hs-file-embed +filemanip_port?= devel/hs-filemanip +filestore_port?= devel/hs-filestore +fixed_port?= math/hs-fixed +foundation_port?= devel/hs-foundation +fmlist_port?= devel/hs-fmlist +free_port?= devel/hs-free +fsnotify_port?= devel/hs-fsnotify +gconf_port?= devel/hs-gconf +generic-deriving_port?= devel/hs-generic-deriving +geniplate-mirror_port?= devel/hs-geniplate-mirror +ghc-events_port?= devel/hs-ghc-events # executable +ghc-mtl_port?= devel/hs-ghc-mtl +ghc-paths_port?= devel/hs-ghc-paths +gio_port?= devel/hs-gio +git-annex_port?= devel/hs-git-annex # executable +gitit_port?= www/hs-gitit # executable +gitrev_port?= devel/hs-gitrev +glib_port?= devel/hs-glib +Glob_port?= devel/hs-Glob +GLURaw_port?= x11-toolkits/hs-GLURaw +GLUT_port?= x11-toolkits/hs-GLUT +gnuidn_port?= dns/hs-gnuidn # lib_depends +gnutls_port?= security/hs-gnutls # lib_depends +graphviz_port?= graphics/hs-graphviz +gsasl_port?= net/hs-gsasl # lib_depends +gtk_port?= x11-toolkits/hs-gtk +gtk2hs_port?= x11-toolkits/hs-gtk2hs # metaport +gtk2hs-buildtools_port?= devel/hs-gtk2hs-buildtools # executable +gtksourceview2_port?= x11-toolkits/hs-gtksourceview2 +hackage-security_port?= security/hs-hackage-security +haddock_port?= devel/hs-haddock # executable +haddock-api_port?= devel/hs-haddock-api +haddock-library_port?= devel/hs-haddock-library +half_port?= math/hs-half +happstack_port?= www/hs-happstack # executable +happstack-server_port?= www/hs-happstack-server +happy_port?= devel/hs-happy # executable +hashable_port?= devel/hs-hashable +hashed-storage_port?= devel/hs-hashed-storage +hashtables_port?= devel/hs-hashtables +haskell-lexer_port?= devel/hs-haskell-lexer +haskell-src_port?= devel/hs-haskell-src +haskell-src-exts_port?= devel/hs-haskell-src-exts +haskell-xmpp_port?= net-im/hs-haskell-xmpp +hasktags_port?= devel/hs-hasktags # executable +hastache_port?= devel/hs-hastache +HaXml_port?= textproc/hs-HaXml # executable +hedis_port?= databases/hs-hedis +heist_port?= www/hs-heist +hex_port?= devel/hs-hex +hexpat_port?= textproc/hs-hexpat +HGL_port?= graphics/hs-HGL +highlighting-kate_port?= textproc/hs-highlighting-kate +hinotify_port?= devel/hs-hinotify # lib_depends +hint_port?= devel/hs-hint +hjsmin_port?= www/hs-hjsmin # executable +hlibev_port?= devel/hs-hlibev # lib_depends +hlint_port?= devel/hs-hlint # executable +hoauth2_port?= net/hs-hoauth2 +hoogle_port?= devel/hs-hoogle # executable +hostname_port?= net/hs-hostname +hourglass_port?= devel/hs-hourglass +hs-bibutils_port?= textproc/hs-hs-bibutils +hS3_port?= www/hs-hS3 # executable +hsb2hs_port?= devel/hs-hsb2hs +hscolour_port?= print/hs-hscolour # executable +hslogger_port?= devel/hs-hslogger +hslua_port?= devel/hs-hslua +HsOpenSSL_port?= security/hs-HsOpenSSL +hspec_port?= devel/hs-hspec # executable +hspec-core_port?= devel/hs-hspec-core +hspec-discover_port?= devel/hs-hspec-discover # executable +hspec-expectations_port?= devel/hs-hspec-expectations +HStringTemplate_port?= textproc/hs-HStringTemplate +html_port?= textproc/hs-html +html-conduit_port?= textproc/hs-html-conduit +HTTP_port?= www/hs-HTTP +http-api-data_port?= www/hs-http-api-data +http-client_port?= www/hs-http-client +http-client-tls_port?= www/hs-http-client-tls +http-conduit_port?= www/hs-http-conduit +http-date_port?= www/hs-http-date +http-reverse-proxy_port?= www/hs-http-reverse-proxy +http-server_port?= www/hs-http-server +http-types_port?= www/hs-http-types +http2_port?= www/hs-http2 +HUnit_port?= devel/hs-HUnit +hxt_port?= textproc/hs-hxt +hxt-charproperties_port?= textproc/hs-hxt-charproperties +hxt-regex-xmlschema_port?= textproc/hs-hxt-regex-xmlschema +hxt-unicode_port?= textproc/hs-hxt-unicode +ieee754_port?= math/hs-ieee754 +IfElse_port?= devel/hs-IfElse +integer-logarithms_port?= math/hs-integer-logarithms +io-streams_port?= devel/hs-io-streams +io-streams-haproxy_port?= devel/hs-io-streams-haproxy +iproute_port?= net/hs-iproute +js-flot_port?= devel/hs-js-flot +js-jquery_port?= devel/hs-js-jquery +json_port?= converters/hs-json +JuicyPixels_port?= graphics/hs-JuicyPixels +kan-extensions_port?= math/hs-kan-extensions +keys_port?= devel/hs-keys +kqueue_port?= devel/hs-kqueue +language-c_port?= devel/hs-language-c +language-javascript_port?= devel/hs-language-javascript +largeword_port?= devel/hs-largeword +lazysmallcheck_port?= devel/hs-lazysmallcheck +lens_port?= devel/hs-lens +lhs2tex_port?= textproc/hs-lhs2tex # executable +libmpd_port?= audio/hs-libmpd +libxml_port?= textproc/hs-libxml +libxml-sax_port?= textproc/hs-libxml-sax # lib_depends +lifted-async_port?= devel/hs-lifted-async +lifted-base_port?= devel/hs-lifted-base +List_port?= devel/hs-List +ListLike_port?= devel/hs-ListLike +logict_port?= devel/hs-logict +maccatcher_port?= net/hs-maccatcher +magic_port?= textproc/hs-magic +map-syntax_port?= devel/hs-map-syntax +math-functions_port?= math/hs-math-functions +memory_port?= devel/hs-memory +MemoTrie_port?= devel/hs-MemoTrie +microlens_port?= devel/hs-microlens +microlens-th_port?= devel/hs-microlens-th +microstache_port?= devel/hs-microstache +mime_port?= mail/hs-mime +mime-mail_port?= mail/hs-mime-mail +mime-types_port?= mail/hs-mime-types +MissingH_port?= devel/hs-MissingH +mmap_port?= devel/hs-mmap +mmorph_port?= devel/hs-mmorph +monad-control_port?= devel/hs-monad-control +monad-logger_port?= devel/hs-monad-logger +monad-loops_port?= devel/hs-monad-loops +monad-par_port?= devel/hs-monad-par +monad-par-extras_port?= devel/hs-monad-par-extras +monad-unlift_port?= devel/hs-monad-unlift +monadcryptorandom_port?= security/hs-monadcryptorandom +monadplus_port?= devel/hs-monadplus +MonadRandom_port?= devel/hs-MonadRandom +monads-tf_port?= devel/hs-monads-tf +mono-traversable_port?= devel/hs-mono-traversable +mono-traversable-instances_port?= devel/hs-mono-traversable-instances +mountpoints_port?= sysutils/hs-mountpoints +mtl_port?= devel/hs-mtl +mueval_port?= devel/hs-mueval # executable +multipart_port?= www/hs-multipart +murmur-hash_port?= devel/hs-murmur-hash +mutable-containers_port?= devel/hs-mutable-containers +mwc-random_port?= math/hs-mwc-random +mysql_port?= databases/hs-mysql +ncurses_port?= devel/hs-ncurses # lib_depends +network_port?= net/hs-network +network-info_port?= net/hs-network-info +network-multicast_port?= net/hs-network-multicast +network-protocol-xmpp_port?= net/hs-network-protocol-xmpp +network-uri_port?= net/hs-network-uri +newtype_port?= devel/hs-newtype +newtype-generics_port?= devel/hs-newtype-generics +nonce_port?= security/hs-nonce +NumInstances_port?= math/hs-NumInstances +ObjectName_port?= devel/hs-ObjectName +oeis_port?= www/hs-oeis +old-locale_port?= devel/hs-old-locale +old-time_port?= devel/hs-old-time +Only_port?= devel/hs-Only +OpenAL_port?= audio/hs-OpenAL +OpenGL_port?= x11-toolkits/hs-OpenGL +OpenGLRaw_port?= x11-toolkits/hs-OpenGLRaw +optparse-applicative_port?= devel/hs-optparse-applicative +pandoc_port?= textproc/hs-pandoc # executable +pandoc-citeproc_port?= textproc/hs-pandoc-citeproc # executable +pandoc-types_port?= textproc/hs-pandoc-types +pango_port?= x11-toolkits/hs-pango +parallel_port?= devel/hs-parallel +parsec_port?= textproc/hs-parsec +path-pieces_port?= www/hs-path-pieces +pcap_port?= net/hs-pcap +pcre-light_port?= devel/hs-pcre-light # lib_depends +pem_port?= security/hs-pem +persistent_port?= databases/hs-persistent +persistent-sqlite_port?= databases/hs-persistent-sqlite +persistent-template_port?= databases/hs-persistent-template +pointed_port?= math/hs-pointed +polyparse_port?= textproc/hs-polyparse +porte_port?= ports-mgmt/hs-porte # executable +prelude-extras_port?= devel/hs-prelude-extras +preprocessor-tools_port?= devel/hs-preprocessor-tools +pretty-show_port?= textproc/hs-pretty-show +prettyclass_port?= devel/hs-prettyclass +primitive_port?= devel/hs-primitive +probability_port?= math/hs-probability +process-extras_port?= devel/hs-process-extras +profunctors_port?= devel/hs-profunctors +project-template_port?= devel/hs-project-template +PSQueue_port?= devel/hs-PSQueue +psqueues_port?= devel/hs-psqueues +publicsuffixlist_port?= net/hs-publicsuffixlist +pureMD5_port?= security/hs-pureMD5 +pwstore-fast_port?= security/hs-pwstore-fast +QuickCheck_port?= devel/hs-QuickCheck +quickcheck-io_port?= devel/hs-quickcheck-io +random_port?= devel/hs-random +ReadArgs_port?= devel/hs-ReadArgs # executable +readable_port?= devel/hs-readable +readline_port?= devel/hs-readline +recaptcha_port?= www/hs-recaptcha +refact_port?= devel/hs-refact +reflection_port?= devel/hs-reflection +regex-applicative_port?= textproc/hs-regex-applicative +regex-base_port?= textproc/hs-regex-base +regex-compat_port?= textproc/hs-regex-compat +regex-compat-tdfa_port?= textproc/hs-regex-compat-tdfa +regex-pcre_port?= textproc/hs-regex-pcre +regex-pcre-builtin_port?= textproc/hs-regex-pcre-builtin # lib_depends +regex-posix_port?= textproc/hs-regex-posix +regex-tdfa_port?= textproc/hs-regex-tdfa +resource-pool_port?= devel/hs-resource-pool +resourcet_port?= devel/hs-resourcet +rfc5051_port?= textproc/hs-rfc5051 +RSA_port?= security/hs-RSA +safe_port?= devel/hs-safe +safe-exceptions_port?= devel/hs-safe-exceptions +SafeSemaphore_port?= devel/hs-SafeSemaphore +sandi_port?= converters/hs-sandi +say_port?= devel/hs-say +scanner_port?= textproc/hs-scanner +scientific_port?= devel/hs-scientific +scroll_port?= games/hs-scroll # executable +securemem_port?= devel/hs-securemem +semigroupoids_port?= math/hs-semigroupoids +semigroups_port?= math/hs-semigroups +sendfile_port?= net/hs-sendfile +setenv_port?= devel/hs-setenv +setlocale_port?= devel/hs-setlocale +SHA_port?= security/hs-SHA # executable +shake_port?= devel/hs-shake # executable +shakespeare_port?= www/hs-shakespeare +ShellCheck_port?= devel/hs-ShellCheck # executable +shelly_port?= shells/hs-shelly +show_port?= devel/hs-show +silently_port?= devel/hs-silently +simple-reflect_port?= devel/hs-simple-reflect +simple-sendfile_port?= net/hs-simple-sendfile +skein_port?= security/hs-skein +skylighting_port?= textproc/hs-skylighting +smallcheck_port?= devel/hs-smallcheck +snap_port?= www/hs-snap # executable +snap-core_port?= www/hs-snap-core +snap-server_port?= www/hs-snap-server # lib_depends +socks_port?= net/hs-socks +split_port?= devel/hs-split +StateVar_port?= devel/hs-StateVar +statistics_port?= math/hs-statistics +stm_port?= devel/hs-stm +stm-chans_port?= devel/hs-stm-chans +STMonadTrans_port?= devel/hs-STMonadTrans +Stream_port?= devel/hs-Stream +streaming-commons_port?= devel/hs-streaming-commons +strict_port?= devel/hs-strict +stringsearch_port?= textproc/hs-stringsearch +svgcairo_port?= graphics/hs-svgcairo +syb_port?= devel/hs-syb +syb-with-class_port?= devel/hs-syb-with-class +system-fileio_port?= devel/hs-system-fileio +system-filepath_port?= devel/hs-system-filepath +tagged_port?= devel/hs-tagged +tagsoup_port?= textproc/hs-tagsoup # executable +tagstream-conduit_port?= textproc/hs-tagstream-conduit +tar_port?= archivers/hs-tar +temporary_port?= devel/hs-temporary +terminal-size_port?= devel/hs-terminal-size +test-framework_port?= devel/hs-test-framework +test-framework-hunit_port?= devel/hs-test-framework-hunit +test-framework-quickcheck2_port?= devel/hs-test-framework-quickcheck2 +texmath_port?= textproc/hs-texmath # executable +text_port?= devel/hs-text +text-icu_port?= devel/hs-text-icu # lib_depends +text-short_port?= devel/hs-text-short +tf-random_port?= devel/hs-tf-random +th-abstraction_port?= devel/hs-th-abstraction +th-lift_port?= devel/hs-th-lift +th-lift-instances_port?= devel/hs-th-lift-instances +threads_port?= devel/hs-threads +threadscope_port?= devel/hs-threadscope # executable +time-compat_port?= devel/hs-time-compat +time-locale-compat_port?= devel/hs-time-locale-compat +timezone-olson_port?= devel/hs-timezone-olson +timezone-series_port?= devel/hs-timezone-series +tls_port?= security/hs-tls +tls-session-manager_port?= security/hs-tls-session-manager +torrent_port?= net-p2p/hs-torrent +transformers-base_port?= devel/hs-transformers-base +transformers-compat_port?= devel/hs-transformers-compat +TypeCompose_port?= devel/hs-TypeCompose +typed-process_port?= devel/hs-typed-process +unamb_port?= devel/hs-unamb +unexceptionalio_port?= devel/hs-unexceptionalio +uniplate_port?= devel/hs-uniplate +unix-compat_port?= devel/hs-unix-compat +unix-time_port?= devel/hs-unix-time +unlambda_port?= lang/hs-unlambda # executable +unordered-containers_port?= devel/hs-unordered-containers +uri_port?= textproc/hs-uri +uri-bytestring_port?= textproc/hs-uri-bytestring +uri-bytestring-aeson_port?= textproc/hs-uri-bytestring-aeson +url_port?= www/hs-url +utf8-light_port?= devel/hs-utf8-light +utf8-string_port?= devel/hs-utf8-string +utility-ht_port?= devel/hs-utility-ht +uuagc_port?= devel/hs-uuagc # executable +uuagc-bootstrap_port?= devel/hs-uuagc-bootstrap # executable +uuagc-cabal_port?= devel/hs-uuagc-cabal +uuid_port?= devel/hs-uuid +uuid-types_port?= devel/hs-uuid-types +uulib_port?= devel/hs-uulib +vault_port?= devel/hs-vault +vector_port?= devel/hs-vector +vector-algorithms_port?= devel/hs-vector-algorithms +vector-binary-instances_port?= devel/hs-vector-binary-instances +vector-instances_port?= devel/hs-vector-instances +vector-space_port?= math/hs-vector-space +vector-th-unbox_port?= devel/hs-vector-th-unbox +void_port?= devel/hs-void +vte_port?= x11-toolkits/hs-vte +wai_port?= www/hs-wai +wai-app-static_port?= www/hs-wai-app-static # executable +wai-extra_port?= www/hs-wai-extra +wai-logger_port?= www/hs-wai-logger +warp_port?= www/hs-warp +warp-tls_port?= www/hs-warp-tls +webkit_port?= www/hs-webkit # lib_depends +wl-pprint-text_port?= devel/hs-wl-pprint-text +word8_port?= devel/hs-word8 +wx_port?= x11-toolkits/hs-wx +wxc_port?= x11-toolkits/hs-wxc # lib_depends +wxcore_port?= x11-toolkits/hs-wxcore # lib_depends +wxdirect_port?= x11-toolkits/hs-wxdirect # executable +X11_port?= x11/hs-X11 # lib_depends +X11-xft_port?= x11/hs-X11-xft +x509_port?= security/hs-x509 +x509-store_port?= security/hs-x509-store +x509-system_port?= security/hs-x509-system +x509-validation_port?= security/hs-x509-validation +xhtml_port?= textproc/hs-xhtml +xml_port?= textproc/hs-xml +xml-conduit_port?= textproc/hs-xml-conduit +xml-hamlet_port?= textproc/hs-xml-hamlet +xml-types_port?= textproc/hs-xml-types +xmlhtml_port?= textproc/hs-xmlhtml +xmobar_port?= x11/hs-xmobar # executable +xmonad_port?= x11-wm/hs-xmonad # executable +xmonad-contrib_port?= x11-wm/hs-xmonad-contrib +xss-sanitize_port?= www/hs-xss-sanitize +yaml_port?= textproc/hs-yaml # executable +yesod_port?= www/hs-yesod +yesod-auth_port?= www/hs-yesod-auth +yesod-auth-hashdb_port?= www/hs-yesod-auth-hashdb +yesod-bin_port?= www/hs-yesod-bin # executable +yesod-core_port?= www/hs-yesod-core +yesod-form_port?= www/hs-yesod-form +yesod-persistent_port?= www/hs-yesod-persistent +yesod-static_port?= www/hs-yesod-static +yesod-test_port?= www/hs-yesod-test +zip-archive_port?= archivers/hs-zip-archive +zlib_port?= archivers/hs-zlib +zlib-bindings_port?= archivers/hs-zlib-bindings +zlib-enum_port?= archivers/hs-zlib-enum diff --git a/lang/ghc/distinfo b/lang/ghc/distinfo index 04c2eab3129c..53d94da1c513 100644 --- a/lang/ghc/distinfo +++ b/lang/ghc/distinfo @@ -1,8 +1,9 @@ -SHA256 (ghc-7.10.2-src.tar.xz) = 54cd73755b784d78e2f13d5eb161bfa38d3efee9e8a56f7eb6cd9f2d6e2615f5 -SIZE (ghc-7.10.2-src.tar.xz) = 11113204 -SHA256 (hscolour-1.23.tar.gz) = 97167eaecc309eff51317d6e925881bc9f27921bd52692121f0fc5aaee1791b0 -SIZE (hscolour-1.23.tar.gz) = 26027 +TIMESTAMP = 1499672924 +SHA256 (ghc-8.0.2-src.tar.xz) = 11625453e1d0686b3fa6739988f70ecac836cadc30b9f0c8b49ef9091d6118b1 +SIZE (ghc-8.0.2-src.tar.xz) = 10687760 SHA256 (ghc-7.10.2-boot-i386-freebsd.tar.xz) = 5cadd55316fe6c1bf275d0f44f10b46342096922a15ecb9fb78c80fc293f901a SIZE (ghc-7.10.2-boot-i386-freebsd.tar.xz) = 39858716 SHA256 (ghc-7.10.2-boot-amd64-freebsd.tar.xz) = 4af0ee0795537baa11a96fba23477f8390ccb5f45910cda119d0a16bdebaedc8 SIZE (ghc-7.10.2-boot-amd64-freebsd.tar.xz) = 49833224 +SHA256 (hscolour-1.24.1.tar.gz) = e46fe3de8ed6f96e2216b94b7608d01919bc86b15dd8d0ec7e71c0e7e5bf79c8 +SIZE (hscolour-1.24.1.tar.gz) = 28717 diff --git a/lang/ghc/files/build.boot.mk.in b/lang/ghc/files/build.boot.mk.in new file mode 100644 index 000000000000..557732a69a03 --- /dev/null +++ b/lang/ghc/files/build.boot.mk.in @@ -0,0 +1,8 @@ +GhcLibWays = v +XMLDocWays = +HADDOCK_DOCS = +HSCOLOUR_SRCS = +INTEGER_LIBRARY = integer-simple +DYNAMIC_GHC_PROGRAMS = +BIN_DIST_NAME = ghc-%%GHC_VERSION%%-boot +BIN_DIST_TAR = ghc-%%GHC_VERSION%%-boot.tar diff --git a/lang/ghc/files/build.mk.in b/lang/ghc/files/build.mk.in new file mode 100644 index 000000000000..8bbbb04ae120 --- /dev/null +++ b/lang/ghc/files/build.mk.in @@ -0,0 +1,19 @@ +docdir = %%PREFIX%%/share/doc/ghc-%%GHC_VERSION%% +htmldir = %%PREFIX%%/share/doc/ghc-%%GHC_VERSION%% +mandir = %%PREFIX%%/man +infodir = %%PREFIX%%/info +GhcLibWays = v +%%WITH_PROFILE%%GhcLibWays += p +%%WITH_DYNAMIC%%GhcLibWays += dyn +DYNAMIC_GHC_PROGRAMS = %%WITH_DYNAMIC%%YES +HADDOCK_DOCS = %%WITH_DOCS%% +HSCOLOUR_SRCS = %%WITH_DOCS%% +BSD_PATH_TO_HSC2HS = %%HSC2HS%% +SRC_HC_OPTS += -I%%NCURSESINC%% -L%%NCURSESLIB%% -I%%LOCALBASE%%/include -L%%LOCALBASE%%/lib +SRC_CC_OPTS += %%CFLAGS%% +EXTRA_HSC2HS_OPTS += -I%%LOCALBASE%%/include --lflag=-L%%LOCALBASE%%/lib +EXTRA_LD_OPTS += -L%%LOCALBASE%%/lib +EXTRA_CABAL_CONFIGURE_FLAGS += --extra-include-dirs=%%LOCALBASE%%/include +EXTRA_CABAL_CONFIGURE_FLAGS += --extra-lib-dirs=%%LOCALBASE%%/lib +libraries/terminfo_CONFIGURE_OPTS += --configure-option=--with-curses-includes=%%NCURSESINC%% --configure-option=--with-curses-libraries=%%NCURSESLIB%% +V = 0 diff --git a/lang/ghc/files/patch-aclocal.m4 b/lang/ghc/files/patch-aclocal.m4 deleted file mode 100644 index 550ec1adc5ef..000000000000 --- a/lang/ghc/files/patch-aclocal.m4 +++ /dev/null @@ -1,39 +0,0 @@ ---- aclocal.m4.orig 2015-07-21 13:52:50 UTC -+++ aclocal.m4 -@@ -1718,36 +1718,6 @@ int main(int argc, char *argv[]) - } - alarm(1); - -- if (timer_create(CLOCK_PROCESS_CPUTIME_ID, &ev, &timer) != 0) { -- fprintf(stderr,"No CLOCK_PROCESS_CPUTIME_ID timer\n"); -- exit(1); -- } -- -- it.it_value.tv_sec = 0; -- it.it_value.tv_nsec = 1; -- it.it_interval = it.it_value; -- if (timer_settime(timer, 0, &it, NULL) != 0) { -- fprintf(stderr,"settime problem\n"); -- exit(4); -- } -- -- tock = 0; -- -- for(n = 3; n < 20000; n++){ -- for(m = 2; m <= n/2; m++){ -- if (!(n%m)) count++; -- if (tock) goto out; -- } -- } --out: -- -- if (!tock) { -- fprintf(stderr,"no CLOCK_PROCESS_CPUTIME_ID signal\n"); -- exit(5); -- } -- -- timer_delete(timer); -- - if (timer_create(CLOCK_REALTIME, &ev, &timer) != 0) { - fprintf(stderr,"No CLOCK_REALTIME timer\n"); - exit(2); diff --git a/lang/ghc/files/patch-configure.ac b/lang/ghc/files/patch-configure.ac index ddffa1650ae5..8906fbb875dd 100644 --- a/lang/ghc/files/patch-configure.ac +++ b/lang/ghc/files/patch-configure.ac @@ -1,6 +1,6 @@ ---- configure.ac.orig 2015-07-21 19:50:11 UTC +--- configure.ac.orig 2017-01-04 14:17:17 UTC +++ configure.ac -@@ -383,6 +383,9 @@ AC_SUBST([SplitObjsBroken]) +@@ -418,6 +418,9 @@ AC_SUBST([SplitObjsBroken]) dnl ** Building a cross compiler? dnl -------------------------------------------------------------- CrossCompiling=NO @@ -8,5 +8,17 @@ +build=`echo $build | sed -e 's/amd64-/x86_64-/g; s/-freebsd.*$/-freebsd/g'` + # If 'host' and 'target' differ, then this means we are building a cross-compiler. - if test "$target" != "$host" ; then + if test "$TargetPlatform" != "$HostPlatform" ; then CrossCompiling=YES +@@ -1057,6 +1060,11 @@ if test "$ac_cv_sizeof_void_p" -eq 8 ; then + use_large_address_space=yes + elif test "$ghc_host_os" = "openbsd" ; then + # as of OpenBSD 5.8 (2015), OpenBSD does not support mmap with MAP_NORESERVE. ++ # The flag MAP_NORESERVE is supported for source compatibility reasons, ++ # but is completely ignored by OS mmap ++ use_large_address_space=no ++ elif test "$ghc_host_os" = "freebsd" ; then ++ # FreeBSD does not support mmap with MAP_NORESERVE,r emoved in r273250. + # The flag MAP_NORESERVE is supported for source compatibility reasons, + # but is completely ignored by OS mmap + use_large_address_space=no diff --git a/lang/ghc/files/patch-ghc.mk b/lang/ghc/files/patch-ghc.mk index 5467a7ae909b..8ffda7a16712 100644 --- a/lang/ghc/files/patch-ghc.mk +++ b/lang/ghc/files/patch-ghc.mk @@ -1,6 +1,6 @@ ---- ./ghc.mk.orig 2014-07-10 06:27:16.000000000 +0200 -+++ ./ghc.mk 2014-07-11 10:28:11.000000000 +0200 -@@ -96,6 +96,7 @@ +--- ghc.mk.orig 2017-01-03 15:59:18 UTC ++++ ghc.mk +@@ -96,6 +96,7 @@ endif # Catch make if it runs away into an infinite loop ifeq "$(MAKE_RESTARTS)" "" else ifeq "$(MAKE_RESTARTS)" "1" @@ -8,3 +8,14 @@ else $(error Make has restarted itself $(MAKE_RESTARTS) times; is there a makefile bug? See http://ghc.haskell.org/trac/ghc/wiki/Building/Troubleshooting#Makehasrestarteditself3timesisthereamakefilebug for details) endif +@@ -465,10 +466,7 @@ PACKAGES_STAGE1 += ghc-boot + PACKAGES_STAGE1 += template-haskell + PACKAGES_STAGE1 += hoopl + PACKAGES_STAGE1 += transformers +- +-ifeq "$(HADDOCK_DOCS)" "YES" + PACKAGES_STAGE1 += xhtml +-endif + + ifeq "$(Windows_Target)" "NO" + ifneq "$(TargetOS_CPP)" "ios" diff --git a/lang/ghc/files/patch-libraries_Cabal_Cabal_Distribution_Simple_GHC.hs b/lang/ghc/files/patch-libraries_Cabal_Cabal_Distribution_Simple_GHC.hs index 53cf700d7ccc..c7ddc4addf4f 100644 --- a/lang/ghc/files/patch-libraries_Cabal_Cabal_Distribution_Simple_GHC.hs +++ b/lang/ghc/files/patch-libraries_Cabal_Cabal_Distribution_Simple_GHC.hs @@ -1,6 +1,6 @@ ---- libraries/Cabal/Cabal/Distribution/Simple/GHC.hs.orig 2015-04-01 00:24:45 UTC +--- libraries/Cabal/Cabal/Distribution/Simple/GHC.hs.orig 2017-01-03 15:59:20 UTC +++ libraries/Cabal/Cabal/Distribution/Simple/GHC.hs -@@ -875,7 +875,7 @@ getRPaths lbi clbi | supportRPaths hostO +@@ -996,7 +996,7 @@ getRPaths lbi clbi | supportRPaths hostOS = do supportRPaths Linux = True supportRPaths Windows = False supportRPaths OSX = True diff --git a/lang/ghc/files/patch-libraries__Cabal__Cabal__Distribution__Simple__Program__Builtin.hs b/lang/ghc/files/patch-libraries__Cabal__Cabal__Distribution__Simple__Program__Builtin.hs index 7a4425743eaa..daf5ea981ba1 100644 --- a/lang/ghc/files/patch-libraries__Cabal__Cabal__Distribution__Simple__Program__Builtin.hs +++ b/lang/ghc/files/patch-libraries__Cabal__Cabal__Distribution__Simple__Program__Builtin.hs @@ -1,27 +1,38 @@ ---- libraries/Cabal/Cabal/Distribution/Simple/Program/Builtin.hs.orig 2015-06-19 10:36:50 UTC +--- libraries/Cabal/Cabal/Distribution/Simple/Program/Builtin.hs.orig 2017-01-03 15:59:20 UTC +++ libraries/Cabal/Cabal/Distribution/Simple/Program/Builtin.hs -@@ -261,10 +261,13 @@ alexProgram = (simpleProgram "alex") { +@@ -54,6 +54,8 @@ import Distribution.Compat.Exception + import Distribution.Verbosity + import Distribution.Version + ++import System.FilePath (takeDirectory) ++ + import Data.Char + ( isDigit ) + import qualified Data.Map as Map +@@ -251,11 +253,13 @@ alexProgram = (simpleProgram "alex") { + gccProgram :: Program gccProgram = (simpleProgram "gcc") { - programFindVersion = findProgramVersion "-dumpversion" id -+ , programFindLocation = \v p -> findProgramOnSearchPath v p "%%CC%%" - } +- programFindVersion = findProgramVersion "-dumpversion" id +- } ++ programFindLocation = \v p -> findProgramOnSearchPath v p "cc" ++} arProgram :: Program -arProgram = simpleProgram "ar" +arProgram = (simpleProgram "ar") { -+ programFindLocation = \_v _p -> return (Just "%%AR%%") -+ } ++ programFindLocation = \v p -> findProgramOnSearchPath v p "ar" ++} stripProgram :: Program stripProgram = (simpleProgram "strip") { -@@ -336,7 +339,9 @@ greencardProgram :: Program +@@ -311,7 +315,9 @@ greencardProgram :: Program greencardProgram = simpleProgram "greencard" ldProgram :: Program -ldProgram = simpleProgram "ld" +ldProgram = (simpleProgram "ld") { -+ programFindLocation = \_v _p -> return (Just "%%LD%%") ++ programFindLocation = \v p -> findProgramOnSearchPath v p "ld" + } tarProgram :: Program diff --git a/lang/ghc/pkg-plist b/lang/ghc/pkg-plist index bddc4c6a5ce7..5f7bb8be6046 100644 --- a/lang/ghc/pkg-plist +++ b/lang/ghc/pkg-plist @@ -3,14 +3,15 @@ bin/ghci bin/ghc-pkg bin/runhaskell bin/runghc +%%DOCS%%bin/haddock bin/hp2ps bin/hpc bin/hsc2hs bin/ghc-%%GHC_VERSION%% bin/ghci-%%GHC_VERSION%% bin/ghc-pkg-%%GHC_VERSION%% -bin/haddock-ghc-%%GHC_VERSION%% +%%DOCS%%bin/haddock-ghc-%%GHC_VERSION%% bin/runghc-%%GHC_VERSION%% -%%PORTDOCS%%man/man1/ghc.1.gz -@exec /bin/ln -sf %D/bin/haddock-ghc-%%GHC_VERSION%% %D/bin/haddock || return true -@unexec /bin/rm -f %D/bin/haddock || return true +%%DOCS%%man/man1/ghc.1.gz +%%DOCS%%@postexec /bin/ln -sf %D/bin/haddock-ghc-%%GHC_VERSION%% %D/bin/haddock || return true +%%DOCS%%@postunexec /bin/rm -f %D/bin/haddock || return true |