Subject: [PATCH] gnu: vips: Update to 8.14.5.

From: Hendursaga <[email-masked]>
Date: Mon, 18 Sep 2023 16:04:20 -0400

* gnu/packages/image-processing.scm (vips): Update to 8.14.5.
[source]: Switch to git-fetch.
[build-system]: Switch to meson-build-system.
[arguments]: Build all available docs, fix finding niftilib headers.
[native-inputs]: Add doxygen, font-liberation, gettext-minimal,
glib:bin, graphviz, gtk-doc, and pandoc, for building docs.
[inputs]: Add additional dependencies cfitsio, fontconfig, libheif,
libimagequant, libjxl, and openjpeg.
[home-page]: Update URL.
---
 gnu/packages/image-processing.scm | 103 ++++++++++++++++++++----------
 1 file changed, 68 insertions(+), 35 deletions(-)

diff --git a/gnu/packages/image-processing.scm b/gnu/packages/image-processing.scm
index 8fc93a8842..ee73260fb7 100644
--- a/gnu/packages/image-processing.scm
+++ b/gnu/packages/image-processing.scm
@@ -49,9 +49,11 @@ (define-module (gnu packages image-processing)
   #:use-module (guix build-system qt)
   #:use-module (guix build-system cmake)
   #:use-module (guix build-system gnu)
+  #:use-module (guix build-system meson)
   #:use-module (guix build-system python)
   #:use-module (gnu packages)
   #:use-module (gnu packages algebra)
+  #:use-module (gnu packages astronomy)
   #:use-module (gnu packages bison)
   #:use-module (gnu packages boost)
   #:use-module (gnu packages check)
@@ -61,11 +63,13 @@ (define-module (gnu packages image-processing)
   #:use-module (gnu packages docbook)
   #:use-module (gnu packages documentation)
   #:use-module (gnu packages flex)
+  #:use-module (gnu packages fonts)
   #:use-module (gnu packages fontutils)
   #:use-module (gnu packages game-development)
   #:use-module (gnu packages gcc)
   #:use-module (gnu packages gd)
   #:use-module (gnu packages geo)
+  #:use-module (gnu packages gettext)
   #:use-module (gnu packages ghostscript)
   #:use-module (gnu packages gimp)
   #:use-module (gnu packages gl)
@@ -75,6 +79,7 @@ (define-module (gnu packages image-processing)
   #:use-module (gnu packages graphviz)
   #:use-module (gnu packages gstreamer)
   #:use-module (gnu packages gtk)
+  #:use-module (gnu packages haskell-xyz)
   #:use-module (gnu packages icu4c)
   #:use-module (gnu packages image)
   #:use-module (gnu packages imagemagick)
@@ -748,41 +753,69 @@ (define-public opencv
 (define-public vips
   (package
     (name "vips")
-    (version "8.13.1")
-    (source
-     (origin
-       (method url-fetch)
-       (uri (string-append
-             "https://github.com/libvips/libvips/releases/download/v"
-             version "/vips-" version ".tar.gz"))
-       (sha256
-        (base32 "00kp3439jcqv9l2gcjg88xzvlq8clv54z1m3x66i3chvarz7ndxd"))))
-    (build-system gnu-build-system)
-    (native-inputs
-     (list gobject-introspection pkg-config))
-    (inputs
-     (list expat
-           fftw
-           giflib
-           glib
-           hdf5
-           imagemagick
-           lcms
-           libexif
-           libgsf
-           libjpeg-turbo
-           libpng
-           (librsvg-for-system)
-           libtiff
-           libxml2
-           libwebp
-           matio
-           niftilib
-           openexr-2
-           orc
-           pango
-           poppler))
-    (home-page "https://libvips.github.io/libvips/")
+    (version "8.14.5")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/libvips/libvips")
+                    (commit (string-append "v" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "020hksb5c3xmx30xg65csph0vyxjvxf3ijspdxc9njnkmih9ffsg"))))
+    (build-system meson-build-system)
+    (arguments
+     (list #:configure-flags #~(list "-Ddoxygen=true" "-Dgtk_doc=true"
+                                     (string-append "-Dnifti-prefix-dir="
+                                                    #$(this-package-input
+                                                       "niftilib")))
+           #:phases #~(modify-phases %standard-phases
+                        (add-after 'unpack 'set-home-directory
+                          (lambda _
+                            ;; Prevent fontconfig (via Graphviz) complaining
+                            ;; about no writable cache directories.
+                            (setenv "HOME" "/tmp")))
+                        (add-after 'unpack 'fix-nifti-include
+                          (lambda _
+                            (substitute* "meson.build"
+                              ((" / 'nifti'")
+                               "")))))))
+    (native-inputs (list doxygen
+                         font-liberation ;a URW Type 1 font, for Graphviz
+                         gettext-minimal
+                         gobject-introspection
+                         (list glib "bin") ;glib-mkenums
+                         graphviz ;full install needed due to pango
+                         gtk-doc
+                         pandoc ;convert markdown to DocBook for gtk-doc
+                         pkg-config))
+    (inputs (list cfitsio
+                  expat
+                  fftw
+                  fontconfig
+                  giflib
+                  hdf5
+                  imagemagick
+                  lcms
+                  libexif
+                  libgsf
+                  libheif
+                  libimagequant
+                  libjpeg-turbo
+                  libjxl
+                  libpng
+                  (librsvg-for-system)
+                  libtiff
+                  libxml2
+                  libwebp
+                  matio
+                  niftilib
+                  openexr-2
+                  openjpeg
+                  orc
+                  pango
+                  poppler))
+    (home-page "https://www.libvips.org/")
     (synopsis "Multithreaded image processing system with low memory needs")
     (description
      "VIPS is a demand-driven, horizontally threaded image processing library.

base-commit: 3d9ebc7b2ed24312fd6a0916c203f7b86d57753d
-- 
2.41.0