diff options
author | Nicolas Pierron <nicolas.b.pierron@gmail.com> | 2009-01-25 00:31:38 +0000 |
---|---|---|
committer | Nicolas Pierron <nicolas.b.pierron@gmail.com> | 2009-01-25 00:31:38 +0000 |
commit | daa6f9c7ef754ab57c2d2f213d2abce35a01586a (patch) | |
tree | 53739c959688fb0152c41ee7d1ded8b1ee6997b7 /pkgs/lib/default.nix | |
parent | 9581664fb9f564234bcaccbc456c38a4ab74d621 (diff) | |
download | nixlib-daa6f9c7ef754ab57c2d2f213d2abce35a01586a.tar nixlib-daa6f9c7ef754ab57c2d2f213d2abce35a01586a.tar.gz nixlib-daa6f9c7ef754ab57c2d2f213d2abce35a01586a.tar.bz2 nixlib-daa6f9c7ef754ab57c2d2f213d2abce35a01586a.tar.lz nixlib-daa6f9c7ef754ab57c2d2f213d2abce35a01586a.tar.xz nixlib-daa6f9c7ef754ab57c2d2f213d2abce35a01586a.tar.zst nixlib-daa6f9c7ef754ab57c2d2f213d2abce35a01586a.zip |
Add a common merge function. (mergeOneOption)
This merge function allow only one definition for an option. svn path=/nixpkgs/trunk/; revision=13841
Diffstat (limited to 'pkgs/lib/default.nix')
-rw-r--r-- | pkgs/lib/default.nix | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/pkgs/lib/default.nix b/pkgs/lib/default.nix index 5be1bb2908de..a44fdfa5edd8 100644 --- a/pkgs/lib/default.nix +++ b/pkgs/lib/default.nix @@ -500,6 +500,11 @@ rec { (x: if builtins ? isString then builtins.isString x else x + "") concatStrings; + mergeOneOption = name: list: + if list == [] then abort "This case should never happens." + else if tail list != [] then throw "Multiple definitions. Only one is allowed for this option." + else head list; + # Handle the traversal of option sets. All sets inside 'opts' are zipped # and options declaration and definition are separated. If no option are |