diff options
Diffstat (limited to 'gnu/packages/haskell-check.scm')
-rw-r--r-- | gnu/packages/haskell-check.scm | 155 |
1 files changed, 111 insertions, 44 deletions
diff --git a/gnu/packages/haskell-check.scm b/gnu/packages/haskell-check.scm index 45041c3698..8a3b8ad866 100644 --- a/gnu/packages/haskell-check.scm +++ b/gnu/packages/haskell-check.scm @@ -2,7 +2,7 @@ ;;; Copyright © 2015 Paul van der Walt <paul@denknerd.org> ;;; Copyright © 2015 Eric Bavier <bavier@member.fsf.org> ;;; Copyright © 2015 Federico Beffa <beffa@fbengineering.ch> -;;; Copyright © 2015, 2016, 2017 Ricardo Wurmus <rekado@elephly.net> +;;; Copyright © 2015, 2016, 2017, 2018 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2016 ng0 <ng0@infotropique.org> ;;; Copyright © 2016 David Craven <david@craven.ch> ;;; Copyright © 2017 Danny Milosavljevic <dannym@scratchpost.org> @@ -180,7 +180,7 @@ timer functions of different operating systems via a unified API.") (define-public ghc-tasty (package (name "ghc-tasty") - (version "0.11.0.1") + (version "0.11.0.4") (source (origin (method url-fetch) @@ -190,12 +190,13 @@ timer functions of different operating systems via a unified API.") ".tar.gz")) (sha256 (base32 - "1chapivmmwsb1ghwagvdm80bfj3hdk75m94z4p212ng2i4ghpjkx")))) + "05pxjzgbgjdn7477xry0ssjrnmnsydqiq6nm6ck8n2da1baliqp0")))) (build-system haskell-build-system) (inputs `(("ghc-stm" ,ghc-stm) ("ghc-mtl" ,ghc-mtl) ("ghc-tagged" ,ghc-tagged) + ("ghc-regex-tdfa" ,ghc-regex-tdfa) ("ghc-regex-tdfa-rc" ,ghc-regex-tdfa-rc) ("ghc-optparse-applicative" ,ghc-optparse-applicative) ("ghc-unbounded-delays" ,ghc-unbounded-delays) @@ -310,10 +311,36 @@ only those tests that failed in the last run, or to only run the tests that have been added since previous test run.") (license license:bsd-3))) +(define-public ghc-tasty-expected-failure + (package + (name "ghc-tasty-expected-failure") + (version "0.11.0.4") + (source + (origin + (method url-fetch) + (uri (string-append "https://hackage.haskell.org/package/" + "tasty-expected-failure/tasty-expected-failure-" + version ".tar.gz")) + (sha256 + (base32 + "0r555f18d2gj96pjyc13chn1nxaxl81am4xgip3mvvjhw8s5mva1")))) + (build-system haskell-build-system) + (inputs + `(("ghc-tagged" ,ghc-tagged) + ("ghc-tasty" ,ghc-tasty))) + (home-page "http://github.com/nomeata/tasty-expected-failure") + (synopsis "Mark tasty tests as failure expected") + (description + "With the function @code{Test.Tasty.ExpectedFailure.expectFail} in the +provided module @code{Test.Tasty.ExpectedFailure}, you can mark that you +expect test cases to fail, and not to pass. This can be used for test-driven +development.") + (license license:expat))) + (define-public ghc-quickcheck-instances (package (name "ghc-quickcheck-instances") - (version "0.3.12") + (version "0.3.16.1") (source (origin (method url-fetch) @@ -323,18 +350,22 @@ been added since previous test run.") version ".tar.gz")) (sha256 (base32 - "1wwvkzpams7i0j7nk5qj8vvhj8x5zcbgbgrpczszgvshva4bkmfx")))) + "01v5bs7r9yvhkvb4yc9bqnacy8r6cy2gr9lnmwx40n5apgi0gcbz")))) (build-system haskell-build-system) (inputs - `(("ghc-old-time" ,ghc-old-time) - ("ghc-unordered-containers" ,ghc-unordered-containers) + `(("ghc-quickcheck" ,ghc-quickcheck) + ("ghc-base-compat" ,ghc-base-compat) + ("ghc-case-insensitive" ,ghc-case-insensitive) ("ghc-hashable" ,ghc-hashable) - ("ghc-quickcheck" ,ghc-quickcheck) + ("ghc-old-time" ,ghc-old-time) ("ghc-scientific" ,ghc-scientific) - ("ghc-vector" ,ghc-vector) - ("ghc-text" ,ghc-text))) - (home-page - "https://github.com/aslatter/qc-instances") + ("ghc-tagged" ,ghc-tagged) + ("ghc-text" ,ghc-text) + ("ghc-transformers-compat" ,ghc-transformers-compat) + ("ghc-unordered-containers" ,ghc-unordered-containers) + ("ghc-uuid-types" ,ghc-uuid-types) + ("ghc-vector" ,ghc-vector))) + (home-page "https://github.com/aslatter/qc-instances") (synopsis "Common quickcheck instances") (description "This package provides QuickCheck instances for types provided by the Haskell Platform.") @@ -390,7 +421,7 @@ use HUnit assertions as QuickCheck properties.") (define-public ghc-quickcheck (package (name "ghc-quickcheck") - (version "2.8.2") + (version "2.10.1") (outputs '("out" "doc")) (source (origin @@ -401,21 +432,38 @@ use HUnit assertions as QuickCheck properties.") ".tar.gz")) (sha256 (base32 - "1ai6k5v0bibaxq8xffcblc6rwmmk6gf8vjyd9p2h3y6vwbhlvilq")))) + "1rfmns3lj3hl93k1jws85ajkkw7z9ll8cw292n9m7zald1w5dfqx")))) (build-system haskell-build-system) (arguments `(#:tests? #f ; FIXME: currently missing libraries used for tests. #:configure-flags '("-f base4"))) (inputs - `(("ghc-tf-random" ,ghc-tf-random))) - (home-page - "https://github.com/nick8325/quickcheck") - (synopsis - "Automatic testing of Haskell programs") + `(("ghc-random" ,ghc-random) + ("ghc-tf-random" ,ghc-tf-random))) + (home-page "https://github.com/nick8325/quickcheck") + (synopsis "Automatic testing of Haskell programs") (description - "QuickCheck is a library for random testing of program properties.") + "QuickCheck is a library for random testing of program properties. The +programmer provides a specification of the program, in the form of properties +which functions should satisfy, and QuickCheck then tests that the properties +hold in a large number of randomly generated cases. Specifications are +expressed in Haskell, using combinators defined in the QuickCheck library.") (license license:bsd-3))) +(define-public ghc-quickcheck-latest + (package (inherit ghc-quickcheck) + (version "2.11.3") + (source + (origin + (method url-fetch) + (uri (string-append + "https://hackage.haskell.org/package/QuickCheck/QuickCheck-" + version + ".tar.gz")) + (sha256 + (base32 + "0xhqk35fkzlbjcqbabg6962jkv8d688nzmz7ng4bm84x2d95d328")))))) + (define-public ghc-test-framework (package (name "ghc-test-framework") @@ -429,6 +477,8 @@ use HUnit assertions as QuickCheck properties.") (base32 "0wxjgdvb1c4ykazw774zlx86550848wbsvgjgcrdzcgbb9m650vq")))) (build-system haskell-build-system) + (arguments + `(#:configure-flags (list "--allow-newer=time"))) (native-inputs `(("ghc-hunit" ,ghc-hunit) ("ghc-quickcheck" ,ghc-quickcheck))) @@ -478,7 +528,7 @@ reporting and test statistics output.") (define-public ghc-test-framework-quickcheck2 (package (name "ghc-test-framework-quickcheck2") - (version "0.3.0.3") + (version "0.3.0.4") (source (origin (method url-fetch) @@ -487,14 +537,7 @@ reporting and test statistics output.") "test-framework-quickcheck2-" version ".tar.gz")) (sha256 (base32 - "12p1zwrsz35r3j5gzbvixz9z1h5643rhihf5gqznmc991krwd5nc")) - (modules '((guix build utils))) - (snippet - ;; The Hackage page and the cabal file linked there for this package - ;; both list 2.9 as the upper version limit, but the source tarball - ;; specifies 2.8. Assume the Hackage page is correct. - '(substitute* "test-framework-quickcheck2.cabal" - (("QuickCheck >= 2.4 && < 2.8") "QuickCheck >= 2.4 && < 2.9"))))) + "0vj834337r6jzr3258cv68ly2sv5999mklpsrfngyk51kywsyqyp")))) (build-system haskell-build-system) (inputs `(("ghc-extensible-exceptions" ,ghc-extensible-exceptions) @@ -545,7 +588,7 @@ using Template Haskell") (define-public ghc-hunit (package (name "ghc-hunit") - (version "1.2.5.2") + (version "1.3.1.2") (outputs '("out" "doc")) (source (origin @@ -556,7 +599,7 @@ using Template Haskell") ".tar.gz")) (sha256 (base32 - "0hcs6qh8bqhip1kkjjnw7ccgcsmawdz5yvffjj5y8zd2vcsavx8a")))) + "10akdh4fl615rrshxi3m5gf414il1q42z4zqyb6q4jasmscvzpms")))) (build-system haskell-build-system) (home-page "http://hunit.sourceforge.net/") (synopsis "Unit testing framework for Haskell") @@ -568,7 +611,7 @@ JUnit tool for Java.") (define-public hspec-discover (package (name "hspec-discover") - (version "2.2.0") + (version "2.2.4") (source (origin (method url-fetch) @@ -578,12 +621,12 @@ JUnit tool for Java.") ".tar.gz")) (sha256 (base32 - "0w3awzbljf4hqhxrjrxqa1lfcclg92bhmq641gz2q80vycspapzx")))) + "1bz7wb8v0bx1amiz4bpj34xq97d1ia29n3f654wcrh6lacydp3dv")))) (build-system haskell-build-system) (arguments `(#:haddock? #f)) ; Haddock phase fails because there are no ; documentation files. (inputs `(("ghc-hspec-meta" ,ghc-hspec-meta))) - (home-page "http://hspec.github.io/") + (home-page "https://hspec.github.io/") (synopsis "Automatically discover and run Hspec tests") (description "hspec-discover is a tool which automatically discovers and runs Hspec tests.") @@ -592,7 +635,7 @@ runs Hspec tests.") (define-public ghc-hspec-core (package (name "ghc-hspec-core") - (version "2.2.0") + (version "2.2.4") (source (origin (method url-fetch) @@ -602,7 +645,7 @@ runs Hspec tests.") ".tar.gz")) (sha256 (base32 - "1wgd55k652jaf81nkvciyqi67ycj7zamr4nd9z1cqf8nr9fc3sa4")))) + "0x845ngfl6vf65fnpb5mm3wj0ql45pz11bnm0x4gxc4ybd9c52ij")))) (build-system haskell-build-system) (arguments `(#:tests? #f)) ; FIXME: testing libraries are missing. (inputs @@ -614,7 +657,7 @@ runs Hspec tests.") ("ghc-quickcheck" ,ghc-quickcheck) ("ghc-hspec-expectations" ,ghc-hspec-expectations) ("ghc-silently" ,ghc-silently))) - (home-page "http://hspec.github.io/") + (home-page "https://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.") @@ -623,7 +666,7 @@ be used to extend Hspec's functionality.") (define-public ghc-hspec-meta (package (name "ghc-hspec-meta") - (version "2.2.0") + (version "2.2.1") (source (origin (method url-fetch) @@ -633,7 +676,7 @@ be used to extend Hspec's functionality.") ".tar.gz")) (sha256 (base32 - "1fmqmgrzp135cxhmxxbaswkk4bqbpgfml00cmcz0d39n11vzpa5z")))) + "1m1pkrxiglxzwv8gdj5jr1bdbhxvvg6sbl9m61w4565d7k1m8yxa")))) (build-system haskell-build-system) (inputs `(("ghc-quickcheck" ,ghc-quickcheck) @@ -644,7 +687,7 @@ be used to extend Hspec's functionality.") ("ghc-setenv" ,ghc-setenv) ("ghc-random" ,ghc-random) ("ghc-quickcheck-io" ,ghc-quickcheck-io))) - (home-page "http://hspec.github.io/") + (home-page "https://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.") @@ -653,7 +696,7 @@ used to test the in-development version of Hspec.") (define-public ghc-hspec (package (name "ghc-hspec") - (version "2.2.0") + (version "2.2.4") (source (origin (method url-fetch) @@ -663,7 +706,7 @@ used to test the in-development version of Hspec.") ".tar.gz")) (sha256 (base32 - "0zqisxznlbszivsgy3irvf566zhcr6ipqqj3x9i7pj5hy913jwqf")))) + "1cf90gqvg1iknja6ymxqxyabpahcxni3blqllh81ywbir3whljvj")))) (build-system haskell-build-system) (inputs `(("ghc-hspec-core" ,ghc-hspec-core) @@ -673,7 +716,7 @@ used to test the in-development version of Hspec.") ("ghc-hunit" ,ghc-hunit) ("ghc-stringbuilder" ,ghc-stringbuilder) ("ghc-hspec-meta" ,ghc-hspec-meta))) - (home-page "http://hspec.github.io/") + (home-page "https://hspec.github.io/") (synopsis "Testing Framework for Haskell") (description "This library provides the Hspec testing framework for Haskell, inspired by the Ruby library RSpec.") @@ -699,7 +742,7 @@ Haskell, inspired by the Ruby library RSpec.") ("ghc-quickcheck" ,ghc-quickcheck))) (native-inputs `(("hspec-discover" ,hspec-discover))) - (home-page "http://hspec.github.io/") + (home-page "https://hspec.github.io/") (synopsis "Contributed functionality for Hspec") (description "This package provides contributed Hspec extensions.") @@ -726,3 +769,27 @@ Haskell, inspired by the Ruby library RSpec.") (description "This library provides catchy combinators for HUnit, see @uref{https://github.com/sol/hspec-expectations#readme, the README}.") (license license:expat))) + +(define-public ghc-nanospec + (package + (name "ghc-nanospec") + (version "0.2.2") + (source + (origin + (method url-fetch) + (uri (string-append "https://hackage.haskell.org/package/" + "nanospec/nanospec-" + version ".tar.gz")) + (sha256 + (base32 + "1rcmhl9bhyfvanalnf1r86wkx6rq6wdvagnw1h011jcnnb1cq56g")))) + (build-system haskell-build-system) + (inputs + `(("ghc-hspec" ,ghc-hspec) + ("ghc-silently" ,ghc-silently))) + (home-page "https://github.com/hspec/nanospec#readme") + (synopsis "Lightweight implementation of a subset of Hspec's API") + (description + "Nanospec is a lightweight implementation of a subset of Hspec's API with +minimal dependencies.") + (license license:expat))) |