diff options
Diffstat (limited to 'pkgs/lib/composable-derivation.nix')
-rw-r--r-- | pkgs/lib/composable-derivation.nix | 54 |
1 files changed, 0 insertions, 54 deletions
diff --git a/pkgs/lib/composable-derivation.nix b/pkgs/lib/composable-derivation.nix deleted file mode 100644 index 1099bd152bf6..000000000000 --- a/pkgs/lib/composable-derivation.nix +++ /dev/null @@ -1,54 +0,0 @@ -{lib, pkgs} : -let inherit (lib) nv nvs; in -{ - # see for example: - # - development/interpreters/php_configurable/default.nix - # - .. search composableDerivation in all-packages.nix .. - # - # You should be able to override anything you like easily - # grep the mailinglist by title "python proposal" (dec 08) - # -> http://mail.cs.uu.nl/pipermail/nix-dev/2008-December/001571.html - # to see why this got complicated when using all its features - # TODO add newer example using new syntax (kernel derivation proposal -> mailinglist) - composableDerivation = { - mkDerivation ? pkgs.stdenv.mkDerivation, - - # list of functions to be applied before defaultOverridableDelayableArgs removes removeAttrs names - # prepareDerivationArgs handles derivation configurations - applyPreTidy ? [ lib.prepareDerivationArgs ], - - # consider adding addtional elements by derivation.merge { removeAttrs = ["elem"]; }; - removeAttrs ? ["cfg" "flags"] - - }: (lib.defaultOverridableDelayableArgs ( a: mkDerivation a) - { - inherit applyPreTidy removeAttrs; - }).merge; - - # some utility functions - # use this function to generate flag attrs for prepareDerivationArgs - # E nable D isable F eature - edf = {name, feat ? name, enable ? {}, disable ? {} , value ? ""}: - nvs name { - set = { - configureFlags = ["--enable-${feat}${if value == "" then "" else "="}${value}"]; - } // enable; - unset = { - configureFlags = ["--disable-${feat}"]; - } // disable; - }; - - # same for --with and --without- - # W ith or W ithout F eature - wwf = {name, feat ? name, enable ? {}, disable ? {}, value ? ""}: - nvs name { - set = enable // { - configureFlags = ["--with-${feat}${if value == "" then "" else "="}${value}"] - ++ lib.maybeAttr "configureFlags" [] enable; - }; - unset = disable // { - configureFlags = ["--without-${feat}"] - ++ lib.maybeAttr "configureFlags" [] disable; - }; - }; -} |