jackhill/guix/guix.git
10 years agostore: Add 'with-store' convenience macro.
Ludovic Courtès [Sun, 19 Jan 2014 22:03:43 +0000 (23:03 +0100)]
store: Add 'with-store' convenience macro.

* guix/store.scm (with-store): New macro.

10 years agohash: Add 'open-sha256-input-port', for Guile > 2.0.9.
Ludovic Courtès [Sun, 19 Jan 2014 17:16:28 +0000 (18:16 +0100)]
hash: Add 'open-sha256-input-port', for Guile > 2.0.9.

* guix/hash.scm (open-sha256-input-port): New procedure.
* tests/hash.scm (supports-unbuffered-cbip?): New procedure.
  ("open-sha256-input-port, empty", "open-sha256-input-port, hello",
  "open-sha256-input-port, hello, one two",
  "open-sha256-input-port, hello, read from wrapped port"): New tests.

10 years agopki: Factorize signature manipulation procedures.
Ludovic Courtès [Thu, 23 Jan 2014 21:23:22 +0000 (22:23 +0100)]
pki: Factorize signature manipulation procedures.

* guix/pki.scm (signature-subject, signature-signed-data,
  valid-signature?): New procedures.
* guix/scripts/authenticate.scm (guix-authenticate): Adjust to use
  them.

10 years agoutils: Add 'fcntl-flock'.
Ludovic Courtès [Fri, 10 Jan 2014 22:27:39 +0000 (23:27 +0100)]
utils: Add 'fcntl-flock'.

* guix/utils.scm (%struct-flock, F_SETLKW, F_xxLCK): New variables.
  (fcntl-flock): New procedure.
* tests/utils.scm ("fcntl-flock"): New test.

10 years agostore: Add 'register-path' procedure.
Ludovic Courtès [Sat, 11 Jan 2014 16:11:14 +0000 (17:11 +0100)]
store: Add 'register-path' procedure.

* guix/store.scm (register-path): New procedure.
* tests/store.scm ("register-path"): New test.
* guix/config.scm.in (%guix-register-program): New variable.
* configure.ac: Compute and substitute 'guix_sbindir'.  Compute
  'guix_prefix'.
* pre-inst-env.in: Define 'GUIX_REGISTER'.

10 years agoguix-register: Support registration in the current store, without '--prefix'.
Ludovic Courtès [Sat, 11 Jan 2014 15:55:04 +0000 (16:55 +0100)]
guix-register: Support registration in the current store, without '--prefix'.

* nix/guix-register/guix-register.cc (register_validity): Leave
  'info.path' unmodified when PREFIX is empty.
  (main): Call 'settings.processEnvironment' early on.
  Leave 'settings.nixStore' unmodified when PREFIX is empty.

10 years agostore: Add comments for the %stderr constants.
Ludovic Courtès [Thu, 9 Jan 2014 22:59:07 +0000 (23:59 +0100)]
store: Add comments for the %stderr constants.

* guix/store.scm (process-stderr): Add comments for the various
  constants, to help when stracing.

10 years agoui: Filter out internal commands from '--help'.
Ludovic Courtès [Mon, 6 Jan 2014 22:31:17 +0000 (23:31 +0100)]
ui: Filter out internal commands from '--help'.

* guix/ui.scm (show-guix-help)[internal?]: New procedure.
  Use it to filter out internal commands reported by '--help'.

10 years agognu: Rename (gnu packages oggvorbis) to (gnu packages xiph).
Andreas Enge [Thu, 23 Jan 2014 18:05:09 +0000 (19:05 +0100)]
gnu: Rename (gnu packages oggvorbis) to (gnu packages xiph).

* gnu/packages/oggvorbis.scm: Rename this ...
* gnu/packages/xiph.scm: ... to this. Adjust module name accordingly.
* gnu-system.am (GNU_SYSTEM_MODULES): Update.
* gnu/packages/{gnunet.scm, libcanberra.scm, mp3.scm, pulseaudio.scm, sdl.scm,
    video.scm}: Use new module name.

10 years agognu: sqlite: Upgrade to 3.8.2.
Sree Harsha Totakura [Wed, 22 Jan 2014 17:00:09 +0000 (18:00 +0100)]
gnu: sqlite: Upgrade to 3.8.2.

* gnu/packages/sqlite.scm (sqlite): Upgrade to 3.8.2.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
10 years agognu: guile-2.0: Switch to libgc 7.4.0.
Ludovic Courtès [Wed, 22 Jan 2014 22:45:44 +0000 (23:45 +0100)]
gnu: guile-2.0: Switch to libgc 7.4.0.

* gnu/packages/guile.scm (guile-2.0): Use LIBGC-7.4.
  (guile-2.0/fixed): Keep using LIBGC.

10 years agognu: Add libatomic_ops 7.4.0 and libgc 7.4.0.
Ludovic Courtès [Wed, 22 Jan 2014 22:44:20 +0000 (23:44 +0100)]
gnu: Add libatomic_ops 7.4.0 and libgc 7.4.0.

