jackhill/guix/guix.git
9 years agobuild-system: Introduce "bags" as an intermediate representation.
Ludovic Courtès [Fri, 3 Oct 2014 16:06:16 +0000 (18:06 +0200)]
build-system: Introduce "bags" as an intermediate representation.

* guix/build-system.scm (<build-system>)[build, cross-build]: Remove.
  [lower]: New field.
  (<bag>): New record type.
  (make-bag): New procedure.
* guix/packages.scm (bag-transitive-inputs, bag-transitive-build-inputs,
  bag-transitive-host-inputs, bag-transitive-target-inputs,
  package->bag): New procedures.
  (package-derivation): Use it; use the bag, apply its build procedure,
  etc.
  (package-cross-derivation): Likewise.
* gnu/packages/bootstrap.scm (raw-build, make-raw-bag): New procedure.
  (%bootstrap-guile): Use them.
* guix/build-system/trivial.scm (lower): New procedure.
  (trivial-build, trivial-cross-build): Remove 'source' parameter.  Pass
  INPUTS as is.
  (trivial-build-system): Adjust accordingly.
* guix/build-system/gnu.scm (%store, inputs-search-paths,
  standard-search-paths, expand-inputs, standard-inputs): Remove.
  (gnu-lower): New procedure.
  (gnu-build): Remove 'source' and #:implicit-inputs? parameters.
  Remove 'implicit-inputs' and 'implicit-search-paths' variables.  Get
  the source from INPUT-DRVS.
  (gnu-cross-build): Likewise.
  (standard-cross-packages): Remove call to 'standard-packages'.
  (standard-cross-inputs, standard-cross-search-paths): Remove.
  (gnu-build-system): Remove 'build' and 'cross-build'; add 'lower'.
* guix/build-system/cmake.scm (lower): New procedure.
  (cmake-build): Remove 'source' and #:cmake parameters.  Use INPUTS and
  SEARCH-PATHS as is.  Get the source from INPUTS.
* guix/build-system/perl.scm: Likewise.
* guix/build-system/python.scm: Likewise.
* guix/build-system/ruby.scm: Likewise.
* gnu/packages/cross-base.scm (cross-gcc): Change "cross-linux-headers"
  to "linux-headers".
  (cross-libc)[xlinux-headers]: Pass #:implicit-cross-inputs? #f.
  Likewise.  In 'propagated-inputs', change "cross-linux-headers" to
  "linux-headers".
* guix/git-download.scm (git-fetch): Use 'standard-packages' instead of
  'standard-inputs'.
* tests/builders.scm ("gnu-build-system"): Remove use of
  'build-system-builder'.
  ("gnu-build"): Remove 'source' and #:implicit-inputs? arguments to
  'gnu-build'.
* tests/packages.scm ("search paths"): Adjust to new build system API.
  ("package-cross-derivation, no cross builder"): Likewise.
* doc/guix.texi (Build Systems): Add paragraph on bags.

9 years agobuild-system: Remove irrelevant special case.
Ludovic Courtès [Wed, 1 Oct 2014 20:11:45 +0000 (22:11 +0200)]
build-system: Remove irrelevant special case.

* guix/build-system/gnu.scm (gnu-build, gnu-cross-build): Remove comment
  about case where GUILE is a derivation path.
* guix/build-system/cmake.scm (cmake-build): Remove case where GUILE is
  a derivation path.
* guix/build-system/perl.scm (perl-build): Likewise.
* guix/build-system/python.scm (python-build): Likewise.
* guix/build-system/ruby.scm (ruby-build): Likewise.
* guix/build-system/trivial.scm (guile-for-build): Likewise.

9 years agoutils: Add 'strip-keyword-arguments'.
Ludovic Courtès [Wed, 1 Oct 2014 08:19:14 +0000 (10:19 +0200)]
utils: Add 'strip-keyword-arguments'.

* guix/utils.scm (strip-keyword-arguments): New procedure.
* tests/utils.scm ("strip-keyword-arguments"): New test.

9 years agoguix package: Export generation procedures.
Alex Kost [Sat, 4 Oct 2014 16:45:35 +0000 (20:45 +0400)]
guix package: Export generation procedures.

* guix/scripts/package.scm: Export 'roll-back', 'delete-generation',
  'delete-generations'.
  (link-to-empty-profile, roll-back): Add 'store' argument.
  (delete-generations): New procedure.
  (guix-package): Adjust accordingly.
  [delete-generation]: Move to the top level.  Add 'store' and 'profile'
  arguments.
  [display-and-delete]: Move to 'delete-generation'.

