diff options
author | int | 2024-05-01 16:14:52 +0200 |
---|---|---|
committer | int | 2024-05-01 16:14:52 +0200 |
commit | adc8ee90d074e7bc7d0113cdf3606cf2668ae155 (patch) | |
tree | 4d92d1b24ede8d86c7cc3631cc4c8533b6e0de74 | |
parent | dcfca7b9d58f641b6cb760a8e24618dee1ddee15 (diff) | |
download | aur-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-- | .SRCINFO | 18 | ||||
-rw-r--r-- | PKGBUILD | 38 | ||||
-rw-r--r-- | bug120334.patch | 14 | ||||
-rw-r--r-- | bug120400.patch | 15 | ||||
-rw-r--r-- | bug123562.patch | 43 | ||||
-rw-r--r-- | bug123839.patch | 21 | ||||
-rw-r--r-- | bug124350.patch | 29 |
7 files changed, 171 insertions, 7 deletions
@@ -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 - @@ -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; |