Skip to content

Conversation

ychin
Copy link
Member

@ychin ychin commented Jul 23, 2025

By default, building MacVim locally will sign with an ad-hoc signature with no entitlements. Release builds are then signed with the macvim-signed target which signs MacVim with a valid signature and embed the entitlments. This new target allows us to sign MacVim to have similar entitlements and behaviors as a release build without needing an Apple Developer signature.

There are currently two possible use cases for this:

  1. Package managers like Homebrew can use this to build MacVim to get the correct hardened runtime entitlements.
  2. Reproducible builds (Epic: Support reproducible builds #1506) can use this to generate a reproducible artifact. Proper release builds are not reproducible since there's no way for a proper digital signature to be reproduced, but we can strip and re-sign with an ad-hoc signature reproducibly using this target for a decent compromise.

Related: #1585

@ychin ychin added this to the Release 182 milestone Jul 23, 2025
@ychin ychin added the Non User Facing Non-user facing change. These issues do no need to show up in release notes. label Jul 23, 2025
By default, building MacVim locally will sign with an ad-hoc signature with no
entitlements. Release builds are then signed with the `macvim-signed`
target which signs MacVim with a valid signature and embed the
entitlments. This new target allows us to sign MacVim to have similar
entitlements and behaviors as a release build without needing an Apple
Developer signature.

There are currently two possible use cases for this:
1. Package managers like Homebrew can use this to build MacVim to get
   the correct hardened runtime entitlements.
2. Reproducible builds (macvim-dev#1506) can use this to generate a reproducible
   artifact. Proper release builds are not reproducible since there's no
   way for a proper digital signature to be reproduced, but we can strip
   and re-sign with an ad-hoc signature reproducibly using this target
   for a decent compromise.

Related: macvim-dev#1585
@ychin ychin force-pushed the make-macvim-signed-adhoc branch from ae95916 to 601f23a Compare July 23, 2025 01:26
@ychin ychin mentioned this pull request Jul 23, 2025
9 tasks
@ychin ychin merged commit 07e1b2e into macvim-dev:master Jul 23, 2025
2 of 5 checks passed
@ychin ychin deleted the make-macvim-signed-adhoc branch July 23, 2025 01:27
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Non User Facing Non-user facing change. These issues do no need to show up in release notes.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant