aboutsummaryrefslogtreecommitdiff
path: root/guix/build/emacs-utils.scm
Commit message (Collapse)AuthorAge
* guix: emacs-utils: Make emacs-compile-directory forwards-compatible.Liliana Marie Prikler2024-03-02
| | | | | | | | | | | | Newer (development) builds of Emacs 30 mark a number of functions related to native compilation as ‘internal’. Since we rely on such functions and there does not appear to be a high-level replacement at the moment, let's work around this case. * guix/build/emacs-utils.scm (emacs-compile-directory): Require comp early and check if ‘comp-write-bytecode-file’ is available. Fixes: Upstream renamed comp-write-bytecode-file <https://bugs.gnu.org/69201>
* build-system: emacs: Compute relative file names.Liliana Marie Prikler2024-02-24
| | | | | | | | | | | With the previous commit, relative file names are expanded relative to ELN_DIR -- more or less. To make use of this in emacs-build-system, we must also pass relative file names. * guix/build/emacs-build-system.scm (emacs-compile-directory): Compute the relative file names of the files to compile. Change-Id: I8983f80fb0fe1573e46748222403ba8873f1599f
* build: emacs-utils: Adjust ‘emacs-compile-directory’ for Emacs 29.Hilton Chain2023-09-07
| | | | | | | * guix/build/emacs-utils.scm (emacs-compile-directory): After native compilation, write the bytecode file with ‘comp-write-bytecode-file’. Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
* guix: emacs-utils: Add ert-number-tests.Liliana Marie Prikler2023-08-19
| | | | * guix/build/utils.scm (ert-number-tests): New variable.
* guix: emacs-utils: Support disabling native-compilation.Liliana Marie Prikler2022-10-14
| | | | | * guix/build/emacs-utils.scm (emacs-batch-disable-compilation): Add ‘native?’ argument and honour it.
* build: emacs-utils: Fix `emacs-substitute-variables'.Nicolas Goaziou2022-10-13
| | | | | | | | | | | | | | | * guix/build/emacs-utils.scm (emacs-substitute-variables): Fix the regexp matching variable name. With end-of-word regexp ("\>"), the previous regexp may match the prefix of a variable only, effectively deleting the rest of its name. For example, (emacs-substitute-variables "file.el" ("foo" ...)) could match (defvar foo-bar ...) and replace it with (defvar foo ...).
* build-system: emacs: Use new function for autoloads generationMorgan Smith2022-09-11
| | | | | | | | * guix/build/emacs-utils.scm (emacs-generate-autoloads): Use 'loaddefs-generate' to create autoloads instead of 'update-directory-autoloads' if we are using a new enough Emacs Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
* guix: emacs-utils: Add emacs-compile-directory.Liliana Marie Prikler2022-09-11
| | | | * guix/build/emacs-utils.scm (emacs-compile-directory): New variable.
* guix: emacs-utils: Add emacs-header-parse.Fredrik Salomonsson2022-06-17
| | | | | | | | | | * guix/build/emacs-utils.scm (emacs-header-parse): New procedure. * tests/build-emacs-utils.scm ("emacs-header-parse: fetch version", "emacs-header-parse: fetch keywords", "emacs-header-parse: fetch nonexistent author"): New tests. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
* guix: emacs-utils: Add emacs-batch-script.Fredrik Salomonsson2022-06-17
| | | | | | | | | | * guix/build/emacs-utils.scm (emacs-batch-script): New procedure. * tests/build-emacs-utils.scm: New file. * Makefile.am (TESTS): Add `tests/build-emacs-utils.scm'. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
* build: emacs-utils: Add a (as-display) subform to `emacs-substitute-variables'.Maxim Cournoyer2022-04-04
| | | | | | | | * guix/build/emacs-utils.scm (as-display): New variable. (replacement-helper): New syntax helper. (emacs-substitute-sexps): Use it and update doc. (emacs-substitute-variables): Add an optional 'modifier' datum to the replacement specification, and document it.
* Update copyright assignments for Liliana Marie Prikler.Liliana Marie Prikler2021-09-25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | * doc/guix.texi: Update copyright name for Liliana Marie Prikler. * gnu/packages/build-tools.scm: Update copyright name and email for Liliana Marie Prikler. * gnu/packages/convmv.scm: Likewise. * gnu/packages/emacs-xyz.scm: Likewise. * gnu/packages/emacs.scm: Likewise. * gnu/packages/esolangs.scm: Likewise. * gnu/packages/game-development.scm: Likewise. * gnu/packages/games.scm: Likewise. * gnu/packages/gnome-xyz.scm: Likewise. * gnu/packages/gnome.scm: Likewise. * gnu/packages/gstreamer.scm: Likewise. * gnu/packages/guile-xyz.scm: Likewise. * gnu/packages/minetest.scm: Likewise. * gnu/packages/music.scm: Likewise. * gnu/packages/patches/minetest-add-MINETEST_MOD_PATH.patch: Likewise. * gnu/packages/patches/ppsspp-disable-upgrade-and-gold.patch: Likewise. * gnu/packages/patches/webkitgtk-bind-all-fonts.patch: Likewise. * gnu/packages/python-xyz.scm: Likewise. * gnu/packages/unicode.scm: Likewise. * gnu/packages/xorg.scm: Likewise. * gnu/services/sound.scm: Likewise. * guix/build-system/renpy.scm: Likewise. * guix/build/emacs-utils.scm: Likewise. * guix/build/renpy-build-system.scm: Likewise.
* build: emacs-utils: Add an option to select scoping for batch eval.Maxim Cournoyer2020-03-22
| | | | | | | | | | | In Emacs 27, --eval now evaluates using lexical scoping. This change adds an option to select dynamic scoping, by using a workaround proposed in <https://bugs.gnu.org/39823>. * guix/build/emacs-utils.scm (emacs-batch-eval): Add a DYNAMIC? keyword argument. Wrap the EXPR with a call to EVAL that makes use of the argument to select the scoping mode. (emacs-generate-autoloads): Use it.
* emacs-build-system: Byte compile the autoload files.Maxim Cournoyer2020-02-27
| | | | | | | | | | * guix/build/emacs-build-system.scm (enable-autoloads-compilation) (validate-compiled-autoloads): Add procedures. (%standard-phases): Register the new procedures. * gnu/packages/aux-files/emacs/guix-emacs.el (guix-emacs-find-autoloads): Remove duplicates in the list of autoload files found. * guix/build/emacs-utils.scm (expr->string): Add procedure. (emacs-batch-eval, emacs-batch-edit-file): Use it.
* guix: emacs-utils: Add emacs-batch-disable-compilation.Leo Prikler2019-12-27
| | | | | | | * guix/build/emacs-utils.scm (emacs-batch-disable-compilation): New procedure. Signed-off-by: Brett Gilio <brettg@gnu.org>
* Merge branch 'master' into core-updatesMarius Bakke2018-05-06
|\
| * build: emacs-utils: Fail when byte compilation fails.Maxim Cournoyer2018-05-03
| | | | | | | | | | | | | | | | | | Byte compilation failures were ignored prior to this change. * guix/build/emacs-utils.scm (emacs-byte-compile-directory): Fail when there are compilation errors. Signed-off-by: Arun Isaac <arunisaac@systemreboot.net>
* | Merge branch 'master' into core-updatesMark H Weaver2018-04-21
|\|
| * build-system: emacs: Replace system* with invoke.Maxim Cournoyer2018-04-20
| | | | | | | | | | | | | | | | | | * guix/build/emacs-utils.scm: Use (guix build utils) for invoke. (emacs-batch-eval, emacs-batch-edit-file): Replace system* with invoke. * guix/build/emacs-build-system.scm (make-autoloads): No need to return #t explicitly since emacs-generate-autoloads now uses invoke. Signed-off-by: Arun Isaac <arunisaac@systemreboot.net>
* | build: emacs-utils: Use invoke instead of system*.Mark H Weaver2018-03-16
|/ | | | | * guix/build/emacs-utils.scm (emacs-batch-eval) (emacs-batch-edit-file): Use invoke.
* emacs-build-system: Add set-emacs-load-path phase.Maxim Cournoyer2018-02-05
| | | | | | | | | | | | | | | | | | | | This generalizes the mechanism by which the Emacs dependencies are made visible, so that any build phase can make use of them. * guix/build/emacs-build-system.scm (%legacy-install-suffix): New variable. (%install-suffix): Redefine in terms of %legacy-install-suffix. (set-emacs-load-path): Add new phase used for dependency resolution. (build): Remove ad-hoc dependency discovery mechanism. (emacs-input->el-directory): Add new procedure. (emacs-inputs-el-directories): Use it. (package-name-version->elpa-name-version): Fix typo. (%standard-phases): Include the new `set-emacs-load-path' phase. Refactor to make the ordering of the phases clearer. * guix/build/emacs-utils.scm (emacs-byte-compile-directory): Remove the optional `dependency-dirs' argument, which is now obsoleted by the `set-emacs-load-path' phase. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
* build: emacs-utils: Add 'emacs-byte-compile-directory'.Federico Beffa2015-07-08
| | | | * guix/build/emacs-utils.scm (emacs-byte-compile-directory): New procedure.
* build: emacs-utils: Add 'emacs-generate-autoloads'.Alex Kost2014-12-02
| | | | * guix/build/emacs-utils.scm (emacs-generate-autoloads): New procedure.
* Add (guix build emacs-utils).Mark H Weaver2014-08-14
* guix/build/emacs-utils.scm: New file. * Makefile.am (MODULES): Add it. * .dir-locals.el: Add indentation rules.