diff options
Diffstat (limited to 'sci-geosciences/qgis/files/qgis-1.7.0-avoid-deprecated-pyqtconfig.patch')
-rw-r--r-- | sci-geosciences/qgis/files/qgis-1.7.0-avoid-deprecated-pyqtconfig.patch | 53 |
1 files changed, 53 insertions, 0 deletions
diff --git a/sci-geosciences/qgis/files/qgis-1.7.0-avoid-deprecated-pyqtconfig.patch b/sci-geosciences/qgis/files/qgis-1.7.0-avoid-deprecated-pyqtconfig.patch new file mode 100644 index 000000000000..65cabb2afe72 --- /dev/null +++ b/sci-geosciences/qgis/files/qgis-1.7.0-avoid-deprecated-pyqtconfig.patch @@ -0,0 +1,53 @@ +Avoid relying on the deprecated pyqtconfig module. + +When PyQt4 is configured using configure-ng.py then no pyqtconfig module +will be built, causing the automatic detection in the QGIS build system to +fail. + +This change tries to work around the problem by extracting or guessing all +the relevant settings. It should work reasonably well for a default +configuration of PyQt, but may fail if PyQt overrides the defaults from sip. +All may break if SIP v5 is used, since that version apparently won't contain +a sipconfig module any more. But we'll tackle that once we get there. + +References: +* https://bugs.gentoo.org/show_bug.cgi?id=525700 + +2014-10-21 Martin von Gagern + +Index: qgis-2.4.0/cmake/FindPyQt.py +=================================================================== +--- qgis-2.4.0.orig/cmake/FindPyQt.py ++++ qgis-2.4.0/cmake/FindPyQt.py +@@ -30,9 +30,29 @@ + # 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) |