From b1bcf254e4c91db84043073f4a08e9e1e7773d28 Mon Sep 17 00:00:00 2001 From: crazywhalecc Date: Tue, 9 Jul 2024 19:31:00 +0800 Subject: [PATCH] Fix swoole with event extension conflict bug --- src/SPC/builder/extension/swoole.php | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/src/SPC/builder/extension/swoole.php b/src/SPC/builder/extension/swoole.php index e95969e3..78aaf339 100644 --- a/src/SPC/builder/extension/swoole.php +++ b/src/SPC/builder/extension/swoole.php @@ -5,11 +5,24 @@ declare(strict_types=1); namespace SPC\builder\extension; use SPC\builder\Extension; +use SPC\builder\macos\MacOSBuilder; +use SPC\store\FileSystem; use SPC\util\CustomExt; #[CustomExt('swoole')] class swoole extends Extension { + public function patchBeforeMake(): bool + { + if ($this->builder instanceof MacOSBuilder) { + // Fix swoole with event extension conflict bug + $util_path = shell()->execWithResult('xcrun --show-sdk-path', false)[1][0] . '/usr/include/util.h'; + FileSystem::replaceFileStr(SOURCE_PATH . '/php-src/ext/swoole/thirdparty/php/standard/proc_open.cc', 'include ', 'include "' . $util_path . '"'); + return true; + } + return false; + } + public function getExtVersion(): ?string { // Get version from source directory