From b34cc766c1303cb4b56b23bee636001fe0e7bccb Mon Sep 17 00:00:00 2001 From: StevenK <> Date: Jun 11 2025 14:49:26 +0000 Subject: Update python-pycairo to version 1.28.0 / rev 16 via SR 1284631 https://build.opensuse.org/request/show/1284631 by user StevenK + anag_factory - Update to 1.28.0: * Changes: + Remove hypothesis test dependency + Release the input buffer passed to ImageSurface.create_for_data() when calling Surface.finish() already, not just when the underlying surface is destroyed + Return a PathDataType (int subtype) instead of int with Path.__iter__() + Emit a DeprecationWarning in case ImageSurface.get_data() is called on an already finished surface. + Emit a DeprecationWarning for the undocumented num_glyphs parameter in Context.glyph_extents(), Context.glyph_path(), Context.show_glyphs(), ScaledFont.glyph_extents() * Fixes: + Remove the executable bit from cairo/__init__.py + Remove usage of removed typing.ByteString to fix compatibility with Python 3.14.0a1 + Drop suppor --- diff --git a/.files b/.files index 1766beb..f2b16c7 100644 Binary files a/.files and b/.files differ diff --git a/.rev b/.rev index daf1fe5..d2cf0b1 100644 --- a/.rev +++ b/.rev @@ -169,4 +169,31 @@ 1190484 + + dd9cf63056e1cfdbeaaa6f60a228c244 + 1.28.0 + + anag_factory + - Update to 1.28.0: + * Changes: + + Remove hypothesis test dependency + + Release the input buffer passed to ImageSurface.create_for_data() when + calling Surface.finish() already, not just when the underlying surface + is destroyed + + Return a PathDataType (int subtype) instead of int with Path.__iter__() + + Emit a DeprecationWarning in case ImageSurface.get_data() is called on + an already finished surface. + + Emit a DeprecationWarning for the undocumented num_glyphs parameter in + Context.glyph_extents(), Context.glyph_path(), Context.show_glyphs(), + ScaledFont.glyph_extents() + * Fixes: + + Remove the executable bit from cairo/__init__.py + + Remove usage of removed typing.ByteString to fix compatibility with + Python 3.14.0a1 + + Drop support for Python 3.8 + + Port PEP517/wheel build from setuptools to meson-python. + + meson: install the package metadata to .dist-info/METADATA instead + of .egg-info + 1284631 + diff --git a/pycairo-1.26.1.tar.gz b/pycairo-1.26.1.tar.gz deleted file mode 120000 index c611713..0000000 --- a/pycairo-1.26.1.tar.gz +++ /dev/null @@ -1 +0,0 @@ -/ipfs/bafybeia3jshtdlz6v62b4zgynp2lbrqgmczlyobvnff26dbviofrdnulgq \ No newline at end of file diff --git a/pycairo-1.28.0.tar.gz b/pycairo-1.28.0.tar.gz new file mode 120000 index 0000000..6fce8c7 --- /dev/null +++ b/pycairo-1.28.0.tar.gz @@ -0,0 +1 @@ +/ipfs/bafybeias57nqjgm3emcaa3sftg4cxbtgajcmoabq5iltl3w3qwwhj5leua \ No newline at end of file diff --git a/python-pycairo.changes b/python-pycairo.changes index fb7216e..310f8ed 100644 --- a/python-pycairo.changes +++ b/python-pycairo.changes @@ -1,4 +1,28 @@ ------------------------------------------------------------------- +Wed Jun 11 05:52:55 UTC 2025 - Steve Kowalik + +- Update to 1.28.0: + * Changes: + + Remove hypothesis test dependency + + Release the input buffer passed to ImageSurface.create_for_data() when + calling Surface.finish() already, not just when the underlying surface + is destroyed + + Return a PathDataType (int subtype) instead of int with Path.__iter__() + + Emit a DeprecationWarning in case ImageSurface.get_data() is called on + an already finished surface. + + Emit a DeprecationWarning for the undocumented num_glyphs parameter in + Context.glyph_extents(), Context.glyph_path(), Context.show_glyphs(), + ScaledFont.glyph_extents() + * Fixes: + + Remove the executable bit from cairo/__init__.py + + Remove usage of removed typing.ByteString to fix compatibility with + Python 3.14.0a1 + + Drop support for Python 3.8 + + Port PEP517/wheel build from setuptools to meson-python. + + meson: install the package metadata to .dist-info/METADATA instead + of .egg-info + +------------------------------------------------------------------- Mon Jul 29 14:49:40 UTC 2024 - John Paul Adrian Glaubitz - Update to 1.26.1 diff --git a/python-pycairo.spec b/python-pycairo.spec index cbb235f..978bb4f 100644 --- a/python-pycairo.spec +++ b/python-pycairo.spec @@ -1,7 +1,7 @@ # # spec file for package python-pycairo # -# Copyright (c) 2024 SUSE LLC +# Copyright (c) 2025 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -19,16 +19,16 @@ %{?sle15_python_module_pythons} %define oldpython python Name: python-pycairo -Version: 1.26.1 +Version: 1.28.0 Release: 0 Summary: Python Bindings for Cairo License: LGPL-2.1-or-later OR MPL-1.1 URL: https://github.com/pygobject/pycairo Source: %{url}/releases/download/v%{version}/pycairo-%{version}.tar.gz - -BuildRequires: %{python_module devel} +BuildRequires: %{python_module devel >= 3.9} +BuildRequires: %{python_module meson-python} +BuildRequires: %{python_module pip} BuildRequires: %{python_module pytest} -BuildRequires: %{python_module setuptools} BuildRequires: cairo-devel >= 1.15.10 BuildRequires: fdupes BuildRequires: python-rpm-macros @@ -74,28 +74,32 @@ packages that depend on Pycairo. %autosetup -n pycairo-%{version} -p1 %build -%python_build +%{python_expand \ +dir="build.$python" +mkdir $dir +cat << EOF > $dir/native-file.ini +[binaries] +python = '$python' +EOF +meson setup . $dir -Dbuildtype=release -Db_ndebug=if-release -Db_vscrt=md -Dtests=false -Dwheel=false --prefix=/usr --native-file=$dir/native-file.ini +ninja -C $dir +} %install -%python_install -# Incorrectly installed by a python38-setuptools vendored distutils -# which does not play well with the distro patched python38. -# Later flavors installed the correct files into lib64 as well -if [ "%{_libdir}" != "%{_prefix}/lib" -a -d %{buildroot}%{_prefix}/lib/pkgconfig ]; then - rm -r %{buildroot}%{_prefix}/lib/pkgconfig -fi +%python_expand meson install -C build.$python --destdir %{buildroot} %python_expand %fdupes %{buildroot}%{$python_sitearch} %check -# this is not the deprecated setuptools test call but a custom setup compiling stuff and running pytest -%python_exec setup.py test +mv cairo cairo-do-not-import-from +%pytest_arch +mv cairo-do-not-import-from cairo %files %{python_files} %doc NEWS docs %license COPYING COPYING-LGPL-2.1 COPYING-MPL-1.1 %{python_sitearch}/cairo/ %exclude %{python_sitearch}/cairo/include -%{python_sitearch}/pycairo-*.egg-info +%{python_sitearch}/pycairo-%{version}.dist-info %files %{python_files devel} %license COPYING COPYING-LGPL-2.1 COPYING-MPL-1.1