* gnu/packages/bdw-gc.scm (libatomic-ops, libgc-7.4): New variables.

10 years agognu: libgc: Explicitly mark license as 'x11-style'.
Ludovic Courtès [Wed, 22 Jan 2014 22:15:07 +0000 (23:15 +0100)]
gnu: libgc: Explicitly mark license as 'x11-style'.

* gnu/packages/bdw-gc.scm (libgc)[license]: Use 'x11-style'.

10 years agognu: isc-dhcp: Fix license.
Ludovic Courtès [Tue, 21 Jan 2014 23:25:43 +0000 (00:25 +0100)]
gnu: isc-dhcp: Fix license.

* gnu/packages/admin.scm (isc-dhcp): Change license to ISC.

10 years agognu: gnubik: Synchornize synopsis and description.
Ludovic Courtès [Tue, 21 Jan 2014 23:22:16 +0000 (00:22 +0100)]
gnu: gnubik: Synchornize synopsis and description.

* gnu/packages/games.scm (gnubik): Synchornize synopsis and description.

10 years agognu: Add GNU V.E.R.A.
Ludovic Courtès [Tue, 21 Jan 2014 23:21:19 +0000 (00:21 +0100)]
gnu: Add GNU V.E.R.A.

* gnu/packages/dictionaries.scm: New file.
* gnu-system.am (GNU_SYSTEM_MODULES): Add it.

10 years agolicenses: Add GNU FDL 1.3+.
Ludovic Courtès [Tue, 21 Jan 2014 23:20:40 +0000 (00:20 +0100)]
licenses: Add GNU FDL 1.3+.

* guix/licenses.scm (fdl1.3+): New variable.

10 years agognu: glib: Upgrade to 2.39.1.
Ludovic Courtès [Mon, 20 Jan 2014 00:06:22 +0000 (01:06 +0100)]
gnu: glib: Upgrade to 2.39.1.

* gnu/packages/glib.scm (glib): Upgrade to 2.39.1.  Run tests
  sequentially.
* gnu/packages/patches/glib-tests-desktop.patch: Adjust for 2.39.1.  Add
  hunk for gsettings.c.

10 years agodoc: List what's in the chroot.
Ludovic Courtès [Sat, 18 Jan 2014 21:04:30 +0000 (22:04 +0100)]
doc: List what's in the chroot.

* doc/guix.texi (Setting Up the Daemon): List what's in the chroot.

10 years agoUpdate 'nix-upstream' sub-module; adjust build system, doc, and substituter.
Ludovic Courtès [Sat, 18 Jan 2014 15:48:29 +0000 (16:48 +0100)]
Update 'nix-upstream' sub-module; adjust build system, doc, and substituter.

* nix-upstream: Update sub-module.
* daemon.am (libutil_a_SOURCES): Add affinity.cc.
  (libutil_headers): Add affinity.hh.
  (libexec_PROGRAMS, nix_setuid_helper_SOURCES,
  nix_setuid_helper_CPPFLAGS, nix_setuid_helper_LDADD): Remove.
* doc/guix.texi (Setting Up the Daemon): Remove paragraph about
  'nix-setuid-helper'.
* guix/scripts/substitute-binary.scm (guix-substitute-binary): Exit 0 when
  %CACHE-URL has an HTTP scheme and looking up its host fails.
  Always print a newline to stdout when starting.

10 years agolinux-initrd: Make /dev/{null,zero} world-writable.
Ludovic Courtès [Sat, 18 Jan 2014 14:08:33 +0000 (15:08 +0100)]
linux-initrd: Make /dev/{null,zero} world-writable.

Reported by zerwas on #guix.

* guix/build/linux-initrd.scm (make-essential-device-nodes): Make
  /dev/null and /dev/zero world-writable.

10 years agognu: mesa: Propagate input.
Andreas Enge [Sat, 18 Jan 2014 14:14:00 +0000 (15:14 +0100)]
gnu: mesa: Propagate input.

* gnu/packages/gl.scm (mesa): Propagate input libx11.

10 years agohydra: Add debugging for the Guix job set.
Ludovic Courtès [Sat, 18 Jan 2014 13:41:33 +0000 (14:41 +0100)]
hydra: Add debugging for the Guix job set.

* build-aux/hydra/guix.scm: Set '%load-verbosely'.

10 years agognu: gl: Correct copyright notice.
Andreas Enge [Sat, 18 Jan 2014 13:15:39 +0000 (14:15 +0100)]
gnu: gl: Correct copyright notice.
* gnu/packages/gl.scm: Add copyright notice for mesa, moved here from
    module xorg in commit 200726e.

10 years agognu: Add DocBook DTD and XSL style sheets.
Ludovic Courtès [Fri, 17 Jan 2014 22:47:31 +0000 (23:47 +0100)]
gnu: Add DocBook DTD and XSL style sheets.

* gnu/packages/docbook.scm: New file.
* gnu-system.am (GNU_SYSTEM_MODULES): Add it.

