Hi Matthias,

I made a couple of simplifications that pass lang/ghc build and the
resulting ghc package works for building a subset of Haskell packages (e.g.
xmonad, xmobar). I only tested on amd64.

* Remove unneeded patch-libffi_ghc_mk
* Use ghc 8.6 for bootstrap, cut gcc dependency

Thanks
Greg
-- 
nest.cx is Gmail hosted, use PGP:
https://pgp.key-server.io/0x0B1542BD8DF5A1B0
Fingerprint: 5E2B 2D0E 1E03 2046 BEC3  4D50 0B15 42BD 8DF5 A1B0
From 5af03d55127188f0427f23781b08559e489d6ab8 Mon Sep 17 00:00:00 2001
From: Greg Steuck <g...@nest.cx>
Date: Sun, 8 Mar 2020 17:08:16 -0700
Subject: [PATCH 1/2] Remove unneeded patch-libffi_ghc_mk

---
 lang/ghc/Makefile                    |  2 +-
 lang/ghc/patches/patch-libffi_ghc_mk | 17 -----------------
 2 files changed, 1 insertion(+), 18 deletions(-)
 delete mode 100644 lang/ghc/patches/patch-libffi_ghc_mk

diff --git lang/ghc/Makefile lang/ghc/Makefile
index 7a10d6d569a..b6ef0e463c7 100644
--- lang/ghc/Makefile
+++ lang/ghc/Makefile
@@ -12,7 +12,7 @@ COMMENT =		compiler for the functional language Haskell
 NO_CCACHE =		Yes
 
 DISTNAME =		ghc-${MODGHC_VER}
-REVISION =		0
+REVISION =		1
 CATEGORIES =		lang devel
 HOMEPAGE =		https://www.haskell.org/ghc/
 
diff --git lang/ghc/patches/patch-libffi_ghc_mk lang/ghc/patches/patch-libffi_ghc_mk
deleted file mode 100644
index 73a1655df20..00000000000
--- lang/ghc/patches/patch-libffi_ghc_mk
+++ /dev/null
@@ -1,17 +0,0 @@
-$OpenBSD: patch-libffi_ghc_mk,v 1.6 2017/11/07 02:58:34 kili Exp $
-
-Unbreak the build on OpenBSD/amd64: undefined references to
-'ffi_call_unix64', 'ffi_closure_unix64'
-
-gcc supports @unwind sections while ld (binutils 2.15) does not
-
---- libffi/ghc.mk.orig	Mon May 16 19:08:53 2016
-+++ libffi/ghc.mk	Wed Nov  2 11:07:58 2016
-@@ -96,6 +96,7 @@ $(libffi_STAMP_CONFIGURE): $(TOUCH_DEP)
- 	    RANLIB=$(REAL_RANLIB_CMD) \
-         CFLAGS="$(SRC_CC_OPTS) $(CONF_CC_OPTS_STAGE1) -w" \
-         LDFLAGS="$(SRC_LD_OPTS) -w" \
-+        libffi_cv_as_x86_64_unwind_section_type=no \
-         "$(SHELL)" ./configure \
- 	          --prefix=$(TOP)/libffi/build/inst \
- 	          --libdir=$(TOP)/libffi/build/inst/lib \
-- 
2.25.1

From e0c681fd62e248f9eb64348c00cfb3038f77a8a9 Mon Sep 17 00:00:00 2001
From: Greg Steuck <g...@nest.cx>
Date: Sun, 8 Mar 2020 21:59:07 -0700
Subject: [PATCH 2/2] Use ghc 8.6 for bootstrap, cut gcc dependency

---
 lang/ghc/Makefile | 12 +++---------
 lang/ghc/distinfo | 16 ++++++++--------
 2 files changed, 11 insertions(+), 17 deletions(-)

diff --git lang/ghc/Makefile lang/ghc/Makefile
index b6ef0e463c7..59578fd4c46 100644
--- lang/ghc/Makefile
+++ lang/ghc/Makefile
@@ -12,12 +12,12 @@ COMMENT =		compiler for the functional language Haskell
 NO_CCACHE =		Yes
 
 DISTNAME =		ghc-${MODGHC_VER}
-REVISION =		1
+REVISION =		2
 CATEGORIES =		lang devel
 HOMEPAGE =		https://www.haskell.org/ghc/
 
 # Version of the precompiled binaries
-BIN_VER =		8.4.2.20190113
+BIN_VER =		8.6.4.20200103
 
 # Pull in lang/ghc to get MODGHC_VER and ONLY_FOR_ARCHS, which is maintained
 # in ghc.port.mk. lang/python needed for regression tests.
@@ -43,11 +43,6 @@ BUILD_DEPENDS =		archivers/bzip2 \
 			textproc/py-sphinx
 RUN_DEPENDS =
 
