Fri Nov 24 16:02:21 2017 UTC ()
py-cairo: update to 1.15.4.

1.15.4 - 2017-11-08
-------------------

Fixes:
  * Fix some enum conversation errors with (unused) large and negative values.
    :pr:`81`

Tests:
  * Fix a rare test error :pr:`80` (:user:`Sergei Trofimovich <trofi>`)

.. _v1.15.3:

1.15.3 - 2017-09-17
-------------------

Fixes:
  * setup.py: Install pkgconfig file into /usr/share/pkgconfig to work around
    JHBuild on Fedora not picking it up.
  * Fix tests on big endian machines. :bug:`75`
  * Support building with MSVC :pr:`72` (:user:`Chun-wei Fan <fanc999>`)

Tests:
  * Test MSVC builds on appveyor

.. _v1.15.2:

1.15.2 - 2017-09-03
-------------------

Fixes:
  * setup.py: Install pkgconfig file to the same library prefix that Python
    uses. (/usr/lib64 instead of /usr/lib under Fedora for example) :bug:`70`
    :pr:`71` (:user:`Sander Sweers <infirit>`)

.. _v1.15.1:

1.15.1 - 2017-08-19
-------------------

Fixes:
  * Improved support for Python filesystem paths including
    :class:`os.PathLike`. See :class:`pathlike` for details.
  * Various minor fixes

Changes:
  * Expose :class:`cairo.Path`

Tests:
  * Improved test coverage from ~70% to ~90%

.. _v1.15.0:

1.15.0 - 2017-07-24
-------------------

New Features:
  * Add :meth:`Surface.map_to_image` and :meth:`Surface.unmap_image` :bug:`51`
  * Add :class:`RasterSourcePattern` :bug:`48`
  * Add :class:`Glyph` :bug:`53`
  * Add :class:`Rectangle` :bug:`54`
  * Add :class:`TextCluster` :bug:`61`
  * Add :meth:`ScaledFont.text_to_glyphs` and :meth:`ScaledFont.glyph_extents`
  * Add :meth:`Context.show_text_glyphs`
  * Add :class:`TextExtents` :bug:`62`

Changes:
  * Pycairo instances wrapping the same underlying cairo object now hash and
    compare equally e.g. ``context.get_target() == context.get_target()``
  * Functions which returned a cairo error with :attr:`Status.NO_MEMORY` no
    longer raise :exc:`python3:MemoryError`, but a subclass of :exc:`Error`
    and :exc:`python3:MemoryError`. Similarly errors with
    :attr:`Status.READ_ERROR` and :attr:`Status.WRITE_ERROR` no longer raise
    :exc:`python3:IOError`, but a subclass of :exc:`Error` and
    :exc:`python3:IOError`. :bug:`55`
  * Some functions which previously returned a tuple now return a tuple
    subclass like :class:`Rectangle`, :class:`Glyph`, :class:`TextCluster` and
    :class:`TextExtents`

.. _v1.14.1:

1.14.1 - 2017-07-24
-------------------

Fixes:
  * Fix a crash with :meth:`Surface.get_device` :bug:`57`

.. _v1.14.0:

1.14.0 - 2017-07-12
-------------------

General:
  * Requires at least cairo 1.13.1 (The snapshop in Ubuntu 14.04)

Tests:
  * Optional `Hypothesis <https://hypothesis.readthedocs.io>`__ tests.

New Features:
  * Add :meth:`Surface.set_device_scale` and :meth:`Surface.get_device_scale`.
    :pr:`44` (:user:`Sander Sweers <infirit>`)
  * Add :class:`Device` :pr:`45`
  * Add :meth:`Surface.get_device` :pr:`45`
  * Add :class:`ScriptDevice` and :class:`ScriptMode` :pr:`46`
  * Add :class:`ScriptSurface` :bug:`17`
  * Add :attr:`Status.JBIG2_GLOBAL_MISSING`
  * Add :meth:`Format.stride_for_width`
  * Add :class:`TextClusterFlags` and :class:`SurfaceObserverMode`
  * Add :meth:`Gradient.get_color_stops_rgba`
  * Add :class:`TeeSurface`
  * Add :class:`MeshPattern`

