mirror of
https://github.com/jimeh/build-emacs-for-macos.git
synced 2026-02-19 13:06:38 +00:00
Compare commits
3 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
9223ff8e28
|
|||
|
70bf6b05d5
|
|||
|
8936f4762a
|
@@ -2,6 +2,13 @@
|
|||||||
|
|
||||||
All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines.
|
All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines.
|
||||||
|
|
||||||
|
### [0.4.1](https://github.com/jimeh/build-emacs-for-macos/compare/0.4.0...0.4.1) (2020-10-29)
|
||||||
|
|
||||||
|
|
||||||
|
### Features
|
||||||
|
|
||||||
|
* **native_comp:** remove patch based on feature/native-comp-macos-fixes branch ([70bf6b0](https://github.com/jimeh/build-emacs-for-macos/commit/70bf6b05d584976632b2fd2947c0bf692f5b6421))
|
||||||
|
|
||||||
## [0.4.0](https://github.com/jimeh/build-emacs-for-macos/compare/0.3.0...0.4.0) (2020-10-04)
|
## [0.4.0](https://github.com/jimeh/build-emacs-for-macos/compare/0.3.0...0.4.0) (2020-10-04)
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
24
README.md
24
README.md
@@ -112,6 +112,30 @@ All sources as downloaded as tarballs from the
|
|||||||
to get a list of tags/branches available to install, simply check said
|
to get a list of tags/branches available to install, simply check said
|
||||||
repository.
|
repository.
|
||||||
|
|
||||||
|
## Use Self-Contained Emacs.app as `emacs` CLI Tool
|
||||||
|
|
||||||
|
As the application bundle is self-contained, the main executable needs to be run
|
||||||
|
from within the application bundle. This means a simple symlink to
|
||||||
|
`Emacs.app/Contents/MacOS/Emacs` will not work. Instead the best approach is to
|
||||||
|
create a shell alias called `emacs` pointing to the right place.
|
||||||
|
|
||||||
|
Personally I use something similar to this:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
if [ -f "/Applications/Emacs.app/Contents/MacOS/Emacs" ]; then
|
||||||
|
export EMACS="/Applications/Emacs.app/Contents/MacOS/Emacs"
|
||||||
|
alias emacs="$EMACS -nw"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ -f "/Applications/Emacs.app/Contents/MacOS/bin/emacsclient" ]; then
|
||||||
|
alias emacsclient="/Applications/Emacs.app/Contents/MacOS/bin/emacsclient"
|
||||||
|
fi
|
||||||
|
```
|
||||||
|
|
||||||
|
Setting the `EMACS` variable to the binary path seems to be a good idea, as some
|
||||||
|
tools seems to use it to figure out the path to Emacs' executable, including
|
||||||
|
[doom-emacs](https://github.com/hlissner/doom-emacs)' `doom` CLI tool.
|
||||||
|
|
||||||
## Native-Comp
|
## Native-Comp
|
||||||
|
|
||||||
Building a Emacs.app with native-comp support
|
Building a Emacs.app with native-comp support
|
||||||
|
|||||||
@@ -258,10 +258,6 @@ class Build
|
|||||||
verify_native_comp
|
verify_native_comp
|
||||||
verify_libgccjit
|
verify_libgccjit
|
||||||
|
|
||||||
if options[:macos_fixes] && ref != 'feature/native-comp-macos-fixes'
|
|
||||||
apply_native_comp_macos_fixes
|
|
||||||
end
|
|
||||||
|
|
||||||
apply_native_comp_env_setup_patch(source)
|
apply_native_comp_env_setup_patch(source)
|
||||||
|
|
||||||
ENV['CFLAGS'] = [
|
ENV['CFLAGS'] = [
|
||||||
@@ -446,37 +442,6 @@ class Build
|
|||||||
)
|
)
|
||||||
end
|
end
|
||||||
|
|
||||||
def apply_native_comp_macos_fixes
|
|
||||||
filename = 'Makefile.in'
|
|
||||||
pattern = /^src: Makefile\n(.*BIN_DESTDIR.*)\nblessmail: Makefile src\n/m
|
|
||||||
content = File.read(filename).gsub(pattern) do
|
|
||||||
old_src_body = Regexp.last_match(1).strip
|
|
||||||
|
|
||||||
# check if already patched
|
|
||||||
if old_src_body.include?('BIN_DESTDIR=\'${ns_appbindir}/\'')
|
|
||||||
return old_src_body
|
|
||||||
end
|
|
||||||
|
|
||||||
self_contained = old_src_body.gsub(
|
|
||||||
'BIN_DESTDIR=\'$(DESTDIR)${bindir}/\'',
|
|
||||||
'BIN_DESTDIR=\'${ns_appbindir}/\''
|
|
||||||
)
|
|
||||||
|
|
||||||
<<~REPLACEMENT
|
|
||||||
src: Makefile
|
|
||||||
ifeq (${ns_self_contained},no)
|
|
||||||
\t#{old_src_body}
|
|
||||||
else
|
|
||||||
\t#{self_contained}
|
|
||||||
endif
|
|
||||||
|
|
||||||
blessmail: Makefile src
|
|
||||||
REPLACEMENT
|
|
||||||
end
|
|
||||||
|
|
||||||
File.open(filename, 'w') { |f| f.write(content) }
|
|
||||||
end
|
|
||||||
|
|
||||||
def effective_version
|
def effective_version
|
||||||
@effective_version ||= begin
|
@effective_version ||= begin
|
||||||
case ref
|
case ref
|
||||||
|
|||||||
Reference in New Issue
Block a user