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