From 6b4cd6673ad1c7b7203002040ccdbacec818135a Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Mon, 19 Mar 2012 18:04:47 +0000 Subject: [PATCH] * Add a utility function "versionOlder" to compare two version strings. svn path=/nixpkgs/trunk/; revision=33267 --- pkgs/lib/strings.nix | 13 +++++++++++++ pkgs/os-specific/linux/microcode/intel.nix | 2 +- 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/pkgs/lib/strings.nix b/pkgs/lib/strings.nix index 73520a949c13..8f918acf7b26 100644 --- a/pkgs/lib/strings.nix +++ b/pkgs/lib/strings.nix @@ -82,15 +82,18 @@ rec { map f (stringToCharacters s) ); + # same as vim escape function. # Each character contained in list is prefixed by "\" escape = list : string : stringAsChars (c: if lib.elem c list then "\\${c}" else c) string; + # still ugly slow. But more correct now # [] for zsh escapeShellArg = lib.escape (stringToCharacters "\\ ';$`()|<>\t*[]"); + # replace characters by their substitutes. This function is equivalent to # the `tr' command except that one character can be replace by multiple # ones. e.g., @@ -105,10 +108,12 @@ rec { in stringAsChars subst s; + # Compares strings not requiring context equality # Obviously, a workaround but works on all Nix versions eqStrings = a: b: (a+(substring 0 0 b)) == ((substring 0 0 a)+b); + # Cut a string with a separator and produces a list of strings which were # separated by this separator. e.g., # `splitString "." "foo.bar.baz"' returns ["foo" "bar" "baz"]. @@ -133,6 +138,7 @@ rec { in recurse 0 0; + # return the suffix of the second argument if the first argument match its # prefix. e.g., # `removePrefix "foo." "foo.bar.baz"' returns "bar.baz". @@ -146,6 +152,13 @@ rec { else s; + + # Why do we need this if we have baseNameOf? basename = s: lib.last (splitString "/" s); + + # Return true iff string v1 denotes a version older than v2. + versionOlder = v1: v2: builtins.compareVersions v2 v1 == 1; + + } diff --git a/pkgs/os-specific/linux/microcode/intel.nix b/pkgs/os-specific/linux/microcode/intel.nix index 9a57fef67a1b..d17663b7a65a 100644 --- a/pkgs/os-specific/linux/microcode/intel.nix +++ b/pkgs/os-specific/linux/microcode/intel.nix @@ -22,7 +22,7 @@ in stdenv.mkDerivation { ''; meta = { - homepage = http://www.intel.com; + homepage = http://www.intel.com/; description = "Microcode for Intel processors"; }; } \ No newline at end of file