[PATCH 0/2] Build libavif tools

  • Done
  • quality assurance status badge
Details
2 participants
  • Leo Famulari
  • mirai
Owner
unassigned
Submitted by
mirai
Severity
normal
M
(address . guix-patches@gnu.org)(address . mirai@makinata.eu)
cover.1671237624.git.mirai@makinata.eu
Build 'avifenc' & 'avifdec' from libavif.

Bruno Victal (2):
gnu: libavif: Rewrite using G-Exps.
gnu: libavif: Add tools output.

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


base-commit: c193b5203b31246a6d74270c8086c45851561947
--
2.38.1
M
[PATCH 1/2] gnu: libavif: Rewrite using G-Exps.
(address . 60131@debbugs.gnu.org)(name . Bruno Victal)(address . mirai@makinata.eu)
e04e51d02ca7965948c64bba048fc3d00dc150e0.1671237624.git.mirai@makinata.eu
From: Bruno Victal <mirai@makinata.eu>

* gnu/packages/image.scm (libavif)[arguments]: Rewrite using
G-Expressions.
---
gnu/packages/image.scm | 50 +++++++++++++++++++++---------------------
1 file changed, 25 insertions(+), 25 deletions(-)

Toggle diff (64 lines)
diff --git a/gnu/packages/image.scm b/gnu/packages/image.scm
index bc1f25627b..80872b1466 100644
--- a/gnu/packages/image.scm
+++ b/gnu/packages/image.scm
@@ -2168,32 +2168,32 @@ (define-public libavif
"1yxmgjlxm1srm98zyj79bj8r8vmg67daqnq0ggcvxknq54plkznk"))))
(build-system cmake-build-system)
(arguments
- `(#:configure-flags '("-DAVIF_CODEC_AOM=ON" "-DAVIF_CODEC_DAV1D=ON"
- ,@(if (string-prefix? "x86_64"
- (or (%current-target-system)
- (%current-system)))
- '("-DAVIF_CODEC_RAV1E=ON")
- '())
- "-DAVIF_BUILD_TESTS=ON")
- #:phases
- (modify-phases %standard-phases
- (replace 'check
- (lambda _
- (invoke "./aviftest" "../source/tests/data")))
- (add-after 'install 'install-readme
- (lambda* (#:key outputs #:allow-other-keys)
- (let* ((out (assoc-ref outputs "out"))
- (doc (string-append out "/share/doc/libavif-" ,version)))
- (install-file "../source/README.md" doc)))))))
+ (list
+ #:configure-flags
+ #~(list "-DAVIF_CODEC_AOM=ON" "-DAVIF_CODEC_DAV1D=ON"
+ #$@(if (string-prefix? "x86_64"
+ (or (%current-target-system)
+ (%current-system)))
+ '("-DAVIF_CODEC_RAV1E=ON")
+ '())
+ "-DAVIF_BUILD_TESTS=ON")
+ #:phases
+ #~(modify-phases %standard-phases
+ (replace 'check
+ (lambda _
+ (invoke "./aviftest" "../source/tests/data")))
+ (add-after 'install 'install-readme
+ (lambda _
+ (let ((doc (string-append #$output "/share/doc/libavif-" #$version)))
+ (install-file "../source/README.md" doc)))))))
(inputs
- `(("dav1d" ,dav1d)
- ("libaom" ,libaom)
- ;; XXX: rav1e depends on rust, which currently only works on x86_64.
- ;; See also the related configure flag when changing this.
- ,@(if (string-prefix? "x86_64" (or (%current-target-system)
- (%current-system)))
- `(("rav1e" ,rav1e))
- '())))
+ (append
+ ;; XXX: rav1e depends on rust, which currently only works on x86_64.
+ ;; See also the related configure flag when changing this.
+ (if (string-prefix? "x86_64" (or (%current-target-system)
+ (%current-system)))
+ (list rav1e) '())
+ (list dav1d libaom)))
(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
M
[PATCH 2/2] gnu: libavif: Add tools output.
(address . 60131@debbugs.gnu.org)(name . Bruno Victal)(address . mirai@makinata.eu)
b7ac2c6d0dd7c244b8dcc6a6afb0a0511efd31ea.1671237624.git.mirai@makinata.eu
From: Bruno Victal <mirai@makinata.eu>

* gnu/packages/image.scm (libavif)[arguments]: Build avifenc & avifdec.
[outputs]: Add 'tools' output.
[inputs]: Add zlib, libpng, libjpeg-turbo.
---
gnu/packages/image.scm | 22 +++++++++++++++++++---
1 file changed, 19 insertions(+), 3 deletions(-)

Toggle diff (49 lines)
diff --git a/gnu/packages/image.scm b/gnu/packages/image.scm
index 80872b1466..98fe572ac2 100644
--- a/gnu/packages/image.scm
+++ b/gnu/packages/image.scm
@@ -2176,7 +2176,7 @@ (define-public libavif
(%current-system)))
'("-DAVIF_CODEC_RAV1E=ON")
'())
- "-DAVIF_BUILD_TESTS=ON")
+ "-DAVIF_BUILD_TESTS=ON" "-DAVIF_BUILD_APPS=ON")
#:phases
#~(modify-phases %standard-phases
(replace 'check
@@ -2185,7 +2185,21 @@ (define-public libavif
(add-after 'install 'install-readme
(lambda _
(let ((doc (string-append #$output "/share/doc/libavif-" #$version)))
- (install-file "../source/README.md" doc)))))))
+ (install-file "../source/README.md" doc))))
+ (add-after 'install 'split
+ (lambda _
+ (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")))
+ (mkdir-p (string-append #$output:tools "/bin"))
+
+ (for-each (lambda (old new)
+ (copy-file old new)
+ (delete-file old)
+ (chmod new #o555))
+ (list avifenc avifdec)
+ (list avifenc* avifdec*))))))))
(inputs
(append
;; XXX: rav1e depends on rust, which currently only works on x86_64.
@@ -2193,7 +2207,9 @@ (define-public libavif
(if (string-prefix? "x86_64" (or (%current-target-system)
(%current-system)))
(list rav1e) '())
- (list dav1d libaom)))
+ (list dav1d libaom zlib libpng libjpeg-turbo)))
+ (outputs (list "out"
+ "tools")) ; avifenc & avifdec
(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
M
M
mirai wrote on 3 Jan 2023 03:13
(no subject)
(address . 60131@debbugs.gnu.org)
8ea444b7-9f93-2c25-9325-230f9c85ee3a@makinata.eu
a friendly bump
L
L
Leo Famulari wrote on 3 Jan 2023 18:54
Re: [bug#60131] [PATCH 0/2] Build libavif tools
(address . mirai@makinata.eu)(address . 60131-done@debbugs.gnu.org)
Y7RrvhzlofUqcO2O@jasmine.lan
On Sat, Dec 17, 2022 at 12:42:44AM +0000, mirai@makinata.eu wrote:
Toggle quote (6 lines)
> Build 'avifenc' & 'avifdec' from libavif.
>
> Bruno Victal (2):
> gnu: libavif: Rewrite using G-Exps.
> gnu: libavif: Add tools output.

Thanks! I added a copyright line for you and pushed as
216281b1ebbbc3ea08a5d7b372e024bbaf758f39
-----BEGIN PGP SIGNATURE-----

iQIzBAABCAAdFiEEsFFZSPHn08G5gDigJkb6MLrKfwgFAmO0a74ACgkQJkb6MLrK
fwhuOQ/+Jxf8AlcNHOwEfzzdReodRlDZtpNF3a/eYzjbwaPsiUthY7W6YRZesxsd
3GSD4zHidAihBc7lhGlOf27xVw+lwq8rRRmgLth8mVUff67rB4IjrNXXc/fmTEkh
n98MbV/ChYsDHOtGCSyqDH7EwVRV+JQVB7PKhzPLb3bOG3B09oOWr65EYK3TQ5n9
HdWiMrINpGLllED28KrdDsEzKhXwPSkc/Sigx+MpMo8Ix/7rJZqG06fwm2nz2xzJ
zVt/Fq0RJ5Ul36J6MWwaSFmCrzaWHMbIN4YJZk2bYiBXD0ULqiFknCX85+ioIizr
XOXISrY3Rw+GcysoF4KP6ES7liU8RMKLHH5XpI/hhmf8vvDs6xKNa6bEi/WuaMjy
r+S8yQr3kZu6Xv/Sj2LhVlgQEznI0wxBRMbO92pMV1nQTagg+d9Pf4OvmgHWXV5S
xhVQpYE2STlnCllNuaTnCaB2KmaABkSGG69+M3QRC5XNM5RRHq4NZmyaODB2RVyl
okQq0U4gIN5Pke+Btq3jut7zrMTJgHszKoe9/2aLeM0iTRl8a96JsygFGr8hV06G
GPdt2KD9dSjyABk0hP0e2Hw9r47fmN/aERJifqo6ZOD+1uXU601JzsdIIV3n8fbT
qnenUE6bCRQurqctjNzfU0gAPZTrMxIQwJIWXaNR1cu7p0lMYDM=
=BwRp
-----END PGP SIGNATURE-----


Closed
?