~ruther/guix-local

2143cf7a — Ludovic Courtès 13 years ago
distro: Specify use of the bootstrap Guile for the initial derivations.

* distro/packages/base.scm (%bootstrap-guile): New variable.
  (gnu-make-boot0, diffutils-boot0, findutils-boot0, binutils-boot0,
  gcc-boot0, linux-headers-boot0, glibc-final, gcc-boot0-wrapped,
  gcc-final, ld-wrapper-boot3, bash-final, guile-final): Add
  `#:guile %bootstrap-guile' to the builder's arguments.
12d5aa0f — Ludovic Courtès 13 years ago
build-system/{gnu,trivial}: Add a `#:guile' keyword parameter.

* guix/build-system/gnu.scm (package-with-explicit-inputs): New `guile'
  keyword parameter.  Add it to P's arguments, and pass it in recursive
  calls.
  (gnu-build): New `guile' keyword parameter; new `guile-for-build'
  variable.  Pass it as the `#:guile-for-build' parameter of
  `build-expression->derivation'.

* guix/build-system/trivial.scm (trivial-build): Likewise.
db1a1531 — Ludovic Courtès 13 years ago
Support build-cores = 0; change `guix-build' to default to 0.

* guix/build/gnu-build-system.scm (%parallel-job-count): New variable.
  (build, check): Use it instead of $NIX_BUILD_CORES.

* guix-build.in (guix-build): Default to 0 for the #:build-cores option.
7da7ae93 — Ludovic Courtès 13 years ago
Augment `README'.

* README (Hacking): Mention `--with-nixpkgs'.  List the autotools and
  Gettext, as suggested by Nikita Karetnikov <nikita.karetnikov@gmail.com>.
49feac7a — Ludovic Courtès 13 years ago
distro: Fix typo in warning message.

* distro.scm (package-files): Add missing newline in warning message.
f4544767 — Ludovic Courtès 13 years ago
Add `pre-inst-env' script.

* pre-inst-env.in: New file.
* configure.ac: Add it to `AC_CONFIG_FILES' and `AC_CONFIG_COMMANDS'.
ab90f87c — Ludovic Courtès 13 years ago
Fix and update `POTFILES.in'.

* po/POTFILES.in: Update.
75668d79 — Ludovic Courtès 13 years ago
distro: Add libgc.

* distro/packages/base.scm (libgc): New variable.
  (guile-2.0): Use it.
cb0d69ed — Ludovic Courtès 13 years ago
distro: Add pkg-config.

* distro/packages/base.scm (pkg-config): New variable.
  (guile-2.0): Use it.
* distro/packages/guile.scm (guile-reader): Likewise.
1722d680 — Ludovic Courtès 13 years ago
distro: Add the `guile', `typesetting', and `databases' package modules.

* distro.scm (package-files): Adjust PREFIX-LEN to use the top-level
  directory, not %DISTRO-MODULE-DIRECTORY.
* distro/packages/base.scm (guile-reader, guile-reader/guile-1.8,
  guile-reader/guile-2.0, lout, recutils): Move to...
* distro/packages/guile.scm, distro/packages/typesetting.scm,
  distro/packages/databases.scm: ... here.  New files.
* Makefile.am (MODULES): Add them.
  (EXTRA_DIST): Add `.dir-locals.el'.

* .dir-locals.el: New file, with settings formerly in `base.scm'.
1f455fdc — Ludovic Courtès 13 years ago
distro: Rename (distro ...) to (distro packages ...).

* distro/base.scm, distro/ld-wrapper.scm: Move to `distro/packages'.
  Adjust LD-WRAPPER-BOOT3 input file name accordingly.
* Makefile.am (MODULES): Adjust accordingly.
* distro.scm (%distro-module-directory): Change to "/distro/packages".
* guix/build-system/gnu.scm (standard-inputs): Change module name
  to (distro packages base).
* tests/packages.scm (test-packages): Likewise.
8ffae202 — Ludovic Courtès 13 years ago
distro: GCC: Upgrade to 4.7.2.

* distro/base.scm (gcc-4.7): Upgrade to 4.7.2.
82dc2b9a — Ludovic Courtès 13 years ago
distro: Add an `ld' wrapper, to pass missing `-rpath' flags.

* distro/ld-wrapper.scm: New file.
* Makefile.am (MODULES): Add it.

* distro/base.scm (ld-wrapper-boot3): New variable.
  (%boot3-inputs): Add LD-WRAPPER-BOOT3.
  (bash-final, guile-final, ld-wrapper): New final.
  (%final-inputs): Use BASH-FINAL; add LD-WRAPPER.
  (gcc-4.7): Remove the `-rpath' trick from the `lib' spec string.
dc8907d8 — Ludovic Courtès 13 years ago
distro: gcc: Patch `lib' spec to add `-rpath' for each `-L'.

* distro/base.scm (gcc-4.7): Patch `LIB_SPEC' to add `-rpath' for each
  `-L'.  Spec string suggested by Marc Glisse <marc.glisse@inria.fr>.
  (libtool): Add `libtool-skip-tests.patch'.

* distro/patches/libtool-skip-tests.patch: New file.
* Makefile.am (dist_patch_DATA): Add it.
457dd86d — Ludovic Courtès 13 years ago
Add (guix ftp) and companion modules.

* guix/ftp-client.scm, guix/ftp.scm, guix/build/ftp.scm: New files.
* Makefile.am (MODULES): Add them.

* distro/base.scm (libffi): Use `ftp-fetch'.
fb585745 — Ludovic Courtès 13 years ago
distro: Use our own Perl during bootstrap.

* distro/base.scm (linux-headers-boot0): Use PERL with %BOOT0-INPUTS
  instead of calling out to `nixpkgs-derivation*'.
dc0a9729 — Ludovic Courtès 13 years ago
distro: gcc: Add a RUNPATH on libc.

* distro/base.scm (gcc-4.7): Remove unnecessary "libc" input.
  Add `-rpath LIBC/lib' to `LIB_SPEC'.
b289e9f9 — Ludovic Courtès 13 years ago
distro: Add Perl.

* distro/base.scm (perl): New variable.
* distro/patches/perl-no-sys-dirs.patch: New file.
* Makefile.am (dist_patch_DATA): Add it.
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.
Next