Commit Graph

19375 Commits

Author SHA1 Message Date
Ludovic Courtès 96e5085c81 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?'.
2013-12-29 15:57:24 +01:00
Ludovic Courtès 8b420f74e4 Add (guix pki).
* guix/pki.scm, tests/pki.scm: New files.
* Makefile.am (MODULES): Add 'guix/pki.scm'.
  (SCM_TESTS): Add 'tests/pki.scm'.
2013-12-29 15:57:24 +01:00
Ludovic Courtès 3f40cfdece config: Export '%config-directory'.
* configure.ac: Define and substitute 'guix_sysconfdir'.
* guix/config.scm.in (%config-directory): New variable.
2013-12-29 15:57:24 +01:00
Ludovic Courtès 04d4c8a439 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.
2013-12-29 15:57:24 +01:00
Ludovic Courtès 9501d7745e 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.
2013-12-29 15:57:24 +01:00
Ludovic Courtès 363ae1da82 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.
2013-12-29 15:57:24 +01:00
Ludovic Courtès a2cbbb743d 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.
2013-12-29 15:57:23 +01:00
Ludovic Courtès 6df1fb8991 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.
2013-12-29 15:57:23 +01:00
Ludovic Courtès b0a33ac157 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.
2013-12-29 15:57:23 +01:00
Andreas Enge 557813760d gnu: python: Update to 3.3.3.
* gnu/packages/python.scm (python): Update to 3.3.3.
2013-12-28 15:41:01 +01:00
Andreas Enge ee2b510929 gnu: python-2: Update to 2.7.6.
* gnu/packages/python.scm (python-2): Update to 2.7.6.
2013-12-28 15:24:08 +01:00
Andreas Enge 81bb10ad17 gnu: parallel: Update to 20131122.
* gnu/packages/parallel.scm (parallel): Update to 20131122.
2013-12-28 14:59:15 +01:00
Andreas Enge f6727409c2 gnu: xorriso: Update to 1.3.4.
* gnu/packages/cdrom.scm (xorriso): Update to 1.3.4.
2013-12-28 14:53:07 +01:00
Andreas Enge d0c2cf7d54 gnu: libcdio: Update to 0.92.
* gnu/packages/cdrom.scm (libcdio): Update to 0.92.
2013-12-28 14:42:04 +01:00
Andreas Enge 579b249683 gnu: libextractor: Update to 1.3.
* gnu/packages/gnunet.scm (libextractor): Update to 1.3.
2013-12-28 09:01:15 +01:00
Andreas Enge d3f1333693 gnu: vim: Update to 7.4.
* gnu/packages/vim.scm (vim): Update to 7.4.
2013-12-22 23:23:11 +01:00
Ludovic Courtès d6b5e4bbbd Update 'TODO'. 2013-12-22 01:11:12 +01:00
Ludovic Courtès 760c60d684 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'.
2013-12-22 01:08:21 +01:00
Ludovic Courtès 7edccf4d62 build: Install 'guix-authenticate'.
* daemon.am (nodist_libexec_SCRIPTS): New variable.
2013-12-22 00:02:39 +01:00
Ludovic Courtès 81fa80b245 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.
2013-12-21 22:53:58 +01:00
Ludovic Courtès 3f26bfc18a 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.
2013-12-21 22:36:32 +01:00
Ludovic Courtès 0820098d1c authenticate: Add test.
* tests/guix-authenticate.sh: New file.
* Makefile.am (SH_TESTS): Add it.
2013-12-21 21:47:17 +01:00
Ludovic Courtès 0a66781eee 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.
2013-12-21 00:10:09 +01:00
Ludovic Courtès 526382ff92 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.
2013-12-20 17:17:42 +01:00
Ludovic Courtès ce507041f7 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.
2013-12-20 15:22:15 +01:00
Ludovic Courtès 971cb56dd0 Update 'TODO'. 2013-12-20 00:37:41 +01:00
Ludovic Courtès 3476ded934 Add (guix pk-crypto).
* guix/pk-crypto.scm, tests/pk-crypto.scm: New files.
* Makefile.am (MODULES, SCM_TESTS): Add them.
2013-12-20 00:36:26 +01:00
Ludovic Courtès b1aa25be00 sync-with-upstream: Work around limitation of dash.
Reported by Andreas Enge <andreas@enge.fr>.

