summary refs log tree commit diff
path: root/pkgs/development/haskell-modules/configuration-common.nix
diff options
context:
space:
mode:
authorsternenseemann <0rpkxez4ksa01gb3typccl0i@systemli.org>2021-05-12 13:14:33 +0200
committersternenseemann <0rpkxez4ksa01gb3typccl0i@systemli.org>2021-05-13 11:47:21 +0200
commitad52ecce408cb3331944a980d2cdff041435fef8 (patch)
tree876345e7a167f25d5e4190eda45100a8dcc90e3f /pkgs/development/haskell-modules/configuration-common.nix
parent52c8b2de4e0da703abc262ba2eb4c5fe747425b7 (diff)
downloadnixpkgs-ad52ecce408cb3331944a980d2cdff041435fef8.tar
nixpkgs-ad52ecce408cb3331944a980d2cdff041435fef8.tar.gz
nixpkgs-ad52ecce408cb3331944a980d2cdff041435fef8.tar.bz2
nixpkgs-ad52ecce408cb3331944a980d2cdff041435fef8.tar.lz
nixpkgs-ad52ecce408cb3331944a980d2cdff041435fef8.tar.xz
nixpkgs-ad52ecce408cb3331944a980d2cdff041435fef8.tar.zst
nixpkgs-ad52ecce408cb3331944a980d2cdff041435fef8.zip
haskellPackages.hnix: fix build with stackage relude and semialign
https://github.com/haskell-nix/hnix/pull/922 removed a few build-depends
from hnix.cabal which are still required until the following constraints
apply to stackage:

* relude >= 1.0.0.0
* semialign >= 1.2

Luckily, we can simply revert a few commits from master and add
semialign-indexed to resolve this without too much hassle nor
extra-packages (which may cause us trouble through propagation of a
newer relude).
Diffstat (limited to 'pkgs/development/haskell-modules/configuration-common.nix')
-rw-r--r--pkgs/development/haskell-modules/configuration-common.nix32
1 files changed, 31 insertions, 1 deletions
diff --git a/pkgs/development/haskell-modules/configuration-common.nix b/pkgs/development/haskell-modules/configuration-common.nix
index 2da8504e52b..e5a737dae3a 100644
--- a/pkgs/development/haskell-modules/configuration-common.nix
+++ b/pkgs/development/haskell-modules/configuration-common.nix
@@ -170,10 +170,40 @@ self: super: {
   # base bound
   digit = doJailbreak super.digit;
 
-  # 2020-06-05: HACK: does not pass own build suite - `dontCheck`
   hnix = generateOptparseApplicativeCompletion "hnix"
     (overrideCabal super.hnix (drv: {
+      # 2020-06-05: HACK: does not pass own build suite - `dontCheck`
       doCheck = false;
+      # 2021-05-12: Revert a few dependency cleanups which depend on release
+      # that are not in stackage yet:
+      # * Depend on semialign-indexed for Data.Semialign.Indexed
+      #   (remove when semialign >= 1.2 in stackage)
+      # * Readd dependencies to text and unordered-containers.
+      #   (remove when relude >= 1.0.0.0 is in stackage, see
+      #   https://github.com/haskell-nix/hnix/issues/933)
+      libraryHaskellDepends = [
+        self.semialign-indexed
+      ] ++ drv.libraryHaskellDepends;
+      patches = [
+        # depend on semialign-indexed again
+        (pkgs.fetchpatch {
+          url = "https://github.com/haskell-nix/hnix/commit/16fc342a4f2974f855968472252cd9274609f177.patch";
+          sha256 = "0gm4gy3jpn4dqnrhnqlsavfpw9c1j1xa8002v54knnlw6vpk9niy";
+          revert = true;
+        })
+        # depend on text again
+        (pkgs.fetchpatch {
+          url = "https://github.com/haskell-nix/hnix/commit/73057618576e86bb87dfd42f62b855d24bbdf469.patch";
+          sha256 = "03cyk96d5ad362i1pnz9bs8ifr84kpv8phnr628gys4j6a0bqwzc";
+          revert = true;
+        })
+        # depend on unordered-containers again
+        (pkgs.fetchpatch {
+          url = "https://github.com/haskell-nix/hnix/commit/70643481883ed448b51221a030a76026fb5eb731.patch";
+          sha256 = "0pqmijfkysjixg3gb4kmrqdif7s2saz8qi6k337jf15i0npzln8d";
+          revert = true;
+        })
+      ] ++ (drv.patches or []);
     }));
 
   # Fails for non-obvious reasons while attempting to use doctest.