lib: add versions library
This commit is contained in:
parent
b84fd70d88
commit
a9d0778cd4
|
@ -24,7 +24,7 @@ let
|
||||||
maintainers = callLibs ./maintainers.nix;
|
maintainers = callLibs ./maintainers.nix;
|
||||||
meta = callLibs ./meta.nix;
|
meta = callLibs ./meta.nix;
|
||||||
sources = callLibs ./sources.nix;
|
sources = callLibs ./sources.nix;
|
||||||
|
versions = callLibs ./versions.nix;
|
||||||
|
|
||||||
# module system
|
# module system
|
||||||
modules = callLibs ./modules.nix;
|
modules = callLibs ./modules.nix;
|
||||||
|
|
|
@ -0,0 +1,47 @@
|
||||||
|
/* Version string functions. */
|
||||||
|
{ lib }:
|
||||||
|
|
||||||
|
let
|
||||||
|
|
||||||
|
splitVersion = builtins.splitVersion or (lib.splitString ".");
|
||||||
|
|
||||||
|
in
|
||||||
|
|
||||||
|
rec {
|
||||||
|
|
||||||
|
/* Get the major version string from a string.
|
||||||
|
|
||||||
|
Example:
|
||||||
|
major "1.2.3"
|
||||||
|
=> "1"
|
||||||
|
*/
|
||||||
|
major = v: builtins.elemAt (splitVersion v) 0;
|
||||||
|
|
||||||
|
/* Get the minor version string from a string.
|
||||||
|
|
||||||
|
Example:
|
||||||
|
minor "1.2.3"
|
||||||
|
=> "2"
|
||||||
|
*/
|
||||||
|
minor = v: builtins.elemAt (splitVersion v) 1;
|
||||||
|
|
||||||
|
/* Get the patch version string from a string.
|
||||||
|
|
||||||
|
Example:
|
||||||
|
patch "1.2.3"
|
||||||
|
=> "3"
|
||||||
|
*/
|
||||||
|
patch = v: builtins.elemAt (splitVersion v) 2;
|
||||||
|
|
||||||
|
/* Get string of the first two parts (major and minor)
|
||||||
|
of a version string.
|
||||||
|
|
||||||
|
Example:
|
||||||
|
majorMinor "1.2.3"
|
||||||
|
=> "1.2"
|
||||||
|
*/
|
||||||
|
majorMinor = v:
|
||||||
|
builtins.concatStringsSep "."
|
||||||
|
(lib.take 2 (splitVersion v));
|
||||||
|
|
||||||
|
}
|
Loading…
Reference in New Issue