Skip to content

Build: Build and sign application budle for macOS #4308

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Draft
wants to merge 25 commits into
base: main
Choose a base branch
from
Draft

Conversation

mretegan
Copy link
Member

The PR updates the PyInstaller build scripts to build an application bundle for macOS. It also submits the application for notarization with Apple.

@mretegan mretegan marked this pull request as draft April 17, 2025 11:29
@mretegan mretegan requested a review from Copilot April 17, 2025 11:33
@mretegan mretegan moved this to In progress in dev week Apr 17, 2025
Copy link

@Copilot Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot reviewed 5 out of 11 changed files in this pull request and generated 2 comments.

Files not reviewed (6)
  • package/windows/codesign.sh: Language not supported
  • package/windows/create-dmg.sh: Language not supported
  • package/windows/entitlements.plist: Language not supported
  • package/windows/notarize.sh: Language not supported
  • requirements-dev.txt: Language not supported
  • tools/svg2icns.sh: Language not supported

Copy link
Member

@t20100 t20100 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for the work, that sounds promissing!
We'll have to do 2 different bundles for arm and x86, does this works for both?

Are the files package/desktop/silx.icns and package/windows/DS_Store needed?

Let's rename package/windows. Suggestion: package/pyinstaller?

@@ -0,0 +1,90 @@
# Script to convert SVG files to macOS .icns format.
# Adapted from https://github.com/magnusviri/svg2icns.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Could you copy the copyright + license from the initial script here for reference?

from silx import strictversion

base_name = os.path.join(SPECPATH, "artifacts", f"silx-{strictversion}-windows-application")
# Create a zip archive of the fat binary files.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why not keeping the innosetup and make_zip helper functions instead of replacing them with a comment?

if sys.platform == "darwin":
icon = "silx.icns"
elif sys.platform == "win32":
icon = "silx.ico"
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
icon = "silx.ico"
icon = "silx.ico"
else:
raise RuntimeError("Unsupported platform")

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Status: In progress
Development

Successfully merging this pull request may close these issues.

2 participants