From ff9cba94f68428ebe31a057892ae32de85d76bfb Mon Sep 17 00:00:00 2001 From: Mathieu Boespflug Date: Sun, 17 Jan 2016 20:59:20 +0100 Subject: haskell: Rename file where buildStackProject is defined. --- .../haskell-modules/generic-stack-builder.nix | 40 ++++++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 pkgs/development/haskell-modules/generic-stack-builder.nix (limited to 'pkgs/development/haskell-modules/generic-stack-builder.nix') diff --git a/pkgs/development/haskell-modules/generic-stack-builder.nix b/pkgs/development/haskell-modules/generic-stack-builder.nix new file mode 100644 index 0000000000000..80b7020395578 --- /dev/null +++ b/pkgs/development/haskell-modules/generic-stack-builder.nix @@ -0,0 +1,40 @@ +{ stdenv, ghc, pkgconfig, glibcLocales }: + +with stdenv.lib; + +{ buildInputs ? [] +, extraArgs ? [] +, LD_LIBRARY_PATH ? "" +, ... +}@args: + +stdenv.mkDerivation (args // { + + buildInputs = + buildInputs ++ + optional stdenv.isLinux glibcLocales ++ + [ ghc pkgconfig ]; + + STACK_IN_NIX_SHELL=1; + STACK_IN_NIX_EXTRA_ARGS = + concatMap (pkg: ["--extra-lib-dirs=${pkg}/lib" + "--extra-include-dirs=${pkg}/include"]) buildInputs ++ + extraArgs; + + # XXX: workaround for https://ghc.haskell.org/trac/ghc/ticket/11042. + LD_LIBRARY_PATH = "${makeLibraryPath buildInputs}:${LD_LIBRARY_PATH}"; + + preferLocalBuild = true; + + configurePhase = args.configurePhase or "stack setup"; + + buildPhase = args.buildPhase or "stack build"; + + checkPhase = args.checkPhase or "stack test"; + + doCheck = args.doCheck or true; + + installPhase = args.installPhase or '' + stack --local-bin-path=$out/bin build --copy-bins + ''; +}) -- cgit 1.4.1