Unverified Commit a8d167c8 authored by Lin Jian's avatar Lin Jian Committed by GitHub
Browse files

emacs30: init (#342408)

parents ea97a4c3 afb9fff1
Loading
Loading
Loading
Loading
+14 −0
Original line number Diff line number Diff line
@@ -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;
+9 −3
Original line number Diff line number Diff line
@@ -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 [
+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.
+8 −0
Original line number Diff line number Diff line
@@ -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";
+7 −0
Original line number Diff line number Diff line
@@ -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
  ;