Autoconf does not cross-built properly: it lacks the concept of
<tool>-for-build. It runs the host `autom4te' (a perl script) during build.
* gnu/packages/autotools.scm (autoconf)[inputs]: Add bash-minimal, perl, and
m4. To avoid triggering a rebuild, do this while cross-compiling only.
[arguments]: When cross-building, add `patch-non-shebang-references' phase to
substitute the host bash, m4 and perl.
* gnu/packages/qt.scm (qt-4)[native-inputs]: Distinguish GCC-5.
[arguments]: Add phase to hide the default GCC from CPLUS_INCLUDE_PATH to fix
conflicting headers.
The sparse03.at test apparently freezes the Hurd; messages
on the console:
165: listing sparse files bigger than 2^33
ext2fs: device:hd0s1: warning: bit already cleared for block 245780
ext2fs: device:hd0s1: warning: bit already cleared for block 245781
ext2fs: device:hd0s1: warning: bit already cleared for block 245782
...
ext2fs: BUG: unexpected fault on disk image ... err 0xa
ext2fs: disk-pager.c:98: fault_handler: Assertion 'err' failed.
the other tests just fail.
* gnu/packages/base.scm (tar)[arguments]: When compiling for the Hurd,
skip `sparse' and failing tests.
* gnu/packages/tls.scm (gnutls)[arguments]: When compiling for the Hurd,
disable tests.
[native-inputs]: When compiling for the Hurd, do not include datefudge.
* gnu/packages/patches/perl-cross.patch: New file.
* gnu/local.mk (dist_patch_DATA): Add it.
* gnu/packages/perl.scm (perl)[native-inputs]: When cross-compiling, add
`perl-cross' input and perl-cross.patch.
[arguments]: When cross-compiling, use them to produce binary for host.
* gnu/packages/version-control.scm (git-cross-configure-flags): Add missing
"ac_cv_iconv_omits_bom" flag.
(git)[arguments]: Avoid modify-PATH stage when cross-compiling as it depends
on non-present "bash-for-tests".
Unlike during a non-chroot'ed build on Debian/Hurd, there is no /usr/include.
* gnu/packages/commencement.scm (python-boot0)[arguments]: When building on
the Hurd, add `fix-regen' stage to correct a reference to "/usr".
* gnu/packages/python.scm (python-2.7)[arguments]: Add `fix-regen'
stage to correct a reference to "/usr".
(python-3.8): Remove build fix for 2.x..3.5.9 that breaks on 3.8.2.
* gnu/packages/boost.scm (boost-static)[arguments]: Adjust libboost_python27.a
file name to take the Python 3 counterpart in the provide_libboost_python phase.
Suggested by Steven vanZyl <rushsteve1@rushsteve1.us>.
* doc/guix.texi (Binary Installation): Add @example showing how to
download the script. Use "systemctl enable --now".
Fixes <https://bugs.gnu.org/37679>.
Reported by Gábor Boskovits <boskovits@gmail.com>.
* guix/tests/git.scm (call-with-environment-variables): New procedure.
(with-environment-variables): New macro.
(populate-git-repository)[git]: Wrap (git-command) invocation in
'call-with-temporary-directory' and 'with-environment-variables'.
Issue reported by SergioBG here:
https://lists.gnu.org/archive/html/bug-guix/2020-04/msg00432.html.
Due to default buffering mode, the installer was reading from the pipe without
having actually written a command before.
* gnu/installer/connman.scm (connman-connect-with-auth): Set pipe buffering
mode to 'line.
* gnu/packages/gnome.scm (cheese): Update to 3.34.0.
[build-system]: Use meson-build-system.
[arguments]: Set #:glib-or-gtk? flag. Adjust 'skip-gtk-update-icon-cache'
phase and run it after the 'unpack' phase.
[native-inputs]: Add docbook-xsl, gtk-doc, and libxslt.
(cherry picked from commit e96f871c3603da785e31a3c130ae1d1a64827a93)
* gnu/packages/gnome.scm (mutter): Update to 3.34.2.
[arguments]: Add configure flag to disable profiling. Update configure flag
that adds to the RUNPATH. Remove obsolete 'disable-werror' and 'use-elogind'
phases.
[native-inputs]: Add desktop-file-utils.
(cherry picked from commit b9686aea5170e528893433de4f563dd9b1a68cc0)