about summary refs log tree commit diff
path: root/pkgs/build-support/fetchgithub
diff options
context:
space:
mode:
authorSergei Trofimovich <slyich@gmail.com>2023-12-31 11:40:48 +0000
committerSergei Trofimovich <slyich@gmail.com>2023-12-31 11:44:22 +0000
commit610408381746ee3e4c5b25f04b6db12c8128299b (patch)
tree021f3722519239eb7e22bef77dd37796a3967a84 /pkgs/build-support/fetchgithub
parent55b9aa64c39d6c34b6ef878fbad405900782e998 (diff)
build-support/fetchgithub: fix metadata eval for arguments without locations
Without the change metadata evaluation fails on package like
`zammad.src` where no fields are defined in `.nix `files:

    src = fetchFromGitHub (lib.importJSON ./source.json);

There evaluation fails as:

    $ nix-instantiate --strict --eval --expr 'with import ./. {}; zammad.src.meta'
    error:
           23|     # to indicate where derivation originates, similar to make-derivation.nix's mkDerivation
           24|     position = "${position.file}:${toString position.line}";
             |     ^
           25|   };
       error: value is null while a set was expected

After the change evaluation succeeds as:

    $ nix-instantiate --strict --eval --expr 'with import ./. {}; zammad.src.meta'
    { homepage = "https://github.com/zammad/zammad"; }
Diffstat (limited to 'pkgs/build-support/fetchgithub')
-rw-r--r--pkgs/build-support/fetchgithub/default.nix2
1 files changed, 1 insertions, 1 deletions
diff --git a/pkgs/build-support/fetchgithub/default.nix b/pkgs/build-support/fetchgithub/default.nix
index a2498700b545d..231c0fb622b96 100644
--- a/pkgs/build-support/fetchgithub/default.nix
+++ b/pkgs/build-support/fetchgithub/default.nix
@@ -19,7 +19,7 @@ let
   baseUrl = "https://${githubBase}/${owner}/${repo}";
   newMeta = meta // {
     homepage = meta.homepage or baseUrl;
-
+  } // lib.optionalAttrs (position != null) {
     # to indicate where derivation originates, similar to make-derivation.nix's mkDerivation
     position = "${position.file}:${toString position.line}";
   };