GNU bug report logs - #60825
[PATCH 1/2] gnu: libavif: Update to 0.11.1.

Previous Next

Package: guix-patches;

Reported by: Bruno Victal <mirai <at> makinata.eu>

Date: Sun, 15 Jan 2023 01:46:02 UTC

Severity: normal

Tags: patch

Done: Christopher Baines <mail <at> cbaines.net>

Bug is archived. No further changes may be made.

To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 60825 in the body.
You can then email your comments to 60825 AT debbugs.gnu.org in the normal way.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to guix-patches <at> gnu.org:
bug#60825; Package guix-patches. (Sun, 15 Jan 2023 01:46:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to Bruno Victal <mirai <at> makinata.eu>:
New bug report received and forwarded. Copy sent to guix-patches <at> gnu.org. (Sun, 15 Jan 2023 01:46:02 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Bruno Victal <mirai <at> makinata.eu>
To: guix-patches <at> gnu.org
Cc: Bruno Victal <mirai <at> makinata.eu>
Subject: [PATCH 1/2] gnu: libavif: Update to 0.11.1.
Date: Sun, 15 Jan 2023 01:45:43 +0000
libavif commit 97306bf64266cf9571dd141f3d04492534a9deea removes
JSON-based tests along with cJSON.

Aditionally, googletest is now required to build libavif. The test target
has since changed and can be called directly from cmake, no longer being
necessary to replace 'check target.

* gnu/packages/image.scm (libavif): Update to 0.11.1.
[arguments]: Adjust configure-flags, remove 'check phase replacement.
[native-inputs]: Add googletest.
[license]: Remove expat.
---
 gnu/packages/image.scm | 15 ++++++---------
 1 file changed, 6 insertions(+), 9 deletions(-)

diff --git a/gnu/packages/image.scm b/gnu/packages/image.scm
index 195d127b31..0618c13460 100644
--- a/gnu/packages/image.scm
+++ b/gnu/packages/image.scm
@@ -2157,7 +2157,7 @@ (define-public icoutils
 (define-public libavif
   (package
     (name "libavif")
-    (version "0.9.2")
+    (version "0.11.1")
     (source (origin
               (method git-fetch)
               (uri (git-reference
@@ -2166,7 +2166,7 @@ (define-public libavif
               (file-name (git-file-name name version))
               (sha256
                (base32
-                "1yxmgjlxm1srm98zyj79bj8r8vmg67daqnq0ggcvxknq54plkznk"))))
+                "02zmb62g0yx6rfz4w1isyzfrckv5i7dzyz26rp2mspbx9w6v8j4r"))))
     (build-system cmake-build-system)
     (arguments
      (list
@@ -2175,13 +2175,10 @@ (define-public libavif
               #$@(if (this-package-input "rav1e")
                    '("-DAVIF_CODEC_RAV1E=ON")
                    '())
-              "-DAVIF_BUILD_TESTS=ON" "-DAVIF_BUILD_APPS=ON")
+              "-DAVIF_BUILD_TESTS=ON" "-DAVIF_ENABLE_GTEST=ON"
+              "-DAVIF_BUILD_APPS=ON")
       #:phases
       #~(modify-phases %standard-phases
-          (replace 'check
-            (lambda* (#:key tests? #:allow-other-keys)
-              (when tests?
-                (invoke "./aviftest" "../source/tests/data"))))
           (add-after 'install 'install-readme
             (lambda _
               (let ((doc (string-append #$output "/share/doc/libavif-" #$version)))
@@ -2200,6 +2197,7 @@ (define-public libavif
                             (chmod new #o555))
                           (list avifenc avifdec)
                           (list avifenc* avifdec*))))))))
+    (native-inputs (list googletest))
     (inputs
      (append
       (if (member (%current-system) (package-transitive-supported-systems rav1e))
@@ -2212,8 +2210,7 @@ (define-public libavif
 File Format}.  It can encode and decode all YUV formats and bit depths supported
 by AOM, including with alpha.")
     (home-page "https://github.com/AOMediaCodec/libavif")
-    (license (list license:bsd-2    ; libavif itself
-                   license:expat)))) ; cJSON in the test suite
+    (license (list license:bsd-2))))
 
 (define-public libheif
   (package

base-commit: c94708a5b4820c9253ef5774a1022fc106e7ae9a
-- 
2.38.1





Information forwarded to guix-patches <at> gnu.org:
bug#60825; Package guix-patches. (Sun, 15 Jan 2023 01:52:01 GMT) Full text and rfc822 format available.

Message #8 received at 60825 <at> debbugs.gnu.org (full text, mbox):

From: Bruno Victal <mirai <at> makinata.eu>
To: 60825 <at> debbugs.gnu.org
Cc: Bruno Victal <mirai <at> makinata.eu>
Subject: [PATCH 2/2] gnu: libavif: Add pixbuf-loader output.
Date: Sun, 15 Jan 2023 01:51:17 +0000
* gnu/packages/image.scm (libavif)[arguments]: Build gdk-pixbuf loader.
[outputs]: Add 'pixbuf-loader' output.
[inputs]: Add gdk-pixbuf.
[native-inputs]: Add pkg-config.
---

This output builds and "should work" but it doesn't do anything because our shared-mime-info is too outdated to include image/avif.

 gnu/packages/image.scm | 41 +++++++++++++++++++++++++++++++++--------
 1 file changed, 33 insertions(+), 8 deletions(-)

diff --git a/gnu/packages/image.scm b/gnu/packages/image.scm
index 0618c13460..65f388e7bd 100644
--- a/gnu/packages/image.scm
+++ b/gnu/packages/image.scm
@@ -34,7 +34,7 @@
 ;;; Copyright © 2021 Alexandr Vityazev <avityazev <at> posteo.org>
 ;;; Copyright © 2022 Jai Vetrivelan <jaivetrivelan <at> gmail.com>
 ;;; Copyright © 2022 ( <paren <at> disroot.org>
-;;; Copyright © 2022 Bruno Victal <mirai <at> makinata.eu>
+;;; Copyright © 2022-2023 Bruno Victal <mirai <at> makinata.eu>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -2170,15 +2170,23 @@ (define-public libavif
     (build-system cmake-build-system)
     (arguments
      (list
+      #:modules '((guix build cmake-build-system)
+                  (guix build utils)
+                  (srfi srfi-26))
       #:configure-flags
       #~(list "-DAVIF_CODEC_AOM=ON" "-DAVIF_CODEC_DAV1D=ON"
               #$@(if (this-package-input "rav1e")
                    '("-DAVIF_CODEC_RAV1E=ON")
                    '())
               "-DAVIF_BUILD_TESTS=ON" "-DAVIF_ENABLE_GTEST=ON"
-              "-DAVIF_BUILD_APPS=ON")
+              "-DAVIF_BUILD_APPS=ON" "-DAVIF_BUILD_GDK_PIXBUF=ON")
       #:phases
       #~(modify-phases %standard-phases
+          (add-before 'configure 'patch-thumbnailer
+            (lambda _
+              (substitute* "contrib/gdk-pixbuf/avif.thumbnailer.in"
+                (("@CMAKE_INSTALL_FULL_BINDIR@/gdk-pixbuf-thumbnailer")
+                 (string-append #$gdk-pixbuf "/bin/gdk-pixbuf-thumbnailer")))))
           (add-after 'install 'install-readme
             (lambda _
               (let ((doc (string-append #$output "/share/doc/libavif-" #$version)))
@@ -2188,23 +2196,40 @@ (define-public libavif
               (let* ((avifenc  (string-append #$output       "/bin/avifenc"))
                      (avifenc* (string-append #$output:tools "/bin/avifenc"))
                      (avifdec  (string-append #$output       "/bin/avifdec"))
-                     (avifdec* (string-append #$output:tools "/bin/avifdec")))
+                     (avifdec* (string-append #$output:tools "/bin/avifdec"))
+
+                     (thumbnailer    (string-append #$output
+                                                    "/share/thumbnailers/avif.thumbnailer"))
+                     (thumbnailer*   (string-append #$output:pixbuf-loader
+                                                    "/share/thumbnailers/avif.thumbnailer"))
+                     (pixbuf-loader  (string-append #$output
+                                                    "/lib/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-avif.so"))
+                     (pixbuf-loader* (string-append #$output:pixbuf-loader
+                                                    "/lib/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-avif.so")))
                 (mkdir-p (string-append #$output:tools "/bin"))
+                (for-each (compose mkdir-p
+                                   (cut string-append
+                                        #$output:pixbuf-loader <>))
+                          '("/share/thumbnailers"
+                            "/lib/gdk-pixbuf-2.0/2.10.0/loaders/"))
 
                 (for-each (lambda (old new)
                             (copy-file old new)
                             (delete-file old)
                             (chmod new #o555))
-                          (list avifenc avifdec)
-                          (list avifenc* avifdec*))))))))
-    (native-inputs (list googletest))
+                          (list avifenc avifdec
+                                thumbnailer pixbuf-loader)
+                          (list avifenc* avifdec*
+                                thumbnailer* pixbuf-loader*))))))))
+    (native-inputs (list googletest pkg-config))
     (inputs
      (append
       (if (member (%current-system) (package-transitive-supported-systems rav1e))
         (list rav1e) '())
-      (list dav1d libaom zlib libpng libjpeg-turbo)))
+      (list dav1d libaom zlib libpng libjpeg-turbo gdk-pixbuf)))
     (outputs (list "out"
-                   "tools"))  ; avifenc & avifdec
+                   "tools"  ; avifenc & avifdec
+                   "pixbuf-loader"))
     (synopsis "Encode and decode AVIF files")
     (description "Libavif is a C implementation of @acronym{AVIF, the AV1 Image
 File Format}.  It can encode and decode all YUV formats and bit depths supported
-- 
2.38.1





Information forwarded to guix-patches <at> gnu.org:
bug#60825; Package guix-patches. (Sat, 11 Feb 2023 20:45:01 GMT) Full text and rfc822 format available.

Message #11 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Christopher Baines <mail <at> cbaines.net>
To: Bruno Victal <mirai <at> makinata.eu>
Cc: 60825-done <at> debbugs.gnu.org, guix-patches <at> gnu.org
Subject: Re: [bug#60825] [PATCH 2/2] gnu: libavif: Add pixbuf-loader output.
Date: Sat, 11 Feb 2023 20:43:36 +0000
[Message part 1 (text/plain, inline)]
Thanks Bruno, I fixed the lint warnings about line length in the second
patch, and pushed these to master as
d5fb87812005bf277e5b3b068773f4e7c4cc5de2.

Chris
[signature.asc (application/pgp-signature, inline)]

Reply sent to Christopher Baines <mail <at> cbaines.net>:
You have taken responsibility. (Sat, 11 Feb 2023 20:45:02 GMT) Full text and rfc822 format available.

Notification sent to Bruno Victal <mirai <at> makinata.eu>:
bug acknowledged by developer. (Sat, 11 Feb 2023 20:45:02 GMT) Full text and rfc822 format available.

bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Sun, 12 Mar 2023 11:24:09 GMT) Full text and rfc822 format available.

This bug report was last modified 1 year and 44 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.