pkgsrc-WIP-changes archive

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

libjxl: remove, imported to pkgsrc/graphics



Module Name:	pkgsrc-wip
Committed By:	Thomas Klausner <wiz%gatalith.at@localhost>
Pushed By:	wiz
Date:		Fri Jul 22 22:18:01 2022 +0200
Changeset:	0dd9c733546fd104f571f0851b79ca86fb29804c

Modified Files:
	Makefile
	gdk-pixbuf-jxl/Makefile
	gimp-jxl/Makefile
Removed Files:
	libjxl/DESCR
	libjxl/Makefile
	libjxl/Makefile.common
	libjxl/PLIST
	libjxl/buildlink3.mk
	libjxl/distinfo
	libjxl/patches/patch-CMakeLists.txt
	libjxl/patches/patch-deps.sh
	libjxl/patches/patch-lib_jxl_base_os__macros.h
	libjxl/patches/patch-plugins_gdk-pixbuf_CMakeLists.txt
	libjxl/patches/patch-plugins_gimp_CMakeLists.txt
	libjxl/patches/patch-tools_cpu_os__specific.cc

Log Message:
libjxl: remove, imported to pkgsrc/graphics

To see a diff of this commit:
https://wip.pkgsrc.org/cgi-bin/gitweb.cgi?p=pkgsrc-wip.git;a=commitdiff;h=0dd9c733546fd104f571f0851b79ca86fb29804c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

diffstat:
 Makefile                                           |   2 +-
 gdk-pixbuf-jxl/Makefile                            |   4 +-
 gimp-jxl/Makefile                                  |   4 +-
 libjxl/DESCR                                       |   3 -
 libjxl/Makefile                                    |  34 -----
 libjxl/Makefile.common                             |  15 ---
 libjxl/PLIST                                       |  34 -----
 libjxl/buildlink3.mk                               |  15 ---
 libjxl/distinfo                                    |  11 --
 libjxl/patches/patch-CMakeLists.txt                |  15 ---
 libjxl/patches/patch-deps.sh                       |  23 ----
 libjxl/patches/patch-lib_jxl_base_os__macros.h     |  17 ---
 .../patch-plugins_gdk-pixbuf_CMakeLists.txt        |  46 -------
 libjxl/patches/patch-plugins_gimp_CMakeLists.txt   |  32 -----
 libjxl/patches/patch-tools_cpu_os__specific.cc     | 145 ---------------------
 15 files changed, 5 insertions(+), 395 deletions(-)

diffs:
diff --git a/Makefile b/Makefile
index 6a85c35a94..03eb010207 100644
--- a/Makefile
+++ b/Makefile
@@ -1096,6 +1096,7 @@ SUBDIR+=	generand
 SUBDIR+=	geners
 SUBDIR+=	genometools
 SUBDIR+=	genus2reduction
+SUBDIR+=	geodiff
 SUBDIR+=	geoloc
 SUBDIR+=	gerris
 SUBDIR+=	gerris-snapshot
@@ -2112,7 +2113,6 @@ SUBDIR+=	libircclient
 SUBDIR+=	libitl
 SUBDIR+=	libjdksmidi
 SUBDIR+=	libjingle
-SUBDIR+=	libjxl
 SUBDIR+=	libkdepim
 SUBDIR+=	libkgapi
 SUBDIR+=	libkleo
diff --git a/gdk-pixbuf-jxl/Makefile b/gdk-pixbuf-jxl/Makefile
index 1c42b085d1..10e0e331b4 100644
--- a/gdk-pixbuf-jxl/Makefile
+++ b/gdk-pixbuf-jxl/Makefile
@@ -1,6 +1,6 @@
 # $NetBSD$
 
-.include "../../wip/libjxl/Makefile.common"
+.include "../../graphics/libjxl/Makefile.common"
 
 PKGNAME=	${DISTNAME:S/lib/gdk-pixbuf-/g}
 COMMENT=	JpegXL GDK pixbuf loader
