Compare commits

...

56 Commits

Author SHA1 Message Date
Saku Laesvuori
4c8736cc64 gnu: ghc-haskeline: Fix build
* gnu/packages/haskell-xyz.scm
(ghc-haskeline): Update to version 0.8.4.1.
[native-inputs]: Add which.
[phases]: Add example binary to PATH before running tests.

Change-Id: I0c006c89b766397dd144da76ae20c5326ad776f4
Signed-off-by: Andreas Enge <andreas@enge.fr>
2026-04-20 17:10:23 +02:00
Saku Laesvuori
0a2dba4538 gnu: ghc-selective: Fix build
* gnu/packages/haskell-xyz.scm (ghc-selective)[origin]: Add a snippet to
relax dependency versions.

Change-Id: Ia922e9c160a72181d91ab380be88c6aab57f5a9d
Signed-off-by: Andreas Enge <andreas@enge.fr>
2026-04-20 17:10:23 +02:00
Saku Laesvuori
c531c5c494 gnu: ghc-curve25519: Update to 0.2.8.1.
* gnu/packages/haskell-crypto.scm (ghc-curve25519): Update to 0.2.8.1.

Change-Id: Iff88678a59fdd289f04efaac1dc92216f9b74c53
Signed-off-by: Andreas Enge <andreas@enge.fr>
2026-04-20 17:10:23 +02:00
Saku Laesvuori
e6baa8e9fa gnu: ghc-wave: Fix build
* gnu/packages/haskell-xyz.scm
(ghc-wave)[native-inputs]: Add hspec-discover.
[phases]: Add a phase to relax dependency versions.

Change-Id: I8d29bc716fa4ad97ff01a490ed1122ab226f89c0
Signed-off-by: Andreas Enge <andreas@enge.fr>
2026-04-20 17:10:23 +02:00
Saku Laesvuori
9ca97d8c39 gnu: ghc-edit-distance: Fix build
* gnu/packages/haskell-xyz.scm (ghc-edit-distance)[phases]: Add a phase
to relax dependency versions.

Change-Id: I661259862380d9ca5559b0727d3129042a7c1c6c
Signed-off-by: Andreas Enge <andreas@enge.fr>
2026-04-20 17:10:23 +02:00
Saku Laesvuori
2689a01e71 gnu: ghc-proctest: Update to version 0.1.3.1 to fix build
* gnu/packages/haskell-check.scm (ghc-proctest): Update.

Change-Id: Ice9fcc508bc84def32245aa2360bc93e3f6ac63f
Signed-off-by: Andreas Enge <andreas@enge.fr>
2026-04-20 17:10:23 +02:00
Saku Laesvuori
7b37197dce gnu: ghc-parsec: Add upstream-name property
This enables updating the package with guix refresh.

* gnu/packages/haskell-xyz.scm (ghc-parsec): Add properties field.

Change-Id: I01019aa8c43ec3ac837df3aecca39ee2809259f8
Signed-off-by: Andreas Enge <andreas@enge.fr>
2026-04-20 17:10:22 +02:00
Saku Laesvuori
711089969a gnu: ghc-parsec: Update to version 3.1.18.0
* gnu/packages/haskell-xyz.scm (ghc-parsec): Update.

Change-Id: I9c6186d566255fd5fc08ed05d33cdcc0e8fbc313
Signed-off-by: Andreas Enge <andreas@enge.fr>
2026-04-20 17:10:22 +02:00
Saku Laesvuori
511c15701c gnu: ghc-atomic-write: Fix build
* gnu/packages/haskell-xyz.scm
(ghc-atomic-write)[native-inputs]: Add hspec-discover.

Change-Id: Id5242c7be61e128c9fb5ae1f28365bbf3aedd88e
Signed-off-by: Andreas Enge <andreas@enge.fr>
2026-04-20 17:10:22 +02:00
Saku Laesvuori
358f464159 gnu: ghc-validity: Fix build
* gnu/packages/haskell-xyz.scm
(ghc-validity)[native-inputs]: Add hspec-discover.

Change-Id: I0f803c494c17563c9cf20d88384344ab1e06515d
Signed-off-by: Andreas Enge <andreas@enge.fr>
2026-04-20 17:10:22 +02:00
Saku Laesvuori
f4a364611b gnu: ghc-haskell-src: Fix build
* gnu/packages/haskell-xyz.scm
(ghc-haskell-src)[native-inputs]: Add ghc-happy.

Change-Id: Iadcd0b0189f11fb1225c67c4690824f138100151
Signed-off-by: Andreas Enge <andreas@enge.fr>
2026-04-20 17:10:22 +02:00
Saku Laesvuori
8e4ecef1c5 gnu: ghc-config-value: Fix build
* gnu/packages/haskell-xyz.scm (ghc-config-value)[native-inputs]:
Add ghc-alex and ghc-happy.

Change-Id: I7ade9d411a03835052457ffe1f15d74bb923809e
Signed-off-by: Andreas Enge <andreas@enge.fr>
2026-04-20 17:10:22 +02:00
Saku Laesvuori
3ae74b3d97 gnu: ghc-lib-parser: Fix build
* gnu/packages/haskell-xyz.scm (ghc-lib-parser)[native-inputs]:
Add ghc-alex and ghc-happy.

Change-Id: I994a006dcbeaadbba997c191f67e432bc0cd4631
Signed-off-by: Andreas Enge <andreas@enge.fr>
2026-04-20 17:10:22 +02:00
Saku Laesvuori
b787d733f4 gnu: ghc-pcre-light: Fix build
* gnu/packages/haskell-xyz.scm (ghc-pcre-light)[inputs]: Add pcre.

Change-Id: Ieacbad4487647da1bdf41032bd91826e46e488e4
Signed-off-by: Andreas Enge <andreas@enge.fr>
2026-04-20 17:10:22 +02:00
Saku Laesvuori
dad77aa713 gnu: ghc-cabal-syntax: Fix build
* gnu/packages/haskell-xyz.scm
(ghc-cabal-syntax)[native-inputs]: Add ghc-alex.

Change-Id: I45664ab5fef4f45d2b8c8b52a8a4970b01e22585
Signed-off-by: Andreas Enge <andreas@enge.fr>
2026-04-20 17:10:22 +02:00
Saku Laesvuori
ea7e135271 gnu: ghc-newtype-generics: Fix build
* gnu/packages/haskell-xyz.scm
(ghc-newtype-generics)[native-inputs]: Add hspec-discover.

Change-Id: Ic7355738440d491404b10e60423d915b6bcc4a55
Signed-off-by: Andreas Enge <andreas@enge.fr>
2026-04-20 17:10:21 +02:00
Saku Laesvuori
c205e41353 gnu: ghc-easyplot: Fix build
* gnu/packages/haskell-xyz.scm (ghc-easyplot)[source]: Add a snippet to
fix the name of the setup script.

Change-Id: Ica8955b566eaf9cd76a1fedfe79d9f1383615dc8
Signed-off-by: Andreas Enge <andreas@enge.fr>
2026-04-20 17:10:21 +02:00
Saku Laesvuori
86825be2ab gnu: ghc-data-clist: Fix build
* gnu/packages/haskell-xyz.scm (ghc-data-clist)[arguments]<phases>: Add
a phase to relax dependecy constraints.

Change-Id: If6a2269fb71febb401cf00100bfc6f8c4987805b
Signed-off-by: Andreas Enge <andreas@enge.fr>
2026-04-20 17:10:21 +02:00
Saku Laesvuori
975aa48cae gnu: ghc-template-haskell: Fix build
* gnu/packages/haskell-xyz.scm (ghc-template-haskell)[arguments]: Relax
dependency version constraints on ghc-boot-th.

Change-Id: I2ce7fdf31d9206745ac53a6de595cadd5b56cc95
Signed-off-by: Andreas Enge <andreas@enge.fr>
2026-04-20 17:10:21 +02:00
Saku Laesvuori
6acf7a9c06 gnu: ghc-ed25519: Fix build
The tests no longer build with current versions of the test frameworks.

* gnu/packages/haskell-crypto.scm
(ghc-ed25519)[arguments]: Disable tests.

Change-Id: I4d727bc0616aff7992995b1711acf23442c8d2e2
Signed-off-by: Andreas Enge <andreas@enge.fr>
2026-04-20 17:10:21 +02:00
Saku Laesvuori
0fff5dd5ce gnu: ghc-doctest-driver-gen: Fix tests
* gnu/packages/haskell-xyz.scm (ghc-doctest-driver-gen)[arguments]: Add
the built binary to PATH before running the testsuite.

Change-Id: I4bf0988e1a4cd3aa190d825d9a52ad97e0d4f1c7
Signed-off-by: Andreas Enge <andreas@enge.fr>
2026-04-20 17:10:21 +02:00
Saku Laesvuori
236903e218 gnu: ghc-mysql: Fix build
* gnu/packages/haskell-xyz.scm (ghc-mysql)[inputs]: Add mariadb:dev,
openssl and zlib.
[arguments]: Disable failing tests.

Change-Id: Ib8dae50c15c84edeab9f1a6f9b2ddce19ae7bf93
Signed-off-by: Andreas Enge <andreas@enge.fr>
2026-04-20 17:10:21 +02:00
Saku Laesvuori
3e5df68673 gnu: ghc-base-compat-batteries: Fix build
* gnu/packages/haskell-xyz.scm
(ghc-base-compat-batteries)[native-inputs]: Add hspec-discover.

Change-Id: I383f8ede11b0c5632d7e53fb4975455b1fbb515f
Signed-off-by: Andreas Enge <andreas@enge.fr>
2026-04-20 17:10:21 +02:00
Saku Laesvuori
e298edb28e gnu: ghc-getopt-generics: Fix build
* gnu/packages/haskell-xyz.scm
(ghc-getopt-generics)[native-inputs]: Add hspec-discover.

Change-Id: I691c3522341c95b1b6b9162d16b961a75a8ab413
Signed-off-by: Andreas Enge <andreas@enge.fr>
2026-04-20 17:10:21 +02:00
Saku Laesvuori
86aa4e3bfc gnu: ghc-roman-numerals: Fix build.
* gnu/packages/haskell-xyz.scm (ghc-roman-numerals)[arguments]<phases>:
Relax dependency constraints on text.

Change-Id: Iad9e99d49a20925dbbfb41c285325b495c410327
Signed-off-by: Andreas Enge <andreas@enge.fr>
2026-04-20 17:10:20 +02:00
Saku Laesvuori
88aff62d8e gnu: ghc-fgl-arbitrary: Fix build
* gnu/packages/haskell-xyz.scm (ghc-fgl-arbitrary)[arguments]<phases>:
Relax dependency constraints on QuickCheck.

Change-Id: I3f09e56295b35362cfecd31c3f93df84bda7a913
Signed-off-by: Andreas Enge <andreas@enge.fr>
2026-04-20 17:10:20 +02:00
Saku Laesvuori
05c8e8cb3d gnu: ghc-pqueue: Update to version 1.5.0.0
* gnu/packages/haskell-xyz.scm (ghc-pqueue): Update to version 1.5.0.0.

Change-Id: Ie14590d5e22f8ca5c201f3f2d8baf393605570b3
Signed-off-by: Andreas Enge <andreas@enge.fr>
2026-04-20 17:10:20 +02:00
Saku Laesvuori
36b9ed4445 gnu: ghc-lzma: Fix build
* gnu/packages/haskell-xyz.scm
(ghc-lzma)[native-inputs]: Add pkg-config.

Change-Id: I1d3dbb61770ab5aa673b2f7d977948a127c27873
Signed-off-by: Andreas Enge <andreas@enge.fr>
2026-04-20 17:10:20 +02:00
Saku Laesvuori
6ed858c4c0 gnu: ghc-openglraw: Fix build
* gnu/packages/haskell-xyz.scm (ghc-openglraw)[inputs]: Add glu.

Change-Id: I3b6590c759aa2abd603e03aa1467a903812a1ffa
Signed-off-by: Andreas Enge <andreas@enge.fr>
2026-04-20 17:10:20 +02:00
Saku Laesvuori
42faa9d63a gnu: ghc-say: Fix build
* gnu/packages/haskell-xyz.scm (ghc-say)[arguments]: Disable tests.

Change-Id: Ia183669127c67636724863e5766ee5f4496151e0
Signed-off-by: Andreas Enge <andreas@enge.fr>
2026-04-20 17:10:20 +02:00
Saku Laesvuori
fcb7e4f0a3 gnu: ghc-pgp-wordlist: Update to version 0.1.0.3-1f0cfd90d62
The latest release no longer builds, but it is fixed upstream. In fact
the new version only adds the fix compared to the previous one.

* gnu/packages/haskell-xyz.scm
(ghc-pgp-wordlist): Update to version 0.1.0.3-1f0cfd90d62.
[arguments]: Run doctests with GHC_PACKAGE_PATH.

Change-Id: I58256b32ea749240db91e84beac59aae37f6fd2c
Signed-off-by: Andreas Enge <andreas@enge.fr>
2026-04-20 17:10:20 +02:00
Saku Laesvuori
2624a1b3b1 gnu: ghc-text-zipper: Fix build
* gnu/packages/haskell-xyz.scm
(ghc-text-zipper)[native-inputs]: Add hspec-discover.

Change-Id: I3c2250a2a595ec4ce45803f70c62b7e0783c29cb
Signed-off-by: Andreas Enge <andreas@enge.fr>
2026-04-20 17:10:20 +02:00
Saku Laesvuori
614cd94444 gnu: ghc-infer-license: Fix build
* gnu/packages/haskell-xyz.scm
(ghc-infer-license)[native-inputs]: Add hspec-discover.

Change-Id: I37bf070abb625510d09bdec523b77e90db07e474
Signed-off-by: Andreas Enge <andreas@enge.fr>
2026-04-20 17:10:20 +02:00
Saku Laesvuori
af1ff7b4f8 gnu: apply-refact: Update to version 0.15.0.0
* gnu/packages/haskell-apps.scm (apply-refact): Update to version
0.15.0.0.

Change-Id: I56527481ae41fed1d527ed4f753d7e4b29acd00c
Signed-off-by: Andreas Enge <andreas@enge.fr>
2026-04-20 17:10:19 +02:00
Saku Laesvuori
429f17e5ca gnu: ghc-text-icu: Fix build
* gnu/packages/haskell-xyz.scm (ghc-text-icu)[inputs]: Add icu4c.
[native-inputs]: Add pkg-config.

Change-Id: If6348e049b65f8b65db8ec854ca74d5b09b709e9
Signed-off-by: Andreas Enge <andreas@enge.fr>
2026-04-20 17:10:19 +02:00
Saku Laesvuori
91dad5a1a1 gnu: ghc-vty: Replace by ghc-vty-6
Nothing in Guix depended on vty@5 anymore and it no longer built.

* gnu/packages/haskell-xyz.scm (ghc-vty): Replace definition with that
of ghc-vty-6.
[arguments]: Add cabal revision 2.
(ghc-vty-6): Removed.
(ghc-brick-skylighting): Use ghc-vty instead of ghc-vty-6
* gnu/packages/haskell-apps.scm (matterhorn): Likewise.

Change-Id: Ib070724021c4f6485a3cc4bb108dc9040bfff042
Signed-off-by: Andreas Enge <andreas@enge.fr>
2026-04-20 17:10:19 +02:00
Saku Laesvuori
226a3509b8 gnu: ghc-vector-hashtables: Update to version 0.1.2.1
* gnu/packages/haskell-xyz.scm (ghc-vector-hashtables): Update to
version 0.1.2.1.

Change-Id: I52c14454db6f525d492f8768790cb54b08a5e124
Signed-off-by: Andreas Enge <andreas@enge.fr>
2026-04-20 17:10:19 +02:00
Saku Laesvuori
199270ef19 gnu: ghc-hs-conllu: Fix build
* gnu/packages/haskell-xyz.scm (ghc-hs-conllu)[source]: Relax dependency
versions with a snippet.

