diff options
Diffstat (limited to 'pkgs/development/haskell-modules/configuration-common.nix')
-rw-r--r-- | pkgs/development/haskell-modules/configuration-common.nix | 192 |
1 files changed, 125 insertions, 67 deletions
diff --git a/pkgs/development/haskell-modules/configuration-common.nix b/pkgs/development/haskell-modules/configuration-common.nix index 833d85d2ddd32..850529f06bdfd 100644 --- a/pkgs/development/haskell-modules/configuration-common.nix +++ b/pkgs/development/haskell-modules/configuration-common.nix @@ -328,7 +328,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 = "14x7avdvf0fjqncwxydlrv32lbyfiqrm346nvypzg27gq46fvkcg"; + sha256 = "sha256-DFdfRh4ST4hZl9AOsp0/Y4N+bT2Y1NoLdwi5sxVnCaw="; # 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 @@ -477,15 +477,17 @@ self: super: { matterhorn = doJailbreak super.matterhorn; # 2020-06-05: HACK: does not pass own build suite - `dontCheck` - # 2022-11-24: jailbreak as it has too strict bounds on a bunch of things - # 2023-07-26: Cherry-pick GHC 9.4 changes from hnix master branch - hnix = appendPatches [ - ./patches/hnix-compat-for-ghc-9.4.patch - ] (dontCheck (doJailbreak super.hnix)); + hnix = dontCheck (super.hnix.override { + # 2023-12-11: Needs older core due to remote + hnix-store-core = self.hnix-store-core_0_6_1_0; + }); + - # Too strict bounds on algebraic-graphs and bytestring + # Too strict bounds on algebraic-graphs # https://github.com/haskell-nix/hnix-store/issues/180 - hnix-store-core = doJailbreak super.hnix-store-core; + hnix-store-core_0_6_1_0 = doJailbreak super.hnix-store-core_0_6_1_0; + # 2023-12-11: Needs older core + hnix-store-remote = super.hnix-store-remote.override { hnix-store-core = self.hnix-store-core_0_6_1_0; }; # Fails for non-obvious reasons while attempting to use doctest. focuslist = dontCheck super.focuslist; @@ -883,6 +885,26 @@ self: super: { # 2022-03-19: Testsuite is failing: https://github.com/puffnfresh/haskell-jwt/issues/2 jwt = dontCheck super.jwt; + # Build Selda with the latest git version. + # See https://github.com/valderman/selda/issues/187 + inherit (let + mkSeldaPackage = name: overrideCabal (drv: { + version = "2023-02-05-unstable"; + src = pkgs.fetchFromGitHub { + owner = "valderman"; + repo = "selda"; + rev = "ab9619db13b93867d1a244441bb4de03d3e1dadb"; + hash = "sha256-P0nqAYzbeTyEEgzMij/3mKcs++/p/Wgc7Y6bDudXt2U="; + } + "/${name}"; + }) super.${name}; + in + lib.genAttrs [ "selda" "selda-sqlite" "selda-json" ] mkSeldaPackage + ) + selda + selda-sqlite + selda-json + ; + # Build the latest git version instead of the official release. This isn't # ideal, but Chris doesn't seem to make official releases any more. structured-haskell-mode = overrideCabal (drv: { @@ -1197,34 +1219,12 @@ self: super: { # Generate cli completions for dhall. dhall = self.generateOptparseApplicativeCompletions [ "dhall" ] super.dhall; - # For reasons that are not quire clear 'dhall-json' won't compile without 'tasty 1.4' due to its tests - # https://github.com/commercialhaskell/stackage/issues/5795 - # This issue can be mitigated with 'dontCheck' which skips the tests and their compilation. - dhall-json = self.generateOptparseApplicativeCompletions ["dhall-to-json" "dhall-to-yaml"] (dontCheck super.dhall-json); - dhall-nix = self.generateOptparseApplicativeCompletions [ "dhall-to-nix" ] - (overrideCabal (drv: { - patches = [ - # Compatibility with hnix 0.16, waiting for release - # https://github.com/dhall-lang/dhall-haskell/pull/2474 - (pkgs.fetchpatch { - name = "dhall-nix-hnix-0.16.patch"; - url = "https://github.com/dhall-lang/dhall-haskell/commit/49b9b3e3ce1718a89773c2b1bfa3c2af1a6e8752.patch"; - sha256 = "12sh5md81nlhyzzkmf7jrll3w1rvg2j48m57hfyvjn8has9c4gw6"; - stripLen = 1; - includes = [ "dhall-nix.cabal" "src/Dhall/Nix.hs" ]; - }) - ] ++ drv.patches or []; - prePatch = drv.prePatch or "" + '' - ${pkgs.buildPackages.dos2unix}/bin/dos2unix *.cabal - ''; - }) super.dhall-nix); + dhall-json = self.generateOptparseApplicativeCompletions ["dhall-to-json" "dhall-to-yaml"] super.dhall-json; + # 2023-12-19: jailbreaks due to hnix-0.17 https://github.com/dhall-lang/dhall-haskell/pull/2559 + # until dhall-nix 1.1.26+, dhall-nixpkgs 1.0.10+ + dhall-nix = self.generateOptparseApplicativeCompletions [ "dhall-to-nix" ] (doJailbreak super.dhall-nix); + dhall-nixpkgs = self.generateOptparseApplicativeCompletions [ "dhall-to-nixpkgs" ] (doJailbreak super.dhall-nixpkgs); dhall-yaml = self.generateOptparseApplicativeCompletions ["dhall-to-yaml-ng" "yaml-to-dhall"] super.dhall-yaml; - dhall-nixpkgs = self.generateOptparseApplicativeCompletions [ "dhall-to-nixpkgs" ] - (overrideCabal (drv: { - # Allow hnix 0.16, needs unreleased bounds change - # https://github.com/dhall-lang/dhall-haskell/pull/2474 - jailbreak = assert drv.version == "1.0.9" && drv.revision == "1"; true; - }) super.dhall-nixpkgs); crypton-connection = super.crypton-connection.override { # requires tls >= 1.7 @@ -1246,13 +1246,17 @@ self: super: { http-client-tls = hprev.http-client-tls_0_3_6_3; # needs http-client-tls >= 0.3.6.2 http-download = dontCheck hprev.http-download_0_2_1_0; # needs http-download >= 0.2.1.0, tests access network optparse-applicative = hprev.optparse-applicative_0_18_1_0; # needs optparse-applicative >= 0.18.1.0 - pantry = dontCheck hprev.pantry_0_9_2; # needs pantry >= 0.9.2, tests access network + pantry = dontCheck hprev.pantry_0_9_3; # needs pantry >= 0.9.2, tests access network syb = dontCheck hprev.syb; # cyclic dependencies tar-conduit = hprev.tar-conduit_0_4_0; # pantry needs tar-conduit >= 0.4.0 temporary = dontCheck hprev.temporary; # cyclic dependencies })) ]; + hopenpgp-tools = super.hopenpgp-tools.override { + optparse-applicative = self.optparse-applicative_0_18_1_0; + }; + # musl fixes # dontCheck: use of non-standard strptime "%s" which musl doesn't support; only used in test unix-time = if pkgs.stdenv.hostPlatform.isMusl then dontCheck super.unix-time else super.unix-time; @@ -1318,12 +1322,30 @@ self: super: { testToolDepends = (drv.testToolDepends or []) ++ [pkgs.postgresql]; }) super.beam-postgres; + # PortMidi needs an environment variable to have ALSA find its plugins: + # https://github.com/NixOS/nixpkgs/issues/6860 + PortMidi = overrideCabal (drv: { + patches = (drv.patches or []) ++ [ ./patches/portmidi-alsa-plugins.patch ]; + postPatch = (drv.postPatch or "") + '' + substituteInPlace portmidi/pm_linux/pmlinuxalsa.c \ + --replace @alsa_plugin_dir@ "${pkgs.alsa-plugins}/lib/alsa-lib" + ''; + }) super.PortMidi; + # Fix for base >= 4.11 scat = overrideCabal (drv: { - patches = [(fetchpatch { - url = "https://github.com/redelmann/scat/pull/6.diff"; - sha256 = "07nj2p0kg05livhgp1hkkdph0j0a6lb216f8x348qjasy0lzbfhl"; - })]; + patches = [ + # Fix build with base >= 4.11 + (fetchpatch { + url = "https://github.com/redelmann/scat/commit/429f22944b7634b8789cb3805292bcc2b23e3e9f.diff"; + hash = "sha256-FLr1KfBaSYzI6MiZIBY1CkgAb5sThvvgjrSAN8EV0h4="; + }) + # Fix build with vector >= 0.13 + (fetchpatch { + url = "https://github.com/redelmann/scat/commit/e21cc9c17b5b605b5bc0aacad66d44bbe0beb8c4.diff"; + hash = "sha256-MifHb2EKZx8skOcs+2t54CzxAS4PaEC0OTEfq4yVXzk="; + }) + ]; }) super.scat; # Fix build with attr-2.4.48 (see #53716) @@ -1680,16 +1702,27 @@ self: super: { # - Patch can be removed on next package set bump (for v0.2.11) # 2023-06-26: Test failure: https://hydra.nixos.org/build/225081865 - update-nix-fetchgit = dontCheck (let deps = [ pkgs.git pkgs.nix pkgs.nix-prefetch-git ]; - in self.generateOptparseApplicativeCompletions [ "update-nix-fetchgit" ] (overrideCabal - (drv: { - buildTools = drv.buildTools or [ ] ++ [ pkgs.buildPackages.makeWrapper ]; - postInstall = drv.postInstall or "" + '' - wrapProgram "$out/bin/update-nix-fetchgit" --prefix 'PATH' ':' "${ - lib.makeBinPath deps - }" - ''; - }) (addTestToolDepends deps super.update-nix-fetchgit))); + update-nix-fetchgit = let + deps = [ pkgs.git pkgs.nix pkgs.nix-prefetch-git ]; + in lib.pipe super.update-nix-fetchgit [ + dontCheck + (self.generateOptparseApplicativeCompletions [ "update-nix-fetchgit" ]) + (overrideCabal (drv: { + buildTools = drv.buildTools or [ ] ++ [ pkgs.buildPackages.makeWrapper ]; + postInstall = drv.postInstall or "" + '' + wrapProgram "$out/bin/update-nix-fetchgit" --prefix 'PATH' ':' "${ + lib.makeBinPath deps + }" + ''; + })) + (addTestToolDepends deps) + # Patch for hnix compat. + (appendPatch (fetchpatch { + url = "https://github.com/expipiplus1/update-nix-fetchgit/commit/dfa34f9823e282aa8c5a1b8bc95ad8def0e8d455.patch"; + sha256 = "sha256-yBjn1gVihVTlLewKgJc2I9gEj8ViNBAmw0bcsb5rh1A="; + excludes = [ "cabal.project" ]; + })) + ]; # Raise version bounds: https://github.com/idontgetoutmuch/binary-low-level/pull/16 binary-strict = appendPatches [ @@ -1912,8 +1945,8 @@ self: super: { http-client-tls = self.http-client-tls_0_3_6_3; # pandoc depends on skylighting >= 0.14 - skylighting = self.skylighting_0_14; - skylighting-core = self.skylighting-core_0_14; + skylighting = self.skylighting_0_14_1; + skylighting-core = self.skylighting-core_0_14_1; }; in { pandoc-cli = super.pandoc-cli.overrideScope pandoc-cli-overlay; @@ -2176,6 +2209,22 @@ self: super: { gi-gtk-declarative = doJailbreak super.gi-gtk-declarative; gi-gtk-declarative-app-simple = doJailbreak super.gi-gtk-declarative-app-simple; + # Missing dependency on gi-cairo + # https://github.com/haskell-gi/haskell-gi/pull/420 + gi-vte = + overrideCabal + (oldAttrs: { + # This is implemented as a sed expression instead of pulling a patch + # from upstream because the gi-vte repo doesn't actually contain a + # gi-vte.cabal file. The gi-vte.cabal file is generated from metadata + # in the repo. + postPatch = (oldAttrs.postPatch or "") + '' + sed -i 's/\(gi-gtk == .*\),/\1, gi-cairo == 1.0.*,/' ./gi-vte.cabal + ''; + buildDepends = (oldAttrs.buildDepends or []) ++ [self.gi-cairo]; + }) + super.gi-vte; + # 2023-04-09: haskell-ci needs Cabal-syntax 3.10 # 2023-07-03: allow lattices-2.2, waiting on https://github.com/haskell-CI/haskell-ci/pull/664 haskell-ci = doJailbreak (super.haskell-ci.overrideScope (self: super: { @@ -2665,19 +2714,24 @@ self: super: { co-log-polysemy = doJailbreak super.co-log-polysemy; co-log-polysemy-formatting = doJailbreak super.co-log-polysemy-formatting; - # 2022-12-02: Needs newer postgrest package - # 2022-12-02: Hackage release lags behind actual releases: https://github.com/PostgREST/postgrest/issues/2275 - # 2022-12-02: Too strict bounds: https://github.com/PostgREST/postgrest/issues/2580 - # 2022-12-02: Tests require running postresql server - postgrest = dontCheck (doJailbreak (overrideSrc rec { - version = "10.1.1"; - src = pkgs.fetchFromGitHub { - owner = "PostgREST"; - repo = "postgrest"; - rev = "v${version}"; - sha256 = "sha256-ceSPBH+lzGU1OwjolcaE1BCpkKCJrvMU5G8TPeaJesM="; - }; - } super.postgrest)); + # 2023-12-20: Needs newer hasql-pool package and extra dependencies + postgrest = lib.pipe (super.postgrest.overrideScope (lself: lsuper: { + hasql-pool = lself.hasql-pool_0_10; + })) [ + (addBuildDepends [ self.extra self.fuzzyset_0_2_4 self.cache self.timeit ]) + # 2022-12-02: Too strict bounds: https://github.com/PostgREST/postgrest/issues/2580 + doJailbreak + # 2022-12-02: Hackage release lags behind actual releases: https://github.com/PostgREST/postgrest/issues/2275 + (overrideSrc rec { + version = "12.0.2"; + src = pkgs.fetchFromGitHub { + owner = "PostgREST"; + repo = "postgrest"; + rev = "v${version}"; + hash = "sha256-fpGeL8R6hziEtIgHUMfWLF7JAjo3FDYQw3xPSeQH+to="; + }; + }) + ]; html-charset = dontCheck super.html-charset; @@ -2757,10 +2811,10 @@ self: super: { # Both of these need specific versions of ghc-lib-parser, the minor releases # seem to be tied. ghc-syntax-highlighter_0_0_10_0 = super.ghc-syntax-highlighter_0_0_10_0.overrideScope(self: super: { - ghc-lib-parser = self.ghc-lib-parser_9_6_3_20231014; + ghc-lib-parser = self.ghc-lib-parser_9_6_3_20231121; }); ghc-syntax-highlighter_0_0_11_0 = super.ghc-syntax-highlighter_0_0_11_0.overrideScope(self: super: { - ghc-lib-parser = self.ghc-lib-parser_9_8_1_20231009; + ghc-lib-parser = self.ghc-lib-parser_9_8_1_20231121; }); # Needs a matching version of ipython-kernel and a @@ -2771,4 +2825,8 @@ self: super: { ghc-syntax-highlighter = self.ghc-syntax-highlighter_0_0_10_0; }); + # 2024-01-01: Too strict bounds on megaparsec + # Fixed in 0.2.8: https://github.com/PostgREST/configurator-pg/pull/20 + configurator-pg = doJailbreak super.configurator-pg; + } // import ./configuration-tensorflow.nix {inherit pkgs haskellLib;} self super |