From 07494f99f6093a65a9110896151407b89a7df996 Mon Sep 17 00:00:00 2001 From: maralorn Date: Tue, 20 Aug 2024 00:32:18 +0200 Subject: [PATCH 01/22] haskellPackages: stackage LTS 22.31 -> LTS 22.33 This commit has been generated by maintainers/scripts/haskell/update-stackage.sh --- .../configuration-hackage2nix/stackage.yaml | 36 ++++++++++--------- 1 file changed, 19 insertions(+), 17 deletions(-) diff --git a/pkgs/development/haskell-modules/configuration-hackage2nix/stackage.yaml b/pkgs/development/haskell-modules/configuration-hackage2nix/stackage.yaml index 12634d4e314cd..4384b2254f463 100644 --- a/pkgs/development/haskell-modules/configuration-hackage2nix/stackage.yaml +++ b/pkgs/development/haskell-modules/configuration-hackage2nix/stackage.yaml @@ -1,4 +1,4 @@ -# Stackage LTS 22.31 +# Stackage LTS 22.33 # This file is auto-generated by # maintainers/scripts/haskell/update-stackage.sh default-package-overrides: @@ -419,7 +419,7 @@ default-package-overrides: - autodocodec-yaml ==0.2.0.3 - autoexporter ==2.0.0.12 - auto-update ==0.1.6 - - avro ==0.6.2.0 + - avro ==0.6.2.1 - aws ==0.24.1 - aws-cloudfront-signed-cookies ==0.2.0.12 - aws-sns-verify ==0.0.0.3 @@ -603,7 +603,7 @@ default-package-overrides: - case-insensitive ==1.2.1.0 - cases ==0.1.4.3 - casing ==0.1.4.1 - - cassava ==0.5.3.1 + - cassava ==0.5.3.2 - cassava-conduit ==0.6.6 - cassava-megaparsec ==2.0.4 - cast ==0.1.0.2 @@ -1084,11 +1084,11 @@ default-package-overrides: - fields-json ==0.4.0.0 - file-embed ==0.0.16.0 - file-embed-lzma ==0.0.1 - - file-io ==0.1.2 + - file-io ==0.1.4 - filelock ==0.1.1.7 - filemanip ==0.3.6.3 - file-modules ==0.1.2.4 - - filepath-bytestring ==1.4.2.1.13 + - filepath-bytestring ==1.4.100.3.2 - file-path-th ==0.1.0.0 - filepattern ==0.1.3 - fileplow ==0.1.0.0 @@ -1334,7 +1334,7 @@ default-package-overrides: - handwriting ==0.1.0.3 - happstack-jmacro ==7.0.12.6 - happstack-server ==7.8.0.2 - - happstack-server-tls ==7.2.1.5 + - happstack-server-tls ==7.2.1.6 - happy ==1.20.1.1 - happy-meta ==0.2.1.0 - HasBigDecimal ==0.2.0.0 @@ -1373,7 +1373,7 @@ default-package-overrides: - hasty-hamiltonian ==1.3.4 - HaTeX ==3.22.4.2 - HaXml ==1.25.13 - - haxr ==3000.11.5 + - haxr ==3000.11.5.1 - HCodecs ==0.5.2 - hdaemonize ==0.5.7 - HDBC ==2.4.0.4 @@ -1418,7 +1418,7 @@ default-package-overrides: - hledger-iadd ==1.3.20 - hledger-interest ==1.6.6 - hledger-lib ==1.32.3 - - hledger-stockquotes ==0.1.2.1 + - hledger-stockquotes ==0.1.3.1 - hledger-web ==1.32.3 - hlibcpuid ==0.2.0 - hlibgit2 ==0.18.0.16 @@ -1969,7 +1969,7 @@ default-package-overrides: - mongoDB ==2.7.1.4 - monoidal-containers ==0.6.5.0 - monoidal-functors ==0.2.3.0 - - monoid-extras ==0.6.2 + - monoid-extras ==0.6.3 - monoid-subclasses ==1.2.5.1 - monoid-transformer ==0.0.4 - monomer ==1.6.0.1 @@ -2083,7 +2083,7 @@ default-package-overrides: - numeric-prelude ==0.4.4 - numeric-quest ==0.2.0.2 - numhask ==0.11.1.0 - - numhask-array ==0.11.0.1 + - numhask-array ==0.11.1.0 - numhask-space ==0.11.1.0 - NumInstances ==1.4 - numtype-dk ==0.5.0.3 @@ -2229,6 +2229,7 @@ default-package-overrides: - persistent-template ==2.12.0.0 - persistent-test ==2.13.1.3 - persistent-typed-db ==0.1.0.7 + - pfile ==0.1.0.1 - pg-harness-client ==0.6.0 - pg-transact ==0.3.2.0 - phantom-state ==0.2.1.4 @@ -2253,6 +2254,7 @@ default-package-overrides: - pipes-safe ==2.3.5 - pipes-text ==1.0.1 - pipes-wai ==3.2.0 + - pipes-zlib ==0.4.4.2 - pkgtreediff ==0.6.0 - place-cursor-at ==1.0.1 - placeholders ==0.1 @@ -2498,7 +2500,7 @@ default-package-overrides: - rosezipper ==0.2 - rot13 ==0.2.0.1 - row-types ==1.0.1.2 - - rpmbuild-order ==0.4.11 + - rpmbuild-order ==0.4.12 - rpm-nvr ==0.1.2 - rp-tree ==0.7.1 - rrb-vector ==0.2.1.0 @@ -2572,7 +2574,7 @@ default-package-overrides: - seqalign ==0.2.0.4 - seqid ==0.6.3 - seqid-streams ==0.7.2 - - sequence-formats ==1.8.0.1 + - sequence-formats ==1.8.1.0 - sequenceTools ==1.5.3.1 - serialise ==0.2.6.1 - servant ==0.20.1 @@ -2628,7 +2630,7 @@ default-package-overrides: - shake-language-c ==0.12.0 - shake-plus ==0.3.4.0 - shake-plus-extended ==0.4.1.0 - - shakespeare ==2.1.0.1 + - shakespeare ==2.1.1 - shakespeare-text ==1.1.0 - shared-memory ==0.2.0.1 - shell-conduit ==5.0.0 @@ -2886,7 +2888,7 @@ default-package-overrides: - teardown ==0.5.0.1 - tempgres-client ==1.0.0 - template ==0.2.0.10 - - template-haskell-compat-v0208 ==0.1.9.3 + - template-haskell-compat-v0208 ==0.1.9.4 - temporary ==1.3 - temporary-rc ==1.2.0.3 - temporary-resourcet ==0.1.0.1 @@ -3147,7 +3149,7 @@ default-package-overrides: - vector-buffer ==0.4.1 - vector-builder ==0.3.8.5 - vector-bytes-instances ==0.1.1 - - vector-extras ==0.2.8.1 + - vector-extras ==0.2.8.2 - vector-hashtables ==0.1.2.0 - vector-instances ==3.4.2 - vector-mmap ==0.0.3 @@ -3245,7 +3247,7 @@ default-package-overrides: - writer-cps-transformers ==0.5.6.1 - ws ==0.0.6 - wss-client ==0.3.0.0 - - wuss ==2.0.1.9 + - wuss ==2.0.2.0 - X11 ==1.10.3 - X11-xft ==0.3.4 - x11-xim ==0.0.9.0 @@ -3280,7 +3282,7 @@ default-package-overrides: - xxhash-ffi ==0.2.0.0 - yaml ==0.11.11.2 - yaml-unscrambler ==0.1.0.19 - - Yampa ==0.14.9 + - Yampa ==0.14.10 - yarn-lock ==0.6.5 - yeshql-core ==4.2.0.0 - yesod ==1.6.2.1 From 299d0e8ce55897cf14d128cea2f3d07570ea20ba Mon Sep 17 00:00:00 2001 From: maralorn Date: Tue, 20 Aug 2024 00:32:30 +0200 Subject: [PATCH 02/22] all-cabal-hashes: 2024-07-31T18:11:52Z -> 2024-08-19T17:17:03Z This commit has been generated by maintainers/scripts/haskell/update-hackage.sh --- pkgs/data/misc/hackage/pin.json | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/pkgs/data/misc/hackage/pin.json b/pkgs/data/misc/hackage/pin.json index c1ad4080dd81c..6449d77aee043 100644 --- a/pkgs/data/misc/hackage/pin.json +++ b/pkgs/data/misc/hackage/pin.json @@ -1,6 +1,6 @@ { - "commit": "32e512a9cd79f962a8023e1c8c1a4db17d9b2fd8", - "url": "https://github.com/commercialhaskell/all-cabal-hashes/archive/32e512a9cd79f962a8023e1c8c1a4db17d9b2fd8.tar.gz", - "sha256": "1wiy2fsz8a1gx6mbzq8ns6wvns6kh2aigxczw0f9q7qbkd22kdil", - "msg": "Update from Hackage at 2024-07-31T18:11:52Z" + "commit": "4670ba3f52eae6737137ddcb817182f3daad4f26", + "url": "https://github.com/commercialhaskell/all-cabal-hashes/archive/4670ba3f52eae6737137ddcb817182f3daad4f26.tar.gz", + "sha256": "18q5shdmh12147502135q6132rmzp29qfjhwrcjwidl0pi9ki70i", + "msg": "Update from Hackage at 2024-08-19T17:17:03Z" } From fbb895e278eb1cefee09bb67d078c245f217057b Mon Sep 17 00:00:00 2001 From: maralorn Date: Tue, 20 Aug 2024 00:33:35 +0200 Subject: [PATCH 03/22] haskellPackages: regenerate package set based on current config This commit has been generated by maintainers/scripts/haskell/regenerate-hackage-packages.sh --- .../haskell-modules/hackage-packages.nix | 2123 ++++++++++++----- 1 file changed, 1509 insertions(+), 614 deletions(-) diff --git a/pkgs/development/haskell-modules/hackage-packages.nix b/pkgs/development/haskell-modules/hackage-packages.nix index 067237427b2d5..44ca3cf8bbacf 100644 --- a/pkgs/development/haskell-modules/hackage-packages.nix +++ b/pkgs/development/haskell-modules/hackage-packages.nix @@ -814,16 +814,14 @@ self: { , containers, data-hash, deepseq, directory, dlist, edit-distance , emacs, equivalence, exceptions, filepath, ghc-compact, gitrev , happy, hashable, haskeline, monad-control, mtl, murmur-hash - , parallel, peano, pretty, process, regex-tdfa, split, stm - , STMonadTrans, strict, text, time, time-compat, transformers + , parallel, peano, pqueue, pretty, process, regex-tdfa, split, stm + , STMonadTrans, strict, text, time, transformers , unordered-containers, uri-encode, vector, vector-hashtables, zlib }: mkDerivation { pname = "Agda"; - version = "2.6.4.3"; - sha256 = "18h3vwj182sp6pkh4274x0b3qg3cn3v0571jicabqhvxqmpckvbl"; - revision = "1"; - editedCabalFile = "0z1zbj4gba5xqgrb3lz3fpmsv6mv8zyrhvl4338k8xc22m5ns1m8"; + version = "2.7.0"; + sha256 = "005rsk46b7rl516n58cfzg5aqzqwb1gkz7wpz2lqg0qlrlw0jyh0"; isLibrary = true; isExecutable = true; enableSeparateDataOutput = true; @@ -833,8 +831,8 @@ self: { bytestring case-insensitive containers data-hash deepseq directory dlist edit-distance equivalence exceptions filepath ghc-compact gitrev hashable haskeline monad-control mtl murmur-hash parallel - peano pretty process regex-tdfa split stm STMonadTrans strict text - time time-compat transformers unordered-containers uri-encode + peano pqueue pretty process regex-tdfa split stm STMonadTrans + strict text time transformers unordered-containers uri-encode vector vector-hashtables zlib ]; libraryToolDepends = [ alex happy ]; @@ -2127,7 +2125,7 @@ self: { license = lib.licenses.mit; }) {}; - "Blammo_2_0_0_0" = callPackage + "Blammo_2_1_0_0" = callPackage ({ mkDerivation, aeson, base, bytestring, containers, dlist , envparse, exceptions, fast-logger, hspec, lens, markdown-unlit , monad-logger-aeson, mtl, text, time, unliftio, unliftio-core @@ -2135,8 +2133,8 @@ self: { }: mkDerivation { pname = "Blammo"; - version = "2.0.0.0"; - sha256 = "1f51pyvxq5is5j942b0iqbadnkdjxb8gyzcqvb0wic9ba594hwkn"; + version = "2.1.0.0"; + sha256 = "0cdif1n1s7isqhfdwk3azdbipwpsxzf7g274hllclx9fbg6l48y9"; libraryHaskellDepends = [ aeson base bytestring containers dlist envparse exceptions fast-logger lens monad-logger-aeson mtl text time unliftio @@ -2159,8 +2157,8 @@ self: { }: mkDerivation { pname = "Blammo-wai"; - version = "0.0.0.1"; - sha256 = "1w63xyjsrhn2hsi0gw2xca8464r4mk3sj3bwkidsa28m73xz93xb"; + version = "0.0.0.2"; + sha256 = "1yblxnjfmcjnlr76b1vs9wdjq9rnm3mgjhi3f472a69v1pbg9ngi"; libraryHaskellDepends = [ aeson base Blammo bytestring case-insensitive clock http-types monad-logger-aeson text unliftio-core wai @@ -11510,6 +11508,21 @@ self: { license = lib.licenses.publicDomain; }) {inherit (pkgs) openssl;}; + "HsOpenSSL_0_11_7_8" = callPackage + ({ mkDerivation, base, bytestring, Cabal, network, openssl, time }: + mkDerivation { + pname = "HsOpenSSL"; + version = "0.11.7.8"; + sha256 = "0y46ygdyi195d2ns74gbyabwrvnh5w10xqxdd6jrw43f70jsa5xw"; + setupHaskellDepends = [ base Cabal ]; + libraryHaskellDepends = [ base bytestring network time ]; + librarySystemDepends = [ openssl ]; + testHaskellDepends = [ base bytestring ]; + description = "Partial OpenSSL binding for Haskell"; + license = lib.licenses.publicDomain; + hydraPlatforms = lib.platforms.none; + }) {inherit (pkgs) openssl;}; + "HsOpenSSL-x509-system" = callPackage ({ mkDerivation, base, bytestring, HsOpenSSL, unix }: mkDerivation { @@ -14353,8 +14366,8 @@ self: { }: mkDerivation { pname = "MicroHs"; - version = "0.9.14.0"; - sha256 = "0b5bivfis0xc81nnld82jgwcpk6mkpcn09w00l53fab2a88jkxq0"; + version = "0.9.16.0"; + sha256 = "0p3lzl1yh1r25s7mr0pipf6ym56syydi9ljbkyfp1i0yv4ynqy17"; isLibrary = false; isExecutable = true; enableSeparateDataOutput = true; @@ -23343,8 +23356,8 @@ self: { }: mkDerivation { pname = "Yampa"; - version = "0.14.9"; - sha256 = "0khlr63l3xrhylapr5ql62b3kzfak97vlz1cjd15pzfain7pvbds"; + version = "0.14.10"; + sha256 = "1la2v70pzjmvw4j0v5sacb6vxclby86jx68jq6czzxyrl8ydijzc"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ @@ -26106,6 +26119,8 @@ self: { pname = "aeson"; version = "2.2.3.0"; sha256 = "1akbrh8iz47f0ai30yabg1n4vcf1fx0a9gzj45fx0si553s5r8ns"; + revision = "1"; + editedCabalFile = "0q1nw6p4p0c4mjgi4hmiqj7npb5kbdsdbprq90a7mn5qnnfd4rpg"; libraryHaskellDepends = [ base bytestring character-ps containers data-fix deepseq dlist exceptions generically ghc-prim hashable indexed-traversable @@ -37206,6 +37221,19 @@ self: { mainProgram = "ironforge-yesod"; }) {}; + "antelude" = callPackage + ({ mkDerivation, array, base, bytestring, containers, HUnit, text + }: + mkDerivation { + pname = "antelude"; + version = "0.1.0"; + sha256 = "1wzv4i5bcpkn0vij5z7abn1y323bnpbfjjlc6qfjcjh9857jm632"; + libraryHaskellDepends = [ array base bytestring containers text ]; + testHaskellDepends = [ base HUnit ]; + description = "Yet another alternative Prelude for Haskell"; + license = lib.licenses.mit; + }) {}; + "antfarm" = callPackage ({ mkDerivation, base, containers, HUnit, minimorph, mtl, parsec , test-framework, test-framework-hunit, text, transformers @@ -38703,16 +38731,16 @@ self: { "apple" = callPackage ({ mkDerivation, alex, array, base, bytestring, c2hs , composition-prelude, containers, cpphs, criterion, deepseq - , directory, dom-lt, erf, extra, filepath, happy, haskeline - , hypergeometric, libffi, microlens, microlens-mtl, mtl + , directory, dom-lt, erf, extra, fast-arithmetic, filepath, happy + , haskeline, hypergeometric, libffi, microlens, microlens-mtl, mtl , optparse-applicative, prettyprinter, process, QuickCheck, split - , statistics, tasty, tasty-hunit, temporary, text, transformers - , unix + , statistics, tasty, tasty-hunit, tasty-quickcheck, temporary, text + , transformers, unix }: mkDerivation { pname = "apple"; - version = "0.1.0.0"; - sha256 = "02xrw3q1i4aswbvvzl8rv9v2vwhyk86i3yklwqwpc9jh7bxh8262"; + version = "0.2.0.0"; + sha256 = "0si1yqwplmxggfd4gifakk9hy2fwycgb4m6vhmzwpx08gjwdls08"; isLibrary = true; isExecutable = true; enableSeparateDataOutput = true; @@ -38728,8 +38756,9 @@ self: { split text transformers ]; testHaskellDepends = [ - base bytestring directory filepath hypergeometric process tasty - tasty-hunit temporary text + base bytestring directory fast-arithmetic filepath hypergeometric + process QuickCheck tasty tasty-hunit tasty-quickcheck temporary + text ]; testToolDepends = [ cpphs ]; benchmarkHaskellDepends = [ @@ -41604,8 +41633,8 @@ self: { pname = "async"; version = "2.2.5"; sha256 = "1xqnixmcxbird7rxl124bn5swpyyxxx2jxpdsbx2l8drp8z4f60q"; - revision = "1"; - editedCabalFile = "1y1cd3dkllrwbqj9ca8rr4vv2v751vrvia0kkq4qv5ajbxh9wpcx"; + revision = "2"; + editedCabalFile = "0ddz3q3b478ahz8q0b3ni2b3ikw1sjc2p89j1p530670m3xnm7ng"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ base hashable stm ]; @@ -43308,18 +43337,18 @@ self: { license = lib.licenses.mit; }) {}; - "autodocodec_0_4_0_0" = callPackage - ({ mkDerivation, aeson, base, bytestring, containers, doctest - , hashable, mtl, scientific, text, time, unordered-containers - , validity, validity-scientific, vector + "autodocodec_0_4_2_0" = callPackage + ({ mkDerivation, aeson, base, bytestring, containers, dlist + , doctest, hashable, mtl, scientific, text, time + , unordered-containers, validity, validity-scientific, vector }: mkDerivation { pname = "autodocodec"; - version = "0.4.0.0"; - sha256 = "0rlv4w51is5fis2vi58wgyldsr5wv5qyiv3js5nx8zp594sh9xrm"; + version = "0.4.2.0"; + sha256 = "041lkn9msxgbq9fkn90a44j3cygn98l6c90f7mjwzg6a2519r6fh"; libraryHaskellDepends = [ - aeson base bytestring containers hashable mtl scientific text time - unordered-containers validity validity-scientific vector + aeson base bytestring containers dlist hashable mtl scientific text + time unordered-containers validity validity-scientific vector ]; testHaskellDepends = [ base doctest ]; description = "Self-documenting encoder and decoder"; @@ -43472,15 +43501,15 @@ self: { license = lib.licenses.mit; }) {}; - "autodocodec-yaml_0_3_0_2" = callPackage + "autodocodec-yaml_0_4_0_0" = callPackage ({ mkDerivation, autodocodec, autodocodec-schema, base, bytestring , containers, path, path-io, safe-coloured-text, scientific, text , vector, yaml }: mkDerivation { pname = "autodocodec-yaml"; - version = "0.3.0.2"; - sha256 = "1jy7wzbndjvkdkfjxbcbz7r1x3c7dpnqjzyvm1n92fbj74f4n9rz"; + version = "0.4.0.0"; + sha256 = "1al2k668czis10klcicrxns89nks7b6b003wrpgaa0alx2imjsy1"; libraryHaskellDepends = [ autodocodec autodocodec-schema base bytestring containers path path-io safe-coloured-text scientific text vector yaml @@ -43950,8 +43979,8 @@ self: { "avro" = callPackage ({ mkDerivation, aeson, array, base, base16-bytestring, bifunctors - , binary, bytestring, containers, data-binary-ieee754, deepseq - , directory, doctest, doctest-discover, extra, fail, gauge + , binary, bytestring, containers, criterion, data-binary-ieee754 + , deepseq, directory, doctest, doctest-discover, extra, fail , generic-lens, HasBigDecimal, hashable, hedgehog, hspec , hspec-discover, hw-hspec-hedgehog, lens, lens-aeson, mtl , QuickCheck, random, raw-strings-qq, scientific, semigroups @@ -43960,8 +43989,8 @@ self: { }: mkDerivation { pname = "avro"; - version = "0.6.2.0"; - sha256 = "078616j4lz6kdakdckbyipgan0ldnvfs3314flavcgmwi1fnv89a"; + version = "0.6.2.1"; + sha256 = "0ng8kyc4xi8nirkl387gyi0daw8sxki701q169llcx51abf7jaqf"; libraryHaskellDepends = [ aeson array base base16-bytestring bifunctors binary bytestring containers data-binary-ieee754 deepseq fail HasBigDecimal hashable @@ -43979,8 +44008,9 @@ self: { ]; testToolDepends = [ doctest-discover hspec-discover ]; benchmarkHaskellDepends = [ - aeson base binary bytestring containers deepseq gauge hashable mtl - random raw-strings-qq text transformers unordered-containers vector + aeson base binary bytestring containers criterion deepseq hashable + mtl random raw-strings-qq text transformers unordered-containers + vector ]; description = "Avro serialization support for Haskell"; license = lib.licenses.bsd3; @@ -45360,6 +45390,21 @@ self: { mainProgram = "babylon"; }) {}; + "babynf" = callPackage + ({ mkDerivation, attoparsec, base, bytestring, tasty, tasty-hunit + }: + mkDerivation { + pname = "babynf"; + version = "0.1.0.2"; + sha256 = "0p84scb30ddgyxbvq4pshimsqzk0qc0x02f7bq4vjd1s6zba7r0i"; + libraryHaskellDepends = [ attoparsec base bytestring ]; + testHaskellDepends = [ + attoparsec base bytestring tasty tasty-hunit + ]; + description = "Library for generating parsers from ABNF"; + license = lib.licenses.mit; + }) {}; + "backblaze-b2-hs" = callPackage ({ mkDerivation, aeson, base, base64-bytestring, bytestring , case-insensitive, conduit, containers, cryptonite, formatting @@ -49156,6 +49201,8 @@ self: { pname = "binary-instances"; version = "1.0.5"; sha256 = "01ycp0dn96n4zavrw1rr5ly0isr3kq16jihwcdg6c022v9w73wkf"; + revision = "1"; + editedCabalFile = "1wxcp6cy7lp3bbn45jlihqdl43ix84szs55n7vwd5vjxvs695hjl"; libraryHaskellDepends = [ aeson base binary binary-orphans case-insensitive hashable primitive scientific tagged text time-compat unordered-containers @@ -51454,8 +51501,8 @@ self: { }: mkDerivation { pname = "bitfield"; - version = "0.0.0.0"; - sha256 = "1b9jqbcyzp1ajcgjiipjgn1h514kl6zav4ai474x6xalhvwfcpx9"; + version = "0.0.0.1"; + sha256 = "17x4i0i4ndmzhx0xbh78m57iwqbgl0md74hvqxnmxllnjg93bxm1"; libraryHaskellDepends = [ base ]; testHaskellDepends = [ base genvalidity genvalidity-sydtest QuickCheck sydtest validity @@ -52915,6 +52962,35 @@ self: { license = lib.licenses.bsd3; }) {}; + "bloodhound_0_22_0_0" = callPackage + ({ mkDerivation, aeson, base, blaze-builder, bytestring, containers + , errors, exceptions, generic-random, hashable, hspec, http-client + , http-types, microlens, microlens-aeson, mtl, network-uri + , pretty-simple, QuickCheck, quickcheck-properties, scientific + , semigroups, semver, temporary, text, time, transformers + , unix-compat, unordered-containers, vector + }: + mkDerivation { + pname = "bloodhound"; + version = "0.22.0.0"; + sha256 = "0w96zrv2rrhwiahf2x619l2ivqrj5jnih5ck216wrnzj6axlh9j4"; + libraryHaskellDepends = [ + aeson base blaze-builder bytestring containers exceptions hashable + http-client http-types mtl network-uri scientific semigroups semver + text time transformers unordered-containers vector + ]; + testHaskellDepends = [ + aeson base blaze-builder bytestring containers errors exceptions + generic-random hashable hspec http-client http-types microlens + microlens-aeson mtl network-uri pretty-simple QuickCheck + quickcheck-properties scientific semigroups semver temporary text + time transformers unix-compat unordered-containers vector + ]; + description = "Elasticsearch client library for Haskell"; + license = lib.licenses.bsd3; + hydraPlatforms = lib.platforms.none; + }) {}; + "bloodhound-amazonka-auth" = callPackage ({ mkDerivation, aeson, amazonka, amazonka-core , amazonka-elasticsearch, base, bloodhound, exceptions, http-client @@ -53140,8 +53216,8 @@ self: { ({ mkDerivation, bluefin-internal }: mkDerivation { pname = "bluefin"; - version = "0.0.6.0"; - sha256 = "17w2830azxwals84hza77rpglz4bq6q3109h7wxnbvc9vcjy39ya"; + version = "0.0.6.1"; + sha256 = "1ihs05h8mbp205swlx2zbh3fi2d9m33sg06d43nqxmrgdvbh57rd"; libraryHaskellDepends = [ bluefin-internal ]; description = "The Bluefin effect system"; license = lib.licenses.mit; @@ -53170,10 +53246,8 @@ self: { }: mkDerivation { pname = "bluefin-internal"; - version = "0.0.6.0"; - sha256 = "0z7c7aalgs02asqp2nz9f0hcdxgwyxd3qnklq5h73f2lkyy4qi3p"; - revision = "1"; - editedCabalFile = "0miyxxmdsyaq740na4z7a3qqjgcy8yvmx6sn9fjydlgsban37kdr"; + version = "0.0.6.1"; + sha256 = "12k7h2qs912nyy482h2cddwp0xafdk8pj7zc983lhw07pwdy0mi4"; libraryHaskellDepends = [ base monad-control transformers transformers-base unliftio-core ]; @@ -54365,10 +54439,8 @@ self: { }: mkDerivation { pname = "bound-extras"; - version = "0.0.2"; - sha256 = "1mrsr75yd55p3rgqqjlhs0f498qgbmj12ldadj4frmkhjqf3vf9y"; - revision = "3"; - editedCabalFile = "0b5zywbbps0j7m3cndgwvg8d8kgcyvi4rnmnv2shavlhwnjlbawa"; + version = "0.0.3"; + sha256 = "1apzrjalgdsjcx0c3251hfwgqw5ard3vxqm6zfg3f9wlfy58vp6q"; libraryHaskellDepends = [ base bound deepseq hashable transformers ]; @@ -54732,33 +54804,35 @@ self: { "brassica" = callPackage ({ mkDerivation, aeson, attoparsec-aeson, base, bytestring, conduit - , conduit-extra, containers, criterion, deepseq, file-embed - , megaparsec, mtl, optparse-applicative, parser-combinators, split - , tasty, tasty-golden, text, transformers, utf8-string, vector + , conduit-extra, containers, criterion, deepseq, fast-myers-diff + , file-embed, megaparsec, mtl, optparse-applicative, parallel + , parser-combinators, split, tasty, tasty-golden, text + , transformers, utf8-string, vector }: mkDerivation { pname = "brassica"; - version = "0.2.0"; - sha256 = "11myl3ir4vla6d6cvhfrjxvsfxvasj109ljxa0kjiyrqjhrv0s1z"; + version = "0.3.0"; + sha256 = "10ydb5w79y1jqa34mzrdl7s8ns29w1vxplv55ik51mkayclfgx3n"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ - base containers deepseq megaparsec mtl parser-combinators split - transformers vector + base containers deepseq fast-myers-diff megaparsec mtl + parser-combinators split transformers vector ]; executableHaskellDepends = [ aeson attoparsec-aeson base bytestring conduit conduit-extra - deepseq optparse-applicative text + deepseq optparse-applicative parallel text ]; testHaskellDepends = [ base bytestring conduit tasty tasty-golden text transformers utf8-string ]; - benchmarkHaskellDepends = [ base criterion file-embed text ]; + benchmarkHaskellDepends = [ + base criterion file-embed parallel text + ]; description = "Featureful sound change applier"; license = lib.licenses.bsd3; hydraPlatforms = lib.platforms.none; - mainProgram = "brassica"; broken = true; }) {}; @@ -58630,19 +58704,19 @@ self: { "cabal-flatpak" = callPackage ({ mkDerivation, aeson, aeson-pretty, base, bytestring, cabal-plan - , containers, cryptohash-sha256, http-client, http-client-tls - , http-types, optparse-applicative, pathtype, shell-utility, tar - , text, utility-ht, yaml, zlib + , containers, cryptohash-sha256, directory, http-client + , http-client-tls, http-types, optparse-applicative, pathtype + , shell-utility, tar, text, utility-ht, yaml, zlib }: mkDerivation { pname = "cabal-flatpak"; - version = "0.1.1"; - sha256 = "0p54np4q1xfqja0vxpin61pr6imligscxwpqk0fjz38idqa2ys56"; + version = "0.1.2"; + sha256 = "05ig175b2glxppn5wr05pnncqkp8yhhy1m7ymmc1jk5pmiy3zvzi"; isLibrary = false; isExecutable = true; executableHaskellDepends = [ aeson aeson-pretty base bytestring cabal-plan containers - cryptohash-sha256 http-client http-client-tls http-types + cryptohash-sha256 directory http-client http-client-tls http-types optparse-applicative pathtype shell-utility tar text utility-ht yaml zlib ]; @@ -59265,23 +59339,22 @@ self: { mainProgram = "cabal-rpm"; }) {}; - "cabal-rpm_2_2_0" = callPackage + "cabal-rpm_2_2_1" = callPackage ({ mkDerivation, aeson, base, bytestring, Cabal, cached-json-file , directory, extra, filepath, http-client, http-client-tls - , http-conduit, http-query, optparse-applicative, process - , simple-cabal, simple-cmd, simple-cmd-args, text, time, unix + , http-query, simple-cabal, simple-cmd, simple-cmd-args, text, time + , unix }: mkDerivation { pname = "cabal-rpm"; - version = "2.2.0"; - sha256 = "1lrcqgbl3l6if9sa5qylm87yssl5gsinnidzx19q6z2nm5wbnyh7"; + version = "2.2.1"; + sha256 = "0dsbnnvzss0flknf1c2fq85y9a4d26nbrlnrh2xcyfwh2mz20c9d"; isLibrary = false; isExecutable = true; executableHaskellDepends = [ aeson base bytestring Cabal cached-json-file directory extra - filepath http-client http-client-tls http-conduit http-query - optparse-applicative process simple-cabal simple-cmd - simple-cmd-args text time unix + filepath http-client http-client-tls http-query simple-cabal + simple-cmd simple-cmd-args text time unix ]; description = "RPM packaging tool for Haskell Cabal-based packages"; license = lib.licenses.gpl3Only; @@ -61003,6 +61076,8 @@ self: { pname = "cantor-pairing"; version = "0.2.0.2"; sha256 = "1h95xbc1lhwd40qk64qw2cmr7prwygli1q2wy5hscny7jyah95c2"; + revision = "1"; + editedCabalFile = "10dsxgdpxa5hxz5zrij8h2whwsz0l1fvkkwdmidqpv09is55wmz5"; libraryHaskellDepends = [ base containers integer-gmp integer-logarithms integer-roots ]; @@ -62100,8 +62175,8 @@ self: { }: mkDerivation { pname = "cassava"; - version = "0.5.3.1"; - sha256 = "14kz47i6f9c747h2mf8cf6r22gib4a2ggh57fviz0z9sr6y760av"; + version = "0.5.3.2"; + sha256 = "1jd9s10z2y3hizrpy3iaw2vvqmk342zxhwkky57ba39cbli5vlis"; configureFlags = [ "-f-bytestring--lt-0_10_4" ]; libraryHaskellDepends = [ array attoparsec base bytestring containers deepseq hashable Only @@ -62588,6 +62663,29 @@ self: { hydraPlatforms = lib.platforms.none; }) {}; + "cauldron" = callPackage + ({ mkDerivation, algebraic-graphs, base, bytestring, containers + , multicurryable, sop-core, tasty, tasty-hunit, text, transformers + }: + mkDerivation { + pname = "cauldron"; + version = "0.4.0.0"; + sha256 = "1apyjq74xscjzc03wibv9zm0kzqggm8rw0jg52xb8lj5bh5wxgmj"; + isLibrary = true; + isExecutable = true; + libraryHaskellDepends = [ + algebraic-graphs base bytestring containers multicurryable sop-core + text + ]; + executableHaskellDepends = [ base ]; + testHaskellDepends = [ + base containers tasty tasty-hunit text transformers + ]; + description = "Toy dependency injection framework"; + license = lib.licenses.bsd3; + mainProgram = "cauldron-example-wiring"; + }) {}; + "cautious" = callPackage ({ mkDerivation, aeson, base, transformers, validity }: mkDerivation { @@ -77993,8 +78091,8 @@ self: { }: mkDerivation { pname = "crdt-event-fold"; - version = "1.8.1.0"; - sha256 = "1lalg8gi8rcpgzangqbf9j51fpgdsq3k5j6wqbd45nbyyym5zmjj"; + version = "1.8.1.1"; + sha256 = "07nqvmlpbcy88k7lmwl5n0mq2n0lxq48nigyqgzibadwg3i20r8q"; libraryHaskellDepends = [ aeson base binary containers data-default-class data-dword exceptions monad-logger mtl transformers @@ -82877,8 +82975,8 @@ self: { ({ mkDerivation, base, hspec }: mkDerivation { pname = "data-elevator"; - version = "0.1.0.1"; - sha256 = "0j2adsqn3r23jjwl5p0kyf2z1wd2kibfqivdcchngsmf3yfr34sz"; + version = "0.1.0.2"; + sha256 = "109vff7i8jrz3n6748hj8vf1x4a8r91d2p1cwmcgs0rad536zl0m"; libraryHaskellDepends = [ base ]; testHaskellDepends = [ base hspec ]; description = "Coerce between unlifted boxed and lifted types"; @@ -86543,6 +86641,18 @@ self: { hydraPlatforms = lib.platforms.none; }) {}; + "delivery-status-notification" = callPackage + ({ mkDerivation, attoparsec, base, text }: + mkDerivation { + pname = "delivery-status-notification"; + version = "0.2.0.0"; + sha256 = "0vmvgwq9g3kqdmfqs4gg7h1a926jqg7g8n065qvq0b4c4pmn7dy1"; + libraryHaskellDepends = [ attoparsec base text ]; + testHaskellDepends = [ attoparsec base ]; + description = "Parse bounce messages per RFC3464, RFC3463"; + license = lib.licenses.bsd3; + }) {}; + "delta" = callPackage ({ mkDerivation, base, containers, directory, filepath, hspec , optparse-applicative, process, sodium, time @@ -88689,14 +88799,30 @@ self: { ({ mkDerivation, aeson, base, containers, QuickCheck, random }: mkDerivation { pname = "dhscanner-ast"; - version = "0.1.0.0"; - sha256 = "14qdx79rgz61ajiags6w8v5zzv95n0hng6y3amwz2dyki65sckah"; + version = "0.1.0.2"; + sha256 = "1q8wklhn4nyw2ryb8bdgfwvx4v5maf2minms5zkigqb1rh1snc8g"; libraryHaskellDepends = [ aeson base containers ]; testHaskellDepends = [ base QuickCheck random ]; description = "abstract syntax tree for multiple programming languages"; license = lib.licenses.gpl3Only; }) {}; + "dhscanner-bitcode" = callPackage + ({ mkDerivation, aeson, base, containers, dhscanner-ast, QuickCheck + , random + }: + mkDerivation { + pname = "dhscanner-bitcode"; + version = "0.1.0.1"; + sha256 = "036m2iix36ybcc8bqr9wz92rp4zq63qzyqgbm8bzk79zwdc432q2"; + libraryHaskellDepends = [ aeson base containers dhscanner-ast ]; + testHaskellDepends = [ + base containers dhscanner-ast QuickCheck random + ]; + description = "Intermediate language for static code analysis"; + license = lib.licenses.gpl3Only; + }) {}; + "di" = callPackage ({ mkDerivation, base, containers, df1, di-core, di-df1, di-handle , di-monad, exceptions @@ -88959,8 +89085,8 @@ self: { pname = "diagrams-cairo"; version = "1.4.2.1"; sha256 = "0fqma8m4xrqha079aqqynk23y252x47xfzvb0gss4bvgdmwa0lzc"; - revision = "2"; - editedCabalFile = "0fyy1iqfwzk1b4vvqnfh31gd8g8qjry7cc9g2nhg505rbafflcn5"; + revision = "3"; + editedCabalFile = "1qdx7k5z6bw70y6rmjs5pkwdypsmrl0gmp7qdjmsbkjv2sah7hq4"; libraryHaskellDepends = [ array base bytestring cairo colour containers data-default-class diagrams-core diagrams-lib filepath hashable JuicyPixels lens mtl @@ -92578,20 +92704,17 @@ self: { }) {}; "dns-patterns" = callPackage - ({ mkDerivation, attoparsec, base, bytestring, criterion, HUnit + ({ mkDerivation, attoparsec, base, bytestring, HUnit , parser-combinators, text }: mkDerivation { pname = "dns-patterns"; - version = "0.2.3"; - sha256 = "0vs3qn4pdpk13imxp8pz106ra504jwx629h62vv9z5nnjwq81d6y"; + version = "0.3.1"; + sha256 = "1b39ycdw9ws8sd6nxdcrk6snrl8yifda1a5n89fdpfvsaybhly83"; libraryHaskellDepends = [ attoparsec base bytestring parser-combinators text ]; testHaskellDepends = [ attoparsec base bytestring HUnit text ]; - benchmarkHaskellDepends = [ - attoparsec base bytestring criterion text - ]; description = "DNS name parsing and pattern matching utilities"; license = lib.licenses.bsd3; hydraPlatforms = lib.platforms.none; @@ -93247,7 +93370,7 @@ self: { mainProgram = "doctest"; }) {}; - "doctest_0_22_8" = callPackage + "doctest_0_22_9" = callPackage ({ mkDerivation, base, code-page, containers, deepseq, directory , exceptions, filepath, ghc, ghc-paths, hspec, hspec-core , hspec-discover, HUnit, mockery, process, QuickCheck, silently @@ -93255,8 +93378,8 @@ self: { }: mkDerivation { pname = "doctest"; - version = "0.22.8"; - sha256 = "1wa64p2myk2rcpyz7pn1d7mj28bl0n9nnjnzkm5q267rmsa5vhf6"; + version = "0.22.9"; + sha256 = "182952jr58hz83ckmbc33nwx9ndad808d8cn9z0ay7ds6p11i46s"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ @@ -95613,6 +95736,8 @@ self: { pname = "dupIO"; version = "0.1.0"; sha256 = "1j2xi1hskmgkknmg01fbkfa3ry2a1f7mzkvjhkqlsz27v3f3q4lm"; + revision = "1"; + editedCabalFile = "0hpph3a26q0jj0bhvxkngj02m5s3amibjgbazd7aq91phrhykz6z"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ base ghc-prim ]; @@ -100591,12 +100716,12 @@ self: { license = lib.licenses.bsd3; }) {}; - "envparse_0_5_2" = callPackage + "envparse_0_6_0" = callPackage ({ mkDerivation, base, containers, hspec, text }: mkDerivation { pname = "envparse"; - version = "0.5.2"; - sha256 = "1kc41wdl75qld93ch4cymji1sz72gpzs4yv7zak8cx4ha8wykns0"; + version = "0.6.0"; + sha256 = "1a46ljsrdha0pccfyxpii1lbwzbbj1960n5hcr47gdy1w3vcwjwk"; libraryHaskellDepends = [ base containers ]; testHaskellDepends = [ base containers hspec text ]; description = "Parse environment variables"; @@ -101083,8 +101208,8 @@ self: { }: mkDerivation { pname = "erebos"; - version = "0.1.5"; - sha256 = "0w4qxr527m6qda3b6s79iyg38ynz4kwjcddp1k5524pgzs3v62j9"; + version = "0.1.6"; + sha256 = "153akrq6541k5m0gwhdw6bgk83b9pj3gdmzi0gafgypp0lhrg1f2"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ @@ -101113,8 +101238,8 @@ self: { }: mkDerivation { pname = "erebos-tester"; - version = "0.2.2"; - sha256 = "156597h0sriwjm5rivlmvizn76i5c984bs87v39zj0yyr2qzk0f7"; + version = "0.2.4"; + sha256 = "1nfhkwva75qwrhmrhccvy52ga0fxig7ddqhgnl0cpcsll3hfkmdn"; isLibrary = false; isExecutable = true; executableHaskellDepends = [ @@ -102539,6 +102664,8 @@ self: { pname = "evdev"; version = "2.3.1.1"; sha256 = "1jq7ayi4rv8v02wyxva9776iqymv0ac1h7jbfxf96gmk5ifwyinf"; + revision = "1"; + editedCabalFile = "05v90azm7rfmzbcbm2rmbl20977nk1m41m0l8sryf64zk6sxpw3n"; libraryHaskellDepends = [ base bytestring containers extra filepath-bytestring monad-loops mtl rawfilepath time unix @@ -102556,17 +102683,15 @@ self: { "evdev-streamly" = callPackage ({ mkDerivation, base, bytestring, containers, evdev, extra - , filepath-bytestring, rawfilepath, streamly, streamly-fsnotify - , unix + , filepath-bytestring, mtl, rawfilepath, streamly + , streamly-fsnotify, unix }: mkDerivation { pname = "evdev-streamly"; - version = "0.0.2.0"; - sha256 = "0vrkg3d1171lsr71k3vrcf9vbl18mdnvpi02sxvzjp2zbv3gs7v6"; - revision = "1"; - editedCabalFile = "11w831ml0dn9v3gchv8465w43ml8cgcfwgxmpwnjy6v8p34q14qm"; + version = "0.0.2.1"; + sha256 = "00q5i41al5p1f70a44v922qxlafq54pfmbgvh7v0h43rkqjzkj4r"; libraryHaskellDepends = [ - base bytestring containers evdev extra filepath-bytestring + base bytestring containers evdev extra filepath-bytestring mtl rawfilepath streamly streamly-fsnotify unix ]; description = "Bridge for working with evdev and streamly"; @@ -102904,10 +103029,8 @@ self: { }: mkDerivation { pname = "eventlog2html"; - version = "0.11.0"; - sha256 = "0yj50j9jijw8is19d2afpgc3dv45ji911rlhbjvcz7x441valqx8"; - revision = "1"; - editedCabalFile = "11zza33mqh34l9rsryzjpr04whx284wjvjbybaz1m83sc8c8blhx"; + version = "0.11.1"; + sha256 = "1rfyw285g48c7dck8kjykx9n4brw7ngm275n64g1wwwkm4ybn43n"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ @@ -106545,26 +106668,26 @@ self: { "fbrnch" = callPackage ({ mkDerivation, aeson, async, base, bodhi, bugzilla-redhat - , bytestring, config-ini, copr-api, directory, email-validate - , extra, fedora-dists, filepath, http-conduit, http-directory - , http-query, koji, network-uri, pagure, pretty-terminal, process - , rpm-nvr, rpmbuild-order, simple-cmd, simple-cmd-args - , simple-prompt, text, time, typed-process, unix, utf8-string - , xdg-basedir + , bytestring, config-ini, copr-api, directory, either + , email-validate, extra, fedora-releases, filepath, http-conduit + , http-directory, http-query, koji, network-uri, pagure + , pretty-terminal, process, rpm-nvr, rpmbuild-order, say + , select-rpms, simple-cmd, simple-cmd-args, simple-prompt, text + , time, typed-process, unix, utf8-string, xdg-basedir }: mkDerivation { pname = "fbrnch"; - version = "1.4"; - sha256 = "0zcwqihcmvpd3vbbzrn9qy41hd4yapdv7b405gqpz10fbil5w5mq"; + version = "1.5"; + sha256 = "1jj2nnjqpqj1fxx7vliq1ayzwdp6xaphbdln8w2fifwbp8k3znjj"; isLibrary = false; isExecutable = true; executableHaskellDepends = [ aeson async base bodhi bugzilla-redhat bytestring config-ini - copr-api directory email-validate extra fedora-dists filepath - http-conduit http-directory http-query koji network-uri pagure - pretty-terminal process rpm-nvr rpmbuild-order simple-cmd - simple-cmd-args simple-prompt text time typed-process unix - utf8-string xdg-basedir + copr-api directory either email-validate extra fedora-releases + filepath http-conduit http-directory http-query koji network-uri + pagure pretty-terminal process rpm-nvr rpmbuild-order say + select-rpms simple-cmd simple-cmd-args simple-prompt text time + typed-process unix utf8-string xdg-basedir ]; description = "Fedora packager tool to build package branches"; license = lib.licenses.gpl2Only; @@ -107055,6 +107178,19 @@ self: { broken = true; }) {}; + "fedora-releases" = callPackage + ({ mkDerivation, aeson, base, bodhi, cached-json-file, extra }: + mkDerivation { + pname = "fedora-releases"; + version = "0.1.0"; + sha256 = "0f93dnjbf1nznblj5y2a4w4y5fz7f6rvami57f8zslz4a90iw8pl"; + libraryHaskellDepends = [ + aeson base bodhi cached-json-file extra + ]; + description = "Library for Fedora release versions"; + license = lib.licenses.gpl3Only; + }) {}; + "fedora-repoquery" = callPackage ({ mkDerivation, base, bodhi, cached-json-file, case-insensitive , curl, directory, extra, filepath, Glob, regex-compat, safe @@ -108003,16 +108139,16 @@ self: { }) {}; "fields-and-cases" = callPackage - ({ mkDerivation, base, lima, process, regex-compat, relude + ({ mkDerivation, base, process, regex-compat, relude , string-conversions, tasty, tasty-hunit }: mkDerivation { pname = "fields-and-cases"; - version = "0.1.0.0"; - sha256 = "1d43xg9qss83h1sghy0ki8rfwcq05c00fqks45m2gfvsfx36qxmf"; + version = "0.2.0.0"; + sha256 = "0bw3xdja63zvi1w1i3r5d9jsdpx9dyi1pniv6y4s8w7ryblcg2dw"; libraryHaskellDepends = [ base relude string-conversions ]; testHaskellDepends = [ - base lima process regex-compat relude string-conversions tasty + base process regex-compat relude string-conversions tasty tasty-hunit ]; description = "Codegen Haskell types to other languages"; @@ -108174,8 +108310,8 @@ self: { }: mkDerivation { pname = "file-io"; - version = "0.1.2"; - sha256 = "0yimw53z6j8jb38jhkyjfzziccxvlpd74x6kkn83zkqy120y6rds"; + version = "0.1.4"; + sha256 = "0lkgx2v92zv9r9ndkzlia8k4my242p250i99qbcf6msw04x13ng3"; libraryHaskellDepends = [ base bytestring deepseq filepath unix ]; testHaskellDepends = [ base bytestring filepath tasty tasty-hunit temporary @@ -108398,8 +108534,8 @@ self: { }: mkDerivation { pname = "filepath-bytestring"; - version = "1.4.2.1.13"; - sha256 = "0dvsn98xb5hjczs21r8868n79jygaava1pp5l1mdr823hqlz1bcw"; + version = "1.4.100.3.2"; + sha256 = "1zfhzpbh798n57k3hncingpk2ls1y2b1ap6iznn69sn3v59q2mbq"; libraryHaskellDepends = [ base bytestring unix ]; testHaskellDepends = [ base bytestring filepath QuickCheck ]; benchmarkHaskellDepends = [ base criterion filepath ]; @@ -108893,8 +109029,8 @@ self: { }: mkDerivation { pname = "finitary"; - version = "2.1.3.0"; - sha256 = "14b7qjqya36yk19qivcf4lir0pd89mvrh52pd54niq5sx0c8nxj9"; + version = "2.2.0.0"; + sha256 = "035pbixg74z7xbjw33y50xxgkhml5l3y93izmlilgd8dil8biwl3"; libraryHaskellDepends = [ base bitvec finite-typelits ghc-typelits-knownnat ghc-typelits-natnormalise primitive template-haskell @@ -109069,14 +109205,14 @@ self: { maintainers = [ lib.maintainers.turion ]; }) {}; - "finite-typelits_0_2_0_1" = callPackage + "finite-typelits_0_2_1_0" = callPackage ({ mkDerivation, base, deepseq, QuickCheck, tagged , template-haskell }: mkDerivation { pname = "finite-typelits"; - version = "0.2.0.1"; - sha256 = "1zq3dy1w2h46ybc0ifqdn5f1hnbvsw32vk9ash19lffmqj569di0"; + version = "0.2.1.0"; + sha256 = "0i786r2l3k9fxkpyy6rsi8my6kkar7y8yxk7h9gncm0z6kmvrnvk"; libraryHaskellDepends = [ base deepseq tagged template-haskell ]; testHaskellDepends = [ base deepseq QuickCheck ]; description = "A type inhabited by finitely many values, indexed by type-level naturals"; @@ -111698,24 +111834,27 @@ self: { }) {}; "fontconfig-pure" = callPackage - ({ mkDerivation, base, containers, css-syntax, fontconfig - , freetype2, hashable, hspec, linear, QuickCheck, scientific - , stylist-traits, text + ({ mkDerivation, base, bytestring, containers, css-syntax + , fontconfig, freetype2, hashable, hspec, linear, msgpack + , QuickCheck, scientific, stylist-traits, text, vector }: mkDerivation { pname = "fontconfig-pure"; - version = "0.4.0.0"; - sha256 = "05nlnr5v1gfi0wrksdpzszpvj1vj5ff2wv2nzm7g43dr9j33xyf6"; + version = "0.5.0.0"; + sha256 = "0r4mqizi9bffaf5azny6lwl9ifmqaw8l6r7c4vsc7f4qlpp7w9yi"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ - base containers css-syntax freetype2 hashable linear scientific - stylist-traits text + base bytestring containers css-syntax freetype2 hashable linear + msgpack QuickCheck scientific stylist-traits text vector ]; libraryPkgconfigDepends = [ fontconfig ]; executableHaskellDepends = [ base ]; - testHaskellDepends = [ base hspec QuickCheck ]; - description = "Pure-functional language bindings to FontConfig"; + testHaskellDepends = [ + base containers css-syntax hspec msgpack QuickCheck stylist-traits + text + ]; + description = "Resolves font descriptions to font libraries, including ones installed on your freedesktop (Linux or BSD system)"; license = lib.licenses.mit; hydraPlatforms = lib.platforms.none; mainProgram = "fontconfig-pure"; @@ -113020,53 +113159,47 @@ self: { ({ mkDerivation, aeson, annotated-exception, async, autodocodec , autodocodec-openapi3, base, bcp47, Blammo, Blammo-wai, bugsnag , bytestring, case-insensitive, cassava, conduit, conduit-extra - , containers, cookie, datadog, directory, doctest, dotenv, ekg-core - , errors, exceptions, extra, faktory, filepath, freckle-env, Glob - , hashable, hs-opentelemetry-api - , hs-opentelemetry-instrumentation-persistent + , containers, cookie, datadog, doctest, ekg-core, exceptions, extra + , faktory, freckle-env, freckle-http, freckle-otel, Glob, hashable + , hs-opentelemetry-api, hs-opentelemetry-instrumentation-persistent , hs-opentelemetry-instrumentation-wai, hs-opentelemetry-sdk, hspec - , hspec-core, hspec-expectations-json, hspec-expectations-lifted - , hspec-junit-formatter, http-client, http-conduit - , http-link-header, http-types, immortal, lens, lens-aeson - , memcache, monad-control, monad-logger, monad-logger-aeson - , monad-validate, MonadRandom, mtl, network-uri + , hspec-core, hspec-expectations-lifted, hspec-junit-formatter + , http-client, http-types, immortal, lens, monad-control + , monad-logger-aeson, monad-validate, MonadRandom, mtl , nonempty-containers, openapi3, path-pieces, persistent - , persistent-postgresql, postgresql-simple, primitive, pureMD5 - , QuickCheck, resource-pool, resourcet, retry, safe, scientist - , semigroupoids, serialise, template-haskell, text, time - , transformers, transformers-base, typed-process, unliftio - , unordered-containers, vector, wai, wai-extra, yaml, yesod-core - , yesod-test, zlib + , persistent-postgresql, postgresql-simple, primitive, QuickCheck + , resource-pool, resourcet, safe, scientist, semigroupoids + , template-haskell, text, time, transformers, transformers-base + , typed-process, unliftio, unordered-containers, vector, wai + , wai-extra, yaml, yesod-core, yesod-test }: mkDerivation { pname = "freckle-app"; - version = "1.19.0.0"; - sha256 = "19kpkirbaaxs8pis8137fy0xw8b7v38hs8x37piz7cjcmmycwkxk"; + version = "1.20.0.1"; + sha256 = "1lzs43japwnkn4gaxamnsjchimc2v2w8fkjb90j1jjvw1dnnaj8h"; libraryHaskellDepends = [ aeson annotated-exception autodocodec autodocodec-openapi3 base bcp47 Blammo Blammo-wai bugsnag bytestring case-insensitive cassava - conduit conduit-extra containers cookie datadog directory doctest - dotenv ekg-core errors exceptions extra faktory filepath - freckle-env Glob hashable hs-opentelemetry-api + conduit conduit-extra containers cookie datadog doctest ekg-core + exceptions extra faktory freckle-env freckle-http freckle-otel Glob + hashable hs-opentelemetry-api hs-opentelemetry-instrumentation-persistent hs-opentelemetry-instrumentation-wai hs-opentelemetry-sdk hspec hspec-core hspec-expectations-lifted hspec-junit-formatter - http-client http-conduit http-link-header http-types immortal lens - memcache monad-control monad-logger monad-logger-aeson - monad-validate MonadRandom mtl network-uri nonempty-containers - openapi3 path-pieces persistent persistent-postgresql - postgresql-simple primitive pureMD5 QuickCheck resource-pool - resourcet retry safe scientist semigroupoids serialise + http-client http-types immortal lens monad-control + monad-logger-aeson monad-validate MonadRandom mtl + nonempty-containers openapi3 path-pieces persistent + persistent-postgresql postgresql-simple primitive QuickCheck + resource-pool resourcet safe scientist semigroupoids template-haskell text time transformers transformers-base typed-process unliftio unordered-containers vector wai wai-extra yaml yesod-core yesod-test ]; testHaskellDepends = [ - aeson async base Blammo bugsnag bytestring cassava conduit errors - freckle-env hs-opentelemetry-api hspec hspec-expectations-json - hspec-expectations-lifted http-types lens lens-aeson memcache - monad-validate mtl nonempty-containers postgresql-simple QuickCheck - text time unordered-containers vector wai wai-extra zlib + aeson async base Blammo bugsnag bytestring cassava conduit + hs-opentelemetry-api hspec http-types monad-validate + nonempty-containers postgresql-simple QuickCheck vector wai + wai-extra ]; description = "Haskell application toolkit used at Freckle"; license = lib.licenses.mit; @@ -113074,33 +113207,82 @@ self: { }) {}; "freckle-env" = callPackage - ({ mkDerivation, base, doctest, envparse, errors, relude, text - , time + ({ mkDerivation, base, doctest, dotenv, envparse, errors, filepath + , text, time, unliftio }: mkDerivation { pname = "freckle-env"; - version = "0.0.0.0"; - sha256 = "1qhbp7l966kvdaw0bxfzhpckvbqwf251yr0x9s3ppdjn7b7cvkiy"; - libraryHaskellDepends = [ base envparse errors relude text time ]; + version = "0.0.1.1"; + sha256 = "1vvmczv4z4gpp5h3k1ws6ghv6am7xdgx5l3v11bnwyp21fzmzp3n"; + libraryHaskellDepends = [ + base dotenv envparse errors filepath text time unliftio + ]; testHaskellDepends = [ base doctest ]; description = "Some extension to the envparse library"; license = lib.licenses.mit; }) {}; + "freckle-exception" = callPackage + ({ mkDerivation, aeson, annotated-exception, base, exceptions + , monad-logger-aeson, unliftio + }: + mkDerivation { + pname = "freckle-exception"; + version = "0.0.0.0"; + sha256 = "1yxgrg0vqr9qhldww6fz1j9y5cj2rc3kbd40w59cq540plmcmylp"; + libraryHaskellDepends = [ + aeson annotated-exception base exceptions monad-logger-aeson + unliftio + ]; + description = "Some extensions to the annotated-exception library"; + license = lib.licenses.mit; + }) {}; + + "freckle-http" = callPackage + ({ mkDerivation, aeson, annotated-exception, base, Blammo + , bytestring, case-insensitive, conduit, directory, errors, extra + , filepath, freckle-memcached, Glob, hs-opentelemetry-api, hspec + , hspec-expectations-json, hspec-expectations-lifted, http-client + , http-conduit, http-link-header, http-types, lens, lens-aeson + , memcache, monad-logger, monad-validate, mtl, network-uri, retry + , safe, semigroupoids, serialise, text, time, transformers + , unliftio, unordered-containers, zlib + }: + mkDerivation { + pname = "freckle-http"; + version = "0.0.0.0"; + sha256 = "16sli2gcaczrzfmdms6xm9g73yy4vbm7spmigd23nil8g9bab4l2"; + libraryHaskellDepends = [ + aeson annotated-exception base Blammo bytestring case-insensitive + conduit directory errors extra filepath freckle-memcached Glob + hs-opentelemetry-api hspec http-client http-conduit + http-link-header http-types lens lens-aeson memcache monad-logger + monad-validate mtl network-uri retry safe semigroupoids serialise + text time transformers unliftio unordered-containers + ]; + testHaskellDepends = [ + aeson base bytestring hspec hspec-expectations-json + hspec-expectations-lifted http-types lens mtl time + unordered-containers zlib + ]; + description = "..."; + license = lib.licenses.mit; + }) {}; + "freckle-kafka" = callPackage ({ mkDerivation, aeson, annotated-exception, base, Blammo - , containers, freckle-env, hs-opentelemetry-sdk, hw-kafka-client - , lens, relude, resource-pool, text, time, unliftio + , bytestring, containers, freckle-env, hs-opentelemetry-sdk + , hw-kafka-client, lens, mtl, resource-pool, text, time, unliftio , unordered-containers, yesod-core }: mkDerivation { pname = "freckle-kafka"; - version = "0.0.0.0"; - sha256 = "0p8nyh0v038j315y0ia6bi7q4c14anfik3ad9bpck62ximabqa72"; + version = "0.0.0.1"; + sha256 = "1ifm5axxng5bknz4v7zv8pjv0fv91hnv2l8jh22s4llj0wax1l28"; libraryHaskellDepends = [ - aeson annotated-exception base Blammo containers freckle-env - hs-opentelemetry-sdk hw-kafka-client lens relude resource-pool text - time unliftio unordered-containers yesod-core + aeson annotated-exception base Blammo bytestring containers + freckle-env hs-opentelemetry-sdk hw-kafka-client lens mtl + resource-pool text time unliftio unordered-containers yesod-core ]; description = "Some extensions to the hw-kafka-client library"; license = lib.licenses.mit; @@ -113108,6 +113290,74 @@ self: { broken = true; }) {}; + "freckle-memcached" = callPackage + ({ mkDerivation, aeson, annotated-exception, base, Blammo + , bytestring, errors, exceptions, freckle-env, freckle-otel + , hashable, hs-opentelemetry-sdk, hspec, hspec-core + , hspec-expectations-lifted, lens, lens-aeson, memcache, mtl + , network-uri, pureMD5, safe, serialise, text, unliftio + , unordered-containers + }: + mkDerivation { + pname = "freckle-memcached"; + version = "0.0.0.2"; + sha256 = "1qqjribjzmpfqqygvl4frxy447sjqs5fin22y9aq075yfvgjq75a"; + libraryHaskellDepends = [ + aeson annotated-exception base Blammo bytestring errors + freckle-otel hashable hs-opentelemetry-sdk lens memcache mtl + network-uri pureMD5 serialise text unliftio unordered-containers + ]; + testHaskellDepends = [ + aeson base Blammo errors exceptions freckle-env + hs-opentelemetry-sdk hspec hspec-core hspec-expectations-lifted + lens lens-aeson memcache mtl safe text unliftio + ]; + description = ".."; + license = lib.licenses.mit; + }) {}; + + "freckle-otel" = callPackage + ({ mkDerivation, aeson, base, Blammo, bytestring, case-insensitive + , errors, exceptions, faktory, freckle-env, hs-opentelemetry-api + , hs-opentelemetry-sdk, hspec, hspec-core + , hspec-expectations-lifted, http-client, http-conduit, http-types + , lens, mtl, text, unliftio, unordered-containers + }: + mkDerivation { + pname = "freckle-otel"; + version = "0.0.0.2"; + sha256 = "0x70wcqbpzy8x5xd88kvf2k5pg9655w1xqp94ryq2yprkq6vhils"; + libraryHaskellDepends = [ + aeson base Blammo bytestring case-insensitive errors exceptions + faktory hs-opentelemetry-api hs-opentelemetry-sdk http-client + http-conduit http-types lens text unliftio unordered-containers + ]; + testHaskellDepends = [ + base Blammo exceptions freckle-env hs-opentelemetry-api + hs-opentelemetry-sdk hspec hspec-core hspec-expectations-lifted + http-types lens mtl text unliftio + ]; + description = "..."; + license = lib.licenses.mit; + }) {}; + + "freckle-prelude" = callPackage + ({ mkDerivation, base, containers, freckle-exception, hashable, mtl + , primitive, safe, semigroupoids, text, time, unordered-containers + , vector + }: + mkDerivation { + pname = "freckle-prelude"; + version = "0.0.1.1"; + sha256 = "0mvfh2yw63njx3jmqjzpxzk370gyslfwhss40cysji5j6f9514yf"; + libraryHaskellDepends = [ + base containers freckle-exception hashable mtl primitive safe + semigroupoids text time unordered-containers vector + ]; + description = "Standard prelude for Freckle applications"; + license = lib.licenses.mit; + }) {}; + "freddy" = callPackage ({ mkDerivation, amqp, async, base, broadcast-chan, bytestring , data-default, hspec, random, text, uuid @@ -113258,8 +113508,8 @@ self: { }: mkDerivation { pname = "free-foil"; - version = "0.0.3"; - sha256 = "0gafhqwdzz8zqyfiw50w5zkyg5989hzqlcdq2lgqcqpzvhjg9x1r"; + version = "0.1.0"; + sha256 = "0a0mpacwpyj46p79l3imwazp7a3hlm1bwjh5v1x7sk93kyb8d9fg"; libraryHaskellDepends = [ array base bifunctors containers deepseq template-haskell text ]; @@ -115586,8 +115836,8 @@ self: { }: mkDerivation { pname = "futhark"; - version = "0.25.19"; - sha256 = "1zqqfadxzl9ggs1jarnka9rzdd4f71ikqjhbhfcxkdq0bzj50244"; + version = "0.25.20"; + sha256 = "149fzcd6rijr5vzpn42xfjr8k9pgijmqm4c754na1vj8d926sjgw"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ @@ -117243,15 +117493,15 @@ self: { }) {}; "gemmula" = callPackage - ({ mkDerivation, base, HUnit, raw-strings-qq, text }: + ({ mkDerivation, base, HUnit, text }: mkDerivation { pname = "gemmula"; - version = "1.1.1"; - sha256 = "1vrpqigr40injcm07jpga31x0kdaqbxbi35lk6q8p7idaqs6qj8g"; + version = "1.2.0"; + sha256 = "04w3v3sky6rhznqz3izibl24cbrvqywgdd5i8bacg2bdafxbx2qy"; libraryHaskellDepends = [ base text ]; - testHaskellDepends = [ base HUnit raw-strings-qq text ]; - description = "A tiny gemtext parser"; - license = lib.licenses.agpl3Only; + testHaskellDepends = [ base HUnit text ]; + description = "a tiny gemtext parser"; + license = lib.licenses.lgpl3Plus; }) {}; "gemmula-altera" = callPackage @@ -117686,8 +117936,8 @@ self: { ({ mkDerivation, base }: mkDerivation { pname = "generic-enumeration"; - version = "0.1.0.2"; - sha256 = "1j9pdg0ib2ysx4wv357gwvg5j9djm038rj16wpyfc90lsl9m8gdg"; + version = "0.1.0.3"; + sha256 = "02ywn0byg4g42hl28mqc07jifj48jxzmnjm4plfdz4pnxs40kwzg"; libraryHaskellDepends = [ base ]; description = "Generically derived enumerations"; license = lib.licenses.mit; @@ -117860,8 +118110,8 @@ self: { pname = "generic-monoid"; version = "0.1.0.1"; sha256 = "1pradfv1i2z73f3vxx78ahmfsdszcgi44kn29aww2hdgf2np5l6g"; - revision = "3"; - editedCabalFile = "0pyf3yr4haja32nkm3vb28dhdh47cf6h5vqkqih2l6zmbdc2f0lq"; + revision = "4"; + editedCabalFile = "0vdqgq19xr8b8v7i189qcj21m79ncgdscnm8qdp3ynnva74l19j7"; libraryHaskellDepends = [ base ]; description = "Derive monoid instances for product types"; license = lib.licenses.bsd3; @@ -118692,6 +118942,17 @@ self: { license = lib.licenses.mit; }) {}; + "genvalidity-dlist" = callPackage + ({ mkDerivation, base, dlist, genvalidity, validity-dlist }: + mkDerivation { + pname = "genvalidity-dlist"; + version = "0.1.0.1"; + sha256 = "1n7a4hfg71y1zlspf86dmsgj9hzjcwf0ikkrlhr96g622phvsjw6"; + libraryHaskellDepends = [ base dlist genvalidity validity-dlist ]; + description = "GenValidity support for dlist"; + license = lib.licenses.mit; + }) {}; + "genvalidity-hspec" = callPackage ({ mkDerivation, base, genvalidity, genvalidity-property, hspec , hspec-core, QuickCheck, transformers, validity @@ -119802,6 +120063,8 @@ self: { pname = "ghc-boot"; version = "9.10.1"; sha256 = "02sqxmc2f8lb95hrabj088618sd9by9ypvsrs2f2753dg1xqlbzg"; + revision = "1"; + editedCabalFile = "07pn68dhxfmkh7j49vfswjd480j0f60r87azbwqyglv8cl19bz4h"; setupHaskellDepends = [ base Cabal directory filepath ]; libraryHaskellDepends = [ base binary bytestring containers deepseq directory filepath @@ -121379,6 +121642,8 @@ self: { pname = "ghc-tags"; version = "1.6"; sha256 = "0iiqapx4v4jz4d7ni4dcvpfl948ydx2a7kxvjsk2irdcknzymblw"; + revision = "1"; + editedCabalFile = "1piwibafkgq2z6h36jpiszs8bzg6xqz954g6b2dr93gfya0qh5jv"; isLibrary = false; isExecutable = true; executableHaskellDepends = [ @@ -121402,6 +121667,8 @@ self: { pname = "ghc-tags"; version = "1.7"; sha256 = "17189yi1zffgcdwx0nb6n4pbv3jhfajhfnag84fnqwy4kbvl5ma4"; + revision = "1"; + editedCabalFile = "0vcqlsrs9zgf3jjl2zc0ibjrgx1sbwvh4vwadmmqm2kkgrkhg7ic"; isLibrary = false; isExecutable = true; executableHaskellDepends = [ @@ -121425,6 +121692,8 @@ self: { pname = "ghc-tags"; version = "1.8"; sha256 = "0gljssyq1ahgl65vnqqa5s1vglzdisx8wp5p2hwh09diwa2ms9mw"; + revision = "1"; + editedCabalFile = "0b0myml4c6dnjyq519ngwfd3n0ym30z4cqn1934g2z7i1lj59d4l"; isLibrary = false; isExecutable = true; executableHaskellDepends = [ @@ -121448,6 +121717,8 @@ self: { pname = "ghc-tags"; version = "1.9"; sha256 = "0s0gipypdz9d7ny8bz38msqlr88y5b3fcd3xzdcsm5mlbra4m904"; + revision = "1"; + editedCabalFile = "0id8whk4dabyrr7kcbgzn3770ypyqin24fqpc0yn5d5x5jm0ynhz"; isLibrary = false; isExecutable = true; executableHaskellDepends = [ @@ -124398,8 +124669,8 @@ self: { }: mkDerivation { pname = "git-annex"; - version = "10.20240731"; - sha256 = "03kj5vg98ixjkwnxi6bdwpmyc888hk2w0ah0n59gi9wjlspbgdmi"; + version = "10.20240808"; + sha256 = "0593kq47kv8zqlknsicih5kh0f0qxy3xwadaqmi5gffrjpvapdf5"; configureFlags = [ "-fassistant" "-f-benchmark" "-fcrypton" "-fdbus" "-f-debuglocks" "-fmagicmime" "-fpairing" "-fproduction" "-ftorrentparser" @@ -126035,8 +126306,8 @@ self: { }: mkDerivation { pname = "glirc"; - version = "2.40.1"; - sha256 = "1214r64pyikz4j4na65ki6glvplm3vpx0glizh2divn1cm8q0zch"; + version = "2.41"; + sha256 = "1sigh9154jxsisszj4sm3zbjja0mgqk9hrv7a4rr2c976pqri9yb"; isLibrary = true; isExecutable = true; setupHaskellDepends = [ base Cabal filepath ]; @@ -131931,30 +132202,29 @@ self: { "grisette" = callPackage ({ mkDerivation, array, async, base, bytestring, containers - , deepseq, doctest, generic-deriving, Glob, hashable, hashtables - , HUnit, intern, loch-th, mtl, parallel, prettyprinter, QuickCheck + , deepseq, doctest, generic-deriving, hashable, hashtables, HUnit + , intern, libBF, loch-th, mtl, parallel, prettyprinter, QuickCheck , sbv, stm, template-haskell, test-framework, test-framework-hunit , test-framework-quickcheck2, text, th-abstraction, th-compat - , transformers, unordered-containers + , th-lift-instances, transformers, unordered-containers }: mkDerivation { pname = "grisette"; - version = "0.7.0.0"; - sha256 = "143a0ghpa3y0dhy7b81f95jiixfhr0pw0fmgvijs6pfsaijw91p0"; - revision = "1"; - editedCabalFile = "0lpxksrphlkfr5njszkfhks19nc7b9pzy84znkyl5g73w35pk91x"; + version = "0.8.0.0"; + sha256 = "0q4s9bflngg7bisj1mds8fr1c5wr58di2rll81j9xwppa45n1qb9"; libraryHaskellDepends = [ array async base bytestring containers deepseq generic-deriving - hashable hashtables intern loch-th mtl parallel prettyprinter + hashable hashtables intern libBF loch-th mtl parallel prettyprinter QuickCheck sbv stm template-haskell text th-abstraction th-compat - transformers unordered-containers + th-lift-instances transformers unordered-containers ]; testHaskellDepends = [ array async base bytestring containers deepseq doctest - generic-deriving Glob hashable hashtables HUnit intern loch-th mtl + generic-deriving hashable hashtables HUnit intern libBF loch-th mtl parallel prettyprinter QuickCheck sbv stm template-haskell test-framework test-framework-hunit test-framework-quickcheck2 text - th-abstraction th-compat transformers unordered-containers + th-abstraction th-compat th-lift-instances transformers + unordered-containers ]; description = "Symbolic evaluation as a library"; license = lib.licenses.bsd3; @@ -133636,8 +133906,8 @@ self: { }: mkDerivation { pname = "h3spec"; - version = "0.1.10"; - sha256 = "0cqqhskk4rip3j903ynml1dcbm2v8si15c2kfwy2l42rj2fj0s1g"; + version = "0.1.11"; + sha256 = "0h519wf2a9swgi695ynydvfcrmmbr70kin49qk04a4nx9b4lcln1"; isLibrary = false; isExecutable = true; executableHaskellDepends = [ @@ -135983,6 +136253,8 @@ self: { pname = "hakyll"; version = "4.16.2.2"; sha256 = "0hnqf4xxgf1qgk262qvq0b0mx51jfv67y2kn6ca8jsp43dxy9941"; + revision = "1"; + editedCabalFile = "10ifx60yb8fi9y8xmqb446nzgqs5r0jh0cbrwkm2iy8valb8z63x"; isLibrary = true; isExecutable = true; enableSeparateDataOutput = true; @@ -137978,7 +138250,7 @@ self: { license = lib.licenses.bsd3; }) {}; - "happstack-server_7_9_0" = callPackage + "happstack-server_7_9_2_1" = callPackage ({ mkDerivation, base, base64-bytestring, blaze-html, bytestring , containers, directory, exceptions, extensible-exceptions , filepath, hslogger, html, HUnit, monad-control, mtl, network @@ -137989,10 +138261,8 @@ self: { }: mkDerivation { pname = "happstack-server"; - version = "7.9.0"; - sha256 = "1chia8km9pd6ys1vgy6ybsqj48zmvhb2iqs60lmizdyhc5yxk0c6"; - revision = "1"; - editedCabalFile = "13fmnkl9rrvdskrzhjbdfm9478mwz2pdmhyds33b32v8jaml08qc"; + version = "7.9.2.1"; + sha256 = "177qzsny5gn409j5l8ixyrs22dg8rnvrcjipv313rzkr449bl6sx"; libraryHaskellDepends = [ base base64-bytestring blaze-html bytestring containers directory exceptions extensible-exceptions filepath hslogger html @@ -138015,8 +138285,8 @@ self: { }: mkDerivation { pname = "happstack-server-tls"; - version = "7.2.1.5"; - sha256 = "0mm5pw6nkg53s3k7ljx3r1l36wf41k2xfkn7cc2g6mhh6l5srzyd"; + version = "7.2.1.6"; + sha256 = "05gdqkgrvkv6qbcdfwyblnv4bs03gr1nl467kr6g4x4cwj77fmf3"; libraryHaskellDepends = [ base bytestring extensible-exceptions happstack-server hslogger HsOpenSSL network sendfile time unix @@ -140222,8 +140492,8 @@ self: { }: mkDerivation { pname = "haskell-ffprobe"; - version = "0.1.0.0"; - sha256 = "12cah6yyzbkd8k44h4dlhbw0jza557mcnw994hig2p8xd89vk4bz"; + version = "0.1.0.1"; + sha256 = "00b7pacn8bn7xhhznpbnnxzqjzf615winq6pnhs08yhawyvb0af3"; libraryHaskellDepends = [ aeson base bytestring process scientific text ]; @@ -143630,18 +143900,18 @@ self: { }) {}; "haskus-utils-data" = callPackage - ({ mkDerivation, base, containers, doctest, ghc-prim - , haskus-utils-types, mtl, recursion-schemes, transformers + ({ mkDerivation, base, containers, ghc-prim, haskus-utils-types + , mtl, recursion-schemes, transformers }: mkDerivation { pname = "haskus-utils-data"; - version = "1.4"; - sha256 = "18k8kbfy60l60pzc3c3kwny87avwp6sn766cg4b0z47hx8d70i5k"; + version = "1.5"; + sha256 = "0hwvmg1zhi2i3hwpjg9siq06hllgrk41zs19fxw9xz3i652b2b9j"; libraryHaskellDepends = [ base containers ghc-prim haskus-utils-types mtl recursion-schemes transformers ]; - testHaskellDepends = [ base doctest ]; + testHaskellDepends = [ base ]; description = "Haskus data utility modules"; license = lib.licenses.bsd3; }) {}; @@ -143809,8 +144079,8 @@ self: { }: mkDerivation { pname = "hasmtlib"; - version = "2.1.0"; - sha256 = "071aslizvy9bx3k8aixraz57s2qwg2fg751mghbk057y62az56wv"; + version = "2.3.2"; + sha256 = "11vbxn0lkfnasc9qvk8bjqd7nk7fwbs9zjgwwsfzgz5ann3aja8p"; libraryHaskellDepends = [ attoparsec base bitvec bytestring containers data-default dependent-map finite-typelits lens mtl smtlib-backends @@ -145303,28 +145573,6 @@ self: { }) {}; "haxr" = callPackage - ({ mkDerivation, array, base, base-compat, base64-bytestring - , blaze-builder, bytestring, HaXml, HsOpenSSL, http-streams - , http-types, io-streams, mtl, mtl-compat, network, network-uri - , old-locale, old-time, template-haskell, text, time, utf8-string - }: - mkDerivation { - pname = "haxr"; - version = "3000.11.5"; - sha256 = "1n2q7r0a6c24xbvdnl7ql5cc25sbbalmdc75rmlpazhkazq8jy99"; - revision = "4"; - editedCabalFile = "14cmszqfr4c8zp9zzz1729m3a4fhiglp3h04zqza4capf2cw5mr5"; - libraryHaskellDepends = [ - array base base-compat base64-bytestring blaze-builder bytestring - HaXml HsOpenSSL http-streams http-types io-streams mtl mtl-compat - network network-uri old-locale old-time template-haskell text time - utf8-string - ]; - description = "XML-RPC client and server library"; - license = lib.licenses.bsd3; - }) {}; - - "haxr_3000_11_5_1" = callPackage ({ mkDerivation, array, base, base-compat, base64-bytestring , blaze-builder, bytestring, HaXml, HsOpenSSL, http-streams , http-types, io-streams, mtl, mtl-compat, network, network-uri @@ -145342,7 +145590,6 @@ self: { ]; description = "XML-RPC client and server library"; license = lib.licenses.bsd3; - hydraPlatforms = lib.platforms.none; }) {}; "haxr-th" = callPackage @@ -146272,19 +146519,19 @@ self: { }) {}; "hdf5" = callPackage - ({ mkDerivation, base, bindings-DSL, bytestring, exceptions - , hdf5-serial, hspec, libffi, lifted-base, monad-control, primitive - , QuickCheck, tagged, temporary, transformers, vector + ({ mkDerivation, base, bindings-DSL, bytestring, exceptions, hdf5 + , hspec, libffi, lifted-base, monad-control, primitive, QuickCheck + , tagged, temporary, transformers, vector }: mkDerivation { pname = "hdf5"; - version = "1.8.11"; - sha256 = "1vczdmm389zg002ay1x4ia4xx6k41zz0qj5979di03mjlrzq9nws"; + version = "1.8.12"; + sha256 = "07hcb2hld6wh5d8av77rzj1pr3gj5xpnk4364ks7xr38hx6lmiz3"; libraryHaskellDepends = [ base bindings-DSL bytestring libffi lifted-base monad-control primitive tagged transformers vector ]; - libraryPkgconfigDepends = [ hdf5-serial ]; + libraryPkgconfigDepends = [ hdf5 ]; testHaskellDepends = [ base bytestring exceptions hspec QuickCheck temporary vector ]; @@ -146292,7 +146539,7 @@ self: { license = lib.licenses.publicDomain; hydraPlatforms = lib.platforms.none; broken = true; - }) {hdf5-serial = null;}; + }) {inherit (pkgs) hdf5;}; "hdf5-lite" = callPackage ({ mkDerivation, base, c2hs, containers, exceptions, ghc-prim, hdf5 @@ -147190,8 +147437,8 @@ self: { pname = "hedgehog-fn"; version = "1.0"; sha256 = "05drd7jsz54kgwxr5z9vifmql6xif7ma7878qddw2nss5s6wa2qp"; - revision = "3"; - editedCabalFile = "1nz3ndndvb0xpnlrkx02l02a62jmrx01jcgxd36k843aacjklyax"; + revision = "4"; + editedCabalFile = "1hsykw437b402bkbys1ajr6w1g0s3a1hsbp0k0207hrclrbf1s95"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ @@ -148220,6 +148467,23 @@ self: { hydraPlatforms = lib.platforms.none; }) {}; + "heptapod" = callPackage + ({ mkDerivation, base, bytestring, entropy, tasty, tasty-bench + , tasty-hunit, time, uuid, uuid-types + }: + mkDerivation { + pname = "heptapod"; + version = "1.0.0.0"; + sha256 = "0a25m30q0blsmylj2k8qjnp4nkx06fyxdn73p3cbp15y5l128i2h"; + libraryHaskellDepends = [ + base bytestring entropy time uuid-types + ]; + testHaskellDepends = [ base tasty tasty-hunit time uuid-types ]; + benchmarkHaskellDepends = [ base tasty-bench uuid ]; + description = "Generate UUIDv7 values"; + license = lib.licenses.mit; + }) {}; + "her-lexer" = callPackage ({ mkDerivation, base, mtl, split }: mkDerivation { @@ -152982,10 +153246,8 @@ self: { }: mkDerivation { pname = "hledger-stockquotes"; - version = "0.1.2.1"; - sha256 = "09h021dcpya8492kgyqkd2irxa10kwc9dgzk5xn7r121hl55jp50"; - revision = "1"; - editedCabalFile = "1b10qfxps3iz69l05gagshphifhxw5nvsx79yfyc4iq1rb8hnxc7"; + version = "0.1.3.1"; + sha256 = "111zpplj059iyxwy8rnjq7jrspm5sjqcx9jx0lrrz7yrj608id0g"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ @@ -152993,7 +153255,7 @@ self: { split text time unordered-containers ]; executableHaskellDepends = [ - aeson base bytestring cmdargs directory raw-strings-qq + aeson base bytestring cmdargs containers directory raw-strings-qq safe-exceptions text time xdg-basedir yaml ]; testHaskellDepends = [ @@ -153473,8 +153735,8 @@ self: { pname = "hlrdb"; version = "0.4.0.0"; sha256 = "0cj2ff40n3v171xhvdips3als1f2x91ksxcqm7i570mwkdgbh1jr"; - revision = "1"; - editedCabalFile = "0ymp486cfw71vv2ydn9dgaixmq5dgcpy5x1jzibrld5cd14fs3gg"; + revision = "2"; + editedCabalFile = "0yfd3l9hiplva8dp4l21pfqycswbwgvy9588gmm3h71dnr6md1sg"; libraryHaskellDepends = [ base base64 bytestring cryptonite hashable hedis hlrdb-core memory random store time unordered-containers zstd @@ -153492,8 +153754,8 @@ self: { pname = "hlrdb-core"; version = "0.2.0.0"; sha256 = "0hkjll4v4kxc133b19kk9k4dkrbag6qdw24gwrhikrxlk666jsbl"; - revision = "3"; - editedCabalFile = "169a7j9n3sgya96xkklcrbqv08prh41r024dgzr6q0a1wn5j7f04"; + revision = "5"; + editedCabalFile = "1wd5fx9q9h8ypc1rzpgpdcdvrvmd7v9rricy0k856jl1r7blsm93"; libraryHaskellDepends = [ base bytestring hashable hedis lens mtl profunctors random time unordered-containers @@ -158642,6 +158904,21 @@ self: { hydraPlatforms = lib.platforms.none; }) {inherit (pkgs) gsl;}; + "hqcsim" = callPackage + ({ mkDerivation, base, hmatrix, random }: + mkDerivation { + pname = "hqcsim"; + version = "0.1.0.0"; + sha256 = "0qb9xi2z9k8a33536zrqsycs52q0x78f9jf36mdzcrgj4972sygh"; + isLibrary = true; + isExecutable = true; + libraryHaskellDepends = [ base hmatrix random ]; + executableHaskellDepends = [ base hmatrix random ]; + description = "A library for simulating quantum circuits"; + license = lib.licenses.bsd3; + mainProgram = "hqcsim-exe"; + }) {}; + "hquantlib" = callPackage ({ mkDerivation, base, containers, hmatrix, hmatrix-gsl , hmatrix-special, hquantlib-time, HUnit, mersenne-random-pure64 @@ -165524,19 +165801,42 @@ self: { }) {}; "htmx" = callPackage - ({ mkDerivation, base, lucid, servant, text }: + ({ mkDerivation, base, http-api-data, text }: mkDerivation { pname = "htmx"; - version = "0.0.0.1"; - sha256 = "0l799xcynf03g6kw6p3pp9j3ild2cr870jwccjswkgy1hsbcxjkk"; - libraryHaskellDepends = [ base lucid servant text ]; - testHaskellDepends = [ base lucid servant text ]; + version = "0.1.0.0"; + sha256 = "0b2rjq3qv68vr7ljy844w9fiz93f0v0y2dykybhl5addbyz6z4nm"; + libraryHaskellDepends = [ base http-api-data text ]; description = "Use htmx with various haskell libraries"; license = lib.licenses.mit; hydraPlatforms = lib.platforms.none; broken = true; }) {}; + "htmx-lucid" = callPackage + ({ mkDerivation, base, htmx, lucid2, text }: + mkDerivation { + pname = "htmx-lucid"; + version = "0.2.0.0"; + sha256 = "1ilr1xarmavzfcy53asazk64gkww7wsjsmz0jyrbr4qj076dqj36"; + libraryHaskellDepends = [ base htmx lucid2 text ]; + description = "Use htmx with lucid"; + license = lib.licenses.mit; + }) {}; + + "htmx-servant" = callPackage + ({ mkDerivation, base, htmx, htmx-lucid, lucid2, servant, text }: + mkDerivation { + pname = "htmx-servant"; + version = "0.2.0.0"; + sha256 = "0xckwxigcjfsf9idw056fnks7b3chdd9bawilwf252mcm45ywaqy"; + libraryHaskellDepends = [ + base htmx htmx-lucid lucid2 servant text + ]; + description = "Use htmx with servant"; + license = lib.licenses.mit; + }) {}; + "htn" = callPackage ({ mkDerivation, base, containers, hspec }: mkDerivation { @@ -165807,6 +166107,8 @@ self: { pname = "http-api-data"; version = "0.6.1"; sha256 = "1kz3qjjazl61q7iad6q67zdsm2gynsjdfcn34rzmybjhq27wylas"; + revision = "1"; + editedCabalFile = "0gw1hahhc5pyagvmvbpwqbm7sqpyfccy59p249jrmz667hsz92g3"; libraryHaskellDepends = [ base bytestring containers cookie hashable http-types tagged text text-iso8601 time-compat transformers unordered-containers @@ -167103,7 +167405,7 @@ self: { license = lib.licenses.bsd3; }) {}; - "http2_5_3_1" = callPackage + "http2_5_3_2" = callPackage ({ mkDerivation, aeson, aeson-pretty, array, async, base , base16-bytestring, bytestring, case-insensitive, containers , crypton, directory, filepath, gauge, Glob, hspec, hspec-discover @@ -167114,8 +167416,8 @@ self: { }: mkDerivation { pname = "http2"; - version = "5.3.1"; - sha256 = "0kc6akdinvgr4vigrh8zhaly8qy3r52sqazlqm6zgxm79ypb7djj"; + version = "5.3.2"; + sha256 = "18nhxfshlddf8dgl1lbnkswjrm1zw91hsbcmvlw9ninnaqvzz93k"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ @@ -167260,8 +167562,8 @@ self: { }: mkDerivation { pname = "http2-tls"; - version = "0.4.1"; - sha256 = "0sfzvbif14bszfbyal79q1lhha2hknmp0ala2r7sw1kdg824c6dr"; + version = "0.4.2"; + sha256 = "0fqdad7lrw7m942xl3k0yipm2qr48j3qd14a9a6m87dv2rypsqg4"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ @@ -167276,7 +167578,7 @@ self: { }) {}; "http3" = callPackage - ({ mkDerivation, array, attoparsec, base, base16-bytestring + ({ mkDerivation, array, async, attoparsec, base, base16-bytestring , bytestring, case-insensitive, conduit, conduit-extra, containers , crypton, hspec, hspec-discover, http-semantics, http-types, http2 , iproute, network, network-byte-order, quic, QuickCheck, sockaddr @@ -167284,14 +167586,14 @@ self: { }: mkDerivation { pname = "http3"; - version = "0.0.16"; - sha256 = "1b8zi7qklvz11793qi1whlnbx2c87c714p7faz9j2j6lc1i2dvwd"; + version = "0.0.17"; + sha256 = "1dq8qbrq1gfpdvkahpxgg11diyfqk59srnp4hl8sbw0fsdxmiawp"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ - array base bytestring case-insensitive containers http-semantics - http-types http2 network network-byte-order quic sockaddr stm - time-manager unliftio + array async base bytestring case-insensitive containers + http-semantics http-types http2 network network-byte-order quic + sockaddr stm time-manager unliftio ]; testHaskellDepends = [ attoparsec base base16-bytestring bytestring conduit conduit-extra @@ -167310,6 +167612,8 @@ self: { pname = "httpd-shed"; version = "0.4.1.2"; sha256 = "0ls6aim2glhmn8ncskvgkjbh3cyq3a6r7a5623ciir57nwd5g85k"; + revision = "1"; + editedCabalFile = "0f6ffi5gb77ma78fwvnq8ahzz8cj671dq0klbxd0sbnkmibvs3xb"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ base network network-bsd network-uri ]; @@ -168693,8 +168997,8 @@ self: { pname = "hw-ip"; version = "2.4.2.1"; sha256 = "1cwj6402314lblh7cm77j1bkpnjqpsk7rn8z94awqp4pfp4x8dk0"; - revision = "2"; - editedCabalFile = "0jkn9474ldwm3dy24lscjv16rx8hb2yr2r10lfgrw3i2y72c7gax"; + revision = "3"; + editedCabalFile = "1bg84h0iq648byy42ra06fpgdb7kzlaaq28q3rjwcx5pzjah4bb6"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ @@ -168929,8 +169233,8 @@ self: { }: mkDerivation { pname = "hw-kafka-avro"; - version = "6.0.0"; - sha256 = "1dbii37kgh4gsa30a7wqsl5vdwir7v2y3kksk9ab4djfir154anv"; + version = "6.0.1"; + sha256 = "1910yzn569x9iicd8c8ykkq3p5vz3py6d4j0pvwqy1h07xp528sk"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ @@ -169348,10 +169652,8 @@ self: { }: mkDerivation { pname = "hw-streams"; - version = "0.0.1.0"; - sha256 = "0hzpx1j06h98y0zcmysklzn3s3mvpbb1nkwg4zkbdxvzzqs5hnm5"; - revision = "5"; - editedCabalFile = "0a34xli9sdvqzc571k72hl3a2jhbhxs24y03k6pdzzz3akznhbn0"; + version = "0.0.1.1"; + sha256 = "1v6zinwzmss62n39h8l41i3h0spd6qam27h8nkap856jlrv9n9gr"; libraryHaskellDepends = [ base bytestring ghc-prim hw-bits hw-prim mmap primitive transformers vector @@ -170159,20 +170461,20 @@ self: { "hydra" = callPackage ({ mkDerivation, aeson, aeson-pretty, base, bytestring, containers , directory, filepath, hspec, hspec-discover, HsYAML, HUnit - , QuickCheck, scientific, split, text, unordered-containers, vector + , QuickCheck, scientific, split, text, vector }: mkDerivation { pname = "hydra"; - version = "0.1.1"; - sha256 = "1ljr6id1z4ym6ipmjhz1msmnqfbsj1z5klhx27dhxwmbfv5ndhyn"; + version = "0.5.1"; + sha256 = "0jg4dailiw0h8img3syhkxdzdlh3z11lya5azaqf0ki5kwh349n8"; libraryHaskellDepends = [ aeson aeson-pretty base bytestring containers directory filepath - HsYAML scientific split text unordered-containers vector + HsYAML scientific split text vector ]; testHaskellDepends = [ aeson aeson-pretty base bytestring containers directory filepath hspec hspec-discover HsYAML HUnit QuickCheck scientific split text - unordered-containers vector + vector ]; testToolDepends = [ hspec-discover ]; description = "Type-aware transformations for data and programs"; @@ -176730,6 +177032,23 @@ self: { mainProgram = "ip6addr"; }) {}; + "ip6addr_2_0_0" = callPackage + ({ mkDerivation, base, IPv6Addr, optparse-applicative, text }: + mkDerivation { + pname = "ip6addr"; + version = "2.0.0"; + sha256 = "1drhjv6xmwfnx2yvxxs03ds415gxdgylzkmb5wy9g7b12q91kxf5"; + isLibrary = false; + isExecutable = true; + executableHaskellDepends = [ + base IPv6Addr optparse-applicative text + ]; + description = "Commandline tool to deal with IPv6 address text representations"; + license = lib.licenses.bsd3; + hydraPlatforms = lib.platforms.none; + mainProgram = "ip6addr"; + }) {}; + "ipa" = callPackage ({ mkDerivation, attoparsec, base, hspec, template-haskell, text , unicode-transforms @@ -177100,8 +177419,8 @@ self: { }: mkDerivation { pname = "irc-core"; - version = "2.12"; - sha256 = "09w4i2f7zsl82w6ly6f9khwk9ki3k2yv9izhhxsjjwpffam2lxs2"; + version = "2.13"; + sha256 = "0z95cl8pg6zhzmz642bzgxc0525645whvxbmz6h1i8g1mll3i6kx"; libraryHaskellDepends = [ attoparsec base base64-bytestring bytestring hashable primitive text time vector @@ -181102,8 +181421,8 @@ self: { }: mkDerivation { pname = "json-spec"; - version = "0.5.0.0"; - sha256 = "1jdr9l8jvy4r11z6qxpicyafs48z792qkl24r20hddggq0kiac8z"; + version = "0.5.0.1"; + sha256 = "19kbipnr0v5pg95bvjc2j8wznyri9i0mb2ldx5zp9a1x5kmifwm7"; libraryHaskellDepends = [ aeson base containers scientific text time vector ]; @@ -181123,8 +181442,8 @@ self: { }: mkDerivation { pname = "json-spec-elm"; - version = "0.4.0.2"; - sha256 = "1l49x5bzqra0s2xpf8azbq07kkj9zkqj0qya83bgyg1wrsnv0ivl"; + version = "0.4.0.3"; + sha256 = "13gwqcgi08wc0zjx5vd5sx83rqp2nlh6wiyzh8idagv4f3xnm174"; libraryHaskellDepends = [ base bound containers elm-syntax json-spec mtl text ]; @@ -181142,8 +181461,8 @@ self: { }: mkDerivation { pname = "json-spec-elm-servant"; - version = "0.4.1.0"; - sha256 = "1l4gx5s8knf1f2s22qn4p8gnr8hbgys1b1pbcsmg0dvsac785871"; + version = "0.4.1.1"; + sha256 = "0g81dzs512rmgzk6h817d04sdacbdhd19j2qkmihlj6xzjd3gmbf"; libraryHaskellDepends = [ base bound containers directory elm-syntax filepath http-types json-spec json-spec-elm mtl prettyprinter process servant text @@ -181165,8 +181484,8 @@ self: { }: mkDerivation { pname = "json-spec-openapi"; - version = "0.3.1.0"; - sha256 = "0zypr3lxyqaywml7bkkvp00x4a6l4r8wggsplafvcvlanyz7b23i"; + version = "0.3.1.1"; + sha256 = "1dq93wscynxzkknwwad7alvi6n7908j7nzzgz7q5753wbxwqj5yp"; libraryHaskellDepends = [ aeson base insert-ordered-containers json-spec lens openapi3 text ]; @@ -182811,6 +183130,43 @@ self: { license = lib.licenses.bsd3; }) {}; + "katip_0_8_8_1" = callPackage + ({ mkDerivation, aeson, async, auto-update, base, blaze-builder + , bytestring, containers, criterion, deepseq, directory, either + , filepath, hostname, microlens, microlens-th, monad-control, mtl + , old-locale, quickcheck-instances, regex-tdfa, resourcet + , safe-exceptions, scientific, semigroups, stm, string-conv, tasty + , tasty-golden, tasty-hunit, tasty-quickcheck, template-haskell + , text, time, time-locale-compat, transformers, transformers-base + , transformers-compat, unix, unliftio-core, unordered-containers + , vector + }: + mkDerivation { + pname = "katip"; + version = "0.8.8.1"; + sha256 = "1745h9rkrm8dzvx1px62vq1rbgnwqxwrrz72m6vc4yyj1pzhhykc"; + libraryHaskellDepends = [ + aeson async auto-update base bytestring containers either hostname + microlens microlens-th monad-control mtl old-locale resourcet + safe-exceptions scientific semigroups stm string-conv + template-haskell text time transformers transformers-base + transformers-compat unix unliftio-core unordered-containers vector + ]; + testHaskellDepends = [ + aeson base bytestring containers directory microlens + quickcheck-instances regex-tdfa safe-exceptions stm tasty + tasty-golden tasty-hunit tasty-quickcheck template-haskell text + time time-locale-compat unordered-containers + ]; + benchmarkHaskellDepends = [ + aeson async base blaze-builder criterion deepseq directory filepath + safe-exceptions text time transformers unix + ]; + description = "A structured logging framework"; + license = lib.licenses.bsd3; + hydraPlatforms = lib.platforms.none; + }) {}; + "katip-datadog" = callPackage ({ mkDerivation, aeson, async, attoparsec, base, binary, bytestring , conduit, conduit-extra, connection, containers, katip, network @@ -184945,8 +185301,8 @@ self: { }: mkDerivation { pname = "knit"; - version = "0.3.0.0"; - sha256 = "0wp16yrlibfl32b4akcwali074wxar96mvaykgh0xsf4pq1czx3q"; + version = "0.4.0.0"; + sha256 = "0g0wajlhsbg6lamlf42z6k0h29zf7y0l6wjnc8ik47sx3l8r6agy"; libraryHaskellDepends = [ base bytestring containers deepseq hashtables vector ]; @@ -188905,6 +189261,8 @@ self: { pname = "lattices"; version = "2.2.1"; sha256 = "0rknzbzwcbg87hjiz4jwqb81w14pywkipxjrrlrp0m5i8ciky1i7"; + revision = "1"; + editedCabalFile = "1cjbshr1y2fa06sj60bk38x2h2fqirjr6y1y5xbnlj2ikszviq3b"; libraryHaskellDepends = [ base containers deepseq hashable integer-logarithms QuickCheck tagged transformers universe-base universe-reverse-instances @@ -194307,8 +194665,8 @@ self: { }: mkDerivation { pname = "lion"; - version = "0.4.0.0"; - sha256 = "0vh5krw9z7b7a6bvhc63l5m1rg3g0wyci055qarhsfw27dgbkfx8"; + version = "0.4.0.1"; + sha256 = "05c4pipqxism8scf8c5jmzwyh7gim3c1qwjpfgxv6fygb6lp2d2r"; libraryHaskellDepends = [ base clash-prelude generic-monoid ghc-typelits-extra ghc-typelits-knownnat ghc-typelits-natnormalise ice40-prim lens mtl @@ -194941,6 +195299,8 @@ self: { pname = "list-tuple"; version = "0.1.4.1"; sha256 = "1xikv5wq6xqq8wcxw9vjp5s5ci9qqyw2kxbxp03madzaawdqq0g6"; + revision = "1"; + editedCabalFile = "0bhaqprrhmdlbpy1ga73zia7a831mcwgdmvvk2bn5mzzgcscp57d"; setupHaskellDepends = [ base Cabal directory ]; libraryHaskellDepends = [ base OneTuple Only single-tuple ]; testHaskellDepends = [ @@ -195006,6 +195366,17 @@ self: { broken = true; }) {}; + "list1" = callPackage + ({ mkDerivation, base, smash }: + mkDerivation { + pname = "list1"; + version = "0.0.2"; + sha256 = "0lxx1m2vrf14fb8r4qzfp6y8iqxai3cdpg2dzh9az383qxhy0zmh"; + libraryHaskellDepends = [ base smash ]; + description = "Helpers for working with NonEmpty lists"; + license = lib.licenses.bsd3; + }) {}; + "listenbrainz-client" = callPackage ({ mkDerivation, aeson, base, free, freer-effects, http-client , kan-extensions, mtl, servant, servant-client, text, time @@ -198048,22 +198419,22 @@ self: { ({ mkDerivation, aeson, aeson-pretty, base, bytestring, co-log-core , containers, data-default, dependent-map, Diff, directory, extra , filepath, generic-lens, Glob, hspec, lens, lsp, lsp-types, mtl - , process, QuickCheck, row-types, stm, text, text-rope, unix-compat - , unliftio, unordered-containers + , process, QuickCheck, stm, text, text-rope, transformers + , unix-compat, unliftio, unordered-containers }: mkDerivation { pname = "lsp-client"; - version = "0.3.0.0"; - sha256 = "0d5d0rzscq9gc4jnl02584908g50mrqgxs3b6nly6wfpjaprklsd"; + version = "0.4.0.0"; + sha256 = "15f6inp47vw0k0hqgzxyy9ybq2kpv5ggvb3qj9m570miri6z4mr2"; libraryHaskellDepends = [ aeson aeson-pretty base bytestring co-log-core containers data-default dependent-map Diff directory extra filepath - generic-lens Glob lens lsp lsp-types mtl row-types stm text - text-rope unix-compat unliftio unordered-containers + generic-lens Glob lens lsp lsp-types mtl stm text text-rope + transformers unix-compat unliftio unordered-containers ]; testHaskellDepends = [ aeson base bytestring extra hspec lens lsp-types process QuickCheck - row-types unliftio + unliftio ]; description = "Haskell library for Language Server Protocol clients"; license = lib.licenses.asl20; @@ -200047,22 +200418,19 @@ self: { "mail-pool" = callPackage ({ mkDerivation, aeson, base, HaskellNet, HaskellNet-SSL, microlens - , mime-mail, network, optparse-applicative, resource-pool, time + , mime-mail, network, optparse-applicative, resource-pool }: mkDerivation { pname = "mail-pool"; - version = "2.2.3"; - sha256 = "1pqizx02p2iiqkl4kg3izkg477bh69jrk75insbfw30k3ay3g330"; + version = "2.3.1"; + sha256 = "0krawz58vjzkxj5y0ss3m575913xj90vpb5hmdnyspxlzp0fcpp4"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ aeson base HaskellNet HaskellNet-SSL microlens mime-mail network - optparse-applicative resource-pool time - ]; - executableHaskellDepends = [ - aeson base HaskellNet HaskellNet-SSL microlens mime-mail network - optparse-applicative resource-pool time + optparse-applicative resource-pool ]; + executableHaskellDepends = [ base mime-mail optparse-applicative ]; description = "Preconfigured email connection pool on top of smtp"; license = lib.licenses.mit; mainProgram = "exe"; @@ -207786,14 +208154,14 @@ self: { }) {}; "mockcat" = callPackage - ({ mkDerivation, base, hspec, template-haskell, text }: + ({ mkDerivation, base, hspec, mtl, template-haskell, text }: mkDerivation { pname = "mockcat"; - version = "0.2.1.0"; - sha256 = "1i0l3znnimnps022zk8z97bfsravr4w8l4rghh5app8ww01yjvhl"; - libraryHaskellDepends = [ base template-haskell text ]; - testHaskellDepends = [ base hspec template-haskell text ]; - description = "Simple mock function library for test in Haskell"; + version = "0.3.1.0"; + sha256 = "1akg2r96qxqpis3m0xrnaxi26c0nvwr91f3yczai0pzhrp6887g4"; + libraryHaskellDepends = [ base mtl template-haskell text ]; + testHaskellDepends = [ base hspec mtl template-haskell text ]; + description = "Mock library for test in Haskell"; license = lib.licenses.mit; }) {}; @@ -210484,10 +210852,8 @@ self: { }: mkDerivation { pname = "monoid-extras"; - version = "0.6.2"; - sha256 = "1qaxp0cf2cvzvfpk7x9mjz1zmlpjfzxij8v2n45w89s7bq9ckvlw"; - revision = "3"; - editedCabalFile = "16ff0ffc8my9jkylcsyskb6bpb1hpjsg2shv2vnrb54r7gqfqy8v"; + version = "0.6.3"; + sha256 = "1j908w0xmh6kdh0ilka3lhasf4vwnaic8srycdmwmyi94i5kh93i"; libraryHaskellDepends = [ base groups semigroupoids ]; benchmarkHaskellDepends = [ base criterion semigroups ]; description = "Various extra monoid-related definitions and utilities"; @@ -210906,6 +211272,8 @@ self: { pname = "months"; version = "0.2.1"; sha256 = "18ysiyj5vqp96nvrkaa1k58ci6l08x03lkiq6cmi5vyg4gw734ig"; + revision = "1"; + editedCabalFile = "1lmikm7y31wlk634fr2l6ba74mn5a1h5y3p1phx7xjxvahjf3li7"; libraryHaskellDepends = [ aeson attoparsec base deepseq hashable intervals QuickCheck text time-compat @@ -220008,8 +220376,8 @@ self: { }: mkDerivation { pname = "ngx-export-distribution"; - version = "0.5.6.0"; - sha256 = "18ad3kkkl3aapsc95r7n7vwhjqzyyw0plbjv7vkc5hm0366picvl"; + version = "0.6.0.0"; + sha256 = "0j2z8k5grxz570gbf931v7b06v1yd94gr3l6wv960xdlwl1145qw"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ base Cabal directory filepath ]; @@ -221848,15 +222216,15 @@ self: { license = lib.licenses.asl20; }) {}; - "nothunks_0_2_1_1" = callPackage + "nothunks_0_3_0_0" = callPackage ({ mkDerivation, base, bytestring, containers, ghc-heap, ghc-prim , hedgehog, random, stm, tasty, tasty-hedgehog, text, time, vector , wherefrom-compat }: mkDerivation { pname = "nothunks"; - version = "0.2.1.1"; - sha256 = "1nhwa7w62rgfjim3hyq6ryvfh24f7g20ghhkykyj7sjxmwyri9yc"; + version = "0.3.0.0"; + sha256 = "0fnwad49mv0q46wrnapkqh4hm4rm43gw0papppqrg0z96r658yc4"; libraryHaskellDepends = [ base bytestring containers ghc-heap stm text time vector wherefrom-compat @@ -222986,20 +223354,6 @@ self: { }) {}; "numhask-array" = callPackage - ({ mkDerivation, adjunctions, base, distributive, numhask, vector - }: - mkDerivation { - pname = "numhask-array"; - version = "0.11.0.1"; - sha256 = "1z9n5ls08b3329kh4hidcm0p6kx3672svkqaci6nlq2zxj6szgda"; - libraryHaskellDepends = [ - adjunctions base distributive numhask vector - ]; - description = "Multi-dimensional arrays"; - license = lib.licenses.bsd3; - }) {}; - - "numhask-array_0_11_1_0" = callPackage ({ mkDerivation, adjunctions, base, distributive, numhask, vector }: mkDerivation { @@ -223011,7 +223365,6 @@ self: { ]; description = "Multi-dimensional arrays"; license = lib.licenses.bsd3; - hydraPlatforms = lib.platforms.none; }) {}; "numhask-free" = callPackage @@ -224668,8 +225021,8 @@ self: { }: mkDerivation { pname = "om-doh"; - version = "0.1.0.2"; - sha256 = "036vqn7p7ha9dibsmsn0f0hiwr8570zdrnij98377ysn21xl5gzz"; + version = "0.1.0.3"; + sha256 = "0zk87kycigpzycrr898xgn5lzazmfcqcghf7qacj0cgzqsw62xww"; libraryHaskellDepends = [ base base64 bytestring http-api-data resolv servant servant-server text @@ -224699,13 +225052,32 @@ self: { broken = true; }) {}; + "om-elm_2_0_0_7" = callPackage + ({ mkDerivation, base, bytestring, Cabal, containers, directory + , http-types, safe, safe-exceptions, template-haskell, text, unix + , wai + }: + mkDerivation { + pname = "om-elm"; + version = "2.0.0.7"; + sha256 = "0xf775929s76galzqfaq2zx0ks1wkcfqzqi3a1z3zg6w4fswiw67"; + libraryHaskellDepends = [ + base bytestring Cabal containers directory http-types safe + safe-exceptions template-haskell text unix wai + ]; + description = "Haskell utilities for building embedded Elm programs"; + license = lib.licenses.mit; + hydraPlatforms = lib.platforms.none; + broken = true; + }) {}; + "om-fail" = callPackage ({ mkDerivation, base, monad-logger, safe-exceptions, transformers }: mkDerivation { pname = "om-fail"; - version = "0.1.0.4"; - sha256 = "0nf4hdx8a2invk0wjq3ryk8l5psl8jjkixskadmk8zd8r06mf3ky"; + version = "0.1.0.5"; + sha256 = "0a3h016vy2czq0bdkagljz9dpy1133ym07a61sk5drq76jcq5byn"; libraryHaskellDepends = [ base monad-logger safe-exceptions transformers ]; @@ -224721,8 +225093,8 @@ self: { }: mkDerivation { pname = "om-fork"; - version = "0.7.1.10"; - sha256 = "1p9sf45mcswz7z6a1m3axyk7kn0yb7dblxv90r7m8b1lbk67mgws"; + version = "0.7.1.11"; + sha256 = "03gln694nn2v16ccljgqr9a795skw5js9j76mamc803qgnrdsdj1"; libraryHaskellDepends = [ aeson base exceptions ki-unlifted monad-logger om-show text unliftio @@ -224743,8 +225115,8 @@ self: { }: mkDerivation { pname = "om-http"; - version = "0.3.1.0"; - sha256 = "1whs8v3m4ldxlw7as3jnw9snk3jx0biqkid2rr63c0kkxazlxjpp"; + version = "0.3.1.1"; + sha256 = "1nxc0bckjm0nm46rvnhs4vglrcrzwim114x912a4mdgwwi82fkax"; libraryHaskellDepends = [ async base bytestring directory filepath http-types mime-types monad-logger network om-show safe-exceptions servant @@ -224802,8 +225174,8 @@ self: { }: mkDerivation { pname = "om-legion"; - version = "6.9.0.6"; - sha256 = "05kh6raq4fbqcbj2add7q6s7r3m12cgskbsh1kp39zlibkgvl81d"; + version = "6.9.0.7"; + sha256 = "0cpmk7qi50d1az4sdq0qdishs7pp58pxv85mq3x8qmmrmiz4qs8l"; libraryHaskellDepends = [ aeson async base binary bytestring clock containers crdt-event-fold data-default-class http-api-data monad-logger mtl network om-fork @@ -224821,8 +225193,8 @@ self: { }: mkDerivation { pname = "om-logging"; - version = "1.1.0.8"; - sha256 = "1v6qdp0k6jccsbmcx127bj0y3aw0rwjwgzbw8022ny5x2yhw7wgf"; + version = "1.1.0.9"; + sha256 = "0k8yw4v1xxh2vm5507wxxfl3dvxfaz8nip3apri22aqyxjg05w45"; libraryHaskellDepends = [ aeson base bytestring fast-logger monad-logger om-show split text time @@ -224837,8 +225209,8 @@ self: { ({ mkDerivation, base, containers, ghc, safe }: mkDerivation { pname = "om-plugin-imports"; - version = "0.2.0.0.9.6"; - sha256 = "1whwipj1dqka4dhjigcmq4c74gv0r6y5y5px8m3fp08v62dbvbf2"; + version = "0.3.0.0.9.10"; + sha256 = "0x3h9maja4vq3zzh0swi6yfhc149gh4m01mdbhy0v2l6054mfl51"; libraryHaskellDepends = [ base containers ghc safe ]; description = "Plugin-based import warnings"; license = lib.licenses.mit; @@ -224850,8 +225222,8 @@ self: { ({ mkDerivation, aeson, base, text }: mkDerivation { pname = "om-show"; - version = "0.1.2.9"; - sha256 = "154x7l81chfj91bwrh9v1a8bcazkn99a8hzxkaadszb65wwi6jr8"; + version = "0.1.2.10"; + sha256 = "1ngwdci1pqf2wmhqfn54372wv7w7v8p5hr56k37kb0aslkdci8qa"; libraryHaskellDepends = [ aeson base text ]; description = "Utilities for showing string-like things"; license = lib.licenses.mit; @@ -224865,8 +225237,8 @@ self: { }: mkDerivation { pname = "om-socket"; - version = "1.0.0.1"; - sha256 = "1jgg1wfvxl36xgmhaaa7ri0grdhakzfrq1ivzh6788mxfdb4dkj7"; + version = "1.0.0.3"; + sha256 = "0slvcxz4s81w8wagqyrlawlss4sgwcxqnpjaayvxgf8d0rq5add6"; libraryHaskellDepends = [ aeson base binary bytestring containers exceptions megaparsec monad-logger network om-fork om-show stm streaming streaming-binary @@ -224886,8 +225258,8 @@ self: { ({ mkDerivation, aeson, base, binary, clock, time, transformers }: mkDerivation { pname = "om-time"; - version = "0.3.0.4"; - sha256 = "14afibgh8r0zakgx4inlmnmllyz0x51fm70q7rd73x1q03w9icd1"; + version = "0.3.1.0"; + sha256 = "1ri7hp3jb0nnc5j02n5wh0ninsng58w79hx9rmmq9z972m4vbqfn"; libraryHaskellDepends = [ aeson base binary clock time transformers ]; @@ -225878,8 +226250,8 @@ self: { }: mkDerivation { pname = "opencascade-hs"; - version = "0.3.0.1"; - sha256 = "13yvcsibh600mhsvj30hflwb2f2pyvh8yhm69j693vxwxirvgpi2"; + version = "0.4.0.0"; + sha256 = "1dhasjjhcg54qihcihid69z70l75dn7xsbsd765lsgzc35m1qbrl"; libraryHaskellDepends = [ base resourcet ]; librarySystemDepends = [ TKBO TKBRep TKDEGLTF TKDEOBJ TKDESTEP TKDESTL TKernel TKFillet @@ -227085,8 +227457,8 @@ self: { }: mkDerivation { pname = "opt-env-conf"; - version = "0.4.0.5"; - sha256 = "08pkrdxy9fsbqdp6qz4y3q5my04h2rfrhhyd64rqbbdfvz2biygz"; + version = "0.5.0.1"; + sha256 = "1x0zb436yrcvihr6g7g7gz2w0nhlbv3nqgf0rmaa3clp72a272rk"; libraryHaskellDepends = [ aeson autodocodec autodocodec-nix autodocodec-schema autodocodec-yaml base containers hashable mtl path path-io @@ -227186,8 +227558,8 @@ self: { pname = "optics-extra"; version = "0.4.2.1"; sha256 = "0hfa5yb7l3l310lfxkii13fjzb69g619agadc5a86i734nisf8vy"; - revision = "3"; - editedCabalFile = "1dh1w543nkhy09rndmcx5qmm5j9a76p4hcyqqafq8yz5fm60hmzs"; + revision = "4"; + editedCabalFile = "0ravf8rwqdaqkbpc8vh566snh52mmpxwqxvp8bzk85a4cyi509sd"; libraryHaskellDepends = [ array base bytestring containers hashable indexed-profunctors indexed-traversable-instances mtl optics-core text transformers @@ -229037,22 +229409,19 @@ self: { "package-version" = callPackage ({ mkDerivation, base, bytestring, deepseq, doctest, env-guard - , hedgehog, prettyprinter, safe-exceptions, tagged, tasty - , tasty-hedgehog, tasty-hunit, template-haskell, text + , hedgehog, tasty, tasty-hedgehog, tasty-hunit, template-haskell + , text }: mkDerivation { pname = "package-version"; - version = "0.3"; - sha256 = "01d0345qs5c02gmh3ccsl0xbmiqwcbdpzlqgx2pwj6iv9vvjrf5l"; - revision = "4"; - editedCabalFile = "08pjfpib8g8ci9d9p3461bg37k64f0360cx35v4i8lqj8ny69xvh"; + version = "0.4"; + sha256 = "00ack16vq6c1pqrnm5pl8m0p5dx0rgrzk2ylsl22l9fj70v730a6"; libraryHaskellDepends = [ - base bytestring deepseq prettyprinter safe-exceptions - template-haskell text + base bytestring deepseq template-haskell text ]; testHaskellDepends = [ - base doctest env-guard hedgehog safe-exceptions tagged tasty - tasty-hedgehog tasty-hunit text + base doctest env-guard hedgehog tasty tasty-hedgehog tasty-hunit + text ]; description = "A package for retrieving a package's version number"; license = lib.licenses.bsd3; @@ -229987,8 +230356,8 @@ self: { pname = "pandoc-crossref"; version = "0.3.17.1"; sha256 = "0md7i54rnvgn0yll7mwhi124nak0pfmpga34vnd996r6fgmnq5fb"; - revision = "1"; - editedCabalFile = "0vfhhzqihc911l8j94pn8mljl9l1zfgzrihm3967g0y43agp6h2s"; + revision = "2"; + editedCabalFile = "00x3nqlrp872wq2alaahkiv34ifj36bs2ql0n4vn2h19wlg1f578"; isLibrary = true; isExecutable = true; enableSeparateDataOutput = true; @@ -233282,6 +233651,30 @@ self: { license = lib.licenses.bsd3; }) {}; + "path_0_9_6" = callPackage + ({ mkDerivation, aeson, base, bytestring, deepseq, exceptions + , filepath, genvalidity, genvalidity-hspec, hashable, hspec + , QuickCheck, template-haskell, text, validity-bytestring + }: + mkDerivation { + pname = "path"; + version = "0.9.6"; + sha256 = "1zwrwyvlj9n1qplvxixd6rjc0y0yzjdhfvh4lwp2g42qaabhal2q"; + libraryHaskellDepends = [ + aeson base deepseq exceptions filepath hashable template-haskell + text + ]; + testHaskellDepends = [ + aeson base bytestring exceptions filepath genvalidity + genvalidity-hspec hspec QuickCheck template-haskell + validity-bytestring + ]; + doHaddock = false; + description = "Support for well-typed paths"; + license = lib.licenses.bsd3; + hydraPlatforms = lib.platforms.none; + }) {}; + "path-binary-instance" = callPackage ({ mkDerivation, base, binary, path }: mkDerivation { @@ -237726,23 +238119,23 @@ self: { "photoname" = callPackage ({ mkDerivation, ansi-wl-pprint, base, containers, directory - , filepath, heredoc, hsexif, hslogger, mtl, newtype-generics - , optparse-applicative, parsec, process, regex-posix, tasty - , tasty-hunit, tasty-quickcheck, time, unix + , filepath, heredoc, hsexif, hslogger, mtl, optparse-applicative + , parsec, process, regex-posix, tasty, tasty-hunit + , tasty-quickcheck, time, unix }: mkDerivation { pname = "photoname"; - version = "5.1"; - sha256 = "0ihw0pjiqwfny8nqbdglg13dch622m2agp2y328n7fqar79xx6dv"; + version = "5.2"; + sha256 = "0sf7hj6xa7bj074jamhm8jribbdjywdgg2z7wxjzmb2aliji5syi"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ - base containers directory filepath hsexif hslogger mtl - newtype-generics parsec process time unix + base containers directory filepath hsexif hslogger mtl parsec + process time unix ]; executableHaskellDepends = [ ansi-wl-pprint base directory filepath heredoc hslogger - newtype-generics optparse-applicative unix + optparse-applicative unix ]; testHaskellDepends = [ base directory filepath process regex-posix tasty tasty-hunit @@ -239527,8 +239920,8 @@ self: { pname = "pipes-safe"; version = "2.3.5"; sha256 = "13npagy597g6zfr2f3vj4a98h2ssg2ps7lmdzrgdsvm8m28x3cph"; - revision = "2"; - editedCabalFile = "04yyjgqr81b10635bw0f2i5kfh0qzp7l3v9k9qbzskvlsl3kdyjy"; + revision = "3"; + editedCabalFile = "1wic8km3c17g2xrmxd4qj5qmppb76k7srxrgj8jg1vs6g2l7v6cs"; libraryHaskellDepends = [ base containers exceptions monad-control mtl pipes primitive transformers transformers-base @@ -242974,6 +243367,8 @@ self: { pname = "popkey"; version = "0.1.0.2"; sha256 = "0ibk4qwcizsqvyvb8lgad5c0szgw7571bi2c54b5r3rrm7vzpx05"; + revision = "1"; + editedCabalFile = "0iwzwckvlvaxqk92f700zgxqwf1s2i5siabi0dlr89gzb2ljil2j"; libraryHaskellDepends = [ base bitvec bytestring containers hw-bits hw-prim hw-rankselect hw-rankselect-base store text vector @@ -244032,24 +244427,34 @@ self: { license = lib.licenses.bsd3; }) {inherit (pkgs) postgresql;}; - "postgresql-libpq_0_10_1_0" = callPackage - ({ mkDerivation, base, bytestring, Cabal, postgresql, tasty - , tasty-hunit, unix + "postgresql-libpq_0_10_2_0" = callPackage + ({ mkDerivation, base, bytestring, postgresql-libpq-configure + , tasty, tasty-hunit, unix }: mkDerivation { pname = "postgresql-libpq"; - version = "0.10.1.0"; - sha256 = "1w49zp3izxi3s4mq71i93i4s08kwcv1j0j6m5cfpxcp5s4h12pwq"; - revision = "1"; - editedCabalFile = "1d7hvi969ksdzg4fzyy448k354h4jl3k2i3fv8nb6c4y1bzysiba"; - setupHaskellDepends = [ base Cabal ]; - libraryHaskellDepends = [ base bytestring unix ]; - librarySystemDepends = [ postgresql ]; + version = "0.10.2.0"; + sha256 = "1vsb95m7k7j7k1156bb2kn1iavj4x3mvczpybw0mypa76a1ppsck"; + libraryHaskellDepends = [ + base bytestring postgresql-libpq-configure unix + ]; testHaskellDepends = [ base bytestring tasty tasty-hunit ]; description = "low-level binding to libpq"; license = lib.licenses.bsd3; hydraPlatforms = lib.platforms.none; - }) {inherit (pkgs) postgresql;}; + }) {}; + + "postgresql-libpq-configure" = callPackage + ({ mkDerivation, base }: + mkDerivation { + pname = "postgresql-libpq-configure"; + version = "0.10"; + sha256 = "00483rfqa65ivxlm3smbr3n4k397izifarjx408pnibqcj4s6yd7"; + libraryHaskellDepends = [ base ]; + doHaddock = false; + description = "low-level binding to libpq: configure based provider"; + license = lib.licenses.bsd3; + }) {}; "postgresql-libpq-notify" = callPackage ({ mkDerivation, async, base, hspec, postgres-options @@ -244068,6 +244473,19 @@ self: { license = lib.licenses.bsd3; }) {}; + "postgresql-libpq-pkgconfig" = callPackage + ({ mkDerivation, base, libpq }: + mkDerivation { + pname = "postgresql-libpq-pkgconfig"; + version = "0.10"; + sha256 = "1vjfq3iiwygfyb16q84xfa1zhhr63ammfdzq6ks1si02na3k3paw"; + libraryHaskellDepends = [ base ]; + libraryPkgconfigDepends = [ libpq ]; + doHaddock = false; + description = "low-level binding to libpq: pkg-config based provider"; + license = lib.licenses.bsd3; + }) {libpq = null;}; + "postgresql-lo-stream" = callPackage ({ mkDerivation, base, bytestring, io-streams, lifted-base , monad-loops, mtl, postgresql-simple @@ -244345,8 +244763,8 @@ self: { pname = "postgresql-simple"; version = "0.7.0.0"; sha256 = "0gm1wk2zq35h46v0l1qc0z63jv3gxgqd059j1mcmww80a6sipf4c"; - revision = "1"; - editedCabalFile = "0yhggx06wbg57psqa8sswf85qfzy8ndssv13vwmxj0gc1ca1zv4l"; + revision = "2"; + editedCabalFile = "0y86qpm3pffk08d6smpqjfbqmn7bh8yyahc901vk86aln22nqf6w"; libraryHaskellDepends = [ aeson attoparsec base bytestring case-insensitive containers hashable Only postgresql-libpq scientific template-haskell text @@ -247553,14 +247971,12 @@ self: { license = lib.licenses.mit; }) {}; - "process_1_6_20_0" = callPackage + "process_1_6_22_0" = callPackage ({ mkDerivation, base, deepseq, directory, filepath, unix }: mkDerivation { pname = "process"; - version = "1.6.20.0"; - sha256 = "16prkmaj4dz394pg40w5xgbxlh5kbhhliwawdcqs57q0qchs5zff"; - revision = "1"; - editedCabalFile = "00yabbj6vjlxnslp516a824gwkx9hxx9a9j8izxib17i6gg974ra"; + version = "1.6.22.0"; + sha256 = "1yv8pk2g8d5wrw3306ar76fzgd6iyra9ci0syjl0b4pmwxff41ps"; libraryHaskellDepends = [ base deepseq directory filepath unix ]; description = "Process libraries"; license = lib.licenses.bsd3; @@ -248606,6 +249022,26 @@ self: { license = lib.licenses.bsd3; }) {}; + "prometheus_2_3_0" = callPackage + ({ mkDerivation, atomic-primops, base, bytestring, containers + , http-client, http-client-tls, http-types, network-uri, text + , transformers, wai, warp + }: + mkDerivation { + pname = "prometheus"; + version = "2.3.0"; + sha256 = "0mawlfpx34nv44a46z1s68xdrnxmrwsbi3rq9hhfbq9jpj161rk5"; + isLibrary = true; + isExecutable = true; + libraryHaskellDepends = [ + atomic-primops base bytestring containers http-client + http-client-tls http-types network-uri text transformers wai warp + ]; + description = "Prometheus Haskell Client"; + license = lib.licenses.bsd3; + hydraPlatforms = lib.platforms.none; + }) {}; + "prometheus-client" = callPackage ({ mkDerivation, atomic-primops, base, bytestring, clock , containers, criterion, data-sketches, deepseq, doctest @@ -250723,6 +251159,29 @@ self: { mainProgram = "purenix"; }) {}; + "puresat" = callPackage + ({ mkDerivation, base, bytestring, containers, filepath, minisat + , parsec, primitive, QuickCheck, tasty, tasty-hunit + , tasty-quickcheck + }: + mkDerivation { + pname = "puresat"; + version = "0.1"; + sha256 = "14jkk4wkmwh0pqai9zzsq214pc3g9fr3bv2lvq72k50cg49dc72a"; + isLibrary = true; + isExecutable = true; + libraryHaskellDepends = [ + base bytestring containers parsec primitive + ]; + testHaskellDepends = [ + base filepath minisat primitive QuickCheck tasty tasty-hunit + tasty-quickcheck + ]; + doHaddock = false; + description = "Pure Haskell SAT-solver"; + license = lib.licenses.bsd3; + }) {}; + "purescheme-wai-routing-core" = callPackage ({ mkDerivation, aeson, base, bytestring, case-insensitive , http-media, http-types, interpolate, text, wai, warp @@ -252565,8 +253024,8 @@ self: { }: mkDerivation { pname = "quic"; - version = "0.2.0"; - sha256 = "1mjy4kv05zk7c7ygkfj95i8c8bzh1n11y4q5bnick2bwhn1wd94k"; + version = "0.2.2"; + sha256 = "0bx6bccnfrqm7593mwi1c52pmb2dimxp3pllc6m818bgwrkii61w"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ @@ -252867,8 +253326,8 @@ self: { pname = "quickcheck-instances"; version = "0.3.31"; sha256 = "0bsfh6fwc8h3jzkqrqk56rm6iphrmlrp80pa2z1gs79mz4d7w64v"; - revision = "1"; - editedCabalFile = "1l92l30ghks35wr4im54h44ipw8ddwh3jsinl5snmy2jgv3jaz89"; + revision = "2"; + editedCabalFile = "1zigggr5i4ikmc34p97x5md1nvpgkwvnvky7saxxsi5w3s3g3zqz"; libraryHaskellDepends = [ array base bytestring case-insensitive containers data-fix hashable integer-logarithms old-time OneTuple primitive QuickCheck @@ -255032,6 +255491,8 @@ self: { pname = "range-set-list"; version = "0.1.4"; sha256 = "1w5kvqi66wg13m6ibzkjkn1gf725msr6ks4nfm5chhk30ad4lvj1"; + revision = "1"; + editedCabalFile = "0819grvps1rb88s1a93mh1mwhxqk67rpijjk13lpfib9948scnfy"; libraryHaskellDepends = [ base containers deepseq hashable ]; testHaskellDepends = [ base containers deepseq hashable tasty tasty-quickcheck @@ -255689,8 +256150,8 @@ self: { pname = "raven-haskell"; version = "0.1.4.1"; sha256 = "0977rwafdwljz3444asvjsikpwc89diahmmzl9f5xc8dzfqcnzay"; - revision = "1"; - editedCabalFile = "1107g5f6sr7sjxnh2d3g727ncfqni6dsvda5hr99fh86vhm2g1wi"; + revision = "2"; + editedCabalFile = "0d6mw3il9qd9ja0828sh1w3x8aib88m37s8ymmdwjp41bkwcrny0"; libraryHaskellDepends = [ aeson base bytestring http-conduit mtl network random resourcet text time unordered-containers uuid-types @@ -255706,8 +256167,8 @@ self: { }: mkDerivation { pname = "raven-haskell-scotty"; - version = "0.1.0.3"; - sha256 = "0vllfasn4rky8r8fg3mpln8pdkxbcvrvx8wamn0xswfwf1rvcf6k"; + version = "0.1.1.0"; + sha256 = "05zk3z5y9vi143mb9asxrd0nzbndhinv6mp4f6lfpcdn9ir9bgaq"; libraryHaskellDepends = [ base bytestring case-insensitive mtl raven-haskell scotty text wai ]; @@ -263665,8 +264126,10 @@ self: { pname = "ribbit"; version = "1.1.0.1"; sha256 = "076m5w4w08z8migb0v8vb6lybs06x1bfvxqfi9g633lz464hyi9v"; + revision = "1"; + editedCabalFile = "00mymcg55bli8a70wvfdssmmrp221p9igv1963m3lzxz9nfi7186"; libraryHaskellDepends = [ base Only postgresql-simple text time ]; - description = "Type-level Relational DB combinators"; + description = "[Unmaintained] Type-level Relational DB combinators"; license = lib.licenses.mit; hydraPlatforms = lib.platforms.none; broken = true; @@ -265891,8 +266354,8 @@ self: { }: mkDerivation { pname = "rpmbuild-order"; - version = "0.4.11"; - sha256 = "0yvv524cy8iblxgkf125s8b6xjhg7a0l36xrfb51hl6y71b5cdx5"; + version = "0.4.12"; + sha256 = "16l3pxzqndjhnycpnn9jnxisp9mjdbyvglfpra1is07ssr0ckqn0"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ @@ -266763,6 +267226,43 @@ self: { broken = true; }) {}; + "rzk_0_7_5" = callPackage + ({ mkDerivation, aeson, alex, array, base, bifunctors, BNFC + , bytestring, Cabal, co-log-core, data-default-class, directory + , doctest, filepath, Glob, happy, hspec, hspec-discover, lens, lsp + , lsp-types, mtl, optparse-generic, process, QuickCheck, stm + , template-haskell, text, with-utf8, yaml + }: + mkDerivation { + pname = "rzk"; + version = "0.7.5"; + sha256 = "0x9485rs2hc51jfaczcmx89jn2nnppfnrk717xc559rzb64s2sgk"; + isLibrary = true; + isExecutable = true; + setupHaskellDepends = [ base Cabal process ]; + libraryHaskellDepends = [ + aeson array base bifunctors bytestring co-log-core + data-default-class directory filepath Glob lens lsp lsp-types mtl + stm template-haskell text yaml + ]; + libraryToolDepends = [ alex BNFC happy ]; + executableHaskellDepends = [ + array base bifunctors bytestring directory Glob mtl + optparse-generic template-haskell text with-utf8 yaml + ]; + executableToolDepends = [ alex BNFC happy ]; + testHaskellDepends = [ + array base bifunctors bytestring directory doctest Glob hspec + hspec-discover mtl QuickCheck template-haskell text yaml + ]; + testToolDepends = [ alex BNFC happy hspec-discover ]; + description = "An experimental proof assistant for synthetic ∞-categories"; + license = lib.licenses.bsd3; + hydraPlatforms = lib.platforms.none; + mainProgram = "rzk"; + broken = true; + }) {}; + "s-cargot" = callPackage ({ mkDerivation, base, containers, HUnit, parsec, QuickCheck, text }: @@ -266782,8 +267282,8 @@ self: { ({ mkDerivation, base, HUnit, parsec, s-cargot, text }: mkDerivation { pname = "s-cargot-letbind"; - version = "0.2.4.0"; - sha256 = "1q6rn25c95y9pa96v3p715hkqdagcf92ih9myqimp107c4ma8gn1"; + version = "0.2.5.0"; + sha256 = "1wivljmfpq0llk7pydyc2awkx03jdcln4r0gl5zmmr2diwvjzadc"; libraryHaskellDepends = [ base s-cargot text ]; testHaskellDepends = [ base HUnit parsec s-cargot text ]; description = "Enables let-binding and let-expansion for s-cargot defined S-expressions"; @@ -266978,19 +267478,13 @@ self: { broken = true; }) {}; - "safe-coloured-text-layout_0_2_0_0" = callPackage - ({ mkDerivation, base, bytestring, safe-coloured-text, sydtest - , sydtest-discover, text, validity - }: + "safe-coloured-text-layout_0_2_0_1" = callPackage + ({ mkDerivation, base, safe-coloured-text, text, validity }: mkDerivation { pname = "safe-coloured-text-layout"; - version = "0.2.0.0"; - sha256 = "0hhmhbm7zw45nxqy24k8za30k4z0wr2hclgh3kzn72sdb0cq5jir"; + version = "0.2.0.1"; + sha256 = "0pqpsjjsjrnl4dg7nzjspb13iwajph2phyy1056kljnr0yfvysc6"; libraryHaskellDepends = [ base safe-coloured-text text validity ]; - testHaskellDepends = [ - base bytestring safe-coloured-text sydtest text - ]; - testToolDepends = [ sydtest-discover ]; description = "Safely layout output coloured text"; license = lib.licenses.mit; hydraPlatforms = lib.platforms.none; @@ -267018,6 +267512,27 @@ self: { hydraPlatforms = lib.platforms.none; }) {}; + "safe-coloured-text-layout-gen_0_0_0_1" = callPackage + ({ mkDerivation, base, genvalidity, genvalidity-sydtest + , safe-coloured-text, safe-coloured-text-gen + , safe-coloured-text-layout, sydtest, sydtest-discover, text + }: + mkDerivation { + pname = "safe-coloured-text-layout-gen"; + version = "0.0.0.1"; + sha256 = "1yk5xdx9qwfq32407857kfcf7jdxhpz1k70j27741jnfjws8jwb0"; + libraryHaskellDepends = [ + base genvalidity safe-coloured-text-gen safe-coloured-text-layout + ]; + testHaskellDepends = [ + base genvalidity-sydtest safe-coloured-text + safe-coloured-text-layout sydtest text + ]; + testToolDepends = [ sydtest-discover ]; + license = lib.licenses.mit; + hydraPlatforms = lib.platforms.none; + }) {}; + "safe-coloured-text-terminfo" = callPackage ({ mkDerivation, base, safe-coloured-text, terminfo }: mkDerivation { @@ -268880,7 +269395,7 @@ self: { broken = true; }) {inherit (pkgs) z3;}; - "sbv_10_11" = callPackage + "sbv_10_12" = callPackage ({ mkDerivation, array, async, base, bytestring, containers , deepseq, directory, filepath, libBF, mtl, pretty, process , QuickCheck, random, syb, tasty, tasty-bench, tasty-golden @@ -268889,8 +269404,8 @@ self: { }: mkDerivation { pname = "sbv"; - version = "10.11"; - sha256 = "0q1xjhkbg6pv5hsnyl64ycfqbkq8kk8glmhh28rh2llj7r4lzmh0"; + version = "10.12"; + sha256 = "1siavgsc0a25rl4x22jcff2d9h1bqif4vm1nymz6niglbqnnrsv8"; enableSeparateDataOutput = true; libraryHaskellDepends = [ array async base containers deepseq directory filepath libBF mtl @@ -270268,10 +270783,12 @@ self: { pname = "scotty-resource"; version = "0.2.0.2"; sha256 = "1lhaajsx34hlci76wjvab7a1sjd42silxsvf94ncf0pc0rmjqg1n"; + revision = "1"; + editedCabalFile = "11nwgmfc25bifdfwjs6jpjdrm080hdxqmn4vl5w61zza4972ykmp"; libraryHaskellDepends = [ base containers http-types scotty text transformers wai ]; - description = "A Better way of modeling web resources"; + description = "[Deprecated] A Better way of modeling web resources"; license = lib.licenses.asl20; hydraPlatforms = lib.platforms.none; broken = true; @@ -271755,6 +272272,22 @@ self: { license = lib.licenses.bsd3; }) {}; + "select-rpms" = callPackage + ({ mkDerivation, base, directory, extra, filepath, Glob, rpm-nvr + , safe, simple-cmd, simple-cmd-args, simple-prompt + }: + mkDerivation { + pname = "select-rpms"; + version = "0.1.0"; + sha256 = "056an1cn0zx3ibbfx0qpv8aw19vnc8igkhz5phjmvypxzls75qd6"; + libraryHaskellDepends = [ + base directory extra filepath Glob rpm-nvr safe simple-cmd + simple-cmd-args simple-prompt + ]; + description = "Select a subset of RPM packages"; + license = lib.licenses.mit; + }) {}; + "selections" = callPackage ({ mkDerivation, base }: mkDerivation { @@ -271994,6 +272527,8 @@ self: { pname = "semialign"; version = "1.3.1"; sha256 = "1xwx1icyggjbjflgn75bsqw34dmpsd15qqmz13ljxv7zak17ps36"; + revision = "1"; + editedCabalFile = "047n3dfaci8igd7dawxj0ni5452w26ay36lr259qrb5zqfwzvfhf"; libraryHaskellDepends = [ base containers hashable indexed-traversable indexed-traversable-instances semigroupoids tagged these @@ -272734,17 +273269,17 @@ self: { "sequence-formats" = callPackage ({ mkDerivation, attoparsec, base, bytestring, containers, errors , exceptions, foldl, hspec, lens-family, pipes, pipes-attoparsec - , pipes-bytestring, pipes-safe, tasty, tasty-hunit, transformers - , vector + , pipes-bytestring, pipes-safe, pipes-zlib, tasty, tasty-hunit + , transformers, vector }: mkDerivation { pname = "sequence-formats"; - version = "1.8.0.1"; - sha256 = "093w13dy7p2i77pc94b32n8j47q8c05kih597a9h107plzy97zxk"; + version = "1.8.1.0"; + sha256 = "105kxxczmdq6k2mnfsr5k6ixnlcllkhk9w70c5jcf96wz4gm6ydz"; libraryHaskellDepends = [ attoparsec base bytestring containers errors exceptions foldl lens-family pipes pipes-attoparsec pipes-bytestring pipes-safe - transformers vector + pipes-zlib transformers vector ]; testHaskellDepends = [ base bytestring containers foldl hspec pipes pipes-safe tasty @@ -273133,8 +273668,8 @@ self: { pname = "servant"; version = "0.20.1"; sha256 = "1s8vapj8qb8l5snjzxd63d9rvxwa1vw6g77cg8nynrzzppwp7xwl"; - revision = "4"; - editedCabalFile = "0yd1v3vk7lay3f9jnkybqc57am4qkgnxaz5s8rnc243agmrd4shs"; + revision = "5"; + editedCabalFile = "1lp44k8vsjwscjc5palvr930pznrm40adqksm3jcmhjsq63xmmji"; libraryHaskellDepends = [ aeson attoparsec base base-compat bifunctors bytestring case-insensitive constraints deepseq http-api-data http-media @@ -275531,8 +276066,8 @@ self: { pname = "servant-server"; version = "0.20"; sha256 = "1gp8pslk2sspi5vzrl1nimndpif7jhgzlffi2mzf1ap1bdwgxchk"; - revision = "5"; - editedCabalFile = "1k9rfv4pql4x7qb6gs4yzrfmyp2snfw8640mqaknbg9mc8ic28bc"; + revision = "6"; + editedCabalFile = "1n70k1n65lyqx4lhbmg1gw5mfl584smlyaxzrllmp9flh50z64nf"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ @@ -277916,7 +278451,7 @@ self: { license = lib.licenses.mit; }) {}; - "shakespeare" = callPackage + "shakespeare_2_1_0_1" = callPackage ({ mkDerivation, aeson, base, blaze-html, blaze-markup, bytestring , containers, directory, exceptions, file-embed, ghc-prim, hspec , HUnit, parsec, process, scientific, template-haskell, text @@ -277939,6 +278474,33 @@ self: { ]; description = "A toolkit for making compile-time interpolated templates"; license = lib.licenses.mit; + hydraPlatforms = lib.platforms.none; + maintainers = [ lib.maintainers.psibi ]; + }) {}; + + "shakespeare" = callPackage + ({ mkDerivation, aeson, base, blaze-html, blaze-markup, bytestring + , containers, directory, exceptions, file-embed, ghc-prim, hspec + , HUnit, parsec, process, scientific, template-haskell, text + , th-lift, time, transformers, unordered-containers, vector + }: + mkDerivation { + pname = "shakespeare"; + version = "2.1.1"; + sha256 = "1j6jniy8d8dgc61h4n2kw668y8f30cqnsfwmgad1s4fqj1bplh0r"; + libraryHaskellDepends = [ + aeson base blaze-html blaze-markup bytestring containers directory + exceptions file-embed ghc-prim parsec process scientific + template-haskell text th-lift time transformers + unordered-containers vector + ]; + testHaskellDepends = [ + aeson base blaze-html blaze-markup bytestring containers directory + exceptions ghc-prim hspec HUnit parsec process template-haskell + text time transformers + ]; + description = "A toolkit for making compile-time interpolated templates"; + license = lib.licenses.mit; maintainers = [ lib.maintainers.psibi ]; }) {}; @@ -278607,6 +279169,8 @@ self: { pname = "shh"; version = "0.7.3.0"; sha256 = "18rb6jhkazl64mixnw0s4v824m4vvmnpap3lvv917xsjj605xx1a"; + revision = "6"; + editedCabalFile = "1wqmdm902lf06l400drvzqjcnb89vx817q1z91klvky8bnxp1ksg"; isLibrary = true; isExecutable = true; setupHaskellDepends = [ base Cabal ]; @@ -278633,8 +279197,8 @@ self: { pname = "shh-extras"; version = "0.1.0.2"; sha256 = "0yax761d0xgc8nqg8h7y69fb1mwf88w73sznh3kffhlaladavskx"; - revision = "1"; - editedCabalFile = "1rk56bpsdiyylay8kmgky2i4bvxs6xjc3xdc1yssb2qv74gcl8wq"; + revision = "2"; + editedCabalFile = "176mjl67pjdzz92281qipj250gc3dixdfpb3x8v14w0f28r4ja55"; libraryHaskellDepends = [ base hostname shh time ]; testHaskellDepends = [ base tasty ]; description = "Utility functions for using shh"; @@ -281099,8 +281663,8 @@ self: { pname = "single-tuple"; version = "0.1.3.0"; sha256 = "1axr5bv92pc9261mpcjq8wn0871i4n18hn9qpk8gpqj6zvh9gjcc"; - revision = "1"; - editedCabalFile = "0lcg7rjy51rja8f4575cssrhyb86f03w13aw440mqs85mnzx75km"; + revision = "2"; + editedCabalFile = "0in3mgf3mdc8zh8zj9sqipfjnb4007r0zzbswkn9ydwz0hi0q09n"; libraryHaskellDepends = [ base ghc-prim OneTuple Only ]; testHaskellDepends = [ base ghc-prim hspec OneTuple Only ]; testToolDepends = [ hspec-discover ]; @@ -281837,6 +282401,33 @@ self: { broken = true; }) {}; + "skeletest" = callPackage + ({ mkDerivation, aeson, aeson-pretty, ansi-terminal, base + , containers, Diff, directory, filepath, ghc, hedgehog, megaparsec + , ordered-containers, parser-combinators, pretty, process + , recover-rtti, template-haskell, text, transformers, unliftio + }: + mkDerivation { + pname = "skeletest"; + version = "0.1.0"; + sha256 = "1bl02qvmxwa2nswi11lhgp6gnyg3jych6qscmwfyw2d9pawpq4d1"; + isLibrary = true; + isExecutable = true; + libraryHaskellDepends = [ + aeson aeson-pretty ansi-terminal base containers Diff directory + filepath ghc hedgehog megaparsec ordered-containers + parser-combinators pretty recover-rtti template-haskell text + transformers unliftio + ]; + executableHaskellDepends = [ base text ]; + testHaskellDepends = [ + aeson base containers directory filepath process text unliftio + ]; + description = "Batteries-included, opinionated test framework"; + license = lib.licenses.bsd3; + mainProgram = "skeletest-preprocessor"; + }) {}; + "skeleton" = callPackage ({ mkDerivation, argparser, attoparsec, base, bytestring, filepath , hex, posix-escape, process, time @@ -282559,6 +283150,23 @@ self: { license = lib.licenses.bsd3; }) {}; + "slick_1_3_1_0" = callPackage + ({ mkDerivation, aeson, base, bytestring, directory, extra + , mustache, pandoc, shake, text, unordered-containers + }: + mkDerivation { + pname = "slick"; + version = "1.3.1.0"; + sha256 = "1jg6vhy60g2l58asifsz4642zfdmih2nw9f964prglhhkxdgisc2"; + libraryHaskellDepends = [ + aeson base bytestring directory extra mustache pandoc shake text + unordered-containers + ]; + description = "A quick & easy static site builder built with shake and pandoc"; + license = lib.licenses.bsd3; + hydraPlatforms = lib.platforms.none; + }) {}; + "slidemews" = callPackage ({ mkDerivation, aeson, base, bytestring, MonadCatchIO-transformers , mtl, pandoc, snap-core, snap-server, utf8-string @@ -283445,6 +284053,8 @@ self: { pname = "smtlib-backends"; version = "0.4"; sha256 = "16n2ig71wjqp1ziplwrq3639fqn582ymx5g9ls7f814ddjgc70xg"; + revision = "1"; + editedCabalFile = "0iwszfbf4r02jvl362n8i597ymwhcsdwyhakfa67lwk48j7j5bm7"; libraryHaskellDepends = [ base bytestring ]; description = "Low-level functions for SMT-LIB-based interaction with SMT solvers"; license = lib.licenses.mit; @@ -283458,8 +284068,8 @@ self: { pname = "smtlib-backends-process"; version = "0.3"; sha256 = "0jc7fmf3x53w8v0a8cj8v8r2f4gpn1jhndl80hyqzsblvrw5hcfg"; - revision = "3"; - editedCabalFile = "1kc9643lrpz8yxcnda54kb2cakxcmbdaxszkhadjmz7in7xv1xi6"; + revision = "4"; + editedCabalFile = "0plbkwkam6r16ls74j2iwinqslcxqhq0smib24jfnklpqmahlwxv"; libraryHaskellDepends = [ base bytestring process smtlib-backends ]; @@ -283479,8 +284089,8 @@ self: { pname = "smtlib-backends-tests"; version = "0.3"; sha256 = "0lj4bpl4nkw6w2hfjzz16zmrbaj5g3myvbmzlsc5rdsz0xwisfb8"; - revision = "2"; - editedCabalFile = "1c7xag17kfvzlz7w8sd9f8nwj3znmfbwlp0049byr9nlmv1nq7lr"; + revision = "3"; + editedCabalFile = "1bh34im8411jx9rqqr0yqa0ncwrcifbk2x0bi57yp8kcxhhdnfwp"; libraryHaskellDepends = [ base smtlib-backends tasty tasty-hunit ]; description = "Testing SMT-LIB backends"; license = lib.licenses.mit; @@ -283494,8 +284104,8 @@ self: { pname = "smtlib-backends-z3"; version = "0.3.1"; sha256 = "1mgjlfhqcbqc84a87g6bp0i9pnmpz87b7w43x200mwx1k877zddy"; - revision = "1"; - editedCabalFile = "18rj2yj3w4cqdirycxavfhwhaalg8v4qjacs25iy3c1qmm3jwrvb"; + revision = "2"; + editedCabalFile = "10sxc9pswjsf2d2b6qcz97kyps5b4jzvgm4ljwfvb6c79m22wfz1"; libraryHaskellDepends = [ base bytestring smtlib-backends ]; librarySystemDepends = [ gomp z3 ]; testHaskellDepends = [ @@ -286575,10 +287185,10 @@ self: { }) {}; "spade" = callPackage - ({ mkDerivation, aeson, ansi-terminal, base, bytestring - , constraints, containers, cryptonite, Decimal, directory - , exceptions, file-embed, filepath, hedgehog, hex-text, hspec - , hspec-discover, hspec-hedgehog, memory, monad-loops, mtl + ({ mkDerivation, aeson, ansi-terminal, base, bounded-queue + , bytestring, constraints, containers, cryptonite, Decimal, deepseq + , directory, exceptions, file-embed, filepath, hedgehog, hex-text + , hspec, hspec-discover, hspec-hedgehog, memory, monad-loops, mtl , neat-interpolation, ordered-containers, process, random , regex-tdfa, scientific, sdl2, sdl2-gfx, sdl2-mixer, sdl2-ttf, stm , strip-ansi-escape, template-haskell, terminal, text, time, unix @@ -286587,36 +287197,39 @@ self: { }: mkDerivation { pname = "spade"; - version = "0.1.0.9"; - sha256 = "0m11a7nszp3i6wg73274pj5hd7m6sw45n2h6rdrfbxc4xm08vs64"; + version = "0.1.0.10"; + sha256 = "1fxrn1nf2yh6r9m93sc5wxk60cd9vccl994w4pva90fp78a3p69n"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ - aeson ansi-terminal base bytestring constraints containers - cryptonite Decimal directory exceptions file-embed filepath - hedgehog hex-text hspec hspec-discover hspec-hedgehog memory - monad-loops mtl neat-interpolation ordered-containers process - random regex-tdfa scientific sdl2 sdl2-gfx sdl2-mixer sdl2-ttf stm - strip-ansi-escape template-haskell terminal text time unix unliftio - unliftio-core unordered-containers vector WAVE with-utf8 + aeson ansi-terminal base bounded-queue bytestring constraints + containers cryptonite Decimal deepseq directory exceptions + file-embed filepath hedgehog hex-text hspec hspec-discover + hspec-hedgehog memory monad-loops mtl neat-interpolation + ordered-containers process random regex-tdfa scientific sdl2 + sdl2-gfx sdl2-mixer sdl2-ttf stm strip-ansi-escape template-haskell + terminal text time unix unliftio unliftio-core unordered-containers + vector WAVE with-utf8 ]; executableHaskellDepends = [ - aeson ansi-terminal base bytestring constraints containers - cryptonite Decimal directory exceptions file-embed filepath - hedgehog hex-text hspec hspec-discover hspec-hedgehog memory - monad-loops mtl neat-interpolation ordered-containers process - random regex-tdfa scientific sdl2 sdl2-gfx sdl2-mixer sdl2-ttf stm - strip-ansi-escape template-haskell terminal text time unix unliftio - unliftio-core unordered-containers vector WAVE with-utf8 + aeson ansi-terminal base bounded-queue bytestring constraints + containers cryptonite Decimal deepseq directory exceptions + file-embed filepath hedgehog hex-text hspec hspec-discover + hspec-hedgehog memory monad-loops mtl neat-interpolation + ordered-containers process random regex-tdfa scientific sdl2 + sdl2-gfx sdl2-mixer sdl2-ttf stm strip-ansi-escape template-haskell + terminal text time unix unliftio unliftio-core unordered-containers + vector WAVE with-utf8 ]; testHaskellDepends = [ - aeson ansi-terminal base bytestring constraints containers - cryptonite Decimal directory exceptions file-embed filepath - hedgehog hex-text hspec hspec-discover hspec-hedgehog memory - monad-loops mtl neat-interpolation ordered-containers process - random regex-tdfa scientific sdl2 sdl2-gfx sdl2-mixer sdl2-ttf stm - strip-ansi-escape template-haskell terminal text time unix unliftio - unliftio-core unordered-containers vector WAVE with-utf8 + aeson ansi-terminal base bounded-queue bytestring constraints + containers cryptonite Decimal deepseq directory exceptions + file-embed filepath hedgehog hex-text hspec hspec-discover + hspec-hedgehog memory monad-loops mtl neat-interpolation + ordered-containers process random regex-tdfa scientific sdl2 + sdl2-gfx sdl2-mixer sdl2-ttf stm strip-ansi-escape template-haskell + terminal text time unix unliftio unliftio-core unordered-containers + vector WAVE with-utf8 ]; testToolDepends = [ hspec-discover ]; description = "A simple programming and debugging environment"; @@ -287012,19 +287625,19 @@ self: { }) {}; "spdx" = callPackage - ({ mkDerivation, base, base-compat, Cabal, containers, QuickCheck - , tasty, tasty-quickcheck, transformers + ({ mkDerivation, base, Cabal-syntax, containers, puresat + , QuickCheck, tasty, tasty-quickcheck, transformers }: mkDerivation { pname = "spdx"; - version = "1.0.0.3"; - sha256 = "1xrar0mzr7y02gw1hfabd6jyz31p3qz0jxp2mcs5kbhv0a3rc91m"; - libraryHaskellDepends = [ base Cabal containers transformers ]; - testHaskellDepends = [ - base base-compat Cabal tasty tasty-quickcheck + version = "1.1"; + sha256 = "14x1kk4baq4a3am4hp5ax2smc0h5dizlc22w2jkc63f3013dxvp3"; + libraryHaskellDepends = [ + base Cabal-syntax containers puresat transformers ]; + testHaskellDepends = [ base Cabal-syntax tasty tasty-quickcheck ]; benchmarkHaskellDepends = [ - base base-compat Cabal QuickCheck tasty-quickcheck + base Cabal-syntax QuickCheck tasty-quickcheck ]; description = "SPDX license expression language, Extras"; license = lib.licenses.bsd3; @@ -293218,6 +293831,31 @@ self: { broken = true; }) {}; + "streamly-zip" = callPackage + ({ mkDerivation, base, base16-bytestring, bytestring, containers + , cryptohash, directory, filepath, QuickCheck, streamly + , streamly-core, tar, tasty, tasty-hunit, tasty-quickcheck + , temporary, zip, zlib + }: + mkDerivation { + pname = "streamly-zip"; + version = "0.0.1"; + sha256 = "0wys2yfrwb06sw64960z17zqmcqxdij6cw51mbqw6ak12ax6k0xz"; + enableSeparateDataOutput = true; + libraryHaskellDepends = [ + base bytestring containers streamly streamly-core + ]; + librarySystemDepends = [ zip ]; + testHaskellDepends = [ + base base16-bytestring bytestring containers cryptohash directory + filepath QuickCheck streamly streamly-core tar tasty tasty-hunit + tasty-quickcheck temporary zlib + ]; + testSystemDepends = [ zip ]; + description = "Stream data from zip archives using the streamly library"; + license = lib.licenses.bsd3; + }) {inherit (pkgs) zip;}; + "streamproc" = callPackage ({ mkDerivation, base }: mkDerivation { @@ -293349,6 +293987,8 @@ self: { pname = "strict"; version = "0.5.1"; sha256 = "12rgzrxb1dz5qb1sqmwdyiyhxbpa5rrzlyr293ki4qx8qa094wbp"; + revision = "1"; + editedCabalFile = "1wh1p76sahrzqd58kdlvk85c38cr7w3ib33cb95bp33lqyvp7hsq"; libraryHaskellDepends = [ assoc base binary bytestring deepseq ghc-prim hashable text these transformers @@ -293426,10 +294066,8 @@ self: { }: mkDerivation { pname = "strict-containers"; - version = "0.2"; - sha256 = "128aw17c2m3rh2v23c2vdgk7f7rk11plwkzq2carrm1x5nvhrki7"; - revision = "2"; - editedCabalFile = "1gkb90gsx8ls5c86jjxs1c01r09lkv9jxzx6g0c0rc1n45n6w5ph"; + version = "0.2.1"; + sha256 = "0y9pprfcrqlqv0px2p97wsk3zddbzc7qcgl7cvjl4m7k64sya0ia"; libraryHaskellDepends = [ array base binary containers deepseq hashable indexed-traversable primitive strict template-haskell unordered-containers vector @@ -295342,6 +295980,23 @@ self: { license = lib.licenses.mit; }) {}; + "suffix" = callPackage + ({ mkDerivation, base, bytestring, containers, deepseq, primitive + , tasty, tasty-hunit, tasty-quickcheck + }: + mkDerivation { + pname = "suffix"; + version = "0.1.0.0"; + sha256 = "1kjlmbljwp14mc5l177apkv5iwcls2y7jng0din6z3gfbja90j4z"; + libraryHaskellDepends = [ base bytestring deepseq primitive ]; + testHaskellDepends = [ + base bytestring containers primitive tasty tasty-hunit + tasty-quickcheck + ]; + description = "Suffix arrays and friends"; + license = lib.licenses.bsd3; + }) {}; + "suffix-array" = callPackage ({ mkDerivation, array, base, containers, criterion, random, tasty , tasty-hunit, tasty-quickcheck @@ -296953,6 +297608,29 @@ self: { license = "unknown"; }) {}; + "sydtest_0_17_0_0" = callPackage + ({ mkDerivation, async, autodocodec, base, bytestring, containers + , dlist, fast-myers-diff, filepath, MonadRandom, mtl, opt-env-conf + , path, path-io, pretty-show, QuickCheck, quickcheck-io, random + , random-shuffle, safe, safe-coloured-text + , safe-coloured-text-terminfo, stm, svg-builder, text, vector + }: + mkDerivation { + pname = "sydtest"; + version = "0.17.0.0"; + sha256 = "1l8ji5qny7wq6n10ys1mxclqbzk54g3fsdi99pjb9sigd99s550n"; + libraryHaskellDepends = [ + async autodocodec base bytestring containers dlist fast-myers-diff + filepath MonadRandom mtl opt-env-conf path path-io pretty-show + QuickCheck quickcheck-io random random-shuffle safe + safe-coloured-text safe-coloured-text-terminfo stm svg-builder text + vector + ]; + description = "A modern testing framework for Haskell with good defaults and advanced testing features"; + license = "unknown"; + hydraPlatforms = lib.platforms.none; + }) {}; + "sydtest-aeson" = callPackage ({ mkDerivation, aeson, aeson-pretty, base, bytestring, deepseq , directory, path, path-io, sydtest, sydtest-discover, text @@ -296971,6 +297649,25 @@ self: { license = "unknown"; }) {}; + "sydtest-aeson_0_2_0_0" = callPackage + ({ mkDerivation, aeson, aeson-pretty, base, bytestring, deepseq + , directory, path, path-io, sydtest, sydtest-discover, text + }: + mkDerivation { + pname = "sydtest-aeson"; + version = "0.2.0.0"; + sha256 = "14acwqaxb3dizpqa6xz7wpnb2qssyfzqh4g3g7dxdbk04sypz34h"; + libraryHaskellDepends = [ + aeson aeson-pretty base bytestring deepseq path path-io sydtest + text + ]; + testHaskellDepends = [ aeson base directory sydtest text ]; + testToolDepends = [ sydtest-discover ]; + description = "An aeson companion library for sydtest"; + license = "unknown"; + hydraPlatforms = lib.platforms.none; + }) {}; + "sydtest-amqp" = callPackage ({ mkDerivation, aeson, amqp, async, base, bytestring, network , path, path-io, port-utils, process, stm, sydtest @@ -297105,6 +297802,25 @@ self: { broken = true; }) {}; + "sydtest-mongo_0_1_0_0" = callPackage + ({ mkDerivation, base, binary, bson, bytestring, mongoDB, network + , path, path-io, port-utils, process, sydtest, sydtest-process + , text, yaml + }: + mkDerivation { + pname = "sydtest-mongo"; + version = "0.1.0.0"; + sha256 = "1wqhqyg513mh8vxc2ddsxd04iywlz3gwgx35zawgldi215zdfnqi"; + libraryHaskellDepends = [ + base binary bson bytestring mongoDB network path path-io port-utils + process sydtest sydtest-process text yaml + ]; + description = "An mongoDB companion library for sydtest"; + license = "unknown"; + hydraPlatforms = lib.platforms.none; + broken = true; + }) {}; + "sydtest-persistent" = callPackage ({ mkDerivation, base, bytestring, mtl, persistent, sydtest, text , unliftio @@ -297120,6 +297836,22 @@ self: { license = "unknown"; }) {}; + "sydtest-persistent_0_1_0_0" = callPackage + ({ mkDerivation, base, bytestring, mtl, persistent, sydtest, text + , unliftio + }: + mkDerivation { + pname = "sydtest-persistent"; + version = "0.1.0.0"; + sha256 = "1hvx5101vwdwd5p7d7x7cg44byflnm9gwr6pfnzfvlw75fpdfb3i"; + libraryHaskellDepends = [ + base bytestring mtl persistent sydtest text unliftio + ]; + description = "A persistent companion library for sydtest"; + license = "unknown"; + hydraPlatforms = lib.platforms.none; + }) {}; + "sydtest-persistent-postgresql" = callPackage ({ mkDerivation, base, monad-logger, mtl, persistent , persistent-postgresql, sydtest, sydtest-discover @@ -297298,6 +298030,29 @@ self: { hydraPlatforms = lib.platforms.none; }) {}; + "sydtest-webdriver-screenshot_0_1_0_0" = callPackage + ({ mkDerivation, base, bytestring, http-types, JuicyPixels, mtl + , network-uri, path, path-io, sydtest, sydtest-discover + , sydtest-wai, sydtest-webdriver, vector, wai, webdriver + }: + mkDerivation { + pname = "sydtest-webdriver-screenshot"; + version = "0.1.0.0"; + sha256 = "1jcgnawxf6ag8zg8wc5hq47yv55ps45v2xw01d9xpd1lq1mc6xkw"; + libraryHaskellDepends = [ + base bytestring JuicyPixels mtl path path-io sydtest + sydtest-webdriver vector webdriver + ]; + testHaskellDepends = [ + base http-types network-uri sydtest sydtest-wai sydtest-webdriver + wai + ]; + testToolDepends = [ sydtest-discover ]; + description = "A webdriver screenshot companion library for sydtest"; + license = "unknown"; + hydraPlatforms = lib.platforms.none; + }) {}; + "sydtest-webdriver-yesod" = callPackage ({ mkDerivation, base, bytestring, http-client, http-types, mtl , network-uri, path, path-io, sydtest, sydtest-discover @@ -298714,8 +299469,8 @@ self: { pname = "system-linux-proc"; version = "0.1.1.1"; sha256 = "12nvsvmchhsqs5f3x2075v8v68inb1xz8dbv1q5x48big1bf4vv5"; - revision = "2"; - editedCabalFile = "0bf4zrx2x3h6wln257k7fjwszvkxg9phjscfkhrl403wiz1kjxqz"; + revision = "3"; + editedCabalFile = "0mkjwv2yw130rpmxby32hqrj26q268wiyfv6f71q09wp1axl6qfc"; libraryHaskellDepends = [ attoparsec base bytestring containers directory errors text ]; @@ -301143,8 +301898,8 @@ self: { pname = "tasty-hedgehog"; version = "1.4.0.2"; sha256 = "0lki03z0p38x0dkqx5cqga30zy5m31gxn1saqylja9bi6bbq8d25"; - revision = "4"; - editedCabalFile = "1qibqxwh3f0c2n7fcj2dni12mhixfwbywli6qrqii6wi7n325gd9"; + revision = "5"; + editedCabalFile = "19csv89pdva2d5fa0f9kwiq9cdcr51gsnaay62icjpkjw9anapch"; libraryHaskellDepends = [ base hedgehog tagged tasty ]; testHaskellDepends = [ base hedgehog tasty tasty-expected-failure @@ -302797,17 +303552,6 @@ self: { }) {}; "template-haskell-compat-v0208" = callPackage - ({ mkDerivation, base, template-haskell }: - mkDerivation { - pname = "template-haskell-compat-v0208"; - version = "0.1.9.3"; - sha256 = "0qidpj5w8m3qd8xn3vd8z1mym34m6aw1ds16p0yf2anwdn4knilj"; - libraryHaskellDepends = [ base template-haskell ]; - description = "Backward-compatibility layer for Template Haskell newer than 2.8"; - license = lib.licenses.mit; - }) {}; - - "template-haskell-compat-v0208_0_1_9_4" = callPackage ({ mkDerivation, base, template-haskell }: mkDerivation { pname = "template-haskell-compat-v0208"; @@ -302816,7 +303560,6 @@ self: { libraryHaskellDepends = [ base template-haskell ]; description = "Backward-compatibility layer for Template Haskell newer than 2.8"; license = lib.licenses.mit; - hydraPlatforms = lib.platforms.none; }) {}; "template-haskell-optics" = callPackage @@ -302967,8 +303710,8 @@ self: { }: mkDerivation { pname = "templatise"; - version = "0.1.5.0"; - sha256 = "092vbmng2jpcb2vc9bqg2gm132zrvi3b9qh7lfw6d1as9qf8f43v"; + version = "0.1.6.0"; + sha256 = "07dp87h0hn77ccg8acnfpki1yvxx4h1h6nqdjfxwc0kwji1svzia"; isLibrary = false; isExecutable = true; enableSeparateDataOutput = true; @@ -303743,6 +304486,8 @@ self: { pname = "terminal-size"; version = "0.3.4"; sha256 = "0jbznrlf95lc6ajhh26h1qgcmbr3bj753i8jlkrsrnkcjbb71w5h"; + revision = "1"; + editedCabalFile = "0w2pjmravr1fnvmrcnj13dxrf43miqypmh0fhrz1g1pb1qrg3mr1"; libraryHaskellDepends = [ base ]; description = "Get terminal window height and width"; license = lib.licenses.bsd3; @@ -307059,6 +307804,8 @@ self: { pname = "these"; version = "1.2.1"; sha256 = "1pp44amwvpl0m762zahg632prlxx0ca2r10n3a0bznjy6qrxkmhp"; + revision = "1"; + editedCabalFile = "12qb2g87kwprcxa8kksh2v8sm9m723h4c407dd868y5k64smfky0"; libraryHaskellDepends = [ assoc base binary deepseq hashable ]; description = "An either-or-both data type"; license = lib.licenses.bsd3; @@ -312716,6 +313463,8 @@ self: { pname = "tree-diff"; version = "0.3.1"; sha256 = "0ixv5122yz6p6a0vfjn5hgp81bs6dx6x3q731cwjyx03dr9lzicb"; + revision = "1"; + editedCabalFile = "1ga0xnyv24fgjiifypq95l7nhlm86swqscakfm98kxqi91gbzr5y"; libraryHaskellDepends = [ aeson ansi-terminal ansi-wl-pprint base bytestring containers deepseq hashable parsec parsers pretty primitive QuickCheck @@ -316258,8 +317007,8 @@ self: { }: mkDerivation { pname = "typed-fsm"; - version = "0.3.0.0"; - sha256 = "0994ajxfl1q834zazp3307dr4b1k16jm7k117gw5i3l74bkskqqm"; + version = "0.3.0.1"; + sha256 = "0zm3hi25sp79b588dkrgc4r7k9s9lxi3wqjk4d042h4m5nvxaw1y"; libraryHaskellDepends = [ base dependent-map dependent-sum mtl singletons-base ]; @@ -316269,6 +317018,22 @@ self: { broken = true; }) {}; + "typed-gui" = callPackage + ({ mkDerivation, base, mtl, singletons-base, stm, threepenny-gui + , typed-fsm + }: + mkDerivation { + pname = "typed-gui"; + version = "0.1.0.0"; + sha256 = "1xsparfq3gwzsir8mfawlz7900i9y8dk7qhwhy53ca236q4n0m6d"; + libraryHaskellDepends = [ + base mtl singletons-base stm threepenny-gui typed-fsm + ]; + testHaskellDepends = [ base ]; + description = "GUI framework based on typed-fsm"; + license = lib.licenses.mit; + }) {}; + "typed-process" = callPackage ({ mkDerivation, async, base, base64-bytestring, bytestring, hspec , hspec-discover, process, stm, temporary, transformers @@ -316310,6 +317075,23 @@ self: { broken = true; }) {}; + "typed-session" = callPackage + ({ mkDerivation, base, containers, fused-effects + , fused-effects-random, io-classes, io-sim, random + }: + mkDerivation { + pname = "typed-session"; + version = "0.1.0.0"; + sha256 = "172gsby1jpqvyqpfh6jjnq7crhqmac9ka9h7kil4zk3b4sig5hz1"; + libraryHaskellDepends = [ base containers io-classes ]; + testHaskellDepends = [ + base containers fused-effects fused-effects-random io-classes + io-sim random + ]; + description = "typed session framework"; + license = lib.licenses.mit; + }) {}; + "typed-spreadsheet" = callPackage ({ mkDerivation, async, base, diagrams-cairo, diagrams-gtk , diagrams-lib, foldl, gtk, microlens, stm, text, transformers @@ -320100,15 +320882,14 @@ self: { }) {}; "unliftio-servant-server" = callPackage - ({ mkDerivation, base, mtl, servant, servant-server, unliftio }: + ({ mkDerivation, base, mtl, servant, servant-server, unliftio-core + }: mkDerivation { pname = "unliftio-servant-server"; - version = "0.1.0.0"; - sha256 = "1lpvkzpi9yl4h42nvvwacd7mg1ky45n64dzrjs12lbv2c0m8i3pp"; - revision = "1"; - editedCabalFile = "0ddhn9x6m0r0pd63hrxgzfj535i9ikmwjkjiysghhhzfvd1p82k3"; + version = "0.1.0.1"; + sha256 = "16ddmcacd1laa5y1k8x1xddhbbfw03xad6yc2hsca4kih1lsiw61"; libraryHaskellDepends = [ - base mtl servant servant-server unliftio + base mtl servant servant-server unliftio-core ]; description = "Use MonadUnliftIO on servant APIs"; license = lib.licenses.bsd3; @@ -321786,8 +322567,8 @@ self: { }: mkDerivation { pname = "utxorpc"; - version = "0.0.7.0"; - sha256 = "1jy44jnqfd2h1aq2bqi6yq8yn34i1kl2jvl12fjbv4h29skvmvpg"; + version = "0.0.9.0"; + sha256 = "1n86awygbq0gf9bl35hhsx0wxwnyk63ydxkz6i93dbbp22lfnmgc"; libraryHaskellDepends = [ base proto-lens proto-lens-protobuf-types proto-lens-runtime ]; @@ -322813,6 +323594,17 @@ self: { license = lib.licenses.mit; }) {}; + "validity-dlist" = callPackage + ({ mkDerivation, base, dlist, validity }: + mkDerivation { + pname = "validity-dlist"; + version = "0.1.0.1"; + sha256 = "091vriixm5s1xdpdi78vb27b8x77llnk1s7akivrhpg6zsxcs31w"; + libraryHaskellDepends = [ base dlist validity ]; + description = "Validity instances for containers"; + license = lib.licenses.mit; + }) {}; + "validity-network-uri" = callPackage ({ mkDerivation, base, network-uri, validity }: mkDerivation { @@ -323136,6 +323928,25 @@ self: { license = lib.licenses.bsd3; }) {}; + "variant" = callPackage + ({ mkDerivation, base, criterion, deepseq, exceptions, mtl + , QuickCheck, recursion-schemes, tasty, tasty-quickcheck + , template-haskell, transformers, unliftio-core + }: + mkDerivation { + pname = "variant"; + version = "1.0"; + sha256 = "13k50y8ap5gnbag5v1j2abddz98fzlay3kjzg93gs7fyz2dil7j2"; + libraryHaskellDepends = [ + base deepseq exceptions mtl recursion-schemes template-haskell + transformers unliftio-core + ]; + testHaskellDepends = [ base tasty tasty-quickcheck ]; + benchmarkHaskellDepends = [ base criterion deepseq QuickCheck ]; + description = "Variant and EADT"; + license = lib.licenses.bsd3; + }) {}; + "variation" = callPackage ({ mkDerivation, base, cereal, containers, deepseq, semigroupoids }: @@ -323829,22 +324640,6 @@ self: { }) {}; "vector-extras" = callPackage - ({ mkDerivation, base, containers, deferred-folds, foldl, hashable - , unordered-containers, vector - }: - mkDerivation { - pname = "vector-extras"; - version = "0.2.8.1"; - sha256 = "0bnjh4c001v6ia6ac40i508jdzfdlccp8v0fhy7ayv4scrvpwip2"; - libraryHaskellDepends = [ - base containers deferred-folds foldl hashable unordered-containers - vector - ]; - description = "Utilities for the \"vector\" library"; - license = lib.licenses.mit; - }) {}; - - "vector-extras_0_2_8_2" = callPackage ({ mkDerivation, base, containers, deferred-folds, foldl, hashable , unordered-containers, vector }: @@ -323858,7 +324653,6 @@ self: { ]; description = "Utilities for the \"vector\" library"; license = lib.licenses.mit; - hydraPlatforms = lib.platforms.none; }) {}; "vector-fft" = callPackage @@ -324117,6 +324911,18 @@ self: { license = lib.licenses.bsd3; }) {}; + "vector-space_0_19" = callPackage + ({ mkDerivation, base, Boolean, MemoTrie, NumInstances }: + mkDerivation { + pname = "vector-space"; + version = "0.19"; + sha256 = "09gbkwq0z47ahc5brq72i7xr7rwqvl3sy04j1h4my5ij282d25w9"; + libraryHaskellDepends = [ base Boolean MemoTrie NumInstances ]; + description = "Vector & affine spaces, linear maps, and derivatives"; + license = lib.licenses.bsd3; + hydraPlatforms = lib.platforms.none; + }) {}; + "vector-space-map" = callPackage ({ mkDerivation, base, containers, doctest, vector-space }: mkDerivation { @@ -328682,8 +329488,8 @@ self: { }: mkDerivation { pname = "waterfall-cad"; - version = "0.3.0.1"; - sha256 = "1d5k2n1lx1lxg8zm9qr3rmk3wml6mq1p9b5bqmqfhair88llrasj"; + version = "0.4.0.0"; + sha256 = "062q7ip6ifk8si1nk0brmbd7qh6b05xar7dds9wrjbbhz1fyjcs5"; libraryHaskellDepends = [ base filepath lattices lens linear opencascade-hs primitive resourcet @@ -328699,8 +329505,8 @@ self: { }: mkDerivation { pname = "waterfall-cad-examples"; - version = "0.3.0.1"; - sha256 = "0nk4y5rzyfsmllvbf2c5qxnbglw0jqkbpl8b3lgshhirab3rchcz"; + version = "0.4.0.0"; + sha256 = "046k22r5q32y21r7fpg07301x12xmc8nwj9m4xgw100sxy66vvdg"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ @@ -330596,29 +331402,29 @@ self: { "weeder" = callPackage ({ mkDerivation, aeson, algebraic-graphs, async, base, bytestring - , containers, directory, filepath, generic-lens, ghc, hspec, lens - , mtl, optparse-applicative, parallel, process, regex-tdfa, text - , toml-reader, transformers + , containers, directory, filepath, generic-lens, ghc, Glob + , hspec-discover, hspec-expectations, lens, mtl + , optparse-applicative, parallel, process, regex-tdfa, tasty + , tasty-golden, tasty-hunit-compat, text, toml-reader, transformers }: mkDerivation { pname = "weeder"; - version = "2.8.0"; - sha256 = "086vni1i0sqy2xva63xdx1ppvwygyn1dav2bykggd6j1jrwi0m5p"; + version = "2.9.0"; + sha256 = "0fgxsyijn5flxzhjy3096qjlv0avlwchwyb46pizwh2s6i1nwil3"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ algebraic-graphs async base bytestring containers directory - filepath generic-lens ghc lens mtl optparse-applicative parallel - regex-tdfa text toml-reader transformers - ]; - executableHaskellDepends = [ - base bytestring containers directory filepath ghc - optparse-applicative transformers + filepath generic-lens ghc Glob lens mtl optparse-applicative + parallel regex-tdfa text toml-reader transformers ]; + executableHaskellDepends = [ base ]; testHaskellDepends = [ - aeson algebraic-graphs base containers directory filepath ghc hspec - process text toml-reader + aeson algebraic-graphs base bytestring containers directory + filepath ghc hspec-expectations process tasty tasty-golden + tasty-hunit-compat text toml-reader ]; + testToolDepends = [ hspec-discover ]; description = "Detect dead code"; license = lib.licenses.bsd3; mainProgram = "weeder"; @@ -331150,8 +331956,8 @@ self: { pname = "wide-word"; version = "0.1.6.0"; sha256 = "15wp0mdjbaacvzwkjlmdr7w6bm239g5v3ylkczwr3cfj30da0snz"; - revision = "2"; - editedCabalFile = "0d21qdyx80yac09j31sy1xndwx5by257hy2cyx8www795dl5inh4"; + revision = "3"; + editedCabalFile = "01vy3civ7vzninmn6xdadfd9xfwn6hv002prpm9fb5i68qgbp8dr"; libraryHaskellDepends = [ base binary deepseq ghc-prim hashable primitive ]; @@ -331226,6 +332032,109 @@ self: { broken = true; }) {}; + "wikimusic-api" = callPackage + ({ mkDerivation, aeson, async, base, base64-bytestring, bytestring + , containers, contravariant-extras, directory, filepath + , free-alacarte, hasql, hasql-implicits, hasql-migration + , hasql-optparse-applicative, hasql-pool, hasql-transaction, hedis + , HTTP, keuringsdienst, keys, mime-mail, mtl, neat-interpolation + , openapi3, optics, optparse-applicative, password, password-types + , postgresql-libpq, relude, servant, servant-openapi3 + , servant-rate-limit, servant-server, smtp-mail, tasty, tasty-hunit + , text, time, tomland, uuid, vector, wai, wai-cors, wai-extra + , wai-rate-limit, wai-rate-limit-redis, warp, wikimusic-api-spec + , wikimusic-model-hs + }: + mkDerivation { + pname = "wikimusic-api"; + version = "1.1.0.1"; + sha256 = "11axz65b4zswca53q0scywl6qnbm6qpfy6dhzgi7n8s0d0518js5"; + isLibrary = true; + isExecutable = true; + libraryHaskellDepends = [ + aeson async base base64-bytestring bytestring containers + contravariant-extras directory filepath free-alacarte hasql + hasql-implicits hasql-migration hasql-optparse-applicative + hasql-pool hasql-transaction hedis HTTP keuringsdienst keys + mime-mail mtl neat-interpolation openapi3 optics + optparse-applicative password password-types postgresql-libpq + relude servant servant-openapi3 servant-rate-limit servant-server + smtp-mail text time tomland uuid vector wai wai-cors wai-extra + wai-rate-limit wai-rate-limit-redis warp wikimusic-api-spec + wikimusic-model-hs + ]; + executableHaskellDepends = [ base ]; + testHaskellDepends = [ base tasty tasty-hunit ]; + license = lib.licenses.gpl3Only; + mainProgram = "wikimusic-api-exe"; + }) {}; + + "wikimusic-api-spec" = callPackage + ({ mkDerivation, aeson, base, bytestring, directory, filepath, keys + , mtl, openapi3, relude, servant, servant-openapi3 + , servant-rate-limit, servant-server, text, time, uuid, vector + , wikimusic-model-hs + }: + mkDerivation { + pname = "wikimusic-api-spec"; + version = "1.2.0.0"; + sha256 = "11jfj3z3b47hc3dfm7zfxxdgspzm0yisc0ihrplnjb9rrc0vva9b"; + libraryHaskellDepends = [ + aeson base bytestring directory filepath keys mtl openapi3 relude + servant servant-openapi3 servant-rate-limit servant-server text + time uuid vector wikimusic-model-hs + ]; + license = lib.licenses.gpl3Only; + }) {}; + + "wikimusic-model-hs" = callPackage + ({ mkDerivation, aeson, async, base, bytestring, containers + , directory, filepath, keuringsdienst, keys, mtl + , neat-interpolation, openapi3, optics, password, password-types + , relude, text, time, tomland, uuid + }: + mkDerivation { + pname = "wikimusic-model-hs"; + version = "1.2.0.0"; + sha256 = "1a1k7997yr8cz4p2x5z92ngxd7fxaxx8cqh0mldlv2cngiab9l08"; + libraryHaskellDepends = [ + aeson async base bytestring containers directory filepath + keuringsdienst keys mtl neat-interpolation openapi3 optics password + password-types relude text time tomland uuid + ]; + license = lib.licenses.gpl3Only; + }) {}; + + "wikimusic-ssr" = callPackage + ({ mkDerivation, aeson, async, base, base16-bytestring + , base64-bytestring, blaze-html, bytestring, containers, directory + , filepath, free-alacarte, HTTP, http-client, http-client-tls + , keuringsdienst, keys, mtl, neat-interpolation, optics + , optparse-applicative, relude, servant, servant-auth-server + , servant-blaze, servant-client, servant-multipart, servant-server + , text, time, tomland, uuid, wai, wai-cors, wai-extra, warp + , wikimusic-api-spec, wikimusic-model-hs + }: + mkDerivation { + pname = "wikimusic-ssr"; + version = "0.6.0.1"; + sha256 = "0jd319qmr4x74zwa13hzkxhqicmjidhgny02nymqyscg6an3cv94"; + isLibrary = true; + isExecutable = true; + libraryHaskellDepends = [ + aeson async base base16-bytestring base64-bytestring blaze-html + bytestring containers directory filepath free-alacarte HTTP + http-client http-client-tls keuringsdienst keys mtl + neat-interpolation optics optparse-applicative relude servant + servant-auth-server servant-blaze servant-client servant-multipart + servant-server text time tomland uuid wai wai-cors wai-extra warp + wikimusic-api-spec wikimusic-model-hs + ]; + executableHaskellDepends = [ base relude ]; + license = lib.licenses.gpl3Only; + mainProgram = "wikimusic-ssr-exe"; + }) {}; + "wikipedia4epub" = callPackage ({ mkDerivation, base, bytestring, directory, epub, filepath , haskell98, HTTP, network, regex-base, regex-posix, tagsoup, url @@ -331740,6 +332649,8 @@ self: { pname = "witherable"; version = "0.5"; sha256 = "1lccj7s6b2x3w1zq15fffwxwj9yqq0z0ra9k06y3rcb5wk0lqhs8"; + revision = "1"; + editedCabalFile = "1pl1m14hhz03rx5j4i4zdi9v0ph65s5rs6qpqdprjdyaxf4bbfl5"; libraryHaskellDepends = [ base base-orphans containers hashable indexed-traversable indexed-traversable-instances transformers unordered-containers @@ -332002,8 +332913,8 @@ self: { pname = "wl-pprint-text"; version = "1.2.0.2"; sha256 = "0axivwh7bxmljxpfnccs66knxzrqck07byxmp2j737xbb26pf5cj"; - revision = "2"; - editedCabalFile = "1zp64js72l8kkqn47hkl6rcangz14njfrhgdhq0w5x4nhvfi77md"; + revision = "3"; + editedCabalFile = "1gc1vjzdhax9ybkjynsxkq4ah9ds14cy81wm1c4p9fnw2h356jhw"; libraryHaskellDepends = [ base base-compat text ]; description = "A Wadler/Leijen Pretty Printer for Text values"; license = lib.licenses.bsd3; @@ -333579,22 +334490,6 @@ self: { }) {}; "wuss" = callPackage - ({ mkDerivation, base, bytestring, crypton-connection, data-default - , exceptions, network, websockets - }: - mkDerivation { - pname = "wuss"; - version = "2.0.1.9"; - sha256 = "0v3jqyh21iq8d3vkij4gkzdq7ks8ykxi9lz2v4caskwvnj5bdvs9"; - libraryHaskellDepends = [ - base bytestring crypton-connection data-default exceptions network - websockets - ]; - description = "Secure WebSocket (WSS) clients"; - license = lib.licenses.mit; - }) {}; - - "wuss_2_0_2_0" = callPackage ({ mkDerivation, base, bytestring, crypton-connection, data-default , exceptions, network, websockets }: @@ -333608,7 +334503,6 @@ self: { ]; description = "Secure WebSocket (WSS) clients"; license = lib.licenses.mit; - hydraPlatforms = lib.platforms.none; }) {}; "wx" = callPackage @@ -336000,10 +336894,10 @@ self: { }: mkDerivation { pname = "xnobar"; - version = "0.0.0.0"; - sha256 = "0dai29w9m2hjq2wjymk82bh9xi9hqxrvgc2jiy0wra6dw3x68jhk"; - revision = "1"; - editedCabalFile = "1la624kbaq9lhjbh7hk1vwkbs983cz86sxksszavvp2gsmwdlai1"; + version = "0.0.0.1"; + sha256 = "15j9drn1igv5s1z7p5v71vy2i2a2f4gsaz5z6my1vkm097rbz51z"; + revision = "3"; + editedCabalFile = "122chc3px07ij5kk69bsbzrppkxxqd29cxma9zp48pjjakibwp3n"; libraryHaskellDepends = [ async base containers dbus directory extra flow mtl process transformers xmobar @@ -337338,8 +338232,8 @@ self: { }: mkDerivation { pname = "yampa-test"; - version = "0.14.9"; - sha256 = "19d53gl477ik0zb8fxq5irvjddgg7n2hjrg4j0x36pvsq3sy2zz9"; + version = "0.14.10"; + sha256 = "0as6k36cq8w1p8nqjlnlc8ji45slynxg4aj3p6ping177lw5232h"; libraryHaskellDepends = [ base normaldistribution QuickCheck Yampa ]; @@ -340953,8 +341847,9 @@ self: { }: mkDerivation { pname = "yosys-rtl"; - version = "0.1.0.0"; - sha256 = "0mi46c6v353zp8qyabpqpxyry0zimz338kkv8cp9aihk14w6cg01"; + version = "0.1.0.1"; + sha256 = "10kwg8j61ijvy6pdw9im4wcin3fn8xry0nl2cgqm50k22aziqj80"; + enableSeparateDataOutput = true; libraryHaskellDepends = [ base prettyprinter text ]; testHaskellDepends = [ base extra filepath prettyprinter process tasty tasty-golden From 1816263f05c550874f22dae8ce996f1815f1abca Mon Sep 17 00:00:00 2001 From: sternenseemann Date: Tue, 20 Aug 2024 12:17:58 +0200 Subject: [PATCH 04/22] haskellPackages.Cabal_3_{10_3,12_1}_0: use process 1.6.22.0 --- pkgs/development/haskell-modules/configuration-common.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/haskell-modules/configuration-common.nix b/pkgs/development/haskell-modules/configuration-common.nix index 478838c720903..5346f639557d3 100644 --- a/pkgs/development/haskell-modules/configuration-common.nix +++ b/pkgs/development/haskell-modules/configuration-common.nix @@ -27,14 +27,14 @@ self: super: { Cabal-syntax = self.Cabal-syntax_3_10_3_0; } // lib.optionalAttrs (lib.versionOlder self.ghc.version "9.2.5") { # Use process core package when possible - process = self.process_1_6_20_0; + process = self.process_1_6_22_0; })); Cabal_3_12_1_0 = doDistribute (super.Cabal_3_12_1_0.override ({ Cabal-syntax = self.Cabal-syntax_3_12_1_0; } // lib.optionalAttrs (lib.versionOlder self.ghc.version "9.2.5") { # Use process core package when possible - process = self.process_1_6_20_0; + process = self.process_1_6_22_0; })); # hackage-security == 0.6.2.6 has a wider support range in theory, but it only From 9aacff10553b648240b25c203875cdd7e6c7cfe3 Mon Sep 17 00:00:00 2001 From: sternenseemann Date: Tue, 20 Aug 2024 12:18:35 +0200 Subject: [PATCH 05/22] haskellPackages.feedback: use safe-coloured-text-layout 0.2.0.1 --- pkgs/development/haskell-modules/configuration-common.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/development/haskell-modules/configuration-common.nix b/pkgs/development/haskell-modules/configuration-common.nix index 5346f639557d3..4c613cbf222ff 100644 --- a/pkgs/development/haskell-modules/configuration-common.nix +++ b/pkgs/development/haskell-modules/configuration-common.nix @@ -3086,7 +3086,7 @@ self: super: { # 2024-08-09: The stackage versions of safe-coloured-text* are old and broken safe-coloured-text = unmarkBroken self.safe-coloured-text_0_3_0_2; safe-coloured-text-gen = unmarkBroken self.safe-coloured-text-gen_0_0_0_3; - safe-coloured-text-layout = unmarkBroken self.safe-coloured-text-layout_0_2_0_0; + safe-coloured-text-layout = unmarkBroken self.safe-coloured-text-layout_0_2_0_1; safe-coloured-text-layout-gen = unmarkBroken self.safe-coloured-text-layout-gen_0_0_0_1; safe-coloured-text-terminfo = unmarkBroken self.safe-coloured-text-terminfo_0_3_0_0; }))); From 0aa968f1b699bcd5e92651f90743b79238987ee3 Mon Sep 17 00:00:00 2001 From: Alexandre Esteves Date: Wed, 21 Aug 2024 01:10:59 +0100 Subject: [PATCH 06/22] haskellPackages.entropy: build with js backend --- pkgs/development/haskell-modules/configuration-ghcjs-9.x.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/pkgs/development/haskell-modules/configuration-ghcjs-9.x.nix b/pkgs/development/haskell-modules/configuration-ghcjs-9.x.nix index 77ce56a9124c0..044a3a8f69d8e 100644 --- a/pkgs/development/haskell-modules/configuration-ghcjs-9.x.nix +++ b/pkgs/development/haskell-modules/configuration-ghcjs-9.x.nix @@ -27,6 +27,8 @@ in jsaddle = addBuildDepend self.ghcjs-base super.jsaddle; jsaddle-dom = addBuildDepend self.ghcjs-base super.jsaddle-dom; + entropy = addBuildDepend self.ghcjs-dom super.entropy; + reflex-dom = super.reflex-dom.override (drv: { jsaddle-webkit2gtk = null; }); From 65962d6ce86bda4941cd1eef8de9b6e4c23b4b39 Mon Sep 17 00:00:00 2001 From: Alex Tunstall Date: Sun, 23 Jul 2023 09:30:35 +0100 Subject: [PATCH 07/22] haskell.compiler.ghc*: set stage 0 tools This is easy in comparison since these tools won't end up in GHC's settings nor need to be available at runtime, so we can use the *_FOR_BUILD environment variables. It is important to add buildCC to depsBuildBuild to engage the stdenv/wrapper script machinery properly. Co-authored-by: sternenseemann --- pkgs/development/compilers/ghc/8.10.7.nix | 11 ++++++++++- pkgs/development/compilers/ghc/common-hadrian.nix | 10 ++++++++++ .../compilers/ghc/common-make-native-bignum.nix | 12 +++++++++++- 3 files changed, 31 insertions(+), 2 deletions(-) diff --git a/pkgs/development/compilers/ghc/8.10.7.nix b/pkgs/development/compilers/ghc/8.10.7.nix index a6694e2e99c9c..9bcf8eb1fecea 100644 --- a/pkgs/development/compilers/ghc/8.10.7.nix +++ b/pkgs/development/compilers/ghc/8.10.7.nix @@ -1,4 +1,4 @@ -{ lib, stdenv, pkgsBuildTarget, pkgsHostTarget, targetPackages +{ lib, stdenv, pkgsBuildTarget, pkgsHostTarget, buildPackages, targetPackages # build-tools , bootPkgs @@ -134,6 +134,7 @@ let pkgsBuildTarget.targetPackages.stdenv.cc ] ++ lib.optional useLLVM buildTargetLlvmPackages.llvm; + buildCC = buildPackages.stdenv.cc; targetCC = builtins.head toolsForTarget; # toolPath calculates the absolute path to the name tool associated with a @@ -299,6 +300,10 @@ stdenv.mkDerivation (rec { # LLVM backend on Darwin needs clang: https://downloads.haskell.org/~ghc/latest/docs/html/users_guide/codegens.html#llvm-code-generator-fllvm export CLANG="${buildTargetLlvmPackages.clang}/bin/${buildTargetLlvmPackages.clang.targetPrefix}clang" '' + '' + # No need for absolute paths since these tools only need to work during the build + export CC_STAGE0="$CC_FOR_BUILD" + export LD_STAGE0="$LD_FOR_BUILD" + export AR_STAGE0="$AR_FOR_BUILD" echo -n "${buildMK}" > mk/build.mk sed -i -e 's|-isysroot /Developer/SDKs/MacOSX10.5.sdk||' configure @@ -372,6 +377,10 @@ stdenv.mkDerivation (rec { sphinx ]; + # Used by the STAGE0 compiler to build stage1 + depsBuildBuild = [ + buildCC + ]; # For building runtime libs depsBuildTarget = toolsForTarget; diff --git a/pkgs/development/compilers/ghc/common-hadrian.nix b/pkgs/development/compilers/ghc/common-hadrian.nix index b6d4d7236fe6b..aefaf5b70aaf9 100644 --- a/pkgs/development/compilers/ghc/common-hadrian.nix +++ b/pkgs/development/compilers/ghc/common-hadrian.nix @@ -12,6 +12,7 @@ , stdenv , pkgsBuildTarget , pkgsHostTarget +, buildPackages , targetPackages , fetchpatch @@ -265,6 +266,7 @@ let else pkgsBuildTarget.targetPackages.stdenv.cc) ] ++ lib.optional useLLVM buildTargetLlvmPackages.llvm; + buildCC = buildPackages.stdenv.cc; targetCC = builtins.head toolsForTarget; # toolPath calculates the absolute path to the name tool associated with a @@ -346,6 +348,10 @@ stdenv.mkDerivation ({ for env in $(env | grep '^TARGET_' | sed -E 's|\+?=.*||'); do export "''${env#TARGET_}=''${!env}" done + # No need for absolute paths since these tools only need to work during the build + export CC_STAGE0="$CC_FOR_BUILD" + export LD_STAGE0="$LD_FOR_BUILD" + export AR_STAGE0="$AR_FOR_BUILD" # GHC is a bit confused on its cross terminology, as these would normally be # the *host* tools. export CC="${toolPath "cc" targetCC}" @@ -484,6 +490,10 @@ stdenv.mkDerivation ({ # For building runtime libs depsBuildTarget = toolsForTarget; + # Used by the STAGE0 compiler to build stage1 + depsBuildBuild = [ + buildCC + ]; buildInputs = [ perl bash ] ++ (libDeps hostPlatform); diff --git a/pkgs/development/compilers/ghc/common-make-native-bignum.nix b/pkgs/development/compilers/ghc/common-make-native-bignum.nix index 2b23cd75a0ed7..3788efeda8ba4 100644 --- a/pkgs/development/compilers/ghc/common-make-native-bignum.nix +++ b/pkgs/development/compilers/ghc/common-make-native-bignum.nix @@ -3,7 +3,7 @@ , url ? "https://downloads.haskell.org/ghc/${version}/ghc-${version}-src.tar.xz" }: -{ lib, stdenv, pkgsBuildTarget, pkgsHostTarget, targetPackages +{ lib, stdenv, pkgsBuildTarget, pkgsHostTarget, buildPackages, targetPackages # build-tools , bootPkgs @@ -134,6 +134,7 @@ let pkgsBuildTarget.targetPackages.stdenv.cc ] ++ lib.optional useLLVM buildTargetLlvmPackages.llvm; + buildCC = buildPackages.stdenv.cc; targetCC = builtins.head toolsForTarget; # toolPath calculates the absolute path to the name tool associated with a @@ -305,6 +306,11 @@ stdenv.mkDerivation (rec { export CLANG="${buildTargetLlvmPackages.clang}/bin/${buildTargetLlvmPackages.clang.targetPrefix}clang" '' + '' + # No need for absolute paths since these tools only need to work during the build + export CC_STAGE0="$CC_FOR_BUILD" + export LD_STAGE0="$LD_FOR_BUILD" + export AR_STAGE0="$AR_FOR_BUILD" + echo -n "${buildMK}" > mk/build.mk '' + lib.optionalString (lib.versionOlder version "9.2" || lib.versionAtLeast version "9.4") '' @@ -393,6 +399,10 @@ stdenv.mkDerivation (rec { xattr ]; + # Used by the STAGE0 compiler to build stage1 + depsBuildBuild = [ + buildCC + ]; # For building runtime libs depsBuildTarget = toolsForTarget; From 96abcd4015ba8ab756b5bf7083c03bbe17a86fa2 Mon Sep 17 00:00:00 2001 From: Alex Tunstall Date: Sun, 23 Jul 2023 09:43:41 +0100 Subject: [PATCH 08/22] haskell.compiler.ghc*: fix libffi cross dependency --- pkgs/development/compilers/ghc/8.10.7.nix | 10 +++++++--- pkgs/development/compilers/ghc/common-hadrian.nix | 8 ++++++-- .../compilers/ghc/common-make-native-bignum.nix | 8 ++++++-- 3 files changed, 19 insertions(+), 7 deletions(-) diff --git a/pkgs/development/compilers/ghc/8.10.7.nix b/pkgs/development/compilers/ghc/8.10.7.nix index 9bcf8eb1fecea..f343d812fd43b 100644 --- a/pkgs/development/compilers/ghc/8.10.7.nix +++ b/pkgs/development/compilers/ghc/8.10.7.nix @@ -69,7 +69,6 @@ assert !enableIntegerSimple -> gmp != null; assert (stdenv.targetPlatform != stdenv.hostPlatform) -> !enableHaddockProgram; let - libffi_name = if stdenv.isDarwin && stdenv.isAarch64 then "libffi" else "libffi_3_3"; inherit (stdenv) buildPlatform hostPlatform targetPlatform; inherit (bootPkgs) ghc; @@ -186,6 +185,11 @@ let (lib.optionalString enableIntegerSimple "-integer-simple") ]; + libffi_name = if stdenv.isDarwin && stdenv.isAarch64 then "libffi" else "libffi_3_3"; + targetLibffi = if hostPlatform != targetPlatform + then targetPackages.${libffi_name} + else pkgsHostTarget.${libffi_name}; + in # C compiler, bintools and LLVM are used at build time, but will also leak into @@ -344,8 +348,8 @@ stdenv.mkDerivation (rec { "--with-curses-includes=${ncurses.dev}/include" "--with-curses-libraries=${ncurses.out}/lib" ] ++ lib.optionals (args.${libffi_name} != null) [ "--with-system-libffi" - "--with-ffi-includes=${targetPackages.${libffi_name}.dev}/include" - "--with-ffi-libraries=${targetPackages.${libffi_name}.out}/lib" + "--with-ffi-includes=${targetLibffi.dev}/include" + "--with-ffi-libraries=${targetLibffi.out}/lib" ] ++ lib.optionals (targetPlatform == hostPlatform && !enableIntegerSimple) [ "--with-gmp-includes=${targetPackages.gmp.dev}/include" "--with-gmp-libraries=${targetPackages.gmp.out}/lib" diff --git a/pkgs/development/compilers/ghc/common-hadrian.nix b/pkgs/development/compilers/ghc/common-hadrian.nix index aefaf5b70aaf9..17ca8e86c56c5 100644 --- a/pkgs/development/compilers/ghc/common-hadrian.nix +++ b/pkgs/development/compilers/ghc/common-hadrian.nix @@ -318,6 +318,10 @@ let (lib.optionalString enableNativeBignum "-native-bignum") ]; + targetLibffi = if hostPlatform != targetPlatform + then targetPackages.libffi + else pkgsHostTarget.libffi; + in # C compiler, bintools and LLVM are used at build time, but will also leak into @@ -442,8 +446,8 @@ stdenv.mkDerivation ({ "--with-curses-includes=${ncurses.dev}/include" "--with-curses-libraries=${ncurses.out}/lib" ] ++ lib.optionals (libffi != null && !targetPlatform.isGhcjs) [ "--with-system-libffi" - "--with-ffi-includes=${targetPackages.libffi.dev}/include" - "--with-ffi-libraries=${targetPackages.libffi.out}/lib" + "--with-ffi-includes=${targetLibffi.dev}/include" + "--with-ffi-libraries=${targetLibffi.out}/lib" ] ++ lib.optionals (targetPlatform == hostPlatform && !enableNativeBignum) [ "--with-gmp-includes=${targetPackages.gmp.dev}/include" "--with-gmp-libraries=${targetPackages.gmp.out}/lib" diff --git a/pkgs/development/compilers/ghc/common-make-native-bignum.nix b/pkgs/development/compilers/ghc/common-make-native-bignum.nix index 3788efeda8ba4..a28b4fe06e9b9 100644 --- a/pkgs/development/compilers/ghc/common-make-native-bignum.nix +++ b/pkgs/development/compilers/ghc/common-make-native-bignum.nix @@ -186,6 +186,10 @@ let (lib.optionalString enableNativeBignum "-native-bignum") ]; + targetLibffi = if hostPlatform != targetPlatform + then targetPackages.libffi + else pkgsHostTarget.libffi; + in # C compiler, bintools and LLVM are used at build time, but will also leak into @@ -362,8 +366,8 @@ stdenv.mkDerivation (rec { "--with-curses-includes=${ncurses.dev}/include" "--with-curses-libraries=${ncurses.out}/lib" ] ++ lib.optionals (libffi != null) [ "--with-system-libffi" - "--with-ffi-includes=${targetPackages.libffi.dev}/include" - "--with-ffi-libraries=${targetPackages.libffi.out}/lib" + "--with-ffi-includes=${targetLibffi.dev}/include" + "--with-ffi-libraries=${targetLibffi.out}/lib" ] ++ lib.optionals (targetPlatform == hostPlatform && !enableNativeBignum) [ "--with-gmp-includes=${targetPackages.gmp.dev}/include" "--with-gmp-libraries=${targetPackages.gmp.out}/lib" From f6ae91de4bb4a6d6314aedf9a3a0466aa02efa34 Mon Sep 17 00:00:00 2001 From: Alex Tunstall Date: Sun, 23 Jul 2023 09:50:55 +0100 Subject: [PATCH 09/22] haskell.compiler.ghc*: correctly account for ncurses in cross 1. Explicitly set WITH_TERMINFO. We usually match GHC's behavior well, but it is better to tie the Nix option to make explicitly. Unfortunately, the same is very complicated to achieve with hadrian (iirc). 2. Disable enableTerminfo if we are cross-compiling. This matches the behavior of GHC's build system, so we'll have to match it now. It also reduces the ncurses-related headache a bit. 3. Stop passing --with-curses* flags. Unfortunately, GHC does not account for the fact that different platforms need different ncurses libraries. This is somewhat migitated by the fact that ncurses is only ever needed for the build platform if we are cross compiling, but I seem to remember it leaking into the final GHC somehow. A more reliable alternative is relying on the cc/ld wrapper scripts, as they'll always pull out the correct ncurses out of the environment when GHC's build system passes -lcurses. 4. Unconditionally add ncurses to depsBuildBuild. Stage0 unconditionally builds terminfo (maybe the stage1 compiler needs it?), so we need to make sure that ncurses for the build platform is available. Co-authored-by: sternenseemann --- pkgs/development/compilers/ghc/8.10.7.nix | 10 ++++++++-- pkgs/development/compilers/ghc/common-hadrian.nix | 11 +++++++++-- .../compilers/ghc/common-make-native-bignum.nix | 10 ++++++++-- 3 files changed, 25 insertions(+), 6 deletions(-) diff --git a/pkgs/development/compilers/ghc/8.10.7.nix b/pkgs/development/compilers/ghc/8.10.7.nix index f343d812fd43b..4f7c7461444b8 100644 --- a/pkgs/development/compilers/ghc/8.10.7.nix +++ b/pkgs/development/compilers/ghc/8.10.7.nix @@ -39,7 +39,10 @@ enableShared ? !stdenv.targetPlatform.isWindows && !stdenv.targetPlatform.useiOSPrebuilt , # Whether to build terminfo. - enableTerminfo ? !stdenv.targetPlatform.isWindows + enableTerminfo ? !(stdenv.targetPlatform.isWindows + # terminfo can't be built for cross + || (stdenv.buildPlatform != stdenv.hostPlatform) + || (stdenv.hostPlatform != stdenv.targetPlatform)) , # What flavour to build. An empty string indicates no # specific flavour and falls back to ghc default values. @@ -85,6 +88,8 @@ let endif BUILD_SPHINX_HTML = ${if enableDocs then "YES" else "NO"} BUILD_SPHINX_PDF = NO + + WITH_TERMINFO = ${if enableTerminfo then "YES" else "NO"} '' + # Note [HADDOCK_DOCS]: # Unfortunately currently `HADDOCK_DOCS` controls both whether the `haddock` @@ -345,7 +350,6 @@ stdenv.mkDerivation (rec { # `--with` flags for libraries needed for RTS linker configureFlags = [ "--datadir=$doc/share/doc/ghc" - "--with-curses-includes=${ncurses.dev}/include" "--with-curses-libraries=${ncurses.out}/lib" ] ++ lib.optionals (args.${libffi_name} != null) [ "--with-system-libffi" "--with-ffi-includes=${targetLibffi.dev}/include" @@ -384,6 +388,8 @@ stdenv.mkDerivation (rec { # Used by the STAGE0 compiler to build stage1 depsBuildBuild = [ buildCC + # stage0 builds terminfo unconditionally, so we always need ncurses + ncurses ]; # For building runtime libs depsBuildTarget = toolsForTarget; diff --git a/pkgs/development/compilers/ghc/common-hadrian.nix b/pkgs/development/compilers/ghc/common-hadrian.nix index 17ca8e86c56c5..b7918b0608b7d 100644 --- a/pkgs/development/compilers/ghc/common-hadrian.nix +++ b/pkgs/development/compilers/ghc/common-hadrian.nix @@ -66,8 +66,14 @@ enableShared ? with stdenv.targetPlatform; !isWindows && !useiOSPrebuilt && !isStatic && !isGhcjs , # Whether to build terminfo. + # FIXME(@sternenseemann): This actually doesn't influence what hadrian does, + # just what buildInputs etc. looks like. It would be best if we could actually + # tell it what to do like it was possible with make. enableTerminfo ? !(stdenv.targetPlatform.isWindows - || stdenv.targetPlatform.isGhcjs) + || stdenv.targetPlatform.isGhcjs + # terminfo can't be built for cross + || (stdenv.buildPlatform != stdenv.hostPlatform) + || (stdenv.hostPlatform != stdenv.targetPlatform)) , # Libdw.c only supports x86_64, i686 and s390x as of 2022-08-04 enableDwarf ? (stdenv.targetPlatform.isx86 || @@ -443,7 +449,6 @@ stdenv.mkDerivation ({ # `--with` flags for libraries needed for RTS linker configureFlags = [ "--datadir=$doc/share/doc/ghc" - "--with-curses-includes=${ncurses.dev}/include" "--with-curses-libraries=${ncurses.out}/lib" ] ++ lib.optionals (libffi != null && !targetPlatform.isGhcjs) [ "--with-system-libffi" "--with-ffi-includes=${targetLibffi.dev}/include" @@ -497,6 +502,8 @@ stdenv.mkDerivation ({ # Used by the STAGE0 compiler to build stage1 depsBuildBuild = [ buildCC + # stage0 builds terminfo unconditionally, so we always need ncurses + ncurses ]; buildInputs = [ perl bash ] ++ (libDeps hostPlatform); diff --git a/pkgs/development/compilers/ghc/common-make-native-bignum.nix b/pkgs/development/compilers/ghc/common-make-native-bignum.nix index a28b4fe06e9b9..c52499a73bf17 100644 --- a/pkgs/development/compilers/ghc/common-make-native-bignum.nix +++ b/pkgs/development/compilers/ghc/common-make-native-bignum.nix @@ -42,7 +42,10 @@ enableShared ? with stdenv.targetPlatform; !isWindows && !useiOSPrebuilt && !isStatic , # Whether to build terminfo. - enableTerminfo ? !stdenv.targetPlatform.isWindows + enableTerminfo ? !(stdenv.targetPlatform.isWindows + # terminfo can't be built for cross + || (stdenv.buildPlatform != stdenv.hostPlatform) + || (stdenv.hostPlatform != stdenv.targetPlatform)) , # What flavour to build. An empty string indicates no # specific flavour and falls back to ghc default values. @@ -88,6 +91,8 @@ let endif BUILD_SPHINX_HTML = ${if enableDocs then "YES" else "NO"} BUILD_SPHINX_PDF = NO + + WITH_TERMINFO = ${if enableTerminfo then "YES" else "NO"} '' + # Note [HADDOCK_DOCS]: # Unfortunately currently `HADDOCK_DOCS` controls both whether the `haddock` @@ -363,7 +368,6 @@ stdenv.mkDerivation (rec { # `--with` flags for libraries needed for RTS linker configureFlags = [ "--datadir=$doc/share/doc/ghc" - "--with-curses-includes=${ncurses.dev}/include" "--with-curses-libraries=${ncurses.out}/lib" ] ++ lib.optionals (libffi != null) [ "--with-system-libffi" "--with-ffi-includes=${targetLibffi.dev}/include" @@ -406,6 +410,8 @@ stdenv.mkDerivation (rec { # Used by the STAGE0 compiler to build stage1 depsBuildBuild = [ buildCC + # stage0 builds terminfo unconditionally, so we always need ncurses + ncurses ]; # For building runtime libs depsBuildTarget = toolsForTarget; From 46d1b434168f21cc541c25fcab4a839930931e5e Mon Sep 17 00:00:00 2001 From: Alex Tunstall Date: Sun, 23 Jul 2023 09:56:56 +0100 Subject: [PATCH 10/22] haskell.compiler.ghc*: don't configure --host --- pkgs/development/compilers/ghc/8.10.7.nix | 7 +++++-- .../compilers/ghc/common-make-native-bignum.nix | 7 +++++-- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/pkgs/development/compilers/ghc/8.10.7.nix b/pkgs/development/compilers/ghc/8.10.7.nix index 4f7c7461444b8..8377ac77e218f 100644 --- a/pkgs/development/compilers/ghc/8.10.7.nix +++ b/pkgs/development/compilers/ghc/8.10.7.nix @@ -343,9 +343,12 @@ stdenv.mkDerivation (rec { done ''; + # Although it is usually correct to pass --host, we don't do that here because + # GHC's usage of build, host, and target is non-standard. + # See https://gitlab.haskell.org/ghc/ghc/-/wikis/building/cross-compiling # TODO(@Ericson2314): Always pass "--target" and always prefix. - configurePlatforms = [ "build" "host" ] - ++ lib.optional (targetPlatform != hostPlatform) "target"; + configurePlatforms = [ "build" ] + ++ lib.optional (buildPlatform != hostPlatform || targetPlatform != hostPlatform) "target"; # `--with` flags for libraries needed for RTS linker configureFlags = [ diff --git a/pkgs/development/compilers/ghc/common-make-native-bignum.nix b/pkgs/development/compilers/ghc/common-make-native-bignum.nix index c52499a73bf17..ca840b9ab83eb 100644 --- a/pkgs/development/compilers/ghc/common-make-native-bignum.nix +++ b/pkgs/development/compilers/ghc/common-make-native-bignum.nix @@ -361,9 +361,12 @@ stdenv.mkDerivation (rec { 'MinBootGhcVersion="8.10"' ''; + # Although it is usually correct to pass --host, we don't do that here because + # GHC's usage of build, host, and target is non-standard. + # See https://gitlab.haskell.org/ghc/ghc/-/wikis/building/cross-compiling # TODO(@Ericson2314): Always pass "--target" and always prefix. - configurePlatforms = [ "build" "host" ] - ++ lib.optional (targetPlatform != hostPlatform) "target"; + configurePlatforms = [ "build" ] + ++ lib.optional (buildPlatform != hostPlatform || targetPlatform != hostPlatform) "target"; # `--with` flags for libraries needed for RTS linker configureFlags = [ From 485482c0f66d1f28c0b380f4b9909935d0e97ba5 Mon Sep 17 00:00:00 2001 From: Alex Tunstall Date: Sun, 23 Jul 2023 10:01:19 +0100 Subject: [PATCH 11/22] haskell.compiler.ghc*: use target CC in settings --- pkgs/development/compilers/ghc/8.10.7.nix | 16 +++++++++------- .../compilers/ghc/common-hadrian.nix | 17 +++++++++++++---- .../compilers/ghc/common-make-native-bignum.nix | 16 +++++++++------- 3 files changed, 31 insertions(+), 18 deletions(-) diff --git a/pkgs/development/compilers/ghc/8.10.7.nix b/pkgs/development/compilers/ghc/8.10.7.nix index 8377ac77e218f..d210f96d84d68 100644 --- a/pkgs/development/compilers/ghc/8.10.7.nix +++ b/pkgs/development/compilers/ghc/8.10.7.nix @@ -140,6 +140,7 @@ let buildCC = buildPackages.stdenv.cc; targetCC = builtins.head toolsForTarget; + installCC = pkgsHostTarget.targetPackages.stdenv.cc; # toolPath calculates the absolute path to the name tool associated with a # given `stdenv.cc` derivation, i.e. it picks the correct derivation to take @@ -197,13 +198,6 @@ let in -# C compiler, bintools and LLVM are used at build time, but will also leak into -# the resulting GHC's settings file and used at runtime. This means that we are -# currently only able to build GHC if hostPlatform == buildPlatform. -assert targetCC == pkgsHostTarget.targetPackages.stdenv.cc; -assert buildTargetLlvmPackages.llvm == llvmPackages.llvm; -assert stdenv.targetPlatform.isDarwin -> buildTargetLlvmPackages.clang == llvmPackages.clang; - stdenv.mkDerivation (rec { version = "8.10.7"; pname = "${targetPrefix}ghc${variantSuffix}"; @@ -424,6 +418,14 @@ stdenv.mkDerivation (rec { requiredSystemFeatures = [ "big-parallel" ]; postInstall = '' + # Make the installed GHC use the host platform's tools. + sed -i $out/lib/${targetPrefix}${passthru.haskellCompilerName}/settings \ + -e "s!$CC!${installCC}/bin/${installCC.targetPrefix}cc!g" \ + -e "s!$CXX!${installCC}/bin/${installCC.targetPrefix}c++!g" \ + -e "s!$LD!${installCC.bintools}/bin/${installCC.bintools.targetPrefix}ld${lib.optionalString useLdGold ".gold"}!g" \ + -e "s!$AR!${installCC.bintools.bintools}/bin/${installCC.bintools.targetPrefix}ar!g" \ + -e "s!$RANLIB!${installCC.bintools.bintools}/bin/${installCC.bintools.targetPrefix}ranlib!g" + # Install the bash completion file. install -D -m 444 utils/completion/ghc.bash $out/share/bash-completion/completions/${targetPrefix}ghc ''; diff --git a/pkgs/development/compilers/ghc/common-hadrian.nix b/pkgs/development/compilers/ghc/common-hadrian.nix index b7918b0608b7d..a94176986b43a 100644 --- a/pkgs/development/compilers/ghc/common-hadrian.nix +++ b/pkgs/development/compilers/ghc/common-hadrian.nix @@ -274,6 +274,7 @@ let buildCC = buildPackages.stdenv.cc; targetCC = builtins.head toolsForTarget; + installCC = pkgsHostTarget.targetPackages.stdenv.cc; # toolPath calculates the absolute path to the name tool associated with a # given `stdenv.cc` derivation, i.e. it picks the correct derivation to take @@ -328,6 +329,9 @@ let then targetPackages.libffi else pkgsHostTarget.libffi; + # Our Cabal compiler name + haskellCompilerName = "ghc-${version}"; + in # C compiler, bintools and LLVM are used at build time, but will also leak into @@ -574,19 +578,24 @@ stdenv.mkDerivation ({ # leave bindist directory popd + # Make the installed GHC use the host platform's tools. + sed -i $out/lib/${targetPrefix}${haskellCompilerName}/lib/settings \ + -e "s!$CC!${installCC}/bin/${installCC.targetPrefix}cc!g" \ + -e "s!$CXX!${installCC}/bin/${installCC.targetPrefix}c++!g" \ + -e "s!$LD!${installCC.bintools}/bin/${installCC.bintools.targetPrefix}ld${lib.optionalString useLdGold ".gold"}!g" \ + -e "s!$AR!${installCC.bintools.bintools}/bin/${installCC.bintools.targetPrefix}ar!g" \ + -e "s!$RANLIB!${installCC.bintools.bintools}/bin/${installCC.bintools.targetPrefix}ranlib!g" + # Install the bash completion file. install -Dm 644 utils/completion/ghc.bash $out/share/bash-completion/completions/${targetPrefix}ghc ''; passthru = { - inherit bootPkgs targetPrefix; + inherit bootPkgs targetPrefix haskellCompilerName; inherit llvmPackages; inherit enableShared; - # Our Cabal compiler name - haskellCompilerName = "ghc-${version}"; - # Expose hadrian used for bootstrapping, for debugging purposes inherit hadrian; diff --git a/pkgs/development/compilers/ghc/common-make-native-bignum.nix b/pkgs/development/compilers/ghc/common-make-native-bignum.nix index ca840b9ab83eb..5f5e5e9be6566 100644 --- a/pkgs/development/compilers/ghc/common-make-native-bignum.nix +++ b/pkgs/development/compilers/ghc/common-make-native-bignum.nix @@ -141,6 +141,7 @@ let buildCC = buildPackages.stdenv.cc; targetCC = builtins.head toolsForTarget; + installCC = pkgsHostTarget.targetPackages.stdenv.cc; # toolPath calculates the absolute path to the name tool associated with a # given `stdenv.cc` derivation, i.e. it picks the correct derivation to take @@ -197,13 +198,6 @@ let in -# C compiler, bintools and LLVM are used at build time, but will also leak into -# the resulting GHC's settings file and used at runtime. This means that we are -# currently only able to build GHC if hostPlatform == buildPlatform. -assert targetCC == pkgsHostTarget.targetPackages.stdenv.cc; -assert buildTargetLlvmPackages.llvm == llvmPackages.llvm; -assert stdenv.targetPlatform.isDarwin -> buildTargetLlvmPackages.clang == llvmPackages.clang; - stdenv.mkDerivation (rec { pname = "${targetPrefix}ghc${variantSuffix}"; inherit version; @@ -446,6 +440,14 @@ stdenv.mkDerivation (rec { requiredSystemFeatures = [ "big-parallel" ]; postInstall = '' + # Make the installed GHC use the host platform's tools. + sed -i $out/lib/${targetPrefix}${passthru.haskellCompilerName}/settings \ + -e "s!$CC!${installCC}/bin/${installCC.targetPrefix}cc!g" \ + -e "s!$CXX!${installCC}/bin/${installCC.targetPrefix}c++!g" \ + -e "s!$LD!${installCC.bintools}/bin/${installCC.bintools.targetPrefix}ld${lib.optionalString useLdGold ".gold"}!g" \ + -e "s!$AR!${installCC.bintools.bintools}/bin/${installCC.bintools.targetPrefix}ar!g" \ + -e "s!$RANLIB!${installCC.bintools.bintools}/bin/${installCC.bintools.targetPrefix}ranlib!g" + # Install the bash completion file. install -D -m 444 utils/completion/ghc.bash $out/share/bash-completion/completions/${targetPrefix}ghc ''; From 046be34967f3e0718dca3ffd224b504207d901bc Mon Sep 17 00:00:00 2001 From: Alex Tunstall Date: Sun, 23 Jul 2023 10:10:04 +0100 Subject: [PATCH 12/22] haskell.compiler.ghc*: don't cross-compile haddock --- pkgs/development/compilers/ghc/8.10.7.nix | 11 ++++++----- pkgs/development/compilers/ghc/common-hadrian.nix | 7 ++++--- .../compilers/ghc/common-make-native-bignum.nix | 11 ++++++----- 3 files changed, 16 insertions(+), 13 deletions(-) diff --git a/pkgs/development/compilers/ghc/8.10.7.nix b/pkgs/development/compilers/ghc/8.10.7.nix index d210f96d84d68..4b5a1f57bd08b 100644 --- a/pkgs/development/compilers/ghc/8.10.7.nix +++ b/pkgs/development/compilers/ghc/8.10.7.nix @@ -51,14 +51,15 @@ , # Whether to build sphinx documentation. enableDocs ? ( - # Docs disabled if we are building on musl because it's a large task to keep - # all `sphinx` dependencies building in this environment. - !stdenv.buildPlatform.isMusl + # Docs disabled if we are building on musl or cross-building because it's a + # large task to keep all `sphinx` dependencies building in this environment. + (stdenv.buildPlatform == stdenv.hostPlatform && stdenv.targetPlatform == stdenv.hostPlatform) + && !stdenv.buildPlatform.isMusl ) , enableHaddockProgram ? # Disabled for cross; see note [HADDOCK_DOCS]. - (stdenv.targetPlatform == stdenv.hostPlatform) + (stdenv.buildPlatform == stdenv.hostPlatform && stdenv.targetPlatform == stdenv.hostPlatform) , # Whether to disable the large address space allocator # necessary fix for iOS: https://www.reddit.com/r/haskell/comments/4ttdz1/building_an_osxi386_to_iosarm64_cross_compiler/d5qvd67/ @@ -69,7 +70,7 @@ assert !enableIntegerSimple -> gmp != null; # Cross cannot currently build the `haddock` program for silly reasons, # see note [HADDOCK_DOCS]. -assert (stdenv.targetPlatform != stdenv.hostPlatform) -> !enableHaddockProgram; +assert (stdenv.buildPlatform != stdenv.hostPlatform || stdenv.targetPlatform != stdenv.hostPlatform) -> !enableHaddockProgram; let inherit (stdenv) buildPlatform hostPlatform targetPlatform; diff --git a/pkgs/development/compilers/ghc/common-hadrian.nix b/pkgs/development/compilers/ghc/common-hadrian.nix index a94176986b43a..652803ea30a8f 100644 --- a/pkgs/development/compilers/ghc/common-hadrian.nix +++ b/pkgs/development/compilers/ghc/common-hadrian.nix @@ -221,9 +221,10 @@ , # Whether to build sphinx documentation. # TODO(@sternenseemann): Hadrian ignores the --docs flag if finalStage = Stage1 enableDocs ? ( - # Docs disabled if we are building on musl because it's a large task to keep - # all `sphinx` dependencies building in this environment. - !stdenv.buildPlatform.isMusl + # Docs disabled if we are building on musl or cross-building because it's a + # large task to keep all `sphinx` dependencies building in this environment. + (stdenv.buildPlatform == stdenv.hostPlatform && stdenv.targetPlatform == stdenv.hostPlatform) + && !stdenv.buildPlatform.isMusl ) , # Whether to disable the large address space allocator diff --git a/pkgs/development/compilers/ghc/common-make-native-bignum.nix b/pkgs/development/compilers/ghc/common-make-native-bignum.nix index 5f5e5e9be6566..6b22540bdad6b 100644 --- a/pkgs/development/compilers/ghc/common-make-native-bignum.nix +++ b/pkgs/development/compilers/ghc/common-make-native-bignum.nix @@ -54,14 +54,15 @@ , # Whether to build sphinx documentation. enableDocs ? ( - # Docs disabled if we are building on musl because it's a large task to keep - # all `sphinx` dependencies building in this environment. - !stdenv.buildPlatform.isMusl + # Docs disabled if we are building on musl or cross-building because it's a + # large task to keep all `sphinx` dependencies building in this environment. + (stdenv.buildPlatform == stdenv.hostPlatform && stdenv.targetPlatform == stdenv.hostPlatform) + && !stdenv.buildPlatform.isMusl ) , enableHaddockProgram ? # Disabled for cross; see note [HADDOCK_DOCS]. - (stdenv.targetPlatform == stdenv.hostPlatform) + (stdenv.buildPlatform == stdenv.hostPlatform && stdenv.targetPlatform == stdenv.hostPlatform) , # Whether to disable the large address space allocator # necessary fix for iOS: https://www.reddit.com/r/haskell/comments/4ttdz1/building_an_osxi386_to_iosarm64_cross_compiler/d5qvd67/ @@ -72,7 +73,7 @@ assert !enableNativeBignum -> gmp != null; # Cross cannot currently build the `haddock` program for silly reasons, # see note [HADDOCK_DOCS]. -assert (stdenv.targetPlatform != stdenv.hostPlatform) -> !enableHaddockProgram; +assert (stdenv.buildPlatform != stdenv.hostPlatform || stdenv.targetPlatform != stdenv.hostPlatform) -> !enableHaddockProgram; let inherit (stdenv) buildPlatform hostPlatform targetPlatform; From 726a9ed6a3766a9b7fda9e6e87a21a294f88b1fe Mon Sep 17 00:00:00 2001 From: Alex Tunstall Date: Sun, 23 Jul 2023 10:12:19 +0100 Subject: [PATCH 13/22] haskell.compiler.ghc*: add enableUnregisterised --- pkgs/development/compilers/ghc/8.10.7.nix | 8 ++++++++ pkgs/development/compilers/ghc/common-hadrian.nix | 8 ++++++++ .../compilers/ghc/common-make-native-bignum.nix | 10 ++++++++++ 3 files changed, 26 insertions(+) diff --git a/pkgs/development/compilers/ghc/8.10.7.nix b/pkgs/development/compilers/ghc/8.10.7.nix index 4b5a1f57bd08b..884760677735a 100644 --- a/pkgs/development/compilers/ghc/8.10.7.nix +++ b/pkgs/development/compilers/ghc/8.10.7.nix @@ -64,6 +64,12 @@ , # Whether to disable the large address space allocator # necessary fix for iOS: https://www.reddit.com/r/haskell/comments/4ttdz1/building_an_osxi386_to_iosarm64_cross_compiler/d5qvd67/ disableLargeAddressSpace ? stdenv.targetPlatform.isiOS + +, # Whether to build an unregisterised version of GHC. + # GHC will normally auto-detect whether it can do a registered build, but this + # option will force it to do an unregistered build when set to true. + # See https://gitlab.haskell.org/ghc/ghc/-/wikis/building/unregisterised + enableUnregisterised ? false }@args: assert !enableIntegerSimple -> gmp != null; @@ -366,6 +372,8 @@ stdenv.mkDerivation (rec { "CONF_GCC_LINKER_OPTS_STAGE2=-fuse-ld=gold" ] ++ lib.optionals (disableLargeAddressSpace) [ "--disable-large-address-space" + ] ++ lib.optionals enableUnregisterised [ + "--enable-unregisterised" ]; # Make sure we never relax`$PATH` and hooks support for compatibility. diff --git a/pkgs/development/compilers/ghc/common-hadrian.nix b/pkgs/development/compilers/ghc/common-hadrian.nix index 652803ea30a8f..f2340a291e715 100644 --- a/pkgs/development/compilers/ghc/common-hadrian.nix +++ b/pkgs/development/compilers/ghc/common-hadrian.nix @@ -230,6 +230,12 @@ , # Whether to disable the large address space allocator # necessary fix for iOS: https://www.reddit.com/r/haskell/comments/4ttdz1/building_an_osxi386_to_iosarm64_cross_compiler/d5qvd67/ disableLargeAddressSpace ? stdenv.targetPlatform.isiOS + +, # Whether to build an unregisterised version of GHC. + # GHC will normally auto-detect whether it can do a registered build, but this + # option will force it to do an unregistered build when set to true. + # See https://gitlab.haskell.org/ghc/ghc/-/wikis/building/unregisterised + enableUnregisterised ? false }: assert !enableNativeBignum -> gmp != null; @@ -482,6 +488,8 @@ stdenv.mkDerivation ({ # https://gitlab.haskell.org/ghc/ghc/-/issues/23188 # https://github.com/haskell/cabal/issues/8882 "fp_cv_prog_ar_supports_dash_l=no" + ] ++ lib.optionals enableUnregisterised [ + "--enable-unregisterised" ]; # Make sure we never relax`$PATH` and hooks support for compatibility. diff --git a/pkgs/development/compilers/ghc/common-make-native-bignum.nix b/pkgs/development/compilers/ghc/common-make-native-bignum.nix index 6b22540bdad6b..9d6d5d630c00b 100644 --- a/pkgs/development/compilers/ghc/common-make-native-bignum.nix +++ b/pkgs/development/compilers/ghc/common-make-native-bignum.nix @@ -67,6 +67,14 @@ , # Whether to disable the large address space allocator # necessary fix for iOS: https://www.reddit.com/r/haskell/comments/4ttdz1/building_an_osxi386_to_iosarm64_cross_compiler/d5qvd67/ disableLargeAddressSpace ? stdenv.targetPlatform.isiOS + +, # Whether to build an unregisterised version of GHC. + # GHC will normally auto-detect whether it can do a registered build, but this + # option will force it to do an unregistered build when set to true. + # See https://gitlab.haskell.org/ghc/ghc/-/wikis/building/unregisterised + # Registerised RV64 compiler produces programs that segfault + # See https://gitlab.haskell.org/ghc/ghc/-/issues/23957 + enableUnregisterised ? stdenv.hostPlatform.isRiscV64 || stdenv.targetPlatform.isRiscV64 }: assert !enableNativeBignum -> gmp != null; @@ -384,6 +392,8 @@ stdenv.mkDerivation (rec { "CONF_GCC_LINKER_OPTS_STAGE2=-fuse-ld=gold" ] ++ lib.optionals (disableLargeAddressSpace) [ "--disable-large-address-space" + ] ++ lib.optionals enableUnregisterised [ + "--enable-unregisterised" ]; # Make sure we never relax`$PATH` and hooks support for compatibility. From fc255a1f39c8e925989d4bc0ad954d959fb4aef4 Mon Sep 17 00:00:00 2001 From: Alex Tunstall Date: Sun, 23 Jul 2023 10:13:50 +0100 Subject: [PATCH 14/22] haskell.compiler.ghc*: assert cross is possible --- pkgs/development/compilers/ghc/8.10.7.nix | 3 +++ pkgs/development/compilers/ghc/common-hadrian.nix | 6 ++++++ .../development/compilers/ghc/common-make-native-bignum.nix | 3 +++ 3 files changed, 12 insertions(+) diff --git a/pkgs/development/compilers/ghc/8.10.7.nix b/pkgs/development/compilers/ghc/8.10.7.nix index 884760677735a..755f195ee8c02 100644 --- a/pkgs/development/compilers/ghc/8.10.7.nix +++ b/pkgs/development/compilers/ghc/8.10.7.nix @@ -78,6 +78,9 @@ assert !enableIntegerSimple -> gmp != null; # see note [HADDOCK_DOCS]. assert (stdenv.buildPlatform != stdenv.hostPlatform || stdenv.targetPlatform != stdenv.hostPlatform) -> !enableHaddockProgram; +# GHC does not support building when all 3 platforms are different. +assert stdenv.buildPlatform == stdenv.hostPlatform || stdenv.hostPlatform == stdenv.targetPlatform; + let inherit (stdenv) buildPlatform hostPlatform targetPlatform; diff --git a/pkgs/development/compilers/ghc/common-hadrian.nix b/pkgs/development/compilers/ghc/common-hadrian.nix index f2340a291e715..3b067a8ee9976 100644 --- a/pkgs/development/compilers/ghc/common-hadrian.nix +++ b/pkgs/development/compilers/ghc/common-hadrian.nix @@ -240,6 +240,12 @@ assert !enableNativeBignum -> gmp != null; +# GHC does not support building when all 3 platforms are different. +assert stdenv.buildPlatform == stdenv.hostPlatform || stdenv.hostPlatform == stdenv.targetPlatform; + +# It is currently impossible to cross-compile GHC with Hadrian. +assert stdenv.buildPlatform == stdenv.hostPlatform; + let inherit (stdenv) buildPlatform hostPlatform targetPlatform; diff --git a/pkgs/development/compilers/ghc/common-make-native-bignum.nix b/pkgs/development/compilers/ghc/common-make-native-bignum.nix index 9d6d5d630c00b..fab7f7be55d70 100644 --- a/pkgs/development/compilers/ghc/common-make-native-bignum.nix +++ b/pkgs/development/compilers/ghc/common-make-native-bignum.nix @@ -83,6 +83,9 @@ assert !enableNativeBignum -> gmp != null; # see note [HADDOCK_DOCS]. assert (stdenv.buildPlatform != stdenv.hostPlatform || stdenv.targetPlatform != stdenv.hostPlatform) -> !enableHaddockProgram; +# GHC does not support building when all 3 platforms are different. +assert stdenv.buildPlatform == stdenv.hostPlatform || stdenv.hostPlatform == stdenv.targetPlatform; + let inherit (stdenv) buildPlatform hostPlatform targetPlatform; From 55c53090485aa578c38f144db32a72e3debd5410 Mon Sep 17 00:00:00 2001 From: Alex Tunstall Date: Sun, 23 Jul 2023 10:16:26 +0100 Subject: [PATCH 15/22] haskell.compiler.ghc*: allow all platforms Propagating the supported platforms of the boot compiler doesn't make much sense when unregistered cross-compilation is possible. --- pkgs/development/compilers/ghc/8.10.7.nix | 3 ++- pkgs/development/compilers/ghc/common-hadrian.nix | 3 ++- pkgs/development/compilers/ghc/common-make-native-bignum.nix | 3 ++- 3 files changed, 6 insertions(+), 3 deletions(-) diff --git a/pkgs/development/compilers/ghc/8.10.7.nix b/pkgs/development/compilers/ghc/8.10.7.nix index 755f195ee8c02..a964aba20311a 100644 --- a/pkgs/development/compilers/ghc/8.10.7.nix +++ b/pkgs/development/compilers/ghc/8.10.7.nix @@ -463,7 +463,8 @@ stdenv.mkDerivation (rec { guibou ] ++ lib.teams.haskell.members; timeout = 24 * 3600; - inherit (ghc.meta) license platforms; + platforms = lib.platforms.all; + inherit (ghc.meta) license; }; } // lib.optionalAttrs targetPlatform.useAndroidPrebuilt { diff --git a/pkgs/development/compilers/ghc/common-hadrian.nix b/pkgs/development/compilers/ghc/common-hadrian.nix index 3b067a8ee9976..300e1aaef356d 100644 --- a/pkgs/development/compilers/ghc/common-hadrian.nix +++ b/pkgs/development/compilers/ghc/common-hadrian.nix @@ -626,7 +626,8 @@ stdenv.mkDerivation ({ guibou ] ++ lib.teams.haskell.members; timeout = 24 * 3600; - inherit (ghc.meta) license platforms; + platforms = lib.platforms.all; + inherit (ghc.meta) license; }; dontStrip = targetPlatform.useAndroidPrebuilt || targetPlatform.isWasm; diff --git a/pkgs/development/compilers/ghc/common-make-native-bignum.nix b/pkgs/development/compilers/ghc/common-make-native-bignum.nix index fab7f7be55d70..1444091320d23 100644 --- a/pkgs/development/compilers/ghc/common-make-native-bignum.nix +++ b/pkgs/development/compilers/ghc/common-make-native-bignum.nix @@ -487,7 +487,8 @@ stdenv.mkDerivation (rec { guibou ] ++ lib.teams.haskell.members; timeout = 24 * 3600; - inherit (ghc.meta) license platforms; + platforms = lib.platforms.all; + inherit (ghc.meta) license; }; } // lib.optionalAttrs targetPlatform.useAndroidPrebuilt { From dece8877756c58c74c1873457a655397811b2165 Mon Sep 17 00:00:00 2001 From: Alex Tunstall Date: Sun, 23 Jul 2023 10:18:58 +0100 Subject: [PATCH 16/22] haskell.compiler.ghc*: use GHC from pkgsBuildBuild --- pkgs/top-level/haskell-packages.nix | 167 ++++++++++++++-------------- 1 file changed, 84 insertions(+), 83 deletions(-) diff --git a/pkgs/top-level/haskell-packages.nix b/pkgs/top-level/haskell-packages.nix index 6193d9d217ae9..2d54063e00746 100644 --- a/pkgs/top-level/haskell-packages.nix +++ b/pkgs/top-level/haskell-packages.nix @@ -1,4 +1,4 @@ -{ buildPackages, pkgsBuildTarget, pkgs, newScope, stdenv }: +{ buildPackages, pkgsBuildBuild, pkgsBuildTarget, pkgs, newScope, stdenv }: let # These are attributes in compiler that support integer-simple. @@ -52,7 +52,8 @@ in { package-list = callPackage ../development/haskell-modules/package-list.nix {}; - compiler = { + # Always get boot compilers from `pkgsBuildBuild` + compiler = let bb = pkgsBuildBuild.haskell; in { ghc865Binary = callPackage ../development/compilers/ghc/8.6.5-binary.nix { # Should be llvmPackages_6 which has been removed from nixpkgs llvmPackages = null; @@ -73,11 +74,11 @@ in { ghc8107 = callPackage ../development/compilers/ghc/8.10.7.nix { bootPkgs = # the oldest ghc with aarch64-darwin support is 8.10.5 - if stdenv.hostPlatform.isPower64 && stdenv.hostPlatform.isLittleEndian then + if stdenv.buildPlatform.isPower64 && stdenv.buildPlatform.isLittleEndian then # to my (@a-m-joseph) knowledge there are no newer official binaries for this platform - packages.ghc865Binary + bb.packages.ghc865Binary else - packages.ghc8107Binary; + bb.packages.ghc8107Binary; inherit (buildPackages.python311Packages) sphinx; # a distutils issue with 3.12 python3 = buildPackages.python311; # so that we don't have two of them # Need to use apple's patched xattr until @@ -91,10 +92,10 @@ in { ghc902 = callPackage ../development/compilers/ghc/9.0.2.nix { bootPkgs = # the oldest ghc with aarch64-darwin support is 8.10.5 - if stdenv.hostPlatform.isPower64 && stdenv.hostPlatform.isLittleEndian then - packages.ghc810 + if stdenv.buildPlatform.isPower64 && stdenv.buildPlatform.isLittleEndian then + bb.packages.ghc810 else - packages.ghc8107Binary; + bb.packages.ghc8107Binary; inherit (buildPackages.python311Packages) sphinx; # a distutils issue with 3.12 python3 = buildPackages.python311; # so that we don't have two of them inherit (buildPackages.darwin) autoSignDarwinBinariesHook xattr; @@ -104,10 +105,10 @@ in { ghc90 = compiler.ghc902; ghc925 = callPackage ../development/compilers/ghc/9.2.5.nix { bootPkgs = - if stdenv.hostPlatform.isPower64 && stdenv.hostPlatform.isLittleEndian then - packages.ghc810 + if stdenv.buildPlatform.isPower64 && stdenv.buildPlatform.isLittleEndian then + bb.packages.ghc810 else - packages.ghc8107Binary; + bb.packages.ghc8107Binary; inherit (buildPackages.python311Packages) sphinx; # a distutils issue with 3.12 python3 = buildPackages.python311; # so that we don't have two of them # Need to use apple's patched xattr until @@ -119,10 +120,10 @@ in { }; ghc926 = callPackage ../development/compilers/ghc/9.2.6.nix { bootPkgs = - if stdenv.hostPlatform.isPower64 && stdenv.hostPlatform.isLittleEndian then - packages.ghc810 + if stdenv.buildPlatform.isPower64 && stdenv.buildPlatform.isLittleEndian then + bb.packages.ghc810 else - packages.ghc8107Binary; + bb.packages.ghc8107Binary; inherit (buildPackages.python311Packages) sphinx; # a distutils issue with 3.12 python3 = buildPackages.python311; # so that we don't have two of them # Need to use apple's patched xattr until @@ -134,10 +135,10 @@ in { }; ghc927 = callPackage ../development/compilers/ghc/9.2.7.nix { bootPkgs = - if stdenv.hostPlatform.isPower64 && stdenv.hostPlatform.isLittleEndian then - packages.ghc810 + if stdenv.buildPlatform.isPower64 && stdenv.buildPlatform.isLittleEndian then + bb.packages.ghc810 else - packages.ghc8107Binary; + bb.packages.ghc8107Binary; inherit (buildPackages.python311Packages) sphinx; # a distutils issue with 3.12 python3 = buildPackages.python311; # so that we don't have two of them # Need to use apple's patched xattr until @@ -149,10 +150,10 @@ in { }; ghc928 = callPackage ../development/compilers/ghc/9.2.8.nix { bootPkgs = - if stdenv.hostPlatform.isPower64 && stdenv.hostPlatform.isLittleEndian then - packages.ghc810 + if stdenv.buildPlatform.isPower64 && stdenv.buildPlatform.isLittleEndian then + bb.packages.ghc810 else - packages.ghc8107Binary; + bb.packages.ghc8107Binary; inherit (buildPackages.python311Packages) sphinx; # a distutils issue with 3.12 python3 = buildPackages.python311; # so that we don't have two of them # Need to use apple's patched xattr until @@ -170,14 +171,14 @@ in { # Use 8.10 as a workaround where possible to keep bootstrap path short. # On ARM text won't build with GHC 8.10.* - if stdenv.hostPlatform.isAarch then + if stdenv.buildPlatform.isAarch then # TODO(@sternenseemann): package bindist - packages.ghc902 + bb.packages.ghc902 # No suitable bindists for powerpc64le - else if stdenv.hostPlatform.isPower64 && stdenv.hostPlatform.isLittleEndian then - packages.ghc902 + else if stdenv.buildPlatform.isPower64 && stdenv.buildPlatform.isLittleEndian then + bb.packages.ghc902 else - packages.ghc8107Binary; + bb.packages.ghc8107Binary; inherit (buildPackages.python311Packages) sphinx; # a distutils issue with 3.12 python3 = buildPackages.python311; # so that we don't have two of them # Need to use apple's patched xattr until @@ -195,14 +196,14 @@ in { # Use 8.10 as a workaround where possible to keep bootstrap path short. # On ARM text won't build with GHC 8.10.* - if stdenv.hostPlatform.isAarch then + if stdenv.buildPlatform.isAarch then # TODO(@sternenseemann): package bindist - packages.ghc902 + bb.packages.ghc902 # No suitable bindists for powerpc64le - else if stdenv.hostPlatform.isPower64 && stdenv.hostPlatform.isLittleEndian then - packages.ghc902 + else if stdenv.buildPlatform.isPower64 && stdenv.buildPlatform.isLittleEndian then + bb.packages.ghc902 else - packages.ghc8107Binary; + bb.packages.ghc8107Binary; inherit (buildPackages.python311Packages) sphinx; # a distutils issue with 3.12 python3 = buildPackages.python311; # so that we don't have two of them # Need to use apple's patched xattr until @@ -220,14 +221,14 @@ in { # Use 8.10 as a workaround where possible to keep bootstrap path short. # On ARM text won't build with GHC 8.10.* - if stdenv.hostPlatform.isAarch then + if stdenv.buildPlatform.isAarch then # TODO(@sternenseemann): package bindist - packages.ghc902 + bb.packages.ghc902 # No suitable bindists for powerpc64le - else if stdenv.hostPlatform.isPower64 && stdenv.hostPlatform.isLittleEndian then - packages.ghc902 + else if stdenv.buildPlatform.isPower64 && stdenv.buildPlatform.isLittleEndian then + bb.packages.ghc902 else - packages.ghc8107Binary; + bb.packages.ghc8107Binary; inherit (buildPackages.python3Packages) sphinx; # Need to use apple's patched xattr until # https://github.com/xattr/xattr/issues/44 and @@ -244,14 +245,14 @@ in { # Use 8.10 as a workaround where possible to keep bootstrap path short. # On ARM text won't build with GHC 8.10.* - if stdenv.hostPlatform.isAarch then + if stdenv.buildPlatform.isAarch then # TODO(@sternenseemann): package bindist - packages.ghc902 + bb.packages.ghc902 # No suitable bindists for powerpc64le - else if stdenv.hostPlatform.isPower64 && stdenv.hostPlatform.isLittleEndian then - packages.ghc902 + else if stdenv.buildPlatform.isPower64 && stdenv.buildPlatform.isLittleEndian then + bb.packages.ghc902 else - packages.ghc8107Binary; + bb.packages.ghc8107Binary; inherit (buildPackages.python3Packages) sphinx; # Need to use apple's patched xattr until # https://github.com/xattr/xattr/issues/44 and @@ -265,12 +266,12 @@ in { ghc963 = callPackage ../development/compilers/ghc/9.6.3.nix { bootPkgs = # For GHC 9.2 no armv7l bindists are available. - if stdenv.hostPlatform.isAarch32 then - packages.ghc928 - else if stdenv.hostPlatform.isPower64 && stdenv.hostPlatform.isLittleEndian then - packages.ghc928 + if stdenv.buildPlatform.isAarch32 then + bb.packages.ghc928 + else if stdenv.buildPlatform.isPower64 && stdenv.buildPlatform.isLittleEndian then + bb.packages.ghc928 else - packages.ghc924Binary; + bb.packages.ghc924Binary; inherit (buildPackages.python3Packages) sphinx; # Need to use apple's patched xattr until # https://github.com/xattr/xattr/issues/44 and @@ -283,12 +284,12 @@ in { ghc964 = callPackage ../development/compilers/ghc/9.6.4.nix { bootPkgs = # For GHC 9.2 no armv7l bindists are available. - if stdenv.hostPlatform.isAarch32 then - packages.ghc928 - else if stdenv.hostPlatform.isPower64 && stdenv.hostPlatform.isLittleEndian then - packages.ghc928 + if stdenv.buildPlatform.isAarch32 then + bb.packages.ghc928 + else if stdenv.buildPlatform.isPower64 && stdenv.buildPlatform.isLittleEndian then + bb.packages.ghc928 else - packages.ghc924Binary; + bb.packages.ghc924Binary; inherit (buildPackages.python3Packages) sphinx; # Need to use apple's patched xattr until # https://github.com/xattr/xattr/issues/44 and @@ -301,12 +302,12 @@ in { ghc965 = callPackage ../development/compilers/ghc/9.6.5.nix { bootPkgs = # For GHC 9.2 no armv7l bindists are available. - if stdenv.hostPlatform.isAarch32 then - packages.ghc928 - else if stdenv.hostPlatform.isPower64 && stdenv.hostPlatform.isLittleEndian then - packages.ghc928 + if stdenv.buildPlatform.isAarch32 then + bb.packages.ghc928 + else if stdenv.buildPlatform.isPower64 && stdenv.buildPlatform.isLittleEndian then + bb.packages.ghc928 else - packages.ghc924Binary; + bb.packages.ghc924Binary; inherit (buildPackages.python3Packages) sphinx; # Need to use apple's patched xattr until # https://github.com/xattr/xattr/issues/44 and @@ -319,12 +320,12 @@ in { ghc966 = callPackage ../development/compilers/ghc/9.6.6.nix { bootPkgs = # For GHC 9.2 no armv7l bindists are available. - if stdenv.hostPlatform.isAarch32 then - packages.ghc928 - else if stdenv.hostPlatform.isPower64 && stdenv.hostPlatform.isLittleEndian then - packages.ghc928 + if stdenv.buildPlatform.isAarch32 then + bb.packages.ghc928 + else if stdenv.buildPlatform.isPower64 && stdenv.buildPlatform.isLittleEndian then + bb.packages.ghc928 else - packages.ghc924Binary; + bb.packages.ghc924Binary; inherit (buildPackages.python3Packages) sphinx; # Need to use apple's patched xattr until # https://github.com/xattr/xattr/issues/44 and @@ -338,12 +339,12 @@ in { ghc981 = callPackage ../development/compilers/ghc/9.8.1.nix { bootPkgs = # For GHC 9.6 no armv7l bindists are available. - if stdenv.hostPlatform.isAarch32 then - packages.ghc963 - else if stdenv.hostPlatform.isPower64 && stdenv.hostPlatform.isLittleEndian then - packages.ghc963 + if stdenv.buildPlatform.isAarch32 then + bb.packages.ghc963 + else if stdenv.buildPlatform.isPower64 && stdenv.buildPlatform.isLittleEndian then + bb.packages.ghc963 else - packages.ghc963Binary; + bb.packages.ghc963Binary; inherit (buildPackages.python3Packages) sphinx; # Need to use apple's patched xattr until # https://github.com/xattr/xattr/issues/44 and @@ -356,12 +357,12 @@ in { ghc982 = callPackage ../development/compilers/ghc/9.8.2.nix { bootPkgs = # For GHC 9.6 no armv7l bindists are available. - if stdenv.hostPlatform.isAarch32 then - packages.ghc963 - else if stdenv.hostPlatform.isPower64 && stdenv.hostPlatform.isLittleEndian then - packages.ghc963 + if stdenv.buildPlatform.isAarch32 then + bb.packages.ghc963 + else if stdenv.buildPlatform.isPower64 && stdenv.buildPlatform.isLittleEndian then + bb.packages.ghc963 else - packages.ghc963Binary; + bb.packages.ghc963Binary; inherit (buildPackages.python3Packages) sphinx; # Need to use apple's patched xattr until # https://github.com/xattr/xattr/issues/44 and @@ -375,19 +376,19 @@ in { ghc9101 = callPackage ../development/compilers/ghc/9.10.1.nix { bootPkgs = # For GHC 9.6 no armv7l bindists are available. - if stdenv.hostPlatform.isAarch32 then - packages.ghc963 - else if stdenv.hostPlatform.isPower64 && stdenv.hostPlatform.isLittleEndian then - packages.ghc963 - else if stdenv.hostPlatform.isDarwin then + if stdenv.buildPlatform.isAarch32 then + bb.packages.ghc963 + else if stdenv.buildPlatform.isPower64 && stdenv.buildPlatform.isLittleEndian then + bb.packages.ghc963 + else if stdenv.buildPlatform.isDarwin then # it seems like the GHC 9.6.* bindists are built with a different # toolchain than we are using (which I'm guessing from the fact # that 9.6.4 bindists pass linker flags our ld doesn't support). # With both 9.6.3 and 9.6.4 binary it is impossible to link against # the clock package (probably a hsc2hs problem). - packages.ghc963 + bb.packages.ghc963 else - packages.ghc963Binary; + bb.packages.ghc963Binary; inherit (buildPackages.python3Packages) sphinx; # Need to use apple's patched xattr until # https://github.com/xattr/xattr/issues/44 and @@ -401,12 +402,12 @@ in { ghcHEAD = callPackage ../development/compilers/ghc/head.nix { bootPkgs = # For GHC 9.6 no armv7l bindists are available. - if stdenv.hostPlatform.isAarch32 then - packages.ghc963 - else if stdenv.hostPlatform.isPower64 && stdenv.hostPlatform.isLittleEndian then - packages.ghc963 + if stdenv.buildPlatform.isAarch32 then + bb.packages.ghc963 + else if stdenv.buildPlatform.isPower64 && stdenv.buildPlatform.isLittleEndian then + bb.packages.ghc963 else - packages.ghc963Binary; + bb.packages.ghc963Binary; inherit (buildPackages.python3Packages) sphinx; # Need to use apple's patched xattr until # https://github.com/xattr/xattr/issues/44 and @@ -419,7 +420,7 @@ in { ghcjs = compiler.ghcjs810; ghcjs810 = callPackage ../development/compilers/ghcjs/8.10 { - bootPkgs = packages.ghc810; + bootPkgs = bb.packages.ghc810; ghcjsSrcJson = ../development/compilers/ghcjs/8.10/git.json; stage0 = ../development/compilers/ghcjs/8.10/stage0.nix; }; From a1fbf2baf431285d557738e12333f5f53a69964d Mon Sep 17 00:00:00 2001 From: Alex Tunstall Date: Fri, 29 Mar 2024 10:05:19 +0000 Subject: [PATCH 17/22] tests.cross.sanity: Add GHC to catch regressions This is to ensure that Haskell users on platforms that lack official bindists still have a convenient means of getting GHC running natively. In my admittedly somewhat limited testing on RISC-V, GHC 8.10.7 is able to bootstrap native builds for 9.2.8 and 9.4.5. GHC 9.2.8 and 9.4.5 are unable to bootstrap themselves and 9.6.2 when cross-compiled. If you're looking at this commit to see whether you can safely upgrade the compiler used here to remove 8.10, please try cross-compiling 9.0 or later and then booting a native GHC with it. --- pkgs/test/cross/default.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/pkgs/test/cross/default.nix b/pkgs/test/cross/default.nix index bd233db4cd50f..7f5a777794d5c 100644 --- a/pkgs/test/cross/default.nix +++ b/pkgs/test/cross/default.nix @@ -146,6 +146,8 @@ let pkgs.pkgsCross.mips64el-linux-gnuabi64.stdenv pkgs.pkgsCross.mips64el-linux-gnuabin32.stdenv pkgs.pkgsCross.mingwW64.stdenv + # Unlike later versions, cross-compiled 8.10.7 can reliably bootstrap a native build + pkgs.pkgsCross.riscv64.haskell.compiler.integer-simple.ghc8107 ] ++ lib.optionals (with pkgs.stdenv.buildPlatform; isx86_64 && isLinux) [ # Musl-to-glibc cross on the same architecture tends to turn up From fd9fa33730b90acf78e8d3003e5f3d0a6fda777a Mon Sep 17 00:00:00 2001 From: sternenseemann Date: Sun, 14 Apr 2024 15:05:58 +0200 Subject: [PATCH 18/22] ghc-settings-edit: init at 0.1.0 --- .../haskell-modules/non-hackage-packages.nix | 2 + .../haskell/ghc-settings-edit/default.nix | 26 +++++ .../ghc-settings-edit/ghc-settings-edit.lhs | 109 ++++++++++++++++++ 3 files changed, 137 insertions(+) create mode 100644 pkgs/development/tools/haskell/ghc-settings-edit/default.nix create mode 100644 pkgs/development/tools/haskell/ghc-settings-edit/ghc-settings-edit.lhs diff --git a/pkgs/development/haskell-modules/non-hackage-packages.nix b/pkgs/development/haskell-modules/non-hackage-packages.nix index bb995435fc600..c5cfbcec0313b 100644 --- a/pkgs/development/haskell-modules/non-hackage-packages.nix +++ b/pkgs/development/haskell-modules/non-hackage-packages.nix @@ -17,6 +17,8 @@ self: super: { # from the latest master instead of the current version on Hackage. cabal2nix-unstable = self.callPackage ./cabal2nix-unstable.nix { }; + ghc-settings-edit = self.callPackage ../tools/haskell/ghc-settings-edit { }; + # https://github.com/channable/vaultenv/issues/1 vaultenv = self.callPackage ../tools/haskell/vaultenv { }; diff --git a/pkgs/development/tools/haskell/ghc-settings-edit/default.nix b/pkgs/development/tools/haskell/ghc-settings-edit/default.nix new file mode 100644 index 0000000000000..4b96a76050271 --- /dev/null +++ b/pkgs/development/tools/haskell/ghc-settings-edit/default.nix @@ -0,0 +1,26 @@ +{ stdenv, ghc, lib }: + +stdenv.mkDerivation { + pname = "ghc-settings-edit"; + version = "0.1.0"; + # See the source code for an explanation + src = ./ghc-settings-edit.lhs; + dontUnpack = true; + dontBuild = true; + + nativeBuildInputs = [ ghc ]; + installPhase = '' + runHook preInstall + + mkdir -p "$out/bin" + ${ghc.targetPrefix}ghc --make "$src" -o "$out/bin/ghc-settings-edit" + + runHook postInstall + ''; + + meta = { + license = [ lib.licenses.mit lib.licenses.bsd3 ]; + platform = lib.platforms.all; + description = "Tool for editing GHC's settings file"; + }; +} diff --git a/pkgs/development/tools/haskell/ghc-settings-edit/ghc-settings-edit.lhs b/pkgs/development/tools/haskell/ghc-settings-edit/ghc-settings-edit.lhs new file mode 100644 index 0000000000000..5ced4ef418fe4 --- /dev/null +++ b/pkgs/development/tools/haskell/ghc-settings-edit/ghc-settings-edit.lhs @@ -0,0 +1,109 @@ +ghc-settings-edit is a small tool for changing certain fields in the settings +file that is part of every GHC installation (usually located at +lib/ghc-$version/lib/settings or lib/ghc-$version/settings). This is sometimes +necessary because GHC's build process leaks the tools used at build time into +the final settings file. This is fine, as long as the build and host platform +of the GHC build is the same since it will be possible to execute the tools +used at build time at run time. In case we are cross compiling GHC itself, +the settings file needs to be changed so that the correct tools are used in the +final installation. The GHC build system itself doesn't allow for this due to +its somewhat peculiar bootstrapping mechanism. + +This tool was originally written by sternenseemann and is licensed under the MIT +license (as is nixpkgs) as well as the BSD 3 Clause license since it incorporates +some code from GHC. It is primarily intended for use in nixpkgs, so it should be +considered unstabile: No guarantees about the stability of its command line +interface are made at this time. + +> -- SPDX-License-Identifier: MIT AND BSD-3-Clause +> {-# LANGUAGE LambdaCase #-} +> module Main where + +ghc-settings-edit requires no additional dependencies to the ones already +required to bootstrap GHC. This means that it only depends on GHC and core +libraries shipped with the compiler (base and containers). This property should +be preserved going forward as to not needlessly complicate bootstrapping GHC +in nixpkgs. Additionally, a wide range of library versions and thus GHC versions +should be supported (via CPP if necessary). + +> import Control.Monad (foldM) +> import qualified Data.Map.Lazy as Map +> import System.Environment (getArgs, getProgName) +> import Text.Read (readEither) + +Note that the containers dependency is needed to represent the contents of the +settings file. In theory, [(String, String)] (think lookup) would suffice, but +base doesn't provide any facilities for updating such lists. To avoid needlessly +reinventing the wheel here, we depend on an extra core library. + +> type SettingsMap = Map.Map String String + +ghc-settings-edit accepts the following arguments: + +- The path to the settings file which is edited in place. +- For every field in the settings file to be updated, two arguments need to be + passed: the name of the field and its new value. Any number of these pairs + may be provided. If a field is missing from the given settings file, + it won't be added (see also below). + +> usage :: String -> String +> usage name = "Usage: " ++ name ++ " FILE [KEY NEWVAL [KEY2 NEWVAL2 ...]]" + +The arguments and the contents of the settings file are fed into the performEdits +function which implements the main logic of ghc-settings-edit (except IO). + +> performEdits :: [String] -> String -> Either String String +> performEdits editArgs settingsString = do + +First, the settings file is parsed and read into the SettingsMap structure. For +parsing, we can simply rely read, as GHC uses the familiar Read/Show format +(plus some formatting) for storing its settings. This is the main reason +ghc-settings-edit is written in Haskell: We don't need to roll our own parser. + +> settingsMap <- Map.fromList <$> readEither settingsString + +We also need to parse the remaining command line arguments (after the path) +which means splitting them into pairs of arguments describing the individual +edits. We use the chunkList utility function from GHC for this which is vendored +below. Since it doesn't guarantee that all sublists have the exact length given, +we'll have to check the length of the returned “pairs” later. + +> let edits = chunkList 2 editArgs + +Since each edit is a transformation of the SettingsMap, we use a fold to go +through the edits. The Either monad allows us to bail out if one is malformed. +The use of Map.adjust ensures that fields that aren't present in the original +settings file aren't added since the corresponding GHC installation wouldn't +understand them. Note that this is done silently which may be suboptimal: +It could be better to fail. + +> show . Map.toList <$> foldM applyEdit settingsMap edits +> where +> applyEdit :: SettingsMap -> [String] -> Either String SettingsMap +> applyEdit m [key, newValue] = Right $ Map.adjust (const newValue) key m +> applyEdit _ _ = Left "Uneven number of edit arguments provided" + +main just wraps performEdits and takes care of reading from and writing to the +given file. + +> main :: IO () +> main = +> getArgs >>= \case +> (settingsFile:edits) -> do +> orig <- readFile settingsFile +> case performEdits edits orig of +> Right edited -> writeFile settingsFile edited +> Left errorMsg -> error errorMsg +> _ -> do +> name <- getProgName +> error $ usage name + +As mentioned, chunkList is taken from GHC, specifically GHC.Utils.Misc of GHC +verson 9.8.2. We don't depend on the ghc library directly (which would be +possible in theory) since there are no stability guarantees or deprecation +windows for the ghc's public library. + +> -- | Split a list into chunks of /n/ elements +> chunkList :: Int -> [a] -> [[a]] +> chunkList _ [] = [] +> chunkList n xs = as : chunkList n bs where (as,bs) = splitAt n xs From 884bd5f0215a58857a07f91c1c5e2c82164e6a47 Mon Sep 17 00:00:00 2001 From: sternenseemann Date: Sun, 14 Apr 2024 15:11:38 +0200 Subject: [PATCH 19/22] !fixup haskell.compiler.ghc948: use ghc-settings-edit --- .../compilers/ghc/common-make-native-bignum.nix | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/pkgs/development/compilers/ghc/common-make-native-bignum.nix b/pkgs/development/compilers/ghc/common-make-native-bignum.nix index 1444091320d23..48eb78f3ad914 100644 --- a/pkgs/development/compilers/ghc/common-make-native-bignum.nix +++ b/pkgs/development/compilers/ghc/common-make-native-bignum.nix @@ -408,6 +408,7 @@ stdenv.mkDerivation (rec { nativeBuildInputs = [ perl autoconf automake m4 python3 ghc bootPkgs.alex bootPkgs.happy bootPkgs.hscolour + bootPkgs.ghc-settings-edit ] ++ lib.optionals (stdenv.isDarwin && stdenv.isAarch64) [ autoSignDarwinBinariesHook ] ++ lib.optionals enableDocs [ @@ -455,12 +456,15 @@ stdenv.mkDerivation (rec { postInstall = '' # Make the installed GHC use the host platform's tools. - sed -i $out/lib/${targetPrefix}${passthru.haskellCompilerName}/settings \ - -e "s!$CC!${installCC}/bin/${installCC.targetPrefix}cc!g" \ - -e "s!$CXX!${installCC}/bin/${installCC.targetPrefix}c++!g" \ - -e "s!$LD!${installCC.bintools}/bin/${installCC.bintools.targetPrefix}ld${lib.optionalString useLdGold ".gold"}!g" \ - -e "s!$AR!${installCC.bintools.bintools}/bin/${installCC.bintools.targetPrefix}ar!g" \ - -e "s!$RANLIB!${installCC.bintools.bintools}/bin/${installCC.bintools.targetPrefix}ranlib!g" + ghc-settings-edit "$out/lib/${targetPrefix}${passthru.haskellCompilerName}/settings" \ + "C compiler command" "${installCC}/bin/${installCC.targetPrefix}cc" \ + "Haskell CPP command" "${installCC}/bin/${installCC.targetPrefix}cc" \ + "C++ compiler command" "${installCC}/bin/${installCC.targetPrefix}c++" \ + "ld command" "${installCC.bintools}/bin/${installCC.bintools.targetPrefix}ld${lib.optionalString useLdGold ".gold"}" \ + "Merge objects command" "${installCC.bintools}/bin/${installCC.bintools.targetPrefix}ld${lib.optionalString useLdGold ".gold"}" \ + "ar command" "${installCC.bintools}/bin/${installCC.bintools.targetPrefix}ar" \ + "ranlib command" "${installCC.bintools}/bin/${installCC.bintools.targetPrefix}ranlib" + # TODO: otool/install_name_tool # Install the bash completion file. install -D -m 444 utils/completion/ghc.bash $out/share/bash-completion/completions/${targetPrefix}ghc From 7bc2c968c9ef0c6975f38b22985a3aabfccf2eab Mon Sep 17 00:00:00 2001 From: sternenseemann Date: Mon, 2 Sep 2024 12:08:26 +0200 Subject: [PATCH 20/22] fixup! ghc-settings-edit --- .../tools/haskell/ghc-settings-edit/default.nix | 11 +++++++++-- .../haskell/ghc-settings-edit/ghc-settings-edit.lhs | 2 +- 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/pkgs/development/tools/haskell/ghc-settings-edit/default.nix b/pkgs/development/tools/haskell/ghc-settings-edit/default.nix index 4b96a76050271..71a2918a88f18 100644 --- a/pkgs/development/tools/haskell/ghc-settings-edit/default.nix +++ b/pkgs/development/tools/haskell/ghc-settings-edit/default.nix @@ -1,4 +1,8 @@ -{ stdenv, ghc, lib }: +{ + stdenv, + ghc, + lib, +}: stdenv.mkDerivation { pname = "ghc-settings-edit"; @@ -19,7 +23,10 @@ stdenv.mkDerivation { ''; meta = { - license = [ lib.licenses.mit lib.licenses.bsd3 ]; + license = [ + lib.licenses.mit + lib.licenses.bsd3 + ]; platform = lib.platforms.all; description = "Tool for editing GHC's settings file"; }; diff --git a/pkgs/development/tools/haskell/ghc-settings-edit/ghc-settings-edit.lhs b/pkgs/development/tools/haskell/ghc-settings-edit/ghc-settings-edit.lhs index 5ced4ef418fe4..3b37bafe0d622 100644 --- a/pkgs/development/tools/haskell/ghc-settings-edit/ghc-settings-edit.lhs +++ b/pkgs/development/tools/haskell/ghc-settings-edit/ghc-settings-edit.lhs @@ -12,7 +12,7 @@ its somewhat peculiar bootstrapping mechanism. This tool was originally written by sternenseemann and is licensed under the MIT license (as is nixpkgs) as well as the BSD 3 Clause license since it incorporates some code from GHC. It is primarily intended for use in nixpkgs, so it should be -considered unstabile: No guarantees about the stability of its command line +considered unstable: No guarantees about the stability of its command line interface are made at this time. > -- SPDX-License-Identifier: MIT AND BSD-3-Clause From 56af4348a8659b44e6cf305fffb36166db81fbfa Mon Sep 17 00:00:00 2001 From: sternenseemann Date: Mon, 2 Sep 2024 12:28:07 +0200 Subject: [PATCH 21/22] haskell.compile.ghc{96*,98*,910*}: fix libdw cross dependency --- pkgs/development/compilers/ghc/common-hadrian.nix | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/pkgs/development/compilers/ghc/common-hadrian.nix b/pkgs/development/compilers/ghc/common-hadrian.nix index 300e1aaef356d..e797f55587a35 100644 --- a/pkgs/development/compilers/ghc/common-hadrian.nix +++ b/pkgs/development/compilers/ghc/common-hadrian.nix @@ -342,6 +342,10 @@ let then targetPackages.libffi else pkgsHostTarget.libffi; + targetElfutils = if hostPlatform != targetPlatform + then targetPackages.elfutils + else pkgsHostTarget.elfutils; + # Our Cabal compiler name haskellCompilerName = "ghc-${version}"; @@ -486,8 +490,8 @@ stdenv.mkDerivation ({ "--disable-large-address-space" ] ++ lib.optionals enableDwarf [ "--enable-dwarf-unwind" - "--with-libdw-includes=${lib.getDev targetPackages.elfutils}/include" - "--with-libdw-libraries=${lib.getLib targetPackages.elfutils}/lib" + "--with-libdw-includes=${lib.getDev targetElfutils}/include" + "--with-libdw-libraries=${lib.getLib targetElfutils}/lib" ] ++ lib.optionals targetPlatform.isDarwin [ # Darwin uses llvm-ar. GHC will try to use `-L` with `ar` when it is `llvm-ar` # but it doesn’t currently work because Cabal never uses `-L` on Darwin. See: From ba580ced50a2bf61bd702b869547bfbfefec4451 Mon Sep 17 00:00:00 2001 From: sternenseemann Date: Tue, 3 Sep 2024 16:39:30 +0200 Subject: [PATCH 22/22] !fixup make/native-bignum: use toolPath --- .../compilers/ghc/common-make-native-bignum.nix | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/pkgs/development/compilers/ghc/common-make-native-bignum.nix b/pkgs/development/compilers/ghc/common-make-native-bignum.nix index 48eb78f3ad914..1e35676a7f3f8 100644 --- a/pkgs/development/compilers/ghc/common-make-native-bignum.nix +++ b/pkgs/development/compilers/ghc/common-make-native-bignum.nix @@ -457,13 +457,13 @@ stdenv.mkDerivation (rec { postInstall = '' # Make the installed GHC use the host platform's tools. ghc-settings-edit "$out/lib/${targetPrefix}${passthru.haskellCompilerName}/settings" \ - "C compiler command" "${installCC}/bin/${installCC.targetPrefix}cc" \ - "Haskell CPP command" "${installCC}/bin/${installCC.targetPrefix}cc" \ - "C++ compiler command" "${installCC}/bin/${installCC.targetPrefix}c++" \ - "ld command" "${installCC.bintools}/bin/${installCC.bintools.targetPrefix}ld${lib.optionalString useLdGold ".gold"}" \ - "Merge objects command" "${installCC.bintools}/bin/${installCC.bintools.targetPrefix}ld${lib.optionalString useLdGold ".gold"}" \ - "ar command" "${installCC.bintools}/bin/${installCC.bintools.targetPrefix}ar" \ - "ranlib command" "${installCC.bintools}/bin/${installCC.bintools.targetPrefix}ranlib" + "C compiler command" "${toolPath "cc" installCC}" \ + "Haskell CPP command" "${toolPath "cc" installCC}" \ + "C++ compiler command" "${toolPath "c++" installCC}" \ + "ld command" "${toolPath "ld${lib.optionalString useLdGold ".gold"}" installCC}" \ + "Merge objects command" "${toolPath "ld${lib.optionalString useLdGold ".gold"}" installCC}" \ + "ar command" "${toolPath "ar" installCC}" \ + "ranlib command" "${toolPath "ranlib" installCC}" # TODO: otool/install_name_tool # Install the bash completion file.