diff --git a/pkgs/development/haskell-modules/configuration-common.nix b/pkgs/development/haskell-modules/configuration-common.nix index beb299cb3fbf..1ec1d5d34451 100644 --- a/pkgs/development/haskell-modules/configuration-common.nix +++ b/pkgs/development/haskell-modules/configuration-common.nix @@ -1291,6 +1291,10 @@ self: super: { ''; }) super.hpack; + # Upstream stack-0.15.7 is compiled with hpack-0.36.0, and we make sure to + # keep the same hpack version in Nixpkgs. + stack = super.stack.override { hpack = self.hpack_0_36_0; }; + # hslua has tests that break when using musl. # https://github.com/hslua/hslua/issues/106 hslua-core = if pkgs.stdenv.hostPlatform.isMusl then dontCheck super.hslua-core else super.hslua-core; diff --git a/pkgs/development/haskell-modules/configuration-hackage2nix/main.yaml b/pkgs/development/haskell-modules/configuration-hackage2nix/main.yaml index 3276c88ddf5f..2b2fdbcddd03 100644 --- a/pkgs/development/haskell-modules/configuration-hackage2nix/main.yaml +++ b/pkgs/development/haskell-modules/configuration-hackage2nix/main.yaml @@ -79,6 +79,7 @@ extra-packages: - hlint == 3.2.8 # 2022-09-21: needed for hls on ghc 8.8 - hlint == 3.4.1 # 2022-09-21: needed for hls with ghc-lib-parser 9.2 - hnix-store-core < 0.7 # 2023-12-11: required by hnix-store-remote 0.6 + - hpack == 0.36.0 # 2024-07-27: required for stack-2.15.7 to match upstream stack release - hspec < 2.8 # 2022-04-07: Needed for tasty-hspec 1.1.6 - hspec-core < 2.8 # 2022-04-07: Needed for tasty-hspec 1.1.6 - hspec-discover < 2.8 # 2022-04-07: Needed for tasty-hspec 1.1.6 diff --git a/pkgs/development/haskell-modules/hackage-packages.nix b/pkgs/development/haskell-modules/hackage-packages.nix index 2acf46ad9d4a..9880b4545de1 100644 --- a/pkgs/development/haskell-modules/hackage-packages.nix +++ b/pkgs/development/haskell-modules/hackage-packages.nix @@ -156937,6 +156937,48 @@ self: { mainProgram = "hp2pretty"; }) {}; + "hpack_0_36_0" = callPackage + ({ mkDerivation, aeson, base, bifunctors, bytestring, Cabal + , containers, crypton, deepseq, directory, filepath, Glob, hspec + , hspec-discover, http-client, http-client-tls, http-types, HUnit + , infer-license, interpolate, mockery, mtl, pretty, QuickCheck + , scientific, template-haskell, temporary, text, transformers + , unordered-containers, vector, yaml + }: + mkDerivation { + pname = "hpack"; + version = "0.36.0"; + sha256 = "0ypaagr7a5bvziybbzr3b4lixs3dv6fdkjj3lq7h71z51wd4xpm0"; + revision = "1"; + editedCabalFile = "1zh5rsf38xmwp7lf80iifrhnkl80lri4xzlhz2n5df3vc0dqzya8"; + isLibrary = true; + isExecutable = true; + libraryHaskellDepends = [ + aeson base bifunctors bytestring Cabal containers crypton deepseq + directory filepath Glob http-client http-client-tls http-types + infer-license mtl pretty scientific text transformers + unordered-containers vector yaml + ]; + executableHaskellDepends = [ + aeson base bifunctors bytestring Cabal containers crypton deepseq + directory filepath Glob http-client http-client-tls http-types + infer-license mtl pretty scientific text transformers + unordered-containers vector yaml + ]; + testHaskellDepends = [ + aeson base bifunctors bytestring Cabal containers crypton deepseq + directory filepath Glob hspec http-client http-client-tls + http-types HUnit infer-license interpolate mockery mtl pretty + QuickCheck scientific template-haskell temporary text transformers + unordered-containers vector yaml + ]; + testToolDepends = [ hspec-discover ]; + description = "A modern format for Haskell packages"; + license = lib.licenses.mit; + hydraPlatforms = lib.platforms.none; + mainProgram = "hpack"; + }) {}; + "hpack" = callPackage ({ mkDerivation, aeson, base, bifunctors, bytestring, Cabal , containers, crypton, deepseq, directory, filepath, Glob, hspec