Commit Graph

66 Commits

Author SHA1 Message Date
5341728b41 chore(release): 0.1.1 0.1.1 2020-09-19 18:45:02 +01:00
f8515ad3a4 chore(libs): simplify embedded libs folder path 2020-09-19 18:43:21 +01:00
c89d0a0b73 fix(internal): improve macOS version detection
Turns out that `sw_vers -productVersion` doesn't always return a version
string with a `MAJOR.MINOR.PATCH` format, but can also just return two
digits, like `11.0` on the current beta of macOS Big Sur.

Fixes: #13
2020-09-10 20:33:18 +01:00
f28ed683e2 chore(release): 0.1.0 0.1.0 2020-09-05 05:15:12 +01:00
42a4c21266 chore(version): add .versionrc.js configuration file 2020-09-05 05:14:39 +01:00
8aeb3ba065 Merge pull request #10 from jimeh/embedd-gcc
feat(native_comp): embedd gcc/libgccjit into Emacs.app
2020-09-05 05:12:57 +01:00
d30b45fb2e fix(svg): disable rsvg by default
When SVG support is enabled via librsvg, launching builds of Emacs 27.1
or later from the Finder into GUI mode will crash Emacs if the fancy
startup screen is used. This crash has been observed with librsvg
2.46.4, 2.48.7 and 2.48.8.

Hence SVG image support is now disabled by default. Should you need it,
you will need to disable the startup screen to avoid Emacs crashing, by
putting this in your init.el:

    (setq inhibit-startup-screen t)

The cause of the issue seems to be the `image-size` function as called
from `use-fancy-splash-screens-p`.
2020-09-05 05:11:42 +01:00
9d264357df feat(native_comp): support renaming of eln-cache director to native-lisp 2020-09-05 04:48:32 +01:00
583f22a360 feat(patches): add support for optional no-titlebar and no-refocus-frame patches 2020-09-05 04:48:32 +01:00
83289acd33 feat(native_comp): embedd gcc/libgccjit into Emacs.app
The solution to get libgccjit properly working, and embedded in
Emacs.app included:

- The contents of GCC's lib folder (`/usr/local/opt/gcc/lib`) is copied
  into the `Contents/MacOS/lib-<arch>-<os_version>` folder.
- Setting `LIBRARY_PATH` environment variable to correct GCC lib
  folders within Emacs.app. This is done through a bash launcher script
  which replaces the regular `Contents/MacOS/Emacs` executable. The main
  Emacs executable itself is named `Emacs-bin` now instead, so anything
  that depends on the exact process name will need updating.
- The launcher script also adds `Content/MacOS/bin` and
  `Content/MacOS/libexec` folders to the PATH environment variable, to
  so ensure binary tools packaged into Emacs itself are available. This
  is done even when not doing a native-comp build. The launcher script
  skips setting LIBRARY_PATH if it's not a native-comp build.

This should hopefully resolve both #5 and #7.
2020-09-05 04:48:32 +01:00
8e459ce00d fix(requirements): make script compatible with Ruby 2.3.0 and later 2020-09-05 04:48:32 +01:00
5ffffb7c77 refactor(internals): extract and DRY up a number of things 2020-09-05 04:48:30 +01:00
3d6e6fa158 Merge pull request #11 from bramadams/master
Fixing missing cast for Ruby 2.5.1.
2020-09-05 03:52:43 +01:00
BA
61bba288c5 Fixing missing cast for Ruby 2.5.1. 2020-09-04 22:36:46 -04:00
b07fe4bf2b chore(native_comp): add GNU-based tools to PATH in patched GCC helper script
An attempt at resolving #8 by getting the GCC compilation step to have
GNU-based `sed` and other commands available. At the very least, I'm
assuming this won't break things. Fingers crossed.
2020-08-30 15:25:46 +01:00
d1e6ff5c76 chore(tools): ensure various GNU tools are used from brew 2020-08-27 18:48:30 +01:00
da2fcb0440 feat(native_comp): add fix based on feature/native-comp-macos-fixes branch
The `feature/native-comp-macos-fixes` has seemingly been updated about
once a week with latest changes from `feature/native-comp`.

