emacs30: init (#342408)

This commit is contained in:
Lin Jian 2024-09-18 09:22:07 +08:00 committed by GitHub
commit a8d167c890
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
5 changed files with 54 additions and 3 deletions

View File

@ -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;

View File

@ -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)
@ -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:
@ -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 [

View File

@ -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.

View File

@ -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";

View File

@ -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
;