[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
07/12: gnu: libavif: Add pixbuf-loader output.
From: |
guix-commits |
Subject: |
07/12: gnu: libavif: Add pixbuf-loader output. |
Date: |
Sat, 11 Feb 2023 15:35:06 -0500 (EST) |
cbaines pushed a commit to branch master
in repository guix.
commit d5fb87812005bf277e5b3b068773f4e7c4cc5de2
Author: Bruno Victal <mirai@makinata.eu>
AuthorDate: Sun Jan 15 01:51:17 2023 +0000
gnu: libavif: Add pixbuf-loader output.
* gnu/packages/image.scm (libavif)[arguments]: Build gdk-pixbuf loader.
[outputs]: Add 'pixbuf-loader' output.
[inputs]: Add gdk-pixbuf.
[native-inputs]: Add pkg-config.
Signed-off-by: Christopher Baines <mail@cbaines.net>
---
gnu/packages/image.scm | 47 +++++++++++++++++++++++++++++++++++++++--------
1 file changed, 39 insertions(+), 8 deletions(-)
diff --git a/gnu/packages/image.scm b/gnu/packages/image.scm
index 09b5a0ad8b..42b7ee055e 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.
;;;
@@ -2166,15 +2166,23 @@ This package can be used to create @code{favicon.ico}
files for web sites.")
(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)))
@@ -2184,23 +2192,46 @@ This package can be used to create @code{favicon.ico}
files for web sites.")
(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
- branch master updated (55839e3537 -> 5345cf2fbf), guix-commits, 2023/02/11
- 05/12: gnu: yosys: Update to 0.26., guix-commits, 2023/02/11
- 01/12: download: Add bordeaux.guix.gnu.org as a content addressed mirror., guix-commits, 2023/02/11
- 07/12: gnu: libavif: Add pixbuf-loader output.,
guix-commits <=
- 03/12: gnu: nar-herder: Update to 0-16.f62a2b3., guix-commits, 2023/02/11
- 12/12: gnu: ruby-3.2: Update to 3.2.1, guix-commits, 2023/02/11
- 11/12: gnu: libtorrent-rasterbar: Update to 1.2.18., guix-commits, 2023/02/11
- 02/12: gnu: guix-data-service: Update to 0.0.1-38.6be113f., guix-commits, 2023/02/11
- 04/12: gnu: yosys: Do not propagate any inputs., guix-commits, 2023/02/11
- 06/12: gnu: libavif: Update to 0.11.1., guix-commits, 2023/02/11
- 08/12: gnu: footswitch: Update to 1.0-0.e455d67., guix-commits, 2023/02/11
- 10/12: gnu: iwd: Update to 2.3., guix-commits, 2023/02/11
- 09/12: gnu: ell: Update to 0.56., guix-commits, 2023/02/11