10 years agodoc: Distinguish between (gnu packages ...) and "GNU packages".
Ludovic Courtès [Fri, 17 Jan 2014 21:52:10 +0000 (22:52 +0100)]
doc: Distinguish between (gnu packages ...) and "GNU packages".

* doc/guix.texi (Package Modules): Add a footnote stating that (gnu
  packages ...) has nothing to do with "GNU packages."

10 years agoui: Update copyright year in '--version' output.
Ludovic Courtès [Fri, 17 Jan 2014 21:49:42 +0000 (22:49 +0100)]
ui: Update copyright year in '--version' output.

* guix/ui.scm (show-version-and-exit): Increment copyright year.

10 years agognu: Add libexif, libgphoto2, and gphoto2.
Ludovic Courtès [Wed, 15 Jan 2014 21:47:55 +0000 (22:47 +0100)]
gnu: Add libexif, libgphoto2, and gphoto2.

* gnu/packages/photo.scm: New file.
* gnu-system.am (GNU_SYSTEM_MODULES): Add it.

10 years agognu: pspp: Upgrade to 0.8.2
John Darrington [Wed, 15 Jan 2014 17:50:10 +0000 (18:50 +0100)]
gnu: pspp: Upgrade to 0.8.2

* gnu/packages/maths.scm (pspp): Update to 0.8.2.
* gnu/packages/patches/pspp-tests.patch: Deleted.
* gnu-system.am: Removed pspp-tests.patch from the manifest.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
10 years agognu: git: 'git-submodule' works even if Perl is not in $PATH.
Ludovic Courtès [Wed, 15 Jan 2014 12:06:50 +0000 (13:06 +0100)]
gnu: git: 'git-submodule' works even if Perl is not in $PATH.

* gnu/packages/version-control.scm (git): Add 'native-inputs' field;
  move Gettext there from 'inputs'.  In 'split' phase, wrap the
  'git-submodule' script.

10 years agognu: valgrind: Update to 2.9.0.
Andreas Enge [Wed, 15 Jan 2014 14:11:57 +0000 (15:11 +0100)]
gnu: valgrind: Update to 2.9.0.

* gnu/packages/valgrind.scm (valgrind): Update to 2.9.0.

10 years agoUpdate 'sr.po'.
Ludovic Courtès [Tue, 14 Jan 2014 23:24:46 +0000 (00:24 +0100)]
Update 'sr.po'.

10 years agognu: Add Taylor UUCP.
Ludovic Courtès [Tue, 14 Jan 2014 23:15:55 +0000 (00:15 +0100)]
gnu: Add Taylor UUCP.

* gnu/packages/uucp.scm: New file.
* gnu-system.am (GNU_SYSTEM_MODULES): Add it.

10 years agognu: inetutils: Upgrade to 1.9.2.
Ludovic Courtès [Tue, 14 Jan 2014 08:11:13 +0000 (09:11 +0100)]
gnu: inetutils: Upgrade to 1.9.2.

* gnu/packages/admin.scm (inetutils): Upgrade to 1.9.2.  Add Readline
  as an input.

10 years agodoc: Fix another reference to (gnu packages admin).
Ludovic Courtès [Tue, 14 Jan 2014 08:00:29 +0000 (09:00 +0100)]
doc: Fix another reference to (gnu packages admin).

* doc/guix.texi (Using the Configuration System): Change module name
  to (gnu packages admin).

10 years agognu: Add mpc123.
Ludovic Courtès [Mon, 13 Jan 2014 23:14:12 +0000 (00:14 +0100)]
gnu: Add mpc123.

* gnu/packages/mp3.scm (libmpcdec, mpc123): New variables.

10 years agognu: Changes references to (gnu packages admin).
Ludovic Courtès [Mon, 13 Jan 2014 22:21:47 +0000 (23:21 +0100)]
gnu: Changes references to (gnu packages admin).

* gnu/packages/version-control.scm, gnu/packages/vim.scm,
  gnu/system.scm, gnu/system/dmd.scm, gnu/system/shadow.scm,
  gnu/system/vm.scm: Change references to (gnu packages system) to (gnu
  packages admin).
  This is a followup to commit 4aeea89.

10 years agognu: Rename (gnu packages system) to (gnu packages admin).
Ludovic Courtès [Mon, 13 Jan 2014 20:32:39 +0000 (21:32 +0100)]
gnu: Rename (gnu packages system) to (gnu packages admin).

* gnu/packages/system.scm: Rename to...
* gnu/packages/admin.scm: ... this.  Adjust module name accordingly.
* gnu-system.am (GNU_SYSTEM_MODULES): Update.

10 years agognu: Add ISC's DHCP implementation.
Ludovic Courtès [Mon, 13 Jan 2014 20:27:57 +0000 (21:27 +0100)]
gnu: Add ISC's DHCP implementation.

* gnu/packages/system.scm (isc-dhcp): New variable.

10 years agognu: Add libtirpc.
Ludovic Courtès [Mon, 13 Jan 2014 17:53:26 +0000 (18:53 +0100)]
gnu: Add libtirpc.

* gnu/packages/onc-rpc.scm: New file.
* gnu-system.am (GNU_SYSTEM_MODULES): Add it.

