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": {}
 }