9 years agognu: bazaar: Update to 2.6.0.
Jason Self [Sat, 4 Oct 2014 23:21:51 +0000 (16:21 -0700)]
gnu: bazaar: Update to 2.6.0.

* gnu/packages/version-control.scm (bazaar): Update to version 2.6.0.

9 years agognu: git: Fix download location.
Andreas Enge [Sat, 4 Oct 2014 22:12:02 +0000 (00:12 +0200)]
gnu: git: Fix download location.

* gnu/packages/version-control.scm (git): Fix source uri by switching
    to kernel.org.

9 years agognu: git: Update to 2.1.2.
Ludovic Courtès [Sat, 4 Oct 2014 21:28:41 +0000 (23:28 +0200)]
gnu: git: Update to 2.1.2.

* gnu/packages/version-control.scm (git): Update to 2.1.2.

9 years agobuild-system/cmake: Add #:build-type parameter, default to "RelWithDebInfo".
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.

9 years agognu: pspp: Upgrade to 0.8.4.
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.

9 years agognu: windowmaker: Update to 0.95.6.
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.

9 years agoui: Recognize the same size units as Coreutils.
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.

9 years agodownload: Allow raw file names or file:// URLs.
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.

9 years agoemacs: Add support for modifying options during operation confirmation.
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'.

9 years agognu: Add dfu-programmer
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>
9 years agognu: tor: Update to 0.2.4.24.
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.

9 years agognu: autogen: Upgrade to 5.18.4.
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.

9 years agognu: Add perf.
Ludovic Courtès [Tue, 30 Sep 2014 13:56:47 +0000 (15:56 +0200)]
gnu: Add perf.

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

9 years agognu: Move flashrom and avrdude to (gnu packages flashing-tools).
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>
9 years agopull: Add dependency on Guile-JSON.
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.

9 years agobuild: Build pypi modules only if 'guile-json' is available.
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'.

9 years agognu: Move giflib to (gnu packages image).
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.

9 years agoimport: Add PyPI importer.
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.

9 years agognu: Add dblatex.
Eric Bavier [Mon, 29 Sep 2014 21:58:56 +0000 (16:58 -0500)]
gnu: Add dblatex.

* gnu/packages/docbook.scm (dblatex): New variable.

9 years agognu: guile-ncurses: Update to 1.5.
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.

9 years agopackages: Optimize 'find-packages-by-name' to avoid disk accesses.
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*'.

9 years agonls: Recognize 'N_' as equivalent to 'ngettext'.
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'.

9 years agognu: bash: Update to 4.3.27 and fix out-of-bounds memory accesses.
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>
9 years agognu: Add synergy.
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.

9 years agognu: duplicity: Fix and disable some tests.
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.

9 years agognu: Add dionysus.
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>
9 years agognu: Add ruby-i18n.
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.

9 years agobuild: Add ruby build system.
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.

9 years agognu: Add ruby.
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.

9 years agoemacs: Use package/output type variables where needed.
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'.

9 years agoemacs: Support font-locking.
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.

9 years agoemacs: Fix errors in receiving information.
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.

9 years agodoc: Use 'define-public' in example package recipe.
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>
9 years agognu: hurd-headers: Use --build instead of --host.
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>
9 years agognu: qt-4: Explicitly link with icu.
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.

9 years agognu: Add Nix.
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.

9 years agognu: Add perl-www-curl.
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.

9 years agognu: Add perl-dbi and perl-dbd-sqlite.
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.

9 years agognu: mit-scheme: Rename top-level helper.
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.

9 years agognu: Add graphite2.
Andreas Enge [Sat, 27 Sep 2014 21:47:05 +0000 (23:47 +0200)]
gnu: Add graphite2.

* gnu/packages/fontutils.scm (graphite2): New variable.

9 years agognu: mit-scheme: Delete more dangling symlinks for non-x86 systems.
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.

9 years agognu: mit-scheme: Fix source file name for mips64el.
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.

9 years agognu: phonon: Update to 4.8.0.
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.

9 years agobuild: Don't install elisp files when Emacs is unavailable.
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'.

9 years agobuild: Don't generate Emacs autoloads when Emacs is unavailable.
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'.

