From fe2d070d7e81724f87d99e18801cf1439d2e27e1 Mon Sep 17 00:00:00 2001 From: sternenseemann Date: Sun, 19 Feb 2023 10:28:11 +0100 Subject: [PATCH 01/26] all-cabal-hashes: 2023-02-13T17:53:53Z -> 2023-02-19T09:15:19Z 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 bc5feff0162c..57ed980f0ff4 100644 --- a/pkgs/data/misc/hackage/pin.json +++ b/pkgs/data/misc/hackage/pin.json @@ -1,6 +1,6 @@ { - "commit": "220fb2ad74640b02e543271393f21ba227bd2627", - "url": "https://github.com/commercialhaskell/all-cabal-hashes/archive/220fb2ad74640b02e543271393f21ba227bd2627.tar.gz", - "sha256": "1hpbqw04i8p2h5w31a7rqlmhdjpj4r4v62kdqich57hm1cj2ml7h", - "msg": "Update from Hackage at 2023-02-13T17:53:53Z" + "commit": "1f7cec5b787f338430007a1176f686ddbd85cbc5", + "url": "https://github.com/commercialhaskell/all-cabal-hashes/archive/1f7cec5b787f338430007a1176f686ddbd85cbc5.tar.gz", + "sha256": "0ddnzb8l5gbpsar1pz2dq86xa1mv4840f9ppk5viwnzgyfiqzfv8", + "msg": "Update from Hackage at 2023-02-19T09:15:19Z" } From cc9672e57c14ef38ada91bd3e29f36a948a94c34 Mon Sep 17 00:00:00 2001 From: sternenseemann Date: Sun, 19 Feb 2023 10:30:00 +0100 Subject: [PATCH 02/26] 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 | 749 ++++++++++++++---- 1 file changed, 611 insertions(+), 138 deletions(-) diff --git a/pkgs/development/haskell-modules/hackage-packages.nix b/pkgs/development/haskell-modules/hackage-packages.nix index 4c82a021e636..a854af6cee10 100644 --- a/pkgs/development/haskell-modules/hackage-packages.nix +++ b/pkgs/development/haskell-modules/hackage-packages.nix @@ -5359,6 +5359,8 @@ self: { pname = "EdisonCore"; version = "1.3.3"; sha256 = "128y1myk517vmv7md0gq91wrdhyif2ki74hydlx3ls3f4xbzjhl4"; + revision = "1"; + editedCabalFile = "0zgy59mdjnrd7m3cgdw2yn45dya8qg7sgi96hwfz4q5vjp7az24m"; libraryHaskellDepends = [ array base containers EdisonAPI mtl QuickCheck ]; @@ -11769,6 +11771,25 @@ self: { license = lib.licenses.bsd3; }) {}; + "IntervalMap_0_6_2_0" = callPackage + ({ mkDerivation, base, Cabal, containers, criterion, deepseq + , fingertree, QuickCheck, random, SegmentTree, weigh + }: + mkDerivation { + pname = "IntervalMap"; + version = "0.6.2.0"; + sha256 = "03964pa13nap4gnhdagkfwjc8y74x0pikywa7pv8944a5v9ziwss"; + libraryHaskellDepends = [ base containers deepseq ]; + testHaskellDepends = [ base Cabal containers deepseq QuickCheck ]; + benchmarkHaskellDepends = [ + base containers criterion deepseq fingertree random SegmentTree + weigh + ]; + description = "Containers for intervals, with efficient search"; + license = lib.licenses.bsd3; + hydraPlatforms = lib.platforms.none; + }) {}; + "Irc" = callPackage ({ mkDerivation, base, data-default, doctest, mtl, network , transformers @@ -12654,8 +12675,8 @@ self: { }: mkDerivation { pname = "LPFP"; - version = "1.0"; - sha256 = "0sxl6zwji66blk2vamc6ffb17ibbxp3ypnq14xr2y5vlqj0v2flq"; + version = "1.1"; + sha256 = "0r5h06aqd6b74shfzl45rzmfd8plpmbp00k244mrxh2qjhscra71"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ @@ -28098,10 +28119,8 @@ self: { }: mkDerivation { pname = "alphachar"; - version = "0.0.3"; - sha256 = "1wrd881kwzzfnjkp9ajy1gaxizd17zb60f7sbalwg4n38lk7qvhx"; - revision = "1"; - editedCabalFile = "06pnq2fvz02i6dhx2rq1p63jp3pqvxy15n2vs6696ry5mkq1zjkc"; + version = "0.0.4"; + sha256 = "02r11cm50zhi0rnc251i8cfg0kb8lxanwm6472v55f8q60y9b4g0"; libraryHaskellDepends = [ base lens parsers semigroups ]; testHaskellDepends = [ ansi-wl-pprint base hedgehog lens parsec parsers pretty tasty @@ -28230,6 +28249,8 @@ self: { pname = "alsa-pcm"; version = "0.6.1.1"; sha256 = "1mllr9nbm3qb837zgvd6mrpr6f8i272wflv0a45rrpsq50zgcj33"; + revision = "1"; + editedCabalFile = "1bq0rmawwn7xaqny6gvp0qh0pggqcxr9b64346fm4a8fsq71a6wi"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ @@ -28263,10 +28284,8 @@ self: { }: mkDerivation { pname = "alsa-seq"; - version = "0.6.0.8"; - sha256 = "00f7873484nifbimdav0b25sipgx3rn6xx1il6qgvz0p70pzzljv"; - revision = "1"; - editedCabalFile = "1mzdlqgxrgjmr3ljf4xg8rcks1fdq0s0zpb4lkipcm1lyq0kk32j"; + version = "0.6.0.9"; + sha256 = "1kb5p95wrkp8rri9557mhmk09ib82mr34z7xy8kkr1fhrf1xnylf"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ @@ -37186,8 +37205,8 @@ self: { pname = "attoparsec"; version = "0.14.4"; sha256 = "0v4yjz4qi8bwhbyavqxlhsfb1iv07v10gxi64khmsmi4hvjpycrz"; - revision = "2"; - editedCabalFile = "00jyrn2asz1kp698l3fyh19xxxz4npf1993y041x9b9cq239smn0"; + revision = "3"; + editedCabalFile = "1ciz49yg6zcaf5dvh5wp3kv92jxa23pblggfldbmy5q54dr5nish"; libraryHaskellDepends = [ array base bytestring containers deepseq ghc-prim scientific text transformers @@ -46224,6 +46243,23 @@ self: { license = lib.licenses.bsd3; }) {}; + "blas-carray_0_1_0_2" = callPackage + ({ mkDerivation, base, blas-ffi, carray, netlib-carray, netlib-ffi + , storable-complex, transformers + }: + mkDerivation { + pname = "blas-carray"; + version = "0.1.0.2"; + sha256 = "1456vlasxl45624cnm3vsm25xjvxr0m4g58492kxl9725czmxh2j"; + libraryHaskellDepends = [ + base blas-ffi carray netlib-carray netlib-ffi storable-complex + transformers + ]; + description = "Auto-generated interface to Fortran BLAS via CArrays"; + license = lib.licenses.bsd3; + hydraPlatforms = lib.platforms.none; + }) {}; + "blas-comfort-array" = callPackage ({ mkDerivation, base, blas-ffi, comfort-array , netlib-comfort-array, netlib-ffi, storable-complex, transformers @@ -46232,6 +46268,8 @@ self: { pname = "blas-comfort-array"; version = "0.0.0.3"; sha256 = "1g0bvag205ag520vlxv24cv63idjg6j8nwnadq9gbcibn4gvsisz"; + revision = "1"; + editedCabalFile = "1jdl8x0vs6p0h3qcwal7zr281cxqlxppq43yg2jkidhddqf9sgpd"; libraryHaskellDepends = [ base blas-ffi comfort-array netlib-comfort-array netlib-ffi storable-complex transformers @@ -50818,10 +50856,8 @@ self: { }: mkDerivation { pname = "bytepatch"; - version = "0.4.0"; - sha256 = "0algbhwzkhj5l98djzhy6ayd4wpldxv75zvqhpp6ckm94ryvb4v9"; - revision = "1"; - editedCabalFile = "1n4cff6wfbgdrw2hn7q1ns346w3mcn6a84v15hw4yzd173pbk4k3"; + version = "0.4.1"; + sha256 = "12khhc1k1w9nskhz7wafr3s79x3ps18pphc1cjampxyknjc7q17g"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ @@ -52257,8 +52293,8 @@ self: { pname = "cabal-doctest"; version = "1.0.9"; sha256 = "0wxs0xkspc80h0g8ks792lrzldxvcnhc9rja1j0k678ijs20hmjm"; - revision = "2"; - editedCabalFile = "0868js0qgfhvmyw4hjzrvmlzyqsm8dfsbmqhybxb90x44xi3r0i1"; + revision = "3"; + editedCabalFile = "0mh64vifcy5dbbx2n3llhbxx8mczifmipyqwrsb3vx2p2jyhvskd"; libraryHaskellDepends = [ base Cabal directory filepath ]; description = "A Setup.hs helper for running doctests"; license = lib.licenses.bsd3; @@ -52339,8 +52375,8 @@ self: { pname = "cabal-flatpak"; version = "0.1.0.3"; sha256 = "1k0fzhyvlcq1l09fnf3f3wig4g9l61wsm1dmsjd3nwsgh52xb37v"; - revision = "1"; - editedCabalFile = "1468f116hza0l9z4n4zqy1y65q322ypx5kh646fsfi78fimwj34a"; + revision = "2"; + editedCabalFile = "04fk0hdbdgfw5md19kjgs3mrmkcwhn4qm2qd7fav6nph0rdkwr10"; isLibrary = false; isExecutable = true; executableHaskellDepends = [ @@ -63491,6 +63527,26 @@ self: { license = lib.licenses.bsd3; }) {}; + "combinatorial_0_1_1" = callPackage + ({ mkDerivation, array, base, containers, doctest-exitcode-stdio + , doctest-lib, QuickCheck, transformers, utility-ht + }: + mkDerivation { + pname = "combinatorial"; + version = "0.1.1"; + sha256 = "0sz5x3776fr736mwsn582ih1pflkirsk6bqygagsg8jq0nh83v5g"; + libraryHaskellDepends = [ + array base containers transformers utility-ht + ]; + testHaskellDepends = [ + array base containers doctest-exitcode-stdio doctest-lib QuickCheck + transformers utility-ht + ]; + description = "Count, enumerate, rank and unrank combinatorial objects"; + license = lib.licenses.bsd3; + hydraPlatforms = lib.platforms.none; + }) {}; + "combinatorial-problems" = callPackage ({ mkDerivation, array, base, bytestring, bytestring-lexing , containers, parsec, random @@ -63635,6 +63691,8 @@ self: { pname = "comfort-graph"; version = "0.0.3.2"; sha256 = "13g6dcqcnysh1l0hsm3j3q9il9r987brxc3557m69k0ag0wk5m4b"; + revision = "1"; + editedCabalFile = "0f0zgf8nk5bihs1z3kz37c4ansg7pk9d3pbvnazabqqwv4c11kl5"; libraryHaskellDepends = [ base containers QuickCheck semigroups transformers utility-ht ]; @@ -70859,16 +70917,16 @@ self: { license = lib.licenses.bsd3; }) {}; - "criterion-measurement_0_2_0_0" = callPackage + "criterion-measurement_0_2_1_0" = callPackage ({ mkDerivation, aeson, base, base-compat, binary, containers - , deepseq, vector + , deepseq, ghc-prim, vector }: mkDerivation { pname = "criterion-measurement"; - version = "0.2.0.0"; - sha256 = "1cyanb4w3p2nr5vfqdl8s3abqh0avnpqxnjhfanj7vj18gbm06ja"; + version = "0.2.1.0"; + sha256 = "19gd7rqyibl2fhh6i0kj8d3y0pxc8wl7ag6bq5maaj5y24p85knx"; libraryHaskellDepends = [ - aeson base base-compat binary containers deepseq vector + aeson base base-compat binary containers deepseq ghc-prim vector ]; description = "Criterion measurement functionality and associated types"; license = lib.licenses.bsd3; @@ -75626,6 +75684,18 @@ self: { license = lib.licenses.bsd3; }) {}; + "data-ref_0_1" = callPackage + ({ mkDerivation, base, data-accessor, stm, transformers }: + mkDerivation { + pname = "data-ref"; + version = "0.1"; + sha256 = "0kd7jnbbiicl5jmf6wvd4v8jpb2d0v7ic3nwwibp532sv976hf2f"; + libraryHaskellDepends = [ base data-accessor stm transformers ]; + description = "Unify STRef and IORef in plain Haskell 98"; + license = lib.licenses.bsd3; + hydraPlatforms = lib.platforms.none; + }) {}; + "data-reify" = callPackage ({ mkDerivation, base, base-compat, containers, hashable, hspec , hspec-discover, unordered-containers @@ -89946,6 +90016,18 @@ self: { hydraPlatforms = lib.platforms.none; }) {}; + "elliptic-integrals" = callPackage + ({ mkDerivation, base, tasty, tasty-hunit }: + mkDerivation { + pname = "elliptic-integrals"; + version = "0.1.0.0"; + sha256 = "15a3sx336d418gbkmdncqzrird8kv861yghf9kf8czn8wqk0ygm2"; + libraryHaskellDepends = [ base ]; + testHaskellDepends = [ base tasty tasty-hunit ]; + description = "Carlson Elliptic Integrals and Incomplete Elliptic Integrals"; + license = lib.licenses.bsd3; + }) {}; + "elm-bridge" = callPackage ({ mkDerivation, aeson, base, containers, hspec, QuickCheck , template-haskell, text @@ -91407,8 +91489,8 @@ self: { }: mkDerivation { pname = "enum-subset-generate"; - version = "0.1.0.0"; - sha256 = "10a5n6bvg5pfc947sa5wijsysha3008bqwdkpl3mpvlmjh4c41yx"; + version = "0.1.0.1"; + sha256 = "0pqa3cbas63s3jcjdcjq882hja1p4m8fi8lmx7fqa8xh5ypqhzc8"; libraryHaskellDepends = [ base microlens template-haskell ]; testHaskellDepends = [ base generic-random hspec microlens QuickCheck template-haskell @@ -93685,6 +93767,8 @@ self: { pname = "event-list"; version = "0.1.2"; sha256 = "177q99iswmanh34wlgklw1djvv5v1c0b5ysyi7mdmb70fsw30kk2"; + revision = "1"; + editedCabalFile = "19n1snzzqg4mkpss2b29zsv8h4n1nmzcmyclap11gcsjmv75mwzh"; libraryHaskellDepends = [ base non-negative QuickCheck semigroups transformers utility-ht ]; @@ -95086,8 +95170,8 @@ self: { }: mkDerivation { pname = "exon"; - version = "1.3.0.0"; - sha256 = "1w93x0yfqm1yp82lh2q1wibb88xn7rh4vh16pq1pzs8vdhgbapc2"; + version = "1.4.0.0"; + sha256 = "1xmpbr53yrdhx9dfh6b6al9r146pdm4cv17l2apr7xxqy0capsy7"; libraryHaskellDepends = [ base flatparse generics-sop ghc-hs-meta incipit-base template-haskell @@ -99115,16 +99199,14 @@ self: { broken = true; }) {}; - "filepath_1_4_100_0" = callPackage + "filepath_1_4_100_1" = callPackage ({ mkDerivation, base, bytestring, checkers, deepseq, exceptions , QuickCheck, template-haskell }: mkDerivation { pname = "filepath"; - version = "1.4.100.0"; - sha256 = "1k0am2fp51fj2bwmgbmf093cip86wvmhn4j0mpx148chkijjs7v9"; - revision = "1"; - editedCabalFile = "0xxqs4ir8swvirivix6hjl4wa59bybf9dk68lgdkzcvrqg49z925"; + version = "1.4.100.1"; + sha256 = "0i3a0bg1csjgkwnwzs80h62kp3gil06qgjxsb3nkjprnspzaf55w"; libraryHaskellDepends = [ base bytestring deepseq exceptions template-haskell ]; @@ -106599,16 +106681,13 @@ self: { }) {}; "gambler" = callPackage - ({ mkDerivation, base, criterion, hspec }: + ({ mkDerivation, base, hspec }: mkDerivation { pname = "gambler"; - version = "0.0.0.0"; - sha256 = "1bbnczw8771jv0ds082r3babf28214p99lx0f97y4hxcsi29f096"; - revision = "1"; - editedCabalFile = "12wkc92pdpiks8mn375n2yjkjq9b1n0q6vnyyslf0b58p9b9flgw"; + version = "0.0.0.1"; + sha256 = "0ndkfy0yisbmhh5zg5djafsh62km8fdrnzg3z1gia4mmmfkn44s9"; libraryHaskellDepends = [ base ]; testHaskellDepends = [ base hspec ]; - benchmarkHaskellDepends = [ base criterion ]; description = "Composable, streaming, and efficient left folds"; license = lib.licenses.bsd3; }) {}; @@ -111857,8 +111936,8 @@ self: { }: mkDerivation { pname = "ghcide"; - version = "1.9.0.0"; - sha256 = "0sjqnh6hgr6w3c26ilz4l6l858m7wk7yg4674s43wy4c72fxww34"; + version = "1.9.1.0"; + sha256 = "1r1ds3m4jy50z7b514l8wnffh11g0mbg4g8pp9xr80a7bv8y7xs9"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ @@ -113982,8 +114061,8 @@ self: { }: mkDerivation { pname = "git-annex"; - version = "10.20230126"; - sha256 = "06b5gnj0dxiz7lkc75xmmzi50svwbqhs5az01lfmw27r3ibcicpm"; + version = "10.20230214"; + sha256 = "10mlil7xlkfx7jcd65ndvrg1gb864dqfy2zyfck0z0rynll7s1d2"; configureFlags = [ "-fassistant" "-f-benchmark" "-fdbus" "-f-debuglocks" "-fmagicmime" "-fnetworkbsd" "-fpairing" "-fproduction" "-fs3" "-ftorrentparser" @@ -120671,15 +120750,15 @@ self: { "graphql-spice" = callPackage ({ mkDerivation, aeson, base, conduit, containers, exceptions , graphql, hspec, hspec-expectations, megaparsec, scientific, text - , unordered-containers, vector + , transformers, unordered-containers, vector }: mkDerivation { pname = "graphql-spice"; - version = "1.0.0.0"; - sha256 = "06ni93n7wqi68k7vaqjls1hz36kiv3gcvlbnfz8wfhc5vgi8qznh"; + version = "1.0.1.0"; + sha256 = "0h04x6w5w1g6jxr52zndpixv4k3sxciqq044jhv7iiq33hj54gkf"; libraryHaskellDepends = [ aeson base conduit containers exceptions graphql hspec-expectations - megaparsec scientific text unordered-containers vector + megaparsec scientific text transformers unordered-containers vector ]; testHaskellDepends = [ aeson base graphql hspec scientific text unordered-containers @@ -122878,8 +122957,8 @@ self: { }: mkDerivation { pname = "h-raylib"; - version = "4.5.1.0"; - sha256 = "0l2z5lijmqdn483zah01d5vvlxxywd4wzxbffp3kcks6rcdwj6k3"; + version = "4.5.1.1"; + sha256 = "0g1n4msjgxhgkdvjy44hd6hhg05iahin09ij5v6vyigdzbyx6hf9"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ base ]; @@ -124073,6 +124152,8 @@ self: { pname = "hackage-diff"; version = "0.1.0.1"; sha256 = "00nhnj14p7msmrcj1r4rjrg7jdqbfyc7fsavxwbwhwknzbm10515"; + revision = "1"; + editedCabalFile = "02ni0dm701wqs3487mbd4yf1xqhfc6zz0ykjwxk4q5g5b26788vn"; isLibrary = false; isExecutable = true; executableHaskellDepends = [ @@ -124458,8 +124539,8 @@ self: { }: mkDerivation { pname = "hackport"; - version = "0.8.0.0"; - sha256 = "0z6mjzzfpf73cl93drdv3wmigrv3b3gr01xjs5di6j6xm2n4fwrf"; + version = "0.8.1.0"; + sha256 = "05amkgk4yy7b440g8lllz5j91x278f5hwq6kjn9dzbh83qw3ccl0"; isLibrary = false; isExecutable = true; libraryHaskellDepends = [ @@ -126555,27 +126636,26 @@ self: { "hapistrano" = callPackage ({ mkDerivation, aeson, ansi-terminal, async, base, directory - , filepath, formatting, gitrev, hspec, hspec-discover, mtl - , optparse-applicative, path, path-io, process, QuickCheck + , exceptions, filepath, formatting, gitrev, hspec, hspec-discover + , mtl, optparse-applicative, path, path-io, process, QuickCheck , silently, stm, temporary, time, transformers, typed-process, yaml }: mkDerivation { pname = "hapistrano"; - version = "0.4.6.0"; - sha256 = "1bischj5ndbv33is36537gd3180m9i76mlyjxrfcawzlqf8h3p66"; + version = "0.4.8.0"; + sha256 = "0g87zns89x15q9lynpmgpxrbw3rzfnkx2wrcpjx2rwlfghlxwxy2"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ - aeson ansi-terminal base filepath gitrev mtl path process stm time - transformers typed-process yaml + aeson ansi-terminal base exceptions filepath gitrev mtl path + path-io process stm time transformers typed-process yaml ]; executableHaskellDepends = [ - aeson async base formatting gitrev mtl optparse-applicative path - path-io stm yaml + async base formatting gitrev optparse-applicative stm yaml ]; testHaskellDepends = [ - base directory filepath hspec mtl path path-io process QuickCheck - silently temporary yaml + aeson base directory filepath hspec mtl path path-io process + QuickCheck silently temporary yaml ]; testToolDepends = [ hspec-discover ]; description = "A deployment library for Haskell applications"; @@ -129597,10 +129677,8 @@ self: { }: mkDerivation { pname = "haskell-language-server"; - version = "1.9.0.0"; - sha256 = "1bxf3q4yzchqvasxvidbsr0mzf299w2n11g3m85fmxm4q9bc1lkp"; - revision = "1"; - editedCabalFile = "19y9wid97a2c6x8cx2zq2r0asr8x0wlnvxmrj9qhfpvmk05sqrpm"; + version = "1.9.1.0"; + sha256 = "0ix5a3s0mqb5513w3ga16r72rxbwxxqpxk6gp94qf7dcqhjgy0mw"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ @@ -137534,15 +137612,15 @@ self: { , operational, optparse-generic, process, QuickCheck , quickcheck-instances, quickcheck-text, regex, regex-tdfa , restless-git, rosezipper, scientific, secp256k1, smt2-parser - , spool, tasty, tasty-expected-failure, tasty-hunit - , tasty-quickcheck, temporary, text, time, transformers, tree-view - , tuple, unordered-containers, vector, vty, witherable, word-wrap - , wreq + , spawn, spool, stm, tasty, tasty-bench, tasty-expected-failure + , tasty-hunit, tasty-quickcheck, temporary, text, time + , transformers, tree-view, tuple, unordered-containers, vector, vty + , witherable, word-wrap, wreq }: mkDerivation { pname = "hevm"; - version = "0.50.2"; - sha256 = "1yhz8f175z1qypbdfcnbq47bjri3lv0mc2bcfkw0zza9g09mfcaz"; + version = "0.50.3"; + sha256 = "182llxlys61gqy9v442q58k9ry3d1yh4b7kdnda72nc9kkhp41c6"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ @@ -137552,10 +137630,10 @@ self: { free haskeline here HUnit lens lens-aeson megaparsec memory monad-par mtl multiset operational optparse-generic process QuickCheck quickcheck-instances quickcheck-text regex regex-tdfa - restless-git rosezipper scientific smt2-parser spool tasty - tasty-expected-failure tasty-hunit tasty-quickcheck temporary text - time transformers tree-view tuple unordered-containers vector vty - witherable word-wrap wreq + restless-git rosezipper scientific smt2-parser spawn spool stm + tasty tasty-bench tasty-expected-failure tasty-hunit + tasty-quickcheck temporary text time transformers tree-view tuple + unordered-containers vector vty witherable word-wrap wreq ]; librarySystemDepends = [ libff secp256k1 ]; executableHaskellDepends = [ @@ -137563,16 +137641,19 @@ self: { bytestring containers cryptonite data-dword deepseq directory filepath free lens lens-aeson memory mtl operational optparse-generic process QuickCheck quickcheck-text regex-tdfa - temporary text unordered-containers vector vty + spawn stm temporary text unordered-containers vector vty ]; testHaskellDepends = [ aeson array base base16-bytestring binary bytestring containers data-dword directory filemanip filepath here HUnit lens mtl process - QuickCheck quickcheck-instances regex regex-tdfa smt2-parser tasty - tasty-expected-failure tasty-hunit tasty-quickcheck temporary text - time vector witherable + QuickCheck quickcheck-instances regex regex-tdfa smt2-parser spawn + stm tasty tasty-bench tasty-expected-failure tasty-hunit + tasty-quickcheck temporary text time vector witherable ]; testSystemDepends = [ secp256k1 ]; + benchmarkHaskellDepends = [ + base bytestring here tasty tasty-bench text + ]; doHaddock = false; description = "Ethereum virtual machine evaluator"; license = lib.licenses.agpl3Only; @@ -142222,8 +142303,8 @@ self: { }: mkDerivation { pname = "hls-hlint-plugin"; - version = "1.1.1.0"; - sha256 = "10r0kd1w2yxy6r32ar41ca74l4s26cfhywz46rk3d3n6pn71dnlx"; + version = "1.1.2.0"; + sha256 = "17swnq0a9zp8pkgw6iidcpfid4a2pz77cwj7yp6ajn4hwzxvjp3r"; libraryHaskellDepends = [ aeson apply-refact base binary bytestring containers data-default deepseq Diff directory extra filepath ghc-exactprint ghc-lib-parser @@ -150187,6 +150268,27 @@ self: { license = lib.licenses.mit; }) {}; + "hslua-module-system_1_0_3" = callPackage + ({ mkDerivation, base, directory, exceptions, hslua-core + , hslua-marshalling, hslua-packaging, tasty, tasty-hunit, tasty-lua + , temporary, text + }: + mkDerivation { + pname = "hslua-module-system"; + version = "1.0.3"; + sha256 = "08rajlihgsg843sgvlvh7qx43s5yiqqccvnxa336hw06ppfycyf9"; + libraryHaskellDepends = [ + base directory exceptions hslua-core hslua-marshalling + hslua-packaging temporary text + ]; + testHaskellDepends = [ + base hslua-core hslua-packaging tasty tasty-hunit tasty-lua text + ]; + description = "Lua module wrapper around Haskell's System module"; + license = lib.licenses.mit; + hydraPlatforms = lib.platforms.none; + }) {}; + "hslua-module-text" = callPackage ({ mkDerivation, base, hslua-core, hslua-marshalling , hslua-packaging, tasty, tasty-hunit, tasty-lua, text @@ -159112,11 +159214,11 @@ self: { ({ mkDerivation, base, binary, bytestring }: mkDerivation { pname = "iff"; - version = "0.0.6"; - sha256 = "0dr8w7lqb1yv4zg8mkqjws215pm5h9zd3n2g6wnpwc41hj04b23b"; + version = "0.0.6.1"; + sha256 = "1i0g90dgsnv8pis2xqicalxsdx4m24hz8n38c0srxwj69r402v3w"; libraryHaskellDepends = [ base binary bytestring ]; description = "Constructing and dissecting IFF files"; - license = "GPL"; + license = lib.licenses.gpl3Only; hydraPlatforms = lib.platforms.none; broken = true; }) {}; @@ -164665,6 +164767,29 @@ self: { license = lib.licenses.mit; }) {}; + "isomorphism-class_0_1_0_8" = callPackage + ({ mkDerivation, base, bytestring, containers, hashable, primitive + , QuickCheck, quickcheck-instances, rebase, tasty, tasty-hunit + , tasty-quickcheck, text, unordered-containers, vector + }: + mkDerivation { + pname = "isomorphism-class"; + version = "0.1.0.8"; + sha256 = "1yz3bj3lf805jc9f91y0j2r0xw2ramvqx8xig1xj71nj9idd7lr9"; + libraryHaskellDepends = [ + base bytestring containers hashable primitive text + unordered-containers vector + ]; + testHaskellDepends = [ + base bytestring containers hashable primitive QuickCheck + quickcheck-instances rebase tasty tasty-hunit tasty-quickcheck text + unordered-containers vector + ]; + description = "Isomorphism typeclass solving the conversion problem"; + license = lib.licenses.mit; + hydraPlatforms = lib.platforms.none; + }) {}; + "isotope" = callPackage ({ mkDerivation, base, containers, hspec, megaparsec, QuickCheck , template-haskell, th-lift @@ -165665,6 +165790,18 @@ self: { broken = true; }) {}; + "jacobi-theta" = callPackage + ({ mkDerivation, base, tasty, tasty-hunit }: + mkDerivation { + pname = "jacobi-theta"; + version = "0.1.0.0"; + sha256 = "1k7hd17785qyh4k26j0hpaays6nn5751bh4ni132psmqvp8dw6am"; + libraryHaskellDepends = [ base ]; + testHaskellDepends = [ base tasty tasty-hunit ]; + description = "Jacobi Theta Functions"; + license = lib.licenses.bsd3; + }) {}; + "jaeger-flamegraph" = callPackage ({ mkDerivation, aeson, base, bytestring, containers, extra , optparse-applicative, QuickCheck, tasty, tasty-discover @@ -167950,6 +168087,28 @@ self: { license = lib.licenses.bsd3; }) {}; + "json-stream_0_4_5_0" = callPackage + ({ mkDerivation, aeson, base, bytestring, containers, directory + , hspec, primitive, QuickCheck, quickcheck-unicode, scientific + , text, unordered-containers, vector + }: + mkDerivation { + pname = "json-stream"; + version = "0.4.5.0"; + sha256 = "1363nn38g8jdbrrmsx4ia1spqlyf49rvwrhm0rfxx97srx7nc0wy"; + libraryHaskellDepends = [ + aeson base bytestring containers primitive scientific text + unordered-containers vector + ]; + testHaskellDepends = [ + aeson base bytestring directory hspec primitive QuickCheck + quickcheck-unicode scientific text unordered-containers vector + ]; + description = "Incremental applicative JSON parser"; + license = lib.licenses.bsd3; + hydraPlatforms = lib.platforms.none; + }) {}; + "json-syntax" = callPackage ({ mkDerivation, aeson, array-builder, array-chunks, base , bytebuild, byteslice, bytesmith, bytestring, containers @@ -174902,6 +175061,8 @@ self: { pname = "lapack-carray"; version = "0.0.3"; sha256 = "1l4dwkdk6m5ran92j7k9yxqin1spgx8sg0bi2kfn1pcs6jzgn3si"; + revision = "1"; + editedCabalFile = "1awpjmazz5vz95zzfxflcmivs2ga2jknr53rbgkakfkr5hcqnq1b"; libraryHaskellDepends = [ base carray lapack-ffi netlib-carray netlib-ffi storable-complex transformers @@ -174918,6 +175079,8 @@ self: { pname = "lapack-comfort-array"; version = "0.0.1"; sha256 = "1p4vfw95qnd48cbizncb7b7fgzkxbv7r3rp3ffw6r11wymhm67q0"; + revision = "1"; + editedCabalFile = "0z80pnn3fpbfbrxmv2n3gwwwlny4a9hgnivd0b8i25q1agyprzcs"; libraryHaskellDepends = [ base comfort-array lapack-ffi netlib-comfort-array netlib-ffi storable-complex transformers @@ -175404,8 +175567,8 @@ self: { }: mkDerivation { pname = "launchdarkly-server-sdk"; - version = "3.1.0"; - sha256 = "17jq8fccppdivd2a662aax1hf12rgldjhk2d89m285k6pdcfyyrh"; + version = "3.1.1"; + sha256 = "0yvj44a8h4gg5wsyypcfyjy1aanw3bdiv5hpx0wlz4ahp6s7s84w"; libraryHaskellDepends = [ aeson attoparsec base base16-bytestring bytestring clock containers cryptohash exceptions extra generic-lens hashtables hedis @@ -175892,6 +176055,8 @@ self: { pname = "lazyio"; version = "0.1.0.4"; sha256 = "0v6g2r4x9m1ksvx62bkn0hndasfh387ylrz67hwkdj61rnyg0m4b"; + revision = "1"; + editedCabalFile = "1kbvbdzh3n6ci51nc2sfp0i2mc203a5cn5xraafiabk3awi5b9x7"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ base transformers unsafe ]; @@ -179696,6 +179861,24 @@ self: { license = lib.licenses.bsd3; }) {}; + "linear-generics_0_2_1" = callPackage + ({ mkDerivation, base, containers, ghc-prim, hspec, hspec-discover + , template-haskell, th-abstraction + }: + mkDerivation { + pname = "linear-generics"; + version = "0.2.1"; + sha256 = "15wlv11hsmnxzaf98ycdi29f1a79sbiq250b2kk459f0wfdbl8xd"; + libraryHaskellDepends = [ + base containers ghc-prim template-haskell th-abstraction + ]; + testHaskellDepends = [ base hspec template-haskell ]; + testToolDepends = [ hspec-discover ]; + description = "Generic programming library for generalised deriving"; + license = lib.licenses.bsd3; + hydraPlatforms = lib.platforms.none; + }) {}; + "linear-grammar" = callPackage ({ mkDerivation, base, containers, hspec, QuickCheck }: mkDerivation { @@ -184520,8 +184703,8 @@ self: { ({ mkDerivation, base, lucid, text, xstatic }: mkDerivation { pname = "lucid-xstatic"; - version = "0.1.0"; - sha256 = "06293bq2w3rbnagwibjkvwxsxb42amxp12fs7smx214lwrw0qa6g"; + version = "0.1.1"; + sha256 = "1gziwh03z1mdl2h083k2p4mcz7siscqwl70d76slrqxmm6wagnyc"; libraryHaskellDepends = [ base lucid text xstatic ]; description = "Lucid helper for XStatic"; license = lib.licenses.bsd3; @@ -184559,6 +184742,17 @@ self: { broken = true; }) {}; + "lucid2-xstatic" = callPackage + ({ mkDerivation, base, lucid2, text, xstatic }: + mkDerivation { + pname = "lucid2-xstatic"; + version = "0.1.0"; + sha256 = "1knhl9fgzj0m0v657x3in95xnjjmbdww8wnwqqs28av7fi96va15"; + libraryHaskellDepends = [ base lucid2 text xstatic ]; + description = "Lucid2 helper for XStatic"; + license = lib.licenses.bsd3; + }) {}; + "lucienne" = callPackage ({ mkDerivation, base, base64-bytestring, blaze-html, bson , bytestring, compact-string-fix, feed, happstack, happstack-server @@ -187136,6 +187330,8 @@ self: { pname = "markov-chain"; version = "0.0.3.4"; sha256 = "1kcjgfdwca4arngbj7w2g8bpmk5p44dyzrwcw8xmja0s200bhlbf"; + revision = "1"; + editedCabalFile = "10qpqdpnkjw72hxkrbxxwwjaf4lxk3shhippwkpn6m5s80fgzlwg"; libraryHaskellDepends = [ base containers random transformers ]; description = "Markov Chains for generating random sequences with a user definable behaviour"; license = "GPL"; @@ -188476,6 +188672,8 @@ self: { pname = "mbox-utility"; version = "0.0.3.1"; sha256 = "0vh9ibh4g3fssq9jfzrmaa56sk4k35r27lmz2xq4fhc62fmkia92"; + revision = "1"; + editedCabalFile = "1q2kplw6pkakls161hzpjwrd34k0xsv2flcdjmsrd0py45cdavhz"; isLibrary = false; isExecutable = true; executableHaskellDepends = [ @@ -193228,15 +193426,15 @@ self: { license = lib.licenses.mit; }) {}; - "mod_0_2_0_0" = callPackage + "mod_0_2_0_1" = callPackage ({ mkDerivation, base, containers, deepseq, ghc-bignum, primitive , quickcheck-classes, quickcheck-classes-base, semirings, tasty , tasty-bench, tasty-quickcheck, vector }: mkDerivation { pname = "mod"; - version = "0.2.0.0"; - sha256 = "18jn2hsp42crfx0a8cm2aahxwf54pxkq3v94q3mccp2lkx9is40z"; + version = "0.2.0.1"; + sha256 = "0wp8623f8i10l73yagnz0ivyfm35j08jkw3xsly0jic5x3jghqra"; libraryHaskellDepends = [ base deepseq ghc-bignum primitive semirings vector ]; @@ -195872,6 +196070,25 @@ self: { mainProgram = "dev-test-app"; }) {inherit (pkgs) glew;}; + "monomer-flatpak-example" = callPackage + ({ mkDerivation, base, containers, directory, monomer + , monomer-hagrid, text + }: + mkDerivation { + pname = "monomer-flatpak-example"; + version = "0.0.2.1"; + sha256 = "04qm3zzj880d89dk36pd5n9hll5a2m15zvmvr7j8wgi30hrp2691"; + isLibrary = false; + isExecutable = true; + enableSeparateDataOutput = true; + executableHaskellDepends = [ + base containers directory monomer monomer-hagrid text + ]; + description = "Monomer Flatpak Example Application"; + license = lib.licenses.mit; + mainProgram = "monomer-flatpak-example"; + }) {}; + "monomer-hagrid" = callPackage ({ mkDerivation, base, bytestring, containers, data-default , data-default-class, hspec, hspec-discover, ilist, lens, monomer @@ -202381,6 +202598,8 @@ self: { pname = "netlib-carray"; version = "0.1"; sha256 = "0rh4m4xxwm8n0577khqa2cx74hnwmgz94phq2rwhsdppg6dd2xx5"; + revision = "1"; + editedCabalFile = "18nniq616c9l65g6vxhs6w6yi9rcp8s8vid2v9v0r96i7x1a5g14"; libraryHaskellDepends = [ array base carray netlib-ffi transformers ]; @@ -202394,6 +202613,8 @@ self: { pname = "netlib-comfort-array"; version = "0.0.0.2"; sha256 = "1mwgdll9m0ryy5y1385sx2asff98kqfkz4bif8s4i0dkrqalsfx4"; + revision = "1"; + editedCabalFile = "0sl8xf5rgf4g5is5kfr6sai9i5mkw46391zv7j7v2zfw36iwx8i9"; libraryHaskellDepends = [ base comfort-array netlib-ffi transformers ]; @@ -202410,6 +202631,8 @@ self: { pname = "netlib-ffi"; version = "0.1.1"; sha256 = "0irf5gc9kw3pjb339nrzylr1ldz8fhgmpkji26dm3w18vkwic411"; + revision = "1"; + editedCabalFile = "0q5psp0gi0il6yz99sxmq7x3m7axwzh2qbimcvqbw623zbzgycyg"; libraryHaskellDepends = [ base guarded-allocation storable-complex transformers ]; @@ -210169,8 +210392,8 @@ self: { }: mkDerivation { pname = "openid-connect"; - version = "0.1.2"; - sha256 = "1h14m0zs5smvl0fcn6anksj94qviy8k9zkhlvdnj7flk4bbi3q2b"; + version = "0.2.0"; + sha256 = "1ib0qjqpixx343k7bi21fnfh3ck5mxv2ddiiy5l4jdfjlkrmff5f"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ @@ -216455,6 +216678,33 @@ self: { maintainers = [ lib.maintainers.cdepillabout ]; }) {}; + "password_3_0_2_1" = callPackage + ({ mkDerivation, base, base-compat, base64, bytestring, Cabal + , cabal-doctest, cryptonite, doctest, memory, password-types + , QuickCheck, quickcheck-instances, scrypt, tasty, tasty-hunit + , tasty-quickcheck, template-haskell, text + }: + mkDerivation { + pname = "password"; + version = "3.0.2.1"; + sha256 = "03fnl95g99sy2agwmpwfmkdd308qwq95s582zkhn7bkg2smzqdg9"; + setupHaskellDepends = [ base Cabal cabal-doctest ]; + libraryHaskellDepends = [ + base base64 bytestring cryptonite memory password-types + template-haskell text + ]; + testHaskellDepends = [ + base base-compat base64 bytestring cryptonite doctest memory + password-types QuickCheck quickcheck-instances scrypt tasty + tasty-hunit tasty-quickcheck template-haskell text + ]; + description = "Hashing and checking of passwords"; + license = lib.licenses.bsd3; + platforms = lib.platforms.x86; + hydraPlatforms = lib.platforms.none; + maintainers = [ lib.maintainers.cdepillabout ]; + }) {}; + "password-instances" = callPackage ({ mkDerivation, aeson, base, base-compat, Cabal, cabal-doctest , doctest, http-api-data, password, password-types, persistent @@ -220587,8 +220837,8 @@ self: { }: mkDerivation { pname = "phonetic-languages-phonetics-basics"; - version = "0.10.0.0"; - sha256 = "0mcsmdb5mmykccmg8maw78m383549blfdbd691drhv7xk833n6sy"; + version = "0.10.0.2"; + sha256 = "1crikva3lb3jhnfsaca6lv8fgbv56jn3f8zbfylfbb8hvqk507h3"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ @@ -225115,8 +225365,8 @@ self: { }: mkDerivation { pname = "polysemy-http"; - version = "0.10.0.0"; - sha256 = "1j0a0gmlr1cd6mwa8y4f6dq3zf4asmgj4v4cdriiw0k1cxi81l9c"; + version = "0.11.0.0"; + sha256 = "09w6kjby09dkq8rdynl6ha193jalvxnx9hkmy5lgdmkn0wb1aj6g"; libraryHaskellDepends = [ aeson base case-insensitive exon http-client http-client-tls http-types polysemy polysemy-plugin prelate time @@ -226005,6 +226255,25 @@ self: { license = lib.licenses.bsd3; }) {}; + "pooled-io_0_0_2_3" = callPackage + ({ mkDerivation, base, concurrent-split, containers, deepseq + , transformers, unsafe, utility-ht + }: + mkDerivation { + pname = "pooled-io"; + version = "0.0.2.3"; + sha256 = "0ysgfwlppilj21sqhbcq7xbyc5hnc26mzb58y7mm9rd5piw3v7mc"; + isLibrary = true; + isExecutable = true; + libraryHaskellDepends = [ + base concurrent-split containers deepseq transformers unsafe + utility-ht + ]; + description = "Run jobs on a limited number of threads and support data dependencies"; + license = lib.licenses.bsd3; + hydraPlatforms = lib.platforms.none; + }) {}; + "pop3-client" = callPackage ({ mkDerivation, base, mtl, network }: mkDerivation { @@ -226519,13 +226788,16 @@ self: { }) {}; "posit" = callPackage - ({ mkDerivation, base, data-dword, deepseq, scientific }: + ({ mkDerivation, base, data-dword, deepseq, scientific, vector + , weigh + }: mkDerivation { pname = "posit"; - version = "3.2.0.3"; - sha256 = "02rjcar4dzdxysk2zixqday8nrwa4j8ypcflb1g12a7v5f1xim66"; + version = "3.2.0.4"; + sha256 = "1nr8269q2zqmsvb7zbv8ab56n52ag2q6gdj2mfpn2zn971z5bghs"; libraryHaskellDepends = [ base data-dword deepseq scientific ]; testHaskellDepends = [ base ]; + benchmarkHaskellDepends = [ base vector weigh ]; license = lib.licenses.bsd3; hydraPlatforms = lib.platforms.none; broken = true; @@ -228673,8 +228945,8 @@ self: { }: mkDerivation { pname = "prelate"; - version = "0.4.0.0"; - sha256 = "0bil1d1daw6a37zi0fddf3mja3ab12rcsldi879qcipbjc7bh4bz"; + version = "0.5.0.0"; + sha256 = "0cg8qb6p52milhlh7l41y4fsl2jbkzmnv35ri7j13pniv48p3dkk"; libraryHaskellDepends = [ aeson base exon extra generic-lens incipit microlens microlens-ghc polysemy-chronos polysemy-conc polysemy-log polysemy-process @@ -230373,6 +230645,21 @@ self: { license = lib.licenses.bsd3; }) {}; + "probability_0_2_8" = callPackage + ({ mkDerivation, base, containers, random, transformers, utility-ht + }: + mkDerivation { + pname = "probability"; + version = "0.2.8"; + sha256 = "06vaq2wsy63vnsprpz0921v5mdqnhp58h1ly721lwrxyd8lg57hg"; + libraryHaskellDepends = [ + base containers random transformers utility-ht + ]; + description = "Probabilistic Functional Programming"; + license = lib.licenses.bsd3; + hydraPlatforms = lib.platforms.none; + }) {}; + "probable" = callPackage ({ mkDerivation, base, criterion, mtl, mwc-random, mwc-random-monad , primitive, statistics, transformers, vector @@ -230429,14 +230716,14 @@ self: { license = lib.licenses.mit; }) {}; - "process_1_6_16_0" = callPackage + "process_1_6_17_0" = callPackage ({ mkDerivation, base, bytestring, deepseq, directory, filepath , unix }: mkDerivation { pname = "process"; - version = "1.6.16.0"; - sha256 = "0a4kr9vndm7wxv9yw9ras5n3y3vr9xx0nkwkazfs06i7s6017hmv"; + version = "1.6.17.0"; + sha256 = "01mzhfsj0zmqkaisciby0g28lvdj0w1qbggsp5wlr1jw1x74ap2c"; libraryHaskellDepends = [ base deepseq directory filepath unix ]; testHaskellDepends = [ base bytestring directory ]; description = "Process libraries"; @@ -232377,6 +232664,24 @@ self: { license = lib.licenses.mit; }) {}; + "protolude_0_3_3" = callPackage + ({ mkDerivation, array, async, base, bytestring, containers + , deepseq, ghc-prim, hashable, mtl, mtl-compat, stm, text + , transformers, transformers-compat + }: + mkDerivation { + pname = "protolude"; + version = "0.3.3"; + sha256 = "0ihsjx48p9dgsp0i0l73h16mycnba40hyh7412jv3xz9qz9dwfbc"; + libraryHaskellDepends = [ + array async base bytestring containers deepseq ghc-prim hashable + mtl mtl-compat stm text transformers transformers-compat + ]; + description = "A small prelude"; + license = lib.licenses.mit; + hydraPlatforms = lib.platforms.none; + }) {}; + "protolude-lifted" = callPackage ({ mkDerivation, async, base, lifted-async, lifted-base, protolude }: @@ -232895,6 +233200,24 @@ self: { license = lib.licenses.mit; }) {}; + "ptr-poker_0_1_2_12" = callPackage + ({ mkDerivation, base, bytestring, criterion, hedgehog + , isomorphism-class, numeric-limits, rerebase, scientific, text + }: + mkDerivation { + pname = "ptr-poker"; + version = "0.1.2.12"; + sha256 = "07mhsg8xr2xyxg7bzmv4cb41c3919my3j70q3bjplqvfxsan9n0y"; + libraryHaskellDepends = [ base bytestring scientific text ]; + testHaskellDepends = [ + hedgehog isomorphism-class numeric-limits rerebase + ]; + benchmarkHaskellDepends = [ criterion rerebase ]; + description = "Pointer poking action construction and composition toolkit"; + license = lib.licenses.mit; + hydraPlatforms = lib.platforms.none; + }) {}; + "ptrdiff" = callPackage ({ mkDerivation, base }: mkDerivation { @@ -235464,12 +235787,12 @@ self: { }) {}; "quickcheck-dynamic" = callPackage - ({ mkDerivation, base, mtl, QuickCheck, random }: + ({ mkDerivation, base, containers, mtl, QuickCheck, random }: mkDerivation { pname = "quickcheck-dynamic"; - version = "2.0.0"; - sha256 = "1va8x9bc3v8wrvl7yhnrg1vwnbzgixsryn7rx6hj55adi532823q"; - libraryHaskellDepends = [ base mtl QuickCheck random ]; + version = "3.0.2"; + sha256 = "0ig3v53s5fkdlpqigrh82kzydg7fzhgcrb4r7khxgzcmfh3d80hy"; + libraryHaskellDepends = [ base containers mtl QuickCheck random ]; description = "A library for stateful property-based testing"; license = lib.licenses.asl20; }) {}; @@ -235885,6 +236208,18 @@ self: { license = lib.licenses.mit; }) {}; + "quickcheck-transformer_0_3_1_2" = callPackage + ({ mkDerivation, base, QuickCheck, random, transformers }: + mkDerivation { + pname = "quickcheck-transformer"; + version = "0.3.1.2"; + sha256 = "07y6k1c8flg3ldkckb19s28ls0k3bg769r26smkr3dbz7w4mg7rh"; + libraryHaskellDepends = [ base QuickCheck random transformers ]; + description = "A GenT monad transformer for QuickCheck library"; + license = lib.licenses.mit; + hydraPlatforms = lib.platforms.none; + }) {}; + "quickcheck-unicode" = callPackage ({ mkDerivation, base, QuickCheck }: mkDerivation { @@ -238851,6 +239186,8 @@ self: { pname = "reactive-balsa"; version = "0.4.0.1"; sha256 = "1fhn7bxfrwaa5xb2ckfy2v4aw5cdzclayprjr40zg09s77qxclc1"; + revision = "1"; + editedCabalFile = "1lfq84fgq41bych8k4avrzc04lbyl974q7y5z5wd9h9h3sz0i4wa"; libraryHaskellDepends = [ alsa-core alsa-seq base containers data-accessor data-accessor-transformers event-list extensible-exceptions midi @@ -238916,6 +239253,8 @@ self: { pname = "reactive-banana-bunch"; version = "1.0.0.1"; sha256 = "1k4l1zk7jm26iyaa2srillrq8qnwnqkwhpy6shdw6mg4nfby706c"; + revision = "2"; + editedCabalFile = "19gs7h7wx9sq4nr6x8xlg9xx41pxlv2h92l0ljgbfzdbig5r4g52"; libraryHaskellDepends = [ base non-empty reactive-banana transformers utility-ht ]; @@ -239094,6 +239433,8 @@ self: { pname = "reactive-midyim"; version = "0.4.1.1"; sha256 = "1hsa7d79mf7r36grl9i41x84kg3s9j5gj2fy40mb1mhvr221pi9v"; + revision = "1"; + editedCabalFile = "0bfaylhq9nkx4ay6rx18n7df9illw8gfpv21yxgcyi43yb00560w"; libraryHaskellDepends = [ base containers data-accessor data-accessor-transformers event-list midi non-negative random reactive-banana-bunch semigroups @@ -239619,6 +239960,25 @@ self: { maintainers = [ lib.maintainers.nomeata ]; }) {}; + "rec-def_0_2_1" = callPackage + ({ mkDerivation, base, concurrency, containers, dejafu, doctest + , QuickCheck, random, tasty, tasty-dejafu, template-haskell + }: + mkDerivation { + pname = "rec-def"; + version = "0.2.1"; + sha256 = "13d8bij2r6zxyygi2rk3jdrk6s7srj8lpsx1k9qn14sq401yjqpa"; + libraryHaskellDepends = [ base containers ]; + testHaskellDepends = [ + base concurrency containers dejafu doctest QuickCheck random tasty + tasty-dejafu template-haskell + ]; + description = "Recursively defined values"; + license = lib.licenses.bsd2; + hydraPlatforms = lib.platforms.none; + maintainers = [ lib.maintainers.nomeata ]; + }) {}; + "rec-smallarray" = callPackage ({ mkDerivation, base, hspec, primitive }: mkDerivation { @@ -245974,8 +246334,8 @@ self: { }: mkDerivation { pname = "rhine"; - version = "0.8.1"; - sha256 = "15yklhx5gv8z60ky9ck2rkc9yb9m5jbziwp49a8gk0s03ii8scrz"; + version = "0.8.1.1"; + sha256 = "11y0qpx909z9dndlsavys8ssx2mk7526addqjwa6srmpw5556vc4"; libraryHaskellDepends = [ base containers deepseq dunai free MonadRandom random simple-affine-space time time-domain transformers vector-sized @@ -245987,15 +246347,39 @@ self: { broken = true; }) {}; - "rhine-gloss" = callPackage - ({ mkDerivation, base, dunai, gloss, rhine, transformers }: + "rhine-bayes" = callPackage + ({ mkDerivation, base, dunai, log-domain, mmorph, monad-bayes + , rhine, rhine-gloss, time, transformers + }: mkDerivation { - pname = "rhine-gloss"; - version = "0.8.1"; - sha256 = "1lai9ii3q069zf49ls6cfdgjgq6njybxax45dqzqnxd59p0p9rrm"; + pname = "rhine-bayes"; + version = "0.8.1.1"; + sha256 = "1ck4x1bs0f0ag14z64vxigqmshf9b8jslv3lvydsjkdm9xvlsz78"; isLibrary = true; isExecutable = true; - libraryHaskellDepends = [ base dunai gloss rhine transformers ]; + libraryHaskellDepends = [ + base dunai log-domain monad-bayes rhine transformers + ]; + executableHaskellDepends = [ + base log-domain mmorph monad-bayes rhine rhine-gloss time + transformers + ]; + description = "monad-bayes backend for Rhine"; + license = lib.licenses.bsd3; + mainProgram = "rhine-bayes-gloss"; + }) {}; + + "rhine-gloss" = callPackage + ({ mkDerivation, base, dunai, gloss, mmorph, rhine, transformers }: + mkDerivation { + pname = "rhine-gloss"; + version = "0.8.1.1"; + sha256 = "0difnslva0zz3wp7i9pcx5h34kx2a9g4743340k56fpbsm95yblf"; + isLibrary = true; + isExecutable = true; + libraryHaskellDepends = [ + base dunai gloss mmorph rhine transformers + ]; executableHaskellDepends = [ base ]; description = "Gloss backend for Rhine"; license = lib.licenses.bsd3; @@ -246010,8 +246394,8 @@ self: { }: mkDerivation { pname = "rhine-terminal"; - version = "0.8.1"; - sha256 = "1fmmzy8qdyk9c1vv2l2n0xs0f1fw46mcgyzmid60wrgw90h02sp7"; + version = "0.8.1.1"; + sha256 = "1dwsz6bz85zia9m5y26p7ynpq7x94ridlbcfs5r8cw4nm0f7sy95"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ @@ -253872,6 +254256,19 @@ self: { license = lib.licenses.mit; }) {}; + "selective_0_6" = callPackage + ({ mkDerivation, base, containers, QuickCheck, transformers }: + mkDerivation { + pname = "selective"; + version = "0.6"; + sha256 = "0fkwlrydg2whz54l816ayj4szg3m2nkkxq191dlqw9vwn4rjwx0q"; + libraryHaskellDepends = [ base containers transformers ]; + testHaskellDepends = [ base containers QuickCheck transformers ]; + description = "Selective applicative functors"; + license = lib.licenses.mit; + hydraPlatforms = lib.platforms.none; + }) {}; + "selectors" = callPackage ({ mkDerivation, alex, array, base, containers, happy , template-haskell, text, xml-conduit @@ -263765,6 +264162,18 @@ self: { license = lib.licenses.bsd3; }) {}; + "skylighting-format-context_0_1_0_2" = callPackage + ({ mkDerivation, base, containers, skylighting-core, text }: + mkDerivation { + pname = "skylighting-format-context"; + version = "0.1.0.2"; + sha256 = "1gc8pjbhd1npka22m5m7s5333jcqxskgzmqj17m95dl97phi6hh0"; + libraryHaskellDepends = [ base containers skylighting-core text ]; + description = "ConTeXt formatter for skylighting syntax highlighting library"; + license = lib.licenses.bsd3; + hydraPlatforms = lib.platforms.none; + }) {}; + "skylighting-format-latex" = callPackage ({ mkDerivation, base, containers, skylighting-core, text }: mkDerivation { @@ -271808,6 +272217,18 @@ self: { license = lib.licenses.bsd3; }) {}; + "statestack_0_3_1_1" = callPackage + ({ mkDerivation, base, mtl, transformers }: + mkDerivation { + pname = "statestack"; + version = "0.3.1.1"; + sha256 = "1747qzaj3xqc90fj4ddch3ra5kj52rfd1dn7a8c6fkdk68q76mfd"; + libraryHaskellDepends = [ base mtl transformers ]; + description = "Simple State-like monad transformer with saveable and restorable state"; + license = lib.licenses.bsd3; + hydraPlatforms = lib.platforms.none; + }) {}; + "statethread" = callPackage ({ mkDerivation, applicative, base, transformers }: mkDerivation { @@ -273208,6 +273629,8 @@ self: { pname = "storablevector"; version = "0.2.13.1"; sha256 = "06fgxbnc5vwmiv7dxywj7ncjhmxv0wjs0bys5hza6mrwn3sw5r2w"; + revision = "1"; + editedCabalFile = "10zazrk5fxhwmr5q2h8g0mgdgm1sd35268zjij0sv480v1znsy4i"; libraryHaskellDepends = [ base deepseq non-negative QuickCheck semigroups syb transformers unsafe utility-ht @@ -279281,6 +279704,8 @@ self: { pname = "synthesizer-alsa"; version = "0.5.0.6"; sha256 = "1jrsl9lbhsyg4cs32c9hq1jflvw9jdgpd9allv89ypw8yw9mmh45"; + revision = "1"; + editedCabalFile = "0lwpcwixpy0r7ad8p0w5sr3qbw9w6n6b6mckphbl43pnp1jpgfkf"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ @@ -279430,8 +279855,8 @@ self: { }: mkDerivation { pname = "synthesizer-midi"; - version = "0.6.1.1"; - sha256 = "1f57i0lz8wy9kz6qkpbrpywlf0lxwq44yqgzc9kgrb4gy97p0cm5"; + version = "0.6.1.2"; + sha256 = "1xnpvk0mny8lbx17zdgl55wp86pqhfg9ckv41b3qd5vrki2dj6nc"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ @@ -280284,6 +280709,20 @@ self: { license = lib.licenses.bsd3; }) {}; + "tagged_0_8_7" = callPackage + ({ mkDerivation, base, deepseq, template-haskell, transformers }: + mkDerivation { + pname = "tagged"; + version = "0.8.7"; + sha256 = "0qdr1kv1zn5iamnwyn5nf0ywxs4wv779k0gpw94kyqx14ynfw534"; + libraryHaskellDepends = [ + base deepseq template-haskell transformers + ]; + description = "Haskell 98 phantom types to avoid unsafely passing dummy arguments"; + license = lib.licenses.bsd3; + hydraPlatforms = lib.platforms.none; + }) {}; + "tagged-binary" = callPackage ({ mkDerivation, base, base-compat, binary, bytestring, pureMD5 }: mkDerivation { @@ -281491,6 +281930,19 @@ self: { license = lib.licenses.mit; }) {}; + "tasty-bench_0_3_3" = callPackage + ({ mkDerivation, base, containers, deepseq, ghc-prim, tasty }: + mkDerivation { + pname = "tasty-bench"; + version = "0.3.3"; + sha256 = "13hsagamakay263shjm7pmya7zbl467bgwagxspx8k4xrzzqcx3m"; + libraryHaskellDepends = [ base containers deepseq ghc-prim tasty ]; + benchmarkHaskellDepends = [ base ]; + description = "Featherlight benchmark framework"; + license = lib.licenses.mit; + hydraPlatforms = lib.platforms.none; + }) {}; + "tasty-checklist" = callPackage ({ mkDerivation, base, doctest, exceptions, HUnit , parameterized-utils, tasty, tasty-expected-failure, tasty-hunit @@ -296392,10 +296844,8 @@ self: { }: mkDerivation { pname = "typograffiti"; - version = "0.2.0.0"; - sha256 = "0x7s9bfb68qhdjz98gf0k762mflrigih1qhxp6a4padkc2plwvww"; - revision = "2"; - editedCabalFile = "10v1ha01phgacfwialk3kmyaly61x1b8x9wmxnwbjr2bhfjxssqq"; + version = "0.2.0.1"; + sha256 = "1avvnf1jsl7l3f7jbp0pnj5f4yhgacklciwvq2acbqb0cmr624rx"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ @@ -298412,8 +298862,8 @@ self: { pname = "unique-logic-tf"; version = "0.5.1"; sha256 = "0a2hjkm7kwfnqyscxxdw2r2cq3gsydv5ny91vpxxd3paknqqr0cb"; - revision = "1"; - editedCabalFile = "1bnd8jyrrawszaxz5w7jibys9qygp2gx39g5y312f0k5468x25qh"; + revision = "2"; + editedCabalFile = "1508h3mn28ks1g31l1hs4gf2fib4ihylb0wrzin52krs7kkbcnvn"; libraryHaskellDepends = [ base containers data-ref semigroups transformers utility-ht ]; @@ -299348,13 +299798,13 @@ self: { license = lib.licenses.bsd3; }) {}; - "unliftio-pool_0_4_0_0" = callPackage + "unliftio-pool_0_4_1_0" = callPackage ({ mkDerivation, base, resource-pool, transformers, unliftio-core }: mkDerivation { pname = "unliftio-pool"; - version = "0.4.0.0"; - sha256 = "0kkb9zsb624h9sx1izj7hf6fbaxh7hvp9d6qqdrqh1j6fdh46hlp"; + version = "0.4.1.0"; + sha256 = "0dccaiqyn6155fb4qqr3bd04n4z2s4x6kiwkdlgb6kwzry3kvqm4"; libraryHaskellDepends = [ base resource-pool transformers unliftio-core ]; @@ -309673,6 +310123,27 @@ self: { license = lib.licenses.bsd2; }) {}; + "wide-word_0_1_5_0" = callPackage + ({ mkDerivation, base, binary, bytestring, deepseq, ghc-prim + , hashable, hedgehog, primitive, QuickCheck, quickcheck-classes + , semirings + }: + mkDerivation { + pname = "wide-word"; + version = "0.1.5.0"; + sha256 = "1h21bcxh4j3bbrx13lm2iialzvkf284cjl129rs2ridjdvzfjcm7"; + libraryHaskellDepends = [ + base binary deepseq ghc-prim hashable primitive + ]; + testHaskellDepends = [ + base binary bytestring ghc-prim hedgehog primitive QuickCheck + quickcheck-classes semirings + ]; + description = "Data types for large but fixed width signed and unsigned integers"; + license = lib.licenses.bsd2; + hydraPlatforms = lib.platforms.none; + }) {}; + "wide-word-instances" = callPackage ({ mkDerivation, base, binary, serialise, wide-word }: mkDerivation { @@ -310097,14 +310568,14 @@ self: { maintainers = [ lib.maintainers.maralorn ]; }) {}; - "witch_1_1_6_1" = callPackage + "witch_1_2_0_0" = callPackage ({ mkDerivation, base, bytestring, containers, HUnit, tagged , template-haskell, text, time, transformers }: mkDerivation { pname = "witch"; - version = "1.1.6.1"; - sha256 = "1n4kckgk5v63bpjgky3dfgyayl82hlnxzwaa99pzyxrcjkpql5ay"; + version = "1.2.0.0"; + sha256 = "0872yap914g2m9x5rs9r8q4jj2gfcqzq85r39idaz80vibgyws8d"; libraryHaskellDepends = [ base bytestring containers tagged template-haskell text time ]; @@ -319070,6 +319541,8 @@ self: { pname = "youtube"; version = "0.2.1.1"; sha256 = "098fhkyw70sxb58bj9hbshg12j57s23qrv9r1r7m13rxbxw6lf9f"; + revision = "1"; + editedCabalFile = "0kxdxz4802fbbmj2p8wkf2wpqf2yazqz20yqnqn26pm248nvnavb"; isLibrary = false; isExecutable = true; enableSeparateDataOutput = true; @@ -320694,14 +321167,14 @@ self: { }) {}; "zoovisitor" = callPackage - ({ mkDerivation, async, base, hspec, uuid, Z-Data, Z-IO + ({ mkDerivation, async, base, exceptions, hspec, uuid, Z-Data , zookeeper_mt }: mkDerivation { pname = "zoovisitor"; - version = "0.2.1.2"; - sha256 = "1c0j41riwcp4c2cvalcrkz6cwrp9vw2hfmpadsfsfb2sa7qmf8rj"; - libraryHaskellDepends = [ base Z-Data Z-IO ]; + version = "0.2.3.0"; + sha256 = "0hrsr8gnx4pjkkwyirfcfss2kvl3z5h55gfgs8ny10rj601aylhi"; + libraryHaskellDepends = [ base exceptions Z-Data ]; librarySystemDepends = [ zookeeper_mt ]; testHaskellDepends = [ async base hspec uuid Z-Data ]; description = "A haskell binding to Apache Zookeeper C library(mt) using Haskell Z project"; From d1b904479ada49377a933a1744d39305e5afc49f Mon Sep 17 00:00:00 2001 From: sternenseemann Date: Sun, 19 Feb 2023 11:06:33 +0100 Subject: [PATCH 03/26] haskellPackages.h-raylib, haskellPackages.bytepatch: unmark broken Both packages had a new release fixing the issues we found after the last bump, so they are easily fixed. --- .../haskell-modules/configuration-hackage2nix/broken.yaml | 2 -- pkgs/development/haskell-modules/hackage-packages.nix | 4 ---- 2 files changed, 6 deletions(-) diff --git a/pkgs/development/haskell-modules/configuration-hackage2nix/broken.yaml b/pkgs/development/haskell-modules/configuration-hackage2nix/broken.yaml index 152a77d612f0..eaa1c133a935 100644 --- a/pkgs/development/haskell-modules/configuration-hackage2nix/broken.yaml +++ b/pkgs/development/haskell-modules/configuration-hackage2nix/broken.yaml @@ -512,7 +512,6 @@ broken-packages: - byline - by-other-names - bytearray-parsing - - bytepatch - bytestring-aeson-orphans - bytestring-arbitrary - bytestring-class @@ -2423,7 +2422,6 @@ broken-packages: - hquantlib-time - hquery - hR - - h-raylib - hreq-core - hRESP - h-reversi diff --git a/pkgs/development/haskell-modules/hackage-packages.nix b/pkgs/development/haskell-modules/hackage-packages.nix index a854af6cee10..bf65aef0350e 100644 --- a/pkgs/development/haskell-modules/hackage-packages.nix +++ b/pkgs/development/haskell-modules/hackage-packages.nix @@ -50879,10 +50879,8 @@ self: { description = "Patch byte-representable data in a bytestream"; license = lib.licenses.mit; platforms = lib.platforms.x86; - hydraPlatforms = lib.platforms.none; mainProgram = "bytepatch"; maintainers = [ lib.maintainers.raehik ]; - broken = true; }) {}; "bytes" = callPackage @@ -122967,8 +122965,6 @@ self: { ]; description = "Raylib bindings for Haskell"; license = lib.licenses.asl20; - hydraPlatforms = lib.platforms.none; - broken = true; }) {c = null; inherit (pkgs) libGL; inherit (pkgs.xorg) libX11; inherit (pkgs.xorg) libXcursor; inherit (pkgs.xorg) libXext; inherit (pkgs.xorg) libXi; inherit (pkgs.xorg) libXinerama; From e7054c7d32f34771fe19508bef475ce9781d7443 Mon Sep 17 00:00:00 2001 From: Dmitry Bogatov Date: Sat, 18 Feb 2023 23:51:07 -0500 Subject: [PATCH 04/26] haskellPackages.tdlib: patch for aeson >= 2.0 compat Unbreak tdlib and its dependencies by same upstream (tdlib-types, tdlib-gen, language-tl). Co-authored-by: sternenseemann --- .../haskell-modules/configuration-common.nix | 13 +++++++++++++ .../configuration-hackage2nix/broken.yaml | 1 - .../transitive-broken.yaml | 3 --- .../haskell-modules/hackage-packages.nix | 5 ----- 4 files changed, 13 insertions(+), 9 deletions(-) diff --git a/pkgs/development/haskell-modules/configuration-common.nix b/pkgs/development/haskell-modules/configuration-common.nix index 6ef78179918e..fed99ac03725 100644 --- a/pkgs/development/haskell-modules/configuration-common.nix +++ b/pkgs/development/haskell-modules/configuration-common.nix @@ -372,6 +372,19 @@ self: super: { itanium-abi = dontCheck super.itanium-abi; katt = dontCheck super.katt; language-slice = dontCheck super.language-slice; + + # Group of libraries by same upstream maintainer for interacting with + # Telegram messenger. Bit-rotted a bit since 2020. + tdlib = appendPatch (fetchpatch { + # https://github.com/poscat0x04/tdlib/pull/3 + url = "https://github.com/poscat0x04/tdlib/commit/8eb9ecbc98c65a715469fdb8b67793ab375eda31.patch"; + hash = "sha256-vEI7fTsiafNGBBl4VUXVCClW6xKLi+iK53fjcubgkpc="; + }) (doJailbreak super.tdlib) ; + tdlib-types = doJailbreak super.tdlib-types; + tdlib-gen = doJailbreak super.tdlib-gen; + # https://github.com/poscat0x04/language-tl/pull/1 + language-tl = doJailbreak super.language-tl; + ldap-client = dontCheck super.ldap-client; lensref = dontCheck super.lensref; lvmrun = disableHardening ["format"] (dontCheck super.lvmrun); diff --git a/pkgs/development/haskell-modules/configuration-hackage2nix/broken.yaml b/pkgs/development/haskell-modules/configuration-hackage2nix/broken.yaml index eaa1c133a935..26760ad2f4d5 100644 --- a/pkgs/development/haskell-modules/configuration-hackage2nix/broken.yaml +++ b/pkgs/development/haskell-modules/configuration-hackage2nix/broken.yaml @@ -2997,7 +2997,6 @@ broken-packages: - language-sh - language-sqlite - language-sygus - - language-tl - language-typescript - language-webidl - laop diff --git a/pkgs/development/haskell-modules/configuration-hackage2nix/transitive-broken.yaml b/pkgs/development/haskell-modules/configuration-hackage2nix/transitive-broken.yaml index fd70e850c408..add701b70003 100644 --- a/pkgs/development/haskell-modules/configuration-hackage2nix/transitive-broken.yaml +++ b/pkgs/development/haskell-modules/configuration-hackage2nix/transitive-broken.yaml @@ -3869,9 +3869,6 @@ dont-distribute-packages: - tbox - tcache-AWS - tccli - - tdlib - - tdlib-gen - - tdlib-types - techlab - telegram-bot - telegram-raw-api diff --git a/pkgs/development/haskell-modules/hackage-packages.nix b/pkgs/development/haskell-modules/hackage-packages.nix index bf65aef0350e..7253f88820ad 100644 --- a/pkgs/development/haskell-modules/hackage-packages.nix +++ b/pkgs/development/haskell-modules/hackage-packages.nix @@ -174942,8 +174942,6 @@ self: { ]; description = "A Parser for the Type Language"; license = lib.licenses.bsd3; - hydraPlatforms = lib.platforms.none; - broken = true; }) {}; "language-toolkit" = callPackage @@ -283113,7 +283111,6 @@ self: { testSystemDepends = [ tdlib ]; description = "complete binding to the Telegram Database Library"; license = lib.licenses.bsd3; - hydraPlatforms = lib.platforms.none; }) {inherit (pkgs) tdlib;}; "tdlib-gen" = callPackage @@ -283142,7 +283139,6 @@ self: { ]; description = "Codegen for TDLib"; license = lib.licenses.bsd3; - hydraPlatforms = lib.platforms.none; mainProgram = "tdlib-gen"; }) {}; @@ -283164,7 +283160,6 @@ self: { ]; description = "Types and Functions generated from tdlib api spec"; license = lib.licenses.bsd3; - hydraPlatforms = lib.platforms.none; }) {}; "tdoc" = callPackage From 98be10b1999fedba13c8cde7779bb990fb75d03f Mon Sep 17 00:00:00 2001 From: sternenseemann Date: Sun, 19 Feb 2023 12:30:43 +0100 Subject: [PATCH 05/26] git-annex: update sha256 for 10.20230214 --- 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 fed99ac03725..dd05f979ef03 100644 --- a/pkgs/development/haskell-modules/configuration-common.nix +++ b/pkgs/development/haskell-modules/configuration-common.nix @@ -132,7 +132,7 @@ self: super: { name = "git-annex-${super.git-annex.version}-src"; url = "git://git-annex.branchable.com/"; rev = "refs/tags/" + super.git-annex.version; - sha256 = "0f2nnszfiqwdgfky3190prkhcndp0mva3jk7a6cl461w8kp1jspa"; + sha256 = "1g1m18l7cx2y5d43k0vy5bqn4znybq0p345399zf9nkwhwhb7s20"; # delete android and Android directories which cause issues on # darwin (case insensitive directory). Since we don't need them # during the build process, we can delete it to prevent a hash From a5821740f82f136fa3f7e9bf88bcfe6ac8e1a62a Mon Sep 17 00:00:00 2001 From: sternenseemann Date: Sun, 19 Feb 2023 13:16:55 +0100 Subject: [PATCH 06/26] haskell.packages.*.[cC]abal*: use process 1.6.17.0 for GHC < 9.2.5 Cabal 3.8 and friends support process 1.6.17.0 which has recently been released on Hackage, so we can fix the evaluation errors this way. --- pkgs/development/haskell-modules/configuration-common.nix | 2 +- pkgs/development/haskell-modules/configuration-nix.nix | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/haskell-modules/configuration-common.nix b/pkgs/development/haskell-modules/configuration-common.nix index dd05f979ef03..aed5bc3ac249 100644 --- a/pkgs/development/haskell-modules/configuration-common.nix +++ b/pkgs/development/haskell-modules/configuration-common.nix @@ -31,7 +31,7 @@ self: super: { Cabal-syntax = cself.Cabal-syntax_3_8_1_0; } // lib.optionalAttrs (lib.versionOlder self.ghc.version "9.2.5") { # GHC 9.2.5 starts shipping 1.6.16.0 - process = cself.process_1_6_16_0; + process = cself.process_1_6_17_0; } // lib.optionalAttrs (lib.versions.majorMinor self.ghc.version == "8.10") { # Prevent dependency on doctest which causes an inconsistent dependency # due to depending on ghc-8.10.7 (with bundled process) vs. process 1.6.16.0 diff --git a/pkgs/development/haskell-modules/configuration-nix.nix b/pkgs/development/haskell-modules/configuration-nix.nix index 50210cdccb3d..9d633d7a5297 100644 --- a/pkgs/development/haskell-modules/configuration-nix.nix +++ b/pkgs/development/haskell-modules/configuration-nix.nix @@ -1057,7 +1057,7 @@ self: super: builtins.intersectAttrs super { Cabal-syntax = self.Cabal-syntax_3_8_1_0; } // lib.optionalAttrs (lib.versionOlder self.ghc.version "9.2.5") { # Use process core package when possible - process = self.process_1_6_16_0; + process = self.process_1_6_17_0; })); # cabal-install switched to build type simple in 3.2.0.0 From 16078721aae76dee5b82f643eb211fa7b9aa0796 Mon Sep 17 00:00:00 2001 From: sternenseemann Date: Sun, 19 Feb 2023 12:17:23 +0100 Subject: [PATCH 07/26] release-haskell.nix: don't try building known to fail js backends aarch64-linux will continue failing unless we find another solution. For x86_64-darwin we won't learn anything by it being a constaint star in our build failure reports. --- pkgs/top-level/release-haskell.nix | 23 +++++++++++++++++------ 1 file changed, 17 insertions(+), 6 deletions(-) diff --git a/pkgs/top-level/release-haskell.nix b/pkgs/top-level/release-haskell.nix index 9597320813c6..2248efd65832 100644 --- a/pkgs/top-level/release-haskell.nix +++ b/pkgs/top-level/release-haskell.nix @@ -345,12 +345,23 @@ let }; }; - pkgsCross.ghcjs.haskellPackages = { - inherit (packagePlatforms pkgs.pkgsCross.ghcjs.haskellPackages) - ghc - hello - ; - }; + # TODO(@sternenseemann): when GHC 9.6 comes out we need separate jobs for + # default GHC and ghcHEAD. + pkgsCross.ghcjs.haskellPackages = + removePlatforms + [ + # Still unexplained build failure: https://github.com/NixOS/nixpkgs/issues/217127 + "x86_64-darwin" + + # Hydra output size of 3GB is exceeded + "aarch64-linux" + ] + { + inherit (packagePlatforms pkgs.pkgsCross.ghcjs.haskellPackages) + ghc + hello + ; + }; }) (versionedCompilerJobs { # Packages which should be checked on more than the From b7e41b825ea3b2f897112c7f0810508b0e8b9d5e Mon Sep 17 00:00:00 2001 From: sternenseemann Date: Sun, 19 Feb 2023 11:55:51 +0100 Subject: [PATCH 08/26] maintainers/haskell: generate core-pkgs hackage2nix configuration MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit `ghc-pkg list` tells us everything hackage2nix needs to know. In the past the core-packages list and compiler setting in hackage2nix was maintained manually which inevitably leads to it being forgot once in a while – this will then mess with flag resolution when generating the package set in some cases. Luckily, we can just let a simple derivation do this for us. Resolves #202621. --- .../haskell/regenerate-hackage-packages.sh | 11 ++++- .../haskell-modules/configuration-common.nix | 33 ++++++++++++- .../configuration-hackage2nix/main.yaml | 46 +------------------ 3 files changed, 43 insertions(+), 47 deletions(-) diff --git a/maintainers/scripts/haskell/regenerate-hackage-packages.sh b/maintainers/scripts/haskell/regenerate-hackage-packages.sh index 9d51eb4ca4af..5e6b5a888ad8 100755 --- a/maintainers/scripts/haskell/regenerate-hackage-packages.sh +++ b/maintainers/scripts/haskell/regenerate-hackage-packages.sh @@ -11,6 +11,9 @@ # Related scripts are update-hackage.sh, for updating the snapshot of the # Hackage database used by hackage2nix, and update-cabal2nix-unstable.sh, # for updating the version of hackage2nix used to perform this task. +# +# Note that this script doesn't gcroot anything, so it may be broken by an +# unfortunately timed nix-store --gc. set -euo pipefail @@ -20,15 +23,21 @@ HACKAGE2NIX="${HACKAGE2NIX:-hackage2nix}" # See: https://github.com/NixOS/nixpkgs/pull/122023 export LC_ALL=C.UTF-8 +config_dir=pkgs/development/haskell-modules/configuration-hackage2nix + +echo "Obtaining Hackage data" extraction_derivation='with import ./. {}; runCommandLocal "unpacked-cabal-hashes" { } "tar xf ${all-cabal-hashes} --strip-components=1 --one-top-level=$out"' unpacked_hackage="$(nix-build -E "$extraction_derivation" --no-out-link)" -config_dir=pkgs/development/haskell-modules/configuration-hackage2nix + +echo "Generating compiler configuration" +compiler_config="$(nix-build -A haskellPackages.cabal2nix-unstable.compilerConfig --no-out-link)" echo "Starting hackage2nix to regenerate pkgs/development/haskell-modules/hackage-packages.nix ..." "$HACKAGE2NIX" \ --hackage "$unpacked_hackage" \ --preferred-versions <(for n in "$unpacked_hackage"/*/preferred-versions; do cat "$n"; echo; done) \ --nixpkgs "$PWD" \ + --config "$compiler_config" \ --config "$config_dir/main.yaml" \ --config "$config_dir/stackage.yaml" \ --config "$config_dir/broken.yaml" \ diff --git a/pkgs/development/haskell-modules/configuration-common.nix b/pkgs/development/haskell-modules/configuration-common.nix index aed5bc3ac249..8a73d0efa643 100644 --- a/pkgs/development/haskell-modules/configuration-common.nix +++ b/pkgs/development/haskell-modules/configuration-common.nix @@ -1815,7 +1815,38 @@ self: super: { database-id-class = doJailbreak super.database-id-class; cabal2nix-unstable = overrideCabal { - passthru.updateScript = ../../../maintainers/scripts/haskell/update-cabal2nix-unstable.sh; + passthru = { + updateScript = ../../../maintainers/scripts/haskell/update-cabal2nix-unstable.sh; + + # This is used by regenerate-hackage-packages.nix to supply the configuration + # values we can easily generate automatically without checking them in. + compilerConfig = + pkgs.runCommand + "hackage2nix-${self.ghc.haskellCompilerName}-config.yaml" + { + nativeBuildInputs = [ + self.ghc + ]; + } + '' + cat > "$out" << EOF + # generated by haskellPackages.cabal2nix-unstable.compilerConfig + compiler: ${self.ghc.haskellCompilerName} + + core-packages: + # Hack: The following package is a core package of GHCJS. If we don't declare + # it, then hackage2nix will generate a Hackage database where all dependants + # of this library are marked as "broken". + - ghcjs-base-0 + + EOF + + ghc-pkg list \ + | tail -n '+2' \ + | sed -e 's/[()]//g' -e 's/\s\+/ - /' \ + >> "$out" + ''; + }; } super.cabal2nix-unstable; # Too strict version bounds on base diff --git a/pkgs/development/haskell-modules/configuration-hackage2nix/main.yaml b/pkgs/development/haskell-modules/configuration-hackage2nix/main.yaml index f6795d8fa612..ecd8e4dae16f 100644 --- a/pkgs/development/haskell-modules/configuration-hackage2nix/main.yaml +++ b/pkgs/development/haskell-modules/configuration-hackage2nix/main.yaml @@ -1,48 +1,4 @@ -# pkgs/development/haskell-modules/configuration-hackage2nix.yaml - -compiler: ghc-9.2.4 - -core-packages: - - Cabal-3.6.3.0 - - array-0.5.4.0 - - base-4.16.3.0 - - binary-0.8.9.0 - - bytestring-0.11.3.1 - - containers-0.6.5.1 - - deepseq-1.4.6.1 - - directory-1.3.6.2 - - exceptions-0.10.4 - - filepath-1.4.2.2 - - ghc-9.2.4 - - ghc-bignum-1.2 - - ghc-boot-9.2.4 - - ghc-boot-th-9.2.4 - - ghc-compact-0.1.0.0 - - ghc-heap-9.2.4 - - ghc-prim-0.8.0 - - ghci-9.2.4 - - haskeline-0.8.2 - - hpc-0.6.1.0 - - integer-gmp-1.1 - - libiserv-9.2.4 - - mtl-2.2.2 - - parsec-3.1.15.0 - - pretty-1.1.3.6 - - process-1.6.13.2 - - rts-1.0.2 - - stm-2.5.0.2 - - template-haskell-2.18.0.0 - - terminfo-0.4.1.5 - - text-1.2.5.0 - - time-1.11.1.1 - - transformers-0.5.6.2 - - unix-2.7.2.2 - - xhtml-3000.2.2.1 - - # Hack: The following package is a core package of GHCJS. If we don't declare - # it, then hackage2nix will generate a Hackage database where all dependants - # of this library are marked as "broken". - - ghcjs-base-0 +# pkgs/development/haskell-modules/configuration-hackage2nix/main.yaml # This is a list of packages with versions from the latest Stackage LTS release. # From b5b5a192108e201f19a3923564a86f93bf15035e Mon Sep 17 00:00:00 2001 From: dalpd Date: Sat, 18 Feb 2023 22:48:28 +0200 Subject: [PATCH 09/26] haskellPackages.espial: Jailbreak to avoid upper bound on bytestring Espial was broken because the version being tracked had a restrictive upper bound on bytestring that isn't neccessary. Here we jailbreak after asserting the version is 0.0.11 so that it fails once we there's a new release. --- .../haskell-modules/configuration-common.nix | 17 ++++++++++++----- .../configuration-hackage2nix/broken.yaml | 1 - .../haskell-modules/hackage-packages.nix | 2 -- 3 files changed, 12 insertions(+), 8 deletions(-) diff --git a/pkgs/development/haskell-modules/configuration-common.nix b/pkgs/development/haskell-modules/configuration-common.nix index 012c992d80e3..5f513654a00f 100644 --- a/pkgs/development/haskell-modules/configuration-common.nix +++ b/pkgs/development/haskell-modules/configuration-common.nix @@ -1260,11 +1260,18 @@ self: super: { ] super.svgcairo; # Espial is waiting for a hackage release to be compatible with GHC 9.X. - espial = appendPatch (fetchpatch { - url = "https://github.com/jonschoning/espial/commit/70177f9efb9666c3616e8a474681d3eb763d0e84.patch"; - sha256 = "sha256-aJtwZGp9DUpACBV0WYRL7k32m6qWf5vq6eKBFq/G23s="; - excludes = ["package.yaml" "stack.yaml" "stack.yaml.lock"]; - }) super.espial; + # [This issue](https://github.com/jonschoning/espial/issues/49) can be followed + # to track the status of the new release. + espial = + let ghc9-compat = fetchpatch { + url = "https://github.com/jonschoning/espial/commit/70177f9efb9666c3616e8a474681d3eb763d0e84.patch"; + sha256 = "sha256-aJtwZGp9DUpACBV0WYRL7k32m6qWf5vq6eKBFq/G23s="; + excludes = ["package.yaml" "stack.yaml" "stack.yaml.lock"]; + }; + in overrideCabal (drv: { + jailbreak = assert super.espial.version == "0.0.11"; true; + patches = [ ghc9-compat ]; + }) super.espial; # Upstream PR: https://github.com/jkff/splot/pull/9 splot = appendPatch (fetchpatch { diff --git a/pkgs/development/haskell-modules/configuration-hackage2nix/broken.yaml b/pkgs/development/haskell-modules/configuration-hackage2nix/broken.yaml index 3cb0b0a9a3e3..ff087e4e5ece 100644 --- a/pkgs/development/haskell-modules/configuration-hackage2nix/broken.yaml +++ b/pkgs/development/haskell-modules/configuration-hackage2nix/broken.yaml @@ -1383,7 +1383,6 @@ broken-packages: - ert - escape-artist - escoger - - espial - esqueleto-pgcrypto - ess - essence-of-live-coding diff --git a/pkgs/development/haskell-modules/hackage-packages.nix b/pkgs/development/haskell-modules/hackage-packages.nix index f5ec9671f412..2dd6babe4277 100644 --- a/pkgs/development/haskell-modules/hackage-packages.nix +++ b/pkgs/development/haskell-modules/hackage-packages.nix @@ -92837,8 +92837,6 @@ self: { ]; description = "Espial is an open-source, web-based bookmarking server"; license = lib.licenses.agpl3Only; - hydraPlatforms = lib.platforms.none; - broken = true; }) {}; "esqueleto" = callPackage From 51cde6c87d0672c03a69460bd5800406c2a6455f Mon Sep 17 00:00:00 2001 From: dalpd Date: Sat, 18 Feb 2023 23:01:18 +0200 Subject: [PATCH 10/26] haskellPackages.espial: Add dalpd as the maintainer --- .../haskell-modules/configuration-hackage2nix/main.yaml | 1 + pkgs/development/haskell-modules/hackage-packages.nix | 1 + 2 files changed, 2 insertions(+) diff --git a/pkgs/development/haskell-modules/configuration-hackage2nix/main.yaml b/pkgs/development/haskell-modules/configuration-hackage2nix/main.yaml index 03db8df060df..4aa4048eea07 100644 --- a/pkgs/development/haskell-modules/configuration-hackage2nix/main.yaml +++ b/pkgs/development/haskell-modules/configuration-hackage2nix/main.yaml @@ -191,6 +191,7 @@ package-maintainers: centromere: - nfc dalpd: + - espial - ghc-vis - svgcairo domenkozar: diff --git a/pkgs/development/haskell-modules/hackage-packages.nix b/pkgs/development/haskell-modules/hackage-packages.nix index 2dd6babe4277..1db8fc8be911 100644 --- a/pkgs/development/haskell-modules/hackage-packages.nix +++ b/pkgs/development/haskell-modules/hackage-packages.nix @@ -92837,6 +92837,7 @@ self: { ]; description = "Espial is an open-source, web-based bookmarking server"; license = lib.licenses.agpl3Only; + maintainers = [ lib.maintainers.dalpd ]; }) {}; "esqueleto" = callPackage From dbe678126b8296ce444087f0ea0efa66d109b003 Mon Sep 17 00:00:00 2001 From: dalpd Date: Sat, 18 Feb 2023 23:02:05 +0200 Subject: [PATCH 11/26] haskellPackages.patat: Add dalpd as the maintainer --- .../haskell-modules/configuration-hackage2nix/main.yaml | 1 + pkgs/development/haskell-modules/hackage-packages.nix | 1 + 2 files changed, 2 insertions(+) diff --git a/pkgs/development/haskell-modules/configuration-hackage2nix/main.yaml b/pkgs/development/haskell-modules/configuration-hackage2nix/main.yaml index 4aa4048eea07..1e331e6d1708 100644 --- a/pkgs/development/haskell-modules/configuration-hackage2nix/main.yaml +++ b/pkgs/development/haskell-modules/configuration-hackage2nix/main.yaml @@ -193,6 +193,7 @@ package-maintainers: dalpd: - espial - ghc-vis + - patat - svgcairo domenkozar: - cachix diff --git a/pkgs/development/haskell-modules/hackage-packages.nix b/pkgs/development/haskell-modules/hackage-packages.nix index 1db8fc8be911..fb63f87c6be1 100644 --- a/pkgs/development/haskell-modules/hackage-packages.nix +++ b/pkgs/development/haskell-modules/hackage-packages.nix @@ -216596,6 +216596,7 @@ self: { description = "Terminal-based presentations using Pandoc"; license = lib.licenses.gpl2Only; mainProgram = "patat"; + maintainers = [ lib.maintainers.dalpd ]; }) {}; "patch" = callPackage From 0debf1453d66decb3e2e89d957e492f8fc791e94 Mon Sep 17 00:00:00 2001 From: maralorn Date: Mon, 20 Feb 2023 00:20:42 +0100 Subject: [PATCH 12/26] maintainers/scripts/haskell/hydra-report: Add comments with error causes to broken list --- maintainers/scripts/haskell/hydra-report.hs | 102 ++++++++++++++------ 1 file changed, 71 insertions(+), 31 deletions(-) diff --git a/maintainers/scripts/haskell/hydra-report.hs b/maintainers/scripts/haskell/hydra-report.hs index f86f0fbc6a2d..27b3d3c43a8a 100755 --- a/maintainers/scripts/haskell/hydra-report.hs +++ b/maintainers/scripts/haskell/hydra-report.hs @@ -26,6 +26,7 @@ Because step 1) is quite expensive and takes roughly ~5 minutes the result is ca {-# LANGUAGE TupleSections #-} {-# LANGUAGE ViewPatterns #-} {-# OPTIONS_GHC -Wall #-} +{-# LANGUAGE DataKinds #-} import Control.Monad (forM_, (<=<)) import Control.Monad.Trans (MonadIO (liftIO)) @@ -54,17 +55,22 @@ import Data.Time (defaultTimeLocale, formatTime, getCurrentTime) import Data.Time.Clock (UTCTime) import GHC.Generics (Generic) import Network.HTTP.Req ( - GET (GET), - NoReqBody (NoReqBody), - defaultHttpConfig, - header, - https, - jsonResponse, - req, - responseBody, - responseTimeout, - runReq, - (/:), + GET (GET), + HttpResponse (HttpResponseBody), + NoReqBody (NoReqBody), + Option, + Req, + Scheme (Https), + bsResponse, + defaultHttpConfig, + header, + https, + jsonResponse, + req, + responseBody, + responseTimeout, + runReq, + (/:), ) import System.Directory (XdgDirectory (XdgCache), getXdgDirectory) import System.Environment (getArgs) @@ -76,6 +82,10 @@ import Control.Exception (evaluate) import qualified Data.IntMap.Strict as IntMap import qualified Data.IntSet as IntSet import Data.Bifunctor (second) +import Data.Data (Proxy) +import Data.ByteString (ByteString) +import qualified Data.ByteString.Char8 as ByteString +import Distribution.Simple.Utils (safeLast, fromUTF8BS) newtype JobsetEvals = JobsetEvals { evals :: Seq Eval @@ -123,17 +133,31 @@ showT = Text.pack . show getBuildReports :: IO () getBuildReports = runReq defaultHttpConfig do - evalMay <- Seq.lookup 0 . evals <$> myReq (https "hydra.nixos.org" /: "jobset" /: "nixpkgs" /: "haskell-updates" /: "evals") mempty + evalMay <- Seq.lookup 0 . evals <$> hydraJSONQuery mempty ["jobset", "nixpkgs", "haskell-updates", "evals"] eval@Eval{id} <- maybe (liftIO $ fail "No Evalution found") pure evalMay liftIO . putStrLn $ "Fetching evaluation " <> show id <> " from Hydra. This might take a few minutes..." - buildReports :: Seq Build <- myReq (https "hydra.nixos.org" /: "eval" /: showT id /: "builds") (responseTimeout 600000000) + buildReports :: Seq Build <- hydraJSONQuery (responseTimeout 600000000) ["eval", showT id, "builds"] liftIO do fileName <- reportFileName putStrLn $ "Finished fetching all builds from Hydra, saving report as " <> fileName now <- getCurrentTime encodeFile fileName (eval, now, buildReports) - where - myReq query option = responseBody <$> req GET query NoReqBody jsonResponse (header "User-Agent" "hydra-report.hs/v1 (nixpkgs;maintainers/scripts/haskell)" <> option) + +hydraQuery :: HttpResponse a => Proxy a -> Option 'Https -> [Text] -> Req (HttpResponseBody a) +hydraQuery responseType option query = + responseBody + <$> req + GET + (foldl' (/:) (https "hydra.nixos.org") query) + NoReqBody + responseType + (header "User-Agent" "hydra-report.hs/v1 (nixpkgs;maintainers/scripts/haskell)" <> option) + +hydraJSONQuery :: FromJSON a => Option 'Https -> [Text] -> Req a +hydraJSONQuery = hydraQuery jsonResponse + +hydraPlainQuery :: [Text] -> Req ByteString +hydraPlainQuery = hydraQuery bsResponse mempty hydraEvalCommand :: FilePath hydraEvalCommand = "hydra-eval-jobs" @@ -326,23 +350,24 @@ instance Functor (Table row col) where instance Foldable (Table row col) where foldMap f (Table a) = foldMap f a +getBuildState :: Build -> BuildState +getBuildState Build{finished, buildstatus} = case (finished, buildstatus) of + (0, _) -> Unfinished + (_, Just 0) -> Success + (_, Just 1) -> Failed + (_, Just 2) -> DependencyFailed + (_, Just 3) -> HydraFailure + (_, Just 4) -> Canceled + (_, Just 7) -> TimedOut + (_, Just 11) -> OutputLimitExceeded + (_, i) -> Unknown i + buildSummary :: MaintainerMap -> ReverseDependencyMap -> Seq Build -> StatusSummary buildSummary maintainerMap reverseDependencyMap = foldl (Map.unionWith unionSummary) Map.empty . fmap toSummary where unionSummary (SummaryEntry (Table lb) lm lr lu) (SummaryEntry (Table rb) rm rr ru) = SummaryEntry (Table $ Map.union lb rb) (lm <> rm) (max lr rr) (max lu ru) - toSummary Build{finished, buildstatus, job, id, system} = Map.singleton name (SummaryEntry (Table (Map.singleton (set, Platform system) (BuildResult state id))) maintainers reverseDeps unbrokenReverseDeps) + toSummary build@Build{job, id, system} = Map.singleton name (SummaryEntry (Table (Map.singleton (set, Platform system) (BuildResult (getBuildState build) id))) maintainers reverseDeps unbrokenReverseDeps) where - state :: BuildState - state = case (finished, buildstatus) of - (0, _) -> Unfinished - (_, Just 0) -> Success - (_, Just 1) -> Failed - (_, Just 2) -> DependencyFailed - (_, Just 3) -> HydraFailure - (_, Just 4) -> Canceled - (_, Just 7) -> TimedOut - (_, Just 11) -> OutputLimitExceeded - (_, i) -> Unknown i packageName = fromMaybe job (Text.stripSuffix ("." <> system) job) splitted = nonEmpty $ Text.splitOn "." packageName name = maybe packageName NonEmpty.last splitted @@ -486,8 +511,23 @@ printMaintainerPing = do printMarkBrokenList :: IO () printMarkBrokenList = do - (_, _, buildReport) <- readBuildReports - forM_ buildReport \Build{buildstatus, job} -> - case (buildstatus, Text.splitOn "." job) of - (Just 1, ["haskellPackages", name, "x86_64-linux"]) -> putStrLn $ " - " <> Text.unpack name + (_, fetchTime, buildReport) <- readBuildReports + runReq defaultHttpConfig $ forM_ buildReport \build@Build{job, id} -> + case (getBuildState build, Text.splitOn "." job) of + (Failed, ["haskellPackages", name, "x86_64-linux"]) -> do + -- Fetch build log from hydra to figure out the cause of the error. + build_log <- ByteString.lines <$> hydraPlainQuery ["build", showT id, "nixlog", "1", "raw"] + -- We use the last probable error cause found in the build log file. + let error_message = fromMaybe " failure " $ safeLast $ mapMaybe probableErrorCause build_log + liftIO $ putStrLn $ " - " <> Text.unpack name <> " # " <> error_message <> " in job https://hydra.nixos.org/build/" <> show id <> " at " <> formatTime defaultTimeLocale "%Y-%m-%d" fetchTime _ -> pure () + +{- | This function receives a line from a Nix Haskell builder build log and returns a possible error cause. + | We might need to add other causes in the future if errors happen in unusual parts of the builder. +-} +probableErrorCause :: ByteString -> Maybe String +probableErrorCause "Setup: Encountered missing or private dependencies:" = Just "dependency missing" +probableErrorCause "running tests" = Just "test failure" +probableErrorCause build_line | ByteString.isPrefixOf "Building" build_line = Just ("failure building " <> fromUTF8BS (fst $ ByteString.breakSubstring " for" $ ByteString.drop 9 build_line)) +probableErrorCause build_line | ByteString.isSuffixOf "Phase" build_line = Just ("failure in " <> fromUTF8BS build_line) +probableErrorCause _ = Nothing From 653dc22fa1eec8f8142bdaf3c072c260ff7f2dc9 Mon Sep 17 00:00:00 2001 From: Ben Orchard Date: Sun, 19 Feb 2023 22:18:46 +0000 Subject: [PATCH 13/26] haskell.packages.ghc94.ormolu: fix eval by bumping version --- pkgs/development/haskell-modules/configuration-ghc-9.4.x.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/development/haskell-modules/configuration-ghc-9.4.x.nix b/pkgs/development/haskell-modules/configuration-ghc-9.4.x.nix index 30d117103c83..c95f0645b664 100644 --- a/pkgs/development/haskell-modules/configuration-ghc-9.4.x.nix +++ b/pkgs/development/haskell-modules/configuration-ghc-9.4.x.nix @@ -195,7 +195,7 @@ in { }; # https://github.com/tweag/ormolu/issues/941 - ormolu = doDistribute self.ormolu_0_5_2_0; + ormolu = doDistribute self.ormolu_0_5_3_0; fourmolu = overrideCabal (drv: { libraryHaskellDepends = drv.libraryHaskellDepends ++ [ self.file-embed ]; }) (disableCabalFlag "fixity-th" super.fourmolu_0_10_1_0); From 9b540a871dc3491f3d68af98f88c14266d8a5a98 Mon Sep 17 00:00:00 2001 From: sternenseemann Date: Wed, 22 Feb 2023 13:55:06 +0100 Subject: [PATCH 14/26] haskellPackages.swisstable: "reflect" AVX2 requirement in platforms --- .../haskell-modules/configuration-hackage2nix/main.yaml | 1 + pkgs/development/haskell-modules/hackage-packages.nix | 1 + 2 files changed, 2 insertions(+) diff --git a/pkgs/development/haskell-modules/configuration-hackage2nix/main.yaml b/pkgs/development/haskell-modules/configuration-hackage2nix/main.yaml index 621ac110ad41..315a33baa034 100644 --- a/pkgs/development/haskell-modules/configuration-hackage2nix/main.yaml +++ b/pkgs/development/haskell-modules/configuration-hackage2nix/main.yaml @@ -577,6 +577,7 @@ supported-platforms: scat: [ platforms.x86 ] # uses scrypt, which requries x86 scrypt: [ platforms.x86 ] # https://github.com/informatikr/scrypt/issues/8 seqalign: [ platforms.x86 ] # x86 intrinsics + swisstable: [ platforms.x86_64 ] # Needs AVX2 tasty-papi: [ platforms.linux ] # limited by pkgs.papi udev: [ platforms.linux ] Win32-console: [ platforms.windows ] diff --git a/pkgs/development/haskell-modules/hackage-packages.nix b/pkgs/development/haskell-modules/hackage-packages.nix index 63f1c1519f3b..cbcc94c5b918 100644 --- a/pkgs/development/haskell-modules/hackage-packages.nix +++ b/pkgs/development/haskell-modules/hackage-packages.nix @@ -278262,6 +278262,7 @@ self: { ]; description = "SwissTable hash map"; license = lib.licenses.bsd3; + platforms = lib.platforms.x86_64; }) {}; "switch" = callPackage From 6dc3f22ae7ef5f3c001e211ff335fabb1a7e3219 Mon Sep 17 00:00:00 2001 From: Mike Sperber Date: Thu, 23 Feb 2023 08:49:31 +0100 Subject: [PATCH 15/26] snappy: unbreak build This just applies in the patches from a long-standing unmerged pull request. This transitively also unbreaks snappy-framing and snappy-lazy. --- .../haskell-modules/configuration-common.nix | 12 +++++++++++- .../configuration-hackage2nix/broken.yaml | 3 ++- 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/pkgs/development/haskell-modules/configuration-common.nix b/pkgs/development/haskell-modules/configuration-common.nix index ed7643441881..1e5ddafd461d 100644 --- a/pkgs/development/haskell-modules/configuration-common.nix +++ b/pkgs/development/haskell-modules/configuration-common.nix @@ -459,7 +459,17 @@ self: super: { cmdtheline = dontCheck super.cmdtheline; # https://github.com/bos/snappy/issues/1 - snappy = dontCheck super.snappy; + # https://github.com/bos/snappy/pull/10 + snappy = appendPatches [ + (pkgs.fetchpatch { + url = "https://github.com/bos/snappy/commit/8687802c0b85ed7fbbb1b1945a75f14fb9a9c886.patch"; + sha256 = "sha256-p6rMzkjPAZVljsC1Ubj16/mNr4mq5JpxfP5xwT+Gt5M="; + }) + (pkgs.fetchpatch { + url = "https://github.com/bos/snappy/commit/21c3250c1f3d273cdcf597e2b7909a22aeaa710f.patch"; + sha256 = "sha256-qHEQ8FFagXGxvtblBvo7xivRARzXlaMLw8nt0068nt0="; + }) + ] (dontCheck super.snappy); # https://github.com/vincenthz/hs-crypto-pubkey/issues/20 crypto-pubkey = dontCheck super.crypto-pubkey; diff --git a/pkgs/development/haskell-modules/configuration-hackage2nix/broken.yaml b/pkgs/development/haskell-modules/configuration-hackage2nix/broken.yaml index 73d6cec2181b..f04d106fa81c 100644 --- a/pkgs/development/haskell-modules/configuration-hackage2nix/broken.yaml +++ b/pkgs/development/haskell-modules/configuration-hackage2nix/broken.yaml @@ -4913,7 +4913,8 @@ broken-packages: - snaplet-typed-sessions - snap-loader-dynamic - snap-predicates - - snappy + - snappy-iteratee + - snappy-conduit - snap-routes - snap-stream - snap-testing From 1df0e06d540ac88153860df4874bd2294f9d92b0 Mon Sep 17 00:00:00 2001 From: Mike Sperber Date: Thu, 23 Feb 2023 08:50:35 +0100 Subject: [PATCH 16/26] haskell-tensorflow: unbreak build This just moves the package to the current head in the official repo, which has since seen patches that unbreak the ghc-9 build and work with our version of TensorFlow. --- .../haskell-modules/configuration-hackage2nix/broken.yaml | 2 -- .../haskell-modules/configuration-tensorflow.nix | 8 +++++--- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/pkgs/development/haskell-modules/configuration-hackage2nix/broken.yaml b/pkgs/development/haskell-modules/configuration-hackage2nix/broken.yaml index f04d106fa81c..eec94a94a244 100644 --- a/pkgs/development/haskell-modules/configuration-hackage2nix/broken.yaml +++ b/pkgs/development/haskell-modules/configuration-hackage2nix/broken.yaml @@ -5253,8 +5253,6 @@ broken-packages: - tempus - ten - tensor - - tensorflow - - tensorflow-opgen - tensor-safe - termbox-bindings - termination-combinators diff --git a/pkgs/development/haskell-modules/configuration-tensorflow.nix b/pkgs/development/haskell-modules/configuration-tensorflow.nix index 54a5bc52ebaa..3f9dc1643275 100644 --- a/pkgs/development/haskell-modules/configuration-tensorflow.nix +++ b/pkgs/development/haskell-modules/configuration-tensorflow.nix @@ -11,8 +11,8 @@ let tensorflow-haskell = pkgs.fetchFromGitHub { owner = "tensorflow"; repo = "haskell"; - rev = "568c9b6f03e5d66a25685a776386e2ff50b61aa9"; - sha256 = "0v58zhqipa441hzdvp9pwgv6srir2fm7cp0bq2pb5jl1imwyd37h"; + rev = "555d90c43202d5a3021893013bfc8e2ffff58c97"; + sha256 = "uOuIeD4o+pcjvluTqyVU3GJUQ4e1+p3FhINJ9b6oK+k="; fetchSubmodules = true; }; @@ -23,7 +23,9 @@ in { tensorflow-proto = doJailbreak (setTensorflowSourceRoot "tensorflow-proto" super.tensorflow-proto); - tensorflow = setTensorflowSourceRoot "tensorflow" super.tensorflow; + tensorflow = overrideCabal + (drv: { libraryHaskellDepends = drv.libraryHaskellDepends ++ [self.vector-split]; }) + (setTensorflowSourceRoot "tensorflow" super.tensorflow); tensorflow-core-ops = setTensorflowSourceRoot "tensorflow-core-ops" super.tensorflow-core-ops; From 7f65851908ad5ab883778f32e70d236319d07c71 Mon Sep 17 00:00:00 2001 From: sternenseemann Date: Wed, 22 Feb 2023 13:46:17 +0100 Subject: [PATCH 17/26] Revert "haskellPackages.heystone: fix darwin dylibs" This reverts commit 32eecc6cc96ba426cda9a8e7ab66d931eb141cee. Reason for revert: This fix doesn't alleviate the problem in two ways: 1. It is in the aarch64-darwin section of configuration-darwin.nix, the problem appears on x86_64-darwin (bytepatch doesn't support aarch64). 2. When moving the override into the general *-darwin section, the problem with bytepatch is also unaffected, see my attempt in https://github.com/NixOS/nixpkgs/pull/217201. --- pkgs/development/haskell-modules/configuration-darwin.nix | 2 -- 1 file changed, 2 deletions(-) diff --git a/pkgs/development/haskell-modules/configuration-darwin.nix b/pkgs/development/haskell-modules/configuration-darwin.nix index 03ef34510bb3..c54e2dd03d30 100644 --- a/pkgs/development/haskell-modules/configuration-darwin.nix +++ b/pkgs/development/haskell-modules/configuration-darwin.nix @@ -318,8 +318,6 @@ self: super: ({ # https://github.com/NixOS/nixpkgs/issues/149692 Agda = removeConfigureFlag "-foptimise-heavily" super.Agda; - heystone = addBuildTool pkgs.fixDarwinDylibNames super.heystone; - } // lib.optionalAttrs pkgs.stdenv.isx86_64 { # x86_64-darwin # tests appear to be failing to link or something: From 51894cc90010b2f9a85ea506c417424748513090 Mon Sep 17 00:00:00 2001 From: maralorn Date: Thu, 23 Feb 2023 21:49:47 +0100 Subject: [PATCH 18/26] haskellPackages: regenerate package set based on current config This commit has been generated by maintainers/scripts/haskell/regenerate-hackage-packages.sh --- pkgs/development/haskell-modules/hackage-packages.nix | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/pkgs/development/haskell-modules/hackage-packages.nix b/pkgs/development/haskell-modules/hackage-packages.nix index cbcc94c5b918..a5219a63badd 100644 --- a/pkgs/development/haskell-modules/hackage-packages.nix +++ b/pkgs/development/haskell-modules/hackage-packages.nix @@ -267016,8 +267016,6 @@ self: { ]; description = "Bindings to the Google Snappy library for fast compression/decompression"; license = lib.licenses.bsd3; - hydraPlatforms = lib.platforms.none; - broken = true; }) {inherit (pkgs) snappy;}; "snappy-conduit" = callPackage @@ -267030,6 +267028,7 @@ self: { description = "Conduit bindings for Snappy (see snappy package)"; license = lib.licenses.mit; hydraPlatforms = lib.platforms.none; + broken = true; }) {}; "snappy-framing" = callPackage @@ -267054,6 +267053,7 @@ self: { description = "An enumeratee that uses Google's snappy compression library"; license = lib.licenses.bsd3; hydraPlatforms = lib.platforms.none; + broken = true; }) {}; "snappy-lazy" = callPackage @@ -284192,8 +284192,6 @@ self: { ]; description = "TensorFlow bindings"; license = lib.licenses.asl20; - hydraPlatforms = lib.platforms.none; - broken = true; }) {inherit (pkgs) libtensorflow;}; "tensorflow-core-ops" = callPackage @@ -284297,8 +284295,6 @@ self: { ]; description = "Code generation for TensorFlow operations"; license = lib.licenses.asl20; - hydraPlatforms = lib.platforms.none; - broken = true; }) {}; "tensorflow-ops" = callPackage From 9ace1d895c246d5a6fa9a405897d40f64b5167cd Mon Sep 17 00:00:00 2001 From: Kyle Butt Date: Thu, 23 Feb 2023 09:58:41 -0700 Subject: [PATCH 19/26] haskell.compiler.ghc94*: backport Cabal bugfix for Paths_ modules There is a code generation bug in Cabal-3.6.3.0. For packages configured with --enable-relocatable, Cabal would generate code that doesn't compile. There isn't an upstream issue, but the issue is described in the commit that fixed it: https://github.com/haskell/cabal/commit/6c796218c92f93c95e94d5ec2d077f6956f68e98 It was fixed in Cabal-3.8.* Backport the fix to the Cabal library that ships with ghc-9.4.4 Cabal 3.8 ships with ghc-9.6, so when 9.6 is released this fix shouldn't be necessary. --- pkgs/development/compilers/ghc/9.4.4.nix | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/pkgs/development/compilers/ghc/9.4.4.nix b/pkgs/development/compilers/ghc/9.4.4.nix index b9897b0f4d82..508316fc5e72 100644 --- a/pkgs/development/compilers/ghc/9.4.4.nix +++ b/pkgs/development/compilers/ghc/9.4.4.nix @@ -189,6 +189,16 @@ stdenv.mkDerivation (rec { outputs = [ "out" "doc" ]; + patches = [ + # Don't generate code that doesn't compile when --enable-relocatable is passed to Setup.hs + # Can be removed if the Cabal library included with ghc backports the linked fix + (fetchpatch { + url = "https://github.com/haskell/cabal/commit/6c796218c92f93c95e94d5ec2d077f6956f68e98.patch"; + stripLen = 1; + extraPrefix = "libraries/Cabal/"; + sha256 = "sha256-yRQ6YmMiwBwiYseC5BsrEtDgFbWvst+maGgDtdD0vAY="; + }) + ]; postPatch = "patchShebangs ."; From bb62d57a851706efd5a69149acd5fe64c76b1de1 Mon Sep 17 00:00:00 2001 From: sternenseemann Date: Sat, 25 Feb 2023 19:32:49 +0100 Subject: [PATCH 20/26] haskellPackages.cabal2nix-unstable: 2023-02-15 -> 2023-02-25 Correctly resolves gmodule pkg-config name now: https://github.com/NixOS/cabal2nix/commit/6c1dc8908ba4d3c81549b3131539d0ce289cb92c --- .../development/haskell-modules/cabal2nix-unstable.nix | 6 +++--- pkgs/development/haskell-modules/hackage-packages.nix | 10 +++++----- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/pkgs/development/haskell-modules/cabal2nix-unstable.nix b/pkgs/development/haskell-modules/cabal2nix-unstable.nix index be6d368db1e3..faab9f8391e0 100644 --- a/pkgs/development/haskell-modules/cabal2nix-unstable.nix +++ b/pkgs/development/haskell-modules/cabal2nix-unstable.nix @@ -8,10 +8,10 @@ }: mkDerivation { pname = "cabal2nix"; - version = "unstable-2023-02-15"; + version = "unstable-2023-02-25"; src = fetchzip { - url = "https://github.com/NixOS/cabal2nix/archive/5cd07f1df825084fd47cf49cf49f14569859a51c.tar.gz"; - sha256 = "1zwl5h6xqadw7fw3mkr5jljczcyrbhvi6kas19mj1wiyx6bj34yw"; + url = "https://github.com/NixOS/cabal2nix/archive/6c1dc8908ba4d3c81549b3131539d0ce289cb92c.tar.gz"; + sha256 = "0b83phblqrw659n0bzf6z3255xlgf9yhl95axrsl3mlvhdjmv79b"; }; postUnpack = "sourceRoot+=/cabal2nix; echo source root reset to $sourceRoot"; isLibrary = true; diff --git a/pkgs/development/haskell-modules/hackage-packages.nix b/pkgs/development/haskell-modules/hackage-packages.nix index a5219a63badd..c13331175e14 100644 --- a/pkgs/development/haskell-modules/hackage-packages.nix +++ b/pkgs/development/haskell-modules/hackage-packages.nix @@ -112895,9 +112895,9 @@ self: { }) {inherit (pkgs) glib;}; "gi-gmodule" = callPackage - ({ mkDerivation, base, bytestring, Cabal, containers, gi-glib - , gmodule, haskell-gi, haskell-gi-base, haskell-gi-overloading - , text, transformers + ({ mkDerivation, base, bytestring, Cabal, containers, gi-glib, glib + , haskell-gi, haskell-gi-base, haskell-gi-overloading, text + , transformers }: mkDerivation { pname = "gi-gmodule"; @@ -112908,10 +112908,10 @@ self: { base bytestring containers gi-glib haskell-gi haskell-gi-base haskell-gi-overloading text transformers ]; - libraryPkgconfigDepends = [ gmodule ]; + libraryPkgconfigDepends = [ glib ]; description = "GModule bindings"; license = lib.licenses.lgpl21Only; - }) {gmodule = null;}; + }) {inherit (pkgs) glib;}; "gi-gobject" = callPackage ({ mkDerivation, base, bytestring, Cabal, containers, gi-glib, glib From b8442a653abcfa0806b2eb213a078db95a9fd8a5 Mon Sep 17 00:00:00 2001 From: sternenseemann Date: Mon, 27 Feb 2023 17:57:08 +0100 Subject: [PATCH 21/26] haskellPackages.haskell-gi: move temporary upgrade into overlay This achieves the same as 1af0d67ebe17baaa14029379e430f21a3507a53b, but prevents it being rolled back by package set regeneration. --- .../haskell-modules/configuration-common.nix | 10 ++++++++++ pkgs/development/haskell-modules/hackage-packages.nix | 4 ++-- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/pkgs/development/haskell-modules/configuration-common.nix b/pkgs/development/haskell-modules/configuration-common.nix index 1e5ddafd461d..af232e6b3ec5 100644 --- a/pkgs/development/haskell-modules/configuration-common.nix +++ b/pkgs/development/haskell-modules/configuration-common.nix @@ -2235,6 +2235,16 @@ self: super: { # Too strict bounds on chell: https://github.com/fpco/haskell-filesystem/issues/24 system-fileio = doJailbreak super.system-fileio; + # Temporarily upgrade haskell-gi until our hackage pin advances + # Fixes build of gi-harfbuzz with harfbuzz >= 7.0 + # https://github.com/haskell-gi/haskell-gi/issues/396#issuecomment-1445181362 + haskell-gi = + assert super.haskell-gi.version == "0.26.2"; + overrideCabal { + version = "0.26.3"; + sha256 = "sha256-jsAb3JCSHCmi2dp9bpi/J3NRO/EQFB8ar4GpxAuBGOo="; + } super.haskell-gi; + # Bounds too strict on base and ghc-prim: https://github.com/tibbe/ekg-core/pull/43 (merged); waiting on hackage release ekg-core = assert super.ekg-core.version == "0.1.1.7"; doJailbreak super.ekg-core; hasura-ekg-core = doJailbreak super.hasura-ekg-core; diff --git a/pkgs/development/haskell-modules/hackage-packages.nix b/pkgs/development/haskell-modules/hackage-packages.nix index 9230ef3e4cfa..c13331175e14 100644 --- a/pkgs/development/haskell-modules/hackage-packages.nix +++ b/pkgs/development/haskell-modules/hackage-packages.nix @@ -129480,8 +129480,8 @@ self: { }: mkDerivation { pname = "haskell-gi"; - version = "0.26.3"; - sha256 = "sha256-jsAb3JCSHCmi2dp9bpi/J3NRO/EQFB8ar4GpxAuBGOo="; + version = "0.26.2"; + sha256 = "05r84czb05n69g7p7jazljh95yzdh2lpzgjjypgpg75mh83igr2w"; setupHaskellDepends = [ base Cabal cabal-doctest ]; libraryHaskellDepends = [ ansi-terminal attoparsec base bytestring Cabal containers directory From 8a5af8e2b8b4f776945488b4b9d51d43de9303e5 Mon Sep 17 00:00:00 2001 From: sternenseemann Date: Mon, 27 Feb 2023 18:15:19 +0100 Subject: [PATCH 22/26] haskellPackages.cabal2nix-unstable: 2023-02-25 -> 2023-02-27 --- pkgs/development/haskell-modules/cabal2nix-unstable.nix | 6 +++--- pkgs/development/haskell-modules/hackage-packages.nix | 8 ++++---- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/pkgs/development/haskell-modules/cabal2nix-unstable.nix b/pkgs/development/haskell-modules/cabal2nix-unstable.nix index faab9f8391e0..ed48a5e1dbc2 100644 --- a/pkgs/development/haskell-modules/cabal2nix-unstable.nix +++ b/pkgs/development/haskell-modules/cabal2nix-unstable.nix @@ -8,10 +8,10 @@ }: mkDerivation { pname = "cabal2nix"; - version = "unstable-2023-02-25"; + version = "unstable-2023-02-27"; src = fetchzip { - url = "https://github.com/NixOS/cabal2nix/archive/6c1dc8908ba4d3c81549b3131539d0ce289cb92c.tar.gz"; - sha256 = "0b83phblqrw659n0bzf6z3255xlgf9yhl95axrsl3mlvhdjmv79b"; + url = "https://github.com/NixOS/cabal2nix/archive/5e183d1ac819ea1beec3da6229d76d4185b026d0.tar.gz"; + sha256 = "0picq2zzr3hnwzv86p07xymrp84kdb4q5b373a07xgqqqql1wn52"; }; postUnpack = "sourceRoot+=/cabal2nix; echo source root reset to $sourceRoot"; isLibrary = true; diff --git a/pkgs/development/haskell-modules/hackage-packages.nix b/pkgs/development/haskell-modules/hackage-packages.nix index c13331175e14..91e5ab75df19 100644 --- a/pkgs/development/haskell-modules/hackage-packages.nix +++ b/pkgs/development/haskell-modules/hackage-packages.nix @@ -113343,8 +113343,8 @@ self: { "gi-harfbuzz" = callPackage ({ mkDerivation, base, bytestring, Cabal, containers, gi-freetype2 - , gi-glib, gi-gobject, harfbuzz, harfbuzz-gobject, haskell-gi - , haskell-gi-base, haskell-gi-overloading, text, transformers + , gi-glib, gi-gobject, harfbuzz, haskell-gi, haskell-gi-base + , haskell-gi-overloading, text, transformers }: mkDerivation { pname = "gi-harfbuzz"; @@ -113357,10 +113357,10 @@ self: { base bytestring containers gi-freetype2 gi-glib gi-gobject haskell-gi haskell-gi-base haskell-gi-overloading text transformers ]; - libraryPkgconfigDepends = [ harfbuzz harfbuzz-gobject ]; + libraryPkgconfigDepends = [ harfbuzz ]; description = "HarfBuzz bindings"; license = lib.licenses.lgpl21Only; - }) {inherit (pkgs) harfbuzz; harfbuzz-gobject = null;}; + }) {inherit (pkgs) harfbuzz;}; "gi-ibus" = callPackage ({ mkDerivation, base, bytestring, Cabal, containers, gi-gio From 2827717f7e7d64d61a96de3f8e1bd007ececdd08 Mon Sep 17 00:00:00 2001 From: sternenseemann Date: Tue, 28 Feb 2023 23:45:50 +0100 Subject: [PATCH 23/26] haskell-language-server: allow hls-call-hierarchy >= 1.2 Upstream change not released yet: https://github.com/haskell/haskell-language-server/commit/05b248dfacc307c3397b334635cb38298aee9563 --- pkgs/development/haskell-modules/configuration-common.nix | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/pkgs/development/haskell-modules/configuration-common.nix b/pkgs/development/haskell-modules/configuration-common.nix index af232e6b3ec5..4b52ea1afc10 100644 --- a/pkgs/development/haskell-modules/configuration-common.nix +++ b/pkgs/development/haskell-modules/configuration-common.nix @@ -1470,6 +1470,13 @@ self: super: { haskell-language-server = (lib.pipe super.haskell-language-server [ dontCheck (disableCabalFlag "stan") # Sorry stan is totally unmaintained and terrible to get to run. It only works on ghc 8.8 or 8.10 anyways … + # Allow hls-call-hierarchy >= 1.2 which requires only a bound adjustment + (appendPatch (fetchpatch { + name = "hls-allow-hls-call-hierarchy-1.2.patch"; + url = "https://github.com/haskell/haskell-language-server/commit/05b248dfacc307c3397b334635cb38298aee9563.patch"; + includes = [ "haskell-language-server.cabal" ]; + sha256 = "1v0zi1lv92p6xq54yw9swzaf24dxsi9lpk10sngg3ka654ikm7j5"; + })) ]).overrideScope (lself: lsuper: { # For most ghc versions, we overrideScope Cabal in the configuration-ghc-???.nix, # because some packages, like ormolu, need a newer Cabal version. From 81d5cb1550ef0a58c5ee529c743065cc93a7fb64 Mon Sep 17 00:00:00 2001 From: sternenseemann Date: Tue, 28 Feb 2023 23:16:54 +0100 Subject: [PATCH 24/26] haskell.compiler.ghc927: init at 9.2.7 https://www.haskell.org/ghc/blog/20230227-ghc-9.2.7-released.html --- pkgs/development/compilers/ghc/9.2.7.nix | 383 +++++++++++++++++++++++ pkgs/top-level/haskell-packages.nix | 24 ++ pkgs/top-level/release-haskell.nix | 5 + 3 files changed, 412 insertions(+) create mode 100644 pkgs/development/compilers/ghc/9.2.7.nix diff --git a/pkgs/development/compilers/ghc/9.2.7.nix b/pkgs/development/compilers/ghc/9.2.7.nix new file mode 100644 index 000000000000..af5ba618c109 --- /dev/null +++ b/pkgs/development/compilers/ghc/9.2.7.nix @@ -0,0 +1,383 @@ +{ lib, stdenv, pkgsBuildTarget, pkgsHostTarget, targetPackages + +# build-tools +, bootPkgs +, autoconf, automake, coreutils, fetchpatch, fetchurl, perl, python3, m4, sphinx +, xattr, autoSignDarwinBinariesHook +, bash + +, libiconv ? null, ncurses +, glibcLocales ? null + +, # GHC can be built with system libffi or a bundled one. + libffi ? null + +, useLLVM ? !(stdenv.targetPlatform.isx86 + || stdenv.targetPlatform.isPower + || stdenv.targetPlatform.isSparc + || (stdenv.targetPlatform.isAarch64 && stdenv.targetPlatform.isDarwin)) +, # LLVM is conceptually a run-time-only depedendency, but for + # non-x86, we need LLVM to bootstrap later stages, so it becomes a + # build-time dependency too. + buildTargetLlvmPackages, llvmPackages + +, # If enabled, GHC will be built with the GPL-free but slightly slower native + # bignum backend instead of the faster but GPLed gmp backend. + enableNativeBignum ? !(lib.meta.availableOn stdenv.hostPlatform gmp + && lib.meta.availableOn stdenv.targetPlatform gmp) +, gmp + +, # If enabled, use -fPIC when compiling static libs. + enableRelocatedStaticLibs ? stdenv.targetPlatform != stdenv.hostPlatform + + # aarch64 outputs otherwise exceed 2GB limit +, enableProfiledLibs ? !stdenv.targetPlatform.isAarch64 + +, # Whether to build dynamic libs for the standard library (on the target + # platform). Static libs are always built. + enableShared ? with stdenv.targetPlatform; !isWindows && !useiOSPrebuilt && !isStatic + +, # Whether to build terminfo. + enableTerminfo ? !stdenv.targetPlatform.isWindows + +, # What flavour to build. An empty string indicates no + # specific flavour and falls back to ghc default values. + ghcFlavour ? lib.optionalString (stdenv.targetPlatform != stdenv.hostPlatform) + (if useLLVM then "perf-cross" else "perf-cross-ncg") + +, # Whether to build sphinx documentation. + enableDocs ? ( + # Docs disabled for musl and cross because it's a large task to keep + # all `sphinx` dependencies building in those environments. + # `sphinx` pulls in among others: + # Ruby, Python, Perl, Rust, OpenGL, Xorg, gtk, LLVM. + (stdenv.targetPlatform == stdenv.hostPlatform) + && !stdenv.hostPlatform.isMusl + ) + +, enableHaddockProgram ? + # Disabled for cross; see note [HADDOCK_DOCS]. + (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/ + disableLargeAddressSpace ? stdenv.targetPlatform.isiOS +}: + +assert !enableNativeBignum -> gmp != null; + +# Cross cannot currently build the `haddock` program for silly reasons, +# see note [HADDOCK_DOCS]. +assert (stdenv.targetPlatform != stdenv.hostPlatform) -> !enableHaddockProgram; + +let + inherit (stdenv) buildPlatform hostPlatform targetPlatform; + + inherit (bootPkgs) ghc; + + # TODO(@Ericson2314) Make unconditional + targetPrefix = lib.optionalString + (targetPlatform != hostPlatform) + "${targetPlatform.config}-"; + + buildMK = '' + BuildFlavour = ${ghcFlavour} + ifneq \"\$(BuildFlavour)\" \"\" + include mk/flavours/\$(BuildFlavour).mk + endif + BUILD_SPHINX_HTML = ${if enableDocs then "YES" else "NO"} + BUILD_SPHINX_PDF = NO + '' + + # Note [HADDOCK_DOCS]: + # Unfortunately currently `HADDOCK_DOCS` controls both whether the `haddock` + # program is built (which we generally always want to have a complete GHC install) + # and whether it is run on the GHC sources to generate hyperlinked source code + # (which is impossible for cross-compilation); see: + # https://gitlab.haskell.org/ghc/ghc/-/issues/20077 + # This implies that currently a cross-compiled GHC will never have a `haddock` + # program, so it can never generate haddocks for any packages. + # If this is solved in the future, we'd like to unconditionally + # build the haddock program (removing the `enableHaddockProgram` option). + '' + HADDOCK_DOCS = ${if enableHaddockProgram then "YES" else "NO"} + # Build haddocks for boot packages with hyperlinking + EXTRA_HADDOCK_OPTS += --hyperlinked-source --quickjump + + DYNAMIC_GHC_PROGRAMS = ${if enableShared then "YES" else "NO"} + BIGNUM_BACKEND = ${if enableNativeBignum then "native" else "gmp"} + '' + lib.optionalString (targetPlatform != hostPlatform) '' + Stage1Only = ${if targetPlatform.system == hostPlatform.system then "NO" else "YES"} + CrossCompilePrefix = ${targetPrefix} + '' + lib.optionalString (!enableProfiledLibs) '' + GhcLibWays = "v dyn" + '' + + # -fexternal-dynamic-refs apparently (because it's not clear from the documentation) + # makes the GHC RTS able to load static libraries, which may be needed for TemplateHaskell. + # This solution was described in https://www.tweag.io/blog/2020-09-30-bazel-static-haskell + lib.optionalString enableRelocatedStaticLibs '' + GhcLibHcOpts += -fPIC -fexternal-dynamic-refs + GhcRtsHcOpts += -fPIC -fexternal-dynamic-refs + '' + lib.optionalString targetPlatform.useAndroidPrebuilt '' + EXTRA_CC_OPTS += -std=gnu99 + ''; + + # Splicer will pull out correct variations + libDeps = platform: lib.optional enableTerminfo ncurses + ++ [libffi] + ++ lib.optional (!enableNativeBignum) gmp + ++ lib.optional (platform.libc != "glibc" && !targetPlatform.isWindows) libiconv; + + # TODO(@sternenseemann): is buildTarget LLVM unnecessary? + # GHC doesn't seem to have {LLC,OPT}_HOST + toolsForTarget = [ + pkgsBuildTarget.targetPackages.stdenv.cc + ] ++ lib.optional useLLVM buildTargetLlvmPackages.llvm; + + targetCC = builtins.head toolsForTarget; + + # Sometimes we have to dispatch between the bintools wrapper and the unwrapped + # derivation for certain tools depending on the platform. + bintoolsFor = { + # GHC needs install_name_tool on all darwin platforms. On aarch64-darwin it is + # part of the bintools wrapper (due to codesigning requirements), but not on + # x86_64-darwin. + install_name_tool = + if stdenv.targetPlatform.isAarch64 + then targetCC.bintools + else targetCC.bintools.bintools; + # Same goes for strip. + strip = + # TODO(@sternenseemann): also use wrapper if linker == "bfd" or "gold" + if stdenv.targetPlatform.isAarch64 && stdenv.targetPlatform.isDarwin + then targetCC.bintools + else targetCC.bintools.bintools; + }; + + # Use gold either following the default, or to avoid the BFD linker due to some bugs / perf issues. + # But we cannot avoid BFD when using musl libc due to https://sourceware.org/bugzilla/show_bug.cgi?id=23856 + # see #84670 and #49071 for more background. + useLdGold = targetPlatform.linker == "gold" || + (targetPlatform.linker == "bfd" && (targetCC.bintools.bintools.hasGold or false) && !targetPlatform.isMusl); + + # Makes debugging easier to see which variant is at play in `nix-store -q --tree`. + variantSuffix = lib.concatStrings [ + (lib.optionalString stdenv.hostPlatform.isMusl "-musl") + (lib.optionalString enableNativeBignum "-native-bignum") + ]; + +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 = "9.2.7"; + pname = "${targetPrefix}ghc${variantSuffix}"; + + src = fetchurl { + url = "https://downloads.haskell.org/ghc/${version}/ghc-${version}-src.tar.xz"; + sha256 = "a253567a17b734a4c0dd0ffa296d33c2a5b5a54a77df988806a2a1e1ca7e88b8"; + }; + + enableParallelBuilding = true; + + outputs = [ "out" "doc" ]; + + patches = [ + # Fix docs build with sphinx >= 6.0 + # https://gitlab.haskell.org/ghc/ghc/-/issues/22766 + (fetchpatch { + name = "ghc-docs-sphinx-6.0.patch"; + url = "https://gitlab.haskell.org/ghc/ghc/-/commit/10e94a556b4f90769b7fd718b9790d58ae566600.patch"; + sha256 = "0kmhfamr16w8gch0lgln2912r8aryjky1hfcda3jkcwa5cdzgjdv"; + }) + # fix hyperlinked haddock sources: https://github.com/haskell/haddock/pull/1482 + (fetchpatch { + url = "https://patch-diff.githubusercontent.com/raw/haskell/haddock/pull/1482.patch"; + sha256 = "sha256-8w8QUCsODaTvknCDGgTfFNZa8ZmvIKaKS+2ZJZ9foYk="; + extraPrefix = "utils/haddock/"; + stripLen = 1; + }) + # Don't generate code that doesn't compile when --enable-relocatable is passed to Setup.hs + # Can be removed if the Cabal library included with ghc backports the linked fix + (fetchpatch { + url = "https://github.com/haskell/cabal/commit/6c796218c92f93c95e94d5ec2d077f6956f68e98.patch"; + stripLen = 1; + extraPrefix = "libraries/Cabal/"; + sha256 = "sha256-yRQ6YmMiwBwiYseC5BsrEtDgFbWvst+maGgDtdD0vAY="; + }) + ]; + + postPatch = "patchShebangs ."; + + # GHC needs the locale configured during the Haddock phase. + LANG = "en_US.UTF-8"; + + # GHC is a bit confused on its cross terminology. + # TODO(@sternenseemann): investigate coreutils dependencies and pass absolute paths + preConfigure = '' + for env in $(env | grep '^TARGET_' | sed -E 's|\+?=.*||'); do + export "''${env#TARGET_}=''${!env}" + done + # GHC is a bit confused on its cross terminology, as these would normally be + # the *host* tools. + export CC="${targetCC}/bin/${targetCC.targetPrefix}cc" + export CXX="${targetCC}/bin/${targetCC.targetPrefix}c++" + # Use gold to work around https://sourceware.org/bugzilla/show_bug.cgi?id=16177 + export LD="${targetCC.bintools}/bin/${targetCC.bintools.targetPrefix}ld${lib.optionalString useLdGold ".gold"}" + export AS="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}as" + export AR="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}ar" + export NM="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}nm" + export RANLIB="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}ranlib" + export READELF="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}readelf" + export STRIP="${bintoolsFor.strip}/bin/${bintoolsFor.strip.targetPrefix}strip" + '' + lib.optionalString (stdenv.targetPlatform.linker == "cctools") '' + export OTOOL="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}otool" + export INSTALL_NAME_TOOL="${bintoolsFor.install_name_tool}/bin/${bintoolsFor.install_name_tool.targetPrefix}install_name_tool" + '' + lib.optionalString useLLVM '' + export LLC="${lib.getBin buildTargetLlvmPackages.llvm}/bin/llc" + export OPT="${lib.getBin buildTargetLlvmPackages.llvm}/bin/opt" + '' + lib.optionalString (useLLVM && stdenv.targetPlatform.isDarwin) '' + # 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" + '' + '' + echo -n "${buildMK}" > mk/build.mk + '' + lib.optionalString (stdenv.isLinux && hostPlatform.libc == "glibc") '' + export LOCALE_ARCHIVE="${glibcLocales}/lib/locale/locale-archive" + '' + lib.optionalString (!stdenv.isDarwin) '' + export NIX_LDFLAGS+=" -rpath $out/lib/ghc-${version}" + '' + lib.optionalString stdenv.isDarwin '' + export NIX_LDFLAGS+=" -no_dtrace_dof" + + # GHC tries the host xattr /usr/bin/xattr by default which fails since it expects python to be 2.7 + export XATTR=${lib.getBin xattr}/bin/xattr + '' + lib.optionalString targetPlatform.useAndroidPrebuilt '' + sed -i -e '5i ,("armv7a-unknown-linux-androideabi", ("e-m:e-p:32:32-i64:64-v128:64:128-a:0:32-n32-S64", "cortex-a8", ""))' llvm-targets + '' + lib.optionalString targetPlatform.isMusl '' + echo "patching llvm-targets for musl targets..." + echo "Cloning these existing '*-linux-gnu*' targets:" + grep linux-gnu llvm-targets | sed 's/^/ /' + echo "(go go gadget sed)" + sed -i 's,\(^.*linux-\)gnu\(.*\)$,\0\n\1musl\2,' llvm-targets + echo "llvm-targets now contains these '*-linux-musl*' targets:" + grep linux-musl llvm-targets | sed 's/^/ /' + + echo "And now patching to preserve '-musleabi' as done with '-gnueabi'" + # (aclocal.m4 is actual source, but patch configure as well since we don't re-gen) + for x in configure aclocal.m4; do + substituteInPlace $x \ + --replace '*-android*|*-gnueabi*)' \ + '*-android*|*-gnueabi*|*-musleabi*)' + done + ''; + + # TODO(@Ericson2314): Always pass "--target" and always prefix. + configurePlatforms = [ "build" "host" ] + ++ lib.optional (targetPlatform != hostPlatform) "target"; + + # `--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=${targetPackages.libffi.dev}/include" + "--with-ffi-libraries=${targetPackages.libffi.out}/lib" + ] ++ lib.optionals (targetPlatform == hostPlatform && !enableNativeBignum) [ + "--with-gmp-includes=${targetPackages.gmp.dev}/include" + "--with-gmp-libraries=${targetPackages.gmp.out}/lib" + ] ++ lib.optionals (targetPlatform == hostPlatform && hostPlatform.libc != "glibc" && !targetPlatform.isWindows) [ + "--with-iconv-includes=${libiconv}/include" + "--with-iconv-libraries=${libiconv}/lib" + ] ++ lib.optionals (targetPlatform != hostPlatform) [ + "--enable-bootstrap-with-devel-snapshot" + ] ++ lib.optionals useLdGold [ + "CFLAGS=-fuse-ld=gold" + "CONF_GCC_LINKER_OPTS_STAGE1=-fuse-ld=gold" + "CONF_GCC_LINKER_OPTS_STAGE2=-fuse-ld=gold" + ] ++ lib.optionals (disableLargeAddressSpace) [ + "--disable-large-address-space" + ]; + + # Make sure we never relax`$PATH` and hooks support for compatibility. + strictDeps = true; + + # Don’t add -liconv to LDFLAGS automatically so that GHC will add it itself. + dontAddExtraLibs = true; + + nativeBuildInputs = [ + perl autoconf automake m4 python3 + ghc bootPkgs.alex bootPkgs.happy bootPkgs.hscolour + ] ++ lib.optionals (stdenv.isDarwin && stdenv.isAarch64) [ + autoSignDarwinBinariesHook + ] ++ lib.optionals enableDocs [ + sphinx + ]; + + # For building runtime libs + depsBuildTarget = toolsForTarget; + + buildInputs = [ perl bash ] ++ (libDeps hostPlatform); + + depsTargetTarget = map lib.getDev (libDeps targetPlatform); + depsTargetTargetPropagated = map (lib.getOutput "out") (libDeps targetPlatform); + + # required, because otherwise all symbols from HSffi.o are stripped, and + # that in turn causes GHCi to abort + stripDebugFlags = [ "-S" ] ++ lib.optional (!targetPlatform.isDarwin) "--keep-file-symbols"; + + checkTarget = "test"; + + hardeningDisable = + [ "format" ] + # In nixpkgs, musl based builds currently enable `pie` hardening by default + # (see `defaultHardeningFlags` in `make-derivation.nix`). + # But GHC cannot currently produce outputs that are ready for `-pie` linking. + # Thus, disable `pie` hardening, otherwise `recompile with -fPIE` errors appear. + # See: + # * https://github.com/NixOS/nixpkgs/issues/129247 + # * https://gitlab.haskell.org/ghc/ghc/-/issues/19580 + ++ lib.optional stdenv.targetPlatform.isMusl "pie"; + + # big-parallel allows us to build with more than 2 cores on + # Hydra which already warrants a significant speedup + requiredSystemFeatures = [ "big-parallel" ]; + + postInstall = '' + # Install the bash completion file. + install -D -m 444 utils/completion/ghc.bash $out/share/bash-completion/completions/${targetPrefix}ghc + ''; + + passthru = { + inherit bootPkgs targetPrefix; + + inherit llvmPackages; + inherit enableShared; + + # This is used by the haskell builder to query + # the presence of the haddock program. + hasHaddock = enableHaddockProgram; + + # Our Cabal compiler name + haskellCompilerName = "ghc-${version}"; + }; + + meta = { + homepage = "http://haskell.org/ghc"; + description = "The Glasgow Haskell Compiler"; + maintainers = with lib.maintainers; [ + guibou + ] ++ lib.teams.haskell.members; + timeout = 24 * 3600; + inherit (ghc.meta) license platforms; + }; + +} // lib.optionalAttrs targetPlatform.useAndroidPrebuilt { + dontStrip = true; + dontPatchELF = true; + noAuditTmpdir = true; +}) diff --git a/pkgs/top-level/haskell-packages.nix b/pkgs/top-level/haskell-packages.nix index 6a2ed917c308..f4f526cc485a 100644 --- a/pkgs/top-level/haskell-packages.nix +++ b/pkgs/top-level/haskell-packages.nix @@ -19,6 +19,7 @@ let "ghc924" "ghc925" "ghc926" + "ghc927" "ghc92" "ghc942" "ghc943" @@ -34,6 +35,7 @@ let "ghc924" "ghc925" "ghc926" + "ghc927" "ghc94" "ghc942" "ghc943" @@ -206,6 +208,23 @@ in { buildTargetLlvmPackages = pkgsBuildTarget.llvmPackages_12; llvmPackages = pkgs.llvmPackages_12; }; + ghc927 = callPackage ../development/compilers/ghc/9.2.7.nix { + bootPkgs = + # aarch64 ghc8107Binary exceeds max output size on hydra + if stdenv.hostPlatform.isAarch then + packages.ghc8107BinaryMinimal + else if stdenv.hostPlatform.isPower64 && stdenv.hostPlatform.isLittleEndian then + packages.ghc810 + else + packages.ghc8107Binary; + inherit (buildPackages.python3Packages) sphinx; + # Need to use apple's patched xattr until + # https://github.com/xattr/xattr/issues/44 and + # https://github.com/xattr/xattr/issues/55 are solved. + inherit (buildPackages.darwin) xattr autoSignDarwinBinariesHook; + buildTargetLlvmPackages = pkgsBuildTarget.llvmPackages_12; + llvmPackages = pkgs.llvmPackages_12; + }; ghc92 = ghc926; ghc942 = callPackage ../development/compilers/ghc/9.4.2.nix { bootPkgs = @@ -410,6 +429,11 @@ in { ghc = bh.compiler.ghc926; compilerConfig = callPackage ../development/haskell-modules/configuration-ghc-9.2.x.nix { }; }; + ghc927 = callPackage ../development/haskell-modules { + buildHaskellPackages = bh.packages.ghc927; + ghc = bh.compiler.ghc927; + compilerConfig = callPackage ../development/haskell-modules/configuration-ghc-9.2.x.nix { }; + }; ghc92 = ghc926; ghc942 = callPackage ../development/haskell-modules { buildHaskellPackages = bh.packages.ghc942; diff --git a/pkgs/top-level/release-haskell.nix b/pkgs/top-level/release-haskell.nix index 2248efd65832..9a06b9c9eed2 100644 --- a/pkgs/top-level/release-haskell.nix +++ b/pkgs/top-level/release-haskell.nix @@ -53,6 +53,7 @@ let ghc924 ghc925 ghc926 + ghc927 ghc944 ]; @@ -403,6 +404,7 @@ let compilerNames.ghc924 compilerNames.ghc925 compilerNames.ghc926 + compilerNames.ghc927 compilerNames.ghc944 ]; weeder = [ @@ -411,6 +413,7 @@ let compilerNames.ghc924 compilerNames.ghc925 compilerNames.ghc926 + compilerNames.ghc927 ]; }) { @@ -481,12 +484,14 @@ let jobs.pkgsMusl.haskell.compiler.ghc924 jobs.pkgsMusl.haskell.compiler.ghc925 jobs.pkgsMusl.haskell.compiler.ghc926 + jobs.pkgsMusl.haskell.compiler.ghc927 jobs.pkgsMusl.haskell.compiler.ghcHEAD jobs.pkgsMusl.haskell.compiler.integer-simple.ghc8107 jobs.pkgsMusl.haskell.compiler.native-bignum.ghc902 jobs.pkgsMusl.haskell.compiler.native-bignum.ghc924 jobs.pkgsMusl.haskell.compiler.native-bignum.ghc925 jobs.pkgsMusl.haskell.compiler.native-bignum.ghc926 + jobs.pkgsMusl.haskell.compiler.native-bignum.ghc927 jobs.pkgsMusl.haskell.compiler.native-bignum.ghcHEAD ]; }; From 98f52356e88734908dbed07ef0af8d838b136934 Mon Sep 17 00:00:00 2001 From: sternenseemann Date: Wed, 1 Mar 2023 00:55:47 +0100 Subject: [PATCH 25/26] haskellPackages: mark builds failing on hydra as broken This commit has been generated by maintainers/scripts/haskell/mark-broken.sh based on *evaluation [1791397](https://hydra.nixos.org/eval/1791397) of nixpkgs commit [81d5cb1](https://github.com/NixOS/nixpkgs/commits/81d5cb1550ef0a58c5ee529c743065cc93a7fb64) as of 2023-02-28 23:50 UTC* from the haskell-updates jobset on hydra under https://hydra.nixos.org/jobset/nixpkgs/haskell-updates --- .../configuration-hackage2nix/broken.yaml | 4 +++- .../transitive-broken.yaml | 13 +------------ .../haskell-modules/hackage-packages.nix | 15 +++++---------- 3 files changed, 9 insertions(+), 23 deletions(-) diff --git a/pkgs/development/haskell-modules/configuration-hackage2nix/broken.yaml b/pkgs/development/haskell-modules/configuration-hackage2nix/broken.yaml index eec94a94a244..6bcc4002cbc5 100644 --- a/pkgs/development/haskell-modules/configuration-hackage2nix/broken.yaml +++ b/pkgs/development/haskell-modules/configuration-hackage2nix/broken.yaml @@ -1420,6 +1420,7 @@ broken-packages: - exinst - exists - exitcode + - exon # dependency missing in job https://hydra.nixos.org/build/210848638 at 2023-02-28 - exp-cache - exp-extended - explain @@ -4290,6 +4291,7 @@ broken-packages: - quickbooks - quickcheck-arbitrary-template - quickcheck-groups + - quickcheck-lockstep # dependency missing in job https://hydra.nixos.org/build/210845914 at 2023-02-28 - quickcheck-monoid-subclasses - quickcheck-property-comb - quickcheck-property-monad @@ -4913,8 +4915,8 @@ broken-packages: - snaplet-typed-sessions - snap-loader-dynamic - snap-predicates - - snappy-iteratee - snappy-conduit + - snappy-iteratee - snap-routes - snap-stream - snap-testing diff --git a/pkgs/development/haskell-modules/configuration-hackage2nix/transitive-broken.yaml b/pkgs/development/haskell-modules/configuration-hackage2nix/transitive-broken.yaml index add701b70003..96818c6cceb5 100644 --- a/pkgs/development/haskell-modules/configuration-hackage2nix/transitive-broken.yaml +++ b/pkgs/development/haskell-modules/configuration-hackage2nix/transitive-broken.yaml @@ -865,7 +865,6 @@ dont-distribute-packages: - bronyradiogermany-streaming - btc-lsp - btree - - btree-concurrent - buchhaltung - buildbox-tools - buildwrapper @@ -2460,7 +2459,6 @@ dont-distribute-packages: - jvm - jvm-batching - jvm-streaming - - kafka-client - kafka-device - kafka-device-glut - kafka-device-joystick @@ -3228,7 +3226,6 @@ dont-distribute-packages: - qtah-qt5 - quantfin - quantum-random - - qudb - queryparser - queryparser-demo - queryparser-hive @@ -3405,6 +3402,7 @@ dont-distribute-packages: - rfc-psql - rfc-redis - rfc-servant + - rhine-bayes - rhine-gloss - rhine-terminal - rhythm-game-tutorial @@ -3666,10 +3664,6 @@ dont-distribute-packages: - snaplet-stripe - snaplet-tasks - snaplet-wordpress - - snappy-conduit - - snappy-framing - - snappy-iteratee - - snappy-lazy - sndfile-enumerators - sneakyterm - sneathlane-haste @@ -3875,11 +3869,6 @@ dont-distribute-packages: - temporal-csound - ten-lens - ten-unordered-containers - - tensorflow-core-ops - - tensorflow-logging - - tensorflow-ops - - tensorflow-records - - tensorflow-records-conduit - terminal-text - terrahs - test-sandbox-compose diff --git a/pkgs/development/haskell-modules/hackage-packages.nix b/pkgs/development/haskell-modules/hackage-packages.nix index 91e5ab75df19..cd5575cd1b13 100644 --- a/pkgs/development/haskell-modules/hackage-packages.nix +++ b/pkgs/development/haskell-modules/hackage-packages.nix @@ -49661,7 +49661,6 @@ self: { ]; description = "A backend agnostic, concurrent BTree"; license = "LGPL"; - hydraPlatforms = lib.platforms.none; }) {}; "btrfs" = callPackage @@ -95179,6 +95178,8 @@ self: { benchmarkHaskellDepends = [ base criterion incipit-base ]; description = "Customizable Quasiquote Interpolation"; license = "BSD-2-Clause-Patent"; + hydraPlatforms = lib.platforms.none; + broken = true; }) {}; "exotic-list-monads" = callPackage @@ -169185,7 +169186,6 @@ self: { testToolDepends = [ hspec-discover ]; description = "Low-level Haskell client library for Apache Kafka 0.7."; license = lib.licenses.mit; - hydraPlatforms = lib.platforms.none; }) {}; "kafka-client-sync" = callPackage @@ -235352,7 +235352,6 @@ self: { executableToolDepends = [ alex happy ]; description = "Quite Useless DB"; license = lib.licenses.lgpl3Only; - hydraPlatforms = lib.platforms.none; mainProgram = "qudb"; }) {}; @@ -235895,6 +235894,8 @@ self: { ]; description = "Library for lockstep-style testing with 'quickcheck-dynamic'"; license = lib.licenses.bsd3; + hydraPlatforms = lib.platforms.none; + broken = true; }) {}; "quickcheck-monoid-subclasses" = callPackage @@ -246360,6 +246361,7 @@ self: { ]; description = "monad-bayes backend for Rhine"; license = lib.licenses.bsd3; + hydraPlatforms = lib.platforms.none; mainProgram = "rhine-bayes-gloss"; }) {}; @@ -267040,7 +267042,6 @@ self: { libraryHaskellDepends = [ array base binary bytestring snappy ]; description = "Snappy Framing Format in Haskell"; license = lib.licenses.mpl20; - hydraPlatforms = lib.platforms.none; }) {}; "snappy-iteratee" = callPackage @@ -267068,7 +267069,6 @@ self: { ]; description = "Lazy bytestring compression and decompression"; license = lib.licenses.bsd3; - hydraPlatforms = lib.platforms.none; }) {}; "sndfile-enumerators" = callPackage @@ -284212,7 +284212,6 @@ self: { ]; description = "Haskell wrappers for Core Tensorflow Ops"; license = lib.licenses.asl20; - hydraPlatforms = lib.platforms.none; }) {}; "tensorflow-logging" = callPackage @@ -284241,7 +284240,6 @@ self: { ]; description = "TensorBoard related functionality"; license = lib.licenses.asl20; - hydraPlatforms = lib.platforms.none; }) {}; "tensorflow-mnist" = callPackage @@ -284324,7 +284322,6 @@ self: { ]; description = "Friendly layer around TensorFlow bindings"; license = lib.licenses.asl20; - hydraPlatforms = lib.platforms.none; }) {}; "tensorflow-proto" = callPackage @@ -284358,7 +284355,6 @@ self: { ]; description = "Encoder and decoder for the TensorFlow \"TFRecords\" format"; license = lib.licenses.asl20; - hydraPlatforms = lib.platforms.none; }) {}; "tensorflow-records-conduit" = callPackage @@ -284375,7 +284371,6 @@ self: { ]; description = "Conduit wrappers for TensorFlow.Records."; license = lib.licenses.asl20; - hydraPlatforms = lib.platforms.none; }) {}; "tensorflow-test" = callPackage From 604c0fed7ab4ffd5320c10b2e4a767d0a1e5752a Mon Sep 17 00:00:00 2001 From: sternenseemann Date: Wed, 1 Mar 2023 12:21:28 +0100 Subject: [PATCH 26/26] haskellPackages.Cabal_3_8_1_0: apply revision 2 Requested in #218740. --- pkgs/development/haskell-modules/configuration-nix.nix | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/pkgs/development/haskell-modules/configuration-nix.nix b/pkgs/development/haskell-modules/configuration-nix.nix index 9d633d7a5297..c38cd8ee4968 100644 --- a/pkgs/development/haskell-modules/configuration-nix.nix +++ b/pkgs/development/haskell-modules/configuration-nix.nix @@ -1053,12 +1053,15 @@ self: super: builtins.intersectAttrs super { hint = dontCheck super.hint; # Make sure that Cabal 3.8.* can be built as-is - Cabal_3_8_1_0 = doDistribute (super.Cabal_3_8_1_0.override ({ + Cabal_3_8_1_0 = doDistribute (overrideCabal (old: { + revision = assert old.revision == "1"; "2"; + editedCabalFile = "179y365wh9zgzkcn4n6m4vfsfy6vk4apajv8jpys057z3a71s4kp"; + }) (super.Cabal_3_8_1_0.override ({ Cabal-syntax = self.Cabal-syntax_3_8_1_0; } // lib.optionalAttrs (lib.versionOlder self.ghc.version "9.2.5") { # Use process core package when possible process = self.process_1_6_17_0; - })); + }))); # cabal-install switched to build type simple in 3.2.0.0 # as a result, the cabal(1) man page is no longer installed