aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2012-11-16distro: Rebuild bootstrap Binutils and GCC.Ludovic Courtès
These new binaries are built with the `--with-lib-path' and `--with-local-prefix' flags, respectively, as introduced in commit 01d4540. * distro/packages/bootstrap.scm (%bootstrap-coreutils&co, %bootstrap-glibc): Update URL. (%bootstrap-binutils, %bootstrap-gcc): Update URL and hashes. * build-aux/download.scm (file-name->uri): Update URL.
2012-11-16distro: Configure ld and GCC to not look under /usr & co.Ludovic Courtès
This fixes impurities with non-chroot builds on LFS-style distros. * distro/packages/base.scm (binutils): Pass `--with-lib-path'. (gcc-4.7): Pass `--with-local-prefix'. * distro/packages/make-bootstrap.scm (%binutils-static): Pass `--with-lib-path'.
2012-11-13guix-download: Use code from (guix build download).Ludovic Courtès
* guix-download.in (http-fetch, ftp-fetch): Remove. (fetch-and-store): Replace `uri' parameter with `name', for the output file name. Redirect the output of `fetch' to the error port. (guix-download): Call `url-fetch' for all URI schemes except `file'. Handle PATH equal to #f. * guix/download.scm: Export `%mirrors'. * tests/guix-download.sh: Change erroneous URL, because URLs at example.com are all valid redirections.
2012-11-13guix-download: Add support for file:// URIs.Ludovic Courtès
* guix-download.in (fetch-and-store): New procedure. (guix-download): Use it to compute PATH. Call `add-to-store' when a `file' URI scheme is used. * Makefile.am (AM_TESTS_ENVIRONMENT): New variable. * tests/guix-download.sh: Add test.
2012-11-13guix-download: Gracefully handle invalid URIs.Ludovic Courtès
* guix-download.in (guix-download): Error out when `string->uri' returns #f. Use `leave' when the scheme is unknown. * tests/guix-download.sh: Add tests.
2012-11-13distro: Add GNU Texinfo.Ludovic Courtès
* distro/packages/texinfo.scm: New file. * Makefile.am (MODULES): Add it.
2012-11-13distro: Add GNU Libtasn1 and GnuTLS.Ludovic Courtès
* distro/packages/gnutls.scm: New file. * Makefile.am (MODULES): Add it.
2012-11-13distro: Add GNU Nettle.Ludovic Courtès
* distro/packages/nettle.scm: New file. * Makefile.am (MODULES): Add it.
2012-11-13distro: Add LZO.Ludovic Courtès
* distro/packages/compression.scm (lzo): New variable.
2012-11-13tests: Make sure to use the bootstrap Guile.Ludovic Courtès
* tests/builders.scm ("url-fetch", "gnu-build"): Pass `url-fetch' #:guile %BOOTSTRAP-GUILE.
2012-11-13tests: Remove extraneous test.Ludovic Courtès
* tests/derivations.scm ("build-expression->derivation for fixed-output derivation"): Remove test. It is redundant with that in builders.scm, and doesn't work out of the box with the statically-linked %BOOTSTRAP-GUILE.
2012-11-13build: Add $(top_builddir) to the load path.Ludovic Courtès
* Makefile.am (DOWNLOAD_FILE): Add $(top_builddir) to the search path, since that's where guix/config.scm is. (.scm.go): Likewise.
2012-11-13distro: Patch libc to avoid accessing /etc/ld.so.cache and friends.Ludovic Courtès
* distro/packages/base.scm (glibc): Apply `glibc-no-ld-so-cache.patch'. (glibc-final): Inherit GLIBC's inputs. * distro/packages/patches/glibc-no-ld-so-cache.patch: New file. * Makefile.am (dist_patch_DATA): Add it.
2012-11-13distro: Use `mirror://' URLs.Ludovic Courtès
* distro/packages/base.scm, distro/packages/bash.scm, distro/packages/compression.scm, distro/packages/gawk.scm, distro/packages/gperf.scm, distro/packages/guile.scm, distro/packages/libsigsegv.scm, distro/packages/libtool.scm, distro/packages/libunistring.scm, distro/packages/m4.scm, distro/packages/multiprecision.scm, distro/packages/ncurses.scm, distro/packages/pth.scm, distro/packages/readline.scm, distro/packages/recutils.scm: Use `mirror://gnu' URLs. * distro/packages/gnupg.scm: Use `mirror://gnupg' URLs.
2012-11-13download: Add support for mirror:// URLs.Ludovic Courtès
* guix/download.scm (%mirrors): New variable. Mirror lists taken from Nixpkgs. (url-fetch): New `mirrors' keyword parameter. [builder]: Pass it. * guix/build/download.scm (url-fetch): New `mirrors' keyword parameter. [maybe-expand-mirrors]: New procedure. [uri]: Use it.
2012-11-13download: Follow HTTP redirections.Ludovic Courtès
* guix/build/download.scm (http-fetch): Follow the redirection when CODE is 302.
2012-11-13Remove (guix http) and (guix ftp).Ludovic Courtès
* guix/ftp.scm, guix/http.scm, guix/build/ftp.scm, guix/build/http.scm: Remove. * Makefile.am (MODULES): Likewise. * tests/builders.scm, distro/packages/base.scm, distro/packages/bash.scm, distro/packages/bdw-gc.scm, distro/packages/compression.scm, distro/packages/gawk.scm, distro/packages/gnupg.scm, distro/packages/gperf.scm, distro/packages/guile.scm, distro/packages/libffi.scm, distro/packages/libsigsegv.scm, distro/packages/libtool.scm, distro/packages/libunistring.scm, distro/packages/lout.scm, distro/packages/m4.scm, distro/packages/multiprecision.scm, distro/packages/ncurses.scm, distro/packages/perl.scm, distro/packages/pkg-config.scm, distro/packages/pth.scm, distro/packages/readline.scm, distro/packages/recutils.scm: Use `url-fetch' instead of `http-fetch' and `ftp-fetch'. * distro/packages/bootstrap.scm: Likewise (bootstrap-origin): Remove references to `http-fetch' and `ftp-fetch'. * guix.scm (%public-modules): Remove `http' and `ftp'; add `download'.
2012-11-12Add (guix download) and (guix build download).Ludovic Courtès
* guix/download.scm, guix/build/download.scm: New files. * Makefile.am (MODULES): Add them. * tests/builders.scm ("url-fetch"): New test. * distro/packages/bootstrap.scm (bootstrap-origin): Support `url-fetch'. * guix/snix.scm (snix-derivation->guix-package): Use `url-fetch' instead of `http-fetch'.
2012-11-11Move base32 code to (guix base32).Ludovic Courtès
* guix/utils.scm (bytevector-quintet-ref, bytevector-quintet-ref-right, bytevector-quintet-length, bytevector-quintet-fold, bytevector-quintet-fold-right, make-bytevector->base32-string, %nix-base32-chars, %rfc4648-base32-chars, bytevector->base32-string, bytevector->nix-base32-string, bytevector-quintet-set!, bytevector-quintet-set-right!, base32-string-unfold, base32-string-unfold-right, make-base32-string->bytevector, base32-string->bytevector, nix-base32-string->bytevector): Move to... * guix/base32.scm: ... here. New file. * tests/utils.scm (%nix-hash, "bytevector->base32-string", "base32-string->bytevector", "nix-base32-string->bytevector", "sha256 & bytevector->base32-string"): Move to... * tests/base32.scm: ... here. New file * guix-download.in, guix/derivations.scm, guix/packages.scm, guix/snix.scm, tests/builders.scm, tests/derivations.scm: Adjust accordingly. * guix.scm (%public-modules): Add `base32'.
2012-11-09tests: Choose a less expensive test for packages.Ludovic Courtès
* tests/packages.scm (%bootstrap-inputs): Remove. ("GNU Hello"): Rename to... ("GNU Make, bootstrap"): ... this. Build GNU-MAKE-BOOT0 instead of HELLO.
2012-11-09http: Add informative output.Ludovic Courtès
* guix/build/http.scm (http-fetch): Emit message indicating the download.
2012-11-09http: Check the HTTP response code, and bail if not 200.Ludovic Courtès
* guix/build/http.scm (http-fetch): Check RESP's code; error out when it's not 200.
2012-11-09derivations: build-expression->derivation: Builder only refers to sources.Ludovic Courtès
* guix/derivations.scm (build-expression->derivation)[source-path]: New procedure. [builder]: Pass only sources as references. This fixes a bug whereby changing a fixed-output drv referred to by a builder would cause the builder's hash to change, thereby leading to a full rebuild. * tests/derivations.scm ("build-expression->derivation with a fixed-output input"): New test.
2012-11-08derivations: Add tests relative to fixed-output derivations.Ludovic Courtès
* tests/derivations.scm ("fixed-output derivation"): Add comment that the reference to BUILDER is optional. ("fixed-output derivation: output paths are equal", "derivation with a fixed-output input", "build-expression->derivation: same fixed-output path"): New tests.
2012-11-08store: Document `add-to-store' hack for `fixed?'.Ludovic Courtès
* guix/store.scm (add-to-store): Document that `fixed?' must be #t.
2012-11-08guix-download: Print the hash of the file's contents, no that of the path.Ludovic Courtès
* guix-download.in (guix-download): Display the hash of the contents of PATH, not the path hash. Also, call `add-to-store' with FIXED? = #t.
2012-11-08guix-download: Error out when the HTTP response code is not 200.Ludovic Courtès
* guix-download.in (http-fetch): Leave with an error message when RESPONSE's code is not 200. * tests/guix-download.sh: New file. * Makefile.am (TESTS): Add it.
2012-11-07guix-build: Error out when `-S' used for source-less package.Ludovic Courtès
* guix-build.in (derivations-from-package-expressions): Leave with an error message when SOURCE? is #t and P has no source. * tests/guix-build.sh: Add test.
2012-11-07doc: Document the features and `guix-package'.Ludovic Courtès
* doc/guix.texi: Change the category to "Package management". Add an @direntry for "Invoking guix-package". (Package Management): New chapter.
2012-11-07guix-package: Fix handling of the PACKAGE:OUTPUT syntax.Ludovic Courtès
* guix-package.in (guix-package)[find-package]: Return the correct NAME and SUB-DRV when NAME contains #\:. * tests/guix-package.sh (profile): Add test.
2012-11-07guix-package: Fix invalid module use.Ludovic Courtès
* guix-package.in: Use (distro packages guile), not (... base).
2012-11-07build: Remove now unnecessary dependency of downloads on guix/utils.go.Ludovic Courtès
* 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): Remove dependency on guix/utils.go.
2012-11-07doc: Document `guix-build'.Ludovic Courtès
* doc/guix.texi (Invoking guix-build): Populate.
2012-11-07doc: Remove unnecessary @ifinfo.Ludovic Courtès
* doc/guix.texi: Remove @ifinfo around @dir{category,entry}. Suggested by Karl Berry <karl@freefriends.org>.
2012-11-06distro: Move bootstrap tarball packages to (distro packages make-bootstrap).Ludovic Courtès
* distro/packages/base.scm (binutils-final): Make public. (static-package, %bash-static, %static-inputs, %static-binaries, %binutils-static, %binutils-static-stripped, %glibc-stripped, %gcc-static, %gcc-stripped, %guile-static, %guile-static-stripped, tarball-package, %bootstrap-binaries-tarball, %binutils-bootstrap-tarball, %glibc-bootstrap-tarball, %guile-bootstrap-tarball): Move to... * distro/packages/make-bootstrap.scm: ... here. New file. * Makefile.am (MODULES): Add it.
2012-11-05distro: bash-final: Link with `-static-libgcc'.Ludovic Courtès
* distro/packages/base.scm (bash-final): Pass through `static-libgcc-package'.
2012-11-05build-system/gnu: Add `static-libgcc-package' & supporting procedure.Ludovic Courtès
* guix/build-system/gnu.scm (package-with-extra-configure-variable, static-libgcc-package): New procedures.
2012-11-05distro: gcc: Don't add a RUNPATH to GCC when using `-static-libgcc'.Ludovic Courtès
* distro/packages/base.scm (gcc-4.7)[LIB_SPEC]: Add a `-rpath' to GCC only when !static and !static-libgcc.
2012-11-05distro: readline: Allow stripping of the libraires.Ludovic Courtès
* distro/packages/readline.scm (readline)[arguments]: Add `post-install' phase to make libraries writable.
2012-11-05utils: Add `default-keyword-arguments' and `substitute-keyword-arguments'.Ludovic Courtès
* distro/packages/base.scm (default-keyword-arguments, substitute-keyword-arguments): Move to... * guix/utils.scm: ... here.
2012-11-05distro: Add missing `package-with-bootstrap-guile'.Ludovic Courtès
* distro/packages/base.scm (binutils-final): Add missing `package-with-bootstrap-guile'.
2012-11-05distro: recutils: Comment out optional dependencies.Ludovic Courtès
* distro/packages/recutils.scm (recutils): Comment out optional dependencies not packaged here.
2012-11-05distro: Add GnuPG and companion libraries.Ludovic Courtès
* distro/packages/gnupg.scm: New file. * Makefile.am (MODULES): Add it.
2012-11-05distro: Add zlib.Ludovic Courtès
* distro/packages/compression.scm (zlib): New variable.
2012-11-04distro: Add (distro packages compression).Ludovic Courtès
* distro/packages/base.scm (gzip, bzip2, xz): Move to... * distro/packages/compression.scm: ... here. New file. * Makefile.am (MODULES): Add it.
2012-11-04distro: Add GNU Pth.Ludovic Courtès
* distro/packages/pth.scm: New file. * Makefile.am (MODULES): Add it.
2012-11-04distro: Add GNU gperf.Ludovic Courtès
* distro/packages/gperf.scm: New file. * Makefile.am (MODULES): Add it. * distro/packages/guile.scm (guile-reader): Use it.
2012-11-04distro: Split (distro packages base) into several files.Ludovic Courtès
* distro/packages/base.scm (libsigsegv, gawk, perl, m4, gmp, mpfr, mpc, ncurses, readline, bash, libtool, libunistring, libffi, pkg-config, libgc): Move to modules of their own. (guile-1.8, guile-2.0): Move to... * distro/packages/guile.scm: ... here. * distro/packages/bash.scm, distro/packages/bdw-gc.scm, distro/packages/gawk.scm, distro/packages/libffi.scm, distro/packages/libsigsegv.scm, distro/packages/libtool.scm, distro/packages/libunistring.scm, distro/packages/m4.scm, distro/packages/multiprecision.scm, distro/packages/ncurses.scm, distro/packages/perl.scm, distro/packages/pkg-config.scm, distro/packages/readline.scm: New files.
2012-11-04distro: Move bootstrap packages to (distro packages bootstrap).Ludovic Courtès
* distro/packages/base.scm (glibc-dynamic-linker, %bootstrap-guile, bootstrap-origin, package-from-tarball, %bootstrap-base-url, %bootstrap-coreutils&co, %bootstrap-binutils, %bootstrap-glibc, %bootstrap-gcc, %bootstrap-inputs, package-with-bootstrap-guile): Move to ... * distro/packages/bootstrap.scm: ... here. New file. * Makefile.am (MODULES): Add it. * tests/builders.scm: Use (distro packages bootstrap). (%bootstrap-guile): Remove. * tests/packages.scm: Likewise. * tests/union.scm: Likewise, and remove @@ to access %bootstrap-inputs. * tests/derivations.scm: Use (distro packages bootstrap) and remove @@ to access %bootstrap-coreutils&co. * HACKING (When the platform is supported by Nixpkgs): Update accordingly.
2012-11-04distro: Go for one module per package.Ludovic Courtès
The alternative, which was to use one module per category, would probably not scale well. First, because many packages could fall into several categories (does GnuTLS go into "networking", "security", or "libraries"?). Second, because that could easily lead to circular dependencies among modules ("security" and "networking" depend on each other, etc.) * distro/packages/databases.scm: Rename to... * distro/packages/recutils.scm: ... this. * distro/packages/typesetting.scm: Rename to... * distro/packages/lout.scm: ... this. * Makefile.am (MODULES): Adjust accordingly. * po/POTFILES.in: Likewise.