diff mbox series

[3/4] package/libavif: new package

Message ID 20240522091608.3659847-4-aperez@igalia.com
State New
Headers show
Series Update WPE WebKit to the 2.44 release series | expand

Commit Message

Adrian Perez de Castro May 22, 2024, 9:16 a.m. UTC
libavif is an implementation of the AV1F image format, which may be a
frontend for different encoders and decoders. At the moment only dav1d
is packaged so that is the one configured.

Signed-off-by: Adrian Perez de Castro <aperez@igalia.com>
---
 DEVELOPERS                   |  1 +
 package/Config.in            |  1 +
 package/libavif/Config.in    | 13 +++++++++++++
 package/libavif/libavif.hash |  3 +++
 package/libavif/libavif.mk   | 34 ++++++++++++++++++++++++++++++++++
 5 files changed, 52 insertions(+)
 create mode 100644 package/libavif/Config.in
 create mode 100644 package/libavif/libavif.hash
 create mode 100644 package/libavif/libavif.mk
diff mbox series

Patch

diff --git a/DEVELOPERS b/DEVELOPERS
index 52c9b84a9d..f9539719cc 100644
--- a/DEVELOPERS
+++ b/DEVELOPERS
@@ -55,6 +55,7 @@  F:	package/brotli/
 F:	package/bubblewrap/
 F:	package/cage/
 F:	package/cog/
+F:	package/libavif/
 F:	package/libepoxy/
 F:	package/libmanette/
 F:	package/libpsl/
diff --git a/package/Config.in b/package/Config.in
index 1b6a5b0dab..e83642823e 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -1674,6 +1674,7 @@  menu "Graphics"
 	source "package/leptonica/Config.in"
 	source "package/lesstif/Config.in"
 	source "package/libart/Config.in"
+	source "package/libavif/Config.in"
 	source "package/libdecor/Config.in"
 	source "package/libdmtx/Config.in"
 	source "package/libdri2/Config.in"
diff --git a/package/libavif/Config.in b/package/libavif/Config.in
new file mode 100644
index 0000000000..a15e9fc733
--- /dev/null
+++ b/package/libavif/Config.in
@@ -0,0 +1,13 @@ 
+config BR2_PACKAGE_LIBAVIF
+	bool "libavif"
+	depends on !BR2_STATIC_LIBS # dav1d, dlfcn.h
+	depends on BR2_TOOLCHAIN_HAS_THREADS # dav1d, pthread
+	select BR2_PACKAGE_DAV1D
+	help
+	  Friendly, portable C implementation of the AV1 Image File
+	  Format.
+
+	  https://github.com/AOMediaCodec/libavif
+
+comment "libavif needs a toolchain w/ threads, dynamic library"
+	depends on !BR2_TOOLCHAIN_HAS_THREADS || BR2_STATIC_LIBS
diff --git a/package/libavif/libavif.hash b/package/libavif/libavif.hash
new file mode 100644
index 0000000000..f4599cdb0b
--- /dev/null
+++ b/package/libavif/libavif.hash
@@ -0,0 +1,3 @@ 
+sha256  dc56708c83a4b934a8af2b78f67f866ba2fb568605c7cf94312acf51ee57d146  libavif-1.0.4.tar.gz
+
+sha256  10952217a6d404de8bf8a997fbea9b88f682df1fe98cb9b9f467ade641525639  LICENSE
diff --git a/package/libavif/libavif.mk b/package/libavif/libavif.mk
new file mode 100644
index 0000000000..fbd313114d
--- /dev/null
+++ b/package/libavif/libavif.mk
@@ -0,0 +1,34 @@ 
+################################################################################
+#
+# libavif
+#
+################################################################################
+
+LIBAVIF_VERSION = 1.0.4
+LIBAVIF_SITE = $(call github,AOMediaCodec,libavif,v$(LIBAVIF_VERSION))
+LIBAVIF_LICENSE =
+LIBAVIF_LICENSE_FILES = LICENSE
+LIBAVIF_INSTALL_STAGING = YES
+
+# Only the dav1d decoder is packaged at the moment.
+LIBAVIF_DEPENDENCIES = dav1d
+LIBAVIF_CONF_OPTS = \
+	-DAVIF_BUILD_APPS=OFF \
+	-DAVIF_BUILD_EXAMPLES=OFF \
+	-DAVIF_BUILD_MAN_PAGES=OFF \
+	-DAVIF_BUILD_TESTS=OFF \
+	-DAVIF_CODEC_AOM=OFF \
+	-DAVIF_CODEC_DAV1D=ON \
+	-DAVIF_CODEC_LIBGAV1=OFF \
+	-DAVIF_CODEC_RAV1E=OFF \
+	-DAVIF_CODEC_SVT=OFF \
+	-DAVIF_CODEC_AVM=OFF \
+	-DAVIF_ENABLE_GTEST=OFF
+
+# There is no CMake options to explicitly enable/disable usage of
+# libyuv, only autodetection :-(
+ifeq ($(BR2_PACKAGE_LIBYUV),y)
+LIBAVIF_DEPENDENCIES += libyuv
+endif
+
+$(eval $(cmake-package))