at 16.09-beta 1.1 kB view raw
1{ stdenv, ghc, pkgconfig, glibcLocales }: 2 3with stdenv.lib; 4 5{ buildInputs ? [] 6, extraArgs ? [] 7, LD_LIBRARY_PATH ? [] 8, ghc ? ghc 9, ... 10}@args: 11 12stdenv.mkDerivation (args // { 13 14 buildInputs = 15 buildInputs ++ 16 optional stdenv.isLinux glibcLocales ++ 17 [ ghc pkgconfig ]; 18 19 STACK_PLATFORM_VARIANT="nix"; 20 STACK_IN_NIX_SHELL=1; 21 STACK_IN_NIX_EXTRA_ARGS = 22 concatMap (pkg: ["--extra-lib-dirs=${getLib pkg}/lib" 23 "--extra-include-dirs=${getDev pkg}/include"]) buildInputs ++ 24 extraArgs; 25 26 # XXX: workaround for https://ghc.haskell.org/trac/ghc/ticket/11042. 27 LD_LIBRARY_PATH = makeLibraryPath (LD_LIBRARY_PATH ++ buildInputs); 28 # ^^^ Internally uses `getOutput "lib"` (equiv. to getLib) 29 30 preferLocalBuild = true; 31 32 configurePhase = args.configurePhase or "stack setup"; 33 34 buildPhase = args.buildPhase or "stack build"; 35 36 checkPhase = args.checkPhase or "stack test"; 37 38 doCheck = args.doCheck or true; 39 40 installPhase = args.installPhase or '' 41 stack --local-bin-path=$out/bin build --copy-bins 42 ''; 43})