* nix/sync-with-upstream: Expand use of {cc,hh}, to placate dash.
2013-12-19 00:42:35 +01:00
Ludovic Courtès 0c5028faea daemon: Fix 'HashSink::currentHash()'.
Before that, calls to 'HashSink::currentHash()' would eventually lead to
a segfault because the underlying gcrypt handle has been closed.  (Note
that this method is only used via 'importPaths' and 'exportPath', though.)

* nix/libutil/gcrypt-hash.hh (struct guix_hash_context): Add a
  constructor and a copy constructor; move out of 'extern "C"'.
* nix/libutil/gcrypt-hash.cc (guix_hash_final): Clear 'md_handle' upon
  exit.
* nix/sync-with-upstream (top_srcdir): Change hash.{cc,hh} to read
  'struct Ctx' instead of 'union Ctx'.
2013-12-19 00:02:49 +01:00
Ludovic Courtès 37dd969c2e daemon: Add libgcrypt call to state that the initialization is over.
* nix/nix-daemon/guix-daemon.cc (main): Add 'gcry_control' call.
2013-12-19 00:02:49 +01:00
Andreas Enge 7eb71d7a3d gnu: xf86-video-vmware: Add input xorg-server.
* gnu/packages/xorg.scm (xf86-video-vmware): Add input xorg-server.
2013-12-18 19:58:40 +01:00
Andreas Enge 217a67c020 gnu: iso-codes: Update to 3.49.
* gnu/packages/iso-codes.scm (iso-codes): Update to 3.49.
2013-12-18 15:49:57 +01:00
Andreas Enge e148203588 gnu: shishi: Use libgcrypt-1.5.
* gnu/packages/shishi.scm (shishi): Use input libgcrypt-1.5 instead of 1.6.
2013-12-18 14:24:34 +01:00
Andreas Enge a53421fdda gnu: libgcrypt: Make old version 1.5.3 public.
* gnu/packages/gnupg.scm (libgcrypt-1.5): New variable.
* gnu/packages/ssh.scm (libssh): Use libgcrypt-1.5 instead of defining it
    ad-hoc.
2013-12-18 14:11:01 +01:00
Ludovic Courtès d44da8b092 gnu: libssh: Upgrade to 0.5.5.
* gnu/packages/ssh.scm (libssh): Upgrade to 0.5.5.
2013-12-17 22:02:07 +01:00
Ludovic Courtès 678110b949 gnu: libssh: Build against an older libgcrypt.
* gnu/packages/ssh.scm (libssh): Use libgcrypt 1.5.3 as an input.
2013-12-17 22:01:42 +01:00
John Darrington db6190899e gnu: gnu-build-system: Add CC_FOR_BUILD to configure flags.
* guix/build/gnu-build-system.scm: Add new configure flag: CC_FOR_BUILD=gcc

* gnu/packages/gnupg.scm, gnu/packages/guile.scm, gnu/packages/make-bootstrap.scm:
  remove CC_FOR_BUILD from these package descriptions.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2013-12-17 21:28:07 +01:00
Andreas Enge f22e0e264e gnu: ffmpeg: Modify runpath of binaries to include output library path.
* gnu/packages/video.scm (ffmpeg): Patch binaries to add output library path
    to runpath.
