From a3a98d724220ef5e6577d726055cf4c993ce31a8 Mon Sep 17 00:00:00 2001 From: Robin Bate Boerop Date: Wed, 18 Mar 2015 10:32:46 -0300 Subject: [PATCH] Improved builder for Sqitch --- .../development/tools/misc/sqitch/default.nix | 23 ++++++++----------- pkgs/top-level/all-packages.nix | 6 +++-- pkgs/top-level/perl-packages.nix | 15 ++++++------ 3 files changed, 21 insertions(+), 23 deletions(-) diff --git a/pkgs/development/tools/misc/sqitch/default.nix b/pkgs/development/tools/misc/sqitch/default.nix index c4c8e065bc55..0a1032cecf81 100644 --- a/pkgs/development/tools/misc/sqitch/default.nix +++ b/pkgs/development/tools/misc/sqitch/default.nix @@ -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"; } diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 1c0c012ba93c..437ec5b1ce0e 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -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; }; diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index 23077aed55a5..a96b05bd998c 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -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 = {