As the fix in the branch is desired, a custom function that applies the
same kind of fix has been added. This should be more reliable than just
downloading the git diff as a patch.
2020-08-25 01:24:00 +01:00
d944a64484 feat(deps): add mailutils to Brewfile so Emacs can use GNU Mailutils 2020-08-21 23:35:42 +01:00
f2ee7a12c3 docs(readme): Update usage help info 2020-08-20 21:44:19 +01:00
89ab39b0b8 docs(readme): add link to known good native-comp commits issue 2020-08-20 21:17:57 +01:00
eebda4db42 feat(ref): allow overriding git SHA
This allows building old commits for a specified branch, as if you had
built it when the specified commit was the latest commit on the branch.
2020-08-20 21:09:32 +01:00
9dab9199d1 docs(readme): track issues with native-comp as proper GitHub issues 2020-08-20 21:05:55 +01:00
a651715dd2 docs(readme): minor tweaks and additions 2020-08-20 00:58:44 +01:00
b46e5aa7cb fix(native_comp): ensure builds work after recent changes to eln cache locations
As detailed in Update 11 (https://akrl.sdf.org/gccemacs.html#org4b11ea1)
the `*.eln` cache location has been changed, which initially broke
builds.

This fixes those issues, and also simplifies usage of the build-script
by:

- Auto-detecting native-comp support if not explicitly enabled/disabled
  with CLI flags.
- Auto-detecting number of logical CPU cores on your machine, and
  defaulting the `-j` option to said number to ensure fast builds.
- Enable XWidgets by default, only skip if `configure` script doesn't
  support it (Emacs 26.x and earlier).
2020-08-19 00:58:31 +01:00
a8d4db284c fix(native_comp): Improve ./install-patched-gcc helper
Instead of just installing a pre-patched gcc formula, copy the local
formula from Homebrew and apply a patch to it, before then installing
it. This should be a lot more future-proof.
2020-08-18 02:20:18 +01:00
f7b0c16db8 docs(readme): Update readme with native-comp info and latest "status" 2020-08-18 01:50:55 +01:00
fe460a824e feat(native_comp): Add support for --with-nativecomp
See https://akrl.sdf.org/gccemacs.html for more info.
2020-08-18 01:49:24 +01:00
c0e89b1364 feat(release): support building from release git tags 2020-08-11 11:29:20 +01:00
66acc01c0c fix(patches): Fix patch download URL, add additional patches 2020-06-08 02:27:08 +01:00
2c61b62588 Update Brewfile with dependencies 2020-04-26 23:29:56 +01:00
7767df0b66 fix(xwidgets): Add support for emacs-27 specific xwidgets patch 2020-04-26 22:21:49 +01:00
c4768f4c3a fix(patches): Only apply patches as part of archive extraction 2020-04-26 22:21:22 +01:00
fb93beb22c fix(xwidgets): Use patch from emacs-plus Homebrew formula 2020-03-16 00:28:39 +00:00
cb3a02cd25 refactor: Wrap everything in classes
Overall code quality is still pretty questionable, but this is a step in
the right direction of getting the build code testable and maintainable.
2020-02-04 10:01:57 +00:00
39ea3eb5e8 fix(deps): Add missing dependencies to Brewfile 2020-02-04 10:01:17 +00:00
7986e89623 Enable building Emacs 27
Also embed various dylib libraries directly into the application, so
they're not required to be installed via Homebrew for the app to work.
2020-02-03 00:05:46 +00:00
476ac73528 Merge pull request #1 from jotsetung/master
Updated the url scheme of the emacs mirror
2014-09-08 09:17:34 +01:00
jo
8aeb82154d + The url scheme of the emacs mirror changed and so did the name of the
downloaded tgz. Fixed that.
2014-09-02 08:21:11 +02:00
b400a008b4 Update patch options as sRGB patch is no longer needed in head builds 2014-02-07 09:56:42 +00:00
65ef62d3af Update for emacs-24.4 head builds 2014-01-06 17:05:28 +00:00
44222a2970 Fix year in license 2013-10-20 19:47:41 +01:00
dc00ed8e83 Add license info to readme 2013-10-20 19:46:43 +01:00
ebaa5d3046 Merge branch 'master' of github.com:jimeh/build-emacs-for-osx
Conflicts:
	README.md
2013-10-20 19:05:55 +01:00
a840bffefa Update and fix things for current Emacs trunk (24.4)
Notes:
- The sRGB patch is now a simple text-replacement, as diff/patch files
  seem to just fail. Even Homebrew's emacs formula does it this way.
- Removed fullscreen patch, as Emacs 24.4 includes fullscreen support on
  OS X, both native and pre-Lion style fullscreen. More details here:
  http://www.emacswiki.org/emacs/FullScreen#toc23
2013-10-20 18:55:07 +01:00
4706fd8607 Update readme 2012-06-21 09:57:46 +01:00
88e897cc03 Add patch and options for 'true' Lion fullscreen mode 2012-06-07 12:51:25 +01:00
a8fbe89f3f Ignore Gemfile.lock 2012-06-07 12:51:23 +01:00
de76955ab5 Remove Xcode 3 compatibility patch, doesn't apply to latest HEAD 2012-06-04 12:47:49 +01:00
afbbadc85d Expand sRGB patch URL
This shouldn't make any difference, but I like keeping things
consistent.
2012-06-04 12:21:17 +01:00
c7de359b52 Add Xcode 3 compatibility patch (stolen from Homebrew formula) 2012-06-04 12:20:02 +01:00