jackhill/guix/guix.git
11 years agolicenses: Add new meta-license fsf-free.
Andreas Enge [Tue, 5 Feb 2013 22:01:14 +0000 (23:01 +0100)]
licenses: Add new meta-license fsf-free.

* guix/licenses.scm (fsf-free): New record with constructor.

11 years agognu: Have MPFR and MPC propagate their input.
Ludovic Courtès [Tue, 5 Feb 2013 21:36:48 +0000 (22:36 +0100)]
gnu: Have MPFR and MPC propagate their input.

* gnu/packages/multiprecision.scm (mpfr): Change GMP to a propagated input.
  (mpc): Likewise for GMP and MPFR.
  Reported by Andreas Enge <andreas@enge.fr>.

11 years agognu: Add PCRE (Perl Compatible Regular Expression).
Andreas Enge [Tue, 5 Feb 2013 22:41:38 +0000 (23:41 +0100)]
gnu: Add PCRE (Perl Compatible Regular Expression).

* gnu/packages/pcre.scm: New file.
* Makefile.am (MODULES): Add it.

11 years agoThank Lluís and Daniel.
Ludovic Courtès [Mon, 4 Feb 2013 22:10:48 +0000 (23:10 +0100)]
Thank Lluís and Daniel.

11 years agognu: Add GNU Guile-Ncurses.
Ludovic Courtès [Mon, 4 Feb 2013 13:00:46 +0000 (14:00 +0100)]
gnu: Add GNU Guile-Ncurses.

* gnu/packages/guile.scm (guile-ncurses): New variable.

11 years agognu: Add libid3tag.
Andreas Enge [Fri, 1 Feb 2013 23:13:08 +0000 (00:13 +0100)]
gnu: Add libid3tag.

* gnu/packages/mp3 (libid3tag): New variable.

11 years agognu: Add libmad.
Andreas Enge [Fri, 1 Feb 2013 23:03:37 +0000 (00:03 +0100)]
gnu: Add libmad.

* gnu/packages/mp3.scm: New file.
* Makefile.am (MODULES): Add it.

11 years agostore: Add substitute-related procedures.
Ludovic Courtès [Sun, 3 Feb 2013 22:24:25 +0000 (23:24 +0100)]
store: Add substitute-related procedures.

* guix/store.scm (has-substitutes?, substitutable-paths,
  read-substitutable-path-list, substitutable-path-info): New
  procedures.
  (<substitutable>): New record type.
  (read-arg): Add `substitutable-path-info'.  Change `hash' pattern
  variable to `base16' literal.
* tests/store.scm ("no substitutes"): New test.

11 years agostore: Update to protocol 1.12.
Ludovic Courtès [Sun, 3 Feb 2013 22:02:14 +0000 (23:02 +0100)]
store: Update to protocol 1.12.

* guix/store.scm (%protocol-version): Bump.
  (operation-id): Comment out `query-substitutable-path-info'.
  Rename `query-valid-paths' to `query-all-valid-paths'.  Add
  `query-path-from-hash-part', `query-substitutable-path-infos',
  `query-valid-paths', and `query-substitutable-paths'.
  (set-build-options): Add `binary-caches' keyword parameter.  When
  using a server >= 1.12, send the list of binary caches.
  (query-path-hash): Use the `store-path' type, for clarity.

11 years agoSRFI-64: Make the log file's port line-buffered.
Ludovic Courtès [Sun, 3 Feb 2013 22:25:01 +0000 (23:25 +0100)]
SRFI-64: Make the log file's port line-buffered.

* srfi/srfi-64.upstream.scm (test-on-group-begin-simple): Make LOG-FILE
  line-buffered.

11 years agotests: Fix thinko in `derivation' test.
Ludovic Courtès [Sun, 3 Feb 2013 22:23:29 +0000 (23:23 +0100)]
tests: Fix thinko in `derivation' test.

* tests/derivations.scm ("derivation with local file as input"): Return
  a Boolean instead of a bytevector.  Don't attempt to compare the
  content of the result with that of the input.

11 years agostore: Write string length as a 32-bit integer.
Ludovic Courtès [Sun, 3 Feb 2013 21:57:58 +0000 (22:57 +0100)]
store: Write string length as a 32-bit integer.

* guix/store.scm (write-string): Write L as a 32-bit integer.  Bug
  introduced in 82c38fe64c84fc3febcc5c5aa7fe86454ccaf456 ("store:
  Micro-optimize `write-string'.")

11 years agognu: Add GNU Prolog.
Nikita Karetnikov [Fri, 1 Feb 2013 16:11:29 +0000 (16:11 +0000)]
gnu: Add GNU Prolog.

* gnu/packages/gprolog.scm: New file.
* Makefile.am (MODULES): Add it.

11 years agognu: Add libxslt.
Andreas Enge [Fri, 1 Feb 2013 22:23:08 +0000 (23:23 +0100)]
gnu: Add libxslt.

* gnu/packages/xml.scm (libxslt): New variable.

11 years agognu: Fix invalid `license' fields.
Ludovic Courtès [Fri, 1 Feb 2013 11:57:06 +0000 (12:57 +0100)]
gnu: Fix invalid `license' fields.

* gnu/packages/acl.scm (acl): Change `license' field to refer to the
  `license' objects.
* gnu/packages/attr.scm (attr): Likewise.
* gnu/packages/compression.scm (xz): Likewise.
* gnu/packages/global.scm (global): Likewise.
* gnu/packages/linux.scm (linux-libre-headers): Likewise.

11 years agoguix-package: Make `--search' queries case-insensitive.
Ludovic Courtès [Fri, 1 Feb 2013 11:52:35 +0000 (12:52 +0100)]
guix-package: Make `--search' queries case-insensitive.

* guix-package.in (guix-package)[process-query]: Use `regexp/icase' for
  the `search' regexp.

11 years agoAugment `.dir-locals.el'.
Ludovic Courtès [Fri, 1 Feb 2013 11:48:02 +0000 (12:48 +0100)]
Augment `.dir-locals.el'.

* .dir-locals.el: Add more Scheme settings.
* guix-build.in, tests/base32.scm, tests/build-utils.scm,
  tests/builders.scm, tests/derivations.scm, tests/packages.scm,
  tests/snix.scm, tests/store.scm, tests/union.scm, tests/utils.scm:
  Remove redundant Emacs local variable settings.

11 years agoguix-package: Report `--search' matches in recutils format.
Ludovic Courtès [Fri, 1 Feb 2013 12:16:27 +0000 (13:16 +0100)]
guix-package: Report `--search' matches in recutils format.

* guix/ui.scm (fill-paragraph, string->recutils, package->recutils): New
  procedures.
* guix-package.in (guix-package)[process-query]: Use `package->recutils'
  to display package meta-data.
* tests/guix-package.sh: Adjust test.
* tests/ui.scm: New file.
* Makefile.am (TESTS): Add it.
* doc/guix.texi (Invoking guix-package): Adjust `--search'
  documentation, and give an example.

11 years agoguix-package: Gracefully report non-existing outputs.
Ludovic Courtès [Fri, 1 Feb 2013 08:17:35 +0000 (09:17 +0100)]
guix-package: Gracefully report non-existing outputs.

* guix-package.in (guix-package)[find-package](ensure-output): New
  procedure. Use it to validate SUB-DRV.

11 years agoguix-package: Reduce start-up time for queries.
Ludovic Courtès [Thu, 31 Jan 2013 22:24:10 +0000 (23:24 +0100)]
guix-package: Reduce start-up time for queries.

* guix-package.in (guix-package): Call `open-connection' and
  `package-derivation' only after `process-query' has returned.

11 years agognu: Add libkate.
Andreas Enge [Thu, 31 Jan 2013 21:47:25 +0000 (22:47 +0100)]
gnu: Add libkate.

* gnu/packages/oggvorbis.scm (libkate): New variable.
* gnu/packages/oggvorbis.scm (vorbis-tools): Add input libkate.

11 years agognu: Add flac.
Andreas Enge [Thu, 31 Jan 2013 21:18:47 +0000 (22:18 +0100)]
gnu: Add flac.

* gnu/packages/oggvorbis.scm (flac): New variable.
* gnu/packages/oggvorbis.scm (vorbis-tools): Add flac input.
* gnu/packages/patches/flac-fix-memcmp-not-declared.patch: New file.

11 years agognu: bigloo: Update tarball's hash.
Ludovic Courtès [Thu, 31 Jan 2013 16:49:44 +0000 (17:49 +0100)]
gnu: bigloo: Update tarball's hash.

* gnu/packages/scheme.scm (bigloo): Change hash.  The tarball was
  recently modified in-place (!).

11 years agostore: Don't expect build logs to be UTF-8-encoded.
Ludovic Courtès [Thu, 31 Jan 2013 13:05:10 +0000 (14:05 +0100)]
store: Don't expect build logs to be UTF-8-encoded.

* guix/store.scm (read-latin1-string): New procedure.
  (process-stderr): Use it instead of `read-string'.
  Reported by Andreas Enge <andreas@enge.fr>.

11 years agognu: vorbis-tools: Enable ogg123.
Andreas Enge [Wed, 30 Jan 2013 22:46:39 +0000 (23:46 +0100)]
gnu: vorbis-tools: Enable ogg123.

* gnu/packages/oggvorbis.scm (vorbis-tools): Add inputs ao and curl.

11 years agognu: Add libao.
Andreas Enge [Wed, 30 Jan 2013 22:32:13 +0000 (23:32 +0100)]
gnu: Add libao.

* gnu/packages/oggvorbis.scm (ao): New variable.

11 years agognu: Add curl.
Andreas Enge [Wed, 30 Jan 2013 20:48:57 +0000 (21:48 +0100)]
gnu: Add curl.

* gnu/packages/curl.scm: New file.
* Makefile.am (MODULES): Add it.

11 years agognu: Add openssh.
Andreas Enge [Wed, 30 Jan 2013 20:31:50 +0000 (21:31 +0100)]
gnu: Add openssh.

* gnu/packages/ssh.cm (openssh): New variable.

11 years ago.dir-locals.el: Fill at 78 columns.
Ludovic Courtès [Wed, 30 Jan 2013 17:59:12 +0000 (18:59 +0100)]
.dir-locals.el: Fill at 78 columns.

11 years agoderivations: Memoize `read-derivation'.
Ludovic Courtès [Wed, 30 Jan 2013 17:56:20 +0000 (18:56 +0100)]
derivations: Memoize `read-derivation'.

* guix/derivations.scm (read-derivation): Rename to...
  (%read-derivation): ... this.
  (read-derivation): New procedure.
  This reduces the execution of "guix-build gdb" from 2.5s to 1.7s.

11 years agostore: Slightly improve memoization hashing.
Ludovic Courtès [Wed, 30 Jan 2013 16:05:54 +0000 (17:05 +0100)]
store: Slightly improve memoization hashing.

* guix/store.scm (open-connection): Call `make-hash-table' with 100.
  (add-text-to-store): Move TEXT first in ARGS, for better `hash'
  results.
  (add-to-store): Likewise, move ST first.

11 years agostore: Remove the `fixed?' parameter from `add-to-store'.
Ludovic Courtès [Wed, 30 Jan 2013 15:30:49 +0000 (16:30 +0100)]
store: Remove the `fixed?' parameter from `add-to-store'.

* guix/store.scm (add-to-store): Remove the `fixed?' parameter from the
  public interface.
* gnu/packages/bootstrap.scm, guix-download.in, guix/derivations.scm,
  guix/packages.scm, tests/derivations.scm: Update all callers
  accordingly.

11 years agostore: Avoid use of `set!'.
Ludovic Courtès [Wed, 30 Jan 2013 15:22:33 +0000 (16:22 +0100)]
store: Avoid use of `set!'.

* guix/store.scm (operation): New macro.
  (define-operation): Define in terms of `operation'.
  (add-text-to-store): Define using `operation', and remove now
  unnecessary `set!'.
  (add-to-store): Likewise.
  (add-text-to-store/cached, add-to-store/cached): Remove.

11 years agostore: Micro-optimize `write-string'.
Ludovic Courtès [Tue, 29 Jan 2013 23:37:26 +0000 (00:37 +0100)]
store: Micro-optimize `write-string'.

* guix/store.scm (write-string): Optimize to write the length, contents,
  and padding all at once.  This yields a 2% improvement on the
  execution time of "guix-build gdb".

11 years agoGracefully handle failure to install the current locale.
Ludovic Courtès [Tue, 29 Jan 2013 22:59:27 +0000 (23:59 +0100)]
Gracefully handle failure to install the current locale.

* guix/ui.scm (install-locale): New procedure.
* guix-build.in, guix-download.in, guix-gc.in, guix-import.in,
  guix-package.in: Use it instead of (setlocale LC_ALL "").

11 years agostore: Cache `add-text-to-store' results.
Ludovic Courtès [Tue, 29 Jan 2013 22:53:09 +0000 (23:53 +0100)]
store: Cache `add-text-to-store' results.

* guix/store.scm (<nix-server>)[atts-cache]: New field.
  (add-text-to-store/cached): New procedure.  Use it as a wrapper around
  `add-text-to-store'.
  When running "guix-build gdb", this reduces the number of RPCs from
  3048 to 289, and execution time from 4.7s to 2.6s.

11 years agostore: Make the `add-to-store' cache per-connection.
Ludovic Courtès [Tue, 29 Jan 2013 22:34:50 +0000 (23:34 +0100)]
store: Make the `add-to-store' cache per-connection.

* guix/store.scm (<nix-server>)[ats-cache]: New field.
  (open-connection): Update accordingly.
  (add-to-store/cached): Use (nix-server-add-to-store-cache SERVER)
  instead of a weak hash table.

11 years agognu: Add libssh2.
Andreas Enge [Tue, 29 Jan 2013 22:02:22 +0000 (23:02 +0100)]
gnu: Add libssh2.

* gnu/packages/ssh.scm: New file.
* Makefile.am (MODULES): Add it.

11 years agognu: Add openldap.
Andreas Enge [Sat, 26 Jan 2013 19:31:37 +0000 (20:31 +0100)]
gnu: Add openldap.

* gnu/packages/openldap.scm: New file.
* Makefile.am (MODULE): Add it.

11 years agostore: Make `add-to-store' memoizing.
Ludovic Courtès [Mon, 28 Jan 2013 23:16:18 +0000 (00:16 +0100)]
store: Make `add-to-store' memoizing.

* guix/store.scm (add-to-store/cached): New variable.
  Use it as the new `add-to-store'.
  This reduces the number of RPCs when doing "guix-build gdb" from 5009
  to 3053, and the execution time from 7s to 3.9s.

11 years agognu: gdb: Update to 7.5.1.
Ludovic Courtès [Mon, 28 Jan 2013 21:48:15 +0000 (22:48 +0100)]
gnu: gdb: Update to 7.5.1.

* gnu/packages/gdb.scm (gdb): Update to 7.5.1.

11 years agobuild: Require Automake 1.12 or later.
Ludovic Courtès [Mon, 28 Jan 2013 20:26:00 +0000 (21:26 +0100)]
build: Require Automake 1.12 or later.

* configure.ac: Require Automake 1.12 or later.

11 years agoUpdate 'TODO'.
Nikita Karetnikov [Mon, 28 Jan 2013 07:13:19 +0000 (07:13 +0000)]
Update 'TODO'.

11 years agoguix-package: Add '--search'.
Nikita Karetnikov [Mon, 28 Jan 2013 06:29:10 +0000 (06:29 +0000)]
guix-package: Add '--search'.

* guix-package.in (find-packages-by-description): New procedure.
  (show-help, %options): Add '--search'.
  (guix-package)[process-query]: Add support for '--search'.
* doc/guix.texi (Invoking guix-package): Document it.
* tests/guix-package.sh: Add tests.

11 years agognu: automake: Update to 1.13.1.
Ludovic Courtès [Sun, 27 Jan 2013 21:52:21 +0000 (22:52 +0100)]
gnu: automake: Update to 1.13.1.

* gnu/packages/autotools.scm (automake): Update to 1.13.1.

11 years agognu: autoconf-wrapper: Fix "guile" input.
Ludovic Courtès [Sun, 27 Jan 2013 21:35:33 +0000 (22:35 +0100)]
gnu: autoconf-wrapper: Fix "guile" input.

* gnu/packages/autotools.scm (autoconf-wrapper): Remove `lambda' for
  "guile" input..

11 years agoguix-package: Always use the next number for new generations.
Ludovic Courtès [Sun, 27 Jan 2013 16:58:46 +0000 (17:58 +0100)]
guix-package: Always use the next number for new generations.

Suggested by Andreas Enge <andreas@enge.fr> at
<http://lists.gnu.org/archive/html/bug-guix/2013-01/msg00325.html>.

* guix-package.in (latest-profile-number): Remove.
  (switch-symlinks): New procedure.
  (roll-back)[switch-link]: Use it.
  (guix-package)[process-actions]: Always choose NUMBER + 1 for the new
  profile.  Use `switch-symlinks' instead of `symlink'.  Remove code to
  delete PROFILE when it exists since `switch-symlinks' has the same
  effect.
* tests/guix-package.sh: Adjust existing `--roll-back' tests.
* doc/guix.texi (Invoking guix-package): Document this `--roll-back'
  behavior.

11 years agoguix-package: When rolling back to nothingness, point to the empty profile.
Ludovic Courtès [Sun, 27 Jan 2013 16:18:55 +0000 (17:18 +0100)]
guix-package: When rolling back to nothingness, point to the empty profile.

Suggested by Andreas Enge <andreas@enge.fr> at
<http://lists.gnu.org/archive/html/bug-guix/2013-01/msg00316.html>.

* guix-package.in (roll-back): Check whether PROFILE is valid using
  `file-exists?'.  When NUMBER is zero, just emit a notice.  When
  PREVIOUS-NUMBER is zero and PREVIOUS-PROFILE does not exist, build the
  empty profile, and link to it.
* tests/guix-package.sh: Add tests.
* doc/guix.texi (Invoking guix-package): Document the new behavior.

11 years agoUpdate `TODO'.
Ludovic Courtès [Sat, 26 Jan 2013 23:59:04 +0000 (00:59 +0100)]
Update `TODO'.

11 years agoUpdate `AUTHORS' and `THANKS'.
Ludovic Courtès [Sat, 26 Jan 2013 23:55:51 +0000 (00:55 +0100)]
Update `AUTHORS' and `THANKS'.

11 years agognu: python: Remove unnecessary module import.
Ludovic Courtès [Sat, 26 Jan 2013 23:55:37 +0000 (00:55 +0100)]
gnu: python: Remove unnecessary module import.

* gnu/packages/python.scm: Remove use of (gnu packages base).

11 years agognu: Add irssi.
Cyril Roelandt [Sat, 26 Jan 2013 20:06:05 +0000 (21:06 +0100)]
gnu: Add irssi.

* gnu/packages/irssi.scm: New file.
* Makefile.am (MODULES): Add it.

11 years agognu: Add zip, unzip and zziplib.
Andreas Enge [Sat, 26 Jan 2013 13:24:06 +0000 (14:24 +0100)]
gnu: Add zip, unzip and zziplib.

* gnu/packages/zip.scm: New file.
* Makefile.am (MODULES): Add it.

11 years agognu: Add TECkit.
Andreas Enge [Fri, 25 Jan 2013 23:43:03 +0000 (00:43 +0100)]
gnu: Add TECkit.

* gnu/packages/freetype.scm (teckit): New variable.
* gnu/packages/patches/teckit-cstdio.patch: New file.
* Makefile.am (dist_patch_DATA): Add patch.

11 years agognu: Use `mirror://apache' where applicable.
Ludovic Courtès [Fri, 25 Jan 2013 20:50:32 +0000 (21:50 +0100)]
gnu: Use `mirror://apache' where applicable.

* gnu/packages/libapr.scm (libapr, libaprutil): Use `mirror://apache'.
* gnu/packages/subversion.scm (subversion): Likewise.

11 years agodownload: Add Apache mirrors.
Ludovic Courtès [Fri, 25 Jan 2013 20:49:49 +0000 (21:49 +0100)]
download: Add Apache mirrors.

* guix/download.scm (%mirrors): Add `apache'.

11 years agognu: Add Subversion.
Cyril Roelandt [Fri, 25 Jan 2013 19:42:52 +0000 (20:42 +0100)]
gnu: Add Subversion.

* gnu/packages/subversion.scm: New file.
* Makefile.am (MODULES): Add it.

11 years agognu: Add SQLite.
Ludovic Courtès [Fri, 25 Jan 2013 20:36:56 +0000 (21:36 +0100)]
gnu: Add SQLite.

* gnu/packages/sqlite.scm: New file.
* Makefile.am (MODULES): Add it.

11 years agodownload: Follow HTTP redirection upon 301 "moved permanently".
Ludovic Courtès [Fri, 25 Jan 2013 20:36:26 +0000 (21:36 +0100)]
download: Follow HTTP redirection upon 301 "moved permanently".

* guix/build/download.scm (http-fetch): Follow redirections upon 301.
  This is what `downloads.sourceforge.net' returns, for instance.

11 years agognu: Add libaprutil.
Cyril Roelandt [Fri, 25 Jan 2013 19:42:50 +0000 (20:42 +0100)]
gnu: Add libaprutil.

* gnu/packages/libapr: new variable.

11 years agognu: Add libapr.
Cyril Roelandt [Fri, 25 Jan 2013 19:42:49 +0000 (20:42 +0100)]
gnu: Add libapr.

* gnu/packages/libapr.scm: New file.
* gnu/packages/patches/libapr-skip-getservbyname-test.patch: New file
* Makefile.am: Add them

11 years agognu: fplll: Update to version 4.0.2.
Andreas Enge [Fri, 25 Jan 2013 09:50:30 +0000 (10:50 +0100)]
gnu: fplll: Update to version 4.0.2.

* gnu/packages/algebra.scm (fplll): Update to version 4.0.2.

11 years agognu: Add poppler.
Andreas Enge [Thu, 24 Jan 2013 22:02:38 +0000 (23:02 +0100)]
gnu: Add poppler.

* gnu/packages/pdf.scm: New file.
* Makefile.am (MODULES): Add it.

11 years agopackages: Mark the `inputs' field of <package> as thunked.
Ludovic Courtès [Thu, 24 Jan 2013 22:33:30 +0000 (23:33 +0100)]
packages: Mark the `inputs' field of <package> as thunked.

* guix/packages.scm (<package>)[inputs]: Mark as thunked.
  (package-derivation)[expand-input]: Remove case where the input is a
  procedure.
* tests/packages.scm ("trivial with system-dependent input"): Remove
  `lambda', and use (%current-system).
* gnu/packages/bootstrap.scm (package-from-tarball): Likewise for `inputs'.
  (%bootstrap-glibc, %bootstrap-gcc): Likewise.
* gnu/packages/scheme.scm (mit-scheme): Likewise.

11 years agoguix-package: Error out when passed a non-option argument.
Ludovic Courtès [Thu, 24 Jan 2013 21:00:54 +0000 (22:00 +0100)]
guix-package: Error out when passed a non-option argument.

* guix-package.in (guix-package)[parse-options]: Call `leave' when
  passed a non-option argument.
  Reported by Andreas Enge <andreas@enge.fr>.
* tests/guix-package.sh: Add test.

11 years agognu: Add t1lib.
Andreas Enge [Wed, 23 Jan 2013 21:56:04 +0000 (22:56 +0100)]
gnu: Add t1lib.

* gnu/packages/freetype.scm (t1lib): New variable.

11 years agognu: Add OCaml. licenses: Add QPL.
Cyril Roelandt [Wed, 23 Jan 2013 20:16:22 +0000 (21:16 +0100)]
gnu: Add OCaml. licenses: Add QPL.

* gnu/packages/ocaml.scm: New file.
* Makefile.am (MODULES): Add it.
* guix/licenses.scm: New variable.

11 years agopackages: Mark the `arguments' field of <package> as thunked.
Ludovic Courtès [Wed, 23 Jan 2013 22:21:59 +0000 (23:21 +0100)]
packages: Mark the `arguments' field of <package> as thunked.

* guix/packages.scm (<package>): Mark `arguments' as thunked.
  (package-derivation): Adjust accordingly.  Parameterize
  %CURRENT-SYSTEM to SYSTEM, so that arguments can refer to it.

* guix/build-system/gnu.scm (package-with-explicit-inputs): Expect
  `package-arguments' to always return a list, and return a list.
  (package-with-extra-configure-variable): Likewise.
  (static-package): Likewise.
* gnu/packages/base.scm (patch, findutils, gcc-4.7, binutils-boot0,
  gcc-boot0, glibc-final-with-bootstrap-bash, cross-gcc-wrapper,
  static-bash-for-glibc, binutils-final, gcc-final): Change `arguments'
  from a lambda to a list, and use (%current-system) as needed.
  (nix-system->gnu-triplet, boot-triplet): Have the first argument
  default to (%current-system).
* gnu/packages/bootstrap.scm (glibc-dynamic-linker): Have `system'
  default to (%current-system).
  (%bootstrap-gcc): Change `arguments' to a list.
* gnu/packages/gawk.scm (gawk): Likewise.
* gnu/packages/m4.scm (m4): Likewise.
* gnu/packages/make-bootstrap.scm (%glibc-for-bootstrap): Likewise, and
  expect `package-arguments' to return a list.
  (%static-inputs, %gcc-static, tarball-package): Likewise.
* gnu/packages/ncurses.scm (ncurses): Likewise.

11 years agoguix-build: Fix typo.
Ludovic Courtès [Wed, 23 Jan 2013 22:08:29 +0000 (23:08 +0100)]
guix-build: Fix typo.

* guix-build.in (guix-build)[find-package]: Use `x', not `_', to avoid
  confusion with `gettext'.

11 years agognu: Remove unnecessary closures around `arguments' value.
Ludovic Courtès [Wed, 23 Jan 2013 21:47:39 +0000 (22:47 +0100)]
gnu: Remove unnecessary closures around `arguments' value.

* gnu/packages/algebra.scm (pari-gp): Remove closure around the value of
  `arguments'.
* gnu/packages/bdb.scm (bdb): Likewise.
* gnu/packages/mit-krb5.scm (mit-krb5): Likewise.
* gnu/packages/openssl.scm (openssl): Likewise.
* gnu/packages/perl.scm (perl): Likewise.

11 years agodefine-record-type*: Add the `thunked' field definition keyword.
Ludovic Courtès [Wed, 23 Jan 2013 21:24:47 +0000 (22:24 +0100)]
define-record-type*: Add the `thunked' field definition keyword.

* guix/utils.scm (define-record-type*)[make-syntactic-constructor]: Add
  a `thunked' parameter.
  (thunked-field?, field-bindings): New procedures.  Use the latter when
  generating `letrec*' bindings.
  [thunked-field?, thunked-field-accessor-name, field-spec->srfi-9,
  thunked-field-accessor-name]: New procedures.
  Use them when generating the `define-record-type' form, and to
  generated thunk field accessors, along call to
  `make-syntactic-constructor' with the new argument.
* tests/utils.scm ("define-record-type* & thunked",
  "define-record-type* & thunked & default",
  "define-record-type* & thunked & inherited"): New tests.

11 years agodoc: Clarify that `guix-build' really is for developers.
Ludovic Courtès [Wed, 23 Jan 2013 15:45:36 +0000 (16:45 +0100)]
doc: Clarify that `guix-build' really is for developers.

* doc/guix.texi (Invoking guix-build): Make it clear that `guix-build'
  doesn't access the user's profile, and add cross-ref to `guix-package'.
  Suggested by Nikita Karetnikov <nikita@karetnikov.org>.

11 years agognu: Add fontconfig.
Andreas Enge [Wed, 23 Jan 2013 20:10:26 +0000 (21:10 +0100)]
gnu: Add fontconfig.

* gnu/packages/freetype.scm (fontconfig): New variable.

11 years agognu: libjpeg: Correct name of libjpeg-8 package to allow installation.
Andreas Enge [Mon, 21 Jan 2013 21:27:34 +0000 (22:27 +0100)]
gnu: libjpeg: Correct name of libjpeg-8 package to allow installation.

* gnu/packages/libjpeg (libjpeg-8): Switch name field to "libjpeg".

11 years agoUpdate `THANKS'.
Ludovic Courtès [Wed, 23 Jan 2013 14:36:11 +0000 (15:36 +0100)]
Update `THANKS'.

11 years agodoc: Improve wording and fix typos in "Features".
Ludovic Courtès [Wed, 23 Jan 2013 14:35:36 +0000 (15:35 +0100)]
doc: Improve wording and fix typos in "Features".

* doc/guix.texi (Features): Fix typos, and rephrase according to the
  suggestions of Alex Sassmannshausen <alex.sassmannshausen@gmail.com>.

11 years agognu: ghostscript: Build and install shared library and header files.
Andreas Enge [Tue, 22 Jan 2013 22:48:08 +0000 (23:48 +0100)]
gnu: ghostscript: Build and install shared library and header files.

* gnu/packages/ghostscript (ghostscript): Extend build and install phases.

11 years agoguix-package: Fix `--roll-back' when `--profile' is not passed.
Ludovic Courtès [Tue, 22 Jan 2013 21:35:16 +0000 (22:35 +0100)]
guix-package: Fix `--roll-back' when `--profile' is not passed.

* guix-package.in (roll-back): Fix file name of PREVIOUS-PROFILE, which
  could end up containing the dirname twice.
  Reported by Nikita and Andreas.
* tests/guix-package.sh: Add test.

11 years agoguix-build: Allow version-qualified package names.
Ludovic Courtès [Tue, 22 Jan 2013 21:13:10 +0000 (22:13 +0100)]
guix-build: Allow version-qualified package names.

* guix-build.in (guix-build)[find-package]: New procedure.
  Use it instead of using `find-packages-by-name' directly.
  Suggested by Andreas Enge <andreas@enge.fr>.
* tests/guix-build.sh: Add tests.
* doc/guix.texi (Invoking guix-build): Add `coreutils-8.20' as an
  example.  Fix guile-1.8 example.

11 years agoUpdate `ROADMAP'.
Ludovic Courtès [Mon, 21 Jan 2013 23:17:15 +0000 (00:17 +0100)]
Update `ROADMAP'.

11 years agognu: automake: Adjust test suite to lack of /bin/sh.
Ludovic Courtès [Mon, 21 Jan 2013 23:16:47 +0000 (00:16 +0100)]
gnu: automake: Adjust test suite to lack of /bin/sh.

* gnu/packages/autotools.scm (autoconf-wrapper): New variable.
  (automake): Use AUTOCONF-WRAPPER instead of AUTOCONF.
  Add `automake-skip-amhello-tests.patch' as an input.
  Add #:patches and #:phases arguments.
* gnu/packages/patches/automake-skip-amhello-tests.patch: New file.
* Makefile.am (dist_patch_DATA): Add it.

11 years agopackages: Remove redundant test for inputs-as-procedures.
Ludovic Courtès [Mon, 21 Jan 2013 23:14:04 +0000 (00:14 +0100)]
packages: Remove redundant test for inputs-as-procedures.

* guix/packages.scm (package-derivation)[expand-input]: Remove redundant
  test when the input is a procedure.

11 years agodoc: Add "The Perfect Setup" in 'HACKING'.
Ludovic Courtès [Mon, 21 Jan 2013 20:35:03 +0000 (21:35 +0100)]
doc: Add "The Perfect Setup" in 'HACKING'.

* HACKING (The Perfect Setup): New section.

11 years agognu: Add Geiser.
Ludovic Courtès [Mon, 21 Jan 2013 20:25:43 +0000 (21:25 +0100)]
gnu: Add Geiser.

* gnu/packages/emacs.scm (geiser): New variable.

11 years agognu: gnutls: Remove unneeded import.
Ludovic Courtès [Mon, 21 Jan 2013 20:25:17 +0000 (21:25 +0100)]
gnu: gnutls: Remove unneeded import.

* gnu/packages/gnutls.scm: Remove import of (gnu packages base).

11 years agognu: Add groff.
Andreas Enge [Mon, 21 Jan 2013 21:22:24 +0000 (22:22 +0100)]
gnu: Add groff.

* gnu/packages/groff.scm: New file.
* Makefile.am (MODULES): Add it.

11 years agognu: Add psutils.
Andreas Enge [Sun, 20 Jan 2013 22:26:11 +0000 (23:26 +0100)]
gnu: Add psutils.

* gnu/packages/ghostscript.scm (psutils): New variable.

11 years agognu: Add netpbm.
Andreas Enge [Sat, 19 Jan 2013 16:59:46 +0000 (17:59 +0100)]
gnu: Add netpbm.

* gnu/packages/netpbm.scm: New file.
* Makefile.am (MODULES): Add it.

11 years agognu: Add missing libevent patch.
Ludovic Courtès [Mon, 21 Jan 2013 07:53:14 +0000 (08:53 +0100)]
gnu: Add missing libevent patch.

* gnu/packages/patches/libevent-dns-tests.patch: New file.
* Makefile.am (dist_patch_DATA): Add it.

11 years agoUpdate 'HACKING'.
Nikita Karetnikov [Mon, 21 Jan 2013 03:06:54 +0000 (03:06 +0000)]
Update 'HACKING'.

* HACKING (When the platform is supported by Nixpkgs): Update the example.

11 years agognu: Add Tor.
Ludovic Courtès [Sun, 20 Jan 2013 22:21:04 +0000 (23:21 +0100)]
gnu: Add Tor.

* gnu/packages/tor.scm: New file.
* Makefile.am (MODULES): Add it.

11 years agoAugment `.gitignore'.
Ludovic Courtès [Sun, 20 Jan 2013 21:54:25 +0000 (22:54 +0100)]
Augment `.gitignore'.

11 years agoUpdate `NEWS'.
Ludovic Courtès [Sun, 20 Jan 2013 21:51:34 +0000 (22:51 +0100)]
Update `NEWS'.

* NEWS: Update.

11 years agognu: Add libevent.
Ludovic Courtès [Sun, 20 Jan 2013 21:47:19 +0000 (22:47 +0100)]
gnu: Add libevent.

* gnu/packages/libevent.scm: New file.
* Makefile.am (MODULES): Add it.

11 years agodownload: Add HTTPS support.
Ludovic Courtès [Sun, 20 Jan 2013 21:28:38 +0000 (22:28 +0100)]
download: Add HTTPS support.

* guix/build/download.scm: Autoload (gnutls).
  (tls-wrap): New procedure.
  (open-connection-for-uri): Add support for `https'.  Wrap the socket
  with `tls-wrap' in that case.
  (url-fetch): Add `https'.
* guix/download.scm (gnutls-derivation): New procedure.
  (url-fetch)[need-gnutls?]: New variable.
  Call `gnutls-derivation' when NEED-GNUTLS? is true, and add its output
  to the `GUILE_LOAD_PATH' env. var. in that case.

11 years agopackages: Have `package-derivation' return a <derivation> as a second value.
Ludovic Courtès [Sun, 20 Jan 2013 21:17:58 +0000 (22:17 +0100)]
packages: Have `package-derivation' return a <derivation> as a second value.

* guix/packages.scm (cache): Change the `drv' argument to `thunk'.
  Memoize all the return values of THUNK.
  (cached-derivation): Remove.
  (cached): New macro.
  (package-derivation): Use `cached' instead of `(or (cached-derivation) …)'.
* doc/guix.texi (Defining Packages): Update accordingly.

11 years agognu: mit-krb5: Patch and enable tests.
Andreas Enge [Sun, 20 Jan 2013 21:29:55 +0000 (22:29 +0100)]
gnu: mit-krb5: Patch and enable tests.

* gnu/packages/mit-krb5.scm (mit-krb5): Enable patched tests.

11 years agoUpdate `THANKS'.
Ludovic Courtès [Sun, 20 Jan 2013 14:46:17 +0000 (15:46 +0100)]
Update `THANKS'.

11 years agodoc: Run `useradd -g guix-builder -G guix-builder'.
Ludovic Courtès [Sun, 20 Jan 2013 14:45:14 +0000 (15:45 +0100)]
doc: Run `useradd -g guix-builder -G guix-builder'.

* doc/guix.texi (Setting Up the Daemon): Add `-G guix-builder' when
  invoking `useradd'.
  Suggested by Aleix Conchillo Flaqué <aconchillo@gmail.com>.

11 years agognu: screen: correct license to gpl2+
Andreas Enge [Sun, 20 Jan 2013 11:29:09 +0000 (12:29 +0100)]
gnu: screen: correct license to gpl2+

* gnu/packages/screen.scm (screen): correct license field