From ae8a8b5deb305e2e8884d9f34a91a7ab28b62b1b Mon Sep 17 00:00:00 2001 From: Shea Levy <shea@shealevy.com> Date: Sat, 22 Mar 2014 22:40:35 -0400 Subject: [PATCH] Add buildLocalCabal helper function --- pkgs/top-level/haskell-packages.nix | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/pkgs/top-level/haskell-packages.nix b/pkgs/top-level/haskell-packages.nix index 16405f53da67..5b39974c3158 100644 --- a/pkgs/top-level/haskell-packages.nix +++ b/pkgs/top-level/haskell-packages.nix @@ -2893,6 +2893,25 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x cabal2nix = callPackage ../development/tools/haskell/cabal2nix {}; + # Build a cabal package given a local .cabal file + buildLocalCabal = src: name: let + cabalExpr = pkgs.stdenv.mkDerivation { + name = "${name}.nix"; + + LANG = "en_US.UTF-8"; + + LOCALE_ARCHIVE = "${pkgs.glibcLocales}/lib/locale/locale-archive"; + + buildCommand = '' + ${self.cabal2nix}/bin/cabal2nix ${src + "/${name}.cabal"} --sha256=FILTERME \ + | grep -v FILTERME | sed \ + -e 's/licenses.proprietary/licenses.unfree/' \ + -e 's/{ cabal/{ cabal, src/' \ + -e 's/pname = \([^\n]*\)/pname = \1\n inherit src;/' > $out + ''; + }; + in callPackage cabalExpr { inherit src; }; + cabalDev = callPackage ../development/tools/haskell/cabal-dev {}; cabal2Ghci = callPackage ../development/tools/haskell/cabal2ghci {};