unofficial mirror of guix-patches@gnu.org 
 help / color / mirror / code / Atom feed
* [bug#60825] [PATCH 1/2] gnu: libavif: Update to 0.11.1.
@ 2023-01-15  1:45 Bruno Victal
  2023-01-15  1:51 ` [bug#60825] [PATCH 2/2] gnu: libavif: Add pixbuf-loader output Bruno Victal
  0 siblings, 1 reply; 3+ messages in thread
From: Bruno Victal @ 2023-01-15  1:45 UTC (permalink / raw)
  To: 60825; +Cc: Bruno Victal

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





^ permalink raw reply related	[flat|nested] 3+ messages in thread

* [bug#60825] [PATCH 2/2] gnu: libavif: Add pixbuf-loader output.
  2023-01-15  1:45 [bug#60825] [PATCH 1/2] gnu: libavif: Update to 0.11.1 Bruno Victal
@ 2023-01-15  1:51 ` Bruno Victal
  2023-02-11 20:43   ` bug#60825: " Christopher Baines
  0 siblings, 1 reply; 3+ messages in thread
From: Bruno Victal @ 2023-01-15  1:51 UTC (permalink / raw)
  To: 60825; +Cc: Bruno Victal

* 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@posteo.org>
 ;;; Copyright © 2022 Jai Vetrivelan <jaivetrivelan@gmail.com>
 ;;; Copyright © 2022 ( <paren@disroot.org>
-;;; Copyright © 2022 Bruno Victal <mirai@makinata.eu>
+;;; Copyright © 2022-2023 Bruno Victal <mirai@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





^ permalink raw reply related	[flat|nested] 3+ messages in thread

* bug#60825: [PATCH 2/2] gnu: libavif: Add pixbuf-loader output.
  2023-01-15  1:51 ` [bug#60825] [PATCH 2/2] gnu: libavif: Add pixbuf-loader output Bruno Victal
@ 2023-02-11 20:43   ` Christopher Baines
  0 siblings, 0 replies; 3+ messages in thread
From: Christopher Baines @ 2023-02-11 20:43 UTC (permalink / raw)
  To: Bruno Victal; +Cc: 60825-done, guix-patches

[-- Attachment #1: Type: text/plain, Size: 158 bytes --]

Thanks Bruno, I fixed the lint warnings about line length in the second
patch, and pushed these to master as
d5fb87812005bf277e5b3b068773f4e7c4cc5de2.

Chris

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 987 bytes --]

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2023-02-11 20:45 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-01-15  1:45 [bug#60825] [PATCH 1/2] gnu: libavif: Update to 0.11.1 Bruno Victal
2023-01-15  1:51 ` [bug#60825] [PATCH 2/2] gnu: libavif: Add pixbuf-loader output Bruno Victal
2023-02-11 20:43   ` bug#60825: " Christopher Baines

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).