diff --git a/media-libs/libheif/libheif-1.12.0.recipe b/media-libs/libheif/libheif-1.19.7.recipe similarity index 68% rename from media-libs/libheif/libheif-1.12.0.recipe rename to media-libs/libheif/libheif-1.19.7.recipe index 606d8c289..8f54e6601 100644 --- a/media-libs/libheif/libheif-1.12.0.recipe +++ b/media-libs/libheif/libheif-1.19.7.recipe @@ -8,12 +8,13 @@ coding, respectively, for the best compression ratios currently possible. libheif makes use of libde265 for HEIF image decoding and x265 for encoding. For AVIF, libaom, dav1d, or rav1e are used as codecs." HOMEPAGE="https://github.com/strukturag/libheif" -COPYRIGHT="2017-2020 Struktur AG" +COPYRIGHT="2017-2020 Struktur AG + 2017-2025 Dirk Farin" LICENSE="MIT GNU LGPL v3" -REVISION="4" +REVISION="1" SOURCE_URI="https://github.com/strukturag/libheif/archive/refs/tags/v$portVersion.tar.gz" -CHECKSUM_SHA256="086145b0d990182a033b0011caadb1b642da84f39ab83aa66d005610650b3c65" +CHECKSUM_SHA256="8334c7c418f82c30c9bec1f46e6abfd5a8d3c420a3210d5505eb1868696ce0cc" PATCHES="libheif-$portVersion.patchset" ARCHITECTURES="all !x86_gcc2" @@ -37,6 +38,11 @@ REQUIRES=" haiku$secondaryArchSuffix lib:libdav1d$secondaryArchSuffix lib:libde265$secondaryArchSuffix + lib:libjpeg$secondaryArchSuffix + lib:libopenh264$secondaryArchSuffix + lib:libopenjp2$secondaryArchSuffix + lib:librav1e$secondaryArchSuffix + lib:libsharpyuv$secondaryArchSuffix lib:libx265$secondaryArchSuffix " @@ -47,6 +53,9 @@ PROVIDES_devel=" REQUIRES_devel=" libheif$secondaryArchSuffix == $portVersion base devel:libde265$secondaryArchSuffix + devel:libjpeg$secondaryArchSuffix + devel:libopenh264$secondaryArchSuffix + devel:libopenjp2$secondaryArchSuffix devel:libx265$secondaryArchSuffix " @@ -55,6 +64,7 @@ PROVIDES_tools=" libheif${secondaryArchSuffix}_tools cmd:heif_convert$commandSuffix = $portVersion cmd:heif_enc$commandSuffix = $portVersion + cmd:heif_dec$commandSuffix = $portVersion cmd:heif_info$commandSuffix = $portVersion cmd:heif_thumbnailer$commandSuffix = $portVersion " @@ -63,9 +73,10 @@ REQUIRES_tools=" haiku$secondaryArchSuffix lib:libdav1d$secondaryArchSuffix lib:libde265$secondaryArchSuffix - lib:libx265$secondaryArchSuffix lib:libjpeg$secondaryArchSuffix lib:libpng16$secondaryArchSuffix + lib:libtiff$secondaryArchSuffix + lib:libx265$secondaryArchSuffix lib:libz$secondaryArchSuffix " @@ -73,53 +84,52 @@ BUILD_REQUIRES=" haiku${secondaryArchSuffix}_devel devel:libdav1d$secondaryArchSuffix devel:libde265$secondaryArchSuffix - devel:libx265$secondaryArchSuffix devel:libjpeg$secondaryArchSuffix + devel:libopenh264$secondaryArchSuffix + devel:libopenjp2$secondaryArchSuffix devel:libpng16$secondaryArchSuffix + devel:librav1e$secondaryArchSuffix + devel:libsharpyuv$secondaryArchSuffix + devel:libtiff$secondaryArchSuffix + devel:libx265$secondaryArchSuffix devel:libz$secondaryArchSuffix " BUILD_PREREQUIRES=" - cmd:aclocal - cmd:autoconf - cmd:automake + cmd:cmake cmd:gcc$secondaryArchSuffix - cmd:libtoolize$secondaryArchSuffix cmd:make cmd:pkg_config$secondaryArchSuffix " -defineDebugInfoPackage libheif$secondaryArchSuffix \ - $libDir/libheif.so.$libVersion \ - "$(getPackagePrefix tools)"/bin/heif-convert \ - "$(getPackagePrefix tools)"/bin/heif-enc \ - "$(getPackagePrefix tools)"/bin/heif-info \ - "$(getPackagePrefix tools)"/bin/heif-thumbnailer - BUILD() { - ./autogen.sh + cmake -B build -S . -DCMAKE_BUILD_TYPE=Release \ + $cmakeDirArgs \ + -DWITH_DAV1D=ON \ + -DWITH_JPEG_DECODER=ON \ + -DWITH_JPEG_ENCODER=ON \ + -DWITH_LIBDE265=ON \ + -DWITH_OpenH264_DECODER=ON \ + -DWITH_OpenH264_ENCODER=ON \ + -DWITH_OpenJPEG_DECODER=ON \ + -DWITH_OpenJPEG_ENCODER=ON \ + -DWITH_RAV1E=ON \ + -DWITH_X265=ON \ + -DBUILD_TESTING=OFF - runConfigure --omit-dirs binDir ./configure \ - --bindir=$commandBinDir \ - --disable-gdk-pixbuf \ - --enable-tests \ - --disable-static - - make $jobArgs + make -C build $jobArgs } INSTALL() { - make install - - # remove libtool file - rm $libDir/*.la + make -C build install prepareInstalledDevelLib libheif fixPkgconfig packageEntries devel \ - $developDir + $developDir \ + $libDir/cmake packageEntries tools \ $commandBinDir \ @@ -129,5 +139,5 @@ INSTALL() TEST() { - make test + ctest --test-dir build --output-on-failure } diff --git a/media-libs/libheif/patches/libheif-1.12.0.patchset b/media-libs/libheif/patches/libheif-1.12.0.patchset deleted file mode 100644 index 4d0ff870e..000000000 --- a/media-libs/libheif/patches/libheif-1.12.0.patchset +++ /dev/null @@ -1,22 +0,0 @@ -From f7830bfe95e2b0e29e3d17f7c55dc8ff1bd00e7e Mon Sep 17 00:00:00 2001 -From: Begasus -Date: Thu, 15 Feb 2024 18:04:20 +0100 -Subject: Don't use -Werror - - -diff --git a/configure.ac b/configure.ac -index 8f0c1e9..e7badbe 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -297,7 +297,7 @@ if eval "test x$enable_multithreading != xno"; then - fi - AC_SUBST(ENABLE_PARALLEL_TILE_DECODING) - --WARNING_FLAGS="-Wall -Werror -Wsign-compare -Wconversion -Wno-sign-conversion -Wno-error=conversion -Wno-error=unused-parameter -Wno-error=deprecated-declarations" -+WARNING_FLAGS="-Wall -Wsign-compare -Wconversion -Wno-sign-conversion -Wno-error=conversion -Wno-error=unused-parameter -Wno-error=deprecated-declarations" - - CXXFLAGS="$CXXFLAGS $WARNING_FLAGS" - CFLAGS="$CFLAGS $WARNING_FLAGS" --- -2.42.1 - diff --git a/media-libs/libheif/patches/libheif-1.19.7.patchset b/media-libs/libheif/patches/libheif-1.19.7.patchset new file mode 100644 index 000000000..6b7ffda47 --- /dev/null +++ b/media-libs/libheif/patches/libheif-1.19.7.patchset @@ -0,0 +1,22 @@ +From 62a1e40e42c995ce1df05f123650a1774c14d8b6 Mon Sep 17 00:00:00 2001 +From: Begasus +Date: Fri, 7 Mar 2025 21:35:58 +0100 +Subject: Disable CMAKE_POSITION_INDEPENDENT_CODE + + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index d0ea47c..0142b3a 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -54,7 +54,7 @@ set(CMAKE_CXX_EXTENSIONS OFF) + + set(CMAKE_VISIBILITY_INLINES_HIDDEN 1) + +-set(CMAKE_POSITION_INDEPENDENT_CODE ON) ++set(CMAKE_POSITION_INDEPENDENT_CODE OFF) + + # Create the compile command database for clang by default + set(CMAKE_EXPORT_COMPILE_COMMANDS ON) +-- +2.48.1 +