Skip to content

Commit

Permalink
Fix pyinstaller file generation in some cases
Browse files Browse the repository at this point in the history
  • Loading branch information
wawanbreton committed Nov 14, 2024
1 parent 3910ab0 commit f50676a
Showing 1 changed file with 6 additions and 4 deletions.
10 changes: 6 additions & 4 deletions conanfile.py
Original file line number Diff line number Diff line change
Expand Up @@ -190,7 +190,7 @@ def _generate_cura_version(self, location):
python_installs=self._python_installs(),
))

def _generate_pyinstaller_spec(self, location, entrypoint_location, icon_path, entitlements_file):
def _generate_pyinstaller_spec(self, location, entrypoint_location, icon_path, entitlements_file, cura_source_folder):
pyinstaller_metadata = self.conan_data["pyinstaller"]
datas = []
for data in pyinstaller_metadata["datas"].values():
Expand All @@ -202,7 +202,7 @@ def _generate_pyinstaller_spec(self, location, entrypoint_location, icon_path, e

if "package" in data: # get the paths from conan package
if data["package"] == self.name:
src_path = str(Path(self.source_folder, data["src"]))
src_path = str(Path(cura_source_folder, data["src"]))
else:
if data["package"] not in self.dependencies:
raise ConanException(f"Required package {data["package"]} does not exist as a dependency")
Expand Down Expand Up @@ -391,7 +391,8 @@ def generate(self):
icon_path="'{}'".format(os.path.join(self.source_folder, "packaging",
self.conan_data["pyinstaller"]["icon"][
str(self.settings.os)])).replace("\\", "\\\\"),
entitlements_file=entitlements_file if self.settings.os == "Macos" else "None"
entitlements_file=entitlements_file if self.settings.os == "Macos" else "None",
cura_source_folder=self.source_folder
)

if self.options.get_safe("enable_i18n", False) and self._i18n_options["extract"]:
Expand Down Expand Up @@ -460,7 +461,8 @@ def deploy(self):
self._generate_pyinstaller_spec(location = self.deploy_folder,
entrypoint_location = "'{}'".format(os.path.join(self.package_folder, self.cpp_info.bindirs[0], self.conan_data["pyinstaller"]["runinfo"]["entrypoint"])).replace("\\", "\\\\"),
icon_path = "'{}'".format(os.path.join(self.package_folder, self.cpp_info.resdirs[2], self.conan_data["pyinstaller"]["icon"][str(self.settings.os)])).replace("\\", "\\\\"),
entitlements_file = entitlements_file if self.settings.os == "Macos" else "None")
entitlements_file = entitlements_file if self.settings.os == "Macos" else "None",
cura_source_folder = self.package_folder)

def package(self):
copy(self, "cura_app.py", src = self.source_folder, dst = os.path.join(self.package_folder, self.cpp.package.bindirs[0]))
Expand Down

0 comments on commit f50676a

Please sign in to comment.