aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--build_scripts/platforms/linux.py30
-rw-r--r--build_scripts/platforms/macos.py19
-rw-r--r--build_scripts/platforms/unix.py7
-rw-r--r--build_scripts/platforms/windows_desktop.py15
-rw-r--r--build_scripts/utils.py23
5 files changed, 48 insertions, 46 deletions
diff --git a/build_scripts/platforms/linux.py b/build_scripts/platforms/linux.py
index 9ea1993c6..c99a6e925 100644
--- a/build_scripts/platforms/linux.py
+++ b/build_scripts/platforms/linux.py
@@ -30,9 +30,9 @@ def prepare_standalone_package_linux(pyside_build, _vars, cross_build=False):
should_copy_icu_libs = False
# <qt>/lib/* -> <setup>/{st_package_name}/Qt/lib
- destination_dir = "{st_build_dir}/{st_package_name}".format(**_vars)
- destination_qt_dir = f"{destination_dir}/Qt"
- destination_qt_lib_dir = f"{destination_qt_dir}/lib"
+ destination_dir = Path("{st_build_dir}/{st_package_name}".format(**_vars))
+ destination_qt_dir = destination_dir / "Qt"
+ destination_qt_lib_dir = destination_qt_dir / "lib"
accepted_modules = ['libQt6*.so.?']
if constrain_modules:
@@ -64,14 +64,14 @@ def prepare_standalone_package_linux(pyside_build, _vars, cross_build=False):
# Patching designer to use the Qt libraries provided in the wheel
if config.is_internal_pyside_build() and not OPTION['NO_QT_TOOLS']:
- assistant_path = f"{destination_dir}/assistant"
+ assistant_path = destination_dir / "assistant"
linux_patch_executable(pyside_build._patchelf_path, assistant_path)
- designer_path = f"{destination_dir}/designer"
+ designer_path = destination_dir / "designer"
linux_patch_executable(pyside_build._patchelf_path, designer_path)
if pyside_build.is_webengine_built(built_modules):
copydir("{qt_data_dir}/resources",
- f"{destination_qt_dir}/resources",
+ destination_qt_dir / "resources",
_filter=None,
recursive=False,
_vars=_vars)
@@ -79,25 +79,25 @@ def prepare_standalone_package_linux(pyside_build, _vars, cross_build=False):
if copy_plugins:
is_pypy = "pypy" in pyside_build.build_classifiers
# <qt>/plugins/* -> <setup>/{st_package_name}/Qt/plugins
- plugins_target = f"{destination_qt_dir}/plugins"
+ plugins_target = destination_qt_dir / "plugins"
copydir("{qt_plugins_dir}", plugins_target,
_filter=["*.so"],
recursive=True,
_vars=_vars)
if not is_pypy:
copydir("{install_dir}/plugins/designer",
- f"{plugins_target}/designer",
+ plugins_target / "designer",
_filter=["*.so"],
recursive=False,
_vars=_vars)
copied_plugins = pyside_build.get_shared_libraries_in_path_recursively(
- plugins_target.format(**_vars))
+ os.fspath(plugins_target))
pyside_build.update_rpath_for_linux_plugins(copied_plugins)
if copy_qml:
# <qt>/qml/* -> <setup>/{st_package_name}/Qt/qml
- qml_plugins_target = f"{destination_qt_dir}/qml"
+ qml_plugins_target = destination_qt_dir / "qml"
copydir("{qt_qml_dir}",
qml_plugins_target,
_filter=None,
@@ -106,7 +106,7 @@ def prepare_standalone_package_linux(pyside_build, _vars, cross_build=False):
ignore=["*.debug"],
_vars=_vars)
copied_plugins = pyside_build.get_shared_libraries_in_path_recursively(
- qml_plugins_target)
+ os.fspath(qml_plugins_target))
pyside_build.update_rpath_for_linux_plugins(
copied_plugins,
qt_lib_dir=destination_qt_lib_dir,
@@ -116,15 +116,15 @@ def prepare_standalone_package_linux(pyside_build, _vars, cross_build=False):
# <qt>/translations/* ->
# <setup>/{st_package_name}/Qt/translations
copydir("{qt_translations_dir}",
- f"{destination_qt_dir}/translations",
+ destination_qt_dir / "translations",
_filter=["*.qm", "*.pak"],
force=False,
_vars=_vars)
if copy_qt_conf:
# Copy the qt.conf file to libexec.
- qt_libexec_path = Path(destination_qt_dir) / "libexec"
+ qt_libexec_path = destination_qt_dir / "libexec"
if not qt_libexec_path.is_dir():
- os.makedirs(qt_libexec_path)
+ qt_libexec_path.mkdir(parents=True)
copyfile(f"{{build_dir}}/{PYSIDE}/{{st_package_name}}/qt.conf",
- str(qt_libexec_path), _vars=_vars)
+ qt_libexec_path, _vars=_vars)
diff --git a/build_scripts/platforms/macos.py b/build_scripts/platforms/macos.py
index 83511db0c..dc76bbeb5 100644
--- a/build_scripts/platforms/macos.py
+++ b/build_scripts/platforms/macos.py
@@ -30,9 +30,9 @@ def prepare_standalone_package_macos(pyside_build, _vars):
copy_translations = True
copy_qt_conf = True
- destination_dir = "{st_build_dir}/{st_package_name}".format(**_vars)
- destination_qt_dir = f"{destination_dir}/Qt"
- destination_qt_lib_dir = f"{destination_qt_dir}/lib"
+ destination_dir = Path("{st_build_dir}/{st_package_name}".format(**_vars))
+ destination_qt_dir = destination_dir / "Qt"
+ destination_qt_lib_dir = destination_qt_dir / "lib"
if config.is_internal_shiboken_generator_build():
constrain_modules = ["Core", "Network", "Xml", "XmlPatterns"]
@@ -109,11 +109,10 @@ def prepare_standalone_package_macos(pyside_build, _vars):
# from Versions/5/Helpers, thus adding two more levels of
# directory hierarchy.
if pyside_build.is_webengine_built(built_modules):
- qt_lib_path = Path(destination_qt_lib_dir)
bundle = Path("QtWebEngineCore.framework/Helpers/") / "QtWebEngineProcess.app"
binary = "Contents/MacOS/QtWebEngineProcess"
webengine_process_path = bundle / binary
- final_path = qt_lib_path / webengine_process_path
+ final_path = destination_qt_lib_dir / webengine_process_path
rpath = "@loader_path/../../../../../"
macos_fix_rpaths_for_library(final_path, rpath)
else:
@@ -132,7 +131,7 @@ def prepare_standalone_package_macos(pyside_build, _vars):
if pyside_build.is_webengine_built(built_modules):
copydir("{qt_data_dir}/resources",
- f"{destination_qt_dir}/resources",
+ destination_qt_dir / "resources",
_filter=None,
recursive=False,
_vars=_vars)
@@ -155,7 +154,7 @@ def prepare_standalone_package_macos(pyside_build, _vars):
if copy_plugins:
is_pypy = "pypy" in pyside_build.build_classifiers
# <qt>/plugins/* -> <setup>/{st_package_name}/Qt/plugins
- plugins_target = f"{destination_qt_dir}/plugins"
+ plugins_target = destination_qt_dir / "plugins"
filters = ["*.dylib"]
copydir("{qt_plugins_dir}", plugins_target,
_filter=filters,
@@ -165,14 +164,14 @@ def prepare_standalone_package_macos(pyside_build, _vars):
_vars=_vars)
if not is_pypy:
copydir("{install_dir}/plugins/designer",
- f"{plugins_target}/designer",
+ plugins_target / "designer",
_filter=filters,
recursive=False,
_vars=_vars)
if copy_qml:
# <qt>/qml/* -> <setup>/{st_package_name}/Qt/qml
- copydir("{qt_qml_dir}", f"{destination_qt_dir}/qml",
+ copydir("{qt_qml_dir}", destination_qt_dir / "qml",
_filter=None,
recursive=True,
force=False,
@@ -183,7 +182,7 @@ def prepare_standalone_package_macos(pyside_build, _vars):
if copy_translations:
# <qt>/translations/* ->
# <setup>/{st_package_name}/Qt/translations
- copydir("{qt_translations_dir}", f"{destination_qt_dir}/translations",
+ copydir("{qt_translations_dir}", destination_qt_dir / "translations",
_filter=["*.qm", "*.pak"],
force=False,
_vars=_vars)
diff --git a/build_scripts/platforms/unix.py b/build_scripts/platforms/unix.py
index 9496b7747..1879f3072 100644
--- a/build_scripts/platforms/unix.py
+++ b/build_scripts/platforms/unix.py
@@ -43,9 +43,8 @@ def prepare_packages_posix(pyside_build, _vars, cross_build=False):
executables = []
libexec_executables = []
- destination_dir = "{st_build_dir}/{st_package_name}".format(**_vars)
- destination_qt_dir = f"{destination_dir}/Qt"
- destination_qt_lib_dir = f"{destination_qt_dir}/lib"
+ destination_dir = Path("{st_build_dir}/{st_package_name}".format(**_vars))
+ destination_qt_dir = destination_dir / "Qt"
# <install>/lib/site-packages/{st_package_name}/* ->
# <setup>/{st_package_name}
@@ -151,7 +150,7 @@ def prepare_packages_posix(pyside_build, _vars, cross_build=False):
lib_exec_filters.append('QtWebEngineProcess')
if lib_exec_filters:
libexec_executables.extend(copydir("{qt_lib_execs_dir}",
- f"{destination_qt_dir}/libexec",
+ destination_qt_dir / "libexec",
_filter=lib_exec_filters,
recursive=False,
_vars=_vars))
diff --git a/build_scripts/platforms/windows_desktop.py b/build_scripts/platforms/windows_desktop.py
index 5a6508ea0..adb0680cd 100644
--- a/build_scripts/platforms/windows_desktop.py
+++ b/build_scripts/platforms/windows_desktop.py
@@ -20,9 +20,8 @@ def prepare_packages_win32(pyside_build, _vars):
if (pyside_build.debug or pyside_build.build_type == 'RelWithDebInfo') and copy_pdbs:
pdbs = ['*.pdb']
- destination_dir = "{st_build_dir}/{st_package_name}".format(**_vars)
+ destination_dir = Path("{st_build_dir}/{st_package_name}".format(**_vars))
destination_qt_dir = destination_dir
- destination_qt_lib_dir = f"{destination_qt_dir}/lib"
# <install>/lib/site-packages/{st_package_name}/* ->
# <setup>/{st_package_name}
@@ -94,7 +93,7 @@ def prepare_packages_win32(pyside_build, _vars):
# <install>/include/* -> <setup>/{st_package_name}/include
copydir(
"{install_dir}/include/{cmake_package_name}",
- f"{destination_dir}/include",
+ destination_dir / "include",
_vars=_vars)
if config.is_internal_pyside_build():
@@ -143,21 +142,21 @@ def prepare_packages_win32(pyside_build, _vars):
# <setup>/{st_package_name}/typesystems
copydir(
"{install_dir}/share/{st_package_name}/typesystems",
- f"{destination_dir}/typesystems",
+ destination_dir / "typesystems",
_vars=_vars)
# <install>/share/{st_package_name}/glue/* ->
# <setup>/{st_package_name}/glue
copydir(
"{install_dir}/share/{st_package_name}/glue",
- f"{destination_dir}/glue",
+ destination_dir / "glue",
_vars=_vars)
# <source>/pyside6/{st_package_name}/support/* ->
# <setup>/{st_package_name}/support/*
copydir(
f"{{build_dir}}/{PYSIDE}/{{st_package_name}}/support",
- f"{destination_dir}/support",
+ destination_dir / "support",
_vars=_vars)
# <source>/pyside6/{st_package_name}/*.pyi ->
@@ -179,12 +178,12 @@ def prepare_packages_win32(pyside_build, _vars):
return True
# examples/* -> <setup>/{st_package_name}/examples
copydir(Path(pyside_build.script_dir) / "examples",
- f"{destination_dir}/examples",
+ destination_dir / "examples",
force=False, _vars=_vars, dir_filter_function=pycache_dir_filter)
if _vars['ssl_libs_dir']:
# <ssl_libs>/* -> <setup>/{st_package_name}/openssl
- copydir("{ssl_libs_dir}", f"{destination_dir}/openssl",
+ copydir("{ssl_libs_dir}", destination_dir / "openssl",
_filter=[
"libeay32.dll",
"ssleay32.dll"],
diff --git a/build_scripts/utils.py b/build_scripts/utils.py
index b79c2294f..8cd947b32 100644
--- a/build_scripts/utils.py
+++ b/build_scripts/utils.py
@@ -251,12 +251,12 @@ def platform_cmake_options(as_tuple_list=False):
def copyfile(src, dst, force=True, _vars=None, force_copy_symlink=False,
make_writable_by_owner=False):
- if _vars is not None:
- src = Path(str(src).format(**_vars))
- dst = Path(str(dst).format(**_vars))
- else:
- src = Path(src)
- dst = Path(dst)
+ if isinstance(src, str):
+ src = Path(src.format(**_vars)) if _vars else Path(src)
+ if isinstance(dst, str):
+ dst = Path(dst.format(**_vars)) if _vars else Path(dst)
+ assert(isinstance(src, Path))
+ assert(isinstance(dst, Path))
if not src.exists() and not force:
log.info(f"**Skipping copy file\n {src} to\n {dst}\n Source does not exist")
@@ -327,9 +327,14 @@ def makefile(dst, content=None, _vars=None):
def copydir(src, dst, _filter=None, ignore=None, force=True, recursive=True, _vars=None,
dir_filter_function=None, file_filter_function=None, force_copy_symlinks=False):
+ if isinstance(src, str):
+ src = Path(src.format(**_vars)) if _vars else Path(src)
+ if isinstance(dst, str):
+ dst = Path(dst.format(**_vars)) if _vars else Path(dst)
+ assert(isinstance(src, Path))
+ assert(isinstance(dst, Path))
+
if _vars is not None:
- src = Path(str(src).format(**_vars))
- dst = Path(str(dst).format(**_vars))
if _filter is not None:
_filter = [i.format(**_vars) for i in _filter]
if ignore is not None:
@@ -1404,6 +1409,6 @@ def copy_qt_metatypes(destination_qt_dir, _vars):
qt_meta_types_dir = "{qt_metatypes_dir}".format(**_vars)
qt_prefix_dir = "{qt_prefix_dir}".format(**_vars)
rel_meta_data_dir = os.fspath(Path(qt_meta_types_dir).relative_to(qt_prefix_dir))
- copydir(qt_meta_types_dir, f"{destination_qt_dir}/{rel_meta_data_dir}",
+ copydir(qt_meta_types_dir, destination_qt_dir / rel_meta_data_dir,
_filter=["*.json"],
recursive=False, _vars=_vars, force_copy_symlinks=True)