Skip to content

Commit

Permalink
treewide: Get rid of most parseDrvName without breaking compat
Browse files Browse the repository at this point in the history
That is because this commit should be merged to both master and
release-19.09.
  • Loading branch information
Ericson2314 committed Nov 24, 2019
1 parent 99537e9 commit 9b090cc
Show file tree
Hide file tree
Showing 38 changed files with 74 additions and 90 deletions.
11 changes: 5 additions & 6 deletions doc/configuration.xml
Expand Up @@ -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>
Expand Down Expand Up @@ -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>
Expand Down
2 changes: 1 addition & 1 deletion maintainers/scripts/update.nix
Expand Up @@ -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);
};

Expand Down
12 changes: 4 additions & 8 deletions nixos/modules/services/databases/mysql.nix
Expand Up @@ -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}";
Expand Down
2 changes: 1 addition & 1 deletion nixos/modules/services/networking/znc/default.nix
Expand Up @@ -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;
};
Expand Down
4 changes: 2 additions & 2 deletions nixos/modules/system/boot/loader/grub/grub.nix
Expand Up @@ -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;
Expand Down
2 changes: 1 addition & 1 deletion pkgs/applications/editors/kdevelop5/kdevelop.nix
Expand Up @@ -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;
Expand Down
14 changes: 6 additions & 8 deletions pkgs/applications/misc/sweethome3d/default.nix
Expand Up @@ -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)));
Expand All @@ -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;";
Expand All @@ -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
Expand All @@ -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 {
Expand Down
13 changes: 5 additions & 8 deletions pkgs/applications/misc/sweethome3d/editors.nix
Expand Up @@ -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;";
Expand Down Expand Up @@ -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 {
Expand All @@ -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 {
Expand Down
8 changes: 5 additions & 3 deletions pkgs/applications/networking/browsers/firefox/wrapper.nix
Expand Up @@ -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 ? ""
Expand Down Expand Up @@ -83,7 +85,7 @@ let
gtk_modules = [ libcanberra-gtk2 ];

in stdenv.mkDerivation {
inherit name;
inherit pname version;

desktopItem = makeDesktopItem {
name = browserName;
Expand Down
Expand Up @@ -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
Expand Down
Expand Up @@ -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
Expand Down
Expand Up @@ -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
Expand Down
2 changes: 1 addition & 1 deletion pkgs/applications/version-management/monotone/default.nix
Expand Up @@ -5,7 +5,7 @@

let
version = "1.1";
perlVersion = (builtins.parseDrvName perl.name).version;
perlVersion = stdenv.lib.getVersion perl;
in

assert perlVersion != "";
Expand Down
2 changes: 1 addition & 1 deletion pkgs/applications/video/vdr/wrapper.nix
Expand Up @@ -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;

Expand Down
2 changes: 1 addition & 1 deletion pkgs/applications/virtualization/OVMF/default.nix
Expand Up @@ -16,7 +16,7 @@ let
else
throw "Unsupported architecture";

version = (builtins.parseDrvName edk2.name).version;
version = lib.getVersion edk2;
in

edk2.mkDerivation projectDscPath {
Expand Down
4 changes: 2 additions & 2 deletions pkgs/common-updater/scripts/update-source-version
Expand Up @@ -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'!"
Expand Down
5 changes: 2 additions & 3 deletions pkgs/desktops/gnome-3/default.nix
Expand Up @@ -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 ];

Expand Down
2 changes: 1 addition & 1 deletion pkgs/development/compilers/chicken/4/eggDerivation.nix
Expand Up @@ -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
Expand Down
4 changes: 2 additions & 2 deletions pkgs/development/em-modules/generic/default.nix
Expand Up @@ -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;

Expand Down
2 changes: 1 addition & 1 deletion pkgs/development/interpreters/lua-5/build-lua-package.nix
Expand Up @@ -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
Expand Down
2 changes: 1 addition & 1 deletion pkgs/development/libraries/science/math/caffe2/default.nix
Expand Up @@ -57,7 +57,7 @@ let
dst = "pybind11";
};

ccVersion = (builtins.parseDrvName stdenv.cc.name).version;
ccVersion = lib.getVersion stdenv.cc;
in

stdenv.mkDerivation rec {
Expand Down
2 changes: 1 addition & 1 deletion pkgs/development/lisp-modules/openssl-lib-marked.nix
Expand Up @@ -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
Expand Down
6 changes: 3 additions & 3 deletions pkgs/development/perl-modules/generic/default.nix
Expand Up @@ -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) ];
Expand Down
2 changes: 1 addition & 1 deletion pkgs/development/tools/analysis/radare2/update.py
Expand Up @@ -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))

Expand Down
Expand Up @@ -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)"
Expand Down
7 changes: 3 additions & 4 deletions 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
)}
'';
Expand Down
10 changes: 2 additions & 8 deletions pkgs/misc/emulators/retroarch/wrapper.nix
@@ -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 ];

Expand Down

0 comments on commit 9b090cc

Please sign in to comment.