diff options
Diffstat (limited to 'pkgs/top-level')
-rw-r--r-- | pkgs/top-level/all-packages.nix | 17 | ||||
-rw-r--r-- | pkgs/top-level/builder-defs.nix | 16 | ||||
-rw-r--r-- | pkgs/top-level/template-composing+config.nix | 4 | ||||
-rw-r--r-- | pkgs/top-level/template-composing-builder.nix | 6 |
4 files changed, 30 insertions, 13 deletions
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 1798a03de1b29..d98cb46490d51 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -270,6 +270,9 @@ let pkgs = rec { inherit stringsWithDeps lib stdenv writeScript fetchurl; }; + builderDefsPackage = expr: lib.sumArgs + (((builderDefs null).builderDefsPackage builderDefs) expr); + stringsWithDeps = import ../lib/strings-with-deps.nix { inherit stdenv lib; }; @@ -6076,11 +6079,13 @@ let pkgs = rec { inherit fetchurl stdenv tetex lazylist; }; - psiFun = lib.sumArgs (selectVersion ../applications/networking/instant-messengers/psi "0.11") { - inherit builderDefs zlib aspell sox openssl; - inherit (xlibs) xproto libX11 libSM libICE; - qt = qt4; - }; + psiFun = builderDefsPackage + (selectVersion ../applications/networking/instant-messengers/psi "0.11") + { + inherit builderDefs zlib aspell sox openssl; + inherit (xlibs) xproto libX11 libSM libICE; + qt = qt4; + }; psi = psiFun null; @@ -6146,7 +6151,7 @@ let pkgs = rec { inherit stdenv perl tetex graphviz ghostscript; }; - texLiveFun = lib.sumArgs (import ../misc/tex/texlive) { + texLiveFun = builderDefsPackage (import ../misc/tex/texlive) { inherit builderDefs zlib bzip2 ncurses libpng ed gd t1lib freetype icu perl; inherit (xlibs) libXaw libX11 xproto libXt libXpm diff --git a/pkgs/top-level/builder-defs.nix b/pkgs/top-level/builder-defs.nix index d06ebb9410327..cd86ba67f384c 100644 --- a/pkgs/top-level/builder-defs.nix +++ b/pkgs/top-level/builder-defs.nix @@ -3,6 +3,8 @@ args: with args; with stringsWithDeps; with lib; { inherit writeScript; + src = getAttr ["src"] "" args; + addSbinPath = getAttr ["addSbinPath"] false args; forceShare = if args ? forceShare then args.forceShare else ["man" "doc" "info"]; @@ -385,4 +387,18 @@ args: with args; with stringsWithDeps; with lib; GHC_PACKAGE_PATH=\$PACKAGE_DB ./register.sh " ["defCreateEmptyPackageDatabaseAndSetupHook" "defCabalSetupCmd"]; + phaseNames = args.phaseNames ++ + ["doForceShare" "doPropagate"]; + + builderDefsPackage = bd: func: args: ( + let localDefs = bd (func ((bd null) // args)) args null; in + + stdenv.mkDerivation (rec { + inherit (localDefs) name; + builder = writeScript (name + "-builder") + (textClosure localDefs localDefs.phaseNames); + meta = localDefs.meta // {inherit src;}; + }) + ); + }) // args diff --git a/pkgs/top-level/template-composing+config.nix b/pkgs/top-level/template-composing+config.nix index 56d5e1fa4837a..7f7e55302ddac 100644 --- a/pkgs/top-level/template-composing+config.nix +++ b/pkgs/top-level/template-composing+config.nix @@ -16,9 +16,7 @@ stdenv.mkDerivation rec { builder = writeScript (name + "-builder") (textClosure localDefs [(abort "Check phases") doMakeInstall doForceShare doPropagate]); meta = { - description = " - ${(abort "Specify description")} -"; + description = "${(abort "Specify description")}"; inherit src; }; } diff --git a/pkgs/top-level/template-composing-builder.nix b/pkgs/top-level/template-composing-builder.nix index 965bc082aba9c..7725d7986fd15 100644 --- a/pkgs/top-level/template-composing-builder.nix +++ b/pkgs/top-level/template-composing-builder.nix @@ -1,4 +1,4 @@ -args : with args; with builderDefs {src="";} null; +args : with args; with builderDefs null; let localDefs = builderDefs (rec { src = /* put a fetchurl here */ @@ -12,9 +12,7 @@ stdenv.mkDerivation rec { (textClosure localDefs [(abort "Specify phases - defined here or in builderDefs") doForceShare doPropagate]); meta = { - description = " - ${abort "Write a description"} -"; + description = "${abort "Write a description"}"; inherit src; }; } |