aboutsummaryrefslogtreecommitdiff
path: root/infra/libkookie/nixpkgs/pkgs/development/ruby-modules/gem/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'infra/libkookie/nixpkgs/pkgs/development/ruby-modules/gem/default.nix')
-rw-r--r--infra/libkookie/nixpkgs/pkgs/development/ruby-modules/gem/default.nix9
1 files changed, 7 insertions, 2 deletions
diff --git a/infra/libkookie/nixpkgs/pkgs/development/ruby-modules/gem/default.nix b/infra/libkookie/nixpkgs/pkgs/development/ruby-modules/gem/default.nix
index 158d5891ec3a..9e64b120af85 100644
--- a/infra/libkookie/nixpkgs/pkgs/development/ruby-modules/gem/default.nix
+++ b/infra/libkookie/nixpkgs/pkgs/development/ruby-modules/gem/default.nix
@@ -49,6 +49,11 @@ lib.makeOverridable (
, propagatedUserEnvPkgs ? []
, buildFlags ? []
, passthru ? {}
+# bundler expects gems to be stored in the cache directory for certain actions
+# such as `bundler install --redownload`.
+# At the cost of increasing the store size, you can keep the gems to have closer
+# alignment with what Bundler expects.
+, keepGemCache ? false
, ...} @ attrs:
let
@@ -207,8 +212,8 @@ stdenv.mkDerivation ((builtins.removeAttrs attrs ["source"]) // {
# looks like useless files which break build repeatability and consume space
pushd $out/${ruby.gemPath}
rm -fv doc/*/*/created.rid || true
- rm -fv {gems/*/ext/*,extensions/*/*/*}/{mkmf.log,gem_make.out} || true
- rm -fvr cache
+ rm -fv {gems/*/ext/*,extensions/*/*/*}/{Makefile,mkmf.log,gem_make.out} || true
+ ${if keepGemCache then "" else "rm -fvr cache"}
popd
# write out metadata and binstubs