mirror of
https://github.com/Ultimaker/Cura.git
synced 2025-07-23 06:33:55 -06:00
Allow for pyinstaller to sign the files on MacOS
Contributes to CURA-9365
This commit is contained in:
parent
055eda2856
commit
e9cbad1164
2 changed files with 10 additions and 7 deletions
|
@ -1,5 +1,6 @@
|
||||||
# -*- mode: python ; coding: utf-8 -*-
|
# -*- mode: python ; coding: utf-8 -*-
|
||||||
from PyInstaller.utils.hooks import collect_all
|
from PyInstaller.utils.hooks import collect_all
|
||||||
|
import os
|
||||||
|
|
||||||
datas = {{ datas }}
|
datas = {{ datas }}
|
||||||
binaries = {{ binaries }}
|
binaries = {{ binaries }}
|
||||||
|
@ -43,8 +44,8 @@ exe = EXE(
|
||||||
disable_windowed_traceback=False,
|
disable_windowed_traceback=False,
|
||||||
argv_emulation=False,
|
argv_emulation=False,
|
||||||
target_arch=None,
|
target_arch=None,
|
||||||
codesign_identity=None,
|
codesign_identity=os.getenv('CODESIGN_IDENTITY', None),
|
||||||
entitlements_file=None,
|
entitlements_file={{ entitlements_file }},
|
||||||
icon=r'{{ icon }}'
|
icon=r'{{ icon }}'
|
||||||
)
|
)
|
||||||
coll = COLLECT(
|
coll = COLLECT(
|
||||||
|
|
12
conanfile.py
12
conanfile.py
|
@ -137,7 +137,7 @@ class CuraConan(ConanFile):
|
||||||
cura_marketplace_root = self._marketplace_root,
|
cura_marketplace_root = self._marketplace_root,
|
||||||
cura_digital_factory_url = self._digital_factory_url))
|
cura_digital_factory_url = self._digital_factory_url))
|
||||||
|
|
||||||
def _generate_pyinstaller_spec(self, location, entrypoint_location, icon_path):
|
def _generate_pyinstaller_spec(self, location, entrypoint_location, icon_path, entitlements_file):
|
||||||
pyinstaller_metadata = self._um_data(self.version)["pyinstaller"]
|
pyinstaller_metadata = self._um_data(self.version)["pyinstaller"]
|
||||||
datas = []
|
datas = []
|
||||||
for data in pyinstaller_metadata["datas"].values():
|
for data in pyinstaller_metadata["datas"].values():
|
||||||
|
@ -187,7 +187,8 @@ class CuraConan(ConanFile):
|
||||||
binaries = binaries,
|
binaries = binaries,
|
||||||
hiddenimports = pyinstaller_metadata["hiddenimports"],
|
hiddenimports = pyinstaller_metadata["hiddenimports"],
|
||||||
collect_all = pyinstaller_metadata["collect_all"],
|
collect_all = pyinstaller_metadata["collect_all"],
|
||||||
icon = icon_path
|
icon = icon_path,
|
||||||
|
entitlements_file = entitlements_file
|
||||||
))
|
))
|
||||||
|
|
||||||
def source(self):
|
def source(self):
|
||||||
|
@ -223,7 +224,8 @@ class CuraConan(ConanFile):
|
||||||
if self.options.devtools:
|
if self.options.devtools:
|
||||||
self._generate_pyinstaller_spec(self.generators_folder,
|
self._generate_pyinstaller_spec(self.generators_folder,
|
||||||
Path(self.source_folder, self._um_data(self.version)["runinfo"]["entrypoint"]),
|
Path(self.source_folder, self._um_data(self.version)["runinfo"]["entrypoint"]),
|
||||||
Path(self.source_folder, "packaging", self._um_data(self.version)["pyinstaller"]["icon"][str(self.settings.os)]))
|
Path(self.source_folder, "packaging", self._um_data(self.version)["pyinstaller"]["icon"][str(self.settings.os)]),
|
||||||
|
Path(self.source_folder, "packaging", "signing", "cura.entitlements" if self.settings.os == "Macos" else None))
|
||||||
|
|
||||||
def imports(self):
|
def imports(self):
|
||||||
self.copy("CuraEngine.exe", root_package = "curaengine", src = "@bindirs", dst = "", keep_path = False)
|
self.copy("CuraEngine.exe", root_package = "curaengine", src = "@bindirs", dst = "", keep_path = False)
|
||||||
|
@ -297,8 +299,8 @@ class CuraConan(ConanFile):
|
||||||
self._generate_cura_version(Path(self._site_packages, "cura"))
|
self._generate_cura_version(Path(self._site_packages, "cura"))
|
||||||
self._generate_pyinstaller_spec(self._base_dir,
|
self._generate_pyinstaller_spec(self._base_dir,
|
||||||
Path(self.cpp_info.bin_paths[0], self._um_data(self.version)["runinfo"]["entrypoint"]),
|
Path(self.cpp_info.bin_paths[0], self._um_data(self.version)["runinfo"]["entrypoint"]),
|
||||||
Path(self.cpp_info.res_paths[2], self._um_data(self.version)["pyinstaller"]["icon"][str(self.settings.os)]))
|
Path(self.cpp_info.res_paths[2], self._um_data(self.version)["pyinstaller"]["icon"][str(self.settings.os)]),
|
||||||
|
Path(self.source_folder, "packaging", "signing", "cura.entitlements" if self.settings.os == "Macos" else None))
|
||||||
|
|
||||||
def package(self):
|
def package(self):
|
||||||
self.copy("cura_app.py", src = ".", dst = self.cpp.package.bindirs[0])
|
self.copy("cura_app.py", src = ".", dst = self.cpp.package.bindirs[0])
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue