The current graft breaks native compilation and would do so even if reduced to
an ABI hash. Thus remove it, and rebuild all Emacsen.
* gnu/packages/emacs.scm (emacs-minimal): Update to 29.4.
[replacement]: Remove. Add note for future replacements.
(emacs-minimal/fixed): Remove variable.
Fixes: Emacs native compilation across grafts <https://bugs.gnu.org/72045>
* gnu/packages/aux-files/emacs/comp-integrity-next.el: New file.
* Makefile.am (AUX_FILES): Register it here.
* gnu/packages/emacs.scm (emacs-next-minimal): Update to 30.0.60-1.4e22ef8.
(emacs->emacs-next)[arguments]: Swap out ‘validate-comp-integrity’ phase,
so as to refer to the new integrity check.
Arbitrary shell commands are no longer run when turning on Org mode.
This is for security reasons, to avoid running malicious commands.
* gnu/packages/emacs.scm (emacs-minimal/fixed): New variable.
(emacs-minimal)[replacement]: Graft.
Change-Id: Idb74ee0a05486bfe5052c4dd804fbdaec8921774
* gnu/packages/patches/emacs-disable-jit-compilation.patch: New file.
* gnu/local.mk (dist_patch_DATA): Register it here.
* gnu/packages/emacs.scm (emacs-minimal)[patches]: Use it here.
In the previous commit, we've added a patch that potentially messes with
how built-in (especially preloaded) Lisp libraries are loaded. Thus, we
might want to assert that these files still load fine, as reported when
querying the builtin documentation of functions provided by them.
* gnu/packages/aux-files/emacs/comp-integrity.el: New file.
* gnu/Makefile.am (dist_noinst_DATA): Register it here.
* gnu/packages/emacs.scm (emacs-no-x)[#:phases]: Add ‘validate-comp-integrity’.
* gnu/packages/patches/emacs-native-comp-fix-filenames.patch: New file.
* gnu/local.mk (dist_patch_DATA): Register it here.
* gnu/packages/emacs.scm (emacs-minimal)[source]: Use it here.
Change-Id: I2b7f6b45742a985760f0097bb53910f068e3d8e5
Before this change, using Emacs in a pure environment, e.g. 'guix shell --pure
emacs', would cause problems such as:
jka-compr-insert-file-contents: Uncompression program ‘sh’ not found
And other problems were found requiring the other tools.
* gnu/packages/emacs.scm (emacs-minimal) [arguments]: Extend the
patch-program-file-names phase.
[inputs]: Add findutils, gawk and sed.
Series-changes: 2
- Patch references in place instead of wrapping via PATH
Change-Id: Ifb4fe2fc12ddc9eae387adb3da3f7821fab78e65
* gnu/packages/patches/emacs-next-native-comp-driver-options.patch: Add file.
* gnu/packages/patches/emacs-next-exec-path.patch: Add file.
* gnu/local.mk (dist_patch_DATA): Register them here.
* gnu/packages/emacs.scm (emacs-next-minimal)[origin](patches): Include the
same patches as emacs-minimal, save for the variants specific to emacs-next
introduced above.
Co-Authored-By: Nicolas Graves <ngraves@ngraves.fr>
Fixes: ‘emacs-next’ is almost unusable <https://bugs.gnu.org/66227>
This package currently exists on master, where both emacs and emacs-next are
built without tree-sitter. Since most of our Emacsen now build with
tree-sitter, it is no longer needed, but let's issue a warning rather than
a hard error to those who rely on it.
* gnu/packages/emacs.scm (emacs-next-tree-sitter): New variable.
This fixes a regression introduced with 79cfe30f3 ("build-system: emacs: Use
subdirectories again.") which caused the 'guix-emacs-autoload-packages' to no
longer be able to autoload all packages.
* gnu/packages/aux-files/emacs/guix-emacs.el
(guix-emacs-autoload-packages): Reload subdirs.el files unless NO-RELOAD is
provided. Update docstring.
* doc/guix.texi (Application Setup): Document that
‘guix-emacs-autoload-packages’ can be invoked interactively to auto-reload
newly installed Emacs packages.
* gnu/packages/emacs.scm (emacs)[arguments]<#:phases>: Call
guix-emacs-autoload-packages with an argument in the site-start.el file.
Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
This makes relationships within the Emacs variants slightly easier to reason
about. In particular, it makes it so that inputs get added on top of the
previous stack rather than removed (which brings the risk of not adjusting
changes downwards).
* gnu/packages/emacs.scm (emacs-minimal): Expand package definition.
[inputs]: Reorder and add bash-minimal.
(emacs-no-x): Inherit from emacs-minimal.
(emacs): Inherit from emacs-no-x.
(emacs-motif, emacs-no-x-toolkit): Inherit from emacs-no-x.
Only inherit inputs from emacs.
Make tree-sitter emacs available without pgtk. It's part of ongoing
iheritance hierarchy update, tree-sitter have less implications than pgtk and
thus it should be placed earlier in inheritance chain. For more details:
https://yhetil.org/guix-devel/87r0txr99u.fsf@inventati.org/T/#u
* gnu/packages/emacs.scm (emacs-next-tree-sitter): Inherit from emacs-next.
Make emacs with tree-sitter work on wayland as well.
* gnu/packages/emacs.scm (emacs-next-tree-sitter): Inherit from
emacs-next-pgtk, remove uneeded native-inputs, add synopsis and description.
[source]: Use inherited patches.
xwidgets is beefy and buggy, but emacs-next-pgtk is important for wayland
users, so it seems a good idea to remove xwidgets from emacs-next-pgtk. Also,
we have a separate emacs-xwidgets package for those who wants to experiment.
* gnu/packages/emacs.scm (emacs-next-pgtk)[propagated-inputs]: Remove
gsettings-desktop-schemas glib-networking.
[arguments]<#:configure-flags>: Remove --with-xwidgets.
[inputs]: Remove webkitgtk-with-libsoup2.
[home-page]: PGTK is merged to upstream emacs repository now, so inherit
home-page from emacs-next.
gnu/packages/emacs.scm (emacs)[native-search-paths]: Add a search-path for
tree-sitter grammars.
gnu/packages/aux-files/emacs/guix-emacs.el: Add directories from
TREE_SITTER_GRAMMAR_PATH to treesit-extra-load-path.