build-system: emacs: Use subdirectories again. With this, Emacs libraries are installed in the ELPA_NAME-VERSION subdirectory of site-lisp and potential subdirectories should no longer collide. * guix/build/emacs-build-system.scm (add-source-to-load-path): Rename to... (expand-load-path): ... this. Also expand lone subdirectories of site-lisp. (%standard-phases): Adjust accordingly. (elpa-directory): New variable. Export it publicly for use in other build systems. (build, patch-el-files, make-autoloads): Use ELPA name and version to construct subdirectories of %install-dir. (install): Install in subdirectory.
gnu: emacs: Add coreutils and gzip to PATH. 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.
gnu: emacs: Wrap EMACSLOADPATH. 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.
profiles: Add hook for Emacs subdirs. * guix/profiles.scm (emacs-subdirs): New variable. (%default-profile-hooks): Add it here. * guix/status.scm (hook-message): Add a message for emacs-subdirs.
Makefile: Reimplement `download-po` target. The weblate API rate limit is very close to the number of files we need to download. The previous implementation did not add new translations. * Makefile.am (download-po): Update target. (make-download-po-rule, make-check-po-rule): Remove functions.
gnu: sbcl: Update to 2.1.4. * gnu/packages/lisp.scm (sbcl): Update to 2.1.4.
gnu: soci: Update to 4.0.2. * gnu/packages/databases.scm (soci): Update to 4.0.2.
gnu: qutebrowser: Update to 2.2.1. * gnu/packages/web-browsers.scm (qutebrowser): Update to 2.2.1.
gnu: httpd: Update to 2.4.47. * gnu/packages/web.scm (httpd): Update to 2.4.47.
gnu: php: Update to 7.4.18. * gnu/packages/php.scm (php): Update to 7.4.18. [arguments]: Delete yet another failing test (proc_nice_basic).
gnu: khal: Update to 0.10.3. * gnu/packages/calendar.scm (khal): Update to 0.10.3.
gnu: diffoscope: Update to 173. * gnu/packages/diffoscope.scm (diffoscope): Update to 173.
gnu: mailcap: Update to 2.1.53. * gnu/packages/mail.scm (mailcap): Update to 2.1.53.
gnu: srt: Update to 1.4.3. * gnu/packages/networking.scm (srt): Update to 1.4.3.
gnu: ustr: Omit static libraries. * gnu/packages/textutils.scm (ustr)[arguments]: Add a new 'omit-static-libraries phase.
guix-install.sh: Add support for more than one signing key. The forthcoming 1.3.0 release will be signed with my personal GnuPG key; the installation script needs to tell users how to fetch it. * etc/guix-install.sh (OPENPGP_SIGNING_KEY_ID): Remove variable. (GPG_SIGNING_KEYS): New associative array. (chk_gpg_keyring): Process all the keys contained in the above array. (main) <GUIX_BINARY_FILE_NAME>: Double quote variable.
guix-install.sh: Ensure GUIX_BINARY_FILE_NAME is an absolute path. This is necessary as the directory context is changed in the script, breaking the use of a relative path. * etc/guix-install.sh (main) <GUIX_BINARY_FILE_NAME>: Resolve its absolute path via the 'realpath' command.
guix-install.sh: Allow overriding the Guix binary source. This is useful for example for testing release candidates not yet uploaded to the FTP, or for testing manually downloaded images from the CI. * etc/guix-install.sh (main)[GUIX_BINARY_FILE_NAME]: When this variable is defined, use it as the file name of a Guix binary, instead of automatically retrieving the latest archive from the FTP.
gnu: emacs-marginalia: Update to 0.5. * gnu/packages/emacs-xyz.scm (emacs-marginalia): Update to 0.5.
gnu: emacs-consult: Update to 0.7. * gnu/packages/emacs-xyz.scm (emacs-consult): Update to 0.7.