Matthias Kilian [2007-08-01, 00:47:47]:
> Hi,
>
> this should fix breakage for amd64 on the following ports:
>
> devel/alex
> devel/haddock
> devel/happy
> devel/hs-newbinary
> security/hs-crypto
>
> I also replaced WRKSRC by WRKBUILD where appropriate, so that
> SEPARATE_BUILD *may* be used in a (very far) future. Currently,
> SEPARATE_BUILD doesn't work at all with Haskell ports using Cabal
> (i.e. that Setup.{,l}hs stuff).
>
> No pkgbump required, since on i386 nothing changed, and on amd64
> the ports didn't build yet.
But they built before ghc was updated... so maybe it's safe to bump in any
case.
> I'd really appreciate any tests on amd64 (does it build? regress
> output where regress isn't a noop? any packaging problems?). Some
> porters where interested but don't have enough time to test this.
They build fine with these changes. No regressions in happy and hs-crypto,
the others have NO_REGRESS.
However, something must be wrong with the runhaskell program?
>
> If you start to test some of this ports, please drop a short note
> here, so we don't waste too much CPU cycles.
>
> TIA
>
> Ciao,
> Kili
>
> Index: devel/alex/Makefile
> ===================================================================
> RCS file: /cvs/ports/devel/alex/Makefile,v
> retrieving revision 1.8
> diff -u -p -r1.8 Makefile
> --- devel/alex/Makefile 21 Jul 2007 17:19:49 -0000 1.8
> +++ devel/alex/Makefile 28 Jul 2007 15:37:05 -0000
> @@ -30,6 +30,7 @@ LIB_DEPENDS= gmp::devel/gmp
>
> SETUP_CONF_ARGS= configure -g --prefix=${PREFIX}
> SETUP_CONF_ENV= HOME=${PORTHOME} ${CONFIGURE_ENV}
> +SETUP_PROG= ${WRKSRC}/Setup
> SUBST_VARS= V
>
> NO_REGRESS= Yes
> @@ -42,21 +43,20 @@ AUTOCONF_DIR= ${WRKSRC}/doc
> WRKCONF= ${AUTOCONF_DIR}
>
> post-configure:
> - @cd ${WRKSRC} && exec ${SETENV} ${SETUP_CONF_ENV} \
> - runhaskell Setup.lhs ${SETUP_CONF_ARGS}
> + @cd ${WRKSRC} && ghc --make -o ${SETUP_PROG} Setup.lhs
> + @cd ${WRKBUILD} && exec ${SETENV} ${SETUP_CONF_ENV} \
> + ${SETUP_PROG} ${SETUP_CONF_ARGS}
>
> do-build:
> - @cd ${WRKBUILD} && exec ${SETENV} ${MAKE_ENV} \
> - runhaskell Setup.lhs build
> - @cd ${WRKSRC}/doc && exec ${SETENV} ${MAKE_ENV} \
> - ${MAKE_PROGRAM} html
> + @cd ${WRKBUILD} && exec ${SETENV} ${MAKE_ENV} ${SETUP_PROG} build
> + @cd ${WRKBUILD}/doc && exec ${SETENV} ${MAKE_ENV} ${MAKE_PROGRAM} html
>
> do-install:
> @cd ${WRKBUILD} && exec ${SETENV} ${MAKE_ENV} \
> - runhaskell Setup.lhs copy --destdir=${DESTDIR}
> + ${SETUP_PROG} copy --destdir=${DESTDIR}
>
> post-install:
> ${INSTALL_DATA_DIR} ${PREFIX}/share/doc
> - cd ${WRKSRC}/doc && umask 022 && pax -rw alex ${PREFIX}/share/doc
> + cd ${WRKBUILD}/doc && umask 022 && pax -rw alex ${PREFIX}/share/doc
>
> .include <bsd.port.mk>
> Index: devel/haddock/Makefile
> ===================================================================
> RCS file: /cvs/ports/devel/haddock/Makefile,v
> retrieving revision 1.9
> diff -u -p -r1.9 Makefile
> --- devel/haddock/Makefile 21 Jul 2007 17:20:20 -0000 1.9
> +++ devel/haddock/Makefile 28 Jul 2007 15:37:05 -0000
> @@ -31,6 +31,7 @@ LIB_DEPENDS= gmp::devel/gmp
>
> SETUP_CONF_ARGS= configure -g --prefix=${PREFIX}
> SETUP_CONF_ENV= HOME=${PORTHOME} ${CONFIGURE_ENV}
> +SETUP_PROG= ${WRKSRC}/Setup
> SUBST_VARS= V
>
> NO_REGRESS= Yes
> @@ -43,21 +44,20 @@ AUTOCONF_DIR= ${WRKSRC}/doc
> WRKCONF= ${AUTOCONF_DIR}
>
> post-configure:
> - @cd ${WRKSRC} && exec ${SETENV} ${SETUP_CONF_ENV} \
> - runhaskell Setup.lhs ${SETUP_CONF_ARGS}
> + @cd ${WRKSRC} && ghc --make -o ${SETUP_PROG} Setup.lhs
> + @cd ${WRKBUILD} && exec ${SETENV} ${SETUP_CONF_ENV} \
> + ${SETUP_PROG} ${SETUP_CONF_ARGS}
>
> do-build:
> - @cd ${WRKBUILD} && exec ${SETENV} ${MAKE_ENV} \
> - runhaskell Setup.lhs build
> - @cd ${WRKSRC}/doc && exec ${SETENV} ${MAKE_ENV} \
> - ${MAKE_PROGRAM} html
> + @cd ${WRKBUILD} && exec ${SETENV} ${MAKE_ENV} ${SETUP_PROG} build
> + @cd ${WRKBUILD}/doc && exec ${SETENV} ${MAKE_ENV} ${MAKE_PROGRAM} html
>
> do-install:
> @cd ${WRKBUILD} && exec ${SETENV} ${MAKE_ENV} \
> - runhaskell Setup.lhs copy --destdir=${DESTDIR}
> + ${SETUP_PROG} copy --destdir=${DESTDIR}
>
> post-install:
> ${INSTALL_DATA_DIR} ${PREFIX}/share/doc
> - cd ${WRKSRC}/doc && umask 022 && pax -rw haddock ${PREFIX}/share/doc
> + cd ${WRKBUILD}/doc && umask 022 && pax -rw haddock ${PREFIX}/share/doc
>
> .include <bsd.port.mk>
> Index: devel/happy/Makefile
> ===================================================================
> RCS file: /cvs/ports/devel/happy/Makefile,v
> retrieving revision 1.10
> diff -u -p -r1.10 Makefile
> --- devel/happy/Makefile 22 Jul 2007 12:24:46 -0000 1.10
> +++ devel/happy/Makefile 28 Jul 2007 15:37:05 -0000
> @@ -29,6 +29,7 @@ LIB_DEPENDS= gmp::devel/gmp
>
> SETUP_CONF_ARGS= configure -g --prefix=${PREFIX}
> SETUP_CONF_ENV= HOME=${PORTHOME} ${CONFIGURE_ENV}
> +SETUP_PROG= ${WRKSRC}/Setup
> SUBST_VARS= V
>
> # Required for building the documentation and for the regression tests:
> @@ -39,25 +40,26 @@ AUTOCONF_DIR= ${WRKSRC}/doc
> WRKCONF= ${AUTOCONF_DIR}
>
> post-configure:
> - @cd ${WRKSRC} && exec ${SETENV} ${SETUP_CONF_ENV} \
> - runhaskell Setup.lhs ${SETUP_CONF_ARGS}
> + @cd ${WRKSRC} && ghc --make -o ${SETUP_PROG} Setup.lhs
> + @cd ${WRKBUILD} && exec ${SETENV} ${SETUP_CONF_ENV} \
> + ${SETUP_PROG} ${SETUP_CONF_ARGS}
>
> do-build:
> @cd ${WRKBUILD} && exec ${SETENV} ${MAKE_ENV} \
> - runhaskell Setup.lhs build
> - @cd ${WRKSRC}/doc && exec ${SETENV} ${MAKE_ENV} \
> + ${SETUP_PROG} build
> + @cd ${WRKBUILD}/doc && exec ${SETENV} ${MAKE_ENV} \
> ${MAKE_PROGRAM} html
>
> do-install:
> @cd ${WRKBUILD} && exec ${SETENV} ${MAKE_ENV} \
> - runhaskell Setup.lhs copy --destdir=${DESTDIR}
> + ${SETUP_PROG} copy --destdir=${DESTDIR}
>
> post-install:
> ${INSTALL_DATA_DIR} ${PREFIX}/share/doc
> - cd ${WRKSRC}/doc && umask 022 && pax -rw happy ${PREFIX}/share/doc
> + cd ${WRKBUILD}/doc && umask 022 && pax -rw happy ${PREFIX}/share/doc
>
> do-regress:
> - @cd ${WRKSRC}/tests && exec ${SETENV} ${MAKE_ENV} \
> + @cd ${WRKBUILD}/tests && exec ${SETENV} ${MAKE_ENV} \
> gmake HAPPY=${WRKBUILD}/dist/build/happy/happy \
> TEST_HAPPY_OPTS="-t ${WRKBUILD}/templates --strict"
>
> Index: devel/hs-newbinary/Makefile
> ===================================================================
> RCS file: /cvs/ports/devel/hs-newbinary/Makefile,v
> retrieving revision 1.1.1.1
> diff -u -p -r1.1.1.1 Makefile
> --- devel/hs-newbinary/Makefile 21 Jul 2007 17:17:00 -0000 1.1.1.1
> +++ devel/hs-newbinary/Makefile 28 Jul 2007 15:37:05 -0000
> @@ -26,6 +26,7 @@ MASTER_SITES= ${HACKAGE}packages/archive
>
> CONFIGURE_ARGS= configure -g --prefix=${PREFIX}
> CONFIGURE_ENV= HOME=${PORTHOME}
> +SETUP_PROG= ${WRKSRC}/Setup
> SUBST_VARS= V
>
> NO_REGRESS= Yes
> @@ -36,19 +37,20 @@ post-install:
> .endfor
>
> do-configure:
> - @cd ${WRKSRC} && exec ${SETENV} ${CONFIGURE_ENV} \
> - runhaskell Setup.lhs ${CONFIGURE_ARGS}
> + @cd ${WRKSRC} && ghc --make -o ${SETUP_PROG} Setup.lhs
> + @cd ${WRKBUILD} && exec ${SETENV} ${CONFIGURE_ENV} \
> + ${SETUP_PROG} ${CONFIGURE_ARGS}
>
> do-build:
> @cd ${WRKBUILD} && exec ${SETENV} ${MAKE_ENV} \
> - runhaskell Setup.lhs build
> + ${SETUP_PROG} build
> @cd ${WRKBUILD} && exec ${SETENV} ${MAKE_ENV} \
> - runhaskell Setup.lhs register --gen-script
> + ${SETUP_PROG} register --gen-script
> @cd ${WRKBUILD} && exec ${SETENV} ${MAKE_ENV} \
> - runhaskell Setup.lhs unregister --gen-script
> + ${SETUP_PROG} unregister --gen-script
>
> do-install:
> @cd ${WRKBUILD} && exec ${SETENV} ${MAKE_ENV} \
> - runhaskell Setup.lhs copy --destdir=${DESTDIR}
> + ${SETUP_PROG} copy --destdir=${DESTDIR}
>
> .include <bsd.port.mk>
> Index: security/hs-crypto/Makefile
> ===================================================================
> RCS file: /cvs/ports/security/hs-crypto/Makefile,v
> retrieving revision 1.4
> diff -u -p -r1.4 Makefile
> --- security/hs-crypto/Makefile 21 Jul 2007 17:21:33 -0000 1.4
> +++ security/hs-crypto/Makefile 28 Jul 2007 15:37:05 -0000
> @@ -23,29 +23,30 @@ BUILD_DEPENDS+= ::devel/haddock
> LIB_DEPENDS+= ::devel/hs-newbinary
>
> SETUP_CONF_ARGS= configure -g --prefix=${PREFIX}
> -SETUP_CONF_ENV= HOME=${PORTHOME} \
> - PATH=${PATH}
> +SETUP_CONF_ENV= HOME=${PORTHOME} PATH=${PATH}
> +SETUP_PROG= ${WRKSRC}/Setup
> SUBST_VARS= V
>
> do-configure:
> - @cd ${WRKSRC} && exec ${SETENV} ${SETUP_CONF_ENV} \
> - runhaskell Setup.hs ${SETUP_CONF_ARGS}
> + @cd ${WRKSRC} && ghc --make -o ${SETUP_PROG} Setup.hs
> + @cd ${WRKBUILD} && exec ${SETENV} ${SETUP_CONF_ENV} \
> + ${SETUP_PROG} ${SETUP_CONF_ARGS}
>
> do-build:
> @cd ${WRKBUILD} && exec ${SETENV} ${MAKE_ENV} \
> - runhaskell Setup.hs build
> + ${SETUP_PROG} build
> @cd ${WRKBUILD} && exec ${SETENV} ${MAKE_ENV} \
> - runhaskell Setup.hs haddock
> + ${SETUP_PROG} haddock
> @cd ${WRKBUILD} && exec ${SETENV} ${MAKE_ENV} \
> - runhaskell Setup.hs register --gen-script
> + ${SETUP_PROG} register --gen-script
> @cd ${WRKBUILD} && exec ${SETENV} ${MAKE_ENV} \
> - runhaskell Setup.hs unregister --gen-script
> + ${SETUP_PROG} unregister --gen-script
> perl -pi -e 's!/share/${DISTNAME}/doc/html!/share/doc/${DISTNAME}!' \
> ${WRKBUILD}/register.sh
>
> do-install:
> @cd ${WRKBUILD} && exec ${SETENV} ${MAKE_ENV} \
> - runhaskell Setup.hs copy --destdir=${DESTDIR}
> + ${SETUP_PROG} copy --destdir=${DESTDIR}
>
> post-install:
> mv ${PREFIX}/share/${DISTNAME}/doc/html ${PREFIX}/share/doc/${DISTNAME}
> @@ -56,7 +57,7 @@ post-install:
>
> do-regress:
> cd ${WRKBUILD} && exec ${SETENV} HOME=${WRKDIR} PATH=${PATH} \
> - runhaskell Setup.hs register --inplace --user
> + ${SETUP_PROG} register --inplace --user
> .for t in BERTest RSATest SymmetricTest
> cd ${WRKBUILD} && ${SETENV} HOME=${WRKDIR} \
> ghc -o $t $t.hs -package Crypto && ./$t