Hello community,

here is the log from the commit of package perl-Cairo for openSUSE:Factory 
checked in at 2013-06-07 10:05:39
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/perl-Cairo (Old)
 and      /work/SRC/openSUSE:Factory/.perl-Cairo.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "perl-Cairo"

Changes:
--------
--- /work/SRC/openSUSE:Factory/perl-Cairo/perl-Cairo.changes    2012-06-10 
21:52:05.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.perl-Cairo.new/perl-Cairo.changes       
2013-06-07 10:05:41.000000000 +0200
@@ -1,0 +2,57 @@
+Mon Jun  3 11:51:36 UTC 2013 - [email protected]
+
+- updated to 1.103
+  * Hush a few compiler warnings
+  * Updated copyright date
+  
+  Overview of changes in Cairo 1.102
+  ==================================
+  
+  * Fix building with perl <= 5.14
+  * Prevent crashes on exit with Cairo::Path on perl 5.6.
+  
+  Overview of changes in Cairo 1.101
+  ==================================
+  
+  * Properly specify our dependencies.
+  * Fix some erroneous POD links.
+  * Distribute a missing test file.
+  
+  Overview of changes in Cairo 1.100
+  ==================================
+  
+  Since 1.08x (the previous stable series)
+  ----------------------------------------
+  * Make "use Cairo x.yyy" work.  This required renaming the old
+    Cairo::VERSION, a wrapper for CAIRO_VERSION, to Cairo::LIB_VERSION --
+    but we kept the old way of calling it working.  Cairo::version,
+    Cairo::version_string and Cairo::VERSION_ENCODE got the same treatment
+    for consistency.
+  * Auto-upgrade strings to utf8.  Note that this means that calling
+    utf8::encode() on strings before passing them into Cairo will now
+    yield doubly-encoded and thus broken strings.  Also, having
+    utf8-encoded literals in your code without an accompanying "use utf8"
+    line will also lead to double encoding.
+  * Expand and improve the README and META.yml files.
+  * Many compilation and test suite fixes.
+  
+  Since 1.091
+  -----------
+  * Do not assume that sizeof(void*) == sizeof(long)
+  * Calculate a string length more efficiently
+  * added updated README text for RT#74870
+  * Created %meta_merge which follows v2 of meta-spec
+  
+  Overview of changes in Cairo 1.091
+  ==================================
+  
+  * Auto-upgrade strings to utf8.  Note that this means that calling
+    utf8::encode() on strings before passing them into Cairo will now
+    yield doubly-encoded and thus broken strings.  Also, having
+    utf8-encoded literals in your code without an accompanying "use utf8"
+    line will also lead to double encoding.
+  * Fix compiling and testing against older versions of cairo.
+  * Make the test suite more robust.
+  * Removing perl-Cairo.diff
+
+-------------------------------------------------------------------

Old:
----
  Cairo-1.090.tar.gz
  perl-Cairo.diff

New:
----
  Cairo-1.103.tar.gz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ perl-Cairo.spec ++++++
--- /var/tmp/diff_new_pack.mCK223/_old  2013-06-07 10:05:42.000000000 +0200
+++ /var/tmp/diff_new_pack.mCK223/_new  2013-06-07 10:05:42.000000000 +0200
@@ -1,7 +1,7 @@
 #
 # spec file for package perl-Cairo
 #
-# Copyright (c) 2012 SUSE LINUX Products GmbH, Nuernberg, Germany.
+# Copyright (c) 2013 SUSE LINUX Products GmbH, Nuernberg, Germany.
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -17,68 +17,47 @@
 
 
 Name:           perl-Cairo
-Version:        1.090
+Version:        1.103
 Release:        0
 %define cpan_name Cairo
-Summary:        Perl interface to the cairo library
+Summary:        Perl interface to the cairo 2d vector graphics library
 License:        LGPL-2.1+
 Group:          Development/Libraries/Perl
 Url:            http://search.cpan.org/dist/Cairo/
-#Source:         http://www.cpan.org/authors/id/T/TS/TSCH/Cairo-1.061.tar.gz
-Source:         %{cpan_name}-%{version}.tar.gz
-Patch:          perl-Cairo.diff
+Source:         
http://www.cpan.org/authors/id/X/XA/XAOC/%{cpan_name}-%{version}.tar.gz
+BuildRoot:      %{_tmppath}/%{name}-%{version}-build
 BuildRequires:  perl
 BuildRequires:  perl-macros
 BuildRequires:  pkgconfig
 BuildRequires:  perl(ExtUtils::Depends) >= 0.2
 BuildRequires:  perl(ExtUtils::PkgConfig) >= 1
-BuildRequires:  perl(Test::Number::Delta) >= 1
 BuildRequires:  pkgconfig(cairo)
-#
-Requires:       perl(ExtUtils::Depends) >= 0.2
-Requires:       perl(ExtUtils::PkgConfig) >= 1
-BuildRoot:      %{_tmppath}/%{name}-%{version}-build
+#BuildRequires: perl(Cairo)
+#BuildRequires: perl(Cairo::Context)
+#BuildRequires: perl(Glib)
+#BuildRequires: perl(Pango)
 %{perl_requires}
 
 %description
-Cairo provides Perl bindings for the vector graphics library cairo.
-It supports multiple output targets, including PNG, PDF and SVG.
-Cairo produces identical output on all those targets.
+Perl interface to the cairo 2d vector graphics library
 
 %prep
 %setup -q -n %{cpan_name}-%{version}
-%patch
 
 %build
-#disable some randomly failing tests
-mv t/Cairo.t t/Cairo.tt
-mv t/CairoFont.t t/CairoFont.tt
-perl Makefile.PL INSTALLDIRS=vendor OPTIMIZE="%{optflags}"
-make %{?_smp_mflags}
+%{__perl} Makefile.PL INSTALLDIRS=vendor OPTIMIZE="%{optflags}"
+%{__make} %{?_smp_mflags}
 
 %check
