From 5ef79c742a87df12d8c0c6024bd41cb061019bef Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Sat, 14 Dec 2019 12:40:08 +0530 Subject: [PATCH] Add support for sip5 --- setup/build_environment.py | 21 +++++++++++++++------ 1 file changed, 15 insertions(+), 6 deletions(-) diff --git a/setup/build_environment.py b/setup/build_environment.py index 7a06f3181a..bf97458b3b 100644 --- a/setup/build_environment.py +++ b/setup/build_environment.py @@ -89,17 +89,26 @@ qmakespec = readvar('QMAKE_SPEC') if iswindows else None pyqt['sip_bin'] = os.environ.get('SIP_BIN', 'sip') +import PyQt5 from PyQt5.QtCore import PYQT_CONFIGURATION pyqt['sip_flags'] = PYQT_CONFIGURATION['sip_flags'] def get_sip_dir(): - if iswindows: - q = os.path.join(sys.prefix, 'share', 'sip') - elif isfreebsd: - q = os.path.join(sys.prefix, 'share', 'py-sip') - else: - q = os.path.join(sys.prefix, 'share', 'sip') + q = None + if getattr(PyQt5, '__file__', None): + q = os.path.join(os.path.dirname(PyQt5.__file__), 'bindings') + if not os.path.exists(q): + q = None + if q is None: + if iswindows: + q = os.path.join(sys.prefix, 'share', 'sip') + elif isfreebsd: + q = os.path.join(sys.prefix, 'share', 'py-sip') + else: + q = os.path.join(os.path.dirname(PyQt5.__file__), 'bindings') + if not os.path.exists(q): + q = os.path.join(sys.prefix, 'share', 'sip') q = os.environ.get('SIP_DIR', q) for x in ('', 'Py2-PyQt5', 'PyQt5', 'sip/PyQt5'): base = os.path.join(q, x)