commit: 38fd2191f8e4fe49055e5dd4aea3e4815ad114c4 Author: Bernard Cafarelli <voyageur <AT> gentoo <DOT> org> AuthorDate: Sun Apr 2 18:29:02 2023 +0000 Commit: Bernard Cafarelli <voyageur <AT> gentoo <DOT> org> CommitDate: Sun Apr 2 18:29:54 2023 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=38fd2191
app-backup/rdiff-backup: backport py3.11 support to current stable 2.2 changes a few things, so will move to stable a bit later Closes: https://bugs.gentoo.org/903135 Signed-off-by: Bernard Cafarelli <voyageur <AT> gentoo.org> .../files/rdiff-backup-2.0.5-py311.patch | 42 ++++++++++++++++++++++ .../rdiff-backup/rdiff-backup-2.0.5-r1.ebuild | 1 + 2 files changed, 43 insertions(+) diff --git a/app-backup/rdiff-backup/files/rdiff-backup-2.0.5-py311.patch b/app-backup/rdiff-backup/files/rdiff-backup-2.0.5-py311.patch new file mode 100644 index 000000000000..87531ca7c4a6 --- /dev/null +++ b/app-backup/rdiff-backup/files/rdiff-backup-2.0.5-py311.patch @@ -0,0 +1,42 @@ +From 5e5cc54b5a633d3c6c0469283b2f26dbdde7908f Mon Sep 17 00:00:00 2001 +From: Frank Crawford <fr...@crawford.emu.id.au> +Date: Sun, 2 Jan 2022 18:44:57 +1100 +Subject: [PATCH] Added patch for Python3.11 as per bpo-39573. + +--- + src/_librsyncmodule.c | 15 +++++++++++++-- + 1 file changed, 13 insertions(+), 2 deletions(-) + +diff --git a/src/_librsyncmodule.c b/src/_librsyncmodule.c +index a46567fc4..158104d2e 100644 +--- a/src/_librsyncmodule.c ++++ b/src/_librsyncmodule.c +@@ -25,6 +25,16 @@ + #include <librsync.h> + #define RSM_JOB_BLOCKSIZE 65536 + ++/* ----------------------------------------------------------------------- * ++ * Update for Python 3.11 - Contributed by Victor Stinner in bpo-39573. ++ * Compatibility macro for older Python versions. ++ * ----------------------------------------------------------------------- */ ++#if PY_VERSION_HEX < 0x030900A4 && !defined(Py_SET_TYPE) ++static inline void _Py_SET_TYPE(PyObject *ob, PyTypeObject *type) ++{ ob->ob_type = type; } ++#define Py_SET_TYPE(ob, type) _Py_SET_TYPE((PyObject*)(ob), type) ++#endif ++ + static PyObject *librsyncError; + + /* Sets python error string from result */ +@@ -540,8 +550,9 @@ PyMODINIT_FUNC PyInit__librsync(void) + { + PyObject *m, *d; + +- Py_TYPE(&_librsync_SigMakerType) = &PyType_Type; +- Py_TYPE(&_librsync_DeltaMakerType) = &PyType_Type; ++ /* Update for Python 3.11 - bpo-39573. */ ++ Py_SET_TYPE(&_librsync_SigMakerType, &PyType_Type); ++ Py_SET_TYPE(&_librsync_DeltaMakerType, &PyType_Type); + static struct PyModuleDef librsync_def = { + PyModuleDef_HEAD_INIT, "_librsync", "RSync Lib", -1, _librsyncMethods, }; + m = PyModule_Create(&librsync_def); diff --git a/app-backup/rdiff-backup/rdiff-backup-2.0.5-r1.ebuild b/app-backup/rdiff-backup/rdiff-backup-2.0.5-r1.ebuild index fc69bee691f8..8c9cb96bac99 100644 --- a/app-backup/rdiff-backup/rdiff-backup-2.0.5-r1.ebuild +++ b/app-backup/rdiff-backup/rdiff-backup-2.0.5-r1.ebuild @@ -26,6 +26,7 @@ RDEPEND="dev-python/pylibacl[${PYTHON_USEDEP}] PATCHES=( "${FILESDIR}/${PN}-2.0.3-no-docs.patch" + "${FILESDIR}/${P}-py311.patch" ) python_install_all() {