GNU bug report logs - #67921
[PATCH haskell-team 1/3] gnu: ghc-next: Update to version 9.4.8

Previous Next

Package: guix-patches;

Reported by: Saku Laesvuori <saku <at> laesvuori.fi>

Date: Wed, 20 Dec 2023 07:12:02 UTC

Severity: normal

Tags: moreinfo, patch

To reply to this bug, email your comments to 67921 AT debbugs.gnu.org.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to lars <at> 6xq.net, guix-patches <at> gnu.org:
bug#67921; Package guix-patches. (Wed, 20 Dec 2023 07:12:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to Saku Laesvuori <saku <at> laesvuori.fi>:
New bug report received and forwarded. Copy sent to lars <at> 6xq.net, guix-patches <at> gnu.org. (Wed, 20 Dec 2023 07:12:02 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Saku Laesvuori <saku <at> laesvuori.fi>
To: guix-patches <at> gnu.org
Cc: Saku Laesvuori <saku <at> laesvuori.fi>
Subject: [PATCH haskell-team 1/3] gnu: ghc-next: Update to version 9.4.8
Date: Wed, 20 Dec 2023 09:10:38 +0200
* gnu/packages/haskell.scm (ghc-9.4): Update to version 9.4.8.
[native-inputs]<ghc-testsuite>: Add a patch to fix the testsuite.
(ghc-happy-bootstrap-for-9.4): Update to version 1.20.1.1.
* gnu/packages/patches/ghc-9.4-testsuite-fixes.patch: New patch.

Change-Id: I5ef72f83e5feed1defb706bafa934077fda1553c
---
 gnu/packages/haskell.scm                      |  11 +-
 .../patches/ghc-9.4-testsuite-fixes.patch     | 119 ++++++++++++++++++
 2 files changed, 125 insertions(+), 5 deletions(-)
 create mode 100644 gnu/packages/patches/ghc-9.4-testsuite-fixes.patch

diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm
index 62815efbb1..88826fb31f 100644
--- a/gnu/packages/haskell.scm
+++ b/gnu/packages/haskell.scm
@@ -1437,14 +1437,14 @@ (define ghc-happy-bootstrap-for-9.4
   (hidden-package
     (package
      (name "ghc-happy")
-     (version "1.20.0")
+     (version "1.20.1.1")
      (source
       (origin
         (method url-fetch)
         (uri (hackage-uri "happy" version))
         (sha256
          (base32
-          "1346r2x5ravs5fqma65bzjragqbb2g6v41wz9maknwm2jf7kl79v"))))
+          "06w8g3lfk2ynrfhqznhp1mnp8a5b64lj6qviixpndzf5lv2psklb"))))
      (build-system haskell-build-system)
      (arguments
        (list #:haskell ghc-bootstrap-for-9.4
@@ -1462,14 +1462,14 @@ (define-public ghc-9.4
     (package
       (inherit base)
       (name "ghc-next")
-      (version "9.4.4")
+      (version "9.4.8")
       (source (origin
                 (method url-fetch)
                 (uri (string-append "https://www.haskell.org/ghc/dist/" version
                                     "/ghc-" version "-src.tar.xz"))
                 (sha256
                  (base32
-                  "1qk7rlqf02s3b6m6sqqngmjq1mxnrz88h159lz6k25gddmdg5kp8"))))
+                  "0pmqg9846lanb0hcyxhgr9ipzq33rfldxj7ln0j3qgpyczmhgx0b"))))
       (arguments
        (substitute-keyword-arguments (package-arguments base)
          ((#:phases phases '%standard-phases)
@@ -1487,7 +1487,8 @@ (define-public ghc-9.4
                     version "/ghc-" version "-testsuite.tar.xz"))
              (sha256
               (base32
-               "04p2lawxxg3nyv6frzhyjyh3arhqqyh5ka3alxa2pxhcd2hdcja3"))))
+               "159wsqnqpqb0pxa3zyhvyg07wxr2zz7v52h52wkplw4pn12dsidc"))
+             (patches (search-patches "ghc-9.4-testsuite-fixes.patch"))))
          ("ghc-alex" ,ghc-alex-bootstrap-for-9.4)
          ("ghc-happy" ,ghc-happy-bootstrap-for-9.4)
          ,@(filter (match-lambda
diff --git a/gnu/packages/patches/ghc-9.4-testsuite-fixes.patch b/gnu/packages/patches/ghc-9.4-testsuite-fixes.patch
new file mode 100644
index 0000000000..f394632add
--- /dev/null
+++ b/gnu/packages/patches/ghc-9.4-testsuite-fixes.patch
@@ -0,0 +1,119 @@
+From 3acd8aa948a27465cffc8e2ab56229485e2a5b98 Mon Sep 17 00:00:00 2001
+From: Saku Laesvuori <saku <at> laesvuori.fi>
+Date: Tue, 5 Dec 2023 22:49:45 +0200
+Subject: [PATCH] Fix tests
+
+* replaces egrep with grep -E
+* removes unnecessary escaping in some grep regular expressions
+* adds a missing include header to a makefile
+---
+ testsuite/tests/cabal/cabal01/Makefile                | 2 +-
+ testsuite/tests/ghci/should_run/GHCiPrimCall/Makefile | 4 ++++
+ testsuite/tests/haddock/perf/Makefile                 | 8 ++++----
+ testsuite/tests/hsc2hs/Makefile                       | 4 ++--
+ testsuite/tests/numeric/should_run/T7014.primops      | 4 ++--
+ testsuite/tests/simplCore/should_compile/Makefile     | 4 ++--
+ 6 files changed, 15 insertions(+), 11 deletions(-)
+
+diff --git a/testsuite/tests/cabal/cabal01/Makefile b/testsuite/tests/cabal/cabal01/Makefile
+index 004e4c75..6ec499c9 100644
+--- a/testsuite/tests/cabal/cabal01/Makefile
++++ b/testsuite/tests/cabal/cabal01/Makefile
+@@ -5,7 +5,7 @@ include $(TOP)/mk/test.mk
+ # Find all the env variables starting with CI_ to unset them.
+ # Otherwise, we might run into environment length limitations on Windows.
+ # (See `xargs --show-limits`.)
+-VARS_TO_UNSET := $(shell env | grep ^CI_ | egrep -o '^[^=]+')
++VARS_TO_UNSET := $(shell env | grep ^CI_ | grep -E -o '^[^=]+')
+ unexport $(VARS_TO_UNSET)
+ 
+ clean:
+diff --git a/testsuite/tests/ghci/should_run/GHCiPrimCall/Makefile b/testsuite/tests/ghci/should_run/GHCiPrimCall/Makefile
+index fd64d23f..cb669db3 100644
+--- a/testsuite/tests/ghci/should_run/GHCiPrimCall/Makefile
++++ b/testsuite/tests/ghci/should_run/GHCiPrimCall/Makefile
+@@ -1,3 +1,7 @@
++TOP=../../../..
++include $(TOP)/mk/boilerplate.mk
++include $(TOP)/mk/test.mk
++
+ .PHONY: GHCiPrimCall
+ GHCiPrimCall:
+ 	'$(TEST_HC)' $(TEST_HC_OPTS) -fPIC -v0 -c GHCiPrimCall_cmm.cmm
+diff --git a/testsuite/tests/haddock/perf/Makefile b/testsuite/tests/haddock/perf/Makefile
+index b67b52f2..ff2f7ebb 100644
+--- a/testsuite/tests/haddock/perf/Makefile
++++ b/testsuite/tests/haddock/perf/Makefile
+@@ -4,12 +4,12 @@ include $(TOP)/mk/test.mk
+ 
+ # We accept a 5% increase in parser allocations due to -haddock
+ haddock_parser_perf :
+-	WithHaddock=$(shell '$(TEST_HC)' $(TEST_HC_OPTS) -fno-code -fforce-recomp -Wno-all -ddump-timings -haddock -O0 Fold.hs 2>/dev/null | grep Parser | egrep -o 'alloc=[0-9]+' | cut -c7-  ) ; \
+-	WithoutHaddock=$(shell '$(TEST_HC)' $(TEST_HC_OPTS) -fno-code -fforce-recomp -Wno-all -ddump-timings -O0 Fold.hs 2>/dev/null | grep Parser | egrep -o 'alloc=[0-9]+' | cut -c7-  ) ;  \
++	WithHaddock=$(shell '$(TEST_HC)' $(TEST_HC_OPTS) -fno-code -fforce-recomp -Wno-all -ddump-timings -haddock -O0 Fold.hs 2>/dev/null | grep Parser | grep -E -o 'alloc=[0-9]+' | cut -c7-  ) ; \
++	WithoutHaddock=$(shell '$(TEST_HC)' $(TEST_HC_OPTS) -fno-code -fforce-recomp -Wno-all -ddump-timings -O0 Fold.hs 2>/dev/null | grep Parser | grep -E -o 'alloc=[0-9]+' | cut -c7-  ) ;  \
+ 	  awk "BEGIN { ratio = ($$WithHaddock / $$WithoutHaddock); if (ratio > 1.05) {print \"-haddock allocation ratio too high:\", ratio; exit 1} else {exit 0} }"
+ 
+ # Similarly for the renamer
+ haddock_renamer_perf :
+-	WithoutHaddock=$(shell '$(TEST_HC)' $(TEST_HC_OPTS) -fno-code -fforce-recomp -Wno-all -ddump-timings -O0 Fold.hs 2>/dev/null | grep Renamer | egrep -o 'alloc=[0-9]+' | cut -c7-  ) ; \
+-	WithHaddock=$(shell '$(TEST_HC)' $(TEST_HC_OPTS) -fno-code -fforce-recomp -Wno-all -ddump-timings -haddock -O0 Fold.hs 2>/dev/null | grep Renamer | egrep -o 'alloc=[0-9]+' | cut -c7-  ) ;  \
++	WithoutHaddock=$(shell '$(TEST_HC)' $(TEST_HC_OPTS) -fno-code -fforce-recomp -Wno-all -ddump-timings -O0 Fold.hs 2>/dev/null | grep Renamer | grep -E -o 'alloc=[0-9]+' | cut -c7-  ) ; \
++	WithHaddock=$(shell '$(TEST_HC)' $(TEST_HC_OPTS) -fno-code -fforce-recomp -Wno-all -ddump-timings -haddock -O0 Fold.hs 2>/dev/null | grep Renamer | grep -E -o 'alloc=[0-9]+' | cut -c7-  ) ;  \
+ 	  awk "BEGIN { ratio = ($$WithHaddock / $$WithoutHaddock); if (ratio > 1.05) {print \"-haddock allocation ratio too high:\", ratio; exit 1} else {exit 0} }"
+diff --git a/testsuite/tests/hsc2hs/Makefile b/testsuite/tests/hsc2hs/Makefile
+index d0b2d249..95b011c8 100644
+--- a/testsuite/tests/hsc2hs/Makefile
++++ b/testsuite/tests/hsc2hs/Makefile
+@@ -52,9 +52,9 @@ T11004:
+ T12504:
+ 	'$(HSC2HS)' $(HSC2HS_OPTS) T12504/path/to/$@.hsc
+ ifeq "$(WINDOWS)" "YES"
+-	grep '{-# LINE 1 \"T12504\\\\path\\\\to\\\\$@\.hsc\" #-}' T12504/path/to/$@.hs
++	grep '{-# LINE 1 "T12504\\\\path\\\\to\\\\$@\.hsc" #-}' T12504/path/to/$@.hs
+ else
+-	grep '{-# LINE 1 \"T12504/path/to/$@\.hsc\" #-}' T12504/path/to/$@.hs
++	grep '{-# LINE 1 "T12504/path/to/$@\.hsc" #-}' T12504/path/to/$@.hs
+ endif
+ 
+ .PHONY: T15758
+diff --git a/testsuite/tests/numeric/should_run/T7014.primops b/testsuite/tests/numeric/should_run/T7014.primops
+index 3243666d..c807fb45 100644
+--- a/testsuite/tests/numeric/should_run/T7014.primops
++++ b/testsuite/tests/numeric/should_run/T7014.primops
+@@ -1,8 +1,8 @@
+ and#
+ or#
+ uncheckedShift.*#
+-\+#
+-\-#
+++#
++-#
+ \*#
+ quotInt#
+ remInt#
+diff --git a/testsuite/tests/simplCore/should_compile/Makefile b/testsuite/tests/simplCore/should_compile/Makefile
+index b5041800..c56e04f6 100644
+--- a/testsuite/tests/simplCore/should_compile/Makefile
++++ b/testsuite/tests/simplCore/should_compile/Makefile
+@@ -66,7 +66,7 @@ T13367:
+ 
+ T8832:
+ 	$(RM) -f T8832.o T8832.hi
+-	'$(TEST_HC)' $(TEST_HC_OPTS) -O -c -ddump-simpl -dsuppress-ticks T8832.hs | egrep '^[a-zA-Z0-9]+ ='
++	'$(TEST_HC)' $(TEST_HC_OPTS) -O -c -ddump-simpl -dsuppress-ticks T8832.hs | grep -E '^[a-zA-Z0-9]+ ='
+ 
+ T12603:
+ 	$(RM) -f T12603.o T12603.hi
+@@ -259,7 +259,7 @@ str-rules:
+ # g should have been collapsed into one defininition by CSE.
+ .PHONY: T13340
+ T13340:
+-	'$(TEST_HC)' $(TEST_HC_OPTS) -c -O T13340.hs -ddump-simpl -dsuppress-all | grep -c '\+#'
++	'$(TEST_HC)' $(TEST_HC_OPTS) -c -O T13340.hs -ddump-simpl -dsuppress-all | grep -c '+#'
+ 
+ 
+ # We expect to see all dictionaries specialized away.
+-- 
+2.41.0
+

base-commit: dc2b59ddc1e8f510935777db40e881896f7a0cab
-- 
2.41.0





Information forwarded to lars <at> 6xq.net, guix-patches <at> gnu.org:
bug#67921; Package guix-patches. (Wed, 20 Dec 2023 07:15:01 GMT) Full text and rfc822 format available.

Message #8 received at 67921 <at> debbugs.gnu.org (full text, mbox):

From: Saku Laesvuori <saku <at> laesvuori.fi>
To: 67921 <at> debbugs.gnu.org
Cc: Saku Laesvuori <saku <at> laesvuori.fi>
Subject: [PATCH haskell-team 2/3] gnu: ghc: Use version 9.4.8 as the default
Date: Wed, 20 Dec 2023 09:13:48 +0200
* gnu/packages/haskell.scm (ghc-9.4): Rename from ghc-next to ghc.
(ghc): Redefine as ghc-9.4 instead of ghc-9.2.

Change-Id: I5696907ea6e2fac656d21d68c2ac89d549767ec2
---
 gnu/packages/haskell.scm | 14 +++++++-------
 1 file changed, 7 insertions(+), 7 deletions(-)

diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm
index 88826fb31f..ebe5bc6dc8 100644
--- a/gnu/packages/haskell.scm
+++ b/gnu/packages/haskell.scm
@@ -1392,12 +1392,6 @@ (define-public ghc-9.2
               (file-pattern ".*\\.conf\\.d$")
               (file-type 'directory)))))))
 
-;; Versions newer than ghc defined below (i.e. the compiler
-;; haskell-build-system uses) should use ghc-next as their name to
-;; ensure ghc (without version specification) and ghc-* packages are
-;; always compatible. See https://issues.guix.gnu.org/issue/47335.
-(define-public ghc ghc-9.2)
-
 ;; 9.4 is the last version to support the make-based build system,
 ;; but it boot with 9.2, only 9.0 is supported.
 (define ghc-bootstrap-for-9.4 ghc-9.0)
@@ -1461,7 +1455,7 @@ (define-public ghc-9.4
   (let ((base ghc-9.2))
     (package
       (inherit base)
-      (name "ghc-next")
+      (name "ghc")
       (version "9.4.8")
       (source (origin
                 (method url-fetch)
@@ -1503,4 +1497,10 @@ (define-public ghc-9.4
               (file-pattern ".*\\.conf\\.d$")
               (file-type 'directory)))))))
 
+;; Versions newer than ghc defined below (i.e. the compiler
+;; haskell-build-system uses) should use ghc-next as their name to
+;; ensure ghc (without version specification) and ghc-* packages are
+;; always compatible. See https://issues.guix.gnu.org/issue/47335.
+(define-public ghc ghc-9.4)
+
 ;;; haskell.scm ends here
-- 
2.41.0





Information forwarded to lars <at> 6xq.net, guix-patches <at> gnu.org:
bug#67921; Package guix-patches. (Wed, 20 Dec 2023 07:15:02 GMT) Full text and rfc822 format available.

Message #11 received at 67921 <at> debbugs.gnu.org (full text, mbox):

From: Saku Laesvuori <saku <at> laesvuori.fi>
To: 67921 <at> debbugs.gnu.org
Cc: Saku Laesvuori <saku <at> laesvuori.fi>
Subject: [PATCH haskell-team 3/3] guix: haskell-build-system: Hide dependecies
 from ghc's package db
Date: Wed, 20 Dec 2023 09:13:49 +0200
A Haskell package P contains information about all other haskell
packages P_n it depends on. This commit hides the packages P_n in the
package database stored in P, which enables being explicit about which
haskell packages one wants to be visible in their profile.

* guix/build/haskell-build-system.scm
(register)[install-transitive-deps]: Set the 'exposed' field to False in
the dependencies' .conf files. Remove a comment about symlinking because
the copied files are now modified.

Fixes: https://issues.guix.gnu.org/66347
Change-Id: I66332cd49e6036689873d9435036c9f876216f1b
---
 guix/build/haskell-build-system.scm | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/guix/build/haskell-build-system.scm b/guix/build/haskell-build-system.scm
index 0e94cf59a5..83c742427a 100644
--- a/guix/build/haskell-build-system.scm
+++ b/guix/build/haskell-build-system.scm
@@ -214,7 +214,10 @@ (define* (register #:key name system inputs outputs #:allow-other-keys)
                (unless dep-conf*-exists?
                  (unless dep-conf-exists?
                    (error (format #f "File ~a does not exist. This usually means the dependency ~a is missing. Was checking conf-file ~a." dep-conf id conf-file)))
-                 (copy-file dep-conf dep-conf*)) ;XXX: maybe symlink instead?
+                 (copy-file dep-conf dep-conf*)
+                 (substitute* dep-conf*
+                   (("(exposed:[ \t]*)True" _ field)
+                    (string-append field "False"))))
                 (loop (vhash-cons id #t seen) next-tail))
              (loop seen tail))))))
 
-- 
2.41.0





Information forwarded to guix-patches <at> gnu.org:
bug#67921; Package guix-patches. (Fri, 22 Dec 2023 10:08:02 GMT) Full text and rfc822 format available.

Message #14 received at 67921 <at> debbugs.gnu.org (full text, mbox):

From: Lars-Dominik Braun <lars <at> 6xq.net>
To: Saku Laesvuori <saku <at> laesvuori.fi>
Cc: 67921 <at> debbugs.gnu.org
Subject: Re: [bug#67921] [PATCH haskell-team 2/3] gnu: ghc: Use version 9.4.8
 as the default
Date: Fri, 22 Dec 2023 11:07:01 +0100
Hi,

> * gnu/packages/haskell.scm (ghc-9.4): Rename from ghc-next to ghc.

why 9.4 and not 9.6? Stackage 22.0 for 9.6 has just been released and
if we go for a big upgrade (you’ll have to update the entire Haskell
ecosystem if you update GHC), we might as well just make the jump to
GHC 9.6 and Stackage 22.0.

Lars





Information forwarded to guix-patches <at> gnu.org:
bug#67921; Package guix-patches. (Fri, 22 Dec 2023 10:34:02 GMT) Full text and rfc822 format available.

Message #17 received at 67921 <at> debbugs.gnu.org (full text, mbox):

From: Saku Laesvuori <saku <at> laesvuori.fi>
To: Lars-Dominik Braun <lars <at> 6xq.net>
Cc: 67921 <at> debbugs.gnu.org
Subject: Re: [bug#67921] [PATCH haskell-team 2/3] gnu: ghc: Use version 9.4.8
 as the default
Date: Fri, 22 Dec 2023 12:33:21 +0200
[Message part 1 (text/plain, inline)]
> Hi,
> 
> > * gnu/packages/haskell.scm (ghc-9.4): Rename from ghc-next to ghc.
> 
> why 9.4 and not 9.6? Stackage 22.0 for 9.6 has just been released and
> if we go for a big upgrade (you’ll have to update the entire Haskell
> ecosystem if you update GHC), we might as well just make the jump to
> GHC 9.6 and Stackage 22.0.

Because I wrote that patch when there wasn't yet a Stackage release for
ghc 9.6. But if a stackage release for it has now been released I'll try
updating it to 9.6.

Regarding the big upgrade, I have been wondering how could the cabal
revisions be updated automatically. Is there a simpler way than to

1. include a procedure for editing the declaration in the <upstream-updater> 
2. refactor the entire updater code to use that procedure
3. implement completely new logic for adding fields to package definitions?

That seems like a lot of work in code that I don't know all that well.
Is there some reason why the revision is not part of the package
version? Moving it there would probably be much easier than modifying
guix refresh (but then again, if those modifications should be done
anyway it doesn't really reduce the amount of work)

- Saku
[signature.asc (application/pgp-signature, inline)]

Information forwarded to guix-patches <at> gnu.org:
bug#67921; Package guix-patches. (Fri, 22 Dec 2023 11:05:01 GMT) Full text and rfc822 format available.

Message #20 received at 67921 <at> debbugs.gnu.org (full text, mbox):

From: Lars-Dominik Braun <lars <at> 6xq.net>
To: Saku Laesvuori <saku <at> laesvuori.fi>
Cc: 67921 <at> debbugs.gnu.org
Subject: Re: [bug#67921] [PATCH haskell-team 2/3] gnu: ghc: Use version 9.4.8
 as the default
Date: Fri, 22 Dec 2023 12:03:49 +0100
[Message part 1 (text/plain, inline)]
Hi Saku,

> Because I wrote that patch when there wasn't yet a Stackage release for
> ghc 9.6. But if a stackage release for it has now been released I'll try
> updating it to 9.6.

oh, I see. I believe 9.6 drops the Makefile-based build-system, making
it a slightly more involved upgrade.

> Regarding the big upgrade, I have been wondering how could the cabal
> revisions be updated automatically.

I’ve been using the script attached, which basically overwrites the
entire package, except for synopsis and description.

> Is there some reason why the revision is not part of the package
> version?

I don’t know.

> Moving it there would probably be much easier than modifying
> guix refresh (but then again, if those modifications should be done
> anyway it doesn't really reduce the amount of work)

The thing is that we still need the cabal file hash somewhere and it
needs to be updated. My idea was to create a new HACKAGE-URI procedure,
which accepts package name, version, revision and cabal file hash and
add some black magic to combine the new cabal file with the tarball from
hackage. Code exists for this, but I’ve never been able to finalize it.

Lars

[haskell-update.scm (application/vnd.lotus-screencam, attachment)]

Information forwarded to guix-patches <at> gnu.org:
bug#67921; Package guix-patches. (Sat, 06 Jan 2024 18:43:02 GMT) Full text and rfc822 format available.

Message #23 received at 67921 <at> debbugs.gnu.org (full text, mbox):

From: Lars-Dominik Braun <lars <at> 6xq.net>
To: Saku Laesvuori <saku <at> laesvuori.fi>
Cc: 67921 <at> debbugs.gnu.org
Subject: Re: [bug#67921] [PATCH haskell-team 3/3] guix: haskell-build-system:
 Hide dependecies from ghc's package db
Date: Sat, 6 Jan 2024 19:42:31 +0100
Hi,

> A Haskell package P contains information about all other haskell
> packages P_n it depends on. This commit hides the packages P_n in the
> package database stored in P, which enables being explicit about which
> haskell packages one wants to be visible in their profile.

oddly enough this patch causes the 'check phase of ghc-doctest to
not finish/hang. Any idea why?

Cheers,
Lars





Information forwarded to guix-patches <at> gnu.org:
bug#67921; Package guix-patches. (Mon, 08 Jan 2024 07:10:02 GMT) Full text and rfc822 format available.

Message #26 received at 67921 <at> debbugs.gnu.org (full text, mbox):

From: Saku Laesvuori <saku <at> laesvuori.fi>
To: Lars-Dominik Braun <lars <at> 6xq.net>
Cc: 67921 <at> debbugs.gnu.org
Subject: Re: [bug#67921] [PATCH haskell-team 3/3] guix: haskell-build-system:
 Hide dependecies from ghc's package db
Date: Mon, 8 Jan 2024 09:09:23 +0200
[Message part 1 (text/plain, inline)]
> Hi,
> 
> > A Haskell package P contains information about all other haskell
> > packages P_n it depends on. This commit hides the packages P_n in the
> > package database stored in P, which enables being explicit about which
> > haskell packages one wants to be visible in their profile.
> 
> oddly enough this patch causes the 'check phase of ghc-doctest to
> not finish/hang. Any idea why?

No idea, I'll look into it more when I get GHC 9.6 packaged.
[signature.asc (application/pgp-signature, inline)]

Information forwarded to lars <at> 6xq.net, guix-patches <at> gnu.org:
bug#67921; Package guix-patches. (Thu, 15 Feb 2024 08:51:02 GMT) Full text and rfc822 format available.

Message #29 received at 67921 <at> debbugs.gnu.org (full text, mbox):

From: Saku Laesvuori <saku <at> laesvuori.fi>
To: guix-patches <at> gnu.org,
	67921 <at> debbugs.gnu.org
Cc: Saku Laesvuori <saku <at> laesvuori.fi>
Subject: [WIP PATCH v2 00/23] Update GHC to 9.6.4
Date: Thu, 15 Feb 2024 10:49:41 +0200
This series

- updates ghc-next to 9.4.8
- adds bootstrap dependencies for Hadrian (ghc-9.6 build system)
- adds ghc-9.6
- changes the default ghc to ghc-9.6.

The compiler seems to work (I have built some haskell packages with it
after running `guix refresh` and disabling it's tests) but some tests
fail with weird errors like the following:

```
ld: cannot find \: No such file or directory
ld: cannot find \: No such file or directory
ld: cannot find spaces/testsuite/tests/backpack/cabal/T16219/T16219.run/dist/build/library-a-impl: No such file or directory
collect2: error: ld returned 1 exit status
`gcc' failed in phase `Linker'. (Exit code: 1)
make: *** [Makefile:12: T16219] Error 1
```

Something seems to be failing due to the tests being run in
'/tmp/guix-build-ghc-9.6.4.drv-0/ghctest-lgjqumae/test   spaces/testsuite/...'
but I can't figure out what it is. I've tried tracing the tests and it
seems that ld is called with arguments '/tmp/.../test' '\' '\' 'spaces/...'
which obviously can't work, but I could not pin down where the escaping
fails. This happens with just ~40 out of almost 10 000 tests which makes
it even more confusing.

Any ideas what could be causing the failures or should I just try
disabling those tests?

I also noticed that hidden packages shadow other packages, for example
the hidden base package from any haskell package can shadow the exposed
version from ghc. I guess I'll try implementing a fix for
https://issues.guix.gnu.org/66347 by adding a new profile hook that
creates a package environment[1] for ghc.

[2]: https://ghc.gitlab.haskell.org/ghc/doc/users_guide/packages.html#package-environments

Saku Laesvuori (23):
  gnu: ghc-next: Update to version 9.4.8
  gnu: Add ghc-js-flot-bootstrap-for-9.6
  gnu: Add ghc-clock-bootstrap-for-9.6
  gnu: Add ghc-extra-bootstrap-for-9.6
  gnu: Add ghc-hashable-bootstrap-for-9.6
  gnu: Add ghc-splitmix-bootstrap-for-9.6
  gnu: Add ghc-random-bootstrap-for-9.6
  gnu: Add ghc-primitive-bootstrap-for-9.6
  gnu: Add ghc-js-jquery-bootstrap-for-9.6
  gnu: Add ghc-utf8-string-bootstrap-for-9.6
  gnu: Add ghc-heaps-bootstrap-for-9.6
  gnu: Add ghc-js-dgtable-bootstrap-for-9.6
  gnu: Add ghc-nats-bootstrap-for-9.6
  gnu: Add ghc-tagged-bootstrap-for-9.6
  gnu: Add ghc-semigroups-bootstrap-for-9.6
  gnu: Add ghc-base16-bytestring-bootstrap-for-9.6
  gnu: Add ghc-cryptohash-sha256-bootstrap-for-9.6
  gnu: Add ghc-unordered-containers-bootstrap-for-9.6
  gnu: Add ghc-filepattern-bootstrap-for-9.6
  gnu: Add ghc-shake-bootstrap-for-9.6
  gnu: Add hadrian-for-ghc-9.6
  gnu: Add ghc-9.6
  gnu: ghc: Update to version 9.6.4

 gnu/packages/haskell.scm                      | 686 +++++++++++++++++-
 .../patches/ghc-9.4-testsuite-fixes.patch     | 119 +++
 2 files changed, 792 insertions(+), 13 deletions(-)
 create mode 100644 gnu/packages/patches/ghc-9.4-testsuite-fixes.patch


base-commit: f2102cb5b9239be2ed2023b908b726af542e0124
-- 
2.41.0





Information forwarded to lars <at> 6xq.net, guix-patches <at> gnu.org:
bug#67921; Package guix-patches. (Thu, 15 Feb 2024 08:52:01 GMT) Full text and rfc822 format available.

Message #32 received at 67921 <at> debbugs.gnu.org (full text, mbox):

From: Saku Laesvuori <saku <at> laesvuori.fi>
To: guix-patches <at> gnu.org,
	67921 <at> debbugs.gnu.org
Cc: Saku Laesvuori <saku <at> laesvuori.fi>
Subject: [PATCH v2 01/23] gnu: ghc-next: Update to version 9.4.8
Date: Thu, 15 Feb 2024 10:49:42 +0200
* gnu/packages/haskell.scm (ghc-9.4): Update to version 9.4.8.
[native-inputs]<ghc-testsuite>: Add a patch to fix the testsuite.
(ghc-happy-bootstrap-for-9.4): Update to version 1.20.1.1.
* gnu/packages/patches/ghc-9.4-testsuite-fixes.patch: New patch.

Change-Id: I5ef72f83e5feed1defb706bafa934077fda1553c
---
 gnu/packages/haskell.scm                      |  11 +-
 .../patches/ghc-9.4-testsuite-fixes.patch     | 119 ++++++++++++++++++
 2 files changed, 125 insertions(+), 5 deletions(-)
 create mode 100644 gnu/packages/patches/ghc-9.4-testsuite-fixes.patch

diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm
index 62815efbb1..88826fb31f 100644
--- a/gnu/packages/haskell.scm
+++ b/gnu/packages/haskell.scm
@@ -1437,14 +1437,14 @@ (define ghc-happy-bootstrap-for-9.4
   (hidden-package
     (package
      (name "ghc-happy")
-     (version "1.20.0")
+     (version "1.20.1.1")
      (source
       (origin
         (method url-fetch)
         (uri (hackage-uri "happy" version))
         (sha256
          (base32
-          "1346r2x5ravs5fqma65bzjragqbb2g6v41wz9maknwm2jf7kl79v"))))
+          "06w8g3lfk2ynrfhqznhp1mnp8a5b64lj6qviixpndzf5lv2psklb"))))
      (build-system haskell-build-system)
      (arguments
        (list #:haskell ghc-bootstrap-for-9.4
@@ -1462,14 +1462,14 @@ (define-public ghc-9.4
     (package
       (inherit base)
       (name "ghc-next")
-      (version "9.4.4")
+      (version "9.4.8")
       (source (origin
                 (method url-fetch)
                 (uri (string-append "https://www.haskell.org/ghc/dist/" version
                                     "/ghc-" version "-src.tar.xz"))
                 (sha256
                  (base32
-                  "1qk7rlqf02s3b6m6sqqngmjq1mxnrz88h159lz6k25gddmdg5kp8"))))
+                  "0pmqg9846lanb0hcyxhgr9ipzq33rfldxj7ln0j3qgpyczmhgx0b"))))
       (arguments
        (substitute-keyword-arguments (package-arguments base)
          ((#:phases phases '%standard-phases)
@@ -1487,7 +1487,8 @@ (define-public ghc-9.4
                     version "/ghc-" version "-testsuite.tar.xz"))
              (sha256
               (base32
-               "04p2lawxxg3nyv6frzhyjyh3arhqqyh5ka3alxa2pxhcd2hdcja3"))))
+               "159wsqnqpqb0pxa3zyhvyg07wxr2zz7v52h52wkplw4pn12dsidc"))
+             (patches (search-patches "ghc-9.4-testsuite-fixes.patch"))))
          ("ghc-alex" ,ghc-alex-bootstrap-for-9.4)
          ("ghc-happy" ,ghc-happy-bootstrap-for-9.4)
          ,@(filter (match-lambda
diff --git a/gnu/packages/patches/ghc-9.4-testsuite-fixes.patch b/gnu/packages/patches/ghc-9.4-testsuite-fixes.patch
new file mode 100644
index 0000000000..f394632add
--- /dev/null
+++ b/gnu/packages/patches/ghc-9.4-testsuite-fixes.patch
@@ -0,0 +1,119 @@
+From 3acd8aa948a27465cffc8e2ab56229485e2a5b98 Mon Sep 17 00:00:00 2001
+From: Saku Laesvuori <saku <at> laesvuori.fi>
+Date: Tue, 5 Dec 2023 22:49:45 +0200
+Subject: [PATCH] Fix tests
+
+* replaces egrep with grep -E
+* removes unnecessary escaping in some grep regular expressions
+* adds a missing include header to a makefile
+---
+ testsuite/tests/cabal/cabal01/Makefile                | 2 +-
+ testsuite/tests/ghci/should_run/GHCiPrimCall/Makefile | 4 ++++
+ testsuite/tests/haddock/perf/Makefile                 | 8 ++++----
+ testsuite/tests/hsc2hs/Makefile                       | 4 ++--
+ testsuite/tests/numeric/should_run/T7014.primops      | 4 ++--
+ testsuite/tests/simplCore/should_compile/Makefile     | 4 ++--
+ 6 files changed, 15 insertions(+), 11 deletions(-)
+
+diff --git a/testsuite/tests/cabal/cabal01/Makefile b/testsuite/tests/cabal/cabal01/Makefile
+index 004e4c75..6ec499c9 100644
+--- a/testsuite/tests/cabal/cabal01/Makefile
++++ b/testsuite/tests/cabal/cabal01/Makefile
+@@ -5,7 +5,7 @@ include $(TOP)/mk/test.mk
+ # Find all the env variables starting with CI_ to unset them.
+ # Otherwise, we might run into environment length limitations on Windows.
+ # (See `xargs --show-limits`.)
+-VARS_TO_UNSET := $(shell env | grep ^CI_ | egrep -o '^[^=]+')
++VARS_TO_UNSET := $(shell env | grep ^CI_ | grep -E -o '^[^=]+')
+ unexport $(VARS_TO_UNSET)
+ 
+ clean:
+diff --git a/testsuite/tests/ghci/should_run/GHCiPrimCall/Makefile b/testsuite/tests/ghci/should_run/GHCiPrimCall/Makefile
+index fd64d23f..cb669db3 100644
+--- a/testsuite/tests/ghci/should_run/GHCiPrimCall/Makefile
++++ b/testsuite/tests/ghci/should_run/GHCiPrimCall/Makefile
+@@ -1,3 +1,7 @@
++TOP=../../../..
++include $(TOP)/mk/boilerplate.mk
++include $(TOP)/mk/test.mk
++
+ .PHONY: GHCiPrimCall
+ GHCiPrimCall:
+ 	'$(TEST_HC)' $(TEST_HC_OPTS) -fPIC -v0 -c GHCiPrimCall_cmm.cmm
+diff --git a/testsuite/tests/haddock/perf/Makefile b/testsuite/tests/haddock/perf/Makefile
+index b67b52f2..ff2f7ebb 100644
+--- a/testsuite/tests/haddock/perf/Makefile
++++ b/testsuite/tests/haddock/perf/Makefile
+@@ -4,12 +4,12 @@ include $(TOP)/mk/test.mk
+ 
+ # We accept a 5% increase in parser allocations due to -haddock
+ haddock_parser_perf :
+-	WithHaddock=$(shell '$(TEST_HC)' $(TEST_HC_OPTS) -fno-code -fforce-recomp -Wno-all -ddump-timings -haddock -O0 Fold.hs 2>/dev/null | grep Parser | egrep -o 'alloc=[0-9]+' | cut -c7-  ) ; \
+-	WithoutHaddock=$(shell '$(TEST_HC)' $(TEST_HC_OPTS) -fno-code -fforce-recomp -Wno-all -ddump-timings -O0 Fold.hs 2>/dev/null | grep Parser | egrep -o 'alloc=[0-9]+' | cut -c7-  ) ;  \
++	WithHaddock=$(shell '$(TEST_HC)' $(TEST_HC_OPTS) -fno-code -fforce-recomp -Wno-all -ddump-timings -haddock -O0 Fold.hs 2>/dev/null | grep Parser | grep -E -o 'alloc=[0-9]+' | cut -c7-  ) ; \
++	WithoutHaddock=$(shell '$(TEST_HC)' $(TEST_HC_OPTS) -fno-code -fforce-recomp -Wno-all -ddump-timings -O0 Fold.hs 2>/dev/null | grep Parser | grep -E -o 'alloc=[0-9]+' | cut -c7-  ) ;  \
+ 	  awk "BEGIN { ratio = ($$WithHaddock / $$WithoutHaddock); if (ratio > 1.05) {print \"-haddock allocation ratio too high:\", ratio; exit 1} else {exit 0} }"
+ 
+ # Similarly for the renamer
+ haddock_renamer_perf :
+-	WithoutHaddock=$(shell '$(TEST_HC)' $(TEST_HC_OPTS) -fno-code -fforce-recomp -Wno-all -ddump-timings -O0 Fold.hs 2>/dev/null | grep Renamer | egrep -o 'alloc=[0-9]+' | cut -c7-  ) ; \
+-	WithHaddock=$(shell '$(TEST_HC)' $(TEST_HC_OPTS) -fno-code -fforce-recomp -Wno-all -ddump-timings -haddock -O0 Fold.hs 2>/dev/null | grep Renamer | egrep -o 'alloc=[0-9]+' | cut -c7-  ) ;  \
++	WithoutHaddock=$(shell '$(TEST_HC)' $(TEST_HC_OPTS) -fno-code -fforce-recomp -Wno-all -ddump-timings -O0 Fold.hs 2>/dev/null | grep Renamer | grep -E -o 'alloc=[0-9]+' | cut -c7-  ) ; \
++	WithHaddock=$(shell '$(TEST_HC)' $(TEST_HC_OPTS) -fno-code -fforce-recomp -Wno-all -ddump-timings -haddock -O0 Fold.hs 2>/dev/null | grep Renamer | grep -E -o 'alloc=[0-9]+' | cut -c7-  ) ;  \
+ 	  awk "BEGIN { ratio = ($$WithHaddock / $$WithoutHaddock); if (ratio > 1.05) {print \"-haddock allocation ratio too high:\", ratio; exit 1} else {exit 0} }"
+diff --git a/testsuite/tests/hsc2hs/Makefile b/testsuite/tests/hsc2hs/Makefile
+index d0b2d249..95b011c8 100644
+--- a/testsuite/tests/hsc2hs/Makefile
++++ b/testsuite/tests/hsc2hs/Makefile
+@@ -52,9 +52,9 @@ T11004:
+ T12504:
+ 	'$(HSC2HS)' $(HSC2HS_OPTS) T12504/path/to/$@.hsc
+ ifeq "$(WINDOWS)" "YES"
+-	grep '{-# LINE 1 \"T12504\\\\path\\\\to\\\\$@\.hsc\" #-}' T12504/path/to/$@.hs
++	grep '{-# LINE 1 "T12504\\\\path\\\\to\\\\$@\.hsc" #-}' T12504/path/to/$@.hs
+ else
+-	grep '{-# LINE 1 \"T12504/path/to/$@\.hsc\" #-}' T12504/path/to/$@.hs
++	grep '{-# LINE 1 "T12504/path/to/$@\.hsc" #-}' T12504/path/to/$@.hs
+ endif
+ 
+ .PHONY: T15758
+diff --git a/testsuite/tests/numeric/should_run/T7014.primops b/testsuite/tests/numeric/should_run/T7014.primops
+index 3243666d..c807fb45 100644
+--- a/testsuite/tests/numeric/should_run/T7014.primops
++++ b/testsuite/tests/numeric/should_run/T7014.primops
+@@ -1,8 +1,8 @@
+ and#
+ or#
+ uncheckedShift.*#
+-\+#
+-\-#
+++#
++-#
+ \*#
+ quotInt#
+ remInt#
+diff --git a/testsuite/tests/simplCore/should_compile/Makefile b/testsuite/tests/simplCore/should_compile/Makefile
+index b5041800..c56e04f6 100644
+--- a/testsuite/tests/simplCore/should_compile/Makefile
++++ b/testsuite/tests/simplCore/should_compile/Makefile
+@@ -66,7 +66,7 @@ T13367:
+ 
+ T8832:
+ 	$(RM) -f T8832.o T8832.hi
+-	'$(TEST_HC)' $(TEST_HC_OPTS) -O -c -ddump-simpl -dsuppress-ticks T8832.hs | egrep '^[a-zA-Z0-9]+ ='
++	'$(TEST_HC)' $(TEST_HC_OPTS) -O -c -ddump-simpl -dsuppress-ticks T8832.hs | grep -E '^[a-zA-Z0-9]+ ='
+ 
+ T12603:
+ 	$(RM) -f T12603.o T12603.hi
+@@ -259,7 +259,7 @@ str-rules:
+ # g should have been collapsed into one defininition by CSE.
+ .PHONY: T13340
+ T13340:
+-	'$(TEST_HC)' $(TEST_HC_OPTS) -c -O T13340.hs -ddump-simpl -dsuppress-all | grep -c '\+#'
++	'$(TEST_HC)' $(TEST_HC_OPTS) -c -O T13340.hs -ddump-simpl -dsuppress-all | grep -c '+#'
+ 
+ 
+ # We expect to see all dictionaries specialized away.
+-- 
+2.41.0
+
-- 
2.41.0





Information forwarded to lars <at> 6xq.net, guix-patches <at> gnu.org:
bug#67921; Package guix-patches. (Thu, 15 Feb 2024 08:52:02 GMT) Full text and rfc822 format available.

Message #35 received at 67921 <at> debbugs.gnu.org (full text, mbox):

From: Saku Laesvuori <saku <at> laesvuori.fi>
To: guix-patches <at> gnu.org,
	67921 <at> debbugs.gnu.org
Cc: Saku Laesvuori <saku <at> laesvuori.fi>
Subject: [PATCH v2 02/23] gnu: Add ghc-js-flot-bootstrap-for-9.6
Date: Thu, 15 Feb 2024 10:49:43 +0200
* gnu/packages/haskell.scm (ghc-js-flot-bootstrap-for-9.6): New
  variable.

Change-Id: Ie01768c263084a3aa38b7120de832913a80fc99a
---
 gnu/packages/haskell.scm | 30 ++++++++++++++++++++++++++++++
 1 file changed, 30 insertions(+)

diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm
index 88826fb31f..cd44d9c915 100644
--- a/gnu/packages/haskell.scm
+++ b/gnu/packages/haskell.scm
@@ -1503,4 +1503,34 @@ (define-public ghc-9.4
               (file-pattern ".*\\.conf\\.d$")
               (file-type 'directory)))))))
 
+;;; Bootstrap packages for hadrian, the new GHC build system
+
+(define ghc-bootstrap-for-9.6 ghc-9.4)
+
+(define ghc-js-flot-bootstrap-for-9.6
+  (package
+    (name "ghc-js-flot-bootstrap")
+    (version "0.8.3")
+    (source
+     (origin
+       (method url-fetch)
+       (uri
+        (hackage-uri "js-flot" version))
+       (sha256
+        (base32
+         "0yjyzqh3qzhy5h3nql1fckw0gcfb0f4wj9pm85nafpfqp2kg58hv"))))
+    (build-system haskell-build-system)
+    (arguments (list #:tests? #f
+                     #:haskell ghc-bootstrap-for-9.6))
+    (properties '((upstream-name . "js-flot")))
+    (home-page "https://github.com/ndmitchell/js-flot")
+    (synopsis "Obtain minified flot code")
+    (description "This package bundles the minified
+@url{http://www.flotcharts.org/, Flot} code (a jQuery plotting library)
+into a Haskell package, so it can be depended upon by Cabal packages.
+The first three components of the version number match the upstream flot
+version.  The package is designed to meet the redistribution
+requirements of downstream users (e.g. Debian).")
+    (license license:expat)))
+
 ;;; haskell.scm ends here
-- 
2.41.0





Information forwarded to lars <at> 6xq.net, guix-patches <at> gnu.org:
bug#67921; Package guix-patches. (Thu, 15 Feb 2024 08:52:02 GMT) Full text and rfc822 format available.

Message #38 received at 67921 <at> debbugs.gnu.org (full text, mbox):

From: Saku Laesvuori <saku <at> laesvuori.fi>
To: guix-patches <at> gnu.org,
	67921 <at> debbugs.gnu.org
Cc: Saku Laesvuori <saku <at> laesvuori.fi>
Subject: [PATCH v2 03/23] gnu: Add ghc-clock-bootstrap-for-9.6
Date: Thu, 15 Feb 2024 10:49:44 +0200
* gnu/packages/haskell.scm (ghc-clock-bootstrap-for-9.6): New
  variable.

Change-Id: I78d0997ee749a0c1725490c99308dcd1dc5bfbe5
---
 gnu/packages/haskell.scm | 21 +++++++++++++++++++++
 1 file changed, 21 insertions(+)

diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm
index cd44d9c915..c2f0d8a160 100644
--- a/gnu/packages/haskell.scm
+++ b/gnu/packages/haskell.scm
@@ -1533,4 +1533,25 @@ (define ghc-js-flot-bootstrap-for-9.6
 requirements of downstream users (e.g. Debian).")
     (license license:expat)))
 
+(define ghc-clock-bootstrap-for-9.6
+  (package
+    (name "ghc-clock-bootstrap")
+    (version "0.8.3")
+    (source (origin
+              (method url-fetch)
+              (uri (hackage-uri "clock" version))
+              (sha256
+               (base32
+                "1l850pf1dxjf3i15wc47d64gzkpzgvw0bq13fd8zvklq9kdyap44"))))
+    (build-system haskell-build-system)
+    (properties '((upstream-name . "clock")))
+    (arguments (list #:tests? #f
+                     #:haskell ghc-bootstrap-for-9.6))
+    (home-page "https://github.com/corsis/clock")
+    (synopsis "High-resolution clock for Haskell")
+    (description
+     "A package for convenient access to high-resolution clock and
+timer functions of different operating systems via a unified API.")
+    (license license:bsd-3)))
+
 ;;; haskell.scm ends here
-- 
2.41.0





Information forwarded to lars <at> 6xq.net, guix-patches <at> gnu.org:
bug#67921; Package guix-patches. (Thu, 15 Feb 2024 08:52:02 GMT) Full text and rfc822 format available.

Message #41 received at 67921 <at> debbugs.gnu.org (full text, mbox):

From: Saku Laesvuori <saku <at> laesvuori.fi>
To: guix-patches <at> gnu.org,
	67921 <at> debbugs.gnu.org
Cc: Saku Laesvuori <saku <at> laesvuori.fi>
Subject: [PATCH v2 05/23] gnu: Add ghc-hashable-bootstrap-for-9.6
Date: Thu, 15 Feb 2024 10:49:46 +0200
* gnu/packages/haskell.scm (ghc-hashable-bootstrap-for-9.6): New
  variable.

Change-Id: Id96f7df459a3db56747cd4204b32b7ad253139a4
---
 gnu/packages/haskell.scm | 23 +++++++++++++++++++++++
 1 file changed, 23 insertions(+)

diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm
index 717181b424..307231e8f3 100644
--- a/gnu/packages/haskell.scm
+++ b/gnu/packages/haskell.scm
@@ -1578,4 +1578,27 @@ (define ghc-clock-bootstrap-for-9.6
 timer functions of different operating systems via a unified API.")
     (license license:bsd-3)))
 
+(define ghc-hashable-bootstrap-for-9.6
+  (package
+    (name "ghc-hashable-bootstrap")
+    (version "1.4.1.0")
+    (source (origin
+              (method url-fetch)
+              (uri (hackage-uri "hashable" version))
+              (sha256
+               (base32
+                "11sycr73821amdz8g0k8c97igi4z7f9xdvgaxlkxhsp6h310bcz1"))))
+    (build-system haskell-build-system)
+    (properties '((upstream-name . "hashable")))
+    (arguments (list #:tests? #f
+                     #:haskell ghc-bootstrap-for-9.6))
+    (home-page "http://github.com/haskell-unordered-containers/hashable")
+    (synopsis "Class for types that can be converted to a hash value")
+    (description
+     "This package defines a class, @code{Hashable}, for types that can be
+converted to a hash value.  This class exists for the benefit of hashing-based
+data structures.  The package provides instances for basic types and a way to
+combine hash values.")
+    (license license:bsd-3)))
+
 ;;; haskell.scm ends here
-- 
2.41.0





Information forwarded to lars <at> 6xq.net, guix-patches <at> gnu.org:
bug#67921; Package guix-patches. (Thu, 15 Feb 2024 08:52:03 GMT) Full text and rfc822 format available.

Message #44 received at 67921 <at> debbugs.gnu.org (full text, mbox):

From: Saku Laesvuori <saku <at> laesvuori.fi>
To: guix-patches <at> gnu.org,
	67921 <at> debbugs.gnu.org
Cc: Saku Laesvuori <saku <at> laesvuori.fi>
Subject: [PATCH v2 04/23] gnu: Add ghc-extra-bootstrap-for-9.6
Date: Thu, 15 Feb 2024 10:49:45 +0200
* gnu/packages/haskell.scm (ghc-extra-bootstrap-for-9.6): New
  variable.

Change-Id: I73f1bd1a821bb01fc9d081c78313e583ce8fab6b
---
 gnu/packages/haskell.scm | 24 ++++++++++++++++++++++++
 1 file changed, 24 insertions(+)

diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm
index c2f0d8a160..717181b424 100644
--- a/gnu/packages/haskell.scm
+++ b/gnu/packages/haskell.scm
@@ -1533,6 +1533,30 @@ (define ghc-js-flot-bootstrap-for-9.6
 requirements of downstream users (e.g. Debian).")
     (license license:expat)))
 
+(define ghc-extra-bootstrap-for-9.6
+  (package
+    (name "ghc-extra-bootstrap")
+    (version "1.7.12")
+    (source (origin
+              (method url-fetch)
+              (uri (hackage-uri "extra" version))
+              (sha256
+               (base32
+                "0g5h8fp0nq4k9asiknw0bhvb10zpfnsixfp0n3xz0rc83pnajwg5"))))
+    (build-system haskell-build-system)
+    (properties '((upstream-name . "extra")))
+    (arguments (list #:tests? #f
+                     #:haskell ghc-bootstrap-for-9.6))
+    (inputs (list ghc-clock-bootstrap-for-9.6))
+    (home-page "https://github.com/ndmitchell/extra#readme")
+    (synopsis "Extra Haskell functions")
+    (description
+     "This library provides extra functions for the standard
+Haskell libraries.  Most functions are simple additions, filling out missing
+functionality.  A few functions are available in later versions of GHC, but
+this package makes them available back to GHC 7.2.")
+    (license license:bsd-3)))
+
 (define ghc-clock-bootstrap-for-9.6
   (package
     (name "ghc-clock-bootstrap")
-- 
2.41.0





Information forwarded to lars <at> 6xq.net, guix-patches <at> gnu.org:
bug#67921; Package guix-patches. (Thu, 15 Feb 2024 08:52:03 GMT) Full text and rfc822 format available.

Message #47 received at 67921 <at> debbugs.gnu.org (full text, mbox):

From: Saku Laesvuori <saku <at> laesvuori.fi>
To: guix-patches <at> gnu.org,
	67921 <at> debbugs.gnu.org
Cc: Saku Laesvuori <saku <at> laesvuori.fi>
Subject: [PATCH v2 07/23] gnu: Add ghc-random-bootstrap-for-9.6
Date: Thu, 15 Feb 2024 10:49:48 +0200
* gnu/packages/haskell.scm (ghc-random-bootstrap-for-9.6): New variable.

Change-Id: If1a39b27687a63a63dab5aa4c1a366a8ba78196a
---
 gnu/packages/haskell.scm | 22 ++++++++++++++++++++++
 1 file changed, 22 insertions(+)

diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm
index ce3ca5083d..9487223636 100644
--- a/gnu/packages/haskell.scm
+++ b/gnu/packages/haskell.scm
@@ -1633,4 +1633,26 @@ (define ghc-splitmix-bootstrap-for-9.6
 internal state).")
     (license license:bsd-3)))
 
+(define ghc-random-bootstrap-for-9.6
+  (package
+    (name "ghc-random-bootstrap")
+    (version "1.2.1.1")
+    (source (origin
+              (method url-fetch)
+              (uri (hackage-uri "random" version))
+              (sha256
+               (base32
+                "0xlv1k4sj87akwvj54kq4nrfkzi6qcz1941bf78pnkbaxpvp44iy"))))
+    (build-system haskell-build-system)
+    (properties '((upstream-name . "random")))
+    (arguments (list #:tests? #f
+                     #:haskell ghc-bootstrap-for-9.6))
+    (inputs (list ghc-splitmix-bootstrap-for-9.6))
+    (home-page "http://hackage.haskell.org/package/random")
+    (synopsis "Random number library")
+    (description
+     "This package provides a basic random number generation
+library, including the ability to split random number generators.")
+    (license license:bsd-3)))
+
 ;;; haskell.scm ends here
-- 
2.41.0





Information forwarded to lars <at> 6xq.net, guix-patches <at> gnu.org:
bug#67921; Package guix-patches. (Thu, 15 Feb 2024 08:52:04 GMT) Full text and rfc822 format available.

Message #50 received at 67921 <at> debbugs.gnu.org (full text, mbox):

From: Saku Laesvuori <saku <at> laesvuori.fi>
To: guix-patches <at> gnu.org,
	67921 <at> debbugs.gnu.org
Cc: Saku Laesvuori <saku <at> laesvuori.fi>
Subject: [PATCH v2 06/23] gnu: Add ghc-splitmix-bootstrap-for-9.6
Date: Thu, 15 Feb 2024 10:49:47 +0200
* gnu/packages/haskell.scm (ghc-splitmix-bootstrap-for-9.6): New
  variable.

Change-Id: I65584aa893975015dc44491b120636844af801de
---
 gnu/packages/haskell.scm | 32 ++++++++++++++++++++++++++++++++
 1 file changed, 32 insertions(+)

diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm
index 307231e8f3..ce3ca5083d 100644
--- a/gnu/packages/haskell.scm
+++ b/gnu/packages/haskell.scm
@@ -1601,4 +1601,36 @@ (define ghc-hashable-bootstrap-for-9.6
 combine hash values.")
     (license license:bsd-3)))
 
+(define ghc-splitmix-bootstrap-for-9.6
+  (package
+    (name "ghc-splitmix-bootstrap")
+    (version "0.1.0.5")
+    (source (origin
+              (method url-fetch)
+              (uri (hackage-uri "splitmix" version))
+              (sha256
+               (base32
+                "00ihw7vji8ydik7f5lk9iwj21j829lpl22wa4nqz2igg26b7mw4x"))))
+    (build-system haskell-build-system)
+    (properties '((upstream-name . "splitmix")))
+    (arguments
+     `(#:tests? #f
+       #:haskell ,ghc-bootstrap-for-9.6))
+    (home-page "http://hackage.haskell.org/package/splitmix")
+    (synopsis "Fast and splittable pseudorandom number generator")
+    (description
+     "This package provides a Pure Haskell implementation of the
+SplitMix pseudorandom number generator.  SplitMix is a \"splittable\"
+pseudorandom number generator that is quite fast: 9 64-bit
+arithmetic/logical operations per 64 bits generated.  SplitMix is tested
+with two standard statistical test suites (DieHarder and TestU01, this
+implementation only using the former) and it appears to be adequate for
+\"everyday\" use, such as Monte Carlo algorithms and randomized data
+structures where speed is important.  In particular, it @strong{should not
+be used for cryptographic or security applications}, because generated
+sequences of pseudorandom values are too predictable (the mixing functions
+are easily inverted, and two successive outputs suffice to reconstruct the
+internal state).")
+    (license license:bsd-3)))
+
 ;;; haskell.scm ends here
-- 
2.41.0





Information forwarded to lars <at> 6xq.net, guix-patches <at> gnu.org:
bug#67921; Package guix-patches. (Thu, 15 Feb 2024 08:52:04 GMT) Full text and rfc822 format available.

Message #53 received at 67921 <at> debbugs.gnu.org (full text, mbox):

From: Saku Laesvuori <saku <at> laesvuori.fi>
To: guix-patches <at> gnu.org,
	67921 <at> debbugs.gnu.org
Cc: Saku Laesvuori <saku <at> laesvuori.fi>
Subject: [PATCH v2 08/23] gnu: Add ghc-primitive-bootstrap-for-9.6
Date: Thu, 15 Feb 2024 10:49:49 +0200
* gnu/packages/haskell.scm (ghc-primitive-bootstrap-for-9.6): New
  variable.

Change-Id: I393ff5f57862de0c6da118a803ed6f898adcf0cb
---
 gnu/packages/haskell.scm | 23 +++++++++++++++++++++++
 1 file changed, 23 insertions(+)

diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm
index 9487223636..cc6215ef80 100644
--- a/gnu/packages/haskell.scm
+++ b/gnu/packages/haskell.scm
@@ -1655,4 +1655,27 @@ (define ghc-random-bootstrap-for-9.6
 library, including the ability to split random number generators.")
     (license license:bsd-3)))
 
+(define ghc-primitive-bootstrap-for-9.6
+  (package
+    (name "ghc-primitive-bootstrap")
+    (version "0.8.0.0")
+    (source (origin
+              (method url-fetch)
+              (uri (hackage-uri "primitive" version))
+              (sha256
+               (base32
+                "0pwr5g3bra5m2zjm14pj98klqj2qrjcfasgd3rcrp7vq98dw4lsm"))))
+    (build-system haskell-build-system)
+    (properties '((upstream-name . "primitive")))
+    (arguments
+     `(#:tests? #f
+       #:haskell ,ghc-bootstrap-for-9.6
+       #:cabal-revision ("1"
+                         "0w1nf0rabgyk5q7ccw7va1mj6k50lswvikhi6vr2myb1dvx4bzyh")))
+    (home-page "https://github.com/haskell/primitive")
+    (synopsis "Primitive memory-related operations")
+    (description
+     "This package provides various primitive memory-related operations.")
+    (license license:bsd-3)))
+
 ;;; haskell.scm ends here
-- 
2.41.0





Information forwarded to lars <at> 6xq.net, guix-patches <at> gnu.org:
bug#67921; Package guix-patches. (Thu, 15 Feb 2024 08:52:04 GMT) Full text and rfc822 format available.

Message #56 received at 67921 <at> debbugs.gnu.org (full text, mbox):

From: Saku Laesvuori <saku <at> laesvuori.fi>
To: guix-patches <at> gnu.org,
	67921 <at> debbugs.gnu.org
Cc: Saku Laesvuori <saku <at> laesvuori.fi>
Subject: [PATCH v2 09/23] gnu: Add ghc-js-jquery-bootstrap-for-9.6
Date: Thu, 15 Feb 2024 10:49:50 +0200
* gnu/packages/haskell.scm (ghc-js-jquery-bootstrap-for-9.6): New
  variable.

Change-Id: I579efb04ad665f0938e24a9656f959abdd27905e
---
 gnu/packages/haskell.scm | 26 ++++++++++++++++++++++++++
 1 file changed, 26 insertions(+)

diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm
index cc6215ef80..9f442e25a1 100644
--- a/gnu/packages/haskell.scm
+++ b/gnu/packages/haskell.scm
@@ -1655,6 +1655,32 @@ (define ghc-random-bootstrap-for-9.6
 library, including the ability to split random number generators.")
     (license license:bsd-3)))
 
+(define ghc-js-jquery-bootstrap-for-9.6
+  (package
+    (name "ghc-js-jquery-bootstrap")
+    (version "3.3.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri
+        (hackage-uri "js-jquery" version))
+       (sha256
+        (base32
+         "16q68jzbs7kp07dnq8cprdcc8fd41rim38039vg0w4x11lgniq70"))))
+    (build-system haskell-build-system)
+    (properties '((upstream-name . "js-jquery")))
+    (arguments `(#:tests? #f
+                 #:haskell ,ghc-bootstrap-for-9.6))
+    (home-page "https://github.com/ndmitchell/js-jquery")
+    (synopsis "Obtain minified jQuery code")
+    (description "This package bundles the minified
+@url{http://jquery.com/, jQuery} code into a Haskell package, so it can
+be depended upon by Cabal packages.  The first three components of the
+version number match the upstream jQuery version.  The package is
+designed to meet the redistribution requirements of downstream
+users (e.g. Debian).")
+    (license license:expat)))
+
 (define ghc-primitive-bootstrap-for-9.6
   (package
     (name "ghc-primitive-bootstrap")
-- 
2.41.0





Information forwarded to lars <at> 6xq.net, guix-patches <at> gnu.org:
bug#67921; Package guix-patches. (Thu, 15 Feb 2024 08:52:05 GMT) Full text and rfc822 format available.

Message #59 received at 67921 <at> debbugs.gnu.org (full text, mbox):

From: Saku Laesvuori <saku <at> laesvuori.fi>
To: guix-patches <at> gnu.org,
	67921 <at> debbugs.gnu.org
Cc: Saku Laesvuori <saku <at> laesvuori.fi>
Subject: [PATCH v2 11/23] gnu: Add ghc-heaps-bootstrap-for-9.6
Date: Thu, 15 Feb 2024 10:49:52 +0200
* gnu/packages/haskell.scm (ghc-heaps-bootstrap-for-9.6): New variable.

Change-Id: Ib04a47d3eacba415fd44cd532c18c02f8d9cf40b
---
 gnu/packages/haskell.scm | 21 +++++++++++++++++++++
 1 file changed, 21 insertions(+)

diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm
index 3561e494d2..a83d785554 100644
--- a/gnu/packages/haskell.scm
+++ b/gnu/packages/haskell.scm
@@ -1655,6 +1655,27 @@ (define ghc-random-bootstrap-for-9.6
 library, including the ability to split random number generators.")
     (license license:bsd-3)))
 
+(define ghc-heaps-bootstrap-for-9.6
+  (package
+    (name "ghc-heaps-bootstrap")
+    (version "0.4")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (hackage-uri "heaps" version))
+       (sha256
+        (base32 "1zbw0qrlnhb42v04phzwmizbpwg21wnpl7p4fbr9xsasp7w9scl9"))))
+    (build-system haskell-build-system)
+    (properties '((upstream-name . "heaps")))
+    (arguments (list #:haskell ghc-bootstrap-for-9.6))
+    (home-page "http://github.com/ekmett/heaps/")
+    (synopsis "Asymptotically optimal Brodal/Okasaki heaps.")
+    (description
+     "Asymptotically optimal Brodal\\/Okasaki bootstrapped skew-binomial heaps from the
+paper <http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.48.973 \"Optimal
+Purely Functional Priority Queues\">, extended with a Foldable interface.")
+    (license license:bsd-3)))
+
 (define ghc-utf8-string-bootstrap-for-9.6
   (package
     (name "ghc-utf8-string-bootstrap")
-- 
2.41.0





Information forwarded to lars <at> 6xq.net, guix-patches <at> gnu.org:
bug#67921; Package guix-patches. (Thu, 15 Feb 2024 08:52:05 GMT) Full text and rfc822 format available.

Message #62 received at 67921 <at> debbugs.gnu.org (full text, mbox):

From: Saku Laesvuori <saku <at> laesvuori.fi>
To: guix-patches <at> gnu.org,
	67921 <at> debbugs.gnu.org
Cc: Saku Laesvuori <saku <at> laesvuori.fi>
Subject: [PATCH v2 10/23] gnu: Add ghc-utf8-string-bootstrap-for-9.6
Date: Thu, 15 Feb 2024 10:49:51 +0200
* gnu/packages/haskell.scm (ghc-utf8-string-bootstrap-for-9.6): New
  variable.

Change-Id: Iea2ba4d3202195a54b71037882352cdac9415901
---
 gnu/packages/haskell.scm | 22 ++++++++++++++++++++++
 1 file changed, 22 insertions(+)

diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm
index 9f442e25a1..3561e494d2 100644
--- a/gnu/packages/haskell.scm
+++ b/gnu/packages/haskell.scm
@@ -1655,6 +1655,28 @@ (define ghc-random-bootstrap-for-9.6
 library, including the ability to split random number generators.")
     (license license:bsd-3)))
 
+(define ghc-utf8-string-bootstrap-for-9.6
+  (package
+    (name "ghc-utf8-string-bootstrap")
+    (version "1.0.2")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (hackage-uri "utf8-string" version))
+       (sha256
+        (base32 "16mh36ffva9rh6k37bi1046pgpj14h0cnmj1iir700v0lynxwj7f"))))
+    (build-system haskell-build-system)
+    (properties '((upstream-name . "utf8-string")))
+    (arguments `(#:tests? #f
+                 #:haskell ,ghc-bootstrap-for-9.6))
+    (home-page "https://github.com/glguy/utf8-string/")
+    (synopsis "Support for reading and writing UTF8 Strings")
+    (description
+     "A UTF8 layer for Strings.  The utf8-string package provides operations
+for encoding UTF8 strings to Word8 lists and back, and for reading and writing
+UTF8 without truncation.")
+    (license license:bsd-3)))
+
 (define ghc-js-jquery-bootstrap-for-9.6
   (package
     (name "ghc-js-jquery-bootstrap")
-- 
2.41.0





Information forwarded to lars <at> 6xq.net, guix-patches <at> gnu.org:
bug#67921; Package guix-patches. (Thu, 15 Feb 2024 08:52:06 GMT) Full text and rfc822 format available.

Message #65 received at 67921 <at> debbugs.gnu.org (full text, mbox):

From: Saku Laesvuori <saku <at> laesvuori.fi>
To: guix-patches <at> gnu.org,
	67921 <at> debbugs.gnu.org
Cc: Saku Laesvuori <saku <at> laesvuori.fi>
Subject: [PATCH v2 12/23] gnu: Add ghc-js-dgtable-bootstrap-for-9.6
Date: Thu, 15 Feb 2024 10:49:53 +0200
* gnu/packages/haskell.scm (ghc-js-dgtable-bootstrap-for-9.6): New
  variable.

Change-Id: Ic7e9e6c584e4fb8830ec55288759796271822964
---
 gnu/packages/haskell.scm | 23 +++++++++++++++++++++++
 1 file changed, 23 insertions(+)

diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm
index a83d785554..88c7278168 100644
--- a/gnu/packages/haskell.scm
+++ b/gnu/packages/haskell.scm
@@ -1655,6 +1655,29 @@ (define ghc-random-bootstrap-for-9.6
 library, including the ability to split random number generators.")
     (license license:bsd-3)))
 
+(define ghc-js-dgtable-bootstrap-for-9.6
+  (package
+    (name "ghc-js-dgtable-bootstrap")
+    (version "0.5.2")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (hackage-uri "js-dgtable" version))
+       (sha256
+        (base32 "1b10kx703kbkb5q1ggdpqcrxqjb33kh24khk21rb30w0xrdxd3g2"))))
+    (build-system haskell-build-system)
+    (properties '((upstream-name . "js-dgtable")))
+    (arguments (list #:haskell ghc-bootstrap-for-9.6))
+    (home-page "https://github.com/ndmitchell/js-dgtable#readme")
+    (synopsis "Obtain minified jquery.dgtable code")
+    (description
+     "This package bundles the minified <https://github.com/danielgindi/jquery.dgtable
+jquery.dgtable> code into a Haskell package, so it can be depended upon by Cabal
+packages.  The first three components of the version number match the upstream
+jquery.dgtable version.  The package is designed to meet the redistribution
+requirements of downstream users (e.g. Debian).")
+    (license license:expat)))
+
 (define ghc-heaps-bootstrap-for-9.6
   (package
     (name "ghc-heaps-bootstrap")
-- 
2.41.0





Information forwarded to lars <at> 6xq.net, guix-patches <at> gnu.org:
bug#67921; Package guix-patches. (Thu, 15 Feb 2024 08:52:06 GMT) Full text and rfc822 format available.

Message #68 received at 67921 <at> debbugs.gnu.org (full text, mbox):

From: Saku Laesvuori <saku <at> laesvuori.fi>
To: guix-patches <at> gnu.org,
	67921 <at> debbugs.gnu.org
Cc: Saku Laesvuori <saku <at> laesvuori.fi>
Subject: [PATCH v2 13/23] gnu: Add ghc-nats-bootstrap-for-9.6
Date: Thu, 15 Feb 2024 10:49:54 +0200
* gnu/packages/haskell.scm (ghc-nats-bootstrap-for-9.6): New variable.

Change-Id: I57351e88ba0bc52e7fd5fefc5c3006f63925fd86
---
 gnu/packages/haskell.scm | 22 ++++++++++++++++++++++
 1 file changed, 22 insertions(+)

diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm
index 88c7278168..604b38cce6 100644
--- a/gnu/packages/haskell.scm
+++ b/gnu/packages/haskell.scm
@@ -1655,6 +1655,28 @@ (define ghc-random-bootstrap-for-9.6
 library, including the ability to split random number generators.")
     (license license:bsd-3)))
 
+(define ghc-nats-bootstrap-for-9.6
+  (package
+    (name "ghc-nats-bootstrap")
+    (version "1.1.2")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (hackage-uri "nats" version))
+       (sha256
+        (base32
+         "1v40drmhixck3pz3mdfghamh73l4rp71mzcviipv1y8jhrfxilmr"))))
+    (build-system haskell-build-system)
+    (properties '((upstream-name . "nats")))
+    (arguments `(#:haddock? #f
+                 #:haskell ,ghc-bootstrap-for-9.6))
+    (inputs
+     (list ghc-hashable-bootstrap-for-9.6))
+    (home-page "https://hackage.haskell.org/package/nats")
+    (synopsis "Natural numbers")
+    (description "This library provides the natural numbers for Haskell.")
+    (license license:bsd-3)))
+
 (define ghc-js-dgtable-bootstrap-for-9.6
   (package
     (name "ghc-js-dgtable-bootstrap")
-- 
2.41.0





Information forwarded to lars <at> 6xq.net, guix-patches <at> gnu.org:
bug#67921; Package guix-patches. (Thu, 15 Feb 2024 08:52:07 GMT) Full text and rfc822 format available.

Message #71 received at 67921 <at> debbugs.gnu.org (full text, mbox):

From: Saku Laesvuori <saku <at> laesvuori.fi>
To: guix-patches <at> gnu.org,
	67921 <at> debbugs.gnu.org
Cc: Saku Laesvuori <saku <at> laesvuori.fi>
Subject: [PATCH v2 14/23] gnu: Add ghc-tagged-bootstrap-for-9.6
Date: Thu, 15 Feb 2024 10:49:55 +0200
* gnu/packages/haskell.scm (ghc-tagged-bootstrap-for-9.6): New variable.

Change-Id: Ifd3996a62cfa33d155315807d4ead706f7e64452
---
 gnu/packages/haskell.scm | 20 ++++++++++++++++++++
 1 file changed, 20 insertions(+)

diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm
index 604b38cce6..0f49aabdb1 100644
--- a/gnu/packages/haskell.scm
+++ b/gnu/packages/haskell.scm
@@ -1655,6 +1655,26 @@ (define ghc-random-bootstrap-for-9.6
 library, including the ability to split random number generators.")
     (license license:bsd-3)))
 
+(define ghc-tagged-bootstrap-for-9.6
+  (package
+    (name "ghc-tagged-bootstrap")
+    (version "0.8.7")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (hackage-uri "tagged" version))
+       (sha256
+        (base32
+         "0qdr1kv1zn5iamnwyn5nf0ywxs4wv779k0gpw94kyqx14ynfw534"))))
+    (build-system haskell-build-system)
+    (properties '((upstream-name . "tagged")))
+    (arguments (list #:haskell ghc-bootstrap-for-9.6))
+    (home-page "https://hackage.haskell.org/package/tagged")
+    (synopsis "Haskell phantom types to avoid passing dummy arguments")
+    (description "This library provides phantom types for Haskell 98, to avoid
+having to unsafely pass dummy arguments.")
+    (license license:bsd-3)))
+
 (define ghc-nats-bootstrap-for-9.6
   (package
     (name "ghc-nats-bootstrap")
-- 
2.41.0





Information forwarded to lars <at> 6xq.net, guix-patches <at> gnu.org:
bug#67921; Package guix-patches. (Thu, 15 Feb 2024 08:52:07 GMT) Full text and rfc822 format available.

Message #74 received at 67921 <at> debbugs.gnu.org (full text, mbox):

From: Saku Laesvuori <saku <at> laesvuori.fi>
To: guix-patches <at> gnu.org,
	67921 <at> debbugs.gnu.org
Cc: Saku Laesvuori <saku <at> laesvuori.fi>
Subject: [PATCH v2 15/23] gnu: Add ghc-semigroups-bootstrap-for-9.6
Date: Thu, 15 Feb 2024 10:49:56 +0200
* gnu/packages/haskell.scm (ghc-semigroups-bootstrap-for-9.6): New
  variable.

Change-Id: Ic676fed80bea3805f8e70cd958c3d7523226053d
---
 gnu/packages/haskell.scm | 30 ++++++++++++++++++++++++++++++
 1 file changed, 30 insertions(+)

diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm
index 0f49aabdb1..6a19287d4a 100644
--- a/gnu/packages/haskell.scm
+++ b/gnu/packages/haskell.scm
@@ -1655,6 +1655,36 @@ (define ghc-random-bootstrap-for-9.6
 library, including the ability to split random number generators.")
     (license license:bsd-3)))
 
+(define ghc-semigroups-bootstrap-for-9.6
+  (package
+    (name "ghc-semigroups-bootstrap")
+    (version "0.20")
+    (source (origin
+              (method url-fetch)
+              (uri (hackage-uri "semigroups" version))
+              (sha256
+               (base32
+                "1qbk6scp1rzb69dy8mz26p6az5vi16g2lzwmwnfshh3br4rjwbch"))))
+    (build-system haskell-build-system)
+    (properties '((upstream-name . "semigroups")))
+    (arguments (list #:haskell ghc-bootstrap-for-9.6))
+    (inputs
+     (list ghc-nats-bootstrap-for-9.6
+           ghc-tagged-bootstrap-for-9.6
+           ghc-unordered-containers-bootstrap-for-9.6
+           ghc-hashable-bootstrap-for-9.6))
+    (home-page "http://github.com/ekmett/semigroups/")
+    (synopsis "Semigroup operations for Haskell")
+    (description
+     "This package provides semigroups for Haskell.  In
+mathematics, a semigroup is an algebraic structure consisting of a set
+together with an associative binary operation.  A semigroup generalizes a
+monoid in that there might not exist an identity element.  It
+also (originally) generalized a group (a monoid with all inverses) to a type
+where every element did not have to have an inverse, thus the name
+semigroup.")
+    (license license:bsd-3)))
+
 (define ghc-tagged-bootstrap-for-9.6
   (package
     (name "ghc-tagged-bootstrap")
-- 
2.41.0





Information forwarded to lars <at> 6xq.net, guix-patches <at> gnu.org:
bug#67921; Package guix-patches. (Thu, 15 Feb 2024 08:52:08 GMT) Full text and rfc822 format available.

Message #77 received at 67921 <at> debbugs.gnu.org (full text, mbox):

From: Saku Laesvuori <saku <at> laesvuori.fi>
To: guix-patches <at> gnu.org,
	67921 <at> debbugs.gnu.org
Cc: Saku Laesvuori <saku <at> laesvuori.fi>
Subject: [PATCH v2 16/23] gnu: Add ghc-base16-bytestring-bootstrap-for-9.6
Date: Thu, 15 Feb 2024 10:49:57 +0200
* gnu/packages/haskell.scm (ghc-base16-bytestring-bootstrap-for-9.6):
  New variable.

Change-Id: I7c20bdfd7600fb2bed5de497e02acda74b242fec
---
 gnu/packages/haskell.scm | 21 +++++++++++++++++++++
 1 file changed, 21 insertions(+)

diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm
index 6a19287d4a..348a67f1c5 100644
--- a/gnu/packages/haskell.scm
+++ b/gnu/packages/haskell.scm
@@ -1533,6 +1533,27 @@ (define ghc-js-flot-bootstrap-for-9.6
 requirements of downstream users (e.g. Debian).")
     (license license:expat)))
 
+(define ghc-base16-bytestring-bootstrap-for-9.6
+  (package
+    (name "ghc-base16-bytestring-bootstrap")
+    (version "1.0.2.0")
+    (source (origin
+              (method url-fetch)
+              (uri (hackage-uri "base16-bytestring" version))
+              (sha256
+               (base32
+                "1167f9jaivnabn6kg2gc421ac9njb67fr4v0adbj3qph7qa92nhx"))))
+    (build-system haskell-build-system)
+    (arguments (list #:tests? #f
+                     #:haskell ghc-bootstrap-for-9.6))
+    (properties '((upstream-name . "base16-bytestring")))
+    (home-page "http://github.com/haskell/base16-bytestring")
+    (synopsis "Fast base16 (hex) encoding and decoding for ByteStrings")
+    (description
+     "This package provides a Haskell library for working with base16-encoded
+data quickly and efficiently, using the ByteString type.")
+    (license license:bsd-3)))
+
 (define ghc-extra-bootstrap-for-9.6
   (package
     (name "ghc-extra-bootstrap")
-- 
2.41.0





Information forwarded to lars <at> 6xq.net, guix-patches <at> gnu.org:
bug#67921; Package guix-patches. (Thu, 15 Feb 2024 08:52:08 GMT) Full text and rfc822 format available.

Message #80 received at 67921 <at> debbugs.gnu.org (full text, mbox):

From: Saku Laesvuori <saku <at> laesvuori.fi>
To: guix-patches <at> gnu.org,
	67921 <at> debbugs.gnu.org
Cc: Saku Laesvuori <saku <at> laesvuori.fi>
Subject: [PATCH v2 17/23] gnu: Add ghc-cryptohash-sha256-bootstrap-for-9.6
Date: Thu, 15 Feb 2024 10:49:58 +0200
* gnu/packages/haskell.scm (ghc-cryptohash-sha256-bootstrap-for-9.6):
  New variable.

Change-Id: I80dd73de554160f4dc904c01ea292a886f51e970
---
 gnu/packages/haskell.scm | 29 +++++++++++++++++++++++++++++
 1 file changed, 29 insertions(+)

diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm
index 348a67f1c5..d163331b2b 100644
--- a/gnu/packages/haskell.scm
+++ b/gnu/packages/haskell.scm
@@ -1533,6 +1533,35 @@ (define ghc-js-flot-bootstrap-for-9.6
 requirements of downstream users (e.g. Debian).")
     (license license:expat)))
 
+(define ghc-cryptohash-sha256-bootstrap-for-9.6
+  (package
+    (name "ghc-cryptohash-sha256-bootstrap")
+    (version "0.11.102.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (hackage-uri "cryptohash-sha256" version))
+       (sha256
+        (base32
+         "1xkb7iqplbw4fy1122p79xf1zcb7k44rl0wmfj1q06l7cdqxr9vk"))))
+    (build-system haskell-build-system)
+    (properties '((upstream-name . "cryptohash-sha256")))
+    (arguments
+     `(#:cabal-revision
+       ("1" "1hyzqv30rpj920ddnr0zypyjjlh52vyp2d140pn2byayj820rkgs")
+       #:haskell ,ghc-bootstrap-for-9.6
+       #:tests? #f))
+    (home-page "https://github.com/hvr/cryptohash-sha1")
+    (synopsis "SHA-256 implementation for Haskell")
+    (description "This Haskell package provides an incremental and
+one-pass, pure API to the @uref{https://en.wikipedia.org/wiki/SHA-2,
+SHA-256 cryptographic hash algorithm}, with performance close to the
+fastest implementations available in other languages.
+
+The implementation is made in C with a haskell FFI wrapper that hides
+the C implementation.")
+    (license license:bsd-3)))
+
 (define ghc-base16-bytestring-bootstrap-for-9.6
   (package
     (name "ghc-base16-bytestring-bootstrap")
-- 
2.41.0





Information forwarded to lars <at> 6xq.net, guix-patches <at> gnu.org:
bug#67921; Package guix-patches. (Thu, 15 Feb 2024 08:52:09 GMT) Full text and rfc822 format available.

Message #83 received at 67921 <at> debbugs.gnu.org (full text, mbox):

From: Saku Laesvuori <saku <at> laesvuori.fi>
To: guix-patches <at> gnu.org,
	67921 <at> debbugs.gnu.org
Cc: Saku Laesvuori <saku <at> laesvuori.fi>
Subject: [PATCH v2 18/23] gnu: Add ghc-unordered-containers-bootstrap-for-9.6
Date: Thu, 15 Feb 2024 10:49:59 +0200
* gnu/packages/haskell.scm (ghc-unordered-containers-bootstrap-for-9.6):
  New variable.

Change-Id: I190d7e765d30b469290d26109478fbe97dfbe3ae
---
 gnu/packages/haskell.scm | 27 +++++++++++++++++++++++++++
 1 file changed, 27 insertions(+)

diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm
index d163331b2b..3b591c6ffa 100644
--- a/gnu/packages/haskell.scm
+++ b/gnu/packages/haskell.scm
@@ -1533,6 +1533,33 @@ (define ghc-js-flot-bootstrap-for-9.6
 requirements of downstream users (e.g. Debian).")
     (license license:expat)))
 
+(define ghc-unordered-containers-bootstrap-for-9.6
+  (package
+    (name "ghc-unordered-containers-bootstrap")
+    (version "0.2.19.1")
+    (source (origin
+              (method url-fetch)
+              (uri (hackage-uri "unordered-containers" version))
+              (sha256
+               (base32
+                "1li8s6qw8mgv6a7011y7hg0cn2nllv2g9sr9c1xb48nmw32vw9qv"))))
+    (build-system haskell-build-system)
+    (properties '((upstream-name . "unordered-containers")))
+    (inputs (list ghc-hashable-bootstrap-for-9.6))
+    (arguments
+     `(#:cabal-revision ("3"
+                         "1p9a2mvfbfz2d4cyr16b03bxvb6c4yj7k1ch601xwq1rkr1cla0w")
+       #:haskell ,ghc-bootstrap-for-9.6
+       #:tests? #f))
+    (home-page
+     "https://github.com/haskell-unordered-containers/unordered-containers")
+    (synopsis "Efficient hashing-based container types")
+    (description
+     "Efficient hashing-based container types.  The containers have been
+optimized for performance critical use, both in terms of large data quantities
+and high speed.")
+    (license license:bsd-3)))
+
 (define ghc-cryptohash-sha256-bootstrap-for-9.6
   (package
     (name "ghc-cryptohash-sha256-bootstrap")
-- 
2.41.0





Information forwarded to lars <at> 6xq.net, guix-patches <at> gnu.org:
bug#67921; Package guix-patches. (Thu, 15 Feb 2024 08:52:09 GMT) Full text and rfc822 format available.

Message #86 received at 67921 <at> debbugs.gnu.org (full text, mbox):

From: Saku Laesvuori <saku <at> laesvuori.fi>
To: guix-patches <at> gnu.org,
	67921 <at> debbugs.gnu.org
Cc: Saku Laesvuori <saku <at> laesvuori.fi>
Subject: [PATCH v2 19/23] gnu: Add ghc-filepattern-bootstrap-for-9.6
Date: Thu, 15 Feb 2024 10:50:00 +0200
* gnu/packages/haskell.scm (ghc-filepattern-bootstrap-for-9.6): New
  variable.

Change-Id: I3778f85d7a14474445295ebd6bbb1f4bfbe4f6d5
---
 gnu/packages/haskell.scm | 41 ++++++++++++++++++++++++++++++++++++++++
 1 file changed, 41 insertions(+)

diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm
index 3b591c6ffa..47eab1d5fa 100644
--- a/gnu/packages/haskell.scm
+++ b/gnu/packages/haskell.scm
@@ -1533,6 +1533,47 @@ (define ghc-js-flot-bootstrap-for-9.6
 requirements of downstream users (e.g. Debian).")
     (license license:expat)))
 
+(define ghc-filepattern-bootstrap-for-9.6
+  (package
+    (name "ghc-filepattern-bootstrap")
+    (version "0.1.3")
+    (source (origin
+              (method url-fetch)
+              (uri (hackage-uri "filepattern" version))
+              (sha256
+               (base32
+                "0dlnwnwhsfdkwm69z66wj5d2x9n3la55glq4fsn5rxm2kr1msi6c"))))
+    (build-system haskell-build-system)
+    (properties '((upstream-name . "filepattern")))
+    (arguments (list #:tests? #f
+                     #:haskell ghc-bootstrap-for-9.6))
+    (inputs (list ghc-extra-bootstrap-for-9.6))
+    (home-page "https://github.com/ndmitchell/filepattern#readme")
+    (synopsis "File path glob-like matching")
+    (description
+     "This package provides Haskell library for matching files using patterns
+such as @code{\\\"src\\/**\\/*.png\\\"} for all @@file{.png} files recursively
+under the @@file{src} directory.
+
+Some of its features include:
+
+@itemize
+@item All matching is O(n).
+
+@item Most functions pre-compute some information given only one argument.
+
+@item Uses @code{match} and @code{substitute} to extract suitable strings from
+the @code{*} and @code{**} matches, and substitutes them back into other
+patterns.
+
+@item Uses @code{step} and @code{matchMany} to perform bulk matching of many
+patterns against many paths simultaneously.
+
+@item Uses @code{System.FilePattern.Directory} to perform optimised directory
+traverals using patterns.
+@end itemize")
+    (license license:bsd-3)))
+
 (define ghc-unordered-containers-bootstrap-for-9.6
   (package
     (name "ghc-unordered-containers-bootstrap")
-- 
2.41.0





Information forwarded to lars <at> 6xq.net, guix-patches <at> gnu.org:
bug#67921; Package guix-patches. (Thu, 15 Feb 2024 08:52:10 GMT) Full text and rfc822 format available.

Message #89 received at 67921 <at> debbugs.gnu.org (full text, mbox):

From: Saku Laesvuori <saku <at> laesvuori.fi>
To: guix-patches <at> gnu.org,
	67921 <at> debbugs.gnu.org
Cc: Saku Laesvuori <saku <at> laesvuori.fi>
Subject: [PATCH v2 20/23] gnu: Add ghc-shake-bootstrap-for-9.6
Date: Thu, 15 Feb 2024 10:50:01 +0200
* gnu/packages/haskell.scm (ghc-shake-bootstrap-for-9.6): New variable.

Change-Id: I195bc5f779709ef7b2ccefe2271402ef342bc0b8
---
 gnu/packages/haskell.scm | 56 ++++++++++++++++++++++++++++++++++++++++
 1 file changed, 56 insertions(+)

diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm
index 47eab1d5fa..4127d7d4a7 100644
--- a/gnu/packages/haskell.scm
+++ b/gnu/packages/haskell.scm
@@ -1507,6 +1507,62 @@ (define-public ghc-9.4
 
 (define ghc-bootstrap-for-9.6 ghc-9.4)
 
+(define ghc-shake-bootstrap-for-9.6
+  (package
+    (name "ghc-shake-bootstrap")
+    (version "0.19.7")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (hackage-uri "shake" version))
+       (sha256
+        (base32 "1lcr6q53qwm308bny6gfawcjhxsmalqi3dnwckam02zp2apmcaim"))))
+    (build-system haskell-build-system)
+    (properties '((upstream-name . "shake")))
+    (inputs (list bash-minimal
+                  ghc-extra-bootstrap-for-9.6
+                  ghc-filepattern-bootstrap-for-9.6
+                  ghc-hashable-bootstrap-for-9.6
+                  ghc-heaps-bootstrap-for-9.6
+                  ghc-js-dgtable-bootstrap-for-9.6
+                  ghc-js-flot-bootstrap-for-9.6
+                  ghc-js-jquery-bootstrap-for-9.6
+                  ghc-primitive-bootstrap-for-9.6
+                  ghc-random-bootstrap-for-9.6
+                  ghc-unordered-containers-bootstrap-for-9.6
+                  ghc-utf8-string-bootstrap-for-9.6
+                  ghc-semigroups-bootstrap-for-9.6))
+    (arguments
+     (list #:cabal-revision '("1"
+                              "1hz57kw5pp5cpbicbi7x8sz8c6qy58dzyiljz9b9f2r1rr683d9w")
+           #:tests? #f
+           #:haskell ghc-bootstrap-for-9.6
+           #:phases
+           #~(modify-phases %standard-phases
+               (add-after 'patch-source-shebangs 'patch-/bin/sh
+                 (lambda _
+                   (for-each
+                    (lambda (file)
+                      (substitute*
+                       file
+                       (("/bin/sh")
+                        #$(file-append (this-package-input "bash-minimal")
+                                       "/bin/sh"))))
+                    '("src/Development/Shake/Command.hs")))))))
+    (home-page "https://shakebuild.com")
+    (synopsis
+     "Build system library, like Make, but more accurate dependencies.")
+    (description
+     "Shake is a Haskell library for writing build systems - designed as a
+replacement for @@make@@.  To use Shake the user writes a Haskell program that
+imports \"Development.Shake\", defines some build rules, and calls the
+Development.Shake.@code{shakeArgs} function.  However, as build systems get more
+complex, Shake is able to take advantage of the excellent abstraction facilities
+offered by Haskell and easily support much larger projects.  Shake also provides more
+accurate dependency tracking, including seamless support for generated files, and
+dependencies on system information (e.g. compiler version).")
+    (license license:bsd-3)))
+
 (define ghc-js-flot-bootstrap-for-9.6
   (package
     (name "ghc-js-flot-bootstrap")
-- 
2.41.0





Information forwarded to lars <at> 6xq.net, guix-patches <at> gnu.org:
bug#67921; Package guix-patches. (Thu, 15 Feb 2024 08:52:10 GMT) Full text and rfc822 format available.

Message #92 received at 67921 <at> debbugs.gnu.org (full text, mbox):

From: Saku Laesvuori <saku <at> laesvuori.fi>
To: guix-patches <at> gnu.org,
	67921 <at> debbugs.gnu.org
Cc: Saku Laesvuori <saku <at> laesvuori.fi>
Subject: [PATCH v2 21/23] gnu: Add hadrian-for-ghc-9.6
Date: Thu, 15 Feb 2024 10:50:02 +0200
* gnu/packages/haskell.scm (hadrian-for-ghc-9.6): New variable.

Change-Id: I4205c888afa7b03b4b1622a3af7d1d538fa5c9b1
---
 gnu/packages/haskell.scm | 40 ++++++++++++++++++++++++++++++++++++++++
 1 file changed, 40 insertions(+)

diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm
index 4127d7d4a7..9e1e659cf1 100644
--- a/gnu/packages/haskell.scm
+++ b/gnu/packages/haskell.scm
@@ -2016,4 +2016,44 @@ (define ghc-primitive-bootstrap-for-9.6
      "This package provides various primitive memory-related operations.")
     (license license:bsd-3)))
 
+(define hadrian-for-ghc-9.6
+  (package
+    (name "hadrian")
+    (version "9.6.4")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "https://www.haskell.org/ghc/dist/" version
+                                  "/ghc-" version "-src.tar.xz"))
+              (sha256
+               (base32
+                "1h6lpx8kd4xycjwb8iv2rgnz23kwq5b0qp4bhvczsx3in2w2bgqh"))))
+    (build-system haskell-build-system)
+    (inputs
+     (list ghc-base16-bytestring-bootstrap-for-9.6
+           ghc-cryptohash-sha256-bootstrap-for-9.6
+           ghc-extra-bootstrap-for-9.6
+           ghc-shake-bootstrap-for-9.6
+           ghc-unordered-containers-bootstrap-for-9.6
+           bash-minimal))
+    (arguments
+     (list #:configure-flags ''("--flags=-selftest")
+           #:tests? #f
+           #:haskell ghc-bootstrap-for-9.6
+           #:phases
+           #~(modify-phases %standard-phases
+               (add-after 'unpack 'cd-to-hadrian
+                 (lambda _
+                   (chdir "hadrian")))
+               (add-after 'cd-to-hadrian 'fix-shell-wrappers
+                 (lambda _
+                   (substitute*
+                     "src/Rules/Test.hs"
+                     (("\"#!/bin/sh\"")
+                      (format #f "\"#!~a/bin/sh\"" #$(this-package-input "bash-minimal")))))))))
+    (home-page "https://gitlab.haskell.org/ghc/ghc/-/tree/master/hadrian")
+    (synopsis "Build system for the Glasgow Haskell Compiler (@code{ghc})")
+    (description "Hadrian is the build system for the Glasgow Haskell Compiler.
+It is based on the Shake library and replaces @{make} in building GHC")
+    (license license:expat)))
+
 ;;; haskell.scm ends here
-- 
2.41.0





Information forwarded to lars <at> 6xq.net, guix-patches <at> gnu.org:
bug#67921; Package guix-patches. (Thu, 15 Feb 2024 08:52:11 GMT) Full text and rfc822 format available.

Message #95 received at 67921 <at> debbugs.gnu.org (full text, mbox):

From: Saku Laesvuori <saku <at> laesvuori.fi>
To: guix-patches <at> gnu.org,
	67921 <at> debbugs.gnu.org
Cc: Saku Laesvuori <saku <at> laesvuori.fi>
Subject: [PATCH v2 22/23] gnu: Add ghc-9.6
Date: Thu, 15 Feb 2024 10:50:03 +0200
* gnu/packages/haskell.scm (ghc-9.6): New variable.

Change-Id: I6883ed973bdd1d6eaf981605c1bc8f855f850187
---
 gnu/packages/haskell.scm | 108 ++++++++++++++++++++++++++++++++++++++-
 1 file changed, 107 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm
index 9e1e659cf1..e316fc860e 100644
--- a/gnu/packages/haskell.scm
+++ b/gnu/packages/haskell.scm
@@ -72,7 +72,8 @@ (define-module (gnu packages haskell)
   #:use-module (guix packages)
   #:use-module (guix utils)
   #:use-module (ice-9 match)
-  #:use-module (ice-9 regex))
+  #:use-module (ice-9 regex)
+  #:use-module (srfi srfi-26))
 
 (define-public cl-yale-haskell
   (let ((commit "85f94c72a16c5f70301dd8db04cde9de2d7dd270")
@@ -2056,4 +2057,109 @@ (define hadrian-for-ghc-9.6
 It is based on the Shake library and replaces @{make} in building GHC")
     (license license:expat)))
 
+(define-public ghc-9.6
+  (let ((base ghc-9.4))
+    (package
+      (inherit base)
+      (name "ghc-next")
+      (version "9.6.4")
+      (source (origin
+                (inherit (package-source base))
+                (uri (string-append "https://www.haskell.org/ghc/dist/" version
+                                    "/ghc-" version "-src.tar.xz"))
+                (sha256
+                 (base32
+                  "1h6lpx8kd4xycjwb8iv2rgnz23kwq5b0qp4bhvczsx3in2w2bgqh"))))
+      (arguments
+       (substitute-keyword-arguments (package-arguments base)
+        ((#:make-flags flags ''())
+         #~(list "-V" "--docs=no-sphinx"))
+        ((#:phases phases '%standard-phases)
+         #~(let* ((run-hadrian (lambda args
+                                 (apply invoke "hadrian" args))))
+             (modify-phases #$phases
+            (delete 'fix-shell-wrappers)
+            ;; https://gitlab.haskell.org/ghc/ghc/-/issues/22557
+            (add-before 'build 'fix-iserv-rpath
+              (lambda _
+                (mkdir-p "_build")
+                (call-with-output-file
+                 "_build/hadrian.settings"
+                 (lambda (port)
+                   (display
+                    (string-append
+                     "*.iserv.ghc.link.opts += -optl-Wl,-rpath,"
+                     #$output "/lib/ghc-" #$(package-version this-package)
+                     "/lib/" #$(or (%current-target-system)
+                                   (%current-system))
+                     "-ghc-" #$(package-version this-package) "/")
+                    port)))))
+            (replace 'build
+              (lambda* (#:key (parallel-build? #f) (make-flags '())
+                        #:allow-other-keys)
+                (apply run-hadrian
+                       `("binary-dist-dir"
+                         ,@(if parallel-build?
+                             `(,(string-append "-j" (number->string (parallel-job-count))))
+                             '())
+                         ,@make-flags))))
+            (replace 'check
+              (lambda* (#:key (tests? #t) (parallel-tests? #f) (make-flags '()) #:allow-other-keys)
+                (if tests?
+                  (apply run-hadrian
+                         `(,@(if parallel-tests?
+                               `(,(string-append "-j" (number->string (parallel-job-count))))
+                               '())
+                           ,@make-flags
+                           "test"
+                           "--skip-perf"))
+                  (format #t "test suite not run~%"))))
+            (replace 'install
+              (lambda* (#:key (make-flags '()) #:allow-other-keys)
+                (apply run-hadrian
+                       `("install"
+                         ,@make-flags
+                         ,(string-append "--prefix=" #$output)))))
+            (add-after 'install 'replace-$pkgroot
+              (lambda _
+                (substitute*
+                  (find-files
+                   (string-append #$output "/lib/ghc-"
+                                  #$(package-version this-package)
+                                  "/lib/package.conf.d/")
+                   "^.*\\.conf$")
+                  (("\\$\\{pkgroot\\}/")
+                   (string-append #$output "/lib/ghc-"
+                                  #$(package-version this-package)
+                                  "/lib/"))))))))))
+      (inputs (list bash-minimal gmp ncurses libffi))
+      (native-inputs
+       `(("perl" ,perl)
+         ("python" ,python)
+         ("git" ,git-minimal/pinned)
+         ("which" ,which)
+         ("ghostscript" ,ghostscript)
+         ("autoconf" ,autoconf)
+         ("automake" ,automake)
+
+         ("hadrian" ,hadrian-for-ghc-9.6)
+         ("ghc-bootstrap" ,ghc-bootstrap-for-9.6)
+         ("ghc-alex" ,ghc-alex-bootstrap-for-9.4)
+         ("ghc-happy" ,ghc-happy-bootstrap-for-9.4)
+         ("ghc-testsuite"
+          ,(origin
+             (method url-fetch)
+             (uri (string-append
+                   "https://www.haskell.org/ghc/dist/"
+                   version "/ghc-" version "-testsuite.tar.xz"))
+             (sha256
+              (base32
+               "0wwd6d68aia2rmlpki30azz0raf98is472cqljhbzzdzpqpjh4vf"))))))
+      (native-search-paths
+       (list (search-path-specification
+              (variable "GHC_PACKAGE_PATH")
+              (files (list (string-append "lib/ghc-" version)))
+              (file-pattern ".*\\.conf\\.d$")
+              (file-type 'directory)))))))
+
 ;;; haskell.scm ends here
-- 
2.41.0





Information forwarded to lars <at> 6xq.net, guix-patches <at> gnu.org:
bug#67921; Package guix-patches. (Thu, 15 Feb 2024 08:52:11 GMT) Full text and rfc822 format available.

Message #98 received at 67921 <at> debbugs.gnu.org (full text, mbox):

From: Saku Laesvuori <saku <at> laesvuori.fi>
To: guix-patches <at> gnu.org,
	67921 <at> debbugs.gnu.org
Cc: Saku Laesvuori <saku <at> laesvuori.fi>
Subject: [PATCH v2 23/23] gnu: ghc: Update to version 9.6.4
Date: Thu, 15 Feb 2024 10:50:04 +0200
* gnu/packages/haskell.scm (ghc): Update to ghc-9.6

Change-Id: I40da6cacc4d260902cd66d7d626375038fba4346
---
 gnu/packages/haskell.scm | 16 ++++++++--------
 1 file changed, 8 insertions(+), 8 deletions(-)

diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm
index e316fc860e..3944d8f15f 100644
--- a/gnu/packages/haskell.scm
+++ b/gnu/packages/haskell.scm
@@ -1393,12 +1393,6 @@ (define-public ghc-9.2
               (file-pattern ".*\\.conf\\.d$")
               (file-type 'directory)))))))
 
-;; Versions newer than ghc defined below (i.e. the compiler
-;; haskell-build-system uses) should use ghc-next as their name to
-;; ensure ghc (without version specification) and ghc-* packages are
-;; always compatible. See https://issues.guix.gnu.org/issue/47335.
-(define-public ghc ghc-9.2)
-
 ;; 9.4 is the last version to support the make-based build system,
 ;; but it boot with 9.2, only 9.0 is supported.
 (define ghc-bootstrap-for-9.4 ghc-9.0)
@@ -1462,7 +1456,7 @@ (define-public ghc-9.4
   (let ((base ghc-9.2))
     (package
       (inherit base)
-      (name "ghc-next")
+      (name "ghc")
       (version "9.4.8")
       (source (origin
                 (method url-fetch)
@@ -2061,7 +2055,7 @@ (define-public ghc-9.6
   (let ((base ghc-9.4))
     (package
       (inherit base)
-      (name "ghc-next")
+      (name "ghc")
       (version "9.6.4")
       (source (origin
                 (inherit (package-source base))
@@ -2162,4 +2156,10 @@ (define-public ghc-9.6
               (file-pattern ".*\\.conf\\.d$")
               (file-type 'directory)))))))
 
+;; Versions newer than ghc defined below (i.e. the compiler
+;; haskell-build-system uses) should use ghc-next as their name to
+;; ensure ghc (without version specification) and ghc-* packages are
+;; always compatible. See https://issues.guix.gnu.org/issue/47335.
+(define-public ghc ghc-9.6)
+
 ;;; haskell.scm ends here
-- 
2.41.0





Information forwarded to guix-patches <at> gnu.org:
bug#67921; Package guix-patches. (Thu, 15 Feb 2024 17:07:02 GMT) Full text and rfc822 format available.

Message #101 received at 67921 <at> debbugs.gnu.org (full text, mbox):

From: Suhail <suhail <at> bayesians.ca>
To: 67921 <at> debbugs.gnu.org
Cc: Saku Laesvuori <saku <at> laesvuori.fi>, Lars-Dominik Braun <lars <at> 6xq.net>
Subject: Re: [bug#67921] [WIP PATCH v2 00/23] Update GHC to 9.6.4
Date: Thu, 15 Feb 2024 17:05:42 +0000
Saku Laesvuori via Guix-patches via <guix-patches <at> gnu.org> writes:

> - updates ghc-next to 9.4.8

Did you mean "updates ghc-9.4 to 9.4.8", instead?

> - changes the default ghc to ghc-9.6.

If my understanding is correct, this means that 9.8 onwards should use
"ghc-next".

-- 
Suhail





Information forwarded to guix-patches <at> gnu.org:
bug#67921; Package guix-patches. (Thu, 15 Feb 2024 17:50:02 GMT) Full text and rfc822 format available.

Message #104 received at 67921 <at> debbugs.gnu.org (full text, mbox):

From: Saku Laesvuori <saku <at> laesvuori.fi>
To: Suhail <suhail <at> bayesians.ca>
Cc: Lars-Dominik Braun <lars <at> 6xq.net>, 67921 <at> debbugs.gnu.org
Subject: Re: [bug#67921] [WIP PATCH v2 00/23] Update GHC to 9.6.4
Date: Thu, 15 Feb 2024 19:49:11 +0200
[Message part 1 (text/plain, inline)]
> Saku Laesvuori via Guix-patches via <guix-patches <at> gnu.org> writes:
> 
> > - updates ghc-next to 9.4.8
> 
> Did you mean "updates ghc-9.4 to 9.4.8", instead?

I guess that would be a clearer way of wording it.

> > - changes the default ghc to ghc-9.6.
> 
> If my understanding is correct, this means that 9.8 onwards should use
> "ghc-next".

Yes.
[signature.asc (application/pgp-signature, inline)]

Information forwarded to lars <at> 6xq.net, guix-patches <at> gnu.org:
bug#67921; Package guix-patches. (Fri, 07 Jun 2024 07:51:02 GMT) Full text and rfc822 format available.

Message #107 received at 67921 <at> debbugs.gnu.org (full text, mbox):

From: Saku Laesvuori <saku <at> laesvuori.fi>
To: 67921 <at> debbugs.gnu.org
Cc: Saku Laesvuori <saku <at> laesvuori.fi>
Subject: [PATCH haskell-team 00/23] Update GHC to 9.6.5
Date: Fri,  7 Jun 2024 10:49:31 +0300
I didn't hear any ideas for a better solution, so here is a patch set
with the failing tests disabled. The current haskell-team merge should
probably be continued without this series and a new one started from
these patches.

Saku Laesvuori (23):
  gnu: ghc-next: Update to version 9.4.8
  gnu: Add ghc-js-flot-bootstrap-for-9.6
  gnu: Add ghc-clock-bootstrap-for-9.6
  gnu: Add ghc-extra-bootstrap-for-9.6
  gnu: Add ghc-hashable-bootstrap-for-9.6
  gnu: Add ghc-splitmix-bootstrap-for-9.6
  gnu: Add ghc-random-bootstrap-for-9.6
  gnu: Add ghc-primitive-bootstrap-for-9.6
  gnu: Add ghc-js-jquery-bootstrap-for-9.6
  gnu: Add ghc-utf8-string-bootstrap-for-9.6
  gnu: Add ghc-heaps-bootstrap-for-9.6
  gnu: Add ghc-js-dgtable-bootstrap-for-9.6
  gnu: Add ghc-nats-bootstrap-for-9.6
  gnu: Add ghc-tagged-bootstrap-for-9.6
  gnu: Add ghc-semigroups-bootstrap-for-9.6
  gnu: Add ghc-base16-bytestring-bootstrap-for-9.6
  gnu: Add ghc-cryptohash-sha256-bootstrap-for-9.6
  gnu: Add ghc-unordered-containers-bootstrap-for-9.6
  gnu: Add ghc-filepattern-bootstrap-for-9.6
  gnu: Add ghc-shake-bootstrap-for-9.6
  gnu: Add hadrian-for-ghc-9.6
  gnu: Add ghc-9.6
  gnu: ghc: Update to version 9.6.5

 gnu/packages/haskell.scm                      | 731 +++++++++++++++++-
 .../patches/ghc-9.4-testsuite-fixes.patch     | 119 +++
 2 files changed, 838 insertions(+), 12 deletions(-)
 create mode 100644 gnu/packages/patches/ghc-9.4-testsuite-fixes.patch


base-commit: 447e9c96259e8fa15a828de9b2dd3400e2ffafe6
-- 
2.41.0





Information forwarded to lars <at> 6xq.net, guix-patches <at> gnu.org:
bug#67921; Package guix-patches. (Fri, 07 Jun 2024 07:53:01 GMT) Full text and rfc822 format available.

Message #110 received at 67921 <at> debbugs.gnu.org (full text, mbox):

From: Saku Laesvuori <saku <at> laesvuori.fi>
To: 67921 <at> debbugs.gnu.org
Cc: Saku Laesvuori <saku <at> laesvuori.fi>
Subject: [PATCH haskell-team 02/23] gnu: Add ghc-js-flot-bootstrap-for-9.6
Date: Fri,  7 Jun 2024 10:49:33 +0300
* gnu/packages/haskell.scm (ghc-js-flot-bootstrap-for-9.6): New
  variable.

Change-Id: Ie01768c263084a3aa38b7120de832913a80fc99a
---
 gnu/packages/haskell.scm | 30 ++++++++++++++++++++++++++++++
 1 file changed, 30 insertions(+)

diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm
index 25b21a0209..3d7612bc61 100644
--- a/gnu/packages/haskell.scm
+++ b/gnu/packages/haskell.scm
@@ -1599,4 +1599,34 @@ (define-public ghc-9.4
               (file-pattern ".*\\.conf\\.d$")
               (file-type 'directory)))))))
 
+;;; Bootstrap packages for hadrian, the new GHC build system
+
+(define ghc-bootstrap-for-9.6 ghc-9.4)
+
+(define ghc-js-flot-bootstrap-for-9.6
+  (package
+    (name "ghc-js-flot-bootstrap")
+    (version "0.8.3")
+    (source
+     (origin
+       (method url-fetch)
+       (uri
+        (hackage-uri "js-flot" version))
+       (sha256
+        (base32
+         "0yjyzqh3qzhy5h3nql1fckw0gcfb0f4wj9pm85nafpfqp2kg58hv"))))
+    (build-system haskell-build-system)
+    (arguments (list #:tests? #f
+                     #:haskell ghc-bootstrap-for-9.6))
+    (properties '((upstream-name . "js-flot")))
+    (home-page "https://github.com/ndmitchell/js-flot")
+    (synopsis "Obtain minified flot code")
+    (description "This package bundles the minified
+@url{http://www.flotcharts.org/, Flot} code (a jQuery plotting library)
+into a Haskell package, so it can be depended upon by Cabal packages.
+The first three components of the version number match the upstream flot
+version.  The package is designed to meet the redistribution
+requirements of downstream users (e.g. Debian).")
+    (license license:expat)))
+
 ;;; haskell.scm ends here
-- 
2.41.0





Information forwarded to lars <at> 6xq.net, guix-patches <at> gnu.org:
bug#67921; Package guix-patches. (Fri, 07 Jun 2024 07:53:02 GMT) Full text and rfc822 format available.

Message #113 received at 67921 <at> debbugs.gnu.org (full text, mbox):

From: Saku Laesvuori <saku <at> laesvuori.fi>
To: 67921 <at> debbugs.gnu.org
Cc: Saku Laesvuori <saku <at> laesvuori.fi>
Subject: [PATCH haskell-team 03/23] gnu: Add ghc-clock-bootstrap-for-9.6
Date: Fri,  7 Jun 2024 10:49:34 +0300
* gnu/packages/haskell.scm (ghc-clock-bootstrap-for-9.6): New
  variable.

Change-Id: I78d0997ee749a0c1725490c99308dcd1dc5bfbe5
---
 gnu/packages/haskell.scm | 21 +++++++++++++++++++++
 1 file changed, 21 insertions(+)

diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm
index 3d7612bc61..0f5cc323f8 100644
--- a/gnu/packages/haskell.scm
+++ b/gnu/packages/haskell.scm
@@ -1629,4 +1629,25 @@ (define ghc-js-flot-bootstrap-for-9.6
 requirements of downstream users (e.g. Debian).")
     (license license:expat)))
 
+(define ghc-clock-bootstrap-for-9.6
+  (package
+    (name "ghc-clock-bootstrap")
+    (version "0.8.3")
+    (source (origin
+              (method url-fetch)
+              (uri (hackage-uri "clock" version))
+              (sha256
+               (base32
+                "1l850pf1dxjf3i15wc47d64gzkpzgvw0bq13fd8zvklq9kdyap44"))))
+    (build-system haskell-build-system)
+    (properties '((upstream-name . "clock")))
+    (arguments (list #:tests? #f
+                     #:haskell ghc-bootstrap-for-9.6))
+    (home-page "https://github.com/corsis/clock")
+    (synopsis "High-resolution clock for Haskell")
+    (description
+     "A package for convenient access to high-resolution clock and
+timer functions of different operating systems via a unified API.")
+    (license license:bsd-3)))
+
 ;;; haskell.scm ends here
-- 
2.41.0





Information forwarded to lars <at> 6xq.net, guix-patches <at> gnu.org:
bug#67921; Package guix-patches. (Fri, 07 Jun 2024 07:53:02 GMT) Full text and rfc822 format available.

Message #116 received at 67921 <at> debbugs.gnu.org (full text, mbox):

From: Saku Laesvuori <saku <at> laesvuori.fi>
To: 67921 <at> debbugs.gnu.org
Cc: Saku Laesvuori <saku <at> laesvuori.fi>
Subject: [PATCH haskell-team 04/23] gnu: Add ghc-extra-bootstrap-for-9.6
Date: Fri,  7 Jun 2024 10:49:35 +0300
* gnu/packages/haskell.scm (ghc-extra-bootstrap-for-9.6): New
  variable.

Change-Id: I73f1bd1a821bb01fc9d081c78313e583ce8fab6b
---
 gnu/packages/haskell.scm | 24 ++++++++++++++++++++++++
 1 file changed, 24 insertions(+)

diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm
index 0f5cc323f8..c2ce7d9e16 100644
--- a/gnu/packages/haskell.scm
+++ b/gnu/packages/haskell.scm
@@ -1629,6 +1629,30 @@ (define ghc-js-flot-bootstrap-for-9.6
 requirements of downstream users (e.g. Debian).")
     (license license:expat)))
 
+(define ghc-extra-bootstrap-for-9.6
+  (package
+    (name "ghc-extra-bootstrap")
+    (version "1.7.12")
+    (source (origin
+              (method url-fetch)
+              (uri (hackage-uri "extra" version))
+              (sha256
+               (base32
+                "0g5h8fp0nq4k9asiknw0bhvb10zpfnsixfp0n3xz0rc83pnajwg5"))))
+    (build-system haskell-build-system)
+    (properties '((upstream-name . "extra")))
+    (arguments (list #:tests? #f
+                     #:haskell ghc-bootstrap-for-9.6))
+    (inputs (list ghc-clock-bootstrap-for-9.6))
+    (home-page "https://github.com/ndmitchell/extra#readme")
+    (synopsis "Extra Haskell functions")
+    (description
+     "This library provides extra functions for the standard
+Haskell libraries.  Most functions are simple additions, filling out missing
+functionality.  A few functions are available in later versions of GHC, but
+this package makes them available back to GHC 7.2.")
+    (license license:bsd-3)))
+
 (define ghc-clock-bootstrap-for-9.6
   (package
     (name "ghc-clock-bootstrap")
-- 
2.41.0





Information forwarded to lars <at> 6xq.net, guix-patches <at> gnu.org:
bug#67921; Package guix-patches. (Fri, 07 Jun 2024 07:53:03 GMT) Full text and rfc822 format available.

Message #119 received at 67921 <at> debbugs.gnu.org (full text, mbox):

From: Saku Laesvuori <saku <at> laesvuori.fi>
To: 67921 <at> debbugs.gnu.org
Cc: Saku Laesvuori <saku <at> laesvuori.fi>
Subject: [PATCH haskell-team 22/23] gnu: Add ghc-9.6
Date: Fri,  7 Jun 2024 10:49:53 +0300
* gnu/packages/haskell.scm (ghc-9.6): New variable.

Change-Id: I6883ed973bdd1d6eaf981605c1bc8f855f850187
---
 gnu/packages/haskell.scm | 157 ++++++++++++++++++++++++++++++++++++++-
 1 file changed, 155 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm
index 5070833a94..158bdd41bd 100644
--- a/gnu/packages/haskell.scm
+++ b/gnu/packages/haskell.scm
@@ -2115,14 +2115,14 @@ (define ghc-primitive-bootstrap-for-9.6
 (define hadrian-for-ghc-9.6
   (package
     (name "hadrian")
-    (version "9.6.4")
+    (version "9.6.5")
     (source (origin
               (method url-fetch)
               (uri (string-append "https://www.haskell.org/ghc/dist/" version
                                   "/ghc-" version "-src.tar.xz"))
               (sha256
                (base32
-                "1h6lpx8kd4xycjwb8iv2rgnz23kwq5b0qp4bhvczsx3in2w2bgqh"))))
+                "0g5r68j788i6lbx71xpws4xb7nn871rpa8ji41na5hcq9y98kcw7"))))
     (build-system haskell-build-system)
     (inputs
      (list ghc-base16-bytestring-bootstrap-for-9.6
@@ -2152,4 +2152,157 @@ (define hadrian-for-ghc-9.6
 It is based on the Shake library and replaces @{make} in building GHC")
     (license license:expat)))
 
+(define-public ghc-9.6
+  (let ((base ghc-9.4))
+    (package
+      (inherit base)
+      (name "ghc-next")
+      (version "9.6.5")
+      (source (origin
+                (inherit (package-source base))
+                (uri (string-append "https://www.haskell.org/ghc/dist/" version
+                                    "/ghc-" version "-src.tar.xz"))
+                (sha256
+                 (base32
+                  "0g5r68j788i6lbx71xpws4xb7nn871rpa8ji41na5hcq9y98kcw7"))))
+      (arguments
+       (substitute-keyword-arguments (package-arguments base)
+        ((#:make-flags flags ''())
+         #~(list "-V" "--docs=no-sphinx"))
+        ((#:phases phases '%standard-phases)
+         #~(let* ((run-hadrian (lambda args
+                                 (apply invoke "hadrian" args))))
+             (modify-phases #$phases
+               (delete 'fix-shell-wrappers)
+               ;; https://gitlab.haskell.org/ghc/ghc/-/issues/22557
+               (replace 'fix-lib-paths
+                 (lambda* (#:key inputs #:allow-other-keys)
+                   (substitute*
+                     (list "libraries/process/System/Process/Posix.hs"
+                           "libraries/unix/cbits/execvpe.c")
+                     (("/bin/sh") (search-input-file inputs "/bin/sh")))))
+               (add-before 'build 'fix-iserv-rpath
+                 (lambda _
+                   (mkdir-p "_build")
+                   (call-with-output-file
+                    "_build/hadrian.settings"
+                    (lambda (port)
+                      (display
+                       (string-append
+                        "*.iserv.ghc.link.opts += -optl-Wl,-rpath,"
+                        #$output "/lib/ghc-" #$(package-version this-package)
+                        "/lib/" #$(or (%current-target-system)
+                                      (%current-system))
+                        "-ghc-" #$(package-version this-package) "/")
+                       port)))))
+               (replace 'build
+                 (lambda* (#:key (parallel-build? #f) (make-flags '())
+                           #:allow-other-keys)
+                   (apply run-hadrian
+                          `("binary-dist-dir"
+                            ,@(if parallel-build?
+                                `(,(string-append "-j" (number->string (parallel-job-count))))
+                                '())
+                            ,@make-flags))))
+               (replace 'check
+                 (lambda* (#:key (tests? #t) (parallel-tests? #f) (make-flags '()) #:allow-other-keys)
+                   (if tests?
+                     (apply run-hadrian
+                            `(,@(if parallel-tests?
+                                  `(,(string-append "-j" (number->string (parallel-job-count))))
+                                  '())
+                              ,@make-flags
+                              "test"
+                              ,(string-append "--broken-test="
+                                (string-join
+                                 (list "bkpcabal01"
+                                       "cabal01"
+                                       "cabal06"
+                                       "cabal08"
+                                       "haddock_parser_perf"
+                                       "haddock_renamer_perf"
+                                       "package-imports-20779"
+                                       "plugins01"
+                                       "plugins08"
+                                       "plugins10"
+                                       "recomp007"
+                                       "recompChangedPackage"
+                                       "recompPkgLink"
+                                       "recompPluginPackage"
+                                       "recompTHpackage"
+                                       "T10420"
+                                       "T10458"
+                                       "T12504"
+                                       "T13340"
+                                       "T1372"
+                                       "T14304"
+                                       "T16219"
+                                       "T20218b"
+                                       "T22333"
+                                       "T3007"
+                                       "T7014"
+                                       "T8832"
+                                       "test-defaulting-plugin"
+                                       "plugin-recomp-change"
+                                       "plugin-recomp-change-2"
+                                       "plugin-recomp-change-prof"
+                                       "plugin-recomp-flags"
+                                       "plugin-recomp-impure"
+                                       "plugin-recomp-pure"
+                                       "plugins-order"
+                                       "plugins-order-pragma"
+                                       "T15633a"
+                                       "T15633b"
+                                       "T15858"
+                                       "T20417")))
+                              "--skip-perf"))
+                     (format #t "test suite not run~%"))))
+               (replace 'install
+                 (lambda* (#:key (make-flags '()) #:allow-other-keys)
+                   (apply run-hadrian
+                          `("install"
+                            ,@make-flags
+                            ,(string-append "--prefix=" #$output)))))
+               (add-after 'install 'replace-$pkgroot
+                 (lambda _
+                   (substitute*
+                     (find-files
+                      (string-append #$output "/lib/ghc-"
+                                     #$(package-version this-package)
+                                     "/lib/package.conf.d/")
+                      "^.*\\.conf$")
+                     (("\\$\\{pkgroot\\}/")
+                      (string-append #$output "/lib/ghc-"
+                                     #$(package-version this-package)
+                                     "/lib/"))))))))))
+      (inputs (list bash-minimal gmp ncurses libffi))
+      (native-inputs
+       `(("perl" ,perl)
+         ("python" ,python)
+         ("git" ,git-minimal/pinned)
+         ("which" ,which)
+         ("ghostscript" ,ghostscript)
+         ("autoconf" ,autoconf)
+         ("automake" ,automake)
+
+         ("hadrian" ,hadrian-for-ghc-9.6)
+         ("ghc-bootstrap" ,ghc-bootstrap-for-9.6)
+         ("ghc-alex" ,ghc-alex-bootstrap-for-9.4)
+         ("ghc-happy" ,ghc-happy-bootstrap-for-9.4)
+         ("ghc-testsuite"
+          ,(origin
+             (method url-fetch)
+             (uri (string-append
+                   "https://www.haskell.org/ghc/dist/"
+                   version "/ghc-" version "-testsuite.tar.xz"))
+             (sha256
+              (base32
+               "0k521601lgbs03ii66nb6y1y9327x4965zz3niyr3xswjx4dz8yw"))))))
+      (native-search-paths
+       (list (search-path-specification
+              (variable "GHC_PACKAGE_PATH")
+              (files (list (string-append "lib/ghc-" version)))
+              (file-pattern ".*\\.conf\\.d$")
+              (file-type 'directory)))))))
+
 ;;; haskell.scm ends here
-- 
2.41.0





Information forwarded to lars <at> 6xq.net, guix-patches <at> gnu.org:
bug#67921; Package guix-patches. (Fri, 07 Jun 2024 07:53:03 GMT) Full text and rfc822 format available.

Message #122 received at 67921 <at> debbugs.gnu.org (full text, mbox):

From: Saku Laesvuori <saku <at> laesvuori.fi>
To: 67921 <at> debbugs.gnu.org
Cc: Saku Laesvuori <saku <at> laesvuori.fi>
Subject: [PATCH haskell-team 23/23] gnu: ghc: Update to version 9.6.5
Date: Fri,  7 Jun 2024 10:49:54 +0300
* gnu/packages/haskell.scm (ghc): Update to ghc-9.6

Change-Id: I40da6cacc4d260902cd66d7d626375038fba4346
---
 gnu/packages/haskell.scm | 16 ++++++++--------
 1 file changed, 8 insertions(+), 8 deletions(-)

diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm
index 158bdd41bd..e8ec1eb3ae 100644
--- a/gnu/packages/haskell.scm
+++ b/gnu/packages/haskell.scm
@@ -1488,12 +1488,6 @@ (define-public ghc-9.2
               (file-pattern ".*\\.conf\\.d$")
               (file-type 'directory)))))))
 
-;; Versions newer than ghc defined below (i.e. the compiler
-;; haskell-build-system uses) should use ghc-next as their name to
-;; ensure ghc (without version specification) and ghc-* packages are
-;; always compatible. See https://issues.guix.gnu.org/issue/47335.
-(define-public ghc ghc-9.2)
-
 ;; 9.4 is the last version to support the make-based build system,
 ;; but it boot with 9.2, only 9.0 is supported.
 (define ghc-bootstrap-for-9.4 ghc-9.0)
@@ -1557,7 +1551,7 @@ (define-public ghc-9.4
   (let ((base ghc-9.2))
     (package
       (inherit base)
-      (name "ghc-next")
+      (name "ghc")
       (version "9.4.8")
       (source (origin
                 (method url-fetch)
@@ -2156,7 +2150,7 @@ (define-public ghc-9.6
   (let ((base ghc-9.4))
     (package
       (inherit base)
-      (name "ghc-next")
+      (name "ghc")
       (version "9.6.5")
       (source (origin
                 (inherit (package-source base))
@@ -2305,4 +2299,10 @@ (define-public ghc-9.6
               (file-pattern ".*\\.conf\\.d$")
               (file-type 'directory)))))))
 
+;; Versions newer than ghc defined below (i.e. the compiler
+;; haskell-build-system uses) should use ghc-next as their name to
+;; ensure ghc (without version specification) and ghc-* packages are
+;; always compatible. See https://issues.guix.gnu.org/issue/47335.
+(define-public ghc ghc-9.6)
+
 ;;; haskell.scm ends here
-- 
2.41.0





Information forwarded to lars <at> 6xq.net, guix-patches <at> gnu.org:
bug#67921; Package guix-patches. (Fri, 07 Jun 2024 07:56:02 GMT) Full text and rfc822 format available.

Message #125 received at 67921 <at> debbugs.gnu.org (full text, mbox):

From: Saku Laesvuori <saku <at> laesvuori.fi>
To: 67921 <at> debbugs.gnu.org
Cc: Saku Laesvuori <saku <at> laesvuori.fi>
Subject: [PATCH haskell-team 06/23] gnu: Add ghc-splitmix-bootstrap-for-9.6
Date: Fri,  7 Jun 2024 10:49:37 +0300
* gnu/packages/haskell.scm (ghc-splitmix-bootstrap-for-9.6): New
  variable.

Change-Id: I65584aa893975015dc44491b120636844af801de
---
 gnu/packages/haskell.scm | 32 ++++++++++++++++++++++++++++++++
 1 file changed, 32 insertions(+)

diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm
index bd30f2804d..3c3016f999 100644
--- a/gnu/packages/haskell.scm
+++ b/gnu/packages/haskell.scm
@@ -1697,4 +1697,36 @@ (define ghc-hashable-bootstrap-for-9.6
 combine hash values.")
     (license license:bsd-3)))
 
+(define ghc-splitmix-bootstrap-for-9.6
+  (package
+    (name "ghc-splitmix-bootstrap")
+    (version "0.1.0.5")
+    (source (origin
+              (method url-fetch)
+              (uri (hackage-uri "splitmix" version))
+              (sha256
+               (base32
+                "00ihw7vji8ydik7f5lk9iwj21j829lpl22wa4nqz2igg26b7mw4x"))))
+    (build-system haskell-build-system)
+    (properties '((upstream-name . "splitmix")))
+    (arguments
+     `(#:tests? #f
+       #:haskell ,ghc-bootstrap-for-9.6))
+    (home-page "http://hackage.haskell.org/package/splitmix")
+    (synopsis "Fast and splittable pseudorandom number generator")
+    (description
+     "This package provides a Pure Haskell implementation of the
+SplitMix pseudorandom number generator.  SplitMix is a \"splittable\"
+pseudorandom number generator that is quite fast: 9 64-bit
+arithmetic/logical operations per 64 bits generated.  SplitMix is tested
+with two standard statistical test suites (DieHarder and TestU01, this
+implementation only using the former) and it appears to be adequate for
+\"everyday\" use, such as Monte Carlo algorithms and randomized data
+structures where speed is important.  In particular, it @strong{should not
+be used for cryptographic or security applications}, because generated
+sequences of pseudorandom values are too predictable (the mixing functions
+are easily inverted, and two successive outputs suffice to reconstruct the
+internal state).")
+    (license license:bsd-3)))
+
 ;;; haskell.scm ends here
-- 
2.41.0





Information forwarded to lars <at> 6xq.net, guix-patches <at> gnu.org:
bug#67921; Package guix-patches. (Fri, 07 Jun 2024 07:56:02 GMT) Full text and rfc822 format available.

Message #128 received at 67921 <at> debbugs.gnu.org (full text, mbox):

From: Saku Laesvuori <saku <at> laesvuori.fi>
To: 67921 <at> debbugs.gnu.org
Cc: Saku Laesvuori <saku <at> laesvuori.fi>
Subject: [PATCH haskell-team 11/23] gnu: Add ghc-heaps-bootstrap-for-9.6
Date: Fri,  7 Jun 2024 10:49:42 +0300
* gnu/packages/haskell.scm (ghc-heaps-bootstrap-for-9.6): New variable.

Change-Id: Ib04a47d3eacba415fd44cd532c18c02f8d9cf40b
---
 gnu/packages/haskell.scm | 21 +++++++++++++++++++++
 1 file changed, 21 insertions(+)

diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm
index e9aa8f7524..fd814a2346 100644
--- a/gnu/packages/haskell.scm
+++ b/gnu/packages/haskell.scm
@@ -1751,6 +1751,27 @@ (define ghc-random-bootstrap-for-9.6
 library, including the ability to split random number generators.")
     (license license:bsd-3)))
 
+(define ghc-heaps-bootstrap-for-9.6
+  (package
+    (name "ghc-heaps-bootstrap")
+    (version "0.4")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (hackage-uri "heaps" version))
+       (sha256
+        (base32 "1zbw0qrlnhb42v04phzwmizbpwg21wnpl7p4fbr9xsasp7w9scl9"))))
+    (build-system haskell-build-system)
+    (properties '((upstream-name . "heaps")))
+    (arguments (list #:haskell ghc-bootstrap-for-9.6))
+    (home-page "http://github.com/ekmett/heaps/")
+    (synopsis "Asymptotically optimal Brodal/Okasaki heaps.")
+    (description
+     "Asymptotically optimal Brodal\\/Okasaki bootstrapped skew-binomial heaps from the
+paper <http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.48.973 \"Optimal
+Purely Functional Priority Queues\">, extended with a Foldable interface.")
+    (license license:bsd-3)))
+
 (define ghc-utf8-string-bootstrap-for-9.6
   (package
     (name "ghc-utf8-string-bootstrap")
-- 
2.41.0





Information forwarded to lars <at> 6xq.net, guix-patches <at> gnu.org:
bug#67921; Package guix-patches. (Fri, 07 Jun 2024 07:56:03 GMT) Full text and rfc822 format available.

Message #131 received at 67921 <at> debbugs.gnu.org (full text, mbox):

From: Saku Laesvuori <saku <at> laesvuori.fi>
To: 67921 <at> debbugs.gnu.org
Cc: Saku Laesvuori <saku <at> laesvuori.fi>
Subject: [PATCH haskell-team 12/23] gnu: Add ghc-js-dgtable-bootstrap-for-9.6
Date: Fri,  7 Jun 2024 10:49:43 +0300
* gnu/packages/haskell.scm (ghc-js-dgtable-bootstrap-for-9.6): New
  variable.

Change-Id: Ic7e9e6c584e4fb8830ec55288759796271822964
---
 gnu/packages/haskell.scm | 23 +++++++++++++++++++++++
 1 file changed, 23 insertions(+)

diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm
index fd814a2346..e4e4fe5cf6 100644
--- a/gnu/packages/haskell.scm
+++ b/gnu/packages/haskell.scm
@@ -1751,6 +1751,29 @@ (define ghc-random-bootstrap-for-9.6
 library, including the ability to split random number generators.")
     (license license:bsd-3)))
 
+(define ghc-js-dgtable-bootstrap-for-9.6
+  (package
+    (name "ghc-js-dgtable-bootstrap")
+    (version "0.5.2")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (hackage-uri "js-dgtable" version))
+       (sha256
+        (base32 "1b10kx703kbkb5q1ggdpqcrxqjb33kh24khk21rb30w0xrdxd3g2"))))
+    (build-system haskell-build-system)
+    (properties '((upstream-name . "js-dgtable")))
+    (arguments (list #:haskell ghc-bootstrap-for-9.6))
+    (home-page "https://github.com/ndmitchell/js-dgtable#readme")
+    (synopsis "Obtain minified jquery.dgtable code")
+    (description
+     "This package bundles the minified <https://github.com/danielgindi/jquery.dgtable
+jquery.dgtable> code into a Haskell package, so it can be depended upon by Cabal
+packages.  The first three components of the version number match the upstream
+jquery.dgtable version.  The package is designed to meet the redistribution
+requirements of downstream users (e.g. Debian).")
+    (license license:expat)))
+
 (define ghc-heaps-bootstrap-for-9.6
   (package
     (name "ghc-heaps-bootstrap")
-- 
2.41.0





Information forwarded to lars <at> 6xq.net, guix-patches <at> gnu.org:
bug#67921; Package guix-patches. (Fri, 07 Jun 2024 07:56:03 GMT) Full text and rfc822 format available.

Message #134 received at 67921 <at> debbugs.gnu.org (full text, mbox):

From: Saku Laesvuori <saku <at> laesvuori.fi>
To: 67921 <at> debbugs.gnu.org
Cc: Saku Laesvuori <saku <at> laesvuori.fi>
Subject: [PATCH haskell-team 13/23] gnu: Add ghc-nats-bootstrap-for-9.6
Date: Fri,  7 Jun 2024 10:49:44 +0300
* gnu/packages/haskell.scm (ghc-nats-bootstrap-for-9.6): New variable.

Change-Id: I57351e88ba0bc52e7fd5fefc5c3006f63925fd86
---
 gnu/packages/haskell.scm | 22 ++++++++++++++++++++++
 1 file changed, 22 insertions(+)

diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm
index e4e4fe5cf6..d3517d2740 100644
--- a/gnu/packages/haskell.scm
+++ b/gnu/packages/haskell.scm
@@ -1751,6 +1751,28 @@ (define ghc-random-bootstrap-for-9.6
 library, including the ability to split random number generators.")
     (license license:bsd-3)))
 
+(define ghc-nats-bootstrap-for-9.6
+  (package
+    (name "ghc-nats-bootstrap")
+    (version "1.1.2")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (hackage-uri "nats" version))
+       (sha256
+        (base32
+         "1v40drmhixck3pz3mdfghamh73l4rp71mzcviipv1y8jhrfxilmr"))))
+    (build-system haskell-build-system)
+    (properties '((upstream-name . "nats")))
+    (arguments `(#:haddock? #f
+                 #:haskell ,ghc-bootstrap-for-9.6))
+    (inputs
+     (list ghc-hashable-bootstrap-for-9.6))
+    (home-page "https://hackage.haskell.org/package/nats")
+    (synopsis "Natural numbers")
+    (description "This library provides the natural numbers for Haskell.")
+    (license license:bsd-3)))
+
 (define ghc-js-dgtable-bootstrap-for-9.6
   (package
     (name "ghc-js-dgtable-bootstrap")
-- 
2.41.0





Information forwarded to lars <at> 6xq.net, guix-patches <at> gnu.org:
bug#67921; Package guix-patches. (Fri, 07 Jun 2024 07:56:04 GMT) Full text and rfc822 format available.

Message #137 received at 67921 <at> debbugs.gnu.org (full text, mbox):

From: Saku Laesvuori <saku <at> laesvuori.fi>
To: 67921 <at> debbugs.gnu.org
Cc: Saku Laesvuori <saku <at> laesvuori.fi>
Subject: [PATCH haskell-team 14/23] gnu: Add ghc-tagged-bootstrap-for-9.6
Date: Fri,  7 Jun 2024 10:49:45 +0300
* gnu/packages/haskell.scm (ghc-tagged-bootstrap-for-9.6): New variable.

Change-Id: Ifd3996a62cfa33d155315807d4ead706f7e64452
---
 gnu/packages/haskell.scm | 20 ++++++++++++++++++++
 1 file changed, 20 insertions(+)

diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm
index d3517d2740..970934dad8 100644
--- a/gnu/packages/haskell.scm
+++ b/gnu/packages/haskell.scm
@@ -1751,6 +1751,26 @@ (define ghc-random-bootstrap-for-9.6
 library, including the ability to split random number generators.")
     (license license:bsd-3)))
 
+(define ghc-tagged-bootstrap-for-9.6
+  (package
+    (name "ghc-tagged-bootstrap")
+    (version "0.8.7")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (hackage-uri "tagged" version))
+       (sha256
+        (base32
+         "0qdr1kv1zn5iamnwyn5nf0ywxs4wv779k0gpw94kyqx14ynfw534"))))
+    (build-system haskell-build-system)
+    (properties '((upstream-name . "tagged")))
+    (arguments (list #:haskell ghc-bootstrap-for-9.6))
+    (home-page "https://hackage.haskell.org/package/tagged")
+    (synopsis "Haskell phantom types to avoid passing dummy arguments")
+    (description "This library provides phantom types for Haskell 98, to avoid
+having to unsafely pass dummy arguments.")
+    (license license:bsd-3)))
+
 (define ghc-nats-bootstrap-for-9.6
   (package
     (name "ghc-nats-bootstrap")
-- 
2.41.0





Information forwarded to lars <at> 6xq.net, guix-patches <at> gnu.org:
bug#67921; Package guix-patches. (Fri, 07 Jun 2024 07:56:04 GMT) Full text and rfc822 format available.

Message #140 received at 67921 <at> debbugs.gnu.org (full text, mbox):

From: Saku Laesvuori <saku <at> laesvuori.fi>
To: 67921 <at> debbugs.gnu.org
Cc: Saku Laesvuori <saku <at> laesvuori.fi>
Subject: [PATCH haskell-team 17/23] gnu: Add
 ghc-cryptohash-sha256-bootstrap-for-9.6
Date: Fri,  7 Jun 2024 10:49:48 +0300
* gnu/packages/haskell.scm (ghc-cryptohash-sha256-bootstrap-for-9.6):
  New variable.

Change-Id: I80dd73de554160f4dc904c01ea292a886f51e970
---
 gnu/packages/haskell.scm | 29 +++++++++++++++++++++++++++++
 1 file changed, 29 insertions(+)

diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm
index eb4d546ad4..9afe9a5382 100644
--- a/gnu/packages/haskell.scm
+++ b/gnu/packages/haskell.scm
@@ -1629,6 +1629,35 @@ (define ghc-js-flot-bootstrap-for-9.6
 requirements of downstream users (e.g. Debian).")
     (license license:expat)))
 
+(define ghc-cryptohash-sha256-bootstrap-for-9.6
+  (package
+    (name "ghc-cryptohash-sha256-bootstrap")
+    (version "0.11.102.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (hackage-uri "cryptohash-sha256" version))
+       (sha256
+        (base32
+         "1xkb7iqplbw4fy1122p79xf1zcb7k44rl0wmfj1q06l7cdqxr9vk"))))
+    (build-system haskell-build-system)
+    (properties '((upstream-name . "cryptohash-sha256")))
+    (arguments
+     `(#:cabal-revision
+       ("1" "1hyzqv30rpj920ddnr0zypyjjlh52vyp2d140pn2byayj820rkgs")
+       #:haskell ,ghc-bootstrap-for-9.6
+       #:tests? #f))
+    (home-page "https://github.com/hvr/cryptohash-sha1")
+    (synopsis "SHA-256 implementation for Haskell")
+    (description "This Haskell package provides an incremental and
+one-pass, pure API to the @uref{https://en.wikipedia.org/wiki/SHA-2,
+SHA-256 cryptographic hash algorithm}, with performance close to the
+fastest implementations available in other languages.
+
+The implementation is made in C with a haskell FFI wrapper that hides
+the C implementation.")
+    (license license:bsd-3)))
+
 (define ghc-base16-bytestring-bootstrap-for-9.6
   (package
     (name "ghc-base16-bytestring-bootstrap")
-- 
2.41.0





Information forwarded to lars <at> 6xq.net, guix-patches <at> gnu.org:
bug#67921; Package guix-patches. (Fri, 07 Jun 2024 07:56:05 GMT) Full text and rfc822 format available.

Message #143 received at 67921 <at> debbugs.gnu.org (full text, mbox):

From: Saku Laesvuori <saku <at> laesvuori.fi>
To: 67921 <at> debbugs.gnu.org
Cc: Saku Laesvuori <saku <at> laesvuori.fi>
Subject: [PATCH haskell-team 18/23] gnu: Add
 ghc-unordered-containers-bootstrap-for-9.6
Date: Fri,  7 Jun 2024 10:49:49 +0300
* gnu/packages/haskell.scm (ghc-unordered-containers-bootstrap-for-9.6):
  New variable.

Change-Id: I190d7e765d30b469290d26109478fbe97dfbe3ae
---
 gnu/packages/haskell.scm | 27 +++++++++++++++++++++++++++
 1 file changed, 27 insertions(+)

diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm
index 9afe9a5382..c2e5391fea 100644
--- a/gnu/packages/haskell.scm
+++ b/gnu/packages/haskell.scm
@@ -1629,6 +1629,33 @@ (define ghc-js-flot-bootstrap-for-9.6
 requirements of downstream users (e.g. Debian).")
     (license license:expat)))
 
+(define ghc-unordered-containers-bootstrap-for-9.6
+  (package
+    (name "ghc-unordered-containers-bootstrap")
+    (version "0.2.19.1")
+    (source (origin
+              (method url-fetch)
+              (uri (hackage-uri "unordered-containers" version))
+              (sha256
+               (base32
+                "1li8s6qw8mgv6a7011y7hg0cn2nllv2g9sr9c1xb48nmw32vw9qv"))))
+    (build-system haskell-build-system)
+    (properties '((upstream-name . "unordered-containers")))
+    (inputs (list ghc-hashable-bootstrap-for-9.6))
+    (arguments
+     `(#:cabal-revision ("3"
+                         "1p9a2mvfbfz2d4cyr16b03bxvb6c4yj7k1ch601xwq1rkr1cla0w")
+       #:haskell ,ghc-bootstrap-for-9.6
+       #:tests? #f))
+    (home-page
+     "https://github.com/haskell-unordered-containers/unordered-containers")
+    (synopsis "Efficient hashing-based container types")
+    (description
+     "Efficient hashing-based container types.  The containers have been
+optimized for performance critical use, both in terms of large data quantities
+and high speed.")
+    (license license:bsd-3)))
+
 (define ghc-cryptohash-sha256-bootstrap-for-9.6
   (package
     (name "ghc-cryptohash-sha256-bootstrap")
-- 
2.41.0





Information forwarded to lars <at> 6xq.net, guix-patches <at> gnu.org:
bug#67921; Package guix-patches. (Fri, 07 Jun 2024 07:56:05 GMT) Full text and rfc822 format available.

Message #146 received at 67921 <at> debbugs.gnu.org (full text, mbox):

From: Saku Laesvuori <saku <at> laesvuori.fi>
To: 67921 <at> debbugs.gnu.org
Cc: Saku Laesvuori <saku <at> laesvuori.fi>
Subject: [PATCH haskell-team 19/23] gnu: Add ghc-filepattern-bootstrap-for-9.6
Date: Fri,  7 Jun 2024 10:49:50 +0300
* gnu/packages/haskell.scm (ghc-filepattern-bootstrap-for-9.6): New
  variable.

Change-Id: I3778f85d7a14474445295ebd6bbb1f4bfbe4f6d5
---
 gnu/packages/haskell.scm | 41 ++++++++++++++++++++++++++++++++++++++++
 1 file changed, 41 insertions(+)

diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm
index c2e5391fea..b2d874e330 100644
--- a/gnu/packages/haskell.scm
+++ b/gnu/packages/haskell.scm
@@ -1629,6 +1629,47 @@ (define ghc-js-flot-bootstrap-for-9.6
 requirements of downstream users (e.g. Debian).")
     (license license:expat)))
 
+(define ghc-filepattern-bootstrap-for-9.6
+  (package
+    (name "ghc-filepattern-bootstrap")
+    (version "0.1.3")
+    (source (origin
+              (method url-fetch)
+              (uri (hackage-uri "filepattern" version))
+              (sha256
+               (base32
+                "0dlnwnwhsfdkwm69z66wj5d2x9n3la55glq4fsn5rxm2kr1msi6c"))))
+    (build-system haskell-build-system)
+    (properties '((upstream-name . "filepattern")))
+    (arguments (list #:tests? #f
+                     #:haskell ghc-bootstrap-for-9.6))
+    (inputs (list ghc-extra-bootstrap-for-9.6))
+    (home-page "https://github.com/ndmitchell/filepattern#readme")
+    (synopsis "File path glob-like matching")
+    (description
+     "This package provides Haskell library for matching files using patterns
+such as @code{\\\"src\\/**\\/*.png\\\"} for all @@file{.png} files recursively
+under the @@file{src} directory.
+
+Some of its features include:
+
+@itemize
+@item All matching is O(n).
+
+@item Most functions pre-compute some information given only one argument.
+
+@item Uses @code{match} and @code{substitute} to extract suitable strings from
+the @code{*} and @code{**} matches, and substitutes them back into other
+patterns.
+
+@item Uses @code{step} and @code{matchMany} to perform bulk matching of many
+patterns against many paths simultaneously.
+
+@item Uses @code{System.FilePattern.Directory} to perform optimised directory
+traverals using patterns.
+@end itemize")
+    (license license:bsd-3)))
+
 (define ghc-unordered-containers-bootstrap-for-9.6
   (package
     (name "ghc-unordered-containers-bootstrap")
-- 
2.41.0





Information forwarded to lars <at> 6xq.net, guix-patches <at> gnu.org:
bug#67921; Package guix-patches. (Fri, 07 Jun 2024 07:56:06 GMT) Full text and rfc822 format available.

Message #149 received at 67921 <at> debbugs.gnu.org (full text, mbox):

From: Saku Laesvuori <saku <at> laesvuori.fi>
To: 67921 <at> debbugs.gnu.org
Cc: Saku Laesvuori <saku <at> laesvuori.fi>
Subject: [PATCH haskell-team 21/23] gnu: Add hadrian-for-ghc-9.6
Date: Fri,  7 Jun 2024 10:49:52 +0300
* gnu/packages/haskell.scm (hadrian-for-ghc-9.6): New variable.

Change-Id: I4205c888afa7b03b4b1622a3af7d1d538fa5c9b1
---
 gnu/packages/haskell.scm | 40 ++++++++++++++++++++++++++++++++++++++++
 1 file changed, 40 insertions(+)

diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm
index fb20f3e2a3..5070833a94 100644
--- a/gnu/packages/haskell.scm
+++ b/gnu/packages/haskell.scm
@@ -2112,4 +2112,44 @@ (define ghc-primitive-bootstrap-for-9.6
      "This package provides various primitive memory-related operations.")
     (license license:bsd-3)))
 
+(define hadrian-for-ghc-9.6
+  (package
+    (name "hadrian")
+    (version "9.6.4")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "https://www.haskell.org/ghc/dist/" version
+                                  "/ghc-" version "-src.tar.xz"))
+              (sha256
+               (base32
+                "1h6lpx8kd4xycjwb8iv2rgnz23kwq5b0qp4bhvczsx3in2w2bgqh"))))
+    (build-system haskell-build-system)
+    (inputs
+     (list ghc-base16-bytestring-bootstrap-for-9.6
+           ghc-cryptohash-sha256-bootstrap-for-9.6
+           ghc-extra-bootstrap-for-9.6
+           ghc-shake-bootstrap-for-9.6
+           ghc-unordered-containers-bootstrap-for-9.6
+           bash-minimal))
+    (arguments
+     (list #:configure-flags ''("--flags=-selftest")
+           #:tests? #f
+           #:haskell ghc-bootstrap-for-9.6
+           #:phases
+           #~(modify-phases %standard-phases
+               (add-after 'unpack 'cd-to-hadrian
+                 (lambda _
+                   (chdir "hadrian")))
+               (add-after 'cd-to-hadrian 'fix-shell-wrappers
+                 (lambda _
+                   (substitute*
+                     "src/Rules/Test.hs"
+                     (("\"#!/bin/sh\"")
+                      (format #f "\"#!~a/bin/sh\"" #$(this-package-input "bash-minimal")))))))))
+    (home-page "https://gitlab.haskell.org/ghc/ghc/-/tree/master/hadrian")
+    (synopsis "Build system for the Glasgow Haskell Compiler (@code{ghc})")
+    (description "Hadrian is the build system for the Glasgow Haskell Compiler.
+It is based on the Shake library and replaces @{make} in building GHC")
+    (license license:expat)))
+
 ;;; haskell.scm ends here
-- 
2.41.0





Information forwarded to lars <at> 6xq.net, guix-patches <at> gnu.org:
bug#67921; Package guix-patches. (Fri, 07 Jun 2024 08:03:02 GMT) Full text and rfc822 format available.

Message #152 received at 67921 <at> debbugs.gnu.org (full text, mbox):

From: Saku Laesvuori <saku <at> laesvuori.fi>
To: 67921 <at> debbugs.gnu.org
Cc: Saku Laesvuori <saku <at> laesvuori.fi>
Subject: [PATCH haskell-team 05/23] gnu: Add ghc-hashable-bootstrap-for-9.6
Date: Fri,  7 Jun 2024 10:49:36 +0300
* gnu/packages/haskell.scm (ghc-hashable-bootstrap-for-9.6): New
  variable.

Change-Id: Id96f7df459a3db56747cd4204b32b7ad253139a4
---
 gnu/packages/haskell.scm | 23 +++++++++++++++++++++++
 1 file changed, 23 insertions(+)

diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm
index c2ce7d9e16..bd30f2804d 100644
--- a/gnu/packages/haskell.scm
+++ b/gnu/packages/haskell.scm
@@ -1674,4 +1674,27 @@ (define ghc-clock-bootstrap-for-9.6
 timer functions of different operating systems via a unified API.")
     (license license:bsd-3)))
 
+(define ghc-hashable-bootstrap-for-9.6
+  (package
+    (name "ghc-hashable-bootstrap")
+    (version "1.4.1.0")
+    (source (origin
+              (method url-fetch)
+              (uri (hackage-uri "hashable" version))
+              (sha256
+               (base32
+                "11sycr73821amdz8g0k8c97igi4z7f9xdvgaxlkxhsp6h310bcz1"))))
+    (build-system haskell-build-system)
+    (properties '((upstream-name . "hashable")))
+    (arguments (list #:tests? #f
+                     #:haskell ghc-bootstrap-for-9.6))
+    (home-page "http://github.com/haskell-unordered-containers/hashable")
+    (synopsis "Class for types that can be converted to a hash value")
+    (description
+     "This package defines a class, @code{Hashable}, for types that can be
+converted to a hash value.  This class exists for the benefit of hashing-based
+data structures.  The package provides instances for basic types and a way to
+combine hash values.")
+    (license license:bsd-3)))
+
 ;;; haskell.scm ends here
-- 
2.41.0





Information forwarded to lars <at> 6xq.net, guix-patches <at> gnu.org:
bug#67921; Package guix-patches. (Fri, 07 Jun 2024 08:03:02 GMT) Full text and rfc822 format available.

Message #155 received at 67921 <at> debbugs.gnu.org (full text, mbox):

From: Saku Laesvuori <saku <at> laesvuori.fi>
To: 67921 <at> debbugs.gnu.org
Cc: Saku Laesvuori <saku <at> laesvuori.fi>
Subject: [PATCH haskell-team 10/23] gnu: Add ghc-utf8-string-bootstrap-for-9.6
Date: Fri,  7 Jun 2024 10:49:41 +0300
* gnu/packages/haskell.scm (ghc-utf8-string-bootstrap-for-9.6): New
  variable.

Change-Id: Iea2ba4d3202195a54b71037882352cdac9415901
---
 gnu/packages/haskell.scm | 22 ++++++++++++++++++++++
 1 file changed, 22 insertions(+)

diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm
index 4482fdb0d3..e9aa8f7524 100644
--- a/gnu/packages/haskell.scm
+++ b/gnu/packages/haskell.scm
@@ -1751,6 +1751,28 @@ (define ghc-random-bootstrap-for-9.6
 library, including the ability to split random number generators.")
     (license license:bsd-3)))
 
+(define ghc-utf8-string-bootstrap-for-9.6
+  (package
+    (name "ghc-utf8-string-bootstrap")
+    (version "1.0.2")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (hackage-uri "utf8-string" version))
+       (sha256
+        (base32 "16mh36ffva9rh6k37bi1046pgpj14h0cnmj1iir700v0lynxwj7f"))))
+    (build-system haskell-build-system)
+    (properties '((upstream-name . "utf8-string")))
+    (arguments `(#:tests? #f
+                 #:haskell ,ghc-bootstrap-for-9.6))
+    (home-page "https://github.com/glguy/utf8-string/")
+    (synopsis "Support for reading and writing UTF8 Strings")
+    (description
+     "A UTF8 layer for Strings.  The utf8-string package provides operations
+for encoding UTF8 strings to Word8 lists and back, and for reading and writing
+UTF8 without truncation.")
+    (license license:bsd-3)))
+
 (define ghc-js-jquery-bootstrap-for-9.6
   (package
     (name "ghc-js-jquery-bootstrap")
-- 
2.41.0





Information forwarded to lars <at> 6xq.net, guix-patches <at> gnu.org:
bug#67921; Package guix-patches. (Fri, 07 Jun 2024 08:13:01 GMT) Full text and rfc822 format available.

Message #158 received at 67921 <at> debbugs.gnu.org (full text, mbox):

From: Saku Laesvuori <saku <at> laesvuori.fi>
To: 67921 <at> debbugs.gnu.org
Cc: Saku Laesvuori <saku <at> laesvuori.fi>
Subject: [PATCH haskell-team 08/23] gnu: Add ghc-primitive-bootstrap-for-9.6
Date: Fri,  7 Jun 2024 10:49:39 +0300
* gnu/packages/haskell.scm (ghc-primitive-bootstrap-for-9.6): New
  variable.

Change-Id: I393ff5f57862de0c6da118a803ed6f898adcf0cb
---
 gnu/packages/haskell.scm | 23 +++++++++++++++++++++++
 1 file changed, 23 insertions(+)

diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm
index cb66e5d745..2212bd2cf6 100644
--- a/gnu/packages/haskell.scm
+++ b/gnu/packages/haskell.scm
@@ -1751,4 +1751,27 @@ (define ghc-random-bootstrap-for-9.6
 library, including the ability to split random number generators.")
     (license license:bsd-3)))
 
+(define ghc-primitive-bootstrap-for-9.6
+  (package
+    (name "ghc-primitive-bootstrap")
+    (version "0.8.0.0")
+    (source (origin
+              (method url-fetch)
+              (uri (hackage-uri "primitive" version))
+              (sha256
+               (base32
+                "0pwr5g3bra5m2zjm14pj98klqj2qrjcfasgd3rcrp7vq98dw4lsm"))))
+    (build-system haskell-build-system)
+    (properties '((upstream-name . "primitive")))
+    (arguments
+     `(#:tests? #f
+       #:haskell ,ghc-bootstrap-for-9.6
+       #:cabal-revision ("1"
+                         "0w1nf0rabgyk5q7ccw7va1mj6k50lswvikhi6vr2myb1dvx4bzyh")))
+    (home-page "https://github.com/haskell/primitive")
+    (synopsis "Primitive memory-related operations")
+    (description
+     "This package provides various primitive memory-related operations.")
+    (license license:bsd-3)))
+
 ;;; haskell.scm ends here
-- 
2.41.0





Information forwarded to lars <at> 6xq.net, guix-patches <at> gnu.org:
bug#67921; Package guix-patches. (Fri, 07 Jun 2024 08:13:02 GMT) Full text and rfc822 format available.

Message #161 received at 67921 <at> debbugs.gnu.org (full text, mbox):

From: Saku Laesvuori <saku <at> laesvuori.fi>
To: 67921 <at> debbugs.gnu.org
Cc: Saku Laesvuori <saku <at> laesvuori.fi>
Subject: [PATCH haskell-team 09/23] gnu: Add ghc-js-jquery-bootstrap-for-9.6
Date: Fri,  7 Jun 2024 10:49:40 +0300
* gnu/packages/haskell.scm (ghc-js-jquery-bootstrap-for-9.6): New
  variable.

Change-Id: I579efb04ad665f0938e24a9656f959abdd27905e
---
 gnu/packages/haskell.scm | 26 ++++++++++++++++++++++++++
 1 file changed, 26 insertions(+)

diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm
index 2212bd2cf6..4482fdb0d3 100644
--- a/gnu/packages/haskell.scm
+++ b/gnu/packages/haskell.scm
@@ -1751,6 +1751,32 @@ (define ghc-random-bootstrap-for-9.6
 library, including the ability to split random number generators.")
     (license license:bsd-3)))
 
+(define ghc-js-jquery-bootstrap-for-9.6
+  (package
+    (name "ghc-js-jquery-bootstrap")
+    (version "3.3.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri
+        (hackage-uri "js-jquery" version))
+       (sha256
+        (base32
+         "16q68jzbs7kp07dnq8cprdcc8fd41rim38039vg0w4x11lgniq70"))))
+    (build-system haskell-build-system)
+    (properties '((upstream-name . "js-jquery")))
+    (arguments `(#:tests? #f
+                 #:haskell ,ghc-bootstrap-for-9.6))
+    (home-page "https://github.com/ndmitchell/js-jquery")
+    (synopsis "Obtain minified jQuery code")
+    (description "This package bundles the minified
+@url{http://jquery.com/, jQuery} code into a Haskell package, so it can
+be depended upon by Cabal packages.  The first three components of the
+version number match the upstream jQuery version.  The package is
+designed to meet the redistribution requirements of downstream
+users (e.g. Debian).")
+    (license license:expat)))
+
 (define ghc-primitive-bootstrap-for-9.6
   (package
     (name "ghc-primitive-bootstrap")
-- 
2.41.0





Information forwarded to lars <at> 6xq.net, guix-patches <at> gnu.org:
bug#67921; Package guix-patches. (Fri, 07 Jun 2024 08:13:02 GMT) Full text and rfc822 format available.

Message #164 received at 67921 <at> debbugs.gnu.org (full text, mbox):

From: Saku Laesvuori <saku <at> laesvuori.fi>
To: 67921 <at> debbugs.gnu.org
Cc: Saku Laesvuori <saku <at> laesvuori.fi>
Subject: [PATCH haskell-team 16/23] gnu: Add
 ghc-base16-bytestring-bootstrap-for-9.6
Date: Fri,  7 Jun 2024 10:49:47 +0300
* gnu/packages/haskell.scm (ghc-base16-bytestring-bootstrap-for-9.6):
  New variable.

Change-Id: I7c20bdfd7600fb2bed5de497e02acda74b242fec
---
 gnu/packages/haskell.scm | 21 +++++++++++++++++++++
 1 file changed, 21 insertions(+)

diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm
index 9a66b6d225..eb4d546ad4 100644
--- a/gnu/packages/haskell.scm
+++ b/gnu/packages/haskell.scm
@@ -1629,6 +1629,27 @@ (define ghc-js-flot-bootstrap-for-9.6
 requirements of downstream users (e.g. Debian).")
     (license license:expat)))
 
+(define ghc-base16-bytestring-bootstrap-for-9.6
+  (package
+    (name "ghc-base16-bytestring-bootstrap")
+    (version "1.0.2.0")
+    (source (origin
+              (method url-fetch)
+              (uri (hackage-uri "base16-bytestring" version))
+              (sha256
+               (base32
+                "1167f9jaivnabn6kg2gc421ac9njb67fr4v0adbj3qph7qa92nhx"))))
+    (build-system haskell-build-system)
+    (arguments (list #:tests? #f
+                     #:haskell ghc-bootstrap-for-9.6))
+    (properties '((upstream-name . "base16-bytestring")))
+    (home-page "http://github.com/haskell/base16-bytestring")
+    (synopsis "Fast base16 (hex) encoding and decoding for ByteStrings")
+    (description
+     "This package provides a Haskell library for working with base16-encoded
+data quickly and efficiently, using the ByteString type.")
+    (license license:bsd-3)))
+
 (define ghc-extra-bootstrap-for-9.6
   (package
     (name "ghc-extra-bootstrap")
-- 
2.41.0





Information forwarded to lars <at> 6xq.net, guix-patches <at> gnu.org:
bug#67921; Package guix-patches. (Fri, 07 Jun 2024 08:13:03 GMT) Full text and rfc822 format available.

Message #167 received at 67921 <at> debbugs.gnu.org (full text, mbox):

From: Saku Laesvuori <saku <at> laesvuori.fi>
To: 67921 <at> debbugs.gnu.org
Cc: Saku Laesvuori <saku <at> laesvuori.fi>
Subject: [PATCH haskell-team 20/23] gnu: Add ghc-shake-bootstrap-for-9.6
Date: Fri,  7 Jun 2024 10:49:51 +0300
* gnu/packages/haskell.scm (ghc-shake-bootstrap-for-9.6): New variable.

Change-Id: I195bc5f779709ef7b2ccefe2271402ef342bc0b8
---
 gnu/packages/haskell.scm | 56 ++++++++++++++++++++++++++++++++++++++++
 1 file changed, 56 insertions(+)

diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm
index b2d874e330..fb20f3e2a3 100644
--- a/gnu/packages/haskell.scm
+++ b/gnu/packages/haskell.scm
@@ -1603,6 +1603,62 @@ (define-public ghc-9.4
 
 (define ghc-bootstrap-for-9.6 ghc-9.4)
 
+(define ghc-shake-bootstrap-for-9.6
+  (package
+    (name "ghc-shake-bootstrap")
+    (version "0.19.7")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (hackage-uri "shake" version))
+       (sha256
+        (base32 "1lcr6q53qwm308bny6gfawcjhxsmalqi3dnwckam02zp2apmcaim"))))
+    (build-system haskell-build-system)
+    (properties '((upstream-name . "shake")))
+    (inputs (list bash-minimal
+                  ghc-extra-bootstrap-for-9.6
+                  ghc-filepattern-bootstrap-for-9.6
+                  ghc-hashable-bootstrap-for-9.6
+                  ghc-heaps-bootstrap-for-9.6
+                  ghc-js-dgtable-bootstrap-for-9.6
+                  ghc-js-flot-bootstrap-for-9.6
+                  ghc-js-jquery-bootstrap-for-9.6
+                  ghc-primitive-bootstrap-for-9.6
+                  ghc-random-bootstrap-for-9.6
+                  ghc-unordered-containers-bootstrap-for-9.6
+                  ghc-utf8-string-bootstrap-for-9.6
+                  ghc-semigroups-bootstrap-for-9.6))
+    (arguments
+     (list #:cabal-revision '("1"
+                              "1hz57kw5pp5cpbicbi7x8sz8c6qy58dzyiljz9b9f2r1rr683d9w")
+           #:tests? #f
+           #:haskell ghc-bootstrap-for-9.6
+           #:phases
+           #~(modify-phases %standard-phases
+               (add-after 'patch-source-shebangs 'patch-/bin/sh
+                 (lambda _
+                   (for-each
+                    (lambda (file)
+                      (substitute*
+                       file
+                       (("/bin/sh")
+                        #$(file-append (this-package-input "bash-minimal")
+                                       "/bin/sh"))))
+                    '("src/Development/Shake/Command.hs")))))))
+    (home-page "https://shakebuild.com")
+    (synopsis
+     "Build system library, like Make, but more accurate dependencies.")
+    (description
+     "Shake is a Haskell library for writing build systems - designed as a
+replacement for @@make@@.  To use Shake the user writes a Haskell program that
+imports \"Development.Shake\", defines some build rules, and calls the
+Development.Shake.@code{shakeArgs} function.  However, as build systems get more
+complex, Shake is able to take advantage of the excellent abstraction facilities
+offered by Haskell and easily support much larger projects.  Shake also provides more
+accurate dependency tracking, including seamless support for generated files, and
+dependencies on system information (e.g. compiler version).")
+    (license license:bsd-3)))
+
 (define ghc-js-flot-bootstrap-for-9.6
   (package
     (name "ghc-js-flot-bootstrap")
-- 
2.41.0





Information forwarded to lars <at> 6xq.net, guix-patches <at> gnu.org:
bug#67921; Package guix-patches. (Fri, 07 Jun 2024 08:13:03 GMT) Full text and rfc822 format available.

Message #170 received at 67921 <at> debbugs.gnu.org (full text, mbox):

From: Saku Laesvuori <saku <at> laesvuori.fi>
To: 67921 <at> debbugs.gnu.org
Cc: Saku Laesvuori <saku <at> laesvuori.fi>
Subject: [PATCH haskell-team 15/23] gnu: Add ghc-semigroups-bootstrap-for-9.6
Date: Fri,  7 Jun 2024 10:49:46 +0300
* gnu/packages/haskell.scm (ghc-semigroups-bootstrap-for-9.6): New
  variable.

Change-Id: Ic676fed80bea3805f8e70cd958c3d7523226053d
---
 gnu/packages/haskell.scm | 30 ++++++++++++++++++++++++++++++
 1 file changed, 30 insertions(+)

diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm
index 970934dad8..9a66b6d225 100644
--- a/gnu/packages/haskell.scm
+++ b/gnu/packages/haskell.scm
@@ -1751,6 +1751,36 @@ (define ghc-random-bootstrap-for-9.6
 library, including the ability to split random number generators.")
     (license license:bsd-3)))
 
+(define ghc-semigroups-bootstrap-for-9.6
+  (package
+    (name "ghc-semigroups-bootstrap")
+    (version "0.20")
+    (source (origin
+              (method url-fetch)
+              (uri (hackage-uri "semigroups" version))
+              (sha256
+               (base32
+                "1qbk6scp1rzb69dy8mz26p6az5vi16g2lzwmwnfshh3br4rjwbch"))))
+    (build-system haskell-build-system)
+    (properties '((upstream-name . "semigroups")))
+    (arguments (list #:haskell ghc-bootstrap-for-9.6))
+    (inputs
+     (list ghc-nats-bootstrap-for-9.6
+           ghc-tagged-bootstrap-for-9.6
+           ghc-unordered-containers-bootstrap-for-9.6
+           ghc-hashable-bootstrap-for-9.6))
+    (home-page "http://github.com/ekmett/semigroups/")
+    (synopsis "Semigroup operations for Haskell")
+    (description
+     "This package provides semigroups for Haskell.  In
+mathematics, a semigroup is an algebraic structure consisting of a set
+together with an associative binary operation.  A semigroup generalizes a
+monoid in that there might not exist an identity element.  It
+also (originally) generalized a group (a monoid with all inverses) to a type
+where every element did not have to have an inverse, thus the name
+semigroup.")
+    (license license:bsd-3)))
+
 (define ghc-tagged-bootstrap-for-9.6
   (package
     (name "ghc-tagged-bootstrap")
-- 
2.41.0





Information forwarded to lars <at> 6xq.net, guix-patches <at> gnu.org:
bug#67921; Package guix-patches. (Fri, 07 Jun 2024 08:13:04 GMT) Full text and rfc822 format available.

Message #173 received at 67921 <at> debbugs.gnu.org (full text, mbox):

From: Saku Laesvuori <saku <at> laesvuori.fi>
To: 67921 <at> debbugs.gnu.org
Cc: Saku Laesvuori <saku <at> laesvuori.fi>
Subject: [PATCH haskell-team 01/23] gnu: ghc-next: Update to version 9.4.8
Date: Fri,  7 Jun 2024 10:49:32 +0300
* gnu/packages/haskell.scm (ghc-9.4): Update to version 9.4.8.
[native-inputs]<ghc-testsuite>: Add a patch to fix the testsuite.
(ghc-happy-bootstrap-for-9.4): Update to version 1.20.1.1.
* gnu/packages/patches/ghc-9.4-testsuite-fixes.patch: New patch.

Change-Id: I5ef72f83e5feed1defb706bafa934077fda1553c
---
 gnu/packages/haskell.scm                      |  11 +-
 .../patches/ghc-9.4-testsuite-fixes.patch     | 119 ++++++++++++++++++
 2 files changed, 125 insertions(+), 5 deletions(-)
 create mode 100644 gnu/packages/patches/ghc-9.4-testsuite-fixes.patch

diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm
index 6d8675d37e..25b21a0209 100644
--- a/gnu/packages/haskell.scm
+++ b/gnu/packages/haskell.scm
@@ -1533,14 +1533,14 @@ (define ghc-happy-bootstrap-for-9.4
   (hidden-package
     (package
      (name "ghc-happy")
-     (version "1.20.0")
+     (version "1.20.1.1")
      (source
       (origin
         (method url-fetch)
         (uri (hackage-uri "happy" version))
         (sha256
          (base32
-          "1346r2x5ravs5fqma65bzjragqbb2g6v41wz9maknwm2jf7kl79v"))))
+          "06w8g3lfk2ynrfhqznhp1mnp8a5b64lj6qviixpndzf5lv2psklb"))))
      (build-system haskell-build-system)
      (arguments
        (list #:haskell ghc-bootstrap-for-9.4
@@ -1558,14 +1558,14 @@ (define-public ghc-9.4
     (package
       (inherit base)
       (name "ghc-next")
-      (version "9.4.4")
+      (version "9.4.8")
       (source (origin
                 (method url-fetch)
                 (uri (string-append "https://www.haskell.org/ghc/dist/" version
                                     "/ghc-" version "-src.tar.xz"))
                 (sha256
                  (base32
-                  "1qk7rlqf02s3b6m6sqqngmjq1mxnrz88h159lz6k25gddmdg5kp8"))))
+                  "0pmqg9846lanb0hcyxhgr9ipzq33rfldxj7ln0j3qgpyczmhgx0b"))))
       (arguments
        (substitute-keyword-arguments (package-arguments base)
          ((#:phases phases '%standard-phases)
@@ -1583,7 +1583,8 @@ (define-public ghc-9.4
                     version "/ghc-" version "-testsuite.tar.xz"))
              (sha256
               (base32
-               "04p2lawxxg3nyv6frzhyjyh3arhqqyh5ka3alxa2pxhcd2hdcja3"))))
+               "159wsqnqpqb0pxa3zyhvyg07wxr2zz7v52h52wkplw4pn12dsidc"))
+             (patches (search-patches "ghc-9.4-testsuite-fixes.patch"))))
          ("ghc-alex" ,ghc-alex-bootstrap-for-9.4)
          ("ghc-happy" ,ghc-happy-bootstrap-for-9.4)
          ,@(filter (match-lambda
diff --git a/gnu/packages/patches/ghc-9.4-testsuite-fixes.patch b/gnu/packages/patches/ghc-9.4-testsuite-fixes.patch
new file mode 100644
index 0000000000..f394632add
--- /dev/null
+++ b/gnu/packages/patches/ghc-9.4-testsuite-fixes.patch
@@ -0,0 +1,119 @@
+From 3acd8aa948a27465cffc8e2ab56229485e2a5b98 Mon Sep 17 00:00:00 2001
+From: Saku Laesvuori <saku <at> laesvuori.fi>
+Date: Tue, 5 Dec 2023 22:49:45 +0200
+Subject: [PATCH] Fix tests
+
+* replaces egrep with grep -E
+* removes unnecessary escaping in some grep regular expressions
+* adds a missing include header to a makefile
+---
+ testsuite/tests/cabal/cabal01/Makefile                | 2 +-
+ testsuite/tests/ghci/should_run/GHCiPrimCall/Makefile | 4 ++++
+ testsuite/tests/haddock/perf/Makefile                 | 8 ++++----
+ testsuite/tests/hsc2hs/Makefile                       | 4 ++--
+ testsuite/tests/numeric/should_run/T7014.primops      | 4 ++--
+ testsuite/tests/simplCore/should_compile/Makefile     | 4 ++--
+ 6 files changed, 15 insertions(+), 11 deletions(-)
+
+diff --git a/testsuite/tests/cabal/cabal01/Makefile b/testsuite/tests/cabal/cabal01/Makefile
+index 004e4c75..6ec499c9 100644
+--- a/testsuite/tests/cabal/cabal01/Makefile
++++ b/testsuite/tests/cabal/cabal01/Makefile
+@@ -5,7 +5,7 @@ include $(TOP)/mk/test.mk
+ # Find all the env variables starting with CI_ to unset them.
+ # Otherwise, we might run into environment length limitations on Windows.
+ # (See `xargs --show-limits`.)
+-VARS_TO_UNSET := $(shell env | grep ^CI_ | egrep -o '^[^=]+')
++VARS_TO_UNSET := $(shell env | grep ^CI_ | grep -E -o '^[^=]+')
+ unexport $(VARS_TO_UNSET)
+ 
+ clean:
+diff --git a/testsuite/tests/ghci/should_run/GHCiPrimCall/Makefile b/testsuite/tests/ghci/should_run/GHCiPrimCall/Makefile
+index fd64d23f..cb669db3 100644
+--- a/testsuite/tests/ghci/should_run/GHCiPrimCall/Makefile
++++ b/testsuite/tests/ghci/should_run/GHCiPrimCall/Makefile
+@@ -1,3 +1,7 @@
++TOP=../../../..
++include $(TOP)/mk/boilerplate.mk
++include $(TOP)/mk/test.mk
++
+ .PHONY: GHCiPrimCall
+ GHCiPrimCall:
+ 	'$(TEST_HC)' $(TEST_HC_OPTS) -fPIC -v0 -c GHCiPrimCall_cmm.cmm
+diff --git a/testsuite/tests/haddock/perf/Makefile b/testsuite/tests/haddock/perf/Makefile
+index b67b52f2..ff2f7ebb 100644
+--- a/testsuite/tests/haddock/perf/Makefile
++++ b/testsuite/tests/haddock/perf/Makefile
+@@ -4,12 +4,12 @@ include $(TOP)/mk/test.mk
+ 
+ # We accept a 5% increase in parser allocations due to -haddock
+ haddock_parser_perf :
+-	WithHaddock=$(shell '$(TEST_HC)' $(TEST_HC_OPTS) -fno-code -fforce-recomp -Wno-all -ddump-timings -haddock -O0 Fold.hs 2>/dev/null | grep Parser | egrep -o 'alloc=[0-9]+' | cut -c7-  ) ; \
+-	WithoutHaddock=$(shell '$(TEST_HC)' $(TEST_HC_OPTS) -fno-code -fforce-recomp -Wno-all -ddump-timings -O0 Fold.hs 2>/dev/null | grep Parser | egrep -o 'alloc=[0-9]+' | cut -c7-  ) ;  \
++	WithHaddock=$(shell '$(TEST_HC)' $(TEST_HC_OPTS) -fno-code -fforce-recomp -Wno-all -ddump-timings -haddock -O0 Fold.hs 2>/dev/null | grep Parser | grep -E -o 'alloc=[0-9]+' | cut -c7-  ) ; \
++	WithoutHaddock=$(shell '$(TEST_HC)' $(TEST_HC_OPTS) -fno-code -fforce-recomp -Wno-all -ddump-timings -O0 Fold.hs 2>/dev/null | grep Parser | grep -E -o 'alloc=[0-9]+' | cut -c7-  ) ;  \
+ 	  awk "BEGIN { ratio = ($$WithHaddock / $$WithoutHaddock); if (ratio > 1.05) {print \"-haddock allocation ratio too high:\", ratio; exit 1} else {exit 0} }"
+ 
+ # Similarly for the renamer
+ haddock_renamer_perf :
+-	WithoutHaddock=$(shell '$(TEST_HC)' $(TEST_HC_OPTS) -fno-code -fforce-recomp -Wno-all -ddump-timings -O0 Fold.hs 2>/dev/null | grep Renamer | egrep -o 'alloc=[0-9]+' | cut -c7-  ) ; \
+-	WithHaddock=$(shell '$(TEST_HC)' $(TEST_HC_OPTS) -fno-code -fforce-recomp -Wno-all -ddump-timings -haddock -O0 Fold.hs 2>/dev/null | grep Renamer | egrep -o 'alloc=[0-9]+' | cut -c7-  ) ;  \
++	WithoutHaddock=$(shell '$(TEST_HC)' $(TEST_HC_OPTS) -fno-code -fforce-recomp -Wno-all -ddump-timings -O0 Fold.hs 2>/dev/null | grep Renamer | grep -E -o 'alloc=[0-9]+' | cut -c7-  ) ; \
++	WithHaddock=$(shell '$(TEST_HC)' $(TEST_HC_OPTS) -fno-code -fforce-recomp -Wno-all -ddump-timings -haddock -O0 Fold.hs 2>/dev/null | grep Renamer | grep -E -o 'alloc=[0-9]+' | cut -c7-  ) ;  \
+ 	  awk "BEGIN { ratio = ($$WithHaddock / $$WithoutHaddock); if (ratio > 1.05) {print \"-haddock allocation ratio too high:\", ratio; exit 1} else {exit 0} }"
+diff --git a/testsuite/tests/hsc2hs/Makefile b/testsuite/tests/hsc2hs/Makefile
+index d0b2d249..95b011c8 100644
+--- a/testsuite/tests/hsc2hs/Makefile
++++ b/testsuite/tests/hsc2hs/Makefile
+@@ -52,9 +52,9 @@ T11004:
+ T12504:
+ 	'$(HSC2HS)' $(HSC2HS_OPTS) T12504/path/to/$@.hsc
+ ifeq "$(WINDOWS)" "YES"
+-	grep '{-# LINE 1 \"T12504\\\\path\\\\to\\\\$@\.hsc\" #-}' T12504/path/to/$@.hs
++	grep '{-# LINE 1 "T12504\\\\path\\\\to\\\\$@\.hsc" #-}' T12504/path/to/$@.hs
+ else
+-	grep '{-# LINE 1 \"T12504/path/to/$@\.hsc\" #-}' T12504/path/to/$@.hs
++	grep '{-# LINE 1 "T12504/path/to/$@\.hsc" #-}' T12504/path/to/$@.hs
+ endif
+ 
+ .PHONY: T15758
+diff --git a/testsuite/tests/numeric/should_run/T7014.primops b/testsuite/tests/numeric/should_run/T7014.primops
+index 3243666d..c807fb45 100644
+--- a/testsuite/tests/numeric/should_run/T7014.primops
++++ b/testsuite/tests/numeric/should_run/T7014.primops
+@@ -1,8 +1,8 @@
+ and#
+ or#
+ uncheckedShift.*#
+-\+#
+-\-#
+++#
++-#
+ \*#
+ quotInt#
+ remInt#
+diff --git a/testsuite/tests/simplCore/should_compile/Makefile b/testsuite/tests/simplCore/should_compile/Makefile
+index b5041800..c56e04f6 100644
+--- a/testsuite/tests/simplCore/should_compile/Makefile
++++ b/testsuite/tests/simplCore/should_compile/Makefile
+@@ -66,7 +66,7 @@ T13367:
+ 
+ T8832:
+ 	$(RM) -f T8832.o T8832.hi
+-	'$(TEST_HC)' $(TEST_HC_OPTS) -O -c -ddump-simpl -dsuppress-ticks T8832.hs | egrep '^[a-zA-Z0-9]+ ='
++	'$(TEST_HC)' $(TEST_HC_OPTS) -O -c -ddump-simpl -dsuppress-ticks T8832.hs | grep -E '^[a-zA-Z0-9]+ ='
+ 
+ T12603:
+ 	$(RM) -f T12603.o T12603.hi
+@@ -259,7 +259,7 @@ str-rules:
+ # g should have been collapsed into one defininition by CSE.
+ .PHONY: T13340
+ T13340:
+-	'$(TEST_HC)' $(TEST_HC_OPTS) -c -O T13340.hs -ddump-simpl -dsuppress-all | grep -c '\+#'
++	'$(TEST_HC)' $(TEST_HC_OPTS) -c -O T13340.hs -ddump-simpl -dsuppress-all | grep -c '+#'
+ 
+ 
+ # We expect to see all dictionaries specialized away.
+-- 
+2.41.0
+
-- 
2.41.0





Information forwarded to lars <at> 6xq.net, guix-patches <at> gnu.org:
bug#67921; Package guix-patches. (Fri, 07 Jun 2024 08:33:02 GMT) Full text and rfc822 format available.

Message #176 received at 67921 <at> debbugs.gnu.org (full text, mbox):

From: Saku Laesvuori <saku <at> laesvuori.fi>
To: 67921 <at> debbugs.gnu.org
Cc: Saku Laesvuori <saku <at> laesvuori.fi>
Subject: [PATCH haskell-team 07/23] gnu: Add ghc-random-bootstrap-for-9.6
Date: Fri,  7 Jun 2024 10:49:38 +0300
* gnu/packages/haskell.scm (ghc-random-bootstrap-for-9.6): New variable.

Change-Id: If1a39b27687a63a63dab5aa4c1a366a8ba78196a
---
 gnu/packages/haskell.scm | 22 ++++++++++++++++++++++
 1 file changed, 22 insertions(+)

diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm
index 3c3016f999..cb66e5d745 100644
--- a/gnu/packages/haskell.scm
+++ b/gnu/packages/haskell.scm
@@ -1729,4 +1729,26 @@ (define ghc-splitmix-bootstrap-for-9.6
 internal state).")
     (license license:bsd-3)))
 
+(define ghc-random-bootstrap-for-9.6
+  (package
+    (name "ghc-random-bootstrap")
+    (version "1.2.1.1")
+    (source (origin
+              (method url-fetch)
+              (uri (hackage-uri "random" version))
+              (sha256
+               (base32
+                "0xlv1k4sj87akwvj54kq4nrfkzi6qcz1941bf78pnkbaxpvp44iy"))))
+    (build-system haskell-build-system)
+    (properties '((upstream-name . "random")))
+    (arguments (list #:tests? #f
+                     #:haskell ghc-bootstrap-for-9.6))
+    (inputs (list ghc-splitmix-bootstrap-for-9.6))
+    (home-page "http://hackage.haskell.org/package/random")
+    (synopsis "Random number library")
+    (description
+     "This package provides a basic random number generation
+library, including the ability to split random number generators.")
+    (license license:bsd-3)))
+
 ;;; haskell.scm ends here
-- 
2.41.0





Information forwarded to guix-patches <at> gnu.org:
bug#67921; Package guix-patches. (Fri, 14 Jun 2024 13:57:02 GMT) Full text and rfc822 format available.

Message #179 received at 67921 <at> debbugs.gnu.org (full text, mbox):

From: Lars-Dominik Braun <lars <at> 6xq.net>
To: Saku Laesvuori <saku <at> laesvuori.fi>
Cc: 67921 <at> debbugs.gnu.org
Subject: Re: [bug#67921] [PATCH haskell-team 00/23] Update GHC to 9.6.5
Date: Fri, 14 Jun 2024 15:55:48 +0200
Hi,

> I didn't hear any ideas for a better solution, so here is a patch set
> with the failing tests disabled. The current haskell-team merge should
> probably be continued without this series and a new one started from
> these patches.

perhaps, instead of disabling working tests, we can just patch line
370 of testsuite/driver/runtests.py to not use a directory with
spaces? Maybe it’s just a test system failure? I tried compiling
a simple Hello World Haskell program in a directory with spaces and
that worked.

Lars





Information forwarded to guix-patches <at> gnu.org:
bug#67921; Package guix-patches. (Thu, 27 Jun 2024 20:26:02 GMT) Full text and rfc822 format available.

Message #182 received at 67921 <at> debbugs.gnu.org (full text, mbox):

From: Saku Laesvuori <saku <at> laesvuori.fi>
To: Lars-Dominik Braun <lars <at> 6xq.net>
Cc: 67921 <at> debbugs.gnu.org
Subject: Re: [bug#67921] [PATCH haskell-team 00/23] Update GHC to 9.6.5
Date: Thu, 27 Jun 2024 23:24:31 +0300
[Message part 1 (text/plain, inline)]
On Fri, Jun 14, 2024 at 03:55:48PM +0200, Lars-Dominik Braun wrote:
> Hi,
> 
> > I didn't hear any ideas for a better solution, so here is a patch set
> > with the failing tests disabled. The current haskell-team merge should
> > probably be continued without this series and a new one started from
> > these patches.
> 
> perhaps, instead of disabling working tests, we can just patch line
> 370 of testsuite/driver/runtests.py to not use a directory with
> spaces? Maybe it’s just a test system failure?

I tried patching that line with a trivial `(substitute* ... (("test
spaces") ""))` snippet and it does fix all but 7 failures. The remaining
ones could just be caused by some simple egrep vs grep -E warnings, but
I will have very little time to look into this during the next six
weeks. Anyone interested should feel free to try finalizing this series
in the meantime.

- Saku
[signature.asc (application/pgp-signature, inline)]

Information forwarded to guix-patches <at> gnu.org:
bug#67921; Package guix-patches. (Thu, 31 Oct 2024 12:52:02 GMT) Full text and rfc822 format available.

Message #185 received at 67921 <at> debbugs.gnu.org (full text, mbox):

From: Nicolas Graves <ngraves <at> ngraves.fr>
To: 67921 <at> debbugs.gnu.org
Cc: Nicolas Graves <ngraves <at> ngraves.fr>, dev <at> jpoiret.xyz, lars <at> 6xq.net,
 saku <at> laesvuori.fi
Subject: [PATCH v3 00/24] [haskell-team] GHC update.
Date: Thu, 31 Oct 2024 13:46:39 +0100
Hi!  Such a long rabbithole to update pandoc, but I think I managed to
find a way to make the last errors disappear.  It however includes a
lot of earlier GHC rebuilds, so it could be a fix added only for 9.4.8
instead of on earlier versions of GHC too.  I haven't rebuilt
everything from the ground up myself, but have tested this fix on
8.6.5.

I add Josselin to the cc loop since it's a rewrite of one of its
patches durign the last core-updates.

Nicolas Graves (1):
  gnu: ghc: More robust build with binutils ≥ 2.39.

Saku Laesvuori (23):
  gnu: ghc-next: Update to version 9.4.8
  gnu: Add ghc-js-flot-bootstrap-for-9.6
  gnu: Add ghc-clock-bootstrap-for-9.6
  gnu: Add ghc-extra-bootstrap-for-9.6
  gnu: Add ghc-hashable-bootstrap-for-9.6
  gnu: Add ghc-splitmix-bootstrap-for-9.6
  gnu: Add ghc-random-bootstrap-for-9.6
  gnu: Add ghc-primitive-bootstrap-for-9.6
  gnu: Add ghc-js-jquery-bootstrap-for-9.6
  gnu: Add ghc-utf8-string-bootstrap-for-9.6
  gnu: Add ghc-heaps-bootstrap-for-9.6
  gnu: Add ghc-js-dgtable-bootstrap-for-9.6
  gnu: Add ghc-nats-bootstrap-for-9.6
  gnu: Add ghc-tagged-bootstrap-for-9.6
  gnu: Add ghc-semigroups-bootstrap-for-9.6
  gnu: Add ghc-base16-bytestring-bootstrap-for-9.6
  gnu: Add ghc-cryptohash-sha256-bootstrap-for-9.6
  gnu: Add ghc-unordered-containers-bootstrap-for-9.6
  gnu: Add ghc-filepattern-bootstrap-for-9.6
  gnu: Add ghc-shake-bootstrap-for-9.6
  gnu: Add hadrian-for-ghc-9.6
  gnu: Add ghc-9.6
  gnu: ghc: Update to version 9.6.4

 gnu/local.mk                                  |   1 -
 gnu/packages/haskell.scm                      | 712 +++++++++++++++++-
 .../patches/ghc-9.4-testsuite-fixes.patch     | 119 +++
 .../ghc-testsuite-recomp015-execstack.patch   |  10 -
 4 files changed, 805 insertions(+), 37 deletions(-)
 create mode 100644 gnu/packages/patches/ghc-9.4-testsuite-fixes.patch
 delete mode 100644 gnu/packages/patches/ghc-testsuite-recomp015-execstack.patch

-- 
2.46.0





Information forwarded to guix-patches <at> gnu.org:
bug#67921; Package guix-patches. (Thu, 31 Oct 2024 12:52:02 GMT) Full text and rfc822 format available.

Message #188 received at 67921 <at> debbugs.gnu.org (full text, mbox):

From: Nicolas Graves <ngraves <at> ngraves.fr>
To: 67921 <at> debbugs.gnu.org
Cc: dev <at> jpoiret.xyz, lars <at> 6xq.net, saku <at> laesvuori.fi
Subject: [PATCH v3 02/24] gnu: ghc-next: Update to version 9.4.8
Date: Thu, 31 Oct 2024 13:46:41 +0100
From: Saku Laesvuori <saku <at> laesvuori.fi>

* gnu/packages/haskell.scm (ghc-9.4): Update to version 9.4.8.
[native-inputs]<ghc-testsuite>: Add a patch to fix the testsuite.
(ghc-happy-bootstrap-for-9.4): Update to version 1.20.1.1.
* gnu/packages/patches/ghc-9.4-testsuite-fixes.patch: New patch.

Change-Id: I5ef72f83e5feed1defb706bafa934077fda1553c
---
 gnu/packages/haskell.scm                      |  13 +-
 .../patches/ghc-9.4-testsuite-fixes.patch     | 119 ++++++++++++++++++
 2 files changed, 125 insertions(+), 7 deletions(-)
 create mode 100644 gnu/packages/patches/ghc-9.4-testsuite-fixes.patch

diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm
index c580c660f1..4e2875cffa 100644
--- a/gnu/packages/haskell.scm
+++ b/gnu/packages/haskell.scm
@@ -1542,14 +1542,14 @@ (define ghc-happy-bootstrap-for-9.4
   (hidden-package
     (package
      (name "ghc-happy")
-     (version "1.20.0")
+     (version "1.20.1.1")
      (source
       (origin
         (method url-fetch)
         (uri (hackage-uri "happy" version))
         (sha256
          (base32
-          "1346r2x5ravs5fqma65bzjragqbb2g6v41wz9maknwm2jf7kl79v"))))
+          "06w8g3lfk2ynrfhqznhp1mnp8a5b64lj6qviixpndzf5lv2psklb"))))
      (build-system haskell-build-system)
      (arguments
        (list #:haskell ghc-bootstrap-for-9.4
@@ -1567,15 +1567,14 @@ (define-public ghc-9.4
     (package
       (inherit base)
       (name "ghc-next")
-      (version "9.4.4")
+      (version "9.4.8")
       (source (origin
                 (method url-fetch)
                 (uri (string-append "https://www.haskell.org/ghc/dist/" version
                                     "/ghc-" version "-src.tar.xz"))
                 (sha256
                  (base32
-                  "1qk7rlqf02s3b6m6sqqngmjq1mxnrz88h159lz6k25gddmdg5kp8"))
-                (patches (search-patches "ghc-9-StgCRunAsm-only-when-needed.patch"))))
+                  "0pmqg9846lanb0hcyxhgr9ipzq33rfldxj7ln0j3qgpyczmhgx0b"))))
       (arguments
        (substitute-keyword-arguments (package-arguments base)
          ((#:phases phases '%standard-phases)
@@ -1593,8 +1592,8 @@ (define-public ghc-9.4
                     version "/ghc-" version "-testsuite.tar.xz"))
              (sha256
               (base32
-               "04p2lawxxg3nyv6frzhyjyh3arhqqyh5ka3alxa2pxhcd2hdcja3"))
-             (patches (search-patches "ghc-testsuite-recomp015-execstack.patch"))))
+               "159wsqnqpqb0pxa3zyhvyg07wxr2zz7v52h52wkplw4pn12dsidc"))
+             (patches (search-patches "ghc-9.4-testsuite-fixes.patch"))))
          ("ghc-alex" ,ghc-alex-bootstrap-for-9.4)
          ("ghc-happy" ,ghc-happy-bootstrap-for-9.4)
          ,@(filter (match-lambda
diff --git a/gnu/packages/patches/ghc-9.4-testsuite-fixes.patch b/gnu/packages/patches/ghc-9.4-testsuite-fixes.patch
new file mode 100644
index 0000000000..f394632add
--- /dev/null
+++ b/gnu/packages/patches/ghc-9.4-testsuite-fixes.patch
@@ -0,0 +1,119 @@
+From 3acd8aa948a27465cffc8e2ab56229485e2a5b98 Mon Sep 17 00:00:00 2001
+From: Saku Laesvuori <saku <at> laesvuori.fi>
+Date: Tue, 5 Dec 2023 22:49:45 +0200
+Subject: [PATCH] Fix tests
+
+* replaces egrep with grep -E
+* removes unnecessary escaping in some grep regular expressions
+* adds a missing include header to a makefile
+---
+ testsuite/tests/cabal/cabal01/Makefile                | 2 +-
+ testsuite/tests/ghci/should_run/GHCiPrimCall/Makefile | 4 ++++
+ testsuite/tests/haddock/perf/Makefile                 | 8 ++++----
+ testsuite/tests/hsc2hs/Makefile                       | 4 ++--
+ testsuite/tests/numeric/should_run/T7014.primops      | 4 ++--
+ testsuite/tests/simplCore/should_compile/Makefile     | 4 ++--
+ 6 files changed, 15 insertions(+), 11 deletions(-)
+
+diff --git a/testsuite/tests/cabal/cabal01/Makefile b/testsuite/tests/cabal/cabal01/Makefile
+index 004e4c75..6ec499c9 100644
+--- a/testsuite/tests/cabal/cabal01/Makefile
++++ b/testsuite/tests/cabal/cabal01/Makefile
+@@ -5,7 +5,7 @@ include $(TOP)/mk/test.mk
+ # Find all the env variables starting with CI_ to unset them.
+ # Otherwise, we might run into environment length limitations on Windows.
+ # (See `xargs --show-limits`.)
+-VARS_TO_UNSET := $(shell env | grep ^CI_ | egrep -o '^[^=]+')
++VARS_TO_UNSET := $(shell env | grep ^CI_ | grep -E -o '^[^=]+')
+ unexport $(VARS_TO_UNSET)
+ 
+ clean:
+diff --git a/testsuite/tests/ghci/should_run/GHCiPrimCall/Makefile b/testsuite/tests/ghci/should_run/GHCiPrimCall/Makefile
+index fd64d23f..cb669db3 100644
+--- a/testsuite/tests/ghci/should_run/GHCiPrimCall/Makefile
++++ b/testsuite/tests/ghci/should_run/GHCiPrimCall/Makefile
+@@ -1,3 +1,7 @@
++TOP=../../../..
++include $(TOP)/mk/boilerplate.mk
++include $(TOP)/mk/test.mk
++
+ .PHONY: GHCiPrimCall
+ GHCiPrimCall:
+ 	'$(TEST_HC)' $(TEST_HC_OPTS) -fPIC -v0 -c GHCiPrimCall_cmm.cmm
+diff --git a/testsuite/tests/haddock/perf/Makefile b/testsuite/tests/haddock/perf/Makefile
+index b67b52f2..ff2f7ebb 100644
+--- a/testsuite/tests/haddock/perf/Makefile
++++ b/testsuite/tests/haddock/perf/Makefile
+@@ -4,12 +4,12 @@ include $(TOP)/mk/test.mk
+ 
+ # We accept a 5% increase in parser allocations due to -haddock
+ haddock_parser_perf :
+-	WithHaddock=$(shell '$(TEST_HC)' $(TEST_HC_OPTS) -fno-code -fforce-recomp -Wno-all -ddump-timings -haddock -O0 Fold.hs 2>/dev/null | grep Parser | egrep -o 'alloc=[0-9]+' | cut -c7-  ) ; \
+-	WithoutHaddock=$(shell '$(TEST_HC)' $(TEST_HC_OPTS) -fno-code -fforce-recomp -Wno-all -ddump-timings -O0 Fold.hs 2>/dev/null | grep Parser | egrep -o 'alloc=[0-9]+' | cut -c7-  ) ;  \
++	WithHaddock=$(shell '$(TEST_HC)' $(TEST_HC_OPTS) -fno-code -fforce-recomp -Wno-all -ddump-timings -haddock -O0 Fold.hs 2>/dev/null | grep Parser | grep -E -o 'alloc=[0-9]+' | cut -c7-  ) ; \
++	WithoutHaddock=$(shell '$(TEST_HC)' $(TEST_HC_OPTS) -fno-code -fforce-recomp -Wno-all -ddump-timings -O0 Fold.hs 2>/dev/null | grep Parser | grep -E -o 'alloc=[0-9]+' | cut -c7-  ) ;  \
+ 	  awk "BEGIN { ratio = ($$WithHaddock / $$WithoutHaddock); if (ratio > 1.05) {print \"-haddock allocation ratio too high:\", ratio; exit 1} else {exit 0} }"
+ 
+ # Similarly for the renamer
+ haddock_renamer_perf :
+-	WithoutHaddock=$(shell '$(TEST_HC)' $(TEST_HC_OPTS) -fno-code -fforce-recomp -Wno-all -ddump-timings -O0 Fold.hs 2>/dev/null | grep Renamer | egrep -o 'alloc=[0-9]+' | cut -c7-  ) ; \
+-	WithHaddock=$(shell '$(TEST_HC)' $(TEST_HC_OPTS) -fno-code -fforce-recomp -Wno-all -ddump-timings -haddock -O0 Fold.hs 2>/dev/null | grep Renamer | egrep -o 'alloc=[0-9]+' | cut -c7-  ) ;  \
++	WithoutHaddock=$(shell '$(TEST_HC)' $(TEST_HC_OPTS) -fno-code -fforce-recomp -Wno-all -ddump-timings -O0 Fold.hs 2>/dev/null | grep Renamer | grep -E -o 'alloc=[0-9]+' | cut -c7-  ) ; \
++	WithHaddock=$(shell '$(TEST_HC)' $(TEST_HC_OPTS) -fno-code -fforce-recomp -Wno-all -ddump-timings -haddock -O0 Fold.hs 2>/dev/null | grep Renamer | grep -E -o 'alloc=[0-9]+' | cut -c7-  ) ;  \
+ 	  awk "BEGIN { ratio = ($$WithHaddock / $$WithoutHaddock); if (ratio > 1.05) {print \"-haddock allocation ratio too high:\", ratio; exit 1} else {exit 0} }"
+diff --git a/testsuite/tests/hsc2hs/Makefile b/testsuite/tests/hsc2hs/Makefile
+index d0b2d249..95b011c8 100644
+--- a/testsuite/tests/hsc2hs/Makefile
++++ b/testsuite/tests/hsc2hs/Makefile
+@@ -52,9 +52,9 @@ T11004:
+ T12504:
+ 	'$(HSC2HS)' $(HSC2HS_OPTS) T12504/path/to/$@.hsc
+ ifeq "$(WINDOWS)" "YES"
+-	grep '{-# LINE 1 \"T12504\\\\path\\\\to\\\\$@\.hsc\" #-}' T12504/path/to/$@.hs
++	grep '{-# LINE 1 "T12504\\\\path\\\\to\\\\$@\.hsc" #-}' T12504/path/to/$@.hs
+ else
+-	grep '{-# LINE 1 \"T12504/path/to/$@\.hsc\" #-}' T12504/path/to/$@.hs
++	grep '{-# LINE 1 "T12504/path/to/$@\.hsc" #-}' T12504/path/to/$@.hs
+ endif
+ 
+ .PHONY: T15758
+diff --git a/testsuite/tests/numeric/should_run/T7014.primops b/testsuite/tests/numeric/should_run/T7014.primops
+index 3243666d..c807fb45 100644
+--- a/testsuite/tests/numeric/should_run/T7014.primops
++++ b/testsuite/tests/numeric/should_run/T7014.primops
+@@ -1,8 +1,8 @@
+ and#
+ or#
+ uncheckedShift.*#
+-\+#
+-\-#
+++#
++-#
+ \*#
+ quotInt#
+ remInt#
+diff --git a/testsuite/tests/simplCore/should_compile/Makefile b/testsuite/tests/simplCore/should_compile/Makefile
+index b5041800..c56e04f6 100644
+--- a/testsuite/tests/simplCore/should_compile/Makefile
++++ b/testsuite/tests/simplCore/should_compile/Makefile
+@@ -66,7 +66,7 @@ T13367:
+ 
+ T8832:
+ 	$(RM) -f T8832.o T8832.hi
+-	'$(TEST_HC)' $(TEST_HC_OPTS) -O -c -ddump-simpl -dsuppress-ticks T8832.hs | egrep '^[a-zA-Z0-9]+ ='
++	'$(TEST_HC)' $(TEST_HC_OPTS) -O -c -ddump-simpl -dsuppress-ticks T8832.hs | grep -E '^[a-zA-Z0-9]+ ='
+ 
+ T12603:
+ 	$(RM) -f T12603.o T12603.hi
+@@ -259,7 +259,7 @@ str-rules:
+ # g should have been collapsed into one defininition by CSE.
+ .PHONY: T13340
+ T13340:
+-	'$(TEST_HC)' $(TEST_HC_OPTS) -c -O T13340.hs -ddump-simpl -dsuppress-all | grep -c '\+#'
++	'$(TEST_HC)' $(TEST_HC_OPTS) -c -O T13340.hs -ddump-simpl -dsuppress-all | grep -c '+#'
+ 
+ 
+ # We expect to see all dictionaries specialized away.
+-- 
+2.41.0
+
-- 
2.46.0





Information forwarded to guix-patches <at> gnu.org:
bug#67921; Package guix-patches. (Thu, 31 Oct 2024 12:53:02 GMT) Full text and rfc822 format available.

Message #191 received at 67921 <at> debbugs.gnu.org (full text, mbox):

From: Nicolas Graves <ngraves <at> ngraves.fr>
To: 67921 <at> debbugs.gnu.org
Cc: Nicolas Graves <ngraves <at> ngraves.fr>, dev <at> jpoiret.xyz, lars <at> 6xq.net,
 saku <at> laesvuori.fi
Subject: [PATCH v3 01/24] gnu: ghc: More robust build with binutils ≥ 2.39.
Date: Thu, 31 Oct 2024 13:46:40 +0100
Future versions of ghc will have more occurrences of the execstack
warning.  Instead of modifying the tests for each new version, a more
robust approach is to explicitely make ghc pass -Wl,-z,noexecstack to
its ld invocations during all tests.  This is what this patch does.

* gnu/packages/patches/ghc-testsuite-recomp015-execstack.patch: New patches.
* gnu/local.mk (disp_path_DATA): Deregister patch.
* gnu/packages/haskell.scm (ghc-8.6, ghc-8.8, ghc-9.0, ghc-9.2,
ghc-9.4): Deregister patch use. Add phase 'fix-tests-with-binutils <at> 2.39.
---
 gnu/local.mk                                  |  1 -
 gnu/packages/haskell.scm                      | 24 ++++++++++---------
 .../ghc-testsuite-recomp015-execstack.patch   | 10 --------
 3 files changed, 13 insertions(+), 22 deletions(-)
 delete mode 100644 gnu/packages/patches/ghc-testsuite-recomp015-execstack.patch

diff --git a/gnu/local.mk b/gnu/local.mk
index b0b3d2ea2b..2292577c86 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1381,7 +1381,6 @@ dist_patch_DATA =						\
   %D%/packages/patches/ghc-basement-fix-32-bit.patch		\
   %D%/packages/patches/ghc-testsuite-dlopen-pie.patch		\
   %D%/packages/patches/ghc-testsuite-grep-compat.patch		\
-  %D%/packages/patches/ghc-testsuite-recomp015-execstack.patch	\
   %D%/packages/patches/ghc-aeson-encodeDouble.patch		\
   %D%/packages/patches/ghc-basement-fix-32bit.patch		\
   %D%/packages/patches/ghc-bytestring-handle-ghc9.patch	\
diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm
index 10803f5afe..c580c660f1 100644
--- a/gnu/packages/haskell.scm
+++ b/gnu/packages/haskell.scm
@@ -1174,8 +1174,7 @@ (define-public ghc-8.6
                  "https://www.haskell.org/ghc/dist/"
                  version "/" name "-" version "-testsuite.tar.xz"))
            (patches (search-patches "ghc-testsuite-dlopen-pie.patch"
-                                    "ghc-testsuite-grep-compat.patch"
-                                    "ghc-testsuite-recomp015-execstack.patch"))
+                                    "ghc-testsuite-grep-compat.patch"))
            (sha256
             (base32
              "0pw9r91g2np3i806g2f4f8z4jfdd7mx226cmdizk4swa7av1qf91"))
@@ -1229,7 +1228,14 @@ (define-public ghc-8.6
                (substitute* "libraries/unix/tests/all.T"
                  (("^test\\('T8108'") "# guix skipped: test('T8108'"))
                (substitute* "libraries/unix/tests/libposix/all.T"
-                 (("^test\\('posix010'") "# guix skipped: test('posix010'"))))))))
+                 (("^test\\('posix010'") "# guix skipped: test('posix010'"))))
+           ;; binutils <at> 2.39 warns for execstack deprecation by default, causing
+           ;; some tests to fail ; explicitely disable during linking instead.
+           (add-after 'unpack-testsuite 'fix-tests-with-binutils <at> 2.39
+             (lambda _
+               (substitute* "testsuite/mk/test.mk"
+                 (("^TEST_HC_OPTS = ")
+                  "TEST_HC_OPTS = -optl -Wl,-z,noexecstack "))))))))
     (native-search-paths (list (search-path-specification
                                 (variable "GHC_PACKAGE_PATH")
                                 (files (list
@@ -1257,8 +1263,7 @@ (define-public ghc-8.8
                  "https://www.haskell.org/ghc/dist/"
                  version "/ghc-" version "-testsuite.tar.xz"))
            (patches (search-patches "ghc-testsuite-dlopen-pie.patch"
-                                    "ghc-testsuite-grep-compat.patch"
-                                    "ghc-testsuite-recomp015-execstack.patch"))
+                                    "ghc-testsuite-grep-compat.patch"))
            (sha256
             (base32
              "0c55pj2820q26rikhpf636sn4mjgqsxjrl94vsywrh79dxp3k14z"))
@@ -1317,8 +1322,7 @@ (define-public ghc-8.10
                  "https://www.haskell.org/ghc/dist/"
                  version "/ghc-" version "-testsuite.tar.xz"))
            (patches (search-patches "ghc-testsuite-dlopen-pie.patch"
-                                    "ghc-testsuite-grep-compat.patch"
-                                    "ghc-testsuite-recomp015-execstack.patch"))
+                                    "ghc-testsuite-grep-compat.patch"))
            (sha256
             (base32
              "1zl25gg6bpx5601k8h3cqnns1xfc0nqgwnh8jvn2s65ra3f2g1nz"))
@@ -1415,8 +1419,7 @@ (define-public ghc-9.0
            (sha256
             (base32
              "1m5fzhr4gjn9ni8gxx7ag3fkbw1rspjzgv39mnfb0nkm5mw70v3s"))
-           (patches (search-patches "ghc-9.2-grep-warnings.patch"
-                                    "ghc-testsuite-recomp015-execstack.patch"))
+           (patches (search-patches "ghc-9.2-grep-warnings.patch"))
            (modules '((guix build utils)))
            (snippet
             ;; collections.Iterable was moved to collections.abc in Python 3.10.
@@ -1481,8 +1484,7 @@ (define-public ghc-9.2
              (sha256
               (base32
                "0cmmwhcwv9fjzvmgjj85d354858qqbmqfzaz5160xqj4yl9zk225"))
-             (patches (search-patches "ghc-9.2-grep-warnings.patch"
-                                      "ghc-testsuite-recomp015-execstack.patch"))))
+             (patches (search-patches "ghc-9.2-grep-warnings.patch"))))
          ,@(filter (match-lambda
                      (("ghc-bootstrap" . _) #f)
                      (("ghc-testsuite" . _) #f)
diff --git a/gnu/packages/patches/ghc-testsuite-recomp015-execstack.patch b/gnu/packages/patches/ghc-testsuite-recomp015-execstack.patch
deleted file mode 100644
index cdaf5b180d..0000000000
--- a/gnu/packages/patches/ghc-testsuite-recomp015-execstack.patch
+++ /dev/null
@@ -1,10 +0,0 @@
---- a/testsuite/tests/driver/recomp015/Makefile   2024-01-13 16:22:42.643106725 +0100
-+++ b/testsuite/tests/driver/recomp015/Makefile   2024-01-13 16:23:18.406867917 +0100
-@@ -26,6 +26,7 @@
- 	# number of sections)
- 	'$(TEST_HC)' $(TEST_HC_OPTS) Generate.hs
- 	./Generate > ManySections.s
-+	echo '.section .note.GNU-stack,"",@progbits' > ManySections.s
- 	echo 'main = putStrLn "Running main..."' > Main.hs
- 	'$(TEST_HC)' $(TEST_HC_OPTS) -c ManySections.s
- 	'$(TEST_HC)' $(TEST_HC_OPTS) --make -O Main.hs ManySections.o
-- 
2.46.0





Information forwarded to guix-patches <at> gnu.org:
bug#67921; Package guix-patches. (Thu, 31 Oct 2024 12:53:02 GMT) Full text and rfc822 format available.

Message #194 received at 67921 <at> debbugs.gnu.org (full text, mbox):

From: Nicolas Graves <ngraves <at> ngraves.fr>
To: 67921 <at> debbugs.gnu.org
Cc: dev <at> jpoiret.xyz, lars <at> 6xq.net, saku <at> laesvuori.fi
Subject: [PATCH v3 03/24] gnu: Add ghc-js-flot-bootstrap-for-9.6
Date: Thu, 31 Oct 2024 13:46:42 +0100
From: Saku Laesvuori <saku <at> laesvuori.fi>

* gnu/packages/haskell.scm (ghc-js-flot-bootstrap-for-9.6): New
  variable.

Change-Id: Ie01768c263084a3aa38b7120de832913a80fc99a
---
 gnu/packages/haskell.scm | 30 ++++++++++++++++++++++++++++++
 1 file changed, 30 insertions(+)

diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm
index 4e2875cffa..05be1c019a 100644
--- a/gnu/packages/haskell.scm
+++ b/gnu/packages/haskell.scm
@@ -1608,4 +1608,34 @@ (define-public ghc-9.4
               (file-pattern ".*\\.conf\\.d$")
               (file-type 'directory)))))))
 
+;;; Bootstrap packages for hadrian, the new GHC build system
+
+(define ghc-bootstrap-for-9.6 ghc-9.4)
+
+(define ghc-js-flot-bootstrap-for-9.6
+  (package
+    (name "ghc-js-flot-bootstrap")
+    (version "0.8.3")
+    (source
+     (origin
+       (method url-fetch)
+       (uri
+        (hackage-uri "js-flot" version))
+       (sha256
+        (base32
+         "0yjyzqh3qzhy5h3nql1fckw0gcfb0f4wj9pm85nafpfqp2kg58hv"))))
+    (build-system haskell-build-system)
+    (arguments (list #:tests? #f
+                     #:haskell ghc-bootstrap-for-9.6))
+    (properties '((upstream-name . "js-flot")))
+    (home-page "https://github.com/ndmitchell/js-flot")
+    (synopsis "Obtain minified flot code")
+    (description "This package bundles the minified
+@url{http://www.flotcharts.org/, Flot} code (a jQuery plotting library)
+into a Haskell package, so it can be depended upon by Cabal packages.
+The first three components of the version number match the upstream flot
+version.  The package is designed to meet the redistribution
+requirements of downstream users (e.g. Debian).")
+    (license license:expat)))
+
 ;;; haskell.scm ends here
-- 
2.46.0





Information forwarded to guix-patches <at> gnu.org:
bug#67921; Package guix-patches. (Thu, 31 Oct 2024 12:53:02 GMT) Full text and rfc822 format available.

Message #197 received at 67921 <at> debbugs.gnu.org (full text, mbox):

From: Nicolas Graves <ngraves <at> ngraves.fr>
To: 67921 <at> debbugs.gnu.org
Cc: dev <at> jpoiret.xyz, lars <at> 6xq.net, saku <at> laesvuori.fi
Subject: [PATCH v3 04/24] gnu: Add ghc-clock-bootstrap-for-9.6
Date: Thu, 31 Oct 2024 13:46:43 +0100
From: Saku Laesvuori <saku <at> laesvuori.fi>

* gnu/packages/haskell.scm (ghc-clock-bootstrap-for-9.6): New
  variable.

Change-Id: I78d0997ee749a0c1725490c99308dcd1dc5bfbe5
---
 gnu/packages/haskell.scm | 21 +++++++++++++++++++++
 1 file changed, 21 insertions(+)

diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm
index 05be1c019a..8cfbeed186 100644
--- a/gnu/packages/haskell.scm
+++ b/gnu/packages/haskell.scm
@@ -1638,4 +1638,25 @@ (define ghc-js-flot-bootstrap-for-9.6
 requirements of downstream users (e.g. Debian).")
     (license license:expat)))
 
+(define ghc-clock-bootstrap-for-9.6
+  (package
+    (name "ghc-clock-bootstrap")
+    (version "0.8.3")
+    (source (origin
+              (method url-fetch)
+              (uri (hackage-uri "clock" version))
+              (sha256
+               (base32
+                "1l850pf1dxjf3i15wc47d64gzkpzgvw0bq13fd8zvklq9kdyap44"))))
+    (build-system haskell-build-system)
+    (properties '((upstream-name . "clock")))
+    (arguments (list #:tests? #f
+                     #:haskell ghc-bootstrap-for-9.6))
+    (home-page "https://github.com/corsis/clock")
+    (synopsis "High-resolution clock for Haskell")
+    (description
+     "A package for convenient access to high-resolution clock and
+timer functions of different operating systems via a unified API.")
+    (license license:bsd-3)))
+
 ;;; haskell.scm ends here
-- 
2.46.0





Information forwarded to guix-patches <at> gnu.org:
bug#67921; Package guix-patches. (Thu, 31 Oct 2024 12:53:03 GMT) Full text and rfc822 format available.

Message #200 received at 67921 <at> debbugs.gnu.org (full text, mbox):

From: Nicolas Graves <ngraves <at> ngraves.fr>
To: 67921 <at> debbugs.gnu.org
Cc: dev <at> jpoiret.xyz, lars <at> 6xq.net, saku <at> laesvuori.fi
Subject: [PATCH v3 05/24] gnu: Add ghc-extra-bootstrap-for-9.6
Date: Thu, 31 Oct 2024 13:46:44 +0100
From: Saku Laesvuori <saku <at> laesvuori.fi>

* gnu/packages/haskell.scm (ghc-extra-bootstrap-for-9.6): New
  variable.

Change-Id: I73f1bd1a821bb01fc9d081c78313e583ce8fab6b
---
 gnu/packages/haskell.scm | 24 ++++++++++++++++++++++++
 1 file changed, 24 insertions(+)

diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm
index 8cfbeed186..22fa3614ea 100644
--- a/gnu/packages/haskell.scm
+++ b/gnu/packages/haskell.scm
@@ -1638,6 +1638,30 @@ (define ghc-js-flot-bootstrap-for-9.6
 requirements of downstream users (e.g. Debian).")
     (license license:expat)))
 
+(define ghc-extra-bootstrap-for-9.6
+  (package
+    (name "ghc-extra-bootstrap")
+    (version "1.7.12")
+    (source (origin
+              (method url-fetch)
+              (uri (hackage-uri "extra" version))
+              (sha256
+               (base32
+                "0g5h8fp0nq4k9asiknw0bhvb10zpfnsixfp0n3xz0rc83pnajwg5"))))
+    (build-system haskell-build-system)
+    (properties '((upstream-name . "extra")))
+    (arguments (list #:tests? #f
+                     #:haskell ghc-bootstrap-for-9.6))
+    (inputs (list ghc-clock-bootstrap-for-9.6))
+    (home-page "https://github.com/ndmitchell/extra#readme")
+    (synopsis "Extra Haskell functions")
+    (description
+     "This library provides extra functions for the standard
+Haskell libraries.  Most functions are simple additions, filling out missing
+functionality.  A few functions are available in later versions of GHC, but
+this package makes them available back to GHC 7.2.")
+    (license license:bsd-3)))
+
 (define ghc-clock-bootstrap-for-9.6
   (package
     (name "ghc-clock-bootstrap")
-- 
2.46.0





Information forwarded to guix-patches <at> gnu.org:
bug#67921; Package guix-patches. (Thu, 31 Oct 2024 12:53:04 GMT) Full text and rfc822 format available.

Message #203 received at 67921 <at> debbugs.gnu.org (full text, mbox):

From: Nicolas Graves <ngraves <at> ngraves.fr>
To: 67921 <at> debbugs.gnu.org
Cc: dev <at> jpoiret.xyz, lars <at> 6xq.net, saku <at> laesvuori.fi
Subject: [PATCH v3 06/24] gnu: Add ghc-hashable-bootstrap-for-9.6
Date: Thu, 31 Oct 2024 13:46:45 +0100
From: Saku Laesvuori <saku <at> laesvuori.fi>

* gnu/packages/haskell.scm (ghc-hashable-bootstrap-for-9.6): New
  variable.

Change-Id: Id96f7df459a3db56747cd4204b32b7ad253139a4
---
 gnu/packages/haskell.scm | 23 +++++++++++++++++++++++
 1 file changed, 23 insertions(+)

diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm
index 22fa3614ea..c1a1fa190c 100644
--- a/gnu/packages/haskell.scm
+++ b/gnu/packages/haskell.scm
@@ -1683,4 +1683,27 @@ (define ghc-clock-bootstrap-for-9.6
 timer functions of different operating systems via a unified API.")
     (license license:bsd-3)))
 
+(define ghc-hashable-bootstrap-for-9.6
+  (package
+    (name "ghc-hashable-bootstrap")
+    (version "1.4.1.0")
+    (source (origin
+              (method url-fetch)
+              (uri (hackage-uri "hashable" version))
+              (sha256
+               (base32
+                "11sycr73821amdz8g0k8c97igi4z7f9xdvgaxlkxhsp6h310bcz1"))))
+    (build-system haskell-build-system)
+    (properties '((upstream-name . "hashable")))
+    (arguments (list #:tests? #f
+                     #:haskell ghc-bootstrap-for-9.6))
+    (home-page "http://github.com/haskell-unordered-containers/hashable")
+    (synopsis "Class for types that can be converted to a hash value")
+    (description
+     "This package defines a class, @code{Hashable}, for types that can be
+converted to a hash value.  This class exists for the benefit of hashing-based
+data structures.  The package provides instances for basic types and a way to
+combine hash values.")
+    (license license:bsd-3)))
+
 ;;; haskell.scm ends here
-- 
2.46.0





Information forwarded to guix-patches <at> gnu.org:
bug#67921; Package guix-patches. (Thu, 31 Oct 2024 12:53:04 GMT) Full text and rfc822 format available.

Message #206 received at 67921 <at> debbugs.gnu.org (full text, mbox):

From: Nicolas Graves <ngraves <at> ngraves.fr>
To: 67921 <at> debbugs.gnu.org
Cc: dev <at> jpoiret.xyz, lars <at> 6xq.net, saku <at> laesvuori.fi
Subject: [PATCH v3 07/24] gnu: Add ghc-splitmix-bootstrap-for-9.6
Date: Thu, 31 Oct 2024 13:46:46 +0100
From: Saku Laesvuori <saku <at> laesvuori.fi>

* gnu/packages/haskell.scm (ghc-splitmix-bootstrap-for-9.6): New
  variable.

Change-Id: I65584aa893975015dc44491b120636844af801de
---
 gnu/packages/haskell.scm | 32 ++++++++++++++++++++++++++++++++
 1 file changed, 32 insertions(+)

diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm
index c1a1fa190c..f93e3bf6c7 100644
--- a/gnu/packages/haskell.scm
+++ b/gnu/packages/haskell.scm
@@ -1706,4 +1706,36 @@ (define ghc-hashable-bootstrap-for-9.6
 combine hash values.")
     (license license:bsd-3)))
 
+(define ghc-splitmix-bootstrap-for-9.6
+  (package
+    (name "ghc-splitmix-bootstrap")
+    (version "0.1.0.5")
+    (source (origin
+              (method url-fetch)
+              (uri (hackage-uri "splitmix" version))
+              (sha256
+               (base32
+                "00ihw7vji8ydik7f5lk9iwj21j829lpl22wa4nqz2igg26b7mw4x"))))
+    (build-system haskell-build-system)
+    (properties '((upstream-name . "splitmix")))
+    (arguments
+     `(#:tests? #f
+       #:haskell ,ghc-bootstrap-for-9.6))
+    (home-page "http://hackage.haskell.org/package/splitmix")
+    (synopsis "Fast and splittable pseudorandom number generator")
+    (description
+     "This package provides a Pure Haskell implementation of the
+SplitMix pseudorandom number generator.  SplitMix is a \"splittable\"
+pseudorandom number generator that is quite fast: 9 64-bit
+arithmetic/logical operations per 64 bits generated.  SplitMix is tested
+with two standard statistical test suites (DieHarder and TestU01, this
+implementation only using the former) and it appears to be adequate for
+\"everyday\" use, such as Monte Carlo algorithms and randomized data
+structures where speed is important.  In particular, it @strong{should not
+be used for cryptographic or security applications}, because generated
+sequences of pseudorandom values are too predictable (the mixing functions
+are easily inverted, and two successive outputs suffice to reconstruct the
+internal state).")
+    (license license:bsd-3)))
+
 ;;; haskell.scm ends here
-- 
2.46.0





Information forwarded to guix-patches <at> gnu.org:
bug#67921; Package guix-patches. (Thu, 31 Oct 2024 12:53:05 GMT) Full text and rfc822 format available.

Message #209 received at 67921 <at> debbugs.gnu.org (full text, mbox):

From: Nicolas Graves <ngraves <at> ngraves.fr>
To: 67921 <at> debbugs.gnu.org
Cc: dev <at> jpoiret.xyz, lars <at> 6xq.net, saku <at> laesvuori.fi
Subject: [PATCH v3 08/24] gnu: Add ghc-random-bootstrap-for-9.6
Date: Thu, 31 Oct 2024 13:46:47 +0100
From: Saku Laesvuori <saku <at> laesvuori.fi>

* gnu/packages/haskell.scm (ghc-random-bootstrap-for-9.6): New variable.

Change-Id: If1a39b27687a63a63dab5aa4c1a366a8ba78196a
---
 gnu/packages/haskell.scm | 22 ++++++++++++++++++++++
 1 file changed, 22 insertions(+)

diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm
index f93e3bf6c7..2d50113d64 100644
--- a/gnu/packages/haskell.scm
+++ b/gnu/packages/haskell.scm
@@ -1738,4 +1738,26 @@ (define ghc-splitmix-bootstrap-for-9.6
 internal state).")
     (license license:bsd-3)))
 
+(define ghc-random-bootstrap-for-9.6
+  (package
+    (name "ghc-random-bootstrap")
+    (version "1.2.1.1")
+    (source (origin
+              (method url-fetch)
+              (uri (hackage-uri "random" version))
+              (sha256
+               (base32
+                "0xlv1k4sj87akwvj54kq4nrfkzi6qcz1941bf78pnkbaxpvp44iy"))))
+    (build-system haskell-build-system)
+    (properties '((upstream-name . "random")))
+    (arguments (list #:tests? #f
+                     #:haskell ghc-bootstrap-for-9.6))
+    (inputs (list ghc-splitmix-bootstrap-for-9.6))
+    (home-page "http://hackage.haskell.org/package/random")
+    (synopsis "Random number library")
+    (description
+     "This package provides a basic random number generation
+library, including the ability to split random number generators.")
+    (license license:bsd-3)))
+
 ;;; haskell.scm ends here
-- 
2.46.0





Information forwarded to guix-patches <at> gnu.org:
bug#67921; Package guix-patches. (Thu, 31 Oct 2024 12:53:05 GMT) Full text and rfc822 format available.

Message #212 received at 67921 <at> debbugs.gnu.org (full text, mbox):

From: Nicolas Graves <ngraves <at> ngraves.fr>
To: 67921 <at> debbugs.gnu.org
Cc: dev <at> jpoiret.xyz, lars <at> 6xq.net, saku <at> laesvuori.fi
Subject: [PATCH v3 09/24] gnu: Add ghc-primitive-bootstrap-for-9.6
Date: Thu, 31 Oct 2024 13:46:48 +0100
From: Saku Laesvuori <saku <at> laesvuori.fi>

* gnu/packages/haskell.scm (ghc-primitive-bootstrap-for-9.6): New
  variable.

Change-Id: I393ff5f57862de0c6da118a803ed6f898adcf0cb
---
 gnu/packages/haskell.scm | 23 +++++++++++++++++++++++
 1 file changed, 23 insertions(+)

diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm
index 2d50113d64..a241e9253f 100644
--- a/gnu/packages/haskell.scm
+++ b/gnu/packages/haskell.scm
@@ -1760,4 +1760,27 @@ (define ghc-random-bootstrap-for-9.6
 library, including the ability to split random number generators.")
     (license license:bsd-3)))
 
+(define ghc-primitive-bootstrap-for-9.6
+  (package
+    (name "ghc-primitive-bootstrap")
+    (version "0.8.0.0")
+    (source (origin
+              (method url-fetch)
+              (uri (hackage-uri "primitive" version))
+              (sha256
+               (base32
+                "0pwr5g3bra5m2zjm14pj98klqj2qrjcfasgd3rcrp7vq98dw4lsm"))))
+    (build-system haskell-build-system)
+    (properties '((upstream-name . "primitive")))
+    (arguments
+     `(#:tests? #f
+       #:haskell ,ghc-bootstrap-for-9.6
+       #:cabal-revision ("1"
+                         "0w1nf0rabgyk5q7ccw7va1mj6k50lswvikhi6vr2myb1dvx4bzyh")))
+    (home-page "https://github.com/haskell/primitive")
+    (synopsis "Primitive memory-related operations")
+    (description
+     "This package provides various primitive memory-related operations.")
+    (license license:bsd-3)))
+
 ;;; haskell.scm ends here
-- 
2.46.0





Information forwarded to guix-patches <at> gnu.org:
bug#67921; Package guix-patches. (Thu, 31 Oct 2024 12:53:06 GMT) Full text and rfc822 format available.

Message #215 received at 67921 <at> debbugs.gnu.org (full text, mbox):

From: Nicolas Graves <ngraves <at> ngraves.fr>
To: 67921 <at> debbugs.gnu.org
Cc: dev <at> jpoiret.xyz, lars <at> 6xq.net, saku <at> laesvuori.fi
Subject: [PATCH v3 10/24] gnu: Add ghc-js-jquery-bootstrap-for-9.6
Date: Thu, 31 Oct 2024 13:46:49 +0100
From: Saku Laesvuori <saku <at> laesvuori.fi>

* gnu/packages/haskell.scm (ghc-js-jquery-bootstrap-for-9.6): New
  variable.

Change-Id: I579efb04ad665f0938e24a9656f959abdd27905e
---
 gnu/packages/haskell.scm | 26 ++++++++++++++++++++++++++
 1 file changed, 26 insertions(+)

diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm
index a241e9253f..fbca58286c 100644
--- a/gnu/packages/haskell.scm
+++ b/gnu/packages/haskell.scm
@@ -1760,6 +1760,32 @@ (define ghc-random-bootstrap-for-9.6
 library, including the ability to split random number generators.")
     (license license:bsd-3)))
 
+(define ghc-js-jquery-bootstrap-for-9.6
+  (package
+    (name "ghc-js-jquery-bootstrap")
+    (version "3.3.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri
+        (hackage-uri "js-jquery" version))
+       (sha256
+        (base32
+         "16q68jzbs7kp07dnq8cprdcc8fd41rim38039vg0w4x11lgniq70"))))
+    (build-system haskell-build-system)
+    (properties '((upstream-name . "js-jquery")))
+    (arguments `(#:tests? #f
+                 #:haskell ,ghc-bootstrap-for-9.6))
+    (home-page "https://github.com/ndmitchell/js-jquery")
+    (synopsis "Obtain minified jQuery code")
+    (description "This package bundles the minified
+@url{http://jquery.com/, jQuery} code into a Haskell package, so it can
+be depended upon by Cabal packages.  The first three components of the
+version number match the upstream jQuery version.  The package is
+designed to meet the redistribution requirements of downstream
+users (e.g. Debian).")
+    (license license:expat)))
+
 (define ghc-primitive-bootstrap-for-9.6
   (package
     (name "ghc-primitive-bootstrap")
-- 
2.46.0





Information forwarded to guix-patches <at> gnu.org:
bug#67921; Package guix-patches. (Thu, 31 Oct 2024 12:53:06 GMT) Full text and rfc822 format available.

Message #218 received at 67921 <at> debbugs.gnu.org (full text, mbox):

From: Nicolas Graves <ngraves <at> ngraves.fr>
To: 67921 <at> debbugs.gnu.org
Cc: dev <at> jpoiret.xyz, lars <at> 6xq.net, saku <at> laesvuori.fi
Subject: [PATCH v3 11/24] gnu: Add ghc-utf8-string-bootstrap-for-9.6
Date: Thu, 31 Oct 2024 13:46:50 +0100
From: Saku Laesvuori <saku <at> laesvuori.fi>

* gnu/packages/haskell.scm (ghc-utf8-string-bootstrap-for-9.6): New
  variable.

Change-Id: Iea2ba4d3202195a54b71037882352cdac9415901
---
 gnu/packages/haskell.scm | 22 ++++++++++++++++++++++
 1 file changed, 22 insertions(+)

diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm
index fbca58286c..c5224aee1e 100644
--- a/gnu/packages/haskell.scm
+++ b/gnu/packages/haskell.scm
@@ -1760,6 +1760,28 @@ (define ghc-random-bootstrap-for-9.6
 library, including the ability to split random number generators.")
     (license license:bsd-3)))
 
+(define ghc-utf8-string-bootstrap-for-9.6
+  (package
+    (name "ghc-utf8-string-bootstrap")
+    (version "1.0.2")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (hackage-uri "utf8-string" version))
+       (sha256
+        (base32 "16mh36ffva9rh6k37bi1046pgpj14h0cnmj1iir700v0lynxwj7f"))))
+    (build-system haskell-build-system)
+    (properties '((upstream-name . "utf8-string")))
+    (arguments `(#:tests? #f
+                 #:haskell ,ghc-bootstrap-for-9.6))
+    (home-page "https://github.com/glguy/utf8-string/")
+    (synopsis "Support for reading and writing UTF8 Strings")
+    (description
+     "A UTF8 layer for Strings.  The utf8-string package provides operations
+for encoding UTF8 strings to Word8 lists and back, and for reading and writing
+UTF8 without truncation.")
+    (license license:bsd-3)))
+
 (define ghc-js-jquery-bootstrap-for-9.6
   (package
     (name "ghc-js-jquery-bootstrap")
-- 
2.46.0





Information forwarded to guix-patches <at> gnu.org:
bug#67921; Package guix-patches. (Thu, 31 Oct 2024 12:53:07 GMT) Full text and rfc822 format available.

Message #221 received at 67921 <at> debbugs.gnu.org (full text, mbox):

From: Nicolas Graves <ngraves <at> ngraves.fr>
To: 67921 <at> debbugs.gnu.org
Cc: dev <at> jpoiret.xyz, lars <at> 6xq.net, saku <at> laesvuori.fi
Subject: [PATCH v3 12/24] gnu: Add ghc-heaps-bootstrap-for-9.6
Date: Thu, 31 Oct 2024 13:46:51 +0100
From: Saku Laesvuori <saku <at> laesvuori.fi>

* gnu/packages/haskell.scm (ghc-heaps-bootstrap-for-9.6): New variable.

Change-Id: Ib04a47d3eacba415fd44cd532c18c02f8d9cf40b
---
 gnu/packages/haskell.scm | 21 +++++++++++++++++++++
 1 file changed, 21 insertions(+)

diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm
index c5224aee1e..ab770be456 100644
--- a/gnu/packages/haskell.scm
+++ b/gnu/packages/haskell.scm
@@ -1760,6 +1760,27 @@ (define ghc-random-bootstrap-for-9.6
 library, including the ability to split random number generators.")
     (license license:bsd-3)))
 
+(define ghc-heaps-bootstrap-for-9.6
+  (package
+    (name "ghc-heaps-bootstrap")
+    (version "0.4")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (hackage-uri "heaps" version))
+       (sha256
+        (base32 "1zbw0qrlnhb42v04phzwmizbpwg21wnpl7p4fbr9xsasp7w9scl9"))))
+    (build-system haskell-build-system)
+    (properties '((upstream-name . "heaps")))
+    (arguments (list #:haskell ghc-bootstrap-for-9.6))
+    (home-page "http://github.com/ekmett/heaps/")
+    (synopsis "Asymptotically optimal Brodal/Okasaki heaps.")
+    (description
+     "Asymptotically optimal Brodal\\/Okasaki bootstrapped skew-binomial heaps from the
+paper <http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.48.973 \"Optimal
+Purely Functional Priority Queues\">, extended with a Foldable interface.")
+    (license license:bsd-3)))
+
 (define ghc-utf8-string-bootstrap-for-9.6
   (package
     (name "ghc-utf8-string-bootstrap")
-- 
2.46.0





Information forwarded to guix-patches <at> gnu.org:
bug#67921; Package guix-patches. (Thu, 31 Oct 2024 12:53:08 GMT) Full text and rfc822 format available.

Message #224 received at 67921 <at> debbugs.gnu.org (full text, mbox):

From: Nicolas Graves <ngraves <at> ngraves.fr>
To: 67921 <at> debbugs.gnu.org
Cc: dev <at> jpoiret.xyz, lars <at> 6xq.net, saku <at> laesvuori.fi
Subject: [PATCH v3 14/24] gnu: Add ghc-nats-bootstrap-for-9.6
Date: Thu, 31 Oct 2024 13:46:53 +0100
From: Saku Laesvuori <saku <at> laesvuori.fi>

* gnu/packages/haskell.scm (ghc-nats-bootstrap-for-9.6): New variable.

Change-Id: I57351e88ba0bc52e7fd5fefc5c3006f63925fd86
---
 gnu/packages/haskell.scm | 22 ++++++++++++++++++++++
 1 file changed, 22 insertions(+)

diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm
index 6c2fd8bdd5..a7e8cc93ef 100644
--- a/gnu/packages/haskell.scm
+++ b/gnu/packages/haskell.scm
@@ -1760,6 +1760,28 @@ (define ghc-random-bootstrap-for-9.6
 library, including the ability to split random number generators.")
     (license license:bsd-3)))
 
+(define ghc-nats-bootstrap-for-9.6
+  (package
+    (name "ghc-nats-bootstrap")
+    (version "1.1.2")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (hackage-uri "nats" version))
+       (sha256
+        (base32
+         "1v40drmhixck3pz3mdfghamh73l4rp71mzcviipv1y8jhrfxilmr"))))
+    (build-system haskell-build-system)
+    (properties '((upstream-name . "nats")))
+    (arguments `(#:haddock? #f
+                 #:haskell ,ghc-bootstrap-for-9.6))
+    (inputs
+     (list ghc-hashable-bootstrap-for-9.6))
+    (home-page "https://hackage.haskell.org/package/nats")
+    (synopsis "Natural numbers")
+    (description "This library provides the natural numbers for Haskell.")
+    (license license:bsd-3)))
+
 (define ghc-js-dgtable-bootstrap-for-9.6
   (package
     (name "ghc-js-dgtable-bootstrap")
-- 
2.46.0





Information forwarded to guix-patches <at> gnu.org:
bug#67921; Package guix-patches. (Thu, 31 Oct 2024 12:53:08 GMT) Full text and rfc822 format available.

Message #227 received at 67921 <at> debbugs.gnu.org (full text, mbox):

From: Nicolas Graves <ngraves <at> ngraves.fr>
To: 67921 <at> debbugs.gnu.org
Cc: dev <at> jpoiret.xyz, lars <at> 6xq.net, saku <at> laesvuori.fi
Subject: [PATCH v3 13/24] gnu: Add ghc-js-dgtable-bootstrap-for-9.6
Date: Thu, 31 Oct 2024 13:46:52 +0100
From: Saku Laesvuori <saku <at> laesvuori.fi>

* gnu/packages/haskell.scm (ghc-js-dgtable-bootstrap-for-9.6): New
  variable.

Change-Id: Ic7e9e6c584e4fb8830ec55288759796271822964
---
 gnu/packages/haskell.scm | 23 +++++++++++++++++++++++
 1 file changed, 23 insertions(+)

diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm
index ab770be456..6c2fd8bdd5 100644
--- a/gnu/packages/haskell.scm
+++ b/gnu/packages/haskell.scm
@@ -1760,6 +1760,29 @@ (define ghc-random-bootstrap-for-9.6
 library, including the ability to split random number generators.")
     (license license:bsd-3)))
 
+(define ghc-js-dgtable-bootstrap-for-9.6
+  (package
+    (name "ghc-js-dgtable-bootstrap")
+    (version "0.5.2")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (hackage-uri "js-dgtable" version))
+       (sha256
+        (base32 "1b10kx703kbkb5q1ggdpqcrxqjb33kh24khk21rb30w0xrdxd3g2"))))
+    (build-system haskell-build-system)
+    (properties '((upstream-name . "js-dgtable")))
+    (arguments (list #:haskell ghc-bootstrap-for-9.6))
+    (home-page "https://github.com/ndmitchell/js-dgtable#readme")
+    (synopsis "Obtain minified jquery.dgtable code")
+    (description
+     "This package bundles the minified <https://github.com/danielgindi/jquery.dgtable
+jquery.dgtable> code into a Haskell package, so it can be depended upon by Cabal
+packages.  The first three components of the version number match the upstream
+jquery.dgtable version.  The package is designed to meet the redistribution
+requirements of downstream users (e.g. Debian).")
+    (license license:expat)))
+
 (define ghc-heaps-bootstrap-for-9.6
   (package
     (name "ghc-heaps-bootstrap")
-- 
2.46.0





Information forwarded to guix-patches <at> gnu.org:
bug#67921; Package guix-patches. (Thu, 31 Oct 2024 12:53:09 GMT) Full text and rfc822 format available.

Message #230 received at 67921 <at> debbugs.gnu.org (full text, mbox):

From: Nicolas Graves <ngraves <at> ngraves.fr>
To: 67921 <at> debbugs.gnu.org
Cc: dev <at> jpoiret.xyz, lars <at> 6xq.net, saku <at> laesvuori.fi
Subject: [PATCH v3 15/24] gnu: Add ghc-tagged-bootstrap-for-9.6
Date: Thu, 31 Oct 2024 13:46:54 +0100
From: Saku Laesvuori <saku <at> laesvuori.fi>

* gnu/packages/haskell.scm (ghc-tagged-bootstrap-for-9.6): New variable.

Change-Id: Ifd3996a62cfa33d155315807d4ead706f7e64452
---
 gnu/packages/haskell.scm | 20 ++++++++++++++++++++
 1 file changed, 20 insertions(+)

diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm
index a7e8cc93ef..d59f9d7133 100644
--- a/gnu/packages/haskell.scm
+++ b/gnu/packages/haskell.scm
@@ -1760,6 +1760,26 @@ (define ghc-random-bootstrap-for-9.6
 library, including the ability to split random number generators.")
     (license license:bsd-3)))
 
+(define ghc-tagged-bootstrap-for-9.6
+  (package
+    (name "ghc-tagged-bootstrap")
+    (version "0.8.7")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (hackage-uri "tagged" version))
+       (sha256
+        (base32
+         "0qdr1kv1zn5iamnwyn5nf0ywxs4wv779k0gpw94kyqx14ynfw534"))))
+    (build-system haskell-build-system)
+    (properties '((upstream-name . "tagged")))
+    (arguments (list #:haskell ghc-bootstrap-for-9.6))
+    (home-page "https://hackage.haskell.org/package/tagged")
+    (synopsis "Haskell phantom types to avoid passing dummy arguments")
+    (description "This library provides phantom types for Haskell 98, to avoid
+having to unsafely pass dummy arguments.")
+    (license license:bsd-3)))
+
 (define ghc-nats-bootstrap-for-9.6
   (package
     (name "ghc-nats-bootstrap")
-- 
2.46.0





Information forwarded to guix-patches <at> gnu.org:
bug#67921; Package guix-patches. (Thu, 31 Oct 2024 12:53:09 GMT) Full text and rfc822 format available.

Message #233 received at 67921 <at> debbugs.gnu.org (full text, mbox):

From: Nicolas Graves <ngraves <at> ngraves.fr>
To: 67921 <at> debbugs.gnu.org
Cc: dev <at> jpoiret.xyz, lars <at> 6xq.net, saku <at> laesvuori.fi
Subject: [PATCH v3 16/24] gnu: Add ghc-semigroups-bootstrap-for-9.6
Date: Thu, 31 Oct 2024 13:46:55 +0100
From: Saku Laesvuori <saku <at> laesvuori.fi>

* gnu/packages/haskell.scm (ghc-semigroups-bootstrap-for-9.6): New
  variable.

Change-Id: Ic676fed80bea3805f8e70cd958c3d7523226053d
---
 gnu/packages/haskell.scm | 30 ++++++++++++++++++++++++++++++
 1 file changed, 30 insertions(+)

diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm
index d59f9d7133..ca82f51fd0 100644
--- a/gnu/packages/haskell.scm
+++ b/gnu/packages/haskell.scm
@@ -1760,6 +1760,36 @@ (define ghc-random-bootstrap-for-9.6
 library, including the ability to split random number generators.")
     (license license:bsd-3)))
 
+(define ghc-semigroups-bootstrap-for-9.6
+  (package
+    (name "ghc-semigroups-bootstrap")
+    (version "0.20")
+    (source (origin
+              (method url-fetch)
+              (uri (hackage-uri "semigroups" version))
+              (sha256
+               (base32
+                "1qbk6scp1rzb69dy8mz26p6az5vi16g2lzwmwnfshh3br4rjwbch"))))
+    (build-system haskell-build-system)
+    (properties '((upstream-name . "semigroups")))
+    (arguments (list #:haskell ghc-bootstrap-for-9.6))
+    (inputs
+     (list ghc-nats-bootstrap-for-9.6
+           ghc-tagged-bootstrap-for-9.6
+           ghc-unordered-containers-bootstrap-for-9.6
+           ghc-hashable-bootstrap-for-9.6))
+    (home-page "http://github.com/ekmett/semigroups/")
+    (synopsis "Semigroup operations for Haskell")
+    (description
+     "This package provides semigroups for Haskell.  In
+mathematics, a semigroup is an algebraic structure consisting of a set
+together with an associative binary operation.  A semigroup generalizes a
+monoid in that there might not exist an identity element.  It
+also (originally) generalized a group (a monoid with all inverses) to a type
+where every element did not have to have an inverse, thus the name
+semigroup.")
+    (license license:bsd-3)))
+
 (define ghc-tagged-bootstrap-for-9.6
   (package
     (name "ghc-tagged-bootstrap")
-- 
2.46.0





Information forwarded to guix-patches <at> gnu.org:
bug#67921; Package guix-patches. (Thu, 31 Oct 2024 12:53:10 GMT) Full text and rfc822 format available.

Message #236 received at 67921 <at> debbugs.gnu.org (full text, mbox):

From: Nicolas Graves <ngraves <at> ngraves.fr>
To: 67921 <at> debbugs.gnu.org
Cc: dev <at> jpoiret.xyz, lars <at> 6xq.net, saku <at> laesvuori.fi
Subject: [PATCH v3 17/24] gnu: Add ghc-base16-bytestring-bootstrap-for-9.6
Date: Thu, 31 Oct 2024 13:46:56 +0100
From: Saku Laesvuori <saku <at> laesvuori.fi>

* gnu/packages/haskell.scm (ghc-base16-bytestring-bootstrap-for-9.6):
  New variable.

Change-Id: I7c20bdfd7600fb2bed5de497e02acda74b242fec
---
 gnu/packages/haskell.scm | 21 +++++++++++++++++++++
 1 file changed, 21 insertions(+)

diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm
index ca82f51fd0..5feef5992c 100644
--- a/gnu/packages/haskell.scm
+++ b/gnu/packages/haskell.scm
@@ -1638,6 +1638,27 @@ (define ghc-js-flot-bootstrap-for-9.6
 requirements of downstream users (e.g. Debian).")
     (license license:expat)))
 
+(define ghc-base16-bytestring-bootstrap-for-9.6
+  (package
+    (name "ghc-base16-bytestring-bootstrap")
+    (version "1.0.2.0")
+    (source (origin
+              (method url-fetch)
+              (uri (hackage-uri "base16-bytestring" version))
+              (sha256
+               (base32
+                "1167f9jaivnabn6kg2gc421ac9njb67fr4v0adbj3qph7qa92nhx"))))
+    (build-system haskell-build-system)
+    (arguments (list #:tests? #f
+                     #:haskell ghc-bootstrap-for-9.6))
+    (properties '((upstream-name . "base16-bytestring")))
+    (home-page "http://github.com/haskell/base16-bytestring")
+    (synopsis "Fast base16 (hex) encoding and decoding for ByteStrings")
+    (description
+     "This package provides a Haskell library for working with base16-encoded
+data quickly and efficiently, using the ByteString type.")
+    (license license:bsd-3)))
+
 (define ghc-extra-bootstrap-for-9.6
   (package
     (name "ghc-extra-bootstrap")
-- 
2.46.0





Information forwarded to guix-patches <at> gnu.org:
bug#67921; Package guix-patches. (Thu, 31 Oct 2024 12:53:10 GMT) Full text and rfc822 format available.

Message #239 received at 67921 <at> debbugs.gnu.org (full text, mbox):

From: Nicolas Graves <ngraves <at> ngraves.fr>
To: 67921 <at> debbugs.gnu.org
Cc: dev <at> jpoiret.xyz, lars <at> 6xq.net, saku <at> laesvuori.fi
Subject: [PATCH v3 18/24] gnu: Add ghc-cryptohash-sha256-bootstrap-for-9.6
Date: Thu, 31 Oct 2024 13:46:57 +0100
From: Saku Laesvuori <saku <at> laesvuori.fi>

* gnu/packages/haskell.scm (ghc-cryptohash-sha256-bootstrap-for-9.6):
  New variable.

Change-Id: I80dd73de554160f4dc904c01ea292a886f51e970
---
 gnu/packages/haskell.scm | 29 +++++++++++++++++++++++++++++
 1 file changed, 29 insertions(+)

diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm
index 5feef5992c..c0d2ab8c1d 100644
--- a/gnu/packages/haskell.scm
+++ b/gnu/packages/haskell.scm
@@ -1638,6 +1638,35 @@ (define ghc-js-flot-bootstrap-for-9.6
 requirements of downstream users (e.g. Debian).")
     (license license:expat)))
 
+(define ghc-cryptohash-sha256-bootstrap-for-9.6
+  (package
+    (name "ghc-cryptohash-sha256-bootstrap")
+    (version "0.11.102.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (hackage-uri "cryptohash-sha256" version))
+       (sha256
+        (base32
+         "1xkb7iqplbw4fy1122p79xf1zcb7k44rl0wmfj1q06l7cdqxr9vk"))))
+    (build-system haskell-build-system)
+    (properties '((upstream-name . "cryptohash-sha256")))
+    (arguments
+     `(#:cabal-revision
+       ("1" "1hyzqv30rpj920ddnr0zypyjjlh52vyp2d140pn2byayj820rkgs")
+       #:haskell ,ghc-bootstrap-for-9.6
+       #:tests? #f))
+    (home-page "https://github.com/hvr/cryptohash-sha1")
+    (synopsis "SHA-256 implementation for Haskell")
+    (description "This Haskell package provides an incremental and
+one-pass, pure API to the @uref{https://en.wikipedia.org/wiki/SHA-2,
+SHA-256 cryptographic hash algorithm}, with performance close to the
+fastest implementations available in other languages.
+
+The implementation is made in C with a haskell FFI wrapper that hides
+the C implementation.")
+    (license license:bsd-3)))
+
 (define ghc-base16-bytestring-bootstrap-for-9.6
   (package
     (name "ghc-base16-bytestring-bootstrap")
-- 
2.46.0





Information forwarded to guix-patches <at> gnu.org:
bug#67921; Package guix-patches. (Thu, 31 Oct 2024 12:53:11 GMT) Full text and rfc822 format available.

Message #242 received at 67921 <at> debbugs.gnu.org (full text, mbox):

From: Nicolas Graves <ngraves <at> ngraves.fr>
To: 67921 <at> debbugs.gnu.org
Cc: dev <at> jpoiret.xyz, lars <at> 6xq.net, saku <at> laesvuori.fi
Subject: [PATCH v3 19/24] gnu: Add ghc-unordered-containers-bootstrap-for-9.6
Date: Thu, 31 Oct 2024 13:46:58 +0100
From: Saku Laesvuori <saku <at> laesvuori.fi>

* gnu/packages/haskell.scm (ghc-unordered-containers-bootstrap-for-9.6):
  New variable.

Change-Id: I190d7e765d30b469290d26109478fbe97dfbe3ae
---
 gnu/packages/haskell.scm | 27 +++++++++++++++++++++++++++
 1 file changed, 27 insertions(+)

diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm
index c0d2ab8c1d..d63dde6319 100644
--- a/gnu/packages/haskell.scm
+++ b/gnu/packages/haskell.scm
@@ -1638,6 +1638,33 @@ (define ghc-js-flot-bootstrap-for-9.6
 requirements of downstream users (e.g. Debian).")
     (license license:expat)))
 
+(define ghc-unordered-containers-bootstrap-for-9.6
+  (package
+    (name "ghc-unordered-containers-bootstrap")
+    (version "0.2.19.1")
+    (source (origin
+              (method url-fetch)
+              (uri (hackage-uri "unordered-containers" version))
+              (sha256
+               (base32
+                "1li8s6qw8mgv6a7011y7hg0cn2nllv2g9sr9c1xb48nmw32vw9qv"))))
+    (build-system haskell-build-system)
+    (properties '((upstream-name . "unordered-containers")))
+    (inputs (list ghc-hashable-bootstrap-for-9.6))
+    (arguments
+     `(#:cabal-revision ("3"
+                         "1p9a2mvfbfz2d4cyr16b03bxvb6c4yj7k1ch601xwq1rkr1cla0w")
+       #:haskell ,ghc-bootstrap-for-9.6
+       #:tests? #f))
+    (home-page
+     "https://github.com/haskell-unordered-containers/unordered-containers")
+    (synopsis "Efficient hashing-based container types")
+    (description
+     "Efficient hashing-based container types.  The containers have been
+optimized for performance critical use, both in terms of large data quantities
+and high speed.")
+    (license license:bsd-3)))
+
 (define ghc-cryptohash-sha256-bootstrap-for-9.6
   (package
     (name "ghc-cryptohash-sha256-bootstrap")
-- 
2.46.0





Information forwarded to guix-patches <at> gnu.org:
bug#67921; Package guix-patches. (Thu, 31 Oct 2024 12:53:11 GMT) Full text and rfc822 format available.

Message #245 received at 67921 <at> debbugs.gnu.org (full text, mbox):

From: Nicolas Graves <ngraves <at> ngraves.fr>
To: 67921 <at> debbugs.gnu.org
Cc: dev <at> jpoiret.xyz, lars <at> 6xq.net, saku <at> laesvuori.fi
Subject: [PATCH v3 20/24] gnu: Add ghc-filepattern-bootstrap-for-9.6
Date: Thu, 31 Oct 2024 13:46:59 +0100
From: Saku Laesvuori <saku <at> laesvuori.fi>

* gnu/packages/haskell.scm (ghc-filepattern-bootstrap-for-9.6): New
  variable.

Change-Id: I3778f85d7a14474445295ebd6bbb1f4bfbe4f6d5
---
 gnu/packages/haskell.scm | 41 ++++++++++++++++++++++++++++++++++++++++
 1 file changed, 41 insertions(+)

diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm
index d63dde6319..0ffc4df728 100644
--- a/gnu/packages/haskell.scm
+++ b/gnu/packages/haskell.scm
@@ -1638,6 +1638,47 @@ (define ghc-js-flot-bootstrap-for-9.6
 requirements of downstream users (e.g. Debian).")
     (license license:expat)))
 
+(define ghc-filepattern-bootstrap-for-9.6
+  (package
+    (name "ghc-filepattern-bootstrap")
+    (version "0.1.3")
+    (source (origin
+              (method url-fetch)
+              (uri (hackage-uri "filepattern" version))
+              (sha256
+               (base32
+                "0dlnwnwhsfdkwm69z66wj5d2x9n3la55glq4fsn5rxm2kr1msi6c"))))
+    (build-system haskell-build-system)
+    (properties '((upstream-name . "filepattern")))
+    (arguments (list #:tests? #f
+                     #:haskell ghc-bootstrap-for-9.6))
+    (inputs (list ghc-extra-bootstrap-for-9.6))
+    (home-page "https://github.com/ndmitchell/filepattern#readme")
+    (synopsis "File path glob-like matching")
+    (description
+     "This package provides Haskell library for matching files using patterns
+such as @code{\\\"src\\/**\\/*.png\\\"} for all @@file{.png} files recursively
+under the @@file{src} directory.
+
+Some of its features include:
+
+@itemize
+@item All matching is O(n).
+
+@item Most functions pre-compute some information given only one argument.
+
+@item Uses @code{match} and @code{substitute} to extract suitable strings from
+the @code{*} and @code{**} matches, and substitutes them back into other
+patterns.
+
+@item Uses @code{step} and @code{matchMany} to perform bulk matching of many
+patterns against many paths simultaneously.
+
+@item Uses @code{System.FilePattern.Directory} to perform optimised directory
+traverals using patterns.
+@end itemize")
+    (license license:bsd-3)))
+
 (define ghc-unordered-containers-bootstrap-for-9.6
   (package
     (name "ghc-unordered-containers-bootstrap")
-- 
2.46.0





Information forwarded to guix-patches <at> gnu.org:
bug#67921; Package guix-patches. (Thu, 31 Oct 2024 12:53:12 GMT) Full text and rfc822 format available.

Message #248 received at 67921 <at> debbugs.gnu.org (full text, mbox):

From: Nicolas Graves <ngraves <at> ngraves.fr>
To: 67921 <at> debbugs.gnu.org
Cc: dev <at> jpoiret.xyz, lars <at> 6xq.net, saku <at> laesvuori.fi
Subject: [PATCH v3 21/24] gnu: Add ghc-shake-bootstrap-for-9.6
Date: Thu, 31 Oct 2024 13:47:00 +0100
From: Saku Laesvuori <saku <at> laesvuori.fi>

* gnu/packages/haskell.scm (ghc-shake-bootstrap-for-9.6): New variable.

Change-Id: I195bc5f779709ef7b2ccefe2271402ef342bc0b8
---
 gnu/packages/haskell.scm | 56 ++++++++++++++++++++++++++++++++++++++++
 1 file changed, 56 insertions(+)

diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm
index 0ffc4df728..4bd1ef150b 100644
--- a/gnu/packages/haskell.scm
+++ b/gnu/packages/haskell.scm
@@ -1612,6 +1612,62 @@ (define-public ghc-9.4
 
 (define ghc-bootstrap-for-9.6 ghc-9.4)
 
+(define ghc-shake-bootstrap-for-9.6
+  (package
+    (name "ghc-shake-bootstrap")
+    (version "0.19.7")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (hackage-uri "shake" version))
+       (sha256
+        (base32 "1lcr6q53qwm308bny6gfawcjhxsmalqi3dnwckam02zp2apmcaim"))))
+    (build-system haskell-build-system)
+    (properties '((upstream-name . "shake")))
+    (inputs (list bash-minimal
+                  ghc-extra-bootstrap-for-9.6
+                  ghc-filepattern-bootstrap-for-9.6
+                  ghc-hashable-bootstrap-for-9.6
+                  ghc-heaps-bootstrap-for-9.6
+                  ghc-js-dgtable-bootstrap-for-9.6
+                  ghc-js-flot-bootstrap-for-9.6
+                  ghc-js-jquery-bootstrap-for-9.6
+                  ghc-primitive-bootstrap-for-9.6
+                  ghc-random-bootstrap-for-9.6
+                  ghc-unordered-containers-bootstrap-for-9.6
+                  ghc-utf8-string-bootstrap-for-9.6
+                  ghc-semigroups-bootstrap-for-9.6))
+    (arguments
+     (list #:cabal-revision '("1"
+                              "1hz57kw5pp5cpbicbi7x8sz8c6qy58dzyiljz9b9f2r1rr683d9w")
+           #:tests? #f
+           #:haskell ghc-bootstrap-for-9.6
+           #:phases
+           #~(modify-phases %standard-phases
+               (add-after 'patch-source-shebangs 'patch-/bin/sh
+                 (lambda _
+                   (for-each
+                    (lambda (file)
+                      (substitute*
+                       file
+                       (("/bin/sh")
+                        #$(file-append (this-package-input "bash-minimal")
+                                       "/bin/sh"))))
+                    '("src/Development/Shake/Command.hs")))))))
+    (home-page "https://shakebuild.com")
+    (synopsis
+     "Build system library, like Make, but more accurate dependencies.")
+    (description
+     "Shake is a Haskell library for writing build systems - designed as a
+replacement for @@make@@.  To use Shake the user writes a Haskell program that
+imports \"Development.Shake\", defines some build rules, and calls the
+Development.Shake.@code{shakeArgs} function.  However, as build systems get more
+complex, Shake is able to take advantage of the excellent abstraction facilities
+offered by Haskell and easily support much larger projects.  Shake also provides more
+accurate dependency tracking, including seamless support for generated files, and
+dependencies on system information (e.g. compiler version).")
+    (license license:bsd-3)))
+
 (define ghc-js-flot-bootstrap-for-9.6
   (package
     (name "ghc-js-flot-bootstrap")
-- 
2.46.0





Information forwarded to guix-patches <at> gnu.org:
bug#67921; Package guix-patches. (Thu, 31 Oct 2024 12:53:12 GMT) Full text and rfc822 format available.

Message #251 received at 67921 <at> debbugs.gnu.org (full text, mbox):

From: Nicolas Graves <ngraves <at> ngraves.fr>
To: 67921 <at> debbugs.gnu.org
Cc: dev <at> jpoiret.xyz, lars <at> 6xq.net, saku <at> laesvuori.fi
Subject: [PATCH v3 22/24] gnu: Add hadrian-for-ghc-9.6
Date: Thu, 31 Oct 2024 13:47:01 +0100
From: Saku Laesvuori <saku <at> laesvuori.fi>

* gnu/packages/haskell.scm (hadrian-for-ghc-9.6): New variable.

Change-Id: I4205c888afa7b03b4b1622a3af7d1d538fa5c9b1
---
 gnu/packages/haskell.scm | 40 ++++++++++++++++++++++++++++++++++++++++
 1 file changed, 40 insertions(+)

diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm
index 4bd1ef150b..256fe84c89 100644
--- a/gnu/packages/haskell.scm
+++ b/gnu/packages/haskell.scm
@@ -2121,4 +2121,44 @@ (define ghc-primitive-bootstrap-for-9.6
      "This package provides various primitive memory-related operations.")
     (license license:bsd-3)))
 
+(define hadrian-for-ghc-9.6
+  (package
+    (name "hadrian")
+    (version "9.6.4")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "https://www.haskell.org/ghc/dist/" version
+                                  "/ghc-" version "-src.tar.xz"))
+              (sha256
+               (base32
+                "1h6lpx8kd4xycjwb8iv2rgnz23kwq5b0qp4bhvczsx3in2w2bgqh"))))
+    (build-system haskell-build-system)
+    (inputs
+     (list ghc-base16-bytestring-bootstrap-for-9.6
+           ghc-cryptohash-sha256-bootstrap-for-9.6
+           ghc-extra-bootstrap-for-9.6
+           ghc-shake-bootstrap-for-9.6
+           ghc-unordered-containers-bootstrap-for-9.6
+           bash-minimal))
+    (arguments
+     (list #:configure-flags ''("--flags=-selftest")
+           #:tests? #f
+           #:haskell ghc-bootstrap-for-9.6
+           #:phases
+           #~(modify-phases %standard-phases
+               (add-after 'unpack 'cd-to-hadrian
+                 (lambda _
+                   (chdir "hadrian")))
+               (add-after 'cd-to-hadrian 'fix-shell-wrappers
+                 (lambda _
+                   (substitute*
+                     "src/Rules/Test.hs"
+                     (("\"#!/bin/sh\"")
+                      (format #f "\"#!~a/bin/sh\"" #$(this-package-input "bash-minimal")))))))))
+    (home-page "https://gitlab.haskell.org/ghc/ghc/-/tree/master/hadrian")
+    (synopsis "Build system for the Glasgow Haskell Compiler (@code{ghc})")
+    (description "Hadrian is the build system for the Glasgow Haskell Compiler.
+It is based on the Shake library and replaces @{make} in building GHC")
+    (license license:expat)))
+
 ;;; haskell.scm ends here
-- 
2.46.0





Information forwarded to guix-patches <at> gnu.org:
bug#67921; Package guix-patches. (Thu, 31 Oct 2024 12:54:02 GMT) Full text and rfc822 format available.

Message #254 received at 67921 <at> debbugs.gnu.org (full text, mbox):

From: Nicolas Graves <ngraves <at> ngraves.fr>
To: 67921 <at> debbugs.gnu.org
Cc: dev <at> jpoiret.xyz, lars <at> 6xq.net, saku <at> laesvuori.fi
Subject: [PATCH v3 23/24] gnu: Add ghc-9.6
Date: Thu, 31 Oct 2024 13:47:02 +0100
From: Saku Laesvuori <saku <at> laesvuori.fi>

* gnu/packages/haskell.scm (ghc-9.6): New variable.

Change-Id: I6883ed973bdd1d6eaf981605c1bc8f855f850187
---
 gnu/packages/haskell.scm | 108 ++++++++++++++++++++++++++++++++++++++-
 1 file changed, 107 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm
index 256fe84c89..239871cfcd 100644
--- a/gnu/packages/haskell.scm
+++ b/gnu/packages/haskell.scm
@@ -72,7 +72,8 @@ (define-module (gnu packages haskell)
   #:use-module (guix packages)
   #:use-module (guix utils)
   #:use-module (ice-9 match)
-  #:use-module (ice-9 regex))
+  #:use-module (ice-9 regex)
+  #:use-module (srfi srfi-26))
 
 (define-public cl-yale-haskell
   (let ((commit "85f94c72a16c5f70301dd8db04cde9de2d7dd270")
@@ -2161,4 +2162,109 @@ (define hadrian-for-ghc-9.6
 It is based on the Shake library and replaces @{make} in building GHC")
     (license license:expat)))
 
+(define-public ghc-9.6
+  (let ((base ghc-9.4))
+    (package
+      (inherit base)
+      (name "ghc-next")
+      (version "9.6.4")
+      (source (origin
+                (inherit (package-source base))
+                (uri (string-append "https://www.haskell.org/ghc/dist/" version
+                                    "/ghc-" version "-src.tar.xz"))
+                (sha256
+                 (base32
+                  "1h6lpx8kd4xycjwb8iv2rgnz23kwq5b0qp4bhvczsx3in2w2bgqh"))))
+      (arguments
+       (substitute-keyword-arguments (package-arguments base)
+        ((#:make-flags flags ''())
+         #~(list "-V" "--docs=no-sphinx"))
+        ((#:phases phases '%standard-phases)
+         #~(let* ((run-hadrian (lambda args
+                                 (apply invoke "hadrian" args))))
+             (modify-phases #$phases
+            (delete 'fix-shell-wrappers)
+            ;; https://gitlab.haskell.org/ghc/ghc/-/issues/22557
+            (add-before 'build 'fix-iserv-rpath
+              (lambda _
+                (mkdir-p "_build")
+                (call-with-output-file
+                 "_build/hadrian.settings"
+                 (lambda (port)
+                   (display
+                    (string-append
+                     "*.iserv.ghc.link.opts += -optl-Wl,-rpath,"
+                     #$output "/lib/ghc-" #$(package-version this-package)
+                     "/lib/" #$(or (%current-target-system)
+                                   (%current-system))
+                     "-ghc-" #$(package-version this-package) "/")
+                    port)))))
+            (replace 'build
+              (lambda* (#:key (parallel-build? #f) (make-flags '())
+                        #:allow-other-keys)
+                (apply run-hadrian
+                       `("binary-dist-dir"
+                         ,@(if parallel-build?
+                             `(,(string-append "-j" (number->string (parallel-job-count))))
+                             '())
+                         ,@make-flags))))
+            (replace 'check
+              (lambda* (#:key (tests? #t) (parallel-tests? #f) (make-flags '()) #:allow-other-keys)
+                (if tests?
+                  (apply run-hadrian
+                         `(,@(if parallel-tests?
+                               `(,(string-append "-j" (number->string (parallel-job-count))))
+                               '())
+                           ,@make-flags
+                           "test"
+                           "--skip-perf"))
+                  (format #t "test suite not run~%"))))
+            (replace 'install
+              (lambda* (#:key (make-flags '()) #:allow-other-keys)
+                (apply run-hadrian
+                       `("install"
+                         ,@make-flags
+                         ,(string-append "--prefix=" #$output)))))
+            (add-after 'install 'replace-$pkgroot
+              (lambda _
+                (substitute*
+                  (find-files
+                   (string-append #$output "/lib/ghc-"
+                                  #$(package-version this-package)
+                                  "/lib/package.conf.d/")
+                   "^.*\\.conf$")
+                  (("\\$\\{pkgroot\\}/")
+                   (string-append #$output "/lib/ghc-"
+                                  #$(package-version this-package)
+                                  "/lib/"))))))))))
+      (inputs (list bash-minimal gmp ncurses libffi))
+      (native-inputs
+       `(("perl" ,perl)
+         ("python" ,python)
+         ("git" ,git-minimal/pinned)
+         ("which" ,which)
+         ("ghostscript" ,ghostscript)
+         ("autoconf" ,autoconf)
+         ("automake" ,automake)
+
+         ("hadrian" ,hadrian-for-ghc-9.6)
+         ("ghc-bootstrap" ,ghc-bootstrap-for-9.6)
+         ("ghc-alex" ,ghc-alex-bootstrap-for-9.4)
+         ("ghc-happy" ,ghc-happy-bootstrap-for-9.4)
+         ("ghc-testsuite"
+          ,(origin
+             (method url-fetch)
+             (uri (string-append
+                   "https://www.haskell.org/ghc/dist/"
+                   version "/ghc-" version "-testsuite.tar.xz"))
+             (sha256
+              (base32
+               "0wwd6d68aia2rmlpki30azz0raf98is472cqljhbzzdzpqpjh4vf"))))))
+      (native-search-paths
+       (list (search-path-specification
+              (variable "GHC_PACKAGE_PATH")
+              (files (list (string-append "lib/ghc-" version)))
+              (file-pattern ".*\\.conf\\.d$")
+              (file-type 'directory)))))))
+
 ;;; haskell.scm ends here
-- 
2.46.0





Information forwarded to guix-patches <at> gnu.org:
bug#67921; Package guix-patches. (Thu, 31 Oct 2024 12:54:03 GMT) Full text and rfc822 format available.

Message #257 received at 67921 <at> debbugs.gnu.org (full text, mbox):

From: Nicolas Graves <ngraves <at> ngraves.fr>
To: 67921 <at> debbugs.gnu.org
Cc: dev <at> jpoiret.xyz, lars <at> 6xq.net, saku <at> laesvuori.fi
Subject: [PATCH v3 24/24] gnu: ghc: Update to version 9.6.4
Date: Thu, 31 Oct 2024 13:47:03 +0100
From: Saku Laesvuori <saku <at> laesvuori.fi>

* gnu/packages/haskell.scm (ghc): Update to ghc-9.6

Change-Id: I40da6cacc4d260902cd66d7d626375038fba4346
---
 gnu/packages/haskell.scm | 16 ++++++++--------
 1 file changed, 8 insertions(+), 8 deletions(-)

diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm
index 239871cfcd..5bdedcc05c 100644
--- a/gnu/packages/haskell.scm
+++ b/gnu/packages/haskell.scm
@@ -1498,12 +1498,6 @@ (define-public ghc-9.2
               (file-pattern ".*\\.conf\\.d$")
               (file-type 'directory)))))))
 
-;; Versions newer than ghc defined below (i.e. the compiler
-;; haskell-build-system uses) should use ghc-next as their name to
-;; ensure ghc (without version specification) and ghc-* packages are
-;; always compatible. See https://issues.guix.gnu.org/issue/47335.
-(define-public ghc ghc-9.2)
-
 ;; 9.4 is the last version to support the make-based build system,
 ;; but it boot with 9.2, only 9.0 is supported.
 (define ghc-bootstrap-for-9.4 ghc-9.0)
@@ -1567,7 +1561,7 @@ (define-public ghc-9.4
   (let ((base ghc-9.2))
     (package
       (inherit base)
-      (name "ghc-next")
+      (name "ghc")
       (version "9.4.8")
       (source (origin
                 (method url-fetch)
@@ -2166,7 +2160,7 @@ (define-public ghc-9.6
   (let ((base ghc-9.4))
     (package
       (inherit base)
-      (name "ghc-next")
+      (name "ghc")
       (version "9.6.4")
       (source (origin
                 (inherit (package-source base))
@@ -2267,4 +2261,10 @@ (define-public ghc-9.6
               (file-pattern ".*\\.conf\\.d$")
               (file-type 'directory)))))))
 
+;; Versions newer than ghc defined below (i.e. the compiler
+;; haskell-build-system uses) should use ghc-next as their name to
+;; ensure ghc (without version specification) and ghc-* packages are
+;; always compatible. See https://issues.guix.gnu.org/issue/47335.
+(define-public ghc ghc-9.6)
+
 ;;; haskell.scm ends here
-- 
2.46.0





Information forwarded to guix-patches <at> gnu.org:
bug#67921; Package guix-patches. (Thu, 31 Oct 2024 14:03:01 GMT) Full text and rfc822 format available.

Message #260 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Nicolas Graves <ngraves <at> ngraves.fr>
To: Nicolas Graves via Guix-patches via <guix-patches <at> gnu.org>,
 67921 <at> debbugs.gnu.org
Cc: dev <at> jpoiret.xyz, lars <at> 6xq.net, saku <at> laesvuori.fi
Subject: Re: [bug#67921] [PATCH v3 01/24] gnu: ghc: More robust build with
 binutils ≥ 2.39.
Date: Thu, 31 Oct 2024 15:02:19 +0100
On 2024-10-31 13:46, Nicolas Graves via Guix-patches via wrote:

> Future versions of ghc will have more occurrences of the execstack
> warning.  Instead of modifying the tests for each new version, a more
> robust approach is to explicitely make ghc pass -Wl,-z,noexecstack to
> its ld invocations during all tests.  This is what this patch does.
>
> * gnu/packages/patches/ghc-testsuite-recomp015-execstack.patch: New patches.
> * gnu/local.mk (disp_path_DATA): Deregister patch.
> * gnu/packages/haskell.scm (ghc-8.6, ghc-8.8, ghc-9.0, ghc-9.2,
> ghc-9.4): Deregister patch use. Add phase 'fix-tests-with-binutils <at> 2.39.

My mistake, just to be clear, this patch is here to fix the build of
9.8.4 after the core-updates merges, more than to fix the last errors on
the 9.6 version.  I needed it anyway to be able to compile up to 9.6,
but I haven't taken a look at 9.6 yet.

-- 
Best regards,
Nicolas Graves




Information forwarded to guix-patches <at> gnu.org:
bug#67921; Package guix-patches. (Thu, 31 Oct 2024 14:03:02 GMT) Full text and rfc822 format available.

Information forwarded to guix-patches <at> gnu.org:
bug#67921; Package guix-patches. (Sat, 02 Nov 2024 15:20:02 GMT) Full text and rfc822 format available.

Message #266 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Lars-Dominik Braun <lars <at> 6xq.net>
To: Nicolas Graves <ngraves <at> ngraves.fr>
Cc: dev <at> jpoiret.xyz, saku <at> laesvuori.fi, 67921 <at> debbugs.gnu.org,
 Nicolas Graves via Guix-patches via <guix-patches <at> gnu.org>
Subject: Re: [bug#67921] [PATCH v3 01/24] gnu: ghc: More robust build with binutils ≥ 2.39.
Date: Sat, 2 Nov 2024 16:18:52 +0100
Hi,

> My mistake, just to be clear, this patch is here to fix the build of
> 9.8.4 after the core-updates merges, more than to fix the last errors on
> the 9.6 version.  I needed it anyway to be able to compile up to 9.6,
> but I haven't taken a look at 9.6 yet.

you mean “fix the build of 8.8.4”? I don’t see that we have 9.8 anywhere.

Lars





Information forwarded to guix-patches <at> gnu.org:
bug#67921; Package guix-patches. (Sat, 02 Nov 2024 15:20:02 GMT) Full text and rfc822 format available.

Information forwarded to guix-patches <at> gnu.org:
bug#67921; Package guix-patches. (Sat, 02 Nov 2024 18:48:01 GMT) Full text and rfc822 format available.

Message #272 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Nicolas Graves <ngraves <at> ngraves.fr>
To: Lars-Dominik Braun <lars <at> 6xq.net>
Cc: dev <at> jpoiret.xyz, saku <at> laesvuori.fi, 67921 <at> debbugs.gnu.org,
 Nicolas Graves via Guix-patches via <guix-patches <at> gnu.org>
Subject: Re: [bug#67921] [PATCH v3 01/24] gnu: ghc: More robust build with
 binutils ≥ 2.39.
Date: Sat, 02 Nov 2024 19:47:35 +0100
On 2024-11-02 16:18, Lars-Dominik Braun wrote:

> Hi,
>
>> My mistake, just to be clear, this patch is here to fix the build of
>> 9.8.4 after the core-updates merges, more than to fix the last errors on
>> the 9.6 version.  I needed it anyway to be able to compile up to 9.6,
>> but I haven't taken a look at 9.6 yet.
>
> you mean “fix the build of 8.8.4”? I don’t see that we have 9.8
> anywhere.

9.4.8 sorry.

It actually needed another small fix (there is an invocation of ghc in
RTS tests that doesn't use TEST_HC_OPTS). I will provide it in another
revision.  I still have the bugs for 9.6, I'm trying to investigate them
but they are indeed tricky, the rebuild time for ghc and the default
flags of ld incompatible with --print-c-compiler-link-flags
makes it difficult to even understand why these last 9.6 tests are
failing.

>
> Lars
>

-- 
Best regards,
Nicolas Graves




Information forwarded to guix-patches <at> gnu.org:
bug#67921; Package guix-patches. (Sat, 02 Nov 2024 18:48:02 GMT) Full text and rfc822 format available.

Added tag(s) moreinfo. Request was from Nicolas Graves <ngraves <at> ngraves.fr> to control <at> debbugs.gnu.org. (Sun, 03 Nov 2024 10:18:02 GMT) Full text and rfc822 format available.

Information forwarded to guix-patches <at> gnu.org:
bug#67921; Package guix-patches. (Wed, 13 Nov 2024 04:48:02 GMT) Full text and rfc822 format available.

Message #280 received at 67921 <at> debbugs.gnu.org (full text, mbox):

From: Divya Ranjan <divya <at> subvertising.org>
To: Nicolas Graves <ngraves <at> ngraves.fr>
Cc: dev <at> jpoiret.xyz, Lars-Dominik Braun <lars <at> 6xq.net>, saku <at> laesvuori.fi,
 67921 <at> debbugs.gnu.org
Subject: Re: [bug#67921] [PATCH v3 01/24] gnu: ghc: More robust build with
 binutils ≥ 2.39.
Date: Wed, 13 Nov 2024 04:47:02 +0000
Hello Nicholas, Lars and others.

I’ve planned to pick up the work needed for this upgrade. Where are we and what more work is needed? A brief summary with specific tasks would help me get started.

Regards,
-- 
Divya Ranjan,
Philosophy, Mathematics, Libre Software.




Information forwarded to guix-patches <at> gnu.org:
bug#67921; Package guix-patches. (Wed, 13 Nov 2024 08:01:02 GMT) Full text and rfc822 format available.

Message #283 received at 67921 <at> debbugs.gnu.org (full text, mbox):

From: Nicolas Graves <ngraves <at> ngraves.fr>
To: Divya Ranjan <divya <at> subvertising.org>
Cc: dev <at> jpoiret.xyz, Lars-Dominik Braun <lars <at> 6xq.net>, saku <at> laesvuori.fi,
 67921 <at> debbugs.gnu.org
Subject: Re: [bug#67921] [PATCH v3 01/24] gnu: ghc: More robust build with
 binutils ≥ 2.39.
Date: Wed, 13 Nov 2024 09:00:48 +0100
On 2024-11-13 04:47, Divya Ranjan via Guix-patches via wrote:

> Hello Nicholas, Lars and others.
>
> I’ve planned to pick up the work needed for this upgrade. Where are we
> and what more work is needed? A brief summary with specific tasks
> would help me get started.

I haven't managed to get much more done.  What happened is that
core-updates broke the original patch series, the patch I added fixes
the build of version 9.4.8 and makes a previous patch unnecessary, but
the way I wrote it required to build from versions 8.6 (basically one
entire day of pure build on my machine).

If I were to rebuild everything from 8.6 once again, I would actually
rather try the #:make-flag EXTRA_HC_OPTS (IIRC) which is definitely the
same thing in 9.4.8, but it wasn't that clear in 8.6.

From there you'll see that some tests for 9.6 are still broken.  I last
was working on decoupling the build (which works) from the tests (some
still failed, hard to understand why), because the rebuild is huge and
makes iterations quite painful.  But even that is hard since you would
need the hadrian test phase to be run to get the necessary files
(hadrian config for tests and some binaries) to run tests independently
in another guix package.  IIRC I stopped there but still have some
progress in my stash. 

>
> Regards,

-- 
Best regards,
Nicolas Graves




Information forwarded to guix-patches <at> gnu.org:
bug#67921; Package guix-patches. (Thu, 14 Nov 2024 17:43:02 GMT) Full text and rfc822 format available.

Message #286 received at 67921 <at> debbugs.gnu.org (full text, mbox):

From: Divya Ranjan <divya <at> subvertising.org>
To: Nicolas Graves <ngraves <at> ngraves.fr>
Cc: dev <at> jpoiret.xyz, Lars-Dominik Braun <lars <at> 6xq.net>, saku <at> laesvuori.fi,
 67921 <at> debbugs.gnu.org
Subject: Re: [bug#67921] [PATCH v3 01/24] gnu: ghc: More robust build with
 binutils ≥ 2.39.
Date: Thu, 14 Nov 2024 17:42:29 +0000
Nicolas Graves <ngraves <at> ngraves.fr> writes:

> On 2024-11-13 04:47, Divya Ranjan via Guix-patches via wrote:
>
>> Hello Nicholas, Lars and others.
>>
>> I’ve planned to pick up the work needed for this upgrade. Where are we
>> and what more work is needed? A brief summary with specific tasks
>> would help me get started.
>
> I haven't managed to get much more done.  What happened is that
> core-updates broke the original patch series, the patch I added fixes
> the build of version 9.4.8 and makes a previous patch unnecessary, but
> the way I wrote it required to build from versions 8.6 (basically one
> entire day of pure build on my machine).
>
> If I were to rebuild everything from 8.6 once again, I would actually
> rather try the #:make-flag EXTRA_HC_OPTS (IIRC) which is definitely the
> same thing in 9.4.8, but it wasn't that clear in 8.6.

Is building everything from 8.6 a good idea though? Is it /that/ broken?

> From there you'll see that some tests for 9.6 are still broken.  I last
> was working on decoupling the build (which works) from the tests (some
> still failed, hard to understand why), because the rebuild is huge and
> makes iterations quite painful.  But even that is hard since you would
> need the hadrian test phase to be run to get the necessary files
> (hadrian config for tests and some binaries) to run tests independently
> in another guix package.  IIRC I stopped there but still have some
> progress in my stash. 

Okay, is there any particular reason why this is being so hard? I haven’t seen such problems with Nix.

Regards,
-- 
Divya Ranjan,
Philosophy, Mathematics, Libre Software.




Information forwarded to guix-patches <at> gnu.org:
bug#67921; Package guix-patches. (Thu, 14 Nov 2024 22:56:02 GMT) Full text and rfc822 format available.

Message #289 received at 67921 <at> debbugs.gnu.org (full text, mbox):

From: Nicolas Graves <ngraves <at> ngraves.fr>
To: Divya Ranjan <divya <at> subvertising.org>
Cc: dev <at> jpoiret.xyz, Lars-Dominik Braun <lars <at> 6xq.net>, saku <at> laesvuori.fi,
 67921 <at> debbugs.gnu.org
Subject: Re: [bug#67921] [PATCH v3 01/24] gnu: ghc: More robust build with
 binutils ≥ 2.39.
Date: Thu, 14 Nov 2024 23:55:17 +0100
On 2024-11-14 17:42, Divya Ranjan wrote:

> Nicolas Graves <ngraves <at> ngraves.fr> writes:
>
>> On 2024-11-13 04:47, Divya Ranjan via Guix-patches via wrote:
>>
>>> Hello Nicholas, Lars and others.
>>>
>>> I’ve planned to pick up the work needed for this upgrade. Where are we
>>> and what more work is needed? A brief summary with specific tasks
>>> would help me get started.
>>
>> I haven't managed to get much more done.  What happened is that
>> core-updates broke the original patch series, the patch I added fixes
>> the build of version 9.4.8 and makes a previous patch unnecessary, but
>> the way I wrote it required to build from versions 8.6 (basically one
>> entire day of pure build on my machine).
>>
>> If I were to rebuild everything from 8.6 once again, I would actually
>> rather try the #:make-flag EXTRA_HC_OPTS (IIRC) which is definitely the
>> same thing in 9.4.8, but it wasn't that clear in 8.6.
>
> Is building everything from 8.6 a good idea though? Is it /that/
> broken?

The upside is more consistent and easier to understand code in Guix, the
downside is rebuild times.  Only depends on how you weight each other.

>> From there you'll see that some tests for 9.6 are still broken.  I last
>> was working on decoupling the build (which works) from the tests (some
>> still failed, hard to understand why), because the rebuild is huge and
>> makes iterations quite painful.  But even that is hard since you would
>> need the hadrian test phase to be run to get the necessary files
>> (hadrian config for tests and some binaries) to run tests independently
>> in another guix package.  IIRC I stopped there but still have some
>> progress in my stash. 
>
> Okay, is there any particular reason why this is being so hard? I
> haven’t seen such problems with Nix.

It is hard to get what's wrong based on the error messages.  Also when I
tried to add options for more logging (don't remember which one I
tested) on Hadrian's options passed to the linker (through
EXTRA_HC_OPTS for instance), it fails because the option was
incompatible with another one set by Hadrian.  I wanted to try more
logging options to at least have a better understanding of what was
going wrong, but then started on decoupling build and tests because of
the high rebuild time.

There's still ultimately the option to skip the tests, which is not
difficult, but neither desirable. 
>
> Regards,

-- 
Best regards,
Nicolas Graves




Information forwarded to guix-patches <at> gnu.org:
bug#67921; Package guix-patches. (Thu, 14 Nov 2024 23:14:02 GMT) Full text and rfc822 format available.

Message #292 received at 67921 <at> debbugs.gnu.org (full text, mbox):

From: Divya Ranjan <divya <at> subvertising.org>
To: Nicolas Graves <ngraves <at> ngraves.fr>
Cc: dev <at> jpoiret.xyz, Lars-Dominik Braun <lars <at> 6xq.net>, saku <at> laesvuori.fi,
 67921 <at> debbugs.gnu.org
Subject: Re: [bug#67921] [PATCH v3 01/24] gnu: ghc: More robust build with binutils ≥ 2.39.
Date: Thu, 14 Nov 2024 23:13:08 +0000
[Message part 1 (text/plain, inline)]
> The upside is more consistent and easier to understand code in Guix, the downside is rebuild times. Only depends on how you weigh each other.

Any estimation for the ballpark within which which it might fall? Here do you mean rebuild times of each version? Like, this build time isn't going to affect user installation and creation of drvs, or would it?

On 14 November 2024 22:55:17 GMT, Nicolas Graves <ngraves <at> ngraves.fr> wrote:
>On 2024-11-14 17:42, Divya Ranjan wrote:
>
>> Nicolas Graves <ngraves <at> ngraves.fr> writes:
>>
>>> On 2024-11-13 04:47, Divya Ranjan via Guix-patches via wrote:
>>>
>>>> Hello Nicholas, Lars and others.
>>>>
>>>> I’ve planned to pick up the work needed for this upgrade. Where are we
>>>> and what more work is needed? A brief summary with specific tasks
>>>> would help me get started.
>>>
>>> I haven't managed to get much more done.  What happened is that
>>> core-updates broke the original patch series, the patch I added fixes
>>> the build of version 9.4.8 and makes a previous patch unnecessary, but
>>> the way I wrote it required to build from versions 8.6 (basically one
>>> entire day of pure build on my machine).
>>>
>>> If I were to rebuild everything from 8.6 once again, I would actually
>>> rather try the #:make-flag EXTRA_HC_OPTS (IIRC) which is definitely the
>>> same thing in 9.4.8, but it wasn't that clear in 8.6.
>>
>> Is building everything from 8.6 a good idea though? Is it /that/
>> broken?
>
>The upside is more consistent and easier to understand code in Guix, the
>downside is rebuild times.  Only depends on how you weight each other.
>
>>> From there you'll see that some tests for 9.6 are still broken.  I last
>>> was working on decoupling the build (which works) from the tests (some
>>> still failed, hard to understand why), because the rebuild is huge and
>>> makes iterations quite painful.  But even that is hard since you would
>>> need the hadrian test phase to be run to get the necessary files
>>> (hadrian config for tests and some binaries) to run tests independently
>>> in another guix package.  IIRC I stopped there but still have some
>>> progress in my stash. 
>>
>> Okay, is there any particular reason why this is being so hard? I
>> haven’t seen such problems with Nix.
>
>It is hard to get what's wrong based on the error messages.  Also when I
>tried to add options for more logging (don't remember which one I
>tested) on Hadrian's options passed to the linker (through
>EXTRA_HC_OPTS for instance), it fails because the option was
>incompatible with another one set by Hadrian.  I wanted to try more
>logging options to at least have a better understanding of what was
>going wrong, but then started on decoupling build and tests because of
>the high rebuild time.
>
>There's still ultimately the option to skip the tests, which is not
>difficult, but neither desirable. 
>>
>> Regards,
>
>-- 
>Best regards,
>Nicolas Graves

Divya Ranjan, Mathematics, Philosophy and Libre Software
[Message part 2 (text/html, inline)]

Information forwarded to guix-patches <at> gnu.org:
bug#67921; Package guix-patches. (Fri, 15 Nov 2024 08:39:02 GMT) Full text and rfc822 format available.

Message #295 received at 67921 <at> debbugs.gnu.org (full text, mbox):

From: Nicolas Graves <ngraves <at> ngraves.fr>
To: Divya Ranjan <divya <at> subvertising.org>
Cc: dev <at> jpoiret.xyz, Lars-Dominik Braun <lars <at> 6xq.net>, saku <at> laesvuori.fi,
 67921 <at> debbugs.gnu.org
Subject: Re: [bug#67921] [PATCH v3 01/24] gnu: ghc: More robust build with
 binutils ≥ 2.39.
Date: Fri, 15 Nov 2024 09:38:20 +0100
On 2024-11-14 23:13, Divya Ranjan wrote:

>> The upside is more consistent and easier to understand code in Guix,
>> the downside is rebuild times. Only depends on how you weigh each
>> other.
>
> Any estimation for the ballpark within which which it might fall? Here
> do you mean rebuild times of each version? Like, this build time isn't
> going to affect user installation and creation of drvs, or would it?

I'm not sure I understand your question well.  Once these derivations
are built on the server and available as substitutes, users will replace
them by downloading their binaries.  But I'm not sure this is your
question.

Using 15 cores on x86-64, it takes basically one day (~10h) to rebuild
versions 8.6 to 9.4.

This first commit is not strictly necessary.  If you wich to avoid these
rebuild costs, you can instead just drop the patch, and use this option
passed to the linker on 9.4 only (necessary, there are similar build
failures otherwise).  This is actually a good alternative, since I know
other versions will build.  If you can fix 9.6, we can inject my first
patch only for server evaluation before merging.

-- 
Best regards,
Nicolas Graves




Information forwarded to guix-patches <at> gnu.org:
bug#67921; Package guix-patches. (Fri, 15 Nov 2024 19:54:01 GMT) Full text and rfc822 format available.

Message #298 received at 67921 <at> debbugs.gnu.org (full text, mbox):

From: Divya Ranjan <divya <at> subvertising.org>
To: Nicolas Graves <ngraves <at> ngraves.fr>
Cc: dev <at> jpoiret.xyz, Lars-Dominik Braun <lars <at> 6xq.net>, saku <at> laesvuori.fi,
 67921 <at> debbugs.gnu.org
Subject: Re: [bug#67921] [PATCH v3 01/24] gnu: ghc: More robust build with binutils ≥ 2.39.
Date: Fri, 15 Nov 2024 19:52:15 +0000
[Message part 1 (text/plain, inline)]
> I'm not sure I understand your question well. Once these derivations are built on the server and available as substitutes, users will replace them by downloading their binaries. But I'm not sure this is your
question.

I meant is this building process going to be conducted everytime one installs a version of ghc using guix install?

> Using 15 cores on x86-64, it takes basically one day (~10h) to rebuild versions 8.6 to 9.4.

That is humungous. I can't even estimate how long that'll take on my poor i3, if it doesn't melt it.

> If you wish to avoid these rebuild costs, you can instead just drop the patch, and use this option passed to the linker on 9.4 only (necessary, there are similar build
failures otherwise). This is actually a good alternative, since I know other versions will build. If you can fix 9.6, we can inject my first patch only for server evaluation before merging.

Okay, indeed this seems the better option. I'll try this the option method and see if 9.4 builds.

Also, do you want to catch up on this in-sync sometime? Like talk about this in realtime over mumble, jitsi or whatever. As a regular Haskeller I think this is extremely important, so I'm looking forward to getting this done.

Also, one of the reasons why we haven't yet packaged haskell-language-server is because of these ghc build issues, right?

Regards,

Divya Ranjan, Mathematics, Philosophy and Libre Software
[Message part 2 (text/html, inline)]

Information forwarded to guix-patches <at> gnu.org:
bug#67921; Package guix-patches. (Sat, 16 Nov 2024 08:27:01 GMT) Full text and rfc822 format available.

Message #301 received at 67921 <at> debbugs.gnu.org (full text, mbox):

From: Saku Laesvuori <saku <at> laesvuori.fi>
To: Divya Ranjan <divya <at> subvertising.org>
Cc: Lars-Dominik Braun <lars <at> 6xq.net>, dev <at> jpoiret.xyz,
 Nicolas Graves <ngraves <at> ngraves.fr>, 67921 <at> debbugs.gnu.org
Subject: Re: [bug#67921] [PATCH v3 01/24] gnu: ghc: More robust build with binutils ≥ 2.39.
Date: Sat, 16 Nov 2024 10:26:34 +0200
[Message part 1 (text/plain, inline)]
On Fri, Nov 15, 2024 at 07:52:15PM +0000, Divya Ranjan wrote:
> Also, one of the reasons why we haven't yet packaged
> haskell-language-server is because of these ghc build issues, right?

I think it is mostly because haskell-language-server is not on stackage
and the hackage importer is[1] not able to recursively import working
versions of the dependencies. Thus packaging HLS is quite tidious as one
has to manually go through all the tens of invalid dependency versions.
Updating ghc would probably help a bit, but I don't think it is the main
issue.

[1]: There was recently some work related to importing hackage packages
by version so maybe this has changed

- Saku
[signature.asc (application/pgp-signature, inline)]

Information forwarded to guix-patches <at> gnu.org:
bug#67921; Package guix-patches. (Sat, 16 Nov 2024 10:37:02 GMT) Full text and rfc822 format available.

Message #304 received at 67921 <at> debbugs.gnu.org (full text, mbox):

From: Nicolas Graves <ngraves <at> ngraves.fr>
To: Saku Laesvuori <saku <at> laesvuori.fi>, Divya Ranjan <divya <at> subvertising.org>
Cc: dev <at> jpoiret.xyz, Lars-Dominik Braun <lars <at> 6xq.net>, 67921 <at> debbugs.gnu.org
Subject: Re: [bug#67921] [PATCH v3 01/24] gnu: ghc: More robust build with
 binutils ≥ 2.39.
Date: Sat, 16 Nov 2024 11:36:19 +0100
On 2024-11-16 10:26, Saku Laesvuori wrote:

> On Fri, Nov 15, 2024 at 07:52:15PM +0000, Divya Ranjan wrote:
>> Also, one of the reasons why we haven't yet packaged
>> haskell-language-server is because of these ghc build issues, right?
>
> I think it is mostly because haskell-language-server is not on stackage
> and the hackage importer is[1] not able to recursively import working
> versions of the dependencies. Thus packaging HLS is quite tidious as one
> has to manually go through all the tens of invalid dependency versions.
> Updating ghc would probably help a bit, but I don't think it is the main
> issue.
>
> [1]: There was recently some work related to importing hackage packages
> by version so maybe this has changed

Indeed, I'll provide some patches for that, will CC you.

>
> - Saku

-- 
Best regards,
Nicolas Graves




This bug report was last modified 265 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.