diff options
author | Eelco Dolstra <e.dolstra@tudelft.nl> | 2008-07-01T10·10+0000 |
---|---|---|
committer | Eelco Dolstra <e.dolstra@tudelft.nl> | 2008-07-01T10·10+0000 |
commit | d567baabbd99fdb92e67295a77aef76ef970e65c (patch) | |
tree | d31c1737c52da705c17da78edb517bc2e56b841a /src/libexpr/names.hh | |
parent | b3b0b2a29e2842784f80cf839f84af18b0b83e90 (diff) |
* Export the nix-env derivation name parsing and version comparison
logic through the `parseDrvName' and `compareVersions' primops. This will allow expressions to easily check whether some dependency is a specific needed version or falls in some version range. See tests/lang/eval-okay-versions.nix for examples.
Diffstat (limited to 'src/libexpr/names.hh')
-rw-r--r-- | src/libexpr/names.hh | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/src/libexpr/names.hh b/src/libexpr/names.hh new file mode 100644 index 000000000000..e189302d6d94 --- /dev/null +++ b/src/libexpr/names.hh @@ -0,0 +1,33 @@ +#ifndef __NAMES_H +#define __NAMES_H + +#include "types.hh" + + +namespace nix { + + +struct DrvName +{ + string fullName; + string name; + string version; + unsigned int hits; + + DrvName(); + DrvName(const string & s); + bool matches(DrvName & n); +}; + + +typedef list<DrvName> DrvNames; + + +int compareVersions(const string & v1, const string & v2); +DrvNames drvNamesFromArgs(const Strings & opArgs); + + +} + + +#endif /* !__NAMES_H */ |