python-build-system: add a check phase.
* guix/build/python-build-system.scm (check): New procedure.
(%standard-phases): Use it.
packages: Raise an error condition a cross builder is needed but unavailable.
* guix/packages.scm (&package-cross-build-system-error): New condition type.
(package-cross-derivation): Raise &package-cross-build-system-error
when the build system doesn't support cross builds.
* guix/ui.scm (call-with-error-handling): Add
package-cross-build-system-error? case.
* tests/packages.scm ("package-cross-derivation, no cross builder"): New test.
build-system/gnu: Fix typo in `gnu-cross-build'.
* guix/build-system/gnu.scm (gnu-cross-build)[builder]: When
IMPLICIT-TARGET-INPUTS is #f, default to '().
gnu: guile: More cross-compilation tweaks.
* gnu/packages/guile.scm (guile-2.0): When cross-compiling, unset
GUILE_LOAD_PATH and GUILE_LOAD_COMPILED_PATH, and set
CC_FOR_BUILD=gcc.
gnu: pkg-config: Provide a cross-build-friendly wrapper.
* gnu/packages/pkg-config.scm (pkg-config): Rename to...
(%pkg-config): ... this. Make private.
(cross-pkg-config, pkg-config-for-target): New procedures.
(pkg-config): New macro.
gnu: cross-binutils: Build with `--with-sysroot'.
This fixes resolution of DT_NEEDED entries in cross-built libraries.
For instance, if ltdl.so needs libdl.so and has it in its RUNPATH, then
libdl.so is searched for in the right place.
* gnu/packages/cross-base.scm (cross-binutils): Pass
`--with-sysroot=/no-such-path'.
doc: Improve wording and fix typos in "Introduction" and "Requirements".
* doc/guix.texi (Introduction, Requirements): Rephrase and fix typos.
gnu: guile: Add Bash as an input, to permit cross-compilation.
* gnu/packages/guile.scm (guile-2.0): Add Bash as an input
when (%current-target-system) is true. Use %standard-cross-phases as
a basis when (%current-target-system) is true.
gnu: bash: Fix cross-compilation.
* gnu/packages/bash.scm (bash): Pass "bash_cv_job_control_missing=no"
when (%current-target-system) is true.
build: `hydra.scm' really cross-builds Gettext.
* hydra.scm: Import (gnu packages gettext).
zlib: Add a sourceforge mirror.
This is especially useful since the tarball is deleted from zlib.net as soon as
a new version of zlib is released.
build: Add missing import in `hydra.scm'.
* hydra.scm: Import (gnu packages gawk).
build: `hydra.scm' cross-builds a few more packages.
* hydra.scm (%packages-to-cross-build): Add a few packages.
gnu: ncurses, readline: Allow cross-compilation.
* gnu/packages/ncurses.scm (ncurses): Add `cross-pre-install-phase'.
Use different phases when (%current-target-system) is true.
* gnu/packages/readline.scm (readline): Use %standard-cross-phases as
the base when (%current-target-system) is true.
gnu: libffi: Allow cross-compilation.
* gnu/packages/libffi.scm (libffi): Use %standard-cross-phases as the
base when cross-compiling. Add (guix build gnu-cross-build) to the
#:modules when cross-compiling. Improve synopsis.
gnu: libtool: Allow cross-compilation.
* gnu/packages/autotools.scm (libtool)[arguments]: Use #:phases argument
only when building natively.
gnu: gawk: Allow cross-compilation.
* gnu/packages/gawk.scm (gawk)[arguments]: Use `set-shell-file-name'
phase that works when cross-compiling; use `%standard-cross-phases' as
the base when (%current-target-system) is true.
gnu: libsigsegv: Fix mips64el-linux-gnu (cross-)builds.
* gnu/packages/libsigsegv.scm (libsigsegv): New `arguments' field.
gnu: findutils: Fix cross-compilation.
* gnu/packages/base.scm (findutils): Reinstate cross-compilation
#:configure-flags.
gnu: sed: Allow cross-compilation.
* gnu/packages/base.scm (sed): Keep the default phases
when (%current-target-system) is true.