10 years agoguix package: Gracefully handle EPIPE on '--search'.
Ludovic Courtès [Mon, 13 Jan 2014 17:51:07 +0000 (18:51 +0100)]
guix package: Gracefully handle EPIPE on '--search'.

* guix/scripts/package.scm (guix-package): Wrap body of 'search' in
  'leave-on-EPIPE'.

10 years agoui: Don't use hyphens in 'package->recutils' output.
Ludovic Courtès [Mon, 13 Jan 2014 17:49:26 +0000 (18:49 +0100)]
ui: Don't use hyphens in 'package->recutils' output.

* guix/ui.scm (package->recutils): Rename recutils field from
  'home-page' to 'homepage'.

10 years agognu: Add aumix.
Ludovic Courtès [Mon, 13 Jan 2014 17:47:59 +0000 (18:47 +0100)]
gnu: Add aumix.

* gnu/packages/linux.scm (aumix): New variable.

10 years agognu: Add GnuPG's pinentry.
Ludovic Courtès [Mon, 13 Jan 2014 17:47:31 +0000 (18:47 +0100)]
gnu: Add GnuPG's pinentry.

* gnu/packages/gnupg.scm (pinentry): New variable.

10 years agognu: guile-ssh: Remove now unneeded cruft.
Ludovic Courtès [Sun, 12 Jan 2014 23:37:16 +0000 (00:37 +0100)]
gnu: guile-ssh: Remove now unneeded cruft.

* gnu/packages/ssh.scm (guile-ssh): Remove libssh version hack from
  'autoreconf' phase.

10 years agognu: Add Aspell dictionaries.
Ludovic Courtès [Sun, 12 Jan 2014 21:44:39 +0000 (22:44 +0100)]
gnu: Add Aspell dictionaries.

* gnu/packages/aspell.scm (aspell-dictionary): New procedure.
  (aspell-dict-en, aspell-dict-eo, aspell-dict-es, aspell-dict-fr): New
  variables.

10 years agoconfig: '%store-directory' always honors $NIX_STORE_DIR.
Ludovic Courtès [Wed, 8 Jan 2014 20:37:06 +0000 (21:37 +0100)]
config: '%store-directory' always honors $NIX_STORE_DIR.

* guix/config.scm.in (%store-directory): Honor $NIX_STORE_DIR.
* guix/store.scm (%store-prefix): Use %store-directory directly.

10 years agoconfig: '%state-directory' always honors $NIX_STATE_DIR.
Ludovic Courtès [Wed, 8 Jan 2014 20:12:55 +0000 (21:12 +0100)]
config: '%state-directory' always honors $NIX_STATE_DIR.

* guix/config.scm.in (%state-directory): Honor $NIX_STATE_DIR.
* guix/scripts/package.scm (%profile-directory): Use %state-directory
  directly.
* guix/store.scm (%default-socket-path, log-file): Likewise.

10 years agostore: Fix 'log-file' to support uncompressed logs.
Ludovic Courtès [Wed, 8 Jan 2014 18:23:33 +0000 (19:23 +0100)]
store: Fix 'log-file' to support uncompressed logs.

* guix/store.scm (log-file): Report the file without '.bz2' if it
  exists.

10 years agoarchive: Add '--missing'.
Ludovic Courtès [Mon, 6 Jan 2014 21:25:29 +0000 (22:25 +0100)]
archive: Add '--missing'.

* guix/scripts/archive.scm (show-help, %options): Add '--missing'.
  (guix-archive)[lines]: New procedure.
  Use it to honor '--missing'.
* tests/guix-archive.sh: Add tests.
* doc/guix.texi (Invoking guix archive): Document '--missing'.

10 years agognu: lsh: Move generic patching to 'snippet'.
Ludovic Courtès [Sun, 5 Jan 2014 22:46:45 +0000 (23:46 +0100)]
gnu: lsh: Move generic patching to 'snippet'.

* gnu/packages/lsh.scm (lsh): Move generic patching to the 'snippet'
  field of 'origin'.

10 years agoarchive: Make sure $sysconfdir/guix exists.
Ludovic Courtès [Sun, 5 Jan 2014 22:40:06 +0000 (23:40 +0100)]
archive: Make sure $sysconfdir/guix exists.

* guix/pki.scm (ensure-acl): Make sure the directory of %ACL-FILE
  exists.
* guix/scripts/archive.scm (generate-key-pair): Likewise for
  %PUBLIC-KEY-FILE.

10 years agoguix build: Add '--no-build-hook'.
Ludovic Courtès [Sun, 5 Jan 2014 21:58:32 +0000 (22:58 +0100)]
guix build: Add '--no-build-hook'.

* guix/scripts/build.scm (%default-options): Add 'build-hook?' pair.
  (show-help, %options): Add --no-build-hook.
  (guix-build): Pass the 'build-hook?' value to 'set-build-options'.
* doc/guix.texi (Invoking guix build): Document '--no-build-hook'.

10 years agoguix package: Gracefully deal with EPIPE on stdout for --list-*.
Ludovic Courtès [Sat, 4 Jan 2014 21:42:42 +0000 (22:42 +0100)]
guix package: Gracefully deal with EPIPE on stdout for --list-*.

* guix/scripts/package.scm (leave-on-EPIPE): New macro.
  (guix-package): Use it for 'list-installed', 'list-available', and
  '--list-generations'.
* tests/guix-package.sh: Add test.

10 years agognu: lsh: Fix the absolute file name of 'sexp-conv'.
Ludovic Courtès [Sat, 4 Jan 2014 16:27:41 +0000 (17:27 +0100)]
gnu: lsh: Fix the absolute file name of 'sexp-conv'.

* gnu/packages/lsh.scm (lsh): Rename 'fix-test-suite' phase to
  'pre-configure'.  Set PATH_SEXP_CONV in environ.h.in.

10 years agognu: nettle: Set the RUNPATH on 'sexp-conv' and other programs.
Ludovic Courtès [Sat, 4 Jan 2014 15:59:46 +0000 (16:59 +0100)]
gnu: nettle: Set the RUNPATH on 'sexp-conv' and other programs.

* gnu/packages/nettle.scm (nettle): Rename 'inputs' to 'native-inputs'.
  Add 'arguments' field.

10 years agognu: lsh: Distinguish between native inputs and target inputs.
Ludovic Courtès [Sat, 4 Jan 2014 15:44:51 +0000 (16:44 +0100)]
gnu: lsh: Distinguish between native inputs and target inputs.

* gnu/packages/lsh.scm (lsh): Move M4, Guile, gperf, and psmisc to
  'native-inputs'.  Use GUILE-2.0 instead of GUILE-FINAL.

10 years agodoc: Update 'ROADMAP'.
Ludovic Courtès [Fri, 3 Jan 2014 17:19:58 +0000 (18:19 +0100)]
doc: Update 'ROADMAP'.

* ROADMAP: Add link to the updated road map, and the a note on release
  history.

10 years agoThank Niels.
Ludovic Courtès [Fri, 3 Jan 2014 15:51:30 +0000 (16:51 +0100)]
Thank Niels.

10 years agognu: pulseaudio: Add patch for 'volume-test'; re-enable tests.
Ludovic Courtès [Fri, 3 Jan 2014 15:47:19 +0000 (16:47 +0100)]
gnu: pulseaudio: Add patch for 'volume-test'; re-enable tests.

* gnu/packages/patches/pulseaudio-volume-test.patch: New file.
* gnu-system.am (dist_patch_DATA): Add it.
* gnu/packages/pulseaudio.scm (pulseaudio): Use it.  Remove
  #:tests? #t.

10 years agognu: games: Add new package gnubg
John Darrington [Mon, 30 Dec 2013 18:33:53 +0000 (19:33 +0100)]
gnu: games: Add new package gnubg

* gnu/packages/games.scm (gnubg): New variable

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
10 years agognu: libgcrypt: Add "debug" output.
Ludovic Courtès [Mon, 30 Dec 2013 22:22:08 +0000 (23:22 +0100)]
gnu: libgcrypt: Add "debug" output.

* gnu/packages/gnupg.scm (libgcrypt): Add 'outputs' field.

10 years agoarchive: Add '--authorize'.
Ludovic Courtès [Mon, 30 Dec 2013 22:18:52 +0000 (23:18 +0100)]
archive: Add '--authorize'.

* guix/scripts/archive.scm (authorize-key): New procedure.
  (guix-archive): Call it when OPTS contains 'authorize-key'.
* tests/guix-archive.sh: Add test with invalid public key.
* guix/pki.scm: Export '%acl-file'.
* doc/guix.texi (Invoking guix archive): Make it clear that '--import'
  works only with authorized keys.  Document '--authorize'.

10 years agoarchive: Add '--generate-key'.
Ludovic Courtès [Mon, 30 Dec 2013 21:46:21 +0000 (22:46 +0100)]
archive: Add '--generate-key'.

* guix/pk-crypto.scm (error-source, error-string): New procedures.
* guix/pki.scm (%private-key-file): New variable.
* guix/scripts/archive.scm (show-help): Document '--generate-key'.
  (%options): Add "generate-key".
  (generate-key-pair): New procedure.
  (guix-archive): Call 'generate-key' when OPTS contains a
  'generate-key' pair.
* doc/guix.texi (Setting Up the Daemon): Suggest generating a key pair.
  (Invoking guix archive): Document '--generate-key'.

10 years agopk-crypto: Fix 'canonical-sexp->sexp' for atoms.
Ludovic Courtès [Mon, 30 Dec 2013 21:29:12 +0000 (22:29 +0100)]
pk-crypto: Fix 'canonical-sexp->sexp' for atoms.

* guix/pk-crypto.scm (canonical-sexp->sexp): Add hack to extract an
  atom's buffer.
* tests/pk-crypto.scm ("sexp->canonical-sexp->sexp"): Add sample.

10 years agopk-crypto: Work around Libgcrypt bug <https://bugs.g10code.com/gnupg/issue1594>.
Ludovic Courtès [Mon, 30 Dec 2013 21:19:19 +0000 (22:19 +0100)]
pk-crypto: Work around Libgcrypt bug <https://bugs.g10code.com/gnupg/issue1594>.

* guix/pk-crypto.scm (canonical-sexp-fold): Call 'nth-data' before
  'nth' to work around <https://bugs.g10code.com/gnupg/issue1594>.
* tests/pk-crypto.scm ("https://bugs.g10code.com/gnupg/issue1594"): New
  test.

10 years agoauthenticate: Consistently use 'leave' for fatal error reporting.
Ludovic Courtès [Mon, 30 Dec 2013 17:23:44 +0000 (18:23 +0100)]
authenticate: Consistently use 'leave' for fatal error reporting.

* guix/scripts/authenticate.scm (guix-authenticate): Replace all uses of
  'format' + 'exit' with 'leave'.

10 years agoThank Kete.
Ludovic Courtès [Mon, 30 Dec 2013 15:57:05 +0000 (16:57 +0100)]
Thank Kete.

10 years agognu: mesa: Move out of xorg.scm and into gl.scm
John Darrington [Sat, 28 Dec 2013 08:10:46 +0000 (09:10 +0100)]
gnu: mesa: Move out of xorg.scm and into gl.scm

* gnu/packages/xorg.scm (mesa): Move to...
* gnu/packages/gl.scm (mesa): ... here.  New variable.
* gnu/packages/gnome.scm, gnu/packages/gnuzilla.scm,
  gnu/packages/qemu.scm, gnu/packages/qt.scm: Adjust accordingly.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
10 years agodoc: Invoke 'useradd' with '--system'.
Ludovic Courtès [Mon, 30 Dec 2013 15:47:32 +0000 (16:47 +0100)]
doc: Invoke 'useradd' with '--system'.

Reported by Kete <kete@ninthfloor.org>.
Fixes <http://bugs.gnu.org/16289>.

* doc/guix.texi (Setting Up the Daemon): Add '--system' to the 'useradd'
  command line.  Suggested by Kete <kete@ninthfloor.org>.

10 years agognu: automake: Upgrade to 1.14.1.
Ludovic Courtès [Sun, 29 Dec 2013 21:44:23 +0000 (22:44 +0100)]
gnu: automake: Upgrade to 1.14.1.

* gnu/packages/autotools.scm (automake): Upgrade to 1.14.1.

10 years agognu: gdbm: Upgrade to 1.11.
Ludovic Courtès [Sun, 29 Dec 2013 21:22:09 +0000 (22:22 +0100)]
gnu: gdbm: Upgrade to 1.11.

* gnu/packages/gdbm.scm (gdbm): Upgrade to 1.11.

10 years agobuild: Improve documentation of Nix-related options.
Ludovic Courtès [Sun, 29 Dec 2013 18:53:05 +0000 (19:53 +0100)]
build: Improve documentation of Nix-related options.

* configure.ac: Add documentation for --with-nix and --with-nixpkgs.

10 years agognu: games: New module
John Darrington [Sat, 28 Dec 2013 07:19:43 +0000 (08:19 +0100)]
gnu: games: New module

* gnu/packages/games.scm (gnubik): New variable

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
10 years agognu: gnome: Add new package gtkglext
John Darrington [Sat, 28 Dec 2013 07:19:42 +0000 (08:19 +0100)]
gnu: gnome: Add new package gtkglext

* gnu/packages/gnome.scm (gtkglext): New variable.
* gnu/packages/patches/gtkglext-disable-disable-deprecated.patch,
  gnu/packages/patches/gtkglext-remove-pangox-dependency.patch: New
  files.
* gnu-system.am (dist_patch_DATA): Add them.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
10 years agoauthenticate: Disallow imports signed with unauthorized keys.
Ludovic Courtès [Sun, 29 Dec 2013 14:55:38 +0000 (15:55 +0100)]
authenticate: Disallow imports signed with unauthorized keys.

* guix/scripts/authenticate.scm (signature-sexp): Remove.
  (guix-authenticate): Upon '-verify', check whether the signature's
  public key passes 'authorized-key?'.

10 years agoAdd (guix pki).
Ludovic Courtès [Sun, 29 Dec 2013 14:53:49 +0000 (15:53 +0100)]
Add (guix pki).

* guix/pki.scm, tests/pki.scm: New files.
* Makefile.am (MODULES): Add 'guix/pki.scm'.
  (SCM_TESTS): Add 'tests/pki.scm'.

10 years agoconfig: Export '%config-directory'.
Ludovic Courtès [Sun, 29 Dec 2013 14:52:50 +0000 (15:52 +0100)]
config: Export '%config-directory'.

* configure.ac: Define and substitute 'guix_sysconfdir'.
* guix/config.scm.in (%config-directory): New variable.

10 years agoMove 'with-atomic-file-output' to (guix utils).
Ludovic Courtès [Sun, 29 Dec 2013 14:51:07 +0000 (15:51 +0100)]
Move 'with-atomic-file-output' to (guix utils).

