build: Clearly mark Nixpkgs as optional. * configure.ac: Always show the result of checking for Nixpkgs. Don't warn when Nixpkgs is not found. * Makefile.am (AM_DISTCHECK_CONFIGURE_FLAGS): Remove `--with-nixpkgs' flag. * guix/utils.scm (%nixpkgs-directory): Use either the compile-time or the run-time `NIXPKGS' environment variable. * release.nix (jobs.tarball, jobs.build): Remove `--with-nixpkgs' configure flag. * README: Mark Nixpkgs as optional. * distro/packages/databases.scm, distro/packages/guile.scm, distro/packages/typesetting.scm: Change uses of `nixpkgs-derivation*' to `nixpkgs-derivation', to avoid failing at compile-time.
distro: Build Bash sequentially. * distro/packages/base.scm (bash): Set `#:parallel-build?' and `#:parallel-tests?' to #f.
build: Move `distro/patches' to `distro/packages/patches'. * distro/patches: Move directory to... * distro/packages/patches: ... here. * Makefile.am (dist_patch_DATA): Adjust accordingly. * pre-inst-env.in (DISTRO_PATCH_DIRECTORY): Likewise.
distro: Add i686-linux port. * distro/packages/bootstrap/i686-linux/bash, distro/packages/bootstrap/i686-linux/mkdir, distro/packages/bootstrap/i686-linux/tar, distro/packages/bootstrap/i686-linux/xz: New files. * distro/packages/base.scm (%bootstrap-coreutils&co, %bootstrap-binutils, %bootstrap-glibc, %bootstrap-gcc): Add hashes of the i686-linux tarballs. * Makefile.am (bootstrap_i686_linuxdir, dist_bootstrap_i686_linux_DATA, nodist_bootstrap_i686_linux_DATA): New variables (DISTCLEANFILES): Add $(nodist_bootstrap_i686_linux_DATA). (distro/packages/bootstrap/i686-linux/guile-bootstrap-2.0.6.tar.xz): New rule.
distro: gcc: Adjust to support non-x86_64 architectures. * distro/packages/base.scm (gcc-4.7)[arguments]: In the `pre-configure' phase, patch all the relevant gcc/config files, not just those for x86_64-linux-gnu.
utils: Remove special `substitute*' syntax for lists of files. * guix/build/utils.scm (substitute*): Remove special syntax for list-of-files; instead, check whether FILE is `list?' at run time. * distro/packages/base.scm (gcc-4.7, %binutils-static): Adjust accordingly.
packages: Pass `system' around. * guix/packages.scm (package-source-derivation): Add `system' parameter. Pass it to METHOD. (package-derivation)[expand-input]: Pass SYSTEM to `package-derivation' and `package-source-derivation'. * distro/packages/base.scm (package-with-bootstrap-guile)[boot]: Pass SYSTEM to FETCH.
distro: Build the final inputs against the final Bash, not the bootstrap Bash. * distro/packages/base.scm (%boot4-inputs): New variable. (guile-final): Use it. (%final-inputs): Build with %BOOT4-INPUTS, not %BOOT3-INPUTS.
distro: ncurses: Don't patch shebangs. * distro/packages/base.scm (ncurses): Pass #:patch-shebangs? #f.
distro: Bootstrap using our own binaries instead of those from Nixpkgs. * distro/packages/base.scm (%bootstrap-inputs): Switch to using our own bootstrap binaries instead of those from Nixpkgs.
distro: Build glibc with `--enable-obsolete-rpc'. * distro/packages/base.scm (glibc-final): Pass `--enable-obsolete-rpc'. (%bootstrap-glibc): Update hash accordingly.
distro: Add missing Linux-Libre headers to the bootstrap glibc. * distro/packages/base.scm (%glibc-stripped): Copy all of Linux-Libre's `include/asm' directory; copy a few linux/ headers too. (%bootstrap-glibc): Update tarball hash.
distro: Add a bootstrap GCC that uses binaries from the tarball. * distro/packages/base.scm (%bootstrap-gcc): New variable.
distro: Add missing commands in the bootstrap binaries. * distro/packages/base.scm (%static-inputs): Add an `awk' -> `gawk', and `sh' -> `bash' symlinks. Add `fgrep' and `egrep'. (%bootstrap-coreutils&co): Use new tarball that contains that symlink. * distro/packages/bootstrap/x86_64-linux/bash, distro/packages/bootstrap/x86_64-linux/mkdir, distro/packages/bootstrap/x86_64-linux/tar, distro/packages/bootstrap/x86_64-linux/xz: Use binaries from that tarball (the previous binaries hadn't gone through `remove-store-references', which is fixed now.)
distro: Update file name of initial Binutils tarball. * distro/packages/base.scm (%bootstrap-binutils): Update remote file name.
distro: Update bootstrap glibc package. * distro/packages/base.scm (%bootstrap-glibc): Update initial regexp to make it less Nixish. Update hash to new tarball.
distro: Add required Linux-Libre headers to the glibc tarball. * distro/packages/base.scm (%glibc-stripped): Include required headers from Linux-Libre.
distro: gcc: No longer store the absolute path of crt files. * distro/packages/base.scm (gcc-4.7): Define STANDARD_STARTFILE_PREFIX_[12] instead of storing the absolute path of crt files.
distro: Fix GCC tarball to include the `libexec' directory. * distro/packages/base.scm (%gcc-stripped): Copy $gcc/libexec to $out.
distro: Fix glibc tarball to include *.so.*. * distro/packages/base.scm (%glibc-stripped): Fix regexp to include *.so.* in the output.