diff options
-rw-r--r-- | gnu/local.mk | 3 | ||||
-rw-r--r-- | gnu/packages/patches/python-optree-fix-32-bit.patch | 122 | ||||
-rw-r--r-- | gnu/packages/python-xyz.scm | 14 |
3 files changed, 8 insertions, 131 deletions
diff --git a/gnu/local.mk b/gnu/local.mk index 6961b8816c..e4a8220c83 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -64,7 +64,7 @@ # Copyright © 2023, 2024 gemmaro <gemmaro.dev@gmail.com> # Copyright © 2023 Herman Rimm <herman@rimm.ee> # Copyright © 2023 Troy Figiel <troy@troyfigiel.com> -# Copyright © 2024 David Elsing <david.elsing@posteo.net> +# Copyright © 2024, 2025 David Elsing <david.elsing@posteo.net> # Copyright © 2024 Ashish SHUKLA <ashish.is@lostca.se> # Copyright © 2024 Fabio Natali <me@fabionatali.com> # Copyright © 2024 Noé Lopez <noelopez@free.fr> @@ -2096,7 +2096,6 @@ dist_patch_DATA = \ %D%/packages/patches/python-fixtures-remove-monkeypatch-test.patch \ %D%/packages/patches/python-hiredis-use-system-hiredis.patch \ %D%/packages/patches/python-online-judge-api-client-tests.patch \ - %D%/packages/patches/python-optree-fix-32-bit.patch \ %D%/packages/patches/python-pdoc3-tests.patch \ %D%/packages/patches/python-peachpy-determinism.patch \ %D%/packages/patches/python-pep8-stdlib-tokenize-compat.patch \ diff --git a/gnu/packages/patches/python-optree-fix-32-bit.patch b/gnu/packages/patches/python-optree-fix-32-bit.patch deleted file mode 100644 index 6a32c39bd8..0000000000 --- a/gnu/packages/patches/python-optree-fix-32-bit.patch +++ /dev/null @@ -1,122 +0,0 @@ -In include/utils.h, ssize_t is an alias for py::ssize_t, which is an alias for -Py_ssize_t in Python, which is an alias for the system ssize_t. -The latter is defined in glibc as int if __WORDSIZE == 32 and as long int if -__WORDSIZE == 64. Therefore, we need to remove the explicit template -specialization for int in the first case. - -diff --git a/include/utils.h b/include/utils.h -index 950a02b..82a9591 100644 ---- a/include/utils.h -+++ b/include/utils.h -@@ -141,10 +141,12 @@ template <> - inline py::handle GET_ITEM_HANDLE<py::tuple>(const py::handle& container, const size_t& item) { - return PyTuple_GET_ITEM(container.ptr(), py::ssize_t_cast(item)); - } -+#if __WORDSIZE != 32 - template <> - inline py::handle GET_ITEM_HANDLE<py::tuple>(const py::handle& container, const int& item) { - return PyTuple_GET_ITEM(container.ptr(), py::ssize_t_cast(item)); - } -+#endif - template <> - inline py::handle GET_ITEM_HANDLE<py::list>(const py::handle& container, const ssize_t& item) { - return PyList_GET_ITEM(container.ptr(), item); -@@ -153,10 +155,12 @@ template <> - inline py::handle GET_ITEM_HANDLE<py::list>(const py::handle& container, const size_t& item) { - return PyList_GET_ITEM(container.ptr(), py::ssize_t_cast(item)); - } -+#if __WORDSIZE != 32 - template <> - inline py::handle GET_ITEM_HANDLE<py::list>(const py::handle& container, const int& item) { - return PyList_GET_ITEM(container.ptr(), py::ssize_t_cast(item)); - } -+#endif - - template <typename Container, typename Item> - inline py::object GET_ITEM_BORROW(const py::handle& container, const Item& item) { -@@ -171,11 +175,13 @@ inline py::object GET_ITEM_BORROW<py::tuple>(const py::handle& container, const - return py::reinterpret_borrow<py::object>( - PyTuple_GET_ITEM(container.ptr(), py::ssize_t_cast(item))); - } -+#if __WORDSIZE != 32 - template <> - inline py::object GET_ITEM_BORROW<py::tuple>(const py::handle& container, const int& item) { - return py::reinterpret_borrow<py::object>( - PyTuple_GET_ITEM(container.ptr(), py::ssize_t_cast(item))); - } -+#endif - template <> - inline py::object GET_ITEM_BORROW<py::list>(const py::handle& container, const ssize_t& item) { - return py::reinterpret_borrow<py::object>(PyList_GET_ITEM(container.ptr(), item)); -@@ -185,11 +191,13 @@ inline py::object GET_ITEM_BORROW<py::list>(const py::handle& container, const s - return py::reinterpret_borrow<py::object>( - PyList_GET_ITEM(container.ptr(), py::ssize_t_cast(item))); - } -+#if __WORDSIZE != 32 - template <> - inline py::object GET_ITEM_BORROW<py::list>(const py::handle& container, const int& item) { - return py::reinterpret_borrow<py::object>( - PyList_GET_ITEM(container.ptr(), py::ssize_t_cast(item))); - } -+#endif - - template <typename Container, typename Item> - inline py::object GET_ITEM_STEAL(const py::handle& container, const Item& item) { -@@ -204,11 +212,13 @@ inline py::object GET_ITEM_STEAL<py::tuple>(const py::handle& container, const s - return py::reinterpret_steal<py::object>( - PyTuple_GET_ITEM(container.ptr(), py::ssize_t_cast(item))); - } -+#if __WORDSIZE != 32 - template <> - inline py::object GET_ITEM_STEAL<py::tuple>(const py::handle& container, const int& item) { - return py::reinterpret_steal<py::object>( - PyTuple_GET_ITEM(container.ptr(), py::ssize_t_cast(item))); - } -+#endif - template <> - inline py::object GET_ITEM_STEAL<py::list>(const py::handle& container, const ssize_t& item) { - return py::reinterpret_steal<py::object>(PyList_GET_ITEM(container.ptr(), item)); -@@ -218,11 +228,13 @@ inline py::object GET_ITEM_STEAL<py::list>(const py::handle& container, const si - return py::reinterpret_steal<py::object>( - PyList_GET_ITEM(container.ptr(), py::ssize_t_cast(item))); - } -+#if __WORDSIZE != 32 - template <> - inline py::object GET_ITEM_STEAL<py::list>(const py::handle& container, const int& item) { - return py::reinterpret_steal<py::object>( - PyList_GET_ITEM(container.ptr(), py::ssize_t_cast(item))); - } -+#endif - - template <typename Container, typename Item> - inline void SET_ITEM(const py::handle& container, const Item& item, const py::handle& value) { -@@ -240,12 +252,14 @@ inline void SET_ITEM<py::tuple>(const py::handle& container, - const py::handle& value) { - PyTuple_SET_ITEM(container.ptr(), py::ssize_t_cast(item), value.inc_ref().ptr()); - } -+#if __WORDSIZE != 32 - template <> - inline void SET_ITEM<py::tuple>(const py::handle& container, - const int& item, - const py::handle& value) { - PyTuple_SET_ITEM(container.ptr(), py::ssize_t_cast(item), value.inc_ref().ptr()); - } -+#endif - template <> - inline void SET_ITEM<py::list>(const py::handle& container, - const ssize_t& item, -@@ -258,12 +272,14 @@ inline void SET_ITEM<py::list>(const py::handle& container, - const py::handle& value) { - PyList_SET_ITEM(container.ptr(), py::ssize_t_cast(item), value.inc_ref().ptr()); - } -+#if __WORDSIZE != 32 - template <> - inline void SET_ITEM<py::list>(const py::handle& container, - const int& item, - const py::handle& value) { - PyList_SET_ITEM(container.ptr(), py::ssize_t_cast(item), value.inc_ref().ptr()); - } -+#endif - - template <typename PyType> - inline void AssertExact(const py::handle& object) { diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm index 11113ea00d..29ebcec153 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -13248,7 +13248,7 @@ without using the configuration machinery.") (define-public python-optree (package (name "python-optree") - (version "0.11.0") + (version "0.14.0") (source (origin (method git-fetch) @@ -13258,21 +13258,21 @@ without using the configuration machinery.") (file-name (git-file-name name version)) (sha256 (base32 - "0sk5lm1xyxi7z0yjckip77qvbidyb7i1znmn9fz96q74hl9ffyan")) - (patches (search-patches "python-optree-fix-32-bit.patch")))) + "17zph1jgzk0zaanj7057qj8x5cml8j66ip0xmlbwmq4396hmdlbs")))) (build-system pyproject-build-system) (arguments (list #:test-flags - ;; This test fails due to a circular import - ''("-k" "not test_treespec_pickle_missing_registration"))) + ;; These tests fails due to a circular import + '`("-k" ,(string-append "not test_treespec_pickle_missing_registration" + " and not test_import_no_warnings")))) (propagated-inputs (list python-typing-extensions)) (native-inputs (list python-pytest python-setuptools python-wheel - cmake - pybind11)) + cmake-minimal + pybind11-2.13)) (home-page "https://github.com/metaopt/optree") (synopsis "Optimized PyTree Utilities") (description "This package contains operations on PyTrees (a tree made of |