summaryrefslogtreecommitdiff
AgeCommit message (Expand)Author
2012-11-16distro: Configure ld and GCC to not look under /usr & co....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'. Ludovic Courtès
2012-11-13guix-download: Use code from (guix build download)....* 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. Ludovic Courtès
2012-11-13guix-download: Add support for file:// URIs....* 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. Ludovic Courtès
2012-11-13guix-download: Gracefully handle invalid URIs....* 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. Ludovic Courtès
2012-11-13distro: Add GNU Texinfo....* distro/packages/texinfo.scm: New file. * Makefile.am (MODULES): Add it. Ludovic Courtès
2012-11-13distro: Add GNU Libtasn1 and GnuTLS....* distro/packages/gnutls.scm: New file. * Makefile.am (MODULES): Add it. Ludovic Courtès
2012-11-13distro: Add GNU Nettle....* distro/packages/nettle.scm: New file. * Makefile.am (MODULES): Add it. Ludovic Courtès
2012-11-13distro: Add LZO....* distro/packages/compression.scm (lzo): New variable. Ludovic Courtès
2012-11-13tests: Make sure to use the bootstrap Guile....* tests/builders.scm ("url-fetch", "gnu-build"): Pass `url-fetch' #:guile %BOOTSTRAP-GUILE. Ludovic Courtès
2012-11-13tests: Remove extraneous test....* 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. Ludovic Courtès
2012-11-13build: Add $(top_builddir) to the load path....* Makefile.am (DOWNLOAD_FILE): Add $(top_builddir) to the search path, since that's where guix/config.scm is. (.scm.go): Likewise. Ludovic Courtès
2012-11-13distro: Patch libc to avoid accessing /etc/ld.so.cache and friends....* 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. Ludovic Courtès
2012-11-13distro: Use `mirror://' URLs....* 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. Ludovic Courtès
2012-11-13download: Add support for mirror:// URLs....* 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. Ludovic Courtès
2012-11-13download: Follow HTTP redirections....* guix/build/download.scm (http-fetch): Follow the redirection when CODE is 302. Ludovic Courtès
2012-11-13Remove (guix http) and (guix ftp)....* 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'. Ludovic Courtès
2012-11-12Add (guix download) and (guix build download)....* 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'. Ludovic Courtès
2012-11-11Move base32 code to (guix base32)....* 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'. Ludovic Courtès
2012-11-09tests: Choose a less expensive test for packages....* tests/packages.scm (%bootstrap-inputs): Remove. ("GNU Hello"): Rename to... ("GNU Make, bootstrap"): ... this. Build GNU-MAKE-BOOT0 instead of HELLO. Ludovic Courtès
2012-11-09http: Add informative output....* guix/build/http.scm (http-fetch): Emit message indicating the download. Ludovic Courtès
2012-11-09http: Check the HTTP response code, and bail if not 200....* guix/build/http.scm (http-fetch): Check RESP's code; error out when it's not 200. Ludovic Courtès
2012-11-09derivations: build-expression->derivation: Builder only refers to sources....* 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. Ludovic Courtès
2012-11-08derivations: Add tests relative to fixed-output derivations....* 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. Ludovic Courtès
2012-11-08store: Document `add-to-store' hack for `fixed?'....* guix/store.scm (add-to-store): Document that `fixed?' must be #t. Ludovic Courtès
2012-11-08guix-download: Print the hash of the file's contents, no that of the path....* 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. Ludovic Courtès
2012-11-08guix-download: Error out when the HTTP response code is not 200....* 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. Ludovic Courtès
2012-11-07guix-build: Error out when `-S' used for source-less package....* 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. Ludovic Courtès
2012-11-07doc: Document the features and `guix-package'....* doc/guix.texi: Change the category to "Package management". Add an @direntry for "Invoking guix-package". (Package Management): New chapter. Ludovic Courtès
2012-11-07guix-package: Fix handling of the PACKAGE:OUTPUT syntax....* guix-package.in (guix-package)[find-package]: Return the correct NAME and SUB-DRV when NAME contains #\:. * tests/guix-package.sh (profile): Add test. Ludovic Courtès
2012-11-07guix-package: Fix invalid module use....* guix-package.in: Use (distro packages guile), not (... base). Ludovic Courtès
2012-11-07build: Remove now unnecessary dependency of downloads on guix/utils.go....* 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. Ludovic Courtès
2012-11-07doc: Document `guix-build'....* doc/guix.texi (Invoking guix-build): Populate. Ludovic Courtès
2012-11-07doc: Remove unnecessary @ifinfo....* doc/guix.texi: Remove @ifinfo around @dir{category,entry}. Suggested by Karl Berry <karl@freefriends.org>. Ludovic Courtès
2012-11-06distro: Move bootstrap tarball packages to (distro packages make-bootstrap)....* 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. Ludovic Courtès
2012-11-05distro: bash-final: Link with `-static-libgcc'....* distro/packages/base.scm (bash-final): Pass through `static-libgcc-package'. Ludovic Courtès
2012-11-05build-system/gnu: Add `static-libgcc-package' & supporting procedure....* guix/build-system/gnu.scm (package-with-extra-configure-variable, static-libgcc-package): New procedures. Ludovic Courtès
2012-11-05distro: gcc: Don't add a RUNPATH to GCC when using `-static-libgcc'....* distro/packages/base.scm (gcc-4.7)[LIB_SPEC]: Add a `-rpath' to GCC only when !static and !static-libgcc. Ludovic Courtès
2012-11-05distro: readline: Allow stripping of the libraires....* distro/packages/readline.scm (readline)[arguments]: Add `post-install' phase to make libraries writable. Ludovic Courtès
2012-11-05utils: Add `default-keyword-arguments' and `substitute-keyword-arguments'....* distro/packages/base.scm (default-keyword-arguments, substitute-keyword-arguments): Move to... * guix/utils.scm: ... here. Ludovic Courtès
2012-11-05distro: Add missing `package-with-bootstrap-guile'....* distro/packages/base.scm (binutils-final): Add missing `package-with-bootstrap-guile'. Ludovic Courtès
2012-11-05distro: recutils: Comment out optional dependencies....* distro/packages/recutils.scm (recutils): Comment out optional dependencies not packaged here. Ludovic Courtès
2012-11-05distro: Add GnuPG and companion libraries....* distro/packages/gnupg.scm: New file. * Makefile.am (MODULES): Add it. Ludovic Courtès
2012-11-05distro: Add zlib....* distro/packages/compression.scm (zlib): New variable. Ludovic Courtès
2012-11-04distro: Add (distro packages compression)....* distro/packages/base.scm (gzip, bzip2, xz): Move to... * distro/packages/compression.scm: ... here. New file. * Makefile.am (MODULES): Add it. Ludovic Courtès
2012-11-04distro: Add GNU Pth....* distro/packages/pth.scm: New file. * Makefile.am (MODULES): Add it. Ludovic Courtès
2012-11-04distro: Add GNU gperf....* distro/packages/gperf.scm: New file. * Makefile.am (MODULES): Add it. * distro/packages/guile.scm (guile-reader): Use it. Ludovic Courtès
2012-11-04distro: Split (distro packages base) into several files....* 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. Ludovic Courtès
2012-11-04distro: Move bootstrap packages to (distro packages bootstrap)....* 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. Ludovic Courtès
2012-11-04distro: Go for one module per package....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. Ludovic Courtès
2012-11-04doc: Add "Adding new packages" in `HACKING'....* HACKING (Adding new packages): New section. Ludovic Courtès