diff --git a/pkgs/development/ruby-modules/gem/default.nix b/pkgs/development/ruby-modules/gem/default.nix index 7ba8c70a98059..e5f9d045a5b49 100644 --- a/pkgs/development/ruby-modules/gem/default.nix +++ b/pkgs/development/ruby-modules/gem/default.nix @@ -18,7 +18,7 @@ # Normal gem packages can be used outside of bundler; a binstub is created in # $out/bin. -{ lib, fetchurl, fetchgit, makeWrapper, gitMinimal, darwin +{ lib, fetchurl, fetchgit, makeWrapper, gitMinimal, libobjc , ruby, bundler } @ defs: @@ -35,6 +35,7 @@ lib.makeOverridable ( , namePrefix ? (let rubyName = builtins.parseDrvName ruby.name; in "${rubyName.name}${rubyName.version}-") +, nativeBuildInputs ? [] , buildInputs ? [] , meta ? {} , patches ? [] @@ -87,11 +88,15 @@ stdenv.mkDerivation ((builtins.removeAttrs attrs ["source"]) // { inherit dontStrip; inherit type; - buildInputs = [ + nativeBuildInputs = [ ruby makeWrapper ] ++ lib.optionals (type == "git") [ gitMinimal ] ++ lib.optionals (type != "gem") [ bundler ] - ++ lib.optional stdenv.isDarwin darwin.libobjc + ++ nativeBuildInputs; + + buildInputs = [ + ruby + ] ++ lib.optionals stdenv.isDarwin [ libobjc ] ++ buildInputs; #name = builtins.trace (attrs.name or "no attr.name" ) "${namePrefix}${gemName}-${version}"; diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index cad446e147fe9..ec65625a41ebf 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -14584,7 +14584,9 @@ with pkgs; inherit (ocamlPackages) reason; - buildRubyGem = callPackage ../development/ruby-modules/gem { }; + buildRubyGem = callPackage ../development/ruby-modules/gem { + inherit (darwin) libobjc; + }; defaultGemConfig = callPackage ../development/ruby-modules/gem-config { inherit (darwin) DarwinTools cctools; inherit (darwin.apple_sdk.frameworks) CoreServices;