diff options
Diffstat (limited to 'media-libs/libheif')
-rw-r--r-- | media-libs/libheif/Manifest | 6 | ||||
-rw-r--r-- | media-libs/libheif/libheif-1.17.6.ebuild | 99 | ||||
-rw-r--r-- | media-libs/libheif/libheif-9999.ebuild | 59 | ||||
-rw-r--r-- | media-libs/libheif/metadata.xml | 1 |
4 files changed, 141 insertions, 24 deletions
diff --git a/media-libs/libheif/Manifest b/media-libs/libheif/Manifest index 9b05e89d4517..18ebaae115c7 100644 --- a/media-libs/libheif/Manifest +++ b/media-libs/libheif/Manifest @@ -1,4 +1,6 @@ DIST libheif-1.15.2.tar.gz 1749773 BLAKE2B 788ecf59c936bfae9544bedd5fa50fd74f04adf29f804994bc208d2a5339b13984baf78a508babd80fa0d48381b2cc0bfb1e1140de97437b8c0336378a64fcb6 SHA512 79f22dad084bbe965dae7b8f92fc119dbdde7a04577ca9c7bc28b1a022a06f0ae64d3fbd11e82d6907f0fd678a31d98275e508a51a6bd0a9e8675c93790f1996 +DIST libheif-1.17.6.tar.gz 1433302 BLAKE2B 937a1ddfd86c4d50a609e24d00c07e0d1924a5532e36293f83fd67a38f4c13186cb5c4837598000d6d3516ec1965fdc6709ef825c327fd5ce3ea2194008b6efd SHA512 47d93df4f584979cea26af74cd8543b13398356b5fd46b1b378f7738cee471e80b7e117f6ce307674a549182f5ce22a577c6e79a6e72fe166421efc4be04687a EBUILD libheif-1.15.2-r1.ebuild 2058 BLAKE2B 4769aaea2e7165a43dc8761d944ff77df1ca87ed6fe4bef4f291075db39c44b151f46198e1e74683072ad3a26aced9f259a71db8a5512cf74cec047c1750073b SHA512 108ed5a9a7ab77110dc53189ae90f245672f39e76784678cb007b560b8284e862ae4142cd6abf484bdfb0029c41bfdec9aa5c352fa9ba1439d39fb3cdd63af96 -EBUILD libheif-9999.ebuild 2001 BLAKE2B 02130e50e78e847a881aeab0b1f4f86e1aab701500d42b430d3ba073715369bd444eff39150e8d948e1482341cd4e1c685a7eda59dfa697a4517de11c34799c7 SHA512 ad3efd5f606d0c5e5f747353f22d5953d4e1f68e964e945b9bc8c652753dd36ed85ea681ae41b7c270f34c9a131f84e229b49eb41eb4787d80ee909eb1ed9a62 -MISC metadata.xml 725 BLAKE2B c952cedefb662b71823790f5580a5255028a2b2c00d82098a87e76c55dda3a19bf2b5ed84a25f31729d02b0121c75befd5d5deb0223d1cc298cb8523023277d2 SHA512 b289faaae3347d1587d24e70c2a3baccf2efd7ae0e326b709a38220c5cdf5058545991b5386a720c2653d9494f8df1eca1ed90a703875373876349ab40d71afb +EBUILD libheif-1.17.6.ebuild 2258 BLAKE2B 1ef40abfff4b9c0e6274a77c058858ea98116e157e8e3bfac3630d559ce0238112009bd16b8d7fa0dc49aa0460bb8ba3e03e836c0e11eec1f2065cc16ac65b60 SHA512 f7f3c152697c0f4c4f20e81964b0012cfa23fef3e884d6d2ad28ad010c374ba68f022e834091d121b2de1edb0017c2a1a10bea70790668a0a7c836dbea5f0853 +EBUILD libheif-9999.ebuild 2258 BLAKE2B 1ef40abfff4b9c0e6274a77c058858ea98116e157e8e3bfac3630d559ce0238112009bd16b8d7fa0dc49aa0460bb8ba3e03e836c0e11eec1f2065cc16ac65b60 SHA512 f7f3c152697c0f4c4f20e81964b0012cfa23fef3e884d6d2ad28ad010c374ba68f022e834091d121b2de1edb0017c2a1a10bea70790668a0a7c836dbea5f0853 +MISC metadata.xml 809 BLAKE2B f26844fa79747ac286a0130cb8cb2b4f0e771ed7fa3f9fe29a3fbd71876902c868dc32305f928cedbb88dcadab3c07cb4f85c647369adc904c7c9c463dd05343 SHA512 754ef9004dc664cca658bfbd0392fce837557efe1b92aefe198dd529cb388048f49e37648c7338829d6ecd87ea953efd0f66895191aea7bd39730c2f7240f032 diff --git a/media-libs/libheif/libheif-1.17.6.ebuild b/media-libs/libheif/libheif-1.17.6.ebuild new file mode 100644 index 000000000000..a4c096fce0e6 --- /dev/null +++ b/media-libs/libheif/libheif-1.17.6.ebuild @@ -0,0 +1,99 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit cmake xdg multilib-minimal + +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 + +DESCRIPTION="ISO/IEC 23008-12:2017 HEIF file format decoder and encoder" +HOMEPAGE="https://github.com/strukturag/libheif" + +LICENSE="GPL-3" +SLOT="0/$(ver_cut 1-2)" +IUSE="+aom gdk-pixbuf go rav1e svt-av1 test +threads x265" +REQUIRED_USE="test? ( go )" +RESTRICT="!test? ( test )" + +BDEPEND=" + test? ( + dev-cpp/catch + dev-lang/go + ) +" +DEPEND=" + media-libs/dav1d:=[${MULTILIB_USEDEP}] + media-libs/libde265:=[${MULTILIB_USEDEP}] + media-libs/libpng:0=[${MULTILIB_USEDEP}] + media-libs/tiff:=[${MULTILIB_USEDEP}] + sys-libs/zlib:=[${MULTILIB_USEDEP}] + media-libs/libjpeg-turbo:0=[${MULTILIB_USEDEP}] + aom? ( >=media-libs/libaom-2.0.0:=[${MULTILIB_USEDEP}] ) + gdk-pixbuf? ( x11-libs/gdk-pixbuf[${MULTILIB_USEDEP}] ) + go? ( dev-lang/go ) + rav1e? ( media-video/rav1e:= ) + svt-av1? ( media-libs/svt-av1[${MULTILIB_USEDEP}] ) + x265? ( media-libs/x265:=[${MULTILIB_USEDEP}] )" +RDEPEND="${DEPEND}" + +MULTILIB_WRAPPED_HEADERS=( + /usr/include/libheif/heif_version.h +) + +src_prepare() { + default + + if use test ; then + # bug 865351 + rm tests/catch.hpp || die + ln -s "${ESYSROOT}"/usr/include/catch2/catch.hpp tests/catch.hpp || die + fi + + cmake_src_prepare + + multilib_copy_sources +} + +multilib_src_configure() { + export GO111MODULE=auto + local mycmakeargs=( + -DENABLE_PLUGIN_LOADING=true + -DWITH_LIBDE265=true + -DWITH_AOM_DECODER=$(usex aom) + -DWITH_AOM_ENCODER=$(usex aom) + -DWITH_GDK_PIXBUF=$(usex gdk-pixbuf) + -DWITH_RAV1E="$(multilib_native_usex rav1e)" + -DWITH_SvtEnc="$(usex svt-av1)" + -DWITH_X265=$(usex x265) + -DWITH_KVAZAAR=true + -DWITH_JPEG_DECODER=true + -DWITH_JPEG_ENCODER=true + -DWITH_OpenJPEG_DECODER=true + -DWITH_OpenJPEG_ENCODER=true + ) + cmake_src_configure +} + +multilib_src_compile() { + default + cmake_src_compile +} + +multilib_src_test() { + default +} + +multilib_src_install() { + cmake_src_install +} + +multilib_src_install_all() { + einstalldocs +} diff --git a/media-libs/libheif/libheif-9999.ebuild b/media-libs/libheif/libheif-9999.ebuild index 2b2d106acf2d..a4c096fce0e6 100644 --- a/media-libs/libheif/libheif-9999.ebuild +++ b/media-libs/libheif/libheif-9999.ebuild @@ -1,9 +1,9 @@ -# Copyright 1999-2022 Gentoo Authors +# Copyright 1999-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 -inherit autotools xdg multilib-minimal +inherit cmake xdg multilib-minimal if [[ ${PV} == *9999 ]] ; then EGIT_REPO_URI="https://github.com/strukturag/libheif.git" @@ -17,14 +17,14 @@ DESCRIPTION="ISO/IEC 23008-12:2017 HEIF file format decoder and encoder" HOMEPAGE="https://github.com/strukturag/libheif" LICENSE="GPL-3" -SLOT="0/1.12" -IUSE="+aom gdk-pixbuf go rav1e test +threads x265" +SLOT="0/$(ver_cut 1-2)" +IUSE="+aom gdk-pixbuf go rav1e svt-av1 test +threads x265" REQUIRED_USE="test? ( go )" RESTRICT="!test? ( test )" BDEPEND=" test? ( - <dev-cpp/catch-3 + dev-cpp/catch dev-lang/go ) " @@ -32,53 +32,68 @@ DEPEND=" media-libs/dav1d:=[${MULTILIB_USEDEP}] media-libs/libde265:=[${MULTILIB_USEDEP}] media-libs/libpng:0=[${MULTILIB_USEDEP}] + media-libs/tiff:=[${MULTILIB_USEDEP}] sys-libs/zlib:=[${MULTILIB_USEDEP}] media-libs/libjpeg-turbo:0=[${MULTILIB_USEDEP}] aom? ( >=media-libs/libaom-2.0.0:=[${MULTILIB_USEDEP}] ) gdk-pixbuf? ( x11-libs/gdk-pixbuf[${MULTILIB_USEDEP}] ) go? ( dev-lang/go ) rav1e? ( media-video/rav1e:= ) + svt-av1? ( media-libs/svt-av1[${MULTILIB_USEDEP}] ) x265? ( media-libs/x265:=[${MULTILIB_USEDEP}] )" RDEPEND="${DEPEND}" +MULTILIB_WRAPPED_HEADERS=( + /usr/include/libheif/heif_version.h +) + src_prepare() { default - sed -i -e 's:-Werror::' configure.ac || die - if use test ; then + # bug 865351 rm tests/catch.hpp || die ln -s "${ESYSROOT}"/usr/include/catch2/catch.hpp tests/catch.hpp || die fi - eautoreconf + cmake_src_prepare - # prevent "stat heif-test.go: no such file or directory" multilib_copy_sources } multilib_src_configure() { export GO111MODULE=auto - local econf_args=( - --enable-libde265 - --disable-static - $(multilib_is_native_abi && use go || echo --disable-go) - $(use_enable aom) - $(use_enable gdk-pixbuf) - $(use_enable rav1e) - $(use_enable threads multithreading) - $(use_enable test tests) - $(use_enable x265) + local mycmakeargs=( + -DENABLE_PLUGIN_LOADING=true + -DWITH_LIBDE265=true + -DWITH_AOM_DECODER=$(usex aom) + -DWITH_AOM_ENCODER=$(usex aom) + -DWITH_GDK_PIXBUF=$(usex gdk-pixbuf) + -DWITH_RAV1E="$(multilib_native_usex rav1e)" + -DWITH_SvtEnc="$(usex svt-av1)" + -DWITH_X265=$(usex x265) + -DWITH_KVAZAAR=true + -DWITH_JPEG_DECODER=true + -DWITH_JPEG_ENCODER=true + -DWITH_OpenJPEG_DECODER=true + -DWITH_OpenJPEG_ENCODER=true ) - ECONF_SOURCE="${S}" econf "${econf_args[@]}" + cmake_src_configure +} + +multilib_src_compile() { + default + cmake_src_compile } multilib_src_test() { default - emake -C go test +} + +multilib_src_install() { + cmake_src_install } multilib_src_install_all() { einstalldocs - find "${ED}" -name '*.la' -delete || die } diff --git a/media-libs/libheif/metadata.xml b/media-libs/libheif/metadata.xml index 99600fed24d1..e1aa5ee8fec4 100644 --- a/media-libs/libheif/metadata.xml +++ b/media-libs/libheif/metadata.xml @@ -7,6 +7,7 @@ <flag name="gdk-pixbuf">Enable <pkg>x11-libs/gdk-pixbuf</pkg> plugin</flag> <flag name="go">Enable building <pkg>dev-lang/go</pkg> code/examples</flag> <flag name="rav1e">Use <pkg>media-video/rav1e</pkg> for AVIF encoding</flag> + <flag name="svt-av1">Use <pkg>media-libs/svt-av1</pkg> for SVT-AV1 encoding</flag> <flag name="x265">Use <pkg> media-libs/x265</pkg> for HEIF encoding</flag> </use> <upstream> |