summaryrefslogtreecommitdiff
Commit message (Expand)AuthorAgeFilesLines
* distro: Build Bash sequentially.•••* distro/packages/base.scm (bash): Set `#:parallel-build?' and `#:parallel-tests?' to #f. Ludovic Courtès2012-10-281-0/+6
* tests: Use our own bootstrap tools.•••* tests/builders.scm (%bootstrap-inputs): Use %BOOT0-INPUTS from the distro. * tests/packages.scm (%bootstrap-inputs): Likewise. * tests/derivations.scm (%coreutils): Alias for %BOOTSTRAP-COREUTILS&CO. Ludovic Courtès2012-10-283-15/+18
* release.nix: Add a `distro.hello' job.•••* release.nix (distro.hello): New job. Ludovic Courtès2012-10-271-0/+23
* build: Preserve the executable bit of bootstrap binaries.•••* Makefile.am (install-data-hook): New target. Ludovic Courtès2012-10-271-0/+5
* build: Make sure scripts know where to find their modules.•••* guix-build.in, guix-download.in: Define `prefix' and `datarootdir', so that `guilemoduledir' expands to something meaningful. Ludovic Courtès2012-10-272-0/+6
* release.nix: Pre-download the Guile bootstrap tarball.•••* release.nix (bootstrap_guile): New variable. (build)[preBuild]: New attribute. Ludovic Courtès2012-10-271-0/+26
* build: Fix out-of-source-tree builds.•••* Makefile.am (distro/packages/bootstrap/x86_64-linux/guile-bootstrap-2.0.6.tar.xz, distro/packages/bootstrap/i686-linux/guile-bootstrap-2.0.6.tar.xz): Make the target's parent directory. * pre-inst-env.in (DISTRO_BOOTSTRAP_PATH): Add the builddir-relative directory. Ludovic Courtès2012-10-272-1/+3
* distro: Change $DISTRO_{PATCH,BOOTSTRAP}_DIRECTORY to search paths.•••* distro.scm (not-colon): New variable. (%patch-directory): Rename to... (%patch-path): ... this. Turn into a list. Expect $DISTRO_PATCH_PATH to be a colon-separated search path. (%bootstrap-binaries-directory): Rename to... (%bootstrap-binaries-path): ... this. Likewise. (search-patch, search-bootstrap-binary): Adjust accordingly. * pre-inst-env.in: Change to use `DISTRO_PATCH_PATH' and `DISTRO_BOOTSTRAP_PATH'. Ludovic Courtès2012-10-272-11/+19
* release.nix: Set succeed-on-failure and build-out-source-tree.•••* release.nix: Define `succeedOnFailure', `keepBuildDirectory', and `buildOutOfSourceTree'. (build): Inherit them. Ludovic Courtès2012-10-271-0/+7
* build: Move `distro/patches' to `distro/packages/patches'.•••* distro/patches: Move directory to... * distro/packages/patches: ... here. * Makefile.am (dist_patch_DATA): Adjust accordingly. * pre-inst-env.in (DISTRO_PATCH_DIRECTORY): Likewise. Ludovic Courtès2012-10-2716-16/+16
* build: Use `pre-inst-env' to compile the source.•••* Makefile.am (.scm.go): Use `pre-inst-env' instead of re-defining the environment variables, except for `DISTRO_INSTALLED_PATCH_DIRECTORY' and `DISTRO_INSTALLED_BOOTSTRAP_DIRECTORY'. Ludovic Courtès2012-10-271-12/+6
* guix-build: Gracefully handle `&package-input-error' conditions.•••* guix/packages.scm: Export `package-error?' and `package-input-error?'. * guix-build.in (guix-build): Catch `&package-input-error' conditions, print a human-readable message, and exit. Ludovic Courtès2012-10-272-62/+79
* location: Start column numbers at 1.•••* guix/utils.scm (source-properties->location): Use COL + 1. Ludovic Courtès2012-10-271-1/+2
* distro: Add i686-linux port.•••* distro/packages/bootstrap/i686-linux/bash, distro/packages/bootstrap/i686-linux/mkdir, distro/packages/bootstrap/i686-linux/tar, distro/packages/bootstrap/i686-linux/xz: New files. * distro/packages/base.scm (%bootstrap-coreutils&co, %bootstrap-binutils, %bootstrap-glibc, %bootstrap-gcc): Add hashes of the i686-linux tarballs. * Makefile.am (bootstrap_i686_linuxdir, dist_bootstrap_i686_linux_DATA, nodist_bootstrap_i686_linux_DATA): New variables (DISTCLEANFILES): Add $(nodist_bootstrap_i686_linux_DATA). (distro/packages/bootstrap/i686-linux/guile-bootstrap-2.0.6.tar.xz): New rule. Ludovic Courtès2012-10-267-9/+43
* distro: gcc: Adjust to support non-x86_64 architectures.•••* distro/packages/base.scm (gcc-4.7)[arguments]: In the `pre-configure' phase, patch all the relevant gcc/config files, not just those for x86_64-linux-gnu. Ludovic Courtès2012-10-261-4/+4
* utils: Remove special `substitute*' syntax for lists of files.•••* guix/build/utils.scm (substitute*): Remove special syntax for list-of-files; instead, check whether FILE is `list?' at run time. * distro/packages/base.scm (gcc-4.7, %binutils-static): Adjust accordingly. Ludovic Courtès2012-10-262-36/+44
* doc: Add `HACKING'.•••* HACKING: New file. * Makefile.am (EXTRA_DIST): Add it. Ludovic Courtès2012-10-252-0/+120
* Add a `system' parameter to `nixpkgs-derivation'.•••* guix/utils.scm (nixpkgs-derivation): Add a `system' parameter. Pass it in the `nix-instantiate' invocation. Ludovic Courtès2012-10-251-2/+3
* packages: Pass `system' around.•••* guix/packages.scm (package-source-derivation): Add `system' parameter. Pass it to METHOD. (package-derivation)[expand-input]: Pass SYSTEM to `package-derivation' and `package-source-derivation'. * distro/packages/base.scm (package-with-bootstrap-guile)[boot]: Pass SYSTEM to FETCH. Ludovic Courtès2012-10-252-9/+14
* derivations: Make sure `build-expression->derivation' & co. pass `system'.•••* guix/derivations.scm (imported-files): Call `build-expression->derivation' with SYSTEM, not (%current-system). (build-expression->derivation): Pass SYSTEM to `imported-modules' and `compiled-modules'. Ludovic Courtès2012-10-251-3/+7
* derivations: Pass the derivation of guile-for-build to `imported-files' & co.•••* guix/derivations.scm (%guile-for-build): Initialize to #f. (imported-files, imported-modules, compiled-modules): Add `guile' keyword parameter. Pass it down to `build-expression->derivation'. (build-expression->derivation)[guile-drv]: New variable. Pass it as the #:guile parameter for `imported-modules' and `compiled-modules'. * tests/derivations.scm: Set %GUILE-FOR-BUILD to the derivation of %BOOTSTRAP-GUILE. Ludovic Courtès2012-10-252-12/+29
* distro: Build the final inputs against the final Bash, not the bootstrap Bash.•••* distro/packages/base.scm (%boot4-inputs): New variable. (guile-final): Use it. (%final-inputs): Build with %BOOT4-INPUTS, not %BOOT3-INPUTS. Ludovic Courtès2012-10-251-3/+10
* distro: ncurses: Don't patch shebangs.•••* distro/packages/base.scm (ncurses): Pass #:patch-shebangs? #f. Ludovic Courtès2012-10-251-2/+5
* distro: Bootstrap using our own binaries instead of those from Nixpkgs.•••* distro/packages/base.scm (%bootstrap-inputs): Switch to using our own bootstrap binaries instead of those from Nixpkgs. Ludovic Courtès2012-10-251-10/+8
* distro: Build glibc with `--enable-obsolete-rpc'.•••* distro/packages/base.scm (glibc-final): Pass `--enable-obsolete-rpc'. (%bootstrap-glibc): Update hash accordingly. Ludovic Courtès2012-10-251-6/+4
* distro: Add missing Linux-Libre headers to the bootstrap glibc.•••* distro/packages/base.scm (%glibc-stripped): Copy all of Linux-Libre's `include/asm' directory; copy a few linux/ headers too. (%bootstrap-glibc): Update tarball hash. Ludovic Courtès2012-10-251-10/+5
* distro: Add a bootstrap GCC that uses binaries from the tarball.•••* distro/packages/base.scm (%bootstrap-gcc): New variable. Ludovic Courtès2012-10-251-0/+66
* Add `guix-download'.•••* guix-download.in: New file. * configure.ac: Emit `guix-download' and make it executable. * Makefile.am (bin_SCRIPTS): Add `guix-download'. * po/POTFILES.in: Add `guix-download.in'. Ludovic Courtès2012-10-255-2/+192
* store: Add `query-path-hash'.•••* guix/store.scm (write-arg, read-arg): Add `base16' literal and corresponding rule. (query-path-hash): New operation. * tests/derivations.scm ("fixed-output derivation"): Check whether `query-path-hash' returns a bytevector. Ludovic Courtès2012-10-242-6/+17
* distro: Add missing commands in the bootstrap binaries.•••* distro/packages/base.scm (%static-inputs): Add an `awk' -> `gawk', and `sh' -> `bash' symlinks. Add `fgrep' and `egrep'. (%bootstrap-coreutils&co): Use new tarball that contains that symlink. * distro/packages/bootstrap/x86_64-linux/bash, distro/packages/bootstrap/x86_64-linux/mkdir, distro/packages/bootstrap/x86_64-linux/tar, distro/packages/bootstrap/x86_64-linux/xz: Use binaries from that tarball (the previous binaries hadn't gone through `remove-store-references', which is fixed now.) Ludovic Courtès2012-10-245-1/+13
* guix-build: Change `--local-build' to `--no-substitutes'.•••* guix-build.in (%default-options): Add `substitutes?'. (show-help): Change `--local-build' to `--no-substitutes'. (guix-build): Adjust accordingly. Ludovic Courtès2012-10-241-5/+7
* distro: Update file name of initial Binutils tarball.•••* distro/packages/base.scm (%bootstrap-binutils): Update remote file name. Ludovic Courtès2012-10-241-1/+1
* derivations: Compile the #:modules passed to `build-expression->derivation'.•••* guix/derivations.scm (imported-files)[parent-dirs]: Move to... (parent-directories): ... here. New procedure. (compiled-modules): New procedure. (build-expression->derivation): Use it. * tests/derivations.scm ("build-expression->derivation with modules"): New test. Ludovic Courtès2012-10-242-23/+96
* distro: Update bootstrap glibc package.•••* distro/packages/base.scm (%bootstrap-glibc): Update initial regexp to make it less Nixish. Update hash to new tarball. Ludovic Courtès2012-10-241-3/+4
* distro: Add required Linux-Libre headers to the glibc tarball.•••* distro/packages/base.scm (%glibc-stripped): Include required headers from Linux-Libre. Ludovic Courtès2012-10-241-2/+25
* distro: gcc: No longer store the absolute path of crt files.•••* distro/packages/base.scm (gcc-4.7): Define STANDARD_STARTFILE_PREFIX_[12] instead of storing the absolute path of crt files. Ludovic Courtès2012-10-231-5/+5
* distro: Fix GCC tarball to include the `libexec' directory.•••* distro/packages/base.scm (%gcc-stripped): Copy $gcc/libexec to $out. Ludovic Courtès2012-10-231-4/+10
* distro: Fix glibc tarball to include *.so.*.•••* distro/packages/base.scm (%glibc-stripped): Fix regexp to include *.so.* in the output. Ludovic Courtès2012-10-231-1/+1
* distro: Add a statically-linked GCC for bootstrapping.•••* distro/packages/base.scm (%gcc-static): New variable. (%gcc-stripped): Use it. Ludovic Courtès2012-10-221-10/+45
* distro: Add a package that gets the bootstrap glibc from a tarball.•••* distro/packages/base.scm (%bootstrap-glibc): New variable. Ludovic Courtès2012-10-211-0/+48
* distro: Add packages that get Coreutils, Binutils & co. from tarballs.•••* distro/packages/base.scm (package-from-tarball): New procedure. (%bootstrap-base-url, %bootstrap-coreutils&co, %bootstrap-binutils): New variables. Ludovic Courtès2012-10-211-0/+71
* packages: Add support for system-dependent inputs.•••* guix/packages.scm (package-derivation)[intern]: New procedure. Pass #t as the `recursive?' argument, instead of #f. [expand-input]: New procedure, with code formerly in the body. Support inputs where the input is a procedure returning a file name or an <origin>. Use `expand-input' in the body. * tests/packages.scm ("trivial with system-dependent input"): New test. Ludovic Courtès2012-10-212-25/+65
* distro: Add a bootstrap GCC tarball.•••* distro/packages/base.scm (%gcc-stripped, %gcc-bootstrap-tarball): New variables. Ludovic Courtès2012-10-211-0/+33
* distro: Add a bootstrap glibc tarball.•••* distro/packages/base.scm (%glibc-stripped, %glibc-bootstrap-tarball): New variables. Ludovic Courtès2012-10-211-0/+35
* distro: Add tools to build a tarball of statically-linked Binutils programs.•••* distro/packages/base.scm (%binutils-static, %binutils-static-stripped, %binutils-bootstrap-tarball): New variables. Ludovic Courtès2012-10-201-0/+51
* distro: Add a package to build a tarball of the bootstrap binaries.•••* distro/packages/base.scm (tarball-package): New procedure. (%bootstrap-binaries-tarball): New variable. (%guile-bootstrap-tarball): Define in terms of `tarball-package'. Ludovic Courtès2012-10-201-22/+32
* guix-build: Add `--system'.•••* guix-build.in (derivations-from-package-expressions): New `system' parameter. Pass it to `package-derivation'. (%default-options): Add `system' pair. (show-help): Describe `--system'. (%options): Add it. (guix-build): Check the `system' pair in OPTS; pass it to `derivations-from-package-expressions' and `package-derivation'. Ludovic Courtès2012-10-181-7/+16
* distro: Provide a more descriptive report when a bootstrap binary is missing.•••* distro/packages/base.scm (%bootstrap-guile): Error out when `search-bootstrap-binary' returns #f. Ludovic Courtès2012-10-181-1/+4
* distro: Use the bootstrap Guile for the derivation of sources.•••* distro/packages/base.scm (bootstrap-origin, package-with-bootstrap-guile): New procedures. (gnu-make-boot0, diffutils-boot0, findutils-boot0, binutils-boot0, gcc-boot0, linux-libre-headers-boot0, glibc-final, bash-final, guile-final): Use `package-with-bootstrap-guile'. (gcc-boot0-wrapped): Clear `source'. * guix/ftp.scm (ftp-fetch): Add a #:guile keyword parameter. Honor it. * guix/http.scm (http-fetch): Likewise. Ludovic Courtès2012-10-183-180/+263
* http/ftp: Tweak to avoid depending on libc's NSS.•••* guix/build/http.scm (open-connection-for-uri): New procedure. (http-fetch): Use it. Pass the result as a #:port argument to `http-get'. Add hack to modify the `set-port-encoding!' binding in (web response). * guix/ftp-client.scm (ftp-open): Add optional `port' parameter, defaulting to 21. When calling `getaddrinfo', convert PORT to a string and pass AI_NUMERICSERV when PORT is a number. Ludovic Courtès2012-10-182-5/+59