Compare commits

..

18 Commits

Author SHA1 Message Date
1f67047d8d fix(build): add missing --no-archive flag to build script 2021-08-05 10:36:18 +01:00
9809dd349e fix(test-build): build plan is needed by package job 2021-08-05 10:35:55 +01:00
a4b07f609d chore(deps): update build-emacs-for-macos to 0.6.15 2021-08-05 02:39:18 +01:00
1049006024 chore(deps): update build-emacs-for-macos to 0.6.14 2021-08-05 01:22:09 +01:00
1ba8aaecfd chore(test-build): fix builder sha lookup, remove caching
The caching idea is somewhat flawed, as there's a lot of things that
cane effect the outcome, and they're difficult to boil down into a
single unique key.
2021-08-05 01:21:02 +01:00
6561dc4a02 chore(test-build): cache unsigned app based on builder git sha and build-plan.yml hash 2021-08-05 00:44:40 +01:00
dae8939b35 fix(build): disable relinking shared libs in *.eln files
Relinking the libgcc shared lib within bundled *.eln files seems to
prevent code signing from having enough space to add a signature to the
files. So for now it looks like we have to disable it.
2021-08-05 00:11:17 +01:00
baea14c975 chore(deps): update build-emacs-for-macos to 0.6.13 2021-08-05 00:08:00 +01:00
ee9e58b873 chore(deps): update build-emacs-for-macos to 0.6.12
Should resolve code signing issue which has been preventing new nightly
builds.
2021-08-03 00:20:40 +01:00
04d20d42a4 chore(deps): update build-emacs-for-macos to 0.6.11
Fixes issue with code signing *.eln files.
2021-07-17 13:10:18 +01:00
259b0ac92b chore(deps): update build-emacs-for-macos to 0.6.9
Fixes:

- native-comp: *.eln files were not being found during shared lib
  embedding
2021-07-17 00:27:58 +01:00
162f9ad529 docs(readme): update requirements to mention M1-based macs 2021-07-13 21:36:42 +01:00
a6324b58c9 docs(readme): add link to homebrew tap 2021-07-10 21:21:11 +01:00
9be0607ee5 chore(deps): update build-emacs-for-macos to 0.6.9 2021-07-04 23:29:43 +01:00
18f753e476 docs(readme): update version badges 2021-07-04 18:32:28 +01:00
9e71a079a9 docs(readme): fix typo 2021-07-03 02:55:49 +01:00
8e92655b4b docs(readme): add information about stable builds 2021-07-03 02:54:32 +01:00
1782d42a7d docs(readme): add stable/nightly badges 2021-07-03 02:11:51 +01:00
3 changed files with 74 additions and 31 deletions

View File

@@ -40,7 +40,7 @@ jobs:
uses: actions/checkout@v2
with:
repository: jimeh/build-emacs-for-macos
ref: "v0.6.8"
ref: "v0.6.15"
path: builder
- uses: actions/setup-go@v2
with:
@@ -96,7 +96,7 @@ jobs:
uses: actions/checkout@v2
with:
repository: jimeh/build-emacs-for-macos
ref: "v0.6.8"
ref: "v0.6.15"
path: builder
- uses: ruby/setup-ruby@v1
with:
@@ -121,7 +121,8 @@ jobs:
- name: Build Emacs
run: >-
./builder/build-emacs-for-macos --plan build-plan.yml
--native-full-aot ${{ github.event.inputs.extraBuildArgs }}
--no-relink-eln-files --native-full-aot --no-archive
${{ github.event.inputs.extraBuildArgs }}
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Install the Apple signing certificate

View File