-make test
+%{__make} test
 
 %install
 %perl_make_install
-### since 11.4 perl_process_packlist
-### removes .packlist, perllocal.pod files
-%if 0%{?suse_version} > 1130
 %perl_process_packlist
-%else
-# do not perl_process_packlist
-# remove .packlist file
-rm -f %{buildroot}%perl_vendorarch/auto/Cairo/.packlist
-# remove perllocal.pod file
-rm -f %{buildroot}%perl_archlib/perllocal.pod
-%endif
 %perl_gen_filelist
 
-%clean
-rm -rf %{buildroot}
-
 %files -f %{name}.files
-%defattr(-,root,root,-)
-%doc LICENSE NEWS README TODO examples
+%defattr(-,root,root,755)
+%doc cairo-perl.typemap ChangeLog.pre-git doctypes examples LICENSE NEWS 
perl-Cairo.doap README TODO
 
 %changelog

++++++ Cairo-1.090.tar.gz -> Cairo-1.103.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Cairo-1.090/Cairo.xs new/Cairo-1.103/Cairo.xs
--- old/Cairo-1.090/Cairo.xs    2012-01-20 07:46:51.000000000 +0100
+++ new/Cairo-1.103/Cairo.xs    2013-02-03 07:07:45.000000000 +0100
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2004-2012 by the cairo perl team (see the file README)
+ * Copyright (c) 2004-2013 by the cairo perl team (see the file README)
  *
  * Licensed under the LGPL, see LICENSE file for more information.
  *
@@ -428,6 +428,7 @@
 # The VERSION fallback is implemented in lib/Cairo.pm.
 int LIB_VERSION (...)
     CODE:
+       PERL_UNUSED_VAR (items);
        RETVAL = CAIRO_VERSION;
     OUTPUT:
        RETVAL
@@ -438,6 +439,7 @@
     PREINIT:
        int major, minor, micro;
     CODE:
+       PERL_UNUSED_VAR (ix);
        if (items == 3) {
                major = SvIV (ST (0));
                minor = SvIV (ST (1));
@@ -460,6 +462,8 @@
        lib_version = 1
     C_ARGS:
        /* void */
+    CLEANUP:
+       PERL_UNUSED_VAR (ix);
 
 # const char* cairo_version_string ();
 const char* cairo_version_string (class=NULL)
@@ -467,6 +471,8 @@
        lib_version_string = 1
     C_ARGS:
        /* void */
+    CLEANUP:
+       PERL_UNUSED_VAR (ix);
 
 # ---------------------------------------------------------------------------- 
#
 
@@ -656,7 +662,7 @@
 
 void cairo_reset_clip (cairo_t *cr);
 
-void cairo_select_font_face (cairo_t *cr, const char *family, 
cairo_font_slant_t slant, cairo_font_weight_t weight);
+void cairo_select_font_face (cairo_t *cr, const char_utf8 *family, 
cairo_font_slant_t slant, cairo_font_weight_t weight);
 
 void cairo_set_font_size (cairo_t *cr, double size);
 
@@ -694,7 +700,7 @@
 
 #endif
 
-void cairo_show_text (cairo_t * cr, const char * utf8);
+void cairo_show_text (cairo_t * cr, const char_utf8 * utf8);
 
 ##void cairo_show_glyphs (cairo_t * cr, cairo_glyph_t * glyphs, int 
num_glyphs);
 void cairo_show_glyphs (cairo_t * cr, ...)
@@ -727,6 +733,7 @@
        if (!cairo_perl_sv_is_array_ref (clusters_sv))
                croak ("text clusters must be an array ref");
 
+       sv_utf8_upgrade (utf8_sv);
        utf8 = SvPV (utf8_sv, utf8_len);
 
        glyphs_av = (AV *) SvRV (glyphs_sv);
@@ -771,8 +778,8 @@
 
 void cairo_set_font_face (cairo_t *cr, cairo_font_face_t *font_face);
 
-##void cairo_text_extents (cairo_t * cr, const unsigned char * utf8, 
cairo_text_extents_t * extents);
-cairo_text_extents_t * cairo_text_extents (cairo_t * cr, const char * utf8)
+##void cairo_text_extents (cairo_t * cr, const char * utf8, 
cairo_text_extents_t * extents);
+cairo_text_extents_t * cairo_text_extents (cairo_t * cr, const char_utf8 * 
utf8)
     PREINIT:
        cairo_text_extents_t extents;
     CODE:
@@ -798,7 +805,7 @@
     OUTPUT:
        RETVAL
 
-void cairo_text_path  (cairo_t * cr, const char * utf8);
+void cairo_text_path  (cairo_t * cr, const char_utf8 * utf8);
 
 ##void cairo_glyph_path (cairo_t * cr, cairo_glyph_t * glyphs, int num_glyphs);
 void cairo_glyph_path (cairo_t * cr, ...)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Cairo-1.090/CairoFont.xs new/Cairo-1.103/CairoFont.xs
--- old/Cairo-1.090/CairoFont.xs        2011-11-27 08:56:45.000000000 +0100
+++ new/Cairo-1.103/CairoFont.xs        2012-04-28 21:56:21.000000000 +0200
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2004-2005 by the cairo perl team (see the file README)
+ * Copyright (c) 2004-2005, 2012 by the cairo perl team (see the file README)
  *
  * Licensed under the LGPL, see LICENSE file for more information.
  *
@@ -28,8 +28,12 @@
 
            /* These aren't wrapped yet: */
            case CAIRO_FONT_TYPE_WIN32:
+#if CAIRO_VERSION >= CAIRO_VERSION_ENCODE(1, 6, 0)
            case CAIRO_FONT_TYPE_QUARTZ:
+#endif
+#if CAIRO_VERSION >= CAIRO_VERSION_ENCODE(1, 8, 0)
            case CAIRO_FONT_TYPE_USER:
