Commit Graph

4000 Commits

Author SHA1 Message Date
Ludovic Courtès 969df97487 derivations: Introduce 'graft' record type.
* guix/derivations.scm (<graft>): New record type.
  (graft-derivation): Rename 'replacements' to 'grafts', and expect it
  to be a list of <graft> records.  Adjust accordingly.
* tests/derivations.scm ("graft-derivation"): Use 'graft' instead of
  pairs in argument to 'graft-derivation'.
2014-10-17 23:23:20 +02:00
Ludovic Courtès e25408849a records: Improve the docstring of 'define-record-type*'.
* guix/records.scm (define-record-type*): Agument the docstring, give
  examples.
2014-10-17 23:23:20 +02:00
Alex Kost bd53d327e1 doc: Replace "emacs" with "Emacs" in node names.
Suggested by Ludovic Courtès.

* doc/emacs.texi: Use "Emacs" in node names.
2014-10-17 21:29:09 +04:00
Alex Kost 189cea2782 emacs: Add 'guix-generations-by-time' command.
* emacs/guix-main.scm (find-generations): Add finding generations by time.
* emacs/guix-utils.el (guix-read-date): New procedure.
* emacs/guix-base.el (guix-messages): Add new messages.
* emacs/guix.el (guix-generations-by-time): New command.
* doc/emacs.texi (emacs Commands): Document it.
2014-10-17 10:56:27 +04:00
Ludovic Courtès 347e17b474 download: Allow use of substitutes.
See <https://bugs.gnu.org/18747> for the original report.

* guix/download.scm (url-fetch): Comment out #:local-build? argument.
* guix/git-download.scm (git-fetch): Likewise.
* guix/svn-download.scm (svn-fetch): Likewise.
2014-10-16 23:40:10 +02:00
Jason Self fd2b6df2a8 gnu: linux-libre: Update to 3.17.1.
* gnu/packages/linux.scm (linux-libre): Update to version 3.17.1.
2014-10-16 05:45:44 -07:00
Alex Kost 49d758d212 emacs: Support auto-updating after performing REPL operation.
* emacs/guix-backend.el (guix-operation-buffer): New variable.
  (guix-eval-in-repl): Use it.  Add optional 'operation-buffer' argument.
* emacs/guix-base.el (guix-update-after-operation): New variable.
  (guix-switch-to-buffer, guix-list-or-info-buffer-p, guix-buffers,
  guix-update-buffers-maybe): New procedures.
  (guix-set-buffer): Use 'guix-switch-to-buffer'.  Add optional 'no-display'
  argument.
  (guix-process-package-actions, guix-delete-generations,
  guix-switch-to-generation): Add optional 'operation-buffer' argument.
* emacs/guix-info.el (guix-package-info-insert-action-button,
  guix-generation-info-insert-number, guix-generation-info-insert-current):
  Adjust for using operation buffer.
* emacs/guix-list.el (guix-list-execute-package-actions,
  guix-generation-list-switch, guix-generation-list-execute): Likewise.
2014-10-16 10:09:53 +04:00
Alex Kost 063b60be7b emacs: Add hooks for REPL operations.
* emacs/guix-backend.el (guix-before-repl-operation-hook,
  guix-after-repl-operation-hook, guix-repl-operation-p): New variables.
  (guix-repl-operation-success-message, guix-repl-output-filter): New
  procedures.
  (guix-start-repl): Adjust for using 'guix-repl-output-filter'.
  (guix-eval-in-repl): Honor 'guix-before-repl-operation-hook'.
2014-10-16 10:09:53 +04:00
Cyril Roelandt dd7c013d4b guix lint: add the --checkers option.
* guix/scripts/lint.scm: add the "--checkers" option.
* doc/guix.texi (Invoking guix lint): Document it.
* tests/guix-lint.sh: New file
* Makefile.am (SCM_TESTS): Add it.
2014-10-16 00:50:27 +02:00
Ludovic Courtès 51861587c6 gnu: gnutls: Patch bug in 'set-session-server-name!'.
* gnu/packages/patches/gnutls-server-name-fix.patch: New file.
* gnu/packages/gnutls.scm (gnutls)[source]: Use it.
* gnu-system.am (dist_patch_DATA): Add it.
2014-10-14 23:09:07 +02:00
John Darrington 11c38cbe0d gnu: Add xboing
* gnu/packages/games.scm (xboing): New variable.
2014-10-13 23:39:23 +02:00
Ludovic Courtès 998fb8fa1d utils: Micro-optimize 'bytevector->base16-string'.
This reduces run time of (package-derivation s emacs) by ~1.5%.

