Skip to content

macOS signing + notarization - #659

Open
CoffeeFlux wants to merge 22 commits into
TypesettingTools:masterfrom
CoffeeFlux:macos-signing-notarization
Open

macOS signing + notarization#659
CoffeeFlux wants to merge 22 commits into
TypesettingTools:masterfrom
CoffeeFlux:macos-signing-notarization

Conversation

@CoffeeFlux

@CoffeeFlux CoffeeFlux commented Aug 5, 2026

Copy link
Copy Markdown
Member

In preparation for 3.5.0. Seems to work locally at least!

@CoffeeFlux
CoffeeFlux requested a review from arch1t3cht August 5, 2026 22:34
@CoffeeFlux
CoffeeFlux marked this pull request as ready for review August 5, 2026 22:34
@CoffeeFlux

Copy link
Copy Markdown
Member Author

Apparently this CI build is crashing for others, so I need to test the artifacts? The fully signed thing worked locally but I'll iron out the kinks here.

@CoffeeFlux CoffeeFlux changed the title Macos signing notarization macOS signing + notarization Aug 12, 2026
@CoffeeFlux
CoffeeFlux marked this pull request as draft August 12, 2026 19:03
@CoffeeFlux

Copy link
Copy Markdown
Member Author

OK these should run. Tested locally.

@CoffeeFlux

Copy link
Copy Markdown
Member Author

Draft until I get time to review this in full.

@CoffeeFlux CoffeeFlux added this to the 3.5.0 milestone Aug 21, 2026
@CoffeeFlux
CoffeeFlux force-pushed the macos-signing-notarization branch from 891c84d to aa16d03 Compare August 21, 2026 19:03

@arch1t3cht arch1t3cht left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Most of this seems fine to me, given that it's build-system wrangling that mainly has to work on the CI and the release build machine. Just a few notes.

Comment thread .github/workflows/ci.yml
if: startsWith(matrix.config.os, 'macos-') && matrix.config.buildtype == 'release'
with:
name: ${{ matrix.config.name }} - installer
name: ${{ matrix.config.name }} - ad-hoc installer

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

If the mac debug jobs no longer upload their bundles as artifacts, is there a reason why they're still kept around at all? I guess to make sure that Aegisub still builds with homebrew's libraries and/or do document how to do so?

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

Yes, it's to ensure homebrew keeps working. The artifacts were never very useful.

Comment thread meson.build Outdated
target: 'wxmono')
endif

if libpng_dep.type_name() == 'internal'

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

FWIW, libpng is not actually needed as a dependency outside of wxWidgets. (It's an optional dependency for libass and freetype, but libass only needs it for its test program, and freetype is only required by libass which does not need it's libpng-dependent features.) So it could also be removed entirely, unless there's some reason why the wrap should be preferred to wxWidgets's builtin version, or libpng is likely to be needed by Aegisub itself in the future.

Comment thread tools/osx-bundle.sh Outdated
codesign -s ${AEGISUB_BUNDLE_SIGNATURE:--} -vf "${PKG_DIR}/"
# Preserve the historical ability to request a Developer ID-signed bundle,
# while treating an unset identity as a development/ad-hoc operation. An
# explicitly set but empty identity is still rejected by osx-sign.sh.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Somewhat redundant comment. Also, if I understand the logic correctly, it can also be written more concisely as just

AEGISUB_BUNDLE_SIGNATURE=${AEGISUB_BUNDLE_SIGNATURE:--} "${SRC_DIR}/tools/osx-sign.sh" "${SRC_DIR}" "${PKG_DIR}"

In fact, I'd also be fine with removing the fallback logic entirely, seeing as the CI and README already document that AEGISUB_BUNDLE_SIGNATURE should be explicitly set.

@CoffeeFlux
CoffeeFlux force-pushed the macos-signing-notarization branch from 3872062 to 6242e3a Compare September 4, 2026 22:39
@CoffeeFlux
CoffeeFlux marked this pull request as ready for review September 5, 2026 00:29
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants