Ludovic Courtès
9ffc1c00e5
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*'.
2014-09-29 22:03:46 +02:00
Ludovic Courtès
34942e9597
nls: Recognize 'N_' as equivalent to 'ngettext'.
...
This fixes i18n of plural messages.
* po/guix/Makevars (XGETTEXT_OPTIONS): Change 'N_' to 'N_:1,2'.
2014-09-29 22:03:46 +02:00
Mark H Weaver
2d5d63d718
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>
2014-09-29 14:14:54 -04:00
Eric Bavier
b5f4bb855d
gnu: Add synergy.
...
* gnu/packages/synergy.scm: New file.
* gnu-system.am (GNU_SYSTEM_MODULES): Add it.
2014-09-29 09:40:31 -05:00
Eric Bavier
335bc6833f
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.
2014-09-28 18:24:25 -05:00
Mathieu Lirzin
182d6311c2
gnu: Add dionysus.
...
* gnu/packages/maths.scm (dionysus): New variable.
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2014-09-29 00:16:28 +02:00
David Thompson
acf735f2be
gnu: Add ruby-i18n.
...
* gnu/packages/ruby.scm (ruby-i18n): New variable.
2014-09-28 15:09:24 -04:00
David Thompson
c08f9818f9
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.
2014-09-28 15:09:24 -04:00
Pjotr Prins
6ef8c59a7a
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.
2014-09-28 15:09:24 -04:00
Alex Kost
3472bb20c5
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'.
2014-09-28 22:46:15 +04:00
Alex Kost
2e269860c4
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.
2014-09-28 22:46:15 +04:00
Alex Kost
ce8b295352
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.
2014-09-28 22:46:14 +04:00
Ian Denhardt
79f5dd5915
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>
2014-09-28 12:01:45 +02:00
Manolis Ragkousis
29a61bd0a5
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>
2014-09-28 11:53:20 +02:00
Andreas Enge
47e225cde8
gnu: qt-4: Explicitly link with icu.
...
* gnu/packages/qt.scm (qt-4): Explicitly link with libicui18n, which is
dlopened by QtCore.so.
2014-09-28 09:35:32 +02:00
Ludovic Courtès
fcb0109d09
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.
2014-09-28 01:04:18 +02:00
Ludovic Courtès
d22d72fc50
gnu: Add perl-www-curl.
...
* gnu/packages/web.scm (perl-www-curl): New variable.
2014-09-28 00:52:05 +02:00
Ludovic Courtès
274da61d51
gnu: Add perl-dbi and perl-dbd-sqlite.
...
* gnu/packages/databases.scm (perl-dbi, perl-dbd-sqlite): New variable.
2014-09-28 00:41:39 +02:00
Ludovic Courtès
a0efb39ad4
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.
2014-09-27 23:59:30 +02:00
Andreas Enge
319e2d1736
gnu: Add graphite2.
...
* gnu/packages/fontutils.scm (graphite2): New variable.
2014-09-27 23:48:30 +02:00
Andreas Enge
68dddcad62
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.
2014-09-27 20:04:43 +02:00
Andreas Enge
ecb26c101e
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.
2014-09-27 19:36:57 +02:00
Andreas Enge
dc47939172
gnu: phonon: Update to 4.8.0.
...
* gnu/packages/kde.scm (phonon): Update to 4.8.0.
2014-09-27 17:50:14 +02:00
Ludovic Courtès
a9638ac413
build: Don't install elisp files when Emacs is unavailable.
...
* emacs.am (dist_lisp_DATA, nodist_lisp_DATA): Wrap in 'if HAVE_EMACS'.
2014-09-27 17:30:10 +02:00
Ludovic Courtès
596fcbf768
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'.
2014-09-27 17:27:21 +02:00
Andreas Enge
6c4a2884b6
gnu: mit-scheme: Update to 9.2.
...
* gnu/packages/scheme.scm (mit-scheme): Update to 9.2.
2014-09-27 16:51:44 +02:00
Andreas Enge
17b9d16fa2
gnu: libxscrnsaver: Propagate input scrnsaverproto.
...
* gnu/packages/xorg.scm (libxscrnsaver): Propagate input scrnsaverproto,
since scrnsaver.h from libxscrnsaver includes saver.h from scrnsaverproto.
2014-09-27 15:49:06 +02:00
Andreas Enge
38877bf346
gnu: help2man: Update to 1.46.3.
...
* gnu/packages/man.scm (help2man): Update to 1.46.3.
2014-09-27 12:31:37 +02:00
Andreas Enge
237c048609
gnu: gcl: Update to 2.6.11.
...
* gnu/packages/lisp.scm (gcl): Update to 2.6.11.
2014-09-27 12:13:53 +02:00
Andreas Enge
483ca9d88d
gnu: parallel: Update to 20140922.
...
* gnu/packages/parallel.scm (parallel): Update to 20140922.
2014-09-27 12:08:21 +02:00
Andreas Enge
5520c94c94
gnu: libidn: Update to 1.29.
...
* gnu/packages/libidn.scm (libidn): Update to 1.29.
2014-09-27 11:30:33 +02:00
Andreas Enge
53f896f23f
gnu: rcs: Update to 5.9.3.
...
* gnu/packages/version-control.scm (rcs): Update to 5.9.3.
2014-09-27 11:27:47 +02:00
Federico Beffa
f36afe4d05
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>
2014-09-27 11:22:58 +02:00
Andreas Enge
dd0b0e681b
gnu: ucommon: Update to 6.1.11.
...
* gnu/packages/telephony.scm (ucommon): Update to 6.1.11.
2014-09-27 10:25:22 +02:00
Andreas Enge
05681d7388
gnu: libassuan: Update to 2.1.2.
...
* gnu/packages/gnupg.scm (libassuan): Update to 2.1.2.
2014-09-27 09:17:56 +02:00
Ludovic Courtès
b5c5d763ca
Merge branch 'bash-cve-2014-6271'
2014-09-26 09:49:09 +02:00
Alex Kost
223ecaba7f
gnu: Add scrot.
...
* gnu/packages/scrot.scm: New file.
* gnu-system.am (GNU_SYSTEM_MODULES): Add it.
2014-09-26 09:23:11 +04:00
Alex Kost
f7d28082bb
gnu: Add giblib.
...
* gnu/packages/image.scm (giblib): New variable.
2014-09-26 09:23:10 +04:00
Alex Kost
76d88cfa57
gnu: Add imlib2.
...
* gnu/packages/image.scm (imlib2): New variable.
2014-09-26 09:23:10 +04:00
David Thompson
fddb640971
gnu: libtoxcore: Update to 1.0.0.
...
* gnu/packages/crypto.scm (libsodium): Update version and change home-page.
2014-09-24 17:17:24 -04:00
Ludovic Courtès
c1fe82d586
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.
2014-09-24 19:19:03 +02:00
Ludovic Courtès
ce517b20d4
gnu: bootstrap: Correctly handle patches that are origins.
...
* gnu/packages/bootstrap.scm (bootstrap-origin): Rewrite the patches of
SOURCES that are also origins.
2014-09-24 19:08:54 +02:00
Ludovic Courtès
27afb11a22
gnupg: Correctly parse current 'SIG_ID' lines.
...
* guix/gnupg.scm (gnupg-verify)[sigid-rx]: Adjust to handle current
signature ID encoding.
2014-09-24 19:08:03 +02:00
Ludovic Courtès
3f6f7b36d3
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.
2014-09-24 19:07:22 +02:00
Alex Kost
a54a237b5f
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.
2014-09-24 16:09:20 +04:00
Alex Kost
81b339fe31
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.
2014-09-24 16:09:20 +04:00
Alex Kost
dfeb023927
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.
2014-09-24 16:09:20 +04:00
Ludovic Courtès
8689901f95
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.
2014-09-24 14:06:09 +02:00
Ludovic Courtès
300868ba57
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.
2014-09-24 14:06:09 +02:00
Ludovic Courtès
c107b54108
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'.
2014-09-24 14:06:08 +02:00