Skip to content

Instantly share code, notes, and snippets.

@LnL7
Last active August 5, 2017 15:45
Show Gist options
  • Save LnL7/989423777b599936b36567e08056139c to your computer and use it in GitHub Desktop.
Save LnL7/989423777b599936b36567e08056139c to your computer and use it in GitHub Desktop.
diff --git a/pkgs/development/haskell-modules/configuration-ghc-8.2.x.nix b/pkgs/development/haskell-modules/configuration-ghc-8.2.x.nix
index d1e22d881c..3383a80d51 100644
--- a/pkgs/development/haskell-modules/configuration-ghc-8.2.x.nix
+++ b/pkgs/development/haskell-modules/configuration-ghc-8.2.x.nix
@@ -1,4 +1,4 @@
-{ pkgs, haskellLib }:
+{ pkgs, stdenv, fetchurl, haskellLib }:
with haskellLib;
@@ -37,7 +37,48 @@ self: super: {
xhtml = null;
# cabal-install can use the native Cabal library.
- cabal-install = super.cabal-install.override { Cabal = null; };
+ # cabal-install = super.cabal-install.override { Cabal = null; };
+
+ cabal-install = self.callPackage
+ ({ mkDerivation, array, async, base, base16-bytestring, binary
+ , bytestring, Cabal, containers, cryptohash-sha256, directory
+ , filepath, hackage-security, hashable, HTTP, mtl, network
+ , network-uri, pretty, process, QuickCheck, random, regex-posix
+ , stm, tagged, tar, tasty, tasty-hunit, tasty-quickcheck, time
+ , unix, zlib
+ }:
+ mkDerivation {
+ pname = "cabal-install";
+ version = "2.0.0.0";
+ isLibrary = false;
+ isExecutable = true;
+ executableHaskellDepends = [
+ array async base base16-bytestring binary bytestring Cabal
+ containers cryptohash-sha256 directory filepath hackage-security
+ hashable HTTP mtl network network-uri pretty process random stm tar
+ time unix zlib
+ ];
+ testHaskellDepends = [
+ array async base binary bytestring Cabal containers directory
+ filepath hackage-security hashable HTTP mtl network network-uri
+ pretty process QuickCheck random regex-posix stm tagged tar tasty
+ tasty-hunit tasty-quickcheck time unix zlib
+ ];
+ doCheck = false;
+ postInstall = ''
+ mkdir $out/etc
+ mv bash-completion $out/etc/bash_completion.d
+ '';
+ homepage = "http://www.haskell.org/cabal/";
+ description = "The command-line interface for Cabal and Hackage";
+ license = stdenv.lib.licenses.bsd3;
+ maintainers = with stdenv.lib.maintainers; [ peti ];
+
+ src = self.ghc.src;
+ postUnpack = ''
+ sourceRoot=$sourceRoot/libraries/Cabal/cabal-install
+ '';
+ }) { Cabal = null; };
# jailbreak-cabal doesn't seem to work right with the native Cabal version.
jailbreak-cabal = pkgs.haskell.packages.ghc802.jailbreak-cabal;
@@ -63,4 +104,7 @@ self: super: {
ChasingBottoms = doJailbreak super.ChasingBottoms;
hashable = doJailbreak super.hashable;
+ # FIXME?
+ hackage-security = doJailbreak super.hackage-security;
+
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment