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.
The ‘patch-compilation-driver’ phase pulls in libgccjit even though it has
been deliberately removed from emacs-minimal.
* gnu/packages/emacs.scm (emacs)[#:phases]: Delete ‘patch-compilation-driver’.
* gnu/packages/patches/emacs-native-comp-driver-options.patch: New file.
* gnu/local.mk: Register it here.
* gnu/packages/emacs.scm (emacs-next): Update to 29.0.50-2.4aeb80c.
This partly reverts dbcba75c0e. In that commit,
emacs-minimal gained a few inputs that weren't actually used as native
compilation is disabled.
Discovered by djeis in IRC, see also
<http://logs.guix.gnu.org/guix/2022-10-02.log#170047>.
* gnu/packages/emacs.scm (emacs-minimal)[inputs]: Remove ld-wrapper, binutils,
glibc, libgccjit, and zlib.
[arguments]<#:phases>: Delete ‘set-libgccjit-path’.
Recent version of emacs 29 with pgtk flag has a problem with handling super
key modifier, due to gtk bug: https://gitlab.gnome.org/GNOME/gtk/-/issues/4913
This commit workarounds it.
* gnu/packages/patches/emacs-pgtk-super-key-fix.patch: New file.
* gnu/packages/emacs.scm (emacs-next-pgtk): Use it here.
* gnu/local.mk (dist_patch_DATA): Register it here.