+#endif
                package = "Cairo::FontFace";
                break;
 
@@ -41,7 +45,7 @@
 
        return package;
 #else
-       const char *package = cairo_perl_package_table_lookup (pattern);
+       const char *package = cairo_perl_package_table_lookup (face);
        return package ? package : "Cairo::FontFace";
 #endif
 }
@@ -81,11 +85,15 @@
 
 # cairo_font_face_t * cairo_toy_font_face_create (const char *family, 
cairo_font_slant_t slant, cairo_font_weight_t weight)
 cairo_font_face_t_noinc *
-cairo_toy_font_face_create (class, const char *family, cairo_font_slant_t 
slant, cairo_font_weight_t weight)
+cairo_toy_font_face_create (class, const char_utf8 *family, cairo_font_slant_t 
slant, cairo_font_weight_t weight)
     C_ARGS:
        family, slant, weight
+    POSTCALL:
+#if CAIRO_VERSION < CAIRO_VERSION_ENCODE(1, 2, 0)
+       cairo_perl_package_table_insert (RETVAL, "Cairo::ToyFontFace");
+#endif
 
-const char * cairo_toy_font_face_get_family (cairo_font_face_t *font_face);
+const char_utf8 * cairo_toy_font_face_get_family (cairo_font_face_t 
*font_face);
 
 cairo_font_slant_t  cairo_toy_font_face_get_slant (cairo_font_face_t 
*font_face);
 
@@ -101,6 +109,10 @@
 cairo_scaled_font_t_noinc * cairo_scaled_font_create (class, cairo_font_face_t 
*font_face, const cairo_matrix_t *font_matrix, const cairo_matrix_t *ctm, const 
cairo_font_options_t *options)
     C_ARGS:
        font_face, font_matrix, ctm, options
+    POSTCALL:
+#if CAIRO_VERSION < CAIRO_VERSION_ENCODE(1, 2, 0)
+       cairo_perl_package_table_insert (RETVAL, "Cairo::ScaledFont");
+#endif
 
 cairo_status_t cairo_scaled_font_status (cairo_scaled_font_t *scaled_font);
 
@@ -123,7 +135,7 @@
 #if CAIRO_VERSION >= CAIRO_VERSION_ENCODE(1, 2, 0)
 
 ##void cairo_scaled_font_text_extents (cairo_scaled_font_t *scaled_font, const 
char *utf8, cairo_text_extents_t *extents);
-cairo_text_extents_t * cairo_scaled_font_text_extents (cairo_scaled_font_t 
*scaled_font, const char *utf8)
+cairo_text_extents_t * cairo_scaled_font_text_extents (cairo_scaled_font_t 
*scaled_font, const char_utf8 *utf8)
     PREINIT:
        cairo_text_extents_t extents;
     CODE:
@@ -166,6 +178,7 @@
        cairo_text_cluster_flags_t cluster_flags;
        cairo_status_t status;
     PPCODE:
+       sv_utf8_upgrade (utf8_sv);
        utf8 = SvPV (utf8_sv, utf8_len);
        status = cairo_scaled_font_text_to_glyphs (
                   scaled_font,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Cairo-1.090/CairoPath.xs new/Cairo-1.103/CairoPath.xs
--- old/Cairo-1.090/CairoPath.xs        2011-11-27 08:56:45.000000000 +0100
+++ new/Cairo-1.103/CairoPath.xs        2012-12-07 23:45:06.000000000 +0100
@@ -323,6 +323,17 @@
 
 MODULE = Cairo::Path   PACKAGE = Cairo::Path::Data
 
+#if PERL_REVISION <= 5 && PERL_VERSION <= 6
+
+void DESTROY (SV * sv)
+    CODE:
+       /* Unset mg_ptr to prevent perl 5.6.x from trying to free it. */
+       MAGIC *mg = cairo_perl_mg_find (SvRV (sv), PERL_MAGIC_ext);
+       if (mg)
+               mg->mg_ptr = NULL;
+
+#endif /* 5.6.x */
+
 SV * FETCH (SV * sv, const char * key)
     PREINIT:
        cairo_path_data_t * data;
@@ -387,6 +398,17 @@
 
 MODULE = Cairo::Path   PACKAGE = Cairo::Path::Points
 
+#if PERL_REVISION <= 5 && PERL_VERSION <= 6
+
+void DESTROY (SV * sv)
+    CODE:
+       /* Unset mg_ptr to prevent perl 5.6.x from trying to free it. */
+       MAGIC *mg = cairo_perl_mg_find (SvRV (sv), PERL_MAGIC_ext);
+       if (mg)
+               mg->mg_ptr = NULL;
+
+#endif /* 5.6.x */
+
 IV FETCHSIZE (SV * sv)
     PREINIT:
        cairo_path_data_t * data;
@@ -435,6 +457,17 @@
 
 MODULE = Cairo::Path   PACKAGE = Cairo::Path::Point
 
+#if PERL_REVISION <= 5 && PERL_VERSION <= 6
+
+void DESTROY (SV * sv)
+    CODE:
+       /* Unset mg_ptr to prevent perl 5.6.x from trying to free it. */
+       MAGIC *mg = cairo_perl_mg_find (SvRV (sv), PERL_MAGIC_ext);
+       if (mg)
+               mg->mg_ptr = NULL;
+
+#endif /* 5.6.x */
+
 IV FETCHSIZE (sv)
     CODE:
        RETVAL = 2;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Cairo-1.090/CairoSurface.xs 
new/Cairo-1.103/CairoSurface.xs
--- old/Cairo-1.090/CairoSurface.xs     2011-11-27 08:56:45.000000000 +0100
+++ new/Cairo-1.103/CairoSurface.xs     2012-06-19 02:37:59.000000000 +0200
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2004-2006 by the cairo perl team (see the file README)
+ * Copyright (c) 2004-2006, 2012 by the cairo perl team (see the file README)
  *
  * Licensed under the LGPL, see LICENSE file for more information.
  *
@@ -17,10 +17,10 @@
 static HV *pointer_to_package = NULL;
 
 /* A hex character represents four bits in the address of a pointer, so we'll
- * need BITS_PER_LONG/4 characters.  That's sizeof (long) * 2.  Add 2 for the
- * "0x" part.  Add 1 for the trailing \0.  Reasoning courtesy of Robert Love.
+ * need BITS_PER_POINTER/4 characters.  That's sizeof (void*) * 2.  Add 2 for
+ * the "0x" part.  Add 1 for the trailing \0.
  */
-#define MAX_KEY_LENGTH ((sizeof(long) * 2) + 2 + 1)
+#define MAX_KEY_LENGTH ((sizeof(void*) * 2) + 2 + 1)
 
 /* This stuff is also used in CairoPattern.xs, hence no static on the
  * functions.
@@ -98,9 +98,13 @@
            case CAIRO_SURFACE_TYPE_WIN32:
            case CAIRO_SURFACE_TYPE_BEOS:
            case CAIRO_SURFACE_TYPE_DIRECTFB:
+#if CAIRO_VERSION >= CAIRO_VERSION_ENCODE(1, 4, 0)
            case CAIRO_SURFACE_TYPE_OS2:
+#endif
+#if CAIRO_VERSION >= CAIRO_VERSION_ENCODE(1, 6, 0)
            case CAIRO_SURFACE_TYPE_WIN32_PRINTING:
            case CAIRO_SURFACE_TYPE_QUARTZ_IMAGE:
+#endif
 #if CAIRO_VERSION >= CAIRO_VERSION_ENCODE(1, 10, 0)
            case CAIRO_SURFACE_TYPE_SCRIPT:
            case CAIRO_SURFACE_TYPE_QT:
@@ -275,7 +279,10 @@
                SvREFCNT_dec (sv);
        } else {
                SV *retval = POPs;
-               memcpy (data, SvPV_nolen (retval), sv_len (retval));
+               STRLEN len = 0;
+               const char *sv_data = SvPV (retval, len);
+               /* should we assert that len == length? */
+               memcpy (data, sv_data, len);
        }
 
        PUTBACK;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Cairo-1.090/MANIFEST new/Cairo-1.103/MANIFEST