* guix/scripts/substitute-binary.scm (with-atomic-file-output): Move to...
* guix/utils.scm (with-atomic-file-output): ... here.

10 years agopk-crypto: Add canonical-sexp to sexp conversion procedures.
Ludovic Courtès [Sat, 28 Dec 2013 15:16:00 +0000 (16:16 +0100)]
pk-crypto: Add canonical-sexp to sexp conversion procedures.

* guix/pk-crypto.scm (canonical-sexp-fold, canonical-sexp->sexp,
  sexp->canonical-sexp): New procedures.
* tests/pk-crypto.scm ("canonical-sexp->sexp",
  "sexp->canonical-sexp->sexp"): New tests.

10 years agopk-crypto: Add 'canonical-sexp-length' and related procedures.
Ludovic Courtès [Sat, 28 Dec 2013 14:47:35 +0000 (15:47 +0100)]
pk-crypto: Add 'canonical-sexp-length' and related procedures.

* guix/pk-crypto.scm (canonical-sexp-length, canonical-sexp-null?,
  canonical-sexp-list?): New procedures.
* tests/pk-crypto.scm ("canonical-sexp-length", "canonical-sexp-list?"):
  New tests.

10 years agopk-crypto: 'canonical-sexp-nth-data' returns a symbol for "tokens".
Ludovic Courtès [Sat, 28 Dec 2013 14:41:48 +0000 (15:41 +0100)]
pk-crypto: 'canonical-sexp-nth-data' returns a symbol for "tokens".

* guix/pk-crypto.scm (token-string?): New procedure.
  (canonical-sexp-nth-data): Return a symbol when the element is a
  "token", and a bytevector otherwise.
  (latin1-string->bytevector): Remove.
  (hash-data->bytevector): Adjust accordingly.
* tests/pk-crypto.scm ("canonical-sexp-nth"): Adjust accordingly.  Add
  octet string example.

10 years agoauthenticate: Store the public key as part of the signature.
Ludovic Courtès [Fri, 27 Dec 2013 23:42:07 +0000 (00:42 +0100)]
authenticate: Store the public key as part of the signature.

* guix/scripts/authenticate.scm (signature-sexp): New procedure.
  (guix-authenticate): Use it to produce the signature.  Adjust
  verification code accordingly.
* tests/store.scm ("import corrupt path"): Adjust test accordingly.

10 years agopk-crypto: Rename 'gcry-sexp' to 'canonical-sexp'.
Ludovic Courtès [Fri, 27 Dec 2013 22:32:26 +0000 (23:32 +0100)]
pk-crypto: Rename 'gcry-sexp' to 'canonical-sexp'.

* guix/pk-crypto.scm: Rename procedures, variables, etc. from
  'gcry-sexp' to 'canonical-sexp'.  Add comment with references.
* guix/scripts/authenticate.scm, tests/pk-crypto.scm: Adjust
  accordingly.

10 years agognu: python: Update to 3.3.3.
Andreas Enge [Sat, 28 Dec 2013 14:41:01 +0000 (15:41 +0100)]
gnu: python: Update to 3.3.3.

* gnu/packages/python.scm (python): Update to 3.3.3.

10 years agognu: python-2: Update to 2.7.6.
Andreas Enge [Sat, 28 Dec 2013 14:24:08 +0000 (15:24 +0100)]
gnu: python-2: Update to 2.7.6.

* gnu/packages/python.scm (python-2): Update to 2.7.6.

10 years agognu: parallel: Update to 20131122.
Andreas Enge [Sat, 28 Dec 2013 13:59:15 +0000 (14:59 +0100)]
gnu: parallel: Update to 20131122.

* gnu/packages/parallel.scm (parallel): Update to 20131122.

10 years agognu: xorriso: Update to 1.3.4.
Andreas Enge [Sat, 28 Dec 2013 13:53:07 +0000 (14:53 +0100)]
gnu: xorriso: Update to 1.3.4.

* gnu/packages/cdrom.scm (xorriso): Update to 1.3.4.

10 years agognu: libcdio: Update to 0.92.
Andreas Enge [Sat, 28 Dec 2013 13:42:04 +0000 (14:42 +0100)]
gnu: libcdio: Update to 0.92.

* gnu/packages/cdrom.scm (libcdio): Update to 0.92.

10 years agognu: libextractor: Update to 1.3.
Andreas Enge [Sat, 28 Dec 2013 08:01:15 +0000 (09:01 +0100)]
gnu: libextractor: Update to 1.3.

* gnu/packages/gnunet.scm (libextractor): Update to 1.3.

10 years agognu: vim: Update to 7.4.
Andreas Enge [Sun, 22 Dec 2013 22:23:11 +0000 (23:23 +0100)]
gnu: vim: Update to 7.4.

* gnu/packages/vim.scm (vim): Update to 7.4.

10 years agoUpdate 'TODO'.
Ludovic Courtès [Sun, 22 Dec 2013 00:10:11 +0000 (01:10 +0100)]
Update 'TODO'.

