treewide: Get rid of most parseDrvName without breaking compat

That is because this commit should be merged to both master and
release-19.09.
This commit is contained in:
John Ericson 2019-11-24 17:22:28 +00:00
parent 99537e994f
commit 9b090ccbca
38 changed files with 74 additions and 90 deletions

View File

@ -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) &lt;= 5);
allowInsecurePredicate = (pkg: (builtins.stringLength (lib.getName pkg) &lt;= 5);
}
</programlisting>
</para>

View File

@ -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);
};

View File

@ -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}";

View File

@ -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;
};

View File

@ -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;

View File

@ -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;

View File

@ -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 {

View File

@ -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 {

View File

@ -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;

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -5,7 +5,7 @@
let
version = "1.1";
perlVersion = (builtins.parseDrvName perl.name).version;
perlVersion = stdenv.lib.getVersion perl;
in
assert perlVersion != "";

View File

@ -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;

View File

@ -16,7 +16,7 @@ let
else
throw "Unsupported architecture";
version = (builtins.parseDrvName edk2.name).version;
version = lib.getVersion edk2;
in
edk2.mkDerivation projectDscPath {

View File

@ -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'!"

View File

@ -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 ];

View File

@ -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

View File

@ -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;

View File

@ -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

View File

@ -57,7 +57,7 @@ let
dst = "pybind11";
};
ccVersion = (builtins.parseDrvName stdenv.cc.name).version;
ccVersion = lib.getVersion stdenv.cc;
in
stdenv.mkDerivation rec {

View File

@ -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

View File

@ -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) ];

View File

@ -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))

View File

@ -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)"

View File

@ -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
)}
'';

View File

