This finally makes Emacs.app with native-comp fully self-contained, no
longer requiring the GCC Homebrew formula to be installed when
loading *.eln files that link against
/usr/local/lib/gcc/11/libgcc_s.1.dylib.
By adding the signing entitlement
com.apple.security.cs.allow-dyld-environment-variables, which allows
dynamic library loading to be controlled via DYLD_* environment
variables. It seems the lack of this was preventing Emacs from loading
the bundled libgcc_s.1.dylib file from Contents/Frameworks.
Fixes#53
The sign command signs Emacs.app application bundles with Apple's
codesign utility.
It does a few things outside of just executing codesign:
- Is aware of *.eln native-compilation files, which need to be
explicitly searched for on disk and passed to codesign, as they are
not detected when using the "--deep" option.
- Is aware of Contents/MacOS/bin/emacs CLI helper tool which we add into
the application bundle, and specifically passed it to codesign as
well.
- By default provides a set of entitlements which are relevant for Emacs
when running codesign.