.. _v1.13.4:

1.13.4 - 2017-07-12
-------------------

Fixes:
  * Fix a rare crash with :meth:`get_data() <ImageSurface.get_data>` under
    Python 3 (1.13.3 regression).

.. _v1.13.3:

1.13.3 - 2017-06-01
-------------------

Fixes:
  * Fix ImageSurface leaking in case :meth:`get_data() <ImageSurface.get_data>` is used under Python 3.
    :bug:`41`

Documentation:
  * Add Pillow to ImageSurface example. :pr:`40` (:user:`Stuart Axon <stuaxo>`)
  * Describe Freetype-py intergration. :bug:`25` :pr:`43`
    (:user:`Hin-Tak Leung <HinTak>`)

.. _v1.13.2:

1.13.2 - 2017-05-21
-------------------

Fixes:
  * Fix pip failing to install pycairo in some cases. :bug:`39`

Testing:
  * Added continuous testing for Windows using MSYS2 and appveyor. :bug:`19`

.. _v1.13.1:

1.13.1 - 2017-05-07
-------------------

Fixes:
  * setup.py install: Fix generated pkg-config file if ``--home`` or
    ``--user`` is specified. :bug:`34`
  * Fix a build error on macOS Sierra. :pr:`36`
    (:user:`Nicolas P. Rougier <rougier>`)
  * examples: Fix snippet examples when .pyc files are present. :bug:`35`

Documentation:
  * Add Pyglet integration example. :pr:`33` (:user:`Stuart Axon <stuaxo>`)

.. _v1.13.0:

1.13.0 - 2017-05-03
-------------------

New Features:
  * The buffer returned by :meth:`ImageSurface.get_data` under Python 2 now
    implements the character buffer interface to make it work with
    pygame.image.frombuffer(). :pr:`29`
  * All C enum types now have their own corresponding Python enum type:
    :class:`Antialias`, :class:`Content`, :class:`Extend`, :class:`FillRule`,
    :class:`Filter`, :class:`FontSlant`, :class:`FontWeight`, :class:`Format`,
    :class:`HintMetrics`, :class:`HintStyle`, :class:`LineCap`,
    :class:`LineJoin`, :class:`Operator`, :class:`PDFVersion`,
    :class:`PSLevel`, :class:`PathDataType`, :class:`RegionOverlap`,
    :class:`SVGVersion`, :class:`Status`, :class:`SubpixelOrder`. :bug:`26`

    All relevant constants are now an alias to attributes of those types e.g.
    :data:`ANTIALIAS_DEFAULT` is the same as :attr:`Antialias.DEFAULT`.

    All functions returning enum values now return instances of the new types
    e.g. :meth:`Context.get_antialias` returns a :class:`Antialias`.

    :attr:`Error.status` is now a :class:`Status`.
  * All included examples now work with Python 2 & 3
  * All included examples using GTK+ have been ported to GTK+ 3/PyGObject 3

Fixes:
  * Fix the signature of the :class:`ImageSurface` buffer interface for Python 2
    (int -> Py_ssize_t)
  * setup.py: Ensure "-fno-strict-aliasing" is used with Python 2.

Testing:
  * Added travis-ci tests for flake8 and sphinx. :pr:`30`, :pr:`32`
  * The test suite now has optional tests for numpy and pygame integration.

.. _v1.12.0:

1.12.0 - 2017-04-18
-------------------

General:
  * Require cairo 1.12.0
  * Use C90 and enforce it on travis-ci. :bug:`5`, :fdobug:`22940`

Constants:
  * Add various new cairo.OPERATOR_*, cairo.ANTIALIAS_* and
    cairo.FORMAT_* constants. :bug:`1`
  * Add :data:`HAS_MIME_SURFACE` and cairo.MIME_TYPE_*. :bug:`7`,
    :fdobug:`58771`
  * Add cairo.PDF_VERSION_*. :pr:`16`
  * Add cairo.SVG_VERSION_*

