summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--gnu/packages/haskell-check.scm16
-rw-r--r--gnu/packages/haskell.scm37
2 files changed, 49 insertions, 4 deletions
diff --git a/gnu/packages/haskell-check.scm b/gnu/packages/haskell-check.scm
index 57e7f0edc1..a9ff6af041 100644
--- a/gnu/packages/haskell-check.scm
+++ b/gnu/packages/haskell-check.scm
@@ -452,7 +452,7 @@ expressed in Haskell, using combinators defined in the QuickCheck library.")
 (define-public ghc-test-framework
   (package
     (name "ghc-test-framework")
-    (version "0.8.1.1")
+    (version "0.8.2.0")
     (source
      (origin
        (method url-fetch)
@@ -460,10 +460,17 @@ expressed in Haskell, using combinators defined in the QuickCheck library.")
                            "test-framework-" version ".tar.gz"))
        (sha256
         (base32
-         "0wxjgdvb1c4ykazw774zlx86550848wbsvgjgcrdzcgbb9m650vq"))))
+         "1hhacrzam6b8f10hyldmjw8pb7frdxh04rfg3farxcxwbnhwgbpm"))))
     (build-system haskell-build-system)
     (arguments
-     `(#:configure-flags (list "--allow-newer=time")))
+     `(#:tests? #f  ; FIXME: Tests do not build.
+       #:phases
+       (modify-phases %standard-phases
+         (add-before 'configure 'update-constraints
+           (lambda _
+             (substitute* "test-framework.cabal"
+               (("QuickCheck     >= 2\\.3 && < 2\\.10")
+                "QuickCheck     >= 2.3 && < 2.12")))))))
     (native-inputs
      `(("ghc-hunit" ,ghc-hunit)
        ("ghc-quickcheck" ,ghc-quickcheck)))
@@ -475,7 +482,8 @@ expressed in Haskell, using combinators defined in the QuickCheck library.")
        ("ghc-random" ,ghc-random)
        ("ghc-regex-posix" ,ghc-regex-posix)
        ("ghc-xml" ,ghc-xml)
-       ("ghc-libxml" ,ghc-libxml)))
+       ("ghc-libxml" ,ghc-libxml)
+       ("ghc-semigroups" ,ghc-semigroups-bootstrap)))
     (home-page "https://batterseapower.github.io/test-framework/")
     (synopsis "Framework for running and organising tests")
     (description
diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm
index 6036a12ee1..a12e7e894b 100644
--- a/gnu/packages/haskell.scm
+++ b/gnu/packages/haskell.scm
@@ -2266,6 +2266,14 @@ data structures.  The package provides instances for basic types and a way to
 combine hash values.")
     (license license:bsd-3)))
 
+(define-public ghc-hashable-bootstrap
+  (package
+    (inherit ghc-hashable)
+    (name "ghc-hashable-bootstrap")
+    (arguments `(#:tests? #f))
+    (native-inputs '())
+    (properties '((hidden? #t)))))
+
 (define-public ghc-hashable-time
   (package
     (name "ghc-hashable-time")
@@ -3580,6 +3588,15 @@ optimized for performance critical use, both in terms of large data quantities
 and high speed.")
     (license license:bsd-3)))
 
+(define-public ghc-unordered-containers-bootstrap
+  (package
+    (inherit ghc-unordered-containers)
+    (name "ghc-unordered-containers-bootstrap")
+    (arguments `(#:tests? #f))
+    (inputs
+     `(("ghc-hashable" ,ghc-hashable-bootstrap)))
+    (properties '(hidden? #t))))
+
 (define-public ghc-uniplate
   (package
     (name "ghc-uniplate")
@@ -4569,6 +4586,14 @@ Compatibility package for older packages.")
     (description "This library provides the natural numbers for Haskell.")
     (license license:bsd-3)))
 
+(define-public ghc-nats-bootstrap
+  (package
+    (inherit ghc-nats)
+    (name "ghc-nats-bootstrap")
+    (inputs
+     `(("ghc-hashable" ,ghc-hashable-bootstrap)))
+    (properties '((hidden? #t)))))
+
 (define-public ghc-void
   (package
     (name "ghc-void")
@@ -4889,6 +4914,18 @@ where every element did not have to have an inverse, thus the name
 semigroup.")
     (license license:bsd-3)))
 
+(define-public ghc-semigroups-bootstrap
+  (package
+    (inherit ghc-semigroups)
+    (name "ghc-semigroups-bootstrap")
+    (inputs
+     `(("ghc-nats" ,ghc-nats-bootstrap)
+       ("ghc-tagged" ,ghc-tagged)
+       ("ghc-unordered-containers" ,ghc-unordered-containers-bootstrap)
+       ("ghc-text" ,ghc-text)
+       ("ghc-hashable" ,ghc-hashable-bootstrap)))
+    (properties '(hidden? #t))))
+
 (define-public ghc-free
   (package
     (name "ghc-free")