From a5c4ebf22114c7554cefd9b51861444678d2b16c Mon Sep 17 00:00:00 2001
From: Dave Long <dave@longwaveconsulting.com>
Date: Sun, 4 Feb 2024 11:17:16 +0000
Subject: [PATCH] Issue #3407360 by alexpott, xjm, longwave, quietone,
 smustgrave, mstrelan: Commit check script: nproc does not exist on Darwin

---
 composer.json                         | 4 ++--
 core/misc/cspell/dictionary.txt       | 1 +
 core/scripts/dev/commit-code-check.sh | 2 +-
 3 files changed, 4 insertions(+), 3 deletions(-)

diff --git a/composer.json b/composer.json
index c24fe773307c..a5684a92068a 100644
--- a/composer.json
+++ b/composer.json
@@ -115,8 +115,8 @@
             "Drupal\\Composer\\Composer::generateMetapackages",
             "Drupal\\Composer\\Composer::generateComponentPackages"
         ],
-        "phpcs": "phpcs --standard=core/phpcs.xml.dist --parallel=$(nproc) --",
-        "phpcbf": "phpcbf --standard=core/phpcs.xml.dist --parallel=$(nproc) --"
+        "phpcs": "phpcs --standard=core/phpcs.xml.dist --parallel=\"$( (nproc || sysctl -n hw.logicalcpu || echo 4) 2>/dev/null)\" --",
+        "phpcbf": "phpcbf --standard=core/phpcs.xml.dist --parallel=\"$( (nproc || sysctl -n hw.logicalcpu || echo 4) 2>/dev/null)\" --"
     },
     "repositories": [
         {
diff --git a/core/misc/cspell/dictionary.txt b/core/misc/cspell/dictionary.txt
index b02f18a8422d..94762370767d 100644
--- a/core/misc/cspell/dictionary.txt
+++ b/core/misc/cspell/dictionary.txt
@@ -426,6 +426,7 @@ lnumber
 loadjs
 localemark
 localetranslatedirty
+logicalcpu
 lolspeak
 longblob
 longerthan
diff --git a/core/scripts/dev/commit-code-check.sh b/core/scripts/dev/commit-code-check.sh
index c82276083df5..cc3c4bf2824a 100755
--- a/core/scripts/dev/commit-code-check.sh
+++ b/core/scripts/dev/commit-code-check.sh
@@ -267,7 +267,7 @@
 # Run PHPCS on all files on DrupalCI or when phpcs files are changed.
 if [[ $PHPCS_XML_DIST_FILE_CHANGED == "1" ]] || [[ "$DRUPALCI" == "1" ]]; then
   # Test all files with phpcs rules.
-  vendor/bin/phpcs -ps --parallel=$(nproc) --standard="$TOP_LEVEL/core/phpcs.xml.dist"
+  vendor/bin/phpcs -ps --parallel="$( (nproc || sysctl -n hw.logicalcpu || echo 4) 2>/dev/null)" --standard="$TOP_LEVEL/core/phpcs.xml.dist"
   PHPCS=$?
   if [ "$PHPCS" -ne "0" ]; then
     # If there are failures set the status to a number other than 0.
-- 
GitLab