pkgsrc-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[pkgsrc/trunk]: pkgsrc/graphics/libjxl graphics/libjxl: import libjxl-0.6.1



details:   https://anonhg.NetBSD.org/pkgsrc/rev/2c21213e405c
branches:  trunk
changeset: 382197:2c21213e405c
user:      wiz <wiz%pkgsrc.org@localhost>
date:      Fri Jul 22 20:17:14 2022 +0000

description:
graphics/libjxl: import libjxl-0.6.1

Packaged for wip by nros@

Library for reading and writing JPEG XL images.  JPEG XL (.jxl) is
the next generation, general-purpose image compression codec by
the JPEG committee.

diffstat:

 graphics/libjxl/DESCR                                           |    3 +
 graphics/libjxl/Makefile                                        |   34 ++
 graphics/libjxl/Makefile.common                                 |   13 +
 graphics/libjxl/PLIST                                           |   34 ++
 graphics/libjxl/buildlink3.mk                                   |   15 +
 graphics/libjxl/distinfo                                        |   11 +
 graphics/libjxl/patches/patch-CMakeLists.txt                    |   15 +
 graphics/libjxl/patches/patch-deps.sh                           |   23 +
 graphics/libjxl/patches/patch-lib_jxl_base_os__macros.h         |   17 +
 graphics/libjxl/patches/patch-plugins_gdk-pixbuf_CMakeLists.txt |   46 +++
 graphics/libjxl/patches/patch-plugins_gimp_CMakeLists.txt       |   32 ++
 graphics/libjxl/patches/patch-tools_cpu_os__specific.cc         |  145 ++++++++++
 12 files changed, 388 insertions(+), 0 deletions(-)

diffs (truncated from 436 to 300 lines):

diff -r 7210f3751734 -r 2c21213e405c graphics/libjxl/DESCR
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/graphics/libjxl/DESCR     Fri Jul 22 20:17:14 2022 +0000
@@ -0,0 +1,3 @@
+Library for reading and writing JPEG XL images.  JPEG XL (.jxl) is
+the next generation, general-purpose image compression codec by
+the JPEG committee.
diff -r 7210f3751734 -r 2c21213e405c graphics/libjxl/Makefile
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/graphics/libjxl/Makefile  Fri Jul 22 20:17:14 2022 +0000
@@ -0,0 +1,34 @@
+# $NetBSD: Makefile,v 1.1 2022/07/22 20:17:14 wiz Exp $
+
+.include "../../graphics/libjxl/Makefile.common"
+COMMENT=       JpegXL reference codec
+
+TOOL_DEPENDS+= asciidoc-[0-9]*:../../textproc/asciidoc
+
+USE_TOOLS+=    bash pkg-config realpath
+USE_LANGUAGES= c c++
+USE_CMAKE=     yes
+
+CMAKE_ARGS+=   -DJPEGXL_VERSION=${PKGVERSION_NOREV}
+CMAKE_ARGS+=   -DJPEGXL_FORCE_SYSTEM_BROTLI=ON
+CMAKE_ARGS+=   -DJPEGXL_FORCE_SYSTEM_GTEST=ON
+CMAKE_ARGS+=   -DJPEGXL_FORCE_SYSTEM_HWY=ON
+CMAKE_ARGS+=   -DJPEGXL_ENABLE_SJPEG=OFF
+
+REPLACE_BASH=  deps.sh
+
+PKGCONFIG_OVERRIDE+=   lib/jxl/libjxl.pc.in
+PKGCONFIG_OVERRIDE+=   lib/threads/libjxl_threads.pc.in
+
+pre-configure:
+       cd ${WRKSRC} && ./deps.sh
+
+.include "../../archivers/brotli/buildlink3.mk"
+.include "../../devel/googletest/buildlink3.mk"
+.include "../../graphics/giflib/buildlink3.mk"
+.include "../../graphics/openexr/buildlink3.mk"
+.include "../../graphics/libwebp/buildlink3.mk"
+.include "../../graphics/png/buildlink3.mk"
+.include "../../graphics/libhighway/buildlink3.mk"
+.include "../../mk/jpeg.buildlink3.mk"
+.include "../../mk/bsd.pkg.mk"
diff -r 7210f3751734 -r 2c21213e405c graphics/libjxl/Makefile.common
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/graphics/libjxl/Makefile.common   Fri Jul 22 20:17:14 2022 +0000
@@ -0,0 +1,13 @@
+# $NetBSD: Makefile.common,v 1.1 2022/07/22 20:17:14 wiz Exp $
+
+DISTNAME=      libjxl-0.6.1
+CATEGORIES=    graphics
+MASTER_SITES=  ${MASTER_SITE_GITHUB:=libjxl/}
+GITHUB_TAG=    v${PKGVERSION_NOREV}
+
+MAINTAINER=    pkgsrc-users%NetBSD.org@localhost
+HOMEPAGE=      https://jpegxl.info/
+LICENSE=       modified-bsd
+
+PATCHDIR?=     ${.CURDIR}/../../graphics/libjxl/patches
+DISTINFO_FILE?=        ${.CURDIR}/../../graphics/libjxl/distinfo
diff -r 7210f3751734 -r 2c21213e405c graphics/libjxl/PLIST
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/graphics/libjxl/PLIST     Fri Jul 22 20:17:14 2022 +0000
@@ -0,0 +1,34 @@
+@comment $NetBSD: PLIST,v 1.1 2022/07/22 20:17:14 wiz Exp $
+bin/benchmark_xl
+bin/cjxl
+bin/djxl
+include/jxl/butteraugli.h
+include/jxl/butteraugli_cxx.h
+include/jxl/codestream_header.h
+include/jxl/color_encoding.h
+include/jxl/decode.h
+include/jxl/decode_cxx.h
+include/jxl/encode.h
+include/jxl/encode_cxx.h
+include/jxl/jxl_export.h
+include/jxl/jxl_threads_export.h
+include/jxl/memory_manager.h
+include/jxl/parallel_runner.h
+include/jxl/resizable_parallel_runner.h
+include/jxl/resizable_parallel_runner_cxx.h
+include/jxl/thread_parallel_runner.h
+include/jxl/thread_parallel_runner_cxx.h
+include/jxl/types.h
+lib/libjxl.a
+lib/libjxl.so
+lib/libjxl.so.0.6
+lib/libjxl.so.${PKGVERSION}
+lib/libjxl_dec.a
+lib/libjxl_threads.a
+lib/libjxl_threads.so
+lib/libjxl_threads.so.0.6
+lib/libjxl_threads.so.${PKGVERSION}
+lib/pkgconfig/libjxl.pc
+lib/pkgconfig/libjxl_threads.pc
+man/man1/cjxl.1
+man/man1/djxl.1
diff -r 7210f3751734 -r 2c21213e405c graphics/libjxl/buildlink3.mk
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/graphics/libjxl/buildlink3.mk     Fri Jul 22 20:17:14 2022 +0000
@@ -0,0 +1,15 @@
+# $NetBSD: buildlink3.mk,v 1.1 2022/07/22 20:17:14 wiz Exp $
+
+BUILDLINK_TREE+=       libjxl
+
+.if !defined(LIBJXL_BUILDLINK3_MK)
+LIBJXL_BUILDLINK3_MK:=
+
+BUILDLINK_API_DEPENDS.libjxl+= libjxl>=0.6
+BUILDLINK_PKGSRCDIR.libjxl?=   ../../graphics/libjxl
+
+.include "../../archivers/brotli/buildlink3.mk"
+.include "../../graphics/libhighway/buildlink3.mk"
+.endif # LIBJXL_BUILDLINK3_MK
+
+BUILDLINK_TREE+=       -libjxl
diff -r 7210f3751734 -r 2c21213e405c graphics/libjxl/distinfo
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/graphics/libjxl/distinfo  Fri Jul 22 20:17:14 2022 +0000
@@ -0,0 +1,11 @@
+$NetBSD: distinfo,v 1.1 2022/07/22 20:17:14 wiz Exp $
+
+BLAKE2s (libjxl-0.6.1.tar.gz) = 81ffdea0d94c7a0e0640fd87d90babe817b4ca0215c29c3eb45eaba07f2479dd
+SHA512 (libjxl-0.6.1.tar.gz) = 302935d722160b0b288ac63301f9e95caf82eccf6ad76c4f4da6316a0314ee3562115932b1ceacb0d02708de0a07788992d3478cae73af0b90193f5769f9fb52
+Size (libjxl-0.6.1.tar.gz) = 16953185 bytes
+SHA1 (patch-CMakeLists.txt) = 037a77f2c258424fcc75f7eff2b75ae4cc150b19
+SHA1 (patch-deps.sh) = 7886018fe8f79f692865c852b2755e4b16a3ee72
+SHA1 (patch-lib_jxl_base_os__macros.h) = 083d97beeec362271fa1ce515204332f1d8938e6
+SHA1 (patch-plugins_gdk-pixbuf_CMakeLists.txt) = 1f73463f206d92e3f4a5ead0ffc8d99257ca6677
+SHA1 (patch-plugins_gimp_CMakeLists.txt) = fda9e3f42bf71848bb7348219ae06839f0f1c93c
+SHA1 (patch-tools_cpu_os__specific.cc) = 8cdd77ae04ad80e09c4e46ef1de29ba71cebc0b7
diff -r 7210f3751734 -r 2c21213e405c graphics/libjxl/patches/patch-CMakeLists.txt
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/graphics/libjxl/patches/patch-CMakeLists.txt      Fri Jul 22 20:17:14 2022 +0000
@@ -0,0 +1,15 @@
+$NetBSD: patch-CMakeLists.txt,v 1.1 2022/07/22 20:17:14 wiz Exp $
+
+* install manpages to PKGMANDIR
+
+--- CMakeLists.txt.orig        2021-10-04 18:02:44.000000000 +0000
++++ CMakeLists.txt
+@@ -364,7 +364,7 @@ if (ASCIIDOC_PY_FOUND)
+     list(APPEND MANPAGES "${PAGE}.1")
+   endforeach()
+   add_custom_target(manpages ALL DEPENDS ${MANPAGES})
+-  install(FILES ${MANPAGE_FILES} DESTINATION share/man/man1)
++  install(FILES ${MANPAGE_FILES} DESTINATION ${CMAKE_INSTALL_MANDIR}/man1)
+ endif()  # ASCIIDOC_PY_FOUND
+ else()
+   message(WARNING "asciidoc was not found, the man pages will not be installed.")
diff -r 7210f3751734 -r 2c21213e405c graphics/libjxl/patches/patch-deps.sh
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/graphics/libjxl/patches/patch-deps.sh     Fri Jul 22 20:17:14 2022 +0000
@@ -0,0 +1,23 @@
+$NetBSD: patch-deps.sh,v 1.1 2022/07/22 20:17:14 wiz Exp $
+
+* don't require git
+
+--- deps.sh.orig       2021-10-04 18:02:44.000000000 +0000
++++ deps.sh
+@@ -57,16 +57,6 @@ download_github() {
+ 
+ 
+ main() {
+-  if git -C "${MYDIR}" rev-parse; then
+-    cat >&2 <<EOF
+-Current directory is a git repository, downloading dependencies via git:
+-
+-  git submodule update --init --recursive
+-
+-EOF
+-    git -C "${MYDIR}" submodule update --init --recursive
+-    return 0
+-  fi
+ 
+   # Sources downloaded from a tarball.
+   download_github third_party/highway google/highway
diff -r 7210f3751734 -r 2c21213e405c graphics/libjxl/patches/patch-lib_jxl_base_os__macros.h
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/graphics/libjxl/patches/patch-lib_jxl_base_os__macros.h   Fri Jul 22 20:17:14 2022 +0000
@@ -0,0 +1,17 @@
+$NetBSD: patch-lib_jxl_base_os__macros.h,v 1.1 2022/07/22 20:17:14 wiz Exp $
+
+* add NetBSD support
+
+--- lib/jxl/base/os_macros.h.orig      2021-10-04 18:02:44.000000000 +0000
++++ lib/jxl/base/os_macros.h
+@@ -47,4 +47,10 @@
+ #define JXL_OS_HAIKU 0
+ #endif
+ 
++#ifdef __NetBSD__
++#define JXL_OS_NETBSD 1
++#else
++#define JXL_OS_NETBSD 0
++#endif
++
+ #endif  // LIB_JXL_BASE_OS_MACROS_H_
diff -r 7210f3751734 -r 2c21213e405c graphics/libjxl/patches/patch-plugins_gdk-pixbuf_CMakeLists.txt
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/graphics/libjxl/patches/patch-plugins_gdk-pixbuf_CMakeLists.txt   Fri Jul 22 20:17:14 2022 +0000
@@ -0,0 +1,46 @@
+$NetBSD: patch-plugins_gdk-pixbuf_CMakeLists.txt,v 1.1 2022/07/22 20:17:14 wiz Exp $
+
+* adapt to make gdk-pixbuf plugin a separate package
+
+--- plugins/gdk-pixbuf/CMakeLists.txt.orig     2021-10-04 18:02:44.000000000 +0000
++++ plugins/gdk-pixbuf/CMakeLists.txt
+@@ -2,9 +2,12 @@
+ #
+ # Use of this source code is governed by a BSD-style
+ # license that can be found in the LICENSE file.
++cmake_minimum_required(VERSION 3.10)
++project(gdl-pixbuf-jxl LANGUAGES C CXX)
+ 
+ find_package(PkgConfig)
+ pkg_check_modules(Gdk-Pixbuf IMPORTED_TARGET gdk-pixbuf-2.0>=2.36)
++pkg_check_modules(JXL IMPORTED_TARGET libjxl libjxl_threads)
+ 
+ if (NOT Gdk-Pixbuf_FOUND)
+   message(WARNING "GDK Pixbuf development libraries not found, \
+@@ -12,7 +15,7 @@ if (NOT Gdk-Pixbuf_FOUND)
+   return ()
+ endif ()
+ 
+-add_library(pixbufloader-jxl SHARED pixbufloader-jxl.c)
++add_library(pixbufloader-jxl SHARED pixbufloader-jxl.c ../../third_party/skcms/skcms.cc)
+ 
+ # Mark all symbols as hidden by default. The PkgConfig::Gdk-Pixbuf dependency
+ # will cause fill_info and fill_vtable entry points to be made public.
+@@ -23,7 +26,8 @@ set_target_properties(pixbufloader-jxl P
+ 
+ # Note: This only needs the decoder library, but we don't install the decoder
+ # shared library.
+-target_link_libraries(pixbufloader-jxl jxl jxl_threads skcms-interface PkgConfig::Gdk-Pixbuf)
++target_link_libraries(pixbufloader-jxl PkgConfig::JXL PkgConfig::Gdk-Pixbuf)
++target_include_directories(pixbufloader-jxl PRIVATE "../../third_party/skcms")
+ 
+ pkg_get_variable(GDK_PIXBUF_MODULEDIR gdk-pixbuf-2.0 gdk_pixbuf_moduledir)
+ install(TARGETS pixbufloader-jxl LIBRARY DESTINATION "${GDK_PIXBUF_MODULEDIR}")
+@@ -32,6 +36,7 @@ install(TARGETS pixbufloader-jxl LIBRARY
+ # mime type image/jxl to
+ # /usr/share/thumbnailers/gdk-pixbuf-thumbnailer.thumbnailer
+ install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/jxl.thumbnailer DESTINATION share/thumbnailers/)
++install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/../mime/image-jxl.xml DESTINATION share/mime/packages/)
+ 
+ if(BUILD_TESTING AND NOT MINGW)
+   pkg_check_modules(Gdk IMPORTED_TARGET gdk-2.0)
diff -r 7210f3751734 -r 2c21213e405c graphics/libjxl/patches/patch-plugins_gimp_CMakeLists.txt
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/graphics/libjxl/patches/patch-plugins_gimp_CMakeLists.txt Fri Jul 22 20:17:14 2022 +0000
@@ -0,0 +1,32 @@
+$NetBSD: patch-plugins_gimp_CMakeLists.txt,v 1.1 2022/07/22 20:17:14 wiz Exp $
+
+* adapt to make gimp plugin a separate package
+
+--- plugins/gimp/CMakeLists.txt.orig   2021-10-04 18:02:44.000000000 +0000
++++ plugins/gimp/CMakeLists.txt
+@@ -2,9 +2,12 @@
+ #
+ # Use of this source code is governed by a BSD-style
+ # license that can be found in the LICENSE file.
++cmake_minimum_required(VERSION 3.10)
++project(gimp-jxl LANGUAGES C CXX)
+ 
+ find_package(PkgConfig)
+ pkg_check_modules(Gimp IMPORTED_TARGET gimp-2.0>=2.10 gimpui-2.0>=2.10)
++pkg_check_modules(JXL IMPORTED_TARGET libjxl libjxl_threads)
+ 
+ if (NOT Gimp_FOUND)
+   message(WARNING "Gimp development libraries not found, the Gimp plugin will not be built")
+@@ -19,10 +22,10 @@ add_executable(file-jxl WIN32
+   file-jxl-save.cc
+   file-jxl-save.h
+   file-jxl.cc)
+-target_link_libraries(file-jxl jxl jxl_threads PkgConfig::Gimp)
++target_link_libraries(file-jxl PkgConfig::JXL PkgConfig::Gimp)
+ 
+ target_include_directories(file-jxl PUBLIC
+-    ${PROJECT_SOURCE_DIR})  # for plugins/gimp absolute paths.
++    ${PROJECT_SOURCE_DIR}/../..)  # for plugins/gimp absolute paths.
+ 
+ pkg_get_variable(GIMP_LIB_DIR gimp-2.0 gimplibdir)
+ install(TARGETS file-jxl RUNTIME DESTINATION "${GIMP_LIB_DIR}/plug-ins/file-jxl/")
diff -r 7210f3751734 -r 2c21213e405c graphics/libjxl/patches/patch-tools_cpu_os__specific.cc
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/graphics/libjxl/patches/patch-tools_cpu_os__specific.cc   Fri Jul 22 20:17:14 2022 +0000
@@ -0,0 +1,145 @@
+$NetBSD: patch-tools_cpu_os__specific.cc,v 1.1 2022/07/22 20:17:14 wiz Exp $
+
+* add NetBSD support
+
+--- tools/cpu/os_specific.cc.orig      2021-10-04 18:02:44.000000000 +0000
++++ tools/cpu/os_specific.cc
+@@ -59,6 +59,15 @@
+ #include <OS.h>
+ #endif  // JXL_OS_HAIKU



Home | Main Index | Thread Index | Old Index