Fix imagick patch newer than 30800 (#641)

This commit is contained in:
Jerry Ma
2025-03-14 10:57:33 +08:00
committed by GitHub
parent 2681a88488
commit 39a66daf04
3 changed files with 17 additions and 4 deletions

View File

@@ -411,8 +411,21 @@ class SourcePatcher
*/
public static function patchImagickWith84(): bool
{
SourcePatcher::patchFile('imagick_php84.patch', SOURCE_PATH . '/php-src/ext/imagick');
return true;
// match imagick version id
$file = SOURCE_PATH . '/php-src/ext/imagick/php_imagick.h';
if (!file_exists($file)) {
return false;
}
$content = file_get_contents($file);
if (preg_match('/#define PHP_IMAGICK_EXTNUM\s+(\d+)/', $content, $match) === 0) {
return false;
}
$extnum = intval($match[1]);
if ($extnum < 30800) {
SourcePatcher::patchFile('imagick_php84_before_30800.patch', SOURCE_PATH . '/php-src/ext/imagick');
return true;
}
return false;
}
public static function patchLibaomForAlpine(): bool