[50666] trunk/dports/lang/ghc/Portfile

gwright at macports.org gwright at macports.org
Wed May 6 00:35:12 PDT 2009


Revision: 50666
          http://trac.macports.org/changeset/50666
Author:   gwright at macports.org
Date:     2009-05-06 00:35:09 -0700 (Wed, 06 May 2009)
Log Message:
-----------
Version bump to 6.10.2.
Will shortly be replaced by version 6.10.3, which fixes a bug in ghci, but
6.10.2 is the baseline version for the haskell platform, which I would like
to start supporting.

Modified Paths:
--------------
    trunk/dports/lang/ghc/Portfile

Modified: trunk/dports/lang/ghc/Portfile
===================================================================
--- trunk/dports/lang/ghc/Portfile	2009-05-06 06:51:18 UTC (rev 50665)
+++ trunk/dports/lang/ghc/Portfile	2009-05-06 07:35:09 UTC (rev 50666)
@@ -3,8 +3,8 @@
 PortSystem 1.0
 
 name		ghc
-version		6.10.1
-revision	9
+set canonicalname	ghc
+version		6.10.2
 categories	lang haskell
 maintainers	gwright
 platforms	darwin
@@ -22,23 +22,27 @@
 		GHC comes with a generational garbage collector,	\
 		and a space and time profiler.
 
-homepage	http://haskell.org/${name}
-#master_sites	${homepage}/dist/${version}/
-master_sites	${homepage}/dist/stable/dist/
+homepage	http://haskell.org/${canonicalname}
+master_sites	${homepage}/dist/${version}/
 
 use_bzip2	yes
 
-distfiles	${name}-${version}-src.tar.bz2			\
-		${name}-${version}-src-extralibs.tar.bz2
+distfiles	${canonicalname}-${version}-src.tar.bz2			\
+		${canonicalname}-${version}-src-extralibs.tar.bz2	\
+		testsuite-${version}.tar.bz2
 
-checksums	${name}-${version}-src.tar.bz2			\
-                    md5     54c676a632b3d73cf526b06347522c32		\
-                    sha1    5b3759d6a1177f0cc8f754673b52bfd31923280f	\
-                    rmd160  4768e7246edd494367232e3af030ffed77990c10	\
-		${name}-${version}-src-extralibs.tar.bz2	\
-                    md5     4ff4590f1002ae1ff608874da8643c67		\
-                    sha1    279072813e265bb143c7e612d5900bb324c72f6c	\
-                    rmd160  34fe542788284c1e2167a955c3219e7e539eff4e
+checksums       ${canonicalname}-${version}-src.tar.bz2 \
+                    md5     243d5857e5aa5f2f86e5e4c4437973fb \
+                    sha1    55a7bae8f9f114b3dddd19cba87479ddfb91c804 \
+                    rmd160  a943a30c6ee91d4c4f92dd5d14e4fe80eb78567e \
+                ${canonicalname}-${version}-src-extralibs.tar.bz2 \
+                    md5     9415604386ca69ebe15f1054653aefaf \
+                    sha1    faef7d9aa3f08e24bf5a6b9aed234d05c649829d \
+                    rmd160  08d4ecb6b3042bde066ec0368112d74f5b7c2fdc \
+                testsuite-${version}.tar.bz2 \
+                    md5     ed6f38347a791a69f1c3d0bc5a6780cb \
+                    sha1    6622e2009b994a75b32f2cb96f6ba6dc7501db19 \
+                    rmd160  ce8f850e504ade151de6146732de05ff24c341db \
 
 # ghc does not support a universal build:
 universal_variant	no
@@ -46,16 +50,13 @@
 # On (at least) i386/Tiger, the file compiler/ghc.cabal.in needs to be
 # patched so it can find the GMP library.
 #
-patchfiles	patch-configure.ac.diff		\
-		patch-aclocal.m4.diff		\
-		patch-libraries-Makefile.diff	\
-		patch-compiler-ghc.cabal.in.diff
+patchfiles	patch-configure.ac.diff			\
+		patch-aclocal.m4.diff			\
+		patch-libraries-Makefile.diff		\
+		patch-compiler-ghc.cabal.in.diff	\
+		patch-testsuite-timeout-Makefile.diff	\
+		patch-testsuite-mk-boilerplate.mk.diff
 