Change-Id: I53b4ad18ce52422380244fa5f46a147aa1ff3b94
Signed-off-by: Andreas Enge <andreas@enge.fr>
2026-04-20 17:10:19 +02:00
Saku Laesvuori
0cc7ff6864 gnu: ghc-irc-core: Update to version 2.13
* gnu/packages/haskell-xyz.scm (ghc-irc-core): Update to version 2.13.

Change-Id: I45d4eefc0547352283e68835ea3f39e837eb15ed
Signed-off-by: Andreas Enge <andreas@enge.fr>
2026-04-20 17:10:19 +02:00
Saku Laesvuori
aac95cc67f gnu: ghc-string-conversions: Fix build
* gnu/packages/haskell-xyz.scm (ghc-string-conversions)[native-inputs]:
Add hspec-discover.

Change-Id: I729447cb4ff39a3c094384c3d0fab28988a0ce94
Signed-off-by: Andreas Enge <andreas@enge.fr>
2026-04-20 17:10:19 +02:00
Saku Laesvuori
96af3e9bb4 gnu: ghc-hookup: Update to version 0.8
* gnu/packages/haskell-xyz.scm (ghc-hookup): Update to version 0.8.

Change-Id: I47f26a04aff65202fc9b7ee889a26e26b2f4ce64
Signed-off-by: Andreas Enge <andreas@enge.fr>
2026-04-20 17:10:18 +02:00
Saku Laesvuori
42697f220f gnu: nixfmt: Update to version 1.1.0
* gnu/packages/haskell-apps.scm (nixfmt): Update to version 1.1.0.

Change-Id: Ifff0156ebbba2fbcd559d0eae62adca85dca01aa
Signed-off-by: Andreas Enge <andreas@enge.fr>
2026-04-20 17:10:18 +02:00
Saku Laesvuori
93f6400631 gnu: ghc-generic-lens: Fix tests
* gnu/packages/haskell-xyz.scm (ghc-generic-lens)[arguments]: Run
doctests with GHC_PACKAGE_PATH.

Change-Id: Id8d03d77489a6da9efc5cc1a951df864654607b3
Signed-off-by: Andreas Enge <andreas@enge.fr>
2026-04-20 17:10:18 +02:00
Saku Laesvuori
cc5edbcc1d gnu: ghc-interpolate: Fix tests
* gnu/packages/haskell-xyz.scm (ghc-interpolate)[native-inputs]: Add
hspec-discover.

Change-Id: I9552a501d5dac36af40c7260cdedf0610a5cad8a
Signed-off-by: Andreas Enge <andreas@enge.fr>
2026-04-20 17:10:18 +02:00
Saku Laesvuori
fdd6e9391f gnu: ghc-sdl2: Fix build
* gnu/packages/haskell-xyz.scm (ghc-sdl2)[inputs]: Add sdl2.
[arguments]: Disable tests which fail due to wrong performance scaling.
[native-inputs]: Add pkg-config.

Change-Id: I607495260394d544a8c911691b3902669d971c76
Signed-off-by: Andreas Enge <andreas@enge.fr>
2026-04-20 17:10:18 +02:00
Saku Laesvuori
125d05a3f8 gnu: ghc-statistics: Fix testsuite
* gnu/packages/haskell-xyz.scm (ghc-statistics)[arguments]: Run doctests
with GHC_PACKAGE_PATH.

Change-Id: I35629afab9009b59761cc999b65ad1c56f4e9a6a
Signed-off-by: Andreas Enge <andreas@enge.fr>
2026-04-20 17:10:18 +02:00
Saku Laesvuori
d1b6ae6922 gnu: ghc-project-template: Fix testsuite
* gnu/packages/haskell-xyz.scm (ghc-project-template)[native-inputs]:
Add hspec-discover.

Change-Id: I67b48dfacbd5163300144443cf26adde70a624f2
Signed-off-by: Andreas Enge <andreas@enge.fr>
2026-04-20 17:10:18 +02:00
Saku Laesvuori
76c137ebfa gnu: ghc-aws: Fix build
* gnu/packages/haskell-xyz.scm (ghc-aws)[arguments]: Disable
network-reliant testsuite.

Change-Id: I9bd7c2f11aaf55c78cfde427b002b666d8d94aef
Signed-off-by: Andreas Enge <andreas@enge.fr>
2026-04-20 17:10:18 +02:00
Saku Laesvuori
f0a9b062ac gnu: packages: Update haskell packages to current Stackage
* gnu/packages/patches/ghc-chell-quickcheck-enable-qc-2.15.patch: New patch.
* gnu/local.mk (dist_patch_DATA): Register it.
* gnu/packages/dhall.scm (...): Update Haskell packages
to current Stackage.
* gnu/packages/finance.scm (...): As above.
* gnu/packages/haskell-apps.scm (...): As above.
* gnu/packages/haskell-check.scm (...): As above.
* gnu/packages/haskell-crypto.scm (...): As above.
* gnu/packages/haskell-web.scm (...): As above.
* gnu/packages/wm.scm (...): As above.
* gnu/packages/haskell-xyz.scm (...): As above.
(ghc-chell-quickcheck): Patch testsuite to work with current quickcheck.

Change-Id: I8c8bea6755121706c46606a658cba8b590780fe1

FIXUP add the chell patch

Change-Id: I5efc8f467efe85b038cd44b18acbb27826036484
Signed-off-by: Lars-Dominik Braun <lars@6xq.net>
2026-04-15 13:17:38 +02:00
Saku Laesvuori
03401147f2 guix: import: stackage: Update default LTS version to 24.9
* guix/import/stackage.scm (%default-lts-version): Update to 24.9.

Change-Id: I4bd431ef79d0ecf28b9a10c46847f1d59f670c89
Signed-off-by: Lars-Dominik Braun <lars@6xq.net>
2026-04-15 13:14:06 +02:00
Saku Laesvuori
b4f7c683cd haskell-build-system: Do not re-set GHC_PACKAGE_PATH after configure
The Cabal shipped with GHC 9.10 refuses to run tests if GHC_PACKAGE_PATH
is set. Since Cabal anyway uses the package database that it was given
in configure, this environment variable is not needed for any later
phases and we may just unset it.

* guix/build/haskell-build-system.scm (configure): Do not set
  GHC_PACKAGE_PATH after unsetting it.

Change-Id: I5b2c662c31d84be79eb39688d6dd43285fbddcb3
Signed-off-by: Lars-Dominik Braun <lars@6xq.net>
2026-04-15 13:14:06 +02:00
Saku Laesvuori
b87ca9a3d5 gnu: ghc: Update to version 9.10.2
* gnu/packages/haskell.scm (ghc): Update to ghc-9.10

Change-Id: I40da6cacc4d260902cd66d7d626375038fba4346
Signed-off-by: Lars-Dominik Braun <lars@6xq.net>
2026-04-15 13:14:06 +02:00
Saku Laesvuori
97f8dd37cd gnu: Add ghc-9.10
* gnu/packages/haskell.scm (ghc-9.10): New variable.

Change-Id: I4e4c9c4b8f135936a52ff8df16924f50de4ce726
Signed-off-by: Lars-Dominik Braun <lars@6xq.net>
2026-04-15 13:14:06 +02:00
Saku Laesvuori
f63700e8d3 gnu: Add ghc-9.8
* gnu/packages/haskell.scm (ghc-9.8): New variable.

Change-Id: I6883ed973bdd1d6eaf981605c1bc8f855f850187
Signed-off-by: Lars-Dominik Braun <lars@6xq.net>
2026-04-15 13:14:06 +02:00
Saku Laesvuori
e8c35a2d49 gnu: ghc-9.4: Fix build for bootstrapping GHC 9.8's Hadrian
The testsuite driver's worker thread pool gets filled with zombie
processes which causes it to hang and the build to time out. No idea
what might be causing that, but as 9.4 is only used to build later GHC
versions it should be enough that they pass their testsuites.

