This is for Haskell people only ;-)

Use ${MAKE_ENV} in ghc.mod.mk where it's used in other ports. This
allows tweaks like symlinking /bin/sh to ${WRKDIR}/bin/bash and
watching a port like devel/darcs failing on make regress (because
it needs a real bash).

Let MODGHC_SETUP_CONF_ENV default to be empty. The only port that
makes uses of this variable for now is graphics/hs-GLUT (also
included in the diff below). I could use CONFIGURE_ENV for this,
but some Haskell ports are using a combination of the Cabal stuff
(i.e.  ./Setup.lhs) and autoconf, so I stick to MODGHC_SETUP_CONF_ENV
for now.

A rebuild of all Haskell ports survived on my machine (including
ports no man except me has ever seen before).

I'd appreciate some comments.

Ciao,
        Kili

Index: lang/ghc/ghc.port.mk
===================================================================
RCS file: /cvs/ports/lang/ghc/ghc.port.mk,v
retrieving revision 1.8
diff -u -p -r1.8 ghc.port.mk
--- lang/ghc/ghc.port.mk        6 May 2010 20:00:19 -0000       1.8
+++ lang/ghc/ghc.port.mk        24 May 2010 20:13:36 -0000
@@ -47,7 +47,7 @@ SUBST_VARS +=                 DISTNAME MODGHC_HACKAGE_
 MODGHC_SETUP_SCRIPT ?=         Setup.lhs Setup.hs
 MODGHC_SETUP_PROG ?=           ${WRKSRC}/Setup
 MODGHC_SETUP_CONF_ARGS ?=
-MODGHC_SETUP_CONF_ENV ?=       HOME=${PORTHOME} PATH=${PATH}
+MODGHC_SETUP_CONF_ENV ?=
 
 .  if ${MODGHC_BUILD:L:Mhaddock}
 BUILD_DEPENDS +=               ::devel/haddock
@@ -64,7 +64,7 @@ MODCABAL_configure = \
                        -o ${MODGHC_SETUP_PROG} "$$s" && \
                break; \
        done && \
-       cd ${WRKBUILD} && exec ${SETENV} ${MODGHC_SETUP_CONF_ENV} \
+       cd ${WRKBUILD} && exec ${SETENV} ${MAKE_ENV} ${MODGHC_SETUP_CONF_ENV} \
                ${MODGHC_SETUP_PROG} \
                        configure -g -O --prefix=${PREFIX} \
                        ${MODGHC_SETUP_CONF_ARGS}
@@ -73,7 +73,7 @@ CONFIGURE_STYLE +=            CABAL
 
 .  if !target(do-build)
 do-build:
-       @cd ${WRKBUILD} && exec ${SETENV} ${MODGHC_SETUP_CONF_ENV} \
+       @cd ${WRKBUILD} && exec ${SETENV} ${MAKE_ENV} \
                ${MODGHC_SETUP_PROG} build
 .   if ${MODGHC_BUILD:L:Mhaddock}
        @cd ${WRKBUILD} && exec ${SETENV} ${MAKE_ENV} \
@@ -89,7 +89,7 @@ do-build:
 
 .  if !target(do-install)
 do-install:
-       @cd ${WRKBUILD} && exec ${SETENV} ${MODGHC_SETUP_CONF_ENV} \
+       @cd ${WRKBUILD} && exec ${SETENV} ${MAKE_ENV} \
                ${MODGHC_SETUP_PROG} copy --destdir=${DESTDIR}
 .   if ${MODGHC_BUILD:L:Mregister}
        @${INSTALL_SCRIPT} ${WRKBUILD}/register.sh ${PREFIX}/lib/${DISTNAME}
@@ -99,7 +99,7 @@ do-install:
 
 .  if !target(do-regress)
 do-regress:
-       @cd ${WRKBUILD} && exec ${SETENV} ${MODGHC_SETUP_CONF_ENV} \
+       @cd ${WRKBUILD} && exec ${SETENV} ${MAKE_ENV} \
                ${MODGHC_SETUP_PROG} test
 .  endif
 . endif
Index: graphics/hs-GLUT/Makefile
===================================================================
RCS file: /cvs/ports/graphics/hs-GLUT/Makefile,v
retrieving revision 1.3
diff -u -p -r1.3 Makefile
--- graphics/hs-GLUT/Makefile   19 May 2010 15:58:21 -0000      1.3
+++ graphics/hs-GLUT/Makefile   24 May 2010 20:13:36 -0000
@@ -28,9 +28,7 @@ BUILD_DEPENDS =               ${RUN_DEPENDS}
 
 USE_X11 =              Yes
 
-# XXX improve ghc.port.mk to avoid this uglyness
 MODGHC_SETUP_CONF_ENV =        CPPFLAGS=-I${LOCALBASE}/include \
-                       LDFLAGS=-L${LOCALBASE}/lib \
-                       HOME=${PORTHOME} PATH=${PATH}
+                       LDFLAGS=-L${LOCALBASE}/lib
 
 .include <bsd.port.mk>

Reply via email to