about summary refs log tree commit diff
path: root/pkgs/development/ruby-modules
diff options
context:
space:
mode:
authorSergei Trofimovich <slyich@gmail.com>2024-01-11 17:25:31 +0000
committerSergei Trofimovich <slyich@gmail.com>2024-01-11 17:25:31 +0000
commit38b39dd404feb6229110ddbc08bdb834a797b4ee (patch)
tree4a2bab6f02f173b5cbef7f182fe5f149e31203dd /pkgs/development/ruby-modules
parent3d1fe1445ce13dd6e5397d75b590e90e5830081f (diff)
downloadnixlib-38b39dd404feb6229110ddbc08bdb834a797b4ee.tar
nixlib-38b39dd404feb6229110ddbc08bdb834a797b4ee.tar.gz
nixlib-38b39dd404feb6229110ddbc08bdb834a797b4ee.tar.bz2
nixlib-38b39dd404feb6229110ddbc08bdb834a797b4ee.tar.lz
nixlib-38b39dd404feb6229110ddbc08bdb834a797b4ee.tar.xz
nixlib-38b39dd404feb6229110ddbc08bdb834a797b4ee.tar.zst
nixlib-38b39dd404feb6229110ddbc08bdb834a797b4ee.zip
ruby-modules/bundled-common: do not define `gemType` for `null` packages
Without the change `gemType` gets defined via `null` attrset that
exposes unevaluatable attribute:

    nix-repl> ronin.gemType
    error:
       … while evaluating the attribute 'gemType'

         at pkgs/development/ruby-modules/bundled-common/default.nix:122:30:

          121|       inherit ruby bundler gems confFiles envPaths;
          122|       inherit (gems.${pname}) gemType;
             |                              ^
          123|

       … while evaluating an attribute name

       error: value is null while a string was expected

After the change `passthru` does not expose a `gemType` if `pname` is
`null`.
Diffstat (limited to 'pkgs/development/ruby-modules')
-rw-r--r--pkgs/development/ruby-modules/bundled-common/default.nix7
1 files changed, 4 insertions, 3 deletions
diff --git a/pkgs/development/ruby-modules/bundled-common/default.nix b/pkgs/development/ruby-modules/bundled-common/default.nix
index 86c885b52dcb..6aca502550b6 100644
--- a/pkgs/development/ruby-modules/bundled-common/default.nix
+++ b/pkgs/development/ruby-modules/bundled-common/default.nix
@@ -117,9 +117,10 @@ let
 
     meta = { platforms = ruby.meta.platforms; } // meta;
 
-    passthru = rec {
-      inherit ruby bundler gems confFiles envPaths;
+    passthru = (lib.optionalAttrs (pname != null) {
       inherit (gems.${pname}) gemType;
+    } // rec {
+      inherit ruby bundler gems confFiles envPaths;
 
       wrappedRuby = stdenv.mkDerivation {
         name = "wrapped-ruby-${pname'}";
@@ -172,7 +173,7 @@ let
             exit 1
           '';
         };
-    };
+    });
   };
 
   basicEnv =