* gnu/packages/haskell.scm
(ghc-9.4): Downgrade to 9.4.3 for bootstrapping GHC 9.8's hadrian.
<arguments>[#:tests?]: Set to #f to disable failing testsuite.

Change-Id: I2c889f5fc7a6898562fcb8377fc1f582ad835434
Signed-off-by: Lars-Dominik Braun <lars@6xq.net>
2026-04-15 13:14:06 +02:00
Saku Laesvuori
eda1a86685 gnu: patches: Fix recomp015 test in GHC testsuite
*  gnu/packages/patches/ghc-testsuite-recomp015-execstack.patch: Append
   non-executable stack marker to ManySections.s instead of replacing
   the entire file with it.

Change-Id: I3c3cfbeb1a156412db7b4a633db2030fb0f0ee30
Signed-off-by: Lars-Dominik Braun <lars@6xq.net>
2026-04-15 13:14:05 +02:00
14 changed files with 6995 additions and 5650 deletions

View File

@@ -1453,6 +1453,7 @@ dist_patch_DATA = \
%D%/packages/patches/ghc-aeson-encodeDouble.patch \
%D%/packages/patches/ghc-basement-fix-32bit.patch \
%D%/packages/patches/ghc-bytestring-handle-ghc9.patch \
%D%/packages/patches/ghc-chell-quickcheck-enable-qc-2.15.patch \
%D%/packages/patches/ghc-clock-realfrag.patch \
%D%/packages/patches/ghc-language-haskell-extract-ghc-8.10.patch \
%D%/packages/patches/ghc-memory-fix-32bit.patch \

View File

@@ -31,13 +31,13 @@
(define-public dhall
(package
(name "dhall")
(version "1.41.2")
(source (origin
(method url-fetch)
(uri (hackage-uri "dhall" version))
(sha256
(base32
"14m5rrvkid76qnvg0l14xw1mnqclhip3gjrz20g1lp4fd5p056ka"))))
(version "1.42.2")
(source
(origin
(method url-fetch)
(uri (hackage-uri "dhall" version))
(sha256
(base32 "0fvvqvh6diqi55dmncfs06rvcw8k0a1hs2gq228yxvsfbzcpv44s"))))
(build-system haskell-build-system)
(properties '((upstream-name . "dhall")))
(inputs (list ghc-aeson
@@ -73,8 +73,8 @@
ghc-text-manipulate
ghc-text-short
ghc-th-lift-instances
ghc-unix-compat
ghc-unordered-containers
ghc-uri-encode
ghc-vector
ghc-cryptohash-sha256
ghc-http-types
@@ -86,7 +86,6 @@
ghc-quickcheck-instances
ghc-special-values
ghc-spoon
ghc-system-filepath
ghc-tasty
ghc-tasty-expected-failure
ghc-tasty-hunit
@@ -97,9 +96,8 @@
ghc-mockery
ghc-doctest))
(arguments
`(#:tests? #f ; Tries to access httpbin.org
#:cabal-revision ("4"
"0innb3cn98ynb8bd83jdyrm64ij7wcvajg5qcwzdwbyzpr62anfx")))
`(#:cabal-revision ("2"
"1h9kxpn3kzwmxj07mqc0cxjj2ak3dyxnifb78z5vn34xn747j5bk")))
(home-page "http://hackage.haskell.org/package/dhall")
(synopsis "Configuration language guaranteed to terminate")
(description

View File

@@ -323,37 +323,41 @@ based on Qt.")
(define-public ghc-hledger
(package
(name "ghc-hledger")
(version "1.27.1")
(source (origin
(method url-fetch)
(uri (hackage-uri "hledger" version))
(sha256
(base32
"0qdg87m7ys2ykqqq32p7h7aw827w4f5bcqx4dspxxq6zqlvzddqb"))))
(version "1.43.2")
(source
(origin
(method url-fetch)
(uri (hackage-uri "hledger" version))
(sha256
(base32 "043gw3amc29fbjxlzyc4m97bw5i5462352lmk61adlxcd12l47i1"))))
(build-system haskell-build-system)
(properties '((upstream-name . "hledger")))
(inputs (list ghc-decimal
ghc-diff
ghc-aeson
ghc-ansi-terminal
ghc-breakpoint
ghc-cmdargs
ghc-data-default
ghc-extra
ghc-githash
ghc-hashable
ghc-hledger-lib
ghc-http-client
ghc-http-types
ghc-lucid
ghc-math-functions
ghc-megaparsec
ghc-microlens
ghc-modern-uri
ghc-regex-tdfa
ghc-req
ghc-safe
ghc-shakespeare
ghc-split
ghc-tabular
ghc-tasty
ghc-temporary
ghc-text-ansi
ghc-timeit
ghc-unordered-containers
ghc-utf8-string
@@ -384,8 +388,8 @@ Accounting.")
#~(modify-phases %standard-phases
(add-after 'install 'install-doc
(lambda _
(install-file "hledger.info" (string-append #$output "/share/info"))
(install-file "hledger.1" (string-append #$output "/man/man1"))))
(install-file "embeddedfiles/hledger.info" (string-append #$output "/share/info"))
(install-file "embeddedfiles/hledger.1" (string-append #$output "/man/man1"))))
(add-after 'register 'remove-libraries
(lambda* (#:key outputs #:allow-other-keys)
(delete-file-recursively (string-append (assoc-ref outputs "out") "/lib")))))))))
@@ -2308,13 +2312,13 @@ textual ledgers to Beancount files.")
(define-public hledger-web
(package
(name "hledger-web")
(version "1.27.1")
(source (origin
(method url-fetch)
(uri (hackage-uri "hledger-web" version))
(sha256
(base32
"151dxci7dld8626dzw823sr3d9iaac92wfzbfcbdz4jh9f7n07wa"))))
(version "1.43.2")
(source
(origin
(method url-fetch)
(uri (hackage-uri "hledger-web" version))
(sha256
(base32 "0d4sv9k3m7s0764lbq2l8w9p2p47cby177l0avl5w3fa9y8d0gyd"))))
(build-system haskell-build-system)
(properties '((upstream-name . "hledger-web")))
(inputs (list ghc-decimal
@@ -2322,7 +2326,6 @@ textual ledgers to Beancount files.")
ghc-base64
ghc-blaze-html
ghc-blaze-markup
ghc-breakpoint
ghc-case-insensitive
ghc-clientsession
ghc-cmdargs
@@ -2330,6 +2333,8 @@ textual ledgers to Beancount files.")
ghc-conduit-extra
ghc-data-default
ghc-extra
ghc-file-embed
ghc-githash
ghc-hjsmin
ghc-hledger
ghc-hledger-lib
@@ -2339,6 +2344,7 @@ textual ledgers to Beancount files.")
ghc-http-types
ghc-megaparsec
ghc-network
ghc-safe
ghc-shakespeare
ghc-unix-compat
ghc-unordered-containers

View File

@@ -64,16 +64,17 @@
(define-public apply-refact
(package
(name "apply-refact")
(version "0.10.0.0")
(version "0.15.0.0")
(source (origin
(method url-fetch)
(uri (hackage-uri "apply-refact" version))
(sha256
(base32
"129bf8n66kpwh5420rxprngg43bqr2agyd8q8d7l49k2rxsjl1fb"))))
"0iny8ynxx46afbzjp14rvpd4sqk8c1p5883mbln53gmlxcm8zq53"))))
(build-system haskell-build-system)
(properties '((upstream-name . "apply-refact")))
(inputs (list ghc-refact
ghc-data-default
ghc-exactprint
ghc-paths
ghc-extra
@@ -96,13 +97,13 @@ library. It is primarily used with HLint's @code{--refactor} flag.")
(define-public cabal-install
(package
(name "cabal-install")
(version "3.6.2.0")
(source (origin
(method url-fetch)
(uri (hackage-uri "cabal-install" version))
(sha256
(base32
"0dihpm4h3xh13vnpvwflnb7v614qdvljycc6ffg5cvhwbwfrxyfw"))))
(version "3.12.1.0")
(source
(origin
(method url-fetch)
(uri (hackage-uri "cabal-install" version))
(sha256
(base32 "1cmifq189i4x0r0yha3dl8nrzzfh92bnd2saak7dqvvjkkysqj38"))))
(build-system haskell-build-system)
(properties '((upstream-name . "cabal-install")))
(inputs (list ghc-async
@@ -117,13 +118,35 @@ library. It is primarily used with HLint's @code{--refactor} flag.")
ghc-tar
ghc-zlib
ghc-hackage-security
ghc-open-browser
ghc-regex-base
ghc-regex-posix
ghc-safe-exceptions
ghc-semaphore-compat
ghc-resolv
ghc-lukko))
(native-inputs (list ghc-tasty
ghc-tasty-golden
ghc-tasty-quickcheck
ghc-tasty-expected-failure
ghc-tasty-hunit
ghc-tree-diff
ghc-quickcheck
ghc-tasty
ghc-tasty-hunit
ghc-tasty
ghc-tasty-hunit
ghc-tagged
ghc-tagged
ghc-tasty
ghc-tasty-expected-failure
ghc-tasty-hunit
ghc-tasty-quickcheck
ghc-quickcheck
ghc-pretty-show))
(arguments
`(#:cabal-revision ("2"
"1kpgyfl5njxp4c8ax5ziag1bhqvph3h0pn660v3vpxalz8d1j6xv")))
"0fdzqdkg2vbyg0lnbk9bdskr2d23hwjpmnc7jnvpzkcmxmcvl99n")))
(home-page "https://www.haskell.org/cabal/")
(synopsis "Command-line interface for Cabal and Hackage")
(description
@@ -145,11 +168,10 @@ installation of Haskell libraries and programs.")
"17wi7fma2qaqdm1hwgaam3fd140v9bpa8ky0wg708h1pqc5v2nbz"))))
(build-system haskell-build-system)
(properties '((upstream-name . "cpphs")))
(inputs
(list ghc-polyparse ghc-old-locale ghc-old-time))
(inputs (list ghc-polyparse))
(arguments
`(#:cabal-revision ("1"
"1f8jzs8zdh4wwbcq8fy6qqxkv75ypnvsm4yzw49wpr3b9vpnzlha")))
`(#:cabal-revision ("2"
"0vxav36p0kplp4dpd17i4cfzrsl3r437d840xwv83lf1bqp7mrxc")))
(home-page "https://projects.haskell.org/cpphs/")
(synopsis "Liberalised re-implementation of cpp, the C pre-processor")
(description "Cpphs is a re-implementation of the C pre-processor that is
@@ -269,20 +291,18 @@ unique algebra of patches called @url{http://darcs.net/Theory,Patchtheory}.
(define-public ghcid
(package
(name "ghcid")
(version "0.8.7")
(version "0.8.9")
(source
(origin
(method url-fetch)
(uri (hackage-uri "ghcid" version))
(sha256
(base32 "0yqc1pkfajnr56gnh43sbj50r7c3r41b2jfz07ivgl6phi4frjbq"))))
(base32 "1dq8lc0dwzib8y21279q4j54cmm7lvx64b3hw2yiym1kzi9rrhj4"))))
(build-system haskell-build-system)
(properties '((upstream-name . "ghcid")))
(inputs
(list ghc-extra ghc-ansi-terminal ghc-cmdargs ghc-fsnotify
ghc-terminal-size))
(native-inputs
(list ghc-tasty ghc-tasty-hunit))
(inputs (list ghc-extra ghc-ansi-terminal ghc-cmdargs ghc-fsnotify
ghc-terminal-size))
(native-inputs (list ghc-tasty ghc-tasty-hunit))
(home-page "https://github.com/ndmitchell/ghcid#readme")
(synopsis "GHCi based bare bones IDE")
(description
@@ -404,95 +424,97 @@ to @code{cabal repl}).")
(string-append bin "/git-remote-annex"))
(symlink (string-append bin "/git-annex")
(string-append bin "/git-remote-tor-annex"))))))))
(inputs
(list curl
ghc-aeson
ghc-ansi-terminal
ghc-async
ghc-attoparsec
ghc-aws
ghc-bloomfilter
ghc-byteable
ghc-case-insensitive
ghc-clientsession
ghc-concurrent-output
ghc-conduit
ghc-connection
ghc-crypto-api
ghc-cryptonite
ghc-data-default
ghc-dav
ghc-dbus
ghc-disk-free-space
ghc-dlist
ghc-edit-distance
ghc-exceptions
ghc-fdo-notify
ghc-feed
ghc-filepath-bytestring
ghc-free
ghc-git-lfs
ghc-hinotify
ghc-http-client
ghc-http-client-tls
ghc-http-client-restricted
ghc-http-conduit
ghc-http-types
ghc-ifelse
ghc-magic
ghc-memory
ghc-microlens
ghc-monad-control
ghc-monad-logger
ghc-mountpoints
ghc-network
ghc-network-bsd
ghc-network-info
ghc-network-multicast
ghc-network-uri
ghc-old-locale
ghc-optparse-applicative
ghc-persistent
ghc-persistent-sqlite
ghc-persistent-template
ghc-quickcheck
ghc-random
ghc-regex-tdfa
ghc-resourcet
ghc-safesemaphore
ghc-sandi
ghc-securemem
ghc-servant-client
ghc-servant-server
ghc-socks
ghc-split
ghc-stm-chans
ghc-tagsoup
ghc-torrent
ghc-transformers
ghc-unbounded-delays
ghc-unix-compat
ghc-unliftio-core
ghc-unordered-containers
ghc-utf8-string
ghc-uuid
ghc-vector
ghc-wai
ghc-wai-extra
ghc-warp
ghc-warp-tls
ghc-yesod
ghc-yesod-core
ghc-yesod-form
ghc-yesod-static
lsof
rsync
xdg-utils))
(inputs (list ghc-network-uri
ghc-optparse-applicative
ghc-uuid
ghc-data-default
ghc-case-insensitive
ghc-random
ghc-dlist
ghc-unix-compat
ghc-safesemaphore
ghc-async
ghc-disk-free-space
ghc-ifelse
ghc-monad-logger
ghc-free
ghc-utf8-string
ghc-sandi
ghc-monad-control
ghc-bloomfilter
ghc-edit-distance
ghc-resourcet
ghc-http-client
ghc-http-client-tls
ghc-http-types
ghc-http-conduit
ghc-http-client-restricted
ghc-conduit
ghc-old-locale
ghc-persistent-sqlite
ghc-persistent
ghc-persistent-template
ghc-unliftio-core
ghc-microlens
ghc-aeson
ghc-vector
ghc-tagsoup
ghc-unordered-containers
ghc-feed
ghc-regex-tdfa
ghc-socks
ghc-byteable
ghc-stm-chans
ghc-securemem
ghc-crypto-api
ghc-memory
ghc-split
ghc-attoparsec
ghc-concurrent-output
ghc-unbounded-delays
ghc-quickcheck
ghc-tasty
ghc-tasty-hunit
ghc-tasty-quickcheck
ghc-tasty-rerun
ghc-ansi-terminal
ghc-aws
ghc-dav
ghc-network
ghc-network-bsd
ghc-git-lfs
ghc-clock
ghc-crypton
ghc-servant
ghc-servant-server
ghc-servant-client
ghc-servant-client-core
ghc-warp
ghc-warp-tls
ghc-os-string
ghc-file-io
ghc-mountpoints
ghc-yesod
ghc-yesod-static
ghc-yesod-form
ghc-yesod-core
ghc-path-pieces
ghc-wai
ghc-wai-extra
ghc-blaze-builder
ghc-clientsession
ghc-shakespeare
ghc-hinotify
ghc-dbus
ghc-fdo-notify
ghc-network-multicast
ghc-network-info
ghc-torrent
ghc-magic
ghc-criterion))
(propagated-inputs
(list git))
(native-inputs
(list ghc-tasty ghc-tasty-hunit ghc-tasty-quickcheck ghc-tasty-rerun
perl))
(native-inputs (list ghc-filepath-bytestring))
(home-page "https://git-annex.branchable.com/")
(synopsis "Manage files with Git, without checking in their contents")
(description "This package allows managing files with Git, without
@@ -513,13 +535,13 @@ used to keep a folder in sync between computers.")
(define-public hlint
(package
(name "hlint")
(version "3.4.1")
(source (origin
(method url-fetch)
(uri (hackage-uri "hlint" version))
(sha256
(base32
"0bkk03c9hacvfd73dk89g4r81b50g7pjgw5pavldali4qwss34cz"))))
(version "3.10")
(source
(origin
(method url-fetch)
(uri (hackage-uri "hlint" version))
(sha256
(base32 "0dzy7spc45v88yplczhd3la464bhcbaihi619a45bd06ghrp55nr"))))
(build-system haskell-build-system)
(properties '((upstream-name . "hlint")))
(inputs (list ghc-unordered-containers
@@ -536,12 +558,10 @@ used to keep a folder in sync between computers.")
ghc-aeson
ghc-deriving-aeson
ghc-filepattern
ghc-lib-parser
ghc-lib-parser-ex
hscolour
ghc-yaml))
(arguments
`(#:cabal-revision ("1"
"1rdaffg5n179yfcn5zjwjb0bki09qy13gz2ijky455y9pbaz8yz9")))
(home-page "https://github.com/ndmitchell/hlint#readme")
(synopsis "Suggest improvements for Haskell source code")
(description
@@ -553,13 +573,13 @@ unwanted suggestions, and to add your own custom suggestions.")
(define-public hoogle
(package
(name "hoogle")
(version "5.0.18.3")
(source (origin
(method url-fetch)
(uri (hackage-uri "hoogle" version))
(sha256
(base32
"0v6k75w0an9pqgb7a6cicnpf9rz77xd2lmxfbafc5l4f99jg83bn"))))
(version "5.0.18.4")
(source
(origin
(method url-fetch)
(uri (hackage-uri "hoogle" version))
(sha256
(base32 "08z32d87vqzhapb2vw21h25jb2g74csxlpvd8f54xl91k3ijs3wx"))))
(build-system haskell-build-system)
(properties '((upstream-name . "hoogle")))
(inputs (list ghc-quickcheck
@@ -569,7 +589,7 @@ unwanted suggestions, and to add your own custom suggestions.")
ghc-cmdargs
ghc-conduit
ghc-conduit-extra
ghc-connection
ghc-crypton-connection
ghc-extra
ghc-foundation
ghc-old-locale
@@ -582,6 +602,7 @@ unwanted suggestions, and to add your own custom suggestions.")
ghc-mmap
ghc-process-extras
ghc-resourcet
ghc-safe
ghc-storable-tuple
ghc-tar
ghc-uniplate
@@ -593,6 +614,9 @@ unwanted suggestions, and to add your own custom suggestions.")
ghc-warp-tls
ghc-zlib
ghc-semigroups))
(arguments
`(#:cabal-revision ("1"
"1129flhhb1992rijw46dclvmpqlylmbrzl4swsnk2knylx6jgw5a")))
(home-page "https://hoogle.haskell.org/")
(synopsis "Haskell API Search")
(description
@@ -604,14 +628,13 @@ or by approximate type signature.")
(define-public hscolour
(package
(name "hscolour")
(version "1.24.4")
(version "1.25")
(source
(origin
(method url-fetch)
(uri (hackage-uri "hscolour" version))
(sha256
(base32
"079jwph4bwllfp03yfr26s5zc6m6kw3nhb1cggrifh99haq34cr4"))))
(base32 "0z679khnmb6as1zcdb44n9qjk7in32jpm4ldscpqg7jrapd31kjl"))))
(build-system haskell-build-system)
(properties '((upstream-name . "hscolour")))
(home-page "https://hackage.haskell.org/package/hscolour")
@@ -760,12 +783,12 @@ Wayland, and Linux console environments alike.")
ghc-text-zipper
ghc-timezone-olson
ghc-timezone-series
ghc-unix-compat-7
ghc-unix-compat
ghc-unordered-containers
ghc-utf8-string
ghc-uuid
ghc-vector
ghc-vty-6
ghc-vty
ghc-vty-crossplatform
ghc-word-wrap
ghc-xdg-basedir))
@@ -811,20 +834,31 @@ Wayland, and Linux console environments alike.")
(define-public nixfmt
(package
(name "nixfmt")
(version "0.5.0")
(version "1.1.0")
(source
(origin
(method url-fetch)
(uri (hackage-uri "nixfmt" version))
(method git-fetch)
(uri
(git-reference
(url "https://github.com/NixOS/nixfmt")
(commit (string-append "v" version))))
(sha256
(base32 "0rxi8zrd2xr72w673nvgnhb0g3r7rssc1ahlhz8rmdpc6c1a82wl"))))
(base32 "19sydkdw1579qmvzx0zq06s23bm6m6l9wp1kvsfhxawk8pkz2pc2"))
(snippet
#~(substitute* "nixfmt.cabal"
(("(megaparsec|filepath) *[0-9<>=^&|. ]*" _ package)
package)))
(modules '((guix build utils)))))
(build-system haskell-build-system)
(properties '((upstream-name . "nixfmt")))
(inputs
(list ghc-megaparsec ghc-parser-combinators ghc-cmdargs
ghc-safe-exceptions))
(home-page "https://github.com/serokell/nixfmt")
(synopsis "Opinionated formatter for Nix")
(inputs (list ghc-megaparsec
ghc-parser-combinators
ghc-scientific
ghc-pretty-simple
ghc-cmdargs
ghc-file-embed
ghc-safe-exceptions))
(home-page "https://github.com/NixOS/nixfmt")
(synopsis "Official formatter for Nix code")
(description
"Nixfmt is a formatter for Nix that ensures consistent and clear
formatting by forgetting all existing formatting during parsing.")
@@ -954,6 +988,7 @@ too slow and you'll get wound up in the scroll and crushed.")
(build-system haskell-build-system)
(arguments
(list #:haddock? #f ; TODO: Fails to build.
#:cabal-revision '("1" "1935jrzy1r3g9cc74b330fmxnz2i1j8hsdk9jnl557qgk6xjqzs7")
#:phases
#~(modify-phases %standard-phases
(add-after 'build 'build-man-page
@@ -993,13 +1028,13 @@ advanced user's otherwise working script to fail under future circumstances.
(define-public shelltestrunner
(package
(name "shelltestrunner")
(version "1.9")
(source (origin
(method url-fetch)
(uri (hackage-uri "shelltestrunner" version))
(sha256
(base32
"1a5kzqbwg6990249ypw0cx6cqj6663as1kbj8nzblcky8j6kbi6b"))))
(version "1.10")
(source
(origin
(method url-fetch)
(uri (hackage-uri "shelltestrunner" version))
(sha256
(base32 "1c6bjyxqa4mgnh3w4pqp6sbr5cf160n7jf9i1b4b9sdxzdjk7g87"))))
(build-system haskell-build-system)
(properties '((upstream-name . "shelltestrunner")))
(arguments
@@ -1022,17 +1057,19 @@ advanced user's otherwise working script to fail under future circumstances.
"tests/examples")
(format #t "test suite not run~%"))
#t))))))
(inputs
(list ghc-diff
ghc-cmdargs
ghc-filemanip
ghc-hunit
ghc-pretty-show
ghc-regex-tdfa
ghc-safe
ghc-utf8-string
ghc-test-framework
ghc-test-framework-hunit))
(inputs (list ghc-diff
ghc-filemanip
ghc-hunit
ghc-cmdargs
ghc-pretty-show
ghc-regex-tdfa
ghc-safe
ghc-test-framework
ghc-test-framework-hunit
ghc-utf8-string
ghc-hspec
ghc-hspec-core
ghc-hspec-contrib))
(home-page "https://github.com/simonmichael/shelltestrunner")
(synopsis "Test CLI programs")
(description
@@ -1045,13 +1082,13 @@ output, stderr, and exit status.")
(define-public stylish-haskell
(package
(name "stylish-haskell")
(version "0.14.3.0")
(source (origin
(method url-fetch)
(uri (hackage-uri "stylish-haskell" version))
(sha256
(base32
"17w92v0qnwj7m6yqdq5cxbr04xiz0yfnnyx5q54218wdl7n5lf6d"))))
(version "0.15.1.0")
(source
(origin
(method url-fetch)
(uri (hackage-uri "stylish-haskell" version))
(sha256
(base32 "06y6f7bv5j5k7q81194v9jqcbmmqcv7h8ii3lq1783bpfnyd6h19"))))
(build-system haskell-build-system)
(properties '((upstream-name . "stylish-haskell")))
(inputs (list ghc-aeson
@@ -1061,6 +1098,7 @@ output, stderr, and exit status.")
ghc-hsyaml-aeson
ghc-hsyaml
ghc-semigroups
ghc-lib-parser
ghc-lib-parser-ex
ghc-strict
ghc-optparse-applicative))

View File

@@ -45,22 +45,18 @@
(define-public ghc-tasty-ant-xml
(package
(name "ghc-tasty-ant-xml")
(version "1.1.8")
(version "1.1.9")
(source
(origin
(method url-fetch)
(uri (hackage-uri "tasty-ant-xml" version))
(sha256
(base32
"0h9mllhw9cd0rn34xhj8grwmbny7z7hpd8qmp9lfcdj0s4qx9vx8"))))
(base32 "00zgsd6jjfwasr69d0y781vhjr7d8p1jbaaz4pn75ljf33akd92l"))))
(build-system haskell-build-system)
(properties '((upstream-name . "tasty-ant-xml")))
(inputs
(list ghc-generic-deriving ghc-xml ghc-tagged ghc-tasty))
(home-page
"https://github.com/ocharles/tasty-ant-xml")
(synopsis
"Render tasty output to XML for Jenkins")
(inputs (list ghc-generic-deriving ghc-tagged ghc-tasty ghc-xml))
(home-page "http://github.com/ocharles/tasty-ant-xml")
(synopsis "Render tasty output to XML for Jenkins")
(description
"A tasty ingredient to output test results in XML, using the Ant
schema. This XML can be consumed by the Jenkins continuous integration
@@ -76,33 +72,37 @@ framework.")
(method url-fetch)
(uri (hackage-uri "tasty-smallcheck" version))
(sha256
(base32
"0csgwn3vch0jnpqyyfnrfjq4z0dpl67imh5a7byll3hhlyidgjym"))))
(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")
(inputs (list ghc-tasty ghc-smallcheck ghc-tagged ghc-optparse-applicative))
(arguments
`(#:cabal-revision ("1"
"0033ha2w9rzc1rxpzh1dkfdrn256i5lvb41pqbdh2i6kli0v5vmh")))
(home-page "https://github.com/feuerbach/tasty")
(synopsis "SmallCheck support for the Tasty test framework")
(description "This package provides SmallCheck support for the Tasty
Haskell test framework.")
(license license:bsd-3)))
(license license:expat)))
(define-public ghc-tasty-quickcheck
(package
(name "ghc-tasty-quickcheck")
(version "0.10.2")
(source (origin
(method url-fetch)
(uri (hackage-uri "tasty-quickcheck" version))
(sha256
(base32
"1qnc6rdvjvlw08q6sln2n98rvj0s0pp689h6w4z58smjbn0lr25l"))))
(version "0.11.1")
(source
(origin
(method url-fetch)
(uri (hackage-uri "tasty-quickcheck" version))
(sha256
(base32 "0si4ccgqlv8h33d6310rrqba7f4pz3g8cinqfj42yd7damsdxm73"))))
(build-system haskell-build-system)
(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))
(native-inputs (list ghc-regex-tdfa ghc-tasty-hunit))
(arguments
`(#:cabal-revision ("3"
"1wzvha4xam8npx5mk33c056grmrqnjd6m38nnm6d7y99w2mn1a7w")))
(home-page "https://github.com/UnkindPartition/tasty")
(synopsis "QuickCheck support for the Tasty test framework")
(description "This package provides QuickCheck support for the Tasty
@@ -140,22 +140,23 @@ contains the correct result for the test.")
(define-public ghc-tasty
(package
(name "ghc-tasty")
(version "1.4.3")
(source (origin
(method url-fetch)
(uri (hackage-uri "tasty" version))
(sha256
(base32
"006bf4gyc30i2gvb17hj1mzrh1kwnwf7l050x3f72wi6c2axl87l"))))
(version "1.5.3")
(source
(origin
(method url-fetch)
(uri (hackage-uri "tasty" version))
(sha256
(base32 "10076vlklbcyiz7plakrihava5sy3dvwhskjldqzhfl18jvcg82l"))))
(build-system haskell-build-system)
(properties '((upstream-name . "tasty")))
(inputs
(append
(list ghc-tagged ghc-optparse-applicative ghc-ansi-terminal)
;; TODO: Add ghc-unbounded-delays unconditionally on next rebuild cycle.
(if (member (%current-system) '("i686-linux"))
(list ghc-unbounded-delays)
'())))
(list ghc-tagged
ghc-optparse-applicative
ghc-ansi-terminal
ghc-unbounded-delays)) ; needed on 32-bit architectures
(arguments
`(#:cabal-revision ("2"
"04llcf1i3gawdik0bjhxdgls2wkiqlx0gi76nfh784nv2qzxlpbb")))
(home-page "https://github.com/UnkindPartition/tasty")
(synopsis "Modern and extensible testing framework")
(description
@@ -167,17 +168,20 @@ and any other types of tests into a single test suite.")
(define-public ghc-tasty-hedgehog
(package
(name "ghc-tasty-hedgehog")
(version "1.3.1.0")
(source (origin
(method url-fetch)
(uri (hackage-uri "tasty-hedgehog" version))
(sha256
(base32
"1iq452mvd9wc9pfmjsmm848jwp3cvsk1faf2mlr21vcs0yaxvq3m"))))
(version "1.4.0.2")
(source
(origin
(method url-fetch)
(uri (hackage-uri "tasty-hedgehog" version))
(sha256
(base32 "0lki03z0p38x0dkqx5cqga30zy5m31gxn1saqylja9bi6bbq8d25"))))
(build-system haskell-build-system)
(properties '((upstream-name . "tasty-hedgehog")))
(inputs (list ghc-tagged ghc-tasty ghc-hedgehog))
(native-inputs (list ghc-tasty-expected-failure))
(arguments
`(#:cabal-revision ("6"
"1rb8ncp6xyy7jr6v0hyls9m529ba0djndsxgxmkgr52rk3qq8lrc")))
(home-page "https://github.com/qfpl/tasty-hedgehog")
(synopsis "Integration for tasty and hedgehog")
(description
@@ -190,22 +194,25 @@ framework}.")
(define-public ghc-tasty-hspec
(package
(name "ghc-tasty-hspec")
(version "1.2.0.2")
(version "1.2.0.4")
(source
(origin
(method url-fetch)
(uri (hackage-uri "tasty-hspec" version))
(sha256
(base32 "0cfcpi25jmnmzfzsx364qsj68q6gyph5z112kl8ja222hnhhr2n2"))))
(base32 "1hk1nkjvhp89xxgzj6dhbgw0fknnghpng6afq4i39hjkwv5p78ni"))))
(build-system haskell-build-system)
(properties '((upstream-name . "tasty-hspec")))
(inputs (list ghc-hspec
ghc-hspec-api
ghc-hspec-core
ghc-quickcheck
ghc-tasty
ghc-tasty-smallcheck
ghc-tasty-quickcheck
ghc-tagged))
ghc-tasty-quickcheck))
(arguments
`(#:cabal-revision ("7"
"0s1y34i8g7fva0z10ws3ipcy2jmlvqk0v4hdbx8rqnby5n0l5kay")))
(home-page "https://github.com/mitchellwrosen/tasty-hspec")
(synopsis "Hspec support for the Tasty test framework")
(description
@@ -215,19 +222,17 @@ framework}.")
(define-public ghc-tasty-hunit
(package
(name "ghc-tasty-hunit")
(version "0.10.0.3")
(version "0.10.2")
(source
(origin
(method url-fetch)
(uri (hackage-uri "tasty-hunit" version))
(sha256
(base32
"0gz6zz3w7s44pymw33xcxnawryl27zk33766sab96nz2xh91kvxp"))))
(base32 "1xh33ss7dncm7zanzkzh7ywb3a46k7vkcbh6v8jb767gq6kizw2s"))))
(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")
(inputs (list ghc-tasty ghc-call-stack-boot))
(home-page "https://github.com/UnkindPartition/tasty")
(synopsis "HUnit support for the Tasty test framework")
(description "This package provides HUnit support for the Tasty Haskell
test framework.")
@@ -257,13 +262,13 @@ tasty.")
(define-public ghc-tasty-lua
(package
(name "ghc-tasty-lua")
(version "1.0.2")
(source (origin
(method url-fetch)
(uri (hackage-uri "tasty-lua" version))
(sha256
(base32
"1vnyvgcjsvqhwwyqkbgqksr9ppj5whiihpwcqkg33sl7jj3ysdwv"))))
(version "1.1.1.1")
(source
(origin
(method url-fetch)
(uri (hackage-uri "tasty-lua" version))
(sha256
(base32 "03b2n3gw2w70cnl57w3sh3cv5ka270sf07jlxpb4zs0z5gh83p1r"))))
(build-system haskell-build-system)
(properties '((upstream-name . "tasty-lua")))
(inputs (list ghc-hslua-core
@@ -288,16 +293,15 @@ from Lua.")
(method url-fetch)
(uri (hackage-uri "tasty-th" version))
(sha256
(base32
"0b2ivrw2257m4cy4rjnkwqlarh83j1y3zywnmaqqqbvy667sqnj3"))))
(base32 "0b2ivrw2257m4cy4rjnkwqlarh83j1y3zywnmaqqqbvy667sqnj3"))))
(build-system haskell-build-system)
(properties '((upstream-name . "tasty-th")))
(inputs
(list ghc-haskell-src-exts ghc-tasty ghc-tasty-hunit))
(inputs (list ghc-haskell-src-exts ghc-tasty))
(native-inputs (list ghc-tasty-hunit))
(home-page "https://github.com/bennofs/tasty-th")
(synopsis "Automatically generate tasty TestTrees")
(description
"Tasty-th automatically generates tasty TestTrees from functions of the
"Tasty-th automatically generates tasty TestTrees from functions of the
current module, using TemplateHaskell. This is a fork the original
test-framework-th package, modified to work with tasty instead of
test-framework.")
@@ -306,28 +310,27 @@ test-framework.")
(define-public ghc-tasty-rerun
(package
(name "ghc-tasty-rerun")
(version "1.1.18")
(source (origin
(method url-fetch)
(uri (hackage-uri "tasty-rerun" version))
(sha256
(base32
"0sccp5zx9v2rx741nbmgd8mzjhy5m4v74hk26d23xz93ph8aqx7s"))))
(version "1.1.20")
(source
(origin
(method url-fetch)
(uri (hackage-uri "tasty-rerun" version))
(sha256
(base32 "0px58jm1yqbg32qf2s0yk09d2qdjxkkz9df89f31q3nzw85jv2ky"))))
(build-system haskell-build-system)
(properties '((upstream-name . "tasty-rerun")))
(inputs
(list ghc-optparse-applicative ghc-reducers ghc-split ghc-tagged
ghc-tasty))
(inputs (list ghc-optparse-applicative ghc-split ghc-tagged ghc-tasty))
(arguments
`(#:cabal-revision ("3"
"0091arn90cx5rzn5n2bpb9alzybwraf9yj7hb0bwdfyamzpf3pkb")))
`(#:cabal-revision ("1"
"13xmx91hp7i0qzrhada9ckliqkynwlwa8x6pjbvxjcy1y0qsd7hk")))
(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
(description
"This package adds the ability to run tests by filtering the
test tree based on the result of a previous test run. You can use this to run
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)))
(license license:bsd-3)))
(define-public ghc-tasty-expected-failure
(package
@@ -362,17 +365,17 @@ development.")
(define-public ghc-quickcheck-instances
(package
(name "ghc-quickcheck-instances")
(version "0.3.29.1")
(version "0.3.33")
(source
(origin
(method url-fetch)
(uri (hackage-uri "quickcheck-instances" version))
(sha256
(base32 "0jx2wfy7y5dr14s9i457g2aah4isjxry4mlbqhj7vlav6ib84gdj"))))
(base32 "0rl8y3rb4fm4nqz122bp5f2aya4f8bc9m9i9n2vwlyq2gdacs0v8"))))
(build-system haskell-build-system)
(properties '((upstream-name . "quickcheck-instances")))
(inputs (list ghc-quickcheck
ghc-splitmix
ghc-splitmix-bootstrap
ghc-case-insensitive
ghc-data-fix
ghc-hashable
@@ -383,17 +386,15 @@ development.")
ghc-scientific
ghc-strict
ghc-tagged
ghc-text-short
ghc-these
ghc-time-compat
ghc-transformers-compat
ghc-unordered-containers
ghc-uuid-types
ghc-vector
ghc-data-array-byte
ghc-text-short))
ghc-vector))
(arguments
`(#:cabal-revision ("2"
"118xy4z4dy4bpkzsp98daiv3l4n5j7ph9my0saca7cqjybqwkcip")))
`(#:cabal-revision ("1"
"1xkc7rsfgya4rwiizh0yfincws3knpdnh08m280v1dgik4kv37vh")))
(home-page "https://github.com/haskellari/qc-instances")
(synopsis "Common quickcheck instances")
(description "This package provides QuickCheck instances for types
@@ -409,17 +410,38 @@ provided by the Haskell Platform.")
(method url-fetch)
(uri (hackage-uri "quickcheck-unicode" version))
(sha256
(base32
"0s43s1bzbg3gwsjgm7fpyksd1339f0m26dlw2famxwyzgvm0a80k"))))
(base32 "0s43s1bzbg3gwsjgm7fpyksd1339f0m26dlw2famxwyzgvm0a80k"))))
(build-system haskell-build-system)
(properties '((upstream-name . "quickcheck-unicode")))
(inputs (list ghc-quickcheck))
(home-page
"https://github.com/bos/quickcheck-unicode")
(home-page "https://github.com/bos/quickcheck-unicode")
(synopsis "Generator functions Unicode-related tests")
(description "This package provides generator and shrink functions for
testing Unicode-related software.")
(license license:bsd-3)))
(license license:bsd-2)))
(define-public ghc-quickcheck-text
(package
(name "ghc-quickcheck-text")
(version "0.1.2.1")
(source
(origin
(method url-fetch)
(uri (hackage-uri "quickcheck-text" version))
(sha256
(base32 "02dbs0k6igmsa1hcw8yfvp09v7038vp4zlsp9706km3cmswgshj4"))))
(build-system haskell-build-system)
(properties '((upstream-name . "quickcheck-text")))
(inputs (list ghc-quickcheck))
(home-page "https://github.com/olorin/quickcheck-text")
(synopsis "Alternative arbitrary instance for Text")
(description
"The usual Arbitrary instance for Text (in
<https://hackage.haskell.org/package/quickcheck-instances quickcheck-instances>)
only has single-byte instances and so isn't an ideal representation of a valid
UTF-8 character. This package has generators for one-, two- and three-byte
UTF-8 characters (all that are currently in use).")
(license license:expat)))
(define-public ghc-quickcheck-io
(package
@@ -446,17 +468,19 @@ use HUnit assertions as QuickCheck properties.")
(define-public ghc-quickcheck
(package
(name "ghc-quickcheck")
(version "2.14.3")
(version "2.15.0.1")
(source
(origin
(method url-fetch)
(uri (hackage-uri "QuickCheck" version))
(sha256
(base32 "0085lwy14r7hk7ibmv8d7d54ja9zin0ijf0b27xai898dfrj43sw"))))
(base32 "0zvfydg44ibs1br522rzvdlxj9mpz0h62js1hay1sj5gvdnj3cm3"))))
(build-system haskell-build-system)
(properties '((upstream-name . "QuickCheck")))
(inputs
(list ghc-random ghc-splitmix-bootstrap))
(inputs (list ghc-random-bootstrap ghc-splitmix-bootstrap))
(arguments
`(#:cabal-revision ("1"
"0cgfp4s51cjphsn9cls6rndisvqmi94vn95xan9g1yz6p5xk7z8c")))
(home-page "https://github.com/nick8325/quickcheck")
(synopsis "Automatic testing of Haskell programs")
(description
@@ -479,10 +503,8 @@ expressed in Haskell, using combinators defined in the QuickCheck library.")
(base32 "1kyam4cy7qmnizjwjm8jamq43w7f0fs6ljfplwj0ib6wi2kjh0wv"))))
(build-system haskell-build-system)
(properties '((upstream-name . "quickcheck-assertions")))
(native-inputs
(list ghc-hspec))
(inputs
(list ghc-ieee754 ghc-pretty-show ghc-quickcheck))
(inputs (list ghc-quickcheck ghc-ieee754 ghc-pretty-show))
(native-inputs (list ghc-hspec))
(home-page "https://github.com/s9gf4ult/quickcheck-assertions")
(synopsis "HUnit-like assertions for QuickCheck")
(description
@@ -494,33 +516,27 @@ HUnit.")
(define-public ghc-test-framework
(package
(name "ghc-test-framework")
(version "0.8.2.0")
(version "0.8.2.2")
(source
(origin
(method url-fetch)
(uri (hackage-uri "test-framework" version))
(sha256
(base32
"1hhacrzam6b8f10hyldmjw8pb7frdxh04rfg3farxcxwbnhwgbpm"))))
(base32 "04ijf5x6xx8i5lqv9ir33zs1rfzc4qkwwz8c1fdycnzvydcv4dnp"))))
(build-system haskell-build-system)
(properties '((upstream-name . "test-framework")))
(inputs (list ghc-ansi-terminal
ghc-ansi-wl-pprint
ghc-random
ghc-regex-posix
ghc-old-locale
ghc-xml
ghc-hostname))
(native-inputs (list ghc-hunit ghc-quickcheck ghc-semigroups-bootstrap))
(arguments
`(#:tests? #f ; FIXME: Tests do not build.
#:cabal-revision
("6" "0wbq9wiaag69nsqxwijzhs5y1hb9kbpkp1x65dvx158cxp8i9w9r")))
;(native-inputs
; (list ghc-hunit ghc-quickcheck))
(inputs
`(("ghc-ansi-terminal" ,ghc-ansi-terminal)
("ghc-ansi-wl-pprint" ,ghc-ansi-wl-pprint)
("ghc-hostname" ,ghc-hostname)
("ghc-old-locale" ,ghc-old-locale)
("ghc-random" ,ghc-random)
("ghc-regex-posix" ,ghc-regex-posix)
("ghc-xml" ,ghc-xml)
("ghc-libxml" ,ghc-libxml)
("ghc-semigroups" ,ghc-semigroups-bootstrap)))
(home-page "https://batterseapower.github.io/test-framework/")
`(#:cabal-revision ("1"
"1yv1qsr6bxphxk9430id9bqhfmkffdqmfg0k017dp9pnn4pqj0zh")))
(home-page "https://github.com/haskell/test-framework#readme")
(synopsis "Framework for running and organising tests")
(description
"This package allows tests such as QuickCheck properties and HUnit test
@@ -557,23 +573,21 @@ reporting and test statistics output.")
(define-public ghc-test-framework-quickcheck2
(package
(name "ghc-test-framework-quickcheck2")
(version "0.3.0.5")
(version "0.3.0.6")
(source
(origin
(method url-fetch)
(uri (hackage-uri "test-framework-quickcheck2" version))
(sha256
(base32
"0ngf9vvby4nrdf1i7dxf5m9jn0g2pkq32w48xdr92n9hxka7ixn9"))))
(base32 "1d0w2q9sm8aayk0aj1zr2irpnqwpzixn6pdfq1i904vs1kkb2xin"))))
(build-system haskell-build-system)
(properties '((upstream-name . "test-framework-quickcheck2")))
(inputs (list ghc-test-framework ghc-quickcheck ghc-extensible-exceptions
ghc-random))
(arguments
`(#:cabal-revision
("3" "0mglqfimla4vvv80mg08aj76zf4993wmngqlirh05h8i9nmgv6lh")))
(inputs
(list ghc-extensible-exceptions ghc-quickcheck ghc-random
ghc-test-framework))
(home-page "https://batterseapower.github.io/test-framework/")
`(#:cabal-revision ("1"
"1af2gw9gvq143jdqmsnxj23cgss9ffdyr67951a5x151aps04y7z")))
(home-page "https://github.com/haskell/test-framework")
(synopsis "QuickCheck2 support for test-framework")
(description
"This package provides QuickCheck2 support for the test-framework
@@ -592,9 +606,8 @@ package.")
(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")
(inputs (list ghc-test-framework ghc-smallcheck))
(home-page "https://github.com/feuerbach/smallcheck")
(synopsis "SmallCheck support for test-framework")
(description
"This package lets programmers use SmallCheck properties in Haskell's
@@ -660,17 +673,17 @@ JUnit tool for Java.")
(define-public hspec-discover
(package
(name "hspec-discover")
(version "2.9.7")
(source (origin
(method url-fetch)
(uri (hackage-uri "hspec-discover" version))
(sha256
(base32
"0536kdxjw6p8b6gcwvmr22jbmb6cgzbddi0fkd01b2m847z37sb5"))))
(version "2.11.12")
(source
(origin
(method url-fetch)
(uri (hackage-uri "hspec-discover" version))
(sha256
(base32 "044vgsy45ff00h9z2k3jgn2m37npcjiacc4cifahrjlmwa7a7ylp"))))
(build-system haskell-build-system)
(properties '((upstream-name . "hspec-discover")))
(native-inputs (list ghc-quickcheck ghc-hspec-meta ghc-mockery-bootstrap))
(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.")
@@ -679,28 +692,30 @@ runs Hspec tests.")
(define-public ghc-hspec-core
(package
(name "ghc-hspec-core")
(version "2.9.7")
(source (origin
(method url-fetch)
(uri (hackage-uri "hspec-core" version))
(sha256
(base32
"040rzqiqwkp373jjpij8lkmv08pp2ya92zzcf95bw8px215rp08n"))))
(version "2.11.12")
(source
(origin
(method url-fetch)
(uri (hackage-uri "hspec-core" version))
(sha256
(base32 "030400w95775jrivbi7n1nnx6j5z717rqd3986ggklb8h9hjalfc"))))
(build-system haskell-build-system)
(properties '((upstream-name . "hspec-core")))
(inputs (list ghc-hunit
ghc-quickcheck
ghc-ansi-terminal
ghc-call-stack
ghc-clock
ghc-haskell-lexer
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/")
ghc-silently-bootstrap ghc-temporary-bootstrap))
(arguments
`(#:cabal-revision ("1"
"0yq9nnawcgbgxiz4ymfa8k66jrvgrhmv8j7g880x8k6q8q4ncqlq")))
(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.")
@@ -709,23 +724,28 @@ be used to extend Hspec's functionality.")
(define-public ghc-hspec-meta
(package
(name "ghc-hspec-meta")
(version "2.9.3")
(source (origin
(method url-fetch)
(uri (hackage-uri "hspec-meta" version))
(sha256
(base32
"1raxwpsmcijl3x2h5naw6aydhbiknxvhj3x7v384bi1rqi51ainm"))))
(version "2.11.12")
(source
(origin
(method url-fetch)
(uri (hackage-uri "hspec-meta" version))
(sha256
(base32 "1612pg5gihqjxrzqqvbbgckaqiwq3rmz3rg07lrjhzklg975nj69"))))
(build-system haskell-build-system)
(properties '((upstream-name . "hspec-meta")))
(inputs (list ghc-quickcheck
(inputs (list ghc-hunit
ghc-quickcheck
ghc-ansi-terminal
ghc-call-stack-boot
ghc-clock
ghc-haskell-lexer
ghc-hspec-expectations
ghc-quickcheck-io
ghc-random
ghc-setenv))
(home-page "http://hspec.github.io/")
ghc-tf-random))
(arguments
`(#:cabal-revision ("2"
"1jrk14s51psb0zjici56220iyb98i3q06sd3rsyx594s3cddgn5d")))
(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.")
@@ -734,38 +754,58 @@ used to test the in-development version of Hspec.")
(define-public ghc-hspec
(package
(name "ghc-hspec")
(version "2.9.7")
(source (origin
(method url-fetch)
(uri (hackage-uri "hspec" version))
(sha256
(base32
"092sfqjkargxxszp9jjqa8ldjz0xv34jwn6k21q59ys5ckvsrpc1"))))
(version "2.11.12")
(source
(origin
(method url-fetch)
(uri (hackage-uri "hspec" version))
(sha256
(base32 "1zdgkn0gkcphcsfqcqwcfqiqvkz12ljks46v3czpaysndz8icfip"))))
(build-system haskell-build-system)
(properties '((upstream-name . "hspec")))
(inputs (list ghc-quickcheck ghc-hspec-core hspec-discover
ghc-hspec-expectations))
(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.")
(license license:expat)))
(define-public ghc-hspec-api
(package
(name "ghc-hspec-api")
(version "2.11.12")
(source
(origin
(method url-fetch)
(uri (hackage-uri "hspec-api" version))
(sha256
(base32 "1xn2b2hafyq6qm3zaia9nw27ir4cg8v2qn499bz2zwnp2vkjra07"))))
(build-system haskell-build-system)
(properties '((upstream-name . "hspec-api")))
(inputs (list ghc-hspec-core))
(native-inputs (list ghc-hspec))
(home-page "https://hspec.github.io/")
(synopsis "A Testing Framework for Haskell")
(description
"This package provides a stable API that can be used to extend Hspec's
functionality.")
(license license:expat)))
(define-public ghc-hspec-contrib
(package
(name "ghc-hspec-contrib")
(version "0.5.1.1")
(version "0.5.2")
(source
(origin
(method url-fetch)
(uri (hackage-uri "hspec-contrib" version))
(sha256
(base32 "1nyb5n2jiq920yyf3flzyxrs5xpfyppl3jn18zhviyysjjk5drpx"))))
(base32 "0002xzvyh790iwf1y33d4nflrbp5sxvpsp010srcfryf1n3qx2b0"))))
(build-system haskell-build-system)
(properties '((upstream-name . "hspec-contrib")))
(inputs (list ghc-hunit ghc-call-stack ghc-hspec-core))
(native-inputs (list ghc-quickcheck ghc-hspec hspec-discover))
(arguments (list #:tests? #f)) ; Fail to build.
(home-page "https://hspec.github.io/")
(synopsis "Contributed functionality for Hspec")
(description "This package provides contributed Hspec extensions.")
@@ -774,22 +814,25 @@ Haskell, inspired by the Ruby library RSpec.")
(define-public ghc-hspec-expectations
(package
(name "ghc-hspec-expectations")
(version "0.8.2")
(version "0.8.4")
(source
(origin
(method url-fetch)
(uri (hackage-uri "hspec-expectations" version))
(sha256
(base32
"1vxl9zazbaapijr6zmcj72j9wf7ka1pirrjbwddwwddg3zm0g5l1"))))
(base32 "1zr1pqchcwglfr5dvcrgc1l5x924n9w09n2zr68dmkqf4dzdx3bv"))))
(build-system haskell-build-system)
(properties '((upstream-name . "hspec-expectations")))
(inputs (list ghc-hunit ghc-call-stack))
(arguments
;; Tests depend on ghc-nanospec.
(arguments '(#:tests? #f))
(inputs (list ghc-hunit))
(home-page "https://github.com/sol/hspec-expectations")
`(#:tests? #f
#:cabal-revision ("2"
"14zzsjqcz1zbnvi50i82lx84nc8b5da7ar5cazzh44lklyag0ds2")))
(home-page "https://github.com/hspec/hspec-expectations#readme")
(synopsis "Catchy combinators for HUnit")
(description "This library provides catchy combinators for HUnit, see
(description
"This library provides catchy combinators for HUnit, see
@uref{https://github.com/sol/hspec-expectations#readme, the README}.")
(license license:expat)))
@@ -854,13 +897,13 @@ implementations of cryptographic ciphers.")
(define-public ghc-hedgehog
(package
(name "ghc-hedgehog")
(version "1.1.2")
(source (origin
(method url-fetch)
(uri (hackage-uri "hedgehog" version))
(sha256
(base32
"0dbk75hk6hqpzkjdlpw3s63qhm42kqigij33p321by6xndb59jg1"))))
(version "1.5")
(source
(origin
(method url-fetch)
(uri (hackage-uri "hedgehog" version))
(sha256
(base32 "0sl6x9q9kyrpv73565w9na9dm10wzxdl0qgiraqarffynfgn0hg9"))))
(build-system haskell-build-system)
(properties '((upstream-name . "hedgehog")))
(inputs (list ghc-ansi-terminal
@@ -875,8 +918,12 @@ implementations of cryptographic ciphers.")
ghc-primitive
ghc-random
ghc-resourcet
ghc-safe-exceptions
ghc-transformers-base
ghc-wl-pprint-annotated))
(arguments
`(#:cabal-revision ("2"
"1m0b9m8dw5nw4b3w1jbp5fd0b0kqlyvvy3qsfxc7md77iafxq169")))
(home-page "https://hedgehog.qa")
(synopsis "Property-based testing in the spirt of QuickCheck")
(description
@@ -892,26 +939,16 @@ To get started quickly, see the examples:
(define-public cabal-doctest
(package
(name "cabal-doctest")
(version "1.0.9")
(source (origin
(method url-fetch)
(uri (hackage-uri "cabal-doctest" version))
(sha256
(base32
"0wxs0xkspc80h0g8ks792lrzldxvcnhc9rja1j0k678ijs20hmjm"))))
(version "1.0.11")
(source
(origin
(method url-fetch)
(uri (hackage-uri "cabal-doctest" version))
(sha256
(base32 "0gwjpwv2v7c7gs2dvf7ixsxx6likmgw5yi0fy4bqc0i7nkqg4bfw"))))
(build-system haskell-build-system)
(properties '((upstream-name . "cabal-doctest")))
(arguments
`(#: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")
(home-page "https://github.com/ulidtko/cabal-doctest")
(synopsis "Setup.hs helper for running doctests")
(description
"To properly work, the @code{doctest} package needs plenty of
@@ -971,13 +1008,13 @@ random testing, and hybrids of the two.")
(define-public ghc-inspection-testing
(package
(name "ghc-inspection-testing")
(version "0.4.6.1")
(source (origin
(method url-fetch)
(uri (hackage-uri "inspection-testing" version))
(sha256
(base32
"0mxff0v3ciccbk4b8kxnh4752fzbwn7213qd8xji0csv6gi2w83y"))))
(version "0.6.2")
(source
(origin
(method url-fetch)
(uri (hackage-uri "inspection-testing" version))
(sha256
(base32 "0zi1q86sd9jy5dpqfs2j71acdl7kvik0ps78xirpdhyldhwwyqws"))))
(build-system haskell-build-system)
(properties '((upstream-name . "inspection-testing")))
(home-page "https://github.com/nomeata/inspection-testing")
@@ -1010,33 +1047,33 @@ examples and more information.")
(name "ghc-quickcheck-classes")
(version "0.6.5.0")
(source
(origin
(method url-fetch)
(uri (hackage-uri "quickcheck-classes" version))
(sha256
(base32 "19iw15mvb7gws3ljdxqwsbb4pmfc0sfflf8szgmrhiqr3k82mqv2"))))
(origin
(method url-fetch)
(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
ghc-primitive-addr
ghc-quickcheck-classes-base
ghc-aeson
ghc-semigroupoids
ghc-semirings
ghc-vector))
(native-inputs
(list ghc-base-orphans
ghc-tagged
ghc-base-orphans
ghc-tagged
ghc-tasty
ghc-tasty-quickcheck))
(inputs (list ghc-quickcheck
ghc-primitive
ghc-primitive-addr
ghc-quickcheck-classes-base
ghc-semigroups-bootstrap
ghc-fail
ghc-tagged
ghc-aeson
ghc-semigroupoids
ghc-semirings
ghc-vector))
(native-inputs (list ghc-base-orphans ghc-base-orphans ghc-tasty
ghc-tasty-quickcheck))
(arguments
`(#:cabal-revision ("3"
"1pawam5rsdcdv21fqc87khzqjm0ixwzklfxd6gk3b2qrr5q66bn5")))
(home-page "https://github.com/andrewthad/quickcheck-classes#readme")
(synopsis "QuickCheck common typeclasses")
(description
"This library provides QuickCheck properties to ensure that typeclass
"This library provides QuickCheck properties to ensure that typeclass
instances adhere to the set of laws that they are supposed to. There are
other libraries that do similar things, such as @code{genvalidity-hspec} and
@code{checkers}. This library differs from other solutions by not introducing
@@ -1052,24 +1089,26 @@ constraints more cleanly.")
(name "ghc-quickcheck-classes-base")
(version "0.6.2.0")
(source
(origin
(method url-fetch)
(uri (hackage-uri "quickcheck-classes-base" version))
(sha256
(base32 "16c6gq4cqpkwnq1pzkhm6r7mrwk4an50ha5w77bmiia2qkhla6ch"))))
(origin
(method url-fetch)
(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
ghc-bifunctors
ghc-semigroups
ghc-fail
ghc-tagged))
(inputs (list ghc-quickcheck
ghc-contravariant
ghc-bifunctors
ghc-semigroups-bootstrap
ghc-fail
ghc-tagged))
(arguments
`(#:cabal-revision ("1"
"1p3v38jhpx0r6rnvaspkkivl8xyq2mq4xnmycgmkj1gr77vplkdr")))
(home-page "https://github.com/andrewthad/quickcheck-classes#readme")
(synopsis "QuickCheck common typeclasses from `base`")
(description
"This library is a minimal variant of `quickcheck-classes` that only
"This library is a minimal variant of `quickcheck-classes` that only
provides laws for typeclasses from `base`. The main purpose of splitting this
out is so that `primitive` can depend on `quickcheck-classes-base` in its test
suite, avoiding the circular dependency that arises if `quickcheck-classes` is
@@ -1087,67 +1126,61 @@ this library uses the higher-kinded typeclasses
(define-public ghc-doctest-lib
(package
(name "ghc-doctest-lib")
(version "0.1")
(version "0.1.1.1")
(source
(origin
(method url-fetch)
(uri (hackage-uri "doctest-lib" version))
(sha256
(base32 "1vswam0dhw52dihgnzirh18gqs8rj8h6jd7pl6y1mg2f9f9zmih2"))))
(origin
(method url-fetch)
(uri (hackage-uri "doctest-lib" version))
(sha256
(base32 "1hb3zx1xzib3v41blnwcbhc2v0rzwdzq7gm4sajqndimwjkkxc67"))))
(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
"Parts of doctest exposed as library. For use with the doctest-extract utility.")
"Parts of doctest exposed as library. For use with the doctest-extract utility.")
(license license:expat)))
(define-public ghc-doctest-exitcode-stdio
(package
(name "ghc-doctest-exitcode-stdio")
(version "0.0")
(version "0.0.0.1")
(source
(origin
(method url-fetch)
(uri (hackage-uri "doctest-exitcode-stdio" version))
(sha256
(base32 "1g3c7yrqq2mwqbmvs8vkx1a3cf0p0x74b7fnn344dsk7bsfpgv0x"))))
(origin
(method url-fetch)
(uri (hackage-uri "doctest-exitcode-stdio" version))
(sha256
(base32 "0kg5xiw4giyvqpcj6cxqqnysvixhxlwm0pbg3qks8dzwb5w79dvk"))))
(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")))
(inputs (list ghc-doctest-lib ghc-quickcheck ghc-semigroups))
(home-page "https://hub.darcs.net/thielema/doctest-exitcode-stdio/")
(synopsis "Run Doctests in a @code{Cabal.Test.exitcode-stdio} environment")
(description
"This package allows on to run Doctests in a Cabal.Test.exitcode-stdio
"This package allows on to run Doctests in a Cabal.Test.exitcode-stdio
environment.")
(license license:bsd-3)))
(define-public ghc-tasty-silver
(package
(name "ghc-tasty-silver")
(version "3.3.1.1")
(source (origin
(method url-fetch)
(uri (hackage-uri "tasty-silver" version))
(sha256
(base32
"13j0zs0ciijv9q2nncna1gbgsgw2g7xc228hzmqic1750n3ybz9m"))))
(version "3.3.2.1")
(source
(origin
(method url-fetch)
(uri (hackage-uri "tasty-silver" version))
(sha256
(base32 "01w3576kymglcddinh10m1wgy71dia49k2pnw5y1c97jjrhanf17"))))
(build-system haskell-build-system)
(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))
ghc-temporary))
(native-inputs (list ghc-tasty-hunit))
(home-page "https://github.com/phile314/tasty-silver")
(synopsis "Fancy test runner, including support for golden tests")
@@ -1163,16 +1196,19 @@ result of golden tests.")
(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"))))
(version "0.2.1")
(source
(origin
(method url-fetch)
(uri (hackage-uri "tasty-inspection-testing" version))
(sha256
(base32 "0wl2xlnbmqdkwhi4ic6a4q4lxf9qg433lidi8d0hlp3ykrjpbcay"))))
(build-system haskell-build-system)
(properties '((upstream-name . "tasty-inspection-testing")))
(inputs (list ghc-inspection-testing ghc-tasty))
(arguments
`(#:cabal-revision ("2"
"0z9al0hyq381fw146agbpz7rf24rwms1w91m7s0k1w3xbfw16l9n")))
(home-page "https://github.com/Bodigrim/tasty-inspection-testing")
(synopsis "Inspection testing support for tasty")
(description
@@ -1182,13 +1218,13 @@ result of golden tests.")
(define-public ghc-proctest
(package
(name "ghc-proctest")
(version "0.1.3.0")
(version "0.1.3.1")
(source (origin
(method url-fetch)
(uri (hackage-uri "proctest" version))
(sha256
(base32
"02iz323arx9zwclvspgaaqz81bp6jdnj89pjm08n2gamg39zsbdn"))))
"0yvhc0l5aj170ymhjx4ig0im0yd7wfa150m5lqhabr8j7cf16l7y"))))
(build-system haskell-build-system)
(properties '((upstream-name . "proctest")))
(inputs (list ghc-hunit ghc-hspec ghc-quickcheck))

View File

@@ -62,18 +62,19 @@ format.")
(package
(name "ghc-asn1-encoding")
(version "0.9.6")
(source (origin
(method url-fetch)
(uri (hackage-uri "asn1-encoding" version))
(sha256
(base32
"02nsr30h5yic1mk7znf0q4z3n560ip017n60hg7ya25rsfmxxy6r"))))
(source
(origin
(method url-fetch)
(uri (hackage-uri "asn1-encoding" version))
(sha256
(base32 "02nsr30h5yic1mk7znf0q4z3n560ip017n60hg7ya25rsfmxxy6r"))))
(build-system haskell-build-system)
(properties '((upstream-name . "asn1-encoding")))
(inputs
(list ghc-hourglass ghc-asn1-types))
(native-inputs
(list ghc-tasty ghc-tasty-quickcheck))
(inputs (list ghc-hourglass ghc-asn1-types))
(native-inputs (list ghc-tasty ghc-tasty-quickcheck))
(arguments
`(#:cabal-revision ("2"
"16503ryhq15f2rfdav2qnkq11dg2r3vk3f9v64q9dmxf8dh8zv97")))
(home-page "https://github.com/vincenthz/hs-asn1")
(synopsis "ASN1 data reader and writer in RAW, BER and DER forms")
(description
@@ -111,15 +112,18 @@ when ASN1 pattern matching is not convenient.")
(method url-fetch)
(uri (hackage-uri "crypto-api" version))
(sha256
(base32
"19bsmkqkpnvh01b77pmyarx00fic15j4hvg4pzscrj4prskrx2i9"))))
(base32 "19bsmkqkpnvh01b77pmyarx00fic15j4hvg4pzscrj4prskrx2i9"))))
(build-system haskell-build-system)
(properties '((upstream-name . "crypto-api")))
(inputs (list ghc-cereal ghc-tagged ghc-entropy))
(arguments
`(#:cabal-revision ("1"
"1z6n1sa5pn3iqvqjrd8hv4bc2pxzsrhm5sh0l8z7g9lbqp6w0wp5")))
(home-page "https://github.com/TomMD/crypto-api")
(synopsis "Provides generic interface for cryptographic operations
for Haskell")
(description "This Haskell package provides a generic interface for
(description
"This Haskell package provides a generic interface for
cryptographic operations (hashes, ciphers, randomness).
Maintainers of hash and cipher implementations are encouraged to add instances
@@ -197,13 +201,15 @@ that hides the C implementation.")
(method url-fetch)
(uri (hackage-uri "cryptohash-md5" version))
(sha256
(base32
"018g13hkmq5782i24b4518hcd926fl6x6fh5hd7b9wlxwc5dn21v"))))
(base32 "018g13hkmq5782i24b4518hcd926fl6x6fh5hd7b9wlxwc5dn21v"))))
(build-system haskell-build-system)
(properties '((upstream-name . "cryptohash-md5")))
(native-inputs (list ghc-base16-bytestring ghc-puremd5 ghc-tasty
ghc-tasty-hunit ghc-tasty-quickcheck))
(home-page "https://github.com/hvr/cryptohash-md5")
ghc-tasty-quickcheck ghc-tasty-hunit))
(arguments
`(#:cabal-revision ("6"
"0m7f9mgw4w9vcch37ja9zgbn0knq8rjppqr9x2ylkcdxfdnmhhif")))
(home-page "https://github.com/haskell-hvr/cryptohash-md5")
(synopsis "MD5 implementation for Haskell")
(description "This Haskell package provides implementation of MD5.")
(license license:bsd-3)))
@@ -212,20 +218,20 @@ that hides the C implementation.")
(package
(name "ghc-cryptohash-sha1")
(version "0.11.101.0")
(source (origin
(method url-fetch)
(uri (hackage-uri "cryptohash-sha1" version))
(sha256
(base32
"0h9jl9v38gj0vnscqx7xdklk634p05fa6z2pcvknisq2mnbjq154"))))
(source
(origin
(method url-fetch)
(uri (hackage-uri "cryptohash-sha1" version))
(sha256
(base32 "0h9jl9v38gj0vnscqx7xdklk634p05fa6z2pcvknisq2mnbjq154"))))
(build-system haskell-build-system)
(properties '((upstream-name . "cryptohash-sha1")))
(native-inputs (list ghc-base16-bytestring ghc-sha ghc-tasty
ghc-tasty-quickcheck ghc-tasty-hunit))
(arguments
`(#:cabal-revision ("1"
"0bz9rfl7b2iwn45m0lxcmsyi5rrv3xdgzx2lzr79bds91dw6i25b")))
(home-page "https://github.com/hvr/cryptohash-sha1")
`(#:cabal-revision ("6"
"1cxdw2y10z4v0mz91wki7f233jziipx85j4qy5msig4nv3djkprb")))
(home-page "https://github.com/haskell-hvr/cryptohash-sha1")
(synopsis "SHA-1 implementation for Haskell")
(description
"This Haskell package provides an incremental and one-pass,
@@ -246,20 +252,18 @@ the C implementation.")
(method url-fetch)
(uri (hackage-uri "cryptohash-sha256" version))
(sha256
(base32
"1xkb7iqplbw4fy1122p79xf1zcb7k44rl0wmfj1q06l7cdqxr9vk"))))
(base32 "1xkb7iqplbw4fy1122p79xf1zcb7k44rl0wmfj1q06l7cdqxr9vk"))))
(build-system haskell-build-system)
(properties '((upstream-name . "cryptohash-sha256")))
(native-inputs (list ghc-base16-bytestring ghc-sha ghc-tasty
ghc-tasty-quickcheck ghc-tasty-hunit))
(arguments
`(#:cabal-revision
("1" "1hyzqv30rpj920ddnr0zypyjjlh52vyp2d140pn2byayj820rkgs")
#:tests? #f)) ; TODO: tasty ==1.1.*
(native-inputs
(list ghc-base16-bytestring ghc-sha ghc-tasty ghc-tasty-hunit
ghc-tasty-quickcheck))
(home-page "https://github.com/hvr/cryptohash-sha1")
`(#:cabal-revision ("6"
"01s12sl5mxvraj5fj3cs0pkb03pm8xpjz13y09dpl7i6rv6f578f")))
(home-page "https://github.com/haskell-hvr/cryptohash-sha256")
(synopsis "SHA-256 implementation for Haskell")
(description "This Haskell package provides an incremental and
(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.
@@ -272,12 +276,12 @@ the C implementation.")
(package
(name "ghc-cryptonite")
(version "0.30")
(source (origin
(method url-fetch)
(uri (hackage-uri "cryptonite" version))
(sha256
(base32
"07bb97iszhnrfddh5ql6p3dqd0c13xycjw5n2kljw7d0ia59q2an"))))
(source
(origin
(method url-fetch)
(uri (hackage-uri "cryptonite" version))
(sha256
(base32 "07bb97iszhnrfddh5ql6p3dqd0c13xycjw5n2kljw7d0ia59q2an"))))
(build-system haskell-build-system)
(properties '((upstream-name . "cryptonite")))
(inputs (list ghc-memory ghc-basement))
@@ -295,13 +299,13 @@ generators, and more.")
(define-public ghc-curve25519
(package
(name "ghc-curve25519")
(version "0.2.7")
(version "0.2.8.1")
(source
(origin
(method url-fetch)
(uri (hackage-uri "curve25519" version))
(sha256
(base32 "1p8b1lppkvc19974hr43lcqdi4nj55j2nf7gsnp8dn7gyf23aayq"))))
(base32 "0p2rxad477cxbpxryvp78v8nrrf5gm35106jbqrj5cjgksappkdj"))))
(build-system haskell-build-system)
(native-inputs
(list ghc-hunit
@@ -326,19 +330,17 @@ elsewhere.")
(define-public ghc-digest
(package
(name "ghc-digest")
(version "0.0.1.7")
(version "0.0.2.1")
(source
(origin
(method url-fetch)
(uri (hackage-uri "digest" version))
(sha256
(base32 "02jzw0bsng87y1n2kgpy7vb30lvqsnpbfd8dpg4hmvbg9s06qgdj"))))
(base32 "163418p50bqdxn8ajzj6x3455xbch9jq1w6psbkdz5qzw017py6b"))))
(build-system haskell-build-system)
(properties '((upstream-name . "digest")))
(arguments
`(#:extra-directories ("zlib")
#:cabal-revision ("1"
"0wh34kyag2vhwvsdwv8qmvm13gy32nc94yfyqfdnl67nyc2sx8wl")))
`(#:extra-directories ("zlib")))
(inputs (list zlib))
(native-inputs (list pkg-config))
(home-page "http://hackage.haskell.org/package/digest")
@@ -352,13 +354,13 @@ are implemented as FFI bindings to efficient code from zlib.")
(define-public ghc-entropy
(package
(name "ghc-entropy")
(version "0.4.1.10")
(source (origin
(method url-fetch)
(uri (hackage-uri "entropy" version))
(sha256
(base32
"1rbx4ydabrjs8kkdg9laznkh9nisiq6b5z93vnp9bh6iy59ivb45"))))
(version "0.4.1.11")
(source
(origin
(method url-fetch)
(uri (hackage-uri "entropy" version))
(sha256
(base32 "1slj5n783k2amsx2hqs5qwvcw4rgfhdhgmiyg7cii0wg4w0mmpgm"))))
(build-system haskell-build-system)
(properties '((upstream-name . "entropy")))
(home-page "https://github.com/TomMD/entropy")
@@ -415,6 +417,35 @@ the MD5 digest (hash) algorithm. This now supports the @code{crypto-api} class
interface.")
(license license:bsd-3)))
(define-public ghc-rsa
(package
(name "ghc-rsa")
(version "2.4.1")
(source
(origin
(method url-fetch)
(uri (hackage-uri "RSA" version))
(sha256
(base32 "0hchsqrxpfw7mqrqwscfy8ig1w2di6w3nxpzi873w0gibv2diibj"))))
(build-system haskell-build-system)
(properties '((upstream-name . "RSA")))
(inputs (list ghc-crypto-api ghc-crypto-pubkey-types ghc-sha))
(native-inputs (list ghc-quickcheck ghc-tagged ghc-test-framework
ghc-test-framework-quickcheck2))
(arguments
`(#:cabal-revision ("2"
"090yzm99fmh7c6z4m9hbkasqhc3xlw104g2b6wnk77n1abd13ryj")))
(home-page "http://hackage.haskell.org/package/RSA")
(synopsis
"Implementation of RSA, using the padding schemes of PKCS#1 v2.1.")
(description
"This library implements the RSA encryption and signature algorithms for
arbitrarily-sized @code{ByteStrings}. While the implementations work, they are
not necessarily the fastest ones on the planet. Particularly key generation.
The algorithms included are based of RFC 3447, or the Public-Key Cryptography
Standard for RSA, version 2.1 (a.k.a, PKCS#1 v2.1).")
(license license:bsd-3)))
(define-public ghc-sha
(package
(name "ghc-sha")
@@ -594,6 +625,24 @@ implementation. If it matters for your case, you should make sure you have
AES-NI available, or you'll need to use a different implementation.")
(license license:bsd-3)))
(define-public ghc-crypto-pubkey-types
(package
(name "ghc-crypto-pubkey-types")
(version "0.4.3")
(source
(origin
(method url-fetch)
(uri (hackage-uri "crypto-pubkey-types" version))
(sha256
(base32 "0q0wlzjmpx536h1zcdzrpxjkvqw8abj8z0ci38138kpch4igbnby"))))
(build-system haskell-build-system)
(properties '((upstream-name . "crypto-pubkey-types")))
(inputs (list ghc-asn1-types ghc-asn1-encoding))
(home-page "http://github.com/vincenthz/hs-crypto-pubkey-types")
(synopsis "Generic cryptography Public keys algorithm types")
(description "Generic cryptography public keys algorithm types.")
(license license:bsd-3)))
(define-public ghc-crypto-random
(package
(name "ghc-crypto-random")
@@ -617,13 +666,13 @@ abstraction for CPRNGs.")
(define-public ghc-crypton
(package
(name "ghc-crypton")
(version "0.34")
(version "1.0.4")
(source
(origin
(method url-fetch)
(uri (hackage-uri "crypton" version))
(sha256
(base32 "1mhypjhzn95in853bp7ary0a2xc6lsji6j8hrrgn2mfa4ilq8i24"))))
(base32 "06h1qjvqd8gmiyzvh31sc061vcgns101l0774c44a8k44015925l"))))
(build-system haskell-build-system)
(properties '((upstream-name . "crypton")))
(inputs (list ghc-memory ghc-basement))
@@ -653,13 +702,13 @@ abstraction for CPRNGs.")
(define-public ghc-crypton-x509
(package
(name "ghc-crypton-x509")
(version "1.7.6")
(version "1.7.7")
(source
(origin
(method url-fetch)
(uri (hackage-uri "crypton-x509" version))
(sha256
(base32 "1zyaz0krf08g36g30zr5wn8f2x51l4dj2zcjnhpiw9h05p54mdzb"))))
(base32 "10pkva9wvm6ih48bprxlnyhnn3nr6xq9dhkrk4hfxpsaij6f9v7g"))))
(build-system haskell-build-system)
(properties '((upstream-name . "crypton-x509")))
(inputs (list ghc-memory
@@ -669,13 +718,7 @@ abstraction for CPRNGs.")
ghc-asn1-encoding
ghc-asn1-parse
ghc-crypton))
(native-inputs (list ghc-tasty ghc-tasty-quickcheck ghc-x509))
(arguments
`(#:cabal-revision ("1"
"10a2x47znhbayyfr6fqgq27623akpycyjbfxz4hnavavf1x6ary5")
;; build phase fails when tests are activated.
;; See https://github.com/kazu-yamamoto/crypton-certificate/pull/7
#:tests? #f))
(native-inputs (list ghc-tasty ghc-tasty-quickcheck))
(home-page "https://github.com/kazu-yamamoto/crypton-certificate")
(synopsis "X509 reader and writer")
(description "This package provides generic X509 support for Haskell.")
@@ -684,13 +727,13 @@ abstraction for CPRNGs.")
(define-public ghc-crypton-x509-store
(package
(name "ghc-crypton-x509-store")
(version "1.6.9")
(version "1.6.11")
(source
(origin
(method url-fetch)
(uri (hackage-uri "crypton-x509-store" version))
(sha256
(base32 "0vr5b9cyf9x016wn1g0bryslf5nz8jq2sy8r3llwqfg02apihqiy"))))
(base32 "07vq7f883cm5krqz2kc0qkh9ks54jknrwdqvfqsk91s12b693a83"))))
(build-system haskell-build-system)
(properties '((upstream-name . "crypton-x509-store")))
(inputs (list ghc-pem ghc-asn1-types ghc-asn1-encoding ghc-crypton
@@ -727,24 +770,25 @@ storage methods, and accessors.")
(define-public ghc-crypton-x509-validation
(package
(name "ghc-crypton-x509-validation")
(version "1.6.12")
(version "1.6.14")
(source
(origin
(method url-fetch)
(uri (hackage-uri "crypton-x509-validation" version))
(sha256
(base32 "1xjhwvmkcy47a6xiqxb3xy944ca7g660203jdrz5xzd46zibfq0f"))))
(base32 "07b09kgrd3m5ahxpj458r5ycd30bz8ldwjwf19mdcnfv4x0kj3pd"))))
(build-system haskell-build-system)
(properties '((upstream-name . "crypton-x509-validation")))
(inputs (list ghc-memory
ghc-hourglass
ghc-data-default-class
ghc-data-default
ghc-pem
ghc-asn1-types
ghc-asn1-encoding
ghc-crypton-x509
ghc-crypton-x509-store
ghc-crypton))
ghc-crypton
ghc-iproute))
(native-inputs (list ghc-tasty ghc-tasty-hunit))
(home-page "https://github.com/kazu-yamamoto/crypton-certificate")
(synopsis "X.509 Certificate and CRL validation")
@@ -752,6 +796,44 @@ storage methods, and accessors.")
and @dfn{Certificates revocation list} (CRL) validation.")
(license license:bsd-3)))
(define-public ghc-crypton-socks
(package
(name "ghc-crypton-socks")
(version "0.6.2")
(source
(origin
(method url-fetch)
(uri (hackage-uri "crypton-socks" version))
(sha256
(base32 "0fwzlvndyxjwhxambxdjzzm63yvb6jzsg53dkv3i6x17biz0hdm8"))))
(build-system haskell-build-system)
(properties '((upstream-name . "crypton-socks")))
(inputs (list ghc-cereal ghc-network ghc-network-bsd))
(home-page "http://github.com/mpilgrem/crypton-socks")
(synopsis "SOCKS Protocol Version 5")
(description
"This package provides a library implementing SOCKS Protocol Version 5.")
(license license:bsd-3)))
(define-public ghc-crypto-token
(package
(name "ghc-crypto-token")
(version "0.1.2")
(source
(origin
(method url-fetch)
(uri (hackage-uri "crypto-token" version))
(sha256
(base32 "18xphlvn6wzyi6lqrvm5vic97pkcbiph1938p5l1mb22rj5215zm"))))
(build-system haskell-build-system)
(properties '((upstream-name . "crypto-token")))
(inputs (list ghc-crypton ghc-memory ghc-network-byte-order))
(native-inputs (list ghc-hspec hspec-discover))
(home-page "http://hackage.haskell.org/package/crypto-token")
(synopsis "crypto tokens")
(description "Encrypted tokens/tickets to keep state in the client side.")
(license license:bsd-3)))
(define-public ghc-cprng-aes
(package
(name "ghc-cprng-aes")
@@ -804,20 +886,19 @@ percent.
(method url-fetch)
(uri (hackage-uri "ed25519" version))
(sha256
(base32
"0v8msqvgzimhs7p5ri25hrb1ni2wvisl5rmdxy89fc59py79b9fq"))))
(base32 "0v8msqvgzimhs7p5ri25hrb1ni2wvisl5rmdxy89fc59py79b9fq"))))
(build-system haskell-build-system)
(properties '((upstream-name . "ed25519")))
(native-inputs (list ghc-quickcheck ghc-doctest))
(arguments
`(#:cabal-revision
("6" "0qyx6cl52fnll8lp6v9133wfvv3zhvq7v2crn441mng520j9wp48")
;; We omit these test suites because they require old versions of
;; packages and packages we do not have.
#:configure-flags
'("--flags=-test-hlint -test-doctests -test-properties")))
(home-page "http://thoughtpolice.github.com/hs-ed25519")
`(#:cabal-revision ("9"
"0y5vfdcys18waa5k5zxiq9n8jq0l05j76riml23i0gxmwgdhsmgi")
;; the tests don't work with current versions of the test frameworks
#:tests? #f))
(home-page "https://github.com/thoughtpolice/hs-ed25519/")
(synopsis "Ed25519 cryptographic signatures")
(description "This package provides a simple, fast, self-contained
(description
"This package provides a simple, fast, self-contained
copy of the Ed25519 public-key signature system with a clean interface.
It also includes support for detached signatures, and thorough
documentation on the design and implementation, including usage
@@ -827,29 +908,41 @@ guidelines.")
(define-public ghc-tls
(package
(name "ghc-tls")
(version "1.5.8")
(version "2.1.8")
(source (origin
(method url-fetch)
(uri (hackage-uri "tls" version))
(sha256
(base32
"0rxdv8ab98kd4nqql7djmmi51k4vayq21s38s43sx3rzn0iyla3b"))))
"1csdy3426lva1a5f7gh9qm96vzfraqj91jbxlm79wbf1jsdzfhsq"))))
(build-system haskell-build-system)
(properties '((upstream-name . "tls")))
(inputs (list ghc-cereal
ghc-data-default-class
ghc-memory
ghc-cryptonite
ghc-asn1-types
(inputs (list ghc-asn1-types
ghc-asn1-encoding
ghc-x509
ghc-x509-store
ghc-x509-validation
ghc-async
ghc-hourglass
ghc-network))
(native-inputs (list ghc-tasty ghc-tasty-quickcheck ghc-quickcheck))
(home-page "http://github.com/vincenthz/hs-tls")
ghc-base16-bytestring
ghc-cereal
ghc-crypton
ghc-crypton-x509
ghc-crypton-x509-store
ghc-crypton-x509-validation
ghc-data-default
ghc-memory
ghc-network
ghc-serialise
ghc-transformers
ghc-unix-time
ghc-zlib))
(native-inputs (list ghc-quickcheck
ghc-asn1-types
ghc-async
ghc-crypton
ghc-crypton-x509
ghc-crypton-x509-validation
ghc-hourglass
ghc-hspec
ghc-serialise
hspec-discover))
(home-page "http://github.com/haskell-tls/hs-tls")
(synopsis "TLS/SSL protocol native implementation (Server and Client)")
(description
"Native Haskell TLS and SSL protocol implementation for server and client.
@@ -861,43 +954,6 @@ Ephemeral (Elliptic curve and regular) Diffie Hellman key exchanges, and many
extensions.")
(license license:bsd-3)))
(define-public ghc-tls-1.9
(package
(name "ghc-tls")
(version "1.9.0")
(source
(origin
(method url-fetch)
(uri (hackage-uri "tls" version))
(sha256
(base32 "0gj3af9sqd0bw7dpcqfyvbslpxsk2ij00a77kl710fwhw35vj1an"))))
(build-system haskell-build-system)
(properties '((upstream-name . "tls")))
(inputs (list ghc-cereal
ghc-data-default-class
ghc-memory
ghc-crypton
ghc-asn1-types
ghc-asn1-encoding
ghc-crypton-x509
ghc-crypton-x509-store
ghc-crypton-x509-validation
ghc-async
ghc-unix-time
ghc-network))
(native-inputs (list ghc-tasty ghc-tasty-quickcheck ghc-quickcheck))
(home-page "https://github.com/haskell-tls/hs-tls")
(synopsis "TLS/SSL protocol native implementation (server and client)")
(description
"This package provides a native Haskell TLS and SSL protocol
implementation for server and client. It provides a high-level implementation
of a sensitive security protocol, eliminating a common set of security issues
through the use of the advanced type system, high level constructions and
common Haskell features. It currently implements the SSL3.0, TLS1.0, TLS1.1
and TLS1.2 protocol, and supports RSA and Ephemeral (Elliptic curve and
regular) Diffie Hellman key exchanges, and many extensions.")
(license license:bsd-3)))
(define-public ghc-hsopenssl
(package
(name "ghc-hsopenssl")
@@ -960,17 +1016,14 @@ the tls package, and borrows some ideas from x509-system.")
(method url-fetch)
(uri (hackage-uri "openssl-streams" version))
(sha256
(base32
"10pnnpzgb5xr811kc9qdk7h2cgn6hk2yiyhnzz8f8p0fjzc0pwjm"))))
(base32 "10pnnpzgb5xr811kc9qdk7h2cgn6hk2yiyhnzz8f8p0fjzc0pwjm"))))
(build-system haskell-build-system)
(properties '((upstream-name . "openssl-streams")))
(inputs
(list ghc-hsopenssl ghc-io-streams ghc-network))
(native-inputs
(list ghc-hunit ghc-test-framework ghc-test-framework-hunit))
(inputs (list ghc-hsopenssl ghc-io-streams ghc-network))
(native-inputs (list ghc-hunit ghc-test-framework ghc-test-framework-hunit))
(arguments
`(#:cabal-revision ("1"
"0vfawnfcjrw29qg1n7k6z6bk4bmnk869gjlr9mxw4mzxgl80b2vp")))
`(#:cabal-revision ("3"
"1vizl9yajkbd59rrnfb38xwq7hfj36avbv6vwqnkhbvz3qaj3dwg")))
(home-page "https://hackage.haskell.org/package/openssl-streams")
(synopsis "OpenSSL network support for io-streams")
(description "This library contains io-streams routines for secure

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -1626,12 +1626,6 @@ SRC_HC_OPTS += -optc-mno-outline-atomics
(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)
@@ -1695,22 +1689,24 @@ SRC_HC_OPTS += -optc-mno-outline-atomics
(let ((base ghc-9.2))
(package
(inherit base)
(name "ghc-next")
(version "9.4.4")
(name "ghc")
(version "9.4.3")
(source (origin
(method url-fetch)
(uri (string-append "https://www.haskell.org/ghc/dist/" version
"/ghc-" version "-src.tar.xz"))
(sha256
(base32
"1qk7rlqf02s3b6m6sqqngmjq1mxnrz88h159lz6k25gddmdg5kp8"))
"0nlhx2cbq1jh2yr6zk475lavjkh9sncj57qp77p51pkfad4kkxpa"))
(patches (search-patches "ghc-9-StgCRunAsm-only-when-needed.patch"))))
(arguments
(substitute-keyword-arguments arguments
((#:phases phases '%standard-phases)
#~(modify-phases #$phases
;; Files dont exist any more.
(delete 'skip-tests)))))
(delete 'skip-tests)))
((#:tests? _ #f)
#f)))
(native-inputs
`(;; GHC 9.4 must be built with GHC >= 9.0.
("ghc-bootstrap" ,ghc-bootstrap-for-9.4)
@@ -1722,8 +1718,7 @@ SRC_HC_OPTS += -optc-mno-outline-atomics
version "/ghc-" version "-testsuite.tar.xz"))
(sha256
(base32
"04p2lawxxg3nyv6frzhyjyh3arhqqyh5ka3alxa2pxhcd2hdcja3"))
(patches (search-patches "ghc-testsuite-recomp015-execstack.patch"))))
"1xbps33pq6mg2bwp5gvmc4qhgdq52yng5993if99b9s3fylqk86l"))))
("ghc-alex" ,ghc-alex-bootstrap-for-9.4)
("ghc-happy" ,ghc-happy-bootstrap-for-9.4)
,@(filter (match-lambda
@@ -1738,4 +1733,326 @@ SRC_HC_OPTS += -optc-mno-outline-atomics
(file-pattern ".*\\.conf\\.d$")
(file-type 'directory)))))))
;;; GHC >= 9.6 must be built using it's new haskell-written Hadrian build
;;; system. Use this opportunity to cut the inheritance chain to simplify
;;; understanding what building ghc requires with the new build system.
(define-public ghc-9.8
(let ((ghc-bootstrap ghc-9.4))
(package
(name "ghc")
(version "9.8.1")
(source (origin
(method url-fetch)
(uri (string-append "https://downloads.haskell.org/~ghc/" version
"/ghc-" version "-src.tar.xz"))
(sha256
(base32
"0l87yb8hmd350klrp6lw2h9hjlla11pgzx1n4jlrfdvkgxmyvy5j"))))
(outputs (list "out" "doc"))
(arguments
(list
#:make-flags #~(list "-V" "--docs=no-sphinx")
#:configure-flags
#~(list
(string-append "--with-gmp-libraries="
(assoc-ref %build-inputs "gmp") "/lib")
(string-append "--with-gmp-includes="
(assoc-ref %build-inputs "gmp") "/include")
"--with-system-libffi"
(string-append "--with-ffi-libraries="
(assoc-ref %build-inputs "libffi") "/lib")
(string-append "--with-ffi-includes="
(assoc-ref %build-inputs "libffi") "/include")
(string-append "--with-curses-libraries="
(assoc-ref %build-inputs "ncurses") "/lib")
(string-append "--with-curses-includes="
(assoc-ref %build-inputs "ncurses") "/include"))
#:phases
#~(modify-phases %standard-phases
(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)))))
;; This phase patches the 'ghc-pkg' command so that it sorts the list
;; of packages in the binary cache it generates.
(add-before 'build 'fix-ghc-pkg-nondeterminism
(lambda _
(substitute* "utils/ghc-pkg/Main.hs"
(("confs = map \\(path </>\\) \\$ filter \\(\".conf\" `isSuffixOf`\\) fs")
"confs = map (path </>) $ filter (\".conf\" `isSuffixOf`) (sort fs)"))))
(add-after 'unpack 'unpack-testsuite
(lambda* (#:key inputs #:allow-other-keys)
(with-directory-excursion ".."
(invoke "tar" "xvf" (assoc-ref inputs "ghc-testsuite")))))
(add-after 'unpack-testsuite 'fix-/bin/sh-references
(lambda* (#:key inputs #:allow-other-keys)
(substitute*
(list "hadrian/src/Rules/BinaryDist.hs"
"hadrian/src/Rules/Test.hs"
"libraries/process/System/Process/Posix.hs"
"libraries/process/jsbits/process.js"
"libraries/unix/cbits/execvpe.c"
"testsuite/tests/driver/T8602/T8602.script"
"testsuite/timeout/timeout.py")
(("/bin/sh") (search-input-file inputs "/bin/sh")))))
(add-after 'unpack-testsuite 'fix-cc-reference
(lambda* (#:key inputs #:allow-other-keys)
(substitute*
(list "utils/hsc2hs/src/Common.hs")
(("\"cc\"") "\"gcc\""))))
;; XXX: something causes ld-wrapper to see test\ \ \ spaces/... and
;; look for the files "test\", "\", "\" and "spaces/...", which obviously
;; don't exist
(add-after 'unpack-testsuite 'fix-testsuite
(lambda _
(substitute*
(list "testsuite/driver/runtests.py")
(("'test spaces'") "'dont-test-spaces'"))))
(add-before 'configure 'set-target-programs
(lambda* (#:key inputs #:allow-other-keys)
(let ((binutils (assoc-ref inputs "binutils"))
(gcc (assoc-ref inputs "gcc"))
(ld-wrapper (assoc-ref inputs "ld-wrapper")))
(setenv "CC" (string-append gcc "/bin/gcc"))
(setenv "CXX" (string-append gcc "/bin/g++"))
(setenv "LD" (string-append ld-wrapper "/bin/ld"))
(setenv "NM" (string-append binutils "/bin/nm"))
(setenv "RANLIB" (string-append binutils "/bin/ranlib"))
(setenv "STRIP" (string-append binutils "/bin/strip"))
;; The 'ar' command does not follow the same pattern.
(setenv "fp_prog_ar" (string-append binutils "/bin/ar")))))
(add-before 'build 'build-hadrian
(lambda* (#:key (inputs '()) #:allow-other-keys)
(invoke "./hadrian/bootstrap/bootstrap.py"
"-s" (assoc-ref inputs "hadrian-bootstrap")
"-w" (which "ghc"))))
(add-before 'build-hadrian 'fix-environment
(lambda _
(unsetenv "GHC_PACKAGE_PATH")
(setenv "CONFIG_SHELL" (which "bash"))))
(replace 'build
(lambda* (#:key (parallel-build? #f) (make-flags '())
#:allow-other-keys)
(apply invoke "_build/bin/hadrian"
`("binary-dist-dir"
,@(if parallel-build?
(list (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 invoke "_build/bin/hadrian"
`(,@(if parallel-tests?
(list (string-append
"-j"
(number->string (parallel-job-count))))
'())
,@make-flags
"test"
,(string-append
"--broken-test="
(string-join
(list "T15904" ; ld-wrapper, apparently
"T16521" ; no idea
;; These fail due to gcc
;; -Wincompatible-pointer-types, which
;; apparently is not used in GHC's CI
;; https://gitlab.haskell.org/ghc/ghc/-/issues/22263
"hs_try_putmvar001"
"list_threads_and_misc_roots"
"testwsdeque")))
"--skip-perf"))
(format #t "test suite not run~%"))))
(replace 'install
(lambda* (#:key (make-flags '()) #:allow-other-keys)
(apply invoke "_build/bin/hadrian"
`("install"
,@make-flags
,(string-append "--prefix=" #$output)))))
(add-after 'install 'remove-unnecessary-references
(lambda* (#:key outputs #:allow-other-keys)
(substitute* (find-files (string-append (assoc-ref outputs "out") "/lib/")
"settings")
(("/gnu/store/.*/bin/(.*)" m program) program))
;; Remove references to "doc" output from "out" by rewriting
;; the "haddock-interfaces" fields and removing the optional
;; "haddock-html" field in the generated .conf files.
(let ((doc (assoc-ref outputs "doc"))
(out (assoc-ref outputs "out")))
(with-fluids ((%default-port-encoding #f))
(for-each (lambda (config-file)
(substitute* config-file
(("^haddock-html: .*") "\n")
(((format #f "^haddock-interfaces: ~a" doc))
(string-append "haddock-interfaces: " out))))
(find-files (string-append out "/lib") ".conf")))
;; Move the referenced files to the "out" output.
(for-each (lambda (haddock-file)
(let* ((subdir (string-drop haddock-file (string-length doc)))
(new (string-append out subdir)))
(mkdir-p (dirname new))
(rename-file haddock-file new)))
(find-files doc "\\.haddock$")))))
(add-after 'install 'replace-$pkgroot
(lambda* (#:key outputs #:allow-other-keys)
((@ (srfi srfi-11) let*-values)
(((out) (assoc-ref outputs "out"))
((_ version) (package-name->name+version
(strip-store-file-name out))))
;; We split out the version because we want this to also work
;; with packages named "ghc-next" instead of "ghc"
(substitute*
(find-files
(string-append (assoc-ref outputs "out") "/lib/ghc-"
version "/lib/package.conf.d/")
"^.*\\.conf$")
(("\\$\\{pkgroot\\}/")
(string-append (assoc-ref outputs "out") "/lib/ghc-"
version "/lib/")))))))))
(build-system gnu-build-system)
(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)
("ghc-bootstrap" ,ghc-bootstrap)
("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
"1hxylm3nhxzl7yidarlavvcg1240w4bk0hy5jnvwna24jyxz69i6"))
(patches (search-patches "ghc-testsuite-recomp015-execstack.patch"))))
("hadrian-bootstrap"
,(origin
(method url-fetch)
(uri (string-append "https://downloads.haskell.org/~ghc/"
version "/hadrian-bootstrap-sources/"
"hadrian-bootstrap-sources-"
(package-version ghc-bootstrap) ".tar.gz"))
(sha256
(base32
"14dkxif9x4hy85phcj3j0glf95k04g4ab6hfchpw9vxgvk97syi1"))))))
(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))))
(home-page "https://www.haskell.org/ghc")
(synopsis "The Glasgow Haskell Compiler")
(description
"The Glasgow Haskell Compiler (GHC) is a state-of-the-art compiler and
interactive environment for the functional language Haskell.")
(license license:bsd-3))))
(define-public ghc-9.10
(let ((base ghc-9.8))
(package
(inherit base)
(name "ghc")
(version "9.10.2")
(source
(origin
(method url-fetch)
(uri (string-append "https://downloads.haskell.org/~ghc/" version
"/ghc-" version "-src.tar.xz"))
(sha256
(base32
"1pm84cgr3yg99r3srdjllgz6zig8h7dbwa597srwcnjp0nh41zam"))))
(arguments
(substitute-keyword-arguments (package-arguments base)
((#:phases phases #~%standard-phases)
#~(modify-phases #$phases
(replace 'check
(lambda* (#:key (tests? #t) (parallel-tests? #f) (make-flags '())
#:allow-other-keys)
(if tests?
(apply invoke "_build/bin/hadrian"
`(,@(if parallel-tests?
(list (string-append
"-j"
(number->string (parallel-job-count))))
'())
,@make-flags
"test"
,(string-append
"--broken-test="
(string-join
(list "T15904" ; ld-wrapper, apparently
"T16521" ; no idea
;; These fail due to gcc
;; -Wincompatible-pointer-types, which
;; apparently is not used in GHC's CI
;; https://gitlab.haskell.org/ghc/ghc/-/issues/22263
"list_threads_and_misc_roots"
"stack_misc_closures")))
"--skip-perf"))
(format #t "test suite not run~%"))))))))
(native-inputs
`(("ghc-bootstrap" ,base)
("ghc-testsuite"
,(origin
(method url-fetch)
(uri (string-append
"https://downloads.haskell.org/~ghc/"
version "/ghc-" version "-testsuite.tar.xz"))
(sha256
(base32
"143ifc4g3jc6s9hcry5qha913rzwg4hpsvk6pqvxk5r0qigfxjwx"))
(patches (search-patches "ghc-testsuite-recomp015-execstack.patch"))))
("hadrian-bootstrap"
,(origin
(method url-fetch)
(uri (string-append "https://downloads.haskell.org/~ghc/" version
"/hadrian-bootstrap-sources/"
"hadrian-bootstrap-sources-"
(package-version base) ".tar.gz"))
(sha256
(base32
"162lbafvdamfhx1jldax3shgk8jbbqn4an97ny363lxbdjgdn708"))))
,@(filter (match-lambda
(("ghc-bootstrap" . _) #f)
(("ghc-testsuite" . _) #f)
(("hadrian-bootstrap" . _) #f)
(_ #t))
(package-native-inputs base))))
(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)))))))
;; 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.10)
;;; haskell.scm ends here

View File

@@ -0,0 +1,58 @@
From 4617d2682738aeaece613ea61390dd47447c2d9f Mon Sep 17 00:00:00 2001
From: Potato Hatsue <1793913507@qq.com>
Date: Fri, 12 Sep 2025 06:07:02 -0700
Subject: [PATCH] Allow QuickCheck 2.15.0
---
Test/Chell/QuickCheck.hs | 8 ++++++++
chell-quickcheck.cabal | 2 +-
2 files changed, 9 insertions(+), 1 deletion(-)
diff --git a/Test/Chell/QuickCheck.hs b/Test/Chell/QuickCheck.hs
index ea1c488..3227b8e 100644
--- a/Test/Chell/QuickCheck.hs
+++ b/Test/Chell/QuickCheck.hs
@@ -1,3 +1,4 @@
+{-# LANGUAGE CPP #-}
module Test.Chell.QuickCheck (property) where
import Test.Chell qualified as Chell
@@ -30,7 +31,12 @@ property name prop = Chell.test name $ \opts -> Text.withNullTerminal $ \term ->
{ State.terminal = term,
State.maxSuccessTests = QuickCheck.maxSuccess args,
State.maxDiscardedRatio = QuickCheck.maxDiscardRatio args,
+#if MIN_VERSION_QuickCheck(2,15,0)
+ State.replayStartSize = Nothing,
+ State.maxTestSize = QuickCheck.maxSize args,
+#else
State.computeSize = computeSize (QuickCheck.maxSize args) (QuickCheck.maxSuccess args),
+#endif
State.numSuccessTests = 0,
State.numDiscardedTests = 0,
State.classes = mempty,
@@ -59,6 +65,7 @@ property name prop = Chell.test name $ \opts -> Text.withNullTerminal $ \term ->
Test.GaveUp {} -> Chell.TestAborted notes output
Test.NoExpectedFailure {} -> Chell.TestFailed notes [failure]
+#if !MIN_VERSION_QuickCheck(2,15,0)
-- copied from quickcheck-2.4.1.1/src/Test/QuickCheck/Test.hs
computeSize :: Int -> Int -> Int -> Int -> Int
computeSize maxSize maxSuccess n d
@@ -79,3 +86,4 @@ computeSize maxSize maxSuccess n d
roundTo :: Int -> Int -> Int
roundTo n m = (n `div` m) * m
+#endif
diff --git a/chell-quickcheck.cabal b/chell-quickcheck.cabal
index e854412..1f3a1d9 100644
--- a/chell-quickcheck.cabal
+++ b/chell-quickcheck.cabal
@@ -34,7 +34,7 @@ library
build-depends:
, base ^>= 4.16 || ^>= 4.17 || ^>= 4.18 || ^>= 4.19 || ^>= 4.20 || ^>= 4.21
, chell ^>= 0.5
- , QuickCheck ^>= 2.14.2
+ , QuickCheck ^>= 2.14.2 || ^>= 2.15.0
, random ^>= 1.2.1 || ^>= 1.3.0
exposed-modules:

View File

@@ -4,7 +4,7 @@
# number of sections)
'$(TEST_HC)' $(TEST_HC_OPTS) Generate.hs
./Generate > ManySections.s
+ echo '.section .note.GNU-stack,"",@progbits' > ManySections.s
+ echo '.section .note.GNU-stack,"",@progbits' >> ManySections.s
echo 'main = putStrLn "Running main..."' > Main.hs
'$(TEST_HC)' $(TEST_HC_OPTS) -c ManySections.s
'$(TEST_HC)' $(TEST_HC_OPTS) --make -O Main.hs ManySections.o

View File

@@ -1653,13 +1653,13 @@ tiled on several screens.")
(define-public ghc-xmobar
(package
(name "ghc-xmobar")
(version "0.48.1")
(version "0.50")
(source (origin
(method url-fetch)
(uri (hackage-uri "xmobar" version))
(sha256
(base32
"1infcisv7l00a4z4byjwjisg4yndk0cymibfii1c7yzyzrlvavhl"))))
"026s0q718z89vzjgva19vg58dm1l016i67mzi0wbj7kgai89w909"))))
(build-system haskell-build-system)
(properties '((upstream-name . "xmobar")))
(native-inputs

View File

@@ -84,7 +84,6 @@ and parameters ~s~%"
(lib (assoc-ref outputs "lib"))
(name-version (strip-store-file-name out))
(extra-dirs (filter-map (cut assoc-ref inputs <>) extra-directories))
(ghc-path (getenv "GHC_PACKAGE_PATH"))
(params `(,(string-append "--prefix=" out)
,(string-append "--libdir=" (or lib out) "/lib")
,(string-append "--docdir=" (or doc out)
@@ -120,9 +119,7 @@ and parameters ~s~%"
;; <https://www.haskell.org/cabal/users-guide/developing-packages.html>.
(when (file-exists? "configure")
(setenv "CONFIG_SHELL" "sh"))
(run-setuphs "configure" params)
(setenv "GHC_PACKAGE_PATH" ghc-path)))
(run-setuphs "configure" params)))
(define* (build #:key parallel-build? #:allow-other-keys)
"Build a given Haskell package."

View File

@@ -50,7 +50,7 @@
(make-parameter "https://www.stackage.org/api/v1/snapshot"))
;; Latest LTS version compatible with current GHC.
(define %default-lts-version "20.26")
(define %default-lts-version "24.9")
(define-json-mapping <stackage-lts> make-stackage-lts
stackage-lts?