9 years agognu: mit-scheme: Update to 9.2.
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.

9 years agognu: libxscrnsaver: Propagate input scrnsaverproto.
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.

9 years agognu: help2man: Update to 1.46.3.
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.

9 years agognu: gcl: Update to 2.6.11.
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.

9 years agognu: parallel: Update to 20140922.
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.

9 years agognu: libidn: Update to 1.29.
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.

9 years agognu: rcs: Update to 5.9.3.
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.

9 years agognu: maxima: Install .el files in the right place, and help find Gnuplot.
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>
9 years agognu: ucommon: Update to 6.1.11.
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.

9 years agognu: libassuan: Update to 2.1.2.
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.

9 years agoMerge branch 'bash-cve-2014-6271'
Ludovic Courtès [Fri, 26 Sep 2014 07:49:09 +0000 (09:49 +0200)]
Merge branch 'bash-cve-2014-6271'

9 years agognu: Add scrot.
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.

9 years agognu: Add giblib.
Alex Kost [Thu, 25 Sep 2014 08:29:43 +0000 (12:29 +0400)]
gnu: Add giblib.

* gnu/packages/image.scm (giblib): New variable.

9 years agognu: Add imlib2.
Alex Kost [Thu, 25 Sep 2014 08:27:25 +0000 (12:27 +0400)]
gnu: Add imlib2.

* gnu/packages/image.scm (imlib2): New variable.

9 years agognu: libtoxcore: Update to 1.0.0.
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.

9 years agognu: bash: Apply patch series up to 25 [CVE-2014-6271].
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.

9 years agognu: bootstrap: Correctly handle patches that are origins.
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.

9 years agognupg: Correctly parse current 'SIG_ID' lines.
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.

9 years agopackages: Allow use of origins as patches.
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.

9 years agoemacs: Add support for displaying outputs.
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.

9 years agoemacs: Rewrite scheme side in a functional manner.
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.

9 years agoemacs: Use general functions instead of generated ones.
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.

9 years agoIntroduce the 'GUIX_PACKAGE_PATH' environment variable.
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.

9 years agoguix build: Add -L/--load-path as a common option.
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.

9 years agopackages: Add '%package-module-search-path'.
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'.

9 years agopackages: Generalize package module search.
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.

9 years agognu: maxima: Update to 5.34.1 and add dependencies.
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>
9 years agoUse #:prefix instead of #:renamer with 'symbol-prefix-proc'.
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.

9 years agognu: gtk+: Disable tests on mips64el-linux.
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.

9 years agognu: gtk+: Remove dependency on Xorg server 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.

9 years agoservices: Add 'bitlbee-service'.
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.

9 years agognu: xf86-input-synaptics: Allow building with libc 2.20.
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.

9 years agognu: node: Add 'which' as an input.
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.

9 years agognu: xorg: Remove xf86-input-vmmouse.
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.

9 years agognu: linux-libre: Work around GCC 4.8.3 ICE.
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.

9 years agosystem: Add Patch to '%base-packages'.
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.

9 years agoMerge branch 'core-updates'
Ludovic Courtès [Mon, 22 Sep 2014 21:06:33 +0000 (23:06 +0200)]
Merge branch 'core-updates'

9 years agolinux-initrd: Adjust VM code and doc to new 'base-initrd' signature.
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.

9 years agosyscalls: Adjust /proc/net/dev parser for old kernels.
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.)

9 years agodownload: Use the 'SERVER NAME' TLS extension when possible.
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.

9 years agognu: perl-tk: Build sequentially.
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.

9 years agoguix package: Use 'profile-generations'.
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.

9 years agoprofiles: Add 'profile-generations'.
Alex Kost [Sun, 21 Sep 2014 10:24:09 +0000 (14:24 +0400)]
profiles: Add 'profile-generations'.

* guix/profiles.scm (profile-generations): New procedure.

9 years agosystem: Add support for boot-time mapped devices.
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.

9 years agoactivation: Ensure existing user accounts have the right settings.
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'.

9 years agognu: valgrind: Update to 3.10.0.
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.

9 years agognu: duplicity: Add dependency on util-linux.
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.

9 years agognu: ots: Build sequentially.
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.

9 years agognu: Add sound-theme-freedesktop.
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.

9 years agognu: libcanberra: Add dependency on PulseAudio and eudev.
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.

9 years agognu: emacs: Switch to GTK+ 3.
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.