From 52a4948b9138662b1e7b23b04ef0d72101519f2d Mon Sep 17 00:00:00 2001 From: root Date: Tue, 15 May 2012 00:02:45 +0000 Subject: Tue May 15 00:02:45 UTC 2012 --- extra/cairo-perl/PKGBUILD | 11 ++-- extra/cairo-perl/testsuite.patch | 135 +++++++++++++++++++++++++++++++++++++++ 2 files changed, 142 insertions(+), 4 deletions(-) create mode 100644 extra/cairo-perl/testsuite.patch (limited to 'extra/cairo-perl') diff --git a/extra/cairo-perl/PKGBUILD b/extra/cairo-perl/PKGBUILD index 7fb05334a..e970bb1c6 100644 --- a/extra/cairo-perl/PKGBUILD +++ b/extra/cairo-perl/PKGBUILD @@ -1,8 +1,8 @@ -# $Id: PKGBUILD 143687 2011-11-28 11:39:04Z jgc $ +# $Id: PKGBUILD 158976 2012-05-13 21:18:20Z jgc $ # Maintainer: Jan de Groot pkgname=cairo-perl -pkgver=1.081 +pkgver=1.082 pkgrel=1 pkgdesc="Perl wrappers for cairo" arch=(i686 x86_64) @@ -11,11 +11,14 @@ url="http://gtk2-perl.sourceforge.net/" options=('!emptydirs') depends=('cairo' 'perl') makedepends=('perl-extutils-depends' 'perl-extutils-pkgconfig') -source=(http://downloads.sourceforge.net/sourceforge/gtk2-perl/Cairo-${pkgver}.tar.gz) -md5sums=('52c712b0f749f2fe232ae6e18880fe7d') +source=(http://downloads.sourceforge.net/sourceforge/gtk2-perl/Cairo-${pkgver}.tar.gz + testsuite.patch) +md5sums=('cfd61e519ff20023979c255d4040fe06' + '6a3ceac304a5a53f8fdd5652d98f6855') build() { cd "${srcdir}/Cairo-${pkgver}" + patch -Np1 -i "${srcdir}/testsuite.patch" perl Makefile.PL INSTALLDIRS=vendor make } diff --git a/extra/cairo-perl/testsuite.patch b/extra/cairo-perl/testsuite.patch new file mode 100644 index 000000000..59cb58f28 --- /dev/null +++ b/extra/cairo-perl/testsuite.patch @@ -0,0 +1,135 @@ +From 21dd8a0600cbfac46723c7745b377fce94c8bdc3 Mon Sep 17 00:00:00 2001 +From: Torsten Schönfeld +Date: Sat, 31 Mar 2012 10:34:11 +0000 +Subject: Fix compiling and testing against older versions of cairo + +--- +(limited to 't/CairoPath.t') + +diff --git a/t/CairoPath.t b/t/CairoPath.t +index e515172..770e464 100644 +--- a/t/CairoPath.t ++++ b/t/CairoPath.t +@@ -11,11 +11,17 @@ use strict; + use warnings; + use Cairo; + +-use Test::More tests => 6; ++use Test::More; + + use constant IMG_WIDTH => 256; + use constant IMG_HEIGHT => 256; + ++if (Cairo::VERSION >= Cairo::VERSION_ENCODE (1, 4, 0)) { ++ plan tests => 6; ++} else { ++ plan skip_all => 'path behavior not predictable on cairo < 1.4'; ++} ++ + my $surf = Cairo::ImageSurface->create ('rgb24', IMG_WIDTH, IMG_HEIGHT); + my $cr = Cairo::Context->create ($surf); + +-- +cgit v0.9.0.2 +From a1cd2e45b4ee49a724ae5d7e854ad9829eebf00d Mon Sep 17 00:00:00 2001 +From: Torsten Schönfeld +Date: Sat, 07 Apr 2012 18:01:31 +0000 +Subject: Make t/CairoPath.t more robust + +The end of a path that took a round trip into cairo and back might differ +for different versions of cairo. Hence, compare only the beginning with +the expected path. +--- +diff --git a/t/CairoPath.t b/t/CairoPath.t +index 770e464..27a3aad 100644 +--- a/t/CairoPath.t ++++ b/t/CairoPath.t +@@ -11,17 +11,11 @@ use strict; + use warnings; + use Cairo; + +-use Test::More; ++use Test::More tests => 18; + + use constant IMG_WIDTH => 256; + use constant IMG_HEIGHT => 256; + +-if (Cairo::VERSION >= Cairo::VERSION_ENCODE (1, 4, 0)) { +- plan tests => 6; +-} else { +- plan skip_all => 'path behavior not predictable on cairo < 1.4'; +-} +- + my $surf = Cairo::ImageSurface->create ('rgb24', IMG_WIDTH, IMG_HEIGHT); + my $cr = Cairo::Context->create ($surf); + +@@ -40,14 +34,7 @@ my $expected_path = [ + ]; + + my $path = $cr->copy_path; +-is_deeply ($path, $expected_path); +- +-sub paths_agree { +- my ($cr, $path, $expected_path) = @_; +- $cr->new_path; +- $cr->append_path ($path); +- is_deeply ($cr->copy_path, $expected_path); +-} ++paths_agree ($path, $expected_path); + + # Modifying single point values. + foreach ($path, $expected_path) { +@@ -57,21 +44,21 @@ foreach ($path, $expected_path) { + $_->[2]{points}[2][0] = 99; + $_->[2]{points}[2][1] = 1010; + } +-paths_agree ($cr, $path, $expected_path); ++path_round_trip_ok ($cr, $path, $expected_path); + + # Modifying single points. + foreach ($path, $expected_path) { + $_->[1]{points}[0] = [333, 444]; + $_->[2]{points}[2] = [77, 88]; + } +-paths_agree ($cr, $path, $expected_path); ++path_round_trip_ok ($cr, $path, $expected_path); + + # Replacing all points. + foreach ($path, $expected_path) { + $_->[1]{points} = [[3333, 4444]]; + $_->[2]{points} = [[55, 66], [77, 88], [99, 1010]]; + } +-paths_agree ($cr, $path, $expected_path); ++path_round_trip_ok ($cr, $path, $expected_path); + + # Replacing and adding path segments. + my @cloned_path = @{$path}; +@@ -86,9 +73,24 @@ foreach (\@cloned_path, $expected_path) { + type => 'line-to', + points => [[23, 42]] }; + } +-paths_agree ($cr, \@cloned_path, $expected_path); ++path_round_trip_ok ($cr, \@cloned_path, $expected_path); + + # Passing bare arrays into Cairo. + $cr->new_path; + $cr->append_path ($expected_path); +-is_deeply ($cr->copy_path, $expected_path); ++paths_agree ($cr->copy_path, $expected_path); ++ ++sub path_round_trip_ok { ++ my ($cr, $path, $expected_path) = @_; ++ $cr->new_path; ++ $cr->append_path ($path); ++ paths_agree ($cr->copy_path, $expected_path); ++} ++ ++sub paths_agree { ++ my ($path, $expected_path) = @_; ++ # Only the first three entries seem to be reliable across cairo versions. ++ for (0..2) { ++ is_deeply ($path->[$_], $expected_path->[$_]); ++ } ++} +-- +cgit v0.9.0.2 -- cgit v1.2.3-54-g00ecf