summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--0001-Fix-Implicitly-marking-parameter-.-as-nullable-is-de.patch111
-rw-r--r--php-pecl-handlebars.spec37
2 files changed, 122 insertions, 26 deletions
diff --git a/0001-Fix-Implicitly-marking-parameter-.-as-nullable-is-de.patch b/0001-Fix-Implicitly-marking-parameter-.-as-nullable-is-de.patch
new file mode 100644
index 0000000..a8f006d
--- /dev/null
+++ b/0001-Fix-Implicitly-marking-parameter-.-as-nullable-is-de.patch
@@ -0,0 +1,111 @@
+From d89c051d3d24a9a96684c123207534cc5c4a58da Mon Sep 17 00:00:00 2001
+From: Remi Collet <remi@remirepo.net>
+Date: Mon, 15 Jul 2024 16:03:49 +0200
+Subject: [PATCH] Fix Implicitly marking parameter $.. as nullable is
+ deprecated
+
+---
+ tests/base-impl/fake-impl.php.inc | 4 ++--
+ tests/helper-with-options-union.phpt | 2 +-
+ tests/helper-with-options.phpt | 2 +-
+ tests/vm/__construct-without-psr.phpt | 8 ++++----
+ tests/vm/setLogger-without-psr.phpt | 8 ++++----
+ 5 files changed, 12 insertions(+), 12 deletions(-)
+
+diff --git a/tests/base-impl/fake-impl.php.inc b/tests/base-impl/fake-impl.php.inc
+index 434e0dc..f186734 100644
+--- a/tests/base-impl/fake-impl.php.inc
++++ b/tests/base-impl/fake-impl.php.inc
+@@ -1,6 +1,6 @@
+ <?php
+
+ class FakeImpl extends Handlebars\BaseImpl {
+- public function render(string $tmpl, $context = null, array $options = null): string {}
+- public function renderFile(string $filename, $context = null, array $options = null): string {}
++ public function render(string $tmpl, $context = null, ?array $options = null): string {}
++ public function renderFile(string $filename, $context = null, ?array $options = null): string {}
+ }
+diff --git a/tests/helper-with-options-union.phpt b/tests/helper-with-options-union.phpt
+index ac3f88c..86626bc 100644
+--- a/tests/helper-with-options-union.phpt
++++ b/tests/helper-with-options-union.phpt
+@@ -17,7 +17,7 @@ $helpers = new DefaultRegistry(array(
+ 'testHelperWithUnionType2' => function(string $a, string|int|null $b = null) {
+ var_dump(func_num_args());
+ },
+- 'testHelperWithUnionType3' => function(string $a, stdClass|Handlebars\Options $b = null) {
++ 'testHelperWithUnionType3' => function(string $a, stdClass|Handlebars\Options|null $b = null) {
+ var_dump(func_num_args());
+ },
+ ));
+diff --git a/tests/helper-with-options.phpt b/tests/helper-with-options.phpt
+index 29ed341..316add8 100644
+--- a/tests/helper-with-options.phpt
++++ b/tests/helper-with-options.phpt
+@@ -27,7 +27,7 @@ $helpers = new DefaultRegistry(array(
+ var_dump(gettype($b));
+ var_dump(get_class($b));
+ },
+- 'testHelperWithInvalidArgType' => function(string $a, string $b = null) {
++ 'testHelperWithInvalidArgType' => function(string $a, ?string $b = null) {
+ var_dump(func_num_args());
+ var_dump($a);
+ var_dump(gettype($b));
+diff --git a/tests/vm/__construct-without-psr.phpt b/tests/vm/__construct-without-psr.phpt
+index a0ca724..b2a561b 100644
+--- a/tests/vm/__construct-without-psr.phpt
++++ b/tests/vm/__construct-without-psr.phpt
+@@ -11,11 +11,11 @@ if( extension_loaded('psr') ) die('skip ');
+ namespace Psr\Log;
+
+ interface LoggerInterface {
+- public function log($level, $message, array $context = null);
++ public function log($level, $message, ?array $context = null);
+ }
+ abstract class AbstractLogger implements LoggerInterface {
+- public function info($message, array $context = null) { $this->log('info', $message, $context); }
+- public function warning($message, array $context = null) { $this->log('warning', $message, $context); }
++ public function info($message, ?array $context = null) { $this->log('info', $message, $context); }
++ public function warning($message, ?array $context = null) { $this->log('warning', $message, $context); }
+ }
+
+ namespace IgnoreMe;
+@@ -25,7 +25,7 @@ use Handlebars\VM;
+ use Psr\Log\AbstractLogger;
+
+ class TestLogger extends AbstractLogger {
+- public function log($level, $message, array $context = null) { var_dump($level, $message); }
++ public function log($level, $message, ?array $context = null) { var_dump($level, $message); }
+ }
+
+ $helpers = new DefaultRegistry();
+diff --git a/tests/vm/setLogger-without-psr.phpt b/tests/vm/setLogger-without-psr.phpt
+index 2553a3c..735e5c1 100644
+--- a/tests/vm/setLogger-without-psr.phpt
++++ b/tests/vm/setLogger-without-psr.phpt
+@@ -6,18 +6,18 @@ Handlebars\VM::setLogger() without php-psr
+ <?php
+ namespace Psr\Log;
+ interface LoggerInterface {
+- public function log($level, $message, array $context = null);
++ public function log($level, $message, ?array $context = null);
+ }
+ abstract class AbstractLogger implements LoggerInterface {
+- public function info($message, array $context = null) { $this->log('info', $message, $context); }
+- public function warning($message, array $context = null) { $this->log('warning', $message, $context); }
++ public function info($message, ?array $context = null) { $this->log('info', $message, $context); }
++ public function warning($message, ?array $context = null) { $this->log('warning', $message, $context); }
+ }
+
+ namespace Invalid;
+ use Psr\Log\AbstractLogger;
+ use Handlebars\VM;
+ class TestLogger extends AbstractLogger {
+- public function log($level, $message, array $context = null) { var_dump($level, $message); }
++ public function log($level, $message, ?array $context = null) { var_dump($level, $message); }
+ }
+ $logger = new TestLogger();
+ $vm = new VM();
+--
+2.45.2
+
diff --git a/php-pecl-handlebars.spec b/php-pecl-handlebars.spec
index a79b327..33f0dea 100644
--- a/php-pecl-handlebars.spec
+++ b/php-pecl-handlebars.spec
@@ -1,6 +1,6 @@
# remirepo spec file for php-pecl-handlebars
#
-# Copyright (c) 2017-2023 Remi Collet
+# Copyright (c) 2017-2024 Remi Collet
# License: CC-BY-SA-4.0
# http://creativecommons.org/licenses/by-sa/4.0/
#
@@ -22,12 +22,13 @@
Summary: Handlebars templating language
Name: %{?scl_prefix}php-pecl-%{pecl_name}
Version: %{upstream_version}%{?upstream_prever:~%{upstream_prever}}
-Release: 3%{?dist}%{!?scl:%{!?nophptag:%(%{__php} -r 'echo ".".PHP_MAJOR_VERSION.".".PHP_MINOR_VERSION;')}}
+Release: 4%{?dist}%{!?scl:%{!?nophptag:%(%{__php} -r 'echo ".".PHP_MAJOR_VERSION.".".PHP_MINOR_VERSION;')}}
License: BSD-2-Clause
URL: https://pecl.php.net/package/%{pecl_name}
Source0: https://pecl.php.net/get/%{sources}.tgz
Patch0: upstream.patch
+Patch1: 0001-Fix-Implicitly-marking-parameter-.-as-nullable-is-de.patch
BuildRequires: make
BuildRequires: %{?dtsprefix}gcc
@@ -38,9 +39,7 @@ BuildRequires: libtalloc-devel
Requires: %{?scl_prefix}php(zend-abi) = %{php_zend_api}
Requires: %{?scl_prefix}php(api) = %{php_core_api}
-%if 0%{?fedora} >= 21 || 0%{?rhel} >= 8
Recommends: %{?scl_prefix}php-psr%{?_isa}
-%endif
Provides: %{?scl_prefix}php-%{pecl_name} = %{version}
Provides: %{?scl_prefix}php-%{pecl_name}%{?_isa} = %{version}
@@ -69,11 +68,14 @@ These are the files needed to compile programs using %{name}.
%setup -q -c
# Don't install/register License
-%{?_licensedir:sed -e '/LICENSE/s/role="doc"/role="src"/' -i package.xml}
+sed -e '/LICENSE/s/role="doc"/role="src"/' -i package.xml
cd %{sources}
%patch -P0 -p1 -b .up
+if [ $(%{__php} -r 'echo PHP_VERSION_ID;') -ge 80400 ]; then
+%patch -P1 -p1 -b .up
+fi
# Honours RPM build options
sed -e '/ LDFLAGS=/d;/ CFLAGS=/d;' -i config.m4
@@ -164,26 +166,6 @@ do install -Dpm 644 %{sources}/$i %{buildroot}%{pecl_docdir}/%{pecl_name}/$i
done
-%if 0%{?fedora} < 24 && 0%{?rhel} < 8
-# when pear installed alone, after us
-%triggerin -- %{?scl_prefix}php-pear
-if [ -x %{__pecl} ] ; then
- %{pecl_install} %{pecl_xmldir}/%{name}.xml >/dev/null || :
-fi
-
-# posttrans as pear can be installed after us
-%posttrans
-if [ -x %{__pecl} ] ; then
- %{pecl_install} %{pecl_xmldir}/%{name}.xml >/dev/null || :
-fi
-
-%postun
-if [ $1 -eq 0 -a -x %{__pecl} ] ; then
- %{pecl_uninstall} %{pecl_name} >/dev/null || :
-fi
-%endif
-
-
%check
cd %{sources}
@@ -220,7 +202,6 @@ REPORT_EXIT_STATUS=1 \
%files
-%{!?_licensedir:%global license %%doc}
%license %{sources}/LICENSE.md
%doc %{pecl_docdir}/%{pecl_name}
%{pecl_xmldir}/%{name}.xml
@@ -244,6 +225,10 @@ REPORT_EXIT_STATUS=1 \
%changelog
+* Mon Jul 15 2024 Remi Collet <remi@remirepo.net> - 1.0.0-4
+- add patch for test suite with 8.4 from
+ https://github.com/jbboehr/php-handlebars/pull/78
+
* Fri Sep 1 2023 Remi Collet <remi@remirepo.net> - 1.0.0-3
- build out of sources tree