@@ -27,5 +27,5 @@ pre-configure:
 
 .include "../../databases/shared-mime-info/mimedb.mk"
 .include "../../graphics/gdk-pixbuf2/loaders.mk"
-.include "../../wip/libjxl/buildlink3.mk"
+.include "../../graphics/libjxl/buildlink3.mk"
 .include "../../mk/bsd.pkg.mk"
diff --git a/gimp-jxl/Makefile b/gimp-jxl/Makefile
index cbe7972cc9..52c549b68a 100644
--- a/gimp-jxl/Makefile
+++ b/gimp-jxl/Makefile
@@ -1,6 +1,6 @@
 # $NetBSD$
 
-.include "../../wip/libjxl/Makefile.common"
+.include "../../graphics/libjxl/Makefile.common"
 
 PKGNAME=	${DISTNAME:S/lib/gimp-/g}
 COMMENT=	JpegXL Gimp plugin
@@ -15,5 +15,5 @@ CONFIGURE_DIRS=	plugins/gimp
 BUILD_DIRS=	plugins/gimp
 
 .include "../../graphics/gimp/buildlink3.mk"
-.include "../../wip/libjxl/buildlink3.mk"
+.include "../../graphics/libjxl/buildlink3.mk"
 .include "../../mk/bsd.pkg.mk"
