[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