* gnu/packages/emacs.scm (emacs)[source]<snippet>: Drop trailing ‘#t’.
[arguments]: Convert to list of G-Expressions.
Use ‘search-input-file’ where possible.
Inline references to auxiliary files.
Drop trailing ‘#t’s.
[inputs, native-inputs]: Drop labels.
* gnu/packages/aux-files/emacs/guix-emacs.el
(guix-emacs--non-core-load-path): New procedure.
(guix-emacs-autoload-packages): Use it here.
(guix-emacs-load-package-descriptors): New procedure.
* gnu/packages/emacs.scm (emacs)[install-site-start]: Install advice to run
‘guix-emacs-load-package-descriptors’.
* gnu/packages/emacs.scm (emacs)[patch-program-file-names]: Add patches for
the programs “gs”, “dvipdf”, “ps2pdf” and “pdftotext”.
[inputs]: Add ghostscript and poppler.
* gnu/packages/emacs.scm (emacs)[#:phases]<patch-program-file-names>: Expand
calls to “tramp-compat-process-running-p” so that Guix wrappers are also
matched.
* gnu/packages/emacs.scm (emacs-xwidgets, emacs-next-pgtk)[inputs]:
Replace webkitgtk with webkitgtk-with-libsoup2.
* gnu/packages/webkit.scm (webkitgtk-with-libsoup2): Add further
information about where this package is used and upstream tracker for
libsoup3.
* gnu/packages/emacs.scm (emacs) [restore-emacs-pdmp]: Use lax regular
expressions to match files by the “.pdmp” file ending only. Adjust comment
accordingly.
Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
Some parts of Emacs (dired, compression handling, Tramp) shell out to commands
and patching them all is a daunting task. Also, w.r.t. Tramp, we need those
commands to be portable across multiple machines, which need not only be Guix
machines (and even if they are, store items can be different). This patch
ensures a ‘sane’ setup FSVO ‘sane’.
* gnu/packages/emacs.scm (emacs)[wrap-load-path]: Rename to...
[wrap-emacs-paths] ... this. Also patch PATH.
With this, the search path specification of EMACSLOADPATH does no longer
depend on the version of Emacs, which should make upgrading major versions
less painful. See also:
- <https://bugs.gnu.org/43627>
- <https://bugs.gnu.org/47458>
* gnu/packages/emacs.scm (emacs)[#:phases]: Add ‘wrap-load-path’.
[native-search-path]<EMACSLOADPATH>: Do not search for builtin libraries.
(emacs-next)[native-search-path]: Inherit from emacs.
Recently, librsvg was updated to depend upon rust. That change inadvertently
restricted the "supported" systems of emacs (among other packages) to
x86_64-linux only, since that is the only system declared in the rust
package's list of supported systems. This unintentionally made emacs
unavailable on all other systems.
This change fixes that by removing the rust dependency from some packages.
The packages remain unchanged from the perspective of an x86_64-linux system,
but from the perspective of other systems, the packages are now supported
again (albeit without certain optional SVG features).
* gnu/packages/gtk.scm (gtk+, gtk+-2)[propagated-inputs]: If compiling for
x86_64, use gdk-pixbuf+svg as the "gdk-pixbuf" input, as usual. Otherwise,
use gdk-pixbuf, which avoids adding librsvg (thus rust) to the closure of
inputs. Note that both gtk+ and gtk+-2 are in the transitive closure of
inputs of emacs, so these two changes are necessary.
* gnu/packages/emacs (emacs)[inputs]: If compiling for x86_64, add librsvg to
the inputs, as usual. Otherwise, do not add it, which avoids adding rust to
the closure of inputs.
* gnu/packages/emacs.scm (emacs) [strip-double-wrap]:
Use regex to find emacs executable. This works even when the version is
changed by package transformations (ex: version=git.master)
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
This reverts commit b107a19ffb.
It causes too many rebuilds related to emacs-minimal, and fails with "No code
for module (guix build glib-or-gtk-build-system)".
* gnu/packages/emacs.scm (emacs) [strip-double-wrap]: Use regex to find emacs
executable. This works even when the version is changed by package
transformations (e.g., version=git.master).
Signed-off-by: Nicolas Goaziou <mail@nicolasgoaziou.fr>
Fixes <http://issues.guix.info/43277>.
* gnu/packages/emacs.scm (emacs)[strip-double-wrap]: Modify to work with
emacs-next.
(emacs-next)[version]: Use git-version to produce the version string.
[arguments]: Remove field.
[native-search-paths]: Add field.
Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
* gnu/packages/emacs.scm (emacs): Update to 27.1.
[source]: In snippet, use 'find-files' to find 'eshell/esh-groups.el'
if it exists, but gracefully handle its absence.
[arguments]: Add "--with-cairo" to configure-flags. Add 'restore-emacs-pdmp'
and 'make-compressed-files-writable' phases. Explicitly return #t from
'install-site-start' phase.
[inputs]: Add cairo, pango, harfbuzz, jansson, and gmp. Remove imagemagick.
(emacs-next): Remove variable.
(emacs-minimal, emacs-xwidgets): Use 'package/inherit'.
[arguments]: Remove 'restore-emacs-pdmp' phase.
(emacs-no-x): Use 'package/inherit'.
[arguments]: Remove "--with-cairo" from configure-flags. Remove
'restore-emacs-pdmp' phase.
[inputs]: Remove cairo, pango, and harfbuzz.
(emacs-no-x-toolkit): Use 'package/inherit'.
[arguments]: Remove 'restore-emacs-pdmp' phase. Remove superfluous
quasiquote+unquote-splicing pair.
(emacs-wide-int): Use 'package/inherit'.
(guile-emacs): Use 'package/inherit'.
[arguments]: Remove "--with-cairo" from configure-flags. Remove
'restore-emacs-pdmp' phase.
* gnu/packages/patches/emacs-ignore-empty-xim-styles.patch,
gnu/packages/patches/emacs-source-date-epoch.patch: Adapt to
apply cleanly to emacs-27.1.
* gnu/packages/patches/emacs-exec-path.patch: Replace with the previous
contents of 'emacs27-exec-path.patch', but remove the superfluous comment
about it being "like emacs-exec-path.patch, but for Emacs 27".
* gnu/packages/patches/emacs27-exec-path.patch: Delete file.
* gnu/local.mk (dist_patch_DATA): Remove 'emacs27-exec-path.patch'.
As of libx11 version 1.6.10, xim may be NULL, which causes a segmentation
fault in the execution of ARRAYELTS. As a cautionary measure, we
short-circuit this logic.
* gnu/packages/patches/emacs-ignore-empty-xim-styles.patch: New file.
* gnu/packages/emacs.scm (emacs emacs-next)[patches]: Use it.
* gnu/local.mk: Register it.
Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
When attempting to run ert-runner in the build side environment where /bin/sh
doesn't exist as part of the emacs-elpy test suite, Emacs was throwing the
error "Searching for program: No such file or directory, /bin/sh". This is
because the default shell when SHELL is not set was "/bin/sh", as can be seen
in callproc.c:
sh = getenv ("SHELL");
Vshell_file_name = build_string (sh ? sh : "/bin/sh");
Thus, patch the occurrences of "/bin/sh" in the source files of Emacs to refer
to their correct store location.
* gnu/packages/emacs.scm (emacs)[phases]{patch-program-file-names}: Add phase.