about summary refs log tree commit diff
diff options
context:
space:
mode:
authorPeter Simons <simons@cryp.to>2015-04-23 14:11:07 +0200
committerPeter Simons <simons@cryp.to>2015-04-23 14:12:43 +0200
commit019b18722d1c7f2bcdb296c907a5a8d2ee9c1401 (patch)
tree9f735e2951f34b54885ff1e556cb7ec7eb5ccb86
parentc2096657634aea99464e0a480989209285228789 (diff)
downloadnixlib-019b18722d1c7f2bcdb296c907a5a8d2ee9c1401.tar
nixlib-019b18722d1c7f2bcdb296c907a5a8d2ee9c1401.tar.gz
nixlib-019b18722d1c7f2bcdb296c907a5a8d2ee9c1401.tar.bz2
nixlib-019b18722d1c7f2bcdb296c907a5a8d2ee9c1401.tar.lz
nixlib-019b18722d1c7f2bcdb296c907a5a8d2ee9c1401.tar.xz
nixlib-019b18722d1c7f2bcdb296c907a5a8d2ee9c1401.tar.zst
nixlib-019b18722d1c7f2bcdb296c907a5a8d2ee9c1401.zip
cabal2nix: bump to latest version and wrap it to include nix-prefetch-scripts in $PATH
-rw-r--r--pkgs/development/haskell-modules/configuration-common.nix33
-rw-r--r--pkgs/development/tools/haskell/cabal2nix/default.nix55
-rw-r--r--pkgs/top-level/all-packages.nix2
-rw-r--r--pkgs/top-level/haskell-packages.nix2
4 files changed, 41 insertions, 51 deletions
diff --git a/pkgs/development/haskell-modules/configuration-common.nix b/pkgs/development/haskell-modules/configuration-common.nix
index bce6f31f68ea..d144b3c4d457 100644
--- a/pkgs/development/haskell-modules/configuration-common.nix
+++ b/pkgs/development/haskell-modules/configuration-common.nix
@@ -773,36 +773,7 @@ self: super: {
   # Jailbreaking breaks the build.
   QuickCheck_2_8_1 = dontJailbreak super.QuickCheck_2_8_1;
 
-} // {
-
-  # Not on Hackage.
-  cabal2nix = self.mkDerivation {
-    pname = "cabal2nix";
-    version = "20150414";
-    src = pkgs.fetchgit {
-      url = "http://github.com/NixOS/cabal2nix.git";
-      rev = "d08c2970e9c74948e81e7b926b64e5d7d1dd07b7";
-      sha256 = "1rqibfhvkvmfxj9k92brz87b4l40w8d7mq1s7zgfnrmay6h0956a";
-      deepClone = true;
-    };
-    isLibrary = false;
-    isExecutable = true;
-    buildDepends = with self; [
-      aeson base bytestring Cabal containers deepseq-generics directory
-      filepath hackage-db lens monad-par monad-par-extras mtl pretty
-      process regex-posix SHA split transformers utf8-string cartel
-    ] ++ pkgs.lib.optional (pkgs.lib.versionOlder self.ghc.version "7.10") prettyclass;
-    testDepends = with self; [
-      aeson base bytestring Cabal containers deepseq deepseq-generics
-      directory doctest filepath hackage-db hspec lens monad-par
-      monad-par-extras mtl pretty process QuickCheck
-      regex-posix SHA split transformers utf8-string
-    ];
-    buildTools = [ pkgs.gitMinimal ];
-    preConfigure = "runhaskell $setupCompileFlags generate-cabal-file >cabal2nix.cabal";
-    homepage = "http://github.com/NixOS/cabal2nix";
-    description = "Convert Cabal files into Nix build instructions";
-    license = pkgs.stdenv.lib.licenses.bsd3;
-  };
+  # Override the obsolete version from Hackage with our more up-to-date copy.
+  cabal2nix = pkgs.cabal2nix;
 
 }
