From f0ddcad13515f66d2f3bf827d33c277bdba7e1dd Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Wed, 12 Jun 2024 00:08:13 +0100 Subject: gentoo auto-resync : 12:06:2024 - 00:08:13 --- dev-python/pycairo/Manifest | 2 + .../pycairo/files/pycairo-1.26.0-py313.patch | 30 +++++++++ dev-python/pycairo/pycairo-1.26.0-r1.ebuild | 77 ++++++++++++++++++++++ 3 files changed, 109 insertions(+) create mode 100644 dev-python/pycairo/files/pycairo-1.26.0-py313.patch create mode 100644 dev-python/pycairo/pycairo-1.26.0-r1.ebuild (limited to 'dev-python/pycairo') diff --git a/dev-python/pycairo/Manifest b/dev-python/pycairo/Manifest index e76c2010d72b..27d325628e34 100644 --- a/dev-python/pycairo/Manifest +++ b/dev-python/pycairo/Manifest @@ -1,3 +1,5 @@ +AUX pycairo-1.26.0-py313.patch 919 BLAKE2B b618f62bbc411f0bd7a8abf207fed950b64e98765c89dc744062bb9ed5f5fe148d98ada2a079f974f7e1c0dfa0f15076f0e2177e25712049699e072195614501 SHA512 d6119319ab7ce7cd16c3c3b5144afe301e666bb24ee8f05788bd8143f76178996aa6a7bb88571709fcb1363d7f41c17a0cedda8c6b0de8b39cf186877777ab77 DIST pycairo-1.26.0.tar.gz 346850 BLAKE2B da6c35c929d372764280e8963a8b66ba533ccb99be9ee2bfa10859c635dd16cc087d542607be9ec6a9ffb942feb892100d4b9017d832d478b35c434aa05b9bb9 SHA512 5313f0d408a6e6ce6e70ac92291be5dd8651e01fbf9411d0467061afa21849cde27db273f2a13b4c3c931183f63f75f31fc0f0d3283b8f339ba88e71eab432f1 +EBUILD pycairo-1.26.0-r1.ebuild 1582 BLAKE2B 0edf3bd6a22cfdd2f16984c1339a5b7c705e6fa9778b933590913f98ac5033491fbae8175f3dbadf47a7388d93baf95e9aea577b7f3a14f5aa61ba0b61c0bab2 SHA512 2fa5300ff17e491e860a54a7215532641e004c9b543cd05310822b254597b0bfe95ecba1fadb4afff54e4d9c32ab382327c024fc6f63d05e182f8b00b6e0a742 EBUILD pycairo-1.26.0.ebuild 1519 BLAKE2B 1da5cc57cfdf94dbfb97b770f01b2be599f39385760cc1571cb3405094e1d72d8a01006f4bbdedf0bf46b0f281bbcb35e0d67b30b2adeaed4a8ddd0de9087e29 SHA512 925f648675283cffda31038ec5f568758b3cee4abfa1af2f343956443d231d496b550444daee64f3d9ff77f9dc4666965abb60654157081fd3acfaf32d6288dd MISC metadata.xml 368 BLAKE2B 5e0f85e23bc56113927d28072c7178d27fc058b1e90851150c55e9e713edb96dd5daa79df8423f6719032538c9448d8afa9b750961bd82a5bcfae2d5e228c6b6 SHA512 c1e81ed2f535c8050f18950a57b71aa871b965c57d1e5ca8e8a4c48ecd643bc9ec326e046c1aea9f3f41124b9fe765a0b9b46a541c28f325cae7038cea66d086 diff --git a/dev-python/pycairo/files/pycairo-1.26.0-py313.patch b/dev-python/pycairo/files/pycairo-1.26.0-py313.patch new file mode 100644 index 000000000000..c3c0d74cb415 --- /dev/null +++ b/dev-python/pycairo/files/pycairo-1.26.0-py313.patch @@ -0,0 +1,30 @@ +https://github.com/pygobject/pycairo/pull/366 + +From 387e27fa36d29bc8f656656ca8b47e7b4996f4f4 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Miro=20Hron=C4=8Dok?= +Date: Wed, 29 May 2024 21:25:41 +0200 +Subject: [PATCH] Avoid invalid PyBUF_READ flag in PyObject_GetBuffer() + +Since Python 3.13, the flag is no longer allowed. + +See https://github.com/python/cpython/pull/114707 + +Fixes https://github.com/pygobject/pycairo/issues/365 +--- + cairo/surface.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/cairo/surface.c b/cairo/surface.c +index 048522c6..f00db8b5 100644 +--- a/cairo/surface.c ++++ b/cairo/surface.c +@@ -484,7 +484,7 @@ surface_set_mime_data (PycairoSurface *o, PyObject *args) { + return NULL; + } + +- res = PyObject_GetBuffer (obj, view, PyBUF_READ); ++ res = PyObject_GetBuffer (obj, view, PyBUF_SIMPLE); + if (res == -1) { + PyMem_Free (view); + return NULL; + diff --git a/dev-python/pycairo/pycairo-1.26.0-r1.ebuild b/dev-python/pycairo/pycairo-1.26.0-r1.ebuild new file mode 100644 index 000000000000..269c6598a58e --- /dev/null +++ b/dev-python/pycairo/pycairo-1.26.0-r1.ebuild @@ -0,0 +1,77 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_EXT=1 +DISTUTILS_USE_PEP517=setuptools +PYTHON_COMPAT=( python3_{10..13} pypy3 ) +PYTHON_REQ_USE="threads(+)" + +inherit distutils-r1 + +DESCRIPTION="Python bindings for the cairo library" +HOMEPAGE=" + https://www.cairographics.org/pycairo/ + https://github.com/pygobject/pycairo/ + https://pypi.org/project/pycairo/ +" +SRC_URI=" + https://github.com/pygobject/${PN}/releases/download/v${PV}/${P}.tar.gz +" + +LICENSE="|| ( LGPL-2.1 MPL-1.1 )" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos" +IUSE="examples" + +BDEPEND=" + virtual/pkgconfig + test? ( + dev-python/hypothesis[${PYTHON_USEDEP}] + ) +" +RDEPEND=" + >=x11-libs/cairo-1.15.10[svg(+)] +" +DEPEND=" + ${RDEPEND} + x11-base/xorg-proto +" + +PATCHES=( + "${FILESDIR}"/pycairo-1.26.0-py313.patch +) + +distutils_enable_sphinx docs \ + dev-python/sphinx-rtd-theme +distutils_enable_tests pytest + +python_test() { + esetup.py build_tests + epytest +} + +python_install() { + distutils-r1_python_install + + # we need to pass --root via install command, sigh + cat > "${T}/distutils-extra.cfg" <<-EOF || die + [install] + root = ${D} + EOF + local -x DIST_EXTRA_CONFIG=${T}/distutils-extra.cfg + esetup.py \ + install_pkgconfig --pkgconfigdir="${EPREFIX}/usr/$(get_libdir)/pkgconfig" +} + +python_install_all() { + if use examples; then + dodoc -r examples + fi + + distutils-r1_python_install_all + + insinto /usr/include/pycairo + doins cairo/py3cairo.h +} -- cgit v1.2.3