summaryrefslogtreecommitdiff
path: root/extra/cairo-perl
diff options
context:
space:
mode:
authorroot <root@rshg054.dnsready.net>2012-05-15 00:02:45 +0000
committerroot <root@rshg054.dnsready.net>2012-05-15 00:02:45 +0000
commit52a4948b9138662b1e7b23b04ef0d72101519f2d (patch)
tree701b562dc98245a57c6a93f3c2f94e3b1832f0eb /extra/cairo-perl
parentd3af8dc0117dc1ce4fea3d05c7a2d7786bd78986 (diff)
Tue May 15 00:02:45 UTC 2012
Diffstat (limited to 'extra/cairo-perl')
-rw-r--r--extra/cairo-perl/PKGBUILD11
-rw-r--r--extra/cairo-perl/testsuite.patch135
2 files changed, 142 insertions, 4 deletions
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 <jgc@archlinux.org>
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 <kaffeetisch@gmx.de>
+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 <kaffeetisch@gmx.de>
+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