summary refs log tree commit diff
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2023-04-19 23:21:46 +0200
committerLudovic Courtès <ludo@gnu.org>2023-04-19 23:21:46 +0200
commit0e2e7c7554ca5dc6b4f547e61d97e2d5b07f7799 (patch)
tree5ac56b81e420aa61751ea47f430ba0bba81eb390
parent3d1b93db65423eb51e37c81d4bcc1243251ce3ae (diff)
downloadguix-0e2e7c7554ca5dc6b4f547e61d97e2d5b07f7799.tar.gz
gnu: python-shiboken-2: Fix compilation with Python 3.10.
* gnu/packages/patches/python-shiboken-2-compat.patch: New file.
* gnu/local.mk (dist_patch_DATA): Add it.
* gnu/packages/qt.scm (python-shiboken-2): Use it.
-rw-r--r--gnu/local.mk1
-rw-r--r--gnu/packages/patches/python-shiboken-2-compat.patch16
-rw-r--r--gnu/packages/qt.scm5
3 files changed, 20 insertions, 2 deletions
diff --git a/gnu/local.mk b/gnu/local.mk
index 486adca929..dd4b0e890e 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1667,6 +1667,7 @@ dist_patch_DATA =						\
   %D%/packages/patches/python-pypdf-annotate-tests-appropriately.patch	\
   %D%/packages/patches/python-sip-include-dirs.patch	\
   %D%/packages/patches/python-sgmllib3k-assertions.patch	\
+  %D%/packages/patches/python-shiboken-2-compat.patch		\
   %D%/packages/patches/python-telingo-fix-comparison.patch	\
   %D%/packages/patches/python-typeguard-python3.10.patch	\
   %D%/packages/patches/python-w3lib-fix-test-failure.patch	\
diff --git a/gnu/packages/patches/python-shiboken-2-compat.patch b/gnu/packages/patches/python-shiboken-2-compat.patch
new file mode 100644
index 0000000000..0c7de64395
--- /dev/null
+++ b/gnu/packages/patches/python-shiboken-2-compat.patch
@@ -0,0 +1,16 @@
+Provide a declaration that's missing in Python 3.10.
+
+--- pyside-setup-opensource-src-5.15.8/sources/shiboken2/libshiboken/sbkpython.h	2023-04-19 23:14:11.415337435 +0200
++++ pyside-setup-opensource-src-5.15.8/sources/shiboken2/libshiboken/sbkpython.h	2023-04-19 23:18:09.055605606 +0200
+@@ -108,6 +108,11 @@ extern "C" {
+ #if PY_MAJOR_VERSION >= 3
+     #define IS_PY3K
+ 
++extern "C" {
++  /* In Python 3.10 this declaration is not provided by <Python.h>.  */
++  extern PyObject* _Py_Mangle(PyObject *p, PyObject *name);
++}
++
+     #define PyInt_Type PyLong_Type
+     #define PyInt_Check PyLong_Check
+     #define PyInt_CheckExact PyLong_CheckExact
diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scm
index 205cacc580..61a81a12df 100644
--- a/gnu/packages/qt.scm
+++ b/gnu/packages/qt.scm
@@ -1,7 +1,7 @@
 ;;; GNU Guix --- Functional package management for GNU
 ;;; Copyright © 2013, 2014, 2015, 2023 Andreas Enge <andreas@enge.fr>
 ;;; Copyright © 2015 Sou Bunnbu <iyzsong@gmail.com>
-;;; Copyright © 2015, 2018, 2019, 2020, 2021 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2015, 2018, 2019, 2020, 2021, 2023 Ludovic Courtès <ludo@gnu.org>
 ;;; Copyright © 2015, 2016, 2017, 2018, 2019 Efraim Flashner <efraim@flashner.co.il>
 ;;; Copyright © 2016, 2017 Nikita <nikita@n0.is>
 ;;; Copyright © 2016 Thomas Danckaert <post@thomasdanckaert.be>
@@ -3921,7 +3921,8 @@ color-related widgets.")
                                   version ".tar.xz"))
               (sha256
                (base32
-                "0pbbdypwkn3vrgy8ww207fl8pqq4jv80bck9qz5v9dfyr0166hr3"))))
+                "0pbbdypwkn3vrgy8ww207fl8pqq4jv80bck9qz5v9dfyr0166hr3"))
+              (patches (search-patches "python-shiboken-2-compat.patch"))))
     (build-system cmake-build-system)
     (inputs
      (list clang-toolchain