-# The bootstrapping compiler needs gcc, but the new ghc can be built
-# with clang. So we just BUILD_DEPEND on gcc instead of using the gcc
-# MODULE, because the latter would also add some wrapper scripts
-BUILD_DEPENDS +=	lang/gcc/8>=8,<9
-
 # We can't use the wrapper script, because it then gets hardcoded into
 # the packaged ghc. So we explicitly use -Wl,-z,wxneeded (see
 # CONFIGURE_ENV below)
@@ -170,8 +165,7 @@ post-patch:
 	cd ${WRKDIR}/ghc-${BIN_VER} && \
 	LD_LIBRARY_PATH=${BOOTSTRAP_SHLIBS} \
 	CONFIGURE_ENV=${CONFIGURE_ENV} \
-	./configure --prefix=${WRKDIR}/bootstrap \
-		    CC=${LOCALBASE}/bin/egcc && \
+	./configure --prefix=${WRKDIR}/bootstrap CC="${CC}" && \
 	LD_LIBRARY_PATH=${BOOTSTRAP_SHLIBS} \
 	${MAKE_PROGRAM} install
 	rm -rf ${WRKDIR}/ghc-${BIN_VER}
diff --git lang/ghc/distinfo lang/ghc/distinfo
index 953ef0bec1b..a76f191c9b0 100644
--- lang/ghc/distinfo
+++ lang/ghc/distinfo
@@ -1,12 +1,12 @@
-SHA256 (ghc/ghc-8.4.2.20190113-amd64-unknown-openbsd.tar.xz) = mgX+n73l3DcSbSztQDuoLbg7SFNE0thfeyZnoXkP+aA=
-SHA256 (ghc/ghc-8.4.2.20190113-i386-unknown-openbsd.tar.xz) = Lunq6hJN267fQBn8xO91ECDdGDChzF02RLhw/Q2CIwY=
-SHA256 (ghc/ghc-8.4.2.20190113-shlibs-amd64.tar.gz) = fPgINvftpK632NOGqBuQ4Z7G730YRoq99aOaZrQGqAQ=
-SHA256 (ghc/ghc-8.4.2.20190113-shlibs-i386.tar.gz) = vMf8iRC17T9fZx5jcGwX/Y/5CHfQ/BFGq7QMKoyzqNg=
 SHA256 (ghc/ghc-8.6.4-src.tar.xz) = W10H5EYyA6Qzw+099GG6bM4RttK5smTbMfNCkHXQMDo=
 SHA256 (ghc/ghc-8.6.4-testsuite.tar.xz) = 6gLWerJMD10UfXSW4nuQQ+NlnUkd79LR4cewJo/q6/k=
-SIZE (ghc/ghc-8.4.2.20190113-amd64-unknown-openbsd.tar.xz) = 54549160
-SIZE (ghc/ghc-8.4.2.20190113-i386-unknown-openbsd.tar.xz) = 51355360
-SIZE (ghc/ghc-8.4.2.20190113-shlibs-amd64.tar.gz) = 2911998
-SIZE (ghc/ghc-8.4.2.20190113-shlibs-i386.tar.gz) = 2787557
+SHA256 (ghc/ghc-8.6.4.20200103-amd64-unknown-openbsd.tar.xz) = FuRFOYQx3c9DQfLnuNclC9fuLkZrZ417Ejcd2pV1yzw=
+SHA256 (ghc/ghc-8.6.4.20200103-i386-unknown-openbsd.tar.xz) = FJR1AbHK2dVjeRvGmTXeeKvaVovTiIL8gWSTrFchdV0=
+SHA256 (ghc/ghc-8.6.4.20200103-shlibs-amd64.tar.gz) = g8ZWkWC1G566Picr4/BP9NsRRG8yP6koxT38uZbJTGg=
+SHA256 (ghc/ghc-8.6.4.20200103-shlibs-i386.tar.gz) = JGQPKbZqC39D+2bu1QtntktuV9Y4hkf9zgpsY3cmD+8=
 SIZE (ghc/ghc-8.6.4-src.tar.xz) = 19029904
 SIZE (ghc/ghc-8.6.4-testsuite.tar.xz) = 1906656
+SIZE (ghc/ghc-8.6.4.20200103-amd64-unknown-openbsd.tar.xz) = 55272324
+SIZE (ghc/ghc-8.6.4.20200103-i386-unknown-openbsd.tar.xz) = 54531648
+SIZE (ghc/ghc-8.6.4.20200103-shlibs-amd64.tar.gz) = 2860780
+SIZE (ghc/ghc-8.6.4.20200103-shlibs-i386.tar.gz) = 2700953
-- 
2.25.1

Reply via email to