Skip to content

Commit b599a97

Browse files
committed
docs(readme): reflecting emacs ng
1 parent 07e578a commit b599a97

File tree

2 files changed

+79
-194
lines changed

2 files changed

+79
-194
lines changed

README.md

Lines changed: 0 additions & 194 deletions
This file was deleted.

README.org

Lines changed: 79 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,79 @@
1+
#+html: <p align="center">
2+
#+html: <img width="160px" src="https://raw.githubusercontent.com/emacs-ng/emacs-ng/master/images/logo.png" alt="Logo">
3+
#+html: </p>
4+
#+html: <h1 align="center">Emacs NG Builds</h1>
5+
#+html: <p align="center">
6+
#+html: <a href="https://github.com/emacs-ng/emacs-ng/actions/workflows/test.yml"><img alt="General" src="https://github.com/emacs-ng/emacs-ng/actions/workflows/test.yml/badge.svg"></a>
7+
#+html: <a href="https://github.com/emacs-ng/emacsng-darwin-builds/actions/workflows/emacsng.yml"><img alt="Emacs NG" src="https://github.com/emacs-ng/emacsng-darwin-builds/actions/workflows/emacsng.yml/badge.svg"></a>
8+
#+html: <a href="https://github.com/emacs-ng/emacsng-darwin-builds/actions/workflows/emacsng-webrender.yml"><img alt="Emacs NG" src="https://github.com/emacs-ng/emacsng-darwin-builds/actions/workflows/emacsng-webrender.yml/badge.svg"></a>
9+
#+html: </p">
10+
11+
** Features
12+
13+
*** Webrender build
14+
- Webrender support (experimental).
15+
- SVG rendering not supported yet.
16+
- xwidget not surpport yet.
17+
18+
*** Default build
19+
- Self-contained Emacs.app application bundle, with no external dependencies.
20+
- Javascript support (coming soon).
21+
- Native compilation ([[https://www.emacswiki.org/emacs/GccEmacs][gccemacs]]), only in Emacs 28.x and later builds.
22+
- Native JSON parsing via libjansson.
23+
- SVG rendering via librsvg.
24+
- Various image formats are supported via macOS native image APIs.
25+
- Xwidget-webkit support is enabled without Webrender, allowing access to a embedded WebKit-based browser with =M-x xwidget-webkit-browse-url=.
26+
- Native XML parsing via libxml2.
27+
- Dynamic module loading.
28+
- Includes the [[https://github.com/d12frosted/homebrew-emacs-plus/blob/master/patches/emacs-28/fix-window-role.patch][fix-window-role]], [[https://github.com/d12frosted/homebrew-emacs-plus/blob/master/patches/emacs-28/system-appearance.patch][system-appearance]], and [[https://github.com/d12frosted/homebrew-emacs-plus/blob/master/patches/emacs-29/round-undecorated-frame.patch][round-undecorated-frame]] patches from the excellent [[https://github.com/d12frosted/homebrew-emacs-plus][emacs-plus]] project.
29+
- Emacs source is fetched from the [[https://github.com/emacs-mirror/emacs][emacs-mirror/emacs]] GitHub repository.
30+
- Build creation is transparent and public through the use of GitHub Actions, allowing anyone to inspect git commit SHAs, full source code, and exact commands used to produce a build.
31+
- Emacs.app is signed with a developer certificate and notarized by Apple.
32+
- Uses [[https://github.com/emacs-ng/build-emacsng-for-macos][build-emacsng-for-macos]] to build the self-contained application bundle.
33+
34+
** System Requirements
35+
36+
- macOS 11.x (Big Sur) or later (uses Rosetta2 on Apple Silicon machines).
37+
- Xcode Command Line Tools for native compilation (Emacs 28.x and later).
38+
39+
** Installation
40+
*** Manual Download
41+
See the [[https://github.com/emacs-ng/emacsng-darwin-builds/releases][Releases]] page to download latest builds, or [[https://github.com/emacs-ng/emacsng-darwin-builds/releases][here]] for the latest stable release.
42+
43+
*** TODO Homebrew Cask
44+
45+
** Use Emacs.app as =emacs= CLI Tool
46+
*** Installed via Homebrew Cask
47+
The cask installation method sets up CLI usage automatically by exposing a =emacs= command. However it will launch Emacs into GUI mode. To instead have =emacs= in your terminal open a terminal instance of Emacs, add the following alias to your shell setup:
48+
49+
#+begin_src shell
50+
alias emacs="emacs -nw"
51+
#+end_src
52+
53+
*** Installed Manually
54+
Builds come with a custom =emacs= shell script launcher for use from the command line, located next to =emacsclient= in =Emacs.app/Contents/MacOS/bin=.
55+
56+
The custom =emacs= script makes sure to use the main =Emacs.app/Contents/MacOS/Emacs= executable from the correct path, ensuring it finds all the relevant dependencies within the Emacs.app bundle, regardless of if it's exposed via =PATH= or symlinked from elsewhere.
57+
58+
To use it, simply add =Emacs.app/Contents/MacOS/bin= to your =PATH=. For example, if you place Emacs.app in =/Applications=:
59+
60+
#+begin_src shell
61+
if [ -d "/Applications/Emacs.app/Contents/MacOS/bin" ]; then
62+
export PATH="/Applications/Emacs.app/Contents/MacOS/bin:$PATH"
63+
alias emacs="emacs -nw" # Always launch "emacs" in terminal mode.
64+
fi
65+
#+end_src
66+
67+
If you want =emacs= in your terminal to launch a GUI instance of Emacs, don't use the alias from the above example.
68+
69+
** Build Process
70+
Building Emacs is done using the [[https://github.com/emacs-ng/build-emacsng-for-macos][emacs-ng/build-emacsng-for-macos]] build script, executed within a GitHub Actions [[https://github.com/emacs-ng/emacs-darwin-builds/blob/main/.github/workflows/build.yml][workflow]]. This is why macOS 11.x (Big Sur) or later is required, as it's the oldest version of macOS available in GitHub Actions.
71+
72+
Full history for all builds is available on GitHub Actions [[https://github.com/emacs-ng/emacsng-darwin-builds/actions][here]]. Build logs are only retained by GitHub for 90 days though.
73+
74+
Builds are scheduled for 0:00 UTC every night, based on the latest commit from the =master= branch of the [[https://github.com/emacs-ng/emacs-ng][emacs-ng/emacs-ng]] repository. This means a nightly build will only be produced if there have been new commits since the last nightly build.
75+
76+
** TODO Application Signing / Trust
77+
78+
** Issues / To-Do
79+
Please see [[https://github.com/emacs-ng/emacsng-darwin-builds/issues][Issues]] for details of things to come, or to report issues.

0 commit comments

Comments
 (0)