diff options
author | Joachim Fasting <joachifm@fastmail.fm> | 2019-09-24 11:24:13 +0200 |
---|---|---|
committer | Joachim Fasting <joachifm@fastmail.fm> | 2019-09-26 17:42:49 +0200 |
commit | bad07dfac57c36dff1c7b3fd4020fea806d7be93 (patch) | |
tree | 2032f09b50cd998edf1db3f8122c8d2916a0ad14 | |
parent | 2d4352b1ae57a06670b451f1b4426beff9796628 (diff) | |
download | nixpkgs-bad07dfac57c36dff1c7b3fd4020fea806d7be93.tar nixpkgs-bad07dfac57c36dff1c7b3fd4020fea806d7be93.tar.gz nixpkgs-bad07dfac57c36dff1c7b3fd4020fea806d7be93.tar.bz2 nixpkgs-bad07dfac57c36dff1c7b3fd4020fea806d7be93.tar.lz nixpkgs-bad07dfac57c36dff1c7b3fd4020fea806d7be93.tar.xz nixpkgs-bad07dfac57c36dff1c7b3fd4020fea806d7be93.tar.zst nixpkgs-bad07dfac57c36dff1c7b3fd4020fea806d7be93.zip |
tree-wide: replace uses of splitString "." with lib.versions
Quoting from the splitString docstring: NOTE: this function is not performant and should never be used. This replaces trivial uses of splitString for splitting version strings with the (potentially builtin) splitVersion.
27 files changed, 35 insertions, 39 deletions
diff --git a/nixos/modules/services/web-servers/apache-httpd/default.nix b/nixos/modules/services/web-servers/apache-httpd/default.nix index 098160ee369..b0374d949fc 100644 --- a/nixos/modules/services/web-servers/apache-httpd/default.nix +++ b/nixos/modules/services/web-servers/apache-httpd/default.nix @@ -12,7 +12,7 @@ let php = mainCfg.phpPackage.override { apacheHttpd = httpd.dev; /* otherwise it only gets .out */ }; - phpMajorVersion = head (splitString "." php.version); + phpMajorVersion = lib.versions.major (lib.getVersion php); mod_perl = pkgs.apacheHttpdPackages.mod_perl.override { apacheHttpd = httpd; }; diff --git a/pkgs/applications/misc/mupdf/default.nix b/pkgs/applications/misc/mupdf/default.nix index ddd325214b2..7420932e0b6 100644 --- a/pkgs/applications/misc/mupdf/default.nix +++ b/pkgs/applications/misc/mupdf/default.nix @@ -9,8 +9,7 @@ let # OpenJPEG version is hardcoded in package source openJpegVersion = with stdenv; - lib.concatStringsSep "." (lib.lists.take 2 - (lib.splitString "." (lib.getVersion openjpeg))); + lib.versions.majorMinor (lib.getVersion openjpeg); in stdenv.mkDerivation rec { diff --git a/pkgs/applications/misc/workrave/default.nix b/pkgs/applications/misc/workrave/default.nix index a3c9d735ff8..9ad010deb16 100644 --- a/pkgs/applications/misc/workrave/default.nix +++ b/pkgs/applications/misc/workrave/default.nix @@ -13,7 +13,7 @@ stdenv.mkDerivation rec { in fetchFromGitHub { sha256 = "0v2mx2idaxlsyv5w66b7pknlill9j9i2gqcs3vq54gak7ix9fj1p"; rev = with stdenv.lib; - "v" + concatStringsSep "_" (splitString "." version); + "v" + concatStringsSep "_" (splitVersion version); repo = "workrave"; owner = "rcaelers"; }; diff --git a/pkgs/applications/networking/cluster/openshift/default.nix b/pkgs/applications/networking/cluster/openshift/default.nix index 758786f586a..3b96ef4ea45 100644 --- a/pkgs/applications/networking/cluster/openshift/default.nix +++ b/pkgs/applications/networking/cluster/openshift/default.nix @@ -10,7 +10,7 @@ with lib; let version = "3.11.0"; - ver = stdenv.lib.elemAt (stdenv.lib.splitString "." version); + ver = stdenv.lib.elemAt (stdenv.lib.splitVersion version); versionMajor = ver 0; versionMinor = ver 1; versionPatch = ver 2; diff --git a/pkgs/applications/science/logic/yices/default.nix b/pkgs/applications/science/logic/yices/default.nix index 76ed934fb39..b8dd528a11c 100644 --- a/pkgs/applications/science/logic/yices/default.nix +++ b/pkgs/applications/science/logic/yices/default.nix @@ -28,7 +28,7 @@ stdenv.mkDerivation rec { # Includes a fix for the embedded soname being libyices.so.2.5, but # only installing the libyices.so.2.5.x file. installPhase = let - ver_XdotY = builtins.concatStringsSep "." (stdenv.lib.take 2 (stdenv.lib.splitString "." version)); + ver_XdotY = stdenv.lib.versions.majorMinor version; in '' make install LDCONFIG=true ln -sfr $out/lib/libyices.so.{${version},${ver_XdotY}} diff --git a/pkgs/applications/virtualization/virtualbox/guest-additions/default.nix b/pkgs/applications/virtualization/virtualbox/guest-additions/default.nix index ad860b07bdf..1b93121f14e 100644 --- a/pkgs/applications/virtualization/virtualbox/guest-additions/default.nix +++ b/pkgs/applications/virtualization/virtualbox/guest-additions/default.nix @@ -3,7 +3,7 @@ let version = virtualbox.version; - xserverVListFunc = builtins.elemAt (stdenv.lib.splitString "." xorg.xorgserver.version); + xserverVListFunc = builtins.elemAt (stdenv.lib.splitVersion xorg.xorgserver.version); # Forced to 1.18 in <nixpkgs/nixos/modules/services/x11/xserver.nix> # as it even fails to build otherwise. Still, override this even here, diff --git a/pkgs/build-support/rust/build-rust-crate/configure-crate.nix b/pkgs/build-support/rust/build-rust-crate/configure-crate.nix index 2a40240671c..2c7226b0962 100644 --- a/pkgs/build-support/rust/build-rust-crate/configure-crate.nix +++ b/pkgs/build-support/rust/build-rust-crate/configure-crate.nix @@ -21,7 +21,7 @@ , workspace_member }: let version_ = lib.splitString "-" crateVersion; versionPre = if lib.tail version_ == [] then "" else builtins.elemAt version_ 1; - version = lib.splitString "." (lib.head version_); + version = lib.splitVersion (lib.head version_); rustcOpts = lib.lists.foldl' (opts: opt: opts + " " + opt) (if release then "-C opt-level=3" else "-C debuginfo=2") (["-C codegen-units=$NIX_BUILD_CORES"] ++ extraRustcOpts); @@ -150,4 +150,3 @@ in '' fi runHook postConfigure '' - diff --git a/pkgs/development/compilers/cudatoolkit/default.nix b/pkgs/development/compilers/cudatoolkit/default.nix index 8aab9580232..0a7b74b465f 100644 --- a/pkgs/development/compilers/cudatoolkit/default.nix +++ b/pkgs/development/compilers/cudatoolkit/default.nix @@ -180,9 +180,7 @@ let ''; passthru = { cc = gcc; - majorVersion = - let versionParts = lib.splitString "." version; - in "${lib.elemAt versionParts 0}.${lib.elemAt versionParts 1}"; + majorVersion = lib.versions.majorMinor version; }; meta = with stdenv.lib; { diff --git a/pkgs/development/compilers/llvm/3.9/llvm.nix b/pkgs/development/compilers/llvm/3.9/llvm.nix index 4dde3be277a..474cfcde9c0 100644 --- a/pkgs/development/compilers/llvm/3.9/llvm.nix +++ b/pkgs/development/compilers/llvm/3.9/llvm.nix @@ -22,7 +22,7 @@ assert (stdenv.hostPlatform != stdenv.buildPlatform) -> !enableSharedLibraries; let # Used when creating a versioned symlinks of libLLVM.dylib versionSuffixes = with stdenv.lib; - let parts = splitString "." version; in + let parts = splitVersion version; in imap (i: _: concatStringsSep "." (take i parts)) parts; in diff --git a/pkgs/development/compilers/llvm/4/llvm.nix b/pkgs/development/compilers/llvm/4/llvm.nix index 7e855995352..ac5dcbe6b94 100644 --- a/pkgs/development/compilers/llvm/4/llvm.nix +++ b/pkgs/development/compilers/llvm/4/llvm.nix @@ -19,7 +19,7 @@ let # Used when creating a versioned symlinks of libLLVM.dylib versionSuffixes = with stdenv.lib; - let parts = splitString "." release_version; in + let parts = splitVersion release_version; in imap (i: _: concatStringsSep "." (take i parts)) parts; in diff --git a/pkgs/development/compilers/llvm/5/llvm.nix b/pkgs/development/compilers/llvm/5/llvm.nix index 02db395db57..2fe7df7695b 100644 --- a/pkgs/development/compilers/llvm/5/llvm.nix +++ b/pkgs/development/compilers/llvm/5/llvm.nix @@ -18,7 +18,7 @@ let # Used when creating a versioned symlinks of libLLVM.dylib versionSuffixes = with stdenv.lib; - let parts = splitString "." release_version; in + let parts = splitVersion release_version; in imap (i: _: concatStringsSep "." (take i parts)) parts; in diff --git a/pkgs/development/compilers/llvm/6/llvm.nix b/pkgs/development/compilers/llvm/6/llvm.nix index 2586602d737..a250c9fefac 100644 --- a/pkgs/development/compilers/llvm/6/llvm.nix +++ b/pkgs/development/compilers/llvm/6/llvm.nix @@ -21,7 +21,7 @@ let # Used when creating a versioned symlinks of libLLVM.dylib versionSuffixes = with stdenv.lib; - let parts = splitString "." release_version; in + let parts = splitVersion release_version; in imap (i: _: concatStringsSep "." (take i parts)) parts; in diff --git a/pkgs/development/compilers/llvm/7/llvm.nix b/pkgs/development/compilers/llvm/7/llvm.nix index cfcda02b413..068791406e8 100644 --- a/pkgs/development/compilers/llvm/7/llvm.nix +++ b/pkgs/development/compilers/llvm/7/llvm.nix @@ -26,7 +26,7 @@ let # Used when creating a versioned symlinks of libLLVM.dylib versionSuffixes = with stdenv.lib; - let parts = splitString "." release_version; in + let parts = splitVersion release_version; in imap (i: _: concatStringsSep "." (take i parts)) parts; in stdenv.mkDerivation ({ diff --git a/pkgs/development/compilers/llvm/8/llvm.nix b/pkgs/development/compilers/llvm/8/llvm.nix index 70e666ba27d..160e2a72366 100644 --- a/pkgs/development/compilers/llvm/8/llvm.nix +++ b/pkgs/development/compilers/llvm/8/llvm.nix @@ -25,7 +25,7 @@ let # Used when creating a version-suffixed symlink of libLLVM.dylib shortVersion = with stdenv.lib; - concatStringsSep "." (take 1 (splitString "." release_version)); + concatStringsSep "." (take 1 (splitVersion release_version)); in stdenv.mkDerivation ({ name = "llvm-${version}"; diff --git a/pkgs/development/interpreters/lfe/generic-builder.nix b/pkgs/development/interpreters/lfe/generic-builder.nix index fb034a471e7..6e74229e1e8 100644 --- a/pkgs/development/interpreters/lfe/generic-builder.nix +++ b/pkgs/development/interpreters/lfe/generic-builder.nix @@ -9,9 +9,9 @@ }: let - inherit (stdenv.lib) getVersion versionAtLeast splitString head; + inherit (stdenv.lib) getVersion versionAtLeast versions; - mainVersion = head (splitString "." (getVersion erlang)); + mainVersion = versions.major (getVersion erlang); proper = buildHex { name = "proper"; diff --git a/pkgs/development/libraries/mesa/default.nix b/pkgs/development/libraries/mesa/default.nix index cf1bdaf6432..3a7c93413d5 100644 --- a/pkgs/development/libraries/mesa/default.nix +++ b/pkgs/development/libraries/mesa/default.nix @@ -28,7 +28,7 @@ with stdenv.lib; let version = "19.1.5"; - branch = head (splitString "." version); + branch = versions.major version; in stdenv.mkDerivation { diff --git a/pkgs/development/libraries/science/math/cudnn/generic.nix b/pkgs/development/libraries/science/math/cudnn/generic.nix index f0f5829ce46..5a17e807bd4 100644 --- a/pkgs/development/libraries/science/math/cudnn/generic.nix +++ b/pkgs/development/libraries/science/math/cudnn/generic.nix @@ -46,7 +46,7 @@ stdenv.mkDerivation { passthru = { inherit cudatoolkit; - majorVersion = lib.head (lib.splitString "." version); + majorVersion = lib.versions.major version; }; meta = with stdenv.lib; { diff --git a/pkgs/development/libraries/sqlite/archive-version.nix b/pkgs/development/libraries/sqlite/archive-version.nix index 1f312ecef23..75d70680fbf 100644 --- a/pkgs/development/libraries/sqlite/archive-version.nix +++ b/pkgs/development/libraries/sqlite/archive-version.nix @@ -1,9 +1,9 @@ lib: version: with lib; - + let - fragments = splitString "." version; + fragments = splitVersion version; major = head fragments; minor = concatMapStrings (fixedWidthNumber 2) (tail fragments); in diff --git a/pkgs/development/lua-modules/overrides.nix b/pkgs/development/lua-modules/overrides.nix index 233503c2eca..1f1dc45246b 100644 --- a/pkgs/development/lua-modules/overrides.nix +++ b/pkgs/development/lua-modules/overrides.nix @@ -29,7 +29,7 @@ with super; # Parse out a version number without the Lua version inserted version = with pkgs.lib; let version' = super.cqueues.version; - rel = splitString "." version'; + rel = splitVersion version'; date = head rel; rev = last (splitString "-" (last rel)); in "${date}-${rev}"; diff --git a/pkgs/games/dwarf-fortress/game.nix b/pkgs/games/dwarf-fortress/game.nix index 291e32b6406..d3a26529424 100644 --- a/pkgs/games/dwarf-fortress/game.nix +++ b/pkgs/games/dwarf-fortress/game.nix @@ -26,7 +26,7 @@ let i686-cygwin = "win32"; }; - dfVersionTriple = splitString "." dfVersion; + dfVersionTriple = splitVersion dfVersion; baseVersion = elemAt dfVersionTriple 1; patchVersion = elemAt dfVersionTriple 2; diff --git a/pkgs/misc/emulators/epsxe/default.nix b/pkgs/misc/emulators/epsxe/default.nix index 6950e12e889..b9923def6f2 100644 --- a/pkgs/misc/emulators/epsxe/default.nix +++ b/pkgs/misc/emulators/epsxe/default.nix @@ -8,7 +8,7 @@ stdenv.mkDerivation rec { version = "2.0.5"; src = let - version2 = concatStrings (splitString "." version); + version2 = replaceStrings ["."] [""] version; platform = "linux" + (optionalString stdenv.is64bit "_x64"); in fetchurl { url = "https://www.epsxe.com/files/ePSXe${version2}${platform}.zip"; diff --git a/pkgs/os-specific/bsd/netbsd/default.nix b/pkgs/os-specific/bsd/netbsd/default.nix index 7370901f319..f724fd33939 100644 --- a/pkgs/os-specific/bsd/netbsd/default.nix +++ b/pkgs/os-specific/bsd/netbsd/default.nix @@ -68,9 +68,9 @@ let } // lib.optionalAttrs stdenv'.isDarwin { MKRELRO = "no"; } // lib.optionalAttrs (stdenv'.cc.isClang or false) { - HAVE_LLVM = lib.head (lib.splitString "." (lib.getVersion stdenv'.cc.cc)); + HAVE_LLVM = lib.versions.major (lib.getVersion stdenv'.cc.cc); } // lib.optionalAttrs (stdenv'.cc.isGNU or false) { - HAVE_GCC = lib.head (lib.splitString "." (lib.getVersion stdenv'.cc.cc)); + HAVE_GCC = lib.versions.major (lib.getVersion stdenv'.cc.cc); } // lib.optionalAttrs (attrs.headersOnly or false) { installPhase = "includesPhase"; dontBuild = true; diff --git a/pkgs/os-specific/linux/kernel/linux-4.14.nix b/pkgs/os-specific/linux/kernel/linux-4.14.nix index c5931f2da11..64288071976 100644 --- a/pkgs/os-specific/linux/kernel/linux-4.14.nix +++ b/pkgs/os-specific/linux/kernel/linux-4.14.nix @@ -6,10 +6,10 @@ buildLinux (args // rec { version = "4.14.145"; # modDirVersion needs to be x.y.z, will automatically add .0 if needed - modDirVersion = if (modDirVersionArg == null) then concatStrings (intersperse "." (take 3 (splitString "." "${version}.0"))) else modDirVersionArg; + modDirVersion = if (modDirVersionArg == null) then concatStringsSep "." (take 3 (splitVersion "${version}.0")) else modDirVersionArg; # branchVersion needs to be x.y - extraMeta.branch = concatStrings (intersperse "." (take 2 (splitString "." version))); + extraMeta.branch = versions.majorMinor version; src = fetchurl { url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz"; diff --git a/pkgs/os-specific/linux/kernel/linux-4.19.nix b/pkgs/os-specific/linux/kernel/linux-4.19.nix index 5e0e5f882e4..c4735415d1d 100644 --- a/pkgs/os-specific/linux/kernel/linux-4.19.nix +++ b/pkgs/os-specific/linux/kernel/linux-4.19.nix @@ -6,10 +6,10 @@ buildLinux (args // rec { version = "4.19.74"; # modDirVersion needs to be x.y.z, will automatically add .0 if needed - modDirVersion = if (modDirVersionArg == null) then concatStrings (intersperse "." (take 3 (splitString "." "${version}.0"))) else modDirVersionArg; + modDirVersion = if (modDirVersionArg == null) then concatStringsSep "." (take 3 (splitVersion "${version}.0")) else modDirVersionArg; # branchVersion needs to be x.y - extraMeta.branch = concatStrings (intersperse "." (take 2 (splitString "." version))); + extraMeta.branch = versions.majorMinor version; src = fetchurl { url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz"; diff --git a/pkgs/os-specific/linux/kernel/linux-5.2.nix b/pkgs/os-specific/linux/kernel/linux-5.2.nix index 69cfada3422..13856d14600 100644 --- a/pkgs/os-specific/linux/kernel/linux-5.2.nix +++ b/pkgs/os-specific/linux/kernel/linux-5.2.nix @@ -6,10 +6,10 @@ buildLinux (args // rec { version = "5.2.16"; # modDirVersion needs to be x.y.z, will automatically add .0 if needed - modDirVersion = if (modDirVersionArg == null) then concatStrings (intersperse "." (take 3 (splitString "." "${version}.0"))) else modDirVersionArg; + modDirVersion = if (modDirVersionArg == null) then concatStringsSep "." (take 3 (splitVersion "${version}.0")) else modDirVersionArg; # branchVersion needs to be x.y - extraMeta.branch = concatStrings (intersperse "." (take 2 (splitString "." version))); + extraMeta.branch = versions.majorMinor version; src = fetchurl { url = "mirror://kernel/linux/kernel/v5.x/linux-${version}.tar.xz"; diff --git a/pkgs/os-specific/linux/kernel/linux-5.3.nix b/pkgs/os-specific/linux/kernel/linux-5.3.nix index e9cb412d8db..ebc548ea5b4 100644 --- a/pkgs/os-specific/linux/kernel/linux-5.3.nix +++ b/pkgs/os-specific/linux/kernel/linux-5.3.nix @@ -6,10 +6,10 @@ buildLinux (args // rec { version = "5.3"; # modDirVersion needs to be x.y.z, will automatically add .0 if needed - modDirVersion = if (modDirVersionArg == null) then concatStrings (intersperse "." (take 3 (splitString "." "${version}.0"))) else modDirVersionArg; + modDirVersion = if (modDirVersionArg == null) then concatStringsSep "." (take 3 (splitVersion "${version}.0")) else modDirVersionArg; # branchVersion needs to be x.y - extraMeta.branch = concatStrings (intersperse "." (take 2 (splitString "." version))); + extraMeta.branch = versions.majorMinor version; src = fetchurl { url = "mirror://kernel/linux/kernel/v5.x/linux-${version}.tar.xz"; diff --git a/pkgs/os-specific/linux/prl-tools/default.nix b/pkgs/os-specific/linux/prl-tools/default.nix index 3daab3917e8..5f84b5dcc66 100644 --- a/pkgs/os-specific/linux/prl-tools/default.nix +++ b/pkgs/os-specific/linux/prl-tools/default.nix @@ -8,8 +8,8 @@ assert (!libsOnly) -> kernel != null; # Disable for kernels 4.15 and above due to compatibility issues assert kernel != null -> stdenv.lib.versionOlder kernel.version "4.15"; -let xorgFullVer = (builtins.parseDrvName xorg.xorgserver.name).version; - xorgVer = lib.concatStringsSep "." (lib.take 2 (lib.splitString "." xorgFullVer)); +let xorgFullVer = lib.getVersion xorg.xorgserver; + xorgVer = lib.versions.majorMinor xorgFullVer; x64 = if stdenv.hostPlatform.system == "x86_64-linux" then true else if stdenv.hostPlatform.system == "i686-linux" then false else throw "Parallels Tools for Linux only support {x86-64,i686}-linux targets"; |