git: 26fb608e7efa - main - lang/ghc: Update to 9.6.7

From: Gleb Popov <arrowd_at_FreeBSD.org>
Date: Sun, 04 May 2025 08:55:43 UTC
The branch main has been updated by arrowd:

URL: https://cgit.FreeBSD.org/ports/commit/?id=26fb608e7efa64efe928c1df909971a69cc53456

commit 26fb608e7efa64efe928c1df909971a69cc53456
Author:     Gleb Popov <arrowd@FreeBSD.org>
AuthorDate: 2025-05-03 16:56:15 +0000
Commit:     Gleb Popov <arrowd@FreeBSD.org>
CommitDate: 2025-05-04 08:55:14 +0000

    lang/ghc: Update to 9.6.7
---
 lang/ghc/Makefile                                  | 12 +++---
 lang/ghc/distinfo                                  | 10 ++---
 lang/ghc/files/patch-hadrian_hadrian.cabal         | 15 ++++++++
 ...atch-hadrian_src_Hadrian_Haskell_Cabal_Parse.hs |  4 +-
 .../patch-libraries_base_GHC_Event_KQueue.hsc      | 45 ----------------------
 lang/ghc/pkg-plist.hadrian                         | 33 ++++++++++++++++
 6 files changed, 61 insertions(+), 58 deletions(-)

diff --git a/lang/ghc/Makefile b/lang/ghc/Makefile
index 5b61a79f7de4..8756e37fd2c2 100644
--- a/lang/ghc/Makefile
+++ b/lang/ghc/Makefile
@@ -1,6 +1,6 @@
 PORTNAME=	ghc
 PORTVERSION=	${GHC_VERSION}
-PORTREVISION?=	2
+PORTREVISION?=	0
 CATEGORIES=	lang haskell
 MASTER_SITES=	https://www.haskell.org/ghc/dist/${PORTVERSION}/:source \
 		LOCAL/arrowd/:boot
@@ -75,21 +75,21 @@ GMP_VARS_OFF=		hadrian_gmp_arg=--bignum=native
 PROFILE_VARS=		enable_profile=YES hadrian_setting_profile=True
 PROFILE_VARS_OFF=	enable_profile=NO hadrian_setting_profile=False
 
-GHC_VERSION?=		9.6.6
+GHC_VERSION?=		9.6.7
 LLVM_VERSION?=		15
 BOOT_GHC_VERSION?=	9.2.8
 # LLVM version that bootstrap compiler uses
 BOOT_LLVM_VERSION?=	12
 
-BASE_PACKAGES?=		Cabal-3.10.3.0 array-0.5.6.0 base-4.18.2.1 binary-0.8.9.1 \
-			bytestring-0.11.5.3 containers-0.6.7 deepseq-1.4.8.1 \
-			directory-1.3.8.5 exceptions-0.10.7 filepath-1.4.300.1 \
+BASE_PACKAGES?=		Cabal-3.10.3.0 array-0.5.8.0 base-4.18.3.0 binary-0.8.9.1 \
+			bytestring-0.11.5.4 containers-0.6.7 deepseq-1.4.8.1 \
+			directory-1.3.8.5 exceptions-0.10.7 filepath-1.4.301.0 \
 			ghc-${GHC_VERSION} ghc-bignum-1.3 ghc-compact-0.1.0.0 \
 			ghc-prim-0.10.0 haskeline-0.8.2.1 hpc-0.6.2.0 \
 			integer-gmp-1.1 mtl-2.3.1 parsec-3.1.16.1 pretty-1.1.3.6 \
 			process-1.6.19.0 stm-2.5.1.0 template-haskell-2.20.0.0 \
 			terminfo-0.4.1.6 text-2.0.2 time-1.12.2 \
