Skip to content

emacs{28,29}: remove#386593

Merged
jian-lin merged 2 commits intoNixOS:masterfrom
linj-fork:pr/emacs-remove-28-29
Mar 13, 2025
Merged

emacs{28,29}: remove#386593
jian-lin merged 2 commits intoNixOS:masterfrom
linj-fork:pr/emacs-remove-28-29

Conversation

@jian-lin
Copy link
Contributor

@jian-lin jian-lin commented Mar 3, 2025

I'll add release notes in a future PR so that this PR can be backported by bot.

Things done

  • Built on platform(s)
    • x86_64-linux
    • aarch64-linux
    • x86_64-darwin
    • aarch64-darwin
  • For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)
    • sandbox = relaxed
    • sandbox = true
  • Tested, as applicable:
  • Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
  • Tested basic functionality of all binary files (usually in ./result/bin/)
  • 25.05 Release Notes (or backporting 24.11 and 25.05 Release notes)
    • (Package updates) Added a release notes entry if the change is major or breaking
    • (Module updates) Added a release notes entry if the change is significant
    • (Module addition) Added a release notes entry if adding a new NixOS module
  • Fits CONTRIBUTING.md.

Add a 👍 reaction to pull requests you find important.

jian-lin added 2 commits March 3, 2025 12:52
They are affected by CVEs which are fixed in Emacs 30.
They are affected by CVEs which are fixed in Emacs 30.
@github-actions github-actions bot added 10.rebuild-darwin: 0 This PR does not cause any packages to rebuild on Darwin. 10.rebuild-linux: 0 This PR does not cause any packages to rebuild on Linux. labels Mar 3, 2025
@panchoh
Copy link
Contributor

panchoh commented Mar 3, 2025

I was wondering if it would make sense to get rid of the emacsNativeComp symbol, since it is now the default behavior.

@jian-lin
Copy link
Contributor Author

jian-lin commented Mar 3, 2025

I was wondering if it would make sense to get rid of the emacsNativeComp symbol, since it is now the default behavior.

When we enabled native-comp by default, we turn emacsNativeComp into a deprecated alias.

Turning old aliases into throw and removing old throws are done regularly using a script. No need to do it here.


# Emacs
emacs28 = throw "Emacs 28 is removed due to CVEs which are fixed in Emacs 30"; # Added 2025-03-03
emacs28-gtk2 = throw "emacs28-gtk2 was removed because GTK2 is EOL; migrate to emacs28{,-gtk3,-nox} or to more recent versions of Emacs."; # Added 2024-09-20
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nit: reword this message so that no one gets it wrong by accident.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Which part may be confusing? Would it be better to remove which are fixed in Emacs 30?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

  emacs28-gtk2 = throw "Emacs 28 is removed due to CVEs which are fixed in Emacs 30"; # Added 2024-09-20

Supposing someone did not update their system in a long heck of time, the "update to emacs29 or use other toolkit" message can be misleading.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Oh, you are referring to the emacs28-gtk2 alias which is not touched by this PR.

If a user of that emacs28-gtk2 alias switches to emacs28 or emacs28-gtk3, he will follow instructions added by this PR to use emacs 30. Yes, it is not great for a user to have to change attr twice, but I do not think it is confusing/misleading.

@AndersonTorres
Copy link
Member

AndersonTorres commented Mar 13, 2025

Since this PR essentially deletes Emacs < 30, should the old patches be deleted accordingly, whether now or in the future?

Edit: answering myself, I think it would be better to remove all code that refers to old versions in a future PR.

@wegank wegank added 12.approved-by: package-maintainer This PR was reviewed and approved by a maintainer listed in any of the changed packages. 12.approvals: 1 This PR was reviewed and approved by one person. labels Mar 13, 2025
@jian-lin jian-lin merged commit cd0ef8b into NixOS:master Mar 13, 2025
46 of 47 checks passed
@jian-lin jian-lin deleted the pr/emacs-remove-28-29 branch March 13, 2025 13:08
@jian-lin jian-lin mentioned this pull request Mar 31, 2025
13 tasks
panchoh added a commit to panchoh/nix-doom-emacs-unstraightened that referenced this pull request Jun 29, 2025
'emacs29' is no longer provided by nixpkgs¹ in the currently supported
branches, with the exception of 'emacs-macport', at 29.4.

Also, 'emacs-pgtk' is available, providing a convenient, current and
version-neutral symbol.

¹: NixOS/nixpkgs#386593
²: NixOS/nixpkgs#396416
marienz pushed a commit to marienz/nix-doom-emacs-unstraightened that referenced this pull request Jun 30, 2025
'emacs29' is no longer provided by nixpkgs¹ in the currently supported
branches, with the exception of 'emacs-macport', at 29.4.

Also, 'emacs-pgtk' is available, providing a convenient, current and
version-neutral symbol.

¹: NixOS/nixpkgs#386593
²: NixOS/nixpkgs#396416
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

6.topic: emacs Text editor 10.rebuild-darwin: 0 This PR does not cause any packages to rebuild on Darwin. 10.rebuild-linux: 0 This PR does not cause any packages to rebuild on Linux. 12.approvals: 1 This PR was reviewed and approved by one person. 12.approved-by: package-maintainer This PR was reviewed and approved by a maintainer listed in any of the changed packages.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants