Age | Commit message (Collapse) | Author |
|
* tests/builders.scm (%bootstrap-inputs, %bootstrap-guile): New
variables.
("gnu-build"): Use them, by setting `#:implicit-inputs? #f' and `#:guile'.
* tests/packages.scm (%bootstrap-inputs, %bootstrap-guile): New
variables.
("trivial"): Pass `#:guile %bootstrap-guile'.
("GNU Hello"): Use `package-with-explicit-inputs' to use
%BOOTSTRAP-GUILE and %BOOTSTRAP-INPUTS.
|
|
* guix/build-system/gnu.scm (gnu-build)[guile-for-build]: Check whether
GUILE matches string? before checking whether it matches
derivation-path?.
* guix/build-system/trivial.scm (trivial-build)[guile-for-build]:
Likewise.
|
|
* 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.
|
|
* 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.
|
|
* 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.
|
|
* README (Hacking): Mention `--with-nixpkgs'. List the autotools and
Gettext, as suggested by Nikita Karetnikov <nikita.karetnikov@gmail.com>.
|
|
* distro.scm (package-files): Add missing newline in warning message.
|
|
* pre-inst-env.in: New file.
* configure.ac: Add it to `AC_CONFIG_FILES' and `AC_CONFIG_COMMANDS'.
|
|
* po/POTFILES.in: Update.
|
|
* distro/packages/base.scm (libgc): New variable.
(guile-2.0): Use it.
|
|
* distro/packages/base.scm (pkg-config): New variable.
(guile-2.0): Use it.
* distro/packages/guile.scm (guile-reader): Likewise.
|
|
* 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'.
|
|
* 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.
|
|
* distro/base.scm (gcc-4.7): Upgrade to 4.7.2.
|
|
* 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.
|
|
* 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.
|
|
* 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'.
|
|
* distro/base.scm (linux-headers-boot0): Use PERL with %BOOT0-INPUTS
instead of calling out to `nixpkgs-derivation*'.
|
|
* distro/base.scm (gcc-4.7): Remove unnecessary "libc" input.
Add `-rpath LIBC/lib' to `LIB_SPEC'.
|
|
* distro/base.scm (perl): New variable.
* distro/patches/perl-no-sys-dirs.patch: New file.
* Makefile.am (dist_patch_DATA): Add it.
|
|
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.
|
|
* 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.
|
|
* 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'.
|
|
* guix/build/gnu-build-system.scm (set-paths)[relevant-input-directories]:
New procedure. Use it. This fixes #:path-exclusions handling.
|
|
* guix/build/utils.scm (set-path-environment-variable): Print ENV-VAR
and its value.
|
|
* 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.
|
|
* distro/base.scm (gcc-4.7)[pre-configure]: Patch fixincl.x.
|
|
* distro/base.scm (glibc): Pass "--enable-kernel=2.6.30".
|
|
* guix/packages.scm (package-derivation): Accept use of an <origin> as
an input.
|
|
* guix/build-system/gnu.scm (package-with-explicit-inputs): Convert LOC
when it is a source-property list.
|
|
* distro/base.scm (mpc): Upgrade to 1.0.
|
|
* guix/packages.scm (package-full-name): New procedure.
(package-derivation): Use it.
|
|
* guix-build.in (show-help): Add `--derivations'.
(%options): Likewise.
(guix-build): Handle it.
|
|
* guix-build.in (derivations-from-package-expressions): Add `source?'
parameter. Honor it.
(show-help): Add `--source'.
(%options): Likewise.
(guix-build): Honor `--source'.
|
|
* guix/packages.scm (<location>, location): Move to...
* guix/utils.scm: ... here.
|
|
* 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.
|
|
* distro/base.scm (bzip2): New variable.
(%final-inputs): Add bzip2.
|
|
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.
|
|
* guix/packages.scm (transitive-inputs): New procedure.
(package-transitive-inputs): Rewrite in terms of `transitive-inputs'.
(package-transitive-propagated-inputs): New procedure.
|
|
* guix/packages.scm (%derivation-cache): New variable.
(cache, cached-derivation): New procedures.
(package-derivation): Use them.
|
|
* distro/base.scm (recutils): Apply. `diffutils-gets-undeclared.patch'.
|
|
* distro/base.scm (glibc): Move LINUX-HEADERS from `native-inputs' to
`propagated-inputs'. Remove unnecessary `_' in /bin/pwd substitution.
|
|
* distro/patches/diffutils-gets-undeclared.patch: New file.
* Makefile.am (dist_patch_DATA): Add it.
* distro/base.scm (diffutils): Apply. `diffutils-gets-undeclared.patch'.
|
|
* distro/patches/tar-gets-undeclared.patch: New file.
* Makefile.am (dist_patch_DATA): Add it.
* distro/base.scm (tar): Apply. `tar-gets-undeclared.patch'.
|
|
* guix/packages.scm (<package>): Add record printer.
|
|
* guix/derivations.scm (write-derivation): Explicitly use
`simple-format'.
(derivation-path->output-path): Memoize.
|
|
* guix/store.scm (store-path?): Check with `string-prefix?' instead of a
regexp.
|
|
* guix/build/gnu-build-system.scm (patch): Use `--input FILE', not just
`FILE'.
|
|
* guix/build/utils.scm (substitute): Do not pass the OUT to PROC; use
`list-matches' instead of `regexp-exec' and pass a list of matches to
PROC. Expect PROC to return a string, and output that. Fold over
RX+PROC in order. Use `(read-line p 'concat)' to include the trailing
delimiter in LINE.
(substitute*): Produce code to iterate over the matches, and return a
string, which includes anything from the original line that's in
between matches.
* distro/base.scm (gcc-4.7, glibc): Adjust accordingly: remove use
of (ice-9 regex) and `regexp-substitute/global'; return a string.
|
|
* distro/base.scm (m4): Use `m4-gets-undeclared.patch'.
* distro/patches/m4-gets-undeclared.patch: New file.
* Makefile.am (dist_patch_DATA): Add it.
|