diff --git a/pkgs/lib/strings.nix b/pkgs/lib/strings.nix index ed668e2b927..024a9ac7d7a 100644 --- a/pkgs/lib/strings.nix +++ b/pkgs/lib/strings.nix @@ -163,6 +163,10 @@ rec { versionOlder = v1: v2: builtins.compareVersions v2 v1 == 1; + # Return true iff string v1 denotes a version equal to or newer than v2. + versionAtLeast = v1: v2: !versionOlder v1 v2; + + # Get the version of the specified derivation, as specified in its # ‘name’ attribute. getVersion = drv: (builtins.parseDrvName drv.name).version; diff --git a/pkgs/os-specific/linux/nvidia-x11/default.nix b/pkgs/os-specific/linux/nvidia-x11/default.nix index e4e9a2c0205..9e750629b82 100644 --- a/pkgs/os-specific/linux/nvidia-x11/default.nix +++ b/pkgs/os-specific/linux/nvidia-x11/default.nix @@ -25,7 +25,7 @@ stdenv.mkDerivation { patches = [ ./version-test.patch ] - ++ optional (!versionOlder kernelDev.version "3.10") kernel310patch; + ++ optional (!libsOnly && versionAtLeast kernelDev.version "3.10") kernel310patch; src = if stdenv.system == "i686-linux" then