From ceab71fe64aaf1fa154cc33e45f7c52e232dc068 Mon Sep 17 00:00:00 2001 From: Alfred Wingate Date: Tue, 17 Mar 2026 09:04:48 +0200 Subject: [PATCH] media-libs/libavif: add 1.4.1 Signed-off-by: Alfred Wingate Part-of: https://codeberg.org/gentoo/gentoo/pulls/406 Signed-off-by: Sam James --- media-libs/libavif/Manifest | 1 + media-libs/libavif/libavif-1.4.1.ebuild | 131 ++++++++++++++++++++++++ 2 files changed, 132 insertions(+) create mode 100644 media-libs/libavif/libavif-1.4.1.ebuild diff --git a/media-libs/libavif/Manifest b/media-libs/libavif/Manifest index 594f818a1bbc9..1706c9af18c27 100644 --- a/media-libs/libavif/Manifest +++ b/media-libs/libavif/Manifest @@ -1,2 +1,3 @@ DIST libargparse-ee74d1b53bd680748af14e737378de57e2a0a954.tar.gz 22394 BLAKE2B 18b08d8d8723e0b9c4b018ff318c1f45c3903996621be123508cfab7c193d7311fd0349bd0855202498f26c40287b9af3eb582fb53ca8efd0107ee1bc154385b SHA512 6d6e47f4c1a63f085a90bc4d9f6dca7462f5e72d2a4a3b7a6d6df54632edbd4a9deb8f9b8c08517031b0c9ca89e0a1b48bb35261b3e660e4601e28a39f8e7ef1 DIST libavif-1.3.0.tar.gz 14062497 BLAKE2B 15d5006769e03dfb88f71c77629720406cb7d140538d8f4bbfb846b9beb0676891d0829a78debb79c74b876bc1863d99d5ac17f993854ee360db984a7797bdc1 SHA512 a411579c851b7c46ddbd93c3549295e0901d822c817f5378b2c75b6a4f16eba1dffdf611bd1789dedeba776e701690a7437f9caeb9eb6dc382fc64935949dbf4 +DIST libavif-1.4.1.tar.gz 14528943 BLAKE2B a0f31aa49fd43f0568aed6e7e9a7b23dffc4cb805f8bb9f978f48a601b94d69f9e38d6300fa2e9c21a02ddd76213e0c719e5cb4cfc2ff0819742c167029296e2 SHA512 103a54cbc20a1ae1c948bf5e09cb7696b966c55445f9fd951207fbf651039ebd56e0ad04a6fdf5538299af5ee96339a760fe1cb904af47f51072642a750fd699 diff --git a/media-libs/libavif/libavif-1.4.1.ebuild b/media-libs/libavif/libavif-1.4.1.ebuild new file mode 100644 index 0000000000000..65822cb2b6175 --- /dev/null +++ b/media-libs/libavif/libavif-1.4.1.ebuild @@ -0,0 +1,131 @@ +# Copyright 2020-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit cmake-multilib gnome2-utils + +ARGPARSE_COMMIT="ee74d1b53bd680748af14e737378de57e2a0a954" +DESCRIPTION="Library for encoding and decoding .avif files" +HOMEPAGE="https://github.com/AOMediaCodec/libavif" +SRC_URI=" + https://github.com/AOMediaCodec/libavif/archive/v${PV}.tar.gz + -> ${P}.tar.gz + extras? ( + https://github.com/kmurray/libargparse/archive/${ARGPARSE_COMMIT}.tar.gz + -> libargparse-${ARGPARSE_COMMIT}.tar.gz + ) +" + +LICENSE=" + BSD-2 + extras? ( MIT ) +" +# See bug #822336 re subslot +# See LIBRARY_VERSION_MAJOR, LIBRARY_VERSION_MINOR in CMakeLists.txt +SLOT="0/16.4" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86" +IUSE="+aom dav1d examples extras gdk-pixbuf rav1e svt-av1 libyuv test" +RESTRICT="!test? ( test )" +REQUIRED_USE="|| ( aom dav1d )" + +DEPEND=" + media-libs/libjpeg-turbo:=[${MULTILIB_USEDEP}] + media-libs/libpng:=[${MULTILIB_USEDEP}] + aom? ( >=media-libs/libaom-3.3.0:=[${MULTILIB_USEDEP}] ) + dav1d? ( >=media-libs/dav1d-1.0.0:=[${MULTILIB_USEDEP}] ) + extras? ( + test? ( + dev-cpp/gtest + media-gfx/imagemagick[lcms] + ) + ) + gdk-pixbuf? ( + dev-libs/glib:2[${MULTILIB_USEDEP}] + x11-libs/gdk-pixbuf:2[${MULTILIB_USEDEP}] + ) + rav1e? ( >=media-video/rav1e-0.5.1:=[capi] ) + svt-av1? ( >=media-libs/svt-av1-0.9.1:= ) + libyuv? ( media-libs/libyuv:= ) +" +RDEPEND=" + ${DEPEND} +" +BDEPEND=" + virtual/pkgconfig +" + +src_prepare() { + cmake_src_prepare + + # Bug: https://bugs.gentoo.org/951614 + if use extras; then + mv "${WORKDIR}/libargparse-${ARGPARSE_COMMIT}" "${S}/ext/libargparse" || + die "mv failed" + fi +} + +multilib_src_configure() { + local mycmakeargs=( + -DBUILD_SHARED_LIBS=ON + -DAVIF_CODEC_LIBGAV1=OFF + + # Use system libraries. + -DAVIF_CODEC_AOM=$(usex aom SYSTEM OFF) + -DAVIF_CODEC_DAV1D=$(usex dav1d SYSTEM OFF) + -DAVIF_ZLIBPNG=SYSTEM + -DAVIF_JPEG=SYSTEM + + -DAVIF_BUILD_GDK_PIXBUF=$(usex gdk-pixbuf ON OFF) + + -DAVIF_ENABLE_WERROR=OFF + ) + + if multilib_is_native_abi; then + mycmakeargs+=( + -DAVIF_CODEC_RAV1E=$(usex rav1e SYSTEM OFF) + -DAVIF_CODEC_SVT=$(usex svt-av1 SYSTEM OFF) + -DAVIF_LIBYUV=$(usex libyuv SYSTEM OFF) + + -DAVIF_BUILD_EXAMPLES=$(usex examples ON OFF) + -DAVIF_BUILD_APPS=$(usex extras ON OFF) + -DAVIF_BUILD_TESTS=$(usex test ON OFF) + -DAVIF_GTEST=$(usex extras $(usex test SYSTEM OFF) OFF) + ) + else + mycmakeargs+=( + -DAVIF_CODEC_RAV1E=OFF + -DAVIF_CODEC_SVT=OFF + -DAVIF_LIBYUV=OFF + + -DAVIF_BUILD_EXAMPLES=OFF + -DAVIF_BUILD_APPS=OFF + -DAVIF_BUILD_TESTS=OFF + -DAVIF_GTEST=OFF + ) + + if ! use aom ; then + if use rav1e || use svt-av1 ; then + ewarn "libavif on ${MULTILIB_ABI_FLAG} will work in read-only mode." + ewarn "Support for rav1e and/or svt-av1 is is not available on ${MULTILIB_ABI_FLAG}" + ewarn "Enable aom flag for full support on ${MULTILIB_ABI_FLAG}" + fi + fi + fi + + cmake_src_configure +} + +pkg_postinst() { + if ! use aom && ! use rav1e && ! use svt-av1 ; then + ewarn "No AV1 encoder is set," + ewarn "libavif will work in read-only mode." + ewarn "Enable aom, rav1e or svt-av1 flag if you want to save .AVIF files." + fi + + use gdk-pixbuf && multilib_foreach_abi gnome2_gdk_pixbuf_update +} + +pkg_postrm() { + use gdk-pixbuf && multilib_foreach_abi gnome2_gdk_pixbuf_update +}