aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRoman Lacko <backup.rlacko@gmail.com>2014-04-21 22:56:37 +0200
committerRoman Lacko <backup.rlacko@gmail.com>2014-04-21 22:56:37 +0200
commitaaa87609878674d068b801de7f1c896b377d515d (patch)
tree30aa5cc1af8e6237ad1e5e94732d594d7d01c218
parent4ba5d5fbcc62d8a5eb4b80d995a3bfb3be094d1f (diff)
Re-generate examples Qt resource files for Python 3 compatibility when preparing binary packages
-rw-r--r--setup.py15
-rw-r--r--utils.py20
2 files changed, 35 insertions, 0 deletions
diff --git a/setup.py b/setup.py
index 61b0f2f86..b50584b4b 100644
--- a/setup.py
+++ b/setup.py
@@ -95,6 +95,7 @@ from utils import has_option
from utils import option_value
from utils import update_env_path
from utils import init_msvc_env
+from utils import regenerate_qt_resources
# Declare options
OPTION_DEBUG = has_option("debug")
@@ -724,6 +725,13 @@ class pyside_build(_build):
"{sources_dir}/pyside-examples/examples",
"{dist_dir}/PySide/examples",
force=False, vars=vars)
+ # Re-generate examples Qt resource files for Python 3 compatibility
+ if sys.version_info[0] == 3:
+ examples_path = "{dist_dir}/PySide/examples".format(**vars)
+ pyside_rcc_path = "{install_dir}/bin/pyside-rcc".format(**vars)
+ pyside_rcc_options = '-py3'
+ regenerate_qt_resources(examples_path, pyside_rcc_path,
+ pyside_rcc_options)
# Copy Qt libs to package
if OPTION_STANDALONE:
if sys.platform == 'darwin':
@@ -833,6 +841,13 @@ class pyside_build(_build):
"{sources_dir}/pyside-examples/examples",
"{dist_dir}/PySide/examples",
force=False, vars=vars)
+ # Re-generate examples Qt resource files for Python 3 compatibility
+ if sys.version_info[0] == 3:
+ examples_path = "{dist_dir}/PySide/examples".format(**vars)
+ pyside_rcc_path = "{install_dir}/bin/pyside-rcc".format(**vars)
+ pyside_rcc_options = '-py3'
+ regenerate_qt_resources(examples_path, pyside_rcc_path,
+ pyside_rcc_options)
# <ssl_libs>/* -> <setup>/PySide/openssl
copydir("{ssl_libs_dir}", "{dist_dir}/PySide/openssl",
filter=[
diff --git a/utils.py b/utils.py
index 88127b033..487ed5d48 100644
--- a/utils.py
+++ b/utils.py
@@ -425,3 +425,23 @@ def get_environment_from_batch_command(env_cmd, initial=None):
# let the process finish
proc.communicate()
return result
+
+
+def regenerate_qt_resources(src, pyside_rcc_path, pyside_rcc_options):
+ names = os.listdir(src)
+ for name in names:
+ srcname = os.path.join(src, name)
+ if os.path.isdir(srcname):
+ regenerate_qt_resources(srcname,
+ pyside_rcc_path,
+ pyside_rcc_options)
+ elif srcname.endswith('.qrc'):
+ # Replace last occurence of '.qrc' in srcname
+ srcname_split = srcname.rsplit('.qrc', 1)
+ dstname = '_rc.py'.join(srcname_split)
+ if os.path.exists(dstname):
+ log.info('Regenerating %s from %s' % \
+ (dstname, os.path.basename(srcname)))
+ run_process([pyside_rcc_path,
+ pyside_rcc_options,
+ srcname, '-o', dstname])