# # spec file for package python-cairo # # Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed # upon. The license for this file, and modifications and additions to the # file, is the same license as for the pristine package itself (unless the # license for the pristine package is not an Open Source License, in which # case the license is the MIT License). An "Open Source License" is a # license that conforms to the Open Source Definition (Version 1.9) # published by the Open Source Initiative. # Please submit bugfixes or comments via http://bugs.opensuse.org/ # %{?!python_module:%define python_module() python-%{**} python3-%{**}} Name: python-cairo Version: 1.15.1 Release: 1.2 Summary: Python Bindings for Cairo # FIXME: on update, check if we still need to manually compile the byte-code in %%install License: LGPL-2.1+ or MPL-1.1 Group: Development/Libraries/Python Url: http://www.cairographics.org/pycairo Source: https://github.com/pygobject/pycairo/releases/download/v%{version}/pycairo-%{version}.tar.gz BuildRequires: %{python_module devel} BuildRequires: cairo-devel >= 1.12.0 BuildRequires: python-rpm-macros BuildRoot: %{_tmppath}/%{name}-%{version}-build %description Python bindings for cairo. %package devel Summary: Configuration files for %{python}-cairo Group: Development/Libraries/C and C++ Requires: python-cairo = %{version} Requires: python-cairo-common-devel = %{version} Requires: python-devel %description devel Headers for python-cairo %package -n %{name}-common-devel Summary: Headers for python-cairo Group: Development/Libraries/C and C++ Provides: %{python_module cairo-common-devel = %{version}} Requires: cairo-devel %description -n %{name}-common-devel Headers for python-cairo %python_subpackages %prep %setup -n pycairo-%{version} %build %python_build %install %python_install # pkgconfig files belong to %{_libdir}, not %{_prefix}/lib %if "%{_lib}" == "lib64" mkdir %{buildroot}%{_libdir}/pkgconfig mv %{buildroot}%{_prefix}/lib/pkgconfig/*.pc %{buildroot}%{_libdir}/pkgconfig/ %endif %files %{python_files} %defattr(-,root,root) %doc COPYING COPYING-* NEWS %{python_sitearch}/cairo/ %{python_sitearch}/pycairo-*.egg-info %files %{python_files devel} %defattr(-,root,root) %ifpython2 %{_libdir}/pkgconfig/pycairo.pc %endif %ifpython3 %{_libdir}/pkgconfig/py3cairo.pc %endif %files -n %{name}-common-devel %defattr(-,root,root) %{_includedir}/pycairo/ %changelog * Thu Aug 24 2017 zaitor@opensuse.org - Update to version 1.15.1: + Fixes: - Improved support for Python filesystem paths including os.PathLike. See pathlike for details. - Various minor fixes. + Changes: Expose cairo.Path. + Tests: Improved test coverage from ~70%% to ~90%%. - Changes from version 1.15.0: + New Features: - Add Surface.map_to_image() and Surface.unmap_image(). - Add RasterSourcePattern. - Add Glyph. - Add Rectangle. - Add TextCluster. - Add ScaledFont.text_to_glyphs() and ScaledFont.glyph_extents(). - Add Context.show_text_glyphs(). - Add TextExtents. + 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 Status.NO_MEMORY no longer raise MemoryError, but a subclass of Error and MemoryError. Similarly errors with Status.READ_ERROR and Status.WRITE_ERROR no longer raise IOError, but a subclass of Error and IOError. - Some functions which previously returned a tuple now return a tuple subclass like Rectangle, Glyph, TextCluster and TextExtents. - Changes from version 1.14.1: + Fixes: Fix a crash with Surface.get_device(). - Changes from version 1.14.0: + General: Requires at least cairo 1.13.1. + Tests: Optional Hypothesis tests. + New Features: - Add Surface.set_device_scale() and Surface.get_device_scale(). - Add Device. - Add Surface.get_device(). - Add ScriptDevice and ScriptMode. - Add ScriptSurface. - Add Status.JBIG2_GLOBAL_MISSING. - Add Format.stride_for_width(). - Add TextClusterFlags and SurfaceObserverMode. - Add Gradient.get_color_stops_rgba(). - Add TeeSurface. - Add MeshPattern. - Changes from version 1.13.4: + Fixes: Fix a rare crash with get_data() under Python 3 (1.13.3 regression). * Fri Jun 23 2017 jmatejek@suse.com - fix requires for devel subpackage * Sun Jun 18 2017 dimstar@opensuse.org - Update to version 1.13.3: + Fix ImageSurface leaking in case :meth:`get_data() ` is used under Python 3 (gh#pygobject/pycairo#43). - Changes from version 1.13.2: + Fix pip failing to install pycairo in some cases (gh#pygobject/pycairo#39). - Changes from version 1.13.1: + setup.py install: Fix generated pkg-config file if ``--home`` or ``--user`` is specified (gh#pygobject/pycairo#34). + Fix a build error on macOS Sierra (gh#pygobject/pycairo#36) + examples: Fix snippet examples when .pyc files are present (gh#pygobject/pycairo#35). - For more changes since the last package update, see NEWS inside. - Implement python single-spec packaging: since pycairo 1.11.0, the sources for python2 and python3 based bindings have been merged again. * Sat Feb 25 2017 toddrme2178@gmail.com - Add python2-cairo and python2-cairo-devel provides for compatibility with the new multipython spec file macros. * Fri Apr 5 2013 idonmez@suse.com - Add Source URL, see https://en.opensuse.org/SourceUrls * Mon Oct 8 2012 schwab@linux-m68k.org - Build with %%{optflags} * Wed Feb 1 2012 saschpe@suse.de - Add group to devel package * Tue Jan 10 2012 coolo@suse.com - trying to get the license right for spdx * Fri Jun 17 2011 vuntz@opensuse.org - Update to version 1.10.0: + New Constants: - cairo.FORMAT_RGB16_565 + Bug Fixes: - context.get_source().get_surface() fails (fdo#33013) + Improve/simplify unicode filename and text support. + Build related changes. - Move to using waf for the build as the autotools support is broken. - Recompile the generated byte-code with %%py_compile, as the waf-generated byte-code references the build root. This is a bug in waf, see http://code.google.com/p/waf/issues/detail?id=986 * Sat Sep 18 2010 vuntz@opensuse.org - Update to version 1.8.10: + New Classes/Types: - Win32PrintingSurface - XCBSurface - add XCB support using xpyb + Bug Fixes: - Fix for libtool 2.2 (fdo#27974). - Mingw32 and pypy fixes (fdo#25203). + Other Changes: - Tests updated. * Wed Dec 2 2009 vuntz@opensuse.org - Update to version 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. * Tue Jul 21 2009 lmedinas@gmail.com - Update to version 1.8.6: + Bug Fixes: - ImageSurface.create_from_png _read_func fix - ToyFontFace type fix - fdo#19221: restore cairo.Matrix '*' operator to the way it originally worked. + Documentation completed * Thu Mar 19 2009 vuntz@novell.com - Update to version 1.8.4: + General Changes: - Pycairo 1.8.4 requires cairo 1.8.4 (or later) and Python 2.6 + Bug Fixes: - fdo#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. - Stop re-defining _prefix. - Remove unneeded BuildRequires: gtk2-devel, libjpeg-devel, python-numeric, update-desktop-files. - Add BuildRequires: cairo-devel, fdupes. - Remove Suggests on python-numeric (Numeric support was removed). - Remove Suggests on python-gtk since, well, there's no real reason to put it. - Stop running suse_update_config. - Use fdupes. * Sun Feb 1 2009 mboman@suse.de - Update to version 1.8.2: + bfo#19287: Threading support results in crashes in cairo.ImageSurface + 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. * Wed Dec 24 2008 mboman@suse.de - Update to version 1.8.0: + General Changes: - Pycairo 1.8.0 requires cairo 1.8.0 (or later). - Add documentation (available separately) + Bug Fixes: - bfo#18101: Add support for threading - bfo#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 + Other Changes: - Allow unknown cairo Pattern/Surface types to use the pycairo base - Pattern/Surface type. * Fri Sep 12 2008 maw@suse.de - Update to version 1.6.4: + Bugs fixed: bfo#16112 + 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, and Surface.show_page + New Constants: cairo.PS_LEVEL_2, cairo.PS_LEVEL_3 + Updated examples. * Fri Jul 18 2008 jpr@suse.de - Remove libsvg-cairo-devel from BuildRequires, it hasn't been needed for a long time * Thu Apr 3 2008 hpj@suse.de - Upgraded to version 1.4.12: * mingw32 compiler fixes. * New methods added. * The module cairo.gtk has been removed. * Allow cairo.Context to be subclassed. * Mon Feb 26 2007 maw@suse.de - Don't package _cairo.la (#223703). * Mon Sep 25 2006 jhargadon@suse.de - update to version 1.2.2 - setup.py has been updated to allow installation by executing $ python setup.py install - examples/cairo_snippets/snippets/gradient_mask.py A new example to demonstrate pattern masks. - The cairo.svg module has been removed because: 1) Cairo does not include SVG parsing, so this module does not belong in pycairo. 2) libsvg-cairo (the underlying C library) is unmaintained. - Pycairo requires cairo 1.2.2 (or later) * Wed Aug 16 2006 cthiel@suse.de - split of -devel package * Thu Aug 10 2006 cthiel@suse.de - turn Requires to python-gtk and python-numeric into Suggests, as they are optional anyway - update to version 1.2.0 (fixes #198391) * pycairo has been updated to work with cairo 1.2.0. * new methods: Surface.set_fallback_resolution, Surface_get_content ImageSurface_get_format, Image_surface_get_stride * deleted methods: PDFSurface.set_dpi, PSSurface.set_dpi, SVGSurface.set_dpi - replaced by Surface.set_fallback_resolution * cairo.FORMAT_RGB16_565 added - overview of changes from pycairo 1.0.2 to pycairo 1.1.6 * pycairo has been updated to work with cairo 1.1.6. * SVGSurface * new methods: Context.get_group_target, Context.new_sub_path, Context.pop_group, Context.pop_group_to_source, Context.push_group, Context.push_group_with_content, FontOptions.get_antialias, FontOptions.get_hint_metrics, FontOptions.get_hint_style, FontOptions.get_subpixel_order, FontOptions.set_antialias, FontOptions.set_hint_metrics, FontOptions.set_hint_style, FontOptions.set_subpixel_order, PDFSurface.set_size, PSSurface.dsc_begin_page_setup, PSSurface.dsc_begin_setup, PSSurface.dsc_comment, PSSurface.set_size, ScaledFont.get_font_face, ScaledFont.text_extents, Surface.get_device_offset, XlibSurface.get_depth * updated methods: - PDFSurface()/PSSurface() - can now write to file-like objects (like StringIO). - surface.write_to_png() and ImageSurface.create_from_png() can now write to file-like objects (like StringIO). - select_font_face, show_text, text_extents and text_path now accept unicode objects. * misc bug fixes. * new examples: - examples/cairo_snippets/snippets_svg.py - examples/cairo_snippets/snippets/ellipse.py - examples/cairo_snippets/snippets/group.py - examples/svg/svgconvert.py * Wed Jan 25 2006 mls@suse.de - converted neededforbuild to BuildRequires * Wed Nov 2 2005 sbrabec@suse.cz - New SuSE package, version 1.0.2 (#120043).