biglybt: 3.5.0.0 -> 3.6.0.0
[NixPkgs.git] / pkgs / development / tools / misc / sqitch / default.nix
blob612ef223e67bec66decbabc1077432af344e4258
1 { stdenv
2 , lib
3 , perlPackages
4 , makeWrapper
5 , shortenPerlShebang
6 , mysqlSupport ? false
7 , postgresqlSupport ? false
8 , templateToolkitSupport ? false
9 }:
11 let
12   sqitch = perlPackages.AppSqitch;
13   modules = with perlPackages; [ AlgorithmBackoff ]
14     ++ lib.optional mysqlSupport DBDmysql
15     ++ lib.optional postgresqlSupport DBDPg
16     ++ lib.optional templateToolkitSupport TemplateToolkit;
19 stdenv.mkDerivation {
20   pname = "sqitch";
21   version = sqitch.version;
23   nativeBuildInputs = [ makeWrapper ] ++ lib.optional stdenv.isDarwin shortenPerlShebang;
25   src = sqitch;
26   dontBuild = true;
28   installPhase = ''
29     mkdir -p $out/bin
30     for d in bin/sqitch etc lib share ; do
31       # make sure dest alreay exists before symlink
32       # this prevents installing a broken link into the path
33       if [ -e ${sqitch}/$d ]; then
34         ln -s ${sqitch}/$d $out/$d
35       fi
36     done
37   '' + lib.optionalString stdenv.isDarwin ''
38     shortenPerlShebang $out/bin/sqitch
39   '';
40   dontStrip = true;
41   postFixup = ''
42     wrapProgram $out/bin/sqitch --prefix PERL5LIB : ${lib.escapeShellArg (perlPackages.makeFullPerlPath modules)}
43   '';
45   meta = {
46     inherit (sqitch.meta) description homepage license platforms;
47     mainProgram = "sqitch";
48   };