summary refs log tree commit diff
path: root/pkgs/development/haskell-modules
diff options
context:
space:
mode:
authorsternenseemann <sternenseemann@systemli.org>2023-03-14 14:00:59 +0100
committersternenseemann <sternenseemann@systemli.org>2023-03-14 14:01:57 +0100
commite4f591eae9293974bf381caa0f6bc12bd328d86d (patch)
treebe23166c17baa6af0d14d47264aeb4563b71d8db /pkgs/development/haskell-modules
parent38d703bdb743363e57749c26e87e1008e9777a86 (diff)
downloadnixpkgs-e4f591eae9293974bf381caa0f6bc12bd328d86d.tar
nixpkgs-e4f591eae9293974bf381caa0f6bc12bd328d86d.tar.gz
nixpkgs-e4f591eae9293974bf381caa0f6bc12bd328d86d.tar.bz2
nixpkgs-e4f591eae9293974bf381caa0f6bc12bd328d86d.tar.lz
nixpkgs-e4f591eae9293974bf381caa0f6bc12bd328d86d.tar.xz
nixpkgs-e4f591eae9293974bf381caa0f6bc12bd328d86d.tar.zst
nixpkgs-e4f591eae9293974bf381caa0f6bc12bd328d86d.zip
haskellPackages.Cabal{,-syntax}_3_8_1_0: keep
Latest version is 3.10.1.0 now, but let's keep 3.8 around (for now at
least). We will likely soon have moved a lot of stuff over to 3.10
though.
Diffstat (limited to 'pkgs/development/haskell-modules')
-rw-r--r--pkgs/development/haskell-modules/configuration-common.nix8
-rw-r--r--pkgs/development/haskell-modules/configuration-hackage2nix/main.yaml6
-rw-r--r--pkgs/development/haskell-modules/configuration-nix.nix8
-rw-r--r--pkgs/development/haskell-modules/hackage-packages.nix42
4 files changed, 54 insertions, 10 deletions
diff --git a/pkgs/development/haskell-modules/configuration-common.nix b/pkgs/development/haskell-modules/configuration-common.nix
index 762cc3b1005..a2f2fdd8e34 100644
--- a/pkgs/development/haskell-modules/configuration-common.nix
+++ b/pkgs/development/haskell-modules/configuration-common.nix
@@ -20,6 +20,14 @@ with haskellLib;
 
 self: super: {
 
+  # 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-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;
+  }));
+
   # Make sure that Cabal 3.10.* can be built as-is
   Cabal_3_10_1_0 = doDistribute (super.Cabal_3_10_1_0.override ({
     Cabal-syntax = self.Cabal-syntax_3_10_1_0;
diff --git a/pkgs/development/haskell-modules/configuration-hackage2nix/main.yaml b/pkgs/development/haskell-modules/configuration-hackage2nix/main.yaml
index f98916e76cc..927da812186 100644
--- a/pkgs/development/haskell-modules/configuration-hackage2nix/main.yaml
+++ b/pkgs/development/haskell-modules/configuration-hackage2nix/main.yaml
@@ -48,9 +48,11 @@ default-package-overrides:
 extra-packages:
   - Cabal == 2.2.*                      # required for jailbreak-cabal etc.
   - Cabal == 2.4.*                      # required for cabal-install etc.
-  - Cabal == 3.2.*                      # required for cabal-install etc.
+  - Cabal == 3.2.*                      # required for cabal2spec
   - Cabal == 3.4.*                      # required for cabal-install etc.
-  - Cabal == 3.6.*                      # required for cabal-install-parsers etc.
+  - Cabal == 3.6.*
+  - Cabal-syntax == 3.8.*               # required for cabal-install{,-parsers}
+  - Cabal == 3.8.*                      # required for cabal-install{,-parsers}
   - Diff < 0.4                          # required by liquidhaskell-0.8.10.2: https://github.com/ucsd-progsys/liquidhaskell/issues/1729
   - aeson < 2                           # required by pantry-0.5.2
   - apply-refact == 0.9.*               # 2022-12-12: needed for GHC < 9.2
diff --git a/pkgs/development/haskell-modules/configuration-nix.nix b/pkgs/development/haskell-modules/configuration-nix.nix
index 6e0a74ff0e1..9e1037bbf5a 100644
--- a/pkgs/development/haskell-modules/configuration-nix.nix
+++ b/pkgs/development/haskell-modules/configuration-nix.nix
@@ -1052,14 +1052,6 @@ self: super: builtins.intersectAttrs super {
   # Wants to execute cabal-install to (re-)build itself
   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-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
   # automatically. Instead we need to use the `cabal man`
diff --git a/pkgs/development/haskell-modules/hackage-packages.nix b/pkgs/development/haskell-modules/hackage-packages.nix
index a33bd14bc03..5627680db39 100644
--- a/pkgs/development/haskell-modules/hackage-packages.nix
+++ b/pkgs/development/haskell-modules/hackage-packages.nix
@@ -2903,6 +2903,28 @@ self: {
        hydraPlatforms = lib.platforms.none;
      }) {};
 
+  "Cabal_3_8_1_0" = callPackage
+    ({ mkDerivation, array, base, bytestring, Cabal-syntax, containers
+     , deepseq, directory, filepath, mtl, parsec, pretty, process, text
+     , time, transformers, unix
+     }:
+     mkDerivation {
+       pname = "Cabal";
+       version = "3.8.1.0";
+       sha256 = "0236fddzhalsr2gjbjsk92rgh8866fks28r04g8fbmzkqbkcnr3l";
+       revision = "2";
+       editedCabalFile = "179y365wh9zgzkcn4n6m4vfsfy6vk4apajv8jpys057z3a71s4kp";
+       setupHaskellDepends = [ mtl parsec ];
+       libraryHaskellDepends = [
+         array base bytestring Cabal-syntax containers deepseq directory
+         filepath mtl parsec pretty process text time transformers unix
+       ];
+       doCheck = false;
+       description = "A framework for packaging Haskell software";
+       license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "Cabal_3_10_1_0" = callPackage
     ({ mkDerivation, array, base, bytestring, Cabal-syntax, containers
      , deepseq, directory, filepath, mtl, parsec, pretty, process, text
@@ -2961,6 +2983,26 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
+  "Cabal-syntax_3_8_1_0" = callPackage
+    ({ mkDerivation, array, base, binary, bytestring, containers
+     , deepseq, directory, filepath, mtl, parsec, pretty, text, time
+     , transformers, unix
+     }:
+     mkDerivation {
+       pname = "Cabal-syntax";
+       version = "3.8.1.0";
+       sha256 = "03yfk3b2sjmqpxmvx3mj185nifiaqapvc8hmbx4825z0kyqxvs07";
+       revision = "3";
+       editedCabalFile = "14zm8h7sfawysr9g37in8by8aj1p87fywj83hmshp8n6lrxr6bgd";
+       libraryHaskellDepends = [
+         array base binary bytestring containers deepseq directory filepath
+         mtl parsec pretty text time transformers unix
+       ];
+       description = "A library for working with .cabal files";
+       license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "Cabal-syntax_3_10_1_0" = callPackage
     ({ mkDerivation, array, base, binary, bytestring, containers
      , deepseq, directory, filepath, mtl, parsec, pretty, text, time