aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAge
* doc: Add `HACKING'.Ludovic Courtès2012-10-25
| | | | | * HACKING: New file. * Makefile.am (EXTRA_DIST): Add it.
* Add a `system' parameter to `nixpkgs-derivation'.Ludovic Courtès2012-10-25
| | | | | * guix/utils.scm (nixpkgs-derivation): Add a `system' parameter. Pass it in the `nix-instantiate' invocation.
* packages: Pass `system' around.Ludovic Courtès2012-10-25
| | | | | | | | | | * 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.
* derivations: Make sure `build-expression->derivation' & co. pass `system'.Ludovic Courtès2012-10-25
| | | | | | | * 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'.
* derivations: Pass the derivation of guile-for-build to `imported-files' & co.Ludovic Courtès2012-10-25
| | | | | | | | | | | * 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.
* distro: Build the final inputs against the final Bash, not the bootstrap Bash.Ludovic Courtès2012-10-25
| | | | | | * distro/packages/base.scm (%boot4-inputs): New variable. (guile-final): Use it. (%final-inputs): Build with %BOOT4-INPUTS, not %BOOT3-INPUTS.
* distro: ncurses: Don't patch shebangs.Ludovic Courtès2012-10-25
| | | | * distro/packages/base.scm (ncurses): Pass #:patch-shebangs? #f.
* distro: Bootstrap using our own binaries instead of those from Nixpkgs.Ludovic Courtès2012-10-25
| | | | | * distro/packages/base.scm (%bootstrap-inputs): Switch to using our own bootstrap binaries instead of those from Nixpkgs.
* distro: Build glibc with `--enable-obsolete-rpc'.Ludovic Courtès2012-10-25
| | | | | * distro/packages/base.scm (glibc-final): Pass `--enable-obsolete-rpc'. (%bootstrap-glibc): Update hash accordingly.
* distro: Add missing Linux-Libre headers to the bootstrap glibc.Ludovic Courtès2012-10-25
| | | | | | * 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.
* distro: Add a bootstrap GCC that uses binaries from the tarball.Ludovic Courtès2012-10-25
| | | | * distro/packages/base.scm (%bootstrap-gcc): New variable.
* Add `guix-download'.Ludovic Courtès2012-10-25
| | | | | | | * 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'.
* store: Add `query-path-hash'.Ludovic Courtès2012-10-24
| | | | | | | | | * 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.
* distro: Add missing commands in the bootstrap binaries.Ludovic Courtès2012-10-24
| | | | | | | | | | | | | | * 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.)
* guix-build: Change `--local-build' to `--no-substitutes'.Ludovic Courtès2012-10-24
| | | | | | * guix-build.in (%default-options): Add `substitutes?'. (show-help): Change `--local-build' to `--no-substitutes'. (guix-build): Adjust accordingly.
* distro: Update file name of initial Binutils tarball.Ludovic Courtès2012-10-24
| | | | | * distro/packages/base.scm (%bootstrap-binutils): Update remote file name.
* derivations: Compile the #:modules passed to `build-expression->derivation'.Ludovic Courtès2012-10-24
| | | | | | | | | | * 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.
* distro: Update bootstrap glibc package.Ludovic Courtès2012-10-24
| | | | | * distro/packages/base.scm (%bootstrap-glibc): Update initial regexp to make it less Nixish. Update hash to new tarball.
* distro: Add required Linux-Libre headers to the glibc tarball.Ludovic Courtès2012-10-24
| | | | | * distro/packages/base.scm (%glibc-stripped): Include required headers from Linux-Libre.
* distro: gcc: No longer store the absolute path of crt files.Ludovic Courtès2012-10-23
| | | | | | * distro/packages/base.scm (gcc-4.7): Define STANDARD_STARTFILE_PREFIX_[12] instead of storing the absolute path of crt files.
* distro: Fix GCC tarball to include the `libexec' directory.Ludovic Courtès2012-10-23
| | | | * distro/packages/base.scm (%gcc-stripped): Copy $gcc/libexec to $out.
* distro: Fix glibc tarball to include *.so.*.Ludovic Courtès2012-10-23
| | | | | * distro/packages/base.scm (%glibc-stripped): Fix regexp to include *.so.* in the output.
* distro: Add a statically-linked GCC for bootstrapping.Ludovic Courtès2012-10-22
| | | | | * distro/packages/base.scm (%gcc-static): New variable. (%gcc-stripped): Use it.
* distro: Add a package that gets the bootstrap glibc from a tarball.Ludovic Courtès2012-10-21
| | | | * distro/packages/base.scm (%bootstrap-glibc): New variable.
* distro: Add packages that get Coreutils, Binutils & co. from tarballs.Ludovic Courtès2012-10-21
| | | | | | * distro/packages/base.scm (package-from-tarball): New procedure. (%bootstrap-base-url, %bootstrap-coreutils&co, %bootstrap-binutils): New variables.
* packages: Add support for system-dependent inputs.Ludovic Courtès2012-10-21
| | | | | | | | | | | * 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.
* distro: Add a bootstrap GCC tarball.Ludovic Courtès2012-10-21
| | | | | * distro/packages/base.scm (%gcc-stripped, %gcc-bootstrap-tarball): New variables.
* distro: Add a bootstrap glibc tarball.Ludovic Courtès2012-10-21
| | | | | * distro/packages/base.scm (%glibc-stripped, %glibc-bootstrap-tarball): New variables.
* distro: Add tools to build a tarball of statically-linked Binutils programs.Ludovic Courtès2012-10-20
| | | | | * distro/packages/base.scm (%binutils-static, %binutils-static-stripped, %binutils-bootstrap-tarball): New variables.
* distro: Add a package to build a tarball of the bootstrap binaries.Ludovic Courtès2012-10-20
| | | | | | * distro/packages/base.scm (tarball-package): New procedure. (%bootstrap-binaries-tarball): New variable. (%guile-bootstrap-tarball): Define in terms of `tarball-package'.
* guix-build: Add `--system'.Ludovic Courtès2012-10-18
| | | | | | | | | | * 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'.
* distro: Provide a more descriptive report when a bootstrap binary is missing.Ludovic Courtès2012-10-18
| | | | | * distro/packages/base.scm (%bootstrap-guile): Error out when `search-bootstrap-binary' returns #f.
* distro: Use the bootstrap Guile for the derivation of sources.Ludovic Courtès2012-10-18
| | | | | | | | | | | | * 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.
* http/ftp: Tweak to avoid depending on libc's NSS.Ludovic Courtès2012-10-18
| | | | | | | | | | | * 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.
* guix-build: Add `--local-build'.Ludovic Courtès2012-10-18
| | | | | | | * guix-build.in (show-help): Add `--local-build'. (%options): Likewise. (guix-build): Pass `set-build-options' the #:use-substitutes? argument accordingly.
* distro: bzip2: Simplify installation phase with `find-files'.Ludovic Courtès2012-10-18
| | | | | * distro/packages/base.scm (bzip2): Use `find-files' instead of rolling our own with `file-system-fold'.
* distro: %static-binaries: Use (guix build utils).Ludovic Courtès2012-10-18
| | | | | * distro/packages/base.scm (%static-binaries): Add missing use of (guix build utils).
* distro: Fix bootstrapping regression recently introduced.Ludovic Courtès2012-10-18
| | | | | * distro/packages/base.scm (gcc-boot0-wrapped): Fix typo introduced in a52e429f76282080c58444ce2ac82a1968d5f29d ("distro: Add i686 support.")
* distro: Clear references to the store in static binaries.Ludovic Courtès2012-10-17
| | | | | * distro/packages/base.scm (%static-binaries): Clear references to the store path for files in $out/bin.
* utils: Add `find-files'.Ludovic Courtès2012-10-17
| | | | * guix/build/utils.scm (find-files): New procedure.
* utils: Add `copy-recursively'; use it.Ludovic Courtès2012-10-17
| | | | | | * guix/build/utils.scm (copy-recursively): New procedure. * distro/packages/base.scm (%guile-static-stripped): Use it.
* utils: Add `mkdir-p'; use it.Ludovic Courtès2012-10-17
| | | | | | | | * guix/build/utils.scm (mkdir-p): New procedure. * distro/packages/base.scm (gnu-make-boot0, gcc-boot0-wrapped, ld-wrapper-boot3, %static-binaries, %guile-static-stripped): Use it. * distro/packages/typesetting.scm (lout): Likewise.
* build-system/gnu: Pass the system type to the builder.Ludovic Courtès2012-10-17
| | | | | * guix/build-system/gnu.scm (gnu-build)[builder]: Pass SYSTEM to `gnu-build' as a keyword argument.
* distro: Add i686 support.Nikita Karetnikov2012-10-17
| | | | | * distro/packages/base.scm (gcc-4.7): Turn `arguments' into a lambda. Use `glibc-dynamic-linker' instead of the hard-coded linker name.
* distro: Switch to Linux-Libre.Ludovic Courtès2012-10-17
| | | | | | | | * distro/packages/base.scm (linux-headers): Rename to... (linux-libre-headers): ... this. Change `name', `source', and `description', and `home-page' accordingly. Update users. (linux-headers-boot0): Rename to... (linux-libre-headers-boot0): ... this. Update users.
* distro: Use our own pre-built Guile to bootstrap.Ludovic Courtès2012-10-17
| | | | | | | | | | | | | | | | | | | | | | | * 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.
* distro: Add package that builds a tarball of the bootstrap Guile.Ludovic Courtès2012-10-17
| | | | * distro/packages/base.scm (%guile-static-stripped): New variable.
* distro: Add patch to allow the bootstrap Guile to work without iconv.Ludovic Courtès2012-10-17
| | | | | | | | * 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'.
* distro: Change relocatable-Guile patch to work around broken argv[0].Ludovic Courtès2012-10-17
| | | | | | * 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.
* build: Use `pre-inst-env' to run tests.Ludovic Courtès2012-10-17
| | | | | * Makefile.am (TESTS_ENVIRONMENT): Remove. (LOG_COMPILER): Use `pre-inst-env'.