--- old/Cairo-1.090/MANIFEST    2012-01-20 08:05:24.000000000 +0100
+++ new/Cairo-1.103/MANIFEST    2013-02-03 07:37:57.000000000 +0100
@@ -40,6 +40,7 @@
 perl-Cairo.doap
 ppport.h
 README
+t/00-loading.t
 t/Cairo.t
 t/CairoFont.t
 t/CairoFt.t
@@ -49,4 +50,5 @@
 t/CairoRegion.t
 t/CairoSurface.t
 TODO
-META.yml                                 Module meta-data (added by MakeMaker)
+META.yml                                 Module YAML meta-data (added by 
MakeMaker)
+META.json                                Module JSON meta-data (added by 
MakeMaker)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Cairo-1.090/META.json new/Cairo-1.103/META.json
--- old/Cairo-1.090/META.json   1970-01-01 01:00:00.000000000 +0100
+++ new/Cairo-1.103/META.json   2013-02-03 07:37:57.000000000 +0100
@@ -0,0 +1,56 @@
+{
+   "abstract" : "Perl interface to the cairo 2d vector graphics library",
+   "author" : [
+      "Cairo Perl Team <gtk-perl-list at gnome dot org>"
+   ],
+   "dynamic_config" : 1,
+   "generated_by" : "ExtUtils::MakeMaker version 6.62, CPAN::Meta::Converter 
version 2.112150",
+   "license" : [
+      "lgpl_2_1"
+   ],
+   "meta-spec" : {
+      "url" : "http://search.cpan.org/perldoc?CPAN::Meta::Spec";,
+      "version" : "2"
+   },
+   "name" : "Cairo",
+   "no_index" : {
+      "directory" : [
+         "t",
+         "inc"
+      ],
+      "file" : [
+         "inc/MakeHelper.pm"
+      ]
+   },
+   "prereqs" : {
+      "configure" : {
+         "requires" : {
+            "ExtUtils::Depends" : "0.2",
+            "ExtUtils::PkgConfig" : "1"
+         }
+      },
+      "test" : {
+         "recommends" : {
+            "Test::Number::Delta" : "1"
+         }
+      }
+   },
+   "release_status" : "stable",
+   "resources" : {
+      "bugtracker" : {
+         "mailto" : "bug-Cairo [at] rt.cpan.org",
+         "web" : "http://rt.cpan.org/Public/Dist/Display.html?Name=Cairo";
+      },
+      "homepage" : "http://gtk2-perl.sourceforge.net";,
+      "license" : [
+         "http://www.gnu.org/licenses/lgpl-2.1.html";
+      ],
+      "repository" : {
+         "type" : "git",
+         "url" : "git://git.gnome.org/perl-Cairo",
+         "web" : "http://git.gnome.org/browse/perl-Cairo";
+      },
+      "x_MailingList" : "https://mail.gnome.org/mailman/listinfo/gtk-perl-list";
+   },
+   "version" : "1.103"
+}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Cairo-1.090/META.yml new/Cairo-1.103/META.yml
--- old/Cairo-1.090/META.yml    2012-01-20 08:05:24.000000000 +0100
+++ new/Cairo-1.103/META.yml    2013-02-03 07:37:57.000000000 +0100
@@ -1,27 +1,28 @@
---- #YAML:1.0
-name:               Cairo
-version:            1.090
-abstract:           Perl interface to the cairo 2d vector graphics library
-author:  []
-license:            unknown
-distribution_type:  module
+---
+abstract: 'Perl interface to the cairo 2d vector graphics library'
+author:
+  - 'Cairo Perl Team <gtk-perl-list at gnome dot org>'
+build_requires: {}
 configure_requires:
