mirror of
https://github.com/gentoo-mirror/gentoo.git
synced 2026-09-24 04:59:14 -07:00
media-libs/libheif: add 1.20.2
Include patch to fix undefined symbol (already in upstream git, but not yet part of a release). Closes: https://bugs.gentoo.org/960789 Signed-off-by: Hanno Böck <hanno@gentoo.org>
This commit is contained in:
@@ -1,2 +1,3 @@
|
||||
DIST libheif-1.19.8.tar.gz 1718218 BLAKE2B 048fe46fc6d4a889ff80da51b6768b505d265a11b2363ecc9d908438dfd8613d0e460737a36a30e5fd84c6e91c70f22f86778cb5f04ab1f6a8b9eae54c027ab0 SHA512 ccb7359c2a7632fd598bb82d238482652fec58c8cebfecd3c2fef07d814d6e623d7916db18eeb47887f1c32bbdbb80680533643b7610880844e1dee3e128cade
|
||||
DIST libheif-1.20.1.tar.gz 1787033 BLAKE2B 11f312d9b4222a8f07e0953d3f828a7b324d4fb3359d7a33f0ef7f2507cbd9ca06c5d433cf3271934bcf748f5e9a5c9c008b4373e82b21e264fc817190a32fb9 SHA512 360a02e71bd1693c42e110ebf77e8da576775517c8c0250c02bbfd8fd0ceb6b56d3d7cec76eddf8dfc572687c308cfb756e4c3519d31572d25c0a7557d3de415
|
||||
DIST libheif-1.20.2.tar.gz 1787518 BLAKE2B 8bf39d9a1cd545c5bf30c502909811bcf93370e471ee21b02595fef969690096def2db964d8963d9e820532eb7d2603aa4da86207707a2ca1abe005c328f2e5e SHA512 0ab8669d2ee1ed619c89cbe3fa3a7618c25d26a7e4c65801dd4db163d4a584fde13b32ed0996461e81bd42ed4def8f4eb7b296b15b7819e90c0a7d5a8c08b06b
|
||||
|
||||
13
media-libs/libheif/files/libheif-undefined.diff
Normal file
13
media-libs/libheif/files/libheif-undefined.diff
Normal file
@@ -0,0 +1,13 @@
|
||||
diff --git a/libheif/plugins/CMakeLists.txt b/libheif/plugins/CMakeLists.txt
|
||||
index f7379c09da..643f413a1c 100644
|
||||
--- a/libheif/plugins/CMakeLists.txt
|
||||
+++ b/libheif/plugins/CMakeLists.txt
|
||||
@@ -66,7 +66,7 @@ set(AOM_ENCODER_extra_plugin_sources ../error.cc ../common_utils.cc ../common_ut
|
||||
plugin_compilation(aomenc AOM AOM_ENCODER_FOUND AOM_ENCODER AOM_ENCODER)
|
||||
|
||||
set(SvtEnc_sources encoder_svt.cc encoder_svt.h)
|
||||
-set(SvtEnc_extra_plugin_sources ../common_utils.cc ../common_utils.h)
|
||||
+set(SvtEnc_extra_plugin_sources ../error.cc ../common_utils.cc ../common_utils.h)
|
||||
plugin_compilation(svtenc SvtEnc SvtEnc_FOUND SvtEnc SvtEnc)
|
||||
|
||||
set(RAV1E_sources encoder_rav1e.cc encoder_rav1e.h)
|
||||
125
media-libs/libheif/libheif-1.20.2.ebuild
Normal file
125
media-libs/libheif/libheif-1.20.2.ebuild
Normal file
@@ -0,0 +1,125 @@
|
||||
# Copyright 1999-2025 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
inherit cmake-multilib gnome2-utils xdg
|
||||
|
||||
# From https://github.com/strukturag/libheif/commit/6c3fb973c5d9f954899839f6f4aaa6a173cab098
|
||||
PATCHES="${FILESDIR}/libheif-undefined.diff"
|
||||
|
||||
DESCRIPTION="ISO/IEC 23008-12:2017 HEIF file format decoder and encoder"
|
||||
HOMEPAGE="https://github.com/strukturag/libheif"
|
||||
|
||||
if [[ ${PV} == *9999* ]] ; then
|
||||
EGIT_REPO_URI="https://github.com/strukturag/libheif.git"
|
||||
inherit git-r3
|
||||
else
|
||||
SRC_URI="https://github.com/strukturag/libheif/releases/download/v${PV}/${P}.tar.gz"
|
||||
KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc64 ~riscv ~x86"
|
||||
fi
|
||||
|
||||
LICENSE="GPL-3 MIT"
|
||||
SLOT="0/$(ver_cut 1-2)"
|
||||
IUSE="+aom dav1d +de265 doc ffmpeg gdk-pixbuf gui +jpeg +jpeg2k +kvazaar openh264 rav1e svt-av1 test test-full +threads tools +webp x265"
|
||||
# IUSE+=" vvdec vvenc"
|
||||
REQUIRED_USE="test-full? ( test )"
|
||||
RESTRICT="!test? ( test )"
|
||||
|
||||
BDEPEND="
|
||||
doc? ( app-text/doxygen )
|
||||
"
|
||||
DEPEND="
|
||||
media-libs/libpng:=[${MULTILIB_USEDEP}]
|
||||
media-libs/tiff:=[${MULTILIB_USEDEP}]
|
||||
sys-libs/zlib:=[${MULTILIB_USEDEP}]
|
||||
aom? ( >=media-libs/libaom-2.0.0:=[${MULTILIB_USEDEP}] )
|
||||
dav1d? ( media-libs/dav1d:=[${MULTILIB_USEDEP}] )
|
||||
de265? ( media-libs/libde265[${MULTILIB_USEDEP}] )
|
||||
ffmpeg? ( media-video/ffmpeg:=[${MULTILIB_USEDEP}] )
|
||||
gdk-pixbuf? ( x11-libs/gdk-pixbuf[${MULTILIB_USEDEP}] )
|
||||
jpeg? ( media-libs/libjpeg-turbo:=[${MULTILIB_USEDEP}] )
|
||||
jpeg2k? ( media-libs/openjpeg:=[${MULTILIB_USEDEP}] )
|
||||
kvazaar? ( media-libs/kvazaar:=[${MULTILIB_USEDEP}] )
|
||||
openh264? ( media-libs/openh264:=[${MULTILIB_USEDEP}] )
|
||||
rav1e? ( media-video/rav1e:= )
|
||||
svt-av1? ( media-libs/svt-av1:=[${MULTILIB_USEDEP}] )
|
||||
tools? (
|
||||
gui? (
|
||||
media-libs/libsdl2:=[${MULTILIB_USEDEP}]
|
||||
)
|
||||
)
|
||||
webp? ( media-libs/libwebp:= )
|
||||
x265? ( media-libs/x265:=[${MULTILIB_USEDEP}] )
|
||||
"
|
||||
# vvdec? ( >=media-libs/vvdec-2.3.0:=::guru[${MULTILIB_USEDEP}] )
|
||||
# vvenc? ( media-libs/vvenc:=::guru[${MULTILIB_USEDEP}] )
|
||||
RDEPEND="${DEPEND}"
|
||||
|
||||
MULTILIB_WRAPPED_HEADERS=(
|
||||
/usr/include/libheif/heif_version.h
|
||||
)
|
||||
|
||||
pkg_pretend() {
|
||||
if use gui && use !tools ; then
|
||||
ewarn "Building heif-view requires USE=\"gui tools\"."
|
||||
fi
|
||||
}
|
||||
|
||||
multilib_src_configure() {
|
||||
local mycmakeargs=(
|
||||
$(cmake_use_find_package doc Doxygen)
|
||||
-DBUILD_TESTING=$(usex test)
|
||||
-DENABLE_PLUGIN_LOADING=true
|
||||
-DWITH_LIBDE265=$(usex de265)
|
||||
-DWITH_AOM_DECODER=$(usex aom)
|
||||
-DWITH_AOM_ENCODER=$(usex aom)
|
||||
-DWITH_DAV1D=$(usex dav1d)
|
||||
-DWITH_EXAMPLES=$(usex tools) # the examples are tools
|
||||
-DWITH_FFMPEG_DECODER=$(usex ffmpeg)
|
||||
-DWITH_GDK_PIXBUF=$(usex gdk-pixbuf)
|
||||
-DWITH_OpenH264_DECODER=$(usex openh264)
|
||||
-DWITH_OpenH264_ENCODER=$(usex openh264)
|
||||
-DWITH_RAV1E=$(multilib_native_usex rav1e)
|
||||
-DWITH_SvtEnc=$(usex svt-av1)
|
||||
-DWITH_LIBSHARPYUV=$(usex webp)
|
||||
# -DWITH_VVDEC=$(usex vvdec) # vvdec not yet packaged, in ::guru
|
||||
# -DWITH_VVENC=$(usex vvenc) # vvenc not yet packaged, in ::guru
|
||||
-DWITH_X265=$(usex x265)
|
||||
-DWITH_KVAZAAR=$(usex kvazaar)
|
||||
-DWITH_JPEG_DECODER=$(usex jpeg)
|
||||
-DWITH_JPEG_ENCODER=$(usex jpeg)
|
||||
-DWITH_OpenJPEG_DECODER=$(usex jpeg2k)
|
||||
-DWITH_OpenJPEG_ENCODER=$(usex jpeg2k)
|
||||
)
|
||||
|
||||
# Allow tests that rely on options not normally enabled
|
||||
# https://github.com/strukturag/libheif/blob/v1.20.1/tests/CMakeLists.txt#L36-L46
|
||||
# https://github.com/strukturag/libheif/blob/v1.20.1/tests/CMakeLists.txt#L82-L101
|
||||
if use test && use test-full; then
|
||||
mycmakeargs+=(
|
||||
-DENABLE_EXPERIMENTAL_FEATURES=ON
|
||||
-DWITH_REDUCED_VISIBILITY=OFF
|
||||
-DWITH_UNCOMPRESSED_CODEC=ON
|
||||
)
|
||||
fi
|
||||
|
||||
# TODO WITH_EXAMPLE_HEIF_VIEW in -9999
|
||||
if use tools && ! use gui; then
|
||||
mycmakeargs+=(
|
||||
-DCMAKE_DISABLE_FIND_PACKAGE_SDL2=ON
|
||||
)
|
||||
fi
|
||||
|
||||
cmake_src_configure
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
xdg_pkg_postinst
|
||||
use gdk-pixbuf && multilib_foreach_abi gnome2_gdk_pixbuf_update
|
||||
}
|
||||
|
||||
pkg_postrm() {
|
||||
xdg_pkg_postrm
|
||||
use gdk-pixbuf && multilib_foreach_abi gnome2_gdk_pixbuf_update
|
||||
}
|
||||
Reference in New Issue
Block a user