This means there's a useful progress bar when running guix weather.
* guix/scripts/weather.scm (report-server-coverage): Pass
#:make-progress-reporter to lookup-narinfos.
Rather than always outputting to (current-error-port) in
lookup-narinfos (which is called from within lookup-narinfos/diverse), take a
procedure which should return a progress reporter, and defer any output to
that.
As this is now general purpose code, make the default behaviour to output
nothing. Maintain the current behaviour of the substitute script by moving the
progress reporter implementation there, and passing it in when calling
lookup-narinfos/diverse.
These changes should be generally useful, but I'm particularly looking at
getting guix weather to do progress reporting differently, with this new
flexibility.
* guix/substitutes.scm (fetch-narinfos): Take a procedure to make a
progress-reporter, and use that rather than the hardcoded behaviour.
(lookup-narinfos): Add #:make-progress-reporter keyword argument, and pass
this through to fetch-narinfos.
(lookup-narinfos/diverse): Add a #:make-progress-reporter keyword argument,
and pass this through to lookup-narinfos.
* guix/scripts/substitute.scm (process-query): Pass a progress-reporter to
lookup-narinfos/diverse.
* gnu/packages/emacs-xyz.scm (emacs-php-mode): Update to 1.24.0.
[arguments]: Include "lisp/" directory, and add it to load path before byte-compiling.
Because this package is a transitive input to many rust packages, Cuirass is
spending lots of time failing to build it on ci.guix.gnu.org. This change will
hopefully help with that issue.
* gnu/packages/rust.scm (rust-1.26)[supported-systems]: Remove aarch64-linux.
Fixes <https://bugs.gnu.org/38884>.
* guix/scripts/system.scm (switch-to-system-generation): Load the
activate script for that generation.
squash! scripts: system: Activate system when switching generations.
Currently rust fails to build for i686-linux, so this will avoid computing
lots of derivations that depend on rust, but won't be possible to build.
* gnu/packages/rust.scm (rust-1.19)[supported-systems]: Switch hardcoding only
supporting x86_64-linux for supporting all supported systems, other than
i686-linux.
These changes were sent upstream as
https://lists.gnu.org/archive/html/guile-devel/2021-02/msg00004.html
Without this change, the .go files are built for the host architecture, rather
than the target. I noticed this when cross building the
guix-build-coordinator (for which guile-lib is an input) to the Hurd.
* gnu/packages/guile-xyz.scm (guile-lib)[arguments]: Add
'patch-for-cross-compilation phase.
[native-inputs]: Add autoconf, automake and gettext.
(guile2.0-lib): Adjust to use alist-replace.
(guile2.2-lib): Adjust to use alist-replace.