replacing applyAndFun by lib.defaultOverridableDelayableArgs

applyAndFun has a bug resulting in the same arg beeing added more than
once when using a concatenating merge function for the attr set.

I've tried giving the function a name "overridableDelayableArgs" which
resembles its usage much more.

important refactoring:
  applyAndFun had .fun and .funMerge only when passing the merge
  function lib.mergeOrApply

  composableDerivation {
    initial = {
      ...
    };
  }

to

  overridableDelayableArgs has always .replace and .merge
  composableDerivation {} {
    ...
  }

svn path=/nixpkgs/trunk/; revision=14428
This commit is contained in:
Marc Weber
2009-03-06 23:21:28 +00:00
parent 51289a41b0
commit b56ed35851
15 changed files with 564 additions and 593 deletions

View File

@@ -5,40 +5,38 @@ let
name = "ragel-${version}";
in
composableDerivation.composableDerivation {
initial = rec {
inherit name;
src = fetchurl {
url = "http://www.complang.org/ragel/${name}.tar.gz";
sha256 = "018cedc8a68be85cda330fc53d0bb8a1ca6ad39b1cf790eed0311e7baa5a2520";
};
composableDerivation.composableDerivation {} {
inherit name;
src = fetchurl {
url = "http://www.complang.org/ragel/${name}.tar.gz";
sha256 = "018cedc8a68be85cda330fc53d0bb8a1ca6ad39b1cf790eed0311e7baa5a2520";
};
flags = {
doc = {
# require fig2dev & pdflatex (see README)
buildInputs = [transfig texLive];
# use post* because default values of buildPhase is empty.
postBuild = ''
pushd doc
make
popd
'';
postInstall = ''
pushd doc
make install
popd
'';
};
};
cfg = {
docSupport = false;
};
meta = {
homepage = http://www.complang.org/ragel;
description = "State machine compiler";
license = "GPL-2";
flags = {
doc = {
# require fig2dev & pdflatex (see README)
buildInputs = [transfig texLive];
# use post* because default values of buildPhase is empty.
postBuild = ''
pushd doc
make
popd
'';
postInstall = ''
pushd doc
make install
popd
'';
};
};
cfg = {
docSupport = false;
};
meta = {
homepage = http://www.complang.org/ragel;
description = "State machine compiler";
license = "GPL-2";
};
}