summaryrefslogtreecommitdiff
path: root/lang/ghc
diff options
context:
space:
mode:
authorGleb Popov <arrowd@FreeBSD.org>2020-08-16 07:56:18 +0000
committerGleb Popov <arrowd@FreeBSD.org>2020-08-16 07:56:18 +0000
commitb2992449523c4942b0fdaa3210bd3d192e7d066d (patch)
treee93544b1649b5c28c6fcb28f980a6ad5bd130314 /lang/ghc
parent018654eec7753d29fa6cf5a391fc4b582770b4af (diff)
downloadfreebsd-ports-b2992449523c4942b0fdaa3210bd3d192e7d066d.zip
lang/ghc: Update to 8.10.1.
As usual, along with the compiler, many Haskell packages are updated as well.
Diffstat (limited to 'lang/ghc')
-rw-r--r--lang/ghc/Makefile8
-rw-r--r--lang/ghc/distinfo6
-rw-r--r--lang/ghc/files/extra-patch-libraries_ghc-prim_cbits_atomic.c20
3 files changed, 30 insertions, 4 deletions
diff --git a/lang/ghc/Makefile b/lang/ghc/Makefile
index 23cd8d3ed0ad..9007a1657cc3 100644
--- a/lang/ghc/Makefile
+++ b/lang/ghc/Makefile
@@ -72,7 +72,7 @@ PROFILE_SUB_LIST= WITH_PROFILE="YES"
PROFILE_SUB_LIST_OFF= WITH_PROFILE="NO"
GHC_VERSION?= ${GHC_VERSION_DEFAULT}
-GHC_VERSION_DEFAULT= 8.8.4
+GHC_VERSION_DEFAULT= 8.10.1
GHC_VERSION_MAJOR= ${GHC_VERSION:S/./ /g:[1]}
GHC_VERSION_MINOR= ${GHC_VERSION:S/./ /g:[2]}
@@ -105,6 +105,10 @@ LLVM_VERSION= 90
CONFIGURE_ARGS+= --enable-dtrace=0
.endif
+.if ${ARCH} == i386
+EXTRA_PATCHES+= ${PATCHDIR}/extra-patch-libraries_ghc-prim_cbits_atomic.c
+.endif
+
.if defined(PPC_ABI) && ${PPC_ABI} == ELFv1
BOOT_GHC_VERSION= 8.6.3
.else
@@ -233,8 +237,10 @@ post-patch:
s|%%AR%%|${AR}|; \
s|%%LD%%|${LD}|' \
${WRKSRC}/libraries/Cabal/Cabal/Distribution/Simple/Program/Builtin.hs
+.if ${GHC_VERSION_MAJOR} <= 8 && ${GHC_VERSION_MINOR} < 10
@${REINPLACE_CMD} -e 's/@SettingsLlcCommand@/llc${LLVM_VERSION}/' ${WRKSRC}/settings.in
@${REINPLACE_CMD} -e 's/@SettingsOptCommand@/opt${LLVM_VERSION}/' ${WRKSRC}/settings.in
+.endif
.if empty(PORT_OPTIONS:MBOOT)
@${REINPLACE_CMD} -e '/^mandir/d' ${BOOT_DIR}/mk/build.mk
diff --git a/lang/ghc/distinfo b/lang/ghc/distinfo
index bd832356e189..83d5f30d020a 100644
--- a/lang/ghc/distinfo
+++ b/lang/ghc/distinfo
@@ -1,6 +1,6 @@
-TIMESTAMP = 1584005319
-SHA256 (ghc-8.8.4-src.tar.xz) = f0505e38b2235ff9f1090b51f44d6c8efd371068e5a6bb42a2a6d8b67b5ffc2d
-SIZE (ghc-8.8.4-src.tar.xz) = 19395252
+TIMESTAMP = 1588674714
+SHA256 (ghc-8.10.1-src.tar.xz) = 4e3b07f83a266b3198310f19f71e371ebce97c769b14f0d688f4cbf2a2a1edf5
+SIZE (ghc-8.10.1-src.tar.xz) = 19781652
SHA256 (ghc-8.6.5-src.tar.xz) = 4d4aa1e96f4001b934ac6193ab09af5d6172f41f5a5d39d8e43393b9aafee361
SIZE (ghc-8.6.5-src.tar.xz) = 19092168
SHA256 (ghc-8.6.4-src.tar.xz) = 5b5d07e4463203a433c3ed3df461ba6cce11b6d2b9b264db31f3429075d0303a
diff --git a/lang/ghc/files/extra-patch-libraries_ghc-prim_cbits_atomic.c b/lang/ghc/files/extra-patch-libraries_ghc-prim_cbits_atomic.c
new file mode 100644
index 000000000000..b57de006e743
--- /dev/null
+++ b/lang/ghc/files/extra-patch-libraries_ghc-prim_cbits_atomic.c
@@ -0,0 +1,20 @@
+--- libraries/ghc-prim/cbits/atomic.c.orig 2019-11-23 20:27:35 UTC
++++ libraries/ghc-prim/cbits/atomic.c
+@@ -365,7 +365,7 @@ extern StgWord64 hs_atomicread64(StgWord x);
+ StgWord64
+ hs_atomicread64(StgWord x)
+ {
+-#if HAVE_C11_ATOMICS
++#if 0
+ return __atomic_load_n((StgWord64 *) x, __ATOMIC_SEQ_CST);
+ #else
+ return __sync_add_and_fetch((StgWord64 *) x, 0);
+@@ -413,7 +413,7 @@ extern void hs_atomicwrite64(StgWord x, StgWord64 val)
+ void
+ hs_atomicwrite64(StgWord x, StgWord64 val)
+ {
+-#if HAVE_C11_ATOMICS
++#if 0
+ __atomic_store_n((StgWord64 *) x, (StgWord64) val, __ATOMIC_SEQ_CST);
+ #else
+ while (!__sync_bool_compare_and_swap((StgWord64 *) x, *(StgWord64 *) x, (StgWord64) val));