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.

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.

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

Reply via email to