Nikita Karetnikov [Sat, 8 Dec 2012 01:48:17 +0000 (01:48 +0000)]
Add (guix licenses).
* guix/licenses.scm: New file.
* Makefile.am (MODULES): Add it.
Ludovic Courtès [Fri, 7 Dec 2012 20:06:03 +0000 (21:06 +0100)]
download: Fix the primary Savannah URL.
* guix/download.scm (%mirrors)[savannah]: Use
"http://download.savannah.gnu.org/releases/" as the primary URL.
Nikita Karetnikov [Fri, 7 Dec 2012 01:18:23 +0000 (01:18 +0000)]
distro: Add ACL.
* distro/packages/acl.scm: New file. Dependency on Perl added by
Ludovic.
* Makefile.am (MODULES): Add it.
Nikita Karetnikov [Fri, 7 Dec 2012 00:59:30 +0000 (00:59 +0000)]
distro: Add Attr.
* distro/packages/attr.scm: New file. Dependency on Perl and
`patch-shebang' added by Ludovic.
* Makefile.am (MODULES): Add it.
Nikita Karetnikov [Tue, 4 Dec 2012 23:02:22 +0000 (23:02 +0000)]
Add (guix gnu-maintenance).
* guix/gnu-maintenance.scm: New file.
* Makefile.am (MODULES): Add it.
Ludovic Courtès [Tue, 4 Dec 2012 22:50:20 +0000 (23:50 +0100)]
guix-build: Don't connect to the daemon when run with `--version' or `--help'.
* guix-build.in (%store): Turn into a SRFI-39 parameter. Update users.
(guix-build): Set %STORE and call `open-connection' only after
`parse-options' has been called.
Ludovic Courtès [Tue, 4 Dec 2012 22:48:21 +0000 (23:48 +0100)]
store: Honor $NIX_STORE_DIR and $NIX_STATE_DIR.
* guix/store.scm (%nix-state-dir): Honor $NIX_STATE_DIR.
(%store-prefix): Honor $NIX_STORE_DIR.
Ludovic Courtès [Tue, 4 Dec 2012 22:46:50 +0000 (23:46 +0100)]
derivations: Fix erroneous call to `add-to-store' for local files as input.
* guix/derivations.scm (derivation)[inputs]: Fix typo in call to
`add-to-store'.
* tests/derivations.scm ("derivation with local file as input"): New test.
* tests/packages.scm ("trivial with local file as input"): New test.
Ludovic Courtès [Tue, 4 Dec 2012 21:04:03 +0000 (22:04 +0100)]
Augment `TODO'.
Ludovic Courtès [Tue, 4 Dec 2012 21:03:21 +0000 (22:03 +0100)]
distro: Add GNU lsh.
* distro/packages/lsh.scm,
distro/packages/patches/lsh-guile-compat.patch:
distro/packages/patches/lsh-no-root-login.patch:
distro/packages/patches/lsh-pam-service-name.patch: New files.
* Makefile.am (MODULES): Add lsh.scm.
(dist_patch_DATA): Add the above patches.
Nikita Karetnikov [Mon, 3 Dec 2012 23:13:02 +0000 (23:13 +0000)]
distro: Add util-linux.
* distro/packages/linux.scm (util-linux): New variable.
Ludovic Courtès [Mon, 3 Dec 2012 23:17:49 +0000 (00:17 +0100)]
distro: Add psmisc.
* distro/packages/linux.scm (psmisc): New variable.
Ludovic Courtès [Sun, 2 Dec 2012 21:32:09 +0000 (22:32 +0100)]
distro: make-bootstrap: Use `linux' module.
* distro/packages/make-bootstrap.scm: Use (distro packages linux). This
is a followup to
80fe5c6.
Ludovic Courtès [Fri, 30 Nov 2012 23:59:08 +0000 (00:59 +0100)]
distro: gnutls: Build sequentially.
* distro/packages/gnutls.scm (gnutls)[arguments]: New field.
Ludovic Courtès [Fri, 30 Nov 2012 21:01:47 +0000 (22:01 +0100)]
distro: guile-2.0: Update to 2.0.7.
* distro/packages/guile.scm (guile-2.0): Switch to 2.0.7.
(guile-2.0/fixed): Stay at 2.0.6.
Ludovic Courtès [Fri, 30 Nov 2012 20:37:41 +0000 (21:37 +0100)]
distro: Add `guile-2.0/fixed', which should rarely change.
* distro/packages/guile.scm (guile-2.0/fixed): New variable.
* distro/packages/base.scm (guile-final): Use it.
Nikita Karetnikov [Tue, 27 Nov 2012 20:06:18 +0000 (20:06 +0000)]
distro: Import 'gettext' under a different name.
* distro/packages/nano.scm, distro/packages/wget.scm: Import 'gettext'
from (distro packages gettext) under 'guix:gettext'.
Ludovic Courtès [Tue, 27 Nov 2012 21:04:57 +0000 (22:04 +0100)]
distro: linux-libre-headers: Move to (distro packages linux).
* distro/packages/base.scm (linux-libre-headers): Move to...
* distro/packages/linux.scm (linux-libre-headers): ... here.
Ludovic Courtès [Tue, 27 Nov 2012 20:56:37 +0000 (21:56 +0100)]
distro: Add Linux-PAM.
* distro/packages/linux.scm: New file.
* Makefile.am (MODULES): Add it.
Ludovic Courtès [Tue, 27 Nov 2012 20:55:53 +0000 (21:55 +0100)]
download: Add kernel.org mirrors.
* guix/download.scm (%mirrors): Add `kernel.org' mirrors.
Ludovic Courtès [Tue, 27 Nov 2012 20:33:54 +0000 (21:33 +0100)]
download: Keep only one slash when concatenating URIs.
* guix/build/download.scm (url-fetch)[uri-vicinity]: New procedure.
[maybe-expand-mirrors]: Use it.
Ludovic Courtès [Tue, 27 Nov 2012 20:33:00 +0000 (21:33 +0100)]
distro: flex: Fix module name.
* distro/packages/flex.scm: Change the module name to (distro packages
flex).
Nikita Karetnikov [Sun, 25 Nov 2012 21:45:42 +0000 (22:45 +0100)]
distro: Add GNU Cpio.
* distro/packages/cpio.scm,
distro/packages/patches/cpio-gets-undeclared.patch: New files.
* Makefile.am (MODULES): Add 'cpio.scm'.
(dist_patch_DATA): Add 'cpio-gets-undeclared.patch'.
Nikita Karetnikov [Sun, 25 Nov 2012 17:41:21 +0000 (17:41 +0000)]
distro: Add GNU Time.
* distro/packages/time.scm: New file.
* Makefile.am (MODULES): Add it.
Nikita Karetnikov [Sun, 25 Nov 2012 16:19:39 +0000 (16:19 +0000)]
distro: Add GNU Which.
* distro/packages/which.scm: New file.
* Makefile.am (MODULES): Add it.
Ludovic Courtès [Sun, 25 Nov 2012 16:12:46 +0000 (17:12 +0100)]
build: Have `hydra.scm' return one job per package.
* hydra.scm (hydra-jobs): Return one job for each non-bootstrap package.
Ludovic Courtès [Sun, 25 Nov 2012 15:55:35 +0000 (16:55 +0100)]
packages: Add missing export.
* guix/packages.scm: Export `package-home-page'.
Ludovic Courtès [Sun, 25 Nov 2012 15:28:52 +0000 (16:28 +0100)]
distro: Search bootstrap binaries and patches in %LOAD-PATH.
* Makefile.am (patchdir, bootstrapdir): Change to be sub-directories of
$(guilemoduledir).
(.scm.go): Remove `DISTRO_' environment variables.
* distro.scm (not-colon): Remove.
(%patch-path, %bootstrap-binaries-path): Default to sub-directories of
the entries in %LOAD-PATH.
* pre-inst-env.in: Remove definition of `DISTRO_' environment variables.
Nikita Karetnikov [Sun, 25 Nov 2012 04:04:13 +0000 (04:04 +0000)]
distro: Add GNU Less.
* distro/packages/less.scm: New file.
* Makefile.am (MODULES): Add it.
Nikita Karetnikov [Sun, 25 Nov 2012 03:14:01 +0000 (03:14 +0000)]
distro: Add GNU Nano.
* distro/packages/nano.scm: New file.
* Makefile.am (MODULES): Add it.
Ludovic Courtès [Sun, 25 Nov 2012 14:30:03 +0000 (15:30 +0100)]
doc: Mention the pronunciation of "Guix".
* README: Mention pronunciation of "Guix".
* doc/guix.texi (Introduction): Likewise.
Nikita Karetnikov [Sun, 25 Nov 2012 14:58:31 +0000 (15:58 +0100)]
distro: Add GNU Wget.
* distro/packages/wget.scm: New file; patch-shebang phase added by
Ludovic Courtès.
* Makefile.am (MODULES): Add it.
Nikita Karetnikov [Sat, 24 Nov 2012 00:20:46 +0000 (00:20 +0000)]
distro: Add GNU Ddrescue.
* distro/packages/ddrescue.scm: New file.
* Makefile.am (MODULES): Add it.
Ludovic Courtès [Sat, 24 Nov 2012 14:20:05 +0000 (15:20 +0100)]
doc: Update `README'.
* README: Update introductory summary. Point to Savannah instead of
Gitorious. Mention <bug-guix@gnu.org>.
(Guix & Nix): New section.
Nikita Karetnikov [Fri, 23 Nov 2012 23:31:26 +0000 (23:31 +0000)]
distro: Add GNU Gettext.
* distro/packages/gettext.scm,
distro/packages/patches/gettext-gets-undeclared.patch: New files.
* Makefile.am (MODULES): Add 'gettext.scm'.
(dist_patch_DATA): Add 'gettext-gets-undeclared.patch'.
Ludovic Courtès [Fri, 23 Nov 2012 23:36:36 +0000 (00:36 +0100)]
build: Change bug-report address; add URL.
* configure.ac: Change bug-report address in `AC_INIT'; add URL.
Nikita Karetnikov [Fri, 23 Nov 2012 22:00:50 +0000 (23:00 +0100)]
distro: Add GNU Shishi.
* distro/packages/shishi.scm,
distro/packages/patches/shishi-gets-undeclared.patch: New files.
* Makefile.am (MODULES): Add 'shishi.scm'.
(dist_patch_DATA): Add 'shishi-gets-undeclared.patch'.
Nikita Karetnikov [Thu, 22 Nov 2012 00:50:28 +0000 (00:50 +0000)]
distro: Move (distro packages libtool) to (distro packages autotools).
* distro/packages/autotools.scm (libtool): Add it.
* distro/packages/libtool.scm: Remove it.
* distro/packages/guile.scm (distro packages guile): Adjust accordingly.
* Makefile.am (MODULES): Adjust accordingly.
Nikita Karetnikov [Thu, 22 Nov 2012 00:10:21 +0000 (00:10 +0000)]
distro: Add GNU Autoconf and GNU Automake.
* distro/packages/autotools.scm: New file.
* Makefile.am (MODULES): Add it.
Ludovic Courtès [Thu, 22 Nov 2012 17:22:48 +0000 (18:22 +0100)]
distro: Add Flex.
* distro/packages/flex.scm,
distro/packages/patches/flex-bison-tests.patch: New files.
* Makefile.am (MODULES): Add `flex.scm'.
(dist_patch_DATA): Add `flex-bison-tests.patch'.
Ludovic Courtès [Thu, 22 Nov 2012 16:57:37 +0000 (17:57 +0100)]
distro: Add GNU Bison.
* distro/packages/bison.scm: New file.
* Makefile.am (MODULES): Add it.
Ludovic Courtès [Thu, 22 Nov 2012 16:56:35 +0000 (17:56 +0100)]
distro: Add GDBM.
* distro/packages/gdbm.scm: New file.
* Makefile.am (MODULES): Add it.
Nikita Karetnikov [Wed, 21 Nov 2012 12:24:14 +0000 (12:24 +0000)]
distro: Add GNU Ed.
* distro/packages/ed.scm: New file.
* Makefile.am (MODULES): Add it.
Ludovic Courtès [Wed, 21 Nov 2012 14:56:43 +0000 (15:56 +0100)]
doc: Document basic package definitions.
* doc/guix.texi (Programming Interface): Add introduction.
(Defining Packages): Populate.
Ludovic Courtès [Tue, 20 Nov 2012 23:57:47 +0000 (00:57 +0100)]
build: Fix `hydra.scm' recipe.
* 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)'.
Ludovic Courtès [Mon, 19 Nov 2012 22:51:08 +0000 (23:51 +0100)]
guix-package: Extract version strings when installing a direct store path.
* guix-package.in (guix-package)[process-actions]: Extract the version
string from store paths.
* tests/guix-package.sh: Adjust accordingly.
Ludovic Courtès [Mon, 19 Nov 2012 22:41:17 +0000 (23:41 +0100)]
guix-build: Use `location->string'.
* guix-build.in (derivations-from-package-expressions): Use
`location->string'.
Ludovic Courtès [Mon, 19 Nov 2012 22:21:54 +0000 (23:21 +0100)]
guix-package: Record the correct version string in manifests.
* guix-package.in (guix-package)[find-package]: Return (package-version p),
not VERSION.
Ludovic Courtès [Mon, 19 Nov 2012 22:02:59 +0000 (23:02 +0100)]
guix-package: Add `--list-available'.
* 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>.
Ludovic Courtès [Mon, 19 Nov 2012 21:37:50 +0000 (22:37 +0100)]
distro: Add `fold-packages'.
* 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.
Ludovic Courtès [Mon, 19 Nov 2012 21:39:45 +0000 (22:39 +0100)]
guix-package: Add `--list-installed'.
* 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.
Ludovic Courtès [Mon, 19 Nov 2012 21:19:26 +0000 (22:19 +0100)]
guix-package: Fix typo.
* guix-package.in (guix-package)[find-package]: Don't use `_' as the
wildcard, to avoid collision with `gettext'.
Ludovic Courtès [Mon, 19 Nov 2012 20:46:31 +0000 (21:46 +0100)]
distro: Add GNU Zile.
* distro/packages/zile.scm: New file.
* Makefile.am (MODULES): Add it.
Ludovic Courtès [Mon, 19 Nov 2012 20:42:11 +0000 (21:42 +0100)]
distro: Add GNU help2man.
* distro/packages/help2man.scm: New file.
* Makefile.am (MODULES): Add it.
Ludovic Courtès [Sun, 18 Nov 2012 17:42:29 +0000 (18:42 +0100)]
distro: Add GNU Pies and GNU Inetutils.
* distro/packages/system.scm: New file.
* Makefile.am (MODULES): Add it.
Ludovic Courtès [Sun, 18 Nov 2012 17:35:26 +0000 (18:35 +0100)]
build: Add `hydra.scm'.
* hydra.scm: New file.
* Makefile.am (EXTRA_DIST): Add it.
Ludovic Courtès [Sun, 18 Nov 2012 16:46:55 +0000 (17:46 +0100)]
doc: Add `ROADMAP'.
* ROADMAP: New file.
* Makefile.am (EXTRA_DIST): Add it.
Ludovic Courtès [Sun, 18 Nov 2012 16:10:47 +0000 (17:10 +0100)]
doc: Add `TODO'.
* TODO: New file.
* Makefile.am (EXTRA_DIST): Add it.
Ludovic Courtès [Sun, 18 Nov 2012 14:25:01 +0000 (15:25 +0100)]
doc: Add a "Related software" section to `README'.
* README (Related software): New section.
Ludovic Courtès [Sun, 18 Nov 2012 14:22:00 +0000 (15:22 +0100)]
Turn Guix into "GNU Guix".
* 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.
Ludovic Courtès [Thu, 15 Nov 2012 23:26:34 +0000 (00:26 +0100)]
distro: Rebuild bootstrap Binutils and GCC.
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.
Ludovic Courtès [Thu, 15 Nov 2012 23:23:06 +0000 (00:23 +0100)]
distro: 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 [Tue, 13 Nov 2012 21:57:36 +0000 (22:57 +0100)]
guix-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 [Tue, 13 Nov 2012 21:57:50 +0000 (22:57 +0100)]
guix-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 [Tue, 13 Nov 2012 21:13:11 +0000 (22:13 +0100)]
guix-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 [Tue, 13 Nov 2012 20:46:10 +0000 (21:46 +0100)]
distro: Add GNU Texinfo.
* distro/packages/texinfo.scm: New file.
* Makefile.am (MODULES): Add it.
Ludovic Courtès [Tue, 13 Nov 2012 20:44:57 +0000 (21:44 +0100)]
distro: Add GNU Libtasn1 and GnuTLS.
* distro/packages/gnutls.scm: New file.
* Makefile.am (MODULES): Add it.
Ludovic Courtès [Tue, 13 Nov 2012 20:43:30 +0000 (21:43 +0100)]
distro: Add GNU Nettle.
* distro/packages/nettle.scm: New file.
* Makefile.am (MODULES): Add it.
Ludovic Courtès [Tue, 13 Nov 2012 20:42:12 +0000 (21:42 +0100)]
distro: Add LZO.
* distro/packages/compression.scm (lzo): New variable.
Ludovic Courtès [Mon, 12 Nov 2012 23:40:29 +0000 (00:40 +0100)]
tests: Make sure to use the bootstrap Guile.
* tests/builders.scm ("url-fetch", "gnu-build"): Pass `url-fetch'
#:guile %BOOTSTRAP-GUILE.
Ludovic Courtès [Mon, 12 Nov 2012 23:34:56 +0000 (00:34 +0100)]
tests: 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 [Mon, 12 Nov 2012 23:33:43 +0000 (00:33 +0100)]
build: 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 [Mon, 12 Nov 2012 22:58:01 +0000 (23:58 +0100)]
distro: 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 [Mon, 12 Nov 2012 22:34:03 +0000 (23:34 +0100)]
distro: 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 [Mon, 12 Nov 2012 22:20:06 +0000 (23:20 +0100)]
download: 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 [Mon, 12 Nov 2012 22:09:32 +0000 (23:09 +0100)]
download: Follow HTTP redirections.
* guix/build/download.scm (http-fetch): Follow the redirection when CODE
is 302.
Ludovic Courtès [Mon, 12 Nov 2012 23:22:44 +0000 (00:22 +0100)]
Remove (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 [Mon, 12 Nov 2012 22:10:26 +0000 (23:10 +0100)]
Add (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 [Sun, 11 Nov 2012 21:33:28 +0000 (22:33 +0100)]
Move 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 [Fri, 9 Nov 2012 22:59:11 +0000 (23:59 +0100)]
tests: 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 [Thu, 8 Nov 2012 23:21:18 +0000 (00:21 +0100)]
http: Add informative output.
* guix/build/http.scm (http-fetch): Emit message indicating the
download.
Ludovic Courtès [Thu, 8 Nov 2012 23:19:20 +0000 (00:19 +0100)]
http: 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 [Thu, 8 Nov 2012 23:07:10 +0000 (00:07 +0100)]
derivations: 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 [Thu, 8 Nov 2012 22:55:12 +0000 (23:55 +0100)]
derivations: 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 [Wed, 7 Nov 2012 23:26:13 +0000 (00:26 +0100)]
store: Document `add-to-store' hack for `fixed?'.
* guix/store.scm (add-to-store): Document that `fixed?' must be #t.
Ludovic Courtès [Wed, 7 Nov 2012 23:25:26 +0000 (00:25 +0100)]
guix-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 [Wed, 7 Nov 2012 23:13:25 +0000 (00:13 +0100)]
guix-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 [Wed, 7 Nov 2012 22:41:59 +0000 (23:41 +0100)]
guix-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 [Wed, 7 Nov 2012 18:24:03 +0000 (19:24 +0100)]
doc: 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 [Wed, 7 Nov 2012 18:14:22 +0000 (19:14 +0100)]
guix-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 [Wed, 7 Nov 2012 18:13:10 +0000 (19:13 +0100)]
guix-package: Fix invalid module use.
* guix-package.in: Use (distro packages guile), not (... base).
Ludovic Courtès [Wed, 7 Nov 2012 17:00:16 +0000 (18:00 +0100)]
build: 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 [Wed, 7 Nov 2012 16:07:15 +0000 (17:07 +0100)]
doc: Document `guix-build'.
* doc/guix.texi (Invoking guix-build): Populate.
Ludovic Courtès [Wed, 7 Nov 2012 15:45:11 +0000 (16:45 +0100)]
doc: Remove unnecessary @ifinfo.
* doc/guix.texi: Remove @ifinfo around @dir{category,entry}. Suggested
by Karl Berry <karl@freefriends.org>.
Ludovic Courtès [Tue, 6 Nov 2012 21:55:44 +0000 (22:55 +0100)]
distro: 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 [Mon, 5 Nov 2012 22:50:34 +0000 (23:50 +0100)]
distro: bash-final: Link with `-static-libgcc'.
* distro/packages/base.scm (bash-final): Pass through
`static-libgcc-package'.
Ludovic Courtès [Mon, 5 Nov 2012 22:50:05 +0000 (23:50 +0100)]
build-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 [Mon, 5 Nov 2012 21:25:52 +0000 (22:25 +0100)]
distro: 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 [Mon, 5 Nov 2012 22:47:39 +0000 (23:47 +0100)]
distro: readline: Allow stripping of the libraires.
* distro/packages/readline.scm (readline)[arguments]: Add `post-install'
phase to make libraries writable.
Ludovic Courtès [Mon, 5 Nov 2012 22:46:55 +0000 (23:46 +0100)]
utils: Add `default-keyword-arguments' and `substitute-keyword-arguments'.
* distro/packages/base.scm (default-keyword-arguments,
substitute-keyword-arguments): Move to...
* guix/utils.scm: ... here.