Message info
 
To:arch-commits@archlinux.org From:Jan de Groot Subject:[arch-commits] Commit in cairo-perl/trunk (PKGBUILD testsuite.patch) Date:Sun, 13 May 2012 17:17:58 -0400 (EDT)
 

Date: Sunday, May 13, 2012 @ 17:17:57
Author: jgc
Revision: 158975

upgpkg: cairo-perl 1.082-1

Update to 1.082, fix testsuite to work with cairo 1.12

Added:
cairo-perl/trunk/testsuite.patch
Modified:
cairo-perl/trunk/PKGBUILD

-----------------+
PKGBUILD | 9 ++-
testsuite.patch | 135 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
2 files changed, 141 insertions(+), 3 deletions(-)

Modified: PKGBUILD
===================================================================
--- PKGBUILD 2012-05-13 21:09:51 UTC (rev 158974)
+++ PKGBUILD 2012-05-13 21:17:57 UTC (rev 158975)
@@ -2,7 +2,7 @@
# 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 @@
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
}

Added: testsuite.patch
===================================================================
--- testsuite.patch (rev 0)
+++ testsuite.patch 2012-05-13 21:17:57 UTC (rev 158975)
@@ -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