1
0
Fork 1
mirror of https://github.com/NixOS/nixpkgs.git synced 2024-11-21 13:10:33 +00:00

annotatedDerivation removed

svn path=/nixpkgs/trunk/; revision=10975
This commit is contained in:
Marc Weber 2008-03-06 02:48:09 +00:00
parent 1b51b70317
commit a277b420ee
2 changed files with 0 additions and 58 deletions

View file

@ -1,56 +0,0 @@
{ lib } : with lib; with builtins; rec {
/*
# traversal proposal (very unstable now )
# goal: create tags easily (and install source files along without recompiling)
rec {
# encouraged: using it you can filter based on names later on? Do we ned it?
name =
# required: the annotated derivation (this attr is used to identify a
# annotated derivation)
aDeriv =
# required: extra list of annotated dependencies, so we can traverse the tree
aDeps = <annotated deps>
# your annotation derivations
};
*/
isAnnotated = a : (a ? aDeriv); # this function serves documentation purposes
delAnnotation = a :
if ((__isAttrs a) && (isAnnotated a)) then a.aDeriv
else a; # most probalby a derivation without annotations.
# returns buildInputs and propagatedBuildInputs from given set after removing annotations
delAnnotationsFromInputs = attrs :
subsetmap (map delAnnotation) attrs [ "buildInputs" "propagatedBuildInputs" ];
/* so an annotated drivation function might look like this
args: with args;
let aDeps = filterDeps args;
deps = delAnnotation aDeps;
in rec {
name = "my-package-0.2";
inherit aDeps;
aDeriv = stdenv.mkDerivation {
inherit name;
buildInputs = deps;
};
};
*/
filterAnnotated = lib.filter isAnnotated;
# stops when depthCounter = 0
traverseByDepthCounter = depthCounter : aAttrs :
if (depthCounter == 0) then []
else [ aAttrs ] ++ map (traverseByDepthCounter (__sub depthCounter 1) ) (filterAnnotated aAttrs.aDeps);
# get all deps recursively
uniqAnnotatedDeps = aAttrs : uniqList { inputList = traverseByDepthCounter 10 aAttrs; };
}

View file

@ -124,8 +124,6 @@ rec {
lib = import ../lib;
annotatedDerivations = (import ../lib/annotatedDerivations.nix) { inherit lib; };
# optional srcDir
annotatedWithSourceAndTagInfo = x : (x ? passthru && x.passthru ? sourceWithTags);