media-libs/libavif: add 1.4.1

Signed-off-by: Alfred Wingate <parona@protonmail.com>
Part-of: https://codeberg.org/gentoo/gentoo/pulls/406
Signed-off-by: Sam James <sam@gentoo.org>
This commit is contained in:
Alfred Wingate
2026-03-17 09:04:48 +02:00
committed by Sam James
parent dd9b9007ff
commit ceab71fe64
2 changed files with 132 additions and 0 deletions

View File

@@ -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

View File

@@ -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
}