Update to ghc-6.12.3 (bugfix release), plus some minor changes:

- Use integer-gmp again.

- Cleanout the extracted bootstrap directory right after installing it
  to save some disk space.

- Use ${MAKE_ENV} instead ${MODGHC_SETUP_CONF_ENV} in ghc.port.mk (in
  do-configure, use both).

- Don't compile Setup.l?hs, just use the interpreter (runghc) in
  ghc.port.mk. This speeds up the build of most ports depending on
  ghc and using a cabal-style build.

Necessary bumps and WANTLIB changes in ports using ghc will follow
later this evening.
This commit is contained in:
kili 2010-06-15 15:34:03 +00:00
parent a1e380599c
commit 7d63ac0258
12 changed files with 1386 additions and 1435 deletions

View File

@ -1,11 +1,11 @@
# $OpenBSD: Makefile,v 1.36 2010/06/09 10:06:29 sthen Exp $
# $OpenBSD: Makefile,v 1.37 2010/06/15 15:34:03 kili Exp $
COMMENT-main = compiler for the functional language Haskell
COMMENT-doc = documentation for GHC
DISTNAME = ghc-${MODGHC_VER}
PKGNAME-main = ghc-${MODGHC_VER}p4
PKGNAME-doc = ghc-doc-${MODGHC_VER}p0
PKGNAME-main = ghc-${MODGHC_VER}
PKGNAME-doc = ghc-doc-${MODGHC_VER}
CATEGORIES = lang devel
HOMEPAGE = http://www.haskell.org/ghc/
@ -30,14 +30,15 @@ PKG_ARCH-doc = *
BUILD_DEPENDS = ::textproc/dblatex \
::textproc/docbook \
::textproc/docbook-xsl \
::textproc/libxslt \
::devel/gmp
::textproc/libxslt
LIB_DEPENDS-doc =
LIB_DEPENDS-main = ${LIB_DEPENDS} gmp::devel/gmp
RUN_DEPENDS-doc =
RUN_DEPENDS-main =
WANTLIB-main = c m ncurses pthread util
WANTLIB-main = c m ncurses util
MASTER_SITES = ${HOMEPAGE}dist/${MODGHC_VER}/ \
MASTER_SITES = http://darcs.haskell.org/download/dist/${MODGHC_VER}/ \
${HOMEPAGE}dist/${MODGHC_VER}/ \
${HOMEPAGE}dist/stable/dist/
MASTER_SITES0 = http://openbsd.dead-parrot.de/distfiles/
@ -60,13 +61,14 @@ USE_GMAKE = Yes
CONFIGURE_STYLE = gnu autoconf
AUTOCONF_VERSION = 2.61
CONFIGURE_ARGS += --with-iconv-includes=${LOCALBASE}/include \
CONFIGURE_ARGS += --with-gmp-includes=${LOCALBASE}/include \
--with-gmp-libraries=${LOCALBASE}/lib \
--with-iconv-includes=${LOCALBASE}/include \
--with-iconv-libraries=${LOCALBASE}/lib
MAKE_FLAGS += StripLibraries=YES \
INSTALL_BIN_OPTS=-s \
HSCOLOUR_SRCS=NO \
INTEGER_LIBRARY=integer-simple
HSCOLOUR_SRCS=NO
FAKE_FLAGS += CREATE_DATA="${INSTALL_DATA} /dev/null " \
CREATE_SCRIPT="${INSTALL_SCRIPT} /dev/null " \
@ -90,6 +92,7 @@ post-extract:
cd ${WRKDIR}/ghc-${BIN_VER} && \
./configure --prefix=${WRKDIR} && \
${MAKE_PROGRAM} install
rm -rf ${WRKDIR}/ghc-${BIN_VER}
mv ${WRKSRC}/utils/haddock{,-ghcdist}
mv ${WRKDIR}/devel/haddock/haddock-* ${WRKSRC}/utils/haddock
. for f in ghc.mk doc/ghc.mk haddock.wrapper

View File

