summary refs log tree commit diff
path: root/pkgs/top-level/builder-defs.nix
diff options
context:
space:
mode:
authorMichael Raskin <7c6f434c@mail.ru>2008-08-20 11:30:06 +0000
committerMichael Raskin <7c6f434c@mail.ru>2008-08-20 11:30:06 +0000
commitf972b13ac5eff4b7a5c5053730b69c60c262ce53 (patch)
tree165554ebdd2fd67eb7b01ff3bbce75bcccda717f /pkgs/top-level/builder-defs.nix
parenta84989091f0586c08c4d74b162a7ef6ed1fbac3e (diff)
downloadnixlib-f972b13ac5eff4b7a5c5053730b69c60c262ce53.tar
nixlib-f972b13ac5eff4b7a5c5053730b69c60c262ce53.tar.gz
nixlib-f972b13ac5eff4b7a5c5053730b69c60c262ce53.tar.bz2
nixlib-f972b13ac5eff4b7a5c5053730b69c60c262ce53.tar.lz
nixlib-f972b13ac5eff4b7a5c5053730b69c60c262ce53.tar.xz
nixlib-f972b13ac5eff4b7a5c5053730b69c60c262ce53.tar.zst
nixlib-f972b13ac5eff4b7a5c5053730b69c60c262ce53.zip
A paranoia-induced refactoring, a cleanup of buildInputs bypass in font-related part, fix for builderDefsPackage for cleaner overrides.
svn path=/nixpkgs/trunk/; revision=12671
Diffstat (limited to 'pkgs/top-level/builder-defs.nix')
-rw-r--r--pkgs/top-level/builder-defs.nix21
1 files changed, 12 insertions, 9 deletions
diff --git a/pkgs/top-level/builder-defs.nix b/pkgs/top-level/builder-defs.nix
index 1b2ba4e4226d..e3c27d072120 100644
--- a/pkgs/top-level/builder-defs.nix
+++ b/pkgs/top-level/builder-defs.nix
@@ -130,7 +130,7 @@ args: with args; with stringsWithDeps; with lib;
                 }
 
                 pkgs=\"\"
-                for i in \$NIX_GCC ${toString buildInputs}; do
+                for i in \$NIX_GCC ${toString realBuildInputs}; do
                     findInputs \$i
                 done
 
@@ -362,7 +362,7 @@ args: with args; with stringsWithDeps; with lib;
         autoConfigureFlags = condConcat "" configFlags check;
         autoMakeFlags = condConcat "" buildFlags check;
         useConfig = getAttr ["useConfig"] false args;
-        buildInputs = 
+        realBuildInputs = 
                 lib.closePropagation ((if useConfig then 
                         autoBuildInputs else 
                         getAttr ["buildInputs"] [] args)++
@@ -461,8 +461,8 @@ args: with args; with stringsWithDeps; with lib;
         # for overrides..
 	builderDefsArgs = args;
 
-        innerBuilderDefsPackage = bd: func: args: (
-        let localDefs = bd.meta.function ((func (bd // args)) // args); in
+        innerBuilderDefsPackage = bd: args: (
+        let localDefs = bd.meta.function args; in
 
         stdenv.mkDerivation ((rec {
           inherit (localDefs) name;
@@ -474,12 +474,15 @@ args: with args; with stringsWithDeps; with lib;
         } else {}) // extraDerivationAttrs)
         );
 
-	builderDefsPackage = bd: func: args: (composedArgsAndFun 
-	  (innerBuilderDefsPackage bd func) ((func (bd // args)) // args));
+	builderDefsPackage = bd: func:
+	  foldArgs 
+	    (x: y: ((func (bd // x // y)) // y))
+            (innerBuilderDefsPackage bd)
+	    {};
 
-   generateFontsFromSFD = noDepEntry(''
+   generateFontsFromSFD = FullDepEntry (''
            for i in *.sfd; do
-                ${args.fontforge}/bin/fontforge -c \
+                fontforge -c \
                         'Open($1);
                         ${optionalString (args ? extraFontForgeCommands) args.extraFontForgeCommands
                         }Reencode("unicode");
@@ -493,7 +496,7 @@ args: with args; with stringsWithDeps; with lib;
                          ${optionalString (getAttr ["createENC"] true args) ''Generate($1:r + ".enc");''}
                         ' $i; 
         done
-   '');
+   '') ["minInit" "addInputs" "doUnpack"];
 
    installFonts = FullDepEntry (''
            ensureDir $out/share/fonts/truetype/public/${args.name}