-post-patch	{
-		reinplace "s|XXPATH_TO_HSC2HSXX|${workpath}/ghc-bootstrap/bin/hsc2hs|" ${worksrcpath}/libraries/Makefile
-		reinplace "s|XXPATH_TO_GMP_LIBRARYXX|${prefix}/lib|" ${worksrcpath}/compiler/ghc.cabal.in
-}
-
 depends_lib	port:libedit \
 		port:gmp
 
@@ -69,18 +70,18 @@
 depends_lib-append	port:perl5.8
 configure.env-append	PerlCmd=${prefix}/bin/perl5.8
 
-worksrcdir	${name}-${version}
+worksrcdir	${canonicalname}-${version}
 
 platform darwin 6 {
 		pre-fetch {
-			return -code error "${name} is not supported on Mac OS X 10.2.x (Jaguar)"
+			return -code error "${canonicalname} is not supported on Mac OS X 10.2.x (Jaguar)"
 		}
 }
 
 
 platform darwin 7 {
 		pre-fetch {
-			return -code error "${name} is not supported on Mac OS X 10.3.x (Panther)"
+			return -code error "${canonicalname} is not supported on Mac OS X 10.3.x (Panther)"
 		}
 }
 
@@ -91,15 +92,15 @@
 
 		master_sites-append	${homepage}/dist/${ghc_bootversion}/:bootstrap
 
-		distfiles-append	${name}-${ghc_bootversion}-darwin-ppc-tiger-bootstrap.tar.bz2:bootstrap
+		distfiles-append	${canonicalname}-${ghc_bootversion}-darwin-ppc-tiger-bootstrap.tar.bz2:bootstrap
 
-                checksums-append	${name}-${ghc_bootversion}-darwin-ppc-tiger-bootstrap.tar.bz2 md5     511f4bec375b51aaa82de999529916ae		\
+                checksums-append	${canonicalname}-${ghc_bootversion}-darwin-ppc-tiger-bootstrap.tar.bz2 md5     511f4bec375b51aaa82de999529916ae		\
                       sha1    cb6974a680168246c6e13a92818b39c559d7a2b4	\
                       rmd160  be60cfffc0ed223fb39ce2fe40ad501486564f0e
 
-		extract.only		${name}-${version}-src.tar.bz2 \
-					${name}-${version}-src-extralibs.tar.bz2 \
-					${name}-${ghc_bootversion}-darwin-ppc-tiger-bootstrap.tar.bz2
+		extract.only		${canonicalname}-${version}-src.tar.bz2 \
+					${canonicalname}-${version}-src-extralibs.tar.bz2 \
+					${canonicalname}-${ghc_bootversion}-darwin-ppc-tiger-bootstrap.tar.bz2
 }
 
 
@@ -109,13 +110,13 @@
 
 		master_sites-append	${homepage}/dist/${ghc_bootversion}/:bootstrap
 
-		distfiles-append	${name}-${ghc_bootversion}-darwin-i386-tiger-bootstrap-rev1.tar.bz2:bootstrap
+		distfiles-append	${canonicalname}-${ghc_bootversion}-darwin-i386-tiger-bootstrap-rev1.tar.bz2:bootstrap
 
-		checksums-append	${name}-${ghc_bootversion}-darwin-i386-tiger-bootstrap-rev1.tar.bz2 md5 f01663cecefd50b5f1e1f524f49cd6df
+		checksums-append	${canonicalname}-${ghc_bootversion}-darwin-i386-tiger-bootstrap-rev1.tar.bz2 md5 f01663cecefd50b5f1e1f524f49cd6df
 
-		extract.only		${name}-${version}-src.tar.bz2 \
-					${name}-${version}-src-extralibs.tar.bz2 \
-					${name}-${ghc_bootversion}-darwin-i386-tiger-bootstrap-rev1.tar.bz2
+		extract.only		${canonicalname}-${version}-src.tar.bz2 \
+					${canonicalname}-${version}-src-extralibs.tar.bz2 \
+					${canonicalname}-${ghc_bootversion}-darwin-i386-tiger-bootstrap-rev1.tar.bz2
 }
 
 
@@ -125,15 +126,15 @@
 
 		master_sites-append	${homepage}/dist/${ghc_bootversion}/:bootstrap
 
-		distfiles-append	${name}-${ghc_bootversion}-darwin-ppc-leopard-bootstrap.tar.bz2:bootstrap
+		distfiles-append	${canonicalname}-${ghc_bootversion}-darwin-ppc-leopard-bootstrap.tar.bz2:bootstrap
 
