all messages for Guix-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
* [bug#67921] [PATCH haskell-team 1/3] gnu: ghc-next: Update to version 9.4.8
@ 2023-12-20  7:10 Saku Laesvuori via Guix-patches via
  2023-12-20  7:13 ` [bug#67921] [PATCH haskell-team 2/3] gnu: ghc: Use version 9.4.8 as the default Saku Laesvuori via Guix-patches via
                   ` (3 more replies)
  0 siblings, 4 replies; 60+ messages in thread
From: Saku Laesvuori via Guix-patches via @ 2023-12-20  7:10 UTC (permalink / raw)
  To: 67921; +Cc: Saku Laesvuori, Lars-Dominik Braun

* 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@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





^ permalink raw reply related	[flat|nested] 60+ messages in thread

* [bug#67921] [PATCH haskell-team 2/3] gnu: ghc: Use version 9.4.8 as the default
  2023-12-20  7:10 [bug#67921] [PATCH haskell-team 1/3] gnu: ghc-next: Update to version 9.4.8 Saku Laesvuori via Guix-patches via
@ 2023-12-20  7:13 ` Saku Laesvuori via Guix-patches via
  2023-12-22 10:07   ` Lars-Dominik Braun
  2023-12-20  7:13 ` [bug#67921] [PATCH haskell-team 3/3] guix: haskell-build-system: Hide dependecies from ghc's package db Saku Laesvuori via Guix-patches via
                   ` (2 subsequent siblings)
  3 siblings, 1 reply; 60+ messages in thread
From: Saku Laesvuori via Guix-patches via @ 2023-12-20  7:13 UTC (permalink / raw)
  To: 67921; +Cc: Saku Laesvuori, Lars-Dominik Braun

* 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





^ permalink raw reply related	[flat|nested] 60+ messages in thread

* [bug#67921] [PATCH haskell-team 3/3] guix: haskell-build-system: Hide dependecies from ghc's package db
  2023-12-20  7:10 [bug#67921] [PATCH haskell-team 1/3] gnu: ghc-next: Update to version 9.4.8 Saku Laesvuori via Guix-patches via
  2023-12-20  7:13 ` [bug#67921] [PATCH haskell-team 2/3] gnu: ghc: Use version 9.4.8 as the default Saku Laesvuori via Guix-patches via
@ 2023-12-20  7:13 ` Saku Laesvuori via Guix-patches via
  2024-01-06 18:42   ` Lars-Dominik Braun
  2024-02-15  8:49   ` [bug#69154] " Saku Laesvuori via Guix-patches via
  2024-02-15 17:05 ` [bug#67921] [WIP PATCH v2 00/23] Update GHC to 9.6.4 Suhail via Guix-patches via
  3 siblings, 1 reply; 60+ messages in thread
From: Saku Laesvuori via Guix-patches via @ 2023-12-20  7:13 UTC (permalink / raw)
  To: 67921; +Cc: Saku Laesvuori, Lars-Dominik Braun

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





^ permalink raw reply related	[flat|nested] 60+ messages in thread

* [bug#67921] [PATCH haskell-team 2/3] gnu: ghc: Use version 9.4.8 as the default
  2023-12-20  7:13 ` [bug#67921] [PATCH haskell-team 2/3] gnu: ghc: Use version 9.4.8 as the default Saku Laesvuori via Guix-patches via
@ 2023-12-22 10:07   ` Lars-Dominik Braun
  2023-12-22 10:33     ` Saku Laesvuori via Guix-patches via
  0 siblings, 1 reply; 60+ messages in thread
From: Lars-Dominik Braun @ 2023-12-22 10:07 UTC (permalink / raw)
  To: Saku Laesvuori; +Cc: 67921

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





^ permalink raw reply	[flat|nested] 60+ messages in thread

* [bug#67921] [PATCH haskell-team 2/3] gnu: ghc: Use version 9.4.8 as the default
  2023-12-22 10:07   ` Lars-Dominik Braun
@ 2023-12-22 10:33     ` Saku Laesvuori via Guix-patches via
  2023-12-22 11:03       ` Lars-Dominik Braun
  0 siblings, 1 reply; 60+ messages in thread
From: Saku Laesvuori via Guix-patches via @ 2023-12-22 10:33 UTC (permalink / raw)
  To: Lars-Dominik Braun; +Cc: 67921

[-- Attachment #1: Type: text/plain, Size: 1206 bytes --]

> 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

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

^ permalink raw reply	[flat|nested] 60+ messages in thread

* [bug#67921] [PATCH haskell-team 2/3] gnu: ghc: Use version 9.4.8 as the default
  2023-12-22 10:33     ` Saku Laesvuori via Guix-patches via
@ 2023-12-22 11:03       ` Lars-Dominik Braun
  0 siblings, 0 replies; 60+ messages in thread
From: Lars-Dominik Braun @ 2023-12-22 11:03 UTC (permalink / raw)
  To: Saku Laesvuori; +Cc: 67921

[-- Attachment #1: Type: text/plain, Size: 1174 bytes --]

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


[-- Attachment #2: haskell-update.scm --]
[-- Type: application/vnd.lotus-screencam, Size: 8688 bytes --]

^ permalink raw reply	[flat|nested] 60+ messages in thread

* [bug#67921] [PATCH haskell-team 3/3] guix: haskell-build-system: Hide dependecies from ghc's package db
  2023-12-20  7:13 ` [bug#67921] [PATCH haskell-team 3/3] guix: haskell-build-system: Hide dependecies from ghc's package db Saku Laesvuori via Guix-patches via
@ 2024-01-06 18:42   ` Lars-Dominik Braun
  2024-01-08  7:09     ` Saku Laesvuori via Guix-patches via
  0 siblings, 1 reply; 60+ messages in thread
From: Lars-Dominik Braun @ 2024-01-06 18:42 UTC (permalink / raw)
  To: Saku Laesvuori; +Cc: 67921

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





^ permalink raw reply	[flat|nested] 60+ messages in thread

* [bug#67921] [PATCH haskell-team 3/3] guix: haskell-build-system: Hide dependecies from ghc's package db
  2024-01-06 18:42   ` Lars-Dominik Braun
@ 2024-01-08  7:09     ` Saku Laesvuori via Guix-patches via
  0 siblings, 0 replies; 60+ messages in thread
From: Saku Laesvuori via Guix-patches via @ 2024-01-08  7:09 UTC (permalink / raw)
  To: Lars-Dominik Braun; +Cc: 67921

[-- Attachment #1: Type: text/plain, Size: 467 bytes --]

> 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.

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

^ permalink raw reply	[flat|nested] 60+ messages in thread

* [bug#67921] [WIP PATCH v2 00/23] Update GHC to 9.6.4
@ 2024-02-15  8:49   ` Saku Laesvuori via Guix-patches via
  0 siblings, 0 replies; 60+ messages in thread
From: Saku Laesvuori via Guix-patches via @ 2024-02-15  8:49 UTC (permalink / raw)
  To: 67921; +Cc: Saku Laesvuori, Lars-Dominik Braun

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





^ permalink raw reply	[flat|nested] 60+ messages in thread

* [bug#69154] [WIP PATCH v2 00/23] Update GHC to 9.6.4
@ 2024-02-15  8:49   ` Saku Laesvuori via Guix-patches via
  0 siblings, 0 replies; 60+ messages in thread
From: Saku Laesvuori via Guix-patches via @ 2024-02-15  8:49 UTC (permalink / raw)
  To: 69154, 67921; +Cc: Saku Laesvuori, Lars-Dominik Braun

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





^ permalink raw reply	[flat|nested] 60+ messages in thread

* [bug#67921] [PATCH v2 01/23] gnu: ghc-next: Update to version 9.4.8
@ 2024-02-15  8:49     ` Saku Laesvuori via Guix-patches via
  0 siblings, 0 replies; 60+ messages in thread
From: Saku Laesvuori via Guix-patches via @ 2024-02-15  8:49 UTC (permalink / raw)
  To: 67921; +Cc: Saku Laesvuori, Lars-Dominik Braun

* 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@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





^ permalink raw reply related	[flat|nested] 60+ messages in thread

* [bug#69144] [PATCH v2 01/23] gnu: ghc-next: Update to version 9.4.8
@ 2024-02-15  8:49     ` Saku Laesvuori via Guix-patches via
  0 siblings, 0 replies; 60+ messages in thread
From: Saku Laesvuori via Guix-patches via @ 2024-02-15  8:49 UTC (permalink / raw)
  To: 69144, 67921; +Cc: Saku Laesvuori, Lars-Dominik Braun

* 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@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





^ permalink raw reply related	[flat|nested] 60+ messages in thread

* [bug#67921] [PATCH v2 02/23] gnu: Add ghc-js-flot-bootstrap-for-9.6
@ 2024-02-15  8:49     ` Saku Laesvuori via Guix-patches via
  0 siblings, 0 replies; 60+ messages in thread
From: Saku Laesvuori via Guix-patches via @ 2024-02-15  8:49 UTC (permalink / raw)
  To: 67921; +Cc: Saku Laesvuori, Lars-Dominik Braun

* 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





^ permalink raw reply related	[flat|nested] 60+ messages in thread

* [bug#69143] [PATCH v2 02/23] gnu: Add ghc-js-flot-bootstrap-for-9.6
@ 2024-02-15  8:49     ` Saku Laesvuori via Guix-patches via
  0 siblings, 0 replies; 60+ messages in thread
From: Saku Laesvuori via Guix-patches via @ 2024-02-15  8:49 UTC (permalink / raw)
  To: 69143, 67921; +Cc: Saku Laesvuori, Lars-Dominik Braun

* 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





^ permalink raw reply related	[flat|nested] 60+ messages in thread

* [bug#67921] [PATCH v2 03/23] gnu: Add ghc-clock-bootstrap-for-9.6
@ 2024-02-15  8:49     ` Saku Laesvuori via Guix-patches via
  0 siblings, 0 replies; 60+ messages in thread
From: Saku Laesvuori via Guix-patches via @ 2024-02-15  8:49 UTC (permalink / raw)
  To: 67921; +Cc: Saku Laesvuori, Lars-Dominik Braun

* 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





^ permalink raw reply related	[flat|nested] 60+ messages in thread

* [bug#69142] [PATCH v2 03/23] gnu: Add ghc-clock-bootstrap-for-9.6
@ 2024-02-15  8:49     ` Saku Laesvuori via Guix-patches via
  0 siblings, 0 replies; 60+ messages in thread
From: Saku Laesvuori via Guix-patches via @ 2024-02-15  8:49 UTC (permalink / raw)
  To: 69142, 67921; +Cc: Saku Laesvuori, Lars-Dominik Braun

* 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





^ permalink raw reply related	[flat|nested] 60+ messages in thread

* [bug#67921] [PATCH v2 04/23] gnu: Add ghc-extra-bootstrap-for-9.6
@ 2024-02-15  8:49     ` Saku Laesvuori via Guix-patches via
  0 siblings, 0 replies; 60+ messages in thread
From: Saku Laesvuori via Guix-patches via @ 2024-02-15  8:49 UTC (permalink / raw)
  To: 67921; +Cc: Saku Laesvuori, Lars-Dominik Braun

* 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





^ permalink raw reply related	[flat|nested] 60+ messages in thread

* [bug#69151] [PATCH v2 04/23] gnu: Add ghc-extra-bootstrap-for-9.6
@ 2024-02-15  8:49     ` Saku Laesvuori via Guix-patches via
  0 siblings, 0 replies; 60+ messages in thread
From: Saku Laesvuori via Guix-patches via @ 2024-02-15  8:49 UTC (permalink / raw)
  To: 69151, 67921; +Cc: Saku Laesvuori, Lars-Dominik Braun

* 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





^ permalink raw reply related	[flat|nested] 60+ messages in thread

* [bug#67921] [PATCH v2 05/23] gnu: Add ghc-hashable-bootstrap-for-9.6
@ 2024-02-15  8:49     ` Saku Laesvuori via Guix-patches via
  0 siblings, 0 replies; 60+ messages in thread
From: Saku Laesvuori via Guix-patches via @ 2024-02-15  8:49 UTC (permalink / raw)
  To: 67921; +Cc: Saku Laesvuori, Lars-Dominik Braun

* 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





^ permalink raw reply related	[flat|nested] 60+ messages in thread

* [bug#69158] [PATCH v2 05/23] gnu: Add ghc-hashable-bootstrap-for-9.6
@ 2024-02-15  8:49     ` Saku Laesvuori via Guix-patches via
  0 siblings, 0 replies; 60+ messages in thread
From: Saku Laesvuori via Guix-patches via @ 2024-02-15  8:49 UTC (permalink / raw)
  To: 69158, 67921; +Cc: Saku Laesvuori, Lars-Dominik Braun

* 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





^ permalink raw reply related	[flat|nested] 60+ messages in thread

* [bug#67921] [PATCH v2 06/23] gnu: Add ghc-splitmix-bootstrap-for-9.6
@ 2024-02-15  8:49     ` Saku Laesvuori via Guix-patches via
  0 siblings, 0 replies; 60+ messages in thread
From: Saku Laesvuori via Guix-patches via @ 2024-02-15  8:49 UTC (permalink / raw)
  To: 67921; +Cc: Saku Laesvuori, Lars-Dominik Braun

* 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





^ permalink raw reply related	[flat|nested] 60+ messages in thread

* [bug#69165] [PATCH v2 06/23] gnu: Add ghc-splitmix-bootstrap-for-9.6
@ 2024-02-15  8:49     ` Saku Laesvuori via Guix-patches via
  0 siblings, 0 replies; 60+ messages in thread
From: Saku Laesvuori via Guix-patches via @ 2024-02-15  8:49 UTC (permalink / raw)
  To: 69165, 67921; +Cc: Saku Laesvuori, Lars-Dominik Braun

* 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





^ permalink raw reply related	[flat|nested] 60+ messages in thread

* [bug#67921] [PATCH v2 07/23] gnu: Add ghc-random-bootstrap-for-9.6
@ 2024-02-15  8:49     ` Saku Laesvuori via Guix-patches via
  0 siblings, 0 replies; 60+ messages in thread
From: Saku Laesvuori via Guix-patches via @ 2024-02-15  8:49 UTC (permalink / raw)
  To: 67921; +Cc: Saku Laesvuori, Lars-Dominik Braun

* 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





^ permalink raw reply related	[flat|nested] 60+ messages in thread

* [bug#69156] [PATCH v2 07/23] gnu: Add ghc-random-bootstrap-for-9.6
@ 2024-02-15  8:49     ` Saku Laesvuori via Guix-patches via
  0 siblings, 0 replies; 60+ messages in thread
From: Saku Laesvuori via Guix-patches via @ 2024-02-15  8:49 UTC (permalink / raw)
  To: 69156, 67921; +Cc: Saku Laesvuori, Lars-Dominik Braun

* 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





^ permalink raw reply related	[flat|nested] 60+ messages in thread

* [bug#67921] [PATCH v2 08/23] gnu: Add ghc-primitive-bootstrap-for-9.6
@ 2024-02-15  8:49     ` Saku Laesvuori via Guix-patches via
  0 siblings, 0 replies; 60+ messages in thread
From: Saku Laesvuori via Guix-patches via @ 2024-02-15  8:49 UTC (permalink / raw)
  To: 67921; +Cc: Saku Laesvuori, Lars-Dominik Braun

* 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





^ permalink raw reply related	[flat|nested] 60+ messages in thread

* [bug#69161] [PATCH v2 08/23] gnu: Add ghc-primitive-bootstrap-for-9.6
@ 2024-02-15  8:49     ` Saku Laesvuori via Guix-patches via
  0 siblings, 0 replies; 60+ messages in thread
From: Saku Laesvuori via Guix-patches via @ 2024-02-15  8:49 UTC (permalink / raw)
  To: 69161, 67921; +Cc: Saku Laesvuori, Lars-Dominik Braun

* 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





^ permalink raw reply related	[flat|nested] 60+ messages in thread

* [bug#67921] [PATCH v2 09/23] gnu: Add ghc-js-jquery-bootstrap-for-9.6
@ 2024-02-15  8:49     ` Saku Laesvuori via Guix-patches via
  0 siblings, 0 replies; 60+ messages in thread
From: Saku Laesvuori via Guix-patches via @ 2024-02-15  8:49 UTC (permalink / raw)
  To: 67921; +Cc: Saku Laesvuori, Lars-Dominik Braun

* 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





^ permalink raw reply related	[flat|nested] 60+ messages in thread

* [bug#69153] [PATCH v2 09/23] gnu: Add ghc-js-jquery-bootstrap-for-9.6
@ 2024-02-15  8:49     ` Saku Laesvuori via Guix-patches via
  0 siblings, 0 replies; 60+ messages in thread
From: Saku Laesvuori via Guix-patches via @ 2024-02-15  8:49 UTC (permalink / raw)
  To: 69153, 67921; +Cc: Saku Laesvuori, Lars-Dominik Braun

* 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





^ permalink raw reply related	[flat|nested] 60+ messages in thread

* [bug#67921] [PATCH v2 10/23] gnu: Add ghc-utf8-string-bootstrap-for-9.6
@ 2024-02-15  8:49     ` Saku Laesvuori via Guix-patches via
  0 siblings, 0 replies; 60+ messages in thread
From: Saku Laesvuori via Guix-patches via @ 2024-02-15  8:49 UTC (permalink / raw)
  To: 67921; +Cc: Saku Laesvuori, Lars-Dominik Braun

* 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





^ permalink raw reply related	[flat|nested] 60+ messages in thread

* [bug#69157] [PATCH v2 10/23] gnu: Add ghc-utf8-string-bootstrap-for-9.6
@ 2024-02-15  8:49     ` Saku Laesvuori via Guix-patches via
  0 siblings, 0 replies; 60+ messages in thread
From: Saku Laesvuori via Guix-patches via @ 2024-02-15  8:49 UTC (permalink / raw)
  To: 69157, 67921; +Cc: Saku Laesvuori, Lars-Dominik Braun

* 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





^ permalink raw reply related	[flat|nested] 60+ messages in thread

* [bug#67921] [PATCH v2 11/23] gnu: Add ghc-heaps-bootstrap-for-9.6
@ 2024-02-15  8:49     ` Saku Laesvuori via Guix-patches via
  0 siblings, 0 replies; 60+ messages in thread
From: Saku Laesvuori via Guix-patches via @ 2024-02-15  8:49 UTC (permalink / raw)
  To: 67921; +Cc: Saku Laesvuori, Lars-Dominik Braun

* 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





^ permalink raw reply related	[flat|nested] 60+ messages in thread

* [bug#69152] [PATCH v2 11/23] gnu: Add ghc-heaps-bootstrap-for-9.6
@ 2024-02-15  8:49     ` Saku Laesvuori via Guix-patches via
  0 siblings, 0 replies; 60+ messages in thread
From: Saku Laesvuori via Guix-patches via @ 2024-02-15  8:49 UTC (permalink / raw)
  To: 69152, 67921; +Cc: Saku Laesvuori, Lars-Dominik Braun

* 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





^ permalink raw reply related	[flat|nested] 60+ messages in thread

* [bug#67921] [PATCH v2 12/23] gnu: Add ghc-js-dgtable-bootstrap-for-9.6
@ 2024-02-15  8:49     ` Saku Laesvuori via Guix-patches via
  0 siblings, 0 replies; 60+ messages in thread
From: Saku Laesvuori via Guix-patches via @ 2024-02-15  8:49 UTC (permalink / raw)
  To: 67921; +Cc: Saku Laesvuori, Lars-Dominik Braun

* 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





^ permalink raw reply related	[flat|nested] 60+ messages in thread

* [bug#69146] [PATCH v2 12/23] gnu: Add ghc-js-dgtable-bootstrap-for-9.6
@ 2024-02-15  8:49     ` Saku Laesvuori via Guix-patches via
  0 siblings, 0 replies; 60+ messages in thread
From: Saku Laesvuori via Guix-patches via @ 2024-02-15  8:49 UTC (permalink / raw)
  To: 69146, 67921; +Cc: Saku Laesvuori, Lars-Dominik Braun

* 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





^ permalink raw reply related	[flat|nested] 60+ messages in thread

* [bug#67921] [PATCH v2 13/23] gnu: Add ghc-nats-bootstrap-for-9.6
@ 2024-02-15  8:49     ` Saku Laesvuori via Guix-patches via
  0 siblings, 0 replies; 60+ messages in thread
From: Saku Laesvuori via Guix-patches via @ 2024-02-15  8:49 UTC (permalink / raw)
  To: 67921; +Cc: Saku Laesvuori, Lars-Dominik Braun

* 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





^ permalink raw reply related	[flat|nested] 60+ messages in thread

* [bug#69147] [PATCH v2 13/23] gnu: Add ghc-nats-bootstrap-for-9.6
@ 2024-02-15  8:49     ` Saku Laesvuori via Guix-patches via
  0 siblings, 0 replies; 60+ messages in thread
From: Saku Laesvuori via Guix-patches via @ 2024-02-15  8:49 UTC (permalink / raw)
  To: 69147, 67921; +Cc: Saku Laesvuori, Lars-Dominik Braun

* 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





^ permalink raw reply related	[flat|nested] 60+ messages in thread

* [bug#67921] [PATCH v2 14/23] gnu: Add ghc-tagged-bootstrap-for-9.6
@ 2024-02-15  8:49     ` Saku Laesvuori via Guix-patches via
  0 siblings, 0 replies; 60+ messages in thread
From: Saku Laesvuori via Guix-patches via @ 2024-02-15  8:49 UTC (permalink / raw)
  To: 67921; +Cc: Saku Laesvuori, Lars-Dominik Braun

* 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





^ permalink raw reply related	[flat|nested] 60+ messages in thread

* [bug#69145] [PATCH v2 14/23] gnu: Add ghc-tagged-bootstrap-for-9.6
@ 2024-02-15  8:49     ` Saku Laesvuori via Guix-patches via
  0 siblings, 0 replies; 60+ messages in thread
From: Saku Laesvuori via Guix-patches via @ 2024-02-15  8:49 UTC (permalink / raw)
  To: 69145, 67921; +Cc: Saku Laesvuori, Lars-Dominik Braun

* 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





^ permalink raw reply related	[flat|nested] 60+ messages in thread

* [bug#67921] [PATCH v2 15/23] gnu: Add ghc-semigroups-bootstrap-for-9.6
@ 2024-02-15  8:49     ` Saku Laesvuori via Guix-patches via
  0 siblings, 0 replies; 60+ messages in thread
From: Saku Laesvuori via Guix-patches via @ 2024-02-15  8:49 UTC (permalink / raw)
  To: 67921; +Cc: Saku Laesvuori, Lars-Dominik Braun

* 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





^ permalink raw reply related	[flat|nested] 60+ messages in thread

* [bug#69148] [PATCH v2 15/23] gnu: Add ghc-semigroups-bootstrap-for-9.6
@ 2024-02-15  8:49     ` Saku Laesvuori via Guix-patches via
  0 siblings, 0 replies; 60+ messages in thread
From: Saku Laesvuori via Guix-patches via @ 2024-02-15  8:49 UTC (permalink / raw)
  To: 69148, 67921; +Cc: Saku Laesvuori, Lars-Dominik Braun

* 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





^ permalink raw reply related	[flat|nested] 60+ messages in thread

* [bug#67921] [PATCH v2 16/23] gnu: Add ghc-base16-bytestring-bootstrap-for-9.6
@ 2024-02-15  8:49     ` Saku Laesvuori via Guix-patches via
  0 siblings, 0 replies; 60+ messages in thread
From: Saku Laesvuori via Guix-patches via @ 2024-02-15  8:49 UTC (permalink / raw)
  To: 67921; +Cc: Saku Laesvuori, Lars-Dominik Braun

* 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





^ permalink raw reply related	[flat|nested] 60+ messages in thread

* [bug#69155] [PATCH v2 16/23] gnu: Add ghc-base16-bytestring-bootstrap-for-9.6
@ 2024-02-15  8:49     ` Saku Laesvuori via Guix-patches via
  0 siblings, 0 replies; 60+ messages in thread
From: Saku Laesvuori via Guix-patches via @ 2024-02-15  8:49 UTC (permalink / raw)
  To: 69155, 67921; +Cc: Saku Laesvuori, Lars-Dominik Braun

* 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





^ permalink raw reply related	[flat|nested] 60+ messages in thread

* [bug#67921] [PATCH v2 17/23] gnu: Add ghc-cryptohash-sha256-bootstrap-for-9.6
@ 2024-02-15  8:49     ` Saku Laesvuori via Guix-patches via
  0 siblings, 0 replies; 60+ messages in thread
From: Saku Laesvuori via Guix-patches via @ 2024-02-15  8:49 UTC (permalink / raw)
  To: 67921; +Cc: Saku Laesvuori, Lars-Dominik Braun

* 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





^ permalink raw reply related	[flat|nested] 60+ messages in thread

* [bug#69160] [PATCH v2 17/23] gnu: Add ghc-cryptohash-sha256-bootstrap-for-9.6
@ 2024-02-15  8:49     ` Saku Laesvuori via Guix-patches via
  0 siblings, 0 replies; 60+ messages in thread
From: Saku Laesvuori via Guix-patches via @ 2024-02-15  8:49 UTC (permalink / raw)
  To: 69160, 67921; +Cc: Saku Laesvuori, Lars-Dominik Braun

* 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





^ permalink raw reply related	[flat|nested] 60+ messages in thread

* [bug#67921] [PATCH v2 18/23] gnu: Add ghc-unordered-containers-bootstrap-for-9.6
@ 2024-02-15  8:49     ` Saku Laesvuori via Guix-patches via
  0 siblings, 0 replies; 60+ messages in thread
From: Saku Laesvuori via Guix-patches via @ 2024-02-15  8:49 UTC (permalink / raw)
  To: 67921; +Cc: Saku Laesvuori, Lars-Dominik Braun

* 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





^ permalink raw reply related	[flat|nested] 60+ messages in thread

* [bug#69149] [PATCH v2 18/23] gnu: Add ghc-unordered-containers-bootstrap-for-9.6
@ 2024-02-15  8:49     ` Saku Laesvuori via Guix-patches via
  0 siblings, 0 replies; 60+ messages in thread
From: Saku Laesvuori via Guix-patches via @ 2024-02-15  8:49 UTC (permalink / raw)
  To: 69149, 67921; +Cc: Saku Laesvuori, Lars-Dominik Braun

* 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





^ permalink raw reply related	[flat|nested] 60+ messages in thread

* [bug#67921] [PATCH v2 19/23] gnu: Add ghc-filepattern-bootstrap-for-9.6
@ 2024-02-15  8:50     ` Saku Laesvuori via Guix-patches via
  0 siblings, 0 replies; 60+ messages in thread
From: Saku Laesvuori via Guix-patches via @ 2024-02-15  8:50 UTC (permalink / raw)
  To: 67921; +Cc: Saku Laesvuori, Lars-Dominik Braun

* 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





^ permalink raw reply related	[flat|nested] 60+ messages in thread

* [bug#69162] [PATCH v2 19/23] gnu: Add ghc-filepattern-bootstrap-for-9.6
@ 2024-02-15  8:50     ` Saku Laesvuori via Guix-patches via
  0 siblings, 0 replies; 60+ messages in thread
From: Saku Laesvuori via Guix-patches via @ 2024-02-15  8:50 UTC (permalink / raw)
  To: 69162, 67921; +Cc: Saku Laesvuori, Lars-Dominik Braun

* 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





^ permalink raw reply related	[flat|nested] 60+ messages in thread

* [bug#67921] [PATCH v2 20/23] gnu: Add ghc-shake-bootstrap-for-9.6
@ 2024-02-15  8:50     ` Saku Laesvuori via Guix-patches via
  0 siblings, 0 replies; 60+ messages in thread
From: Saku Laesvuori via Guix-patches via @ 2024-02-15  8:50 UTC (permalink / raw)
  To: 67921; +Cc: Saku Laesvuori, Lars-Dominik Braun

* 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





^ permalink raw reply related	[flat|nested] 60+ messages in thread

* [bug#69163] [PATCH v2 20/23] gnu: Add ghc-shake-bootstrap-for-9.6
@ 2024-02-15  8:50     ` Saku Laesvuori via Guix-patches via
  0 siblings, 0 replies; 60+ messages in thread
From: Saku Laesvuori via Guix-patches via @ 2024-02-15  8:50 UTC (permalink / raw)
  To: 69163, 67921; +Cc: Saku Laesvuori, Lars-Dominik Braun

* 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





^ permalink raw reply related	[flat|nested] 60+ messages in thread

* [bug#67921] [PATCH v2 21/23] gnu: Add hadrian-for-ghc-9.6
@ 2024-02-15  8:50     ` Saku Laesvuori via Guix-patches via
  0 siblings, 0 replies; 60+ messages in thread
From: Saku Laesvuori via Guix-patches via @ 2024-02-15  8:50 UTC (permalink / raw)
  To: 67921; +Cc: Saku Laesvuori, Lars-Dominik Braun

* 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





^ permalink raw reply related	[flat|nested] 60+ messages in thread

* [bug#69164] [PATCH v2 21/23] gnu: Add hadrian-for-ghc-9.6
@ 2024-02-15  8:50     ` Saku Laesvuori via Guix-patches via
  0 siblings, 0 replies; 60+ messages in thread
From: Saku Laesvuori via Guix-patches via @ 2024-02-15  8:50 UTC (permalink / raw)
  To: 69164, 67921; +Cc: Saku Laesvuori, Lars-Dominik Braun

* 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





^ permalink raw reply related	[flat|nested] 60+ messages in thread

* [bug#67921] [PATCH v2 22/23] gnu: Add ghc-9.6
@ 2024-02-15  8:50     ` Saku Laesvuori via Guix-patches via
  0 siblings, 0 replies; 60+ messages in thread
From: Saku Laesvuori via Guix-patches via @ 2024-02-15  8:50 UTC (permalink / raw)
  To: 67921; +Cc: Saku Laesvuori, Lars-Dominik Braun

* 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





^ permalink raw reply related	[flat|nested] 60+ messages in thread

* [bug#69159] [PATCH v2 22/23] gnu: Add ghc-9.6
@ 2024-02-15  8:50     ` Saku Laesvuori via Guix-patches via
  0 siblings, 0 replies; 60+ messages in thread
From: Saku Laesvuori via Guix-patches via @ 2024-02-15  8:50 UTC (permalink / raw)
  To: 69159, 67921; +Cc: Saku Laesvuori, Lars-Dominik Braun

* 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





^ permalink raw reply related	[flat|nested] 60+ messages in thread

* [bug#67921] [PATCH v2 23/23] gnu: ghc: Update to version 9.6.4
@ 2024-02-15  8:50     ` Saku Laesvuori via Guix-patches via
  0 siblings, 0 replies; 60+ messages in thread
From: Saku Laesvuori via Guix-patches via @ 2024-02-15  8:50 UTC (permalink / raw)
  To: 67921; +Cc: Saku Laesvuori, Lars-Dominik Braun

* 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





^ permalink raw reply related	[flat|nested] 60+ messages in thread

* [bug#69150] [PATCH v2 23/23] gnu: ghc: Update to version 9.6.4
@ 2024-02-15  8:50     ` Saku Laesvuori via Guix-patches via
  0 siblings, 0 replies; 60+ messages in thread
From: Saku Laesvuori via Guix-patches via @ 2024-02-15  8:50 UTC (permalink / raw)
  To: 69150, 67921; +Cc: Saku Laesvuori, Lars-Dominik Braun

* 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





^ permalink raw reply related	[flat|nested] 60+ messages in thread

* [bug#69154] Closing accidental issues
  2024-02-15  8:49   ` [bug#69154] " Saku Laesvuori via Guix-patches via
                     ` (23 preceding siblings ...)
  (?)
@ 2024-02-15 16:41   ` Saku Laesvuori via Guix-patches via
  2024-02-15 17:05     ` Hilton Chain via Guix-patches via
  -1 siblings, 1 reply; 60+ messages in thread
From: Saku Laesvuori via Guix-patches via @ 2024-02-15 16:41 UTC (permalink / raw)
  To: 69154

[-- Attachment #1: Type: text/plain, Size: 216 bytes --]

Git send-email went crazy today and sent my patch series to guix-patches
in addition to the correct issue, creating 24 new issues. Can I close
them myself or do I just have to wait for someone else to do it?

- Saku

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

^ permalink raw reply	[flat|nested] 60+ messages in thread

* [bug#67921] [WIP PATCH v2 00/23] Update GHC to 9.6.4
  2023-12-20  7:10 [bug#67921] [PATCH haskell-team 1/3] gnu: ghc-next: Update to version 9.4.8 Saku Laesvuori via Guix-patches via
                   ` (2 preceding siblings ...)
  2024-02-15  8:49   ` [bug#69154] " Saku Laesvuori via Guix-patches via
@ 2024-02-15 17:05 ` Suhail via Guix-patches via
  2024-02-15 17:49   ` Saku Laesvuori via Guix-patches via
  3 siblings, 1 reply; 60+ messages in thread
From: Suhail via Guix-patches via @ 2024-02-15 17:05 UTC (permalink / raw)
  To: 67921; +Cc: Saku Laesvuori, Lars-Dominik Braun

Saku Laesvuori via Guix-patches via <guix-patches@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





^ permalink raw reply	[flat|nested] 60+ messages in thread

* [bug#69154] Closing accidental issues
  2024-02-15 16:41   ` [bug#69154] Closing accidental issues Saku Laesvuori via Guix-patches via
@ 2024-02-15 17:05     ` Hilton Chain via Guix-patches via
  0 siblings, 0 replies; 60+ messages in thread
From: Hilton Chain via Guix-patches via @ 2024-02-15 17:05 UTC (permalink / raw)
  To: Saku Laesvuori; +Cc: 69154

Hi Saku,

On Fri, 16 Feb 2024 00:41:20 +0800,
Saku Laesvuori via Guix-patches via wrote:
>
> [1  <text/plain; us-ascii (7bit)>]
> Git send-email went crazy today and sent my patch series to guix-patches
> in addition to the correct issue, creating 24 new issues. Can I close
> them myself or do I just have to wait for someone else to do it?

You can close them yourself, anyone can close any issues actually :)

See details on <https://debbugs.gnu.org/server-control.html>, I think you want
‘merge’ them first and ‘close’ in this case?

Thanks




^ permalink raw reply	[flat|nested] 60+ messages in thread

* [bug#67921] [WIP PATCH v2 00/23] Update GHC to 9.6.4
  2024-02-15 17:05 ` [bug#67921] [WIP PATCH v2 00/23] Update GHC to 9.6.4 Suhail via Guix-patches via
@ 2024-02-15 17:49   ` Saku Laesvuori via Guix-patches via
  0 siblings, 0 replies; 60+ messages in thread
From: Saku Laesvuori via Guix-patches via @ 2024-02-15 17:49 UTC (permalink / raw)
  To: Suhail; +Cc: Lars-Dominik Braun, 67921

[-- Attachment #1: Type: text/plain, Size: 364 bytes --]

> Saku Laesvuori via Guix-patches via <guix-patches@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.

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

^ permalink raw reply	[flat|nested] 60+ messages in thread

end of thread, other threads:[~2024-02-15 17:50 UTC | newest]

Thread overview: 60+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-12-20  7:10 [bug#67921] [PATCH haskell-team 1/3] gnu: ghc-next: Update to version 9.4.8 Saku Laesvuori via Guix-patches via
2023-12-20  7:13 ` [bug#67921] [PATCH haskell-team 2/3] gnu: ghc: Use version 9.4.8 as the default Saku Laesvuori via Guix-patches via
2023-12-22 10:07   ` Lars-Dominik Braun
2023-12-22 10:33     ` Saku Laesvuori via Guix-patches via
2023-12-22 11:03       ` Lars-Dominik Braun
2023-12-20  7:13 ` [bug#67921] [PATCH haskell-team 3/3] guix: haskell-build-system: Hide dependecies from ghc's package db Saku Laesvuori via Guix-patches via
2024-01-06 18:42   ` Lars-Dominik Braun
2024-01-08  7:09     ` Saku Laesvuori via Guix-patches via
2024-02-15  8:49 ` [bug#67921] [WIP PATCH v2 00/23] Update GHC to 9.6.4 Saku Laesvuori via Guix-patches via
2024-02-15  8:49   ` [bug#69154] " Saku Laesvuori via Guix-patches via
2024-02-15  8:49   ` [bug#67921] [PATCH v2 01/23] gnu: ghc-next: Update to version 9.4.8 Saku Laesvuori via Guix-patches via
2024-02-15  8:49     ` [bug#69144] " Saku Laesvuori via Guix-patches via
2024-02-15  8:49   ` [bug#67921] [PATCH v2 02/23] gnu: Add ghc-js-flot-bootstrap-for-9.6 Saku Laesvuori via Guix-patches via
2024-02-15  8:49     ` [bug#69143] " Saku Laesvuori via Guix-patches via
2024-02-15  8:49   ` [bug#67921] [PATCH v2 03/23] gnu: Add ghc-clock-bootstrap-for-9.6 Saku Laesvuori via Guix-patches via
2024-02-15  8:49     ` [bug#69142] " Saku Laesvuori via Guix-patches via
2024-02-15  8:49   ` [bug#67921] [PATCH v2 04/23] gnu: Add ghc-extra-bootstrap-for-9.6 Saku Laesvuori via Guix-patches via
2024-02-15  8:49     ` [bug#69151] " Saku Laesvuori via Guix-patches via
2024-02-15  8:49   ` [bug#67921] [PATCH v2 05/23] gnu: Add ghc-hashable-bootstrap-for-9.6 Saku Laesvuori via Guix-patches via
2024-02-15  8:49     ` [bug#69158] " Saku Laesvuori via Guix-patches via
2024-02-15  8:49   ` [bug#67921] [PATCH v2 06/23] gnu: Add ghc-splitmix-bootstrap-for-9.6 Saku Laesvuori via Guix-patches via
2024-02-15  8:49     ` [bug#69165] " Saku Laesvuori via Guix-patches via
2024-02-15  8:49   ` [bug#67921] [PATCH v2 07/23] gnu: Add ghc-random-bootstrap-for-9.6 Saku Laesvuori via Guix-patches via
2024-02-15  8:49     ` [bug#69156] " Saku Laesvuori via Guix-patches via
2024-02-15  8:49   ` [bug#67921] [PATCH v2 08/23] gnu: Add ghc-primitive-bootstrap-for-9.6 Saku Laesvuori via Guix-patches via
2024-02-15  8:49     ` [bug#69161] " Saku Laesvuori via Guix-patches via
2024-02-15  8:49   ` [bug#67921] [PATCH v2 09/23] gnu: Add ghc-js-jquery-bootstrap-for-9.6 Saku Laesvuori via Guix-patches via
2024-02-15  8:49     ` [bug#69153] " Saku Laesvuori via Guix-patches via
2024-02-15  8:49   ` [bug#67921] [PATCH v2 10/23] gnu: Add ghc-utf8-string-bootstrap-for-9.6 Saku Laesvuori via Guix-patches via
2024-02-15  8:49     ` [bug#69157] " Saku Laesvuori via Guix-patches via
2024-02-15  8:49   ` [bug#67921] [PATCH v2 11/23] gnu: Add ghc-heaps-bootstrap-for-9.6 Saku Laesvuori via Guix-patches via
2024-02-15  8:49     ` [bug#69152] " Saku Laesvuori via Guix-patches via
2024-02-15  8:49   ` [bug#67921] [PATCH v2 12/23] gnu: Add ghc-js-dgtable-bootstrap-for-9.6 Saku Laesvuori via Guix-patches via
2024-02-15  8:49     ` [bug#69146] " Saku Laesvuori via Guix-patches via
2024-02-15  8:49   ` [bug#67921] [PATCH v2 13/23] gnu: Add ghc-nats-bootstrap-for-9.6 Saku Laesvuori via Guix-patches via
2024-02-15  8:49     ` [bug#69147] " Saku Laesvuori via Guix-patches via
2024-02-15  8:49   ` [bug#67921] [PATCH v2 14/23] gnu: Add ghc-tagged-bootstrap-for-9.6 Saku Laesvuori via Guix-patches via
2024-02-15  8:49     ` [bug#69145] " Saku Laesvuori via Guix-patches via
2024-02-15  8:49   ` [bug#67921] [PATCH v2 15/23] gnu: Add ghc-semigroups-bootstrap-for-9.6 Saku Laesvuori via Guix-patches via
2024-02-15  8:49     ` [bug#69148] " Saku Laesvuori via Guix-patches via
2024-02-15  8:49   ` [bug#67921] [PATCH v2 16/23] gnu: Add ghc-base16-bytestring-bootstrap-for-9.6 Saku Laesvuori via Guix-patches via
2024-02-15  8:49     ` [bug#69155] " Saku Laesvuori via Guix-patches via
2024-02-15  8:49   ` [bug#67921] [PATCH v2 17/23] gnu: Add ghc-cryptohash-sha256-bootstrap-for-9.6 Saku Laesvuori via Guix-patches via
2024-02-15  8:49     ` [bug#69160] " Saku Laesvuori via Guix-patches via
2024-02-15  8:49   ` [bug#67921] [PATCH v2 18/23] gnu: Add ghc-unordered-containers-bootstrap-for-9.6 Saku Laesvuori via Guix-patches via
2024-02-15  8:49     ` [bug#69149] " Saku Laesvuori via Guix-patches via
2024-02-15  8:50   ` [bug#67921] [PATCH v2 19/23] gnu: Add ghc-filepattern-bootstrap-for-9.6 Saku Laesvuori via Guix-patches via
2024-02-15  8:50     ` [bug#69162] " Saku Laesvuori via Guix-patches via
2024-02-15  8:50   ` [bug#67921] [PATCH v2 20/23] gnu: Add ghc-shake-bootstrap-for-9.6 Saku Laesvuori via Guix-patches via
2024-02-15  8:50     ` [bug#69163] " Saku Laesvuori via Guix-patches via
2024-02-15  8:50   ` [bug#67921] [PATCH v2 21/23] gnu: Add hadrian-for-ghc-9.6 Saku Laesvuori via Guix-patches via
2024-02-15  8:50     ` [bug#69164] " Saku Laesvuori via Guix-patches via
2024-02-15  8:50   ` [bug#67921] [PATCH v2 22/23] gnu: Add ghc-9.6 Saku Laesvuori via Guix-patches via
2024-02-15  8:50     ` [bug#69159] " Saku Laesvuori via Guix-patches via
2024-02-15  8:50   ` [bug#67921] [PATCH v2 23/23] gnu: ghc: Update to version 9.6.4 Saku Laesvuori via Guix-patches via
2024-02-15  8:50     ` [bug#69150] " Saku Laesvuori via Guix-patches via
2024-02-15 16:41   ` [bug#69154] Closing accidental issues Saku Laesvuori via Guix-patches via
2024-02-15 17:05     ` Hilton Chain via Guix-patches via
2024-02-15 17:05 ` [bug#67921] [WIP PATCH v2 00/23] Update GHC to 9.6.4 Suhail via Guix-patches via
2024-02-15 17:49   ` Saku Laesvuori via Guix-patches via

Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/guix.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.