summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRemi Collet <remi@remirepo.net>2019-10-10 16:35:04 +0200
committerRemi Collet <remi@remirepo.net>2019-10-10 16:35:04 +0200
commit07bb346164bfd6ccf68b8feccc6635dbeb685edd (patch)
tree33dbb9b427e037a52c6b62f55dadb26718c4655f
parent1338e2d9d913c668f1bcf0d19de48b228c0739c2 (diff)
- update to 4.7.0
- use range dependencies - add patch for PHP 7.4 from https://github.com/oscarotero/Gettext/pull/230
-rw-r--r--230.patch69
-rw-r--r--php-gettext-gettext.spec38
2 files changed, 99 insertions, 8 deletions
diff --git a/230.patch b/230.patch
new file mode 100644
index 0000000..7de523b
--- /dev/null
+++ b/230.patch
@@ -0,0 +1,69 @@
+From 03a36641bd9b13b1084ffa9dc330d7ebd2700ed1 Mon Sep 17 00:00:00 2001
+From: Remi Collet <remi@remirepo.net>
+Date: Thu, 10 Oct 2019 16:25:20 +0200
+Subject: [PATCH 1/2] Fix TypeError with 7.4
+
+TypeError: Argument 1 passed to Gettext\Translations::Gettext\{closure}() must be an instance of Gettext\Translation, array given
+
+From UPGRADINGS
+ . Calling get_object_vars() on an ArrayObject instance will now always return
+ the properties of the ArrayObject itself (or a subclass). Previously it
+ returned the values of the wrapped array/object unless the STD_PROP_LIST
+ flag was specified.
+---
+ src/Translations.php | 12 +++++++-----
+ 1 file changed, 7 insertions(+), 5 deletions(-)
+
+diff --git a/src/Translations.php b/src/Translations.php
+index 083b4ad..05d6a3e 100644
+--- a/src/Translations.php
++++ b/src/Translations.php
+@@ -435,11 +435,13 @@ public function find($context, $original = '')
+ */
+ public function countTranslated()
+ {
+- $callback = function (Translation $v) {
+- return ($v->hasTranslation()) ? $v->getTranslation() : null;
+- };
+-
+- return count(array_filter(get_object_vars($this), $callback));
++ $c = 0;
++ foreach($this as $v) {
++ if ($v->hasTranslation()) {
++ $c++;
++ }
++ }
++ return $c;
+ }
+
+ /**
+
+From bfc9a85db55107ed58ce8e9ca84be077e03eec41 Mon Sep 17 00:00:00 2001
+From: Remi Collet <remi@remirepo.net>
+Date: Thu, 10 Oct 2019 16:28:19 +0200
+Subject: [PATCH 2/2] Fix Invalid characters passed for attempted conversion
+ (7.4)
+
+---
+ src/Extractors/PhpCode.php | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/src/Extractors/PhpCode.php b/src/Extractors/PhpCode.php
+index ef31449..34243b9 100644
+--- a/src/Extractors/PhpCode.php
++++ b/src/Extractors/PhpCode.php
+@@ -122,11 +122,11 @@ function ($match) {
+ case '\\':
+ return '\\';
+ case 'x':
+- return chr(hexdec(substr($match[0], 1)));
++ return chr(hexdec(substr($match[1], 1)));
+ case 'u':
+- return self::unicodeChar(hexdec(substr($match[0], 1)));
++ return self::unicodeChar(hexdec(substr($match[1], 1)));
+ default:
+- return chr(octdec($match[0]));
++ return chr(octdec($match[1]));
+ }
+ },
+ $value
diff --git a/php-gettext-gettext.spec b/php-gettext-gettext.spec
index 44729fa..c1777c2 100644
--- a/php-gettext-gettext.spec
+++ b/php-gettext-gettext.spec
@@ -14,7 +14,7 @@
Name: php-gettext-gettext
Version: 4.7.0
-Release: 1%{?dist}
+Release: 2%{?dist}
BuildArch: noarch
License: MIT
@@ -25,10 +25,14 @@ Source0: %{url}/archive/v%{version}.tar.gz
# dltests.sh is used to do this, and is included in this repository.
Source1: tests-v%{version}.tar.bz2
+Patch0: https://patch-diff.githubusercontent.com/raw/oscarotero/Gettext/pull/230.patch
+
BuildRequires: dos2unix
-#BuildRequires: php-composer(gettext/languages) >= 2.3.0
-#BuildRequires: php-composer(gettext/languages) < 3.0.0
-BuildRequires: php-gettext-languages
+%if 0%{?fedora} >= 27 || 0%{?rhel} >= 8
+BuildRequires: (php-composer(gettext/languages) >= 2.3.0 with php-composer(gettext/languages) < 3)
+%else
+BuildRequires: php-gettext-languages >= 2.3.0
+%endif
BuildRequires: phpunit
Requires: php(language) >= 5.4.0
@@ -41,8 +45,11 @@ Requires: php-simplexml
Requires: php-spl
Requires: php-tokenizer
-Requires: php-composer(gettext/languages) >= 2.3.0
-Requires: php-composer(gettext/languages) < 3.0.0
+%if 0%{?fedora} >= 27 || 0%{?rhel} >= 8
+Requires: (php-composer(gettext/languages) >= 2.3.0 with php-composer(gettext/languages) < 3)
+%else
+Requires: php-gettext-languages >= 2.3.0
+%endif
Provides: php-composer(gettext/gettext) = %{version}
@@ -55,7 +62,8 @@ Autoloader: %{_datadir}/php/Gettext/autoload.php
%prep
-%autosetup -p1 -a1 -n Gettext-%{version}
+%setup -a1 -n Gettext-%{version}
+%patch0 -p1
# The documentation has the wrong newline codes
dos2unix *.md
@@ -94,7 +102,15 @@ sed -i "s:include_once.*:\ninclude_once '%{buildroot}/%{_datadir}/php/Gettext/au
# if desired). Thus, we need to skip the tests on these integration points since they will fail
# without the dependencies. There is an upstream issue about compatibility issues with Twig:
# https://github.com/oscarotero/Gettext/issues/137
-phpunit --bootstrap tests/bootstrap.php --filter ^\(\(?!\(testBlade\|testTwig\)\).\)*$ tests
+
+: run upstream test suite with all installed PHP versions
+ret=0
+for cmd in php php71 php72 php73 php74; do
+ if which $cmd; then
+ $cmd %{_bindir}/phpunit --bootstrap tests/bootstrap.php --filter ^\(\(?!\(testBlade\|testTwig\)\).\)*$ tests
+ fi
+done
+exit $ret
%files
@@ -108,6 +124,12 @@ phpunit --bootstrap tests/bootstrap.php --filter ^\(\(?!\(testBlade\|testTwig\)\
%changelog
+* Thu Oct 10 2019 Remi Collet <remi@remirepo.net> - 4.7.0-2
+- update to 4.7.0
+- use range dependencies
+- add patch for PHP 7.4 from
+ https://github.com/oscarotero/Gettext/pull/230
+
* Thu Oct 10 2019 Sundeep Anand <suanand@fedoraproject.org> - 4.7.0-1
- Update to 4.7.0 (#1759099).
- https://github.com/oscarotero/Gettext/blob/v4.7.0/CHANGELOG.md