diff options
Diffstat (limited to 'pkgs/applications/graphics')
-rw-r--r-- | pkgs/applications/graphics/ImageMagick/default.nix | 46 | ||||
-rw-r--r-- | pkgs/applications/graphics/ImageMagick/imagetragick.patch | 15 |
2 files changed, 53 insertions, 8 deletions
diff --git a/pkgs/applications/graphics/ImageMagick/default.nix b/pkgs/applications/graphics/ImageMagick/default.nix index 78837f55af4c..8094252c660d 100644 --- a/pkgs/applications/graphics/ImageMagick/default.nix +++ b/pkgs/applications/graphics/ImageMagick/default.nix @@ -1,4 +1,4 @@ -{ lib, stdenv, fetchurl, pkgconfig, libtool +{ lib, stdenv, fetchurl, fetchpatch, pkgconfig, libtool , bzip2, zlib, libX11, libXext, libXt, fontconfig, freetype, ghostscript, libjpeg , lcms2, openexr, libpng, librsvg, libtiff, libxml2, openjpeg, libwebp }: @@ -9,11 +9,28 @@ let else if stdenv.system == "x86_64-linux" || stdenv.system == "x86_64-darwin" then "x86-64" else if stdenv.system == "armv7l-linux" then "armv7l" else throw "ImageMagick is not supported on this platform."; + + cfg = { + version = "6.9.3-9"; + sha256 = "0q19jgn1iv7zqrw8ibxp4z57iihrc9kyb09k2wnspcacs6vrvinf"; + patches = []; + } + # Freeze version on mingw so we don't need to port the patch too often. + // lib.optionalAttrs (stdenv.cross.libc or null == "msvcrt") { + version = "6.9.2-0"; + sha256 = "17ir8bw1j7g7srqmsz3rx780sgnc21zfn0kwyj78iazrywldx8h7"; + patches = (fetchpatch { + name = "mingw-build.patch"; + url = "https://raw.githubusercontent.com/Alexpux/MINGW-packages/" + + "01ca03b2a4ef/mingw-w64-imagemagick/002-build-fixes.patch"; + sha256 = "1pypszlcx2sf7wfi4p37w1y58ck2r8cd5b2wrrwr9rh87p7fy1c0"; + }); + }; in stdenv.mkDerivation rec { name = "imagemagick-${version}"; - version = "6.9.3-8"; + inherit (cfg) version; src = fetchurl { urls = [ @@ -21,9 +38,11 @@ stdenv.mkDerivation rec { # the original source above removes tarballs quickly "http://distfiles.macports.org/ImageMagick/ImageMagick-${version}.tar.xz" ]; - sha256 = "129s4cwp6cbhgsr3xr8186q5j02zpbk6kqfk4j7ayb563zsrdb4h"; + inherit (cfg) sha256; }; + patches = [ ./imagetragick.patch ] ++ cfg.patches; + outputs = [ "out" "doc" ]; enableParallelBuilding = true; @@ -35,15 +54,26 @@ stdenv.mkDerivation rec { ++ lib.optionals (ghostscript != null) [ "--with-gs-font-dir=${ghostscript}/share/ghostscript/fonts" "--with-gslib" - ]; + ] + ++ lib.optionals (stdenv.cross.libc or null == "msvcrt") + [ "--enable-static" "--disable-shared" ] # due to libxml2 being without DLLs ATM + ; + + nativeBuildInputs = [ pkgconfig libtool ]; buildInputs = - [ pkgconfig libtool zlib fontconfig freetype ghostscript libjpeg - openexr libpng librsvg libtiff libxml2 openjpeg libwebp - ]; + [ zlib fontconfig freetype ghostscript + libpng libtiff libxml2 + ] + ++ lib.optionals (stdenv.cross.libc or null != "msvcrt") + [ openexr librsvg openjpeg ] + ; propagatedBuildInputs = - [ bzip2 freetype libjpeg libX11 libXext libXt lcms2 ]; + [ bzip2 freetype libjpeg lcms2 ] + ++ lib.optionals (stdenv.cross.libc or null != "msvcrt") + [ libX11 libXext libXt libwebp ] + ; postInstall = '' diff --git a/pkgs/applications/graphics/ImageMagick/imagetragick.patch b/pkgs/applications/graphics/ImageMagick/imagetragick.patch new file mode 100644 index 000000000000..bdb152dd23a8 --- /dev/null +++ b/pkgs/applications/graphics/ImageMagick/imagetragick.patch @@ -0,0 +1,15 @@ +diff --git a/config/policy.xml b/config/policy.xml +index ca3b022..b058c05 100644 +--- a/config/policy.xml ++++ b/config/policy.xml +@@ -58,4 +58,10 @@ + <!-- <policy domain="resource" name="time" value="3600"/> --> + <!-- <policy domain="system" name="precision" value="6"/> --> + <policy domain="cache" name="shared-secret" value="passphrase"/> ++ ++ <policy domain="coder" rights="none" pattern="EPHEMERAL" /> ++ <policy domain="coder" rights="none" pattern="URL" /> ++ <policy domain="coder" rights="none" pattern="HTTPS" /> ++ <policy domain="coder" rights="none" pattern="MVG" /> ++ <policy domain="coder" rights="none" pattern="MSL" /> + </policymap> |