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-19 05:54:09 +0000
committerMichael Raskin <7c6f434c@mail.ru>2008-08-19 05:54:09 +0000
commit87ff8d6347cd99618bc8f9ff58ddf357ce38c522 (patch)
tree304d18d1a67cf9e844bf9d772b2a5386d00aa5f0 /pkgs/top-level/builder-defs.nix
parentb5b68ce414fabb63a782dd74e86e940350e9a662 (diff)
downloadnixlib-87ff8d6347cd99618bc8f9ff58ddf357ce38c522.tar
nixlib-87ff8d6347cd99618bc8f9ff58ddf357ce38c522.tar.gz
nixlib-87ff8d6347cd99618bc8f9ff58ddf357ce38c522.tar.bz2
nixlib-87ff8d6347cd99618bc8f9ff58ddf357ce38c522.tar.lz
nixlib-87ff8d6347cd99618bc8f9ff58ddf357ce38c522.tar.xz
nixlib-87ff8d6347cd99618bc8f9ff58ddf357ce38c522.tar.zst
nixlib-87ff8d6347cd99618bc8f9ff58ddf357ce38c522.zip
Changed builderDefs to use composedArgsAndFun, reduced number of nulls, made overrides in builderDefsPackage to work in an intuitive manner.
svn path=/nixpkgs/trunk/; revision=12655
Diffstat (limited to 'pkgs/top-level/builder-defs.nix')
-rw-r--r--pkgs/top-level/builder-defs.nix10
1 files changed, 8 insertions, 2 deletions
diff --git a/pkgs/top-level/builder-defs.nix b/pkgs/top-level/builder-defs.nix
index d1f6321e72af..1b2ba4e4226d 100644
--- a/pkgs/top-level/builder-defs.nix
+++ b/pkgs/top-level/builder-defs.nix
@@ -458,8 +458,11 @@ args: with args; with stringsWithDeps; with lib;
 
         extraDerivationAttrs = lib.getAttr ["extraDerivationAttrs"] {} args;
 
-        builderDefsPackage = bd: func: args: (
-        let localDefs = bd (func ((bd null) // args)) args null; in
+        # for overrides..
+	builderDefsArgs = args;
+
+        innerBuilderDefsPackage = bd: func: args: (
+        let localDefs = bd.meta.function ((func (bd // args)) // args); in
 
         stdenv.mkDerivation ((rec {
           inherit (localDefs) name;
@@ -471,6 +474,9 @@ args: with args; with stringsWithDeps; with lib;
         } else {}) // extraDerivationAttrs)
         );
 
+	builderDefsPackage = bd: func: args: (composedArgsAndFun 
+	  (innerBuilderDefsPackage bd func) ((func (bd // args)) // args));
+
    generateFontsFromSFD = noDepEntry(''
            for i in *.sfd; do
                 ${args.fontforge}/bin/fontforge -c \