Loading pkgs/applications/editors/emacs/default.nix +14 −0 Original line number Diff line number Diff line Loading @@ -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; Loading pkgs/applications/editors/emacs/make-emacs.nix +9 −3 Original line number Diff line number Diff line Loading @@ -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) Loading Loading @@ -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: Loading Loading @@ -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 [ Loading pkgs/applications/editors/emacs/native-comp-driver-options-30.patch 0 → 100644 +16 −0 Original line number Diff line number Diff line 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. pkgs/applications/editors/emacs/sources.nix +8 −0 Original line number Diff line number Diff line Loading @@ -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"; Loading pkgs/top-level/all-packages.nix +7 −0 Original line number Diff line number Diff line Loading @@ -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 ; Loading
pkgs/applications/editors/emacs/default.nix +14 −0 Original line number Diff line number Diff line Loading @@ -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; Loading
pkgs/applications/editors/emacs/make-emacs.nix +9 −3 Original line number Diff line number Diff line Loading @@ -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) Loading Loading @@ -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: Loading Loading @@ -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 [ Loading
pkgs/applications/editors/emacs/native-comp-driver-options-30.patch 0 → 100644 +16 −0 Original line number Diff line number Diff line 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.
pkgs/applications/editors/emacs/sources.nix +8 −0 Original line number Diff line number Diff line Loading @@ -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"; Loading
pkgs/top-level/all-packages.nix +7 −0 Original line number Diff line number Diff line Loading @@ -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 ;