summaryrefslogtreecommitdiff
path: root/lang/ghc88
diff options
context:
space:
mode:
authorpho <pho@pkgsrc.org>2020-08-24 17:23:11 +0000
committerpho <pho@pkgsrc.org>2020-08-24 17:23:11 +0000
commit3ea71a0f5125102d9d623560c2d3f755270ae388 (patch)
tree9438669969b7f2a51f61a06da359de7c4dc93070 /lang/ghc88
parentf18c58b73e16eb1286015e9669bcfcc8aa5071ca (diff)
downloadpkgsrc-3ea71a0f5125102d9d623560c2d3f755270ae388.tar.gz
Update to GHC 8.8.4
The full change log is too long to paste here. Changes from 8.8.1 to 8.8.2: https://downloads.haskell.org/~ghc/8.8.2/docs/html/users_guide/8.8.2-notes.html Changes from 8.8.2 to 8.8.3: https://downloads.haskell.org/~ghc/8.8.3/docs/html/users_guide/8.8.3-notes.html Changes from 8.8.3 to 8.8.4: https://downloads.haskell.org/~ghc/8.8.4/docs/html/users_guide/8.8.4-notes.html
Diffstat (limited to 'lang/ghc88')
-rw-r--r--lang/ghc88/Makefile18
-rw-r--r--lang/ghc88/distinfo15
-rw-r--r--lang/ghc88/patches/patch-aclocal.m423
-rw-r--r--lang/ghc88/patches/patch-ghc_ghc.mk11
-rw-r--r--lang/ghc88/patches/patch-rules_distdir-way-opts.mk17
5 files changed, 24 insertions, 60 deletions
diff --git a/lang/ghc88/Makefile b/lang/ghc88/Makefile
index f4f0ca7ceaa..d138fc550be 100644
--- a/lang/ghc88/Makefile
+++ b/lang/ghc88/Makefile
@@ -1,9 +1,8 @@
-# $NetBSD: Makefile,v 1.12 2020/03/24 20:40:15 joerg Exp $
+# $NetBSD: Makefile,v 1.13 2020/08/24 17:23:11 pho Exp $
# -----------------------------------------------------------------------------
# Package metadata
#
-DISTNAME= ghc-8.8.1-src
-PKGREVISION= 2
+DISTNAME= ghc-8.8.4-src
PKGNAME= ${DISTNAME:S/-src$//}
CATEGORIES= lang
MASTER_SITES= https://downloads.haskell.org/~ghc/${PKGVERSION_NOREV}/
@@ -101,12 +100,13 @@ CONFIGURE_ENV+= \
# The runtime system of GHC (rts) tends to conflict with PaX MPROTECT
# because it needs to generate various kinds of code at run time. The
# RTS linker, whose job is to load *static* objects at run time,
-# doesn't play nice with ASLR either. This means most executables
-# produced by GHC need them to be disabled. Perhaps we should patch
-# rts/sm/Storage.c so that it uses ffi_closure_alloc(3) on every
-# platform, not just Linux, and also drop support for static library
-# loading and switch to dynamic libraries entirely.
-# (Partially done: https://gitlab.haskell.org/ghc/ghc/merge_requests/2498)
+# doesn't play nice with ASLR either because it relies on
+# mmap(MAP_FIXED). This means most executables produced by GHC need
+# them to be disabled. Perhaps we should patch rts/sm/Storage.c so
+# that it uses ffi_closure_alloc(3) on every platform, not just Linux,
+# and also drop support for static library loading and switch to
+# dynamic libraries entirely. (Partially done:
+# https://gitlab.haskell.org/ghc/ghc/merge_requests/2498)
.for f in ghc ghc-iserv ghc-iserv-dyn ghc-iserv-prof ghc-pkg haddock hpc hsc2hs runghc
NOT_PAX_MPROTECT_SAFE+= lib/${PKGNAME_NOREV}/bin/${f}
NOT_PAX_ASLR_SAFE+= lib/${PKGNAME_NOREV}/bin/${f}
diff --git a/lang/ghc88/distinfo b/lang/ghc88/distinfo
index 4c9fb1f7c94..53f966d68d5 100644
--- a/lang/ghc88/distinfo
+++ b/lang/ghc88/distinfo
@@ -1,4 +1,4 @@
-$NetBSD: distinfo,v 1.11 2020/02/17 17:26:53 jperkin Exp $
+$NetBSD: distinfo,v 1.12 2020/08/24 17:23:11 pho Exp $
SHA1 (ghc-8.4.4-boot-i386-unknown-freebsd.tar.xz) = 04981802730423aa12999e59679be198d540222a
RMD160 (ghc-8.4.4-boot-i386-unknown-freebsd.tar.xz) = f617e67f2c2f07c7211cb391a4bc2e7b304045e2
@@ -20,14 +20,14 @@ SHA1 (ghc-8.4.4-boot-x86_64-unknown-solaris2.tar.xz) = f7021882f5bd695834bdef17b
RMD160 (ghc-8.4.4-boot-x86_64-unknown-solaris2.tar.xz) = 986c8ef22d4a2cb5cbf058dafd8b8dc1a6295dd9
SHA512 (ghc-8.4.4-boot-x86_64-unknown-solaris2.tar.xz) = 88cba2a1954f0f2282e7b54b2c42f9b8d852b337996556301d9b739e4a89678c7a606e653ff21cce694489b9f02b8edd6641f62624dc0b6ecc53a377129785d5
Size (ghc-8.4.4-boot-x86_64-unknown-solaris2.tar.xz) = 67421732 bytes
-SHA1 (ghc-8.8.1-src.tar.xz) = 9d8c1b2e0bad002fed39ba8f53684615a96bc218
-RMD160 (ghc-8.8.1-src.tar.xz) = c514d565e9f808a58991e47b17dccb85f0c01056
-SHA512 (ghc-8.8.1-src.tar.xz) = 7268b012c3a6c34e7eac05c7d6959de6005651d33e870860bbfe589295502e8794a76580130b8f4da2f88032b68116dbbdbc4c1e900e0c862aaa9891fa788bef
-Size (ghc-8.8.1-src.tar.xz) = 28634672 bytes
-SHA1 (patch-aclocal.m4) = 2ff22865f9fac8a7169cc513ddf34827b9420d58
+SHA1 (ghc-8.8.4-src.tar.xz) = 94dfb44d8f6b812a7023309ec909e2288f0e7724
+RMD160 (ghc-8.8.4-src.tar.xz) = 2201ffb27231d9fce293b77830e6fae09f48f163
+SHA512 (ghc-8.8.4-src.tar.xz) = efd23bd819f7429486696a3a929a040471db7ea8a2d1f1d832e4cf0825b9e1e0c5e6ecad0ab8376f58b74e9c28c1d2f773bd126596d6d853c9e57d57e5ceb090
+Size (ghc-8.8.4-src.tar.xz) = 19395252 bytes
+SHA1 (patch-aclocal.m4) = 27209100d99fa8e2c4bc45d1423ead48de7626cb
SHA1 (patch-compiler_main_DynFlags.hs) = 07bb2a5afdd087f4d2da5c035feecc13273aec70
SHA1 (patch-configure.ac) = 6e5cec26e440ccd71343a1981b415459813f88be
-SHA1 (patch-ghc_ghc.mk) = b395747d7871b466bc38d3a232992abb8cfe95e1
+SHA1 (patch-ghc_ghc.mk) = 9c639cc95cb79e4ffbd9b5fce311edba54939b5e
SHA1 (patch-libraries_Cabal_Cabal_Distribution_Simple_GHC.hs) = a4c82b1282c0580a7945be8c3b9d38bc760db99f
SHA1 (patch-libraries_base_GHC_Event_KQueue.hsc) = 8ee5da667a241a05fde3c580d3dc9bdc05aa5f00
SHA1 (patch-libraries_base_System_CPUTime_Posix_Times.hsc) = 2bfb779d534d12073287274ce5e90b99e457a860
@@ -40,4 +40,3 @@ SHA1 (patch-libraries_unix_System_Posix_Files_Common.hsc) = 6efef280832d376915a8
SHA1 (patch-libraries_unix_System_Posix_Signals.hsc) = 49215dce493a6bbc440f91a3959e592f86fc779b
SHA1 (patch-libraries_unix_include_execvpe.h) = 67dd9720a71a6a55bbe2b50e61621ca60187ef00
SHA1 (patch-rts_StgCRun.c) = 121c7bd714725d5b14a3cbb03d81b1c769848824
-SHA1 (patch-rules_distdir-way-opts.mk) = 417444cab62ab07ab47adcd1941a3c8026d8a60a
diff --git a/lang/ghc88/patches/patch-aclocal.m4 b/lang/ghc88/patches/patch-aclocal.m4
index 35e43b2914b..499c07660a4 100644
--- a/lang/ghc88/patches/patch-aclocal.m4
+++ b/lang/ghc88/patches/patch-aclocal.m4
@@ -1,14 +1,13 @@
-$NetBSD: patch-aclocal.m4,v 1.4 2020/02/17 17:26:53 jperkin Exp $
+$NetBSD: patch-aclocal.m4,v 1.5 2020/08/24 17:23:12 pho Exp $
Hunk #1:
- Don't require Alex to build. Fixed in upstream:
- https://gitlab.haskell.org/ghc/ghc/issues/16860
+ Support SunOS/x86_64.
Hunk #2:
Canonicalize OS name netbsd* to "netbsd":
https://gitlab.haskell.org/ghc/ghc/merge_requests/2496
---- aclocal.m4.orig 2019-08-25 12:03:36.000000000 +0000
+--- aclocal.m4.orig 2020-07-08 16:43:03.000000000 +0000
+++ aclocal.m4
@@ -661,7 +661,7 @@ AC_DEFUN([FPTOOLS_SET_C_LD_FLAGS],
x86_64-unknown-solaris2)
@@ -19,21 +18,7 @@ Hunk #2:
$5="$$5 -m64"
;;
alpha-*)
-@@ -985,8 +985,11 @@ else
- fi;
- changequote([, ])dnl
- ])
--FP_COMPARE_VERSIONS([$fptools_cv_alex_version],[-lt],[3.1.7],
-- [AC_MSG_ERROR([Alex version 3.1.7 or later is required to compile GHC.])])[]
-+if test ! -f compiler/parser/Lexer.hs
-+then
-+ FP_COMPARE_VERSIONS([$fptools_cv_alex_version],[-lt],[3.1.7],
-+ [AC_MSG_ERROR([Alex version 3.1.7 or later is required to compile GHC.])])[]
-+fi
- AlexVersion=$fptools_cv_alex_version;
- AC_SUBST(AlexVersion)
- ])
-@@ -2044,6 +2047,9 @@ AC_DEFUN([GHC_CONVERT_OS],[
+@@ -2047,6 +2047,9 @@ AC_DEFUN([GHC_CONVERT_OS],[
openbsd*)
$3="openbsd"
;;
diff --git a/lang/ghc88/patches/patch-ghc_ghc.mk b/lang/ghc88/patches/patch-ghc_ghc.mk
index 934a878e664..d4de742c353 100644
--- a/lang/ghc88/patches/patch-ghc_ghc.mk
+++ b/lang/ghc88/patches/patch-ghc_ghc.mk
@@ -1,13 +1,13 @@
-$NetBSD: patch-ghc_ghc.mk,v 1.2 2020/01/18 11:40:04 pho Exp $
+$NetBSD: patch-ghc_ghc.mk,v 1.3 2020/08/24 17:23:12 pho Exp $
Fix building bootkits: the ghc-bin package is threaded by default, but
the build system fails to opt out from it when threaded RTS is
disabled:
https://gitlab.haskell.org/ghc/ghc/issues/17692
---- ghc/ghc.mk.orig 2019-08-25 12:03:36.000000000 +0000
+--- ghc/ghc.mk.orig 2020-08-24 10:13:02.192874900 +0000
+++ ghc/ghc.mk
-@@ -61,7 +61,13 @@ ifeq "$(GhcThreaded)" "YES"
+@@ -61,6 +61,10 @@ ifeq "$(GhcThreaded)" "YES"
# Use threaded RTS with GHCi, so threads don't get blocked at the prompt.
ghc_stage2_MORE_HC_OPTS += -threaded
ghc_stage3_MORE_HC_OPTS += -threaded
@@ -16,8 +16,5 @@ https://gitlab.haskell.org/ghc/ghc/issues/17692
+ghc_stage2_CONFIGURE_OPTS += -f-threaded
+ghc_stage3_CONFIGURE_OPTS += -f-threaded
endif
-+# Stage-0 compiler isn't guaranteed to have a threaded RTS.
-+ghc_stage1_CONFIGURE_OPTS += -f-threaded
- ifeq "$(GhcProfiled)" "YES"
- ghc_stage2_PROGRAM_WAY = p
+ # If stage 0 supplies a threaded RTS, we can use it for stage 1.
diff --git a/lang/ghc88/patches/patch-rules_distdir-way-opts.mk b/lang/ghc88/patches/patch-rules_distdir-way-opts.mk
deleted file mode 100644
index f5416ee85f1..00000000000
--- a/lang/ghc88/patches/patch-rules_distdir-way-opts.mk
+++ /dev/null
@@ -1,17 +0,0 @@
-$NetBSD: patch-rules_distdir-way-opts.mk,v 1.1 2020/02/17 17:26:53 jperkin Exp $
-
-https://gitlab.haskell.org/ghc/ghc/issues/17385
-
---- rules/distdir-way-opts.mk.orig 2019-08-25 12:03:36.000000000 +0000
-+++ rules/distdir-way-opts.mk
-@@ -187,8 +187,8 @@ $1_$2_$3_ALL_LD_OPTS = \
- $$($1_$2_$3_LD_OPTS) \
- $$($1_$2_EXTRA_LD_OPTS) \
- $$(EXTRA_LD_OPTS) \
-- $$(foreach o,$$(EXTRA_LD_LINKER_OPTS),-optl-Wl$$(comma)$$o) \
-- $$(foreach o,$$(CONF_LD_LINKER_OPTS_STAGE$4),-optl-Wl$$(comma)$$o)
-+ $$(foreach o,$$(EXTRA_LD_LINKER_OPTS),-Wl$$(comma)$$o) \
-+ $$(foreach o,$$(CONF_LD_LINKER_OPTS_STAGE$4),-Wl$$(comma)$$o)
-
- # Options for passing to GHC when we use it for linking
- $1_$2_$3_GHC_LD_OPTS = \