From 58cff03579b48e8d4c0e3a7726ef6a78998b8e99 Mon Sep 17 00:00:00 2001 From: Robert Kovacsics Date: Sun, 22 Aug 2021 15:38:11 +0100 Subject: [PATCH] vips: Add optional dependencies; update to python3 The new optional dependencies increase closure size from 388.92 MiB to 414.0 MiB, a negligible change. I didn't think there was any reason to add `withLibjpeg ? true` flags (or `enableLibjpeg`). The optional dependencies are sorted in the order of https://github.com/libvips/libvips/blob/master/README.md and I have used `nix log` on the build to check they are all picked up in configure. The python3 support was in for ages (https://github.com/libvips/libvips/issues/202), the remaining python3 support in tools/vipsprofile landed in https://github.com/libvips/libvips/pull/1262 so I upgraded it to python3. I wasn't sure if I should use a specific version, or just leave it as python3. I have tested vipsprofile with ``` ./vips-pycairo-bin/bin/vips gaussblur ~/2021-04-30-092143_3286x1080_scrot.png x.tif 5 --vips-profile ./vips-pycairo-bin/bin/vipsprofile ``` where ~/2021-04-30-092143_3286x1080_scrot.png is just a random image (screenshot) I had lying around. It seems to have generated an SVG file, I don't know how to interpret it. --- pkgs/tools/graphics/vips/default.nix | 79 +++++++++++++++++----------- 1 file changed, 49 insertions(+), 30 deletions(-) diff --git a/pkgs/tools/graphics/vips/default.nix b/pkgs/tools/graphics/vips/default.nix index 90d8dc64ec88..bfe9a1875e5a 100644 --- a/pkgs/tools/graphics/vips/default.nix +++ b/pkgs/tools/graphics/vips/default.nix @@ -1,29 +1,39 @@ -{ lib, stdenv +{ lib +, stdenv , pkg-config , glib , libxml2 , expat -, fftw -, orc -, lcms -, imagemagick -, openexr -, libtiff -, libjpeg -, libgsf -, libexif -, libheif -, librsvg , ApplicationServices , Foundation -, python27 -, libpng +, python3 , fetchFromGitHub , fetchpatch , autoreconfHook , gtk-doc , gobject-introspection -, + # Optional dependencies +, libjpeg +, libexif +, librsvg +, poppler +, libgsf +, libtiff +, fftw +, lcms2 +, libpng +, libimagequant +, imagemagick +, pango +, orc +, matio +, cfitsio +, libwebp +, openexr +, openjpeg +, libjxl +, openslide +, libheif }: stdenv.mkDerivation rec { @@ -54,22 +64,31 @@ stdenv.mkDerivation rec { buildInputs = [ glib libxml2 - fftw - orc - lcms - imagemagick - openexr - libtiff - libjpeg - libgsf - libexif - libheif - libpng - librsvg - python27 - libpng expat - ] ++ lib.optionals stdenv.isDarwin [ApplicationServices Foundation]; + (python3.withPackages (p: [ p.pycairo ])) + # Optional dependencies + libjpeg + libexif + librsvg + poppler + libgsf + libtiff + fftw + lcms2 + libpng + libimagequant + imagemagick + pango + orc + matio + cfitsio + libwebp + openexr + openjpeg + libjxl + openslide + libheif + ] ++ lib.optionals stdenv.isDarwin [ ApplicationServices Foundation ]; # Required by .pc file propagatedBuildInputs = [