2013-12-17 21:19:41 +01:00
Ludovic Courtès f733c4c838 gnu: tor: Upgrade to 0.2.4.19.
* gnu/packages/tor.scm (tor): Upgrade to 0.2.4.19.
2013-12-16 23:57:24 +01:00
Ludovic Courtès ec9a25612e gnu: freeipmi: Upgrade to 1.3.4.
* gnu/packages/freeipmi.scm (freeipmi): Upgrade to 1.3.4.
2013-12-16 23:45:21 +01:00
Ludovic Courtès 375c6297c6 gnu: libgcrypt: Upgrade to 1.6.0.
* gnu/packages/gnupg.scm (libgcrypt): Upgrade to 1.6.0.
2013-12-16 23:44:58 +01:00
Ludovic Courtès 3dbeecd2ff pull: Move build code to (guix build pull).
* guix/build/pull.scm: New file.
* Makefile.am (MODULES): Add it.
* guix/scripts/pull.scm (unpack): Use it.
2013-12-16 23:26:48 +01:00
Cyril Roelandt 9cc98f8aa6 gnu: Add gnome-desktop.
* gnu/packages/gnome.scm (gnome-desktop): New variable.
2013-12-16 02:21:09 +01:00
Cyril Roelandt 2748062080 gnu: Add iso-codes.
* gnu/packages/iso-codes.scm: New file.
* gnu-system.am: Add it.
2013-12-15 23:39:43 +01:00
Cyril Roelandt 7a8605ceb5 gnu: Add libpeas.
* gnu/packages/gnome.scm (libpeas): New variable.
2013-12-15 23:39:43 +01:00
Cyril Roelandt af949e8ee7 gnu: gtk+: enable introspection.
* gnu/packages/gtk.scm (atk, gdk-pixbuf, gtk+, pango): enable introspection
* guix/build/gnome.scm: New file.
2013-12-15 23:39:43 +01:00
Cyril Roelandt 503c5f6d5d gnu: gobject-introspection: look for 'gcc' when no compiler seems available.
* gnu/packages/patches/gobject-introspection.patch: New file.
2013-12-15 23:37:22 +01:00
Ludovic Courtès 3e778ad3af gnu: Move libelf and patchelf to (gnu packages elf).
* gnu/packages/patchelf.scm (patchelf): Move to...
* gnu/packages/elf.scm (patchelf): ... here.
* gnu/packages/patchelf.scm: Remove.
* gnu-system.am (GNU_SYSTEM_MODULES): Adjust accordingly.
* gnu/packages/gcc.scm (libelf): Move to...
* gnu/packages/elf.scm (libelf): ... here.
* gnu/packages/cdrom.scm, gnu/packages/icu4c.scm,
  gnu/packages/samba.scm, gnu/packages/scheme.scm, gnu/packages/ssh.scm:
  Adjust references to (gnu packages patchelf).
2013-12-15 23:27:56 +01:00
Ludovic Courtès 2ed5b0f42c gnu: Add elfutils.
* gnu/packages/elf.scm: New file.
* gnu-system.am (GNU_SYSTEM_MODULES): Add it.
2013-12-15 23:19:44 +01:00
John Darrington c4c4cc0597 gnu: Move numerous "inputs" which should be "native-inputs".
* gnu/packages/avahi.scm, gnu/packages/cdrom.scm, gnu/packages/cryptsetup.scm,
  gnu/packages/curl.scm, gnu/packages/emacs.scm, gnu/packages/fontutils.scm,
  gnu/packages/gdb.scm, gnu/packages/geeqie.scm, gnu/packages/ghostscript.scm,
  gnu/packages/glib.scm, gnu/packages/gnome.scm, gnu/packages/gnunet.scm,
  gnu/packages/gnupg.scm, gnu/packages/gnuzilla.scm, gnu/packages/graphviz.scm,
  gnu/packages/groff.scm, gnu/packages/gstreamer.scm, gnu/packages/gtk.scm,
  gnu/packages/gv.scm, gnu/packages/imagemagick.scm, gnu/packages/irssi.scm,
  gnu/packages/kde.scm, gnu/packages/libcanberra.scm, gnu/packages/libtiff.scm,
  gnu/packages/linux.scm, gnu/packages/lvm.scm, gnu/packages/mp3.scm,
  gnu/packages/netpbm.scm, gnu/packages/parted.scm, gnu/packages/pdf.scm,
  gnu/packages/pulseaudio.scm, gnu/packages/qemu.scm, gnu/packages/qt.scm,
  gnu/packages/ratpoison.scm, gnu/packages/rdf.scm, gnu/packages/slim.scm,
  gnu/packages/texlive.scm, gnu/packages/version-control.scm,
  gnu/packages/video.scm, gnu/packages/vpn.scm, gnu/packages/w3m.scm,
  gnu/packages/xml.scm, gnu/packages/xnee.scm, gnu/packages/xorg.scm,
  gnu/packages/zip.scm:  Move some build-time dependencies from `inputs' to
  `native-inputs'.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2013-12-15 22:31:19 +01:00