Commit graph

52 commits

Author SHA1 Message Date
wiz
d630cfea88 py-cairo: install pkgconfig in pkgsrc standard location
Bump PKGREVISION.
2017-11-25 09:16:13 +00:00
wiz
b54d498aca 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. 🐛`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) 🐛`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` 🐛`51`
  * Add :class:`RasterSourcePattern` 🐛`48`
  * Add :class:`Glyph` 🐛`53`
  * Add :class:`Rectangle` 🐛`54`
  * Add :class:`TextCluster` 🐛`61`
  * Add :meth:`ScaledFont.text_to_glyphs` and :meth:`ScaledFont.glyph_extents`
  * Add :meth:`Context.show_text_glyphs`
  * Add :class:`TextExtents` 🐛`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`. 🐛`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` 🐛`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` 🐛`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.
    🐛`41`

Documentation:
  * Add Pillow to ImageSurface example. :pr:`40` (:user:`Stuart Axon <stuaxo>`)
  * Describe Freetype-py intergration. 🐛`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. 🐛`39`

Testing:
  * Added continuous testing for Windows using MSYS2 and appveyor. 🐛`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. 🐛`34`
  * Fix a build error on macOS Sierra. :pr:`36`
    (:user:`Nicolas P. Rougier <rougier>`)
  * examples: Fix snippet examples when .pyc files are present. 🐛`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`. 🐛`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. 🐛`5`, :fdobug:`22940`

Constants:
  * Add various new cairo.OPERATOR_*, cairo.ANTIALIAS_* and
    cairo.FORMAT_* constants. 🐛`1`
  * Add :data:`HAS_MIME_SURFACE` and cairo.MIME_TYPE_*. 🐛`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. 🐛`8`, :fdobug:`89162` (Lawrence D'Oliveiro)

:class:`Surface`:
  * Add :meth:`Surface.set_mime_data`. 🐛`7`, :fdobug:`58771`
  * Add :meth:`Surface.get_mime_data`. 🐛`7`, :fdobug:`58771`
  * Add :meth:`Surface.supports_mime_type`. 🐛`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. 🐛`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`
2017-11-24 16:02:21 +00:00
wiz
7f84153239 Add python-3.6 to incompatible versions. 2017-01-01 14:43:22 +00:00
wiz
ad0031c15e Remove python33: adapt all packages that refer to it. 2016-07-09 13:03:30 +00:00
adam
7f3b4730ad Extend PYTHON_VERSIONS_INCOMPATIBLE to 35 2015-12-05 21:25:27 +00:00
tnn
9ee4b877fb Recursive revbump following MesaLib update, categories g through n. 2015-04-25 14:22:51 +00:00
wiz
c1b44346cd Mark packages that are not ready for python-3.3 also not ready for 3.4,
until proven otherwise.
2014-05-09 07:36:53 +00:00
ryoon
60806aa001 Recursive revbump from x11/pixman
Fix PR pkg/48777
2014-05-05 00:47:34 +00:00
prlw1
146fd5fbdf Python 2.6 and 2.7 versions of py-cairo conflict, but they don't conflict
with the python 3.3 version, so remove PYTHON_SELF_CONFLICT and leave
it up to PLIST conflict detection.
2014-02-12 00:30:03 +00:00
wiz
5f6ebe574d Explain the difference. 2014-01-23 11:12:43 +00:00
adam
d2cb6dec32 Revbump after cairo update 2013-09-02 19:50:38 +00:00
wiz
2a2287a457 Update to 1.10.0:
Overview of changes from py2cairo 1.8.10 to py2cairo 1.10.0
===========================================================
General Changes:
    py2cairo 1.10.0 requires cairo 1.10.0 (or later).

New Constants:
    cairo.FORMAT_RGB16_565

Bug Fixes:
    context.get_source().get_surface() fails        #33013
    Add support for './waf configure --libdir=XXX'  #30230

Documentation Changes:
    Upgrade to using Sphinx 1.0.7.
    Include html documentation in the pycairo archive file.

Build Changes:
    Update waf to 1.6.3

Other Changes:
    Remove setup.py
    Improve/simplify unicode filename support.
    Improve/simplify unicode text support.
2013-07-07 12:19:23 +00:00
tron
a36fb86593 Try to fix the fallout caused by the fix for PR pkg/47882. Part 3:
Recursively bump package revisions again after the "freetype2" and
"fontconfig" handling was fixed.
2013-06-04 22:15:37 +00:00
wiz
53745b22ea Bump freetype2 and fontconfig dependencies to current pkgsrc versions,
to address issues with NetBSD-6(and earlier)'s fontconfig not being
new enough for pango.

While doing that, also bump freetype2 dependency to current pkgsrc
version.

Suggested by tron in PR 47882
2013-06-03 10:05:17 +00:00
wiz
d1b820f37b Recursive bump for png-1.6. 2013-02-16 11:18:58 +00:00
asau
08f35c7155 Drop superfluous PKG_DESTDIR_SUPPORT, "user-destdir" is default these days. 2012-10-06 14:10:39 +00:00
cheusov
4b97be0632 Bump revision for packages with changed CONFLICTS (PYTHON_SELF_CONFLICT) 2012-10-04 00:21:58 +00:00
cheusov
11c7685b77 CONFLICTS between python modules 2012-10-03 23:40:35 +00:00
tron
14215633d2 Mass recursive bump after the dependence fix of the "cairo" package
requested by Thomas Klausner.
2012-10-02 17:10:28 +00:00
adam
b15c922bcc Revbump after updating graphics/cairo 2012-09-07 19:16:05 +00:00
wiz
aada88e659 Remove python24 and all traces of it from pkgsrc.
Remove devel/py-ctypes (only needed by and supporting python24).
Remove PYTHON_VERSIONS_ACCEPTED and PYTHON_VERSIONS_INCOMPATIBLE
lines that just mirror defaults now.
Miscellaneous cleanup while editing all these files.
2012-04-08 19:08:44 +00:00
sbd
04daa2f1b8 Recursive bump for graphics/freetype2 buildlink addition. 2011-11-01 06:00:33 +00:00
hans
3aabd9495c Fix build on SunOS. 2011-09-14 16:53:38 +00:00
wiz
f09b8dbca6 Let's assume for now that everything that worked with python-2.6 also
works with python-2.7.
2011-02-25 09:47:18 +00:00
wiz
af3596f984 png shlib name changed for png>=1.5.0, so bump PKGREVISIONs. 2011-01-13 13:36:05 +00:00
wiz
a481371dba Update to 1.8.10:
Overview of changes from pycairo 1.8.8 to pycairo 1.8.10
========================================================
General Changes:
    Pycairo 1.8.10 requires cairo 1.8.10 (or later).

New Classes/Types:
    Win32PrintingSurface
    XCBSurface - add XCB support using xpyb

Bug Fixes:
    Fix for libtool 2.2 (#27974).
    Mingw32 and pypy fixes (#25203).

Other Changes:
    Tests updated.

The Win32PrintingSurface and XCBSurface changes mean that pycairo 1.8.10 is
not binary compatible with pycairo 1.8.8. So modules that use the pycairo C
API (like pygtk) will need to be recompiled to use pycairo 1.8.10.
2010-12-02 13:30:50 +00:00
obache
4a22ff3aad Fixes LICENSE name for mpl-1.1. 2010-11-19 11:07:34 +00:00
wiz
200e3c4a04 Bump dependency on pixman to 0.18.4 because cairo-1.10 needs that
version, and bump all depends.

Per discussion on pkgsrc-changes.
2010-09-14 11:00:44 +00:00
markd
af5869b71d py-Numeric was dropped as a dependency back at 1.4.0 so remove the
pkgsrc dependency.
2010-08-22 20:48:18 +00:00
wiz
e8d8834f6a Bump PKGREVISION for libpng shlib name change.
Also add some patches to remove use of deprecated symbols and fix other
problems when looking for or compiling against libpng-1.4.x.
2010-06-13 22:43:46 +00:00
wiz
0f8c9b00f2 Update to 1.8.8:
General Changes:
    Pycairo 1.8.8 requires cairo 1.8.8 (or later).
    Move from CVS to git.
    Add support for the waf build tool.

Updated methods
    The PDF/PS/SVGSurface constructors now accept None as a filename.
2009-08-31 08:04:32 +00:00
wiz
1a49a263ad Does not build against python-2.4, remove it from accepted versions. 2009-08-15 14:26:38 +00:00
wiz
d87d1e8d11 Update to 1.8.6, set LICENSE.
Overview of changes from pycairo 1.8.4 to pycairo 1.8.6
=======================================================

Bug Fixes:
    ImageSurface.create_from_png _read_func fix
    ToyFontFace type fix
    19221: restore cairo.Matrix '*' operator to the way it originally worked.

Other Changes:
    Documentation completed.
2009-07-22 12:55:20 +00:00
wiz
60f460ab01 Use standard location for LICENSE line (in MAINTAINER/HOMEPAGE/COMMENT
block). Uncomment some commented out LICENSE lines while here.
2009-05-19 08:59:00 +00:00
obache
f7e3339d42 Update pycairo to 1.8.4.
Based on maintainer update request by PR 41063.
While here, add commented out LICENSE (LGPL-2.1 or MPL-1.1).

Overview of changes from pycairo 1.8.2 to pycairo 1.8.4
=======================================================
General Changes:
    Pycairo 1.8.4 requires cairo 1.8.4 (or later) and Python 2.6

Bug Fixes:
    20674: Add get/set_extend for Gradient Patterns

New Classes:
    cairo.ToyFontFace

New Methods:
    Pattern.get_extend
    Pattern.set_extend
    ToyFontFace.get_family
    ToyFontFace.get_slant
    ToyFontFace.get_weight

Deleted Methods:
    SurfacePattern.get_extend
    SurfacePattern.set_extend

Other Changes:
    Threading for surfaces with stream functions has been reenabled.
    Documentation updates.
2009-05-13 12:56:46 +00:00
snj
f70c621512 Accept python26. 2009-04-19 15:05:53 +00:00
joerg
be089192f3 Sort PYTHON_VERSIONS_ACCEPTED. 2009-02-11 14:23:31 +00:00
wiz
b58016f758 Update to 1.8.2:
Overview of changes from pycairo 1.8.0 to pycairo 1.8.2
=======================================================

Pycairo 1.8.0 resulted in crashes for some applications using threads. So
upgrading to 1.8.2 is recommended for threaded applications.

Bug Fixes: #19287: Threading support results in crashes in cairo.ImageSurface

New Methods:
    Context.set_scaled_font

API Changes:
    Matrix multiplication:
    old code: matrix3 = matrix1 * matrix2
    new equivalent code: matrix3 = matrix1.multiply(matrix2)
    matrix3 = matrix1 * matrix2
    is now equivalent to matrix3 = matrix2.multiply(matrix1)
    which is consistent with standard matrix multiplication.
2009-01-18 17:12:56 +00:00
wiz
86e6ce6164 Fix cairo DEPENDS. 2009-01-07 21:06:02 +00:00
wiz
2ef9d845c0 Update to 1.8.0:
Overview of changes from pycairo 1.6.4 to pycairo 1.8.0
=======================================================
General Changes:
    Pycairo 1.8.0 requires cairo 1.8.0 (or later).
    Add documentation (available separately)

Bug Fixes:
    18101: Add support for threading
    18947: cairo.SurfacePattern should INCREF the used surface

New Methods:
    ScaledFont.get_scale_matrix
    Surface.mark_dirty_rectangle
    Surface.set_fallback_resolution

New Constants:
    cairo.EXTEND_PAD
    cairo.HAS_IMAGE_SURFACE
    cairo.HAS_USER_FONT

API Changes:
    Surface.mark_dirty: no longer accepts keyword arguments with default
    values.
    PycairoPattern_FromPattern (C API): has a new 'base' argument - to fix
    #18947.

Other Changes:
    Allow unknown cairo Pattern/Surface types to use the pycairo base
    Pattern/Surface type.
2009-01-07 21:05:22 +00:00
drochner
f2bb98e568 make this work with python-2.4 again 2008-11-18 12:46:52 +00:00
wiz
7878154b9f Update to 1.6.4:
Overview of changes from pycairo 1.4.0 to pycairo 1.6.4
========================================================
General changes:
    Pycairo 1.6.4 requires cairo 1.6.4 (or later).
                  requires Python 2.5 (or later).

Bug fixes:
    16112: Fix win32 'python setup.py ...' build -- use double quotes

New Methods:
    Context.has_current_point
    Context.path_extents
    ImageSurface.format_stride_for_width
    PSSurface.get_eps
    PSSurface.set_eps
    PSSurface.ps_level_to_string
    PSSurface.restrict_to_level
    Surface.copy_page
    Surface.show_page

New Constants:
    cairo.PS_LEVEL_2, cairo.PS_LEVEL_3

Other changes:
    test/pygame-test1.py, test/pygame-test2.py : pygame tests

    examples/cairo_snippets/snippets/ellipse.py : Update
    so line-width is a constant width in device-space not user-space
2008-11-10 22:10:08 +00:00
abs
3144db8e64 PYTHON_VERSIONS_ACCEPTED+=25 2008-04-16 12:15:28 +00:00
drochner
e0a13b4725 update to 1.4.12
changes:
-minor build framework fixes
-allow cairo.Context to be subclassed
2008-03-12 20:54:52 +00:00
heinz
33e5fb251e The package supports installation to DESTDIR. 2007-08-23 20:50:52 +00:00
obache
883648963d Need cairo>=1.4.0. 2007-04-02 07:38:00 +00:00
drochner
91d8cc5c58 update to 1.4.0: catch up with cairo-1.4.x 2007-03-23 20:50:35 +00:00
drochner
b299a39994 update to 1.2.2
changes:
-updated for newer cairo versions
-distutils support (unused in pkgsrc because broken)
-new example to demonstrate pattern masks
-cairo.svg module removed
2006-10-12 14:43:17 +00:00
joerg
b6368304ee Fix build with Cairo 1.2 API and require it. Bump revision since DSO
changed.
2006-09-20 12:57:46 +00:00
wiz
fe52c2eb72 Add untested patch by the maintainer to fix build on 1.6.2. 2006-04-23 17:13:03 +00:00