@ -1,20 +1,20 @@
MD5 (ghc-6.12.2/ghc-6.12.2-src.tar.bz2) = t6s9PC1YU0yz8xoA4sEsZw==
MD5 (ghc-6.12.2/ghc-6.12.2.20100530-amd64-unknown-openbsd.tar.bz2) = PyKbDlU415ehj2N3vHHuDg==
MD5 (ghc-6.12.2/ghc-6.12.2.20100530-i386-unknown-openbsd.tar.bz2) = veyt7U16Hao7hRCXuA5Oew==
MD5 (ghc-6.12.2/testsuite-6.12.2.tar.bz2) = B+e98PB0KInOv0fluXe/bA==
RMD160 (ghc-6.12.2/ghc-6.12.2-src.tar.bz2) = rRFAIkIPuzE9xW8cUoXRzvTIjy8=
RMD160 (ghc-6.12.2/ghc-6.12.2.20100530-amd64-unknown-openbsd.tar.bz2) = jhp32SLXBgeVHpZhRILQvMJf0u8=
RMD160 (ghc-6.12.2/ghc-6.12.2.20100530-i386-unknown-openbsd.tar.bz2) = e+CiTYLDJpqlm4AoUZvEqSpZUok=
RMD160 (ghc-6.12.2/testsuite-6.12.2.tar.bz2) = MP1O2HUc9rt3P+M3YUrWUirHgTY=
SHA1 (ghc-6.12.2/ghc-6.12.2-src.tar.bz2) = QhlncpvquKUFG4t8IWJAv8uHnIQ=
SHA1 (ghc-6.12.2/ghc-6.12.2.20100530-amd64-unknown-openbsd.tar.bz2) = crzqjnBw2DTQq8wwwhq5BvnD3e8=
SHA1 (ghc-6.12.2/ghc-6.12.2.20100530-i386-unknown-openbsd.tar.bz2) = ieiIb5Vkjle86KF81X2KA3lSs9Q=
SHA1 (ghc-6.12.2/testsuite-6.12.2.tar.bz2) = XvmFkMaYVtqZE4KIdIOcwKQtEXc=
SHA256 (ghc-6.12.2/ghc-6.12.2-src.tar.bz2) = fx458LPdrKNbVc1DDKBY0cRnhEWnF3ORyctjQrfEGjA=
SHA256 (ghc-6.12.2/ghc-6.12.2.20100530-amd64-unknown-openbsd.tar.bz2) = hAf0ZUgJidJ/LYG/Am3pmAs/5/LvxswQktKJcjpPIiY=
SHA256 (ghc-6.12.2/ghc-6.12.2.20100530-i386-unknown-openbsd.tar.bz2) = yPuPRnjHISbTFOunUVt2TGQ4PK7+dtzE+4dMZ6nJ0Dw=
SHA256 (ghc-6.12.2/testsuite-6.12.2.tar.bz2) = D8/hgg7V+N7Akxk0NyJIy4lkbNOEiUCW1TtpvMMc410=
SIZE (ghc-6.12.2/ghc-6.12.2-src.tar.bz2) = 34158695
SIZE (ghc-6.12.2/ghc-6.12.2.20100530-amd64-unknown-openbsd.tar.bz2) = 43948408
SIZE (ghc-6.12.2/ghc-6.12.2.20100530-i386-unknown-openbsd.tar.bz2) = 44671578
SIZE (ghc-6.12.2/testsuite-6.12.2.tar.bz2) = 2612422
MD5 (ghc-6.12.3/ghc-6.12.2.20100530-amd64-unknown-openbsd.tar.bz2) = PyKbDlU415ehj2N3vHHuDg==
MD5 (ghc-6.12.3/ghc-6.12.2.20100530-i386-unknown-openbsd.tar.bz2) = veyt7U16Hao7hRCXuA5Oew==
MD5 (ghc-6.12.3/ghc-6.12.3-src.tar.bz2) = 4tpUMlmK1bRnQqehSFk55w==
MD5 (ghc-6.12.3/testsuite-6.12.3.tar.bz2) = XGFDBA0EPxDm0BTNX9jKNg==
RMD160 (ghc-6.12.3/ghc-6.12.2.20100530-amd64-unknown-openbsd.tar.bz2) = jhp32SLXBgeVHpZhRILQvMJf0u8=
RMD160 (ghc-6.12.3/ghc-6.12.2.20100530-i386-unknown-openbsd.tar.bz2) = e+CiTYLDJpqlm4AoUZvEqSpZUok=
RMD160 (ghc-6.12.3/ghc-6.12.3-src.tar.bz2) = FAqLSGq5juA3/Z9XRAByhAMIxp4=
RMD160 (ghc-6.12.3/testsuite-6.12.3.tar.bz2) = uQJcFEqRJ8aw1b7RyqjsNuQ92Lo=
SHA1 (ghc-6.12.3/ghc-6.12.2.20100530-amd64-unknown-openbsd.tar.bz2) = crzqjnBw2DTQq8wwwhq5BvnD3e8=
SHA1 (ghc-6.12.3/ghc-6.12.2.20100530-i386-unknown-openbsd.tar.bz2) = ieiIb5Vkjle86KF81X2KA3lSs9Q=
SHA1 (ghc-6.12.3/ghc-6.12.3-src.tar.bz2) = g7+N8wlc42HM5v6mDLvNoYmp85k=
SHA1 (ghc-6.12.3/testsuite-6.12.3.tar.bz2) = 2seUQTCl3dPJmmyc0wNGhJGkOCU=
SHA256 (ghc-6.12.3/ghc-6.12.2.20100530-amd64-unknown-openbsd.tar.bz2) = hAf0ZUgJidJ/LYG/Am3pmAs/5/LvxswQktKJcjpPIiY=
SHA256 (ghc-6.12.3/ghc-6.12.2.20100530-i386-unknown-openbsd.tar.bz2) = yPuPRnjHISbTFOunUVt2TGQ4PK7+dtzE+4dMZ6nJ0Dw=
SHA256 (ghc-6.12.3/ghc-6.12.3-src.tar.bz2) = OWt6Ef5u8qsJ5PdhVYO1Cct7WjOFpyjQAAtXLKJPbkc=
SHA256 (ghc-6.12.3/testsuite-6.12.3.tar.bz2) = FGSyNI4G5VfDAQc7zmLUJaoQCchhzxSmLYg/eVEejFk=
SIZE (ghc-6.12.3/ghc-6.12.2.20100530-amd64-unknown-openbsd.tar.bz2) = 43948408
SIZE (ghc-6.12.3/ghc-6.12.2.20100530-i386-unknown-openbsd.tar.bz2) = 44671578
SIZE (ghc-6.12.3/ghc-6.12.3-src.tar.bz2) = 26595682
SIZE (ghc-6.12.3/testsuite-6.12.3.tar.bz2) = 2617657

