aboutsummaryrefslogtreecommitdiffstats
path: root/community/perl-xml-easy
diff options
context:
space:
mode:
authorTimothy Legge <timlegge@gmail.com>2020-02-26 00:00:45 +0000
committerAriadne Conill <ariadne@dereferenced.org>2020-02-27 00:03:26 +0000
commitbb01e31dda1d4432625f18107aa22244a2a9fe5d (patch)
tree3d514fcfdb56dbb2d1a39189b1fe966ebe70c398 /community/perl-xml-easy
parentc9f84744ce5a5cdb3feffbc00471f77fb273936e (diff)
downloadaports-bb01e31dda1d4432625f18107aa22244a2a9fe5d.tar.bz2
aports-bb01e31dda1d4432625f18107aa22244a2a9fe5d.tar.xz
community/perl-xml-easy: move from testing
Diffstat (limited to 'community/perl-xml-easy')
-rw-r--r--community/perl-xml-easy/APKBUILD35
-rw-r--r--community/perl-xml-easy/syntax_main-test.patch54
2 files changed, 89 insertions, 0 deletions
diff --git a/community/perl-xml-easy/APKBUILD b/community/perl-xml-easy/APKBUILD
new file mode 100644
index 0000000000..51b35136d8
--- /dev/null
+++ b/community/perl-xml-easy/APKBUILD
@@ -0,0 +1,35 @@
+# Automatically generated by apkbuild-cpan, template 2
+# Contributor: Timothy Legge <timlegge@gmail.com>
+# Maintainer: Timothy Legge <timlegge@gmail.com>
+pkgname=perl-xml-easy
+_pkgreal=XML-Easy
+pkgver=0.011
+pkgrel=3
+pkgdesc="XML processing with a clean interface"
+url="https://metacpan.org/release/XML-Easy/"
+arch="all"
+license="GPL-1.0-or-later OR Artistic-1.0-Perl"
+depends="perl-params-classify"
+makedepends="perl-dev perl-module-build"
+subpackages="$pkgname-doc"
+source="https://cpan.metacpan.org/authors/id/Z/ZE/ZEFRAM/XML-Easy-$pkgver.tar.gz
+ syntax_main-test.patch"
+builddir="$srcdir/$_pkgreal-$pkgver"
+
+build() {
+ export CFLAGS=$(perl -MConfig -E 'say $Config{ccflags}')
+ perl Build.PL installdirs=vendor
+ ./Build
+}
+
+check() {
+ ./Build test
+}
+
+package() {
+ ./Build install destdir="$pkgdir"
+ find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete
+}
+
+sha512sums="19e325a2968cd62e255e6f4e3e870a15f84c2d69ea6a1bf457b1de25d352554285f7162c01fd1dbb363bbad6ae882bc7d49b94655a4795664a735392871b2e02 XML-Easy-0.011.tar.gz
+6696f9fdb393b39d6e58a45ce7e591bf22f8af59849b96dc947ae274420f41fe77fc8b9ff04fac15cfbc28c63a2af95bf5078ac63fd7810f2f3c954498d8615e syntax_main-test.patch"
diff --git a/community/perl-xml-easy/syntax_main-test.patch b/community/perl-xml-easy/syntax_main-test.patch
new file mode 100644
index 0000000000..56a64ab397
--- /dev/null
+++ b/community/perl-xml-easy/syntax_main-test.patch
@@ -0,0 +1,54 @@
+from: https://rt.cpan.org/Public/Bug/Display.html?id=127416
+
+--- a/t/syntax_main.t- 2019-04-24 11:47:08.365496801 +0100
++++ b/t/syntax_main.t 2019-04-24 12:01:50.459442769 +0100
+@@ -35,16 +35,34 @@
+
+ # This code checks whether the regexp iteration limit bug (#60034) is
+ # present. The regexp match expression checks for getting the wrong
+-# result with a long input, and suffices to diagnose the bug. However,
+-# running that test on a pre-5.10 perl causes the stack to grow large,
++# result with a long input, and suffices to diagnose the bug.
++# for a pattern like /X*/, where X is sub-pattern that can match variable
++# length string, e.g. (ab?), it is currently known that:
++#
++# on < 5.10.0, the old recursive engine will crash on too long a match;
++# on < 5.29.4, /X*/ is misinterpreted as /X{0,32767}/
++# on 5.29.4+, /X*/ is misinterpreted as /X{0,65535}/
++#
++# Running that test on a pre-5.10 perl causes the stack to grow large,
+ # and if there's a limited stack size then this may overflow it and
+ # cause perl to crash. All pre-5.10 perls have the iteration limit
+ # bug, so there's no need to run the proper test on those verions.
+ # 5.10 fixed the stack issue, so it's safe to run the proper test there.
+-my $have_iterlimit_bug = "$]" < 5.010 || do {
+- local $SIG{__WARN__} = sub { };
+- ("a"x40000) !~ /\A(?:X?[a-z])*\z/;
+-};
++
++my $iterlimit; # if defined, sets an upper limit for iterations
++
++if ($] < 5.010) {
++ $iterlimit = 0;
++}
++else {
++ local $SIG{__WARN__} = sub { };
++ for my $i (32767, 65535) {
++ if (("a"x($i+1)) !~ /\A(?:X?[a-z])*\z/) {
++ $iterlimit = $i;
++ last;
++ }
++ }
++}
+
+ my $data_in = IO::File->new("t/read.data", "r") or die;
+ my $line = $data_in->getline;
+@@ -75,7 +93,7 @@
+ }
+ SKIP: {
+ skip "perl bug affects long inputs", 2
+- if $have_iterlimit_bug && length($input) >= 32766;
++ if defined $iterlimit && length($input) >= $iterlimit;
+ is upgraded($input) =~ $recogniser{$prod}, !$syntax_error;
+ is downgraded($input) =~ $recogniser{$prod}, !$syntax_error;
+ }