diff --git a/src/SPC/builder/extension/swoole.php b/src/SPC/builder/extension/swoole.php index 6ce006b9..93d959b7 100644 --- a/src/SPC/builder/extension/swoole.php +++ b/src/SPC/builder/extension/swoole.php @@ -7,6 +7,7 @@ namespace SPC\builder\extension; use SPC\builder\Extension; use SPC\builder\macos\MacOSBuilder; use SPC\store\FileSystem; +use SPC\store\SourcePatcher; use SPC\util\CustomExt; #[CustomExt('swoole')] @@ -14,13 +15,18 @@ class swoole extends Extension { public function patchBeforeMake(): bool { + $patched = false; + if (PHP_OS_FAMILY === 'Linux') { + SourcePatcher::patchFile('swoole_fix_date_time.patch', $this->source_dir); + $patched = true; + } 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; + $patched = true; } - return false; + return $patched; } public function getExtVersion(): ?string diff --git a/src/globals/patch/swoole_fix_date_time.patch b/src/globals/patch/swoole_fix_date_time.patch new file mode 100644 index 00000000..b4a056de --- /dev/null +++ b/src/globals/patch/swoole_fix_date_time.patch @@ -0,0 +1,10 @@ +--- a/config.m4 ++++ b/config.m4 +@@ -425,6 +425,7 @@ + AX_CHECK_COMPILE_FLAG(-Wloop-analysis, _MAINTAINER_CFLAGS="$_MAINTAINER_CFLAGS -Wloop-analysis") + AX_CHECK_COMPILE_FLAG(-Wuninitialized, _MAINTAINER_CFLAGS="$_MAINTAINER_CFLAGS -Wuninitialized") + AX_CHECK_COMPILE_FLAG(-Wno-missing-field-initializers, _MAINTAINER_CFLAGS="$_MAINTAINER_CFLAGS -Wno-missing-field-initializers") ++ AX_CHECK_COMPILE_FLAG(-Wno-date-time, _MAINTAINER_CFLAGS="$_MAINTAINER_CFLAGS -Wno-date-time") + AX_CHECK_COMPILE_FLAG(-Wno-sign-compare, _MAINTAINER_CFLAGS="$_MAINTAINER_CFLAGS -Wno-sign-compare") + AX_CHECK_COMPILE_FLAG(-Wno-unused-const-variable, _MAINTAINER_CFLAGS="$_MAINTAINER_CFLAGS -Wno-unused-const-variable") + AX_CHECK_COMPILE_FLAG(-Wno-unused-parameter, _MAINTAINER_CFLAGS="$_MAINTAINER_CFLAGS -Wno-unused-parameter")