10 years agoAdd 'guix archive'.
Ludovic Courtès [Sun, 22 Dec 2013 00:08:21 +0000 (01:08 +0100)]
Add 'guix archive'.

* guix/scripts/archive.scm, tests/guix-archive.sh: New files.
* Makefile.am (MODULES): Add 'archive.scm'.
  (SH_TESTS): Add 'guix-archive.sh'.
* doc/guix.texi (Invoking guix archive): New section.
* guix/scripts/build.scm: Export 'derivation-from-expression'.
* guix/scripts/package.scm: Export 'specification->package+output'.

10 years agobuild: Install 'guix-authenticate'.
Ludovic Courtès [Sat, 21 Dec 2013 23:02:39 +0000 (00:02 +0100)]
build: Install 'guix-authenticate'.

* daemon.am (nodist_libexec_SCRIPTS): New variable.

10 years agoguix build: Improve procedural decomposition.
Ludovic Courtès [Sat, 21 Dec 2013 21:53:58 +0000 (22:53 +0100)]
guix build: Improve procedural decomposition.

* guix/scripts/build.scm (%store): Remove.
  (derivation-from-expression): Add 'store' parameter.  Adjust caller
  accordingly.
  (register-root): New procedure, formerly within 'guix-build'.
  (options->derivations): New procedure, formerly inline within
  'guix-build'.
  (guix-build): Adjust accordingly.

10 years agoFactorize package search between 'guix package' and 'guix build'.
Ludovic Courtès [Sat, 21 Dec 2013 21:36:32 +0000 (22:36 +0100)]
Factorize package search between 'guix package' and 'guix build'.

* guix/scripts/package.scm (newest-available-packages): Remove.
  (find-best-packages-by-name): Move to...
* gnu/packages.scm (find-best-packages-by-name): ... here.
  (find-newest-available-packages): Memoize.
* guix/scripts/build.scm (specification->package): New procedure,
  formerly called 'find-package' within 'guix-build'.
  (guix-build): Adjust accordingly.

10 years agoauthenticate: Add test.
Ludovic Courtès [Sat, 21 Dec 2013 20:47:17 +0000 (21:47 +0100)]
authenticate: Add test.

* tests/guix-authenticate.sh: New file.
* Makefile.am (SH_TESTS): Add it.

10 years agobuild: Adjust pk-crypto tests to Libgcrypt 1.5.3.
Ludovic Courtès [Fri, 20 Dec 2013 23:09:51 +0000 (00:09 +0100)]
build: Adjust pk-crypto tests to Libgcrypt 1.5.3.

Reported by Andreas Enge <andreas@enge.fr>.

* tests/pk-crypto.scm ("string->gcry-sexp->string"): Remove "#C0FFEE#"
  from SEXPS.
  ("gcry-sexp-nth"): Start at index 1.

10 years agodaemon: Implement signed archive import/export.
Ludovic Courtès [Fri, 20 Dec 2013 16:17:42 +0000 (17:17 +0100)]
daemon: Implement signed archive import/export.

* guix/scripts/authenticate.scm, nix/scripts/guix-authenticate.in,
  tests/signing-key.pub, tests/signing-key.sec: New files.
* po/POTFILES.in: Add 'guix/scripts/authenticate.scm'.
* guix/store.scm (dump-port): New procedure.
  (process-stderr): Add 'user-port' optional parameter.  Handle
  the %STDERR-WRITE and %STDERR-READ cases as expected.
  (import-paths, export-path, export-paths): New procedures.
* tests/store.scm ("export/import several paths", "import corrupt
  path"): New tests.
* Makefile.am (MODULES): Add 'guix/scripts/authenticate.scm'.
  (EXTRA_DIST): Add 'tests/signing-key.{pub,sec}'.
* daemon.am (libstore_a_CPPFLAGS)[-DNIX_CONF_DIR]: Change 'NIX_CONF_DIR'
  to .../guix.  Change 'OPENSSL_PATH' to 'guix-authenticate'.
* config-daemon.ac: Instantiate 'nix/scripts/guix-authenticate'.
* nix/nix-daemon/guix-daemon.cc (main): Augment $PATH to include
  'settings.nixLibexecDir'.
* test-env.in: Export 'NIX_CONF_DIR' and 'NIX_LIBEXEC_DIR'.  Populate
  $NIX_CONF_DIR.

10 years agopk-crypto: Add a few sexp utility procedures.
Ludovic Courtès [Fri, 20 Dec 2013 14:22:15 +0000 (15:22 +0100)]
pk-crypto: Add a few sexp utility procedures.

* guix/pk-crypto.scm (gcry-sexp-car, gcry-sexp-cdr, gcry-sexp-nth,
  gcry-sexp-nth-data, dereference-size_t, latin1-string->bytevector,
  hash-data->bytevector): New procedures.
* tests/pk-crypto.scm ("gcry-sexp-car + cdr", "gcry-sexp-nth",
  "gcry-sexp-nth-data", "bytevector->hash-data->bytevector"): New tests.