diff --git a/php-pecl-yaml.spec b/php-pecl-yaml.spec index e0b4a89..00eb829 100644 --- a/php-pecl-yaml.spec +++ b/php-pecl-yaml.spec @@ -6,13 +6,16 @@ Name: php-pecl-yaml Version: 2.2.2 -Release: 4%{?dist} +Release: 5%{?dist} Summary: Support for YAML 1.1 serialization using the LibYAML library License: MIT URL: https://pecl.php.net/package/yaml Source0: https://pecl.php.net/get/%{pecl_name}-%{version}%{?prever}.tgz +Patch0: %{pecl_name}-pr66.patch +Patch1: %{pecl_name}-upstream.patch + BuildRequires: make BuildRequires: gcc BuildRequires: php-devel >= 7.1 @@ -42,6 +45,8 @@ sed -e 's/role="test"/role="src"/' \ package.xml >%{pecl_name}-%{version}%{?prever}/package.xml cd %{pecl_name}-%{version}%{?prever} +%patch0 -p1 -b .pr66 +%patch1 -p1 -b .up %build @@ -105,6 +110,12 @@ done %changelog +* Wed Oct 05 2022 Remi Collet - 2.2.2-5 +- rebuild for https://fedoraproject.org/wiki/Changes/php82 +- add upstream patch for test suite with PHP 8.2 +- fix gh#65 yaml_parse_url method not working using patch from + https://github.com/php/pecl-file_formats-yaml/pull/66 + * Fri Jul 22 2022 Fedora Release Engineering - 2.2.2-4 - Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild diff --git a/yaml-pr66.patch b/yaml-pr66.patch new file mode 100644 index 0000000..94e9c9e --- /dev/null +++ b/yaml-pr66.patch @@ -0,0 +1,137 @@ +From b3ba97abde6c503a305631649e8be01320078fb1 Mon Sep 17 00:00:00 2001 +From: Remi Collet +Date: Tue, 22 Feb 2022 11:57:38 +0100 +Subject: [PATCH 1/2] Fix #65 yaml_parse_url method not working + +--- + yaml.c | 3 +-- + 1 file changed, 1 insertion(+), 2 deletions(-) + +diff --git a/yaml.c b/yaml.c +index e06b145..4ca2cfe 100644 +--- a/yaml.c ++++ b/yaml.c +@@ -476,7 +476,6 @@ PHP_FUNCTION(yaml_parse_url) + + php_stream *stream = { 0 }; + zend_string *input; +- size_t size = 0; + + parser_state_t state; + zval yaml; +@@ -516,7 +515,7 @@ PHP_FUNCTION(yaml_parse_url) + } + + yaml_parser_initialize(&state.parser); +- yaml_parser_set_input_string(&state.parser, (unsigned char *)input, size); ++ yaml_parser_set_input_string(&state.parser, (unsigned char *)ZSTR_VAL(input), ZSTR_LEN(input)); + + if (pos < 0) { + php_yaml_read_all(&state, &ndocs, &yaml); + +From 2cd4463594345a8c844a86c33e3539f5a44f3156 Mon Sep 17 00:00:00 2001 +From: Remi Collet +Date: Tue, 22 Feb 2022 12:03:54 +0100 +Subject: [PATCH 2/2] add test for #65 + +--- + package.xml | 1 + + tests/yaml_parse_url_001.phpt | 89 +++++++++++++++++++++++++++++++++++ + 2 files changed, 90 insertions(+) + create mode 100644 tests/yaml_parse_url_001.phpt + +diff --git a/tests/yaml_parse_url_001.phpt b/tests/yaml_parse_url_001.phpt +new file mode 100644 +index 0000000..7c5efc4 +--- /dev/null ++++ b/tests/yaml_parse_url_001.phpt +@@ -0,0 +1,89 @@ ++--TEST-- ++yaml_parse_url - general ++--SKIPIF-- ++ ++--INI-- ++yaml.decode_timestamp=1 ++date.timezone=GMT ++--FILE-- ++ ++--EXPECT-- ++array(8) { ++ ["invoice"]=> ++ int(34843) ++ ["date"]=> ++ int(980208000) ++ ["bill-to"]=> ++ &array(3) { ++ ["given"]=> ++ string(5) "Chris" ++ ["family"]=> ++ string(6) "Dumars" ++ ["address"]=> ++ array(4) { ++ ["lines"]=> ++ string(27) "458 Walkman Dr. ++Suite #292 ++" ++ ["city"]=> ++ string(9) "Royal Oak" ++ ["state"]=> ++ string(2) "MI" ++ ["postal"]=> ++ int(48046) ++ } ++ } ++ ["ship-to"]=> ++ &array(3) { ++ ["given"]=> ++ string(5) "Chris" ++ ["family"]=> ++ string(6) "Dumars" ++ ["address"]=> ++ array(4) { ++ ["lines"]=> ++ string(27) "458 Walkman Dr. ++Suite #292 ++" ++ ["city"]=> ++ string(9) "Royal Oak" ++ ["state"]=> ++ string(2) "MI" ++ ["postal"]=> ++ int(48046) ++ } ++ } ++ ["product"]=> ++ array(2) { ++ [0]=> ++ array(4) { ++ ["sku"]=> ++ string(6) "BL394D" ++ ["quantity"]=> ++ int(4) ++ ["description"]=> ++ string(10) "Basketball" ++ ["price"]=> ++ float(450) ++ } ++ [1]=> ++ array(4) { ++ ["sku"]=> ++ string(7) "BL4438H" ++ ["quantity"]=> ++ int(1) ++ ["description"]=> ++ string(10) "Super Hoop" ++ ["price"]=> ++ float(2392) ++ } ++ } ++ ["tax"]=> ++ float(251.42) ++ ["total"]=> ++ float(4443.52) ++ ["comments"]=> ++ string(68) "Late afternoon is best. Backup contact is Nancy Billsmer @ 338-4338." ++} diff --git a/yaml-upstream.patch b/yaml-upstream.patch new file mode 100644 index 0000000..9457a57 --- /dev/null +++ b/yaml-upstream.patch @@ -0,0 +1,22 @@ +From 534124b8227d26e0e914dabb05425ddc160d9f31 Mon Sep 17 00:00:00 2001 +From: Andy Postnikov +Date: Fri, 10 Jun 2022 12:42:20 +0300 +Subject: [PATCH] Fix test for PHP 8.2 + +--- + tests/bug_79866.phpt | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/tests/bug_79866.phpt b/tests/bug_79866.phpt +index 8d8d62f..2189b90 100644 +--- a/tests/bug_79866.phpt ++++ b/tests/bug_79866.phpt +@@ -35,7 +35,7 @@ foreach( $floats as $idx => $float ) { + $expect = "--- {$native}\n...\n"; + $got = yaml_emit($float); + if ( $got !== $expect ) { +- echo "== FAIL! ${idx} ==\n"; ++ echo "== FAIL! {$idx} ==\n"; + echo "expected:\n{$expect}\n"; + echo "got:{$got}\n"; + }