-                checksums-append	${name}-${ghc_bootversion}-darwin-ppc-leopard-bootstrap.tar.bz2 md5     511f4bec375b51aaa82de999529916ae	\
+                checksums-append	${canonicalname}-${ghc_bootversion}-darwin-ppc-leopard-bootstrap.tar.bz2 md5     511f4bec375b51aaa82de999529916ae	\
                         sha1    cb6974a680168246c6e13a92818b39c559d7a2b4\
                         rmd160  be60cfffc0ed223fb39ce2fe40ad501486564f0e
 
-		extract.only		${name}-${version}-src.tar.bz2 \
-					${name}-${version}-src-extralibs.tar.bz2 \
-					${name}-${ghc_bootversion}-darwin-ppc-leopard-bootstrap.tar.bz2
+		extract.only		${canonicalname}-${version}-src.tar.bz2 \
+					${canonicalname}-${version}-src-extralibs.tar.bz2 \
+					${canonicalname}-${ghc_bootversion}-darwin-ppc-leopard-bootstrap.tar.bz2
 }
 
 
@@ -143,30 +144,39 @@
 
 		master_sites-append	${homepage}/dist/${ghc_bootversion}/:bootstrap
 
-		distfiles-append	${name}-${ghc_bootversion}-darwin-i386-leopard-bootstrap.tar.bz2:bootstrap
+		distfiles-append	${canonicalname}-${ghc_bootversion}-darwin-i386-leopard-bootstrap.tar.bz2:bootstrap
 
-		checksums-append	${name}-${ghc_bootversion}-darwin-i386-leopard-bootstrap.tar.bz2 md5 f263cedef8bcbaa7e9014b3e06923583
+		checksums-append	${canonicalname}-${ghc_bootversion}-darwin-i386-leopard-bootstrap.tar.bz2 md5 f263cedef8bcbaa7e9014b3e06923583
 
-		extract.only		${name}-${version}-src.tar.bz2 \
-					${name}-${version}-src-extralibs.tar.bz2 \
-					${name}-${ghc_bootversion}-darwin-i386-leopard-bootstrap.tar.bz2
+		extract.only		${canonicalname}-${version}-src.tar.bz2 \
+					${canonicalname}-${version}-src-extralibs.tar.bz2 \
+					${canonicalname}-${ghc_bootversion}-darwin-i386-leopard-bootstrap.tar.bz2
 }
 
 
+post-extract {
+     system "tar jxf ${distpath}/testsuite-${version}.tar.bz2 -C ${worksrcpath}" 
+}
+
+
 post-patch	{
+		reinplace "s|XXPATH_TO_HSC2HSXX|${workpath}/ghc-bootstrap/bin/hsc2hs|" ${worksrcpath}/libraries/Makefile
+
+		reinplace "s|XXPATH_TO_GMP_LIBRARYXX|${prefix}/lib|" ${worksrcpath}/compiler/ghc.cabal.in
+
 		reinplace "s|/opt/local/lib/ghc-${ghc_bootversion}|${workpath}/ghc-bootstrap/lib/ghc-${ghc_bootversion}|g" ${workpath}/ghc-bootstrap/lib/ghc-${ghc_bootversion}/package.conf
 
-		reinplace "s|GHCBIN=/opt/local|GHCBIN=${workpath}/${name}-bootstrap|" ${workpath}/${name}-bootstrap/bin/ghc
+		reinplace "s|GHCBIN=/opt/local|GHCBIN=${workpath}/${canonicalname}-bootstrap|" ${workpath}/${canonicalname}-bootstrap/bin/ghc
 
-		reinplace "s|TOPDIROPT=-B/opt/local|TOPDIROPT=-B${workpath}/${name}-bootstrap|" ${workpath}/${name}-bootstrap/bin/ghc
+		reinplace "s|TOPDIROPT=-B/opt/local|TOPDIROPT=-B${workpath}/${canonicalname}-bootstrap|" ${workpath}/${canonicalname}-bootstrap/bin/ghc
 
-		reinplace "s|-L/opt/local|-L${prefix}|" ${workpath}/${name}-bootstrap/bin/ghc
+		reinplace "s|-L/opt/local|-L${prefix}|" ${workpath}/${canonicalname}-bootstrap/bin/ghc
 
-		reinplace "s|-I/opt/local|-I${prefix}|" ${workpath}/${name}-bootstrap/bin/ghc
+		reinplace "s|-I/opt/local|-I${prefix}|" ${workpath}/${canonicalname}-bootstrap/bin/ghc
 
-		reinplace "s|/opt/local|${prefix}|" ${workpath}/${name}-bootstrap/lib/ghc-${ghc_bootversion}/ghc-asm
+		reinplace "s|/opt/local|${prefix}|" ${workpath}/${canonicalname}-bootstrap/lib/ghc-${ghc_bootversion}/ghc-asm
 
-		reinplace "s|/opt/local|${prefix}|" ${workpath}/${name}-bootstrap/lib/ghc-${ghc_bootversion}/ghc-split
+		reinplace "s|/opt/local|${prefix}|" ${workpath}/${canonicalname}-bootstrap/lib/ghc-${ghc_bootversion}/ghc-split
 
 }
 