* guix/utils.scm (bytevector->base16-string): Traverse BV from the end
  so as to use 'string-concatenate' instead of
  'string-concatenate-reverse'.
2014-10-13 23:34:09 +02:00
Ludovic Courtès 8601d0ddcf derivations: Micro-optimize 'imported-modules'.
This reduces run time of (package-derivation s emacs) by ~5%.

* guix/derivations.scm (search-path*): New procedure.
  (imported-modules): Use it instead of 'search-path'.
2014-10-13 23:34:09 +02:00
Ludovic Courtès 1391dcb054 derivations: Memoize 'derivation-path->base16-hash'.
This reduces run time of (package-derivation s emacs) by ~10%.

* guix/derivations.scm (derivation-path->base16-hash): New procedure.
  (derivation-hash): Use it.
2014-10-13 23:34:09 +02:00
Ludovic Courtès 3de9a5936c gnu: gnutls: Update to 3.2.19.
* gnu/packages/gnutls.scm (gnutls): Update to 3.2.19.
2014-10-13 23:34:09 +02:00
Eric Bavier 6aad2d625f gnu: xfig, transfig: Patch compiler flags for mips and i686.
* gnu/packages/xfig.scm (xfig, transfig)[arguments]: Have Makefile
  substitution match for more targets.
2014-10-13 10:11:43 -05:00
Alex Kost af874238d4 emacs: Add support for switching generations.
* emacs/guix-base.el (guix-switch-to-generation): New procedure.
* emacs/guix-info.el (guix-generation-info-insert-current): Insert button for
  switching to generation.
* emacs/guix-list.el (guix-generation-list-switch): New procedure.
* doc/emacs.texi (emacs List buffer, emacs Info buffer): Document switching
  generations.
2014-10-13 14:59:35 +04:00
Alex Kost c2379b3c1f emacs: Add 'current' generation parameter.
* emacs/guix-main.scm (generation-param-alist): Add 'current' parameter.
* emacs/guix-base.el (guix-param-titles): Add title for 'current' parameter.
* emacs/guix-info.el: Display 'current' parameter.
  (guix-generation-info-current, guix-generation-info-not-current): New faces.
  (guix-generation-info-insert-current): New procedure.
* emacs/guix-list.el: Display 'current' column.
  (guix-generation-list-get-current): New procedure.
2014-10-13 14:59:35 +04:00
Mark H Weaver 0546393164 gnu: nss-mdns: Add alternate source URLs.
Based on 8c43746 by Ludovic Courtès <ludo@gnu.org>.
Fixes <http://bugs.gnu.org/18704>.

* gnu/packages/avahi.scm (nss-mdns)[source]: Add Debian and Fedora mirrors.
2014-10-13 03:03:42 -04:00
Ludovic Courtès 7d09fb3464 gnu: icu4c: Reinstate RUNPATH on shared libraries.
Fixes <http://bugs.gnu.org/18695>.
Reported by Mark H Weaver <mhw@netris.org>.

* gnu/packages/icu4c.scm (icu4c)[arguments]: In 'add-lib-to-runpath',
  reinstate RUNPATH on files under lib/.  Fixes a regression introduced
  in commit 7239828.
2014-10-13 00:34:44 +02:00
Ludovic Courtès 817efe8bb1 gnu: guile-ssh: Update to 0.7.1.
* gnu/packages/ssh.scm (guile-ssh)[source]: Update to 0.7.1.
  [arguments]: Remove ssh/Makefile.am fiddling from 'autoreconf' phase.
  Remove #:parallel-build? argument.
  [inputs]: Add LIBGCRYPT-1.5.
2014-10-13 00:32:14 +02:00
Ludovic Courtès e3703818db gnu: libssh: Add libgcrypt bug-fix patch.
Suggested by Artyom Poptsov <poptsov.artyom@gmail.com>.

* gnu/packages/ssh.scm (libssh)[source]: Add 'patches'.
2014-10-13 00:30:49 +02:00
Ludovic Courtès 3ad9a0b1e7 gnu: guix: Update development snapshot.
* gnu/packages/package-management.scm (guix-0.7): Make public.
  (guix-devel)[source]: Update to commit 14e84b2.
  [propagated-inputs]: New field.
  (guix): Alias for GUIX-DEVEL.
