Allow for pyinstaller to sign the files on MacOS

Contributes to CURA-9365
This commit is contained in:
j.spijker@ultimaker.com 2022-07-01 05:34:52 +02:00 committed by Jelle Spijker
parent 055eda2856
commit e9cbad1164
2 changed files with 10 additions and 7 deletions

View file

@ -1,5 +1,6 @@
# -*- mode: python ; coding: utf-8 -*-
from PyInstaller.utils.hooks import collect_all
import os
datas = {{ datas }}
binaries = {{ binaries }}
@ -43,8 +44,8 @@ exe = EXE(
disable_windowed_traceback=False,
argv_emulation=False,
target_arch=None,
codesign_identity=None,
entitlements_file=None,
codesign_identity=os.getenv('CODESIGN_IDENTITY', None),
entitlements_file={{ entitlements_file }},
icon=r'{{ icon }}'
)
coll = COLLECT(

View file

@ -137,7 +137,7 @@ class CuraConan(ConanFile):
cura_marketplace_root = self._marketplace_root,
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"]
datas = []
for data in pyinstaller_metadata["datas"].values():
@ -187,7 +187,8 @@ class CuraConan(ConanFile):
binaries = binaries,
hiddenimports = pyinstaller_metadata["hiddenimports"],
collect_all = pyinstaller_metadata["collect_all"],
icon = icon_path
icon = icon_path,
entitlements_file = entitlements_file
))
def source(self):
@ -223,7 +224,8 @@ class CuraConan(ConanFile):
if self.options.devtools:
self._generate_pyinstaller_spec(self.generators_folder,
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):
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_pyinstaller_spec(self._base_dir,
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):
self.copy("cura_app.py", src = ".", dst = self.cpp.package.bindirs[0])