From e377a4d31291cce150f91e611c0a56b26d597cd4 Mon Sep 17 00:00:00 2001 From: Tobias Bergkvist Date: Tue, 22 Feb 2022 01:12:57 +0100 Subject: [PATCH 1/2] ruby-modules/bundler-env: Replace makeWrapper with makeBinaryWrapper to make bundled ruby apps work on macOS --- pkgs/development/ruby-modules/bundled-common/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/ruby-modules/bundled-common/default.nix b/pkgs/development/ruby-modules/bundled-common/default.nix index 6a4a87bc8963..d06073b21bea 100644 --- a/pkgs/development/ruby-modules/bundled-common/default.nix +++ b/pkgs/development/ruby-modules/bundled-common/default.nix @@ -1,6 +1,6 @@ { stdenv, runCommand, ruby, lib, rsync , defaultGemConfig, buildRubyGem, buildEnv -, makeWrapper +, makeBinaryWrapper , bundler }@defs: @@ -118,7 +118,7 @@ let wrappedRuby = stdenv.mkDerivation { name = "wrapped-ruby-${pname'}"; - nativeBuildInputs = [ makeWrapper ]; + nativeBuildInputs = [ makeBinaryWrapper ]; inherit (ruby) gemPath meta; buildCommand = '' mkdir -p $out/bin From a734cbbd5d1faf3c6139565a418b5a7f70a9b315 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sandro=20J=C3=A4ckel?= Date: Wed, 9 Mar 2022 16:13:59 +0100 Subject: [PATCH 2/2] wrappedRuby: add test for binaryWrapper --- .../ruby-modules/bundled-common/default.nix | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/pkgs/development/ruby-modules/bundled-common/default.nix b/pkgs/development/ruby-modules/bundled-common/default.nix index d06073b21bea..7bad0b442da6 100644 --- a/pkgs/development/ruby-modules/bundled-common/default.nix +++ b/pkgs/development/ruby-modules/bundled-common/default.nix @@ -118,9 +118,12 @@ let wrappedRuby = stdenv.mkDerivation { name = "wrapped-ruby-${pname'}"; + nativeBuildInputs = [ makeBinaryWrapper ]; - inherit (ruby) gemPath meta; - buildCommand = '' + + dontUnpack = true; + + buildPhase = '' mkdir -p $out/bin for i in ${ruby}/bin/*; do makeWrapper "$i" $out/bin/$(basename "$i") \ @@ -131,6 +134,15 @@ let --set GEM_PATH ${basicEnv}/${ruby.gemPath} done ''; + + dontInstall = true; + + doCheck = true; + checkPhase = '' + $out/bin/ruby --help > /dev/null + ''; + + inherit (ruby) meta; }; env = let