summary refs log tree commit diff
path: root/gnu/packages/haskell-check.scm
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/haskell-check.scm')
-rw-r--r--gnu/packages/haskell-check.scm784
1 files changed, 356 insertions, 428 deletions
diff --git a/gnu/packages/haskell-check.scm b/gnu/packages/haskell-check.scm
index affe6a07b5..23727fc0b8 100644
--- a/gnu/packages/haskell-check.scm
+++ b/gnu/packages/haskell-check.scm
@@ -48,14 +48,12 @@
     (source
      (origin
        (method url-fetch)
-       (uri (string-append
-             "https://hackage.haskell.org/package/tasty-ant-xml/tasty-ant-xml-"
-             version
-             ".tar.gz"))
+       (uri (hackage-uri "tasty-ant-xml" version))
        (sha256
         (base32
          "0h9mllhw9cd0rn34xhj8grwmbny7z7hpd8qmp9lfcdj0s4qx9vx8"))))
     (build-system haskell-build-system)
+    (properties '((upstream-name . "tasty-ant-xml")))
     (inputs
      (list ghc-generic-deriving ghc-xml ghc-tagged ghc-tasty))
     (home-page
@@ -75,14 +73,12 @@ framework.")
     (source
      (origin
        (method url-fetch)
-       (uri (string-append
-             "https://hackage.haskell.org/package/tasty-smallcheck/tasty-smallcheck-"
-             version
-             ".tar.gz"))
+       (uri (hackage-uri "tasty-smallcheck" version))
        (sha256
         (base32
          "0csgwn3vch0jnpqyyfnrfjq4z0dpl67imh5a7byll3hhlyidgjym"))))
     (build-system haskell-build-system)
+    (properties '((upstream-name . "tasty-smallcheck")))
     (inputs
      (list ghc-tasty ghc-smallcheck ghc-async ghc-tagged))
     (home-page "https://documentup.com/feuerbach/tasty")
@@ -94,26 +90,19 @@ Haskell test framework.")
 (define-public ghc-tasty-quickcheck
   (package
     (name "ghc-tasty-quickcheck")
-    (version "0.10.1.2")
-    (source
-     (origin
-       (method url-fetch)
-       (uri (string-append
-             "https://hackage.haskell.org/package/tasty-quickcheck/"
-             "tasty-quickcheck-" version ".tar.gz"))
-       (sha256
-        (base32
-         "0i1i78587znqzwps49milyr5n2k388ld2kr9ysz1vw8gcw51qq49"))))
+    (version "0.10.2")
+    (source (origin
+              (method url-fetch)
+              (uri (hackage-uri "tasty-quickcheck" version))
+              (sha256
+               (base32
+                "1qnc6rdvjvlw08q6sln2n98rvj0s0pp689h6w4z58smjbn0lr25l"))))
     (build-system haskell-build-system)
-    (inputs
-     (list ghc-quickcheck
-           ghc-tagged
-           ghc-tasty
-           ghc-random
-           ghc-ansi-terminal
-           ghc-tasty-hunit
-           ghc-pcre-light))
-    (home-page "http://documentup.com/feuerbach/tasty")
+    (properties '((upstream-name . "tasty-quickcheck")))
+    (inputs (list ghc-tagged ghc-tasty ghc-random ghc-quickcheck
+                  ghc-optparse-applicative))
+    (native-inputs (list ghc-tasty-hunit ghc-pcre-light))
+    (home-page "https://github.com/UnkindPartition/tasty")
     (synopsis "QuickCheck support for the Tasty test framework")
     (description "This package provides QuickCheck support for the Tasty
 Haskell test framework.")
@@ -122,28 +111,23 @@ Haskell test framework.")
 (define-public ghc-tasty-golden
   (package
     (name "ghc-tasty-golden")
-    (version "2.3.4")
-    (source
-     (origin
-       (method url-fetch)
-       (uri (string-append
-             "https://hackage.haskell.org/package/tasty-golden/tasty-golden-"
-             version
-             ".tar.gz"))
-       (sha256
-        (base32
-         "1nskavqgfxx1cw7q6c0cmizlwj54rnlv93yhgssaa77gv1nbvwpn"))))
+    (version "2.3.5")
+    (source (origin
+              (method url-fetch)
+              (uri (hackage-uri "tasty-golden" version))
+              (sha256
+               (base32
+                "03klnxn9rcv0l7fl4w8q6s59fzl1328j1wzwi1za4gb0l90vadwb"))))
     (build-system haskell-build-system)
-    (inputs
-     (list ghc-async
-           ghc-optparse-applicative
-           ghc-tagged
-           ghc-tasty
-           ghc-temporary
-           ghc-unix-compat))
+    (properties '((upstream-name . "tasty-golden")))
+    (inputs (list ghc-tasty
+                  ghc-typed-process
+                  ghc-optparse-applicative
+                  ghc-temporary
+                  ghc-tagged
+                  ghc-async))
     (native-inputs (list ghc-tasty-hunit))
-    (home-page
-     "https://github.com/feuerbach/tasty-golden")
+    (home-page "https://github.com/UnkindPartition/tasty-golden")
     (synopsis "Golden tests support for tasty")
     (description
      "This package provides support for @code{golden testing}.  A @dfn{golden
@@ -155,30 +139,20 @@ contains the correct result for the test.")
 (define-public ghc-tasty
   (package
     (name "ghc-tasty")
-    (version "1.4.2")
-    (source
-     (origin
-       (method url-fetch)
-       (uri (string-append
-             "https://hackage.haskell.org/package/tasty/tasty-"
-             version
-             ".tar.gz"))
-       (sha256
-        (base32
-         "0574hbqzxzyv6vsk5kzbf04kz58y0iy8x9ydcj4b8fpncgmgy63g"))))
+    (version "1.4.3")
+    (source (origin
+              (method url-fetch)
+              (uri (hackage-uri "tasty" version))
+              (sha256
+               (base32
+                "006bf4gyc30i2gvb17hj1mzrh1kwnwf7l050x3f72wi6c2axl87l"))))
     (build-system haskell-build-system)
-    (inputs
-     (list ghc-tagged
-           ghc-regex-tdfa
-           ghc-optparse-applicative
-           ghc-unbounded-delays
-           ghc-async
-           ghc-ansi-terminal
-           ghc-clock-bootstrap
-           ghc-wcwidth-bootstrap))
-    (home-page "http://documentup.com/feuerbach/tasty")
+    (properties '((upstream-name . "tasty")))
+    (inputs (list ghc-tagged ghc-optparse-applicative ghc-ansi-terminal))
+    (home-page "https://github.com/UnkindPartition/tasty")
     (synopsis "Modern and extensible testing framework")
-    (description "Tasty is a modern testing framework for Haskell.  It lets
+    (description
+     "Tasty is a modern testing framework for Haskell.  It lets
 you combine your unit tests, golden tests, QuickCheck/SmallCheck properties,
 and any other types of tests into a single test suite.")
     (license license:expat)))
@@ -186,23 +160,21 @@ and any other types of tests into a single test suite.")
 (define-public ghc-tasty-hedgehog
   (package
     (name "ghc-tasty-hedgehog")
-    (version "1.1.0.0")
-    (source
-     (origin
-       (method url-fetch)
-       (uri (string-append "https://hackage.haskell.org/package/"
-                           "tasty-hedgehog/tasty-hedgehog-" version ".tar.gz"))
-       (sha256
-        (base32
-         "0cy49z8n124xh2ra2482vfy5if1n6d9lbdjma2zg1mxfj0k0zyfb"))))
+    (version "1.3.1.0")
+    (source (origin
+              (method url-fetch)
+              (uri (hackage-uri "tasty-hedgehog" version))
+              (sha256
+               (base32
+                "1iq452mvd9wc9pfmjsmm848jwp3cvsk1faf2mlr21vcs0yaxvq3m"))))
     (build-system haskell-build-system)
-    (inputs
-     (list ghc-tagged ghc-tasty ghc-hedgehog))
-    (native-inputs
-     (list ghc-tasty-expected-failure))
+    (properties '((upstream-name . "tasty-hedgehog")))
+    (inputs (list ghc-tagged ghc-tasty ghc-hedgehog))
+    (native-inputs (list ghc-tasty-expected-failure))
     (home-page "https://github.com/qfpl/tasty-hedgehog")
     (synopsis "Integration for tasty and hedgehog")
-    (description "This package provides the means for integrating the
+    (description
+     "This package provides the means for integrating the
 @url{https://hackage.haskell.org/package/hedgehog, hedgehog testing library}
 with the @url{https://hackage.haskell.org/package/tasty, tasty testing
 framework}.")
@@ -211,33 +183,27 @@ framework}.")
 (define-public ghc-tasty-hspec
   (package
     (name "ghc-tasty-hspec")
-    (version "1.1.6")
-    (source
-     (origin
-       (method url-fetch)
-       (uri (string-append
-             "https://hackage.haskell.org/package/tasty-hspec/tasty-hspec-"
-             version
-             ".tar.gz"))
-       (sha256
-        (base32
-         "02s82ijs2ringqxsqbm7m3vcy5brmwxa617azxv0v2phi3rdkjvl"))))
+    (version "1.2.0.1")
+    (source (origin
+              (method url-fetch)
+              (uri (hackage-uri "tasty-hspec" version))
+              (sha256
+               (base32
+                "0ibl2xi6mmqad2mriz67nb7pjwwvjik385amp24j9kc7a7zkx091"))))
     (build-system haskell-build-system)
-    (inputs
-     (list ghc-hspec
-           ghc-hspec-core
-           ghc-quickcheck
-           ghc-tagged
-           ghc-tasty
-           ghc-tasty-smallcheck
-           ghc-tasty-quickcheck))
+    (properties '((upstream-name . "tasty-hspec")))
+    (inputs (list ghc-hspec
+                  ghc-hspec-core
+                  ghc-quickcheck
+                  ghc-tasty
+                  ghc-tasty-smallcheck
+                  ghc-tasty-quickcheck
+                  ghc-tagged))
     (arguments
-     `(#:cabal-revision
-       ("1" "0za15rg0szacxq9yfxxjzddr77ai7ng5827a20pj9dr5anjlnajj")))
-    (home-page
-     "https://github.com/mitchellwrosen/tasty-hspec")
-    (synopsis
-     "Hspec support for the Tasty test framework")
+     `(#:cabal-revision ("1"
+                         "0a6r4gzxzp6n90z0nif7ha7p7am57hs48i54i2y4z9kgjv6lnvll")))
+    (home-page "https://github.com/mitchellwrosen/tasty-hspec")
+    (synopsis "Hspec support for the Tasty test framework")
     (description
      "This package provides a Tasty provider for Hspec test suites.")
     (license license:bsd-3)))
@@ -249,14 +215,12 @@ framework}.")
     (source
      (origin
        (method url-fetch)
-       (uri (string-append
-             "https://hackage.haskell.org/package/tasty-hunit/tasty-hunit-"
-             version
-             ".tar.gz"))
+       (uri (hackage-uri "tasty-hunit" version))
        (sha256
         (base32
          "0gz6zz3w7s44pymw33xcxnawryl27zk33766sab96nz2xh91kvxp"))))
     (build-system haskell-build-system)
+    (properties '((upstream-name . "tasty-hunit")))
     (inputs
      (list ghc-call-stack-boot ghc-tasty))
     (home-page "http://documentup.com/feuerbach/tasty")
@@ -271,12 +235,12 @@ test framework.")
     (version "0.0.3")
     (source (origin
               (method url-fetch)
-              (uri (string-append "https://hackage.haskell.org/package/"
-                                  "tasty-kat/tasty-kat-" version ".tar.gz"))
+              (uri (hackage-uri "tasty-kat" version))
               (sha256
                (base32
                 "14yvlpli6cv6bn3kh8mlfp4x1l6ns4fvmfv6hmj75cvxyzq029d7"))))
     (build-system haskell-build-system)
+    (properties '((upstream-name . "tasty-kat")))
     (inputs
      (list ghc-tasty ghc-tasty-quickcheck ghc-tasty-hunit))
     (home-page "https://github.com/vincenthz/tasty-kat")
@@ -289,21 +253,23 @@ tasty.")
 (define-public ghc-tasty-lua
   (package
     (name "ghc-tasty-lua")
-    (version "0.2.3.2")
-    (source
-     (origin
-       (method url-fetch)
-       (uri (string-append "https://hackage.haskell.org/package/"
-                           "tasty-lua/tasty-lua-" version ".tar.gz"))
-       (sha256
-        (base32
-         "0wa73ihkjcxi50lgpdzwwdx7s903lqi79hw7hxlvhbcvdly1cq53"))))
+    (version "1.0.2")
+    (source (origin
+              (method url-fetch)
+              (uri (hackage-uri "tasty-lua" version))
+              (sha256
+               (base32
+                "1vnyvgcjsvqhwwyqkbgqksr9ppj5whiihpwcqkg33sl7jj3ysdwv"))))
     (build-system haskell-build-system)
-    (inputs
-     (list ghc-file-embed ghc-hslua ghc-tasty))
-    (native-inputs
-     (list ghc-tasty-hunit))
-    (home-page "https://github.com/hslua/tasty-lua")
+    (properties '((upstream-name . "tasty-lua")))
+    (inputs (list ghc-hslua-core
+                  ghc-hslua-marshalling
+                  ghc-lua-arbitrary
+                  ghc-tasty
+                  ghc-quickcheck
+                  ghc-file-embed))
+    (native-inputs (list ghc-tasty-hunit))
+    (home-page "https://github.com/hslua/hslua")
     (synopsis "Write tests in Lua, integrate into tasty")
     (description "This package gives users the ability to define tasty tests
 from Lua.")
@@ -316,13 +282,12 @@ from Lua.")
     (source
      (origin
        (method url-fetch)
-       (uri (string-append
-             "https://hackage.haskell.org/package/tasty-th/tasty-th-"
-             version ".tar.gz"))
+       (uri (hackage-uri "tasty-th" version))
        (sha256
         (base32
          "0b2ivrw2257m4cy4rjnkwqlarh83j1y3zywnmaqqqbvy667sqnj3"))))
     (build-system haskell-build-system)
+    (properties '((upstream-name . "tasty-th")))
     (inputs
      (list ghc-haskell-src-exts ghc-tasty ghc-tasty-hunit))
     (home-page "https://github.com/bennofs/tasty-th")
@@ -340,16 +305,18 @@ test-framework.")
     (version "1.1.18")
     (source (origin
               (method url-fetch)
-              (uri (string-append
-                    "https://hackage.haskell.org/package/tasty-rerun/"
-                    "tasty-rerun-" version ".tar.gz"))
+              (uri (hackage-uri "tasty-rerun" version))
               (sha256
                (base32
                 "0sccp5zx9v2rx741nbmgd8mzjhy5m4v74hk26d23xz93ph8aqx7s"))))
     (build-system haskell-build-system)
+    (properties '((upstream-name . "tasty-rerun")))
     (inputs
      (list ghc-optparse-applicative ghc-reducers ghc-split ghc-tagged
            ghc-tasty))
+    (arguments
+     `(#:cabal-revision ("3"
+                         "0091arn90cx5rzn5n2bpb9alzybwraf9yj7hb0bwdfyamzpf3pkb")))
     (home-page "https://github.com/ocharles/tasty-rerun")
     (synopsis "Run tests by filtering the test tree")
     (description "This package adds the ability to run tests by filtering the
@@ -365,13 +332,12 @@ been added since previous test run.")
     (source
      (origin
        (method url-fetch)
-       (uri (string-append "https://hackage.haskell.org/package/"
-                           "tasty-expected-failure/tasty-expected-failure-"
-                           version ".tar.gz"))
+       (uri (hackage-uri "tasty-expected-failure" version))
        (sha256
         (base32
          "0zlgxs24d54byfhvwdg85xk1572zpjs71bjlxxrxcvralrfcq1yb"))))
     (build-system haskell-build-system)
+    (properties '((upstream-name . "tasty-expected-failure")))
     (arguments `(#:tests? #f)) ; TODO: Loops.
 ;    (native-inputs
 ;     `(("ghc-tasty-hunit" ,ghc-tasty-hunit)
@@ -392,39 +358,35 @@ development.")
 (define-public ghc-quickcheck-instances
   (package
     (name "ghc-quickcheck-instances")
-    (version "0.3.25.2")
-    (source
-     (origin
-       (method url-fetch)
-       (uri (string-append
-             "https://hackage.haskell.org/package/"
-             "quickcheck-instances/quickcheck-instances-"
-             version ".tar.gz"))
-       (sha256
-        (base32
-         "0ihqbarl2ddrfgq3mq09lswwn8213qpw13g49qxs5mjkcm6gbk3h"))))
+    (version "0.3.28")
+    (source (origin
+              (method url-fetch)
+              (uri (hackage-uri "quickcheck-instances" version))
+              (sha256
+               (base32
+                "1jycijv7gaj6qrkp219nllrdv9zd0ifp0mb0rch430fm95xin4f4"))))
     (build-system haskell-build-system)
-    (arguments
-     `(#:cabal-revision
-       ("2" "1lsa3pbg4ljlk29fhm3mdklnx3hwffyga1nr5krbpcyc3ywq8fq8")))
-    (inputs
-     (list ghc-case-insensitive
-           ghc-data-fix
-           ghc-hashable
-           ghc-integer-logarithms
-           ghc-old-time
-           ghc-quickcheck
-           ghc-scientific
-           ghc-splitmix
-           ghc-strict
-           ghc-tagged
-           ghc-these
-           ghc-time-compat
-           ghc-transformers-compat
-           ghc-unordered-containers
-           ghc-uuid-types
-           ghc-vector))
-    (home-page "https://github.com/aslatter/qc-instances")
+    (properties '((upstream-name . "quickcheck-instances")))
+    (inputs (list ghc-quickcheck
+                  ghc-splitmix
+                  ghc-case-insensitive
+                  ghc-data-fix
+                  ghc-hashable
+                  ghc-integer-logarithms
+                  ghc-old-time
+                  ghc-onetuple
+                  ghc-primitive
+                  ghc-scientific
+                  ghc-strict
+                  ghc-tagged
+                  ghc-these
+                  ghc-time-compat
+                  ghc-transformers-compat
+                  ghc-unordered-containers
+                  ghc-uuid-types
+                  ghc-vector
+                  ghc-text-short))
+    (home-page "https://github.com/haskellari/qc-instances")
     (synopsis "Common quickcheck instances")
     (description "This package provides QuickCheck instances for types
 provided by the Haskell Platform.")
@@ -437,13 +399,12 @@ provided by the Haskell Platform.")
     (source
      (origin
        (method url-fetch)
-       (uri (string-append
-             "https://hackage.haskell.org/package/quickcheck-unicode/"
-             "quickcheck-unicode-" version ".tar.gz"))
+       (uri (hackage-uri "quickcheck-unicode" version))
        (sha256
         (base32
          "0s43s1bzbg3gwsjgm7fpyksd1339f0m26dlw2famxwyzgvm0a80k"))))
     (build-system haskell-build-system)
+    (properties '((upstream-name . "quickcheck-unicode")))
     (inputs (list ghc-quickcheck))
     (home-page
      "https://github.com/bos/quickcheck-unicode")
@@ -459,14 +420,12 @@ testing Unicode-related software.")
     (source
      (origin
        (method url-fetch)
-       (uri (string-append
-             "https://hackage.haskell.org/package/quickcheck-io/quickcheck-io-"
-             version
-             ".tar.gz"))
+       (uri (hackage-uri "quickcheck-io" version))
        (sha256
         (base32
          "08k4v7pkgjf30pv5j2dfv1gqv6hclxlniyq2sps8zq4zswcr2xzv"))))
     (build-system haskell-build-system)
+    (properties '((upstream-name . "quickcheck-io")))
     (inputs
      (list ghc-quickcheck ghc-hunit))
     (home-page
@@ -483,14 +442,12 @@ use HUnit assertions as QuickCheck properties.")
     (source
      (origin
        (method url-fetch)
-       (uri (string-append
-             "https://hackage.haskell.org/package/QuickCheck/QuickCheck-"
-             version
-             ".tar.gz"))
+       (uri (hackage-uri "QuickCheck" version))
        (sha256
         (base32
          "1wrnrm9sq4s0bly0q58y80g4153q45iglqa34xsi2q3bd62nqyyq"))))
     (build-system haskell-build-system)
+    (properties '((upstream-name . "QuickCheck")))
     (inputs
      (list ghc-random ghc-splitmix-bootstrap))
     (home-page "https://github.com/nick8325/quickcheck")
@@ -510,12 +467,11 @@ expressed in Haskell, using combinators defined in the QuickCheck library.")
     (source
      (origin
        (method url-fetch)
-       (uri (string-append "https://hackage.haskell.org/package/"
-                           "quickcheck-assertions/"
-                           "quickcheck-assertions-" version ".tar.gz"))
+       (uri (hackage-uri "quickcheck-assertions" version))
        (sha256
         (base32 "1kyam4cy7qmnizjwjm8jamq43w7f0fs6ljfplwj0ib6wi2kjh0wv"))))
     (build-system haskell-build-system)
+    (properties '((upstream-name . "quickcheck-assertions")))
     (native-inputs
      (list ghc-hspec))
     (inputs
@@ -535,18 +491,18 @@ HUnit.")
     (source
      (origin
        (method url-fetch)
-       (uri (string-append "https://hackage.haskell.org/package/test-framework/"
-                           "test-framework-" version ".tar.gz"))
+       (uri (hackage-uri "test-framework" version))
        (sha256
         (base32
          "1hhacrzam6b8f10hyldmjw8pb7frdxh04rfg3farxcxwbnhwgbpm"))))
     (build-system haskell-build-system)
+    (properties '((upstream-name . "test-framework")))
     (arguments
      `(#:tests? #f  ; FIXME: Tests do not build.
        #:cabal-revision
        ("6" "0wbq9wiaag69nsqxwijzhs5y1hb9kbpkp1x65dvx158cxp8i9w9r")))
-    (native-inputs
-     (list ghc-hunit ghc-quickcheck))
+    ;(native-inputs
+    ; (list ghc-hunit ghc-quickcheck))
     (inputs
      `(("ghc-ansi-terminal" ,ghc-ansi-terminal)
        ("ghc-ansi-wl-pprint" ,ghc-ansi-wl-pprint)
@@ -574,13 +530,12 @@ reporting and test statistics output.")
     (source
      (origin
        (method url-fetch)
-       (uri (string-append "https://hackage.haskell.org/package/"
-                           "test-framework-hunit/test-framework-hunit-"
-                           version ".tar.gz"))
+       (uri (hackage-uri "test-framework-hunit" version))
        (sha256
         (base32
          "1y0b6vg8nfm43v90lxxcydhi6qlxhfy4vpxbzm5ic2w55bh8xjwm"))))
     (build-system haskell-build-system)
+    (properties '((upstream-name . "test-framework-hunit")))
     (arguments
      `(#:cabal-revision
        ("3" "0i9mlalv7cl1iq43ld5myrnpszq5rxmd79hk495dcb08rglhgl3z")))
@@ -599,13 +554,12 @@ reporting and test statistics output.")
     (source
      (origin
        (method url-fetch)
-       (uri (string-append "https://hackage.haskell.org/package/"
-                           "test-framework-quickcheck2/"
-                           "test-framework-quickcheck2-" version ".tar.gz"))
+       (uri (hackage-uri "test-framework-quickcheck2" version))
        (sha256
         (base32
          "0ngf9vvby4nrdf1i7dxf5m9jn0g2pkq32w48xdr92n9hxka7ixn9"))))
     (build-system haskell-build-system)
+    (properties '((upstream-name . "test-framework-quickcheck2")))
     (arguments
      `(#:cabal-revision
        ("3" "0mglqfimla4vvv80mg08aj76zf4993wmngqlirh05h8i9nmgv6lh")))
@@ -626,12 +580,11 @@ package.")
     (source
      (origin
        (method url-fetch)
-       (uri (string-append "https://hackage.haskell.org/package/"
-                           "test-framework-smallcheck/"
-                           "test-framework-smallcheck-" version ".tar.gz"))
+       (uri (hackage-uri "test-framework-smallcheck" version))
        (sha256
         (base32 "1xpgpk1gp4w7w46b4rhj80fa0bcyz8asj2dcjb5x1c37b7rw90b0"))))
     (build-system haskell-build-system)
+    (properties '((upstream-name . "test-framework-smallcheck")))
     (inputs
      (list ghc-smallcheck ghc-test-framework))
     (home-page "https://github.com/Bodigrim/smallcheck")
@@ -648,13 +601,12 @@ test-framework.  New projects should use ghc-tasty-smallcheck instead.")
     (source
      (origin
        (method url-fetch)
-       (uri (string-append "https://hackage.haskell.org/package/"
-                           "test-framework-th-" version "/"
-                           "test-framework-th-" version ".tar.gz"))
+       (uri (hackage-uri "test-framework-th" version))
        (sha256
         (base32
          "12lw7yj02jb9s0i7rb98jjam43j2h0gzmnbj9zi933fx7sg0sy4b"))))
     (build-system haskell-build-system)
+    (properties '((upstream-name . "test-framework-th")))
     (inputs
      (list ghc-test-framework ghc-language-haskell-extract
            ghc-haskell-src-exts ghc-regex-posix))
@@ -677,21 +629,21 @@ using Template Haskell")
   (package
     (name "ghc-hunit")
     (version "1.6.2.0")
-    (outputs '("out" "static" "doc"))
+    (outputs '("out" "doc"))
     (source
      (origin
        (method url-fetch)
-       (uri (string-append "https://hackage.haskell.org/package/HUnit/"
-                           "HUnit-" version ".tar.gz"))
+       (uri (hackage-uri "HUnit" version))
        (sha256
         (base32
          "1as4sw5y39c3zrmr6sb8zbw74c9gdn4401y0dx45ih7zf6457dxh"))))
     (build-system haskell-build-system)
+    (properties '((upstream-name . "HUnit")))
     (inputs
      ;; We cannot use ghc-call-stack there, because it depends on
      ;; ghc-nanospec, which depends on ghc-hunit.
      (list ghc-call-stack-boot))
-    (home-page "http://hunit.sourceforge.net/")
+    (home-page "https://hunit.sourceforge.net/")
     (synopsis "Unit testing framework for Haskell")
     (description
      "HUnit is a unit testing framework for Haskell, inspired by the
@@ -701,20 +653,17 @@ JUnit tool for Java.")
 (define-public hspec-discover
   (package
     (name "hspec-discover")
-    (version "2.7.10")
-    (source
-     (origin
-       (method url-fetch)
-       (uri (string-append "https://hackage.haskell.org/package/"
-                           "hspec-discover/hspec-discover-"
-                           version ".tar.gz"))
-       (sha256
-        (base32
-         "13yzvd3b679skvs1insk4s0wc4zvmz6hs38kc8q0j6vzqq06smqa"))))
+    (version "2.9.7")
+    (source (origin
+              (method url-fetch)
+              (uri (hackage-uri "hspec-discover" version))
+              (sha256
+               (base32
+                "0536kdxjw6p8b6gcwvmr22jbmb6cgzbddi0fkd01b2m847z37sb5"))))
     (build-system haskell-build-system)
-    (native-inputs
-     (list ghc-quickcheck ghc-hspec-meta))
-    (home-page "https://hspec.github.io/")
+    (properties '((upstream-name . "hspec-discover")))
+    (native-inputs (list ghc-quickcheck ghc-hspec-meta ghc-mockery-bootstrap))
+    (home-page "http://hspec.github.io/")
     (synopsis "Automatically discover and run Hspec tests")
     (description "hspec-discover is a tool which automatically discovers and
 runs Hspec tests.")
@@ -723,28 +672,28 @@ runs Hspec tests.")
 (define-public ghc-hspec-core
   (package
     (name "ghc-hspec-core")
-    (version "2.7.10")
-    (source
-     (origin
-       (method url-fetch)
-       (uri (string-append "https://hackage.haskell.org/package/hspec-core/"
-                           "hspec-core-" version ".tar.gz"))
-       (sha256
-        (base32
-         "12k9yp5gznrda449ir60d5wv3xl7nnyffkb5mhfc0svw9f8lxlv1"))))
+    (version "2.9.7")
+    (source (origin
+              (method url-fetch)
+              (uri (hackage-uri "hspec-core" version))
+              (sha256
+               (base32
+                "040rzqiqwkp373jjpij8lkmv08pp2ya92zzcf95bw8px215rp08n"))))
     (build-system haskell-build-system)
-    (arguments `(#:tests? #f)) ; FIXME: testing libraries are missing.
-    (inputs
-     (list ghc-setenv
-           ghc-ansi-terminal
-           ghc-clock
-           ghc-quickcheck-io
-           ghc-hunit
-           ghc-quickcheck
-           ghc-hspec-expectations
-           ghc-silently
-           ghc-tf-random))
-    (home-page "https://hspec.github.io/")
+    (properties '((upstream-name . "hspec-core")))
+    (inputs (list ghc-hunit
+                  ghc-quickcheck
+                  ghc-ansi-terminal
+                  ghc-call-stack
+                  ghc-clock
+                  ghc-hspec-expectations
+                  ghc-quickcheck-io
+                  ghc-random
+                  ghc-setenv
+                  ghc-tf-random))
+    (native-inputs (list ghc-base-orphans-bootstrap ghc-hspec-meta
+                         ghc-silently-bootstrap ghc-temporary))
+    (home-page "http://hspec.github.io/")
     (synopsis "Testing framework for Haskell")
     (description "This library exposes internal types and functions that can
 be used to extend Hspec's functionality.")
@@ -753,26 +702,23 @@ be used to extend Hspec's functionality.")
 (define-public ghc-hspec-meta
   (package
     (name "ghc-hspec-meta")
-    (version "2.7.8")
-    (source
-     (origin
-       (method url-fetch)
-       (uri (string-append "https://hackage.haskell.org/package/hspec-meta/"
-                           "hspec-meta-" version ".tar.gz"))
-       (sha256
-        (base32
-         "0sfj0n2hy1r8ifysgbcmfdygcd7vyzr13ldkcp0l2ml337f8j0si"))))
+    (version "2.9.3")
+    (source (origin
+              (method url-fetch)
+              (uri (hackage-uri "hspec-meta" version))
+              (sha256
+               (base32
+                "1raxwpsmcijl3x2h5naw6aydhbiknxvhj3x7v384bi1rqi51ainm"))))
     (build-system haskell-build-system)
-    (inputs
-     (list ghc-quickcheck
-           ghc-hunit
-           ghc-ansi-terminal
-           ghc-clock
-           ghc-hspec-expectations
-           ghc-setenv
-           ghc-random
-           ghc-quickcheck-io))
-    (home-page "https://hspec.github.io/")
+    (properties '((upstream-name . "hspec-meta")))
+    (inputs (list ghc-quickcheck
+                  ghc-ansi-terminal
+                  ghc-call-stack-boot
+                  ghc-clock
+                  ghc-quickcheck-io
+                  ghc-random
+                  ghc-setenv))
+    (home-page "http://hspec.github.io/")
     (synopsis "Version of Hspec to test Hspec itself")
     (description "This library provides a stable version of Hspec which is
 used to test the in-development version of Hspec.")
@@ -781,26 +727,18 @@ used to test the in-development version of Hspec.")
 (define-public ghc-hspec
   (package
     (name "ghc-hspec")
-    (version "2.7.10")
-    (source
-     (origin
-       (method url-fetch)
-       (uri (string-append "https://hackage.haskell.org/package/hspec/"
-                           "hspec-" version ".tar.gz"))
-       (sha256
-        (base32
-         "0z0lwrmrqkglr78n6k2c36n4h68142bh785ys0x4jaibjshvs6rw"))))
+    (version "2.9.7")
+    (source (origin
+              (method url-fetch)
+              (uri (hackage-uri "hspec" version))
+              (sha256
+               (base32
+                "092sfqjkargxxszp9jjqa8ldjz0xv34jwn6k21q59ys5ckvsrpc1"))))
     (build-system haskell-build-system)
-    (outputs '("out" "static" "doc"))
-    (inputs
-     (list ghc-hspec-core
-           hspec-discover
-           ghc-hspec-expectations
-           ghc-quickcheck
-           ghc-hunit
-           ghc-stringbuilder
-           ghc-hspec-meta))
-    (home-page "https://hspec.github.io/")
+    (properties '((upstream-name . "hspec")))
+    (inputs (list ghc-quickcheck ghc-hspec-core hspec-discover
+                  ghc-hspec-expectations))
+    (home-page "http://hspec.github.io/")
     (synopsis "Testing Framework for Haskell")
     (description "This library provides the Hspec testing framework for
 Haskell, inspired by the Ruby library RSpec.")
@@ -809,24 +747,21 @@ Haskell, inspired by the Ruby library RSpec.")
 (define-public ghc-hspec-contrib
   (package
     (name "ghc-hspec-contrib")
-    (version "0.5.1")
+    (version "0.5.1.1")
     (source (origin
               (method url-fetch)
-              (uri (string-append "https://hackage.haskell.org/package/"
-                                  "hspec-contrib/hspec-contrib-"
-                                  version ".tar.gz"))
+              (uri (hackage-uri "hspec-contrib" version))
               (sha256
                (base32
-                "0hhzxaa3fxz5mk5qcsrnfr98a7bn3szx2ydgr0x9mbqmm1jg06rc"))))
+                "1nyb5n2jiq920yyf3flzyxrs5xpfyppl3jn18zhviyysjjk5drpx"))))
     (build-system haskell-build-system)
-    (inputs
-     (list ghc-hspec-core ghc-hunit ghc-hspec ghc-quickcheck))
-    (native-inputs
-     (list hspec-discover))
-    (home-page "https://hspec.github.io/")
+    (properties '((upstream-name . "hspec-contrib")))
+    (inputs (list ghc-hunit ghc-hspec-core))
+    (native-inputs (list ghc-quickcheck ghc-hspec hspec-discover))
+    (arguments (list #:tests? #f)) ; Tests fail to compile.
+    (home-page "http://hspec.github.io/")
     (synopsis "Contributed functionality for Hspec")
-    (description
-     "This package provides contributed Hspec extensions.")
+    (description "This package provides contributed Hspec extensions.")
     (license license:expat)))
 
 (define-public ghc-hspec-expectations
@@ -836,13 +771,12 @@ Haskell, inspired by the Ruby library RSpec.")
     (source
      (origin
        (method url-fetch)
-       (uri (string-append "https://hackage.haskell.org/package/"
-                           "hspec-expectations/hspec-expectations-"
-                           version ".tar.gz"))
+       (uri (hackage-uri "hspec-expectations" version))
        (sha256
         (base32
          "1vxl9zazbaapijr6zmcj72j9wf7ka1pirrjbwddwwddg3zm0g5l1"))))
     (build-system haskell-build-system)
+    (properties '((upstream-name . "hspec-expectations")))
     ;; Tests depend on ghc-nanospec.
     (arguments '(#:tests? #f))
     (inputs (list ghc-hunit))
@@ -859,15 +793,14 @@ Haskell, inspired by the Ruby library RSpec.")
     (source
      (origin
        (method url-fetch)
-       (uri (string-append "https://hackage.haskell.org/package/"
-                           "nanospec/nanospec-"
-                           version ".tar.gz"))
+       (uri (hackage-uri "nanospec" version))
        (sha256
         (base32
          "1rcmhl9bhyfvanalnf1r86wkx6rq6wdvagnw1h011jcnnb1cq56g"))))
     (build-system haskell-build-system)
-    (inputs
-     (list ghc-hspec ghc-silently))
+    (properties '((upstream-name . "nanospec")))
+    (inputs (list ghc-silently-bootstrap))
+    (native-inputs (list ghc-hspec))
     (home-page "https://github.com/hspec/nanospec#readme")
     (synopsis "Lightweight implementation of a subset of Hspec's API")
     (description
@@ -875,6 +808,14 @@ Haskell, inspired by the Ruby library RSpec.")
 minimal dependencies.")
     (license license:expat)))
 
+(define-public ghc-nanospec-bootstrap
+  (package
+    (inherit ghc-nanospec)
+    (name "ghc-nanospec-bootstrap")
+    (arguments '(#:tests? #f))
+    (native-inputs '())
+    (properties '((hidden? #t)))))
+
 (define-public ghc-crypto-cipher-tests
   (package
     (name "ghc-crypto-cipher-tests")
@@ -882,13 +823,12 @@ minimal dependencies.")
     (source
      (origin
        (method url-fetch)
-       (uri (string-append "https://hackage.haskell.org/package/"
-                           "crypto-cipher-tests-" version "/"
-                           "crypto-cipher-tests-" version ".tar.gz"))
+       (uri (hackage-uri "crypto-cipher-tests" version))
        (sha256
         (base32
          "19wqignlq90qwpam01hnmmrxaxh5lkax9l1l6rlbi4a07nvp1dnz"))))
     (build-system haskell-build-system)
+    (properties '((upstream-name . "crypto-cipher-tests")))
     (inputs (list ghc-quickcheck
                   ghc-hunit
                   ghc-test-framework
@@ -907,33 +847,29 @@ implementations of cryptographic ciphers.")
 (define-public ghc-hedgehog
   (package
     (name "ghc-hedgehog")
-    (version "1.0.5")
-    (source
-     (origin
-       (method url-fetch)
-       (uri (string-append
-             "https://hackage.haskell.org/package/hedgehog/hedgehog-"
-             version
-             ".tar.gz"))
-       (sha256
-        (base32
-         "1qsqs8lmxa3wmw228cwi98vvvh9hqbc9d43i1sy2c9igw9xlhfi6"))))
+    (version "1.1.2")
+    (source (origin
+              (method url-fetch)
+              (uri (hackage-uri "hedgehog" version))
+              (sha256
+               (base32
+                "0dbk75hk6hqpzkjdlpw3s63qhm42kqigij33p321by6xndb59jg1"))))
     (build-system haskell-build-system)
-    (inputs
-     (list ghc-ansi-terminal
-           ghc-async
-           ghc-concurrent-output
-           ghc-erf
-           ;("ghc-exceptions" ,ghc-exceptions)
-           ghc-lifted-async
-           ghc-mmorph
-           ghc-monad-control
-           ghc-pretty-show
-           ghc-primitive
-           ghc-random
-           ghc-resourcet
-           ghc-transformers-base
-           ghc-wl-pprint-annotated))
+    (properties '((upstream-name . "hedgehog")))
+    (inputs (list ghc-ansi-terminal
+                  ghc-async
+                  ghc-barbies
+                  ghc-concurrent-output
+                  ghc-erf
+                  ghc-lifted-async
+                  ghc-mmorph
+                  ghc-monad-control
+                  ghc-pretty-show
+                  ghc-primitive
+                  ghc-random
+                  ghc-resourcet
+                  ghc-transformers-base
+                  ghc-wl-pprint-annotated))
     (home-page "https://hedgehog.qa")
     (synopsis "Property-based testing in the spirt of QuickCheck")
     (description
@@ -945,24 +881,30 @@ To get started quickly, see the examples:
 @uref{https://github.com/hedgehogqa/haskell-hedgehog/tree/master/hedgehog-example}")
     (license license:bsd-3)))
 
+;; Deprecated. Don’t use.
 (define-public cabal-doctest
   (package
     (name "cabal-doctest")
-    (version "1.0.8")
-    (source
-     (origin
-       (method url-fetch)
-       (uri (string-append "https://hackage.haskell.org/package/"
-                           "cabal-doctest/cabal-doctest-"
-                           version ".tar.gz"))
-       (sha256
-        (base32
-         "03if74imlhhk7m56nci5f1wclniwqdmwl4hl177040j1gnlac9i0"))))
+    (version "1.0.9")
+    (source (origin
+              (method url-fetch)
+              (uri (hackage-uri "cabal-doctest" version))
+              (sha256
+               (base32
+                "0wxs0xkspc80h0g8ks792lrzldxvcnhc9rja1j0k678ijs20hmjm"))))
     (build-system haskell-build-system)
+    (properties '((upstream-name . "cabal-doctest")))
     (arguments
-     `(#:cabal-revision
-       ("2" "05v1awad3d1wvc763xcgvxm4n6n7bs7byc6s14kdbw35zcaddlcb")))
-    (home-page "https://github.com/phadej/cabal-doctest")
+     `(#:cabal-revision ("2"
+                         "0868js0qgfhvmyw4hjzrvmlzyqsm8dfsbmqhybxb90x44xi3r0i1")
+       #:phases
+       (modify-phases %standard-phases
+         (add-before 'configure 'update-constraints
+           (lambda _
+             (substitute* "cabal-doctest.cabal"
+               (("\\b(Cabal|base)\\s+[^,]+" all dep)
+                dep)))))))
+    (home-page "https://github.com/haskellari/cabal-doctest")
     (synopsis "Setup.hs helper for running doctests")
     (description
      "To properly work, the @code{doctest} package needs plenty of
@@ -970,6 +912,10 @@ configuration.  This library provides the common bits for writing custom
 @file{Setup.hs} files.")
     (license license:bsd-3)))
 
+;; Deprecated. Don’t use.
+(define-public ghc-cabal-doctest
+  (deprecated-package "ghc-cabal-doctest" cabal-doctest))
+
 (define-public ghc-testing-type-modifiers
   (package
     (name "ghc-testing-type-modifiers")
@@ -977,13 +923,12 @@ configuration.  This library provides the common bits for writing custom
     (source
       (origin
         (method url-fetch)
-        (uri (string-append "https://hackage.haskell.org/package/"
-                            "testing-type-modifiers/testing-type-modifiers-"
-                            version ".tar.gz"))
+        (uri (hackage-uri "testing-type-modifiers" version))
         (sha256
           (base32
             "1wh2n95n39ivv6kbqn42vbzrj8zagsmk6f2al2qj40bg5kgdl2q5"))))
     (build-system haskell-build-system)
+    (properties '((upstream-name . "testing-type-modifiers")))
     (home-page "https://hackage.haskell.org/package/testing-type-modifiers")
     (synopsis "Data type modifiers for property based testing")
     (description "Property based testing libraries such as QuickCheck tend to
@@ -996,22 +941,20 @@ testing frameworks.")
 (define-public ghc-testing-feat
   (package
     (name "ghc-testing-feat")
-    (version "1.1.0.0")
-    (source
-      (origin
-        (method url-fetch)
-        (uri (string-append "https://hackage.haskell.org/package/"
-                            "testing-feat/testing-feat-" version ".tar.gz"))
-        (sha256
-          (base32
-            "1v2qzzpf1s008g7q6q67glf7vbm1pkpq4rc3ii74f4g6vhfx610r"))))
+    (version "1.1.1.1")
+    (source (origin
+              (method url-fetch)
+              (uri (hackage-uri "testing-feat" version))
+              (sha256
+               (base32
+                "14d6licgrkiw36xj1cshnqxcbx5iwzxwq731xlb1wb5n2sw8ijf2"))))
     (build-system haskell-build-system)
-    (inputs
-      (list ghc-quickcheck ghc-size-based ghc-testing-type-modifiers
-            ghc-semigroups))
-    (home-page "https://github.com/JonasDuregard/testing-feat")
+    (properties '((upstream-name . "testing-feat")))
+    (inputs (list ghc-quickcheck ghc-size-based ghc-testing-type-modifiers))
+    (home-page "https://github.com/size-based/testing-feat")
     (synopsis "Functional Enumeration of Algebraic Types")
-    (description "Feat (Functional Enumeration of Algebraic Types)
+    (description
+     "Feat (Functional Enumeration of Algebraic Types)
 provides enumerations as functions from natural numbers to
 values (similar to @code{toEnum} but for any algebraic data type).  This
 can be used for SmallCheck-style systematic testing, QuickCheck-style
@@ -1021,19 +964,16 @@ random testing, and hybrids of the two.")
 (define-public ghc-inspection-testing
   (package
     (name "ghc-inspection-testing")
-    (version "0.4.6.0")
-    (source
-     (origin
-       (method url-fetch)
-       (uri (string-append
-             "https://hackage.haskell.org/package/inspection-testing/"
-             "inspection-testing-" version ".tar.gz"))
-       (sha256
-        (base32
-         "0qz1npyycj4bvyly9xmjbnhw569l52h38gx02rk0r7zhapw83aig"))))
+    (version "0.4.6.1")
+    (source (origin
+              (method url-fetch)
+              (uri (hackage-uri "inspection-testing" version))
+              (sha256
+               (base32
+                "0mxff0v3ciccbk4b8kxnh4752fzbwn7213qd8xji0csv6gi2w83y"))))
     (build-system haskell-build-system)
-    (home-page
-     "https://github.com/nomeata/inspection-testing")
+    (properties '((upstream-name . "inspection-testing")))
+    (home-page "https://github.com/nomeata/inspection-testing")
     (synopsis "GHC plugin to do inspection testing")
     (description
      "Some carefully crafted libraries make promises to their users beyond
@@ -1065,13 +1005,11 @@ examples and more information.")
     (source
       (origin
         (method url-fetch)
-        (uri (string-append
-               "https://hackage.haskell.org/package/quickcheck-classes/quickcheck-classes-"
-               version
-               ".tar.gz"))
+        (uri (hackage-uri "quickcheck-classes" version))
         (sha256
           (base32 "19iw15mvb7gws3ljdxqwsbb4pmfc0sfflf8szgmrhiqr3k82mqv2"))))
     (build-system haskell-build-system)
+    (properties '((upstream-name . "quickcheck-classes")))
     (inputs
       (list ghc-quickcheck
             ghc-primitive
@@ -1109,13 +1047,11 @@ constraints more cleanly.")
     (source
       (origin
         (method url-fetch)
-        (uri (string-append
-               "https://hackage.haskell.org/package/quickcheck-classes-base/quickcheck-classes-base-"
-               version
-               ".tar.gz"))
+        (uri (hackage-uri "quickcheck-classes-base" version))
         (sha256
           (base32 "16c6gq4cqpkwnq1pzkhm6r7mrwk4an50ha5w77bmiia2qkhla6ch"))))
     (build-system haskell-build-system)
+    (properties '((upstream-name . "quickcheck-classes-base")))
     (inputs
       (list ghc-quickcheck
             ghc-contravariant
@@ -1150,13 +1086,11 @@ these constraints more cleanly.")
     (source
       (origin
         (method url-fetch)
-        (uri (string-append
-               "https://hackage.haskell.org/package/doctest-lib/doctest-lib-"
-               version
-               ".tar.gz"))
+        (uri (hackage-uri "doctest-lib" version))
         (sha256
           (base32 "1vswam0dhw52dihgnzirh18gqs8rj8h6jd7pl6y1mg2f9f9zmih2"))))
     (build-system haskell-build-system)
+    (properties '((upstream-name . "doctest-lib")))
     (home-page "https://hub.darcs.net/thielema/doctest-lib/")
     (synopsis "Parts of doctest exposed as library")
     (description
@@ -1170,15 +1104,16 @@ these constraints more cleanly.")
     (source
       (origin
         (method url-fetch)
-        (uri (string-append
-               "https://hackage.haskell.org/package/doctest-exitcode-stdio/doctest-exitcode-stdio-"
-               version
-               ".tar.gz"))
+        (uri (hackage-uri "doctest-exitcode-stdio" version))
         (sha256
           (base32 "1g3c7yrqq2mwqbmvs8vkx1a3cf0p0x74b7fnn344dsk7bsfpgv0x"))))
     (build-system haskell-build-system)
+    (properties '((upstream-name . "doctest-exitcode-stdio")))
     (inputs
       (list ghc-doctest-lib ghc-quickcheck ghc-semigroups))
+    (arguments
+     `(#:cabal-revision ("1"
+                         "1065s8bch6zhl6mc8nhvfpwd1irmjd04z7xgycbpihc14x4ijim3")))
     (home-page "https://hub.darcs.net/thielema/doctest-exitcode-stdio/")
     (synopsis "Run Doctests in a @code{Cabal.Test.exitcode-stdio} environment")
     (description
@@ -1186,59 +1121,33 @@ these constraints more cleanly.")
 environment.")
     (license license:bsd-3)))
 
-(define-public ghc-cabal-doctest
-  (package
-    (name "ghc-cabal-doctest")
-    (version "1.0.8")
-    (source
-      (origin
-        (method url-fetch)
-        (uri (string-append
-               "https://hackage.haskell.org/package/cabal-doctest/cabal-doctest-"
-               version
-               ".tar.gz"))
-        (sha256
-          (base32 "03if74imlhhk7m56nci5f1wclniwqdmwl4hl177040j1gnlac9i0"))))
-    (build-system haskell-build-system)
-    (arguments
-      `(#:cabal-revision
-        ("2" "05v1awad3d1wvc763xcgvxm4n6n7bs7byc6s14kdbw35zcaddlcb")))
-    (home-page "https://github.com/phadej/cabal-doctest")
-    (synopsis "@file{Setup.hs} helper for Doctests running")
-    (description
-      "This package provides helpers for running Doctests in @file{Setup.hs}.")
-    (license license:bsd-3)))
-
 (define-public ghc-tasty-silver
   (package
     (name "ghc-tasty-silver")
-    (version "3.2.3")
-    (source
-      (origin
-        (method url-fetch)
-        (uri (string-append
-               "https://hackage.haskell.org/package/tasty-silver/tasty-silver-"
-               version
-               ".tar.gz"))
-        (sha256
-          (base32 "0nvh2k8iqqkanmp7lpwd3asimyarzisly8wavbdahcxryn0j4xb7"))))
+    (version "3.3.1.1")
+    (source (origin
+              (method url-fetch)
+              (uri (hackage-uri "tasty-silver" version))
+              (sha256
+               (base32
+                "13j0zs0ciijv9q2nncna1gbgsgw2g7xc228hzmqic1750n3ybz9m"))))
     (build-system haskell-build-system)
-    (inputs
-      (list ghc-ansi-terminal
-            ghc-async
-            ghc-optparse-applicative
-            ghc-process-extras
-            ghc-regex-tdfa
-            ghc-semigroups
-            ghc-tagged
-            ghc-tasty
-            ghc-temporary))
-    (native-inputs
-     (list ghc-tasty-hunit ghc-silently))
+    (properties '((upstream-name . "tasty-silver")))
+    (inputs (list ghc-ansi-terminal
+                  ghc-async
+                  ghc-optparse-applicative
+                  ghc-process-extras
+                  ghc-regex-tdfa
+                  ghc-silently
+                  ghc-tagged
+                  ghc-tasty
+                  ghc-temporary
+                  ghc-semigroups))
+    (native-inputs (list ghc-tasty-hunit))
     (home-page "https://github.com/phile314/tasty-silver")
     (synopsis "Fancy test runner, including support for golden tests")
     (description
-      "This package provides a fancy test runner and support for @dfn{golden
+     "This package provides a fancy test runner and support for @dfn{golden
 testing}.  A golden test is an IO action that writes its result to a file.  To
 pass the test, this output file should be identical to the corresponding
 ``golden'' file, which contains the correct result for the test.  The test
@@ -1246,3 +1155,22 @@ runner allows filtering tests using regexes, and to interactively inspect the
 result of golden tests.")
     (license license:expat)))
 
+(define-public ghc-tasty-inspection-testing
+  (package
+    (name "ghc-tasty-inspection-testing")
+    (version "0.1.0.1")
+    (source (origin
+              (method url-fetch)
+              (uri (hackage-uri "tasty-inspection-testing" version))
+              (sha256
+               (base32
+                "0p46w44f19w7lvdzyg3vq6qzix0rjp8p23ilxz82dviq38lgmifp"))))
+    (build-system haskell-build-system)
+    (properties '((upstream-name . "tasty-inspection-testing")))
+    (inputs (list ghc-inspection-testing ghc-tasty))
+    (home-page "https://github.com/Bodigrim/tasty-inspection-testing")
+    (synopsis "Inspection testing support for tasty")
+    (description
+     "Integrate @@inspection-testing@@ into @@tasty@@ test suites.")
+    (license license:expat)))
+