:exc:`Error`:
  * Add a :data:`Error.status` attribute exposing cairo.STATUS_*
  * Add :exc:`CairoError` alias for :exc:`Error` for cairocffi compatibility

:class:`Matrix`:
  * Expose matrix components as read/write properties. e.g. :data:`Matrix.xx`
  * Fix type checking of the multiplication operator under
    Python 3. :bug:`8`, :fdobug:`89162` (Lawrence D'Oliveiro)

:class:`Surface`:
  * Add :meth:`Surface.set_mime_data`. :bug:`7`, :fdobug:`58771`
  * Add :meth:`Surface.get_mime_data`. :bug:`7`, :fdobug:`58771`
  * Add :meth:`Surface.supports_mime_type`. :bug:`7`, :fdobug:`58771`
  * Add :meth:`Surface.create_for_rectangle`. :pr:`13`
  * Add :meth:`Surface.create_similar_image`. :pr:`15`
  * Add :meth:`Surface.has_show_text_glyphs`
  * Fix crash when the surface wrapper gets deallocated before the surface
    object. :bug:`11`

:class:`Context`:
  * Add :meth:`Context.in_clip`. :pr:`14`

:class:`PDFSurface`:
  * Add :meth:`PDFSurface.restrict_to_version`. :pr:`16`
  * Add :meth:`PDFSurface.get_versions`. :pr:`16`
  * Add :meth:`PDFSurface.version_to_string`. :pr:`16`

:class:`SVGSurface`:
  * Add :meth:`SVGSurface.restrict_to_version`
  * Add :meth:`SVGSurface.get_versions`
  * Add :meth:`SVGSurface.version_to_string`

:class:`XCBSurface`:
  * Add :meth:`XCBSurface.set_size`

:class:`PSSurface`:
  * Add :meth:`PSSurface.get_levels`
  * Add :meth:`PSSurface.level_to_string`

:class:`Pattern`:
  * Add :meth:`Pattern.set_filter`
  * Add :meth:`Pattern.get_filter`

:class:`RecordingSurface`:
  * Add :meth:`RecordingSurface.get_extents`

:class:`FontOptions`:
  * Implement ``__eq__`` and ``__ne__``
  * Add :meth:`FontOptions.copy`
  * Add :meth:`FontOptions.hash`
  * Add :meth:`FontOptions.equal`
  * Add :meth:`FontOptions.merge`

:class:`ScaledFont`:
  * Add :meth:`ScaledFont.get_ctm`
  * Add :meth:`ScaledFont.get_font_matrix`
  * Add :meth:`ScaledFont.get_font_options`

.. _v1.11.1:

1.11.1 - 2017-04-12
-------------------

This release fixes an ABI breakage. I missed that the original pycairo master
had already broken ABI compared to 1.10.0.

.. _v1.11.0:

1.11.0 - 2017-04-09
-------------------

This version is based on the Python 2 version of pycairo 1.10.0 and is API/ABI
compatible with both py2cairo 1.10.0 and py3cairo 1.10.0.

General Changes:
    * Requires cairo 1.10.2+
    * Switch to semantic versioning
    * Switch build system to distutils/setup.py (xpyb integration can be
      enabled with passing ``--enable-xpyb`` to setup.py build)
    * Moved to GitHub: https://github.com/pygobject/pycairo

New Features:
    * Python 3 support (API/ABI compatible with py3cairo 1.10.0) including
      support for :exc:`cairo.Error`, :meth:`cairo.ImageSurface.get_data` and
      :meth:`cairo.ImageSurface.create_for_data`, which were missing in
      py3cairo.
    * :class:`cairo.RecordingSurface` (:fdobug:`36854`,
      `Torsten Landschoff <t.landschoff@gmx.net>`__)
    * :class:`cairo.Region`, :class:`cairo.RectangleInt` and
      cairo.REGION_OVERLAP_*
      (:fdobug:`44336`, `Bug Fly <mozbugbox@yahoo.com.au>`__)

Bug Fixes:
    * Fix crash when read()/write() methods of file objects passed to pycairo
      raise exceptions.
    * Fix possible value truncation of handles passed to Win32Surface and
      Win32PrintingSurface on 64bit Windows. :fdobug:`57493`


(wiz)
diff -r1.2 -r1.3 pkgsrc/graphics/py-cairo/DESCR
diff -r1.2 -r1.3 pkgsrc/graphics/py-cairo/PLIST
diff -r1.50 -r1.51 pkgsrc/graphics/py-cairo/Makefile
diff -r1.17 -r1.18 pkgsrc/graphics/py-cairo/distinfo

cvs diff -r1.2 -r1.3 pkgsrc/graphics/py-cairo/DESCR (expand / switch to unified diff)

--- pkgsrc/graphics/py-cairo/DESCR 2014/01/23 11:12:43 1.2
+++ pkgsrc/graphics/py-cairo/DESCR 2017/11/24 16:02:21 1.3
@@ -1,6 +1,4 @@ @@ -1,6 +1,4 @@
1Cairo is a 2D graphics library with support for multiple output 1Cairo is a 2D graphics library with support for multiple output
2devices. Currently supported output targets include the X Window 2devices. Currently supported output targets include the X Window
3System, win32, and image buffers. Experimental backends include OpenGL 3System, win32, and image buffers. Experimental backends include OpenGL
4(through glitz), Quartz, XCB, PostScript and PDF file output. 4(through glitz), Quartz, XCB, PostScript and PDF file output.
5 
6This package contains the Python bindings for Cairo for Python 2.x. 

cvs diff -r1.2 -r1.3 pkgsrc/graphics/py-cairo/PLIST (expand / switch to unified diff)

--- pkgsrc/graphics/py-cairo/PLIST 2009/06/14 17:59:26 1.2
+++ pkgsrc/graphics/py-cairo/PLIST 2017/11/24 16:02:21 1.3
@@ -1,7 +1,10 @@ @@ -1,7 +1,10 @@
1@comment $NetBSD: PLIST,v 1.2 2009/06/14 17:59:26 joerg Exp $ 1@comment $NetBSD: PLIST,v 1.3 2017/11/24 16:02:21 wiz Exp $
2include/pycairo/pycairo.h 2${PYSITELIB}/${EGG_FILE}
3lib/pkgconfig/pycairo.pc 
4${PYSITELIB}/cairo/__init__.py 3${PYSITELIB}/cairo/__init__.py
5${PYSITELIB}/cairo/__init__.pyc 4${PYSITELIB}/cairo/__init__.pyc
6${PYSITELIB}/cairo/__init__.pyo 5${PYSITELIB}/cairo/__init__.pyo
7${PYSITELIB}/cairo/_cairo.la 6${PYSITELIB}/cairo/_cairo.so
 7${PLIST.py2x}include/pycairo/pycairo.h
 8${PLIST.py3x}include/pycairo/py3cairo.h
 9${PLIST.py2x}share/pkgconfig/pycairo.pc
 10${PLIST.py3x}share/pkgconfig/py3cairo.pc

cvs diff -r1.50 -r1.51 pkgsrc/graphics/py-cairo/Makefile (expand / switch to unified diff)

--- pkgsrc/graphics/py-cairo/Makefile 2017/01/01 14:43:42 1.50
+++ pkgsrc/graphics/py-cairo/Makefile 2017/11/24 16:02:21 1.51
@@ -1,38 +1,20 @@ @@ -1,38 +1,20 @@
1# $NetBSD: Makefile,v 1.50 2017/01/01 14:43:42 wiz Exp $ 1# $NetBSD: Makefile,v 1.51 2017/11/24 16:02:21 wiz Exp $
2 2
3DISTNAME= py2cairo-1.10.0 3DISTNAME= pycairo-1.15.4
4PKGNAME= ${PYPKGPREFIX}-${DISTNAME:S/py2//} 4PKGNAME= ${PYPKGPREFIX}-${DISTNAME:S/py//}
5PKGREVISION= 4 
6CATEGORIES= graphics 5CATEGORIES= graphics
7MASTER_SITES= http://cairographics.org/releases/ 6MASTER_SITES= ${MASTER_SITE_GITHUB:=pygobject/}
8EXTRACT_SUFX= .tar.bz2 7GITHUB_PROJECT= pycairo
 8GITHUB_RELEASE= v${PKGVERSION_NOREV}
9 9
10MAINTAINER= leuzi@trash.net 10MAINTAINER= leuzi@trash.net
11HOMEPAGE= http://cairographics.org/pycairo/ 11HOMEPAGE= http://cairographics.org/pycairo/
12COMMENT= Python bindings for cairo (python-2.x version) 12COMMENT= Python bindings for cairo
13LICENSE= gnu-lgpl-v2.1 OR mpl-1.1 13LICENSE= gnu-lgpl-v2.1 OR mpl-1.1
14 14
15USE_PKGLOCALEDIR= yes 15USE_TOOLS+= pkg-config
16USE_LIBTOOL= yes 
17USE_TOOLS+= aclocal automake pkg-config 
18GNU_CONFIGURE= yes 
19CONFIGURE_ENV+= PYTHON=${PYTHONBIN:Q} 
20 16
21PKGCONFIG_OVERRIDE+= pycairo.pc.in 17BUILDLINK_API_DEPENDS.cairo+= cairo>=1.13.1
22PY_PATCHPLIST= yes 
23PYTHON_VERSIONS_INCOMPATIBLE= 34 35 36 
24 
25post-extract: 
26 cd ${WRKSRC} && touch ChangeLog && aclocal && automake -a 
27 
28.include "../../mk/compiler.mk" 
29 
30.if !empty(CC_VERSION:Mgcc-2*) || \ 
31 ${OPSYS} == "SunOS" 
32BUILDLINK_TRANSFORM+= rm:-std=c99 
33.endif 
34 
35.include "../../lang/python/extension.mk" 
36BUILDLINK_API_DEPENDS.cairo+= cairo>=1.10 
37.include "../../graphics/cairo/buildlink3.mk" 18.include "../../graphics/cairo/buildlink3.mk"
 19.include "../../lang/python/distutils.mk"
38.include "../../mk/bsd.pkg.mk" 20.include "../../mk/bsd.pkg.mk"

cvs diff -r1.17 -r1.18 pkgsrc/graphics/py-cairo/distinfo (expand / switch to unified diff)

--- pkgsrc/graphics/py-cairo/distinfo 2015/11/03 21:34:16 1.17
+++ pkgsrc/graphics/py-cairo/distinfo 2017/11/24 16:02:21 1.18
@@ -1,6 +1,6 @@ @@ -1,6 +1,6 @@
1$NetBSD: distinfo,v 1.17 2015/11/03 21:34:16 agc Exp $ 1$NetBSD: distinfo,v 1.18 2017/11/24 16:02:21 wiz Exp $
2 2
3SHA1 (py2cairo-1.10.0.tar.bz2) = 2efa8dfafbd6b8e492adaab07231556fec52d6eb 3SHA1 (pycairo-1.15.4.tar.gz) = f1848d6673f47c1703fc2d1094c781b3f65faac7
4RMD160 (py2cairo-1.10.0.tar.bz2) = ce75db9af32ef1a3e90f6aaa649cbb2493a941a4 4RMD160 (pycairo-1.15.4.tar.gz) = b6b753dd9a16e0bf86e7d07375bb38ba056b5ab4
5SHA512 (py2cairo-1.10.0.tar.bz2) = cb3d54de9af4134460ce731da8166a3127a642c8a2e6184109437ddec115cd55b8dd2413a5c81700277bfe2f22fcfe268db4f3ba0f7649751e85bb34295f79fc 5SHA512 (pycairo-1.15.4.tar.gz) = 7e785d23393a8d0c5aca9a4440eb64b0eca9a60c1a18b0dc8452edd6de9422c743d082530387bcbedd34d52377d0892ad395998e9467ba08e22c318684cbee34
6Size (py2cairo-1.10.0.tar.bz2) = 402070 bytes 6Size (pycairo-1.15.4.tar.gz) = 178436 bytes