2014-10-13 00:29:09 +02:00
Ludovic Courtès 78a90c7f47 derivations: Add #:guile parameter to 'graft-derivation'.
* guix/derivations.scm (graft-derivation): Add #:guile parameter; pass
  it to 'build-expression->derivation'.
2014-10-12 22:32:38 +02:00
Ludovic Courtès 572bcdf0bc list-packages: Handle 'origin' patches.
* build-aux/list-packages.scm (package->sxml)[patches]: Handle the case
  where PATCH is an 'origin'.
2014-10-12 15:33:07 +02:00
John Darrington 14e84b2d97 gnu: Add unixodbc
* gnu/packages/databases.scm (unixodbc): New variable.
2014-10-12 14:19:26 +02:00
Mark H Weaver fac8b30bf8 gnu: magit: Update to 1.2.1.
* gnu/packages/emacs.scm (magit): Update to 1.2.1.
2014-10-12 03:32:36 -04:00
Alex Kost abc5b82971 emacs: Allow list functions to deal with nil values.
* emacs/guix-list.el (guix-list-get-tabulated-entry): Call functions returning
  column value even for nil values.
  (guix-list-get-one-line): Adjust for accepting nil argument.
2014-10-12 08:47:19 +04:00
Alex Kost b3bb82f154 guix package: Add '--switch-generation' option.
* guix/scripts/package.scm (switch-to-generation): New procedure.
  (switch-to-previous-generation): Use it.
  (guix-package): Adjust for '--switch-generation' option.
* tests/guix-package.sh: Test it.
* doc/guix.texi (Invoking guix package): Document it.
2014-10-12 08:45:38 +04:00
Alex Kost 3ccde08752 profiles: Add 'relative-generation'.
* guix/profiles.scm: (relative-generation): New procedure.
  (previous-generation-number): Use it.
2014-10-12 08:45:38 +04:00
Alex Kost c0c018f180 profiles: Add condition types for profiles and generations.
Suggested by Ludovic Courtès.

* guix/profiles.scm (&profile-error, &profile-not-found-error,
  &missing-generation-error): New condition types.
* guix/ui.scm (call-with-error-handling): Handle new types.
* guix/scripts/package.scm (roll-back, guix-package): Raise
  '&profile-not-found-error' where needed.
2014-10-12 08:45:37 +04:00
Mark H Weaver 1b7d5242c3 gnu: libarchive: Apply fixes including for CVE-2013-0211.
* gnu/packages/patches/libarchive-CVE-2013-0211.patch,
  gnu/packages/patches/libarchive-fix-lzo-test-case.patch,
  gnu/packages/patches/libarchive-mtree-filename-length-fix.patch: New files.
* gnu-system.am (dist_patch_DATA): Add them.
* gnu/packages/backup.scm (libarchive)[source]: Add patches.
2014-10-11 23:21:37 -04:00
Eric Bavier 36ae58488b gnu: Add transfig.
* gnu/packages/xfig.scm (transfig): New variable.
2014-10-11 21:11:23 -05:00
Eric Bavier b3f3fb825e gnu: Add xfig.
* gnu/packages/xfig.scm: New file.
* gnu-system.am (GNU_SYSTEM_MODULES): Add it.
2014-10-11 21:11:23 -05:00
Eric Bavier a0e9b72e44 gnu: libjpeg: Upgrade to version 9a.
* gnu/packages/image.scm (libjpeg): Upgrade to version 9a.
2014-10-11 21:11:23 -05:00
Eric Bavier 50d74f3964 gnu: Add imake.
* gnu/packages/xorg.scm (imake): New variable.
2014-10-11 21:11:23 -05:00
Ludovic Courtès 2793c0fb26 syscalls: Accept ENOENT in the 'swapoff' test.
Fixes <http://bugs.gnu.org/18690>.
Reported by Philip Woods <elzairthesorcerer@gmail.com>.

* tests/syscalls.scm ("swapoff, EINVAL/EPERM"): Rename to...
  ("swapoff, ENOENT/EINVAL/EPERM"): ... this.  Add ENOENT to the list of
  possible return values.
