bundler: fix usage on nested call
The combination of bundler 1.12.5 and rubygems 1.6.2 doesn't play well at all when trying to run gems such as foreman where bundler is used to run bundler. Just upgrading to the latest bundler rc doesn't fix it and changing rubygems causes a massive rebuild. Issues: - https://github.com/bundler/bundler/issues/4402 - https://github.com/bundler/bundler/issues/4576 - https://github.com/bundler/bundler/issues/4602 - https://github.com/docker-library/ruby/issues/73 This PR patches bundler to work around the issue as highlighted here and unbreaks everything for me: https://github.com/bundler/bundler/issues/4602#issuecomment-233619696
This commit is contained in:
parent
2755bcfa7c
commit
6ae57b1b63
@ -7,4 +7,8 @@ buildRubyGem rec {
|
||||
version = "1.12.5";
|
||||
sha256 = "1q84xiwm9j771lpmiply0ls9l2bpvl5axn3jblxjvrldh8di2pkc";
|
||||
dontPatchShebangs = true;
|
||||
|
||||
postFixup = ''
|
||||
sed -i -e "s/activate_bin_path/bin_path/g" $out/bin/bundle
|
||||
'';
|
||||
}
|
||||
|
@ -29,6 +29,21 @@ let
|
||||
in
|
||||
|
||||
{
|
||||
bundler = attrs:
|
||||
let
|
||||
templates = "${attrs.ruby.gemPath}/gems/${attrs.gemName}-${attrs.version}/lib/bundler/templates/";
|
||||
in {
|
||||
# patching shebangs would fail on the templates/Executable file, so we
|
||||
# temporarily remove the executable flag.
|
||||
preFixup = "chmod -x $out/${templates}/Executable";
|
||||
postFixup = ''
|
||||
chmod +x $out/${templates}/Executable
|
||||
|
||||
# Allows to load another bundler version
|
||||
sed -i -e "s/activate_bin_path/bin_path/g" $out/bin/bundle
|
||||
'';
|
||||
};
|
||||
|
||||
capybara-webkit = attrs: {
|
||||
buildInputs = [ qt48 ];
|
||||
};
|
||||
@ -177,14 +192,5 @@ in
|
||||
'';
|
||||
};
|
||||
|
||||
# patching shebangs would fail on the templates/Executable file, so we
|
||||
# temporarily remove the executable flag.
|
||||
bundler = attrs:
|
||||
let
|
||||
templates = "${attrs.ruby.gemPath}/gems/${attrs.gemName}-${attrs.version}/lib/bundler/templates/";
|
||||
in {
|
||||
preFixup = "chmod -x $out/${templates}/Executable";
|
||||
postFixup = "chmod +x $out/${templates}/Executable";
|
||||
};
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user