summaryrefslogtreecommitdiff
AgeCommit message (Expand)Author
2012-10-17distro: Use our own pre-built Guile to bootstrap....* distro/packages/base.scm (%bootstrap-guile): Build from a tarball containing a pre-built Guile. * distro.scm (%bootstrap-binaries-directory): New variable. (search-bootstrap-binary): New procedure. * Makefile.am (bootstrapdir, bootstrap_x86_64_linuxdir, dist_bootstrap_x86_64_linux_DATA, DISTCLEANFILES, DOWNLOAD_FILE): New variables. (distro/packages/bootstrap/x86_64-linux/guile-bootstrap-2.0.6.tar.xz): New rule. (EXTRA_DIST): Add `build-aux/download.scm'. (.scm.go): Define the `DISTRO_BOOTSTRAP_DIRECTORY' and `DISTRO_INSTALLED_BOOTSTRAP_DIRECTORY' environment variables. * pre-inst-env.in: Define `DISTRO_BOOTSTRAP_DIRECTORY'. * build-aux/download.scm: New file. * distro/packages/bootstrap/x86_64-linux/{bash, mkdir, tar, xz}: New files. Ludovic Courtès
2012-10-17distro: Add package that builds a tarball of the bootstrap Guile....* distro/packages/base.scm (%guile-static-stripped): New variable. Ludovic Courtès
2012-10-17distro: Add patch to allow the bootstrap Guile to work without iconv....* distro/patches/guile-default-utf8.patch: New file. * Makefile.am (dist_patch_DATA): Add it. * distro/packages/base.scm (%guile-static): Use it. (%guile-static-stripped): Add call to `remove-store-references'. Ludovic Courtès
2012-10-17distro: Change relocatable-Guile patch to work around broken argv[0]....* distro/patches/guile-relocatable.patch: Change to use /proc/self/exe instead of PROGRAM_INVOCATION_NAME. Useful because Nix itself passes just the basename of builders that it executes. Ludovic Courtès
2012-10-17build: Use `pre-inst-env' to run tests....* Makefile.am (TESTS_ENVIRONMENT): Remove. (LOG_COMPILER): Use `pre-inst-env'. Ludovic Courtès
2012-10-17release.nix: Add dependency on GNU Texinfo....* release.nix (tarball)[buildNativeInputs]: Add `texinfo'. Ludovic Courtès
2012-10-16utils: Add `fold-port-matches' and `remove-store-references'....* guix/build/utils.scm (fold-port-matches, remove-store-references): New procedures. * tests/build-utils.scm ("fold-port-matches", "fold-port-matches, trickier", "fold-port-matches, with unmatched chars"): New tests. Ludovic Courtès
2012-10-16utils: Add `with-atomic-file-replacement'....* guix/build/utils.scm (with-atomic-file-replacement): New procedure. (substitute): Use it. Ludovic Courtès
2012-10-13distro: Add a statically-linked, relocatable Guile 2.0 package....* 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. Ludovic Courtès
2012-10-13ftp-client: Try all the addresses returned by `getaddrinfo'....* guix/ftp-client.scm (ftp-open): Upon connection failure, try the other addresses returned by `getaddrinfo'. Ludovic Courtès
2012-10-13doc: Add the stub of a manual....* doc/guix.texi: New file. * doc/fdl-1.3.texi: New file, copied from Gnulib. * Makefile.am (info_TEXINFOS): New variable. (EXTRA_DIST): Add `doc/fdl-1.3.texi'. Ludovic Courtès
2012-10-11distro: Add missing bits from previous commit....* distro/packages/base.scm (default-keyword-arguments): New procedure. Ludovic Courtès
2012-10-11distro: First stab at building statically-linked bootstrap binaries....* distro/packages/base.scm (static-package): New procedure. (%bash-static, %static-inputs, %static-binaries): New variables. Ludovic Courtès
2012-10-08Remove non-existent module from (guix)....* guix.scm (%public-modules): Remove `snix', since that modules doesn't exist yet. Ludovic Courtès
2012-10-08packages: Fix and optimize memoization of `package-derivation'....* guix/packages.scm (%derivation-cache): Pass an initial size of 100. (cache): Use `hashq-set!', and use a SYSTEM/DRV pair as the value. (cached-derivation): Update accordingly. Ludovic Courtès
2012-10-08packages: Micro-optimize `package-derivation'....* guix/packages.scm (package-derivation): Move `cache' call before the traversal of PACKAGE's inputs. Ludovic Courtès
2012-10-07derivations: Set input port to UTF-8 in `read-derivation'....* guix/derivations.scm (read-derivation): Set DRV-PORT's encoding to UTF-8. Ludovic Courtès
2012-10-07Update the (guix) module....* guix.scm (%public-modules): Update list of current second-level modules. Ludovic Courtès
2012-10-07tests: Use bootstrap and Nixpkgs inputs to be less costly....* 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. Ludovic Courtès
2012-10-07build-system/{gnu,trivial-build}: Fix handling of #:guile argument....* 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. Ludovic Courtès
2012-10-06distro: 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. Ludovic Courtès
2012-10-06build-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. Ludovic Courtès
2012-10-05Support 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. Ludovic Courtès
2012-10-05Augment `README'....* README (Hacking): Mention `--with-nixpkgs'. List the autotools and Gettext, as suggested by Nikita Karetnikov <nikita.karetnikov@gmail.com>. Ludovic Courtès
2012-10-04distro: Fix typo in warning message....* distro.scm (package-files): Add missing newline in warning message. Ludovic Courtès
2012-10-04Add `pre-inst-env' script....* pre-inst-env.in: New file. * configure.ac: Add it to `AC_CONFIG_FILES' and `AC_CONFIG_COMMANDS'. Ludovic Courtès
2012-10-04Fix and update `POTFILES.in'....* po/POTFILES.in: Update. Ludovic Courtès
2012-09-26distro: Add libgc....* distro/packages/base.scm (libgc): New variable. (guile-2.0): Use it. Ludovic Courtès
2012-09-26distro: Add pkg-config....* distro/packages/base.scm (pkg-config): New variable. (guile-2.0): Use it. * distro/packages/guile.scm (guile-reader): Likewise. Ludovic Courtès
2012-09-26distro: 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'. Ludovic Courtès
2012-09-26distro: 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. Ludovic Courtès
2012-09-26distro: GCC: Upgrade to 4.7.2....* distro/base.scm (gcc-4.7): Upgrade to 4.7.2. Ludovic Courtès
2012-09-26distro: 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. Ludovic Courtès
2012-09-14distro: 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. Ludovic Courtès
2012-09-12Add (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'. Ludovic Courtès
2012-09-12distro: Use our own Perl during bootstrap....* distro/base.scm (linux-headers-boot0): Use PERL with %BOOT0-INPUTS instead of calling out to `nixpkgs-derivation*'. Ludovic Courtès
2012-09-12distro: gcc: Add a RUNPATH on libc....* distro/base.scm (gcc-4.7): Remove unnecessary "libc" input. Add `-rpath LIBC/lib' to `LIB_SPEC'. Ludovic Courtès
2012-09-11distro: Add Perl....* distro/base.scm (perl): New variable. * distro/patches/perl-no-sys-dirs.patch: New file. * Makefile.am (dist_patch_DATA): Add it. Ludovic Courtès
2012-09-11distro: 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. Ludovic Courtès
2012-09-10Add (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. Ludovic Courtès
2012-09-07distro: 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'. Ludovic Courtès
2012-09-06build-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. Ludovic Courtès
2012-09-06utils: Make `set-path-environment-variable' verbose....* guix/build/utils.scm (set-path-environment-variable): Print ENV-VAR and its value. Ludovic Courtès
2012-09-06distro: 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. Ludovic Courtès
2012-09-06distro: gcc: Avoid retention of reference to `sed'....* distro/base.scm (gcc-4.7)[pre-configure]: Patch fixincl.x. Ludovic Courtès
2012-09-06distro: glibc: Assume a recent Linux kernel....* distro/base.scm (glibc): Pass "--enable-kernel=2.6.30". Ludovic Courtès
2012-09-06packages: Accept <origin> as package inputs....* guix/packages.scm (package-derivation): Accept use of an <origin> as an input. Ludovic Courtès
2012-09-05build-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. Ludovic Courtès
2012-09-05distro: mpc: Upgrade to 1.0....* distro/base.scm (mpc): Upgrade to 1.0. Ludovic Courtès
2012-09-05packages: Add `package-full-name'....* guix/packages.scm (package-full-name): New procedure. (package-derivation): Use it. Ludovic Courtès