1
0
Fork 0
mirror of https://git.freebsd.org/ports.git synced 2025-07-14 15:59:18 -04:00
ports/devel/py-qt5-core/files/patch-configure.py
Raphael Kubo da Costa 5b3f3dd953 At very long last land PyQt5 5.5.1 ports.
Add the required bits to Uses/pyqt.mk along with all the PyQt5 ports.
Thankfully this commit is mostly adding new ports, as the hard work was
already done in r403297 and r403662.

Huge kudos to Tobias Berner <tcberner@gmail.com> and, most importantly,
Guido Falsi (madpilot@) for their initial work on these ports (see D2910 in
Phabricator for an earlier version of the PyQt5 patch set).

PR:		204672
2015-12-13 21:56:50 +00:00

94 lines
3.2 KiB
Python

This patch is necessary for us to split PyQt5 up into several different ports.
It works by conditionally building and installing some tools (such as
pylupdate5 and pyrcc5), replacing the all-encompassing PyQt5.api file that
depends on different modules with module-specific .api files.
--- configure.py.orig 2015-10-25 11:42:16 UTC
+++ configure.py
@@ -1458,13 +1458,13 @@ def generate_makefiles(target_config, ve
generate_sip_module_code(target_config, verbose, no_timestamp, parts,
tracing, 'Qt', sip_flags)
- subdirs.append('Qt')
if not target_config.no_tools:
- # Generate pylupdate5 and pyrcc5.
- for tool in ('pylupdate', 'pyrcc'):
- generate_application_makefile(target_config, verbose, tool)
- subdirs.append(tool)
+ if "QtXml" in target_config.pyqt_modules:
+ # Generate pylupdate5 and pyrcc5.
+ for tool in ('pylupdate', 'pyrcc'):
+ generate_application_makefile(target_config, verbose, tool)
+ subdirs.append(tool)
# Generate the pyuic5 wrapper.
pyuic_wrapper = generate_pyuic5_wrapper(target_config)
@@ -1483,22 +1483,6 @@ def generate_makefiles(target_config, ve
source_path('examples', 'quick', 'tutorials', 'extending',
'chapter6-plugins'))
- # Generate the QScintilla API file.
- if target_config.qsci_api:
- inform("Generating the QScintilla API file...")
- f = open_for_writing('PyQt5.api')
-
- for mname in target_config.pyqt_modules:
- api = open(mname + '.api')
-
- for l in api:
- f.write('PyQt5.' + l)
-
- api.close()
- os.remove(mname + '.api')
-
- f.close()
-
# Generate the Python dbus module.
if target_config.pydbus_module_dir != '':
mname = 'dbus'
@@ -1526,21 +1510,24 @@ def generate_makefiles(target_config, ve
out_f.write('''TEMPLATE = subdirs
CONFIG += ordered nostrip
SUBDIRS = %s
+''' % (' '.join(subdirs)))
+ if "QtCore" in target_config.pyqt_modules:
+ out_f.write('''
init_py.files = %s
init_py.path = %s/PyQt5
INSTALLS += init_py
-''' % (' '.join(subdirs), source_path('__init__.py'), target_config.pyqt_module_dir))
+''' % (source_path('__init__.py'), target_config.pyqt_module_dir))
- # Install the uic module and the pyuic5 wrapper.
- out_f.write('''
+ # Install the uic module and the pyuic5 wrapper.
+ out_f.write('''
uic_package.files = %s
uic_package.path = %s/PyQt5
INSTALLS += uic_package
''' % (source_path('pyuic', 'uic'), target_config.pyqt_module_dir))
- if not target_config.no_tools:
- out_f.write('''
+ if not target_config.no_tools:
+ out_f.write('''
pyuic5.files = %s
pyuic5.path = %s
INSTALLS += pyuic5
@@ -1548,11 +1535,12 @@ INSTALLS += pyuic5
# Install the QScintilla .api file.
if target_config.qsci_api:
+ api_list = ' '.join(['%s.api' % m for m in target_config.pyqt_modules])
out_f.write('''
-qscintilla_api.files = PyQt5.api
+qscintilla_api.files = %s
qscintilla_api.path = %s/api/python
INSTALLS += qscintilla_api
-''' % target_config.qsci_api_dir)
+''' % (api_list, target_config.qsci_api_dir))
out_f.close()