Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion pkgs/development/interpreters/ruby/default.nix
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@ let
# puts a reference to the C compiler in the binary.
# This might be required by some gems at runtime,
# but we allow to strip it out for smaller closure size.
, removeReferencesTo, removeReferenceToCC ? false
, removeReferencesTo, removeReferenceToCC ? true
, autoreconfHook, bison, autoconf
, buildEnv, bundler, bundix
, libiconv, libobjc, libunwind, Foundation
Expand Down
17 changes: 17 additions & 0 deletions pkgs/development/ruby-modules/gem-config/default.nix
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,15 @@ let
in

{
asciidoctor-diagram = { version, ruby, ... }: {
postInstall = ''
# Delete vendored JAR files unless using JRuby.
if ruby -e 'exit(RUBY_PLATFORM != "java")'; then
rm -v $out/${ruby.gemPath}/gems/$gemName-${version}/lib/*.jar
fi
'';
};

atk = attrs: {
dependencies = attrs.dependencies ++ [ "gobject-introspection" ];
nativeBuildInputs = [ rake bundler pkgconfig ];
Expand Down Expand Up @@ -315,6 +324,14 @@ in
# The ruby build script takes care of this
dontUseCmakeConfigure = true;

postInstall = ''
# Reduce output size by a lot, and remove some unnecessary references.
# The ext directory should only be required at build time, so
# can be deleted now.
rm -r $out/${ruby.gemPath}/gems/mathematical-${attrs.version}/ext \
$out/${ruby.gemPath}/extensions/*/*/mathematical-${attrs.version}/gem_make.out
'';

# For some reason 'mathematical.so' is missing cairo and glib in its RPATH, add them explicitly here
postFixup = lib.optionalString stdenv.isLinux ''
soPath="$out/${ruby.gemPath}/gems/mathematical-${attrs.version}/lib/mathematical/mathematical.so"
Expand Down
9 changes: 6 additions & 3 deletions pkgs/development/ruby-modules/gem/default.nix
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ lib.makeOverridable (
, meta ? {}
, patches ? []
, gemPath ? []
, dontStrip ? true
, dontStrip ? false
# Assume we don't have to build unless strictly necessary (e.g. the source is a
# git checkout).
# If you need to apply patches, make sure to set `dontBuild = false`;
Expand Down Expand Up @@ -205,8 +205,11 @@ stdenv.mkDerivation ((builtins.removeAttrs attrs ["source"]) // {
$gempkg $gemFlags -- $buildFlags

# looks like useless files which break build repeatability and consume space
rm -fv $out/${ruby.gemPath}/doc/*/*/created.rid || true
rm -fv $out/${ruby.gemPath}/gems/*/ext/*/mkmf.log || true
pushd $out/${ruby.gemPath}
rm -fv doc/*/*/created.rid || true
rm -fv {gems/*/ext/*,extensions/*/*/*}/{mkmf.log,gem_make.out} || true
rm -fvr cache
popd

# write out metadata and binstubs
spec=$(echo $out/${ruby.gemPath}/specifications/*.gemspec)
Expand Down
2 changes: 0 additions & 2 deletions pkgs/top-level/all-packages.nix
Original file line number Diff line number Diff line change
Expand Up @@ -9409,8 +9409,6 @@ in
docSupport = false;
yamlSupport = false;
fiddleSupport = false;
# remove gcc from runtime closure
removeReferenceToCC = true;
};

ruby = ruby_2_6;
Expand Down