From 78aea56de479f9818843ab851a6fe5f51e9998d7 Mon Sep 17 00:00:00 2001 From: Jerry Ma Date: Fri, 20 Dec 2024 12:18:34 +0800 Subject: [PATCH] Add aom patch for alpine linux (#579) --- src/SPC/store/SourcePatcher.php | 11 +++++++++++ src/globals/patch/libaom_posix_implict.patch | 13 +++++++++++++ 2 files changed, 24 insertions(+) create mode 100644 src/globals/patch/libaom_posix_implict.patch diff --git a/src/SPC/store/SourcePatcher.php b/src/SPC/store/SourcePatcher.php index b4c3b933..f6044927 100644 --- a/src/SPC/store/SourcePatcher.php +++ b/src/SPC/store/SourcePatcher.php @@ -6,6 +6,7 @@ namespace SPC\store; use SPC\builder\BuilderBase; use SPC\builder\linux\LinuxBuilder; +use SPC\builder\linux\SystemUtil; use SPC\builder\unix\UnixBuilderBase; use SPC\exception\FileSystemException; use SPC\exception\RuntimeException; @@ -27,6 +28,7 @@ class SourcePatcher FileSystem::addSourceExtractHook('libyaml', [SourcePatcher::class, 'patchLibYaml']); FileSystem::addSourceExtractHook('php-src', [SourcePatcher::class, 'patchImapLicense']); FileSystem::addSourceExtractHook('ext-imagick', [SourcePatcher::class, 'patchImagickWith84']); + FileSystem::addSourceExtractHook('libaom', [SourcePatcher::class, 'patchLibaomForAlpine']); } /** @@ -393,6 +395,15 @@ class SourcePatcher return true; } + public static function patchLibaomForAlpine(): bool + { + if (PHP_OS_FAMILY === 'Linux' && SystemUtil::isMuslDist()) { + SourcePatcher::patchFile('libaom_posix_implict.patch', SOURCE_PATH . '/libaom'); + return true; + } + return false; + } + /** * Patch cli SAPI Makefile for Windows. * diff --git a/src/globals/patch/libaom_posix_implict.patch b/src/globals/patch/libaom_posix_implict.patch new file mode 100644 index 00000000..68cc7dad --- /dev/null +++ b/src/globals/patch/libaom_posix_implict.patch @@ -0,0 +1,13 @@ +https://bugs.gentoo.org/869419 + +POSIX_C_SOURCE is needed for ftello. +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -269,6 +269,7 @@ add_library(aom_rtcd OBJECT ${AOM_RTCD_SOURCES}) + add_dependencies(aom_rtcd aom_version) + + if(ENABLE_EXAMPLES) ++ add_definitions(-D_POSIX_C_SOURCE=200112L) + add_library(aom_encoder_stats OBJECT ${AOM_ENCODER_STATS_SOURCES}) + set(AOM_LIB_TARGETS ${AOM_LIB_TARGETS} aom_encoder_stats) + endif()