View File

@ -1,10 +1,10 @@
# $OpenBSD: ghc.port.mk,v 1.8 2010/05/06 20:00:19 kili Exp $
# $OpenBSD: ghc.port.mk,v 1.9 2010/06/15 15:34:03 kili Exp $
# Module for Glasgow Haskell Compiler
# Not yet ported to other architectures
ONLY_FOR_ARCHS = i386 amd64
MODGHC_VER = 6.12.2
MODGHC_VER = 6.12.3
SUBST_VARS += MODGHC_VER
MODGHC_BIN = ${LOCALBASE}/bin/ghc
@ -47,7 +47,7 @@ SUBST_VARS += DISTNAME MODGHC_HACKAGE_VERSION
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
@ -60,11 +60,13 @@ MODCABAL_configure = \
cd ${WRKSRC} && \
for s in ${MODGHC_SETUP_SCRIPT}; do \
test -f "$$s" && \
${MODGHC_BIN} --make \
-o ${MODGHC_SETUP_PROG} "$$s" && \
printf '\#!/bin/sh\nexec %s %s "$$@"\n' \
${LOCALBASE}/bin/runghc \
$$s > ${MODGHC_SETUP_PROG} && \
chmod +x ${MODGHC_SETUP_PROG} && \
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 +75,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 +91,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 +101,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

View File

@ -1,12 +0,0 @@
$OpenBSD: patch-configure_ac,v 1.1 2010/04/22 21:49:37 kili Exp $
--- configure.ac.orig Wed Mar 31 20:10:08 2010
+++ configure.ac Fri Apr 2 09:45:09 2010
@@ -321,7 +321,7 @@ esac
checkArch() {
case $1 in
- alpha|arm|hppa|hppa1_1|i386|ia64|m68k|mips|mipseb|mipsel|powerpc|powerpc64|rs6000|s390|sparc|sparc64|vax|x86_64)
+ alpha|amd64|arm|hppa|hppa1_1|i386|ia64|m68k|mips|mipseb|mipsel|powerpc|powerpc64|rs6000|s390|sparc|sparc64|vax|x86_64)
;;
*)
echo "Unknown arch $1"

View File

@ -1,12 +0,0 @@
$OpenBSD: patch-docs_index_html,v 1.1 2010/04/22 21:49:37 kili Exp $
--- docs/index.html.orig Tue Apr 13 20:10:04 2010
+++ docs/index.html Sat Apr 17 18:32:34 2010
@@ -39,7 +39,7 @@
<LI>
<P>
- <B><A HREF="libraries/ghc/index.html">GHC API</A></B>
+ <B><A HREF="libraries/ghc-${MODGHC_VER}/index.html">GHC API</A></B>
</P>
<P>
Documentation for the GHC API.

View File

@ -1,12 +1,12 @@
$OpenBSD: patch-ghc_mk,v 1.1 2010/04/22 21:49:37 kili Exp $
$OpenBSD: patch-ghc_mk,v 1.2 2010/06/15 15:34:03 kili Exp $
I don't see the point in not installing libraries that are required
by the build (and by several external haskell libraries we have or
will have in the ports tree).
--- ghc.mk.orig Wed Mar 31 20:10:09 2010
+++ ghc.mk Fri Apr 2 09:47:24 2010
@@ -841,7 +841,7 @@ INSTALLED_GHC_REAL=$(DESTDIR)$(bindir)/ghc.exe
--- ghc.mk.orig Tue May 25 20:10:08 2010
+++ ghc.mk Wed May 26 20:30:13 2010
@@ -844,7 +844,7 @@ INSTALLED_GHC_REAL=$(DESTDIR)$(bindir)/ghc.exe
INSTALLED_GHC_PKG_REAL=$(DESTDIR)$(bindir)/ghc-pkg.exe
endif

