summary refs log tree commit diff
path: root/pkgs/development/haskell-modules/configuration-common.nix
diff options
context:
space:
mode:
authorPeter Simons <simons@cryp.to>2018-07-10 16:06:19 +0200
committerPeter Simons <simons@cryp.to>2018-07-10 20:10:27 +0200
commitdcd037c14aabfa879a92eb15556dd7208f8ed50a (patch)
tree9f0e26118b9dc6b16bae0b70815f31db06fe4a4a /pkgs/development/haskell-modules/configuration-common.nix
parent1cc53afdd245dabf4ebb4c3ca1976996d6cd1039 (diff)
downloadnixlib-dcd037c14aabfa879a92eb15556dd7208f8ed50a.tar
nixlib-dcd037c14aabfa879a92eb15556dd7208f8ed50a.tar.gz
nixlib-dcd037c14aabfa879a92eb15556dd7208f8ed50a.tar.bz2
nixlib-dcd037c14aabfa879a92eb15556dd7208f8ed50a.tar.lz
nixlib-dcd037c14aabfa879a92eb15556dd7208f8ed50a.tar.xz
nixlib-dcd037c14aabfa879a92eb15556dd7208f8ed50a.tar.zst
nixlib-dcd037c14aabfa879a92eb15556dd7208f8ed50a.zip
git-annex: fix the build in LTS 12.x
git-annex depends on 'esqueleto', which is not actively maintained. As a
result, 'esqueleto' fails to compile with recent versions of 'persistent',
which in turns requires us to link with old versions of 'conduit' and so on and
so forth. It's a disaster. I wasted several hours of my life trying to make
that build work, but eventually I gave up and dropped support for S3 and for
the Web app from git-annex to get rid of the most problematic dependencies.
That reduced version of git-annex is still difficult enough to compile, but at
least it's possible.
Diffstat (limited to 'pkgs/development/haskell-modules/configuration-common.nix')
-rw-r--r--pkgs/development/haskell-modules/configuration-common.nix33
1 files changed, 12 insertions, 21 deletions
diff --git a/pkgs/development/haskell-modules/configuration-common.nix b/pkgs/development/haskell-modules/configuration-common.nix
index 780aa57dc008..7ad592904fd7 100644
--- a/pkgs/development/haskell-modules/configuration-common.nix
+++ b/pkgs/development/haskell-modules/configuration-common.nix
@@ -81,35 +81,26 @@ self: super: {
 
   # The Hackage tarball is purposefully broken, because it's not intended to be, like, useful.
   # https://git-annex.branchable.com/bugs/bash_completion_file_is_missing_in_the_6.20160527_tarball_on_hackage/
-  git-annex = ((overrideCabal super.git-annex (drv: {
+  git-annex = (overrideSrc super.git-annex {
     src = pkgs.fetchgit {
-      name = "git-annex-${drv.version}-src";
+      name = "git-annex-${super.git-annex.version}-src";
       url = "git://git-annex.branchable.com/";
-      rev = "refs/tags/" + drv.version;
+      rev = "refs/tags/" + super.git-annex.version;
       sha256 = "0q9z5q7vrcqa831wni972kchcdivqp55x1z2fgmdp8jfq4pidvyb";
     };
-  })).overrideScope (self: super: {
-    aws = dontCheck (self.aws_0_18);
-    conduit = self.conduit_1_2_13_1;
-    conduit-extra = self.conduit-extra_1_2_3_2;
-    cryptonite-conduit = dontCheck super.cryptonite-conduit;  # test suite does not compile with old versions used here
-    html-conduit = self.html-conduit_1_2_1_2;
-    http-conduit = self.http-conduit_2_2_4;
-    persistent = self.persistent_2_7_3_1;
-    persistent-sqlite = self.persistent-sqlite_2_6_4;
-    resourcet = self.resourcet_1_1_11;
-    xml-conduit = self.xml-conduit_1_7_1_2;
-    yesod = self.yesod_1_4_5;
-    yesod-core = self.yesod-core_1_4_37_3;
-    yesod-form = self.yesod-form_1_4_16;
-    yesod-persistent = self.yesod-persistent_1_4_3;
-    yesod-static = self.yesod-static_1_5_3_1;
-    yesod-test = self.yesod-test_1_5_9_1;
-  })).override {
+  }).override {
     dbus = if pkgs.stdenv.isLinux then self.dbus else null;
     fdo-notify = if pkgs.stdenv.isLinux then self.fdo-notify else null;
     hinotify = if pkgs.stdenv.isLinux then self.hinotify else self.fsnotify;
   };
+  esqueleto = overrideSrc (addBuildDepend (dontCheck (dontHaddock super.esqueleto)) self.unliftio) {
+    src = pkgs.fetchFromGitHub {
+      owner = "bitemyapp";
+      repo = "esqueleto";
+      rev = "b81e0d951e510ebffca03c5a58658ad884cc6fbd";
+      sha256 = "0lz1qxms7cfg5p3j37inlych0r2fwhm8xbarcys3df9m7jy9nixa";
+    };
+  };
 
   # Fix test trying to access /home directory
   shell-conduit = (overrideCabal super.shell-conduit (drv: {