~ruther/guix-local

321b0996 — Ludovic Courtès 13 years ago
distro: Bootstrap via a cross-toolchain.

This allows the final toolchain to be completely independent of
%BOOTSTRAP-INPUTS.

* distro/base.scm (glibc-dynamic-linker): New procedure.
  (gcc-4.7): Remove #:path-exclusions argument.  Check whether LIBC is
  #f before using it.
  (glibc): Remove "libc_cv_as_needed" hack.  Patch `Makeconfig' to
  remove `-lgcc_s'.
  (nix-system->gnu-triplet, boot-triplet): New variables.
  (binutils-boot0): Turn into a cross-Binutils targeting (boot-triplet
  SYSTEM).
  (gcc-boot0): Likewise.  Add configure options to make a smaller
  build.  Remove "binutils-source" from the input, and use
  BINUTILS-BOOT0 instead.
  (glibc-final): Cross-build using GCC-BOOT0 and BINUTILS-BOOT0.
  (gcc-boot0-wrapped): New variable.
  (%boot2-inputs): Use it.
  (m4-boot2, gmp-boot2, mpfr-boot2, mpc-boot2): Remove.
  (binutils-final): New variable.
  (gcc-final): Turn into a joint build with GMP/MPFR/MPC.  Use
  BINUTILS-FINAL.
  (%boot3-inputs): Adjust accordingly.
  (%boot4-inputs): Remove.
  (%final-inputs): Use %BOOT3-INPUTS.
be13fbfa — Ludovic Courtès 13 years ago
Add (guix build-system trivial).

* guix/build-system/trivial.scm: New file.
* Makefile.am (MODULES): Add it.
* tests/packages.scm ("trivial"): New test.

* guix/packages.scm (package-derivation): Allow SOURCE to be #f.
3c0670e6 — Ludovic Courtès 13 years ago
distro: Reduce the bootstrap set.

* distro/base.scm (%bootstrap-inputs): Remove `gnumake', `diffutils',
  and `findutils'.
  (gnu-make-boot0, diffutils-boot0, findutils-boot0, %boot0-inputs): New
  variables.
  (binutils-boot0, gcc-boot0, linux-headers-boot0, %boot1-inputs):
  Replace %BOOTSTRAP-INPUTS by %BOOT0-INPUTS.

  (final-inputs): Remove now unneeded call to
  `source-properties->location'.
2d14ef0f — Ludovic Courtès 13 years ago
build-system/gnu: Fix `#:path-exclusions' handling.

* guix/build/gnu-build-system.scm (set-paths)[relevant-input-directories]:
  New procedure.  Use it.  This fixes #:path-exclusions handling.
9d9ef458 — Ludovic Courtès 13 years ago
utils: Make `set-path-environment-variable' verbose.

* guix/build/utils.scm (set-path-environment-variable): Print ENV-VAR
  and its value.
5f805fdf — Ludovic Courtès 13 years ago
distro: Bootstrap with a joint GCC/Binutils/GMP/MPFR/MPC build.

* distro/base.scm (%bootstrap-inputs): Remove GMP, MPFR, and MPC.
  (substitute-keyword-arguments): New macro.
  (gcc-boot0): Add dependency on the Binutils, GMP, MPFR, and MPC
  tarballs.  Add a `unpack-binutils&co' phase to unpack them and symlink
  them so they get built, and to patch errors in `configure'.
  (glibc-final): Use `substitute-keyword-arguments' instead of a loop.
  (gcc-final): Inherit from GCC-4.7 instead of GCC-BOOT0.
181df118 — Ludovic Courtès 13 years ago
distro: gcc: Avoid retention of reference to `sed'.

* distro/base.scm (gcc-4.7)[pre-configure]: Patch fixincl.x.
5f456680 — Ludovic Courtès 13 years ago
distro: glibc: Assume a recent Linux kernel.

* distro/base.scm (glibc): Pass "--enable-kernel=2.6.30".
dc1045be — Ludovic Courtès 13 years ago
packages: Accept <origin> as package inputs.

* guix/packages.scm (package-derivation): Accept use of an <origin> as
  an input.
1f34bda1 — Ludovic Courtès 13 years ago
build-system/gnu: Relax location handling in `package-with-explicit-inputs'.

* guix/build-system/gnu.scm (package-with-explicit-inputs): Convert LOC
  when it is a source-property list.
a08cdce7 — Ludovic Courtès 13 years ago
distro: mpc: Upgrade to 1.0.

* distro/base.scm (mpc): Upgrade to 1.0.
2847050a — Ludovic Courtès 13 years ago
packages: Add `package-full-name'.

* guix/packages.scm (package-full-name): New procedure.
  (package-derivation): Use it.
609354bf — Ludovic Courtès 13 years ago
guix-build: Add `--derivations'.

* guix-build.in (show-help): Add `--derivations'.
  (%options): Likewise.
  (guix-build): Handle it.
5dba3149 — Ludovic Courtès 13 years ago
guix-build: Add `--source'.

* guix-build.in (derivations-from-package-expressions): Add `source?'
  parameter.  Honor it.
  (show-help): Add `--source'.
  (%options): Likewise.
  (guix-build): Honor `--source'.
ff352cfb — Ludovic Courtès 13 years ago
Move <location> to (guix utils).

* guix/packages.scm (<location>, location): Move to...
* guix/utils.scm: ... here.
ea52a52d — Ludovic Courtès 13 years ago
distro: bash, readline: Correctly set RUNPATH to the dependencies.

* distro/base.scm (readline): Add configure flags to set an rpath on
  ncurses.
  (bash): Add configure flags to set an rpath to readline and ncurses.
6818af7b — Ludovic Courtès 13 years ago
distro: Add bzip2.

* distro/base.scm (bzip2): New variable.
  (%final-inputs): Add bzip2.
60f984b2 — Ludovic Courtès 13 years ago
distro: Bootstrap standard inputs from Nixpkgs.

This is a first step towards bootstrapping from a set of pre-built,
statically-linked binaries.

* guix/build-system/gnu.scm (package-with-explicit-inputs,
  standard-inputs): New procedure.
  (%store): New variable.
  (%standard-inputs): Remove.
  (gnu-build): New `implicit-inputs?' keyword parameter.  Use it to
  choose whether to use `(standard-inputs SYSTEM)' or the empty list.

* distro/base.scm (guile-2.0): Remove dependency on XZ, which is now
  implicit.
  (%bootstrap-inputs, gcc-boot0, binutils-boot0, linux-headers-boot0,
  %boot1-inputs, glibc-final, %boot2-inputs, m4-boot2, gmp-boot2,
  mpfr-boot2, mpc-boot2, %boot3-inputs, gcc-final, %boot4-inputs,
  %final-inputs): New variables.
113aef68 — Ludovic Courtès 13 years ago
packages: Add `package-transitive-propagated-inputs'.

* guix/packages.scm (transitive-inputs): New procedure.
  (package-transitive-inputs): Rewrite in terms of `transitive-inputs'.
  (package-transitive-propagated-inputs): New procedure.
a2ebaddd — Ludovic Courtès 13 years ago
packages: Cache the result of `package-derivation'.

* guix/packages.scm (%derivation-cache): New variable.
  (cache, cached-derivation): New procedures.
  (package-derivation): Use them.
Next