From 5a4b920ae2ae787594b14fd085c5508996bbe4ec Mon Sep 17 00:00:00 2001 From: DubbleClick Date: Wed, 27 Aug 2025 13:04:08 +0700 Subject: [PATCH] pkg-config patch --- src/SPC/store/SourcePatcher.php | 7 +++++++ src/globals/patch/pkg-config_gcc15.patch | 22 ++++++++++++++++++++++ 2 files changed, 29 insertions(+) create mode 100644 src/globals/patch/pkg-config_gcc15.patch diff --git a/src/SPC/store/SourcePatcher.php b/src/SPC/store/SourcePatcher.php index abd3ab48..29c7d1dd 100644 --- a/src/SPC/store/SourcePatcher.php +++ b/src/SPC/store/SourcePatcher.php @@ -30,6 +30,7 @@ class SourcePatcher FileSystem::addSourceExtractHook('php-src', [__CLASS__, 'patchImapLicense']); FileSystem::addSourceExtractHook('ext-imagick', [__CLASS__, 'patchImagickWith84']); FileSystem::addSourceExtractHook('libaom', [__CLASS__, 'patchLibaomForAlpine']); + FileSystem::addSourceExtractHook('pkg-config', [__CLASS__, 'patchPkgConfigForGcc15']); FileSystem::addSourceExtractHook('attr', [__CLASS__, 'patchAttrForAlpine']); FileSystem::addSourceExtractHook('gmssl', [__CLASS__, 'patchGMSSL']); } @@ -498,6 +499,12 @@ class SourcePatcher return true; } + public static function patchPkgConfigForGcc15(): bool + { + self::patchFile('pkg-config_gcc15.patch', SOURCE_PATH . '/pkg-config'); + return true; + } + public static function patchLibaomForAlpine(): bool { if (PHP_OS_FAMILY === 'Linux' && SystemUtil::isMuslDist()) { diff --git a/src/globals/patch/pkg-config_gcc15.patch b/src/globals/patch/pkg-config_gcc15.patch new file mode 100644 index 00000000..d029b6ba --- /dev/null +++ b/src/globals/patch/pkg-config_gcc15.patch @@ -0,0 +1,22 @@ +diff --git a/glib/glib/goption.c b/glib/glib/goption.c +index 0a22f6f..f439fd4 100644 +--- a/glib/glib/goption.c ++++ b/glib/glib/goption.c +@@ -166,7 +166,7 @@ typedef struct + gpointer arg_data; + union + { +- gboolean bool; ++ gboolean boolean; + gint integer; + gchar *str; + gchar **array; +@@ -1600,7 +1600,7 @@ free_changes_list (GOptionContext *context, + switch (change->arg_type) + { + case G_OPTION_ARG_NONE: +- *(gboolean *)change->arg_data = change->prev.bool; ++ *(gboolean *)change->arg_data = change->prev.boolean; + break; + case G_OPTION_ARG_INT: + *(gint *)change->arg_data = change->prev.integer; \ No newline at end of file