3
0
Fork 0
forked from mirrors/nixpkgs

ghostscript: link against "systemwide" liblcms2

GS ships with a fork of lcms2 ("lcms2mt"), but the ABI separation
between the fork and the original seems insufficient. If libgs is linked
alongside liblcms2 (for example, this is the case with imagemagick) then
it will call into the original library instead of the fork, causing
segfaults.

Follow the example of both Arch and Debian in this regard -- they both
use the systemwide lib instead of the fork.
This commit is contained in:
Pierre Bourdon 2019-03-11 00:07:18 +01:00
parent b854767dac
commit 128bb7be2a
No known key found for this signature in database
GPG key ID: 6FB80DCD84DA0F1C

View file

@ -1,6 +1,6 @@
{ config, stdenv, lib, fetchurl, pkgconfig, zlib, expat, openssl, autoconf
, libjpeg, libpng, libtiff, freetype, fontconfig, libpaper, jbig2dec
, libiconv, ijs
, libiconv, ijs, lcms2
, cupsSupport ? config.ghostscript.cups or (!stdenv.isDarwin), cups ? null
, x11Support ? cupsSupport, xlibsWrapper ? null # with CUPS, X11 only adds very little
}:
@ -56,16 +56,15 @@ stdenv.mkDerivation rec {
buildInputs =
[ zlib expat openssl
libjpeg libpng libtiff freetype fontconfig libpaper jbig2dec
libiconv ijs
libiconv ijs lcms2
]
++ lib.optional x11Support xlibsWrapper
++ lib.optional cupsSupport cups
;
# No lcms2; upstream "is in process of forking it" and thus won't use one from a library.
preConfigure = ''
# requires in-tree (heavily patched) openjpeg
rm -rf jpeg libpng zlib jasper expat tiff lcms{,2} jbig2dec freetype cups/libs ijs
rm -rf jpeg libpng zlib jasper expat tiff lcms2mt jbig2dec freetype cups/libs ijs
sed "s@if ( test -f \$(INCLUDE)[^ ]* )@if ( true )@; s@INCLUDE=/usr/include@INCLUDE=/no-such-path@" -i base/unix-aux.mak
sed "s@^ZLIBDIR=.*@ZLIBDIR=${zlib.dev}/include@" -i configure.ac