Ludovic Courtès [Sat, 4 Oct 2014 20:59:38 +0000 (22:59 +0200)]
build-system/cmake: Add #:build-type parameter, default to "RelWithDebInfo".
* guix/build-system/cmake.scm (cmake-build): Add #:build-type. Pass it
in BUILDER.
* guix/build/cmake-build-system.scm (configure): Add #:build-type
parameter and honor it.
* doc/guix.texi (Build Systems): Document #:configure-flags and
#:build-type for CMake.
John Darrington [Fri, 3 Oct 2014 17:49:04 +0000 (19:49 +0200)]
gnu: pspp: Upgrade to 0.8.4.
* gnu/packages/maths.scm (pspp): Upgrade to 0.8.4.
Ludovic Courtès [Fri, 3 Oct 2014 15:48:21 +0000 (17:48 +0200)]
gnu: windowmaker: Update to 0.95.6.
* gnu/packages/gnustep.scm (windowmaker): Update to 0.95.6.
Ludovic Courtès [Fri, 3 Oct 2014 11:35:14 +0000 (13:35 +0200)]
ui: Recognize the same size units as Coreutils.
* guix/ui.scm (size->number): Add a bunch of large units. Recognize
one-letter unit names. Change "KB" to "kB".
* tests/ui.scm ("size->number, 1T"): New test.
* doc/guix.texi (Invoking guix gc): Add cross-reference to "Block size"
in the Coreutils manual.
(Invoking guix system): Likewise.
Ludovic Courtès [Fri, 3 Oct 2014 09:02:11 +0000 (11:02 +0200)]
download: Allow raw file names or file:// URLs.
* guix/download.scm (url-fetch): When URL is a string, if it's not a URI
or if it's a URI with 'file' or #f scheme, use 'add-to-store'.
* tests/builders.scm ("url-fetch, file", "url-fetch, file URI"): New
tests.
Alex Kost [Thu, 2 Oct 2014 18:31:18 +0000 (22:31 +0400)]
emacs: Add support for modifying options during operation confirmation.
* emacs/guix-base.el (guix-operation-option-key): New face.
(guix-operation-option-true-string, guix-operation-option-false-string,
guix-operation-option-separator, guix-operation-options): New variables.
(guix-operation-option-by-key, guix-operation-option-key,
guix-operation-option-name, guix-operation-option-variable,
guix-operation-option-value, guix-operation-option-string-value,
guix-operation-prompt, guix-operation-set-mode-line): New procedures.
(guix-continue-package-operation-p): Use 'guix-operation-prompt'.
Manolis Ragkousis [Mon, 29 Sep 2014 10:27:30 +0000 (13:27 +0300)]
gnu: Add dfu-programmer
* gnu/packages/flashing-tools.scm (dfu-programmer): New variable.
* gnu/packages/patches/dfu-programmer-fix-libusb.patch: New patch.
* gnu-system.am (dist_patch_DATA): Add it.
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
Mark H Weaver [Thu, 2 Oct 2014 06:24:41 +0000 (02:24 -0400)]
gnu: tor: Update to 0.2.4.24.
* gnu/packages/tor.scm (tor): Update to 0.2.4.24.
Eric Bavier [Tue, 30 Sep 2014 22:29:16 +0000 (17:29 -0500)]
gnu: autogen: Upgrade to 5.18.4.
* gnu/packages/autogen.scm (autogen): Upgrade to 5.18.4.
[native-inputs]: New field.
Ludovic Courtès [Tue, 30 Sep 2014 13:56:47 +0000 (15:56 +0200)]
gnu: Add perf.
* gnu/packages/linux.scm (perf): New variable.
Manolis Ragkousis [Mon, 29 Sep 2014 15:52:57 +0000 (18:52 +0300)]
gnu: Move flashrom and avrdude to (gnu packages flashing-tools).
* gnu/packages/admin.scm (flashrom): Move this and...
* gnu/packages/avrdude.scm (avrdude): ... this to...
* gnu/packages/flashing-tools.scm: ... this. New file.
* gnu-system.am (GNU_SYSTEM_MODULES): Adjust accordingly.
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
Ludovic Courtès [Tue, 30 Sep 2014 08:11:38 +0000 (10:11 +0200)]
pull: Add dependency on Guile-JSON.
Reported by Alex Sassmannshausen <alex.sassmannshausen@gmail.com>.
* guix/scripts/pull.scm (unpack): Add Guile-JSON to %load-path and
%load-compiled-path.
Alex Kost [Tue, 30 Sep 2014 05:41:59 +0000 (09:41 +0400)]
build: Build pypi modules only if 'guile-json' is available.
* Makefile.am (MODULES): Wrap 'guix/import/pypi.scm' and
'guix/scripts/import/pypi.scm' in 'if HAVE_GUILE_JSON'.
Alex Kost [Mon, 29 Sep 2014 19:46:12 +0000 (23:46 +0400)]
gnu: Move giflib to (gnu packages image).
* gnu/packages/giflib.scm: Remove. Move the contents to (gnu packages image).
* gnu-system.am (GNU_SYSTEM_MODULES): Remove giflib file name.
* gnu/packages/emacs.scm: Remove giflib module name.
* gnu/packages/image.scm (giflib): New variable.
David Thompson [Sat, 27 Sep 2014 14:16:23 +0000 (10:16 -0400)]
import: Add PyPI importer.
* guix/snix.scm: Delete.
* guix/import/snix.scm: New file.
* guix/import/pypi.scm: New file.
* guix/import/utils.scm: New file.
* guix/scripts/import/nix.scm: New file.
* guix/scripts/import/pypi.scm: New file.
* tests/pypi.scm: New file.
* tests/snix.scm: Import (guix import snix) module.
* guix/scripts/import.scm (%default-options, %options): Delete.
(%standard-import-options, importers): New variables.
(show-help): List importers.
(guix-import): Factor out Nix-specific logic. Delegate to correct importer
based upon first argument.
* configure.ac (HAVE_GUILE_JSON): New conditional.
* Makefile.am (MODULES): Add new files and remove 'guix/snix.scm'.
(SCM_TESTS): Add 'tests/pypi.scm' if guile-json is installed.
Eric Bavier [Mon, 29 Sep 2014 21:58:56 +0000 (16:58 -0500)]
gnu: Add dblatex.
* gnu/packages/docbook.scm (dblatex): New variable.
Ludovic Courtès [Mon, 29 Sep 2014 21:17:53 +0000 (23:17 +0200)]
gnu: guile-ncurses: Update to 1.5.
* gnu/packages/guile.scm (guile-ncurses): Update to 1.5. Remove patch.
* gnu/packages/patches/guile-ncurses-tests.patch: Remove.
* gnu-system.am (dist_patch_DATA): Remove it.
Ludovic Courtès [Mon, 29 Sep 2014 19:39:39 +0000 (21:39 +0200)]
packages: Optimize 'find-packages-by-name' to avoid disk accesses.
On a profile with 182 entries, "guix package --search-paths" goes from
4.5 seconds down to 0.4 second.
* gnu/packages.scm (find-packages-by-name): Make a name -> package vhash
in a promise; access it with 'vhash-fold*'.
Ludovic Courtès [Mon, 29 Sep 2014 19:16:34 +0000 (21:16 +0200)]
nls: Recognize 'N_' as equivalent to 'ngettext'.
This fixes i18n of plural messages.
* po/guix/Makevars (XGETTEXT_OPTIONS): Change 'N_' to 'N_:1,2'.
Mark H Weaver [Sun, 28 Sep 2014 05:48:58 +0000 (01:48 -0400)]
gnu: bash: Update to 4.3.27 and fix out-of-bounds memory accesses.
Based on a patch by Ludovic Courtès <ludo@gnu.org>.
* gnu/packages/bash.scm (%patch-series-4.3): Add two patches.
(bash)[source]: Add parser-oob patch. Add 'snippet'.
[native-inputs]: New field.
* gnu/packages/commencement.scm (bison-boot1): New variable.
(static-bash-for-glibc): Add 'native-inputs'.
Co-Authored-By: Ludovic Courtès <ludo@gnu.org>
Eric Bavier [Mon, 29 Sep 2014 05:30:36 +0000 (00:30 -0500)]
gnu: Add synergy.
* gnu/packages/synergy.scm: New file.
* gnu-system.am (GNU_SYSTEM_MODULES): Add it.
Eric Bavier [Sun, 28 Sep 2014 20:04:34 +0000 (15:04 -0500)]
gnu: duplicity: Fix and disable some tests.
* gnu/packages/patches/duplicity-piped-password.patch: New patch.
* gnu/packages/patches/duplicity-test_selection-tmp.patch: New patch.
* gnu-system.am (dist_patch_DATA): Add them.
* gnu/packages/backup.scm (duplicity)[source]: Add patches field.
[inputs]: Add util-linux and tzdata.
[arguments]: rename patch-tests phase to check-setup. Set HOME and TZDIR
for tests.
Mathieu Lirzin [Sat, 27 Sep 2014 23:29:56 +0000 (01:29 +0200)]
gnu: Add dionysus.
* gnu/packages/maths.scm (dionysus): New variable.
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
David Thompson [Sun, 28 Sep 2014 15:16:09 +0000 (11:16 -0400)]
gnu: Add ruby-i18n.
* gnu/packages/ruby.scm (ruby-i18n): New variable.
David Thompson [Sun, 28 Sep 2014 15:14:53 +0000 (11:14 -0400)]
build: Add ruby build system.
* guix/build-system/ruby.scm: New file.
* guix/build/ruby-build-system: New file.
* Makefile.am (MODULES): Add new files.
* doc/guix.texi (Build Systems): Document ruby-build-system.
Pjotr Prins [Sat, 27 Sep 2014 12:56:44 +0000 (14:56 +0200)]
gnu: Add ruby.
Co-authored-by: David Thompson <davet@gnu.org>
* gnu/packages/ruby.scm: New file.
* gnu-system.am (GNU_SYSTEM_MODULES): Add it.
* guix/licenses.scm (ruby): New variable.
Alex Kost [Sun, 28 Sep 2014 05:32:41 +0000 (09:32 +0400)]
emacs: Use package/output type variables where needed.
* emacs/guix-list.el (guix-package-list-type, guix-output-list-describe-type):
Move to...
* emacs/guix-base.el: ... here. Rename 'guix-output-list-describe-type' to
'guix-package-info-type'.
* emacs/guix-info.el (guix-generation-info-insert-number): Use
'guix-package-list-type'.
* emacs/guix.el (guix-get-show-packages): Use 'guix-package-info-type'.
Alex Kost [Sat, 27 Sep 2014 20:59:08 +0000 (00:59 +0400)]
emacs: Support font-locking.
Avoid breaking highlighting after adding new font-lock keywords.
* emacs/guix-base.el (guix-insert-package-strings): Use 'propertize' instead
of 'guix-get-string'.
* emacs/guix-info.el (guix, guix-action, guix-file, guix-url,
guix-package-location, guix-package-name): New button types.
(guix-info-insert-action-button, guix-info-insert-file-path,
guix-info-insert-url, guix-package-info-insert-location,
guix-package-info-insert-full-names,
guix-package-info-insert-non-unique-text): Adjust for 'guix-insert-button'
and button types.
(guix-package-info-name-button): New face.
(guix-package-info-define-insert-inputs): Use it. Add new button types.
(guix-package-info-insert-full-name): Remove.
* emacs/guix-utils.el (guix-get-string): Replace 'face' with 'font-lock-face'.
(guix-insert-button): Adjust for using button types.
Alex Kost [Sat, 27 Sep 2014 20:33:29 +0000 (00:33 +0400)]
emacs: Fix errors in receiving information.
* emacs/guix-main.scm (package-pattern-transformer,
output-pattern-transformer): Add fallback 'match' clauses.
(find-generations): Fix getting generations by IDs.
Ian Denhardt [Sat, 27 Sep 2014 22:36:10 +0000 (18:36 -0400)]
doc: Use 'define-public' in example package recipe.
* doc/guix.texi (Defining Packages): Use 'define-public' instead of
'define'.
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
Manolis Ragkousis [Sat, 27 Sep 2014 19:43:21 +0000 (22:43 +0300)]
gnu: hurd-headers: Use --build instead of --host.
* gnu/packages/hurd.scm (hurd-headers): Replace '--host' with
'--build'.
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
Andreas Enge [Sun, 28 Sep 2014 07:35:32 +0000 (09:35 +0200)]
gnu: qt-4: Explicitly link with icu.
* gnu/packages/qt.scm (qt-4): Explicitly link with libicui18n, which is
dlopened by QtCore.so.
Ludovic Courtès [Sat, 27 Sep 2014 23:04:18 +0000 (01:04 +0200)]
gnu: Add Nix.
This commit is dedicated to the Nix project, without which we wouldn't
be hacking all this today. :-)
* gnu/packages/package-management.scm (nix): New variable.
Ludovic Courtès [Sat, 27 Sep 2014 22:52:05 +0000 (00:52 +0200)]
gnu: Add perl-www-curl.
* gnu/packages/web.scm (perl-www-curl): New variable.
Ludovic Courtès [Sat, 27 Sep 2014 22:41:39 +0000 (00:41 +0200)]
gnu: Add perl-dbi and perl-dbd-sqlite.
* gnu/packages/databases.scm (perl-dbi, perl-dbd-sqlite): New variable.
Ludovic Courtès [Sat, 27 Sep 2014 21:59:18 +0000 (23:59 +0200)]
gnu: mit-scheme: Rename top-level helper.
Suggested by Mark H. Weaver.
* gnu/packages/scheme.scm (source-directory): Rename to...
(mit-scheme-source-directory): ... this.
Andreas Enge [Sat, 27 Sep 2014 21:47:05 +0000 (23:47 +0200)]
gnu: Add graphite2.
* gnu/packages/fontutils.scm (graphite2): New variable.
Andreas Enge [Sat, 27 Sep 2014 18:04:03 +0000 (20:04 +0200)]
gnu: mit-scheme: Delete more dangling symlinks for non-x86 systems.
* gnu/packages/scheme.scm (mit-scheme): Delete more dangling symlinks for
non-x86 systems.
Andreas Enge [Sat, 27 Sep 2014 16:59:40 +0000 (18:59 +0200)]
gnu: mit-scheme: Fix source file name for mips64el.
* gnu/packages/scheme.scm (mit-scheme): Fix source file name for
architectures other than x86_64 and i686.
Andreas Enge [Sat, 27 Sep 2014 15:50:14 +0000 (17:50 +0200)]
gnu: phonon: Update to 4.8.0.
* gnu/packages/kde.scm (phonon): Update to 4.8.0.
Ludovic Courtès [Sat, 27 Sep 2014 15:30:10 +0000 (17:30 +0200)]
build: Don't install elisp files when Emacs is unavailable.
* emacs.am (dist_lisp_DATA, nodist_lisp_DATA): Wrap in 'if HAVE_EMACS'.
Ludovic Courtès [Sat, 27 Sep 2014 15:26:22 +0000 (17:26 +0200)]
build: Don't generate Emacs autoloads when Emacs is unavailable.
Reported by Andreas Enge.
* configure.ac: Define 'HAVE_EMACS' Automake conditional.
* emacs.am ($(AUTOLOADS)): Wrap in 'if HAVE_EMACS'.
Andreas Enge [Sat, 27 Sep 2014 14:51:44 +0000 (16:51 +0200)]
gnu: mit-scheme: Update to 9.2.
* gnu/packages/scheme.scm (mit-scheme): Update to 9.2.
Andreas Enge [Sat, 27 Sep 2014 13:49:06 +0000 (15:49 +0200)]
gnu: libxscrnsaver: Propagate input scrnsaverproto.
* gnu/packages/xorg.scm (libxscrnsaver): Propagate input scrnsaverproto,
since scrnsaver.h from libxscrnsaver includes saver.h from scrnsaverproto.
Andreas Enge [Sat, 27 Sep 2014 10:31:37 +0000 (12:31 +0200)]
gnu: help2man: Update to 1.46.3.
* gnu/packages/man.scm (help2man): Update to 1.46.3.
Andreas Enge [Sat, 27 Sep 2014 10:13:53 +0000 (12:13 +0200)]
gnu: gcl: Update to 2.6.11.
* gnu/packages/lisp.scm (gcl): Update to 2.6.11.
Andreas Enge [Sat, 27 Sep 2014 10:08:21 +0000 (12:08 +0200)]
gnu: parallel: Update to
20140922.
* gnu/packages/parallel.scm (parallel): Update to
20140922.
Andreas Enge [Sat, 27 Sep 2014 09:30:33 +0000 (11:30 +0200)]
gnu: libidn: Update to 1.29.
* gnu/packages/libidn.scm (libidn): Update to 1.29.
Andreas Enge [Sat, 27 Sep 2014 08:32:28 +0000 (10:32 +0200)]
gnu: rcs: Update to 5.9.3.
* gnu/packages/version-control.scm (rcs): Update to 5.9.3.
Federico Beffa [Thu, 25 Sep 2014 15:04:13 +0000 (17:04 +0200)]
gnu: maxima: Install .el files in the right place, and help find Gnuplot.
* gnu/packages/maths.scm (maxima): Remove Tcl from 'inputs'. Add
'post-install' phase.
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
Andreas Enge [Sat, 27 Sep 2014 08:25:22 +0000 (10:25 +0200)]
gnu: ucommon: Update to 6.1.11.
* gnu/packages/telephony.scm (ucommon): Update to 6.1.11.
Andreas Enge [Sat, 27 Sep 2014 07:17:56 +0000 (09:17 +0200)]
gnu: libassuan: Update to 2.1.2.
* gnu/packages/gnupg.scm (libassuan): Update to 2.1.2.
Ludovic Courtès [Fri, 26 Sep 2014 07:49:09 +0000 (09:49 +0200)]
Merge branch 'bash-cve-2014-6271'
Alex Kost [Thu, 25 Sep 2014 08:31:46 +0000 (12:31 +0400)]
gnu: Add scrot.
* gnu/packages/scrot.scm: New file.
* gnu-system.am (GNU_SYSTEM_MODULES): Add it.
Alex Kost [Thu, 25 Sep 2014 08:29:43 +0000 (12:29 +0400)]
gnu: Add giblib.
* gnu/packages/image.scm (giblib): New variable.
Alex Kost [Thu, 25 Sep 2014 08:27:25 +0000 (12:27 +0400)]
gnu: Add imlib2.
* gnu/packages/image.scm (imlib2): New variable.
David Thompson [Wed, 24 Sep 2014 21:17:24 +0000 (17:17 -0400)]
gnu: libtoxcore: Update to 1.0.0.
* gnu/packages/crypto.scm (libsodium): Update version and change home-page.
Ludovic Courtès [Wed, 24 Sep 2014 17:19:03 +0000 (19:19 +0200)]
gnu: bash: Apply patch series up to 25 [CVE-2014-6271].
* gnu/packages/bash.scm (patch-url, bash-patch): New procedures.
(patch-series): New macro.
(%patch-series-4.3): New variable.
(download-patches): New procedure.
(bash): Change version to include the patch level; pass
%PATCH-SERIES-4.3 in the origin.
Ludovic Courtès [Wed, 24 Sep 2014 17:08:54 +0000 (19:08 +0200)]
gnu: bootstrap: Correctly handle patches that are origins.
* gnu/packages/bootstrap.scm (bootstrap-origin): Rewrite the patches of
SOURCES that are also origins.
Ludovic Courtès [Wed, 24 Sep 2014 17:08:03 +0000 (19:08 +0200)]
gnupg: Correctly parse current 'SIG_ID' lines.
* guix/gnupg.scm (gnupg-verify)[sigid-rx]: Adjust to handle current
signature ID encoding.
Ludovic Courtès [Wed, 24 Sep 2014 17:07:22 +0000 (19:07 +0200)]
packages: Allow use of origins as patches.
* guix/packages.scm (patch-and-repack)[patch-inputs]: Use 'add-to-store'
only if the PATCH is a file name, and 'package-source-derivation' if
PATCH is an origin.
Alex Kost [Fri, 19 Sep 2014 05:57:36 +0000 (09:57 +0400)]
emacs: Add support for displaying outputs.
Suggested by Taylan Ulrich Bayirli/Kammer and Ludovic Courtès.
* emacs/guix-base.el (guix-param-titles): Add output titles.
(guix-messages): Add output messages.
(guix-get-package-id-and-output-by-output-id): New procedure.
(guix-define-buffer-type): Add ':buffer-name' key.
* emacs/guix-info.el: Add "output-info" buffer type.
(guix-info-insert-methods): Add output methods.
(guix-info-displayed-params): Add output params.
(guix-output-info-insert-version, guix-output-info-insert-output): New
procedures.
* emacs/guix-list.el: Add "output-list" buffer type.
(guix-list-column-format): Add output formats.
(guix-list-column-value-methods): Add output methods.
(guix-package-list-type): New variable.
(guix-generation-list-show-packages): Use it.
(guix-package-list-marking-check): Use 'guix-output-list-mode'.
(guix-list-mark-package-upgrades): New procedure.
(guix-package-list-mark-upgrades): Use it.
(guix-list-execute-package-actions): New procedure.
(guix-package-list-execute): Use it.
(guix-list-describe-maybe): New procedure.
(guix-list-describe): Use it.
(guix-output-list-mark-install, guix-output-list-mark-delete,
guix-output-list-mark-upgrade, guix-output-list-mark-upgrades,
guix-output-list-execute, guix-output-list-make-action,
guix-output-list-describe): New procedures.
(guix-output-list-describe-type): New variable.
* emacs/guix.el (guix-get-show-packages): Use 'guix-package-list-type'.
* doc/emacs.texi (emacs Commands): Mention 'guix-package-list-type'.
(emacs List buffer): Adjust accordingly.
(emacs Info buffer): Likewise.
(emacs Buffer Names): New node.
(emacs Keymaps): Add keymaps for output buffers.
Alex Kost [Thu, 18 Sep 2014 12:24:02 +0000 (16:24 +0400)]
emacs: Rewrite scheme side in a functional manner.
* emacs/guix-main.scm: Rewrite in a functional way. Add support for output
entries.
(%current-manifest, %current-manifest-entries-table,
set-current-manifest-maybe!): Replace with...
(manifest-entries->hash-table, manifest->hash-table): ... this.
(manifest-entries-by-name+version): Replace with...
(manifest-entries-by-name): ... this.
(fold-manifest-entries): Rename to...
(fold-manifest-by-name): ... this.
(package-installed-param-alist): Rename to...
(%manifest-entry-param-alist): ... this.
(package-param-alist): Rename to...
(%package-param-alist): this.
(manifest-entry->installed-entry): Rename to...
(manifest-entry->sexp): ... this.
(manifest-entries->installed-entries): Rename to...
(manifest-entries->sexps): ... this.
(matching-generation-entries): Replace with...
(matching-generations): ... this.
(last-generation-entries): Replace with...
(last-generations): ... this.
(get-entries): Rename to...
(entries): ... this.
(installed-entries-by-name+version, installed-entries-by-package,
matching-package-entries, fold-object, package-entries-by-name+version,
package-entries-by-spec, package-entries-by-regexp, package-entries-by-ids,
newest-available-package-entries, all-available-package-entries,
manifest-package-entries, installed-package-entries,
generation-package-entries, obsolete-package-entries,
all-generation-entries, generation-entries-by-ids, profile-generations,
%package-entries-functions, %generation-entries-functions): Remove.
(manifest=?, manifest-entry->name+version+output, manifest-entry-by-output,
list-maybe, matching-packages, filter-packages-by-output, packages-by-name,
manifest-entry->packages, all-available-packages, newest-available-packages,
specification->package-pattern, specification->output-pattern,
id->package-pattern, id->output-pattern, specifications->package-patterns,
specifications->output-patterns, ids->package-patterns,
ids->output-patterns, manifest-patterns-result, obsolete-package-patterns,
obsolete-output-patterns, manifest-package-patterns,
manifest-output-patterns, obsolete-package-sexp,
package-pattern-transformer, output-pattern-transformer, entry-type-error,
search-type-error, pattern-transformer, patterns-maker,
package/output-sexps, find-generations, generation-sexps): New procedures.
(%pattern-transformers, %patterns-makers): New variables.
* emacs/guix-base.el (guix-continue-package-operation-p): Adjust accordingly.
* emacs/guix-info.el (guix-package-info-insert-action-button): Likewise.
Alex Kost [Wed, 17 Sep 2014 13:52:08 +0000 (17:52 +0400)]
emacs: Use general functions instead of generated ones.
* emacs/guix-base.el: Add and use general functions instead of
specialized functions generated by 'guix-define-buffer-type' macro.
(guix-buffer-type, guix-entry-type): New variables.
(guix-set-vars): Add new variables.
(guix-get-show-entries, guix-show-entries, guix-set-buffer)
(guix-history-call, guix-make-history-item)
(guix-get-params-for-receiving, guix-revert-buffer)
(guix-redisplay-buffer): New functions.
(guix-define-buffer-type): Do not generate specialized functions.
* emacs/guix-info.el (guix-package-info-insert-full-names): Use
'guix-get-show-entries'.
(guix-generation-info-insert-number): Likewise.
* emacs/guix-list.el (guix-list-describe): New function.
(guix-list-define-entry-type): Do not generate specialized one.
(guix-generation-list-show-packages): Use 'guix-get-show-entries'.
* emacs/guix.el (guix-show-generations-function): Remove.
(guix-get-show-packages): Use new functions.
(guix-get-show-generations): Likewise.
Ludovic Courtès [Wed, 24 Sep 2014 12:05:52 +0000 (14:05 +0200)]
Introduce the 'GUIX_PACKAGE_PATH' environment variable.
* gnu/packages.scm (%package-module-path): Honor $GUIX_PACKAGE_PATH.
* test-env.in: Unset 'GUIX_PACKAGE_PATH'.
* tests/guix-package.sh: Test it.
* doc/guix.texi (Package Modules): Document it.
Ludovic Courtès [Wed, 24 Sep 2014 09:26:30 +0000 (11:26 +0200)]
guix build: Add -L/--load-path as a common option.
* guix/scripts/build.scm (show-build-options-help): Document -L.
(%standard-build-options): Add -L/--load-path.
* tests/guix-package.sh: Test it.
Ludovic Courtès [Wed, 24 Sep 2014 11:53:02 +0000 (13:53 +0200)]
packages: Add '%package-module-search-path'.
* gnu/packages.scm (%package-module-path): New variable.
(all-package-modules): New procedure.
(fold-packages): Use it instead of 'package-modules'.
Ludovic Courtès [Wed, 24 Sep 2014 08:23:27 +0000 (10:23 +0200)]
packages: Generalize package module search.
* gnu/packages.scm (%distro-root-directory): New variable.
(%distro-module-directory): Remove.
(package-files): Rename to...
(scheme-files): ... this. Return absolute file names, not stripped.
(file-name->module-name): New procedure.
(package-modules): Add 'directory' and 'sub-directory' parameters.
Rewrite accordingly.
(fold-packages): Adjust 'package-modules' call accordingly.
Federico Beffa [Tue, 23 Sep 2014 14:20:02 +0000 (16:20 +0200)]
gnu: maxima: Update to 5.34.1 and add dependencies.
* gnu/packages/maths.scm (maxima): Update to 5.34.1 which fixes a bug in
the plotting capabilities present in the previous version. Add Gnuplot
and Tcl/Tk to 'inputs'.
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
Mark H Weaver [Tue, 23 Sep 2014 20:44:22 +0000 (16:44 -0400)]
Use #:prefix instead of #:renamer with 'symbol-prefix-proc'.
* gnu/packages/abiword.scm, gnu/packages/admin.scm, gnu/packages/aidc.scm,
gnu/packages/backup.scm, gnu/packages/bittorrent.scm,
gnu/packages/boost.scm, gnu/packages/compression.scm,
gnu/packages/cryptsetup.scm, gnu/packages/curl.scm,
gnu/packages/cyrus-sasl.scm, gnu/packages/dc.scm, gnu/packages/emacs.scm,
gnu/packages/fonts.scm, gnu/packages/fontutils.scm, gnu/packages/geeqie.scm,
gnu/packages/ghostscript.scm, gnu/packages/gimp.scm,
gnu/packages/gkrellm.scm, gnu/packages/gl.scm, gnu/packages/glib.scm,
gnu/packages/gnome.scm, gnu/packages/gnunet.scm, gnu/packages/gnupg.scm,
gnu/packages/gnutls.scm, gnu/packages/gnuzilla.scm, gnu/packages/gsasl.scm,
gnu/packages/gtk.scm, gnu/packages/gv.scm, gnu/packages/image.scm,
gnu/packages/indent.scm, gnu/packages/inkscape.scm,
gnu/packages/lesstif.scm, gnu/packages/links.scm, gnu/packages/lisp.scm,
gnu/packages/lsh.scm, gnu/packages/lsof.scm, gnu/packages/maths.scm,
gnu/packages/mp3.scm, gnu/packages/openssl.scm, gnu/packages/ots.scm,
gnu/packages/pciutils.scm, gnu/packages/pcre.scm, gnu/packages/pdf.scm,
gnu/packages/pulseaudio.scm, gnu/packages/python.scm, gnu/packages/slim.scm,
gnu/packages/ssh.scm, gnu/packages/texlive.scm, gnu/packages/vim.scm,
gnu/packages/vpn.scm, gnu/packages/web.scm, gnu/packages/wv.scm,
gnu/packages/xiph.scm, gnu/packages/xml.scm, gnu/packages/xorg.scm,
gnu/packages/yasm.scm, gnu/packages/zip.scm,
guix/build/cmake-build-system.scm, guix/build/perl-build-system.scm,
guix/build/python-build-system.scm, guix/download.scm: Replaces uses of
#:renamer and 'symbol-prefix-proc' with #:prefix.
Mark H Weaver [Tue, 23 Sep 2014 20:23:30 +0000 (16:23 -0400)]
gnu: gtk+: Disable tests on mips64el-linux.
* gnu/packages/gtk.scm (gtk+): Disable tests on mips64el-linux.
Ludovic Courtès [Sun, 21 Sep 2014 13:13:23 +0000 (15:13 +0200)]
gnu: gtk+: Remove dependency on Xorg server on mips64el-linux.
Reported by Mark H. Weaver.
* gnu/packages/gtk.scm (gtk+)[native-inputs]: Remove XORG-SERVER on
mips64el-linux.
Ludovic Courtès [Tue, 23 Sep 2014 21:46:01 +0000 (23:46 +0200)]
services: Add 'bitlbee-service'.
* gnu/services/networking.scm (bitlbee-service): New procedure.
* doc/guix.texi (Networking Services): Document it.
Ludovic Courtès [Tue, 23 Sep 2014 20:49:42 +0000 (22:49 +0200)]
gnu: xf86-input-synaptics: Allow building with libc 2.20.
* gnu/packages/patches/xf86-input-synaptics-glibc-2.20.patch: New file.
* gnu-system.am (dist_patch_DATA): Add it.
* gnu/packages/xorg.scm (xf86-input-synaptics): Use it. Improve
synopsis and description.
Ludovic Courtès [Tue, 23 Sep 2014 13:30:13 +0000 (15:30 +0200)]
gnu: node: Add 'which' as an input.
* gnu/packages/node.scm (node)[native-inputs]: Add WHICH.
Ludovic Courtès [Tue, 23 Sep 2014 13:13:46 +0000 (15:13 +0200)]
gnu: xorg: Remove xf86-input-vmmouse.
* gnu/packages/xorg.scm (xf86-input-vmmouse): Remove. This driver
implement the mouse protocol of a proprietary emulator.
* gnu/services/xorg.scm (xorg-start-command): Remove reference.
Ludovic Courtès [Tue, 23 Sep 2014 08:12:17 +0000 (10:12 +0200)]
gnu: linux-libre: Work around GCC 4.8.3 ICE.
* gnu/packages/linux.scm (linux-libre)[inputs]: New field.
Ludovic Courtès [Mon, 22 Sep 2014 21:11:33 +0000 (23:11 +0200)]
system: Add Patch to '%base-packages'.
* gnu/system.scm (%base-packages): Add PATCH.
Ludovic Courtès [Mon, 22 Sep 2014 21:06:33 +0000 (23:06 +0200)]
Merge branch 'core-updates'
Ludovic Courtès [Mon, 22 Sep 2014 19:29:41 +0000 (21:29 +0200)]
linux-initrd: Adjust VM code and doc to new 'base-initrd' signature.
This fixes regressions introduced in
de1c158 ("system: Add support for
boot-time mapped devices.").
* doc/guix.texi (Initial RAM Disk): Adjust example with custom use of
'base-initrd'. Document #:mapped-devices parameter of 'base-initrd'.
* gnu/system/vm.scm (system-disk-image, system-qemu-image,
virtualized-operating-system): Adjust call to 'base-initrd' to new
signature.
Ludovic Courtès [Mon, 22 Sep 2014 19:12:26 +0000 (21:12 +0200)]
syscalls: Adjust /proc/net/dev parser for old kernels.
* guix/build/syscalls.scm (%interface-line): Remove whitespace in rest
pattern. (There's no extra whitespace after the colon with Linux
2.6.32.)
Ludovic Courtès [Mon, 22 Sep 2014 19:06:39 +0000 (21:06 +0200)]
download: Use the 'SERVER NAME' TLS extension when possible.
Fixes <http://bugs.gnu.org/18526>.
Reported by Mark H. Weaver.
* guix/build/download.scm (tls-wrap): Add 'server' parameter. Call
'set-session-server-name!' when (gnutls) defines it.
(open-connection-for-uri): Adjust 'tls-wrap' call accordingly.
Ludovic Courtès [Mon, 22 Sep 2014 12:27:24 +0000 (14:27 +0200)]
gnu: perl-tk: Build sequentially.
Fixes <http://bugs.gnu.org/18262>.
* gnu/packages/tcl.scm (perl-tk)[arguments]: Add #:parallel-build? #f.
Alex Kost [Sun, 21 Sep 2014 10:25:56 +0000 (14:25 +0400)]
guix package: Use 'profile-generations'.
* guix/scripts/package.scm (guix-package)[process-actions]: Use
'profile-generations' instead of the equivalent code.
Alex Kost [Sun, 21 Sep 2014 10:24:09 +0000 (14:24 +0400)]
profiles: Add 'profile-generations'.
* guix/profiles.scm (profile-generations): New procedure.
Ludovic Courtès [Mon, 22 Sep 2014 09:06:42 +0000 (11:06 +0200)]
system: Add support for boot-time mapped devices.
* gnu/build/linux-boot.scm (boot-system): Add #:pre-mount parameter and
honor it.
* gnu/system/linux-initrd.scm (base-initrd): Add #:mapped-devices
parameter. Add 'device-mapping-commands' variable, and use it to
build the #:pre-mount argument of 'boot-system'.
* gnu/system.scm (mapped-device-user,
operating-system-user-mapped-devices,
operating-system-boot-mapped-devices): New procedures.
(device-mapping-services): Use 'operating-system-user-mapped-devices'
instead of 'operating-system-mapped-devices'.
(operating-system-initrd-file): Call the initrd with #:mapped-devices.
Ludovic Courtès [Mon, 22 Sep 2014 08:10:08 +0000 (10:10 +0200)]
activation: Ensure existing user accounts have the right settings.
* gnu/build/activation.scm (modify-user, ensure-user): New procedures.
(activate-users+groups): Systematically call 'ensure-user'.
Ludovic Courtès [Mon, 22 Sep 2014 08:07:52 +0000 (10:07 +0200)]
gnu: valgrind: Update to 3.10.0.
* gnu/packages/valgrind.scm (valgrind): Update to 3.10.0.
* gnu/packages/patches/valgrind-glibc.patch: Remove.
* gnu-system.am (dist_patch_DATA): Adjust accordingly.
Ludovic Courtès [Sat, 20 Sep 2014 21:38:16 +0000 (23:38 +0200)]
gnu: duplicity: Add dependency on util-linux.
* gnu/packages/backup.scm (duplicity)[native-inputs]: Add util-linux.
Ludovic Courtès [Sat, 20 Sep 2014 21:14:48 +0000 (23:14 +0200)]
gnu: ots: Build sequentially.
* gnu/packages/ots.scm (ots)[arguments]: New field.
Ludovic Courtès [Sat, 20 Sep 2014 13:10:11 +0000 (15:10 +0200)]
gnu: Add sound-theme-freedesktop.
Suggested by Federico Beffa <beffa@ieee.org>.
* gnu/packages/libcanberra.scm (sound-theme-freedesktop): New variable.
Ludovic Courtès [Sat, 20 Sep 2014 13:02:45 +0000 (15:02 +0200)]
gnu: libcanberra: Add dependency on PulseAudio and eudev.
* gnu/packages/libcanberra.scm (libcanberra): Add PulseAudio and eudev
as inputs.
Ludovic Courtès [Sat, 20 Sep 2014 12:49:20 +0000 (14:49 +0200)]
gnu: emacs: Switch to GTK+ 3.
Suggested by Federico Beffa <beffa@ieee.org>.
* gnu/packages/emacs.scm (emacs): Switch to GTK+ 3.
Ludovic Courtès [Sat, 20 Sep 2014 12:15:17 +0000 (14:15 +0200)]
gnu: cyrus-sasl: Build sequentially.
* gnu/packages/cyrus-sasl.scm (cyrus-sasl)[arguments]: Pass
#:parallel-build?.
Ludovic Courtès [Sat, 20 Sep 2014 10:23:30 +0000 (12:23 +0200)]
offload: Use a total order when sorting available machines.
* guix/scripts/offload.scm (machine-less-loaded?, machine-faster?):
Remove.
(machine-power-factor): New procedure.
(machine-less-loaded-or-faster?): Use it.
Ludovic Courtès [Sat, 20 Sep 2014 10:10:28 +0000 (12:10 +0200)]
offload: Try another machine when the "best" machine is overloaded.
* guix/scripts/offload.scm (choose-build-machine): When BEST is
overloaded, try the other machines.
Ludovic Courtès [Fri, 19 Sep 2014 19:51:36 +0000 (21:51 +0200)]
linux-boot: Ask fsck for a progress bar.
* gnu/build/file-systems.scm (check-file-system): Pass '-C 0' to FSCK.
Suggested by Mark H. Weaver.
Ludovic Courtès [Fri, 19 Sep 2014 12:50:23 +0000 (14:50 +0200)]
gnu: guile-charting: Update to 0.2.0.
* gnu/packages/guile.scm (guile-charting): Update to 0.2.0. Remove
now-unnecessary cruft from 'snippet'. Modify 'godir' in Makefile.in.
Ludovic Courtès [Fri, 19 Sep 2014 09:58:49 +0000 (11:58 +0200)]
system: Fix value of 'EUDEV_RULES_DIRECTORY'.
* gnu/services/base.scm (udev-service): Append "/lib/udev/rules.d" to
EUDEV_RULES_DIRECTORY.
Alex Kost [Fri, 19 Sep 2014 11:31:19 +0000 (15:31 +0400)]
gnu: Fix typos.
* gnu/packages/cdrom.scm (cdparanoia): Double space in description.
* gnu/packages/maths.scm (hdf5): Double space in synopsis.