From dcd037c14aabfa879a92eb15556dd7208f8ed50a Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Tue, 10 Jul 2018 16:06:19 +0200 Subject: 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. --- .../haskell-modules/configuration-common.nix | 33 ++++++++-------------- 1 file changed, 12 insertions(+), 21 deletions(-) (limited to 'pkgs/development/haskell-modules/configuration-common.nix') 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: { -- cgit 1.4.1