diff --git a/graphics/libjxl/Makefile b/graphics/libjxl/Makefile index 2bc9513c9222..1b3bd1c71576 100644 --- a/graphics/libjxl/Makefile +++ b/graphics/libjxl/Makefile @@ -1,83 +1,83 @@ PORTNAME= libjxl DISTVERSIONPREFIX= v DISTVERSION= 0.6.1 -PORTREVISION= 1 +PORTREVISION= 2 CATEGORIES= graphics PATCH_SITES= https://github.com/${GH_ACCOUNT}/${GH_PROJECT}/commit/ PATCHFILES+= adb32f3f8f37.patch:-p1 # https://github.com/libjxl/libjxl/pull/193 PATCHFILES+= c31dca74e68f.patch:-p1 # https://github.com/libjxl/libjxl/pull/678 MAINTAINER= jbeich@FreeBSD.org COMMENT= JPEG XL reference encoder/decoder LICENSE= BSD3CLAUSE ZLIB LICENSE_COMB= multi LICENSE_FILE_BSD3CLAUSE=${WRKSRC}/LICENSE LICENSE_FILE_ZLIB= ${WRKSRC}/third_party/lodepng/LICENSE +BUILD_DEPENDS= highway>0:devel/highway LIB_DEPENDS= libbrotlienc.so:archivers/brotli TEST_DEPENDS= googletest>0:devel/googletest USES= cmake:testing compiler:c++11-lib cpe localbase:ldflags pkgconfig shared-mime-info CPE_VENDOR= ${PORTNAME}_project USE_GITHUB= yes USE_LDCONFIG= yes GH_TUPLE= barmco:skcms:6437475:skcms/third_party/skcms \ - google:highway:0.12.2-4-ge239774:highway/third_party/highway \ lvandeve:lodepng:48e5364:lodepng/third_party/lodepng \ webmproject:sjpeg:868ab55:sjpeg/third_party/sjpeg \ ${NULL} CMAKE_ON= JPEGXL_ENABLE_PLUGINS CMAKE_OFF= JPEGXL_WARNINGS_AS_ERRORS ${BENCHMARK FUZZERS TCMALLOC:L:S/^/JPEGXL_ENABLE_/} CMAKE_OFF+= ${OpenGL GLUT:L:S/^/CMAKE_DISABLE_FIND_PACKAGE_/} # sjpeg CMAKE_OFF+= ${CMAKE_TESTING_ON} LDFLAGS+= -Wl,--as-needed # brotlicommon, GIMP/OPENEXR/PNG deps OPTIONS_DEFINE= GIF GIMP JPEG LTO MANPAGES OPENEXR PIXBUF PNG OPTIONS_DEFAULT=GIF GIMP JPEG LTO MANPAGES OPENEXR PIXBUF PNG OPTIONS_EXCLUDE_i386= LTO # ConvolutionWithTranspose(): JXL_CHECK: out->xsize() == in.ysize() OPTIONS_EXCLUDE_powerpc64= ${"${/usr/bin/ld:L:tA}"==/usr/bin/ld.lld:?LTO:} # LLVM bug 47353 OPTIONS_SUB= yes GIF_LIB_DEPENDS= libgif.so:graphics/giflib GIF_CMAKE_BOOL_OFF= CMAKE_DISABLE_FIND_PACKAGE_GIF GIMP_DESC= GIMP plugin support GIMP_USES= gnome GIMP_USE= GNOME=gtk20 GIMP_LIB_DEPENDS= libgegl-0.4.so:graphics/gegl \ libgimp-2.0.so:graphics/gimp-app \ libbabl-0.1.so:x11/babl JPEG_USES= jpeg JPEG_CMAKE_BOOL_OFF= CMAKE_DISABLE_FIND_PACKAGE_JPEG LTO_CMAKE_BOOL= CMAKE_INTERPROCEDURAL_OPTIMIZATION LTO_CMAKE_ON= -DCMAKE_POLICY_DEFAULT_CMP0069:STRING=NEW MANPAGES_BUILD_DEPENDS= a2x:textproc/asciidoc MANPAGES_USES= python:build MANPAGES_CMAKE_BOOL= JPEGXL_ENABLE_MANPAGES OPENEXR_LIB_DEPENDS= libImath.so:math/Imath \ libOpenEXR.so:graphics/openexr OPENEXR_CMAKE_BOOL= JPEGXL_ENABLE_OPENEXR PIXBUF_USES= gnome PIXBUF_USE= GNOME=gdkpixbuf2 PNG_LIB_DEPENDS= libpng.so:graphics/png PNG_CMAKE_BOOL_OFF= CMAKE_DISABLE_FIND_PACKAGE_PNG post-patch: @${REINPLACE_CMD} 's,/usr,${LOCALBASE},' \ ${WRKSRC}/plugins/gdk-pixbuf/jxl.thumbnailer # pkg_check_modules doesn't support CMAKE_DISABLE_* post-patch-GIMP-off: @${REINPLACE_CMD} -i.nogimp '/gimp/d' ${WRKSRC}/plugins/CMakeLists.txt post-patch-PIXBUF-off: @${REINPLACE_CMD} -i.nopixbuf '/gdk-pixbuf/d' ${WRKSRC}/plugins/CMakeLists.txt .include diff --git a/graphics/libjxl/distinfo b/graphics/libjxl/distinfo index e8589da7cf24..dc9bc3ff7b74 100644 --- a/graphics/libjxl/distinfo +++ b/graphics/libjxl/distinfo @@ -1,15 +1,13 @@ TIMESTAMP = 1635545136 SHA256 (libjxl-libjxl-v0.6.1_GH0.tar.gz) = ccbd5a729d730152303be399f033b905e608309d5802d77a61a95faa092592c5 SIZE (libjxl-libjxl-v0.6.1_GH0.tar.gz) = 16953185 SHA256 (barmco-skcms-6437475_GH0.tar.gz) = 6818ea7aa053a964d1795d6d1d3c5e2aad5d30dff9817c8e604e324ef643ec01 SIZE (barmco-skcms-6437475_GH0.tar.gz) = 9200034 -SHA256 (google-highway-0.12.2-4-ge239774_GH0.tar.gz) = 27ae8a40f82874cb30bd62ef8f5567cc27838ee258ed0af47745685a15b23a8e -SIZE (google-highway-0.12.2-4-ge239774_GH0.tar.gz) = 1488138 SHA256 (lvandeve-lodepng-48e5364_GH0.tar.gz) = 41e0bcc686e31ee2d51a6c87c0089045f4805e4053d39026ad02e8aa90c782c1 SIZE (lvandeve-lodepng-48e5364_GH0.tar.gz) = 239988 SHA256 (webmproject-sjpeg-868ab55_GH0.tar.gz) = ffe757b376fed2fd94473f8625c25f82a3a23aa317fb1bbf1ac8159b6e0a7726 SIZE (webmproject-sjpeg-868ab55_GH0.tar.gz) = 2472084 SHA256 (adb32f3f8f37.patch) = 52e4fd7e1bce238731a9a1a0b1c9124624c6f85766d3debaf2d2e0f017471692 SIZE (adb32f3f8f37.patch) = 5664 SHA256 (c31dca74e68f.patch) = c6a1412d73f1ee156d4cc978fde7e5ec91e62bae9946ebb38a5e78be7f93a253 SIZE (c31dca74e68f.patch) = 767 diff --git a/graphics/libjxl/files/patch-private-libhwy b/graphics/libjxl/files/patch-private-libhwy new file mode 100644 index 000000000000..c9b5add67ac0 --- /dev/null +++ b/graphics/libjxl/files/patch-private-libhwy @@ -0,0 +1,22 @@ +Avoid depending on static libhwy for shared libjxl consumers + +--- lib/jxl.cmake.orig 2021-10-04 18:02:44 UTC ++++ lib/jxl.cmake +@@ -557,7 +557,7 @@ endif() # TARGET_SUPPORTS_SHARED_LIBS AND NOT JPEGXL_ + + # Add a pkg-config file for libjxl. + set(JPEGXL_LIBRARY_REQUIRES +- "libhwy libbrotlicommon libbrotlienc libbrotlidec") ++ "libbrotlicommon libbrotlienc libbrotlidec") + if(NOT JPEGXL_ENABLE_SKCMS) + set(JPEGXL_LIBRARY_REQUIRES "${JPEGXL_LIBRARY_REQUIRES} lcms2") + endif() +--- lib/jxl/libjxl.pc.in.orig 2021-10-04 18:02:44 UTC ++++ lib/jxl/libjxl.pc.in +@@ -8,5 +8,5 @@ Description: Loads and saves JPEG XL files + Version: @JPEGXL_LIBRARY_VERSION@ + Requires.private: @JPEGXL_LIBRARY_REQUIRES@ + Libs: -L${libdir} -ljxl +-Libs.private: -lm ++Libs.private: -lhwy -lm + Cflags: -I${includedir} diff --git a/graphics/libjxl/files/patch-private-libs b/graphics/libjxl/files/patch-private-libs deleted file mode 100644 index b1b13b911f85..000000000000 --- a/graphics/libjxl/files/patch-private-libs +++ /dev/null @@ -1,45 +0,0 @@ -highway is untagged and have no other consumers. Keep it private to -libjxl package for now. - ---- lib/jxl.cmake.orig 2021-10-04 18:02:44 UTC -+++ lib/jxl.cmake -@@ -557,7 +557,7 @@ endif() # TARGET_SUPPORTS_SHARED_LIBS AND NOT JPEGXL_ - - # Add a pkg-config file for libjxl. - set(JPEGXL_LIBRARY_REQUIRES -- "libhwy libbrotlicommon libbrotlienc libbrotlidec") -+ "libbrotlicommon libbrotlienc libbrotlidec") - if(NOT JPEGXL_ENABLE_SKCMS) - set(JPEGXL_LIBRARY_REQUIRES "${JPEGXL_LIBRARY_REQUIRES} lcms2") - endif() ---- lib/jxl/libjxl.pc.in.orig 2021-10-04 18:02:44 UTC -+++ lib/jxl/libjxl.pc.in -@@ -8,5 +8,5 @@ Description: Loads and saves JPEG XL files - Version: @JPEGXL_LIBRARY_VERSION@ - Requires.private: @JPEGXL_LIBRARY_REQUIRES@ - Libs: -L${libdir} -ljxl --Libs.private: -lm -+Libs.private: -lhwy -lm - Cflags: -I${includedir} ---- third_party/CMakeLists.txt.orig 2020-11-14 00:52:03 UTC -+++ third_party/CMakeLists.txt -@@ -83,7 +83,7 @@ endif() # BUILD_TESTING - # Highway - if (EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/highway/CMakeLists.txt" AND - NOT JPEGXL_FORCE_SYSTEM_HWY) -- add_subdirectory(highway) -+ add_subdirectory(highway EXCLUDE_FROM_ALL) - configure_file("${CMAKE_CURRENT_SOURCE_DIR}/highway/LICENSE" - ${PROJECT_BINARY_DIR}/LICENSE.highway COPYONLY) - else() ---- third_party/highway/CMakeLists.txt.orig 2020-12-02 19:39:56 UTC -+++ third_party/highway/CMakeLists.txt -@@ -230,7 +230,7 @@ set_target_properties(hwy_benchmark - - include(CTest) - --if(BUILD_TESTING) -+if(HWY_BUILD_TESTING) - enable_testing() - include(GoogleTest) - diff --git a/graphics/libjxl/files/patch-third__party_highway_hwy_nanobenchmark.cc b/graphics/libjxl/files/patch-third__party_highway_hwy_nanobenchmark.cc deleted file mode 100644 index e6bcd6711d0f..000000000000 --- a/graphics/libjxl/files/patch-third__party_highway_hwy_nanobenchmark.cc +++ /dev/null @@ -1,40 +0,0 @@ -https://github.com/google/highway/commit/3769cb2c464c - ---- third_party/highway/hwy/nanobenchmark.cc.orig 2021-06-09 08:56:32 UTC -+++ third_party/highway/hwy/nanobenchmark.cc -@@ -46,7 +46,7 @@ - #endif - - #include "hwy/base.h" --#if HWY_ARCH_PPC -+#if HWY_ARCH_PPC && defined(__GLIBC__) - #include // NOLINT __ppc_get_timebase_freq - #elif HWY_ARCH_X86 - -@@ -119,7 +119,7 @@ using Ticks = uint64_t; - // divide by InvariantTicksPerSecond. - inline Ticks Start() { - Ticks t; --#if HWY_ARCH_PPC -+#if HWY_ARCH_PPC && defined(__GLIBC__) - asm volatile("mfspr %0, %1" : "=r"(t) : "i"(268)); - #elif HWY_ARCH_X86 && HWY_COMPILER_MSVC - _ReadWriteBarrier(); -@@ -161,7 +161,7 @@ inline Ticks Start() { - - inline Ticks Stop() { - uint64_t t; --#if HWY_ARCH_PPC -+#if HWY_ARCH_PPC && defined(__GLIBC__) - asm volatile("mfspr %0, %1" : "=r"(t) : "i"(268)); - #elif HWY_ARCH_X86 && HWY_COMPILER_MSVC - _ReadWriteBarrier(); -@@ -399,7 +399,7 @@ double NominalClockRate() { - } // namespace - - double InvariantTicksPerSecond() { --#if HWY_ARCH_PPC -+#if HWY_ARCH_PPC && defined(__GLIBC__) - return __ppc_get_timebase_freq(); - #elif HWY_ARCH_X86 - // We assume the TSC is invariant; it is on all recent Intel/AMD CPUs.