From: "Sam James" <sam@gentoo.org>
To: gentoo-commits@lists.gentoo.org
Subject: [gentoo-commits] repo/gentoo:master commit in: dev-python/pycairo/files/, dev-python/pycairo/
Date: Tue, 11 Jun 2024 17:58:02 +0000 (UTC) [thread overview]
Message-ID: <1718128519.1d92e043e855b1474b5575e3d84bd0fde92461b5.sam@gentoo> (raw)
commit: 1d92e043e855b1474b5575e3d84bd0fde92461b5
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Tue Jun 11 17:49:02 2024 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Tue Jun 11 17:55:19 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=1d92e043
dev-python/pycairo: enable py3.13
Signed-off-by: Sam James <sam <AT> gentoo.org>
.../pycairo/files/pycairo-1.26.0-py313.patch | 30 +++++++++
dev-python/pycairo/pycairo-1.26.0-r1.ebuild | 77 ++++++++++++++++++++++
2 files changed, 107 insertions(+)
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?= <miro@hroncok.cz>
+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
+}
next reply other threads:[~2024-06-11 17:58 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-06-11 17:58 Sam James [this message]
-- strict thread matches above, loose matches on Subject: below --
2023-10-17 15:11 [gentoo-commits] repo/gentoo:master commit in: dev-python/pycairo/files/, dev-python/pycairo/ Michał Górny
2023-05-05 5:05 Sam James
2020-11-22 15:46 Michał Górny
2020-06-05 22:43 Andreas Sturmlechner
2020-01-26 17:45 Michał Górny
2017-10-15 11:01 Michał Górny
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1718128519.1d92e043e855b1474b5575e3d84bd0fde92461b5.sam@gentoo \
--to=sam@gentoo.org \
--cc=gentoo-commits@lists.gentoo.org \
--cc=gentoo-dev@lists.gentoo.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox