aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2012-11-21doc: Document basic package definitions.Ludovic Courtès
* doc/guix.texi (Programming Interface): Add introduction. (Defining Packages): Populate.
2012-11-21build: Fix `hydra.scm' recipe.Ludovic Courtès
* hydra.scm: Redirect the output port to the error port. (package-job): Return a name/thunk pair. (hydra-jobs)[system]: Use either the `system' key (a symbol) in ARGUMENTS, or (%current-system)'.
2012-11-19guix-package: Extract version strings when installing a direct store path.Ludovic Courtès
* guix-package.in (guix-package)[process-actions]: Extract the version string from store paths. * tests/guix-package.sh: Adjust accordingly.
2012-11-19guix-build: Use `location->string'.Ludovic Courtès
* guix-build.in (derivations-from-package-expressions): Use `location->string'.
2012-11-19guix-package: Record the correct version string in manifests.Ludovic Courtès
* guix-package.in (guix-package)[find-package]: Return (package-version p), not VERSION.
2012-11-19guix-package: Add `--list-available'.Ludovic Courtès
* guix-package.in (show-help, %options): Add `--list-available'. (guix-package)[process-query]: Add support for `--list-available'. * doc/guix.texi (Invoking guix-package): Document it. * tests/guix-package.sh: Add test. * guix/ui.scm (location->string): New procedure. * guix/utils.scm: Export <location>.
2012-11-19distro: Add `fold-packages'.Ludovic Courtès
* distro.scm (fold-packages): New procedure. (find-packages-by-name): Use it instead of hand-written traversal; remove `package?' checks from `right-package?'. * tests/packages.scm ("fold-packages"): New test.
2012-11-19guix-package: Add `--list-installed'.Ludovic Courtès
* guix-package.in (show-help, %options): Add `--list-installed'. (guix-package): Move main body to... [process-actions]: ... here. New internal procedure. [process-query]: New procedure. * tests/guix-package.sh: Add tests for `--list-installed'. * doc/guix.texi (Invoking guix-package): Document it.
2012-11-19guix-package: Fix typo.Ludovic Courtès
* guix-package.in (guix-package)[find-package]: Don't use `_' as the wildcard, to avoid collision with `gettext'.
2012-11-19distro: Add GNU Zile.Ludovic Courtès
* distro/packages/zile.scm: New file. * Makefile.am (MODULES): Add it.
2012-11-19distro: Add GNU help2man.Ludovic Courtès
* distro/packages/help2man.scm: New file. * Makefile.am (MODULES): Add it.
2012-11-18distro: Add GNU Pies and GNU Inetutils.Ludovic Courtès
* distro/packages/system.scm: New file. * Makefile.am (MODULES): Add it.
2012-11-18build: Add `hydra.scm'.Ludovic Courtès
* hydra.scm: New file. * Makefile.am (EXTRA_DIST): Add it.
2012-11-18doc: Add `ROADMAP'.Ludovic Courtès
* ROADMAP: New file. * Makefile.am (EXTRA_DIST): Add it.
2012-11-18doc: Add `TODO'.Ludovic Courtès
* TODO: New file. * Makefile.am (EXTRA_DIST): Add it.
2012-11-18doc: Add a "Related software" section to `README'.Ludovic Courtès
* README (Related software): New section.
2012-11-18Turn Guix into "GNU Guix".Ludovic Courtès
* configure.ac: Change package name to "GNU Guix", and bug-report address to `gnu-system-discuss@gnu.org'. * doc/guix.texi: Replace "Guix" by "GNU Guix" in some places. (Top, Introduction): Mention "for the GNU system". * HACKING, README: Use "GNU Guix" instead of "Guix" in some places.
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.