summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorint2024-05-01 16:14:52 +0200
committerint2024-05-01 16:14:52 +0200
commitadc8ee90d074e7bc7d0113cdf3606cf2668ae155 (patch)
tree4d92d1b24ede8d86c7cc3631cc4c8533b6e0de74
parentdcfca7b9d58f641b6cb760a8e24618dee1ddee15 (diff)
downloadaur-adc8ee90d074e7bc7d0113cdf3606cf2668ae155.tar.gz
Apply some patches of the Text-PDF bug-tracker.
The bug-tracker can be found at https://rt.cpan.org/Public/Dist/Display.html?Name=Text-PDF The number in the patch-filename refers to the specific bug-id there. Note: I first apply the patch of bug-id 124350 and afterwards bug-id 123562. So the changes that were already applied from the first patch are not a part of the second one. So the patch in the bug-tracker differs accordingly from bug123562.patch provided in the package.
-rw-r--r--.SRCINFO18
-rw-r--r--PKGBUILD38
-rw-r--r--bug120334.patch14
-rw-r--r--bug120400.patch15
-rw-r--r--bug123562.patch43
-rw-r--r--bug123839.patch21
-rw-r--r--bug124350.patch29
7 files changed, 171 insertions, 7 deletions
diff --git a/.SRCINFO b/.SRCINFO
index 678dc6a04adf..4d7ca084ed1b 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,7 +1,7 @@
pkgbase = perl-text-pdf
pkgdesc = Perl/CPAN Module Text::PDF: Module for manipulating PDF files
pkgver = 0.31
- pkgrel = 1
+ pkgrel = 2
url = https://metacpan.org/release/Text-PDF
arch = any
license = PerlArtistic
@@ -9,8 +9,22 @@ pkgbase = perl-text-pdf
depends = perl
options = !emptydirs
source = http://search.cpan.org/CPAN/authors/id/B/BH/BHALLISSY/Text-PDF-0.31.tar.gz
+ source = bug120334.patch
+ source = bug120400.patch
+ source = bug123839.patch
+ source = bug124350.patch
+ source = bug123562.patch
md5sums = bf63812e65f2e2012e10e422a637760a
+ md5sums = 7ee42cd37f9adaffc684f69c0744b25c
+ md5sums = 5ff27bf82b28fd1ad963f1b2c182de62
+ md5sums = 6d0dfe20fb777fffc05221c9d6689bea
+ md5sums = 2daa955a773b9d29153c0fe4889ad931
+ md5sums = bfbe9480b12f45ada057e13fde28c016
sha512sums = 6413bddaefbb57918763d395b9c751ad630a2095970c2c1febb01235343339fd4eae2820a30b449775d95071cca000a0f11e955fe304c2c56a45e80b384308d5
+ sha512sums = a809060a6b941e726e1c287c3e722398569e61626e369d8f29ab2813dfb9cd6cba30528f44437970eb7b0cf460b1f8481377fbe19b02df776728b88f4885efd9
+ sha512sums = 6dc510e50e86b2c9f34e2301cd9229bca2161186bdbceec8ee959938b9aa18eb0c182f61ef8bd96d76d4965c04b544b69ec03ac1ff20d397b70482719bbda32d
+ sha512sums = 1f3d4096bd365af677dde25d999f274cace5d260ca2f9c2fbdf3726c10ed908e3ce098ec62aade7af78cb4300ca132c3e5537ea0c7917f4e2bfb2d80c7eb0870
+ sha512sums = 9881616d4ebe47c7849273052896d7bde5d99c9c7a8c2f0761e246215f9e74936cfbf662f3bf2dc2011cbeee0990f8393c90709544cf6370f257a5917fdba945
+ sha512sums = 9fe63e0ce02aaa3cde7c642fc84a9c69c0617f8d86c8f8a59ca078fabe451216c3232630f8d5a9b40724c1d9237c054affa73c2212cd98fc726f9916d984ebf1
pkgname = perl-text-pdf
-
diff --git a/PKGBUILD b/PKGBUILD
index 7f009a9f47a4..246415403c7a 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -3,7 +3,7 @@
pkgname='perl-text-pdf'
pkgver='0.31'
-pkgrel='1'
+pkgrel='2'
pkgdesc="Perl/CPAN Module Text::PDF: Module for manipulating PDF files"
arch=('any')
license=('PerlArtistic' 'GPL')
@@ -11,10 +11,38 @@ options=('!emptydirs')
depends=('perl')
makedepends=()
url='https://metacpan.org/release/Text-PDF'
-source=('http://search.cpan.org/CPAN/authors/id/B/BH/BHALLISSY/Text-PDF-0.31.tar.gz')
-md5sums=('bf63812e65f2e2012e10e422a637760a')
-sha512sums=('6413bddaefbb57918763d395b9c751ad630a2095970c2c1febb01235343339fd4eae2820a30b449775d95071cca000a0f11e955fe304c2c56a45e80b384308d5')
-_distdir="Text-PDF-0.31"
+source=("http://search.cpan.org/CPAN/authors/id/B/BH/BHALLISSY/Text-PDF-$pkgver.tar.gz"
+ "bug120334.patch"
+ "bug120400.patch"
+ "bug123839.patch"
+ "bug124350.patch"
+ "bug123562.patch"
+)
+md5sums=('bf63812e65f2e2012e10e422a637760a'
+ '7ee42cd37f9adaffc684f69c0744b25c'
+ '5ff27bf82b28fd1ad963f1b2c182de62'
+ '6d0dfe20fb777fffc05221c9d6689bea'
+ '2daa955a773b9d29153c0fe4889ad931'
+ 'bfbe9480b12f45ada057e13fde28c016'
+)
+sha512sums=('6413bddaefbb57918763d395b9c751ad630a2095970c2c1febb01235343339fd4eae2820a30b449775d95071cca000a0f11e955fe304c2c56a45e80b384308d5'
+ 'a809060a6b941e726e1c287c3e722398569e61626e369d8f29ab2813dfb9cd6cba30528f44437970eb7b0cf460b1f8481377fbe19b02df776728b88f4885efd9'
+ '6dc510e50e86b2c9f34e2301cd9229bca2161186bdbceec8ee959938b9aa18eb0c182f61ef8bd96d76d4965c04b544b69ec03ac1ff20d397b70482719bbda32d'
+ '1f3d4096bd365af677dde25d999f274cace5d260ca2f9c2fbdf3726c10ed908e3ce098ec62aade7af78cb4300ca132c3e5537ea0c7917f4e2bfb2d80c7eb0870'
+ '9881616d4ebe47c7849273052896d7bde5d99c9c7a8c2f0761e246215f9e74936cfbf662f3bf2dc2011cbeee0990f8393c90709544cf6370f257a5917fdba945'
+ '9fe63e0ce02aaa3cde7c642fc84a9c69c0617f8d86c8f8a59ca078fabe451216c3232630f8d5a9b40724c1d9237c054affa73c2212cd98fc726f9916d984ebf1'
+)
+_distdir="Text-PDF-$pkgver"
+
+prepare() {
+ cd "$srcdir/$_distdir"
+
+ patch --forward --strip=1 --input=$srcdir/bug120334.patch
+ patch --forward --strip=1 --input=$srcdir/bug120400.patch
+ patch --forward --strip=1 --input=$srcdir/bug123839.patch
+ patch --forward --strip=1 --input=$srcdir/bug124350.patch
+ patch --forward --strip=1 --input=$srcdir/bug123562.patch
+}
build() {
( export PERL_MM_USE_DEFAULT=1 PERL5LIB="" \
diff --git a/bug120334.patch b/bug120334.patch
new file mode 100644
index 000000000000..21a284be5c37
--- /dev/null
+++ b/bug120334.patch
@@ -0,0 +1,14 @@
+--- a/lib/Text/PDF/File.pm 2016-08-16 08:01:48.000000000 -0700
++++ b/lib/Text/PDF/File.pm 2017-02-22 18:04:49.000000000 -0800
+@@ -1063,9 +1063,9 @@
+ $fh = $self->{' INFILE'};
+ $fh->seek($xpos, 0);
+ $fh->read($buf, 22);
+- if ($buf !~ m/^xref$cr/oi)
++ if ($buf !~ m/^$ws_char*xref$cr/oi)
+ { die "Malformed xref in PDF file $self->{' fname'}"; }
+- $buf =~ s/^xref$cr//oi;
++ $buf =~ s///oi;
+
+ $xlist = {};
+ while ($buf =~ m/^([0-9]+)$ws_char+([0-9]+)$cr(.*?)$/so)
diff --git a/bug120400.patch b/bug120400.patch
new file mode 100644
index 000000000000..5519fb291bfa
--- /dev/null
+++ b/bug120400.patch
@@ -0,0 +1,15 @@
+--- a/lib/Text/PDF/File.pm 2016-08-16 17:01:48.000000000 +0200
++++ b/lib/Text/PDF/File.pm 2017-02-27 00:54:42.000000000 +0200
+@@ -1080,10 +1080,10 @@
+ { $xlist->{$xmin++} = [$1, $2, $3]; }
+ }
+
+- if ($buf !~ /^trailer$cr/oi)
++ if ($buf !~ /^trailer$ws_char*/oi)
+ { die "Malformed trailer in PDF file $self->{' fname'} at " . ($fh->tell - length($buf)); }
+
+- $buf =~ s/^trailer$cr//oi;
++ $buf =~ s/^trailer$ws_char*//oi;
+
+ ($tdict, $buf) = $self->readval($buf);
+ $tdict->{' loc'} = $xpos;
diff --git a/bug123562.patch b/bug123562.patch
new file mode 100644
index 000000000000..21261518f8ec
--- /dev/null
+++ b/bug123562.patch
@@ -0,0 +1,43 @@
+--- a/lib/Text/PDF/TTFont0.pm 2018-02-02 15:27:58.315775700 +0200
++++ b/lib/Text/PDF/TTFont0.pm 2019-07-17 08:25:04.000000000 +0200
+@@ -106,25 +106,28 @@
+ if ($opt{'ToUnicode'})
+ {
+ @rev = $font->{'cmap'}->read->reverse;
+- $unistr = '/CIDInit /ProcSet findresource being 12 dict begin begincmap
++ my $num = grep defined, @rev;
++ $unistr = '/CIDInit /ProcSet findresource begin 12 dict begin begincmap
+ /CIDSystemInfo << /Registry (' . $self->{'BaseFont'}->val . '+0) /Ordering (XYZ)
+ /Supplement 0 >> def
+ /CMapName /' . $self->{'BaseFont'}->val . '+0 def /CMapType 2 def
+-1 begincodespacerange ';
+- $unistr .= sprintf("<%04X> <%04X> endcodespacerange\n", 1, $num - 1);
+- $unistr .= $num - $i > 100 ? 100 : $num - $i;
+- $unistr .= " beginbfrange\n";
+- for ($i = 1; $i < $num; $i++)
++1 begincodespacerange <0000> <FFFF> endcodespacerange'."\n";
++ for (my $i = my $j = 0; $i < @rev; $i++, $j++)
+ {
+- if ($i % 100 == 0)
++ next unless defined $rev[$i];
++ my $s = $num - $j > 100 ? 100 : $num - $j;
++ if ($j == 0)
+ {
+- $unistr .= "endbfrange\n";
+- $unistr .= $num - $i > 100 ? 100 : $num - $i;
+- $unistr .= " beginbfrange\n";
++ $unistr .= "$s beginbfchar\n";
+ }
+- $unistr .= sprintf("<%04X> <%04X> <%04X>\n", $i, $i, $rev[$i]);
++ elsif ($j % 100 == 0)
++ {
++ $unistr .= "endbfchar\n";
++ $unistr .= "$s beginbfchar\n";
++ }
++ $unistr .= sprintf("<%04X> <%04X>\n", $i, $rev[$i]);
+ }
+- $unistr .= "endbfrange\nendcmap CMapName currendict /CMap defineresource pop end end\n";
++ $unistr .= "endbfchar\nendcmap CMapName currendict /CMap defineresource pop end end\n";
+ $touni = PDFDict();
+ $parent->new_obj($touni);
+ $touni->{' stream'} = $unistr;
diff --git a/bug123839.patch b/bug123839.patch
new file mode 100644
index 000000000000..51672d733258
--- /dev/null
+++ b/bug123839.patch
@@ -0,0 +1,21 @@
+--- a/lib/Text/PDF/Dict.pm 2016-08-24 23:18:16.000000000 +0200
++++ b/lib/Text/PDF/Dict.pm 2017-12-08 11:32:45.483949200 +0100
+@@ -168,7 +168,7 @@
+ $fh->print($str);
+ if (@filts > 0)
+ {
+- $len = $fh->tell - $loc + 1;
++ $len = $fh->tell - $loc + ($str =~ m/$cr$/o ? 0 : 1);
+ if ($self->{'Length'}{'val'} != $len)
+ {
+ $self->{'Length'}{'val'} = $len;
+@@ -202,7 +202,7 @@
+ $fh->print($str);
+ }
+
+- $len = $fh->tell - $loc + 1;
++ $len = $fh->tell - $loc + ($str =~ m/$cr$/o ? 0 : 1);
+ if ($self->{'Length'}{'val'} != $len)
+ {
+ $self->{'Length'}{'val'} = $len;
+
diff --git a/bug124350.patch b/bug124350.patch
new file mode 100644
index 000000000000..802e39f1a23b
--- /dev/null
+++ b/bug124350.patch
@@ -0,0 +1,29 @@
+--- a/lib/Text/PDF/TTFont0.pm 2016-08-04 18:49:53.000000000 +0200
++++ b/lib/Text/PDF/TTFont0.pm 2018-02-02 15:27:58.315775700 +0200
+@@ -109,9 +109,11 @@
+ $unistr = '/CIDInit /ProcSet findresource being 12 dict begin begincmap
+ /CIDSystemInfo << /Registry (' . $self->{'BaseFont'}->val . '+0) /Ordering (XYZ)
+ /Supplement 0 >> def
+-/CMapName /' . $self->{'BaseFont'}->val . '+0 def
+-1 begincodespacerange <';
+- $unistr .= sprintf("%04x> <%04x> endcodespacerange\n", 1, $num - 1);
++/CMapName /' . $self->{'BaseFont'}->val . '+0 def /CMapType 2 def
++1 begincodespacerange ';
++ $unistr .= sprintf("<%04X> <%04X> endcodespacerange\n", 1, $num - 1);
++ $unistr .= $num - $i > 100 ? 100 : $num - $i;
++ $unistr .= " beginbfrange\n";
+ for ($i = 1; $i < $num; $i++)
+ {
+ if ($i % 100 == 0)
+@@ -120,9 +122,9 @@
+ $unistr .= $num - $i > 100 ? 100 : $num - $i;
+ $unistr .= " beginbfrange\n";
+ }
+- $unistr .= sprintf("<%04x> <%04x> <%04x>\n", $i, $i, $rev[$i]);
++ $unistr .= sprintf("<%04X> <%04X> <%04X>\n", $i, $i, $rev[$i]);
+ }
+- $unistr .= "endbfrange\nendcmap CMapName currendict /CMap defineresource pop end end";
++ $unistr .= "endbfrange\nendcmap CMapName currendict /CMap defineresource pop end end\n";
+ $touni = PDFDict();
+ $parent->new_obj($touni);
+ $touni->{' stream'} = $unistr;