-    ExtUtils::Depends:    0.2
-    ExtUtils::MakeMaker:  0
-    ExtUtils::PkgConfig:  1
-build_requires:
-    ExtUtils::MakeMaker:  0
-    Test::Number::Delta:  1
-requires:
-    ExtUtils::Depends:    0.2
-    ExtUtils::PkgConfig:  1
-no_index:
-    directory:
-        - t
-        - inc
-    files:
-        - inc/MakeHelper.pm
-generated_by:       ExtUtils::MakeMaker version 6.57_05
+  ExtUtils::Depends: 0.2
+  ExtUtils::PkgConfig: 1
+dynamic_config: 1
+generated_by: 'ExtUtils::MakeMaker version 6.62, CPAN::Meta::Converter version 
2.112150'
+license: lgpl
 meta-spec:
-    url:      http://module-build.sourceforge.net/META-spec-v1.4.html
-    version:  1.4
+  url: http://module-build.sourceforge.net/META-spec-v1.4.html
+  version: 1.4
+name: Cairo
+no_index:
+  directory:
+    - t
+    - inc
+  file:
+    - inc/MakeHelper.pm
+resources:
+  bugtracker: http://rt.cpan.org/Public/Dist/Display.html?Name=Cairo
+  homepage: http://gtk2-perl.sourceforge.net
+  license: http://www.gnu.org/licenses/lgpl-2.1.html
+  repository: git://git.gnome.org/perl-Cairo
+  x_MailingList: https://mail.gnome.org/mailman/listinfo/gtk-perl-list
+version: 1.103
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Cairo-1.090/Makefile.PL new/Cairo-1.103/Makefile.PL
--- old/Cairo-1.090/Makefile.PL 2012-01-20 07:47:14.000000000 +0100
+++ new/Cairo-1.103/Makefile.PL 2012-12-07 23:45:06.000000000 +0100
@@ -24,6 +24,47 @@
        'ExtUtils::PkgConfig' => 1.0,
 );
 
