From c002cdfa2010ab32753bc5691f4afd6992b15055 Mon Sep 17 00:00:00 2001 From: Remi Collet Date: Thu, 17 Oct 2019 15:59:04 +0200 Subject: - add patch for PHP 7.4 from https://github.com/horde/Pdf/pull/1 use range dependencies --- .gitignore | 8 ++++++ 1.patch | 63 ++++++++++++++++++++++++++++++++++++++++++++++++ php-horde-Horde-Pdf.spec | 49 +++++++++++++++++++++++++------------ 3 files changed, 104 insertions(+), 16 deletions(-) create mode 100644 .gitignore create mode 100644 1.patch diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..fc9aa8c --- /dev/null +++ b/.gitignore @@ -0,0 +1,8 @@ +clog +package-*.xml +*.tgz +*.tar.gz +*.tar.xz +*.tar.xz.asc +*.src.rpm +*/*rpm diff --git a/1.patch b/1.patch new file mode 100644 index 0000000..3d46f22 --- /dev/null +++ b/1.patch @@ -0,0 +1,63 @@ +From b7f1722e43c8d58f66204865952e1cd70e85ddb7 Mon Sep 17 00:00:00 2001 +From: Remi Collet +Date: Thu, 17 Oct 2019 15:34:44 +0200 +Subject: [PATCH 1/2] fix get_magic_quotes_runtime() is deprecated + +--- + lib/Horde/Pdf/Writer.php | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/lib/Horde/Pdf/Writer.php b/lib/Horde/Pdf/Writer.php +index 8d67c4b..cdf82db 100644 +--- a/lib/Horde/Pdf/Writer.php ++++ b/lib/Horde/Pdf/Writer.php +@@ -2313,7 +2313,7 @@ public function image($file, $x, $y, $width = 0, $height = 0, $type = '', + $type = substr($file, $pos + 1); + } + +- $mqr = get_magic_quotes_runtime(); ++ $mqr = function_exists("get_magic_quotes_runtime") ? @get_magic_quotes_runtime() : 0; + if ($mqr) { set_magic_quotes_runtime(0); } + + $type = Horde_String::lower($type); +@@ -2705,7 +2705,7 @@ protected function _putFonts() + $this->_out('endobj'); + } + +- $mqr = get_magic_quotes_runtime(); ++ $mqr = function_exists("get_magic_quotes_runtime") ? @get_magic_quotes_runtime() : 0; + if ($mqr) { set_magic_quotes_runtime(0); } + + foreach ($this->_font_files as $file => $info) { + +From fe2c5fb7a6dee24e8e34b793a59da0ac0bbaba67 Mon Sep 17 00:00:00 2001 +From: Remi Collet +Date: Thu, 17 Oct 2019 15:35:08 +0200 +Subject: [PATCH 2/2] fix access syntax with curly braces is deprecated + +--- + lib/Horde/Pdf/Writer.php | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/lib/Horde/Pdf/Writer.php b/lib/Horde/Pdf/Writer.php +index cdf82db..6b20a4a 100644 +--- a/lib/Horde/Pdf/Writer.php ++++ b/lib/Horde/Pdf/Writer.php +@@ -1198,7 +1198,7 @@ public function getStringWidth($text, $pt = false) + $width = 0; + $length = strlen($text); + for ($i = 0; $i < $length; $i++) { +- $width += $this->_current_font['cw'][$text{$i}]; ++ $width += $this->_current_font['cw'][$text[$i]]; + } + + /* Adjust for word spacing. */ +@@ -2138,7 +2138,7 @@ public function write($height, $text, $link = '') + $nl = 1; + while ($i < $nb) { + // Get next character. +- $c = $s{$i}; ++ $c = $s[$i]; + if ($c == "\n") { + // Explicit line break. + $this->cell($width, $height, substr($s, $j, $i - $j), 0, 2, '', 0, $link); diff --git a/php-horde-Horde-Pdf.spec b/php-horde-Horde-Pdf.spec index a43bf33..f4d297a 100644 --- a/php-horde-Horde-Pdf.spec +++ b/php-horde-Horde-Pdf.spec @@ -1,6 +1,6 @@ # remirepo/fedora spec file for php-horde-Horde-Pdf # -# Copyright (c) 2014-2017 Remi Collet +# Copyright (c) 2014-2018 Remi Collet # License: CC-BY-SA # http://creativecommons.org/licenses/by-sa/4.0/ # @@ -13,33 +13,44 @@ Name: php-horde-Horde-Pdf Version: 2.0.7 -Release: 1%{?dist} +Release: 8%{?dist} Summary: Horde PDF library -Group: Development/Libraries License: LGPLv2 URL: http://%{pear_channel} Source0: http://%{pear_channel}/get/%{pear_name}-%{version}.tgz -BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) +Patch0: https://patch-diff.githubusercontent.com/raw/horde/Pdf/pull/1.patch + BuildArch: noarch BuildRequires: php(language) >= 5.3.0 BuildRequires: php-pear(PEAR) >= 1.7.0 BuildRequires: php-channel(%{pear_channel}) %if %{with_tests} # To run unit tests +%if 0%{?fedora} >= 27 || 0%{?rhel} >= 8 +BuildRequires: (php-pear(%{pear_channel}/Horde_Test) >= 2.1.0 with php-pear(%{pear_channel}/Horde_Test) < 3) +BuildRequires: (php-pear(%{pear_channel}/Horde_Exception) >= 2.0.0 with php-pear(%{pear_channel}/Horde_Exception) < 3) +BuildRequires: (php-pear(%{pear_channel}/Horde_Util) >= 2.0.0 with php-pear(%{pear_channel}/Horde_Util) < 3) +%else BuildRequires: php-pear(%{pear_channel}/Horde_Test) >= 2.1.0 %endif +%endif Requires(post): %{__pear} Requires(postun): %{__pear} # From package.xml, required Requires: php(language) >= 5.3.0 Requires: php-pear(PEAR) >= 1.7.0 +%if 0%{?fedora} >= 27 || 0%{?rhel} >= 8 +Requires: (php-pear(%{pear_channel}/Horde_Exception) >= 2.0.0 with php-pear(%{pear_channel}/Horde_Exception) < 3) +Requires: (php-pear(%{pear_channel}/Horde_Util) >= 2.0.0 with php-pear(%{pear_channel}/Horde_Util) < 3) +%else Requires: php-pear(%{pear_channel}/Horde_Exception) >= 2.0.0 Requires: php-pear(%{pear_channel}/Horde_Exception) < 3.0.0 Requires: php-pear(%{pear_channel}/Horde_Util) >= 2.0.0 Requires: php-pear(%{pear_channel}/Horde_Util) < 3.0.0 +%endif Requires: php-channel(%{pear_channel}) # From phpcompatinfo report for version 2.0.3 Requires: php-date @@ -55,9 +66,11 @@ PDF generation using only PHP, without requiring any external libraries. %prep %setup -q -c - cd %{pear_name}-%{version} -mv ../package.xml %{name}.xml +%patch0 -p1 -b .pr1 + +sed -e '/Writer.php/s/md5sum=.*name=/name=/' \ + ../package.xml >%{name}.xml %build @@ -67,7 +80,6 @@ cd %{pear_name}-%{version} %install cd %{pear_name}-%{version} -rm -rf %{buildroot} %{__pear} install --nodeps --packagingroot %{buildroot} %{name}.xml # Clean up unnecessary files @@ -81,18 +93,19 @@ install -pm 644 %{name}.xml %{buildroot}%{pear_xmldir} %check %if %{with_tests} cd %{pear_name}-%{version}/test/$(echo %{pear_name} | sed -e s:_:/:g) -%{_bindir}/phpunit . -if which php70; then - php70 %{_bindir}/phpunit . -fi +ret=0 +for cmd in php php71 php72 php73 php74; do + if which $cmd; then + $cmd %{_bindir}/phpunit --verbose . || ret=1 + fi +done +exit $ret %else : Test disabled, missing '--with tests' option. %endif -%clean -rm -rf %{buildroot} %post @@ -107,14 +120,18 @@ fi %files -%defattr(-,root,root,-) %doc %{pear_docdir}/%{pear_name} %{pear_xmldir}/%{name}.xml %{pear_phpdir}/Horde/Pdf -%{pear_testdir}/%{pear_name} +%doc %{pear_testdir}/%{pear_name} %changelog +* Thu Oct 17 2019 Remi Collet - 2.0.7-8 +- add patch for PHP 7.4 from + https://github.com/horde/Pdf/pull/1 +- use range dependencies + * Tue Feb 02 2016 Remi Collet - 2.0.7-1 - Update to 2.0.7 - PHP 7 compatible version @@ -132,4 +149,4 @@ fi - add provides php-composer(horde/horde-pdf) * Sun Sep 14 2014 Remi Collet - 2.0.3-1 -- initial package \ No newline at end of file +- initial package -- cgit