Sunday, March 08, 2020

lang/ghc fixups

From 5af03d55127188f0427f23781b08559e489d6ab8 Mon Sep 17 00:00:00 2001
From: Greg Steuck <greg@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 <greg@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

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

No comments:

Post a Comment