@ -1,14 +1,8 @@
{ stdenv, lib, makeWrapper, retroarch, cores }:
let
p = builtins.parseDrvName retroarch.name;
in
stdenv.mkDerivation {
name = "retroarch-" + p.version;
version = p.version;
pname = "retroarch";
version = lib.getVersion retroarch;
buildInputs = [ makeWrapper ];

View File

@ -5,7 +5,7 @@ with callPackage ./util.nix {};
let patch = (callPackage ./sources.nix {}).staging;
build-inputs = pkgNames: extra:
(mkBuildInputs wineUnstable.pkgArches pkgNames) ++ extra;
in assert (builtins.parseDrvName wineUnstable.name).version == patch.version;
in assert stdenv.lib.getVersion wineUnstable == patch.version;
stdenv.lib.overrideDerivation wineUnstable (self: {
buildInputs = build-inputs [ "perl" "utillinux" "autoconf" libtxc_dxtn_Name ] self.buildInputs;

View File

@ -25,7 +25,7 @@ let
addonInfo ? null,
preInstall ? "",
postInstall ? "",
path ? (builtins.parseDrvName pluginName).name,
path ? lib.getName pluginName,
dependencies ? [],
...
}:

View File

@ -18,7 +18,7 @@ rec {
buildPhase ? "",
preInstall ? "",
postInstall ? "",
path ? (builtins.parseDrvName name).name,
path ? stdenv.lib.getName name,
addonInfo ? null,
...
}:

View File

@ -8,7 +8,7 @@ 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;
let xorgFullVer = lib.getVersion xorg.xorgserver;
xorgVer = lib.concatStringsSep "." (lib.take 2 (lib.splitString "." xorgFullVer));
x64 = if stdenv.hostPlatform.system == "x86_64-linux" then true
else if stdenv.hostPlatform.system == "i686-linux" then false
@ -44,7 +44,7 @@ stdenv.mkDerivation rec {
( cd $sourceRoot/tools; tar -xaf prltools${if x64 then ".x64" else ""}.tar.gz )
'';
kernelVersion = if libsOnly then "" else (builtins.parseDrvName kernel.name).version;
kernelVersion = if libsOnly then "" else lib.getName kernel.name;
kernelDir = if libsOnly then "" else "${kernel.dev}/lib/modules/${kernelVersion}";
scriptPath = lib.concatStringsSep ":" (lib.optionals (!libsOnly) [ "${utillinux}/bin" "${gawk}/bin" ]);

View File

@ -520,7 +520,7 @@ self: super:
xorgserver = with self; super.xorgserver.overrideAttrs (attrs_passed:
# exchange attrs if abiCompat is set
let
version = (builtins.parseDrvName attrs_passed.name).version;
version = lib.getVersion attrs_passed;
attrs =
if (abiCompat == null || lib.hasPrefix abiCompat version) then
attrs_passed // {
@ -555,7 +555,7 @@ self: super:
in attrs //
(let
version = (builtins.parseDrvName attrs.name).version;
version = lib.getVersion attrs;
commonBuildInputs = attrs.buildInputs ++ [ xtrans ];
commonPropagatedBuildInputs = [
zlib libGL libGLU dbus

View File

@ -3,7 +3,7 @@
set -eu -o pipefail
oldVersion="$(nix-instantiate --eval -E "with import ./. {}; oh-my-zsh.version or (builtins.parseDrvName oh-my-zsh.name).version" | tr -d '"')"
oldVersion="$(nix-instantiate --eval -E "with import ./. {}; lib.getVersion oh-my-zsh" | tr -d '"')"
latestSha="$(curl -L -s https://api.github.com/repos/robbyrussell/oh-my-zsh/commits\?sha\=master\&since\=${oldVersion} | jq -r '.[0].sha')"
url="$(nix-instantiate --eval -E "with import ./. {}; oh-my-zsh.src.url" | tr -d '"')"

View File

@ -13,7 +13,7 @@ stdenv.mkDerivation rec {
nativeBuildInputs = [ pkgconfig ];
buildInputs = [ cmake qt4 taglib chromaprint ffmpeg ];
cmakeFlags = [ "-DTAGLIB_MIN_VERSION=${(builtins.parseDrvName taglib.name).version}" ];
cmakeFlags = [ "-DTAGLIB_MIN_VERSION=${stdenv.lib.getVersion taglib}" ];
patches = [
(fetchpatch {

View File

@ -3,7 +3,7 @@
}:
let
name = "ibus-with-plugins-" + (builtins.parseDrvName ibus.name).version;
name = "ibus-with-plugins-" + stdenv.lib.getVersion ibus;
env = {
buildInputs = [ ibus ] ++ plugins;
nativeBuildInputs = [ lndir makeWrapper ];

View File

@ -1,7 +1,7 @@
{ stdenv, afl}:
stdenv.mkDerivation {
version = (builtins.parseDrvName afl.name).version;
version = stdenv.lib.getVersion afl;
pname = "libdislocator";
src = afl.src;

View File

@ -18327,8 +18327,8 @@ in
firefox-bin = wrapFirefox firefox-bin-unwrapped {
browserName = "firefox";
name = "firefox-bin-" +
(builtins.parseDrvName firefox-bin-unwrapped.name).version;
pname = "firefox-bin";
version = lib.getVersion firefox-bin-unwrapped;
desktopName = "Firefox";
};
@ -18341,8 +18341,8 @@ in
firefox-beta-bin = res.wrapFirefox firefox-beta-bin-unwrapped {
browserName = "firefox";
name = "firefox-beta-bin-" +
(builtins.parseDrvName firefox-beta-bin-unwrapped.name).version;
pname = "firefox-beta-bin";
version = lib.getVersion firefox-beta-bin-unwrapped;
desktopName = "Firefox Beta";
};
@ -18356,8 +18356,8 @@ in
firefox-devedition-bin = res.wrapFirefox firefox-devedition-bin-unwrapped {
browserName = "firefox";
nameSuffix = "-devedition";
name = "firefox-devedition-bin-" +
(builtins.parseDrvName firefox-devedition-bin-unwrapped.name).version;
pname = "firefox-devedition-bin";
version = lib.getVersion firefox-devedition-bin-unwrapped;
desktopName = "Firefox DevEdition";
};

View File

@ -23,7 +23,7 @@ let
isLua51 = (lib.versions.majorMinor lua.version) == "5.1";
isLua52 = (lib.versions.majorMinor lua.version) == "5.2";
isLua53 = lua.luaversion == "5.3";
isLuaJIT = (builtins.parseDrvName lua.name).name == "luajit";
isLuaJIT = lib.getName lua == "luajit";
lua-setup-hook = callPackage ../development/interpreters/lua-5/setup-hook.nix { };