forked from mirrors/nixpkgs
imagemagick7: init at 7.0.4-0
This commit is contained in:
parent
040d5162be
commit
de99dc5049
89
pkgs/applications/graphics/ImageMagick/7.0.nix
Normal file
89
pkgs/applications/graphics/ImageMagick/7.0.nix
Normal file
|
@ -0,0 +1,89 @@
|
|||
{ lib, stdenv, fetchurl, fetchpatch, pkgconfig, libtool
|
||||
, bzip2, zlib, libX11, libXext, libXt, fontconfig, freetype, ghostscript, libjpeg
|
||||
, lcms2, openexr, libpng, librsvg, libtiff, libxml2, openjpeg, libwebp
|
||||
}:
|
||||
|
||||
let
|
||||
arch =
|
||||
if stdenv.system == "i686-linux" then "i686"
|
||||
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 = "7.0.4-0";
|
||||
sha256 = "0hfkdvfl60f9ksh07c06cpq8ib05apczl767yyvc671gd90n11ds";
|
||||
patches = [];
|
||||
};
|
||||
in
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "imagemagick-${version}";
|
||||
inherit (cfg) version;
|
||||
|
||||
src = fetchurl {
|
||||
urls = [
|
||||
"mirror://imagemagick/releases/ImageMagick-${version}.tar.xz"
|
||||
# the original source above removes tarballs quickly
|
||||
"http://distfiles.macports.org/ImageMagick/ImageMagick-${version}.tar.xz"
|
||||
"https://bintray.com/homebrew/mirror/download_file?file_path=imagemagick-${version}.tar.xz"
|
||||
];
|
||||
inherit (cfg) sha256;
|
||||
};
|
||||
|
||||
patches = [ ./imagetragick.patch ] ++ cfg.patches;
|
||||
|
||||
outputs = [ "out" "dev" "doc" ]; # bin/ isn't really big
|
||||
outputMan = "out"; # it's tiny
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
||||
configureFlags =
|
||||
[ "--with-frozenpaths" ]
|
||||
++ [ "--with-gcc-arch=${arch}" ]
|
||||
++ lib.optional (librsvg != null) "--with-rsvg"
|
||||
++ 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 =
|
||||
[ zlib fontconfig freetype ghostscript
|
||||
libpng libtiff libxml2
|
||||
]
|
||||
++ lib.optionals (stdenv.cross.libc or null != "msvcrt")
|
||||
[ openexr librsvg openjpeg ]
|
||||
;
|
||||
|
||||
propagatedBuildInputs =
|
||||
[ bzip2 freetype libjpeg lcms2 ]
|
||||
++ lib.optionals (stdenv.cross.libc or null != "msvcrt")
|
||||
[ libX11 libXext libXt libwebp ]
|
||||
;
|
||||
|
||||
postInstall = ''
|
||||
(cd "$dev/include" && ln -s ImageMagick* ImageMagick)
|
||||
moveToOutput "bin/*-config" "$dev"
|
||||
moveToOutput "lib/ImageMagick-*/config-Q16HDRI" "$dev" # includes configure params
|
||||
for file in "$dev"/bin/*-config; do
|
||||
substituteInPlace "$file" --replace pkg-config \
|
||||
"PKG_CONFIG_PATH='$dev/lib/pkgconfig' '${pkgconfig}/bin/pkg-config'"
|
||||
done
|
||||
'' + lib.optionalString (ghostscript != null) ''
|
||||
for la in $out/lib/*.la; do
|
||||
sed 's|-lgs|-L${lib.getLib ghostscript}/lib -lgs|' -i $la
|
||||
done
|
||||
'';
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
homepage = http://www.imagemagick.org/;
|
||||
description = "A software suite to create, edit, compose, or convert bitmap images";
|
||||
platforms = platforms.linux ++ platforms.darwin;
|
||||
maintainers = with maintainers; [ the-kenny wkennington ];
|
||||
};
|
||||
}
|
|
@ -13571,6 +13571,32 @@ in
|
|||
|
||||
imagemagickBig = callPackage ../applications/graphics/ImageMagick { };
|
||||
|
||||
imagemagick7_light = lowPrio (imagemagick.override {
|
||||
bzip2 = null;
|
||||
zlib = null;
|
||||
libX11 = null;
|
||||
libXext = null;
|
||||
libXt = null;
|
||||
fontconfig = null;
|
||||
freetype = null;
|
||||
ghostscript = null;
|
||||
libjpeg = null;
|
||||
lcms2 = null;
|
||||
openexr = null;
|
||||
libpng = null;
|
||||
librsvg = null;
|
||||
libtiff = null;
|
||||
libxml2 = null;
|
||||
openjpeg = null;
|
||||
libwebp = null;
|
||||
});
|
||||
|
||||
imagemagick7 = lowPrio (imagemagickBig.override {
|
||||
ghostscript = null;
|
||||
});
|
||||
|
||||
imagemagick7Big = lowPrio (callPackage ../applications/graphics/ImageMagick/7.0.nix { });
|
||||
|
||||
# Impressive, formerly known as "KeyJNote".
|
||||
impressive = callPackage ../applications/office/impressive { };
|
||||
|
||||
|
|
Loading…
Reference in a new issue