From cd5b8620bb66b2ea2fbece2191dc97d065ffa720 Mon Sep 17 00:00:00 2001 From: danbst Date: Thu, 15 Aug 2019 02:23:52 +0300 Subject: stdenv/check-meta: construct name from pname and version if name unavailable --- pkgs/stdenv/generic/check-meta.nix | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) (limited to 'pkgs/stdenv') diff --git a/pkgs/stdenv/generic/check-meta.nix b/pkgs/stdenv/generic/check-meta.nix index 89e2a7a8031..1a96d9b3acf 100644 --- a/pkgs/stdenv/generic/check-meta.nix +++ b/pkgs/stdenv/generic/check-meta.nix @@ -7,6 +7,7 @@ let # If we're in hydra, we can dispense with the more verbose error # messages and make problems easier to spot. inHydra = config.inHydra or false; + getName = attrs: attrs.name or ("${attrs.pname or "«name-missing»"}-${attrs.version or "«version-missing»"}"); # See discussion at https://github.com/NixOS/nixpkgs/pull/25304#issuecomment-298385426 # for why this defaults to false, but I (@copumpkin) want to default it to true soon. @@ -107,23 +108,23 @@ let You can install it anyway by whitelisting this package, using the following methods: - a) for `nixos-rebuild` you can add ‘${attrs.name or "«name-missing»"}’ to + a) for `nixos-rebuild` you can add ‘${getName attrs}’ to `nixpkgs.config.permittedInsecurePackages` in the configuration.nix, like so: { nixpkgs.config.permittedInsecurePackages = [ - "${attrs.name or "«name-missing»"}" + "${getName attrs}" ]; } b) For `nix-env`, `nix-build`, `nix-shell` or any other Nix command you can add - ‘${attrs.name or "«name-missing»"}’ to `permittedInsecurePackages` in + ‘${getName attrs}’ to `permittedInsecurePackages` in ~/.config/nixpkgs/config.nix, like so: { permittedInsecurePackages = [ - "${attrs.name or "«name-missing»"}" + "${getName attrs}" ]; } @@ -134,9 +135,9 @@ let actualOutputs = attrs.outputs or [ "out" ]; missingOutputs = builtins.filter (output: ! builtins.elem output actualOutputs) expectedOutputs; in '' - The package ${attrs.name} has set meta.outputsToInstall to: ${builtins.concatStringsSep ", " expectedOutputs} + The package ${getName attrs} has set meta.outputsToInstall to: ${builtins.concatStringsSep ", " expectedOutputs} - however ${attrs.name} only has the outputs: ${builtins.concatStringsSep ", " actualOutputs} + however ${getName attrs} only has the outputs: ${builtins.concatStringsSep ", " actualOutputs} and is missing the following ouputs: @@ -146,9 +147,9 @@ let handleEvalIssue = { meta, attrs }: { reason , errormsg ? "" }: let msg = if inHydra - then "Failed to evaluate ${attrs.name or "«name-missing»"}: «${reason}»: ${errormsg}" + then "Failed to evaluate ${getName attrs}: «${reason}»: ${errormsg}" else '' - Package ‘${attrs.name or "«name-missing»"}’ in ${pos_str meta} ${errormsg}, refusing to evaluate. + Package ‘${getName attrs}’ in ${pos_str meta} ${errormsg}, refusing to evaluate. '' + (builtins.getAttr reason remediation) attrs; -- cgit 1.4.1