From 873fe23d1937e00f085ac0765bdc96ea04719e1b Mon Sep 17 00:00:00 2001 From: Schrijvers Luc Date: Tue, 10 Dec 2024 07:18:33 +0100 Subject: [PATCH] libjxl0.11, add latest release (#11426) --- media-libs/libjxl/libjxl0.11-0.11.0.recipe | 161 ++++++++++++++++++ .../libjxl/patches/libjxl0.11-0.11.0.patchset | 22 +++ 2 files changed, 183 insertions(+) create mode 100644 media-libs/libjxl/libjxl0.11-0.11.0.recipe create mode 100644 media-libs/libjxl/patches/libjxl0.11-0.11.0.patchset diff --git a/media-libs/libjxl/libjxl0.11-0.11.0.recipe b/media-libs/libjxl/libjxl0.11-0.11.0.recipe new file mode 100644 index 000000000..7595fe0b8 --- /dev/null +++ b/media-libs/libjxl/libjxl0.11-0.11.0.recipe @@ -0,0 +1,161 @@ +SUMMARY="JPEG XL reference encoder/decoder" +DESCRIPTION="The JPEG XL Image Coding System (ISO/IEC 18181) has a rich \ +feature set and is particularly optimised for responsive web environments, so \ +that content renders well on a wide range of devices. Moreover, it includes \ +several features that help transition from the legacy JPEG format." +HOMEPAGE="https://jpeg.org/jpegxl/" +COPYRIGHT="2021 the JPEG XL Project + 2005-2021 Lode Vandevenne + 2018-2021 Google Inc. + 2021 Google LLC" +LICENSE="BSD (3-clause) + Apache v2 + MIT + Zlib" +REVISION="1" +SOURCE_URI="https://gitlab.com/wg1/jpeg-xl/-/archive/v$portVersion/jpeg-xl-v$portVersion.tar.bz2" +CHECKSUM_SHA256="378ebfee94e7d200db8c8dbbdf7b2c9b99367348c4c8f16dfb8a309a0a259c4c" +srcGitRev_2="42030a771244ba67f86b1c1c76a6493f873c5f91" +SOURCE_URI_2="https://codeberg.org/Begasus/ckcms/raw/branch/master/ckcms-20231106.tar.gz" +CHECKSUM_SHA256_2="ade9fb422b94300104d119b4237c159377e40f01e3a4034931220ac965e30255" +SOURCE_FILENAME_2="ckcms-20231106.tar.gz" +srcGitRev_3="e5ab13008bb214deb66d5f3e17ca2f8dbff150bf" +SOURCE_URI_3="https://github.com/webmproject/sjpeg/archive/$srcGitRev_3.tar.gz" +CHECKSUM_SHA256_3="35c5ad32fd422d279f394dced490208674284ae2f58221c1dfb981dbbdf695b5" +SOURCE_FILENAME_3="sjpeg-$srcGitRev_3.tar.gz" +SOURCE_DIR="jpeg-xl-v$portVersion" +PATCHES="libjxl0.11-$portVersion.patchset" + +ARCHITECTURES="all !x86_gcc2" +SECONDARY_ARCHITECTURES="!x86" + +libVersion="$portVersion" +libVersionCompat="$libVersion compat >= ${libVersion%.*}" + +PROVIDES=" + libjxl0.11$secondaryArchSuffix = $portVersion + lib:libjxl$secondaryArchSuffix = $libVersionCompat + lib:libjxl_cms$secondaryArchSuffix = $libVersionCompat + lib:libjxl_threads$secondaryArchSuffix = $libVersionCompat + " +REQUIRES=" + haiku$secondaryArchSuffix + lib:libavif$secondaryArchSuffix + lib:libbrotlicommon$secondaryArchSuffix + lib:libbrotlidec$secondaryArchSuffix + lib:libbrotlienc$secondaryArchSuffix + lib:libgif$secondaryArchSuffix + lib:libGL$secondaryArchSuffix + lib:libhwy$secondaryArchSuffix + lib:libIex_3_2$secondaryArchSuffix + lib:libIlmThread_3_2$secondaryArchSuffix + lib:libImath_3_1$secondaryArchSuffix + lib:libOpenEXR_3_2$secondaryArchSuffix + lib:libOpenEXRUtil_3_2$secondaryArchSuffix + lib:libjpeg$secondaryArchSuffix + lib:libpng16$secondaryArchSuffix + lib:libstdc++$secondaryArchSuffix + lib:libwebp$secondaryArchSuffix + lib:libz$secondaryArchSuffix + " + +PROVIDES_devel=" + libjxl0.11${secondaryArchSuffix}_devel = $portVersion + devel:libjxl$secondaryArchSuffix = $libVersionCompat + devel:libjxl_cms$secondaryArchSuffix = $libVersionCompat + devel:libjxl_extras_codec$secondaryArchSuffix = $portVersion + devel:libjxl_threads$secondaryArchSuffix = $libVersionCompat + " +REQUIRES_devel=" + libjxl0.11$secondaryArchSuffix == $portVersion base + " +CONFLICTS_devel=" + libjxl${secondaryArchSuffix}_devel + " + +PROVIDES_tools=" + libjxl0.11${secondaryArchSuffix}_tools = $portVersion + cmd:benchmark_xl$secondaryArchSuffix + cmd:cjxl$secondaryArchSuffix + cmd:djxl$secondaryArchSuffix + cmd:jxlinfo$secondaryArchSuffix + " +REQUIRES_tools=" + $REQUIRES + libjxl0.11$secondaryArchSuffix == $portVersion base + lib:libstdc++$secondaryArchSuffix + " +CONFLICTS_tools=" + libjxl${secondaryArchSuffix}_tools + " + +BUILD_REQUIRES=" + haiku${secondaryArchSuffix}_devel + devel:libatomic$secondaryArchSuffix + devel:libavif$secondaryArchSuffix + devel:libbrotlicommon$secondaryArchSuffix + devel:libbrotlidec$secondaryArchSuffix + devel:libbrotlienc$secondaryArchSuffix + devel:libgif$secondaryArchSuffix >= 7.2.0 + devel:libGL$secondaryArchSuffix + devel:libhwy$secondaryArchSuffix + devel:libhwy_contrib$secondaryArchSuffix + devel:libIex_3_2$secondaryArchSuffix + devel:libIlmThread_3_2$secondaryArchSuffix + devel:libImath_3_1$secondaryArchSuffix + devel:libturbojpeg$secondaryArchSuffix + devel:libOpenEXR_3_2$secondaryArchSuffix + devel:libOpenEXRUtil_3_2$secondaryArchSuffix + devel:libjpeg$secondaryArchSuffix + devel:libpng16$secondaryArchSuffix + devel:libwebp$secondaryArchSuffix + devel:libz$secondaryArchSuffix + " +BUILD_PREREQUIRES=" + cmd:cmake + cmd:gcc$secondaryArchSuffix + cmd:git + cmd:make + cmd:pkg_config$secondaryArchSuffix + cmd:python3 + " + +BUILD() +{ + cp -r $sourceDir2/* third_party/skcms + cp -r $sourceDir3/sjpeg-$srcGitRev_3/* third_party/sjpeg + cmake -B build -S . $cmakeDirArgs \ + -DCMAKE_BUILD_TYPE=Release \ + -DBUILD_TESTING=OFF \ + -DJPEGXL_FORCE_SYSTEM_BROTLI=true \ + -DJPEGXL_FORCE_SYSTEM_HWY=true \ + -DJPEGXL_WARNINGS_AS_ERRORS=false \ + -DJPEGXL_ENABLE_OPENEXR=true #\ +# -DPOSITION_INDEPENDENT_CODE=false + make -C build $jobArgs +} + +INSTALL() +{ + make -C build install + + # remove static libraries + #rm -f $libDir/{libjxl.a,libjxl_threads.a} + + prepareInstalledDevelLibs \ + libjxl \ + libjxl_cms \ + libjxl_extras_codec \ + libjxl_threads + fixPkgconfig + + packageEntries devel \ + $developDir + packageEntries tools \ + $binDir +} + +TEST() +{ + make -C build test +} diff --git a/media-libs/libjxl/patches/libjxl0.11-0.11.0.patchset b/media-libs/libjxl/patches/libjxl0.11-0.11.0.patchset new file mode 100644 index 000000000..c6c6dc9bc --- /dev/null +++ b/media-libs/libjxl/patches/libjxl0.11-0.11.0.patchset @@ -0,0 +1,22 @@ +From 9ab042c4971b358aad3a5c023a36a9518a592690 Mon Sep 17 00:00:00 2001 +From: Begasus +Date: Sun, 6 Oct 2024 17:05:28 +0200 +Subject: Disable CMAKE_POSITION_INDEPENDENT_CODE + + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 8b2ccb5..0657cc3 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -30,7 +30,7 @@ include(CheckPIESupported OPTIONAL RESULT_VARIABLE CHECK_PIE_SUPPORTED) + if(CHECK_PIE_SUPPORTED) + check_pie_supported(LANGUAGES CXX) + if(CMAKE_CXX_LINK_PIE_SUPPORTED) +- set(CMAKE_POSITION_INDEPENDENT_CODE TRUE) ++ set(CMAKE_POSITION_INDEPENDENT_CODE FALSE) + endif() + endif() + +-- +2.45.2 +