@@ -230,21 +240,32 @@
 			ac_cv_lib_elf_nlist=no
 
 configure.args  --prefix=${destroot}${prefix}				\
-		--datadir=${destroot}${prefix}/share/${name}-${version}	\
+		--datadir=${destroot}${prefix}/share/${canonicalname}-${version}	\
 		--with-gmp-includes=${prefix}/include			\
 		--with-gmp-libraries=${prefix}/lib			\
-		--with-ghc='${workpath}/${name}-bootstrap/bin/ghc'
+		--with-ghc='${workpath}/${canonicalname}-bootstrap/bin/ghc'
 
 build	{
 	system "cd ${worksrcpath} && env DYLD_FALLBACK_LIBRARY_PATH=${prefix}/lib ${build.cmd}"
 }
 
 # This should not be necessary, but it seems to work around a bug
-# that exist at least in MP 1.600.
+# that exists at least in MP 1.600.
 destroot	{
 	system "cd ${worksrcpath} && ${destroot.cmd} ${destroot.target}"
 }
 
+# Note that we catch the results of the tests, since usually at least
+# one of the tests unexpectedly fails.
+
+set testlog ${canonicalname}-${version}-tests.log
+
+test {
+     set testpath    ${worksrcpath}/testsuite-${version}
+     catch {system "cd ${testpath} && make stage=2 2>&1 | tee ${workpath}/${testlog}"}
+}
+
+
 post-destroot	{
 	reinplace s|${destroot}${prefix}|${prefix}|g ${destroot}${prefix}/bin/ghc
 	reinplace s|${destroot}${prefix}|${prefix}|g ${destroot}${prefix}/bin/ghc-${version}
@@ -257,10 +278,23 @@
 	reinplace s|${destroot}${prefix}|${prefix}|g ${destroot}${prefix}/bin/runghc
 
 	reinplace "s|\\\$@\"\}|\\\$@\"\} -L${prefix}/lib -I${prefix}/include |" ${destroot}${prefix}/bin/ghc
-	reinplace s|${destroot}${prefix}|${prefix}|g ${destroot}${prefix}/lib/${name}-${version}/package.conf
+	reinplace s|${destroot}${prefix}|${prefix}|g ${destroot}${prefix}/lib/${canonicalname}-${version}/package.conf
 
-	file rename ${destroot}${prefix}/bin/haddock ${destroot}${prefix}/bin/haddock-${name}
+	file rename ${destroot}${prefix}/bin/haddock ${destroot}${prefix}/bin/haddock-${canonicalname}
 
         system "ranlib ${destroot}${prefix}/lib/ghc-${version}/*.a"
+
+	if {[file exists ${workpath}/${testlog}]} {
+		set testsavepath ${prefix}/share/${canonicalname}-${version}/tests
+		file mkdir  ${destroot}${testsavepath}
+		file rename ${workpath}/${testlog} ${destroot}${testsavepath}/${testlog}
+		ui_msg "Test results are saved in ${testsavepath}"
+	}
 }
 
+# Fix a bug in the definition of 6.10.2's rts package:
+#
+post-activate {
+	system "${prefix}/bin/ghc-pkg describe rts | sed 's/PAPI_INCLUDE_DIR//' | ${prefix}/bin/ghc-pkg update -"
+}
+
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macosforge.org/pipermail/macports-changes/attachments/20090506/17bee89a/attachment.html>


More information about the macports-changes mailing list