-			transformers-0.6.1.0 unix-2.8.4.0 xhtml-3000.2.2.1
+			transformers-0.6.1.0 unix-2.8.6.0 xhtml-3000.2.2.1
 
 .for pkg in ${BASE_PACKAGES}
 PLIST_SUB+=	${pkg:C/-([0-9.])+//:tu}_VERSION=${pkg:C/^([^\.]*-)+//}
diff --git a/lang/ghc/distinfo b/lang/ghc/distinfo
index f15f3bc36ba3..1bf8de21de8b 100644
--- a/lang/ghc/distinfo
+++ b/lang/ghc/distinfo
@@ -1,14 +1,14 @@
-TIMESTAMP = 1720354511
-SHA256 (ghc-9.6.6-src.tar.xz) = 008f7a04d89ad10baae6486c96645d7d726aaac7e1476199f6dd86c6bd9977ad
-SIZE (ghc-9.6.6-src.tar.xz) = 29443464
+TIMESTAMP = 1746281969
+SHA256 (ghc-9.6.7-src.tar.xz) = d053bf6ce1d588a75cfe8c9316269486e9d8fb89dcdf6fd92836fa2e3df61305
+SIZE (ghc-9.6.7-src.tar.xz) = 31770824
 SHA256 (ghc-9.4.8-src.tar.xz) = 0bf407eb67fe3e3c24b0f4c8dea8cb63e07f63ca0f76cf2058565143507ab85e
 SIZE (ghc-9.4.8-src.tar.xz) = 28655220
 SHA256 (ghc-9.2.8-src.tar.xz) = 5f13d1786bf4fd12f4b45faa37abedb5bb3f36d5e58f7da5307e8bfe88a567a1
 SIZE (ghc-9.2.8-src.tar.xz) = 24661260
 SHA256 (ghc-8.10.7-src.tar.xz) = e3eef6229ce9908dfe1ea41436befb0455fefb1932559e860ad4c606b0d03c9d
 SIZE (ghc-8.10.7-src.tar.xz) = 19932668
-SHA256 (hadrian-9.6.6-boot.tar.gz) = a5a7e6721d693c0e004fecff5745e47b2ec0c703b8378ccc5144e20a76049f95
-SIZE (hadrian-9.6.6-boot.tar.gz) = 1495606
+SHA256 (hadrian-9.6.7-boot.tar.gz) = f81dc59b4aef59c62c645da7be0b1fb8720aba338c80004963a99bc1219d3a05
+SIZE (hadrian-9.6.7-boot.tar.gz) = 1495514
 SHA256 (hadrian-9.4.8-boot.tar.gz) = 5eb060655686921b086645dcbdd6268f09bc66baf8cc76fce74dea9b8b55ab5d
 SIZE (hadrian-9.4.8-boot.tar.gz) = 1495586
 SHA256 (hadrian-9.2.8-boot.tar.gz) = 730412e1c17309670075be8f76dbca9ebadedfa10b758e605f9e67804e9e8ac5
diff --git a/lang/ghc/files/patch-hadrian_hadrian.cabal b/lang/ghc/files/patch-hadrian_hadrian.cabal
new file mode 100644
index 000000000000..7994110951d4
--- /dev/null
+++ b/lang/ghc/files/patch-hadrian_hadrian.cabal
@@ -0,0 +1,15 @@
+Hack the bounds to avoid re-rolling the bootstrap compiler.
+The bound was added due to https://gitlab.haskell.org/ghc/ghc/-/issues/24382
+but we somehow doesn't seem to be affected by this
+
+--- hadrian/hadrian.cabal.orig	2025-03-02 13:05:33 UTC
++++ hadrian/hadrian.cabal
+@@ -155,7 +155,7 @@ executable hadrian
+                        , containers           >= 0.5     && < 0.7
+                          -- N.B. directory >=1.3.9 as earlier versions are
+                          -- afflicted by #24382.
+-                       , directory            >= 1.3.9.0 && < 1.4
++                       , directory            < 1.4
+                        , extra                >= 1.4.7
+                        , filepath
+                        , time
diff --git a/lang/ghc/files/patch-hadrian_src_Hadrian_Haskell_Cabal_Parse.hs b/lang/ghc/files/patch-hadrian_src_Hadrian_Haskell_Cabal_Parse.hs
index 1e59fb6d677e..528e592425f4 100644
--- a/lang/ghc/files/patch-hadrian_src_Hadrian_Haskell_Cabal_Parse.hs
+++ b/lang/ghc/files/patch-hadrian_src_Hadrian_Haskell_Cabal_Parse.hs
@@ -1,6 +1,6 @@
---- hadrian/src/Hadrian/Haskell/Cabal/Parse.hs.orig	2024-01-08 13:24:59 UTC
+--- hadrian/src/Hadrian/Haskell/Cabal/Parse.hs.orig	2025-03-02 13:05:33 UTC
 +++ hadrian/src/Hadrian/Haskell/Cabal/Parse.hs
-@@ -320,8 +320,8 @@ write_inplace_conf pkg_path res_path pd lbi = do
+@@ -321,8 +321,8 @@ write_inplace_conf pkg_path res_path pd lbi = do
                    pkg_name = C.display (C.pkgName (CP.sourcePackageId installedPkgInfo))
                    final_ipi = installedPkgInfo {
                                   Installed.includeDirs = concatMap fixupIncludeDir (Installed.includeDirs installedPkgInfo),
diff --git a/lang/ghc/files/patch-libraries_base_GHC_Event_KQueue.hsc b/lang/ghc/files/patch-libraries_base_GHC_Event_KQueue.hsc
deleted file mode 100644
index 1413a39d9705..000000000000
--- a/lang/ghc/files/patch-libraries_base_GHC_Event_KQueue.hsc
+++ /dev/null
@@ -1,45 +0,0 @@
-https://gitlab.haskell.org/ghc/ghc/-/merge_requests/13276
-
---- libraries/base/GHC/Event/KQueue.hsc.orig	2024-06-30 22:49:26 UTC
-+++ libraries/base/GHC/Event/KQueue.hsc
-@@ -44,8 +44,8 @@ import GHC.Event.Internal (Timeout(..))
- import GHC.Real (quotRem, fromIntegral)
- import GHC.Show (Show(show))
- import GHC.Event.Internal (Timeout(..))
--import System.Posix.Internals (c_close)
--import System.Posix.Types (Fd(..))
-+import System.Posix.Internals (c_close, c_getpid)
-+import System.Posix.Types (Fd(..), CPid)
- import qualified GHC.Event.Array as A
- 
- #if defined(netbsd_HOST_OS)
-@@ -73,19 +73,26 @@ data KQueue = KQueue {
- data KQueue = KQueue {
-       kqueueFd     :: {-# UNPACK #-} !KQueueFd
-     , kqueueEvents :: {-# UNPACK #-} !(A.Array Event)
-+    , kqueuePid    :: {-# UNPACK #-} !CPid -- ^ pid, used to detect forks
-     }
- 
- new :: IO E.Backend
- new = do
-   kqfd <- kqueue
-   events <- A.new 64
--  let !be = E.backend poll modifyFd modifyFdOnce delete (KQueue kqfd events)
-+  pid <- c_getpid
-+  let !be = E.backend poll modifyFd modifyFdOnce delete (KQueue kqfd events pid)
-   return be
- 
- delete :: KQueue -> IO ()
- delete kq = do
--  _ <- c_close . fromKQueueFd . kqueueFd $ kq
--  return ()
-+  -- detect forks: the queue isn't inherited by a child process created with
-+  -- fork. Hence we mustn't try to close the old fd or we might close a random
-+  -- one (e.g. the one used by timerfd, cf #24672).
-+  pid <- c_getpid
-+  when (pid == kqueuePid kq) $ do
-+    _ <- c_close . fromKQueueFd . kqueueFd $ kq
-+    return ()
- 
- modifyFd :: KQueue -> Fd -> E.Event -> E.Event -> IO Bool
- modifyFd kq fd oevt nevt = do
diff --git a/lang/ghc/pkg-plist.hadrian b/lang/ghc/pkg-plist.hadrian
index c022c2dc43b9..cacd6ae91bee 100644
--- a/lang/ghc/pkg-plist.hadrian
+++ b/lang/ghc/pkg-plist.hadrian
@@ -2853,6 +2853,27 @@ lib/ghc-%%GHC_VERSION%%/lib/%%GHC_ARCH%%-freebsd-ghc-%%GHC_VERSION%%/ghc-%%GHC_V
 lib/ghc-%%GHC_VERSION%%/lib/%%GHC_ARCH%%-freebsd-ghc-%%GHC_VERSION%%/ghc-%%GHC_VERSION%%/GHC/Data/UnionFind.dyn_hi
 lib/ghc-%%GHC_VERSION%%/lib/%%GHC_ARCH%%-freebsd-ghc-%%GHC_VERSION%%/ghc-%%GHC_VERSION%%/GHC/Data/UnionFind.hi
 lib/ghc-%%GHC_VERSION%%/lib/%%GHC_ARCH%%-freebsd-ghc-%%GHC_VERSION%%/ghc-%%GHC_VERSION%%/GHC/Data/UnionFind.p_hi
+lib/ghc-%%GHC_VERSION%%/lib/%%GHC_ARCH%%-freebsd-ghc-%%GHC_VERSION%%/ghc-%%GHC_VERSION%%/GHC/Data/Word64Map.dyn_hi
+lib/ghc-%%GHC_VERSION%%/lib/%%GHC_ARCH%%-freebsd-ghc-%%GHC_VERSION%%/ghc-%%GHC_VERSION%%/GHC/Data/Word64Map.hi
+lib/ghc-%%GHC_VERSION%%/lib/%%GHC_ARCH%%-freebsd-ghc-%%GHC_VERSION%%/ghc-%%GHC_VERSION%%/GHC/Data/Word64Map.p_hi
+lib/ghc-%%GHC_VERSION%%/lib/%%GHC_ARCH%%-freebsd-ghc-%%GHC_VERSION%%/ghc-%%GHC_VERSION%%/GHC/Data/Word64Map/Internal.dyn_hi
+lib/ghc-%%GHC_VERSION%%/lib/%%GHC_ARCH%%-freebsd-ghc-%%GHC_VERSION%%/ghc-%%GHC_VERSION%%/GHC/Data/Word64Map/Internal.hi
+lib/ghc-%%GHC_VERSION%%/lib/%%GHC_ARCH%%-freebsd-ghc-%%GHC_VERSION%%/ghc-%%GHC_VERSION%%/GHC/Data/Word64Map/Internal.p_hi
+lib/ghc-%%GHC_VERSION%%/lib/%%GHC_ARCH%%-freebsd-ghc-%%GHC_VERSION%%/ghc-%%GHC_VERSION%%/GHC/Data/Word64Map/Lazy.dyn_hi
+lib/ghc-%%GHC_VERSION%%/lib/%%GHC_ARCH%%-freebsd-ghc-%%GHC_VERSION%%/ghc-%%GHC_VERSION%%/GHC/Data/Word64Map/Lazy.hi
+lib/ghc-%%GHC_VERSION%%/lib/%%GHC_ARCH%%-freebsd-ghc-%%GHC_VERSION%%/ghc-%%GHC_VERSION%%/GHC/Data/Word64Map/Lazy.p_hi
+lib/ghc-%%GHC_VERSION%%/lib/%%GHC_ARCH%%-freebsd-ghc-%%GHC_VERSION%%/ghc-%%GHC_VERSION%%/GHC/Data/Word64Map/Strict.dyn_hi
+lib/ghc-%%GHC_VERSION%%/lib/%%GHC_ARCH%%-freebsd-ghc-%%GHC_VERSION%%/ghc-%%GHC_VERSION%%/GHC/Data/Word64Map/Strict.hi
+lib/ghc-%%GHC_VERSION%%/lib/%%GHC_ARCH%%-freebsd-ghc-%%GHC_VERSION%%/ghc-%%GHC_VERSION%%/GHC/Data/Word64Map/Strict.p_hi
+lib/ghc-%%GHC_VERSION%%/lib/%%GHC_ARCH%%-freebsd-ghc-%%GHC_VERSION%%/ghc-%%GHC_VERSION%%/GHC/Data/Word64Map/Strict/Internal.dyn_hi
+lib/ghc-%%GHC_VERSION%%/lib/%%GHC_ARCH%%-freebsd-ghc-%%GHC_VERSION%%/ghc-%%GHC_VERSION%%/GHC/Data/Word64Map/Strict/Internal.hi
+lib/ghc-%%GHC_VERSION%%/lib/%%GHC_ARCH%%-freebsd-ghc-%%GHC_VERSION%%/ghc-%%GHC_VERSION%%/GHC/Data/Word64Map/Strict/Internal.p_hi
+lib/ghc-%%GHC_VERSION%%/lib/%%GHC_ARCH%%-freebsd-ghc-%%GHC_VERSION%%/ghc-%%GHC_VERSION%%/GHC/Data/Word64Set.dyn_hi
+lib/ghc-%%GHC_VERSION%%/lib/%%GHC_ARCH%%-freebsd-ghc-%%GHC_VERSION%%/ghc-%%GHC_VERSION%%/GHC/Data/Word64Set.hi
+lib/ghc-%%GHC_VERSION%%/lib/%%GHC_ARCH%%-freebsd-ghc-%%GHC_VERSION%%/ghc-%%GHC_VERSION%%/GHC/Data/Word64Set.p_hi
+lib/ghc-%%GHC_VERSION%%/lib/%%GHC_ARCH%%-freebsd-ghc-%%GHC_VERSION%%/ghc-%%GHC_VERSION%%/GHC/Data/Word64Set/Internal.dyn_hi
+lib/ghc-%%GHC_VERSION%%/lib/%%GHC_ARCH%%-freebsd-ghc-%%GHC_VERSION%%/ghc-%%GHC_VERSION%%/GHC/Data/Word64Set/Internal.hi
+lib/ghc-%%GHC_VERSION%%/lib/%%GHC_ARCH%%-freebsd-ghc-%%GHC_VERSION%%/ghc-%%GHC_VERSION%%/GHC/Data/Word64Set/Internal.p_hi
 lib/ghc-%%GHC_VERSION%%/lib/%%GHC_ARCH%%-freebsd-ghc-%%GHC_VERSION%%/ghc-%%GHC_VERSION%%/GHC/Driver/Backend.dyn_hi
 lib/ghc-%%GHC_VERSION%%/lib/%%GHC_ARCH%%-freebsd-ghc-%%GHC_VERSION%%/ghc-%%GHC_VERSION%%/GHC/Driver/Backend.hi
 lib/ghc-%%GHC_VERSION%%/lib/%%GHC_ARCH%%-freebsd-ghc-%%GHC_VERSION%%/ghc-%%GHC_VERSION%%/GHC/Driver/Backend.p_hi
@@ -4182,6 +4203,12 @@ lib/ghc-%%GHC_VERSION%%/lib/%%GHC_ARCH%%-freebsd-ghc-%%GHC_VERSION%%/ghc-%%GHC_V
 lib/ghc-%%GHC_VERSION%%/lib/%%GHC_ARCH%%-freebsd-ghc-%%GHC_VERSION%%/ghc-%%GHC_VERSION%%/GHC/Utils/Constants.dyn_hi
 lib/ghc-%%GHC_VERSION%%/lib/%%GHC_ARCH%%-freebsd-ghc-%%GHC_VERSION%%/ghc-%%GHC_VERSION%%/GHC/Utils/Constants.hi
 lib/ghc-%%GHC_VERSION%%/lib/%%GHC_ARCH%%-freebsd-ghc-%%GHC_VERSION%%/ghc-%%GHC_VERSION%%/GHC/Utils/Constants.p_hi
+lib/ghc-%%GHC_VERSION%%/lib/%%GHC_ARCH%%-freebsd-ghc-%%GHC_VERSION%%/ghc-%%GHC_VERSION%%/GHC/Utils/Containers/Internal/BitUtil.dyn_hi
+lib/ghc-%%GHC_VERSION%%/lib/%%GHC_ARCH%%-freebsd-ghc-%%GHC_VERSION%%/ghc-%%GHC_VERSION%%/GHC/Utils/Containers/Internal/BitUtil.hi
+lib/ghc-%%GHC_VERSION%%/lib/%%GHC_ARCH%%-freebsd-ghc-%%GHC_VERSION%%/ghc-%%GHC_VERSION%%/GHC/Utils/Containers/Internal/BitUtil.p_hi
+lib/ghc-%%GHC_VERSION%%/lib/%%GHC_ARCH%%-freebsd-ghc-%%GHC_VERSION%%/ghc-%%GHC_VERSION%%/GHC/Utils/Containers/Internal/StrictPair.dyn_hi
+lib/ghc-%%GHC_VERSION%%/lib/%%GHC_ARCH%%-freebsd-ghc-%%GHC_VERSION%%/ghc-%%GHC_VERSION%%/GHC/Utils/Containers/Internal/StrictPair.hi
+lib/ghc-%%GHC_VERSION%%/lib/%%GHC_ARCH%%-freebsd-ghc-%%GHC_VERSION%%/ghc-%%GHC_VERSION%%/GHC/Utils/Containers/Internal/StrictPair.p_hi
 lib/ghc-%%GHC_VERSION%%/lib/%%GHC_ARCH%%-freebsd-ghc-%%GHC_VERSION%%/ghc-%%GHC_VERSION%%/GHC/Utils/Error.dyn_hi
 lib/ghc-%%GHC_VERSION%%/lib/%%GHC_ARCH%%-freebsd-ghc-%%GHC_VERSION%%/ghc-%%GHC_VERSION%%/GHC/Utils/Error.hi
 lib/ghc-%%GHC_VERSION%%/lib/%%GHC_ARCH%%-freebsd-ghc-%%GHC_VERSION%%/ghc-%%GHC_VERSION%%/GHC/Utils/Error.p_hi
@@ -4239,6 +4266,12 @@ lib/ghc-%%GHC_VERSION%%/lib/%%GHC_ARCH%%-freebsd-ghc-%%GHC_VERSION%%/ghc-%%GHC_V
 lib/ghc-%%GHC_VERSION%%/lib/%%GHC_ARCH%%-freebsd-ghc-%%GHC_VERSION%%/ghc-%%GHC_VERSION%%/GHC/Utils/Trace.dyn_hi
 lib/ghc-%%GHC_VERSION%%/lib/%%GHC_ARCH%%-freebsd-ghc-%%GHC_VERSION%%/ghc-%%GHC_VERSION%%/GHC/Utils/Trace.hi
 lib/ghc-%%GHC_VERSION%%/lib/%%GHC_ARCH%%-freebsd-ghc-%%GHC_VERSION%%/ghc-%%GHC_VERSION%%/GHC/Utils/Trace.p_hi
+lib/ghc-%%GHC_VERSION%%/lib/%%GHC_ARCH%%-freebsd-ghc-%%GHC_VERSION%%/ghc-%%GHC_VERSION%%/GHC/Utils/Unique.dyn_hi
+lib/ghc-%%GHC_VERSION%%/lib/%%GHC_ARCH%%-freebsd-ghc-%%GHC_VERSION%%/ghc-%%GHC_VERSION%%/GHC/Utils/Unique.hi
+lib/ghc-%%GHC_VERSION%%/lib/%%GHC_ARCH%%-freebsd-ghc-%%GHC_VERSION%%/ghc-%%GHC_VERSION%%/GHC/Utils/Unique.p_hi
+lib/ghc-%%GHC_VERSION%%/lib/%%GHC_ARCH%%-freebsd-ghc-%%GHC_VERSION%%/ghc-%%GHC_VERSION%%/GHC/Utils/Word64.dyn_hi
+lib/ghc-%%GHC_VERSION%%/lib/%%GHC_ARCH%%-freebsd-ghc-%%GHC_VERSION%%/ghc-%%GHC_VERSION%%/GHC/Utils/Word64.hi
+lib/ghc-%%GHC_VERSION%%/lib/%%GHC_ARCH%%-freebsd-ghc-%%GHC_VERSION%%/ghc-%%GHC_VERSION%%/GHC/Utils/Word64.p_hi
 lib/ghc-%%GHC_VERSION%%/lib/%%GHC_ARCH%%-freebsd-ghc-%%GHC_VERSION%%/ghc-%%GHC_VERSION%%/GHC/Wasm/ControlFlow.dyn_hi
 lib/ghc-%%GHC_VERSION%%/lib/%%GHC_ARCH%%-freebsd-ghc-%%GHC_VERSION%%/ghc-%%GHC_VERSION%%/GHC/Wasm/ControlFlow.hi
 lib/ghc-%%GHC_VERSION%%/lib/%%GHC_ARCH%%-freebsd-ghc-%%GHC_VERSION%%/ghc-%%GHC_VERSION%%/GHC/Wasm/ControlFlow.p_hi