summarylogtreecommitdiffstats
path: root/fix-pyqtconfig-missing-for-new-pyqt4.patch
blob: 868c544e86c072d385354f90a58c83515d17bb3e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
From e11f7e04b5fda1aa57d6b7a672375ff4b284abb2 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Sergio=20Conde=20G=C3=B3mez?= <skgsergio@gmail.com>
Date: Thu, 23 Apr 2015 12:43:46 +0200
Subject: [PATCH] Fix cmake ImportError: No module named pyqtconfig

---
 cmake/Modules/FindPyQt.py | 55 +++++++++++++++++++++++++++++++++++++++++++++--
 1 file changed, 53 insertions(+), 2 deletions(-)

diff --git a/cmake/Modules/FindPyQt.py b/cmake/Modules/FindPyQt.py
index 5d2f951..96bbbae 100644
--- a/cmake/Modules/FindPyQt.py
+++ b/cmake/Modules/FindPyQt.py
@@ -1,11 +1,60 @@
+# -*- coding: utf-8 -*-
+#
+#   Copyright (c) 2007, Simon Edwards <simon@simonzone.com>
+#    All rights reserved.
+#
+#    Redistribution and use in source and binary forms, with or without
+#    modification, are permitted provided that the following conditions are met:
+#        * Redistributions of source code must retain the above copyright
+#        notice, this list of conditions and the following disclaimer.
+#        * Redistributions in binary form must reproduce the above copyright
+#        notice, this list of conditions and the following disclaimer in the
+#        documentation and/or other materials provided with the distribution.
+#        * Neither the name of the  Simon Edwards <simon@simonzone.com> nor the
+#        names of its contributors may be used to endorse or promote products
+#        derived from this software without specific prior written permission.
+#
+#    THIS SOFTWARE IS PROVIDED BY Simon Edwards <simon@simonzone.com> ''AS IS'' AND ANY
+#    EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+#    WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+#    DISCLAIMED. IN NO EVENT SHALL Simon Edwards <simon@simonzone.com> BE LIABLE FOR ANY
+#    DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+#    (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+#    LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+#    ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+#    (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+#    SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+#
+# FindPyQt.py
 # Copyright (c) 2007, Simon Edwards <simon@simonzone.com>
 # Redistribution and use is allowed according to the terms of the BSD license.
 # For details see the accompanying COPYING-CMAKE-SCRIPTS file.
 
-import PyQt4.pyqtconfig
+try:
+    import PyQt4.pyqtconfig
+    pyqtcfg = PyQt4.pyqtconfig.Configuration()
+except ImportError:
+    import PyQt4.QtCore
+    import sipconfig # won't work for SIP v5
+    import os.path
+    cfg = sipconfig.Configuration()
+    sip_dir = cfg.default_sip_dir
+    for p in (os.path.join(sip_dir, "PyQt4"), sip_dir):
+        if os.path.exists(os.path.join(p, "QtCore", "QtCoremod.sip")):
+            sip_dir = p
+            break
+    cfg = {
+        'pyqt_version': PyQt4.QtCore.PYQT_VERSION,
+        'pyqt_version_str': PyQt4.QtCore.PYQT_VERSION_STR,
+        'pyqt_sip_flags': PyQt4.QtCore.PYQT_CONFIGURATION['sip_flags'],
+        'pyqt_mod_dir': cfg.default_mod_dir,
+        'pyqt_sip_dir': sip_dir,
+        'pyqt_bin_dir': cfg.default_bin_dir,
+    }
+    pyqtcfg = sipconfig.Configuration([cfg])
 
-pyqtcfg = PyQt4.pyqtconfig.Configuration()
 print("pyqt_version:%06.0x" % pyqtcfg.pyqt_version)
+print("pyqt_version_num:%d" % pyqtcfg.pyqt_version)
 print("pyqt_version_str:%s" % pyqtcfg.pyqt_version_str)
 
 pyqt_version_tag = ""
@@ -20,5 +69,7 @@
         in_t = False
 print("pyqt_version_tag:%s" % pyqt_version_tag)
 
+print("pyqt_mod_dir:%s" % pyqtcfg.pyqt_mod_dir)
 print("pyqt_sip_dir:%s" % pyqtcfg.pyqt_sip_dir)
 print("pyqt_sip_flags:%s" % pyqtcfg.pyqt_sip_flags)
+print("pyqt_bin_dir:%s" % pyqtcfg.pyqt_bin_dir)