asciidoctor: move mathematical gem config to default gemset config

This has two benefits:
- Anyone else using the `mathematical` gem will benefit from the config.
- The gem config overrides the default one, so we were losing the fixes
for other gems.

I had to change how the update script works. Now it looks at the `gems`
passthru from `bundlerApp`.
This commit is contained in:
Michael Peyton Jones
2019-07-04 13:16:03 +01:00
parent 73392e79aa
commit 5f0c43dea4
3 changed files with 49 additions and 54 deletions
@@ -24,6 +24,7 @@
, msgpack, qt59, libsodium, snappy, libossp_uuid, lxc, libpcap, xorg, gtk2, buildRubyGem
, cairo, re2, rake, gobject-introspection, gdk_pixbuf, zeromq, czmq, graphicsmagick, libcxx
, file, libvirt, glib, vips, taglib, libopus, linux-pam, libidn, protobuf, fribidi, harfbuzz
, bison, flex, pango, python3, patchelf
, libselinux ? null, libsepol ? null
}@args:
@@ -245,6 +246,32 @@ in
];
};
mathematical = attrs: {
buildInputs = [
cmake
bison
flex
glib
pkgconfig
cairo
pango
gdk_pixbuf
libxml2
python3
];
# The ruby build script takes care of this
dontUseCmakeConfigure = true;
# 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"
${patchelf}/bin/patchelf \
--set-rpath "${lib.makeLibraryPath [ glib cairo ]}:$(${patchelf}/bin/patchelf --print-rpath "$soPath")" \
"$soPath"
'';
};
magic = attrs: {
buildInputs = [ file ];
postInstall = ''