Merge pull request #247357 from atorres1985-contrib/emacs-update

emacs: update to 29.1

Atemu 5f98e7c9 ffac0c52

Changed files
+57 -22
nixos
doc
manual
release-notes
pkgs
applications
editors
top-level
+4
nixos/doc/manual/release-notes/rl-2311.section.md
···
- `pharo` has been updated to latest stable (PharoVM 10.0.5), which is compatible with the latest stable and oldstable images (Pharo 10 and 11). The VM in question is the 64bit Spur. The 32bit version has been dropped due to lack of maintenance. The Cog VM has been deleted because it is severily outdated. Finally, the `pharo-launcher` package has been deleted because it was not compatible with the newer VM, and due to lack of maintenance.
+
- Emacs mainline version 29 was introduced. This new version includes many major additions, most notably `tree-sitter` support (enabled by default) and the pgtk variant (useful for Wayland users), which is available under the attribute `emacs29-pgtk`.
+
+
- Emacs macport version 29 was introduced.
+
## Other Notable Changes {#sec-release-23.11-notable-changes}
- The Cinnamon module now enables XDG desktop integration by default. If you are experiencing collisions related to xdg-desktop-portal-gtk you can safely remove `xdg.portal.extraPortals = [ pkgs.xdg-desktop-portal-gtk ];` from your NixOS configuration.
+10 -1
pkgs/applications/editors/emacs/default.nix
···
withPgtk = true;
};
-
emacs-macport = callPackage (self.sources.emacs-macport) {
+
emacs28-macport = callPackage (self.sources.emacs28-macport) {
+
inherit gconf;
+
+
inherit (pkgs.darwin) sigtool;
+
inherit (pkgs.darwin.apple_sdk.frameworks)
+
AppKit Carbon Cocoa GSS ImageCaptureCore ImageIO IOKit OSAKit Quartz
+
QuartzCore WebKit;
+
};
+
+
emacs29-macport = callPackage (self.sources.emacs29-macport) {
inherit gconf;
inherit (pkgs.darwin) sigtool;
+39 -19
pkgs/applications/editors/emacs/sources.nix
···
}:
let
-
mainlineMeta = {
-
homepage = "https://www.gnu.org/software/emacs/";
-
description = "The extensible, customizable GNU text editor";
+
metaFor = variant: version: rev: {
+
homepage = {
+
"mainline" = "https://www.gnu.org/software/emacs/";
+
"macport" = "https://bitbucket.org/mituharu/emacs-mac/";
+
}.${variant};
+
description = "The extensible, customizable GNU text editor"
+
+ lib.optionalString (variant == "macport") " - macport variant";
longDescription = ''
GNU Emacs is an extensible, customizable text editor—and more. At its core
is an interpreter for Emacs Lisp, a dialect of the Lisp programming
···
functionality, including a project planner, mail and news reader, debugger
interface, calendar, and more. Many of these extensions are distributed
with GNU Emacs; others are available separately.
+
'' + lib.optionalString (variant == "macport") ''
+
+
This release is built from Mitsuharu Yamamoto's patched source code
+
tailored for macOS.
'';
+
changelog = {
+
"mainline" = "https://www.gnu.org/savannah-checkouts/gnu/emacs/news/NEWS.${version}";
+
"macport" = "https://bitbucket.org/mituharu/emacs-mac/raw/${rev}/NEWS-mac";
+
}.${variant};
license = lib.licenses.gpl3Plus;
maintainers = with lib.maintainers; [
AndersonTorres
···
lovek323
matthewbauer
];
-
platforms = lib.platforms.all;
+
platforms = {
+
"mainline" = lib.platforms.all;
+
"macport" = lib.platforms.darwin;
+
}.${variant};
mainProgram = "emacs";
};
in
···
hash = "sha256-4oSLcUDR0MOEt53QOiZSVU8kPJ67GwugmBxdX3F15Ag=";
};
-
meta = mainlineMeta;
+
meta = metaFor "mainline" "28.2" "28.2";
};
emacs29 = import ./generic.nix {
pname = "emacs";
-
version = "29.1-rc1";
+
version = "29.1";
variant = "mainline";
src = fetchFromSavannah {
repo = "emacs";
-
rev = "29.1-rc1";
-
hash = "sha256-p0lBSKsHrFwYTqO5UVIF/PgiqwdhYQE4oUVcPtd+gsU=";
+
rev = "29.1";
+
hash = "sha256-3HDCwtOKvkXwSULf3W7YgTz4GV8zvYnh2RrL28qzGKg=";
};
-
meta = mainlineMeta;
+
meta = metaFor "mainline" "29.1" "29.1";
};
-
emacs-macport = import ./generic.nix {
+
emacs28-macport = import ./generic.nix {
pname = "emacs-mac";
version = "28.2";
variant = "macport";
···
hash = "sha256-Ne2jQ2nVLNiQmnkkOXVc5AkLVkTpm8pFC7VNY2gQjPE=";
};
-
meta = {
-
homepage = "https://bitbucket.org/mituharu/emacs-mac/";
-
description = mainlineMeta.description + " - with macport patches";
-
longDescription = mainlineMeta.longDescription + ''
+
meta = metaFor "macport" "28.2" "emacs-28.2-mac-9.1";
+
};
+
+
emacs29-macport = import ./generic.nix {
+
pname = "emacs-mac";
+
version = "29.1";
+
variant = "macport";
-
This release is built from Mitsuharu Yamamoto's patched source code
-
tailoired for MacOS X.
-
'';
-
inherit (mainlineMeta) license maintainers;
-
platforms = lib.platforms.darwin;
+
src = fetchFromBitbucket {
+
owner = "mituharu";
+
repo = "emacs-mac";
+
rev = "emacs-29.1-mac-10.0";
+
hash = "sha256-TE829qJdPjeOQ+kD0SfyO8d5YpJjBge/g+nScwj+XVU=";
};
+
+
meta = metaFor "macport" "29.1" "emacs-29.1-mac-10.0";
};
}
+1
pkgs/top-level/aliases.nix
···
emacs28NativeComp = emacs28; # Added 2022-06-08
emacs28Packages = emacs28.pkgs; # Added 2021-10-04
emacs28WithPackages = emacs28.pkgs.withPackages; # Added 2021-10-04
+
emacsMacport = emacs-macport; # Added 2023-08-10
emacsNativeComp = emacs28NativeComp; # Added 2022-06-08
emacsPackagesGen = throw "'emacsPackagesGen' has been renamed to/replaced by 'emacsPackagesFor'"; # Converted to throw 2022-02-22
emacsPackagesNg = emacs.pkgs; # Added 2019-08-07
+3 -2
pkgs/top-level/all-packages.nix
···
emacs29-gtk3
emacs29-nox
emacs29-pgtk
-
emacs-macport
+
emacs28-macport
+
emacs29-macport
-
emacsMacport = emacs-macport;
+
emacs-macport = emacs28-macport;
emacs = emacs28;
emacs-gtk = emacs28-gtk3;
emacs-nox = emacs28-nox;