Improved builder for Sqitch

This commit is contained in:
Robin Bate Boerop 2015-03-18 10:32:46 -03:00
parent 566cd9ba19
commit a3a98d7242
3 changed files with 21 additions and 23 deletions

View file

@ -1,20 +1,15 @@
{ stdenv, writeScript, makeWrapper, sqitchModule }:
stdenv.mkDerivation rec {
name = "sqitch-0.999";
buildInputs = [ makeWrapper ];
builder = writeScript (name + "-builder.sh") ''
. ${stdenv}/setup
{ name, stdenv, perl, makeWrapper, sqitchModule, databaseModule }:
stdenv.mkDerivation {
name = "${name}-${sqitchModule.version}";
buildInputs = [ perl makeWrapper sqitchModule databaseModule ];
unpackPhase = ":";
buildPhase = ":";
installPhase = ''
mkdir -p $out/bin
for d in bin/sqitch etc lib share ; do
ln -s ${sqitchModule}/$d $out/$d
done
fixupPhase
wrapProgram $out/bin/sqitch \
--prefix PERL5LIB : \
"$(for i in $(cat ${sqitchModule}/nix-support/propagated-native-build-inputs) ; do
echo -n "$i"/lib/perl5/site_perl:
done
echo ${sqitchModule}/lib/perl5/site_perl
)"
'';
dontStrip = true;
postFixup = "wrapProgram $out/bin/sqitch --prefix PERL5LIB : $PERL5LIB";
}

View file

@ -7816,8 +7816,10 @@ let
planetary_annihilation = callPackage ../games/planetaryannihilation { };
sqitch = callPackage ../development/tools/misc/sqitch {
inherit stdenv writeScript makeWrapper ;
sqitchPg = callPackage ../development/tools/misc/sqitch {
inherit stdenv perl makeWrapper;
name = "sqitch-pg";
databaseModule = perlPackages.DBDPg;
sqitchModule = perlPackages.AppSqitch;
};

View file

@ -219,8 +219,9 @@ let self = _self // overrides; _self = with self; {
};
};
AppSqitch = buildPerlModule {
name = "App-Sqitch-0.999";
AppSqitch = buildPerlModule rec {
version = "0.999";
name = "App-Sqitch-${version}";
src = fetchurl {
url = mirror://cpan/authors/id/D/DW/DWHEELER/App-Sqitch-0.999.tar.gz;
sha256 = "e7e02194a7b0c42fb4df046cd834d5eb99ff9a2c169f5c60a52c362e89351da6";
@ -235,11 +236,11 @@ let self = _self // overrides; _self = with self; {
IPCSystemSimple ListMoreUtils Moo PathClass PerlIOutf8_strict StringFormatter
StringShellQuote SubExporter TemplateTiny Throwable TryTiny TypeTiny URI
URIdb libintlperl namespaceautoclean
strictures ModuleRuntime DevelGlobalDestruction SubExporterProgressive
ImportInto ExporterTiny DataOptList ParamsUtil SubInstall RoleTiny
MooXTypesMooseLike ClassLoad ModuleImplementation ClassLoadXS
BHooksEndOfScope namespaceclean PackageStash SubIdentify
ClassMethodModifiers
# strictures ModuleRuntime DevelGlobalDestruction SubExporterProgressive
# ImportInto ExporterTiny DataOptList ParamsUtil SubInstall RoleTiny
# MooXTypesMooseLike ClassLoad ModuleImplementation ClassLoadXS
# BHooksEndOfScope namespaceclean PackageStash SubIdentify
# ClassMethodModifiers
];
doCheck = false; # Can't find home directory.
meta = {