dev-php/pecl-imagick: Add support for PHP 8.4

The applied compatibility patch replacing the removed php_strtolower()
function with zend_str_tolower() is safe to use in all supported PHP
versions since it got introduced in PHP 5.4.

Signed-off-by: Lothar Serra Mari <mail@serra.me>
Signed-off-by: Michael Orlitzky <mjo@gentoo.org>
This commit is contained in:
Lothar Serra Mari
2024-11-27 14:29:41 +01:00
committed by Michael Orlitzky
parent efa521bc5f
commit 6ca8aa633a
2 changed files with 79 additions and 0 deletions

View File

@@ -0,0 +1,40 @@
From 65e27f2bc02e7e8f1bf64e26e359e42a1331fca1 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Michael=20Vo=C5=99=C3=AD=C5=A1ek?= <mvorisek@mvorisek.cz>
Date: Wed, 25 Sep 2024 10:56:28 +0200
Subject: [PATCH] Fix removed "php_strtolower" for PHP 8.4
---
imagick.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/imagick.c b/imagick.c
index 1b765389..ebab7ae7 100644
--- a/imagick.c
+++ b/imagick.c
@@ -610,7 +610,7 @@ static zval *php_imagick_read_property(zend_object *object, zend_string *member,
if (format) {
retval = rv;
ZVAL_STRING(retval, format);
- php_strtolower(Z_STRVAL_P(retval), Z_STRLEN_P(retval));
+ zend_str_tolower(Z_STRVAL_P(retval), Z_STRLEN_P(retval));
IMAGICK_FREE_MAGICK_MEMORY(format);
} else {
retval = rv;
@@ -683,7 +683,7 @@ static zval *php_imagick_read_property(zval *object, zval *member, int type, voi
if (format) {
retval = rv;
ZVAL_STRING(retval, format);
- php_strtolower(Z_STRVAL_P(retval), Z_STRLEN_P(retval));
+ zend_str_tolower(Z_STRVAL_P(retval), Z_STRLEN_P(retval));
IMAGICK_FREE_MAGICK_MEMORY(format);
} else {
retval = rv;
@@ -766,7 +766,7 @@ static zval *php_imagick_read_property(zval *object, zval *member, int type, con
if (format) {
ZVAL_STRING(retval, format, 1);
- php_strtolower(Z_STRVAL_P(retval), Z_STRLEN_P(retval));
+ zend_str_tolower(Z_STRVAL_P(retval), Z_STRLEN_P(retval));
IMAGICK_FREE_MAGICK_MEMORY(format);
} else {
ZVAL_STRING(retval, "", 1);

View File

@@ -0,0 +1,39 @@
# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
PHP_EXT_NAME="imagick"
USE_PHP="php8-1 php8-2 php8-3 php8-4"
# https://github.com/Imagick/imagick/issues/626
PHP_EXT_NEEDED_USE="-debug"
inherit php-ext-pecl-r3
KEYWORDS="~amd64 ~arm ~arm64 ~x86"
DESCRIPTION="PHP wrapper for the ImageMagick library"
HOMEPAGE="https://pecl.php.net/package/imagick https://github.com/Imagick/imagick"
LICENSE="PHP-3.01"
SLOT="0"
IUSE="examples test"
RESTRICT="!test? ( test )"
# imagemagick[-openmp] is needed wrt bug 547922 and upstream
# https://github.com/Imagick/imagick#openmp
RDEPEND="media-gfx/imagemagick:=[-openmp]"
DEPEND="
${RDEPEND}
test? ( media-gfx/imagemagick:=[hdri,jpeg,png,svg,truetype,xml] )
"
PATCHES="${FILESDIR}/${PN}-3.7.0-php8.3.patch
${FILESDIR}/${PN}-3.7.0-php8.4.patch"
PHP_EXT_ECONF_ARGS="--with-imagick=${EPREFIX}/usr"
src_install() {
php-ext-pecl-r3_src_install
php-ext-source-r3_addtoinifiles "imagick.skip_version_check" "1"
}