@@ -29,7 +29,7 @@ on:
extraBuildArgs:
description: "Extra build args"
required: false
default: ""
default: "--native-full-aot --no-relink-eln-files"
extraPackageArgs:
description: "Extra package args"
required: false
@@ -43,7 +43,8 @@ jobs:
plan:
runs-on: macos-10.15
outputs:
check: "${{ steps.check.outcome }}"
check: ${{ steps.check.outcome }}
builder_sha: ${{ steps.builder_sha.outputs.sha }}
steps:
- name: Checkout build-emacs-for-macos repo
uses: actions/checkout@v2
@@ -51,11 +52,14 @@ jobs:
repository: jimeh/build-emacs-for-macos
ref: ${{ github.event.inputs.emacsBuilderGitRef }}
path: builder
- name: Store builder Git SHA
id: builder_sha
run: echo "::set-output name=sha::$(git rev-parse HEAD)"
working-directory: builder
- uses: actions/setup-go@v2
with:
go-version: 1.16
- uses: actions/cache@v2
id: builder-cache
with:
path: ~/go/pkg/mod
key: ${{ runner.os }}-go-${{ hashFiles('builder/**/go.sum') }}
@@ -107,7 +111,7 @@ jobs:
uses: actions/checkout@v2
with:
repository: jimeh/build-emacs-for-macos
ref: ${{ github.event.inputs.emacsBuilderGitRef }}
ref: ${{ needs.plan.outputs.builder_sha }}
path: builder
- uses: ruby/setup-ruby@v1
with:
@@ -115,9 +119,39 @@ jobs:
- name: Install dependencies
run: make bootstrap-ci
working-directory: builder
- name: Download build-plan.yml artifact
uses: actions/download-artifact@v2
with:
name: build-plan.yml
path: ./
- name: Build Emacs
run: >-
./builder/build-emacs-for-macos --plan build-plan.yml
${{ github.event.inputs.extraBuildArgs }}
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Upload unsigned app artifact
uses: actions/upload-artifact@v2
with:
name: unsigned-app
path: builds/*.tbz
if-no-files-found: error
package:
runs-on: macos-10.15
needs: [build]
steps:
- name: Download unsigned app artifact
uses: actions/download-artifact@v2
with:
name: unsigned-app
path: builds
- name: Extract unsigned app archive
run: |
find * -name '*.tbz' -exec tar xvjf "{}" \;
working-directory: builds
- name: Download pre-built emacs-builder artifact
uses: actions/download-artifact@v2
id: builder
with:
name: emacs-builder
path: bin
@@ -125,16 +159,9 @@ jobs:
run: chmod +x bin/emacs-builder
- name: Download build-plan.yml artifact
uses: actions/download-artifact@v2
id: plan
with:
name: build-plan.yml
path: ./
- name: Build Emacs
run: >-
./builder/build-emacs-for-macos --plan build-plan.yml
--native-full-aot ${{ github.event.inputs.extraBuildArgs }}
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Install the Apple signing certificate
run: |
# create variables
@@ -160,8 +187,7 @@ jobs:
- name: Sign, package and notarize build
run: >-
bin/emacs-builder -l debug package -v --plan build-plan.yml
--sign --remove-source-dir
${{ github.event.inputs.extraPackageArgs }}
--sign ${{ github.event.inputs.extraPackageArgs }}
env:
AC_USERNAME: ${{ secrets.AC_USERNAME }}
AC_PASSWORD: ${{ secrets.AC_PASSWORD }}
@@ -170,7 +196,7 @@ jobs:
- name: Upload disk image artifacts
uses: actions/upload-artifact@v2
with:
name: dmg
name: signed-dmg
path: |
builds/*.dmg
builds/*.sha*
@@ -182,11 +208,10 @@ jobs:
release:
runs-on: macos-10.15
needs: [build]
needs: [package]
steps:
- name: Download pre-built emacs-builder artifact
uses: actions/download-artifact@v2
id: builder
with:
name: emacs-builder
path: bin
@@ -194,14 +219,13 @@ jobs:
run: chmod +x bin/emacs-builder
- name: Download build-plan.yml artifact
uses: actions/download-artifact@v2
id: plan
with:
name: build-plan.yml
path: ./
- name: Download disk image artifact
uses: actions/download-artifact@v2
with:
name: dmg
name: signed-dmg
path: builds
- name: Publish disk image to GitHub Release
run: >-

View File

@@ -8,13 +8,20 @@
<p align="center">
<a href="https://github.com/jimeh/emacs-builds/releases/latest">
<img alt="GitHub release (latest)" src="https://img.shields.io/github/v/release/jimeh/emacs-builds?include_prereleases&style=flat&label=nightly&color=%237F5AB6&logo=GNU%20Emacs&logoColor=white&sort=semver">
<img alt="GitHub release (stable)" src="https://img.shields.io/endpoint?url=https%3A%2F%2Fraw.githubusercontent.com%2Fjimeh%2Fhomebrew-emacs-builds%2Fmeta%2FCasks%2Femacs-app%2Fshield.json">
</a>
<a href="https://github.com/jimeh/emacs-builds/releases">
<img alt="GitHub release (nightly)" src="https://img.shields.io/endpoint?url=https%3A%2F%2Fraw.githubusercontent.com%2Fjimeh%2Fhomebrew-emacs-builds%2Fmeta%2FCasks%2Femacs-app-nightly%2Fshield.json">
</a>
<a href="https://github.com/jimeh/emacs-builds/issues/7">
<img alt="GitHub release (known good nightly)" src="https://img.shields.io/endpoint?url=https%3A%2F%2Fraw.githubusercontent.com%2Fjimeh%2Fhomebrew-emacs-builds%2Fmeta%2FCasks%2Femacs-app-good%2Fshield.json">
</a>
<br />
<a href="https://github.com/jimeh/emacs-builds/issues">
<img alt="GitHub issues" src="https://img.shields.io/github/issues-raw/jimeh/emacs-builds?style=flat&logo=github&colorColor=white">
<img alt="GitHub issues" src="https://img.shields.io/github/issues-raw/jimeh/emacs-builds?style=flat&logo=github&logoColor=white">
</a>
<a href="https://github.com/jimeh/emacs-builds/pulls">
<img alt="GitHub pull requests" src="https://img.shields.io/github/issues-pr-raw/jimeh/emacs-builds?style=flat&logo=github&colorColor=white">
<img alt="GitHub pull requests" src="https://img.shields.io/github/issues-pr-raw/jimeh/emacs-builds?style=flat&logo=github&logoColor=white">
</a>
<a href="https://github.com/jimeh/emacs-builds/releases">
<img alt="GitHub all releases" src="https://img.shields.io/github/downloads/jimeh/emacs-builds/total?style=flat&logoColor=white&logo=data%3Aimage%2Fpng%3Bbase64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAEsmlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4KPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iWE1QIENvcmUgNS41LjAiPgogPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4KICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIgogICAgeG1sbnM6ZXhpZj0iaHR0cDovL25zLmFkb2JlLmNvbS9leGlmLzEuMC8iCiAgICB4bWxuczp0aWZmPSJodHRwOi8vbnMuYWRvYmUuY29tL3RpZmYvMS4wLyIKICAgIHhtbG5zOnBob3Rvc2hvcD0iaHR0cDovL25zLmFkb2JlLmNvbS9waG90b3Nob3AvMS4wLyIKICAgIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIKICAgIHhtbG5zOnhtcE1NPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvbW0vIgogICAgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIKICAgZXhpZjpQaXhlbFhEaW1lbnNpb249IjE0IgogICBleGlmOlBpeGVsWURpbWVuc2lvbj0iMTQiCiAgIGV4aWY6Q29sb3JTcGFjZT0iMSIKICAgdGlmZjpJbWFnZVdpZHRoPSIxNCIKICAgdGlmZjpJbWFnZUxlbmd0aD0iMTQiCiAgIHRpZmY6UmVzb2x1dGlvblVuaXQ9IjIiCiAgIHRpZmY6WFJlc29sdXRpb249IjcyLjAiCiAgIHRpZmY6WVJlc29sdXRpb249IjcyLjAiCiAgIHBob3Rvc2hvcDpDb2xvck1vZGU9IjMiCiAgIHBob3Rvc2hvcDpJQ0NQcm9maWxlPSJzUkdCIElFQzYxOTY2LTIuMSIKICAgeG1wOk1vZGlmeURhdGU9IjIwMjEtMDUtMThUMDE6MjU6NTQrMDE6MDAiCiAgIHhtcDpNZXRhZGF0YURhdGU9IjIwMjEtMDUtMThUMDE6MjU6NTQrMDE6MDAiPgogICA8eG1wTU06SGlzdG9yeT4KICAgIDxyZGY6U2VxPgogICAgIDxyZGY6bGkKICAgICAgc3RFdnQ6YWN0aW9uPSJwcm9kdWNlZCIKICAgICAgc3RFdnQ6c29mdHdhcmVBZ2VudD0iQWZmaW5pdHkgRGVzaWduZXIgMS45LjMiCiAgICAgIHN0RXZ0OndoZW49IjIwMjEtMDUtMThUMDE6MjU6NTQrMDE6MDAiLz4KICAgIDwvcmRmOlNlcT4KICAgPC94bXBNTTpIaXN0b3J5PgogIDwvcmRmOkRlc2NyaXB0aW9uPgogPC9yZGY6UkRGPgo8L3g6eG1wbWV0YT4KPD94cGFja2V0IGVuZD0iciI%2FPnP7qIwAAAGBaUNDUHNSR0IgSUVDNjE5NjYtMi4xAAAokXWRzytEURTHP2aIGBEWFhaThtWM%2FKiJjTLSUJM0RhlsZp55M2rezOu9N2myVbaKEhu%2FFvwFbJW1UkRKdsqa2KDnPKNGMud27vnc773ndO%2B54IplFc2s7gUtZxnRcMg7G5%2Fz1j5SQwvQzEBCMfWRqakIFe3thionXgWcWpXP%2FWsNiylTgao64WFFNyzhceHIsqU7vCncpmQSi8LHwn5DLih87ejJEj85nC7xh8NGLDoKrmZhb%2FoXJ3%2BxkjE0YXk5Pi1bUH7u47zEk8rNTEvsFO%2FAJEqYEF4mGGOUIH0MyRwkQD89sqJCfu93%2FiR5yVVk1ilisESaDBZ%2BUQtSPSVRFT0lI0vR6f%2FfvprqQH%2BpuicENQ%2B2%2FdIFtRvwuW7b7%2Fu2%2FXkA7ns4y5Xz83sw%2BCr6elnz7ULTKpycl7XkFpyuQfudnjAS35Jb3KWq8HwEjXFovYT6%2BVLPfvY5vIXYinzVBWzvQLecb1r4AjtZZ9JRQIRfAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAhUlEQVQokb3QsQnDMBRF0Y9J6QGylCt7GI%2BRPdJ4BIMXyA4pM0KKk0YCYawogZAHH4Tuvw%2BhiEowY67xarBirfHu68afijjXFvesK8AQEXeMB9KU2HDU2GPDE2P%2BHEzpbkNfe04pP9K8lw7knLa0k69pPpP%2BFyzaWfL%2BqXAvEXFr9K%2F58AJFIbDLRt48DAAAAABJRU5ErkJggg%3D%3D&color=blue&label=total%20downloads">
@@ -23,15 +30,15 @@
<p align="center">
<strong>
Nightly binary builds of Emacs for macOS as a self-contained Emacs.app,
with native-compilation.
Self-contained Emacs.app builds for macOS, with native-compilation support
in nightly builds.
</strong>
</p>
## Features
- Self-contained Emacs.app application bundle, with no external dependencies.
- Native-compilation ([gccemacs][]).
- Native-compilation ([gccemacs][]), nightly builds only.
- Native JSON parsing via libjansson.
- SVG rendering via librsvg.
- Various image formats are supported via macOS native image APIs.
@@ -59,13 +66,16 @@
## System Requirements
- Intel-based Mac running macOS 10.15.x or later.
- macOS 10.15.x or later (uses Rosetta2 on M1-based macs).
- Homebrew `gcc` formula (nightly builds only).
- Xcode Command Line Tools (nightly builds only).
## Installation
### Manual Download
See the [Releases][] page to download latest builds.
See the [Releases][] page to download latest builds, or [here](latest) for the
latest stable release.
Nightly builds of Emacs are for the part just fine, but if you don't like living
too close to the edge, see issue [#7 Known Good Nightly Builds][7] for a list of
@@ -73,11 +83,14 @@ recent nightly builds which have been actively used by a living being without
any issues.
[releases]: https://github.com/jimeh/emacs-builds/releases
[latest]: https://github.com/jimeh/emacs-builds/releases/latest
[7]: https://github.com/jimeh/emacs-builds/issues/7
### Homebrew Cask
1. Install the `jimeh/emacs-builds` Homebrew tap:
1. Install the
[`jimeh/emacs-builds`](https://github.com/jimeh/homebrew-emacs-builds)
Homebrew tap:
```
brew tap jimeh/emacs-builds
```
@@ -90,6 +103,11 @@ any issues.
```
brew install --cask emacs-app-good
```
- `emacs-app` for the latest stable release of Emacs (does not include
native-comp at time of writing):
```
brew install --cask emacs-app
```
[7]: https://github.com/jimeh/emacs-builds/issues/7