Merge pull request #77149 from alyssais/asciidoctor

Reduce AsciiDoctor closure size
This commit is contained in:
zimbatm 2020-01-10 14:35:29 +00:00 committed by GitHub
commit ddc83e68cc
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
4 changed files with 24 additions and 6 deletions

View file

@ -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

View file

@ -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 ];
@ -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"

View file

@ -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`;
@ -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)

View file

@ -9409,8 +9409,6 @@ in
docSupport = false;
yamlSupport = false;
fiddleSupport = false;
# remove gcc from runtime closure
removeReferenceToCC = true;
};
ruby = ruby_2_6;