diff --git a/testing/py3-py-radix/APKBUILD b/testing/py3-py-radix/APKBUILD index f6ec91b5bc9..c9fc6e56764 100644 --- a/testing/py3-py-radix/APKBUILD +++ b/testing/py3-py-radix/APKBUILD @@ -2,7 +2,7 @@ pkgname=py3-py-radix _pkgname=py-radix pkgver=0.10.0 -pkgrel=9 +pkgrel=10 pkgdesc="An implementation of a radix tree for Python" url="https://github.com/mjschultz/py-radix" arch="all" @@ -13,7 +13,9 @@ checkdepends="py3-coverage py3-nose" subpackages="$pkgname-pyc" source="$_pkgname-$pkgver.tar.gz::https://github.com/mjschultz/py-radix/archive/v$pkgver.tar.gz python3.10-support.patch + gcc14.patch assertEquals.patch + skip-test-000-check-incref.patch " builddir="$srcdir/$_pkgname-$pkgver" @@ -35,5 +37,7 @@ package() { sha512sums=" b4b6a35aad76c19c2eaa5bff828cbec5182cc4074397d4b9e5c39ac76bd9045c86600ed52ac06632abac8a9e70d6e82aa9e741ab3eb92970453bb14acdba72ea py-radix-0.10.0.tar.gz 56808e892ebcc951f76bfb21647687ccf8c2d3e605c64c650ca95e54a766e8f110bfa087fdc1921e9ba68109dbbf8220885a9c12dcb6ef69bf7695d7722a75b0 python3.10-support.patch +fd58d47e884d09485ecf869bd178864450fc03d3471748661334802287f062e5a6a6d88fa82efcee444c851d6aa51a63b1a151502dc9999871e020ef4de64722 gcc14.patch cb7abba0dd5f0ea24c953d5c7a5c2d8dcdaf86b5ce30aa49d633de2572967afef2475019c88eaeddc2397633b08eef5c5607ac34bedf7afc4d1410108c61f0f7 assertEquals.patch +88615684898709b411e159f3daf90db4dd1230ed3846075a0a8bdf98d5db4cfcd165a42cd1220a22c698633f41c27c5a6ee98cf060028fedaed2dab03613791d skip-test-000-check-incref.patch " diff --git a/testing/py3-py-radix/gcc14.patch b/testing/py3-py-radix/gcc14.patch new file mode 100644 index 00000000000..367577654e2 --- /dev/null +++ b/testing/py3-py-radix/gcc14.patch @@ -0,0 +1,44 @@ +Source: https://github.com/mjschultz/py-radix/pull/58.patch + +Fix -Wincompatible-pointer-types error with gcc 14. + +``` +radix/_radix.c: In function 'add_node_to_list': +radix/_radix.c:528:37: error: passing argument 2 of 'PyList_Append' from +incompatible pointer type [-Wincompatible-pointer-types] + 528 | PyList_Append(ret, ((RadixNodeObject *)node->data)); + | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + | | + | RadixNodeObject * +In file included from /usr/include/python3.12/Python.h:63, + from radix/_radix.c:18: +/usr/include/python3.12/listobject.h:34:43: note: expected 'PyObject *' {aka +'struct _object *'} but argument is of type 'RadixNodeObject *' + 34 | PyAPI_FUNC(int) PyList_Append(PyObject *, PyObject *); + | ^~~~~~~~~~ +``` + +-- +From ce1da838d74031cfbd3c4dae3a28b9c3c11b5000 Mon Sep 17 00:00:00 2001 +From: Robert Scheck +Date: Sun, 16 Jun 2024 19:03:43 +0200 +Subject: [PATCH] Change incompatible pointer type from RadixNodeObject to + PyObject + +--- + radix/_radix.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/radix/_radix.c b/radix/_radix.c +index 5a1b88f..5dcfc59 100644 +--- a/radix/_radix.c ++++ b/radix/_radix.c +@@ -524,7 +524,7 @@ add_node_to_list(radix_node_t *node, void *arg) + PyObject *ret = arg; + + if (node->data != NULL) +- PyList_Append(ret, ((RadixNodeObject *)node->data)); ++ PyList_Append(ret, ((PyObject *)node->data)); + return (0); + } + diff --git a/testing/py3-py-radix/skip-test-000-check-incref.patch b/testing/py3-py-radix/skip-test-000-check-incref.patch new file mode 100644 index 00000000000..f429d84fd04 --- /dev/null +++ b/testing/py3-py-radix/skip-test-000-check-incref.patch @@ -0,0 +1,14 @@ +--- py-radix-0.10.0-origin/tests/test_regression.py ++++ py-radix-0.10.0/tests/test_regression.py +@@ -45,10 +45,7 @@ + + class TestRadix(unittest.TestCase): + +- @unittest.skipIf( +- 'PyPy' == platform.python_implementation(), +- 'PyPy has no refcounts' +- ) ++ @unittest.skip('Takes too long') + def test_000_check_incref(self): + tree = radix.Radix() + node = tree.add('10.0.1.0/24')