1
0
Fork 0
mirror of https://github.com/NixOS/nix synced 2025-07-07 14:21:48 +02:00

Allow dashes in identifiers

In Nixpkgs, the attribute in all-packages.nix corresponding to a
package is usually equal to the package name.  However, this doesn't
work if the package contains a dash, which is fairly common.  The
convention is to replace the dash with an underscore (e.g. "dbus-lib"
becomes "dbus_glib"), but that's annoying.  So now dashes are valid in
variable / attribute names, allowing you to write:

  dbus-glib = callPackage ../development/libraries/dbus-glib { };

and

  buildInputs = [ dbus-glib ];

Since we don't have a negation or subtraction operation in Nix, this
is unambiguous.
This commit is contained in:
Eelco Dolstra 2012-09-27 15:43:08 -04:00
parent f46612be96
commit 95c74eae26
4 changed files with 9 additions and 4 deletions

View file

@ -4,7 +4,7 @@ let
as = { x.y.z = 123; a.b.c = 456; };
bs = { foo.bar = "foo"; };
bs = { f-o-o.bar = "foo"; };
or = x: y: x || y;
@ -13,7 +13,7 @@ in
as.foo or "foo"
as.x.y.bla or as.a.b.c
as.a.b.c or as.x.y.z
as.x.y.bla or bs.foo.bar or "xyzzy"
as.x.y.bla or bs.f-o-o.bar or "xyzzy"
as.x.y.bla or bs.bar.foo or "xyzzy"
123.bla or null.foo or "xyzzy"
# Backwards compatibility test.