+my %meta_merge = (
+        q(meta-spec)          => {
+            version => '2',
+            url     => 'http://search.cpan.org/perldoc?CPAN::Meta::Spec',
+        },
+        author              =>
+            ['Cairo Perl Team <gtk-perl-list at gnome dot org>'],
+        release_status      => 'stable',
+        # valid values: https://metacpan.org/module/CPAN::Meta::Spec#license
+        license             => 'lgpl_2_1',
+        resources => {
+            license     => 'http://www.gnu.org/licenses/lgpl-2.1.html',
+            homepage    => 'http://gtk2-perl.sourceforge.net',
+            x_MailingList =>
+                'https://mail.gnome.org/mailman/listinfo/gtk-perl-list',
+            bugtracker  => {
+                    web     =>
+                    'http://rt.cpan.org/Public/Dist/Display.html?Name=Cairo',
+                    mailto  => 'bug-Cairo [at] rt.cpan.org',
+            },
+            repository  => {
+                    url     => 'git://git.gnome.org/perl-Cairo',
+                    type    => 'git',
+                    web     => 'http://git.gnome.org/browse/perl-Cairo',
+            },
+        },
+        prereqs => {
+          configure => {
+            requires => {%prereqs}, # no direct ref for 5.14 compatibility
+          },
+          test => {
+            recommends => {
+              'Test::Number::Delta' => 1.0,
+            },
+          },
+        },
+        no_index            => {
+            file => [qw(inc/MakeHelper.pm)],
+        },
+);
+
 # ... thus we have to make sure they are installed.
 while ((my $module, my $version) = each(%prereqs)) {
        unless (eval "use $module $version; 1" ) {
@@ -321,9 +362,6 @@
                CAIRO_SURFACE_TYPE_BEOS
                CAIRO_SURFACE_TYPE_DIRECTFB
                CAIRO_SURFACE_TYPE_SVG
-               CAIRO_SURFACE_TYPE_OS2
-               CAIRO_SURFACE_TYPE_WIN32_PRINTING
-               CAIRO_SURFACE_TYPE_QUARTZ_IMAGE
        /];
 
        $enums{cairo_svg_version_t} = [qw/
@@ -354,6 +392,7 @@
        add_new_enum_values(
                cairo_status_t => [qw/CAIRO_STATUS_INVALID_INDEX
                                      CAIRO_STATUS_CLIP_NOT_REPRESENTABLE/],
+               cairo_surface_type_t => [qw/CAIRO_SURFACE_TYPE_OS2/],
        );
 
        push @exports, qw/newSVCairoRectangle
@@ -365,7 +404,8 @@
                cairo_font_type_t => [qw/CAIRO_FONT_TYPE_QUARTZ/],
                cairo_status_t => [qw/CAIRO_STATUS_TEMP_FILE_ERROR
                                      CAIRO_STATUS_INVALID_STRIDE/],
-
+               cairo_surface_type_t => [qw/CAIRO_SURFACE_TYPE_WIN32_PRINTING
+                                           CAIRO_SURFACE_TYPE_QUARTZ_IMAGE/],
        );
 
        $enums{cairo_ps_level_t} = [qw/
@@ -532,25 +572,16 @@
 $dep->save_config ('build/IFiles.pm');
 
 WriteMakefile (
-       NAME          => 'Cairo',
-       VERSION_FROM  => 'lib/Cairo.pm',
-       ABSTRACT_FROM => 'lib/Cairo.pm',
-       PREREQ_PM     => \%prereqs,
-       XSPROTOARG    => '-noprototypes',
-       FUNCLIST      => \@exports,
-       DL_FUNCS      => { Cairo=> [] },
-
-       $dep->get_makefile_vars,
-
-       META_MERGE => {
-               configure_requires => \%prereqs,
-               build_requires => {
-                       'Test::Number::Delta' => 1.0,
-               },
-               no_index => {
-                       files => [qw(inc/MakeHelper.pm)],
-               },
-        },
+    NAME          => 'Cairo',
+    #AUTHOR, LICENSE are now part of %meta_merge
+    VERSION_FROM  => 'lib/Cairo.pm',
+    ABSTRACT_FROM => 'lib/Cairo.pm',
+    PREREQ_PM     => \%prereqs,
+    XSPROTOARG    => '-noprototypes',
+    FUNCLIST      => \@exports,
+    DL_FUNCS      => { Cairo=> [] },
+    META_MERGE    => \%meta_merge,
+    $dep->get_makefile_vars,
 );
 
 sub MY::postamble
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Cairo-1.090/NEWS new/Cairo-1.103/NEWS
--- old/Cairo-1.090/NEWS        2012-01-20 07:54:11.000000000 +0100
+++ new/Cairo-1.103/NEWS        2013-02-03 07:07:45.000000000 +0100
@@ -1,3 +1,58 @@
+Overview of changes in Cairo 1.103
+==================================
+
+* Hush a few compiler warnings
+* Updated copyright date
+
+Overview of changes in Cairo 1.102
+==================================
+
+* Fix building with perl <= 5.14
+* Prevent crashes on exit with Cairo::Path on perl 5.6.
+
+Overview of changes in Cairo 1.101
+==================================
+
+* Properly specify our dependencies.
+* Fix some erroneous POD links.
+* Distribute a missing test file.
+
+Overview of changes in Cairo 1.100
+==================================
+
+Since 1.08x (the previous stable series)
+----------------------------------------
+* Make "use Cairo x.yyy" work.  This required renaming the old
+  Cairo::VERSION, a wrapper for CAIRO_VERSION, to Cairo::LIB_VERSION --
+  but we kept the old way of calling it working.  Cairo::version,
+  Cairo::version_string and Cairo::VERSION_ENCODE got the same treatment
+  for consistency.
+* Auto-upgrade strings to utf8.  Note that this means that calling
+  utf8::encode() on strings before passing them into Cairo will now
+  yield doubly-encoded and thus broken strings.  Also, having
+  utf8-encoded literals in your code without an accompanying "use utf8"
+  line will also lead to double encoding.
+* Expand and improve the README and META.yml files.
+* Many compilation and test suite fixes.
+
+Since 1.091
+-----------
+* Do not assume that sizeof(void*) == sizeof(long)
+* Calculate a string length more efficiently
+* added updated README text for RT#74870
+* Created %meta_merge which follows v2 of meta-spec
+
+Overview of changes in Cairo 1.091
+==================================
+
+* Auto-upgrade strings to utf8.  Note that this means that calling
+  utf8::encode() on strings before passing them into Cairo will now
+  yield doubly-encoded and thus broken strings.  Also, having
+  utf8-encoded literals in your code without an accompanying "use utf8"
+  line will also lead to double encoding.
+* Fix compiling and testing against older versions of cairo.
+* Make the test suite more robust.
+
 Overview of changes in Cairo 1.090
 ==================================
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Cairo-1.090/README new/Cairo-1.103/README
--- old/Cairo-1.090/README      2012-01-20 07:44:14.000000000 +0100
+++ new/Cairo-1.103/README      2012-07-04 08:50:39.000000000 +0200
@@ -47,11 +47,74 @@
   ExtUtils::PkgConfig >= 1.0
   Test::Number::Delta >= 1.0
 
+HOW TO CONTACT US
+-----------------
+Homepage:               http://gtk2-perl.sourceforge.net/
+Mailing list:           gtk-perl-list [at] gnome.org
+Mailing list archives:  https://mail.gnome.org/archives/gtk-perl-list/
+IRC:                    irc://irc.gnome.org/#gtk-perl
+E-mail bug submission via CPAN's RT:
+                bug-Cairo [at] rt.cpan.org
+Web bug submission via gnome.org's bugzilla:
+                http://bugzilla.gnome.org/enter_bug.cgi?product=gnome-perl
+
+Please do not contact any of the maintainers directly unless they ask you to.
+The first point of contact for questions/problems/issues should always be the
+mailing list.
+
 BUG REPORTS
 -----------
+For help with problems, please contact the mailing list (above).  If you
+already know you have a bug, please file it with one of the bug trackers
+below.  With any problems and/or bug reports, it's always helpful for the
+developers to have the following information:
+
+- A small script that demonstrates the problem; this is not required, however,
+  it will get your issue looked at much faster than a description of the
+  problem alone.
+- Version of Perl (perl -v)
+- Versions of Gtk2-Perl modules (Glib/Gtk2/Pango/Cairo)
+- Optional, but nice to have: versions of GTK+ libraries on your system
+  (libglib, libgtk+, libpango, libcairo, etc.)
+
+There are multiple project bug trackers, please choose the one you are most
+comfortable with using and/or already have an account for.
+
+Request Tracker:
+- submitting bugs via the Web (requires a PAUSE account/Bitcard):
+  https://rt.cpan.org/Public/Bug/Report.html?Queue=Cairo
+- submitting bugs via e-mail (open to anyone with e-mail):
+  bug-Cairo [at] rt.cpan.org
+
+Gnome's bugtracker:
+- report bugs to the 'gnome-perl' product (requires login)
+  http://bugzilla.gnome.org/enter_bug.cgi?product=gnome-perl
+
+PATCH SUBMISSION GUIDELINES
+---------------------------
+You can send us patches by...
+- E-mailing it to the mailing list (above); please use a pastebin service of
+  some kind for longer patchfiles (over say 20k in size).
+- Those with gnome.org Git ID's can push trivial patches to git directly; if
+  you're not sure what a trivial patch is, please ask first on the mailing
+  list prior to pushing your commit.
+
+OBTAINING SOURCE FROM THE GNOME.ORG GIT REPO
+--------------------------------------------
+Assuming you already have the 'git' command installed on your system, you can
+use the 'git://' protocol:
+
+git clone git://git.gnome.org/perl-Cairo
+
+Or, read-only access via HTTP:
+
+git clone http://git.gnome.org/browse/perl-Cairo
+
+To update an existing clone of the source:
+
+git pull
 
-Please report bugs to the gnome-perl product in GNOME's Bugzilla:
-<http://bugzilla.gnome.org/enter_bug.cgi?product=gnome-perl>
+Most Linux distros package the 'git' command in a package called 'git-core'.
 
 COPYRIGHT AND LICENSE
 ---------------------
@@ -61,16 +124,5 @@
 Ross McFarland           rwmcfa1 at neces dot com
 Torsten Schoenfeld       kaffeetisch at gmx dot de
 
-This library is free software; you can redistribute it and/or modify it under
-the terms of the GNU Library General Public License as published by the Free
-Software Foundation; either version 2.1 of the License, or (at your option) any
-later version.
-
-This library is distributed in the hope that it will be useful, but WITHOUT ANY
-WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
-PARTICULAR PURPOSE.  See the GNU Library General Public License for more
-details.
-
-You should have received a copy of the GNU Library General Public License along
-with this library; if not, write to the Free Software Foundation, Inc., 
-51 Franklin Street, Fifth Floor, Boston, MA 02110-1301  USA.
+See the LICENSE file in the top-level directory of this distribution for the
+full license terms.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Cairo-1.090/cairo-perl.h new/Cairo-1.103/cairo-perl.h
--- old/Cairo-1.090/cairo-perl.h        2011-11-27 08:56:45.000000000 +0100
+++ new/Cairo-1.103/cairo-perl.h        2012-04-28 21:56:21.000000000 +0200
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2004-2005 by the cairo perl team (see the file README)
+ * Copyright (c) 2004-2005, 2012 by the cairo perl team (see the file README)
  *
  * Licensed under the LGPL, see LICENSE file for more information.
  *
@@ -112,4 +112,9 @@
 #define newSVCairoFontFace(object)             (cairo_font_face_to_sv 
(cairo_font_face_reference (object)))
 #define newSVCairoFontFace_noinc(object)       (cairo_font_face_to_sv (object))
 
+/*
+ * Type aliases for the typemap
+ */
+typedef char char_utf8;
+
 #endif /* _CAIRO_PERL_H_ */
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Cairo-1.090/cairo-perl.typemap 
new/Cairo-1.103/cairo-perl.typemap
--- old/Cairo-1.090/cairo-perl.typemap  2011-11-27 08:56:45.000000000 +0100
+++ new/Cairo-1.103/cairo-perl.typemap  2012-04-28 21:56:21.000000000 +0200
@@ -1,10 +1,8 @@
 #
-# Copyright (c) 2004-2005 by the cairo perl team (see the file README)
+# Copyright (c) 2004-2012 by the cairo perl team (see the file README)
 #
 # Licensed under the LGPL, see LICENSE file for more information.
 #
-# $Id$
-#
 
 TYPEMAP
 
@@ -12,6 +10,9 @@
 # don't know const char *.
 const char *           T_PV
 
+char_utf8 *             T_PV_UTF8
+const char_utf8 *       T_PV_UTF8
+
 cairo_bool_t           T_UV
 
 cairo_font_extents_t * T_CAIRO_FONT_EXTENTS
@@ -22,9 +23,14 @@
 
 FT_Face                        T_FT_FACE
 
+# -----------------------------------------------------------------------------
 
 INPUT
 
+T_PV_UTF8
+       sv_utf8_upgrade ($arg);
+       $var = ($type) SvPV_nolen ($arg);
+
 T_CAIRO_GLYPH
        $var = SvCairoGlyph ($arg);
 
@@ -34,8 +40,14 @@
 T_CAIRO_PATH
        $var = SvCairoPath ($arg);
 
+# -----------------------------------------------------------------------------
+
 OUTPUT
 
+T_PV_UTF8
+       sv_setpv ((SV*)$arg, $var);
+       SvUTF8_on ($arg);
+
 T_CAIRO_FONT_EXTENTS
        $arg = newSVCairoFontExtents ($var);
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Cairo-1.090/examples/png/text.pl 
new/Cairo-1.103/examples/png/text.pl
--- old/Cairo-1.090/examples/png/text.pl        2011-11-27 08:56:45.000000000 
+0100
+++ new/Cairo-1.103/examples/png/text.pl        2012-04-28 21:56:21.000000000 
+0200
@@ -2,13 +2,14 @@
 
 use strict;
 use warnings;
+use utf8;
 use Cairo;
 
 use constant
 {
        WIDTH => 450,
        HEIGHT => 600,
-       TEXT => 'hello, world',
+       TEXT => 'hëllø, wôrld',
        NUM_GLYPHS => 10,
        M_PI => 4 * atan2(1, 1),
 };
@@ -19,7 +20,7 @@
 
        $cr->save;
 
-       my $extents = $cr->text_extents (TEXT);
+       my $extents = $cr->text_extents ($utf8);
        my $line_width = $cr->get_line_width;
        $cr->rectangle ($x + $extents->{x_bearing} - $line_width,
                        $y + $extents->{y_bearing} - $line_width,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Cairo-1.090/lib/Cairo.pm new/Cairo-1.103/lib/Cairo.pm
--- old/Cairo-1.090/lib/Cairo.pm        2012-01-20 08:04:11.000000000 +0100
+++ new/Cairo-1.103/lib/Cairo.pm        2013-02-03 07:07:45.000000000 +0100
@@ -1,5 +1,5 @@
 #
-# Copyright (c) 2004-2012 by the cairo perl team (see the file README)
+# Copyright (c) 2004-2013 by the cairo perl team (see the file README)
 #
 # Licensed under the LGPL, see LICENSE file for more information.
 #
@@ -14,7 +14,7 @@
 
 our @ISA = qw/DynaLoader/;
 
-our $VERSION = '1.090';
+our $VERSION = '1.103';
 
 sub dl_load_flags { $^O eq 'darwin' ? 0x00 : 0x01 }
 
@@ -1453,7 +1453,7 @@
 
 =over
 
-=item $callback: L<Cairo::WriteFunc>
+=item $callback: I<Cairo::WriteFunc>
 
 =item $callback_data: scalar
 
@@ -1525,7 +1525,7 @@
 
 =over
 
-=item $callback: L<Cairo::ReadFunc>
+=item $callback: I<Cairo::ReadFunc>
 
 =item $callback_data: scalar
 
@@ -1553,7 +1553,7 @@
 
 =over
 
-=item $callback: L<Cairo::WriteFunc>
+=item $callback: I<Cairo::WriteFunc>
 
 =item $callback_data: scalar
 
@@ -1585,7 +1585,7 @@
 
 =over
 
-=item $callback: L<Cairo::WriteFunc>
+=item $callback: I<Cairo::WriteFunc>
 
 =item $callback_data: scalar
 
@@ -1693,7 +1693,7 @@
 
 =over
 
-=item $callback: L<Cairo::WriteFunc>
+=item $callback: I<Cairo::WriteFunc>
 
 =item $callback_data: scalar
 
@@ -1742,7 +1742,7 @@
 
 =item $version_code = Cairo->LIB_VERSION
 
-Returns the version of libcairo that L<Cairo> was compiled against.
+Returns the version of libcairo that Cairo was compiled against.
 
 =item $version_code = Cairo->LIB_VERSION_ENCODE ($major, $minor, $micro)
 
@@ -1791,6 +1791,6 @@
 
 =head1 COPYRIGHT
 
-Copyright (C) 2004-2011 by the cairo perl team
+Copyright (C) 2004-2013 by the cairo perl team
 
 =cut
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Cairo-1.090/t/00-loading.t 
new/Cairo-1.103/t/00-loading.t
--- old/Cairo-1.090/t/00-loading.t      1970-01-01 01:00:00.000000000 +0100
+++ new/Cairo-1.103/t/00-loading.t      2012-01-20 07:48:20.000000000 +0100
@@ -0,0 +1,35 @@
+#!/usr/bin/perl
+#
+# Copyright (c) 2004-2012 by the cairo perl team (see the file README)
+#
+# Licensed under the LGPL, see LICENSE file for more information.
+#
+
+use strict;
+use warnings;
+
+use Test::More tests => 18;
+
+BEGIN {
+  ok (! eval "use Cairo 2.000; 1");
+  ok (eval "use Cairo 1.000; 1");
+}
+
+ok(defined Cairo::LIB_VERSION);
+ok(defined Cairo::LIB_VERSION_ENCODE (1, 0, 0));
+ok(defined Cairo->LIB_VERSION);
+ok(defined Cairo->LIB_VERSION_ENCODE (1, 0, 0));
+ok(defined Cairo::lib_version);
+ok(defined Cairo::lib_version_string);
+ok(defined Cairo->lib_version);
+ok(defined Cairo->lib_version_string);
+
+# Deprecated names:
+ok(defined Cairo::VERSION);
+ok(defined Cairo::VERSION_ENCODE (1, 0, 0));
+ok(defined Cairo->VERSION);
+ok(defined Cairo->VERSION_ENCODE (1, 0, 0));
+ok(defined Cairo::version);
+ok(defined Cairo::version_string);
+ok(defined Cairo->version);
+ok(defined Cairo->version_string);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Cairo-1.090/t/CairoFont.t 
new/Cairo-1.103/t/CairoFont.t
--- old/Cairo-1.090/t/CairoFont.t       2011-11-27 08:56:45.000000000 +0100
+++ new/Cairo-1.103/t/CairoFont.t       2012-04-28 21:56:21.000000000 +0200
@@ -62,17 +62,17 @@
 my $font = Cairo::ScaledFont->create ($face, $matrix, $ctm, $options);
 isa_ok ($font, 'Cairo::ScaledFont');
 
-$cr->set_scaled_font ($font);
-is ($font->status, 'success');
-is ($cr->status, 'success');
-
 isa_ok ($font->extents, 'HASH');
 isa_ok ($font->glyph_extents ({ index => 1, x => 2, y => 3 }), 'HASH');
 
 SKIP: {
-       skip 'new stuff', 6
+       skip 'new stuff', 8
                unless Cairo::VERSION >= Cairo::VERSION_ENCODE (1, 2, 0);
 
+       $cr->set_scaled_font ($font);
+       is ($font->status, 'success');
+       is ($cr->status, 'success');
+
        ok (defined $font->get_type);
 
        isa_ok ($font->text_extents('Bla'), 'HASH');
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Cairo-1.090/t/CairoPath.t 
new/Cairo-1.103/t/CairoPath.t
--- old/Cairo-1.090/t/CairoPath.t       2011-11-27 08:56:45.000000000 +0100
+++ new/Cairo-1.103/t/CairoPath.t       2012-04-28 21:56:21.000000000 +0200
@@ -1,6 +1,6 @@
 #!/usr/bin/perl
 #
-# Copyright (c) 2004-2011 by the cairo perl team (see the file README)
+# Copyright (c) 2004-2012 by the cairo perl team (see the file README)
 #
 # Licensed under the LGPL, see LICENSE file for more information.
 #
@@ -11,7 +11,7 @@
 use warnings;
 use Cairo;
 
-use Test::More tests => 6;
+use Test::More tests => 18;
 
 use constant IMG_WIDTH => 256;
 use constant IMG_HEIGHT => 256;
@@ -34,14 +34,7 @@
 ];
 
 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) {
@@ -51,21 +44,21 @@
   $_->[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};
@@ -80,9 +73,24 @@
     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->[$_]);
+  }
+}

-- 
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to