diff mbox series

[bug#66094] gnu: vips: Update to 8.14.5.

Message ID 1f13ccf386121689ba5be643290293a5769b21e5.1695066872.git.hendursaga@aol.com
State New
Headers show
Series [bug#66094] gnu: vips: Update to 8.14.5. | expand

Commit Message

Hendursaga Sept. 18, 2023, 8:04 p.m. UTC
* 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(-)


base-commit: 3d9ebc7b2ed24312fd6a0916c203f7b86d57753d

Comments

Mathieu Othacehe Oct. 14, 2023, 8:26 a.m. UTC | #1
Hello,

https://qa.guix.gnu.org/issue/66094 reports a new linter warning:

--8<---------------cut here---------------start------------->8---
label 'glib' does not match package name 'glib:bin'
--8<---------------cut here---------------end--------------->8---

as well as new newly broken package: nip2 with this change.

Could you please have a look :)?

Thanks,

Mathieu
Sharlatan Hellseher Nov. 19, 2023, 7:46 p.m. UTC | #2
Hi,

Thank you for the patch.

It contains quite a long list of modifications and makes the review harder
to follow.
May you split the patch into logical sub patches, please. It may help to
rework QA warnings more explicit.

Some recommendations of grouping:
- update only version and hash, add missing input to complete the build
- any cosmetic changes, like update synopsis, description, homepage
- change in build system and fixing related issues
- extend build in arguments, which adds new outputs
- enabling/disabling tests

Thanks,
Oleg
diff mbox series

Patch

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.