diff options
38 files changed, 74 insertions, 90 deletions
diff --git a/doc/configuration.xml b/doc/configuration.xml index b497fa4e2722..0d9786c2d6a2 100644 --- a/doc/configuration.xml +++ b/doc/configuration.xml @@ -179,11 +179,10 @@ allows unfree packages named flash player and visual studio code: <programlisting> { - allowUnfreePredicate = (pkg: builtins.elem - (builtins.parseDrvName pkg.name).name [ - "flashplayer" - "vscode" - ]); + allowUnfreePredicate = pkg: builtins.elem (lib.getName pkg) [ + "flashplayer" + "vscode" + ]; } </programlisting> </para> @@ -273,7 +272,7 @@ very short names: <programlisting> { - allowInsecurePredicate = (pkg: (builtins.stringLength (builtins.parseDrvName pkg.name).name) <= 5); + allowInsecurePredicate = (pkg: (builtins.stringLength (lib.getName pkg) <= 5); } </programlisting> </para> diff --git a/maintainers/scripts/update.nix b/maintainers/scripts/update.nix index 04723cb8a366..7192f6e3b234 100755 --- a/maintainers/scripts/update.nix +++ b/maintainers/scripts/update.nix @@ -126,7 +126,7 @@ let packageData = package: { name = package.name; - pname = (builtins.parseDrvName package.name).name; + pname = lib.getName package; updateScript = map builtins.toString (pkgs.lib.toList package.updateScript); }; diff --git a/nixos/modules/services/databases/mysql.nix b/nixos/modules/services/databases/mysql.nix index df74cfc9a26b..9f7727bb89f9 100644 --- a/nixos/modules/services/databases/mysql.nix +++ b/nixos/modules/services/databases/mysql.nix @@ -8,15 +8,11 @@ let mysql = cfg.package; - isMariaDB = - let - pName = _p: (builtins.parseDrvName (_p.name)).name; - in pName mysql == pName pkgs.mariadb; + isMariaDB = lib.getName mysql == lib.getName pkgs.mariadb; + isMysqlAtLeast57 = - let - pName = _p: (builtins.parseDrvName (_p.name)).name; - in (pName mysql == pName pkgs.mysql57) - && ((builtins.compareVersions mysql.version "5.7") >= 0); + (lib.getName mysql == lib.getName pkgs.mysql57) + && (builtins.compareVersions mysql.version "5.7" >= 0); mysqldOptions = "--user=${cfg.user} --datadir=${cfg.dataDir} --basedir=${mysql}"; diff --git a/nixos/modules/services/networking/znc/default.nix b/nixos/modules/services/networking/znc/default.nix index 05f97bfa539f..0a9848a49349 100644 --- a/nixos/modules/services/networking/znc/default.nix +++ b/nixos/modules/services/networking/znc/default.nix @@ -239,7 +239,7 @@ in services.znc = { configFile = mkDefault (pkgs.writeText "znc-generated.conf" semanticString); config = { - Version = (builtins.parseDrvName pkgs.znc.name).version; + Version = lib.getVersion pkgs.znc; Listener.l.Port = mkDefault 5000; Listener.l.SSL = mkDefault true; }; diff --git a/nixos/modules/system/boot/loader/grub/grub.nix b/nixos/modules/system/boot/loader/grub/grub.nix index e13f0421d38f..9a4db84f7b73 100644 --- a/nixos/modules/system/boot/loader/grub/grub.nix +++ b/nixos/modules/system/boot/loader/grub/grub.nix @@ -47,8 +47,8 @@ let grub = f grub; grubTarget = f (grub.grubTarget or ""); shell = "${pkgs.runtimeShell}"; - fullName = (builtins.parseDrvName realGrub.name).name; - fullVersion = (builtins.parseDrvName realGrub.name).version; + fullName = lib.getName realGrub; + fullVersion = lib.getVersion realGrub; grubEfi = f grubEfi; grubTargetEfi = if cfg.efiSupport && (cfg.version == 2) then f (grubEfi.grubTarget or "") else ""; bootPath = args.path; diff --git a/pkgs/applications/editors/kdevelop5/kdevelop.nix b/pkgs/applications/editors/kdevelop5/kdevelop.nix index 4c2011b5b035..88c35a6223a8 100644 --- a/pkgs/applications/editors/kdevelop5/kdevelop.nix +++ b/pkgs/applications/editors/kdevelop5/kdevelop.nix @@ -36,7 +36,7 @@ mkDerivation rec { # https://cgit.kde.org/kdevelop.git/commit/?id=716372ae2e8dff9c51e94d33443536786e4bd85b # required as nixos seems to be unable to find CLANG_BUILTIN_DIR cmakeFlags = [ - "-DCLANG_BUILTIN_DIR=${llvmPackages.clang-unwrapped}/lib/clang/${(builtins.parseDrvName llvmPackages.clang.name).version}/include" + "-DCLANG_BUILTIN_DIR=${llvmPackages.clang-unwrapped}/lib/clang/${lib.getVersion llvmPackages.clang}/include" ]; dontWrapQtApps = true; diff --git a/pkgs/applications/misc/sweethome3d/default.nix b/pkgs/applications/misc/sweethome3d/default.nix index 9dcdf8fd2b0e..76a62d1762c2 100644 --- a/pkgs/applications/misc/sweethome3d/default.nix +++ b/pkgs/applications/misc/sweethome3d/default.nix @@ -3,8 +3,6 @@ let - getDesktopFileName = drvName: (builtins.parseDrvName drvName).name; - # TODO: Should we move this to `lib`? Seems like its would be useful in many cases. extensionOf = filePath: lib.concatStringsSep "." (lib.tail (lib.splitString "." (builtins.baseNameOf filePath))); @@ -15,15 +13,15 @@ let '') icons); mkSweetHome3D = - { name, module, version, src, license, description, desktopName, icons }: + { pname, module, version, src, license, description, desktopName, icons }: stdenv.mkDerivation rec { - inherit name version src description; + inherit pname version src description; exec = stdenv.lib.toLower module; sweethome3dItem = makeDesktopItem { inherit exec desktopName; - name = getDesktopFileName name; - icon = getDesktopFileName name; + name = pname; + icon = pname; comment = description; genericName = "Computer Aided (Interior) Design"; categories = "Application;Graphics;2DGraphics;3DGraphics;"; @@ -49,7 +47,7 @@ let mkdir -p $out/bin cp install/${module}-${version}.jar $out/share/java/. - ${installIcons (getDesktopFileName name) icons} + ${installIcons pname icons} cp "${sweethome3dItem}/share/applications/"* $out/share/applications @@ -74,9 +72,9 @@ let in { application = mkSweetHome3D rec { + pname = stdenv.lib.toLower module + "-application"; version = "6.2"; module = "SweetHome3D"; - name = stdenv.lib.toLower module + "-application-" + version; description = "Design and visualize your future home"; license = stdenv.lib.licenses.gpl2Plus; src = fetchsvn { diff --git a/pkgs/applications/misc/sweethome3d/editors.nix b/pkgs/applications/misc/sweethome3d/editors.nix index eef5185aaeed..1d3f1a41e162 100644 --- a/pkgs/applications/misc/sweethome3d/editors.nix +++ b/pkgs/applications/misc/sweethome3d/editors.nix @@ -7,20 +7,17 @@ let m: "sweethome3d-" + removeSuffix "libraryeditor" (toLower m) + "-editor"; - sweetName = m: v: sweetExec m + "-" + v; - - getDesktopFileName = drvName: (builtins.parseDrvName drvName).name; mkEditorProject = - { name, module, version, src, license, description, desktopName }: + { pname, module, version, src, license, description, desktopName }: stdenv.mkDerivation rec { application = sweethome3dApp; - inherit name module version src description; + inherit pname module version src description; exec = sweetExec module; editorItem = makeDesktopItem { inherit exec desktopName; - name = getDesktopFileName name; + name = pname; comment = description; genericName = "Computer Aided (Interior) Design"; categories = "Application;Graphics;2DGraphics;3DGraphics;"; @@ -66,7 +63,7 @@ in { textures-editor = mkEditorProject rec { version = "1.5"; module = "TexturesLibraryEditor"; - name = sweetName module version; + pname = module; description = "Easily create SH3T files and edit the properties of the texture images it contain"; license = stdenv.lib.licenses.gpl2Plus; src = fetchcvs { @@ -81,7 +78,7 @@ in { furniture-editor = mkEditorProject rec { version = "1.19"; module = "FurnitureLibraryEditor"; - name = sweetName module version; + pname = module; description = "Quickly create SH3F files and edit the properties of the 3D models it contain"; license = stdenv.lib.licenses.gpl2; src = fetchcvs { diff --git a/pkgs/applications/networking/browsers/firefox/wrapper.nix b/pkgs/applications/networking/browsers/firefox/wrapper.nix index 3ed06717f6a2..69061cd08080 100644 --- a/pkgs/applications/networking/browsers/firefox/wrapper.nix +++ b/pkgs/applications/networking/browsers/firefox/wrapper.nix @@ -18,8 +18,10 @@ browser: let wrapper = - { browserName ? browser.browserName or (builtins.parseDrvName browser.name).name - , name ? (browserName + "-" + (builtins.parseDrvName browser.name).version) + { browserName ? browser.browserName or (lib.getName browser) + , name ? browserName + "-" + lib.getVersion browser # TODO delete, it's just for compat + , pname ? lib.getName name + , version ? lib.getVersion name , desktopName ? # browserName with first letter capitalized (lib.toUpper (lib.substring 0 1 browserName) + lib.substring 1 (-1) browserName) , nameSuffix ? "" @@ -83,7 +85,7 @@ let gtk_modules = [ libcanberra-gtk2 ]; in stdenv.mkDerivation { - inherit name; + inherit pname version; desktopItem = makeDesktopItem { name = browserName; diff --git a/pkgs/applications/networking/instant-messengers/slack/update.sh b/pkgs/applications/networking/instant-messengers/slack/update.sh index e5f793883538..6a15298c4e7d 100755 --- a/pkgs/applications/networking/instant-messengers/slack/update.sh +++ b/pkgs/applications/networking/instant-messengers/slack/update.sh @@ -3,7 +3,7 @@ set -eu -o pipefail -oldVersion="$(nix-instantiate --eval -E "with import ./. {}; slack-theme-black.version or (builtins.parseDrvName slack-theme-black.name).version" | tr -d '"')" +oldVersion="$(nix-instantiate --eval -E "with import ./. {}; lib.getVersion slack-theme-black" | tr -d '"')" latestSha="$(curl -L -s https://api.github.com/repos/laCour/slack-night-mode/commits\?sha\=master\&since\=${oldVersion} | jq -r '.[0].sha')" if [ ! "null" = "${latestSha}" ]; then diff --git a/pkgs/applications/networking/instant-messengers/zoom-us/update.sh b/pkgs/applications/networking/instant-messengers/zoom-us/update.sh index e06320424938..6214d4e26255 100755 --- a/pkgs/applications/networking/instant-messengers/zoom-us/update.sh +++ b/pkgs/applications/networking/instant-messengers/zoom-us/update.sh @@ -3,7 +3,7 @@ set -eu -o pipefail -oldVersion=$(nix-instantiate --eval -E "with import ./. {}; zoom-us.version or (builtins.parseDrvName zoom-us.name).version" | tr -d '"') +oldVersion=$(nix-instantiate --eval -E "with import ./. {}; lib.getVersion zoom-us" | tr -d '"') version="$(curl -sI https://zoom.us/client/latest/zoom_x86_64.tar.xz | grep -Fi 'Location:' | pcregrep -o1 '/(([0-9]\.?)+)/')" if [ ! "${oldVersion}" = "${version}" ]; then diff --git a/pkgs/applications/version-management/git-and-tools/git/update.sh b/pkgs/applications/version-management/git-and-tools/git/update.sh index 05944014743f..1f1a29782eca 100755 --- a/pkgs/applications/version-management/git-and-tools/git/update.sh +++ b/pkgs/applications/version-management/git-and-tools/git/update.sh @@ -3,7 +3,7 @@ set -eu -o pipefail -oldVersion="$(nix-instantiate --eval -E "with import ./. {}; git.version or (builtins.parseDrvName git.name).version" | tr -d '"')" +oldVersion="$(nix-instantiate --eval -E "with import ./. {}; lib.getVersion git" | tr -d '"')" latestTag="$(git ls-remote --tags --sort="v:refname" git://github.com/git/git.git | grep -v '\{\}' | grep -v '\-rc' | tail -1 | sed 's|^.*/v\(.*\)|\1|')" if [ ! "${oldVersion}" = "${latestTag}" ]; then diff --git a/pkgs/applications/version-management/monotone/default.nix b/pkgs/applications/version-management/monotone/default.nix index 7081e1a08996..bf8e5652d99c 100644 --- a/pkgs/applications/version-management/monotone/default.nix +++ b/pkgs/applications/version-management/monotone/default.nix @@ -5,7 +5,7 @@ let version = "1.1"; - perlVersion = (builtins.parseDrvName perl.name).version; + perlVersion = stdenv.lib.getVersion perl; in assert perlVersion != ""; diff --git a/pkgs/applications/video/vdr/wrapper.nix b/pkgs/applications/video/vdr/wrapper.nix index 497ad7c77a08..50d3b9d65a8d 100644 --- a/pkgs/applications/video/vdr/wrapper.nix +++ b/pkgs/applications/video/vdr/wrapper.nix @@ -8,7 +8,7 @@ in symlinkJoin { - name = "vdr-with-plugins-${(builtins.parseDrvName vdr.name).version}"; + name = "vdr-with-plugins-${lib.getVersion vdr}"; paths = [ vdr ] ++ plugins; diff --git a/pkgs/applications/virtualization/OVMF/default.nix b/pkgs/applications/virtualization/OVMF/default.nix index ecf6f1c54218..846f395671d2 100644 --- a/pkgs/applications/virtualization/OVMF/default.nix +++ b/pkgs/applications/virtualization/OVMF/default.nix @@ -16,7 +16,7 @@ let else throw "Unsupported architecture"; - version = (builtins.parseDrvName edk2.name).version; + version = lib.getVersion edk2; in edk2.mkDerivation projectDscPath { diff --git a/pkgs/common-updater/scripts/update-source-version b/pkgs/common-updater/scripts/update-source-version index 591ffa6ca5ba..0a436ff02a3d 100755 --- a/pkgs/common-updater/scripts/update-source-version +++ b/pkgs/common-updater/scripts/update-source-version @@ -92,8 +92,8 @@ if [ -z "$oldUrl" ]; then die "Couldn't evaluate source url from '$attr.src'!" fi -drvName=$(nix-instantiate $systemArg --eval -E "with import ./. {}; (builtins.parseDrvName $attr.name).name" | tr -d '"') -oldVersion=$(nix-instantiate $systemArg --eval -E "with import ./. {}; $attr.${versionKey} or (builtins.parseDrvName $attr.name).version" | tr -d '"') +drvName=$(nix-instantiate $systemArg --eval -E "with import ./. {}; lib.getName $attr" | tr -d '"') +oldVersion=$(nix-instantiate $systemArg --eval -E "with import ./. {}; $attr.${versionKey} or lib.getVersion $attr" | tr -d '"') if [ -z "$drvName" -o -z "$oldVersion" ]; then die "Couldn't evaluate name and version from '$attr.name'!" diff --git a/pkgs/desktops/gnome-3/default.nix b/pkgs/desktops/gnome-3/default.nix index 370733798aff..5347542928be 100644 --- a/pkgs/desktops/gnome-3/default.nix +++ b/pkgs/desktops/gnome-3/default.nix @@ -14,10 +14,9 @@ lib.makeScope pkgs.newScope (self: with self; { */ removePackagesByName = packages: packagesToRemove: let - pkgName = drv: (builtins.parseDrvName drv.name).name; - namesToRemove = map pkgName packagesToRemove; + namesToRemove = map lib.getName packagesToRemove; in - lib.filter (x: !(builtins.elem (pkgName x) namesToRemove)) packages; + lib.filter (x: !(builtins.elem (lib.getName x) namesToRemove)) packages; maintainers = with pkgs.lib.maintainers; [ lethalman jtojnar hedning worldofpeace ]; diff --git a/pkgs/development/compilers/chicken/4/eggDerivation.nix b/pkgs/development/compilers/chicken/4/eggDerivation.nix index 4dc7ebe66717..16f9c413d4c5 100644 --- a/pkgs/development/compilers/chicken/4/eggDerivation.nix +++ b/pkgs/development/compilers/chicken/4/eggDerivation.nix @@ -8,7 +8,7 @@ let libPath = "${chicken}/var/lib/chicken/${toString chicken.binaryVersion}/"; overrides = import ./overrides.nix; - baseName = (builtins.parseDrvName name).name; + baseName = lib.getName name; override = if builtins.hasAttr baseName overrides then builtins.getAttr baseName overrides diff --git a/pkgs/development/em-modules/generic/default.nix b/pkgs/development/em-modules/generic/default.nix index d1e7ac882d79..a260beb51044 100644 --- a/pkgs/development/em-modules/generic/default.nix +++ b/pkgs/development/em-modules/generic/default.nix @@ -10,8 +10,8 @@ pkgs.stdenv.mkDerivation ( args // { - pname = "emscripten-${args.pname or (builtins.parseDrvName args.name).name}"; - version = args.version or (builtins.parseDrvName args.name).version; + pname = "emscripten-${lib.getName args}"; + version = lib.getVersion args; buildInputs = [ emscripten python ] ++ buildInputs; nativeBuildInputs = [ emscripten python ] ++ nativeBuildInputs; diff --git a/pkgs/development/interpreters/lua-5/build-lua-package.nix b/pkgs/development/interpreters/lua-5/build-lua-package.nix index 74ccb91030aa..be7aa5fc09d7 100644 --- a/pkgs/development/interpreters/lua-5/build-lua-package.nix +++ b/pkgs/development/interpreters/lua-5/build-lua-package.nix @@ -161,7 +161,7 @@ builtins.removeAttrs attrs ["disabled" "checkInputs" "externalDeps"] // { # enabled only for src.rock setSourceRoot= let - name_only=(builtins.parseDrvName name).name; + name_only= lib.getName name; in lib.optionalString (knownRockspec == null) '' # format is rockspec_basename/source_basename diff --git a/pkgs/development/libraries/science/math/caffe2/default.nix b/pkgs/development/libraries/science/math/caffe2/default.nix index 26ec1237601f..a5c373ecde97 100644 --- a/pkgs/development/libraries/science/math/caffe2/default.nix +++ b/pkgs/development/libraries/science/math/caffe2/default.nix @@ -57,7 +57,7 @@ let dst = "pybind11"; }; - ccVersion = (builtins.parseDrvName stdenv.cc.name).version; + ccVersion = lib.getVersion stdenv.cc; in stdenv.mkDerivation rec { diff --git a/pkgs/development/lisp-modules/openssl-lib-marked.nix b/pkgs/development/lisp-modules/openssl-lib-marked.nix index e2c632b8ebad..186ef14b4068 100644 --- a/pkgs/development/lisp-modules/openssl-lib-marked.nix +++ b/pkgs/development/lisp-modules/openssl-lib-marked.nix @@ -2,7 +2,7 @@ with import ../../../default.nix {}; runCommand "openssl-lib-marked" {} '' mkdir -p "$out/lib" for lib in ssl crypto; do - version="${(builtins.parseDrvName openssl.name).version}" + version="${lib.getVersion openssl}" ln -s "${lib.getLib openssl}/lib/lib$lib.so" "$out/lib/lib$lib.so.$version" version="$(echo "$version" | sed -re 's/[a-z]+$//')" while test -n "$version"; do diff --git a/pkgs/development/perl-modules/generic/default.nix b/pkgs/development/perl-modules/generic/default.nix index 073b0f1c5ad3..714b693d2765 100644 --- a/pkgs/development/perl-modules/generic/default.nix +++ b/pkgs/development/perl-modules/generic/default.nix @@ -34,15 +34,15 @@ toPerlModule(stdenv.mkDerivation ( # https://metacpan.org/pod/release/XSAWYERX/perl-5.26.0/pod/perldelta.pod#Removal-of-the-current-directory-%28%22.%22%29-from-@INC PERL_USE_UNSAFE_INC = "1"; - meta.homepage = "https://metacpan.org/release/${attrs.pname or (builtins.parseDrvName attrs.name).name}"; # TODO: phase-out `attrs.name` + meta.homepage = "https://metacpan.org/release/${lib.getName attrs}"; # TODO: phase-out `attrs.name` meta.platforms = perl.meta.platforms; } attrs ) // { - pname = "perl${perl.version}-${attrs.pname or (builtins.parseDrvName attrs.name).name}"; # TODO: phase-out `attrs.name` - version = attrs.version or (builtins.parseDrvName attrs.name).version; # TODO: phase-out `attrs.name` + pname = "perl${perl.version}-${lib.getName attrs}"; # TODO: phase-out `attrs.name` + version = lib.getVersion attrs; # TODO: phase-out `attrs.name` builder = ./builder.sh; buildInputs = buildInputs ++ [ perl ]; nativeBuildInputs = nativeBuildInputs ++ [ (perl.dev or perl) ]; diff --git a/pkgs/development/tools/analysis/radare2/update.py b/pkgs/development/tools/analysis/radare2/update.py index 794581bca7ad..b9e72e623660 100755 --- a/pkgs/development/tools/analysis/radare2/update.py +++ b/pkgs/development/tools/analysis/radare2/update.py @@ -38,7 +38,7 @@ def get_radare2_rev() -> str: def get_cutter_version() -> str: version_expr = """ -(with import <nixpkgs> {}; (builtins.parseDrvName (qt5.callPackage <radare2/cutter.nix> {}).name).version) +(with import <nixpkgs> {}; lib.getVersion (qt5.callPackage <radare2/cutter.nix> {})) """ return sh("nix", "eval", "--raw", version_expr.strip(), "-I", "radare2={0}".format(SCRIPT_DIR)) diff --git a/pkgs/development/tools/continuous-integration/jenkins/update.sh b/pkgs/development/tools/continuous-integration/jenkins/update.sh index 66d1b4ceff66..4f2f6527eccc 100755 --- a/pkgs/development/tools/continuous-integration/jenkins/update.sh +++ b/pkgs/development/tools/continuous-integration/jenkins/update.sh @@ -4,7 +4,7 @@ set -eu -o pipefail core_json="$(curl -s --fail --location https://updates.jenkins.io/stable/update-center.actual.json | jq .core)" -oldVersion=$(nix-instantiate --eval -E "with import ./. {}; jenkins.version or (builtins.parseDrvName jenkins.name).version" | tr -d '"') +oldVersion=$(nix-instantiate --eval -E "with import ./. {}; lib.getVersion jenkins" | tr -d '"') version="$(jq -r .version <<<$core_json)" sha256="$(jq -r .sha256 <<<$core_json)" diff --git a/pkgs/development/tools/documentation/antora/default.nix b/pkgs/development/tools/documentation/antora/default.nix index 9f1aa0370871..6427fa461dde 100644 --- a/pkgs/development/tools/documentation/antora/default.nix +++ b/pkgs/development/tools/documentation/antora/default.nix @@ -1,16 +1,15 @@ { stdenv, nodePackages_10_x }: let - drvName = drv: (builtins.parseDrvName drv).name; linkNodeDeps = ({ pkg, deps, name ? "" }: let - targetModule = if name != "" then name else drvName pkg; + targetModule = if name != "" then name else stdenv.lib.getName pkg; in nodePackages_10_x.${pkg}.override (oldAttrs: { postInstall = '' mkdir -p $out/lib/node_modules/${targetModule}/node_modules ${stdenv.lib.concatStringsSep "\n" (map (dep: '' - ln -s ${nodePackages_10_x.${dep}}/lib/node_modules/${drvName dep} \ - $out/lib/node_modules/${targetModule}/node_modules/${drvName dep} + ln -s ${nodePackages_10_x.${dep}}/lib/node_modules/${stdenv.lib.getName dep} \ + $out/lib/node_modules/${targetModule}/node_modules/${stdenv.lib.getName dep} '') deps )} ''; diff --git a/pkgs/misc/emulators/retroarch/wrapper.nix b/pkgs/misc/emulators/retroarch/wrapper.nix index 71ae168f1b23..08ebf8ea8544 100644 --- a/pkgs/misc/emulators/retroarch/wrapper.nix +++ b/pkgs/misc/emulators/retroarch/wrapper.nix @@ -1,14 +1,8 @@ { stdenv, lib, makeWrapper, retroarch, cores }: -let - - p = builtins.parseDrvName retroarch.name; - -in - |