diff --git a/libjxl/DESCR b/libjxl/DESCR
deleted file mode 100644
index 45fd816801..0000000000
--- a/libjxl/DESCR
+++ /dev/null
@@ -1,3 +0,0 @@
-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 --git a/libjxl/Makefile b/libjxl/Makefile
deleted file mode 100644
index 48be770fb8..0000000000
--- a/libjxl/Makefile
+++ /dev/null
@@ -1,34 +0,0 @@
-# $NetBSD$
-
-.include "../../wip/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 --git a/libjxl/Makefile.common b/libjxl/Makefile.common
deleted file mode 100644
index d55a6e3c64..0000000000
--- a/libjxl/Makefile.common
+++ /dev/null
@@ -1,15 +0,0 @@
-# $NetBSD$
-# used by wip/gdk-pixbuf-jxl/Makefile
-# used by wip/gimp-jxl/Makefile
-
-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}/../../wip/libjxl/patches
-DISTINFO_FILE?=	${.CURDIR}/../../wip/libjxl/distinfo
diff --git a/libjxl/PLIST b/libjxl/PLIST
deleted file mode 100644
index 6809bf8dab..0000000000
--- a/libjxl/PLIST
+++ /dev/null
@@ -1,34 +0,0 @@
-@comment $NetBSD$
-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 --git a/libjxl/buildlink3.mk b/libjxl/buildlink3.mk
deleted file mode 100644
index 42d96f38c2..0000000000
--- a/libjxl/buildlink3.mk
+++ /dev/null
@@ -1,15 +0,0 @@
-# $NetBSD$
-
-BUILDLINK_TREE+=	libjxl
-
-.if !defined(LIBJXL_BUILDLINK3_MK)
-LIBJXL_BUILDLINK3_MK:=
-
-BUILDLINK_API_DEPENDS.libjxl+=	libjxl>=0.6
-BUILDLINK_PKGSRCDIR.libjxl?=	../../wip/libjxl
-
-.include "../../archivers/brotli/buildlink3.mk"
-.include "../../graphics/libhighway/buildlink3.mk"
-.endif	# LIBJXL_BUILDLINK3_MK
-
-BUILDLINK_TREE+=	-libjxl
diff --git a/libjxl/distinfo b/libjxl/distinfo
deleted file mode 100644
index c982fdf447..0000000000
--- a/libjxl/distinfo
+++ /dev/null
@@ -1,11 +0,0 @@
-$NetBSD$
-
-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 --git a/libjxl/patches/patch-CMakeLists.txt b/libjxl/patches/patch-CMakeLists.txt
deleted file mode 100644
index 09d4146891..0000000000
--- a/libjxl/patches/patch-CMakeLists.txt
+++ /dev/null
@@ -1,15 +0,0 @@
-$NetBSD$
-
-* 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 --git a/libjxl/patches/patch-deps.sh b/libjxl/patches/patch-deps.sh
deleted file mode 100644
index 8a1953d6d9..0000000000
--- a/libjxl/patches/patch-deps.sh
+++ /dev/null
@@ -1,23 +0,0 @@
-$NetBSD$
-
-* 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 --git a/libjxl/patches/patch-lib_jxl_base_os__macros.h b/libjxl/patches/patch-lib_jxl_base_os__macros.h
deleted file mode 100644
index d503405b0f..0000000000
--- a/libjxl/patches/patch-lib_jxl_base_os__macros.h
+++ /dev/null
@@ -1,17 +0,0 @@
-$NetBSD$
-
-* 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 --git a/libjxl/patches/patch-plugins_gdk-pixbuf_CMakeLists.txt b/libjxl/patches/patch-plugins_gdk-pixbuf_CMakeLists.txt
deleted file mode 100644
index 1087a6a95e..0000000000
--- a/libjxl/patches/patch-plugins_gdk-pixbuf_CMakeLists.txt
+++ /dev/null
@@ -1,46 +0,0 @@
-$NetBSD$
-
-* 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 --git a/libjxl/patches/patch-plugins_gimp_CMakeLists.txt b/libjxl/patches/patch-plugins_gimp_CMakeLists.txt
deleted file mode 100644
index 872d6fd587..0000000000
--- a/libjxl/patches/patch-plugins_gimp_CMakeLists.txt
+++ /dev/null
@@ -1,32 +0,0 @@
-$NetBSD$
-
-* 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 --git a/libjxl/patches/patch-tools_cpu_os__specific.cc b/libjxl/patches/patch-tools_cpu_os__specific.cc
deleted file mode 100644
index df269bdf04..0000000000
--- a/libjxl/patches/patch-tools_cpu_os__specific.cc
+++ /dev/null
@@ -1,145 +0,0 @@
-$NetBSD$
-
-* 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
- 
-+#if JXL_OS_NETBSD
-+#include <pthread.h>
-+#include <sched.h>
-+#include <sys/param.h>
-+#include <sys/sysctl.h>
-+#include <sys/types.h>
-+#include <unistd.h>
-+#endif //JXL_OS_NETBSD
-+
- using jxl::Status;
- 
- namespace jpegxl {
-@@ -82,10 +91,14 @@ static inline void CPU_SET(int cpu, cpu_
- #endif
- 
- struct ThreadAffinity {
-+#if JXL_OS_NETBSD
-+  cpuset_t *set;
-+#else
-   cpu_set_t set;
-+#endif
- };
- 
--#if JXL_OS_MAC
-+#if JXL_OS_MAC || JXL_OS_NETBSD 
- namespace {
- Status GetSystemValue(const char* name, size_t* value) {
-   int64_t value_i64 = 0;
-@@ -96,7 +109,9 @@ Status GetSystemValue(const char* name, 
-   *value = static_cast<size_t>(value_i64);
-   return true;
- }
--
-+} // namespace
-+#endif
-+#if JXL_OS_MAC
- // Returns mask with the lowest N bits set, one per logical processor.
- cpu_set_t SetOfAllLogicalProcessors() {
-   size_t logical;
-@@ -153,7 +168,14 @@ Status GetProcessorTopologyFromOS(Proces
-   pt->logical_per_core = 1;
- 
-   return true;
-+#elif JXL_OS_NETBSD
-+  size_t cores;
-+  JXL_RETURN_IF_ERROR(GetSystemValue("hw.ncpuonline", &cores));
-+  pt->packages = 1;
-+  pt->cores_per_package = cores;
-+  pt->logical_per_core = 1;
- 
-+  return true;
- #else
-   // Not needed on X64 if the affinity APIs work (DetectProcessorTopology will
-   // succeed)
-@@ -164,6 +186,19 @@ Status GetProcessorTopologyFromOS(Proces
- ThreadAffinity* GetThreadAffinity() {
-   ThreadAffinity* affinity =
-       static_cast<ThreadAffinity*>(malloc(sizeof(ThreadAffinity)));
-+#if JXL_OS_NETBSD
-+  if (affinity != NULL) {
-+    affinity->set = cpuset_create();
-+    if (affinity->set == NULL) {
-+      free(affinity);
-+      affinity = NULL;
-+    } else {
-+      cpuset_zero(affinity->set);
-+      const int err = pthread_getaffinity_np(pthread_self(), cpuset_size(affinity->set), affinity->set);
-+      JXL_CHECK(err == 0);
-+    }
-+  }
-+#endif
- #if JXL_OS_WIN
-   DWORD_PTR process_affinity, system_affinity;
-   const BOOL ok = GetProcessAffinityMask(GetCurrentProcess(), &process_affinity,
-@@ -195,6 +230,19 @@ ThreadAffinity* OriginalThreadAffinity()
- 
- }  // namespace
- 
-+#if JXL_OS_NETBSD
-+bool set_affinity_allowed()
-+{
-+  if (geteuid() == 0)
-+    return true;
-+
-+  size_t len = 4;
-+  int *val =(int*)asysctlbyname("security.models.extensions.user_set_cpu_affinity", &len);
-+
-+  return (*val == 1);
-+}
-+#endif
-+
- Status SetThreadAffinity(ThreadAffinity* affinity) {
-   // Ensure original is initialized before changing.
-   const ThreadAffinity* const original = OriginalThreadAffinity();
-@@ -224,6 +272,14 @@ Status SetThreadAffinity(ThreadAffinity*
-   // As of 2020-06 Haiku does not support pinning threads to cores.
-   (void)affinity;
-   return false;
-+#elif JXL_OS_NETBSD
-+  if (!set_affinity_allowed()) 
-+     return false;
-+
-+  const int err = pthread_setaffinity_np(pthread_self(), cpuset_size(affinity->set),
-+                                        affinity->set);
-+  if (err != 0) return JXL_FAILURE("cpuset_setaffinity_np failed");
-+  return true;  
- #else
-   printf("Don't know how to SetThreadAffinity on this platform.\n");
-   return false;
-@@ -255,6 +311,16 @@ Status PinThreadToCPU(const int cpu) {
-   CPU_ZERO(&affinity.set);
-   CPU_SET(cpu, &affinity.set);
-   return SetThreadAffinity(&affinity);
-+#elif JXL_OS_NETBSD
-+  ThreadAffinity affinity;
-+  affinity.set = cpuset_create();
-+  if (affinity.set == nullptr)
-+    return false;
-+  cpuset_zero(affinity.set);
-+  cpuset_set(cpu, affinity.set);
-+  bool st = SetThreadAffinity(&affinity);
-+  cpuset_destroy(affinity.set);
-+  return st;
- #else
-   return false;
- #endif
-@@ -280,7 +346,7 @@ Status PinThreadToRandomCPU() {
- namespace {
- 
- size_t DetectTotalMemoryMiB() {
--#if JXL_OS_LINUX || JXL_OS_FREEBSD || JXL_OS_MAC
-+#if JXL_OS_LINUX || JXL_OS_FREEBSD || JXL_OS_MAC || JXL_OS_NETBSD
-   const long page_size = sysconf(_SC_PAGESIZE);
-   const long num_pages = sysconf(_SC_PHYS_PAGES);
-   if (page_size == -1 || num_pages == -1) {


Home | Main Index | Thread Index | Old Index