diff options
author | pgj <pgj@FreeBSD.org> | 2014-01-10 05:32:12 +0800 |
---|---|---|
committer | pgj <pgj@FreeBSD.org> | 2014-01-10 05:32:12 +0800 |
commit | 1e8ecc139a38c58921cfe6dbac98c727b1cefd71 (patch) | |
tree | 604f06bea271b71fb7be1993c1c2ba323b4506e1 /lang | |
parent | 85c277ebe0c60dd6aa5be2bceb4d04e10cdf1b13 (diff) | |
download | freebsd-ports-gnome-1e8ecc139a38c58921cfe6dbac98c727b1cefd71.tar.gz freebsd-ports-gnome-1e8ecc139a38c58921cfe6dbac98c727b1cefd71.tar.zst freebsd-ports-gnome-1e8ecc139a38c58921cfe6dbac98c727b1cefd71.zip |
- Stagify lang/ghc and all the Haskell Cabal ports
- Update HACKAGE_SITE to follow changes in upstream
- MAKE_ENV now sets LC_ALL and DESTDIR for Haskell Cabal ports
- Further minor cosmetical changes: replace USE_GMAKE with USES, get rid of
${DO_NADA}, some refactoring
Obtained from: FreeBSD Haskell
Diffstat (limited to 'lang')
-rw-r--r-- | lang/ghc/Makefile | 45 | ||||
-rw-r--r-- | lang/ghc/bsd.cabal.mk | 114 | ||||
-rw-r--r-- | lang/ghc/pkg-plist | 1 | ||||
-rw-r--r-- | lang/hs-brainfuck/Makefile | 1 | ||||
-rw-r--r-- | lang/hs-epic/Makefile | 1 | ||||
-rw-r--r-- | lang/hs-epic/files/patch-Setup.hs | 32 | ||||
-rw-r--r-- | lang/hs-unlambda/Makefile | 1 |
7 files changed, 106 insertions, 89 deletions
diff --git a/lang/ghc/Makefile b/lang/ghc/Makefile index 721335016916..f35555b721c0 100644 --- a/lang/ghc/Makefile +++ b/lang/ghc/Makefile @@ -63,7 +63,6 @@ OPTIONS_DEFINE+= BOOT OPTIONS_DEFINE+= BOOTH .endif -NO_STAGE= yes .include <bsd.port.options.mk> .if ${PORT_OPTIONS:MDYNAMIC} @@ -109,13 +108,12 @@ IGNORE= unsupported .endif # MBOOT DOCSDIR= ${PREFIX}/share/doc/${DISTNAME} -GHC_LIBDIR= ${PREFIX}/lib/ghc-${GHC_VERSION} +GHC_LIBDIR= ${STAGEDIR}${PREFIX}/lib/ghc-${GHC_VERSION} GHC_LIBDIR_REL= lib/ghc-${GHC_VERSION} PLIST_SUB+= GHC_VERSION=${GHC_VERSION} GHC_LIBDIR=${GHC_LIBDIR_REL} -HACKAGE_SITE?= http://hackage.haskell.org/ -HACKAGE_ARCH?= packages/archive/ +HACKAGE_SITE?= http://hackage.haskell.org/package/ CONFIGURE_ARGS= --with-gcc=${CC} \ --with-ld=${LD} \ @@ -172,15 +170,13 @@ MAKE_ENV+= TMPDIR=${TMPDIR} .if empty(PORT_OPTIONS:MBOOTH) -MASTER_SITES+= ${HACKAGE_SITE}${HACKAGE_ARCH}hscolour/${HSCOLOUR_VERSION}/:docs +MASTER_SITES+= ${HACKAGE_SITE}hscolour-${HSCOLOUR_VERSION}/:docs DISTFILES+= hscolour-${HSCOLOUR_VERSION}.tar.gz:docs EXTRACT_ONLY= ${_DISTFILES:C/hscolour.*$//g} .endif # MBOOTH -MAN1= ghc.1 - .if empty(PORT_OPTIONS:MBOOTH) SLAVES_PREFIX= ${WRKDIR}/slaves_prefix @@ -235,27 +231,27 @@ post-extract: 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,^${PREFIX}/?,,' >> ${TMPPLIST} - @${FIND} -ds ${DOCSDIR} -type f -print | ${SED} -E -e \ - '/^${DOCSDIR:C/\//\\\//g}\/html\/libraries\/doc-index-[^.]+\.html/d' -e \ - '/^${DOCSDIR:C/\//\\\//g}\/html\/libraries\/index[^\/.]*\.html/d' -e \ - '/^${DOCSDIR:C/\//\\\//g}\/html\/libraries\/[^\/]+\.png/d' -e \ - 's,^${PREFIX}/?,,' >> ${TMPPLIST} + '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} .if ${PORT_OPTIONS:MDOCS} # Cleanup the indexen created by gen_contents_index @${ECHO} "@unexec ${RM} -f %D/${DOCSDIR_REL}/html/libraries/doc-index-*.html" >> ${TMPPLIST} @${ECHO} "@unexec ${RM} -f %D/${DOCSDIR_REL}/html/libraries/index*.html" >> ${TMPPLIST} @${ECHO} "@unexec ${RM} -f %D/${DOCSDIR_REL}/html/libraries/*.png" >> ${TMPPLIST} .endif + @${ECHO} '@unexec ${RM} -f %D/${GHC_LIBDIR_REL}/package.conf.d/package.cache' >>${TMPPLIST} @${ECHO} "@exec %D/bin/ghc-pkg recache" >>${TMPPLIST} .if ${PORT_OPTIONS:MDOCS} @${ECHO} '@exec ${SH} -c "cd %D/${DOCSDIR_REL}/html/libraries && ./gen_contents_index"' >> ${TMPPLIST} .endif - @${ECHO} '@unexec ${RM} -f %D/${GHC_LIBDIR_REL}/package.conf.d/package.cache' >>${TMPPLIST} - @${FIND} -ds ${DOCSDIR} -type d -print | ${SED} -E -e \ - 's,^${PREFIX}/?,@dirrm ,' >> ${TMPPLIST} + @${FIND} -ds ${STAGEDIR}${DOCSDIR} -type d -print | ${SED} -E -e \ + 's,^${STAGEDIR}${PREFIX}/?,@dirrm ,' >> ${TMPPLIST} @${FIND} -ds ${GHC_LIBDIR} -type d -print | ${SED} -E -e \ - 's,^${PREFIX}/?,@dirrm ,' >> ${TMPPLIST} + 's,^${STAGEDIR}${PREFIX}/?,@dirrm ,' >> ${TMPPLIST} #post-build: # @(cd ${WRKSRC} && ${GMAKE} binary-dist) @@ -316,16 +312,13 @@ pre-configure: post-install: # cabalised hs-foo-ghc ports - @${MKDIR} ${PREFIX}/lib/cabal/ghc-${GHC_VERSION} - @${MKDIR} ${PREFIX}/share/cabal/ghc-${GHC_VERSION} - @${MKDIR} ${PREFIX}/share/doc/cabal/ghc-${GHC_VERSION} - @${MKDIR} ${PREFIX}/share/examples/cabal/ghc-${GHC_VERSION} -.if ${PORT_OPTIONS:MDOCS} - cd ${DOCSDIR}/html/libraries && ./gen_contents_index -.endif - @${RM} -f ${PREFIX}/bin/haddock + @${MKDIR} ${STAGEDIR}${PREFIX}/lib/cabal/ghc-${GHC_VERSION} + @${MKDIR} ${STAGEDIR}${PREFIX}/share/cabal/ghc-${GHC_VERSION} + @${MKDIR} ${STAGEDIR}${PREFIX}/share/doc/cabal/ghc-${GHC_VERSION} + @${MKDIR} ${STAGEDIR}${PREFIX}/share/examples/cabal/ghc-${GHC_VERSION} + @${RM} -f ${STAGEDIR}${PREFIX}/bin/haddock .if ${PORT_OPTIONS:MDOCS} - @${LN} -sf ${PREFIX}/bin/haddock-ghc-${GHC_VERSION} ${PREFIX}/bin/haddock + @${LN} -sf haddock-ghc-${GHC_VERSION} ${STAGEDIR}${PREFIX}/bin/haddock .endif .include <bsd.port.mk> diff --git a/lang/ghc/bsd.cabal.mk b/lang/ghc/bsd.cabal.mk index cb44567fa85a..49b39b4dfb3b 100644 --- a/lang/ghc/bsd.cabal.mk +++ b/lang/ghc/bsd.cabal.mk @@ -10,15 +10,19 @@ # .if !defined(METAPORT) -MASTER_SITES?= http://hackage.haskell.org/packages/archive/${PORTNAME}/${PORTVERSION}/ +MASTER_SITES?= http://hackage.haskell.org/package/${PORTNAME}-${PORTVERSION}/ .else MASTER_SITES= # empty DISTFILES= # empty EXTRACT_ONLY= # empty NO_FETCH= yes NO_BUILD= yes +NO_INSTALL= yes +NO_MTREE= yes .endif # !METAPORT +MAKE_ENV+= LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 DESTDIR=${STAGEDIR} + DIST_SUBDIR?= cabal SETUP_CMD?= ./setup @@ -76,7 +80,7 @@ BUILD_DEPENDS+= ghc>=${GHC_VERSION}:${PORTSDIR}/lang/ghc .endif USE_BINUTILS= yes -USE_GCC= 4.6+ +USE_GCC= yes CONFIGURE_ARGS+= --with-gcc=${CC} --with-ld=${LD} --with-ar=${AR} \ --with-ranlib=${RANLIB} @@ -104,6 +108,8 @@ CONFIGURE_ARGS+= --with-c2hs=${C2HS_CMD} .if defined(EXECUTABLE) LIB_DEPENDS+= gmp.10:${PORTSDIR}/math/gmp USES+= iconv + +CONFIGURE_ARGS+= --enable-executable-stripping .endif .if defined(USE_CABAL) @@ -162,7 +168,7 @@ HADDOCK_OPTS+= --hyperlink-source --hscolour-css=${HSCOLOUR_DATADIR}/hscolour.c BUILD_DEPENDS+= ${LOCALBASE}/share/xsl/docbook/html:${PORTSDIR}/textproc/docbook-xsl \ ${LOCALBASE}/bin/xsltproc:${PORTSDIR}/textproc/libxslt -USE_GMAKE= yes +USES+= gmake .endif # !XMLDOCS @@ -197,9 +203,9 @@ post-patch:: _BUILD_SETUP= ${GHC_CMD} -o ${SETUP_CMD} -package Cabal --make +.if !defined(METAPORT) .if !target(do-configure) do-configure: -.if !defined(METAPORT) @if [ -f ${WRKSRC}/Setup.hs ]; then \ cd ${WRKSRC} && ${_BUILD_SETUP} Setup.hs; fi @if [ -f ${WRKSRC}/Setup.lhs ]; then \ @@ -219,14 +225,12 @@ do-configure: cd ${WRKSRC}/doc && ${AUTOCONF} && ./configure --prefix=${PREFIX} .endif .endif # DOCS -.else - ${DO_NADA} -.endif # !METAPORT .endif # target(do-configure) +.endif # !METAPORT +.if !defined(METAPORT) .if !target(do-build) do-build: -.if !defined(METAPORT) cd ${WRKSRC} && ${SETENV} ${MAKE_ENV} ${SETUP_CMD} build .if !defined(STANDALONE) cd ${WRKSRC} && ${SETENV} ${MAKE_ENV} ${SETUP_CMD} register --gen-script @@ -240,54 +244,62 @@ do-build: @(cd ${WRKSRC}/doc && ${SETENV} ${MAKE_ENV} ${GMAKE} ${MAKE_FLAGS} ${MAKEFILE} ${MAKE_ARGS} html) .endif # XMLDOCS .endif # DOCS -.else - ${DO_NADA} -.endif # !METAPORT .endif # target(do-build) +.endif # !METAPORT + +.if defined(MAN1) +.for man in ${MAN1} +PLIST_FILES+= man/man1/${man}.gz +.endfor +.endif +.if defined(MAN5) +.for man in ${MAN5} +PLIST_FILES+= man/man5/${man}.gz +.endfor +.endif + +.if !defined(METAPORT) .if !target(do-install) do-install: -.if !defined(METAPORT) - cd ${WRKSRC} && ${SETENV} ${MAKE_ENV} ${SETUP_CMD} install + cd ${WRKSRC} && ${SETENV} ${MAKE_ENV} ${SETUP_CMD} copy --destdir=${STAGEDIR} .if !defined(STANDALONE) - cd ${WRKSRC} && ${INSTALL_SCRIPT} register.sh ${CABAL_LIBDIR}/${CABAL_LIBSUBDIR}/register.sh + cd ${WRKSRC} && ${INSTALL_SCRIPT} register.sh ${STAGEDIR}${CABAL_LIBDIR}/${CABAL_LIBSUBDIR}/register.sh .endif .if !empty(INSTALL_PORTDATA) - @${MKDIR} ${DATADIR} + @${MKDIR} ${STAGEDIR}${DATADIR} ${INSTALL_PORTDATA} .endif .if !empty(INSTALL_PORTEXAMPLES) && ${PORT_OPTIONS:MEXAMPLES} - @${MKDIR} ${EXAMPLESDIR} + @${MKDIR} ${STAGEDIR}${EXAMPLESDIR} ${INSTALL_PORTEXAMPLES} .endif .if defined(MAN1SRC) .for man in ${MAN1} - @${INSTALL_MAN} ${WRKSRC}/${MAN1SRC}/${man} ${PREFIX}/man/man1 + @${INSTALL_MAN} ${WRKSRC}/${MAN1SRC}/${man} ${STAGEDIR}${PREFIX}/man/man1 .endfor .endif # MAN1SRC .if ${PORT_OPTIONS:MDOCS} .if !empty(XMLDOCS) .for xmldoc in ${XMLDOCS} - @(cd ${WRKSRC}/${xmldoc:C/:.*$//g} && ${COPYTREE_SHARE} \* ${DOCSDIR}/${xmldoc:C/^.*://g}) + @(cd ${WRKSRC}/${xmldoc:C/:.*$//g} && ${COPYTREE_SHARE} \* ${STAGEDIR}${DOCSDIR}/${xmldoc:C/^.*://g}) .endfor .endif # XMLDOCS -.endif -.else - ${DO_NADA} -.endif # !METAPORT +.endif # DOCS .endif # target(do-install) +.endif # !METAPORT .if !target(post-install-script) post-install-script: - @for dir in ${CABAL_DIRS}; do if [ -d $${dir} ]; then ${FIND} -ds $${dir} \ - -type f -print | ${SED} -E -e 's,^${PREFIX}/?,,' >> ${TMPPLIST}; fi ; \ - if [ -d $${dir} ]; then ${FIND} -ds $${dir} \ - -type d -print | ${SED} -E -e 's,^${PREFIX}/?,@dirrm ,' >> ${TMPPLIST}; fi ; done + @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 ; \ + if [ -d ${STAGEDIR}$${dir} ]; then ${FIND} -ds ${STAGEDIR}$${dir} \ + -type d -print | ${SED} -E -e 's,^${STAGEDIR}${PREFIX}/?,@dirrm ,' >> ${TMPPLIST}; fi ; done .if defined(EXECUTABLE) .for exe in ${EXECUTABLE} @${ECHO_CMD} 'bin/${exe}' >>${TMPPLIST} @@ -296,46 +308,28 @@ post-install-script: .endif # target(post-install-script) +.if !defined(METAPORT) add-plist-post: add-plist-cabal add-plist-cabal: -.if !defined(METAPORT) - @if [ -f ${CABAL_LIBDIR}/${CABAL_LIBSUBDIR}/register.sh ]; then \ - (${ECHO_CMD} '@exec ${SH} %D/${CABAL_LIBDIR_REL}/${CABAL_LIBSUBDIR}/register.sh'; \ - ${ECHO_CMD} '@unexec %D/bin/ghc-pkg unregister --force ${PORTNAME}-${PORTVERSION}') >> ${TMPPLIST}; fi + +.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} '@exec if [ -f %D/${GHC_LIB_DOCSDIR_REL}/gen_contents_index ]; then ${LN} -s ${DOCSDIR}/html %D/${GHC_LIB_DOCSDIR_REL}/${DISTNAME} && \ - cd %D/${GHC_LIB_DOCSDIR_REL} && ${RM} -f doc-index*.html && ./gen_contents_index; fi' ; \ - ${ECHO_CMD} '@unexec ${RM} -f %D/${GHC_LIB_DOCSDIR_REL}/${DISTNAME}' ; \ - ${ECHO_CMD} '@unexec if [ -f %D/${GHC_LIB_DOCSDIR_REL}/gen_contents_index ]; then cd %D/${GHC_LIB_DOCSDIR_REL} && ${RM} -f doc-index*.html && ./gen_contents_index; fi') >>${TMPPLIST}; + @(${ECHO_CMD} '@unexec ${RM} -f ${LOCALBASE}/${GHC_LIB_DOCSDIR_REL}/${DISTNAME}' ; \ + ${ECHO_CMD} '@unexec cd ${LOCALBASE}/${GHC_LIB_DOCSDIR_REL} && \ + ${RM} -f doc-index*.html && ./gen_contents_index') >> ${TMPPLIST} +.endif + +.if !defined(STANDALONE) + @${ECHO_CMD} '@exec ${SH} %D/${CABAL_LIBDIR_REL}/${CABAL_LIBSUBDIR}/register.sh' >> ${TMPPLIST} .endif -.else - ${DO_NADA} -.endif # !METAPORT -post-install:: -.if !defined(METAPORT) .if defined(HADDOCK_AVAILABLE) && ${PORT_OPTIONS:MDOCS} - @if [ -f ${PREFIX}/${GHC_LIB_DOCSDIR_REL}/gen_contents_index ]; then \ - ${LN} -s ${DOCSDIR}/html ${PREFIX}/${GHC_LIB_DOCSDIR_REL}/${DISTNAME} && \ - cd ${PREFIX}/${GHC_LIB_DOCSDIR_REL} && \ - ${RM} -f doc-index*.html && ./gen_contents_index; \ - fi + @(${ECHO_CMD} '@exec ${LN} -s ${DOCSDIR}/html ${LOCALBASE}/${GHC_LIB_DOCSDIR_REL}/${DISTNAME} && \ + cd ${LOCALBASE}/${GHC_LIB_DOCSDIR_REL} && \ + ${RM} -f doc-index*.html && ./gen_contents_index') >> ${TMPPLIST} .endif -.if defined(EXECUTABLE) -.for exe in ${EXECUTABLE} - @${STRIP_CMD} ${PREFIX}/bin/${exe} - @${CHMOD} ${BINMODE} ${PREFIX}/bin/${exe} -.endfor -.endif # EXECUTABLE - -.if defined(SHOW_PKGMSG) - @${ECHO_MSG} -e "\a" - @${ECHO_MSG} "=================================================================" - @${CAT} "${PKGMESSAGE}" - @${ECHO_MSG} "=================================================================" - @${ECHO_MSG} -.endif # SHOW_PKGMSG -.else - ${DO_NADA} .endif # !METAPORT diff --git a/lang/ghc/pkg-plist b/lang/ghc/pkg-plist index 8a1ccd4ce889..7bfd4d9b4b53 100644 --- a/lang/ghc/pkg-plist +++ b/lang/ghc/pkg-plist @@ -12,6 +12,7 @@ bin/ghci-%%GHC_VERSION%% bin/ghc-pkg-%%GHC_VERSION%% bin/haddock-ghc-%%GHC_VERSION%% bin/runghc-%%GHC_VERSION%% +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 @exec /bin/mkdir -p %D/lib/cabal/ghc-%%GHC_VERSION%% || return true diff --git a/lang/hs-brainfuck/Makefile b/lang/hs-brainfuck/Makefile index b9a03b8c1dac..d36c4fbd7811 100644 --- a/lang/hs-brainfuck/Makefile +++ b/lang/hs-brainfuck/Makefile @@ -15,6 +15,5 @@ USE_CABAL= mtl EXECUTABLE= bf -NO_STAGE= yes .include "${.CURDIR}/../../lang/ghc/bsd.cabal.mk" .include <bsd.port.mk> diff --git a/lang/hs-epic/Makefile b/lang/hs-epic/Makefile index 4d8c118e4581..79c873221a82 100644 --- a/lang/hs-epic/Makefile +++ b/lang/hs-epic/Makefile @@ -20,7 +20,6 @@ RUN_DEPENDS+= boehm-gc>=7.1:${PORTSDIR}/devel/boehm-gc \ EXECUTABLE= epic -NO_STAGE= yes post-patch:: @${REINPLACE_CMD} 's|%%LOCALBASE%%|${LOCALBASE}|g' \ ${WRKSRC}/evm/Makefile diff --git a/lang/hs-epic/files/patch-Setup.hs b/lang/hs-epic/files/patch-Setup.hs new file mode 100644 index 000000000000..9e14cf10a5eb --- /dev/null +++ b/lang/hs-epic/files/patch-Setup.hs @@ -0,0 +1,32 @@ +--- Setup.hs.orig 2012-02-27 23:44:30.000000000 +0000 ++++ Setup.hs 2013-12-08 15:39:13.067013368 +0000 +@@ -1,10 +1,12 @@ + import Distribution.Simple + import Distribution.Simple.InstallDirs + import Distribution.Simple.LocalBuildInfo +-import Distribution.PackageDescription ++import Distribution.Simple.Setup ++import Distribution.PackageDescription hiding (Flag) + + import System.Exit + import System.Process ++import System.FilePath.Posix + + -- After Epic is built, we need a run time system. + +@@ -33,7 +35,14 @@ + = do let pfx = prefix (installDirTemplates local) + system' $ "make -C evm install PREFIX=" ++ show pfx + ++postCopyLib args flags desc local = do ++ let pfix = prefix (installDirTemplates local) ++ let (Flag (CopyTo destDir)) = copyDest flags ++ putStrLn $ "PREFIX=" ++ (show destDir </> show pfix) ++ system' $ "make -C evm install PREFIX=" ++ (destDir </> show pfix) ++ + main = defaultMainWithHooks (simpleUserHooks { postBuild = buildLib, + postConf = postConfLib, +- postInst = postInstLib }) ++ postInst = postInstLib, ++ postCopy = postCopyLib }) + diff --git a/lang/hs-unlambda/Makefile b/lang/hs-unlambda/Makefile index d853952209bf..3686607feda2 100644 --- a/lang/hs-unlambda/Makefile +++ b/lang/hs-unlambda/Makefile @@ -15,6 +15,5 @@ USE_CABAL= mtl EXECUTABLE= unlambda -NO_STAGE= yes .include "${.CURDIR}/../../lang/ghc/bsd.cabal.mk" .include <bsd.port.mk> |