summaryrefslogtreecommitdiff
path: root/distro
Commit message (Collapse)AuthorAgeFilesLines
* distro: Add a statically-linked, relocatable Guile 2.0 package.Ludovic Courtès2012-10-132-0/+160
| | | | | | | | * distro/packages/base.scm (%guile-static, %guile-static-stripped): New variables. * distro/patches/guile-relocatable.patch: New file. * Makefile.am (dist_patch_DATA): Add it.
* distro: Add missing bits from previous commit.Ludovic Courtès2012-10-111-0/+14
| | | | * distro/packages/base.scm (default-keyword-arguments): New procedure.
* distro: First stab at building statically-linked bootstrap binaries.Ludovic Courtès2012-10-111-0/+168
| | | | | * distro/packages/base.scm (static-package): New procedure. (%bash-static, %static-inputs, %static-binaries): New variables.
* distro: Specify use of the bootstrap Guile for the initial derivations.Ludovic Courtès2012-10-061-17/+34
| | | | | | | | * 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.
* distro: Add libgc.Ludovic Courtès2012-09-261-1/+37
| | | | | * distro/packages/base.scm (libgc): New variable. (guile-2.0): Use it.
* distro: Add pkg-config.Ludovic Courtès2012-09-262-2/+29
| | | | | | * distro/packages/base.scm (pkg-config): New variable. (guile-2.0): Use it. * distro/packages/guile.scm (guile-reader): Likewise.
* distro: Add the `guile', `typesetting', and `databases' package modules.Ludovic Courtès2012-09-264-190/+274
| | | | | | | | | | | | | * 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: Rename (distro ...) to (distro packages ...).Ludovic Courtès2012-09-262-4/+5
| | | | | | | | | | * 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: GCC: Upgrade to 4.7.2.Ludovic Courtès2012-09-261-2/+2
| | | | * distro/base.scm (gcc-4.7): Upgrade to 4.7.2.
* distro: Add an `ld' wrapper, to pass missing `-rpath' flags.Ludovic Courtès2012-09-262-13/+213
| | | | | | | | | | | * 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: gcc: Patch `lib' spec to add `-rpath' for each `-L'.Ludovic Courtès2012-09-142-1/+57
| | | | | | | | | * 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.
* Add (guix ftp) and companion modules.Ludovic Courtès2012-09-121-3/+4
| | | | | | | * 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: Use our own Perl during bootstrap.Ludovic Courtès2012-09-121-2/+6
| | | | | * distro/base.scm (linux-headers-boot0): Use PERL with %BOOT0-INPUTS instead of calling out to `nixpkgs-derivation*'.
* distro: gcc: Add a RUNPATH on libc.Ludovic Courtès2012-09-121-4/+4
| | | | | * distro/base.scm (gcc-4.7): Remove unnecessary "libc" input. Add `-rpath LIBC/lib' to `LIB_SPEC'.
* distro: Add Perl.Ludovic Courtès2012-09-112-2/+208
| | | | | | * distro/base.scm (perl): New variable. * distro/patches/perl-no-sys-dirs.patch: New file. * Makefile.am (dist_patch_DATA): Add it.
* distro: Bootstrap via a cross-toolchain.Ludovic Courtès2012-09-111-152/+245
| | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* distro: Reduce the bootstrap set.Ludovic Courtès2012-09-071-13/+51
| | | | | | | | | | | | * 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'.
* distro: Bootstrap with a joint GCC/Binutils/GMP/MPFR/MPC build.Ludovic Courtès2012-09-061-15/+96
| | | | | | | | | | * 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: gcc: Avoid retention of reference to `sed'.Ludovic Courtès2012-09-061-1/+7
| | | | * distro/base.scm (gcc-4.7)[pre-configure]: Patch fixincl.x.
* distro: glibc: Assume a recent Linux kernel.Ludovic Courtès2012-09-061-0/+6
| | | | * distro/base.scm (glibc): Pass "--enable-kernel=2.6.30".
* distro: mpc: Upgrade to 1.0.Ludovic Courtès2012-09-051-2/+2
| | | | * distro/base.scm (mpc): Upgrade to 1.0.
* distro: bash, readline: Correctly set RUNPATH to the dependencies.Ludovic Courtès2012-09-031-4/+16
| | | | | | * 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: Add bzip2.Ludovic Courtès2012-09-021-0/+69
| | | | | * distro/base.scm (bzip2): New variable. (%final-inputs): Add bzip2.
* distro: Bootstrap standard inputs from Nixpkgs.Ludovic Courtès2012-09-021-4/+172
| | | | | | | | | | | | | | | | | | | 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.
* distro: recutils: Allow builds with glibc 2.16+.Ludovic Courtès2012-09-021-1/+4
| | | | * distro/base.scm (recutils): Apply. `diffutils-gets-undeclared.patch'.
* distro: glibc: Propagate Linux headers.Ludovic Courtès2012-09-021-2/+6
| | | | | * distro/base.scm (glibc): Move LINUX-HEADERS from `native-inputs' to `propagated-inputs'. Remove unnecessary `_' in /bin/pwd substitution.
* distro: diffutils: Allow builds with glibc 2.16+.Ludovic Courtès2012-09-022-0/+74
| | | | | | | * 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: tar: Allow builds with glibc 2.16+.Ludovic Courtès2012-09-022-0/+29
| | | | | | | * distro/patches/tar-gets-undeclared.patch: New file. * Makefile.am (dist_patch_DATA): Add it. * distro/base.scm (tar): Apply. `tar-gets-undeclared.patch'.
* utils: Change `substitute*' to allow iteration over several matches.Ludovic Courtès2012-09-011-19/+6
| | | | | | | | | | | | | | * 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: m4: Add patch to allow builds with glibc 2.16+.Ludovic Courtès2012-09-012-3/+51
| | | | | | | * distro/base.scm (m4): Use `m4-gets-undeclared.patch'. * distro/patches/m4-gets-undeclared.patch: New file. * Makefile.am (dist_patch_DATA): Add it.
* build-system/gnu: Add `path-exclusions' parameter.Ludovic Courtès2012-09-011-0/+9
| | | | | | | | | * 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.
* distro: gcc: Allow `libstdc++' to be found.Ludovic Courtès2012-09-011-5/+6
| | | | | * distro/base.scm (gcc-4.7): Add `-rpath' arguments to `LIB_SPEC' to allow `libstdc++' to be found by users.
* distro: gcc: Pass #:strip-binaries?.Ludovic Courtès2012-09-011-0/+1
| | | | * distro/base.scm (gcc-4.7): Pass #:strip-binaries?.
* distro: gcc: Do not store configure flags in the resulting binaries.Ludovic Courtès2012-08-301-8/+16
| | | | | * distro/base.scm (gcc-4.7): Add a `post-configure' phase to clear `TOPLEVEL_CONFIGURE_ARGUMENTS' in the top-level `Makefile'.
* distro: Add missing Binutils patch.Ludovic Courtès2012-08-291-0/+16
| | | | | * distro/patches/binutils-ld-new-dtags.patch: New file. * Makefile.am (dist_patch_DATA): Add it.
* distro: Add the GNU C Library.Ludovic Courtès2012-08-281-0/+62
| | | | * distro/base.scm (glibc): New variable.
* distro: Add Linux headers.Ludovic Courtès2012-08-281-0/+47
| | | | * distro/base.scm (linux-headers): New variable.
* distro: Add GNU Binutils.Ludovic Courtès2012-08-251-0/+32
| | | | * distro/base.scm (binutils): New variable.
* distro: Add GCC.Ludovic Courtès2012-08-251-0/+85
| | | | * distro/base.scm (gcc-4.7): New variable.
* distro: coreutils: Remove erroneous hack.Ludovic Courtès2012-08-231-4/+1
| | | | | | * distro/base.scm (coreutils)[arguments]: Remove "FORCE_UNSAFE_CONFIGURE" setting, since in fact, this is no problem when using Nix with separate build users.
* distro: Add GNU Coreutils.Ludovic Courtès2012-08-221-0/+29
| | | | * distro/base.scm (coreutils): New variable.
* distro: Add XZ.Ludovic Courtès2012-08-221-0/+27
| | | | * distro/base.scm (xz): New variable.
* distro: Add GNU gzip.Ludovic Courtès2012-08-221-0/+27
| | | | * distro/base.scm (gzip): New variable.
* distro: Add GNU Patch.Ludovic Courtès2012-08-221-0/+26
| | | | * distro/base.scm (patch): New variable.
* distro: Add GNU Diffutils.Ludovic Courtès2012-08-221-0/+42
| | | | * distro/base.scm (diffutils): New variable.
* distro: Move patches to their own directory.Ludovic Courtès2012-08-227-10/+7
| | | | | | | | | | | | | | | | | | | * Makefile.am (nobase_dist_guilemodule_DATA): Keep only $(MODULES). (patchdir): New variable. (dist_patch_DATA): New variable. Patch files formerly in $(nobase_dist_guilemodule_DATA). (.scm.go): Define `DISTRO_PATCH_DIRECTORY' and `DISTRO_INSTALLED_PATCH_DIRECTORY'. (TESTS_ENVIRONMENT): Define `DISTRO_PATCH_DIRECTORY'. * distro.scm (%patch-directory): New variable. (search-patch): New procedure. * distro/base.scm: Use `search-patch' instead of `(search-path %load-path ...)'. * distro/findutils-absolute-paths.patch, distro/guile-1.8-cpp-4.5.patch, distro/m4-readlink-EINVAL.patch, distro/m4-s_isdir.patch, distro/make-impure-dirs.patch: Move to `distro/patches'.
* distro: Add GNU Findutils.Ludovic Courtès2012-08-222-0/+71
| | | | | | * distro/base.scm (findutils): New variable. * distro/findutils-absolute-paths.patch: New file. * Makefile.am (nobase_dist_guilemodule_DATA): Add it.
* distro: Add GNU grep.Ludovic Courtès2012-08-221-0/+20
| | | | * distro/base.scm (grep): New variable.
* distro: Add GNU tar.Ludovic Courtès2012-08-221-0/+27
| | | | * distro/base.scm (tar): New variable.
* distro: Add GNU sed.Ludovic Courtès2012-08-221-0/+22
| | | | * distro/base.scm (sed): New variable.