about summary refs log tree commit diff
path: root/lib
diff options
context:
space:
mode:
authorJoachim F <joachifm@users.noreply.github.com>2019-09-27 06:19:18 +0000
committerGitHub <noreply@github.com>2019-09-27 06:19:18 +0000
commitad773d31e210e4828a40e0b6d2a191592a29451a (patch)
treea5bbff9d564d55d2417c6319e3cdae3d1b8b0970 /lib
parent4ca445c722d283c7cc11dfeb0e50e2d490a3515b (diff)
parentbad07dfac57c36dff1c7b3fd4020fea806d7be93 (diff)
downloadnixlib-ad773d31e210e4828a40e0b6d2a191592a29451a.tar
nixlib-ad773d31e210e4828a40e0b6d2a191592a29451a.tar.gz
nixlib-ad773d31e210e4828a40e0b6d2a191592a29451a.tar.bz2
nixlib-ad773d31e210e4828a40e0b6d2a191592a29451a.tar.lz
nixlib-ad773d31e210e4828a40e0b6d2a191592a29451a.tar.xz
nixlib-ad773d31e210e4828a40e0b6d2a191592a29451a.tar.zst
nixlib-ad773d31e210e4828a40e0b6d2a191592a29451a.zip
Merge pull request #69345 from joachifm/feat/split-version
Replace uses of splitString for splitting version strings
Diffstat (limited to 'lib')
-rw-r--r--lib/default.nix2
-rw-r--r--lib/tests/misc.nix15
-rw-r--r--lib/versions.nix12
3 files changed, 24 insertions, 5 deletions
diff --git a/lib/default.nix b/lib/default.nix
index 18d2dfae1e18..f293a1defb11 100644
--- a/lib/default.nix
+++ b/lib/default.nix
@@ -134,5 +134,7 @@ let
       mergeAttrsByFuncDefaultsClean mergeAttrBy
       fakeSha256 fakeSha512
       nixType imap;
+    inherit (versions)
+      splitVersion;
   });
 in lib
diff --git a/lib/tests/misc.nix b/lib/tests/misc.nix
index d8f412d3fc49..e5d76d4e57b7 100644
--- a/lib/tests/misc.nix
+++ b/lib/tests/misc.nix
@@ -102,6 +102,21 @@ runTests {
     expected = [ "2001" "db8" "0" "0042" "" "8a2e" "370" "" ];
   };
 
+  testSplitVersionSingle = {
+    expr = versions.splitVersion "1";
+    expected = [ "1" ];
+  };
+
+  testSplitVersionDouble = {
+    expr = versions.splitVersion "1.2";
+    expected = [ "1" "2" ];
+  };
+
+  testSplitVersionTriple = {
+    expr = versions.splitVersion "1.2.3";
+    expected = [ "1" "2" "3" ];
+  };
+
   testIsStorePath =  {
     expr =
       let goodPath =
diff --git a/lib/versions.nix b/lib/versions.nix
index 2c05445b3dd0..0e9d81ac78b1 100644
--- a/lib/versions.nix
+++ b/lib/versions.nix
@@ -1,13 +1,15 @@
 /* Version string functions. */
 { lib }:
 
-let
+rec {
 
-  splitVersion = builtins.splitVersion or (lib.splitString ".");
-
-in
+  /* Break a version string into its component parts.
 
-{
+     Example:
+       splitVersion "1.2.3"
+       => ["1" "2" "3"]
+  */
+  splitVersion = builtins.splitVersion or (lib.splitString ".");
 
   /* Get the major version string from a string.