diff options
Diffstat (limited to 'infra/libkookie/nixpkgs/pkgs/applications/graphics/ImageMagick/7.0.nix')
-rw-r--r-- | infra/libkookie/nixpkgs/pkgs/applications/graphics/ImageMagick/7.0.nix | 89 |
1 files changed, 89 insertions, 0 deletions
diff --git a/infra/libkookie/nixpkgs/pkgs/applications/graphics/ImageMagick/7.0.nix b/infra/libkookie/nixpkgs/pkgs/applications/graphics/ImageMagick/7.0.nix new file mode 100644 index 000000000000..a1e39cfebe0e --- /dev/null +++ b/infra/libkookie/nixpkgs/pkgs/applications/graphics/ImageMagick/7.0.nix @@ -0,0 +1,89 @@ +{ lib, stdenv, fetchFromGitHub, pkgconfig, libtool +, bzip2, zlib, libX11, libXext, libXt, fontconfig, freetype, ghostscript, libjpeg, djvulibre +, lcms2, openexr, libpng, librsvg, libtiff, libxml2, openjpeg, libwebp, libheif +, ApplicationServices +}: + +let + arch = + if stdenv.hostPlatform.system == "i686-linux" then "i686" + else if stdenv.hostPlatform.system == "x86_64-linux" || stdenv.hostPlatform.system == "x86_64-darwin" then "x86-64" + else if stdenv.hostPlatform.system == "armv7l-linux" then "armv7l" + else if stdenv.hostPlatform.system == "aarch64-linux" then "aarch64" + else if stdenv.hostPlatform.system == "powerpc64le-linux" then "ppc64le" + else throw "ImageMagick is not supported on this platform."; + + cfg = { + version = "7.0.10-35"; + sha256 = "0hcqvn3n3ip2fia48d1nb1m4r5ir00vbaa62xqni30kglh3n2sfh"; + patches = []; + }; +in + +stdenv.mkDerivation { + pname = "imagemagick"; + inherit (cfg) version; + + src = fetchFromGitHub { + owner = "ImageMagick"; + repo = "ImageMagick"; + rev = cfg.version; + inherit (cfg) sha256; + }; + + patches = 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.hostPlatform.isMinGW + [ "--enable-static" "--disable-shared" ] # due to libxml2 being without DLLs ATM + ; + + nativeBuildInputs = [ pkgconfig libtool ]; + + buildInputs = + [ zlib fontconfig freetype ghostscript + libpng libtiff libxml2 libheif djvulibre + ] + ++ lib.optionals (!stdenv.hostPlatform.isMinGW) + [ openexr librsvg openjpeg ] + ++ lib.optional stdenv.isDarwin ApplicationServices; + + propagatedBuildInputs = + [ bzip2 freetype libjpeg lcms2 ] + ++ lib.optionals (!stdenv.hostPlatform.isMinGW) + [ 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/${pkgconfig.targetPrefix}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; + license = licenses.asl20; + }; +} |