nixpkgs mirror (for testing)
github.com/NixOS/nixpkgs
nix
1{
2 stdenv,
3 lib,
4 perlPackages,
5 makeWrapper,
6 mysqlSupport ? false,
7 postgresqlSupport ? false,
8 sqliteSupport ? false,
9 templateToolkitSupport ? false,
10}:
11
12let
13 sqitch = perlPackages.AppSqitch;
14 modules =
15 with perlPackages;
16 [ AlgorithmBackoff ]
17 ++ lib.optional mysqlSupport DBDmysql
18 ++ lib.optional postgresqlSupport DBDPg
19 ++ lib.optional sqliteSupport DBDSQLite
20 ++ lib.optional templateToolkitSupport TemplateToolkit;
21in
22
23stdenv.mkDerivation {
24 pname = "sqitch";
25 version = sqitch.version;
26
27 nativeBuildInputs = [ makeWrapper ];
28
29 src = sqitch;
30 dontBuild = true;
31
32 installPhase = ''
33 mkdir -p $out/bin
34 for d in bin/sqitch etc lib share ; do
35 # make sure dest alreay exists before symlink
36 # this prevents installing a broken link into the path
37 if [ -e ${sqitch}/$d ]; then
38 ln -s ${sqitch}/$d $out/$d
39 fi
40 done
41 '';
42 dontStrip = true;
43 postFixup = ''
44 wrapProgram $out/bin/sqitch --prefix PERL5LIB : ${lib.escapeShellArg (perlPackages.makeFullPerlPath modules)}
45 '';
46
47 meta = {
48 inherit (sqitch.meta)
49 description
50 homepage
51 license
52 platforms
53 ;
54 mainProgram = "sqitch";
55 };
56}