imagemagick: Reduce dependency bloat

The closure size of imagemagick has recently gone up from 530 MB
(already bad) to 846 MB, which is a bit excessive. So revert most of
the recent changes.
This commit is contained in:
Eelco Dolstra 2015-07-26 23:33:49 +02:00
parent a68de0cc16
commit 7f0a596473
2 changed files with 18 additions and 69 deletions

View File

@ -1,11 +1,6 @@
{ stdenv, fetchurl, pkgconfig, libtool { lib, stdenv, fetchurl, pkgconfig, libtool
, libcl ? null, perl ? null, jemalloc ? null, bzip2 ? null, zlib ? null , bzip2, zlib, libX11, libXext, libXt, fontconfig, freetype, ghostscript, libjpeg
, libX11 ? null, libXext ? null, libXt ? null, dejavu_fonts ? null, fftw ? null , lcms2, openexr, libpng, librsvg, libtiff, libxml2
, libfpx ? null, djvulibre ? null, fontconfig ? null, freetype ? null
, ghostscript ? null, graphviz ? null, jbigkit ? null, libjpeg ? null
, lcms2 ? null, openjpeg ? null, liblqr1 ? null, xz ? null, openexr ? null
, pango ? null, libpng ? null, librsvg ? null, libtiff ? null, libwebp ? null
, libxml2 ? null
}: }:
let let
@ -17,15 +12,8 @@ let
else if stdenv.system == "x86_64-linux" || stdenv.system == "x86_64-darwin" then "x86-64" else if stdenv.system == "x86_64-linux" || stdenv.system == "x86_64-darwin" then "x86-64"
else throw "ImageMagick is not supported on this platform."; else throw "ImageMagick is not supported on this platform.";
mkFlag = trueStr: falseStr: cond: val: "--${if cond then trueStr else falseStr}-${val}";
mkWith = mkFlag "with" "without";
mkEnable = mkFlag "enable" "disable";
hasX11 = libX11 != null && libXext != null && libXt != null;
in in
with stdenv.lib;
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "imagemagick-${version}"; name = "imagemagick-${version}";
@ -36,60 +24,22 @@ stdenv.mkDerivation rec {
enableParallelBuilding = true; enableParallelBuilding = true;
configureFlags = [ configureFlags =
(mkEnable (libcl != null) "opencl") [ "--with-frozenpaths" ]
(mkWith true "modules") ++ [ "--with-gcc-arch=${arch}" ]
(mkWith true "gcc-arch=${arch}") ++ lib.optional (librsvg != null) "--with-rsvg"
#(mkEnable true "hdri") This breaks some dependencies ++ lib.optionals (ghostscript != null)
(mkWith (perl != null) "perl") [ "--with-gs-font-dir=${ghostscript}/share/ghostscript/fonts"
(mkWith (jemalloc != null) "jemalloc") "--with-gslib"
(mkWith true "frozenpaths")
(mkWith (bzip2 != null) "bzlib")
(mkWith hasX11 "x")
(mkWith (zlib != null) "zlib")
(mkWith false "dps")
(mkWith (fftw != null) "fftw")
(mkWith (libfpx != null) "fpx")
(mkWith (djvulibre != null) "djvu")
(mkWith (fontconfig != null) "fontconfig")
(mkWith (freetype != null) "freetype")
(mkWith (ghostscript != null) "gslib")
(mkWith (graphviz != null) "gvc")
(mkWith (jbigkit != null) "jbig")
(mkWith (libjpeg != null) "jpeg")
(mkWith (lcms2 != null) "lcms2")
(mkWith false "lcms")
(mkWith (openjpeg != null) "openjp2")
(mkWith (liblqr1 != null) "lqr")
(mkWith (xz != null) "lzma")
(mkWith (openexr != null) "openexr")
(mkWith (pango != null) "pango")
(mkWith (libpng != null) "png")
(mkWith (librsvg != null) "rsvg")
(mkWith (libtiff != null) "tiff")
(mkWith (libwebp != null) "webp")
(mkWith (libxml2 != null) "xml")
] ++ optional (dejavu_fonts != null) "--with-dejavu-font-dir=${dejavu_fonts}/share/fonts/truetype/"
++ optional (ghostscript != null) "--with-gs-font-dir=${ghostscript}/share/ghostscript/fonts/";
buildInputs = [
pkgconfig libtool libcl perl jemalloc bzip2 zlib libX11 libXext libXt fftw
libfpx djvulibre fontconfig freetype ghostscript graphviz jbigkit libjpeg
lcms2 openjpeg liblqr1 xz openexr pango libpng librsvg libtiff libwebp
libxml2
]; ];
propagatedBuildInputs = [] buildInputs =
++ (stdenv.lib.optional (lcms2 != null) lcms2) [ pkgconfig libtool zlib fontconfig freetype ghostscript libjpeg
++ (stdenv.lib.optional (liblqr1 != null) liblqr1) openexr libpng librsvg libtiff libxml2
++ (stdenv.lib.optional (fftw != null) fftw) ];
++ (stdenv.lib.optional (libtool != null) libtool)
++ (stdenv.lib.optional (jemalloc != null) jemalloc) propagatedBuildInputs =
++ (stdenv.lib.optional (libXext != null) libXext) [ bzip2 freetype libjpeg libX11 libXext libXt lcms2 ];
++ (stdenv.lib.optional (libX11 != null) libX11)
++ (stdenv.lib.optional (libXt != null) libXt)
++ (stdenv.lib.optional (bzip2 != null) bzip2)
;
postInstall = ''(cd "$out/include" && ln -s ImageMagick* ImageMagick)''; postInstall = ''(cd "$out/include" && ln -s ImageMagick* ImageMagick)'';

View File

@ -11719,8 +11719,7 @@ let
}; };
imagemagick = callPackage ../applications/graphics/ImageMagick { imagemagick = callPackage ../applications/graphics/ImageMagick {
ghostscript = if stdenv.isDarwin then null else ghostscript; ghostscript = null;
perl = null; # Currently Broken
}; };
imagemagickBig = imagemagick; imagemagickBig = imagemagick;