2014-10-12 00:14:09 +02:00
Ludovic Courtès d53e8ba6b5 Augment '.dir-locals.el' with bug-reference-mode settings. 2014-10-12 00:14:09 +02:00
John Darrington fddbf35bf5 gnu: Add perl-zip.
* gnu/packages/zip.scm (perl-zip): New variable.
2014-10-11 17:00:15 +02:00
Mark H Weaver d8b85b7d42 gnu: openssh: Update to 6.7p1.
* gnu/packages/ssh.scm (openssh): Update to 6.7p1.
2014-10-11 02:57:39 -04:00
Mark H Weaver 58d08c369b Add copyright line to gnuzilla.scm.
* gnu/packages/gnuzilla.scm: Add copyright line for Mark H Weaver, which
  should have been added in 74c7af9 (gnu: icecat: Update to 31.1.1).
2014-10-11 02:57:35 -04:00
David Thompson 372c4bbcbb scripts: Add 'environment' command.
* guix/scripts/environment.scm: New file.
* Makefile.am (MODULES): Add it.
* doc/guix.texi ("Invoking guix environment"): New node.
2014-10-10 18:14:40 -04:00
Ludovic Courtès e25234e34b build: Make sure tests/guix-package.sh doesn't leave anything behind it.
Fixes a regression introduced in commit 300868ba.

* tests/guix-package.sh: Move 'module_dir' definition to the top, and
  "rm -rf" it from the top-most 'trap'.  Remove second use of 'trap'.
2014-10-10 14:08:59 +02:00
Ludovic Courtès 7313a52e7a doc: Add 'operating-system' reference.
* doc/guix.texi (Using the Configuration System): Add xref to
  "operating-system Reference".
  (operating-system Reference): New section.
  (Networking Services): Add xref to it.
2014-10-10 14:08:59 +02:00
Ludovic Courtès c678a4eef6 doc: Use @deftp for 'build-machine'.
* doc/guix.texi (Daemon Offload Setup): Use @deftp for 'build-machine'.
2014-10-10 14:08:59 +02:00
John Darrington 7239828d29 gnu: icu4c: Correct error in the binaries' runpath
* gnu/packages/icu4c.scm (icu4c): Apply the RUNPATH to the binaries,
  instead of the libs
2014-10-10 05:35:07 +02:00
Alex Kost 5d7a8584f5 ui: Move 'show-manifest-transaction' from (guix profiles).
* guix/profiles.scm: Do not use (guix ui) module.
  (right-arrow, manifest-show-transaction): Move and rename to...
* guix/ui.scm (right-arrow, show-manifest-transaction): ... here.
* tests/profiles.scm ("manifest-show-transaction"): Move to...
* tests/ui.scm ("show-manifest-transaction"): ... here.
  (guile-1.8.8, guile-2.0.9): New variables.
* emacs/guix-main.scm (process-package-actions): Rename
  'manifest-show-transaction' to 'show-manifest-transaction'.
* guix/scripts/package.scm (guix-package): Likewise.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2014-10-10 00:06:35 +02:00
Ludovic Courtès 12703d0854 ui: Make sure we use the right domain for &message translation.
* guix/ui.scm (call-with-error-handling): Add %GETTEXT-DOMAIN as a
  second argument to 'gettext'.
2014-10-09 23:51:19 +02:00
Ludovic Courtès 0363991a25 Break module cycle involving (guix store) and (guix ui).
Before, there was a cycle along the lines of:

  (guix store) -> (guix nar) -> (guix ui) -> (guix store)

This caused problems, as discussed at:

  http://lists.gnu.org/archive/html/guix-devel/2014-10/msg00109.html

This patch removes cycles in the (guix ...) modules.

* guix/nar.scm (&nar-error, &nar-read-error, dump, write-contents,
  read-contents, %archive-version-1, write-file, restore-file): Move to...
* guix/serialization.scm: ... here.
* guix/store.scm: Remove dependency on (guix nar).
* guix/scripts/hash.scm, guix/scripts/offload.scm,
  guix/scripts/substitute-binary.scm, tests/nar.scm, tests/store.scm,
  tests/substitute-binary.scm: Adjust accordingly.
2014-10-09 23:51:19 +02:00
Ludovic Courtès 4938b0eead substitute-binary: Ignore $GUIX_BINARY_SUBSTITUTE_URL.
* guix/scripts/substitute-binary.scm (%cache-url): Ignore the
  'GUIX_BINARY_SUBSTITUTE_URL' environment variable.
* test-env.in: Invoke 'guix-daemon' with '--substitute-urls'.
* tests/substitute-binary.scm: Set '%cache-url' to the value of
  'GUIX_BINARY_SUBSTITUTE_URL'.
2014-10-09 23:51:19 +02:00