aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJรถrg Thalheim <Mic92@users.noreply.github.com>2018-03-04 20:06:48 +0000
committerGitHub <noreply@github.com>2018-03-04 20:06:48 +0000
commit73774ef8f9cd496162e53d8a4b1f06b382af21c9 (patch)
tree571cf4c84ce00ee2f243913dc9a22924f8589ba2
parent75d4499e6945aa046ad82c94261644db5b008a77 (diff)
parent1f7fdf6fef0ca3871b9563a782bd2d64ce22919e (diff)
Merge pull request #36168 from ryantm/majorminor
a single version attribute for expressions previously using "majorVersion"
-rw-r--r--lib/default.nix2
-rw-r--r--lib/versions.nix47
-rw-r--r--pkgs/tools/networking/haproxy/default.nix6
3 files changed, 50 insertions, 5 deletions
diff --git a/lib/default.nix b/lib/default.nix
index 7716fe34dba..4c36f3b0d79 100644
--- a/lib/default.nix
+++ b/lib/default.nix
@@ -24,7 +24,7 @@ let
maintainers = import ./maintainers-list.nix;
meta = callLibs ./meta.nix;
sources = callLibs ./sources.nix;
-
+ versions = callLibs ./versions.nix;
# module system
modules = callLibs ./modules.nix;
diff --git a/lib/versions.nix b/lib/versions.nix
new file mode 100644
index 00000000000..8f7f98ff5e1
--- /dev/null
+++ b/lib/versions.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));
+
+}
diff --git a/pkgs/tools/networking/haproxy/default.nix b/pkgs/tools/networking/haproxy/default.nix
index 06c595f7c6d..d31d560e868 100644
--- a/pkgs/tools/networking/haproxy/default.nix
+++ b/pkgs/tools/networking/haproxy/default.nix
@@ -9,13 +9,11 @@ assert usePcre -> pcre != null;
stdenv.mkDerivation rec {
pname = "haproxy";
- majorVersion = "1.7";
- minorVersion = "9";
- version = "${majorVersion}.${minorVersion}";
+ version = "1.7.9";
name = "${pname}-${version}";
src = fetchurl {
- url = "https://www.haproxy.org/download/${majorVersion}/src/${name}.tar.gz";
+ url = "https://www.haproxy.org/download/${stdenv.lib.versions.majorMinor version}/src/${name}.tar.gz";
sha256 = "1072337e54fa188dc6e0cfe3ba4c2200b07082e321cbfe5a0882d85d54db068e";
};