~ruther/guix-local

ref: 2d14ef0f2ce486fceeeff69cc838c652bb5de9be guix-local/guix/build-system/gnu.scm -rw-r--r-- 6.4 KiB
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.
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.
dc4e0257 — Ludovic Courtès 13 years ago
build-system/gnu: Add `path-exclusions' parameter.

* guix/build/gnu-build-system.scm (set-paths): Add new `path-exclusions'
  parameter; honor it.
* guix/build-system/gnu.scm (gnu-build): New `path-exclusions' keyword
  parameter; pass it to BUILDER.

* distro/base.scm (gcc-4.7): Exclude "libc" from $LIBRARY_PATH.
e815763e — Ludovic Courtès 13 years ago
build-system/gnu: Add a `strip' phase.

* guix/build/gnu-build-system.scm (strip): New procedure.
  (%standard-phases): Add it.

* guix/build-system/gnu.scm (gnu-build): New `strip-binaries?',
  `strip-flags', and `strip-directories' keyword parameters.  Pass them
  to BUILDER.
22b5d9c9 — Ludovic Courtès 13 years ago
build-system/gnu: Add `out-of-source?' keyword parameter.

* guix/build/gnu-build-system.scm (configure): Add an `out-of-source?'
  keyword parameter; build out-of-source-tree when #t.
* guix/build-system/gnu.scm (gnu-build): Add `out-of-source?' keyword
  parameter.  Pass it in BUILDER.
437fd809 — Ludovic Courtès 13 years ago
build-system/gnu: Add a `patch-shebangs' phase.

* guix/build/gnu-build-system.scm (patch-shebangs): New procedure.
  (%standard-phases): Add it.

* guix/build-system/gnu.scm (gnu-build): New `patch-shebangs?' keyword
  parameter.  Pass it to the builder's `gnu-build'.
da62d3e5 — Ludovic Courtès 13 years ago
build-system/gnu: Add dependency on GNU Findutils.

* guix/build-system/gnu.scm (%standard-inputs): Add "findutils".
c3c7eb41 — Ludovic Courtès 13 years ago
build-system/gnu: Add `tests?' parameter.

* guix/build-system/gnu.scm (gnu-build): Add `tests?' parameter.
  [builder]: Inherit it.
febaa885 — Ludovic Courtès 13 years ago
build-system/gnu: Support parallel builds and tests.

* guix/build/gnu-build-system.scm (build): Add `parallel-build?'
  parameter; honor it and $NIX_BUILD_CORES.
  (check): Add `parallel-tests?' parameter; likewise.

* guix/build-system/gnu.scm (gnu-build): Add `parallel-build?' and
  `parallel-tests?' parameters.
  [builder]: Inherit them.
74cd03b1 — Ludovic Courtès 13 years ago
build-system/gnu: Add a `patch' phase.

* guix/build/gnu-build-system.scm (patch): New procedure.
  (%standard-phases): Add `patch'.

* guix/build-system/gnu.scm (gnu-build): Add `patches' and `patch-flags'
  parameters.  Pass them on.
3e43c64a — Ludovic Courtès 13 years ago
build-system/gnu: Make the builder's module list a parameter.

* guix/build-system/gnu.scm (gnu-build): Add a `modules' keyword
  parameter; use it.
5791d3b6 — Ludovic Courtès 13 years ago
build-system/gnu: Add GNU Awk to the standard inputs.

* guix/build-system/gnu.scm (%standard-inputs): Add GNU Awk.
900f7267 — Ludovic Courtès 13 years ago
Introduce `compile-time-value' and use it.

* guix/utils.scm (compile-time-value): New macro.
  (%nixpkgs-directory): Use it.

* guix/build-system/gnu.scm (%standard-inputs): Likewise.
e1e8874e — Ludovic Courtès 13 years ago
build-system/gnu: Have `configure-flags' and `make-flags' evaluated.

* guix/build-system/gnu.scm (gnu-build): Double-quote the default value
  of MAKE-FLAGS and CONFIGURE-FLAGS.  Don't quote them in BUILDER.
208f7cd1 — Ludovic Courtès 13 years ago
Abstract build systems.

* Makefile.am (MODULES): Add `guix/build-system.scm' and
  `guix/build-system/gnu.scm'.  Remove `guix/gnu-build-system.scm'.

* guix/build-system.scm: New file.
* guix/gnu-build-system.scm: Rename to...
* guix/build-system/gnu.scm: ... this.
  (gnu-build-system): New variable.

* tests/builders.scm: Adjust `use-module' clauses.
  ("gnu-build-system"): New test.
5dcfdcaa — Ludovic Courtès 13 years ago
gnu-build-system: Structure as a customizable sequence of phases.

* guix/build/gnu-build-system.scm (set-paths, build, check, install):
  New procedures.
  (unpack): Make `source' a keyword arg; add `#:allow-other-keys'.
  (configure): Likewise.
  (%standard-phases): New variable.
  (gnu-build): Make `source', `outputs', and `inputs' keyword arguments;
  add `phases' keyword argument; #:allow-other-keys; add rest arguments
  `args'.  Invoke each of PHASES in order within `every'.

* guix/gnu-build-system.scm (gnu-build): Add `make-flags' and `phases'
  keyword arguments.  Update builder's `gnu-build' call to match the new
  convention.
3ab892ff — Ludovic Courtès 13 years ago
gnu-build-system: Add GNU Diffutils and GNU Path to the standard inputs.

* guix/gnu-build-system.scm (%standard-inputs): Add Diffutils and Patch.
2acb2cb6 — Ludovic Courtès 13 years ago
Change `build-expression->derivation' to support sub-derivation inputs.

* guix/derivations.scm (build-expression->derivation): Change to expect
  INPUTS to have the form (NAME DRV-PATH SUB-DRV) or (NAME DRV-PATH),
  instead of (NAME . DRV-PATH).  Update callers accordingly.

* guix/gnu-build-system.scm, tests/builders.scm, tests/derivations.scm:
  Update accordingly.
c36db98c — Ludovic Courtès 13 years ago
Add supporting tools for the GNU Build System.

* guix/derivations.scm (build-expression->derivation): Add all of INPUTS
  as inputs to the final derivation.

* guix/build/gnu-build-system.scm, guix/build/utils.scm,
  guix/gnu-build-system.scm: New files.

* tests/builders.scm ("gnu-build"): New test.