Skip to content

Commit

Permalink
emacs30: init (NixOS#342408)
Browse files Browse the repository at this point in the history
  • Loading branch information
jian-lin authored Sep 18, 2024
2 parents ea97a4c + afb9fff commit a8d167c
Show file tree
Hide file tree
Showing 5 changed files with 54 additions and 3 deletions.
14 changes: 14 additions & 0 deletions pkgs/applications/editors/emacs/default.nix
Original file line number Diff line number Diff line change
Expand Up @@ -46,6 +46,20 @@ lib.makeScope pkgs.newScope (self:
withPgtk = true;
};

emacs30 = callPackage (self.sources.emacs30) inheritedArgs;

emacs30-gtk3 = self.emacs30.override {
withGTK3 = true;
};

emacs30-nox = self.emacs30.override {
noGui = true;
};

emacs30-pgtk = self.emacs30.override {
withPgtk = true;
};

emacs28-macport = callPackage (self.sources.emacs28-macport) inheritedArgs;

emacs29-macport = callPackage (self.sources.emacs29-macport) inheritedArgs;
Expand Down
12 changes: 9 additions & 3 deletions pkgs/applications/editors/emacs/make-emacs.nix
Original file line number Diff line number Diff line change
Expand Up @@ -75,6 +75,8 @@
, withGlibNetworking ? withPgtk || withGTK3 || (withX && withXwidgets)
, withGpm ? stdenv.isLinux
, withImageMagick ? lib.versionOlder version "27" && (withX || withNS)
# Emacs 30+ has native JSON support
, withJansson ? lib.versionOlder version "30"
, withMailutils ? true
, withMotif ? false
, withNS ? stdenv.isDarwin && !(variant == "macport" || noGui)
Expand Down Expand Up @@ -157,7 +159,9 @@ mkDerivation (finalAttrs: {
(substituteAll {
src = if lib.versionOlder finalAttrs.version "29"
then ./native-comp-driver-options-28.patch
else ./native-comp-driver-options.patch;
else if lib.versionOlder finalAttrs.version "30"
then ./native-comp-driver-options.patch
else ./native-comp-driver-options-30.patch;
backendPath = (lib.concatStringsSep " "
(builtins.map (x: ''"-B${x}"'') ([
# Paths necessary so the JIT compiler finds its libraries:
Expand Down Expand Up @@ -212,13 +216,15 @@ mkDerivation (finalAttrs: {
] ++ lib.optionals srcRepo [
autoreconfHook
texinfo
] ++ lib.optional (withPgtk || withX && (withGTK3 || withXwidgets)) wrapGAppsHook3;
] ++ lib.optionals (withPgtk || withX && (withGTK3 || withXwidgets)) [ wrapGAppsHook3 ];

buildInputs = [
gettext
gnutls
harfbuzz.dev
(lib.getDev harfbuzz)
] ++ lib.optionals withJansson [
jansson
] ++ [
libxml2
ncurses
] ++ lib.optionals withAcl [
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
diff -Naur a/lisp/emacs-lisp/comp.el b/lisp/emacs-lisp/comp.el
--- old/lisp/emacs-lisp/comp.el 1969-12-31 21:00:01.000000000 -0300
+++ source/lisp/emacs-lisp/comp.el 2024-09-13 14:26:37.246614196 -0300
@@ -101,8 +101,10 @@
:version "28.1")

(defcustom native-comp-driver-options
- (cond ((eq system-type 'darwin) '("-Wl,-w"))
- ((eq system-type 'cygwin) '("-Wl,-dynamicbase")))
+ (append
+ (cond ((eq system-type 'darwin) '("-Wl,-w"))
+ ((eq system-type 'cygwin) '("-Wl,-dynamicbase")))
+ '(@backendPath@))
"Options passed verbatim to the native compiler's back-end driver.
Note that not all options are meaningful; typically only the options
affecting the assembler and linker are likely to be useful.
8 changes: 8 additions & 0 deletions pkgs/applications/editors/emacs/sources.nix
Original file line number Diff line number Diff line change
Expand Up @@ -110,6 +110,14 @@ in
hash = "sha256-FCP6ySkN9mAdp2T09n6foS2OciqZXc/54guRZ0B4Z2s=";
});

emacs30 = import ./make-emacs.nix (mkArgs {
pname = "emacs";
version = "30.0.91";
variant = "mainline";
rev = "30.0.91";
hash = "sha256-X5J34BUY42JgA1s76eVeGA9WNtesU2c+JyndIHFbONQ=";
});

emacs28-macport = import ./make-emacs.nix (mkArgs {
pname = "emacs-mac";
version = "28.2";
Expand Down
7 changes: 7 additions & 0 deletions pkgs/top-level/all-packages.nix
Original file line number Diff line number Diff line change
Expand Up @@ -29252,10 +29252,17 @@ with pkgs;
emacs28-gtk2
emacs28-gtk3
emacs28-nox

emacs29
emacs29-gtk3
emacs29-nox
emacs29-pgtk

emacs30
emacs30-gtk3
emacs30-nox
emacs30-pgtk

emacs28-macport
emacs29-macport
;
Expand Down

0 comments on commit a8d167c

Please sign in to comment.