diff options
author | Timothy Legge <timlegge@gmail.com> | 2020-02-26 00:00:45 +0000 |
---|---|---|
committer | Ariadne Conill <ariadne@dereferenced.org> | 2020-02-27 00:03:26 +0000 |
commit | bb01e31dda1d4432625f18107aa22244a2a9fe5d (patch) | |
tree | 3d514fcfdb56dbb2d1a39189b1fe966ebe70c398 /community/perl-xml-easy | |
parent | c9f84744ce5a5cdb3feffbc00471f77fb273936e (diff) | |
download | aports-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/APKBUILD | 35 | ||||
-rw-r--r-- | community/perl-xml-easy/syntax_main-test.patch | 54 |
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; + } |