gnu: python-pyqt: Fix runtime error.
authorMarius Bakke <mbakke@fastmail.com>
Sun, 20 Oct 2019 14:34:15 +0000 (16:34 +0200)
committerMarius Bakke <mbakke@fastmail.com>
Sun, 20 Oct 2019 22:34:02 +0000 (00:34 +0200)
* gnu/packages/patches/pyqt-unbundled-qt.patch: New file.
* gnu/local.mk (dist_patch_DATA): Adjust accordingly.
* gnu/packages/qt.scm (python-pyqt)[source](patches): Add it.

gnu/local.mk
gnu/packages/patches/pyqt-unbundled-qt.patch [new file with mode: 0644]
gnu/packages/qt.scm

index 1fc916f..7f69059 100644 (file)
@@ -1253,6 +1253,7 @@ dist_patch_DATA =                                         \
   %D%/packages/patches/pygpgme-disable-problematic-tests.patch  \
   %D%/packages/patches/pyqt-configure.patch                    \
   %D%/packages/patches/pyqt-public-sip.patch                   \
+  %D%/packages/patches/pyqt-unbundled-qt.patch                 \
   %D%/packages/patches/python-2-deterministic-build-info.patch \
   %D%/packages/patches/python-2.7-adjust-tests.patch           \
   %D%/packages/patches/python-2.7-search-paths.patch           \
diff --git a/gnu/packages/patches/pyqt-unbundled-qt.patch b/gnu/packages/patches/pyqt-unbundled-qt.patch
new file mode 100644 (file)
index 0000000..5c91ed0
--- /dev/null
@@ -0,0 +1,19 @@
+Remove test for bundled Qt which breaks dependent applications.  This has
+been fixed in 5.13.
+
+Taken from Arch Linux:
+https://git.archlinux.org/svntogit/packages.git/tree/trunk/python2-pyqt5-crash-fix.patch?h=packages/pyqt5&id=3e56e11d1fd7b1eac8242ce64c58db2bd9acba20
+
+diff -ur PyQt5_gpl-5.12.3/qpy/QtCore/qpycore_post_init.cpp.in PyQt5_gpl-5.12.3b/qpy/QtCore/qpycore_post_init.cpp.in
+--- PyQt5_gpl-5.12.3/qpy/QtCore/qpycore_post_init.cpp.in        2019-06-25 14:41:02.000000000 +0200
++++ PyQt5_gpl-5.12.3b/qpy/QtCore/qpycore_post_init.cpp.in       2019-07-01 17:06:34.882644535 +0200
+@@ -151,8 +151,4 @@
+     // initialised first (at least for Windows) and this is the only way to
+     // guarantee things are done in the right order.
+     PyQtSlotProxy::mutex = new QMutex(QMutex::Recursive);
+-
+-    // Load the embedded qt.conf file if there is a bundled copy of Qt.
+-    if (!qpycore_qt_conf())
+-        Py_FatalError("PyQt5.QtCore: Unable to embed qt.conf");
+ }
+
index a8b2bb4..8928c1d 100644 (file)
@@ -1806,6 +1806,7 @@ module provides support functions to the automatically generated code.")
          (base32
           "041155bdzp57jy747p5d59740c55yy3241cy1x2lgcdsvqvzmc0d"))
        (patches (search-patches "pyqt-configure.patch"
+                                "pyqt-unbundled-qt.patch"
                                 "pyqt-public-sip.patch"))))
     (build-system gnu-build-system)
     (native-inputs