diff --git a/pkgs/development/tools/haskell/cabal2nix/default.nix b/pkgs/development/tools/haskell/cabal2nix/default.nix
index 5d11e72e2ea3..6533debeb19f 100644
--- a/pkgs/development/tools/haskell/cabal2nix/default.nix
+++ b/pkgs/development/tools/haskell/cabal2nix/default.nix
@@ -1,25 +1,42 @@
-# This file was auto-generated by cabal2nix. Please do NOT edit manually!
-
-{ cabal, Cabal, deepseq, doctest, filepath, hackageDb, mtl
-, regexPosix, transformers
+{ mkDerivation, fetchgit, aeson, base, bytestring, Cabal, containers
+, deepseq, deepseq-generics, directory, doctest, filepath, gitMinimal
+, hackage-db, hspec, lens, monad-par, monad-par-extras, mtl, pretty
+, process, QuickCheck, regex-posix, SHA, split, stdenv, transformers
+, utf8-string, cartel, nix-prefetch-scripts, makeWrapper
 }:
 
-cabal.mkDerivation (self: {
+mkDerivation rec {
   pname = "cabal2nix";
-  version = "1.73";
-  sha256 = "1nskcr8k5a8wm9q5is0b1kww574q2nq45f16agya8z44hgk97xiv";
-  isLibrary = false;
+  version = "20150423";
+  src = fetchgit {
+    url = "http://github.com/NixOS/cabal2nix.git";
+    rev = "8cfe61c222bd2750ef29f991a2a3ee353444e458";
+    sha256 = "10g7ppcflg1sgkxg8cp90p0mfqyk1ly375hicrb5s58m5w8ij086";
+    deepClone = true;
+  };
   isExecutable = true;
+  enableSharedLibraries = false;
+  enableSharedExecutables = false;
   buildDepends = [
-    Cabal deepseq filepath hackageDb mtl regexPosix transformers
+    aeson base bytestring Cabal containers deepseq-generics directory
+    filepath hackage-db lens monad-par monad-par-extras mtl pretty
+    process regex-posix SHA split transformers utf8-string cartel
   ];
-  testDepends = [ doctest ];
-  doCheck = self.stdenv.lib.versionOlder "7.8" self.ghc.version;
-  meta = {
-    homepage = "http://github.com/NixOS/cabal2nix";
-    description = "Convert Cabal files into Nix build instructions";
-    license = self.stdenv.lib.licenses.bsd3;
-    platforms = self.ghc.meta.platforms;
-    maintainers = with self.stdenv.lib.maintainers; [ simons ];
-  };
-})
+  testDepends = [
+    aeson base bytestring Cabal containers deepseq deepseq-generics
+    directory doctest filepath hackage-db hspec lens monad-par
+    monad-par-extras mtl pretty process QuickCheck regex-posix SHA
+    split transformers utf8-string
+  ];
+  buildTools = [ gitMinimal makeWrapper ];
+  preConfigure = "runhaskell $setupCompileFlags generate-cabal-file --release >cabal2nix.cabal";
+  postInstall = ''
+    exe=$out/libexec/${pname}-${version}/cabal2nix
+    install -D $out/bin/cabal2nix $exe
+    rm -rf $out/{bin,lib,share}
+    makeWrapper $exe $out/bin/cabal2nix --prefix PATH ":" "${nix-prefetch-scripts}/bin"
+  '';
+  homepage = "http://github.com/NixOS/cabal2nix/";
+  description = "Convert Cabal files into Nix build instructions";
+  license = stdenv.lib.licenses.bsd3;
+}
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index db2314976efa..3bfa25de6f3f 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -702,6 +702,8 @@ let
 
   byobu = callPackage ../tools/misc/byobu { };
 
+  cabal2nix = haskellngPackages.callPackage ../development/tools/haskell/cabal2nix {};
+
   capstone = callPackage ../development/libraries/capstone { };
 
   catdoc = callPackage ../tools/text/catdoc { };
diff --git a/pkgs/top-level/haskell-packages.nix b/pkgs/top-level/haskell-packages.nix
index 82550b9c9318..512d4b74dfb4 100644
--- a/pkgs/top-level/haskell-packages.nix
+++ b/pkgs/top-level/haskell-packages.nix
@@ -3157,7 +3157,7 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in
 
   cabalDb = callPackage ../development/tools/haskell/cabal-db {};
 
-  cabal2nix = callPackage ../development/tools/haskell/cabal2nix {};
+  cabal2nix = pkgs.cabal2nix;
 
   # Build a cabal package given a local .cabal file
   buildLocalCabalWithArgs = { src