update pthreadpool to latest version and make it compatible with Bazel 8 platforms (#6000)
Note: This depends on [this
PR](https://github.com/bazelbuild/bazel-central-registry/pull/5991)
getting merged before.
diff --git a/modules/pthreadpool/0.0.0-20250926-560c60d/MODULE.bazel b/modules/pthreadpool/0.0.0-20250926-560c60d/MODULE.bazel
new file mode 100644
index 0000000..218786b
--- /dev/null
+++ b/modules/pthreadpool/0.0.0-20250926-560c60d/MODULE.bazel
@@ -0,0 +1,37 @@
+module(
+ name = "pthreadpool",
+ version = "0.0.0-20250926-560c60d",
+ compatibility_level = 1,
+ bazel_compatibility = [">=7.2.1"],
+)
+
+bazel_dep(
+ name = "cpuinfo",
+ version = "0.0.0-20250925-877328f",
+)
+bazel_dep(
+ name = "fxdiv",
+ version = "0.0.0-20201209-63058ef",
+)
+bazel_dep(
+ name = "google_benchmark",
+ version = "1.8.3",
+ repo_name = "com_google_benchmark",
+)
+bazel_dep(
+ name = "googletest",
+ version = "1.17.0",
+ repo_name = "com_google_googletest",
+)
+bazel_dep(
+ name = "rules_cc",
+ version = "0.2.8",
+)
+bazel_dep(
+ name = "rules_license",
+ version = "1.0.0",
+)
+bazel_dep(
+ name = "platforms",
+ version = "1.0.0",
+)
diff --git a/modules/pthreadpool/0.0.0-20250926-560c60d/patches/module_dot_bazel.patch b/modules/pthreadpool/0.0.0-20250926-560c60d/patches/module_dot_bazel.patch
new file mode 100644
index 0000000..f259a07
--- /dev/null
+++ b/modules/pthreadpool/0.0.0-20250926-560c60d/patches/module_dot_bazel.patch
@@ -0,0 +1,43 @@
+diff --git a/MODULE.bazel b/MODULE.bazel
+new file mode 100644
+index 0000000..218786b
+--- /dev/null
++++ b/MODULE.bazel
+@@ -0,0 +1,37 @@
++module(
++ name = "pthreadpool",
++ version = "0.0.0-20250926-560c60d",
++ compatibility_level = 1,
++ bazel_compatibility = [">=7.2.1"],
++)
++
++bazel_dep(
++ name = "cpuinfo",
++ version = "0.0.0-20250925-877328f",
++)
++bazel_dep(
++ name = "fxdiv",
++ version = "0.0.0-20201209-63058ef",
++)
++bazel_dep(
++ name = "google_benchmark",
++ version = "1.8.3",
++ repo_name = "com_google_benchmark",
++)
++bazel_dep(
++ name = "googletest",
++ version = "1.17.0",
++ repo_name = "com_google_googletest",
++)
++bazel_dep(
++ name = "rules_cc",
++ version = "0.2.8",
++)
++bazel_dep(
++ name = "rules_license",
++ version = "1.0.0",
++)
++bazel_dep(
++ name = "platforms",
++ version = "1.0.0",
++)
diff --git a/modules/pthreadpool/0.0.0-20250926-560c60d/patches/pthreadpool.patch b/modules/pthreadpool/0.0.0-20250926-560c60d/patches/pthreadpool.patch
new file mode 100644
index 0000000..3699236
--- /dev/null
+++ b/modules/pthreadpool/0.0.0-20250926-560c60d/patches/pthreadpool.patch
@@ -0,0 +1,314 @@
+diff --git a/BUILD.bazel b/BUILD.bazel
+index adea02a..47bc82d 100644
+--- a/BUILD.bazel
++++ b/BUILD.bazel
+@@ -1,9 +1,20 @@
+ load("@rules_cc//cc:defs.bzl", "cc_binary", "cc_library", "cc_test")
++load("@rules_license//rules:license.bzl", "license")
++
++package(
++ default_applicable_licenses = [":license"],
++)
+
+ licenses(["notice"])
+
+ exports_files(["LICENSE"])
+
++license(
++ name = "license",
++ license_kinds = ["@rules_license//licenses/spdx:BSD-2-Clause"],
++ license_text = "LICENSE",
++)
++
+ ############################## pthreadpool library #############################
+
+ INTERNAL_HDRS = [
+@@ -138,7 +149,7 @@ cc_library(
+ }),
+ strip_include_prefix = "include",
+ deps = [
+- "@FXdiv",
++ "@fxdiv//:FXdiv",
+ ] + select({
+ ":linux_arm": ["@cpuinfo"],
+ ":linux_armeabi": ["@cpuinfo"],
+@@ -259,64 +270,80 @@ config_setting(
+
+ config_setting(
+ name = "linux_x86_64",
+- values = {"cpu": "k8"},
++ constraint_values = [
++ "@platforms//cpu:x86_64",
++ "@platforms//os:linux",
++ ],
+ )
+
+ config_setting(
+ name = "linux_arm",
+- values = {"cpu": "arm"},
++ constraint_values = [
++ "@platforms//cpu:arm",
++ "@platforms//os:linux",
++ ],
+ )
+
+-config_setting(
++alias(
+ name = "linux_armeabi",
+- values = {"cpu": "armeabi"},
++ actual = ":linux_arm",
+ )
+
+-config_setting(
++alias(
+ name = "linux_armhf",
+- values = {"cpu": "armhf"},
++ actual = ":linux_arm",
+ )
+
+ config_setting(
+ name = "linux_armv7a",
+- values = {"cpu": "armv7a"},
++ constraint_values = [
++ "@platforms//cpu:armv7",
++ "@platforms//os:linux",
++ ],
+ )
+
+ config_setting(
+ name = "linux_aarch64",
+- values = {"cpu": "aarch64"},
++ constraint_values = [
++ "@platforms//os:linux",
++ "@platforms//cpu:aarch64",
++ ],
+ )
+
+ config_setting(
+ name = "android_x86",
+- values = {
+- "crosstool_top": "//external:android/crosstool",
+- "cpu": "x86",
+- },
++ constraint_values = [
++ "@platforms//os:android",
++ "@platforms//cpu:x86_32",
++ ],
++ visibility = ["//visibility:public"],
+ )
+
+ config_setting(
+ name = "android_x86_64",
+- values = {
+- "crosstool_top": "//external:android/crosstool",
+- "cpu": "x86_64",
+- },
++ constraint_values = [
++ "@platforms//os:android",
++ "@platforms//cpu:x86_64",
++ ],
++ visibility = ["//visibility:public"],
+ )
+
+ config_setting(
+ name = "android_armv7",
+- values = {
+- "crosstool_top": "//external:android/crosstool",
+- "cpu": "armeabi-v7a",
+- },
++ constraint_values = [
++ "@platforms//os:android",
++ "@platforms//cpu:armv7",
++ ],
++ visibility = ["//visibility:public"],
+ )
+
+ config_setting(
+ name = "android_arm64",
+- values = {
+- "crosstool_top": "//external:android/crosstool",
+- "cpu": "arm64-v8a",
+- },
++ constraint_values = [
++ "@platforms//os:android",
++ "@platforms//cpu:arm64",
++ ],
++ visibility = ["//visibility:public"],
+ )
+
+ # Note: we need to individually match x86 and x86-64 macOS rather than use
+@@ -324,117 +351,118 @@ config_setting(
+ # "macos" even when building on Linux!
+ config_setting(
+ name = "macos_x86",
+- values = {
+- "apple_platform_type": "macos",
+- "cpu": "darwin",
+- },
++ constraint_values = [
++ "@platforms//os:macos",
++ "@platforms//cpu:x86_32",
++ ],
+ )
+
+ config_setting(
+ name = "macos_x86_64",
+- values = {
+- "apple_platform_type": "macos",
+- "cpu": "darwin_x86_64",
+- },
++ constraint_values = [
++ "@platforms//os:macos",
++ "@platforms//cpu:x86_64",
++ ],
+ )
+
+ config_setting(
+ name = "macos_arm64",
+- values = {
+- "apple_platform_type": "macos",
+- "cpu": "darwin_arm64",
+- },
++ constraint_values = [
++ "@platforms//cpu:arm64",
++ "@platforms//os:macos",
++ ],
+ )
+
+ config_setting(
+ name = "ios",
+- values = {
+- "crosstool_top": "@bazel_tools//tools/cpp:toolchain",
+- "apple_platform_type": "ios",
+- },
++ constraint_values = [
++ "@platforms//os:ios",
++ ],
+ )
+
+ config_setting(
+ name = "ios_x86",
+- values = {
+- "apple_platform_type": "ios",
+- "cpu": "ios_i386",
+- },
++ constraint_values = [
++ "@platforms//cpu:x86_32",
++ "@platforms//os:ios",
++ ],
+ )
+
+ config_setting(
+ name = "ios_x86_64",
+- values = {
+- "apple_platform_type": "ios",
+- "cpu": "ios_x86_64",
+- },
++ constraint_values = [
++ "@platforms//cpu:x86_64",
++ "@platforms//os:ios",
++ ],
+ )
+
+ config_setting(
+ name = "watchos",
+- values = {
+- "crosstool_top": "@bazel_tools//tools/cpp:toolchain",
+- "apple_platform_type": "watchos",
+- },
++ constraint_values = [
++ "@platforms//os:watchos",
++ ],
+ )
+
+ config_setting(
+ name = "watchos_x86",
+- values = {
+- "apple_platform_type": "watchos",
+- "cpu": "watchos_i386",
+- },
++ constraint_values = [
++ "@platforms//os:watchos",
++ "@platforms//cpu:x86_32",
++ ],
+ )
+
+ config_setting(
+ name = "watchos_x86_64",
+- values = {
+- "apple_platform_type": "watchos",
+- "cpu": "watchos_x86_64",
+- },
++ constraint_values = [
++ "@platforms//os:watchos",
++ "@platforms//cpu:x86_64",
++ ],
+ )
+
+ config_setting(
+ name = "tvos",
+- values = {
+- "crosstool_top": "@bazel_tools//tools/cpp:toolchain",
+- "apple_platform_type": "tvos",
+- },
++ constraint_values = [
++ "@platforms//os:tvos",
++ ],
+ )
+
+ config_setting(
+ name = "tvos_x86_64",
+- values = {
+- "apple_platform_type": "tvos",
+- "cpu": "tvos_x86_64",
+- },
++ constraint_values = [
++ "@platforms//cpu:x86_64",
++ "@platforms//os:tvos",
++ ],
+ )
+
+ config_setting(
+ name = "windows_x86_64",
+- values = {
+- "cpu": "x64_windows",
+- },
++ constraint_values = [
++ "@platforms//os:windows",
++ "@platforms//cpu:x86_64",
++ ],
+ )
+
+ config_setting(
+ name = "windows_arm64",
+- values = {
+- "cpu": "arm64_windows",
+- },
++ constraint_values = [
++ "@platforms//os:windows",
++ "@platforms//cpu:arm64",
++ ],
+ )
+
+ config_setting(
+ name = "emscripten",
+- values = {
+- "crosstool_top": "//toolchain:emscripten",
+- }
++ constraint_values = [
++ "@platforms//os:emscripten",
++ ],
+ )
+
+ config_setting(
+ name = "emscripten_with_threads",
++ constraint_values = [
++ "@platforms//os:emscripten",
++ ],
+ values = {
+- "crosstool_top": "//toolchain:emscripten",
+- "copt": "-pthread",
+- }
++ "features": "use_pthreads",
++ },
+ )
diff --git a/modules/pthreadpool/0.0.0-20250926-560c60d/presubmit.yml b/modules/pthreadpool/0.0.0-20250926-560c60d/presubmit.yml
new file mode 100644
index 0000000..4c7d23d
--- /dev/null
+++ b/modules/pthreadpool/0.0.0-20250926-560c60d/presubmit.yml
@@ -0,0 +1,21 @@
+matrix:
+ platform:
+ - debian11
+ - ubuntu2204
+ - ubuntu2404
+ - macos
+ - macos_arm64
+ # - windows
+ bazel:
+ # - rolling
+ - 8.x
+ - 7.x
+tasks:
+ verify_targets:
+ name: Verify build targets
+ platform: ${{ platform }}
+ bazel: ${{ bazel }}
+ build_flags:
+ - '--cxxopt=-std=c++17'
+ build_targets:
+ - '@pthreadpool//...'
diff --git a/modules/pthreadpool/0.0.0-20250926-560c60d/source.json b/modules/pthreadpool/0.0.0-20250926-560c60d/source.json
new file mode 100644
index 0000000..5b0f849
--- /dev/null
+++ b/modules/pthreadpool/0.0.0-20250926-560c60d/source.json
@@ -0,0 +1,10 @@
+{
+ "url": "https://github.com/Maratyszcza/pthreadpool/archive/560c60d342a76076f0557a3946924c6478470044.tar.gz",
+ "integrity": "sha256-jY66uW32qhKSJkMGDnLEO/3Kn9gM9arK9zkbxoUFYKM=",
+ "strip_prefix": "pthreadpool-560c60d342a76076f0557a3946924c6478470044",
+ "patches": {
+ "module_dot_bazel.patch": "sha256-JB52fN4ULQjxFMV4DpCMsBQrLyI60BbE6yb32BbGiSQ=",
+ "pthreadpool.patch": "sha256-MTrkOslw9ZiNbLrimGpKM5ryzXr6dxTHgniCdtdB9pM="
+ },
+ "patch_strip": 1
+}
diff --git a/modules/pthreadpool/metadata.json b/modules/pthreadpool/metadata.json
index db0d0df..bc23b81 100644
--- a/modules/pthreadpool/metadata.json
+++ b/modules/pthreadpool/metadata.json
@@ -10,7 +10,8 @@
"github:Maratyszcza/pthreadpool"
],
"versions": [
- "0.0.0-20230829-4fe0e1e"
+ "0.0.0-20230829-4fe0e1e",
+ "0.0.0-20250926-560c60d"
],
"yanked_versions": {}
}