View File

@ -1,21 +0,0 @@
$OpenBSD: patch-libraries_base_System_Posix_Internals_hs,v 1.1 2010/04/22 21:49:37 kili Exp $
Kids, please don't blindly fix stupid compiler warnings without
looking at what you are changing. (In this case, the comment right
above the chunk was there for a reason, I guess; go read it)
Only this part for now, but there may be more.
--- libraries/base/System/Posix/Internals.hs.orig Tue Apr 13 20:10:09 2010
+++ libraries/base/System/Posix/Internals.hs Thu Apr 15 13:18:27 2010
@@ -327,8 +327,8 @@ setNonBlockingFD fd set = do
let flags' | set = flags .|. o_NONBLOCK
| otherwise = flags .&. complement o_NONBLOCK
unless (flags == flags') $ do
- throwErrnoIfMinus1Retry_ "fcntl_write" $
- c_fcntl_write fd const_f_setfl (fromIntegral flags')
+ _ <- c_fcntl_write fd const_f_setfl (fromIntegral flags')
+ return ()
#else
-- bogus defns for win32

View File

@ -1,6 +1,6 @@
$OpenBSD: patch-mk_config_mk_in,v 1.3 2010/05/06 20:00:19 kili Exp $
--- mk/config.mk.in.orig Tue Apr 20 20:10:07 2010
+++ mk/config.mk.in Wed May 5 18:48:09 2010
$OpenBSD: patch-mk_config_mk_in,v 1.4 2010/06/15 15:34:03 kili Exp $
--- mk/config.mk.in.orig Thu Jun 10 20:10:13 2010
+++ mk/config.mk.in Tue Jun 15 09:48:51 2010
@@ -245,13 +245,6 @@ ifeq "$(BootingFromHc)" "NO"
GhcRTSWays += debug
endif

View File

@ -1,20 +1,21 @@
$OpenBSD: patch-testsuite_driver_testlib_py,v 1.1 2010/04/22 21:49:37 kili Exp $
--- testsuite/driver/testlib.py.orig Thu Apr 15 15:23:09 2010
+++ testsuite/driver/testlib.py Fri Apr 16 16:02:57 2010
@@ -1224,6 +1224,12 @@ def compare_outputs( kind, normaliser, extra_normalise
$OpenBSD: patch-testsuite_driver_testlib_py,v 1.2 2010/06/15 15:34:03 kili Exp $
--- testsuite/driver/testlib.py.orig Wed May 26 19:53:30 2010
+++ testsuite/driver/testlib.py Thu May 27 18:40:14 2010
@@ -1224,6 +1224,13 @@ def compare_outputs( kind, normaliser, extra_normalise
actual_raw = read_no_crs(actual_file)
actual_str = normaliser(actual_raw)
+ # Strip OpenBSDs linker warnings about strcpy(3) & friends.
+ if config.os == 'openbsd':
+ actual_str = re.sub('.*: In function .*:\n: warning: .* is .* misused, please use .*\n',
+ actual_str = re.sub('.*: In function .*:\n+(.*:[0-9]+:[0-9]+:\n)?:? *warning: .* is .* misused, please use .*\n',
+ '', actual_str)
+ actual_str = re.sub('.*/libgmp\.so\.[0-9]*\.[0-9]*: warning: .* is .* misused, please use .*\n',
+ '', actual_str)
+
+
if extra_normaliser(expected_str) != extra_normaliser(actual_str):
print 'Actual ' + kind + ' output differs from expected:'
@@ -1238,13 +1244,13 @@ def compare_outputs( kind, normaliser, extra_normalise
@@ -1238,13 +1245,13 @@ def compare_outputs( kind, normaliser, extra_normalise
# Ignore whitespace when diffing. We should only get to this
# point if there are non-whitespace differences

View File

@ -1,14 +0,0 @@
$OpenBSD: patch-testsuite_timeout_Makefile,v 1.1 2010/04/22 21:49:37 kili Exp $
--- testsuite/timeout/Makefile.orig Thu Apr 15 15:26:22 2010
+++ testsuite/timeout/Makefile Fri Apr 16 16:02:57 2010
@@ -27,7 +27,9 @@ $(TIMEOUT_PROGRAM): timeout.py
rm -rf install-inplace
mkdir install-inplace
mkdir install-inplace/bin
- cp $< $@
+ cp $< $@.py
+ echo '#!/bin/sh' > $@
+ echo exec ${PYTHON} \$$0.py \"\$$@\" >> $@
chmod +x $@
else
# The python timeout program doesn't work on mingw, so we still use the

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff