summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarius Bakke <mbakke@fastmail.com>2018-04-16 18:15:28 +0200
committerMarius Bakke <mbakke@fastmail.com>2018-04-16 18:15:28 +0200
commit5d904d63f4d43e3f0e4be38c5f5404e029c00a22 (patch)
treeb2893eceae99c967e0f49cdbfe084f6c7d4767c4
parentbab5f3a7f62150ae009e78d03c4b1f5b1646104c (diff)
parentd0ee11b2f000c3c027fd8370bc2195266398444f (diff)
downloadpatches-5d904d63f4d43e3f0e4be38c5f5404e029c00a22.tar
patches-5d904d63f4d43e3f0e4be38c5f5404e029c00a22.tar.gz
Merge branch 'master' into staging
-rw-r--r--Makefile.am28
-rw-r--r--build-aux/build-self.scm460
-rw-r--r--build-aux/check-final-inputs-self-contained.scm36
-rw-r--r--build-aux/compile-as-derivation.scm53
-rw-r--r--build-aux/cuirass/gnu-system.scm28
-rw-r--r--build-aux/cuirass/guix-modular.scm6
-rw-r--r--build-aux/cuirass/hydra-to-cuirass.scm47
-rw-r--r--build-aux/hydra/evaluate.scm11
-rw-r--r--build-aux/hydra/gnu-system.scm11
-rw-r--r--build-aux/hydra/guix-modular.scm54
-rw-r--r--build-aux/hydra/guix.scm4
-rw-r--r--doc/guix.texi583
-rwxr-xr-xetc/guix-install.sh19
-rw-r--r--gnu/bootloader.scm3
-rw-r--r--gnu/build/activation.scm5
-rw-r--r--gnu/build/vm.scm20
-rw-r--r--gnu/local.mk19
-rw-r--r--gnu/packages.scm27
-rw-r--r--gnu/packages/admin.scm38
-rw-r--r--gnu/packages/audio.scm4
-rw-r--r--gnu/packages/aux-files/linux-libre/4.16-arm.conf (renamed from gnu/packages/aux-files/linux-libre/4.15-arm.conf)181
-rw-r--r--gnu/packages/aux-files/linux-libre/4.16-i686.conf (renamed from gnu/packages/aux-files/linux-libre/4.15-i686.conf)252
-rw-r--r--gnu/packages/aux-files/linux-libre/4.16-x86_64.conf (renamed from gnu/packages/aux-files/linux-libre/4.15-x86_64.conf)250
-rw-r--r--gnu/packages/backup.scm15
-rw-r--r--gnu/packages/bioconductor.scm32
-rw-r--r--gnu/packages/bioinformatics.scm143
-rw-r--r--gnu/packages/bittorrent.scm46
-rw-r--r--gnu/packages/bootloaders.scm24
-rw-r--r--gnu/packages/bootstrap.scm3
-rw-r--r--gnu/packages/build-tools.scm24
-rw-r--r--gnu/packages/ccache.scm6
-rw-r--r--gnu/packages/cdrom.scm6
-rw-r--r--gnu/packages/check.scm29
-rw-r--r--gnu/packages/ci.scm6
-rw-r--r--gnu/packages/cobol.scm2
-rw-r--r--gnu/packages/compression.scm9
-rw-r--r--gnu/packages/cran.scm453
-rw-r--r--gnu/packages/crypto.scm52
-rw-r--r--gnu/packages/cups.scm4
-rw-r--r--gnu/packages/databases.scm23
-rw-r--r--gnu/packages/datamash.scm6
-rw-r--r--gnu/packages/debian.scm5
-rw-r--r--gnu/packages/dictionaries.scm28
-rw-r--r--gnu/packages/disk.scm86
-rw-r--r--gnu/packages/django.scm29
-rw-r--r--gnu/packages/dunst.scm14
-rw-r--r--gnu/packages/elf.scm12
-rw-r--r--gnu/packages/emacs.scm587
-rw-r--r--gnu/packages/embedded.scm4
-rw-r--r--gnu/packages/emulators.scm9
-rw-r--r--gnu/packages/engineering.scm93
-rw-r--r--gnu/packages/firmware.scm97
-rw-r--r--gnu/packages/flashing-tools.scm43
-rw-r--r--gnu/packages/fonts.scm158
-rw-r--r--gnu/packages/fontutils.scm4
-rw-r--r--gnu/packages/freedesktop.scm4
-rw-r--r--gnu/packages/fribidi.scm9
-rw-r--r--gnu/packages/ftp.scm4
-rw-r--r--gnu/packages/game-development.scm6
-rw-r--r--gnu/packages/games.scm19
-rw-r--r--gnu/packages/gnome.scm45
-rw-r--r--gnu/packages/gnunet.scm9
-rw-r--r--gnu/packages/gnupg.scm27
-rw-r--r--gnu/packages/gnuzilla.scm27
-rw-r--r--gnu/packages/gps.scm4
-rw-r--r--gnu/packages/graph.scm5
-rw-r--r--gnu/packages/graphviz.scm39
-rw-r--r--gnu/packages/gstreamer.scm1
-rw-r--r--gnu/packages/gtk.scm2
-rw-r--r--gnu/packages/guile.scm37
-rw-r--r--gnu/packages/haskell-check.scm31
-rw-r--r--gnu/packages/haskell-crypto.scm137
-rw-r--r--gnu/packages/haskell-web.scm278
-rw-r--r--gnu/packages/haskell.scm899
-rw-r--r--gnu/packages/image-viewers.scm17
-rw-r--r--gnu/packages/image.scm56
-rw-r--r--gnu/packages/java.scm779
-rw-r--r--gnu/packages/javascript.scm4
-rw-r--r--gnu/packages/kde.scm27
-rw-r--r--gnu/packages/ldc.scm8
-rw-r--r--gnu/packages/less.scm4
-rw-r--r--gnu/packages/libcanberra.scm4
-rw-r--r--gnu/packages/libffi.scm4
-rw-r--r--gnu/packages/libreoffice.scm15
-rw-r--r--gnu/packages/libusb.scm15
-rw-r--r--gnu/packages/license.scm5
-rw-r--r--gnu/packages/linux.scm101
-rw-r--r--gnu/packages/lisp.scm13
-rw-r--r--gnu/packages/llvm.scm109
-rw-r--r--gnu/packages/mail.scm106
-rw-r--r--gnu/packages/mate.scm4
-rw-r--r--gnu/packages/maths.scm76
-rw-r--r--gnu/packages/mes.scm4
-rw-r--r--gnu/packages/messaging.scm66
-rw-r--r--gnu/packages/mp3.scm17
-rw-r--r--gnu/packages/mpd.scm4
-rw-r--r--gnu/packages/mpi.scm31
-rw-r--r--gnu/packages/multiprecision.scm29
-rw-r--r--gnu/packages/music.scm94
-rw-r--r--gnu/packages/nano.scm4
-rw-r--r--gnu/packages/networking.scm7
-rw-r--r--gnu/packages/node.scm4
-rw-r--r--gnu/packages/ntp.scm19
-rw-r--r--gnu/packages/ocaml.scm11
-rw-r--r--gnu/packages/openstack.scm4
-rw-r--r--gnu/packages/package-management.scm35
-rw-r--r--gnu/packages/parallel.scm4
-rw-r--r--gnu/packages/password-utils.scm49
-rw-r--r--gnu/packages/patches/4store-unset-preprocessor-directive.patch16
-rw-r--r--gnu/packages/patches/clang-3.5-libc-search-path.patch (renamed from gnu/packages/patches/clang-libc-search-path.patch)0
-rw-r--r--gnu/packages/patches/clang-6.0-libc-search-path.patch67
-rw-r--r--gnu/packages/patches/classpath-aarch64-support.patch29
-rw-r--r--gnu/packages/patches/cool-retro-term-remove-non-free-fonts.patch205
-rw-r--r--gnu/packages/patches/datamash-arm-tests.patch71
-rw-r--r--gnu/packages/patches/delly-use-system-libraries.patch56
-rw-r--r--gnu/packages/patches/freeimage-unbundle.patch550
-rw-r--r--gnu/packages/patches/htop-fix-process-tree.patch99
-rw-r--r--gnu/packages/patches/hwloc-tests-without-sysfs.patch42
-rw-r--r--gnu/packages/patches/libgnomeui-utf8.patch6
-rw-r--r--gnu/packages/patches/libusb-for-axoloti.patch14
-rw-r--r--gnu/packages/patches/links-CVE-2017-11114.patch99
-rw-r--r--gnu/packages/patches/lyx-2.2.3-fix-test.patch13
-rw-r--r--gnu/packages/patches/mupdf-CVE-2018-1000051.patch88
-rw-r--r--gnu/packages/patches/mupdf-CVE-2018-6544.patch109
-rw-r--r--gnu/packages/patches/mupen64plus-video-z64-glew-correct-path.patch36
-rw-r--r--gnu/packages/patches/racket-fix-xform-issue.patch63
-rw-r--r--gnu/packages/patches/sharutils-CVE-2018-1000097.patch21
-rw-r--r--gnu/packages/patches/translate-shell-fix-curl-tests.patch60
-rw-r--r--gnu/packages/pdf.scm4
-rw-r--r--gnu/packages/perl-web.scm24
-rw-r--r--gnu/packages/perl.scm355
-rw-r--r--gnu/packages/photo.scm8
-rw-r--r--gnu/packages/php.scm4
-rw-r--r--gnu/packages/plotutils.scm5
-rw-r--r--gnu/packages/pure.scm68
-rw-r--r--gnu/packages/python-crypto.scm21
-rw-r--r--gnu/packages/python.scm98
-rw-r--r--gnu/packages/rdf.scm15
-rw-r--r--gnu/packages/regex.scm11
-rw-r--r--gnu/packages/ruby.scm18
-rw-r--r--gnu/packages/rust.scm1467
-rw-r--r--gnu/packages/samba.scm4
-rw-r--r--gnu/packages/scheme.scm8
-rw-r--r--gnu/packages/search.scm50
-rw-r--r--gnu/packages/spice.scm4
-rw-r--r--gnu/packages/ssh.scm11
-rw-r--r--gnu/packages/statistics.scm39
-rw-r--r--gnu/packages/syncthing.scm14
-rw-r--r--gnu/packages/syndication.scm9
-rw-r--r--gnu/packages/terminals.scm178
-rw-r--r--gnu/packages/tex.scm92
-rw-r--r--gnu/packages/text-editors.scm66
-rw-r--r--gnu/packages/textutils.scm10
-rw-r--r--gnu/packages/tls.scm50
-rw-r--r--gnu/packages/tmux.scm4
-rw-r--r--gnu/packages/tv.scm5
-rw-r--r--gnu/packages/upnp.scm4
-rw-r--r--gnu/packages/version-control.scm89
-rw-r--r--gnu/packages/video.scm81
-rw-r--r--gnu/packages/virtualization.scm10
-rw-r--r--gnu/packages/vpn.scm4
-rw-r--r--gnu/packages/web-browsers.scm7
-rw-r--r--gnu/packages/web.scm45
-rw-r--r--gnu/packages/wine.scm6
-rw-r--r--gnu/packages/wm.scm17
-rw-r--r--gnu/packages/xdisorg.scm38
-rw-r--r--gnu/packages/xorg.scm12
-rw-r--r--gnu/services.scm7
-rw-r--r--gnu/services/certbot.scm22
-rw-r--r--gnu/services/cgit.scm133
-rw-r--r--gnu/services/desktop.scm22
-rw-r--r--gnu/system.scm11
-rw-r--r--gnu/system/examples/docker-image.tmpl47
-rw-r--r--gnu/system/nss.scm10
-rw-r--r--gnu/system/shadow.scm3
-rw-r--r--gnu/system/vm.scm117
-rw-r--r--guix/build-system/cargo.scm21
-rw-r--r--guix/build/union.scm40
-rw-r--r--guix/ci.scm78
-rw-r--r--guix/discovery.scm31
-rw-r--r--guix/docker.scm200
-rw-r--r--guix/gexp.scm101
-rw-r--r--guix/git.scm82
-rw-r--r--guix/modules.scm10
-rw-r--r--guix/scripts/build.scm16
-rw-r--r--guix/scripts/environment.scm2
-rw-r--r--guix/scripts/gc.scm10
-rw-r--r--guix/scripts/graph.scm38
-rw-r--r--guix/scripts/pack.scm73
-rw-r--r--guix/scripts/package.scm17
-rw-r--r--guix/scripts/system.scm12
-rw-r--r--guix/scripts/weather.scm109
-rw-r--r--guix/self.scm610
-rw-r--r--guix/upstream.scm5
-rw-r--r--nix/libstore/globals.cc44
-rw-r--r--nix/libstore/globals.hh4
-rw-r--r--nix/libstore/local-store.cc159
-rw-r--r--nix/libstore/local-store.hh7
-rw-r--r--nix/libstore/misc.cc114
-rw-r--r--nix/libstore/misc.hh7
-rw-r--r--nix/libstore/store-api.cc31
-rw-r--r--nix/libstore/store-api.hh17
-rw-r--r--po/guix/LINGUAS1
-rw-r--r--po/guix/es.po2994
-rw-r--r--po/packages/LINGUAS1
-rw-r--r--po/packages/es.po19381
-rw-r--r--tests/gexp.scm84
-rw-r--r--tests/graph.scm20
-rw-r--r--tests/guix-gc.sh5
-rw-r--r--tests/guix-pack.sh83
-rw-r--r--tests/guix-package.sh8
-rw-r--r--tests/guix-system.sh17
-rw-r--r--tests/syscalls.scm10
-rw-r--r--tests/union.scm42
214 files changed, 32176 insertions, 4782 deletions
diff --git a/Makefile.am b/Makefile.am
index 0c653b54e4..4d59fde839 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -81,6 +81,7 @@ MODULES = \
guix/derivations.scm \
guix/grafts.scm \
guix/gnu-maintenance.scm \
+ guix/self.scm \
guix/upstream.scm \
guix/licenses.scm \
guix/glob.scm \
@@ -204,7 +205,6 @@ MODULES = \
guix/scripts/import/texlive.scm \
guix/scripts/environment.scm \
guix/scripts/publish.scm \
- guix/scripts/weather.scm \
guix/scripts/edit.scm \
guix/scripts/size.scm \
guix/scripts/graph.scm \
@@ -216,6 +216,7 @@ MODULES = \
if HAVE_GUILE_JSON
MODULES += \
+ guix/ci.scm \
guix/docker.scm \
guix/import/cpan.scm \
guix/import/crate.scm \
@@ -229,7 +230,8 @@ MODULES += \
guix/scripts/import/gem.scm \
guix/scripts/import/json.scm \
guix/scripts/import/pypi.scm \
- guix/scripts/import/stackage.scm
+ guix/scripts/import/stackage.scm \
+ guix/scripts/weather.scm
endif
@@ -255,9 +257,9 @@ dist_noinst_DATA = guix/tests.scm guix/tests/http.scm
# Auxiliary files for packages.
AUX_FILES = \
gnu/packages/aux-files/emacs/guix-emacs.el \
- gnu/packages/aux-files/linux-libre/4.15-arm.conf \
- gnu/packages/aux-files/linux-libre/4.15-i686.conf \
- gnu/packages/aux-files/linux-libre/4.15-x86_64.conf \
+ gnu/packages/aux-files/linux-libre/4.16-arm.conf \
+ gnu/packages/aux-files/linux-libre/4.16-i686.conf \
+ gnu/packages/aux-files/linux-libre/4.16-x86_64.conf \
gnu/packages/aux-files/linux-libre/4.14-arm.conf \
gnu/packages/aux-files/linux-libre/4.14-i686.conf \
gnu/packages/aux-files/linux-libre/4.14-x86_64.conf \
@@ -374,6 +376,7 @@ SH_TESTS = \
tests/guix-download.sh \
tests/guix-gc.sh \
tests/guix-hash.sh \
+ tests/guix-pack.sh \
tests/guix-package.sh \
tests/guix-package-net.sh \
tests/guix-system.sh \
@@ -457,7 +460,7 @@ EXTRA_DIST = \
TODO \
CODE-OF-CONDUCT \
.dir-locals.el \
- bin/guix.in \
+ scripts/guix.in \
etc/guix-install.sh \
build-aux/build-self.scm \
build-aux/compile-all.scm \
@@ -465,8 +468,12 @@ EXTRA_DIST = \
build-aux/hydra/gnu-system.scm \
build-aux/hydra/guix.scm \
build-aux/hydra/guix-modular.scm \
+ build-aux/cuirass/gnu-system.scm \
+ build-aux/cuirass/guix-modular.scm \
+ build-aux/cuirass/hydra-to-cuirass.scm \
build-aux/check-available-binaries.scm \
build-aux/check-final-inputs-self-contained.scm \
+ build-aux/compile-as-derivation.scm \
build-aux/generate-authors.scm \
build-aux/test-driver.scm \
build-aux/update-guix-package.scm \
@@ -532,6 +539,13 @@ $(guix_install_go_files): install-nobase_dist_guilemoduleDATA
install-data-hook: set-bootstrap-executable-permissions
touch "$(DESTDIR)$(guileobjectdir)/guix/config.go"
+# Assuming Guix is already installed and the daemon is up and running, this
+# rule builds from $(srcdir), creating and building derivations.
+as-derivation:
+ $(AM_V_at)echo "Building Guix in Guix..." ; \
+ $(GUILE) --no-auto-compile \
+ "$(top_srcdir)/build-aux/compile-as-derivation.scm" \
+ "$(abs_top_srcdir)"
SUBDIRS = po/guix po/packages
BUILT_SOURCES =
@@ -760,7 +774,7 @@ cuirass-jobs.scm: $(GOBJECTS)
.PHONY: gen-ChangeLog gen-AUTHORS gen-tarball-version
.PHONY: assert-no-store-file-names assert-binaries-available
.PHONY: assert-final-inputs-self-contained
-.PHONY: clean-go make-go
+.PHONY: clean-go make-go as-derivation
.PHONY: update-guix-package update-NEWS release
## -------------- ##
diff --git a/build-aux/build-self.scm b/build-aux/build-self.scm
index 4c85c09df6..bccb7a959e 100644
--- a/build-aux/build-self.scm
+++ b/build-aux/build-self.scm
@@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2014, 2016, 2017 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2014, 2016, 2017, 2018 Ludovic Courtès <ludo@gnu.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -19,10 +19,14 @@
(define-module (build-self)
#:use-module (gnu)
#:use-module (guix)
+ #:use-module (guix ui)
#:use-module (guix config)
+ #:use-module (guix modules)
#:use-module (srfi srfi-1)
#:use-module (srfi srfi-19)
+ #:use-module (rnrs io ports)
#:use-module (ice-9 match)
+ #:use-module (ice-9 popen)
#:export (build))
;;; Commentary:
@@ -40,242 +44,256 @@
;;; Code:
-;; The dependencies. Don't refer explicitly to the variables because they
-;; could be renamed or shuffled around in modules over time. Conversely,
-;; 'find-best-packages-by-name' is expected to always have the same semantics.
-
-(define guix
- (first (find-best-packages-by-name "guix" #f)))
-
-(define libgcrypt
- (first (find-best-packages-by-name "libgcrypt" #f)))
-
-(define zlib
- (first (find-best-packages-by-name "zlib" #f)))
-
-(define gzip
- (first (find-best-packages-by-name "gzip" #f)))
-
-(define bzip2
- (first (find-best-packages-by-name "bzip2" #f)))
-
-(define xz
- (first (find-best-packages-by-name "xz" #f)))
-
-(define (false-if-wrong-guile package)
- "Return #f if PACKAGE depends on the \"wrong\" major version of Guile (e.g.,
-2.0 instead of 2.2), otherwise return PACKAGE."
- (let ((guile (any (match-lambda
- ((label (? package? dep) _ ...)
- (and (string=? (package-name dep) "guile")
- dep)))
- (package-direct-inputs package))))
- (and (or (not guile)
- (string-prefix? (effective-version)
- (package-version guile)))
- package)))
-
-(define (package-for-current-guile . names)
- "Return the package with one of the given NAMES that depends on the current
-Guile major version (2.0 or 2.2), or #f if none of the packages matches."
- (let loop ((names names))
- (match names
- (()
- #f)
- ((name rest ...)
- (match (find-best-packages-by-name name #f)
- (()
- (loop rest))
- ((first _ ...)
- (or (false-if-wrong-guile first)
- (loop rest))))))))
-
-(define guile-json
- (package-for-current-guile "guile-json"
- "guile2.2-json"
- "guile2.0-json"))
-
-(define guile-ssh
- (package-for-current-guile "guile-ssh"
- "guile2.2-ssh"
- "guile2.0-ssh"))
-
-(define guile-git
- (package-for-current-guile "guile-git"
- "guile2.0-git"))
-
-(define guile-bytestructures
- (package-for-current-guile "guile-bytestructures"
- "guile2.0-bytestructures"))
-
-;; The actual build procedure.
+;;;
+;;; Generating (guix config).
+;;;
+;;; This is copied from (guix self) because we cannot assume (guix self) is
+;;; available at this point.
+;;;
+
+(define %dependency-variables
+ ;; (guix config) variables corresponding to dependencies.
+ '(%libgcrypt %libz %xz %gzip %bzip2 %nix-instantiate))
+
+(define %persona-variables
+ ;; (guix config) variables that define Guix's persona.
+ '(%guix-package-name
+ %guix-version
+ %guix-bug-report-address
+ %guix-home-page-url))
+
+(define %config-variables
+ ;; (guix config) variables corresponding to Guix configuration (storedir,
+ ;; localstatedir, etc.)
+ (sort (filter pair?
+ (module-map (lambda (name var)
+ (and (not (memq name %dependency-variables))
+ (not (memq name %persona-variables))
+ (cons name (variable-ref var))))
+ (resolve-interface '(guix config))))
+ (lambda (name+value1 name+value2)
+ (string<? (symbol->string (car name+value1))
+ (symbol->string (car name+value2))))))
+
+(define* (make-config.scm #:key libgcrypt zlib gzip xz bzip2
+ (package-name "GNU Guix")
+ (package-version "0")
+ (bug-report-address "bug-guix@gnu.org")
+ (home-page-url "https://gnu.org/s/guix"))
+
+ ;; Hack so that Geiser is not confused.
+ (define defmod 'define-module)
+
+ (scheme-file "config.scm"
+ #~(begin
+ (#$defmod (guix config)
+ #:export (%guix-package-name
+ %guix-version
+ %guix-bug-report-address
+ %guix-home-page-url
+ %libgcrypt
+ %libz
+ %gzip
+ %bzip2
+ %xz
+ %nix-instantiate))
+
+ ;; XXX: Work around <http://bugs.gnu.org/15602>.
+ (eval-when (expand load eval)
+ #$@(map (match-lambda
+ ((name . value)
+ #~(define-public #$name #$value)))
+ %config-variables)
+
+ (define %guix-package-name #$package-name)
+ (define %guix-version #$package-version)
+ (define %guix-bug-report-address #$bug-report-address)
+ (define %guix-home-page-url #$home-page-url)
+
+ (define %gzip
+ #+(and gzip (file-append gzip "/bin/gzip")))
+ (define %bzip2
+ #+(and bzip2 (file-append bzip2 "/bin/bzip2")))
+ (define %xz
+ #+(and xz (file-append xz "/bin/xz")))
+
+ (define %libgcrypt
+ #+(and libgcrypt
+ (file-append libgcrypt "/lib/libgcrypt")))
+ (define %libz
+ #+(and zlib
+ (file-append zlib "/lib/libz")))
+
+ (define %nix-instantiate ;for (guix import snix)
+ "nix-instantiate")))))
-(define (top-source-directory)
- "Return the name of the top-level directory of this source tree."
- (and=> (assoc-ref (current-source-location) 'filename)
- (lambda (file)
- (string-append (dirname file) "/.."))))
+
+;;;
+;;; 'gexp->script'.
+;;;
+;;; This is our own variant of 'gexp->script' with an extra #:module-path
+;;; parameter, which was unavailable in (guix gexp) until commit
+;;; 1ae16033f34cebe802023922436883867010850f (March 2018.)
+;;;
+(define (load-path-expression modules path)
+ "Return as a monadic value a gexp that sets '%load-path' and
+'%load-compiled-path' to point to MODULES, a list of module names. MODULES
+are searched for in PATH."
+ (mlet %store-monad ((modules (imported-modules modules
+ #:module-path path))
+ (compiled (compiled-modules modules
+ #:module-path path)))
+ (return (gexp (eval-when (expand load eval)
+ (set! %load-path
+ (cons (ungexp modules) %load-path))
+ (set! %load-compiled-path
+ (cons (ungexp compiled)
+ %load-compiled-path)))))))
+
+(define* (gexp->script name exp
+ #:key (guile (default-guile))
+ (module-path %load-path))
+ "Return an executable script NAME that runs EXP using GUILE, with EXP's
+imported modules in its search path."
+ (mlet %store-monad ((set-load-path
+ (load-path-expression (gexp-modules exp)
+ module-path)))
+ (gexp->derivation name
+ (gexp
+ (call-with-output-file (ungexp output)
+ (lambda (port)
+ ;; Note: that makes a long shebang. When the store
+ ;; is /gnu/store, that fits within the 128-byte
+ ;; limit imposed by Linux, but that may go beyond
+ ;; when running tests.
+ (format port
+ "#!~a/bin/guile --no-auto-compile~%!#~%"
+ (ungexp guile))
+
+ (write '(ungexp set-load-path) port)
+ (write '(ungexp exp) port)
+ (chmod port #o555))))
+ #:module-path module-path)))
+
(define (date-version-string)
"Return the current date and hour in UTC timezone, for use as a poor
person's version identifier."
;; XXX: Replace with a Git commit id.
(date->string (current-date 0) "~Y~m~d.~H"))
-(define (matching-guile-2.2)
- "Return a Guile 2.2 with the same version as the current one or immediately
-older than then current one. This is so that we do not build ABI-incompatible
-objects. See <https://bugs.gnu.org/29570>."
- (let loop ((packages (find-packages-by-name "guile" "2.2"))
- (best #f))
- (match packages
- (()
- best)
- ((head tail ...)
- (if (string=? (package-version head) (version))
- head
- (if best
- (if (version>? (package-version head) (version))
- (loop tail best)
- (loop tail head))
- (loop tail head)))))))
-
-(define (guile-for-build)
- "Return a derivation for Guile 2.0 or 2.2, whichever matches the currently
-running Guile."
- (package->derivation (cond-expand
- (guile-2.2
- (canonical-package (matching-guile-2.2)))
- (else
- (canonical-package
- (specification->package "guile@2.0"))))))
+(define* (build-program source version
+ #:optional (guile-version (effective-version)))
+ "Return a program that computes the derivation to build Guix from SOURCE."
+ (define select?
+ ;; Select every module but (guix config) and non-Guix modules.
+ (match-lambda
+ (('guix 'config) #f)
+ (('guix _ ...) #t)
+ (('gnu _ ...) #t)
+ (_ #f)))
+
+ (with-imported-modules `(((guix config)
+ => ,(make-config.scm
+ #:libgcrypt
+ (specification->package "libgcrypt")))
+ ,@(source-module-closure `((guix store)
+ (guix self)
+ (guix derivations)
+ (gnu packages bootstrap))
+ (list source)
+ #:select? select?))
+ (gexp->script "compute-guix-derivation"
+ #~(begin
+ (use-modules (ice-9 match))
+
+ (eval-when (expand load eval)
+ ;; Don't augment '%load-path'.
+ (unsetenv "GUIX_PACKAGE_PATH")
+
+ ;; (gnu packages …) modules are going to be looked up
+ ;; under SOURCE. (guix config) is looked up in FRONT.
+ (match %load-path
+ ((#$source _ ...)
+ #t) ;already done
+ ((front _ ...)
+ (set! %load-path (list #$source front))))
+
+ ;; Only load our own modules or those of Guile.
+ (match %load-compiled-path
+ ((front _ ... sys1 sys2)
+ (set! %load-compiled-path
+ (list front sys1 sys2)))))
+
+ (use-modules (guix store)
+ (guix self)
+ (guix derivations)
+ (srfi srfi-1))
+
+ (define (spin system)
+ (define spin
+ (circular-list "-" "\\" "|" "/" "-" "\\" "|" "/"))
+
+ (format (current-error-port)
+ "Computing Guix derivation for '~a'... "
+ system)
+ (let loop ((spin spin))
+ (display (string-append "\b" (car spin))
+ (current-error-port))
+ (force-output (current-error-port))
+ (sleep 1)
+ (loop (cdr spin))))
+
+ (match (command-line)
+ ((_ _ system)
+ (with-store store
+ (call-with-new-thread
+ (lambda ()
+ (spin system)))
+
+ (display
+ (derivation-file-name
+ (run-with-store store
+ (guix-derivation #$source #$version
+ #$guile-version)
+ #:system system)))))))
+ #:module-path (list source))))
;; The procedure below is our return value.
(define* (build source
- #:key verbose? (version (date-version-string))
+ #:key verbose? (version (date-version-string)) system
+ (guile-version (match ((@ (guile) version))
+ ("2.2.2" "2.2.2")
+ (_ (effective-version))))
#:allow-other-keys
#:rest rest)
"Return a derivation that unpacks SOURCE into STORE and compiles Scheme
files."
- ;; The '%xxxdir' variables were added to (guix config) in July 2016 so we
- ;; cannot assume that they are defined. Try to guess their value when
- ;; they're undefined (XXX: we get an incorrect guess when environment
- ;; variables such as 'NIX_STATE_DIR' are defined!).
- (define storedir
- (if (defined? '%storedir) %storedir %store-directory))
- (define localstatedir
- (if (defined? '%localstatedir) %localstatedir (dirname %state-directory)))
- (define sysconfdir
- (if (defined? '%sysconfdir) %sysconfdir (dirname %config-directory)))
-
- (define builder
- #~(begin
- (use-modules (guix build pull))
-
- (letrec-syntax ((maybe-load-path
- (syntax-rules ()
- ((_ item rest ...)
- (let ((tail (maybe-load-path rest ...)))
- (if (string? item)
- (cons (string-append item
- "/share/guile/site/"
- #$(effective-version))
- tail)
- tail)))
- ((_)
- '()))))
- (set! %load-path
- (append
- (maybe-load-path #$guile-json #$guile-ssh
- #$guile-git #$guile-bytestructures)
- %load-path)))
-
- (letrec-syntax ((maybe-load-compiled-path
- (syntax-rules ()
- ((_ item rest ...)
- (let ((tail (maybe-load-compiled-path rest ...)))
- (if (string? item)
- (cons (string-append item
- "/lib/guile/"
- #$(effective-version)
- "/site-ccache")
- tail)
- tail)))
- ((_)
- '()))))
- (set! %load-compiled-path
- (append
- (maybe-load-compiled-path #$guile-json #$guile-ssh
- #$guile-git #$guile-bytestructures)
- %load-compiled-path)))
-
- ;; XXX: The 'guile-ssh' package prior to Guix commit 92b7258 was
- ;; broken: libguile-ssh could not be found. Work around that.
- ;; FIXME: We want Guile-SSH 0.10.2 or later anyway.
- #$(if (string-prefix? "0.9." (package-version guile-ssh))
- #~(setenv "LTDL_LIBRARY_PATH" (string-append #$guile-ssh "/lib"))
- #t)
-
- (build-guix #$output #$source
-
- #:system #$%system
- #:storedir #$storedir
- #:localstatedir #$localstatedir
- #:sysconfdir #$sysconfdir
- #:sbindir (string-append #$guix "/sbin")
-
- #:package-name #$%guix-package-name
- #:package-version #$version
- #:bug-report-address #$%guix-bug-report-address
- #:home-page-url #$%guix-home-page-url
-
- #:libgcrypt #$libgcrypt
- #:zlib #$zlib
- #:gzip #$gzip
- #:bzip2 #$bzip2
- #:xz #$xz
-
- ;; XXX: This is not perfect, enabling VERBOSE? means
- ;; building a different derivation.
- #:debug-port (if #$verbose?
- (current-error-port)
- (%make-void-port "w")))))
-
- (unless guile-git
- ;; XXX: Guix before February 2017 lacks a 'guile-git' package altogether.
- ;; If we try to upgrade anyway, the logic in (guix scripts pull) will not
- ;; build (guix git), which will leave us with an unusable 'guix pull'. To
- ;; avoid that, fail early.
- (format (current-error-port)
- "\
-Your installation is too old and lacks a '~a' package.
-Please upgrade to an intermediate version first, for instance with:
-
- guix pull --url=https://git.savannah.gnu.org/cgit/guix.git/snapshot/v0.13.0.tar.gz
-\n"
- (match (effective-version)
- ("2.0" "guile2.0-git")
- (_ "guile-git")))
- (exit 1))
-
- (mlet %store-monad ((guile (guile-for-build)))
- (gexp->derivation "guix-latest" builder
- #:modules '((guix build pull)
- (guix build utils)
- (guix build compile)
-
- ;; Closure of (guix modules).
- (guix modules)
- (guix memoization)
- (guix profiling)
- (guix sets))
-
- ;; Arrange so that our own (guix build …) modules are
- ;; used.
- #:module-path (list (top-source-directory))
-
- #:guile-for-build guile)))
+ ;; Build the build program and then use it as a trampoline to build from
+ ;; SOURCE.
+ (mlet %store-monad ((build (build-program source version guile-version))
+ (system (if system (return system) (current-system))))
+ (mbegin %store-monad
+ (show-what-to-build* (list build))
+ (built-derivations (list build))
+ (let* ((pipe (begin
+ (setenv "GUILE_WARN_DEPRECATED" "no") ;be quiet and drive
+ (open-pipe* OPEN_READ
+ (derivation->output-path build)
+ source system)))
+ (str (get-string-all pipe))
+ (status (close-pipe pipe)))
+ (match str
+ ((? eof-object?)
+ (error "build program failed" (list build status)))
+ ((? derivation-path? drv)
+ (mbegin %store-monad
+ (return (newline (current-output-port)))
+ ((store-lift add-temp-root) drv)
+ (return (read-derivation-from-file drv))))
+ ((? string? str)
+ (error "invalid build result" (list build str))))))))
;; This file is loaded by 'guix pull'; return it the build procedure.
build
diff --git a/build-aux/check-final-inputs-self-contained.scm b/build-aux/check-final-inputs-self-contained.scm
index dfb6a72f24..37dc883d3c 100644
--- a/build-aux/check-final-inputs-self-contained.scm
+++ b/build-aux/check-final-inputs-self-contained.scm
@@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2014, 2015, 2016, 2017 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2014, 2015, 2016, 2017, 2018 Ludovic Courtès <ludo@gnu.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -33,23 +33,23 @@
(define (final-inputs store system)
"Return the list of outputs directories of the final inputs for SYSTEM."
(append-map (match-lambda
- ((name package)
- (let ((drv (package-derivation store package system)))
- ;; Libc's 'debug' output refers to gcc-cross-boot0, but it's
- ;; hard to avoid, so we tolerate it. This should be the
- ;; only exception. Likewise, 'bash:include' depends on
- ;; bootstrap-binaries via its 'Makefile.inc' (FIXME).
- (filter-map (match-lambda
- (("debug" . directory)
- (if (string=? "glibc" (package-name package))
- #f
- directory))
- (("include" . directory)
- (if (string=? "bash" (package-name package))
- #f
- directory))
- ((_ . directory) directory))
- (derivation->output-paths drv)))))
+ ((or (name package) (name package _))
+ (let ((drv (package-derivation store package system)))
+ ;; Libc's 'debug' output refers to gcc-cross-boot0, but it's
+ ;; hard to avoid, so we tolerate it. This should be the
+ ;; only exception. Likewise, 'bash:include' depends on
+ ;; bootstrap-binaries via its 'Makefile.inc' (FIXME).
+ (filter-map (match-lambda
+ (("debug" . directory)
+ (if (string=? "glibc" (package-name package))
+ #f
+ directory))
+ (("include" . directory)
+ (if (string=? "bash" (package-name package))
+ #f
+ directory))
+ ((_ . directory) directory))
+ (derivation->output-paths drv)))))
%final-inputs))
(define (assert-valid-substitute substitute)
diff --git a/build-aux/compile-as-derivation.scm b/build-aux/compile-as-derivation.scm
new file mode 100644
index 0000000000..afb134a92a
--- /dev/null
+++ b/build-aux/compile-as-derivation.scm
@@ -0,0 +1,53 @@
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2018 Ludovic Courtès <ludo@gnu.org>
+;;;
+;;; This file is part of GNU Guix.
+;;;
+;;; GNU Guix is free software; you can redistribute it and/or modify it
+;;; under the terms of the GNU General Public License as published by
+;;; the Free Software Foundation; either version 3 of the License, or (at
+;;; your option) any later version.
+;;;
+;;; GNU Guix is distributed in the hope that it will be useful, but
+;;; WITHOUT ANY WARRANTY; without even the implied warranty of
+;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+;;; GNU General Public License for more details.
+;;;
+;;; You should have received a copy of the GNU General Public License
+;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
+
+;; Build Guix using Guix.
+
+(use-modules (srfi srfi-26))
+
+;; Add ~/.config/guix/latest to the search path.
+(add-to-load-path
+ (and=> (or (getenv "XDG_CONFIG_HOME")
+ (and=> (getenv "HOME")
+ (cut string-append <> "/.config")))
+ (cut string-append <> "/guix/latest")))
+
+(use-modules (guix) (guix ui)
+ (guix git-download)
+ (ice-9 match))
+
+(match (command-line)
+ ((program source)
+ (with-error-handling
+ (with-store store
+ (let* ((script (string-append source "/build-aux/build-self.scm"))
+ (build (primitive-load script))
+ (git? (git-predicate source)))
+ (run-with-store store
+ ;; TODO: Extract #:version and #:commit using Guile-Git.
+ (mlet* %store-monad ((source (interned-file source "guix-source"
+ #:select? git?
+ #:recursive? #t))
+ (drv (build source)))
+ (mbegin %store-monad
+ (show-what-to-build* (list drv))
+ (built-derivations (list drv))
+ (with-monad %store-monad
+ (display (derivation->output-path drv))
+ (newline)
+ (return drv))))))))))
diff --git a/build-aux/cuirass/gnu-system.scm b/build-aux/cuirass/gnu-system.scm
index f545ba03bc..0eb834cfba 100644
--- a/build-aux/cuirass/gnu-system.scm
+++ b/build-aux/cuirass/gnu-system.scm
@@ -21,29 +21,5 @@
;;; tool.
;;;
-(include-from-path "build-aux/hydra/gnu-system.scm")
-
-(use-modules ((guix licenses)
- #:select (license? license-name license-uri license-comment)))
-
-(define (cuirass-jobs store arguments)
- "Return Cuirass jobs."
- (map hydra-job->cuirass-job (hydra-jobs store arguments)))
-
-(define (hydra-job->cuirass-job hydra-job)
- (let ((name (car hydra-job))
- (job ((cdr hydra-job))))
- (lambda _ (acons #:job-name (symbol->string name)
- (map symbol-alist-entry->keyword-alist-entry job)))))
-
-(define (symbol-alist-entry->keyword-alist-entry entry)
- (cons (symbol->keyword (car entry)) (entry->sexp-entry (cdr entry))))
-
-(define (entry->sexp-entry o)
- (match o
- ((? license?) `((name . (license-name o))
- (uri . ,(license-uri o))
- (comment . ,(license-comment o))))
- ((lst ...)
- (map entry->sexp-entry lst))
- (_ o)))
+(include "../hydra/gnu-system.scm")
+(include "hydra-to-cuirass.scm")
diff --git a/build-aux/cuirass/guix-modular.scm b/build-aux/cuirass/guix-modular.scm
new file mode 100644
index 0000000000..cbbdbf1133
--- /dev/null
+++ b/build-aux/cuirass/guix-modular.scm
@@ -0,0 +1,6 @@
+;;;
+;;; This file defines Cuirass build jobs to build Guix itself.
+;;;
+
+(include "../hydra/guix-modular.scm")
+(include "hydra-to-cuirass.scm")
diff --git a/build-aux/cuirass/hydra-to-cuirass.scm b/build-aux/cuirass/hydra-to-cuirass.scm
new file mode 100644
index 0000000000..75c77ea35a
--- /dev/null
+++ b/build-aux/cuirass/hydra-to-cuirass.scm
@@ -0,0 +1,47 @@
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2017 Jan Nieuwenhuizen <janneke@gnu.org>
+;;;
+;;; This file is part of GNU Guix.
+;;;
+;;; GNU Guix is free software; you can redistribute it and/or modify it
+;;; under the terms of the GNU General Public License as published by
+;;; the Free Software Foundation; either version 3 of the License, or (at
+;;; your option) any later version.
+;;;
+;;; GNU Guix is distributed in the hope that it will be useful, but
+;;; WITHOUT ANY WARRANTY; without even the implied warranty of
+;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+;;; GNU General Public License for more details.
+;;;
+;;; You should have received a copy of the GNU General Public License
+;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
+
+;;;
+;;; This file defines the conversion of Hydra build jobs to Cuirass build
+;;; jobs. It is meant to be included in other files.
+;;;
+
+(use-modules ((guix licenses)
+ #:select (license? license-name license-uri license-comment)))
+
+(define (cuirass-jobs store arguments)
+ "Return Cuirass jobs."
+ (map hydra-job->cuirass-job (hydra-jobs store arguments)))
+
+(define (hydra-job->cuirass-job hydra-job)
+ (let ((name (car hydra-job))
+ (job ((cdr hydra-job))))
+ (lambda _ (acons #:job-name (symbol->string name)
+ (map symbol-alist-entry->keyword-alist-entry job)))))
+
+(define (symbol-alist-entry->keyword-alist-entry entry)
+ (cons (symbol->keyword (car entry)) (entry->sexp-entry (cdr entry))))
+
+(define (entry->sexp-entry o)
+ (match o
+ ((? license?) `((name . (license-name o))
+ (uri . ,(license-uri o))
+ (comment . ,(license-comment o))))
+ ((lst ...)
+ (map entry->sexp-entry lst))
+ (_ o)))
diff --git a/build-aux/hydra/evaluate.scm b/build-aux/hydra/evaluate.scm
index 8e391f44fd..5793c022ff 100644
--- a/build-aux/hydra/evaluate.scm
+++ b/build-aux/hydra/evaluate.scm
@@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2016, 2017 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2016, 2017, 2018 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2017 Jan Nieuwenhuizen <janneke@gnu.org>
;;;
;;; This file is part of GNU Guix.
@@ -79,7 +79,8 @@ Otherwise return THING."
(match (command-line)
((command file cuirass? ...)
;; Load FILE, a Scheme file that defines Hydra jobs.
- (let ((port (current-output-port)))
+ (let ((port (current-output-port))
+ (real-build-things build-things))
(save-module-excursion
(lambda ()
(set-current-module %user-module)
@@ -93,13 +94,15 @@ Otherwise return THING."
;; Grafts can trigger early builds. We do not want that to happen
;; during evaluation, so use a sledgehammer to catch such problems.
+ ;; An exception, though, is the evaluation of Guix itself, which
+ ;; requires building a "trampoline" program.
(set! build-things
(lambda (store . args)
(format (current-error-port)
- "error: trying to build things during evaluation!~%")
+ "warning: building things during evaluation~%")
(format (current-error-port)
"'build-things' arguments: ~s~%" args)
- (exit 1)))
+ (apply real-build-things store args)))
;; Call the entry point of FILE and print the resulting job sexp.
(pretty-print
diff --git a/build-aux/hydra/gnu-system.scm b/build-aux/hydra/gnu-system.scm
index 8178871747..62eb957f83 100644
--- a/build-aux/hydra/gnu-system.scm
+++ b/build-aux/hydra/gnu-system.scm
@@ -24,7 +24,7 @@
(use-modules (system base compile))
-(eval-when (compile load eval)
+(eval-when (expand load eval)
;; Pre-load the compiler so we don't end up auto-compiling it.
(compile #t)
@@ -32,6 +32,15 @@
;; Use our very own Guix modules.
(set! %fresh-auto-compile #t)
+ ;; Ignore .go files except for Guile's. This is because our checkout in the
+ ;; store has mtime set to the epoch, and thus .go files look newer, even
+ ;; though they may not correspond. Use 'reverse' so that /gnu/store/…-guile
+ ;; comes before /run/current-system/profile.
+ (set! %load-compiled-path
+ (list
+ (dirname (dirname (search-path (reverse %load-compiled-path)
+ "ice-9/boot-9.go")))))
+
(and=> (assoc-ref (current-source-location) 'filename)
(lambda (file)
(let ((dir (string-append (dirname file) "/../..")))
diff --git a/build-aux/hydra/guix-modular.scm b/build-aux/hydra/guix-modular.scm
index bdbb2fa8d5..58e09e1831 100644
--- a/build-aux/hydra/guix-modular.scm
+++ b/build-aux/hydra/guix-modular.scm
@@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2017 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2017, 2018 Ludovic Courtès <ludo@gnu.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -21,35 +21,14 @@
;;; Guix as 'guix pull', which is defined in (guix self).
;;;
-;; Attempt to use our very own Guix modules.
-(eval-when (compile load eval)
-
- ;; Ignore any available .go, and force recompilation. This is because our
- ;; checkout in the store has mtime set to the epoch, and thus .go files look
- ;; newer, even though they may not correspond.
- (set! %fresh-auto-compile #t)
-
- (and=> (assoc-ref (current-source-location) 'filename)
- (lambda (file)
- (let ((dir (canonicalize-path
- (string-append (dirname file) "/../.."))))
- (format (current-error-port) "prepending ~s to the load path~%"
- dir)
- (set! %load-path (cons dir %load-path))))))
-
-
(use-modules (guix store)
(guix config)
(guix utils)
- (guix grafts)
((guix packages) #:select (%hydra-supported-systems))
(guix derivations)
(guix monads)
- (guix gexp)
- (guix self)
((guix licenses) #:prefix license:)
(srfi srfi-1)
- (srfi srfi-26)
(ice-9 match))
;; XXX: Debugging hack: since `hydra-eval-guile-jobs' redirects the output
@@ -61,11 +40,13 @@
"Return a Hydra job a list building the modular Guix derivation from SOURCE
for SYSTEM. Use VERSION as the version identifier."
(lambda ()
+ (define build
+ (primitive-load (string-append source "/build-aux/build-self.scm")))
+
`((derivation . ,(derivation-file-name
- (parameterize ((%graft? #f))
- (run-with-store store
- (lower-object (compiled-guix source
- #:version version))))))
+ (run-with-store store
+ (build source #:version version #:system system
+ #:guile-version "2.2")))) ;the latest 2.2.x
(description . "Modular Guix")
(long-description
. "This is the modular Guix package as produced by 'guix pull'.")
@@ -76,29 +57,26 @@ for SYSTEM. Use VERSION as the version identifier."
(define (hydra-jobs store arguments)
"Return Hydra jobs."
(define systems
- (match (filter-map (match-lambda
- (('system . value) value)
- (_ #f))
- arguments)
- ((lst ..1)
- lst)
- (_
- (list (%current-system)))))
+ (match (assoc-ref arguments 'systems)
+ (#f %hydra-supported-systems)
+ ((lst ...) lst)
+ ((? string? str) (call-with-input-string str read))))
(define guix-checkout
- (assq-ref arguments 'guix))
+ (or (assq-ref arguments 'guix) ;Hydra on hydra
+ (assq-ref arguments 'guix-modular))) ;Cuirass on berlin
(define version
(or (assq-ref guix-checkout 'revision)
"0.unknown"))
(let ((file (assq-ref guix-checkout 'file-name)))
- (format (current-error-port) "using checkout ~s (~s)~%"
- guix-checkout file)
+ (format (current-error-port) "using checkout ~s (~s; arguments: ~s)~%"
+ guix-checkout file arguments)
(map (lambda (system)
(let ((name (string->symbol
(string-append "guix." system))))
`(,name
. ,(build-job store file version system))))
- %hydra-supported-systems)))
+ systems)))
diff --git a/build-aux/hydra/guix.scm b/build-aux/hydra/guix.scm
index 659b8bfbc1..08193ec82e 100644
--- a/build-aux/hydra/guix.scm
+++ b/build-aux/hydra/guix.scm
@@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2013, 2014, 2015, 2016, 2017 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2013, 2014, 2015, 2016, 2017, 2018 Ludovic Courtès <ludo@gnu.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -22,7 +22,7 @@
;;;
;; Attempt to use our very own Guix modules.
-(eval-when (compile load eval)
+(eval-when (expand load eval)
;; Ignore any available .go, and force recompilation. This is because our
;; checkout in the store has mtime set to the epoch, and thus .go files look
diff --git a/doc/guix.texi b/doc/guix.texi
index 7617d7fe16..1bf9685542 100644
--- a/doc/guix.texi
+++ b/doc/guix.texi
@@ -23,7 +23,7 @@ Copyright @copyright{} 2015 Taylan Ulrich Bayırlı/Kammer@*
Copyright @copyright{} 2015, 2016, 2017 Leo Famulari@*
Copyright @copyright{} 2015, 2016, 2017, 2018 Ricardo Wurmus@*
Copyright @copyright{} 2016 Ben Woodcroft@*
-Copyright @copyright{} 2016, 2017 Chris Marusich@*
+Copyright @copyright{} 2016, 2017, 2018 Chris Marusich@*
Copyright @copyright{} 2016, 2017, 2018 Efraim Flashner@*
Copyright @copyright{} 2016 John Darrington@*
Copyright @copyright{} 2016, 2017 Nils Gillmann@*
@@ -471,7 +471,7 @@ archive content is independent of its creation time, thus making it
reproducible.
@item
-Make @code{root}'s profile available under @file{~/.guix-profile}:
+Make @code{root}'s profile available under @file{~root/.guix-profile}:
@example
# ln -sf /var/guix/profiles/per-user/root/guix-profile \
@@ -482,7 +482,7 @@ Source @file{etc/profile} to augment @code{PATH} and other relevant
environment variables:
@example
-# GUIX_PROFILE=$HOME/.guix-profile ; \
+# GUIX_PROFILE="`echo ~root`/.guix-profile" ; \
source $GUIX_PROFILE/etc/profile
@end example
@@ -2039,6 +2039,16 @@ variable, even though, taken individually, neither @file{foo} nor
@itemx -p @var{profile}
Use @var{profile} instead of the user's default profile.
+@cindex collisions, in a profile
+@cindex colliding packages in profiles
+@cindex profile collisions
+@item --allow-collisions
+Allow colliding packages in the new profile. Use at your own risk!
+
+By default, @command{guix package} reports as an error @dfn{collisions}
+in the profile. Collisions happen when two or more different versions
+or variants of a given package end up in the profile.
+
@item --verbose
Produce verbose output. In particular, emit the build log of the
environment on the standard error port.
@@ -2642,6 +2652,24 @@ of these, recursively. In other words, the returned list is the
of an element. @xref{Invoking guix graph}, for a tool to visualize
the graph of references.
+@item --derivers
+@cindex derivation
+Return the derivation(s) leading to the given store items
+(@pxref{Derivations}).
+
+For example, this command:
+
+@example
+guix gc --derivers `guix package -I ^emacs$ | cut -f4`
+@end example
+
+@noindent
+returns the @file{.drv} file(s) leading to the @code{emacs} package
+installed in your profile.
+
+Note that there may be zero matching @file{.drv} files, for instance
+because these files have been garbage-collected. There can also be more
+than one matching @file{.drv} due to fixed-output derivations.
@end table
Lastly, the following options allow you to check the integrity of the
@@ -2899,6 +2927,10 @@ added to it or removed from it after extraction of the pack.
One use case for this is the Guix self-contained binary tarball
(@pxref{Binary Installation}).
+
+@item --bootstrap
+Use the bootstrap binaries to build the pack. This option is only
+useful to Guix developers.
@end table
In addition, @command{guix pack} supports all the common build options
@@ -5150,9 +5182,11 @@ is a list of additional arguments to pass to @code{gexp->derivation}.
This is the declarative counterpart of @code{gexp->derivation}.
@end deffn
-@deffn {Monadic Procedure} gexp->script @var{name} @var{exp}
+@deffn {Monadic Procedure} gexp->script @var{name} @var{exp} @
+ [#:guile (default-guile)] [#:module-path %load-path]
Return an executable script @var{name} that runs @var{exp} using
@var{guile}, with @var{exp}'s imported modules in its search path.
+Look up @var{exp}'s modules in @var{module-path}.
The example below builds a script that simply invokes the @command{ls}
command:
@@ -5177,26 +5211,32 @@ executable file @file{/gnu/store/@dots{}-list-files} along these lines:
@end deffn
@deffn {Scheme Procedure} program-file @var{name} @var{exp} @
- [#:guile #f]
+ [#:guile #f] [#:module-path %load-path]
Return an object representing the executable store item @var{name} that
runs @var{gexp}. @var{guile} is the Guile package used to execute that
-script.
+script. Imported modules of @var{gexp} are looked up in @var{module-path}.
This is the declarative counterpart of @code{gexp->script}.
@end deffn
@deffn {Monadic Procedure} gexp->file @var{name} @var{exp} @
- [#:set-load-path? #t]
+ [#:set-load-path? #t] [#:module-path %load-path] @
+ [#:splice? #f] @
+ [#:guile (default-guile)]
Return a derivation that builds a file @var{name} containing @var{exp}.
+When @var{splice?} is true, @var{exp} is considered to be a list of
+expressions that will be spliced in the resulting file.
+
When @var{set-load-path?} is true, emit code in the resulting file to
set @code{%load-path} and @code{%load-compiled-path} to honor
-@var{exp}'s imported modules.
+@var{exp}'s imported modules. Look up @var{exp}'s modules in
+@var{module-path}.
The resulting file holds references to all the dependencies of @var{exp}
or a subset thereof.
@end deffn
-@deffn {Scheme Procedure} scheme-file @var{name} @var{exp}
+@deffn {Scheme Procedure} scheme-file @var{name} @var{exp} [#:splice? #f]
Return an object representing the Scheme file @var{name} that contains
@var{exp}.
@@ -6989,6 +7029,15 @@ name instead of a package name, as in:
@example
guix graph -t derivation `guix system build -d my-config.scm`
@end example
+
+@item module
+This is the graph of @dfn{package modules} (@pxref{Package Modules}).
+For example, the following command shows the graph for the package
+module that defines the @code{guile} package:
+
+@example
+guix graph -t module guile | dot -Tpdf > module-graph.pdf
+@end example
@end table
All the types above correspond to @emph{build-time dependencies}. The
@@ -7877,15 +7926,27 @@ https://guix.example.org
19,824.2 MiB on disk (uncompressed)
0.030 seconds per request (182.9 seconds in total)
33.5 requests per second
+
+ 9.8% (342 out of 3,470) of the missing items are queued
+ 867 queued builds
+ x86_64-linux: 518 (59.7%)
+ i686-linux: 221 (25.5%)
+ aarch64-linux: 128 (14.8%)
+ build rate: 23.41 builds per hour
+ x86_64-linux: 11.16 builds per hour
+ i686-linux: 6.03 builds per hour
+ aarch64-linux: 6.41 builds per hour
@end example
+@cindex continuous integration, statistics
As you can see, it reports the fraction of all the packages for which
substitutes are available on the server---regardless of whether
substitutes are enabled, and regardless of whether this server's signing
key is authorized. It also reports the size of the compressed archives
(``nars'') provided by the server, the size the corresponding store
items occupy in the store (assuming deduplication is turned off), and
-the server's throughput.
+the server's throughput. The second part gives continuous integration
+(CI) statistics, if the server supports it.
To achieve that, @command{guix weather} queries over HTTP(S) meta-data
(@dfn{narinfos}) for all the relevant store items. Like @command{guix
@@ -8278,10 +8339,10 @@ ifconfig @var{interface} up
To configure wireless networking, you can create a configuration file
for the @command{wpa_supplicant} configuration tool (its location is not
important) using one of the available text editors such as
-@command{zile}:
+@command{nano}:
@example
-zile wpa_supplicant.conf
+nano wpa_supplicant.conf
@end example
As an example, the following stanza can go to this file and will work
@@ -8462,8 +8523,10 @@ builds to @file{/gnu/store} which, initially, is an in-memory file system.
Next, you have to edit a file and
provide the declaration of the operating system to be installed. To
-that end, the installation system comes with three text editors: GNU nano
-(@pxref{Top,,, nano, GNU nano Manual}), GNU Zile (an Emacs clone), and
+that end, the installation system comes with three text editors. We
+recommend GNU nano (@pxref{Top,,, nano, GNU nano Manual}), which
+supports syntax highlighting and parentheses matching; other editors
+include GNU Zile (an Emacs clone), and
nvi (a clone of the original BSD @command{vi} editor).
We strongly recommend storing that file on the target root file system, say,
as @file{/mnt/etc/config.scm}. Failing to do that, you will have lost your
@@ -8479,7 +8542,7 @@ something along these lines:
@example
# mkdir /mnt/etc
# cp /etc/configuration/desktop.scm /mnt/etc/config.scm
-# zile /mnt/etc/config.scm
+# nano /mnt/etc/config.scm
@end example
You should pay attention to what your configuration file contains, and
@@ -15732,7 +15795,7 @@ Must be either:
@item @code{<php-fpm-on-demand-process-manager-configuration>}
@end table
@item @code{display-errors} (default @code{#f})
-Determines wether php errors and warning should be sent to clients
+Determines whether php errors and warning should be sent to clients
and displayed in their browsers.
This is useful for local php development, but a security risk for public sites,
as error messages can reveal passwords and personal data.
@@ -18327,11 +18390,12 @@ Return the name of @var{platform}---a string such as @code{"arm"}.
@subsubsection Version Control Services
The @code{(gnu services version-control)} module provides a service to
-allow remote access to local Git repositories. There are two options:
+allow remote access to local Git repositories. There are three options:
the @code{git-daemon-service}, which provides access to repositories via
-the @code{git://} unsecured TCP-based protocol, or extending the
+the @code{git://} unsecured TCP-based protocol, extending the
@code{nginx} web server to proxy some requests to
-@code{git-http-backend}.
+@code{git-http-backend}, or providing a web interface with
+@code{cgit-service-type}.
@deffn {Scheme Procedure} git-daemon-service [#:config (git-daemon-configuration)]
@@ -18464,199 +18528,6 @@ HTTPS. You will also need to add an @code{fcgiwrap} proxy to your
system services. @xref{Web Services}.
@end deffn
-@node Game Services
-@subsubsection Game Services
-
-@subsubheading The Battle for Wesnoth Service
-@cindex wesnothd
-@uref{https://wesnoth.org, The Battle for Wesnoth} is a fantasy, turn
-based tactical strategy game, with several single player campaigns, and
-multiplayer games (both networked and local).
-
-@defvar {Scheme Variable} wesnothd-service-type
-Service type for the wesnothd service. Its value must be a
-@code{wesnothd-configuration} object. To run wesnothd in the default
-configuration, instantiate it as:
-
-@example
-(service wesnothd-service-type)
-@end example
-@end defvar
-
-@deftp {Data Type} wesnothd-configuration
-Data type representing the configuration of @command{wesnothd}.
-
-@table @asis
-@item @code{package} (default: @code{wesnoth-server})
-The wesnoth server package to use.
-
-@item @code{port} (default: @code{15000})
-The port to bind the server to.
-@end table
-@end deftp
-
-@node Miscellaneous Services
-@subsubsection Miscellaneous Services
-
-@cindex sysctl
-@subsubheading System Control Service
-
-The @code{(gnu services sysctl)} provides a service to configure kernel
-parameters at boot.
-
-@defvr {Scheme Variable} sysctl-service-type
-The service type for @command{sysctl}, which modifies kernel parameters
-under @file{/proc/sys/}. To enable IPv4 forwarding, it can be
-instantiated as:
-
-@example
-(service sysctl-service-type
- (sysctl-configuration
- (settings '(("net.ipv4.ip_forward" . "1")))))
-@end example
-@end defvr
-
-@deftp {Data Type} sysctl-configuration
-The data type representing the configuration of @command{sysctl}.
-
-@table @asis
-@item @code{sysctl} (default: @code{(file-append procps "/sbin/sysctl"})
-The @command{sysctl} executable to use.
-
-@item @code{settings} (default: @code{'()})
-An association list specifies kernel parameters and their values.
-@end table
-@end deftp
-
-@cindex lirc
-@subsubheading Lirc Service
-
-The @code{(gnu services lirc)} module provides the following service.
-
-@deffn {Scheme Procedure} lirc-service [#:lirc lirc] @
- [#:device #f] [#:driver #f] [#:config-file #f] @
- [#:extra-options '()]
-Return a service that runs @url{http://www.lirc.org,LIRC}, a daemon that
-decodes infrared signals from remote controls.
-
-Optionally, @var{device}, @var{driver} and @var{config-file}
-(configuration file name) may be specified. See @command{lircd} manual
-for details.
-
-Finally, @var{extra-options} is a list of additional command-line options
-passed to @command{lircd}.
-@end deffn
-
-@cindex spice
-@subsubheading Spice Service
-
-The @code{(gnu services spice)} module provides the following service.
-
-@deffn {Scheme Procedure} spice-vdagent-service [#:spice-vdagent]
-Returns a service that runs @url{http://www.spice-space.org,VDAGENT}, a daemon
-that enables sharing the clipboard with a vm and setting the guest display
-resolution when the graphical console window resizes.
-@end deffn
-
-@subsubsection Dictionary Services
-@cindex dictionary
-The @code{(gnu services dict)} module provides the following service:
-
-@deffn {Scheme Procedure} dicod-service [#:config (dicod-configuration)]
-Return a service that runs the @command{dicod} daemon, an implementation
-of DICT server (@pxref{Dicod,,, dico, GNU Dico Manual}).
-
-The optional @var{config} argument specifies the configuration for
-@command{dicod}, which should be a @code{<dicod-configuration>} object, by
-default it serves the GNU Collaborative International Dictonary of English.
-
-You can add @command{open localhost} to your @file{~/.dico} file to make
-@code{localhost} the default server for @command{dico} client
-(@pxref{Initialization File,,, dico, GNU Dico Manual}).
-@end deffn
-
-@deftp {Data Type} dicod-configuration
-Data type representing the configuration of dicod.
-
-@table @asis
-@item @code{dico} (default: @var{dico})
-Package object of the GNU Dico dictionary server.
-
-@item @code{interfaces} (default: @var{'("localhost")})
-This is the list of IP addresses and ports and possibly socket file
-names to listen to (@pxref{Server Settings, @code{listen} directive,,
-dico, GNU Dico Manual}).
-
-@item @code{handlers} (default: @var{'()})
-List of @code{<dicod-handler>} objects denoting handlers (module instances).
-
-@item @code{databases} (default: @var{(list %dicod-database:gcide)})
-List of @code{<dicod-database>} objects denoting dictionaries to be served.
-@end table
-@end deftp
-
-@deftp {Data Type} dicod-handler
-Data type representing a dictionary handler (module instance).
-
-@table @asis
-@item @code{name}
-Name of the handler (module instance).
-
-@item @code{module} (default: @var{#f})
-Name of the dicod module of the handler (instance). If it is @code{#f},
-the module has the same name as the handler.
-(@pxref{Modules,,, dico, GNU Dico Manual}).
-
-@item @code{options}
-List of strings or gexps representing the arguments for the module handler
-@end table
-@end deftp
-
-@deftp {Data Type} dicod-database
-Data type representing a dictionary database.
-
-@table @asis
-@item @code{name}
-Name of the database, will be used in DICT commands.
-
-@item @code{handler}
-Name of the dicod handler (module instance) used by this database
-(@pxref{Handlers,,, dico, GNU Dico Manual}).
-
-@item @code{complex?} (default: @var{#f})
-Whether the database configuration complex. The complex configuration
-will need a corresponding @code{<dicod-handler>} object, otherwise not.
-
-@item @code{options}
-List of strings or gexps representing the arguments for the database
-(@pxref{Databases,,, dico, GNU Dico Manual}).
-@end table
-@end deftp
-
-@defvr {Scheme Variable} %dicod-database:gcide
-A @code{<dicod-database>} object serving the GNU Collaborative International
-Dictionary of English using the @code{gcide} package.
-@end defvr
-
-The following is an example @code{dicod-service} configuration.
-
-@example
-(dicod-service #:config
- (dicod-configuration
- (handlers (list (dicod-handler
- (name "wordnet")
- (module "dictorg")
- (options
- (list #~(string-append "dbdir=" #$wordnet))))))
- (databases (list (dicod-database
- (name "wordnet")
- (complex? #t)
- (handler "wordnet")
- (options '("database=wn")))
- %dicod-database:gcide))))
-@end example
-
-
@subsubheading Cgit Service
@cindex Cgit service
@@ -18671,6 +18542,9 @@ By default, Cgit can be accessed on port 80 (@code{http://localhost:80}).
(service cgit-service-type)
@end example
+The @code{file-object} type designates either a file-like object
+(@pxref{G-Expressions, file-like objects}) or a string.
+
@c %start of fragment
Available @code{cgit-configuration} fields are:
@@ -18685,7 +18559,7 @@ NGINX configuration.
@end deftypevr
-@deftypevr {@code{cgit-configuration} parameter} string about-filter
+@deftypevr {@code{cgit-configuration} parameter} file-object about-filter
Specifies a command which will be invoked to format the content of about
pages (both top-level and for each repository).
@@ -18701,7 +18575,7 @@ Defaults to @samp{""}.
@end deftypevr
-@deftypevr {@code{cgit-configuration} parameter} string auth-filter
+@deftypevr {@code{cgit-configuration} parameter} file-object auth-filter
Specifies a command that will be invoked for authenticating repository
access.
@@ -18810,7 +18684,7 @@ Defaults to @samp{()}.
@end deftypevr
-@deftypevr {@code{cgit-configuration} parameter} string commit-filter
+@deftypevr {@code{cgit-configuration} parameter} file-object commit-filter
Command which will be invoked to format commit messages.
Defaults to @samp{""}.
@@ -18826,14 +18700,14 @@ Defaults to @samp{"git log"}.
@end deftypevr
-@deftypevr {@code{cgit-configuration} parameter} string css
+@deftypevr {@code{cgit-configuration} parameter} file-object css
URL which specifies the css document to include in all cgit pages.
Defaults to @samp{"/share/cgit/cgit.css"}.
@end deftypevr
-@deftypevr {@code{cgit-configuration} parameter} string email-filter
+@deftypevr {@code{cgit-configuration} parameter} file-object email-filter
Specifies a command which will be invoked to format names and email
address of committers, authors, and taggers, as represented in various
places throughout the cgit interface.
@@ -18957,7 +18831,7 @@ Defaults to @samp{#f}.
@end deftypevr
-@deftypevr {@code{cgit-configuration} parameter} string favicon
+@deftypevr {@code{cgit-configuration} parameter} file-object favicon
URL used as link to a shortcut icon for cgit.
Defaults to @samp{"/favicon.ico"}.
@@ -18989,7 +18863,7 @@ Defaults to @samp{""}.
@end deftypevr
-@deftypevr {@code{cgit-configuration} parameter} string include
+@deftypevr {@code{cgit-configuration} parameter} file-object include
Name of a configfile to include before the rest of the current config-
file is parsed.
@@ -19021,7 +18895,7 @@ Defaults to @samp{#f}.
@end deftypevr
-@deftypevr {@code{cgit-configuration} parameter} string logo
+@deftypevr {@code{cgit-configuration} parameter} file-object logo
URL which specifies the source of an image which will be used as a logo
on all cgit pages.
@@ -19036,7 +18910,7 @@ Defaults to @samp{""}.
@end deftypevr
-@deftypevr {@code{cgit-configuration} parameter} string owner-filter
+@deftypevr {@code{cgit-configuration} parameter} file-object owner-filter
Command which will be invoked to format the Owner column of the main
page.
@@ -19105,7 +18979,7 @@ Defaults to @samp{((gif "image/gif") (html "text/html") (jpg
@end deftypevr
-@deftypevr {@code{cgit-configuration} parameter} string mimetype-file
+@deftypevr {@code{cgit-configuration} parameter} file-object mimetype-file
Specifies the file to use for automatic mimetype lookup.
Defaults to @samp{""}.
@@ -19143,7 +19017,16 @@ Defaults to @samp{#f}.
@end deftypevr
-@deftypevr {@code{cgit-configuration} parameter} string readme
+@deftypevr {@code{cgit-configuration} parameter} list project-list
+A list of subdirectories inside of @code{repository-directory}, relative
+to it, that should loaded as Git repositories. An empty list means that
+all subdirectories will be loaded.
+
+Defaults to @samp{()}.
+
+@end deftypevr
+
+@deftypevr {@code{cgit-configuration} parameter} file-object readme
Text which will be used as default value for @code{cgit-repo-readme}.
Defaults to @samp{""}.
@@ -19261,7 +19144,7 @@ Defaults to @samp{#f}.
@end deftypevr
-@deftypevr {@code{cgit-configuration} parameter} string source-filter
+@deftypevr {@code{cgit-configuration} parameter} file-object source-filter
Specifies a command which will be invoked to format plaintext blobs in
the tree view.
@@ -19323,7 +19206,7 @@ Defaults to @samp{()}.
@end deftypevr
-@deftypevr {@code{repository-cgit-configuration} parameter} repo-string source-filter
+@deftypevr {@code{repository-cgit-configuration} parameter} repo-file-object source-filter
Override the default @code{source-filter}.
Defaults to @samp{""}.
@@ -19337,7 +19220,7 @@ Defaults to @samp{""}.
@end deftypevr
-@deftypevr {@code{repository-cgit-configuration} parameter} repo-string about-filter
+@deftypevr {@code{repository-cgit-configuration} parameter} repo-file-object about-filter
Override the default @code{about-filter}.
Defaults to @samp{""}.
@@ -19359,7 +19242,7 @@ Defaults to @samp{()}.
@end deftypevr
-@deftypevr {@code{repository-cgit-configuration} parameter} repo-string commit-filter
+@deftypevr {@code{repository-cgit-configuration} parameter} repo-file-object commit-filter
Override the default @code{commit-filter}.
Defaults to @samp{""}.
@@ -19399,7 +19282,7 @@ Defaults to @samp{""}.
@end deftypevr
-@deftypevr {@code{repository-cgit-configuration} parameter} repo-string email-filter
+@deftypevr {@code{repository-cgit-configuration} parameter} repo-file-object email-filter
Override the default @code{email-filter}.
Defaults to @samp{""}.
@@ -19469,7 +19352,7 @@ Defaults to @samp{#f}.
@end deftypevr
-@deftypevr {@code{repository-cgit-configuration} parameter} repo-string logo
+@deftypevr {@code{repository-cgit-configuration} parameter} repo-file-object logo
URL which specifies the source of an image which will be used as a logo
on this repo’s pages.
@@ -19484,7 +19367,7 @@ Defaults to @samp{""}.
@end deftypevr
-@deftypevr {@code{repository-cgit-configuration} parameter} repo-string owner-filter
+@deftypevr {@code{repository-cgit-configuration} parameter} repo-file-object owner-filter
Override the default @code{owner-filter}.
Defaults to @samp{""}.
@@ -19569,6 +19452,7 @@ Defaults to @samp{()}.
@end deftypevr
+
@c %end of fragment
However, it could be that you just want to get a @code{cgitrc} up and
@@ -19595,6 +19479,199 @@ could instantiate a cgit service like this:
(cgitrc "")))
@end example
+
+@node Game Services
+@subsubsection Game Services
+
+@subsubheading The Battle for Wesnoth Service
+@cindex wesnothd
+@uref{https://wesnoth.org, The Battle for Wesnoth} is a fantasy, turn
+based tactical strategy game, with several single player campaigns, and
+multiplayer games (both networked and local).
+
+@defvar {Scheme Variable} wesnothd-service-type
+Service type for the wesnothd service. Its value must be a
+@code{wesnothd-configuration} object. To run wesnothd in the default
+configuration, instantiate it as:
+
+@example
+(service wesnothd-service-type)
+@end example
+@end defvar
+
+@deftp {Data Type} wesnothd-configuration
+Data type representing the configuration of @command{wesnothd}.
+
+@table @asis
+@item @code{package} (default: @code{wesnoth-server})
+The wesnoth server package to use.
+
+@item @code{port} (default: @code{15000})
+The port to bind the server to.
+@end table
+@end deftp
+
+@node Miscellaneous Services
+@subsubsection Miscellaneous Services
+
+@cindex sysctl
+@subsubheading System Control Service
+
+The @code{(gnu services sysctl)} provides a service to configure kernel
+parameters at boot.
+
+@defvr {Scheme Variable} sysctl-service-type
+The service type for @command{sysctl}, which modifies kernel parameters
+under @file{/proc/sys/}. To enable IPv4 forwarding, it can be
+instantiated as:
+
+@example
+(service sysctl-service-type
+ (sysctl-configuration
+ (settings '(("net.ipv4.ip_forward" . "1")))))
+@end example
+@end defvr
+
+@deftp {Data Type} sysctl-configuration
+The data type representing the configuration of @command{sysctl}.
+
+@table @asis
+@item @code{sysctl} (default: @code{(file-append procps "/sbin/sysctl"})
+The @command{sysctl} executable to use.
+
+@item @code{settings} (default: @code{'()})
+An association list specifies kernel parameters and their values.
+@end table
+@end deftp
+
+@cindex lirc
+@subsubheading Lirc Service
+
+The @code{(gnu services lirc)} module provides the following service.
+
+@deffn {Scheme Procedure} lirc-service [#:lirc lirc] @
+ [#:device #f] [#:driver #f] [#:config-file #f] @
+ [#:extra-options '()]
+Return a service that runs @url{http://www.lirc.org,LIRC}, a daemon that
+decodes infrared signals from remote controls.
+
+Optionally, @var{device}, @var{driver} and @var{config-file}
+(configuration file name) may be specified. See @command{lircd} manual
+for details.
+
+Finally, @var{extra-options} is a list of additional command-line options
+passed to @command{lircd}.
+@end deffn
+
+@cindex spice
+@subsubheading Spice Service
+
+The @code{(gnu services spice)} module provides the following service.
+
+@deffn {Scheme Procedure} spice-vdagent-service [#:spice-vdagent]
+Returns a service that runs @url{http://www.spice-space.org,VDAGENT}, a daemon
+that enables sharing the clipboard with a vm and setting the guest display
+resolution when the graphical console window resizes.
+@end deffn
+
+@subsubsection Dictionary Services
+@cindex dictionary
+The @code{(gnu services dict)} module provides the following service:
+
+@deffn {Scheme Procedure} dicod-service [#:config (dicod-configuration)]
+Return a service that runs the @command{dicod} daemon, an implementation
+of DICT server (@pxref{Dicod,,, dico, GNU Dico Manual}).
+
+The optional @var{config} argument specifies the configuration for
+@command{dicod}, which should be a @code{<dicod-configuration>} object, by
+default it serves the GNU Collaborative International Dictonary of English.
+
+You can add @command{open localhost} to your @file{~/.dico} file to make
+@code{localhost} the default server for @command{dico} client
+(@pxref{Initialization File,,, dico, GNU Dico Manual}).
+@end deffn
+
+@deftp {Data Type} dicod-configuration
+Data type representing the configuration of dicod.
+
+@table @asis
+@item @code{dico} (default: @var{dico})
+Package object of the GNU Dico dictionary server.
+
+@item @code{interfaces} (default: @var{'("localhost")})
+This is the list of IP addresses and ports and possibly socket file
+names to listen to (@pxref{Server Settings, @code{listen} directive,,
+dico, GNU Dico Manual}).
+
+@item @code{handlers} (default: @var{'()})
+List of @code{<dicod-handler>} objects denoting handlers (module instances).
+
+@item @code{databases} (default: @var{(list %dicod-database:gcide)})
+List of @code{<dicod-database>} objects denoting dictionaries to be served.
+@end table
+@end deftp
+
+@deftp {Data Type} dicod-handler
+Data type representing a dictionary handler (module instance).
+
+@table @asis
+@item @code{name}
+Name of the handler (module instance).
+
+@item @code{module} (default: @var{#f})
+Name of the dicod module of the handler (instance). If it is @code{#f},
+the module has the same name as the handler.
+(@pxref{Modules,,, dico, GNU Dico Manual}).
+
+@item @code{options}
+List of strings or gexps representing the arguments for the module handler
+@end table
+@end deftp
+
+@deftp {Data Type} dicod-database
+Data type representing a dictionary database.
+
+@table @asis
+@item @code{name}
+Name of the database, will be used in DICT commands.
+
+@item @code{handler}
+Name of the dicod handler (module instance) used by this database
+(@pxref{Handlers,,, dico, GNU Dico Manual}).
+
+@item @code{complex?} (default: @var{#f})
+Whether the database configuration complex. The complex configuration
+will need a corresponding @code{<dicod-handler>} object, otherwise not.
+
+@item @code{options}
+List of strings or gexps representing the arguments for the database
+(@pxref{Databases,,, dico, GNU Dico Manual}).
+@end table
+@end deftp
+
+@defvr {Scheme Variable} %dicod-database:gcide
+A @code{<dicod-database>} object serving the GNU Collaborative International
+Dictionary of English using the @code{gcide} package.
+@end defvr
+
+The following is an example @code{dicod-service} configuration.
+
+@example
+(dicod-service #:config
+ (dicod-configuration
+ (handlers (list (dicod-handler
+ (name "wordnet")
+ (module "dictorg")
+ (options
+ (list #~(string-append "dbdir=" #$wordnet))))))
+ (databases (list (dicod-database
+ (name "wordnet")
+ (complex? #t)
+ (handler "wordnet")
+ (options '("database=wn")))
+ %dicod-database:gcide))))
+@end example
+
@node Setuid Programs
@subsection Setuid Programs
@@ -20376,12 +20453,18 @@ containing at least the kernel, initrd, and bootloader data files must
be created. The @code{--image-size} option can be used to specify the
size of the image.
+@cindex System images, creation in various formats
+@cindex Creating system images in various formats
@item vm-image
@itemx disk-image
-Return a virtual machine or disk image of the operating system declared
-in @var{file} that stands alone. By default, @command{guix system}
-estimates the size of the image needed to store the system, but you can
-use the @option{--image-size} option to specify a value.
+@itemx docker-image
+Return a virtual machine, disk image, or Docker image of the operating
+system declared in @var{file} that stands alone. By default,
+@command{guix system} estimates the size of the image needed to store
+the system, but you can use the @option{--image-size} option to specify
+a value. Docker images are built to contain exactly what they need, so
+the @option{--image-size} option is ignored in the case of
+@code{docker-image}.
You can specify the root file system type by using the
@option{--file-system-type} option. It defaults to @code{ext4}.
@@ -20399,6 +20482,28 @@ using the following command:
# dd if=$(guix system disk-image my-os.scm) of=/dev/sdc
@end example
+When using @code{docker-image}, a Docker image is produced. Guix builds
+the image from scratch, not from a pre-existing Docker base image. As a
+result, it contains @emph{exactly} what you define in the operating
+system configuration file. You can then load the image and launch a
+Docker container using commands like the following:
+
+@example
+image_id="$(docker load < guixsd-docker-image.tar.gz)"
+docker run -e GUIX_NEW_SYSTEM=/var/guix/profiles/system \\
+ --entrypoint /var/guix/profiles/system/profile/bin/guile \\
+ $image_id /var/guix/profiles/system/boot
+@end example
+
+This command starts a new Docker container from the specified image. It
+will boot the GuixSD system in the usual manner, which means it will
+start any services you have defined in the operating system
+configuration. Depending on what you run in the Docker container, it
+may be necessary to give the container additional permissions. For
+example, if you intend to build software using Guix inside of the Docker
+container, you may need to pass the @option{--privileged} option to
+@code{docker run}.
+
@item container
Return a script to run the operating system declared in @var{file}
within a container. Containers are a set of lightweight isolation
@@ -21014,16 +21119,16 @@ services.
Otherwise, it must be a one-argument procedure. The procedure is called
by @code{fold-services} and is passed a list of values collected from
-extensions. It must return a value that is a valid parameter value for
-the service instance.
+extensions. It may return any single value.
@item @code{extend} (default: @code{#f})
If this is @code{#f}, services of this type cannot be extended.
Otherwise, it must be a two-argument procedure: @code{fold-services}
-calls it, passing it the initial value of the service as the first argument
-and the result of applying @code{compose} to the extension values as the
-second argument.
+calls it, passing it the initial value of the service as the first
+argument and the result of applying @code{compose} to the extension
+values as the second argument. It must return a value that is a valid
+parameter value for the service instance.
@end table
@xref{Service Types and Services}, for examples.
diff --git a/etc/guix-install.sh b/etc/guix-install.sh
index 933492a338..78cd7580bb 100755
--- a/etc/guix-install.sh
+++ b/etc/guix-install.sh
@@ -50,6 +50,11 @@ DEBUG=0
GNU_URL="https://alpha.gnu.org/gnu/guix/"
OPENPGP_SIGNING_KEY_ID="3CE464558A84FDC69DB40CFB090B11993D9AEBB5"
+# This script needs to know where root's home directory is. However, we
+# cannot simply use the HOME environment variable, since there is no guarantee
+# that it points to root's home directory.
+ROOT_HOME="$(echo ~root)"
+
# ------------------------------------------------------------------------------
#+UTILITIES
@@ -264,9 +269,9 @@ sys_create_store()
_msg "${INF}Linking the root user's profile"
ln -sf /var/guix/profiles/per-user/root/guix-profile \
- ~root/.guix-profile
+ "${ROOT_HOME}/.guix-profile"
- GUIX_PROFILE="${HOME}/.guix-profile"
+ GUIX_PROFILE="${ROOT_HOME}/.guix-profile"
source "${GUIX_PROFILE}/etc/profile"
_msg "${PAS}activated root profile at /root/.guix-profile"
}
@@ -316,13 +321,13 @@ sys_enable_guix_daemon()
case "$INIT_SYS" in
upstart)
{ initctl reload-configuration;
- cp ~root/.guix-profile/lib/upstart/system/guix-daemon.conf \
+ cp "${ROOT_HOME}/.guix-profile/lib/upstart/system/guix-daemon.conf" \
/etc/init/ &&
start guix-daemon; } &&
_msg "${PAS}enabled Guix daemon via upstart"
;;
systemd)
- { cp ~root/.guix-profile/lib/systemd/system/guix-daemon.service \
+ { cp "${ROOT_HOME}/.guix-profile/lib/systemd/system/guix-daemon.service" \
/etc/systemd/system/;
chmod 664 /etc/systemd/system/guix-daemon.service;
systemctl daemon-reload &&
@@ -332,7 +337,7 @@ sys_enable_guix_daemon()
;;
NA|*)
_msg "${ERR}unsupported init system; run the daemon manually:"
- echo " ~root/.guix-profile/bin/guix-daemon --build-users-group=guixbuild"
+ echo " ${ROOT_HOME}/.guix-profile/bin/guix-daemon --build-users-group=guixbuild"
;;
esac
@@ -352,9 +357,9 @@ sys_authorize_build_farms()
while true; do
read -p "Permit downloading pre-built package binaries from the project's build farms? (yes/no) " yn
case $yn in
- [Yy]*) guix archive --authorize < ~root/.guix-profile/share/guix/hydra.gnu.org.pub &&
+ [Yy]*) guix archive --authorize < "${ROOT_HOME}/.guix-profile/share/guix/hydra.gnu.org.pub" &&
_msg "${PAS}Authorized public key for hydra.gnu.org";
- guix archive --authorize < ~root/.guix-profile/share/guix/berlin.guixsd.org.pub &&
+ guix archive --authorize < "${ROOT_HOME}/.guix-profile/share/guix/berlin.guixsd.org.pub" &&
_msg "${PAS}Authorized public key for berlin.guixsd.org";
break;;
[Nn]*) _msg "${INF}Skipped authorizing build farm public keys"
diff --git a/gnu/bootloader.scm b/gnu/bootloader.scm
index 736f119527..4f2c71cb5a 100644
--- a/gnu/bootloader.scm
+++ b/gnu/bootloader.scm
@@ -146,7 +146,8 @@
"Return the list of bootloader modules."
(all-modules (map (lambda (entry)
`(,entry . "gnu/bootloader"))
- %load-path)))
+ %load-path)
+ #:warn warn-about-load-error))
(define %bootloaders
;; The list of publically-known bootloaders.
diff --git a/gnu/build/activation.scm b/gnu/build/activation.scm
index 6c0d603ddf..68ecd6bc71 100644
--- a/gnu/build/activation.scm
+++ b/gnu/build/activation.scm
@@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2013, 2014, 2015, 2016, 2017 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2013, 2014, 2015, 2016, 2017, 2018 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2015 Mark H Weaver <mhw@netris.org>
;;;
;;; This file is part of GNU Guix.
@@ -179,7 +179,8 @@ properties. Return #t on success."
`("-G" ,(string-join supplementary-groups ","))
'())
,@(if comment `("-c" ,comment) '())
- ;; Don't use '--move-home', so ignore HOME.
+ ;; Don't use '--move-home'.
+ ,@(if home `("-d" ,home) '())
,@(if shell `("-s" ,shell) '())
,name)))
(zero? (apply system* "usermod" args))))
diff --git a/gnu/build/vm.scm b/gnu/build/vm.scm
index 7f6801b9dd..527b4c495d 100644
--- a/gnu/build/vm.scm
+++ b/gnu/build/vm.scm
@@ -4,6 +4,7 @@
;;; Copyright © 2016, 2017 Leo Famulari <leo@famulari.name>
;;; Copyright © 2017 Mathieu Othacehe <m.othacehe@gmail.com>
;;; Copyright © 2017 Marius Bakke <mbakke@fastmail.com>
+;;; Copyright © 2018 Chris Marusich <cmmarusich@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -125,6 +126,7 @@ the #:references-graphs parameter of 'derivation'."
(number->string disk-image-size)))
(mkdir "xchg")
+ (mkdir "tmp")
(match references-graphs
((graph-files ...)
@@ -145,6 +147,12 @@ the #:references-graphs parameter of 'derivation'."
"-virtfs"
(string-append "local,id=xchg_dev,path=xchg"
",security_model=none,mount_tag=xchg")
+ "-virtfs"
+ ;; Some programs require more space in /tmp than is normally
+ ;; available in the guest. Accommodate such programs by sharing a
+ ;; temporary directory.
+ (string-append "local,id=tmp_dev,path=tmp"
+ ",security_model=none,mount_tag=tmp")
"-kernel" linux
"-initrd" initrd
(append
@@ -307,11 +315,14 @@ it, run its initializer, and unmount it."
(define* (root-partition-initializer #:key (closures '())
copy-closures?
(register-closures? #t)
- system-directory)
+ system-directory
+ (deduplicate? #t))
"Return a procedure to initialize a root partition.
-If REGISTER-CLOSURES? is true, register all of CLOSURES is the partition's
-store. If COPY-CLOSURES? is true, copy all of CLOSURES to the partition.
+If REGISTER-CLOSURES? is true, register all of CLOSURES in the partition's
+store. If DEDUPLICATE? is true, then also deduplicate files common to
+CLOSURES and the rest of the store when registering the closures. If
+COPY-CLOSURES? is true, copy all of CLOSURES to the partition.
SYSTEM-DIRECTORY is the name of the directory of the 'system' derivation."
(lambda (target)
(define target-store
@@ -336,7 +347,8 @@ SYSTEM-DIRECTORY is the name of the directory of the 'system' derivation."
(display "registering closures...\n")
(for-each (lambda (closure)
(register-closure target
- (string-append "/xchg/" closure)))
+ (string-append "/xchg/" closure)
+ #:deduplicate? deduplicate?))
closures)
(unless copy-closures?
(umount target-store)))
diff --git a/gnu/local.mk b/gnu/local.mk
index b0196c7313..0bdfc521c2 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -349,6 +349,7 @@ GNU_SYSTEM_MODULES = \
%D%/packages/pumpio.scm \
%D%/packages/pretty-print.scm \
%D%/packages/protobuf.scm \
+ %D%/packages/pure.scm \
%D%/packages/pv.scm \
%D%/packages/python.scm \
%D%/packages/python-crypto.scm \
@@ -543,6 +544,7 @@ MODULES_NOT_COMPILED += \
patchdir = $(guilemoduledir)/%D%/packages/patches
dist_patch_DATA = \
%D%/packages/patches/4store-fix-buildsystem.patch \
+ %D%/packages/patches/4store-unset-preprocessor-directive.patch \
%D%/packages/patches/a2ps-CVE-2001-1593.patch \
%D%/packages/patches/a2ps-CVE-2014-0466.patch \
%D%/packages/patches/abiword-explictly-cast-bools.patch \
@@ -589,10 +591,12 @@ dist_patch_DATA = \
%D%/packages/patches/ceph-skip-collect-sys-info-test.patch \
%D%/packages/patches/ceph-skip-unittest_blockdev.patch \
%D%/packages/patches/chmlib-inttypes.patch \
- %D%/packages/patches/clang-libc-search-path.patch \
+ %D%/packages/patches/clang-3.5-libc-search-path.patch \
%D%/packages/patches/clang-3.8-libc-search-path.patch \
+ %D%/packages/patches/clang-6.0-libc-search-path.patch \
%D%/packages/patches/clang-runtime-asan-build-fixes.patch \
%D%/packages/patches/clang-runtime-esan-build-fixes.patch \
+ %D%/packages/patches/classpath-aarch64-support.patch \
%D%/packages/patches/clementine-remove-crypto++-dependency.patch \
%D%/packages/patches/clementine-use-openssl.patch \
%D%/packages/patches/clisp-glibc-2.26.patch \
@@ -604,7 +608,6 @@ dist_patch_DATA = \
%D%/packages/patches/cool-retro-term-dont-check-uninit-member.patch \
%D%/packages/patches/cool-retro-term-fix-array-size.patch \
%D%/packages/patches/cool-retro-term-memory-leak-1.patch \
- %D%/packages/patches/cool-retro-term-remove-non-free-fonts.patch \
%D%/packages/patches/cpio-CVE-2016-2037.patch \
%D%/packages/patches/cpufrequtils-fix-aclocal.patch \
%D%/packages/patches/cracklib-CVE-2016-6318.patch \
@@ -617,8 +620,10 @@ dist_patch_DATA = \
%D%/packages/patches/cursynth-wave-rand.patch \
%D%/packages/patches/cvs-2017-12836.patch \
%D%/packages/patches/cyrus-sasl-CVE-2013-4122.patch \
+ %D%/packages/patches/datamash-arm-tests.patch \
%D%/packages/patches/dbus-helper-search-path.patch \
%D%/packages/patches/deja-dup-use-ref-keyword-for-iter.patch \
+ %D%/packages/patches/delly-use-system-libraries.patch \
%D%/packages/patches/dfu-programmer-fix-libusb.patch \
%D%/packages/patches/diffutils-gets-undeclared.patch \
%D%/packages/patches/diffutils-getopt.patch \
@@ -664,6 +669,7 @@ dist_patch_DATA = \
%D%/packages/patches/freeimage-CVE-2015-0852.patch \
%D%/packages/patches/freeimage-CVE-2016-5684.patch \
%D%/packages/patches/freeimage-fix-build-with-gcc-5.patch \
+ %D%/packages/patches/freeimage-unbundle.patch \
%D%/packages/patches/freetype-CVE-2018-6942.patch \
%D%/packages/patches/fuse-overlapping-headers.patch \
%D%/packages/patches/gawk-shell.patch \
@@ -776,10 +782,8 @@ dist_patch_DATA = \
%D%/packages/patches/heimdal-CVE-2017-11103.patch \
%D%/packages/patches/hmmer-remove-cpu-specificity.patch \
%D%/packages/patches/higan-remove-march-native-flag.patch \
- %D%/packages/patches/htop-fix-process-tree.patch \
%D%/packages/patches/hubbub-sort-entities.patch \
%D%/packages/patches/hurd-fix-eth-multiplexer-dependency.patch \
- %D%/packages/patches/hwloc-tests-without-sysfs.patch \
%D%/packages/patches/hydra-disable-darcs-test.patch \
%D%/packages/patches/icecat-avoid-bundled-libraries.patch \
%D%/packages/patches/icecat-use-system-graphite2.patch \
@@ -884,7 +888,6 @@ dist_patch_DATA = \
%D%/packages/patches/lierolibre-newer-libconfig.patch \
%D%/packages/patches/lierolibre-remove-arch-warning.patch \
%D%/packages/patches/lierolibre-try-building-other-arch.patch \
- %D%/packages/patches/links-CVE-2017-11114.patch \
%D%/packages/patches/linux-pam-no-setfsuid.patch \
%D%/packages/patches/lirc-localstatedir.patch \
%D%/packages/patches/llvm-3.5-fix-clang-build-with-gcc5.patch \
@@ -901,6 +904,7 @@ dist_patch_DATA = \
%D%/packages/patches/luminance-hdr-qt-printer.patch \
%D%/packages/patches/lvm2-static-link.patch \
%D%/packages/patches/lxsession-use-gapplication.patch \
+ %D%/packages/patches/lyx-2.2.3-fix-test.patch \
%D%/packages/patches/mailutils-uninitialized-memory.patch \
%D%/packages/patches/make-impure-dirs.patch \
%D%/packages/patches/mars-install.patch \
@@ -928,7 +932,10 @@ dist_patch_DATA = \
%D%/packages/patches/mumps-build-parallelism.patch \
%D%/packages/patches/mupdf-build-with-latest-openjpeg.patch \
%D%/packages/patches/mupdf-CVE-2017-17858.patch \
+ %D%/packages/patches/mupdf-CVE-2018-6544.patch \
+ %D%/packages/patches/mupdf-CVE-2018-1000051.patch \
%D%/packages/patches/mupen64plus-ui-console-notice.patch \
+ %D%/packages/patches/mupen64plus-video-z64-glew-correct-path.patch \
%D%/packages/patches/mutt-store-references.patch \
%D%/packages/patches/net-tools-bitrot.patch \
%D%/packages/patches/netcdf-date-time.patch \
@@ -1086,6 +1093,7 @@ dist_patch_DATA = \
%D%/packages/patches/sdl-libx11-1.6.patch \
%D%/packages/patches/seq24-rename-mutex.patch \
%D%/packages/patches/shadow-CVE-2018-7169.patch \
+ %D%/packages/patches/sharutils-CVE-2018-1000097.patch \
%D%/packages/patches/shishi-fix-libgcrypt-detection.patch \
%D%/packages/patches/slim-session.patch \
%D%/packages/patches/slim-config.patch \
@@ -1116,6 +1124,7 @@ dist_patch_DATA = \
%D%/packages/patches/tipp10-fix-compiling.patch \
%D%/packages/patches/tipp10-remove-license-code.patch \
%D%/packages/patches/tk-find-library.patch \
+ %D%/packages/patches/translate-shell-fix-curl-tests.patch \
%D%/packages/patches/ttf2eot-cstddef.patch \
%D%/packages/patches/ttfautohint-source-date-epoch.patch \
%D%/packages/patches/tophat-build-with-later-seqan.patch \
diff --git a/gnu/packages.scm b/gnu/packages.scm
index 97e6cb347f..1a37a17342 100644
--- a/gnu/packages.scm
+++ b/gnu/packages.scm
@@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017, 2018 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2013 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2014 Eric Bavier <bavier@member.fsf.org>
;;; Copyright © 2016, 2017 Alex Kost <alezost@gmail.com>
@@ -110,8 +110,25 @@ for system '~a'")
file-name system)))))))
(define %distro-root-directory
- ;; Absolute file name of the module hierarchy.
- (dirname (search-path %load-path "guix.scm")))
+ ;; Absolute file name of the module hierarchy. Since (gnu packages …) might
+ ;; live in a directory different from (guix), try to get the best match.
+ (letrec-syntax ((dirname* (syntax-rules ()
+ ((_ file)
+ (dirname file))
+ ((_ file head tail ...)
+ (dirname (dirname* file tail ...)))))
+ (try (syntax-rules ()
+ ((_ (file things ...) rest ...)
+ (match (search-path %load-path file)
+ (#f
+ (try rest ...))
+ (absolute
+ (dirname* absolute things ...))))
+ ((_)
+ #f))))
+ (try ("gnu/packages/base.scm" gnu/ packages/)
+ ("gnu/packages.scm" gnu/)
+ ("guix.scm"))))
(define %package-module-path
;; Search path for package modules. Each item must be either a directory
@@ -142,7 +159,9 @@ for system '~a'")
(define* (fold-packages proc init
#:optional
- (modules (all-modules (%package-module-path)))
+ (modules (all-modules (%package-module-path)
+ #:warn
+ warn-about-load-error))
#:key (select? (negate hidden-package?)))
"Call (PROC PACKAGE RESULT) for each available package defined in one of
MODULES that matches SELECT?, using INIT as the initial value of RESULT. It
diff --git a/gnu/packages/admin.scm b/gnu/packages/admin.scm
index 6a7bed3892..2cab8e74e4 100644
--- a/gnu/packages/admin.scm
+++ b/gnu/packages/admin.scm
@@ -261,15 +261,14 @@ graphs and can export its output to different formats.")
(define-public htop
(package
(name "htop")
- (version "2.1.0")
+ (version "2.2.0")
(source (origin
(method url-fetch)
(uri (string-append "http://hisham.hm/htop/releases/"
version "/htop-" version ".tar.gz"))
(sha256
(base32
- "0j07z0xm2gj1vzvbgh4323k4db9mr7drd7gw95mmpqi61ncvwq1j"))
- (patches (search-patches "htop-fix-process-tree.patch"))))
+ "0mrwpb3cpn3ai7ar33m31yklj64c3pp576vh1naqff6f21pq5mnr"))))
(build-system gnu-build-system)
(inputs
`(("ncurses" ,ncurses)))
@@ -1646,6 +1645,35 @@ you use the most from the command line and allows you to \"jump\" to
frequently used directories by typing only a small pattern.")
(license license:gpl3+)))
+(define-public fasd
+ (package
+ (name "fasd")
+ (version "1.0.1")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/clvv/fasd.git")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "1awi71jdv3mhjrmar2d4z1i90kn7apd7aq1w31sh6w4yibz9kiyj"))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:phases (modify-phases %standard-phases
+ (delete 'configure)) ;no configuration
+ #:tests? #f ;no tests
+ #:make-flags (list (string-append "PREFIX=" %output))))
+ (home-page "https://github.com/clvv/fasd")
+ (synopsis "Quick access to files and directories for shells")
+ (description
+ "Fasd (pronounced similar to \"fast\") is a command-line productivity
+booster. Fasd offers quick access to files and directories for POSIX shells.
+It is inspired by tools like autojump, z, and v. Fasd keeps track of files
+and directories you have accessed so that you can quickly reference them in
+the command line.")
+ (license license:x11)))
+
(define-public iftop
(package
(name "iftop")
@@ -1901,13 +1929,13 @@ a new command using the matched rule, and runs it.")
(define-public di
(package
(name "di")
- (version "4.44")
+ (version "4.46")
(source
(origin
(method url-fetch)
(uri (string-append "https://gentoo.com/di/di-" version ".tar.gz"))
(sha256
- (base32 "0803lp8kd3mp1jcm17i019xiqxdy85hhs6xk67zib8gmvg500gcn"))))
+ (base32 "0cskiqywiqkw44zdg4q78bjns6jjp1dz5lzdxrhpnpldc6075irw"))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f ; Obscure test failures.
diff --git a/gnu/packages/audio.scm b/gnu/packages/audio.scm
index 9a63beddee..4456540c4d 100644
--- a/gnu/packages/audio.scm
+++ b/gnu/packages/audio.scm
@@ -2059,7 +2059,7 @@ background file post-processing.")
(define-public supercollider
(package
(name "supercollider")
- (version "3.9.1")
+ (version "3.9.2")
(source (origin
(method url-fetch)
(uri (string-append
@@ -2068,7 +2068,7 @@ background file post-processing.")
"/SuperCollider-" version "-Source-linux.tar.bz2"))
(sha256
(base32
- "150fgnjcmb06r3pa3mbsvb4iwnqlimjwdxgbs6p55zz6g8wbln7a"))))
+ "0d3cb6dw8jz7ijriqn3rlwin24gffczp69hl17pzxj1d5w57yj44"))))
(build-system cmake-build-system)
(arguments
`(#:configure-flags '("-DSYSTEM_BOOST=on" "-DSYSTEM_YAMLCPP=on"
diff --git a/gnu/packages/aux-files/linux-libre/4.15-arm.conf b/gnu/packages/aux-files/linux-libre/4.16-arm.conf
index ec1971472c..484242917d 100644
--- a/gnu/packages/aux-files/linux-libre/4.15-arm.conf
+++ b/gnu/packages/aux-files/linux-libre/4.16-arm.conf
@@ -1,6 +1,6 @@
#
# Automatically generated file; DO NOT EDIT.
-# Linux/arm 4.15.0-gnu Kernel Configuration
+# Linux/arm 4.16.0-gnu Kernel Configuration
#
CONFIG_ARM=y
CONFIG_ARM_HAS_SG_CHAIN=y
@@ -25,7 +25,6 @@ CONFIG_FIQ=y
CONFIG_ARM_PATCH_PHYS_VIRT=y
CONFIG_GENERIC_BUG=y
CONFIG_PGTABLE_LEVELS=2
-CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
CONFIG_IRQ_WORK=y
CONFIG_BUILDTIME_EXTABLE_SORT=y
@@ -75,7 +74,6 @@ CONFIG_IRQ_DOMAIN_HIERARCHY=y
CONFIG_GENERIC_MSI_IRQ=y
CONFIG_GENERIC_MSI_IRQ_DOMAIN=y
CONFIG_HANDLE_DOMAIN_IRQ=y
-# CONFIG_IRQ_DOMAIN_DEBUG is not set
CONFIG_IRQ_FORCED_THREADING=y
CONFIG_SPARSE_IRQ=y
# CONFIG_GENERIC_IRQ_DEBUGFS is not set
@@ -245,6 +243,7 @@ CONFIG_HAVE_DMA_CONTIGUOUS=y
CONFIG_GENERIC_SMP_IDLE_THREAD=y
CONFIG_GENERIC_IDLE_POLL_SETUP=y
CONFIG_ARCH_HAS_SET_MEMORY=y
+CONFIG_HAVE_ARCH_THREAD_STRUCT_WHITELIST=y
CONFIG_HAVE_REGS_AND_STACK_ACCESS_API=y
CONFIG_HAVE_CLK=y
CONFIG_HAVE_DMA_API_DEBUG=y
@@ -258,10 +257,10 @@ CONFIG_SECCOMP_FILTER=y
CONFIG_HAVE_GCC_PLUGINS=y
# CONFIG_GCC_PLUGINS is not set
CONFIG_HAVE_CC_STACKPROTECTOR=y
-CONFIG_CC_STACKPROTECTOR=y
# CONFIG_CC_STACKPROTECTOR_NONE is not set
# CONFIG_CC_STACKPROTECTOR_REGULAR is not set
CONFIG_CC_STACKPROTECTOR_STRONG=y
+# CONFIG_CC_STACKPROTECTOR_AUTO is not set
CONFIG_THIN_ARCHIVES=y
CONFIG_HAVE_CONTEXT_TRACKING=y
CONFIG_HAVE_VIRT_CPU_ACCOUNTING_GEN=y
@@ -287,7 +286,8 @@ CONFIG_ARCH_HAS_STRICT_KERNEL_RWX=y
CONFIG_STRICT_KERNEL_RWX=y
CONFIG_ARCH_HAS_STRICT_MODULE_RWX=y
CONFIG_STRICT_MODULE_RWX=y
-# CONFIG_REFCOUNT_FULL is not set
+CONFIG_ARCH_HAS_PHYS_TO_DMA=y
+CONFIG_REFCOUNT_FULL=y
#
# GCOV-based kernel profiling
@@ -712,6 +712,11 @@ CONFIG_PCI_LABEL=y
# CONFIG_HOTPLUG_PCI is not set
#
+# Cadence PCIe controllers support
+#
+# CONFIG_PCIE_CADENCE_HOST is not set
+
+#
# DesignWare PCI Core Support
#
CONFIG_PCIE_DW=y
@@ -733,7 +738,6 @@ CONFIG_PCI_TEGRA=y
CONFIG_PCI_HOST_COMMON=y
CONFIG_PCI_HOST_GENERIC=y
# CONFIG_PCI_V3_SEMI is not set
-# CONFIG_PCIE_ALTERA is not set
# CONFIG_PCIE_ROCKCHIP is not set
#
@@ -892,6 +896,7 @@ CONFIG_CPU_FREQ_GOV_SCHEDUTIL=y
#
CONFIG_CPUFREQ_DT=m
CONFIG_CPUFREQ_DT_PLATDEV=y
+CONFIG_ARM_ARMADA_37XX_CPUFREQ=m
# CONFIG_ARM_BIG_LITTLE_CPUFREQ is not set
CONFIG_ARM_EXYNOS5440_CPUFREQ=y
CONFIG_ARM_HIGHBANK_CPUFREQ=m
@@ -1086,12 +1091,15 @@ CONFIG_BRIDGE_NETFILTER=m
#
CONFIG_NETFILTER_INGRESS=y
CONFIG_NETFILTER_NETLINK=m
+CONFIG_NETFILTER_FAMILY_BRIDGE=y
+CONFIG_NETFILTER_FAMILY_ARP=y
CONFIG_NETFILTER_NETLINK_ACCT=m
CONFIG_NETFILTER_NETLINK_QUEUE=m
CONFIG_NETFILTER_NETLINK_LOG=m
CONFIG_NF_CONNTRACK=m
CONFIG_NF_LOG_COMMON=m
# CONFIG_NF_LOG_NETDEV is not set
+CONFIG_NETFILTER_CONNCOUNT=m
CONFIG_NF_CONNTRACK_MARK=y
CONFIG_NF_CONNTRACK_SECMARK=y
CONFIG_NF_CONNTRACK_ZONES=y
@@ -1139,6 +1147,7 @@ CONFIG_NFT_META=m
# CONFIG_NFT_RT is not set
CONFIG_NFT_NUMGEN=m
CONFIG_NFT_CT=m
+CONFIG_NFT_FLOW_OFFLOAD=m
CONFIG_NFT_SET_RBTREE=m
CONFIG_NFT_SET_HASH=m
# CONFIG_NFT_SET_BITMAP is not set
@@ -1161,6 +1170,8 @@ CONFIG_NF_DUP_NETDEV=m
CONFIG_NFT_DUP_NETDEV=m
CONFIG_NFT_FWD_NETDEV=m
CONFIG_NFT_FIB_NETDEV=m
+CONFIG_NF_FLOW_TABLE_INET=m
+CONFIG_NF_FLOW_TABLE=m
CONFIG_NETFILTER_XTABLES=m
#
@@ -1322,6 +1333,7 @@ CONFIG_NFT_REJECT_IPV4=m
CONFIG_NFT_DUP_IPV4=m
CONFIG_NFT_FIB_IPV4=m
CONFIG_NF_TABLES_ARP=m
+CONFIG_NF_FLOW_TABLE_IPV4=m
CONFIG_NF_DUP_IPV4=m
CONFIG_NF_LOG_ARP=m
CONFIG_NF_LOG_IPV4=m
@@ -1368,6 +1380,7 @@ CONFIG_NFT_CHAIN_ROUTE_IPV6=m
CONFIG_NFT_REJECT_IPV6=m
CONFIG_NFT_DUP_IPV6=m
CONFIG_NFT_FIB_IPV6=m
+CONFIG_NF_FLOW_TABLE_IPV6=m
CONFIG_NF_DUP_IPV6=m
CONFIG_NF_REJECT_IPV6=m
CONFIG_NF_LOG_IPV6=m
@@ -1386,6 +1399,7 @@ CONFIG_IP6_NF_MATCH_IPV6HEADER=m
CONFIG_IP6_NF_MATCH_MH=m
CONFIG_IP6_NF_MATCH_RPFILTER=m
CONFIG_IP6_NF_MATCH_RT=m
+CONFIG_IP6_NF_MATCH_SRH=m
CONFIG_IP6_NF_TARGET_HL=m
CONFIG_IP6_NF_FILTER=m
CONFIG_IP6_NF_TARGET_REJECT=m
@@ -1436,9 +1450,7 @@ CONFIG_IP_DCCP_TFRC_LIB=y
# DCCP Kernel Hacking
#
# CONFIG_IP_DCCP_DEBUG is not set
-CONFIG_NET_DCCPPROBE=m
CONFIG_IP_SCTP=m
-CONFIG_NET_SCTPPROBE=m
# CONFIG_SCTP_DBG_OBJCNT is not set
CONFIG_SCTP_DEFAULT_COOKIE_HMAC_MD5=y
# CONFIG_SCTP_DEFAULT_COOKIE_HMAC_SHA1 is not set
@@ -1473,6 +1485,7 @@ CONFIG_BRIDGE_IGMP_SNOOPING=y
CONFIG_BRIDGE_VLAN_FILTERING=y
CONFIG_HAVE_NET_DSA=y
CONFIG_NET_DSA=m
+CONFIG_NET_DSA_LEGACY=y
CONFIG_NET_DSA_TAG_BRCM=y
CONFIG_NET_DSA_TAG_BRCM_PREPEND=y
CONFIG_NET_DSA_TAG_DSA=y
@@ -1484,7 +1497,6 @@ CONFIG_VLAN_8021Q_MVRP=y
# CONFIG_DECNET is not set
CONFIG_LLC=m
CONFIG_LLC2=m
-# CONFIG_IPX is not set
CONFIG_ATALK=m
CONFIG_DEV_APPLETALK=m
CONFIG_IPDDP=m
@@ -1639,7 +1651,6 @@ CONFIG_NET_FLOW_LIMIT=y
# Network testing
#
CONFIG_NET_PKTGEN=m
-# CONFIG_NET_TCPPROBE is not set
CONFIG_NET_DROP_MONITOR=m
# CONFIG_HAMRADIO is not set
CONFIG_CAN=m
@@ -1716,6 +1727,7 @@ CONFIG_BT_INTEL=m
CONFIG_BT_BCM=m
CONFIG_BT_RTL=m
CONFIG_BT_HCIBTUSB=m
+# CONFIG_BT_HCIBTUSB_AUTOSUSPEND is not set
CONFIG_BT_HCIBTUSB_BCM=y
CONFIG_BT_HCIBTUSB_RTL=y
CONFIG_BT_HCIBTSDIO=m
@@ -1825,7 +1837,6 @@ CONFIG_DEVTMPFS_MOUNT=y
CONFIG_STANDALONE=y
CONFIG_PREVENT_FIRMWARE_BUILD=y
CONFIG_FW_LOADER=y
-# CONFIG_FIRMWARE_IN_KERNEL is not set
CONFIG_EXTRA_FIRMWARE=""
CONFIG_FW_LOADER_USER_HELPER=y
# CONFIG_FW_LOADER_USER_HELPER_FALLBACK is not set
@@ -1976,6 +1987,7 @@ CONFIG_MTD_NAND_RICOH=m
# CONFIG_MTD_NAND_DOCG4 is not set
CONFIG_MTD_NAND_CAFE=m
CONFIG_MTD_NAND_PXA3xx=m
+CONFIG_MTD_NAND_MARVELL=m
CONFIG_MTD_NAND_NANDSIM=m
CONFIG_MTD_NAND_GPMI_NAND=m
# CONFIG_MTD_NAND_BRCMNAND is not set
@@ -2016,12 +2028,9 @@ CONFIG_OF_EARLY_FLATTREE=y
CONFIG_OF_KOBJ=y
CONFIG_OF_DYNAMIC=y
CONFIG_OF_ADDRESS=y
-CONFIG_OF_ADDRESS_PCI=y
CONFIG_OF_IRQ=y
CONFIG_OF_NET=y
CONFIG_OF_MDIO=y
-CONFIG_OF_PCI=y
-CONFIG_OF_PCI_IRQ=y
CONFIG_OF_RESERVED_MEM=y
CONFIG_OF_RESOLVE=y
CONFIG_OF_OVERLAY=y
@@ -2103,6 +2112,7 @@ CONFIG_SRAM=y
CONFIG_SRAM_EXEC=y
CONFIG_VEXPRESS_SYSCFG=y
# CONFIG_PCI_ENDPOINT_TEST is not set
+CONFIG_MISC_RTSX=m
CONFIG_C2PORT=m
#
@@ -2166,6 +2176,9 @@ CONFIG_ALTERA_STAPL=m
# CONFIG_CXL_BASE is not set
# CONFIG_CXL_AFU_DRIVER_OPS is not set
# CONFIG_CXL_LIB is not set
+# CONFIG_OCXL_BASE is not set
+CONFIG_MISC_RTSX_PCI=m
+CONFIG_MISC_RTSX_USB=m
CONFIG_HAVE_IDE=y
# CONFIG_IDE is not set
@@ -2293,6 +2306,7 @@ CONFIG_SATA_PMP=y
# Controllers with non-SFF native interface
#
CONFIG_SATA_AHCI=m
+CONFIG_SATA_MOBILE_LPM_POLICY=0
CONFIG_SATA_AHCI_PLATFORM=m
# CONFIG_AHCI_DM816 is not set
CONFIG_AHCI_IMX=m
@@ -2405,6 +2419,7 @@ CONFIG_DM_BUFIO=m
# CONFIG_DM_DEBUG_BLOCK_MANAGER_LOCKING is not set
CONFIG_DM_BIO_PRISON=m
CONFIG_DM_PERSISTENT_DATA=m
+CONFIG_DM_UNSTRIPED=m
CONFIG_DM_CRYPT=m
CONFIG_DM_SNAPSHOT=m
CONFIG_DM_THIN_PROVISIONING=m
@@ -2587,6 +2602,8 @@ CONFIG_NET_VENDOR_CIRRUS=y
# CONFIG_CS89x0 is not set
CONFIG_NET_VENDOR_CISCO=y
CONFIG_ENIC=m
+CONFIG_NET_VENDOR_CORTINA=y
+CONFIG_GEMINI_ETHERNET=m
# CONFIG_DM9000 is not set
# CONFIG_DNET is not set
CONFIG_NET_VENDOR_DEC=y
@@ -2755,6 +2772,7 @@ CONFIG_SMC911X=m
CONFIG_SMSC911X=m
# CONFIG_SMSC911X_ARCH_HOOKS is not set
CONFIG_SMSC9420=m
+CONFIG_NET_VENDOR_SOCIONEXT=y
CONFIG_NET_VENDOR_STMICRO=y
CONFIG_STMMAC_ETH=m
CONFIG_STMMAC_PLATFORM=m
@@ -2802,7 +2820,9 @@ CONFIG_MDIO_BUS_MUX=m
# CONFIG_MDIO_BUS_MUX_GPIO is not set
# CONFIG_MDIO_BUS_MUX_MMIOREG is not set
# CONFIG_MDIO_HISI_FEMAC is not set
+CONFIG_MDIO_I2C=m
CONFIG_MDIO_SUN4I=y
+CONFIG_PHYLINK=m
CONFIG_PHYLIB=y
CONFIG_SWPHY=y
# CONFIG_LED_TRIGGER_PHY is not set
@@ -2810,6 +2830,7 @@ CONFIG_SWPHY=y
#
# MII PHY device drivers
#
+CONFIG_SFP=m
CONFIG_AMD_PHY=m
CONFIG_AQUANTIA_PHY=m
CONFIG_AT803X_PHY=m
@@ -2969,6 +2990,8 @@ CONFIG_B43_SSB=y
CONFIG_B43_BUSES_BCMA_AND_SSB=y
# CONFIG_B43_BUSES_BCMA is not set
# CONFIG_B43_BUSES_SSB is not set
+CONFIG_B43_PCI_AUTOSELECT=y
+CONFIG_B43_PCICORE_AUTOSELECT=y
CONFIG_B43_SDIO=y
CONFIG_B43_BCMA_PIO=y
CONFIG_B43_PIO=y
@@ -2980,6 +3003,8 @@ CONFIG_B43_LEDS=y
CONFIG_B43_HWRNG=y
# CONFIG_B43_DEBUG is not set
CONFIG_B43LEGACY=m
+CONFIG_B43LEGACY_PCI_AUTOSELECT=y
+CONFIG_B43LEGACY_PCICORE_AUTOSELECT=y
CONFIG_B43LEGACY_LEDS=y
CONFIG_B43LEGACY_HWRNG=y
CONFIG_B43LEGACY_DEBUG=y
@@ -3057,6 +3082,8 @@ CONFIG_LIBERTAS_THINFIRM_USB=m
CONFIG_MWL8K=m
CONFIG_WLAN_VENDOR_MEDIATEK=y
CONFIG_MT7601U=m
+CONFIG_MT76_CORE=m
+CONFIG_MT76x2E=m
CONFIG_WLAN_VENDOR_RALINK=y
CONFIG_RT2X00=m
CONFIG_RT2400PCI=m
@@ -3154,6 +3181,7 @@ CONFIG_IEEE802154_ADF7242=m
CONFIG_XEN_NETDEV_FRONTEND=m
CONFIG_XEN_NETDEV_BACKEND=m
# CONFIG_VMXNET3 is not set
+CONFIG_NETDEVSIM=m
# CONFIG_ISDN is not set
# CONFIG_NVM is not set
@@ -3355,7 +3383,6 @@ CONFIG_INPUT_MISC=y
CONFIG_INPUT_MMA8450=m
# CONFIG_INPUT_GP2A is not set
# CONFIG_INPUT_GPIO_BEEPER is not set
-# CONFIG_INPUT_GPIO_TILT_POLLED is not set
# CONFIG_INPUT_GPIO_DECODER is not set
CONFIG_INPUT_ATI_REMOTE2=m
CONFIG_INPUT_KEYSPAN_REMOTE=m
@@ -3519,7 +3546,7 @@ CONFIG_HW_RANDOM_OMAP=m
CONFIG_HW_RANDOM_OMAP3_ROM=m
CONFIG_HW_RANDOM_VIRTIO=m
CONFIG_HW_RANDOM_IMX_RNGC=m
-CONFIG_HW_RANDOM_TPM=m
+CONFIG_HW_RANDOM_EXYNOS=m
# CONFIG_NVRAM is not set
# CONFIG_R3964 is not set
# CONFIG_APPLICOM is not set
@@ -3597,6 +3624,7 @@ CONFIG_I2C_BCM2835=m
# CONFIG_I2C_EMEV2 is not set
CONFIG_I2C_EXYNOS5=m
CONFIG_I2C_GPIO=y
+# CONFIG_I2C_GPIO_FAULT_INJECTOR is not set
CONFIG_I2C_IMX=m
# CONFIG_I2C_IMX_LPI2C is not set
CONFIG_I2C_MV64XXX=m
@@ -3731,6 +3759,7 @@ CONFIG_PINCONF=y
CONFIG_GENERIC_PINCONF=y
# CONFIG_DEBUG_PINCTRL is not set
CONFIG_PINCTRL_AS3722=y
+CONFIG_PINCTRL_AXP209=m
# CONFIG_PINCTRL_AMD is not set
CONFIG_PINCTRL_MCP23S08=m
CONFIG_PINCTRL_ROCKCHIP=y
@@ -3790,7 +3819,6 @@ CONFIG_GPIO_GENERIC=y
#
# CONFIG_GPIO_74XX_MMIO is not set
# CONFIG_GPIO_ALTERA is not set
-CONFIG_GPIO_AXP209=m
# CONFIG_GPIO_DWAPB is not set
# CONFIG_GPIO_EXAR is not set
# CONFIG_GPIO_FTGPIO010 is not set
@@ -3836,6 +3864,7 @@ CONFIG_GPIO_TWL6040=y
# PCI GPIO expanders
#
# CONFIG_GPIO_PCI_IDIO_16 is not set
+# CONFIG_GPIO_PCIE_IDIO_24 is not set
# CONFIG_GPIO_RDC321X is not set
#
@@ -3894,7 +3923,6 @@ CONFIG_POWER_RESET_AS3722=y
# CONFIG_POWER_RESET_BRCMSTB is not set
CONFIG_POWER_RESET_GPIO=y
CONFIG_POWER_RESET_GPIO_RESTART=y
-# CONFIG_POWER_RESET_IMX is not set
# CONFIG_POWER_RESET_LTC2952 is not set
# CONFIG_POWER_RESET_QNAP is not set
CONFIG_POWER_RESET_RESTART=y
@@ -4077,6 +4105,7 @@ CONFIG_SENSORS_TMP421=m
# CONFIG_SENSORS_VIA686A is not set
CONFIG_SENSORS_VT1211=m
CONFIG_SENSORS_VT8231=m
+CONFIG_SENSORS_W83773G=m
# CONFIG_SENSORS_W83781D is not set
CONFIG_SENSORS_W83791D=m
CONFIG_SENSORS_W83792D=m
@@ -4155,6 +4184,7 @@ CONFIG_DA9052_WATCHDOG=m
# CONFIG_ZIIRAVE_WATCHDOG is not set
CONFIG_ARM_SP805_WATCHDOG=m
# CONFIG_CADENCE_WATCHDOG is not set
+CONFIG_FTWDT010_WATCHDOG=m
CONFIG_HAVE_S3C2410_WATCHDOG=y
CONFIG_S3C2410_WATCHDOG=m
CONFIG_DW_WATCHDOG=m
@@ -4188,16 +4218,18 @@ CONFIG_XEN_WDT=m
#
# CONFIG_WATCHDOG_PRETIMEOUT_GOV is not set
CONFIG_SSB_POSSIBLE=y
-
-#
-# Sonics Silicon Backplane
-#
CONFIG_SSB=m
+CONFIG_SSB_SPROM=y
CONFIG_SSB_BLOCKIO=y
+CONFIG_SSB_PCIHOST_POSSIBLE=y
+CONFIG_SSB_PCIHOST=y
+CONFIG_SSB_B43_PCI_BRIDGE=y
CONFIG_SSB_SDIOHOST_POSSIBLE=y
CONFIG_SSB_SDIOHOST=y
# CONFIG_SSB_SILENT is not set
# CONFIG_SSB_DEBUG is not set
+CONFIG_SSB_DRIVER_PCICORE_POSSIBLE=y
+CONFIG_SSB_DRIVER_PCICORE=y
# CONFIG_SSB_DRIVER_GPIO is not set
CONFIG_BCMA_POSSIBLE=y
CONFIG_BCMA=m
@@ -4232,6 +4264,7 @@ CONFIG_MFD_AXP20X_I2C=y
CONFIG_MFD_CROS_EC=m
# CONFIG_MFD_CROS_EC_I2C is not set
CONFIG_MFD_CROS_EC_SPI=m
+CONFIG_MFD_CROS_EC_CHARDEV=m
# CONFIG_MFD_ASIC3 is not set
# CONFIG_PMIC_DA903X is not set
CONFIG_PMIC_DA9052=y
@@ -4275,9 +4308,7 @@ CONFIG_MFD_VIPERBOARD=m
# CONFIG_UCB1400_CORE is not set
# CONFIG_MFD_PM8XXX is not set
# CONFIG_MFD_RDC321X is not set
-CONFIG_MFD_RTSX_PCI=m
# CONFIG_MFD_RT5033 is not set
-CONFIG_MFD_RTSX_USB=m
# CONFIG_MFD_RC5T583 is not set
CONFIG_MFD_RK808=y
# CONFIG_MFD_RN5T618 is not set
@@ -4396,9 +4427,8 @@ CONFIG_CEC_CORE=m
CONFIG_CEC_NOTIFIER=y
CONFIG_RC_CORE=y
CONFIG_RC_MAP=m
+CONFIG_LIRC=y
CONFIG_RC_DECODERS=y
-CONFIG_LIRC=m
-CONFIG_IR_LIRC_CODEC=m
CONFIG_IR_NEC_DECODER=m
CONFIG_IR_RC5_DECODER=m
CONFIG_IR_RC6_DECODER=m
@@ -4454,18 +4484,14 @@ CONFIG_VIDEOBUF_GEN=m
CONFIG_VIDEOBUF_DMA_SG=m
CONFIG_VIDEOBUF_VMALLOC=m
CONFIG_VIDEOBUF_DVB=m
-CONFIG_VIDEOBUF2_CORE=m
-CONFIG_VIDEOBUF2_MEMOPS=m
-CONFIG_VIDEOBUF2_DMA_CONTIG=m
-CONFIG_VIDEOBUF2_VMALLOC=m
-CONFIG_VIDEOBUF2_DMA_SG=m
-CONFIG_VIDEOBUF2_DVB=m
CONFIG_DVB_CORE=y
+# CONFIG_DVB_MMAP is not set
CONFIG_DVB_NET=y
CONFIG_TTPCI_EEPROM=m
CONFIG_DVB_MAX_ADAPTERS=8
CONFIG_DVB_DYNAMIC_MINORS=y
# CONFIG_DVB_DEMUX_SECTION_LOSS_LOG is not set
+# CONFIG_DVB_ULE_DEBUG is not set
#
# Media drivers
@@ -4786,6 +4812,13 @@ CONFIG_MEDIA_COMMON_OPTIONS=y
CONFIG_VIDEO_CX2341X=m
CONFIG_VIDEO_TVEEPROM=m
CONFIG_CYPRESS_FIRMWARE=m
+CONFIG_VIDEOBUF2_CORE=m
+CONFIG_VIDEOBUF2_V4L2=m
+CONFIG_VIDEOBUF2_MEMOPS=m
+CONFIG_VIDEOBUF2_DMA_CONTIG=m
+CONFIG_VIDEOBUF2_VMALLOC=m
+CONFIG_VIDEOBUF2_DMA_SG=m
+CONFIG_VIDEOBUF2_DVB=m
CONFIG_DVB_B2C2_FLEXCOP=m
CONFIG_VIDEO_SAA7146=m
CONFIG_VIDEO_SAA7146_VV=m
@@ -4881,6 +4914,7 @@ CONFIG_VIDEO_M52790=m
#
CONFIG_MEDIA_TUNER=y
CONFIG_MEDIA_TUNER_SIMPLE=y
+CONFIG_MEDIA_TUNER_TDA18250=m
CONFIG_MEDIA_TUNER_TDA8290=y
CONFIG_MEDIA_TUNER_TDA827X=y
CONFIG_MEDIA_TUNER_TDA18271=y
@@ -5134,7 +5168,6 @@ CONFIG_DRM_EXYNOS_HDMI=y
# Sub-drivers
#
# CONFIG_DRM_EXYNOS_G2D is not set
-# CONFIG_DRM_EXYNOS_IPP is not set
CONFIG_DRM_ROCKCHIP=m
CONFIG_ROCKCHIP_ANALOGIX_DP=y
# CONFIG_ROCKCHIP_CDN_DP is not set
@@ -5197,6 +5230,7 @@ CONFIG_DRM_PANEL=y
#
# CONFIG_DRM_PANEL_LVDS is not set
CONFIG_DRM_PANEL_SIMPLE=m
+CONFIG_DRM_PANEL_ILITEK_IL9322=m
# CONFIG_DRM_PANEL_INNOLUX_P079ZCA is not set
# CONFIG_DRM_PANEL_JDI_LT070ME05000 is not set
# CONFIG_DRM_PANEL_SAMSUNG_LD9040 is not set
@@ -5243,6 +5277,7 @@ CONFIG_DRM_IMX_HDMI=m
CONFIG_DRM_VC4=m
# CONFIG_DRM_VC4_HDMI_CEC is not set
CONFIG_DRM_ETNAVIV=m
+CONFIG_DRM_ETNAVIV_THERMAL=y
# CONFIG_DRM_ETNAVIV_REGISTER_LOGGING is not set
# CONFIG_DRM_ARCPGU is not set
# CONFIG_DRM_HISI_HIBMC is not set
@@ -5256,6 +5291,7 @@ CONFIG_DRM_LEGACY=y
# CONFIG_DRM_MGA is not set
CONFIG_DRM_VIA=m
CONFIG_DRM_SAVAGE=m
+CONFIG_DRM_PANEL_ORIENTATION_QUIRKS=y
# CONFIG_DRM_LIB_RANDOM is not set
#
@@ -5677,11 +5713,14 @@ CONFIG_SND_SOC_ES8328_SPI=m
CONFIG_SND_SOC_MAX98090=m
# CONFIG_SND_SOC_MAX98504 is not set
# CONFIG_SND_SOC_MAX98927 is not set
+# CONFIG_SND_SOC_MAX98373 is not set
# CONFIG_SND_SOC_MAX9860 is not set
# CONFIG_SND_SOC_MSM8916_WCD_DIGITAL is not set
# CONFIG_SND_SOC_PCM1681 is not set
# CONFIG_SND_SOC_PCM179X_I2C is not set
# CONFIG_SND_SOC_PCM179X_SPI is not set
+# CONFIG_SND_SOC_PCM186X_I2C is not set
+# CONFIG_SND_SOC_PCM186X_SPI is not set
# CONFIG_SND_SOC_PCM3168A_I2C is not set
# CONFIG_SND_SOC_PCM3168A_SPI is not set
# CONFIG_SND_SOC_PCM512x_I2C is not set
@@ -5707,13 +5746,17 @@ CONFIG_SND_SOC_SGTL5000=m
# CONFIG_SND_SOC_TAS5086 is not set
# CONFIG_SND_SOC_TAS571X is not set
# CONFIG_SND_SOC_TAS5720 is not set
+# CONFIG_SND_SOC_TAS6424 is not set
# CONFIG_SND_SOC_TFA9879 is not set
CONFIG_SND_SOC_TLV320AIC23=m
CONFIG_SND_SOC_TLV320AIC23_I2C=m
# CONFIG_SND_SOC_TLV320AIC23_SPI is not set
# CONFIG_SND_SOC_TLV320AIC31XX is not set
+# CONFIG_SND_SOC_TLV320AIC32X4_I2C is not set
+# CONFIG_SND_SOC_TLV320AIC32X4_SPI is not set
CONFIG_SND_SOC_TLV320AIC3X=m
CONFIG_SND_SOC_TS3A227E=m
+# CONFIG_SND_SOC_TSCS42XX is not set
CONFIG_SND_SOC_TWL4030=m
CONFIG_SND_SOC_TWL6040=m
# CONFIG_SND_SOC_WM8510 is not set
@@ -5798,6 +5841,7 @@ CONFIG_HID_WALTOP=m
CONFIG_HID_GYRATION=m
CONFIG_HID_ICADE=m
# CONFIG_HID_ITE is not set
+CONFIG_HID_JABRA=m
CONFIG_HID_TWINHAN=m
CONFIG_HID_KENSINGTON=m
CONFIG_HID_LCPOWER=m
@@ -5903,6 +5947,7 @@ CONFIG_USB_WUSB_CBAF=m
#
# CONFIG_USB_C67X00_HCD is not set
CONFIG_USB_XHCI_HCD=m
+# CONFIG_USB_XHCI_DBGCAP is not set
CONFIG_USB_XHCI_PCI=m
CONFIG_USB_XHCI_PLATFORM=m
CONFIG_USB_XHCI_MVEBU=m
@@ -6293,6 +6338,7 @@ CONFIG_MMC_WMT=m
CONFIG_MMC_REALTEK_PCI=m
CONFIG_MMC_REALTEK_USB=m
CONFIG_MMC_SUNXI=m
+CONFIG_MMC_CQHCI=m
CONFIG_MMC_TOSHIBA_PCI=m
CONFIG_MMC_BCM2835=m
# CONFIG_MMC_MTK is not set
@@ -6328,6 +6374,7 @@ CONFIG_LEDS_CLASS=y
# CONFIG_LEDS_BCM6358 is not set
# CONFIG_LEDS_LM3530 is not set
# CONFIG_LEDS_LM3642 is not set
+# CONFIG_LEDS_LM3692X is not set
# CONFIG_LEDS_PCA9532 is not set
CONFIG_LEDS_GPIO=m
CONFIG_LEDS_LP3944=m
@@ -6383,6 +6430,7 @@ CONFIG_LEDS_TRIGGER_DEFAULT_ON=m
CONFIG_LEDS_TRIGGER_TRANSIENT=m
CONFIG_LEDS_TRIGGER_CAMERA=m
CONFIG_LEDS_TRIGGER_PANIC=y
+CONFIG_LEDS_TRIGGER_NETDEV=m
CONFIG_ACCESSIBILITY=y
CONFIG_A11Y_BRAILLE_CONSOLE=y
CONFIG_INFINIBAND=m
@@ -6521,6 +6569,7 @@ CONFIG_RTC_DRV_EFI=y
# CONFIG_RTC_DRV_RP5C01 is not set
# CONFIG_RTC_DRV_V3020 is not set
# CONFIG_RTC_DRV_ZYNQMP is not set
+CONFIG_RTC_DRV_CROS_EC=m
#
# on-CPU RTC drivers
@@ -6540,6 +6589,7 @@ CONFIG_RTC_DRV_ARMADA38X=y
CONFIG_RTC_DRV_MC13XXX=m
CONFIG_RTC_DRV_TEGRA=y
CONFIG_RTC_DRV_MXC=y
+CONFIG_RTC_DRV_MXC_V2=m
CONFIG_RTC_DRV_SNVS=y
# CONFIG_RTC_DRV_R7301 is not set
@@ -6611,10 +6661,7 @@ CONFIG_UIO_MF624=m
# CONFIG_VFIO is not set
CONFIG_VIRT_DRIVERS=y
CONFIG_VIRTIO=m
-
-#
-# Virtio drivers
-#
+CONFIG_VIRTIO_MENU=y
CONFIG_VIRTIO_PCI=m
CONFIG_VIRTIO_PCI_LEGACY=y
CONFIG_VIRTIO_BALLOON=m
@@ -6649,6 +6696,16 @@ CONFIG_XEN_EFI=y
CONFIG_XEN_AUTO_XLATE=y
CONFIG_STAGING=y
# CONFIG_IRDA is not set
+# CONFIG_IPX is not set
+CONFIG_NCP_FS=m
+CONFIG_NCPFS_PACKET_SIGNING=y
+CONFIG_NCPFS_IOCTL_LOCKING=y
+CONFIG_NCPFS_STRONG=y
+CONFIG_NCPFS_NFS_NS=y
+CONFIG_NCPFS_OS2_NS=y
+# CONFIG_NCPFS_SMALLDOS is not set
+CONFIG_NCPFS_NLS=y
+CONFIG_NCPFS_EXTRAS=y
# CONFIG_PRISM2_USB is not set
# CONFIG_COMEDI is not set
# CONFIG_RTL8192U is not set
@@ -6658,8 +6715,6 @@ CONFIG_R8712U=m
CONFIG_R8188EU=m
CONFIG_88EU_AP_MODE=y
CONFIG_R8822BE=m
-CONFIG_RTLHALMAC_ST=m
-CONFIG_RTLPHYDM_ST=m
CONFIG_RTLWIFI_DEBUG_ST=y
# CONFIG_RTS5208 is not set
# CONFIG_VT6655 is not set
@@ -6769,6 +6824,7 @@ CONFIG_SPEAKUP_SYNTH_DUMMY=m
# CONFIG_LNET is not set
# CONFIG_DGNC is not set
# CONFIG_GS_FPGABOOT is not set
+# CONFIG_UNISYSSPAR is not set
# CONFIG_COMMON_CLK_XLNX_CLKWZRD is not set
# CONFIG_FB_TFT is not set
# CONFIG_WILC1000_SDIO is not set
@@ -6788,8 +6844,9 @@ CONFIG_BCM_VIDEOCORE=y
CONFIG_PI433=m
# CONFIG_GOLDFISH is not set
CONFIG_CHROME_PLATFORMS=y
-# CONFIG_CROS_EC_CHARDEV is not set
+CONFIG_CROS_EC_CTL=m
CONFIG_CROS_EC_PROTO=y
+# CONFIG_MELLANOX_PLATFORM is not set
CONFIG_CLKDEV_LOOKUP=y
CONFIG_HAVE_CLK_PREPARE=y
CONFIG_COMMON_CLK=y
@@ -6912,6 +6969,7 @@ CONFIG_TEGRA_IOMMU_SMMU=y
#
# CONFIG_RPMSG_QCOM_GLINK_RPM is not set
# CONFIG_RPMSG_VIRTIO is not set
+# CONFIG_SOUNDWIRE is not set
#
# SOC (System On Chip) specific Drivers
@@ -6949,6 +7007,11 @@ CONFIG_SOC_TEGRA_FUSE=y
CONFIG_SOC_TEGRA_FLOWCTRL=y
CONFIG_SOC_TEGRA_PMC=y
# CONFIG_SOC_TI is not set
+
+#
+# Xilinx SoC drivers
+#
+# CONFIG_XILINX_VCU is not set
CONFIG_PM_DEVFREQ=y
#
@@ -6986,6 +7049,7 @@ CONFIG_MEMORY=y
CONFIG_TI_EMIF=m
CONFIG_OMAP_GPMC=y
# CONFIG_OMAP_GPMC_DEBUG is not set
+CONFIG_TI_EMIF_SRAM=m
CONFIG_MVEBU_DEVBUS=y
CONFIG_SAMSUNG_MC=y
CONFIG_EXYNOS_SROM=y
@@ -6994,6 +7058,7 @@ CONFIG_TEGRA124_EMC=y
CONFIG_IIO=m
CONFIG_IIO_BUFFER=y
# CONFIG_IIO_BUFFER_CB is not set
+# CONFIG_IIO_BUFFER_HW_CONSUMER is not set
CONFIG_IIO_KFIFO_BUF=m
CONFIG_IIO_TRIGGERED_BUFFER=m
# CONFIG_IIO_CONFIGFS is not set
@@ -7070,6 +7135,7 @@ CONFIG_LTC2471=m
# CONFIG_NAU7802 is not set
# CONFIG_PALMAS_GPADC is not set
CONFIG_ROCKCHIP_SARADC=m
+CONFIG_SD_ADC_MODULATOR=m
# CONFIG_SUN4I_GPADC is not set
# CONFIG_TI_ADC081C is not set
# CONFIG_TI_ADC0832 is not set
@@ -7247,6 +7313,7 @@ CONFIG_HID_SENSOR_PROX=m
# CONFIG_PA12203001 is not set
# CONFIG_SI1145 is not set
# CONFIG_STK3310 is not set
+# CONFIG_ST_UVIS25 is not set
# CONFIG_TCS3414 is not set
# CONFIG_TCS3472 is not set
CONFIG_SENSORS_TSL2563=m
@@ -7256,6 +7323,7 @@ CONFIG_SENSORS_TSL2563=m
# CONFIG_VCNL4000 is not set
# CONFIG_VEML6070 is not set
# CONFIG_VL6180 is not set
+# CONFIG_ZOPT2201 is not set
#
# Magnetometer sensors
@@ -7457,19 +7525,16 @@ CONFIG_NVMEM_SUNXI_SID=m
# CONFIG_STM is not set
# CONFIG_INTEL_TH is not set
# CONFIG_FPGA is not set
-
-#
-# FSI support
-#
# CONFIG_FSI is not set
# CONFIG_TEE is not set
CONFIG_PM_OPP=y
+# CONFIG_SIOX is not set
+# CONFIG_SLIMBUS is not set
#
# Firmware Drivers
#
CONFIG_ARM_PSCI_FW=y
-# CONFIG_ARM_PSCI_CHECKER is not set
# CONFIG_ARM_SCPI_PROTOCOL is not set
# CONFIG_FIRMWARE_MEMMAP is not set
CONFIG_DMIID=y
@@ -7763,16 +7828,8 @@ CONFIG_CIFS_DEBUG=y
# CONFIG_CIFS_DEBUG_DUMP_KEYS is not set
CONFIG_CIFS_DFS_UPCALL=y
# CONFIG_CIFS_SMB311 is not set
+# CONFIG_CIFS_SMB_DIRECT is not set
CONFIG_CIFS_FSCACHE=y
-CONFIG_NCP_FS=m
-CONFIG_NCPFS_PACKET_SIGNING=y
-CONFIG_NCPFS_IOCTL_LOCKING=y
-CONFIG_NCPFS_STRONG=y
-CONFIG_NCPFS_NFS_NS=y
-CONFIG_NCPFS_OS2_NS=y
-# CONFIG_NCPFS_SMALLDOS is not set
-CONFIG_NCPFS_NLS=y
-CONFIG_NCPFS_EXTRAS=y
CONFIG_CODA_FS=m
CONFIG_AFS_FS=m
# CONFIG_AFS_DEBUG is not set
@@ -8007,10 +8064,7 @@ CONFIG_FTRACE_MCOUNT_RECORD=y
# CONFIG_TRACE_EVAL_MAP_FILE is not set
CONFIG_TRACING_EVENTS_GPIO=y
# CONFIG_DMA_API_DEBUG is not set
-
-#
-# Runtime Testing
-#
+CONFIG_RUNTIME_TESTING_MENU=y
# CONFIG_LKDTM is not set
# CONFIG_TEST_LIST_SORT is not set
# CONFIG_TEST_SORT is not set
@@ -8032,7 +8086,7 @@ CONFIG_TRACING_EVENTS_GPIO=y
# CONFIG_TEST_LKM is not set
CONFIG_TEST_USER_COPY=m
CONFIG_TEST_BPF=m
-# CONFIG_TEST_FIND_BIT is not set
+CONFIG_FIND_BIT_BENCHMARK=m
CONFIG_TEST_FIRMWARE=m
# CONFIG_TEST_SYSCTL is not set
# CONFIG_TEST_UDELAY is not set
@@ -8048,7 +8102,9 @@ CONFIG_HAVE_ARCH_KGDB=y
CONFIG_ARCH_HAS_DEVMEM_IS_ALLOWED=y
CONFIG_STRICT_DEVMEM=y
CONFIG_IO_STRICT_DEVMEM=y
-# CONFIG_ARM_PTDUMP is not set
+CONFIG_ARM_PTDUMP_CORE=y
+# CONFIG_ARM_PTDUMP_DEBUGFS is not set
+CONFIG_DEBUG_WX=y
CONFIG_ARM_UNWIND=y
CONFIG_OLD_MCOUNT=y
# CONFIG_DEBUG_USER is not set
@@ -8081,6 +8137,7 @@ CONFIG_SECURITY_PATH=y
CONFIG_LSM_MMAP_MIN_ADDR=32768
CONFIG_HAVE_HARDENED_USERCOPY_ALLOCATOR=y
CONFIG_HARDENED_USERCOPY=y
+CONFIG_HARDENED_USERCOPY_FALLBACK=y
# CONFIG_HARDENED_USERCOPY_PAGESPAN is not set
# CONFIG_STATIC_USERMODEHELPER is not set
CONFIG_SECURITY_SELINUX=y
@@ -8156,6 +8213,7 @@ CONFIG_CRYPTO_RNG_DEFAULT=m
CONFIG_CRYPTO_AKCIPHER2=y
CONFIG_CRYPTO_AKCIPHER=y
CONFIG_CRYPTO_KPP2=y
+CONFIG_CRYPTO_KPP=m
CONFIG_CRYPTO_ACOMP2=y
CONFIG_CRYPTO_RSA=y
# CONFIG_CRYPTO_DH is not set
@@ -8375,7 +8433,8 @@ CONFIG_TEXTSEARCH_FSM=m
CONFIG_ASSOCIATIVE_ARRAY=y
CONFIG_HAS_IOMEM=y
CONFIG_HAS_DMA=y
-# CONFIG_DMA_NOOP_OPS is not set
+CONFIG_SGL_ALLOC=y
+# CONFIG_DMA_DIRECT_OPS is not set
CONFIG_DMA_VIRT_OPS=y
CONFIG_CHECK_SIGNATURE=y
CONFIG_CPU_RMAP=y
diff --git a/gnu/packages/aux-files/linux-libre/4.15-i686.conf b/gnu/packages/aux-files/linux-libre/4.16-i686.conf
index c2d70d6e18..b9793d997d 100644
--- a/gnu/packages/aux-files/linux-libre/4.15-i686.conf
+++ b/gnu/packages/aux-files/linux-libre/4.16-i686.conf
@@ -1,6 +1,6 @@
#
# Automatically generated file; DO NOT EDIT.
-# Linux/x86 4.15.0-gnu Kernel Configuration
+# Linux/x86 4.16.0-gnu Kernel Configuration
#
# CONFIG_64BIT is not set
CONFIG_X86_32=y
@@ -39,7 +39,6 @@ CONFIG_X86_32_SMP=y
CONFIG_ARCH_SUPPORTS_UPROBES=y
CONFIG_FIX_EARLYCON_MEM=y
CONFIG_PGTABLE_LEVELS=3
-CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
CONFIG_IRQ_WORK=y
CONFIG_BUILDTIME_EXTABLE_SORT=y
CONFIG_THREAD_INFO_IN_TASK=y
@@ -93,7 +92,6 @@ CONFIG_GENERIC_MSI_IRQ=y
CONFIG_GENERIC_MSI_IRQ_DOMAIN=y
CONFIG_GENERIC_IRQ_MATRIX_ALLOCATOR=y
CONFIG_GENERIC_IRQ_RESERVATION_MODE=y
-# CONFIG_IRQ_DOMAIN_DEBUG is not set
CONFIG_IRQ_FORCED_THREADING=y
CONFIG_SPARSE_IRQ=y
# CONFIG_GENERIC_IRQ_DEBUGFS is not set
@@ -226,6 +224,7 @@ CONFIG_KALLSYMS_ALL=y
CONFIG_KALLSYMS_BASE_RELATIVE=y
CONFIG_BPF_SYSCALL=y
CONFIG_USERFAULTFD=y
+CONFIG_ARCH_HAS_MEMBARRIER_SYNC_CORE=y
# CONFIG_EMBEDDED is not set
CONFIG_HAVE_PERF_EVENTS=y
# CONFIG_PC104 is not set
@@ -271,12 +270,14 @@ CONFIG_HAVE_KPROBES=y
CONFIG_HAVE_KRETPROBES=y
CONFIG_HAVE_OPTPROBES=y
CONFIG_HAVE_KPROBES_ON_FTRACE=y
+CONFIG_HAVE_FUNCTION_ERROR_INJECTION=y
CONFIG_HAVE_NMI=y
CONFIG_HAVE_ARCH_TRACEHOOK=y
CONFIG_HAVE_DMA_CONTIGUOUS=y
CONFIG_GENERIC_SMP_IDLE_THREAD=y
CONFIG_ARCH_HAS_FORTIFY_SOURCE=y
CONFIG_ARCH_HAS_SET_MEMORY=y
+CONFIG_HAVE_ARCH_THREAD_STRUCT_WHITELIST=y
CONFIG_ARCH_WANTS_DYNAMIC_TASK_STRUCT=y
CONFIG_HAVE_REGS_AND_STACK_ACCESS_API=y
CONFIG_HAVE_CLK=y
@@ -304,10 +305,10 @@ CONFIG_GCC_PLUGINS=y
# CONFIG_GCC_PLUGIN_STRUCTLEAK is not set
# CONFIG_GCC_PLUGIN_RANDSTRUCT is not set
CONFIG_HAVE_CC_STACKPROTECTOR=y
-CONFIG_CC_STACKPROTECTOR=y
# CONFIG_CC_STACKPROTECTOR_NONE is not set
# CONFIG_CC_STACKPROTECTOR_REGULAR is not set
CONFIG_CC_STACKPROTECTOR_STRONG=y
+# CONFIG_CC_STACKPROTECTOR_AUTO is not set
CONFIG_THIN_ARCHIVES=y
CONFIG_HAVE_ARCH_WITHIN_STACK_FRAMES=y
CONFIG_HAVE_IRQ_TIME_ACCOUNTING=y
@@ -333,6 +334,7 @@ CONFIG_ARCH_HAS_STRICT_KERNEL_RWX=y
CONFIG_STRICT_KERNEL_RWX=y
CONFIG_ARCH_HAS_STRICT_MODULE_RWX=y
CONFIG_STRICT_MODULE_RWX=y
+CONFIG_ARCH_HAS_PHYS_TO_DMA=y
CONFIG_ARCH_HAS_REFCOUNT=y
CONFIG_REFCOUNT_FULL=y
@@ -428,6 +430,7 @@ CONFIG_ARCH_USE_QUEUED_SPINLOCKS=y
CONFIG_QUEUED_SPINLOCKS=y
CONFIG_ARCH_USE_QUEUED_RWLOCKS=y
CONFIG_QUEUED_RWLOCKS=y
+CONFIG_ARCH_HAS_SYNC_CORE_BEFORE_USERMODE=y
CONFIG_FREEZER=y
#
@@ -438,10 +441,10 @@ CONFIG_SMP=y
CONFIG_X86_FEATURE_NAMES=y
CONFIG_X86_FAST_FEATURE_TESTS=y
CONFIG_X86_MPPARSE=y
-# CONFIG_X86_BIGSMP is not set
# CONFIG_GOLDFISH is not set
CONFIG_RETPOLINE=y
# CONFIG_INTEL_RDT is not set
+# CONFIG_X86_BIGSMP is not set
CONFIG_X86_EXTENDED_PLATFORM=y
# CONFIG_X86_GOLDFISH is not set
CONFIG_X86_INTEL_MID=y
@@ -500,13 +503,12 @@ CONFIG_M686=y
CONFIG_X86_GENERIC=y
CONFIG_X86_INTERNODE_CACHE_SHIFT=6
CONFIG_X86_L1_CACHE_SHIFT=6
-CONFIG_X86_PPRO_FENCE=y
CONFIG_X86_INTEL_USERCOPY=y
CONFIG_X86_USE_PPRO_CHECKSUM=y
CONFIG_X86_TSC=y
CONFIG_X86_CMPXCHG64=y
CONFIG_X86_CMOV=y
-CONFIG_X86_MINIMUM_CPU_FAMILY=5
+CONFIG_X86_MINIMUM_CPU_FAMILY=6
CONFIG_X86_DEBUGCTLMSR=y
CONFIG_PROCESSOR_SELECT=y
CONFIG_CPU_SUP_INTEL=y
@@ -521,6 +523,9 @@ CONFIG_APB_TIMER=y
CONFIG_DMI=y
CONFIG_SWIOTLB=y
CONFIG_IOMMU_HELPER=y
+CONFIG_NR_CPUS_RANGE_BEGIN=2
+CONFIG_NR_CPUS_RANGE_END=8
+CONFIG_NR_CPUS_DEFAULT=8
CONFIG_NR_CPUS=8
CONFIG_SCHED_SMT=y
CONFIG_SCHED_MC=y
@@ -624,7 +629,6 @@ CONFIG_ZSMALLOC=y
CONFIG_PGTABLE_MAPPING=y
# CONFIG_ZSMALLOC_STAT is not set
CONFIG_GENERIC_EARLY_IOREMAP=y
-CONFIG_ARCH_SUPPORTS_DEFERRED_STRUCT_PAGE_INIT=y
# CONFIG_DEFERRED_STRUCT_PAGE_INIT is not set
CONFIG_IDLE_PAGE_TRACKING=y
CONFIG_FRAME_VECTOR=y
@@ -702,6 +706,7 @@ CONFIG_ACPI_LEGACY_TABLES_LOOKUP=y
CONFIG_ARCH_MIGHT_HAVE_ACPI_PDC=y
CONFIG_ACPI_SYSTEM_POWER_STATES_SUPPORT=y
# CONFIG_ACPI_DEBUGGER is not set
+CONFIG_ACPI_SPCR_TABLE=y
CONFIG_ACPI_SLEEP=y
# CONFIG_ACPI_PROCFS_POWER is not set
CONFIG_ACPI_REV_OVERRIDE_POSSIBLE=y
@@ -726,7 +731,6 @@ CONFIG_ARCH_HAS_ACPI_TABLE_UPGRADE=y
CONFIG_ACPI_TABLE_UPGRADE=y
# CONFIG_ACPI_DEBUG is not set
CONFIG_ACPI_PCI_SLOT=y
-CONFIG_X86_PM_TIMER=y
CONFIG_ACPI_CONTAINER=y
CONFIG_ACPI_HOTPLUG_MEMORY=y
CONFIG_ACPI_HOTPLUG_IOAPIC=y
@@ -747,6 +751,7 @@ CONFIG_ACPI_WATCHDOG=y
CONFIG_ACPI_EXTLOG=m
# CONFIG_PMIC_OPREGION is not set
CONFIG_ACPI_CONFIGFS=m
+CONFIG_X86_PM_TIMER=y
CONFIG_SFI=y
CONFIG_X86_APM_BOOT=y
CONFIG_APM=m
@@ -869,6 +874,10 @@ CONFIG_HOTPLUG_PCI_CPCI_GENERIC=m
CONFIG_HOTPLUG_PCI_SHPC=m
#
+# Cadence PCIe controllers support
+#
+
+#
# DesignWare PCI Core Support
#
# CONFIG_PCIE_DW_PLAT is not set
@@ -1081,12 +1090,15 @@ CONFIG_BRIDGE_NETFILTER=m
#
CONFIG_NETFILTER_INGRESS=y
CONFIG_NETFILTER_NETLINK=m
+CONFIG_NETFILTER_FAMILY_BRIDGE=y
+CONFIG_NETFILTER_FAMILY_ARP=y
CONFIG_NETFILTER_NETLINK_ACCT=m
CONFIG_NETFILTER_NETLINK_QUEUE=m
CONFIG_NETFILTER_NETLINK_LOG=m
CONFIG_NF_CONNTRACK=m
CONFIG_NF_LOG_COMMON=m
CONFIG_NF_LOG_NETDEV=m
+CONFIG_NETFILTER_CONNCOUNT=m
CONFIG_NF_CONNTRACK_MARK=y
CONFIG_NF_CONNTRACK_SECMARK=y
CONFIG_NF_CONNTRACK_ZONES=y
@@ -1134,6 +1146,7 @@ CONFIG_NFT_META=m
CONFIG_NFT_RT=m
CONFIG_NFT_NUMGEN=m
CONFIG_NFT_CT=m
+CONFIG_NFT_FLOW_OFFLOAD=m
CONFIG_NFT_SET_RBTREE=m
CONFIG_NFT_SET_HASH=m
CONFIG_NFT_SET_BITMAP=m
@@ -1156,6 +1169,8 @@ CONFIG_NF_DUP_NETDEV=m
CONFIG_NFT_DUP_NETDEV=m
CONFIG_NFT_FWD_NETDEV=m
CONFIG_NFT_FIB_NETDEV=m
+CONFIG_NF_FLOW_TABLE_INET=m
+CONFIG_NF_FLOW_TABLE=m
CONFIG_NETFILTER_XTABLES=m
#
@@ -1317,6 +1332,7 @@ CONFIG_NFT_REJECT_IPV4=m
CONFIG_NFT_DUP_IPV4=m
CONFIG_NFT_FIB_IPV4=m
CONFIG_NF_TABLES_ARP=m
+CONFIG_NF_FLOW_TABLE_IPV4=m
CONFIG_NF_DUP_IPV4=m
CONFIG_NF_LOG_ARP=m
CONFIG_NF_LOG_IPV4=m
@@ -1363,6 +1379,7 @@ CONFIG_NFT_CHAIN_ROUTE_IPV6=m
CONFIG_NFT_REJECT_IPV6=m
CONFIG_NFT_DUP_IPV6=m
CONFIG_NFT_FIB_IPV6=m
+CONFIG_NF_FLOW_TABLE_IPV6=m
CONFIG_NF_DUP_IPV6=m
CONFIG_NF_REJECT_IPV6=m
CONFIG_NF_LOG_IPV6=m
@@ -1381,6 +1398,7 @@ CONFIG_IP6_NF_MATCH_IPV6HEADER=m
CONFIG_IP6_NF_MATCH_MH=m
CONFIG_IP6_NF_MATCH_RPFILTER=m
CONFIG_IP6_NF_MATCH_RT=m
+CONFIG_IP6_NF_MATCH_SRH=m
CONFIG_IP6_NF_TARGET_HL=m
CONFIG_IP6_NF_FILTER=m
CONFIG_IP6_NF_TARGET_REJECT=m
@@ -1434,9 +1452,7 @@ CONFIG_INET_DCCP_DIAG=m
# DCCP Kernel Hacking
#
# CONFIG_IP_DCCP_DEBUG is not set
-CONFIG_NET_DCCPPROBE=m
CONFIG_IP_SCTP=m
-CONFIG_NET_SCTPPROBE=m
# CONFIG_SCTP_DBG_OBJCNT is not set
# CONFIG_SCTP_DEFAULT_COOKIE_HMAC_MD5 is not set
CONFIG_SCTP_DEFAULT_COOKIE_HMAC_SHA1=y
@@ -1471,6 +1487,7 @@ CONFIG_BRIDGE_IGMP_SNOOPING=y
CONFIG_BRIDGE_VLAN_FILTERING=y
CONFIG_HAVE_NET_DSA=y
CONFIG_NET_DSA=m
+CONFIG_NET_DSA_LEGACY=y
CONFIG_NET_DSA_TAG_BRCM=y
CONFIG_NET_DSA_TAG_BRCM_PREPEND=y
CONFIG_NET_DSA_TAG_DSA=y
@@ -1487,8 +1504,6 @@ CONFIG_DECNET=m
# CONFIG_DECNET_ROUTER is not set
CONFIG_LLC=m
CONFIG_LLC2=m
-CONFIG_IPX=m
-# CONFIG_IPX_INTERN is not set
CONFIG_ATALK=m
CONFIG_DEV_APPLETALK=m
CONFIG_LTPC=m
@@ -1648,7 +1663,6 @@ CONFIG_NET_FLOW_LIMIT=y
# Network testing
#
CONFIG_NET_PKTGEN=m
-CONFIG_NET_TCPPROBE=m
# CONFIG_NET_DROP_MONITOR is not set
CONFIG_HAMRADIO=y
@@ -1754,6 +1768,7 @@ CONFIG_BT_BCM=m
CONFIG_BT_RTL=m
CONFIG_BT_QCA=m
CONFIG_BT_HCIBTUSB=m
+# CONFIG_BT_HCIBTUSB_AUTOSUSPEND is not set
CONFIG_BT_HCIBTUSB_BCM=y
CONFIG_BT_HCIBTUSB_RTL=y
CONFIG_BT_HCIBTSDIO=m
@@ -1907,7 +1922,6 @@ CONFIG_DEVTMPFS_MOUNT=y
# CONFIG_STANDALONE is not set
CONFIG_PREVENT_FIRMWARE_BUILD=y
CONFIG_FW_LOADER=y
-CONFIG_FIRMWARE_IN_KERNEL=y
CONFIG_EXTRA_FIRMWARE=""
CONFIG_FW_LOADER_USER_HELPER=y
# CONFIG_FW_LOADER_USER_HELPER_FALLBACK is not set
@@ -2214,6 +2228,7 @@ CONFIG_USB_SWITCH_FSA9480=m
CONFIG_LATTICE_ECP3_CONFIG=m
CONFIG_SRAM=y
# CONFIG_PCI_ENDPOINT_TEST is not set
+CONFIG_MISC_RTSX=m
CONFIG_C2PORT=m
CONFIG_C2PORT_DURAMAR_2150=m
@@ -2282,6 +2297,9 @@ CONFIG_ECHO=m
# CONFIG_CXL_BASE is not set
# CONFIG_CXL_AFU_DRIVER_OPS is not set
# CONFIG_CXL_LIB is not set
+# CONFIG_OCXL_BASE is not set
+CONFIG_MISC_RTSX_PCI=m
+CONFIG_MISC_RTSX_USB=m
CONFIG_HAVE_IDE=y
# CONFIG_IDE is not set
@@ -2462,6 +2480,7 @@ CONFIG_SATA_PMP=y
# Controllers with non-SFF native interface
#
CONFIG_SATA_AHCI=m
+CONFIG_SATA_MOBILE_LPM_POLICY=0
CONFIG_SATA_AHCI_PLATFORM=m
CONFIG_SATA_INIC162X=m
CONFIG_SATA_ACARD_AHCI=m
@@ -2578,6 +2597,7 @@ CONFIG_DM_BUFIO=m
# CONFIG_DM_DEBUG_BLOCK_MANAGER_LOCKING is not set
CONFIG_DM_BIO_PRISON=m
CONFIG_DM_PERSISTENT_DATA=m
+CONFIG_DM_UNSTRIPED=m
CONFIG_DM_CRYPT=m
CONFIG_DM_SNAPSHOT=m
CONFIG_DM_THIN_PROVISIONING=m
@@ -2785,6 +2805,9 @@ CONFIG_MACB_USE_HWSTAMP=y
CONFIG_MACB_PCI=m
CONFIG_NET_VENDOR_BROADCOM=y
CONFIG_B44=m
+CONFIG_B44_PCI_AUTOSELECT=y
+CONFIG_B44_PCICORE_AUTOSELECT=y
+CONFIG_B44_PCI=y
CONFIG_BNX2=m
CONFIG_CNIC=m
CONFIG_TIGON3=m
@@ -2812,6 +2835,7 @@ CONFIG_CS89x0=m
CONFIG_CS89x0_PLATFORM=y
CONFIG_NET_VENDOR_CISCO=y
CONFIG_ENIC=m
+# CONFIG_NET_VENDOR_CORTINA is not set
CONFIG_CX_ECAT=m
CONFIG_DNET=m
CONFIG_NET_VENDOR_DEC=y
@@ -2985,6 +3009,7 @@ CONFIG_EPIC100=m
CONFIG_SMSC911X=m
# CONFIG_SMSC911X_ARCH_HOOKS is not set
CONFIG_SMSC9420=m
+# CONFIG_NET_VENDOR_SOCIONEXT is not set
CONFIG_NET_VENDOR_STMICRO=y
CONFIG_STMMAC_ETH=m
CONFIG_STMMAC_PLATFORM=m
@@ -3157,6 +3182,7 @@ CONFIG_ATH9K_PCOEM=y
CONFIG_ATH9K_HTC=m
CONFIG_ATH9K_HTC_DEBUGFS=y
CONFIG_ATH9K_HWRNG=y
+# CONFIG_ATH9K_COMMON_SPECTRAL is not set
CONFIG_CARL9170=m
CONFIG_CARL9170_LEDS=y
# CONFIG_CARL9170_DEBUGFS is not set
@@ -3178,6 +3204,7 @@ CONFIG_ATH10K_SDIO=m
CONFIG_ATH10K_USB=m
# CONFIG_ATH10K_DEBUG is not set
CONFIG_ATH10K_DEBUGFS=y
+# CONFIG_ATH10K_SPECTRAL is not set
CONFIG_ATH10K_TRACING=y
CONFIG_WCN36XX=m
# CONFIG_WCN36XX_DEBUGFS is not set
@@ -3193,6 +3220,8 @@ CONFIG_B43_SSB=y
CONFIG_B43_BUSES_BCMA_AND_SSB=y
# CONFIG_B43_BUSES_BCMA is not set
# CONFIG_B43_BUSES_SSB is not set
+CONFIG_B43_PCI_AUTOSELECT=y
+CONFIG_B43_PCICORE_AUTOSELECT=y
# CONFIG_B43_SDIO is not set
CONFIG_B43_BCMA_PIO=y
CONFIG_B43_PIO=y
@@ -3204,6 +3233,8 @@ CONFIG_B43_LEDS=y
CONFIG_B43_HWRNG=y
# CONFIG_B43_DEBUG is not set
CONFIG_B43LEGACY=m
+CONFIG_B43LEGACY_PCI_AUTOSELECT=y
+CONFIG_B43LEGACY_PCICORE_AUTOSELECT=y
CONFIG_B43LEGACY_LEDS=y
CONFIG_B43LEGACY_HWRNG=y
# CONFIG_B43LEGACY_DEBUG is not set
@@ -3301,6 +3332,8 @@ CONFIG_MWIFIEX_USB=m
CONFIG_MWL8K=m
CONFIG_WLAN_VENDOR_MEDIATEK=y
CONFIG_MT7601U=m
+CONFIG_MT76_CORE=m
+CONFIG_MT76x2E=m
CONFIG_WLAN_VENDOR_RALINK=y
CONFIG_RT2X00=m
CONFIG_RT2400PCI=m
@@ -3434,6 +3467,7 @@ CONFIG_VMXNET3=m
CONFIG_FUJITSU_ES=m
CONFIG_THUNDERBOLT_NET=m
CONFIG_HYPERV_NET=m
+CONFIG_NETDEVSIM=m
CONFIG_ISDN=y
CONFIG_ISDN_I4L=m
CONFIG_ISDN_PPP=y
@@ -3575,7 +3609,6 @@ CONFIG_MISDN_ISAR=m
CONFIG_ISDN_HDLC=m
CONFIG_NVM=y
# CONFIG_NVM_DEBUG is not set
-CONFIG_NVM_RRPC=m
CONFIG_NVM_PBLK=m
#
@@ -3818,7 +3851,6 @@ CONFIG_INPUT_MMA8450=m
CONFIG_INPUT_APANEL=m
CONFIG_INPUT_GP2A=m
CONFIG_INPUT_GPIO_BEEPER=m
-CONFIG_INPUT_GPIO_TILT_POLLED=m
CONFIG_INPUT_GPIO_DECODER=m
CONFIG_INPUT_WISTRON_BTNS=m
CONFIG_INPUT_ATLAS_BTNS=m
@@ -4019,7 +4051,6 @@ CONFIG_HW_RANDOM_AMD=m
CONFIG_HW_RANDOM_GEODE=m
CONFIG_HW_RANDOM_VIA=m
CONFIG_HW_RANDOM_VIRTIO=m
-CONFIG_HW_RANDOM_TPM=m
CONFIG_NVRAM=m
CONFIG_DTLK=m
CONFIG_R3964=m
@@ -4045,6 +4076,7 @@ CONFIG_HPET_MMAP=y
CONFIG_HPET_MMAP_DEFAULT=y
CONFIG_HANGCHECK_TIMER=m
CONFIG_TCG_TPM=y
+CONFIG_HW_RANDOM_TPM=y
CONFIG_TCG_TIS_CORE=y
CONFIG_TCG_TIS=y
CONFIG_TCG_TIS_SPI=m
@@ -4132,6 +4164,7 @@ CONFIG_I2C_DESIGNWARE_BAYTRAIL=y
CONFIG_I2C_EG20T=m
CONFIG_I2C_EMEV2=m
CONFIG_I2C_GPIO=m
+# CONFIG_I2C_GPIO_FAULT_INJECTOR is not set
CONFIG_I2C_KEMPLD=m
CONFIG_I2C_OCORES=m
CONFIG_I2C_PCA_PLATFORM=m
@@ -4267,7 +4300,6 @@ CONFIG_GPIO_MAX730X=m
# Memory mapped GPIO drivers
#
CONFIG_GPIO_AMDPT=m
-CONFIG_GPIO_AXP209=m
CONFIG_GPIO_DWAPB=m
CONFIG_GPIO_EXAR=m
CONFIG_GPIO_GENERIC_PLATFORM=m
@@ -4285,6 +4317,7 @@ CONFIG_GPIO_F7188X=m
CONFIG_GPIO_IT87=m
CONFIG_GPIO_SCH=m
CONFIG_GPIO_SCH311X=m
+CONFIG_GPIO_WINBOND=m
CONFIG_GPIO_WS16C48=m
#
@@ -4337,6 +4370,7 @@ CONFIG_GPIO_MERRIFIELD=m
CONFIG_GPIO_ML_IOH=m
CONFIG_GPIO_PCH=m
CONFIG_GPIO_PCI_IDIO_16=m
+CONFIG_GPIO_PCIE_IDIO_24=m
CONFIG_GPIO_RDC321X=m
#
@@ -4609,6 +4643,7 @@ CONFIG_SENSORS_VIA_CPUTEMP=m
CONFIG_SENSORS_VIA686A=m
CONFIG_SENSORS_VT1211=m
CONFIG_SENSORS_VT8231=m
+CONFIG_SENSORS_W83773G=m
CONFIG_SENSORS_W83781D=m
CONFIG_SENSORS_W83791D=m
CONFIG_SENSORS_W83792D=m
@@ -4678,6 +4713,7 @@ CONFIG_WM831X_WATCHDOG=m
CONFIG_WM8350_WATCHDOG=m
CONFIG_XILINX_WATCHDOG=m
CONFIG_ZIIRAVE_WATCHDOG=m
+CONFIG_RAVE_SP_WATCHDOG=m
CONFIG_CADENCE_WATCHDOG=m
CONFIG_DW_WATCHDOG=m
CONFIG_TWL4030_WATCHDOG=m
@@ -4751,18 +4787,20 @@ CONFIG_USBPCWATCHDOG=m
#
# CONFIG_WATCHDOG_PRETIMEOUT_GOV is not set
CONFIG_SSB_POSSIBLE=y
-
-#
-# Sonics Silicon Backplane
-#
CONFIG_SSB=m
+CONFIG_SSB_SPROM=y
CONFIG_SSB_BLOCKIO=y
+CONFIG_SSB_PCIHOST_POSSIBLE=y
+CONFIG_SSB_PCIHOST=y
+CONFIG_SSB_B43_PCI_BRIDGE=y
CONFIG_SSB_PCMCIAHOST_POSSIBLE=y
# CONFIG_SSB_PCMCIAHOST is not set
CONFIG_SSB_SDIOHOST_POSSIBLE=y
CONFIG_SSB_SDIOHOST=y
# CONFIG_SSB_SILENT is not set
# CONFIG_SSB_DEBUG is not set
+CONFIG_SSB_DRIVER_PCICORE_POSSIBLE=y
+CONFIG_SSB_DRIVER_PCICORE=y
CONFIG_SSB_DRIVER_GPIO=y
CONFIG_BCMA_POSSIBLE=y
CONFIG_BCMA=m
@@ -4791,6 +4829,7 @@ CONFIG_MFD_AXP20X_I2C=m
CONFIG_MFD_CROS_EC=m
CONFIG_MFD_CROS_EC_I2C=m
CONFIG_MFD_CROS_EC_SPI=m
+CONFIG_MFD_CROS_EC_CHARDEV=m
CONFIG_PMIC_DA903X=y
CONFIG_PMIC_DA9052=y
CONFIG_MFD_DA9052_SPI=y
@@ -4838,9 +4877,7 @@ CONFIG_PCF50633_ADC=m
CONFIG_PCF50633_GPIO=m
CONFIG_UCB1400_CORE=m
CONFIG_MFD_RDC321X=m
-CONFIG_MFD_RTSX_PCI=m
CONFIG_MFD_RT5033=m
-CONFIG_MFD_RTSX_USB=m
CONFIG_MFD_RC5T583=y
CONFIG_MFD_SEC_CORE=y
CONFIG_MFD_SI476X_CORE=m
@@ -4893,6 +4930,7 @@ CONFIG_MFD_WM831X_SPI=y
CONFIG_MFD_WM8350=y
CONFIG_MFD_WM8350_I2C=y
CONFIG_MFD_WM8994=m
+CONFIG_RAVE_SP_CORE=m
CONFIG_REGULATOR=y
# CONFIG_REGULATOR_DEBUG is not set
CONFIG_REGULATOR_FIXED_VOLTAGE=m
@@ -4982,9 +5020,8 @@ CONFIG_REGULATOR_WM8994=m
CONFIG_CEC_CORE=m
CONFIG_RC_CORE=m
CONFIG_RC_MAP=m
+CONFIG_LIRC=y
CONFIG_RC_DECODERS=y
-CONFIG_LIRC=m
-CONFIG_IR_LIRC_CODEC=m
CONFIG_IR_NEC_DECODER=m
CONFIG_IR_RC5_DECODER=m
CONFIG_IR_RC6_DECODER=m
@@ -5040,18 +5077,14 @@ CONFIG_VIDEOBUF_GEN=m
CONFIG_VIDEOBUF_DMA_SG=m
CONFIG_VIDEOBUF_VMALLOC=m
CONFIG_VIDEOBUF_DVB=m
-CONFIG_VIDEOBUF2_CORE=m
-CONFIG_VIDEOBUF2_MEMOPS=m
-CONFIG_VIDEOBUF2_DMA_CONTIG=m
-CONFIG_VIDEOBUF2_VMALLOC=m
-CONFIG_VIDEOBUF2_DMA_SG=m
-CONFIG_VIDEOBUF2_DVB=m
CONFIG_DVB_CORE=m
+# CONFIG_DVB_MMAP is not set
CONFIG_DVB_NET=y
CONFIG_TTPCI_EEPROM=m
CONFIG_DVB_MAX_ADAPTERS=8
CONFIG_DVB_DYNAMIC_MINORS=y
# CONFIG_DVB_DEMUX_SECTION_LOSS_LOG is not set
+# CONFIG_DVB_ULE_DEBUG is not set
#
# Media drivers
@@ -5307,6 +5340,7 @@ CONFIG_DVB_DDBRIDGE=m
# CONFIG_DVB_DDBRIDGE_MSIENABLE is not set
CONFIG_DVB_SMIPCIE=m
CONFIG_DVB_NETUP_UNIDVB=m
+CONFIG_VIDEO_IPU3_CIO2=m
CONFIG_V4L_PLATFORM_DRIVERS=y
CONFIG_VIDEO_CAFE_CCIC=m
CONFIG_VIDEO_VIA_CAMERA=m
@@ -5385,6 +5419,13 @@ CONFIG_MEDIA_COMMON_OPTIONS=y
CONFIG_VIDEO_CX2341X=m
CONFIG_VIDEO_TVEEPROM=m
CONFIG_CYPRESS_FIRMWARE=m
+CONFIG_VIDEOBUF2_CORE=m
+CONFIG_VIDEOBUF2_V4L2=m
+CONFIG_VIDEOBUF2_MEMOPS=m
+CONFIG_VIDEOBUF2_DMA_CONTIG=m
+CONFIG_VIDEOBUF2_VMALLOC=m
+CONFIG_VIDEOBUF2_DMA_SG=m
+CONFIG_VIDEOBUF2_DVB=m
CONFIG_DVB_B2C2_FLEXCOP=m
CONFIG_VIDEO_SAA7146=m
CONFIG_VIDEO_SAA7146_VV=m
@@ -5509,6 +5550,7 @@ CONFIG_SOC_CAMERA_RJ54N1=m
CONFIG_SOC_CAMERA_TW9910=m
CONFIG_MEDIA_TUNER=m
CONFIG_MEDIA_TUNER_SIMPLE=m
+CONFIG_MEDIA_TUNER_TDA18250=m
CONFIG_MEDIA_TUNER_TDA8290=m
CONFIG_MEDIA_TUNER_TDA827X=m
CONFIG_MEDIA_TUNER_TDA18271=m
@@ -5727,6 +5769,7 @@ CONFIG_DRM_FBDEV_OVERALLOC=100
CONFIG_DRM_LOAD_EDID_FIRMWARE=y
CONFIG_DRM_TTM=m
CONFIG_DRM_VM=y
+CONFIG_DRM_SCHED=m
#
# I2C encoder or helper chips
@@ -5813,6 +5856,7 @@ CONFIG_DRM_ANALOGIX_ANX78XX=m
CONFIG_DRM_HISI_HIBMC=m
# CONFIG_DRM_TINYDRM is not set
# CONFIG_DRM_LEGACY is not set
+CONFIG_DRM_PANEL_ORIENTATION_QUIRKS=y
# CONFIG_DRM_LIB_RANDOM is not set
#
@@ -6258,24 +6302,26 @@ CONFIG_SND_SOC_FSL_ESAI=m
CONFIG_SND_SOC_IMX_AUDMUX=m
CONFIG_SND_I2S_HI6210_I2S=m
# CONFIG_SND_SOC_IMG is not set
+CONFIG_SND_SOC_INTEL_SST_TOPLEVEL=y
CONFIG_SND_SST_IPC=m
CONFIG_SND_SST_IPC_PCI=m
CONFIG_SND_SST_IPC_ACPI=m
-CONFIG_SND_SOC_INTEL_COMMON=m
+CONFIG_SND_SOC_INTEL_SST_ACPI=m
CONFIG_SND_SOC_INTEL_SST=m
CONFIG_SND_SOC_INTEL_SST_FIRMWARE=m
-CONFIG_SND_SOC_INTEL_SST_ACPI=m
-CONFIG_SND_SOC_ACPI_INTEL_MATCH=m
-CONFIG_SND_SOC_INTEL_SST_TOPLEVEL=m
CONFIG_SND_SOC_INTEL_HASWELL=m
CONFIG_SND_SOC_INTEL_BAYTRAIL=m
+CONFIG_SND_SST_ATOM_HIFI2_PLATFORM_PCI=m
CONFIG_SND_SST_ATOM_HIFI2_PLATFORM=m
+CONFIG_SND_SOC_INTEL_SKYLAKE_SSP_CLK=m
CONFIG_SND_SOC_INTEL_SKYLAKE=m
-CONFIG_SND_SOC_INTEL_MACH=m
-CONFIG_SND_MFLD_MACHINE=m
+CONFIG_SND_SOC_ACPI_INTEL_MATCH=m
+CONFIG_SND_SOC_INTEL_MACH=y
CONFIG_SND_SOC_INTEL_HASWELL_MACH=m
CONFIG_SND_SOC_INTEL_BDW_RT5677_MACH=m
CONFIG_SND_SOC_INTEL_BROADWELL_MACH=m
+CONFIG_SND_SOC_INTEL_BYT_MAX98090_MACH=m
+CONFIG_SND_SOC_INTEL_BYT_RT5640_MACH=m
CONFIG_SND_SOC_INTEL_BYTCR_RT5640_MACH=m
CONFIG_SND_SOC_INTEL_BYTCR_RT5651_MACH=m
CONFIG_SND_SOC_INTEL_CHT_BSW_RT5672_MACH=m
@@ -6354,6 +6400,7 @@ CONFIG_SND_SOC_MAX98090=m
CONFIG_SND_SOC_MAX98357A=m
CONFIG_SND_SOC_MAX98504=m
CONFIG_SND_SOC_MAX98927=m
+CONFIG_SND_SOC_MAX98373=m
CONFIG_SND_SOC_MAX9860=m
CONFIG_SND_SOC_MSM8916_WCD_ANALOG=m
CONFIG_SND_SOC_MSM8916_WCD_DIGITAL=m
@@ -6361,6 +6408,9 @@ CONFIG_SND_SOC_PCM1681=m
CONFIG_SND_SOC_PCM179X=m
CONFIG_SND_SOC_PCM179X_I2C=m
CONFIG_SND_SOC_PCM179X_SPI=m
+CONFIG_SND_SOC_PCM186X=m
+CONFIG_SND_SOC_PCM186X_I2C=m
+CONFIG_SND_SOC_PCM186X_SPI=m
CONFIG_SND_SOC_PCM3168A=m
CONFIG_SND_SOC_PCM3168A_I2C=m
CONFIG_SND_SOC_PCM3168A_SPI=m
@@ -6389,7 +6439,6 @@ CONFIG_SND_SOC_SIGMADSP=m
CONFIG_SND_SOC_SIGMADSP_I2C=m
CONFIG_SND_SOC_SIGMADSP_REGMAP=m
CONFIG_SND_SOC_SIRF_AUDIO_CODEC=m
-CONFIG_SND_SOC_SN95031=m
CONFIG_SND_SOC_SPDIF=m
CONFIG_SND_SOC_SSM2602=m
CONFIG_SND_SOC_SSM2602_SPI=m
@@ -6402,13 +6451,18 @@ CONFIG_SND_SOC_TAS2552=m
CONFIG_SND_SOC_TAS5086=m
CONFIG_SND_SOC_TAS571X=m
CONFIG_SND_SOC_TAS5720=m
+CONFIG_SND_SOC_TAS6424=m
CONFIG_SND_SOC_TFA9879=m
CONFIG_SND_SOC_TLV320AIC23=m
CONFIG_SND_SOC_TLV320AIC23_I2C=m
CONFIG_SND_SOC_TLV320AIC23_SPI=m
CONFIG_SND_SOC_TLV320AIC31XX=m
+CONFIG_SND_SOC_TLV320AIC32X4=m
+CONFIG_SND_SOC_TLV320AIC32X4_I2C=m
+CONFIG_SND_SOC_TLV320AIC32X4_SPI=m
CONFIG_SND_SOC_TLV320AIC3X=m
CONFIG_SND_SOC_TS3A227E=m
+CONFIG_SND_SOC_TSCS42XX=m
CONFIG_SND_SOC_WM8510=m
CONFIG_SND_SOC_WM8523=m
CONFIG_SND_SOC_WM8524=m
@@ -6491,6 +6545,7 @@ CONFIG_HID_WALTOP=m
CONFIG_HID_GYRATION=m
CONFIG_HID_ICADE=m
CONFIG_HID_ITE=m
+CONFIG_HID_JABRA=m
CONFIG_HID_TWINHAN=m
CONFIG_HID_KENSINGTON=m
CONFIG_HID_LCPOWER=m
@@ -6598,6 +6653,7 @@ CONFIG_USB_WUSB_CBAF=m
#
CONFIG_USB_C67X00_HCD=m
CONFIG_USB_XHCI_HCD=y
+# CONFIG_USB_XHCI_DBGCAP is not set
CONFIG_USB_XHCI_PCI=y
CONFIG_USB_XHCI_PLATFORM=m
CONFIG_USB_EHCI_HCD=y
@@ -6743,18 +6799,6 @@ CONFIG_USB_SERIAL_IPW=m
CONFIG_USB_SERIAL_IUU=m
CONFIG_USB_SERIAL_KEYSPAN_PDA=m
CONFIG_USB_SERIAL_KEYSPAN=m
-CONFIG_USB_SERIAL_KEYSPAN_MPR=y
-CONFIG_USB_SERIAL_KEYSPAN_USA28=y
-CONFIG_USB_SERIAL_KEYSPAN_USA28X=y
-CONFIG_USB_SERIAL_KEYSPAN_USA28XA=y
-CONFIG_USB_SERIAL_KEYSPAN_USA28XB=y
-CONFIG_USB_SERIAL_KEYSPAN_USA19=y
-CONFIG_USB_SERIAL_KEYSPAN_USA18X=y
-CONFIG_USB_SERIAL_KEYSPAN_USA19W=y
-CONFIG_USB_SERIAL_KEYSPAN_USA19QW=y
-CONFIG_USB_SERIAL_KEYSPAN_USA19QI=y
-CONFIG_USB_SERIAL_KEYSPAN_USA49W=y
-CONFIG_USB_SERIAL_KEYSPAN_USA49WLC=y
CONFIG_USB_SERIAL_KLSI=m
CONFIG_USB_SERIAL_KOBIL_SCT=m
CONFIG_USB_SERIAL_MCT_U232=m
@@ -6962,6 +7006,7 @@ CONFIG_MMC_SDHCI_PCI=m
CONFIG_MMC_RICOH_MMC=y
CONFIG_MMC_SDHCI_ACPI=m
CONFIG_MMC_SDHCI_PLTFM=m
+CONFIG_MMC_SDHCI_F_SDH30=m
CONFIG_MMC_WBSD=m
CONFIG_MMC_TIFM_SD=m
CONFIG_MMC_SPI=m
@@ -6973,6 +7018,7 @@ CONFIG_MMC_USHC=m
CONFIG_MMC_USDHI6ROL0=m
CONFIG_MMC_REALTEK_PCI=m
CONFIG_MMC_REALTEK_USB=m
+CONFIG_MMC_CQHCI=m
CONFIG_MMC_TOSHIBA_PCI=m
CONFIG_MMC_MTK=m
CONFIG_MMC_SDHCI_XENON=m
@@ -7022,7 +7068,6 @@ CONFIG_LEDS_LP5523=m
CONFIG_LEDS_LP5562=m
CONFIG_LEDS_LP8501=m
CONFIG_LEDS_LP8788=m
-CONFIG_LEDS_LP8860=m
CONFIG_LEDS_CLEVO_MAIL=m
CONFIG_LEDS_PCA955X=m
# CONFIG_LEDS_PCA955X_GPIO is not set
@@ -7074,6 +7119,7 @@ CONFIG_LEDS_TRIGGER_DEFAULT_ON=m
CONFIG_LEDS_TRIGGER_TRANSIENT=m
CONFIG_LEDS_TRIGGER_CAMERA=m
CONFIG_LEDS_TRIGGER_PANIC=y
+CONFIG_LEDS_TRIGGER_NETDEV=m
# CONFIG_ACCESSIBILITY is not set
CONFIG_INFINIBAND=m
CONFIG_INFINIBAND_USER_MAD=m
@@ -7256,6 +7302,7 @@ CONFIG_RTC_DRV_WM831X=m
CONFIG_RTC_DRV_WM8350=m
CONFIG_RTC_DRV_PCF50633=m
CONFIG_RTC_DRV_AB3100=m
+CONFIG_RTC_DRV_CROS_EC=m
#
# on-CPU RTC drivers
@@ -7338,11 +7385,9 @@ CONFIG_VFIO_MDEV=m
CONFIG_VFIO_MDEV_DEVICE=m
CONFIG_IRQ_BYPASS_MANAGER=m
CONFIG_VIRT_DRIVERS=y
+CONFIG_VBOXGUEST=m
CONFIG_VIRTIO=y
-
-#
-# Virtio drivers
-#
+CONFIG_VIRTIO_MENU=y
CONFIG_VIRTIO_PCI=y
CONFIG_VIRTIO_PCI_LEGACY=y
CONFIG_VIRTIO_BALLOON=y
@@ -7445,6 +7490,17 @@ CONFIG_ALI_FIR=m
CONFIG_VLSI_FIR=m
CONFIG_VIA_FIR=m
CONFIG_MCS_FIR=m
+CONFIG_IPX=m
+# CONFIG_IPX_INTERN is not set
+CONFIG_NCP_FS=m
+CONFIG_NCPFS_PACKET_SIGNING=y
+CONFIG_NCPFS_IOCTL_LOCKING=y
+CONFIG_NCPFS_STRONG=y
+CONFIG_NCPFS_NFS_NS=y
+CONFIG_NCPFS_OS2_NS=y
+# CONFIG_NCPFS_SMALLDOS is not set
+CONFIG_NCPFS_NLS=y
+CONFIG_NCPFS_EXTRAS=y
CONFIG_PRISM2_USB=m
CONFIG_COMEDI=m
# CONFIG_COMEDI_DEBUG is not set
@@ -7596,8 +7652,6 @@ CONFIG_R8712U=m
CONFIG_R8188EU=m
CONFIG_88EU_AP_MODE=y
CONFIG_R8822BE=m
-CONFIG_RTLHALMAC_ST=m
-CONFIG_RTLPHYDM_ST=m
CONFIG_RTLWIFI_DEBUG_ST=y
CONFIG_RTS5208=m
CONFIG_VT6655=m
@@ -7708,8 +7762,6 @@ CONFIG_STAGING_MEDIA=y
# CONFIG_INTEL_ATOMISP is not set
CONFIG_I2C_BCM2048=m
CONFIG_DVB_CXD2099=m
-CONFIG_LIRC_STAGING=y
-CONFIG_LIRC_ZILOG=m
#
# Android
@@ -7727,6 +7779,7 @@ CONFIG_LNET_XPRT_IB=m
# CONFIG_LUSTRE_FS is not set
CONFIG_DGNC=m
CONFIG_GS_FPGABOOT=m
+# CONFIG_UNISYSSPAR is not set
CONFIG_FB_TFT=m
CONFIG_FB_TFT_AGM1264K_FL=m
CONFIG_FB_TFT_BD663474=m
@@ -7749,7 +7802,6 @@ CONFIG_FB_TFT_SH1106=m
CONFIG_FB_TFT_SSD1289=m
CONFIG_FB_TFT_SSD1305=m
CONFIG_FB_TFT_SSD1306=m
-CONFIG_FB_TFT_SSD1325=m
CONFIG_FB_TFT_SSD1331=m
CONFIG_FB_TFT_SSD1351=m
CONFIG_FB_TFT_ST7735R=m
@@ -7767,14 +7819,13 @@ CONFIG_WILC1000_SDIO=m
CONFIG_WILC1000_SPI=m
# CONFIG_WILC1000_HW_OOB_INTR is not set
CONFIG_MOST=m
-CONFIG_MOSTCORE=m
-CONFIG_AIM_CDEV=m
-CONFIG_AIM_NETWORK=m
-CONFIG_AIM_SOUND=m
-CONFIG_AIM_V4L2=m
-CONFIG_HDM_DIM2=m
-CONFIG_HDM_I2C=m
-CONFIG_HDM_USB=m
+CONFIG_MOST_CDEV=m
+CONFIG_MOST_NET=m
+CONFIG_MOST_SOUND=m
+CONFIG_MOST_VIDEO=m
+CONFIG_MOST_DIM2=m
+CONFIG_MOST_I2C=m
+CONFIG_MOST_USB=m
CONFIG_KS7010=m
# CONFIG_GREYBUS is not set
@@ -7786,12 +7837,13 @@ CONFIG_DRM_VBOXVIDEO=m
# CONFIG_PI433 is not set
CONFIG_X86_PLATFORM_DEVICES=y
CONFIG_ACER_WMI=m
+CONFIG_ACER_WIRELESS=m
CONFIG_ACERHDF=m
CONFIG_ALIENWARE_WMI=m
CONFIG_ASUS_LAPTOP=m
CONFIG_DELL_SMBIOS=m
-CONFIG_DELL_SMBIOS_WMI=m
-CONFIG_DELL_SMBIOS_SMM=m
+CONFIG_DELL_SMBIOS_WMI=y
+CONFIG_DELL_SMBIOS_SMM=y
CONFIG_DELL_LAPTOP=m
CONFIG_DELL_WMI=m
CONFIG_DELL_WMI_DESCRIPTOR=m
@@ -7802,6 +7854,7 @@ CONFIG_DELL_RBTN=m
CONFIG_FUJITSU_LAPTOP=m
CONFIG_FUJITSU_TABLET=m
CONFIG_AMILO_RFKILL=m
+# CONFIG_GPD_POCKET_FAN is not set
CONFIG_TC1100_WMI=m
CONFIG_HP_ACCEL=m
CONFIG_HP_WIRELESS=m
@@ -7862,17 +7915,19 @@ CONFIG_INTEL_BXTWC_PMIC_TMU=m
CONFIG_SURFACE_PRO3_BUTTON=m
CONFIG_SURFACE_3_BUTTON=m
CONFIG_INTEL_PUNIT_IPC=m
-CONFIG_MLX_CPLD_PLATFORM=m
+# CONFIG_MLX_PLATFORM is not set
# CONFIG_SILEAD_DMI is not set
+CONFIG_INTEL_CHTDC_TI_PWRBTN=m
CONFIG_PMC_ATOM=y
CONFIG_CHROME_PLATFORMS=y
CONFIG_CHROMEOS_LAPTOP=m
CONFIG_CHROMEOS_PSTORE=m
-CONFIG_CROS_EC_CHARDEV=m
+CONFIG_CROS_EC_CTL=m
CONFIG_CROS_EC_LPC=m
# CONFIG_CROS_EC_LPC_MEC is not set
CONFIG_CROS_EC_PROTO=y
CONFIG_CROS_KBD_LED_BACKLIGHT=m
+# CONFIG_MELLANOX_PLATFORM is not set
CONFIG_CLKDEV_LOOKUP=y
CONFIG_HAVE_CLK_PREPARE=y
CONFIG_COMMON_CLK=y
@@ -7935,6 +7990,7 @@ CONFIG_RPMSG=m
CONFIG_RPMSG_QCOM_GLINK_NATIVE=m
CONFIG_RPMSG_QCOM_GLINK_RPM=m
CONFIG_RPMSG_VIRTIO=m
+# CONFIG_SOUNDWIRE is not set
#
# SOC (System On Chip) specific Drivers
@@ -7957,6 +8013,11 @@ CONFIG_RPMSG_VIRTIO=m
#
# CONFIG_SUNXI_SRAM is not set
CONFIG_SOC_TI=y
+
+#
+# Xilinx SoC drivers
+#
+# CONFIG_XILINX_VCU is not set
CONFIG_PM_DEVFREQ=y
#
@@ -7997,6 +8058,7 @@ CONFIG_MEMORY=y
CONFIG_IIO=m
CONFIG_IIO_BUFFER=y
CONFIG_IIO_BUFFER_CB=m
+CONFIG_IIO_BUFFER_HW_CONSUMER=m
CONFIG_IIO_KFIFO_BUF=m
CONFIG_IIO_TRIGGERED_BUFFER=m
CONFIG_IIO_CONFIGFS=m
@@ -8275,6 +8337,9 @@ CONFIG_OPT3001=m
CONFIG_PA12203001=m
CONFIG_SI1145=m
CONFIG_STK3310=m
+CONFIG_ST_UVIS25=m
+CONFIG_ST_UVIS25_I2C=m
+CONFIG_ST_UVIS25_SPI=m
CONFIG_TCS3414=m
CONFIG_TCS3472=m
CONFIG_SENSORS_TSL2563=m
@@ -8284,6 +8349,7 @@ CONFIG_US5182D=m
CONFIG_VCNL4000=m
CONFIG_VEML6070=m
CONFIG_VL6180=m
+CONFIG_ZOPT2201=m
#
# Magnetometer sensors
@@ -8505,16 +8571,17 @@ CONFIG_INTEL_TH_MSU=m
CONFIG_INTEL_TH_PTI=m
# CONFIG_INTEL_TH_DEBUG is not set
CONFIG_FPGA=m
-CONFIG_FPGA_MGR_ALTERA_CVP=m
+CONFIG_ALTERA_PR_IP_CORE=m
CONFIG_FPGA_MGR_ALTERA_PS_SPI=m
+CONFIG_FPGA_MGR_ALTERA_CVP=m
CONFIG_FPGA_MGR_XILINX_SPI=m
-CONFIG_ALTERA_PR_IP_CORE=m
-
-#
-# FSI support
-#
+CONFIG_FPGA_BRIDGE=m
+CONFIG_XILINX_PR_DECOUPLER=m
+CONFIG_FPGA_REGION=m
# CONFIG_FSI is not set
CONFIG_PM_OPP=y
+# CONFIG_SIOX is not set
+# CONFIG_SLIMBUS is not set
#
# Firmware Drivers
@@ -8835,16 +8902,8 @@ CONFIG_CIFS_DEBUG=y
# CONFIG_CIFS_DEBUG_DUMP_KEYS is not set
CONFIG_CIFS_DFS_UPCALL=y
CONFIG_CIFS_SMB311=y
+# CONFIG_CIFS_SMB_DIRECT is not set
CONFIG_CIFS_FSCACHE=y
-CONFIG_NCP_FS=m
-CONFIG_NCPFS_PACKET_SIGNING=y
-CONFIG_NCPFS_IOCTL_LOCKING=y
-CONFIG_NCPFS_STRONG=y
-CONFIG_NCPFS_NFS_NS=y
-CONFIG_NCPFS_OS2_NS=y
-# CONFIG_NCPFS_SMALLDOS is not set
-CONFIG_NCPFS_NLS=y
-CONFIG_NCPFS_EXTRAS=y
CONFIG_CODA_FS=m
CONFIG_AFS_FS=m
# CONFIG_AFS_DEBUG is not set
@@ -9034,6 +9093,7 @@ CONFIG_NOTIFIER_ERROR_INJECTION=m
CONFIG_PM_NOTIFIER_ERROR_INJECT=m
CONFIG_NETDEV_NOTIFIER_ERROR_INJECT=m
# CONFIG_FAULT_INJECTION is not set
+CONFIG_FUNCTION_ERROR_INJECTION=y
# CONFIG_LATENCYTOP is not set
CONFIG_USER_STACKTRACE_SUPPORT=y
CONFIG_NOP_TRACER=y
@@ -9075,6 +9135,7 @@ CONFIG_PROBE_EVENTS=y
CONFIG_DYNAMIC_FTRACE=y
CONFIG_DYNAMIC_FTRACE_WITH_REGS=y
CONFIG_FUNCTION_PROFILER=y
+# CONFIG_BPF_KPROBE_OVERRIDE is not set
CONFIG_FTRACE_MCOUNT_RECORD=y
# CONFIG_FTRACE_STARTUP_TEST is not set
CONFIG_MMIOTRACE=y
@@ -9087,10 +9148,7 @@ CONFIG_MMIOTRACE=y
CONFIG_TRACING_EVENTS_GPIO=y
# CONFIG_PROVIDE_OHCI1394_DMA_INIT is not set
# CONFIG_DMA_API_DEBUG is not set
-
-#
-# Runtime Testing
-#
+CONFIG_RUNTIME_TESTING_MENU=y
# CONFIG_LKDTM is not set
# CONFIG_TEST_LIST_SORT is not set
# CONFIG_TEST_SORT is not set
@@ -9113,7 +9171,7 @@ CONFIG_TEST_PARMAN=m
CONFIG_TEST_LKM=m
CONFIG_TEST_USER_COPY=m
CONFIG_TEST_BPF=m
-CONFIG_TEST_FIND_BIT=m
+CONFIG_FIND_BIT_BENCHMARK=m
CONFIG_TEST_FIRMWARE=m
# CONFIG_TEST_SYSCTL is not set
CONFIG_TEST_UDELAY=m
@@ -9149,7 +9207,6 @@ CONFIG_EARLY_PRINTK_EFI=y
# CONFIG_DEBUG_WX is not set
CONFIG_DOUBLEFAULT=y
# CONFIG_DEBUG_TLBFLUSH is not set
-# CONFIG_IOMMU_STRESS is not set
CONFIG_HAVE_MMIOTRACE_SUPPORT=y
# CONFIG_X86_DECODER_SELFTEST is not set
CONFIG_IO_DELAY_TYPE_0X80=0
@@ -9192,6 +9249,7 @@ CONFIG_INTEL_TXT=y
CONFIG_LSM_MMAP_MIN_ADDR=0
CONFIG_HAVE_HARDENED_USERCOPY_ALLOCATOR=y
CONFIG_HARDENED_USERCOPY=y
+CONFIG_HARDENED_USERCOPY_FALLBACK=y
# CONFIG_HARDENED_USERCOPY_PAGESPAN is not set
CONFIG_FORTIFY_SOURCE=y
# CONFIG_STATIC_USERMODEHELPER is not set
@@ -9425,6 +9483,7 @@ CONFIG_CRYPTO_DEV_QAT_DH895xCCVF=m
CONFIG_CRYPTO_DEV_QAT_C3XXXVF=m
CONFIG_CRYPTO_DEV_QAT_C62XVF=m
CONFIG_CRYPTO_DEV_CHELSIO=m
+# CONFIG_CHELSIO_IPSEC_INLINE is not set
CONFIG_CRYPTO_DEV_VIRTIO=m
CONFIG_ASYMMETRIC_KEY_TYPE=y
CONFIG_ASYMMETRIC_PUBLIC_KEY_SUBTYPE=y
@@ -9541,7 +9600,8 @@ CONFIG_ASSOCIATIVE_ARRAY=y
CONFIG_HAS_IOMEM=y
CONFIG_HAS_IOPORT_MAP=y
CONFIG_HAS_DMA=y
-# CONFIG_DMA_NOOP_OPS is not set
+CONFIG_SGL_ALLOC=y
+# CONFIG_DMA_DIRECT_OPS is not set
CONFIG_DMA_VIRT_OPS=y
CONFIG_CHECK_SIGNATURE=y
CONFIG_CPU_RMAP=y
diff --git a/gnu/packages/aux-files/linux-libre/4.15-x86_64.conf b/gnu/packages/aux-files/linux-libre/4.16-x86_64.conf
index ee3683724b..e400023497 100644
--- a/gnu/packages/aux-files/linux-libre/4.15-x86_64.conf
+++ b/gnu/packages/aux-files/linux-libre/4.16-x86_64.conf
@@ -1,6 +1,6 @@
#
# Automatically generated file; DO NOT EDIT.
-# Linux/x86 4.15.0-gnu Kernel Configuration
+# Linux/x86 4.16.0-gnu Kernel Configuration
#
CONFIG_64BIT=y
CONFIG_X86_64=y
@@ -42,7 +42,6 @@ CONFIG_X86_64_SMP=y
CONFIG_ARCH_SUPPORTS_UPROBES=y
CONFIG_FIX_EARLYCON_MEM=y
CONFIG_PGTABLE_LEVELS=4
-CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
CONFIG_IRQ_WORK=y
CONFIG_BUILDTIME_EXTABLE_SORT=y
CONFIG_THREAD_INFO_IN_TASK=y
@@ -96,7 +95,6 @@ CONFIG_GENERIC_MSI_IRQ=y
CONFIG_GENERIC_MSI_IRQ_DOMAIN=y
CONFIG_GENERIC_IRQ_MATRIX_ALLOCATOR=y
CONFIG_GENERIC_IRQ_RESERVATION_MODE=y
-# CONFIG_IRQ_DOMAIN_DEBUG is not set
CONFIG_IRQ_FORCED_THREADING=y
CONFIG_SPARSE_IRQ=y
# CONFIG_GENERIC_IRQ_DEBUGFS is not set
@@ -236,6 +234,7 @@ CONFIG_KALLSYMS_BASE_RELATIVE=y
CONFIG_BPF_SYSCALL=y
# CONFIG_BPF_JIT_ALWAYS_ON is not set
CONFIG_USERFAULTFD=y
+CONFIG_ARCH_HAS_MEMBARRIER_SYNC_CORE=y
# CONFIG_EMBEDDED is not set
CONFIG_HAVE_PERF_EVENTS=y
# CONFIG_PC104 is not set
@@ -281,12 +280,14 @@ CONFIG_HAVE_KPROBES=y
CONFIG_HAVE_KRETPROBES=y
CONFIG_HAVE_OPTPROBES=y
CONFIG_HAVE_KPROBES_ON_FTRACE=y
+CONFIG_HAVE_FUNCTION_ERROR_INJECTION=y
CONFIG_HAVE_NMI=y
CONFIG_HAVE_ARCH_TRACEHOOK=y
CONFIG_HAVE_DMA_CONTIGUOUS=y
CONFIG_GENERIC_SMP_IDLE_THREAD=y
CONFIG_ARCH_HAS_FORTIFY_SOURCE=y
CONFIG_ARCH_HAS_SET_MEMORY=y
+CONFIG_HAVE_ARCH_THREAD_STRUCT_WHITELIST=y
CONFIG_ARCH_WANTS_DYNAMIC_TASK_STRUCT=y
CONFIG_HAVE_REGS_AND_STACK_ACCESS_API=y
CONFIG_HAVE_CLK=y
@@ -315,10 +316,10 @@ CONFIG_GCC_PLUGINS=y
# CONFIG_GCC_PLUGIN_STRUCTLEAK is not set
# CONFIG_GCC_PLUGIN_RANDSTRUCT is not set
CONFIG_HAVE_CC_STACKPROTECTOR=y
-CONFIG_CC_STACKPROTECTOR=y
# CONFIG_CC_STACKPROTECTOR_NONE is not set
# CONFIG_CC_STACKPROTECTOR_REGULAR is not set
CONFIG_CC_STACKPROTECTOR_STRONG=y
+# CONFIG_CC_STACKPROTECTOR_AUTO is not set
CONFIG_THIN_ARCHIVES=y
CONFIG_HAVE_ARCH_WITHIN_STACK_FRAMES=y
CONFIG_HAVE_CONTEXT_TRACKING=y
@@ -354,6 +355,7 @@ CONFIG_ARCH_HAS_STRICT_KERNEL_RWX=y
CONFIG_STRICT_KERNEL_RWX=y
CONFIG_ARCH_HAS_STRICT_MODULE_RWX=y
CONFIG_STRICT_MODULE_RWX=y
+CONFIG_ARCH_HAS_PHYS_TO_DMA=y
CONFIG_ARCH_HAS_REFCOUNT=y
CONFIG_REFCOUNT_FULL=y
@@ -449,6 +451,7 @@ CONFIG_ARCH_USE_QUEUED_SPINLOCKS=y
CONFIG_QUEUED_SPINLOCKS=y
CONFIG_ARCH_USE_QUEUED_RWLOCKS=y
CONFIG_QUEUED_RWLOCKS=y
+CONFIG_ARCH_HAS_SYNC_CORE_BEFORE_USERMODE=y
CONFIG_FREEZER=y
#
@@ -494,6 +497,7 @@ CONFIG_KVM_GUEST=y
CONFIG_KVM_DEBUG_FS=y
# CONFIG_PARAVIRT_TIME_ACCOUNTING is not set
CONFIG_PARAVIRT_CLOCK=y
+CONFIG_JAILHOUSE_GUEST=y
CONFIG_NO_BOOTMEM=y
# CONFIG_MK8 is not set
# CONFIG_MPSC is not set
@@ -520,6 +524,9 @@ CONFIG_CALGARY_IOMMU_ENABLED_BY_DEFAULT=y
CONFIG_SWIOTLB=y
CONFIG_IOMMU_HELPER=y
# CONFIG_MAXSMP is not set
+CONFIG_NR_CPUS_RANGE_BEGIN=2
+CONFIG_NR_CPUS_RANGE_END=512
+CONFIG_NR_CPUS_DEFAULT=64
CONFIG_NR_CPUS=256
CONFIG_SCHED_SMT=y
CONFIG_SCHED_MC=y
@@ -630,7 +637,6 @@ CONFIG_ZSMALLOC=y
CONFIG_PGTABLE_MAPPING=y
# CONFIG_ZSMALLOC_STAT is not set
CONFIG_GENERIC_EARLY_IOREMAP=y
-CONFIG_ARCH_SUPPORTS_DEFERRED_STRUCT_PAGE_INIT=y
# CONFIG_DEFERRED_STRUCT_PAGE_INIT is not set
CONFIG_IDLE_PAGE_TRACKING=y
CONFIG_ARCH_HAS_ZONE_DEVICE=y
@@ -686,7 +692,6 @@ CONFIG_HOTPLUG_CPU=y
# CONFIG_BOOTPARAM_HOTPLUG_CPU0 is not set
# CONFIG_DEBUG_HOTPLUG_CPU0 is not set
# CONFIG_COMPAT_VDSO is not set
-# CONFIG_LEGACY_VSYSCALL_NATIVE is not set
CONFIG_LEGACY_VSYSCALL_EMULATE=y
# CONFIG_LEGACY_VSYSCALL_NONE is not set
# CONFIG_CMDLINE_BOOL is not set
@@ -729,6 +734,7 @@ CONFIG_ACPI_LEGACY_TABLES_LOOKUP=y
CONFIG_ARCH_MIGHT_HAVE_ACPI_PDC=y
CONFIG_ACPI_SYSTEM_POWER_STATES_SUPPORT=y
# CONFIG_ACPI_DEBUGGER is not set
+CONFIG_ACPI_SPCR_TABLE=y
CONFIG_ACPI_LPIT=y
CONFIG_ACPI_SLEEP=y
# CONFIG_ACPI_PROCFS_POWER is not set
@@ -756,7 +762,6 @@ CONFIG_ARCH_HAS_ACPI_TABLE_UPGRADE=y
CONFIG_ACPI_TABLE_UPGRADE=y
# CONFIG_ACPI_DEBUG is not set
CONFIG_ACPI_PCI_SLOT=y
-CONFIG_X86_PM_TIMER=y
CONFIG_ACPI_CONTAINER=y
CONFIG_ACPI_HOTPLUG_MEMORY=y
CONFIG_ACPI_HOTPLUG_IOAPIC=y
@@ -779,6 +784,7 @@ CONFIG_ACPI_WATCHDOG=y
CONFIG_ACPI_EXTLOG=m
# CONFIG_PMIC_OPREGION is not set
CONFIG_ACPI_CONFIGFS=m
+CONFIG_X86_PM_TIMER=y
CONFIG_SFI=y
#
@@ -874,6 +880,10 @@ CONFIG_HOTPLUG_PCI_CPCI_GENERIC=m
CONFIG_HOTPLUG_PCI_SHPC=m
#
+# Cadence PCIe controllers support
+#
+
+#
# DesignWare PCI Core Support
#
# CONFIG_PCIE_DW_PLAT is not set
@@ -1080,12 +1090,15 @@ CONFIG_BRIDGE_NETFILTER=m
#
CONFIG_NETFILTER_INGRESS=y
CONFIG_NETFILTER_NETLINK=m
+CONFIG_NETFILTER_FAMILY_BRIDGE=y
+CONFIG_NETFILTER_FAMILY_ARP=y
CONFIG_NETFILTER_NETLINK_ACCT=m
CONFIG_NETFILTER_NETLINK_QUEUE=m
CONFIG_NETFILTER_NETLINK_LOG=m
CONFIG_NF_CONNTRACK=m
CONFIG_NF_LOG_COMMON=m
CONFIG_NF_LOG_NETDEV=m
+CONFIG_NETFILTER_CONNCOUNT=m
CONFIG_NF_CONNTRACK_MARK=y
CONFIG_NF_CONNTRACK_SECMARK=y
CONFIG_NF_CONNTRACK_ZONES=y
@@ -1133,6 +1146,7 @@ CONFIG_NFT_META=m
CONFIG_NFT_RT=m
CONFIG_NFT_NUMGEN=m
CONFIG_NFT_CT=m
+CONFIG_NFT_FLOW_OFFLOAD=m
CONFIG_NFT_SET_RBTREE=m
CONFIG_NFT_SET_HASH=m
CONFIG_NFT_SET_BITMAP=m
@@ -1155,6 +1169,8 @@ CONFIG_NF_DUP_NETDEV=m
CONFIG_NFT_DUP_NETDEV=m
CONFIG_NFT_FWD_NETDEV=m
CONFIG_NFT_FIB_NETDEV=m
+CONFIG_NF_FLOW_TABLE_INET=m
+CONFIG_NF_FLOW_TABLE=m
CONFIG_NETFILTER_XTABLES=m
#
@@ -1316,6 +1332,7 @@ CONFIG_NFT_REJECT_IPV4=m
CONFIG_NFT_DUP_IPV4=m
CONFIG_NFT_FIB_IPV4=m
CONFIG_NF_TABLES_ARP=m
+CONFIG_NF_FLOW_TABLE_IPV4=m
CONFIG_NF_DUP_IPV4=m
CONFIG_NF_LOG_ARP=m
CONFIG_NF_LOG_IPV4=m
@@ -1362,6 +1379,7 @@ CONFIG_NFT_CHAIN_ROUTE_IPV6=m
CONFIG_NFT_REJECT_IPV6=m
CONFIG_NFT_DUP_IPV6=m
CONFIG_NFT_FIB_IPV6=m
+CONFIG_NF_FLOW_TABLE_IPV6=m
CONFIG_NF_DUP_IPV6=m
CONFIG_NF_REJECT_IPV6=m
CONFIG_NF_LOG_IPV6=m
@@ -1380,6 +1398,7 @@ CONFIG_IP6_NF_MATCH_IPV6HEADER=m
CONFIG_IP6_NF_MATCH_MH=m
CONFIG_IP6_NF_MATCH_RPFILTER=m
CONFIG_IP6_NF_MATCH_RT=m
+CONFIG_IP6_NF_MATCH_SRH=m
CONFIG_IP6_NF_TARGET_HL=m
CONFIG_IP6_NF_FILTER=m
CONFIG_IP6_NF_TARGET_REJECT=m
@@ -1433,9 +1452,7 @@ CONFIG_INET_DCCP_DIAG=m
# DCCP Kernel Hacking
#
# CONFIG_IP_DCCP_DEBUG is not set
-CONFIG_NET_DCCPPROBE=m
CONFIG_IP_SCTP=m
-CONFIG_NET_SCTPPROBE=m
# CONFIG_SCTP_DBG_OBJCNT is not set
# CONFIG_SCTP_DEFAULT_COOKIE_HMAC_MD5 is not set
CONFIG_SCTP_DEFAULT_COOKIE_HMAC_SHA1=y
@@ -1470,6 +1487,7 @@ CONFIG_BRIDGE_IGMP_SNOOPING=y
CONFIG_BRIDGE_VLAN_FILTERING=y
CONFIG_HAVE_NET_DSA=y
CONFIG_NET_DSA=m
+CONFIG_NET_DSA_LEGACY=y
CONFIG_NET_DSA_TAG_BRCM=y
CONFIG_NET_DSA_TAG_BRCM_PREPEND=y
CONFIG_NET_DSA_TAG_DSA=y
@@ -1486,8 +1504,6 @@ CONFIG_DECNET=m
# CONFIG_DECNET_ROUTER is not set
CONFIG_LLC=m
CONFIG_LLC2=m
-CONFIG_IPX=m
-# CONFIG_IPX_INTERN is not set
CONFIG_ATALK=m
CONFIG_DEV_APPLETALK=m
CONFIG_IPDDP=m
@@ -1644,7 +1660,6 @@ CONFIG_NET_FLOW_LIMIT=y
# Network testing
#
CONFIG_NET_PKTGEN=m
-CONFIG_NET_TCPPROBE=m
# CONFIG_NET_DROP_MONITOR is not set
CONFIG_HAMRADIO=y
@@ -1744,6 +1759,7 @@ CONFIG_BT_BCM=m
CONFIG_BT_RTL=m
CONFIG_BT_QCA=m
CONFIG_BT_HCIBTUSB=m
+# CONFIG_BT_HCIBTUSB_AUTOSUSPEND is not set
CONFIG_BT_HCIBTUSB_BCM=y
CONFIG_BT_HCIBTUSB_RTL=y
CONFIG_BT_HCIBTSDIO=m
@@ -1898,7 +1914,6 @@ CONFIG_DEVTMPFS_MOUNT=y
# CONFIG_STANDALONE is not set
CONFIG_PREVENT_FIRMWARE_BUILD=y
CONFIG_FW_LOADER=y
-CONFIG_FIRMWARE_IN_KERNEL=y
CONFIG_EXTRA_FIRMWARE=""
CONFIG_FW_LOADER_USER_HELPER=y
# CONFIG_FW_LOADER_USER_HELPER_FALLBACK is not set
@@ -2197,6 +2212,7 @@ CONFIG_USB_SWITCH_FSA9480=m
CONFIG_LATTICE_ECP3_CONFIG=m
CONFIG_SRAM=y
# CONFIG_PCI_ENDPOINT_TEST is not set
+CONFIG_MISC_RTSX=m
CONFIG_C2PORT=m
CONFIG_C2PORT_DURAMAR_2150=m
@@ -2275,6 +2291,9 @@ CONFIG_ECHO=m
# CONFIG_CXL_BASE is not set
# CONFIG_CXL_AFU_DRIVER_OPS is not set
# CONFIG_CXL_LIB is not set
+# CONFIG_OCXL_BASE is not set
+CONFIG_MISC_RTSX_PCI=m
+CONFIG_MISC_RTSX_USB=m
CONFIG_HAVE_IDE=y
# CONFIG_IDE is not set
@@ -2445,6 +2464,7 @@ CONFIG_SATA_PMP=y
# Controllers with non-SFF native interface
#
CONFIG_SATA_AHCI=m
+CONFIG_SATA_MOBILE_LPM_POLICY=0
CONFIG_SATA_AHCI_PLATFORM=m
CONFIG_SATA_INIC162X=m
CONFIG_SATA_ACARD_AHCI=m
@@ -2553,6 +2573,7 @@ CONFIG_DM_BUFIO=m
# CONFIG_DM_DEBUG_BLOCK_MANAGER_LOCKING is not set
CONFIG_DM_BIO_PRISON=m
CONFIG_DM_PERSISTENT_DATA=m
+CONFIG_DM_UNSTRIPED=m
CONFIG_DM_CRYPT=m
CONFIG_DM_SNAPSHOT=m
CONFIG_DM_THIN_PROVISIONING=m
@@ -2756,6 +2777,9 @@ CONFIG_MACB_USE_HWSTAMP=y
CONFIG_MACB_PCI=m
CONFIG_NET_VENDOR_BROADCOM=y
CONFIG_B44=m
+CONFIG_B44_PCI_AUTOSELECT=y
+CONFIG_B44_PCICORE_AUTOSELECT=y
+CONFIG_B44_PCI=y
CONFIG_BNX2=m
CONFIG_CNIC=m
CONFIG_TIGON3=m
@@ -2773,6 +2797,7 @@ CONFIG_THUNDER_NIC_PF=m
CONFIG_THUNDER_NIC_VF=m
CONFIG_THUNDER_NIC_BGX=m
CONFIG_THUNDER_NIC_RGX=m
+CONFIG_CAVIUM_PTP=m
CONFIG_LIQUIDIO=m
CONFIG_LIQUIDIO_VF=m
CONFIG_NET_VENDOR_CHELSIO=y
@@ -2786,6 +2811,7 @@ CONFIG_CHELSIO_T4VF=m
CONFIG_CHELSIO_LIB=m
CONFIG_NET_VENDOR_CISCO=y
CONFIG_ENIC=m
+# CONFIG_NET_VENDOR_CORTINA is not set
CONFIG_CX_ECAT=m
CONFIG_DNET=m
CONFIG_NET_VENDOR_DEC=y
@@ -2957,6 +2983,7 @@ CONFIG_EPIC100=m
CONFIG_SMSC911X=m
# CONFIG_SMSC911X_ARCH_HOOKS is not set
CONFIG_SMSC9420=m
+# CONFIG_NET_VENDOR_SOCIONEXT is not set
CONFIG_NET_VENDOR_STMICRO=y
CONFIG_STMMAC_ETH=m
CONFIG_STMMAC_PLATFORM=m
@@ -3131,6 +3158,7 @@ CONFIG_ATH9K_PCOEM=y
CONFIG_ATH9K_HTC=m
CONFIG_ATH9K_HTC_DEBUGFS=y
CONFIG_ATH9K_HWRNG=y
+# CONFIG_ATH9K_COMMON_SPECTRAL is not set
CONFIG_CARL9170=m
CONFIG_CARL9170_LEDS=y
# CONFIG_CARL9170_DEBUGFS is not set
@@ -3152,6 +3180,7 @@ CONFIG_ATH10K_SDIO=m
CONFIG_ATH10K_USB=m
# CONFIG_ATH10K_DEBUG is not set
CONFIG_ATH10K_DEBUGFS=y
+# CONFIG_ATH10K_SPECTRAL is not set
CONFIG_ATH10K_TRACING=y
CONFIG_WCN36XX=m
# CONFIG_WCN36XX_DEBUGFS is not set
@@ -3167,6 +3196,8 @@ CONFIG_B43_SSB=y
CONFIG_B43_BUSES_BCMA_AND_SSB=y
# CONFIG_B43_BUSES_BCMA is not set
# CONFIG_B43_BUSES_SSB is not set
+CONFIG_B43_PCI_AUTOSELECT=y
+CONFIG_B43_PCICORE_AUTOSELECT=y
# CONFIG_B43_SDIO is not set
CONFIG_B43_BCMA_PIO=y
CONFIG_B43_PIO=y
@@ -3178,6 +3209,8 @@ CONFIG_B43_LEDS=y
CONFIG_B43_HWRNG=y
# CONFIG_B43_DEBUG is not set
CONFIG_B43LEGACY=m
+CONFIG_B43LEGACY_PCI_AUTOSELECT=y
+CONFIG_B43LEGACY_PCICORE_AUTOSELECT=y
CONFIG_B43LEGACY_LEDS=y
CONFIG_B43LEGACY_HWRNG=y
# CONFIG_B43LEGACY_DEBUG is not set
@@ -3275,6 +3308,8 @@ CONFIG_MWIFIEX_USB=m
CONFIG_MWL8K=m
CONFIG_WLAN_VENDOR_MEDIATEK=y
CONFIG_MT7601U=m
+CONFIG_MT76_CORE=m
+CONFIG_MT76x2E=m
CONFIG_WLAN_VENDOR_RALINK=y
CONFIG_RT2X00=m
CONFIG_RT2400PCI=m
@@ -3402,6 +3437,7 @@ CONFIG_VMXNET3=m
CONFIG_FUJITSU_ES=m
CONFIG_THUNDERBOLT_NET=m
CONFIG_HYPERV_NET=m
+CONFIG_NETDEVSIM=m
CONFIG_ISDN=y
CONFIG_ISDN_I4L=m
CONFIG_ISDN_PPP=y
@@ -3531,7 +3567,6 @@ CONFIG_MISDN_ISAR=m
CONFIG_ISDN_HDLC=m
CONFIG_NVM=y
# CONFIG_NVM_DEBUG is not set
-CONFIG_NVM_RRPC=m
CONFIG_NVM_PBLK=m
#
@@ -3770,7 +3805,6 @@ CONFIG_INPUT_MMA8450=m
CONFIG_INPUT_APANEL=m
CONFIG_INPUT_GP2A=m
CONFIG_INPUT_GPIO_BEEPER=m
-CONFIG_INPUT_GPIO_TILT_POLLED=m
CONFIG_INPUT_GPIO_DECODER=m
CONFIG_INPUT_ATLAS_BTNS=m
CONFIG_INPUT_ATI_REMOTE2=m
@@ -3962,7 +3996,6 @@ CONFIG_HW_RANDOM_INTEL=m
CONFIG_HW_RANDOM_AMD=m
CONFIG_HW_RANDOM_VIA=m
CONFIG_HW_RANDOM_VIRTIO=m
-CONFIG_HW_RANDOM_TPM=m
CONFIG_NVRAM=m
CONFIG_R3964=m
CONFIG_APPLICOM=m
@@ -3983,6 +4016,7 @@ CONFIG_HPET_MMAP=y
CONFIG_HPET_MMAP_DEFAULT=y
CONFIG_HANGCHECK_TIMER=m
CONFIG_TCG_TPM=y
+CONFIG_HW_RANDOM_TPM=y
CONFIG_TCG_TIS_CORE=y
CONFIG_TCG_TIS=y
CONFIG_TCG_TIS_SPI=m
@@ -4069,6 +4103,7 @@ CONFIG_I2C_DESIGNWARE_PCI=m
CONFIG_I2C_DESIGNWARE_BAYTRAIL=y
CONFIG_I2C_EMEV2=m
CONFIG_I2C_GPIO=m
+# CONFIG_I2C_GPIO_FAULT_INJECTOR is not set
CONFIG_I2C_KEMPLD=m
CONFIG_I2C_OCORES=m
CONFIG_I2C_PCA_PLATFORM=m
@@ -4200,7 +4235,6 @@ CONFIG_GPIO_MAX730X=m
# Memory mapped GPIO drivers
#
CONFIG_GPIO_AMDPT=m
-CONFIG_GPIO_AXP209=m
CONFIG_GPIO_DWAPB=m
CONFIG_GPIO_EXAR=m
CONFIG_GPIO_GENERIC_PLATFORM=m
@@ -4263,6 +4297,7 @@ CONFIG_GPIO_WM8994=m
CONFIG_GPIO_AMD8111=m
CONFIG_GPIO_ML_IOH=m
CONFIG_GPIO_PCI_IDIO_16=m
+CONFIG_GPIO_PCIE_IDIO_24=m
CONFIG_GPIO_RDC321X=m
#
@@ -4535,6 +4570,7 @@ CONFIG_SENSORS_VIA_CPUTEMP=m
CONFIG_SENSORS_VIA686A=m
CONFIG_SENSORS_VT1211=m
CONFIG_SENSORS_VT8231=m
+CONFIG_SENSORS_W83773G=m
CONFIG_SENSORS_W83781D=m
CONFIG_SENSORS_W83791D=m
CONFIG_SENSORS_W83792D=m
@@ -4604,6 +4640,7 @@ CONFIG_WM831X_WATCHDOG=m
CONFIG_WM8350_WATCHDOG=m
CONFIG_XILINX_WATCHDOG=m
CONFIG_ZIIRAVE_WATCHDOG=m
+CONFIG_RAVE_SP_WATCHDOG=m
CONFIG_CADENCE_WATCHDOG=m
CONFIG_DW_WATCHDOG=m
CONFIG_TWL4030_WATCHDOG=m
@@ -4664,18 +4701,20 @@ CONFIG_USBPCWATCHDOG=m
#
# CONFIG_WATCHDOG_PRETIMEOUT_GOV is not set
CONFIG_SSB_POSSIBLE=y
-
-#
-# Sonics Silicon Backplane
-#
CONFIG_SSB=m
+CONFIG_SSB_SPROM=y
CONFIG_SSB_BLOCKIO=y
+CONFIG_SSB_PCIHOST_POSSIBLE=y
+CONFIG_SSB_PCIHOST=y
+CONFIG_SSB_B43_PCI_BRIDGE=y
CONFIG_SSB_PCMCIAHOST_POSSIBLE=y
# CONFIG_SSB_PCMCIAHOST is not set
CONFIG_SSB_SDIOHOST_POSSIBLE=y
CONFIG_SSB_SDIOHOST=y
# CONFIG_SSB_SILENT is not set
# CONFIG_SSB_DEBUG is not set
+CONFIG_SSB_DRIVER_PCICORE_POSSIBLE=y
+CONFIG_SSB_DRIVER_PCICORE=y
CONFIG_SSB_DRIVER_GPIO=y
CONFIG_BCMA_POSSIBLE=y
CONFIG_BCMA=m
@@ -4703,6 +4742,7 @@ CONFIG_MFD_AXP20X_I2C=m
CONFIG_MFD_CROS_EC=m
CONFIG_MFD_CROS_EC_I2C=m
CONFIG_MFD_CROS_EC_SPI=m
+CONFIG_MFD_CROS_EC_CHARDEV=m
CONFIG_PMIC_DA903X=y
CONFIG_PMIC_DA9052=y
CONFIG_MFD_DA9052_SPI=y
@@ -4749,9 +4789,7 @@ CONFIG_PCF50633_ADC=m
CONFIG_PCF50633_GPIO=m
CONFIG_UCB1400_CORE=m
CONFIG_MFD_RDC321X=m
-CONFIG_MFD_RTSX_PCI=m
CONFIG_MFD_RT5033=m
-CONFIG_MFD_RTSX_USB=m
CONFIG_MFD_RC5T583=y
CONFIG_MFD_SEC_CORE=y
CONFIG_MFD_SI476X_CORE=m
@@ -4803,6 +4841,7 @@ CONFIG_MFD_WM831X_SPI=y
CONFIG_MFD_WM8350=y
CONFIG_MFD_WM8350_I2C=y
CONFIG_MFD_WM8994=m
+CONFIG_RAVE_SP_CORE=m
CONFIG_REGULATOR=y
# CONFIG_REGULATOR_DEBUG is not set
CONFIG_REGULATOR_FIXED_VOLTAGE=m
@@ -4892,9 +4931,8 @@ CONFIG_REGULATOR_WM8994=m
CONFIG_CEC_CORE=m
CONFIG_RC_CORE=m
CONFIG_RC_MAP=m
+CONFIG_LIRC=y
CONFIG_RC_DECODERS=y
-CONFIG_LIRC=m
-CONFIG_IR_LIRC_CODEC=m
CONFIG_IR_NEC_DECODER=m
CONFIG_IR_RC5_DECODER=m
CONFIG_IR_RC6_DECODER=m
@@ -4950,18 +4988,14 @@ CONFIG_VIDEOBUF_GEN=m
CONFIG_VIDEOBUF_DMA_SG=m
CONFIG_VIDEOBUF_VMALLOC=m
CONFIG_VIDEOBUF_DVB=m
-CONFIG_VIDEOBUF2_CORE=m
-CONFIG_VIDEOBUF2_MEMOPS=m
-CONFIG_VIDEOBUF2_DMA_CONTIG=m
-CONFIG_VIDEOBUF2_VMALLOC=m
-CONFIG_VIDEOBUF2_DMA_SG=m
-CONFIG_VIDEOBUF2_DVB=m
CONFIG_DVB_CORE=m
+# CONFIG_DVB_MMAP is not set
CONFIG_DVB_NET=y
CONFIG_TTPCI_EEPROM=m
CONFIG_DVB_MAX_ADAPTERS=8
CONFIG_DVB_DYNAMIC_MINORS=y
# CONFIG_DVB_DEMUX_SECTION_LOSS_LOG is not set
+# CONFIG_DVB_ULE_DEBUG is not set
#
# Media drivers
@@ -5217,6 +5251,7 @@ CONFIG_DVB_DDBRIDGE=m
# CONFIG_DVB_DDBRIDGE_MSIENABLE is not set
CONFIG_DVB_SMIPCIE=m
CONFIG_DVB_NETUP_UNIDVB=m
+CONFIG_VIDEO_IPU3_CIO2=m
CONFIG_V4L_PLATFORM_DRIVERS=y
CONFIG_VIDEO_CAFE_CCIC=m
CONFIG_VIDEO_VIA_CAMERA=m
@@ -5280,6 +5315,13 @@ CONFIG_MEDIA_COMMON_OPTIONS=y
CONFIG_VIDEO_CX2341X=m
CONFIG_VIDEO_TVEEPROM=m
CONFIG_CYPRESS_FIRMWARE=m
+CONFIG_VIDEOBUF2_CORE=m
+CONFIG_VIDEOBUF2_V4L2=m
+CONFIG_VIDEOBUF2_MEMOPS=m
+CONFIG_VIDEOBUF2_DMA_CONTIG=m
+CONFIG_VIDEOBUF2_VMALLOC=m
+CONFIG_VIDEOBUF2_DMA_SG=m
+CONFIG_VIDEOBUF2_DVB=m
CONFIG_DVB_B2C2_FLEXCOP=m
CONFIG_VIDEO_SAA7146=m
CONFIG_VIDEO_SAA7146_VV=m
@@ -5404,6 +5446,7 @@ CONFIG_SOC_CAMERA_RJ54N1=m
CONFIG_SOC_CAMERA_TW9910=m
CONFIG_MEDIA_TUNER=m
CONFIG_MEDIA_TUNER_SIMPLE=m
+CONFIG_MEDIA_TUNER_TDA18250=m
CONFIG_MEDIA_TUNER_TDA8290=m
CONFIG_MEDIA_TUNER_TDA827X=m
CONFIG_MEDIA_TUNER_TDA18271=m
@@ -5616,6 +5659,7 @@ CONFIG_DRM_FBDEV_OVERALLOC=100
CONFIG_DRM_LOAD_EDID_FIRMWARE=y
CONFIG_DRM_TTM=m
CONFIG_DRM_VM=y
+CONFIG_DRM_SCHED=m
#
# I2C encoder or helper chips
@@ -5703,6 +5747,7 @@ CONFIG_HSA_AMD=m
CONFIG_DRM_HISI_HIBMC=m
# CONFIG_DRM_TINYDRM is not set
# CONFIG_DRM_LEGACY is not set
+CONFIG_DRM_PANEL_ORIENTATION_QUIRKS=y
# CONFIG_DRM_LIB_RANDOM is not set
#
@@ -6085,22 +6130,26 @@ CONFIG_SND_SOC_FSL_ESAI=m
CONFIG_SND_SOC_IMX_AUDMUX=m
CONFIG_SND_I2S_HI6210_I2S=m
# CONFIG_SND_SOC_IMG is not set
+CONFIG_SND_SOC_INTEL_SST_TOPLEVEL=y
CONFIG_SND_SST_IPC=m
+CONFIG_SND_SST_IPC_PCI=m
CONFIG_SND_SST_IPC_ACPI=m
-CONFIG_SND_SOC_INTEL_COMMON=m
+CONFIG_SND_SOC_INTEL_SST_ACPI=m
CONFIG_SND_SOC_INTEL_SST=m
CONFIG_SND_SOC_INTEL_SST_FIRMWARE=m
-CONFIG_SND_SOC_INTEL_SST_ACPI=m
-CONFIG_SND_SOC_ACPI_INTEL_MATCH=m
-CONFIG_SND_SOC_INTEL_SST_TOPLEVEL=m
CONFIG_SND_SOC_INTEL_HASWELL=m
CONFIG_SND_SOC_INTEL_BAYTRAIL=m
+CONFIG_SND_SST_ATOM_HIFI2_PLATFORM_PCI=m
CONFIG_SND_SST_ATOM_HIFI2_PLATFORM=m
+CONFIG_SND_SOC_INTEL_SKYLAKE_SSP_CLK=m
CONFIG_SND_SOC_INTEL_SKYLAKE=m
-CONFIG_SND_SOC_INTEL_MACH=m
+CONFIG_SND_SOC_ACPI_INTEL_MATCH=m
+CONFIG_SND_SOC_INTEL_MACH=y
CONFIG_SND_SOC_INTEL_HASWELL_MACH=m
CONFIG_SND_SOC_INTEL_BDW_RT5677_MACH=m
CONFIG_SND_SOC_INTEL_BROADWELL_MACH=m
+CONFIG_SND_SOC_INTEL_BYT_MAX98090_MACH=m
+CONFIG_SND_SOC_INTEL_BYT_RT5640_MACH=m
CONFIG_SND_SOC_INTEL_BYTCR_RT5640_MACH=m
CONFIG_SND_SOC_INTEL_BYTCR_RT5651_MACH=m
CONFIG_SND_SOC_INTEL_CHT_BSW_RT5672_MACH=m
@@ -6179,6 +6228,7 @@ CONFIG_SND_SOC_MAX98090=m
CONFIG_SND_SOC_MAX98357A=m
CONFIG_SND_SOC_MAX98504=m
CONFIG_SND_SOC_MAX98927=m
+CONFIG_SND_SOC_MAX98373=m
CONFIG_SND_SOC_MAX9860=m
CONFIG_SND_SOC_MSM8916_WCD_ANALOG=m
CONFIG_SND_SOC_MSM8916_WCD_DIGITAL=m
@@ -6186,6 +6236,9 @@ CONFIG_SND_SOC_PCM1681=m
CONFIG_SND_SOC_PCM179X=m
CONFIG_SND_SOC_PCM179X_I2C=m
CONFIG_SND_SOC_PCM179X_SPI=m
+CONFIG_SND_SOC_PCM186X=m
+CONFIG_SND_SOC_PCM186X_I2C=m
+CONFIG_SND_SOC_PCM186X_SPI=m
CONFIG_SND_SOC_PCM3168A=m
CONFIG_SND_SOC_PCM3168A_I2C=m
CONFIG_SND_SOC_PCM3168A_SPI=m
@@ -6226,13 +6279,18 @@ CONFIG_SND_SOC_TAS2552=m
CONFIG_SND_SOC_TAS5086=m
CONFIG_SND_SOC_TAS571X=m
CONFIG_SND_SOC_TAS5720=m
+CONFIG_SND_SOC_TAS6424=m
CONFIG_SND_SOC_TFA9879=m
CONFIG_SND_SOC_TLV320AIC23=m
CONFIG_SND_SOC_TLV320AIC23_I2C=m
CONFIG_SND_SOC_TLV320AIC23_SPI=m
CONFIG_SND_SOC_TLV320AIC31XX=m
+CONFIG_SND_SOC_TLV320AIC32X4=m
+CONFIG_SND_SOC_TLV320AIC32X4_I2C=m
+CONFIG_SND_SOC_TLV320AIC32X4_SPI=m
CONFIG_SND_SOC_TLV320AIC3X=m
CONFIG_SND_SOC_TS3A227E=m
+CONFIG_SND_SOC_TSCS42XX=m
CONFIG_SND_SOC_WM8510=m
CONFIG_SND_SOC_WM8523=m
CONFIG_SND_SOC_WM8524=m
@@ -6314,6 +6372,7 @@ CONFIG_HID_WALTOP=m
CONFIG_HID_GYRATION=m
CONFIG_HID_ICADE=m
CONFIG_HID_ITE=m
+CONFIG_HID_JABRA=m
CONFIG_HID_TWINHAN=m
CONFIG_HID_KENSINGTON=m
CONFIG_HID_LCPOWER=m
@@ -6426,6 +6485,7 @@ CONFIG_USB_WUSB_CBAF=m
#
CONFIG_USB_C67X00_HCD=m
CONFIG_USB_XHCI_HCD=y
+# CONFIG_USB_XHCI_DBGCAP is not set
CONFIG_USB_XHCI_PCI=y
CONFIG_USB_XHCI_PLATFORM=m
CONFIG_USB_EHCI_HCD=y
@@ -6571,18 +6631,6 @@ CONFIG_USB_SERIAL_IPW=m
CONFIG_USB_SERIAL_IUU=m
CONFIG_USB_SERIAL_KEYSPAN_PDA=m
CONFIG_USB_SERIAL_KEYSPAN=m
-CONFIG_USB_SERIAL_KEYSPAN_MPR=y
-CONFIG_USB_SERIAL_KEYSPAN_USA28=y
-CONFIG_USB_SERIAL_KEYSPAN_USA28X=y
-CONFIG_USB_SERIAL_KEYSPAN_USA28XA=y
-CONFIG_USB_SERIAL_KEYSPAN_USA28XB=y
-CONFIG_USB_SERIAL_KEYSPAN_USA19=y
-CONFIG_USB_SERIAL_KEYSPAN_USA18X=y
-CONFIG_USB_SERIAL_KEYSPAN_USA19W=y
-CONFIG_USB_SERIAL_KEYSPAN_USA19QW=y
-CONFIG_USB_SERIAL_KEYSPAN_USA19QI=y
-CONFIG_USB_SERIAL_KEYSPAN_USA49W=y
-CONFIG_USB_SERIAL_KEYSPAN_USA49WLC=y
CONFIG_USB_SERIAL_KLSI=m
CONFIG_USB_SERIAL_KOBIL_SCT=m
CONFIG_USB_SERIAL_MCT_U232=m
@@ -6790,6 +6838,7 @@ CONFIG_MMC_SDHCI_PCI=m
CONFIG_MMC_RICOH_MMC=y
CONFIG_MMC_SDHCI_ACPI=m
CONFIG_MMC_SDHCI_PLTFM=m
+CONFIG_MMC_SDHCI_F_SDH30=m
CONFIG_MMC_WBSD=m
CONFIG_MMC_TIFM_SD=m
CONFIG_MMC_SPI=m
@@ -6801,6 +6850,7 @@ CONFIG_MMC_USHC=m
CONFIG_MMC_USDHI6ROL0=m
CONFIG_MMC_REALTEK_PCI=m
CONFIG_MMC_REALTEK_USB=m
+CONFIG_MMC_CQHCI=m
CONFIG_MMC_TOSHIBA_PCI=m
CONFIG_MMC_MTK=m
CONFIG_MMC_SDHCI_XENON=m
@@ -6848,7 +6898,6 @@ CONFIG_LEDS_LP5523=m
CONFIG_LEDS_LP5562=m
CONFIG_LEDS_LP8501=m
CONFIG_LEDS_LP8788=m
-CONFIG_LEDS_LP8860=m
CONFIG_LEDS_CLEVO_MAIL=m
CONFIG_LEDS_PCA955X=m
# CONFIG_LEDS_PCA955X_GPIO is not set
@@ -6900,6 +6949,7 @@ CONFIG_LEDS_TRIGGER_DEFAULT_ON=m
CONFIG_LEDS_TRIGGER_TRANSIENT=m
CONFIG_LEDS_TRIGGER_CAMERA=m
CONFIG_LEDS_TRIGGER_PANIC=y
+CONFIG_LEDS_TRIGGER_NETDEV=m
# CONFIG_ACCESSIBILITY is not set
CONFIG_INFINIBAND=m
CONFIG_INFINIBAND_USER_MAD=m
@@ -7087,6 +7137,7 @@ CONFIG_RTC_DRV_WM831X=m
CONFIG_RTC_DRV_WM8350=m
CONFIG_RTC_DRV_PCF50633=m
CONFIG_RTC_DRV_AB3100=m
+CONFIG_RTC_DRV_CROS_EC=m
#
# on-CPU RTC drivers
@@ -7170,11 +7221,9 @@ CONFIG_VFIO_MDEV=m
CONFIG_VFIO_MDEV_DEVICE=m
CONFIG_IRQ_BYPASS_MANAGER=m
CONFIG_VIRT_DRIVERS=y
+CONFIG_VBOXGUEST=m
CONFIG_VIRTIO=y
-
-#
-# Virtio drivers
-#
+CONFIG_VIRTIO_MENU=y
CONFIG_VIRTIO_PCI=y
CONFIG_VIRTIO_PCI_LEGACY=y
CONFIG_VIRTIO_BALLOON=y
@@ -7278,6 +7327,17 @@ CONFIG_ALI_FIR=m
CONFIG_VLSI_FIR=m
CONFIG_VIA_FIR=m
CONFIG_MCS_FIR=m
+CONFIG_IPX=m
+# CONFIG_IPX_INTERN is not set
+CONFIG_NCP_FS=m
+CONFIG_NCPFS_PACKET_SIGNING=y
+CONFIG_NCPFS_IOCTL_LOCKING=y
+CONFIG_NCPFS_STRONG=y
+CONFIG_NCPFS_NFS_NS=y
+CONFIG_NCPFS_OS2_NS=y
+# CONFIG_NCPFS_SMALLDOS is not set
+CONFIG_NCPFS_NLS=y
+CONFIG_NCPFS_EXTRAS=y
CONFIG_PRISM2_USB=m
CONFIG_COMEDI=m
# CONFIG_COMEDI_DEBUG is not set
@@ -7428,8 +7488,6 @@ CONFIG_R8712U=m
CONFIG_R8188EU=m
CONFIG_88EU_AP_MODE=y
CONFIG_R8822BE=m
-CONFIG_RTLHALMAC_ST=m
-CONFIG_RTLPHYDM_ST=m
CONFIG_RTLWIFI_DEBUG_ST=y
CONFIG_RTS5208=m
CONFIG_VT6655=m
@@ -7536,8 +7594,6 @@ CONFIG_STAGING_MEDIA=y
# CONFIG_INTEL_ATOMISP is not set
CONFIG_I2C_BCM2048=m
CONFIG_DVB_CXD2099=m
-CONFIG_LIRC_STAGING=y
-CONFIG_LIRC_ZILOG=m
#
# Android
@@ -7557,7 +7613,6 @@ CONFIG_DGNC=m
CONFIG_GS_FPGABOOT=m
CONFIG_CRYPTO_SKEIN=y
CONFIG_UNISYSSPAR=y
-CONFIG_UNISYS_VISORBUS=m
CONFIG_UNISYS_VISORNIC=m
CONFIG_UNISYS_VISORINPUT=m
CONFIG_UNISYS_VISORHBA=m
@@ -7583,7 +7638,6 @@ CONFIG_FB_TFT_SH1106=m
CONFIG_FB_TFT_SSD1289=m
CONFIG_FB_TFT_SSD1305=m
CONFIG_FB_TFT_SSD1306=m
-CONFIG_FB_TFT_SSD1325=m
CONFIG_FB_TFT_SSD1331=m
CONFIG_FB_TFT_SSD1351=m
CONFIG_FB_TFT_ST7735R=m
@@ -7601,14 +7655,13 @@ CONFIG_WILC1000_SDIO=m
CONFIG_WILC1000_SPI=m
# CONFIG_WILC1000_HW_OOB_INTR is not set
CONFIG_MOST=m
-CONFIG_MOSTCORE=m
-CONFIG_AIM_CDEV=m
-CONFIG_AIM_NETWORK=m
-CONFIG_AIM_SOUND=m
-CONFIG_AIM_V4L2=m
-CONFIG_HDM_DIM2=m
-CONFIG_HDM_I2C=m
-CONFIG_HDM_USB=m
+CONFIG_MOST_CDEV=m
+CONFIG_MOST_NET=m
+CONFIG_MOST_SOUND=m
+CONFIG_MOST_VIDEO=m
+CONFIG_MOST_DIM2=m
+CONFIG_MOST_I2C=m
+CONFIG_MOST_USB=m
CONFIG_KS7010=m
# CONFIG_GREYBUS is not set
@@ -7620,12 +7673,13 @@ CONFIG_DRM_VBOXVIDEO=m
# CONFIG_PI433 is not set
CONFIG_X86_PLATFORM_DEVICES=y
CONFIG_ACER_WMI=m
+CONFIG_ACER_WIRELESS=m
CONFIG_ACERHDF=m
CONFIG_ALIENWARE_WMI=m
CONFIG_ASUS_LAPTOP=m
CONFIG_DELL_SMBIOS=m
-CONFIG_DELL_SMBIOS_WMI=m
-CONFIG_DELL_SMBIOS_SMM=m
+CONFIG_DELL_SMBIOS_WMI=y
+CONFIG_DELL_SMBIOS_SMM=y
CONFIG_DELL_LAPTOP=m
CONFIG_DELL_WMI=m
CONFIG_DELL_WMI_DESCRIPTOR=m
@@ -7636,6 +7690,7 @@ CONFIG_DELL_RBTN=m
CONFIG_FUJITSU_LAPTOP=m
CONFIG_FUJITSU_TABLET=m
CONFIG_AMILO_RFKILL=m
+CONFIG_GPD_POCKET_FAN=m
CONFIG_HP_ACCEL=m
CONFIG_HP_WIRELESS=m
CONFIG_HP_WMI=m
@@ -7693,18 +7748,19 @@ CONFIG_SURFACE_3_BUTTON=m
CONFIG_INTEL_PUNIT_IPC=m
CONFIG_INTEL_TELEMETRY=m
# CONFIG_MLX_PLATFORM is not set
-CONFIG_MLX_CPLD_PLATFORM=m
# CONFIG_INTEL_TURBO_MAX_3 is not set
# CONFIG_SILEAD_DMI is not set
+CONFIG_INTEL_CHTDC_TI_PWRBTN=m
CONFIG_PMC_ATOM=y
CONFIG_CHROME_PLATFORMS=y
CONFIG_CHROMEOS_LAPTOP=m
CONFIG_CHROMEOS_PSTORE=m
-CONFIG_CROS_EC_CHARDEV=m
+CONFIG_CROS_EC_CTL=m
CONFIG_CROS_EC_LPC=m
# CONFIG_CROS_EC_LPC_MEC is not set
CONFIG_CROS_EC_PROTO=y
CONFIG_CROS_KBD_LED_BACKLIGHT=m
+# CONFIG_MELLANOX_PLATFORM is not set
CONFIG_CLKDEV_LOOKUP=y
CONFIG_HAVE_CLK_PREPARE=y
CONFIG_COMMON_CLK=y
@@ -7768,6 +7824,7 @@ CONFIG_RPMSG=m
CONFIG_RPMSG_QCOM_GLINK_NATIVE=m
CONFIG_RPMSG_QCOM_GLINK_RPM=m
CONFIG_RPMSG_VIRTIO=m
+# CONFIG_SOUNDWIRE is not set
#
# SOC (System On Chip) specific Drivers
@@ -7790,6 +7847,11 @@ CONFIG_RPMSG_VIRTIO=m
#
# CONFIG_SUNXI_SRAM is not set
CONFIG_SOC_TI=y
+
+#
+# Xilinx SoC drivers
+#
+CONFIG_XILINX_VCU=m
CONFIG_PM_DEVFREQ=y
#
@@ -7830,6 +7892,7 @@ CONFIG_MEMORY=y
CONFIG_IIO=m
CONFIG_IIO_BUFFER=y
CONFIG_IIO_BUFFER_CB=m
+CONFIG_IIO_BUFFER_HW_CONSUMER=m
CONFIG_IIO_KFIFO_BUF=m
CONFIG_IIO_TRIGGERED_BUFFER=m
CONFIG_IIO_CONFIGFS=m
@@ -8107,6 +8170,9 @@ CONFIG_OPT3001=m
CONFIG_PA12203001=m
CONFIG_SI1145=m
CONFIG_STK3310=m
+CONFIG_ST_UVIS25=m
+CONFIG_ST_UVIS25_I2C=m
+CONFIG_ST_UVIS25_SPI=m
CONFIG_TCS3414=m
CONFIG_TCS3472=m
CONFIG_SENSORS_TSL2563=m
@@ -8116,6 +8182,7 @@ CONFIG_US5182D=m
CONFIG_VCNL4000=m
CONFIG_VEML6070=m
CONFIG_VL6180=m
+CONFIG_ZOPT2201=m
#
# Magnetometer sensors
@@ -8344,16 +8411,18 @@ CONFIG_INTEL_TH_MSU=m
CONFIG_INTEL_TH_PTI=m
# CONFIG_INTEL_TH_DEBUG is not set
CONFIG_FPGA=m
-CONFIG_FPGA_MGR_ALTERA_CVP=m
+CONFIG_ALTERA_PR_IP_CORE=m
CONFIG_FPGA_MGR_ALTERA_PS_SPI=m
+CONFIG_FPGA_MGR_ALTERA_CVP=m
CONFIG_FPGA_MGR_XILINX_SPI=m
-CONFIG_ALTERA_PR_IP_CORE=m
-
-#
-# FSI support
-#
+CONFIG_FPGA_BRIDGE=m
+CONFIG_XILINX_PR_DECOUPLER=m
+CONFIG_FPGA_REGION=m
# CONFIG_FSI is not set
CONFIG_PM_OPP=y
+CONFIG_UNISYS_VISORBUS=m
+# CONFIG_SIOX is not set
+# CONFIG_SLIMBUS is not set
#
# Firmware Drivers
@@ -8676,16 +8745,8 @@ CONFIG_CIFS_DEBUG=y
# CONFIG_CIFS_DEBUG_DUMP_KEYS is not set
CONFIG_CIFS_DFS_UPCALL=y
CONFIG_CIFS_SMB311=y
+# CONFIG_CIFS_SMB_DIRECT is not set
CONFIG_CIFS_FSCACHE=y
-CONFIG_NCP_FS=m
-CONFIG_NCPFS_PACKET_SIGNING=y
-CONFIG_NCPFS_IOCTL_LOCKING=y
-CONFIG_NCPFS_STRONG=y
-CONFIG_NCPFS_NFS_NS=y
-CONFIG_NCPFS_OS2_NS=y
-# CONFIG_NCPFS_SMALLDOS is not set
-CONFIG_NCPFS_NLS=y
-CONFIG_NCPFS_EXTRAS=y
CONFIG_CODA_FS=m
CONFIG_AFS_FS=m
# CONFIG_AFS_DEBUG is not set
@@ -8880,6 +8941,7 @@ CONFIG_NOTIFIER_ERROR_INJECTION=m
CONFIG_PM_NOTIFIER_ERROR_INJECT=m
CONFIG_NETDEV_NOTIFIER_ERROR_INJECT=m
# CONFIG_FAULT_INJECTION is not set
+CONFIG_FUNCTION_ERROR_INJECTION=y
# CONFIG_LATENCYTOP is not set
CONFIG_USER_STACKTRACE_SUPPORT=y
CONFIG_NOP_TRACER=y
@@ -8921,6 +8983,7 @@ CONFIG_PROBE_EVENTS=y
CONFIG_DYNAMIC_FTRACE=y
CONFIG_DYNAMIC_FTRACE_WITH_REGS=y
CONFIG_FUNCTION_PROFILER=y
+# CONFIG_BPF_KPROBE_OVERRIDE is not set
CONFIG_FTRACE_MCOUNT_RECORD=y
# CONFIG_FTRACE_STARTUP_TEST is not set
CONFIG_MMIOTRACE=y
@@ -8933,10 +8996,7 @@ CONFIG_MMIOTRACE=y
CONFIG_TRACING_EVENTS_GPIO=y
# CONFIG_PROVIDE_OHCI1394_DMA_INIT is not set
# CONFIG_DMA_API_DEBUG is not set
-
-#
-# Runtime Testing
-#
+CONFIG_RUNTIME_TESTING_MENU=y
# CONFIG_LKDTM is not set
# CONFIG_TEST_LIST_SORT is not set
# CONFIG_TEST_SORT is not set
@@ -8959,7 +9019,7 @@ CONFIG_TEST_PARMAN=m
CONFIG_TEST_LKM=m
CONFIG_TEST_USER_COPY=m
CONFIG_TEST_BPF=m
-CONFIG_TEST_FIND_BIT=m
+CONFIG_FIND_BIT_BENCHMARK=m
CONFIG_TEST_FIRMWARE=m
# CONFIG_TEST_SYSCTL is not set
CONFIG_TEST_UDELAY=m
@@ -8996,7 +9056,6 @@ CONFIG_EARLY_PRINTK_EFI=y
CONFIG_DOUBLEFAULT=y
# CONFIG_DEBUG_TLBFLUSH is not set
# CONFIG_IOMMU_DEBUG is not set
-# CONFIG_IOMMU_STRESS is not set
CONFIG_HAVE_MMIOTRACE_SUPPORT=y
# CONFIG_X86_DECODER_SELFTEST is not set
CONFIG_IO_DELAY_TYPE_0X80=0
@@ -9042,6 +9101,7 @@ CONFIG_INTEL_TXT=y
CONFIG_LSM_MMAP_MIN_ADDR=0
CONFIG_HAVE_HARDENED_USERCOPY_ALLOCATOR=y
CONFIG_HARDENED_USERCOPY=y
+CONFIG_HARDENED_USERCOPY_FALLBACK=y
# CONFIG_HARDENED_USERCOPY_PAGESPAN is not set
CONFIG_FORTIFY_SOURCE=y
# CONFIG_STATIC_USERMODEHELPER is not set
@@ -9288,6 +9348,7 @@ CONFIG_CRYPTO_DEV_CCP=y
CONFIG_CRYPTO_DEV_CCP_DD=m
CONFIG_CRYPTO_DEV_SP_CCP=y
CONFIG_CRYPTO_DEV_CCP_CRYPTO=m
+CONFIG_CRYPTO_DEV_SP_PSP=y
CONFIG_CRYPTO_DEV_QAT=m
CONFIG_CRYPTO_DEV_QAT_DH895xCC=m
CONFIG_CRYPTO_DEV_QAT_C3XXX=m
@@ -9298,6 +9359,7 @@ CONFIG_CRYPTO_DEV_QAT_C62XVF=m
CONFIG_CRYPTO_DEV_NITROX=m
CONFIG_CRYPTO_DEV_NITROX_CNN55XX=m
CONFIG_CRYPTO_DEV_CHELSIO=m
+# CONFIG_CHELSIO_IPSEC_INLINE is not set
CONFIG_CRYPTO_DEV_VIRTIO=m
CONFIG_ASYMMETRIC_KEY_TYPE=y
CONFIG_ASYMMETRIC_PUBLIC_KEY_SUBTYPE=y
@@ -9331,6 +9393,7 @@ CONFIG_VIRTUALIZATION=y
CONFIG_KVM=m
CONFIG_KVM_INTEL=m
CONFIG_KVM_AMD=m
+CONFIG_KVM_AMD_SEV=y
# CONFIG_KVM_MMU_AUDIT is not set
CONFIG_VHOST_NET=m
CONFIG_VHOST_SCSI=m
@@ -9415,7 +9478,8 @@ CONFIG_ASSOCIATIVE_ARRAY=y
CONFIG_HAS_IOMEM=y
CONFIG_HAS_IOPORT_MAP=y
CONFIG_HAS_DMA=y
-# CONFIG_DMA_NOOP_OPS is not set
+CONFIG_SGL_ALLOC=y
+# CONFIG_DMA_DIRECT_OPS is not set
CONFIG_DMA_VIRT_OPS=y
CONFIG_CHECK_SIGNATURE=y
CONFIG_CPU_RMAP=y
diff --git a/gnu/packages/backup.scm b/gnu/packages/backup.scm
index 2fafa2c4a6..a3782e1296 100644
--- a/gnu/packages/backup.scm
+++ b/gnu/packages/backup.scm
@@ -453,13 +453,13 @@ detection, and lossless compression.")
(define-public borg
(package
(name "borg")
- (version "1.1.4")
+ (version "1.1.5")
(source
(origin
(method url-fetch)
(uri (pypi-uri "borgbackup" version))
(sha256
- (base32 "1cicqwh85wfp65y00qaq6q4i4jcyy9b66qz5gpl80qc880wab912"))
+ (base32 "0gbdnq7ks46diz6y2pf6wpwkb9hy6hp3immi7jg3h7w72b3ycmj3"))
(modules '((guix build utils)))
(snippet
'(begin
@@ -491,6 +491,17 @@ detection, and lossless compression.")
;; HOME=/homeless-shelter.
(setenv "HOME" "/tmp")
#t)))
+ ;; Later versions of msgpack were disallowed to some warnings and lack
+ ;; of support for Python versions that we don't support anyways. So,
+ ;; it's okay to to keep using more recents versions of msgpack for
+ ;; Borg. Also see the note about msgpack in the list of inputs.
+ ;; https://github.com/borgbackup/borg/issues/3517#issuecomment-357221978
+ (add-before 'build 'adjust-msgpack-dependency
+ (lambda _
+ (substitute* "setup.py"
+ (("msgpack-python>=0.4.6,<0.5.0")
+ "msgpack-python>=0.4.6"))
+ #t))
;; The tests need to be run after Borg is installed.
(delete 'check)
(add-after 'install 'check
diff --git a/gnu/packages/bioconductor.scm b/gnu/packages/bioconductor.scm
index f557dce8e5..09581d9fde 100644
--- a/gnu/packages/bioconductor.scm
+++ b/gnu/packages/bioconductor.scm
@@ -1,5 +1,6 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2018 Ricardo Wurmus <rekado@elephly.net>
+;;; Copyright © 2018 Roel Janssen <roel@gnu.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -21,7 +22,9 @@
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix build-system r)
- #:use-module (gnu packages))
+ #:use-module (gnu packages)
+ #:use-module (gnu packages statistics)
+ #:use-module (gnu packages bioinformatics))
(define-public r-hpar
(package
@@ -40,3 +43,30 @@
(description "This package provides a simple interface to and data from
the Human Protein Atlas project.")
(license license:artistic2.0)))
+
+(define-public r-regioner
+ (package
+ (name "r-regioner")
+ (version "1.10.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (bioconductor-uri "regioneR" version))
+ (sha256
+ (base32
+ "1vprp3l929hwzmvgskbhawfgnrymwc9n2rxd16rgagnv1dxnjxfp"))))
+ (properties `((upstream-name . "regioneR")))
+ (build-system r-build-system)
+ (propagated-inputs
+ `(("r-memoise" ,r-memoise)
+ ("r-genomicranges" ,r-genomicranges)
+ ("r-bsgenome" ,r-bsgenome)
+ ("r-rtracklayer" ,r-rtracklayer)
+ ("r-genomeinfodb" ,r-genomeinfodb)
+ ("r-iranges" ,r-iranges)))
+ (home-page "https://bioconductor.org/packages/regioneR/")
+ (synopsis "Association analysis of genomic regions")
+ (description "This package offers a statistical framework based on
+customizable permutation tests to assess the association between genomic
+region sets and other genomic features.")
+ (license license:artistic2.0)))
diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm
index 0fe0624aff..0e9e6b13fd 100644
--- a/gnu/packages/bioinformatics.scm
+++ b/gnu/packages/bioinformatics.scm
@@ -2030,10 +2030,57 @@ normalized and standardized files, multiple visualizations can be created to
identify enrichments with functional annotations of the genome.")
(license license:gpl3+)))
+(define-public delly
+ (package
+ (name "delly")
+ (version "0.7.7")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append
+ "https://github.com/tobiasrausch/delly/archive/v"
+ version ".tar.gz"))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32 "0dkwy3pyxmi6dhh1lpsr3698ri5sslw9qz67hfys0bz8dgrqwabj"))
+ (patches (search-patches "delly-use-system-libraries.patch"))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:tests? #f ; There are no tests to run.
+ #:make-flags '("PARALLEL=1") ; Allow parallel execution at run-time.
+ #:phases
+ (modify-phases %standard-phases
+ (delete 'configure) ; There is no configure phase.
+ (replace 'install
+ (lambda _
+ (let ((bin (string-append (assoc-ref %outputs "out") "/bin"))
+ (templates (string-append (assoc-ref %outputs "out")
+ "/share/delly/templates")))
+ (mkdir-p bin)
+ (mkdir-p templates)
+ (copy-recursively "excludeTemplates" templates)
+ (install-file "src/cov" bin)
+ (install-file "src/delly" bin)
+ (install-file "src/dpe" bin)))))))
+ (native-inputs
+ `(("python" ,python-2)))
+ (inputs
+ `(("boost" ,boost)
+ ("htslib" ,htslib)
+ ("zlib" ,zlib)
+ ("bzip2" ,bzip2)))
+ (home-page "https://github.com/tobiasrausch/delly")
+ (synopsis "Integrated structural variant prediction method")
+ (description "Delly is an integrated structural variant prediction method
+that can discover and genotype deletions, tandem duplications, inversions and
+translocations at single-nucleotide resolution in short-read massively parallel
+sequencing data. It uses paired-ends and split-reads to sensitively and
+accurately delineate genomic rearrangements throughout the genome.")
+ (license license:gpl3+)))
+
(define-public diamond
(package
(name "diamond")
- (version "0.9.18")
+ (version "0.9.19")
(source (origin
(method url-fetch)
(uri (string-append
@@ -2042,7 +2089,7 @@ identify enrichments with functional annotations of the genome.")
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
- "1vi2nddmy7knrv8gsprwqp6a40k63n3f2dfvx22ipjhrg9xir96f"))))
+ "0c4y8l90vdxmglb0w37y0413v11qzcwg8sdmy9k0c0gr3bsq7dzs"))))
(build-system cmake-build-system)
(arguments
'(#:tests? #f ; no "check" target
@@ -3623,7 +3670,7 @@ data.")
(define-public kaiju
(package
(name "kaiju")
- (version "1.5.0")
+ (version "1.6.2")
(source (origin
(method url-fetch)
(uri (string-append
@@ -3632,7 +3679,7 @@ data.")
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
- "0afbfalfw9y39bkwnqjrh9bghs118ws1pzj5h8l0nblgn3mbjdks"))))
+ "1kdn4rxs0kr9ibmrgrfcci71aa6j6gr71dbc8pff7731rpab6kj7"))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f ; There are no tests.
@@ -3650,7 +3697,8 @@ data.")
(copy-recursively "util" bin))
#t)))))
(inputs
- `(("perl" ,perl)))
+ `(("perl" ,perl)
+ ("zlib" ,zlib)))
(home-page "http://kaiju.binf.ku.dk/")
(synopsis "Fast and sensitive taxonomic classification for metagenomics")
(description "Kaiju is a program for sensitive taxonomic classification
@@ -3688,7 +3736,7 @@ sequencing tag position and orientation.")
(define-public mafft
(package
(name "mafft")
- (version "7.313")
+ (version "7.394")
(source (origin
(method url-fetch)
(uri (string-append
@@ -3697,7 +3745,7 @@ sequencing tag position and orientation.")
(file-name (string-append name "-" version ".tgz"))
(sha256
(base32
- "0r83qmg2if8mi6jyx3xdf8ar2gcxl7r9nmj98jr7lxym97v61a2k"))))
+ "0bacjkxfg944p5khhyh5rd4y7wkjc9qk4v2jjj442sqlq0f8ar7b"))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f ; no automated tests, though there are tests in the read me
@@ -3774,7 +3822,7 @@ sequences).")
(define-public mash
(package
(name "mash")
- (version "1.1.1")
+ (version "2.0")
(source (origin
(method url-fetch)
(uri (string-append
@@ -3783,7 +3831,7 @@ sequences).")
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
- "08znbvqq5xknfhmpp3wcj574zvi4p7i8zifi67c9qw9a6ikp42fj"))
+ "00fx14vpmgsijwxd1xql3if934l82v8ckqgjjyyhnr36qb9qrskv"))
(modules '((guix build utils)))
(snippet
;; Delete bundled kseq.
@@ -3801,7 +3849,9 @@ sequences).")
(modify-phases %standard-phases
(add-after 'unpack 'fix-includes
(lambda _
- (substitute* '("src/mash/Sketch.cpp" "src/mash/CommandFind.cpp")
+ (substitute* '("src/mash/Sketch.cpp"
+ "src/mash/CommandFind.cpp"
+ "src/mash/CommandScreen.cpp")
(("^#include \"kseq\\.h\"")
"#include \"htslib/kseq.h\""))
#t))
@@ -6062,14 +6112,14 @@ data types as well.")
(define-public r-annotate
(package
(name "r-annotate")
- (version "1.56.1")
+ (version "1.56.2")
(source
(origin
(method url-fetch)
(uri (bioconductor-uri "annotate" version))
(sha256
(base32
- "14c5xd9kasvcwg5gbjys2c1vizxhlqlzxakqc2kml0kw97hmx0rq"))))
+ "0ybg9k1s289h15nj1kp9821i1rsk1gkn8i8blplmk7gsgpbw1f42"))))
(build-system r-build-system)
(propagated-inputs
`(("r-annotationdbi" ,r-annotationdbi)
@@ -6871,8 +6921,7 @@ also known as views, in a controlled vocabulary.")
("r-rmarkdown" ,r-rmarkdown)
("r-tinytex" ,r-tinytex)
("r-yaml" ,r-yaml)
- ("r-xfun" ,r-xfun)
- ("ghc-pandoc" ,ghc-pandoc)))
+ ("r-xfun" ,r-xfun)))
(home-page "https://github.com/rstudio/bookdown")
(synopsis "Authoring books and technical documents with R markdown")
(description "This package provides output formats and utilities for
@@ -8511,14 +8560,14 @@ library implementing most of the pipeline's features.")
(define-public r-mutationalpatterns
(package
(name "r-mutationalpatterns")
- (version "1.4.2")
+ (version "1.4.3")
(source
(origin
(method url-fetch)
(uri (bioconductor-uri "MutationalPatterns" version))
(sha256
(base32
- "08ay9h5cqsi8ypb6r0g4rfa5l1g06jgfzl64wmhgz134yqbl7vfv"))))
+ "0ml4gsp5dfv23xqrknxh25q8q65hly1xb1215lcwyc8hj9z8f941"))))
(build-system r-build-system)
(propagated-inputs
`(("r-biocgenerics" ,r-biocgenerics)
@@ -8528,7 +8577,6 @@ library implementing most of the pipeline's features.")
("r-genomicranges" ,r-genomicranges)
("r-genomeinfodb" ,r-genomeinfodb)
("r-ggplot2" ,r-ggplot2)
- ("r-gridextra" ,r-gridextra)
("r-iranges" ,r-iranges)
("r-nmf" ,r-nmf)
("r-plyr" ,r-plyr)
@@ -10939,12 +10987,10 @@ droplet sequencing. It has been particularly tailored for Drop-seq.")
(base32
"0g38g8s3npr0gjm9fahlbhiskyfws9l5i0x1ml3rakzj7az5l9c9"))))
(arguments
- (substitute-keyword-arguments (package-arguments htslib)
- ((#:phases phases)
- `(modify-phases ,phases
- (add-after 'unpack 'bootstrap
- (lambda _
- (zero? (system* "autoreconf" "-vif"))))))))
+ `(#:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'bootstrap
+ (lambda _ (invoke "autoreconf" "-vif"))))))
(native-inputs
`(("autoconf" ,autoconf)
("automake" ,automake)
@@ -10953,34 +10999,41 @@ droplet sequencing. It has been particularly tailored for Drop-seq.")
(define-public sambamba
(package
(name "sambamba")
- (version "0.6.5")
+ (version "0.6.7-10-g223fa20")
(source
(origin
- (method url-fetch)
- (uri (string-append "https://github.com/lomereiter/sambamba/"
- "archive/v" version ".tar.gz"))
- (file-name (string-append name "-" version ".tar.gz"))
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/lomereiter/sambamba.git")
+ (commit (string-append "v" version))))
+ (file-name (string-append name "-" version "-checkout"))
(sha256
(base32
- "17076gijd65a3f07zns2gvbgahiz5lriwsa6dq353ss3jl85d8vy"))))
+ "1zb9hrxglxqh13ava9wwri30cvf85hjnbn8ccnr8l60a3k5avczn"))))
(build-system gnu-build-system)
(arguments
- `(#:tests? #f ; there is no test target
- #:make-flags
- '("D_COMPILER=ldc2"
- ;; Override "--compiler" flag only.
- "D_FLAGS=--compiler=ldc2 -IBioD -g -d"
- "sambamba-ldmd2-64")
+ `(#:tests? #f ; there is no test target
+ #:parallel-build? #f ; not supported
#:phases
(modify-phases %standard-phases
(delete 'configure)
- (add-after 'unpack 'place-biod
+ (add-after 'unpack 'fix-ldc-version
+ (lambda _
+ (substitute* "gen_ldc_version_info.py"
+ (("/usr/bin/env.*") (which "python")))
+ (substitute* "Makefile"
+ (("\\$\\(shell which ldmd2\\)") (which "ldmd2")))
+ #t))
+ (add-after 'unpack 'place-biod-and-undead
(lambda* (#:key inputs #:allow-other-keys)
(copy-recursively (assoc-ref inputs "biod") "BioD")
+ (copy-recursively (assoc-ref inputs "undead") "undeaD")
#t))
(add-after 'unpack 'unbundle-prerequisites
(lambda _
(substitute* "Makefile"
+ (("htslib/libhts.a lz4/lib/liblz4.a")
+ "-L-lhts -L-llz4")
((" htslib-static lz4-static") ""))
#t))
(replace 'install
@@ -10993,8 +11046,9 @@ droplet sequencing. It has been particularly tailored for Drop-seq.")
(native-inputs
`(("ldc" ,ldc)
("rdmd" ,rdmd)
+ ("python" ,python2-minimal)
("biod"
- ,(let ((commit "1248586b54af4bd4dfb28ebfebfc6bf012e7a587"))
+ ,(let ((commit "c778e4f2d8bacea7499283ce39f5577b232732c6"))
(origin
(method git-fetch)
(uri (git-reference
@@ -11005,7 +11059,20 @@ droplet sequencing. It has been particularly tailored for Drop-seq.")
"-checkout"))
(sha256
(base32
- "1m8hi1n7x0ri4l6s9i0x6jg4z4v94xrfdzp7mbizdipfag0m17g3")))))))
+ "1z90562hg47i63gx042wb3ak2vqjg5z7hwgn9bp2pdxfg3nxrw37")))))
+ ("undead"
+ ,(let ((commit "92803d25c88657e945511f0976a0c79d8da46e89"))
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/dlang/undeaD.git")
+ (commit commit)))
+ (file-name (string-append "undead-"
+ (string-take commit 9)
+ "-checkout"))
+ (sha256
+ (base32
+ "0vq6n81vzqvgphjw54lz2isc1j8lcxwjdbrhqz1h5gwrvw9w5138")))))))
(inputs
`(("lz4" ,lz4)
("htslib" ,htslib-for-sambamba)))
diff --git a/gnu/packages/bittorrent.scm b/gnu/packages/bittorrent.scm
index dc051e2627..c6b9d74f33 100644
--- a/gnu/packages/bittorrent.scm
+++ b/gnu/packages/bittorrent.scm
@@ -7,6 +7,7 @@
;;; Copyright © 2016 Tomáš Čech <sleep_walker@gnu.org>
;;; Copyright © 2016, 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2017 Jelle Licht <jlicht@fsfe.org>
+;;; Copyright © 2018 Fis Trivial <ybbs.daans@hotmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -53,6 +54,7 @@
#:use-module (gnu packages ncurses)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages python)
+ #:use-module (gnu packages qt)
#:use-module (gnu packages ssh)
#:use-module (gnu packages tls)
#:use-module (gnu packages xml))
@@ -391,7 +393,8 @@ and will take advantage of multiple processor cores where possible.")
(assoc-ref %build-inputs "boost")
"/lib")
"--enable-python-binding"
- "--enable-tests")
+ "--enable-tests"
+ "CXXFLAGS=-std=c++11") ; Use std::chrono instead of boost
#:make-flags (list
(string-append "LDFLAGS=-Wl,-rpath="
(assoc-ref %outputs "out") "/lib"))))
@@ -407,4 +410,45 @@ focusing on efficiency and scalability. It runs on embedded devices as well as
desktops.")
(license l:bsd-2)))
+(define-public qbittorrent
+ (package
+ (name "qbittorrent")
+ (version "4.0.4")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append
+ "https://github.com/qbittorrent/qBittorrent/archive/release-"
+ version ".tar.gz"))
+ (file-name (string-append name "-release-" version ".tar.gz"))
+ (sha256
+ (base32
+ "145r4lv7rqdhrm5znn3ndxsfdf579n46zvj7c53c422am8ir5xhp"))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:configure-flags
+ (list (string-append "--with-boost-libdir="
+ (assoc-ref %build-inputs "boost")
+ "/lib")
+ "--enable-debug"
+ "QMAKE_LRELEASE=lrelease")))
+ (native-inputs
+ `(("pkg-config" ,pkg-config)
+ ("qttools" ,qttools)))
+ (inputs
+ `(("boost" ,boost)
+ ("libtorrent-rasterbar" ,libtorrent-rasterbar)
+ ("openssl" ,openssl)
+ ("python" ,python)
+ ("qtbase" ,qtbase)
+ ("qtsvg" ,qtsvg)
+ ("zlib" ,zlib)))
+ (home-page "https://www.qbittorrent.org/")
+ (synopsis "Graphical BitTorrent client")
+ (description
+ "qBittorrent is a BitTorrent client programmed in C++/Qt that uses
+libtorrent (sometimes called libtorrent-rasterbar) by Arvid Norberg.
+It aims to be a good alternative to all other BitTorrent clients out there.
+qBittorrent is fast, stable and provides unicode support as well as many
+features.")
+ (license l:gpl2+)))
diff --git a/gnu/packages/bootloaders.scm b/gnu/packages/bootloaders.scm
index 582c71cc4a..2ea78c9bac 100644
--- a/gnu/packages/bootloaders.scm
+++ b/gnu/packages/bootloaders.scm
@@ -35,6 +35,7 @@
#:use-module (gnu packages cdrom)
#:use-module (gnu packages cross-base)
#:use-module (gnu packages disk)
+ #:use-module (gnu packages firmware)
#:use-module (gnu packages flex)
#:use-module (gnu packages fontutils)
#:use-module (gnu packages gcc)
@@ -422,7 +423,7 @@ also initializes the boards (RAM etc).")
(let* ((out (assoc-ref outputs "out"))
(libexec (string-append out "/libexec"))
(uboot-files (append
- (find-files "." ".*\\.(bin|efi|img|spl)$")
+ (find-files "." ".*\\.(bin|efi|img|spl|itb|dtb)$")
(find-files "." "^MLO$"))))
(mkdir-p libexec)
(install-file ".config" libexec)
@@ -445,6 +446,27 @@ also initializes the boards (RAM etc).")
(define-public u-boot-odroid-c2
(make-u-boot-package "odroid-c2" "aarch64-linux-gnu"))
+(define-public u-boot-pine64-plus
+ (let ((base (make-u-boot-package "pine64_plus" "aarch64-linux-gnu")))
+ (package
+ (inherit base)
+ (arguments
+ (substitute-keyword-arguments (package-arguments base)
+ ((#:phases phases)
+ `(modify-phases ,phases
+ (add-after 'unpack 'set-environment
+ (lambda* (#:key inputs #:allow-other-keys)
+ (let ((bl31 (string-append (assoc-ref inputs "firmware")
+ "/bl31.bin")))
+ (setenv "BL31" bl31)
+ ;; This is necessary while we're using the bundled dtc.
+ (setenv "PATH" (string-append (getenv "PATH") ":"
+ "scripts/dtc")))
+ #t))))))
+ (native-inputs
+ `(("firmware" ,arm-trusted-firmware-pine64-plus)
+ ,@(package-native-inputs base))))))
+
(define-public u-boot-banana-pi-m2-ultra
(make-u-boot-package "Bananapi_M2_Ultra" "arm-linux-gnueabihf"))
diff --git a/gnu/packages/bootstrap.scm b/gnu/packages/bootstrap.scm
index 27f2053c43..b754b1f922 100644
--- a/gnu/packages/bootstrap.scm
+++ b/gnu/packages/bootstrap.scm
@@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017, 2018 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2014, 2015 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2017 Efraim Flashner <efraim@flashner.co.il>
;;;
@@ -31,7 +31,6 @@
#:use-module ((guix derivations)
#:select (derivation derivation->output-path))
#:use-module ((guix utils) #:select (gnu-triplet->nix-system))
- #:use-module ((guix build utils) #:select (elf-file?))
#:use-module (guix memoization)
#:use-module (srfi srfi-1)
#:use-module (srfi srfi-26)
diff --git a/gnu/packages/build-tools.scm b/gnu/packages/build-tools.scm
index a09b3b3fb4..728758f1ea 100644
--- a/gnu/packages/build-tools.scm
+++ b/gnu/packages/build-tools.scm
@@ -2,6 +2,7 @@
;;; Copyright © 2017 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2017 Corentin Bocquillon <corentin@nybble.fr>
;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr>
+;;; Copyright © 2018 Fis Trivial <ybbs.daans@hotmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -23,6 +24,7 @@
#:use-module (guix utils)
#:use-module (guix packages)
#:use-module (guix download)
+ #:use-module (guix build-system cmake)
#:use-module (gnu packages)
#:use-module (gnu packages compression)
#:use-module (gnu packages python)
@@ -68,6 +70,28 @@ from scons. While scons focuses on being 100% correct when building, bam
makes a few sacrifices to acquire fast full and incremental build times.")
(license license:bsd-3)))
+(define-public bear
+ (package
+ (name "bear")
+ (version "2.3.11")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append
+ "https://github.com/rizsotto/Bear/archive/"
+ version ".tar.gz"))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "1m0w0wqnz983l7fpp5p9pdsqr7n3ybrzp8ywjcvn0rihsrzj65j6"))))
+ (build-system cmake-build-system)
+ (home-page "https://github.com/rizsotto/Bear")
+ (synopsis "Tool for generating a compilation database")
+ (description "A JSON compilation database is used in the Clang project to
+provide information on how a given compilation unit is processed. With this,
+it is easy to re-run the compilation with alternate programs. Bear is used to
+generate such a compilation database.")
+ (license license:gpl3+)))
+
(define-public meson
(package
(name "meson")
diff --git a/gnu/packages/ccache.scm b/gnu/packages/ccache.scm
index bcd5c4d164..af06b741a7 100644
--- a/gnu/packages/ccache.scm
+++ b/gnu/packages/ccache.scm
@@ -30,7 +30,7 @@
(define-public ccache
(package
(name "ccache")
- (version "3.4.1")
+ (version "3.4.2")
(source
(origin
(method url-fetch)
@@ -38,9 +38,9 @@
version ".tar.xz"))
(sha256
(base32
- "1pppi4jbkkj641cdynmc35jaj40jjicw7gj75ran5qs5886jcblc"))))
+ "1qpy6k9f06kpr6bxy26ncdxcszqv1skcncvczcvksgfncx1v3a0q"))))
(build-system gnu-build-system)
- (native-inputs `(("perl" ,perl) ;for test.sh
+ (native-inputs `(("perl" ,perl) ; for test.sh
("which" ,(@ (gnu packages base) which))))
(inputs `(("zlib" ,zlib)))
(arguments
diff --git a/gnu/packages/cdrom.scm b/gnu/packages/cdrom.scm
index 4d570264ef..3d35ff51f4 100644
--- a/gnu/packages/cdrom.scm
+++ b/gnu/packages/cdrom.scm
@@ -3,7 +3,7 @@
;;; Copyright © 2013, 2014 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2015 Taylan Ulrich Bayırlı/Kammer <taylanbayirli@gmail.com>
;;; Copyright © 2015 Paul van der Walt <paul@denknerd.org>
-;;; Copyright © 2015, 2016, 2017 Efraim Flashner <efraim@flashner.co.il>
+;;; Copyright © 2015, 2016, 2017, 2018 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016 Alex Kost <alezost@gmail.com>
;;; Copyright © 2016 Marius Bakke <mbakke@fastmail.com>
;;; Copyright © 2017 John Darrington <jmd@gnu.org>
@@ -468,7 +468,7 @@ from an audio CD.")
(define-public abcde
(package
(name "abcde")
- (version "2.8.1")
+ (version "2.9.1")
(home-page "https://abcde.einval.com/")
(source (origin
(method url-fetch)
@@ -476,7 +476,7 @@ from an audio CD.")
version ".tar.gz"))
(sha256
(base32
- "0f9bjs0phk23vry7gvh0cll9vl6kmc1y4fwwh762scfdvpbp3774"))
+ "1msm5snyckynbspz54p9krarn7v9izsi7qyyi2z5y4cinw36xv3h"))
(modules '((guix build utils)))
(snippet
'(substitute* "Makefile"
diff --git a/gnu/packages/check.scm b/gnu/packages/check.scm
index b279646402..ce46e34bfb 100644
--- a/gnu/packages/check.scm
+++ b/gnu/packages/check.scm
@@ -271,13 +271,13 @@ format.")
(define-public cppcheck
(package
(name "cppcheck")
- (version "1.82")
+ (version "1.83")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/danmar/cppcheck/archive/"
version ".tar.gz"))
(sha256
- (base32 "0zywpd9hbsx23aj33pk5mbr0fz1ijhqzxlnqgwjfwgg6g2k48i2j"))
+ (base32 "15ghxwmyy09cd9mi008k4jn09c441j86qyaa4dz0is7f5dv5cdkx"))
(file-name (string-append name "-" version ".tar.gz"))))
(build-system cmake-build-system)
(home-page "http://cppcheck.sourceforge.net")
@@ -2003,3 +2003,28 @@ retried.")
(define-public python2-pyhamcrest
(package-with-python2 python-pyhamcrest))
+
+(define-public unittest-cpp
+ (package
+ (name "unittest-cpp")
+ (version "2.0.0")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append
+ "https://github.com/unittest-cpp/unittest-cpp/archive/v"
+ version ".tar.gz"))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32 "1fgmna2la7z4pwwy2gd10gpgi2q1fk89npjfvkmzvhkxhyc231bl"))))
+ (arguments
+ `(#:tests? #f)) ; It's run after build automatically.
+ (build-system cmake-build-system)
+ (home-page "https://github.com/unittest-cpp/unittest-cpp")
+ (synopsis "Lightweight unit testing framework for C++")
+ (description "UnitTest++ is a lightweight unit testing framework for C++.
+It was designed to do test-driven development on a wide variety of platforms.
+Simplicity, portability, speed, and small footprint are all very important
+aspects of UnitTest++. UnitTest++ is mostly standard C++ and makes minimal use
+of advanced library and language features, which means it should be easily
+portable to just about any platform.")
+ (license license:expat)))
diff --git a/gnu/packages/ci.scm b/gnu/packages/ci.scm
index a559a4011d..733a8ca83e 100644
--- a/gnu/packages/ci.scm
+++ b/gnu/packages/ci.scm
@@ -187,8 +187,8 @@ their dependencies.")
(license l:gpl3+))))
(define-public cuirass
- (let ((commit "aa4c7784940581b5e271b9c7c4ac80b6ee1ee309")
- (revision "13"))
+ (let ((commit "238f856e48ee333ed3e19fa32ce5e1742c650c67")
+ (revision "16"))
(package
(name "cuirass")
(version (string-append "0.0.1-" revision "." (string-take commit 7)))
@@ -200,7 +200,7 @@ their dependencies.")
(file-name (string-append name "-" version))
(sha256
(base32
- "1827vgk47rcgm2x0cxzvg79ni6vazjzr8hr9pljlvbd9awzr7hxp"))))
+ "15iwdgy561gnsr224rs5z8qn7nrsh1wdlsxr8gwxyk0v4zp6yvbf"))))
(build-system gnu-build-system)
(arguments
'(#:modules ((guix build utils)
diff --git a/gnu/packages/cobol.scm b/gnu/packages/cobol.scm
index 752e028374..75c8c53bbe 100644
--- a/gnu/packages/cobol.scm
+++ b/gnu/packages/cobol.scm
@@ -59,7 +59,7 @@
("ncurses" ,ncurses)
("newcob" ,(origin
(method url-fetch)
- (uri "http://www.itl.nist.gov/div897/ctg/suites/newcob.val.Z")
+ (uri "https://www.itl.nist.gov/div897/ctg/suites/newcob.val.Z")
(sha256
(base32
"1yb1plmv4firfnbb119r2vh1hay221w1ya34nyz0qwsxppfr56hy"))))))
diff --git a/gnu/packages/compression.scm b/gnu/packages/compression.scm
index b158feac46..562a2bf8b7 100644
--- a/gnu/packages/compression.scm
+++ b/gnu/packages/compression.scm
@@ -533,6 +533,7 @@ decompressors when faced with corrupted input.")
(method url-fetch)
(uri (string-append "mirror://gnu/sharutils/sharutils-"
version ".tar.xz"))
+ (patches (search-patches "sharutils-CVE-2018-1000097.patch"))
(sha256
(base32
"16isapn8f39lnffc3dp4dan05b7x6mnc76v6q5nn8ysxvvvwy19b"))))
@@ -1611,7 +1612,7 @@ or junctions, and always follows hard links.")
(define-public zstd
(package
(name "zstd")
- (version "1.3.3")
+ (version "1.3.4")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/facebook/zstd/archive/v"
@@ -1619,7 +1620,7 @@ or junctions, and always follows hard links.")
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
- "0yr91gwi380632w9y7p6idl72svq0mq0jajvdii05pp77qalfz57"))))
+ "1a85sqk4z5b2jfp7fqkr38ibql8mdzca32lf4i3bssyjimp1pr4j"))))
(build-system gnu-build-system)
(arguments
`(#:phases
@@ -2111,14 +2112,14 @@ non-Windows systems without running the actual installer using wine.")
(define-public google-brotli
(package
(name "google-brotli")
- (version "1.0.2")
+ (version "1.0.4")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/google/brotli/archive/v"
version ".tar.gz"))
(sha256
(base32
- "08kl9gww2058p1p7j9xqmcmrabcfihhj3fq984d7fi3bchb2mky2"))))
+ "1hrpmz162k4x3xm6vmbpm443jlfr1kp536p8962y2dncy7gs6s12"))))
(build-system cmake-build-system)
(arguments
`(#:phases
diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm
index 749eed8b57..6ce0ed1424 100644
--- a/gnu/packages/cran.scm
+++ b/gnu/packages/cran.scm
@@ -1,10 +1,13 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2015, 2016, 2017, 2018 Ricardo Wurmus <rekado@elephly.net>
-;;; Copyright © 2017 Roel Janssen <roel@gnu.org>
-;;; Copyright © 2017 Tobias Geerinckx-Rice <me@tobias.gr>
+;;; Copyright © 2017, 2018 Roel Janssen <roel@gnu.org>
+;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2017 Raoul Bonnal <ilpuccio.febo@gmail.com>
;;; Copyright © 2018 Vijayalakshmi Vedantham <vijimay12@gmail.com>
;;; Copyright © 2018 Sahithi Yarlagadda <sahi@swecha.net>
+;;; Copyright © 2018 Sandeep Subramanian <sandeepsubramanian94@gmail.com>
+;;; Copyright © 2018 Charlie Ritter <chewzeirta@posteo.net>
+;;; Copyright © 2018 Konrad Hinsen <konrad.hinsen@fastmail.net>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -35,6 +38,252 @@
#:use-module (gnu packages statistics)
#:use-module (gnu packages web))
+(define-public r-tidyverse
+ (package
+ (name "r-tidyverse")
+ (version "1.2.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (cran-uri "tidyverse" version))
+ (sha256
+ (base32
+ "0yy3fkjksgcn6wkbgsb0pbnmsyqs4m01mziqafhig578nixs4rxd"))))
+ (build-system r-build-system)
+ (propagated-inputs
+ `(("r-broom" ,r-broom)
+ ("r-cli" ,r-cli)
+ ("r-crayon" ,r-crayon)
+ ("r-dbplyr" ,r-dbplyr)
+ ("r-dplyr" ,r-dplyr)
+ ("r-forcats" ,r-forcats)
+ ("r-ggplot2" ,r-ggplot2)
+ ("r-haven" ,r-haven)
+ ("r-hms" ,r-hms)
+ ("r-httr" ,r-httr)
+ ("r-jsonlite" ,r-jsonlite)
+ ("r-lubridate" ,r-lubridate)
+ ("r-magrittr" ,r-magrittr)
+ ("r-modelr" ,r-modelr)
+ ("r-purrr" ,r-purrr)
+ ("r-readr" ,r-readr)
+ ("r-readxl" ,r-readxl)
+ ("r-reprex" ,r-reprex)
+ ("r-rlang" ,r-rlang)
+ ("r-rstudioapi" ,r-rstudioapi)
+ ("r-rvest" ,r-rvest)
+ ("r-stringr" ,r-stringr)
+ ("r-tibble" ,r-tibble)
+ ("r-tidyr" ,r-tidyr)
+ ("r-xml2" ,r-xml2)))
+ (home-page "https://tidyverse.tidyverse.org")
+ (synopsis "Install and load packages from the \"Tidyverse\"")
+ (description
+ "The @code{tidyverse} is a set of packages that work in harmony because
+they share common data representations and API design. This package is
+designed to make it easy to install and load multiple tidyverse packages in a
+single step.")
+ (license license:gpl3)))
+
+(define-public r-rvest
+ (package
+ (name "r-rvest")
+ (version "0.3.2")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (cran-uri "rvest" version))
+ (sha256
+ (base32
+ "04mv99z8dixywx96kfy4215g6ib23s7qvd77hcf9pxqxzcvqhvhd"))))
+ (build-system r-build-system)
+ (propagated-inputs
+ `(("r-httr" ,r-httr)
+ ("r-magrittr" ,r-magrittr)
+ ("r-selectr" ,r-selectr)
+ ("r-xml2" ,r-xml2)))
+ (home-page "https://github.com/hadley/rvest")
+ (synopsis "Simple web scraping for R")
+ (description
+ "@code{r-rvest} helps you scrape information from web pages. It is
+designed to work with @code{magrittr} to make it easy to express common web
+scraping tasks, inspired by libraries like @code{BeautifulSoup}.")
+ (license license:gpl3)))
+
+(define-public r-selectr
+ (package
+ (name "r-selectr")
+ (version "0.3-2")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (cran-uri "selectr" version))
+ (sha256
+ (base32
+ "0kdrj64rqg4z6hg92y9r2h602a2i73r5rnlpg23ys33d5d32n8jy"))))
+ (build-system r-build-system)
+ (propagated-inputs `(("r-stringr" ,r-stringr)))
+ (home-page "https://sjp.co.nz/projects/selectr/")
+ (synopsis "Translate CSS selectors to XPath expressions")
+ (description
+ "@code{r-selectr} translates a CSS3 selector into an equivalent XPath
+expression. This allows you to use CSS selectors when working with the XML
+package as it can only evaluate XPath expressions. Also provided are
+convenience functions useful for using CSS selectors on XML nodes. This
+package is a port of the Python package @code{cssselect}.")
+ (license license:bsd-3)))
+
+(define-public r-reprex
+ (package
+ (name "r-reprex")
+ (version "0.1.2")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (cran-uri "reprex" version))
+ (sha256
+ (base32
+ "105d9vsmqfilgpw8psfb2wyiz1hvcycvh4cqhb3ab37lm3rcavvs"))))
+ (build-system r-build-system)
+ (propagated-inputs
+ `(("r-callr" ,r-callr)
+ ("r-knitr" ,r-knitr)
+ ("r-rmarkdown" ,r-rmarkdown)
+ ("r-whisker" ,r-whisker)))
+ (home-page "https://github.com/tidyverse/reprex")
+ (synopsis "Prepare reproducible R code examples for sharing")
+ (description
+ "This package provides a convenience wrapper that uses the
+@code{rmarkdown} package to render small snippets of code to target formats
+that include both code and output. The goal is to encourage the sharing of
+small, reproducible, and runnable examples on code-oriented websites or email.
+@code{reprex} also extracts clean, runnable R code from various common formats,
+such as copy/paste from an R session.")
+ (license license:expat)))
+
+(define-public r-callr
+ (package
+ (name "r-callr")
+ (version "2.0.2")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (cran-uri "callr" version))
+ (sha256
+ (base32
+ "0m51p39vfwldxv6h8x4y9w3laf8q9bldhfqhlcrlx3xhy3irb1bp"))))
+ (build-system r-build-system)
+ (propagated-inputs
+ `(("r-assertthat" ,r-assertthat)
+ ("r-crayon" ,r-crayon)
+ ("r-debugme" ,r-debugme)
+ ("r-r6" ,r-r6)
+ ("r-testthat" ,r-testthat)))
+ (home-page "https://github.com/r-lib/callr#readme")
+ (synopsis "Call R from R")
+ (description
+ "It is sometimes useful to perform a computation in a separate R process,
+without affecting the current R process at all. This packages does exactly
+that.")
+ (license license:expat)))
+
+(define-public r-readxl
+ (package
+ (name "r-readxl")
+ (version "1.0.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (cran-uri "readxl" version))
+ (sha256
+ (base32
+ "1bf7gxw9r11m4llyymplxiaa4gzgyj4bwmwad5in756pzq3jzmpv"))))
+ (build-system r-build-system)
+ (propagated-inputs
+ `(("r-cellranger" ,r-cellranger)
+ ("r-rcpp" ,r-rcpp)
+ ("r-tibble" ,r-tibble)))
+ (home-page "https://readxl.tidyverse.org")
+ (synopsis "Read Excel files")
+ (description
+ "This package lets you import Excel files into R. It supports
+@file{.xls} via the embedded @code{libxls} C library and @file{.xlsx} via
+the embedded @code{RapidXML} C++ library.")
+ ;; XXX: This package bundles a copy of 'libxsl' which is BSD-2 and
+ ;; 'rapidxml' which is Boost.
+ (license (list license:gpl3 license:bsd-2 license:boost1.0))))
+
+(define-public r-modelr
+ (package
+ (name "r-modelr")
+ (version "0.1.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (cran-uri "modelr" version))
+ (sha256
+ (base32
+ "1rqw0b583vp107zqp4h3wj51dvv4hb3wszfr1f5f48xassc53f95"))))
+ (build-system r-build-system)
+ (propagated-inputs
+ `(("r-broom" ,r-broom)
+ ("r-dplyr" ,r-dplyr)
+ ("r-lazyeval" ,r-lazyeval)
+ ("r-magrittr" ,r-magrittr)
+ ("r-purrr" ,r-purrr)
+ ("r-tibble" ,r-tibble)
+ ("r-tidyr" ,r-tidyr)))
+ (home-page "https://github.com/tidyverse/modelr")
+ (synopsis "Helper functions for modelling in pipelines")
+ (description
+ "Functions for modelling that help you seamlessly integrate modelling
+into a pipeline of data manipulation and visualisation.")
+ (license license:gpl3)))
+
+(define-public r-haven
+ (package
+ (name "r-haven")
+ (version "1.1.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (cran-uri "haven" version))
+ (sha256
+ (base32
+ "1fkcvsrnw8waqwggv0aydbvbi99x5kp9g78xfxj4w6s3xvdzcysz"))))
+ (build-system r-build-system)
+ (propagated-inputs
+ `(("r-forcats" ,r-forcats)
+ ("r-hms" ,r-hms)
+ ("r-rcpp" ,r-rcpp)
+ ("r-readr" ,r-readr)
+ ("r-tibble" ,r-tibble)))
+ (home-page "https://haven.tidyverse.org")
+ (synopsis "Import and Export 'SPSS', 'Stata' and 'SAS' Files")
+ (description
+ "This package lets you mport foreign statistical formats into R via the
+embedded @url{https://github.com/WizardMac/ReadStat,ReadStat} C library.")
+ (license license:expat)))
+
+(define-public r-amap
+ (package
+ (name "r-amap")
+ (version "0.8-14")
+ (source (origin
+ (method url-fetch)
+ (uri (cran-uri "amap" version))
+ (sha256
+ (base32
+ "1dz37z9v4zvyvqrs4xvpfv468jwvpxav60qn2w0049bw8llj6xdl"))))
+ (build-system r-build-system)
+ (inputs
+ `(("gfortran" ,gfortran)))
+ (home-page "http://mulcyber.toulouse.inra.fr/projects/amap/")
+ (synopsis "Another multidimensional analysis package")
+ (description "This package provides tools for clustering and principal
+component analysis (with robust methods, and parallelized functions).")
+ (license license:gpl2+)))
+
(define-public r-ape
(package
(name "r-ape")
@@ -131,6 +380,27 @@ inspired by Python's Literal String Interpolation (PEP-0498) and
Docstrings (PEP-0257) and Julia's Triple-Quoted String Literals.")
(license license:expat)))
+(define-public r-pastecs
+ (package
+ (name "r-pastecs")
+ (version "1.3.21")
+ (source (origin
+ (method url-fetch)
+ (uri (cran-uri "pastecs" version))
+ (sha256
+ (base32
+ "0z4dic94ar646w7zc2ggi5hgvf2qnznsani94c5pyql8zspz47lc"))))
+ (build-system r-build-system)
+ (propagated-inputs
+ `(("r-boot" ,r-boot)))
+ (home-page "http://www.sciviews.org/pastecs")
+ (synopsis "Analysis of space-time ecological series")
+ (description
+ "This package provides functions for regulation, decomposition and analysis
+of space-time series. The @code{pastecs} library is a PNEC-Art4 and IFREMER
+initiative to bring PASSTEC 2000 functionalities to R.")
+ (license license:gpl2+)))
+
(define-public r-plogr
(package
(name "r-plogr")
@@ -757,14 +1027,14 @@ or excesses over a high threshold.")
(define-public r-lmtest
(package
(name "r-lmtest")
- (version "0.9-35")
+ (version "0.9-36")
(source
(origin
(method url-fetch)
(uri (cran-uri "lmtest" version))
(sha256
(base32
- "107br1l7p52wxvazs031f4h5ryply97qywg9dzrkw4ydnvqq4j9g"))))
+ "0sym9sm1vl6bbgq01jhz1plxqmgh8hrgrn7rw0mwvsalcn6id7xy"))))
(build-system r-build-system)
(propagated-inputs
`(("r-zoo" ,r-zoo)))
@@ -779,6 +1049,26 @@ tools for inference in parametric models are provided.")
;; Either version is okay
(license (list license:gpl2 license:gpl3))))
+(define-public r-idr
+ (package
+ (name "r-idr")
+ (version "1.2")
+ (source (origin
+ (method url-fetch)
+ (uri (cran-uri "idr" version))
+ (sha256
+ (base32
+ "05nvgw1xdg670bsjjrxkgd1mrdkciccpw4krn0zcgdf2r21dzgwb"))))
+ (build-system r-build-system)
+ (home-page "https://cran.r-project.org/web/packages/idr/")
+ (synopsis "Irreproducible discovery rate")
+ (description
+ "This is a package for estimating the copula mixture model and plotting
+correspondence curves in \"Measuring reproducibility of high-throughput
+experiments\" (2011), Annals of Applied Statistics, Vol. 5, No. 3, 1752-1779,
+by Li, Brown, Huang, and Bickel")
+ (license license:gpl2+)))
+
(define-public r-inline
(package
(name "r-inline")
@@ -1329,14 +1619,14 @@ created using basic graphics.")
(define-public r-broom
(package
(name "r-broom")
- (version "0.4.3")
+ (version "0.4.4")
(source
(origin
(method url-fetch)
(uri (cran-uri "broom" version))
(sha256
(base32
- "119pc2jnxvm13cvd77c7d14p3bn68f4jm310vj3yfck40101n9if"))))
+ "081x87sy6dmfvkgwfjrl5ax51k77ciyzg9x3xql25vdi92rmwj3m"))))
(build-system r-build-system)
(propagated-inputs
`(("r-dplyr" ,r-dplyr)
@@ -1625,6 +1915,29 @@ University Press. It provides smoothing methods for nonparametric regression
and density estimation")
(license license:gpl2+)))
+(define-public r-venndiagram
+ (package
+ (name "r-venndiagram")
+ (version "1.6.20")
+ (source (origin
+ (method url-fetch)
+ (uri (cran-uri "VennDiagram" version))
+ (sha256
+ (base32
+ "1ic1jaxzw98si2p4n1fl4n3myhd7fpw0njb634cwhviwybzv6775"))))
+ (properties `((upstream-name . "VennDiagram")))
+ (build-system r-build-system)
+ (propagated-inputs
+ `(("r-futile-logger" ,r-futile-logger)))
+ (home-page "https://cran.r-project.org/web/packages/VennDiagram/")
+ (synopsis "Generate High-Resolution Venn and Euler Plots")
+ (description
+ "This package provides a set of functions to generate high-resolution
+Venn and Euler plots. It includes handling for several special cases,
+including two-case scaling, and extensive customization of plot shape and
+structure.")
+ (license license:gpl2+)))
+
(define-public r-vioplot
(package
(name "r-vioplot")
@@ -2288,16 +2601,16 @@ published results; and a routine for graphical display.")
(define-public r-network
(package
(name "r-network")
- (version "1.13.0")
+ (version "1.13.0.1")
(source
(origin
(method url-fetch)
(uri (cran-uri "network" version))
(sha256
(base32
- "11sg330xb7gcnl3f6lwhhjdabz6mk43828i2np635pqw4s4yl13s"))))
+ "1bbkbqkqf1d7irfwh08c13c2pfypir1ssvlqrln83irqns1ikdv0"))))
(build-system r-build-system)
- (home-page "http://statnet.org/")
+ (home-page "https://statnet.org/")
(synopsis "Classes for relational data")
(description
"This package provides tools to create and modify network objects. The
@@ -2319,7 +2632,7 @@ supports arbitrary vertex/edge/graph attributes.")
(properties
`((upstream-name . "statnet.common")))
(build-system r-build-system)
- (home-page "http://www.statnet.org")
+ (home-page "https://statnet.org")
(synopsis "R scripts and utilities used by the Statnet software")
(description "This package provides non-statistical utilities used by the
software developed by the Statnet Project.")
@@ -2340,7 +2653,7 @@ software developed by the Statnet Project.")
(propagated-inputs
`(("r-network" ,r-network)
("r-statnet-common" ,r-statnet-common)))
- (home-page "http://www.statnet.org")
+ (home-page "https://statnet.org")
(synopsis "Tools for social network analysis")
(description
"This package provides a range of tools for social network analysis,
@@ -3273,3 +3586,121 @@ those functions to be used with time series including specifications that may
contain lags, diffs and missing values.")
;; Any GPL version.
(license license:gpl2+)))
+
+(define-public r-catdap
+ (package
+ (name "r-catdap")
+ (version "1.3.4")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (cran-uri "catdap" version))
+ (sha256
+ (base32
+ "0i877l61f6c75pczi235rzci67w29zv1d7z5zn5p5ymndclvlpl2"))))
+ (build-system r-build-system)
+ (native-inputs
+ `(("gfortran" ,gfortran)))
+ (home-page "https://cran.r-project.org/web/packages/catdap/")
+ (synopsis "Tools for categorical data analysis")
+ (description
+ "This package provides functions for analyzing multivariate data.
+Dependencies of the distribution of the specified variable (response
+variable) to other variables (explanatory variables) are derived and
+evaluated by the @dfn{Akaike Information Criterion} (AIC).")
+ (license license:gpl2+)))
+
+(define-public r-arules
+ (package
+ (name "r-arules")
+ (version "1.6-0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (cran-uri "arules" version))
+ (sha256
+ (base32
+ "14gbq5k2zkx4wc7kkfazz313ngij89qp1xmyxfg3nq3v1s84c3sl"))))
+ (build-system r-build-system)
+ (propagated-inputs
+ `(("r-matrix" ,r-matrix)))
+ (home-page "https://github.com/mhahsler/arules")
+ (synopsis "Mining association rules and frequent itemsets")
+ (description
+ "This package provides an infrastructure for representing, manipulating
+and analyzing transaction data and patterns (frequent itemsets and association rules).
+It also provides C implementations of the association mining algorithms Apriori
+and Eclat.")
+ (license license:gpl3)))
+
+(define-public r-parsedate
+ (package
+ (name "r-parsedate")
+ (version "1.1.3")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (cran-uri "parsedate" version))
+ (sha256
+ (base32
+ "0mg7hbm3903iwvmpn51gjpaaq03rsp72hjb1g8h5g84r81iha002"))))
+ (build-system r-build-system)
+ (home-page "https://github.com/gaborcsardi/parsedate")
+ (synopsis
+ "Recognize and parse dates in various formats")
+ (description
+ "This package provides three functions for dealing with dates:
+@code{parse_iso_8601} recognizes and parses all valid ISO 8601 date and
+time formats, @code{parse_date} parses dates in unspecified formats,
+and @code{format_iso_8601} formats a date in ISO 8601 format.")
+ (license license:gpl2)))
+
+(define-public r-abc-data
+ (package
+ (name "r-abc-data")
+ (version "1.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (cran-uri "abc.data" version))
+ (sha256
+ (base32
+ "1bv1n68ah714ws58cf285n2s2v5vn7382lfjca4jxph57lyg8hmj"))))
+ (properties `((upstream-name . "abc.data")))
+ (build-system r-build-system)
+ (home-page "https://cran.r-project.org/web/packages/abc.data/")
+ (synopsis "Data for Approximate Bayesian Computation (ABC) package")
+ (description
+ "This package contains data which are used by functions of the abc
+package which implements several @dfn{Approximate Bayesian Computation} (ABC)
+algorithms for performing parameter estimation, model selection, and
+goodness-of-fit.")
+ (license license:gpl3+)))
+
+(define-public r-abc
+ (package
+ (name "r-abc")
+ (version "2.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (cran-uri "abc" version))
+ (sha256
+ (base32
+ "0ngzaaz2y2s03fhngvwipmy4kq38xrmyddaz6a6l858rxvadrlhb"))))
+ (build-system r-build-system)
+ (propagated-inputs
+ `(("r-abc-data" ,r-abc-data)
+ ("r-locfit" ,r-locfit)
+ ("r-mass" ,r-mass)
+ ("r-nnet" ,r-nnet)
+ ("r-quantreg" ,r-quantreg)))
+ (home-page "https://cran.r-project.org/web/packages/abc/")
+ (synopsis "Tools for Approximate Bayesian Computation (ABC)")
+ (description
+ "This package implements several @dfn{Approximate Bayesian
+Computation} (ABC) algorithms for performing parameter estimation, model
+selection, and goodness-of-fit. Cross-validation tools are also available for
+measuring the accuracy of ABC estimates, and to calculate the
+misclassification probabilities of different models.")
+ (license license:gpl3+)))
diff --git a/gnu/packages/crypto.scm b/gnu/packages/crypto.scm
index fd7a48c2f9..9a786def32 100644
--- a/gnu/packages/crypto.scm
+++ b/gnu/packages/crypto.scm
@@ -1,7 +1,7 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2014 David Thompson <davet@gnu.org>
;;; Copyright © 2015, 2017 Ricardo Wurmus <rekado@elephly.net>
-;;; Copyright © 2016, 2017 Leo Famulari <leo@famulari.name>
+;;; Copyright © 2016, 2017, 2018 Leo Famulari <leo@famulari.name>
;;; Copyright © 2016 Lukas Gradl <lgradl@openmailbox>
;;; Copyright © 2016, 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2016, 2017 Nils Gillmann <ng0@n0.is>
@@ -34,10 +34,10 @@
#:use-module (gnu packages boost)
#:use-module (gnu packages compression)
#:use-module (gnu packages cryptsetup)
+ #:use-module (gnu packages databases)
#:use-module (gnu packages gettext)
#:use-module (gnu packages gnupg)
#:use-module (gnu packages image)
- #:use-module (gnu packages pkg-config)
#:use-module (gnu packages libbsd)
#:use-module (gnu packages libffi)
#:use-module (gnu packages linux)
@@ -45,6 +45,8 @@
#:use-module (gnu packages password-utils)
#:use-module (gnu packages perl)
#:use-module (gnu packages perl-check)
+ #:use-module (gnu packages pkg-config)
+ #:use-module (gnu packages python)
#:use-module (gnu packages readline)
#:use-module (gnu packages search)
#:use-module (gnu packages serialization)
@@ -711,3 +713,49 @@ of magnet links and a wide range of hash sums like CRC32, MD4, MD5, SHA1,
SHA256, SHA512, SHA3, AICH, ED2K, Tiger, DC++ TTH, BitTorrent BTIH, GOST R
34.11-94, RIPEMD-160, HAS-160, EDON-R, Whirlpool and Snefru.")
(license (license:non-copyleft "file://COPYING"))))
+
+(define-public botan
+ (package
+ (name "botan")
+ (version "2.5.0")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "https://botan.randombit.net/releases/"
+ "Botan-" version ".tgz"))
+ (sha256
+ (base32
+ "06zvwknhwfrkdvq2sybqbqhnd2d4nq2cszlnsddql13z7vh1z8xq"))))
+ (build-system gnu-build-system)
+ (arguments
+ '(#:phases
+ (modify-phases %standard-phases
+ (replace 'configure
+ (lambda* (#:key inputs outputs #:allow-other-keys)
+ (let* ((out (assoc-ref %outputs "out"))
+ (lib (string-append out "/lib")))
+ (invoke "python" "./configure.py"
+ (string-append "--prefix=" out)
+ ;; Otherwise, the `botan` executable cannot find
+ ;; libbotan.
+ (string-append "--ldflags=-Wl,-rpath=" lib)
+ "--with-rst2man"
+ ;; Recommended by upstream
+ "--with-zlib" "--with-bzip2" "--with-sqlite3"))))
+ (replace 'check
+ (lambda _ (invoke "./botan-test"))))))
+ (native-inputs
+ `(("python" ,python-minimal-wrapper)
+ ("python-docutils" ,python-docutils)))
+ (inputs
+ `(("sqlite" ,sqlite)
+ ("bzip2" ,bzip2)
+ ("zlib" ,zlib)))
+ (synopsis "Cryptographic library in C++11")
+ (description "Botan is a cryptography library, written in C++11, offering
+the tools necessary to implement a range of practical systems, such as TLS/DTLS,
+PKIX certificate handling, PKCS#11 and TPM hardware support, password hashing,
+and post-quantum crypto schemes. In addition to the C++, botan has a C89 API
+specifically designed to be easy to call from other languages. A Python binding
+using ctypes is included, and several other language bindings are available.")
+ (home-page "https://botan.randombit.net")
+ (license license:bsd-2)))
diff --git a/gnu/packages/cups.scm b/gnu/packages/cups.scm
index 89c58f864b..62e308a07e 100644
--- a/gnu/packages/cups.scm
+++ b/gnu/packages/cups.scm
@@ -370,14 +370,14 @@ device-specific programs to convert and print many types of files.")
(define-public hplip
(package
(name "hplip")
- (version "3.17.11")
+ (version "3.18.3")
(source (origin
(method url-fetch)
(uri (string-append "mirror://sourceforge/hplip/hplip/" version
"/hplip-" version ".tar.gz"))
(sha256
(base32
- "0xda7x7xxjvzn1l0adlvbwcw21crq1r3r79bkf94q3m5i6abx49g"))
+ "0x5xs86v18w46rxz5whc15bl4fb7p4km6xqjpwzclp83nl7rl01y"))
(modules '((guix build utils)))
(snippet
;; Fix type mismatch.
diff --git a/gnu/packages/databases.scm b/gnu/packages/databases.scm
index 0622b5f37c..ecbb815246 100644
--- a/gnu/packages/databases.scm
+++ b/gnu/packages/databases.scm
@@ -12,7 +12,7 @@
;;; Copyright © 2016 Christopher Allan Webber <cwebber@dustycloud.org>
;;; Copyright © 2015, 2016, 2017, 2018 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016, 2017 Nils Gillmann <ng0@n0.is>
-;;; Copyright © 2016, 2017 Roel Janssen <roel@gnu.org>
+;;; Copyright © 2016, 2017, 2018 Roel Janssen <roel@gnu.org>
;;; Copyright © 2016 David Craven <david@craven.ch>
;;; Copyright © 2016 Jan Nieuwenhuizen <janneke@gnu.org>
;;; Copyright © 2016 Andy Patterson <ajpatter@uwaterloo.ca>
@@ -125,7 +125,8 @@
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32 "004fmcf1w75zhc1x3zc6kc97j4jqn2v5nhk6yb3z3cpfrhzi9j50"))
- (patches (list (search-patch "4store-fix-buildsystem.patch")))))
+ (patches (search-patches "4store-unset-preprocessor-directive.patch"
+ "4store-fix-buildsystem.patch"))))
(build-system gnu-build-system)
(native-inputs
`(("perl" ,perl)
@@ -1654,7 +1655,7 @@ database. Various higher level database abstractions.")
(define-public perl-db-file
(package
(name "perl-db-file")
- (version "1.840")
+ (version "1.841")
(source
(origin
(method url-fetch)
@@ -1664,7 +1665,7 @@ database. Various higher level database abstractions.")
".tar.gz"))
(sha256
(base32
- "1i5jz85z4hpx15lw6ix27pyvrf0ziyh4z33lii4d3wnhz83lg1mp"))))
+ "11fks42kgscpia0mxx4lc9krm7q4gv6w7m5h3m2jr3dl7viv36hn"))))
(build-system perl-build-system)
(inputs `(("bdb" ,bdb)))
(native-inputs `(("perl-test-pod" ,perl-test-pod)))
@@ -1686,14 +1687,14 @@ database. Various higher level database abstractions.")
(define-public lmdb
(package
(name "lmdb")
- (version "0.9.21")
+ (version "0.9.22")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/LMDB/lmdb/archive/"
"LMDB_" version ".tar.gz"))
(sha256
(base32
- "0ndmj07hkm2ic60z1f4rdscxs7pq45hk9fibjyv5nhfclhsvd1qi"))))
+ "0a7a8535csrvw71mrgx680m5d17bnxmmhcccij30idifi1cpi4pk"))))
(build-system gnu-build-system)
(arguments
`(#:test-target "test"
@@ -2040,10 +2041,16 @@ implementation for Python.")
(base32 "12dqam1gc1v93l0bj0vlpvjqppki6y1hqrlznywxnw0rrz9pb002"))))
(build-system gnu-build-system)
(arguments
- `(#:tests? #f)) ; Tests require a network connection.
+ `(#:tests? #f ; Tests require a network connection.
+ ;; TODO: Removing the libsrc/zlib source directory breaks the build.
+ ;; This indicates that the internal zlib code may still be used.
+ #:configure-flags '("--without-internal-zlib"
+ "--with-readline")))
(inputs
`(("openssl" ,openssl)
- ("net-tools" ,net-tools)))
+ ("net-tools" ,net-tools)
+ ("readline" ,readline)
+ ("zlib" ,zlib)))
(home-page "http://vos.openlinksw.com/owiki/wiki/VOS/")
(synopsis "Multi-model database system")
(description "Virtuoso is a scalable cross-platform server that combines
diff --git a/gnu/packages/datamash.scm b/gnu/packages/datamash.scm
index e839a1d985..182d281a5d 100644
--- a/gnu/packages/datamash.scm
+++ b/gnu/packages/datamash.scm
@@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2014 Eric Bavier <bavier@member.fsf.org>
+;;; Copyright © 2014, 2018 Eric Bavier <bavier@member.fsf.org>
;;; Copyright © 2016, 2017 Efraim Flashner <efraim@flashner.co.il>
;;;
;;; This file is part of GNU Guix.
@@ -22,6 +22,7 @@
#:use-module (guix licenses)
#:use-module (guix download)
#:use-module (guix build-system gnu)
+ #:use-module (gnu packages)
#:use-module (gnu packages perl)
#:use-module (gnu packages base))
@@ -36,7 +37,8 @@
version ".tar.gz"))
(sha256
(base32
- "19jpcv4ryvbz0476d6dgpxpbjkpmih4q84wj06nslls338bm5fzf"))))
+ "19jpcv4ryvbz0476d6dgpxpbjkpmih4q84wj06nslls338bm5fzf"))
+ (patches (search-patches "datamash-arm-tests.patch"))))
(native-inputs
`(("which" ,which) ;for tests
("perl" ,perl))) ;for help2man
diff --git a/gnu/packages/debian.scm b/gnu/packages/debian.scm
index 3c3189e073..01df30c558 100644
--- a/gnu/packages/debian.scm
+++ b/gnu/packages/debian.scm
@@ -1,4 +1,5 @@
;;; Copyright © 2018 Efraim Flashner <efraim@flashner.co.il>
+;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
;;;
;;; GNU Guix is free software; you can redistribute it and/or modify it
;;; under the terms of the GNU General Public License as published by
@@ -111,7 +112,7 @@ contains the archive keys used for that.")
(define-public debootstrap
(package
(name "debootstrap")
- (version "1.0.93")
+ (version "1.0.95")
(source
(origin
(method url-fetch)
@@ -119,7 +120,7 @@ contains the archive keys used for that.")
name "_" version ".tar.gz"))
(sha256
(base32
- "1nyp9fwb7xrk1vin81dmgx2g9rb52yg4gwz4rcx97gamw4mlvbfd"))))
+ "1xpd1yblcgwhri64hzgxhalpf5j8gqbmkrsm1fs0pbwiy0wdz0ry"))))
(build-system gnu-build-system)
(arguments
`(#:phases
diff --git a/gnu/packages/dictionaries.scm b/gnu/packages/dictionaries.scm
index 3f50070ef7..965002a94d 100644
--- a/gnu/packages/dictionaries.scm
+++ b/gnu/packages/dictionaries.scm
@@ -27,6 +27,7 @@
#:use-module (guix build-system gnu)
#:use-module (guix build-system python)
#:use-module (guix build-system trivial)
+ #:use-module (gnu packages)
#:use-module (gnu packages base)
#:use-module (gnu packages curl)
#:use-module (gnu packages emacs)
@@ -212,7 +213,7 @@ It comes with a German-English dictionary with approximately 270,000 entries.")
(define-public grammalecte
(package
(name "grammalecte")
- (version "0.6.2")
+ (version "0.6.3.1")
(source
(origin
(method url-fetch/zipbomb)
@@ -220,8 +221,21 @@ It comes with a German-English dictionary with approximately 270,000 entries.")
"Grammalecte-fr-v" version ".zip"))
(sha256
(base32
- "0pvblclvbxbfgmq0cvmpmzpf6bi6r41arndwprl7ab9kci9hi8j2"))))
+ "0jlzrhpx9qvjdq679w188p86x09yfjf3l0h4scjl9w26yyp53gr8"))))
(build-system python-build-system)
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'fix-setup
+ ;; Fix typos in "setup.py". In particular, add the new
+ ;; "graphspell" module introduced in 0.6.2. Reported upstream:
+ ;; <https://www.dicollecte.org/thread.php?prj=fr&t=709>
+ (lambda _
+ (substitute* "setup.py"
+ (("packages=\\['grammalecte', 'grammalecte.fr'\\],")
+ "packages=['grammalecte', 'grammalecte.fr', 'grammalecte.graphspell'],")
+ (("_dictionaries/French.bdic") "graphspell/_dictionaries/fr.bdic"))
+ #t)))))
(home-page "https://www.dicollecte.org")
(synopsis "French spelling and grammar checker")
(description "Grammalecte is a grammar checker dedicated to the French
@@ -239,7 +253,7 @@ and a Python library.")
(define-public translate-shell
(package
(name "translate-shell")
- (version "0.9.6.4")
+ (version "0.9.6.7")
(source
(origin
(method url-fetch)
@@ -247,7 +261,8 @@ and a Python library.")
version ".tar.gz"))
(sha256
(base32
- "1fg6nf1plvgimc57fsdr9rcjbf7jvmk5jrlj5ya509vpdcdgvj2s"))
+ "0inv6r3qbihn2ff1sgcly89r04k4vgcbvvyl50ln0mxlapbhpy95"))
+ (patches (search-patches "translate-shell-fix-curl-tests.patch"))
(file-name (string-append name "-" version ".tar.gz"))))
(build-system gnu-build-system)
(arguments
@@ -261,7 +276,8 @@ and a Python library.")
(emacs (string-append (assoc-ref inputs "emacs") "/bin/emacs")))
(install-file "google-translate-mode.el" dest)
(emacs-generate-autoloads ,name dest)))))
- #:make-flags (list (string-append "PREFIX=" %output))
+ #:make-flags (list (string-append "PREFIX=" %output)
+ "NETWORK_ACCESS=no test")
#:imported-modules (,@%gnu-build-system-modules (guix build emacs-utils))
#:modules ((guix build gnu-build-system)
(guix build emacs-utils)
@@ -274,7 +290,7 @@ and a Python library.")
(native-inputs
`(("emacs" ,emacs-minimal)
("util-linux" ,util-linux))) ; hexdump, for the test
- (home-page "https://www.soimort.org/translate-shell")
+ (home-page "https://www.soimort.org/translate-shell/")
(synopsis "Translations from the command line")
(description
"Translate Shell (formerly Google Translate CLI) is a command-line
diff --git a/gnu/packages/disk.scm b/gnu/packages/disk.scm
index 756a9f5451..595000bf88 100644
--- a/gnu/packages/disk.scm
+++ b/gnu/packages/disk.scm
@@ -9,6 +9,7 @@
;;; Copyright © 2016, 2017 Marius Bakke <mbakke@fastmail.com>
;;; Copyright © 2017 Hartmut Goebel <h.goebel@crazy-compilers.com>
;;; Copyright © 2017 Stefan Reichör <stefan@xsteve.at>
+;;; Copyright © 2018 Vasile Dumitrascu <va511e@yahoo.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -34,6 +35,7 @@
#:use-module (guix build-system python)
#:use-module (gnu packages)
#:use-module (gnu packages base)
+ #:use-module (gnu packages databases)
#:use-module (gnu packages docbook)
#:use-module (gnu packages gettext)
#:use-module (gnu packages glib)
@@ -416,3 +418,87 @@ capacity of a flash card (flash drive, flash disk, pendrive). F3 writes to
the card and then checks if can read it. It will assure you haven't been sold
a card with a smaller capacity than stated.")
(license license:gpl3+)))
+
+(define-public python-parted
+ (package
+ (name "python-parted")
+ (version "3.11.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://github.com/dcantrell/pyparted/archive/v"
+ version ".tar.gz"))
+ (sha256
+ (base32
+ "0r1nyjj40nacnfnv17x2mnsj6ga1qplyxyza82v2809dfhim2fwq"))))
+ (build-system python-build-system)
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (delete 'check)
+ (add-after 'install 'check
+ (lambda* (#:key outputs inputs #:allow-other-keys)
+ (add-installed-pythonpath inputs outputs)
+ ;; See <https://github.com/dcantrell/pyparted/issues/47>.
+ (substitute* "tests/test__ped_ped.py"
+ (("\"/tmp/temp-device-\"") "self.path"))
+ (invoke "python" "-m" "unittest" "discover" "-v")
+ #t)))))
+ (native-inputs
+ `(("e2fsprogs" ,e2fsprogs)
+ ("pkg-config" ,pkg-config)))
+ (propagated-inputs
+ `(("python-six" ,python-six)))
+ (inputs
+ `(("parted" ,parted)))
+ (home-page "https://github.com/dcantrell/pyparted")
+ (synopsis "Parted bindings for Python")
+ (description "This package provides @code{parted} bindings for Python.")
+ (license license:gpl2+)))
+
+(define-public python2-parted
+ (package-with-python2 python-parted))
+
+(define-public duperemove
+ (package
+ (name "duperemove")
+ (version "v0.11.beta4")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append
+ "https://github.com/markfasheh/duperemove/archive/"
+ version ".tar.gz"))
+ (sha256
+ (base32
+ "1h5nk03kflfnzihvn2rvfz1h623x1zpkn9hp29skd7n3f2bc5k7x"))
+ (file-name (string-append name "-" version ".tar.gz"))))
+ (build-system gnu-build-system)
+ (native-inputs
+ `(("pkg-config" ,pkg-config)))
+ (inputs
+ `(("glib" ,glib)
+ ("sqlite" ,sqlite)))
+ (arguments
+ `(#:tests? #f ;no test suite
+ #:phases
+ (modify-phases %standard-phases
+ ;; no configure script
+ (delete 'configure))
+ #:make-flags (list (string-append "PREFIX=" %output)
+ "CC=gcc")))
+ (home-page "https://github.com/markfasheh/duperemove")
+ (synopsis "Tools for de-duplicating file system data")
+ (description "Duperemove is a simple tool for finding duplicated extents
+and submitting them for deduplication. When given a list of files it will
+hash their contents on a block by block basis and compare those hashes to each
+other, finding and categorizing blocks that match each other. When given the
+@option{-d} option, duperemove will submit those extents for deduplication
+using the Linux kernel extent-same @code{ioctl}.
+
+Duperemove can store the hashes it computes in a @dfn{hash file}. If given an
+existing hash file, duperemove will only compute hashes for those files which
+have changed since the last run. Thus you can run duperemove repeatedly on
+your data as it changes, without having to re-checksum unchanged data.
+
+Duperemove can also take input from the @command{fdupes} program.")
+ (license license:gpl2)))
diff --git a/gnu/packages/django.scm b/gnu/packages/django.scm
index bb8aa3862a..d42afb2285 100644
--- a/gnu/packages/django.scm
+++ b/gnu/packages/django.scm
@@ -2,8 +2,9 @@
;;; Copyright © 2016 Hartmut Goebel <h.goebel@crazy-compilers.com>
;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2017 Nils Gillmann <ng0@n0.is>
-;;; Copyright © 2017 Tobias Geerinckx-Rice <me@tobias.gr>
+;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2017 Ricardo Wurmus <rekado@elephly.net>
+;;; Copyright © 2018 Vijayalakshmi Vedantham <vijimay12@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -788,14 +789,14 @@ provides features like a web browseable API and authentication policies.")
(define-public python-django-crispy-forms
(package
(name "python-django-crispy-forms")
- (version "1.7.0")
+ (version "1.7.2")
(source
(origin
(method url-fetch)
(uri (pypi-uri "django-crispy-forms" version))
(sha256
(base32
- "16s05jx86jmimlvnwpq73kl0mqw1v9lryc8zi61a9qwl25krm6mj"))))
+ "0pv7y648i8iz7mf64gkjizpbx5d01ap2s4vqqa30n38if6wvlljr"))))
(build-system python-build-system)
(arguments
'(;; No included tests
@@ -809,3 +810,25 @@ provides features like a web browseable API and authentication policies.")
"@code{django-crispy-forms} lets you easily build, customize and reuse
forms using your favorite CSS framework, without writing template code.")
(license license:expat)))
+
+(define-public python-django-override-storage
+ (package
+ (name "python-django-override-storage")
+ (version "0.1.4")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "django-override-storage" version))
+ (sha256
+ (base32
+ "0sqz1mh0yn8b1bzz2gr2azfiynljigm5gkzavp5n17zd3j2jg57x"))))
+ (build-system python-build-system)
+ (propagated-inputs
+ `(("python-django" ,python-django)))
+ (home-page
+ "https://github.com/danifus/django-override-storage")
+ (synopsis "Django test helpers to manage file storage side effects")
+ (description
+ "This project provides tools to help reduce the side effects of using
+FileFields during tests.")
+ (license license:expat)))
diff --git a/gnu/packages/dunst.scm b/gnu/packages/dunst.scm
index 68637ea6cd..6df37894da 100644
--- a/gnu/packages/dunst.scm
+++ b/gnu/packages/dunst.scm
@@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2015, 2017 Alex Kost <alezost@gmail.com>
+;;; Copyright © 2015, 2017, 2018 Alex Kost <alezost@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -32,7 +32,7 @@
(define-public dunst
(package
(name "dunst")
- (version "1.2.0")
+ (version "1.3.1")
(source (origin
(method url-fetch)
(uri (string-append
@@ -41,12 +41,16 @@
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
- "1bf5fmmj79wlwi8wzir3rd8czyrxfx16w8q7c957123yz1g5ph53"))))
+ "1mkdp1vqc376z8clwm5s9070jq1g92j8hv2rr231jr2468fnwaga"))))
(build-system gnu-build-system)
(arguments
'(#:tests? #f ; no check target
#:make-flags (list "CC=gcc"
- (string-append "PREFIX=" %output))
+ (string-append "PREFIX=" %output)
+ ;; Otherwise it tries to install service file
+ ;; to "dbus" store directory.
+ (string-append "SERVICEDIR_DBUS=" %output
+ "/share/dbus-1/services"))
#:phases (modify-phases %standard-phases
(delete 'configure))))
(native-inputs
@@ -55,8 +59,8 @@
("which" ,which)))
(inputs
`(("dbus" ,dbus)
+ ("gdk-pixbuf" ,gdk-pixbuf)
("glib" ,glib)
- ("gtk" ,gtk+-2)
("cairo" ,cairo)
("pango" ,pango)
("libx11" ,libx11)
diff --git a/gnu/packages/elf.scm b/gnu/packages/elf.scm
index 08d92532fa..f77a4e1b72 100644
--- a/gnu/packages/elf.scm
+++ b/gnu/packages/elf.scm
@@ -2,7 +2,7 @@
;;; Copyright © 2013, 2014, 2015 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2014, 2015 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2015 Andreas Enge <andreas@enge.fr>
-;;; Copyright © 2017 Efraim Flashner <efraim@flashner.co.il>
+;;; Copyright © 2017, 2018 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2017 Leo Famulari <leo@famulari.name>
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
;;;
@@ -55,7 +55,15 @@
;; know where to find each other.
`(#:configure-flags (list (string-append "LDFLAGS=-Wl,-rpath="
(assoc-ref %outputs "out")
- "/lib"))))
+ "/lib"))
+ #:phases
+ (modify-phases %standard-phases
+ ;; No reason has been found for this test to reliably fail on aarch64-linux.
+ (add-after 'unpack 'disable-failing-aarch64-tests
+ (lambda _
+ (substitute* "tests/Makefile.in"
+ (("run-backtrace-native.sh") ""))
+ #t)))))
(native-inputs `(("m4" ,m4)))
(inputs `(("zlib" ,zlib)))
diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm
index de0ee358d6..e2b901cd3a 100644
--- a/gnu/packages/emacs.scm
+++ b/gnu/packages/emacs.scm
@@ -21,7 +21,7 @@
;;; Copyright © 2017 Mathieu Othacehe <m.othacehe@gmail.com>
;;; Copyright © 2017 Clément Lassieur <clement@lassieur.org>
;;; Copyright © 2017 Vasile Dumitrascu <va511e@yahoo.com>
-;;; Copyright © 2017 Kyle Meyer <kyle@kyleam.com>
+;;; Copyright © 2017, 2018 Kyle Meyer <kyle@kyleam.com>
;;; Copyright © 2017 Kei Kebreau <kkebreau@posteo.net>
;;; Copyright © 2017 George Clemmer <myglc2@gmail.com>
;;; Copyright © 2017 Feng Shu <tumashu@163.com>
@@ -29,9 +29,11 @@
;;; Copyright © 2017, 2018 Oleg Pykhalov <go.wigust@gmail.com>
;;; Copyright © 2017 Mekeor Melire <mekeor.melire@gmail.com>
;;; Copyright © 2017 Peter Mikkelsen <petermikkelsen10@gmail.com>
-;;; Copyright © 2017 Tobias Geerinckx-Rice <me@tobias.gr>
+;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2017 Mike Gerwitz <mtg@gnu.org>
;;; Copyright © 2017, 2018 Maxim Cournoyer <maxim.cournoyer@gmail.com>
+;;; Copyright © 2018 Sohom Bhattacharjee <soham.bhattacharjee15@gmail.com>
+;;; Copyright © 2018 Mathieu Lirzin <mthl@gnu.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -64,6 +66,7 @@
#:use-module (gnu packages audio)
#:use-module (gnu packages bash)
#:use-module (gnu packages code)
+ #:use-module (gnu packages databases)
#:use-module (gnu packages guile)
#:use-module (gnu packages gtk)
#:use-module (gnu packages gnome)
@@ -88,6 +91,7 @@
#:use-module (gnu packages xml)
#:use-module (gnu packages glib)
#:use-module (gnu packages acl)
+ #:use-module (gnu packages mail)
#:use-module (gnu packages package-management)
#:use-module (gnu packages perl)
#:use-module (gnu packages pdf)
@@ -99,6 +103,7 @@
#:use-module (gnu packages fribidi)
#:use-module (gnu packages gd)
#:use-module (gnu packages fontutils)
+ #:use-module (gnu packages password-utils)
#:use-module (guix utils)
#:use-module (srfi srfi-1)
#:use-module (ice-9 match))
@@ -381,7 +386,7 @@ when typing parentheses directly or commenting out code line by line.")
(define-public git-modes
(package
(name "emacs-git-modes")
- (version "1.2.6")
+ (version "1.2.7")
(source (origin
(method url-fetch)
(uri (string-append
@@ -390,7 +395,7 @@ when typing parentheses directly or commenting out code line by line.")
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
- "18z04wn5ird9l0h6n6x97v0kyzdj73832bj9qakm3fjjl7vcn0pw"))))
+ "1mzl70s0xyysnjq1j10mc5vn9i022n5vd82kxsgp4xxqq7gc4qnx"))))
(build-system emacs-build-system)
(home-page "https://github.com/magit/git-modes")
(synopsis "Emacs major modes for Git configuration files")
@@ -489,7 +494,7 @@ operations.")
(define-public magit-svn
(package
(name "magit-svn")
- (version "2.1.1")
+ (version "2.2.0")
(source (origin
(method url-fetch)
(uri (string-append
@@ -498,12 +503,13 @@ operations.")
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
- "04y88j7q9h8xjbx5dbick6n5nr1522sn9i1znp0qwk3vjb4b5mzz"))))
+ "1c3n377v436zaxamlsz04y1ahdhp96x1vd43zaryv4y10m02ba47"))))
(build-system trivial-build-system)
(native-inputs `(("emacs" ,emacs-minimal)
("tar" ,tar)
("gzip" ,gzip)))
(propagated-inputs `(("dash" ,emacs-dash)
+ ("with-editor" ,emacs-with-editor)
("magit" ,magit)))
(arguments
`(#:modules ((guix build utils)
@@ -525,6 +531,9 @@ operations.")
(dash (string-append (assoc-ref %build-inputs "dash")
"/share/emacs/site-lisp/guix.d/dash-"
,(package-version emacs-dash)))
+ (with-editor (string-append (assoc-ref %build-inputs "with-editor")
+ "/share/emacs/site-lisp/guix.d/with-editor-"
+ ,(package-version emacs-with-editor)))
(source (assoc-ref %build-inputs "source"))
(lisp-dir (string-append %output "/share/emacs/site-lisp")))
(setenv "PATH" PATH)
@@ -537,7 +546,7 @@ operations.")
(parameterize ((%emacs emacs))
(emacs-generate-autoloads ,name lisp-dir)
(setenv "EMACSLOADPATH"
- (string-append ":" magit ":" dash))
+ (string-append ":" magit ":" dash ":" with-editor))
(emacs-batch-eval '(byte-compile-file "magit-svn.el"))))))))
(home-page "https://github.com/magit/magit-svn")
(synopsis "Git-SVN extension to Magit")
@@ -670,7 +679,7 @@ programs.")
(define-public flycheck
(package
(name "emacs-flycheck")
- (version "30")
+ (version "31")
(source (origin
(method url-fetch)
(uri (string-append
@@ -678,7 +687,7 @@ programs.")
version "/flycheck-" version ".tar"))
(sha256
(base32
- "1rxzkaqsj48z3nska5wsgwafvwkam014dzqd32baycmxjl0jxvy7"))))
+ "01rnwan16m7cyyrfca3c5c60mbj2r3knkpzbhji2fczsf0wns240"))))
(build-system emacs-build-system)
(propagated-inputs
`(("emacs-dash" ,emacs-dash)))
@@ -1366,7 +1375,7 @@ diagrams.")
(define-public emacs-mmm-mode
(package
(name "emacs-mmm-mode")
- (version "0.5.4")
+ (version "0.5.5")
(source
(origin
(method url-fetch)
@@ -1376,7 +1385,7 @@ diagrams.")
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
- "10kwslnflbjqm62wkrq420crqzdqalzfflp9pqk1i12zm6dm4mfv"))))
+ "0c5ing3hcr74k78hqhrfwiv6m3n8hqfrw89j2x34vf60f4iyqzqc"))))
(build-system gnu-build-system)
(arguments
'(#:phases
@@ -1824,34 +1833,36 @@ of files under Git version control from within Emacs.")
(license license:gpl3+)))
(define-public emacs-minitest
- (package
- (name "emacs-minitest")
- (version "0.8.0")
- (source (origin
- (method url-fetch)
- (uri (string-append
- "https://github.com/arthurnn/minitest-emacs/archive/v"
- version ".tar.gz"))
- (file-name (string-append name "-" version ".tar.gz"))
- (sha256
- (base32
- "1dsb7kzvs1x6g4sgqmq73jqacb7wzm0wfkiq5m9dqdzq8mppgiqs"))))
- (build-system emacs-build-system)
- (arguments
- '(#:include (cons "^snippets\\/minitest-mode\\/" %default-include)
- #:exclude (delete "^[^/]*tests?\\.el$" %default-exclude)))
- (propagated-inputs
- `(("emacs-dash" ,emacs-dash)
- ("emacs-f" ,emacs-f)))
- (home-page "https://github.com/arthurnn/minitest-emacs")
- (synopsis "Emacs minitest mode")
- (description
- "The minitest mode provides commands to run the tests for the current
+ (let ((commit "1aadb7865c1dc69c201cecee275751ecec33a182")
+ (revision "1"))
+ (package
+ (name "emacs-minitest")
+ (version (git-version "0.8.0" revision commit))
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/arthurnn/minitest-emacs")
+ (commit commit)))
+ (file-name (git-file-name name commit))
+ (sha256
+ (base32
+ "1l18zqpdzbnqj2qawq8hj7z7pl8hr8z9d8ihy8jaiqma915hmhj1"))))
+ (build-system emacs-build-system)
+ (arguments
+ '(#:include (cons "^snippets\\/minitest-mode\\/" %default-include)
+ #:exclude (delete "^[^/]*tests?\\.el$" %default-exclude)))
+ (propagated-inputs
+ `(("emacs-dash" ,emacs-dash)
+ ("emacs-f" ,emacs-f)))
+ (home-page "https://github.com/arthurnn/minitest-emacs")
+ (synopsis "Emacs minitest mode")
+ (description
+ "The minitest mode provides commands to run the tests for the current
file or line, as well as rerunning the previous tests, or all the tests for a
project.
This package also includes relevant snippets for yasnippet.")
- (license license:expat)))
+ (license license:expat))))
(define-public emacs-el-mock
(package
@@ -1899,10 +1910,35 @@ Expectations, but it can be used in other contexts.")
definitions for testing with the Ecukes framework.")
(license license:gpl3+)))
+(define-public emacs-spark
+ (let ((version "20160503") ; no proper tag, use date of commit
+ (commit "0bf148c3ede3b31d56fd75f347cdd0b0eae60025")
+ (revision "1"))
+ (package
+ (name "emacs-spark")
+ (version (git-version version revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/alvinfrancis/spark.git")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "1ykqr86j17mi95s08d9fp02d7ych1331b04dcqxzxnmpkhwngyj1"))))
+ (build-system emacs-build-system)
+ (home-page "https://github.com/alvinfrancis/spark")
+ (synopsis "Sparkline generation library for Emacs Lisp")
+ (description "@code{emacs-spark} is a sparkline generation library for
+Emacs Lisp. It generates a sparkline string given a list of numbers. It is a
+port of @code{cl-spark} to Emacs Lisp.")
+ (license license:expat))))
+
(define-public emacs-es-mode
(package
(name "emacs-es-mode")
- (version "4.2.0")
+ (version "4.3.0")
(source (origin
(method url-fetch)
(uri (string-append
@@ -1911,12 +1947,14 @@ definitions for testing with the Ecukes framework.")
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
- "02as82clm553yss7jfjac888308zr1h2229cch4z1yij70j25c8y"))))
+ "0y86qdcb3g7fkcb4pzsjh3syzql6w3314hg1wqxq4a8bbk3y0cgr"))))
(build-system emacs-build-system)
(propagated-inputs
;; The version of org in Emacs 24.5 is not sufficient, and causes tables
;; to be rendered incorrectly
- `(("emacs-org" ,emacs-org)))
+ `(("emacs-dash" ,emacs-dash)
+ ("emacs-org" ,emacs-org)
+ ("emacs-spark" ,emacs-spark)))
(home-page "https://github.com/dakrone/es-mode")
(synopsis "Major mode for editing Elasticsearch queries")
(description "@code{es-mode} includes highlighting, completion and
@@ -2264,6 +2302,8 @@ mode-line.")
(base32
"1vp45y99fwj88z04ah4yppz4z568qcib646az6m9az5ar0f203br"))))
(build-system emacs-build-system)
+ (arguments
+ '(#:include (cons "^lib\\/" %default-include)))
(propagated-inputs
`(("emacs-inf-ruby" ,emacs-inf-ruby)))
(home-page "https://github.com/dgutov/robe")
@@ -2421,6 +2461,24 @@ A minor mode @code{debbugs-browse-mode} let you browse URLs to the GNU Bug
Tracker as well as bug identifiers prepared for @code{bug-reference-mode}.")
(license license:gpl3+)))
+(define-public emacs-ert-expectations
+ (package
+ (name "emacs-ert-expectations")
+ (version "0.2")
+ (source
+ (origin
+ (method url-fetch)
+ (uri "https://www.emacswiki.org/emacs/download/ert-expectations.el")
+ (sha256
+ (base32
+ "0cwy3ilsid90abzzjb7ha2blq9kmv3gfp3icwwfcz6qczgirq6g7"))))
+ (build-system emacs-build-system)
+ (home-page "https://www.emacswiki.org/emacs/ert-expectations.el")
+ (synopsis "Simple unit test framework for Emacs Lisp")
+ (description "@code{emacs-ert-expectations} is a simple unit test
+framework for Emacs Lisp to be used with @code{ert}.")
+ (license license:gpl3+)))
+
(define-public emacs-deferred
(package
(name "emacs-deferred")
@@ -2921,7 +2979,7 @@ started with 20 minutes. All values are customizable.")
(define-public emacs-org-trello
(package
(name "emacs-org-trello")
- (version "0.7.9")
+ (version "0.8.0")
(source (origin
(method url-fetch)
(uri (string-append
@@ -2930,12 +2988,14 @@ started with 20 minutes. All values are customizable.")
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
- "074dka8g673bj1ck5vavbjaij5jyniygdlw51mdds005wd2br9wf"))))
+ "0549mnf5cgwn8b8jbl38fljbaxmh1605sv9j8f3lsa95jhs1zpa0"))))
(build-system emacs-build-system)
(propagated-inputs
- `(("emacs-deferred" ,emacs-deferred)
+ `(("emacs-dash" ,emacs-dash)
+ ("emacs-deferred" ,emacs-deferred)
+ ("emacs-f" ,emacs-f)
+ ("emacs-helm" ,emacs-helm)
("emacs-request" ,emacs-request)
- ("emacs-dash" ,emacs-dash)
("emacs-s" ,emacs-s)))
(home-page "https://org-trello.github.io")
(synopsis "Emacs minor mode for interacting with Trello")
@@ -3063,7 +3123,9 @@ single theme but a set of guidelines with numerous implementations.")
(base32
"0q5as813xs8y29i3v2rm97phd6m7xsmmw6hwbvx57gwmi8i1c409"))))
(build-system emacs-build-system)
- (propagated-inputs `(("emacs-dash" ,emacs-dash)))
+ (propagated-inputs
+ `(("emacs-dash" ,emacs-dash)
+ ("emacs-markdown-mode" ,emacs-markdown-mode)))
(home-page "https://github.com/Fuco1/smartparens")
(synopsis "Paredit-like insertion, wrapping and navigation with user
defined pairs")
@@ -3296,6 +3358,8 @@ parallel.")
(base32
"0wyxqbb35yqf6ci47531lk32d6fppamx9d8826kdz983vm87him7"))))
(build-system emacs-build-system)
+ (propagated-inputs
+ `(("emacs-deferred" ,emacs-deferred)))
(home-page "https://github.com/tkf/emacs-request")
(synopsis "Package for speaking HTTP in Emacs Lisp")
(description "This package provides a HTTP request library with multiple
@@ -3894,7 +3958,7 @@ If you want to mark a folder manually as a project just create an empty
(define-public emacs-elfeed
(package
(name "emacs-elfeed")
- (version "2.2.0")
+ (version "2.3.0")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/skeeto/elfeed/archive/"
@@ -3902,7 +3966,7 @@ If you want to mark a folder manually as a project just create an empty
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
- "0d7i93l3b0ck3iad9ddqp7sqa8w16hnamrby8bwvl316rqk4lzlf"))))
+ "1fd1mx0q1qb9vgdzls5ppxfriyid48blg8smgjspiazp7kxakzxv"))))
(build-system emacs-build-system)
(arguments
`(#:phases
@@ -4147,7 +4211,7 @@ the file buffer.")
(define-public emacs-helm
(package
(name "emacs-helm")
- (version "2.8.5")
+ (version "2.9.0")
(source (origin
(method url-fetch)
(uri (string-append
@@ -4156,7 +4220,7 @@ the file buffer.")
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
- "15xlnjm9rsbn0xq7xc09y52h2kn41zwn7ldryammf6i46wl02kq3"))))
+ "1798gn0za11cxdbi436javfczv4abniccxcl0jppl463r8lzb8is"))))
(build-system emacs-build-system)
(propagated-inputs
`(("emacs-async" ,emacs-async)
@@ -4176,7 +4240,7 @@ not tied in the trap of backward compatibility.")
(define-public emacs-helm-swoop
(package
(name "emacs-helm-swoop")
- (version "1.7.2")
+ (version "1.7.4")
(source (origin
(method url-fetch)
(uri (string-append
@@ -4186,7 +4250,7 @@ not tied in the trap of backward compatibility.")
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
- "1z34pfi0gsk054pxr906ilaalaw0xz3s536163gf9ykkwmc2356d"))))
+ "1ssivsjzlnkg049cg993l8fp09l5nhpz6asj7w5c91zp5kpc6fh7"))))
(build-system emacs-build-system)
(propagated-inputs
`(("emacs-helm" ,emacs-helm)))
@@ -4494,14 +4558,14 @@ passive voice.")
(name "emacs-org")
;; emacs-org-contrib inherits from this package. Please update its sha256
;; checksum as well.
- (version "20180226")
+ (version "9.1.9")
(source (origin
(method url-fetch)
- (uri (string-append "https://orgmode.org/elpa/org-"
+ (uri (string-append "http://elpa.gnu.org/packages/org-"
version ".tar"))
(sha256
(base32
- "0jqvry6gah1bwnryha4asynj13jyds3qim0xcy7s01rxk99m2ziy"))))
+ "16yr0srfzsrzv2b1f2wjk8gb2pyhsgj2hxbscixirkxqz674c5cl"))))
(build-system emacs-build-system)
(home-page "https://orgmode.org/")
(synopsis "Outline-based notes management and organizer")
@@ -4515,13 +4579,14 @@ reproducible research.")
(package
(inherit emacs-org)
(name "emacs-org-contrib")
+ (version "20180327")
(source (origin
(method url-fetch)
(uri (string-append "https://orgmode.org/elpa/org-plus-contrib-"
- (package-version emacs-org) ".tar"))
+ version ".tar"))
(sha256
(base32
- "034wp70hcqnpidji5k1k80mj35iyyy098nbvc2sl7i2aca4m03zc"))))
+ "1y1nn0bxnh9y4a3zrqng8n639j5da5387q2314sr3a8ggy1nb93s"))))
(arguments
`(#:modules ((guix build emacs-build-system)
(guix build utils)
@@ -4542,8 +4607,7 @@ reproducible research.")
string=? contrib-files org+contrib-files)))
(with-directory-excursion
(string-append
- out "/share/emacs/site-lisp/guix.d/org-contrib-"
- ,(package-version emacs-org))
+ out "/share/emacs/site-lisp/guix.d/org-contrib-" ,version)
(for-each delete-file duplicates))
#t))))))
(propagated-inputs
@@ -4934,7 +4998,8 @@ customizable by the user.")
(propagated-inputs
`(("emacs-alert" ,emacs-alert)
("emacs-s" ,emacs-s)
- ("emacs-ht" ,emacs-ht)))
+ ("emacs-ht" ,emacs-ht)
+ ("mu" ,mu)))
(home-page "https://github.com/iqbalansari/mu4e-alert")
(synopsis "Desktop notification for mu4e")
(description
@@ -5503,6 +5568,8 @@ conversion for Emacs Lisp.")
(base32
"0pivapphmykc6vhvpx7hdyl55ls37vc4jcrxpvs4yk7jzcmwa9xp"))))
(build-system emacs-build-system)
+ (propagated-inputs
+ `(("emacs-auctex" ,emacs-auctex)))
(home-page "https://github.com/cdominik/cdlatex")
(synopsis "Fast Emacs input methods for LaTeX environments and
math")
@@ -5703,14 +5770,14 @@ which code derived from Kelvin H's org-page.")
(define-public emacs-xelb
(package
(name "emacs-xelb")
- (version "0.12")
+ (version "0.14")
(source (origin
(method url-fetch)
(uri (string-append "https://elpa.gnu.org/packages/xelb-"
version ".tar"))
(sha256
(base32
- "0i9n0f3ibj4a5pwcsvwrah9m0fz32m0x6a9wsmjn3li20v8pcb81"))))
+ "09flnbjy9ck784kprz036rwg9qk45hpv0w5hz3pz3zhwyk57fv74"))))
(build-system emacs-build-system)
;; The following functions and variables needed by emacs-xelb are
;; not included in emacs-minimal:
@@ -5742,7 +5809,7 @@ It should enable you to implement low-level X11 applications.")
(define-public emacs-exwm
(package
(name "emacs-exwm")
- (version "0.16")
+ (version "0.18")
(synopsis "Emacs X window manager")
(source (origin
(method url-fetch)
@@ -5750,7 +5817,7 @@ It should enable you to implement low-level X11 applications.")
version ".tar"))
(sha256
(base32
- "0c4w5k9lzqj8yzhdqipdb4fs7ld2qklc6s137104jnfdvmrwcv2i"))))
+ "1shz5bf4v4gg3arjaaldics5qkg3aiiaf3ngys8lb6qyxhcpvh6q"))))
(build-system emacs-build-system)
(propagated-inputs
`(("emacs-xelb" ,emacs-xelb)))
@@ -5833,7 +5900,7 @@ other operations.")
(define-public emacs-exwm-x
(package
(name "emacs-exwm-x")
- (version "1.7.2")
+ (version "1.8.1")
(synopsis "Derivative window manager based on EXWM")
(source (origin
(method url-fetch)
@@ -5843,7 +5910,7 @@ other operations.")
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
- "1ny13i82fb72917jgl0ndwjg1x6l9f8gfhcx7cwlwhh5saq23mvy"))))
+ "0ali1100aacq4zbvcck80h51pvw204jlxhn4aikkqq4ngbx03kkr"))))
(build-system emacs-build-system)
(propagated-inputs
`(("emacs-exwm" ,emacs-exwm)
@@ -6280,6 +6347,45 @@ from within Emacs. Restclient runs queries from a plan-text query sheet,
displays results pretty-printed in XML or JSON with @code{restclient-mode}")
(license license:public-domain))))
+(define-public emacs-eimp
+ (let ((version "1.4.0")
+ (commit "2e7536fe6d8f7faf1bad7a8ae37faba0162c3b4f")
+ (revision "1"))
+ (package
+ (name "emacs-eimp")
+ (version (git-version version revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/nicferrier/eimp.git")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "154d57yafxbcf39r89n5j43c86rp2fki3lw3gwy7ww2g6qkclcra"))))
+ (build-system emacs-build-system)
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'configure
+ (lambda* (#:key inputs #:allow-other-keys)
+ (let ((imagemagick (assoc-ref inputs "imagemagick")))
+ ;; eimp.el is read-only in git.
+ (chmod "eimp.el" #o644)
+ (emacs-substitute-variables "eimp.el"
+ ("eimp-mogrify-program"
+ (string-append imagemagick "/bin/mogrify"))))
+ #t)))))
+ (inputs
+ `(("imagemagick" ,imagemagick)))
+ (home-page "https://github.com/nicferrier/eimp")
+ (synopsis "Interactive image manipulation utility for Emacs")
+ (description "@code{emacs-eimp} allows interactive image manipulation
+from within Emacs. It uses the code@{mogrify} utility from ImageMagick to do
+the actual transformations.")
+ (license license:gpl2+))))
+
(define-public emacs-dired-hacks
(let ((commit "eda68006ce73bbf6b9b995bfd70d08bec8cade36")
(revision "1"))
@@ -6299,6 +6405,7 @@ displays results pretty-printed in XML or JSON with @code{restclient-mode}")
(build-system emacs-build-system)
(propagated-inputs
`(("emacs-dash" ,emacs-dash)
+ ("emacs-eimp" ,emacs-eimp)
("emacs-f" ,emacs-f)
("emacs-s" ,emacs-s)))
(home-page "https://github.com/Fuco1/dired-hacks")
@@ -6935,6 +7042,15 @@ contexts.
(base32
"057cybkq3cy07n5s332k071sjiky3mziy003lza4rh75mgqkwhmh"))))
(build-system emacs-build-system)
+ (arguments
+ `(#:include (cons* "^modes/.*\\.el$" %default-include)
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'set-emacs-load-path 'add-modes-subdir-to-load-path
+ (lambda _
+ (setenv "EMACSLOADPATH"
+ (string-append (getenv "EMACSLOADPATH")
+ ":" (getcwd) "/modes" ":")))))))
(home-page "https://github.com/vspinu/polymode")
(synopsis "Framework for multiple Emacs modes based on indirect buffers")
(description "Polymode is an Emacs package that offers generic support
@@ -7005,7 +7121,7 @@ Feautures:
(define-public emacs-evil-matchit
(package
(name "emacs-evil-matchit")
- (version "2.2.5")
+ (version "2.2.6")
(source
(origin
(method url-fetch)
@@ -7015,8 +7131,10 @@ Feautures:
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
- "1hm0k53m7d8zv2pk4p93k5mmilsv1mz7y2z6dqf7r6f0zmncs31a"))))
+ "1yp9sl6542317mn1060ri90zyf6bs6qylagndhqy02p368q31rhi"))))
(build-system emacs-build-system)
+ (propagated-inputs
+ `(("emacs-evil" ,emacs-evil)))
(home-page "https://github.com/redguardtoo/evil-matchit")
(synopsis "Vim matchit ported into Emacs")
(description
@@ -7406,3 +7524,342 @@ the same values you get in a terminal.")
"Deft is an Emacs mode for quickly browsing, filtering, and editing
directories of plain text notes, inspired by Notational Velocity.")
(license license:bsd-3)))
+
+(define-public emacs-anzu
+ (package
+ (name "emacs-anzu")
+ (version "0.62")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://github.com/syohex/emacs-anzu/archive/"
+ version ".tar.gz"))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "16cg3897x5znbmgk7sdy0qyd0fbic9dmmz0dchq2vz5z29yhg4cz"))))
+ (build-system emacs-build-system)
+ (home-page "https://github.com/syohex/emacs-anzu")
+ (synopsis "Show number of matches in mode-line while searching")
+ (description
+ "Anzu provides a minor mode which displays \"current match/total
+matches\" in the mode line in various search modes. This is an Emacs port of
+Anzu.zim.")
+ (license license:gpl3+)))
+
+(define-public emacs-emmet-mode
+ (package
+ (name "emacs-emmet-mode")
+ (version "1.0.8")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "https://github.com/smihica/emmet-mode"
+ "/archive/" version ".tar.gz"))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "0g3p22yabfcp98cfv9dgl9il2m2pd53isq2q11vb3s7qyn31f7zj"))))
+ (build-system emacs-build-system)
+ (home-page "https://github.com/smihica/emmet-mode")
+ (synopsis "Unofficial Emmet's support for Emacs")
+ (description
+ "Unfold CSS-selector-like expressions to markup. It is intended to be
+used with SGML-like languages: XML, HTML, XHTML, XSL, etc.")
+ (license license:gpl3+)))
+
+(define-public emacs-password-store
+ (package
+ (name "emacs-password-store")
+ (version "1.7.1")
+ (source (origin
+ (method url-fetch)
+ (uri
+ (string-append "https://git.zx2c4.com/password-store/snapshot/"
+ "password-store-" version ".tar.xz"))
+ (sha256
+ (base32
+ "0scqkpll2q8jhzcgcsh9kqz0gwdpvynivqjmmbzax2irjfaiklpn"))))
+ (build-system emacs-build-system)
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'extract-el-file
+ (lambda _
+ (copy-file "contrib/emacs/password-store.el" "password-store.el")
+ (delete-file-recursively "contrib")
+ (delete-file-recursively "man")
+ (delete-file-recursively "src")
+ (delete-file-recursively "tests"))))))
+ (propagated-inputs
+ `(("emacs-f" ,emacs-f)
+ ("emacs-s" ,emacs-s)
+ ("password-store" ,password-store)))
+ (home-page "https://git.zx2c4.com/password-store/tree/contrib/emacs")
+ (synopsis "Password store (pass) support for Emacs")
+ (description
+ "This package provides functions for working with pass (\"the
+standard Unix password manager\").")
+ (license license:gpl2+)))
+
+(define-public emacs-pass
+ (package
+ (name "emacs-pass")
+ (version "1.7")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append
+ "https://github.com/NicolasPetton/pass/archive/"
+ version ".tar.gz"))
+ (sha256
+ (base32
+ "0zlx9v6z0q3w9qhq9bq6vb7sli4c9x7qccm2wq55j0nw7bwy2yvj"))
+ (file-name (string-append name "-" version ".tar.gz"))))
+ (build-system emacs-build-system)
+ (propagated-inputs
+ `(("emacs-password-store" ,emacs-password-store)
+ ("emacs-f" ,emacs-f)))
+ (home-page "https://github.com/NicolasPetton/pass")
+ (synopsis "Major mode for @file{password-store.el}")
+ (description "This is a major mode for managing password-store (pass)
+keychains. The keychain entries are displayed in a directory-like structure
+and can be consulted and modified.")
+ (license license:gpl3+)))
+
+(define-public emacs-evil-anzu
+ (package
+ (name "emacs-evil-anzu")
+ (version "0.03")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://github.com/syohex/emacs-evil-anzu"
+ "/archive/" version ".tar.gz"))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32 "032hh2946z529cizqsg8pm6cpn5qdj8lfk3qskmx6xv3g2ra56ns"))))
+ (build-system emacs-build-system)
+ (propagated-inputs
+ `(("emacs-evil" ,emacs-evil)
+ ("emacs-anzu" ,emacs-anzu)))
+ (home-page "https://github.com/syohex/emacs-evil-anzu")
+ (synopsis "Anzu for evil-mode")
+ (description "@code{anzu} provides a minor mode that displays the current
+match and total match information in the mode-line in various search modes.")
+ (license license:gpl3+)))
+
+(define-public emacs-pg
+ (let ((commit "4f6516ec3946d95dcef49abb6703cc89ecb5183d"))
+ (package
+ (name "emacs-pg")
+ (version (git-version "0.1" "1" commit))
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference (url "https://github.com/cbbrowne/pg.el")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "1zh7v4nnpzvbi8yj1ynlqlawk5bmlxi6s80b5f2y7hkdqb5q26k0"))))
+ (build-system emacs-build-system)
+ (home-page "https://github.com/cbbrowne/pg.el")
+ (synopsis "Emacs Lisp interface for PostgreSQL")
+ (description
+ "This package provides an Emacs Lisp interface for PostgreSQL.")
+ (license license:gpl3+))))
+
+(define-public emacs-cl-generic
+ (package
+ (name "emacs-cl-generic")
+ (version "0.3")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://elpa.gnu.org/packages/cl-generic-"
+ version ".el"))
+ (sha256
+ (base32
+ "0vb338bhjpsnrf60qgxny4z5rjrnifahnrv9axd4shay89d894zq"))))
+ (build-system emacs-build-system)
+ (home-page "https://elpa.gnu.org/packages/seq.html")
+ (synopsis
+ "Forward @code{cl-generic} compatibility for Emacs before version 25")
+ (description "This package provides a subset of the features of the
+@code{cl-generic} package introduced in Emacs-25, for use on previous
+@code{emacsen}.")
+ (license license:gpl3+)))
+
+(define-public emacs-finalize
+ (package
+ (name "emacs-finalize")
+ (version "2.0.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://github.com/skeeto/elisp-finalize/archive/"
+ version ".tar.gz"))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "077fycy3i5f0kjw5z3rhf4kld5lbk2idz690nkwhkz04vppk4q4x"))))
+ (build-system emacs-build-system)
+ (propagated-inputs
+ `(("emacs-cl-generic" ,emacs-cl-generic)))
+ (home-page "https://github.com/skeeto/elisp-finalize")
+ (synopsis "Finalizers for Emacs Lisp")
+ (description
+ "This package will allows to immediately run a callback (a finalizer)
+after its registered lisp object has been garbage collected. This allows for
+extra resources, such as buffers and processes, to be cleaned up after the
+object has been freed.")
+ (license license:unlicense)))
+
+(define-public emacs-emacsql
+ (package
+ (name "emacs-emacsql")
+ (version "2.0.3")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://github.com/skeeto/emacsql/archive/"
+ version ".tar.gz"))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "04hfjdgl1zc7jysgjc7d7d3xqpr7q1q9gsmzffjd91ii3hpqjgx6"))))
+ (build-system emacs-build-system)
+ (arguments
+ `(#:modules ((guix build emacs-build-system)
+ (guix build utils)
+ (guix build emacs-utils)
+ (srfi srfi-26))
+ #:phases
+ (modify-phases %standard-phases
+ (delete 'build) ;‘build-emacsql-sqlite’ compiles ‘*.el’ files.
+ (add-before 'install 'patch-elisp-shell-shebangs
+ (lambda _
+ (substitute* (find-files "." "\\.el")
+ (("/bin/sh") (which "sh")))
+ #t))
+ (add-after 'patch-elisp-shell-shebangs 'setenv-shell
+ (lambda _
+ (setenv "SHELL" "sh")))
+ (add-after 'setenv-shell 'build-emacsql-sqlite
+ (lambda _
+ (invoke "make" "binary" "CC=gcc")))
+ (add-after 'build-emacsql-sqlite 'install-emacsql-sqlite
+ ;; This build phase installs emacs-emacsql binary.
+ (lambda* (#:key outputs #:allow-other-keys)
+ (install-file "sqlite/emacsql-sqlite"
+ (string-append (assoc-ref outputs "out")
+ "/bin"))
+ #t))
+ (add-after 'install-emacsql-sqlite 'patch-emacsql-sqlite.el
+ ;; This build phase removes interactive prompts
+ ;; and makes sure Emacs look for binaries in the right places.
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let ((file "emacsql-sqlite.el"))
+ (chmod file #o644)
+ (emacs-substitute-sexps file
+ ;; Avoid interactive prompts.
+ ("(defvar emacsql-sqlite-user-prompted" 't)
+ ;; Make sure Emacs looks for ‘GCC’ binary in the right place.
+ ("(executable-find" (which "gcc"))
+ ;; Make sure Emacs looks for ‘emacsql-sqlite’ binary
+ ;; in the right place.
+ ("(defvar emacsql-sqlite-executable"
+ (string-append (assoc-ref outputs "out")
+ "/bin/emacsql-sqlite"))))))
+ (replace 'install
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out")))
+ (install-file "sqlite/emacsql-sqlite"
+ (string-append out "/bin"))
+ (for-each (cut install-file <>
+ (string-append out "/share/emacs/site-lisp/guix.d/"
+ "emacsql" "-" ,version))
+ (find-files "." "\\.elc*$")))
+ #t)))))
+ (inputs
+ `(("emacs-minimal" ,emacs-minimal)
+ ("mysql" ,mysql)
+ ("postgresql" ,postgresql)))
+ (propagated-inputs
+ `(("emacs-finalize" ,emacs-finalize)
+ ("emacs-pg" ,emacs-pg)))
+ (home-page "https://github.com/skeeto/emacsql")
+ (synopsis "Emacs high-level SQL database front-end")
+ (description "Any readable Lisp value can be stored as a value in EmacSQL,
+including numbers, strings, symbols, lists, vectors, and closures. EmacSQL
+has no concept of @code{TEXT} values; it's all just Lisp objects. The Lisp
+object @code{nil} corresponds 1:1 with @code{NULL} in the database.")
+ (license license:gpl3+)))
+
+(define-public emacs-closql
+ (package
+ (name "emacs-closql")
+ (version "0.5.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://github.com/emacscollective/closql/archive/"
+ "v" version ".tar.gz"))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "0wa6r0kgbb7f19039p5f3di4dvrvxfgpd8bkam94fca7jvzj536c"))))
+ (build-system emacs-build-system)
+ (propagated-inputs
+ `(("emacs-emacsql" ,emacs-emacsql)))
+ (home-page "https://github.com/emacscollective/closql")
+ (synopsis "Store EIEIO objects using EmacSQL")
+ (description
+ "This package allows to store uniform EIEIO objects in an EmacSQL
+database. SQLite is used as backend. This library imposes some restrictions
+on what kind of objects can be stored; it isn't intended to store arbitrary
+objects. All objects have to share a common superclass and subclasses cannot
+add any additional instance slots.")
+ (license license:gpl3)))
+
+(define-public emacs-epkg
+ ;; The release version is to old for the current database scheme.
+ (let ((commit "432312b9583ed7b88ad9644fd1bf2183765a892e"))
+ (package
+ (name "emacs-epkg")
+ (version (git-version "3.0.0" "1" commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/emacscollective/epkg.git")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0d882kahn7a0vri7a9r15lvmfx1zn2hsga6jfcc6jv0hqbswlb2k"))))
+ (build-system emacs-build-system)
+ (propagated-inputs
+ `(("emacs-closql" ,emacs-closql)
+ ("emacs-dash" ,emacs-dash)))
+ (home-page "https://emacsmirror.net")
+ (synopsis "Browse the Emacsmirror package database")
+ (description "This package provides access to a local copy of the
+Emacsmirror package database. It provides low-level functions for querying
+the database and a @file{package.el} user interface for browsing the database.
+Epkg itself is not a package manager.
+
+Getting a local copy:
+
+@example
+git clone https://github.com/emacsmirror/epkgs.git ~/.emacs.d/epkgs
+cd ~/.emacs.d/epkgs
+git submodule init
+git config --global url.https://github.com/.insteadOf git@@github.com:
+git submodule update
+@end example
+
+Some submodule may be missing. In this case Git will prompt for a GitHub user
+name and password. To skip it press a @key{Return} key.
+
+You could get a Epkg package list by invoking @code{epkg-list-packages} in
+Emacs.")
+ (license license:gpl3+))))
diff --git a/gnu/packages/embedded.scm b/gnu/packages/embedded.scm
index 6f09c8f353..9e91ef49df 100644
--- a/gnu/packages/embedded.scm
+++ b/gnu/packages/embedded.scm
@@ -979,14 +979,14 @@ SPI, I2C, JTAG.")
(define-public fc-host-tools
(package
(name "fc-host-tools")
- (version "7")
+ (version "8")
(source (origin
(method url-fetch)
(uri (string-append "ftp://ftp.freecalypso.org/pub/GSM/"
"FreeCalypso/fc-host-tools-r" version ".tar.bz2"))
(sha256
(base32
- "0j0qh5m2irgdf4v9n4yhfdfqz9k8q27k0rx9m0xqc0ckbrih8d9r"))))
+ "00kl9442maaxnsjvl5qc4c6fzjkgr3hac9ax1z2k6ry6byfknj6z"))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f ; No tests exist.
diff --git a/gnu/packages/emulators.scm b/gnu/packages/emulators.scm
index 9d8e7fa1ae..232e14b47a 100644
--- a/gnu/packages/emulators.scm
+++ b/gnu/packages/emulators.scm
@@ -398,7 +398,7 @@ Super Game Boy, BS-X Satellaview, and Sufami Turbo.")
(define-public mgba
(package
(name "mgba")
- (version "0.6.1")
+ (version "0.6.3")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/mgba-emu/mgba/archive/"
@@ -406,7 +406,7 @@ Super Game Boy, BS-X Satellaview, and Sufami Turbo.")
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
- "0xmq1q1j71hnpd49wm91cqq8w5zdhb921cm17jchp4qjmaqgwy3w"))
+ "16hgs6r5iym3lp2cjcnv9955333976yc5sgy2kkxlsi005n91j1m"))
(modules '((guix build utils)))
(snippet
;; Make sure we don't use the bundled software.
@@ -882,7 +882,8 @@ Rice Video plugin.")
version ".tar.gz"))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
- (base32 "1x7wsjs5gx2iwx20p4cjcbf696zsjlh31qxmghwv0ifrq8x58s1b"))))
+ (base32 "1x7wsjs5gx2iwx20p4cjcbf696zsjlh31qxmghwv0ifrq8x58s1b"))
+ (patches (search-patches "mupen64plus-video-z64-glew-correct-path.patch"))))
(build-system gnu-build-system)
(native-inputs
`(("pkg-config" ,pkg-config)
@@ -1058,7 +1059,7 @@ emulation community. It provides highly accurate emulation.")
version ".tar.gz"))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
- (base32 "0fdribjfc5zz9brzhqcxw6m76kvyg13l67aiigszv4wsjd5j3gpz"))))
+ (base32 "1wykv0w0kdlh7lh0k1ig0lpk5vh4c7r19jlfa9103jmjlryrq679"))))
(build-system gnu-build-system)
(arguments
'(#:tests? #f ; no tests
diff --git a/gnu/packages/engineering.scm b/gnu/packages/engineering.scm
index 4d45aab772..1113cafec8 100644
--- a/gnu/packages/engineering.scm
+++ b/gnu/packages/engineering.scm
@@ -566,42 +566,24 @@ image, etc. Besides viewing Gerbers, you may also view Excellon drill files
as well as pick-place files.")
(license license:gpl2+)))
-(define-public ao
- (let ((commit "fb288c945aa7e30d9be10a564edad7e1b6a6c1ae")
- (revision "1"))
+(define-public libfive
+ (let ((commit "9d857d1923abecb0e5935b9287d22661f6efaac5")
+ (revision "2"))
(package
- (name "ao-cad") ;XXX: really "ao", but it collides with libao
+ (name "libfive")
(version (git-version "0" revision commit))
(source (origin
(method git-fetch)
(uri (git-reference
- (url "https://github.com/mkeeter/ao")
+ (url "https://github.com/libfive/libfive")
(commit commit)))
(sha256
(base32
- "0syplfqiq7ng7md44yriq5cz41jp8q9z3pl2iwkkllds6p9ylyal"))
- (file-name (git-file-name name version))
- (patches (search-patches "ao-cad-aarch64-support.patch"))
- (modules '((guix build utils)))
- (snippet
- ;; Remove bundled libraries: Eigen, glm, and catch. TODO:
- ;; Unbundle efsw <https://github.com/diegostamigni/efsw>.
- '(begin
- (delete-file-recursively "vendor")
-
- ;; Use #include <catch.hpp>.
- (substitute* (find-files "." "\\.[ch]pp$")
- (("catch/catch\\.hpp")
- "catch.hpp"))))))
+ "1r40kyx30wz31cwwlfvfh7fgqkxq3n8dxhswpi9qpf4r5h3l8wsn"))
+ (file-name (git-file-name name version))))
(build-system cmake-build-system)
(arguments
- `(;; Have the RUNPATH of libao.so point to $libdir, where libefsw.so
- ;; lives.
- #:configure-flags (list (string-append "-DCMAKE_SHARED_LINKER_FLAGS="
- "-Wl,-rpath="
- (assoc-ref %outputs "out")
- "/lib"))
-
+ `(#:tests? #f ; no "test" target
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'remove-native-compilation
@@ -615,64 +597,29 @@ as well as pick-place files.")
(setenv "CPLUS_INCLUDE_PATH"
(string-append eigen "/include/eigen3:"
(getenv "CPLUS_INCLUDE_PATH")))
- #t)))
- (add-after 'install 'install-guile-bindings
- (lambda* (#:key inputs outputs #:allow-other-keys)
- ;; Install the Guile bindings (the build system only installs
- ;; libao.so.)
- (let* ((out (assoc-ref outputs "out"))
- (moddir (string-append out "/share/guile/site/2.0")))
- (install-file "bind/libao.so"
- (string-append out "/lib"))
-
- ;; Go to the source directory.
- (with-directory-excursion ,(string-append "../"
- name "-" version
- "-checkout")
- (substitute* "bind/guile/ao/sys/libao.scm"
- (("\\(define libao \\(dynamic-link .*$")
- (string-append "(define libao (dynamic-link \""
- out "/lib/libao\")) ;")))
-
- (copy-recursively "bind/guile/ao" (string-append moddir "/ao"))
-
- (substitute* "bin/ao-guile"
- (("\\(add-to-load-path .*")
- (string-append "(add-to-load-path \"" moddir "\")")))
-
- (install-file "bin/ao-guile"
- (string-append out "/bin"))
-
- ;; Allow Ao to dlopen the relevant GL libraries. Otherwise
- ;; it fails with:
- ;; Couldn't find current GLX or EGL context.
- (let ((mesa (assoc-ref inputs "mesa")))
- (wrap-program (string-append out "/bin/ao-guile")
- `("LD_LIBRARY_PATH" ":" prefix
- (,(string-append mesa "/lib")))))
- #t)))))))
+ #t))))))
(native-inputs
`(("pkg-config" ,pkg-config)))
(inputs
`(("boost" ,boost)
("catch" ,catch-framework)
("libpng" ,libpng)
- ("glfw" ,glfw)
- ("libepoxy" ,libepoxy)
- ("mesa" ,mesa)
+ ("qtbase" ,qtbase)
("eigen" ,eigen)
- ("glm" ,glm)
- ("guile" ,guile-2.0)))
- (home-page "http://www.mattkeeter.com/projects/ao/")
+ ("guile" ,guile-2.2)))
+ (home-page "https://libfive.com")
(synopsis "Tool for programmatic computer-aided design")
(description
- "Ao is a tool for programmatic computer-aided design (CAD). In Ao,
-solid models are defined as Scheme scripts, and there are no opaque function
-calls into the geometry kernel: everything is visible to the user. Even
-fundamental, primitive shapes are represented as code in the user-level
+ "Libfive is a tool for programmatic computer-aided design (CAD). In
+libfive, solid models are defined as Scheme scripts, and there are no opaque
+function calls into the geometry kernel: everything is visible to the user.
+Even fundamental, primitive shapes are represented as code in the user-level
language.")
(license (list license:lgpl2.1+ ;library
- license:gpl2+))))) ;Guile bindings
+ license:gpl2+))))) ;Guile bindings and GUI
+
+(define-public ao
+ (deprecated-package "ao-cad" libfive))
;; We use kicad from a git commit, because support for boost 1.61.0 has been
;; recently added.
diff --git a/gnu/packages/firmware.scm b/gnu/packages/firmware.scm
index 714af3df72..9e91ceca4e 100644
--- a/gnu/packages/firmware.scm
+++ b/gnu/packages/firmware.scm
@@ -2,7 +2,7 @@
;;; Copyright © 2014, 2015, 2016 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2016 Eric Bavier <bavier@member.fsf.org>
;;; Copyright © 2017 David Craven <david@craven.ch>
-;;; Copyright © 2017 Efraim Flashner <efraim@flashner.co.il>
+;;; Copyright © 2017, 2018 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
;;;
;;; This file is part of GNU Guix.
@@ -24,6 +24,7 @@
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix packages)
#:use-module (guix download)
+ #:use-module (guix utils)
#:use-module (guix git-download)
#:use-module (guix build-system gnu)
#:use-module (gnu packages)
@@ -33,6 +34,7 @@
#:use-module (gnu packages cmake)
#:use-module (gnu packages cross-base)
#:use-module (gnu packages flex)
+ #:use-module (gnu packages gcc)
#:use-module (gnu packages linux)
#:use-module (gnu packages perl)
#:use-module (gnu packages python))
@@ -309,3 +311,96 @@ coreboot.")
Virtual Machines. OVMF contains a sample UEFI firmware for QEMU and KVM.")
(license (list license:expat
license:bsd-2 license:bsd-3 license:bsd-4))))
+
+(define* (make-arm-trusted-firmware platform #:optional (arch "aarch64"))
+ (package
+ (name (string-append "arm-trusted-firmware-" platform))
+ (version "1.5")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ ;; There are only GitHub generated release snapshots.
+ (url "https://github.com/ARM-software/arm-trusted-firmware.git")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name "arm-trusted-firmware" version))
+ (sha256
+ (base32
+ "1gm0bn2llzfzz9bfsz11fhwxj5lxvyrq7bc13fjj033nljzxn7k8"))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (delete 'configure) ; no configure script
+ (replace 'install
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let ((out (assoc-ref outputs "out"))
+ (bin (find-files "." ".*\\.bin$")))
+ (for-each
+ (lambda (file)
+ (install-file file out))
+ bin))
+ #t)))
+ #:make-flags (list (string-append "PLAT=" ,platform)
+ ,@(if (and (not (string-prefix? "aarch64"
+ (%current-system)))
+ (string-prefix? "aarch64" arch))
+ `("CROSS_COMPILE=aarch64-linux-gnu-")
+ '())
+ ,@(if (and (not (string-prefix? "armhf"
+ (%current-system)))
+ (string-prefix? "armhf" arch))
+ `("CROSS_COMPILE=arm-linux-gnueabihf-")
+ '())
+ "DEBUG=1")
+ #:tests? #f)) ; no tests
+ (native-inputs
+ `(,@(if (and (not (string-prefix? "aarch64" (%current-system)))
+ (string-prefix? "aarch64" arch))
+ ;; gcc-7 since it is used for u-boot, which needs gcc-7.
+ `(("cross-gcc" ,(cross-gcc "aarch64-linux-gnu" #:xgcc gcc-7))
+ ("cross-binutils" ,(cross-binutils "aarch64-linux-gnu")))
+ '())
+ ,@(if (and (not (string-prefix? "armhf" (%current-system)))
+ (string-prefix? "armhf" arch))
+ ;; gcc-7 since it is used for u-boot, which needs gcc-7.
+ `(("cross-gcc" ,(cross-gcc "arm-linux-gnueabihf" #:xgcc gcc-7))
+ ("cross-binutils" ,(cross-binutils "arm-linux-gnueabihf")))
+ '())
+ ))
+ (home-page "https://github.com/ARM-software/arm-trusted-firmware")
+ (synopsis "Implementation of \"secure world software\"")
+ (description
+ "ARM Trusted Firmware provides a reference implementation of secure world
+software for ARMv7A and ARMv8-A, including a Secure Monitor executing at
+@dfn{Exception Level 3} (EL3). It implements various ARM interface standards,
+such as:
+@enumerate
+@item The Power State Coordination Interface (PSCI)
+@item Trusted Board Boot Requirements (TBBR, ARM DEN0006C-1)
+@item SMC Calling Convention
+@item System Control and Management Interface
+@item Software Delegated Exception Interface (SDEI)
+@end enumerate\n")
+ (license (list license:bsd-3
+ license:bsd-2)))) ; libfdt
+
+(define-public arm-trusted-firmware-pine64-plus
+ (let ((base (make-arm-trusted-firmware "sun50iw1p1"))
+ ;; Vendor's arm trusted firmware branch hasn't been upstreamed yet.
+ (commit "ae78724247a01560164d607ed66db111c74d8df0")
+ (revision "1"))
+ (package
+ (inherit base)
+ (name "arm-trusted-firmware-pine64-plus")
+ (version (string-append "1.2-" revision "." (string-take commit 7)))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/apritzel/arm-trusted-firmware.git")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0r4xnlq7v9khjfcg6gqp7nmrmnw4z1r8bipwdr07png1dcbb8214")))))))
diff --git a/gnu/packages/flashing-tools.scm b/gnu/packages/flashing-tools.scm
index 36c8353ee0..bc4bbd876a 100644
--- a/gnu/packages/flashing-tools.scm
+++ b/gnu/packages/flashing-tools.scm
@@ -48,6 +48,7 @@
(define-public flashrom
(package
(name "flashrom")
+ ;; XXX: The CFLAGS=... line below can probably be removed when updating.
(version "1.0")
(source (origin
(method url-fetch)
@@ -64,9 +65,13 @@
("libftdi" ,libftdi)))
(native-inputs `(("pkg-config" ,pkg-config)))
(arguments
- '(#:make-flags (list "CC=gcc"
- (string-append "PREFIX=" %output)
- "CONFIG_ENABLE_LIBUSB0_PROGRAMMERS=no")
+ '(#:make-flags
+ (list "CC=gcc"
+ ;; The default includes ‘-Wall -Werror’, causing the build to fail
+ ;; with deprecation warnings against libusb versions >= 1.0.22.
+ "CFLAGS=-Os -Wshadow"
+ (string-append "PREFIX=" %output)
+ "CONFIG_ENABLE_LIBUSB0_PROGRAMMERS=no")
#:tests? #f ; no 'check' target
#:phases
(modify-phases %standard-phases
@@ -440,3 +445,35 @@ ME as far as possible (it only edits ME firmware image files).")
;; This is an Intel thing.
(supported-systems '("x86_64-linux" "i686-linux"))))
+
+(define-public uefitool
+ (package
+ (name "uefitool")
+ (version "0.22.4")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "https://github.com/LongSoft/UEFITool/archive/"
+ version ".tar.gz"))
+ (sha256
+ (base32
+ "05jmhv7jpq08kqbd1477y1lgyjvcic3njrd0bmzdy7v7b7lnhl82"))
+ (file-name (string-append name "-" version ".tar.gz"))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (replace 'configure
+ (lambda _
+ (invoke "qmake" "-makefile")))
+ (replace 'install
+ (lambda* (#:key outputs #:allow-other-keys)
+ (install-file "UEFITool" (string-append (assoc-ref outputs "out")
+ "/bin"))
+ #t)))))
+ (inputs
+ `(("qtbase" ,qtbase)))
+ (home-page "https://github.com/LongSoft/UEFITool/")
+ (synopsis "UEFI image editor")
+ (description "@code{uefitool} is a graphical image file editor for
+Unifinished Extensible Firmware Interface (UEFI) images.")
+ (license license:bsd-2)))
diff --git a/gnu/packages/fonts.scm b/gnu/packages/fonts.scm
index 4b9c3e9baf..8e892da279 100644
--- a/gnu/packages/fonts.scm
+++ b/gnu/packages/fonts.scm
@@ -19,7 +19,7 @@
;;; Copyright © 2017 Alex Griffin <a@ajgrf.com>
;;; Copyright © 2017 Clément Lassieur <clement@lassieur.org>
;;; Copyright © 2017 Brendan Tildesley <brendan.tildesley@openmailbox.org>
-;;; Copyright © 2017 Arun Isaac <arunisaac@systemreboot.net>
+;;; Copyright © 2017, 2018 Arun Isaac <arunisaac@systemreboot.net>
;;; Copyright © 2017 Mohammed Sadiq <sadiq@sadiqpk.org>
;;; Copyright © 2018 Charlie Ritter <chewzerita@posteo.net>
;;;
@@ -197,32 +197,12 @@ sans-serif designed for on-screen reading. It is used by GNOME@tie{}3.")
(name "font-lato")
(version "2.010")
(source (origin
- (method url-fetch)
+ (method url-fetch/zipbomb)
(uri (string-append "http://www.latofonts.com/download/Lato2OFL.zip"))
(sha256
(base32
"1f5540g0ja1nx3ddd3ywn77xc81ssrxpq8n3gyb9sabyq2b4xda2"))))
- (build-system trivial-build-system)
- (arguments
- `(#:modules ((guix build utils))
- #:builder (begin
- (use-modules (guix build utils)
- (srfi srfi-26))
-
- (let ((PATH (string-append (assoc-ref %build-inputs
- "unzip")
- "/bin"))
- (font-dir (string-append %output
- "/share/fonts/truetype")))
- (setenv "PATH" PATH)
- (system* "unzip" (assoc-ref %build-inputs "source"))
-
- (mkdir-p font-dir)
- (for-each (lambda (ttf)
- (install-file ttf font-dir))
- (find-files "." "\\.ttf$"))))))
-
- (native-inputs `(("unzip" ,unzip)))
+ (build-system font-build-system)
(home-page "http://www.latofonts.com/lato-free-fonts/")
(synopsis "Lato sans-serif typeface")
(description
@@ -325,37 +305,24 @@ The Liberation Fonts are sponsored by Red Hat.")
(sha256
(base32
"0x7cz6hvhpil1rh03rax9zsfzm54bh7r4bbrq8rz673gl9h47v0v"))))
- (build-system gnu-build-system)
+ (build-system font-build-system)
(arguments
- `(#:tests? #f ; there are no tests
- #:modules ((guix build utils)
- (guix build gnu-build-system)
- (srfi srfi-1)
- (srfi srfi-26))
- #:phases
+ `(#:phases
(modify-phases %standard-phases
- (delete 'configure)
- (replace 'build
+ (add-before 'install 'build
(lambda _
(let ((compile
(lambda (name ext)
- (zero? (system*
- "fontforge" "-lang=ff"
- "-c" (string-append "Open('" name "');"
- "Generate('"
- (basename name "sfd") ext
- "')"))))))
- (every (lambda (name)
- (and (compile name "ttf")
- (compile name "otf")))
- (find-files "." "\\.sfd$")))))
- (replace 'install
- (lambda* (#:key outputs #:allow-other-keys)
- (let ((font-dir (string-append (assoc-ref outputs "out")
- "/share/fonts/truetype")))
- (mkdir-p font-dir)
- (for-each (cut install-file <> font-dir)
- (find-files "." "\\.(otf|ttf)$"))
+ (invoke
+ "fontforge" "-lang=ff"
+ "-c" (string-append "Open('" name "');"
+ "Generate('"
+ (basename name "sfd") ext
+ "')")))))
+ (for-each (lambda (name)
+ (and (compile name "ttf")
+ (compile name "otf")))
+ (find-files "." "\\.sfd$"))
#t))))))
(native-inputs
`(("fontforge" ,fontforge)))
@@ -1222,62 +1189,40 @@ It comes in 7 incremental weights:
ExtraLight, Light, Book, Medium, Semibold, Bold & ExtraBold")
(license license:silofl1.1)))
-(define-public culmus
+(define-public font-culmus
(package
- (name "culmus")
+ (name "font-culmus")
(version "0.132")
(source
- (origin
- (method url-fetch)
- (uri (string-append "https://sourceforge.net/projects/"
- "culmus/files/culmus/" version "/culmus-src-"
- version ".tar.gz"))
- (sha256
- (base32
- "1djxalm26r7bcq33ckmfa15xfs6pmqzvcl64d5lqa1dl01bl4j4z"))))
- (build-system gnu-build-system)
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://sourceforge.net/projects/"
+ "culmus/files/culmus/" version "/culmus-src-"
+ version ".tar.gz"))
+ (sha256
+ (base32
+ "1djxalm26r7bcq33ckmfa15xfs6pmqzvcl64d5lqa1dl01bl4j4z"))))
+ (build-system font-build-system)
(arguments
- `(#:tests? #f ; no tests
- #:modules ((guix build utils)
- (guix build gnu-build-system)
- (srfi srfi-1)
- (srfi srfi-26))
- #:phases
+ `(#:phases
(modify-phases %standard-phases
- (delete 'configure)
- (replace 'build
+ (add-before 'install 'build
(lambda _
(let ((compile
(lambda (name ext)
- (zero? (system*
- "fontforge" "-lang=ff"
- "-c" (string-append "Open('" name "');"
- "Generate('"
- (basename name "sfd") ext
- "')"))))))
+ (invoke
+ "fontforge" "-lang=ff"
+ "-c" (string-append "Open('" name "');"
+ "Generate('"
+ (basename name "sfd") ext
+ "')")))))
;; This part based on the fonts shipped in the non-source package.
- (every (lambda (name)
- (compile name "ttf"))
- (find-files "." "^[^Nachlieli].*\\.sfd$"))
- (every (lambda (name)
- (compile name "otf"))
- (find-files "." "^Nachlieli.*\\.sfd$"))
- #t)))
- (replace 'install
- (lambda* (#:key outputs #:allow-other-keys)
- (let* ((out (assoc-ref %outputs "out"))
- (ttf (string-append out "/share/fonts/truetype"))
- (otf (string-append out "/share/fonts/opentype"))
- (license (string-append out "/share/doc/" ,name)))
- (for-each (lambda (file)
- (install-file file ttf))
- (find-files "." "\\.ttf$"))
- (for-each (lambda (file)
- (install-file file otf))
- (find-files "." "\\.otf$"))
- (for-each (lambda (file)
- (install-file file license))
- '("GNU-GPL" "LICENSE" "LICENSE-BITSTREAM"))
+ (for-each (lambda (name)
+ (compile name "ttf"))
+ (find-files "." "^[^Nachlieli].*\\.sfd$"))
+ (for-each (lambda (name)
+ (compile name "otf"))
+ (find-files "." "^Nachlieli.*\\.sfd$"))
#t))))))
(native-inputs
`(("fontforge" ,fontforge)))
@@ -1289,3 +1234,24 @@ serif (Nachlieli) and monospaced (Miriam Mono) trivials. Also included Miriam,
Drugulin, Aharoni, David, Hadasim etc. Cantillation marks support is
available in Keter YG.")
(license license:gpl2))) ; consult the LICENSE file included
+
+(define-public font-lohit
+ (package
+ (name "font-lohit")
+ (version "20140220")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://releases.pagure.org/lohit/lohit-ttf-"
+ version ".tar.gz"))
+ (sha256
+ (base32
+ "1rmgr445hw1n851ywy28csfvswz1i6hnc8mzp88qw2xk9j4dn32d"))))
+ (build-system font-build-system)
+ (home-page "https://pagure.io/lohit")
+ (synopsis "Lohit TrueType Indic fonts")
+ (description "Lohit is a font family designed to cover Indic scripts.
+Lohit supports the Assamese, Bengali, Devanagari (Hindi, Kashmiri, Konkani,
+Maithili, Marathi, Nepali, Sindhi, Santali, Bodo, Dogri languages), Gujarati,
+Kannada, Malayalam, Manipuri, Oriya, Punjabi, Tamil and Telugu scripts.")
+ (license license:silofl1.1)))
diff --git a/gnu/packages/fontutils.scm b/gnu/packages/fontutils.scm
index 061e1bc0a1..27c88f9331 100644
--- a/gnu/packages/fontutils.scm
+++ b/gnu/packages/fontutils.scm
@@ -437,13 +437,13 @@ resolution.")
(define-public libotf
(package
(name "libotf")
- (version "0.9.13")
+ (version "0.9.16")
(source (origin
(method url-fetch)
(uri (string-append "mirror://savannah/m17n/libotf-"
version ".tar.gz"))
(sha256
- (base32 "0239zvfan56w7vrppriwy77fzb10ag9llaz15nsraps2a2x6di3v"))))
+ (base32 "0sq6g3xaxw388akws6qrllp3kp2sxgk2dv4j79k6mm52rnihrnv8"))))
(build-system gnu-build-system)
(native-inputs
`(("pkg-config" ,pkg-config)))
diff --git a/gnu/packages/freedesktop.scm b/gnu/packages/freedesktop.scm
index 867e2398cb..11a58d1b2f 100644
--- a/gnu/packages/freedesktop.scm
+++ b/gnu/packages/freedesktop.scm
@@ -761,7 +761,7 @@ interfaces, based on the useradd, usermod and userdel commands.")
(define-public libmbim
(package
(name "libmbim")
- (version "1.12.4")
+ (version "1.16.0")
(source (origin
(method url-fetch)
(uri (string-append
@@ -769,7 +769,7 @@ interfaces, based on the useradd, usermod and userdel commands.")
name "-" version ".tar.xz"))
(sha256
(base32
- "0flpgzsqpjgybjkx4smbb4rjxf2w1xgd1v9gmz61rvl89qasznbv"))))
+ "1hpsjc7bzmakzvj8z9fffvqknc38fa8ridpmklq46jyxxnz51jn8"))))
(build-system gnu-build-system)
(native-inputs
`(("glib:bin" ,glib "bin") ; for glib-mkenums
diff --git a/gnu/packages/fribidi.scm b/gnu/packages/fribidi.scm
index c8a91be4ef..0368779240 100644
--- a/gnu/packages/fribidi.scm
+++ b/gnu/packages/fribidi.scm
@@ -1,6 +1,7 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2014 Marek Benc <merkur32@gmail.com>
;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il>
+;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -26,7 +27,7 @@
(define-public fribidi
(package
(name "fribidi")
- (version "1.0.1")
+ (version "1.0.2")
(source
(origin
(method url-fetch)
@@ -35,9 +36,11 @@
"/download/v" version "/fribidi-" version
".tar.bz2"))
(sha256
- (base32 "1r3ll7apx4b8bhvdkwi71y06df9kvr4q3asvajswvdlh0pbq5cf1"))))
-
+ (base32 "0aw3i1g96axbr96flw4543dvhb8zlgb0w8314ks6cq2g1i9invdx"))))
(build-system gnu-build-system)
+ (arguments
+ `(#:configure-flags
+ (list "--disable-docs"))) ; TODO: enable; requires c2man
(synopsis "Implementation of the Unicode bidirectional algorithm")
(description
"GNU FriBidi is an implementation of the Unicode Bidirectional
diff --git a/gnu/packages/ftp.scm b/gnu/packages/ftp.scm
index 4ad6bcbf1b..74c1aea58e 100644
--- a/gnu/packages/ftp.scm
+++ b/gnu/packages/ftp.scm
@@ -210,7 +210,7 @@ output.
(define-public filezilla
(package
(name "filezilla")
- (version "3.29.0")
+ (version "3.31.0")
(source
(origin
(method url-fetch)
@@ -219,7 +219,7 @@ output.
"/FileZilla_" version "_src" ".tar.bz2"))
(sha256
(base32
- "0najf2w6p5j4qc8jmglx6j63mph749s5p90lz2nkmwwwy5sfvlga"))))
+ "1rfysb8dil35a7bzj2kw0mzzkys39d7yn6ipsbk8l6rkwfvnii8l"))))
(build-system gnu-build-system)
(arguments
;; Don't let filezilla phone home to check for updates.
diff --git a/gnu/packages/game-development.scm b/gnu/packages/game-development.scm
index 03a70bea49..0039a738cc 100644
--- a/gnu/packages/game-development.scm
+++ b/gnu/packages/game-development.scm
@@ -298,7 +298,7 @@ files) into @file{.grf} and/or @file{.nfo} files.")
(synopsis "2D game engine for Python")
(description
"The SGE Game Engine (\"SGE\", pronounced like \"Sage\") is a
-general-purpose 2D game engine. It takes care of several details fro you so
+general-purpose 2D game engine. It takes care of several details for you so
you can focus on the game itself. This makes more rapid game development
possible, and it also makes the SGE easy to learn.")
(license license:lgpl3+)))
@@ -386,7 +386,7 @@ support.")
(define-public tiled
(package
(name "tiled")
- (version "1.1.3")
+ (version "1.1.4")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/bjorn/tiled/archive/v"
@@ -394,7 +394,7 @@ support.")
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
- "08bxl6vc7ynnji4r6ij9ayr2jixvfhv4daplw5p96s0gkhdqd90k"))))
+ "0xb3zwcdk7khdrza6spl02g5n2xbij6nbszv8vi27vagjnmz1wxh"))))
(build-system gnu-build-system)
(inputs
`(("qtbase" ,qtbase)
diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm
index d8e3e0d363..b7eda0fdc4 100644
--- a/gnu/packages/games.scm
+++ b/gnu/packages/games.scm
@@ -24,7 +24,7 @@
;;; Copyright © 2016 Steve Webber <webber.sl@gmail.com>
;;; Copyright © 2017 Adonay "adfeno" Felipe Nogueira <https://libreplanet.org/wiki/User:Adfeno> <adfeno@hyperbola.info>
;;; Copyright © 2017, 2018 Arun Isaac <arunisaac@systemreboot.net>
-;;; Copyright © 2017 Tobias Geerinckx-Rice <me@tobias.gr>
+;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2017 nee <nee-git@hidamari.blue>
;;; Copyright © 2017 Clément Lassieur <clement@lassieur.org>
;;; Copyright © 2017 Marius Bakke <mbakke@fastmail.com>
@@ -4607,15 +4607,16 @@ elements to achieve a simple goal in the most complex way possible.")
(define-public pioneer
(package
(name "pioneer")
- (version "20171001")
+ (version "20180203")
(source (origin
- (method url-fetch)
- (uri (string-append "https://github.com/pioneerspacesim/pioneer/"
- "archive/" version ".tar.gz"))
- (file-name (string-append name "-" version ".tar.gz"))
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/pioneerspacesim/pioneer.git")
+ (commit version)))
+ (file-name (git-file-name name version))
(sha256
(base32
- "1nxhx22swfqq6lfvcnpfm31wig3sjv5pp0rslj79nbxc7nyihh8m"))))
+ "0hp2mf36kj2v93hka8m8lxw2qhmnjc62wjlpw7c7ix0r8xa01i6h"))))
(build-system gnu-build-system)
(native-inputs
`(("autoconf" ,autoconf)
@@ -4767,7 +4768,7 @@ You can save humanity and get programming skills!")
(define-public gzdoom
(package
(name "gzdoom")
- (version "3.2.5")
+ (version "3.3.0")
(source (origin
(method url-fetch)
(uri
@@ -4775,7 +4776,7 @@ You can save humanity and get programming skills!")
version ".zip"))
(sha256
(base32
- "1164d1zf5in98gp4j981ml3hwmks3q7vzfanlqpjlx2c09jmlv0q"))
+ "09a4kx3ry8pc9r578m7yprwa7zsdqxjpn10lyc92r5g9sx4l1m1a"))
(patches (search-patches "gzdoom-search-in-installed-share.patch"))
(modules '((guix build utils)))
(snippet
diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index 0bb1f8c6bc..43ea75a1d4 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -725,7 +725,7 @@ forgotten when the session ends.")
(define-public evince
(package
(name "evince")
- (version "3.26.0")
+ (version "3.28.0")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/" name "/"
@@ -733,7 +733,7 @@ forgotten when the session ends.")
name "-" version ".tar.xz"))
(sha256
(base32
- "1n69lkiagx2x8lrdbvdlz6c051cvzhma73b3ggnw7w1wfkdpnmkr"))))
+ "1a3kcls18dcz1lj8hrx8skcli9xxfyi71c17xjwayh71cm5jc8zs"))))
(build-system glib-or-gtk-build-system)
(arguments
`(#:configure-flags '("--disable-nautilus")
@@ -772,6 +772,11 @@ forgotten when the session ends.")
("dconf" ,dconf)
("libcanberra" ,libcanberra)
("libsecret" ,libsecret)
+
+ ;; XXX: 'libarchive.pc' adds '-lnettle' so Nettle should really be
+ ;; propagated from there.
+ ("nettle" ,nettle)
+
;; For tests.
("dogtail" ,python2-dogtail)))
(native-inputs
@@ -2450,7 +2455,7 @@ libxml to ease remote use of the RESTful API.")
(define-public libsoup
(package
(name "libsoup")
- (version "2.62.0")
+ (version "2.62.1")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/libsoup/"
@@ -2458,7 +2463,7 @@ libxml to ease remote use of the RESTful API.")
name "-" version ".tar.xz"))
(sha256
(base32
- "1b5aff1igbsx1h4v3wmkffvzgiy8rscibqka7fmjf2lxs7l7lz5b"))))
+ "1mw3b3j4f4ln7hl03jd296rx78dy35hzlq005a21r6qg5sndsdzh"))))
(build-system gnu-build-system)
(outputs '("out" "doc"))
(arguments
@@ -2574,7 +2579,7 @@ and the GLib main loop, to integrate well with GNOME applications.")
(define-public libsecret
(package
(name "libsecret")
- (version "0.18.5")
+ (version "0.18.6")
(source (origin
(method url-fetch)
(uri (string-append
@@ -2583,7 +2588,7 @@ and the GLib main loop, to integrate well with GNOME applications.")
name "-" version ".tar.xz"))
(sha256
(base32
- "1cychxc3ff8fp857iikw0n2s13s2mhw2dn1mr632f7w3sn6vvrww"))))
+ "0vynag97a9bnnb8ipah45av8xg8jzmhd572rw3zj78s1pa8ciysy"))))
(build-system gnu-build-system)
(outputs '("out" "doc"))
(arguments
@@ -2840,7 +2845,7 @@ output devices.")
(define-public geoclue
(package
(name "geoclue")
- (version "2.4.7")
+ (version "2.4.8")
(source
(origin
(method url-fetch)
@@ -2849,7 +2854,7 @@ output devices.")
name "-" version ".tar.xz"))
(sha256
(base32
- "19hfmr8fa1js8ynazdyjxlyrqpjn6m1719ay70ilga4rayxrcyyi"))
+ "08yg1r7m0n9hwyvcy769qkmkf8lslqwv69cjfffwnc3zm5km25qj"))
(patches (search-patches "geoclue-config.patch"))))
(build-system glib-or-gtk-build-system)
(arguments
@@ -3127,7 +3132,7 @@ playlists in a variety of formats.")
(define-public aisleriot
(package
(name "aisleriot")
- (version "3.22.4")
+ (version "3.22.5")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/" name "/"
@@ -3135,7 +3140,7 @@ playlists in a variety of formats.")
name "-" version ".tar.xz"))
(sha256
(base32
- "1yrldsf73rd5p51dsxgbx1hmrakq0x0jc2kl6y6pgaviswxfx3gy"))))
+ "0rl39psr5xi584310pyrgw36ini4wn7yr2m1q5118w3a3v1dkhzh"))))
(build-system glib-or-gtk-build-system)
(arguments
'(#:configure-flags
@@ -3347,7 +3352,7 @@ presentations, kiosk style applications and so on.")
(define-public clutter-gst
(package
(name "clutter-gst")
- (version "3.0.24")
+ (version "3.0.26")
(source
(origin
(method url-fetch)
@@ -3356,7 +3361,7 @@ presentations, kiosk style applications and so on.")
name "-" version ".tar.xz"))
(sha256
(base32
- "0v6cg0syh4vx7y7ni47jsvr2r57q0j3h1f1gjlp0ciscixywiwg9"))))
+ "0fnblqm4igdx4rn3681bp1gm1y2i00if3iblhlm0zv6ck9nqlqfq"))))
(build-system gnu-build-system)
(native-inputs
`(("glib:bin" ,glib "bin") ; for glib-mkenums
@@ -3482,7 +3487,7 @@ GNOME Games, but it may be used by others.")
(define-public gnome-klotski
(package
(name "gnome-klotski")
- (version "3.22.2")
+ (version "3.22.3")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/" name "/"
@@ -3490,7 +3495,7 @@ GNOME Games, but it may be used by others.")
name "-" version ".tar.xz"))
(sha256
(base32
- "16hd6yk01rhb4pj8m01fyn72wykf41d72gsms81q0n4zm5bm1a4h"))))
+ "0prc0s28pdflgzyvk1g0yfx982q2grivmz3858nwpqmbkha81r7f"))))
(build-system glib-or-gtk-build-system)
(native-inputs
`(("desktop-file-utils" ,desktop-file-utils)
@@ -4357,7 +4362,7 @@ wraps things up in a developer-friendly way.")
(define-public libgee
(package
(name "libgee")
- (version "0.20.0")
+ (version "0.20.1")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/" name "/"
@@ -4365,7 +4370,7 @@ wraps things up in a developer-friendly way.")
name "-" version ".tar.xz"))
(sha256
(base32
- "1fy24dr8imrjlmsqj1syn0gi139gba6hwk3j5vd6sr3pxniqnc11"))))
+ "0c26x8gi3ivmhlbqcmiag4jwrkvcy28ld24j55nqr3jikb904a5v"))))
(build-system gnu-build-system)
(arguments
`(#:phases
@@ -4394,7 +4399,7 @@ classes for commonly used data structures.")
(define-public gexiv2
(package
(name "gexiv2")
- (version "0.10.7")
+ (version "0.10.8")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/" name "/"
@@ -4402,7 +4407,7 @@ classes for commonly used data structures.")
name "-" version ".tar.xz"))
(sha256
(base32
- "1f7312zygw77ml37i5qilhfvmjm59dn753ax71rcb2jm1p76vgcb"))))
+ "0088m7p044n741ly1m6i7w25z513h9wpgyw0rmx5f0sy3vyjiic1"))))
(build-system meson-build-system)
(native-inputs
`(("glib" ,glib "bin")
@@ -5658,7 +5663,7 @@ as SASL, TLS and VeNCrypt. Additionally it supports encoding extensions.")
(define-public gnome-autoar
(package
(name "gnome-autoar")
- (version "0.2.2")
+ (version "0.2.3")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/" name "/"
@@ -5666,7 +5671,7 @@ as SASL, TLS and VeNCrypt. Additionally it supports encoding extensions.")
name "-" version ".tar.xz"))
(sha256
(base32
- "0qnafiwgajsaryh669lfclb4f6z5n1r9r4zhig1ha0ykxq32rzp1"))))
+ "02i4zgqqqj56h7bcys6dz7n78m4nj2x4dv1ggjmnrk98n06xpsax"))))
(build-system glib-or-gtk-build-system)
(native-inputs
`(("gnome-common" ,gnome-common)
diff --git a/gnu/packages/gnunet.scm b/gnu/packages/gnunet.scm
index 7f442910eb..b6062625c0 100644
--- a/gnu/packages/gnunet.scm
+++ b/gnu/packages/gnunet.scm
@@ -186,13 +186,16 @@ authentication and support for SSL3 and TLS.")
(define-public gnurl
(package
(name "gnurl")
- (version "7.58.0")
+ (version "7.59.0")
(source (origin
(method url-fetch)
- (uri (string-append "mirror://gnu/gnunet/" name "-" version ".tar.xz"))
+ (uri (list (string-append "mirror://gnu/gnunet/" name "-" version ".tar.xz")
+ ;; TODO: Remove once gnurl-7.59.0 release has synced to ftp.gnu.org
+ (string-append "https://ftp.n0.is/pub/releases/gnurl/"
+ name "-" version ".tar.xz")))
(sha256
(base32
- "1yyswsz0csplqi8hlhqaxlafqn5kh5016j8k2gaxziv4cb343znx"))))
+ "0fdwqxs4crzj1nbq3lz0xbqjiiqpq16vpll09gryyq4c1y6lbyib"))))
(build-system gnu-build-system)
(outputs '("out"
"doc")) ; 1.5 MiB of man3 pages
diff --git a/gnu/packages/gnupg.scm b/gnu/packages/gnupg.scm
index 33e933d13a..29421446ed 100644
--- a/gnu/packages/gnupg.scm
+++ b/gnu/packages/gnupg.scm
@@ -38,6 +38,7 @@
#:use-module (gnu packages base)
#:use-module (gnu packages curl)
#:use-module (gnu packages crypto)
+ #:use-module (gnu packages emacs)
#:use-module (gnu packages openldap)
#:use-module (gnu packages perl)
#:use-module (gnu packages perl-check)
@@ -214,21 +215,19 @@ compatible to GNU Pth.")
(define-public gnupg
(package
(name "gnupg")
- (version "2.2.5")
+ (version "2.2.6")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnupg/gnupg/gnupg-" version
".tar.bz2"))
(sha256
(base32
- "0mzgibq4dpxh3i9anmwg12xdjry28y83icafhx3j3djg5niqk89z"))))
+ "110rf476l3cgn52gh9ia5y0y06y2ialq9dqc12jkhnfhl9gqqkg6"))))
(build-system gnu-build-system)
(native-inputs
`(("pkg-config" ,pkg-config)))
(inputs
- `(("bzip2" ,bzip2)
- ("curl" ,curl)
- ("gnutls" ,gnutls)
+ `(("gnutls" ,gnutls)
("libassuan" ,libassuan)
("libgcrypt" ,libgcrypt)
("libgpg-error" ,libgpg-error)
@@ -568,7 +567,7 @@ signing, decryption, verification, and key-listing parsing.")
(define-public pius
(package
(name "pius")
- (version "2.2.4")
+ (version "2.2.6")
(source (origin
(method url-fetch)
(uri (string-append
@@ -576,7 +575,7 @@ signing, decryption, verification, and key-listing parsing.")
version "/pius-" version ".tar.bz2"))
(sha256
(base32
- "0lgc0ipwdfqbq16zax8kn17wbv8xyw4ygc09fawl2yp459z0ql4n"))))
+ "1893hzpx3zv724drqv48csrn0cm98xw4ymb1zmhs2jvjj1778zfj"))))
(build-system python-build-system)
(inputs `(("perl" ,perl) ;for 'pius-party-worksheet'
("gpg" ,gnupg)))
@@ -738,6 +737,16 @@ including tools for signing keys, keyring analysis, and party preparation.
(ftp-directory . "/gcrypt/pinentry")
(upstream-name . "pinentry")))))
+(define-public pinentry-emacs
+ (package
+ (inherit pinentry-tty)
+ (name "pinentry-emacs")
+ (arguments
+ `(#:configure-flags '("--enable-pinentry-emacs")))
+ (description
+ "Pinentry provides a console and an Emacs interface that allows users to
+enter a passphrase when required by @code{gpg} or other software.")))
+
(define-public pinentry-gtk2
(package
(inherit pinentry-tty)
@@ -933,7 +942,7 @@ over.")
(define-public jetring
(package
(name "jetring")
- (version "0.25")
+ (version "0.27")
(source
(origin
(method url-fetch)
@@ -941,7 +950,7 @@ over.")
name "_" version ".tar.xz"))
(sha256
(base32
- "0shcnnw0h31b08vmnvf18ni33dg40w18wv9smb69vkklz3h4jhpw"))))
+ "0jy0x5zj7v87xgyldlsx1knzp0mv10wzamblrw1b61i2m1ii4pxz"))))
(build-system gnu-build-system)
(arguments
'(#:phases
diff --git a/gnu/packages/gnuzilla.scm b/gnu/packages/gnuzilla.scm
index 4a8f18a2e4..1d053152d7 100644
--- a/gnu/packages/gnuzilla.scm
+++ b/gnu/packages/gnuzilla.scm
@@ -452,7 +452,22 @@ security standards.")
(mozilla-patch "icecat-CVE-2018-5125-pt9.patch" "8a16f439117c" "108iarql6z7h1r4rlzac6n6lrzs78x7kcdbfa0b5dbr5xc66jmgb")
(mozilla-patch "icecat-bug-1426603.patch" "ca0b92ecedee" "0dc3mdl4a3hrq4j384zjavf3splj6blv4masign710hk7svlgbhq")
(mozilla-patch "icecat-CVE-2018-5146.patch" "494e5d5278ba" "1yb4lxjw499ppwhk31vz0vzl0cfqvj9d4jwqag7ayj53ybwsqgjr")
- (mozilla-patch "icecat-CVE-2018-5147.patch" "5cd5586a2f48" "10s774pwvj6xfk3kk6ivnhp2acc8x9sqq6na8z47nkhgwl2712i5")))
+ (mozilla-patch "icecat-CVE-2018-5147.patch" "5cd5586a2f48" "10s774pwvj6xfk3kk6ivnhp2acc8x9sqq6na8z47nkhgwl2712i5")
+ (mozilla-patch "icecat-CVE-2018-5148.patch" "c3e447e07077" "0gmwy631f8ip4gr1mpbjk8bx1n1748wdls5zq4y8hpmpnq5g1wyx")
+ (mozilla-patch "icecat-bug-1443891.patch" "17201199b18d" "1d0hcim1fwh0bklwpmnal1mv9d9kmyif1m15aj1nqkf1n3x4xc37")
+ (mozilla-patch "icecat-bug-1361699.patch" "a07d6c3ff262" "1z8mjg2487r8pxi0x951v6fwwr696q84f6hlzimc3r7bn5ds9r83")
+ (mozilla-patch "icecat-bug-1433609.patch" "7127ccf8f88c" "0m4my7aflpp0wlqilr2m4axd7k2fyrs7jqdcz2rrz5pwivz1anvd")
+ (mozilla-patch "icecat-bug-1444231.patch" "57bd35fa8618" "0pl6x5amc5x6nhwl7qnmnff3jjjxmbs8r365bfzj58g7q5ihqwvf")
+ (mozilla-patch "icecat-bug-1409440.patch" "2f3e1ccf1661" "0azl8g81kpc0w2xpjpgm1154ll12g0a8n6i7bl3s9nnrk2i26n74")
+ (mozilla-patch "icecat-bug-1441941.patch" "8ff2c4d68e36" "0kz1rqhnz8ca4z20hnpcafidhsrwhnm0h2gmlgchni33h8pisr1f")
+ (mozilla-patch "icecat-bug-1443092.patch" "b8c430253efd" "1arjcaps9axhxh5ff84n9bydhhzrihn7hbq7v69nvqwqrjp3lgg9")
+ (mozilla-patch "icecat-bug-1448774.patch" "05cadfa3ac39" "0q0vh7vy7x0l8jp6376fn10qljfp4mnp4m9zfn90j4m19pfl86a0")
+ (mozilla-patch "icecat-bug-1449548.patch" "48a678d7cb81" "1yfh7kxxxvqck2hpn98pwag4splyc6c9brc5haq28fp8x9r9qvlk")
+ (mozilla-patch "icecat-bug-1448705.patch" "112032576872" "1x1hxyggbxlnlj0n9cbp03hjnfvm6cq8nqj0jizrd8cfyd5aig8p")
+ (mozilla-patch "icecat-bug-1388020.patch" "ad9a885b0df4" "1hrk1q9mk59jww55g4lqmaflznk87x3vvjn2mxfgfbbjs8l1cyz4")
+ (mozilla-patch "icecat-bug-1452416.patch" "f89ab96a2532" "1dqchxdyznhgyxhfq0hm0vg1p597hjqflfzigc7j3s5vxf9rg2nv")
+ (mozilla-patch "icecat-bug-1451376.patch" "af885a1bd293" "1wfpqhm2dp4fsx6zbrncngsqz7g2x09b625zcighixrbpvybyww3")
+ (mozilla-patch "icecat-bug-1444668.patch" "666fc84ec72d" "0lml2wqd4yqidhi364x8r90f78397k2y0kq5z5bv8l8j4bhcnb9v")))
(modules '((guix build utils)))
(snippet
'(begin
@@ -557,10 +572,18 @@ security standards.")
#:validate-runpath? #f
#:configure-flags '("--enable-default-toolkit=cairo-gtk3"
+
+ "--with-distribution-id=org.gnu"
+
"--enable-gio"
"--enable-startup-notification"
"--enable-pulseaudio"
+ "--disable-tests"
+ "--disable-updater"
+ "--disable-crashreporter"
+ "--disable-maintenance-service"
+ "--disable-eme"
"--disable-gconf"
"--disable-gnomeui"
@@ -633,7 +656,7 @@ security standards.")
(close-port out))
#t))
(add-after
- 'unpack 'arrange-to-link-libxul-with-libraries-it-might-dlopen
+ 'unpack 'link-libxul-with-libraries
(lambda _
;; libxul.so dynamically opens libraries, so here we explicitly
;; link them into libxul.so instead.
diff --git a/gnu/packages/gps.scm b/gnu/packages/gps.scm
index e07c9f4acb..e913c25904 100644
--- a/gnu/packages/gps.scm
+++ b/gnu/packages/gps.scm
@@ -147,7 +147,7 @@ between two other data points.")
(define-public gama
(package
(name "gama")
- (version "1.21")
+ (version "1.22")
(source
(origin
(method url-fetch)
@@ -155,7 +155,7 @@ between two other data points.")
version ".tar.gz"))
(sha256
(base32
- "0yy8czw5dldbw1qj5v2h2wfh397bfx5wd3lrrgs8m1qdf1njnhcq"))))
+ "01q3g2zi5d5r2l10hc8jwwz6w61dwkv7nyj9xd67vvq0gajw0a7r"))))
(build-system gnu-build-system)
(arguments '(#:parallel-tests? #f)) ; race condition
(native-inputs
diff --git a/gnu/packages/graph.scm b/gnu/packages/graph.scm
index 38924e42b2..74fbe9e84e 100644
--- a/gnu/packages/graph.scm
+++ b/gnu/packages/graph.scm
@@ -1,6 +1,7 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2017, 2018 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2018 Joshua Sierles, Nextjournal <joshua@nextjournal.com>
+;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -207,14 +208,14 @@ lines.")
(define-public python-plotly
(package
(name "python-plotly")
- (version "2.4.0")
+ (version "2.4.1")
(source
(origin
(method url-fetch)
(uri (pypi-uri "plotly" version))
(sha256
(base32
- "0n18116jz6bl5n9cq23vabv1gcbh1x3yficdnfq55v0z4cwy0zlf"))))
+ "0s9gk2fl53x8wwncs3fwii1vzfngr0sskv15v3mpshqmrqfrk27m"))))
(build-system python-build-system)
(arguments
'(#:tests? #f)) ; The tests are not distributed in the release
diff --git a/gnu/packages/graphviz.scm b/gnu/packages/graphviz.scm
index 2fefb41c0a..58c0fa82fe 100644
--- a/gnu/packages/graphviz.scm
+++ b/gnu/packages/graphviz.scm
@@ -5,6 +5,7 @@
;;; Copyright © 2017 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2017 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2017 Gábor Boskovits <boskovits@gmail.com>
+;;; Copyright © 2018 Mathieu Lirzin <mthl@gnu.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -43,6 +44,7 @@
#:use-module (gnu packages gd)
#:use-module (gnu packages swig)
#:use-module (gnu packages python)
+ #:use-module (gnu packages tex)
#:use-module ((guix licenses) #:prefix license:))
(define-public graphviz
@@ -115,13 +117,13 @@ interfaces for other technical domains.")
(define-public python-graphviz
(package
(name "python-graphviz")
- (version "0.8.1")
+ (version "0.8.2")
(source (origin
(method url-fetch)
(uri (pypi-uri "graphviz" version ".zip"))
(sha256
(base32
- "00rzqsmq25b0say05vix5xivchdvsv83jl2i8pkryqd0nz4bxzvb"))))
+ "148h7ln8z65c1723w9vpx8khkvl9iigh8csv0qd4pidc53042rv0"))))
(build-system python-build-system)
(native-inputs
`(("unzip" ,unzip)))
@@ -239,3 +241,36 @@ graphs in Graphviz's DOT language, written in pure Python.")
(define-public python2-pydot
(package-with-python2 python-pydot))
+
+(define-public dot2tex
+ (package
+ (name "dot2tex")
+ (version "2.9.0")
+ (source (origin
+ (method url-fetch)
+ (uri (pypi-uri "dot2tex" version))
+ (sha256
+ (base32
+ "0jhdwp0wv2h0xb7j2s5xiv7i8yaqgfpwwqcyrjvaxkfwsynm8gkx"))))
+ (build-system python-build-system)
+ (arguments
+ `(#:python ,python-2))
+ (inputs
+ `(("texlive-latex-preview" ,texlive-latex-preview)
+ ("graphviz" ,graphviz)))
+ (propagated-inputs
+ `(("python-pyparsing" ,python2-pyparsing)))
+ (home-page "https://github.com/kjellmf/dot2tex")
+ (synopsis "Graphviz to LaTeX converter")
+ (description
+ "The purpose of @code{dot2tex} is to give graphs generated by Graphviz a
+more LaTeX friendly look and feel. This is accomplished by converting
+@code{xdot} output from Graphviz to a series of PSTricks or PGF/TikZ commands.
+This approach allows:
+
+@itemize @bullet
+@item Typesetting labels with LaTeX, allowing mathematical notation
+@item Using native PSTricks and PGF/TikZ commands for drawing arrows
+@item Using backend specific styles to customize the output
+@end itemize")
+ (license license:expat)))
diff --git a/gnu/packages/gstreamer.scm b/gnu/packages/gstreamer.scm
index d91657076b..0871533934 100644
--- a/gnu/packages/gstreamer.scm
+++ b/gnu/packages/gstreamer.scm
@@ -6,6 +6,7 @@
;;; Copyright © 2016, 2017 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016 Leo Famulari <leo@famulari.name>
;;; Copyright © 2017 Ricardo Wurmus <rekado@elephly.net>
+;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
;;;
;;; This file is part of GNU Guix.
;;;
diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm
index 96bc27deac..97fccdc917 100644
--- a/gnu/packages/gtk.scm
+++ b/gnu/packages/gtk.scm
@@ -1563,6 +1563,8 @@ glass artworks done by Venicians glass blowers.")
("gobject-introspection" ,gobject-introspection)
("gtk+" ,gtk+)
("pango" ,pango)))
+ (propagated-inputs
+ `(("enchant" ,enchant))) ; gtkspell3-3.0.pc refers to it.
(home-page "http://gtkspell.sourceforge.net")
(synopsis "Spell-checking addon for GTK's TextView widget")
(description
diff --git a/gnu/packages/guile.scm b/gnu/packages/guile.scm
index 03603122a6..03a551a1f2 100644
--- a/gnu/packages/guile.scm
+++ b/gnu/packages/guile.scm
@@ -36,7 +36,6 @@
(define-module (gnu packages guile)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (gnu packages)
- #:use-module (gnu packages admin) ;;for tree
#:use-module (gnu packages aspell)
#:use-module (gnu packages bash)
#:use-module (gnu packages bdw-gc)
@@ -1291,18 +1290,29 @@ interface for reading articles in any format.")
(define-public guile-config
(package
(name "guile-config")
- (version "0.1.1")
+ (version "0.2")
(source (origin
- (method url-fetch)
- (uri (string-append
- "http://alex.pompo.co/software/" name "-" version
- ".tar.gz"))
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/a-sassmannshausen/guile-config")
+ (commit "guile-config-0.2")))
+ (file-name (string-append name "-" version "-checkout"))
(sha256
(base32
- "1b719bn192f9wg24rr0zx8jpmygsvyhfi35iy778pb5p392snrn8"))))
+ "07q86vqdwmm81wwxz1d1ah27hbhs6qbn8kiizrfpj0s4bf95w3r9"))))
(build-system gnu-build-system)
+ (arguments
+ '(#:phases (modify-phases %standard-phases
+ (add-after 'unpack 'autoreconf
+ (lambda _
+ (zero? (system* "autoreconf" "-fi")))))))
+ (native-inputs
+ `(("autoconf" ,autoconf)
+ ("automake" ,automake)
+ ("pkg-config" ,pkg-config)
+ ("texinfo" ,texinfo)))
(inputs
- `(("guile" ,guile-2.0)))
+ `(("guile" ,guile-2.2)))
(synopsis "Guile application configuration parsing library")
(description
"Guile Config is a library providing a declarative approach to
@@ -1313,7 +1323,7 @@ parameter parsing using getopt-long; basic GNU command-line parameter
generation (--help, --usage, --version); automatic output generation for the
above command-line parameters.")
(home-page "https://github.com/a-sassmannshausen/guile-config")
- (license license:agpl3+)))
+ (license license:gpl3+)))
(define-public guile-redis
(package
@@ -1934,8 +1944,8 @@ is not available for Guile 2.0.")
(license license:lgpl3+)))
(define-public guile-git
- (let ((revision "5")
- (commit "2bb9fbbf93cf93496718efc85ad9394aefa21029"))
+ (let ((revision "6")
+ (commit "36f93c174adc396c90ec3a6923487f0444fe5d69"))
(package
(name "guile-git")
(version (string-append "0.0-" revision "." (string-take commit 7)))
@@ -1945,7 +1955,7 @@ is not available for Guile 2.0.")
(uri (git-reference (url home-page) (commit commit)))
(sha256
(base32
- "0z3v0v89dyp35zx2h2gsq6v29lba3wbzabc5n2g4hx2fcb6q5qqy"))
+ "0z1dvn0scx59pbgjkpacam7p5n7630z4qm8fazim7ixq9xv3s8wx"))
(file-name (git-file-name name version))))
(build-system gnu-build-system)
(arguments
@@ -1956,7 +1966,8 @@ is not available for Guile 2.0.")
;; FIXME: On i686, bytestructures miscalculates the offset
;; of the 'old-file' and 'new-file' fields within the
- ;; '%diff-delta' structure.
+ ;; '%diff-delta' structure. See
+ ;; <https://github.com/TaylanUB/scheme-bytestructures/issues/30>.
,@(if (string=? (%current-system) "x86_64-linux")
'()
'((add-before 'check 'skip-tests
diff --git a/gnu/packages/haskell-check.scm b/gnu/packages/haskell-check.scm
index 9593e4c109..6b1d769313 100644
--- a/gnu/packages/haskell-check.scm
+++ b/gnu/packages/haskell-check.scm
@@ -27,6 +27,7 @@
(define-module (gnu packages haskell-check)
#:use-module (gnu packages)
#:use-module (gnu packages haskell)
+ #:use-module (gnu packages haskell-crypto)
#:use-module (guix build-system haskell)
#:use-module (guix download)
#:use-module ((guix licenses) #:prefix license:)
@@ -793,3 +794,33 @@ Haskell, inspired by the Ruby library RSpec.")
"Nanospec is a lightweight implementation of a subset of Hspec's API with
minimal dependencies.")
(license license:expat)))
+
+(define-public ghc-crypto-cipher-tests
+ (package
+ (name "ghc-crypto-cipher-tests")
+ (version "0.0.11")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://hackage.haskell.org/package/"
+ "crypto-cipher-tests-" version "/"
+ "crypto-cipher-tests-" version ".tar.gz"))
+ (sha256
+ (base32
+ "19wqignlq90qwpam01hnmmrxaxh5lkax9l1l6rlbi4a07nvp1dnz"))))
+ (build-system haskell-build-system)
+ (inputs `(("ghc-quickcheck" ,ghc-quickcheck)
+ ("ghc-mtl" ,ghc-mtl)
+ ("ghc-hunit" ,ghc-hunit)
+ ("ghc-test-framework" ,ghc-test-framework)
+ ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
+ ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
+ ("ghc-byteable" ,ghc-byteable)
+ ("ghc-securemem" ,ghc-securemem)
+ ("ghc-crypto-cipher-types" ,ghc-crypto-cipher-types)))
+ (home-page "https://github.com/vincenthz/hs-crypto-cipher")
+ (synopsis "Generic cryptography cipher tests for Haskell")
+ (description " This Haskell package contains generic tests for
+cryptographic ciphers, and is used by the test runners of various Haskell
+implementations of cryptographic ciphers.")
+ (license license:bsd-3)))
diff --git a/gnu/packages/haskell-crypto.scm b/gnu/packages/haskell-crypto.scm
index ae69cfe3a1..b0be30cb6b 100644
--- a/gnu/packages/haskell-crypto.scm
+++ b/gnu/packages/haskell-crypto.scm
@@ -257,7 +257,7 @@ the C implementation.")
(define-public ghc-cryptonite
(package
(name "ghc-cryptonite")
- (version "0.20")
+ (version "0.25")
(source (origin
(method url-fetch)
(uri (string-append "https://hackage.haskell.org/package/"
@@ -265,10 +265,11 @@ the C implementation.")
version ".tar.gz"))
(sha256
(base32
- "0m63np0affci7ba9mrkvw2flzxn0s2mk930xldc4dwijw32gl6r6"))))
+ "131wbbdr5yavs5k1ah9sz6fqx1ffyvaxf66pwjzsfc47mwc1mgl9"))))
(build-system haskell-build-system)
(inputs
- `(("ghc-memory" ,ghc-memory)
+ `(("ghc-basement" ,ghc-basement)
+ ("ghc-memory" ,ghc-memory)
("ghc-byteable" ,ghc-byteable)))
(native-inputs
`(("ghc-tasty" ,ghc-tasty)
@@ -529,3 +530,133 @@ list validation.")
"This package provides a library to handle system accessors and storage
for X.509 certificates.")
(license license:bsd-3)))
+
+(define-public ghc-crypto-cipher-types
+ (package
+ (name "ghc-crypto-cipher-types")
+ (version "0.0.9")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://hackage.haskell.org/package/"
+ "crypto-cipher-types-" version "/"
+ "crypto-cipher-types-" version ".tar.gz"))
+ (sha256
+ (base32
+ "03qa1i1kj07pfrxsi7fiaqnnd0vi94jd4jfswbmnm4gp1nvzcwr0"))))
+ (build-system haskell-build-system)
+ (inputs `(("ghc-byteable" ,ghc-byteable)
+ ("ghc-securemem" ,ghc-securemem)))
+ (home-page "https://github.com/vincenthz/hs-crypto-cipher")
+ (synopsis "Generic cryptography cipher types for Haskell")
+ (description "This Haskell package provides basic typeclasses and types
+for symmetric ciphers.")
+ (license license:bsd-3)))
+
+(define-public ghc-cipher-aes
+ (package
+ (name "ghc-cipher-aes")
+ (version "0.2.11")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://hackage.haskell.org/package/"
+ "cipher-aes-" version "/"
+ "cipher-aes-" version ".tar.gz"))
+ (sha256
+ (base32
+ "05ahz6kjq0fl1w66gpiqy0vndli5yx1pbsbw9ni3viwqas4p3cfk"))))
+ (build-system haskell-build-system)
+ (inputs `(("ghc-byteable" ,ghc-byteable)
+ ("ghc-securemem" ,ghc-securemem)
+ ("ghc-crypto-cipher-types" ,ghc-crypto-cipher-types)))
+ (native-inputs `(("ghc-quickcheck" ,ghc-quickcheck)
+ ("ghc-test-framework" ,ghc-test-framework)
+ ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
+ ("ghc-crypto-cipher-tests" ,ghc-crypto-cipher-tests)))
+ (home-page "https://github.com/vincenthz/hs-cipher-aes")
+ (synopsis "AES cipher implementation with advanced mode of operations for
+Haskell")
+ (description "This Haskell package provides AES cipher implementation.
+
+The modes of operations available are ECB (Electronic code book), CBC (Cipher
+block chaining), CTR (Counter), XTS (XEX with ciphertext stealing),
+GCM (Galois Counter Mode).
+
+The AES implementation uses AES-NI when available (on x86 and x86-64
+architecture), but fallback gracefully to a software C implementation.
+
+The software implementation uses S-Boxes, which might suffer for cache timing
+issues. However do notes that most other known software implementations,
+including very popular one (openssl, gnutls) also uses similar
+implementation. If it matters for your case, you should make sure you have
+AES-NI available, or you'll need to use a different implementation.")
+ (license license:bsd-3)))
+
+(define-public ghc-crypto-random
+ (package
+ (name "ghc-crypto-random")
+ (version "0.0.9")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://hackage.haskell.org/package/"
+ "crypto-random-" version "/"
+ "crypto-random-" version ".tar.gz"))
+ (sha256
+ (base32
+ "0139kbbb2h7vshf68y3fvjda29lhj7jjwl4vq78w4y8k8hc7l2hp"))))
+ (build-system haskell-build-system)
+ (inputs `(("ghc-securemem" ,ghc-securemem)
+ ("ghc-vector" ,ghc-vector)))
+ (home-page "https://github.com/vincenthz/hs-crypto-random")
+ (synopsis "Simple cryptographic random related types for Haskell")
+ (description "Simple cryptographic random related types: a safe
+abstraction for CPRNGs.")
+ (license license:bsd-3)))
+
+(define-public ghc-cprng-aes
+ (package
+ (name "ghc-cprng-aes")
+ (version "0.6.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://hackage.haskell.org/package/"
+ "cprng-aes-" version "/"
+ "cprng-aes-" version ".tar.gz"))
+ (sha256
+ (base32
+ "1wr15kbmk1g3l8a75n0iwbzqg24ixv78slwzwb2q6rlcvq0jlnb4"))))
+ (build-system haskell-build-system)
+ (inputs `(("ghc-byteable" ,ghc-byteable)
+ ("ghc-crypto-random" ,ghc-crypto-random)
+ ("ghc-cipher-aes" ,ghc-cipher-aes)))
+ (home-page "https://github.com/vincenthz/hs-cprng-aes")
+ (synopsis "Crypto Pseudo Random Number Generator using AES in counter mode
+in Haskell")
+ (description "Simple crypto pseudo-random-number-generator with really
+good randomness property.
+
+Using ent, a randomness property maker on one 1Mb sample:
+
+@itemize
+@item Entropy = 7.999837 bits per byte.
+@item Optimum compression would reduce the size of this 1048576 byte file by 0
+percent.
+@item Chi square distribution for 1048576 samples is 237.02.
+@item Arithmbetic mean value of data bytes is 127.3422 (127.5 = random).
+@item Monte Carlo value for Pi is 3.143589568 (error 0.06 percent).
+@end itemize
+
+Compared to urandom with the same sampling:
+
+@itemize
+@item Entropy = 7.999831 bits per byte.
+@item Optimum compression would reduce the size of this 1048576 byte file by 0
+percent.
+@item Chi square distribution for 1048576 samples is 246.63.
+@item Arithmetic mean value of data bytes is 127.6347 (127.5 = random).
+@item Monte Carlo value for Pi is 3.132465868 (error 0.29 percent).
+@end itemize")
+ (license license:bsd-3)))
diff --git a/gnu/packages/haskell-web.scm b/gnu/packages/haskell-web.scm
index 1190bc63a5..1f19f82f3f 100644
--- a/gnu/packages/haskell-web.scm
+++ b/gnu/packages/haskell-web.scm
@@ -901,3 +901,281 @@ of a JSON value into a @code{Data.Aeson.Value}.")
(synopsis "Unicode aware uri-encoding")
(description "Unicode aware uri-encoding for Haskell.")
(license license:bsd-3)))
+
+(define-public ghc-path-pieces
+ (package
+ (name "ghc-path-pieces")
+ (version "0.2.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://hackage.haskell.org/package/"
+ "path-pieces-" version "/"
+ "path-pieces-" version ".tar.gz"))
+ (sha256
+ (base32
+ "0vx3sivcsld76058925hym2j6hm3g71f0qjr7v59f1g2afgx82q8"))))
+ (build-system haskell-build-system)
+ (inputs `(("ghc-text" ,ghc-text)))
+ (native-inputs `(("ghc-hunit" ,ghc-hunit)
+ ("ghc-hspec" ,ghc-hspec)
+ ("ghc-quickcheck" ,ghc-quickcheck)))
+ (home-page "https://github.com/yesodweb/path-pieces")
+ (synopsis "Used in Yesod to automatically marshall data in the request path")
+ (description "This Haskell package provides two typeclasses for converting
+Haskell data types to and from route pieces.")
+ (license license:bsd-3)))
+
+(define-public ghc-skein
+ (package
+ (name "ghc-skein")
+ (version "1.0.9.4")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://hackage.haskell.org/package/"
+ "skein-" version "/"
+ "skein-" version ".tar.gz"))
+ (sha256
+ (base32
+ "1jdqdk0rz2wnvw735clnj8jh0a9rkrbqjg7vk3w6wczdql6cm0pq"))))
+ (build-system haskell-build-system)
+ (inputs `(("ghc-cereal" ,ghc-cereal)
+ ("ghc-tagged" ,ghc-tagged)
+ ("ghc-crpto-api" ,ghc-crypto-api)))
+ (native-inputs `(("ghc-hspec" ,ghc-hspec)))
+ (home-page "https://github.com/yesodweb/path-pieces")
+ (synopsis "Skein family of cryptographic hash functions for Haskell")
+ (description "@uref{(http://www.skein-hash.info, Skein} is a family of
+fast secure cryptographic hash functions designed by Niels Ferguson, Stefan
+Lucks, Bruce Schneier, Doug Whiting, Mihir Bellare, Tadayoshi Kohno, Jon
+Callas and Jesse Walker.
+
+This Haskell package uses bindings to the optimized C implementation of Skein.")
+ (license license:bsd-3)))
+
+(define-public ghc-clientsession
+ (package
+ (name "ghc-clientsession")
+ (version "0.9.1.2")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://hackage.haskell.org/package/"
+ "clientsession-" version "/"
+ "clientsession-" version ".tar.gz"))
+ (sha256
+ (base32
+ "0s6h4ykj16mpf7nlw2iqn2ji0p8g1fn5ni0s7yqaili6vv2as5ar"))))
+ (build-system haskell-build-system)
+ (inputs `(("ghc-cereal" ,ghc-cereal)
+ ("ghc-tagged" ,ghc-tagged)
+ ("ghc-crypto-api" ,ghc-crypto-api)
+ ("ghc-skein" ,ghc-skein)
+ ("ghc-base64-bytestring" ,ghc-base64-bytestring)
+ ("ghc-entropy" ,ghc-entropy)
+ ("ghc-cprng-aes" ,ghc-cprng-aes)
+ ("ghc-cipher-aes" ,ghc-cipher-aes)
+ ("ghc-crypto-random" ,ghc-crypto-random)
+ ("ghc-setenv" ,ghc-setenv)))
+ (native-inputs `(("ghc-hunit" ,ghc-hunit)
+ ("ghc-hspec" ,ghc-hspec)
+ ("ghc-quickcheck" ,ghc-quickcheck)))
+ (home-page "https://github.com/yesodweb/clientsession/tree/master")
+ (synopsis "Haskell library for securely store session data in a
+client-side cookie")
+ (description "This Haskell package achieves security through AES-CTR
+encryption and Skein-MAC-512-256 authentication. Uses Base64 encoding to
+avoid any issues with characters.")
+ (license license:expat)))
+
+(define-public ghc-yesod-core
+ (package
+ (name "ghc-yesod-core")
+ (version "1.4.37")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://hackage.haskell.org/package/"
+ "yesod-core-" version "/"
+ "yesod-core-" version ".tar.gz"))
+ (sha256
+ (base32
+ "0ww8hl0cx2g58zrdx3j6d5m2xwhssbajdqws1xk6rzl7rpfm1b9j"))))
+ (build-system haskell-build-system)
+ (inputs `(("ghc-wai" ,ghc-wai)
+ ("ghc-extra" ,ghc-extra)
+ ("ghc-text" ,ghc-text)
+ ("ghc-shakespeare" ,ghc-shakespeare)
+ ("ghc-blaze-builder" ,ghc-blaze-builder)
+ ("ghc-mtl" ,ghc-mtl)
+ ("ghc-clientsession" ,ghc-clientsession)
+ ("ghc-random" ,ghc-random)
+ ("ghc-cereal" ,ghc-cereal)
+ ("ghc-old-locale" ,ghc-old-locale)
+ ("ghc-unordered-containers" ,ghc-unordered-containers)
+ ("ghc-monad-control" ,ghc-monad-control)
+ ("ghc-transformers-base" ,ghc-transformers-base)
+ ("ghc-cookie" ,ghc-cookie)
+ ("ghc-http-types" ,ghc-http-types)
+ ("ghc-case-insensitive" ,ghc-case-insensitive)
+ ("ghc-parsec" ,ghc-parsec)
+ ("ghc-vector" ,ghc-vector)
+ ("ghc-aeson" ,ghc-aeson)
+ ("ghc-fast-logger" ,ghc-fast-logger)
+ ("ghc-wai-logger" ,ghc-wai-logger)
+ ("ghc-monad-logger" ,ghc-monad-logger)
+ ("ghc-conduit" ,ghc-conduit)
+ ("ghc-resourcet" ,ghc-resourcet)
+ ("ghc-lifted-base" ,ghc-lifted-base)
+ ("ghc-blaze-html" ,ghc-blaze-html)
+ ("ghc-blaze-markup" ,ghc-blaze-markup)
+ ("ghc-data-default" ,ghc-data-default)
+ ("ghc-safe" ,ghc-safe)
+ ("ghc-warp" ,ghc-warp)
+ ("ghc-unix-compat" ,ghc-unix-compat)
+ ("ghc-conduit-extra" ,ghc-conduit-extra)
+ ("ghc-exceptions" ,ghc-exceptions)
+ ("ghc-deepseq-generics" ,ghc-deepseq-generics)
+ ("ghc-mwc-random" ,ghc-mwc-random)
+ ("ghc-primitive" ,ghc-primitive)
+ ("ghc-word8" ,ghc-word8)
+ ("ghc-auto-update" ,ghc-auto-update)
+ ("ghc-semigroups" ,ghc-semigroups)
+ ("ghc-byteable" ,ghc-byteable)))
+ (native-inputs `(("ghc-hspec" ,ghc-hspec)
+ ("ghc-path-pieces" ,ghc-path-pieces)
+ ("ghc-hunit" ,ghc-hunit)
+ ("ghc-hspec-expectations" ,ghc-hspec-expectations)
+ ("ghc-quickcheck" ,ghc-quickcheck)
+ ("ghc-network" ,ghc-network)
+ ("ghc-async" ,ghc-async)
+ ("ghc-streaming-commons" ,ghc-streaming-commons)
+ ("ghc-wai-extra" ,ghc-wai-extra)))
+ (home-page "https://www.yesodweb.com")
+ (synopsis "Core package for the Yesod web framework")
+ (description "This Haskell package provides all core functionality, for
+Yesod, on which other packages can be built. It provides dispatch, handler
+functions, widgets, etc.")
+ (license license:expat)))
+
+(define-public ghc-yesod-persistent
+ (package
+ (name "ghc-yesod-persistent")
+ (version "1.4.3")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://hackage.haskell.org/package/"
+ "yesod-persistent-" version "/"
+ "yesod-persistent-" version ".tar.gz"))
+ (sha256
+ (base32
+ "0kiksw46c8ww9yiwl28pkrppx8d6fhsasr0hvmsliqbrp16likj8"))))
+ (build-system haskell-build-system)
+ (arguments `(#:tests? #f)) ; FIXME: hspec-discover not available in PATH.
+ (inputs `(("ghc-yesod-core" ,ghc-yesod-core)
+ ("ghc-persistent" ,ghc-persistent)
+ ("ghc-persistent-template" ,ghc-persistent-template)
+ ("ghc-blaze-builder" ,ghc-blaze-builder)
+ ("ghc-conduit" ,ghc-conduit)
+ ("ghc-resourcet" ,ghc-resourcet)
+ ("ghc-resource-pool" ,ghc-resource-pool)))
+ (native-inputs `(("ghc-hspec" ,ghc-hspec)
+ ("ghc-wai-extra" ,ghc-wai-extra)
+ ("ghc-yesod-core" ,ghc-yesod-core)
+ ("ghc-persistent-sqlite" ,ghc-persistent-sqlite)
+ ("ghc-text" ,ghc-text)))
+ (home-page "http://www.yesodweb.com/")
+ (synopsis "Helpers for using Persistent from Yesod")
+ (description "This Haskell package provides helpers for using Persistent
+from Yesod.")
+ (license license:expat)))
+
+(define-public ghc-yesod-form
+ (package
+ (name "ghc-yesod-form")
+ (version "1.4.16")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "https://hackage.haskell.org/package/yesod-form/yesod-form-"
+ version
+ ".tar.gz"))
+ (sha256
+ (base32
+ "0lij3m5vn8nvh6y88r1dhk03xmmjwmjzazm307nc2wvc5fmx9p2j"))))
+ (build-system haskell-build-system)
+ (inputs
+ `(("ghc-yesod-core" ,ghc-yesod-core)
+ ("ghc-yesod-persistent" ,ghc-yesod-persistent)
+ ("ghc-shakespeare" ,ghc-shakespeare)
+ ("ghc-persistent" ,ghc-persistent)
+ ("ghc-data-default" ,ghc-data-default)
+ ("ghc-xss-sanitize" ,ghc-xss-sanitize)
+ ("ghc-blaze-builder" ,ghc-blaze-builder)
+ ("ghc-email-validate" ,ghc-email-validate)
+ ("ghc-text" ,ghc-text)
+ ("ghc-wai" ,ghc-wai)
+ ("ghc-blaze-html" ,ghc-blaze-html)
+ ("ghc-blaze-markup" ,ghc-blaze-markup)
+ ("ghc-attoparsec" ,ghc-attoparsec)
+ ("ghc-byteable" ,ghc-byteable)
+ ("ghc-aeson" ,ghc-aeson)
+ ("ghc-resourcet" ,ghc-resourcet)
+ ("ghc-semigroups" ,ghc-semigroups)
+ ("ghc-network-uri" ,ghc-network-uri)
+ ("ghc-hspec" ,ghc-hspec)))
+ (home-page "https://www.yesodweb.com")
+ (synopsis "Form handling support for Yesod Web Framework")
+ (description "This Haskell package provies a set of basic form inputs such
+as text, number, time, checkbox, select, textarea, etc through the
+@code{Yesod.Form.Fields} module. Also, there is @code{Yesod.Form.Nic} module
+providing richtext field using Nic editor. ")
+ (license license:expat)))
+
+(define-public ghc-yesod
+ (package
+ (name "ghc-yesod")
+ (version "1.4.5")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "https://hackage.haskell.org/package/yesod/yesod-"
+ version ".tar.gz"))
+ (sha256
+ (base32
+ "1sg66nq8yaas2m5nqsdrxricvcizd1ik02zqk60sxh3wna08fz16"))))
+ (build-system haskell-build-system)
+ (inputs
+ `(("ghc-yesod-core" ,ghc-yesod-core)
+ ("ghc-yesod-persistent" ,ghc-yesod-persistent)
+ ("ghc-yesod-form" ,ghc-yesod-form)
+ ("ghc-monad-control" ,ghc-monad-control)
+ ("ghc-wai" ,ghc-wai)
+ ("ghc-wai-extra" ,ghc-wai-extra)
+ ("ghc-warp" ,ghc-warp)
+ ("ghc-blaze-html" ,ghc-blaze-html)
+ ("ghc-blaze-markup" ,ghc-blaze-markup)
+ ("ghc-aeson" ,ghc-aeson)
+ ("ghc-data-default-class" ,ghc-data-default-class)
+ ("ghc-unordered-containers" ,ghc-unordered-containers)
+ ("ghc-yaml" ,ghc-yaml)
+ ("ghc-text" ,ghc-text)
+ ("ghc-monad-logger" ,ghc-monad-logger)
+ ("ghc-fast-logger" ,ghc-fast-logger)
+ ("ghc-conduit" ,ghc-conduit)
+ ("ghc-conduit-extra" ,ghc-conduit-extra)
+ ("ghc-resourcet" ,ghc-resourcet)
+ ("ghc-shakespeare" ,ghc-shakespeare)
+ ("ghc-streaming-commons" ,ghc-streaming-commons)
+ ("ghc-wai-logger" ,ghc-wai-logger)
+ ("ghc-semigroups" ,ghc-semigroups)))
+ (home-page "https://www.yesodweb.com")
+ (synopsis "Framework for creating type-safe, RESTful web applications")
+ (description "The Haskell package package groups together the various
+Yesod related packages into one cohesive whole. This is the version of Yesod,
+whereas most of the core code lives in @code{ghc-yesod-core}.")
+ (license license:expat)))
diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm
index 4fc2b40502..9b26ff56f2 100644
--- a/gnu/packages/haskell.scm
+++ b/gnu/packages/haskell.scm
@@ -1080,7 +1080,7 @@ specify refactorings without depending on GHC.")
(define-public hlint
(package
(name "hlint")
- (version "2.1")
+ (version "2.1.1")
(source
(origin
(method url-fetch)
@@ -1089,7 +1089,7 @@ specify refactorings without depending on GHC.")
"/" name "-" version ".tar.gz"))
(sha256
(base32
- "13chm0dhh1fn2iy3flnh7ahc3yzh8q0v10qxwd1739sywhykayg9"))))
+ "0mmfavd158l5ig5wb1b1zbhbraj8hhqvbk4mg85n6c8ndpr4grd4"))))
(build-system haskell-build-system)
(inputs
`(("cpphs" ,cpphs)
@@ -5838,15 +5838,18 @@ Damerau-Levenshtein algorithms.")
(define-public ghc-memory
(package
(name "ghc-memory")
- (version "0.13")
+ (version "0.14.16")
(source (origin
(method url-fetch)
(uri (string-append "https://hackage.haskell.org/package/"
"memory/memory-" version ".tar.gz"))
(sha256
(base32
- "02l742qxjqy3jw1a347gb7sn7pn7a5qha1vzi2qqbvgafcjn0wyw"))))
+ "03rbszi5d4z9rlbfv8ydrl1xf84xsh8z57g07f7j9qccn9587c3v"))))
(build-system haskell-build-system)
+ (inputs
+ `(("ghc-basement" ,ghc-basement)
+ ("ghc-foundation" ,ghc-foundation)))
(native-inputs
`(("ghc-tasty" ,ghc-tasty)
("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
@@ -6248,7 +6251,7 @@ better for some purposes.")
(define-public ghc-conduit-extra
(package
(name "ghc-conduit-extra")
- (version "1.1.13.3")
+ (version "1.1.14")
(source
(origin
(method url-fetch)
@@ -6257,7 +6260,7 @@ better for some purposes.")
version ".tar.gz"))
(sha256
(base32
- "0j3cqpkrn7lbpviv6w0gjh93fjjbh1an2sq0yz7svaawja8civy2"))))
+ "1ij3qcfk7q90fl6gklpy2k5ka9jgzrvs8frq0gy7gdcgyaabqfkg"))))
(build-system haskell-build-system)
(inputs
`(("ghc-conduit" ,ghc-conduit)
@@ -6455,39 +6458,6 @@ constant-time:
data quickly and efficiently, using the ByteString type.")
(license license:bsd-3)))
-(define-public ghc-binary
- (package
- (name "ghc-binary")
- (version "0.8.5.1")
- (source
- (origin
- (method url-fetch)
- (uri (string-append
- "https://hackage.haskell.org/package/binary/binary-"
- version ".tar.gz"))
- (sha256
- (base32
- "15h5zqfw7xmcimvlq6bs8f20vxlfvz7g411fns5z7212crlimffy"))))
- (build-system haskell-build-system)
- (arguments
- `(#:configure-flags (list "--allow-newer=QuickCheck")))
- (native-inputs
- `(("ghc-random" ,ghc-random)
- ("ghc-test-framework" ,ghc-test-framework)
- ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
- ("ghc-quickcheck" ,ghc-quickcheck)
- ("ghc-hunit" ,ghc-hunit)))
- (home-page "https://github.com/kolmodin/binary")
- (synopsis
- "Binary serialisation for Haskell values using lazy ByteStrings")
- (description
- "Efficient, pure binary serialisation using lazy ByteStrings. Haskell values
-may be encoded to and from binary formats, written to disk as binary, or sent over
-the network. The format used can be automatically generated, or you can choose to
-implement a custom format if needed. Serialisation speeds of over 1 G\\/sec have
-been observed, so this library should be suitable for high performance scenarios.")
- (license license:bsd-3)))
-
(define-public ghc-data-ordlist
(package
(name "ghc-data-ordlist")
@@ -6508,34 +6478,6 @@ been observed, so this library should be suitable for high performance scenarios
"This module provides set and multiset operations on ordered lists.")
(license license:bsd-3)))
-(define-public ghc-haskeline
- (package
- (name "ghc-haskeline")
- (version "0.7.4.2")
- (source
- (origin
- (method url-fetch)
- (uri (string-append
- "https://hackage.haskell.org/package/haskeline/haskeline-"
- version ".tar.gz"))
- (sha256
- (base32
- "1sxhdhy9asinxn0gvd4zandbk6xkb04vy1y7lmh66f9jv66fqhsm"))))
- (build-system haskell-build-system)
- (arguments
- `(#:configure-flags (list "-fterminfo")))
- (inputs
- `(("ncurses" ,ncurses)
- ("ghc-stm" ,ghc-stm)))
- (home-page "https://github.com/judah/haskeline")
- (synopsis "Command-line interface for user input")
- (description
- "Haskeline provides a user interface for line input in command-line
-programs. This library is similar in purpose to readline, but since it
-is written in Haskell it is (hopefully) more easily used in other Haskell
-programs.")
- (license license:bsd-3)))
-
(define-public ghc-regex-applicative
(package
(name "ghc-regex-applicative")
@@ -6687,8 +6629,7 @@ this problem.")
`(("ghc-bytestring-handle" ,ghc-bytestring-handle)
("ghc-quickcheck" ,ghc-quickcheck)
("ghc-tasty" ,ghc-tasty)
- ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
- ("ghc-array" ,ghc-array)))
+ ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
(home-page "https://hackage.haskell.org/package/tar")
(synopsis "Reading, writing and manipulating \".tar\" archive files")
(description
@@ -6701,48 +6642,6 @@ preserved. It also provides features for random access to archive content using
an index.")
(license license:bsd-3)))
-(define-public ghc-transformers
- (package
- (name "ghc-transformers")
- (version "0.5.2.0")
- (source
- (origin
- (method url-fetch)
- (uri (string-append
- "https://hackage.haskell.org/package/transformers/transformers-"
- version ".tar.gz"))
- (sha256
- (base32
- "1qkhi8ssf8c4jnmrw9dzym3igqbzq7h48iisaykdfzdsm09qfh3c"))))
- (build-system haskell-build-system)
- (home-page "https://hackage.haskell.org/package/transformers")
- (synopsis "Concrete functor and monad transformers")
- (description
- "A portable library of functor and monad transformers, inspired by the paper
-'Functional Programming with Overloading and Higher-Order Polymorphism',
-by Mark P Jones. This package contains the monad transformer class and IO monad class,
-concrete functor and monad transformers, each with associated operations and functions
-to lift operations associated with other transformers. The package can be used on
-its own in portable Haskell code, in which case operations need to be manually lifted
-through transformer stacks. Alternatively, it can be used with the
-non-portable monad classes in the @code{mtl} or @code{monads-tf} packages,
-which automatically lift operations introduced by monad transformers through
-other transformers.")
- (license license:bsd-3)))
-
-;; darcs-2.12.0 requires transformers-0.4.2.0
-(define-public ghc-transformers-0.4.2.0
- (package
- (inherit ghc-transformers)
- (version "0.4.2.0")
- (source (origin
- (method url-fetch)
- (uri (string-append "https://hackage.haskell.org/package/transformers/"
- "transformers-" version ".tar.gz"))
- (sha256
- (base32
- "0a364zfcm17mhpy0c4ms2j88sys4yvgd6071qsgk93la2wjm8mkr"))))))
-
(define-public ghc-stmonadtrans
(package
(name "ghc-stmonadtrans")
@@ -6834,44 +6733,6 @@ Polymorphism', by Mark P Jones. This package is almost a compatible replacement
the @code{mtl-tf} package.")
(license license:bsd-3)))
-;; Do not use this. Bytestring is a standard library and always included.
-(define-public ghc-bytestring
- (package
- (name "ghc-bytestring")
- (version "0.10.8.2")
- (source
- (origin
- (method url-fetch)
- (uri (string-append
- "https://hackage.haskell.org/package/bytestring/bytestring-"
- version ".tar.gz"))
- (sha256
- (base32
- "0fjc5ybxx67l0kh27l6vq4saf88hp1wnssj5ka90ii588y76cvys"))))
- (build-system haskell-build-system)
- (inputs
- `(("ghc-dlist" ,ghc-dlist)
- ("ghc-byteorder" ,ghc-byteorder)
- ("ghc-hunit" ,ghc-hunit)
- ("ghc-mtl" ,ghc-mtl)
- ("ghc-quickcheck" ,ghc-quickcheck)
- ("ghc-random" ,ghc-random)
- ("ghc-test-framework" ,ghc-test-framework)
- ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
- ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
- (arguments
- `(#:tests? #f)) ; Test number two becomes non-responsive for 20+ minutes
- (home-page "https://github.com/haskell/bytestring")
- (synopsis "Fast, compact, strict and lazy byte strings with a list interface")
- (description
- "An efficient compact, immutable byte string type (both strict and lazy)
-suitable for binary or 8-bit character data. The 'ByteString' type represents
-sequences of bytes or 8-bit characters. It is suitable for high performance use,
-both in terms of large data quantities, or high speed requirements. The 'ByteString'
-functions follow the same style as ordinary lists, so it is easy to convert code
-from using 'String' to 'ByteString'.")
- (license license:bsd-3)))
-
(define-public ghc-colour
(package
(name "ghc-colour")
@@ -6894,57 +6755,6 @@ Colours can be blended and composed. Various colour spaces are
supported. A module of colour names (\"Data.Colour.Names\") is provided.")
(license license:expat)))
-;; Do not use this as an input. It is part of GHC.
-(define-public ghc-directory
- (package
- (name "ghc-directory")
- (version "1.3.2.0")
- (source
- (origin
- (method url-fetch)
- (uri (string-append
- "https://hackage.haskell.org/package/directory/directory-"
- version ".tar.gz"))
- (sha256
- (base32
- "0ffhanigxrx5wpin8l0wfp7d24lpgsjwj0hxrfp8bpy2wj1snxny"))))
- (build-system haskell-build-system)
- (home-page "https://hackage.haskell.org/package/directory")
- (synopsis "Platform-agnostic library for file system operations")
- (description
- "This library provides a basic set of operations for manipulating
-files and directories in a portable way.")
- (license license:bsd-3)))
-
-;; Do not use this as an input. It is part of GHC.
-(define-public ghc-process
- (package
- (name "ghc-process")
- (version "1.6.3.0")
- (source
- (origin
- (method url-fetch)
- (uri (string-append
- "https://hackage.haskell.org/package/process/process-"
- version ".tar.gz"))
- (sha256
- (base32
- "0lxkl0gmyy2sn3r9c7dyz8vz1cm6nvygmgrizilliir5bp42m8cc"))))
- (build-system haskell-build-system)
- (arguments
- `(#:phases
- (modify-phases %standard-phases
- (add-after 'unpack 'patch-reference-to-/bin/sh
- (lambda _
- (substitute* "System/Process/Posix.hs"
- (("/bin/sh") (which "sh")))
- #t)))))
- (home-page "https://hackage.haskell.org/package/process")
- (synopsis "System process libraries")
- (description
- "This package contains libraries for dealing with system processes.")
- (license license:bsd-3)))
-
(define-public ghc-wl-pprint-text
(package
(name "ghc-wl-pprint-text")
@@ -7040,29 +6850,6 @@ and edge labels with positional information, etc.
@end enumerate\n")
(license license:bsd-3)))
-(define-public ghc-array
- (package
- (name "ghc-array")
- (version "0.5.2.0")
- (source
- (origin
- (method url-fetch)
- (uri (string-append
- "https://hackage.haskell.org/package/array/array-"
- version ".tar.gz"))
- (sha256
- (base32
- "12v83s2imxb3p2crnlzrpjh0nk6lpysw9bdk9yahs6f37csa5jaj"))))
- (build-system haskell-build-system)
- (home-page
- "https://hackage.haskell.org/package/array")
- (synopsis "Mutable and immutable arrays")
- (description
- "In addition to providing the @code{Data.Array} module, this package also defines
-the classes @code{IArray} of immutable arrays and @code{MArray} of arrays mutable
-within appropriate monads, as well as some instances of these classes.")
- (license license:bsd-3)))
-
(define-public ghc-constraints
(package
(name "ghc-constraints")
@@ -7894,7 +7681,6 @@ files in Haskell.")
(inputs
`(("ghc-mtl" ,ghc-mtl)
("ghc-network" ,ghc-network)
- ("ghc-directory" ,ghc-directory)
("ghc-old-locale" ,ghc-old-locale)))
(native-inputs
`(("ghc-hunit" ,ghc-hunit)))
@@ -8036,7 +7822,7 @@ bytestrings and their hexademical representation.")
(define-public ghc-psqueues
(package
(name "ghc-psqueues")
- (version "0.2.2.3")
+ (version "0.2.6.0")
(source
(origin
(method url-fetch)
@@ -8045,7 +7831,7 @@ bytestrings and their hexademical representation.")
"psqueues-" version ".tar.gz"))
(sha256
(base32
- "1dd6xv1wjxj1xinx155b14hijw8fafrg4096srzdzj7xyqq7qxbd"))))
+ "0n39s1i88j6s7vvsdhpbhcr3gpbwlzabwcc3nbd7nqb4kb4i0sls"))))
(build-system haskell-build-system)
(inputs
`(("ghc-hashable" ,ghc-hashable)))
@@ -8056,7 +7842,7 @@ bytestrings and their hexademical representation.")
("ghc-test-framework" ,ghc-test-framework)
("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
- (home-page "https://github.com/bttr/psqueues")
+ (home-page "https://github.com/jaspervdj/psqueues")
(synopsis "Pure priority search queues")
(description "The psqueues package provides
@uref{https://en.wikipedia.org/wiki/Priority_queue, Priority Search Queues} in
@@ -8213,6 +7999,7 @@ Double.")
(base32
"1sv5vabsx332v1lpb6v3jv4zrzvpx1n7yprzd8wlcda5vsc5a6zp"))))
(build-system haskell-build-system)
+ (arguments `(#:tests? #f)) ; FIXME: 1 test fails.
(inputs
`(("ghc-vector" ,ghc-vector)
("ghc-vector-th-unbox" ,ghc-vector-th-unbox)))
@@ -8516,7 +8303,8 @@ and regression and autocorrelation analysis.
"0bszq6fijnr4pmadzz89smj7kfmzx0ca3wd9ga8gv0in9jk9vgp1"))))
(build-system haskell-build-system)
(inputs `(("ghc-vector" ,ghc-vector)
- ("ghc-semigroups" ,ghc-semigroups)))
+ ("ghc-semigroups" ,ghc-semigroups)
+ ("ghc-text" ,ghc-text)))
(home-page "https://github.com/snoyberg/mono-traversable")
(synopsis "Typeclasses for dealing with various chunked data
representations for Haskell")
@@ -9023,4 +8811,659 @@ Haskell programmers. The ultimate goal is to support all Amazon
Web Services.")
(license license:bsd-3)))
+(define-public ghc-basement
+ (package
+ (name "ghc-basement")
+ (version "0.0.7")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://hackage.haskell.org/package/"
+ "basement/basement-" version ".tar.gz"))
+ (sha256
+ (base32
+ "0w2g4k9bs2ph00p0fgrmcrng8ypdz6xis0r10g380nzkg2rvj0dm"))))
+ (build-system haskell-build-system)
+ (home-page "https://github.com/haskell-foundation/foundation")
+ (synopsis "Basic primitives for Foundation starter pack")
+ (description
+ "This package contains basic primitives for the Foundation set of
+packages.")
+ (license license:bsd-3)))
+
+(define-public ghc-foundation
+ (package
+ (name "ghc-foundation")
+ (version "0.0.20")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://hackage.haskell.org/package/"
+ "foundation/foundation-" version ".tar.gz"))
+ (sha256
+ (base32
+ "0bg4g0xf4pb2vmahnfp8c4f0a3v0av73lb5g8bwnp170khxfcsms"))))
+ (build-system haskell-build-system)
+ (inputs `(("ghc-basement" ,ghc-basement)))
+ (home-page "https://github.com/haskell-foundation/foundation")
+ (synopsis "Alternative prelude with batteries and no dependencies")
+ (description
+ "This package provides a custom prelude with no dependencies apart from
+the base package.
+
+Foundation has the following goals:
+
+@enumerate
+@item provide a base like sets of modules that provide a consistent set of
+ features and bugfixes across multiple versions of GHC (unlike base).
+@item provide a better and more efficient prelude than base's prelude.
+@item be self-sufficient: no external dependencies apart from base;
+@item provide better data-types: packed unicode string by default, arrays;
+@item Numerical classes that better represent mathematical things (no more
+ all-in-one @code{Num});
+@item I/O system with less lazy IO.
+@end enumerate\n")
+ (license license:bsd-3)))
+
+(define-public ghc-stm-chans
+ (package
+ (name "ghc-stm-chans")
+ (version "3.0.0.4")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://hackage.haskell.org/package/"
+ "stm-chans-" version "/"
+ "stm-chans-" version ".tar.gz"))
+ (sha256
+ (base32
+ "0f27sp09yha43xk9q55sc185jyjs5h7gq2dhsyx6bm9kz9dzqi13"))))
+ (build-system haskell-build-system)
+ (inputs `(("ghc-stm" ,ghc-stm)))
+ (home-page "https://hackage.haskell.org/package/stm-chans")
+ (synopsis "Additional types of channels for ghc-stm")
+ (description "This Haskell package offers a collection of channel types,
+similar to @code{Control.Concurrent.STM.@{TChan,TQueue@}} but with additional
+features.")
+ (license license:bsd-3)))
+
+(define-public ghc-monad-loops
+ (package
+ (name "ghc-monad-loops")
+ (version "0.4.3")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://hackage.haskell.org/package/"
+ "monad-loops-" version "/"
+ "monad-loops-" version ".tar.gz"))
+ (sha256
+ (base32
+ "062c2sn3hc8h50p1mhqkpyv6x8dydz2zh3ridvlfjq9nqimszaky"))))
+ (build-system haskell-build-system)
+ (native-inputs `(("ghc-tasty" ,ghc-tasty)
+ ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
+ (home-page "https://github.com/mokus0/monad-loops")
+ (synopsis "Monadic loops for Haskell")
+ (description "This Haskell package provides some useful control
+operators for looping.")
+ (license license:public-domain)))
+
+(define-public ghc-monad-logger
+ (package
+ (name "ghc-monad-logger")
+ (version "0.3.25.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://hackage.haskell.org/package/"
+ "monad-logger-" version "/"
+ "monad-logger-" version ".tar.gz"))
+ (sha256
+ (base32
+ "0yv4fsi566zrn30j2g5l901lyqgmflhvzy4hji7ikcbh5d45m920"))))
+ (build-system haskell-build-system)
+ (inputs `(("ghc-transformers-compat" ,ghc-transformers-compat)
+ ("ghc-text" ,ghc-text)
+ ("ghc-stm" ,ghc-stm)
+ ("ghc-stm-chans" ,ghc-stm-chans)
+ ("ghc-lifted-base" ,ghc-lifted-base)
+ ("ghc-resourcet" ,ghc-resourcet)
+ ("ghc-conduit" ,ghc-conduit)
+ ("ghc-conduit-extra" ,ghc-conduit-extra)
+ ("ghc-fast-logger" ,ghc-fast-logger)
+ ("ghc-transformers-base" ,ghc-transformers-base)
+ ("ghc-monad-control" ,ghc-monad-control)
+ ("ghc-monad-loops" ,ghc-monad-loops)
+ ("ghc-mtl" ,ghc-mtl)
+ ("ghc-blaze-builder" ,ghc-blaze-builder)
+ ("ghc-exceptions" ,ghc-exceptions)))
+ (home-page "https://github.com/kazu-yamamoto/logger")
+ (synopsis "Provides a class of monads which can log messages for Haskell")
+ (description "This Haskell package uses a monad transformer approach
+for logging.
+
+This package provides Template Haskell functions for determining source
+code locations of messages.")
+ (license license:expat)))
+
+(define-public ghc-shakespeare
+ (package
+ (name "ghc-shakespeare")
+ (version "2.0.14")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://hackage.haskell.org/package/"
+ "shakespeare-" version "/"
+ "shakespeare-" version ".tar.gz"))
+ (sha256
+ (base32
+ "0j5zx8ka7d7scvb9shm7k3376qzl3k4kpim9aqqfs6n86901zpl4"))))
+ (build-system haskell-build-system)
+ (inputs `(("ghc-parsec" ,ghc-parsec)
+ ("ghc-text" ,ghc-text)
+ ("ghc-aeson" ,ghc-aeson)
+ ("ghc-blaze-markup" ,ghc-blaze-markup)
+ ("ghc-blaze-html" ,ghc-blaze-html)
+ ("ghc-exceptions" ,ghc-exceptions)
+ ("ghc-vector" ,ghc-vector)
+ ("ghc-unordered-containers" ,ghc-unordered-containers)
+ ("ghc-scientific" ,ghc-scientific)))
+ (native-inputs `(("ghc-hspec" ,ghc-hspec)
+ ("ghc-hunit" ,ghc-hunit)
+ ("hspec-discover" ,hspec-discover)))
+ (home-page "https://www.yesodweb.com/book/shakespearean-templates")
+ (synopsis "Family of type-safe template languages for Haskell")
+ (description "This Haskell package provides a family of type-safe
+templates with simple variable interpolation. Shakespeare templates can
+be used inline with a quasi-quoter or in an external file and it
+interpolates variables according to the type being inserted.")
+ (license license:expat)))
+
+(define-public ghc-securemem
+ (package
+ (name "ghc-securemem")
+ (version "0.1.9")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://hackage.haskell.org/package/"
+ "securemem-" version "/"
+ "securemem-" version ".tar.gz"))
+ (sha256
+ (base32
+ "0dkhhjxa7njc3qbgvd5a23rkvr39vj2kn2a9nk6yjg7a8b2hvdpy"))))
+ (build-system haskell-build-system)
+ (inputs `(("ghc-byteable" ,ghc-byteable)
+ ("ghc-memory" ,ghc-memory)))
+ (home-page "https://github.com/vincenthz/hs-securemem")
+ (synopsis "Auto-scrubbing and const-time-eq memory chunk abstraction for
+Haskell")
+ (description "SecureMem is similar to ByteString, except that it provides
+a memory chunk that will be auto-scrubbed after it run out of scope.")
+ (license license:bsd-3)))
+
+(define-public ghc-resource-pool
+ (package
+ (name "ghc-resource-pool")
+ (version "0.2.3.2")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://hackage.haskell.org/package/"
+ "resource-pool-" version "/"
+ "resource-pool-" version ".tar.gz"))
+ (sha256
+ (base32
+ "04mw8b9djb14zp4rdi6h7mc3zizh597ffiinfbr4m0m8psifw9w6"))))
+ (build-system haskell-build-system)
+ (inputs `(("ghc-hashable" ,ghc-hashable)
+ ("ghc-monad-control" ,ghc-monad-control)
+ ("ghc-transformers-base" ,ghc-transformers-base)
+ ("ghc-stm" ,ghc-stm)
+ ("ghc-vector" ,ghc-vector)))
+ (home-page "https://github.com/bos/pool")
+ (synopsis "Striped resource pooling implementation in Haskell")
+ (description "This Haskell package provides striped pooling abstraction
+for managing flexibly-sized collections of resources such as database
+connections.")
+ (license license:bsd-3)))
+
+(define-public ghc-attoparsec-iso8601
+ (package
+ (name "ghc-attoparsec-iso8601")
+ (version "1.0.0.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://hackage.haskell.org/package/"
+ "attoparsec-iso8601-" version "/"
+ "attoparsec-iso8601-" version ".tar.gz"))
+ (sha256
+ (base32
+ "12l55b76bhya9q89mfmqmy6sl5v39b6gzrw5rf3f70vkb23nsv5a"))))
+ (build-system haskell-build-system)
+ (inputs `(("ghc-attoparsec" ,ghc-attoparsec)
+ ("ghc-base-compat" ,ghc-base-compat)
+ ("ghc-text" ,ghc-text)))
+ (home-page "https://github.com/bos/aeson")
+ (synopsis "Parse ISO 8601 dates")
+ (description "Haskell library for parsing of ISO 8601 dates, originally
+from aeson.")
+ (license license:bsd-3)))
+
+(define-public ghc-th-lift-instances
+ (package
+ (name "ghc-th-lift-instances")
+ (version "0.1.11")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://hackage.haskell.org/package/"
+ "th-lift-instances-" version "/"
+ "th-lift-instances-" version ".tar.gz"))
+ (sha256
+ (base32
+ "1f56cp6ckcalld5jchv0kxpjkwcsixd7smd0g7r8cg67ppx6m90x"))))
+ (build-system haskell-build-system)
+ (inputs `(("ghc-th-lift" ,ghc-th-lift)
+ ("ghc-vector" ,ghc-vector)
+ ("ghc-text" ,ghc-text)))
+ (native-inputs `(("ghc-quickcheck" ,ghc-quickcheck)))
+ (home-page "https://github.com/bennofs/th-lift-instances")
+ (synopsis "Lift instances for template-haskell for common data types")
+ (description "Most data types in the Haskell platform do not have Lift
+instances. This package provides orphan instances for containers, text,
+bytestring and vector.")
+ (license license:bsd-3)))
+
+(define-public ghc-generics-sop
+ (package
+ (name "ghc-generics-sop")
+ (version "0.3.1.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://hackage.haskell.org/package/"
+ "generics-sop-" version "/"
+ "generics-sop-" version ".tar.gz"))
+ (sha256
+ (base32
+ "1bazlhgmxcwv7vd44jhdx74cnhmaz6yy47jxfycapjj4mjrnp0x7"))))
+ (build-system haskell-build-system)
+ (inputs `(("ghc-transformers-compat" ,ghc-transformers-compat)))
+ (home-page "https://github.com/well-typed/generics-sop")
+ (synopsis "Generic Programming using True Sums of Products for Haskell")
+ (description "This Haskell package supports the definition of generic
+functions. Datatypes are viewed in a uniform, structured way: the choice
+between constructors is represented using an n-ary sum, and the arguments of
+each constructor are represented using an n-ary product.")
+ (license license:bsd-3)))
+
+(define-public ghc-uri-bytestring
+ (package
+ (name "ghc-uri-bytestring")
+ (version "0.3.1.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://hackage.haskell.org/package/"
+ "uri-bytestring-" version "/"
+ "uri-bytestring-" version ".tar.gz"))
+ (sha256
+ (base32
+ "04qjv1sgyrdg538290p9hqnvyxnahvr5cjwl8vm1rn9j0fv3ymq9"))))
+ (build-system haskell-build-system)
+ (inputs `(("ghc-attoparsec" ,ghc-attoparsec)
+ ("ghc-fail" ,ghc-fail)
+ ("ghc-blaze-builder" ,ghc-blaze-builder)
+ ("ghc-th-lift-instances" ,ghc-th-lift-instances)))
+ (native-inputs `(("ghc-attoparsec" ,ghc-attoparsec)
+ ("ghc-hunit" ,ghc-hunit)
+ ("ghc-quickcheck" ,ghc-quickcheck)
+ ("ghc-tasty" ,ghc-tasty)
+ ("ghc-tasty-hunit" ,ghc-tasty-hunit)
+ ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
+ ("ghc-base-compat" ,ghc-base-compat)
+ ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)
+ ("ghc-semigroups" ,ghc-semigroups)
+ ("ghc-generics-sop" ,ghc-generics-sop)))
+ (home-page "https://github.com/Soostone/uri-bytestring")
+ (synopsis "Haskell URI parsing as ByteStrings")
+ (description "This Haskell package aims to be an RFC3986 compliant URI
+parser that uses ByteStrings for parsing and representing the URI data.")
+ (license license:bsd-3)))
+
+(define-public ghc-time-locale-compat
+ (package
+ (name "ghc-time-locale-compat")
+ (version "0.1.1.3")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://hackage.haskell.org/package/"
+ "time-locale-compat-" version "/"
+ "time-locale-compat-" version ".tar.gz"))
+ (sha256
+ (base32
+ "1vdcfr2hp9qh3ag90x6ikbdf42wiqpdylnplffna54bpnilbyi4i"))))
+ (build-system haskell-build-system)
+ (home-page "https://github.com/khibino/haskell-time-locale-compat")
+ (synopsis "Compatibility of TimeLocale between old-locale and time-1.5")
+ (description "This Haskell package contains wrapped name module for
+TimeLocale.")
+ (license license:bsd-3)))
+
+(define-public ghc-http-api-data
+ (package
+ (name "ghc-http-api-data")
+ (version "0.3.7.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://hackage.haskell.org/package/"
+ "http-api-data-" version "/"
+ "http-api-data-" version ".tar.gz"))
+ (sha256
+ (base32
+ "1zbmf0kkfsw7pfznisi205gh7jd284gfarxsyiavd2iw26akwqwc"))))
+ (build-system haskell-build-system)
+ (arguments `(#:tests? #f)) ; FIXME: Tests require QuickCheck >= 2.9
+ (inputs `(("ghc-attoparsec" ,ghc-attoparsec)
+ ("ghc-attoparsec-iso8601" ,ghc-attoparsec-iso8601)
+ ("ghc-hashable" ,ghc-hashable)
+ ("ghc-http-types" ,ghc-http-types)
+ ("ghc-text" ,ghc-text)
+ ("ghc-time-locale-compat" ,ghc-time-locale-compat)
+ ("ghc-unordered-containers" ,ghc-unordered-containers)
+ ("ghc-uri-bytestring" ,ghc-uri-bytestring)
+ ("ghc-uuid-types" ,ghc-uuid-types)))
+ (home-page "https://github.com/fizruk/http-api-data")
+ (synopsis "Convert to/from HTTP API data like URL pieces, headers and
+query parameters")
+ (description "This Haskell package defines typeclasses used for converting
+Haskell data types to and from HTTP API data.")
+ (license license:bsd-3)))
+
+(define-public ghc-persistent
+ (package
+ (name "ghc-persistent")
+ (version "2.7.3.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://hackage.haskell.org/package/"
+ "persistent-" version "/"
+ "persistent-" version ".tar.gz"))
+ (sha256
+ (base32
+ "1jbvavdvr9qz5ld7vf6l1jgiadhmxx6zc4vqsdk9ivfq6d5wlg1p"))))
+ (build-system haskell-build-system)
+ (inputs `(("ghc-old-locale" ,ghc-old-locale)
+ ("ghc-text" ,ghc-text)
+ ("ghc-conduit" ,ghc-conduit)
+ ("ghc-resourcet" ,ghc-resourcet)
+ ("ghc-exceptions" ,ghc-exceptions)
+ ("ghc-monad-control" ,ghc-monad-control)
+ ("ghc-lifted-base" ,ghc-lifted-base)
+ ("ghc-resource-pool" ,ghc-resource-pool)
+ ("ghc-path-pieces" ,ghc-path-pieces)
+ ("ghc-http-api-data" ,ghc-http-api-data)
+ ("ghc-aeson" ,ghc-aeson)
+ ("ghc-monad-logger" ,ghc-monad-logger)
+ ("ghc-transformers-base" ,ghc-transformers-base)
+ ("ghc-base64-bytestring" ,ghc-base64-bytestring)
+ ("ghc-unordered-containers" ,ghc-unordered-containers)
+ ("ghc-vector" ,ghc-vector)
+ ("ghc-attoparsec" ,ghc-attoparsec)
+ ("ghc-haskell-src-meta" ,ghc-haskell-src-meta)
+ ("ghc-blaze-html" ,ghc-blaze-html)
+ ("ghc-blaze-markup" ,ghc-blaze-markup)
+ ("ghc-silently" ,ghc-silently)
+ ("ghc-mtl" ,ghc-mtl)
+ ("ghc-fast-logger" ,ghc-fast-logger)
+ ("ghc-scientific" ,ghc-scientific)
+ ("ghc-tagged" ,ghc-tagged)))
+ (native-inputs `(("ghc-hspec" ,ghc-hspec)))
+ (home-page "https://www.yesodweb.com/book/persistent")
+ (synopsis "Type-safe, multi-backend data serialization for Haskell")
+ (description "This Haskell package allows Haskell programs to access data
+storage sytems like PostgreSQL, SQLite, MySQL and MongoDB in a type-safe
+way.")
+ (license license:expat)))
+
+(define-public ghc-aeson-compat
+ (package
+ (name "ghc-aeson-compat")
+ (version "0.3.7.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://hackage.haskell.org/package/"
+ "aeson-compat-" version "/"
+ "aeson-compat-" version ".tar.gz"))
+ (sha256
+ (base32
+ "1jya3lm9imclhb8qqihv39hhb62vvs3qpws7pc5fc23vwg0hsx2r"))))
+ (build-system haskell-build-system)
+ (arguments `(#:tests? #f)) ; FIXME: Tests require QuickCheck >= 2.10
+ (inputs `(("ghc-base-compat" ,ghc-base-compat)
+ ("ghc-aeson" ,ghc-aeson)
+ ("ghc-attoparsec" ,ghc-attoparsec)
+ ("ghc-attoparsec" ,ghc-attoparsec-iso8601)
+ ("ghc-exceptions" ,ghc-exceptions)
+ ("ghc-hashable" ,ghc-hashable)
+ ("ghc-scientific" ,ghc-scientific)
+ ("ghc-text" ,ghc-text)
+ ("ghc-time-locale-compat" ,ghc-time-locale-compat)
+ ("ghc-unordered-containers" ,ghc-unordered-containers)
+ ("ghc-vector" ,ghc-vector)
+ ("ghc-tagged" ,ghc-tagged)
+ ("ghc-semigroups" ,ghc-semigroups)
+ ("ghc-nats" ,ghc-nats)))
+ (home-page "https://github.com/phadej/aeson-compat")
+ (synopsis "Compatibility layer for ghc-aeson")
+ (description "This Haskell package provides compatibility layer for
+ghc-aeson.")
+ (license license:bsd-3)))
+
+(define-public ghc-persistent-template
+ (package
+ (name "ghc-persistent-template")
+ (version "2.5.3.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://hackage.haskell.org/package/"
+ "persistent-template-" version "/"
+ "persistent-template-" version ".tar.gz"))
+ (sha256
+ (base32
+ "0449piw3n02q7dag7k1pakfmzmf3ms4wk1qmnagczpm1ckajinwd"))))
+ (build-system haskell-build-system)
+ (inputs `(("ghc-persistent" ,ghc-persistent)
+ ("ghc-monad-control" ,ghc-monad-control)
+ ("ghc-text" ,ghc-text)
+ ("ghc-aeson" ,ghc-aeson)
+ ("ghc-aeson-compat" ,ghc-aeson-compat)
+ ("ghc-monad-logger" ,ghc-monad-logger)
+ ("ghc-unordered-containers" ,ghc-unordered-containers)
+ ("ghc-tagged" ,ghc-tagged)
+ ("ghc-path-pieces" ,ghc-path-pieces)
+ ("ghc-http-api-data" ,ghc-http-api-data)))
+ (native-inputs `(("ghc-hspec" ,ghc-hspec)
+ ("ghc-quickcheck" ,ghc-quickcheck)))
+ (home-page "https://www.yesodweb.com/book/persistent")
+ (synopsis "Type-safe, non-relational, multi-backend persistence")
+ (description "This Haskell package provides interfaces and helper
+functions for the ghc-persistent package.")
+ (license license:expat)))
+
+(define-public ghc-unliftio-core
+ (package
+ (name "ghc-unliftio-core")
+ (version "0.1.1.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://hackage.haskell.org/package/"
+ "unliftio-core-" version "/"
+ "unliftio-core-" version ".tar.gz"))
+ (sha256
+ (base32
+ "1193fplsjm1lcr05xwvkj1rsyzx74i755f6kw3ikmxbsv0bv0l3m"))))
+ (build-system haskell-build-system)
+ (home-page
+ "https://github.com/fpco/unliftio/tree/master/unliftio-core#readme")
+ (synopsis "The MonadUnliftIO typeclass for unlifting monads to IO")
+ (description "This Haskell package provides the core @code{MonadUnliftIO}
+typeclass, instances for base and transformers, and basic utility
+functions.")
+ (license license:expat)))
+
+(define-public ghc-microlens
+ (package
+ (name "ghc-microlens")
+ (version "0.4.8.3")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://hackage.haskell.org/package/"
+ "microlens-" version "/"
+ "microlens-" version ".tar.gz"))
+ (sha256
+ (base32
+ "17qx2mbqdrlnkc3gxq8njbp7qw8nh51drmz6fc8khgj9bls5ni2k"))))
+ (build-system haskell-build-system)
+ (home-page
+ "https://github.com/aelve/microlens")
+ (synopsis "Provides a tiny lens Haskell library with no dependencies")
+ (description "This Haskell package provides a lens library, just like
+@code{ghc-lens}, but smaller. It provides essential lenses and
+traversals (like @code{_1} and @code{_Just}), as well as ones which are simply
+nice to have (like @code{each}, @code{at}, and @code{ix}), and some
+combinators (like @code{failing} and @code{singular}), but everything else is
+stripped. As the result, this package has no dependencies.")
+ (license license:bsd-3)))
+
+(define-public ghc-microlens-th
+ (package
+ (name "ghc-microlens-th")
+ (version "0.4.1.3")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://hackage.haskell.org/package/"
+ "microlens-th-" version "/"
+ "microlens-th-" version ".tar.gz"))
+ (sha256
+ (base32
+ "15a12cqxlgbcn1n73zwrxnp2vfm8b0ma0a0sdd8zmjbs8zy3np4f"))))
+ (build-system haskell-build-system)
+ (inputs `(("ghc-microlens" ,ghc-microlens)))
+ (home-page
+ "https://github.com/aelve/microlens")
+ (synopsis "Automatic generation of record lenses for
+@code{ghc-microlens}")
+ (description "This Haskell package lets you automatically generate lenses
+for data types; code was extracted from the lens package, and therefore
+generated lenses are fully compatible with ones generated by lens (and can be
+used both from lens and microlens).")
+ (license license:bsd-3)))
+
+(define-public ghc-unliftio
+ (package
+ (name "ghc-unliftio")
+ (version "0.2.4.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "https://hackage.haskell.org/package/unliftio/unliftio-"
+ version
+ ".tar.gz"))
+ (sha256
+ (base32
+ "0vpncmwaq5zb6bziqfns4qdgxmq8ky0rlxna2yngxp170s5zxx9z"))))
+ (build-system haskell-build-system)
+ (arguments `(#:tests? #f)) ; FIXME: hspec-discover not in PATH
+ (inputs
+ `(("ghc-async" ,ghc-async)
+ ("ghc-stm" ,ghc-stm)
+ ("ghc-unliftio-core" ,ghc-unliftio-core)))
+ (native-inputs `(("ghc-hspec" ,ghc-hspec)))
+ (home-page "https://github.com/fpco/unliftio")
+ (synopsis "Provides MonadUnliftIO typecplass for unlifting monads to
+IO (batteries included)")
+ (description "This Haskell package provides the core @code{MonadUnliftIO}
+typeclass, a number of common instances, and a collection of common functions
+working with it.")
+ (license license:expat)))
+
+(define-public ghc-persistent-sqlite
+ (package
+ (name "ghc-persistent-sqlite")
+ (version "2.6.4")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://hackage.haskell.org/package/"
+ "persistent-sqlite-" version "/"
+ "persistent-sqlite-" version ".tar.gz"))
+ (sha256
+ (base32
+ "16mc2ra0hbyyc8ckjlxxc11bpskdymbr8c3g6ih6wzik639xprbm"))))
+ (build-system haskell-build-system)
+ (inputs `(("ghc-persistent" ,ghc-persistent)
+ ("ghc-unliftio-core" ,ghc-unliftio-core)
+ ("ghc-aeson" ,ghc-aeson)
+ ("ghc-conduit" ,ghc-conduit)
+ ("ghc-monad-logger" ,ghc-monad-logger)
+ ("ghc-microlens-th" ,ghc-microlens-th)
+ ("ghc-resourcet" ,ghc-resourcet)
+ ("ghc-old-locale" ,ghc-old-locale)
+ ("ghc-resource-pool" ,ghc-resource-pool)
+ ("ghc-unordered-containers" ,ghc-unordered-containers)))
+ (native-inputs `(("ghc-hspec" ,ghc-hspec)
+ ("ghc-persistent-template" ,ghc-persistent-template)
+ ("ghc-temporary" ,ghc-temporary)
+ ("ghc-text" ,ghc-text)))
+ (home-page
+ "https://www.yesodweb.com/book/persistent")
+ (synopsis "Backend for the persistent library using sqlite3")
+ (description "This Haskell package includes a thin sqlite3 wrapper based
+on the direct-sqlite package, as well as the entire C library, so there are no
+system dependencies.")
+ (license license:expat)))
+
+(define-public ghc-email-validate
+ (package
+ (name "ghc-email-validate")
+ (version "2.3.2.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "https://hackage.haskell.org/package/"
+ "email-validate/email-validate-"
+ version
+ ".tar.gz"))
+ (sha256
+ (base32
+ "0qvxysiap3r4mi3xff5nsk9qv6diqxfgwj186bypbamzvzlz0lav"))))
+ (build-system haskell-build-system)
+ (inputs
+ `(("ghc-attoparsec" ,ghc-attoparsec)
+ ("ghc-hspec" ,ghc-hspec)
+ ("ghc-quickcheck" ,ghc-quickcheck)
+ ("ghc-doctest" ,ghc-doctest)))
+ (home-page
+ "https://github.com/Porges/email-validate-hs")
+ (synopsis "Email address validator for Haskell")
+ (description
+ "This Haskell package provides a validator that can validate an email
+address string against RFC 5322.")
+ (license license:bsd-3)))
+
;;; haskell.scm ends here
diff --git a/gnu/packages/image-viewers.scm b/gnu/packages/image-viewers.scm
index 7e7e7e3812..ae7ae0f519 100644
--- a/gnu/packages/image-viewers.scm
+++ b/gnu/packages/image-viewers.scm
@@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2013, 2017 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2013, 2017, 2018 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2014 Ian Denhardt <ian@zenhack.net>
;;; Copyright © 2015, 2016 Alex Kost <alezost@gmail.com>
;;; Copyright © 2016, 2017 Efraim Flashner <efraim@flashner.co.il>
@@ -105,7 +105,7 @@ actions.")
(define-public geeqie
(package
(name "geeqie")
- (version "1.3")
+ (version "1.4")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/BestImageViewer/geeqie/"
@@ -113,7 +113,7 @@ actions.")
version ".tar.xz"))
(sha256
(base32
- "0gzc82sy66pbsmq7lnmq4y37zqad1zfwfls3ik3dmfm8s5nmcvsb"))))
+ "0ciygvcxb78pqg59r6p061mkbpvkgv2rv3r79j3kgv3kalb3ln2w"))))
(build-system gnu-build-system)
(arguments
`(;; Enable support for a "map" pane using GPS data.
@@ -123,7 +123,18 @@ actions.")
(modify-phases %standard-phases
(add-after 'unpack 'autogen
(lambda _
+ (define (write-dummy-changelog port)
+ (display "See Git history for a change log.\n" port))
+
(setenv "NOCONFIGURE" "true")
+
+ ;; Create ChangeLog{,.html} to placate the makefile, which would
+ ;; otherwise require access to the Git repo.
+ (call-with-output-file "ChangeLog"
+ write-dummy-changelog)
+ (call-with-output-file "ChangeLog.html"
+ write-dummy-changelog)
+
(zero? (system* "sh" "autogen.sh")))))))
(inputs
`(("clutter" ,clutter)
diff --git a/gnu/packages/image.scm b/gnu/packages/image.scm
index 044321d406..e27b9223dd 100644
--- a/gnu/packages/image.scm
+++ b/gnu/packages/image.scm
@@ -55,6 +55,7 @@
#:use-module (gnu packages maths)
#:use-module (gnu packages mcrypt)
#:use-module (gnu packages perl)
+ #:use-module (gnu packages photo)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages python)
#:use-module (gnu packages xml)
@@ -337,13 +338,13 @@ official designation is ISO/IEC 29199-2). This library is an implementation of t
(define-public jpegoptim
(package
(name "jpegoptim")
- (version "1.4.4")
+ (version "1.4.5")
(source (origin
(method url-fetch)
(uri (string-append "http://www.kokkonen.net/tjko/src/jpegoptim-"
version ".tar.gz"))
(sha256 (base32
- "1cn1i0g1xjdwa12w0ifbnzgb1vqbpr8ji6h05vxksj79vyi3x849"))))
+ "1mngi8c4mhzwa7i4wqrqq6i80cqj4adbacblfvk6dy573wywyxmi"))))
(build-system gnu-build-system)
(inputs `(("libjpeg" ,libjpeg)))
(arguments
@@ -355,7 +356,7 @@ official designation is ISO/IEC 29199-2). This library is an implementation of t
the Huffman tables) and \"lossy\" optimization based on setting
maximum quality factor.")
(license license:gpl2+)
- (home-page "http://www.kokkonen.net/tjko/projects.html#jpegoptim")))
+ (home-page "https://www.kokkonen.net/tjko/projects.html#jpegoptim")))
(define-public libicns
(package
@@ -717,26 +718,63 @@ supplies a generic doubly-linked list and some string functions.")
(sha256
(base32
"12bz57asdcfsz3zr9i9nska0fb6h3z2aizy412qjqkixkginbz7v"))
- (patches (search-patches "freeimage-CVE-2015-0852.patch"
+ (modules '((guix build utils)))
+ (snippet
+ '(begin
+ (for-each
+ (lambda (dir)
+ (delete-file-recursively (string-append "Source/" dir)))
+ '("LibJPEG" "LibJXR" "LibOpenJPEG" "LibPNG" "LibRawLite"
+ "LibWebP" "OpenEXR" "ZLib"))))
+ (patches (search-patches "freeimage-unbundle.patch"
+ "freeimage-CVE-2015-0852.patch"
"freeimage-CVE-2016-5684.patch"
"freeimage-fix-build-with-gcc-5.patch"))))
(build-system gnu-build-system)
(arguments
'(#:phases
(modify-phases %standard-phases
- (delete 'configure)
+ ;; According to Fedora these files depend on private headers, but their
+ ;; presence is required for building, so we replace them with empty files.
+ (add-after 'unpack 'delete-unbuildable-files
+ (lambda _
+ (for-each (lambda (file)
+ (delete-file file)
+ (close (open file O_CREAT)))
+ '("Source/FreeImage/PluginG3.cpp"
+ "Source/FreeImageToolkit/JPEGTransform.cpp"))
+ #t))
+ ;; These scripts generate the Makefiles.
+ (replace 'configure
+ (lambda _
+ (invoke "sh" "gensrclist.sh")
+ (invoke "sh" "genfipsrclist.sh")))
(add-before 'build 'patch-makefile
(lambda* (#:key outputs #:allow-other-keys)
(substitute* "Makefile.gnu"
(("/usr") (assoc-ref outputs "out"))
(("-o root -g root") ""))
#t)))
- #:make-flags '("CC=gcc")
+ #:make-flags
+ (list "CC=gcc"
+ ;; We need '-fpermissive' for Source/FreeImage.h.
+ ;; libjxr doesn't have a pkg-config file.
+ (string-append "CFLAGS+=-O2 -fPIC -fvisibility=hidden -fpermissive "
+ "-I" (assoc-ref %build-inputs "libjxr") "/include/jxrlib"))
#:tests? #f)) ; no check target
(native-inputs
- `(("unzip" ,unzip)))
- ;; Fails to build on MIPS due to assembly code in the source.
- (supported-systems (delete "mips64el-linux" %supported-systems))
+ `(("pkg-config" ,pkg-config)
+ ("unzip" ,unzip)))
+ (inputs
+ `(("libjpeg" ,libjpeg)
+ ("libjxr" ,libjxr)
+ ("libpng" ,libpng)
+ ("libraw" ,libraw)
+ ("libtiff" ,libtiff)
+ ("libwebp" ,libwebp)
+ ("openexr" ,openexr)
+ ("openjpeg" ,openjpeg)
+ ("zlib" ,zlib)))
(synopsis "Library for handling popular graphics image formats")
(description
"FreeImage is a library for developers who would like to support popular
diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm
index 5771366f66..a3395ad7da 100644
--- a/gnu/packages/java.scm
+++ b/gnu/packages/java.scm
@@ -79,24 +79,25 @@
;;;
;; The Java bootstrap begins with Jikes, a Java compiler written in C++. We
-;; use it to build the SableVM standard library and virtual machine, which are
-;; written in a simpler dialect of Java and C, respectively. This is
-;; sufficient to build an older version of Ant, which is needed to build an
-;; older version of ECJ, an incremental Java compiler, both of which are
-;; written in Java.
+;; use it to build a simple version of GNU Classpath, the Java standard
+;; library. We chose version 0.93 because it is the last version that can be
+;; built with Jikes. With Jikes and this version of GNU Classpath we can
+;; build JamVM, a Java Virtual Machine. We build version 1.5.1 because it is
+;; the last version of JamVM that works with a version of GNU classpath that
+;; does not require ECJ. These three packages make up the bootstrap JDK.
+
+;; This is sufficient to build an older version of Ant, which is needed to
+;; build an older version of ECJ, an incremental Java compiler, both of which
+;; are written in Java.
;;
-;; ECJ is needed to build the latest release of GNU Classpath (0.99).
-;; Classpath (> 0.98) is a requirement for JamVM, a more modern implementation
-;; of the Java virtual machine.
-;;
-;; With JamVM we can build the latest development version of GNU Classpath,
-;; which has much more support for Java 1.6 than the latest release. Since
-;; the previous build of JamVM is limited by the use of GNU Classpath 0.99 we
-;; rebuild it with the latest development version of GNU Classpath.
-;;
-;; Finally, we use the bootstrap toolchain to build the OpenJDK with the
-;; Icedtea 1.x build framework. We then build the more recent JDKs Icedtea
-;; 2.x and Icedtea 3.x.
+;; ECJ is needed to build the latest release (0.99) and the development
+;; version of GNU Classpath. The development version of GNU Classpath has
+;; much more support for Java 1.6 than the latest release, but we need to
+;; build 0.99 first to get a working version of javah. ECJ, the development
+;; version of GNU Classpath, and the latest version of JamVM make up the
+;; second stage JDK with which we can build the OpenJDK with the Icedtea 1.x
+;; build framework. We then build the more recent JDKs Icedtea 2.x and
+;; Icedtea 3.x.
(define jikes
(package
@@ -117,114 +118,88 @@ defined in The Java Language Specification into the bytecoded instruction set
and binary format defined in The Java Virtual Machine Specification.")
(license license:ibmpl1.0)))
-(define sablevm-classpath
+;; This is the last version of GNU Classpath that can be built without ECJ.
+(define classpath-bootstrap
(package
- (name "sablevm-classpath")
- (version "1.13")
+ (name "classpath")
+ (version "0.93")
(source (origin
(method url-fetch)
- (uri (string-append "mirror://sourceforge/sablevm/sablevm/"
- version "/sablevm-classpath-" version ".tar.gz"))
+ (uri (string-append "mirror://gnu/classpath/classpath-"
+ version ".tar.gz"))
(sha256
(base32
- "1qyhyfz8idghxdam16hdgpa24r2x4xbg9z8c8asa3chnd79h3zw2"))))
+ "0i99wf9xd3hw1sj2sazychb9prx8nadxh2clgvk3zlmb28v0jbfz"))
+ (patches (search-patches "classpath-aarch64-support.patch"))))
(build-system gnu-build-system)
(arguments
`(#:configure-flags
- (list "--with-jikes"
+ (list (string-append "JAVAC="
+ (assoc-ref %build-inputs "jikes")
+ "/bin/jikes")
"--disable-Werror"
"--disable-gmp"
"--disable-gtk-peer"
+ "--disable-gconf-peer"
"--disable-plugin"
"--disable-dssi"
"--disable-alsa"
- "--disable-gjdoc")))
- (inputs
- `(("gconf" ,gconf)
- ("gtk+" ,gtk+-2)))
+ "--disable-gjdoc")
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'install 'install-data
+ (lambda _ (zero? (system* "make" "install-data")))))))
(native-inputs
`(("jikes" ,jikes)
("fastjar" ,fastjar)
+ ("libltdl" ,libltdl)
("pkg-config" ,pkg-config)))
- (home-page "http://sablevm.org/")
- (synopsis "Java Virtual Machine")
- (description "SableVM is a clean-room, highly portable and efficient Java
-virtual machine. Its goals are to be reasonably small, fast, and compliant
-with the various specifications (JVM specification, JNI, invocation interface,
-etc.). SableVM is no longer maintained.
-
-This package provides the classpath library.")
- (license license:lgpl2.1+)))
+ (home-page "https://www.gnu.org/software/classpath/")
+ (synopsis "Essential libraries for Java")
+ (description "GNU Classpath is a project to create core class libraries
+for use with runtimes, compilers and tools for the Java programming
+language.")
+ ;; GPLv2 or later, with special linking exception.
+ (license license:gpl2+)))
-(define sablevm
+;; This is the last version of JamVM that works with a version of GNU
+;; classpath that does not require ECJ.
+(define jamvm-1-bootstrap
(package
- (name "sablevm")
- (version "1.13")
+ (name "jamvm")
+ (version "1.5.1")
(source (origin
(method url-fetch)
- (uri (string-append "mirror://sourceforge/sablevm/sablevm/"
- version "/sablevm-" version ".tar.gz"))
+ (uri (string-append "mirror://sourceforge/jamvm/jamvm/"
+ "JamVM%20" version "/jamvm-"
+ version ".tar.gz"))
(sha256
(base32
- "1jyg4bsym6igz94wps5443c7wiwlzinqzkchcw972nz4kf1cql6g"))))
+ "06lhi03l3b0h48pc7x58bk9my2nrcf1flpmglvys3wyad6yraf36"))))
(build-system gnu-build-system)
(arguments
`(#:configure-flags
- (list "--with-threading=switch" ; slower but prevents segfault
- "--with-internal-libffi=no"
- "--with-internal-libpopt=no")
- #:phases
- (modify-phases %standard-phases
- (add-after 'unpack 'remove-timestamp-for-reproducibility
- (lambda _
- (substitute* "src/sablevm/Makefile.in"
- (("\\$\\(SVMCOMPILETIME\\)") "(unknown)"))
- #t))
- (add-after 'unpack 'link-with-popt
- (lambda _
- (substitute* "src/sablevm/Makefile.in"
- (("\\$\\(SVMADD\\)" match)
- (string-append match " -lpopt")))
- #t))
- (add-after 'unpack 'patch-path-to-classpath
- (lambda* (#:key inputs #:allow-other-keys)
- (substitute* "Makefile.in"
- (("@datadir@/sablevm-classpath")
- (string-append (assoc-ref inputs "classpath")
- "/share/sablevm-classpath")))
- (substitute* "src/libsablevm/Makefile.in"
- (("\\$\\(libdir\\)/sablevm-classpath")
- (string-append (assoc-ref inputs "classpath")
- "/lib/sablevm-classpath"))
- (("\\$\\(datadir\\)/sablevm-classpath")
- (string-append (assoc-ref inputs "classpath")
- "/share/sablevm-classpath")))
- #t)))))
+ (list (string-append "--with-classpath-install-dir="
+ (assoc-ref %build-inputs "classpath")))))
(inputs
- `(("classpath" ,sablevm-classpath)
+ `(("classpath" ,classpath-bootstrap)
("jikes" ,jikes)
- ("zlib" ,zlib)
- ("popt" ,popt)
- ("libffi" ,libffi)))
- (native-inputs
- `(("libltdl" ,libltdl)))
- (home-page "http://sablevm.org/")
- (synopsis "Java Virtual Machine")
- (description "SableVM is a clean-room, highly portable and efficient Java
-virtual machine. Its goals are to be reasonably small, fast, and compliant
-with the various specifications (JVM specification, JNI, invocation interface,
-etc.). SableVM is no longer maintained.
-
-This package provides the virtual machine.")
- (license license:lgpl2.1+)))
+ ("zlib" ,zlib)))
+ (home-page "http://jamvm.sourceforge.net/")
+ (synopsis "Small Java Virtual Machine")
+ (description "JamVM is a Java Virtual Machine conforming to the JVM
+specification edition 2 (blue book). It is extremely small. However, unlike
+other small VMs it supports the full spec, including object finalisation and
+JNI.")
+ (license license:gpl2+)))
(define ant-bootstrap
(package
(name "ant-bootstrap")
;; The 1.10.x series requires Java 8. 1.9.0 and later use generics, which
;; are not supported. The 1.8.x series is the last to use only features
- ;; supported by Jikes, but it cannot seem to be built with sablevm.
- (version "1.7.1")
+ ;; supported by Jikes.
+ (version "1.8.4")
(source (origin
(method url-fetch)
(uri (string-append "http://archive.apache.org/dist/"
@@ -232,24 +207,31 @@ This package provides the virtual machine.")
version "-src.tar.bz2"))
(sha256
(base32
- "19pvqvgkxgpgsqm4lvbki5sm0z84kxmykdqicvfad47gc1r9mi2d"))))
+ "1cg0lga887qz5iizh6mlkxp01lciymrhmp7wzxpl6zpnldxmzrjx"))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f ; no "check" target
#:phases
(modify-phases %standard-phases
+ (delete 'bootstrap)
(delete 'configure)
(replace 'build
(lambda* (#:key inputs #:allow-other-keys)
- (setenv "JAVA_HOME"
- (string-append (assoc-ref inputs "sablevm")
- "/lib/sablevm"))
+ (setenv "JAVA_HOME" (assoc-ref inputs "jamvm"))
(setenv "JAVACMD"
- (string-append (assoc-ref inputs "sablevm")
- "/bin/java-sablevm"))
+ (string-append (assoc-ref inputs "jamvm")
+ "/bin/jamvm"))
(setenv "JAVAC"
- (string-append (assoc-ref inputs "sablevm")
- "/bin/javac-sablevm"))
+ (string-append (assoc-ref inputs "jikes")
+ "/bin/jikes"))
+ (setenv "CLASSPATH"
+ (string-append (assoc-ref inputs "jamvm")
+ "/lib/rt.jar"))
+
+ ;; Ant complains if this file doesn't exist.
+ (setenv "HOME" "/tmp")
+ (with-output-to-file "/tmp/.ant.properties"
+ (lambda _ (display "")))
;; Use jikes instead of javac for <javac ...> tags in build.xml
(setenv "ANT_OPTS" "-Dbuild.compiler=jikes")
@@ -258,6 +240,11 @@ This package provides the virtual machine.")
;; interesting, so we silence them.
(setenv "$BOOTJAVAC_OPTS" "-nowarn")
+ ;; Without these JamVM options the build may freeze.
+ (substitute* "bootstrap.sh"
+ (("^\"\\$\\{JAVACMD\\}\" " m)
+ (string-append m "-Xnocompact -Xnoinlining ")))
+
;; Disable tests because we are bootstrapping and thus don't have
;; any of the dependencies required to build and run the tests.
(substitute* "build.xml"
@@ -268,7 +255,7 @@ This package provides the virtual machine.")
(delete 'install))))
(native-inputs
`(("jikes" ,jikes)
- ("sablevm" ,sablevm)))
+ ("jamvm" ,jamvm-1-bootstrap)))
(home-page "http://ant.apache.org")
(synopsis "Build tool for Java")
(description
@@ -307,9 +294,12 @@ build process and its dependencies, whereas Make uses Makefile format.")
(lambda* (#:key inputs #:allow-other-keys)
(setenv "CLASSPATH"
(string-join
- (find-files (string-append (assoc-ref inputs "ant-bootstrap")
- "/lib")
- "\\.jar$")
+ (cons (string-append (assoc-ref inputs "jamvm")
+ "/lib/rt.jar")
+ (find-files (string-append
+ (assoc-ref inputs "ant-bootstrap")
+ "/lib")
+ "\\.jar$"))
":"))
#t))
(replace 'build
@@ -324,7 +314,7 @@ build process and its dependencies, whereas Make uses Makefile format.")
Main-Class: org.eclipse.jdt.internal.compiler.batch.Main\n")))
;; Compile it all!
- (and (zero? (apply system* "javac-sablevm"
+ (and (zero? (apply system* "jikes"
(find-files "." "\\.java$")))
(zero? (system* "fastjar" "cvfm"
"ecj-bootstrap.jar" "manifest" ".")))))
@@ -338,7 +328,8 @@ Main-Class: org.eclipse.jdt.internal.compiler.batch.Main\n")))
(native-inputs
`(("ant-bootstrap" ,ant-bootstrap)
("unzip" ,unzip)
- ("sablevm" ,sablevm)
+ ("jikes" ,jikes)
+ ("jamvm" ,jamvm-1-bootstrap)
("fastjar" ,fastjar)))
(home-page "https://eclipse.org")
(synopsis "Eclipse Java development tools core batch compiler")
@@ -355,7 +346,7 @@ requirement for all GNU Classpath releases after version 0.93.")
(arguments
`(#:modules ((guix build utils))
#:builder
- (let ((backend 'sablevm))
+ (begin
(use-modules (guix build utils))
(let* ((bin (string-append (assoc-ref %outputs "out") "/bin"))
(target (string-append bin "/javac"))
@@ -363,24 +354,12 @@ requirement for all GNU Classpath releases after version 0.93.")
"/bin/guile"))
(ecj (string-append (assoc-ref %build-inputs "ecj-bootstrap")
"/share/java/ecj-bootstrap.jar"))
- (java (case backend
- ((sablevm)
- (string-append (assoc-ref %build-inputs "sablevm")
- "/lib/sablevm/bin/java"))
- ((jamvm)
- (string-append (assoc-ref %build-inputs "jamvm")
- "/bin/jamvm"))))
- (bootcp (case backend
- ((sablevm)
- (let ((jvmlib (string-append
- (assoc-ref %build-inputs "sablevm-classpath")
- "/lib/sablevm")))
- (string-append jvmlib "/jre/lib/rt.jar")))
- ((jamvm)
- (let ((jvmlib (string-append (assoc-ref %build-inputs "classpath")
- "/share/classpath")))
- (string-append jvmlib "/lib/glibj.zip:"
- jvmlib "/lib/tools.zip"))))))
+ (java (string-append (assoc-ref %build-inputs "jamvm")
+ "/bin/jamvm"))
+ (bootcp (let ((jvmlib (string-append (assoc-ref %build-inputs "classpath")
+ "/share/classpath")))
+ (string-append jvmlib "/glibj.zip:"
+ jvmlib "/tools.zip"))))
(mkdir-p bin)
(with-output-to-file target
(lambda _
@@ -399,10 +378,11 @@ requirement for all GNU Classpath releases after version 0.93.")
(define (main args)
(let ((classpath (getenv "CLASSPATH")))
(setenv "CLASSPATH"
- (string-append ,ecj
- (if classpath
- (string-append ":" classpath)
- ""))))
+ (string-join (list ,ecj
+ ,(string-append (assoc-ref %build-inputs "jamvm")
+ "/lib/rt.jar")
+ (or classpath ""))
+ ":")))
(receive (vm-args other-args)
;; Separate VM arguments from arguments to ECJ.
(partition (cut string-prefix? "-J" <>)
@@ -412,6 +392,7 @@ requirement for all GNU Classpath releases after version 0.93.")
args defaults))
(apply system* ,java
(append
+ (list "-Xnocompact" "-Xnoinlining")
;; Remove "-J" prefix
(map (cut string-drop <> 2) vm-args)
'("org.eclipse.jdt.internal.compiler.batch.Main")
@@ -426,20 +407,17 @@ requirement for all GNU Classpath releases after version 0.93.")
(native-inputs
`(("guile" ,guile-2.2)
("ecj-bootstrap" ,ecj-bootstrap)
- ("sablevm" ,sablevm)
- ("sablevm-classpath" ,sablevm-classpath)))
+ ("jamvm" ,jamvm-1-bootstrap)
+ ("classpath" ,classpath-bootstrap)))
(description "This package provides a wrapper around the @dfn{Eclipse
compiler for Java} (ecj) with a command line interface that is compatible with
the standard javac executable.")))
-;; Note: All the tool wrappers (e.g. for javah, javac, etc) fail with
-;; java.lang.UnsupportedClassVersionError. They simply won't run on the old
-;; sablevm. We use Classpath 0.99 to build JamVM, on which the Classpath
-;; tools do run. Using these Classpath tools on JamVM we can then build the
-;; development version of GNU Classpath.
-(define classpath-on-sablevm
- (package
- (name "classpath")
+;; The classpath-bootstrap was built without a virtual machine, so it does not
+;; provide a wrapper for javah. We cannot build the development version of
+;; Classpath without javah.
+(define classpath-0.99
+ (package (inherit classpath-bootstrap)
(version "0.99")
(source (origin
(method url-fetch)
@@ -447,8 +425,8 @@ the standard javac executable.")))
version ".tar.gz"))
(sha256
(base32
- "1j7cby4k66f1nvckm48xcmh352b1d1b33qk7l6hi7dp9i9zjjagr"))))
- (build-system gnu-build-system)
+ "1j7cby4k66f1nvckm48xcmh352b1d1b33qk7l6hi7dp9i9zjjagr"))
+ (patches (search-patches "classpath-aarch64-support.patch"))))
(arguments
`(#:configure-flags
(list (string-append "--with-ecj-jar="
@@ -458,8 +436,8 @@ the standard javac executable.")))
(assoc-ref %build-inputs "ecj-javac-wrapper")
"/bin/javac")
(string-append "JAVA="
- (assoc-ref %build-inputs "sablevm")
- "/bin/java-sablevm")
+ (assoc-ref %build-inputs "jamvm")
+ "/bin/jamvm")
"GCJ_JAVAC_TRUE=no"
"ac_cv_prog_java_works=yes" ; trust me
"--disable-Werror"
@@ -478,51 +456,15 @@ the standard javac executable.")))
`(("ecj-bootstrap" ,ecj-bootstrap)
("ecj-javac-wrapper" ,ecj-javac-wrapper)
("fastjar" ,fastjar)
- ("sablevm" ,sablevm)
- ("sablevm-classpath" ,sablevm-classpath)
+ ("jamvm" ,jamvm-1-bootstrap)
+ ("classpath" ,classpath-bootstrap)
("libltdl" ,libltdl)
- ("pkg-config" ,pkg-config)))
- (home-page "https://www.gnu.org/software/classpath/")
- (synopsis "Essential libraries for Java")
- (description "GNU Classpath is a project to create core class libraries
-for use with runtimes, compilers and tools for the Java programming
-language.")
- ;; GPLv2 or later, with special linking exception.
- (license license:gpl2+)))
-
-(define jamvm-bootstrap
- (package
- (name "jamvm")
- (version "2.0.0")
- (source (origin
- (method url-fetch)
- (uri (string-append "mirror://sourceforge/jamvm/jamvm/"
- "JamVM%20" version "/jamvm-"
- version ".tar.gz"))
- (sha256
- (base32
- "1nl0zxz8y5x8gwsrm7n32bry4dx8x70p8z3s9jbdvs8avyb8whkn"))))
- (build-system gnu-build-system)
- (arguments
- `(#:configure-flags
- (list (string-append "--with-classpath-install-dir="
- (assoc-ref %build-inputs "classpath")))))
- (inputs
- `(("classpath" ,classpath-on-sablevm)
- ("ecj-javac-wrapper" ,ecj-javac-wrapper)
- ("zlib" ,zlib)))
- (home-page "http://jamvm.sourceforge.net/")
- (synopsis "Small Java Virtual Machine")
- (description "JamVM is a Java Virtual Machine conforming to the JVM
-specification edition 2 (blue book). It is extremely small. However, unlike
-other small VMs it supports the full spec, including object finalisation and
-JNI.")
- (license license:gpl2+)))
+ ("pkg-config" ,pkg-config)))))
-;; We need this because the tools provided by the latest release of GNU
-;; Classpath don't actually work with sablevm.
+;; We need this because classpath-bootstrap does not provide all of the tools
+;; we need to build classpath-devel.
(define classpath-jamvm-wrappers
- (package (inherit classpath-on-sablevm)
+ (package (inherit classpath-0.99)
(name "classpath-jamvm-wrappers")
(source #f)
(build-system trivial-build-system)
@@ -541,7 +483,7 @@ JNI.")
(with-output-to-file (string-append bin tool)
(lambda _
(format #t "#!~a/bin/sh
-~a/bin/jamvm -classpath ~a/share/classpath/tools.zip \
+~a/bin/jamvm -Xnocompact -Xnoinlining -classpath ~a/share/classpath/tools.zip \
gnu.classpath.tools.~a.~a $@"
bash jamvm classpath tool
(if (string=? "native2ascii" tool)
@@ -556,106 +498,20 @@ gnu.classpath.tools.~a.~a $@"
#t))))
(native-inputs
`(("bash" ,bash)
- ("jamvm" ,jamvm-bootstrap)
- ("classpath" ,classpath-on-sablevm)))
+ ("jamvm" ,jamvm-1-bootstrap)
+ ("classpath" ,classpath-0.99)))
(inputs '())
(synopsis "Executables from GNU Classpath")
(description "This package provides wrappers around the tools provided by
the GNU Classpath library. They are executed by the JamVM virtual
machine.")))
-(define ecj-javac-on-jamvm-wrapper
- (package (inherit ecj-javac-wrapper)
- (name "ecj-javac-on-jamvm-wrapper")
- (arguments
- `(#:modules ((guix build utils))
- #:builder
- ;; TODO: This builder is exactly the same as in ecj-javac-wrapper,
- ;; except that the backend is 'jamvm here. Can we reuse the same
- ;; builder somehow?
- (let ((backend 'jamvm))
- (use-modules (guix build utils))
- (let* ((bin (string-append (assoc-ref %outputs "out") "/bin"))
- (target (string-append bin "/javac"))
- (guile (string-append (assoc-ref %build-inputs "guile")
- "/bin/guile"))
- (ecj (string-append (assoc-ref %build-inputs "ecj-bootstrap")
- "/share/java/ecj-bootstrap.jar"))
- (java (case backend
- ((sablevm)
- (string-append (assoc-ref %build-inputs "sablevm")
- "/lib/sablevm/bin/java"))
- ((jamvm)
- (string-append (assoc-ref %build-inputs "jamvm")
- "/bin/jamvm"))))
- (bootcp (case backend
- ((sablevm)
- (let ((jvmlib (string-append
- (assoc-ref %build-inputs "sablevm-classpath")
- "/lib/sablevm")))
- (string-append jvmlib "/jre/lib/rt.jar")))
- ((jamvm)
- (let ((jvmlib (string-append (assoc-ref %build-inputs "classpath")
- "/share/classpath")))
- (string-append jvmlib "/lib/glibj.zip:"
- jvmlib "/lib/tools.zip"))))))
- (mkdir-p bin)
- (with-output-to-file target
- (lambda _
- (format #t "#!~a --no-auto-compile\n!#\n" guile)
- (write
- `(begin (use-modules (ice-9 match)
- (ice-9 receive)
- (ice-9 hash-table)
- (srfi srfi-1)
- (srfi srfi-26))
- (define defaults
- '(("-bootclasspath" ,bootcp)
- ("-source" "1.5")
- ("-target" "1.5")
- ("-cp" ".")))
- (define (main args)
- (let ((classpath (getenv "CLASSPATH")))
- (setenv "CLASSPATH"
- (string-append ,ecj
- (if classpath
- (string-append ":" classpath)
- ""))))
- (receive (vm-args other-args)
- ;; Separate VM arguments from arguments to ECJ.
- (partition (cut string-prefix? "-J" <>)
- (fold (lambda (default acc)
- (if (member (first default) acc)
- acc (append default acc)))
- args defaults))
- (apply system* ,java
- (append
- ;; Remove "-J" prefix
- (map (cut string-drop <> 2) vm-args)
- '("org.eclipse.jdt.internal.compiler.batch.Main")
- (cons "-nowarn" other-args)))))
- ;; Entry point
- (let ((args (cdr (command-line))))
- (if (null? args)
- (format (current-error-port) "javac: no arguments given!\n")
- (main args)))))))
- (chmod target #o755)
- #t))))
- (native-inputs
- `(("guile" ,guile-2.2)
- ("ecj-bootstrap" ,ecj-bootstrap)
- ("jamvm" ,jamvm-bootstrap)
- ("classpath" ,classpath-on-sablevm)))
- (description "This package provides a wrapper around the @dfn{Eclipse
-compiler for Java} (ecj) with a command line interface that is compatible with
-the standard javac executable. The tool runs on JamVM instead of SableVM.")))
-
;; The last release of GNU Classpath is 0.99 and it happened in 2012. Since
;; then Classpath has gained much more support for Java 1.6.
(define-public classpath-devel
(let ((commit "e7c13ee0cf2005206fbec0eca677f8cf66d5a103")
(revision "1"))
- (package (inherit classpath-on-sablevm)
+ (package (inherit classpath-bootstrap)
(version (string-append "0.99-" revision "." (string-take commit 9)))
(source (origin
(method git-fetch)
@@ -712,21 +568,35 @@ the standard javac executable. The tool runs on JamVM instead of SableVM.")))
("texinfo" ,texinfo)
("classpath-jamvm-wrappers" ,classpath-jamvm-wrappers) ; for javah
("ecj-bootstrap" ,ecj-bootstrap)
- ("ecj-javac-wrapper" ,ecj-javac-on-jamvm-wrapper)
+ ("ecj-javac-wrapper" ,ecj-javac-wrapper)
("fastjar" ,fastjar)
- ("jamvm" ,jamvm-bootstrap)
+ ("jamvm" ,jamvm-1-bootstrap)
("libltdl" ,libltdl)
("pkg-config" ,pkg-config))))))
-(define-public jamvm
- (package (inherit jamvm-bootstrap)
+(define jamvm
+ (package (inherit jamvm-1-bootstrap)
+ (version "2.0.0")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "mirror://sourceforge/jamvm/jamvm/"
+ "JamVM%20" version "/jamvm-"
+ version ".tar.gz"))
+ (sha256
+ (base32
+ "1nl0zxz8y5x8gwsrm7n32bry4dx8x70p8z3s9jbdvs8avyb8whkn"))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:configure-flags
+ (list (string-append "--with-classpath-install-dir="
+ (assoc-ref %build-inputs "classpath")))))
(inputs
`(("classpath" ,classpath-devel)
- ("ecj-javac-wrapper" ,ecj-javac-on-jamvm-wrapper)
+ ("ecj-javac-wrapper" ,ecj-javac-wrapper)
("zlib" ,zlib)))))
-(define ecj-javac-on-jamvm-wrapper-final
- (package (inherit ecj-javac-on-jamvm-wrapper)
+(define ecj-javac-wrapper-final
+ (package (inherit ecj-javac-wrapper)
(native-inputs
`(("guile" ,guile-2.2)
("ecj-bootstrap" ,ecj-bootstrap)
@@ -734,9 +604,9 @@ the standard javac executable. The tool runs on JamVM instead of SableVM.")))
("classpath" ,classpath-devel)))))
;; The bootstrap JDK consisting of jamvm, classpath-devel,
-;; ecj-javac-on-jamvm-wrapper-final cannot build Icedtea 2.x directly, because
-;; it's written in Java 7. It can, however, build the unmaintained Icedtea
-;; 1.x, which uses Java 6 only.
+;; ecj-javac-wrapper-final cannot build Icedtea 2.x directly, because it's
+;; written in Java 7. It can, however, build the unmaintained Icedtea 1.x,
+;; which uses Java 6 only.
(define-public icedtea-6
(package
(name "icedtea")
@@ -823,7 +693,8 @@ the standard javac executable. The tool runs on JamVM instead of SableVM.")))
#t))))
(add-after 'unpack 'use-classpath
(lambda* (#:key inputs #:allow-other-keys)
- (let ((jvmlib (assoc-ref inputs "classpath")))
+ (let ((jvmlib (assoc-ref inputs "classpath"))
+ (jamvm (assoc-ref inputs "jamvm")))
;; Classpath does not provide rt.jar.
(substitute* "Makefile.in"
(("\\$\\(SYSTEM_JDK_DIR\\)/jre/lib/rt.jar")
@@ -831,7 +702,8 @@ the standard javac executable. The tool runs on JamVM instead of SableVM.")))
;; Make sure we can find all classes.
(setenv "CLASSPATH"
(string-append jvmlib "/share/classpath/glibj.zip:"
- jvmlib "/share/classpath/tools.zip"))
+ jvmlib "/share/classpath/tools.zip:"
+ jamvm "/lib/rt.jar"))
(setenv "JAVACFLAGS"
(string-append "-cp "
jvmlib "/share/classpath/glibj.zip:"
@@ -968,7 +840,7 @@ the standard javac executable. The tool runs on JamVM instead of SableVM.")))
("cpio" ,cpio)
("cups" ,cups)
("ecj" ,ecj-bootstrap)
- ("ecj-javac" ,ecj-javac-on-jamvm-wrapper-final)
+ ("ecj-javac" ,ecj-javac-wrapper-final)
("fastjar" ,fastjar)
("fontconfig" ,fontconfig)
("freetype" ,freetype)
@@ -4316,6 +4188,66 @@ in the @code{java.lang} package. The following classes are included:
@end itemize\n")
(license license:asl2.0)))
+(define-public java-commons-bsf
+ (package
+ (name "java-commons-bsf")
+ (version "2.4.0")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "mirror://apache/commons/bsf/source/bsf-src-"
+ version ".tar.gz"))
+ (sha256
+ (base32
+ "1sbamr8jl32p1jgf59nw0b2w9qivyg145954hm6ly54cfgsqrdas"))
+ (modules '((guix build utils)))
+ (snippet
+ '(begin
+ (for-each delete-file
+ (find-files "." "\\.jar$"))
+ #t))))
+ (build-system ant-build-system)
+ (arguments
+ `(#:build-target "jar"
+ #:tests? #f; No test file
+ #:modules ((guix build ant-build-system)
+ (guix build utils)
+ (guix build java-utils)
+ (sxml simple))
+ #:phases
+ (modify-phases %standard-phases
+ (add-before 'build 'create-properties
+ (lambda _
+ ;; This file is missing from the distribution
+ (call-with-output-file "build-properties.xml"
+ (lambda (port)
+ (sxml->xml
+ `(project (@ (basedir ".") (name "build-properties") (default ""))
+ (property (@ (name "project.name") (value "bsf")))
+ (property (@ (name "source.level") (value "1.5")))
+ (property (@ (name "build.lib") (value "build/jar")))
+ (property (@ (name "src.dir") (value "src")))
+ (property (@ (name "tests.dir") (value "src/org/apache/bsf/test")))
+ (property (@ (name "build.tests") (value "build/test-classes")))
+ (property (@ (name "build.dest") (value "build/classes"))))
+ port)))))
+ (replace 'install (install-jars "build")))))
+ (native-inputs
+ `(("java-junit" ,java-junit)))
+ (inputs
+ `(("java-commons-logging-minimal" ,java-commons-logging-minimal)))
+ (home-page "https://commons.apache.org/proper/commons-bsf")
+ (synopsis "Bean Scripting Framework")
+ (description "The Bean Scripting Framework (BSF) is a set of Java classes
+which provides scripting language support within Java applications, and access
+to Java objects and methods from scripting languages. BSF allows one to write
+JSPs in languages other than Java while providing access to the Java class
+library. In addition, BSF permits any Java application to be implemented in
+part (or dynamically extended) by a language that is embedded within it. This
+is achieved by providing an API that permits calling scripting language engines
+from within Java, as well as an object registry that exposes Java objects to
+these scripting language engines.")
+ (license license:asl2.0)))
+
(define-public java-jsr305
(package
(name "java-jsr305")
@@ -5518,14 +5450,14 @@ logging framework for Java.")))
(define-public java-commons-cli
(package
(name "java-commons-cli")
- (version "1.3.1")
+ (version "1.4")
(source (origin
(method url-fetch)
(uri (string-append "mirror://apache/commons/cli/source/"
"commons-cli-" version "-src.tar.gz"))
(sha256
(base32
- "1fkjn552i12vp3xxk21ws4p70fi0lyjm004vzxsdaz7gdpgyxxyl"))))
+ "05hgi2z01fqz374y719gl1dxzqvzci5af071zm7vxrjg9vczipm1"))))
(build-system ant-build-system)
;; TODO: javadoc
(arguments
@@ -6150,7 +6082,7 @@ import org.antlr.grammar.v2.ANTLRTreePrinter;"))
(lambda _
(display
(string-append "#!" (which "sh") "\n"
- "java -cp " jar "/antlr3-3.1-3.1.jar:"
+ "java -cp " jar "/antlr3-3.1.jar:"
(string-concatenate
(find-files (assoc-ref inputs "stringtemplate")
".*\\.jar"))
@@ -6914,7 +6846,7 @@ package contains utilities for obtaining services via the Java SE 6
(define-public java-aqute-bnd-annotation
(package
(name "java-aqute-bnd-annotation")
- (version "3.4.0")
+ (version "3.5.0")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/bndtools/bnd/archive/"
@@ -6922,7 +6854,7 @@ package contains utilities for obtaining services via the Java SE 6
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
- "09vgb6axikbz66zi9falijbnzh1qnp9ysfns123dmzdb01cbza9q"))))
+ "1ggyiq0as0f6cz333a0dh98j72kmvv5pf2s47v9554yh905lfqdl"))))
(build-system ant-build-system)
(arguments
`(#:jar-name "java-aqute-bnd-annotation.jar"
@@ -9262,6 +9194,39 @@ similar in functionality to BSD editline and GNU readline but with additional
features that bring it on par with the Z shell line editor.")
(license license:bsd-3)))
+(define-public java-jline-2
+ (package
+ (inherit java-jline)
+ (version "2.14.5")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "https://github.com/jline/jline2/archive/jline-"
+ version ".tar.gz"))
+ (sha256
+ (base32
+ "1c6qa26mf0viw8hg4jnv72s7i1qb1gh1l8rrzcdvqhqhx82rkdlf"))))
+ (arguments
+ `(#:jdk ,icedtea-8
+ ,@(package-arguments java-jline)))
+ (inputs
+ `(("java-jansi" ,java-jansi)
+ ("java-jansi-native" ,java-jansi-native)))
+ (native-inputs
+ `(("java-powermock-modules-junit4" ,java-powermock-modules-junit4)
+ ("java-powermock-modules-junit4-common" ,java-powermock-modules-junit4-common)
+ ("java-powermock-api-easymock" ,java-powermock-api-easymock)
+ ("java-powermock-api-support" ,java-powermock-api-support)
+ ("java-powermock-core" ,java-powermock-core)
+ ("java-powermock-reflect" ,java-powermock-reflect)
+ ("java-easymock" ,java-easymock)
+ ("java-jboss-javassist" ,java-jboss-javassist)
+ ("java-objenesis" ,java-objenesis)
+ ("java-asm" ,java-asm)
+ ("java-hamcrest-core" ,java-hamcrest-core)
+ ("java-cglib" ,java-cglib)
+ ("java-junit" ,java-junit)
+ ("java-hawtjni" ,java-hawtjni)))))
+
(define-public java-xmlunit
(package
(name "java-xmlunit")
@@ -9364,3 +9329,235 @@ Java programmers to create two-dimensional charts and plots. The library
features an assortment of graph styles, including advanced scatter plots, bar
graphs, and pie charts.")
(license license:lgpl2.1+)))
+
+(define-public java-commons-httpclient
+ (package
+ (name "java-commons-httpclient")
+ (version "3.1")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "https://archive.apache.org/dist/httpcomponents/"
+ "commons-httpclient/source/commons-httpclient-"
+ version "-src.tar.gz"))
+ (sha256
+ (base32
+ "1wlpn3cfy3d4inxy6g7wxcsa8p7sshn6aldk9y4ia3lb879rd97r"))))
+ (build-system ant-build-system)
+ (arguments
+ `(#:build-target "compile"
+ #:test-target "test"
+ #:tests? #f; requires junit-textui (junit 3)
+ #:phases
+ (modify-phases %standard-phases
+ (add-before 'build 'fix-accent
+ (lambda _
+ (for-each (lambda (file)
+ (with-fluids ((%default-port-encoding "ISO-8859-1"))
+ (substitute* file
+ (("\\* @author Ortwin .*") "* @author Ortwin Glueck\n"))))
+ '("src/java/org/apache/commons/httpclient/HttpContentTooLargeException.java"
+ "src/examples/TrivialApp.java" "src/examples/ClientApp.java"
+ "src/test/org/apache/commons/httpclient/TestHttps.java"
+ "src/test/org/apache/commons/httpclient/TestURIUtil2.java"))))
+ (replace 'install
+ (lambda* (#:key outputs #:allow-other-keys)
+ (invoke "ant" "dist"
+ (string-append "-Ddist.home=" (assoc-ref outputs "out")
+ "/share/java"))
+ #t)))))
+ (propagated-inputs
+ `(("java-commons-logging" ,java-commons-logging-minimal)
+ ("java-commons-codec" ,java-commons-codec)))
+ (home-page "https://hc.apache.org")
+ (synopsis "HTTP/1.1 compliant HTTP agent implementation")
+ (description "This package contains an HTTP/1.1 compliant HTTP agent
+implementation. It also provides reusable components for client-side
+authentication, HTTP state management, and HTTP connection management.")
+ (license license:asl2.0)))
+
+(define-public java-commons-vfs
+ (package
+ (name "java-commons-vfs")
+ (version "2.2")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "mirror://apache/commons/vfs/source/"
+ "commons-vfs2-distribution-" version "-src.tar.gz"))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "1cnq1iaghbp4cslpnvwbp83i5v234x87irssqynhwpfgw7caf1s3"))
+ (modules '((guix build utils)))
+ (snippet
+ '(begin
+ (for-each delete-file
+ (find-files "." "\\.jar$"))
+ #t))))
+ (build-system ant-build-system)
+ (arguments
+ `(#:jar-name "commons-vfs.jar"
+ #:source-dir "commons-vfs2/src/main/java"
+ #:test-dir "commons-vfs2/src/test"
+ ; FIXME: tests depend on many things: apache sshd, hadoop, ftpserver, ...
+ #:tests? #f
+ #:phases
+ (modify-phases %standard-phases
+ (add-before 'build 'remove-hadoop-and-webdav
+ ; Remove these files as they are not required and depend on difficult
+ ; packages.
+ (lambda _
+ (for-each delete-file-recursively
+ '("commons-vfs2/src/main/java/org/apache/commons/vfs2/provider/webdav"
+ "commons-vfs2/src/main/java/org/apache/commons/vfs2/provider/hdfs")))))))
+ (inputs
+ `(("java-commons-collections4" ,java-commons-collections4)
+ ("java-commons-compress" ,java-commons-compress)
+ ("java-commons-httpclient" ,java-commons-httpclient)
+ ("java-commons-logging-minimal" ,java-commons-logging-minimal)
+ ("java-commons-net" ,java-commons-net)
+ ("java-jsch" ,java-jsch)))
+ (home-page "http://commons.apache.org/proper/commons-vfs/")
+ (synopsis "Java filesystem library")
+ (description "Commons VFS provides a single API for accessing various
+different file systems. It presents a uniform view of the files from various
+different sources, such as the files on local disk, on an HTTP server, or
+inside a Zip archive.")
+ (license license:asl2.0)))
+
+(define-public java-jakarta-oro
+ (package
+ (name "java-jakarta-oro")
+ (version "2.0.8")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "https://archive.apache.org/dist/jakarta/oro/"
+ "jakarta-oro-" version ".tar.gz"))
+ (sha256
+ (base32
+ "0rpmnsskiwmsy8r0sckz5n5dbvh3vkxx8hpm177c754r8xy3qksc"))
+ (modules '((guix build utils)))
+ (snippet
+ `(begin
+ (delete-file (string-append "jakarta-oro-" ,version ".jar"))
+ #t))))
+ (build-system ant-build-system)
+ (arguments
+ `(#:build-target "package"
+ #:tests? #f; tests are run as part of the build process
+ #:phases
+ (modify-phases %standard-phases
+ (replace 'install
+ (install-jars ,(string-append "jakarta-oro-" version))))))
+ (home-page "https://jakarta.apache.org/oro/")
+ (synopsis "Text-processing for Java")
+ (description "The Jakarta-ORO Java classes are a set of text-processing
+Java classes that provide Perl5 compatible regular expressions, AWK-like
+regular expressions, glob expressions, and utility classes for performing
+substitutions, splits, filtering filenames, etc. This library is the successor
+of the OROMatcher, AwkTools, PerlTools, and TextTools libraries originally
+from ORO, Inc.")
+ (license license:asl1.1)))
+
+(define-public java-native-access
+ (package
+ (name "java-native-access")
+ (version "4.5.1")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "https://github.com/java-native-access/jna/"
+ "archive/" version ".tar.gz"))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "0zrpzkib6b905i018a9pqlzkqinphywr6y4jwv6mwp63jjqvqkd9"))
+ (modules '((guix build utils)))
+ (snippet
+ `(begin
+ (for-each delete-file (find-files "." ".*.jar"))
+ (delete-file-recursively "native/libffi")
+ (delete-file-recursively "dist")
+ #t))))
+ (build-system ant-build-system)
+ (arguments
+ `(#:tests? #f; FIXME: tests require reflections.jar
+ #:test-target "test"
+ #:make-flags (list "-Ddynlink.native=true")
+ #:phases
+ (modify-phases %standard-phases
+ (add-before 'build 'fix-build.xml
+ (lambda* (#:key inputs #:allow-other-keys)
+ (substitute* "build.xml"
+ ;; Since we removed the bundled ant.jar, give the correct path
+ (("lib/ant.jar") (string-append (assoc-ref inputs "ant") "/lib/ant.jar"))
+ ;; We removed generated native libraries. We can only rebuild one
+ ;; so don't fail if we can't find a native library for another architecture.
+ (("zipfileset") "zipfileset erroronmissingarchive=\"false\""))
+ ;; Copy test dependencies
+ (copy-file (string-append (assoc-ref inputs "java-junit")
+ "/share/java/junit.jar")
+ "lib/junit.jar")
+ (copy-file (string-append (assoc-ref inputs "java-hamcrest-core")
+ "/share/java/hamcrest-core.jar")
+ "lib/hamcrest-core.jar")
+ ;; FIXME: once reflections.jar is built, copy it to lib/test.
+ #t))
+ (add-before 'build 'build-native
+ (lambda _
+ (invoke "ant" "-Ddynlink.native=true" "native")
+ #t))
+ (replace 'install
+ (install-jars "build")))))
+ (inputs
+ `(("libffi" ,libffi)
+ ("libx11" ,libx11)
+ ("libxt" ,libxt)))
+ (native-inputs
+ `(("java-junit" ,java-junit)
+ ("java-hamcrest-core" ,java-hamcrest-core)))
+ (home-page "https://github.com/java-native-access/jna")
+ (synopsis "Access to native shared libraries from Java")
+ (description "JNA provides Java programs easy access to native shared
+libraries without writing anything but Java code - no JNI or native code is
+required. JNA allows you to call directly into native functions using natural
+Java method invocation.")
+ ;; Java Native Access project (JNA) is dual-licensed under 2
+ ;; alternative Free licenses: LGPL 2.1 or later and Apache License 2.0.
+ (license (list
+ license:asl2.0
+ license:lgpl2.1+))))
+
+(define-public java-native-access-platform
+ (package
+ (inherit java-native-access)
+ (name "java-native-access-platform")
+ (arguments
+ `(#:test-target "test"
+ #:tests? #f; require jna-test.jar
+ #:phases
+ (modify-phases %standard-phases
+ (add-before 'build 'chdir
+ (lambda _
+ (chdir "contrib/platform")
+ #t))
+ (add-after 'chdir 'fix-ant
+ (lambda* (#:key inputs #:allow-other-keys)
+ (substitute* "nbproject/project.properties"
+ (("../../build/jna.jar")
+ (string-append (assoc-ref inputs "java-native-access")
+ "/share/java/jna.jar"))
+ (("../../lib/hamcrest-core-.*.jar")
+ (string-append (assoc-ref inputs "java-hamcrest-core")
+ "/share/java/hamcrest-core.jar"))
+ (("../../lib/junit.jar")
+ (string-append (assoc-ref inputs "java-junit")
+ "/share/java/junit.jar")))
+ #t))
+ (replace 'install
+ (install-jars "dist")))))
+ (inputs
+ `(("java-native-access" ,java-native-access)))
+ (synopsis "Cross-platform mappings for jna")
+ (description "java-native-access-platfrom has cross-platform mappings
+and mappings for a number of commonly used platform functions, including a
+large number of Win32 mappings as well as a set of utility classes that
+simplify native access.")))
diff --git a/gnu/packages/javascript.scm b/gnu/packages/javascript.scm
index b52edb2254..a54d4ecabd 100644
--- a/gnu/packages/javascript.scm
+++ b/gnu/packages/javascript.scm
@@ -371,7 +371,7 @@ means that these shams cause many ES5 methods to silently fail.")
(define-public mujs
(package
(name "mujs")
- (version "1.0.2")
+ (version "1.0.3")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -380,7 +380,7 @@ means that these shams cause many ES5 methods to silently fail.")
(file-name (string-append name "-" version "-checkout"))
(sha256
(base32
- "1angy1higk8bvh69frjhq1m6znhd75fzalaydz5rfzkdfyw52jgy"))))
+ "15ml3rzjl44lqdb1yxipdh8bhh0rvk2g6w6sjv667q8xywijwqv8"))))
(build-system gnu-build-system)
(arguments
'(#:phases (modify-phases %standard-phases
diff --git a/gnu/packages/kde.scm b/gnu/packages/kde.scm
index 812f63cb45..1d14e4b820 100644
--- a/gnu/packages/kde.scm
+++ b/gnu/packages/kde.scm
@@ -2,7 +2,7 @@
;;; Copyright © 2016, 2017 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016, 2017 Thomas Danckaert <post@thomasdanckaert.be>
;;; Copyright © 2017 Mark Meyer <mark@ofosos.org>
-;;; Copyright © 2017 Tobias Geerinckx-Rice <me@tobias.gr>
+;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -236,7 +236,7 @@ plugins, as well as code to create plugins, or complete applications.")
(define-public krita
(package
(name "krita")
- (version "3.3.3")
+ (version "4.0.1")
(source (origin
(method url-fetch)
(uri (string-append
@@ -245,7 +245,7 @@ plugins, as well as code to create plugins, or complete applications.")
"/" name "-" version ".tar.gz"))
(sha256
(base32
- "0pc6hnakkqy81x5b5ncivaps6hqv43i50sjwgi3i3cz9j8rlxh5y"))))
+ "0k55ybvna40dx4fqygnix7bnhjaanak3ckb108hny2k7sspy62pc"))))
(build-system cmake-build-system)
(arguments
`(#:tests? #f
@@ -329,6 +329,23 @@ illustrators, matte and texture artists, and the VFX industry. Notable
features include brush stabilizers, brush engines and wrap-around mode.")
(license license:gpl2+)))
+;; Krita 3 and 4's file formats are incompatible, so we are keeping Krita 3
+;; for now.
+(define-public krita-3
+ (package
+ (inherit krita)
+ (name "krita")
+ (version "3.3.3")
+ (source (origin
+ (inherit (package-source krita))
+ (uri (string-append
+ "mirror://kde/stable/krita/"
+ (version-prefix version 3)
+ "/" name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "0pc6hnakkqy81x5b5ncivaps6hqv43i50sjwgi3i3cz9j8rlxh5y"))))))
+
(define-public kholidays
(package
(name "kholidays")
@@ -367,7 +384,7 @@ other special events for a geographical region.")
(define-public libkomparediff2
(package
(name "libkomparediff2")
- (version "17.12.1")
+ (version "17.12.3")
(source
(origin
(method url-fetch)
@@ -376,7 +393,7 @@ other special events for a geographical region.")
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
- "0jd700pjw51vyan5d22k6j60jgb95pfn2nvwz2nfs2f4xlsly1hz"))))
+ "0w6p8lvm2rn7y4qz0x3s87lwh1758xnyhwkkkng55n8v9rpjjw7l"))))
(native-inputs
`(("extra-cmake-modules" ,extra-cmake-modules)
("pkg-config" ,pkg-config)))
diff --git a/gnu/packages/ldc.scm b/gnu/packages/ldc.scm
index aca2cab0a2..2613db0abd 100644
--- a/gnu/packages/ldc.scm
+++ b/gnu/packages/ldc.scm
@@ -138,8 +138,8 @@ and freshness without requiring additional information from the user.")
("tzdata" ,tzdata)
("zlib" ,zlib)))
(native-inputs
- `(("llvm" ,llvm)
- ("clang" ,clang)
+ `(("llvm" ,llvm-3.8)
+ ("clang" ,clang-3.8)
("python-lit" ,python-lit)
("python-wrapper" ,python-wrapper)
("unzip" ,unzip)
@@ -246,8 +246,8 @@ bootstrapping more recent compilers written in D.")
(setenv "CC" (string-append (assoc-ref inputs "gcc") "/bin/gcc"))
(invoke "make" "test" "-j" (number->string (parallel-job-count))))))))
(native-inputs
- `(("llvm" ,llvm)
- ("clang" ,clang)
+ `(("llvm" ,llvm-3.8)
+ ("clang" ,clang-3.8)
("ldc" ,ldc-bootstrap)
("python-lit" ,python-lit)
("python-wrapper" ,python-wrapper)
diff --git a/gnu/packages/less.scm b/gnu/packages/less.scm
index 0aa4665840..2827951280 100644
--- a/gnu/packages/less.scm
+++ b/gnu/packages/less.scm
@@ -26,7 +26,7 @@
(define-public less
(package
(name "less")
- (version "487")
+ (version "530")
(source
(origin
(method url-fetch)
@@ -34,7 +34,7 @@
version ".tar.gz"))
(sha256
(base32
- "01i7n6jaxwmww3pasy3hg38zc6x7jw0w05mqqvh6caqbrdaq9p7k"))))
+ "1qpj2z38c53qmvqn8jaa0kq26q989cfbfjj4y0s6z17l1amr2gsh"))))
(build-system gnu-build-system)
(inputs `(("ncurses" ,ncurses)))
(home-page "https://www.gnu.org/software/less/")
diff --git a/gnu/packages/libcanberra.scm b/gnu/packages/libcanberra.scm
index e1812c578c..e7f4195ed4 100644
--- a/gnu/packages/libcanberra.scm
+++ b/gnu/packages/libcanberra.scm
@@ -139,7 +139,7 @@ sounds for various system events.")
(source
(origin
(method url-fetch)
- (uri (string-append "https://files.crash.cx/releases/"
+ (uri (string-append "http://ftp.n0.is/pub/releases/"
"pycanberra-" version ".tar.xz"))
(sha256
(base32
@@ -152,5 +152,5 @@ sounds for various system events.")
(synopsis "Ctypes wrapper for the libcanberra API")
(description
"Pycanberra is a basic Python wrapper for libcanberra.")
- (home-page "https://code.crash.cx/pycanberra/log.html")
+ (home-page "http://c.n0.is/ng0/pycanberra/")
(license lgpl2.1+)))
diff --git a/gnu/packages/libffi.scm b/gnu/packages/libffi.scm
index dd6b2237f9..80a21c0264 100644
--- a/gnu/packages/libffi.scm
+++ b/gnu/packages/libffi.scm
@@ -153,13 +153,13 @@ conversions for values passed between the two languages.")
(define-public ruby-ffi
(package
(name "ruby-ffi")
- (version "1.9.22")
+ (version "1.9.23")
(source (origin
(method url-fetch)
(uri (rubygems-uri "ffi" version))
(sha256
(base32
- "17lvnpmllg4mlzf25lxbmfzk4l6rsddlxwwdkbs4d9v5gv154529"))))
+ "0zw6pbyvmj8wafdc7l5h7w20zkp1vbr2805ql5d941g2b20pk4zr"))))
(build-system ruby-build-system)
;; FIXME: Before running tests the build system attempts to build libffi
;; from sources.
diff --git a/gnu/packages/libreoffice.scm b/gnu/packages/libreoffice.scm
index 316602adbc..ef40e018b1 100644
--- a/gnu/packages/libreoffice.scm
+++ b/gnu/packages/libreoffice.scm
@@ -4,7 +4,7 @@
;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2017 Alex Griffin <a@ajgrf.com>
;;; Copyright © 2017 Thomas Danckaert <post@thomasdanckaert.be>
-;;; Copyright © 2017 Tobias Geerinckx-Rice <me@tobias.gr>
+;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2017 Andy Wingo <wingo@igalia.com>
;;; Copyright © 2017 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2017, 2018 Marius Bakke <mbakke@fastmail.com>
@@ -689,14 +689,14 @@ Zoner Draw version 4 and 5.")
(define-public hunspell
(package
(name "hunspell")
- (version "1.6.1")
+ (version "1.6.2")
(source
(origin
(method url-fetch)
(uri (string-append "https://github.com/hunspell/hunspell/archive/v"
version ".tar.gz"))
(sha256 (base32
- "0j9c20sj7bgd6f77193g1ihy8w905byk2gdhdc0r9dsh7irr7x9h"))
+ "1i7lsv2cm0713ia3j5wjkcrhpfp3lqpjpwp4d3v18n7ycaqcxn9w"))
(file-name (string-append name "-" version ".tar.gz"))))
(build-system gnu-build-system)
(native-inputs
@@ -710,7 +710,7 @@ Zoner Draw version 4 and 5.")
(modify-phases %standard-phases
(add-after 'unpack 'bootstrap
(lambda _
- (zero? (system* "autoreconf" "-vfi")))))))
+ (invoke "autoreconf" "-vfi") #t)))))
(native-search-paths (list (search-path-specification
(variable "DICPATH")
(files '("share/hunspell")))))
@@ -844,7 +844,7 @@ and to return information on pronunciations, meanings and synonyms.")
(define-public libreoffice
(package
(name "libreoffice")
- (version "5.4.5.1")
+ (version "5.4.6.2")
(source
(origin
(method url-fetch)
@@ -852,8 +852,9 @@ and to return information on pronunciations, meanings and synonyms.")
(string-append
"https://download.documentfoundation.org/libreoffice/src/"
(version-prefix version 3) "/libreoffice-" version ".tar.xz"))
- (sha256 (base32
- "167bh6jgyhfcvn3g7xghkg4nb99h91diypdlry5df21xs8bis5gb"))))
+ (sha256
+ (base32
+ "0icd8h221gp2dsbn6d35flwhqhcfpx66cjc5dg8yifhhvrfam74i"))))
(build-system gnu-build-system)
(native-inputs
`(("bison" ,bison)
diff --git a/gnu/packages/libusb.scm b/gnu/packages/libusb.scm
index e5a63803d8..bd79972a6e 100644
--- a/gnu/packages/libusb.scm
+++ b/gnu/packages/libusb.scm
@@ -48,7 +48,7 @@
(define-public libusb
(package
(name "libusb")
- (version "1.0.21")
+ (version "1.0.22")
(source
(origin
(method url-fetch)
@@ -56,7 +56,7 @@
"libusb-" version "/libusb-" version ".tar.bz2"))
(sha256
(base32
- "0jw2n5kdnrqvp7zh792fd6mypzzfap6jp4gfcmq4n6c1kb79rkkx"))))
+ "0mw1a5ss4alg37m6bd4k44v35xwrcwp5qm4s686q1nsgkbavkbkm"))))
(build-system gnu-build-system)
;; XXX: Enabling udev is now recommended, but eudev indirectly depends on
@@ -133,6 +133,13 @@ version of libusb to run with newer libusb.")
`(#:tests? #f ; there are no tests
#:phases
(modify-phases %standard-phases
+ ;; FIXME: libusb 1.0.22 deprecated libusb_set_debug, so the build
+ ;; fails because libusb4java uses a deprecated procedure.
+ (add-after 'unpack 'disable-Werror
+ (lambda _
+ (substitute* "CMakeLists.txt"
+ (("-Werror") ""))
+ #t))
(add-before 'configure 'set-JAVA_HOME
(lambda* (#:key inputs #:allow-other-keys)
(setenv "JAVA_HOME" (assoc-ref inputs "jdk"))
@@ -252,14 +259,14 @@ implementing @code{javax.usb} (JSR-80).")
(define-public libmtp
(package
(name "libmtp")
- (version "1.1.14")
+ (version "1.1.15")
(source (origin
(method url-fetch)
(uri (string-append "mirror://sourceforge/libmtp/libmtp/" version
"/libmtp-" version ".tar.gz"))
(sha256
(base32
- "1s0jyhypxmj0j8s003ba1n74x63h1rw8am9q4z2ip3xyjvid65rq"))))
+ "089h79nkz7wcr3lbqi7025l8p75hbp0aigxk3wdk2zkm8q5r0h6h"))))
(build-system gnu-build-system)
(native-inputs
`(("pkg-config" ,pkg-config)))
diff --git a/gnu/packages/license.scm b/gnu/packages/license.scm
index 2ef2108df2..053f79811e 100644
--- a/gnu/packages/license.scm
+++ b/gnu/packages/license.scm
@@ -1,5 +1,6 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2018 Oleg Pykhalov <go.wigust@gmail.com>
+;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -107,7 +108,7 @@ statements and serializes in normalized format.")
(define-public licensecheck
(package
(name "licensecheck")
- (version "3.0.33")
+ (version "3.0.34")
(source (origin
(method url-fetch)
(uri (string-append
@@ -115,7 +116,7 @@ statements and serializes in normalized format.")
"v" version ".tar.gz"))
(sha256
(base32
- "0wydxb2jks1k3bxkcp7p0pazh5v3awbbcf6haplvwzkkayszhgs4"))))
+ "0k0acybgibdqg1h6xqnba1jb0spmw7hpq0jbrs7n7gfj22wkz0vd"))))
(build-system perl-build-system)
(native-inputs
`(("perl-regexp-pattern" ,perl-regexp-pattern)
diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm
index 0ae61c41e3..65937eb746 100644
--- a/gnu/packages/linux.scm
+++ b/gnu/packages/linux.scm
@@ -284,6 +284,9 @@ for ARCH and optionally VARIANT, or #f if there is no such configuration."
("bc" ,bc)
("openssl" ,openssl)
("kmod" ,kmod)
+ ("elfutils" ,elfutils) ; Needed to enable CONFIG_STACK_VALIDATION
+ ("flex" ,flex)
+ ("bison" ,bison)
;; On x86, build with GCC-7 for full retpoline support.
;; FIXME: Remove this when our default compiler has retpoline support.
,@(match (system->linux-architecture
@@ -308,6 +311,11 @@ for ARCH and optionally VARIANT, or #f if there is no such configuration."
(ice-9 match))
#:phases
(modify-phases %standard-phases
+ (add-after 'unpack 'patch-/bin/pwd
+ (lambda _
+ (substitute* (find-files "." "^Makefile(\\.include)?$")
+ (("/bin/pwd") "pwd"))
+ #t))
(replace 'configure
(lambda* (#:key inputs native-inputs target #:allow-other-keys)
;; Avoid introducing timestamps
@@ -383,8 +391,8 @@ It has been modified to remove all non-free binary blobs.")
;; supports qemu "virt" machine and possibly a large number of ARM boards.
;; See : https://wiki.debian.org/DebianKernel/ARMMP.
-(define %linux-libre-version "4.15.12")
-(define %linux-libre-hash "01wpxlw70nzdl8nk3xb8z3m93ads55q56ky56wpsci304jlnrd3v")
+(define %linux-libre-version "4.16.2")
+(define %linux-libre-hash "04sma28djhr2llffnd8pmpb1jfwaqcg2sipp0jnnj1llpwj3rah7")
(define-public linux-libre
(make-linux-libre %linux-libre-version
@@ -392,8 +400,8 @@ It has been modified to remove all non-free binary blobs.")
%linux-compatible-systems
#:configuration-file kernel-config))
-(define %linux-libre-4.14-version "4.14.29")
-(define %linux-libre-4.14-hash "0y8p9pn40jgk96c10i9px2n6pqim788q7zssngp46glmpwfz4gra")
+(define %linux-libre-4.14-version "4.14.34")
+(define %linux-libre-4.14-hash "11gmvxngjfx4w24a1yjc98hhdl8zfh87byrslgy94faybj8dl938")
(define-public linux-libre-4.14
(make-linux-libre %linux-libre-4.14-version
@@ -402,20 +410,20 @@ It has been modified to remove all non-free binary blobs.")
#:configuration-file kernel-config))
(define-public linux-libre-4.9
- (make-linux-libre "4.9.88"
- "0qlhd8xw3g00i7krpfndkwxzjszk067h26qsxxsszvxyx2s6gp4x"
+ (make-linux-libre "4.9.94"
+ "1ff6g1pq16l95bpw4bfagdg4dd49mgfrg9z7l7s6r9z7qp14cd7m"
%intel-compatible-systems
#:configuration-file kernel-config))
(define-public linux-libre-4.4
- (make-linux-libre "4.4.122"
- "1ayilv7474vsif3jpb723jbcy4kymv1fpdr96c1g743bad1wkqqq"
+ (make-linux-libre "4.4.128"
+ "1aqz5skyz534bcpnn6w9madg6kadgyjjypah9dhmqf841rygb6rk"
%intel-compatible-systems
#:configuration-file kernel-config))
(define-public linux-libre-4.1
- (make-linux-libre "4.1.50"
- "1hl1pk724v2waa55bhxfmxyz9nl6pkcj4dc3l80jfvqdfgr55mm2"
+ (make-linux-libre "4.1.51"
+ "0l8lpwjpckp44hjyx5qrxqdwwi97gyyc1n6pmk66cr3fpdhnk540"
%intel-compatible-systems
#:configuration-file kernel-config))
@@ -934,14 +942,15 @@ Zerofree requires the file system to be unmounted or mounted read-only.")
(define-public strace
(package
(name "strace")
- (version "4.21")
+ (version "4.22")
+ (home-page "https://strace.io")
(source (origin
(method url-fetch)
- (uri (string-append "https://github.com/strace/strace/releases/"
- "download/v" version "/strace-" version ".tar.xz"))
+ (uri (string-append home-page "/files/" version
+ "/strace-" version ".tar.xz"))
(sha256
(base32
- "0dsw6xcfrmygidp1dj2ch8cl8icrar7789snkb2r8gh78kdqhxjw"))))
+ "17dkpnsjxmys1ydidm9wcvc3wscsz44fmlxw3dclspn9cj9d1306"))))
(build-system gnu-build-system)
(arguments
'(#:phases
@@ -952,7 +961,6 @@ Zerofree requires the file system to be unmounted or mounted read-only.")
(("/bin/sh") (which "sh")))
#t)))))
(native-inputs `(("perl" ,perl)))
- (home-page "https://strace.io/")
(synopsis "System call tracer for Linux")
(description
"strace is a system call tracer, i.e. a debugging tool which prints out a
@@ -1146,8 +1154,7 @@ configure the Linux 2.4.x and later IPv4 packet filtering ruleset
This package also includes @command{ip6tables}, which is used to configure the
IPv6 packet filter.
-Both commands are targeted at system administrators.
-")
+Both commands are targeted at system administrators.")
(license license:gpl2+)))
(define-public ebtables
@@ -1208,7 +1215,7 @@ that the Ethernet protocol is much simpler than the IP protocol.")
(define-public iproute
(package
(name "iproute2")
- (version "4.15.0")
+ (version "4.16.0")
(source (origin
(method url-fetch)
(uri (string-append
@@ -1216,7 +1223,7 @@ that the Ethernet protocol is much simpler than the IP protocol.")
version ".tar.xz"))
(sha256
(base32
- "0mc3g4kj7h3jhwz2b2gdf41gp6bhqn7axh4mnyvhkdnpk5m63m28"))))
+ "02pfalg319jpbjz273ph725br8dnkzpfvi98azi9yd6p1w128p0c"))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f ; no test suite
@@ -3768,7 +3775,7 @@ developers.")
(define-public radeontop
(package
(name "radeontop")
- (version "1.0")
+ (version "1.1")
(home-page "https://github.com/clbr/radeontop/")
(source (origin
(method url-fetch)
@@ -3776,7 +3783,7 @@ developers.")
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
- "1z38nibirqxrbsfyhfcrnzlcw16cqjp4ds6qnjfxalwayf9fm5x9"))))
+ "1fv06j5c99imvzkac3j40lgjhr5b2i77fnyffhlvj92bli1fm1c6"))))
(build-system gnu-build-system)
(arguments
`(#:phases (modify-phases %standard-phases
@@ -3810,7 +3817,7 @@ under OpenGL graphics workloads.")
(define-public efivar
(package
(name "efivar")
- (version "34")
+ (version "35")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/rhinstaller/" name
@@ -3818,7 +3825,7 @@ under OpenGL graphics workloads.")
"-" version ".tar.bz2"))
(sha256
(base32
- "09a31y6sl3b33myy42gl9k732k1f440ycd07l6ac5d5l53kk8zhv"))))
+ "153k2ifyl4giz5fkryxhz8z621diqjy7v25hfga4z94rs32ks0qy"))))
(build-system gnu-build-system)
(arguments
`(;; Tests require a UEFI system and is not detected in the chroot.
@@ -3843,7 +3850,7 @@ interface to the variable facility of UEFI boot firmware.")
(define-public efibootmgr
(package
(name "efibootmgr")
- (version "14")
+ (version "16")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/rhinstaller/" name
@@ -3851,26 +3858,23 @@ interface to the variable facility of UEFI boot firmware.")
"-" version ".tar.bz2"))
(sha256
(base32
- "1n3sydvpr6yl040hhf460k7mrxby7laqd9dqs6pq0js1hijc2zip"))))
+ "0pzn67vxxaf7jna4cd0i4kqm60h04kb21hckksv9z82q9gxra1wm"))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f ; No tests.
#:make-flags (list (string-append "prefix=" %output)
(string-append "libdir=" %output "/lib")
+ ;; EFIDIR denotes a subdirectory relative to the
+ ;; EFI System Partition where the loader will be
+ ;; installed (known as OS_VENDOR in the code).
+ ;; GRUB overrides this, as such it's only used if
+ ;; nothing else is specified on the command line.
+ "EFIDIR=gnu"
;; Override CFLAGS to add efivar include directory.
(string-append "CFLAGS=-O2 -g -flto -I"
(assoc-ref %build-inputs "efivar")
"/include/efivar"))
- #:phases
- (modify-phases %standard-phases
- (add-after 'unpack 'branding
- ;; Replace default loader path with something more familiar.
- (lambda _
- (substitute* "src/efibootmgr.c"
- (("EFI\\\\\\\\redhat") ; Matches 'EFI\\redhat'.
- "EFI\\\\gnu"))
- #t))
- (delete 'configure))))
+ #:phases (modify-phases %standard-phases (delete 'configure))))
(native-inputs
`(("pkg-config" ,pkg-config)))
(inputs
@@ -4562,3 +4566,30 @@ text-mode or graphical applications that don't use a display server.
Also included is @command{fbgrab}, a wrapper around @command{fbcat} that
emulates the behaviour of Gunnar Monell's older fbgrab utility.")
(license license:gpl2)))
+
+(define-public libcgroup
+ (package
+ (name "libcgroup")
+ (version "0.41")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "mirror://sourceforge/libcg/" name "/"
+ version "/" name "-" version ".tar.bz2"))
+ (sha256
+ (base32 "0lgvyq37gq84sk30sg18admxaj0j0p5dq3bl6g74a1ppgvf8pqz4"))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:tests? #f))
+ (native-inputs
+ `(("bison" ,bison)
+ ("flex" ,flex)))
+ (inputs
+ `(("linux-pam" ,linux-pam)))
+ (home-page "https://sourceforge.net/projects/libcg/")
+ (synopsis "Control groups management tools")
+ (description "Control groups is Linux kernel method for process resource
+restriction, permission handling and more. This package provides userspace
+interface to this kernel feature.")
+ (license license:lgpl2.1)))
diff --git a/gnu/packages/lisp.scm b/gnu/packages/lisp.scm
index e4a4e56099..1f8e6ab427 100644
--- a/gnu/packages/lisp.scm
+++ b/gnu/packages/lisp.scm
@@ -288,14 +288,6 @@ supporting ASDF, Sockets, Gray streams, MOP, and other useful components.")
(("/bin/sh") "sh"))
(substitute* '("src/clisp-link.in")
(("/bin/pwd") "pwd"))
- #t))
- (add-after 'unpack 'remove-timestamps
- (lambda _
- (substitute* "src/constobj.d"
- (("__DATE__ __TIME__") "\"1\""))
- (substitute* "src/genclisph.d"
- (("__DATE__") "\"1\"")
- (("__TIME__") "\"1\""))
#t)))
;; Makefiles seem to have race conditions.
#:parallel-build? #f))
@@ -305,10 +297,7 @@ supporting ASDF, Sockets, Gray streams, MOP, and other useful components.")
"GNU CLISP is an implementation of ANSI Common Lisp. Common Lisp is a
high-level, object-oriented functional programming language. CLISP includes
an interpreter, a compiler, a debugger, and much more.")
- ;; Website says gpl2+, COPYRIGHT file says gpl2; actual source files have
- ;; a lot of gpl3+. (Also some parts are under non-copyleft licenses, such
- ;; as CLX by Texas Instruments.) In that case gpl3+ wins out.
- (license license:gpl3+)))
+ (license license:gpl2+)))
(define-public sbcl
(package
diff --git a/gnu/packages/llvm.scm b/gnu/packages/llvm.scm
index 2dddbc4361..98592ad090 100644
--- a/gnu/packages/llvm.scm
+++ b/gnu/packages/llvm.scm
@@ -5,6 +5,7 @@
;;; Copyright © 2016 Dennis Mungai <dmngaie@gmail.com>
;;; Copyright © 2016 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2017 Roel Janssen <roel@gnu.org>
+;;; Copyright © 2018 Marius Bakke <mbakke@fastmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -40,7 +41,7 @@
(define-public llvm
(package
(name "llvm")
- (version "3.8.1")
+ (version "6.0.0")
(source
(origin
(method url-fetch)
@@ -48,7 +49,7 @@
version "/llvm-" version ".src.tar.xz"))
(sha256
(base32
- "1ybmnid4pw2hxn12ax5qa5kl1ldfns0njg8533y3mzslvd5cx0kf"))))
+ "0224xvfg6h40y5lrbnb9qaq3grmdc5rg00xq03s1wxjfbf8krx8z"))))
(build-system cmake-build-system)
(native-inputs
`(("python" ,python-2) ;bytes->str conversion in clang>=3.7 needs python-2
@@ -131,7 +132,7 @@ compiler. In LLVM this library is called \"compiler-rt\".")
(supported-systems (delete "mips64el-linux" %supported-systems))))
(define* (clang-from-llvm llvm clang-runtime hash
- #:key (patches '("clang-libc-search-path.patch")))
+ #:key (patches '()))
(package
(name "clang")
(version (package-version llvm))
@@ -176,22 +177,50 @@ compiler. In LLVM this library is called \"compiler-rt\".")
(lambda* (#:key inputs #:allow-other-keys)
(let ((libc (assoc-ref inputs "libc"))
(compiler-rt (assoc-ref inputs "clang-runtime")))
- (substitute* "lib/Driver/Tools.cpp"
- ;; Patch the 'getLinuxDynamicLinker' function to that
- ;; it uses the right dynamic linker file name.
- (("/lib64/ld-linux-x86-64.so.2")
- (string-append libc
- ,(glibc-dynamic-linker)))
-
- ;; Link to libclang_rt files from clang-runtime.
- (("TC\\.getDriver\\(\\)\\.ResourceDir")
- (string-append "\"" compiler-rt "\"")))
-
- ;; Same for libc's libdir, to allow crt1.o & co. to be
- ;; found.
- (substitute* "lib/Driver/ToolChains.cpp"
- (("@GLIBC_LIBDIR@")
- (string-append libc "/lib")))))))))
+ (case (string->number ,(version-major
+ (package-version clang-runtime)))
+ ((6)
+ ;; Link to libclang_rt files from clang-runtime.
+ (substitute* "lib/Driver/ToolChain.cpp"
+ (("getDriver\\(\\)\\.ResourceDir")
+ (string-append "\"" compiler-rt "\"")))
+
+ ;; Make "LibDir" refer to <glibc>/lib so that it
+ ;; uses the right dynamic linker file name.
+ (substitute* "lib/Driver/ToolChains/Linux.cpp"
+ (("(^[[:blank:]]+LibDir = ).*" _ declaration)
+ (string-append declaration "\"" libc "/lib\";\n"))
+
+ ;; Make sure libc's libdir is on the search path, to
+ ;; allow crt1.o & co. to be found.
+ (("@GLIBC_LIBDIR@")
+ (string-append libc "/lib"))))
+ ((3)
+ (substitute* "lib/Driver/Tools.cpp"
+ ;; Patch the 'getLinuxDynamicLinker' function so that
+ ;; it uses the right dynamic linker file name.
+ (("/lib64/ld-linux-x86-64.so.2")
+ (string-append libc
+ ,(glibc-dynamic-linker))))
+
+ ;; Link to libclang_rt files from clang-runtime.
+ ;; This substitution needed slight adjustment in 3.8.
+ (if (< 3.8 (string->number ,(version-major+minor
+ (package-version
+ clang-runtime))))
+ (substitute* "lib/Driver/Tools.cpp"
+ (("TC\\.getDriver\\(\\)\\.ResourceDir")
+ (string-append "\"" compiler-rt "\"")))
+ (substitute* "lib/Driver/ToolChain.cpp"
+ (("getDriver\\(\\)\\.ResourceDir")
+ (string-append "\"" compiler-rt "\""))))
+
+ ;; Make sure libc's libdir is on the search path, to
+ ;; allow crt1.o & co. to be found.
+ (substitute* "lib/Driver/ToolChains.cpp"
+ (("@GLIBC_LIBDIR@")
+ (string-append libc "/lib")))))
+ #t))))))
;; Clang supports the same environment variables as GCC.
(native-search-paths
@@ -214,13 +243,12 @@ code analysis tools.")
(define-public clang-runtime
(clang-runtime-from-llvm
llvm
- "0p0y85c7izndbpg2l816z7z7558axq11d5pwkm4h11sdw7d13w0d"
- '("clang-runtime-asan-build-fixes.patch")))
+ "16m7rvh3w6vq10iwkjrr1nn293djld3xm62l5zasisaprx117k6h"))
(define-public clang
(clang-from-llvm llvm clang-runtime
- "1prc72xmkgx8wrzmrr337776676nhsp1qd3mw2bvb22bzdnq7lsc"
- #:patches '("clang-3.8-libc-search-path.patch")))
+ "0cnznvfyl3hgbg8gj58pmwf0pvd2sv5k3ccbivy6q6ggv7c6szg0"
+ #:patches '("clang-6.0-libc-search-path.patch")))
(define-public llvm-3.9.1
(package (inherit llvm)
@@ -245,7 +273,31 @@ code analysis tools.")
(define-public clang-3.9.1
(clang-from-llvm llvm-3.9.1 clang-runtime-3.9.1
"0qsyyb40iwifhhlx9a3drf8z6ni6zwyk3bvh0kx2gs6yjsxwxi76"
- #:patches '()))
+ #:patches '("clang-3.8-libc-search-path.patch")))
+
+(define-public llvm-3.8
+ (package (inherit llvm)
+ (name "llvm")
+ (version "3.8.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://llvm.org/releases/"
+ version "/llvm-" version ".src.tar.xz"))
+ (sha256
+ (base32
+ "1ybmnid4pw2hxn12ax5qa5kl1ldfns0njg8533y3mzslvd5cx0kf"))))))
+
+(define-public clang-runtime-3.8
+ (clang-runtime-from-llvm
+ llvm-3.8
+ "0p0y85c7izndbpg2l816z7z7558axq11d5pwkm4h11sdw7d13w0d"
+ '("clang-runtime-asan-build-fixes.patch")))
+
+(define-public clang-3.8
+ (clang-from-llvm llvm-3.8 clang-runtime-3.8
+ "1prc72xmkgx8wrzmrr337776676nhsp1qd3mw2bvb22bzdnq7lsc"
+ #:patches '("clang-3.8-libc-search-path.patch")))
(define-public llvm-3.7
(package (inherit llvm)
@@ -267,7 +319,8 @@ code analysis tools.")
(define-public clang-3.7
(clang-from-llvm llvm-3.7 clang-runtime-3.7
- "0x065d0w9b51xvdjxwfzjxng0gzpbx45fgiaxpap45ragi61dqjn"))
+ "0x065d0w9b51xvdjxwfzjxng0gzpbx45fgiaxpap45ragi61dqjn"
+ #:patches '("clang-3.5-libc-search-path.patch")))
(define-public llvm-3.6
(package (inherit llvm)
@@ -289,7 +342,8 @@ code analysis tools.")
(define-public clang-3.6
(clang-from-llvm llvm-3.6 clang-runtime-3.6
- "1wwr8s6lzr324hv4s1k6na4j5zv6n9kdhi14s4kb9b13d93814df"))
+ "1wwr8s6lzr324hv4s1k6na4j5zv6n9kdhi14s4kb9b13d93814df"
+ #:patches '("clang-3.5-libc-search-path.patch")))
(define-public llvm-3.5
(package (inherit llvm)
@@ -313,7 +367,8 @@ code analysis tools.")
(define-public clang-3.5
(clang-from-llvm llvm-3.5 clang-runtime-3.5
- "0846h8vn3zlc00jkmvrmy88gc6ql6014c02l4jv78fpvfigmgssg"))
+ "0846h8vn3zlc00jkmvrmy88gc6ql6014c02l4jv78fpvfigmgssg"
+ #:patches '("clang-3.5-libc-search-path.patch")))
(define-public llvm-for-extempore
(package (inherit llvm-3.7)
diff --git a/gnu/packages/mail.scm b/gnu/packages/mail.scm
index b7cd38dbbc..ea367bcc33 100644
--- a/gnu/packages/mail.scm
+++ b/gnu/packages/mail.scm
@@ -108,7 +108,7 @@
#:use-module (gnu packages xorg)
#:use-module (gnu packages docbook)
#:use-module ((guix licenses)
- #:select (gpl2 gpl2+ gpl3 gpl3+ lgpl2.1 lgpl2.1+ lgpl3+
+ #:select (fdl1.1+ gpl2 gpl2+ gpl3 gpl3+ lgpl2.1 lgpl2.1+ lgpl3+
non-copyleft (expat . license:expat) bsd-3
public-domain bsd-4 isc (openssl . license:openssl)
bsd-2 x11-style agpl3 asl2.0 perl-license))
@@ -257,14 +257,14 @@ aliasing facilities to work just as they would on normal mail.")
(define-public mutt
(package
(name "mutt")
- (version "1.9.3")
+ (version "1.9.4")
(source (origin
(method url-fetch)
(uri (string-append "https://bitbucket.org/mutt/mutt/downloads/"
"mutt-" version ".tar.gz"))
(sha256
(base32
- "1qbngck1pq1jkpnbpcwcb2q2zqrkgp0nd68wwp57bprxjgb8a6j3"))
+ "1pxmw5yyizb9bqbai6lihv6zxmw0znjfb60zaldwh6hc6lkbzlgl"))
(patches (search-patches "mutt-store-references.patch"))))
(build-system gnu-build-system)
(inputs
@@ -296,7 +296,7 @@ operating systems.")
(define-public neomutt
(package
(name "neomutt")
- (version "20180223")
+ (version "20180323")
(source
(origin
(method url-fetch)
@@ -304,7 +304,7 @@ operating systems.")
"/archive/" name "-" version ".tar.gz"))
(sha256
(base32
- "1fr7158xhrhasylyxp709g9mdbggdmni3qn3baxvczfg2w003fhh"))))
+ "12v7zkm809cvjxfz0n7jb4qa410ns1ydyf0gjin99vbdrlj88jac"))))
(build-system gnu-build-system)
(inputs
`(("cyrus-sasl" ,cyrus-sasl)
@@ -472,7 +472,7 @@ and corrections. It is based on a Bayesian filter.")
(define-public offlineimap
(package
(name "offlineimap")
- (version "7.1.5")
+ (version "7.2.0")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/OfflineIMAP/offlineimap/"
@@ -480,7 +480,7 @@ and corrections. It is based on a Bayesian filter.")
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
- "1qa3km3s3yhmpgzh76dnzwn22aa8fh39814zgnlyhs07l23ffa4f"))))
+ "1i7pzm1vrj98jcyn1ygsg1yp0gqlsssnc25451icvivysvdwdj5n"))))
(build-system python-build-system)
(native-inputs
`(("asciidoc" ,asciidoc)))
@@ -618,6 +618,14 @@ security functionality including PGP, S/MIME, SSH, and SSL.")
"guile/mu/Makefile.in")
(("share/guile/site/2.0/") "share/guile/site/2.2/"))
#t))
+ (add-after 'patch-configure 'fix-date-tests
+ ;; Loosen test tolerances to prevent failures caused by daylight
+ ;; saving time (DST). See: https://github.com/djcb/mu/issues/1214.
+ (lambda _
+ (substitute* "lib/parser/test-utils.cc"
+ (("\\* 60 \\* 60, 1 },")
+ "* 60 * 60, 3600 + 1 },"))
+ #t))
(add-before 'install 'fix-ffi
(lambda* (#:key outputs #:allow-other-keys)
(substitute* "guile/mu.scm"
@@ -736,14 +744,14 @@ invoking @command{notifymuch} from the post-new hook.")
(define-public notmuch
(package
(name "notmuch")
- (version "0.26")
+ (version "0.26.1")
(source (origin
(method url-fetch)
(uri (string-append "https://notmuchmail.org/releases/notmuch-"
version ".tar.gz"))
(sha256
(base32
- "1pvn1n7giv8n3xlazi3wpscdqhd2yak0fgv68aj23myr5bnr9s6k"))))
+ "0dx8nhdmkaqabxcgxfa757m99fi395y76h9ynx8539yh9m7y9xyk"))))
(build-system gnu-build-system)
(arguments
`(#:modules ((guix build gnu-build-system)
@@ -895,7 +903,7 @@ and search library.")
(define-public getmail
(package
(name "getmail")
- (version "5.5")
+ (version "5.6")
(source
(origin
(method url-fetch)
@@ -903,7 +911,7 @@ and search library.")
name "-" version ".tar.gz"))
(sha256
(base32
- "0l43lbnrnyyrq8mlnw37saq6v0mh3nkirdq1dwnsrihykzjjwf70"))))
+ "16nmvj80szr6yvcxxgmxn2lxqpjqqj4xg5a0b66zhvck6j42q3a6"))))
(build-system python-build-system)
(arguments
`(#:tests? #f ; no tests
@@ -1180,7 +1188,7 @@ facilities for checking incoming mail.")
(define-public dovecot
(package
(name "dovecot")
- (version "2.3.0.1")
+ (version "2.3.1")
(source
(origin
(method url-fetch)
@@ -1188,7 +1196,7 @@ facilities for checking incoming mail.")
(version-major+minor version) "/"
name "-" version ".tar.gz"))
(sha256 (base32
- "0lzisrdgrj5qqwjb7bv99mf2aljm568r6g108yisp0s644z2nxxb"))))
+ "14zva4f8k64x86sm9n21cp2yvrpph6k6k52bm22a00pxjwdq50q8"))))
(build-system gnu-build-system)
(native-inputs
`(("pkg-config" ,pkg-config)))
@@ -1205,20 +1213,23 @@ facilities for checking incoming mail.")
(add-before
'configure 'pre-configure
(lambda _
- ;; Simple hack to avoid installing in /etc
+ ;; Simple hack to avoid installing in /etc.
(substitute* '("doc/Makefile.in"
"doc/example-config/Makefile.in")
(("pkgsysconfdir = .*")
"pkgsysconfdir = /tmp/etc"))
#t))
(add-after
- 'unpack 'patch-other-shebangs
+ 'unpack 'patch-other-file-names
(lambda _
(substitute*
- "src/lib-program-client/test-program-client-local.c"
+ "src/lib-program-client/test-program-client-local.c"
+ (("(/bin/| )cat") (which "cat"))
(("/bin/echo") (which "echo"))
- (("/bin/cat") (which "cat"))
- (("/bin/false") (which "false")))
+ (("/bin/false") (which "false"))
+ (("/bin/sh") (which "bash"))
+ (("head") (which "head"))
+ (("sleep") (which "sleep")))
#t)))))
(home-page "https://www.dovecot.org")
(synopsis "Secure POP3/IMAP server")
@@ -2323,7 +2334,7 @@ operators and scripters.")
(define-public alpine
(package
(name "alpine")
- (version "2.21")
+ (version "2.21.999")
(source
(origin
(method url-fetch)
@@ -2331,11 +2342,12 @@ operators and scripters.")
;; patches and the version which adds extra fixes. Every distro uses
;; the patched version, and so do we to not break expectations.
;; http://alpine.freeiz.com/alpine/readme/README.patches
- (uri (string-append "http://alpine.freeiz.com/alpine/patches/alpine-"
- version "/alpine-" version ".tar.xz"))
+ (uri (string-append "http://repo.or.cz/alpine.git/snapshot/"
+ "349642a84039a4b026513c32a3b4f8594acd50df.tar.gz"))
+ (file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
- "1k9hcfjywfk3mpsl71hjza3nk6icgf1b6xxzgx10kdzg5yci5x5m"))))
+ "1rkvlfk3q7h9jcvaj91pk7l087bq4b38j30060jaw21zz94b90np"))))
(build-system gnu-build-system)
(arguments
`(#:make-flags (list "CC=gcc")
@@ -2373,7 +2385,7 @@ operators and scripters.")
("aspell" ,aspell)
("tcl" ,tcl)
("linux-pam" ,linux-pam)))
- (home-page "http://alpine.freeiz.com/alpine/")
+ (home-page "http://repo.or.cz/alpine.git")
(synopsis "Alternatively Licensed Program for Internet News and Email")
(description
"Alpine is a text-based mail and news client. Alpine includes several
@@ -2464,3 +2476,51 @@ provides automatic tagging each time new mail is registered with notmuch. It
can add tags based on email headers or Maildir folders and can handle spam and
killed threads.")
(license isc)))
+
+(define-public pan
+ (package
+ (name "pan")
+ (version "0.144")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "http://pan.rebelbase.com/download/releases/"
+ version "/source/" name "-" version ".tar.bz2"))
+ (sha256
+ (base32
+ "0l07y75z8jxhbmfv28slw81gjncs7i89x7fq44zif7xhq5vy7yli"))))
+ (arguments
+ `(#:configure-flags '("--with-gtk3" "--with-gtkspell" "--with-gnutls"
+ "--enable-libnotify" "--enable-manual"
+ "--enable-gkr")
+ #:phases
+ (modify-phases %standard-phases
+ (add-before 'configure 'patch-gpg2
+ (lambda* (#:key inputs #:allow-other-keys)
+ (substitute* "pan/usenet-utils/gpg.cc"
+ (("\"gpg2\"") (string-append "\""
+ (assoc-ref inputs "gnupg")
+ "/bin/gpg\"")))
+ #t)))))
+ (inputs
+ `(("gmime" ,gmime)
+ ("gnupg" ,gnupg)
+ ("gnutls" ,gnutls)
+ ("gtk+" ,gtk+)
+ ("gtkspell3" ,gtkspell3)
+ ("libnotify" ,libnotify)
+ ("libsecret" ,libsecret)
+ ("libxml2" ,libxml2)
+ ("zlib" ,zlib)))
+ (native-inputs
+ `(("gettext-minimal" ,gettext-minimal)
+ ("itstool" ,itstool)
+ ("pkg-config" ,pkg-config)))
+ (build-system gnu-build-system)
+ (home-page "http://pan.rebelbase.com/")
+ (synopsis "Pan newsreader")
+ (description "@code{pan} is a Usenet newsreader that's good at both text
+and binaries. It supports offline reading, scoring and killfiles, yEnc, NZB,
+PGP handling, multiple servers, and secure connections.")
+ ;; License of the docs: fdl-1.1; Others: gpl2.
+ (license (list fdl1.1+ gpl2))))
diff --git a/gnu/packages/mate.scm b/gnu/packages/mate.scm
index 0f7d492e31..c3a4edd1ea 100644
--- a/gnu/packages/mate.scm
+++ b/gnu/packages/mate.scm
@@ -154,7 +154,7 @@ from Mint-X-F and Faenza-Fresh icon packs.")
(define-public mate-themes
(package
(name "mate-themes")
- (version "3.22.14")
+ (version "3.22.16")
(source (origin
(method url-fetch)
(uri (string-append "https://pub.mate-desktop.org/releases/themes/"
@@ -162,7 +162,7 @@ from Mint-X-F and Faenza-Fresh icon packs.")
version ".tar.xz"))
(sha256
(base32
- "09fqvlnmrvc73arl7jv9ygkxi46lw7c1q8qra6w3ap7x83f9zdak"))))
+ "1k8qp2arjv4vj8kyjhjgyj5h46jy0darlfh48l5h25623z1firdj"))))
(build-system gnu-build-system)
(native-inputs
`(("pkg-config" ,pkg-config)
diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm
index bfe4506cbd..f4ebd886be 100644
--- a/gnu/packages/maths.scm
+++ b/gnu/packages/maths.scm
@@ -11,7 +11,7 @@
;;; Copyright © 2015, 2016, 2017, 2018 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2015 Fabian Harfert <fhmgufs@web.de>
;;; Copyright © 2016 Roel Janssen <roel@gnu.org>
-;;; Copyright © 2016 Kei Kebreau <kkebreau@posteo.net>
+;;; Copyright © 2016, 2018 Kei Kebreau <kkebreau@posteo.net>
;;; Copyright © 2016, 2017, 2018 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2016 Leo Famulari <leo@famulari.name>
;;; Copyright © 2016, 2017 Thomas Danckaert <post@thomasdanckaert.be>
@@ -24,6 +24,7 @@
;;; Copyright © 2017 Dave Love <me@fx@gnu.org>
;;; Copyright © 2018 Jan Nieuwenhuizen <janneke@gnu.org>
;;; Copyright © 2018 Joshua Sierles, Nextjournal <joshua@nextjournal.com>
+;;; Copyright © 2018 Nadya Voronova <voronovank@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -55,6 +56,7 @@
#:use-module (guix build-system r)
#:use-module (guix build-system ruby)
#:use-module (gnu packages algebra)
+ #:use-module (gnu packages audio)
#:use-module (gnu packages autotools)
#:use-module (gnu packages bison)
#:use-module (gnu packages boost)
@@ -78,6 +80,7 @@
#:use-module (gnu packages java)
#:use-module (gnu packages less)
#:use-module (gnu packages lisp)
+ #:use-module (gnu packages linux)
#:use-module (gnu packages logging)
#:use-module (gnu packages lua)
#:use-module (gnu packages gnome)
@@ -94,6 +97,7 @@
#:use-module (gnu packages popt)
#:use-module (gnu packages perl)
#:use-module (gnu packages pkg-config)
+ #:use-module (gnu packages pulseaudio)
#:use-module (gnu packages python)
#:use-module (gnu packages python-web)
#:use-module (gnu packages qt)
@@ -1260,7 +1264,7 @@ interfaces.")
(define-public ceres
(package
(name "ceres-solver")
- (version "1.13.0")
+ (version "1.14.0")
(home-page "http://ceres-solver.org/")
(source (origin
(method url-fetch)
@@ -1268,7 +1272,7 @@ interfaces.")
version ".tar.gz"))
(sha256
(base32
- "1kbxgab3q1vgyq7hjqasr1lji4b2sgn7ss351amklkb3jyhr1x0x"))))
+ "13lfxy8x58w8vprr0nkbzziaijlh0vvqshgahvcgw0mrqdgh0i27"))))
(build-system cmake-build-system)
(arguments
;; TODO: Build HTML user documentation and install separately.
@@ -1339,7 +1343,11 @@ can solve two kinds of problems:
("zlib" ,zlib)
("curl" ,curl)
("texinfo" ,texinfo)
- ("graphicsmagick" ,graphicsmagick)))
+ ("graphicsmagick" ,graphicsmagick)
+ ("suitesparse" ,suitesparse)
+ ("libsndfile" ,libsndfile)
+ ("portaudio" ,portaudio)
+ ("alsa-lib" ,alsa-lib)))
(native-inputs
`(("lzip" ,lzip)
("gfortran" ,gfortran)
@@ -1379,6 +1387,31 @@ Work may be performed both at the interactive command-line as well as via
script files.")
(license license:gpl3+)))
+(define-public qtoctave
+ (package (inherit octave)
+ (name "qtoctave")
+ (inputs
+ `(("qscintilla" ,qscintilla)
+ ("qt" ,qtbase)
+ ,@(package-inputs octave)))
+ (native-inputs
+ `(("qttools" , qttools) ;for lrelease
+ ,@(package-native-inputs octave)))
+ (arguments
+ (substitute-keyword-arguments (package-arguments octave)
+ ((#:phases phases)
+ `(modify-phases ,phases
+ (add-before 'configure 'patch-qscintilla-library-name
+ (lambda* (#:key inputs #:allow-other-keys)
+ ;; The QScintilla library that the Octave configure script tries
+ ;; to link with should be named libqscintilla-qt5.so, but the
+ ;; QScintilla input provides the shared library as
+ ;; libqscintilla2_qt5.so.
+ (substitute* "configure"
+ (("qscintilla2-qt5")
+ "qscintilla2_qt5"))
+ #t))))))))
+
(define-public opencascade-oce
(package
(name "opencascade-oce")
@@ -2170,8 +2203,8 @@ implemented in ANSI C, and MPI for communications.")
(source
(origin
(method url-fetch)
- (uri (string-append "https://gforge.inria.fr/frs/download.php/34618/"
- "scotch_" version ".tar.gz"))
+ (uri (string-append "https://gforge.inria.fr/frs/download.php/"
+ "latestfile/298/scotch_" version ".tar.gz"))
(sha256
(base32 "1ir088mvrqggyqdkx9qfynmiaffqbyih5qfl5mga2nrlm1qlsgzm"))
(patches (search-patches "scotch-test-threading.patch"
@@ -2832,7 +2865,7 @@ access to BLIS implementations via traditional BLAS routine calls.")
(define-public openlibm
(package
(name "openlibm")
- (version "0.5.1")
+ (version "0.5.5")
(source
(origin
(method url-fetch)
@@ -2841,7 +2874,7 @@ access to BLIS implementations via traditional BLAS routine calls.")
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
- "11czx2z7nh6dfpz45s3xl7v38hw36jxzxfvny454bk3if14pfakq"))))
+ "1z8cj5q8ca8kmrakwkpjxf8svi81waw0c568cx8v8pv9kvswbp07"))))
(build-system gnu-build-system)
(arguments
`(#:make-flags
@@ -3506,7 +3539,11 @@ supports compressed MAT files, as well as newer (version 7.3) MAT files.")
(build-system cmake-build-system)
(arguments
'(#:configure-flags
- '("-DBUILD_TESTING=ON")))
+ '("-DBUILD_TESTING=ON"
+ ;; By default, Vc will optimize for the CPU of the build machine.
+ ;; Setting this to "none" makes it create portable binaries. See
+ ;; "cmake/OptimizeForArchitecture.cmake".
+ "-DTARGET_ARCHITECTURE=none")))
(synopsis "SIMD vector classes for C++")
(description "Vc provides portable, zero-overhead C++ types for explicitly
data-parallel programming. It is a library designed to ease explicit
@@ -3840,3 +3877,24 @@ routines designed for solving ODEs resulting from 1-D, 2-D and 3-D partial
differential equations (PDE) that have been converted to ODEs by numerical
differencing.")
(license license:gpl2+)))
+
+(define-public tcalc
+ (package
+ (name "tcalc")
+ (version "2.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://sites.google.com/site/mohammedisam2000/tcalc/tcalc-"
+ version ".tar.gz"))
+ (sha256
+ (base32
+ "0jq806m4dqfia85nppfm75mml9w57g0cgv4cdw9bp3zymda83s0m"))))
+ (build-system gnu-build-system)
+ (synopsis "The terminal calculator")
+ (description
+ "The terminal calculator is a small program to help users of the GNU/Linux
+terminal do calculations simply and quickly. The formula to be calculated can
+be fed to @command{tcalc} through the command line.")
+ (home-page "https://sites.google.com/site/mohammedisam2000/tcalc")
+ (license license:gpl3+)))
diff --git a/gnu/packages/mes.scm b/gnu/packages/mes.scm
index d2be9fafea..5c832f9d13 100644
--- a/gnu/packages/mes.scm
+++ b/gnu/packages/mes.scm
@@ -60,7 +60,7 @@ extensive examples, including parsers for the Javascript and C99 languages.")
(let ((triplet "i686-unknown-linux-gnu"))
(package
(name "mes")
- (version "0.11")
+ (version "0.12")
(source (origin
(method url-fetch)
(uri (string-append "https://gitlab.com/janneke/mes"
@@ -69,7 +69,7 @@ extensive examples, including parsers for the Javascript and C99 languages.")
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
- "0m0kk7rxl8q7pjdmis36bwgv1i824nn3d7k3xxm8j64bl0gbhkmr"))))
+ "0lbwmyl5262z28kpac6kmxxx8aglzy8n6bsicp5lyzkmzkzvjnh2"))))
(build-system gnu-build-system)
(supported-systems '("i686-linux" "x86_64-linux"))
(propagated-inputs
diff --git a/gnu/packages/messaging.scm b/gnu/packages/messaging.scm
index 45020f31b0..917d5ed8e1 100644
--- a/gnu/packages/messaging.scm
+++ b/gnu/packages/messaging.scm
@@ -3,7 +3,7 @@
;;; Copyright © 2014, 2017 Julien Lepiller <julien@lepiller.eu>
;;; Copyright © 2015 Taylan Ulrich Bayırlı/Kammer <taylanbayirli@gmail.com>
;;; Copyright © 2015 Andreas Enge <andreas@enge.fr>
-;;; Copyright © 2015, 2016, 2017 Ricardo Wurmus <rekado@elephly.net>
+;;; Copyright © 2015, 2016, 2017, 2018 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2015 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016, 2017 Nils Gillmann <ng0@n0.is>
;;; Copyright © 2016 Andy Patterson <ajpatter@uwaterloo.ca>
@@ -13,6 +13,7 @@
;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2017 Theodoros Foradis <theodoros@foradis.org>
;;; Copyright © 2017 Rutger Helling <rhelling@mykolab.com>
+;;; Copyright © 2018 Leo Famulari <leo@famulari.name>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -37,6 +38,7 @@
#:use-module (guix git-download)
#:use-module (guix build-system gnu)
#:use-module (guix build-system glib-or-gtk)
+ #:use-module (guix build-system meson)
#:use-module (guix build-system python)
#:use-module (guix build-system perl)
#:use-module (guix build-system cmake)
@@ -200,30 +202,17 @@ identi.ca and status.net).")
(define-public hexchat
(package
(name "hexchat")
- (version "2.12.4")
+ (version "2.14.1")
(source (origin
(method url-fetch)
(uri (string-append "https://dl.hexchat.net/hexchat/hexchat-"
version ".tar.xz"))
(sha256
(base32
- "0ficrx56knz5y297qb0x5y02339yvyv734z7kpcx1ixvb0qr2dgs"))
- (modules '((guix build utils)))
- (snippet
- '(begin
- ;; Delete dangling symlinks to a non-existent ‘/usr’.
- (with-directory-excursion "m4"
- (for-each (lambda (f) (delete-file f))
- '("intltool.m4" "libtool.m4" "lt~obsolete.m4"
- "ltoptions.m4" "ltsugar.m4" "ltversion.m4")))
- (delete-file-recursively "build-aux")
- (delete-file "po/Makefile.in.in")))))
- (build-system gnu-build-system)
- (native-inputs `(("autoconf" ,autoconf)
- ("autoconf-archive" ,autoconf-archive)
- ("automake" ,automake)
- ("intltool" ,intltool)
- ("libtool" ,libtool)
+ "18h3l34zmazjlfx3irg7k7swppa62ad9ffbl0j3ry8p2xfyf8cmh"))))
+ (build-system meson-build-system)
+ (native-inputs `(("gettext" ,gettext-minimal)
+ ("perl" ,perl)
("pkg-config" ,pkg-config)))
(inputs `(("dbus-glib" ,dbus-glib)
("dbus" ,dbus)
@@ -232,6 +221,7 @@ identi.ca and status.net).")
("gtk" ,gtk+-2)
("libcanberra" ,libcanberra)
("libnotify" ,libnotify)
+ ("libproxy" ,libproxy)
("openssl" ,openssl)
;; Bindings for add-on scripts.
@@ -239,17 +229,18 @@ identi.ca and status.net).")
("perl-xml-parser" ,perl-xml-parser)
("python-2" ,python-2)))
(arguments
- `(#:make-flags '("UPDATE_ICON_CACHE=true") ; Disable icon theme generation
- #:phases
+ `(#:phases
(modify-phases %standard-phases
- ;; Release 2.12.4 wasn't properly bootstrapped. Later ones might be!
- (add-after 'unpack 'bootstrap
- (lambda* (#:key inputs #:allow-other-keys)
- ;; This file is still required for autoreconf.
- (copy-file (string-append (assoc-ref inputs "intltool")
- "/share/intltool/Makefile.in.in")
- "po/Makefile.in.in")
- (zero? (system* "autoreconf" "-fiv")))))))
+ (add-after 'unpack 'skip-desktop-database-updates
+ (lambda _
+ ;; The build scripts update icon and desktop file databases when
+ ;; DESTDIR is not set. We can't update these databases from
+ ;; within the build chroot, but we also don't set DESTDIR. So, we
+ ;; just skip this code.
+ (substitute* "meson_post_install.py"
+ (("if 'DESTDIR' not in os.environ:")
+ "if False:"))
+ #t)))))
(synopsis "Graphical IRC Client")
(description
"HexChat lets you connect to multiple IRC networks at once. The main
@@ -913,16 +904,17 @@ connect with friends and family without anyone else listening in.")
(define-public pybitmessage
(package
(name "pybitmessage")
- (version "0.6.2")
+ (version "0.6.3.2")
(source
(origin
- (method url-fetch)
- (uri (string-append "https://github.com/Bitmessage/"
- "PyBitmessage/archive/v" version ".tar.gz"))
- (file-name (string-append name "-" version ".tar.gz"))
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/Bitmessage/PyBitmessage.git")
+ (commit version)))
+ (file-name (string-append name "-" version "-checkout"))
(sha256
(base32
- "1in2mhaxkp2sx8pgvifq9dk1z8b2x3imf1anr0z926vwxwjrf85w"))))
+ "1lmhbpwsqh1v93krlqqhafw2pc3y0qp8zby186yllbph6s8kdp35"))))
(propagated-inputs
;; TODO:
;; Package "pyopencl", required in addition to numpy for OpenCL support.
@@ -1398,7 +1390,7 @@ manual SSL certificate verification.")
(define-public libstrophe
(package
(name "libstrophe")
- (version "0.9.1")
+ (version "0.9.2")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/strophe/libstrophe/archive/"
@@ -1406,7 +1398,7 @@ manual SSL certificate verification.")
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
- "1hzwdax4nsz0fncf5bjfza0cn0lc6xsf38y569ql1gg5hvwr6169"))))
+ "0vxfcyfnhnlaj6spm2b0ljw5i3knbphy6mvzpl5zv9b52ny4b08m"))))
(build-system gnu-build-system)
(arguments
`(#:phases
diff --git a/gnu/packages/mp3.scm b/gnu/packages/mp3.scm
index 6dc58e2cc8..49313123c5 100644
--- a/gnu/packages/mp3.scm
+++ b/gnu/packages/mp3.scm
@@ -468,21 +468,21 @@ compression format (.mpc files).")
(define-public eyed3
(package
(name "eyed3")
- (version "0.8")
+ (version "0.8.5")
(source (origin
(method url-fetch)
- (uri (string-append
- "http://eyed3.nicfit.net/releases/eyeD3-"
- version ".tar.gz"))
+ (uri (pypi-uri "eyeD3" version))
(sha256
(base32
- "1dcswb0f6w3b05s1v43pq8fmavkd5g88ysndn9160wlaa1v9n40h"))))
+ "0rkx859z82wqnfb0dzpa1647cq43aqb39ri9rd5r3jz597qr9zdd"))))
(build-system python-build-system)
(arguments
`(#:tests? #f)) ; the required test data contains copyrighted material.
(propagated-inputs
- `(("python-six" ,python-six)
- ("python-grako" ,python-grako)))
+ `(("python-grako" ,python-grako)
+ ("python-magic" ,python-magic)
+ ("python-pathlib" ,python-pathlib)
+ ("python-six" ,python-six)))
(synopsis "MP3 tag ID3 metadata editor")
(description "eyeD3 is a Python tool for working with audio files,
specifically mp3 files containing ID3 metadata (i.e. song info). It provides a
@@ -508,12 +508,13 @@ command-line tool.")
(arguments
`(#:tests? #f ; tests require googletest *sources*
;;#:configure-flags '("-DBUILD_TESTS=ON") ; for building the tests
+ #:configure-flags '("-DBUILD_TOOLS=ON") ; for fpcalc
#:test-target "check"))
(inputs
;; requires one of FFmpeg (prefered), FFTW3 or vDSP
;; use the same ffmpeg version as for acoustid-fingerprinter
`(("ffmpeg" ,ffmpeg)
- ("boots" ,boost)))
+ ("boost" ,boost)))
(home-page "https://acoustid.org/chromaprint")
(synopsis "Audio fingerprinting library")
(description "Chromaprint is a library for calculating audio
diff --git a/gnu/packages/mpd.scm b/gnu/packages/mpd.scm
index ba06c2afb2..0e2acedf7f 100644
--- a/gnu/packages/mpd.scm
+++ b/gnu/packages/mpd.scm
@@ -208,7 +208,7 @@ terminal using ncurses.")
(define-public ncmpcpp
(package
(name "ncmpcpp")
- (version "0.8.1")
+ (version "0.8.2")
(source (origin
(method url-fetch)
(uri
@@ -216,7 +216,7 @@ terminal using ncurses.")
version ".tar.bz2"))
(sha256
(base32
- "1zw8d07b2bkssbsybg6jnmpq001w525viajrnz4jvfml3l55gyad"))))
+ "0m0mjb049sl62vx13h9waavysa30mk0rphacksnvf94n13la62v5"))))
(build-system gnu-build-system)
(inputs `(("libmpdclient" ,libmpdclient)
("boost" ,boost)
diff --git a/gnu/packages/mpi.scm b/gnu/packages/mpi.scm
index 442f7c5371..5dfb26ae75 100644
--- a/gnu/packages/mpi.scm
+++ b/gnu/packages/mpi.scm
@@ -47,7 +47,7 @@
;; to migrate to 2.0.
(package
(name "hwloc")
- (version "1.11.8")
+ (version "1.11.10")
(source (origin
(method url-fetch)
(uri (string-append "https://www.open-mpi.org/software/hwloc/v"
@@ -55,7 +55,7 @@
"/downloads/hwloc-" version ".tar.bz2"))
(sha256
(base32
- "0karxv4r1r8sa7ki5aamlxdvyvz0bvzq4gdhq0yi5nc4a0k11vzc"))))
+ "1ryibcng40xcq22lsj85fn2vcvrksdx9rr3wwxpq8dw37lw0is1b"))))
(build-system gnu-build-system)
(outputs '("out" ;'lstopo' & co., depends on Cairo, libx11, etc.
"lib" ;small closure
@@ -79,6 +79,14 @@
`(#:configure-flags '("--localstatedir=/var")
#:phases
(modify-phases %standard-phases
+ (add-before 'check 'skip-linux-libnuma-test
+ (lambda _
+ ;; Arrange to skip 'tests/linux-libnuma', which fails on some
+ ;; machines: <https://github.com/open-mpi/hwloc/issues/213>.
+ (substitute* "tests/linux-libnuma.c"
+ (("numa_available\\(\\)")
+ "-1"))
+ #t))
(add-after 'install 'refine-libnuma
;; Give -L arguments for libraries to avoid propagation
(lambda* (#:key inputs outputs #:allow-other-keys)
@@ -117,7 +125,7 @@ bind processes, and much more.")
;; Note: 2.0 isn't the default yet, see above.
(package
(inherit hwloc)
- (version "2.0.0")
+ (version "2.0.1")
(source (origin
(method url-fetch)
(uri (string-append "https://www.open-mpi.org/software/hwloc/v"
@@ -125,11 +133,22 @@ bind processes, and much more.")
"/downloads/hwloc-" version ".tar.bz2"))
(sha256
(base32
- "021765f9y6pxcxrvfpzzwaig16ypfbph5xjpkd29qkhzs9r6zrcr"))
- (patches (search-patches "hwloc-tests-without-sysfs.patch"))))
+ "0jf0krj1h95flmb784ifv9vnkdnajjz00p4zbhmja7vm4v67axdr"))))
;; libnuma is no longer needed.
- (inputs (alist-delete "numactl" (package-inputs hwloc)))))
+ (inputs (alist-delete "numactl" (package-inputs hwloc)))
+ (arguments
+ (substitute-keyword-arguments (package-arguments hwloc)
+ ((#:phases phases)
+ `(modify-phases ,phases
+ (replace 'skip-linux-libnuma-test
+ (lambda _
+ ;; Arrange to skip 'tests/hwloc/linux-libnuma', which fails on
+ ;; some machines: <https://github.com/open-mpi/hwloc/issues/213>.
+ (substitute* "tests/hwloc/linux-libnuma.c"
+ (("numa_available\\(\\)")
+ "-1"))
+ #t))))))))
(define-public openmpi
(package
diff --git a/gnu/packages/multiprecision.scm b/gnu/packages/multiprecision.scm
index 4bfe0ac563..6f5c802ad4 100644
--- a/gnu/packages/multiprecision.scm
+++ b/gnu/packages/multiprecision.scm
@@ -1,7 +1,7 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2012, 2013, 2015 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2014 Mark H Weaver <mhw@netris.org>
-;;; Copyright © 2015 Andreas Enge <andreas@enge.fr>
+;;; Copyright © 2015, 2018 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2016 Nicolas Goaziou <mail@nicolasgoaziou.fr>
;;; Copyright © 2016 Jan Nieuwenhuizen <janneke@gnu.org>
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
@@ -160,6 +160,33 @@ multiple-precision arithmetic.")
(license lgpl2.1+)
(home-page "https://perso.ens-lyon.fr/nathalie.revol/software.html")))
+(define-public irram
+ (package
+ (name "irram")
+ (version "2013_01")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "http://irram.uni-trier.de/irram-files/iRRAM_"
+ version ".tar.bz2"))
+ (sha256
+ (base32 "1cdmvb4hsa161rfdjqyhd9sb3fcr43p3a6nsj7cb4kn9f94qmjpj"))))
+ (build-system gnu-build-system)
+ (propagated-inputs `(("gmp" ,gmp) ; <mpfi.h> refers to both
+ ("mpfr" ,mpfr)))
+ (arguments
+ `(#:parallel-build? #f))
+ (synopsis "C++ package for real arithmetic based on the Real-RAM concept")
+ (description
+ "@dfn{iRRAM} is a C++ package for error-free real arithmetic based on
+the concept of a Real-RAM. Its capabilities range from ordinary arithmetic
+over trigonometric functions to linear algebra and differential
+equations. A program using iRRAM is coded in ordinary C++, but may use a
+special class that behaves like real numbers without any
+error. Additionally, iRRAM uses the concept of multi-valued functions.")
+ (license lgpl2.0+)
+ (home-page "http://irram.uni-trier.de/")))
+
(define-public qd
(package
(name "qd")
diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm
index b7cb4ac99d..bb98f5b6a1 100644
--- a/gnu/packages/music.scm
+++ b/gnu/packages/music.scm
@@ -435,19 +435,28 @@ background while you work.")
(define-public hydrogen
(package
(name "hydrogen")
- (version "0.9.7")
+ (version "1.0.0-beta1")
(source (origin
- (method url-fetch)
- (uri (string-append
- "https://github.com/hydrogen-music/hydrogen/archive/"
- version ".tar.gz"))
- (file-name (string-append name "-" version ".tar.gz"))
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/hydrogen-music/hydrogen.git")
+ (commit version)))
+ (file-name (string-append name "-" version "-checkout"))
(sha256
(base32
- "1dy2jfkdw0nchars4xi4isrz66fqn53a9qk13bqza7lhmsg3s3qy"))))
+ "0nv83l70j5bjz2wd6n3a8cq3bmgrvdvg6g2hjhc1g5h6xnbqsh9x"))))
(build-system cmake-build-system)
(arguments
- `(#:test-target "tests"))
+ `(#:test-target "tests"
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'fix-data-directory
+ (lambda* (#:key outputs #:allow-other-keys)
+ (substitute* "CMakeLists.txt"
+ (("/usr/share/pixmaps")
+ (string-append (assoc-ref outputs "out")
+ "/share/pixmaps")))
+ #t)))))
(native-inputs
`(("cppunit" ,cppunit)
("pkg-config" ,pkg-config)))
@@ -460,7 +469,8 @@ background while you work.")
("libsndfile" ,libsndfile)
("libtar" ,libtar)
("lrdf" ,lrdf)
- ("qt" ,qt-4)
+ ("qtbase" ,qtbase)
+ ("qtxmlpatterns" ,qtxmlpatterns)
("zlib" ,zlib)))
(home-page "http://www.hydrogen-music.org")
(synopsis "Drum machine")
@@ -1254,7 +1264,7 @@ users to select LV2 plugins and run them with jalv.")
(define-public synthv1
(package
(name "synthv1")
- (version "0.8.6")
+ (version "0.9.0")
(source (origin
(method url-fetch)
(uri
@@ -1262,7 +1272,7 @@ users to select LV2 plugins and run them with jalv.")
"/synthv1-" version ".tar.gz"))
(sha256
(base32
- "141ah1gnv5r2k846v5ay15q9q90h01p74240a56vlxqh20z43g92"))))
+ "1skynjg6ip0qfbqqkybfjh6xcwxagq89ghl08f7sp7j0sz5qdcwp"))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f ; There are no tests.
@@ -1288,7 +1298,7 @@ oscillators and stereo effects.")
(define-public drumkv1
(package
(name "drumkv1")
- (version "0.8.6")
+ (version "0.9.0")
(source (origin
(method url-fetch)
(uri
@@ -1296,7 +1306,7 @@ oscillators and stereo effects.")
"/drumkv1-" version ".tar.gz"))
(sha256
(base32
- "0fwxrfyp15a4m77mzz4mwj36mhdrj646whlrkvcys33p2w75f8cq"))))
+ "1vm8lrk3lykdic6fyfpl12jx1xg6rcaid242s8sij30p1ix4zdab"))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f ; There are no tests.
@@ -1323,7 +1333,7 @@ effects.")
(define-public samplv1
(package
(name "samplv1")
- (version "0.8.6")
+ (version "0.9.0")
(source (origin
(method url-fetch)
(uri
@@ -1331,7 +1341,7 @@ effects.")
"/samplv1-" version ".tar.gz"))
(sha256
(base32
- "035bq7yfg1yirsqk63zwkzjw9dxl52lrzq9y0w7nga0vb11xdfij"))))
+ "0g67vm9ilmq5nlvk0f3abia9pbinr4ck5v4mll6igni1rxz2n7wk"))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f ; There are no tests.
@@ -1358,7 +1368,7 @@ effects.")
(define-public padthv1
(package
(name "padthv1")
- (version "0.8.6")
+ (version "0.9.0")
(source (origin
(method url-fetch)
(uri
@@ -1366,7 +1376,7 @@ effects.")
"/padthv1-" version ".tar.gz"))
(sha256
(base32
- "1mikab2f9n5q1sfgnp3sbm1rf3v57k4085lsgh0a5gzga2h4hwxq"))))
+ "0c519qk2g0dk8gqf9ywqfp7dnr4b25lsnxxbf2l1spnnvf8nysvh"))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f ; There are no tests.
@@ -1758,7 +1768,19 @@ projects.")
#:build-type "Release" ; needed to have PMALSA set
#:configure-flags
(list "-DPORTMIDI_ENABLE_JAVA=Off"
- "-DPORTMIDI_ENABLE_TEST=Off"))) ; tests fail linking
+ "-DPORTMIDI_ENABLE_TEST=Off") ; tests fail linking
+ #:phases
+ (modify-phases %standard-phases
+ ;; Some packages, e.g., MuseScore, expect "libporttime.so" instead of
+ ;; "libportmidi.so". Distributions get away with it by creating an
+ ;; appropriate symlink.
+ (add-after 'install 'add-porttime
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+ (lib (string-append out "/lib")))
+ (with-directory-excursion lib
+ (symlink "libportmidi.so" "libporttime.so")))
+ #t)))))
(inputs
`(("alsa-lib" ,alsa-lib)))
(native-inputs
@@ -1952,7 +1974,7 @@ capabilities, custom envelopes, effects, etc.")
(define-public yoshimi
(package
(name "yoshimi")
- (version "1.5.6")
+ (version "1.5.7")
(source (origin
(method url-fetch)
(uri (string-append "mirror://sourceforge/yoshimi/"
@@ -1960,7 +1982,7 @@ capabilities, custom envelopes, effects, etc.")
"/yoshimi-" version ".tar.bz2"))
(sha256
(base32
- "0bjfhfslpa2hjrc9h38m7dlr62953w9n4cvkgvfy495cbym12dak"))))
+ "1w916mmi6hh547a7icrgx6qr2kwxlxwlm6ampql427rshcz9r61k"))))
(build-system cmake-build-system)
(arguments
`(#:tests? #f ; there are no tests
@@ -2154,14 +2176,14 @@ from the command line.")
(define-public qtractor
(package
(name "qtractor")
- (version "0.8.6")
+ (version "0.9.0")
(source (origin
(method url-fetch)
(uri (string-append "http://downloads.sourceforge.net/qtractor/"
"qtractor-" version ".tar.gz"))
(sha256
(base32
- "0qf75bccsyplx6fcaz48k6027yp06zhl8ixhhjdbr30xgpslnjm3"))))
+ "03892177k3jn2bsi366dhq28rcdsc1p9v5qqc0k6hg3cnrkh23na"))))
(build-system gnu-build-system)
(arguments `(#:tests? #f)) ; no "check" target
(inputs
@@ -2270,10 +2292,10 @@ analogue-like user interface.")
(license license:gpl2+)))
(define-public mod-host
- ;; The last release was in 2014 but since then more than 140 commits have
+ ;; The last release was in 2014 but since then hundreds of commits have
;; been made.
- (let ((commit "299a3977476e8eb0285837fbd7522cec506a11de")
- (revision "2"))
+ (let ((commit "1726ad06b11323da7e1aaed690ff8aef91f702b5")
+ (revision "3"))
(package
(name "mod-host")
(version (string-append "0.10.6-" revision "." (string-take commit 9)))
@@ -2284,7 +2306,7 @@ analogue-like user interface.")
(commit commit)))
(sha256
(base32
- "128q7p5mph086v954rqnafalfbkyvhgwclaq6ks6swrhj45wnag6"))
+ "1nrd37c35w6z6ldczgrwmmd9hx1n3zyvcjcgb3mi4cygqdanvspv"))
(file-name (string-append name "-" version "-checkout"))))
(build-system gnu-build-system)
(arguments
@@ -3460,7 +3482,7 @@ audio samples and various soft sythesizers. It can receive input from a MIDI ke
(define-public musescore
(package
(name "musescore")
- (version "2.1.0")
+ (version "2.2.1")
(source (origin
(method url-fetch)
(uri (string-append
@@ -3469,7 +3491,7 @@ audio samples and various soft sythesizers. It can receive input from a MIDI ke
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
- "0irwsq6ihfz3y3b943cwqy29g3si7gqbgxdscgw53vwv9vfvi085"))
+ "1ml99ayzpdyd18cypcp0lbsbasfg3abw57i5fl7ph5739vikj6i6"))
(modules '((guix build utils)))
(snippet
;; Un-bundle OpenSSL and remove unused libraries.
@@ -3487,7 +3509,9 @@ audio samples and various soft sythesizers. It can receive input from a MIDI ke
(build-system gnu-build-system)
(arguments
`(#:make-flags
- `(,(string-append "PREFIX=" (assoc-ref %outputs "out")))
+ `(,(string-append "PREFIX=" (assoc-ref %outputs "out"))
+ "USE_SYSTEM_FREETYPE=ON"
+ "DOWNLOAD_SOUNDFONT=OFF")
;; There are tests, but no simple target to run. The command
;; used to run them is:
;;
@@ -3499,16 +3523,7 @@ audio samples and various soft sythesizers. It can receive input from a MIDI ke
#:tests? #f
#:phases
(modify-phases %standard-phases
- (delete 'configure)
- (add-after 'unpack 'use-system-freetype
- (lambda _
- ;; XXX: For the time being, we grossly insert the CMake
- ;; option needed to ignore bundled freetype. However,
- ;; there's a pending PR to have it as a regular make
- ;; option, in a future release.
- (substitute* "Makefile"
- (("cmake -DCMAKE") "cmake -DUSE_SYSTEM_FREETYPE=ON -DCMAKE"))
- #t)))))
+ (delete 'configure))))
(inputs
`(("alsa-lib" ,alsa-lib)
("freetype" ,freetype)
@@ -3519,6 +3534,7 @@ audio samples and various soft sythesizers. It can receive input from a MIDI ke
("libsndfile" ,libsndfile)
("libvorbis" ,libvorbis)
("portaudio" ,portaudio)
+ ("portmidi" ,portmidi)
("pulseaudio" ,pulseaudio)
("qtbase" ,qtbase)
("qtdeclarative" ,qtdeclarative)
diff --git a/gnu/packages/nano.scm b/gnu/packages/nano.scm
index 07c7ed36cb..6bb8c3f3ad 100644
--- a/gnu/packages/nano.scm
+++ b/gnu/packages/nano.scm
@@ -30,7 +30,7 @@
(define-public nano
(package
(name "nano")
- (version "2.9.4")
+ (version "2.9.5")
(source
(origin
(method url-fetch)
@@ -38,7 +38,7 @@
version ".tar.xz"))
(sha256
(base32
- "0nm3zy4azr5rkxjq7jfybbj3cnddmvxc49rxyqm9cp2zfdp75y9c"))))
+ "06af9dzhgab53drpyq430fv5kf5sdba9mfw0lf3glhkznlf1i3bv"))))
(build-system gnu-build-system)
(inputs
`(("gettext" ,gettext-minimal)
diff --git a/gnu/packages/networking.scm b/gnu/packages/networking.scm
index 0384885426..b2e16e0077 100644
--- a/gnu/packages/networking.scm
+++ b/gnu/packages/networking.scm
@@ -275,7 +275,7 @@ more.")
(define-public czmq
(package
(name "czmq")
- (version "4.1.0")
+ (version "4.1.1")
(source (origin
(method url-fetch)
(uri (string-append
@@ -284,7 +284,7 @@ more.")
"/" name "-" version ".tar.gz"))
(sha256
(base32
- "04gwf61rijwm6b2wblwv8gky1gdrbfmg1d19hf72kdc691ds7vrv"))))
+ "1h5hrcsc30fcwb032vy5gxkq4j4vv1y4dj460rfs1hhxi0cz83zh"))))
(build-system gnu-build-system)
(arguments
'(;; TODO Tests fail for some reason:
@@ -1318,6 +1318,9 @@ handling for most notations in use for IPv4 and IPv6 addresses and
networks.")
(license license:bsd-3)))
+(define-public python2-ipy
+ (package-with-python2 python-ipy))
+
(define-public speedtest-cli
(package
(name "speedtest-cli")
diff --git a/gnu/packages/node.scm b/gnu/packages/node.scm
index 976d0c048a..618dcaa92c 100644
--- a/gnu/packages/node.scm
+++ b/gnu/packages/node.scm
@@ -43,14 +43,14 @@
(define-public node
(package
(name "node")
- (version "9.8.0")
+ (version "9.10.0")
(source (origin
(method url-fetch)
(uri (string-append "http://nodejs.org/dist/v" version
"/node-v" version ".tar.gz"))
(sha256
(base32
- "1mjr1rm5w26c0yb4zq6z5yv3zbvqk18lwbswhwn1sha8hapinjp8"))
+ "0xld7jh3fx85az7s5zbbsbccnfjwp99xxfn5w0gh2zfc5dalwrg5"))
(modules '((guix build utils)))
(snippet
`(begin
diff --git a/gnu/packages/ntp.scm b/gnu/packages/ntp.scm
index 1c3b8cd313..e9ae9fa466 100644
--- a/gnu/packages/ntp.scm
+++ b/gnu/packages/ntp.scm
@@ -2,7 +2,7 @@
;;; Copyright © 2014 John Darrington <jmd@gnu.org>
;;; Copyright © 2014, 2015 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2015 Taylan Ulrich Bayırlı/Kammer <taylanbayirli@gmail.com>
-;;; Copyright © 2015 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2015, 2018 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2016, 2017, 2018 Efraim Flashner <efraim@flashner.co.il>
;;;
;;; This file is part of GNU Guix.
@@ -39,7 +39,7 @@
(define-public ntp
(package
(name "ntp")
- (version "4.2.8p10")
+ (version "4.2.8p11")
(source
(origin
(method url-fetch)
@@ -53,7 +53,7 @@
"/ntp-" version ".tar.gz")))
(sha256
(base32
- "17xrk7gxrl3hgg0i73n8qm53knyh01lf0f3l1zx9x6r1cip3dlnx"))
+ "13i7rp1va29ffjdk08fvsfl6n47zzwsp147zhgb550k8agvkjjpi"))
(modules '((guix build utils)))
(snippet
'(begin
@@ -145,7 +145,18 @@ minimalist than ntpd.")
(file-name (string-append name "-" version "-checkout"))))
(build-system gnu-build-system)
(arguments
- '(#:phases (modify-phases %standard-phases
+ `(;; Disable seccomp when it's not supported--e.g., on aarch64. See
+ ;; 'src/seccomp.c' for the list of supported systems.
+ #:configure-flags ,(if (any (lambda (system)
+ (string-contains (or
+ (%current-target-system)
+ (%current-system))
+ system))
+ '("x86_64" "i686" "arm"))
+ ''()
+ ''("--disable-seccomp-filter"))
+
+ #:phases (modify-phases %standard-phases
(add-after 'unpack 'autogen
(lambda _
;; The ancestor of 'SOURCE_DATE_EPOCH'; it contains the
diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index a831036fa3..fc162759c2 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -3494,13 +3494,13 @@ XML and Protocol Buffers formats.")
(build-system ocaml-build-system)
(native-inputs
`(("oasis" ,ocaml-oasis)
- ("clang" ,clang)
+ ("clang" ,clang-3.8)
("ounit" ,ocaml-ounit)))
(propagated-inputs
`(("core-kernel" ,ocaml-core-kernel)
("ppx-driver" ,ocaml-ppx-driver)
("uri" ,ocaml-uri)
- ("llvm" ,llvm)
+ ("llvm" ,llvm-3.8)
("gmp" ,gmp)
("clang-runtime" ,clang-runtime)
("fileutils" ,ocaml-fileutils)
@@ -3516,7 +3516,7 @@ XML and Protocol Buffers formats.")
("bitstring" ,ocaml-bitstring)
("ppx-jane" ,ocaml-ppx-jane)
("re" ,ocaml-re)))
- (inputs `(("llvm" ,llvm)))
+ (inputs `(("llvm" ,llvm-3.8)))
(arguments
`(#:use-make? #t
#:phases
@@ -3871,8 +3871,9 @@ cross-platform SDL C library.")
(version "2.6.0")
(source (origin
(method url-fetch)
- (uri (string-append "https://gforge.inria.fr/frs/download.php/file"
- "/37054/flocq-" version ".tar.gz"))
+ ;; Use the ‘Latest version’ link for a stable URI across releases.
+ (uri (string-append "https://gforge.inria.fr/frs/download.php/"
+ "latestfile/2228/flocq-" version ".tar.gz"))
(sha256
(base32
"13fv150dcwnjrk00d7zj2c5x9jwmxgrq0ay440gkr730l8mvk3l3"))))
diff --git a/gnu/packages/openstack.scm b/gnu/packages/openstack.scm
index 5875562aa1..3e9fd375c9 100644
--- a/gnu/packages/openstack.scm
+++ b/gnu/packages/openstack.scm
@@ -646,14 +646,14 @@ from the OpenStack project.")
(define-public python-oslotest
(package
(name "python-oslotest")
- (version "3.3.0")
+ (version "3.4.0")
(source
(origin
(method url-fetch)
(uri (pypi-uri "oslotest" version))
(sha256
(base32
- "006i73w8kbc9s0av2v5mbni6mnkb91c2nq17wa0lz7bwk5zss992"))))
+ "1pp8lq61d548cxcqi451czvrz5i5b3hyi2ry00wmngdgiswcqj1h"))))
(build-system python-build-system)
(propagated-inputs
`(("python-fixtures" ,python-fixtures)
diff --git a/gnu/packages/package-management.scm b/gnu/packages/package-management.scm
index 709cdfd0f7..9a5f73a1fe 100644
--- a/gnu/packages/package-management.scm
+++ b/gnu/packages/package-management.scm
@@ -92,8 +92,8 @@
;; Note: the 'update-guix-package.scm' script expects this definition to
;; start precisely like this.
(let ((version "0.14.0")
- (commit "bdf0c644dafbce2a532161f04e9bf88c9310e081")
- (revision 9))
+ (commit "486de7377f25438b0f44fd93f97e9ef822d558b8")
+ (revision 10))
(package
(name "guix")
@@ -109,7 +109,7 @@
(commit commit)))
(sha256
(base32
- "1lmkgg4c38jkd1dk9cbh3zamyrh5vml8w8445hn8wq5c3mjj2n01"))
+ "12ghbby83w335g7vbg7h52hjaal5l6mc6qmldlx8029340br8h1w"))
(file-name (string-append "guix-" version "-checkout"))))
(build-system gnu-build-system)
(arguments
@@ -257,6 +257,8 @@
;; Many tests rely on the 'guile-bootstrap' package, which is why we
;; have it here.
("boot-guile" ,(bootstrap-guile-origin (%current-system)))
+ ;; Some of the tests use "unshare" when it is available.
+ ("util-linux" ,util-linux)
,@(if (and (not (%current-target-system))
(string=? (%current-system) "x86_64-linux"))
`(("boot-guile/i686" ,(bootstrap-guile-origin "i686-linux")))
@@ -281,6 +283,33 @@ the Nix package manager.")
;; Alias for backward compatibility.
(define-public guix-devel guix)
+(define-public guix-register
+ ;; This package is for internal consumption: it allows us to quickly build
+ ;; the 'guix-register' program, which is referred to by (guix config).
+ ;; TODO: Remove this hack when 'guix-register' has been superseded by Scheme
+ ;; code.
+ (package
+ (inherit guix)
+ (properties `((hidden? . #t)))
+ (name "guix-register")
+ (arguments
+ (substitute-keyword-arguments (package-arguments guix)
+ ((#:tests? #f #f)
+ #f)
+ ((#:phases phases '%standard-phases)
+ `(modify-phases ,phases
+ (replace 'build
+ (lambda _
+ (invoke "make" "nix/libstore/schema.sql.hh")
+ (invoke "make" "-j" (number->string
+ (parallel-job-count))
+ "guix-register")))
+ (delete 'copy-bootstrap-guile)
+ (replace 'install
+ (lambda _
+ (invoke "make" "install-sbinPROGRAMS")))
+ (delete 'wrap-program)))))))
+
(define-public guile2.0-guix
(package
(inherit guix)
diff --git a/gnu/packages/parallel.scm b/gnu/packages/parallel.scm
index c110fab086..66d9e933e7 100644
--- a/gnu/packages/parallel.scm
+++ b/gnu/packages/parallel.scm
@@ -47,7 +47,7 @@
(define-public parallel
(package
(name "parallel")
- (version "20180222")
+ (version "20180322")
(source
(origin
(method url-fetch)
@@ -55,7 +55,7 @@
version ".tar.bz2"))
(sha256
(base32
- "1bwx1rcrqz04d8fajlllhrfkjqxg0mfvsd86wf6p067gmgdrf6g8"))))
+ "15v46pv4z98xm3fkwy7335faw4r7pilrxp4xis5a4zi4319sv2b3"))))
(build-system gnu-build-system)
(arguments
`(#:phases
diff --git a/gnu/packages/password-utils.scm b/gnu/packages/password-utils.scm
index 8810392530..f4518cfeb0 100644
--- a/gnu/packages/password-utils.scm
+++ b/gnu/packages/password-utils.scm
@@ -17,6 +17,7 @@
;;; Copyright © 2017 Rutger Helling <rhelling@mykolab.com>
;;; Copyright © 2018 Marius Bakke <mbakke@fastmail.com>
;;; Copyright © 2018 Konrad Hinsen <konrad.hinsen@fastmail.net>
+;;; Copyright © 2018 Thomas Sigurdsen <tonton@riseup.net>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -67,6 +68,7 @@
#:use-module (gnu packages version-control)
#:use-module (gnu packages xdisorg)
#:use-module (gnu packages xorg)
+ #:use-module (gnu packages xml)
#:use-module (guix build-system python))
(define-public pwgen
@@ -641,3 +643,50 @@ is the community-enhanced, \"jumbo\" version of John the Ripper.")
to encrypted files on a directory hierarchy. The information is protected
by GnuPG's symmetrical encryption.")
(license license:expat)))
+
+(define-public fpm2
+ (package
+ (name "fpm2")
+ (version "0.79")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "https://als.regnet.cz/fpm2/download/fpm2-"
+ version ".tar.bz2"))
+ (sha256
+ (base32
+ "19sdy1lygfhkg5nxi2w9a4d9kwvw24nxp0ix0p0lz91qpvk9qpnm"))))
+ (build-system gnu-build-system)
+ (inputs `(("gtk2" ,gtk+-2)
+ ("gnupg" ,gnupg)
+ ("libxml2" ,libxml2)))
+ (native-inputs `(("pkg-config" ,pkg-config)
+ ("intltool" ,intltool)))
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (add-before 'configure 'pre-configure
+ ;; The file po/POTFILES.in ends up missing for some reason in
+ ;; both nix and guix builds. Adding the file with contents
+ ;; found during troubleshooting.
+ (lambda _
+ (call-with-output-file "po/POTFILES.in"
+ (lambda (port)
+ (format port "data/fpm2.desktop.in
+data/fpm2.desktop.in.in
+fpm2.glade
+src/callbacks.c
+src/fpm.c
+src/fpm_file.c
+src/interface.c
+src/support.c
+fpm2.glade
+")))
+ #t)))))
+ (synopsis "Manage, generate and store passwords encrypted")
+ (description "FPM2 is GTK2 port from Figaro's Password Manager
+originally developed by John Conneely, with some new enhancements.
+
+Upstream development seems to have stopped. It is therefore recommended
+to use a different password manager.")
+ (home-page "https://als.regnet.cz/fpm2/")
+ (license license:gpl2+)))
diff --git a/gnu/packages/patches/4store-unset-preprocessor-directive.patch b/gnu/packages/patches/4store-unset-preprocessor-directive.patch
new file mode 100644
index 0000000000..c4b1d6eda4
--- /dev/null
+++ b/gnu/packages/patches/4store-unset-preprocessor-directive.patch
@@ -0,0 +1,16 @@
+This patch removes the _XOPEN_SOURCE preprocessor directive as it does not seem to be needed.
+Setting it removes the definition of strdup, which is used in filter-datatypes.c.
+
+Patch by Roel Janssen <roel@gnu.org>
+*** a/src/frontend/filter-datatypes.c 1970-01-01 01:00:00.000000000 +0100
+--- b/src/frontend/filter-datatypes.c 2018-04-03 17:39:23.177905592 +0200
+***************
+*** 18,24 ****
+ * Copyright (C) 2006 Steve Harris for Garlik
+ */
+
+- #define _XOPEN_SOURCE
+ #include <stdlib.h>
+ #include <string.h>
+ #include <math.h>
+--- 18,23 ----
diff --git a/gnu/packages/patches/clang-libc-search-path.patch b/gnu/packages/patches/clang-3.5-libc-search-path.patch
index 50e4480239..50e4480239 100644
--- a/gnu/packages/patches/clang-libc-search-path.patch
+++ b/gnu/packages/patches/clang-3.5-libc-search-path.patch
diff --git a/gnu/packages/patches/clang-6.0-libc-search-path.patch b/gnu/packages/patches/clang-6.0-libc-search-path.patch
new file mode 100644
index 0000000000..a62e8063c2
--- /dev/null
+++ b/gnu/packages/patches/clang-6.0-libc-search-path.patch
@@ -0,0 +1,67 @@
+Clang attempts to guess file names based on the OS and distro (yes!),
+but unfortunately, that doesn't work for us.
+
+This patch makes it easy to insert libc's $libdir so that Clang passes the
+correct absolute file name of crt1.o etc. to 'ld'. It also disables all
+the distro-specific stuff and removes the hard-coded FHS directory names
+to make sure Clang also works on non-GuixSD systems.
+
+--- cfe-6.0.0.src/lib/Driver/ToolChains/Linux.cpp
++++ cfe-6.0.0.src/lib/Driver/ToolChains/Linux.cpp
+@@ -207,7 +207,9 @@
+ PPaths.push_back(Twine(GCCInstallation.getParentLibPath() + "/../" +
+ GCCInstallation.getTriple().str() + "/bin")
+ .str());
+-
++ // Comment out the distro-specific tweaks so that they don't bite when
++ // using Guix on a foreign distro.
++#if 0
+ Distro Distro(D.getVFS());
+
+ if (Distro.IsAlpineLinux()) {
+@@ -255,6 +257,7 @@
+
+ if (IsAndroid || Distro.IsOpenSUSE())
+ ExtraOpts.push_back("--enable-new-dtags");
++#endif
+
+ // The selection of paths to try here is designed to match the patterns which
+ // the GCC driver itself uses, as this is part of the GCC-compatible driver.
+@@ -329,14 +332,12 @@
+ addPathIfExists(D, D.Dir + "/../" + OSLibDir, Paths);
+ }
+
+- addPathIfExists(D, SysRoot + "/lib/" + MultiarchTriple, Paths);
+- addPathIfExists(D, SysRoot + "/lib/../" + OSLibDir, Paths);
+- addPathIfExists(D, SysRoot + "/usr/lib/" + MultiarchTriple, Paths);
+- addPathIfExists(D, SysRoot + "/usr/lib/../" + OSLibDir, Paths);
+-
+ // Try walking via the GCC triple path in case of biarch or multiarch GCC
+ // installations with strange symlinks.
+ if (GCCInstallation.isValid()) {
++ // The following code would end up adding things like
++ // "/usr/lib/x86_64-unknown-linux-gnu/../../lib64" to the search path.
++#if 0
+ addPathIfExists(D,
+ SysRoot + "/usr/lib/" + GCCInstallation.getTriple().str() +
+ "/../../" + OSLibDir,
+@@ -349,6 +350,7 @@
+ BiarchSibling.gccSuffix(),
+ Paths);
+ }
++#endif
+
+ // See comments above on the multilib variant for details of why this is
+ // included even from outside the sysroot.
+@@ -373,8 +375,9 @@
+ if (StringRef(D.Dir).startswith(SysRoot))
+ addPathIfExists(D, D.Dir + "/../lib", Paths);
+
+- addPathIfExists(D, SysRoot + "/lib", Paths);
+- addPathIfExists(D, SysRoot + "/usr/lib", Paths);
++ // Add libc's lib/ directory to the search path, so that crt1.o, crti.o,
++ // and friends can be found.
++ addPathIfExists(D, "@GLIBC_LIBDIR@", Paths);
+ }
+
+ bool Linux::HasNativeLLVMSupport() const { return true; }
diff --git a/gnu/packages/patches/classpath-aarch64-support.patch b/gnu/packages/patches/classpath-aarch64-support.patch
new file mode 100644
index 0000000000..6fdac0c4fb
--- /dev/null
+++ b/gnu/packages/patches/classpath-aarch64-support.patch
@@ -0,0 +1,29 @@
+This is modeled after the ia64 support. Aarch64 can be either big endian
+or little endian, so we add the case for both.
+
+---
+ native/fdlibm/ieeefp.h | 8 ++++++++
+ 1 file changed, 8 insertions(+)
+
+diff --git a/native/fdlibm/ieeefp.h b/native/fdlibm/ieeefp.h
+index 1a9740f..73455c0 100644
+--- a/native/fdlibm/ieeefp.h
++++ b/native/fdlibm/ieeefp.h
+@@ -27,6 +27,14 @@
+ #endif
+ #endif
+
++#ifdef __aarch64__
++#ifdef __BIG_ENDIAN__
++#define __IEEE_BIG_ENDIAN
++#else
++#define __IEEE_LITTLE_ENDIAN
++#endif
++#endif
++
+ #ifdef __hppa__
+ #define __IEEE_BIG_ENDIAN
+ #endif
+--
+2.16.3
+
diff --git a/gnu/packages/patches/cool-retro-term-remove-non-free-fonts.patch b/gnu/packages/patches/cool-retro-term-remove-non-free-fonts.patch
deleted file mode 100644
index 7a033df413..0000000000
--- a/gnu/packages/patches/cool-retro-term-remove-non-free-fonts.patch
+++ /dev/null
@@ -1,205 +0,0 @@
-From 96ceffdfdcedd3ae33c46b11357aa2518e0a6152 Mon Sep 17 00:00:00 2001
-From: Petter <petter@mykolab.ch>
-Date: Thu, 27 Apr 2017 18:55:10 +0200
-Subject: [PATCH] Remove non-free fonts from settings menu
-
---- a/app/qml/ApplicationSettings.qml
-+++ b/app/qml/ApplicationSettings.qml
-@@ -409,7 +409,7 @@
- obj_string: '{"ambientLight":0.16,"backgroundColor":"#000000","bloom":0.4,"brightness":0.5,"flickering":0.1,"contrast":0.85,"fontName":"TERMINUS_SCALED","fontColor":"#0ccc68","frameName":"SIMPLE_WHITE_FRAME","glowingLine":0.2,"horizontalSync":0.16,"jitter":0.18,"burnIn":0.45,"staticNoise":0.1,"rasterization":0,"screenCurvature":0.1,"windowOpacity":1,"chromaColor":0,"saturationColor":0,"rbgShift":0,"fontWidth":1.0,"useCustomCommand":false,"customCommand":""}'
- builtin: true
- }
-- ListElement{
-+ /*ListElement{
- text: "Default Scanlines"
- obj_string: '{"ambientLight":0.16,"backgroundColor":"#000000","bloom":0.4,"brightness":0.5,"flickering":0.1,"contrast":0.85,"fontName":"COMMODORE_PET","fontColor":"#00ff5b","frameName":"SIMPLE_WHITE_FRAME","glowingLine":0.2,"horizontalSync":0.14,"jitter":0.11,"burnIn":0.4,"staticNoise":0.05,"rasterization":1,"screenCurvature":0.1,"windowOpacity":1,"chromaColor":0,"saturationColor":0,"rbgShift":0,"fontWidth":1.0,"useCustomCommand":false,"customCommand":""}'
- builtin: true
-@@ -433,7 +433,7 @@
- text: "IBM Dos"
- obj_string: '{"ambientLight":0.16,"backgroundColor":"#000000","bloom":0.4,"brightness":0.5,"flickering":0.07,"contrast":0.85,"fontName":"IBM_DOS","fontColor":"#ffffff","frameName":"SIMPLE_WHITE_FRAME","glowingLine":0.13,"horizontalSync":0,"jitter":0.16,"burnIn":0.3,"staticNoise":0.03,"rasterization":0,"screenCurvature":0.1,"windowOpacity":1,"chromaColor":1,"saturationColor":0,"rbgShift":0.35,"fontWidth":1.0,"useCustomCommand":false,"customCommand":""}'
- builtin: true
-- }
-+ }*/
- ListElement{
- text: "IBM 3278"
- obj_string: '{"ambientLight":0.1,"backgroundColor":"#000000","bloom":0.15,"brightness":0.5,"flickering":0,"contrast":0.85,"fontName":"IBM_3278","fontColor":"#0ccc68","frameName":"SIMPLE_WHITE_FRAME","glowingLine":0,"horizontalSync":0,"jitter":0,"burnIn":0.6,"staticNoise":0,"rasterization":0,"screenCurvature":0.1,"windowOpacity":1,"chromaColor":0,"saturationColor":0,"rbgShift":0,"fontWidth":1.0,"useCustomCommand":false,"customCommand":""}'
-diff --git a/app/qml/FontPixels.qml b/app/qml/FontPixels.qml
-index 6ff85da..6f0d0ba 100644
---- a/app/qml/FontPixels.qml
-+++ b/app/qml/FontPixels.qml
-@@ -32,7 +32,7 @@ QtObject{
- property bool lowResolutionFont: true
-
- property ListModel fontlist: ListModel{
-- ListElement{
-+ /*ListElement{
- name: "COMMODORE_PET"
- text: "Commodore PET (1977)"
- source: "fonts/1977-commodore-pet/COMMODORE_PET.ttf"
-@@ -40,7 +40,7 @@ QtObject{
- pixelSize: 8
- baseScaling: 4.0
- fontWidth: 0.8
-- }
-+ }*/
- ListElement{
- name: "PROGGY_TINY"
- text: "Proggy Tiny (Modern)"
-@@ -68,7 +68,7 @@ QtObject{
- baseScaling: 3.0
- fontWidth: 1.0
- }
-- ListElement{
-+ /*ListElement{
- name: "APPLE_II"
- text: "Apple ][ (1977)"
- source: "fonts/1977-apple2/PrintChar21.ttf"
-@@ -76,8 +76,8 @@ QtObject{
- pixelSize: 8
- baseScaling: 4.0
- fontWidth: 0.9
-- }
-- ListElement{
-+ }*/
-+ /*ListElement{
- name: "ATARI_400"
- text: "Atari 400-800 (1979)"
- source: "fonts/1979-atari-400-800/ATARI400800_original.TTF"
-@@ -85,8 +85,8 @@ QtObject{
- pixelSize: 8
- baseScaling: 4.0
- fontWidth: 0.8
-- }
-- ListElement{
-+ }*/
-+ /*ListElement{
- name: "COMMODORE_64"
- text: "Commodore 64 (1982)"
- source: "fonts/1982-commodore64/C64_Pro_Mono_v1.0-STYLE.ttf"
-@@ -94,6 +94,6 @@ QtObject{
- pixelSize: 8
- baseScaling: 4.0
- fontWidth: 0.8
-- }
-+ }*/
- }
- }
-diff --git a/app/qml/FontScanlines.qml b/app/qml/FontScanlines.qml
-index eebf00b..410d7b6 100644
---- a/app/qml/FontScanlines.qml
-+++ b/app/qml/FontScanlines.qml
-@@ -32,7 +32,7 @@ QtObject{
- property bool lowResolutionFont: true
-
- property ListModel fontlist: ListModel{
-- ListElement{
-+ /*ListElement{
- name: "COMMODORE_PET"
- text: "Commodore PET (1977)"
- source: "fonts/1977-commodore-pet/COMMODORE_PET.ttf"
-@@ -40,7 +40,7 @@ QtObject{
- pixelSize: 8
- baseScaling: 4.0
- fontWidth: 0.7
-- }
-+ }*/
- ListElement{
- name: "PROGGY_TINY"
- text: "Proggy Tiny (Modern)"
-@@ -68,7 +68,7 @@ QtObject{
- baseScaling: 3.0
- fontWidth: 1.0
- }
-- ListElement{
-+ /*ListElement{
- name: "APPLE_II"
- text: "Apple ][ (1977)"
- source: "fonts/1977-apple2/PrintChar21.ttf"
-@@ -76,8 +76,8 @@ QtObject{
- pixelSize: 8
- baseScaling: 4.0
- fontWidth: 0.8
-- }
-- ListElement{
-+ }*/
-+ /*ListElement{
- name: "ATARI_400"
- text: "Atari 400-800 (1979)"
- source: "fonts/1979-atari-400-800/ATARI400800_original.TTF"
-@@ -85,8 +85,8 @@ QtObject{
- pixelSize: 8
- baseScaling: 4.0
- fontWidth: 0.7
-- }
-- ListElement{
-+ }*/
-+ /*ListElement{
- name: "COMMODORE_64"
- text: "Commodore 64 (1982)"
- source: "fonts/1982-commodore64/C64_Pro_Mono_v1.0-STYLE.ttf"
-@@ -94,6 +94,6 @@ QtObject{
- pixelSize: 8
- baseScaling: 4.0
- fontWidth: 0.7
-- }
-+ }*/
- }
- }
-diff --git a/app/qml/Fonts.qml b/app/qml/Fonts.qml
-index ad20844..882808a 100644
---- a/app/qml/Fonts.qml
-+++ b/app/qml/Fonts.qml
-@@ -80,7 +80,7 @@
- fontWidth: 1.0
- lowResolutionFont: true
- }
-- ListElement{
-+ /*ListElement{
- name: "COMMODORE_PET_SCALED"
- text: "Commodore PET (1977)"
- source: "fonts/1977-commodore-pet/COMMODORE_PET.ttf"
-@@ -89,7 +89,7 @@
- baseScaling: 3.5
- fontWidth: 0.7
- lowResolutionFont: true
-- }
-+ }*/
- ListElement{
- name: "PROGGY_TINY_SCALED"
- text: "Proggy Tiny (Modern)"
-@@ -100,7 +100,7 @@
- fontWidth: 0.9
- lowResolutionFont: true
- }
-- ListElement{
-+ /*ListElement{
- name: "APPLE_II_SCALED"
- text: "Apple ][ (1977)"
- source: "fonts/1977-apple2/PrintChar21.ttf"
-@@ -149,7 +149,7 @@
- baseScaling: 2.0
- fontWidth: 1.0
- lowResolutionFont: true
-- }
-+ }*/
- ListElement{
- name: "HERMIT"
- text: "HD: Hermit (Modern)"
-@@ -177,7 +177,7 @@
- fontWidth: 1.0
- lowResolutionFont: false
- }
-- ListElement{
-+ /*ListElement{
- name: "MONACO"
- text: "HD: Monaco (Modern)"
- source: "fonts/modern-monaco/monaco.ttf"
-@@ -185,7 +185,7 @@
- pixelSize: 30
- fontWidth: 1.0
- lowResolutionFont: false
-- }
-+ }*/
- ListElement{
- name: "INCONSOLATA"
- text: "HD: Inconsolata (Modern)"
diff --git a/gnu/packages/patches/datamash-arm-tests.patch b/gnu/packages/patches/datamash-arm-tests.patch
new file mode 100644
index 0000000000..a24c5320ad
--- /dev/null
+++ b/gnu/packages/patches/datamash-arm-tests.patch
@@ -0,0 +1,71 @@
+See https://lists.gnu.org/archive/html/bug-datamash/2018-03/msg00003.html and
+https://lists.gnu.org/archive/html/bug-datamash/2018-03/txt4DmvR7p6J9.txt
+
+From d446dba317aa067440d6312d955d523129949327 Mon Sep 17 00:00:00 2001
+From: Assaf Gordon <address@hidden>
+Date: Thu, 22 Mar 2018 11:00:34 -0600
+Subject: [PATCH 1/2] tests: fix --format='%4000f' expected output
+
+Can be 1.000009... or 1.000008999, depending on representation.
+
+* tests/datamash-output-format.pl: Check only the first 5 digits.
+---
+ tests/datamash-output-format.pl | 9 +++++----
+ 1 file changed, 5 insertions(+), 4 deletions(-)
+
+diff --git a/tests/datamash-output-format.pl b/tests/datamash-output-format.pl
+index 52c68a2..ca99bb0 100755
+--- a/tests/datamash-output-format.pl
++++ b/tests/datamash-output-format.pl
+@@ -98,12 +98,13 @@ my @Tests =
+ {OUT => "0" x 3999 . "1\n"}],
+
+ # due to binary floating representation, some decimal point digits won't be
+- # zero (e.g. 1.0000090000000000000000000000000523453254320000000...).
+- # The OUT_SUBST replaces exactly 3994 digits (as expected from the format)
++ # zero (e.g. 1.0000090000000000000000000000000523453254320000000... or
++ # 1.000008999999...).
++ # The OUT_SUBST replaces exactly 3995 digits (as expected from the format)
+ # with an "X".
+ ['m2', '--format "%.4000f" sum 1', {IN_PIPE=>$in1},
+- {OUT => "1.000009X\n"},
+- {OUT_SUBST => 's/^(1\.000009)([0-9]{3994})$/\1X/'}],
++ {OUT => "1.00000X\n"},
++ {OUT_SUBST => 's/^(1\.00000)([0-9]{3995})$/\1X/'}],
+
+ );
+
+--
+2.7.4
+
+
+From f4871963974a96d6e69cb80b9c2fac7ff0c1d472 Mon Sep 17 00:00:00 2001
+From: Assaf Gordon <address@hidden>
+Date: Thu, 22 Mar 2018 11:18:13 -0600
+Subject: [PATCH 2/2] tests: disable --format="%a" test
+
+Valid output can differ (e.g. 0x8.000p-3 vs 0x1.000p+0).
+
+* tests/datamash-output-format.pl: Disable 'a1' test.
+---
+ tests/datamash-output-format.pl | 4 +++-
+ 1 file changed, 3 insertions(+), 1 deletion(-)
+
+diff --git a/tests/datamash-output-format.pl b/tests/datamash-output-format.pl
+index ca99bb0..5e90ae0 100755
+--- a/tests/datamash-output-format.pl
++++ b/tests/datamash-output-format.pl
+@@ -90,7 +90,9 @@ my @Tests =
+ ['e2', '--format "%.3e" sum 1', {IN_PIPE=>$in1}, {OUT=>"1.000e+00\n"}],
+
+ # Test Custom formats: %a
+- ['a1', '--format "%0.3a" sum 1', {IN_PIPE=>$in1}, {OUT=>"0x8.000p-3\n"}],
++ # Disable the test for now. Valid output can differ (e.g. 0x8.000p-3 and
++ # 0x1.000p0 ).
++ # ['a1', '--format "%0.3a" sum 1', {IN_PIPE=>$in1}, {OUT=>"0x8.000p-3\n"}],
+
+
+ # Custom formats can use lots of memory
+--
+2.7.4
+
diff --git a/gnu/packages/patches/delly-use-system-libraries.patch b/gnu/packages/patches/delly-use-system-libraries.patch
new file mode 100644
index 0000000000..3315c2a176
--- /dev/null
+++ b/gnu/packages/patches/delly-use-system-libraries.patch
@@ -0,0 +1,56 @@
+--- a/Makefile 2017-04-09 12:48:15.000000000 +0200
++++ b/Makefile 2017-06-21 14:26:02.749282787 +0200
+@@ -9,8 +9,8 @@
+
+ # Flags
+ CXX=g++
+-CXXFLAGS += -isystem ${SEQTK_ROOT} -isystem ${BOOST_ROOT} -pedantic -W -Wall -Wno-unknown-pragmas -D__STDC_LIMIT_MACROS -fno-strict-aliasing
+-LDFLAGS += -L${SEQTK_ROOT} -L${BOOST_ROOT}/stage/lib -lboost_iostreams -lboost_filesystem -lboost_system -lboost_program_options -lboost_date_time
++CXXFLAGS += -pedantic -W -Wall -Wno-unknown-pragmas -D__STDC_LIMIT_MACROS -fno-strict-aliasing
++LDFLAGS += -lboost_iostreams -lboost_filesystem -lboost_system -lboost_program_options -lboost_date_time
+
+ # Additional flags for release/debug
+ ifeq (${PARALLEL}, 1)
+@@ -23,7 +23,7 @@
+ ifeq (${STATIC}, 1)
+ LDFLAGS += -static -static-libgcc -pthread -lhts -lz
+ else
+- LDFLAGS += -lhts -lz -Wl,-rpath,${SEQTK_ROOT},-rpath,${BOOST_ROOT}/stage/lib
++ LDFLAGS += -lhts -lz
+ endif
+ ifeq (${DEBUG}, 1)
+ CXXFLAGS += -g -O0 -fno-inline -DDEBUG
+@@ -41,29 +41,17 @@
+ DELLYSOURCES = $(wildcard src/*.h) $(wildcard src/*.cpp)
+
+ # Targets
+-TARGETS = .htslib .bcftools .boost src/delly src/cov src/dpe
++TARGETS = src/delly src/cov src/dpe
+
+ all: $(TARGETS)
+
+-.htslib: $(HTSLIBSOURCES)
+- cd src/htslib && make && make lib-static && cd ../../ && touch .htslib
+-
+-.bcftools: $(HTSLIBSOURCES)
+- cd src/bcftools && make && cd ../../ && touch .bcftools
+-
+-.boost: $(BOOSTSOURCES)
+- cd src/modular-boost && ./bootstrap.sh --prefix=${PWD}/src/modular-boost --without-icu --with-libraries=iostreams,filesystem,system,program_options,date_time && ./b2 && ./b2 headers && cd ../../ && touch .boost
+-
+-src/delly: .htslib .bcftools .boost $(DELLYSOURCES)
+- $(CXX) $(CXXFLAGS) $@.cpp -o $@ $(LDFLAGS)
+-
+-src/cov: .htslib .bcftools .boost $(DELLYSOURCES)
++src/cov: $(DELLYSOURCES)
+ $(CXX) $(CXXFLAGS) $@.cpp -o $@ $(LDFLAGS)
+
+-src/dpe: .htslib .bcftools .boost $(DELLYSOURCES)
++src/dpe: $(DELLYSOURCES)
+ $(CXX) $(CXXFLAGS) $@.cpp -o $@ $(LDFLAGS)
+
+ clean:
+ cd src/htslib && make clean
+ cd src/modular-boost && ./b2 --clean-all
+- rm -f $(TARGETS) $(TARGETS:=.o) .htslib .boost .bcftools
++ rm -f $(TARGETS) $(TARGETS:=.o)
diff --git a/gnu/packages/patches/freeimage-unbundle.patch b/gnu/packages/patches/freeimage-unbundle.patch
new file mode 100644
index 0000000000..2727d9fbda
--- /dev/null
+++ b/gnu/packages/patches/freeimage-unbundle.patch
@@ -0,0 +1,550 @@
+https://src.fedoraproject.org/cgit/rpms/freeimage.git/tree/FreeImage-3.17.0_unbundle.patch
+
+diff -rupN FreeImage/genfipsrclist.sh FreeImage-new/genfipsrclist.sh
+--- FreeImage/genfipsrclist.sh 2015-02-20 10:52:16.000000000 +0100
++++ FreeImage-new/genfipsrclist.sh 2015-09-05 02:13:52.041353305 +0200
+@@ -1,6 +1,6 @@
+ #!/bin/sh
+
+-DIRLIST=". Source Source/Metadata Source/FreeImageToolkit Source/LibJPEG Source/LibPNG Source/LibTIFF4 Source/ZLib Source/LibOpenJPEG Source/OpenEXR Source/OpenEXR/Half Source/OpenEXR/Iex Source/OpenEXR/IlmImf Source/OpenEXR/IlmThread Source/OpenEXR/Imath Source/OpenEXR/IexMath Source/LibRawLite Source/LibRawLite/dcraw Source/LibRawLite/internal Source/LibRawLite/libraw Source/LibRawLite/src Source/LibWebP Source/LibJXR Source/LibJXR/common/include Source/LibJXR/image/sys Source/LibJXR/jxrgluelib Wrapper/FreeImagePlus"
++DIRLIST="Wrapper/FreeImagePlus"
+
+
+ echo "VER_MAJOR = 3" > fipMakefile.srcs
+@@ -19,5 +19,6 @@ echo -n "INCLUDE =" >> fipMakefile.srcs
+ for DIR in $DIRLIST; do
+ echo -n " -I$DIR" >> fipMakefile.srcs
+ done
++echo -n " -IDist" >> fipMakefile.srcs
+ echo >> fipMakefile.srcs
+
+diff -rupN FreeImage/gensrclist.sh FreeImage-new/gensrclist.sh
+--- FreeImage/gensrclist.sh 2015-02-20 10:51:50.000000000 +0100
++++ FreeImage-new/gensrclist.sh 2015-09-05 02:13:52.041353305 +0200
+@@ -1,6 +1,6 @@
+ #!/bin/sh
+
+-DIRLIST=". Source Source/Metadata Source/FreeImageToolkit Source/LibJPEG Source/LibPNG Source/LibTIFF4 Source/ZLib Source/LibOpenJPEG Source/OpenEXR Source/OpenEXR/Half Source/OpenEXR/Iex Source/OpenEXR/IlmImf Source/OpenEXR/IlmThread Source/OpenEXR/Imath Source/OpenEXR/IexMath Source/LibRawLite Source/LibRawLite/dcraw Source/LibRawLite/internal Source/LibRawLite/libraw Source/LibRawLite/src Source/LibWebP Source/LibJXR Source/LibJXR/common/include Source/LibJXR/image/sys Source/LibJXR/jxrgluelib"
++DIRLIST=". Source Source/Metadata Source/FreeImageToolkit"
+
+ echo "VER_MAJOR = 3" > Makefile.srcs
+ echo "VER_MINOR = 17.0" >> Makefile.srcs
+diff -rupN FreeImage/Makefile.fip FreeImage-new/Makefile.fip
+--- FreeImage/Makefile.fip 2015-03-08 18:03:56.000000000 +0100
++++ FreeImage-new/Makefile.fip 2015-09-05 02:14:09.212684028 +0200
+@@ -17,20 +17,22 @@ MODULES = $(SRCS:.c=.o)
+ MODULES := $(MODULES:.cpp=.o)
+ CFLAGS ?= -O3 -fPIC -fexceptions -fvisibility=hidden
+ # OpenJPEG
+-CFLAGS += -DOPJ_STATIC
++override CFLAGS += -DOPJ_STATIC
+ # LibRaw
+-CFLAGS += -DNO_LCMS
++override CFLAGS += -DNO_LCMS
+ # LibJXR
+-CFLAGS += -DDISABLE_PERF_MEASUREMENT -D__ANSI__
+-CFLAGS += $(INCLUDE)
++override CFLAGS += -DDISABLE_PERF_MEASUREMENT -D__ANSI__
++override CFLAGS += $(INCLUDE)
+ CXXFLAGS ?= -O3 -fPIC -fexceptions -fvisibility=hidden -Wno-ctor-dtor-privacy
+ # LibJXR
+-CXXFLAGS += -D__ANSI__
+-CXXFLAGS += $(INCLUDE)
++override CXXFLAGS += -D__ANSI__
++override CXXFLAGS += $(INCLUDE)
++LDFLAGS ?=
++override LDFLAGS += -LDist -lfreeimage-$(VER_MAJOR).$(VER_MINOR)
+
+ ifeq ($(shell sh -c 'uname -m 2>/dev/null || echo not'),x86_64)
+- CFLAGS += -fPIC
+- CXXFLAGS += -fPIC
++ override CFLAGS += -fPIC
++ override CXXFLAGS += -fPIC
+ endif
+
+ TARGET = freeimageplus
+@@ -68,7 +70,7 @@ $(STATICLIB): $(MODULES)
+ $(AR) r $@ $(MODULES)
+
+ $(SHAREDLIB): $(MODULES)
+- $(CC) -s -shared -Wl,-soname,$(VERLIBNAME) $(LDFLAGS) -o $@ $(MODULES) $(LIBRARIES)
++ $(CC) -shared -Wl,-soname,$(VERLIBNAME) $(LDFLAGS) -o $@ $(MODULES) $(LIBRARIES)
+
+ install:
+ install -d $(INCDIR) $(INSTALLDIR)
+diff -rupN FreeImage/Makefile.gnu FreeImage-new/Makefile.gnu
+--- FreeImage/Makefile.gnu 2015-03-08 18:04:00.000000000 +0100
++++ FreeImage-new/Makefile.gnu 2015-09-05 02:14:04.810599259 +0200
+@@ -16,21 +16,11 @@ LIBRARIES = -lstdc++
+ MODULES = $(SRCS:.c=.o)
+ MODULES := $(MODULES:.cpp=.o)
+ CFLAGS ?= -O3 -fPIC -fexceptions -fvisibility=hidden
+-# OpenJPEG
+-CFLAGS += -DOPJ_STATIC
+-# LibRaw
+-CFLAGS += -DNO_LCMS
+-# LibJXR
+-CFLAGS += -DDISABLE_PERF_MEASUREMENT -D__ANSI__
+-CFLAGS += $(INCLUDE)
+-CXXFLAGS ?= -O3 -fPIC -fexceptions -fvisibility=hidden -Wno-ctor-dtor-privacy
+-# LibJXR
+-CXXFLAGS += -D__ANSI__
+-CXXFLAGS += $(INCLUDE)
++override CFLAGS += $(INCLUDE) -D__ANSI__ -I/usr/include/jxrlib $(shell pkg-config --cflags OpenEXR libopenjp2 libraw libpng libtiff-4 libwebp libwebpmux zlib)
++override LDFLAGS += -ljpeg -ljpegxr -ljxrglue $(shell pkg-config --libs OpenEXR libopenjp2 libraw libpng libtiff-4 libwebp libwebpmux zlib)
+
+ ifeq ($(shell sh -c 'uname -m 2>/dev/null || echo not'),x86_64)
+- CFLAGS += -fPIC
+- CXXFLAGS += -fPIC
++ override CFLAGS += -fPIC
+ endif
+
+ TARGET = freeimage
+@@ -61,13 +51,13 @@ FreeImage: $(STATICLIB) $(SHAREDLIB)
+ $(CC) $(CFLAGS) -c $< -o $@
+
+ .cpp.o:
+- $(CXX) $(CXXFLAGS) -c $< -o $@
++ $(CXX) $(CFLAGS) -c $< -o $@
+
+ $(STATICLIB): $(MODULES)
+ $(AR) r $@ $(MODULES)
+
+ $(SHAREDLIB): $(MODULES)
+- $(CC) -s -shared -Wl,-soname,$(VERLIBNAME) $(LDFLAGS) -o $@ $(MODULES) $(LIBRARIES)
++ $(CC) -shared -Wl,-soname,$(VERLIBNAME) $(LDFLAGS) -o $@ $(MODULES) $(LIBRARIES)
+
+ install:
+ install -d $(INCDIR) $(INSTALLDIR)
+diff -rupN FreeImage/Source/FreeImage/J2KHelper.cpp FreeImage-new/Source/FreeImage/J2KHelper.cpp
+--- FreeImage/Source/FreeImage/J2KHelper.cpp 2015-03-02 02:07:08.000000000 +0100
++++ FreeImage-new/Source/FreeImage/J2KHelper.cpp 2015-09-05 02:13:52.042353324 +0200
+@@ -21,7 +21,7 @@
+
+ #include "FreeImage.h"
+ #include "Utilities.h"
+-#include "../LibOpenJPEG/openjpeg.h"
++#include <openjpeg.h>
+ #include "J2KHelper.h"
+
+ // --------------------------------------------------------------------------
+diff -rupN FreeImage/Source/FreeImage/Plugin.cpp FreeImage-new/Source/FreeImage/Plugin.cpp
+--- FreeImage/Source/FreeImage/Plugin.cpp 2015-03-02 02:07:08.000000000 +0100
++++ FreeImage-new/Source/FreeImage/Plugin.cpp 2015-09-05 02:13:52.042353324 +0200
+@@ -263,7 +263,12 @@ FreeImage_Initialise(BOOL load_local_plu
+ s_plugins->AddNode(InitDDS);
+ s_plugins->AddNode(InitGIF);
+ s_plugins->AddNode(InitHDR);
+- s_plugins->AddNode(InitG3);
++/* The G3 fax format plugin is deliberately disabled in the Fedora build of
++ FreeImage as it requires that FreeImage uses a private copy of libtiff
++ which is a no no because of security reasons. */
++#if 0
++ s_plugins->AddNode(InitG3);
++#endif
+ s_plugins->AddNode(InitSGI);
+ s_plugins->AddNode(InitEXR);
+ s_plugins->AddNode(InitJ2K);
+diff -rupN FreeImage/Source/FreeImage/PluginEXR.cpp FreeImage-new/Source/FreeImage/PluginEXR.cpp
+--- FreeImage/Source/FreeImage/PluginEXR.cpp 2015-03-02 02:07:08.000000000 +0100
++++ FreeImage-new/Source/FreeImage/PluginEXR.cpp 2015-09-05 02:13:52.042353324 +0200
+@@ -28,16 +28,16 @@
+ #pragma warning (disable : 4800) // ImfVersion.h - 'const int' : forcing value to bool 'true' or 'false' (performance warning)
+ #endif
+
+-#include "../OpenEXR/IlmImf/ImfIO.h"
+-#include "../OpenEXR/Iex/Iex.h"
+-#include "../OpenEXR/IlmImf/ImfOutputFile.h"
+-#include "../OpenEXR/IlmImf/ImfInputFile.h"
+-#include "../OpenEXR/IlmImf/ImfRgbaFile.h"
+-#include "../OpenEXR/IlmImf/ImfChannelList.h"
+-#include "../OpenEXR/IlmImf/ImfRgba.h"
+-#include "../OpenEXR/IlmImf/ImfArray.h"
+-#include "../OpenEXR/IlmImf/ImfPreviewImage.h"
+-#include "../OpenEXR/Half/half.h"
++#include <OpenEXR/ImfIO.h>
++#include <OpenEXR/Iex.h>
++#include <OpenEXR/ImfOutputFile.h>
++#include <OpenEXR/ImfInputFile.h>
++#include <OpenEXR/ImfRgbaFile.h>
++#include <OpenEXR/ImfChannelList.h>
++#include <OpenEXR/ImfRgba.h>
++#include <OpenEXR/ImfArray.h>
++#include <OpenEXR/ImfPreviewImage.h>
++#include <OpenEXR/half.h>
+
+
+ // ==========================================================
+diff -rupN FreeImage/Source/FreeImage/PluginJ2K.cpp FreeImage-new/Source/FreeImage/PluginJ2K.cpp
+--- FreeImage/Source/FreeImage/PluginJ2K.cpp 2015-03-02 02:07:08.000000000 +0100
++++ FreeImage-new/Source/FreeImage/PluginJ2K.cpp 2015-09-05 02:13:52.043353343 +0200
+@@ -21,7 +21,7 @@
+
+ #include "FreeImage.h"
+ #include "Utilities.h"
+-#include "../LibOpenJPEG/openjpeg.h"
++#include <openjpeg.h>
+ #include "J2KHelper.h"
+
+ // ==========================================================
+diff -rupN FreeImage/Source/FreeImage/PluginJP2.cpp FreeImage-new/Source/FreeImage/PluginJP2.cpp
+--- FreeImage/Source/FreeImage/PluginJP2.cpp 2015-03-02 02:07:08.000000000 +0100
++++ FreeImage-new/Source/FreeImage/PluginJP2.cpp 2015-09-05 02:13:52.043353343 +0200
+@@ -21,7 +21,7 @@
+
+ #include "FreeImage.h"
+ #include "Utilities.h"
+-#include "../LibOpenJPEG/openjpeg.h"
++#include <openjpeg.h>
+ #include "J2KHelper.h"
+
+ // ==========================================================
+diff -rupN FreeImage/Source/FreeImage/PluginJPEG.cpp FreeImage-new/Source/FreeImage/PluginJPEG.cpp
+--- FreeImage/Source/FreeImage/PluginJPEG.cpp 2015-03-02 02:07:08.000000000 +0100
++++ FreeImage-new/Source/FreeImage/PluginJPEG.cpp 2015-09-05 02:13:52.043353343 +0200
+@@ -35,9 +35,9 @@ extern "C" {
+ #undef FAR
+ #include <setjmp.h>
+
+-#include "../LibJPEG/jinclude.h"
+-#include "../LibJPEG/jpeglib.h"
+-#include "../LibJPEG/jerror.h"
++#include <stdio.h>
++#include <jpeglib.h>
++#include <jerror.h>
+ }
+
+ #include "FreeImage.h"
+diff -rupN FreeImage/Source/FreeImage/PluginJXR.cpp FreeImage-new/Source/FreeImage/PluginJXR.cpp
+--- FreeImage/Source/FreeImage/PluginJXR.cpp 2015-03-02 02:07:08.000000000 +0100
++++ FreeImage-new/Source/FreeImage/PluginJXR.cpp 2015-09-05 02:13:52.043353343 +0200
+@@ -23,7 +23,7 @@
+ #include "Utilities.h"
+ #include "../Metadata/FreeImageTag.h"
+
+-#include "../LibJXR/jxrgluelib/JXRGlue.h"
++#include <JXRGlue.h>
+
+ // ==========================================================
+ // Plugin Interface
+diff -rupN FreeImage/Source/FreeImage/PluginPNG.cpp FreeImage-new/Source/FreeImage/PluginPNG.cpp
+--- FreeImage/Source/FreeImage/PluginPNG.cpp 2015-03-10 20:16:12.000000000 +0100
++++ FreeImage-new/Source/FreeImage/PluginPNG.cpp 2015-09-05 02:13:52.044353363 +0200
+@@ -40,8 +40,8 @@
+
+ // ----------------------------------------------------------
+
+-#include "../ZLib/zlib.h"
+-#include "../LibPNG/png.h"
++#include <zlib.h>
++#include <png.h>
+
+ // ----------------------------------------------------------
+
+diff -rupN FreeImage/Source/FreeImage/PluginRAW.cpp FreeImage-new/Source/FreeImage/PluginRAW.cpp
+--- FreeImage/Source/FreeImage/PluginRAW.cpp 2015-03-08 20:12:04.000000000 +0100
++++ FreeImage-new/Source/FreeImage/PluginRAW.cpp 2015-09-05 02:13:52.044353363 +0200
+@@ -19,7 +19,7 @@
+ // Use at your own risk!
+ // ==========================================================
+
+-#include "../LibRawLite/libraw/libraw.h"
++#include <libraw/libraw.h>
+
+ #include "FreeImage.h"
+ #include "Utilities.h"
+diff -rupN FreeImage/Source/FreeImage/PluginTIFF.cpp FreeImage-new/Source/FreeImage/PluginTIFF.cpp
+--- FreeImage/Source/FreeImage/PluginTIFF.cpp 2015-03-02 02:07:08.000000000 +0100
++++ FreeImage-new/Source/FreeImage/PluginTIFF.cpp 2015-09-05 02:13:52.044353363 +0200
+@@ -37,9 +37,9 @@
+
+ #include "FreeImage.h"
+ #include "Utilities.h"
+-#include "../LibTIFF4/tiffiop.h"
++#include <tiffio.h>
+ #include "../Metadata/FreeImageTag.h"
+-#include "../OpenEXR/Half/half.h"
++#include <OpenEXR/half.h>
+
+ #include "FreeImageIO.h"
+ #include "PSDParser.h"
+@@ -194,16 +194,6 @@ TIFFFdOpen(thandle_t handle, const char
+ return tif;
+ }
+
+-/**
+-Open a TIFF file for reading or writing
+-@param name
+-@param mode
+-*/
+-TIFF*
+-TIFFOpen(const char* name, const char* mode) {
+- return 0;
+-}
+-
+ // ----------------------------------------------------------
+ // TIFF library FreeImage-specific routines.
+ // ----------------------------------------------------------
+diff -rupN FreeImage/Source/FreeImage/PluginWebP.cpp FreeImage-new/Source/FreeImage/PluginWebP.cpp
+--- FreeImage/Source/FreeImage/PluginWebP.cpp 2015-03-02 02:07:08.000000000 +0100
++++ FreeImage-new/Source/FreeImage/PluginWebP.cpp 2015-09-05 02:13:52.044353363 +0200
+@@ -24,10 +24,10 @@
+
+ #include "../Metadata/FreeImageTag.h"
+
+-#include "../LibWebP/src/webp/decode.h"
+-#include "../LibWebP/src/webp/encode.h"
+-#include "../LibWebP/src/enc/vp8enci.h"
+-#include "../LibWebP/src/webp/mux.h"
++#include <webp/decode.h>
++#include <webp/encode.h>
++// #include "../LibWebP/src/enc/vp8enci.h"
++#include <webp/mux.h>
+
+ // ==========================================================
+ // Plugin Interface
+diff -rupN FreeImage/Source/FreeImage/ZLibInterface.cpp FreeImage-new/Source/FreeImage/ZLibInterface.cpp
+--- FreeImage/Source/FreeImage/ZLibInterface.cpp 2015-03-02 02:07:10.000000000 +0100
++++ FreeImage-new/Source/FreeImage/ZLibInterface.cpp 2015-09-05 02:13:52.044353363 +0200
+@@ -19,10 +19,9 @@
+ // Use at your own risk!
+ // ==========================================================
+
+-#include "../ZLib/zlib.h"
++#include <zlib.h>
+ #include "FreeImage.h"
+ #include "Utilities.h"
+-#include "../ZLib/zutil.h" /* must be the last header because of error C3163 in VS2008 (_vsnprintf defined in stdio.h) */
+
+ /**
+ Compresses a source buffer into a target buffer, using the ZLib library.
+@@ -115,7 +114,7 @@ FreeImage_ZLibGZip(BYTE *target, DWORD t
+ return 0;
+ case Z_OK: {
+ // patch header, setup crc and length (stolen from mod_trace_output)
+- BYTE *p = target + 8; *p++ = 2; *p = OS_CODE; // xflags, os_code
++ BYTE *p = target + 8; *p++ = 2; *p = 0x03; // xflags, os_code (unix)
+ crc = crc32(crc, source, source_size);
+ memcpy(target + 4 + dest_len, &crc, 4);
+ memcpy(target + 8 + dest_len, &source_size, 4);
+diff -rupN FreeImage/Source/FreeImage.h FreeImage-new/Source/FreeImage.h
+--- FreeImage/Source/FreeImage.h 2015-03-04 02:17:54.000000000 +0100
++++ FreeImage-new/Source/FreeImage.h 2015-09-05 02:13:52.045353382 +0200
+@@ -155,8 +155,11 @@ typedef uint8_t BYTE;
+ typedef uint16_t WORD;
+ typedef uint32_t DWORD;
+ typedef int32_t LONG;
++// Disable these, they conflict with the (wrong) ones of libraw
++#if 0
+ typedef int64_t INT64;
+ typedef uint64_t UINT64;
++#endif
+ #else
+ // MS is not C99 ISO compliant
+ typedef long BOOL;
+@@ -410,7 +413,12 @@ FI_ENUM(FREE_IMAGE_FORMAT) {
+ FIF_DDS = 24,
+ FIF_GIF = 25,
+ FIF_HDR = 26,
+- FIF_FAXG3 = 27,
++/* The G3 fax format plugin is deliberately disabled in the Fedora build of
++ FreeImage as it requires that FreeImage uses a private copy of libtiff
++ which is a no no because of security reasons. */
++#if 0
++ FIF_FAXG3 = 27,
++#endif
+ FIF_SGI = 28,
+ FIF_EXR = 29,
+ FIF_J2K = 30,
+@@ -473,6 +481,10 @@ FI_ENUM(FREE_IMAGE_DITHER) {
+ FID_BAYER16x16 = 6 //! Bayer ordered dispersed dot dithering (order 4 dithering matrix)
+ };
+
++/* The FreeImage_JPEGTransform functions are deliberately disabled in the
++ Fedora build of FreeImage as they require that FreeImage uses a private copy
++ of libjpeg which is a no no because of security reasons. */
++#if 0
+ /** Lossless JPEG transformations
+ Constants used in FreeImage_JPEGTransform
+ */
+@@ -486,6 +498,7 @@ FI_ENUM(FREE_IMAGE_JPEG_OPERATION) {
+ FIJPEG_OP_ROTATE_180 = 6, //! 180-degree rotation
+ FIJPEG_OP_ROTATE_270 = 7 //! 270-degree clockwise (or 90 ccw)
+ };
++#endif
+
+ /** Tone mapping operators.
+ Constants used in FreeImage_ToneMapping.
+@@ -1076,7 +1089,10 @@ DLL_API const char* DLL_CALLCONV FreeIma
+ // --------------------------------------------------------------------------
+ // JPEG lossless transformation routines
+ // --------------------------------------------------------------------------
+-
++/* The FreeImage_JPEGTransform functions are deliberately disabled in the
+++ Fedora build of FreeImage as they require that FreeImage uses a private copy
+++ of libjpeg which is a no no because of security reasons. */
++#if 0
+ DLL_API BOOL DLL_CALLCONV FreeImage_JPEGTransform(const char *src_file, const char *dst_file, FREE_IMAGE_JPEG_OPERATION operation, BOOL perfect FI_DEFAULT(TRUE));
+ DLL_API BOOL DLL_CALLCONV FreeImage_JPEGTransformU(const wchar_t *src_file, const wchar_t *dst_file, FREE_IMAGE_JPEG_OPERATION operation, BOOL perfect FI_DEFAULT(TRUE));
+ DLL_API BOOL DLL_CALLCONV FreeImage_JPEGCrop(const char *src_file, const char *dst_file, int left, int top, int right, int bottom);
+@@ -1085,6 +1101,7 @@ DLL_API BOOL DLL_CALLCONV FreeImage_JPEG
+ DLL_API BOOL DLL_CALLCONV FreeImage_JPEGTransformCombined(const char *src_file, const char *dst_file, FREE_IMAGE_JPEG_OPERATION operation, int* left, int* top, int* right, int* bottom, BOOL perfect FI_DEFAULT(TRUE));
+ DLL_API BOOL DLL_CALLCONV FreeImage_JPEGTransformCombinedU(const wchar_t *src_file, const wchar_t *dst_file, FREE_IMAGE_JPEG_OPERATION operation, int* left, int* top, int* right, int* bottom, BOOL perfect FI_DEFAULT(TRUE));
+ DLL_API BOOL DLL_CALLCONV FreeImage_JPEGTransformCombinedFromMemory(FIMEMORY* src_stream, FIMEMORY* dst_stream, FREE_IMAGE_JPEG_OPERATION operation, int* left, int* top, int* right, int* bottom, BOOL perfect FI_DEFAULT(TRUE));
++#endif
+
+
+ // --------------------------------------------------------------------------
+diff -rupN FreeImage/Source/FreeImageToolkit/JPEGTransform.cpp FreeImage-new/Source/FreeImageToolkit/JPEGTransform.cpp
+--- FreeImage/Source/FreeImageToolkit/JPEGTransform.cpp 2015-03-02 02:07:10.000000000 +0100
++++ FreeImage-new/Source/FreeImageToolkit/JPEGTransform.cpp 2015-09-05 02:13:52.045353382 +0200
+@@ -26,10 +26,10 @@ extern "C" {
+ #undef FAR
+ #include <setjmp.h>
+
+-#include "../LibJPEG/jinclude.h"
+-#include "../LibJPEG/jpeglib.h"
+-#include "../LibJPEG/jerror.h"
+-#include "../LibJPEG/transupp.h"
++#include <jinclude.h>
++#include <jpeglib.h>
++#include <jerror.h>
++#include <transupp.h>
+ }
+
+ #include "FreeImage.h"
+diff -rupN FreeImage/Source/Metadata/TagConversion.cpp FreeImage-new/Source/Metadata/TagConversion.cpp
+--- FreeImage/Source/Metadata/TagConversion.cpp 2015-03-02 02:07:10.000000000 +0100
++++ FreeImage-new/Source/Metadata/TagConversion.cpp 2015-09-05 02:13:52.045353382 +0200
+@@ -30,6 +30,11 @@
+
+ #define MAX_TEXT_EXTENT 512
+
++// These were in FreeImage.h, but are moved here to avoid conflicts (see note in FreeImage.h)
++typedef int64_t INT64;
++typedef uint64_t UINT64;
++
++
+ /**
+ Convert a tag to a C string
+ */
+diff -rupN FreeImage/Source/Metadata/XTIFF.cpp FreeImage-new/Source/Metadata/XTIFF.cpp
+--- FreeImage/Source/Metadata/XTIFF.cpp 2015-03-02 02:07:10.000000000 +0100
++++ FreeImage-new/Source/Metadata/XTIFF.cpp 2015-09-05 02:13:52.045353382 +0200
+@@ -29,13 +29,18 @@
+ #pragma warning (disable : 4786) // identifier was truncated to 'number' characters
+ #endif
+
+-#include "../LibTIFF4/tiffiop.h"
++#include <tiffio.h>
+
+ #include "FreeImage.h"
+ #include "Utilities.h"
+ #include "FreeImageTag.h"
+ #include "FIRational.h"
+
++extern "C"
++{
++ int _TIFFDataSize(TIFFDataType type);
++}
++
+ // ----------------------------------------------------------
+ // Extended TIFF Directory GEO Tag Support
+ // ----------------------------------------------------------
+@@ -224,6 +229,33 @@ tiff_write_geotiff_profile(TIFF *tif, FI
+ // TIFF EXIF tag reading & writing
+ // ----------------------------------------------------------
+
++static uint32 exif_tag_ids[] = {
++ EXIFTAG_EXPOSURETIME, EXIFTAG_FNUMBER, EXIFTAG_EXPOSUREPROGRAM,
++ EXIFTAG_SPECTRALSENSITIVITY, EXIFTAG_ISOSPEEDRATINGS, EXIFTAG_OECF,
++ EXIFTAG_EXIFVERSION, EXIFTAG_DATETIMEORIGINAL, EXIFTAG_DATETIMEDIGITIZED,
++ EXIFTAG_COMPONENTSCONFIGURATION, EXIFTAG_COMPRESSEDBITSPERPIXEL,
++ EXIFTAG_SHUTTERSPEEDVALUE, EXIFTAG_APERTUREVALUE,
++ EXIFTAG_BRIGHTNESSVALUE, EXIFTAG_EXPOSUREBIASVALUE,
++ EXIFTAG_MAXAPERTUREVALUE, EXIFTAG_SUBJECTDISTANCE, EXIFTAG_METERINGMODE,
++ EXIFTAG_LIGHTSOURCE, EXIFTAG_FLASH, EXIFTAG_FOCALLENGTH,
++ EXIFTAG_SUBJECTAREA, EXIFTAG_MAKERNOTE, EXIFTAG_USERCOMMENT,
++ EXIFTAG_SUBSECTIME, EXIFTAG_SUBSECTIMEORIGINAL,
++ EXIFTAG_SUBSECTIMEDIGITIZED, EXIFTAG_FLASHPIXVERSION, EXIFTAG_COLORSPACE,
++ EXIFTAG_PIXELXDIMENSION, EXIFTAG_PIXELYDIMENSION,
++ EXIFTAG_RELATEDSOUNDFILE, EXIFTAG_FLASHENERGY,
++ EXIFTAG_SPATIALFREQUENCYRESPONSE, EXIFTAG_FOCALPLANEXRESOLUTION,
++ EXIFTAG_FOCALPLANEYRESOLUTION, EXIFTAG_FOCALPLANERESOLUTIONUNIT,
++ EXIFTAG_SUBJECTLOCATION, EXIFTAG_EXPOSUREINDEX, EXIFTAG_SENSINGMETHOD,
++ EXIFTAG_FILESOURCE, EXIFTAG_SCENETYPE, EXIFTAG_CFAPATTERN,
++ EXIFTAG_CUSTOMRENDERED, EXIFTAG_EXPOSUREMODE, EXIFTAG_WHITEBALANCE,
++ EXIFTAG_DIGITALZOOMRATIO, EXIFTAG_FOCALLENGTHIN35MMFILM,
++ EXIFTAG_SCENECAPTURETYPE, EXIFTAG_GAINCONTROL, EXIFTAG_CONTRAST,
++ EXIFTAG_SATURATION, EXIFTAG_SHARPNESS, EXIFTAG_DEVICESETTINGDESCRIPTION,
++ EXIFTAG_SUBJECTDISTANCERANGE, EXIFTAG_GAINCONTROL, EXIFTAG_GAINCONTROL,
++ EXIFTAG_IMAGEUNIQUEID
++};
++static int nExifTags = sizeof(exif_tag_ids) / sizeof(exif_tag_ids[0]);
++
+ /**
+ Read a single Exif tag
+
+@@ -575,45 +607,11 @@ tiff_read_exif_tags(TIFF *tif, TagLib::M
+
+ // loop over all Core Directory Tags
+ // ### uses private data, but there is no other way
++ // -> Fedora: Best we can do without private headers is to hard-code a list of known EXIF tags and read those
+ if(md_model == TagLib::EXIF_MAIN) {
+- const TIFFDirectory *td = &tif->tif_dir;
+-
+- uint32 lastTag = 0; //<- used to prevent reading some tags twice (as stored in tif_fieldinfo)
+-
+- for (int fi = 0, nfi = (int)tif->tif_nfields; nfi > 0; nfi--, fi++) {
+- const TIFFField *fld = tif->tif_fields[fi];
+-
+- const uint32 tag_id = TIFFFieldTag(fld);
+-
+- if(tag_id == lastTag) {
+- continue;
+- }
+-
+- // test if tag value is set
+- // (lifted directly from LibTiff _TIFFWriteDirectory)
+-
+- if( fld->field_bit == FIELD_CUSTOM ) {
+- int is_set = FALSE;
+-
+- for(int ci = 0; ci < td->td_customValueCount; ci++ ) {
+- is_set |= (td->td_customValues[ci].info == fld);
+- }
+-
+- if( !is_set ) {
+- continue;
+- }
+-
+- } else if(!TIFFFieldSet(tif, fld->field_bit)) {
+- continue;
+- }
+-
+- // process *all* other tags (some will be ignored)
+-
+- tiff_read_exif_tag(tif, tag_id, dib, md_model);
+-
+- lastTag = tag_id;
++ for (int i = 0; i < nExifTags; ++i) {
++ tiff_read_exif_tag(tif, exif_tag_ids[i], dib, md_model);
+ }
+-
+ }
+
+ return TRUE;
+@@ -723,10 +721,9 @@ tiff_write_exif_tags(TIFF *tif, TagLib::
+
+ TagLib& tag_lib = TagLib::instance();
+
+- for (int fi = 0, nfi = (int)tif->tif_nfields; nfi > 0; nfi--, fi++) {
+- const TIFFField *fld = tif->tif_fields[fi];
+-
+- const uint32 tag_id = TIFFFieldTag(fld);
++ for (int fi = 0; fi < nExifTags; fi++) {
++ const uint32 tag_id = exif_tag_ids[fi];
++ const TIFFField *fld = TIFFFieldWithTag(tif, tag_id);
+
+ if(skip_write_field(tif, tag_id)) {
+ // skip tags that are already handled by the LibTIFF writing process
diff --git a/gnu/packages/patches/htop-fix-process-tree.patch b/gnu/packages/patches/htop-fix-process-tree.patch
deleted file mode 100644
index d8e5e2ccac..0000000000
--- a/gnu/packages/patches/htop-fix-process-tree.patch
+++ /dev/null
@@ -1,99 +0,0 @@
-From 2971a187551e062ffefdab965f55377b36cd94eb Mon Sep 17 00:00:00 2001
-From: Tobias Geerinckx-Rice <me@tobias.gr>
-Date: Wed, 21 Feb 2018 06:00:50 +0100
-Subject: [PATCH] Fix process tree
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-This manually reverts:
-
- commit 584a9bceab948590dabd189d234a86e6bf4ec3f4
- Author: wangqr <wangqr@wangqr.tk>
- Date: Fri Sep 1 21:27:24 2017 +0800
-
- Find roots when constructing process tree, fix #587
-
-which breaks the process tree (‘t’) view in at least some cases.
-I will investigate further...
----
- ProcessList.c | 63 +++++++++++++++++------------------------------------------
- 1 file changed, 18 insertions(+), 45 deletions(-)
-
-diff --git a/ProcessList.c b/ProcessList.c
-index 48b2d95..225253d 100644
---- a/ProcessList.c
-+++ b/ProcessList.c
-@@ -213,51 +213,24 @@ void ProcessList_sort(ProcessList* this) {
- // Restore settings
- this->settings->sortKey = sortKey;
- this->settings->direction = direction;
-- int vsize = Vector_size(this->processes);
-- // Find all processes whose parent is not visible
-- int size;
-- while ((size = Vector_size(this->processes))) {
-- int i;
-- for (i = 0; i < size; i++) {
-- Process* process = (Process*)(Vector_get(this->processes, i));
-- // Immediately consume not shown processes
-- if (!process->show) {
-- process = (Process*)(Vector_take(this->processes, i));
-- process->indent = 0;
-- Vector_add(this->processes2, process);
-- ProcessList_buildTree(this, process->pid, 0, 0, direction, false);
-- break;
-- }
-- pid_t ppid = process->tgid == process->pid ? process->ppid : process->tgid;
-- // Bisect the process vector to find parent
-- int l = 0, r = size;
-- // If PID corresponds with PPID (e.g. "kernel_task" (PID:0, PPID:0)
-- // on Mac OS X 10.11.6) cancel bisecting and regard this process as
-- // root.
-- if (process->pid == ppid)
-- r = 0;
-- while (l < r) {
-- int c = (l + r) / 2;
-- pid_t pid = ((Process*)(Vector_get(this->processes, c)))->pid;
-- if (ppid == pid) {
-- break;
-- } else if (ppid < pid) {
-- r = c;
-- } else {
-- l = c + 1;
-- }
-- }
-- // If parent not found, then construct the tree with this root
-- if (l >= r) {
-- process = (Process*)(Vector_take(this->processes, i));
-- process->indent = 0;
-- Vector_add(this->processes2, process);
-- ProcessList_buildTree(this, process->pid, 0, 0, direction, process->showChildren);
-- break;
-- }
-- }
-- // There should be no loop in the process tree
-- assert(i < size);
-+
-+ // Take PID 1 as root and add to the new listing
-+ int vsize = Vector_size(this->processes);
-+ Process* init = (Process*) (Vector_take(this->processes, 0));
-+ if (!init) return;
-+ // This assertion crashes on hardened kernels.
-+ // I wonder how well tree view works on those systems.
-+ // assert(init->pid == 1);
-+ init->indent = 0;
-+ Vector_add(this->processes2, init);
-+ // Recursively empty list
-+ ProcessList_buildTree(this, init->pid, 0, 0, direction, true);
-+ // Add leftovers
-+ while (Vector_size(this->processes)) {
-+ Process* p = (Process*) (Vector_take(this->processes, 0));
-+ p->indent = 0;
-+ Vector_add(this->processes2, p);
-+ ProcessList_buildTree(this, p->pid, 0, 0, direction, p->showChildren);
- }
- assert(Vector_size(this->processes2) == vsize); (void)vsize;
- assert(Vector_size(this->processes) == 0);
---
-2.16.2
-
diff --git a/gnu/packages/patches/hwloc-tests-without-sysfs.patch b/gnu/packages/patches/hwloc-tests-without-sysfs.patch
deleted file mode 100644
index ea6ec41616..0000000000
--- a/gnu/packages/patches/hwloc-tests-without-sysfs.patch
+++ /dev/null
@@ -1,42 +0,0 @@
-Fix a test failure in the build environment, where /sys is missing.
-From <https://github.com/bgoglin/hwloc/commit/a2cc4f2e2bf4a8bbdd61b578a62e27e7482799cf.patch>.
-
-From a2cc4f2e2bf4a8bbdd61b578a62e27e7482799cf Mon Sep 17 00:00:00 2001
-From: Brice Goglin <Brice.Goglin@inria.fr>
-Date: Tue, 6 Feb 2018 17:13:26 +0100
-Subject: [PATCH] linux: honor the filtering cores and packages when reading
- topology from cpuinfo
-
-Caused a make check crash in lstopo --filter all:none in chroot without sysfs.
-
-Thanks to Ludovic Courtes for the report.
-
-Signed-off-by: Brice Goglin <Brice.Goglin@inria.fr>
----
- hwloc/topology-linux.c | 6 ++++--
- 1 file changed, 4 insertions(+), 2 deletions(-)
-
-diff --git a/hwloc/topology-linux.c b/hwloc/topology-linux.c
-index 290da0d72..e1bbf94e1 100644
---- a/hwloc/topology-linux.c
-+++ b/hwloc/topology-linux.c
-@@ -4101,7 +4101,8 @@ look_cpuinfo(struct hwloc_topology *topology,
- }
- /* create package objects */
- hwloc_debug("%u pkgs%s\n", numpkgs, missingpkg ? ", but some missing package" : "");
-- if (!missingpkg && numpkgs>0) {
-+ if (!missingpkg && numpkgs>0
-+ && hwloc_filter_check_keep_object_type(topology, HWLOC_OBJ_PACKAGE)) {
- for (i = 0; i < numpkgs; i++) {
- struct hwloc_obj *obj = hwloc_alloc_setup_object(topology, HWLOC_OBJ_PACKAGE, Lpkg_to_Ppkg[i]);
- int doneinfos = 0;
-@@ -4145,7 +4146,8 @@ look_cpuinfo(struct hwloc_topology *topology,
- }
- /* create Core objects */
- hwloc_debug("%u cores%s\n", numcores, missingcore ? ", but some missing core" : "");
-- if (!missingcore && numcores>0) {
-+ if (!missingcore && numcores>0
-+ && hwloc_filter_check_keep_object_type(topology, HWLOC_OBJ_CORE)) {
- for (i = 0; i < numcores; i++) {
- struct hwloc_obj *obj = hwloc_alloc_setup_object(topology, HWLOC_OBJ_CORE, Lcore_to_Pcore[i]);
- obj->cpuset = hwloc_bitmap_alloc();
diff --git a/gnu/packages/patches/libgnomeui-utf8.patch b/gnu/packages/patches/libgnomeui-utf8.patch
index 304d74e1e2..11622b21ee 100644
--- a/gnu/packages/patches/libgnomeui-utf8.patch
+++ b/gnu/packages/patches/libgnomeui-utf8.patch
@@ -8,11 +8,11 @@ make[2]: Entering directory '/tmp/guix-build-libgnomeui-2.24.5.drv-0/libgnomeui-
INFO: Reading ./gnome-marshal.list...
GEN gnome-marshal.h
Traceback (most recent call last):
- File "/gnu/store/azh1is0xknn4xphwj33iqcb5ic9qhk8l-glib-2.54.2-bin/bin/glib-mkenums", line 688, in <module>
+ File "/gnu/store/...-glib-2.54.2-bin/bin/glib-mkenums", line 688, in <module>
process_file(fname)
- File "/gnu/store/azh1is0xknn4xphwj33iqcb5ic9qhk8l-glib-2.54.2-bin/bin/glib-mkenums", line 420, in process_file
+ File "/gnu/store/...-glib-2.54.2-bin/bin/glib-mkenums", line 420, in process_file
line = curfile.readline()
- File "/gnu/store/3lkypf5wnsnvkaidhw0pv7k3yjfh1r9g-python-3.6.3/lib/python3.6/codecs.py", line 321, in decode
+ File "/gnu/store/...-python-3.6.3/lib/python3.6/codecs.py", line 321, in decode
(result, consumed) = self._buffer_decode(data, self.errors, final)
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xf1 in position 1009: invalid continuation byte
make[2]: *** [Makefile:1109: stamp-gnometypebuiltins.h] Error 1
diff --git a/gnu/packages/patches/libusb-for-axoloti.patch b/gnu/packages/patches/libusb-for-axoloti.patch
index 2c07d767d9..76a45e801d 100644
--- a/gnu/packages/patches/libusb-for-axoloti.patch
+++ b/gnu/packages/patches/libusb-for-axoloti.patch
@@ -1,14 +1,14 @@
-diff -rp -u4 libusb-1.0.19-orig/libusb/descriptor.c libusb-1.0.19/libusb/descriptor.c
---- libusb-1.0.19-orig/libusb/descriptor.c 2015-05-12 00:15:19 +0200
-+++ libusb-1.0.19/libusb/descriptor.c 2015-05-12 00:17:09 +0200
-@@ -1181,9 +1181,9 @@ int API_EXPORTED libusb_get_string_descr
+diff -rpu4 libusb-1.0.22.orig/libusb/descriptor.c libusb-1.0.22/libusb/descriptor.c
+--- libusb-1.0.22.orig/libusb/descriptor.c 2018-03-17 08:23:37.000000000 +0100
++++ libusb-1.0.22/libusb/descriptor.c 2018-03-29 10:36:09.968429473 +0200
+@@ -1173,9 +1173,9 @@ int API_EXPORTED libusb_get_string_descr
if (tbuf[1] != LIBUSB_DT_STRING)
return LIBUSB_ERROR_IO;
if (tbuf[0] > r)
- return LIBUSB_ERROR_IO;
-+ tbuf[0] = r;
++ tbuf[0] = r;
- for (di = 0, si = 2; si < tbuf[0]; si += 2) {
+ di = 0;
+ for (si = 2; si < tbuf[0]; si += 2) {
if (di >= (length - 1))
- break;
diff --git a/gnu/packages/patches/links-CVE-2017-11114.patch b/gnu/packages/patches/links-CVE-2017-11114.patch
deleted file mode 100644
index c5ac9884b5..0000000000
--- a/gnu/packages/patches/links-CVE-2017-11114.patch
+++ /dev/null
@@ -1,99 +0,0 @@
-Fix CVE-2017-11114:
-
-https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-11114
-http://seclists.org/fulldisclosure/2017/Jul/76
-
-Patch copied from Debian:
-
-https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=870299#12
-
-Origin: upstream, commit: fee5dca79a93a37024e494b985386a5fe60bc1b7
-Origin: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=870299#12
-Author: Mikulas Patocka <mikulas@twibright.com>
-Date: Wed Aug 2 20:13:29 2017 +0200
-Subject: Fix read out of memory in case of corrupted UTF-8 data
-
----
- charsets.c | 37 +------------------------------------
- links.h | 9 ++++-----
- 2 files changed, 5 insertions(+), 41 deletions(-)
-
-Index: links-2.14/charsets.c
-===================================================================
---- links-2.14.orig/charsets.c
-+++ links-2.14/charsets.c
-@@ -215,41 +215,6 @@ static struct conv_table *get_translatio
- return utf_table;
- }
-
--unsigned short int utf8_2_uni_table[0x200] = {
-- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 0, 0, 0, 192, 0,
-- 0, 0, 256, 0, 0, 0, 320, 0, 0, 0, 384, 0, 0, 0, 448, 0,
-- 0, 0, 512, 0, 0, 0, 576, 0, 0, 0, 640, 0, 0, 0, 704, 0,
-- 0, 0, 768, 0, 0, 0, 832, 0, 0, 0, 896, 0, 0, 0, 960, 0,
-- 0, 0, 1024, 0, 0, 0, 1088, 0, 0, 0, 1152, 0, 0, 0, 1216, 0,
-- 0, 0, 1280, 0, 0, 0, 1344, 0, 0, 0, 1408, 0, 0, 0, 1472, 0,
-- 0, 0, 1536, 0, 0, 0, 1600, 0, 0, 0, 1664, 0, 0, 0, 1728, 0,
-- 0, 0, 1792, 0, 0, 0, 1856, 0, 0, 0, 1920, 0, 0, 0, 1984, 0,
-- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
--};
--
- unsigned char utf_8_1[256] = {
- 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
- 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
-@@ -269,7 +234,7 @@ unsigned char utf_8_1[256] = {
- 3, 3, 3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 1, 1, 6, 6,
- };
-
--static_const unsigned min_utf_8[9] = {
-+static_const unsigned min_utf_8[8] = {
- 0, 0x4000000, 0x200000, 0x10000, 0x800, 0x80, 0x100, 0x1,
- };
-
-Index: links-2.14/links.h
-===================================================================
---- links-2.14.orig/links.h
-+++ links-2.14/links.h
-@@ -3906,15 +3906,14 @@ unsigned char *cp_strchr(int charset, un
- void init_charset(void);
-
- unsigned get_utf_8(unsigned char **p);
--extern unsigned short int utf8_2_uni_table[0x200];
- #define GET_UTF_8(s, c) \
- do { \
- if ((unsigned char)(s)[0] < 0x80) \
- (c) = (s)++[0]; \
-- else if (((c) = utf8_2_uni_table[((unsigned char)(s)[0] << 2) + \
-- ((unsigned char)(s)[1] >> 6) - 0x200])) \
-- (c) += (unsigned char)(s)[1] & 0x3f, (s) += 2; \
-- else \
-+ else if ((unsigned char)(s)[0] >= 0xc2 && (unsigned char)(s)[0] < 0xe0 &&\
-+ ((unsigned char)(s)[1] & 0xc0) == 0x80) { \
-+ (c) = (unsigned char)(s)[0] * 0x40 + (unsigned char)(s)[1], (c) -= 0x3080, (s) += 2;\
-+ } else \
- (c) = get_utf_8(&(s)); \
- } while (0)
- #define FWD_UTF_8(s) \
diff --git a/gnu/packages/patches/lyx-2.2.3-fix-test.patch b/gnu/packages/patches/lyx-2.2.3-fix-test.patch
new file mode 100644
index 0000000000..10b7d2a3a9
--- /dev/null
+++ b/gnu/packages/patches/lyx-2.2.3-fix-test.patch
@@ -0,0 +1,13 @@
+See https://www.lyx.org/trac/ticket/10800#comment:17
+diff --git a/src/tex2lyx/test/test-structure.lyx.lyx b/src/tex2lyx/test/test-structure.lyx.lyx
+index feff755cd2..2c7f2ace5c 100644
+--- a/src/tex2lyx/test/test-structure.lyx.lyx
++++ b/src/tex2lyx/test/test-structure.lyx.lyx
+@@ -212,7 +212,7 @@ This causes the
+ \begin_inset Flex Flex:Strong
+ status collapsed
+
+-\begin_layout Standard
++\begin_layout Plain Layout
+ logikalmkup
+ \end_layout
diff --git a/gnu/packages/patches/mupdf-CVE-2018-1000051.patch b/gnu/packages/patches/mupdf-CVE-2018-1000051.patch
new file mode 100644
index 0000000000..bb78c46f80
--- /dev/null
+++ b/gnu/packages/patches/mupdf-CVE-2018-1000051.patch
@@ -0,0 +1,88 @@
+Fix CVE-2018-1000051:
+
+https://bugs.ghostscript.com/show_bug.cgi?id=698873
+https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-1000051
+
+Patch copied from upstream source repository:
+
+https://git.ghostscript.com/?p=mupdf.git;a=commit;h=321ba1de287016b0036bf4a56ce774ad11763384
+
+From 321ba1de287016b0036bf4a56ce774ad11763384 Mon Sep 17 00:00:00 2001
+From: Sebastian Rasmussen <sebras@gmail.com>
+Date: Tue, 19 Dec 2017 23:47:47 +0100
+Subject: [PATCH] Bug 698825: Do not drop borrowed colorspaces.
+
+Previously the borrowed colorspace was dropped when updating annotation
+appearances, leading to use after free warnings from valgrind/ASAN.
+---
+ source/pdf/pdf-appearance.c | 8 ++------
+ 1 file changed, 2 insertions(+), 6 deletions(-)
+
+diff --git a/source/pdf/pdf-appearance.c b/source/pdf/pdf-appearance.c
+index 70f684f4..d7a1dddd 100644
+--- a/source/pdf/pdf-appearance.c
++++ b/source/pdf/pdf-appearance.c
+@@ -2170,7 +2170,6 @@ void pdf_update_free_text_annot_appearance(fz_context *ctx, pdf_document *doc, p
+ fz_device *dev = NULL;
+ font_info font_rec;
+ fz_text *text = NULL;
+- fz_colorspace *cs = NULL;
+ fz_matrix page_ctm;
+
+ pdf_page_transform(ctx, annot->page, NULL, &page_ctm);
+@@ -2184,11 +2183,11 @@ void pdf_update_free_text_annot_appearance(fz_context *ctx, pdf_document *doc, p
+ fz_var(dlist);
+ fz_var(dev);
+ fz_var(text);
+- fz_var(cs);
+ fz_try(ctx)
+ {
+ char *contents = pdf_to_str_buf(ctx, pdf_dict_get(ctx, obj, PDF_NAME_Contents));
+ char *da = pdf_to_str_buf(ctx, pdf_dict_get(ctx, obj, PDF_NAME_DA));
++ fz_colorspace *cs;
+ fz_point pos;
+ fz_rect rect;
+
+@@ -2223,7 +2222,6 @@ void pdf_update_free_text_annot_appearance(fz_context *ctx, pdf_document *doc, p
+ fz_drop_display_list(ctx, dlist);
+ font_info_fin(ctx, &font_rec);
+ fz_drop_text(ctx, text);
+- fz_drop_colorspace(ctx, cs);
+ }
+ fz_catch(ctx)
+ {
+@@ -2359,7 +2357,6 @@ void pdf_set_signature_appearance(fz_context *ctx, pdf_document *doc, pdf_annot
+ fz_device *dev = NULL;
+ font_info font_rec;
+ fz_text *text = NULL;
+- fz_colorspace *cs = NULL;
+ fz_path *path = NULL;
+ fz_buffer *fzbuf = NULL;
+ fz_matrix page_ctm;
+@@ -2375,7 +2372,6 @@ void pdf_set_signature_appearance(fz_context *ctx, pdf_document *doc, pdf_annot
+ fz_var(dlist);
+ fz_var(dev);
+ fz_var(text);
+- fz_var(cs);
+ fz_var(fzbuf);
+ fz_try(ctx)
+ {
+@@ -2384,6 +2380,7 @@ void pdf_set_signature_appearance(fz_context *ctx, pdf_document *doc, pdf_annot
+ fz_rect logo_bounds;
+ fz_matrix logo_tm;
+ fz_rect rect;
++ fz_colorspace *cs = fz_device_rgb(ctx); /* Borrowed reference */
+
+ pdf_to_rect(ctx, pdf_dict_get(ctx, annot->obj, PDF_NAME_Rect), &annot_rect);
+ rect = annot_rect;
+@@ -2396,7 +2393,6 @@ void pdf_set_signature_appearance(fz_context *ctx, pdf_document *doc, pdf_annot
+ fz_bound_path(ctx, path, NULL, &fz_identity, &logo_bounds);
+ center_rect_within_rect(&logo_bounds, &rect, &logo_tm);
+ fz_concat(&logo_tm, &logo_tm, &page_ctm);
+- cs = fz_device_rgb(ctx); /* Borrowed reference */
+ fz_fill_path(ctx, dev, path, 0, &logo_tm, cs, logo_color, 1.0f, NULL);
+
+ get_font_info(ctx, doc, dr, da, &font_rec);
+--
+2.16.3
+
diff --git a/gnu/packages/patches/mupdf-CVE-2018-6544.patch b/gnu/packages/patches/mupdf-CVE-2018-6544.patch
new file mode 100644
index 0000000000..b2c8f849f3
--- /dev/null
+++ b/gnu/packages/patches/mupdf-CVE-2018-6544.patch
@@ -0,0 +1,109 @@
+Fix CVE-2018-6544:
+
+https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-6544
+https://bugs.ghostscript.com/show_bug.cgi?id=698830
+https://bugs.ghostscript.com/show_bug.cgi?id=698965
+
+Patches copied from upstream source repository:
+
+https://git.ghostscript.com/?p=mupdf.git;h=26527eef77b3e51c2258c8e40845bfbc015e405d
+https://git.ghostscript.com/?p=mupdf.git;h=b03def134988da8c800adac1a38a41a1f09a1d89
+
+From b03def134988da8c800adac1a38a41a1f09a1d89 Mon Sep 17 00:00:00 2001
+From: Sebastian Rasmussen <sebras@gmail.com>
+Date: Thu, 1 Feb 2018 16:36:14 +0100
+Subject: [PATCH] Bug 698830: Avoid recursion when loading object streams
+ objects.
+
+If there were indirect references in the object stream dictionary and
+one of those indirect references referred to an object inside the object
+stream itself, mupdf would previously enter recursion only bounded by the
+exception stack. After this commit the object stream is checked if it is
+marked immediately after being loaded. If it is marked then we terminate
+the recursion at this point, if it is not marked then mark it and
+attempt to load the desired object within. We also take care to unmark
+the stream object when done or upon exception.
+---
+ source/pdf/pdf-xref.c | 14 ++++++++++++++
+ 1 file changed, 14 insertions(+)
+
+diff --git a/source/pdf/pdf-xref.c b/source/pdf/pdf-xref.c
+index 723b543c..ed09094c 100644
+--- a/source/pdf/pdf-xref.c
++++ b/source/pdf/pdf-xref.c
+@@ -1576,6 +1576,19 @@ pdf_load_obj_stm(fz_context *ctx, pdf_document *doc, int num, pdf_lexbuf *buf, i
+ {
+ objstm = pdf_load_object(ctx, doc, num);
+
++ if (pdf_obj_marked(ctx, objstm))
++ fz_throw(ctx, FZ_ERROR_GENERIC, "recursive object stream lookup");
++ }
++ fz_catch(ctx)
++ {
++ pdf_drop_obj(ctx, objstm);
++ fz_rethrow(ctx);
++ }
++
++ fz_try(ctx)
++ {
++ pdf_mark_obj(ctx, objstm);
++
+ count = pdf_to_int(ctx, pdf_dict_get(ctx, objstm, PDF_NAME_N));
+ first = pdf_to_int(ctx, pdf_dict_get(ctx, objstm, PDF_NAME_First));
+
+@@ -1655,6 +1668,7 @@ pdf_load_obj_stm(fz_context *ctx, pdf_document *doc, int num, pdf_lexbuf *buf, i
+ fz_drop_stream(ctx, stm);
+ fz_free(ctx, ofsbuf);
+ fz_free(ctx, numbuf);
++ pdf_unmark_obj(ctx, objstm);
+ pdf_drop_obj(ctx, objstm);
+ }
+ fz_catch(ctx)
+--
+2.16.3
+
+From 26527eef77b3e51c2258c8e40845bfbc015e405d Mon Sep 17 00:00:00 2001
+From: Sebastian Rasmussen <sebras@gmail.com>
+Date: Mon, 29 Jan 2018 02:00:48 +0100
+Subject: [PATCH] Bug 698830: Don't drop unkept stream if running out of error
+ stack.
+
+Under normal conditions where fz_keep_stream() is called inside
+fz_try() we may call fz_drop_stream() in fz_catch() upon exceptions.
+The issue comes when fz_keep_stream() has not yet been called but is
+dropped in fz_catch(). This happens in the PDF from the bug when
+fz_try() runs out of exception stack, and next the code in fz_catch()
+runs, dropping the caller's reference to the filter chain stream!
+
+The simplest way of fixing this it to always keep the filter chain
+stream before fz_try() is called. That way fz_catch() may drop the
+stream whether an exception has occurred or if the fz_try() ran out of
+exception stack.
+---
+ source/pdf/pdf-stream.c | 5 ++---
+ 1 file changed, 2 insertions(+), 3 deletions(-)
+
+diff --git a/source/pdf/pdf-stream.c b/source/pdf/pdf-stream.c
+index c89da5c4..c6ba7ad3 100644
+--- a/source/pdf/pdf-stream.c
++++ b/source/pdf/pdf-stream.c
+@@ -303,14 +303,13 @@ pdf_open_raw_filter(fz_context *ctx, fz_stream *chain, pdf_document *doc, pdf_ob
+ *orig_gen = 0;
+ }
+
+- fz_var(chain);
++ chain = fz_keep_stream(ctx, chain);
+
+ fz_try(ctx)
+ {
+ len = pdf_to_int(ctx, pdf_dict_get(ctx, stmobj, PDF_NAME_Length));
+
+- /* don't close chain when we close this filter */
+- chain2 = fz_keep_stream(ctx, chain);
++ chain2 = chain;
+ chain = NULL;
+ chain = fz_open_null(ctx, chain2, len, offset);
+
+--
+2.16.3
+
diff --git a/gnu/packages/patches/mupen64plus-video-z64-glew-correct-path.patch b/gnu/packages/patches/mupen64plus-video-z64-glew-correct-path.patch
new file mode 100644
index 0000000000..c3fcfbbd0e
--- /dev/null
+++ b/gnu/packages/patches/mupen64plus-video-z64-glew-correct-path.patch
@@ -0,0 +1,36 @@
+From 21507b3600c616bca7049004eb518cf11f45f299 Mon Sep 17 00:00:00 2001
+From: "Anthony J. Bentley" <anthony@cathet.us>
+Date: Sun, 7 Jun 2015 02:41:28 -0600
+Subject: [PATCH] Correct the path to the GLEW header.
+
+---
+ src/glshader.cpp | 2 +-
+ src/rgl.h | 2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/src/glshader.cpp b/src/glshader.cpp
+index 4729945..a8947ea 100644
+--- a/src/glshader.cpp
++++ b/src/glshader.cpp
+@@ -23,7 +23,7 @@
+ #include <stdio.h>
+ #include <string.h>
+ #include "rgl_assert.h"
+-#include <glew.h>
++#include <GL/glew.h>
+ #if defined(__MACOSX__)
+ #include <OpenGL/gl.h>
+ #include <OpenGL/glext.h>
+diff --git a/src/rgl.h b/src/rgl.h
+index c15f93f..1748406 100644
+--- a/src/rgl.h
++++ b/src/rgl.h
+@@ -26,7 +26,7 @@
+ #include "rgl_assert.h"
+ #include "rdp.h"
+
+-#include <glew.h>
++#include <GL/glew.h>
+ #if defined(__MACOSX__)
+ #include <OpenGL/gl.h>
+ #elif defined(__MACOS__)
diff --git a/gnu/packages/patches/racket-fix-xform-issue.patch b/gnu/packages/patches/racket-fix-xform-issue.patch
new file mode 100644
index 0000000000..0a1640ee51
--- /dev/null
+++ b/gnu/packages/patches/racket-fix-xform-issue.patch
@@ -0,0 +1,63 @@
+050cdb59839896b41431791f8ee0ef2564231b8f
+Author: Matthew Flatt <mflatt@racket-lang.org>
+AuthorDate: Tue Mar 6 09:05:08 2018 -0700
+Commit: Matthew Flatt <mflatt@racket-lang.org>
+CommitDate: Tue Mar 6 09:05:08 2018 -0700
+
+Parent: efb9a919fc ffi docs: clarification on `unsafe-socket->port`
+Containing: master
+Follows: v5.0.1 (21612)
+
+xform: avoid problems with `__signbitf128`
+
+Closes #1962 and uses the suggested patch there, among other changes.
+
+2 files changed, 6 insertions(+), 3 deletions(-)
+racket/collects/compiler/private/xform.rkt | 2 +-
+racket/src/racket/src/number.c | 7 +++++--
+
+diff --git a/racket/collects/compiler/private/xform.rkt b/racket/collects/compiler/private/xform.rkt
+index 28a425c057..89ae848f9c 100644
+--- a/collects/compiler/private/xform.rkt
++++ b/collects/compiler/private/xform.rkt
+@@ -904,7 +904,7 @@
+
+ strlen cos cosl sin sinl exp expl pow powl log logl sqrt sqrtl atan2 atan2l frexp
+ isnan isinf fpclass signbit _signbit _fpclass __fpclassify __fpclassifyf __fpclassifyl
+- _isnan __isfinited __isnanl __isnan __signbit __signbitf __signbitd __signbitl
++ _isnan __isfinited __isnanl __isnan __signbit __signbitf __signbitd __signbitl __signbitf128
+ __isinff __isinfl isnanf isinff __isinfd __isnanf __isnand __isinf __isinff128
+ __inline_isnanl __inline_isnan __inline_signbit __inline_signbitf __inline_signbitd __inline_signbitl
+ __builtin_popcount __builtin_clz __builtin_isnan __builtin_isinf __builtin_signbit
+diff --git a/racket/src/racket/src/number.c b/racket/src/racket/src/number.c
+index 71f42aaf3c..3bbad3ba83 100644
+--- a/src/racket/src/number.c
++++ b/src/racket/src/number.c
+@@ -1796,6 +1796,7 @@ double scheme_real_to_double(Scheme_Object *r)
+ }
+
+ XFORM_NONGCING static MZ_INLINE int minus_zero_p(double d)
++ XFORM_SKIP_PROC
+ {
+ #ifdef MZ_IS_NEG_ZERO
+ return MZ_IS_NEG_ZERO(d);
+@@ -1809,7 +1810,9 @@ int scheme_minus_zero_p(double d)
+ return minus_zero_p(d);
+ }
+
+-static int rational_dbl_p(double f) {
++XFORM_NONGCING static int rational_dbl_p(double f)
++ XFORM_SKIP_PROC
++{
+ return !(MZ_IS_NAN(f)
+ || MZ_IS_INFINITY(f));
+ }
+@@ -1955,7 +1958,7 @@ real_p(int argc, Scheme_Object *argv[])
+ return (SCHEME_REALP(o) ? scheme_true : scheme_false);
+ }
+
+-static int is_rational(const Scheme_Object *o)
++XFORM_NONGCING static int is_rational(const Scheme_Object *o)
+ {
+ if (SCHEME_FLOATP(o))
+ return rational_dbl_p(SCHEME_FLOAT_VAL(o)); \ No newline at end of file
diff --git a/gnu/packages/patches/sharutils-CVE-2018-1000097.patch b/gnu/packages/patches/sharutils-CVE-2018-1000097.patch
new file mode 100644
index 0000000000..8d58218184
--- /dev/null
+++ b/gnu/packages/patches/sharutils-CVE-2018-1000097.patch
@@ -0,0 +1,21 @@
+Fix CVE-2018-1000097:
+
+https://security-tracker.debian.org/tracker/CVE-2018-1000097
+https://nvd.nist.gov/vuln/detail/CVE-2018-1000097
+
+Patch taken from upstream bug report:
+https://lists.gnu.org/archive/html/bug-gnu-utils/2018-02/msg00005.html
+
+diff --git a/src/unshar.c b/src/unshar.c
+index 80bc3a9..0fc3773 100644
+--- a/src/unshar.c
++++ b/src/unshar.c
+@@ -240,7 +240,7 @@ find_archive (char const * name, FILE * file, off_t start)
+ off_t position = ftello (file);
+
+ /* Read next line, fail if no more and no previous process. */
+- if (!fgets (rw_buffer, BUFSIZ, file))
++ if (!fgets (rw_buffer, rw_base_size, file))
+ {
+ if (!start)
+ error (0, 0, _("Found no shell commands in %s"), name);
diff --git a/gnu/packages/patches/translate-shell-fix-curl-tests.patch b/gnu/packages/patches/translate-shell-fix-curl-tests.patch
new file mode 100644
index 0000000000..33731462b8
--- /dev/null
+++ b/gnu/packages/patches/translate-shell-fix-curl-tests.patch
@@ -0,0 +1,60 @@
+This patch fixes Curl related tests for 'translate-shell'.
+
+Upstream bug URL:
+
+https://github.com/soimort/translate-shell/issues/221
+
+From bb9f32d3145125ba664b6b05bf0a2fd34108e9d2 Mon Sep 17 00:00:00 2001
+From: Mort Yao <soi@mort.ninja>
+Date: Sun, 25 Mar 2018 03:14:33 +0200
+Subject: [PATCH] TestUtils: perform curl-related tests only if NETWORK_ACCESS
+ is set to yes (#221)
+
+---
+ test/TestUtils.awk | 32 +++++++++++++++++---------------
+ 1 file changed, 17 insertions(+), 15 deletions(-)
+
+diff --git a/test/TestUtils.awk b/test/TestUtils.awk
+index 08bb2e9..1c141e5 100644
+--- a/test/TestUtils.awk
++++ b/test/TestUtils.awk
+@@ -30,22 +30,24 @@ BEGIN {
+ assertTrue(newerVersion("2", "1.9.9999"))
+ }
+
+- T("curl()", 1)
+- {
+- delete tokens; delete ast
+- tokenize(tokens, curl("https://httpbin.org/get"))
+- parseJson(ast, tokens)
+- assertEqual(unparameterize(ast[0 SUBSEP "url"]),
+- "https://httpbin.org/get")
+- }
++ if (yn(ENVIRON["NETWORK_ACCESS"])) { # if network access enabled
++ T("curl()", 1)
++ {
++ delete tokens; delete ast
++ tokenize(tokens, curl("https://httpbin.org/get"))
++ parseJson(ast, tokens)
++ assertEqual(unparameterize(ast[0 SUBSEP "url"]),
++ "https://httpbin.org/get")
++ }
+
+- T("curlPost()", 1)
+- {
+- delete tokens; delete ast
+- tokenize(tokens, curlPost("https://httpbin.org/post", "fizz=buzz"))
+- parseJson(ast, tokens)
+- assertEqual(unparameterize(ast[0 SUBSEP "url"]),
+- "https://httpbin.org/post")
++ T("curlPost()", 1)
++ {
++ delete tokens; delete ast
++ tokenize(tokens, curlPost("https://httpbin.org/post", "fizz=buzz"))
++ parseJson(ast, tokens)
++ assertEqual(unparameterize(ast[0 SUBSEP "url"]),
++ "https://httpbin.org/post")
++ }
+ }
+
+ T("dump()", 3)
diff --git a/gnu/packages/pdf.scm b/gnu/packages/pdf.scm
index a5d57cd5ec..84b53b00b4 100644
--- a/gnu/packages/pdf.scm
+++ b/gnu/packages/pdf.scm
@@ -574,7 +574,9 @@ extracting content or merging files.")
(uri (string-append "https://mupdf.com/downloads/archive/"
name "-" version "-source.tar.xz"))
(patches (search-patches "mupdf-build-with-latest-openjpeg.patch"
- "mupdf-CVE-2017-17858.patch"))
+ "mupdf-CVE-2017-17858.patch"
+ "mupdf-CVE-2018-6544.patch"
+ "mupdf-CVE-2018-1000051.patch"))
(sha256
(base32
"0b9j0gqbc3jhmx87r6idcsh8lnb30840c3hyx6dk2gdjqqh3hysp"))
diff --git a/gnu/packages/perl-web.scm b/gnu/packages/perl-web.scm
index 0500cee0dc..7a398675b2 100644
--- a/gnu/packages/perl-web.scm
+++ b/gnu/packages/perl-web.scm
@@ -21,6 +21,7 @@
#:use-module ((guix licenses) #:prefix license:)
#:use-module (gnu packages)
#:use-module (guix packages)
+ #:use-module (gnu packages perl-check)
#:use-module (guix download)
#:use-module (guix build-system perl))
@@ -46,3 +47,26 @@ keep you going, learning by doing was much fun. While most of the techniques
used are outdated now, the idea behind it is not. Mojolicious is a new
endeavor to implement this idea using modern technologies.")
(license license:artistic2.0)))
+
+(define-public perl-uri-escape
+ (package
+ (name "perl-uri-escape")
+ (version "1.73")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "mirror://cpan/authors/id/E/ET/ETHER/URI-"
+ version ".tar.gz"))
+ (sha256
+ (base32
+ "04z4xwiryrbxxi48bwbkgq9q9pwfgqry3wp0ramcrwv3dx5ap9yc"))))
+ (build-system perl-build-system)
+ (native-inputs
+ `(("perl-test-needs" ,perl-test-needs)))
+ (home-page "https://github.com/libwww-perl/URI")
+ (synopsis "Percent-encode and percent-decode unsafe characters")
+ (description "This module provides functions to percent-encode and
+percent-decode URI strings as defined by RFC 3986. Percent-encoding URI's is
+informally called URI escaping. This is the terminology used by this module,
+which predates the formalization of the terms by the RFC by several years.")
+ (license license:perl-license)))
diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm
index 39449d9320..50273d31e4 100644
--- a/gnu/packages/perl.scm
+++ b/gnu/packages/perl.scm
@@ -9,7 +9,7 @@
;;; Copyright © 2016, 2017 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016 Nils Gillmann <ng0@n0.is>
;;; Copyright © 2016 Alex Sassmannshausen <alex@pompo.co>
-;;; Copyright © 2016 Roel Janssen <roel@gnu.org>
+;;; Copyright © 2016, 2018 Roel Janssen <roel@gnu.org>
;;; Copyright © 2016 Ben Woodcroft <donttrustben@gmail.com>
;;; Copyright © 2016 Jan Nieuwenhuizen <janneke@gnu.org>
;;; Copyright © 2017 Raoul J.P. Bonnal <ilpuccio.febo@gmail.com>
@@ -722,6 +722,31 @@ is captured while being passed through to the original file handles.")
to test the installed perl for compatibility with his modules.")
(license (package-license perl))))
+(define-public perl-carp
+ (package
+ (name "perl-carp")
+ (version "1.38")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append
+ "mirror://cpan/authors/id/R/RJ/RJBS/Carp-"
+ version ".tar.gz"))
+ (sha256
+ (base32
+ "00bijwwc0ix27h2ma3lvsf3b56biar96bl9dikxgx7cmpcycxad5"))))
+ (build-system perl-build-system)
+ (home-page "http://search.cpan.org/dist/Carp/")
+ (synopsis "Alternative warn and die for modules")
+ (description "The @code{Carp} routines are useful in your own modules
+because they act like @code{die()} or @code{warn()}, but with a message
+which is more likely to be useful to a user of your module. In the case
+of @code{cluck}, @code{confess}, and @code{longmess} that context is a
+summary of every call in the call-stack. For a shorter message you can use
+@code{carp} or @code{croak} which report the error as being from where your
+module was called. There is no guarantee that that is where the error was,
+but it is a good educated guess.")
+ (license (package-license perl))))
+
(define-public perl-carp-always
(package
(name "perl-carp-always")
@@ -3975,6 +4000,62 @@ inc directory within a distribution and are used by Makefile.PL or Build.PL.")
"Indirect warns about using the indirect method call syntax.")
(license (package-license perl))))
+(define-public perl-inline
+ (package
+ (name "perl-inline")
+ (version "0.80")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "mirror://cpan/authors/id/I/IN/INGY/Inline-"
+ version ".tar.gz"))
+ (sha256
+ (base32
+ "1xnf5hykcr54271x5jsnr61bcv1c7x39cy4kdcrkxm7bn62djavy"))))
+ (build-system perl-build-system)
+ (native-inputs
+ `(("perl-test-warn" ,perl-test-warn)))
+ (home-page "http://search.cpan.org/dist/Inline/")
+ (synopsis "Write Perl subroutines in other programming languages")
+ (description "The @code{Inline} module allows you to put source code
+from other programming languages directly (inline) in a Perl script or
+module. The code is automatically compiled as needed, and then loaded
+for immediate access from Perl.")
+ (license (package-license perl))))
+
+(define-public perl-inline-c
+ (package
+ (name "perl-inline-c")
+ (version "0.78")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "mirror://cpan/authors/id/T/TI/TINITA/Inline-C-"
+ version ".tar.gz"))
+ (sha256
+ (base32
+ "1izv7vswd17glffh8h83bi63gdk208mmhxi17l3qd8q1bkc08y4s"))))
+ (build-system perl-build-system)
+ (native-inputs
+ `(("perl-file-copy-recursive" ,perl-file-copy-recursive)
+ ("perl-file-sharedir-install" ,perl-file-sharedir-install)
+ ("perl-test-warn" ,perl-test-warn)
+ ("perl-yaml-libyaml" ,perl-yaml-libyaml)))
+ (propagated-inputs
+ `(("perl-inline" ,perl-inline)
+ ("perl-parse-recdescent" ,perl-parse-recdescent)
+ ("perl-pegex" ,perl-pegex)))
+ (home-page "http://search.cpan.org/dist/Inline-C/")
+ (synopsis "C Language Support for Inline")
+ (description "The @code{Inline::C} module allows you to write Perl
+subroutines in C. Since version 0.30 the @code{Inline} module supports
+multiple programming languages and each language has its own support module.
+This document describes how to use Inline with the C programming language.
+It also goes a bit into Perl C internals.")
+ (license (package-license perl))))
+
(define-public perl-io-captureoutput
(package
(name "perl-io-captureoutput")
@@ -4637,7 +4718,7 @@ portions of this module couldn't be compiled on this machine.")
(define-public perl-mailtools
(package
(name "perl-mailtools")
- (version "2.19")
+ (version "2.20")
(source
(origin
(method url-fetch)
@@ -4647,7 +4728,7 @@ portions of this module couldn't be compiled on this machine.")
".tar.gz"))
(sha256
(base32
- "06jykkv8mp484vzkmwd6dkicx029rl3ir5ljzrbap3paxw1dfzn1"))))
+ "15iizg2x1w7ca0r8rn3wwhp7w160ljvf55prspljwd6cm7vhcmpm"))))
(build-system perl-build-system)
(propagated-inputs
`(("perl-timedate" ,perl-timedate)))
@@ -4679,6 +4760,64 @@ Build a Mail::Internet object, and then send it out using Mail::Mailer.
@end table")
(license perl-license)))
+(define-public perl-math-bezier
+ (package
+ (name "perl-math-bezier")
+ (version "0.01")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append
+ "mirror://cpan/authors/id/A/AB/ABW/Math-Bezier-"
+ version ".tar.gz"))
+ (sha256
+ (base32
+ "1f5qwrb7vvf8804myb2pcahyxffqm9zvfal2n6myzw7x8py1ba0i"))))
+ (build-system perl-build-system)
+ (home-page "http://search.cpan.org/dist/Math-Bezier/")
+ (synopsis "Solution of bezier curves")
+ (description "This module implements the algorithm for the solution of Bezier
+curves as presented by Robert D Miller in Graphics Gems V, \"Quick and Simple
+Bezier Curve Drawing\".")
+ (license perl-license)))
+
+(define-public perl-math-round
+ (package
+ (name "perl-math-round")
+ (version "0.07")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append
+ "mirror://cpan/authors/id/G/GR/GROMMEL/Math-Round-"
+ version ".tar.gz"))
+ (sha256
+ (base32
+ "09wkvqj4hfq9y0fimri967rmhnq90dc2wf20lhlmqjp5hsd359vk"))))
+ (build-system perl-build-system)
+ (home-page "http://search.cpan.org/dist/Math-Round/")
+ (synopsis "Perl extension for rounding numbers")
+ (description "@code{Math::Round} provides functions to round numbers,
+both positive and negative, in various ways.")
+ (license perl-license)))
+
+(define-public perl-memoize
+ (package
+ (name "perl-memoize")
+ (version "1.03")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append
+ "mirror://cpan/authors/id/M/MJ/MJD/Memoize-"
+ version".tgz"))
+ (sha256
+ (base32
+ "1wysq3wrmf1s7s3phimzn7n0dswik7x53apykzgb0l2acigwqfaj"))))
+ (build-system perl-build-system)
+ (home-page "http://search.cpan.org/dist/Memoize/")
+ (synopsis "Make functions faster by trading space for time")
+ (description "This package transparently speeds up functions by caching
+return values, trading space for time.")
+ (license perl-license)))
+
(define-public perl-memoize-expirelru
(package
(name "perl-memoize-expirelru")
@@ -6223,6 +6362,30 @@ collector daemon in use at Etsy.com.")
subroutine, which you can call with a value to be tested against.")
(license (package-license perl))))
+(define-public perl-number-format
+ (package
+ (name "perl-number-format")
+ (version "1.75")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append
+ "mirror://cpan/authors/id/W/WR/WRW/Number-Format-"
+ version ".tar.gz"))
+ (sha256
+ (base32
+ "1wspw9fybik76jq9w1n1gmvfixd4wvlrq6ni8kyn85s62v5mkml2"))))
+ (build-system perl-build-system)
+ (home-page "http://search.cpan.org/dist/Number-Format/")
+ (synopsis "Convert numbers to strings with pretty formatting")
+ (description "@code{Number::Format} is a library for formatting numbers.
+Functions are provided for converting numbers to strings in a variety of ways,
+and to convert strings that contain numbers back into numeric form. The
+output formats may include thousands separators - characters inserted between
+each group of three characters counting right to left from the decimal point.
+The characters used for the decimal point and the thousands separator come from
+the locale information or can be specified by the user.")
+ (license perl-license)))
+
(define-public perl-number-range
(package
(name "perl-number-range")
@@ -6574,6 +6737,36 @@ up inheritance from those modules at the same time.")
directory specifications in a cross-platform manner.")
(license (package-license perl))))
+(define-public perl-pathtools
+ (package
+ (name "perl-pathtools")
+ (version "3.74")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "mirror://cpan/authors/id/X/XS/XSAWYERX/PathTools-"
+ version ".tar.gz"))
+ (sha256
+ (base32 "04bfjdvn5p78hirljcinpxv8djcjn8nyg5gcmnmvz8sr9k2lqwi5"))))
+ (build-system perl-build-system)
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'patch-pwd-path
+ (lambda* (#:key inputs #:allow-other-keys)
+ (substitute* "Cwd.pm"
+ (("'/bin/pwd'")
+ (string-append "'" (assoc-ref inputs "coreutils")
+ "/bin/pwd'"))))))))
+ (inputs
+ `(("coreutils" ,coreutils)))
+ (home-page "http://search.cpan.org/dist/PathTools/")
+ (synopsis "Tools for working with directory and file names")
+ (description "This package provides functions to work with directory and
+file names.")
+ (license perl-license)))
+
(define-public perl-path-tiny
(package
(name "perl-path-tiny")
@@ -6622,6 +6815,33 @@ PerlIO layer. Unlike Perl's default @code{:utf8} layer it checks the input
for correctness.")
(license (package-license perl))))
+(define-public perl-pegex
+ (package
+ (name "perl-pegex")
+ (version "0.64")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "mirror://cpan/authors/id/I/IN/INGY/Pegex-"
+ version ".tar.gz"))
+ (sha256
+ (base32
+ "1kb7y2cc3nibbn8i8y3vrzz1f9h3892nbf8jj88c5fdgpmj05q17"))))
+ (build-system perl-build-system)
+ (native-inputs
+ `(("perl-file-sharedir-install" ,perl-file-sharedir-install)
+ ("perl-yaml-libyaml" ,perl-yaml-libyaml)))
+ (home-page "http://search.cpan.org/dist/Pegex/")
+ (synopsis "Acmeist PEG Parser Framework")
+ (description "Pegex is an Acmeist parser framework. It allows you to easily
+create parsers that will work equivalently in lots of programming languages.
+The inspiration for Pegex comes from the parsing engine upon which the
+postmodern programming language Perl 6 is based on. Pegex brings this beauty
+to the other justmodern languages that have a normal regular expression engine
+available.")
+ (license (package-license perl))))
+
(define-public perl-pod-coverage
(package
(name "perl-pod-coverage")
@@ -6919,6 +7139,25 @@ collector.")
(description "Set::Infinite is a set theory module for infinite sets.")
(license (package-license perl))))
+(define-public perl-set-intspan
+ (package
+ (name "perl-set-intspan")
+ (version "1.19")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append
+ "mirror://cpan/authors/id/S/SW/SWMCD/Set-IntSpan-"
+ version ".tar.gz"))
+ (sha256
+ (base32
+ "1l6znd40ylzvfwl02rlqzvakv602rmvwgm2xd768fpgc2fdm9dqi"))))
+ (build-system perl-build-system)
+ (home-page "http://search.cpan.org/dist/Set-IntSpan/")
+ (synopsis "Manage sets of integers")
+ (description "@code{Set::IntSpan} manages sets of integers. It is
+optimized for sets that have long runs of consecutive integers.")
+ (license perl-license)))
+
(define-public perl-set-object
(package
(name "perl-set-object")
@@ -7057,6 +7296,27 @@ straightforward and (perhaps someday) standard way. Spiffy borrows ideas from
other OO languages like Python, Ruby, Java and Perl 6.")
(license (package-license perl))))
+(define-public perl-statistics-basic
+ (package
+ (name "perl-statistics-basic")
+ (version "1.6611")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append
+ "mirror://cpan/authors/id/J/JE/JETTERO/Statistics-Basic-"
+ version ".tar.gz"))
+ (sha256
+ (base32
+ "1ywl398z42hz9w1k0waf1caa6agz8jzsjlf4rzs1lgpx2mbcwmb8"))))
+ (build-system perl-build-system)
+ (inputs
+ `(("perl-number-format" ,perl-number-format)))
+ (home-page "http://search.cpan.org/dist/Statistics-Basic/")
+ (synopsis "Collection of very basic statistics modules")
+ (description "This package provides basic statistics functions like
+@code{median()}, @code{mean()}, @code{variance()} and @code{stddev()}.")
+ (license lgpl2.0)))
+
(define-public perl-stream-buffered
(package
(name "perl-stream-buffered")
@@ -7882,6 +8142,30 @@ faster than shelling out to a system's diff executable for small files, and
generally slower on larger files.")
(license (package-license perl))))
+(define-public perl-text-format
+ (package
+ (name "perl-text-format")
+ (version "0.60")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append
+ "mirror://cpan/authors/id/S/SH/SHLOMIF/Text-Format-"
+ version ".tar.gz"))
+ (sha256
+ (base32
+ "1f52jak0a2gwi4qcisp4nfbniq04dmmv5j8zkvzj8ik0f0sk2kv6"))))
+ (build-system perl-build-system)
+ (native-inputs
+ `(("perl-module-build" ,perl-module-build)
+ ("perl-test-pod" ,perl-test-pod)
+ ("perl-test-pod-coverage" ,perl-test-pod-coverage)))
+ (home-page "http://search.cpan.org/dist/Text-Format/")
+ (synopsis "Various subroutines to format text")
+ (description "This package provides functions to format text in various
+ways like centering, paragraphing, and converting tabs to spaces and spaces
+to tabs.")
+ (license perl-license)))
+
(define-public perl-text-glob
(package
(name "perl-text-glob")
@@ -7952,7 +8236,7 @@ algorism to indicate multiplication by 1000.")
(define-public perl-text-simpletable
(package
(name "perl-text-simpletable")
- (version "2.03")
+ (version "2.04")
(source
(origin
(method url-fetch)
@@ -7960,7 +8244,7 @@ algorism to indicate multiplication by 1000.")
"Text-SimpleTable-" version ".tar.gz"))
(sha256
(base32
- "15hpry9jwrf1vbjyk21s65rllxrdvp2fdzzv9gsvczggby2yyzfs"))))
+ "14sjmdcy7s73sk740g3ccmzmwhwd52x5ay3bjmibjlql1cag70ld"))))
(build-system perl-build-system)
(home-page "http://search.cpan.org/dist/Text-SimpleTable/")
(synopsis "Simple ASCII tables")
@@ -8038,6 +8322,23 @@ letters, the pronunciation expressed by the text in some other writing
system.")
(license (package-license perl))))
+(define-public perl-threads
+ (package
+ (name "perl-threads")
+ (version "2.21")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "mirror://cpan/authors/id/J/JD/JDHEDDEN/threads-"
+ version ".tar.gz"))
+ (sha256
+ (base32 "047i22mdnf7fa0h9w5jhqrjbg561l5jxk8xqzwh6zbmwlac4qf98"))))
+ (build-system perl-build-system)
+ (home-page "http://search.cpan.org/dist/threads/")
+ (synopsis "Perl interpreter-based threads")
+ (description "This module exposes interpreter threads to the Perl level.")
+ (license perl-license)))
+
(define-public perl-throwable
(package
(name "perl-throwable")
@@ -8193,6 +8494,26 @@ rounded or exact terms.")
duration strings like \"2 minutes\" and \"3 seconds\" to seconds.")
(license (package-license perl))))
+(define-public perl-time-hires
+ (package
+ (name "perl-time-hires")
+ (version "1.9758")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append
+ "mirror://cpan/authors/id/J/JH/JHI/Time-HiRes-"
+ version ".tar.gz"))
+ (sha256
+ (base32
+ "07jbydcdzpjm6i4nidci0rlklx4kla210fsl6zishw0yq5di9yjv"))))
+ (build-system perl-build-system)
+ (home-page "http://search.cpan.org/dist/Time-HiRes/")
+ (synopsis "High resolution alarm, sleep, gettimeofday, interval timers")
+ (description "This package implements @code{usleep}, @code{ualarm}, and
+@code{gettimeofday} for Perl, as well as wrappers to implement @code{time},
+@code{sleep}, and @code{alarm} that know about non-integral seconds.")
+ (license perl-license)))
+
(define-public perl-time-local
(package
(name "perl-time-local")
@@ -9061,6 +9382,30 @@ File::Find replacement in Perl.")
interface to File::Find::Object.")
(license (package-license perl))))
+(define-public perl-font-ttf
+ (package
+ (name "perl-font-ttf")
+ (version "1.06")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append
+ "mirror://cpan/authors/id/B/BH/BHALLISSY/Font-TTF-"
+ version ".tar.gz"))
+ (sha256
+ (base32
+ "14y29ja3lsa3yw0ll20lj96f3zz5zydjqi1c5nh9wxar8927ssab"))))
+ (build-system perl-build-system)
+ (propagated-inputs
+ `(("perl-io-string" ,perl-io-string)))
+ (home-page "http://search.cpan.org/dist/Font-TTF/")
+ (synopsis "TTF font support for Perl")
+ (description "This package provides a Perl module for TrueType/OpenType
+font hacking. It supports reading, processing and writing of the following
+tables: GDEF, GPOS, GSUB, LTSH, OS/2, PCLT, bsln, cmap, cvt, fdsc, feat,
+fpgm, glyf, hdmx, head, hhea, hmtx, kern, loca, maxp, mort, name, post, prep,
+prop, vhea, vmtx and the reading and writing of all other table types.")
+ (license artistic2.0)))
+
(define-public perl-libtime-parsedate
(package
(name "perl-libtime-parsedate")
diff --git a/gnu/packages/photo.scm b/gnu/packages/photo.scm
index e15c22d777..e60af0bd36 100644
--- a/gnu/packages/photo.scm
+++ b/gnu/packages/photo.scm
@@ -184,7 +184,7 @@ MTP, and much more.")
(define-public perl-image-exiftool
(package
(name "perl-image-exiftool")
- (version "10.55")
+ (version "10.80")
(source (origin
(method url-fetch)
(uri (string-append
@@ -192,7 +192,7 @@ MTP, and much more.")
version ".tar.gz"))
(sha256
(base32
- "0z8zwjjfvyllnhsafhddbybywpgqv0pl1dbn1g034cs27yj836q2"))))
+ "14rwr5wk2snqv4yva6fax1gfsdv88941n237m0wyzn3n0xh9dy5w"))))
(build-system perl-build-system)
(arguments
'(#:phases
@@ -330,7 +330,7 @@ photographic equipment.")
(define-public darktable
(package
(name "darktable")
- (version "2.4.0")
+ (version "2.4.2")
(source (origin
(method url-fetch)
(uri (string-append
@@ -339,7 +339,7 @@ photographic equipment.")
version "/darktable-" version ".tar.xz"))
(sha256
(base32
- "0y0q7a7k09sbg05k5xl1lz8n2ak1v8yarfv222ksvmbrxs53hdwx"))))
+ "10asz918kv2248px3w9bn5k8cfrad5xrci58x9y61l0yf5hcpk0r"))))
(build-system cmake-build-system)
(arguments
`(#:tests? #f ; There are no tests.
diff --git a/gnu/packages/php.scm b/gnu/packages/php.scm
index f3f279a533..ca0ea4a384 100644
--- a/gnu/packages/php.scm
+++ b/gnu/packages/php.scm
@@ -62,7 +62,7 @@
(define-public php
(package
(name "php")
- (version "7.2.3")
+ (version "7.2.4")
(home-page "https://secure.php.net/")
(source (origin
(method url-fetch)
@@ -70,7 +70,7 @@
name "-" version ".tar.xz"))
(sha256
(base32
- "07v5bq5b97zdqwmig6sxqsdb50vdf04w6jzmjq5kqh9gaqdlzadk"))
+ "123s0lbyz4fxr3kk91r4v658mk899dym36lggxnx9pwd2jyv25kr"))
(modules '((guix build utils)))
(snippet
'(with-directory-excursion "ext"
diff --git a/gnu/packages/plotutils.scm b/gnu/packages/plotutils.scm
index 482ae1b862..67ec5495bc 100644
--- a/gnu/packages/plotutils.scm
+++ b/gnu/packages/plotutils.scm
@@ -2,6 +2,7 @@
;;; Copyright © 2013, 2014, 2015, 2016, 2017 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2015 Eric Bavier <bavier@member.fsf.org>
;;; Copyright © 2016, 2017 Nicolas Goaziou <mail@nicolasgoaziou.fr>
+;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -173,14 +174,14 @@ colors, styles, options and details.")
(define-public asymptote
(package
(name "asymptote")
- (version "2.41")
+ (version "2.42")
(source (origin
(method url-fetch)
(uri (string-append "mirror://sourceforge/asymptote/"
version "/asymptote-" version ".src.tgz"))
(sha256
(base32
- "1w7fbq6gy65g0mxg6wdxi7v178c5yxvh9yrnv3bzm4sjzf4pwvhx"))))
+ "0dprc4shzdpvp87kc97ggh5ay2zmskjjaciay7mnblx63rhk1d95"))))
(build-system gnu-build-system)
;; Note: The 'asy' binary retains a reference to docdir for use with its
;; "help" command in interactive mode, so adding a "doc" output is not
diff --git a/gnu/packages/pure.scm b/gnu/packages/pure.scm
new file mode 100644
index 0000000000..b0fd93b39b
--- /dev/null
+++ b/gnu/packages/pure.scm
@@ -0,0 +1,68 @@
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2018 Danny Milosavljevic <dannym@scratchpost.org>
+;;;
+;;; This file is part of GNU Guix.
+;;;
+;;; GNU Guix is free software; you can redistribute it and/or modify it
+;;; under the terms of the GNU General Public License as published by
+;;; the Free Software Foundation; either version 3 of the License, or (at
+;;; your option) any later version.
+;;;
+;;; GNU Guix is distributed in the hope that it will be useful, but
+;;; WITHOUT ANY WARRANTY; without even the implied warranty of
+;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+;;; GNU General Public License for more details.
+;;;
+;;; You should have received a copy of the GNU General Public License
+;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
+
+(define-module (gnu packages pure)
+ #:use-module ((guix licenses) #:prefix license:)
+ #:use-module (guix packages)
+ #:use-module (guix download)
+ #:use-module (guix git-download)
+ #:use-module (guix utils)
+ #:use-module (guix build-system gnu)
+ #:use-module (guix gexp)
+ #:use-module (gnu packages)
+ #:use-module (gnu packages llvm)
+ #:use-module (gnu packages multiprecision))
+
+(define-public pure
+ (package
+ (name "pure")
+ (version "0.67")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://github.com/agraef/pure-lang/releases/"
+ "download/pure-" version "/"
+ "pure-" version ".tar.gz"))
+ (sha256
+ (base32
+ "1hlx5dx6n70rbg668yc97yj4jbnrv0dpfw3l9b0ffmcgr76f6ba4"))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:make-flags (list (string-append "LDFLAGS=-Wl,-rpath="
+ (assoc-ref %outputs "out")
+ "/lib"))
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'patch-llvm-lookup
+ (lambda _
+ (substitute* "configure"
+ (("-lLLVM-[$][{]llvm_version[}]")
+ "`$LLVMCONF --libs`"))
+ #t)))))
+ (inputs
+ `(("gmp" ,gmp)
+ ("llvm" ,llvm-3.5)
+ ("mpfr" ,mpfr)))
+ (home-page "https://agraef.github.io/pure-lang/")
+ (synopsis "Pure programming Language")
+ (description "@code{pure} is a programming language based on term
+rewriting. It offers equational definitions with pattern matching,
+full symbolic rewriting capabilities, dynamic typing, eager and lazy
+evaluation, lexical closures, built-in list and matrix support and
+a C interface.")
+ (license license:gpl3+)))
diff --git a/gnu/packages/python-crypto.scm b/gnu/packages/python-crypto.scm
index aa93e4d611..ace0891a7d 100644
--- a/gnu/packages/python-crypto.scm
+++ b/gnu/packages/python-crypto.scm
@@ -8,7 +8,7 @@
;;; Copyright © 2015 Cyril Roelandt <tipecaml@gmail.com>
;;; Copyright © 2014, 2017 Eric Bavier <bavier@member.fsf.org>
;;; Copyright © 2015, 2016 David Thompson <davet@gnu.org>
-;;; Copyright © 2016, 2017 Tobias Geerinckx-Rice <me@tobias.gr>
+;;; Copyright © 2016, 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2016, 2017 Nils Gillmann <ng0@n0.is>
;;; Copyright © 2014, 2015 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2015, 2016, 2017 Ricardo Wurmus <rekado@elephly.net>
@@ -122,21 +122,18 @@ John the Ripper).")
(define-public python-paramiko
(package
(name "python-paramiko")
- (version "2.1.5")
+ (version "2.4.1")
(source
(origin
(method url-fetch)
(uri (pypi-uri "paramiko" version))
(sha256
(base32
- "1pf0zxzhgyy4avby3ajg5hp18b0d8iirbkdfw53z0h6w611bp0wk"))))
+ "1wx4s95i2cdh8hhi1c3jb8lzk71jifa3z9wjfsx905y7lrsngqrk"))))
(build-system python-build-system)
(arguments
- '(#:phases
- (modify-phases %standard-phases
- (replace 'check
- (lambda _
- (zero? (system* "python" "test.py")))))))
+ `(;; FIXME: Tests require many unpackaged libraries, see dev-requirements.txt.
+ #:tests? #f))
(propagated-inputs
`(("python-pyasn1" ,python-pyasn1)
("python-cryptography" ,python-cryptography)))
@@ -281,14 +278,14 @@ is used by the Requests library to verify HTTPS requests.")
(define-public python-cryptography-vectors
(package
(name "python-cryptography-vectors")
- (version "2.2.1")
+ (version "2.2.2")
(source
(origin
(method url-fetch)
(uri (pypi-uri "cryptography_vectors" version))
(sha256
(base32
- "1zk2shzpa9kw8fgwpsbdm5cgvbjd05vh2q6r0x9jlzq5vvjg4z5y"))))
+ "122na0c6r24ch2ifyr4ccjyih0inpqy7bc5za77699g3pa22rd98"))))
(build-system python-build-system)
(home-page "https://github.com/pyca/cryptography")
(synopsis "Test vectors for the cryptography package")
@@ -303,14 +300,14 @@ is used by the Requests library to verify HTTPS requests.")
(define-public python-cryptography
(package
(name "python-cryptography")
- (version "2.2.1")
+ (version "2.2.2")
(source
(origin
(method url-fetch)
(uri (pypi-uri "cryptography" version))
(sha256
(base32
- "1lxj3kqp552c715p0hzixpdhnz4ggd3jb7zz15q8dw534b9xknnx"))))
+ "0qrgip8vgcpk7v1jwf67mg50np5iprxrv8qrg8p382hkd6zrbhlz"))))
(build-system python-build-system)
(inputs
`(("openssl" ,openssl)))
diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm
index 3811233272..e5b74a57f7 100644
--- a/gnu/packages/python.scm
+++ b/gnu/packages/python.scm
@@ -48,7 +48,9 @@
;;; Copyright © 2018 Ethan R. Jones <ethanrjones97@gmail.com
;;; Copyright © 2018 Fis Trivial <ybbs.daans@hotmail.com>
;;; Copyright © 2018 Vijayalakshmi Vedantham <vijimay12@gmail.com>
-
+;;; Copyright © 2018 Mathieu Lirzin <mthl@gnu.org>
+;;; Copyright © 2018 Adam Massmann <massmannak@gmail.com>
+;;;
;;; This file is part of GNU Guix.
;;;
;;; GNU Guix is free software; you can redistribute it and/or modify it
@@ -401,6 +403,24 @@ data types.")
("openssl" ,openssl)
("zlib" ,zlib)))))
+(define-public python-debug
+ (package
+ (inherit python)
+ (name "python-debug")
+ (outputs '("out" "debug"))
+ (build-system gnu-build-system)
+ (arguments
+ (substitute-keyword-arguments (package-arguments python)
+ ((#:configure-flags flags '())
+ `(cons "--with-pydebug" ,flags))))
+ (synopsis
+ "High-level, dynamically-typed programming language (for debugging)")
+ (description
+ "This variant of Python provides an interpreter built with
+@code{--with-pydebug} to help develop and debug extensions. See
+@url{https://pythonextensionpatterns.readthedocs.io/en/latest/debugging/debug.html},
+for more information.")))
+
(define* (wrap-python3 python
#:optional
(name (string-append (package-name python) "-wrapper")))
@@ -1286,9 +1306,9 @@ applications. dogtail scripts are written in Python and executed like any
other Python program.")
(license license:gpl2+)))
-(define-public python2-empy
+(define-public python-empy
(package
- (name "python2-empy")
+ (name "python-empy")
(version "3.3")
(source (origin
(method url-fetch)
@@ -1299,12 +1319,7 @@ other Python program.")
"01g8mmkfnvjdmlhsihwyx56lrg7r5m5d2fg6mnxsvy6g0dnl69f6"))))
(build-system python-build-system)
(arguments
- `(#:python ,python-2
- #:phases
- (modify-phases %standard-phases
- (replace 'check
- (lambda _
- (zero? (system* "./test.sh")))))))
+ `(#:tests? #f)) ;python2 only
(home-page "http://www.alcyone.com/software/empy/")
(synopsis "Templating system for Python")
(description
@@ -1321,6 +1336,9 @@ system is highly configurable via command line options and embedded
commands.")
(license license:lgpl2.1+)))
+(define-public python2-empy
+ (package-with-python2 python-empy))
+
(define-public python2-element-tree
(package
(name "python2-element-tree")
@@ -1767,15 +1785,14 @@ files.")
(define-public python-pyld
(package
(name "python-pyld")
- (version "0.7.1")
+ (version "1.0.3")
(source (origin
(method url-fetch)
(uri (pypi-uri "PyLD" version))
(sha256
(base32
- "1m0fs6897vxfkf7awah5i66i7b7smm5fnywf1w50fpzyfbfhr156"))))
+ "12i2g6xdj30k7xxcibg3sc5y76snwq8l6n8fy9lyi577kgy0h2pm"))))
(build-system python-build-system)
- (arguments `(#:tests? #f)) ; no tests
(home-page "https://github.com/digitalbazaar/pyld")
(synopsis "Python implementation of the JSON-LD specification")
(description
@@ -5797,9 +5814,7 @@ from an XML-based format.")
(source
(origin
(method url-fetch)
- (uri (string-append "https://pypi.python.org/packages/57/4f/"
- "889579244947368f28eda66b782331b1e75f83fd72e63f9ece93cd7a18f9"
- "/python-ly-" version ".tar.gz"))
+ (uri (pypi-uri name version))
(sha256
(base32
"0x98dv7p8mg26p4816yy8hz4f34zf6hpnnfmr56msgh9jnsm2qfl"))))
@@ -8602,14 +8617,14 @@ to occurrences in strings and comments.")
(define-public python-py3status
(package
(name "python-py3status")
- (version "3.1")
+ (version "3.7")
(source
(origin
(method url-fetch)
(uri (pypi-uri "py3status" version))
(sha256
(base32
- "0i283z1pivmir61z8kbiycigc94l61v33ygzkhczf1ifq7cppyds"))))
+ "0shxcfz4wcczj0mhwp4w0dvwd2fdd9bgprq8slim1519iiqzgwhq"))))
(build-system python-build-system)
(inputs
`(("file" ,file)))
@@ -8622,8 +8637,8 @@ to occurrences in strings and comments.")
(lambda* (#:key inputs #:allow-other-keys)
(let ((file-path (assoc-ref inputs "file")))
(substitute* "py3status/parse_config.py"
- (("check_output\\(\\['file'")
- (string-append "check_output(['" file-path "/bin/file'")))
+ (("\\['file', '-b'")
+ (string-append "['" file-path "/bin/file', '-b'")))
#t))))
#:tests? #f)) ; TODO: Requires many libraries not in Guix.
(home-page "https://github.com/ultrabug/py3status")
@@ -13067,3 +13082,48 @@ file system events on Linux.")
(base32
"0svc9nla3b9145d6b7fb9dizx412l3difzqw0ilh9lz52nsixw8j"))
(file-name (string-append name "-" version ".tar.gz"))))))
+
+(define-public python-latexcodec
+ (package
+ (name "python-latexcodec")
+ (version "1.0.5")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "latexcodec" version))
+ (sha256
+ (base32
+ "0zdd1gf24i83ykadx0y30n3001j43scqr2saql3vckk5c39dj1wn"))))
+ (build-system python-build-system)
+ (inputs
+ `(("python-six" ,python-six)))
+ (home-page "https://readthedocs.org/projects/latexcodec/")
+ (synopsis "Work with LaTeX code in Python")
+ (description "Lexer and codec to work with LaTeX code in Python.")
+ (license license:expat)))
+
+(define-public python-pybtex
+ (package
+ (name "python-pybtex")
+ (version "0.21")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "pybtex" version))
+ (sha256
+ (base32
+ "00300j8dn5pxq4ndxmfmbmycg2znawkqs49val2x6jlmfiy6r2mg"))))
+ (build-system python-build-system)
+ (native-inputs
+ `(("python-nose" ,python-nose)))
+ (inputs
+ `(("python-latexcodec" ,python-latexcodec)
+ ("python-pyyaml" ,python-pyyaml)
+ ("python-six" ,python-six)))
+ (arguments
+ `(#:test-target "nosetests"))
+ (home-page "https://pybtex.org/")
+ (synopsis "BibTeX-compatible bibliography processor")
+ (description "Pybtex is a BibTeX-compatible bibliography processor written
+in Python. You can simply type pybtex instead of bibtex.")
+ (license license:expat)))
diff --git a/gnu/packages/rdf.scm b/gnu/packages/rdf.scm
index 4d8b1d1d88..249bf3094f 100644
--- a/gnu/packages/rdf.scm
+++ b/gnu/packages/rdf.scm
@@ -120,29 +120,21 @@ Java Lucene text search engine API to C++.")
(define-public lrdf
(package
(name "lrdf")
- (version "0.5.0")
+ (version "0.6.1")
(source (origin
(method url-fetch)
- (uri (string-append "https://github.com/swh/LRDF/archive/"
+ (uri (string-append "https://github.com/swh/LRDF/archive/v"
version ".tar.gz"))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
- "18p2flb2sv2hq6w2qkd29z9c7knnwqr3f12i2srshlzx6vwkm05s"))))
+ "1vxii4mlcpyi16dizcmnqfl2j9gffgr986yd8ic67hvs8xy42yfm"))))
(build-system gnu-build-system)
(arguments
'(#:phases
(modify-phases %standard-phases
(add-after 'unpack 'remove-out-of-tree-references
(lambda _
- ;; remove symlinks to files in /usr/
- (delete-file-recursively "m4")
- (for-each delete-file '("config.guess"
- "config.sub"
- "depcomp"
- "install-sh"
- "ltmain.sh"
- "missing"))
;; remove_test depends on an out-of-tree RDF file
(substitute* "examples/Makefile.am"
(("instances_test remove_test") "instances_test")
@@ -154,7 +146,6 @@ Java Lucene text search engine API to C++.")
(inputs
`(("raptor" ,raptor2)
("cyrus-sasl" ,cyrus-sasl)
- ("openssl" ,openssl)
("zlib" ,zlib)))
(native-inputs
`(("autoconf" ,autoconf)
diff --git a/gnu/packages/regex.scm b/gnu/packages/regex.scm
index 1294149609..38a371d233 100644
--- a/gnu/packages/regex.scm
+++ b/gnu/packages/regex.scm
@@ -29,17 +29,15 @@
(define-public re2
(package
(name "re2")
- (version "2018-03-01")
+ (version "2018-04-01")
+ (home-page "https://github.com/google/re2")
(source (origin
(method url-fetch)
- (uri
- (string-append
- "https://github.com/google/re2/archive/"
- version ".tar.gz"))
+ (uri (string-append home-page "/archive/" version ".tar.gz"))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
- "0y21g321a802xmxdbkfz0rkcark7ypglpb3jjqhf13m6s7lpxp2i"))))
+ "04n9ngikvpikpshwcrl26sxgn8qbrymy3b5wlbsyfdhknx35951g"))))
(build-system gnu-build-system)
(arguments
`(#:modules ((guix build gnu-build-system)
@@ -66,7 +64,6 @@
(delete-file (string-append (assoc-ref outputs "out")
"/lib/libre2.a"))
#t)))))
- (home-page "https://github.com/google/re2")
(synopsis "Fast, safe, thread-friendly regular expression engine")
(description "RE2 is a fast, safe, thread-friendly alternative to
backtracking regular expression engines like those used in PCRE, Perl and
diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index ecb2d46aad..67dc6badfe 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -8,7 +8,7 @@
;;; Copyright © 2017 Nils Gillmann <ng0@n0.is>
;;; Copyright © 2017 Marius Bakke <mbakke@fastmail.com>
;;; Copyright © 2017 Efraim Flashner <efraim@flashner.co.il>
-;;; Copyright © 2017 Tobias Geerinckx-Rice <me@tobias.gr>
+;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2017 Clément Lassieur <clement@lassieur.org>
;;;
;;; This file is part of GNU Guix.
@@ -109,7 +109,7 @@ a focus on simplicity and productivity.")
(define-public ruby-2.3
(package
(inherit ruby)
- (version "2.3.6")
+ (version "2.3.7")
(source
(origin
(method url-fetch)
@@ -118,7 +118,7 @@ a focus on simplicity and productivity.")
"/ruby-" version ".tar.xz"))
(sha256
(base32
- "0mlz0mk7yyxia37k8fdv8m8a72h61nfbns28430h796l4an6kng0"))
+ "1nwfaifq5624p1ml56qq5dy5w38z37x22r0qgrbgbzrzklmqy7y6"))
(modules '((guix build utils)))
(snippet `(begin
;; Remove bundled libffi
@@ -127,7 +127,7 @@ a focus on simplicity and productivity.")
(define-public ruby-2.2
(package (inherit ruby)
- (version "2.2.9")
+ (version "2.2.10")
(source
(origin
(method url-fetch)
@@ -136,7 +136,7 @@ a focus on simplicity and productivity.")
"/ruby-" version ".tar.xz"))
(sha256
(base32
- "0p18xykx8dm5mmlx5n5243z67lj4vbvwr70bnc5x12am22ql8fri"))))))
+ "0l5nk9mc0q4769d2i9d9y1izk0pk0lms2bl8s3lclv36wsvvqxxz"))))))
(define-public ruby-2.1
(package (inherit ruby)
@@ -669,14 +669,14 @@ line of code.")
(define-public ruby-asciidoctor
(package
(name "ruby-asciidoctor")
- (version "1.5.6.1")
+ (version "1.5.6.2")
(source
(origin
(method url-fetch)
(uri (rubygems-uri "asciidoctor" version))
(sha256
(base32
- "1jnf9y8q5asfdzilp8vcqafrc2faj719df4yh1993mh6jd0iqdy4"))))
+ "0zq3az4836nxkc8g5wnnbzmarw7663s1ky6gf8pc04sfpa8n2l3f"))))
(build-system ruby-build-system)
(arguments
`(#:test-target "test:all"
@@ -4964,14 +4964,14 @@ Markdown.")
(define-public ruby-rake
(package
(name "ruby-rake")
- (version "12.3.0")
+ (version "12.3.1")
(source
(origin
(method url-fetch)
(uri (rubygems-uri "rake" version))
(sha256
(base32
- "190p7cs8zdn07mjj6xwwsdna3g0r98zs4crz7jh2j2q5b0nbxgjf"))))
+ "1idi53jay34ba9j68c3mfr9wwkg3cd9qh0fn9cg42hv72c6q8dyg"))))
(build-system ruby-build-system)
(native-inputs
`(("bundler" ,bundler)))
diff --git a/gnu/packages/rust.scm b/gnu/packages/rust.scm
index 7d0eb70875..eaa8c48525 100644
--- a/gnu/packages/rust.scm
+++ b/gnu/packages/rust.scm
@@ -3,7 +3,7 @@
;;; Copyright © 2016 Eric Le Bihan <eric.le.bihan.dev@free.fr>
;;; Copyright © 2016 Nils Gillmann <ng0@n0.is>
;;; Copyright © 2017 Ben Woodcroft <donttrustben@gmail.com>
-;;; Copyright © 2017 Nikolai Merinov <nikolai.merinov@member.fsf.org>
+;;; Copyright © 2017, 2018 Nikolai Merinov <nikolai.merinov@member.fsf.org>
;;; Copyright © 2017 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
;;;
@@ -46,71 +46,48 @@
#:use-module (guix build-system gnu)
#:use-module (guix build-system trivial)
#:use-module (guix download)
- #:use-module (guix base16) ;for generated "cargo" native-inputs
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix packages)
+ #:use-module ((guix build utils) #:select (alist-replace))
+ #:use-module (guix utils)
#:use-module (ice-9 match)
#:use-module (srfi srfi-26))
-;; Should be one less than the current released version.
-(define %rust-bootstrap-binaries-version "1.21.0")
-
-(define %rust-bootstrap-binaries
- (origin
- (method url-fetch)
- (uri (string-append
- "https://static.rust-lang.org/dist/"
- "rust-" %rust-bootstrap-binaries-version
- "-" %host-type ".tar.gz"))
- (sha256
- (base32
- (match %host-type
- ("i686-unknown-linux-gnu"
- "1vnvqwz30hvyjcfr1f602lg43v2vlqjr3yhb5vr8xnrcc07yvjmp")
- ("x86_64-unknown-linux-gnu"
- "1s0866qcy0645bqhsbs3pvk2hi52ps8jzs7x096w0as033h707ml")
- ("armv7-unknown-linux-gnueabihf"
- "1ml8fjq2b6j2vn1j314w93pf4wjl97n1mbz609h3i7md0zqscvs1")
- ("aarch64-unknown-linux-gnu"
- "1hv4m2m7xjcph39r6baryfg23hjcr4sbsrfnd1lh0wn67k2fc7j9")
- ("mips64el-unknown-linux-gnuabi64"
- "0p7fzkfcqg5yvj86v434z351dp7s7pgns8nzxj0fz3hmbfbvlvn9")
- (_ "")))))) ; Catch-all for other systems.
-
(define %cargo-reference-project-file "/dev/null")
(define %cargo-reference-hash
"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855")
-(define (increment-rust-version rust-version major patch)
- (match (string-split rust-version #\.)
- (("1" minor _)
- (string-append (number->string major) "."
- (number->string (+ (string->number minor) 1)) "."
- (number->string patch)))))
-
-(define* (cargo-version rustc-version #:optional (patch 0))
- ;; Computes the cargo version that matches the rustc version.
- ;; This has so far continued to follow a predictable pattern:
- ;; https://github.com/rust-lang/cargo/blob/50a46f47/README.md#releases
- (increment-rust-version rustc-version 0 patch))
-
-(define* (rustc-version bootstrap-version #:optional (patch 0))
- ;; Computes the rustc version that can be compiled from a given
- ;; other rustc version. The patch argument is for selecting
- ;; a stability or security fix. 1.11.0 -> 1.12.1 -> 1.13.0
- (increment-rust-version bootstrap-version 1 patch))
-
-(define rustc-bootstrap
+(define rust-bootstrap
(package
- (name "rustc-bootstrap")
- (version %rust-bootstrap-binaries-version)
- (source %rust-bootstrap-binaries)
+ (name "rust-bootstrap")
+ (version "1.22.1")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append
+ "https://static.rust-lang.org/dist/"
+ "rust-" version "-" %host-type ".tar.gz"))
+ (sha256
+ (base32
+ (match %host-type
+ ("i686-unknown-linux-gnu"
+ "15zqbx86nm13d5vq2gm69b7av4vg479f74b5by64hs3bcwwm08pr")
+ ("x86_64-unknown-linux-gnu"
+ "1yll78x6b3abnvgjf2b66gvp6mmcb9y9jdiqcwhmgc0z0i0fix4c")
+ ("armv7-unknown-linux-gnueabihf"
+ "138a8l528kzp5wyk1mgjaxs304ac5ms8vlpq0ggjaznm6bn2j7a5")
+ ("aarch64-unknown-linux-gnu"
+ "0z6m9m1rx4d96nvybbfmpscq4dv616m615ijy16d5wh2vx0p4na8")
+ ("mips64el-unknown-linux-gnuabi64"
+ "07k4pcv7jvfa48cscdj8752lby7m7xdl88v3a6na1vs675lhgja2")
+ (_ ""))))))
(build-system gnu-build-system)
(native-inputs
`(("patchelf" ,patchelf)))
(inputs
- `(("gcc:lib" ,(canonical-package gcc) "lib")
+ `(("gcc" ,(canonical-package gcc))
+ ("gcc:lib" ,(canonical-package gcc) "lib")
("zlib" ,zlib)))
+ (outputs '("out" "cargo"))
(arguments
`(#:tests? #f
#:strip-binaries? #f
@@ -121,129 +98,64 @@
(replace 'install
(lambda* (#:key inputs outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
+ (cargo-out (assoc-ref outputs "cargo"))
(gcc:lib (assoc-ref inputs "gcc:lib"))
(libc (assoc-ref inputs "libc"))
(zlib (assoc-ref inputs "zlib"))
(ld-so (string-append libc ,(glibc-dynamic-linker)))
(rpath (string-append out "/lib:" zlib "/lib:"
libc "/lib:" gcc:lib "/lib"))
+ (cargo-rpath (string-append cargo-out "/lib:" libc "/lib:"
+ gcc:lib "/lib"))
(rustc (string-append out "/bin/rustc"))
- (rustdoc (string-append out "/bin/rustdoc")))
- (system* "bash" "install.sh"
+ (rustdoc (string-append out "/bin/rustdoc"))
+ (cargo (string-append cargo-out "/bin/cargo"))
+ (gcc (assoc-ref inputs "gcc")))
+ ;; Install rustc/rustdoc
+ (invoke "bash" "install.sh"
(string-append "--prefix=" out)
(string-append "--components=rustc,"
"rust-std-" %host-type))
+ ;; Instal cargo
+ (invoke "bash" "install.sh"
+ (string-append "--prefix=" cargo-out)
+ (string-append "--components=cargo"))
(for-each (lambda (file)
- (system* "patchelf" "--set-rpath" rpath file))
+ (invoke "patchelf" "--set-rpath" rpath file))
(cons* rustc rustdoc (find-files out "\\.so$")))
+ (invoke "patchelf" "--set-rpath" cargo-rpath cargo)
(for-each (lambda (file)
- (system* "patchelf" "--set-interpreter" ld-so file))
- (list rustc rustdoc))))))))
- (home-page "https://www.rust-lang.org")
- (synopsis "Prebuilt rust compiler")
- (description "This package provides a pre-built @command{rustc} compiler,
-which can in turn be used to build the final Rust compiler.")
- (license license:asl2.0)))
-
-(define cargo-bootstrap
- (package
- (name "cargo-bootstrap")
- (version (cargo-version %rust-bootstrap-binaries-version 1))
- (source %rust-bootstrap-binaries)
- (build-system gnu-build-system)
- (native-inputs
- `(("patchelf" ,patchelf)))
- (inputs
- `(("gcc:lib" ,(canonical-package gcc) "lib")))
- (arguments
- `(#:tests? #f
- #:strip-binaries? #f
- #:phases
- (modify-phases %standard-phases
- (delete 'configure)
- (delete 'build)
- (replace 'install
- (lambda* (#:key inputs outputs #:allow-other-keys)
- (let* ((out (assoc-ref outputs "out"))
- (gcc:lib (assoc-ref inputs "gcc:lib"))
- (libc (assoc-ref inputs "libc"))
- (ld-so (string-append libc ,(glibc-dynamic-linker)))
- (rpath (string-append out "/lib:" libc "/lib:"
- gcc:lib "/lib"))
- (cargo (string-append out "/bin/cargo")))
- (system* "bash" "install.sh"
- (string-append "--prefix=" out)
- "--components=cargo")
- (system* "patchelf"
- "--set-interpreter" ld-so
- "--set-rpath" rpath
- cargo)))))))
+ (invoke "patchelf" "--set-interpreter" ld-so file))
+ (list rustc rustdoc cargo))
+ ;; Rust requires a C toolchain for linking. The prebuilt
+ ;; binaries expect a compiler called cc. Thus symlink gcc
+ ;; to cc.
+ (symlink (string-append gcc "/bin/gcc")
+ (string-append out "/bin/cc"))
+ #t))))))
(home-page "https://www.rust-lang.org")
- (synopsis "Prebuilt cargo package manager")
- (description "This package provides a pre-built @command{cargo} package
-manager, which is required to build itself.")
+ (synopsis "Prebuilt rust compiler and cargo package manager")
+ (description "This package provides a pre-built @command{rustc} compiler
+and a pre-built @command{cargo} package manaer, which can
+in turn be used to build the final Rust.")
(license license:asl2.0)))
-(define rust-bootstrap
- (package
- (name "rust-bootstrap")
- (version %rust-bootstrap-binaries-version)
- (source #f)
- (build-system trivial-build-system)
- (propagated-inputs
- `(("rustc-bootstrap" ,rustc-bootstrap)
- ("cargo-bootstrap" ,cargo-bootstrap)
- ("gcc" ,(canonical-package gcc))))
- (arguments
- `(#:modules ((guix build utils))
- #:builder
- (begin
- (use-modules (guix build utils))
- (let ((out (assoc-ref %outputs "out"))
- (gcc (assoc-ref %build-inputs "gcc")))
- (mkdir-p (string-append out "/bin"))
- ;; Rust requires a C toolchain for linking. The prebuilt
- ;; binaries expect a compiler called cc. Thus symlink gcc
- ;; to cc.
- (symlink (string-append gcc "/bin/gcc")
- (string-append out "/bin/cc"))))))
- (home-page "https://www.rust-lang.org")
- (synopsis "Rust bootstrapping meta package")
- (description "Meta package for a rust environment. Provides pre-compiled
-rustc-bootstrap and cargo-bootstrap packages.")
- (license license:asl2.0)))
-(define-public rustc
+(define (rust-source version hash)
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://static.rust-lang.org/dist/"
+ "rustc-" version "-src.tar.gz"))
+ (sha256 (base32 hash))
+ (modules '((guix build utils)))
+ (snippet '(begin (delete-file-recursively "src/llvm") #t))))
+
+(define-public rust-1.19
(package
- (name "rustc")
- (version (rustc-version %rust-bootstrap-binaries-version 1))
- (source (origin
- (method url-fetch)
- (uri (string-append
- "https://static.rust-lang.org/dist/"
- "rustc-" version "-src.tar.gz"))
- (sha256
- (base32
- "1lrzzp0nh7s61wgfs2h6ilaqi6iq89f1pd1yaf65l87bssyl4ylb"))
- (modules '((guix build utils)))
- (snippet
- `(begin
- (delete-file-recursively "src/llvm")
- #t))))
- (build-system gnu-build-system)
- (native-inputs
- `(("bison" ,bison) ; For the tests
- ("cmake" ,cmake)
- ("flex" ,flex) ; For the tests
- ("gdb" ,gdb) ; For the tests
- ("git" ,git)
- ("procps" ,procps) ; For the tests
- ("python-2" ,python-2)
- ("rust-bootstrap" ,rust-bootstrap)
- ("which" ,which)))
- (inputs
- `(("jemalloc" ,jemalloc-4.5.0)
- ("llvm" ,llvm-3.9.1)))
+ (name "rust")
+ (version "1.19.0")
+ (source (rust-source version "0l8c14qsf42rmkqy92ahij4vf356dbyspxcips1aswpvad81y8qm"))
+ (outputs '("out" "cargo"))
(arguments
`(#:imported-modules ,%cargo-build-system-modules ;for `generate-checksums'
#:phases
@@ -258,9 +170,6 @@ rustc-bootstrap and cargo-bootstrap packages.")
(add-after 'unpack 'patch-tests
(lambda* (#:key inputs #:allow-other-keys)
(let ((bash (assoc-ref inputs "bash")))
- (substitute* "src/build_helper/lib.rs"
- ;; In same folder as gcc there is only "gcc-ar" utility
- (("file\\.push_str\\(\"ar\"\\);") "file.push_str(\"gcc-ar\");"))
(substitute* "src/libstd/process.rs"
;; The newline is intentional.
;; There's a line length "tidy" check in Rust which would
@@ -276,15 +185,9 @@ rustc-bootstrap and cargo-bootstrap packages.")
;; Our ld-wrapper cannot process non-UTF8 bytes in LIBRARY_PATH.
;; <https://lists.gnu.org/archive/html/guix-devel/2017-06/msg00193.html>
(delete-file-recursively "src/test/run-make/linker-output-non-utf8")
- (substitute* "src/build_helper/lib.rs"
- ;; Bug in Rust code.
- ;; Current implementation assume that if dst not exist then it's mtime
- ;; is 0, but in same time "src" have 0 mtime in guix build!
- (("let threshold = mtime\\(dst\\);")
- "if !dst.exists() {\nreturn false\n}\n let threshold = mtime(dst);"))
#t)))
(add-after 'patch-source-shebangs 'patch-cargo-checksums
- (lambda* (#:key inputs #:allow-other-keys)
+ (lambda* _
(substitute* "src/Cargo.lock"
(("(\"checksum .* = )\".*\"" all name)
(string-append name "\"" ,%cargo-reference-hash "\"")))
@@ -300,32 +203,101 @@ rustc-bootstrap and cargo-bootstrap packages.")
(find-files "src/vendor" ".cargo-checksum.json"))
#t))
(replace 'configure
- (lambda* (#:key inputs outputs #:allow-other-keys)
- (let* ((out (assoc-ref outputs "out"))
- (gcc (assoc-ref inputs "gcc"))
- (gdb (assoc-ref inputs "gdb"))
- (binutils (assoc-ref inputs "binutils"))
- (python (assoc-ref inputs "python-2"))
- (rustc (assoc-ref inputs "rustc-bootstrap"))
- (cargo (assoc-ref inputs "cargo-bootstrap"))
- (llvm (assoc-ref inputs "llvm"))
- (jemalloc (assoc-ref inputs "jemalloc")))
- (call-with-output-file "config.toml"
- (lambda (port)
- (display (string-append "
+ (const #t))
+ (replace 'check
+ (const #t))
+ (replace 'install
+ (const #t)))))
+ (build-system gnu-build-system)
+ (native-inputs
+ `(("bison" ,bison) ; For the tests
+ ("cmake" ,cmake)
+ ("flex" ,flex) ; For the tests
+ ("gdb" ,gdb) ; For the tests
+ ("git" ,git)
+ ("procps" ,procps) ; For the tests
+ ("python-2" ,python-2)
+ ("rustc-bootstrap" ,rust-bootstrap)
+ ("cargo-bootstrap" ,rust-bootstrap "cargo")
+ ("pkg-config" ,pkg-config) ; For "cargo"
+ ("which" ,which)))
+ (inputs
+ `(("jemalloc" ,jemalloc-4.5.0)
+ ("llvm" ,llvm-3.9.1)
+ ("openssl" ,openssl)
+ ("libcurl" ,curl))) ; For "cargo"
+ ;; rustc invokes gcc, so we need to set its search paths accordingly.
+ (native-search-paths (package-native-search-paths gcc))
+ (synopsis "Compiler for the Rust progamming language")
+ (description "Rust is a systems programming language that provides memory
+safety and thread safety guarantees.")
+ (home-page "https://www.rust-lang.org")
+ ;; Dual licensed.
+ (license (list license:asl2.0 license:expat))))
+
+(define (rust-bootstrapped-package base-rust version checksum)
+ "Bootstrap rust VERSION with source checksum CHECKSUM using BASE-RUST."
+ (package
+ (inherit base-rust)
+ (version version)
+ (source
+ (rust-source version checksum))
+ (native-inputs
+ (alist-replace "cargo-bootstrap" (list base-rust "cargo")
+ (alist-replace "rustc-bootstrap" (list base-rust)
+ (package-native-inputs base-rust))))))
+
+(define-public rust-1.23
+ (package
+ (inherit rust-1.19)
+ (name "rust")
+ (version "1.23.0")
+ (source (rust-source version "14fb8vhjzsxlbi6yrn1r6fl5dlbdd1m92dn5zj5gmzfwf4w9ar3l"))
+ (outputs '("out" "doc" "cargo"))
+ (arguments
+ (substitute-keyword-arguments (package-arguments rust-1.19)
+ ((#:phases phases)
+ `(modify-phases ,phases
+ (add-after 'patch-tests 'fix-mtime-bug
+ (lambda* _
+ (substitute* "src/build_helper/lib.rs"
+ ;; Bug in Rust code.
+ ;; Current implementation assume that if dst not exist then it's mtime
+ ;; is 0, but in same time "src" have 0 mtime in guix build!
+ (("let threshold = mtime\\(dst\\);")
+ "if !dst.exists() {\nreturn false\n}\n let threshold = mtime(dst);"))
+ #t))
+ (replace 'configure
+ (lambda* (#:key inputs outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+ (doc (assoc-ref outputs "doc"))
+ (gcc (assoc-ref inputs "gcc"))
+ (gdb (assoc-ref inputs "gdb"))
+ (binutils (assoc-ref inputs "binutils"))
+ (python (assoc-ref inputs "python-2"))
+ (rustc (assoc-ref inputs "rustc-bootstrap"))
+ (cargo (assoc-ref inputs "cargo-bootstrap"))
+ (llvm (assoc-ref inputs "llvm"))
+ (jemalloc (assoc-ref inputs "jemalloc")))
+ (call-with-output-file "config.toml"
+ (lambda (port)
+ (display (string-append "
[llvm]
[build]
cargo = \"" cargo "/bin/cargo" "\"
rustc = \"" rustc "/bin/rustc" "\"
+docs = true
python = \"" python "/bin/python2" "\"
gdb = \"" gdb "/bin/gdb" "\"
vendor = true
submodules = false
[install]
prefix = \"" out "\"
+docdir = \"" doc "/share/doc/rust" "\"
+sysconfdir = \"etc\"
+localstatedir = \"var/lib\"
[rust]
default-linker = \"" gcc "/bin/gcc" "\"
-default-ar = \"" binutils "/bin/ar" "\"
channel = \"stable\"
rpath = true
# There is 2 failed codegen tests:
@@ -336,12 +308,13 @@ codegen-tests = false
llvm-config = \"" llvm "/bin/llvm-config" "\"
cc = \"" gcc "/bin/gcc" "\"
cxx = \"" gcc "/bin/g++" "\"
+ar = \"" binutils "/bin/ar" "\"
jemalloc = \"" jemalloc "/lib/libjemalloc_pic.a" "\"
[dist]
") port)))
#t)))
(add-before 'build 'reset-timestamps-after-changes
- (lambda* (#:key inputs outputs #:allow-other-keys)
+ (lambda* _
(define ref (stat "README.md"))
(for-each
(lambda (filename)
@@ -349,14 +322,21 @@ jemalloc = \"" jemalloc "/lib/libjemalloc_pic.a" "\"
(find-files "." #:directories? #t))
#t))
(replace 'build
- (lambda* (#:key inputs outputs #:allow-other-keys)
- (zero? (system* "./x.py" "build"))))
+ (lambda* _
+ (invoke "./x.py" "build")
+ (invoke "./x.py" "build" "src/tools/cargo")))
(replace 'check
- (lambda* (#:key inputs outputs #:allow-other-keys)
- (zero? (system* "./x.py" "test"))))
+ (lambda* _
+ (invoke "./x.py" "test")))
(replace 'install
- (lambda* (#:key inputs outputs #:allow-other-keys)
- (zero? (system* "./x.py" "install"))))
+ (lambda* (#:key outputs #:allow-other-keys)
+ (invoke "./x.py" "install")
+ (substitute* "config.toml"
+ ;; replace prefix to specific output
+ (("prefix = \"[^\"]*\"")
+ (string-append "prefix = \"" (assoc-ref outputs "cargo") "\"")))
+ (invoke "./x.py" "install" "cargo")
+ #t))
(add-after 'install 'wrap-rustc
(lambda* (#:key inputs outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out"))
@@ -366,1105 +346,16 @@ jemalloc = \"" jemalloc "/lib/libjemalloc_pic.a" "\"
(wrap-program (string-append out "/bin/rustc")
`("PATH" ":" prefix (,(string-append ld-wrapper "/bin")))
`("LIBRARY_PATH" ":" suffix (,(string-append libc "/lib"))))
- #t))))))
- ;; rustc invokes gcc, so we need to set its search paths accordingly.
- (native-search-paths (package-native-search-paths gcc))
- (synopsis "Compiler for the Rust progamming language")
- (description "Rust is a systems programming language that provides memory
-safety and thread safety guarantees.")
- (home-page "https://www.rust-lang.org")
- ;; Dual licensed.
- (license (list license:asl2.0 license:expat))))
+ #t)))))))))
-;; This tries very hard not to get into a cyclic dependency like this:
-;; cargo <- cargo-build-system <- cargo.
-(define-public cargo
- (package
- (name "cargo")
- (version (cargo-version (rustc-version %rust-bootstrap-binaries-version) 0))
- (source (origin
- (method url-fetch)
- (uri (string-append "https://github.com/rust-lang/cargo/archive/"
- version ".tar.gz"))
- (file-name (string-append name "-" version ".tar.gz"))
- (sha256
- (base32
- "0kr7rml7v2bm7zl8jcb3056h63zpyy9m08s212i8vfwxf6lf5fzl"))))
- (build-system cargo-build-system)
- (propagated-inputs
- `(("cmake" ,cmake)
- ("pkg-config" ,pkg-config)))
- (inputs
- `(("curl" ,curl)
- ("libgit2" ,libgit2)
- ("libssh2" ,libssh2)
- ("openssl" ,openssl)
- ("python-2" ,python-2)
- ("zlib" ,zlib)))
- (native-inputs
- `(("git" ,git) ; required for tests
- ;; Next dependencies generated with next command:
- ;; cat Cargo.lock | awk '
- ;; /^"checksum/
- ;; { oname=name=$2; vers=$3; hash=$6;
- ;; if (ns[name] != 1) { ns[name]=1; } else { name = name "-" vers; }
- ;; print " (\"rust-" name "\"";
- ;; print " ,(origin";
- ;; print " (method url-fetch)";
- ;; print " (uri (crate-uri \"" oname "\" \"" vers "\"))";
- ;; print " (file-name \"rust-" oname "\-\" vers "\")
- ;; print " (sha256";
- ;; print " (base16-string->bytevector";
- ;; print " " hash "))))"
- ;; }'
- ("rust-advapi32-sys"
- ,(origin
- (method url-fetch)
- (uri (crate-uri "advapi32-sys" "0.2.0"))
- (file-name "rust-advapi32-sys-0.2.0")
- (sha256
- (base16-string->bytevector
- "e06588080cb19d0acb6739808aafa5f26bfb2ca015b2b6370028b44cf7cb8a9a"))))
- ("rust-aho-corasick"
- ,(origin
- (method url-fetch)
- (uri (crate-uri "aho-corasick" "0.5.3"))
- (file-name "rust-aho-corasick-0.5.3")
- (sha256
- (base16-string->bytevector
- "ca972c2ea5f742bfce5687b9aef75506a764f61d37f8f649047846a9686ddb66"))))
- ("rust-aho-corasick-0.6.3"
- ,(origin
- (method url-fetch)
- (uri (crate-uri "aho-corasick" "0.6.3"))
- (file-name "rust-aho-corasick-0.6.3")
- (sha256
- (base16-string->bytevector
- "500909c4f87a9e52355b26626d890833e9e1d53ac566db76c36faa984b889699"))))
- ("rust-atty"
- ,(origin
- (method url-fetch)
- (uri (crate-uri "atty" "0.2.3"))
- (file-name "rust-atty-0.2.3")
- (sha256
- (base16-string->bytevector
- "21e50800ec991574876040fff8ee46b136a53e985286fbe6a3bdfe6421b78860"))))
- ("rust-backtrace"
- ,(origin
- (method url-fetch)
- (uri (crate-uri "backtrace" "0.3.3"))
- (file-name "rust-backtrace-0.3.3")
- (sha256
- (base16-string->bytevector
- "99f2ce94e22b8e664d95c57fff45b98a966c2252b60691d0b7aeeccd88d70983"))))
- ("rust-backtrace-sys"
- ,(origin
- (method url-fetch)
- (uri (crate-uri "backtrace-sys" "0.1.14"))
- (file-name "rust-backtrace-sys-0.1.14")
- (sha256
- (base16-string->bytevector
- "c63ea141ef8fdb10409d0f5daf30ac51f84ef43bff66f16627773d2a292cd189"))))
- ("rust-bitflags"
- ,(origin
- (method url-fetch)
- (uri (crate-uri "bitflags" "0.7.0"))
- (file-name "rust-bitflags-0.7.0")
- (sha256
- (base16-string->bytevector
- "aad18937a628ec6abcd26d1489012cc0e18c21798210f491af69ded9b881106d"))))
- ("rust-bitflags-0.9.1"
- ,(origin
- (method url-fetch)
- (uri (crate-uri "bitflags" "0.9.1"))
- (file-name "rust-bitflags-0.9.1")
- (sha256
- (base16-string->bytevector
- "4efd02e230a02e18f92fc2735f44597385ed02ad8f831e7c1c1156ee5e1ab3a5"))))
- ("rust-bufstream"
- ,(origin
- (method url-fetch)
- (uri (crate-uri "bufstream" "0.1.3"))
- (file-name "rust-bufstream-0.1.3")
- (sha256
- (base16-string->bytevector
- "f2f382711e76b9de6c744cc00d0497baba02fb00a787f088c879f01d09468e32"))))
- ("rust-cc"
- ,(origin
- (method url-fetch)
- (uri (crate-uri "cc" "1.0.0"))
- (file-name "rust-cc-1.0.0")
- (sha256
- (base16-string->bytevector
- "7db2f146208d7e0fbee761b09cd65a7f51ccc38705d4e7262dad4d73b12a76b1"))))
- ("rust-cfg-if"
- ,(origin
- (method url-fetch)
- (uri (crate-uri "cfg-if" "0.1.2"))
- (file-name "rust-cfg-if-0.1.2")
- (sha256
- (base16-string->bytevector
- "d4c819a1287eb618df47cc647173c5c4c66ba19d888a6e50d605672aed3140de"))))
- ("rust-cmake"
- ,(origin
- (method url-fetch)
- (uri (crate-uri "cmake" "0.1.26"))
- (file-name "rust-cmake-0.1.26")
- (sha256
- (base16-string->bytevector
- "357c07e7a1fc95732793c1edb5901e1a1f305cfcf63a90eb12dbd22bdb6b789d"))))
- ("rust-commoncrypto"
- ,(origin
- (method url-fetch)
- (uri (crate-uri "commoncrypto" "0.2.0"))
- (file-name "rust-commoncrypto-0.2.0")
- (sha256
- (base16-string->bytevector
- "d056a8586ba25a1e4d61cb090900e495952c7886786fc55f909ab2f819b69007"))))
- ("rust-commoncrypto-sys"
- ,(origin
- (method url-fetch)
- (uri (crate-uri "commoncrypto-sys" "0.2.0"))
- (file-name "rust-commoncrypto-sys-0.2.0")
- (sha256
- (base16-string->bytevector
- "1fed34f46747aa73dfaa578069fd8279d2818ade2b55f38f22a9401c7f4083e2"))))
- ("rust-conv"
- ,(origin
- (method url-fetch)
- (uri (crate-uri "conv" "0.3.3"))
- (file-name "rust-conv-0.3.3")
- (sha256
- (base16-string->bytevector
- "78ff10625fd0ac447827aa30ea8b861fead473bb60aeb73af6c1c58caf0d1299"))))
- ("rust-core-foundation"
- ,(origin
- (method url-fetch)
- (uri (crate-uri "core-foundation" "0.4.4"))
- (file-name "rust-core-foundation-0.4.4")
- (sha256
- (base16-string->bytevector
- "5909502e547762013619f4c4e01cc7393c20fe2d52d7fa471c1210adb2320dc7"))))
- ("rust-core-foundation-sys"
- ,(origin
- (method url-fetch)
- (uri (crate-uri "core-foundation-sys" "0.4.4"))
- (file-name "rust-core-foundation-sys-0.4.4")
- (sha256
- (base16-string->bytevector
- "bc9fb3d6cb663e6fd7cf1c63f9b144ee2b1e4a78595a0451dd34bff85b9a3387"))))
- ("rust-crossbeam"
- ,(origin
- (method url-fetch)
- (uri (crate-uri "crossbeam" "0.2.10"))
- (file-name "rust-crossbeam-0.2.10")
- (sha256
- (base16-string->bytevector
- "0c5ea215664ca264da8a9d9c3be80d2eaf30923c259d03e870388eb927508f97"))))
- ("rust-crossbeam-0.3.0"
- ,(origin
- (method url-fetch)
- (uri (crate-uri "crossbeam" "0.3.0"))
- (file-name "rust-crossbeam-0.3.0")
- (sha256
- (base16-string->bytevector
- "8837ab96533202c5b610ed44bc7f4183e7957c1c8f56e8cc78bb098593c8ba0a"))))
- ("rust-crypto-hash"
- ,(origin
- (method url-fetch)
- (uri (crate-uri "crypto-hash" "0.3.0"))
- (file-name "rust-crypto-hash-0.3.0")
- (sha256
- (base16-string->bytevector
- "34903878eec1694faf53cae8473a088df333181de421d4d3d48061d6559fe602"))))
- ("rust-curl"
- ,(origin
- (method url-fetch)
- (uri (crate-uri "curl" "0.4.8"))
- (file-name "rust-curl-0.4.8")
- (sha256
- (base16-string->bytevector
- "7034c534a1d7d22f7971d6088aa9d281d219ef724026c3428092500f41ae9c2c"))))
- ("rust-curl-sys"
- ,(origin
- (method url-fetch)
- (uri (crate-uri "curl-sys" "0.3.15"))
- (file-name "rust-curl-sys-0.3.15")
- (sha256
- (base16-string->bytevector
- "4bee31aa3a079d5f3ff9579ea4dcfb1b1a17a40886f5f467436d383e78134b55"))))
- ("rust-custom_derive"
- ,(origin
- (method url-fetch)
- (uri (crate-uri "custom_derive" "0.1.7"))
- (file-name "rust-custom_derive-0.1.7")
- (sha256
- (base16-string->bytevector
- "ef8ae57c4978a2acd8b869ce6b9ca1dfe817bff704c220209fdef2c0b75a01b9"))))
- ("rust-dbghelp-sys"
- ,(origin
- (method url-fetch)
- (uri (crate-uri "dbghelp-sys" "0.2.0"))
- (file-name "rust-dbghelp-sys-0.2.0")
- (sha256
- (base16-string->bytevector
- "97590ba53bcb8ac28279161ca943a924d1fd4a8fb3fa63302591647c4fc5b850"))))
- ("rust-docopt"
- ,(origin
- (method url-fetch)
- (uri (crate-uri "docopt" "0.8.1"))
- (file-name "rust-docopt-0.8.1")
- (sha256
- (base16-string->bytevector
- "3b5b93718f8b3e5544fcc914c43de828ca6c6ace23e0332c6080a2977b49787a"))))
- ("rust-dtoa"
- ,(origin
- (method url-fetch)
- (uri (crate-uri "dtoa" "0.4.2"))
- (file-name "rust-dtoa-0.4.2")
- (sha256
- (base16-string->bytevector
- "09c3753c3db574d215cba4ea76018483895d7bff25a31b49ba45db21c48e50ab"))))
- ("rust-env_logger"
- ,(origin
- (method url-fetch)
- (uri (crate-uri "env_logger" "0.4.3"))
- (file-name "rust-env_logger-0.4.3")
- (sha256
- (base16-string->bytevector
- "3ddf21e73e016298f5cb37d6ef8e8da8e39f91f9ec8b0df44b7deb16a9f8cd5b"))))
- ("rust-error-chain"
- ,(origin
- (method url-fetch)
- (uri (crate-uri "error-chain" "0.11.0"))
- (file-name "rust-error-chain-0.11.0")
- (sha256
- (base16-string->bytevector
- "ff511d5dc435d703f4971bc399647c9bc38e20cb41452e3b9feb4765419ed3f3"))))
- ("rust-filetime"
- ,(origin
- (method url-fetch)
- (uri (crate-uri "filetime" "0.1.12"))
- (file-name "rust-filetime-0.1.12")
- (sha256
- (base16-string->bytevector
- "6ab199bf38537c6f38792669e081e0bb278b9b7405bba2642e4e5d15bf732c0e"))))
- ("rust-flate2"
- ,(origin
- (method url-fetch)
- (uri (crate-uri "flate2" "0.2.20"))
- (file-name "rust-flate2-0.2.20")
- (sha256
- (base16-string->bytevector
- "e6234dd4468ae5d1e2dbb06fe2b058696fdc50a339c68a393aefbf00bc81e423"))))
- ("rust-fnv"
- ,(origin
- (method url-fetch)
- (uri (crate-uri "fnv" "1.0.5"))
- (file-name "rust-fnv-1.0.5")
- (sha256
- (base16-string->bytevector
- "6cc484842f1e2884faf56f529f960cc12ad8c71ce96cc7abba0a067c98fee344"))))
- ("rust-foreign-types"
- ,(origin
- (method url-fetch)
- (uri (crate-uri "foreign-types" "0.2.0"))
- (file-name "rust-foreign-types-0.2.0")
- (sha256
- (base16-string->bytevector
- "3e4056b9bd47f8ac5ba12be771f77a0dae796d1bbaaf5fd0b9c2d38b69b8a29d"))))
- ("rust-fs2"
- ,(origin
- (method url-fetch)
- (uri (crate-uri "fs2" "0.4.2"))
- (file-name "rust-fs2-0.4.2")
- (sha256
- (base16-string->bytevector
- "9ab76cfd2aaa59b7bf6688ad9ba15bbae64bff97f04ea02144cfd3443e5c2866"))))
- ("rust-git2"
- ,(origin
- (method url-fetch)
- (uri (crate-uri "git2" "0.6.8"))
- (file-name "rust-git2-0.6.8")
- (sha256
- (base16-string->bytevector
- "0c1c0203d653f4140241da0c1375a404f0a397249ec818cd2076c6280c50f6fa"))))
- ("rust-git2-curl"
- ,(origin
- (method url-fetch)
- (uri (crate-uri "git2-curl" "0.7.0"))
- (file-name "rust-git2-curl-0.7.0")
- (sha256
- (base16-string->bytevector
- "68676bc784bf0bef83278898929bf64a251e87c0340723d0b93fa096c9c5bf8e"))))
- ("rust-glob"
- ,(origin
- (method url-fetch)
- (uri (crate-uri "glob" "0.2.11"))
- (file-name "rust-glob-0.2.11")
- (sha256
- (base16-string->bytevector
- "8be18de09a56b60ed0edf84bc9df007e30040691af7acd1c41874faac5895bfb"))))
- ("rust-globset"
- ,(origin
- (method url-fetch)
- (uri (crate-uri "globset" "0.2.0"))
- (file-name "rust-globset-0.2.0")
- (sha256
- (base16-string->bytevector
- "feeb1b6840809ef5efcf7a4a990bc4e1b7ee3df8cf9e2379a75aeb2ba42ac9c3"))))
- ("rust-hamcrest"
- ,(origin
- (method url-fetch)
- (uri (crate-uri "hamcrest" "0.1.1"))
- (file-name "rust-hamcrest-0.1.1")
- (sha256
- (base16-string->bytevector
- "bf088f042a467089e9baa4972f57f9247e42a0cc549ba264c7a04fbb8ecb89d4"))))
- ("rust-hex"
- ,(origin
- (method url-fetch)
- (uri (crate-uri "hex" "0.2.0"))
- (file-name "rust-hex-0.2.0")
- (sha256
- (base16-string->bytevector
- "d6a22814455d41612f41161581c2883c0c6a1c41852729b17d5ed88f01e153aa"))))
- ("rust-home"
- ,(origin
- (method url-fetch)
- (uri (crate-uri "home" "0.3.0"))
- (file-name "rust-home-0.3.0")
- (sha256
- (base16-string->bytevector
- "9f25ae61099d8f3fee8b483df0bd4ecccf4b2731897aad40d50eca1b641fe6db"))))
- ("rust-idna"
- ,(origin
- (method url-fetch)
- (uri (crate-uri "idna" "0.1.4"))
- (file-name "rust-idna-0.1.4")
- (sha256
- (base16-string->bytevector
- "014b298351066f1512874135335d62a789ffe78a9974f94b43ed5621951eaf7d"))))
- ("rust-ignore"
- ,(origin
- (method url-fetch)
- (uri (crate-uri "ignore" "0.2.2"))
- (file-name "rust-ignore-0.2.2")
- (sha256
- (base16-string->bytevector
- "b3fcaf2365eb14b28ec7603c98c06cc531f19de9eb283d89a3dff8417c8c99f5"))))
- ("rust-itoa"
- ,(origin
- (method url-fetch)
- (uri (crate-uri "itoa" "0.3.4"))
- (file-name "rust-itoa-0.3.4")
- (sha256
- (base16-string->bytevector
- "8324a32baf01e2ae060e9de58ed0bc2320c9a2833491ee36cd3b4c414de4db8c"))))
- ("rust-jobserver"
- ,(origin
- (method url-fetch)
- (uri (crate-uri "jobserver" "0.1.6"))
- (file-name "rust-jobserver-0.1.6")
- (sha256
- (base16-string->bytevector
- "443ae8bc0af6c106e6e8b77e04684faecc1a5ce94e058f4c2b0a037b0ea1b133"))))
- ("rust-kernel32-sys"
- ,(origin
- (method url-fetch)
- (uri (crate-uri "kernel32-sys" "0.2.2"))
- (file-name "rust-kernel32-sys-0.2.2")
- (sha256
- (base16-string->bytevector
- "7507624b29483431c0ba2d82aece8ca6cdba9382bff4ddd0f7490560c056098d"))))
- ("rust-lazy_static"
- ,(origin
- (method url-fetch)
- (uri (crate-uri "lazy_static" "0.2.9"))
- (file-name "rust-lazy_static-0.2.9")
- (sha256
- (base16-string->bytevector
- "c9e5e58fa1a4c3b915a561a78a22ee0cac6ab97dca2504428bc1cb074375f8d5"))))
- ("rust-libc"
- ,(origin
- (method url-fetch)
- (uri (crate-uri "libc" "0.2.31"))
- (file-name "rust-libc-0.2.31")
- (sha256
- (base16-string->bytevector
- "d1419b2939a0bc44b77feb34661583c7546b532b192feab36249ab584b86856c"))))
- ("rust-libgit2-sys"
- ,(origin
- (method url-fetch)
- (uri (crate-uri "libgit2-sys" "0.6.16"))
- (file-name "rust-libgit2-sys-0.6.16")
- (sha256
- (base16-string->bytevector
- "6f74b4959cef96898f5123148724fc7dee043b9a6b99f219d948851bfbe53cb2"))))
- ("rust-libssh2-sys"
- ,(origin
- (method url-fetch)
- (uri (crate-uri "libssh2-sys" "0.2.6"))
- (file-name "rust-libssh2-sys-0.2.6")
- (sha256
- (base16-string->bytevector
- "0db4ec23611747ef772db1c4d650f8bd762f07b461727ec998f953c614024b75"))))
- ("rust-libz-sys"
- ,(origin
- (method url-fetch)
- (uri (crate-uri "libz-sys" "1.0.17"))
- (file-name "rust-libz-sys-1.0.17")
- (sha256
- (base16-string->bytevector
- "44ebbc760fd2d2f4d93de09a0e13d97e057612052e871da9985cedcb451e6bd5"))))
- ("rust-log"
- ,(origin
- (method url-fetch)
- (uri (crate-uri "log" "0.3.8"))
- (file-name "rust-log-0.3.8")
- (sha256
- (base16-string->bytevector
- "880f77541efa6e5cc74e76910c9884d9859683118839d6a1dc3b11e63512565b"))))
- ("rust-magenta"
- ,(origin
- (method url-fetch)
- (uri (crate-uri "magenta" "0.1.1"))
- (file-name "rust-magenta-0.1.1")
- (sha256
- (base16-string->bytevector
- "4bf0336886480e671965f794bc9b6fce88503563013d1bfb7a502c81fe3ac527"))))
- ("rust-magenta-sys"
- ,(origin
- (method url-fetch)
- (uri (crate-uri "magenta-sys" "0.1.1"))
- (file-name "rust-magenta-sys-0.1.1")
- (sha256
- (base16-string->bytevector
- "40d014c7011ac470ae28e2f76a02bfea4a8480f73e701353b49ad7a8d75f4699"))))
- ("rust-matches"
- ,(origin
- (method url-fetch)
- (uri (crate-uri "matches" "0.1.6"))
- (file-name "rust-matches-0.1.6")
- (sha256
- (base16-string->bytevector
- "100aabe6b8ff4e4a7e32c1c13523379802df0772b82466207ac25b013f193376"))))
- ("rust-memchr"
- ,(origin
- (method url-fetch)
- (uri (crate-uri "memchr" "0.1.11"))
- (file-name "rust-memchr-0.1.11")
- (sha256
- (base16-string->bytevector
- "d8b629fb514376c675b98c1421e80b151d3817ac42d7c667717d282761418d20"))))
- ("rust-memchr-1.0.1"
- ,(origin
- (method url-fetch)
- (uri (crate-uri "memchr" "1.0.1"))
- (file-name "rust-memchr-1.0.1")
- (sha256
- (base16-string->bytevector
- "1dbccc0e46f1ea47b9f17e6d67c5a96bd27030519c519c9c91327e31275a47b4"))))
- ("rust-miniz-sys"
- ,(origin
- (method url-fetch)
- (uri (crate-uri "miniz-sys" "0.1.10"))
- (file-name "rust-miniz-sys-0.1.10")
- (sha256
- (base16-string->bytevector
- "609ce024854aeb19a0ef7567d348aaa5a746b32fb72e336df7fcc16869d7e2b4"))))
- ("rust-miow"
- ,(origin
- (method url-fetch)
- (uri (crate-uri "miow" "0.2.1"))
- (file-name "rust-miow-0.2.1")
- (sha256
- (base16-string->bytevector
- "8c1f2f3b1cf331de6896aabf6e9d55dca90356cc9960cca7eaaf408a355ae919"))))
- ("rust-net2"
- ,(origin
- (method url-fetch)
- (uri (crate-uri "net2" "0.2.31"))
- (file-name "rust-net2-0.2.31")
- (sha256
- (base16-string->bytevector
- "3a80f842784ef6c9a958b68b7516bc7e35883c614004dd94959a4dca1b716c09"))))
- ("rust-num"
- ,(origin
- (method url-fetch)
- (uri (crate-uri "num" "0.1.40"))
- (file-name "rust-num-0.1.40")
- (sha256
- (base16-string->bytevector
- "a311b77ebdc5dd4cf6449d81e4135d9f0e3b153839ac90e648a8ef538f923525"))))
- ("rust-num-bigint"
- ,(origin
- (method url-fetch)
- (uri (crate-uri "num-bigint" "0.1.40"))
- (file-name "rust-num-bigint-0.1.40")
- (sha256
- (base16-string->bytevector
- "8fd0f8dbb4c0960998958a796281d88c16fbe68d87b1baa6f31e2979e81fd0bd"))))
- ("rust-num-complex"
- ,(origin
- (method url-fetch)
- (uri (crate-uri "num-complex" "0.1.40"))
- (file-name "rust-num-complex-0.1.40")
- (sha256
- (base16-string->bytevector
- "503e668405c5492d67cf662a81e05be40efe2e6bcf10f7794a07bd9865e704e6"))))
- ("rust-num-integer"
- ,(origin
- (method url-fetch)
- (uri (crate-uri "num-integer" "0.1.35"))
- (file-name "rust-num-integer-0.1.35")
- (sha256
- (base16-string->bytevector
- "d1452e8b06e448a07f0e6ebb0bb1d92b8890eea63288c0b627331d53514d0fba"))))
- ("rust-num-iter"
- ,(origin
- (method url-fetch)
- (uri (crate-uri "num-iter" "0.1.34"))
- (file-name "rust-num-iter-0.1.34")
- (sha256
- (base16-string->bytevector
- "7485fcc84f85b4ecd0ea527b14189281cf27d60e583ae65ebc9c088b13dffe01"))))
- ("rust-num-rational"
- ,(origin
- (method url-fetch)
- (uri (crate-uri "num-rational" "0.1.39"))
- (file-name "rust-num-rational-0.1.39")
- (sha256
- (base16-string->bytevector
- "288629c76fac4b33556f4b7ab57ba21ae202da65ba8b77466e6d598e31990790"))))
- ("rust-num-traits"
- ,(origin
- (method url-fetch)
- (uri (crate-uri "num-traits" "0.1.40"))
- (file-name "rust-num-traits-0.1.40")
- (sha256
- (base16-string->bytevector
- "99843c856d68d8b4313b03a17e33c4bb42ae8f6610ea81b28abe076ac721b9b0"))))
- ("rust-num_cpus"
- ,(origin
- (method url-fetch)
- (uri (crate-uri "num_cpus" "1.7.0"))
- (file-name "rust-num_cpus-1.7.0")
- (sha256
- (base16-string->bytevector
- "514f0d73e64be53ff320680ca671b64fe3fb91da01e1ae2ddc99eb51d453b20d"))))
- ("rust-openssl"
- ,(origin
- (method url-fetch)
- (uri (crate-uri "openssl" "0.9.19"))
- (file-name "rust-openssl-0.9.19")
- (sha256
- (base16-string->bytevector
- "816914b22eb15671d62c73442a51978f311e911d6a6f6cbdafa6abce1b5038fc"))))
- ("rust-openssl-probe"
- ,(origin
- (method url-fetch)
- (uri (crate-uri "openssl-probe" "0.1.1"))
- (file-name "rust-openssl-probe-0.1.1")
- (sha256
- (base16-string->bytevector
- "d98df0270d404ccd3c050a41d579c52d1db15375168bb3471e04ec0f5f378daf"))))
- ("rust-openssl-sys"
- ,(origin
- (method url-fetch)
- (uri (crate-uri "openssl-sys" "0.9.19"))
- (file-name "rust-openssl-sys-0.9.19")
- (sha256
- (base16-string->bytevector
- "1e4c63a7d559c1e5afa6d6a9e6fa34bbc5f800ffc9ae08b72c605420b0c4f5e8"))))
- ("rust-percent-encoding"
- ,(origin
- (method url-fetch)
- (uri (crate-uri "percent-encoding" "1.0.0"))
- (file-name "rust-precent-encoding-1.0.0")
- (sha256
- (base16-string->bytevector
- "de154f638187706bde41d9b4738748933d64e6b37bdbffc0b47a97d16a6ae356"))))
- ("rust-pkg-config"
- ,(origin
- (method url-fetch)
- (uri (crate-uri "pkg-config" "0.3.9"))
- (file-name "rust-pkg-config-0.3.9")
- (sha256
- (base16-string->bytevector
- "3a8b4c6b8165cd1a1cd4b9b120978131389f64bdaf456435caa41e630edba903"))))
- ("rust-psapi-sys"
- ,(origin
- (method url-fetch)
- (uri (crate-uri "psapi-sys" "0.1.0"))
- (file-name "rust-psapi-sys-0.1.0")
- (sha256
- (base16-string->bytevector
- "abcd5d1a07d360e29727f757a9decb3ce8bc6e0efa8969cfaad669a8317a2478"))))
- ("rust-quote"
- ,(origin
- (method url-fetch)
- (uri (crate-uri "quote" "0.3.15"))
- (file-name "rust-quote-0.3.15")
- (sha256
- (base16-string->bytevector
- "7a6e920b65c65f10b2ae65c831a81a073a89edd28c7cce89475bff467ab4167a"))))
- ("rust-rand"
- ,(origin
- (method url-fetch)
- (uri (crate-uri "rand" "0.3.16"))
- (file-name "rust-rand-0.3.16")
- (sha256
- (base16-string->bytevector
- "eb250fd207a4729c976794d03db689c9be1d634ab5a1c9da9492a13d8fecbcdf"))))
- ("rust-redox_syscall"
- ,(origin
- (method url-fetch)
- (uri (crate-uri "redox_syscall" "0.1.31"))
- (file-name "rust-redox_syscall-0.1.31")
- (sha256
- (base16-string->bytevector
- "8dde11f18c108289bef24469638a04dce49da56084f2d50618b226e47eb04509"))))
- ("rust-redox_termios"
- ,(origin
- (method url-fetch)
- (uri (crate-uri "redox_termios" "0.1.1"))
- (file-name "rust-redox_termios-0.1.1")
- (sha256
- (base16-string->bytevector
- "7e891cfe48e9100a70a3b6eb652fef28920c117d366339687bd5576160db0f76"))))
- ("rust-regex"
- ,(origin
- (method url-fetch)
- (uri (crate-uri "regex" "0.1.80"))
- (file-name "rust-regex-0.1.80")
- (sha256
- (base16-string->bytevector
- "4fd4ace6a8cf7860714a2c2280d6c1f7e6a413486c13298bbc86fd3da019402f"))))
- ("rust-regex-0.2.2"
- ,(origin
- (method url-fetch)
- (uri (crate-uri "regex" "0.2.2"))
- (file-name "rust-regex-0.2.2")
- (sha256
- (base16-string->bytevector
- "1731164734096285ec2a5ec7fea5248ae2f5485b3feeb0115af4fda2183b2d1b"))))
- ("rust-regex-syntax"
- ,(origin
- (method url-fetch)
- (uri (crate-uri "regex-syntax" "0.3.9"))
- (file-name "rust-regex-syntax-0.3.9")
- (sha256
- (base16-string->bytevector
- "f9ec002c35e86791825ed294b50008eea9ddfc8def4420124fbc6b08db834957"))))
- ("rust-regex-syntax-0.4.1"
- ,(origin
- (method url-fetch)
- (uri (crate-uri "regex-syntax" "0.4.1"))
- (file-name "rust-regex-syntax-0.4.1")
- (sha256
- (base16-string->bytevector
- "ad890a5eef7953f55427c50575c680c42841653abd2b028b68cd223d157f62db"))))
- ("rust-rustc-demangle"
- ,(origin
- (method url-fetch)
- (uri (crate-uri "rustc-demangle" "0.1.5"))
- (file-name "rust-rustc-demangle-0.1.5")
- (sha256
- (base16-string->bytevector
- "aee45432acc62f7b9a108cc054142dac51f979e69e71ddce7d6fc7adf29e817e"))))
- ("rust-rustc-serialize"
- ,(origin
- (method url-fetch)
- (uri (crate-uri "rustc-serialize" "0.3.24"))
- (file-name "rust-rustc-serialize-0.3.24")
- (sha256
- (base16-string->bytevector
- "dcf128d1287d2ea9d80910b5f1120d0b8eede3fbf1abe91c40d39ea7d51e6fda"))))
- ("rust-same-file"
- ,(origin
- (method url-fetch)
- (uri (crate-uri "same-file" "0.1.3"))
- (file-name "rust-same-file-0.1.3")
- (sha256
- (base16-string->bytevector
- "d931a44fdaa43b8637009e7632a02adc4f2b2e0733c08caa4cf00e8da4a117a7"))))
- ("rust-scoped-tls"
- ,(origin
- (method url-fetch)
- (uri (crate-uri "scoped-tls" "0.1.0"))
- (file-name "rust-scoped-tls-0.1.0")
- (sha256
- (base16-string->bytevector
- "f417c22df063e9450888a7561788e9bd46d3bb3c1466435b4eccb903807f147d"))))
- ("rust-scopeguard"
- ,(origin
- (method url-fetch)
- (uri (crate-uri "scopeguard" "0.1.2"))
- (file-name "rust-scopeguard-0.1.2")
- (sha256
- (base16-string->bytevector
- "59a076157c1e2dc561d8de585151ee6965d910dd4dcb5dabb7ae3e83981a6c57"))))
- ("rust-semver"
- ,(origin
- (method url-fetch)
- (uri (crate-uri "semver" "0.8.0"))
- (file-name "rust-semver-0.8.0")
- (sha256
- (base16-string->bytevector
- "bee2bc909ab2d8d60dab26e8cad85b25d795b14603a0dcb627b78b9d30b6454b"))))
- ("rust-semver-parser"
- ,(origin
- (method url-fetch)
- (uri (crate-uri "semver-parser" "0.7.0"))
- (file-name "rust-semver-parser-0.7.0")
- (sha256
- (base16-string->bytevector
- "388a1df253eca08550bef6c72392cfe7c30914bf41df5269b68cbd6ff8f570a3"))))
- ("rust-serde"
- ,(origin
- (method url-fetch)
- (uri (crate-uri "serde" "1.0.15"))
- (file-name "rust-serde-1.0.15")
- (sha256
- (base16-string->bytevector
- "6a7046c9d4c6c522d10b2d098f9bebe2bef227e0e74044d8c1bfcf6b476af799"))))
- ("rust-serde_derive"
- ,(origin
- (method url-fetch)
- (uri (crate-uri "serde_derive" "1.0.15"))
- (file-name "rust-serde_derive-1.0.15")
- (sha256
- (base16-string->bytevector
- "1afcaae083fd1c46952a315062326bc9957f182358eb7da03b57ef1c688f7aa9"))))
- ("rust-serde_derive_internals"
- ,(origin
- (method url-fetch)
- (uri (crate-uri "serde_derive_internals" "0.16.0"))
- (file-name "rust-serde_derive_internals-0.16.0")
- (sha256
- (base16-string->bytevector
- "bd381f6d01a6616cdba8530492d453b7761b456ba974e98768a18cad2cd76f58"))))
- ("rust-serde_ignored"
- ,(origin
- (method url-fetch)
- (uri (crate-uri "serde_ignored" "0.0.4"))
- (file-name "rust-serde_ignored-0.0.4")
- (sha256
- (base16-string->bytevector
- "190e9765dcedb56be63b6e0993a006c7e3b071a016a304736e4a315dc01fb142"))))
- ("rust-serde_json"
- ,(origin
- (method url-fetch)
- (uri (crate-uri "serde_json" "1.0.3"))
- (file-name "rust-serde_json-1.0.3")
- (sha256
- (base16-string->bytevector
- "d243424e06f9f9c39e3cd36147470fd340db785825e367625f79298a6ac6b7ac"))))
- ("rust-shell-escape"
- ,(origin
- (method url-fetch)
- (uri (crate-uri "shell-escape" "0.1.3"))
- (file-name "rust-shell-escape-0.1.3")
- (sha256
- (base16-string->bytevector
- "dd5cc96481d54583947bfe88bf30c23d53f883c6cd0145368b69989d97b84ef8"))))
- ("rust-socket2"
- ,(origin
- (method url-fetch)
- (uri (crate-uri "socket2" "0.2.3"))
- (file-name "rust-socket2-0.2.3")
- (sha256
- (base16-string->bytevector
- "9e76b159741052c7deaa9fd0b5ca6b5f79cecf525ed665abfe5002086c6b2791"))))
- ("rust-strsim"
- ,(origin
- (method url-fetch)
- (uri (crate-uri "strsim" "0.6.0"))
- (file-name "rust-strsim-0.6.0")
- (sha256
- (base16-string->bytevector
- "b4d15c810519a91cf877e7e36e63fe068815c678181439f2f29e2562147c3694"))))
- ("rust-syn"
- ,(origin
- (method url-fetch)
- (uri (crate-uri "syn" "0.11.11"))
- (file-name "rust-syn-0.11.11")
- (sha256
- (base16-string->bytevector
- "d3b891b9015c88c576343b9b3e41c2c11a51c219ef067b264bd9c8aa9b441dad"))))
- ("rust-synom"
- ,(origin
- (method url-fetch)
- (uri (crate-uri "synom" "0.11.3"))
- (file-name "rust-synom-0.11.3")
- (sha256
- (base16-string->bytevector
- "a393066ed9010ebaed60b9eafa373d4b1baac186dd7e008555b0f702b51945b6"))))
- ("rust-tar"
- ,(origin
- (method url-fetch)
- (uri (crate-uri "tar" "0.4.13"))
- (file-name "rust-tar-0.4.13")
- (sha256
- (base16-string->bytevector
- "281285b717926caa919ad905ef89c63d75805c7d89437fb873100925a53f2b1b"))))
- ("rust-tempdir"
- ,(origin
- (method url-fetch)
- (uri (crate-uri "tempdir" "0.3.5"))
- (file-name "rust-tempdir-0.3.5")
- (sha256
- (base16-string->bytevector
- "87974a6f5c1dfb344d733055601650059a3363de2a6104819293baff662132d6"))))
- ("rust-termcolor"
- ,(origin
- (method url-fetch)
- (uri (crate-uri "termcolor" "0.3.3"))
- (file-name "rust-termcolor-0.3.3")
- (sha256
- (base16-string->bytevector
- "9065bced9c3e43453aa3d56f1e98590b8455b341d2fa191a1090c0dd0b242c75"))))
- ("rust-termion"
- ,(origin
- (method url-fetch)
- (uri (crate-uri "termion" "1.5.1"))
- (file-name "rust-termion-1.5.1")
- (sha256
- (base16-string->bytevector
- "689a3bdfaab439fd92bc87df5c4c78417d3cbe537487274e9b0b2dce76e92096"))))
- ("rust-thread-id"
- ,(origin
- (method url-fetch)
- (uri (crate-uri "thread-id" "2.0.0"))
- (file-name "rust-thread-id-2.0.0")
- (sha256
- (base16-string->bytevector
- "a9539db560102d1cef46b8b78ce737ff0bb64e7e18d35b2a5688f7d097d0ff03"))))
- ("rust-thread_local"
- ,(origin
- (method url-fetch)
- (uri (crate-uri "thread_local" "0.2.7"))
- (file-name "rust-thread_local-0.2.7")
- (sha256
- (base16-string->bytevector
- "8576dbbfcaef9641452d5cf0df9b0e7eeab7694956dd33bb61515fb8f18cfdd5"))))
- ("rust-thread_local-0.3.4"
- ,(origin
- (method url-fetch)
- (uri (crate-uri "thread_local" "0.3.4"))
- (file-name "rust-thread_local-0.3.4")
- (sha256
- (base16-string->bytevector
- "1697c4b57aeeb7a536b647165a2825faddffb1d3bad386d507709bd51a90bb14"))))
- ("rust-toml"
- ,(origin
- (method url-fetch)
- (uri (crate-uri "toml" "0.4.5"))
- (file-name "rust-toml-0.4.5")
- (sha256
- (base16-string->bytevector
- "a7540f4ffc193e0d3c94121edb19b055670d369f77d5804db11ae053a45b6e7e"))))
- ("rust-unicode-bidi"
- ,(origin
- (method url-fetch)
- (uri (crate-uri "unicode-bidi" "0.3.4"))
- (file-name "rust-unicode-bidi-0.3.4")
- (sha256
- (base16-string->bytevector
- "49f2bd0c6468a8230e1db229cff8029217cf623c767ea5d60bfbd42729ea54d5"))))
- ("rust-unicode-normalization"
- ,(origin
- (method url-fetch)
- (uri (crate-uri "unicode-normalization" "0.1.5"))
- (file-name "rust-unicode-normalization-0.1.5")
- (sha256
- (base16-string->bytevector
- "51ccda9ef9efa3f7ef5d91e8f9b83bbe6955f9bf86aec89d5cce2c874625920f"))))
- ("rust-unicode-xid"
- ,(origin
- (method url-fetch)
- (uri (crate-uri "unicode-xid" "0.0.4"))
- (file-name "rust-unicode-xid-0.0.4")
- (sha256
- (base16-string->bytevector
- "8c1f860d7d29cf02cb2f3f359fd35991af3d30bac52c57d265a3c461074cb4dc"))))
- ("rust-unreachable"
- ,(origin
- (method url-fetch)
- (uri (crate-uri "unreachable" "1.0.0"))
- (file-name "rust-unreachable-1.0.0")
- (sha256
- (base16-string->bytevector
- "382810877fe448991dfc7f0dd6e3ae5d58088fd0ea5e35189655f84e6814fa56"))))
- ("rust-url"
- ,(origin
- (method url-fetch)
- (uri (crate-uri "url" "1.5.1"))
- (file-name "rust-url-1.5.1")
- (sha256
- (base16-string->bytevector
- "eeb819346883532a271eb626deb43c4a1bb4c4dd47c519bd78137c3e72a4fe27"))))
- ("rust-userenv-sys"
- ,(origin
- (method url-fetch)
- (uri (crate-uri "userenv-sys" "0.2.0"))
- (file-name "rust-userenv-sys-0.2.0")
- (sha256
- (base16-string->bytevector
- "71d28ea36bbd9192d75bd9fa9b39f96ddb986eaee824adae5d53b6e51919b2f3"))))
- ("rust-utf8-ranges"
- ,(origin
- (method url-fetch)
- (uri (crate-uri "utf8-ranges" "0.1.3"))
- (file-name "rust-utf8-ranges-0.1.3")
- (sha256
- (base16-string->bytevector
- "a1ca13c08c41c9c3e04224ed9ff80461d97e121589ff27c753a16cb10830ae0f"))))
- ("rust-utf8-ranges-1.0.0"
- ,(origin
- (method url-fetch)
- (uri (crate-uri "utf8-ranges" "1.0.0"))
- (file-name "rust-utf8-ranges-1.0.0")
- (sha256
- (base16-string->bytevector
- "662fab6525a98beff2921d7f61a39e7d59e0b425ebc7d0d9e66d316e55124122"))))
- ("rust-vcpkg"
- ,(origin
- (method url-fetch)
- (uri (crate-uri "vcpkg" "0.2.2"))
- (file-name "rust-vcpkg-0.2.2")
- (sha256
- (base16-string->bytevector
- "9e0a7d8bed3178a8fb112199d466eeca9ed09a14ba8ad67718179b4fd5487d0b"))))
- ("rust-void"
- ,(origin
- (method url-fetch)
- (uri (crate-uri "void" "1.0.2"))
- (file-name "rust-void-1.0.2")
- (sha256
- (base16-string->bytevector
- "6a02e4885ed3bc0f2de90ea6dd45ebcbb66dacffe03547fadbb0eeae2770887d"))))
- ("rust-walkdir"
- ,(origin
- (method url-fetch)
- (uri (crate-uri "walkdir" "1.0.7"))
- (file-name "rust-walkdir-1.0.7")
- (sha256
- (base16-string->bytevector
- "bb08f9e670fab86099470b97cd2b252d6527f0b3cc1401acdb595ffc9dd288ff"))))
- ("rust-winapi"
- ,(origin
- (method url-fetch)
- (uri (crate-uri "winapi" "0.2.8"))
- (file-name "rust-winapi-0.2.8")
- (sha256
- (base16-string->bytevector
- "167dc9d6949a9b857f3451275e911c3f44255842c1f7a76f33c55103a909087a"))))
- ("rust-winapi-build"
- ,(origin
- (method url-fetch)
- (uri (crate-uri "winapi-build" "0.1.1"))
- (file-name "rust-winapi-build-0.1.1")
- (sha256
- (base16-string->bytevector
- "2d315eee3b34aca4797b2da6b13ed88266e6d612562a0c46390af8299fc699bc"))))
- ("rust-wincolor"
- ,(origin
- (method url-fetch)
- (uri (crate-uri "wincolor" "0.1.4"))
- (file-name "rust-wincolor-0.1.4")
- (sha256
- (base16-string->bytevector
- "a39ee4464208f6430992ff20154216ab2357772ac871d994c51628d60e58b8b0"))))
- ("rust-ws2_32-sys"
- ,(origin
- (method url-fetch)
- (uri (crate-uri "ws2_32-sys" "0.2.1"))
- (file-name "rust-ws2_32-sys-0.2.1")
- (sha256
- (base16-string->bytevector
- "d59cefebd0c892fa2dd6de581e937301d8552cb44489cdff035c6187cb63fa5e"))))))
- (arguments
- `(#:cargo ,cargo-bootstrap
- #:rustc ,rustc ; Force to use rustc from current file
- #:modules
- ((ice-9 match)
- (srfi srfi-1) ; 'every
- (guix build utils)
- (guix build cargo-build-system))
- #:phases
- (modify-phases %standard-phases
- (add-after 'unpack 'unpack-dependencies
- (lambda* (#:key inputs outputs #:allow-other-keys)
- (define (unpack source target)
- (mkdir-p target)
- (with-directory-excursion target
- (zero? (system* "tar" "xf"
- source
- "--strip-components=1"))))
- (define (touch file-name)
- (call-with-output-file file-name (const #t)))
- (define (install-rust-library entry)
- (match entry
- ((name . src)
- (if (string-prefix? "rust-" name)
- (let* ((rust-length (string-length "rust-"))
- (rust-name (string-drop name rust-length))
- (rsrc (string-append "vendor/" rust-name))
- (unpack-status (unpack src rsrc)))
- (touch (string-append rsrc "/.cargo-ok"))
- (generate-checksums rsrc src)
- unpack-status)))
- (_ #t)))
- (mkdir "vendor")
- (every install-rust-library inputs)))
- (add-after 'patch-generated-file-shebangs 'patch-cargo-checksums
- (lambda* (#:key inputs #:allow-other-keys)
- (substitute* "Cargo.lock"
- (("(\"checksum .* = )\".*\"" all name)
- (string-append name "\"" ,%cargo-reference-hash "\"")))
- (for-each
- (lambda (filename)
- (use-modules (guix build cargo-build-system))
- (delete-file filename)
- (let* ((dir (dirname filename)))
- (display (string-append
- "patch-cargo-checksums: generate-checksums for "
- dir "\n"))
- (generate-checksums dir ,%cargo-reference-project-file)))
- (find-files "vendor" ".cargo-checksum.json"))
- #t))
- (replace 'configure
- (lambda* (#:key inputs outputs #:allow-other-keys)
- (substitute* "tests/build.rs"
- (("/usr/bin/env") (which "env"))
- ;; Guix llvm compiled without asmjs-unknown-emscripten at all
- (("fn wasm32_final_outputs") "#[ignore]\nfn wasm32_final_outputs"))
- (substitute* "tests/death.rs"
- ;; Stuck when built in container
- (("fn ctrl_c_kills_everyone") "#[ignore]\nfn ctrl_c_kills_everyone"))
- (mkdir ".cargo")
- (call-with-output-file ".cargo/config"
- (lambda (port)
- (display "
-[source.crates-io]
-registry = 'https://github.com/rust-lang/crates.io-index'
-replace-with = 'vendored-sources'
-
-[source.vendored-sources]
-directory = 'vendor'
-" port)))
- ;; Disable test for cross compilation support
- (setenv "CFG_DISABLE_CROSS_TESTS" "1")
- (setenv "SHELL" (which "sh"))
- (setenv "CONFIG_SHELL" (which "sh"))
- (setenv "CC" (string-append (assoc-ref inputs "gcc") "/bin/gcc"))
- #t)))))
- (home-page "https://github.com/rust-lang/cargo")
- (synopsis "Build tool and package manager for Rust")
- (description "Cargo is a tool that allows Rust projects to declare their
-dependencies and ensures a reproducible build.")
- ;; Cargo is dual licensed Apache and MIT. Also contains
- ;; code from openssl which is GPL2 with linking exception.
- (license (list license:asl2.0 license:expat license:gpl2))))
+(define-public rust
+ (let ((base-rust
+ (rust-bootstrapped-package rust-1.23 "1.24.1"
+ "1vv10x2h9kq7fxh2v01damdq8pvlp5acyh1kzcda9sfjx12kv99y")))
+ (package
+ (inherit base-rust)
+ (arguments
+ (substitute-keyword-arguments (package-arguments base-rust)
+ ((#:phases phases)
+ `(modify-phases ,phases
+ (delete 'fix-mtime-bug))))))))
diff --git a/gnu/packages/samba.scm b/gnu/packages/samba.scm
index e2e8c5e093..d84f52ffc5 100644
--- a/gnu/packages/samba.scm
+++ b/gnu/packages/samba.scm
@@ -233,14 +233,14 @@ Desktops into Active Directory environments using the winbind daemon.")
(define-public talloc
(package
(name "talloc")
- (version "2.1.12")
+ (version "2.1.13")
(source (origin
(method url-fetch)
(uri (string-append "https://www.samba.org/ftp/talloc/talloc-"
version ".tar.gz"))
(sha256
(base32
- "0jv0ri9vj93fczzgl7rn7xvnfgl2kfx4x85cr8h8v52yh7v0qz4q"))))
+ "0iv09iv385x69gfzvassq6m3y0rd8ncylls95dm015xdy3drkww4"))))
(build-system gnu-build-system)
(arguments
'(#:phases
diff --git a/gnu/packages/scheme.scm b/gnu/packages/scheme.scm
index 37593fe309..c9e1a15255 100644
--- a/gnu/packages/scheme.scm
+++ b/gnu/packages/scheme.scm
@@ -405,7 +405,7 @@ implementation techniques and as an expository tool.")
(define-public racket
(package
(name "racket")
- (version "6.11")
+ (version "6.12")
(source (origin
(method url-fetch)
(uri (list (string-append "http://mirror.racket-lang.org/installers/"
@@ -415,7 +415,11 @@ implementation techniques and as an expository tool.")
version "/racket-" version "-src.tgz")))
(sha256
(base32
- "1nk7705x24jjlbqqhj8yvbgqkfscxx3m81bry1g56kjxysjmf3sw"))))
+ "0cwcypzjfl9py1s695mhqkiapff7c1w29llsmdj7qgn58wl0apk5"))
+ (patches (search-patches
+ ;; See: https://github.com/racket/racket/issues/1962
+ ;; This can be removed in whatever Racket release comes after 6.12
+ "racket-fix-xform-issue.patch"))))
(build-system gnu-build-system)
(arguments
'(#:phases
diff --git a/gnu/packages/search.scm b/gnu/packages/search.scm
index a719819927..02deb5c4ae 100644
--- a/gnu/packages/search.scm
+++ b/gnu/packages/search.scm
@@ -3,6 +3,7 @@
;;; Copyright © 2015, 2016 Eric Bavier <bavier@member.fsf.org>
;;; Copyright © 2017 Thomas Danckaert <post@thomasdanckaert.be>
;;; Copyright © 2017 Ricardo Wurmus <rekado@elephly.net>
+;;; Copyright © 2018 Adam Massmann <massmannak@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -26,13 +27,16 @@
#:use-module (guix download)
#:use-module (guix utils)
#:use-module (guix build-system gnu)
+ #:use-module (guix build-system python)
#:use-module (gnu packages)
#:use-module (gnu packages compression)
#:use-module (gnu packages check)
#:use-module (gnu packages databases)
#:use-module (gnu packages linux)
#:use-module (gnu packages perl)
+ #:use-module (gnu packages pdf)
#:use-module (gnu packages python)
+ #:use-module (gnu packages python-web)
#:use-module (gnu packages web)
#:use-module (gnu packages xml))
@@ -307,4 +311,50 @@ can quickly and easily index directories of files or remote web sites and
search the generated indexes.")
(license gpl2+))) ;with exception
+(define-public xapers
+ (package
+ (name "xapers")
+ (version "0.8.2")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "https://finestructure.net/xapers/releases/xapers-"
+ version ".tar.gz"))
+ (sha256
+ (base32
+ "0ykz6hn3qj46w3c99d6q0pi5ncq2894simcl7vapv047zm3cylmd"))))
+ (build-system python-build-system)
+ (propagated-inputs
+ `(("python-urwid" ,python-urwid)))
+ (inputs
+ `(("poppler" ,poppler)
+ ("python" ,python)
+ ("python-latexcodec" ,python-latexcodec)
+ ("python-pybtex" ,python-pybtex)
+ ("python-pycurl" ,python-pycurl)
+ ("python-pyyaml" ,python-pyyaml)
+ ("python-six" ,python-six)
+ ("python-xapian-bindings" ,python-xapian-bindings)))
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (add-after 'install 'install-doc
+ (lambda* (#:key inputs outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+ (bin (string-append out "/bin"))
+ (man1 (string-append out "/share/man/man1")))
+ (install-file "man/man1/xapers.1" man1)
+ (install-file "man/man1/xapers-adder.1" man1)
+ (install-file "bin/xapers-adder" bin)))))))
+ (home-page "https://finestructure.net/xapers/")
+ (synopsis "Personal document indexing system")
+ (description
+ "Xapers is a personal document indexing system,
+geared towards academic journal articles build on the Xapian search engine.
+Think of it as your own personal document search engine, or a local cache of
+online libraries. It provides fast search of document text and
+bibliographic data and simple document and bibtex retrieval.")
+ (license gpl3+)))
+
;;; search.scm ends here
diff --git a/gnu/packages/spice.scm b/gnu/packages/spice.scm
index fb3b11ba2d..521be54c49 100644
--- a/gnu/packages/spice.scm
+++ b/gnu/packages/spice.scm
@@ -86,6 +86,10 @@
(modify-phases %standard-phases
(add-after 'unpack 'autogen
(lambda _
+ ;; Build without '-Werror', in particular to avoid errors due
+ ;; to the use of the deprecated 'libusb_set_debug' function.
+ (substitute* "configure.ac"
+ (("-Werror") ""))
(zero? (system* "autoreconf" "-vfi")))))))
(synopsis "Tools for sending USB device traffic over a network")
(description "Usbredir is a network protocol for sending USB device traffic
diff --git a/gnu/packages/ssh.scm b/gnu/packages/ssh.scm
index 9ad5da0090..afd41cd8e7 100644
--- a/gnu/packages/ssh.scm
+++ b/gnu/packages/ssh.scm
@@ -135,14 +135,14 @@ a server that supports the SSH-2 protocol.")
(define-public openssh
(package
(name "openssh")
- (version "7.6p1")
+ (version "7.7p1")
(source (origin
(method url-fetch)
(uri (string-append "mirror://openbsd/OpenSSH/portable/"
name "-" version ".tar.gz"))
(sha256
(base32
- "08qpsb8mrzcx8wgvz9insiyvq7sbg26yj5nvl2m5n57yvppcl8x3"))))
+ "13vbbrvj3mmfhj83qyrg5c0ipr6bzw5s65dy4k8gr7p9hkkfffyp"))))
(build-system gnu-build-system)
(native-inputs `(("groff" ,groff)))
(inputs `(("openssl" ,openssl)
@@ -152,6 +152,9 @@ a server that supports the SSH-2 protocol.")
("xauth" ,xauth))) ;for 'ssh -X' and 'ssh -Y'
(arguments
`(#:test-target "tests"
+ ;; Otherwise, the test scripts try to use a nonexistent directory and
+ ;; fail.
+ #:make-flags '("REGRESSTMP=\"$${BUILDDIR}/regress\"")
#:configure-flags `("--sysconfdir=/etc/ssh"
;; Default value of 'PATH' used by sshd.
@@ -589,7 +592,7 @@ authentication}.")
(define-public autossh
(package
(name "autossh")
- (version "1.4e")
+ (version "1.4f")
(source
(origin
(method url-fetch)
@@ -597,7 +600,7 @@ authentication}.")
"http://www.harding.motd.ca/autossh/autossh-"
version ".tgz"))
(sha256
- (base32 "0mlicw28vq2jxa0jf0dys5ja75v0fxpjavlq9dpif6bnknji13ly"))))
+ (base32 "1wpqwa2872nqgqbhnb6nnkrlzpdawd5k69gh1qp68354pvhyawh1"))))
(build-system gnu-build-system)
(arguments `(#:tests? #f)) ; There is no "make check" or anything similar
(inputs `(("openssh" ,openssh)))
diff --git a/gnu/packages/statistics.scm b/gnu/packages/statistics.scm
index 363e6c387f..393818ab32 100644
--- a/gnu/packages/statistics.scm
+++ b/gnu/packages/statistics.scm
@@ -361,14 +361,14 @@ k-nearest neighbour, Learning Vector Quantization and Self-Organizing Maps.")
(define-public r-cluster
(package
(name "r-cluster")
- (version "2.0.6")
+ (version "2.0.7")
(source
(origin
(method url-fetch)
(uri (cran-uri "cluster" version))
(sha256
(base32
- "1z4gbz7chxxi4ly6c0yjlikwgf8aa8dlg05cn5cd6pjr21zvh97l"))))
+ "0nf2hnsv5rhw6399b4gk1rj5c8hfc6ajfnkh3qbwfx3cz4asrg45"))))
(build-system r-build-system)
(inputs
`(("gfortran" ,gfortran)))
@@ -466,14 +466,14 @@ also flexible enough to handle most nonstandard requirements.")
(define-public r-matrix
(package
(name "r-matrix")
- (version "1.2-12")
+ (version "1.2-13")
(source
(origin
(method url-fetch)
(uri (cran-uri "Matrix" version))
(sha256
(base32
- "1wm45hg4x5ay15y03k6rmgkd1n9r01da72mszk24vafwd7pimr8n"))))
+ "1j4fyn2r3ds51hrxch738gn7d9qvpi4b01n0rxzw5jpv28rnpyvx"))))
(properties `((upstream-name . "Matrix")))
(build-system r-build-system)
(propagated-inputs
@@ -2672,16 +2672,17 @@ that package, other packages are unaffected.")
(define-public r-blob
(package
(name "r-blob")
- (version "1.1.0")
+ (version "1.1.1")
(source (origin
(method url-fetch)
(uri (cran-uri "blob" version))
(sha256
(base32
- "05pazzcyz3c3vd2l70zq9cf172cgjff4dnf419zigfnxycyn1mhn"))))
+ "0lsg91hk508dd95ivig2lwg62qafwnarjw68110kx63cfk4zkjxc"))))
(build-system r-build-system)
(propagated-inputs
- `(("r-tibble" ,r-tibble)))
+ `(("r-prettyunits" ,r-prettyunits)
+ ("r-tibble" ,r-tibble)))
(home-page "https://github.com/hadley/blob")
(synopsis "Simple S3 Class for representing vectors of binary data")
(description "Raw vectors in R are useful for storing a single binary
@@ -3120,14 +3121,14 @@ analysis of large sparse or dense matrices.")
(define-public r-glmnet
(package
(name "r-glmnet")
- (version "2.0-13")
+ (version "2.0-16")
(source
(origin
(method url-fetch)
(uri (cran-uri "glmnet" version))
(sha256
(base32
- "1zdqp6wnqxzp5qn2ky47phbkrxv3cpgbwmdp896h3xxjvp58sa7k"))))
+ "1brr51z1fzbpyj6myyir4g6dhbp6xwl7nx4xnvrjarnf5y0csk55"))))
(build-system r-build-system)
(inputs
`(("gfortran" ,gfortran)))
@@ -3543,13 +3544,13 @@ memory usage.")
(define-public r-viridis
(package
(name "r-viridis")
- (version "0.5.0")
+ (version "0.5.1")
(source (origin
(method url-fetch)
(uri (cran-uri "viridis" version))
(sha256
(base32
- "1ka6amybgzqkg3cbwfxwwqzzzpfn6q5jcia5am0bw48y5hbpg97y"))))
+ "060rf1jn29dq53y3nhb0hykvcap6rqsk04rq544ypiiqb18ngwnx"))))
(build-system r-build-system)
(propagated-inputs
`(("r-ggplot2" ,r-ggplot2)
@@ -4311,13 +4312,13 @@ data at that region, and avoids over-plotting.")
(define-public r-ggthemes
(package
(name "r-ggthemes")
- (version "3.4.0")
+ (version "3.4.2")
(source (origin
(method url-fetch)
(uri (cran-uri "ggthemes" version))
(sha256
(base32
- "1jj8lp7jbk3489kpgbw4b5phpn01gkfmksc21c6sn3x6wmzyn6hs"))))
+ "0i7ygpizs00acizixc29bhbrci523ys7vzxbii9b3bcmfa3pj7i3"))))
(build-system r-build-system)
(propagated-inputs
`(("r-assertthat" ,r-assertthat)
@@ -4526,14 +4527,14 @@ perform @dfn{independent component analysis} (ICA) and projection pursuit.")
(define-public r-randomforest
(package
(name "r-randomforest")
- (version "4.6-12")
+ (version "4.6-14")
(source
(origin
(method url-fetch)
(uri (cran-uri "randomForest" version))
(sha256
(base32
- "1i43idaihhl6nwqw42v9dqpl6f8z3ykcn2in32lh2755i27jylbf"))))
+ "0kbmm0l42fc2d1rdq0l7k09d34kd87q4lx651ffsic4y84h8kf7l"))))
(properties `((upstream-name . "randomForest")))
(build-system r-build-system)
(home-page "https://www.stat.berkeley.edu/~breiman/RandomForests/")
@@ -5058,14 +5059,14 @@ algorithms.")
(define-public r-lme4
(package
(name "r-lme4")
- (version "1.1-15")
+ (version "1.1-16")
(source
(origin
(method url-fetch)
(uri (cran-uri "lme4" version))
(sha256
(base32
- "0sc6rvhiizxxpkdc3wps200wg3pqc0d89crn29lzm75fk8qdd7vx"))))
+ "0p5x9ki4dq8058mc7k9wdnlh60z1xa3wk2nmf71wl7w59m4szh92"))))
(build-system r-build-system)
(native-inputs
`(("r-rcpp" ,r-rcpp)
@@ -5138,14 +5139,14 @@ to Applied regression, Second Edition, Sage, 2011.")
(define-public r-caret
(package
(name "r-caret")
- (version "6.0-78")
+ (version "6.0-79")
(source
(origin
(method url-fetch)
(uri (cran-uri "caret" version))
(sha256
(base32
- "0h1nxzii2h80aslp1zsjczrlfmaks44sskabk4yq9c5rafc7ka6y"))))
+ "1i6sjw279g6mj83vz5gv99x0nljcbpy7v0nbl72lmd80sf7rjshl"))))
(build-system r-build-system)
(propagated-inputs
`(("r-foreach" ,r-foreach)
diff --git a/gnu/packages/syncthing.scm b/gnu/packages/syncthing.scm
index 04f258481e..4c607600d3 100644
--- a/gnu/packages/syncthing.scm
+++ b/gnu/packages/syncthing.scm
@@ -28,7 +28,7 @@
(define-public syncthing
(package
(name "syncthing")
- (version "0.14.45")
+ (version "0.14.46")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/syncthing/syncthing"
@@ -36,7 +36,7 @@
"/syncthing-source-v" version ".tar.gz"))
(sha256
(base32
- "0nv5g9ymykl4316l2g3mnac77y2rx9ps4j2kg3pymxlq6qms2dij"))
+ "0h5b2mp0li0qzrz3wggzavdfqfaz9b79hx6wds84ya2i9maw80cl"))
(modules '((guix build utils)))
;; Delete bundled ("vendored") free software source code.
(snippet
@@ -1673,23 +1673,23 @@ using sh's word-splitting rules.")
(license expat))))
(define-public go-github-com-zillode-notify
- (let ((commit "a8abcfb1ce88ee8d79a300ed65d94b8fb616ddb3")
- (revision "2"))
+ (let ((commit "53dd6873a851fc377c87d82f994b1fecdf25aadb")
+ (revision "3"))
(package
(name "go-github-com-zillode-notify")
(version (git-version "0.0.0" revision commit))
(source (origin
(method git-fetch)
(uri (git-reference
- (url "https://github.com/zillode/notify")
+ (url "https://github.com/calmh/notify")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32
- "031pmbvm0xj4f4fak7im0ywmyn3hns538zlbdj4f23jj69zqdy7k"))))
+ "0ar6mj6s91y7hc5gdp88lz3i7xi29cqkx9f090xj899ir21a8djn"))))
(build-system go-build-system)
(arguments
- '(#:import-path "github.com/zillode/notify"))
+ '(#:import-path "github.com/Zillode/notify"))
(propagated-inputs
`(("go-golang-org-x-sys-unix" ,go-golang-org-x-sys-unix)))
(synopsis "File system event notification library")
diff --git a/gnu/packages/syndication.scm b/gnu/packages/syndication.scm
index 3e0cbe832a..27b49895e2 100644
--- a/gnu/packages/syndication.scm
+++ b/gnu/packages/syndication.scm
@@ -32,7 +32,7 @@
(define-public newsboat
(package
(name "newsboat")
- (version "2.10.2")
+ (version "2.11.1")
(source
(origin
(method url-fetch)
@@ -40,7 +40,7 @@
"/newsboat-" version ".tar.xz"))
(sha256
(base32
- "1x4nxx1kvmrcm8jy73dvg56h4z15y3sach2vr13cw8rsbi7v99px"))))
+ "1krpxl854h5dwmpr81m1s84cwk8zivdzvw0s5s0i4dba736pvdma"))))
(build-system gnu-build-system)
(native-inputs
`(("gettext" ,gettext-minimal)
@@ -49,7 +49,7 @@
("asciidoc" ,asciidoc)))
(inputs
`(("curl" ,curl)
- ("json-c" ,json-c-0.12) ; check whether json-c-0.12 can be removed
+ ("json-c" ,json-c)
("libxml2" ,libxml2)
("ncurses" ,ncurses)
("stfl" ,stfl)
@@ -64,6 +64,9 @@
#:make-flags
(list (string-append "prefix=" (assoc-ref %outputs "out")))
#:test-target "test"))
+ (native-search-paths
+ ;; Newsboat respects CURL_CA_BUNDLE.
+ (package-native-search-paths curl))
(home-page "https://newsboat.org/")
(synopsis "Text-mode RSS and Atom feed reader with podcast support")
(description "Newsboat is a feed reader for @dfn{RSS} and @dfn{Atom}, XML
diff --git a/gnu/packages/terminals.scm b/gnu/packages/terminals.scm
index 6f3453670c..e8b0357206 100644
--- a/gnu/packages/terminals.scm
+++ b/gnu/packages/terminals.scm
@@ -440,11 +440,11 @@ embedded kernel situations.")
(license license:expat)))
(define-public cool-retro-term
- (let ((commit "e48719fa44e5307df71dbd0fad234f8a6a53f863")
+ (let ((commit "dd799cf5c0eda92cf44f3938c0c2dcae5651a99e")
(revision "1"))
(package
(name "cool-retro-term")
- (version (string-append "1.0.0-" revision "." (string-take commit 7)))
+ (version (string-append "1.0.1-" revision "." (string-take commit 7)))
(source (origin
(method git-fetch)
(file-name (string-append name "-" version "-checkout"))
@@ -453,34 +453,111 @@ embedded kernel situations.")
(commit commit)
(recursive? #t)))
(sha256
- (base32 "1sgqbirninkvgwchr35zgn5vzqvsmrf3cp7lqady1xgrawb8lsz3"))
+ (base32 "08mrvj8zk9ck15q90ipjzza1acnnsjhprv2rxg8yyck0xl9p40jd"))
(patches
- (search-patches "cool-retro-term-remove-non-free-fonts.patch"
- "cool-retro-term-fix-array-size.patch"
+ (search-patches "cool-retro-term-fix-array-size.patch"
"cool-retro-term-dont-check-uninit-member.patch"
"cool-retro-term-memory-leak-1.patch"))
- (modules '((guix build utils)))
+ (modules '((guix build utils)
+ (srfi srfi-1)
+ (srfi srfi-26)
+ (ice-9 rdelim)
+ (ice-9 regex)))
(snippet
- '(for-each (lambda (font)
- (delete-file-recursively
- (string-append "app/qml/fonts/" font))
- (substitute* '("app/qml/resources.qrc")
- (((string-append "<file>fonts/" font ".*"))
- "")))
- '(;"1971-ibm-3278" ; BSD 3-clause
- "1977-apple2" ; Non-Free
- "1977-commodore-pet" ; Non-Free
- "1979-atari-400-800" ; Non-Free
- "1982-commodore64" ; Non-Free
- "1985-atari-st" ; ?
- "1985-ibm-pc-vga" ; Unclear
- ;"modern-fixedsys-excelsior" ; Redistributable
- ;"modern-hermit" ; SIL
- ;"modern-inconsolata"; SIL
- ;"modern-pro-font-win-tweaked" ; X11
- ;"modern-proggy-tiny"; X11
- ;"modern-terminus" ; SIL
- "modern-monaco"))))) ; Apple non-free
+ '(let* ((fonts '(;"1971-ibm-3278" ; BSD 3-clause
+ ;"1975-knight-tv" ; GPL
+ "1977-apple2" ; Non-Free
+ "1977-commodore-pet" ; Non-Free
+ "1979-atari-400-800" ; Non-Free
+ "1982-commodore64" ; Non-Free
+ "1985-atari-st" ; ?
+ "1985-ibm-pc-vga" ; Unclear
+ ;"modern-fixedsys-excelsior" ; Redistributable
+ ;"modern-hermit" ; SIL
+ ;"modern-inconsolata"; SIL
+ ;"modern-pro-font-win-tweaked" ; X11
+ ;"modern-proggy-tiny"; X11
+ ;"modern-terminus" ; SIL
+ "modern-monaco")) ; Apple Non-Free
+ (name-rx (make-regexp " *name: *\"([^\"]*)\""))
+ (source-rx (make-regexp " *source: \"fonts/([^/]*)[^\"]*\""))
+ (fontname-rx (make-regexp "\"fontName\":\"([^\"]*).*"))
+ (names
+ ;; Gather font names from all Fonts*.qml files.
+ ;; These will be used to remove items from the
+ ;; default profiles.
+ (fold
+ (lambda (font-file names)
+ (call-with-input-file font-file
+ (lambda (port)
+ (let loop ((name #f) (names names))
+ (let ((line (read-line port)))
+ (cond
+ ((eof-object? line) (pk 'names names))
+ ((regexp-exec name-rx line)
+ => (lambda (m)
+ (loop (match:substring m 1) names)))
+ ((regexp-exec source-rx line)
+ => (lambda (m)
+ (let ((font (match:substring m 1)))
+ (if (member font fonts)
+ (loop #f (lset-adjoin string=?
+ names name))
+ (loop #f names)))))
+ (else (loop name names))))))))
+ '() (find-files "app/qml" "Font.*\\.qml"))))
+ ;; Remove the font files themselves
+ (for-each (lambda (font)
+ (delete-file-recursively
+ (string-append "app/qml/fonts/" font)))
+ fonts)
+ ;; Remove mention of those fonts in the source
+ (substitute* "app/qml/resources.qrc"
+ (((string-append " *<file>fonts/("
+ (string-join fonts "|")
+ ").*"))
+ ""))
+ (for-each
+ (lambda (file)
+ (let ((start-rx (make-regexp " *ListElement\\{"))
+ (end-rx (make-regexp " *\\}")))
+ (with-atomic-file-replacement file
+ (lambda (in out)
+ (let loop ((line-buffer '())
+ (hold? #f)
+ (discard? #f))
+ (let ((line (read-line in 'concat)))
+ (cond
+ ((eof-object? line) #t) ;done
+ ((regexp-exec start-rx line)
+ (loop (cons line line-buffer) #t #f))
+ ((or (regexp-exec source-rx line)
+ (regexp-exec fontname-rx line))
+ => (lambda (m)
+ (let ((font-or-name (match:substring m 1)))
+ (if (or (member font-or-name fonts)
+ (member font-or-name names))
+ (loop '() #f #t)
+ (loop (cons line line-buffer)
+ hold? #f)))))
+ ((regexp-exec end-rx line)
+ (unless discard?
+ (for-each (cut display <> out)
+ (reverse line-buffer))
+ (display line out))
+ (loop '() #f #f))
+ (hold? (loop (cons line line-buffer)
+ hold? discard?))
+ (discard? (loop line-buffer #f #t))
+ (else (display line out)
+ (loop '() #f #f)))))))))
+ '("app/qml/FontPixels.qml"
+ "app/qml/FontScanlines.qml"
+ "app/qml/Fonts.qml"
+ "app/qml/ApplicationSettings.qml"))
+ ;; Final substitution for default scanline and pixel fonts
+ (substitute* "app/qml/ApplicationSettings.qml"
+ (("COMMODORE_PET") "PROGGY_TINY"))))))
(build-system gnu-build-system)
(inputs
`(("qtbase" ,qtbase)
@@ -492,46 +569,37 @@ embedded kernel situations.")
(modify-phases %standard-phases
(replace 'configure
(lambda* (#:key outputs #:allow-other-keys)
- (let* ((out (assoc-ref outputs "out"))
- (share (string-append out "/share")))
+ (let ((out (assoc-ref outputs "out")))
(substitute* '("qmltermwidget/qmltermwidget.pro")
(("INSTALL_DIR = \\$\\$\\[QT_INSTALL_QML\\]")
(string-append "INSTALL_DIR = " out "/lib/qt5/qml")))
- (substitute* '("app/app.pro")
- (("target.path \\+= /usr")
- (string-append "target.path += " out))
- (("icon32.path = /usr/share")
- (string-append "icon32.path = " share))
- (("icon64.path = /usr/share")
- (string-append "icon64.path = " share))
- (("icon128.path = /usr/share")
- (string-append "icon128.path = " share))
- (("icon256.path = /usr/share")
- (string-append "icon256.path = " share)))
- (zero? (system* "qmake")))))
- (add-before 'install 'fix-Makefiles
- (lambda* (#:key outputs #:allow-other-keys)
- (let* ((out (assoc-ref outputs "out")))
- (substitute* '("Makefile")
- (("\\$\\(INSTALL_ROOT\\)/usr") out)))))
+ (substitute* '("cool-retro-term.pro" "app/app.pro")
+ (("/usr") out))
+ (invoke "qmake"))))
(add-after 'install 'wrap-executable
(lambda* (#:key inputs outputs #:allow-other-keys)
- (let* ((out (assoc-ref outputs "out"))
- (qml "/lib/qt5/qml"))
+ (let ((out (assoc-ref outputs "out"))
+ (qml "/lib/qt5/qml"))
(wrap-program (string-append out "/bin/cool-retro-term")
`("QML2_IMPORT_PATH" ":" prefix
(,(string-append out qml)
- ,(string-append
- (assoc-ref inputs "qtdeclarative") qml)
- ,(string-append
- (assoc-ref inputs "qtgraphicaleffects") qml)
- ,(string-append
- (assoc-ref inputs "qtquickcontrols") qml)))))))
+ ,@(map (lambda (i)
+ (string-append (assoc-ref inputs i) qml))
+ '("qtdeclarative"
+ "qtgraphicaleffects"
+ "qtquickcontrols")))))
+ #t)))
(add-after 'install 'add-alternate-name
(lambda* (#:key outputs #:allow-other-keys)
- (let* ((bin (string-append (assoc-ref outputs "out") "/bin")))
+ (let ((bin (string-append (assoc-ref outputs "out") "/bin")))
(symlink (string-append bin "/cool-retro-term")
- (string-append bin "/crt"))))))))
+ (string-append bin "/crt")))))
+ (add-after 'install 'install-man
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let ((mandir (string-append (assoc-ref outputs "out")
+ "/share/man/man1")))
+ (install-file "packaging/debian/cool-retro-term.1" mandir)
+ #t))))))
(synopsis "Terminal emulator")
(description
"Cool-retro-term (crt) is a terminal emulator which mimics the look and
diff --git a/gnu/packages/tex.scm b/gnu/packages/tex.scm
index 266e42d5aa..db1f120ce6 100644
--- a/gnu/packages/tex.scm
+++ b/gnu/packages/tex.scm
@@ -10,6 +10,7 @@
;;; Copyright © 2017 Leo Famulari <leo@famulari.name>
;;; Copyright © 2017 Marius Bakke <mbakke@fastmail.com>
;;; Copyright © 2017 Tobias Geerinckx-Rice <me@tobias.gr>
+;;; Copyright © 2018 Danny Milosavljevic <dannym+a@scratchpost.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -30,6 +31,7 @@
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix packages)
#:use-module (guix download)
+ #:use-module (guix build-system cmake)
#:use-module (guix build-system gnu)
#:use-module (guix build-system perl)
#:use-module (guix build-system trivial)
@@ -38,8 +40,10 @@
#:use-module (guix git-download)
#:use-module (guix svn-download)
#:use-module (gnu packages)
+ #:use-module (gnu packages algebra)
#:use-module (gnu packages autotools)
#:use-module (gnu packages bash)
+ #:use-module (gnu packages boost)
#:use-module (gnu packages compression)
#:use-module (gnu packages fontutils)
#:use-module (gnu packages gd)
@@ -47,6 +51,7 @@
#:use-module (gnu packages gtk)
#:use-module (gnu packages icu4c)
#:use-module (gnu packages image)
+ #:use-module (gnu packages libreoffice)
#:use-module (gnu packages lua)
#:use-module (gnu packages multiprecision)
#:use-module (gnu packages pdf)
@@ -4263,3 +4268,90 @@ develop documents with LaTeX, in a single application.")
plain TeX, and Eplain, originally written by Paul Abrahams, Kathryn Hargreaves,
and Karl Berry.")
(license license:fdl1.3+)))
+
+(define-public lyx
+ (package
+ (name "lyx")
+ (version "2.2.3")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "http://ftp.lyx.org/pub/lyx/stable/2.2.x/"
+ name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "0xvaz0i371nn2ndinc0d3ywj76ivb62649a4sdgwbivisiahd2fj"))
+ (patches (search-patches "lyx-2.2.3-fix-test.patch"))
+ (modules '((guix build utils)))
+ (snippet
+ '(begin
+ (delete-file-recursively "3rdparty")
+ #t))))
+ (build-system cmake-build-system)
+ (arguments
+ `(#:configure-flags `("-DLYX_USE_QT=QT5"
+ "-DLYX_EXTERNAL_BOOST=1"
+ "-DLYX_INSTALL=1"
+ "-DLYX_RELEASE=1"
+ ,(string-append "-DLYX_INSTALL_PREFIX="
+ (assoc-ref %outputs "out")
+ ;; Exact name and level is necessary.
+ "/lyx2.2"))
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'patch-python
+ (lambda* (#:key inputs #:allow-other-keys)
+ (substitute* '("src/support/os.cpp")
+ (("\"python ")
+ (string-append "\""
+ (assoc-ref inputs "python-2")
+ "/bin/python ")))
+ #t))
+ (add-after 'patch-python 'patch-installer
+ (lambda* (#:key outputs #:allow-other-keys)
+ (substitute* "CMakeLists.txt"
+ (("/usr/local/man/man1")
+ (string-append (assoc-ref outputs "out")
+ "/share/man/man1")))
+ #t))
+ (add-after 'patch-python 'patch-desktop-file
+ (lambda* (#:key outputs #:allow-other-keys)
+ (substitute* "lib/lyx.desktop.in"
+ (("Exec=")
+ (string-append "Exec="
+ (assoc-ref outputs "out")
+ "/")))
+ #t))
+ (add-before 'check 'setenv-check
+ (lambda _
+ (setenv "LYX_DIR_22x" (string-append (getcwd) "/../lyx-"
+ ,version "/lib"))
+ #t))
+ (add-after 'install 'install-symlinks
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let ((out (assoc-ref outputs "out")))
+ (mkdir-p (string-append out "/bin"))
+ (symlink "../lyx2.2/bin/lyx2.2"
+ (string-append out "/bin/lyx2.2"))
+ #t))))))
+ (inputs
+ `(("boost" ,boost)
+ ("hunspell" ,hunspell) ; Note: Could also use aspell instead.
+ ("libx11" ,libx11)
+ ("python-2" ,python-2)
+ ("qtbase" ,qtbase)
+ ("qtsvg" ,qtsvg)
+ ("zlib" ,zlib)))
+ (propagated-inputs
+ `(("texlive" ,texlive))) ; article.cls is in texmf-dist.
+ (native-inputs
+ `(("python-2" ,python-2)
+ ("pkg-config" ,pkg-config)
+ ("bc" ,bc)))
+ (home-page "https://www.lyx.org/")
+ (synopsis "Document preparation system with GUI")
+ (description "LyX is a document preparation system. It excels at letting
+you create complex technical and scientific articles with mathematics,
+cross-references, bibliographies, indexes, etc. It is very good for working
+with documents of any length in which the usual processing abilities are
+required: automatic sectioning and pagination, spell checking and so forth.")
+ (license license:gpl2+)))
diff --git a/gnu/packages/text-editors.scm b/gnu/packages/text-editors.scm
index f375234b88..42f65d8e46 100644
--- a/gnu/packages/text-editors.scm
+++ b/gnu/packages/text-editors.scm
@@ -1,11 +1,11 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2016 José Miguel Sánchez García <jmi2k@openmailbox.org>
;;; Copyright © 2016 Carlo Zancanaro <carlo@zancanaro.id.au>
-;;; Copyright © 2017 Eric Bavier <bavier@member.fsf.org>
+;;; Copyright © 2017, 2018 Eric Bavier <bavier@member.fsf.org>
;;; Copyright © 2017 Feng Shu <tumashu@163.com>
;;; Copyright © 2017 Nils Gillmann <ng0@n0.is>
;;; Copyright © 2014 Taylan Ulrich Bayırlı/Kammer <taylanbayirli@gmail.org>
-;;; Copyright © 2017 Tobias Geerinckx-Rice <me@tobias.gr>
+;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -38,9 +38,11 @@
#:use-module (gnu packages glib)
#:use-module (gnu packages gtk)
#:use-module (gnu packages libbsd)
+ #:use-module (gnu packages libreoffice)
#:use-module (gnu packages lua)
#:use-module (gnu packages ncurses)
#:use-module (gnu packages pkg-config)
+ #:use-module (gnu packages qt)
#:use-module (gnu packages regex)
#:use-module (gnu packages ruby)
#:use-module (gnu packages terminals)
@@ -49,7 +51,7 @@
(define-public vis
(package
(name "vis")
- (version "0.4")
+ (version "0.5")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/martanne/"
@@ -57,7 +59,7 @@
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
- "1iclfsc9vn40fqfiz56vrw6dmr4x8q9gvav0b53kkpc6zcfa86zi"))))
+ "1xbxb3q963s6sav63yw0x30lm0wvxsrzb7hr6a7dh4f8r7mp1skp"))))
(build-system gnu-build-system)
(arguments
`(#:test-target "test"
@@ -155,7 +157,7 @@ competitive (as in keystroke count) with Vim.")
(define-public joe
(package
(name "joe")
- (version "4.4")
+ (version "4.6")
(source
(origin
(method url-fetch)
@@ -164,7 +166,7 @@ competitive (as in keystroke count) with Vim.")
"joe-" version ".tar.gz"))
(sha256
(base32
- "0y898r1xlrv75m00y598rvwwsricabplyh80wawsqafapcl4hw55"))))
+ "1pmr598xxxm9j9dl93kq4dv36zyw0q2dh6d7x07hf134y9hhlnj9"))))
(build-system gnu-build-system)
(inputs `(("ncurses" ,ncurses)))
(home-page "http://joe-editor.sourceforge.net/")
@@ -290,3 +292,55 @@ Wordstar-, EMACS-, Pico, Nedit or vi-like key bindings. e3 can be used on
compatible. This is a portable version of the mg maintained by the OpenBSD
team.")
(license license:public-domain)))
+
+(define-public ghostwriter
+ (package
+ (name "ghostwriter")
+ (version "1.6.1")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/wereturtle/ghostwriter.git")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "1ihdr4xk0j83q83xknbikxb7yf9qhlkgvc89w33lhj090cv376gd"))))
+ (build-system gnu-build-system)
+ (native-inputs
+ `(("pkg-config" ,pkg-config)
+ ("qttools" ,qttools))) ;for lrelease
+ (inputs
+ `(("hunspell" ,hunspell)
+ ("qtbase" ,qtbase)
+ ("qtmultimedia" ,qtmultimedia)
+ ("qtsvg" ,qtsvg)
+ ("qtwebkit" ,qtwebkit)))
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (replace 'configure
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let ((out (assoc-ref outputs "out")))
+ (invoke "qmake" (string-append "PREFIX=" out)))))
+ (add-after 'configure 'create-translations
+ (lambda _
+ ;; `lrelease` will not overwrite, so delete existing .qm files
+ (for-each delete-file (find-files "translations" ".*\\.qm"))
+ (apply invoke "lrelease" (find-files "translations" ".*\\.ts"))))
+ ;; Ensure that icons are found at runtime.
+ (add-after 'install 'wrap-executable
+ (lambda* (#:key inputs outputs #:allow-other-keys)
+ (let ((out (assoc-ref outputs "out")))
+ (wrap-program (string-append out "/bin/ghostwriter")
+ `("QT_PLUGIN_PATH" ":" prefix
+ ,(map (lambda (label)
+ (string-append (assoc-ref inputs label)
+ "/lib/qt5/plugins/"))
+ '("qtsvg" "qtmultimedia"))))))))))
+ (home-page "https://wereturtle.github.io/ghostwriter/")
+ (synopsis "Write without distractions")
+ (description
+ "@code{ghostwriter} provides a relaxing, distraction-free writing
+environment with Markdown markup.")
+ (license license:gpl3+))) ;icons/* under CC-BY-SA3
diff --git a/gnu/packages/textutils.scm b/gnu/packages/textutils.scm
index 2a463d8bad..2108a0a6d1 100644
--- a/gnu/packages/textutils.scm
+++ b/gnu/packages/textutils.scm
@@ -294,16 +294,16 @@ input bits thoroughly but are not suitable for cryptography.")
(define-public libconfig
(package
(name "libconfig")
- (version "1.5")
+ (version "1.7.2")
+ (home-page "https://hyperrealm.github.io/libconfig/")
(source (origin
(method url-fetch)
- (uri (string-append "http://www.hyperrealm.com/libconfig/"
- "libconfig-" version ".tar.gz"))
+ (uri (string-append home-page "/dist/libconfig-"
+ version ".tar.gz"))
(sha256
(base32
- "1xh3hzk63v4y8815lc5209m3s6ms2cpgw4h5hg462i4f1lwsl7g3"))))
+ "1ngs2qx3cx5cbwinc5mvadly0b5n7s86zsc68c404czzfff7lg3w"))))
(build-system gnu-build-system)
- (home-page "http://www.hyperrealm.com/libconfig/")
(synopsis "C/C++ configuration file library")
(description
"Libconfig is a simple library for manipulating structured configuration
diff --git a/gnu/packages/tls.scm b/gnu/packages/tls.scm
index f56d5b27fa..60e29bfe82 100644
--- a/gnu/packages/tls.scm
+++ b/gnu/packages/tls.scm
@@ -6,7 +6,7 @@
;;; Copyright © 2015 David Thompson <davet@gnu.org>
;;; Copyright © 2015, 2016, 2017 Leo Famulari <leo@famulari.name>
;;; Copyright © 2016, 2017 Efraim Flashner <efraim@flashner.co.il>
-;;; Copyright © 2016, 2017 Nils Gillmann <ng0@n0.is>
+;;; Copyright © 2016, 2017, 2018 Nils Gillmann <ng0@n0.is>
;;; Copyright © 2016 Hartmut Goebel <h.goebel@crazy-compilers.com>
;;; Copyright © 2017 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2017 Marius Bakke <mbakke@fastmail.com>
@@ -255,6 +255,7 @@ required structures.")
(define-public openssl
(package
(name "openssl")
+ (replacement openssl-1.0.2o)
(version "1.0.2n")
(source (origin
(method url-fetch)
@@ -399,11 +400,32 @@ required structures.")
(license license:openssl)
(home-page "https://www.openssl.org/")))
+(define openssl-1.0.2o
+ (package
+ (inherit openssl)
+ (name "openssl")
+ (version "1.0.2o")
+ (source (origin
+ (inherit (package-source openssl))
+ (uri (list (string-append "https://www.openssl.org/source/openssl-"
+ version ".tar.gz")
+ (string-append "ftp://ftp.openssl.org/source/"
+ name "-" version ".tar.gz")
+ (string-append "ftp://ftp.openssl.org/source/old/"
+ (string-trim-right version char-set:letter)
+ "/" name "-" version ".tar.gz")))
+ (sha256
+ (base32
+ "0kcy13l701054nhpbd901mz32v1kn4g311z0nifd83xs2jbmqgzc"))
+ ;; Erase the inherited snippet, which isn't applicable to
+ ;; OpenSSL 1.0.2o.
+ (snippet #f)))))
+
(define-public openssl-next
(package
(inherit openssl)
(name "openssl")
- (version "1.1.0g")
+ (version "1.1.0h")
(source (origin
(method url-fetch)
(uri (list (string-append "https://www.openssl.org/source/openssl-"
@@ -416,7 +438,7 @@ required structures.")
(patches (search-patches "openssl-1.1.0-c-rehash-in.patch"))
(sha256
(base32
- "1bvka2wf33w2vxv7yw578nnjqyhz2b3chvfb0l4k2ffscw950kfy"))))
+ "05x509lccqjscgyi935z809pwfm708islypwhmjnb6cyvrn64daq"))))
(outputs '("out"
"doc" ;1.3MiB of man3 pages
"static")) ; 5.5MiB of .a files
@@ -468,14 +490,14 @@ required structures.")
(define-public libressl
(package
(name "libressl")
- (version "2.6.4")
+ (version "2.7.2")
(source (origin
(method url-fetch)
(uri (string-append "mirror://openbsd/LibreSSL/"
name "-" version ".tar.gz"))
(sha256
(base32
- "07yi37a2ghsgj2b4w30q1s4d2inqnix7ika1m21y57p9z71212k3"))))
+ "1589f0kg7kj51j9hid542s4isb96s1azjaqsfprpy5s2qdwqfyli"))))
(build-system gnu-build-system)
(arguments
;; Do as if 'getentropy' was missing since older Linux kernels lack it
@@ -512,13 +534,13 @@ netcat implementation that supports TLS.")
(package
(name "python-acme")
;; Remember to update the hash of certbot when updating python-acme.
- (version "0.22.2")
+ (version "0.23.0")
(source (origin
(method url-fetch)
(uri (pypi-uri "acme" version))
(sha256
(base32
- "1d5d4w88aj1i8fyrs44dapmiqbmgz4bjgryn8k3mnggmd6ihxk8f"))))
+ "0l257dq1i2gka6ynldidpwaz1aa726643crqqckga1w5awsndh88"))))
(build-system python-build-system)
(arguments
`(#:phases
@@ -567,7 +589,7 @@ netcat implementation that supports TLS.")
(uri (pypi-uri name version))
(sha256
(base32
- "1vsb8qqghxrwxr3d2l0d5cgdk0pz7b3f76bx3zrrg0z7jf967qz6"))))
+ "0gh5fr61c3mj5vdkn68k17wcvri9rdj506cmmz6631i2l5flrzvc"))))
(build-system python-build-system)
(arguments
`(,@(substitute-keyword-arguments (package-arguments python-acme)
@@ -787,7 +809,7 @@ then ported to the GNU / Linux environment.")
(define-public mbedtls-apache
(package
(name "mbedtls-apache")
- (version "2.7.0")
+ (version "2.7.2")
(source
(origin
(method url-fetch)
@@ -797,15 +819,7 @@ then ported to the GNU / Linux environment.")
version "-apache.tgz"))
(sha256
(base32
- "1vsmgxnw7dpvma51896n63yaf9sncmf885ax2jfcg89ssin6vdmf"))
- ;; An RFC 5114 constant was accidentally renamed in version 2.7.0.
- ;; See https://github.com/ARMmbed/mbedtls/pull/1362.
- (modules '((guix build utils)))
- (snippet
- '(begin
- (substitute* "include/mbedtls/dhm.h"
- (("#define MBEDTLS_DHM_RFC5114_MODP_P")
- "#define MBEDTLS_DHM_RFC5114_MODP_2048_P"))))))
+ "1mvkqlxxvl6yp1g5g9dk4l7h3wl6149p3pfwgwzgs7xybyxw4f7x"))))
(build-system cmake-build-system)
(arguments
`(#:configure-flags
diff --git a/gnu/packages/tmux.scm b/gnu/packages/tmux.scm
index 4456e73bc8..1bc947844a 100644
--- a/gnu/packages/tmux.scm
+++ b/gnu/packages/tmux.scm
@@ -34,7 +34,7 @@
(define-public tmux
(package
(name "tmux")
- (version "2.6")
+ (version "2.7")
(source (origin
(method url-fetch)
(uri (string-append
@@ -42,7 +42,7 @@
version "/tmux-" version ".tar.gz"))
(sha256
(base32
- "1s6pgk63ar1swpvhs8r5fk26vav3ybsf2ll7d705hysdm5qd2z5i"))))
+ "0lnlhnafvi5700afr69g6gr62pblnd440jj0hxdbrxhk0c87vvcx"))))
(build-system gnu-build-system)
(inputs
`(("libevent" ,libevent)
diff --git a/gnu/packages/tv.scm b/gnu/packages/tv.scm
index cb82e5b847..ef67ad37f2 100644
--- a/gnu/packages/tv.scm
+++ b/gnu/packages/tv.scm
@@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2015, 2016, 2017 Alex Kost <alezost@gmail.com>
+;;; Copyright © 2015, 2016, 2017, 2018 Alex Kost <alezost@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -26,6 +26,7 @@
#:use-module (gnu packages fontutils)
#:use-module (gnu packages image)
#:use-module (gnu packages linux)
+ #:use-module (gnu packages pkg-config)
#:use-module (gnu packages xml)
#:use-module (gnu packages xorg))
@@ -55,6 +56,8 @@
("libxml2" ,libxml2)
("freetype" ,freetype)
("zlib" ,zlib)))
+ (native-inputs
+ `(("pkg-config" ,pkg-config)))
(home-page "http://tvtime.sourceforge.net")
(synopsis "Television viewer")
(description
diff --git a/gnu/packages/upnp.scm b/gnu/packages/upnp.scm
index 8764cea9a6..7db6b5eec5 100644
--- a/gnu/packages/upnp.scm
+++ b/gnu/packages/upnp.scm
@@ -29,14 +29,14 @@
(define-public miniupnpc
(package
(name "miniupnpc")
- (version "2.0.20180222")
+ (version "2.0.20180406")
(source
(origin
(method url-fetch)
(uri (string-append "https://miniupnp.tuxfamily.org/files/"
name "-" version ".tar.gz"))
(sha256
- (base32 "0xavcrifk8v8gwig3mj0kjkm7rvw1kbsxcs4jxrrzl39cil48yaq"))))
+ (base32 "15i9lyj72wr15b3kpcqsf97mr2hajkpwvf0lz9ps9r568yyjcwlc"))))
(build-system gnu-build-system)
(native-inputs
`(("python" ,python-2)))
diff --git a/gnu/packages/version-control.scm b/gnu/packages/version-control.scm
index 5047d8d4d0..cccdb31fb1 100644
--- a/gnu/packages/version-control.scm
+++ b/gnu/packages/version-control.scm
@@ -139,14 +139,14 @@ as well as the classic centralized workflow.")
(name "git")
;; XXX When updating Git, check if the special 'git:src' input to cgit needs
;; to be updated as well.
- (version "2.16.2")
+ (version "2.17.0")
(source (origin
(method url-fetch)
(uri (string-append "mirror://kernel.org/software/scm/git/git-"
version ".tar.xz"))
(sha256
(base32
- "05y7480f2p7fkncbhf08zz56jbykcp0ia5gl6y3djs0lsa5mfq2m"))))
+ "1ismz7nsz8dgjmk782xr9s0mr2qh06f72pdcgbxfmnw1bvlya5p9"))))
(build-system gnu-build-system)
(native-inputs
`(("native-perl" ,perl)
@@ -159,7 +159,7 @@ as well as the classic centralized workflow.")
version ".tar.xz"))
(sha256
(base32
- "01fbmfsqcv7jmyh80yg3fv5jwv78zvxys9b0fd6bdcy89h9ybvj2"))))))
+ "09rpjj0m97h5lpzpwk47m6xsz9gb8wqf1s3dfqma3mwav2pb3njb"))))))
(inputs
`(("curl" ,curl)
("expat" ,expat)
@@ -215,9 +215,6 @@ as well as the classic centralized workflow.")
(("/bin/sh") (which "sh"))
(("/usr/bin/perl") (which "perl"))
(("/usr/bin/python") (which "python")))
- (substitute* "perl/Makefile"
- ;; Don't create timestamped 'perllocal.pod'.
- (("\\$< PREFIX=") "$< NO_PERLLOCAL=1 PREFIX="))
#t))
(add-after 'configure 'add-PM.stamp
(lambda _
@@ -226,42 +223,43 @@ as well as the classic centralized workflow.")
#t))
(add-before 'check 'patch-tests
(lambda _
- ;; These files contain some funny bytes that Guile is unable
- ;; to decode for shebang patching. Just delete them.
- (for-each delete-file '("t/t4201-shortlog.sh"
- "t/t7813-grep-icase-iso.sh"))
- ;; Many tests contain inline shell scripts (hooks etc).
- (substitute* (find-files "t" "\\.sh$")
- (("#!/bin/sh") (string-append "#!" (which "sh"))))
- ;; Un-do shebang patching here to prevent checksum mismatch.
- (substitute* '("t/t4034/perl/pre" "t/t4034/perl/post")
- (("^#!.*/bin/perl") "#!/usr/bin/perl"))
- (substitute* "t/t5003-archive-zip.sh"
- (("cp /bin/sh") (string-append "cp " (which "sh"))))
- (substitute* "t/t6030-bisect-porcelain.sh"
- (("\"/bin/sh\"") (string-append "\"" (which "sh") "\"")))
- ;; FIXME: This test runs `git commit` with a bogus EDITOR
- ;; and empty commit message, but does not fail the way it's
- ;; expected to. The test passes when invoked interactively.
- (substitute* "t/t7508-status.sh"
- (("\tcommit_template_commented") "\ttrue"))
- ;; More checksum mismatches due to odd shebangs.
- (substitute* "t/t9100-git-svn-basic.sh"
- (("\"#!/gnu.*/bin/sh") "\"#!/bin/sh"))
- (substitute* "t/t9300-fast-import.sh"
- (("\t#!/gnu.*/bin/sh") "\t#!/bin/sh")
- (("'#!/gnu.*/bin/sh") "'#!/bin/sh"))
- ;; FIXME: Some hooks fail with "basename: command not found".
- ;; See 't/trash directory.t9164.../svn-hook.log'.
- (delete-file "t/t9164-git-svn-dcommit-concurrent.sh")
-
- ;; XXX: These tests fail intermittently for unknown reasons:
- ;; <https://bugs.gnu.org/29546>.
- (for-each delete-file
- '("t/t9128-git-svn-cmd-branch.sh"
- "t/t9167-git-svn-cmd-branch-subproject.sh"
- "t/t9141-git-svn-multiple-branches.sh"))
- #t))
+ (let ((store-directory (%store-directory)))
+ ;; These files contain some funny bytes that Guile is unable
+ ;; to decode for shebang patching. Just delete them.
+ (for-each delete-file '("t/t4201-shortlog.sh"
+ "t/t7813-grep-icase-iso.sh"))
+ ;; Many tests contain inline shell scripts (hooks etc).
+ (substitute* (find-files "t" "\\.sh$")
+ (("#!/bin/sh") (string-append "#!" (which "sh"))))
+ ;; Un-do shebang patching here to prevent checksum mismatch.
+ (substitute* '("t/t4034/perl/pre" "t/t4034/perl/post")
+ (("^#!.*/bin/perl") "#!/usr/bin/perl"))
+ (substitute* "t/t5003-archive-zip.sh"
+ (("cp /bin/sh") (string-append "cp " (which "sh"))))
+ (substitute* "t/t6030-bisect-porcelain.sh"
+ (("\"/bin/sh\"") (string-append "\"" (which "sh") "\"")))
+ ;; FIXME: This test runs `git commit` with a bogus EDITOR
+ ;; and empty commit message, but does not fail the way it's
+ ;; expected to. The test passes when invoked interactively.
+ (substitute* "t/t7508-status.sh"
+ (("\tcommit_template_commented") "\ttrue"))
+ ;; More checksum mismatches due to odd shebangs.
+ (substitute* "t/t9100-git-svn-basic.sh"
+ (((string-append "\"#!" store-directory ".*/bin/sh")) "\"#!/bin/sh") )
+ (substitute* "t/t9300-fast-import.sh"
+ (((string-append "\t#!" store-directory ".*/bin/sh")) "\t#!/bin/sh")
+ (((string-append "'#!" store-directory ".*/bin/sh")) "'#!/bin/sh"))
+ ;; FIXME: Some hooks fail with "basename: command not found".
+ ;; See 't/trash directory.t9164.../svn-hook.log'.
+ (delete-file "t/t9164-git-svn-dcommit-concurrent.sh")
+
+ ;; XXX: These tests fail intermittently for unknown reasons:
+ ;; <https://bugs.gnu.org/29546>.
+ (for-each delete-file
+ '("t/t9128-git-svn-cmd-branch.sh"
+ "t/t9167-git-svn-cmd-branch-subproject.sh"
+ "t/t9141-git-svn-multiple-branches.sh"))
+ #t)))
(add-after 'install 'install-shell-completion
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
@@ -694,13 +692,13 @@ allowing to handle large objects with a small memory footprint.")
(define-public python-gitpython
(package
(name "python-gitpython")
- (version "2.1.8")
+ (version "2.1.9")
(source (origin
(method url-fetch)
(uri (pypi-uri "GitPython" version))
(sha256
(base32
- "1sbn018mn3y2r58ix5z12na1s02ccprhckb88yq3bdddvqjvqqdd"))))
+ "0a9in1jfv9ssxhckl6sasw45bhm762y2r5ikgb2pk2g8yqdc6z64"))))
(build-system python-build-system)
(arguments
`(#:tests? #f ;XXX: Tests can only be run within the GitPython repository.
@@ -1739,11 +1737,9 @@ be served with a HTTP file server of your choice.")
("ghc-quickcheck" ,ghc-quickcheck)
("ghc-findbin" ,ghc-findbin)
("ghc-hunit" ,ghc-hunit)
- ("ghc-array" ,ghc-array)
("ghc-async" ,ghc-async)
("ghc-attoparsec" ,ghc-attoparsec)
("ghc-base16-bytestring" ,ghc-base16-bytestring)
- ("ghc-binary" ,ghc-binary)
("ghc-bytestring-builder" ,ghc-bytestring-builder)
("ghc-cryptohash" ,ghc-cryptohash)
("ghc-data-ordlist" ,ghc-data-ordlist)
@@ -1751,7 +1747,6 @@ be served with a HTTP file server of your choice.")
("ghc-system-filepath" ,ghc-system-filepath)
("ghc-graphviz" ,ghc-graphviz)
("ghc-hashable" ,ghc-hashable)
- ("ghc-haskeline" ,ghc-haskeline)
("ghc-html" ,ghc-html)
("ghc-mmap" ,ghc-mmap)
("ghc-mtl" ,ghc-mtl)
diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm
index f7f82df072..b4e7e6ad82 100644
--- a/gnu/packages/video.scm
+++ b/gnu/packages/video.scm
@@ -24,6 +24,7 @@
;;; Copyright © 2017, 2018 Rutger Helling <rhelling@mykolab.com>
;;; Copyright © 2018 Roel Janssen <roel@gnu.org>
;;; Copyright © 2018 Marius Bakke <mbakke@fastmail.com>
+;;; Copyright © 2018 Pierre Neidhardt <ambrevar@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -56,6 +57,7 @@
#:use-module (guix build-system perl)
#:use-module (guix build-system python)
#:use-module (guix build-system waf)
+ #:use-module (guix build-system trivial)
#:use-module (gnu packages)
#:use-module (gnu packages algebra)
#:use-module (gnu packages audio)
@@ -1511,7 +1513,7 @@ encapsulated.")
(define-public libdvdcss
(package
(name "libdvdcss")
- (version "1.4.1")
+ (version "1.4.2")
(source (origin
(method url-fetch)
(uri (string-append "https://download.videolan.org/pub/"
@@ -1519,7 +1521,7 @@ encapsulated.")
name "-" version ".tar.bz2"))
(sha256
(base32
- "1b7awvyahivglp7qmgx2g5005kc5npv257gw7wxdprjsnx93f1zb"))))
+ "0x957zzpf4w2cp8zlk29prj8i2q6hay3lzdzsyz8y3cwxivyvhkq"))))
(build-system gnu-build-system)
(home-page "https://www.videolan.org/developers/libdvdcss.html")
(synopsis "Library for accessing DVDs as block devices")
@@ -1753,14 +1755,14 @@ and custom quantization matrices.")
(define-public streamlink
(package
(name "streamlink")
- (version "0.10.0")
+ (version "0.11.0")
(source
(origin
(method url-fetch)
(uri (pypi-uri "streamlink" version))
(sha256
(base32
- "17299xnd9jzi7m1d2rr4xdlj47q64bzj2957nlsrhw0hskds1s6h"))))
+ "02h8b3k8l5zz4vjm0nhxvl1pm924jms8y7sjl40fbybrzvsa4mg2"))))
(build-system python-build-system)
(home-page "https://github.com/streamlink/streamlink")
(native-inputs
@@ -1773,7 +1775,8 @@ and custom quantization matrices.")
("python-iso3166" ,python-iso3166)
("python-iso639" ,python-iso639)
("python-pycryptodome" ,python-pycryptodome)
- ("python-requests" ,python-requests)))
+ ("python-requests" ,python-requests)
+ ("python-urllib3" ,python-urllib3)))
(synopsis "Extract streams from various services")
(description "Streamlink is command-line utility that extracts streams
from sites like Twitch.tv and pipes them into a video player of choice.")
@@ -1782,6 +1785,38 @@ from sites like Twitch.tv and pipes them into a video player of choice.")
(define-public livestreamer
(deprecated-package "livestreamer" streamlink))
+(define-public twitchy
+ (let ((commit "0c0f925b9c7ff2aed4a3b0046561cb794143c398")) ;Fixes tests.
+ (package
+ (name "twitchy")
+ (version (git-version "3.2" "1" commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/BasioMeusPuga/twitchy.git")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "02aizvsr744sh8bdqvwwsmp2qpczlzn8fy76h5dyd3517n9nlcz9"))))
+ (build-system python-build-system)
+ (arguments
+ '(#:phases
+ (modify-phases %standard-phases
+ (add-before 'check 'check-setup
+ (lambda _
+ (setenv "HOME" (getcwd)) ;Needs to write to ‘$HOME’.
+ #t)))))
+ (inputs
+ `(("python-requests" ,python-requests)
+ ("streamlink" ,streamlink)))
+ (home-page "https://github.com/BasioMeusPuga/twitchy")
+ (synopsis "Command-line interface for Twitch.tv")
+ (description
+ "This package provides a command-line interface for Twitch.tv")
+ (license license:gpl3+))))
+
(define-public mlt
(package
(name "mlt")
@@ -2788,3 +2823,39 @@ changed. Or in other words, it can detect motion.")
;; Some files say "version 2" and others "version 2 or later".
(license license:gpl2)))
+
+(define-public subdl
+ (let ((commit "4cf5789b11f0ff3f863b704b336190bf968cd471")
+ (revision "1"))
+ (package
+ (name "subdl")
+ (version (git-version "1.0.3" revision commit))
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/alexanderwink/subdl.git")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0kmk5ck1j49q4ww0lvas2767kwnzhkq0vdwkmjypdx5zkxz73fn8"))))
+ (build-system trivial-build-system)
+ (arguments
+ `(#:modules ((guix build utils))
+ #:builder (begin
+ (use-modules (guix build utils))
+ (let* ((out (assoc-ref %outputs "out"))
+ (bin (string-append out "/bin"))
+ (source (assoc-ref %build-inputs "source"))
+ (python (assoc-ref %build-inputs "python")))
+ (install-file (string-append source "/subdl") bin)
+ (patch-shebang (string-append bin "/subdl")
+ (list (string-append python "/bin")))))))
+ (inputs `(("python" ,python)))
+ (synopsis "Command-line tool for downloading subtitles from opensubtitles.org")
+ (description "Subdl is a command-line tool for downloading subtitles from
+opensubtitles.org. By default, it will search for English subtitles, display
+the results, download the highest-rated result in the requested language and
+save it to the appropriate filename.")
+ (license license:gpl3+)
+ (home-page "https://github.com/alexanderwink/subdl"))))
diff --git a/gnu/packages/virtualization.scm b/gnu/packages/virtualization.scm
index de01e01638..44a4ed2920 100644
--- a/gnu/packages/virtualization.scm
+++ b/gnu/packages/virtualization.scm
@@ -347,14 +347,14 @@ manage system or application containers.")
(define-public libvirt
(package
(name "libvirt")
- (version "4.0.0")
+ (version "4.2.0")
(source (origin
(method url-fetch)
(uri (string-append "https://libvirt.org/sources/libvirt-"
version ".tar.xz"))
(sha256
(base32
- "1j6zzajh4j3zzsaqn5f5mrchm0590xcf6rzkfajvqw3bd4dcms79"))))
+ "0nq1iz5iic466qahp0i8dlvyd6li0b0pdrvvrz9286l12x2fm61s"))))
(build-system gnu-build-system)
(arguments
`(;; FAIL: virshtest
@@ -420,7 +420,7 @@ manage system or application containers.")
("perl" ,perl)
("pkg-config" ,pkg-config)
("polkit" ,polkit)
- ("python" ,python-2)))
+ ("python" ,python)))
(home-page "https://libvirt.org")
(synopsis "Simple API for virtualization")
(description "Libvirt is a C toolkit to interact with the virtualization
@@ -480,13 +480,13 @@ three libraries:
(define-public python-libvirt
(package
(name "python-libvirt")
- (version "3.7.0")
+ (version "4.1.0")
(source (origin
(method url-fetch)
(uri (pypi-uri "libvirt-python" version))
(sha256
(base32
- "0vy0ai8z88yhzqfk1n08z1gda5flrqxcw9lg1012b3zg125qljhy"))))
+ "1ixqhxjkczl8vk9wjx4cknw4374cw5nnsacbd2s755kpd0ys7hny"))))
(build-system python-build-system)
(arguments
`(#:phases
diff --git a/gnu/packages/vpn.scm b/gnu/packages/vpn.scm
index 0fc3197077..070b695651 100644
--- a/gnu/packages/vpn.scm
+++ b/gnu/packages/vpn.scm
@@ -300,14 +300,14 @@ private network between hosts on the internet.")
(define-public sshuttle
(package
(name "sshuttle")
- (version "0.78.3")
+ (version "0.78.4")
(source
(origin
(method url-fetch)
(uri (pypi-uri name version))
(sha256
(base32
- "12xyq5h77b57cnkljdk8qyjxzys512b73019s20x6ck5brj1m8wa"))))
+ "0pqk43kd7crqhg6qgnl8kapncwgw1xgaf02zarzypcw64kvdih9h"))))
(build-system python-build-system)
(native-inputs
`(("python-setuptools-scm" ,python-setuptools-scm)
diff --git a/gnu/packages/web-browsers.scm b/gnu/packages/web-browsers.scm
index ef39d71411..6c929d326d 100644
--- a/gnu/packages/web-browsers.scm
+++ b/gnu/packages/web-browsers.scm
@@ -79,15 +79,14 @@ older or slower computers and embedded systems.")
(define-public links
(package
(name "links")
- (version "2.14")
+ (version "2.15")
(source (origin
(method url-fetch)
(uri (string-append "http://links.twibright.com/download/"
name "-" version ".tar.bz2"))
- (patches (search-patches "links-CVE-2017-11114.patch"))
- (sha256
+ (sha256
(base32
- "1f24y83wa1vzzjq5kp857gjqdpnmf8pb29yw7fam0m8wxxw0c3gp"))))
+ "1jp3xyvp87a188b4kg5ycqahrazj7928zncgsznzn54w8d5iqahy"))))
(build-system gnu-build-system)
(arguments
`(#:phases
diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm
index c100ae8363..2892702e76 100644
--- a/gnu/packages/web.scm
+++ b/gnu/packages/web.scm
@@ -115,14 +115,14 @@
(define-public httpd
(package
(name "httpd")
- (version "2.4.29")
+ (version "2.4.33")
(source (origin
(method url-fetch)
(uri (string-append "mirror://apache/httpd/httpd-"
version ".tar.bz2"))
(sha256
(base32
- "003z3yckkdihfv69rgqsik1w2jsnh14j3ci8fjia4s2mlajm6xvp"))))
+ "01bghiq4pbgjbgd6gic0nb8bbk6mfpwx3gcsbf21f3dhb4c520ny"))))
(build-system gnu-build-system)
(native-inputs `(("pcre" ,pcre "bin"))) ;for 'pcre-config'
(inputs `(("apr" ,apr)
@@ -186,14 +186,14 @@ Interface} specification.")
(name "nginx")
;; Consider updating the nginx-documentation package if the nginx package is
;; updated.
- (version "1.13.10")
+ (version "1.13.12")
(source (origin
(method url-fetch)
(uri (string-append "https://nginx.org/download/nginx-"
version ".tar.gz"))
(sha256
(base32
- "11a8m4lhy6h8mmrsakn73pd5gcyvhxpz1xvlr103rglh9l884q9k"))))
+ "1pl5ii1w2ycxprxk8zdnxlpdd1dia6hyrns7mnqkm3fv5ihgb4pv"))))
(build-system gnu-build-system)
(inputs `(("openssl" ,openssl)
("pcre" ,pcre)
@@ -317,13 +317,13 @@ documentation.")
(license l:bsd-2))))
(define-public nginx-documentation
- ;; This documentation should be relevant for nginx@1.13.8.
- (let ((revision 2100)
- (changeset "cfb7bd672d77"))
+ ;; This documentation should be relevant for nginx@1.13.11.
+ (let ((revision 2131)
+ (changeset "dbaf3950f8e9"))
(package
(name "nginx-documentation")
(version
- (simple-format #f "2018-01-22-~A-~A" revision changeset))
+ (simple-format #f "2018-04-04-~A-~A" revision changeset))
(source
(origin (method hg-fetch)
(uri (hg-reference
@@ -332,7 +332,7 @@ documentation.")
(file-name (string-append name "-" version))
(sha256
(base32
- "096fcsc0wnfr847m7dwp17rivd3alxq7v9hq9s5lkfbhylmh18vm"))))
+ "0acdjsdaqixzh9g9s6db552v4pan4nqrllyqapay9ns9yzh1hrp7"))))
(build-system gnu-build-system)
(arguments
'(#:tests? #f ; no test suite
@@ -3662,7 +3662,7 @@ library.")
(define-public perl-www-mechanize
(package
(name "perl-www-mechanize")
- (version "1.87")
+ (version "1.88")
(source
(origin
(method url-fetch)
@@ -3670,7 +3670,7 @@ library.")
"WWW-Mechanize-" version ".tar.gz"))
(sha256
(base32
- "1kxrydhl7nxlyjv0xvyiyj4igdv4fwnggv0ihlp79bysbjjl54w1"))))
+ "0yd8a1zsfpbv5wr79x3iqmik9gvcd10iam9dfrdan4dri9vpxn9n"))))
(build-system perl-build-system)
(native-inputs ;only for tests
`(("perl-cgi" ,perl-cgi)
@@ -3833,18 +3833,19 @@ in systems and applications.")
(define-public r-servr
(package
(name "r-servr")
- (version "0.8")
+ (version "0.9")
(source (origin
(method url-fetch)
(uri (cran-uri "servr" version))
(sha256
(base32
- "05pz4ychqp4cqywcdavdi8jj3y09gmam097d2idjnlcg9x61h2s9"))))
+ "0bs0i5mjfzxfshqz8i30nhn7kvgwly4fqn5bfq6dqfdrn7biai2x"))))
(build-system r-build-system)
(propagated-inputs
`(("r-httpuv" ,r-httpuv)
("r-jsonlite" ,r-jsonlite)
- ("r-mime" ,r-mime)))
+ ("r-mime" ,r-mime)
+ ("r-xfun" ,r-xfun)))
(native-inputs
`(("r-rcpp" ,r-rcpp)))
(home-page "https://github.com/yihui/servr")
@@ -3948,13 +3949,13 @@ LaTeX.")
(define-public r-curl
(package
(name "r-curl")
- (version "3.1")
+ (version "3.2")
(source (origin
(method url-fetch)
(uri (cran-uri "curl" version))
(sha256
(base32
- "15fbjya2xrf2k9hhvg3frisrram4yk5wlfz67zj1z8ahpsb2a3r7"))))
+ "15hmy71310hnf9yqvz0icx4cq939gv6iqaifzlfdh2ia8akawdhn"))))
(build-system r-build-system)
(arguments
`(#:phases
@@ -5122,7 +5123,7 @@ into your tests. It automatically starts up a HTTP server in a separate thread
(define-public http-parser
(package
(name "http-parser")
- (version "2.7.1")
+ (version "2.8.1")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/nodejs/http-parser/"
@@ -5130,7 +5131,7 @@ into your tests. It automatically starts up a HTTP server in a separate thread
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
- "1cw6nf8xy4jhib1w0jd2y0gpqjbdasg8b7pkl2k2vpp54k9rlh3h"))))
+ "15ids8k2f0xhnnxh4m85w2f78pg5ndiwrpl24kyssznnp1l5yqai"))))
(build-system gnu-build-system)
(arguments
`(#:test-target "test"
@@ -5525,7 +5526,7 @@ named elements: the @code{status}, the @code{headers}, and the @code{body}.")
(define-public rss-bridge
(package
(name "rss-bridge")
- (version "2017-08-03")
+ (version "2018-03-11")
(source
(origin
(method url-fetch)
@@ -5534,7 +5535,7 @@ named elements: the @code{status}, the @code{headers}, and the @code{body}.")
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
- "05s16y552hbyj91s7bnlkx1bi64s6aw0fjy29az8via3i3b21yhl"))))
+ "1ix15ck45yb659k63mhwxwia6qnm9nn8jw0bga85abrvk1rchjdn"))))
(build-system trivial-build-system)
(native-inputs
`(("gzip" ,gzip)
@@ -6355,7 +6356,7 @@ derivation by David Revoy from the original MonsterID by Andreas Gohr.")
(define-public nghttp2
(package
(name "nghttp2")
- (version "1.31.0")
+ (version "1.31.1")
(source
(origin
(method url-fetch)
@@ -6364,7 +6365,7 @@ derivation by David Revoy from the original MonsterID by Andreas Gohr.")
name "-" version ".tar.xz"))
(sha256
(base32
- "1ivs74v9sa2sds3dq0s7vn9bkmhr2hgwyg1an1rah3agqwnkqmrn"))))
+ "00z1687m4wi2gbgkijbv099l9hs1sjlyzbhh8jhn0xssx4xcifb5"))))
(build-system gnu-build-system)
(outputs (list "out"
"lib")) ; only libnghttp2
diff --git a/gnu/packages/wine.scm b/gnu/packages/wine.scm
index 8496eb3365..beef52d0da 100644
--- a/gnu/packages/wine.scm
+++ b/gnu/packages/wine.scm
@@ -221,7 +221,7 @@ integrate Windows applications into your desktop.")
(define-public wine-staging-patchset-data
(package
(name "wine-staging-patchset-data")
- (version "3.4")
+ (version "3.6")
(source
(origin
(method url-fetch)
@@ -230,7 +230,7 @@ integrate Windows applications into your desktop.")
(file-name (string-append name "-" version ".zip"))
(sha256
(base32
- "00yzh9bqs2rjgvk78xv3gfkbv4f2bkch9vb1ii4xh883f7wvkz93"))))
+ "1q5mgq7lk3sh82im65g51yk110ci9afl5wgqs2q6i8qd2nj5pv7d"))))
(build-system trivial-build-system)
(native-inputs
`(("bash" ,bash)
@@ -276,7 +276,7 @@ integrate Windows applications into your desktop.")
(file-name (string-append name "-" version ".tar.xz"))
(sha256
(base32
- "14wf7536rkmhav9ibbvhqqkfqmbk1dckhd2679i5scizr5x290x4"))))
+ "0p4h0ynb5yf8rx5badpxg7b6vsrqdqafwszn5qm0shv0kb3jsl3q"))))
(inputs `(("autoconf" ,autoconf) ; for autoreconf
("gtk+" ,gtk+)
("libva" ,libva)
diff --git a/gnu/packages/wm.scm b/gnu/packages/wm.scm
index 608e594072..7f6d54c124 100644
--- a/gnu/packages/wm.scm
+++ b/gnu/packages/wm.scm
@@ -102,7 +102,7 @@ nested include statements).")
(define-public bspwm
(package
(name "bspwm")
- (version "0.9.3")
+ (version "0.9.4")
(source
(origin
(file-name (string-append name "-" version ".tar.gz"))
@@ -112,7 +112,7 @@ nested include statements).")
version ".tar.gz"))
(sha256
(base32
- "17dwj7w16cdj7g4s2y2f96lgj5msq1s4543dnfa3rijlazzy6mmk"))))
+ "0yjr0vzbj3ar8qfr6gvpvjd82ay8iy1sg2fkw2swghlqiy6ix4kw"))))
(build-system gnu-build-system)
(inputs
`(("libxcb" ,libxcb)
@@ -471,7 +471,6 @@ desktop environment.")
("ghc-quickcheck" ,ghc-quickcheck)
("ghc-setlocale" ,ghc-setlocale)
("ghc-utf8-string" ,ghc-utf8-string)
- ("ghc-directory" ,ghc-directory)
("ghc-x11" ,ghc-x11)))
(arguments
`(#:phases
@@ -676,18 +675,6 @@ experience.")
(sha256
(base32
"0kwpbls9h1alxcmvxh5g9qb995fds5b2ngcr44w0ibazkyls2pdc"))
- (modules '((guix build utils)
- (srfi srfi-19)))
- (snippet
- ;; Remove non-reproducible timestamp and use the date of the
- ;; source file instead.
- '(substitute* "common/version.c"
- (("__DATE__ \" \" __TIME__")
- (date->string
- (time-utc->date
- (make-time time-utc 0
- (stat:mtime (stat "awesome.c"))))
- "\"~c\""))))
(patches (search-patches "awesome-reproducible-png.patch"))))
(build-system cmake-build-system)
(native-inputs `(("asciidoc" ,asciidoc)
diff --git a/gnu/packages/xdisorg.scm b/gnu/packages/xdisorg.scm
index 0ea8c9c2a6..8fed9f91e6 100644
--- a/gnu/packages/xdisorg.scm
+++ b/gnu/packages/xdisorg.scm
@@ -21,6 +21,7 @@
;;; Copyright © 2017 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2017 Marek Benc <dusxmt@gmx.com>
;;; Copyright © 2017 Mike Gerwitz <mtg@gnu.org>
+;;; Copyright © 2018 Thomas Sigurdsen <tonton@riseup.net>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -987,7 +988,7 @@ color temperature should be set to match the lamps in your room.")
(define-public xscreensaver
(package
(name "xscreensaver")
- (version "5.38")
+ (version "5.39")
(source
(origin
(method url-fetch)
@@ -996,7 +997,7 @@ color temperature should be set to match the lamps in your room.")
version ".tar.gz"))
(sha256
(base32
- "1f58h5rgjbxr4hh40m6zkpkzbzg68l7nqzjwal0b17yysafbmsf6"))))
+ "09i47h4hdgwxyqgrsnshl4l5dv5mrsp37h705cc22lwby601ikj8"))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f ; no check target
@@ -1246,7 +1247,7 @@ program for X11. It was designed to be fast, tiny and scriptable in any languag
(define-public xcb-util-xrm
(package
(name "xcb-util-xrm")
- (version "1.2")
+ (version "1.3")
(source (origin
(method url-fetch)
(uri (string-append
@@ -1254,7 +1255,7 @@ program for X11. It was designed to be fast, tiny and scriptable in any languag
"/download/v" version "/xcb-util-xrm-" version ".tar.bz2"))
(sha256
(base32
- "0vbqhag51i0njc8d5fc8c6aa12496cwrc3s6s7sa5kfc17cwhppp"))
+ "118cj1ybw86pgw0l5whn9vbg5n5b0ijcpx295mwahzi004vz671h"))
(modules '((guix build utils)))
(snippet
;; Drop bundled m4.
@@ -1408,3 +1409,32 @@ or playing a PCM encoded WAVE file.")
System, and launches a program of your choice if there is no activity after
a user-configurable period of time.")
(license license:gpl2)))
+
+(define-public screen-message
+ (package
+ (name "screen-message")
+ (version "0.25")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append
+ "https://www.joachim-breitner.de/archive/screen-message"
+ "/screen-message-" version ".tar.gz"))
+ (sha256
+ (base32
+ "1lw955qq5pq010lzmaf32ylj2iprgsri9ih4hx672c3f794ilab0"))))
+ (build-system gnu-build-system)
+ (inputs `(("gtk3" ,gtk+)
+ ("gdk" ,gdk-pixbuf)
+ ("pango" ,pango)))
+ (native-inputs `(("pkg-config" ,pkg-config)))
+ (arguments
+ ;; The default configure puts the 'sm' binary in games/ instead of bin/ -
+ ;; this fixes it:
+ `(#:make-flags (list (string-append "execgamesdir=" %output "/bin"))))
+ (synopsis "Print messages on your screen")
+ (description "@code{screen-message} is a tool for displaying text on
+your screen. It will make the text as large as possible and display it
+with black color on a white background (colors are configurable on the
+commandline).")
+ (home-page "https://www.joachim-breitner.de/projects#screen-message")
+ (license license:gpl2+)))
diff --git a/gnu/packages/xorg.scm b/gnu/packages/xorg.scm
index 9652e15728..9216ccb8b8 100644
--- a/gnu/packages/xorg.scm
+++ b/gnu/packages/xorg.scm
@@ -2425,7 +2425,7 @@ including most mice, keyboards, tablets and touchscreens.")
(define-public xf86-input-libinput
(package
(name "xf86-input-libinput")
- (version "0.26.0")
+ (version "0.27.1")
(source (origin
(method url-fetch)
(uri (string-append
@@ -2433,7 +2433,7 @@ including most mice, keyboards, tablets and touchscreens.")
name "-" version ".tar.bz2"))
(sha256
(base32
- "0yrqs88b7yn9nljwlxzn76jfmvf0sh939kzij5b2jvr2qa7mbjmb"))))
+ "1riflw6dc8fp5d74i7zfgsss0zz3z3lsj6zn2lzjm5kgmp2qvbfl"))))
(build-system gnu-build-system)
(arguments
'(#:configure-flags
@@ -2653,7 +2653,7 @@ as USB mice.")
(define-public xf86-video-ati
(package
(name "xf86-video-ati")
- (version "7.10.0")
+ (version "18.0.1")
(source
(origin
(method url-fetch)
@@ -2663,7 +2663,7 @@ as USB mice.")
".tar.bz2"))
(sha256
(base32
- "0yafix56vkqglw243cwb94nv91vbjv12sqh29x1bap0hwd1dclgf"))))
+ "180l2yw8c63cbcs3zk729vx439aig1d7yicpyxj0nmfl4y0kpskj"))))
(build-system gnu-build-system)
(inputs `(("mesa" ,mesa)
("xxf86driproto" ,xf86driproto)
@@ -5944,7 +5944,7 @@ basic eye-candy effects.")
(define-public xpra
(package
(name "xpra")
- (version "2.2.5")
+ (version "2.2.6")
(source
(origin
(method url-fetch)
@@ -5952,7 +5952,7 @@ basic eye-candy effects.")
version ".tar.xz"))
(sha256
(base32
- "1q2l00nc3bgwlhjzkbk4a8x2l8z9w1799yn31icsx5hrgh98a1js"))))
+ "1zyynghhzjbgnmzcibm17wpj9f7jy31d7dr373li8cwg2yl2swyz"))))
(build-system python-build-system)
(inputs `(("ffmpeg" ,ffmpeg)
("flac" ,flac)
diff --git a/gnu/services.scm b/gnu/services.scm
index b020d971fd..81af4df849 100644
--- a/gnu/services.scm
+++ b/gnu/services.scm
@@ -181,7 +181,8 @@
(define (all-service-modules)
"Return the default set of service modules."
(cons (resolve-interface '(gnu services))
- (all-modules (%service-type-path))))
+ (all-modules (%service-type-path)
+ #:warn warn-about-load-error)))
(define* (fold-service-types proc seed
#:optional
@@ -352,7 +353,7 @@ directory."
(extensions
(list (service-extension system-service-type
boot-script-entry)))
- (compose append)
+ (compose identity)
(extend compute-boot-script)))
(define %boot-service
@@ -457,7 +458,7 @@ ACTIVATION-SCRIPT-TYPE."
(extensions
(list (service-extension boot-service-type
gexps->activation-gexp)))
- (compose append)
+ (compose identity)
(extend second-argument)))
(define %activation-service
diff --git a/gnu/services/certbot.scm b/gnu/services/certbot.scm
index a2a200f032..7548145c98 100644
--- a/gnu/services/certbot.scm
+++ b/gnu/services/certbot.scm
@@ -26,6 +26,7 @@
#:use-module (gnu services web)
#:use-module (gnu system shadow)
#:use-module (gnu packages tls)
+ #:use-module (guix i18n)
#:use-module (guix records)
#:use-module (guix gexp)
#:use-module (srfi srfi-1)
@@ -113,14 +114,19 @@
#$(certbot-command config))))
(define (certbot-activation config)
- (match config
- (($ <certbot-configuration> package webroot certificates email
- rsa-key-size default-location)
- (with-imported-modules '((guix build utils))
- #~(begin
- (use-modules (guix build utils))
- (mkdir-p #$webroot)
- (zero? (system* #$(certbot-command config))))))))
+ (let* ((certbot-directory "/var/lib/certbot")
+ (script (in-vicinity certbot-directory "renew-certificates"))
+ (message (format #f (G_ "~a may need to be run~%") script)))
+ (match config
+ (($ <certbot-configuration> package webroot certificates email
+ rsa-key-size default-location)
+ (with-imported-modules '((guix build utils))
+ #~(begin
+ (use-modules (guix build utils))
+ (mkdir-p #$webroot)
+ (mkdir-p #$certbot-directory)
+ (copy-file #$(certbot-command config) #$script)
+ (display #$message)))))))
(define certbot-nginx-server-configurations
(match-lambda
diff --git a/gnu/services/cgit.scm b/gnu/services/cgit.scm
index a868d758a4..8ef12cd5a0 100644
--- a/gnu/services/cgit.scm
+++ b/gnu/services/cgit.scm
@@ -1,5 +1,6 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2018 Oleg Pykhalov <go.wigust@gmail.com>
+;;; Copyright © 2018 Clément Lassieur <clement@lassieur.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -72,17 +73,15 @@
;;;
(define (uglify-field-name field-name)
- (let ((str (symbol->string field-name)))
- (string-join (string-split (string-delete #\? str) #\-) "-")))
+ (string-delete #\? (symbol->string field-name)))
(define (serialize-field field-name val)
- (format #t "~a=~a\n" (uglify-field-name field-name) val))
+ #~(format #f "~a=~a\n" #$(uglify-field-name field-name) #$val))
(define (serialize-string field-name val)
- (if (string=? val "") "" (serialize-field field-name val)))
-
-(define (serialize-boolean field-name val)
- (serialize-field field-name (if val 1 0)))
+ (if (and (string? val) (string=? val ""))
+ ""
+ (serialize-field field-name val)))
(define (serialize-list field-name val)
(if (null? val) "" (serialize-field field-name (string-join val))))
@@ -96,7 +95,10 @@
(exact-integer? val))
(define (serialize-integer field-name val)
- (serialize-field field-name val))
+ (serialize-field field-name (number->string val)))
+
+(define (serialize-boolean field-name val)
+ (serialize-integer field-name (if val 1 0)))
(define (serialize-repository-cgit-configuration x)
(serialize-configuration x repository-cgit-configuration-fields))
@@ -105,7 +107,13 @@
(list? val))
(define (serialize-repository-cgit-configuration-list field-name val)
- (for-each serialize-repository-cgit-configuration val))
+ #~(string-append
+ #$@(map serialize-repository-cgit-configuration val)))
+
+(define (file-object? val)
+ (or (file-like? val) (string? val)))
+(define (serialize-file-object field-name val)
+ (serialize-string field-name val))
;;;
@@ -116,7 +124,7 @@
(and (list? val) (and-map nginx-server-configuration? val)))
(define (serialize-nginx-server-configuration-list field-name val)
- #f)
+ "")
;;;
@@ -124,18 +132,18 @@
;;;
(define (serialize-repo-field field-name val)
- (format #t "repo.~a=~a\n" (uglify-field-name field-name) val))
+ #~(format #f "repo.~a=~a\n" #$(uglify-field-name field-name) #$val))
(define (serialize-repo-list field-name val)
(if (null? val) "" (serialize-repo-field field-name (string-join val))))
(define repo-boolean? boolean?)
-(define (serialize-repo-boolean field-name val)
- (serialize-repo-field field-name (if val 1 0)))
-
(define (serialize-repo-integer field-name val)
- (serialize-repo-field field-name val))
+ (serialize-repo-field field-name (number->string val)))
+
+(define (serialize-repo-boolean field-name val)
+ (serialize-repo-integer field-name (if val 1 0)))
(define repo-list? list?)
@@ -144,26 +152,32 @@
(define (serialize-repo-string field-name val)
(if (string=? val "") "" (serialize-repo-field field-name val)))
+(define repo-file-object? file-object?)
+(define serialize-repo-file-object serialize-repo-string)
+
(define module-link-path? list?)
(define (serialize-module-link-path field-name val)
(if (null? val) ""
(match val
((path text)
- (format #t "repo.~a.~a=~a\n"
- (string-drop-right (uglify-field-name 'module-link-path)
- (string-length "-path"))
- path text)))))
+ (format #f "repo.module-link.~a=~a\n" path text)))))
+
+(define (serialize-project-list _ val)
+ (if (null? val) ""
+ (serialize-field
+ 'project-list
+ (plain-file "project-list" (string-join val "\n")))))
(define repository-directory? string?)
(define (serialize-repository-directory _ val)
- (if (string=? val "") "" (format #t "scan-path=~a\n" val)))
+ (if (string=? val "") "" (format #f "scan-path=~a\n" val)))
(define mimetype-alist? list?)
(define (serialize-mimetype-alist field-name val)
- (format #t "# Mimetypes\n~a"
+ (format #f "# Mimetypes\n~a"
(string-join
(map (match-lambda
((extension mimetype)
@@ -177,13 +191,13 @@
"A mask of snapshot formats for this repo that cgit generates links for,
restricted by the global @code{snapshots} setting.")
(source-filter
- (repo-string "")
+ (repo-file-object "")
"Override the default @code{source-filter}.")
(url
(repo-string "")
"The relative URL used to access the repository.")
(about-filter
- (repo-string "")
+ (repo-file-object "")
"Override the default @code{about-filter}.")
(branch-sort
(repo-string "")
@@ -193,7 +207,7 @@ ref list, and when set to @samp{name} enables ordering by branch name.")
(repo-list '())
"A list of URLs which can be used to clone repo.")
(commit-filter
- (repo-string "")
+ (repo-file-object "")
"Override the default @code{commit-filter}.")
(commit-sort
(repo-string "")
@@ -212,7 +226,7 @@ is no suitable HEAD.")
(repo-string "")
"The value to show as repository homepage.")
(email-filter
- (repo-string "")
+ (repo-file-object "")
"Override the default @code{email-filter}.")
(enable-commit-graph?
(repo-boolean #f)
@@ -246,14 +260,14 @@ repository index.")
(repo-boolean #f)
"Flag which, when set to @samp{#t}, ignores the repository.")
(logo
- (repo-string "")
+ (repo-file-object "")
"URL which specifies the source of an image which will be used as a
logo on this repo’s pages.")
(logo-link
(repo-string "")
"URL loaded when clicking on the cgit logo image.")
(owner-filter
- (repo-string "")
+ (repo-file-object "")
"Override the default @code{owner-filter}.")
(module-link
(repo-string "")
@@ -299,7 +313,7 @@ after this option will inherit the current section name.")
(nginx-server-configuration-list (list %cgit-configuration-nginx))
"NGINX configuration.")
(about-filter
- (string "")
+ (file-object "")
"Specifies a command which will be invoked to format the content of about
pages (both top-level and for each repository).")
(agefile
@@ -307,7 +321,7 @@ pages (both top-level and for each repository).")
"Specifies a path, relative to each repository path, which can be used to
specify the date and time of the youngest commit in the repository.")
(auth-filter
- (string "")
+ (file-object "")
"Specifies a command that will be invoked for authenticating repository
access.")
(branch-sort
@@ -360,7 +374,7 @@ generates valid clone URLs for the repository.")
(list '())
"List of @code{clone-url} templates.")
(commit-filter
- (string "")
+ (file-object "")
"Command which will be invoked to format commit messages.")
(commit-sort
(string "git log")
@@ -368,10 +382,10 @@ generates valid clone URLs for the repository.")
commit log, and when set to @samp{topo} enables strict topological
ordering.")
(css
- (string "/share/cgit/cgit.css")
+ (file-object "/share/cgit/cgit.css")
"URL which specifies the css document to include in all cgit pages.")
(email-filter
- (string "")
+ (file-object "")
"Specifies a command which will be invoked to format names and email
address of committers, authors, and taggers, as represented in various
places throughout the cgit interface.")
@@ -435,7 +449,7 @@ links for plaintext blobs printed in the tree view.")
"Flag which, when set to @samp{#f}, will allow cgit to use Git config to
set any repo specific settings.")
(favicon
- (string "/favicon.ico")
+ (file-object "/favicon.ico")
"URL used as link to a shortcut icon for cgit.")
(footer
(string "")
@@ -451,7 +465,7 @@ verbatim in the HTML HEAD section on all pages.")
"The content of the file specified with this option will be included
verbatim at the top of all pages.")
(include
- (string "")
+ (file-object "")
"Name of a configfile to include before the rest of the current config-
file is parsed.")
(index-header
@@ -467,14 +481,14 @@ verbatim below the heading on the repository index page.")
"Flag which, if set to @samp{#t}, makes cgit print commit and tag times
in the servers timezone.")
(logo
- (string "/share/cgit/cgit.png")
+ (file-object "/share/cgit/cgit.png")
"URL which specifies the source of an image which will be used as a logo
on all cgit pages.")
(logo-link
(string "")
"URL loaded when clicking on the cgit logo image.")
(owner-filter
- (string "")
+ (file-object "")
"Command which will be invoked to format the Owner column of the main
page.")
(max-atom-items
@@ -511,7 +525,7 @@ on the repository index page.")
(svg "image/svg+xml")))
"Mimetype for the specified filename extension.")
(mimetype-file
- (string "")
+ (file-object "")
"Specifies the file to use for automatic mimetype lookup.")
(module-link
(string "")
@@ -528,15 +542,13 @@ disabled.")
(boolean #f)
"Flag which, when set to @samp{#t}, will make cgit omit the standard
header on all pages.")
- ;; TODO: cgit expects a file name
- ;; that should be created from a list of strings provided by the user.
- ;;
- ;; (project-list
- ;; (string "")
- ;; "A list of subdirectories inside of @code{repository-directory},
- ;; relative to it, that should loaded as Git repositories.")
+ (project-list
+ (list '())
+ "A list of subdirectories inside of @code{repository-directory}, relative
+to it, that should loaded as Git repositories. An empty list means that all
+subdirectories will be loaded.")
(readme
- (string "")
+ (file-object "")
"Text which will be used as default value for @code{cgit-repo-readme}.")
(remove-suffix?
(boolean #f)
@@ -594,7 +606,7 @@ many path elements from each repo path to use as a default section name.")
"If set to @samp{#t} shows side-by-side diffs instead of unidiffs per
default.")
(source-filter
- (string "")
+ (file-object "")
"Specifies a command which will be invoked to format plaintext blobs in the
tree view.")
(summary-branches
@@ -623,6 +635,27 @@ for cgit to allow access to that repository.")
(list '())
"Extra options will be appended to cgitrc file."))
+;; This distinguishes fields whose order matters, and makes sure further
+;; changes won't inadvertently change the order.
+(define (serialize-cgit-configuration config)
+ (define (rest? field)
+ (not (memq (configuration-field-name field)
+ '(project-list
+ repository-directory
+ repositories))))
+ #~(string-append
+ #$(let ((rest (filter rest? cgit-configuration-fields)))
+ (serialize-configuration config rest))
+ #$(serialize-project-list
+ 'project-list
+ (cgit-configuration-project-list config))
+ #$(serialize-repository-directory
+ 'repository-directory
+ (cgit-configuration-repository-directory config))
+ #$(serialize-repository-cgit-configuration-list
+ 'repositories
+ (cgit-configuration-repositories config))))
+
(define-configuration opaque-cgit-configuration
(cgit
(package cgit)
@@ -643,16 +676,14 @@ for cgit to allow access to that repository.")
(config-str
(if opaque-config?
(opaque-cgit-configuration-cgitrc config)
- (with-output-to-string
- (lambda ()
- (serialize-configuration config
- cgit-configuration-fields))))))
+ (serialize-cgit-configuration config))))
#~(begin
(use-modules (guix build utils))
(mkdir-p #$(if opaque-config?
(opaque-cgit-configuration-cache-root config)
(cgit-configuration-cache-root config)))
- (copy-file #$(plain-file "cgitrc" config-str) "/etc/cgitrc"))))
+ (copy-file #$(mixed-text-file "cgitrc" config-str)
+ "/etc/cgitrc"))))
(define (cgit-configuration-nginx-config config)
(if (opaque-cgit-configuration? config)
diff --git a/gnu/services/desktop.scm b/gnu/services/desktop.scm
index 8972529179..517d5d3efe 100644
--- a/gnu/services/desktop.scm
+++ b/gnu/services/desktop.scm
@@ -94,6 +94,8 @@
xfce-desktop-service
xfce-desktop-service-type
+ x11-socket-directory-service
+
%desktop-services))
;;; Commentary:
@@ -882,6 +884,24 @@ with the administrator's password."
;;;
+;;; X11 socket directory service
+;;;
+
+(define x11-socket-directory-service
+ ;; Return a service that creates /tmp/.X11-unix. When using X11, libxcb
+ ;; takes care of creating that directory. However, when using XWayland, we
+ ;; need to create beforehand. Thus, create it unconditionally here.
+ (simple-service 'x11-socket-directory
+ activation-service-type
+ (with-imported-modules '((guix build utils))
+ #~(begin
+ (use-modules (guix build utils))
+ (let ((directory "/tmp/.X11-unix"))
+ (mkdir-p directory)
+ (chmod directory #o777))))))
+
+
+;;;
;;; The default set of desktop services.
;;;
@@ -912,6 +932,8 @@ with the administrator's password."
(ntp-service)
+ x11-socket-directory-service
+
%base-services))
;;; desktop.scm ends here
diff --git a/gnu/system.scm b/gnu/system.scm
index 592a0ea58a..1cf00aafcd 100644
--- a/gnu/system.scm
+++ b/gnu/system.scm
@@ -571,7 +571,16 @@ This is the GNU system. Welcome.\n")
(define* (operating-system-etc-service os)
"Return a <service> that builds containing the static part of the /etc
directory."
- (let ((login.defs (plain-file "login.defs" "# Empty for now.\n"))
+ (let ((login.defs
+ (plain-file "login.defs"
+ (string-append
+ "# Default paths for non-login shells started by su(1).\n"
+ "ENV_PATH /run/setuid-programs:"
+ "/run/current-system/profile/bin:"
+ "/run/current-system/profile/sbin\n"
+ "ENV_SUPATH /run/setuid-programs:"
+ "/run/current-system/profile/bin:"
+ "/run/current-system/profile/sbin\n")))
(issue (plain-file "issue" (operating-system-issue os)))
(nsswitch (plain-file "nsswitch.conf"
diff --git a/gnu/system/examples/docker-image.tmpl b/gnu/system/examples/docker-image.tmpl
new file mode 100644
index 0000000000..d73187398f
--- /dev/null
+++ b/gnu/system/examples/docker-image.tmpl
@@ -0,0 +1,47 @@
+;; This is an operating system configuration template for a "Docker image"
+;; setup, so it has barely any services at all.
+
+(use-modules (gnu))
+
+(operating-system
+ (host-name "komputilo")
+ (timezone "Europe/Berlin")
+ (locale "en_US.utf8")
+
+ ;; This is where user accounts are specified. The "root" account is
+ ;; implicit, and is initially created with the empty password.
+ (users (cons (user-account
+ (name "alice")
+ (comment "Bob's sister")
+ (group "users")
+ (supplementary-groups '("wheel"
+ "audio" "video"))
+ (home-directory "/home/alice"))
+ %base-user-accounts))
+
+ ;; Globally-installed packages.
+ (packages %base-packages)
+
+ ;; Because the system will run in a Docker container, we may omit many
+ ;; things that would normally be required in an operating system
+ ;; configuration file. These things include:
+ ;;
+ ;; * bootloader
+ ;; * file-systems
+ ;; * services such as mingetty, udevd, slim, networking, dhcp
+ ;;
+ ;; Either these things are simply not required, or Docker provides
+ ;; similar services for us.
+
+ ;; This will be ignored.
+ (bootloader (bootloader-configuration
+ (bootloader grub-bootloader)
+ (target "does-not-matter")))
+ ;; This will be ignored, too.
+ (file-systems (list (file-system
+ (device "does-not-matter")
+ (mount-point "/")
+ (type "does-not-matter"))))
+
+ ;; Guix is all you need!
+ (services (list (guix-service))))
diff --git a/gnu/system/nss.scm b/gnu/system/nss.scm
index f4d2855289..673b96c713 100644
--- a/gnu/system/nss.scm
+++ b/gnu/system/nss.scm
@@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2015 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2015, 2018 Ludovic Courtès <ludo@gnu.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -93,6 +93,8 @@
;;;
(define %compat
+ ;; Note: Starting from version 2.26, libc no longer provides libnss_compat
+ ;; so this specification has become useless.
(name-service
(name "compat")
(reaction (lookup-specification (not-found => return)))))
@@ -124,7 +126,7 @@
(ethers name-service-switch-ethers
(default '()))
(group name-service-switch-group
- (default (list %compat %files)))
+ (default (list %files)))
(gshadow name-service-switch-gshadow
(default '()))
(hosts name-service-switch-hosts
@@ -136,7 +138,7 @@
(networks name-service-switch-networks
(default (list %files %dns)))
(password name-service-switch-password
- (default (list %compat %files)))
+ (default (list %files)))
(public-key name-service-switch-public-key
(default '()))
(rpc name-service-switch-rpc
@@ -144,7 +146,7 @@
(services name-service-switch-services
(default '()))
(shadow name-service-switch-shadow
- (default (list %compat %files))))
+ (default (list %files))))
(define %default-nss
;; Default NSS configuration.
diff --git a/gnu/system/shadow.scm b/gnu/system/shadow.scm
index 119f7e4d0b..ef5b8dab92 100644
--- a/gnu/system/shadow.scm
+++ b/gnu/system/shadow.scm
@@ -195,6 +195,9 @@ set auto-load safe-path /gnu/store/*/lib\n")))
`((".bash_profile" ,profile)
(".bashrc" ,bashrc)
(".zlogin" ,zlogin)
+ (".nanorc" ,(plain-file "nanorc" "\
+# Include all the syntax highlighting modules.
+include /run/current-system/profile/share/nano/*.nanorc\n"))
(".Xdefaults" ,xdefaults)
(".guile" ,(plain-file "dot-guile"
"(cond ((false-if-exception (resolve-interface '(ice-9 readline)))
diff --git a/gnu/system/vm.scm b/gnu/system/vm.scm
index 594ba66ff4..09a11af863 100644
--- a/gnu/system/vm.scm
+++ b/gnu/system/vm.scm
@@ -4,6 +4,7 @@
;;; Copyright © 2016, 2017 Leo Famulari <leo@famulari.name>
;;; Copyright © 2017 Mathieu Othacehe <m.othacehe@gmail.com>
;;; Copyright © 2017 Marius Bakke <mbakke@fastmail.com>
+;;; Copyright © 2018 Chris Marusich <cmmarusich@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -22,6 +23,7 @@
(define-module (gnu system vm)
#:use-module (guix config)
+ #:use-module (guix docker)
#:use-module (guix store)
#:use-module (guix gexp)
#:use-module (guix derivations)
@@ -29,6 +31,7 @@
#:use-module (guix monads)
#:use-module (guix records)
#:use-module (guix modules)
+ #:use-module (guix scripts pack)
#:use-module (guix utils)
#:use-module (guix hash)
#:use-module (guix base32)
@@ -38,7 +41,9 @@
#:use-module (gnu packages base)
#:use-module (gnu packages bootloaders)
#:use-module (gnu packages cdrom)
+ #:use-module (gnu packages compression)
#:use-module (gnu packages guile)
+ #:autoload (gnu packages gnupg) (libgcrypt)
#:use-module (gnu packages gawk)
#:use-module (gnu packages bash)
#:use-module (gnu packages less)
@@ -75,6 +80,7 @@
system-qemu-image/shared-store
system-qemu-image/shared-store-script
system-disk-image
+ system-docker-image
virtual-machine
virtual-machine?))
@@ -87,8 +93,8 @@
;;; Code:
(define %linux-vm-file-systems
- ;; File systems mounted for 'derivation-in-linux-vm'. The store and /xchg
- ;; directory are shared with the host over 9p.
+ ;; File systems mounted for 'derivation-in-linux-vm'. These are shared with
+ ;; the host over 9p.
(list (file-system
(mount-point (%store-prefix))
(device "store")
@@ -102,6 +108,13 @@
(type "9p")
(needed-for-boot? #t)
(options "trans=virtio")
+ (check? #f))
+ (file-system
+ (mount-point "/tmp")
+ (device "tmp")
+ (type "9p")
+ (needed-for-boot? #t)
+ (options "trans=virtio")
(check? #f))))
(define* (expression->derivation-in-linux-vm name exp
@@ -369,6 +382,106 @@ the image."
#:disk-image-format disk-image-format
#:references-graphs inputs))
+(define* (system-docker-image os
+ #:key
+ (name "guixsd-docker-image")
+ register-closures?)
+ "Build a docker image. OS is the desired <operating-system>. NAME is the
+base name to use for the output file. When REGISTER-CLOSURES? is not #f,
+register the closure of OS with Guix in the resulting Docker image. This only
+makes sense when you want to build a GuixSD Docker image that has Guix
+installed inside of it. If you don't need Guix (e.g., your GuixSD Docker
+image just contains a web server that is started by the Shepherd), then you
+should set REGISTER-CLOSURES? to #f."
+ (define not-config?
+ (match-lambda
+ (('guix 'config) #f)
+ (('guix rest ...) #t)
+ (('gnu rest ...) #t)
+ (rest #f)))
+
+ (define config
+ ;; (guix config) module for consumption by (guix gcrypt).
+ (scheme-file "gcrypt-config.scm"
+ #~(begin
+ (define-module (guix config)
+ #:export (%libgcrypt))
+
+ ;; XXX: Work around <http://bugs.gnu.org/15602>.
+ (eval-when (expand load eval)
+ (define %libgcrypt
+ #+(file-append libgcrypt "/lib/libgcrypt"))))))
+ (mlet %store-monad ((os-drv (operating-system-derivation os #:container? #t))
+ (name -> (string-append name ".tar.gz"))
+ (graph -> "system-graph"))
+ (define build
+ (with-imported-modules `(,@(source-module-closure '((guix docker)
+ (guix build utils)
+ (gnu build vm))
+ #:select? not-config?)
+ (guix build store-copy)
+ ((guix config) => ,config))
+ #~(begin
+ ;; Guile-JSON is required by (guix docker).
+ (add-to-load-path
+ (string-append #+guile-json "/share/guile/site/"
+ (effective-version)))
+ (use-modules (guix docker)
+ (guix build utils)
+ (gnu build vm)
+ (srfi srfi-19)
+ (guix build store-copy))
+
+ (let* ((inputs '#$(append (list tar)
+ (if register-closures?
+ (list guix)
+ '())))
+ ;; This initializer requires elevated privileges that are
+ ;; not normally available in the build environment (e.g.,
+ ;; it needs to create device nodes). In order to obtain
+ ;; such privileges, we run it as root in a VM.
+ (initialize (root-partition-initializer
+ #:closures '(#$graph)
+ #:register-closures? #$register-closures?
+ #:system-directory #$os-drv
+ ;; De-duplication would fail due to
+ ;; cross-device link errors, so don't do it.
+ #:deduplicate? #f))
+ ;; Even as root in a VM, the initializer would fail due to
+ ;; lack of privileges if we use a root-directory that is on
+ ;; a file system that is shared with the host (e.g., /tmp).
+ (root-directory "/guixsd-system-root"))
+ (set-path-environment-variable "PATH" '("bin" "sbin") inputs)
+ (mkdir root-directory)
+ (initialize root-directory)
+ (build-docker-image
+ (string-append "/xchg/" #$name) ;; The output file.
+ (cons* root-directory
+ (call-with-input-file (string-append "/xchg/" #$graph)
+ read-reference-graph))
+ #$os-drv
+ #:compressor '(#+(file-append gzip "/bin/gzip") "-9n")
+ #:creation-time (make-time time-utc 0 1)
+ #:transformations `((,root-directory -> "")))))))
+ (expression->derivation-in-linux-vm
+ name
+ ;; The VM's initrd Guile doesn't support dlopen, but our "build" gexp
+ ;; needs to be run by a Guile that can dlopen libgcrypt. The following
+ ;; hack works around that problem by putting the "build" gexp into an
+ ;; executable script (created by program-file) which, when executed, will
+ ;; run using a Guile that supports dlopen. That way, the VM's initrd
+ ;; Guile can just execute it via invoke, without using dlopen. See:
+ ;; https://lists.gnu.org/archive/html/guix-devel/2017-10/msg00233.html
+ (with-imported-modules `((guix build utils))
+ #~(begin
+ (use-modules (guix build utils))
+ ;; If we use execl instead of invoke here, the VM will crash with a
+ ;; kernel panic.
+ (invoke #$(program-file "build-docker-image" build))))
+ #:make-disk-image? #f
+ #:single-file-output? #t
+ #:references-graphs `((,graph ,os-drv)))))
+
;;;
;;; VM and disk images.
diff --git a/guix/build-system/cargo.scm b/guix/build-system/cargo.scm
index c637fbb162..4a1eb0cfa0 100644
--- a/guix/build-system/cargo.scm
+++ b/guix/build-system/cargo.scm
@@ -43,17 +43,11 @@
to NAME and VERSION."
(string-append crate-url name "/" version "/download"))
-(define (default-cargo)
- "Return the default Cargo package."
+(define (default-rust)
+ "Return the default Rust package."
;; Lazily resolve the binding to avoid a circular dependency.
(let ((rust (resolve-interface '(gnu packages rust))))
- (module-ref rust 'cargo)))
-
-(define (default-rustc)
- "Return the default Rustc package."
- ;; Lazily resolve the binding to avoid a circular dependency.
- (let ((rust (resolve-interface '(gnu packages rust))))
- (module-ref rust 'rustc)))
+ (module-ref rust 'rust)))
(define %cargo-build-system-modules
;; Build-side modules imported by default.
@@ -115,14 +109,13 @@ to NAME and VERSION."
(define* (lower name
#:key source inputs native-inputs outputs system target
- (cargo (default-cargo))
- (rustc (default-rustc))
+ (rust (default-rust))
#:allow-other-keys
#:rest arguments)
"Return a bag for NAME."
(define private-keywords
- '(#:source #:target #:cargo #:rustc #:inputs #:native-inputs #:outputs))
+ '(#:source #:target #:rust #:inputs #:native-inputs #:outputs))
(and (not target) ;; TODO: support cross-compilation
(bag
@@ -136,8 +129,8 @@ to NAME and VERSION."
;; Keep the standard inputs of 'gnu-build-system'
,@(standard-packages)))
- (build-inputs `(("cargo" ,cargo)
- ("rustc" ,rustc)
+ (build-inputs `(("cargo" ,rust "cargo")
+ ("rustc" ,rust)
,@native-inputs))
(outputs outputs)
(build cargo-build)
diff --git a/guix/build/union.scm b/guix/build/union.scm
index d46b750035..1179f1234b 100644
--- a/guix/build/union.scm
+++ b/guix/build/union.scm
@@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2012, 2013, 2014, 2016, 2017 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2012, 2013, 2014, 2016, 2017, 2018 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2014 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2017 Huang Ying <huang.ying.caritas@gmail.com>
;;;
@@ -25,7 +25,9 @@
#:use-module (srfi srfi-26)
#:use-module (rnrs bytevectors)
#:use-module (rnrs io ports)
- #:export (union-build))
+ #:export (union-build
+
+ warn-about-collision))
;;; Commentary:
;;;
@@ -76,14 +78,29 @@ identical, #f otherwise."
(or (eof-object? n1)
(loop))))))))))))))
+(define (warn-about-collision files)
+ "Handle the collision among FILES by emitting a warning and choosing the
+first one of THEM."
+ (format (current-error-port)
+ "~%warning: collision encountered:~%~{ ~a~%~}"
+ files)
+ (let ((file (first files)))
+ (format (current-error-port) "warning: choosing ~a~%" file)
+ file))
+
(define* (union-build output inputs
#:key (log-port (current-error-port))
(create-all-directories? #f)
- (symlink symlink))
+ (symlink symlink)
+ (resolve-collision warn-about-collision))
"Build in the OUTPUT directory a symlink tree that is the union of all the
INPUTS, using SYMLINK to create symlinks. As a special case, if
CREATE-ALL-DIRECTORIES?, creates the subdirectories in the output directory to
-make sure the caller can modify them later."
+make sure the caller can modify them later.
+
+When two or more regular files collide, call RESOLVE-COLLISION with the list
+of colliding files and use the one that it returns; or, if RESOLVE-COLLISION
+returns #f, skip the faulty file altogether."
(define (symlink* input output)
(format log-port "`~a' ~~> `~a'~%" input output)
@@ -92,17 +109,10 @@ make sure the caller can modify them later."
(define (resolve-collisions output dirs files)
(cond ((null? dirs)
;; The inputs are all files.
- (format (current-error-port)
- "~%warning: collision encountered:~%~{~a~%~}"
- files)
-
- (let ((file (first files)))
- ;; TODO: Implement smarter strategies.
- (format (current-error-port)
- "warning: arbitrarily choosing ~a~%"
- file)
-
- (symlink* file output)))
+ (match (resolve-collision files)
+ (#f #f)
+ ((? string? file)
+ (symlink* file output))))
(else
;; The inputs are a mixture of files and directories
diff --git a/guix/ci.scm b/guix/ci.scm
new file mode 100644
index 0000000000..881f3d3927
--- /dev/null
+++ b/guix/ci.scm
@@ -0,0 +1,78 @@
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2018 Ludovic Courtès <ludo@gnu.org>
+;;;
+;;; This file is part of GNU Guix.
+;;;
+;;; GNU Guix is free software; you can redistribute it and/or modify it
+;;; under the terms of the GNU General Public License as published by
+;;; the Free Software Foundation; either version 3 of the License, or (at
+;;; your option) any later version.
+;;;
+;;; GNU Guix is distributed in the hope that it will be useful, but
+;;; WITHOUT ANY WARRANTY; without even the implied warranty of
+;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+;;; GNU General Public License for more details.
+;;;
+;;; You should have received a copy of the GNU General Public License
+;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
+
+(define-module (guix ci)
+ #:use-module (guix http-client)
+ #:autoload (json parser) (json->scm)
+ #:use-module (srfi srfi-9)
+ #:export (build?
+ build-id
+ build-derivation
+ build-system
+ build-status
+ build-timestamp
+
+ %query-limit
+ queued-builds
+ latest-builds))
+
+;;; Commentary:
+;;;
+;;; This module provides a client to the HTTP interface of the Hydra and
+;;; Cuirass continuous integration (CI) tools.
+;;;
+;;; Code:
+
+(define-record-type <build>
+ (make-build id derivation system status timestamp)
+ build?
+ (id build-id) ;integer
+ (derivation build-derivation) ;string | #f
+ (system build-system) ;string
+ (status build-status) ;integer
+ (timestamp build-timestamp)) ;integer
+
+(define %query-limit
+ ;; Max number of builds requested in queries.
+ 1000)
+
+(define (json-fetch url)
+ (let* ((port (http-fetch url))
+ (json (json->scm port)))
+ (close-port port)
+ json))
+
+(define (json->build json)
+ (make-build (hash-ref json "id")
+ (hash-ref json "derivation")
+ (hash-ref json "system")
+ (hash-ref json "buildstatus")
+ (hash-ref json "timestamp")))
+
+(define* (queued-builds url #:optional (limit %query-limit))
+ "Return the list of queued derivations on URL."
+ (let ((queue (json-fetch (string-append url "/api/queue?nr="
+ (number->string limit)))))
+ (map json->build queue)))
+
+(define* (latest-builds url #:optional (limit %query-limit))
+ (let ((latest (json-fetch (string-append url "/api/latestbuilds?nr="
+ (number->string limit)))))
+ ;; Note: Hydra does not provide a "derivation" field for entries in
+ ;; 'latestbuilds', but Cuirass does.
+ (map json->build latest)))
diff --git a/guix/discovery.scm b/guix/discovery.scm
index 7b57579023..2b627d108e 100644
--- a/guix/discovery.scm
+++ b/guix/discovery.scm
@@ -17,7 +17,7 @@
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (guix discovery)
- #:use-module (guix ui)
+ #:use-module (guix i18n)
#:use-module (guix modules)
#:use-module (guix combinators)
#:use-module (guix build syscalls)
@@ -25,7 +25,8 @@
#:use-module (ice-9 match)
#:use-module (ice-9 vlist)
#:use-module (ice-9 ftw)
- #:export (scheme-modules
+ #:export (scheme-files
+ scheme-modules
fold-modules
all-modules
fold-module-public-variables))
@@ -85,13 +86,18 @@ DIRECTORY is not accessible."
(lambda args
(let ((errno (system-error-errno args)))
(unless (= errno ENOENT)
- (warning (G_ "cannot access `~a': ~a~%")
- directory (strerror errno)))
+ (format (current-error-port) ;XXX
+ (G_ "cannot access `~a': ~a~%")
+ directory (strerror errno)))
'())))))
-(define* (scheme-modules directory #:optional sub-directory)
+(define* (scheme-modules directory #:optional sub-directory
+ #:key (warn (const #f)))
"Return the list of Scheme modules available under DIRECTORY.
-Optionally, narrow the search to SUB-DIRECTORY."
+Optionally, narrow the search to SUB-DIRECTORY.
+
+WARN is called when a module could not be loaded. It is passed the module
+name and the exception key and arguments."
(define prefix-len
(string-length directory))
@@ -103,31 +109,32 @@ Optionally, narrow the search to SUB-DIRECTORY."
(resolve-interface module))
(lambda args
;; Report the error, but keep going.
- (warn-about-load-error module args)
+ (warn module args)
#f))))
(scheme-files (if sub-directory
(string-append directory "/" sub-directory)
directory))))
-(define (fold-modules proc init path)
+(define* (fold-modules proc init path #:key (warn (const #f)))
"Fold over all the Scheme modules present in PATH, a list of directories.
Call (PROC MODULE RESULT) for each module that is found."
(fold (lambda (spec result)
(match spec
((? string? directory)
- (fold proc result (scheme-modules directory)))
+ (fold proc result (scheme-modules directory #:warn warn)))
((directory . sub-directory)
(fold proc result
- (scheme-modules directory sub-directory)))))
+ (scheme-modules directory sub-directory
+ #:warn warn)))))
'()
path))
-(define (all-modules path)
+(define* (all-modules path #:key (warn (const #f)))
"Return the list of package modules found in PATH, a list of directories to
search. Entries in PATH can be directory names (strings) or (DIRECTORY
. SUB-DIRECTORY) pairs, in which case modules are searched for beneath
SUB-DIRECTORY."
- (fold-modules cons '() path))
+ (fold-modules cons '() path #:warn warn))
(define (fold-module-public-variables proc init modules)
"Call (PROC OBJECT RESULT) for each variable exported by one of MODULES,
diff --git a/guix/docker.scm b/guix/docker.scm
index 060232148e..a75534c33b 100644
--- a/guix/docker.scm
+++ b/guix/docker.scm
@@ -1,6 +1,7 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2017 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2017 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2018 Chris Marusich <cmmarusich@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -23,9 +24,12 @@
#:use-module ((guix build utils)
#:select (mkdir-p
delete-file-recursively
- with-directory-excursion))
- #:use-module (guix build store-copy)
+ with-directory-excursion
+ invoke))
#:use-module (srfi srfi-19)
+ #:use-module (srfi srfi-26)
+ #:use-module ((texinfo string-utils)
+ #:select (escape-special-chars))
#:use-module (rnrs bytevectors)
#:use-module (ice-9 match)
#:export (build-docker-image))
@@ -33,8 +37,7 @@
;; Load Guile-JSON at run time to simplify the job of 'imported-modules' & co.
(module-use! (current-module) (resolve-interface '(json)))
-;; Generate a 256-bit identifier in hexadecimal encoding for the Docker image
-;; containing the closure at PATH.
+;; Generate a 256-bit identifier in hexadecimal encoding for the Docker image.
(define docker-id
(compose bytevector->base16-string sha256 string->utf8))
@@ -102,82 +105,123 @@ return \"a\"."
((first rest ...)
first)))
-(define* (build-docker-image image path
- #:key closure compressor
+(define* (build-docker-image image paths prefix
+ #:key
(symlinks '())
+ (transformations '())
(system (utsname:machine (uname)))
+ compressor
(creation-time (current-time time-utc)))
- "Write to IMAGE a Docker image archive from the given store PATH. The image
-contains the closure of PATH, as specified in CLOSURE (a file produced by
-#:references-graphs). SYMLINKS must be a list of (SOURCE -> TARGET) tuples
-describing symlinks to be created in the image, where each TARGET is relative
-to PATH. SYSTEM is a GNU triplet (or prefix thereof) of the system the
-binaries at PATH are for; it is used to produce metadata in the image.
-
-Use COMPRESSOR, a command such as '(\"gzip\" \"-9n\"), to compress IMAGE. Use
-CREATION-TIME, a SRFI-19 time-utc object, as the creation time in metadata."
- (let ((directory "/tmp/docker-image") ;temporary working directory
- (closure (canonicalize-path closure))
- (id (docker-id path))
- (time (date->string (time-utc->date creation-time) "~4"))
- (arch (let-syntax ((cond* (syntax-rules ()
- ((_ (pattern clause) ...)
- (cond ((string-prefix? pattern system)
- clause)
- ...
- (else
- (error "unsupported system"
- system)))))))
- (cond* ("x86_64" "amd64")
- ("i686" "386")
- ("arm" "arm")
- ("mips64" "mips64le")))))
+ "Write to IMAGE a Docker image archive containing the given PATHS. PREFIX
+must be a store path that is a prefix of any store paths in PATHS.
+
+SYMLINKS must be a list of (SOURCE -> TARGET) tuples describing symlinks to be
+created in the image, where each TARGET is relative to PREFIX.
+TRANSFORMATIONS must be a list of (OLD -> NEW) tuples describing how to
+transform the PATHS. Any path in PATHS that begins with OLD will be rewritten
+in the Docker image so that it begins with NEW instead. If a path is a
+non-empty directory, then its contents will be recursively added, as well.
+
+SYSTEM is a GNU triplet (or prefix thereof) of the system the binaries in
+PATHS are for; it is used to produce metadata in the image. Use COMPRESSOR, a
+command such as '(\"gzip\" \"-9n\"), to compress IMAGE. Use CREATION-TIME, a
+SRFI-19 time-utc object, as the creation time in metadata."
+ (define (sanitize path-fragment)
+ (escape-special-chars
+ ;; GNU tar strips the leading slash off of absolute paths before applying
+ ;; the transformations, so we need to do the same, or else our
+ ;; replacements won't match any paths.
+ (string-trim path-fragment #\/)
+ ;; Escape the basic regexp special characters (see: "(sed) BRE syntax").
+ ;; We also need to escape "/" because we use it as a delimiter.
+ "/*.^$[]\\"
+ #\\))
+ (define transformation->replacement
+ (match-lambda
+ ((old '-> new)
+ ;; See "(tar) transform" for details on the expression syntax.
+ (string-append "s/^" (sanitize old) "/" (sanitize new) "/"))))
+ (define (transformations->expression transformations)
+ (let ((replacements (map transformation->replacement transformations)))
+ (string-append
+ ;; Avoid transforming link targets, since that would break some links
+ ;; (e.g., symlinks that point to an absolute store path).
+ "flags=rSH;"
+ (string-join replacements ";")
+ ;; Some paths might still have a leading path delimiter even after tar
+ ;; transforms them (e.g., "/a/b" might be transformed into "/b"), so
+ ;; strip any leading path delimiters that remain.
+ ";s,^//*,,")))
+ (define transformation-options
+ (if (eq? '() transformations)
+ '()
+ `("--transform" ,(transformations->expression transformations))))
+ (let* ((directory "/tmp/docker-image") ;temporary working directory
+ (id (docker-id prefix))
+ (time (date->string (time-utc->date creation-time) "~4"))
+ (arch (let-syntax ((cond* (syntax-rules ()
+ ((_ (pattern clause) ...)
+ (cond ((string-prefix? pattern system)
+ clause)
+ ...
+ (else
+ (error "unsupported system"
+ system)))))))
+ (cond* ("x86_64" "amd64")
+ ("i686" "386")
+ ("arm" "arm")
+ ("mips64" "mips64le")))))
;; Make sure we start with a fresh, empty working directory.
(mkdir directory)
-
- (and (with-directory-excursion directory
- (mkdir id)
- (with-directory-excursion id
- (with-output-to-file "VERSION"
- (lambda () (display schema-version)))
- (with-output-to-file "json"
- (lambda () (scm->json (image-description id time))))
-
- ;; Wrap it up.
- (let ((items (call-with-input-file closure
- read-reference-graph)))
- ;; Create SYMLINKS.
- (for-each (match-lambda
- ((source '-> target)
- (let ((source (string-trim source #\/)))
- (mkdir-p (dirname source))
- (symlink (string-append path "/" target)
- source))))
- symlinks)
-
- (and (zero? (apply system* "tar" "-cf" "layer.tar"
- (append %tar-determinism-options
- items
- (map symlink-source symlinks))))
- (for-each delete-file-recursively
- (map (compose topmost-component symlink-source)
- symlinks)))))
-
- (with-output-to-file "config.json"
- (lambda ()
- (scm->json (config (string-append id "/layer.tar")
- time arch))))
- (with-output-to-file "manifest.json"
- (lambda ()
- (scm->json (manifest path id))))
- (with-output-to-file "repositories"
- (lambda ()
- (scm->json (repositories path id)))))
-
- (and (zero? (apply system* "tar" "-C" directory "-cf" image
- `(,@%tar-determinism-options
- ,@(if compressor
- (list "-I" (string-join compressor))
- '())
- ".")))
- (begin (delete-file-recursively directory) #t)))))
+ (with-directory-excursion directory
+ (mkdir id)
+ (with-directory-excursion id
+ (with-output-to-file "VERSION"
+ (lambda () (display schema-version)))
+ (with-output-to-file "json"
+ (lambda () (scm->json (image-description id time))))
+
+ ;; Create SYMLINKS.
+ (for-each (match-lambda
+ ((source '-> target)
+ (let ((source (string-trim source #\/)))
+ (mkdir-p (dirname source))
+ (symlink (string-append prefix "/" target)
+ source))))
+ symlinks)
+
+ (apply invoke "tar" "-cf" "layer.tar"
+ `(,@transformation-options
+ ,@%tar-determinism-options
+ ,@paths
+ ,@(map symlink-source symlinks)))
+ ;; It is possible for "/" to show up in the archive, especially when
+ ;; applying transformations. For example, the transformation
+ ;; "s,^/a,," will (perhaps surprisingly) cause GNU tar to transform
+ ;; the path "/a" into "/". The presence of "/" in the archive is
+ ;; probably benign, but it is definitely safe to remove it, so let's
+ ;; do that. This fails when "/" is not in the archive, so use system*
+ ;; instead of invoke to avoid an exception in that case.
+ (system* "tar" "--delete" "/" "-f" "layer.tar")
+ (for-each delete-file-recursively
+ (map (compose topmost-component symlink-source)
+ symlinks)))
+
+ (with-output-to-file "config.json"
+ (lambda ()
+ (scm->json (config (string-append id "/layer.tar")
+ time arch))))
+ (with-output-to-file "manifest.json"
+ (lambda ()
+ (scm->json (manifest prefix id))))
+ (with-output-to-file "repositories"
+ (lambda ()
+ (scm->json (repositories prefix id)))))
+
+ (apply invoke "tar" "-cf" image "-C" directory
+ `(,@%tar-determinism-options
+ ,@(if compressor
+ (list "-I" (string-join compressor))
+ '())
+ "."))
+ (delete-file-recursively directory)))
diff --git a/guix/gexp.scm b/guix/gexp.scm
index 8dea022e04..d26fad7e0b 100644
--- a/guix/gexp.scm
+++ b/guix/gexp.scm
@@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2014, 2015, 2016, 2017 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2014, 2015, 2016, 2017, 2018 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2018 Clément Lassieur <clement@lassieur.org>
;;;
;;; This file is part of GNU Guix.
@@ -60,6 +60,7 @@
program-file-name
program-file-gexp
program-file-guile
+ program-file-module-path
scheme-file
scheme-file?
@@ -380,45 +381,49 @@ This is the declarative counterpart of 'gexp->derivation'."
(apply gexp->derivation name gexp options)))))
(define-record-type <program-file>
- (%program-file name gexp guile)
+ (%program-file name gexp guile path)
program-file?
(name program-file-name) ;string
(gexp program-file-gexp) ;gexp
- (guile program-file-guile)) ;package
+ (guile program-file-guile) ;package
+ (path program-file-module-path)) ;list of strings
-(define* (program-file name gexp #:key (guile #f))
+(define* (program-file name gexp #:key (guile #f) (module-path %load-path))
"Return an object representing the executable store item NAME that runs
-GEXP. GUILE is the Guile package used to execute that script.
+GEXP. GUILE is the Guile package used to execute that script. Imported
+modules of GEXP are looked up in MODULE-PATH.
This is the declarative counterpart of 'gexp->script'."
- (%program-file name gexp guile))
+ (%program-file name gexp guile module-path))
(define-gexp-compiler (program-file-compiler (file <program-file>)
system target)
;; Compile FILE by returning a derivation that builds the script.
(match file
- (($ <program-file> name gexp guile)
+ (($ <program-file> name gexp guile module-path)
(gexp->script name gexp
+ #:module-path module-path
#:guile (or guile (default-guile))))))
(define-record-type <scheme-file>
- (%scheme-file name gexp)
+ (%scheme-file name gexp splice?)
scheme-file?
(name scheme-file-name) ;string
- (gexp scheme-file-gexp)) ;gexp
+ (gexp scheme-file-gexp) ;gexp
+ (splice? scheme-file-splice?)) ;Boolean
-(define* (scheme-file name gexp)
+(define* (scheme-file name gexp #:key splice?)
"Return an object representing the Scheme file NAME that contains GEXP.
This is the declarative counterpart of 'gexp->file'."
- (%scheme-file name gexp))
+ (%scheme-file name gexp splice?))
(define-gexp-compiler (scheme-file-compiler (file <scheme-file>)
system target)
;; Compile FILE by returning a derivation that builds the file.
(match file
- (($ <scheme-file> name gexp)
- (gexp->file name gexp))))
+ (($ <scheme-file> name gexp splice?)
+ (gexp->file name gexp #:splice? splice?))))
;; Appending SUFFIX to BASE's output file name.
(define-record-type <file-append>
@@ -1116,11 +1121,14 @@ they can refer to each other."
(module-ref (resolve-interface '(gnu packages guile))
'guile-2.2))
-(define (load-path-expression modules)
+(define* (load-path-expression modules #:optional (path %load-path))
"Return as a monadic value a gexp that sets '%load-path' and
-'%load-compiled-path' to point to MODULES, a list of module names."
- (mlet %store-monad ((modules (imported-modules modules))
- (compiled (compiled-modules modules)))
+'%load-compiled-path' to point to MODULES, a list of module names. MODULES
+are searched for in PATH."
+ (mlet %store-monad ((modules (imported-modules modules
+ #:module-path path))
+ (compiled (compiled-modules modules
+ #:module-path path)))
(return (gexp (eval-when (expand load eval)
(set! %load-path
(cons (ungexp modules) %load-path))
@@ -1129,11 +1137,13 @@ they can refer to each other."
%load-compiled-path)))))))
(define* (gexp->script name exp
- #:key (guile (default-guile)))
+ #:key (guile (default-guile))
+ (module-path %load-path))
"Return an executable script NAME that runs EXP using GUILE, with EXP's
-imported modules in its search path."
+imported modules in its search path. Look up EXP's modules in MODULE-PATH."
(mlet %store-monad ((set-load-path
- (load-path-expression (gexp-modules exp))))
+ (load-path-expression (gexp-modules exp)
+ module-path)))
(gexp->derivation name
(gexp
(call-with-output-file (ungexp output)
@@ -1148,29 +1158,47 @@ imported modules in its search path."
(write '(ungexp set-load-path) port)
(write '(ungexp exp) port)
- (chmod port #o555)))))))
-
-(define* (gexp->file name exp #:key (set-load-path? #t))
- "Return a derivation that builds a file NAME containing EXP. When
-SET-LOAD-PATH? is true, emit code in the resulting file to set '%load-path'
-and '%load-compiled-path' to honor EXP's imported modules."
+ (chmod port #o555))))
+ #:module-path module-path)))
+
+(define* (gexp->file name exp #:key
+ (set-load-path? #t)
+ (module-path %load-path)
+ (splice? #f))
+ "Return a derivation that builds a file NAME containing EXP. When SPLICE?
+is true, EXP is considered to be a list of expressions that will be spliced in
+the resulting file.
+
+When SET-LOAD-PATH? is true, emit code in the resulting file to set
+'%load-path' and '%load-compiled-path' to honor EXP's imported modules.
+Lookup EXP's modules in MODULE-PATH."
(match (if set-load-path? (gexp-modules exp) '())
(() ;zero modules
(gexp->derivation name
(gexp
(call-with-output-file (ungexp output)
(lambda (port)
- (write '(ungexp exp) port))))
+ (for-each (lambda (exp)
+ (write exp port))
+ '(ungexp (if splice?
+ exp
+ (gexp ((ungexp exp)))))))))
#:local-build? #t
#:substitutable? #f))
((modules ...)
- (mlet %store-monad ((set-load-path (load-path-expression modules)))
+ (mlet %store-monad ((set-load-path (load-path-expression modules
+ module-path)))
(gexp->derivation name
(gexp
(call-with-output-file (ungexp output)
(lambda (port)
(write '(ungexp set-load-path) port)
- (write '(ungexp exp) port))))
+ (for-each (lambda (exp)
+ (write exp port))
+ '(ungexp (if splice?
+ exp
+ (gexp ((ungexp exp)))))))))
+ #:module-path module-path
#:local-build? #t
#:substitutable? #f)))))
@@ -1235,7 +1263,8 @@ This yields an 'etc' directory containing these two files."
files))))))
(define* (directory-union name things
- #:key (copy? #f) (quiet? #f))
+ #:key (copy? #f) (quiet? #f)
+ (resolve-collision 'warn-about-collision))
"Return a directory that is the union of THINGS, where THINGS is a list of
file-like objects denoting directories. For example:
@@ -1243,6 +1272,10 @@ file-like objects denoting directories. For example:
yields a directory that is the union of the 'guile' and 'emacs' packages.
+Call RESOLVE-COLLISION when several files collide, passing it the list of
+colliding files. RESOLVE-COLLISION must return the chosen file or #f, in
+which case the colliding entry is skipped altogether.
+
When HARD-LINKS? is true, create hard links instead of symlinks. When QUIET?
is true, the derivation will not print anything."
(define symlink
@@ -1266,12 +1299,16 @@ is true, the derivation will not print anything."
(computed-file name
(with-imported-modules '((guix build union))
(gexp (begin
- (use-modules (guix build union))
+ (use-modules (guix build union)
+ (srfi srfi-1)) ;for 'first' and 'last'
+
(union-build (ungexp output)
'(ungexp things)
#:log-port (ungexp log-port)
- #:symlink (ungexp symlink)))))))))
+ #:symlink (ungexp symlink)
+ #:resolve-collision
+ (ungexp resolve-collision)))))))))
;;;
diff --git a/guix/git.scm b/guix/git.scm
index d31c35f64f..9e89cc0062 100644
--- a/guix/git.scm
+++ b/guix/git.scm
@@ -28,9 +28,11 @@
#:use-module (rnrs bytevectors)
#:use-module (ice-9 match)
#:use-module (srfi srfi-1)
+ #:use-module (srfi srfi-11)
#:use-module (srfi srfi-34)
#:use-module (srfi srfi-35)
#:export (%repository-cache-directory
+ update-cached-checkout
latest-repository-commit))
(define %repository-cache-directory
@@ -68,11 +70,6 @@ make sure no empty directory is left behind."
(lambda _
(false-if-exception (rmdir directory)))))
-(define (repository->head-sha1 repo)
- "Return the sha1 of the HEAD commit in REPOSITORY as a string."
- (let ((oid (reference-target (repository-head repo))))
- (oid->string (commit-id (commit-lookup repo oid)))))
-
(define (url+commit->name url sha1)
"Return the string \"<REPO-NAME>-<SHA1:7>\" where REPO-NAME is the name of
the git repository, extracted from URL and SHA1:7 the seven first digits
@@ -82,21 +79,9 @@ of SHA1 string."
(last (string-split url #\/)) ".git" "")
"-" (string-take sha1 7)))
-(define* (copy-to-store store cache-directory #:key url repository)
- "Copy CACHE-DIRECTORY recursively to STORE. URL and REPOSITORY are used to
-create the store directory name."
- (define (dot-git? file stat)
- (and (string=? (basename file) ".git")
- (eq? 'directory (stat:type stat))))
-
- (let* ((commit (repository->head-sha1 repository))
- (name (url+commit->name url commit)))
- (values (add-to-store store name #t "sha256" cache-directory
- #:select? (negate dot-git?))
- commit)))
-
(define (switch-to-ref repository ref)
- "Switch to REPOSITORY's branch, commit or tag specified by REF."
+ "Switch to REPOSITORY's branch, commit or tag specified by REF. Return the
+OID (roughly the commit hash) corresponding to REF."
(define obj
(match ref
(('branch . branch)
@@ -122,7 +107,38 @@ create the store directory name."
(string-append "refs/tags/" tag))))
(object-lookup repository oid)))))
- (reset repository obj RESET_HARD))
+ (reset repository obj RESET_HARD)
+ (object-id obj))
+
+(define* (update-cached-checkout url
+ #:key
+ (ref '(branch . "origin/master"))
+ (cache-directory
+ (%repository-cache-directory)))
+ "Update the cached checkout of URL to REF in CACHE-DIRECTORY. Return two
+values: the cache directory name, and the SHA1 commit (a string) corresponding
+to REF.
+
+REF is pair whose key is [branch | commit | tag] and value the associated
+data, respectively [<branch name> | <sha1> | <tag name>]."
+ (with-libgit2
+ (let* ((cache-dir (url-cache-directory url cache-directory))
+ (cache-exists? (openable-repository? cache-dir))
+ (repository (if cache-exists?
+ (repository-open cache-dir)
+ (clone* url cache-dir))))
+ ;; Only fetch remote if it has not been cloned just before.
+ (when cache-exists?
+ (remote-fetch (remote-lookup repository "origin")))
+ (let ((oid (switch-to-ref repository ref)))
+
+ ;; Reclaim file descriptors and memory mappings associated with
+ ;; REPOSITORY as soon as possible.
+ (when (module-defined? (resolve-interface '(git repository))
+ 'repository-close!)
+ (repository-close! repository))
+
+ (values cache-dir (oid->string oid))))))
(define* (latest-repository-commit store url
#:key
@@ -137,16 +153,16 @@ data, respectively [<branch name> | <sha1> | <tag name>].
Git repositories are kept in the cache directory specified by
%repository-cache-directory parameter."
- (with-libgit2
- (let* ((cache-dir (url-cache-directory url cache-directory))
- (cache-exists? (openable-repository? cache-dir))
- (repository (if cache-exists?
- (repository-open cache-dir)
- (clone* url cache-dir))))
- ;; Only fetch remote if it has not been cloned just before.
- (when cache-exists?
- (remote-fetch (remote-lookup repository "origin")))
- (switch-to-ref repository ref)
- (copy-to-store store cache-dir
- #:url url
- #:repository repository))))
+ (define (dot-git? file stat)
+ (and (string=? (basename file) ".git")
+ (eq? 'directory (stat:type stat))))
+
+ (let*-values (((checkout commit)
+ (update-cached-checkout url
+ #:ref ref
+ #:cache-directory cache-directory))
+ ((name)
+ (url+commit->name url commit)))
+ (values (add-to-store store name #t "sha256" checkout
+ #:select? (negate dot-git?))
+ commit)))
diff --git a/guix/modules.scm b/guix/modules.scm
index 6c602eda48..65928f67f2 100644
--- a/guix/modules.scm
+++ b/guix/modules.scm
@@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2016, 2017 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2016, 2017, 2018 Ludovic Courtès <ludo@gnu.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -25,10 +25,12 @@
#:use-module (ice-9 match)
#:export (missing-dependency-error?
missing-dependency-module
+ missing-dependency-search-path
file-name->module-name
module-name->file-name
+ source-module-dependencies
source-module-closure
live-module-closure
guix-module-name?))
@@ -46,7 +48,8 @@
;; The error corresponding to a missing module.
(define-condition-type &missing-dependency-error &error
missing-dependency-error?
- (module missing-dependency-module))
+ (module missing-dependency-module)
+ (search-path missing-dependency-search-path))
(define (colon-symbol? obj)
"Return true if OBJ is a symbol that starts with a colon."
@@ -131,7 +134,8 @@ depends on."
(module-file-dependencies file))
(#f
(raise (condition (&missing-dependency-error
- (module module))))))))
+ (module module)
+ (search-path load-path))))))))
(define* (module-closure modules
#:key
diff --git a/guix/scripts/build.scm b/guix/scripts/build.scm
index 57f2d82c5c..401087e830 100644
--- a/guix/scripts/build.scm
+++ b/guix/scripts/build.scm
@@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017, 2018 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2013 Mark H Weaver <mhw@netris.org>
;;;
;;; This file is part of GNU Guix.
@@ -69,13 +69,21 @@
found. Return #f if no build log was found."
(define (valid-url? url)
;; Probe URL and return #t if it is accessible.
- (catch 'getaddrinfo-error
+ (catch #t
(lambda ()
(guard (c ((http-get-error? c) #f))
(close-port (http-fetch url #:buffered? #f))
#t))
- (lambda _
- #f)))
+ (match-lambda*
+ (('getaddrinfo-error . _)
+ #f)
+ (('tls-certificate-error args ...)
+ (report-error (G_ "cannot access build log at '~a':~%") url)
+ (print-exception (current-error-port) #f
+ 'tls-certificate-error args)
+ (exit 1))
+ ((key . args)
+ (apply throw key args)))))
(define (find-url file)
(let ((base (basename file)))
diff --git a/guix/scripts/environment.scm b/guix/scripts/environment.scm
index 4f88c513c0..f8a9702b30 100644
--- a/guix/scripts/environment.scm
+++ b/guix/scripts/environment.scm
@@ -332,7 +332,7 @@ packages."
(let ((module (make-user-module '())))
(packages->outputs (load* file module) mode)))
(('manifest . file)
- (let ((module (make-user-module '())))
+ (let ((module (make-user-module '((guix profiles) (gnu)))))
(manifest->outputs (load* file module))))
(_ '(#f)))
opts)))
diff --git a/guix/scripts/gc.scm b/guix/scripts/gc.scm
index a31d2236b0..e4ed7227ff 100644
--- a/guix/scripts/gc.scm
+++ b/guix/scripts/gc.scm
@@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2012, 2013, 2015, 2016, 2017 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2012, 2013, 2015, 2016, 2017, 2018 Ludovic Courtès <ludo@gnu.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -61,6 +61,8 @@ Invoke the garbage collector.\n"))
-R, --requisites list the requisites of PATHS"))
(display (G_ "
--referrers list the referrers of PATHS"))
+ (display (G_ "
+ --derivers list the derivers of PATHS"))
(newline)
(display (G_ "
--verify[=OPTS] verify the integrity of the store; OPTS is a
@@ -153,6 +155,10 @@ Invoke the garbage collector.\n"))
(lambda (opt name arg result)
(alist-cons 'action 'list-referrers
(alist-delete 'action result))))
+ (option '("derivers") #f #f
+ (lambda (opt name arg result)
+ (alist-cons 'action 'list-derivers
+ (alist-delete 'action result))))
(option '("list-failures") #f #f
(lambda (opt name arg result)
(alist-cons 'action 'list-failures
@@ -241,6 +247,8 @@ Invoke the garbage collector.\n"))
(requisites store (list item)))))
((list-referrers)
(list-relatives referrers))
+ ((list-derivers)
+ (list-relatives valid-derivers))
((optimize)
(assert-no-extra-arguments)
(optimize-store store))
diff --git a/guix/scripts/graph.scm b/guix/scripts/graph.scm
index 78f09f181b..346ca4ea88 100644
--- a/guix/scripts/graph.scm
+++ b/guix/scripts/graph.scm
@@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2015, 2016, 2017 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2015, 2016, 2017, 2018 Ludovic Courtès <ludo@gnu.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -27,9 +27,11 @@
#:use-module (guix gexp)
#:use-module (guix derivations)
#:use-module (guix memoization)
+ #:use-module (guix modules)
#:use-module ((guix build-system gnu) #:select (standard-packages))
#:use-module (gnu packages)
#:use-module (guix sets)
+ #:use-module ((guix utils) #:select (location-file))
#:use-module (srfi srfi-1)
#:use-module (srfi srfi-26)
#:use-module (srfi srfi-34)
@@ -44,6 +46,7 @@
%derivation-node-type
%reference-node-type
%referrer-node-type
+ %module-node-type
%node-types
guix-graph))
@@ -332,6 +335,36 @@ substitutes."
;;;
+;;; Scheme modules.
+;;;
+
+(define (module-from-package package)
+ (file-name->module-name (location-file (package-location package))))
+
+(define (source-module-dependencies* module)
+ "Like 'source-module-dependencies' but filter out modules that are not
+package modules, while attempting to retain user package modules."
+ (remove (match-lambda
+ (('guix _ ...) #t)
+ (('system _ ...) #t)
+ (('language _ ...) #t)
+ (('ice-9 _ ...) #t)
+ (('srfi _ ...) #t)
+ (_ #f))
+ (source-module-dependencies module)))
+
+(define %module-node-type
+ ;; Show the graph of package modules.
+ (node-type
+ (name "module")
+ (description "the graph of package modules")
+ (convert (lift1 (compose list module-from-package) %store-monad))
+ (identifier (lift1 identity %store-monad))
+ (label object->string)
+ (edges (lift1 source-module-dependencies* %store-monad))))
+
+
+;;;
;;; List of node types.
;;;
@@ -344,7 +377,8 @@ substitutes."
%bag-emerged-node-type
%derivation-node-type
%reference-node-type
- %referrer-node-type))
+ %referrer-node-type
+ %module-node-type))
(define (lookup-node-type name)
"Return the node type called NAME. Raise an error if it is not found."
diff --git a/guix/scripts/pack.scm b/guix/scripts/pack.scm
index 59dd117edb..488638adc5 100644
--- a/guix/scripts/pack.scm
+++ b/guix/scripts/pack.scm
@@ -3,6 +3,7 @@
;;; Copyright © 2017 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2017 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2018 Konrad Hinsen <konrad.hinsen@fastmail.net>
+;;; Copyright © 2018 Chris Marusich <cmmarusich@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -33,7 +34,9 @@
#:use-module (guix derivations)
#:use-module (guix scripts build)
#:use-module (gnu packages)
+ #:use-module (gnu packages bootstrap)
#:use-module (gnu packages compression)
+ #:use-module (gnu packages guile)
#:autoload (gnu packages base) (tar)
#:autoload (gnu packages package-management) (guix)
#:autoload (gnu packages gnupg) (libgcrypt)
@@ -67,6 +70,11 @@
#~(#+(file-append bzip2 "/bin/bzip2") "-9"))
(compressor "none" "" #f)))
+;; This one is only for use in this module, so don't put it in %compressors.
+(define bootstrap-xz
+ (compressor "bootstrap-xz" ".xz"
+ #~(#+(file-append %bootstrap-coreutils&co "/bin/xz") "-e -T0")))
+
(define (lookup-compressor name)
"Return the compressor object called NAME. Error out if it could not be
found."
@@ -230,6 +238,7 @@ the image."
(define build
(with-imported-modules `(,@(source-module-closure '((guix docker))
#:select? not-config?)
+ (guix build store-copy)
((guix config) => ,config))
#~(begin
;; Guile-JSON is required by (guix docker).
@@ -237,13 +246,15 @@ the image."
(string-append #+json "/share/guile/site/"
(effective-version)))
- (use-modules (guix docker) (srfi srfi-19))
+ (use-modules (guix docker) (srfi srfi-19) (guix build store-copy))
(setenv "PATH" (string-append #$tar "/bin"))
- (build-docker-image #$output #$profile
+ (build-docker-image #$output
+ (call-with-input-file "profile"
+ read-reference-graph)
+ #$profile
#:system (or #$target (utsname:machine (uname)))
- #:closure "profile"
#:symlinks '#$symlinks
#:compressor '#$(compressor-command compressor)
#:creation-time (make-time time-utc 0 1)))))
@@ -325,6 +336,9 @@ the image."
(option '("localstatedir") #f #f
(lambda (opt name arg result)
(alist-cons 'localstatedir? #t result)))
+ (option '("bootstrap") #f #f
+ (lambda (opt name arg result)
+ (alist-cons 'bootstrap? #t result)))
(append %transformation-options
%standard-build-options)))
@@ -352,6 +366,8 @@ Create a bundle of PACKAGE.\n"))
-m, --manifest=FILE create a pack with the manifest from FILE"))
(display (G_ "
--localstatedir include /var/guix in the resulting pack"))
+ (display (G_ "
+ --bootstrap use the bootstrap binaries to build the pack"))
(newline)
(display (G_ "
-h, --help display this help and exit"))
@@ -393,28 +409,43 @@ Create a bundle of PACKAGE.\n"))
(else (packages->manifest packages)))))
(with-error-handling
- (parameterize ((%graft? (assoc-ref opts 'graft?)))
- (let* ((dry-run? (assoc-ref opts 'dry-run?))
- (manifest (manifest-from-args opts))
- (pack-format (assoc-ref opts 'format))
- (name (string-append (symbol->string pack-format)
- "-pack"))
- (target (assoc-ref opts 'target))
- (compressor (assoc-ref opts 'compressor))
- (symlinks (assoc-ref opts 'symlinks))
- (build-image (match (assq-ref %formats pack-format)
- ((? procedure? proc) proc)
- (#f
- (leave (G_ "~a: unknown pack format")
- format))))
- (localstatedir? (assoc-ref opts 'localstatedir?)))
- (with-store store
+ (let* ((dry-run? (assoc-ref opts 'dry-run?))
+ (manifest (manifest-from-args opts))
+ (pack-format (assoc-ref opts 'format))
+ (name (string-append (symbol->string pack-format)
+ "-pack"))
+ (target (assoc-ref opts 'target))
+ (bootstrap? (assoc-ref opts 'bootstrap?))
+ (compressor (if bootstrap?
+ bootstrap-xz
+ (assoc-ref opts 'compressor)))
+ (tar (if bootstrap?
+ %bootstrap-coreutils&co
+ tar))
+ (symlinks (assoc-ref opts 'symlinks))
+ (build-image (match (assq-ref %formats pack-format)
+ ((? procedure? proc) proc)
+ (#f
+ (leave (G_ "~a: unknown pack format")
+ format))))
+ (localstatedir? (assoc-ref opts 'localstatedir?)))
+ (with-store store
+ (parameterize ((%graft? (assoc-ref opts 'graft?))
+ (%guile-for-build (package-derivation
+ store
+ (if (assoc-ref opts 'bootstrap?)
+ %bootstrap-guile
+ (canonical-package guile-2.2)))))
;; Set the build options before we do anything else.
(set-build-options-from-command-line store opts)
(run-with-store store
(mlet* %store-monad ((profile (profile-derivation
manifest
+ #:hooks (if bootstrap?
+ '()
+ %default-profile-hooks)
+ #:locales? (not bootstrap?)
#:target target))
(drv (build-image name profile
#:target
@@ -424,7 +455,9 @@ Create a bundle of PACKAGE.\n"))
#:symlinks
symlinks
#:localstatedir?
- localstatedir?)))
+ localstatedir?
+ #:tar
+ tar)))
(mbegin %store-monad
(show-what-to-build* (list drv)
#:use-substitutes?
diff --git a/guix/scripts/package.scm b/guix/scripts/package.scm
index d8b80efe8e..4f519e6f33 100644
--- a/guix/scripts/package.scm
+++ b/guix/scripts/package.scm
@@ -194,15 +194,18 @@ denote ranges as interpreted by 'matching-generations'."
(define* (build-and-use-profile store profile manifest
#:key
+ allow-collisions?
bootstrap? use-substitutes?
dry-run?)
"Build a new generation of PROFILE, a file name, using the packages
-specified in MANIFEST, a manifest object."
+specified in MANIFEST, a manifest object. When ALLOW-COLLISIONS? is true,
+do not treat collisions in MANIFEST as an error."
(when (equal? profile %current-profile)
(ensure-default-profile))
(let* ((prof-drv (run-with-store store
(profile-derivation manifest
+ #:allow-collisions? allow-collisions?
#:hooks (if bootstrap?
'()
%default-profile-hooks)
@@ -408,6 +411,8 @@ Install, remove, or upgrade packages in a single transaction.\n"))
-p, --profile=PROFILE use PROFILE instead of the user's default profile"))
(newline)
(display (G_ "
+ --allow-collisions do not treat collisions in the profile as an error"))
+ (display (G_ "
--bootstrap use the bootstrap Guile to build the profile"))
(display (G_ "
--verbose produce verbose output"))
@@ -544,6 +549,10 @@ kind of search path~%")
(lambda (opt name arg result arg-handler)
(values (alist-cons 'verbose? #t result)
#f)))
+ (option '("allow-collisions") #f #f
+ (lambda (opt name arg result arg-handler)
+ (values (alist-cons 'allow-collisions? #t result)
+ #f)))
(option '(#\s "search") #t #f
(lambda (opt name arg result arg-handler)
(values (cons `(query search ,(or arg ""))
@@ -831,13 +840,15 @@ processed, #f otherwise."
(let* ((user-module (make-user-module '((guix profiles) (gnu))))
(manifest (load* file user-module))
(bootstrap? (assoc-ref opts 'bootstrap?))
- (substitutes? (assoc-ref opts 'substitutes?)))
+ (substitutes? (assoc-ref opts 'substitutes?))
+ (allow-collisions? (assoc-ref opts 'allow-collisions?)))
(if dry-run?
(format #t (G_ "would install new manifest from '~a' with ~d entries~%")
file (length (manifest-entries manifest)))
(format #t (G_ "installing new manifest from '~a' with ~d entries~%")
file (length (manifest-entries manifest))))
(build-and-use-profile store profile manifest
+ #:allow-collisions? allow-collisions?
#:bootstrap? bootstrap?
#:use-substitutes? substitutes?
#:dry-run? dry-run?)))
@@ -856,6 +867,7 @@ processed, #f otherwise."
(define dry-run? (assoc-ref opts 'dry-run?))
(define bootstrap? (assoc-ref opts 'bootstrap?))
(define substitutes? (assoc-ref opts 'substitutes?))
+ (define allow-collisions? (assoc-ref opts 'allow-collisions?))
(define profile (or (assoc-ref opts 'profile) %current-profile))
(define transform (options->transformation opts))
@@ -894,6 +906,7 @@ processed, #f otherwise."
(show-manifest-transaction store manifest step3
#:dry-run? dry-run?)
(build-and-use-profile store profile new
+ #:allow-collisions? allow-collisions?
#:bootstrap? bootstrap?
#:use-substitutes? substitutes?
#:dry-run? dry-run?))))
diff --git a/guix/scripts/system.scm b/guix/scripts/system.scm
index f0c4a2ba1b..b50cabcd1a 100644
--- a/guix/scripts/system.scm
+++ b/guix/scripts/system.scm
@@ -1,7 +1,7 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2014, 2015, 2016, 2017, 2018 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2016 Alex Kost <alezost@gmail.com>
-;;; Copyright © 2016, 2017 Chris Marusich <cmmarusich@gmail.com>
+;;; Copyright © 2016, 2017, 2018 Chris Marusich <cmmarusich@gmail.com>
;;; Copyright © 2017 Mathieu Othacehe <m.othacehe@gmail.com>
;;;
;;; This file is part of GNU Guix.
@@ -701,7 +701,9 @@ checking this by themselves in their 'check' procedure."
("iso9660" "image.iso")
(_ "disk-image"))
#:disk-image-size image-size
- #:file-system-type file-system-type))))
+ #:file-system-type file-system-type))
+ ((docker-image)
+ (system-docker-image os #:register-closures? #t))))
(define (maybe-suggest-running-guix-pull)
"Suggest running 'guix pull' if this has never been done before."
@@ -905,6 +907,8 @@ Some ACTIONS support additional ARGS.\n"))
(display (G_ "\
disk-image build a disk image, suitable for a USB stick\n"))
(display (G_ "\
+ docker-image build a Docker image\n"))
+ (display (G_ "\
init initialize a root file system to run GNU\n"))
(display (G_ "\
extension-graph emit the service extension graph in Dot format\n"))
@@ -1142,7 +1146,7 @@ argument list and OPTS is the option alist."
(case action
((build container vm vm-image disk-image reconfigure init
extension-graph shepherd-graph list-generations roll-back
- switch-generation search)
+ switch-generation search docker-image)
(alist-cons 'action action result))
(else (leave (G_ "~a: unknown action~%") action))))))
@@ -1171,7 +1175,7 @@ argument list and OPTS is the option alist."
(exit 1))
(case action
- ((build container vm vm-image disk-image reconfigure)
+ ((build container vm vm-image disk-image docker-image reconfigure)
(unless (or (= count 1)
(and expr (= count 0)))
(fail)))
diff --git a/guix/scripts/weather.scm b/guix/scripts/weather.scm
index 2e782e36ce..5c934abaef 100644
--- a/guix/scripts/weather.scm
+++ b/guix/scripts/weather.scm
@@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2017 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2017, 2018 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2017 Ricardo Wurmus <rekado@elephly.net>
;;;
;;; This file is part of GNU Guix.
@@ -29,11 +29,14 @@
#:use-module (guix grafts)
#:use-module ((guix build syscalls) #:select (terminal-columns))
#:use-module (guix scripts substitute)
+ #:use-module (guix http-client)
+ #:use-module (guix ci)
#:use-module (gnu packages)
#:use-module (web uri)
#:use-module (srfi srfi-1)
#:use-module (srfi srfi-19)
#:use-module (srfi srfi-26)
+ #:use-module (srfi srfi-34)
#:use-module (srfi srfi-37)
#:use-module (ice-9 match)
#:use-module (ice-9 format)
@@ -100,6 +103,57 @@ values."
(define-syntax-rule (let/time ((time result exp)) body ...)
(call-with-time (lambda () exp) (lambda (time result) body ...)))
+(define (histogram field proc seed lst)
+ "Return an alist giving a histogram of all the values of FIELD for elements
+of LST. FIELD must be a one element procedure that returns a field's value.
+For each FIELD value, call PROC with the previous field-specific result.
+Example:
+
+ (histogram car (lambda (x n) (+ 1 n)) 0 '((a . x)(b . y)(a . z)))
+ => ((a . 2) (b . 1))
+
+meaning that we have two a's and one b."
+ (let loop ((lst lst)
+ (result '()))
+ (match lst
+ (()
+ result)
+ ((head . tail)
+ (let ((value (field head)))
+ (loop tail
+ (match (assoc-ref result value)
+ (#f
+ `((,value . ,(proc head seed)) ,@result))
+ (previous
+ `((,value . ,(proc head previous))
+ ,@(alist-delete value result))))))))))
+
+(define (throughput lst timestamp)
+ "Return the throughput, in items per second, given the elements of LST,
+calling TIMESTAMP to get the \"timestamp\" of each item."
+ (let ((oldest (reduce min +inf.0 (map build-timestamp lst)))
+ (now (time-second (current-time time-utc))))
+ (/ (length lst) (- now oldest) 1.)))
+
+(define (queued-subset queue items)
+ "Return the subset of ITEMS, a list of store file names, that appears in
+QUEUE, a list of builds. Return #f if elements in QUEUE lack information
+about the derivations queued, as is the case with Hydra."
+ (define queued
+ (append-map (lambda (build)
+ (match (false-if-exception
+ (read-derivation-from-file (build-derivation build)))
+ (#f
+ '())
+ (drv
+ (match (derivation->output-paths drv)
+ (((names . items) ...) items)))))
+ queue))
+
+ (if (any (negate build-derivation) queue)
+ #f ;no derivation information
+ (lset-intersection string=? queued items)))
+
(define (report-server-coverage server items)
"Report the subset of ITEMS available as substitutes on SERVER."
(define MiB (* (expt 2 20) 1.))
@@ -111,6 +165,8 @@ values."
(format #t "~a~%" server)
(let ((obtained (length narinfos))
(requested (length items))
+ (missing (lset-difference string=?
+ items (map narinfo-path narinfos)))
(sizes (filter-map narinfo-file-size narinfos))
(time (+ (time-second time)
(/ (time-nanosecond time) 1e9))))
@@ -131,7 +187,56 @@ values."
(format #t (G_ " ~,3h seconds per request (~,1h seconds in total)~%")
(/ time requested 1.) time)
(format #t (G_ " ~,1h requests per second~%")
- (/ requested time 1.)))))
+ (/ requested time 1.))
+
+ (guard (c ((http-get-error? c)
+ (if (= 404 (http-get-error-code c))
+ (format (current-error-port)
+ (G_ " (continuous integration information \
+unavailable)~%"))
+ (format (current-error-port)
+ (G_ " '~a' returned ~a (~s)~%")
+ (uri->string (http-get-error-uri c))
+ (http-get-error-code c)
+ (http-get-error-reason c)))))
+ (let* ((max %query-limit)
+ (queue (queued-builds server max))
+ (len (length queue))
+ (histo (histogram build-system
+ (lambda (build count)
+ (+ 1 count))
+ 0 queue)))
+ (newline)
+ (unless (null? missing)
+ (let ((missing (length missing)))
+ (match (queued-subset queue missing)
+ (#f #f)
+ ((= length queued)
+ (format #t (G_ " ~,1f% (~h out of ~h) of the missing items \
+are queued~%")
+ (* 100. (/ queued missing))
+ queued missing)))))
+
+ (if (>= len max)
+ (format #t (G_ " at least ~h queued builds~%") len)
+ (format #t (G_ " ~h queued builds~%") len))
+ (for-each (match-lambda
+ ((system . count)
+ (format #t (G_ " ~a: ~a (~0,1f%)~%")
+ system count (* 100. (/ count len)))))
+ histo))
+
+ (let* ((latest (latest-builds server))
+ (builds/sec (throughput latest build-timestamp)))
+ (format #t (G_ " build rate: ~1,2f builds per hour~%")
+ (* builds/sec 3600.))
+ (for-each (match-lambda
+ ((system . builds)
+ (format #t (G_ " ~a: ~,2f builds per hour~%")
+ system
+ (* (throughput builds build-timestamp)
+ 3600.))))
+ (histogram build-system cons '() latest)))))))
;;;
diff --git a/guix/self.scm b/guix/self.scm
new file mode 100644
index 0000000000..6220efb397
--- /dev/null
+++ b/guix/self.scm
@@ -0,0 +1,610 @@
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2017, 2018 Ludovic Courtès <ludo@gnu.org>
+;;;
+;;; This file is part of GNU Guix.
+;;;
+;;; GNU Guix is free software; you can redistribute it and/or modify it
+;;; under the terms of the GNU General Public License as published by
+;;; the Free Software Foundation; either version 3 of the License, or (at
+;;; your option) any later version.
+;;;
+;;; GNU Guix is distributed in the hope that it will be useful, but
+;;; WITHOUT ANY WARRANTY; without even the implied warranty of
+;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+;;; GNU General Public License for more details.
+;;;
+;;; You should have received a copy of the GNU General Public License
+;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
+
+(define-module (guix self)
+ #:use-module (guix config)
+ #:use-module (guix i18n)
+ #:use-module (guix modules)
+ #:use-module (guix gexp)
+ #:use-module (guix store)
+ #:use-module (guix monads)
+ #:use-module (guix discovery)
+ #:use-module (guix packages)
+ #:use-module (guix sets)
+ #:use-module (guix utils)
+ #:use-module (guix modules)
+ #:use-module (guix build utils)
+ #:use-module ((guix build compile) #:select (%lightweight-optimizations))
+ #:use-module (srfi srfi-1)
+ #:use-module (srfi srfi-9)
+ #:use-module (ice-9 match)
+ #:export (make-config.scm
+ compiled-guix
+ guix-derivation
+ reload-guix))
+
+
+;;;
+;;; Dependency handling.
+;;;
+
+(define* (false-if-wrong-guile package
+ #:optional (guile-version (effective-version)))
+ "Return #f if PACKAGE depends on the \"wrong\" major version of Guile (e.g.,
+2.0 instead of 2.2), otherwise return PACKAGE."
+ (let ((guile (any (match-lambda
+ ((label (? package? dep) _ ...)
+ (and (string=? (package-name dep) "guile")
+ dep)))
+ (package-direct-inputs package))))
+ (and (or (not guile)
+ (string-prefix? guile-version
+ (package-version guile)))
+ package)))
+
+(define (package-for-guile guile-version . names)
+ "Return the package with one of the given NAMES that depends on
+GUILE-VERSION (\"2.0\" or \"2.2\"), or #f if none of the packages matches."
+ (let loop ((names names))
+ (match names
+ (()
+ #f)
+ ((name rest ...)
+ (match (specification->package name)
+ (#f
+ (loop rest))
+ ((? package? package)
+ (or (false-if-wrong-guile package guile-version)
+ (loop rest))))))))
+
+(define specification->package
+ ;; Use our own variant of that procedure because that of (gnu packages)
+ ;; would traverse all the .scm files, which is wasteful.
+ (let ((ref (lambda (module variable)
+ (module-ref (resolve-interface module) variable))))
+ (match-lambda
+ ("guile" (ref '(gnu packages commencement) 'guile-final))
+ ("guile-json" (ref '(gnu packages guile) 'guile-json))
+ ("guile-ssh" (ref '(gnu packages ssh) 'guile-ssh))
+ ("guile-git" (ref '(gnu packages guile) 'guile-git))
+ ("libgcrypt" (ref '(gnu packages gnupg) 'libgcrypt))
+ ("zlib" (ref '(gnu packages compression) 'zlib))
+ ("gzip" (ref '(gnu packages compression) 'gzip))
+ ("bzip2" (ref '(gnu packages compression) 'bzip2))
+ ("xz" (ref '(gnu packages compression) 'xz))
+ ("guix" (ref '(gnu packages package-management)
+ 'guix-register))
+ ("guile2.0-json" (ref '(gnu packages guile) 'guile2.0-json))
+ ("guile2.0-ssh" (ref '(gnu packages ssh) 'guile2.0-ssh))
+ ("guile2.0-git" (ref '(gnu packages guile) 'guile2.0-git))
+ (_ #f)))) ;no such package
+
+
+;;;
+;;; Derivations.
+;;;
+
+;; Node in a DAG of build tasks. Each node maps to a derivation, but it's
+;; easier to express things this way.
+(define-record-type <node>
+ (node name modules source dependencies compiled)
+ node?
+ (name node-name) ;string
+ (modules node-modules) ;list of module names
+ (source node-source) ;list of source files
+ (dependencies node-dependencies) ;list of nodes
+ (compiled node-compiled)) ;node -> lowerable object
+
+(define (node-fold proc init nodes)
+ (let loop ((nodes nodes)
+ (visited (setq))
+ (result init))
+ (match nodes
+ (() result)
+ ((head tail ...)
+ (if (set-contains? visited head)
+ (loop tail visited result)
+ (loop tail (set-insert head visited)
+ (proc head result)))))))
+
+(define (node-modules/recursive nodes)
+ (node-fold (lambda (node modules)
+ (append (node-modules node) modules))
+ '()
+ nodes))
+
+(define* (closure modules #:optional (except '()))
+ (source-module-closure modules
+ #:select?
+ (match-lambda
+ (('guix 'config)
+ #f)
+ ((and module
+ (or ('guix _ ...) ('gnu _ ...)))
+ (not (member module except)))
+ (rest #f))))
+
+(define module->import
+ ;; Return a file-name/file-like object pair for the specified module and
+ ;; suitable for 'imported-files'.
+ (match-lambda
+ ((module '=> thing)
+ (let ((file (module-name->file-name module)))
+ (list file thing)))
+ (module
+ (let ((file (module-name->file-name module)))
+ (list file
+ (local-file (search-path %load-path file)))))))
+
+(define* (scheme-node name modules #:optional (dependencies '())
+ #:key (extra-modules '()) (extra-files '())
+ (extensions '())
+ parallel? guile-for-build)
+ "Return a node that builds the given Scheme MODULES, and depends on
+DEPENDENCIES (a list of nodes). EXTRA-MODULES is a list of additional modules
+added to the source, and EXTRA-FILES is a list of additional files.
+EXTENSIONS is a set of full-blown Guile packages (e.g., 'guile-json') that
+must be present in the search path."
+ (let* ((modules (append extra-modules
+ (closure modules
+ (node-modules/recursive dependencies))))
+ (module-files (map module->import modules))
+ (source (imported-files (string-append name "-source")
+ (append module-files extra-files))))
+ (node name modules source dependencies
+ (compiled-modules name source modules
+ (map node-source dependencies)
+ (map node-compiled dependencies)
+ #:extensions extensions
+ #:parallel? parallel?
+ #:guile-for-build guile-for-build))))
+
+(define (file-imports directory sub-directory pred)
+ "List all the files matching PRED under DIRECTORY/SUB-DIRECTORY. Return a
+list of file-name/file-like objects suitable as inputs to 'imported-files'."
+ (map (lambda (file)
+ (list (string-drop file (+ 1 (string-length directory)))
+ (local-file file #:recursive? #t)))
+ (find-files (string-append directory "/" sub-directory) pred)))
+
+(define (scheme-modules* directory sub-directory)
+ "Return the list of module names found under SUB-DIRECTORY in DIRECTORY."
+ (let ((prefix (string-length directory)))
+ (map (lambda (file)
+ (file-name->module-name (string-drop file prefix)))
+ (scheme-files (string-append directory "/" sub-directory)))))
+
+(define* (compiled-guix source #:key (version %guix-version)
+ (name (string-append "guix-" version))
+ (guile-version (effective-version))
+ (guile-for-build (guile-for-build guile-version))
+ (libgcrypt (specification->package "libgcrypt"))
+ (zlib (specification->package "zlib"))
+ (gzip (specification->package "gzip"))
+ (bzip2 (specification->package "bzip2"))
+ (xz (specification->package "xz"))
+ (guix (specification->package "guix")))
+ "Return a file-like object that contains a compiled Guix."
+ (define guile-json
+ (package-for-guile guile-version
+ "guile-json"
+ "guile2.0-json"))
+
+ (define guile-ssh
+ (package-for-guile guile-version
+ "guile-ssh"
+ "guile2.0-ssh"))
+
+ (define guile-git
+ (package-for-guile guile-version
+ "guile-git"
+ "guile2.0-git"))
+
+
+ (define dependencies
+ (match (append-map (lambda (package)
+ (cons (list "x" package)
+ (package-transitive-inputs package)))
+ (list guile-git guile-json guile-ssh))
+ (((labels packages _ ...) ...)
+ packages)))
+
+ (define *core-modules*
+ (scheme-node "guix-core"
+ '((guix)
+ (guix monad-repl)
+ (guix packages)
+ (guix download)
+ (guix discovery)
+ (guix profiles)
+ (guix build-system gnu)
+ (guix build-system trivial)
+ (guix build profiles)
+ (guix build gnu-build-system))
+
+ ;; Provide a dummy (guix config) with the default version
+ ;; number, storedir, etc. This is so that "guix-core" is the
+ ;; same across all installations and doesn't need to be
+ ;; rebuilt when the version changes, which in turn means we
+ ;; can have substitutes for it.
+ #:extra-modules
+ `(((guix config)
+ => ,(make-config.scm #:libgcrypt
+ (specification->package
+ "libgcrypt"))))
+
+ #:guile-for-build guile-for-build))
+
+ (define *extra-modules*
+ (scheme-node "guix-extra"
+ (filter-map (match-lambda
+ (('guix 'scripts _ ..1) #f)
+ (name name))
+ (scheme-modules* source "guix"))
+ (list *core-modules*)
+ #:extensions dependencies
+ #:guile-for-build guile-for-build))
+
+ (define *package-modules*
+ (scheme-node "guix-packages"
+ `((gnu packages)
+ ,@(scheme-modules* source "gnu/packages"))
+ (list *core-modules* *extra-modules*)
+ #:extensions dependencies
+ #:extra-files ;all the non-Scheme files
+ (file-imports source "gnu/packages"
+ (lambda (file stat)
+ (and (eq? 'regular (stat:type stat))
+ (not (string-suffix? ".scm" file))
+ (not (string-suffix? ".go" file))
+ (not (string-prefix? ".#" file))
+ (not (string-suffix? "~" file)))))
+ #:guile-for-build guile-for-build))
+
+ (define *system-modules*
+ (scheme-node "guix-system"
+ `((gnu system)
+ (gnu services)
+ ,@(scheme-modules* source "gnu/system")
+ ,@(scheme-modules* source "gnu/services"))
+ (list *package-modules* *extra-modules* *core-modules*)
+ #:extensions dependencies
+ #:extra-files
+ (file-imports source "gnu/system/examples" (const #t))
+ #:guile-for-build
+ guile-for-build))
+
+ (define *cli-modules*
+ (scheme-node "guix-cli"
+ (scheme-modules* source "/guix/scripts")
+ (list *core-modules* *extra-modules* *package-modules*
+ *system-modules*)
+ #:extensions dependencies
+ #:guile-for-build guile-for-build))
+
+ (define *config*
+ (scheme-node "guix-config"
+ '()
+ #:extra-modules
+ `(((guix config)
+ => ,(make-config.scm #:libgcrypt libgcrypt
+ #:zlib zlib
+ #:gzip gzip
+ #:bzip2 bzip2
+ #:xz xz
+ #:guix guix
+ #:package-name
+ %guix-package-name
+ #:package-version
+ version
+ #:bug-report-address
+ %guix-bug-report-address
+ #:home-page-url
+ %guix-home-page-url)))
+ #:guile-for-build guile-for-build))
+
+ (directory-union name
+ (append-map (lambda (node)
+ (list (node-source node)
+ (node-compiled node)))
+
+ ;; Note: *CONFIG* comes first so that it
+ ;; overrides the (guix config) module that
+ ;; comes with *CORE-MODULES*.
+ (list *config*
+ *cli-modules*
+ *system-modules*
+ *package-modules*
+ *extra-modules*
+ *core-modules*))
+
+ ;; Silently choose the first entry upon collision so that
+ ;; we choose *CONFIG*.
+ #:resolve-collision 'first
+
+ ;; When we do (add-to-store "utils.scm"), "utils.scm" must
+ ;; be a regular file, not a symlink. Thus, arrange so that
+ ;; regular files appear as regular files in the final
+ ;; output.
+ #:copy? #t
+ #:quiet? #t))
+
+
+;;;
+;;; Generating (guix config).
+;;;
+
+(define %dependency-variables
+ ;; (guix config) variables corresponding to dependencies.
+ '(%libgcrypt %libz %xz %gzip %bzip2 %nix-instantiate
+ %sbindir %guix-register-program))
+
+(define %persona-variables
+ ;; (guix config) variables that define Guix's persona.
+ '(%guix-package-name
+ %guix-version
+ %guix-bug-report-address
+ %guix-home-page-url))
+
+(define %config-variables
+ ;; (guix config) variables corresponding to Guix configuration (storedir,
+ ;; localstatedir, etc.)
+ (sort (filter pair?
+ (module-map (lambda (name var)
+ (and (not (memq name %dependency-variables))
+ (not (memq name %persona-variables))
+ (cons name (variable-ref var))))
+ (resolve-interface '(guix config))))
+ (lambda (name+value1 name+value2)
+ (string<? (symbol->string (car name+value1))
+ (symbol->string (car name+value2))))))
+
+(define* (make-config.scm #:key libgcrypt zlib gzip xz bzip2 guix
+ (package-name "GNU Guix")
+ (package-version "0")
+ (bug-report-address "bug-guix@gnu.org")
+ (home-page-url "https://gnu.org/s/guix"))
+
+ ;; Hack so that Geiser is not confused.
+ (define defmod 'define-module)
+
+ (scheme-file "config.scm"
+ #~(;; The following expressions get spliced.
+ (#$defmod (guix config)
+ #:export (%guix-package-name
+ %guix-version
+ %guix-bug-report-address
+ %guix-home-page-url
+ %sbindir
+ %guix-register-program
+ %libgcrypt
+ %libz
+ %gzip
+ %bzip2
+ %xz
+ %nix-instantiate))
+
+ #$@(map (match-lambda
+ ((name . value)
+ #~(define-public #$name #$value)))
+ %config-variables)
+
+ (define %guix-package-name #$package-name)
+ (define %guix-version #$package-version)
+ (define %guix-bug-report-address #$bug-report-address)
+ (define %guix-home-page-url #$home-page-url)
+
+ (define %sbindir
+ ;; This is used to define '%guix-register-program'.
+ ;; TODO: Use a derivation that builds nothing but the
+ ;; C++ part.
+ #+(and guix (file-append guix "/sbin")))
+
+ (define %guix-register-program
+ (or (getenv "GUIX_REGISTER")
+ (and %sbindir
+ (string-append %sbindir "/guix-register"))))
+
+ (define %gzip
+ #+(and gzip (file-append gzip "/bin/gzip")))
+ (define %bzip2
+ #+(and bzip2 (file-append bzip2 "/bin/bzip2")))
+ (define %xz
+ #+(and xz (file-append xz "/bin/xz")))
+
+ (define %libgcrypt
+ #+(and libgcrypt
+ (file-append libgcrypt "/lib/libgcrypt")))
+ (define %libz
+ #+(and zlib
+ (file-append zlib "/lib/libz")))
+
+ (define %nix-instantiate ;for (guix import snix)
+ "nix-instantiate"))
+
+ ;; Guile 2.0 *requires* the 'define-module' to be at the
+ ;; top-level or it 'toplevel-ref' in the resulting .go file are
+ ;; made relative to a nonexistent anonymous module.
+ #:splice? #t))
+
+
+
+;;;
+;;; Building.
+;;;
+
+(define (imported-files name files)
+ ;; This is a non-monadic, simplified version of 'imported-files' from (guix
+ ;; gexp).
+ (define build
+ (with-imported-modules (source-module-closure
+ '((guix build utils)))
+ #~(begin
+ (use-modules (ice-9 match)
+ (guix build utils))
+
+ (mkdir (ungexp output)) (chdir (ungexp output))
+ (for-each (match-lambda
+ ((final-path store-path)
+ (mkdir-p (dirname final-path))
+
+ ;; Note: We need regular files to be regular files, not
+ ;; symlinks, as this makes a difference for
+ ;; 'add-to-store'.
+ (copy-file store-path final-path)))
+ '#$files))))
+
+ ;; We're just copying files around, no need to substitute or offload it.
+ (computed-file name build
+ #:options '(#:local-build? #t
+ #:substitutable? #f)))
+
+(define* (compiled-modules name module-tree modules
+ #:optional
+ (dependencies '())
+ (dependencies-compiled '())
+ #:key
+ (extensions '()) ;full-blown Guile packages
+ parallel?
+ guile-for-build)
+ ;; This is a non-monadic, enhanced version of 'compiled-file' from (guix
+ ;; gexp).
+ (define build
+ (with-imported-modules (source-module-closure
+ '((guix build compile)
+ (guix build utils)))
+ #~(begin
+ (use-modules (srfi srfi-26)
+ (ice-9 match)
+ (ice-9 format)
+ (ice-9 threads)
+ (guix build compile)
+ (guix build utils))
+
+ (define (regular? file)
+ (not (member file '("." ".."))))
+
+ (define (report-load file total completed)
+ (display #\cr)
+ (format #t
+ "loading...\t~5,1f% of ~d files" ;FIXME: i18n
+ (* 100. (/ completed total)) total)
+ (force-output))
+
+ (define (report-compilation file total completed)
+ (display #\cr)
+ (format #t "compiling...\t~5,1f% of ~d files" ;FIXME: i18n
+ (* 100. (/ completed total)) total)
+ (force-output))
+
+ (define (process-directory directory output)
+ (let ((files (find-files directory "\\.scm$"))
+ (prefix (+ 1 (string-length directory))))
+ ;; Hide compilation warnings.
+ (parameterize ((current-warning-port (%make-void-port "w")))
+ (compile-files directory #$output
+ (map (cut string-drop <> prefix) files)
+ #:workers (parallel-job-count)
+ #:report-load report-load
+ #:report-compilation report-compilation))))
+
+ (setvbuf (current-output-port) _IONBF)
+ (setvbuf (current-error-port) _IONBF)
+
+ (set! %load-path (cons #+module-tree %load-path))
+ (set! %load-path
+ (append '#+dependencies
+ (map (lambda (extension)
+ (string-append extension "/share/guile/site/"
+ (effective-version)))
+ '#+extensions)
+ %load-path))
+
+ (set! %load-compiled-path
+ (append '#+dependencies-compiled
+ (map (lambda (extension)
+ (string-append extension "/lib/guile/"
+ (effective-version)
+ "/site-ccache"))
+ '#+extensions)
+ %load-compiled-path))
+
+ ;; Load the compiler modules upfront.
+ (compile #f)
+
+ (mkdir #$output)
+ (chdir #+module-tree)
+ (process-directory "." #$output)
+ (newline))))
+
+ (computed-file name build
+ #:guile guile-for-build
+ #:options
+ `(#:local-build? #f ;allow substitutes
+
+ ;; Don't annoy people about _IONBF deprecation.
+ #:env-vars (("GUILE_WARN_DEPRECATED" . "no")))))
+
+
+;;;
+;;; Building.
+;;;
+
+(define (guile-for-build version)
+ "Return a derivation for Guile 2.0 or 2.2, whichever matches the currently
+running Guile."
+ (define canonical-package ;soft reference
+ (module-ref (resolve-interface '(gnu packages base))
+ 'canonical-package))
+
+ (match version
+ ("2.2.2"
+ ;; Gross hack to avoid ABI incompatibilities (see
+ ;; <https://bugs.gnu.org/29570>.)
+ (module-ref (resolve-interface '(gnu packages guile))
+ 'guile-2.2.2))
+ ("2.2"
+ (canonical-package (module-ref (resolve-interface '(gnu packages guile))
+ 'guile-2.2/fixed)))
+ ("2.0"
+ (module-ref (resolve-interface '(gnu packages guile))
+ 'guile-2.0))))
+
+(define* (guix-derivation source version
+ #:optional (guile-version (effective-version)))
+ "Return, as a monadic value, the derivation to build the Guix from SOURCE
+for GUILE-VERSION. Use VERSION as the version string."
+ (define (shorten version)
+ (if (and (string-every char-set:hex-digit version)
+ (> (string-length version) 9))
+ (string-take version 9) ;Git commit
+ version))
+
+ (define guile
+ (guile-for-build guile-version))
+
+ (mbegin %store-monad
+ (set-guile-for-build guile)
+ (lower-object (compiled-guix source
+ #:version version
+ #:name (string-append "guix-"
+ (shorten version))
+ #:guile-version (match guile-version
+ ("2.2.2" "2.2")
+ (version version))
+ #:guile-for-build guile))))
diff --git a/guix/upstream.scm b/guix/upstream.scm
index caaa0e44e4..9e1056f7a7 100644
--- a/guix/upstream.scm
+++ b/guix/upstream.scm
@@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2015 Alex Kost <alezost@gmail.com>
;;;
;;; This file is part of GNU Guix.
@@ -153,7 +153,8 @@ correspond to the same version."
(cons (resolve-interface '(guix gnu-maintenance))
(all-modules (map (lambda (entry)
`(,entry . "guix/import"))
- %load-path))))
+ %load-path)
+ #:warn warn-about-load-error)))
(define %updaters
;; The list of publically-known updaters.
diff --git a/nix/libstore/globals.cc b/nix/libstore/globals.cc
index 4ab6c3a0f9..fcafac2df6 100644
--- a/nix/libstore/globals.cc
+++ b/nix/libstore/globals.cc
@@ -78,39 +78,6 @@ void Settings::processEnvironment()
}
-void Settings::loadConfFile()
-{
- Path settingsFile = (format("%1%/%2%") % nixConfDir % "nix.conf").str();
- if (!pathExists(settingsFile)) return;
- string contents = readFile(settingsFile);
-
- unsigned int pos = 0;
-
- while (pos < contents.size()) {
- string line;
- while (pos < contents.size() && contents[pos] != '\n')
- line += contents[pos++];
- pos++;
-
- string::size_type hash = line.find('#');
- if (hash != string::npos)
- line = string(line, 0, hash);
-
- vector<string> tokens = tokenizeString<vector<string> >(line);
- if (tokens.empty()) continue;
-
- if (tokens.size() < 2 || tokens[1] != "=")
- throw Error(format("illegal configuration line `%1%' in `%2%'") % line % settingsFile);
-
- string name = tokens[0];
-
- vector<string>::iterator i = tokens.begin();
- advance(i, 2);
- settings[name] = concatStringsSep(" ", Strings(i, tokens.end())); // FIXME: slow
- };
-}
-
-
void Settings::set(const string & name, const string & value)
{
settings[name] = value;
@@ -256,17 +223,6 @@ string Settings::pack()
}
-void Settings::unpack(const string & pack) {
- Strings lines = tokenizeString<Strings>(pack, "\n");
- foreach (Strings::iterator, i, lines) {
- string::size_type eq = i->find('=');
- if (eq == string::npos)
- throw Error("illegal option name/value");
- set(i->substr(0, eq), i->substr(eq + 1));
- }
-}
-
-
Settings::SettingsMap Settings::getOverrides()
{
return overrides;
diff --git a/nix/libstore/globals.hh b/nix/libstore/globals.hh
index 2439936959..1293625e1f 100644
--- a/nix/libstore/globals.hh
+++ b/nix/libstore/globals.hh
@@ -26,8 +26,6 @@ struct Settings {
void processEnvironment();
- void loadConfFile();
-
void set(const string & name, const string & value);
string get(const string & name, const string & def);
@@ -42,8 +40,6 @@ struct Settings {
string pack();
- void unpack(const string & pack);
-
SettingsMap getOverrides();
/* The directory where we store sources and derived files. */
diff --git a/nix/libstore/local-store.cc b/nix/libstore/local-store.cc
index 882bce1f40..4c55c6ea0d 100644
--- a/nix/libstore/local-store.cc
+++ b/nix/libstore/local-store.cc
@@ -171,27 +171,10 @@ LocalStore::LocalStore(bool reserveSpace)
}
else if (curSchema < nixSchemaVersion) {
- if (curSchema < 5)
- throw Error(
- "Your Nix store has a database in Berkeley DB format,\n"
- "which is no longer supported. To convert to the new format,\n"
- "please upgrade Nix to version 0.12 first.");
-
- if (!lockFile(globalLock, ltWrite, false)) {
- printMsg(lvlError, "waiting for exclusive access to the Nix store...");
- lockFile(globalLock, ltWrite, true);
- }
-
- /* Get the schema version again, because another process may
- have performed the upgrade already. */
- curSchema = getSchema();
-
- if (curSchema < 6) upgradeStore6();
- else if (curSchema < 7) { upgradeStore7(); openDB(true); }
-
- writeFile(schemaPath, (format("%1%") % nixSchemaVersion).str());
-
- lockFile(globalLock, ltRead, true);
+ /* Guix always used version 7 of the schema. */
+ throw Error(
+ format("Your store database uses an implausibly old schema, version %1%.")
+ % curSchema);
}
else openDB(false);
@@ -1633,140 +1616,6 @@ void LocalStore::markContentsGood(const Path & path)
}
-/* Functions for upgrading from the pre-SQLite database. */
-
-PathSet LocalStore::queryValidPathsOld()
-{
- PathSet paths;
- for (auto & i : readDirectory(settings.nixDBPath + "/info"))
- if (i.name.at(0) != '.') paths.insert(settings.nixStore + "/" + i.name);
- return paths;
-}
-
-
-ValidPathInfo LocalStore::queryPathInfoOld(const Path & path)
-{
- ValidPathInfo res;
- res.path = path;
-
- /* Read the info file. */
- string baseName = baseNameOf(path);
- Path infoFile = (format("%1%/info/%2%") % settings.nixDBPath % baseName).str();
- if (!pathExists(infoFile))
- throw Error(format("path `%1%' is not valid") % path);
- string info = readFile(infoFile);
-
- /* Parse it. */
- Strings lines = tokenizeString<Strings>(info, "\n");
-
- foreach (Strings::iterator, i, lines) {
- string::size_type p = i->find(':');
- if (p == string::npos)
- throw Error(format("corrupt line in `%1%': %2%") % infoFile % *i);
- string name(*i, 0, p);
- string value(*i, p + 2);
- if (name == "References") {
- Strings refs = tokenizeString<Strings>(value, " ");
- res.references = PathSet(refs.begin(), refs.end());
- } else if (name == "Deriver") {
- res.deriver = value;
- } else if (name == "Hash") {
- res.hash = parseHashField(path, value);
- } else if (name == "Registered-At") {
- int n = 0;
- string2Int(value, n);
- res.registrationTime = n;
- }
- }
-
- return res;
-}
-
-
-/* Upgrade from schema 5 (Nix 0.12) to schema 6 (Nix >= 0.15). */
-void LocalStore::upgradeStore6()
-{
- printMsg(lvlError, "upgrading Nix store to new schema (this may take a while)...");
-
- openDB(true);
-
- PathSet validPaths = queryValidPathsOld();
-
- SQLiteTxn txn(db);
-
- foreach (PathSet::iterator, i, validPaths) {
- addValidPath(queryPathInfoOld(*i), false);
- std::cerr << ".";
- }
-
- std::cerr << "|";
-
- foreach (PathSet::iterator, i, validPaths) {
- ValidPathInfo info = queryPathInfoOld(*i);
- unsigned long long referrer = queryValidPathId(*i);
- foreach (PathSet::iterator, j, info.references)
- addReference(referrer, queryValidPathId(*j));
- std::cerr << ".";
- }
-
- std::cerr << "\n";
-
- txn.commit();
-}
-
-
-#if defined(FS_IOC_SETFLAGS) && defined(FS_IOC_GETFLAGS) && defined(FS_IMMUTABLE_FL)
-
-static void makeMutable(const Path & path)
-{
- checkInterrupt();
-
- struct stat st = lstat(path);
-
- if (!S_ISDIR(st.st_mode) && !S_ISREG(st.st_mode)) return;
-
- if (S_ISDIR(st.st_mode)) {
- for (auto & i : readDirectory(path))
- makeMutable(path + "/" + i.name);
- }
-
- /* The O_NOFOLLOW is important to prevent us from changing the
- mutable bit on the target of a symlink (which would be a
- security hole). */
- AutoCloseFD fd = open(path.c_str(), O_RDONLY | O_NOFOLLOW);
- if (fd == -1) {
- if (errno == ELOOP) return; // it's a symlink
- throw SysError(format("opening file `%1%'") % path);
- }
-
- unsigned int flags = 0, old;
-
- /* Silently ignore errors getting/setting the immutable flag so
- that we work correctly on filesystems that don't support it. */
- if (ioctl(fd, FS_IOC_GETFLAGS, &flags)) return;
- old = flags;
- flags &= ~FS_IMMUTABLE_FL;
- if (old == flags) return;
- if (ioctl(fd, FS_IOC_SETFLAGS, &flags)) return;
-}
-
-/* Upgrade from schema 6 (Nix 0.15) to schema 7 (Nix >= 1.3). */
-void LocalStore::upgradeStore7()
-{
- if (getuid() != 0) return;
- printMsg(lvlError, "removing immutable bits from the Nix store (this may take a while)...");
- makeMutable(settings.nixStore);
-}
-
-#else
-
-void LocalStore::upgradeStore7()
-{
-}
-
-#endif
-
-
void LocalStore::vacuumDB()
{
if (sqlite3_exec(db, "vacuum;", 0, 0, 0) != SQLITE_OK)
diff --git a/nix/libstore/local-store.hh b/nix/libstore/local-store.hh
index 6110468498..4e6b4cfc1d 100644
--- a/nix/libstore/local-store.hh
+++ b/nix/libstore/local-store.hh
@@ -15,7 +15,7 @@ namespace nix {
/* Nix store and database schema version. Version 1 (or 0) was Nix <=
0.7. Version 2 was Nix 0.8 and 0.9. Version 3 is Nix 0.10.
Version 4 is Nix 0.11. Version 5 is Nix 0.12-0.16. Version 6 is
- Nix 1.0. Version 7 is Nix 1.3. */
+ Nix 1.0. Version 7 is Nix 1.3. Guix has always used version 7. */
const int nixSchemaVersion = 7;
@@ -244,11 +244,6 @@ private:
void updatePathInfo(const ValidPathInfo & info);
- void upgradeStore6();
- void upgradeStore7();
- PathSet queryValidPathsOld();
- ValidPathInfo queryPathInfoOld(const Path & path);
-
struct GCState;
void deleteGarbage(GCState & state, const Path & path);
diff --git a/nix/libstore/misc.cc b/nix/libstore/misc.cc
index 22363af126..97618089bd 100644
--- a/nix/libstore/misc.cc
+++ b/nix/libstore/misc.cc
@@ -67,120 +67,6 @@ Path findOutput(const Derivation & drv, string id)
}
-void queryMissing(StoreAPI & store, const PathSet & targets,
- PathSet & willBuild, PathSet & willSubstitute, PathSet & unknown,
- unsigned long long & downloadSize, unsigned long long & narSize)
-{
- downloadSize = narSize = 0;
-
- PathSet todo(targets.begin(), targets.end()), done;
-
- /* Getting substitute info has high latency when using the binary
- cache substituter. Thus it's essential to do substitute
- queries in parallel as much as possible. To accomplish this
- we do the following:
-
- - For all paths still to be processed (‘todo’), we add all
- paths for which we need info to the set ‘query’. For an
- unbuilt derivation this is the output paths; otherwise, it's
- the path itself.
-
- - We get info about all paths in ‘query’ in parallel.
-
- - We process the results and add new items to ‘todo’ if
- necessary. E.g. if a path is substitutable, then we need to
- get info on its references.
-
- - Repeat until ‘todo’ is empty.
- */
-
- while (!todo.empty()) {
-
- PathSet query, todoDrv, todoNonDrv;
-
- foreach (PathSet::iterator, i, todo) {
- if (done.find(*i) != done.end()) continue;
- done.insert(*i);
-
- DrvPathWithOutputs i2 = parseDrvPathWithOutputs(*i);
-
- if (isDerivation(i2.first)) {
- if (!store.isValidPath(i2.first)) {
- // FIXME: we could try to substitute p.
- unknown.insert(*i);
- continue;
- }
- Derivation drv = derivationFromPath(store, i2.first);
-
- PathSet invalid;
- foreach (DerivationOutputs::iterator, j, drv.outputs)
- if (wantOutput(j->first, i2.second)
- && !store.isValidPath(j->second.path))
- invalid.insert(j->second.path);
- if (invalid.empty()) continue;
-
- todoDrv.insert(*i);
- if (settings.useSubstitutes && substitutesAllowed(drv))
- query.insert(invalid.begin(), invalid.end());
- }
-
- else {
- if (store.isValidPath(*i)) continue;
- query.insert(*i);
- todoNonDrv.insert(*i);
- }
- }
-
- todo.clear();
-
- SubstitutablePathInfos infos;
- store.querySubstitutablePathInfos(query, infos);
-
- foreach (PathSet::iterator, i, todoDrv) {
- DrvPathWithOutputs i2 = parseDrvPathWithOutputs(*i);
-
- // FIXME: cache this
- Derivation drv = derivationFromPath(store, i2.first);
-
- PathSet outputs;
- bool mustBuild = false;
- if (settings.useSubstitutes && substitutesAllowed(drv)) {
- foreach (DerivationOutputs::iterator, j, drv.outputs) {
- if (!wantOutput(j->first, i2.second)) continue;
- if (!store.isValidPath(j->second.path)) {
- if (infos.find(j->second.path) == infos.end())
- mustBuild = true;
- else
- outputs.insert(j->second.path);
- }
- }
- } else
- mustBuild = true;
-
- if (mustBuild) {
- willBuild.insert(i2.first);
- todo.insert(drv.inputSrcs.begin(), drv.inputSrcs.end());
- foreach (DerivationInputs::iterator, j, drv.inputDrvs)
- todo.insert(makeDrvPathWithOutputs(j->first, j->second));
- } else
- todoNonDrv.insert(outputs.begin(), outputs.end());
- }
-
- foreach (PathSet::iterator, i, todoNonDrv) {
- done.insert(*i);
- SubstitutablePathInfos::iterator info = infos.find(*i);
- if (info != infos.end()) {
- willSubstitute.insert(*i);
- downloadSize += info->second.downloadSize;
- narSize += info->second.narSize;
- todo.insert(info->second.references.begin(), info->second.references.end());
- } else
- unknown.insert(*i);
- }
- }
-}
-
-
static void dfsVisit(StoreAPI & store, const PathSet & paths,
const Path & path, PathSet & visited, Paths & sorted,
PathSet & parents)
diff --git a/nix/libstore/misc.hh b/nix/libstore/misc.hh
index d3e31d51f7..edbf24047e 100644
--- a/nix/libstore/misc.hh
+++ b/nix/libstore/misc.hh
@@ -25,13 +25,6 @@ void computeFSClosure(StoreAPI & store, const Path & path,
given derivation. */
Path findOutput(const Derivation & drv, string id);
-/* Given a set of paths that are to be built, return the set of
- derivations that will be built, and the set of output paths that
- will be substituted. */
-void queryMissing(StoreAPI & store, const PathSet & targets,
- PathSet & willBuild, PathSet & willSubstitute, PathSet & unknown,
- unsigned long long & downloadSize, unsigned long long & narSize);
-
bool willBuildLocally(const Derivation & drv);
bool substitutesAllowed(const Derivation & drv);
diff --git a/nix/libstore/store-api.cc b/nix/libstore/store-api.cc
index 30af5f5fed..6742d2ed49 100644
--- a/nix/libstore/store-api.cc
+++ b/nix/libstore/store-api.cc
@@ -48,26 +48,6 @@ Path toStorePath(const Path & path)
}
-Path followLinksToStore(const Path & _path)
-{
- Path path = absPath(_path);
- while (!isInStore(path)) {
- if (!isLink(path)) break;
- string target = readLink(path);
- path = absPath(target, dirOf(path));
- }
- if (!isInStore(path))
- throw Error(format("path `%1%' is not in the Nix store") % path);
- return path;
-}
-
-
-Path followLinksToStorePath(const Path & path)
-{
- return toStorePath(followLinksToStore(path));
-}
-
-
string storePathToName(const Path & path)
{
assertStorePath(path);
@@ -200,17 +180,6 @@ Path makeFixedOutputPath(bool recursive,
}
-std::pair<Path, Hash> computeStorePathForPath(const Path & srcPath,
- bool recursive, HashType hashAlgo, PathFilter & filter)
-{
- HashType ht(hashAlgo);
- Hash h = recursive ? hashPath(ht, srcPath, filter).first : hashFile(ht, srcPath);
- string name = baseNameOf(srcPath);
- Path dstPath = makeFixedOutputPath(recursive, hashAlgo, h, name);
- return std::pair<Path, Hash>(dstPath, h);
-}
-
-
Path computeStorePathForText(const string & name, const string & s,
const PathSet & references)
{
diff --git a/nix/libstore/store-api.hh b/nix/libstore/store-api.hh
index fa78d595f2..e957cedebc 100644
--- a/nix/libstore/store-api.hh
+++ b/nix/libstore/store-api.hh
@@ -311,15 +311,6 @@ void checkStoreName(const string & name);
Path toStorePath(const Path & path);
-/* Follow symlinks until we end up with a path in the Nix store. */
-Path followLinksToStore(const Path & path);
-
-
-/* Same as followLinksToStore(), but apply toStorePath() to the
- result. */
-Path followLinksToStorePath(const Path & path);
-
-
/* Constructs a unique store path name. */
Path makeStorePath(const string & type,
const Hash & hash, const string & name);
@@ -331,14 +322,6 @@ Path makeFixedOutputPath(bool recursive,
HashType hashAlgo, Hash hash, string name);
-/* This is the preparatory part of addToStore() and addToStoreFixed();
- it computes the store path to which srcPath is to be copied.
- Returns the store path and the cryptographic hash of the
- contents of srcPath. */
-std::pair<Path, Hash> computeStorePathForPath(const Path & srcPath,
- bool recursive = true, HashType hashAlgo = htSHA256,
- PathFilter & filter = defaultPathFilter);
-
/* Preparatory part of addTextToStore().
!!! Computation of the path should take the references given to
diff --git a/po/guix/LINGUAS b/po/guix/LINGUAS
index 5158332739..d26dd60980 100644
--- a/po/guix/LINGUAS
+++ b/po/guix/LINGUAS
@@ -6,6 +6,7 @@ de
en@boldquot
en@quot
eo
+es
fr
hu
pl
diff --git a/po/guix/es.po b/po/guix/es.po
new file mode 100644
index 0000000000..e3362c0545
--- /dev/null
+++ b/po/guix/es.po
@@ -0,0 +1,2994 @@
+# Spanish messages for GNU Guix.
+# Copyright (C) 2017 the authors of Guix (msgids)
+# This file is distributed under the same license as the guix package.
+# Jorge Maldonado Ventura <jorgesumle@freakspot.net>, 2018.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: guix 0.14.0\n"
+"Report-Msgid-Bugs-To: ludo@gnu.org\n"
+"POT-Creation-Date: 2017-11-28 08:56+0100\n"
+"PO-Revision-Date: 2018-03-30 02:16+0200\n"
+"Last-Translator: Jorge Maldonado Ventura <jorgesumle@freakspot.net>\n"
+"Language-Team: Spanish <es@tp.org.es>\n"
+"Language: es\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Bugs: Report translation errors to the Language-Team address.\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+"X-Generator: Poedit 2.0.4\n"
+
+#: gnu.scm:82
+#, scheme-format
+msgid "module ~a not found"
+msgstr "módulo ~a no encontrado"
+
+#: gnu.scm:100
+msgid ""
+"You may use @command{guix package --show=foo | grep location} to search\n"
+"for the location of package @code{foo}.\n"
+"If you get the line @code{location: gnu/packages/bar.scm:174:2},\n"
+"add @code{bar} to the @code{use-package-modules} form."
+msgstr ""
+"Puede usar @command{guix package --show=foo | grep location} para buscar\n"
+"la ubicación del paquete @code{foo}.\n"
+"Si obtiene la línea @code{location: gnu/packages/bar.scm:174:2},\n"
+"añada @code{bar} a la forma @code{use-package-modules}."
+
+#: gnu.scm:108
+#, scheme-format
+msgid "Try adding @code{(use-package-modules ~a)}."
+msgstr "Pruebe añadiendo @code{(use-package-modules ~a)}"
+
+#: gnu.scm:123
+#, scheme-format
+msgid ""
+"You may use @command{guix system search ~a} to search for a service\n"
+"matching @code{~a}.\n"
+"If you get the line @code{location: gnu/services/foo.scm:188:2},\n"
+"add @code{foo} to the @code{use-service-modules} form."
+msgstr ""
+
+#: gnu.scm:132
+#, scheme-format
+msgid "Try adding @code{(use-service-modules ~a)}."
+msgstr ""
+
+#: gnu/packages.scm:92
+#, scheme-format
+msgid "~a: patch not found"
+msgstr "~a: parche no encontrado"
+
+#: gnu/packages.scm:108
+#, scheme-format
+msgid "could not find bootstrap binary '~a' for system '~a'"
+msgstr ""
+
+#: gnu/packages.scm:240
+#, scheme-format
+msgid "ambiguous package specification `~a'~%"
+msgstr "especificación de paquete ambigua `~a'~%"
+
+#: gnu/packages.scm:241
+#, scheme-format
+msgid "choosing ~a@~a from ~a~%"
+msgstr ""
+
+#: gnu/packages.scm:246 guix/scripts/package.scm:271
+#, scheme-format
+msgid "package '~a' has been superseded by '~a'~%"
+msgstr ""
+
+#: gnu/packages.scm:253
+#, scheme-format
+msgid "~A: package not found for version ~a~%"
+msgstr "~A: paquete no encontrado para versión ~a~%"
+
+#: gnu/packages.scm:254
+#, scheme-format
+msgid "~A: unknown package~%"
+msgstr "~A: paquete desconocido~%"
+
+#: gnu/packages.scm:282
+#, scheme-format
+msgid "package `~a' lacks output `~a'~%"
+msgstr ""
+
+#: gnu/services.scm:235
+#, scheme-format
+msgid "~a: no value specified for service of type '~a'"
+msgstr ""
+
+#: gnu/services.scm:650
+#, scheme-format
+msgid "no target of type '~a' for service '~a'"
+msgstr ""
+
+#: gnu/services.scm:662 gnu/services.scm:723
+#, scheme-format
+msgid "more than one target service of type '~a'"
+msgstr ""
+
+#: gnu/services.scm:713
+#, scheme-format
+msgid "service of type '~a' not found"
+msgstr ""
+
+#: gnu/system.scm:305
+#, scheme-format
+msgid "unrecognized boot parameters for '~a'~%"
+msgstr ""
+
+#: gnu/system.scm:695
+#, scheme-format
+msgid "using a string for file '~a' is deprecated; use 'plain-file' instead~%"
+msgstr ""
+
+#: gnu/system.scm:711
+#, scheme-format
+msgid "using a monadic value for '~a' is deprecated; use 'plain-file' instead~%"
+msgstr ""
+
+#: gnu/system.scm:856
+#, scheme-format
+msgid "~a: invalid locale name"
+msgstr "~a: nombre de configuración regional inválido"
+
+#: gnu/services/shepherd.scm:166
+#, scheme-format
+msgid "service '~a' provided more than once"
+msgstr ""
+
+#: gnu/services/shepherd.scm:181
+#, scheme-format
+msgid "service '~a' requires '~a', which is not provided by any service"
+msgstr ""
+
+#: gnu/system/shadow.scm:231
+#, scheme-format
+msgid "supplementary group '~a' of user '~a' is undeclared"
+msgstr ""
+
+#: gnu/system/shadow.scm:241
+#, scheme-format
+msgid "primary group '~a' of user '~a' is undeclared"
+msgstr ""
+
+#: guix/scripts.scm:56
+#, scheme-format
+msgid "invalid argument: ~a~%"
+msgstr ""
+
+#: guix/scripts.scm:84 guix/scripts/download.scm:135
+#: guix/scripts/import/cran.scm:82 guix/scripts/import/elpa.scm:77
+#: guix/scripts/publish.scm:844 guix/scripts/edit.scm:81
+#, scheme-format
+msgid "~A: unrecognized option~%"
+msgstr ""
+
+#: guix/scripts.scm:179
+#, scheme-format
+msgid "Your Guix installation is ~a day old.\n"
+msgid_plural "Your Guix installation is ~a days old.\n"
+msgstr[0] ""
+msgstr[1] ""
+
+#: guix/scripts.scm:184
+#, scheme-format
+msgid ""
+"Consider running 'guix pull' followed by\n"
+"'~a' to get up-to-date packages and security updates.\n"
+msgstr ""
+"Considere ejecutar 'guix pull' seguido de\n"
+"'~a' para obtener paquetes actualizados y actualizaciones de seguridad.\n"
+
+#: guix/scripts/build.scm:124
+#, scheme-format
+msgid "failed to create GC root `~a': ~a~%"
+msgstr ""
+
+#: guix/scripts/build.scm:206
+#, scheme-format
+msgid "invalid replacement specification: ~s~%"
+msgstr ""
+
+#: guix/scripts/build.scm:263
+msgid ""
+"\n"
+" --with-source=SOURCE\n"
+" use SOURCE when building the corresponding package"
+msgstr ""
+
+#: guix/scripts/build.scm:266
+msgid ""
+"\n"
+" --with-input=PACKAGE=REPLACEMENT\n"
+" replace dependency PACKAGE by REPLACEMENT"
+msgstr ""
+
+#: guix/scripts/build.scm:269
+msgid ""
+"\n"
+" --with-graft=PACKAGE=REPLACEMENT\n"
+" graft REPLACEMENT on packages that refer to PACKAGE"
+msgstr ""
+
+#: guix/scripts/build.scm:294
+#, scheme-format
+msgid "transformation '~a' had no effect on ~a~%"
+msgstr ""
+
+#: guix/scripts/build.scm:312
+msgid ""
+"\n"
+" -L, --load-path=DIR prepend DIR to the package module search path"
+msgstr ""
+
+#: guix/scripts/build.scm:314
+msgid ""
+"\n"
+" -K, --keep-failed keep build tree of failed builds"
+msgstr ""
+
+#: guix/scripts/build.scm:316
+msgid ""
+"\n"
+" -k, --keep-going keep going when some of the derivations fail"
+msgstr ""
+
+#: guix/scripts/build.scm:318
+msgid ""
+"\n"
+" -n, --dry-run do not build the derivations"
+msgstr ""
+
+#: guix/scripts/build.scm:320
+msgid ""
+"\n"
+" --fallback fall back to building when the substituter fails"
+msgstr ""
+
+#: guix/scripts/build.scm:322
+msgid ""
+"\n"
+" --no-substitutes build instead of resorting to pre-built substitutes"
+msgstr ""
+
+#: guix/scripts/build.scm:324 guix/scripts/size.scm:232
+msgid ""
+"\n"
+" --substitute-urls=URLS\n"
+" fetch substitute from URLS if they are authorized"
+msgstr ""
+
+#: guix/scripts/build.scm:327
+msgid ""
+"\n"
+" --no-grafts do not graft packages"
+msgstr ""
+
+#: guix/scripts/build.scm:329
+msgid ""
+"\n"
+" --no-build-hook do not attempt to offload builds via the build hook"
+msgstr ""
+
+#: guix/scripts/build.scm:331
+msgid ""
+"\n"
+" --max-silent-time=SECONDS\n"
+" mark the build as failed after SECONDS of silence"
+msgstr ""
+
+#: guix/scripts/build.scm:334
+msgid ""
+"\n"
+" --timeout=SECONDS mark the build as failed after SECONDS of activity"
+msgstr ""
+
+#: guix/scripts/build.scm:336
+msgid ""
+"\n"
+" --verbosity=LEVEL use the given verbosity LEVEL"
+msgstr ""
+
+#: guix/scripts/build.scm:338
+msgid ""
+"\n"
+" --rounds=N build N times in a row to detect non-determinism"
+msgstr ""
+
+#: guix/scripts/build.scm:340
+msgid ""
+"\n"
+" -c, --cores=N allow the use of up to N CPU cores for the build"
+msgstr ""
+
+#: guix/scripts/build.scm:342
+msgid ""
+"\n"
+" -M, --max-jobs=N allow at most N build jobs"
+msgstr ""
+
+#: guix/scripts/build.scm:448 guix/scripts/build.scm:455
+#, scheme-format
+msgid "not a number: '~a' option argument: ~a~%"
+msgstr ""
+
+#: guix/scripts/build.scm:474
+msgid ""
+"Usage: guix build [OPTION]... PACKAGE-OR-DERIVATION...\n"
+"Build the given PACKAGE-OR-DERIVATION and return their output paths.\n"
+msgstr ""
+
+#: guix/scripts/build.scm:476
+msgid ""
+"\n"
+" -e, --expression=EXPR build the package or derivation EXPR evaluates to"
+msgstr ""
+
+#: guix/scripts/build.scm:478
+msgid ""
+"\n"
+" -f, --file=FILE build the package or derivation that the code within\n"
+" FILE evaluates to"
+msgstr ""
+
+#: guix/scripts/build.scm:481
+msgid ""
+"\n"
+" -S, --source build the packages' source derivations"
+msgstr ""
+
+#: guix/scripts/build.scm:483
+msgid ""
+"\n"
+" --sources[=TYPE] build source derivations; TYPE may optionally be one\n"
+" of \"package\", \"all\" (default), or \"transitive\""
+msgstr ""
+
+#: guix/scripts/build.scm:486 guix/scripts/pack.scm:338
+msgid ""
+"\n"
+" -s, --system=SYSTEM attempt to build for SYSTEM--e.g., \"i686-linux\""
+msgstr ""
+
+#: guix/scripts/build.scm:488 guix/scripts/pack.scm:340
+msgid ""
+"\n"
+" --target=TRIPLET cross-build for TRIPLET--e.g., \"armel-linux-gnu\""
+msgstr ""
+
+#: guix/scripts/build.scm:490
+msgid ""
+"\n"
+" -d, --derivations return the derivation paths of the given packages"
+msgstr ""
+
+#: guix/scripts/build.scm:492
+msgid ""
+"\n"
+" --check rebuild items to check for non-determinism issues"
+msgstr ""
+
+#: guix/scripts/build.scm:494
+msgid ""
+"\n"
+" --repair repair the specified items"
+msgstr ""
+
+#: guix/scripts/build.scm:496
+msgid ""
+"\n"
+" -r, --root=FILE make FILE a symlink to the result, and register it\n"
+" as a garbage collector root"
+msgstr ""
+
+#: guix/scripts/build.scm:499
+msgid ""
+"\n"
+" -q, --quiet do not show the build log"
+msgstr ""
+
+#: guix/scripts/build.scm:501
+msgid ""
+"\n"
+" --log-file return the log file names for the given derivations"
+msgstr ""
+
+#: guix/scripts/build.scm:508 guix/scripts/download.scm:83
+#: guix/scripts/package.scm:425 guix/scripts/gc.scm:74
+#: guix/scripts/hash.scm:59 guix/scripts/import.scm:92
+#: guix/scripts/import/cran.scm:47 guix/scripts/pull.scm:110
+#: guix/scripts/substitute.scm:889 guix/scripts/system.scm:870
+#: guix/scripts/lint.scm:1090 guix/scripts/publish.scm:94
+#: guix/scripts/edit.scm:44 guix/scripts/size.scm:243
+#: guix/scripts/graph.scm:432 guix/scripts/challenge.scm:241
+#: guix/scripts/copy.scm:122 guix/scripts/pack.scm:349
+#: guix/scripts/weather.scm:156 guix/scripts/container.scm:33
+#: guix/scripts/container/exec.scm:43
+msgid ""
+"\n"
+" -h, --help display this help and exit"
+msgstr ""
+
+#: guix/scripts/build.scm:510 guix/scripts/download.scm:85
+#: guix/scripts/package.scm:427 guix/scripts/gc.scm:76
+#: guix/scripts/hash.scm:61 guix/scripts/import.scm:94
+#: guix/scripts/import/cran.scm:49 guix/scripts/pull.scm:112
+#: guix/scripts/substitute.scm:891 guix/scripts/system.scm:872
+#: guix/scripts/lint.scm:1094 guix/scripts/publish.scm:96
+#: guix/scripts/edit.scm:46 guix/scripts/size.scm:245
+#: guix/scripts/graph.scm:434 guix/scripts/challenge.scm:243
+#: guix/scripts/copy.scm:124 guix/scripts/pack.scm:351
+#: guix/scripts/weather.scm:158 guix/scripts/container.scm:35
+#: guix/scripts/container/exec.scm:45
+msgid ""
+"\n"
+" -V, --version display version information and exit"
+msgstr ""
+
+#: guix/scripts/build.scm:537
+#, scheme-format
+msgid ""
+"invalid argument: '~a' option argument: ~a, ~\n"
+"must be one of 'package', 'all', or 'transitive'~%"
+msgstr ""
+
+#: guix/scripts/build.scm:590
+#, scheme-format
+msgid "~s: not something we can build~%"
+msgstr ""
+
+#: guix/scripts/build.scm:644
+#, scheme-format
+msgid "~a: warning: package '~a' has no source~%"
+msgstr ""
+
+#: guix/scripts/build.scm:678
+#, scheme-format
+msgid "no build log for '~a'~%"
+msgstr ""
+
+#: guix/discovery.scm:88
+#, scheme-format
+msgid "cannot access `~a': ~a~%"
+msgstr ""
+
+#: guix/scripts/download.scm:69
+msgid ""
+"Usage: guix download [OPTION] URL\n"
+"Download the file at URL to the store or to the given file, and print its\n"
+"file name and the hash of its contents.\n"
+"\n"
+"Supported formats: 'nix-base32' (default), 'base32', and 'base16'\n"
+"('hex' and 'hexadecimal' can be used as well).\n"
+msgstr ""
+
+#: guix/scripts/download.scm:75 guix/scripts/hash.scm:54
+msgid ""
+"\n"
+" -f, --format=FMT write the hash in the given format"
+msgstr ""
+
+#: guix/scripts/download.scm:77
+msgid ""
+"\n"
+" --no-check-certificate\n"
+" do not validate the certificate of HTTPS servers "
+msgstr ""
+
+#: guix/scripts/download.scm:80
+msgid ""
+"\n"
+" -o, --output=FILE download to FILE"
+msgstr ""
+
+#: guix/scripts/download.scm:103 guix/scripts/hash.scm:82
+#, scheme-format
+msgid "unsupported hash format: ~a~%"
+msgstr ""
+
+#: guix/scripts/download.scm:138 guix/scripts/package.scm:906
+#: guix/scripts/publish.scm:846
+#, scheme-format
+msgid "~A: extraneous argument~%"
+msgstr ""
+
+#: guix/scripts/download.scm:146
+#, scheme-format
+msgid "no download URI was specified~%"
+msgstr ""
+
+#: guix/scripts/download.scm:151
+#, scheme-format
+msgid "~a: failed to parse URI~%"
+msgstr ""
+
+#: guix/scripts/download.scm:161
+#, scheme-format
+msgid "~a: download failed~%"
+msgstr ""
+
+#: guix/scripts/package.scm:112
+#, scheme-format
+msgid "Try \"info '(guix) Invoking guix package'\" for more information.~%"
+msgstr ""
+
+#: guix/scripts/package.scm:134
+#, scheme-format
+msgid "error: while creating directory `~a': ~a~%"
+msgstr ""
+
+#: guix/scripts/package.scm:138
+#, scheme-format
+msgid "Please create the `~a' directory, with you as the owner.~%"
+msgstr ""
+
+#: guix/scripts/package.scm:145
+#, scheme-format
+msgid "error: directory `~a' is not owned by you~%"
+msgstr ""
+
+#: guix/scripts/package.scm:148
+#, scheme-format
+msgid "Please change the owner of `~a' to user ~s.~%"
+msgstr ""
+
+#: guix/scripts/package.scm:183
+#, scheme-format
+msgid "not removing generation ~a, which is current~%"
+msgstr ""
+
+#: guix/scripts/package.scm:190
+#, scheme-format
+msgid "no matching generation~%"
+msgstr ""
+
+#: guix/scripts/package.scm:193 guix/scripts/package.scm:716
+#: guix/scripts/system.scm:558
+#, scheme-format
+msgid "invalid syntax: ~a~%"
+msgstr ""
+
+#: guix/scripts/package.scm:219
+#, scheme-format
+msgid "nothing to be done~%"
+msgstr ""
+
+#: guix/scripts/package.scm:233
+#, scheme-format
+msgid "~a package in profile~%"
+msgid_plural "~a packages in profile~%"
+msgstr[0] ""
+msgstr[1] ""
+
+#: guix/scripts/package.scm:313
+#, scheme-format
+msgid "package '~a' no longer exists~%"
+msgstr "paquete '~a' ya no existe~%"
+
+#: guix/scripts/package.scm:351
+#, scheme-format
+msgid "The following environment variable definitions may be needed:~%"
+msgstr "Puede que se necesiten las siguientes definiciones de variables de entorno:~%"
+
+#: guix/scripts/package.scm:366
+msgid ""
+"Usage: guix package [OPTION]...\n"
+"Install, remove, or upgrade packages in a single transaction.\n"
+msgstr ""
+"Uso: guix package [OPCIÓN]...\n"
+"Instala, elimina o actualiza paquetes en una única transacción.\n"
+
+#: guix/scripts/package.scm:368
+msgid ""
+"\n"
+" -i, --install PACKAGE ...\n"
+" install PACKAGEs"
+msgstr ""
+"\n"
+" -i, --install PAQUETE ...\n"
+" install PAQUETEs"
+
+#: guix/scripts/package.scm:371
+msgid ""
+"\n"
+" -e, --install-from-expression=EXP\n"
+" install the package EXP evaluates to"
+msgstr ""
+
+#: guix/scripts/package.scm:374
+msgid ""
+"\n"
+" -f, --install-from-file=FILE\n"
+" install the package that the code within FILE\n"
+" evaluates to"
+msgstr ""
+
+#: guix/scripts/package.scm:378
+msgid ""
+"\n"
+" -r, --remove PACKAGE ...\n"
+" remove PACKAGEs"
+msgstr ""
+"\n"
+" -r, --remove PAQUETES ...\n"
+" elimina PAQUETESs"
+
+#: guix/scripts/package.scm:381
+msgid ""
+"\n"
+" -u, --upgrade[=REGEXP] upgrade all the installed packages matching REGEXP"
+msgstr ""
+
+#: guix/scripts/package.scm:383
+msgid ""
+"\n"
+" -m, --manifest=FILE create a new profile generation with the manifest\n"
+" from FILE"
+msgstr ""
+
+#: guix/scripts/package.scm:386
+msgid ""
+"\n"
+" --do-not-upgrade[=REGEXP] do not upgrade any packages matching REGEXP"
+msgstr ""
+
+#: guix/scripts/package.scm:388
+msgid ""
+"\n"
+" --roll-back roll back to the previous generation"
+msgstr ""
+
+#: guix/scripts/package.scm:390
+msgid ""
+"\n"
+" --search-paths[=KIND]\n"
+" display needed environment variable definitions"
+msgstr ""
+
+#: guix/scripts/package.scm:393
+msgid ""
+"\n"
+" -l, --list-generations[=PATTERN]\n"
+" list generations matching PATTERN"
+msgstr ""
+
+#: guix/scripts/package.scm:396
+msgid ""
+"\n"
+" -d, --delete-generations[=PATTERN]\n"
+" delete generations matching PATTERN"
+msgstr ""
+
+#: guix/scripts/package.scm:399
+msgid ""
+"\n"
+" -S, --switch-generation=PATTERN\n"
+" switch to a generation matching PATTERN"
+msgstr ""
+
+#: guix/scripts/package.scm:402
+msgid ""
+"\n"
+" -p, --profile=PROFILE use PROFILE instead of the user's default profile"
+msgstr ""
+
+#: guix/scripts/package.scm:405
+msgid ""
+"\n"
+" --bootstrap use the bootstrap Guile to build the profile"
+msgstr ""
+
+#: guix/scripts/package.scm:407 guix/scripts/pull.scm:98
+msgid ""
+"\n"
+" --verbose produce verbose output"
+msgstr ""
+
+#: guix/scripts/package.scm:410
+msgid ""
+"\n"
+" -s, --search=REGEXP search in synopsis and description using REGEXP"
+msgstr ""
+
+#: guix/scripts/package.scm:412
+msgid ""
+"\n"
+" -I, --list-installed[=REGEXP]\n"
+" list installed packages matching REGEXP"
+msgstr ""
+
+#: guix/scripts/package.scm:415
+msgid ""
+"\n"
+" -A, --list-available[=REGEXP]\n"
+" list available packages matching REGEXP"
+msgstr ""
+
+#: guix/scripts/package.scm:418
+msgid ""
+"\n"
+" --show=PACKAGE show details about PACKAGE"
+msgstr ""
+
+#: guix/scripts/package.scm:470
+#, scheme-format
+msgid "upgrade regexp '~a' looks like a command-line option~%"
+msgstr ""
+
+#: guix/scripts/package.scm:473
+#, scheme-format
+msgid "is this intended?~%"
+msgstr ""
+
+#: guix/scripts/package.scm:518
+#, scheme-format
+msgid "~a: unsupported kind of search path~%"
+msgstr ""
+
+#: guix/scripts/package.scm:815
+#, scheme-format
+msgid "cannot switch to generation '~a'~%"
+msgstr ""
+
+#: guix/scripts/package.scm:831
+#, scheme-format
+msgid "would install new manifest from '~a' with ~d entries~%"
+msgstr ""
+
+#: guix/scripts/package.scm:833
+#, scheme-format
+msgid "installing new manifest from '~a' with ~d entries~%"
+msgstr ""
+
+#: guix/scripts/gc.scm:42
+msgid ""
+"Usage: guix gc [OPTION]... PATHS...\n"
+"Invoke the garbage collector.\n"
+msgstr ""
+
+#: guix/scripts/gc.scm:44
+msgid ""
+"\n"
+" -C, --collect-garbage[=MIN]\n"
+" collect at least MIN bytes of garbage"
+msgstr ""
+
+#: guix/scripts/gc.scm:47
+msgid ""
+"\n"
+" -F, --free-space=FREE attempt to reach FREE available space in the store"
+msgstr ""
+
+#: guix/scripts/gc.scm:49
+msgid ""
+"\n"
+" -d, --delete attempt to delete PATHS"
+msgstr ""
+
+#: guix/scripts/gc.scm:51
+msgid ""
+"\n"
+" --optimize optimize the store by deduplicating identical files"
+msgstr ""
+
+#: guix/scripts/gc.scm:53
+msgid ""
+"\n"
+" --list-dead list dead paths"
+msgstr ""
+
+#: guix/scripts/gc.scm:55
+msgid ""
+"\n"
+" --list-live list live paths"
+msgstr ""
+
+#: guix/scripts/gc.scm:58
+msgid ""
+"\n"
+" --references list the references of PATHS"
+msgstr ""
+
+#: guix/scripts/gc.scm:60
+msgid ""
+"\n"
+" -R, --requisites list the requisites of PATHS"
+msgstr ""
+
+#: guix/scripts/gc.scm:62
+msgid ""
+"\n"
+" --referrers list the referrers of PATHS"
+msgstr ""
+
+#: guix/scripts/gc.scm:65
+msgid ""
+"\n"
+" --verify[=OPTS] verify the integrity of the store; OPTS is a\n"
+" comma-separated combination of 'repair' and\n"
+" 'contents'"
+msgstr ""
+
+#: guix/scripts/gc.scm:69
+msgid ""
+"\n"
+" --list-failures list cached build failures"
+msgstr ""
+
+#: guix/scripts/gc.scm:71
+msgid ""
+"\n"
+" --clear-failures remove PATHS from the set of cached failures"
+msgstr ""
+
+#: guix/scripts/gc.scm:100
+#, scheme-format
+msgid "invalid amount of storage: ~a~%"
+msgstr ""
+
+#: guix/scripts/gc.scm:185
+msgid "already ~h bytes available on ~a, nothing to do~%"
+msgstr ""
+
+#: guix/scripts/gc.scm:188
+msgid "freeing ~h bytes~%"
+msgstr ""
+
+#: guix/scripts/gc.scm:200
+#, scheme-format
+msgid "extraneous arguments: ~{~a ~}~%"
+msgstr ""
+
+#: guix/scripts/gc.scm:220 guix/scripts/gc.scm:223
+msgid "freed ~h bytes~%"
+msgstr ""
+
+#: guix/scripts/hash.scm:47
+msgid ""
+"Usage: guix hash [OPTION] FILE\n"
+"Return the cryptographic hash of FILE.\n"
+"\n"
+"Supported formats: 'nix-base32' (default), 'base32', and 'base16' ('hex'\n"
+"and 'hexadecimal' can be used as well).\n"
+msgstr ""
+
+#: guix/scripts/hash.scm:52
+msgid ""
+"\n"
+" -x, --exclude-vcs exclude version control directories"
+msgstr ""
+
+#: guix/scripts/hash.scm:56
+msgid ""
+"\n"
+" -r, --recursive compute the hash on FILE recursively"
+msgstr ""
+
+#: guix/scripts/hash.scm:150 guix/ui.scm:326 guix/ui.scm:601 guix/ui.scm:654
+#, scheme-format
+msgid "~a~%"
+msgstr ""
+
+#: guix/scripts/hash.scm:153 guix/scripts/system.scm:1022
+#: guix/scripts/system.scm:1031 guix/scripts/system.scm:1038
+#, scheme-format
+msgid "wrong number of arguments~%"
+msgstr ""
+
+#: guix/scripts/import.scm:86
+msgid ""
+"Usage: guix import IMPORTER ARGS ...\n"
+"Run IMPORTER with ARGS.\n"
+msgstr ""
+
+#: guix/scripts/import.scm:89
+msgid "IMPORTER must be one of the importers listed below:\n"
+msgstr ""
+
+#: guix/scripts/import.scm:103
+#, scheme-format
+msgid "guix import: missing importer name~%"
+msgstr ""
+
+#: guix/scripts/import.scm:123
+#, scheme-format
+msgid "'~a' import failed~%"
+msgstr ""
+
+#: guix/scripts/import.scm:124
+#, scheme-format
+msgid "~a: invalid importer~%"
+msgstr ""
+
+#: guix/scripts/import/cran.scm:43
+msgid ""
+"Usage: guix import cran PACKAGE-NAME\n"
+"Import and convert the CRAN package for PACKAGE-NAME.\n"
+msgstr ""
+
+#: guix/scripts/import/cran.scm:45
+msgid ""
+"\n"
+" -a, --archive=ARCHIVE specify the archive repository"
+msgstr ""
+
+#: guix/scripts/import/cran.scm:108
+#, scheme-format
+msgid "failed to download description for package '~a'~%"
+msgstr ""
+
+#: guix/scripts/import/cran.scm:112 guix/scripts/import/elpa.scm:95
+#, scheme-format
+msgid "too few arguments~%"
+msgstr ""
+
+#: guix/scripts/import/cran.scm:114 guix/scripts/import/elpa.scm:97
+#, scheme-format
+msgid "too many arguments~%"
+msgstr ""
+
+#: guix/scripts/import/elpa.scm:41
+msgid ""
+"Usage: guix import elpa PACKAGE-NAME\n"
+"Import the latest package named PACKAGE-NAME from an ELPA repository.\n"
+msgstr ""
+
+#: guix/scripts/import/elpa.scm:43
+msgid ""
+"\n"
+" -a, --archive=ARCHIVE specify the archive repository"
+msgstr ""
+
+#: guix/scripts/import/elpa.scm:45
+msgid ""
+"\n"
+" -h, --help display this help and exit"
+msgstr ""
+
+#: guix/scripts/import/elpa.scm:47
+msgid ""
+"\n"
+" -V, --version display version information and exit"
+msgstr ""
+
+#: guix/scripts/import/elpa.scm:92
+#, scheme-format
+msgid "failed to download package '~a'~%"
+msgstr ""
+
+#: guix/scripts/pull.scm:60
+#, scheme-format
+msgid ""
+"Guile-Git is missing but it is now required by 'guix pull'.\n"
+"Install it by running:\n"
+"\n"
+" guix package -i ~a\n"
+" export GUILE_LOAD_PATH=$HOME/.guix-profile/share/guile/site/~a:$GUILE_LOAD_PATH\n"
+" export GUILE_LOAD_COMPILED_PATH=$HOME/.guix-profile/lib/guile/~a/site-ccache:$GUILE_LOAD_COMPILED_PATH\n"
+"\n"
+msgstr ""
+
+#: guix/scripts/pull.scm:96
+msgid ""
+"Usage: guix pull [OPTION]...\n"
+"Download and deploy the latest version of Guix.\n"
+msgstr ""
+
+#: guix/scripts/pull.scm:100
+msgid ""
+"\n"
+" --url=URL download from the Git repository at URL"
+msgstr ""
+
+#: guix/scripts/pull.scm:102
+msgid ""
+"\n"
+" --commit=COMMIT download the specified COMMIT"
+msgstr ""
+
+#: guix/scripts/pull.scm:104
+msgid ""
+"\n"
+" --branch=BRANCH download the tip of the specified BRANCH"
+msgstr ""
+
+#: guix/scripts/pull.scm:106
+msgid ""
+"\n"
+" --bootstrap use the bootstrap Guile to build the new Guix"
+msgstr ""
+
+#: guix/scripts/pull.scm:192
+msgid "Guix already up to date\n"
+msgstr ""
+
+#: guix/scripts/pull.scm:197
+#, scheme-format
+msgid "updated ~a successfully deployed under `~a'~%"
+msgstr ""
+
+#: guix/scripts/pull.scm:200
+#, scheme-format
+msgid "failed to update Guix, check the build log~%"
+msgstr ""
+
+#: guix/scripts/pull.scm:216
+#, scheme-format
+msgid "cannot enforce use of the Let's Encrypt certificates~%"
+msgstr ""
+
+#: guix/scripts/pull.scm:218
+#, scheme-format
+msgid "please upgrade Guile-Git~%"
+msgstr ""
+
+#: guix/scripts/pull.scm:226
+#, scheme-format
+msgid "Git error ~a~%"
+msgstr ""
+
+#: guix/scripts/pull.scm:228
+#, scheme-format
+msgid "Git error: ~a~%"
+msgstr ""
+
+#: guix/scripts/pull.scm:262
+#, scheme-format
+msgid "Updating from Git repository at '~a'...~%"
+msgstr ""
+
+#: guix/scripts/pull.scm:271
+#, scheme-format
+msgid "Building from Git commit ~a...~%"
+msgstr ""
+
+#: guix/scripts/substitute.scm:125
+#, scheme-format
+msgid "authentication and authorization of substitutes disabled!~%"
+msgstr ""
+
+#: guix/scripts/substitute.scm:200
+#, scheme-format
+msgid "download from '~a' failed: ~a, ~s~%"
+msgstr ""
+
+#: guix/scripts/substitute.scm:213
+#, scheme-format
+msgid "while fetching ~a: server is somewhat slow~%"
+msgstr ""
+
+#: guix/scripts/substitute.scm:215
+#, scheme-format
+msgid "try `--no-substitutes' if the problem persists~%"
+msgstr ""
+
+#: guix/scripts/substitute.scm:233
+#, scheme-format
+msgid "unsupported substitute URI scheme: ~a~%"
+msgstr ""
+
+#: guix/scripts/substitute.scm:268
+#, scheme-format
+msgid "while fetching '~a': ~a (~s)~%"
+msgstr ""
+
+#: guix/scripts/substitute.scm:273
+#, scheme-format
+msgid "ignoring substitute server at '~s'~%"
+msgstr ""
+
+#: guix/scripts/substitute.scm:323
+#, scheme-format
+msgid "signature version must be a number: ~s~%"
+msgstr ""
+
+#: guix/scripts/substitute.scm:327
+#, scheme-format
+msgid "unsupported signature version: ~a~%"
+msgstr ""
+
+#: guix/scripts/substitute.scm:335
+#, scheme-format
+msgid "signature is not a valid s-expression: ~s~%"
+msgstr ""
+
+#: guix/scripts/substitute.scm:339
+#, scheme-format
+msgid "invalid format of the signature field: ~a~%"
+msgstr ""
+
+#: guix/scripts/substitute.scm:374
+#, scheme-format
+msgid "invalid signature for '~a'~%"
+msgstr ""
+
+#: guix/scripts/substitute.scm:376
+#, scheme-format
+msgid "hash mismatch for '~a'~%"
+msgstr ""
+
+#: guix/scripts/substitute.scm:378
+#, scheme-format
+msgid "'~a' is signed with an unauthorized key~%"
+msgstr ""
+
+#: guix/scripts/substitute.scm:380
+#, scheme-format
+msgid "signature on '~a' is corrupt~%"
+msgstr ""
+
+#: guix/scripts/substitute.scm:465
+#, scheme-format
+msgid "'~a' does not name a store item~%"
+msgstr ""
+
+#: guix/scripts/substitute.scm:629
+#, scheme-format
+msgid "updating list of substitutes from '~a'... ~5,1f%"
+msgstr ""
+
+#: guix/scripts/substitute.scm:693
+#, scheme-format
+msgid "~s: unsupported server URI scheme~%"
+msgstr ""
+
+#: guix/scripts/substitute.scm:703
+#, scheme-format
+msgid "'~a' uses different store '~a'; ignoring it~%"
+msgstr ""
+
+#: guix/scripts/substitute.scm:863
+#, scheme-format
+msgid "host name lookup error: ~a~%"
+msgstr ""
+
+#: guix/scripts/substitute.scm:868
+#, scheme-format
+msgid "TLS error in procedure '~a': ~a~%"
+msgstr ""
+
+#: guix/scripts/substitute.scm:879
+msgid ""
+"Usage: guix substitute [OPTION]...\n"
+"Internal tool to substitute a pre-built binary to a local build.\n"
+msgstr ""
+
+#: guix/scripts/substitute.scm:881
+msgid ""
+"\n"
+" --query report on the availability of substitutes for the\n"
+" store file names passed on the standard input"
+msgstr ""
+
+#: guix/scripts/substitute.scm:884
+msgid ""
+"\n"
+" --substitute STORE-FILE DESTINATION\n"
+" download STORE-FILE and store it as a Nar in file\n"
+" DESTINATION"
+msgstr ""
+
+#: guix/scripts/substitute.scm:949
+#, scheme-format
+msgid "no valid substitute for '~a'~%"
+msgstr ""
+
+#: guix/scripts/substitute.scm:956
+#, scheme-format
+msgid "Downloading ~a...~%"
+msgstr ""
+
+#: guix/scripts/substitute.scm:1012
+msgid "ACL for archive imports seems to be uninitialized, substitutes may be unavailable\n"
+msgstr ""
+
+#: guix/scripts/substitute.scm:1066
+#, scheme-format
+msgid "~a: invalid URI~%"
+msgstr ""
+
+#: guix/scripts/substitute.scm:1126
+#, scheme-format
+msgid "~a: unrecognized options~%"
+msgstr ""
+
+#: guix/scripts/authenticate.scm:59
+#, scheme-format
+msgid "cannot find public key for secret key '~a'~%"
+msgstr ""
+
+#: guix/scripts/authenticate.scm:79
+#, scheme-format
+msgid "error: invalid signature: ~a~%"
+msgstr ""
+
+#: guix/scripts/authenticate.scm:81
+#, scheme-format
+msgid "error: unauthorized public key: ~a~%"
+msgstr ""
+
+#: guix/scripts/authenticate.scm:83
+#, scheme-format
+msgid "error: corrupt signature data: ~a~%"
+msgstr ""
+
+#: guix/scripts/authenticate.scm:121
+msgid ""
+"Usage: guix authenticate OPTION...\n"
+"Sign or verify the signature on the given file. This tool is meant to\n"
+"be used internally by 'guix-daemon'.\n"
+msgstr ""
+
+#: guix/scripts/authenticate.scm:127
+msgid "wrong arguments"
+msgstr "argumentos incorrectos"
+
+#: guix/scripts/system.scm:135
+#, scheme-format
+msgid "failed to register '~a' under '~a'~%"
+msgstr ""
+
+#: guix/scripts/system.scm:174
+#, scheme-format
+msgid "failed to install bootloader ~a~%"
+msgstr ""
+
+#: guix/scripts/system.scm:194
+#, scheme-format
+msgid "initializing the current root file system~%"
+msgstr ""
+
+#: guix/scripts/system.scm:208
+#, scheme-format
+msgid "not running as 'root', so the ownership of '~a' may be incorrect!~%"
+msgstr ""
+
+#: guix/scripts/system.scm:253
+#, scheme-format
+msgid "while talking to shepherd: ~a~%"
+msgstr ""
+
+#: guix/scripts/system.scm:260
+#, scheme-format
+msgid "service '~a' could not be found~%"
+msgstr ""
+
+#: guix/scripts/system.scm:263
+#, scheme-format
+msgid "service '~a' does not have an action '~a'~%"
+msgstr ""
+
+#: guix/scripts/system.scm:267
+#, scheme-format
+msgid "exception caught while executing '~a' on service '~a':~%"
+msgstr ""
+
+#: guix/scripts/system.scm:275
+#, scheme-format
+msgid "something went wrong: ~s~%"
+msgstr ""
+
+#: guix/scripts/system.scm:278
+#, scheme-format
+msgid "shepherd error~%"
+msgstr ""
+
+#: guix/scripts/system.scm:295
+#, scheme-format
+msgid "failed to obtain list of shepherd services~%"
+msgstr ""
+
+#: guix/scripts/system.scm:315
+#, scheme-format
+msgid "unloading service '~a'...~%"
+msgstr ""
+
+#: guix/scripts/system.scm:323
+#, scheme-format
+msgid "loading new services:~{ ~a~}...~%"
+msgstr ""
+
+#: guix/scripts/system.scm:347
+#, scheme-format
+msgid "activating system...~%"
+msgstr ""
+
+#: guix/scripts/system.scm:423
+#, scheme-format
+msgid "cannot switch to system generation '~a'~%"
+msgstr ""
+
+#: guix/scripts/system.scm:494
+msgid "the DAG of services"
+msgstr ""
+
+#: guix/scripts/system.scm:507
+msgid "the dependency graph of shepherd services"
+msgstr ""
+
+#: guix/scripts/system.scm:531
+#, scheme-format
+msgid " file name: ~a~%"
+msgstr ""
+
+#: guix/scripts/system.scm:532
+#, scheme-format
+msgid " canonical file name: ~a~%"
+msgstr ""
+
+#. TRANSLATORS: Please preserve the two-space indentation.
+#: guix/scripts/system.scm:534
+#, scheme-format
+msgid " label: ~a~%"
+msgstr ""
+
+#: guix/scripts/system.scm:535
+#, scheme-format
+msgid " bootloader: ~a~%"
+msgstr ""
+
+#: guix/scripts/system.scm:536
+#, scheme-format
+msgid " root device: ~a~%"
+msgstr ""
+
+#: guix/scripts/system.scm:540
+#, scheme-format
+msgid " kernel: ~a~%"
+msgstr ""
+
+#: guix/scripts/system.scm:600
+#, scheme-format
+msgid "~a: error: file system with label '~a' not found~%"
+msgstr ""
+
+#: guix/scripts/system.scm:606
+#, scheme-format
+msgid "~a: error: file system with UUID '~a' not found~%"
+msgstr ""
+
+#: guix/scripts/system.scm:658
+#, scheme-format
+msgid "~a not found: 'guix pull' was never run~%"
+msgstr ""
+
+#: guix/scripts/system.scm:659
+#, scheme-format
+msgid "Consider running 'guix pull' before 'reconfigure'.~%"
+msgstr ""
+
+#: guix/scripts/system.scm:660
+#, scheme-format
+msgid "Failing to do that may downgrade your system!~%"
+msgstr ""
+
+#: guix/scripts/system.scm:767
+#, scheme-format
+msgid "initializing operating system under '~a'...~%"
+msgstr ""
+
+#: guix/scripts/system.scm:812
+msgid ""
+"Usage: guix system [OPTION ...] ACTION [ARG ...] [FILE]\n"
+"Build the operating system declared in FILE according to ACTION.\n"
+"Some ACTIONS support additional ARGS.\n"
+msgstr ""
+
+#: guix/scripts/system.scm:816 guix/scripts/container.scm:28
+msgid "The valid values for ACTION are:\n"
+msgstr ""
+
+#: guix/scripts/system.scm:818
+msgid " search search for existing service types\n"
+msgstr ""
+
+#: guix/scripts/system.scm:820
+msgid " reconfigure switch to a new operating system configuration\n"
+msgstr ""
+
+#: guix/scripts/system.scm:822
+msgid " roll-back switch to the previous operating system configuration\n"
+msgstr ""
+
+#: guix/scripts/system.scm:824
+msgid " switch-generation switch to an existing operating system configuration\n"
+msgstr ""
+
+#: guix/scripts/system.scm:826
+msgid " list-generations list the system generations\n"
+msgstr ""
+
+#: guix/scripts/system.scm:828
+msgid " build build the operating system without installing anything\n"
+msgstr ""
+
+#: guix/scripts/system.scm:830
+msgid " container build a container that shares the host's store\n"
+msgstr ""
+
+#: guix/scripts/system.scm:832
+msgid " vm build a virtual machine image that shares the host's store\n"
+msgstr ""
+
+#: guix/scripts/system.scm:834
+msgid " vm-image build a freestanding virtual machine image\n"
+msgstr ""
+
+#: guix/scripts/system.scm:836
+msgid " disk-image build a disk image, suitable for a USB stick\n"
+msgstr ""
+
+#: guix/scripts/system.scm:838
+msgid " init initialize a root file system to run GNU\n"
+msgstr ""
+
+#: guix/scripts/system.scm:840
+msgid " extension-graph emit the service extension graph in Dot format\n"
+msgstr ""
+
+#: guix/scripts/system.scm:842
+msgid " shepherd-graph emit the graph of shepherd services in Dot format\n"
+msgstr ""
+
+#: guix/scripts/system.scm:846
+msgid ""
+"\n"
+" -d, --derivation return the derivation of the given system"
+msgstr ""
+
+#: guix/scripts/system.scm:848
+msgid ""
+"\n"
+" --on-error=STRATEGY\n"
+" apply STRATEGY when an error occurs while reading FILE"
+msgstr ""
+
+#: guix/scripts/system.scm:851
+msgid ""
+"\n"
+" --file-system-type=TYPE\n"
+" for 'disk-image', produce a root file system of TYPE\n"
+" (one of 'ext4', 'iso9660')"
+msgstr ""
+
+#: guix/scripts/system.scm:855
+msgid ""
+"\n"
+" --image-size=SIZE for 'vm-image', produce an image of SIZE"
+msgstr ""
+
+#: guix/scripts/system.scm:857
+msgid ""
+"\n"
+" --no-bootloader for 'init', do not install a bootloader"
+msgstr ""
+
+#: guix/scripts/system.scm:859
+msgid ""
+"\n"
+" --share=SPEC for 'vm', share host file system according to SPEC"
+msgstr ""
+
+#: guix/scripts/system.scm:861
+msgid ""
+"\n"
+" -r, --root=FILE for 'vm', 'vm-image', 'disk-image', 'container',\n"
+" and 'build', make FILE a symlink to the result, and\n"
+" register it as a garbage collector root"
+msgstr ""
+
+#: guix/scripts/system.scm:865
+msgid ""
+"\n"
+" --expose=SPEC for 'vm', expose host file system according to SPEC"
+msgstr ""
+
+#: guix/scripts/system.scm:867
+msgid ""
+"\n"
+" --full-boot for 'vm', make a full boot sequence"
+msgstr ""
+
+#: guix/scripts/system.scm:959
+#, scheme-format
+msgid "no configuration file specified~%"
+msgstr ""
+
+#: guix/scripts/system.scm:1057
+#, scheme-format
+msgid "~a: unknown action~%"
+msgstr ""
+
+#: guix/scripts/system.scm:1072
+#, scheme-format
+msgid "wrong number of arguments for action '~a'~%"
+msgstr ""
+
+#: guix/scripts/system.scm:1077
+#, scheme-format
+msgid "guix system: missing command name~%"
+msgstr ""
+
+#: guix/scripts/system.scm:1079
+#, scheme-format
+msgid "Try 'guix system --help' for more information.~%"
+msgstr ""
+
+#: guix/scripts/system/search.scm:64 guix/ui.scm:1057 guix/ui.scm:1071
+msgid "unknown"
+msgstr ""
+
+#: guix/scripts/lint.scm:138
+#, scheme-format
+msgid "Available checkers:~%"
+msgstr ""
+
+#: guix/scripts/lint.scm:162
+msgid "description should not be empty"
+msgstr ""
+
+#: guix/scripts/lint.scm:172
+msgid "Texinfo markup in description is invalid"
+msgstr ""
+
+#: guix/scripts/lint.scm:182
+#, scheme-format
+msgid ""
+"description should not contain ~\n"
+"trademark sign '~a' at ~d"
+msgstr ""
+
+#. TRANSLATORS: '@code' is Texinfo markup and must be kept
+#. as is.
+#: guix/scripts/lint.scm:195
+msgid "use @code or similar ornament instead of quotes"
+msgstr ""
+
+#: guix/scripts/lint.scm:202
+msgid "description should start with an upper-case letter or digit"
+msgstr ""
+
+#: guix/scripts/lint.scm:218
+#, scheme-format
+msgid ""
+"sentences in description should be followed ~\n"
+"by two spaces; possible infraction~p at ~{~a~^, ~}"
+msgstr ""
+
+#: guix/scripts/lint.scm:236
+#, scheme-format
+msgid "invalid description: ~s"
+msgstr ""
+
+#: guix/scripts/lint.scm:281
+#, scheme-format
+msgid "'~a' should probably be a native input"
+msgstr ""
+
+#: guix/scripts/lint.scm:297
+#, scheme-format
+msgid "'~a' should probably not be an input at all"
+msgstr ""
+
+#: guix/scripts/lint.scm:314
+msgid "synopsis should not be empty"
+msgstr ""
+
+#: guix/scripts/lint.scm:322
+msgid "no period allowed at the end of the synopsis"
+msgstr ""
+
+#: guix/scripts/lint.scm:334
+msgid "no article allowed at the beginning of the synopsis"
+msgstr ""
+
+#: guix/scripts/lint.scm:341
+msgid "synopsis should be less than 80 characters long"
+msgstr ""
+
+#: guix/scripts/lint.scm:347
+msgid "synopsis should start with an upper-case letter or digit"
+msgstr ""
+
+#: guix/scripts/lint.scm:354
+msgid "synopsis should not start with the package name"
+msgstr ""
+
+#: guix/scripts/lint.scm:364
+msgid "Texinfo markup in synopsis is invalid"
+msgstr ""
+
+#: guix/scripts/lint.scm:383
+#, scheme-format
+msgid "invalid synopsis: ~s"
+msgstr ""
+
+#: guix/scripts/lint.scm:502
+#, scheme-format
+msgid "URI ~a returned suspiciously small file (~a bytes)"
+msgstr ""
+
+#: guix/scripts/lint.scm:512
+#, scheme-format
+msgid "permanent redirect from ~a to ~a"
+msgstr ""
+
+#: guix/scripts/lint.scm:519
+#, scheme-format
+msgid "invalid permanent redirect from ~a"
+msgstr ""
+
+#: guix/scripts/lint.scm:526 guix/scripts/lint.scm:538
+#, scheme-format
+msgid "URI ~a not reachable: ~a (~s)"
+msgstr ""
+
+#: guix/scripts/lint.scm:545
+#, scheme-format
+msgid "URI ~a domain not found: ~a"
+msgstr ""
+
+#: guix/scripts/lint.scm:553
+#, scheme-format
+msgid "URI ~a unreachable: ~a"
+msgstr ""
+
+#: guix/scripts/lint.scm:562
+#, scheme-format
+msgid "TLS certificate error: ~a"
+msgstr ""
+
+#: guix/scripts/lint.scm:583
+msgid "invalid value for home page"
+msgstr ""
+
+#: guix/scripts/lint.scm:586
+#, scheme-format
+msgid "invalid home page URL: ~s"
+msgstr ""
+
+#: guix/scripts/lint.scm:606
+msgid "file names of patches should start with the package name"
+msgstr ""
+
+#: guix/scripts/lint.scm:644
+#, scheme-format
+msgid "~a: ~a: proposed synopsis: ~s~%"
+msgstr ""
+
+#: guix/scripts/lint.scm:657
+#, scheme-format
+msgid "~a: ~a: proposed description:~% \"~a\"~%"
+msgstr ""
+
+#: guix/scripts/lint.scm:699
+msgid "all the source URIs are unreachable:"
+msgstr ""
+
+#: guix/scripts/lint.scm:721
+msgid "the source file name should contain the package name"
+msgstr ""
+
+#: guix/scripts/lint.scm:737
+#, scheme-format
+msgid "URL should be 'mirror://~a/~a'"
+msgstr ""
+
+#: guix/scripts/lint.scm:755 guix/scripts/lint.scm:759
+#, scheme-format
+msgid "failed to create derivation: ~a"
+msgstr ""
+
+#: guix/scripts/lint.scm:773
+#, scheme-format
+msgid "failed to create derivation: ~s~%"
+msgstr ""
+
+#: guix/scripts/lint.scm:783
+msgid "invalid license field"
+msgstr ""
+
+#: guix/scripts/lint.scm:799
+#, scheme-format
+msgid "~a: HTTP GET error for ~a: ~a (~s)~%"
+msgstr ""
+
+#: guix/scripts/lint.scm:809
+#, scheme-format
+msgid "~a: host lookup failure: ~a~%"
+msgstr ""
+
+#: guix/scripts/lint.scm:814
+#, scheme-format
+msgid "~a: TLS certificate error: ~a"
+msgstr ""
+
+#: guix/scripts/lint.scm:829
+msgid "while retrieving CVE vulnerabilities"
+msgstr ""
+
+#: guix/scripts/lint.scm:866
+#, scheme-format
+msgid "probably vulnerable to ~a"
+msgstr ""
+
+#: guix/scripts/lint.scm:873
+#, scheme-format
+msgid "while retrieving upstream info for '~a'"
+msgstr ""
+
+#: guix/scripts/lint.scm:881
+#, scheme-format
+msgid "can be upgraded to ~a"
+msgstr ""
+
+#: guix/scripts/lint.scm:896
+#, scheme-format
+msgid "tabulation on line ~a, column ~a"
+msgstr ""
+
+#: guix/scripts/lint.scm:905
+#, scheme-format
+msgid "trailing white space on line ~a"
+msgstr ""
+
+#: guix/scripts/lint.scm:915
+#, scheme-format
+msgid "line ~a is way too long (~a characters)"
+msgstr ""
+
+#: guix/scripts/lint.scm:926
+#, scheme-format
+msgid "line ~a: parentheses feel lonely, move to the previous or next line"
+msgstr ""
+
+#: guix/scripts/lint.scm:996
+msgid "Validate package descriptions"
+msgstr ""
+
+#: guix/scripts/lint.scm:1000
+msgid "Validate synopsis & description of GNU packages"
+msgstr ""
+
+#: guix/scripts/lint.scm:1004
+msgid "Identify inputs that should be native inputs"
+msgstr ""
+
+#: guix/scripts/lint.scm:1008
+msgid "Identify inputs that should be inputs at all"
+msgstr ""
+
+#: guix/scripts/lint.scm:1012
+msgid "Validate file names and availability of patches"
+msgstr ""
+
+#: guix/scripts/lint.scm:1016
+msgid "Validate home-page URLs"
+msgstr ""
+
+#. TRANSLATORS: <license> is the name of a data type and must not be
+#. translated.
+#: guix/scripts/lint.scm:1022
+msgid "Make sure the 'license' field is a <license> or a list thereof"
+msgstr ""
+
+#: guix/scripts/lint.scm:1027
+msgid "Validate source URLs"
+msgstr ""
+
+#: guix/scripts/lint.scm:1031
+msgid "Suggest 'mirror://' URLs"
+msgstr ""
+
+#: guix/scripts/lint.scm:1035
+msgid "Validate file names of sources"
+msgstr ""
+
+#: guix/scripts/lint.scm:1039
+msgid "Report failure to compile a package to a derivation"
+msgstr ""
+
+#: guix/scripts/lint.scm:1043
+msgid "Validate package synopses"
+msgstr ""
+
+#: guix/scripts/lint.scm:1047
+msgid "Check the Common Vulnerabilities and Exposures (CVE) database"
+msgstr ""
+
+#: guix/scripts/lint.scm:1052
+msgid "Check the package for new upstream releases"
+msgstr ""
+
+#: guix/scripts/lint.scm:1056
+msgid "Look for formatting issues in the source"
+msgstr ""
+
+#: guix/scripts/lint.scm:1084
+msgid ""
+"Usage: guix lint [OPTION]... [PACKAGE]...\n"
+"Run a set of checkers on the specified package; if none is specified,\n"
+"run the checkers on all packages.\n"
+msgstr ""
+
+#: guix/scripts/lint.scm:1087
+msgid ""
+"\n"
+" -c, --checkers=CHECKER1,CHECKER2...\n"
+" only run the specified checkers"
+msgstr ""
+
+#: guix/scripts/lint.scm:1092
+msgid ""
+"\n"
+" -l, --list-checkers display the list of available lint checkers"
+msgstr ""
+
+#: guix/scripts/lint.scm:1112
+#, scheme-format
+msgid "~a: invalid checker~%"
+msgstr ""
+
+#: guix/scripts/publish.scm:68
+#, scheme-format
+msgid ""
+"Usage: guix publish [OPTION]...\n"
+"Publish ~a over HTTP.\n"
+msgstr ""
+
+#: guix/scripts/publish.scm:70
+msgid ""
+"\n"
+" -p, --port=PORT listen on PORT"
+msgstr ""
+
+#: guix/scripts/publish.scm:72
+msgid ""
+"\n"
+" --listen=HOST listen on the network interface for HOST"
+msgstr ""
+
+#: guix/scripts/publish.scm:74
+msgid ""
+"\n"
+" -u, --user=USER change privileges to USER as soon as possible"
+msgstr ""
+
+#: guix/scripts/publish.scm:76
+msgid ""
+"\n"
+" -C, --compression[=LEVEL]\n"
+" compress archives at LEVEL"
+msgstr ""
+
+#: guix/scripts/publish.scm:79
+msgid ""
+"\n"
+" -c, --cache=DIRECTORY cache published items to DIRECTORY"
+msgstr ""
+
+#: guix/scripts/publish.scm:81
+msgid ""
+"\n"
+" --workers=N use N workers to bake items"
+msgstr ""
+
+#: guix/scripts/publish.scm:83
+msgid ""
+"\n"
+" --ttl=TTL announce narinfos can be cached for TTL seconds"
+msgstr ""
+
+#: guix/scripts/publish.scm:85
+msgid ""
+"\n"
+" --nar-path=PATH use PATH as the prefix for nar URLs"
+msgstr ""
+
+#: guix/scripts/publish.scm:87
+msgid ""
+"\n"
+" --public-key=FILE use FILE as the public key for signatures"
+msgstr ""
+
+#: guix/scripts/publish.scm:89
+msgid ""
+"\n"
+" --private-key=FILE use FILE as the private key for signatures"
+msgstr ""
+
+#: guix/scripts/publish.scm:91
+msgid ""
+"\n"
+" -r, --repl[=PORT] spawn REPL server on PORT"
+msgstr ""
+
+#: guix/scripts/publish.scm:107
+#, scheme-format
+msgid "lookup of host '~a' failed: ~a~%"
+msgstr ""
+
+#: guix/scripts/publish.scm:152
+#, scheme-format
+msgid "lookup of host '~a' returned nothing"
+msgstr ""
+
+#: guix/scripts/publish.scm:165
+#, scheme-format
+msgid "zlib support is missing; compression disabled~%"
+msgstr ""
+
+#: guix/scripts/publish.scm:179
+#, scheme-format
+msgid "~a: invalid duration~%"
+msgstr ""
+
+#: guix/scripts/publish.scm:832
+#, scheme-format
+msgid "user '~a' not found: ~a~%"
+msgstr ""
+
+#: guix/scripts/publish.scm:873
+#, scheme-format
+msgid "server running as root; consider using the '--user' option!~%"
+msgstr ""
+
+#: guix/scripts/publish.scm:878
+#, scheme-format
+msgid "publishing ~a on ~a, port ~d~%"
+msgstr ""
+
+#: guix/scripts/edit.scm:41
+msgid ""
+"Usage: guix edit PACKAGE...\n"
+"Start $VISUAL or $EDITOR to edit the definitions of PACKAGE...\n"
+msgstr ""
+
+#: guix/scripts/edit.scm:62
+#, scheme-format
+msgid "file '~a' not found in search path ~s~%"
+msgstr ""
+
+#: guix/scripts/edit.scm:90
+#, scheme-format
+msgid "source location of package '~a' is unknown~%"
+msgstr ""
+
+#: guix/scripts/edit.scm:103
+#, scheme-format
+msgid "failed to launch '~a': ~a~%"
+msgstr ""
+
+#: guix/scripts/size.scm:77
+#, scheme-format
+msgid "no available substitute information for '~a'~%"
+msgstr ""
+
+#: guix/scripts/size.scm:99
+msgid "store item"
+msgstr ""
+
+#: guix/scripts/size.scm:99
+msgid "total"
+msgstr ""
+
+#: guix/scripts/size.scm:99
+msgid "self"
+msgstr ""
+
+#: guix/scripts/size.scm:107
+#, scheme-format
+msgid "total: ~,1f MiB~%"
+msgstr ""
+
+#. TRANSLATORS: This is the title of a graph, meaning that the graph
+#. represents a profile of the store (the "store" being the place where
+#. packages are stored.)
+#: guix/scripts/size.scm:221
+msgid "store profile"
+msgstr ""
+
+#: guix/scripts/size.scm:230
+msgid ""
+"Usage: guix size [OPTION]... PACKAGE\n"
+"Report the size of PACKAGE and its dependencies.\n"
+msgstr ""
+
+#: guix/scripts/size.scm:235
+msgid ""
+"\n"
+" -s, --system=SYSTEM consider packages for SYSTEM--e.g., \"i686-linux\""
+msgstr ""
+
+#. TRANSLATORS: "closure" and "self" must not be translated.
+#: guix/scripts/size.scm:238
+msgid ""
+"\n"
+" --sort=KEY sort according to KEY--\"closure\" or \"self\""
+msgstr ""
+
+#: guix/scripts/size.scm:240
+msgid ""
+"\n"
+" -m, --map-file=FILE write to FILE a graphical map of disk usage"
+msgstr ""
+
+#: guix/scripts/size.scm:271
+#, scheme-format
+msgid "~a: invalid sorting key~%"
+msgstr ""
+
+#: guix/scripts/size.scm:306
+msgid "missing store item argument\n"
+msgstr ""
+
+#: guix/scripts/graph.scm:84
+#, scheme-format
+msgid "~a: invalid argument (package name expected)"
+msgstr ""
+
+#: guix/scripts/graph.scm:95
+msgid "the DAG of packages, excluding implicit inputs"
+msgstr ""
+
+#: guix/scripts/graph.scm:121
+msgid "the reverse DAG of packages"
+msgstr ""
+
+#: guix/scripts/graph.scm:171
+msgid "the DAG of packages, including implicit inputs"
+msgstr ""
+
+#: guix/scripts/graph.scm:181
+msgid "the DAG of packages and origins, including implicit inputs"
+msgstr ""
+
+#: guix/scripts/graph.scm:211
+msgid "same as 'bag', but without the bootstrap nodes"
+msgstr ""
+
+#: guix/scripts/graph.scm:253
+msgid "the DAG of derivations"
+msgstr ""
+
+#: guix/scripts/graph.scm:265
+msgid "unsupported argument for derivation graph"
+msgstr ""
+
+#: guix/scripts/graph.scm:291
+msgid "unsupported argument for this type of graph"
+msgstr ""
+
+#: guix/scripts/graph.scm:304
+#, scheme-format
+msgid "references for '~a' are not known~%"
+msgstr ""
+
+#: guix/scripts/graph.scm:311
+msgid "the DAG of run-time dependencies (store references)"
+msgstr ""
+
+#: guix/scripts/graph.scm:327
+msgid "the DAG of referrers in the store"
+msgstr ""
+
+#: guix/scripts/graph.scm:354
+#, scheme-format
+msgid "~a: unknown node type~%"
+msgstr ""
+
+#: guix/scripts/graph.scm:361
+#, scheme-format
+msgid "~a: unknown backend~%"
+msgstr ""
+
+#: guix/scripts/graph.scm:365
+msgid "The available node types are:\n"
+msgstr ""
+
+#: guix/scripts/graph.scm:375
+msgid "The available backend types are:\n"
+msgstr ""
+
+#. TRANSLATORS: Here 'dot' is the name of a program; it must not be
+#. translated.
+#: guix/scripts/graph.scm:419
+msgid ""
+"Usage: guix graph PACKAGE...\n"
+"Emit a representation of the dependency graph of PACKAGE...\n"
+msgstr ""
+
+#: guix/scripts/graph.scm:421
+msgid ""
+"\n"
+" -b, --backend=TYPE produce a graph with the given backend TYPE"
+msgstr ""
+
+#: guix/scripts/graph.scm:423
+msgid ""
+"\n"
+" --list-backends list the available graph backends"
+msgstr ""
+
+#: guix/scripts/graph.scm:425
+msgid ""
+"\n"
+" -t, --type=TYPE represent nodes of the given TYPE"
+msgstr ""
+
+#: guix/scripts/graph.scm:427
+msgid ""
+"\n"
+" --list-types list the available graph types"
+msgstr ""
+
+#: guix/scripts/graph.scm:429 guix/scripts/pack.scm:336
+msgid ""
+"\n"
+" -e, --expression=EXPR consider the package EXPR evaluates to"
+msgstr ""
+
+#: guix/scripts/challenge.scm:191
+#, scheme-format
+msgid " local hash: ~a~%"
+msgstr ""
+
+#: guix/scripts/challenge.scm:192
+#, scheme-format
+msgid " no local build for '~a'~%"
+msgstr ""
+
+#: guix/scripts/challenge.scm:194
+#, scheme-format
+msgid " ~50a: ~a~%"
+msgstr ""
+
+#: guix/scripts/challenge.scm:202
+#, scheme-format
+msgid "~a contents differ:~%"
+msgstr ""
+
+#: guix/scripts/challenge.scm:205
+#, scheme-format
+msgid "could not challenge '~a': no local build~%"
+msgstr ""
+
+#: guix/scripts/challenge.scm:207
+#, scheme-format
+msgid "could not challenge '~a': no substitutes~%"
+msgstr ""
+
+#: guix/scripts/challenge.scm:210
+#, scheme-format
+msgid "~a contents match:~%"
+msgstr ""
+
+#: guix/scripts/challenge.scm:219
+msgid "~h store items were analyzed:~%"
+msgstr ""
+
+#: guix/scripts/challenge.scm:220
+msgid " - ~h (~,1f%) were identical~%"
+msgstr ""
+
+#: guix/scripts/challenge.scm:222
+msgid " - ~h (~,1f%) differed~%"
+msgstr ""
+
+#: guix/scripts/challenge.scm:224
+msgid " - ~h (~,1f%) were inconclusive~%"
+msgstr ""
+
+#: guix/scripts/challenge.scm:233
+msgid ""
+"Usage: guix challenge [PACKAGE...]\n"
+"Challenge the substitutes for PACKAGE... provided by one or more servers.\n"
+msgstr ""
+
+#: guix/scripts/challenge.scm:235
+msgid ""
+"\n"
+" --substitute-urls=URLS\n"
+" compare build results with those at URLS"
+msgstr ""
+
+#: guix/scripts/challenge.scm:238
+msgid ""
+"\n"
+" -v, --verbose show details about successful comparisons"
+msgstr ""
+
+#: guix/scripts/copy.scm:59
+#, scheme-format
+msgid "~a: invalid TCP port number~%"
+msgstr ""
+
+#: guix/scripts/copy.scm:61
+#, scheme-format
+msgid "~a: invalid SSH specification~%"
+msgstr ""
+
+#: guix/scripts/copy.scm:113
+msgid ""
+"Usage: guix copy [OPTION]... ITEMS...\n"
+"Copy ITEMS to or from the specified host over SSH.\n"
+msgstr ""
+
+#: guix/scripts/copy.scm:115
+msgid ""
+"\n"
+" --to=HOST send ITEMS to HOST"
+msgstr ""
+
+#: guix/scripts/copy.scm:117
+msgid ""
+"\n"
+" --from=HOST receive ITEMS from HOST"
+msgstr ""
+
+#: guix/scripts/copy.scm:168
+#, scheme-format
+msgid "use '--to' or '--from'~%"
+msgstr ""
+
+#: guix/scripts/pack.scm:76
+#, scheme-format
+msgid "~a: compressor not found~%"
+msgstr ""
+
+#: guix/scripts/pack.scm:318
+#, scheme-format
+msgid "~a: invalid symlink specification~%"
+msgstr ""
+
+#: guix/scripts/pack.scm:328
+msgid ""
+"Usage: guix pack [OPTION]... PACKAGE...\n"
+"Create a bundle of PACKAGE.\n"
+msgstr ""
+
+#: guix/scripts/pack.scm:334
+msgid ""
+"\n"
+" -f, --format=FORMAT build a pack in the given FORMAT"
+msgstr ""
+
+#: guix/scripts/pack.scm:342
+msgid ""
+"\n"
+" -C, --compression=TOOL compress using TOOL--e.g., \"lzip\""
+msgstr ""
+
+#: guix/scripts/pack.scm:344
+msgid ""
+"\n"
+" -S, --symlink=SPEC create symlinks to the profile according to SPEC"
+msgstr ""
+
+#: guix/scripts/pack.scm:346
+msgid ""
+"\n"
+" --localstatedir include /var/guix in the resulting pack"
+msgstr ""
+
+#: guix/scripts/pack.scm:390
+#, scheme-format
+msgid "~a: unknown pack format"
+msgstr ""
+
+#: guix/scripts/weather.scm:74
+msgid "computing ~h package derivations for ~a...~%"
+msgstr ""
+
+#: guix/scripts/weather.scm:110
+msgid "looking for ~h store items on ~a...~%"
+msgstr ""
+
+#: guix/scripts/weather.scm:120
+msgid " ~2,1f% substitutes available (~h out of ~h)~%"
+msgstr ""
+
+#: guix/scripts/weather.scm:126
+#, scheme-format
+msgid " unknown substitute sizes~%"
+msgstr ""
+
+#: guix/scripts/weather.scm:129
+msgid " ~,1h MiB of nars (compressed)~%"
+msgstr ""
+
+#: guix/scripts/weather.scm:130
+msgid " at least ~,1h MiB of nars (compressed)~%"
+msgstr ""
+
+#: guix/scripts/weather.scm:132
+msgid " ~,1h MiB on disk (uncompressed)~%"
+msgstr ""
+
+#: guix/scripts/weather.scm:134
+msgid " ~,3h seconds per request (~,1h seconds in total)~%"
+msgstr ""
+
+#: guix/scripts/weather.scm:136
+msgid " ~,1h requests per second~%"
+msgstr ""
+
+#: guix/scripts/weather.scm:145
+msgid ""
+"Usage: guix weather [OPTIONS]\n"
+"Report the availability of substitutes.\n"
+msgstr ""
+
+#: guix/scripts/weather.scm:147
+msgid ""
+"\n"
+" --substitute-urls=URLS\n"
+" check for available substitutes at URLS"
+msgstr ""
+
+#: guix/scripts/weather.scm:150
+msgid ""
+"\n"
+" -m, --manifest=MANIFEST\n"
+" look up substitutes for packages specified in MANIFEST"
+msgstr ""
+
+#: guix/scripts/weather.scm:153
+msgid ""
+"\n"
+" -s, --system=SYSTEM consider substitutes for SYSTEM--e.g., \"i686-linux\""
+msgstr ""
+
+#: guix/scripts/weather.scm:177
+#, scheme-format
+msgid "~a: invalid URL~%"
+msgstr ""
+
+#: guix/gnu-maintenance.scm:567
+msgid "Updater for GNU packages"
+msgstr ""
+
+#: guix/gnu-maintenance.scm:576
+msgid "Updater for GNU packages only available via FTP"
+msgstr ""
+
+#: guix/gnu-maintenance.scm:585
+msgid "Updater for KDE packages"
+msgstr ""
+
+#: guix/gnu-maintenance.scm:592
+msgid "Updater for X.org packages"
+msgstr ""
+
+#: guix/gnu-maintenance.scm:599
+msgid "Updater for packages hosted on kernel.org"
+msgstr ""
+
+#: guix/scripts/container.scm:25
+msgid ""
+"Usage: guix container ACTION ARGS...\n"
+"Build and manipulate Linux containers.\n"
+msgstr ""
+
+#: guix/scripts/container.scm:30
+msgid " exec execute a command inside of an existing container\n"
+msgstr ""
+
+#: guix/scripts/container.scm:53
+#, scheme-format
+msgid "guix container: missing action~%"
+msgstr ""
+
+#: guix/scripts/container.scm:63
+#, scheme-format
+msgid "guix container: invalid action~%"
+msgstr ""
+
+#: guix/scripts/container/exec.scm:40
+msgid ""
+"Usage: guix container exec PID COMMAND [ARGS...]\n"
+"Execute COMMMAND within the container process PID.\n"
+msgstr ""
+
+#: guix/scripts/container/exec.scm:69
+#, scheme-format
+msgid "~a: extraneous argument~%"
+msgstr ""
+
+#: guix/scripts/container/exec.scm:87
+#, scheme-format
+msgid "no pid specified~%"
+msgstr ""
+
+#: guix/scripts/container/exec.scm:90
+#, scheme-format
+msgid "no command specified~%"
+msgstr ""
+
+#: guix/scripts/container/exec.scm:93
+#, scheme-format
+msgid "no such process ~d~%"
+msgstr ""
+
+#: guix/scripts/container/exec.scm:105
+#, scheme-format
+msgid "exec failed with status ~d~%"
+msgstr ""
+
+#: guix/upstream.scm:249
+#, scheme-format
+msgid "signature verification failed for `~a'~%"
+msgstr ""
+
+#: guix/upstream.scm:251
+#, scheme-format
+msgid "(could be because the public key is not in your keyring)~%"
+msgstr ""
+
+#: guix/upstream.scm:330
+#, scheme-format
+msgid "~a: could not locate source file"
+msgstr ""
+
+#: guix/upstream.scm:335
+#, scheme-format
+msgid "~a: ~a: no `version' field in source; skipping~%"
+msgstr ""
+
+#: guix/ui.scm:159
+#, scheme-format
+msgid "~a: unbound variable"
+msgstr ""
+
+#: guix/ui.scm:235
+msgid "entering debugger; type ',bt' for a backtrace\n"
+msgstr ""
+
+#: guix/ui.scm:284
+#, scheme-format
+msgid "hint: ~a~%"
+msgstr ""
+
+#: guix/ui.scm:294 guix/ui.scm:342 guix/ui.scm:349
+#, scheme-format
+msgid "failed to load '~a': ~a~%"
+msgstr ""
+
+#: guix/ui.scm:301
+#, scheme-format
+msgid "~amissing closing parenthesis~%"
+msgstr ""
+
+#: guix/ui.scm:306 guix/ui.scm:322 guix/ui.scm:596
+#, scheme-format
+msgid "~a: error: ~a~%"
+msgstr ""
+
+#: guix/ui.scm:314
+msgid "Did you forget a @code{use-modules} form?"
+msgstr ""
+
+#: guix/ui.scm:316
+#, scheme-format
+msgid "Try adding @code{(use-modules ~a)}."
+msgstr ""
+
+#: guix/ui.scm:329 guix/ui.scm:657
+#, scheme-format
+msgid "exception thrown: ~s~%"
+msgstr ""
+
+#: guix/ui.scm:333 guix/ui.scm:355
+#, scheme-format
+msgid "failed to load '~a':~%"
+msgstr ""
+
+#: guix/ui.scm:345
+#, scheme-format
+msgid "~a: warning: ~a~%"
+msgstr ""
+
+#: guix/ui.scm:352
+#, scheme-format
+msgid "failed to load '~a': exception thrown: ~s~%"
+msgstr ""
+
+#: guix/ui.scm:364
+#, scheme-format
+msgid "failed to install locale: ~a~%"
+msgstr ""
+
+#. TRANSLATORS: Translate "(C)" to the copyright symbol
+#. (C-in-a-circle), if this symbol is available in the user's
+#. locale. Otherwise, do not translate "(C)"; leave it as-is. */
+#: guix/ui.scm:394
+msgid "(C)"
+msgstr ""
+
+#: guix/ui.scm:395
+msgid "the Guix authors\n"
+msgstr ""
+
+#: guix/ui.scm:396
+msgid ""
+"License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>\n"
+"This is free software: you are free to change and redistribute it.\n"
+"There is NO WARRANTY, to the extent permitted by law.\n"
+msgstr ""
+
+#. TRANSLATORS: The placeholder indicates the bug-reporting address for this
+#. package. Please add another line saying "Report translation bugs to
+#. ...\n" with the address for translation bugs (typically your translation
+#. team's web or email address).
+#: guix/ui.scm:408
+#, scheme-format
+msgid ""
+"\n"
+"Report bugs to: ~a."
+msgstr ""
+
+#: guix/ui.scm:410
+#, scheme-format
+msgid ""
+"\n"
+"~a home page: <~a>"
+msgstr ""
+
+#: guix/ui.scm:412
+msgid ""
+"\n"
+"General help using GNU software: <http://www.gnu.org/gethelp/>"
+msgstr ""
+
+#: guix/ui.scm:457
+#, scheme-format
+msgid "'~a' is not a valid regular expression: ~a~%"
+msgstr ""
+
+#: guix/ui.scm:463
+#, scheme-format
+msgid "~a: invalid number~%"
+msgstr ""
+
+#: guix/ui.scm:480
+#, scheme-format
+msgid "invalid number: ~a~%"
+msgstr ""
+
+#: guix/ui.scm:503
+#, scheme-format
+msgid "unknown unit: ~a~%"
+msgstr ""
+
+#: guix/ui.scm:520
+#, scheme-format
+msgid "~a:~a:~a: package `~a' has an invalid input: ~s~%"
+msgstr ""
+
+#: guix/ui.scm:527
+#, scheme-format
+msgid "~a: ~a: build system `~a' does not support cross builds~%"
+msgstr ""
+
+#: guix/ui.scm:533
+#, scheme-format
+msgid "~s: invalid G-expression input~%"
+msgstr ""
+
+#: guix/ui.scm:536
+#, scheme-format
+msgid "profile '~a' does not exist~%"
+msgstr ""
+
+#: guix/ui.scm:539
+#, scheme-format
+msgid "generation ~a of profile '~a' does not exist~%"
+msgstr ""
+
+#: guix/ui.scm:548
+#, scheme-format
+msgid " ... propagated from ~a@~a~%"
+msgstr ""
+
+#: guix/ui.scm:553
+#, scheme-format
+msgid "profile contains conflicting entries for ~a:~a~%"
+msgstr ""
+
+#: guix/ui.scm:556
+#, scheme-format
+msgid " first entry: ~a@~a:~a ~a~%"
+msgstr ""
+
+#: guix/ui.scm:562
+#, scheme-format
+msgid " second entry: ~a@~a:~a ~a~%"
+msgstr ""
+
+#: guix/ui.scm:573
+#, scheme-format
+msgid "corrupt input while restoring '~a' from ~s~%"
+msgstr ""
+
+#: guix/ui.scm:575
+#, scheme-format
+msgid "corrupt input while restoring archive from ~s~%"
+msgstr ""
+
+#: guix/ui.scm:578
+#, scheme-format
+msgid "failed to connect to `~a': ~a~%"
+msgstr ""
+
+#: guix/ui.scm:583
+#, scheme-format
+msgid "build failed: ~a~%"
+msgstr ""
+
+#: guix/ui.scm:586
+#, scheme-format
+msgid "reference to invalid output '~a' of derivation '~a'~%"
+msgstr ""
+
+#: guix/ui.scm:590
+#, scheme-format
+msgid "file '~a' could not be found in these directories:~{ ~a~}~%"
+msgstr ""
+
+#: guix/ui.scm:607
+#, scheme-format
+msgid "~a: ~a~%"
+msgstr ""
+
+#: guix/ui.scm:642
+#, scheme-format
+msgid "failed to read expression ~s: ~s~%"
+msgstr ""
+
+#: guix/ui.scm:648
+#, scheme-format
+msgid "failed to evaluate expression '~a':~%"
+msgstr ""
+
+#: guix/ui.scm:651
+#, scheme-format
+msgid "syntax error: ~a~%"
+msgstr ""
+
+#: guix/ui.scm:669
+#, scheme-format
+msgid "expression ~s does not evaluate to a package~%"
+msgstr ""
+
+#: guix/ui.scm:688
+msgid "at least ~,1h MB needed but only ~,1h MB available in ~a~%"
+msgstr ""
+
+#: guix/ui.scm:756
+#, scheme-format
+msgid "~:[The following derivation would be built:~%~{ ~a~%~}~;~]"
+msgid_plural "~:[The following derivations would be built:~%~{ ~a~%~}~;~]"
+msgstr[0] ""
+msgstr[1] ""
+
+#. TRANSLATORS: "MB" is for "megabyte"; it should be
+#. translated to the corresponding abbreviation.
+#: guix/ui.scm:764
+msgid "~:[~,1h MB would be downloaded:~%~{ ~a~%~}~;~]"
+msgstr ""
+
+#: guix/ui.scm:769
+#, scheme-format
+msgid "~:[The following file would be downloaded:~%~{ ~a~%~}~;~]"
+msgid_plural "~:[The following files would be downloaded:~%~{ ~a~%~}~;~]"
+msgstr[0] ""
+msgstr[1] ""
+
+#: guix/ui.scm:776
+#, scheme-format
+msgid "~:[The following derivation will be built:~%~{ ~a~%~}~;~]"
+msgid_plural "~:[The following derivations will be built:~%~{ ~a~%~}~;~]"
+msgstr[0] ""
+msgstr[1] ""
+
+#. TRANSLATORS: "MB" is for "megabyte"; it should be
+#. translated to the corresponding abbreviation.
+#: guix/ui.scm:784
+msgid "~:[~,1h MB will be downloaded:~%~{ ~a~%~}~;~]"
+msgstr ""
+
+#: guix/ui.scm:789
+#, scheme-format
+msgid "~:[The following file will be downloaded:~%~{ ~a~%~}~;~]"
+msgid_plural "~:[The following files will be downloaded:~%~{ ~a~%~}~;~]"
+msgstr[0] ""
+msgstr[1] ""
+
+#: guix/ui.scm:849
+#, scheme-format
+msgid "The following package would be removed:~%~{~a~%~}~%"
+msgid_plural "The following packages would be removed:~%~{~a~%~}~%"
+msgstr[0] ""
+msgstr[1] ""
+
+#: guix/ui.scm:854
+#, scheme-format
+msgid "The following package will be removed:~%~{~a~%~}~%"
+msgid_plural "The following packages will be removed:~%~{~a~%~}~%"
+msgstr[0] ""
+msgstr[1] ""
+
+#: guix/ui.scm:867
+#, scheme-format
+msgid "The following package would be downgraded:~%~{~a~%~}~%"
+msgid_plural "The following packages would be downgraded:~%~{~a~%~}~%"
+msgstr[0] ""
+msgstr[1] ""
+
+#: guix/ui.scm:872
+#, scheme-format
+msgid "The following package will be downgraded:~%~{~a~%~}~%"
+msgid_plural "The following packages will be downgraded:~%~{~a~%~}~%"
+msgstr[0] ""
+msgstr[1] ""
+
+#: guix/ui.scm:885
+#, scheme-format
+msgid "The following package would be upgraded:~%~{~a~%~}~%"
+msgid_plural "The following packages would be upgraded:~%~{~a~%~}~%"
+msgstr[0] ""
+msgstr[1] ""
+
+#: guix/ui.scm:890
+#, scheme-format
+msgid "The following package will be upgraded:~%~{~a~%~}~%"
+msgid_plural "The following packages will be upgraded:~%~{~a~%~}~%"
+msgstr[0] ""
+msgstr[1] ""
+
+#: guix/ui.scm:901
+#, scheme-format
+msgid "The following package would be installed:~%~{~a~%~}~%"
+msgid_plural "The following packages would be installed:~%~{~a~%~}~%"
+msgstr[0] ""
+msgstr[1] ""
+
+#: guix/ui.scm:906
+#, scheme-format
+msgid "The following package will be installed:~%~{~a~%~}~%"
+msgid_plural "The following packages will be installed:~%~{~a~%~}~%"
+msgstr[0] ""
+msgstr[1] ""
+
+#: guix/ui.scm:923
+msgid "<unknown location>"
+msgstr "<ubicación desconocida>"
+
+#: guix/ui.scm:1285
+#, scheme-format
+msgid "Generation ~a\t~a"
+msgstr ""
+
+#. TRANSLATORS: The word "current" here is an adjective for
+#. "Generation", as in "current generation". Use the appropriate
+#. gender where applicable.
+#: guix/ui.scm:1295
+#, scheme-format
+msgid "~a\t(current)~%"
+msgstr ""
+
+#: guix/ui.scm:1338
+#, scheme-format
+msgid "switched from generation ~a to ~a~%"
+msgstr ""
+
+#: guix/ui.scm:1354
+#, scheme-format
+msgid "deleting ~a~%"
+msgstr ""
+
+#: guix/ui.scm:1385
+#, scheme-format
+msgid "Try `guix --help' for more information.~%"
+msgstr ""
+
+#: guix/ui.scm:1413
+msgid ""
+"Usage: guix COMMAND ARGS...\n"
+"Run COMMAND with ARGS.\n"
+msgstr ""
+
+#: guix/ui.scm:1416
+msgid "COMMAND must be one of the sub-commands listed below:\n"
+msgstr ""
+
+#: guix/ui.scm:1436
+#, scheme-format
+msgid "guix: ~a: command not found~%"
+msgstr ""
+
+#: guix/ui.scm:1466
+#, scheme-format
+msgid "guix: missing command name~%"
+msgstr ""
+
+#: guix/ui.scm:1474
+#, scheme-format
+msgid "guix: unrecognized option '~a'~%"
+msgstr ""
+
+#: guix/http-client.scm:269
+#, scheme-format
+msgid "following redirection to `~a'...~%"
+msgstr ""
+
+#: guix/http-client.scm:281
+#, scheme-format
+msgid "~a: HTTP download failed: ~a (~s)"
+msgstr ""
+
+#: guix/nar.scm:155
+msgid "signature is not a valid s-expression"
+msgstr ""
+
+#: guix/nar.scm:164
+msgid "invalid signature"
+msgstr "firma inválida"
+
+#: guix/nar.scm:168
+msgid "invalid hash"
+msgstr "hash inválido"
+
+#: guix/nar.scm:176
+msgid "unauthorized public key"
+msgstr ""
+
+#: guix/nar.scm:181
+msgid "corrupt signature data"
+msgstr ""
+
+#: guix/nar.scm:201
+msgid "corrupt file set archive"
+msgstr ""
+
+#: guix/nar.scm:211
+#, scheme-format
+msgid "importing file or directory '~a'...~%"
+msgstr ""
+
+#: guix/nar.scm:222
+#, scheme-format
+msgid "found valid signature for '~a'~%"
+msgstr ""
+
+#: guix/nar.scm:229
+msgid "imported file lacks a signature"
+msgstr ""
+
+#: guix/nar.scm:268
+msgid "invalid inter-file archive mark"
+msgstr ""
+
+#: nix/nix-daemon/guix-daemon.cc:66
+msgid "guix-daemon -- perform derivation builds and store accesses"
+msgstr ""
+
+#: nix/nix-daemon/guix-daemon.cc:68
+msgid "This program is a daemon meant to run in the background. It serves requests sent over a Unix-domain socket. It accesses the store, and builds derivations on behalf of its clients."
+msgstr ""
+
+#: nix/nix-daemon/guix-daemon.cc:94
+msgid "SYSTEM"
+msgstr ""
+
+#: nix/nix-daemon/guix-daemon.cc:95
+msgid "assume SYSTEM as the current system type"
+msgstr ""
+
+#: nix/nix-daemon/guix-daemon.cc:96 nix/nix-daemon/guix-daemon.cc:99
+msgid "N"
+msgstr "N"
+
+#: nix/nix-daemon/guix-daemon.cc:97
+msgid "use N CPU cores to build each derivation; 0 means as many as available"
+msgstr ""
+
+#: nix/nix-daemon/guix-daemon.cc:100
+msgid "allow at most N build jobs"
+msgstr ""
+
+#: nix/nix-daemon/guix-daemon.cc:101 nix/nix-daemon/guix-daemon.cc:103
+msgid "SECONDS"
+msgstr ""
+
+#: nix/nix-daemon/guix-daemon.cc:102
+msgid "mark builds as failed after SECONDS of activity"
+msgstr ""
+
+#: nix/nix-daemon/guix-daemon.cc:104
+msgid "mark builds as failed after SECONDS of silence"
+msgstr ""
+
+#: nix/nix-daemon/guix-daemon.cc:106
+msgid "disable chroot builds"
+msgstr ""
+
+#: nix/nix-daemon/guix-daemon.cc:107
+msgid "DIR"
+msgstr ""
+
+#: nix/nix-daemon/guix-daemon.cc:108
+msgid "add DIR to the build chroot"
+msgstr ""
+
+#: nix/nix-daemon/guix-daemon.cc:109
+msgid "GROUP"
+msgstr ""
+
+#: nix/nix-daemon/guix-daemon.cc:110
+msgid "perform builds as a user of GROUP"
+msgstr ""
+
+#: nix/nix-daemon/guix-daemon.cc:112
+msgid "do not use substitutes"
+msgstr ""
+
+#: nix/nix-daemon/guix-daemon.cc:113
+msgid "URLS"
+msgstr ""
+
+#: nix/nix-daemon/guix-daemon.cc:114
+msgid "use URLS as the default list of substitute providers"
+msgstr ""
+
+#: nix/nix-daemon/guix-daemon.cc:116
+msgid "do not use the 'build hook'"
+msgstr ""
+
+#: nix/nix-daemon/guix-daemon.cc:118
+msgid "cache build failures"
+msgstr ""
+
+#: nix/nix-daemon/guix-daemon.cc:120
+msgid "build each derivation N times in a row"
+msgstr ""
+
+#: nix/nix-daemon/guix-daemon.cc:122
+msgid "do not keep build logs"
+msgstr ""
+
+#: nix/nix-daemon/guix-daemon.cc:124
+msgid "disable compression of the build logs"
+msgstr ""
+
+#: nix/nix-daemon/guix-daemon.cc:129
+msgid "disable automatic file \"deduplication\" in the store"
+msgstr ""
+
+#: nix/nix-daemon/guix-daemon.cc:139
+msgid "impersonate Linux 2.6"
+msgstr ""
+
+#: nix/nix-daemon/guix-daemon.cc:143
+msgid "tell whether the GC must keep outputs of live derivations"
+msgstr ""
+
+#: nix/nix-daemon/guix-daemon.cc:146
+msgid "tell whether the GC must keep derivations corresponding to live outputs"
+msgstr ""
+
+#: nix/nix-daemon/guix-daemon.cc:149
+msgid "SOCKET"
+msgstr "SOCKET"
+
+#: nix/nix-daemon/guix-daemon.cc:150
+msgid "listen for connections on SOCKET"
+msgstr "escucha conexiones en SOCKET"
+
+#: nix/nix-daemon/guix-daemon.cc:152
+msgid "produce debugging output"
+msgstr "produce salida de depuración"
diff --git a/po/packages/LINGUAS b/po/packages/LINGUAS
index 89d32381e8..b41856a103 100644
--- a/po/packages/LINGUAS
+++ b/po/packages/LINGUAS
@@ -5,6 +5,7 @@ de
en@boldquot
en@quot
eo
+es
fr
hu
pl
diff --git a/po/packages/es.po b/po/packages/es.po
new file mode 100644
index 0000000000..f204278f93
--- /dev/null
+++ b/po/packages/es.po
@@ -0,0 +1,19381 @@
+# Spanish translation for guix-packages 0.14.0
+# Copyright (C) 2018 Ludovic Courtès
+# This file is distributed under the same license as the guix package.
+# Francisco Javier Serrador <fserrador@gmail.com>, 2018.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: guix-packages 0.14.0\n"
+"Report-Msgid-Bugs-To: ludo@gnu.org\n"
+"POT-Creation-Date: 2017-11-28 08:56+0100\n"
+"PO-Revision-Date: 2018-04-09 14:50+0200\n"
+"Last-Translator: Francisco Javier Serrador <fserrador@gmail.com>\n"
+"Language-Team: Spanish <es@tp.org.es>\n"
+"Language: es\n"
+"X-Bugs: Report translation errors to the Language-Team address.\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Poedit 2.0.4\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+"X-Poedit-SourceCharset: UTF-8\n"
+
+#: gnu/packages/abiword.scm:114
+msgid "Word processing program"
+msgstr ""
+
+#. TRANSLATORS: Dear translator, We would like to inform you that package
+#. descriptions may occasionally include Texinfo markup. Texinfo markup
+#. looks like "@code{rm -rf}", "@emph{important}", etc. When translating,
+#. please leave markup as is.
+#: gnu/packages/abiword.scm:123
+msgid ""
+"AbiWord is a word processing program. It is rapidly\n"
+"becoming a state of the art word processor, with lots of features useful for\n"
+"your daily work, personal needs, or for just some good old typing fun."
+msgstr ""
+
+#: gnu/packages/aspell.scm:70 gnu/packages/libreoffice.scm:715
+msgid "Spell checker"
+msgstr "Comprobador ortográfico"
+
+#: gnu/packages/aspell.scm:72
+msgid ""
+"Aspell is a spell-checker which can be used either as a library or as\n"
+"a standalone program. Notable features of Aspell include its full support of\n"
+"documents written in the UTF-8 encoding and its ability to use multiple\n"
+"dictionaries, including personal ones."
+msgstr ""
+
+#: gnu/packages/aspell.scm:114
+msgid "This package provides a dictionary for the GNU Aspell spell checker."
+msgstr ""
+
+#: gnu/packages/aspell.scm:285 gnu/packages/libreoffice.scm:765
+msgid ""
+"This package provides a dictionary for the Hunspell spell-checking\n"
+"library."
+msgstr ""
+
+#: gnu/packages/aspell.scm:303
+msgid "Hunspell dictionary for English"
+msgstr "Diccionario Hunspell para inglés"
+
+#: gnu/packages/aspell.scm:307
+msgid "Hunspell dictionary for Australian English"
+msgstr "Diccionario Hunspell para inglés australiano"
+
+#: gnu/packages/aspell.scm:311
+msgid "Hunspell dictionary for Canadian English"
+msgstr "Diccionario Hunspell para inglés canadiense"
+
+#: gnu/packages/aspell.scm:315
+msgid "Hunspell dictionary for British English, with -ise endings"
+msgstr "Diccionario Hunspell para inglés británico, con finalización -ise"
+
+#: gnu/packages/aspell.scm:319
+msgid "Hunspell dictionary for British English, with -ize endings"
+msgstr "Diccionario Hunspell para inglés británico, con finalización -ize"
+
+#: gnu/packages/aspell.scm:323
+msgid "Hunspell dictionary for United States English"
+msgstr "Diccionario Hunspell para inglés norteamericano"
+
+#: gnu/packages/audio.scm:128
+msgid "Realtime modular synthesizer and effect processor"
+msgstr ""
+
+#: gnu/packages/audio.scm:130
+msgid ""
+"AlsaModularSynth is a digital implementation of a classical analog\n"
+"modular synthesizer system. It uses virtual control voltages to control the\n"
+"parameters of the modules. The control voltages which control the frequency\n"
+"e.g. of the VCO (Voltage Controlled Oscillator) and VCF (Voltage Controlled\n"
+"Filter) modules follow the convention of 1V / Octave."
+msgstr ""
+
+#: gnu/packages/audio.scm:167
+msgid "Library for audio labelling"
+msgstr ""
+
+#: gnu/packages/audio.scm:169
+msgid ""
+"aubio is a tool designed for the extraction of annotations from audio\n"
+"signals. Its features include segmenting a sound file before each of its\n"
+"attacks, performing pitch detection, tapping the beat and producing MIDI\n"
+"streams from live audio."
+msgstr ""
+
+#: gnu/packages/audio.scm:270
+msgid "Digital audio workstation"
+msgstr ""
+
+#: gnu/packages/audio.scm:272
+msgid ""
+"Ardour is a multi-channel digital audio workstation, allowing users to\n"
+"record, edit, mix and master audio and MIDI projects. It is targeted at audio\n"
+"engineers, musicians, soundtrack editors and composers."
+msgstr ""
+
+#: gnu/packages/audio.scm:407
+msgid "Software for recording and editing sounds"
+msgstr ""
+
+#: gnu/packages/audio.scm:409
+msgid ""
+"Audacity is a multi-track audio editor designed for recording, playing\n"
+"and editing digital audio. It features digital effects and spectrum analysis\n"
+"tools."
+msgstr ""
+
+#: gnu/packages/audio.scm:444
+msgid "Tonewheel organ synthesizer"
+msgstr ""
+
+#: gnu/packages/audio.scm:446
+msgid ""
+"AZR-3 is a port of the free VST plugin AZR-3. It is a tonewheel organ\n"
+"with drawbars, distortion and rotating speakers. The organ has three\n"
+"sections, two polyphonic sections with nine drawbars each and one monophonic\n"
+"bass section with five drawbars. A standalone JACK application and LV2\n"
+"plugins are provided."
+msgstr ""
+
+#: gnu/packages/audio.scm:483
+msgid "Audio plug-in pack for LV2 and JACK environments"
+msgstr ""
+
+#: gnu/packages/audio.scm:485
+msgid ""
+"Calf Studio Gear is an audio plug-in pack for LV2 and JACK environments.\n"
+"The suite contains lots of effects (delay, modulation, signal processing,\n"
+"filters, equalizers, dynamics, distortion and mastering effects),\n"
+"instruments (SF2 player, organ simulator and a monophonic synthesizer) and\n"
+"tools (analyzer, mono/stereo tools, crossovers)."
+msgstr ""
+
+#: gnu/packages/audio.scm:537
+msgid "Software speech synthesizer"
+msgstr ""
+
+#: gnu/packages/audio.scm:538
+msgid ""
+"eSpeak is a software speech synthesizer for English and\n"
+"other languages. eSpeak uses a \"formant synthesis\" method. This allows many\n"
+"languages to be provided in a small size. The speech is clear, and can be used\n"
+"at high speeds, but is not as natural or smooth as larger synthesizers which are\n"
+"based on human speech recordings."
+msgstr ""
+
+#: gnu/packages/audio.scm:585
+msgid "LV2 plugins for live use"
+msgstr ""
+
+#: gnu/packages/audio.scm:587
+msgid ""
+"The infamous plugins are a collection of LV2 audio plugins for live\n"
+"performances. The plugins include a cellular automaton synthesizer, an\n"
+"envelope follower, distortion effects, tape effects and more."
+msgstr ""
+
+#: gnu/packages/audio.scm:628
+msgid "SWH plugins in LV2 format"
+msgstr ""
+
+#: gnu/packages/audio.scm:630
+msgid ""
+"Swh-plugins-lv2 is a collection of audio plugins in LV2 format. Plugin\n"
+"classes include: dynamics (compressor, limiter), time (delay, chorus,\n"
+"flanger), ringmodulator, distortion, filters, pitchshift, oscillators,\n"
+"emulation (valve, tape), bit fiddling (decimator, pointer-cast), etc."
+msgstr ""
+
+#: gnu/packages/audio.scm:664
+msgid "Sound and music computing system"
+msgstr ""
+
+#: gnu/packages/audio.scm:666
+msgid ""
+"Csound is a user-programmable and user-extensible sound processing\n"
+"language and software synthesizer."
+msgstr ""
+
+#: gnu/packages/audio.scm:707 gnu/packages/audio.scm:2808
+msgid "C++ wrapper around the ALSA API"
+msgstr ""
+
+#: gnu/packages/audio.scm:709
+msgid ""
+"clalsadrv is a C++ wrapper around the ALSA API simplifying access to\n"
+"ALSA PCM devices."
+msgstr ""
+
+#: gnu/packages/audio.scm:746
+msgid "LADSPA ambisonics plugins"
+msgstr ""
+
+#: gnu/packages/audio.scm:748
+msgid ""
+"The AMB plugins are a set of LADSPA ambisonics plugins, mainly to be\n"
+"used within Ardour. Features include: mono and stereo to B-format panning,\n"
+"horizontal rotator, square, hexagon and cube decoders."
+msgstr ""
+
+#: gnu/packages/audio.scm:783
+msgid "Chorus, phaser, and vintage high-pass and low-pass filters"
+msgstr ""
+
+#: gnu/packages/audio.scm:785
+msgid ""
+"This package provides various LADSPA plugins. @code{cs_chorus} and\n"
+"@code{cs_phaser} provide chorus and phaser effects, respectively;\n"
+"@code{mvclpf24} provides four implementations of the low-pass filter used in\n"
+"vintage Moog synthesizers; @code{mvchpf24} is based on the voltage-controlled\n"
+"high-pass filter by Robert Moog. The filters attempt to accurately emulate\n"
+"the non-linear circuit elements of their original analog counterparts."
+msgstr ""
+
+#: gnu/packages/audio.scm:823
+msgid "LADSPA reverb plugin"
+msgstr ""
+
+#: gnu/packages/audio.scm:825
+msgid ""
+"This package provides a stereo reverb LADSPA plugin based on the\n"
+"well-known greverb."
+msgstr ""
+
+#: gnu/packages/audio.scm:859
+msgid "LADSPA four-band parametric equalizer plugin"
+msgstr ""
+
+#: gnu/packages/audio.scm:861
+msgid ""
+"This package provides a LADSPA plugin for a four-band parametric\n"
+"equalizer. Each section has an active/bypass switch, frequency, bandwidth and\n"
+"gain controls. There is also a global bypass switch and gain control.\n"
+"\n"
+"The 2nd order resonant filters are implemented using a Mitra-Regalia style\n"
+"lattice filter, which is stable even while parameters are being changed.\n"
+"\n"
+"All switches and controls are internally smoothed, so they can be used 'live'\n"
+"without any clicks or zipper noises. This makes this plugin suitable for use\n"
+"in systems that allow automation of plugin control ports, such as Ardour, or\n"
+"for stage use."
+msgstr ""
+
+#: gnu/packages/audio.scm:904
+msgid "LADSPA stereo width plugin"
+msgstr ""
+
+#: gnu/packages/audio.scm:906
+msgid ""
+"This package provides a LADSPA plugin to manipulate the stereo width of\n"
+"audio signals."
+msgstr ""
+
+#: gnu/packages/audio.scm:941
+msgid "LADSPA plugin for synthesizer oscillators"
+msgstr ""
+
+#: gnu/packages/audio.scm:943
+msgid ""
+"The @code{blvco} LADSPA plugin provides three anti-aliased oscillators:\n"
+"\n"
+"@enumerate\n"
+"@item Pulse-VCO, a dirac pulse oscillator with flat amplitude spectrum\n"
+"@item Saw-VCO, a sawtooth oscillator with 1/F amplitude spectrum\n"
+"@item Rec-VCO, a square / rectange oscillator\n"
+"@end enumerate\n"
+"\n"
+"\n"
+"All oscillators are low-pass filtered to provide waveforms similar to the\n"
+"output of analog synthesizers such as the Moog Voyager."
+msgstr ""
+
+#: gnu/packages/audio.scm:985
+msgid "LADSPA Autowah effect plugin"
+msgstr ""
+
+#: gnu/packages/audio.scm:987
+msgid ""
+"This package provides a LADSPA plugin for a Wah effect with envelope\n"
+"follower."
+msgstr ""
+
+#: gnu/packages/audio.scm:1021
+msgid "LADSPA stereo reverb plugin"
+msgstr ""
+
+#: gnu/packages/audio.scm:1023
+msgid "This package provides a LADSPA plugin for a stereo reverb effect."
+msgstr ""
+
+#: gnu/packages/audio.scm:1061
+msgid "SoundFont synthesizer"
+msgstr "Sintentizado SoundFont"
+
+#: gnu/packages/audio.scm:1063
+msgid ""
+"FluidSynth is a real-time software synthesizer based on the SoundFont 2\n"
+"specifications. FluidSynth reads and handles MIDI events from the MIDI input\n"
+"device. It is the software analogue of a MIDI synthesizer. FluidSynth can\n"
+"also play midifiles using a Soundfont."
+msgstr ""
+
+#: gnu/packages/audio.scm:1094
+msgid "MPEG-4 and MPEG-2 AAC decoder"
+msgstr ""
+
+#: gnu/packages/audio.scm:1096
+msgid ""
+"FAAD2 is an MPEG-4 and MPEG-2 AAC decoder supporting LC, Main, LTP, SBR,\n"
+"PS, and DAB+."
+msgstr ""
+
+#: gnu/packages/audio.scm:1125
+msgid "Signal processing language"
+msgstr ""
+
+#: gnu/packages/audio.scm:1127
+msgid "Faust is a programming language for realtime audio signal processing."
+msgstr ""
+
+#: gnu/packages/audio.scm:1207
+msgid "GUS compatible patches for MIDI players"
+msgstr ""
+
+#: gnu/packages/audio.scm:1209
+msgid ""
+"FreePats is a project to create a free and open set of GUS compatible\n"
+"patches that can be used with softsynths such as Timidity and WildMidi."
+msgstr ""
+
+#: gnu/packages/audio.scm:1261
+msgid "Virtual guitar amplifier"
+msgstr ""
+
+#: gnu/packages/audio.scm:1262
+msgid ""
+"Guitarix is a virtual guitar amplifier running JACK.\n"
+"Guitarix takes the signal from your guitar as a mono-signal from your sound\n"
+"card. The input is processed by a main amp and a rack-section. Both can be\n"
+"routed separately and deliver a processed stereo-signal via JACK. You may\n"
+"fill the rack with effects from more than 25 built-in modules including stuff\n"
+"from a simple noise gate to modulation effects like flanger, phaser or\n"
+"auto-wah."
+msgstr ""
+
+#: gnu/packages/audio.scm:1316
+msgid "Audio effects processor"
+msgstr ""
+
+#: gnu/packages/audio.scm:1318
+msgid ""
+"Rakarrack is a richly featured multi-effects processor emulating a\n"
+"guitar effects pedalboard. Effects include compressor, expander, noise gate,\n"
+"equalizers, exciter, flangers, chorus, various delay and reverb effects,\n"
+"distortion modules and many more. Most of the effects engine is built from\n"
+"modules found in the excellent software synthesizer ZynAddSubFX. Presets and\n"
+"user interface are optimized for guitar, but Rakarrack processes signals in\n"
+"stereo while it does not apply internal band-limiting filtering, and thus is\n"
+"well suited to all musical instruments and vocals."
+msgstr ""
+
+#: gnu/packages/audio.scm:1369
+msgid "LV2 convolution reverb"
+msgstr ""
+
+#: gnu/packages/audio.scm:1371
+msgid ""
+"IR is a low-latency, real-time, high performance signal convolver\n"
+"especially for creating reverb effects. It supports impulse responses with 1,\n"
+"2 or 4 channels, in any soundfile format supported by libsndfile."
+msgstr ""
+
+#: gnu/packages/audio.scm:1401
+msgid "JACK audio connection kit"
+msgstr ""
+
+#: gnu/packages/audio.scm:1403
+msgid ""
+"JACK is a low-latency audio server. It can connect a number of\n"
+"different applications to an audio device, as well as allowing them to share\n"
+"audio between themselves. JACK is different from other audio server efforts\n"
+"in that it has been designed from the ground up to be suitable for\n"
+"professional audio work. This means that it focuses on two key areas:\n"
+"synchronous execution of all clients, and low latency operation."
+msgstr ""
+
+#: gnu/packages/audio.scm:1509
+msgid "Simple LV2 host for JACK"
+msgstr ""
+
+#: gnu/packages/audio.scm:1511
+msgid ""
+"Jalv is a simple but fully featured LV2 host for JACK. It runs LV2\n"
+"plugins and exposes their ports as JACK ports, essentially making any LV2\n"
+"plugin function as a JACK application."
+msgstr ""
+
+#: gnu/packages/audio.scm:1554
+msgid "Linux Audio Developer's Simple Plugin API (LADSPA)"
+msgstr ""
+
+#: gnu/packages/audio.scm:1556
+msgid ""
+"LADSPA is a standard that allows software audio processors and effects\n"
+"to be plugged into a wide range of audio synthesis and recording packages."
+msgstr ""
+
+#: gnu/packages/audio.scm:1602
+msgid "Audio application session manager"
+msgstr ""
+
+#: gnu/packages/audio.scm:1604
+msgid ""
+"LASH is a session management system for audio applications. It allows\n"
+"you to save and restore audio sessions consisting of multiple interconneced\n"
+"applications, restoring program state (i.e. loaded patches) and the\n"
+"connections between them."
+msgstr ""
+
+#: gnu/packages/audio.scm:1625
+msgid "Bauer stereophonic-to-binaural DSP"
+msgstr ""
+
+#: gnu/packages/audio.scm:1627
+msgid ""
+"The Bauer stereophonic-to-binaural DSP (bs2b) library and plugins is\n"
+"designed to improve headphone listening of stereo audio records. Recommended\n"
+"for headphone prolonged listening to disable superstereo fatigue without\n"
+"essential distortions."
+msgstr ""
+
+#: gnu/packages/audio.scm:1650
+msgid "Implementation of the Open Sound Control protocol"
+msgstr ""
+
+#: gnu/packages/audio.scm:1652
+msgid ""
+"liblo is a lightweight library that provides an easy to use\n"
+"implementation of the Open Sound Control (OSC) protocol."
+msgstr ""
+
+#: gnu/packages/audio.scm:1674
+msgid "Python bindings for liblo"
+msgstr ""
+
+#: gnu/packages/audio.scm:1676
+msgid ""
+"Pyliblo is a Python wrapper for the liblo Open Sound Control (OSC)\n"
+"library. It supports almost the complete functionality of liblo, allowing you\n"
+"to send and receive OSC messages using a nice and simple Python API. Also\n"
+"included are the command line utilities @code{send_osc} and @code{dump_osc}."
+msgstr ""
+
+#: gnu/packages/audio.scm:1717
+msgid "Library to simplify use of LV2 plugins in applications"
+msgstr ""
+
+#: gnu/packages/audio.scm:1719
+msgid ""
+"Lilv is a C library to make the use of LV2 plugins as simple as possible\n"
+"for applications. Lilv is the successor to SLV2, rewritten to be\n"
+"significantly faster and have minimal dependencies."
+msgstr ""
+
+#: gnu/packages/audio.scm:1745
+msgid "LV2 audio plugin specification"
+msgstr ""
+
+#: gnu/packages/audio.scm:1747
+msgid ""
+"LV2 is an open specification for audio plugins and host applications.\n"
+"At its core, LV2 is a simple stable interface, accompanied by extensions which\n"
+"add functionality to support the needs of increasingly powerful audio\n"
+"software."
+msgstr ""
+
+#: gnu/packages/audio.scm:1797
+msgid "LV2 port of the mda Piano plugin"
+msgstr ""
+
+#: gnu/packages/audio.scm:1798
+msgid "An LV2 port of the mda Piano VSTi."
+msgstr ""
+
+#: gnu/packages/audio.scm:1811
+msgid "LV2 port of the mda EPiano plugin"
+msgstr ""
+
+#: gnu/packages/audio.scm:1812
+msgid "An LV2 port of the mda EPiano VSTi."
+msgstr ""
+
+#: gnu/packages/audio.scm:1857
+msgid "C++ libraries for LV2 plugins"
+msgstr ""
+
+#: gnu/packages/audio.scm:1859
+msgid ""
+"The LV2 Toolkit (LVTK) contains libraries that wrap the LV2 C API and\n"
+"extensions into easy to use C++ classes. It is the successor of\n"
+"lv2-c++-tools."
+msgstr ""
+
+#: gnu/packages/audio.scm:1900
+msgid "3D audio API"
+msgstr ""
+
+#: gnu/packages/audio.scm:1902
+msgid ""
+"OpenAL provides capabilities for playing audio in a virtual 3D\n"
+"environment. Distance attenuation, doppler shift, and directional sound\n"
+"emitters are among the features handled by the API. More advanced effects,\n"
+"including air absorption, occlusion, and environmental reverb, are available\n"
+"through the EFX extension. It also facilitates streaming audio, multi-channel\n"
+"buffers, and audio capture."
+msgstr ""
+
+#: gnu/packages/audio.scm:1932
+msgid "Free implementation of OpenAL's ALUT standard"
+msgstr ""
+
+#: gnu/packages/audio.scm:1933
+msgid "freealut is the OpenAL Utility Toolkit."
+msgstr ""
+
+#: gnu/packages/audio.scm:1962
+msgid "Modular patch bay for audio and MIDI systems"
+msgstr ""
+
+#: gnu/packages/audio.scm:1964
+msgid ""
+"Patchage is a modular patch bay for audio and MIDI systems based on JACK\n"
+"and ALSA."
+msgstr ""
+
+#: gnu/packages/audio.scm:1990
+msgid "Jack server control application"
+msgstr ""
+
+#: gnu/packages/audio.scm:1991
+msgid ""
+"Control a Jack server. Allows you to plug various sources\n"
+"into various outputs and to start, stop and configure jackd"
+msgstr ""
+
+#: gnu/packages/audio.scm:2017
+msgid "Real-time audio utility library"
+msgstr ""
+
+#: gnu/packages/audio.scm:2019
+msgid ""
+"Raul (Real-time Audio Utility Library) is a C++ utility library primarily\n"
+"aimed at audio/musical applications."
+msgstr ""
+
+#: gnu/packages/audio.scm:2062
+msgid "Audio time-stretching and pitch-shifting library"
+msgstr ""
+
+#: gnu/packages/audio.scm:2064
+msgid ""
+"Rubber Band is a library and utility program that permits changing the\n"
+"tempo and pitch of an audio recording independently of one another."
+msgstr ""
+
+#: gnu/packages/audio.scm:2112
+msgid "Cross-platform MIDI library for C++"
+msgstr ""
+
+#: gnu/packages/audio.scm:2114
+msgid ""
+"RtMidi is a set of C++ classes (RtMidiIn, RtMidiOut, and API specific\n"
+"classes) that provide a common cross-platform API for realtime MIDI\n"
+"input/output."
+msgstr ""
+
+#: gnu/packages/audio.scm:2139
+msgid "Library for serialising LV2 atoms to/from RDF"
+msgstr ""
+
+#: gnu/packages/audio.scm:2141
+msgid ""
+"Sratom is a library for serialising LV2 atoms to/from RDF, particularly\n"
+"the Turtle syntax."
+msgstr ""
+
+#: gnu/packages/audio.scm:2169
+msgid "Library for loading and wrapping LV2 plugin UIs"
+msgstr ""
+
+#: gnu/packages/audio.scm:2171
+msgid ""
+"Suil is a lightweight C library for loading and wrapping LV2 plugin UIs.\n"
+"\n"
+"Suil makes it possible to load a UI of a toolkit in a host using another\n"
+"toolkit. The API is designed such that hosts do not need to explicitly\n"
+"support specific toolkits – if Suil supports a particular toolkit, then UIs in\n"
+"that toolkit will work in all hosts that use Suil automatically.\n"
+"\n"
+"Suil currently supports every combination of Gtk, Qt, and X11."
+msgstr ""
+
+#: gnu/packages/audio.scm:2228
+msgid "Software synthesizer for playing MIDI files"
+msgstr ""
+
+#: gnu/packages/audio.scm:2230
+msgid ""
+"TiMidity++ is a software synthesizer. It can play MIDI files by\n"
+"converting them into PCM waveform data; give it a MIDI data along with digital\n"
+"instrument data files, then it synthesizes them in real-time, and plays. It\n"
+"can not only play sounds, but also can save the generated waveforms into hard\n"
+"disks as various audio file formats."
+msgstr ""
+
+#: gnu/packages/audio.scm:2268
+msgid "Modular and extensible audio processing system"
+msgstr ""
+
+#: gnu/packages/audio.scm:2270
+msgid ""
+"Vamp is an audio processing plugin system for plugins that extract\n"
+"descriptive information from audio data — typically referred to as audio\n"
+"analysis plugins or audio feature extraction plugins."
+msgstr ""
+
+#: gnu/packages/audio.scm:2309
+msgid "Library for time stretching and pitch scaling of audio"
+msgstr ""
+
+#: gnu/packages/audio.scm:2311
+msgid ""
+"SBSMS (Subband Sinusoidal Modeling Synthesis) is software for time\n"
+"stretching and pitch scaling of audio. This package contains the library."
+msgstr ""
+
+#: gnu/packages/audio.scm:2330
+msgid "Hybrid lossless audio codec"
+msgstr ""
+
+#: gnu/packages/audio.scm:2332
+msgid ""
+"WavPack is an audio compression format with lossless, lossy and hybrid\n"
+"compression modes. This package contains command-line programs and library to\n"
+"encode and decode wavpack files."
+msgstr ""
+
+#: gnu/packages/audio.scm:2351
+msgid "Mod file playing library"
+msgstr ""
+
+#: gnu/packages/audio.scm:2353
+msgid ""
+"Libmodplug renders mod music files as raw audio data, for playing or\n"
+"conversion. mod, .s3m, .it, .xm, and a number of lesser-known formats are\n"
+"supported. Optional features include high-quality resampling, bass expansion,\n"
+"surround and reverb."
+msgstr ""
+
+#: gnu/packages/audio.scm:2372
+msgid "Module player library"
+msgstr ""
+
+#: gnu/packages/audio.scm:2374
+msgid ""
+"Libxmp is a library that renders module files to PCM data. It supports\n"
+"over 90 mainstream and obscure module formats including Protracker (MOD),\n"
+"Scream Tracker 3 (S3M), Fast Tracker II (XM), and Impulse Tracker (IT)."
+msgstr ""
+
+#: gnu/packages/audio.scm:2397
+msgid "Extended module player"
+msgstr ""
+
+#: gnu/packages/audio.scm:2399
+msgid ""
+"Xmp is a portable module player that plays over 90 mainstream and\n"
+"obscure module formats, including Protracker MOD, Fasttracker II XM, Scream\n"
+"Tracker 3 S3M and Impulse Tracker IT files."
+msgstr ""
+
+#: gnu/packages/audio.scm:2430
+msgid "Audio processing library for changing tempo, pitch and playback rate"
+msgstr ""
+
+#: gnu/packages/audio.scm:2432
+msgid ""
+"SoundTouch is an audio processing library for changing the tempo, pitch\n"
+"and playback rates of audio streams or audio files. It is intended for\n"
+"application developers writing sound processing tools that require tempo/pitch\n"
+"control functionality, or just for playing around with the sound effects."
+msgstr ""
+
+#: gnu/packages/audio.scm:2469
+msgid "Sound processing utility"
+msgstr ""
+
+#: gnu/packages/audio.scm:2471
+msgid ""
+"SoX (Sound eXchange) is a command line utility that can convert\n"
+"various formats of computer audio files to other formats. It can also\n"
+"apply various effects to these sound files, and, as an added bonus, SoX\n"
+"can play and record audio files."
+msgstr ""
+
+#: gnu/packages/audio.scm:2494
+msgid "One-dimensional sample-rate conversion library"
+msgstr ""
+
+#: gnu/packages/audio.scm:2496
+msgid ""
+"The SoX Resampler library (libsoxr) performs one-dimensional sample-rate\n"
+"conversion. It may be used, for example, to resample PCM-encoded audio."
+msgstr ""
+
+#: gnu/packages/audio.scm:2526
+msgid "MPEG Audio Layer 2 (MP2) encoder"
+msgstr ""
+
+#: gnu/packages/audio.scm:2528
+msgid ""
+"TwoLAME is an optimised MPEG Audio Layer 2 (MP2) encoder based on\n"
+"tooLAME by Mike Cheng, which in turn is based upon the ISO dist10 code and\n"
+"portions of LAME."
+msgstr ""
+
+#: gnu/packages/audio.scm:2567
+msgid "Audio I/O library"
+msgstr ""
+
+#: gnu/packages/audio.scm:2569
+msgid ""
+"PortAudio is a portable C/C++ audio I/O library providing a simple API\n"
+"to record and/or play sound using a callback function or a blocking read/write\n"
+"interface."
+msgstr ""
+
+#: gnu/packages/audio.scm:2599
+msgid "Graphical user interface for FluidSynth"
+msgstr ""
+
+#: gnu/packages/audio.scm:2601
+msgid ""
+"Qsynth is a GUI front-end application for the FluidSynth SoundFont\n"
+"synthesizer written in C++."
+msgstr ""
+
+#: gnu/packages/audio.scm:2638
+msgid "Networked audio system"
+msgstr ""
+
+#: gnu/packages/audio.scm:2640
+msgid ""
+"RSound allows you to send audio from an application and transfer it\n"
+"directly to a different computer on your LAN network. It is an audio daemon\n"
+"with a much different focus than most other audio daemons."
+msgstr ""
+
+#: gnu/packages/audio.scm:2671
+msgid "JACK audio frequency analyzer and display"
+msgstr ""
+
+#: gnu/packages/audio.scm:2673
+msgid ""
+"XJackFreak is an audio analysis and equalizing tool for the Jack Audio\n"
+"Connection Kit. It can display the FFT of any input, modify it and output the\n"
+"result."
+msgstr ""
+
+#: gnu/packages/audio.scm:2717
+msgid "Fast, partitioned convolution engine library"
+msgstr ""
+
+#: gnu/packages/audio.scm:2719
+msgid ""
+"Zita convolver is a C++ library providing a real-time convolution\n"
+"engine."
+msgstr ""
+
+#: gnu/packages/audio.scm:2764
+msgid "C++ library for resampling audio signals"
+msgstr ""
+
+#: gnu/packages/audio.scm:2766
+msgid ""
+"Libzita-resampler is a C++ library for resampling audio signals. It is\n"
+"designed to be used within a real-time processing context, to be fast, and to\n"
+"provide high-quality sample rate conversion."
+msgstr ""
+
+#: gnu/packages/audio.scm:2810
+msgid ""
+"Zita-alsa-pcmi is a C++ wrapper around the ALSA API. It provides easy\n"
+"access to ALSA PCM devices, taking care of the many functions required to\n"
+"open, initialise and use a hw: device in mmap mode, and providing floating\n"
+"point audio data."
+msgstr ""
+
+#: gnu/packages/audio.scm:2841
+msgid "Cue and toc file parsers and utilities"
+msgstr ""
+
+#: gnu/packages/audio.scm:2842
+msgid ""
+"Cuetools is a set of programs that are useful for manipulating\n"
+"and using CUE sheet (cue) files and Table of Contents (toc) files. CUE and TOC\n"
+"files are a way to represent the layout of a data or audio CD in a\n"
+"machine-readable ASCII format."
+msgstr ""
+
+#: gnu/packages/audio.scm:2861
+msgid "WAVE audio data processing tool"
+msgstr ""
+
+#: gnu/packages/audio.scm:2862
+msgid ""
+"shntool is a multi-purpose WAVE data processing and reporting\n"
+"utility. File formats are abstracted from its core, so it can process any file\n"
+"that contains WAVE data, compressed or not---provided there exists a format\n"
+"module to handle that particular file type. It can also generate CUE files, and\n"
+"use them split WAVE data into multiple files."
+msgstr ""
+
+#: gnu/packages/audio.scm:2900
+msgid "DTS Coherent Acoustics decoder"
+msgstr ""
+
+#: gnu/packages/audio.scm:2901
+msgid ""
+"Dcadec is a DTS Coherent Acoustics surround sound decoder\n"
+"with support for HD extensions."
+msgstr ""
+
+#: gnu/packages/audio.scm:2922
+msgid "Tool to adjust loudness of media files"
+msgstr ""
+
+#: gnu/packages/audio.scm:2924
+msgid ""
+"BS1770GAIN is a loudness scanner compliant with ITU-R BS.1770 and its\n"
+"flavors EBU R128, ATSC A/85, and ReplayGain 2.0. It helps normalizing the\n"
+"loudness of audio and video files to the same level."
+msgstr ""
+
+#: gnu/packages/audio.scm:2955
+msgid "Lightweight audio filtering library"
+msgstr ""
+
+#: gnu/packages/audio.scm:2956
+msgid ""
+"An easy to use audio filtering library made from webrtc\n"
+"code, used in @code{libtoxcore}."
+msgstr ""
+
+#: gnu/packages/audio.scm:3000
+msgid "GSM 06.10 lossy speech compression library"
+msgstr ""
+
+#: gnu/packages/audio.scm:3001
+msgid ""
+"This C library provides an encoder and a decoder for the GSM\n"
+"06.10 RPE-LTP lossy speech compression algorithm."
+msgstr ""
+
+#: gnu/packages/audio.scm:3022
+msgid "ALSA wrappers for Python"
+msgstr ""
+
+#: gnu/packages/audio.scm:3024
+msgid ""
+"This package contains wrappers for accessing the ALSA API from Python.\n"
+"It is currently fairly complete for PCM devices, and has some support for\n"
+"mixers."
+msgstr ""
+
+#: gnu/packages/audio.scm:3083
+msgid "Sound editor"
+msgstr ""
+
+#: gnu/packages/audio.scm:3086
+msgid ""
+"Snd is a sound editor modelled loosely after Emacs. It can be\n"
+"customized and extended using either the s7 Scheme implementation (included in\n"
+"the Snd sources), Ruby, or Forth."
+msgstr ""
+
+#: gnu/packages/backup.scm:112
+msgid "Encrypted backup using rsync algorithm"
+msgstr ""
+
+#: gnu/packages/backup.scm:114
+msgid ""
+"Duplicity backs up directories by producing encrypted tar-format volumes\n"
+"and uploading them to a remote or local file server. Because duplicity uses\n"
+"librsync, the incremental archives are space efficient and only record the\n"
+"parts of files that have changed since the last backup. Because duplicity\n"
+"uses GnuPG to encrypt and/or sign these archives, they will be safe from\n"
+"spying and/or modification by the server."
+msgstr ""
+
+#: gnu/packages/backup.scm:143
+msgid "File verification and repair tools"
+msgstr ""
+
+#: gnu/packages/backup.scm:144
+msgid ""
+"Par2cmdline uses Reed-Solomon error-correcting codes to\n"
+"generate and verify PAR2 recovery files. These files can be distributed\n"
+"alongside the source files or stored together with back-ups to protect against\n"
+"transmission errors or @dfn{bit rot}, the degradation of storage media over\n"
+"time.\n"
+"Unlike a simple checksum, PAR2 doesn't merely detect errors: as long as the\n"
+"damage isn't too extensive (and smaller than the size of the recovery file), it\n"
+"can even repair them."
+msgstr ""
+
+#: gnu/packages/backup.scm:180
+msgid "Simple incremental backup tool"
+msgstr ""
+
+#: gnu/packages/backup.scm:182
+msgid ""
+"Hdup2 is a backup utility, its aim is to make backup really simple. The\n"
+"backup scheduling is done by means of a cron job. It supports an\n"
+"include/exclude mechanism, remote backups, encrypted backups and split\n"
+"backups (called chunks) to allow easy burning to CD/DVD."
+msgstr ""
+
+#: gnu/packages/backup.scm:236
+msgid "Multi-format archive and compression library"
+msgstr ""
+
+#: gnu/packages/backup.scm:238
+msgid ""
+"Libarchive provides a flexible interface for reading and writing\n"
+"archives in various formats such as tar and cpio. Libarchive also supports\n"
+"reading and writing archives compressed using various compression filters such\n"
+"as gzip and bzip2. The library is inherently stream-oriented; readers\n"
+"serially iterate through the archive, writers serially add things to the\n"
+"archive. In particular, note that there is currently no built-in support for\n"
+"random access nor for in-place modification."
+msgstr ""
+
+#: gnu/packages/backup.scm:315
+msgid "Provide a list of files to backup"
+msgstr ""
+
+#: gnu/packages/backup.scm:317
+msgid ""
+"Rdup is a utility inspired by rsync and the plan9 way of doing backups.\n"
+"Rdup itself does not backup anything, it only print a list of absolute\n"
+"file names to standard output. Auxiliary scripts are needed that act on this\n"
+"list and implement the backup strategy."
+msgstr ""
+
+#: gnu/packages/backup.scm:347
+msgid "Tar-compatible archiver"
+msgstr ""
+
+#: gnu/packages/backup.scm:349
+msgid ""
+"Btar is a tar-compatible archiver which allows arbitrary compression and\n"
+"ciphering, redundancy, differential backup, indexed extraction, multicore\n"
+"compression, input and output serialisation, and tolerance to partial archive\n"
+"errors."
+msgstr ""
+
+#: gnu/packages/backup.scm:375
+msgid "Local/remote mirroring+incremental backup"
+msgstr ""
+
+#: gnu/packages/backup.scm:377
+msgid ""
+"Rdiff-backup backs up one directory to another, possibly over a network.\n"
+"The target directory ends up a copy of the source directory, but extra reverse\n"
+"diffs are stored in a special subdirectory of that target directory, so you\n"
+"can still recover files lost some time ago. The idea is to combine the best\n"
+"features of a mirror and an incremental backup. Rdiff-backup also preserves\n"
+"subdirectories, hard links, dev files, permissions, uid/gid ownership,\n"
+"modification times, extended attributes, acls, and resource forks. Also,\n"
+"rdiff-backup can operate in a bandwidth efficient manner over a pipe, like\n"
+"rsync. Thus you can use rdiff-backup and ssh to securely back a hard drive up\n"
+"to a remote location, and only the differences will be transmitted. Finally,\n"
+"rdiff-backup is easy to use and settings have sensible defaults."
+msgstr ""
+
+#: gnu/packages/backup.scm:419
+msgid "Deduplicating snapshot backup utility based on rsync"
+msgstr ""
+
+#: gnu/packages/backup.scm:420
+msgid ""
+"rsnapshot is a filesystem snapshot utility based on rsync.\n"
+"rsnapshot makes it easy to make periodic snapshots of local machines, and\n"
+"remote machines over SSH. To reduce the disk space required for each backup,\n"
+"rsnapshot uses hard links to deduplicate identical files."
+msgstr ""
+
+#: gnu/packages/backup.scm:455
+msgid "Tools & library for data backup and distributed storage"
+msgstr ""
+
+#: gnu/packages/backup.scm:457
+msgid ""
+"Libchop is a set of utilities and library for data backup and\n"
+"distributed storage. Its main application is @command{chop-backup}, an\n"
+"encrypted backup program that supports data integrity checks, versioning,\n"
+"distribution among several sites, selective sharing of stored data, adaptive\n"
+"compression, and more. The library itself implements storage techniques such\n"
+"as content-addressable storage, content hash keys, Merkle trees, similarity\n"
+"detection, and lossless compression."
+msgstr ""
+
+#: gnu/packages/backup.scm:556
+msgid "Deduplicated, encrypted, authenticated and compressed backups"
+msgstr ""
+
+#: gnu/packages/backup.scm:557
+msgid ""
+"Borg is a deduplicating backup program. Optionally, it\n"
+"supports compression and authenticated encryption. The main goal of Borg is to\n"
+"provide an efficient and secure way to backup data. The data deduplication\n"
+"technique used makes Borg suitable for daily backups since only changes are\n"
+"stored. The authenticated encryption technique makes it suitable for backups\n"
+"to not fully trusted targets. Borg is a fork of Attic."
+msgstr ""
+
+#: gnu/packages/backup.scm:603
+msgid "Deduplicating backup program"
+msgstr ""
+
+#: gnu/packages/backup.scm:604
+msgid ""
+"Attic is a deduplicating backup program. The main goal of\n"
+"Attic is to provide an efficient and secure way to backup data. The data\n"
+"deduplication technique used makes Attic suitable for daily backups since only\n"
+"changes are stored."
+msgstr ""
+
+#: gnu/packages/backup.scm:634
+msgid "WIM file manipulation library and utilities"
+msgstr ""
+
+#: gnu/packages/backup.scm:635
+msgid ""
+"wimlib is a C library and set of command-line utilities for\n"
+"creating, modifying, extracting, and mounting archives in the Windows Imaging\n"
+"Format (@dfn{WIM files}). It can capture and apply WIMs directly from and to\n"
+"NTFS volumes using @code{ntfs-3g}, preserving NTFS-specific attributes."
+msgstr ""
+
+#: gnu/packages/backup.scm:692
+msgid "Easy and secure backup program"
+msgstr ""
+
+#: gnu/packages/backup.scm:693
+msgid ""
+"Obnam is an easy, secure backup program. Features\n"
+"include snapshot backups, data de-duplication and encrypted backups\n"
+"using GnuPG. Backups can be stored on local hard disks, or online via\n"
+"the SSH SFTP protocol. The backup server, if used, does not require\n"
+"any special software, on top of SSH."
+msgstr ""
+
+#: gnu/packages/backup.scm:799
+msgid "Fast, disk based, rotating network backup system"
+msgstr ""
+
+#: gnu/packages/backup.scm:801
+msgid ""
+"With dirvish you can maintain a set of complete images of your\n"
+"filesystems with unattended creation and expiration. A dirvish backup vault\n"
+"is like a time machine for your data. "
+msgstr ""
+
+#: gnu/packages/base.scm:73
+msgid "Hello, GNU world: An example GNU package"
+msgstr ""
+
+#: gnu/packages/base.scm:75
+msgid ""
+"GNU Hello prints the message \"Hello, world!\" and then exits. It\n"
+"serves as an example of standard GNU coding practices. As such, it supports\n"
+"command-line arguments, multiple languages, and so on."
+msgstr ""
+
+#: gnu/packages/base.scm:110
+msgid "Print lines matching a pattern"
+msgstr ""
+
+#: gnu/packages/base.scm:112
+msgid ""
+"grep is a tool for finding text inside files. Text is found by\n"
+"matching a pattern provided by the user in one or many files. The pattern\n"
+"may be provided as a basic or extended regular expression, or as fixed\n"
+"strings. By default, the matching text is simply printed to the screen,\n"
+"however the output can be greatly customized to include, for example, line\n"
+"numbers. GNU grep offers many extensions over the standard utility,\n"
+"including, for example, recursive directory searching."
+msgstr ""
+
+#: gnu/packages/base.scm:134
+msgid "Stream editor"
+msgstr ""
+
+#: gnu/packages/base.scm:156
+msgid ""
+"Sed is a non-interactive, text stream editor. It receives a text\n"
+"input from a file or from standard input and it then applies a series of text\n"
+"editing commands to the stream and prints its output to standard output. It\n"
+"is often used for substituting text patterns in a stream. The GNU\n"
+"implementation offers several extensions over the standard utility."
+msgstr ""
+
+#: gnu/packages/base.scm:196
+msgid "Managing tar archives"
+msgstr ""
+
+#: gnu/packages/base.scm:198
+msgid ""
+"Tar provides the ability to create tar archives, as well as the\n"
+"ability to extract, update or list files in an existing archive. It is\n"
+"useful for combining many files into one larger file, while maintaining\n"
+"directory structure and file information such as permissions and\n"
+"creation/modification dates. GNU tar offers many extensions over the\n"
+"standard utility."
+msgstr ""
+
+#: gnu/packages/base.scm:221
+msgid "Apply differences to originals, with optional backups"
+msgstr ""
+
+#: gnu/packages/base.scm:223
+msgid ""
+"Patch is a program that applies changes to files based on differences\n"
+"laid out as by the program \"diff\". The changes may be applied to one or more\n"
+"files depending on the contents of the diff file. It accepts several\n"
+"different diff formats. It may also be used to revert previously applied\n"
+"differences."
+msgstr ""
+
+#: gnu/packages/base.scm:243
+msgid "Comparing and merging files"
+msgstr ""
+
+#: gnu/packages/base.scm:245
+msgid ""
+"GNU Diffutils is a package containing tools for finding the\n"
+"differences between files. The \"diff\" command is used to show how two files\n"
+"differ, while \"cmp\" shows the offsets and line numbers where they differ.\n"
+"\"diff3\" allows you to compare three files. Finally, \"sdiff\" offers an\n"
+"interactive means to merge two files."
+msgstr ""
+
+#: gnu/packages/base.scm:282
+msgid "Operating on files matching given criteria"
+msgstr ""
+
+#: gnu/packages/base.scm:284
+msgid ""
+"Findutils supplies the basic file directory searching utilities of the\n"
+"GNU system. It consists of two primary searching utilities: \"find\"\n"
+"recursively searches for files in a directory according to given criteria and\n"
+"\"locate\" lists files in a database that match a query. Two auxiliary tools\n"
+"are included: \"updatedb\" updates the file name database and \"xargs\" may be\n"
+"used to apply commands with arbitrarily long arguments."
+msgstr ""
+
+#: gnu/packages/base.scm:340
+msgid "Core GNU utilities (file, text, shell)"
+msgstr ""
+
+#: gnu/packages/base.scm:342
+msgid ""
+"GNU Coreutils includes all of the basic command-line tools that are\n"
+"expected in a POSIX system. These provide the basic file, shell and text\n"
+"manipulation functions of the GNU system. Most of these tools offer extended\n"
+"functionality beyond that which is outlined in the POSIX standard."
+msgstr ""
+
+#: gnu/packages/base.scm:384
+msgid "Remake files automatically"
+msgstr ""
+
+#: gnu/packages/base.scm:386
+msgid ""
+"Make is a program that is used to control the production of\n"
+"executables or other files from their source files. The process is\n"
+"controlled from a Makefile, in which the developer specifies how each file is\n"
+"generated from its source. It has powerful dependency resolution and the\n"
+"ability to determine when files have to be regenerated after their sources\n"
+"change. GNU make offers many powerful extensions over the standard utility."
+msgstr ""
+
+#: gnu/packages/base.scm:428
+msgid "Binary utilities: bfd gas gprof ld"
+msgstr ""
+
+#: gnu/packages/base.scm:430
+msgid ""
+"GNU Binutils is a collection of tools for working with binary files.\n"
+"Perhaps the most notable are \"ld\", a linker, and \"as\", an assembler.\n"
+"Other tools include programs to display binary profiling information, list\n"
+"the strings in a binary file, and utilities for working with archives. The\n"
+"\"bfd\" library for working with executable and object formats is also\n"
+"included."
+msgstr ""
+
+#: gnu/packages/base.scm:517
+msgid "The linker wrapper"
+msgstr ""
+
+#: gnu/packages/base.scm:519
+msgid ""
+"The linker wrapper (or 'ld-wrapper') wraps the linker to add any\n"
+"missing '-rpath' flags, and to detect any misuse of libraries outside of the\n"
+"store."
+msgstr ""
+
+#: gnu/packages/base.scm:695
+msgid "The GNU C Library"
+msgstr ""
+
+#: gnu/packages/base.scm:697
+msgid ""
+"Any Unix-like operating system needs a C library: the library which\n"
+"defines the \"system calls\" and other basic facilities such as open, malloc,\n"
+"printf, exit...\n"
+"\n"
+"The GNU C library is used as the C library in the GNU system and most systems\n"
+"with the Linux kernel."
+msgstr ""
+
+#: gnu/packages/base.scm:775
+msgid "The GNU C Library (GNU Hurd variant)"
+msgstr ""
+
+#: gnu/packages/base.scm:887
+msgid "All the locales supported by the GNU C Library"
+msgstr ""
+
+#: gnu/packages/base.scm:889
+msgid ""
+"This package provides all the locales supported by the GNU C Library,\n"
+"more than 400 in total. To use them set the 'LOCPATH' environment variable to\n"
+"the 'share/locale' sub-directory of this package."
+msgstr ""
+
+#: gnu/packages/base.scm:957
+msgid "Small sample of UTF-8 locales"
+msgstr ""
+
+#: gnu/packages/base.scm:959
+msgid ""
+"This package provides a small sample of UTF-8 locales mostly useful in\n"
+"test environments."
+msgstr ""
+
+#: gnu/packages/base.scm:977
+msgid "Find full path of shell commands"
+msgstr ""
+
+#: gnu/packages/base.scm:979
+msgid ""
+"The which program finds the location of executables in PATH, with a\n"
+"variety of options. It is an alternative to the shell \"type\" built-in\n"
+"command."
+msgstr ""
+
+#: gnu/packages/base.scm:1084
+msgid "Database of current and historical time zones"
+msgstr ""
+
+#: gnu/packages/base.scm:1085
+msgid ""
+"The Time Zone Database (often called tz or zoneinfo)\n"
+"contains code and data that represent the history of local time for many\n"
+"representative locations around the globe. It is updated periodically to\n"
+"reflect changes made by political bodies to time zone boundaries, UTC offsets,\n"
+"and daylight-saving rules."
+msgstr ""
+
+#: gnu/packages/base.scm:1136
+msgid "Character set conversion library"
+msgstr ""
+
+#: gnu/packages/base.scm:1138
+msgid ""
+"libiconv provides an implementation of the iconv function for systems\n"
+"that lack it. iconv is used to convert between character encodings in a\n"
+"program. It supports a wide variety of different encodings."
+msgstr ""
+
+#: gnu/packages/bittorrent.scm:108
+msgid "Fast and easy BitTorrent client"
+msgstr ""
+
+#: gnu/packages/bittorrent.scm:110
+msgid ""
+"Transmission is a BitTorrent client that comes with graphical,\n"
+"textual, and Web user interfaces. Transmission also has a daemon for\n"
+"unattended operations. It supports local peer discovery, full encryption,\n"
+"DHT, µTP, PEX and Magnet Links."
+msgstr ""
+
+#: gnu/packages/bittorrent.scm:142
+msgid "BitTorrent library of rtorrent"
+msgstr ""
+
+#: gnu/packages/bittorrent.scm:144
+msgid ""
+"LibTorrent is a BitTorrent library used by and developed in parallel\n"
+"with the BitTorrent client rtorrent. It is written in C++ with emphasis on\n"
+"speed and efficiency."
+msgstr ""
+
+#: gnu/packages/bittorrent.scm:171
+msgid "BitTorrent client with ncurses interface"
+msgstr ""
+
+#: gnu/packages/bittorrent.scm:173
+msgid ""
+"rTorrent is a BitTorrent client with an ncurses interface. It supports\n"
+"full encryption, DHT, PEX, and Magnet Links. It can also be controlled via\n"
+"XML-RPC over SCGI."
+msgstr ""
+
+#: gnu/packages/bittorrent.scm:217 gnu/packages/bittorrent.scm:258
+msgid "Console client for the Transmission BitTorrent daemon"
+msgstr ""
+
+#: gnu/packages/bittorrent.scm:218
+msgid ""
+"Tremc is a console client, with a curses interface, for the\n"
+"Transmission BitTorrent daemon."
+msgstr ""
+
+#: gnu/packages/bittorrent.scm:259
+msgid ""
+"Transmission-remote-cli is a console client, with a curses\n"
+"interface, for the Transmission BitTorrent daemon. This package is no longer\n"
+"maintained upstream."
+msgstr ""
+
+#: gnu/packages/bittorrent.scm:307
+msgid "Utility for parallel downloading files"
+msgstr ""
+
+#: gnu/packages/bittorrent.scm:309
+msgid ""
+"Aria2 is a lightweight, multi-protocol & multi-source command-line\n"
+"download utility. It supports HTTP/HTTPS, FTP, SFTP, BitTorrent and Metalink.\n"
+"Aria2 can be manipulated via built-in JSON-RPC and XML-RPC interfaces."
+msgstr ""
+
+#: gnu/packages/bittorrent.scm:342
+msgid "Universal download manager with GTK+ interface"
+msgstr ""
+
+#: gnu/packages/bittorrent.scm:344
+msgid ""
+"uGet is portable download manager with GTK+ interface supporting\n"
+"HTTP, HTTPS, BitTorrent and Metalink, supporting multi-connection\n"
+"downloads, download scheduling, download rate limiting."
+msgstr ""
+
+#: gnu/packages/bittorrent.scm:372
+msgid "Utility to create BitTorrent metainfo files"
+msgstr ""
+
+#: gnu/packages/bittorrent.scm:373
+msgid ""
+"mktorrent is a simple command-line utility to create\n"
+"BitTorrent @dfn{metainfo} files, often known simply as @dfn{torrents}, from\n"
+"both single files and whole directories. It can add multiple trackers and web\n"
+"seed URLs, and set the @code{private} flag to disallow advertisement through\n"
+"the distributed hash table (DHT) and Peer Exchange. Hashing is multi-threaded\n"
+"and will take advantage of multiple processor cores where possible."
+msgstr ""
+
+#: gnu/packages/bittorrent.scm:414
+msgid "Feature complete BitTorrent implementation"
+msgstr ""
+
+#: gnu/packages/bittorrent.scm:416
+msgid ""
+"libtorrent-rasterbar is a feature complete C++ BitTorrent implementation\n"
+"focusing on efficiency and scalability. It runs on embedded devices as well as\n"
+"desktops."
+msgstr ""
+
+#: gnu/packages/certs.scm:66
+msgid "Python script to extract .pem data from certificate collection"
+msgstr ""
+
+#: gnu/packages/certs.scm:68
+msgid ""
+"certdata2pem.py is a Python script to transform X.509 certificate\n"
+"\"source code\" as contained, for example, in the Mozilla sources, into\n"
+".pem formatted certificates."
+msgstr ""
+
+#: gnu/packages/certs.scm:137
+msgid "CA certificates from Mozilla"
+msgstr ""
+
+#: gnu/packages/certs.scm:139
+msgid ""
+"This package provides certificates for Certification Authorities (CA)\n"
+"taken from the NSS package and thus ultimately from the Mozilla project."
+msgstr ""
+
+#: gnu/packages/certs.scm:208
+msgid "Let's Encrypt root and intermediate certificates"
+msgstr ""
+
+#: gnu/packages/certs.scm:209
+msgid ""
+"This package provides a certificate store containing only the\n"
+"Let's Encrypt root and intermediate certificates. It is intended to be used\n"
+"within Guix."
+msgstr ""
+
+#: gnu/packages/compression.scm:100
+msgid "Compression library"
+msgstr ""
+
+#: gnu/packages/compression.scm:102
+msgid ""
+"zlib is designed to be a free, general-purpose, legally unencumbered --\n"
+"that is, not covered by any patents -- lossless data-compression library for\n"
+"use on virtually any computer hardware and operating system. The zlib data\n"
+"format is itself portable across platforms. Unlike the LZW compression method\n"
+"used in Unix compress(1) and in the GIF image format, the compression method\n"
+"currently used in zlib essentially never expands the data. (LZW can double or\n"
+"triple the file size in extreme cases.) zlib's memory footprint is also\n"
+"independent of the input data and can be reduced, if necessary, at some cost\n"
+"in compression."
+msgstr ""
+
+#: gnu/packages/compression.scm:133
+msgid "Zip Compression library"
+msgstr ""
+
+#: gnu/packages/compression.scm:135
+msgid ""
+"Minizip is a minimalistic library that supports compressing,\n"
+"extracting and viewing ZIP archives. This version is extracted from\n"
+"the @code{zlib} source."
+msgstr ""
+
+#: gnu/packages/compression.scm:154
+msgid "Replacement for Sun's 'jar' utility"
+msgstr ""
+
+#: gnu/packages/compression.scm:156
+msgid ""
+"FastJar is an attempt to create a much faster replacement for Sun's 'jar'\n"
+"utility. Instead of being written in Java, FastJar is written in C."
+msgstr ""
+
+#: gnu/packages/compression.scm:190
+msgid "C library for manipulating POSIX tar files"
+msgstr ""
+
+#: gnu/packages/compression.scm:192
+msgid ""
+"libtar is a C library for manipulating POSIX tar files. It handles\n"
+"adding and extracting files to/from a tar archive."
+msgstr ""
+
+#: gnu/packages/compression.scm:209
+msgid "General file (de)compression (using lzw)"
+msgstr ""
+
+#: gnu/packages/compression.scm:214
+msgid ""
+"GNU Gzip provides data compression and decompression utilities; the\n"
+"typical extension is \".gz\". Unlike the \"zip\" format, it compresses a single\n"
+"file; as a result, it is often used in conjunction with \"tar\", resulting in\n"
+"\".tar.gz\" or \".tgz\", etc."
+msgstr ""
+
+#: gnu/packages/compression.scm:284
+msgid "High-quality data compression program"
+msgstr ""
+
+#: gnu/packages/compression.scm:286
+msgid ""
+"bzip2 is a freely available, patent free (see below), high-quality data\n"
+"compressor. It typically compresses files to within 10% to 15% of the best\n"
+"available techniques (the PPM family of statistical compressors), whilst\n"
+"being around twice as fast at compression and six times faster at\n"
+"decompression."
+msgstr ""
+
+#: gnu/packages/compression.scm:307
+msgid "Parallel bzip2 compression utility"
+msgstr ""
+
+#: gnu/packages/compression.scm:309
+msgid ""
+"lbzip2 is a multi-threaded compression utility with support for the\n"
+"bzip2 compressed file format. lbzip2 can process standard bz2 files in\n"
+"parallel. It uses POSIX threading model (pthreads), which allows it to take\n"
+"full advantage of symmetric multiprocessing (SMP) systems. It has been proven\n"
+"to scale linearly, even to over one hundred processor cores. lbzip2 is fully\n"
+"compatible with bzip2 – both at file format and command line level."
+msgstr ""
+
+#: gnu/packages/compression.scm:339
+msgid "Parallel bzip2 implementation"
+msgstr ""
+
+#: gnu/packages/compression.scm:341
+msgid ""
+"Pbzip2 is a parallel implementation of the bzip2 block-sorting file\n"
+"compressor that uses pthreads and achieves near-linear speedup on SMP machines.\n"
+"The output of this version is fully compatible with bzip2 v1.0.2 (i.e. anything\n"
+"compressed with pbzip2 can be decompressed with bzip2)."
+msgstr ""
+
+#: gnu/packages/compression.scm:362
+msgid "General-purpose data compression"
+msgstr ""
+
+#: gnu/packages/compression.scm:364
+msgid ""
+"XZ Utils is free general-purpose data compression software with high\n"
+"compression ratio. XZ Utils were written for POSIX-like systems, but also\n"
+"work on some not-so-POSIX systems. XZ Utils are the successor to LZMA Utils.\n"
+"\n"
+"The core of the XZ Utils compression code is based on LZMA SDK, but it has\n"
+"been modified quite a lot to be suitable for XZ Utils. The primary\n"
+"compression algorithm is currently LZMA2, which is used inside the .xz\n"
+"container format. With typical files, XZ Utils create 30 % smaller output\n"
+"than gzip and 15 % smaller output than bzip2."
+msgstr ""
+
+#: gnu/packages/compression.scm:392
+msgid "Data compression library suitable for real-time data de-/compression"
+msgstr ""
+
+#: gnu/packages/compression.scm:394
+msgid ""
+"LZO is a data compression library which is suitable for data\n"
+"de-/compression in real-time. This means it favours speed over\n"
+"compression ratio.\n"
+"\n"
+"LZO is written in ANSI C. Both the source code and the compressed data\n"
+"format are designed to be portable across platforms."
+msgstr ""
+
+#: gnu/packages/compression.scm:430
+msgid "Python bindings for the LZO data compression library"
+msgstr ""
+
+#: gnu/packages/compression.scm:432
+msgid ""
+"Python-LZO provides Python bindings for LZO, i.e. you can access\n"
+"the LZO library from your Python scripts thereby compressing ordinary\n"
+"Python strings."
+msgstr ""
+
+#: gnu/packages/compression.scm:455
+msgid "Compress or expand files"
+msgstr ""
+
+#: gnu/packages/compression.scm:457
+msgid ""
+"Lzop is a file compressor which is very similar to gzip. Lzop uses the\n"
+"LZO data compression library for compression services, and its main advantages\n"
+"over gzip are much higher compression and decompression speed (at the cost of\n"
+"some compression ratio)."
+msgstr ""
+
+#: gnu/packages/compression.scm:476
+msgid "Lossless data compressor based on the LZMA algorithm"
+msgstr ""
+
+#: gnu/packages/compression.scm:478
+msgid ""
+"Lzip is a lossless data compressor with a user interface similar to the\n"
+"one of gzip or bzip2. Lzip decompresses almost as fast as gzip and compresses\n"
+"more than bzip2, which makes it well-suited for software distribution and data\n"
+"archiving. Lzip is a clean implementation of the LZMA algorithm."
+msgstr ""
+
+#: gnu/packages/compression.scm:497
+msgid "Recover and decompress data from damaged lzip files"
+msgstr ""
+
+#: gnu/packages/compression.scm:499
+msgid ""
+"Lziprecover is a data recovery tool and decompressor for files in the lzip\n"
+"compressed data format (.lz). It can test the integrity of lzip files, extract\n"
+"data from damaged ones, and repair most files with small errors (up to one\n"
+"single-byte error per member) entirely.\n"
+"\n"
+"Lziprecover is not a replacement for regular backups, but a last line of defence\n"
+"when even the backups are corrupt. It can recover files by merging the good\n"
+"parts of two or more damaged copies, such as can be easily produced by running\n"
+"@command{ddrescue} on a failing device.\n"
+"\n"
+"This package also includes @command{unzcrash}, a tool to test the robustness of\n"
+"decompressors when faced with corrupted input."
+msgstr ""
+
+#: gnu/packages/compression.scm:540
+msgid "Archives in shell scripts, uuencode/uudecode"
+msgstr ""
+
+#: gnu/packages/compression.scm:542
+msgid ""
+"GNU sharutils is a package for creating and manipulating shell\n"
+"archives that can be readily emailed. A shell archive is a file that can be\n"
+"processed by a Bourne-type shell to unpack the original collection of files.\n"
+"This package is mostly for compatibility and historical interest."
+msgstr ""
+
+#: gnu/packages/compression.scm:573
+msgid "Library for SoundFont decompression"
+msgstr ""
+
+#: gnu/packages/compression.scm:575
+msgid ""
+"SfArkLib is a C++ library for decompressing SoundFont files compressed\n"
+"with the sfArk algorithm."
+msgstr ""
+
+#: gnu/packages/compression.scm:608
+msgid "Basic sfArk decompressor"
+msgstr ""
+
+#: gnu/packages/compression.scm:609
+msgid ""
+"SfArk extractor converts SoundFonts in the compressed legacy\n"
+"sfArk file format to the uncompressed sf2 format."
+msgstr ""
+
+#: gnu/packages/compression.scm:626
+msgid "Compression tools for some formats used by Microsoft"
+msgstr ""
+
+#: gnu/packages/compression.scm:628
+msgid ""
+"The purpose of libmspack is to provide both compression and\n"
+"decompression of some loosely related file formats used by Microsoft."
+msgstr ""
+
+#: gnu/packages/compression.scm:647
+msgid "Low-level interface to bzip2 compression library"
+msgstr ""
+
+#: gnu/packages/compression.scm:648
+msgid ""
+"This module provides a Perl interface to the bzip2\n"
+"compression library."
+msgstr ""
+
+#: gnu/packages/compression.scm:682
+msgid "Low-level interface to zlib compression library"
+msgstr ""
+
+#: gnu/packages/compression.scm:683
+msgid ""
+"This module provides a Perl interface to the zlib\n"
+"compression library."
+msgstr ""
+
+#: gnu/packages/compression.scm:704
+msgid "IO Interface to compressed files/buffers"
+msgstr ""
+
+#: gnu/packages/compression.scm:705
+msgid ""
+"IO-Compress provides a Perl interface to allow reading and\n"
+"writing of compressed data created with the zlib and bzip2 libraries."
+msgstr ""
+
+#: gnu/packages/compression.scm:732
+msgid "Compression algorithm focused on speed"
+msgstr ""
+
+#: gnu/packages/compression.scm:733
+msgid ""
+"LZ4 is a lossless compression algorithm, providing\n"
+"compression speed at 400 MB/s per core (0.16 Bytes/cycle). It also features an\n"
+"extremely fast decoder, with speed in multiple GB/s per core (0.71 Bytes/cycle).\n"
+"A high compression derivative, called LZ4_HC, is also provided. It trades CPU\n"
+"time for compression ratio."
+msgstr ""
+
+#: gnu/packages/compression.scm:758
+msgid "LZ4 bindings for Python"
+msgstr ""
+
+#: gnu/packages/compression.scm:760
+msgid ""
+"This package provides python bindings for the lz4 compression library\n"
+"by Yann Collet. The project contains bindings for the LZ4 block format and\n"
+"the LZ4 frame format."
+msgstr ""
+
+#: gnu/packages/compression.scm:783
+msgid "String compression"
+msgstr ""
+
+#: gnu/packages/compression.scm:784
+msgid "Lz-string is a string compressor library for Python."
+msgstr ""
+
+#: gnu/packages/compression.scm:822
+msgid "Tools to create and extract squashfs file systems"
+msgstr ""
+
+#: gnu/packages/compression.scm:824
+msgid ""
+"Squashfs is a highly compressed read-only file system for Linux. It uses\n"
+"zlib to compress files, inodes, and directories. All blocks are packed to\n"
+"minimize the data overhead, and block sizes of between 4K and 1M are supported.\n"
+"It is intended to be used for archival use, for live CDs, and for embedded\n"
+"systems where low overhead is needed. This package allows you to create and\n"
+"extract such file systems."
+msgstr ""
+
+#: gnu/packages/compression.scm:861
+msgid "Parallel implementation of gzip"
+msgstr ""
+
+#: gnu/packages/compression.scm:863
+msgid ""
+"This package provides a parallel implementation of gzip that exploits\n"
+"multiple processors and multiple cores when compressing data."
+msgstr ""
+
+#: gnu/packages/compression.scm:887
+msgid "Parallel indexing implementation of LZMA"
+msgstr ""
+
+#: gnu/packages/compression.scm:889
+msgid ""
+"The existing XZ Utils provide great compression in the .xz file format,\n"
+"but they produce just one big block of compressed data. Pixz instead produces\n"
+"a collection of smaller blocks which makes random access to the original data\n"
+"possible and can compress in parallel. This is especially useful for large\n"
+"tarballs."
+msgstr ""
+
+#: gnu/packages/compression.scm:930
+msgid "Implementation of the Brotli compression algorithm"
+msgstr ""
+
+#: gnu/packages/compression.scm:932
+msgid ""
+"Brotli is a general-purpose lossless compression algorithm. It is\n"
+"similar in speed to deflate but offers denser compression. This package\n"
+"provides encoder and a decoder libraries: libbrotlienc and libbrotlidec,\n"
+"respectively, based on the reference implementation from Google."
+msgstr ""
+
+#: gnu/packages/compression.scm:956
+msgid "Tool to unpack Cabinet archives"
+msgstr ""
+
+#: gnu/packages/compression.scm:957
+msgid "Extracts files out of Microsoft Cabinet (.cab) archives"
+msgstr ""
+
+#: gnu/packages/compression.scm:989
+msgid "Delta encoder for binary files"
+msgstr ""
+
+#: gnu/packages/compression.scm:990
+msgid ""
+"xdelta encodes only the differences between two binary files\n"
+"using the VCDIFF algorithm and patch file format described in RFC 3284. It can\n"
+"also be used to apply such patches. xdelta is similar to @command{diff} and\n"
+"@command{patch}, but is not limited to plain text and does not generate\n"
+"human-readable output."
+msgstr ""
+
+#: gnu/packages/compression.scm:1022
+msgid "Large file compressor with a very high compression ratio"
+msgstr ""
+
+#: gnu/packages/compression.scm:1023
+msgid ""
+"lrzip is a compression utility that uses long-range\n"
+"redundancy reduction to improve the subsequent compression ratio of\n"
+"larger files. It can then further compress the result with the ZPAQ or\n"
+"LZMA algorithms for maximum compression, or LZO for maximum speed. This\n"
+"choice between size or speed allows for either better compression than\n"
+"even LZMA can provide, or a higher speed than gzip while compressing as\n"
+"well as bzip2."
+msgstr ""
+
+#: gnu/packages/compression.scm:1059
+msgid "Filter for improving compression of typed binary data"
+msgstr ""
+
+#: gnu/packages/compression.scm:1060
+msgid ""
+"Bitshuffle is an algorithm that rearranges typed, binary data\n"
+"for improving compression, as well as a python/C package that implements this\n"
+"algorithm within the Numpy framework."
+msgstr ""
+
+#: gnu/packages/compression.scm:1079
+msgid "Fast compressor/decompressor"
+msgstr ""
+
+#: gnu/packages/compression.scm:1080
+msgid ""
+"Snappy is a compression/decompression library. It does not\n"
+"aim for maximum compression, or compatibility with any other compression library;\n"
+"instead, it aims for very high speeds and reasonable compression. For instance,\n"
+"compared to the fastest mode of zlib, Snappy is an order of magnitude faster\n"
+"for most inputs, but the resulting compressed files are anywhere from 20% to\n"
+"100% bigger."
+msgstr ""
+
+#: gnu/packages/compression.scm:1204
+msgid "Compression/decompression algorithm in Java"
+msgstr ""
+
+#: gnu/packages/compression.scm:1205
+msgid ""
+"Snappy-java is a Java port of the snappy, a fast C++\n"
+"compresser/decompresser."
+msgstr ""
+
+#: gnu/packages/compression.scm:1311
+msgid "Java port of snappy"
+msgstr ""
+
+#: gnu/packages/compression.scm:1312
+msgid ""
+"Iq80-snappy is a rewrite (port) of Snappy writen in pure\n"
+"Java. This compression code produces a byte-for-byte exact copy of the output\n"
+"created by the original C++ code, and extremely fast."
+msgstr ""
+
+#: gnu/packages/compression.scm:1351
+msgid "Java bzip2 compression/decompression library"
+msgstr ""
+
+#: gnu/packages/compression.scm:1352
+msgid ""
+"Jbzip2 is a Java bzip2 compression/decompression library.\n"
+"It can be used as a replacement for the Apache @code{CBZip2InputStream} /\n"
+"@code{CBZip2OutputStream} classes."
+msgstr ""
+
+#: gnu/packages/compression.scm:1417
+msgid "Command-line file archiver with high compression ratio"
+msgstr ""
+
+#: gnu/packages/compression.scm:1418
+msgid ""
+"p7zip is a command-line port of 7-Zip, a file archiver that\n"
+"handles the 7z format which features very high compression ratios."
+msgstr ""
+
+#: gnu/packages/compression.scm:1457
+msgid "Compressed C++ iostream"
+msgstr ""
+
+#: gnu/packages/compression.scm:1458
+msgid ""
+"gzstream is a small library for providing zlib\n"
+"functionality in a C++ iostream."
+msgstr ""
+
+#: gnu/packages/compression.scm:1505
+msgid "Incremental journaling archiver"
+msgstr ""
+
+#: gnu/packages/compression.scm:1506
+msgid ""
+"ZPAQ is a command-line archiver for realistic situations with\n"
+"many duplicate and already compressed files. It backs up only those files\n"
+"modified since the last update. All previous versions remain untouched and can\n"
+"be independently recovered. Identical files are only stored once (known as\n"
+"@dfn{de-duplication}). Archives can also be encrypted.\n"
+"\n"
+"ZPAQ is intended to back up user data, not entire operating systems. It ignores\n"
+"owner and group IDs, ACLs, extended attributes, or special file types like\n"
+"devices, sockets, or named pipes. It does not follow or restore symbolic links\n"
+"or junctions, and always follows hard links."
+msgstr ""
+
+#: gnu/packages/compression.scm:1587
+msgid "Extract CAB files from InstallShield installers"
+msgstr ""
+
+#: gnu/packages/compression.scm:1589
+msgid ""
+"@command{unshield} is a tool and library for extracting @file{.cab}\n"
+" archives from InstallShield installers."
+msgstr ""
+
+#: gnu/packages/compression.scm:1615
+msgid "Zstandard real-time compression algorithm"
+msgstr ""
+
+#: gnu/packages/compression.scm:1616
+msgid ""
+"Zstandard (@command{zstd}) is a lossless compression algorithm\n"
+"that combines very fast operation with a compression ratio comparable to that of\n"
+"zlib. In most scenarios, both compression and decompression can be performed in\n"
+"‘real time’. The compressor can be configured to provide the most suitable\n"
+"trade-off between compression ratio and speed, without affecting decompression\n"
+"speed."
+msgstr ""
+
+#: gnu/packages/compression.scm:1658
+msgid "Threaded implementation of the Zstandard compression algorithm"
+msgstr ""
+
+#: gnu/packages/compression.scm:1659
+msgid ""
+"Parallel Zstandard (PZstandard or @command{pzstd}) is a\n"
+"multi-threaded implementation of the @uref{http://zstd.net/, Zstandard\n"
+"compression algorithm}. It is fully compatible with the original Zstandard file\n"
+"format and command-line interface, and can be used as a drop-in replacement.\n"
+"\n"
+"Compression is distributed over multiple processor cores to improve performance,\n"
+"as is the decompression of data compressed in this manner. Data compressed by\n"
+"other implementations will only be decompressed by two threads: one performing\n"
+"the actual decompression, the other input and output."
+msgstr ""
+
+#: gnu/packages/compression.scm:1700
+msgid "Compression and file packing utility"
+msgstr ""
+
+#: gnu/packages/compression.scm:1702
+msgid ""
+"Zip is a compression and file packaging/archive utility. Zip is useful\n"
+"for packaging a set of files for distribution, for archiving files, and for\n"
+"saving disk space by temporarily compressing unused files or directories.\n"
+"Zip puts one or more compressed files into a single ZIP archive, along with\n"
+"information about the files (name, path, date, time of last modification,\n"
+"protection, and check information to verify file integrity). An entire\n"
+"directory structure can be packed into a ZIP archive with a single command.\n"
+"\n"
+"Zip has one compression method (deflation) and can also store files without\n"
+"compression. Zip automatically chooses the better of the two for each file.\n"
+"Compression ratios of 2:1 to 3:1 are common for text files."
+msgstr ""
+
+#: gnu/packages/compression.scm:1757
+msgid "Decompression and file extraction utility"
+msgstr ""
+
+#: gnu/packages/compression.scm:1759
+msgid ""
+"UnZip is an extraction utility for archives compressed in .zip format,\n"
+"also called \"zipfiles\".\n"
+"\n"
+"UnZip lists, tests, or extracts files from a .zip archive. The default\n"
+"behaviour (with no options) is to extract into the current directory, and\n"
+"subdirectories below it, all files from the specified zipfile. UnZip\n"
+"recreates the stored directory structure by default."
+msgstr ""
+
+#: gnu/packages/compression.scm:1800
+msgid "Library for accessing zip files"
+msgstr ""
+
+#: gnu/packages/compression.scm:1802
+msgid "ZZipLib is a library based on zlib for accessing zip files."
+msgstr ""
+
+#: gnu/packages/compression.scm:1819
+msgid "Provides an interface to ZIP archive files"
+msgstr ""
+
+#: gnu/packages/compression.scm:1820 gnu/packages/perl.scm:279
+msgid ""
+"The Archive::Zip module allows a Perl program to create,\n"
+"manipulate, read, and write Zip archive files."
+msgstr ""
+
+#: gnu/packages/compression.scm:1842
+msgid "C library for reading, creating, and modifying zip archives"
+msgstr ""
+
+#: gnu/packages/compression.scm:1843
+msgid ""
+"Libzip is a C library for reading, creating, and modifying\n"
+"zip archives. Files can be added from data buffers, files, or compressed data\n"
+"copied directly from other zip archives. Changes made without closing the\n"
+"archive can be reverted."
+msgstr ""
+
+#: gnu/packages/compression.scm:1876
+msgid "Universal tool to manage file archives of various types"
+msgstr ""
+
+#: gnu/packages/compression.scm:1877
+msgid ""
+"The main command is @command{aunpack} which extracts files\n"
+"from an archive. The other commands provided are @command{apack} (to create\n"
+"archives), @command{als} (to list files in archives), and @command{acat} (to\n"
+"extract files to standard out). As @command{atool} invokes external programs\n"
+"to handle the archives, not all commands may be supported for a certain type\n"
+"of archives."
+msgstr ""
+
+#: gnu/packages/compression.scm:1899
+msgid "Generic archive extracting mechanism"
+msgstr ""
+
+#: gnu/packages/compression.scm:1900
+msgid ""
+"It allows you to extract any archive file of the type .tar,\n"
+".tar.gz, .gz, .Z, tar.bz2, .tbz, .bz2, .zip, .xz,, .txz, .tar.xz or .lzma\n"
+"without having to worry how it does so, or use different interfaces for each\n"
+"type by using either Perl modules, or command-line tools on your system."
+msgstr ""
+
+#: gnu/packages/compression.scm:1936
+msgid "XZ in Java"
+msgstr ""
+
+#: gnu/packages/compression.scm:1937
+msgid ""
+"Tukaani-xz is an implementation of xz compression/decompression\n"
+"algorithms in Java."
+msgstr ""
+
+#: gnu/packages/databases.scm:147
+msgid "Clustered RDF storage and query engine"
+msgstr ""
+
+#: gnu/packages/databases.scm:148
+msgid ""
+"4store is a RDF/SPARQL store written in C, supporting\n"
+"either single machines or networked clusters."
+msgstr ""
+
+#: gnu/packages/databases.scm:167
+msgid "Hash library of database functions compatible with traditional dbm"
+msgstr ""
+
+#: gnu/packages/databases.scm:169
+msgid ""
+"GDBM is a library for manipulating hashed databases. It is used to\n"
+"store key/value pairs in a file in a manner similar to the Unix dbm library\n"
+"and provides interfaces to the traditional file format."
+msgstr ""
+
+#: gnu/packages/databases.scm:219
+msgid "Berkeley database"
+msgstr ""
+
+#: gnu/packages/databases.scm:221
+msgid ""
+"Berkeley DB is an embeddable database allowing developers the choice of\n"
+"SQL, Key/Value, XML/XQuery or Java Object storage for their data model."
+msgstr ""
+
+#: gnu/packages/databases.scm:310
+msgid "Utility for dumping and restoring ElasticSearch indexes"
+msgstr ""
+
+#: gnu/packages/databases.scm:312
+msgid ""
+"This package provides a utility for dumping the contents of an\n"
+"ElasticSearch index to a compressed file and restoring the dumpfile back to an\n"
+"ElasticSearch server"
+msgstr ""
+
+#: gnu/packages/databases.scm:350
+msgid "Fast key-value storage library"
+msgstr ""
+
+#: gnu/packages/databases.scm:352
+msgid ""
+"LevelDB is a fast key-value storage library that provides an ordered\n"
+"mapping from string keys to string values."
+msgstr ""
+
+#: gnu/packages/databases.scm:372
+msgid "In memory caching service"
+msgstr ""
+
+#: gnu/packages/databases.scm:373
+msgid ""
+"Memcached is a in memory key value store. It has a small\n"
+"and generic API, and was originally intended for use with dynamic web\n"
+"applications."
+msgstr ""
+
+#: gnu/packages/databases.scm:478
+msgid "High performance and high availability document database"
+msgstr ""
+
+#: gnu/packages/databases.scm:480
+msgid ""
+"Mongo is a high-performance, high availability, schema-free\n"
+"document-oriented database. A key goal of MongoDB is to bridge the gap\n"
+"between key/value stores (which are fast and highly scalable) and traditional\n"
+"RDBMS systems (which are deep in functionality)."
+msgstr ""
+
+#: gnu/packages/databases.scm:556
+msgid "Fast, easy to use, and popular database"
+msgstr ""
+
+#: gnu/packages/databases.scm:558
+msgid ""
+"MySQL is a fast, reliable, and easy to use relational database\n"
+"management system that supports the standardized Structured Query\n"
+"Language."
+msgstr ""
+
+#: gnu/packages/databases.scm:634
+msgid "SQL database server"
+msgstr ""
+
+#: gnu/packages/databases.scm:636
+msgid ""
+"MariaDB is a multi-user and multi-threaded SQL database server, designed\n"
+"as a drop-in replacement of MySQL."
+msgstr ""
+
+#: gnu/packages/databases.scm:674
+msgid "Powerful object-relational database system"
+msgstr ""
+
+#: gnu/packages/databases.scm:676
+msgid ""
+"PostgreSQL is a powerful object-relational database system. It is fully\n"
+"ACID compliant, has full support for foreign keys, joins, views, triggers, and\n"
+"stored procedures (in multiple languages). It includes most SQL:2008 data\n"
+"types, including INTEGER, NUMERIC, BOOLEAN, CHAR, VARCHAR, DATE, INTERVAL, and\n"
+"TIMESTAMP. It also supports storage of binary large objects, including\n"
+"pictures, sounds, or video."
+msgstr ""
+
+#: gnu/packages/databases.scm:715
+msgid "Key-value database"
+msgstr ""
+
+#: gnu/packages/databases.scm:716
+msgid ""
+"QDBM is a library of routines for managing a\n"
+"database. The database is a simple data file containing key-value\n"
+"pairs. Every key and value is serial bytes with variable length.\n"
+"Binary data as well as character strings can be used as a key or a\n"
+"value. There is no concept of data tables or data types. Records are\n"
+"organized in a hash table or B+ tree."
+msgstr ""
+
+#: gnu/packages/databases.scm:771
+msgid "Manipulate plain text files as databases"
+msgstr ""
+
+#: gnu/packages/databases.scm:773
+msgid ""
+"GNU Recutils is a set of tools and libraries for creating and\n"
+"manipulating text-based, human-editable databases. Despite being text-based,\n"
+"databases created with Recutils carry all of the expected features such as\n"
+"unique fields, primary keys, time stamps and more. Many different field\n"
+"types are supported, as is encryption."
+msgstr ""
+
+#: gnu/packages/databases.scm:860
+msgid "Persistent key-value store for fast storage"
+msgstr ""
+
+#: gnu/packages/databases.scm:862
+msgid ""
+"RocksDB is a library that forms the core building block for a fast\n"
+"key-value server, especially suited for storing data on flash drives. It\n"
+"has a @dfn{Log-Structured-Merge-Database} (LSM) design with flexible tradeoffs\n"
+"between @dfn{Write-Amplification-Factor} (WAF), @dfn{Read-Amplification-Factor}\n"
+"(RAF) and @dfn{Space-Amplification-Factor} (SAF). It has multi-threaded\n"
+"compactions, making it specially suitable for storing multiple terabytes of\n"
+"data in a single database. RocksDB is partially based on @code{LevelDB}."
+msgstr ""
+
+#: gnu/packages/databases.scm:921
+msgid "Command-line tool for accessing SPARQL endpoints over HTTP"
+msgstr ""
+
+#: gnu/packages/databases.scm:922
+msgid ""
+"Sparql-query is a command-line tool for accessing SPARQL\n"
+"endpoints over HTTP. It has been intentionally designed to 'feel' similar to\n"
+"tools for interrogating SQL databases. For example, you can enter a query over\n"
+"several lines, using a semi-colon at the end of a line to indicate the end of\n"
+"your query. It also supports readline so that you can more easily recall and\n"
+"edit previous queries, even across sessions. It can be used non-interactively,\n"
+"for example from a shell script."
+msgstr ""
+
+#: gnu/packages/databases.scm:964
+msgid "The SQLite database management system"
+msgstr ""
+
+#: gnu/packages/databases.scm:966
+msgid ""
+"SQLite is a software library that implements a self-contained, serverless,\n"
+"zero-configuration, transactional SQL database engine. SQLite is the most\n"
+"widely deployed SQL database engine in the world. The source code for SQLite\n"
+"is in the public domain."
+msgstr ""
+
+#: gnu/packages/databases.scm:1015
+msgid "Trivial database"
+msgstr ""
+
+#: gnu/packages/databases.scm:1017
+msgid ""
+"TDB is a Trivial Database. In concept, it is very much like GDBM,\n"
+"and BSD's DB except that it allows multiple simultaneous writers and uses\n"
+"locking internally to keep writers from trampling on each other. TDB is also\n"
+"extremely small."
+msgstr ""
+
+#: gnu/packages/databases.scm:1036
+msgid "Database independent interface for Perl"
+msgstr ""
+
+#: gnu/packages/databases.scm:1037
+msgid "This package provides an database interface for Perl."
+msgstr ""
+
+#: gnu/packages/databases.scm:1085
+msgid "Extensible and flexible object <-> relational mapper"
+msgstr ""
+
+#: gnu/packages/databases.scm:1086
+msgid ""
+"An SQL to OO mapper with an object API inspired by\n"
+"Class::DBI (with a compatibility layer as a springboard for porting) and a\n"
+"resultset API that allows abstract encapsulation of database operations. It\n"
+"aims to make representing queries in your code as perl-ish as possible while\n"
+"still providing access to as many of the capabilities of the database as\n"
+"possible, including retrieving related records from multiple tables in a\n"
+"single query, \"JOIN\", \"LEFT JOIN\", \"COUNT\", \"DISTINCT\", \"GROUP BY\",\n"
+"\"ORDER BY\" and \"HAVING\" support."
+msgstr ""
+
+#: gnu/packages/databases.scm:1117
+msgid "Cursor with built-in caching support"
+msgstr ""
+
+#: gnu/packages/databases.scm:1118
+msgid ""
+"DBIx::Class::Cursor::Cached provides a cursor class with\n"
+"built-in caching support."
+msgstr ""
+
+#: gnu/packages/databases.scm:1140
+msgid "Introspect many-to-many relationships"
+msgstr ""
+
+#: gnu/packages/databases.scm:1141
+msgid ""
+"Because the many-to-many relationships are not real\n"
+"relationships, they can not be introspected with DBIx::Class. Many-to-many\n"
+"relationships are actually just a collection of convenience methods installed\n"
+"to bridge two relationships. This DBIx::Class component can be used to store\n"
+"all relevant information about these non-relationships so they can later be\n"
+"introspected and examined."
+msgstr ""
+
+#: gnu/packages/databases.scm:1199
+msgid "Create a DBIx::Class::Schema based on a database"
+msgstr ""
+
+#: gnu/packages/databases.scm:1200
+msgid ""
+"DBIx::Class::Schema::Loader automates the definition of a\n"
+"DBIx::Class::Schema by scanning database table definitions and setting up the\n"
+"columns, primary keys, unique constraints and relationships."
+msgstr ""
+
+#: gnu/packages/databases.scm:1224
+msgid "DBI PostgreSQL interface"
+msgstr ""
+
+#: gnu/packages/databases.scm:1225
+msgid ""
+"This package provides a PostgreSQL driver for the Perl5\n"
+"@dfn{Database Interface} (DBI)."
+msgstr ""
+
+#: gnu/packages/databases.scm:1249
+msgid "DBI MySQL interface"
+msgstr ""
+
+#: gnu/packages/databases.scm:1250
+msgid ""
+"This package provides a MySQL driver for the Perl5\n"
+"@dfn{Database Interface} (DBI)."
+msgstr ""
+
+#: gnu/packages/databases.scm:1269
+msgid "SQlite interface for Perl"
+msgstr ""
+
+#: gnu/packages/databases.scm:1270
+msgid ""
+"DBD::SQLite is a Perl DBI driver for SQLite, that includes\n"
+"the entire thing in the distribution. So in order to get a fast transaction\n"
+"capable RDBMS working for your Perl project you simply have to install this\n"
+"module, and nothing else."
+msgstr ""
+
+#: gnu/packages/databases.scm:1301
+msgid "Generate SQL from Perl data structures"
+msgstr ""
+
+#: gnu/packages/databases.scm:1302
+msgid ""
+"This module was inspired by the excellent DBIx::Abstract.\n"
+"While based on the concepts used by DBIx::Abstract, the concepts used have\n"
+"been modified to make the SQL easier to generate from Perl data structures.\n"
+"The underlying idea is for this module to do what you mean, based on the data\n"
+"structures you provide it, so that you don't have to modify your code every\n"
+"time your data changes."
+msgstr ""
+
+#: gnu/packages/databases.scm:1331
+msgid "Split SQL code into atomic statements"
+msgstr ""
+
+#: gnu/packages/databases.scm:1332
+msgid ""
+"This module tries to split any SQL code, even including\n"
+"non-standard extensions, into the atomic statements it is composed of."
+msgstr ""
+
+#: gnu/packages/databases.scm:1350
+msgid "SQL tokenizer"
+msgstr ""
+
+#: gnu/packages/databases.scm:1351
+msgid ""
+"SQL::Tokenizer is a tokenizer for SQL queries. It does not\n"
+"claim to be a parser or query verifier. It just creates sane tokens from a\n"
+"valid SQL query."
+msgstr ""
+
+#: gnu/packages/databases.scm:1369
+msgid "Data source abstraction library"
+msgstr ""
+
+#: gnu/packages/databases.scm:1370
+msgid ""
+"Unixodbc is a library providing an API with which to access\n"
+"data sources. Data sources include SQL Servers and any software with an ODBC\n"
+"Driver."
+msgstr ""
+
+#: gnu/packages/databases.scm:1394
+msgid "In-memory key/value and document store"
+msgstr ""
+
+#: gnu/packages/databases.scm:1396
+msgid ""
+"UnQLite is an in-process software library which implements a\n"
+"self-contained, serverless, zero-configuration, transactional NoSQL\n"
+"database engine. UnQLite is a document store database similar to\n"
+"MongoDB, Redis, CouchDB, etc. as well as a standard Key/Value store\n"
+"similar to BerkeleyDB, LevelDB, etc."
+msgstr ""
+
+#: gnu/packages/databases.scm:1424
+msgid "Key-value cache and store"
+msgstr ""
+
+#: gnu/packages/databases.scm:1425
+msgid ""
+"Redis is an advanced key-value cache and store. Redis\n"
+"supports many data structures including strings, hashes, lists, sets, sorted\n"
+"sets, bitmaps and hyperloglogs."
+msgstr ""
+
+#: gnu/packages/databases.scm:1452
+msgid "Kyoto Cabinet is a modern implementation of the DBM database"
+msgstr ""
+
+#: gnu/packages/databases.scm:1454
+msgid ""
+"Kyoto Cabinet is a standalone file-based database that supports Hash\n"
+"and B+ Tree data storage models. It is a fast key-value lightweight\n"
+"database and supports many programming languages. It is a NoSQL database."
+msgstr ""
+
+#: gnu/packages/databases.scm:1480
+msgid "Tokyo Cabinet is a modern implementation of the DBM database"
+msgstr ""
+
+#: gnu/packages/databases.scm:1482
+msgid ""
+"Tokyo Cabinet is a library of routines for managing a database.\n"
+"The database is a simple data file containing records, each is a pair of a\n"
+"key and a value. Every key and value is serial bytes with variable length.\n"
+"Both binary data and character string can be used as a key and a value.\n"
+"There is neither concept of data tables nor data types. Records are\n"
+"organized in hash table, B+ tree, or fixed-length array."
+msgstr ""
+
+#: gnu/packages/databases.scm:1517
+msgid "NoSQL data engine"
+msgstr ""
+
+#: gnu/packages/databases.scm:1519
+msgid ""
+"WiredTiger is an extensible platform for data management. It supports\n"
+"row-oriented storage (where all columns of a row are stored together),\n"
+"column-oriented storage (where columns are stored in groups, allowing for\n"
+"more efficient access and storage of column subsets) and log-structured merge\n"
+"trees (LSM), for sustained throughput under random insert workloads."
+msgstr ""
+
+#: gnu/packages/databases.scm:1570
+msgid "Wired Tiger bindings for GNU Guile"
+msgstr ""
+
+#: gnu/packages/databases.scm:1572
+msgid ""
+"This package provides Guile bindings to the WiredTiger ``NoSQL''\n"
+"database."
+msgstr ""
+
+#: gnu/packages/databases.scm:1604
+msgid "Perl5 access to Berkeley DB version 1.x"
+msgstr ""
+
+#: gnu/packages/databases.scm:1606
+msgid "The DB::File module provides Perl bindings to the Berkeley DB version 1.x."
+msgstr ""
+
+#: gnu/packages/databases.scm:1633
+msgid "Lightning Memory-Mapped Database library"
+msgstr ""
+
+#: gnu/packages/databases.scm:1635
+msgid ""
+"The @dfn{Lightning Memory-Mapped Database} (LMDB) is a high-performance\n"
+"transactional database. Unlike more complex relational databases, LMDB handles\n"
+"only key-value pairs (stored as arbitrary byte arrays) and relies on the\n"
+"underlying operating system for caching and locking, keeping the code small and\n"
+"simple.\n"
+"The use of ‘zero-copy’ memory-mapped files combines the persistence of classic\n"
+"disk-based databases with high read performance that scales linearly over\n"
+"multiple cores. The size of each database is limited only by the size of the\n"
+"virtual address space — not physical RAM."
+msgstr ""
+
+#: gnu/packages/databases.scm:1672
+msgid "C++ connector for PostgreSQL"
+msgstr ""
+
+#: gnu/packages/databases.scm:1674
+msgid ""
+"Libpqxx is a C++ library to enable user programs to communicate with the\n"
+"PostgreSQL database back-end. The database back-end can be local or it may be\n"
+"on another machine, accessed via TCP/IP."
+msgstr ""
+
+#: gnu/packages/databases.scm:1697
+msgid "Small object-relational mapping utility"
+msgstr ""
+
+#: gnu/packages/databases.scm:1699
+msgid ""
+"Peewee is a simple and small ORM (object-relation mapping) tool. Peewee\n"
+"handles converting between pythonic values and those used by databases, so you\n"
+"can use Python types in your code without having to worry. It has built-in\n"
+"support for sqlite, mysql and postgresql. If you already have a database, you\n"
+"can autogenerate peewee models using @code{pwiz}, a model generator."
+msgstr ""
+
+#: gnu/packages/databases.scm:1746
+msgid "Library providing transparent encryption of SQLite database files"
+msgstr ""
+
+#: gnu/packages/databases.scm:1747
+msgid ""
+"SQLCipher is an implementation of SQLite, extended to\n"
+"provide transparent 256-bit AES encryption of database files. Pages are\n"
+"encrypted before being written to disk and are decrypted when read back. It’s\n"
+"well suited for protecting embedded application databases and for mobile\n"
+"development."
+msgstr ""
+
+#: gnu/packages/databases.scm:1779 gnu/packages/databases.scm:1806
+msgid "Python ODBC Library"
+msgstr ""
+
+#: gnu/packages/databases.scm:1780
+msgid ""
+"@code{python-pyodbc-c} provides a Python DB-API driver\n"
+"for ODBC."
+msgstr ""
+
+#: gnu/packages/databases.scm:1807
+msgid ""
+"@code{python-pyodbc} provides a Python DB-API driver\n"
+"for ODBC."
+msgstr ""
+
+#: gnu/packages/databases.scm:1844
+msgid "Read Microsoft Access databases"
+msgstr ""
+
+#: gnu/packages/databases.scm:1845
+msgid ""
+"MDB Tools is a set of tools and applications to read the\n"
+"proprietary MDB file format used in Microsoft's Access database package. This\n"
+"includes programs to export schema and data from Microsoft's Access database\n"
+"file format to other databases such as MySQL, Oracle, Sybase, PostgreSQL,\n"
+"etc., and an SQL engine for performing simple SQL queries."
+msgstr ""
+
+#: gnu/packages/databases.scm:1886
+msgid "Python binding for the ‘Lightning’ database (LMDB)"
+msgstr ""
+
+#: gnu/packages/databases.scm:1888
+msgid ""
+"python-lmdb or py-lmdb is a Python binding for the @dfn{Lightning\n"
+"Memory-Mapped Database} (LMDB), a high-performance key-value store."
+msgstr ""
+
+#: gnu/packages/databases.scm:1942
+msgid "ActiveRecord ORM for Python"
+msgstr ""
+
+#: gnu/packages/databases.scm:1944
+msgid ""
+"Orator provides a simple ActiveRecord-like Object Relational Mapping\n"
+"implementation for Python."
+msgstr ""
+
+#: gnu/packages/databases.scm:1971
+msgid "Multi-model database system"
+msgstr ""
+
+#: gnu/packages/databases.scm:1972
+msgid ""
+"Virtuoso is a scalable cross-platform server that combines\n"
+"relational, graph, and document data management with web application server\n"
+"and web services platform functionality."
+msgstr ""
+
+#: gnu/packages/databases.scm:2000
+msgid "Database interface and MySQL driver for R"
+msgstr ""
+
+#: gnu/packages/databases.scm:2002
+msgid ""
+"This package provides a DBI interface to MySQL / MariaDB. The RMySQL\n"
+"package contains an old implementation based on legacy code from S-PLUS which\n"
+"is being phased out. A modern MySQL client based on Rcpp is available from\n"
+"the RMariaDB package."
+msgstr ""
+
+#: gnu/packages/databases.scm:2027
+msgid ""
+"Cassandra Cluster Manager for Apache Cassandra clusters on\n"
+"localhost"
+msgstr ""
+
+#: gnu/packages/databases.scm:2029
+msgid ""
+"Cassandra Cluster Manager is a development tool for testing\n"
+"local Cassandra clusters. It creates, launches and removes Cassandra clusters\n"
+"on localhost."
+msgstr ""
+
+#: gnu/packages/databases.scm:2055
+msgid "SQLite bindings for Python"
+msgstr ""
+
+#: gnu/packages/databases.scm:2057
+msgid ""
+"Pysqlite provides SQLite bindings for Python that comply to the\n"
+"Database API 2.0T."
+msgstr ""
+
+#: gnu/packages/databases.scm:2084
+msgid "Database abstraction library"
+msgstr ""
+
+#: gnu/packages/databases.scm:2086
+msgid ""
+"SQLAlchemy is the Python SQL toolkit and Object Relational Mapper that\n"
+"gives application developers the full power and flexibility of SQL. It\n"
+"provides a full suite of well known enterprise-level persistence patterns,\n"
+"designed for efficient and high-performing database access, adapted into a\n"
+"simple and Pythonic domain language."
+msgstr ""
+
+#: gnu/packages/databases.scm:2125
+msgid "Various utility functions for SQLAlchemy"
+msgstr ""
+
+#: gnu/packages/databases.scm:2127
+msgid ""
+"SQLAlchemy-utils provides various utility functions and custom data types\n"
+"for SQLAlchemy. SQLAlchemy is an SQL database abstraction library for Python.\n"
+"\n"
+"You might also want to install the following optional dependencies:\n"
+"@enumerate\n"
+"@item @code{python-passlib}\n"
+"@item @code{python-babel}\n"
+"@item @code{python-cryptography}\n"
+"@item @code{python-pytz}\n"
+"@item @code{python-psycopg2}\n"
+"@item @code{python-furl}\n"
+"@item @code{python-flask-babel}\n"
+"@end enumerate\n"
+msgstr ""
+
+#: gnu/packages/databases.scm:2168
+msgid "Database migration tool for SQLAlchemy"
+msgstr ""
+
+#: gnu/packages/databases.scm:2170
+msgid ""
+"Alembic is a lightweight database migration tool for usage with the\n"
+"SQLAlchemy Database Toolkit for Python."
+msgstr ""
+
+#: gnu/packages/databases.scm:2192
+msgid "Tiny key value database with concurrency support"
+msgstr ""
+
+#: gnu/packages/databases.scm:2194
+msgid ""
+"PickleShare is a small ‘shelve’-like datastore with concurrency support.\n"
+"Like shelve, a PickleShareDB object acts like a normal dictionary. Unlike\n"
+"shelve, many processes can access the database simultaneously. Changing a\n"
+"value in database is immediately visible to other processes accessing the same\n"
+"database. Concurrency is possible because the values are stored in separate\n"
+"files. Hence the “database” is a directory where all files are governed by\n"
+"PickleShare."
+msgstr ""
+
+#: gnu/packages/databases.scm:2239
+msgid "Another Python SQLite Wrapper"
+msgstr ""
+
+#: gnu/packages/databases.scm:2240
+msgid ""
+"APSW is a Python wrapper for the SQLite\n"
+"embedded relational database engine. In contrast to other wrappers such as\n"
+"pysqlite it focuses on being a minimal layer over SQLite attempting just to\n"
+"translate the complete SQLite API into Python."
+msgstr ""
+
+#: gnu/packages/databases.scm:2264
+msgid "Neo4j driver code written in Python"
+msgstr ""
+
+#: gnu/packages/databases.scm:2265
+msgid ""
+"This package provides the Neo4j Python driver that connects\n"
+"to the database using Neo4j's binary protocol. It aims to be minimal, while\n"
+"being idiomatic to Python."
+msgstr ""
+
+#: gnu/packages/databases.scm:2284
+msgid "Library and toolkit for working with Neo4j in Python"
+msgstr ""
+
+#: gnu/packages/databases.scm:2285
+msgid ""
+"This package provides a client library and toolkit for\n"
+"working with Neo4j from within Python applications and from the command\n"
+"line. The core library has no external dependencies and has been carefully\n"
+"designed to be easy and intuitive to use."
+msgstr ""
+
+#: gnu/packages/databases.scm:2310
+msgid "Python PostgreSQL adapter"
+msgstr ""
+
+#: gnu/packages/databases.scm:2312
+msgid "psycopg2 is a thread-safe PostgreSQL adapter that implements DB-API 2.0. "
+msgstr ""
+
+#: gnu/packages/databases.scm:2335
+msgid "SQLAlchemy schema displayer"
+msgstr ""
+
+#: gnu/packages/databases.scm:2336
+msgid ""
+"This package provides a program to build Entity\n"
+"Relationship diagrams from a SQLAlchemy model (or directly from the\n"
+"database)."
+msgstr ""
+
+#: gnu/packages/databases.scm:2366
+msgid "MySQLdb is an interface to the popular MySQL database server for Python"
+msgstr ""
+
+#: gnu/packages/databases.scm:2367
+msgid ""
+"MySQLdb is an interface to the popular MySQL database server\n"
+"for Python. The design goals are:\n"
+"@enumerate\n"
+"@item Compliance with Python database API version 2.0 [PEP-0249],\n"
+"@item Thread-safety,\n"
+"@item Thread-friendliness (threads will not block each other).\n"
+"@end enumerate"
+msgstr ""
+
+#: gnu/packages/databases.scm:2395
+msgid "Python extension that wraps protocol parsing code in hiredis"
+msgstr ""
+
+#: gnu/packages/databases.scm:2396
+msgid ""
+"Python-hiredis is a python extension that wraps protocol\n"
+"parsing code in hiredis. It primarily speeds up parsing of multi bulk replies."
+msgstr ""
+
+#: gnu/packages/databases.scm:2419
+msgid "Fake implementation of redis API for testing purposes"
+msgstr ""
+
+#: gnu/packages/databases.scm:2420
+msgid ""
+"Fakeredis is a pure python implementation of the redis-py\n"
+"python client that simulates talking to a redis server. This was created for a\n"
+"single purpose: to write unittests. Setting up redis is not hard, but many time\n"
+" you want to write unittests that do not talk to an external server (such as\n"
+"redis). This module now allows tests to simply use this module as a reasonable\n"
+"substitute for redis."
+msgstr ""
+
+#: gnu/packages/databases.scm:2448
+msgid "Redis Python client"
+msgstr ""
+
+#: gnu/packages/databases.scm:2450
+msgid "This package provides a Python interface to the Redis key-value store."
+msgstr ""
+
+#: gnu/packages/databases.scm:2471
+msgid "Simple job queues for Python"
+msgstr ""
+
+#: gnu/packages/databases.scm:2473
+msgid ""
+"RQ (Redis Queue) is a simple Python library for queueing jobs and\n"
+"processing them in the background with workers. It is backed by Redis and it\n"
+"is designed to have a low barrier to entry."
+msgstr ""
+
+#: gnu/packages/databases.scm:2496
+msgid "Port of asyncio-redis to trollius"
+msgstr ""
+
+#: gnu/packages/databases.scm:2497
+msgid ""
+"@code{trollius-redis} is a Redis client for Python\n"
+" trollius. It is an asynchronious IO (PEP 3156) implementation of the\n"
+" Redis protocol."
+msgstr ""
+
+#: gnu/packages/databases.scm:2524
+msgid "Non-validating SQL parser"
+msgstr ""
+
+#: gnu/packages/databases.scm:2525
+msgid ""
+"Sqlparse is a non-validating SQL parser for Python. It\n"
+"provides support for parsing, splitting and formatting SQL statements."
+msgstr ""
+
+#: gnu/packages/databases.scm:2545
+msgid "Library to write SQL queries in a pythonic way"
+msgstr ""
+
+#: gnu/packages/databases.scm:2546
+msgid ""
+"@code{python-sql} is a library to write SQL queries, that\n"
+"transforms idiomatic python function calls to well-formed SQL queries."
+msgstr ""
+
+#: gnu/packages/debug.scm:80
+msgid "Heuristical file minimizer"
+msgstr ""
+
+#: gnu/packages/debug.scm:82
+msgid ""
+"Delta assists you in minimizing \"interesting\" files subject to a test\n"
+"of their interestingness. A common such situation is when attempting to\n"
+"isolate a small failure-inducing substring of a large input that causes your\n"
+"program to exhibit a bug."
+msgstr ""
+
+#: gnu/packages/debug.scm:137
+msgid "Reducer for interesting code"
+msgstr ""
+
+#: gnu/packages/debug.scm:139
+msgid ""
+"C-Reduce is a tool that takes a large C or C++ program that has a\n"
+"property of interest (such as triggering a compiler bug) and automatically\n"
+"produces a much smaller C/C++ program that has the same property. It is\n"
+"intended for use by people who discover and report bugs in compilers and other\n"
+"tools that process C/C++ code."
+msgstr ""
+
+#: gnu/packages/debug.scm:268
+msgid "Security-oriented fuzzer"
+msgstr ""
+
+#: gnu/packages/debug.scm:270
+msgid ""
+"American fuzzy lop is a security-oriented fuzzer that employs a novel\n"
+"type of compile-time instrumentation and genetic algorithms to automatically\n"
+"discover clean, interesting test cases that trigger new internal states in the\n"
+"targeted binary. This substantially improves the functional coverage for the\n"
+"fuzzed code. The compact synthesized corpora produced by the tool are also\n"
+"useful for seeding other, more labor- or resource-intensive testing regimes\n"
+"down the road."
+msgstr ""
+
+#: gnu/packages/debug.scm:328
+msgid "Expose race conditions in Makefiles"
+msgstr ""
+
+#: gnu/packages/debug.scm:330
+msgid ""
+"Stress Make is a customized GNU Make that explicitely manages the order\n"
+"in which concurrent jobs are run to provoke erroneous behavior into becoming\n"
+"manifest. It can run jobs in the order in which they're launched, in backwards\n"
+"order, or in random order. The thought is that if code builds correctly with\n"
+"Stress Make, then it is likely that the @code{Makefile} contains no race\n"
+"conditions."
+msgstr ""
+
+#: gnu/packages/debug.scm:357
+msgid "Transparent application input fuzzer"
+msgstr ""
+
+#: gnu/packages/debug.scm:358
+msgid ""
+"Zzuf is a transparent application input fuzzer. It works by\n"
+"intercepting file operations and changing random bits in the program's\n"
+"input. Zzuf's behaviour is deterministic, making it easy to reproduce bugs."
+msgstr ""
+
+#: gnu/packages/dejagnu.scm:77
+msgid "GNU software testing framework"
+msgstr ""
+
+#: gnu/packages/dejagnu.scm:79
+msgid ""
+"DejaGnu is a framework for testing software. In effect, it serves as\n"
+"a front-end for all tests written for a program. Thus, each program can have\n"
+"multiple test suites, which are then all managed by a single harness."
+msgstr ""
+
+#: gnu/packages/games.scm:164
+msgid "Tron clone in 3D"
+msgstr ""
+
+#: gnu/packages/games.scm:165
+msgid ""
+"Armagetron is a multiplayer game in 3d that attempts to\n"
+"emulate and expand on the lightcycle sequence from the movie Tron. It's\n"
+"an old school arcade game slung into the 21st century. Highlights include\n"
+"a customizable playing arena, HUD, unique graphics, and AI bots. For the\n"
+"more advanced player there are new game modes and a wide variety of physics\n"
+"settings to tweak as well."
+msgstr ""
+
+#: gnu/packages/games.scm:238
+msgid "Survival horror roguelike video game"
+msgstr ""
+
+#: gnu/packages/games.scm:240
+msgid ""
+"Cataclysm: Dark Days Ahead is a roguelike set in a post-apocalyptic world.\n"
+"Struggle to survive in a harsh, persistent, procedurally generated world.\n"
+"Scavenge the remnants of a dead civilization for food, equipment, or, if you are\n"
+"lucky, a vehicle with a full tank of gas to get you out of Dodge. Fight to\n"
+"defeat or escape from a wide variety of powerful monstrosities, from zombies to\n"
+"giant insects to killer robots and things far stranger and deadlier, and against\n"
+"the others like yourself, that want what you have."
+msgstr ""
+
+#: gnu/packages/games.scm:281
+msgid "Speaking cow text filter"
+msgstr ""
+
+#: gnu/packages/games.scm:282
+msgid ""
+"Cowsay is basically a text filter. Send some text into it,\n"
+"and you get a cow saying your text. If you think a talking cow isn't enough,\n"
+"cows can think too: all you have to do is run @command{cowthink}. If you're\n"
+"tired of cows, a variety of other ASCII-art messengers are available."
+msgstr ""
+
+#: gnu/packages/games.scm:348
+msgid "Free content game based on the Doom engine"
+msgstr ""
+
+#: gnu/packages/games.scm:350
+msgid ""
+"The Freedoom project aims to create a complete free content first person\n"
+"shooter game. Freedoom by itself is just the raw material for a game: it must\n"
+"be paired with a compatible game engine (such as @code{prboom-plus}) to be\n"
+"played. Freedoom complements the Doom engine with free levels, artwork, sound\n"
+"effects and music to make a completely free game."
+msgstr ""
+
+#: gnu/packages/games.scm:381
+msgid "Backgammon game"
+msgstr ""
+
+#: gnu/packages/games.scm:382
+msgid ""
+"The GNU backgammon application can be used for playing, analyzing and\n"
+"teaching the game. It has an advanced evaluation engine based on artificial\n"
+"neural networks suitable for both beginners and advanced players. In\n"
+"addition to a command-line interface, it also features an attractive, 3D\n"
+"representation of the playing board."
+msgstr ""
+
+#: gnu/packages/games.scm:411
+msgid "3d Rubik's cube game"
+msgstr ""
+
+#: gnu/packages/games.scm:413
+msgid ""
+"GNUbik is a puzzle game in which you must manipulate a cube to make\n"
+"each of its faces have a uniform color. The game is customizable, allowing\n"
+"you to set the size of the cube (the default is 3x3) or to change the colors.\n"
+"You may even apply photos to the faces instead of colors. The game is\n"
+"scriptable with Guile."
+msgstr ""
+
+#: gnu/packages/games.scm:435
+msgid "The game of Shogi (Japanese chess)"
+msgstr ""
+
+#: gnu/packages/games.scm:436
+msgid ""
+"GNU Shogi is a program that plays the game Shogi (Japanese\n"
+"Chess). It is similar to standard chess but this variant is far more complicated."
+msgstr ""
+
+#: gnu/packages/games.scm:467
+msgid "Tetris clone based on the SDL library"
+msgstr ""
+
+#: gnu/packages/games.scm:469
+msgid ""
+"LTris is a tetris clone: differently shaped blocks are falling down the\n"
+"rectangular playing field and can be moved sideways or rotated by 90 degree\n"
+"units with the aim of building lines without gaps which then disappear (causing\n"
+"any block above the deleted line to fall down). LTris has three game modes: In\n"
+"Classic you play until the stack of blocks reaches the top of the playing field\n"
+"and no new blocks can enter. In Figures the playing field is reset to a new\n"
+"figure each level and later on tiles and lines suddenly appear. In Multiplayer\n"
+"up to three players (either human or CPU) compete with each other sending\n"
+"removed lines to all opponents. There is also a Demo mode in which you can\n"
+"watch your CPU playing while enjoying a cup of tea!"
+msgstr ""
+
+#: gnu/packages/games.scm:520
+msgid "Version of the classic 3D shoot'em'up game Doom"
+msgstr ""
+
+#: gnu/packages/games.scm:522
+msgid "PrBoom+ is a Doom source port developed from the original PrBoom project."
+msgstr ""
+
+#: gnu/packages/games.scm:569
+msgid "Action platformer game"
+msgstr ""
+
+#: gnu/packages/games.scm:571
+msgid ""
+"ReTux is an action platformer loosely inspired by the Mario games,\n"
+"utilizing the art assets from the @code{SuperTux} project."
+msgstr ""
+
+#: gnu/packages/games.scm:600
+msgid "User interface for gnushogi"
+msgstr ""
+
+#: gnu/packages/games.scm:601
+msgid "A graphical user interface for the package @code{gnushogi}."
+msgstr ""
+
+#: gnu/packages/games.scm:650
+msgid "GNU/Linux port of the indie game \"l'Abbaye des Morts\""
+msgstr ""
+
+#: gnu/packages/games.scm:651
+msgid ""
+"L'Abbaye des Morts is a 2D platform game set in 13th century\n"
+"France. The Cathars, who preach about good Christian beliefs, were being\n"
+"expelled by the Catholic Church out of the Languedoc region in France. One of\n"
+"them, called Jean Raymond, found an old church in which to hide, not knowing\n"
+"that beneath its ruins lay buried an ancient evil."
+msgstr ""
+
+#: gnu/packages/games.scm:703
+msgid "Dungeon exploration roguelike"
+msgstr ""
+
+#: gnu/packages/games.scm:704
+msgid ""
+"Angband is a Classic dungeon exploration roguelike. Explore\n"
+"the depths below Angband, seeking riches, fighting monsters, and preparing to\n"
+"fight Morgoth, the Lord of Darkness."
+msgstr ""
+
+#: gnu/packages/games.scm:744
+msgid "Lemmings clone"
+msgstr ""
+
+#: gnu/packages/games.scm:746
+msgid ""
+"Pingus is a free Lemmings-like puzzle game in which the player takes\n"
+"command of a bunch of small animals and has to guide them through levels.\n"
+"Since the animals walk on their own, the player can only influence them by\n"
+"giving them commands, like build a bridge, dig a hole, or redirect all animals\n"
+"in the other direction. Multiple such commands are necessary to reach the\n"
+"level's exit. The game is presented in a 2D side view."
+msgstr ""
+
+#: gnu/packages/games.scm:768
+msgid "Convert English text to humorous dialects"
+msgstr ""
+
+#: gnu/packages/games.scm:769
+msgid ""
+"The GNU Talk Filters are programs that convert English text\n"
+"into stereotyped or otherwise humorous dialects. The filters are provided as\n"
+"a C library, so they can easily be integrated into other programs."
+msgstr ""
+
+#: gnu/packages/games.scm:801
+msgid "Simulate the display from \"The Matrix\""
+msgstr ""
+
+#: gnu/packages/games.scm:802
+msgid ""
+"CMatrix simulates the display from \"The Matrix\" and is\n"
+"based on the screensaver from the movie's website. It works with terminal\n"
+"settings up to 132x300 and can scroll lines all at the same rate or\n"
+"asynchronously and at a user-defined speed."
+msgstr ""
+
+#: gnu/packages/games.scm:822
+msgid "Full chess implementation"
+msgstr ""
+
+#: gnu/packages/games.scm:823
+msgid ""
+"GNU Chess is a chess engine. It allows you to compete\n"
+"against the computer in a game of chess, either through the default terminal\n"
+"interface or via an external visual interface such as GNU XBoard."
+msgstr ""
+
+#: gnu/packages/games.scm:851
+msgid "Twisted adventures of young pig farmer Dink Smallwood"
+msgstr ""
+
+#: gnu/packages/games.scm:853
+msgid ""
+"GNU FreeDink is a free and portable re-implementation of the engine\n"
+"for the role-playing game Dink Smallwood. It supports not only the original\n"
+"game data files but it also supports user-produced game mods or \"D-Mods\".\n"
+"To that extent, it also includes a front-end for managing all of your D-Mods."
+msgstr ""
+
+#: gnu/packages/games.scm:878
+msgid "Game data for GNU Freedink"
+msgstr ""
+
+#: gnu/packages/games.scm:880
+msgid "This package contains the game data of GNU Freedink."
+msgstr ""
+
+#: gnu/packages/games.scm:932
+msgid "Graphical user interface for chess programs"
+msgstr ""
+
+#: gnu/packages/games.scm:933
+msgid ""
+"GNU XBoard is a graphical board for all varieties of chess,\n"
+"including international chess, xiangqi (Chinese chess), shogi (Japanese chess)\n"
+"and Makruk. Several lesser-known variants are also supported. It presents a\n"
+"fully interactive graphical interface and it can load and save games in the\n"
+"Portable Game Notation."
+msgstr ""
+
+#: gnu/packages/games.scm:986
+msgid "Ball and paddle game"
+msgstr ""
+
+#: gnu/packages/games.scm:987
+msgid ""
+"XBoing is a blockout type game where you have a paddle which\n"
+"you control to bounce a ball around the game zone destroying blocks with a\n"
+"proton ball. Each block carries a different point value. The more blocks you\n"
+"destroy, the better your score. The person with the highest score wins."
+msgstr ""
+
+#: gnu/packages/games.scm:1019
+msgid "Typing tutor"
+msgstr ""
+
+#: gnu/packages/games.scm:1021
+msgid ""
+"GNU Typist is a universal typing tutor. It can be used to learn and\n"
+"practice touch-typing. Several tutorials are included; in addition to\n"
+"tutorials for the standard QWERTY layout, there are also tutorials for the\n"
+"alternative layouts Dvorak and Colemak, as well as for the numpad. Tutorials\n"
+"are primarily in English, however some in other languages are provided."
+msgstr ""
+
+#: gnu/packages/games.scm:1068
+msgid "3D game engine written in C++"
+msgstr ""
+
+#: gnu/packages/games.scm:1070
+msgid ""
+"The Irrlicht Engine is a high performance realtime 3D engine written in\n"
+"C++. Features include an OpenGL renderer, extensible materials, scene graph\n"
+"management, character animation, particle and other special effects, support\n"
+"for common mesh file formats, and collision detection."
+msgstr ""
+
+#: gnu/packages/games.scm:1122
+msgid "2D space shooter"
+msgstr ""
+
+#: gnu/packages/games.scm:1124
+msgid ""
+"M.A.R.S. is a 2D space shooter with pretty visual effects and\n"
+"attractive physics. Players can battle each other or computer controlled\n"
+"enemies in different game modes such as space ball, death match, team death\n"
+"match, cannon keep, and grave-itation pit."
+msgstr ""
+
+#: gnu/packages/games.scm:1165
+msgid "Main game data for the Minetest game engine"
+msgstr ""
+
+#: gnu/packages/games.scm:1167
+msgid "Game data for the Minetest infinite-world block sandox game."
+msgstr ""
+
+#: gnu/packages/games.scm:1219
+msgid "Infinite-world block sandbox game"
+msgstr ""
+
+#: gnu/packages/games.scm:1221
+msgid ""
+"Minetest is a sandbox construction game. Players can create and destroy\n"
+"various types of blocks in a three-dimensional open world. This allows\n"
+"forming structures in every possible creation, on multiplayer servers or as a\n"
+"single player. Mods and texture packs allow players to personalize the game\n"
+"in different ways."
+msgstr ""
+
+#: gnu/packages/games.scm:1260
+msgid "Curses Implementation of the Glk API"
+msgstr ""
+
+#: gnu/packages/games.scm:1262
+msgid ""
+"Glk defines a portable API for applications with text UIs. It was\n"
+"primarily designed for interactive fiction, but it should be suitable for many\n"
+"interactive text utilities, particularly those based on a command line.\n"
+"This is an implementation of the Glk library which runs in a terminal window,\n"
+"using the @code{curses.h} library for screen control."
+msgstr ""
+
+#: gnu/packages/games.scm:1300
+msgid "Interpreter for Glulx VM"
+msgstr ""
+
+#: gnu/packages/games.scm:1302
+msgid ""
+"Glulx is a 32-bit portable virtual machine intended for writing and\n"
+"playing interactive fiction. It was designed by Andrew Plotkin to relieve\n"
+"some of the restrictions in the venerable Z-machine format. This is the\n"
+"reference interpreter, using the Glk API."
+msgstr ""
+
+#: gnu/packages/games.scm:1339
+msgid "Z-machine interpreter"
+msgstr ""
+
+#: gnu/packages/games.scm:1341
+msgid ""
+"Fizmo is a console-based Z-machine interpreter. It is used to play\n"
+"interactive fiction, also known as text adventures, which were implemented\n"
+"either by Infocom or created using the Inform compiler."
+msgstr ""
+
+#: gnu/packages/games.scm:1395
+msgid "Reference frontend for the libretro API"
+msgstr ""
+
+#: gnu/packages/games.scm:1397
+msgid ""
+"Libretro is a simple but powerful development interface that allows for\n"
+"the easy creation of emulators, games and multimedia applications that can plug\n"
+"straight into any libretro-compatible frontend. RetroArch is the official\n"
+"reference frontend for the libretro API, currently used by most as a modular\n"
+"multi-system game/emulator system."
+msgstr ""
+
+#: gnu/packages/games.scm:1417
+msgid "Play the game of Go"
+msgstr ""
+
+#: gnu/packages/games.scm:1419
+msgid ""
+"GNU Go is a program that plays the game of Go, in which players\n"
+"place stones on a grid to form territory or capture other stones. While\n"
+"it can be played directly from the terminal, rendered in ASCII characters,\n"
+"it is also possible to play GNU Go with 3rd party graphical interfaces or\n"
+"even in Emacs. It supports the standard game storage format (SGF, Smart\n"
+"Game Format) and inter-process communication format (GMP, Go Modem\n"
+"Protocol)."
+msgstr ""
+
+#: gnu/packages/games.scm:1447
+msgid "High speed arctic racing game based on Tux Racer"
+msgstr ""
+
+#: gnu/packages/games.scm:1449
+msgid ""
+"Extreme Tux Racer, or etracer as it is called for short, is\n"
+"a simple OpenGL racing game featuring Tux, the Linux mascot. The goal of the\n"
+"game is to slide down a snow- and ice-covered mountain as quickly as possible,\n"
+"avoiding the trees and rocks that will slow you down.\n"
+"\n"
+"Collect herrings and other goodies while sliding down the hill, but avoid fish\n"
+"bones.\n"
+"\n"
+"This game is based on the GPL version of the famous game TuxRacer."
+msgstr ""
+
+#: gnu/packages/games.scm:1531
+msgid "3D kart racing game"
+msgstr ""
+
+#: gnu/packages/games.scm:1532
+msgid ""
+"SuperTuxKart is a 3D kart racing game, with a focus on\n"
+"having fun over realism. You can play with up to 4 friends on one PC, racing\n"
+"against each other or just trying to beat the computer; single-player mode is\n"
+"also available."
+msgstr ""
+
+#: gnu/packages/games.scm:1564
+msgid "Game of jumping to the next floor, trying not to fall"
+msgstr ""
+
+#: gnu/packages/games.scm:1566
+msgid ""
+"GNUjump is a simple, yet addictive game in which you must jump from\n"
+"platform to platform to avoid falling, while the platforms drop at faster rates\n"
+"the higher you go. The game features multiplayer, unlimited FPS, smooth floor\n"
+"falling, themeable graphics and sounds, and replays."
+msgstr ""
+
+#: gnu/packages/games.scm:1609
+msgid "Turn-based strategy game"
+msgstr ""
+
+#: gnu/packages/games.scm:1611
+msgid ""
+"The Battle for Wesnoth is a fantasy, turn based tactical strategy game,\n"
+"with several single player campaigns, and multiplayer games (both networked and\n"
+"local).\n"
+"\n"
+"Battle for control on a range of maps, using variety of units which have\n"
+"advantages and disadvantages against different types of attacks. Units gain\n"
+"experience and advance levels, and are carried over from one scenario to the\n"
+"next campaign."
+msgstr ""
+
+#: gnu/packages/games.scm:1655
+msgid "X86 emulator with CGA/EGA/VGA/etc. graphics and sound"
+msgstr ""
+
+#: gnu/packages/games.scm:1656
+msgid ""
+"DOSBox is a DOS-emulator that uses the SDL library. DOSBox\n"
+"also emulates CPU:286/386 realmode/protected mode, Directory\n"
+"FileSystem/XMS/EMS, Tandy/Hercules/CGA/EGA/VGA/VESA graphics, a\n"
+"SoundBlaster/Gravis Ultra Sound card for excellent sound compatibility with\n"
+"older games."
+msgstr ""
+
+#: gnu/packages/games.scm:1701
+msgid "Mouse and keyboard discovery for children"
+msgstr ""
+
+#: gnu/packages/games.scm:1703
+msgid ""
+"Gamine is a game designed for young children who are learning to use the\n"
+"mouse and keyboard. The child uses the mouse to draw colored dots and lines\n"
+"on the screen and keyboard to display letters."
+msgstr ""
+
+#: gnu/packages/games.scm:1735
+msgid "Puzzle game with a cat in lead role"
+msgstr ""
+
+#: gnu/packages/games.scm:1736
+msgid ""
+"Project Raincat is a game developed by Carnegie Mellon\n"
+"students through GCS during the Fall 2008 semester. Raincat features game\n"
+"play inspired from classics Lemmings and The Incredible Machine. The project\n"
+"proved to be an excellent learning experience for the programmers. Everything\n"
+"is programmed in Haskell."
+msgstr ""
+
+#: gnu/packages/games.scm:1770
+msgid "Client for 'The Mana World' and similar games"
+msgstr ""
+
+#: gnu/packages/games.scm:1772
+msgid ""
+"ManaPlus is a 2D MMORPG client for game servers. It is the only\n"
+"fully supported client for @uref{http://www.themanaworld.org, The mana\n"
+"world}, @uref{http://evolonline.org, Evol Online} and\n"
+"@uref{http://landoffire.org, Land of fire}."
+msgstr ""
+
+#: gnu/packages/games.scm:1822
+msgid "Nintendo 64 emulator core library"
+msgstr ""
+
+#: gnu/packages/games.scm:1824
+msgid ""
+"Mupen64Plus is a cross-platform plugin-based Nintendo 64 (N64) emulator\n"
+"which is capable of accurately playing many games. This package contains the\n"
+"core library."
+msgstr ""
+
+#: gnu/packages/games.scm:1868 gnu/packages/games.scm:1913
+#: gnu/packages/games.scm:1955 gnu/packages/games.scm:1997
+#: gnu/packages/games.scm:2313
+msgid "Mupen64Plus SDL input plugin"
+msgstr ""
+
+#: gnu/packages/games.scm:1870
+msgid ""
+"Mupen64Plus is a cross-platform plugin-based Nintendo 64 (N64) emulator\n"
+"which is capable of accurately playing many games. This package contains the\n"
+"SDL audio plugin."
+msgstr ""
+
+#: gnu/packages/games.scm:1915
+msgid ""
+"Mupen64Plus is a cross-platform plugin-based Nintendo 64 (N64) emulator\n"
+"which is capable of accurately playing many games. This package contains the\n"
+"SDL input plugin."
+msgstr ""
+
+#: gnu/packages/games.scm:1957
+msgid ""
+"Mupen64Plus is a cross-platform plugin-based Nintendo 64 (N64) emulator\n"
+"which is capable of accurately playing many games. This package contains the\n"
+"high-level emulation (HLE) RSP processor plugin."
+msgstr ""
+
+#: gnu/packages/games.scm:1999
+msgid ""
+"Mupen64Plus is a cross-platform plugin-based Nintendo 64 (N64) emulator\n"
+"which is capable of accurately playing many games. This package contains the\n"
+"Z64 RSP processor plugin."
+msgstr ""
+
+#: gnu/packages/games.scm:2043 gnu/packages/games.scm:2097
+#: gnu/packages/games.scm:2147 gnu/packages/games.scm:2195
+msgid "Mupen64Plus Rice Video plugin"
+msgstr ""
+
+#: gnu/packages/games.scm:2045
+msgid ""
+"Mupen64Plus is a cross-platform plugin-based Nintendo 64 (N64) emulator\n"
+"which is capable of accurately playing many games. This package contains the\n"
+"Arachnoid video plugin."
+msgstr ""
+
+#: gnu/packages/games.scm:2099
+msgid ""
+"Mupen64Plus is a cross-platform plugin-based Nintendo 64 (N64) emulator\n"
+"which is capable of accurately playing many games. This package contains the\n"
+"Glide64 video plugin."
+msgstr ""
+
+#: gnu/packages/games.scm:2149
+msgid ""
+"Mupen64Plus is a cross-platform plugin-based Nintendo 64 (N64) emulator\n"
+"which is capable of accurately playing many games. This package contains the\n"
+"Glide64MK2 video plugin."
+msgstr ""
+
+#: gnu/packages/games.scm:2197
+msgid ""
+"Mupen64Plus is a cross-platform plugin-based Nintendo 64 (N64) emulator\n"
+"which is capable of accurately playing many games. This package contains the\n"
+"Rice Video plugin."
+msgstr ""
+
+#: gnu/packages/games.scm:2249
+msgid "Mupen64Plus Z64 video plugin"
+msgstr ""
+
+#: gnu/packages/games.scm:2251
+msgid ""
+"Mupen64Plus is a cross-platform plugin-based Nintendo 64 (N64) emulator\n"
+"which is capable of accurately playing many games. This package contains the\n"
+"Z64 video plugin."
+msgstr ""
+
+#: gnu/packages/games.scm:2315
+msgid ""
+"Mupen64Plus is a cross-platform plugin-based Nintendo 64 (N64) emulator\n"
+"which is capable of accurately playing many games. This package contains the\n"
+"command line user interface. Installing this package is the easiest way\n"
+"towards a working Mupen64Plus for casual users."
+msgstr ""
+
+#: gnu/packages/games.scm:2372
+msgid "Nintendo Entertainment System (NES/Famicom) emulator"
+msgstr ""
+
+#: gnu/packages/games.scm:2374
+msgid ""
+"Nestopia UE (Undead Edition) is a fork of the Nintendo Entertainment\n"
+"System (NES/Famicom) emulator Nestopia, with enhancements from members of the\n"
+"emulation community. It provides highly accurate emulation."
+msgstr ""
+
+#: gnu/packages/games.scm:2404
+msgid "Video game console emulator front-end"
+msgstr ""
+
+#: gnu/packages/games.scm:2405
+msgid ""
+"EmulationStation provides a graphical front-end to a large\n"
+"number of video game console emulators. It features an interface that is\n"
+"usable with any game controller that has at least 4 buttons, theming support,\n"
+"and a game metadata scraper."
+msgstr ""
+
+#: gnu/packages/games.scm:2459
+msgid "Transportation economics simulator"
+msgstr ""
+
+#: gnu/packages/games.scm:2460
+msgid ""
+"OpenTTD is a game in which you transport goods and\n"
+"passengers by land, water and air. It is a re-implementation of Transport\n"
+"Tycoon Deluxe with many enhancements including multiplayer mode,\n"
+"internationalization support, conditional orders and the ability to clone,\n"
+"autoreplace and autoupdate vehicles. This package only includes the game\n"
+"engine. When you start it you will be prompted to download a graphics set."
+msgstr ""
+
+#: gnu/packages/games.scm:2517
+msgid "Base graphics set for OpenTTD"
+msgstr ""
+
+#: gnu/packages/games.scm:2519
+msgid ""
+"The OpenGFX projects is an implementation of the OpenTTD base grahics\n"
+"set that aims to ensure the best possible out-of-the-box experience.\n"
+"\n"
+"OpenGFX provides you with...\n"
+"@enumerate\n"
+"@item All graphics you need to enjoy OpenTTD.\n"
+"@item Uniquely drawn rail vehicles for every climate.\n"
+"@item Completely snow-aware rivers.\n"
+"@item Different river and sea water.\n"
+"@item Snow-aware buoys.\n"
+"@end enumerate"
+msgstr ""
+
+#: gnu/packages/games.scm:2564
+msgid "Base sounds for OpenTTD"
+msgstr ""
+
+#: gnu/packages/games.scm:2565
+msgid ""
+"OpenSFX is a set of free base sounds for OpenTTD which make\n"
+"it possible to play OpenTTD without requiring the proprietary sound files from\n"
+"the original Transport Tycoon Deluxe."
+msgstr ""
+
+#: gnu/packages/games.scm:2602
+msgid "Music set for OpenTTD"
+msgstr ""
+
+#: gnu/packages/games.scm:2603
+msgid ""
+"OpenMSX is a music set for OpenTTD which makes it possible\n"
+"to play OpenTTD without requiring the proprietary music from the original\n"
+"Transport Tycoon Deluxe."
+msgstr ""
+
+#: gnu/packages/games.scm:2681
+msgid "Free software re-implementation of RollerCoaster Tycoon 2"
+msgstr ""
+
+#: gnu/packages/games.scm:2682
+msgid ""
+"OpenRCT2 is a free software re-implementation of\n"
+"RollerCoaster Tycoon 2 (RCT2). The gameplay revolves around building and\n"
+"maintaining an amusement park containing attractions, shops and facilities.\n"
+"\n"
+"Note that this package does @emph{not} provide the game assets (sounds,\n"
+"images, etc.)"
+msgstr ""
+
+#: gnu/packages/games.scm:2724
+msgid "Pinball simulator"
+msgstr ""
+
+#: gnu/packages/games.scm:2725
+msgid ""
+"The Emilia Pinball Project is a pinball simulator. There\n"
+"are only two levels to play with, but they are very addictive."
+msgstr ""
+
+#: gnu/packages/games.scm:2746
+msgid "Board game inspired by The Settlers of Catan"
+msgstr ""
+
+#: gnu/packages/games.scm:2747
+msgid ""
+"Pioneers is an emulation of the board game The Settlers of\n"
+"Catan. It can be played on a local network, on the internet, and with AI\n"
+"players."
+msgstr ""
+
+#: gnu/packages/games.scm:2781
+msgid "Nintendo DS emulator"
+msgstr ""
+
+#: gnu/packages/games.scm:2783
+msgid "DeSmuME is an emulator for the Nintendo DS handheld gaming console."
+msgstr ""
+
+#: gnu/packages/games.scm:2821 gnu/packages/gnome.scm:2617
+msgid "Logic puzzle game"
+msgstr ""
+
+#: gnu/packages/games.scm:2822
+msgid ""
+"The goal of this logic game is to open all cards in a 6x6\n"
+"grid, using a number of hints as to their relative position. The game idea\n"
+"is attributed to Albert Einstein."
+msgstr ""
+
+#: gnu/packages/games.scm:2851
+msgid "MUD and telnet client"
+msgstr ""
+
+#: gnu/packages/games.scm:2853
+msgid ""
+"POWWOW is a client software which can be used for telnet as well as for\n"
+"@dfn{Multi-User Dungeon} (MUD). Additionally it can serve as a nice client for\n"
+"the chat server psyced with the specific config located at\n"
+"http://lavachat.symlynx.com/unix/"
+msgstr ""
+
+#: gnu/packages/games.scm:3023
+msgid "Arena shooter derived from the Cube 2 engine"
+msgstr ""
+
+#: gnu/packages/games.scm:3025
+msgid ""
+"Red Eclipse is an arena shooter, created from the Cube2 engine.\n"
+"Offering an innovative parkour system and distinct but all potent weapons,\n"
+"Red Eclipse provides fast paced and accessible gameplay."
+msgstr ""
+
+#: gnu/packages/games.scm:3119
+msgid "Nintendo multi-system emulator"
+msgstr ""
+
+#: gnu/packages/games.scm:3121
+msgid ""
+"higan (formerly bsnes) is an emulator for multiple Nintendo video game\n"
+"consoles, including the Nintendo Entertainment System (NES/Famicom), Super\n"
+"Nintendo Entertainment System (SNES/Super Famicom), Game Boy, Game Boy\n"
+"Color (GBC), and Game Boy Advance (GBA). It also supports the subsystems\n"
+"Super Game Boy, BS-X Satellaview, and Sufami Turbo."
+msgstr ""
+
+#: gnu/packages/games.scm:3179
+msgid "Game Boy Advance emulator"
+msgstr ""
+
+#: gnu/packages/games.scm:3181
+msgid ""
+"mGBA is an emulator for running Game Boy Advance games. It aims to be\n"
+"faster and more accurate than many existing Game Boy Advance emulators, as\n"
+"well as adding features that other emulators lack. It also supports Game Boy\n"
+"and Game Boy Color games."
+msgstr ""
+
+#: gnu/packages/games.scm:3237
+msgid "Text adventure game"
+msgstr ""
+
+#: gnu/packages/games.scm:3239
+msgid ""
+"Grue Hunter is a text adventure game written in Perl. You must make\n"
+"your way through an underground cave system in search of the Grue. Can you\n"
+"capture it and get out alive?"
+msgstr ""
+
+#: gnu/packages/games.scm:3281
+msgid "Old-school earthworm action game"
+msgstr ""
+
+#: gnu/packages/games.scm:3283
+msgid ""
+"lierolibre is an earthworm action game where you fight another player\n"
+"(or the computer) underground using a wide array of weapons.\n"
+"\n"
+"Features:\n"
+"@itemize\n"
+"@item 2 worms, 40 weapons, great playability, two game modes: Kill'em All\n"
+"and Game of Tag, plus AI-players without true intelligence!\n"
+"@item Dat nostalgia.\n"
+"@item Extensions via a hidden F1 menu:\n"
+"@itemize\n"
+"@item Replays\n"
+"@item Game controller support\n"
+"@item Powerlevel palettes\n"
+"@end itemize\n"
+"@item Ability to write game variables to plain text files.\n"
+"@item Ability to load game variables from both EXE and plain text files.\n"
+"@item Scripts to extract and repack graphics, sounds and levels.\n"
+"@end itemize\n"
+"\n"
+"To switch between different window sizes, use F6, F7 and F8, to switch to\n"
+"fullscreen, use F5 or Alt+Enter."
+msgstr ""
+
+#: gnu/packages/games.scm:3358
+msgid "3D Real-time strategy and real-time tactics game"
+msgstr ""
+
+#: gnu/packages/games.scm:3360
+msgid ""
+"Warzone 2100 offers campaign, multi-player, and single-player skirmish\n"
+"modes. An extensive tech tree with over 400 different technologies, combined\n"
+"with the unit design system, allows for a wide variety of possible units and\n"
+"tactics."
+msgstr ""
+
+#: gnu/packages/games.scm:3393
+msgid "2D scrolling shooter game"
+msgstr ""
+
+#: gnu/packages/games.scm:3395
+msgid ""
+"In the year 2579, the intergalactic weapons corporation, WEAPCO, has\n"
+"dominated the galaxy. Guide Chris Bainfield and his friend Sid Wilson on\n"
+"their quest to liberate the galaxy from the clutches of WEAPCO. Along the\n"
+"way, you will encounter new foes, make new allies, and assist local rebels\n"
+"in strikes against the evil corporation."
+msgstr ""
+
+#: gnu/packages/games.scm:3426
+msgid "Fast-paced, arcade-style, top-scrolling space shooter"
+msgstr ""
+
+#: gnu/packages/games.scm:3428
+msgid ""
+"In this game you are the captain of the cargo ship Chromium B.S.U. and\n"
+"are responsible for delivering supplies to the troops on the front line. Your\n"
+"ship has a small fleet of robotic fighters which you control from the relative\n"
+"safety of the Chromium vessel."
+msgstr ""
+
+#: gnu/packages/games.scm:3503
+msgid "Drawing software for children"
+msgstr ""
+
+#: gnu/packages/games.scm:3505
+msgid ""
+"Tux Paint is a free drawing program designed for young children (kids\n"
+"ages 3 and up). It has a simple, easy-to-use interface; fun sound effects;\n"
+"and an encouraging cartoon mascot who helps guide children as they use the\n"
+"program. It provides a blank canvas and a variety of drawing tools to help\n"
+"your child be creative."
+msgstr ""
+
+#: gnu/packages/games.scm:3543
+msgid "Stamp images for Tux Paint"
+msgstr ""
+
+#: gnu/packages/games.scm:3545
+msgid ""
+"This package contains a set of \"Rubber Stamp\" images which can be used\n"
+"with the \"Stamp\" tool within Tux Paint."
+msgstr ""
+
+#: gnu/packages/games.scm:3592
+msgid "Configure Tux Paint"
+msgstr ""
+
+#: gnu/packages/games.scm:3594
+msgid "Tux Paint Config is a graphical configuration editor for Tux Paint."
+msgstr ""
+
+#: gnu/packages/games.scm:3626
+msgid "2D platformer game"
+msgstr ""
+
+#: gnu/packages/games.scm:3627
+msgid ""
+"SuperTux is a free classic 2D jump'n run sidescroller game\n"
+"in a style similar to the original Super Mario games covered under\n"
+"the GNU GPL."
+msgstr ""
+
+#: gnu/packages/games.scm:3661
+msgid "MUD client"
+msgstr ""
+
+#: gnu/packages/games.scm:3663
+msgid ""
+"TinTin++ is a MUD client which supports MCCP (Mud Client Compression Protocol),\n"
+"MMCP (Mud Master Chat Protocol), xterm 256 colors, most TELNET options used by MUDs,\n"
+"as well as those required to login via telnet on Linux / Mac OS X servers, and an\n"
+"auto mapper with a VT100 map display."
+msgstr ""
+
+#: gnu/packages/games.scm:3700
+msgid "Programming game"
+msgstr ""
+
+#: gnu/packages/games.scm:3701
+msgid ""
+"Learn programming, playing with ants and spider webs ;-)\n"
+"Your robot ant can be programmed in many languages: OCaml, Python, C, C++,\n"
+"Java, Ruby, Lua, JavaScript, Pascal, Perl, Scheme, Vala, Prolog. Experienced\n"
+"programmers may also add their own favorite language."
+msgstr ""
+
+#: gnu/packages/games.scm:3745
+msgid "Keyboard mashing and doodling game for babies"
+msgstr ""
+
+#: gnu/packages/games.scm:3746
+msgid ""
+"Bambam is a simple baby keyboard (and gamepad) masher\n"
+"application that locks the keyboard and mouse and instead displays bright\n"
+"colors, pictures, and sounds."
+msgstr ""
+
+#: gnu/packages/games.scm:3789
+msgid "Arcade-style fire fighting game"
+msgstr ""
+
+#: gnu/packages/games.scm:3791
+msgid ""
+"Mr. Rescue is an arcade styled 2d action game centered around evacuating\n"
+"civilians from burning buildings. The game features fast paced fire\n"
+"extinguishing action, intense boss battles, a catchy soundtrack and lots of\n"
+"throwing people around in pseudo-randomly generated buildings."
+msgstr ""
+
+#: gnu/packages/games.scm:3898
+msgid "Non-euclidean graphical rogue-like game"
+msgstr ""
+
+#: gnu/packages/games.scm:3900
+msgid ""
+"HyperRogue is a game in which the player collects treasures and fights\n"
+"monsters -- rogue-like but for the fact that it is played on the hyperbolic\n"
+"plane and not in euclidean space.\n"
+"\n"
+"In HyperRogue, the player can move through different parts of the world, which\n"
+"are home to particular creatures and may be subject to their own rules of\n"
+"\"physics\".\n"
+"\n"
+"While the game can use ASCII characters to display the the classical rogue\n"
+"symbols, it still needs graphics to render the non-euclidean world."
+msgstr ""
+
+#: gnu/packages/games.scm:3943
+msgid "Shooter with space station destruction"
+msgstr ""
+
+#: gnu/packages/games.scm:3945
+msgid ""
+"Kobo Deluxe is an enhanced version of Akira Higuchi's XKobo graphical game\n"
+"for Un*x systems with X11."
+msgstr ""
+
+#: gnu/packages/games.scm:3977
+msgid "Turn based empire building strategy game"
+msgstr ""
+
+#: gnu/packages/games.scm:3978
+msgid ""
+"Freeciv is a turn based empire building strategy game\n"
+"inspired by the history of human civilization. The game commences in\n"
+"prehistory and your mission is to lead your tribe from the Stone Age\n"
+"to the Space Age."
+msgstr ""
+
+#: gnu/packages/games.scm:4009
+msgid "Recreation of data decryption effect in \"Sneakers\""
+msgstr ""
+
+#: gnu/packages/games.scm:4011
+msgid ""
+"@code{No More Secrets} provides a command line tool called \"nms\"\n"
+"that recreates the famous data decryption effect seen on screen in the 1992\n"
+"movie \"Sneakers\".\n"
+"\n"
+"This command works on piped data. Pipe any ASCII or UTF-8 text to nms, and\n"
+"it will apply the hollywood effect, initially showing encrypted data, then\n"
+"starting a decryption sequence to reveal the original plaintext characters."
+msgstr ""
+
+#: gnu/packages/games.scm:4038
+msgid "Data files for MegaGlest"
+msgstr ""
+
+#: gnu/packages/games.scm:4039
+msgid "This package contains the data files required for MegaGlest."
+msgstr ""
+
+#: gnu/packages/games.scm:4092
+msgid "3D real-time strategy (RTS) game"
+msgstr ""
+
+#: gnu/packages/games.scm:4093
+msgid ""
+"MegaGlest is a cross-platform 3D real-time strategy (RTS)\n"
+"game, where you control the armies of one of seven different factions: Tech,\n"
+"Magic, Egypt, Indians, Norsemen, Persian or Romans."
+msgstr ""
+
+#: gnu/packages/games.scm:4143
+msgid "Side-scrolling physics platformer with a ball of tar"
+msgstr ""
+
+#: gnu/packages/games.scm:4144
+msgid ""
+"In FreeGish you control Gish, a ball of tar who lives\n"
+"happily with his girlfriend Brea, until one day a mysterious dark creature\n"
+"emerges from a sewer hole and pulls her below ground."
+msgstr ""
+
+#: gnu/packages/games.scm:4179
+msgid "Classic overhead run-and-gun game"
+msgstr ""
+
+#: gnu/packages/games.scm:4180
+msgid ""
+"C-Dogs SDL is a classic overhead run-and-gun game,\n"
+"supporting up to 4 players in co-op and deathmatch modes. Customize your\n"
+"player, choose from many weapons, and blast, slide and slash your way through\n"
+"over 100 user-created campaigns."
+msgstr ""
+
+#: gnu/packages/games.scm:4280
+msgid "3D puzzle game"
+msgstr ""
+
+#: gnu/packages/games.scm:4281
+msgid ""
+"Kiki the nano bot is a 3D puzzle game. It is basically a\n"
+"mixture of the games Sokoban and Kula-World. Your task is to help Kiki, a\n"
+"small robot living in the nano world, repair its maker."
+msgstr ""
+
+#: gnu/packages/games.scm:4371
+msgid "2D retro multiplayer shooter game"
+msgstr ""
+
+#: gnu/packages/games.scm:4372
+msgid ""
+"Teeworlds is an online multiplayer game. Battle with up to\n"
+"16 players in a variety of game modes, including Team Deathmatch and Capture\n"
+"The Flag. You can even design your own maps!"
+msgstr ""
+
+#: gnu/packages/games.scm:4425
+msgid "Puzzle game with a dexterity component"
+msgstr ""
+
+#: gnu/packages/games.scm:4426
+msgid ""
+"Enigma is a puzzle game with 550 unique levels. The object\n"
+"of the game is to find and uncover pairs of identically colored ‘Oxyd’ stones.\n"
+"Simple? Yes. Easy? Certainly not! Hidden traps, vast mazes, laser beams,\n"
+"and most of all, countless hairy puzzles usually block your direct way to the\n"
+"Oxyd stones. Enigma’s game objects (and there are hundreds of them, lest you\n"
+"get bored) interact in many unexpected ways, and since many of them follow the\n"
+"laws of physics (Enigma’s special laws of physics, that is), controlling them\n"
+"with the mouse isn’t always trivial."
+msgstr ""
+
+#: gnu/packages/games.scm:4497
+msgid "Puzzle game"
+msgstr ""
+
+#: gnu/packages/games.scm:4498
+msgid ""
+"Fish Fillets NG is strictly a puzzle game. The goal in\n"
+"every of the seventy levels is always the same: find a safe way out. The fish\n"
+"utter witty remarks about their surroundings, the various inhabitants of their\n"
+"underwater realm quarrel among themselves or comment on the efforts of your\n"
+"fish. The whole game is accompanied by quiet, comforting music."
+msgstr ""
+
+#: gnu/packages/games.scm:4562
+msgid "Roguelike dungeon crawler game"
+msgstr ""
+
+#: gnu/packages/games.scm:4563
+msgid ""
+"Dungeon Crawl Stone Soup is a roguelike adventure through\n"
+"dungeons filled with dangerous monsters in a quest to find the mystifyingly\n"
+"fabulous Orb of Zot."
+msgstr ""
+
+#: gnu/packages/games.scm:4609
+msgid "Graphical roguelike dungeon crawler game"
+msgstr ""
+
+#: gnu/packages/games.scm:4639
+msgid "Cross-platform third-person action game"
+msgstr ""
+
+#: gnu/packages/games.scm:4640
+msgid ""
+"Lugaru is a third-person action game. The main character,\n"
+"Turner, is an anthropomorphic rebel bunny rabbit with impressive combat skills.\n"
+"In his quest to find those responsible for slaughtering his village, he uncovers\n"
+"a far-reaching conspiracy involving the corrupt leaders of the rabbit republic\n"
+"and the starving wolves from a nearby den. Turner takes it upon himself to\n"
+"fight against their plot and save his fellow rabbits from slavery."
+msgstr ""
+
+#: gnu/packages/games.scm:4691
+msgid "Data files for 0ad"
+msgstr ""
+
+#: gnu/packages/games.scm:4692
+msgid "0ad-data provides the data files required by the game 0ad."
+msgstr ""
+
+#: gnu/packages/games.scm:4814
+msgid "3D real-time strategy game of ancient warfare"
+msgstr ""
+
+#: gnu/packages/games.scm:4815
+msgid ""
+"0 A.D. is a real-time strategy (RTS) game of ancient\n"
+"warfare. It's a historically-based war/economy game that allows players to\n"
+"relive or rewrite the history of twelve ancient civilizations, each depicted\n"
+"at their peak of economic growth and military prowess.\n"
+"\n"
+"0ad needs a window manager that supports 'Extended Window Manager Hints'."
+msgstr ""
+
+#: gnu/packages/games.scm:4891
+msgid "Colossal Cave Adventure"
+msgstr ""
+
+#: gnu/packages/games.scm:4892
+msgid ""
+"The original Colossal Cave Adventure from 1976 was the\n"
+"origin of all text adventures, dungeon-crawl (computer) games, and\n"
+"computer-hosted roleplaying games. This is the last version released by\n"
+"Crowther & Woods, its original authors, in 1995. It has been known as\n"
+"\"adventure 2.5\" and \"430-point adventure\"."
+msgstr ""
+
+#: gnu/packages/games.scm:4903
+msgid "Single-player, RPG roguelike game set in the world of Eyal"
+msgstr ""
+
+#: gnu/packages/games.scm:5008
+msgid ""
+"Tales of Maj’Eyal (ToME) RPG, featuring tactical turn-based\n"
+"combat and advanced character building. Play as one of many unique races and\n"
+"classes in the lore-filled world of Eyal, exploring random dungeons, facing\n"
+"challenging battles, and developing characters with your own tailored mix of\n"
+"abilities and powers. With a modern graphical and customisable interface,\n"
+"intuitive mouse control, streamlined mechanics and deep, challenging combat,\n"
+"Tales of Maj’Eyal offers engaging roguelike gameplay for the 21st century."
+msgstr ""
+
+#: gnu/packages/gcc.scm:336
+msgid "GNU Compiler Collection"
+msgstr ""
+
+#: gnu/packages/gcc.scm:338
+msgid ""
+"GCC is the GNU Compiler Collection. It provides compiler front-ends\n"
+"for several languages, including C, C++, Objective-C, Fortran, Java, Ada, and\n"
+"Go. It also includes runtime support libraries for these languages."
+msgstr ""
+
+#: gnu/packages/gcc.scm:432
+msgid ""
+"GCC is the GNU Compiler Collection. It provides compiler front-ends\n"
+"for several languages, including C, C++, Objective-C, Fortran, Ada, and Go.\n"
+"It also includes runtime support libraries for these languages."
+msgstr ""
+
+#: gnu/packages/gcc.scm:462
+msgid "GNU C++ standard library"
+msgstr ""
+
+#: gnu/packages/gcc.scm:497
+msgid "Collection of subroutines used by various GNU programs"
+msgstr ""
+
+#: gnu/packages/gcc.scm:682
+msgid "GNU libstdc++ documentation"
+msgstr ""
+
+#: gnu/packages/gcc.scm:750
+msgid "Manipulating sets and relations of integer points bounded by linear constraints"
+msgstr ""
+
+#: gnu/packages/gcc.scm:753
+msgid ""
+"isl is a library for manipulating sets and relations of integer points\n"
+"bounded by linear constraints. Supported operations on sets include\n"
+"intersection, union, set difference, emptiness check, convex hull, (integer)\n"
+"affine hull, integer projection, computing the lexicographic minimum using\n"
+"parametric integer programming, coalescing and parametric vertex\n"
+"enumeration. It also includes an ILP solver based on generalized basis\n"
+"reduction, transitive closures on maps (which may encode infinite graphs),\n"
+"dependence analysis and bounds on piecewise step-polynomials."
+msgstr ""
+
+#: gnu/packages/gcc.scm:803
+msgid "Library to generate code for scanning Z-polyhedra"
+msgstr ""
+
+#: gnu/packages/gcc.scm:805
+msgid ""
+"CLooG is a free software library to generate code for scanning\n"
+"Z-polyhedra. That is, it finds a code (e.g., in C, FORTRAN...) that\n"
+"reaches each integral point of one or more parameterized polyhedra.\n"
+"CLooG has been originally written to solve the code generation problem\n"
+"for optimizing compilers based on the polytope model. Nevertheless it\n"
+"is used now in various area e.g., to build control automata for\n"
+"high-level synthesis or to find the best polynomial approximation of a\n"
+"function. CLooG may help in any situation where scanning polyhedra\n"
+"matters. While the user has full control on generated code quality,\n"
+"CLooG is designed to avoid control overhead and to produce a very\n"
+"effective code."
+msgstr ""
+
+#: gnu/packages/gcc.scm:860
+msgid "Reference manual for the C programming language"
+msgstr ""
+
+#: gnu/packages/gcc.scm:862
+msgid ""
+"This is a reference manual for the C programming language, as\n"
+"implemented by the GNU C Compiler (gcc). As a reference, it is not intended\n"
+"to be a tutorial of the language. Rather, it outlines all of the constructs\n"
+"of the language. Library functions are not included."
+msgstr ""
+
+#: gnu/packages/gettext.scm:98
+msgid "Tools and documentation for translation (used to build other packages)"
+msgstr ""
+
+#: gnu/packages/gettext.scm:100
+msgid ""
+"GNU Gettext is a package providing a framework for translating the\n"
+"textual output of programs into multiple languages. It provides translators\n"
+"with the means to create message catalogs, and a runtime library to load\n"
+"translated messages from the catalogs. Nearly all GNU packages use Gettext."
+msgstr ""
+
+#: gnu/packages/gettext.scm:130
+msgid "Tools and documentation for translation"
+msgstr ""
+
+#: gnu/packages/gettext.scm:195
+msgid "Scripts to ease maintenance of translations"
+msgstr ""
+
+#: gnu/packages/gettext.scm:197
+msgid ""
+"The po4a (PO for anything) project goal is to ease translations (and\n"
+"more interestingly, the maintenance of translations) using gettext tools on\n"
+"areas where they were not expected like documentation."
+msgstr ""
+
+#: gnu/packages/gimp.scm:60
+msgid "Image pixel format conversion library"
+msgstr ""
+
+#: gnu/packages/gimp.scm:62
+msgid ""
+"Babl is a dynamic, any to any, pixel format translation library.\n"
+"It allows converting between different methods of storing pixels known as\n"
+"pixel formats that have with different bitdepths and other data\n"
+"representations, color models and component permutations.\n"
+"\n"
+"A vocabulary to formulate new pixel formats from existing primitives is\n"
+"provided as well as the framework to add new color models and data types."
+msgstr ""
+
+#: gnu/packages/gimp.scm:119
+msgid "Graph based image processing framework"
+msgstr ""
+
+#: gnu/packages/gimp.scm:120
+msgid ""
+"GEGL (Generic Graphics Library) provides infrastructure to\n"
+"do demand based cached non destructive image editing on larger than RAM\n"
+"buffers."
+msgstr ""
+
+#: gnu/packages/gimp.scm:180
+msgid "GNU Image Manipulation Program"
+msgstr ""
+
+#: gnu/packages/gimp.scm:182
+msgid ""
+"GIMP is an application for image manipulation tasks such as photo\n"
+"retouching, composition and authoring. It supports all common image formats\n"
+"as well as specialized ones. It features a highly customizable interface\n"
+"that is extensible via a plugin system."
+msgstr ""
+
+#: gnu/packages/gimp.scm:230
+msgid "GIMP plug-in to edit image in fourier space"
+msgstr ""
+
+#: gnu/packages/gimp.scm:232
+msgid ""
+"This package provides a simple plug-in to apply the fourier transform on\n"
+"an image, allowing you to work with the transformed image inside GIMP. You\n"
+"can draw or apply filters in fourier space and get the modified image with an\n"
+"inverse fourier transform."
+msgstr ""
+
+#: gnu/packages/gnome.scm:200
+msgid "CD/DVD burning tool for Gnome"
+msgstr ""
+
+#: gnu/packages/gnome.scm:201
+msgid ""
+"Brasero is an application to burn CD/DVD for the Gnome\n"
+"Desktop. It is designed to be as simple as possible and has some unique\n"
+"features to enable users to create their discs easily and quickly."
+msgstr ""
+
+#: gnu/packages/gnome.scm:276
+msgid "Simple backup tool, for regular encrypted backups"
+msgstr ""
+
+#: gnu/packages/gnome.scm:278
+msgid ""
+"Déjà Dup is a simple backup tool, for regular encrypted backups. It\n"
+"uses duplicity as the backend, which supports incremental backups and storage\n"
+"either on a local, or remote machine via a number of methods."
+msgstr ""
+
+#: gnu/packages/gnome.scm:325
+msgid "Diagram creation for GNOME"
+msgstr ""
+
+#: gnu/packages/gnome.scm:326
+msgid ""
+"Dia can be used to draw different types of diagrams, and\n"
+"includes support for UML static structure diagrams (class diagrams), entity\n"
+"relationship modeling, and network diagrams. The program supports various file\n"
+"formats like PNG, SVG, PDF and EPS."
+msgstr ""
+
+#: gnu/packages/gnome.scm:382
+msgid "Library for accessing online service APIs"
+msgstr ""
+
+#: gnu/packages/gnome.scm:384
+msgid ""
+"libgdata is a GLib-based library for accessing online service APIs using\n"
+"the GData protocol — most notably, Google's services. It provides APIs to\n"
+"access the common Google services, and has full asynchronous support."
+msgstr ""
+
+#: gnu/packages/gnome.scm:414
+msgid "GObject-based library for handling and rendering XPS documents"
+msgstr ""
+
+#: gnu/packages/gnome.scm:416
+msgid ""
+"libgxps is a GObject-based library for handling and rendering XPS\n"
+"documents. This package also contains binaries that can convert XPS documents\n"
+"to other formats."
+msgstr ""
+
+#: gnu/packages/gnome.scm:436
+msgid "Bootstrap GNOME modules built from Git"
+msgstr ""
+
+#: gnu/packages/gnome.scm:437
+msgid ""
+"gnome-common contains various files needed to bootstrap\n"
+"GNOME modules built from Git. It contains a common \"autogen.sh\" script that\n"
+"can be used to configure a source directory checked out from Git and some\n"
+"commonly used macros."
+msgstr ""
+
+#: gnu/packages/gnome.scm:488
+msgid "Libgnome-desktop, gnome-about, and desktop-wide documents"
+msgstr ""
+
+#: gnu/packages/gnome.scm:490
+msgid ""
+"The libgnome-desktop library provides API shared by several applications\n"
+"on the desktop, but that cannot live in the platform for various reasons.\n"
+"There is no API or ABI guarantee, although we are doing our best to provide\n"
+"stability. Documentation for the API is available with gtk-doc.\n"
+"\n"
+"The gnome-about program helps find which version of GNOME is installed."
+msgstr ""
+
+#: gnu/packages/gnome.scm:523
+msgid "Documentation utilities for the Gnome project"
+msgstr ""
+
+#: gnu/packages/gnome.scm:525
+msgid ""
+"Gnome-doc-utils is a collection of documentation utilities for the\n"
+"Gnome project. It includes xml2po tool which makes it easier to translate\n"
+"and keep up to date translations of documentation."
+msgstr ""
+
+#: gnu/packages/gnome.scm:564
+msgid "Disk management utility for GNOME"
+msgstr ""
+
+#: gnu/packages/gnome.scm:565
+msgid "Disk management utility for GNOME."
+msgstr ""
+
+#: gnu/packages/gnome.scm:608
+msgid "Libraries for displaying certificates and accessing key stores"
+msgstr ""
+
+#: gnu/packages/gnome.scm:610
+msgid ""
+"The GCR package contains libraries used for displaying certificates and\n"
+"accessing key stores. It also provides the viewer for crypto files on the\n"
+"GNOME Desktop."
+msgstr ""
+
+#: gnu/packages/gnome.scm:639
+msgid "Accessing passwords from the GNOME keyring"
+msgstr ""
+
+#: gnu/packages/gnome.scm:641
+msgid "Client library to access passwords from the GNOME keyring."
+msgstr ""
+
+#: gnu/packages/gnome.scm:703
+msgid "Daemon to store passwords and encryption keys"
+msgstr ""
+
+#: gnu/packages/gnome.scm:705
+msgid ""
+"gnome-keyring is a program that keeps passwords and other secrets for\n"
+"users. It is run as a daemon in the session, similar to ssh-agent, and other\n"
+"applications locate it via an environment variable or D-Bus.\n"
+"\n"
+"The program can manage several keyrings, each with its own master password,\n"
+"and there is also a session keyring which is never stored to disk, but\n"
+"forgotten when the session ends."
+msgstr ""
+
+#: gnu/packages/gnome.scm:774
+msgid "GNOME's document viewer"
+msgstr ""
+
+#: gnu/packages/gnome.scm:776
+msgid ""
+"Evince is a document viewer for multiple document formats. It\n"
+"currently supports PDF, PostScript, DjVu, TIFF and DVI. The goal\n"
+"of Evince is to replace the multiple document viewers that exist\n"
+"on the GNOME Desktop with a single simple application."
+msgstr ""
+
+#: gnu/packages/gnome.scm:805
+msgid "GNOME settings for various desktop components"
+msgstr ""
+
+#: gnu/packages/gnome.scm:807
+msgid ""
+"Gsettings-desktop-schemas contains a collection of GSettings schemas\n"
+"for settings shared by various components of the GNOME desktop."
+msgstr ""
+
+#: gnu/packages/gnome.scm:841
+msgid "Utility to implement the Freedesktop Icon Naming Specification"
+msgstr ""
+
+#: gnu/packages/gnome.scm:843
+msgid ""
+"To help with the transition to the Freedesktop Icon Naming\n"
+"Specification, the icon naming utility maps the icon names used by the\n"
+"GNOME and KDE desktops to the icon names proposed in the specification."
+msgstr ""
+
+#: gnu/packages/gnome.scm:874
+msgid "GNOME icon theme"
+msgstr ""
+
+#: gnu/packages/gnome.scm:876
+msgid "Icons for the GNOME desktop."
+msgstr ""
+
+#: gnu/packages/gnome.scm:913
+msgid "Tango icon theme"
+msgstr ""
+
+#: gnu/packages/gnome.scm:914
+msgid ""
+"This is an icon theme that follows the Tango visual\n"
+"guidelines."
+msgstr ""
+
+#: gnu/packages/gnome.scm:940
+msgid "Database of common MIME types"
+msgstr ""
+
+#: gnu/packages/gnome.scm:942
+msgid ""
+"The shared-mime-info package contains the core database of common types\n"
+"and the update-mime-database command used to extend it. It requires glib2 to\n"
+"be installed for building the update command. Additionally, it uses intltool\n"
+"for translations, though this is only a dependency for the maintainers. This\n"
+"database is translated at Transifex."
+msgstr ""
+
+#: gnu/packages/gnome.scm:966
+msgid "Freedesktop icon theme"
+msgstr ""
+
+#: gnu/packages/gnome.scm:968
+msgid "Freedesktop icon theme."
+msgstr ""
+
+#: gnu/packages/gnome.scm:996
+msgid "GNOME desktop notification library"
+msgstr ""
+
+#: gnu/packages/gnome.scm:998
+msgid ""
+"Libnotify is a library that sends desktop notifications to a\n"
+"notification daemon, as defined in the Desktop Notifications spec. These\n"
+"notifications can be used to inform the user about an event or display\n"
+"some form of information without getting in the user's way."
+msgstr ""
+
+#: gnu/packages/gnome.scm:1032
+msgid "GObject plugin system"
+msgstr ""
+
+#: gnu/packages/gnome.scm:1034
+msgid ""
+"Libpeas is a gobject-based plugin engine, targeted at giving every\n"
+"application the chance to assume its own extensibility. It also has a set of\n"
+"features including, but not limited to: multiple extension points; on-demand\n"
+"(lazy) programming language support for C, Python and JS; simplicity of the\n"
+"API."
+msgstr ""
+
+#: gnu/packages/gnome.scm:1063
+msgid "OpenGL extension to GTK+"
+msgstr ""
+
+#: gnu/packages/gnome.scm:1064
+msgid ""
+"GtkGLExt is an OpenGL extension to GTK+. It provides\n"
+"additional GDK objects which support OpenGL rendering in GTK+ and GtkWidget\n"
+"API add-ons to make GTK+ widgets OpenGL-capable."
+msgstr ""
+
+#: gnu/packages/gnome.scm:1107
+msgid "GTK+ rapid application development tool"
+msgstr ""
+
+#: gnu/packages/gnome.scm:1108
+msgid ""
+"Glade is a rapid application development (RAD) tool to\n"
+"enable quick & easy development of user interfaces for the GTK+ toolkit and\n"
+"the GNOME desktop environment."
+msgstr ""
+
+#: gnu/packages/gnome.scm:1136
+msgid "CSS2 parsing and manipulation library"
+msgstr ""
+
+#: gnu/packages/gnome.scm:1138
+msgid ""
+"Libcroco is a standalone CSS2 parsing and manipulation library.\n"
+"The parser provides a low level event driven SAC-like API and a CSS object\n"
+"model like API. Libcroco provides a CSS2 selection engine and an experimental\n"
+"XML/CSS rendering engine."
+msgstr ""
+
+#: gnu/packages/gnome.scm:1171
+msgid "GNOME's Structured File Library"
+msgstr ""
+
+#: gnu/packages/gnome.scm:1173
+msgid ""
+"Libgsf aims to provide an efficient extensible I/O abstraction for\n"
+"dealing with different structured file formats."
+msgstr ""
+
+#: gnu/packages/gnome.scm:1224
+msgid "Render SVG files using Cairo"
+msgstr ""
+
+#: gnu/packages/gnome.scm:1226
+msgid ""
+"Librsvg is a C library to render SVG files using the Cairo 2D graphics\n"
+"library."
+msgstr ""
+
+#: gnu/packages/gnome.scm:1250
+msgid "Create trees of CORBA Interface Definition Language files"
+msgstr ""
+
+#: gnu/packages/gnome.scm:1251
+msgid ""
+"Libidl is a library for creating trees of CORBA Interface\n"
+"Definition Language (idl) files, which is a specification for defining\n"
+"portable interfaces. libidl was initially written for orbit (the orb from the\n"
+"GNOME project, and the primary means of libidl distribution). However, the\n"
+"functionality was designed to be as reusable and portable as possible."
+msgstr ""
+
+#: gnu/packages/gnome.scm:1291
+msgid "CORBA 2.4-compliant Object Request Broker"
+msgstr ""
+
+#: gnu/packages/gnome.scm:1292
+msgid ""
+"ORBit2 is a CORBA 2.4-compliant Object Request Broker (orb)\n"
+"featuring mature C, C++ and Python bindings."
+msgstr ""
+
+#: gnu/packages/gnome.scm:1339
+msgid "Framework for creating reusable components for use in GNOME applications"
+msgstr ""
+
+#: gnu/packages/gnome.scm:1340
+msgid ""
+"Bonobo is a framework for creating reusable components for\n"
+"use in GNOME applications, built on top of CORBA."
+msgstr ""
+
+#: gnu/packages/gnome.scm:1371
+msgid "Store application preferences"
+msgstr ""
+
+#: gnu/packages/gnome.scm:1372
+msgid ""
+"Gconf is a system for storing application preferences. It\n"
+"is intended for user preferences; not arbitrary data storage."
+msgstr ""
+
+#: gnu/packages/gnome.scm:1406
+msgid "Base MIME and Application database for GNOME"
+msgstr ""
+
+#: gnu/packages/gnome.scm:1407
+msgid ""
+"GNOME Mime Data is a module which contains the base MIME\n"
+"and Application database for GNOME. The data stored by this module is\n"
+"designed to be accessed through the MIME functions in GnomeVFS."
+msgstr ""
+
+#: gnu/packages/gnome.scm:1450
+msgid "Access files and folders in GNOME applications"
+msgstr ""
+
+#: gnu/packages/gnome.scm:1452
+msgid ""
+"GnomeVFS is the core library used to access files and folders in GNOME\n"
+"applications. It provides a file system abstraction which allows applications\n"
+"to access local and remote files with a single consistent API."
+msgstr ""
+
+#: gnu/packages/gnome.scm:1496
+msgid "Useful routines for building applications"
+msgstr ""
+
+#: gnu/packages/gnome.scm:1497
+msgid ""
+"The libgnome library provides a number of useful routines\n"
+"for building modern applications, including session management, activation of\n"
+"files and URIs, and displaying help."
+msgstr ""
+
+#: gnu/packages/gnome.scm:1520
+msgid "2D drawing library"
+msgstr ""
+
+#: gnu/packages/gnome.scm:1521
+msgid ""
+"Libart is a 2D drawing library intended as a\n"
+"high-quality vector-based 2D library with antialiasing and alpha composition."
+msgstr ""
+
+#: gnu/packages/gnome.scm:1548
+msgid "Flexible widget for creating interactive structured graphics"
+msgstr ""
+
+#: gnu/packages/gnome.scm:1549
+msgid ""
+"The GnomeCanvas widget provides a flexible widget for\n"
+"creating interactive structured graphics."
+msgstr ""
+
+#: gnu/packages/gnome.scm:1573
+msgid "C++ bindings to the GNOME Canvas library"
+msgstr ""
+
+#: gnu/packages/gnome.scm:1574
+msgid "C++ bindings to the GNOME Canvas library."
+msgstr ""
+
+#: gnu/packages/gnome.scm:1605
+msgid "Additional widgets for applications"
+msgstr ""
+
+#: gnu/packages/gnome.scm:1606
+msgid ""
+"The libgnomeui library provides additional widgets for\n"
+"applications. Many of the widgets from libgnomeui have already been\n"
+"ported to GTK+."
+msgstr ""
+
+#: gnu/packages/gnome.scm:1632
+msgid "Load glade interfaces and access the glade built widgets"
+msgstr ""
+
+#: gnu/packages/gnome.scm:1633
+msgid ""
+"Libglade is a library that provides interfaces for loading\n"
+"graphical interfaces described in glade files and for accessing the\n"
+"widgets built in the loading process."
+msgstr ""
+
+#: gnu/packages/gnome.scm:1663 gnu/packages/gnome.scm:1695
+msgid "Printing framework for GNOME"
+msgstr ""
+
+#: gnu/packages/gnome.scm:1665
+msgid ""
+"GNOME-print was a printing framework for GNOME. It has been deprecated\n"
+"since ca. 2006, when GTK+ itself incorporated printing support."
+msgstr ""
+
+#: gnu/packages/gnome.scm:1739
+msgid "Some user interface controls using Bonobo"
+msgstr ""
+
+#: gnu/packages/gnome.scm:1740
+msgid ""
+"The Bonobo UI library provides a number of user interface\n"
+"controls using the Bonobo component framework."
+msgstr ""
+
+#: gnu/packages/gnome.scm:1765
+msgid "Window Navigator Construction Kit"
+msgstr ""
+
+#: gnu/packages/gnome.scm:1767
+msgid ""
+"Libwnck is the Window Navigator Construction Kit, a library for use in\n"
+"writing pagers, tasklists, and more generally applications that are dealing\n"
+"with window management. It tries hard to respect the Extended Window Manager\n"
+"Hints specification (EWMH)."
+msgstr ""
+
+#: gnu/packages/gnome.scm:1820
+msgid "Document-centric objects and utilities"
+msgstr ""
+
+#: gnu/packages/gnome.scm:1821
+msgid "A GLib/GTK+ set of document-centric objects and utilities."
+msgstr ""
+
+#: gnu/packages/gnome.scm:1905
+msgid "Spreadsheet application"
+msgstr ""
+
+#: gnu/packages/gnome.scm:1907
+msgid ""
+"GNUmeric is a GNU spreadsheet application, running under GNOME. It is\n"
+"interoperable with other spreadsheet applications. It has a vast array of\n"
+"features beyond typical spreadsheet functionality, such as support for linear\n"
+"and non-linear solvers, statistical analysis, and telecommunication\n"
+"engineering."
+msgstr ""
+
+#: gnu/packages/gnome.scm:1947
+msgid "Default GNOME 3 themes"
+msgstr ""
+
+#: gnu/packages/gnome.scm:1949
+msgid "The default GNOME 3 themes (Adwaita and some accessibility themes)."
+msgstr ""
+
+#: gnu/packages/gnome.scm:1982
+msgid "Manage encryption keys and passwords in the GNOME keyring"
+msgstr ""
+
+#: gnu/packages/gnome.scm:1984
+msgid ""
+"Seahorse is a GNOME application for managing encryption keys and\n"
+"passwords in the GNOME keyring."
+msgstr ""
+
+#: gnu/packages/gnome.scm:2022 gnu/packages/gnome.scm:2258
+msgid "Compiler for the GObject type system"
+msgstr ""
+
+#: gnu/packages/gnome.scm:2024
+msgid ""
+"Vala is a programming language that aims to bring modern programming\n"
+"language features to GNOME developers without imposing any additional runtime\n"
+"requirements and without using a different ABI compared to applications and\n"
+"libraries written in C."
+msgstr ""
+
+#: gnu/packages/gnome.scm:2056
+msgid "Virtual Terminal Emulator"
+msgstr ""
+
+#: gnu/packages/gnome.scm:2058
+msgid ""
+"VTE is a library (libvte) implementing a terminal emulator widget for\n"
+"GTK+, and a minimal sample application (vte) using that. Vte is mainly used in\n"
+"gnome-terminal, but can also be used to embed a console/terminal in games,\n"
+"editors, IDEs, etc."
+msgstr ""
+
+#: gnu/packages/gnome.scm:2091
+msgid "Enhanced VTE terminal widget"
+msgstr ""
+
+#: gnu/packages/gnome.scm:2093
+msgid ""
+"VTE is a library (libvte) implementing a terminal emulator widget for\n"
+"GTK+, this fork provides additional functions exposed for keyboard text\n"
+"selection and URL hints."
+msgstr ""
+
+#: gnu/packages/gnome.scm:2179
+msgid "Remote desktop viewer for GNOME"
+msgstr ""
+
+#: gnu/packages/gnome.scm:2180
+msgid ""
+"Vinagre is a remote display client supporting the VNC, SPICE\n"
+"and RDP protocols."
+msgstr ""
+
+#: gnu/packages/gnome.scm:2232
+msgid "Low-level GNOME configuration system"
+msgstr ""
+
+#: gnu/packages/gnome.scm:2233
+msgid ""
+"Dconf is a low-level configuration system. Its main purpose\n"
+"is to provide a backend to GSettings on platforms that don't already have\n"
+"configuration storage systems."
+msgstr ""
+
+#: gnu/packages/gnome.scm:2260
+msgid ""
+"JSON-GLib is a C library based on GLib providing serialization and\n"
+"deserialization support for the JavaScript Object Notation (JSON) format\n"
+"described by RFC 4627. It provides parser and generator GObject classes and\n"
+"various wrappers for the complex data types employed by JSON, such as arrays\n"
+"and objects."
+msgstr ""
+
+#: gnu/packages/gnome.scm:2299
+msgid "High-level API for X Keyboard Extension"
+msgstr ""
+
+#: gnu/packages/gnome.scm:2301
+msgid ""
+"LibXklavier is a library providing high-level API for X Keyboard\n"
+"Extension known as XKB. This library is intended to support XFree86 and other\n"
+"commercial X servers. It is useful for creating XKB-related software (layout\n"
+"indicators etc)."
+msgstr ""
+
+#: gnu/packages/gnome.scm:2329
+msgid "Python bindings to librsvg"
+msgstr ""
+
+#: gnu/packages/gnome.scm:2331
+msgid ""
+"This packages provides Python bindings to librsvg, the SVG rendering\n"
+"library."
+msgstr ""
+
+#: gnu/packages/gnome.scm:2381
+msgid "Network-related GIO modules"
+msgstr ""
+
+#: gnu/packages/gnome.scm:2383
+msgid ""
+"This package contains various network related extensions for the GIO\n"
+"library."
+msgstr ""
+
+#: gnu/packages/gnome.scm:2414
+msgid "RESTful web api query library"
+msgstr ""
+
+#: gnu/packages/gnome.scm:2416
+msgid ""
+"This library was designed to make it easier to access web services that\n"
+"claim to be \"RESTful\". It includes convenience wrappers for libsoup and\n"
+"libxml to ease remote use of the RESTful API."
+msgstr ""
+
+#: gnu/packages/gnome.scm:2539
+msgid "GLib-based HTTP Library"
+msgstr ""
+
+#: gnu/packages/gnome.scm:2541
+msgid ""
+"LibSoup is an HTTP client/server library for GNOME. It uses GObjects\n"
+"and the GLib main loop, to integrate well with GNOME applications."
+msgstr ""
+
+#: gnu/packages/gnome.scm:2587
+msgid "GObject bindings for \"Secret Service\" API"
+msgstr ""
+
+#: gnu/packages/gnome.scm:2589
+msgid ""
+"Libsecret is a GObject based library for storing and retrieving passwords\n"
+"and other secrets. It communicates with the \"Secret Service\" using DBus."
+msgstr ""
+
+#: gnu/packages/gnome.scm:2618
+msgid ""
+"Five or More is a game where you try to align\n"
+" five or more objects of the same color and shape causing them to disappear.\n"
+" On every turn more objects will appear, until the board is full.\n"
+" Try to last as long as possible."
+msgstr ""
+
+#: gnu/packages/gnome.scm:2656
+msgid "Minesweeper game"
+msgstr ""
+
+#: gnu/packages/gnome.scm:2658
+msgid ""
+"Mines (previously gnomine) is a puzzle game where you locate mines\n"
+"floating in an ocean using only your brain and a little bit of luck."
+msgstr ""
+
+#: gnu/packages/gnome.scm:2689
+msgid "Japanese logic game"
+msgstr ""
+
+#: gnu/packages/gnome.scm:2691
+msgid ""
+"Sudoku is a Japanese logic game that exploded in popularity in 2005.\n"
+"GNOME Sudoku is meant to have an interface as simple and unobstrusive as\n"
+"possible while still providing features that make playing difficult Sudoku\n"
+"more fun."
+msgstr ""
+
+#: gnu/packages/gnome.scm:2737
+msgid "Terminal emulator"
+msgstr ""
+
+#: gnu/packages/gnome.scm:2739
+msgid ""
+"GNOME Terminal is a terminal emulator application for accessing a\n"
+"UNIX shell environment which can be used to run programs available on\n"
+"your system.\n"
+"\n"
+"It supports several profiles, multiple tabs and implements several\n"
+"keyboard shortcuts."
+msgstr ""
+
+#: gnu/packages/gnome.scm:2805
+msgid "Color management service"
+msgstr ""
+
+#: gnu/packages/gnome.scm:2806
+msgid ""
+"Colord is a system service that makes it easy to manage,\n"
+"install and generate color profiles to accurately color manage input and\n"
+"output devices."
+msgstr ""
+
+#: gnu/packages/gnome.scm:2850
+msgid "Geolocation service"
+msgstr ""
+
+#: gnu/packages/gnome.scm:2851
+msgid ""
+"Geoclue is a D-Bus service that provides location\n"
+"information. The primary goal of the Geoclue project is to make creating\n"
+"location-aware applications as simple as possible, while the secondary goal is\n"
+"to ensure that no application can access location information without explicit\n"
+"permission from user."
+msgstr ""
+
+#: gnu/packages/gnome.scm:2886
+msgid "Geocoding and reverse-geocoding library"
+msgstr ""
+
+#: gnu/packages/gnome.scm:2888
+msgid ""
+"geocode-glib is a convenience library for geocoding (finding longitude,\n"
+"and latitude from an address) and reverse geocoding (finding an address from\n"
+"coordinates) using the Nominatim service. geocode-glib caches requests for\n"
+"faster results and to avoid unnecessary server load."
+msgstr ""
+
+#: gnu/packages/gnome.scm:2941
+msgid "System daemon for managing power devices"
+msgstr ""
+
+#: gnu/packages/gnome.scm:2943
+msgid ""
+"UPower is an abstraction for enumerating power devices,\n"
+"listening to device events and querying history and statistics. Any\n"
+"application or service on the system can access the org.freedesktop.UPower\n"
+"service via the system message bus."
+msgstr ""
+
+#: gnu/packages/gnome.scm:3001
+msgid "Location, time zone, and weather library for GNOME"
+msgstr ""
+
+#: gnu/packages/gnome.scm:3003
+msgid ""
+"libgweather is a library to access weather information from online\n"
+"services for numerous locations."
+msgstr ""
+
+#: gnu/packages/gnome.scm:3054
+msgid "GNOME settings daemon"
+msgstr ""
+
+#: gnu/packages/gnome.scm:3056
+msgid ""
+"This package contains the daemon responsible for setting the various\n"
+"parameters of a GNOME session and the applications that run under it. It\n"
+"handles settings such keyboard layout, shortcuts, and accessibility, clipboard\n"
+"settings, themes, mouse settings, and startup of other daemons."
+msgstr ""
+
+#: gnu/packages/gnome.scm:3093
+msgid "Library to parse and save media playlists for GNOME"
+msgstr ""
+
+#: gnu/packages/gnome.scm:3094
+msgid ""
+"Totem-pl-parser is a GObjects-based library to parse and save\n"
+"playlists in a variety of formats."
+msgstr ""
+
+#: gnu/packages/gnome.scm:3128
+msgid "Solitaire card games"
+msgstr ""
+
+#: gnu/packages/gnome.scm:3130
+msgid ""
+"Aisleriot (also known as Solitaire or sol) is a collection of card games\n"
+"which are easy to play with the aid of a mouse."
+msgstr ""
+
+#: gnu/packages/gnome.scm:3154
+msgid "API documentation browser for GNOME"
+msgstr ""
+
+#: gnu/packages/gnome.scm:3156
+msgid ""
+"Devhelp is an API documentation browser for GTK+ and GNOME. It works\n"
+"natively with GTK-Doc (the API reference system developed for GTK+ and used\n"
+"throughout GNOME for API documentation)."
+msgstr ""
+
+#: gnu/packages/gnome.scm:3223
+msgid "Object oriented GL/GLES Abstraction/Utility Layer"
+msgstr ""
+
+#: gnu/packages/gnome.scm:3225
+msgid ""
+"Cogl is a small library for using 3D graphics hardware to draw pretty\n"
+"pictures. The API departs from the flat state machine style of OpenGL and is\n"
+"designed to make it easy to write orthogonal components that can render\n"
+"without stepping on each others toes."
+msgstr ""
+
+#: gnu/packages/gnome.scm:3282
+msgid "Open GL based interactive canvas library"
+msgstr ""
+
+#: gnu/packages/gnome.scm:3284 gnu/packages/gnome.scm:3313
+msgid ""
+"Clutter is an Open GL based interactive canvas library, designed for\n"
+"creating fast, mainly 2D single window applications such as media box UIs,\n"
+"presentations, kiosk style applications and so on."
+msgstr ""
+
+#: gnu/packages/gnome.scm:3311
+msgid "Open GL based interactive canvas library GTK+ widget"
+msgstr ""
+
+#: gnu/packages/gnome.scm:3341
+msgid "Integration library for using GStreamer with Clutter"
+msgstr ""
+
+#: gnu/packages/gnome.scm:3343
+msgid ""
+"Clutter-Gst is an integration library for using GStreamer with Clutter.\n"
+"It provides a GStreamer sink to upload frames to GL and an actor that\n"
+"implements the ClutterGstPlayer interface using playbin. Clutter is an Open\n"
+"GL based interactive canvas library."
+msgstr ""
+
+#: gnu/packages/gnome.scm:3377
+msgid "C library providing a ClutterActor to display maps"
+msgstr ""
+
+#: gnu/packages/gnome.scm:3379
+msgid ""
+"libchamplain is a C library providing a ClutterActor to display maps.\n"
+"It also provides a Gtk+ widget to display maps in Gtk+ applications. Python\n"
+"and Perl bindings are also available. It supports numerous free map sources\n"
+"such as OpenStreetMap, OpenCycleMap, OpenAerialMap, and Maps for free."
+msgstr ""
+
+#: gnu/packages/gnome.scm:3410
+msgid "Object mapper from GObjects to SQLite"
+msgstr ""
+
+#: gnu/packages/gnome.scm:3412
+msgid ""
+"Gom provides an object mapper from GObjects to SQLite. It helps you\n"
+"write applications that need to store structured data as well as make complex\n"
+"queries upon that data."
+msgstr ""
+
+#: gnu/packages/gnome.scm:3447
+msgid "Useful functionality shared among GNOME games"
+msgstr ""
+
+#: gnu/packages/gnome.scm:3449
+msgid ""
+"libgnome-games-support is a small library intended for internal use by\n"
+"GNOME Games, but it may be used by others."
+msgstr ""
+
+#: gnu/packages/gnome.scm:3477
+msgid "Sliding block puzzles"
+msgstr ""
+
+#: gnu/packages/gnome.scm:3479
+msgid ""
+"GNOME Klotski is a set of block sliding puzzles. The objective is to move\n"
+"the patterned block to the area bordered by green markers. To do so, you will\n"
+"need to slide other blocks out of the way. Complete each puzzle in as few moves\n"
+"as possible!"
+msgstr ""
+
+#: gnu/packages/gnome.scm:3532
+msgid "Framework for discovering and browsing media"
+msgstr ""
+
+#: gnu/packages/gnome.scm:3534 gnu/packages/gnome.scm:3587
+msgid ""
+"Grilo is a framework focused on making media discovery and browsing easy\n"
+"for application developers."
+msgstr ""
+
+#: gnu/packages/gnome.scm:3585
+msgid "Plugins for the Grilo media discovery library"
+msgstr ""
+
+#: gnu/packages/gnome.scm:3683
+msgid "Simple media player for GNOME based on GStreamer"
+msgstr ""
+
+#: gnu/packages/gnome.scm:3684
+msgid ""
+"Totem is a simple yet featureful media player for GNOME\n"
+"which can read a large number of file formats."
+msgstr ""
+
+#: gnu/packages/gnome.scm:3774
+msgid "Music player for GNOME"
+msgstr ""
+
+#: gnu/packages/gnome.scm:3775
+msgid ""
+"Rhythmbox is a music playing application for GNOME. It\n"
+"supports playlists, song ratings, and any codecs installed through gstreamer."
+msgstr ""
+
+#: gnu/packages/gnome.scm:3825
+msgid "GNOME image viewer"
+msgstr ""
+
+#: gnu/packages/gnome.scm:3826
+msgid ""
+"Eye of GNOME is the GNOME image viewer. It\n"
+"supports image conversion, rotation, and slideshows."
+msgstr ""
+
+#: gnu/packages/gnome.scm:3848
+msgid "Extensions for the Eye of GNOME image viewer"
+msgstr ""
+
+#: gnu/packages/gnome.scm:3860
+msgid ""
+"This package provides plugins for the Eye of GNOME (EOG) image viewer,\n"
+"notably:\n"
+"\n"
+"@itemize\n"
+"@item @dfn{EXIF Display}, which displays camera (EXIF) information;\n"
+"@item @dfn{Map}, which displays a map of where the picture was taken on the\n"
+"side panel;\n"
+"@item @dfn{Slideshow Shuffle}, to shuffle images in slideshow mode.\n"
+"@end itemize\n"
+msgstr ""
+
+#: gnu/packages/gnome.scm:3896
+msgid "GObject bindings for libudev"
+msgstr ""
+
+#: gnu/packages/gnome.scm:3898
+msgid ""
+"This library provides GObject bindings for libudev. It was originally\n"
+"part of udev-extras, then udev, then systemd. It's now a project on its own."
+msgstr ""
+
+#: gnu/packages/gnome.scm:3946
+msgid "Userspace virtual file system for GIO"
+msgstr ""
+
+#: gnu/packages/gnome.scm:3948
+msgid ""
+"GVFS is a userspace virtual file system designed to work with the I/O\n"
+"abstraction of GIO. It contains a GIO module that seamlessly adds GVFS support\n"
+"to all applications using the GIO API. It also supports exposing the GVFS\n"
+"mounts to non-GIO applications using FUSE.\n"
+"\n"
+"GVFS comes with a set of backends, including trash support, SFTP, SMB, HTTP,\n"
+"DAV, and others."
+msgstr ""
+
+#: gnu/packages/gnome.scm:3994
+msgid "GLib binding for libusb1"
+msgstr ""
+
+#: gnu/packages/gnome.scm:3996
+msgid ""
+"GUsb is a GObject wrapper for libusb1 that makes it easy to do\n"
+"asynchronous control, bulk and interrupt transfers with proper cancellation\n"
+"and integration into a mainloop. This makes it easy to integrate low level\n"
+"USB transfers with your high-level application or system daemon."
+msgstr ""
+
+#: gnu/packages/gnome.scm:4047
+msgid "Document and image scanner"
+msgstr ""
+
+#: gnu/packages/gnome.scm:4048
+msgid ""
+"Simple Scan is an easy-to-use application, designed to let\n"
+"users connect their scanner and quickly have the image/document in an\n"
+"appropriate format. Simple Scan is basically a frontend for SANE - which is\n"
+"the same backend as XSANE uses. This means that all existing scanners will\n"
+"work and the interface is well tested."
+msgstr ""
+
+#: gnu/packages/gnome.scm:4121
+msgid "Web browser for GNOME"
+msgstr ""
+
+#: gnu/packages/gnome.scm:4123
+msgid ""
+"Eolie is a new web browser for GNOME. It features Firefox sync support,\n"
+"a secret password store, an adblocker, and a modern UI."
+msgstr ""
+
+#: gnu/packages/gnome.scm:4170
+msgid "GNOME web browser"
+msgstr ""
+
+#: gnu/packages/gnome.scm:4172
+msgid ""
+"Epiphany is a GNOME web browser targeted at non-technical users. Its\n"
+"principles are simplicity and standards compliance."
+msgstr ""
+
+#: gnu/packages/gnome.scm:4228
+msgid "D-Bus debugger"
+msgstr ""
+
+#: gnu/packages/gnome.scm:4230
+msgid ""
+"D-Feet is a D-Bus debugger, which can be used to inspect D-Bus interfaces\n"
+"of running programs and invoke methods on those interfaces."
+msgstr ""
+
+#: gnu/packages/gnome.scm:4252
+msgid "XSL stylesheets for Yelp"
+msgstr ""
+
+#: gnu/packages/gnome.scm:4254
+msgid ""
+"Yelp-xsl contains XSL stylesheets that are used by the yelp help browser\n"
+"to format Docbook and Mallard documents."
+msgstr ""
+
+#: gnu/packages/gnome.scm:4285
+msgid "GNOME help browser"
+msgstr ""
+
+#: gnu/packages/gnome.scm:4287
+msgid ""
+"Yelp is the help viewer in Gnome. It natively views Mallard, DocBook,\n"
+"man, info, and HTML documents. It can locate documents according to the\n"
+"freedesktop.org help system specification."
+msgstr ""
+
+#: gnu/packages/gnome.scm:4315
+msgid "Yelp documentation tools"
+msgstr ""
+
+#: gnu/packages/gnome.scm:4317
+msgid ""
+"Yelp-tools is a collection of scripts and build utilities to help create,\n"
+"manage, and publish documentation for Yelp and the web. Most of the heavy\n"
+"lifting is done by packages like yelp-xsl and itstool. This package just\n"
+"wraps things up in a developer-friendly way."
+msgstr ""
+
+#: gnu/packages/gnome.scm:4354
+msgid "GObject collection library"
+msgstr ""
+
+#: gnu/packages/gnome.scm:4356
+msgid ""
+"Libgee is a utility library providing GObject-based interfaces and\n"
+"classes for commonly used data structures."
+msgstr ""
+
+#: gnu/packages/gnome.scm:4383
+msgid "GObject wrapper around the Exiv2 photo metadata library"
+msgstr ""
+
+#: gnu/packages/gnome.scm:4385
+msgid ""
+"Gexiv2 is a GObject wrapper around the Exiv2 photo metadata library. It\n"
+"allows for GNOME applications to easily inspect and update EXIF, IPTC, and XMP\n"
+"metadata in photo and video files of various formats."
+msgstr ""
+
+#: gnu/packages/gnome.scm:4429
+msgid "Photo manager for GNOME 3"
+msgstr ""
+
+#: gnu/packages/gnome.scm:4431
+msgid ""
+"Shotwell is a digital photo manager designed for the GNOME desktop\n"
+"environment. It allows you to import photos from disk or camera, organize\n"
+"them by keywords and events, view them in full-window or fullscreen mode, and\n"
+"share them with others via social networking and more."
+msgstr ""
+
+#: gnu/packages/gnome.scm:4472
+msgid "Graphical archive manager for GNOME"
+msgstr ""
+
+#: gnu/packages/gnome.scm:4473
+msgid ""
+"File Roller is an archive manager for the GNOME desktop\n"
+"environment that allows users to view, unpack, and create compressed archives\n"
+"such as gzip tarballs."
+msgstr ""
+
+#: gnu/packages/gnome.scm:4551
+msgid "Session manager for GNOME"
+msgstr ""
+
+#: gnu/packages/gnome.scm:4553
+msgid ""
+"This package contains the GNOME session manager, as well as a\n"
+"configuration program to choose applications starting on login."
+msgstr ""
+
+#: gnu/packages/gnome.scm:4606
+msgid "Javascript bindings for GNOME"
+msgstr ""
+
+#: gnu/packages/gnome.scm:4609
+msgid ""
+"Gjs is a javascript binding for GNOME. It's mainly based on spidermonkey\n"
+"javascript engine and the GObject introspection framework."
+msgstr ""
+
+#: gnu/packages/gnome.scm:4668
+msgid "GNOME text editor"
+msgstr ""
+
+#: gnu/packages/gnome.scm:4669
+msgid ""
+"While aiming at simplicity and ease of use, gedit is a\n"
+"powerful general purpose text editor."
+msgstr ""
+
+#: gnu/packages/gnome.scm:4693
+msgid "Display graphical dialog boxes from shell scripts"
+msgstr ""
+
+#: gnu/packages/gnome.scm:4696
+msgid ""
+"Zenity is a rewrite of gdialog, the GNOME port of dialog which allows you\n"
+"to display dialog boxes from the commandline and shell scripts."
+msgstr ""
+
+#: gnu/packages/gnome.scm:4790
+msgid "Window and compositing manager"
+msgstr ""
+
+#: gnu/packages/gnome.scm:4793
+msgid ""
+"Mutter is a window and compositing manager that displays and manages your\n"
+"desktop via OpenGL. Mutter combines a sophisticated display engine using the\n"
+"Clutter toolkit with solid window-management logic inherited from the Metacity\n"
+"window manager."
+msgstr ""
+
+#: gnu/packages/gnome.scm:4828
+msgid "Single sign-on framework for GNOME"
+msgstr ""
+
+#: gnu/packages/gnome.scm:4831
+msgid ""
+"GNOME Online Accounts provides interfaces so that applications and\n"
+"libraries in GNOME can access the user's online accounts. It has providers for\n"
+"Google, ownCloud, Facebook, Flickr, Windows Live, Pocket, Foursquare, Microsoft\n"
+"Exchange, Last.fm, IMAP/SMTP, Jabber, SIP and Kerberos."
+msgstr ""
+
+#: gnu/packages/gnome.scm:4889
+msgid "Store address books and calendars"
+msgstr ""
+
+#: gnu/packages/gnome.scm:4892
+msgid ""
+"This package provides a unified backend for programs that work with\n"
+"contacts, tasks, and calendar information. It was originally developed for\n"
+"Evolution (hence the name), but is now used by other packages as well."
+msgstr ""
+
+#: gnu/packages/gnome.scm:4955
+msgid "Text entry and UI navigation application"
+msgstr ""
+
+#: gnu/packages/gnome.scm:4958
+msgid ""
+"Caribou is an input assistive technology intended for switch and pointer\n"
+"users."
+msgstr ""
+
+#: gnu/packages/gnome.scm:5075
+msgid "Network connection manager"
+msgstr ""
+
+#: gnu/packages/gnome.scm:5078
+msgid ""
+"NetworkManager is a system network service that manages your network\n"
+"devices and connections, attempting to keep active network connectivity when\n"
+"available. It manages ethernet, WiFi, mobile broadband (WWAN), and PPPoE\n"
+"devices, and provides VPN integration with a variety of different VPN\n"
+"services."
+msgstr ""
+
+#: gnu/packages/gnome.scm:5112
+msgid "OpenVPN plug-in for NetworkManager"
+msgstr ""
+
+#: gnu/packages/gnome.scm:5114
+msgid ""
+"This extension of NetworkManager allows it to take care of connections\n"
+"to virtual private networks (VPNs) via OpenVPN."
+msgstr ""
+
+#: gnu/packages/gnome.scm:5136
+msgid "Database of broadband connection configuration"
+msgstr ""
+
+#: gnu/packages/gnome.scm:5137
+msgid "Database of broadband connection configuration."
+msgstr ""
+
+#: gnu/packages/gnome.scm:5171
+msgid "Applet for managing network connections"
+msgstr ""
+
+#: gnu/packages/gnome.scm:5174
+msgid ""
+"This package contains a systray applet for NetworkManager. It displays\n"
+"the available networks and allows users to easily switch between them."
+msgstr ""
+
+#: gnu/packages/gnome.scm:5199
+msgid "C++ wrapper for XML parser library libxml2"
+msgstr ""
+
+#: gnu/packages/gnome.scm:5201
+msgid ""
+"This package provides a C++ wrapper for the XML parser library\n"
+"libxml2."
+msgstr ""
+
+#: gnu/packages/gnome.scm:5337
+msgid "Display manager for GNOME"
+msgstr ""
+
+#: gnu/packages/gnome.scm:5340
+msgid ""
+"GNOME Display Manager is a system service that is responsible for\n"
+"providing graphical log-ins and managing local and remote displays."
+msgstr ""
+
+#: gnu/packages/gnome.scm:5364
+msgid "Portable system access library"
+msgstr ""
+
+#: gnu/packages/gnome.scm:5367
+msgid ""
+"LibGTop is a library to get system specific data such as CPU and memory\n"
+"usage and information about running processes."
+msgstr ""
+
+#: gnu/packages/gnome.scm:5397
+msgid "GNOME Bluetooth subsystem"
+msgstr ""
+
+#: gnu/packages/gnome.scm:5400
+msgid ""
+"This package contains tools for managing and manipulating Bluetooth\n"
+"devices using the GNOME desktop."
+msgstr ""
+
+#: gnu/packages/gnome.scm:5466
+msgid "Utilities to configure the GNOME desktop"
+msgstr ""
+
+#: gnu/packages/gnome.scm:5469
+msgid ""
+"This package contains configuration applets for the GNOME desktop,\n"
+"allowing to set accessibility configuration, desktop fonts, keyboard and mouse\n"
+"properties, sound setup, desktop theme and background, user interface\n"
+"properties, screen resolution, and other GNOME parameters."
+msgstr ""
+
+#: gnu/packages/gnome.scm:5554
+msgid "Desktop shell for GNOME"
+msgstr ""
+
+#: gnu/packages/gnome.scm:5557
+msgid ""
+"GNOME Shell provides core user interface functions for the GNOME desktop,\n"
+"like switching to windows and launching applications."
+msgstr ""
+
+#: gnu/packages/gnome.scm:5591
+msgid "VNC viewer widget for GTK+"
+msgstr ""
+
+#: gnu/packages/gnome.scm:5593
+msgid ""
+"GTK-VNC is a VNC viewer widget for GTK+, used by remote desktop viewing\n"
+"applications, for instance the Vinagre client, GNOME Boxes and virt-viewer.\n"
+"GTK-VNC implements client side RFB protocol and authentication extensions such\n"
+"as SASL, TLS and VeNCrypt. Additionally it supports encoding extensions."
+msgstr ""
+
+#: gnu/packages/gnome.scm:5621
+msgid "Archives integration support for GNOME"
+msgstr ""
+
+#: gnu/packages/gnome.scm:5624
+msgid ""
+"GNOME Autoar is a library which makes creating and extracting archives\n"
+"easy, safe, and automatic."
+msgstr ""
+
+#: gnu/packages/gnome.scm:5676
+msgid "Metadata database, indexer and search tool"
+msgstr ""
+
+#: gnu/packages/gnome.scm:5679
+msgid ""
+"Tracker is an advanced framework for first class objects with associated\n"
+"metadata and tags. It provides a one stop solution for all metadata, tags,\n"
+"shared object databases, search tools and indexing."
+msgstr ""
+
+#: gnu/packages/gnome.scm:5728
+msgid "File manager for GNOME"
+msgstr ""
+
+#: gnu/packages/gnome.scm:5731
+msgid ""
+"Nautilus (Files) is a file manager designed to fit the GNOME desktop\n"
+"design and behaviour, giving the user a simple way to navigate and manage its\n"
+"files."
+msgstr ""
+
+#: gnu/packages/gnome.scm:5759
+msgid "Disk usage analyzer for GNOME"
+msgstr ""
+
+#: gnu/packages/gnome.scm:5761
+msgid ""
+"Baobab (Disk Usage Analyzer) is a graphical application to analyse disk\n"
+"usage in the GNOME desktop environment. It can easily scan device volumes or\n"
+"a specific user-requested directory branch (local or remote). Once the scan\n"
+"is complete it provides a graphical representation of each selected folder."
+msgstr ""
+
+#: gnu/packages/gnome.scm:5785
+msgid "Background images for the GNOME desktop"
+msgstr ""
+
+#: gnu/packages/gnome.scm:5787
+msgid ""
+"GNOME backgrounds package contains a collection of graphics files which\n"
+"can be used as backgrounds in the GNOME Desktop environment. Additionally,\n"
+"the package creates the proper framework and directory structure so that you\n"
+"can add your own files to the collection."
+msgstr ""
+
+#: gnu/packages/gnome.scm:5820
+msgid "Take pictures of your screen"
+msgstr ""
+
+#: gnu/packages/gnome.scm:5822
+msgid ""
+"GNOME Screenshot is a utility used for taking screenshots of the entire\n"
+"screen, a window or a user defined area of the screen, with optional\n"
+"beautifying border effects."
+msgstr ""
+
+#: gnu/packages/gnome.scm:5859
+msgid "Graphical editor for GNOME's dconf configuration system"
+msgstr ""
+
+#: gnu/packages/gnome.scm:5861
+msgid ""
+"Dconf-editor is a graphical tool for browsing and editing the dconf\n"
+"configuration system for GNOME. It allows users to configure desktop\n"
+"software that do not provide their own configuration interface."
+msgstr ""
+
+#: gnu/packages/gnome.scm:5887
+msgid "Default MIME type associations for the GNOME desktop"
+msgstr ""
+
+#: gnu/packages/gnome.scm:5889
+msgid ""
+"Given many installed packages which might handle a given MIME type, a\n"
+"user running the GNOME desktop probably has some preferences: for example,\n"
+"that folders be opened by default by the Nautilus file manager, not the Baobab\n"
+"disk usage analyzer. This package establishes that set of default MIME type\n"
+"associations for GNOME."
+msgstr ""
+
+#: gnu/packages/gnome.scm:5948
+msgid "The GNU desktop environment"
+msgstr ""
+
+#: gnu/packages/gnome.scm:5951
+msgid ""
+"GNOME is the graphical desktop for GNU. It includes a wide variety of\n"
+"applications for browsing the web, editing text and images, creating\n"
+"documents and diagrams, playing media, scanning, and much more."
+msgstr ""
+
+#: gnu/packages/gnome.scm:6003
+msgid "Desktop recording program"
+msgstr ""
+
+#: gnu/packages/gnome.scm:6004
+msgid ""
+"Byzanz is a simple desktop recording program with a\n"
+"command-line interface. It can record part or all of an X display for a\n"
+"specified duration and save it as a GIF encoded animated image file."
+msgstr ""
+
+#: gnu/packages/gnome.scm:6031
+msgid "GObject wrapper for libcanberra"
+msgstr ""
+
+#: gnu/packages/gnome.scm:6033
+msgid ""
+"GSound is a small library for playing system sounds. It's designed to be\n"
+"used via GObject Introspection, and is a thin wrapper around the libcanberra C\n"
+"library."
+msgstr ""
+
+#: gnu/packages/gnome.scm:6060
+msgid "Library for accessing SkyDrive and Hotmail"
+msgstr ""
+
+#: gnu/packages/gnome.scm:6062
+msgid ""
+"Libzapojit is a GLib-based library for accessing online service APIs of\n"
+"Microsoft SkyDrive and Hotmail, using their REST protocols."
+msgstr ""
+
+#: gnu/packages/gnome.scm:6098
+msgid "GNOME's clock application"
+msgstr ""
+
+#: gnu/packages/gnome.scm:6100
+msgid ""
+"GNOME Clocks is a simple clocks application designed to fit the GNOME\n"
+"desktop. It supports world clock, stop watch, alarms, and count down timer."
+msgstr ""
+
+#: gnu/packages/gnome.scm:6132
+msgid "GNOME's calendar application"
+msgstr ""
+
+#: gnu/packages/gnome.scm:6134
+msgid ""
+"GNOME Calendar is a simple calendar application designed to fit the GNOME\n"
+"desktop. It supports multiple calendars, month, week and year view."
+msgstr ""
+
+#: gnu/packages/gnome.scm:6183
+msgid "GNOME's ToDo Application"
+msgstr ""
+
+#: gnu/packages/gnome.scm:6185
+msgid ""
+"GNOME To Do is a simplistic personal task manager designed to perfectly\n"
+"fit the GNOME desktop."
+msgstr ""
+
+#: gnu/packages/gnome.scm:6213
+msgid "Look up words in dictionary sources"
+msgstr ""
+
+#: gnu/packages/gnome.scm:6215
+msgid ""
+"GNOME Dictionary can look for the definition or translation of a word in\n"
+"existing databases over the internet."
+msgstr ""
+
+#: gnu/packages/gnome.scm:6261
+msgid "Customize advanced GNOME 3 options"
+msgstr ""
+
+#: gnu/packages/gnome.scm:6264
+msgid ""
+"GNOME Tweak Tool allows adjusting advanced configuration settings in\n"
+"GNOME 3. This includes things like the fonts used in user interface elements,\n"
+"alternative user interface themes, changes in window management behavior,\n"
+"GNOME Shell appearance and extension, etc."
+msgstr ""
+
+#: gnu/packages/gnome.scm:6291
+msgid "Extensions for GNOME Shell"
+msgstr ""
+
+#: gnu/packages/gnome.scm:6292
+msgid ""
+"GNOME Shell extensions modify and extend GNOME Shell\n"
+"functionality and behavior."
+msgstr ""
+
+#: gnu/packages/gnome.scm:6322
+msgid "A flat GTK+ theme with transparent elements"
+msgstr ""
+
+#: gnu/packages/gnome.scm:6323
+msgid ""
+"Arc is a flat theme with transparent elements for GTK 3, GTK\n"
+"2, and GNOME Shell which supports GTK 3 and GTK 2 based desktop environments\n"
+"like GNOME, Unity, Budgie, Pantheon, XFCE, Mate, etc."
+msgstr ""
+
+#: gnu/packages/gnome.scm:6359
+msgid "Faba icon theme"
+msgstr ""
+
+#: gnu/packages/gnome.scm:6361
+msgid ""
+"Faba is a minimal icon set used as a basis for other themes such as\n"
+"Moka"
+msgstr ""
+
+#: gnu/packages/gnome.scm:6385
+msgid "Moka icon theme"
+msgstr ""
+
+#: gnu/packages/gnome.scm:6386
+msgid ""
+"Moka is a stylized desktop icon set, designed to be clear,\n"
+"simple and consistent."
+msgstr ""
+
+#: gnu/packages/gnome.scm:6416
+msgid "Arc icon theme"
+msgstr ""
+
+#: gnu/packages/gnome.scm:6417
+msgid ""
+"The Arc icon theme provides a set of icons matching the\n"
+"style of the Arc GTK theme. Icons missing from the Arc theme are provided by\n"
+"the Moka icon theme."
+msgstr ""
+
+#: gnu/packages/gnome.scm:6449
+msgid "Library to aggregate data about people"
+msgstr ""
+
+#: gnu/packages/gnome.scm:6450
+msgid ""
+"Libfolks is a library that aggregates information about people\n"
+"from multiple sources (e.g., Telepathy connection managers for IM contacts,\n"
+"Evolution Data Server for local contacts, libsocialweb for web service contacts,\n"
+"etc.) to create metacontacts. It's written in Vala, which generates C code when\n"
+"compiled."
+msgstr ""
+
+#: gnu/packages/gnome.scm:6485
+msgid "GLib/GObject wrapper for the Facebook API"
+msgstr ""
+
+#: gnu/packages/gnome.scm:6486
+msgid ""
+"This library allows you to use the Facebook API from\n"
+"GLib/GObject code."
+msgstr ""
+
+#: gnu/packages/gnome.scm:6514
+msgid "GNOME keyboard configuration library"
+msgstr ""
+
+#: gnu/packages/gnome.scm:6516
+msgid ""
+"Libgnomekbd is a keyboard configuration library for the GNOME desktop\n"
+"environment, which can notably display keyboard layouts."
+msgstr ""
+
+#: gnu/packages/gnome.scm:6550
+msgid "Library for writing single instance applications"
+msgstr ""
+
+#: gnu/packages/gnome.scm:6552
+msgid ""
+"Libunique is a library for writing single instance applications. If you\n"
+"launch a single instance application twice, the second instance will either just\n"
+"quit or will send a message to the running instance. Libunique makes it easy to\n"
+"write this kind of application, by providing a base class, taking care of all\n"
+"the IPC machinery needed to send messages to a running instance, and also\n"
+"handling the startup notification side."
+msgstr ""
+
+#: gnu/packages/gnome.scm:6585
+msgid "Desktop calculator"
+msgstr ""
+
+#: gnu/packages/gnome.scm:6587
+msgid ""
+"Calculator is an application that solves mathematical equations and\n"
+"is suitable as a default application in a Desktop environment."
+msgstr ""
+
+#: gnu/packages/gnome.scm:6612
+msgid "Virtual sticky note"
+msgstr ""
+
+#: gnu/packages/gnome.scm:6614
+msgid ""
+"Xpad is a sticky note that strives to be simple, fault tolerant,\n"
+"and customizable. Xpad consists of independent pad windows, each is\n"
+"basically a text box in which notes can be written."
+msgstr ""
+
+#: gnu/packages/gnome.scm:6644
+msgid "Unicode character picker and font browser"
+msgstr ""
+
+#: gnu/packages/gnome.scm:6646
+msgid ""
+"This program allows you to browse through all the available Unicode\n"
+"characters and categories for the installed fonts, and to examine their\n"
+"detailed properties. It is an easy way to find the character you might\n"
+"only know by its Unicode name or code point."
+msgstr ""
+
+#: gnu/packages/gnome.scm:6676
+msgid "Web development studio"
+msgstr ""
+
+#: gnu/packages/gnome.scm:6678
+msgid ""
+"Bluefish is an editor targeted towards programmers and web developers,\n"
+"with many options to write web sites, scripts and other code.\n"
+"Bluefish supports many programming and markup languages."
+msgstr ""
+
+#: gnu/packages/gnome.scm:6710
+msgid "Process viewer and system resource monitor for GNOME"
+msgstr ""
+
+#: gnu/packages/gnome.scm:6712
+msgid ""
+"GNOME System Monitor is a GNOME process viewer and system monitor with\n"
+"an attractive, easy-to-use interface. It has features, such as a tree view\n"
+"for process dependencies, icons for processes, the ability to hide processes,\n"
+"graphical time histories of CPU/memory/swap usage and the ability to\n"
+"kill/reinice processes."
+msgstr ""
+
+#: gnu/packages/gnome.scm:6738
+msgid "Python client bindings for D-Bus AT-SPI"
+msgstr ""
+
+#: gnu/packages/gnome.scm:6742
+msgid ""
+"This package includes a python client library for the AT-SPI D-Bus\n"
+"accessibility infrastructure."
+msgstr ""
+
+#: gnu/packages/gnome.scm:6801
+msgid "Screen reader for individuals who are blind or visually impaired"
+msgstr ""
+
+#: gnu/packages/gnome.scm:6804
+msgid ""
+"Orca is a screen reader that provides access to the graphical desktop\n"
+"via speech and refreshable braille. Orca works with applications and toolkits\n"
+"that support the Assistive Technology Service Provider Interface (AT-SPI)."
+msgstr ""
+
+#: gnu/packages/gnome.scm:6856
+msgid "GNOME's alternative spell checker"
+msgstr ""
+
+#: gnu/packages/gnome.scm:6858
+msgid ""
+"gspell provides a flexible API to add spell-checking to a GTK+\n"
+"application. It provides a GObject API, spell-checking to text entries and\n"
+"text views, and buttons to choose the language."
+msgstr ""
+
+#: gnu/packages/gnome.scm:6900
+msgid "Project management software for the GNOME desktop"
+msgstr ""
+
+#: gnu/packages/gnome.scm:6902
+msgid ""
+"GNOME Planner is a project management tool based on the Work Breakdown\n"
+"Structure (WBS). Its goal is to enable you to easily plan projects. Based on\n"
+"the resources, tasks, and constraints that you define, Planner generates\n"
+"various views into a project. For example, Planner can show a Gantt chart of\n"
+"the project. It can show a detailed summary of tasks including their\n"
+"duration, cost, and current progress. It can also show a report of resource\n"
+"utilization that highlights under-utilized and over-utilized resources. These\n"
+"views can be printed as PDF or PostScript files, or exported to HTML."
+msgstr ""
+
+#: gnu/packages/gnome.scm:6980
+msgid "GNOME music playing application"
+msgstr ""
+
+#: gnu/packages/gnome.scm:6982
+msgid ""
+"Lollypop is a music player designed to play well with GNOME desktop.\n"
+"Lollypop plays audio formats such as mp3, mp4, ogg and flac and gets information\n"
+"from artists and tracks from the web. It also fetches cover artworks\n"
+"automatically and it can stream songs from online music services and charts."
+msgstr ""
+
+#: gnu/packages/gnome.scm:7009
+msgid "Video effects for Cheese and other GNOME applications"
+msgstr ""
+
+#: gnu/packages/gnome.scm:7011
+msgid ""
+"A collection of GStreamer video filters and effects to be used in\n"
+"photo-booth-like software, such as Cheese."
+msgstr ""
+
+#: gnu/packages/gnome.scm:7071
+msgid "Webcam photo booth software for GNOME"
+msgstr ""
+
+#: gnu/packages/gnome.scm:7073
+msgid ""
+"Cheese uses your webcam to take photos and videos. Cheese can also\n"
+"apply fancy special effects and lets you share the fun with others."
+msgstr ""
+
+#: gnu/packages/gnuzilla.scm:118
+msgid "Mozilla javascript engine"
+msgstr ""
+
+#: gnu/packages/gnuzilla.scm:119
+msgid ""
+"SpiderMonkey is Mozilla's JavaScript engine written\n"
+"in C/C++."
+msgstr ""
+
+#: gnu/packages/gnuzilla.scm:276
+msgid "Netscape API for system level and libc-like functions"
+msgstr ""
+
+#: gnu/packages/gnuzilla.scm:277
+msgid ""
+"Netscape Portable Runtime (NSPR) provides a\n"
+"platform-neutral API for system level and libc-like functions. It is used\n"
+"in the Mozilla clients."
+msgstr ""
+
+#: gnu/packages/gnuzilla.scm:383
+msgid "Network Security Services"
+msgstr ""
+
+#: gnu/packages/gnuzilla.scm:385
+msgid ""
+"Network Security Services (@dfn{NSS}) is a set of libraries designed to\n"
+"support cross-platform development of security-enabled client and server\n"
+"applications. Applications built with NSS can support SSL v2 and v3, TLS,\n"
+"PKCS #5, PKCS #7, PKCS #11, PKCS #12, S/MIME, X.509 v3 certificates, and other\n"
+"security standards."
+msgstr ""
+
+#: gnu/packages/gnuzilla.scm:767
+msgid "Entirely free browser derived from Mozilla Firefox"
+msgstr ""
+
+#: gnu/packages/gnuzilla.scm:769
+msgid ""
+"IceCat is the GNU version of the Firefox browser. It is entirely free\n"
+"software, which does not recommend non-free plugins and addons. It also\n"
+"features built-in privacy-protecting features."
+msgstr ""
+
+#: gnu/packages/gtk.scm:97
+msgid "GNOME accessibility toolkit"
+msgstr ""
+
+#: gnu/packages/gtk.scm:99
+msgid ""
+"ATK provides the set of accessibility interfaces that are implemented\n"
+"by other toolkits and applications. Using the ATK interfaces, accessibility\n"
+"tools have full access to view and control running applications."
+msgstr ""
+
+#: gnu/packages/gtk.scm:139
+msgid "2D graphics library"
+msgstr ""
+
+#: gnu/packages/gtk.scm:141
+msgid ""
+"Cairo is a 2D graphics library with support for multiple output devices.\n"
+"Currently supported output targets include the X Window System (via both\n"
+"Xlib and XCB), Quartz, Win32, image buffers, PostScript, PDF, and SVG file\n"
+"output. Experimental backends include OpenGL, BeOS, OS/2, and DirectFB.\n"
+"\n"
+"Cairo is designed to produce consistent output on all output media while\n"
+"taking advantage of display hardware acceleration when available\n"
+"eg. through the X Render Extension).\n"
+"\n"
+"The cairo API provides operations similar to the drawing operators of\n"
+"PostScript and PDF. Operations in cairo including stroking and filling cubic\n"
+"Bézier splines, transforming and compositing translucent images, and\n"
+"antialiased text rendering. All drawing operations can be transformed by any\n"
+"affine transformation (scale, rotation, shear, etc.)."
+msgstr ""
+
+#: gnu/packages/gtk.scm:169
+msgid "2D graphics library (with X11 support)"
+msgstr ""
+
+#: gnu/packages/gtk.scm:202
+msgid "OpenType text shaping engine"
+msgstr ""
+
+#: gnu/packages/gtk.scm:204
+msgid "HarfBuzz is an OpenType text shaping engine."
+msgstr ""
+
+#: gnu/packages/gtk.scm:235
+msgid "GNOME text and font handling library"
+msgstr ""
+
+#: gnu/packages/gtk.scm:237
+msgid ""
+"Pango is the core text and font handling library used in GNOME\n"
+"applications. It has extensive support for the different writing systems\n"
+"used throughout the world."
+msgstr ""
+
+#: gnu/packages/gtk.scm:263
+msgid "Obsolete pango functions"
+msgstr ""
+
+#: gnu/packages/gtk.scm:264
+msgid ""
+"Pangox was a X backend to pango. It is now obsolete and no\n"
+"longer provided by recent pango releases. pangox-compat provides the\n"
+"functions which were removed."
+msgstr ""
+
+#: gnu/packages/gtk.scm:301
+msgid "GTK+ widget for interactive graph-like environments"
+msgstr ""
+
+#: gnu/packages/gtk.scm:303
+msgid ""
+"Ganv is an interactive GTK+ widget for interactive “boxes and lines” or\n"
+"graph-like environments, e.g. modular synths or finite state machine\n"
+"diagrams."
+msgstr ""
+
+#: gnu/packages/gtk.scm:371
+msgid "Widget that extends the standard GTK+ 2.x 'GtkTextView' widget"
+msgstr ""
+
+#: gnu/packages/gtk.scm:373
+msgid ""
+"GtkSourceView is a portable C library that extends the standard GTK+\n"
+"framework for multiline text editing with support for configurable syntax\n"
+"highlighting, unlimited undo/redo, search and replace, a completion framework,\n"
+"printing and other features typical of a source code editor."
+msgstr ""
+
+#: gnu/packages/gtk.scm:422
+msgid "GNOME source code widget"
+msgstr ""
+
+#: gnu/packages/gtk.scm:423
+msgid ""
+"GtkSourceView is a text widget that extends the standard\n"
+"GTK+ text widget GtkTextView. It improves GtkTextView by implementing syntax\n"
+"highlighting and other features typical of a source code editor."
+msgstr ""
+
+#: gnu/packages/gtk.scm:473
+msgid "GNOME image loading and manipulation library"
+msgstr ""
+
+#: gnu/packages/gtk.scm:475
+msgid ""
+"GdkPixbuf is a library for image loading and manipulation developed\n"
+"in the GNOME project."
+msgstr ""
+
+#: gnu/packages/gtk.scm:507
+msgid "GNOME image loading and manipulation library, with SVG support"
+msgstr ""
+
+#: gnu/packages/gtk.scm:547
+msgid "Assistive Technology Service Provider Interface, core components"
+msgstr ""
+
+#: gnu/packages/gtk.scm:549
+msgid ""
+"The Assistive Technology Service Provider Interface, core components,\n"
+"is part of the GNOME accessibility project."
+msgstr ""
+
+#: gnu/packages/gtk.scm:582
+msgid "Assistive Technology Service Provider Interface, ATK bindings"
+msgstr ""
+
+#: gnu/packages/gtk.scm:584
+msgid ""
+"The Assistive Technology Service Provider Interface\n"
+"is part of the GNOME accessibility project."
+msgstr ""
+
+#: gnu/packages/gtk.scm:643
+msgid "Cross-platform toolkit for creating graphical user interfaces"
+msgstr ""
+
+#: gnu/packages/gtk.scm:645
+msgid ""
+"GTK+, or the GIMP Toolkit, is a multi-platform toolkit for creating\n"
+"graphical user interfaces. Offering a complete set of widgets, GTK+ is\n"
+"suitable for projects ranging from small one-off tools to complete\n"
+"application suites."
+msgstr ""
+
+#: gnu/packages/gtk.scm:805
+msgid "Cairo bindings for GNU Guile"
+msgstr ""
+
+#: gnu/packages/gtk.scm:807
+msgid ""
+"Guile-Cairo wraps the Cairo graphics library for Guile Scheme.\n"
+"Guile-Cairo is complete, wrapping almost all of the Cairo API. It is API\n"
+"stable, providing a firm base on which to do graphics work. Finally, and\n"
+"importantly, it is pleasant to use. You get a powerful and well-maintained\n"
+"graphics library with all of the benefits of Scheme: memory management,\n"
+"exceptions, macros, and a dynamic programming environment."
+msgstr ""
+
+#: gnu/packages/gtk.scm:853
+msgid "Render SVG images using Cairo from Guile"
+msgstr ""
+
+#: gnu/packages/gtk.scm:855
+msgid ""
+"Guile-RSVG wraps the RSVG library for Guile, allowing you to render SVG\n"
+"images onto Cairo surfaces."
+msgstr ""
+
+#: gnu/packages/gtk.scm:900
+msgid "Create SVG or PDF presentations in Guile"
+msgstr ""
+
+#: gnu/packages/gtk.scm:902
+msgid ""
+"Guile-Present defines a declarative vocabulary for presentations,\n"
+"together with tools to render presentation documents as SVG or PDF.\n"
+"Guile-Present can be used to make presentations programmatically, but also\n"
+"includes a tools to generate PDF presentations out of Org mode and Texinfo\n"
+"documents."
+msgstr ""
+
+#: gnu/packages/gtk.scm:956
+msgid "Guile interface for GTK+ programming for GNOME"
+msgstr ""
+
+#: gnu/packages/gtk.scm:958
+msgid ""
+"Includes guile-clutter, guile-gnome-gstreamer,\n"
+"guile-gnome-platform (GNOME developer libraries), and guile-gtksourceview."
+msgstr ""
+
+#: gnu/packages/gtk.scm:991
+msgid "C++ bindings to the Cairo 2D graphics library"
+msgstr ""
+
+#: gnu/packages/gtk.scm:993
+msgid ""
+"Cairomm provides a C++ programming interface to the Cairo 2D graphics\n"
+"library."
+msgstr ""
+
+#: gnu/packages/gtk.scm:1017
+msgid "C++ interface to the Pango text rendering library"
+msgstr ""
+
+#: gnu/packages/gtk.scm:1019
+msgid ""
+"Pangomm provides a C++ programming interface to the Pango text rendering\n"
+"library."
+msgstr ""
+
+#: gnu/packages/gtk.scm:1040
+msgid "C++ interface to the ATK accessibility library"
+msgstr ""
+
+#: gnu/packages/gtk.scm:1042
+msgid ""
+"ATKmm provides a C++ programming interface to the ATK accessibility\n"
+"toolkit."
+msgstr ""
+
+#: gnu/packages/gtk.scm:1082
+msgid "C++ interface to the GTK+ graphical user interface library"
+msgstr ""
+
+#: gnu/packages/gtk.scm:1084
+msgid ""
+"gtkmm is the official C++ interface for the popular GUI library GTK+.\n"
+"Highlights include typesafe callbacks, and a comprehensive set of widgets that\n"
+"are easily extensible via inheritance. You can create user interfaces either\n"
+"in code or with the Glade User Interface designer, using libglademm. There's\n"
+"extensive documentation, including API reference and a tutorial."
+msgstr ""
+
+#: gnu/packages/gtk.scm:1143
+msgid "Python bindings for cairo"
+msgstr ""
+
+#: gnu/packages/gtk.scm:1145
+msgid "Pycairo is a set of Python bindings for the Cairo graphics library."
+msgstr ""
+
+#: gnu/packages/gtk.scm:1229
+msgid "Python bindings for GTK+"
+msgstr ""
+
+#: gnu/packages/gtk.scm:1231
+msgid ""
+"PyGTK allows you to write full featured GTK programs in Python. It is\n"
+"targeted at GTK 2.x, and can be used in conjunction with gnome-python to\n"
+"write GNOME applications."
+msgstr ""
+
+#: gnu/packages/gtk.scm:1262
+msgid "Library for minimalistic gtk+3 user interfaces"
+msgstr ""
+
+#: gnu/packages/gtk.scm:1263
+msgid ""
+"Girara is a library that implements a user interface that\n"
+"focuses on simplicity and minimalism. Currently based on GTK+, a\n"
+"cross-platform widget toolkit, it provides an interface that focuses on three\n"
+"main components: a so-called view widget that represents the actual\n"
+"application, an input bar that is used to execute commands of the\n"
+"application and the status bar which provides the user with current\n"
+"information."
+msgstr ""
+
+#: gnu/packages/gtk.scm:1330
+msgid "Documentation generator from C source code"
+msgstr ""
+
+#: gnu/packages/gtk.scm:1332
+msgid ""
+"GTK-Doc generates API documentation from comments added to C code. It is\n"
+"typically used to document the public API of GTK+ and GNOME libraries, but it\n"
+"can also be used to document application code."
+msgstr ""
+
+#: gnu/packages/gtk.scm:1360
+msgid "Theming engines for GTK+ 2.x"
+msgstr ""
+
+#: gnu/packages/gtk.scm:1362
+msgid ""
+"This package contains the standard GTK+ 2.x theming engines including\n"
+"Clearlooks, Crux, High Contrast, Industrial, LighthouseBlue, Metal, Mist,\n"
+"Redmond95 and ThinIce."
+msgstr ""
+
+#: gnu/packages/gtk.scm:1390
+msgid "Cairo-based theming engine for GTK+ 2.x"
+msgstr ""
+
+#: gnu/packages/gtk.scm:1392
+msgid ""
+"Murrine is a cairo-based GTK+ theming engine. It is named after the\n"
+"glass artworks done by Venicians glass blowers."
+msgstr ""
+
+#: gnu/packages/gtk.scm:1417
+msgid "Spell-checking addon for GTK's TextView widget"
+msgstr ""
+
+#: gnu/packages/gtk.scm:1419
+msgid ""
+"GtkSpell provides word-processor-style highlighting and replacement of\n"
+"misspelled words in a GtkTextView widget."
+msgstr ""
+
+#: gnu/packages/gtk.scm:1442
+msgid "Lightweight GTK+ clipboard manager"
+msgstr ""
+
+#: gnu/packages/gtk.scm:1444
+msgid ""
+"ClipIt is a clipboard manager with features such as a history, search\n"
+"thereof, global hotkeys and clipboard item actions. It was forked from\n"
+"Parcellite and adds bugfixes and features."
+msgstr ""
+
+#: gnu/packages/gtk.scm:1481
+msgid "Thin layer of graphic data types"
+msgstr ""
+
+#: gnu/packages/gtk.scm:1482
+msgid ""
+"This library provides graphic types and their relative API;\n"
+"it does not deal with windowing system surfaces, drawing, scene graphs, or\n"
+"input."
+msgstr ""
+
+#: gnu/packages/guile.scm:132 gnu/packages/guile.scm:211
+msgid "Scheme implementation intended especially for extensions"
+msgstr ""
+
+#: gnu/packages/guile.scm:134 gnu/packages/guile.scm:213
+msgid ""
+"Guile is the GNU Ubiquitous Intelligent Language for Extensions, the\n"
+"official extension language of the GNU system. It is an implementation of\n"
+"the Scheme language which can be easily embedded in other applications to\n"
+"provide a convenient means of extending the functionality of the application\n"
+"without requiring the source code to be rewritten."
+msgstr ""
+
+#: gnu/packages/guile.scm:379
+msgid "Package manager for Guile"
+msgstr ""
+
+#: gnu/packages/guile.scm:381
+msgid ""
+"Guildhall is a package manager written for Guile Scheme. A guild is\n"
+"an association of independent craftspeople. A guildhall is where they meet.\n"
+"This Guildhall aims to make a virtual space for Guile wizards and journeyfolk\n"
+"to share code.\n"
+"\n"
+"On a practical level, Guildhall lets you share Scheme modules and programs\n"
+"over the internet, and install code that has been shared by others. Guildhall\n"
+"can handle dependencies, so when a program requires several libraries, and\n"
+"each of those has further dependencies, all of the prerequisites for the\n"
+"program can be installed in one go."
+msgstr ""
+
+#: gnu/packages/guile.scm:473
+msgid "Web application framework written in Guile"
+msgstr ""
+
+#: gnu/packages/guile.scm:474
+msgid ""
+"GNU Artanis is a web application framework written in Guile\n"
+"Scheme. A web application framework (WAF) is a software framework that is\n"
+"designed to support the development of dynamic websites, web applications, web\n"
+"services and web resources. The framework aims to alleviate the overhead\n"
+"associated with common activities performed in web development. Artanis\n"
+"provides several tools for web development: database access, templating\n"
+"frameworks, session management, URL-remapping for RESTful, page caching, and\n"
+"more."
+msgstr ""
+
+#: gnu/packages/guile.scm:500
+msgid "Framework for building readers for GNU Guile"
+msgstr ""
+
+#: gnu/packages/guile.scm:502
+msgid ""
+"Guile-Reader is a simple framework for building readers for GNU Guile.\n"
+"\n"
+"The idea is to make it easy to build procedures that extend Guile’s read\n"
+"procedure. Readers supporting various syntax variants can easily be written,\n"
+"possibly by re-using existing “token readers” of a standard Scheme\n"
+"readers. For example, it is used to implement Skribilo’s R5RS-derived\n"
+"document syntax.\n"
+"\n"
+"Guile-Reader’s approach is similar to Common Lisp’s “read table”, but\n"
+"hopefully more powerful and flexible (for instance, one may instantiate as\n"
+"many readers as needed)."
+msgstr ""
+
+#: gnu/packages/guile.scm:556
+msgid "Guile bindings to ncurses"
+msgstr ""
+
+#: gnu/packages/guile.scm:558
+msgid ""
+"guile-ncurses provides Guile language bindings for the ncurses\n"
+"library."
+msgstr ""
+
+#: gnu/packages/guile.scm:585
+msgid "Run jobs at scheduled times"
+msgstr ""
+
+#: gnu/packages/guile.scm:587
+msgid ""
+"GNU Mcron is a complete replacement for Vixie cron. It is used to run\n"
+"tasks on a schedule, such as every hour or every Monday. Mcron is written in\n"
+"Guile, so its configuration can be written in Scheme; the original cron\n"
+"format is also supported."
+msgstr ""
+
+#: gnu/packages/guile.scm:674
+msgid "Guile parser library for the iCalendar format"
+msgstr ""
+
+#: gnu/packages/guile.scm:676
+msgid ""
+"Guile-ICS is an iCalendar (RFC5545) format parser library written in\n"
+"pure Scheme. The library can be used to read and write iCalendar data.\n"
+"\n"
+"The library is shipped with documentation in Info format and usage examples."
+msgstr ""
+
+#: gnu/packages/guile.scm:711
+msgid "Collection of useful Guile Scheme modules"
+msgstr ""
+
+#: gnu/packages/guile.scm:713
+msgid ""
+"Guile-Lib is intended as an accumulation place for pure-scheme Guile\n"
+"modules, allowing for people to cooperate integrating their generic Guile\n"
+"modules into a coherent library. Think \"a down-scaled, limited-scope CPAN\n"
+"for Guile\"."
+msgstr ""
+
+#: gnu/packages/guile.scm:754
+msgid "JSON module for Guile"
+msgstr ""
+
+#: gnu/packages/guile.scm:756
+msgid ""
+"Guile-JSON supports parsing and building JSON documents according to the\n"
+"specification. These are the main features:\n"
+"\n"
+"@itemize\n"
+"@item Strictly complies to @uref{http://json.org, specification}.\n"
+"@item Build JSON documents programmatically via macros.\n"
+"@item Unicode support for strings.\n"
+"@item Allows JSON pretty printing.\n"
+"@end itemize\n"
+msgstr ""
+
+#: gnu/packages/guile.scm:843
+msgid "MiniKanren declarative logic system, packaged for Guile"
+msgstr ""
+
+#: gnu/packages/guile.scm:845
+msgid ""
+"MiniKanren is a relational programming extension to the Scheme\n"
+"programming Language, written as a smaller version of Kanren suitable for\n"
+"pedagogical purposes. It is featured in the book, The Reasoned Schemer,\n"
+"written by Dan Friedman, William Byrd, and Oleg Kiselyov.\n"
+"\n"
+"This is Ian Price's r6rs packaged version of miniKanren, which deviates\n"
+"slightly from miniKanren mainline.\n"
+"\n"
+"See http://minikanren.org/ for more on miniKanren generally."
+msgstr ""
+
+#: gnu/packages/guile.scm:916
+msgid ""
+"Minimal implementation of incremental computation in Guile\n"
+"Scheme"
+msgstr ""
+
+#: gnu/packages/guile.scm:918
+msgid ""
+"This package provides a complete Scheme implementation of\n"
+"miniAdapton, which implements the core functionality of the Adapton system for\n"
+"incremental computation (also known as self-adjusting computation). Like\n"
+"Adapton, miniAdapton allows programmers to safely combine mutation and\n"
+"memoization. miniAdapton is built on top of an even simpler system,\n"
+"microAdapton. Both miniAdapton and microAdapton are designed to be easy to\n"
+"understand, extend, and port to host languages other than Scheme."
+msgstr ""
+
+#: gnu/packages/guile.scm:1002
+msgid "S-expression based regular expressions"
+msgstr ""
+
+#: gnu/packages/guile.scm:1004
+msgid ""
+"Irregex is an s-expression based alternative to your classic\n"
+"string-based regular expressions. It implements SRFI 115 and is deeply\n"
+"inspired by the SCSH regular expression system."
+msgstr ""
+
+#: gnu/packages/guile.scm:1085
+msgid "Guile bindings to the GDBM library via Guile's FFI"
+msgstr ""
+
+#: gnu/packages/guile.scm:1087
+msgid ""
+"Guile bindings to the GDBM key-value storage system, using\n"
+"Guile's foreign function interface."
+msgstr ""
+
+#: gnu/packages/guile.scm:1140
+msgid "Access SQLite databases from Guile"
+msgstr ""
+
+#: gnu/packages/guile.scm:1142
+msgid "This package provides Guile bindings to the SQLite database system."
+msgstr ""
+
+#: gnu/packages/guile.scm:1187
+msgid "Functional static site generator"
+msgstr ""
+
+#: gnu/packages/guile.scm:1188
+msgid ""
+"Haunt is a static site generator written in Guile\n"
+"Scheme. Haunt features a functional build system and an extensible\n"
+"interface for reading articles in any format."
+msgstr ""
+
+#: gnu/packages/guile.scm:1215
+msgid "Guile application configuration parsing library"
+msgstr ""
+
+#: gnu/packages/guile.scm:1217
+msgid ""
+"Guile Config is a library providing a declarative approach to\n"
+"application configuration specification. The library provides clean\n"
+"configuration declaration forms, and processors that take care of:\n"
+"configuration file creation; configuration file parsing; command-line\n"
+"parameter parsing using getopt-long; basic GNU command-line parameter\n"
+"generation (--help, --usage, --version); automatic output generation for the\n"
+"above command-line parameters."
+msgstr ""
+
+#: gnu/packages/guile.scm:1255
+msgid "Redis client library for Guile"
+msgstr ""
+
+#: gnu/packages/guile.scm:1256
+msgid ""
+"Guile-redis provides a Scheme interface to the Redis\n"
+"key-value cache and store."
+msgstr ""
+
+#: gnu/packages/guile.scm:1330
+msgid "Whitespace to lisp syntax for Guile"
+msgstr ""
+
+#: gnu/packages/guile.scm:1331
+msgid ""
+"Wisp is a syntax for Guile which provides a Python-like\n"
+"whitespace-significant language. It may be easier on the eyes for some\n"
+"users and in some situations."
+msgstr ""
+
+#: gnu/packages/guile.scm:1381
+msgid "2D/3D game engine for GNU Guile"
+msgstr ""
+
+#: gnu/packages/guile.scm:1382
+msgid ""
+"Sly is a 2D/3D game engine written in Guile Scheme. Sly\n"
+"features a functional reactive programming interface and live coding\n"
+"capabilities."
+msgstr ""
+
+#: gnu/packages/guile.scm:1418
+msgid "Generate C bindings for Guile"
+msgstr ""
+
+#: gnu/packages/guile.scm:1419
+msgid ""
+"G-Wrap is a tool and Guile library for generating function\n"
+"wrappers for inter-language calls. It currently only supports generating Guile\n"
+"wrappers for C functions. Given a definition of the types and prototypes for\n"
+"a given C interface, G-Wrap will automatically generate the C code that\n"
+"provides access to that interface and its types from the Scheme level."
+msgstr ""
+
+#: gnu/packages/guile.scm:1456
+msgid "Guile database abstraction layer"
+msgstr ""
+
+#: gnu/packages/guile.scm:1459
+msgid ""
+"guile-dbi is a library for Guile that provides a convenient interface to\n"
+"SQL databases. Database programming with guile-dbi is generic in that the same\n"
+"programming interface is presented regardless of which database system is used.\n"
+"It currently supports MySQL, Postgres and SQLite3."
+msgstr ""
+
+#: gnu/packages/guile.scm:1485
+msgid "Guile DBI driver for SQLite"
+msgstr ""
+
+#: gnu/packages/guile.scm:1488
+msgid ""
+"guile-dbi is a library for Guile that provides a convenient interface to\n"
+"SQL databases. This package implements the interface for SQLite."
+msgstr ""
+
+#: gnu/packages/guile.scm:1534
+msgid "DSV module for Guile"
+msgstr ""
+
+#: gnu/packages/guile.scm:1536
+msgid ""
+"Guile-DSV is a GNU Guile module for working with the\n"
+"delimiter-separated values (DSV) data format. Guile-DSV supports the\n"
+"Unix-style DSV format and RFC 4180 format."
+msgstr ""
+
+#: gnu/packages/guile.scm:1563
+msgid "XOSD bindings for Guile"
+msgstr ""
+
+#: gnu/packages/guile.scm:1565
+msgid ""
+"Guile-XOSD provides Guile bindings for @code{libxosd},\n"
+"@uref{http://sourceforge.net/projects/libxosd/, the X On Screen Display\n"
+"library}."
+msgstr ""
+
+#: gnu/packages/guile.scm:1588
+msgid "Evaluate code in a running Guile process"
+msgstr ""
+
+#: gnu/packages/guile.scm:1590
+msgid ""
+"Guile-Daemon is a small Guile program that loads your initial\n"
+"configuration file, and then reads and evaluates Guile expressions that\n"
+"you send to a FIFO file."
+msgstr ""
+
+#: gnu/packages/guile.scm:1621
+msgid "CommonMark parser for Guile"
+msgstr ""
+
+#: gnu/packages/guile.scm:1623
+msgid ""
+"guile-commonmark is a library for parsing CommonMark, a fully specified\n"
+"variant of Markdown. The library is written in Guile Scheme and is designed\n"
+"to transform a CommonMark document to SXML. guile-commonmark tries to closely\n"
+"follow the @uref{http://commonmark.org/, CommonMark spec}, the main difference\n"
+"is no support for parsing block and inline level HTML."
+msgstr ""
+
+#: gnu/packages/guile.scm:1726
+msgid "Structured access to bytevector contents for Guile"
+msgstr ""
+
+#: gnu/packages/guile.scm:1728
+msgid ""
+"Guile bytestructures offers a system imitating the type system\n"
+"of the C programming language, to be used on bytevectors. C's type\n"
+"system works on raw memory, and Guile works on bytevectors which are\n"
+"an abstraction over raw memory. It's also more powerful than the C\n"
+"type system, elevating types to first-class status."
+msgstr ""
+
+#: gnu/packages/guile.scm:1772
+msgid "Spell-checking from Guile"
+msgstr ""
+
+#: gnu/packages/guile.scm:1774
+msgid ""
+"guile-aspell is a Guile Scheme library for comparing a string against a\n"
+"dictionary and suggesting spelling corrections."
+msgstr ""
+
+#: gnu/packages/guile.scm:1828
+msgid "Extend Bash using Guile"
+msgstr ""
+
+#: gnu/packages/guile.scm:1830
+#, scheme-format
+msgid ""
+"Guile-Bash provides a shared library and set of Guile modules,\n"
+"allowing you to extend Bash in Scheme. Scheme interfaces allow you to access\n"
+"the following aspects of Bash:\n"
+"\n"
+"@itemize\n"
+"@item aliases;\n"
+"@item setting and getting Bash variables;\n"
+"@item creating dynamic variables;\n"
+"@item creating Bash functions with a Scheme implementation;\n"
+"@item reader macro for output capturing;\n"
+"@item reader macro for evaluating raw Bash commands.\n"
+"@end itemize\n"
+"\n"
+"To enable it, run:\n"
+"\n"
+"@example\n"
+"enable -f ~/.guix-profile/lib/bash/libguile-bash.so scm\n"
+"@end example\n"
+"\n"
+"and then run @command{scm example.scm}."
+msgstr ""
+
+#: gnu/packages/guile.scm:1877
+msgid "Asynchronous actor model library for Guile"
+msgstr ""
+
+#: gnu/packages/guile.scm:1879
+msgid ""
+"GNU 8sync (pronounced \"eight-sync\") is an asynchronous programming\n"
+"library for GNU Guile based on the actor model.\n"
+"\n"
+"Note that 8sync is only available for Guile 2.2."
+msgstr ""
+
+#: gnu/packages/guile.scm:1902
+msgid "Lightweight concurrency facility for Guile"
+msgstr ""
+
+#: gnu/packages/guile.scm:1904
+msgid ""
+"Fibers is a Guile library that implements a a lightweight concurrency\n"
+"facility, inspired by systems like Concurrent ML, Go, and Erlang. A fiber is\n"
+"like a \"goroutine\" from the Go language: a lightweight thread-like\n"
+"abstraction. Systems built with Fibers can scale up to millions of concurrent\n"
+"fibers, tens of thousands of concurrent socket connections, and many parallel\n"
+"cores. The Fibers library also provides Concurrent ML-like channels for\n"
+"communication between fibers.\n"
+"\n"
+"Note that Fibers makes use of some Guile 2.1/2.2-specific features and\n"
+"is not available for Guile 2.0."
+msgstr ""
+
+#: gnu/packages/guile.scm:1959
+msgid "Guile bindings for libgit2"
+msgstr ""
+
+#: gnu/packages/guile.scm:1961
+msgid ""
+"This package provides Guile bindings to libgit2, a library to\n"
+"manipulate repositories of the Git version control system."
+msgstr ""
+
+#: gnu/packages/guile.scm:1996
+msgid "General-purpose syntax highlighter for GNU Guile"
+msgstr ""
+
+#: gnu/packages/guile.scm:1997
+msgid ""
+"Guile-syntax-highlight is a general-purpose syntax\n"
+"highlighting library for GNU Guile. It can parse code written in various\n"
+"programming languages into a simple s-expression that can be converted to\n"
+"HTML (via SXML) or any other format for rendering."
+msgstr ""
+
+#: gnu/packages/guile.scm:2028
+msgid "S-expression based json reader/writer for Guile"
+msgstr ""
+
+#: gnu/packages/guile.scm:2029
+msgid ""
+"guile-sjson is a json reader/writer for Guile.\n"
+"It has a nice, simple s-expression based syntax."
+msgstr ""
+
+#: gnu/packages/guile.scm:2073
+msgid "Colorized REPL for Guile"
+msgstr ""
+
+#: gnu/packages/guile.scm:2075
+msgid "Guile-colorized provides you with a colorized REPL for GNU Guile."
+msgstr ""
+
+#: gnu/packages/imagemagick.scm:109 gnu/packages/imagemagick.scm:220
+msgid "Create, edit, compose, or convert bitmap images"
+msgstr ""
+
+#: gnu/packages/imagemagick.scm:111
+msgid ""
+"ImageMagick is a software suite to create, edit, compose, or convert\n"
+"bitmap images. It can read and write images in a variety of formats (over 100)\n"
+"including DPX, EXR, GIF, JPEG, JPEG-2000, PDF, PhotoCD, PNG, Postscript, SVG,\n"
+"and TIFF. Use ImageMagick to resize, flip, mirror, rotate, distort, shear and\n"
+"transform images, adjust image colors, apply various special effects, or draw\n"
+"text, lines, polygons, ellipses and Bézier curves."
+msgstr ""
+
+#: gnu/packages/imagemagick.scm:156
+msgid "Perl interface to ImageMagick"
+msgstr ""
+
+#: gnu/packages/imagemagick.scm:157
+msgid ""
+"This Perl extension allows the reading, manipulation and\n"
+"writing of a large number of image file formats using the ImageMagick library.\n"
+"Use it to create, edit, compose, or convert bitmap images from within a Perl\n"
+"script."
+msgstr ""
+
+#: gnu/packages/imagemagick.scm:222
+msgid ""
+"GraphicsMagick provides a comprehensive collection of utilities,\n"
+"programming interfaces, and GUIs, to support file format conversion, image\n"
+"processing, and 2D vector rendering."
+msgstr ""
+
+#: gnu/packages/image.scm:94
+msgid "Library for handling PNG files"
+msgstr ""
+
+#: gnu/packages/image.scm:96
+msgid ""
+"Libpng is the official PNG (Portable Network Graphics) reference\n"
+"library. It supports almost all PNG features and is extensible."
+msgstr ""
+
+#: gnu/packages/image.scm:160
+msgid "APNG patch for libpng"
+msgstr ""
+
+#: gnu/packages/image.scm:162
+msgid ""
+"APNG (Animated Portable Network Graphics) is an unofficial\n"
+"extension of the APNG (Portable Network Graphics) format.\n"
+"APNG patch provides APNG support to libpng."
+msgstr ""
+
+#: gnu/packages/image.scm:202
+msgid "Read and write PNG images"
+msgstr ""
+
+#: gnu/packages/image.scm:204
+msgid ""
+"This package provides an easy and simple way to read, write and display\n"
+"bitmap images stored in the PNG format. It can read and write both files and\n"
+"in-memory raw vectors."
+msgstr ""
+
+#: gnu/packages/image.scm:239
+msgid "Utility to compress PNG files"
+msgstr ""
+
+#: gnu/packages/image.scm:240
+msgid ""
+"pngcrusqh is an optimizer for PNG (Portable Network Graphics)\n"
+"files. It can compress them as much as 40% losslessly."
+msgstr ""
+
+#: gnu/packages/image.scm:259
+msgid "Library for handling JPEG files"
+msgstr ""
+
+#: gnu/packages/image.scm:261
+msgid ""
+"Libjpeg implements JPEG image encoding, decoding, and transcoding.\n"
+"JPEG is a standardized compression method for full-color and gray-scale\n"
+"images.\n"
+"The included programs provide conversion between the JPEG format and\n"
+"image files in PBMPLUS PPM/PGM, GIF, BMP, and Targa file formats."
+msgstr ""
+
+#: gnu/packages/image.scm:326
+msgid "Implementation of the JPEG XR standard"
+msgstr ""
+
+#: gnu/packages/image.scm:327
+msgid ""
+"JPEG XR is an approved ISO/IEC International standard (its\n"
+"official designation is ISO/IEC 29199-2). This library is an implementation of that standard."
+msgstr ""
+
+#: gnu/packages/image.scm:350
+msgid "Optimize JPEG images"
+msgstr ""
+
+#: gnu/packages/image.scm:352
+msgid ""
+"jpegoptim provides lossless optimization (based on optimizing\n"
+"the Huffman tables) and \"lossy\" optimization based on setting\n"
+"maximum quality factor."
+msgstr ""
+
+#: gnu/packages/image.scm:377
+msgid "Library for handling Mac OS icns resource files"
+msgstr ""
+
+#: gnu/packages/image.scm:379
+msgid ""
+"Libicns is a library for the manipulation of Mac OS IconFamily resource\n"
+"type files (ICNS). @command{icns2png} and @command{png2icns} are provided to\n"
+"convert between PNG and ICNS. @command{icns2png} will extract image files from\n"
+"ICNS files under names like \"Foo_48x48x32.png\" useful for installing for use\n"
+"with .desktop files. Additionally, @command{icontainer2png} is provided for\n"
+"extracting icontainer icon files."
+msgstr ""
+
+#: gnu/packages/image.scm:418
+msgid "Library for handling TIFF files"
+msgstr ""
+
+#: gnu/packages/image.scm:420
+msgid ""
+"Libtiff provides support for the Tag Image File Format (TIFF), a format\n"
+"used for storing image data.\n"
+"Included are a library, libtiff, for reading and writing TIFF and a small\n"
+"collection of tools for doing simple manipulations of TIFF images."
+msgstr ""
+
+#: gnu/packages/image.scm:472
+msgid "Library and tools for image processing and analysis"
+msgstr ""
+
+#: gnu/packages/image.scm:474
+msgid ""
+"Leptonica is a C library and set of command-line tools for efficient\n"
+"image processing and image analysis operations. It supports rasterop, affine\n"
+"transformations, binary and grayscale morphology, rank order, and convolution,\n"
+"seedfill and connected components, image transformations combining changes in\n"
+"scale and pixel depth, and pixelwise masking, blending, enhancement, and\n"
+"arithmetic ops."
+msgstr ""
+
+#: gnu/packages/image.scm:500
+msgid "Decoder of the JBIG2 image compression format"
+msgstr ""
+
+#: gnu/packages/image.scm:502
+msgid ""
+"JBIG2 is designed for lossy or lossless encoding of 'bilevel' (1-bit\n"
+"monochrome) images at moderately high resolution, and in particular scanned\n"
+"paper documents. In this domain it is very efficient, offering compression\n"
+"ratios on the order of 100:1.\n"
+"\n"
+"This is a decoder only implementation, and currently is in the alpha\n"
+"stage, meaning it doesn't completely work yet. However, it is\n"
+"maintaining parity with available encoders, so it is useful for real\n"
+"work."
+msgstr ""
+
+#: gnu/packages/image.scm:537
+msgid "JPEG 2000 codec"
+msgstr ""
+
+#: gnu/packages/image.scm:539
+msgid ""
+"The OpenJPEG library is a JPEG 2000 codec written in C. It has\n"
+"been developed in order to promote the use of JPEG 2000, the new\n"
+"still-image compression standard from the Joint Photographic Experts\n"
+"Group (JPEG).\n"
+"\n"
+"In addition to the basic codec, various other features are under\n"
+"development, among them the JP2 and MJ2 (Motion JPEG 2000) file formats,\n"
+"an indexing tool useful for the JPIP protocol, JPWL-tools for\n"
+"error-resilience, a Java-viewer for j2k-images, ..."
+msgstr ""
+
+#: gnu/packages/image.scm:602
+msgid "Tools and library for working with GIF images"
+msgstr ""
+
+#: gnu/packages/image.scm:604
+msgid ""
+"GIFLIB is a library for reading and writing GIF images. It is API and\n"
+"ABI compatible with libungif which was in wide use while the LZW compression\n"
+"algorithm was patented. Tools are also included to convert, manipulate,\n"
+"compose, and analyze GIF images."
+msgstr ""
+
+#: gnu/packages/image.scm:626
+msgid "GIF decompression library"
+msgstr "Biblioteca descompresora GIF"
+
+#: gnu/packages/image.scm:628
+msgid "libungif is the old GIF decompression library by the GIFLIB project."
+msgstr ""
+
+#: gnu/packages/image.scm:657
+msgid "Loading, saving, rendering and manipulating image files"
+msgstr ""
+
+#: gnu/packages/image.scm:659
+msgid ""
+"Imlib2 is a library that does image file loading and saving as well as\n"
+"rendering, manipulation, arbitrary polygon support, etc.\n"
+"\n"
+"It does ALL of these operations FAST. Imlib2 also tries to be highly\n"
+"intelligent about doing them, so writing naive programs can be done easily,\n"
+"without sacrificing speed.\n"
+"\n"
+"This is a complete rewrite over the Imlib 1.x series. The architecture is\n"
+"more modular, simple, and flexible."
+msgstr ""
+
+#: gnu/packages/image.scm:691
+msgid "Wrapper library for imlib2"
+msgstr ""
+
+#: gnu/packages/image.scm:693
+msgid ""
+"Giblib is a simple library which wraps imlib2's context API, avoiding\n"
+"all the context_get/set calls, adds fontstyles to the truetype renderer and\n"
+"supplies a generic doubly-linked list and some string functions."
+msgstr ""
+
+#: gnu/packages/image.scm:735
+msgid "Library for handling popular graphics image formats"
+msgstr ""
+
+#: gnu/packages/image.scm:737
+msgid ""
+"FreeImage is a library for developers who would like to support popular\n"
+"graphics image formats like PNG, BMP, JPEG, TIFF and others."
+msgstr ""
+
+#: gnu/packages/image.scm:792
+msgid "Computer vision library"
+msgstr ""
+
+#: gnu/packages/image.scm:794
+msgid ""
+"VIGRA stands for Vision with Generic Algorithms. It is an image\n"
+"processing and analysis library that puts its main emphasis on customizable\n"
+"algorithms and data structures. It is particularly strong for\n"
+"multi-dimensional image processing."
+msgstr ""
+
+#: gnu/packages/image.scm:826
+msgid "Lossless and lossy image compression"
+msgstr ""
+
+#: gnu/packages/image.scm:828
+msgid ""
+"WebP is a new image format that provides lossless and lossy compression\n"
+"for images. WebP lossless images are 26% smaller in size compared to\n"
+"PNGs. WebP lossy images are 25-34% smaller in size compared to JPEG images at\n"
+"equivalent SSIM index. WebP supports lossless transparency (also known as\n"
+"alpha channel) with just 22% additional bytes. Transparency is also supported\n"
+"with lossy compression and typically provides 3x smaller file sizes compared\n"
+"to PNG when lossy compression is acceptable for the red/green/blue color\n"
+"channels."
+msgstr ""
+
+#: gnu/packages/image.scm:856
+msgid "Library for handling MNG files"
+msgstr ""
+
+#: gnu/packages/image.scm:858
+msgid "Libmng is the MNG (Multiple-image Network Graphics) reference library."
+msgstr ""
+
+#: gnu/packages/image.scm:886
+msgid "Library and command-line utility to manage image metadata"
+msgstr ""
+
+#: gnu/packages/image.scm:888
+msgid ""
+"Exiv2 is a C++ library and a command line utility to manage image\n"
+"metadata. It provides fast and easy read and write access to the Exif, IPTC\n"
+"and XMP metadata of images in various formats."
+msgstr ""
+
+#: gnu/packages/image.scm:928
+msgid "Library for manipulating many image formats"
+msgstr ""
+
+#: gnu/packages/image.scm:929
+msgid ""
+"Developer's Image Library (DevIL) is a library to develop\n"
+"applications with support for many types of images. DevIL can load, save,\n"
+"convert, manipulate, filter and display a wide variety of image formats."
+msgstr ""
+
+#: gnu/packages/image.scm:949
+msgid "JPEG-2000 library"
+msgstr ""
+
+#: gnu/packages/image.scm:950
+msgid ""
+"The JasPer Project is an initiative to provide a reference\n"
+"implementation of the codec specified in the JPEG-2000 Part-1 standard (i.e.,\n"
+"ISO/IEC 15444-1)."
+msgstr ""
+
+#: gnu/packages/image.scm:980
+msgid "Scaling, colorspace conversion, and dithering library"
+msgstr ""
+
+#: gnu/packages/image.scm:981
+msgid ""
+"Zimg implements the commonly required image processing basics\n"
+"of scaling, colorspace conversion, and depth conversion. A simple API enables\n"
+"conversion between any supported formats to operate with minimal knowledge from\n"
+"the programmer."
+msgstr ""
+
+#: gnu/packages/image.scm:1014
+msgid "Perceptual image comparison utility"
+msgstr ""
+
+#: gnu/packages/image.scm:1015
+msgid ""
+"PerceptualDiff visually compares two images to determine\n"
+"whether they look alike. It uses a computational model of the human visual\n"
+"system to detect similarities. This allows it too see beyond irrelevant\n"
+"differences in file encoding, image quality, and other small variations."
+msgstr ""
+
+#: gnu/packages/image.scm:1055
+msgid "Image and audio steganography"
+msgstr ""
+
+#: gnu/packages/image.scm:1057
+msgid ""
+"Steghide is a program to hide data in various kinds of image and audio\n"
+"files (known as @dfn{steganography}). Neither color nor sample frequencies are\n"
+"changed, making the embedding resistant against first-order statistical tests."
+msgstr ""
+
+#: gnu/packages/image.scm:1082
+msgid "Image library for Extempore"
+msgstr ""
+
+#: gnu/packages/image.scm:1084
+msgid ""
+"This package is a collection of assorted single-file libraries. Of\n"
+"all included libraries only the image loading and decoding library is\n"
+"installed as @code{stb_image}."
+msgstr ""
+
+#: gnu/packages/image.scm:1112
+msgid ""
+"Optimizer that recompresses PNG image files to a\n"
+"smaller size"
+msgstr ""
+
+#: gnu/packages/image.scm:1114
+msgid ""
+"OptiPNG is a PNG optimizer that recompresses image\n"
+"files to a smaller size, without losing any information. This program\n"
+"also converts external formats (BMP, GIF, PNM and TIFF) to optimized\n"
+"PNG, and performs PNG integrity checks and corrections."
+msgstr ""
+
+#: gnu/packages/image.scm:1139
+msgid "SIMD-accelerated JPEG image handling library"
+msgstr ""
+
+#: gnu/packages/image.scm:1140
+msgid ""
+"libjpeg-turbo is a JPEG image codec that accelerates baseline\n"
+"JPEG compression and decompression using SIMD instructions: MMX on x86, SSE2 on\n"
+"x86-64, NEON on ARM, and AltiVec on PowerPC processors. Even on other systems,\n"
+"its highly-optimized Huffman coding routines allow it to outperform libjpeg by\n"
+"a significant amount.\n"
+"libjpeg-turbo implements both the traditional libjpeg API and the less powerful\n"
+"but more straightforward TurboJPEG API, and provides a full-featured Java\n"
+"interface. It supports color space extensions that allow it to compress from\n"
+"and decompress to 32-bit and big-endian pixel buffers (RGBX, XBGR, etc.)."
+msgstr ""
+
+#: gnu/packages/image.scm:1188
+msgid "Library for reading and writing files in the nifti-1 format"
+msgstr ""
+
+#: gnu/packages/image.scm:1189
+msgid ""
+"Niftilib is a set of i/o libraries for reading and writing\n"
+"files in the nifti-1 data format - a binary file format for storing\n"
+"medical image data, e.g. magnetic resonance image (MRI) and functional MRI\n"
+"(fMRI) brain images."
+msgstr ""
+
+#: gnu/packages/image.scm:1235
+msgid "Color picker"
+msgstr "Escogedor de color"
+
+#: gnu/packages/image.scm:1236
+msgid "Gpick is an advanced color picker and palette editing tool."
+msgstr ""
+
+#: gnu/packages/image-viewers.scm:91
+msgid "Fast and light imlib2-based image viewer"
+msgstr ""
+
+#: gnu/packages/image-viewers.scm:93
+msgid ""
+"feh is an X11 image viewer aimed mostly at console users.\n"
+"Unlike most other viewers, it does not have a fancy GUI, but simply\n"
+"displays images. It can also be used to set the desktop wallpaper.\n"
+"It is controlled via commandline arguments and configurable key/mouse\n"
+"actions."
+msgstr ""
+
+#: gnu/packages/image-viewers.scm:143
+msgid "Lightweight GTK+ based image viewer"
+msgstr ""
+
+#: gnu/packages/image-viewers.scm:145
+msgid ""
+"Geeqie is a lightweight GTK+ based image viewer for Unix like operating\n"
+"systems. It features: EXIF, IPTC and XMP metadata browsing and editing\n"
+"interoperability; easy integration with other software; geeqie works on files\n"
+"and directories, there is no need to import images; fast preview for many raw\n"
+"image formats; tools for image comparison, sorting and managing photo\n"
+"collection. Geeqie was initially based on GQview."
+msgstr ""
+
+#: gnu/packages/image-viewers.scm:170
+msgid "Simple and fast image viewer for X"
+msgstr ""
+
+#: gnu/packages/image-viewers.scm:171
+msgid ""
+"gpicview is a lightweight GTK+ 2.x based image viewer.\n"
+"It is the default image viewer on LXDE desktop environment."
+msgstr ""
+
+#: gnu/packages/image-viewers.scm:202
+msgid "Simple X Image Viewer"
+msgstr ""
+
+#: gnu/packages/image-viewers.scm:204
+msgid ""
+"sxiv is an alternative to feh and qiv. Its primary goal is to\n"
+"provide the most basic features required for fast image viewing. It has\n"
+"vi key bindings and works nicely with tiling window managers. Its code\n"
+"base should be kept small and clean to make it easy for you to dig into\n"
+"it and customize it for your needs."
+msgstr ""
+
+#: gnu/packages/image-viewers.scm:251
+msgid "Simple, fast and elegant image viewer"
+msgstr ""
+
+#: gnu/packages/image-viewers.scm:252
+msgid ""
+"Viewnior is an image viewer program. Created to be simple,\n"
+"fast and elegant. Its minimalistic interface provides more screenspace for\n"
+"your images. Among its features are:\n"
+"@enumerate\n"
+"@item Fullscreen & Slideshow\n"
+"@item Rotate, flip, crop, save, delete images\n"
+"@item Animation support\n"
+"@item Browse only selected images\n"
+"@item Navigation window\n"
+"@item Set image as wallpaper (Gnome 2, Gnome 3, XFCE, LXDE, FluxBox, Nitrogen)\n"
+"@item Simple interface\n"
+"@item EXIF and IPTC metadata\n"
+"@item Configurable mouse actions\n"
+"@end enumerate\n"
+msgstr ""
+
+#: gnu/packages/image-viewers.scm:320
+msgid "Render images in the terminal"
+msgstr ""
+
+#: gnu/packages/image-viewers.scm:322
+msgid ""
+"Catimg is a little program that prints images in the terminal.\n"
+"It supports JPEG, PNG and GIF formats."
+msgstr ""
+
+#: gnu/packages/image-viewers.scm:373
+msgid "High dynamic range (HDR) imaging application"
+msgstr ""
+
+#: gnu/packages/image-viewers.scm:375
+msgid ""
+"Luminance HDR (formerly QtPFSGui) is a graphical user interface\n"
+"application that aims to provide a workflow for high dynamic range (HDR)\n"
+"imaging. It supports several HDR and LDR image formats, and it can:\n"
+"\n"
+"@itemize\n"
+"@item Create an HDR file from a set of images (formats: JPEG, TIFF 8bit and\n"
+"16bit, RAW) of the same scene taken at different exposure setting;\n"
+"@item Save load HDR images;\n"
+"@item Rotate, resize and crop HDR images;\n"
+"@item Tone-map HDR images;\n"
+"@item Copy EXIF data between sets of images.\n"
+"@end itemize\n"
+msgstr ""
+
+#: gnu/packages/image-viewers.scm:422
+msgid "Image viewer for comics"
+msgstr ""
+
+#: gnu/packages/image-viewers.scm:423
+msgid ""
+"MComix is a customizable image viewer that specializes as\n"
+"a comic and manga reader. It supports a variety of container formats\n"
+"including CBZ, CB7, CBT, LHA."
+msgstr ""
+
+#: gnu/packages/inkscape.scm:91
+msgid "Vector graphics editor"
+msgstr "Editor gráfico vectorial"
+
+#: gnu/packages/inkscape.scm:92
+msgid ""
+"Inkscape is a vector graphics editor. What sets Inkscape\n"
+"apart is its use of Scalable Vector Graphics (SVG), an XML-based W3C standard,\n"
+"as the native format."
+msgstr ""
+
+#: gnu/packages/jemalloc.scm:60
+msgid "General-purpose scalable concurrent malloc implementation"
+msgstr ""
+
+#: gnu/packages/jemalloc.scm:62
+msgid ""
+"This library providing a malloc(3) implementation that emphasizes\n"
+"fragmentation avoidance and scalable concurrency support."
+msgstr ""
+
+#: gnu/packages/key-mon.scm:50
+msgid "Show keyboard and mouse status"
+msgstr ""
+
+#: gnu/packages/key-mon.scm:52
+msgid ""
+"The key-mon utility displays the current keyboard and mouse status.\n"
+"This is useful for teaching and screencasts."
+msgstr ""
+
+#: gnu/packages/less.scm:41
+msgid "Paginator for terminals"
+msgstr "Paginador para terminales"
+
+#: gnu/packages/less.scm:43
+msgid ""
+"GNU less is a pager, a program that allows you to view large amounts\n"
+"of text in page-sized chunks. Unlike traditional pagers, it allows both\n"
+"backwards and forwards movement through the document. It also does not have\n"
+"to read the entire input file before starting, so it starts faster than most\n"
+"text editors."
+msgstr ""
+
+#: gnu/packages/lesstif.scm:47
+msgid "Clone of the Motif toolkit for the X window system"
+msgstr ""
+
+#: gnu/packages/lesstif.scm:48
+msgid "Clone of the Motif toolkit for the X window system."
+msgstr ""
+
+#: gnu/packages/libreoffice.scm:95
+msgid "General purpose formula parser and interpreter"
+msgstr ""
+
+#: gnu/packages/libreoffice.scm:96
+msgid ""
+"Ixion is a library for calculating the results of formula\n"
+"expressions stored in multiple named targets, or \"cells\". The cells can\n"
+"be referenced from each other, and the library takes care of resolving\n"
+"their dependencies automatically upon calculation."
+msgstr ""
+
+#: gnu/packages/libreoffice.scm:122
+msgid "File import filter library for spreadsheet documents"
+msgstr ""
+
+#: gnu/packages/libreoffice.scm:123
+msgid ""
+"Orcus is a library that provides a collection of standalone\n"
+"file processing filters. It is currently focused on providing filters for\n"
+"spreadsheet documents. The library includes import filters for\n"
+"Microsoft Excel 2007 XML, Microsoft Excel 2003 XML, Open Document Spreadsheet,\n"
+"Plain Text, Gnumeric XML, Generic XML. It also includes low-level parsers for\n"
+"CSV, CSS and XML."
+msgstr ""
+
+#: gnu/packages/libreoffice.scm:157
+msgid "Document importer for office suites"
+msgstr ""
+
+#: gnu/packages/libreoffice.scm:158
+msgid ""
+"Librevenge is a base library for writing document import\n"
+"filters. It has interfaces for text documents, vector graphics,\n"
+"spreadsheets and presentations."
+msgstr ""
+
+#: gnu/packages/libreoffice.scm:183
+msgid "Library for importing WordPerfect documents"
+msgstr ""
+
+#: gnu/packages/libreoffice.scm:184
+msgid ""
+"Libwpd is a C++ library designed to help process\n"
+"WordPerfect documents. It is most commonly used to import such documents\n"
+"into other word processors."
+msgstr ""
+
+#: gnu/packages/libreoffice.scm:216
+msgid "Library for import of reflowable e-book formats"
+msgstr ""
+
+#: gnu/packages/libreoffice.scm:217
+msgid ""
+"Libe-book is a library and a set of tools for reading and\n"
+"converting various reflowable e-book formats. Currently supported are:\n"
+"Broad Band eBook, eReader .pdb, FictionBook v. 2 (including zipped files),\n"
+"PalmDoc Ebook, Plucker .pdb, QiOO (mobile format, for java-enabled\n"
+"cellphones), TCR (simple compressed text format), TealDoc, zTXT,\n"
+"ZVR (simple compressed text format)."
+msgstr ""
+
+#: gnu/packages/libreoffice.scm:246
+msgid "Library and tools for the WordPerfect Graphics format"
+msgstr ""
+
+#: gnu/packages/libreoffice.scm:247
+msgid ""
+"The libwpg project provides a library and tools for\n"
+"working with graphics in the WPG (WordPerfect Graphics) format."
+msgstr ""
+
+#: gnu/packages/libreoffice.scm:288
+msgid "CMIS client library"
+msgstr ""
+
+#: gnu/packages/libreoffice.scm:289
+msgid ""
+"LibCMIS is a C++ client library for the CMIS interface. It\n"
+"allows C++ applications to connect to any ECM behaving as a CMIS server such\n"
+"as Alfresco or Nuxeo."
+msgstr ""
+
+#: gnu/packages/libreoffice.scm:320
+msgid "Library for parsing the AbiWord format"
+msgstr ""
+
+#: gnu/packages/libreoffice.scm:321
+msgid ""
+"Libabw is a library that parses the file format of\n"
+"AbiWord documents."
+msgstr ""
+
+#: gnu/packages/libreoffice.scm:352
+msgid "Library for parsing the CorelDRAW format"
+msgstr ""
+
+#: gnu/packages/libreoffice.scm:353
+msgid ""
+"Libcdr is a library that parses the file format of\n"
+"CorelDRAW documents of all versions."
+msgstr ""
+
+#: gnu/packages/libreoffice.scm:385
+msgid "Library for parsing the Apple Keynote format"
+msgstr ""
+
+#: gnu/packages/libreoffice.scm:386
+msgid ""
+"Libetonyek is a library that parses the file format of\n"
+"Apple Keynote documents. It currently supports Keynote versions 2 to 5."
+msgstr ""
+
+#: gnu/packages/libreoffice.scm:409
+msgid "Library to access tags for identifying languages"
+msgstr ""
+
+#: gnu/packages/libreoffice.scm:410
+msgid ""
+"Liblangtag implements an interface to work with tags\n"
+"for identifying languages as described in RFC 5646. It supports the\n"
+"extensions described in RFC6067 and RFC6497, and Extension T for\n"
+"language/locale identifiers as described in the Unicode CLDR\n"
+"standard 21.0.2."
+msgstr ""
+
+#: gnu/packages/libreoffice.scm:430
+msgid "Text Categorization library"
+msgstr ""
+
+#: gnu/packages/libreoffice.scm:431
+msgid ""
+"Libexttextcat is an N-Gram-Based Text Categorization\n"
+"library primarily intended for language guessing."
+msgstr ""
+
+#: gnu/packages/libreoffice.scm:461
+msgid "Library for parsing the FreeHand format"
+msgstr ""
+
+#: gnu/packages/libreoffice.scm:462
+msgid ""
+"Libfreehand is a library that parses the file format of\n"
+"Aldus/Macromedia/Adobe FreeHand documents."
+msgstr ""
+
+#: gnu/packages/libreoffice.scm:488
+msgid "Library for parsing the Microsoft Publisher format"
+msgstr ""
+
+#: gnu/packages/libreoffice.scm:489
+msgid ""
+"Libmspub is a library that parses the file format of\n"
+"Microsoft Publisher documents of all versions."
+msgstr ""
+
+#: gnu/packages/libreoffice.scm:514
+msgid "Library for parsing the PageMaker format"
+msgstr ""
+
+#: gnu/packages/libreoffice.scm:515
+msgid ""
+"Libpagemaker is a library that parses the file format of\n"
+"Aldus/Adobe PageMaker documents. Currently it only understands documents\n"
+"created by PageMaker version 6.x and 7."
+msgstr ""
+
+#: gnu/packages/libreoffice.scm:545
+msgid "Library for parsing the Microsoft Visio format"
+msgstr ""
+
+#: gnu/packages/libreoffice.scm:546
+msgid ""
+"Libvisio is a library that parses the file format of\n"
+"Microsoft Visio documents of all versions."
+msgstr ""
+
+#: gnu/packages/libreoffice.scm:574
+msgid "ODF (Open Document Format) library"
+msgstr ""
+
+#: gnu/packages/libreoffice.scm:575
+msgid ""
+"Libodfgen is a library for generating documents in the\n"
+"Open Document Format (ODF). It provides generator implementations for all\n"
+"document interfaces supported by librevenge:\n"
+"text documents, vector drawings, presentations and spreadsheets."
+msgstr ""
+
+#: gnu/packages/libreoffice.scm:602
+msgid "Import library for some old Macintosh text documents"
+msgstr ""
+
+#: gnu/packages/libreoffice.scm:603
+msgid ""
+"Libmwaw contains some import filters for old Macintosh\n"
+"text documents (MacWrite, ClarisWorks, ... ) and for some graphics and\n"
+"spreadsheet documents."
+msgstr ""
+
+#: gnu/packages/libreoffice.scm:626
+msgid "Provides LibreOffice support for old StarOffice documents"
+msgstr ""
+
+#: gnu/packages/libreoffice.scm:627
+msgid ""
+"@code{libstaroffice} is an import filter for the document formats\n"
+"from the old StarOffice (.sdc, .sdw, ...)."
+msgstr ""
+
+#: gnu/packages/libreoffice.scm:652
+msgid "Import library for Microsoft Works text documents"
+msgstr ""
+
+#: gnu/packages/libreoffice.scm:653
+msgid ""
+"Libwps is a library for importing files in the Microsoft\n"
+"Works word processor file format."
+msgstr ""
+
+#: gnu/packages/libreoffice.scm:680
+msgid "Parses file format of Zoner Callisto/Draw documents"
+msgstr ""
+
+#: gnu/packages/libreoffice.scm:681
+msgid ""
+"Libzmf is a library that parses the file format of Zoner\n"
+"Callisto/Draw documents. Currently it only understands documents created by\n"
+"Zoner Draw version 4 and 5."
+msgstr ""
+
+#: gnu/packages/libreoffice.scm:716
+msgid ""
+"Hunspell is a spell checker and morphological analyzer\n"
+"library and program designed for languages with rich morphology and complex\n"
+"word compounding or character encoding."
+msgstr ""
+
+#. TRANSLATORS: In French, this is "Français classique".
+#: gnu/packages/libreoffice.scm:779
+msgid "Hunspell dictionary for ``classic'' French (recommended)"
+msgstr "Diccionario Hunspell para francés ``clásico'' (recomendado)"
+
+#. TRANSLATORS: In French, this is "Français moderne".
+#: gnu/packages/libreoffice.scm:784
+msgid "Hunspell dictionary for ``modern'' French"
+msgstr "Diccionario Hunspell para francés ``moderno''"
+
+#: gnu/packages/libreoffice.scm:788
+msgid "Hunspell dictionary for the post @dfn{1990 réforme} French"
+msgstr "Diccionario Hunspell para francés posterior @dfn{1990 réforme}"
+
+#: gnu/packages/libreoffice.scm:792
+msgid "Hunspell dictionary for all variants of French"
+msgstr ""
+
+#: gnu/packages/libreoffice.scm:810
+msgid "Hyphenation library"
+msgstr "Biblioteca separación silábica"
+
+#: gnu/packages/libreoffice.scm:811
+msgid ""
+"Hyphen is a hyphenation library using TeX hyphenation\n"
+"patterns, which are pre-processed by a perl script."
+msgstr ""
+
+#: gnu/packages/libreoffice.scm:834
+msgid "Thesaurus"
+msgstr "Tesausus"
+
+#: gnu/packages/libreoffice.scm:835
+msgid ""
+"MyThes is a simple thesaurus that uses a structured text\n"
+"data file and an index file with binary search to look up words and phrases\n"
+"and to return information on pronunciations, meanings and synonyms."
+msgstr ""
+
+#: gnu/packages/libreoffice.scm:1042
+msgid "Office suite"
+msgstr ""
+
+#: gnu/packages/libreoffice.scm:1043
+msgid ""
+"LibreOffice is a comprehensive office suite. It contains\n"
+"a number of components: Writer, a word processor; Calc, a spreadsheet\n"
+"application; Impress, a presentation engine; Draw, a drawing and\n"
+"flowcharting application; Base, a database and database frontend;\n"
+"Math for editing mathematics."
+msgstr ""
+
+#: gnu/packages/linux.scm:211
+msgid "GNU Linux-Libre kernel headers"
+msgstr ""
+
+#: gnu/packages/linux.scm:212
+msgid "Headers of the Linux-Libre kernel."
+msgstr ""
+
+#: gnu/packages/linux.scm:363
+msgid "100% free redistribution of a cleaned Linux kernel"
+msgstr ""
+
+#: gnu/packages/linux.scm:365
+msgid ""
+"GNU Linux-Libre is a free (as in freedom) variant of the Linux kernel.\n"
+"It has been modified to remove all non-free binary blobs."
+msgstr ""
+
+#: gnu/packages/linux.scm:463
+msgid "Pluggable authentication modules for Linux"
+msgstr ""
+
+#: gnu/packages/linux.scm:465
+msgid ""
+"A *Free* project to implement OSF's RFC 86.0.\n"
+"Pluggable authentication modules are small shared object files that can\n"
+"be used through the PAM API to perform tasks, like authenticating a user\n"
+"at login. Local and dynamic reconfiguration are its key features."
+msgstr ""
+
+#: gnu/packages/linux.scm:507
+msgid "Small utilities that use the proc file system"
+msgstr ""
+
+#: gnu/packages/linux.scm:509
+msgid ""
+"This PSmisc package is a set of some small useful utilities that\n"
+"use the proc file system. We're not about changing the world, but\n"
+"providing the system administrator with some help in common tasks."
+msgstr ""
+
+#: gnu/packages/linux.scm:591
+msgid "Collection of utilities for the Linux kernel"
+msgstr ""
+
+#: gnu/packages/linux.scm:592
+msgid ""
+"Util-linux is a diverse collection of Linux kernel\n"
+"utilities. It provides dmesg and includes tools for working with file systems,\n"
+"block devices, UUIDs, TTYs, and many other tools."
+msgstr ""
+
+#: gnu/packages/linux.scm:616
+msgid "PERPETUAL DATE CONVERTER FROM GREGORIAN TO POEE CALENDAR"
+msgstr ""
+
+#: gnu/packages/linux.scm:618
+msgid ""
+"ddate displays the Discordian date and holidays of a given date.\n"
+"The Discordian calendar was made popular by the \"Illuminatus!\" trilogy\n"
+"by Robert Shea and Robert Anton Wilson."
+msgstr ""
+
+#: gnu/packages/linux.scm:663
+msgid "Utilities that give information about processes"
+msgstr ""
+
+#: gnu/packages/linux.scm:665
+msgid ""
+"Procps is the package that has a bunch of small useful utilities\n"
+"that give information about processes using the Linux /proc file system.\n"
+"The package includes the programs ps, top, vmstat, w, kill, free,\n"
+"slabtop, and skill."
+msgstr ""
+
+#: gnu/packages/linux.scm:691
+msgid "Tools for working with USB devices, such as lsusb"
+msgstr ""
+
+#: gnu/packages/linux.scm:693
+msgid "Tools for working with USB devices, such as lsusb."
+msgstr ""
+
+#: gnu/packages/linux.scm:769
+msgid "Creating and checking ext2/ext3/ext4 file systems"
+msgstr ""
+
+#: gnu/packages/linux.scm:771
+msgid "This package provides tools for manipulating ext2/ext3/ext4 file systems."
+msgstr ""
+
+#: gnu/packages/linux.scm:812
+msgid "Statically-linked e2fsck command from e2fsprogs"
+msgstr ""
+
+#: gnu/packages/linux.scm:813
+msgid ""
+"This package provides statically-linked e2fsck command taken\n"
+"from the e2fsprogs package. It is meant to be used in initrds."
+msgstr ""
+
+#: gnu/packages/linux.scm:832
+msgid "Recover deleted files from ext2/3/4 partitions"
+msgstr ""
+
+#: gnu/packages/linux.scm:834
+msgid ""
+"Extundelete is a set of tools that can recover deleted files from an\n"
+"ext3 or ext4 partition."
+msgstr ""
+
+#: gnu/packages/linux.scm:865
+msgid "Zero non-allocated regions in ext2/ext3/ext4 file systems"
+msgstr ""
+
+#: gnu/packages/linux.scm:867
+msgid ""
+"Zerofree finds the unallocated blocks with non-zero value content in an\n"
+"ext2, ext3, or ext4 file system and fills them with zeroes (or another value).\n"
+"This is a simple way to make disk images more compressible.\n"
+"Zerofree requires the file system to be unmounted or mounted read-only."
+msgstr ""
+
+#: gnu/packages/linux.scm:895
+msgid "System call tracer for Linux"
+msgstr ""
+
+#: gnu/packages/linux.scm:897
+msgid ""
+"strace is a system call tracer, i.e. a debugging tool which prints out a\n"
+"trace of all the system calls made by a another process/program."
+msgstr ""
+
+#: gnu/packages/linux.scm:918
+msgid "Library call tracer for Linux"
+msgstr ""
+
+#: gnu/packages/linux.scm:920
+msgid ""
+"ltrace intercepts and records dynamic library calls which are called by\n"
+"an executed process and the signals received by that process. It can also\n"
+"intercept and print the system calls executed by the program."
+msgstr ""
+
+#: gnu/packages/linux.scm:939
+msgid "The Advanced Linux Sound Architecture libraries"
+msgstr ""
+
+#: gnu/packages/linux.scm:941 gnu/packages/linux.scm:985
+msgid ""
+"The Advanced Linux Sound Architecture (ALSA) provides audio and\n"
+"MIDI functionality to the Linux-based operating system."
+msgstr ""
+
+#: gnu/packages/linux.scm:983
+msgid "Utilities for the Advanced Linux Sound Architecture (ALSA)"
+msgstr ""
+
+#: gnu/packages/linux.scm:1043
+msgid "Plugins for the Advanced Linux Sound Architecture (ALSA)"
+msgstr ""
+
+#: gnu/packages/linux.scm:1045
+msgid ""
+"The Advanced Linux Sound Architecture (ALSA) provides audio and\n"
+"MIDI functionality to the Linux-based operating system. This package enhances ALSA\n"
+"by providing additional plugins which include: upmixing, downmixing, jackd and\n"
+"pulseaudio support for native alsa applications, format conversion (s16 to a52), and\n"
+"external rate conversion."
+msgstr ""
+
+#: gnu/packages/linux.scm:1079
+msgid "Program to configure the Linux IP packet filtering rules"
+msgstr ""
+
+#: gnu/packages/linux.scm:1081
+msgid ""
+"iptables is the userspace command line program used to configure the\n"
+"Linux 2.4.x and later IPv4 packet filtering ruleset (firewall). It is targeted at\n"
+"system administrators. Since Network Address Translation is also configured\n"
+"from the packet filter ruleset, iptables is used for this, too. The iptables\n"
+"package also includes ip6tables. ip6tables is used for configuring the IPv6\n"
+"packet filter."
+msgstr ""
+
+#: gnu/packages/linux.scm:1135
+msgid "Ethernet bridge frame table administration"
+msgstr ""
+
+#: gnu/packages/linux.scm:1138
+msgid ""
+"ebtables is an application program used to set up and maintain the\n"
+"tables of rules (inside the Linux kernel) that inspect Ethernet frames. It is\n"
+"analogous to the iptables application, but less complicated, due to the fact\n"
+"that the Ethernet protocol is much simpler than the IP protocol."
+msgstr ""
+
+#: gnu/packages/linux.scm:1186
+msgid "Utilities for controlling TCP/IP networking and traffic in Linux"
+msgstr ""
+
+#: gnu/packages/linux.scm:1188
+msgid ""
+"Iproute2 is a collection of utilities for controlling TCP/IP networking\n"
+"and traffic with the Linux kernel. The most important of these are\n"
+"@command{ip}, which configures IPv4 and IPv6, and @command{tc} for traffic\n"
+"control.\n"
+"\n"
+"Most network configuration manuals still refer to ifconfig and route as the\n"
+"primary network configuration tools, but ifconfig is known to behave\n"
+"inadequately in modern network environments, and both should be deprecated."
+msgstr ""
+
+#: gnu/packages/linux.scm:1274
+msgid "Tools for controlling the network subsystem in Linux"
+msgstr ""
+
+#: gnu/packages/linux.scm:1276
+msgid ""
+"This package includes the important tools for controlling the network\n"
+"subsystem of the Linux kernel. This includes arp, ifconfig, netstat, rarp and\n"
+"route. Additionally, this package contains utilities relating to particular\n"
+"network hardware types (plipconfig, slattach) and advanced aspects of IP\n"
+"configuration (iptunnel, ipmaddr)."
+msgstr ""
+
+#: gnu/packages/linux.scm:1415
+msgid "Library for working with POSIX capabilities"
+msgstr ""
+
+#: gnu/packages/linux.scm:1417
+msgid ""
+"Libcap2 provides a programming interface to POSIX capabilities on\n"
+"Linux-based operating systems."
+msgstr ""
+
+#: gnu/packages/linux.scm:1460
+msgid "Manipulate Ethernet bridges"
+msgstr ""
+
+#: gnu/packages/linux.scm:1462
+msgid ""
+"Utilities for Linux's Ethernet bridging facilities. A bridge is a way\n"
+"to connect two Ethernet segments together in a protocol independent way.\n"
+"Packets are forwarded based on Ethernet address, rather than IP address (like\n"
+"a router). Since forwarding is done at Layer 2, all protocols can go\n"
+"transparently through a bridge."
+msgstr ""
+
+#: gnu/packages/linux.scm:1530
+msgid "NetLink protocol library suite"
+msgstr ""
+
+#: gnu/packages/linux.scm:1532
+msgid ""
+"The libnl suite is a collection of libraries providing APIs to netlink\n"
+"protocol based Linux kernel interfaces. Netlink is an IPC mechanism primarily\n"
+"between the kernel and user space processes. It was designed to be a more\n"
+"flexible successor to ioctl to provide mainly networking related kernel\n"
+"configuration and monitoring interfaces."
+msgstr ""
+
+#: gnu/packages/linux.scm:1562
+msgid "Tool for configuring wireless devices"
+msgstr ""
+
+#: gnu/packages/linux.scm:1564
+msgid ""
+"iw is a new nl80211 based CLI configuration utility for wireless\n"
+"devices. It replaces @code{iwconfig}, which is deprecated."
+msgstr ""
+
+#: gnu/packages/linux.scm:1610
+msgid "Analyze power consumption on Intel-based laptops"
+msgstr ""
+
+#: gnu/packages/linux.scm:1612
+msgid ""
+"PowerTOP is a Linux tool to diagnose issues with power consumption and\n"
+"power management. In addition to being a diagnostic tool, PowerTOP also has\n"
+"an interactive mode where the user can experiment various power management\n"
+"settings for cases where the operating system has not enabled these\n"
+"settings."
+msgstr ""
+
+#: gnu/packages/linux.scm:1634
+msgid "Audio mixer for X and the console"
+msgstr ""
+
+#: gnu/packages/linux.scm:1636
+msgid ""
+"Aumix adjusts an audio mixer from X, the console, a terminal,\n"
+"the command line or a script."
+msgstr ""
+
+#: gnu/packages/linux.scm:1660
+msgid "Displays the IO activity of running processes"
+msgstr ""
+
+#: gnu/packages/linux.scm:1662
+msgid ""
+"Iotop is a Python program with a top like user interface to show the\n"
+"processes currently causing I/O."
+msgstr ""
+
+#: gnu/packages/linux.scm:1716
+msgid "Support file systems implemented in user space"
+msgstr ""
+
+#: gnu/packages/linux.scm:1718
+msgid ""
+"As a consequence of its monolithic design, file system code for Linux\n"
+"normally goes into the kernel itself---which is not only a robustness issue,\n"
+"but also an impediment to system extensibility. FUSE, for \"file systems in\n"
+"user space\", is a kernel module and user-space library that tries to address\n"
+"part of this problem by allowing users to run file system implementations as\n"
+"user-space processes."
+msgstr ""
+
+#: gnu/packages/linux.scm:1752
+msgid "User-space union file system"
+msgstr ""
+
+#: gnu/packages/linux.scm:1754
+msgid ""
+"UnionFS-FUSE is a flexible union file system implementation in user\n"
+"space, using the FUSE library. Mounting a union file system allows you to\n"
+"\"aggregate\" the contents of several directories into a single mount point.\n"
+"UnionFS-FUSE additionally supports copy-on-write."
+msgstr ""
+
+#: gnu/packages/linux.scm:1779
+msgid "User-space union file system (statically linked)"
+msgstr ""
+
+#: gnu/packages/linux.scm:1827
+msgid "Mount remote file systems over SSH"
+msgstr ""
+
+#: gnu/packages/linux.scm:1829
+msgid ""
+"This is a file system client based on the SSH File Transfer Protocol.\n"
+"Since most SSH servers already support this protocol it is very easy to set\n"
+"up: on the server side there's nothing to do; on the client side mounting the\n"
+"file system is as easy as logging into the server with an SSH client."
+msgstr ""
+
+#: gnu/packages/linux.scm:1852
+msgid "Tool for mounting archive files with FUSE"
+msgstr ""
+
+#: gnu/packages/linux.scm:1853
+msgid ""
+"archivemount is a FUSE-based file system for Unix variants,\n"
+"including Linux. Its purpose is to mount archives (i.e. tar, tar.gz, etc.) to a\n"
+"mount point where it can be read from or written to as with any other file\n"
+"system. This makes accessing the contents of the archive, which may be\n"
+"compressed, transparent to other programs, without decompressing them."
+msgstr ""
+
+#: gnu/packages/linux.scm:1883
+msgid "Tools for non-uniform memory access (NUMA) machines"
+msgstr ""
+
+#: gnu/packages/linux.scm:1885
+msgid ""
+"NUMA stands for Non-Uniform Memory Access, in other words a system whose\n"
+"memory is not all in one place. The numactl program allows you to run your\n"
+"application program on specific CPU's and memory nodes. It does this by\n"
+"supplying a NUMA memory policy to the operating system before running your\n"
+"program.\n"
+"\n"
+"The package contains other commands, such as numademo, numastat and memhog.\n"
+"The numademo command provides a quick overview of NUMA performance on your\n"
+"system."
+msgstr ""
+
+#: gnu/packages/linux.scm:1921
+msgid "Neo2 console layout"
+msgstr ""
+
+#: gnu/packages/linux.scm:1923
+msgid ""
+"Kbd-neo provides the Neo2 keyboard layout for use with\n"
+"@command{loadkeys(1)} from @code{kbd(4)}."
+msgstr ""
+
+#: gnu/packages/linux.scm:1986
+msgid "Linux keyboard utilities and keyboard maps"
+msgstr ""
+
+#: gnu/packages/linux.scm:1988
+msgid ""
+"This package contains keytable files and keyboard utilities compatible\n"
+"for systems using the Linux kernel. This includes commands such as\n"
+"'loadkeys', 'setfont', 'kbdinfo', and 'chvt'."
+msgstr ""
+
+#: gnu/packages/linux.scm:2007
+msgid "Monitor file accesses"
+msgstr ""
+
+#: gnu/packages/linux.scm:2009
+msgid ""
+"The inotify-tools packages provides a C library and command-line tools\n"
+"to use Linux' inotify mechanism, which allows file accesses to be monitored."
+msgstr ""
+
+#: gnu/packages/linux.scm:2047
+msgid "Kernel module tools"
+msgstr ""
+
+#: gnu/packages/linux.scm:2048
+msgid ""
+"Kmod is a set of tools to handle common tasks with Linux\n"
+"kernel modules like insert, remove, list, check properties, resolve\n"
+"dependencies and aliases.\n"
+"\n"
+"These tools are designed on top of libkmod, a library that is shipped with\n"
+"kmod. The aim is to be compatible with tools, configurations and indices\n"
+"from the module-init-tools project."
+msgstr ""
+
+#: gnu/packages/linux.scm:2092
+msgid "Userspace device management"
+msgstr ""
+
+#: gnu/packages/linux.scm:2093
+msgid ""
+"Udev is a daemon which dynamically creates and removes\n"
+"device nodes from /dev/, handles hotplug events and loads drivers at boot\n"
+"time."
+msgstr ""
+
+#: gnu/packages/linux.scm:2168
+msgid "Logical volume management for Linux"
+msgstr ""
+
+#: gnu/packages/linux.scm:2170
+msgid ""
+"LVM2 is the logical volume management tool set for Linux-based systems.\n"
+"This package includes the user-space libraries and tools, including the device\n"
+"mapper. Kernel components are part of Linux-libre."
+msgstr ""
+
+#: gnu/packages/linux.scm:2192
+msgid "Logical volume management for Linux (statically linked)"
+msgstr ""
+
+#: gnu/packages/linux.scm:2222
+msgid "Tools for manipulating Linux Wireless Extensions"
+msgstr ""
+
+#: gnu/packages/linux.scm:2223
+msgid ""
+"Wireless Tools are used to manipulate the now-deprecated\n"
+"Linux Wireless Extensions; consider using 'iw' instead. The Wireless\n"
+"Extension was an interface allowing you to set Wireless LAN specific\n"
+"parameters and get the specific stats. It is deprecated in favor the nl80211\n"
+"interface."
+msgstr ""
+
+#: gnu/packages/linux.scm:2295
+msgid "Central regulatory domain agent (CRDA) for WiFi"
+msgstr ""
+
+#: gnu/packages/linux.scm:2297
+msgid ""
+"The Central Regulatory Domain Agent (CRDA) acts as the udev helper for\n"
+"communication between the kernel Linux and user space for regulatory\n"
+"compliance."
+msgstr ""
+
+#: gnu/packages/linux.scm:2343
+msgid "Wireless regulatory database"
+msgstr ""
+
+#: gnu/packages/linux.scm:2345
+msgid ""
+"This package contains the wireless regulatory database Central\n"
+"Regulatory Database Agent (CRDA) daemon. The database contains information on\n"
+"country-specific regulations for the wireless spectrum."
+msgstr ""
+
+#: gnu/packages/linux.scm:2422
+msgid "Utilities to read temperature/voltage/fan sensors"
+msgstr ""
+
+#: gnu/packages/linux.scm:2424
+msgid ""
+"Lm-sensors is a hardware health monitoring package for Linux. It allows\n"
+"you to access information from temperature, voltage, and fan speed sensors.\n"
+"It works with most newer systems."
+msgstr ""
+
+#: gnu/packages/linux.scm:2451
+msgid "I2C tools for Linux"
+msgstr ""
+
+#: gnu/packages/linux.scm:2453
+msgid ""
+"The i2c-tools package contains a heterogeneous set of I2C tools for\n"
+"Linux: a bus probing tool, a chip dumper, register-level SMBus access helpers,\n"
+"EEPROM decoding scripts, EEPROM programming tools, and a python module for\n"
+"SMBus access."
+msgstr ""
+
+#: gnu/packages/linux.scm:2490
+msgid "Hardware health information viewer"
+msgstr ""
+
+#: gnu/packages/linux.scm:2492
+msgid ""
+"Xsensors reads data from the libsensors library regarding hardware\n"
+"health such as temperature, voltage and fan speed and displays the information\n"
+"in a digital read-out."
+msgstr ""
+
+#: gnu/packages/linux.scm:2542
+msgid "Linux profiling with performance counters"
+msgstr ""
+
+#: gnu/packages/linux.scm:2544
+msgid ""
+"perf is a tool suite for profiling using hardware performance counters,\n"
+"with support in the Linux kernel. perf can instrument CPU performance\n"
+"counters, tracepoints, kprobes, and uprobes (dynamic tracing). It is capable\n"
+"of lightweight profiling. This package contains the user-land tools and in\n"
+"particular the 'perf' command."
+msgstr ""
+
+#: gnu/packages/linux.scm:2567
+msgid "Simple tool for creating Linux namespace containers"
+msgstr ""
+
+#: gnu/packages/linux.scm:2568
+msgid ""
+"pflask is a simple tool for creating Linux namespace\n"
+"containers. It can be used for running a command or even booting an OS inside\n"
+"an isolated container, created with the help of Linux namespaces. It is\n"
+"similar in functionality to chroot, although pflask provides better isolation\n"
+"thanks to the use of namespaces."
+msgstr ""
+
+#: gnu/packages/linux.scm:2597
+msgid "View and tune ATA disk drive parameters"
+msgstr ""
+
+#: gnu/packages/linux.scm:2599
+msgid ""
+"@command{hdparm} is a command-line utility to control ATA controllers and\n"
+"disk drives. It can increase performance and/or reliability by careful tuning\n"
+"of hardware settings like power and acoustic management, DMA modes, and caching.\n"
+"It can also display detailed device information, or be used as a simple\n"
+"performance benchmarking tool.\n"
+"\n"
+"@command{hdparm} provides a command line interface to various Linux kernel\n"
+"interfaces provided by the SATA/ATA/SAS @code{libata} subsystem, and the older\n"
+"IDE driver subsystem. Many external USB drive enclosures with @dfn{SCSI-ATA\n"
+"Command Translation} (SAT) are also supported."
+msgstr ""
+
+#: gnu/packages/linux.scm:2630
+msgid "Tool for enabling and disabling wireless devices"
+msgstr ""
+
+#: gnu/packages/linux.scm:2632
+msgid ""
+"rfkill is a simple tool for accessing the rfkill device interface,\n"
+"which is used to enable and disable wireless networking devices, typically\n"
+"WLAN, Bluetooth and mobile broadband."
+msgstr ""
+
+#: gnu/packages/linux.scm:2651
+msgid "Display information on ACPI devices"
+msgstr ""
+
+#: gnu/packages/linux.scm:2652
+msgid ""
+"@code{acpi} attempts to replicate the functionality of the\n"
+"\"old\" @code{apm} command on ACPI systems, including battery and thermal\n"
+"information. It does not support ACPI suspending, only displays information\n"
+"about ACPI devices."
+msgstr ""
+
+#: gnu/packages/linux.scm:2671
+msgid "Daemon for delivering ACPI events to user-space programs"
+msgstr ""
+
+#: gnu/packages/linux.scm:2673
+msgid ""
+"acpid is designed to notify user-space programs of Advanced\n"
+"Configuration and Power Interface (ACPI) events. acpid should be started\n"
+"during the system boot, and will run as a background process. When an ACPI\n"
+"event is received from the kernel, acpid will examine the list of rules\n"
+"specified in /etc/acpi/events and execute the rules that match the event."
+msgstr ""
+
+#: gnu/packages/linux.scm:2695
+msgid "System utilities based on Linux sysfs"
+msgstr ""
+
+#: gnu/packages/linux.scm:2697
+msgid ""
+"These are a set of utilities built upon sysfs, a virtual file system in\n"
+"Linux kernel versions 2.5+ that exposes a system's device tree. The package\n"
+"also contains the libsysfs library."
+msgstr ""
+
+#: gnu/packages/linux.scm:2726
+msgid "System utilities based on Linux sysfs (version 1.x)"
+msgstr ""
+
+#: gnu/packages/linux.scm:2749
+msgid "Utilities to get and set CPU frequency on Linux"
+msgstr ""
+
+#: gnu/packages/linux.scm:2751
+msgid ""
+"The cpufrequtils suite contains utilities to retrieve CPU frequency\n"
+"information, and set the CPU frequency if supported, using the cpufreq\n"
+"capabilities of the Linux kernel."
+msgstr ""
+
+#: gnu/packages/linux.scm:2770
+msgid "Interface library for the Linux IEEE1394 drivers"
+msgstr ""
+
+#: gnu/packages/linux.scm:2772
+msgid ""
+"Libraw1394 is the only supported interface to the kernel side raw1394 of\n"
+"the Linux IEEE-1394 subsystem, which provides direct access to the connected\n"
+"1394 buses to user space. Through libraw1394/raw1394, applications can directly\n"
+"send to and receive from other nodes without requiring a kernel driver for the\n"
+"protocol in question."
+msgstr ""
+
+#: gnu/packages/linux.scm:2796
+msgid "AV/C protocol library for IEEE 1394"
+msgstr ""
+
+#: gnu/packages/linux.scm:2798
+msgid ""
+"Libavc1394 is a programming interface to the AV/C specification from\n"
+"the 1394 Trade Association. AV/C stands for Audio/Video Control."
+msgstr ""
+
+#: gnu/packages/linux.scm:2820
+msgid "Isochronous streaming media library for IEEE 1394"
+msgstr ""
+
+#: gnu/packages/linux.scm:2822
+msgid ""
+"The libiec61883 library provides a higher level API for streaming DV,\n"
+"MPEG-2 and audio over Linux IEEE 1394."
+msgstr ""
+
+#: gnu/packages/linux.scm:2871
+msgid "Tool for managing Linux Software RAID arrays"
+msgstr ""
+
+#: gnu/packages/linux.scm:2873
+msgid ""
+"mdadm is a tool for managing Linux Software RAID arrays. It can create,\n"
+"assemble, report on, and monitor arrays. It can also move spares between raid\n"
+"arrays when needed."
+msgstr ""
+
+#: gnu/packages/linux.scm:2905
+msgid "Statically-linked 'mdadm' command for use in an initrd"
+msgstr ""
+
+#: gnu/packages/linux.scm:2970
+msgid "Access block devices through multiple paths"
+msgstr ""
+
+#: gnu/packages/linux.scm:2972
+msgid ""
+"This package provides the following binaries to drive the\n"
+"Linux Device Mapper multipathing driver:\n"
+"@enumerate\n"
+"@item @command{multipath} - Device mapper target autoconfig.\n"
+"@item @command{multipathd} - Multipath daemon.\n"
+"@item @command{mpathpersist} - Manages SCSI persistent reservations on\n"
+"@code{dm} multipath devices.\n"
+"@item @command{kpartx} - Create device maps from partition tables.\n"
+"@end enumerate"
+msgstr ""
+
+#: gnu/packages/linux.scm:3004
+msgid "Linux-native asynchronous I/O access library"
+msgstr ""
+
+#: gnu/packages/linux.scm:3006
+msgid ""
+"This library enables userspace to use Linux kernel asynchronous I/O\n"
+"system calls, important for the performance of databases and other advanced\n"
+"applications."
+msgstr ""
+
+#: gnu/packages/linux.scm:3028
+msgid "Bluetooth subband audio codec"
+msgstr ""
+
+#: gnu/packages/linux.scm:3030
+msgid ""
+"The SBC is a digital audio encoder and decoder used to transfer data to\n"
+"Bluetooth audio output devices like headphones or loudspeakers."
+msgstr ""
+
+#: gnu/packages/linux.scm:3098
+msgid "Linux Bluetooth protocol stack"
+msgstr ""
+
+#: gnu/packages/linux.scm:3100
+msgid ""
+"BlueZ provides support for the core Bluetooth layers and protocols. It\n"
+"is flexible, efficient and uses a modular implementation."
+msgstr ""
+
+#: gnu/packages/linux.scm:3122
+msgid "Mount exFAT file systems"
+msgstr ""
+
+#: gnu/packages/linux.scm:3124
+msgid ""
+"This package provides a FUSE-based file system that provides read and\n"
+"write access to exFAT devices."
+msgstr ""
+
+#: gnu/packages/linux.scm:3166
+msgid "Mouse support for the Linux console"
+msgstr ""
+
+#: gnu/packages/linux.scm:3168
+msgid ""
+"The GPM (general-purpose mouse) daemon is a mouse server for\n"
+"applications running on the Linux console. It allows users to select items\n"
+"and copy/paste text in the console and in xterm."
+msgstr ""
+
+#: gnu/packages/linux.scm:3225
+msgid "Create and manage btrfs copy-on-write file systems"
+msgstr ""
+
+#: gnu/packages/linux.scm:3226
+msgid ""
+"Btrfs is a @dfn{copy-on-write} (CoW) file system for Linux\n"
+"aimed at implementing advanced features while focusing on fault tolerance,\n"
+"repair and easy administration."
+msgstr ""
+
+#: gnu/packages/linux.scm:3258
+msgid "Statically-linked btrfs command from btrfs-progs"
+msgstr ""
+
+#: gnu/packages/linux.scm:3259
+msgid ""
+"This package provides the statically-linked @command{btrfs}\n"
+"from the btrfs-progs package. It is meant to be used in initrds."
+msgstr ""
+
+#: gnu/packages/linux.scm:3290
+msgid "Userland tools for f2fs"
+msgstr ""
+
+#: gnu/packages/linux.scm:3292
+msgid ""
+"F2FS, the Flash-Friendly File System, is a modern file system\n"
+"designed to be fast and durable on flash devices such as solid-state\n"
+"disks and SD cards. This package provides the userland utilities."
+msgstr ""
+
+#: gnu/packages/linux.scm:3321
+msgid "Free-fall protection for spinning laptop hard drives"
+msgstr ""
+
+#: gnu/packages/linux.scm:3323
+msgid ""
+"Prevents shock damage to the internal spinning hard drive(s) of some\n"
+"HP and Dell laptops. When sudden movement is detected, all input/output\n"
+"operations on the drive are suspended and its heads are parked on the ramp,\n"
+"where they are less likely to cause damage to the spinning disc. Requires a\n"
+"drive that supports the ATA/ATAPI-7 IDLE IMMEDIATE command with unload\n"
+"feature, and a laptop with an accelerometer. It has no effect on SSDs."
+msgstr ""
+
+#: gnu/packages/linux.scm:3377
+msgid "Simple fan control program"
+msgstr ""
+
+#: gnu/packages/linux.scm:3379
+msgid ""
+"Thinkfan is a simple fan control program. It reads temperatures,\n"
+"checks them against configured limits and switches to appropriate (also\n"
+"pre-configured) fan level. It requires a working @code{thinkpad_acpi} or any\n"
+"other @code{hwmon} driver that enables temperature reading and fan control\n"
+"from userspace."
+msgstr ""
+
+#: gnu/packages/linux.scm:3414
+msgid "Read-write access to NTFS file systems"
+msgstr ""
+
+#: gnu/packages/linux.scm:3416
+msgid ""
+"NTFS-3G provides read-write access to NTFS file systems, which are\n"
+"commonly found on Microsoft Windows. It is implemented as a FUSE file system.\n"
+"The package provides additional NTFS tools."
+msgstr ""
+
+#: gnu/packages/linux.scm:3461
+msgid "Utilities and libraries for working with RDMA devices"
+msgstr ""
+
+#: gnu/packages/linux.scm:3463
+msgid ""
+"This package provides userspace components for the InfiniBand\n"
+"subsystem of the Linux kernel. Specifically it contains userspace\n"
+"libraries for the following device nodes:\n"
+"\n"
+"@enumerate\n"
+"@item @file{/dev/infiniband/uverbsX} (@code{libibverbs})\n"
+"@item @file{/dev/infiniband/rdma_cm} (@code{librdmacm})\n"
+"@item @file{/dev/infiniband/umadX} (@code{libibumad})\n"
+"@end enumerate\n"
+"\n"
+"The following service daemons are also provided:\n"
+"@enumerate\n"
+"@item @code{srp_daemon} (for the @code{ib_srp} kernel module)\n"
+"@item @code{iwpmd} (for iWARP kernel providers)\n"
+"@item @code{ibacm} (for InfiniBand communication management assistant)\n"
+"@end enumerate"
+msgstr ""
+
+#: gnu/packages/linux.scm:3502
+msgid "Random number generator daemon"
+msgstr ""
+
+#: gnu/packages/linux.scm:3504
+msgid ""
+"Monitor a hardware random number generator, and supply entropy\n"
+"from that to the system kernel's @file{/dev/random} machinery."
+msgstr ""
+
+#: gnu/packages/linux.scm:3542
+msgid "CPU frequency and voltage scaling tools for Linux"
+msgstr ""
+
+#: gnu/packages/linux.scm:3544
+msgid ""
+"cpupower is a set of user-space tools that use the cpufreq feature of the\n"
+"Linux kernel to retrieve and control processor features related to power saving,\n"
+"such as frequency and voltage scaling."
+msgstr ""
+
+#: gnu/packages/linux.scm:3563
+msgid "Entropy source for the Linux random number generator"
+msgstr ""
+
+#: gnu/packages/linux.scm:3565
+msgid ""
+"haveged generates an unpredictable stream of random numbers for use by\n"
+"Linux's @file{/dev/random} and @file{/dev/urandom} devices. The kernel's\n"
+"standard mechanisms for filling the entropy pool may not be sufficient for\n"
+"systems with high needs or limited user interaction, such as headless servers.\n"
+"@command{haveged} runs as a privileged daemon, harvesting randomness from the\n"
+"indirect effects of hardware events on hidden processor state using the HArdware\n"
+"Volatile Entropy Gathering and Expansion (HAVEGE) algorithm. It tunes itself to\n"
+"its environment and provides the same built-in test suite for the output stream\n"
+"as used on certified hardware security devices."
+msgstr ""
+
+#: gnu/packages/linux.scm:3604
+msgid "eCryptfs cryptographic file system utilities"
+msgstr ""
+
+#: gnu/packages/linux.scm:3606
+msgid ""
+"eCryptfs is a POSIX-compliant stacked cryptographic file system for Linux.\n"
+"Each file's cryptographic meta-data is stored inside the file itself, along\n"
+"with the encrypted contents. This allows individual encrypted files to be\n"
+"copied between hosts and still be decrypted with the proper key. eCryptfs is a\n"
+"native Linux file system, and has been part of the Linux kernel since version\n"
+"2.6.19. This package contains the userland utilities to manage it."
+msgstr ""
+
+#: gnu/packages/linux.scm:3637
+msgid "NFSv4 support library for name/ID mapping"
+msgstr ""
+
+#: gnu/packages/linux.scm:3638
+msgid ""
+"Libnfsidmap is a library holding mulitiple methods of\n"
+"mapping names to ids and visa versa, mainly for NFSv4. It provides an\n"
+"extensible array of mapping functions, currently consisting of two choices:\n"
+"the default @code{nsswitch} and the experimental @code{umich_ldap}."
+msgstr ""
+
+#: gnu/packages/linux.scm:3672
+msgid "Tools for loading and managing Linux kernel modules"
+msgstr ""
+
+#: gnu/packages/linux.scm:3674
+msgid ""
+"Tools for loading and managing Linux kernel modules, such as `modprobe',\n"
+"`insmod', `lsmod', and more."
+msgstr ""
+
+#: gnu/packages/linux.scm:3708
+msgid "Machine check monitor for x86 Linux systems"
+msgstr ""
+
+#: gnu/packages/linux.scm:3710
+msgid ""
+"The mcelog daemon is required by the Linux kernel to log memory, I/O, CPU,\n"
+"and other hardware errors on x86 systems. It can also perform user-defined\n"
+"tasks, such as bringing bad pages off-line, when configurable error thresholds\n"
+"are exceeded."
+msgstr ""
+
+#: gnu/packages/linux.scm:3739
+msgid "MTD Flash Storage Utilities"
+msgstr ""
+
+#: gnu/packages/linux.scm:3740
+msgid ""
+"This package provides utilities for testing, partitioning, etc\n"
+"of flash storage."
+msgstr ""
+
+#: gnu/packages/linux.scm:3763
+msgid "Interface to Linux's seccomp syscall filtering mechanism"
+msgstr ""
+
+#: gnu/packages/linux.scm:3764
+msgid ""
+"The libseccomp library provides an easy to use, platform\n"
+"independent, interface to the Linux Kernel's syscall filtering mechanism. The\n"
+"libseccomp API is designed to abstract away the underlying BPF based syscall\n"
+"filter language and present a more conventional function-call based filtering\n"
+"interface that should be familiar to, and easily adopted by, application\n"
+"developers."
+msgstr ""
+
+#: gnu/packages/linux.scm:3806
+msgid "Usage monitor for AMD Radeon graphics"
+msgstr ""
+
+#: gnu/packages/linux.scm:3807
+msgid ""
+"RadeonTop monitors resource consumption on supported AMD\n"
+"Radeon Graphics Processing Units (GPUs), either in real time as bar graphs on\n"
+"a terminal or saved to a file for further processing. It measures both the\n"
+"activity of the GPU as a whole, which is also accurate during OpenCL\n"
+"computations, as well as separate component statistics that are only meaningful\n"
+"under OpenGL graphics workloads."
+msgstr ""
+
+#: gnu/packages/linux.scm:3842
+msgid "Tool and library to manipulate EFI variables"
+msgstr ""
+
+#: gnu/packages/linux.scm:3843
+msgid ""
+"This package provides a library and a command line\n"
+"interface to the variable facility of UEFI boot firmware."
+msgstr ""
+
+#: gnu/packages/linux.scm:3884
+msgid "Modify the Extensible Firmware Interface (EFI) boot manager"
+msgstr ""
+
+#: gnu/packages/linux.scm:3886
+msgid ""
+"@code{efibootmgr} is a user-space application to modify the Intel\n"
+"Extensible Firmware Interface (EFI) Boot Manager. This application can\n"
+"create and destroy boot entries, change the boot order, change the next\n"
+"running boot option, and more."
+msgstr ""
+
+#: gnu/packages/linux.scm:3922
+msgid "Performance monitoring tools for Linux"
+msgstr ""
+
+#: gnu/packages/linux.scm:3923
+msgid ""
+"The sysstat utilities are a collection of performance\n"
+"monitoring tools for Linux. These include @code{mpstat}, @code{iostat},\n"
+"@code{tapestat}, @code{cifsiostat}, @code{pidstat}, @code{sar}, @code{sadc},\n"
+"@code{sadf} and @code{sa}."
+msgstr ""
+
+#: gnu/packages/linux.scm:3955
+msgid "GNU/Linux application to control backlights"
+msgstr ""
+
+#: gnu/packages/linux.scm:3957
+msgid ""
+"Light is a program to send commands to screen backlight controllers\n"
+"under GNU/Linux. Features include:\n"
+"\n"
+"@itemize\n"
+"@item It does not rely on X.\n"
+"@item Light can automatically figure out the best controller to use, making\n"
+"full use of underlying hardware.\n"
+"@item It is possible to set a minimum brightness value, as some controllers\n"
+"set the screen to be pitch black at a vaĺue of 0 (or higher).\n"
+"@end itemize\n"
+"\n"
+"Light is the successor of lightscript."
+msgstr ""
+
+#: gnu/packages/linux.scm:4059
+msgid "Power management tool for Linux"
+msgstr ""
+
+#: gnu/packages/linux.scm:4060
+msgid ""
+"TLP is a power management tool for Linux. It comes with\n"
+"a default configuration already optimized for battery life. Nevertheless,\n"
+"TLP is customizable to fulfil system requirements. TLP settings are applied\n"
+"every time the power supply source is changed."
+msgstr ""
+
+#: gnu/packages/linux.scm:4087
+msgid "List hardware information"
+msgstr ""
+
+#: gnu/packages/linux.scm:4089
+msgid ""
+"@command{lshw} (Hardware Lister) is a small tool to provide\n"
+"detailed information on the hardware configuration of the machine.\n"
+"It can report exact memory configuration, firmware version, mainboard\n"
+"configuration, CPU version and speed, cache configuration, bus speed,\n"
+"and more on DMI-capable x86 or EFI (IA-64) systems and on some PowerPC\n"
+"machines (PowerMac G4 is known to work)."
+msgstr ""
+
+#: gnu/packages/linux.scm:4112
+msgid "Netlink utility library"
+msgstr ""
+
+#: gnu/packages/linux.scm:4113
+msgid ""
+"Libmnl is a minimalistic user-space library oriented to\n"
+"Netlink developers. There are a lot of common tasks in parsing, validating,\n"
+"constructing of both the Netlink header and TLVs that are repetitive and easy to\n"
+"get wrong. This library aims to provide simple helpers that allows you to\n"
+"re-use code and to avoid re-inventing the wheel."
+msgstr ""
+
+#: gnu/packages/linux.scm:4138
+msgid "Netlink programming interface to the Linux nf_tables subsystem"
+msgstr ""
+
+#: gnu/packages/linux.scm:4139
+msgid ""
+"Libnftnl is a userspace library providing a low-level netlink\n"
+"programming interface to the in-kernel nf_tables subsystem. The library\n"
+"libnftnl has been previously known as libnftables. This library is currently\n"
+"used by nftables."
+msgstr ""
+
+#: gnu/packages/linux.scm:4166
+msgid "Userspace utility for Linux packet filtering"
+msgstr ""
+
+#: gnu/packages/linux.scm:4167
+msgid ""
+"nftables is the project that aims to replace the existing\n"
+"{ip,ip6,arp,eb}tables framework. Basically, this project provides a new packet\n"
+"filtering framework, a new userspace utility and also a compatibility layer for\n"
+"{ip,ip6}tables. nftables is built upon the building blocks of the Netfilter\n"
+"infrastructure such as the existing hooks, the connection tracking system, the\n"
+"userspace queueing component and the logging subsystem."
+msgstr ""
+
+#: gnu/packages/linux.scm:4265
+msgid "Unprivileged chroot, bind mount, and binfmt_misc"
+msgstr ""
+
+#: gnu/packages/linux.scm:4267
+msgid ""
+"PRoot is a user-space implementation of @code{chroot}, @code{mount --bind},\n"
+"and @code{binfmt_misc}. This means that users don't need any privileges or\n"
+"setup to do things like using an arbitrary directory as the new root\n"
+"filesystem, making files accessible somewhere else in the file system\n"
+"hierarchy, or executing programs built for another CPU architecture\n"
+"transparently through QEMU user-mode. Also, developers can use PRoot as a\n"
+"generic process instrumentation engine thanks to its extension mechanism.\n"
+"Technically PRoot relies on @code{ptrace}, an unprivileged system-call\n"
+"available in the kernel Linux."
+msgstr ""
+
+#: gnu/packages/linux.scm:4283
+msgid "Unprivileged chroot, bind mount, and binfmt_misc (statically linked)"
+msgstr ""
+
+#: gnu/packages/linux.scm:4329
+msgid "Linux tool to dump x86 CPUID information about the CPU(s)"
+msgstr ""
+
+#: gnu/packages/linux.scm:4330
+msgid ""
+"cpuid dumps detailed information about the CPU(s) gathered\n"
+"from the CPUID instruction, and also determines the exact model of CPU(s). It\n"
+"supports Intel, AMD, and VIA CPUs, as well as older Transmeta, Cyrix, UMC,\n"
+"NexGen, Rise, and SiS CPUs."
+msgstr ""
+
+#: gnu/packages/linux.scm:4357
+msgid "Use a FUSE filesystem to access data over MTP"
+msgstr ""
+
+#: gnu/packages/linux.scm:4358
+msgid ""
+"jmtpfs uses FUSE (filesystem in userspace) to provide access\n"
+"to data over the Media Transfer Protocol (MTP). Unprivileged users can mount\n"
+"the MTP device as a filesystem."
+msgstr ""
+
+#: gnu/packages/linux.scm:4380
+msgid "Utility to show process environment"
+msgstr ""
+
+#: gnu/packages/linux.scm:4381
+msgid ""
+"Procenv is a command-line tool that displays as much detail about\n"
+"itself and its environment as possible. It can be used as a test\n"
+"tool, to understand the type of environment a process runs in, and for\n"
+"comparing system environments."
+msgstr ""
+
+#: gnu/packages/linux.scm:4408
+msgid "Open Fabric Interfaces"
+msgstr ""
+
+#: gnu/packages/linux.scm:4410
+msgid ""
+"OpenFabrics Interfaces (OFI) is a framework focused on exporting fabric\n"
+"communication services to applications. OFI is best described as a collection\n"
+"of libraries and applications used to export fabric services. The key\n"
+"components of OFI are: application interfaces, provider libraries, kernel\n"
+"services, daemons, and test applications.\n"
+"\n"
+"Libfabric is a core component of OFI. It is the library that defines and\n"
+"exports the user-space API of OFI, and is typically the only software that\n"
+"applications deal with directly. It works in conjunction with provider\n"
+"libraries, which are often integrated directly into libfabric."
+msgstr ""
+
+#: gnu/packages/linux.scm:4456
+msgid "Intel Performance Scaled Messaging (PSM) Libraries"
+msgstr ""
+
+#: gnu/packages/linux.scm:4458
+msgid ""
+"The PSM Messaging API, or PSM API, is Intel's low-level user-level\n"
+"communications interface for the True Scale family of products. PSM users are\n"
+"enabled with mechanisms necessary to implement higher level communications\n"
+"interfaces in parallel environments."
+msgstr ""
+
+#: gnu/packages/lout.scm:109
+msgid "Document layout system"
+msgstr ""
+
+#: gnu/packages/lout.scm:111
+msgid ""
+"The Lout document formatting system reads a high-level description of\n"
+"a document similar in style to LaTeX and produces a PostScript or plain text\n"
+"output file.\n"
+"\n"
+"Lout offers an unprecedented range of advanced features, including optimal\n"
+"paragraph and page breaking, automatic hyphenation, PostScript EPS file\n"
+"inclusion and generation, equation formatting, tables, diagrams, rotation and\n"
+"scaling, sorted indexes, bibliographic databases, running headers and\n"
+"odd-even pages, automatic cross referencing, multilingual documents including\n"
+"hyphenation (most European languages are supported), formatting of computer\n"
+"programs, and much more, all ready to use. Furthermore, Lout is easily\n"
+"extended with definitions which are very much easier to write than troff of\n"
+"TeX macros because Lout is a high-level, purely functional language, the\n"
+"outcome of an eight-year research project that went back to the\n"
+"beginning."
+msgstr ""
+
+#: gnu/packages/messaging.scm:115
+msgid "Off-the-Record (OTR) Messaging Library and Toolkit"
+msgstr ""
+
+#: gnu/packages/messaging.scm:117
+msgid ""
+"OTR allows you to have private conversations over instant messaging by\n"
+"providing: (1) Encryption: No one else can read your instant messages. (2)\n"
+"Authentication: You are assured the correspondent is who you think it is. (3)\n"
+"Deniability: The messages you send do not have digital signatures that are\n"
+"checkable by a third party. Anyone can forge messages after a conversation to\n"
+"make them look like they came from you. However, during a conversation, your\n"
+"correspondent is assured the messages he sees are authentic and\n"
+"unmodified. (4) Perfect forward secrecy: If you lose control of your private\n"
+"keys, no previous conversation is compromised."
+msgstr ""
+
+#: gnu/packages/messaging.scm:151
+msgid "Implementation of a ratcheting forward secrecy protocol"
+msgstr ""
+
+#: gnu/packages/messaging.scm:152
+msgid ""
+"libsignal-protocol-c is an implementation of a ratcheting\n"
+"forward secrecy protocol that works in synchronous and asynchronous\n"
+"messaging environments. It can be used with messaging software to provide\n"
+"end-to-end encryption."
+msgstr ""
+
+#: gnu/packages/messaging.scm:190
+msgid "IRC to instant messaging gateway"
+msgstr ""
+
+#: gnu/packages/messaging.scm:191
+msgid ""
+"BitlBee brings IM (instant messaging) to IRC clients, for\n"
+"people who have an IRC client running all the time and don't want to run an\n"
+"additional IM client. BitlBee currently supports XMPP/Jabber (including\n"
+"Google Talk), MSN Messenger, Yahoo! Messenger, AIM and ICQ, and the Twitter\n"
+"microblogging network (plus all other Twitter API compatible services like\n"
+"identi.ca and status.net)."
+msgstr ""
+
+#: gnu/packages/messaging.scm:252
+msgid "Graphical IRC Client"
+msgstr ""
+
+#: gnu/packages/messaging.scm:254
+msgid ""
+"HexChat lets you connect to multiple IRC networks at once. The main\n"
+"window shows the list of currently connected networks and their channels, the\n"
+"current conversation and the list of users. It uses colors to differentiate\n"
+"between users and to highlight messages. It checks spelling using available\n"
+"dictionaries. HexChat can be extended with multiple addons."
+msgstr ""
+
+#: gnu/packages/messaging.scm:319
+msgid "Lightweight Internet Relay Chat server for small networks"
+msgstr ""
+
+#: gnu/packages/messaging.scm:321
+msgid ""
+"ngIRCd is a lightweight @dfn{Internet Relay Chat} (IRC) server for small\n"
+"or private networks. It is easy to configure, can cope with dynamic IP\n"
+"addresses, and supports IPv6, SSL-protected connections, as well as PAM for\n"
+"authentication."
+msgstr ""
+
+#: gnu/packages/messaging.scm:393
+msgid "Graphical multi-protocol instant messaging client"
+msgstr ""
+
+#: gnu/packages/messaging.scm:395
+msgid ""
+"Pidgin is a modular instant messaging client that supports many popular\n"
+"chat protocols."
+msgstr ""
+
+#: gnu/packages/messaging.scm:433
+msgid "Off-the-Record Messaging plugin for Pidgin"
+msgstr ""
+
+#: gnu/packages/messaging.scm:435
+msgid ""
+"Pidgin-OTR is a plugin that adds support for OTR to the Pidgin instant\n"
+"messaging client. OTR (Off-the-Record) Messaging allows you to have private\n"
+"conversations over instant messaging by providing: (1) Encryption: No one else\n"
+"can read your instant messages. (2) Authentication: You are assured the\n"
+"correspondent is who you think it is. (3) Deniability: The messages you send\n"
+"do not have digital signatures that are checkable by a third party. Anyone\n"
+"can forge messages after a conversation to make them look like they came from\n"
+"you. However, during a conversation, your correspondent is assured the\n"
+"messages he sees are authentic and unmodified. (4) Perfect forward secrecy:\n"
+"If you lose control of your private keys, no previous conversation is\n"
+"compromised."
+msgstr ""
+
+#: gnu/packages/messaging.scm:486
+msgid "IRC network bouncer"
+msgstr ""
+
+#: gnu/packages/messaging.scm:487
+msgid ""
+"ZNC is an IRC network bouncer or BNC. It can detach the\n"
+"client from the actual IRC server, and also from selected channels. Multiple\n"
+"clients from different locations can connect to a single ZNC account\n"
+"simultaneously and therefore appear under the same nickname on IRC."
+msgstr ""
+
+#: gnu/packages/messaging.scm:508
+msgid "Non-blocking Jabber/XMPP module"
+msgstr ""
+
+#: gnu/packages/messaging.scm:510
+msgid ""
+"The goal of this python library is to provide a way for Python\n"
+"applications to use Jabber/XMPP networks in a non-blocking way. This library\n"
+"was initially a fork of xmpppy, but uses non-blocking sockets."
+msgstr ""
+
+#: gnu/packages/messaging.scm:560
+msgid "Jabber (XMPP) client"
+msgstr ""
+
+#: gnu/packages/messaging.scm:561
+msgid ""
+"Gajim is a feature-rich and easy to use Jabber/XMPP client.\n"
+"Among its features are: a tabbed chat window and single window modes; support\n"
+"for group chat (with Multi-User Chat protocol), invitation, chat to group chat\n"
+"transformation; audio and video conferences; file transfer; TLS, GPG and\n"
+"end-to-end encryption support; XML console."
+msgstr ""
+
+#: gnu/packages/messaging.scm:630
+msgid "Graphical Jabber (XMPP) client"
+msgstr ""
+
+#: gnu/packages/messaging.scm:631
+msgid ""
+"Dino is a Jabber (XMPP) client which aims to fit well into\n"
+"a graphical desktop environment like GNOME."
+msgstr ""
+
+#: gnu/packages/messaging.scm:720
+msgid "Jabber (XMPP) server"
+msgstr ""
+
+#: gnu/packages/messaging.scm:721
+msgid ""
+"Prosody is a modern XMPP communication server. It aims to\n"
+"be easy to set up and configure, and efficient with system resources.\n"
+"Additionally, for developers it aims to be easy to extend and give a flexible\n"
+"system on which to rapidly develop added functionality, or prototype new\n"
+"protocols."
+msgstr ""
+
+#: gnu/packages/messaging.scm:763 gnu/packages/messaging.scm:793
+msgid "Library for the Tox encrypted messenger protocol"
+msgstr ""
+
+#: gnu/packages/messaging.scm:765
+msgid "C library implementation of the Tox encrypted messenger protocol."
+msgstr ""
+
+#: gnu/packages/messaging.scm:795
+msgid ""
+"Official fork of the C library implementation of the Tox encrypted\n"
+"messenger protocol."
+msgstr ""
+
+#: gnu/packages/messaging.scm:847
+msgid "Lightweight Tox client"
+msgstr ""
+
+#: gnu/packages/messaging.scm:849
+msgid ""
+"Utox is a lightweight Tox client. Tox is a distributed and secure\n"
+"instant messenger with audio and video chat capabilities."
+msgstr ""
+
+#: gnu/packages/messaging.scm:898
+msgid "Tox chat client using Qt"
+msgstr ""
+
+#: gnu/packages/messaging.scm:899
+msgid ""
+"qTox is a Tox client that follows the Tox design\n"
+"guidelines. It provides an easy to use application that allows you to\n"
+"connect with friends and family without anyone else listening in."
+msgstr ""
+
+#: gnu/packages/messaging.scm:991
+msgid ""
+"Distributed and trustless peer-to-peer communications protocol\n"
+"for sending encrypted messages to one person or many subscribers."
+msgstr ""
+
+#: gnu/packages/messaging.scm:993
+msgid "Distributed peer-to-peer communication"
+msgstr ""
+
+#: gnu/packages/messaging.scm:1012
+msgid "Multi-user chat program"
+msgstr ""
+
+#: gnu/packages/messaging.scm:1013
+msgid ""
+"Ytalk is a replacement for the BSD talk program. Its main\n"
+"advantage is the ability to communicate with any arbitrary number of users at\n"
+"once. It supports both talk protocols (\"talk\" and \"ntalk\") and can communicate\n"
+"with several different talk daemons at the same time."
+msgstr ""
+
+#: gnu/packages/messaging.scm:1038
+msgid "Portable high-level Jabber/XMPP library for C++"
+msgstr ""
+
+#: gnu/packages/messaging.scm:1040
+msgid ""
+"gloox is a full-featured Jabber/XMPP client library,\n"
+"written in ANSI C++. It makes writing spec-compliant clients easy\n"
+"and allows for hassle-free integration of Jabber/XMPP functionality\n"
+"into existing applications."
+msgstr ""
+
+#: gnu/packages/messaging.scm:1113
+msgid ""
+"@code{Net::PSYC} with support for TCP, UDP, Event.pm, @code{IO::Select} and\n"
+"Gtk2 event loops. This package includes 12 applications and additional scripts:\n"
+"psycion (a @uref{http://about.psyc.eu,PSYC} chat client), remotor (a control console\n"
+"for @uref{https://torproject.org,tor} router) and many more."
+msgstr ""
+
+#: gnu/packages/messaging.scm:1117
+msgid "Perl implementation of PSYC protocol"
+msgstr ""
+
+#: gnu/packages/messaging.scm:1156
+msgid ""
+"@code{libpsyc} is a PSYC library in C which implements\n"
+"core aspects of PSYC, useful for all kinds of clients and servers\n"
+"including psyced."
+msgstr ""
+
+#: gnu/packages/messaging.scm:1159
+msgid "PSYC library in C"
+msgstr ""
+
+#: gnu/packages/messaging.scm:1226
+msgid "psycLPC is a multi-user network server programming language"
+msgstr ""
+
+#: gnu/packages/messaging.scm:1228
+msgid ""
+"LPC is a bytecode language, invented to specifically implement\n"
+"multi user virtual environments on the internet. This technology is used for\n"
+"MUDs and also the psyced implementation of the Protocol for SYnchronous\n"
+"Conferencing (PSYC). psycLPC is a fork of LDMud with some new features and\n"
+"many bug fixes."
+msgstr ""
+
+#: gnu/packages/messaging.scm:1259
+msgid ""
+"Loudmouth is a lightweight and easy-to-use C library for programming\n"
+"with the XMPP (formerly known as Jabber) protocol. It is designed to be\n"
+"easy to get started with and yet extensible to let you do anything the XMPP\n"
+"protocol allows."
+msgstr ""
+
+#: gnu/packages/messaging.scm:1263
+msgid "Asynchronous XMPP library"
+msgstr ""
+
+#: gnu/packages/messaging.scm:1295
+msgid ""
+"Mcabber is a small XMPP (Jabber) console client, which includes features\n"
+"such as SASL and TLS support, @dfn{Multi-User Chat} (MUC) support, logging,\n"
+"command-completion, OpenPGP encryption, @dfn{Off-the-Record Messaging} (OTR)\n"
+"support, and more."
+msgstr ""
+
+#: gnu/packages/messaging.scm:1299
+msgid "Small XMPP console client"
+msgstr ""
+
+#: gnu/packages/messaging.scm:1345
+msgid "Extensible console-based Jabber client"
+msgstr ""
+
+#: gnu/packages/messaging.scm:1347
+msgid ""
+"GNU Freetalk is a command-line Jabber/XMPP chat client. It notably uses\n"
+"the Readline library to handle input, so it features convenient navigation of\n"
+"text as well as tab-completion of buddy names, commands and English words. It\n"
+"is also scriptable and extensible via Guile."
+msgstr ""
+
+#: gnu/packages/messaging.scm:1381 gnu/packages/messaging.scm:1416
+msgid "C library for writing XMPP clients"
+msgstr ""
+
+#: gnu/packages/messaging.scm:1382
+msgid ""
+"Libmesode is a fork of libstrophe for use with Profanity\n"
+"XMPP Client. In particular, libmesode provides extra TLS functionality such as\n"
+"manual SSL certificate verification."
+msgstr ""
+
+#: gnu/packages/messaging.scm:1417
+msgid ""
+"Libstrophe is a minimal XMPP library written in C. It has\n"
+"almost no external dependencies, only an XML parsing library (expat or libxml\n"
+"are both supported)."
+msgstr ""
+
+#: gnu/packages/messaging.scm:1453
+msgid "Console-based XMPP client"
+msgstr ""
+
+#: gnu/packages/messaging.scm:1454
+msgid ""
+"Profanity is a console based XMPP client written in C\n"
+"using ncurses and libmesode, inspired by Irssi."
+msgstr ""
+
+#: gnu/packages/messaging.scm:1484
+msgid "Library implementing the client IRC protocol"
+msgstr ""
+
+#: gnu/packages/messaging.scm:1485
+msgid ""
+"Libircclient is a library which implements the client IRC\n"
+"protocol. It is designed to be small, fast, portable and compatible with the\n"
+"RFC standards as well as non-standard but popular features. It can be used for\n"
+"building the IRC clients and bots."
+msgstr ""
+
+#: gnu/packages/messaging.scm:1535
+msgid "Tox chat client using ncurses"
+msgstr ""
+
+#: gnu/packages/messaging.scm:1536
+msgid ""
+"Toxic is a console-based instant messaging client, using\n"
+"c-toxcore and ncurses. It provides audio calls, sound and desktop\n"
+"notifications, and Python scripting support."
+msgstr ""
+
+#: gnu/packages/mpd.scm:70
+msgid "Music Player Daemon client library"
+msgstr ""
+
+#: gnu/packages/mpd.scm:71
+msgid ""
+"A stable, documented, asynchronous API library for\n"
+"interfacing MPD in the C, C++ & Objective C languages."
+msgstr ""
+
+#: gnu/packages/mpd.scm:142
+msgid "Music Player Daemon"
+msgstr ""
+
+#: gnu/packages/mpd.scm:143
+msgid ""
+"Music Player Daemon (MPD) is a flexible, powerful,\n"
+"server-side application for playing music. Through plugins and libraries it\n"
+"can play a variety of sound files while being controlled by its network\n"
+"protocol."
+msgstr ""
+
+#: gnu/packages/mpd.scm:166
+msgid "Music Player Daemon client"
+msgstr ""
+
+#: gnu/packages/mpd.scm:167
+msgid ""
+"MPC is a minimalist command line interface to MPD, the music\n"
+"player daemon."
+msgstr ""
+
+#: gnu/packages/mpd.scm:190
+msgid "Curses Music Player Daemon client"
+msgstr ""
+
+#: gnu/packages/mpd.scm:191
+msgid ""
+"ncmpc is a fully featured MPD client, which runs in a\n"
+"terminal using ncurses."
+msgstr ""
+
+#: gnu/packages/mpd.scm:221
+msgid "Featureful ncurses based MPD client inspired by ncmpc"
+msgstr ""
+
+#: gnu/packages/mpd.scm:222
+msgid ""
+"Ncmpcpp is an mpd client with a UI very similar to ncmpc,\n"
+"but it provides new useful features such as support for regular expressions\n"
+"for library searches, extended song format, items filtering, the ability to\n"
+"sort playlists, and a local file system browser."
+msgstr ""
+
+#: gnu/packages/mpd.scm:245
+msgid "MPD client for track scrobbling"
+msgstr ""
+
+#: gnu/packages/mpd.scm:246
+msgid ""
+"mpdscribble is a Music Player Daemon client which submits\n"
+"information about tracks being played to a scrobbler, such as Libre.FM."
+msgstr ""
+
+#: gnu/packages/mpd.scm:271
+msgid "Python MPD client library"
+msgstr ""
+
+#: gnu/packages/mpd.scm:272
+msgid ""
+"Python-mpd2 is a Python library which provides a client\n"
+"interface for the Music Player Daemon."
+msgstr ""
+
+#: gnu/packages/mpd.scm:321
+msgid "Elegant client for the Music Player Daemon"
+msgstr ""
+
+#: gnu/packages/mpd.scm:322
+msgid ""
+"Sonata is an elegant graphical client for the Music Player\n"
+"Daemon (MPD). It supports playlists, multiple profiles (connecting to different\n"
+"MPD servers, search and multimedia key support."
+msgstr ""
+
+#: gnu/packages/netpbm.scm:178
+msgid "Toolkit for manipulation of images"
+msgstr ""
+
+#: gnu/packages/netpbm.scm:180
+msgid ""
+"Netpbm is a toolkit for the manipulation of graphic images, including\n"
+"the conversion of images between a variety of different formats.\n"
+"There are over 300 separate tools in the package including converters for\n"
+"about 100 graphics formats."
+msgstr ""
+
+#: gnu/packages/nettle.scm:51
+msgid "C library for low-level cryptographic functionality"
+msgstr ""
+
+#: gnu/packages/nettle.scm:53
+msgid ""
+"GNU Nettle is a low-level cryptographic library. It is designed to\n"
+"fit in easily in almost any context. It can be easily included in\n"
+"cryptographic toolkits for object-oriented languages or in applications\n"
+"themselves."
+msgstr ""
+
+#: gnu/packages/networking.scm:99
+msgid "Viewing and manipulating MAC addresses of network interfaces"
+msgstr ""
+
+#: gnu/packages/networking.scm:100
+msgid ""
+"GNU MAC Changer is a utility for viewing and changing MAC\n"
+"addresses of networking devices. New addresses may be set explicitly or\n"
+"randomly. They can include MAC addresses of the same or other hardware vendors\n"
+"or, more generally, MAC addresses of the same category of hardware."
+msgstr ""
+
+#: gnu/packages/networking.scm:128
+msgid "Teredo IPv6 tunneling software"
+msgstr ""
+
+#: gnu/packages/networking.scm:130
+msgid ""
+"Miredo is an implementation (client, relay, server) of the Teredo\n"
+"specification, which provides IPv6 Internet connectivity to IPv6 enabled hosts\n"
+"residing in IPv4-only networks, even when they are behind a NAT device."
+msgstr ""
+
+#: gnu/packages/networking.scm:152
+msgid "Open bidirectional communication channels from the command line"
+msgstr ""
+
+#: gnu/packages/networking.scm:154
+msgid ""
+"socat is a relay for bidirectional data transfer between two independent\n"
+"data channels---files, pipes, devices, sockets, etc. It can create\n"
+"\"listening\" sockets, named pipes, and pseudo terminals.\n"
+"\n"
+"socat can be used, for instance, as TCP port forwarder, as a shell interface\n"
+"to UNIX sockets, IPv6 relay, for redirecting TCP oriented programs to a serial\n"
+"line, to logically connect serial lines on different computers, or to\n"
+"establish a relatively secure environment (su and chroot) for running client\n"
+"or server shell scripts with network connections."
+msgstr ""
+
+#: gnu/packages/networking.scm:235
+msgid "Monitor and filter incoming requests for network services"
+msgstr ""
+
+#: gnu/packages/networking.scm:236
+msgid ""
+"With this package you can monitor and filter incoming requests for\n"
+"network services. It includes a library which may be used by daemons to\n"
+"transparently check connection attempts against an access control list."
+msgstr ""
+
+#: gnu/packages/networking.scm:256
+msgid "Library for message-based applications"
+msgstr ""
+
+#: gnu/packages/networking.scm:258
+msgid ""
+"The 0MQ lightweight messaging kernel is a library which extends the\n"
+"standard socket interfaces with features traditionally provided by specialized\n"
+"messaging middle-ware products. 0MQ sockets provide an abstraction of\n"
+"asynchronous message queues, multiple messaging patterns, message\n"
+"filtering (subscriptions), seamless access to multiple transport protocols and\n"
+"more."
+msgstr ""
+
+#: gnu/packages/networking.scm:297
+msgid "Apache Kafka C/C++ client library"
+msgstr ""
+
+#: gnu/packages/networking.scm:299
+msgid ""
+"librdkafka is a C library implementation of the Apache Kafka protocol,\n"
+"containing both Producer and Consumer support."
+msgstr ""
+
+#: gnu/packages/networking.scm:316
+msgid "Library for Neighbor Discovery Protocol"
+msgstr ""
+
+#: gnu/packages/networking.scm:318
+msgid ""
+"libndp contains a library which provides a wrapper for IPv6 Neighbor\n"
+"Discovery Protocol. It also provides a tool named ndptool for sending and\n"
+"receiving NDP messages."
+msgstr ""
+
+#: gnu/packages/networking.scm:336
+msgid "Display or change Ethernet device settings"
+msgstr ""
+
+#: gnu/packages/networking.scm:338
+msgid ""
+"ethtool can be used to query and change settings such as speed,\n"
+"auto-negotiation and checksum offload on many network devices, especially\n"
+"Ethernet devices."
+msgstr ""
+
+#: gnu/packages/networking.scm:375
+msgid "Text based network interface status monitor"
+msgstr ""
+
+#: gnu/packages/networking.scm:377
+msgid ""
+"IFStatus is a simple, easy-to-use program for displaying commonly\n"
+"needed/wanted real-time traffic statistics of multiple network\n"
+"interfaces, with a simple and efficient view on the command line. It is\n"
+"intended as a substitute for the PPPStatus and EthStatus projects."
+msgstr ""
+
+#: gnu/packages/networking.scm:397
+msgid "Realtime console network usage monitor"
+msgstr ""
+
+#: gnu/packages/networking.scm:399
+msgid ""
+"Nload is a console application which monitors network traffic and\n"
+"bandwidth usage in real time. It visualizes the in- and outgoing traffic using\n"
+"two graphs, and provides additional info like total amount of transferred data\n"
+"and min/max network usage."
+msgstr ""
+
+#: gnu/packages/networking.scm:442
+msgid "Tunnel IPv4 data through a DNS server"
+msgstr ""
+
+#: gnu/packages/networking.scm:443
+msgid ""
+"Iodine tunnels IPv4 data through a DNS server. This\n"
+"can be useful in different situations where internet access is firewalled, but\n"
+"DNS queries are allowed. The bandwidth is asymmetrical, with limited upstream\n"
+"and up to 1 Mbit/s downstream."
+msgstr ""
+
+#: gnu/packages/networking.scm:481
+msgid "Improved whois client"
+msgstr ""
+
+#: gnu/packages/networking.scm:482
+msgid ""
+"This whois client is intelligent and can\n"
+"automatically select the appropriate whois server for most queries.\n"
+"Because of historical reasons this also includes a tool called mkpasswd\n"
+"which can be used to encrypt a password with @code{crypt(3)}."
+msgstr ""
+
+#: gnu/packages/networking.scm:535
+msgid "Network traffic analyzer"
+msgstr ""
+
+#: gnu/packages/networking.scm:536
+msgid ""
+"Wireshark is a network protocol analyzer, or @dfn{packet\n"
+"sniffer}, that lets you capture and interactively browse the contents of\n"
+"network frames."
+msgstr ""
+
+#: gnu/packages/networking.scm:556
+msgid "Send ICMP ECHO_REQUEST packets to network hosts"
+msgstr ""
+
+#: gnu/packages/networking.scm:558
+msgid ""
+"fping is a ping like program which uses the Internet Control Message\n"
+"Protocol (ICMP) echo request to determine if a target host is responding.\n"
+"fping differs from ping in that you can specify any number of targets on the\n"
+"command line, or specify a file containing the lists of targets to ping.\n"
+"Instead of sending to one target until it times out or replies, fping will\n"
+"send out a ping packet and move on to the next target in a round-robin\n"
+"fashion."
+msgstr ""
+
+#: gnu/packages/networking.scm:592
+msgid "Web server latency and throughput monitor"
+msgstr ""
+
+#: gnu/packages/networking.scm:594
+msgid ""
+"httping measures how long it takes to connect to a web server, send an\n"
+"HTTP(S) request, and receive the reply headers. It is somewhat similar to\n"
+"@command{ping}, but can be used even in cases where ICMP traffic is blocked\n"
+"by firewalls or when you want to monitor the response time of the actual web\n"
+"application stack itself."
+msgstr ""
+
+#: gnu/packages/networking.scm:625
+msgid "Visualize curl statistics"
+msgstr ""
+
+#: gnu/packages/networking.scm:627
+msgid ""
+"@command{httpstat} is a tool to visualize statistics from the\n"
+"@command{curl} HTTP client. It acts as a wrapper for @command{curl} and\n"
+"prints timing information for each step of the HTTP request (DNS lookup,\n"
+"TCP connection, TLS handshake and so on) in the terminal."
+msgstr ""
+
+#: gnu/packages/networking.scm:647
+msgid "Console based live network and disk I/O bandwidth monitor"
+msgstr ""
+
+#: gnu/packages/networking.scm:648
+msgid ""
+"Bandwidth Monitor NG is a small and simple console based\n"
+"live network and disk I/O bandwidth monitor."
+msgstr ""
+
+#: gnu/packages/networking.scm:702
+msgid "Assess WiFi network security"
+msgstr ""
+
+#: gnu/packages/networking.scm:704
+msgid ""
+"Aircrack-ng is a complete suite of tools to assess WiFi network\n"
+"security. It focuses on different areas of WiFi security: monitoring,\n"
+"attacking, testing, and cracking. All tools are command-line driven, which\n"
+"allows for heavy scripting."
+msgstr ""
+
+#: gnu/packages/networking.scm:729
+msgid "Perl Interface to the Domain Name System"
+msgstr ""
+
+#: gnu/packages/networking.scm:730
+msgid "Net::DNS is the Perl Interface to the Domain Name System."
+msgstr ""
+
+#: gnu/packages/networking.scm:761
+msgid "IPv6 related part of the C socket.h defines and structure manipulators for Perl"
+msgstr ""
+
+#: gnu/packages/networking.scm:762
+msgid ""
+"Socket6 binds the IPv6 related part of the C socket header\n"
+"definitions and structure manipulators for Perl."
+msgstr ""
+
+#: gnu/packages/networking.scm:788
+msgid "Programmable DNS resolver class for offline emulation of DNS"
+msgstr ""
+
+#: gnu/packages/networking.scm:789
+msgid ""
+"Net::DNS::Resolver::Programmable is a programmable DNS resolver for\n"
+"offline emulation of DNS."
+msgstr ""
+
+#: gnu/packages/networking.scm:822
+msgid "Manages IPv4 and IPv6 addresses and subnets"
+msgstr ""
+
+#: gnu/packages/networking.scm:823
+msgid "NetAddr::IP manages IPv4 and IPv6 addresses and subsets."
+msgstr ""
+
+#: gnu/packages/networking.scm:847
+msgid "Patricia Trie Perl module for fast IP address lookups"
+msgstr ""
+
+#: gnu/packages/networking.scm:849
+msgid "Net::Patricia does IP address lookups quickly in Perl."
+msgstr ""
+
+#: gnu/packages/networking.scm:872
+msgid "Perl extension for merging IPv4 or IPv6 CIDR addresses"
+msgstr ""
+
+#: gnu/packages/networking.scm:873
+msgid "Net::CIDR::Lite merges IPv4 or IPv6 CIDR addresses."
+msgstr ""
+
+#: gnu/packages/networking.scm:895
+msgid "Look up location and network information by IP Address in Perl"
+msgstr ""
+
+#: gnu/packages/networking.scm:896
+msgid ""
+"The Perl module 'Geo::IP'. It looks up location and network\n"
+"information by IP Address."
+msgstr ""
+
+#: gnu/packages/networking.scm:925
+msgid "Perl object interface for AF_INET/AF_INET6 domain sockets"
+msgstr ""
+
+#: gnu/packages/networking.scm:926
+msgid ""
+"IO::Socket::INET6 is an interface for AF_INET/AF_INET6 domain\n"
+"sockets in Perl."
+msgstr ""
+
+#: gnu/packages/networking.scm:955
+msgid "Library providing automatic proxy configuration management"
+msgstr ""
+
+#: gnu/packages/networking.scm:956
+msgid ""
+"Libproxy handles the details of HTTP/HTTPS proxy\n"
+"configuration for applications across all scenarios. Applications using\n"
+"libproxy only have to specify which proxy to use."
+msgstr ""
+
+#: gnu/packages/networking.scm:989
+msgid "Redirect any TCP connection through a proxy or proxy chain"
+msgstr ""
+
+#: gnu/packages/networking.scm:990
+msgid ""
+"Proxychains-ng is a preloader which hooks calls to sockets\n"
+"in dynamically linked programs and redirects them through one or more SOCKS or\n"
+"HTTP proxies."
+msgstr ""
+
+#: gnu/packages/networking.scm:1011
+msgid "Network communication layer on top of UDP"
+msgstr ""
+
+#: gnu/packages/networking.scm:1013
+msgid ""
+"ENet's purpose is to provide a relatively thin, simple and robust network\n"
+"communication layer on top of UDP. The primary feature it provides is optional\n"
+"reliable, in-order delivery of packets. ENet omits certain higher level\n"
+"networking features such as authentication, server discovery, encryption, or\n"
+"other similar tasks that are particularly application specific so that the\n"
+"library remains flexible, portable, and easily embeddable."
+msgstr ""
+
+#: gnu/packages/networking.scm:1076
+msgid "Applicative network protocol demultiplexer"
+msgstr ""
+
+#: gnu/packages/networking.scm:1078
+msgid ""
+"sslh is a network protocol demultiplexer. It acts like a switchboard,\n"
+"accepting connections from clients on one port and forwarding them to different\n"
+"servers based on the contents of the first received data packet. Detection of\n"
+"common protocols like HTTP(S), SSL, SSH, OpenVPN, tinc, and XMPP is already\n"
+"implemented, but any other protocol that matches a regular expression can be\n"
+"added. sslh's name comes from its original application of serving both SSH and\n"
+"HTTPS on port 443, allowing SSH connections from inside corporate firewalls\n"
+"that block port 22."
+msgstr ""
+
+#: gnu/packages/networking.scm:1101
+msgid "TCP, UDP and SCTP bandwidth measurement tool"
+msgstr ""
+
+#: gnu/packages/networking.scm:1103
+msgid ""
+"iPerf is a tool to measure achievable bandwidth on IP networks. It\n"
+"supports tuning of various parameters related to timing, buffers and\n"
+"protocols (TCP, UDP, SCTP with IPv4 and IPv6). For each test it reports\n"
+"the bandwidth, loss, and other parameters."
+msgstr ""
+
+#: gnu/packages/networking.scm:1136
+msgid "Per-process bandwidth monitor"
+msgstr ""
+
+#: gnu/packages/networking.scm:1137
+msgid ""
+"NetHogs is a small 'net top' tool for Linux. Instead of\n"
+"breaking the traffic down per protocol or per subnet, like most tools do, it\n"
+"groups bandwidth by process.\n"
+"\n"
+"NetHogs does not rely on a special kernel module to be loaded. If there's\n"
+"suddenly a lot of network traffic, you can fire up NetHogs and immediately see\n"
+"which PID is causing this. This makes it easy to identify programs that have\n"
+"gone wild and are suddenly taking up your bandwidth."
+msgstr ""
+
+#: gnu/packages/networking.scm:1183
+msgid "Usenet binary file downloader"
+msgstr ""
+
+#: gnu/packages/networking.scm:1185
+msgid ""
+"NZBGet is a binary newsgrabber, which downloads files from Usenet based\n"
+"on information given in @code{nzb} files. NZBGet can be used in standalone\n"
+"and in server/client modes. In standalone mode, you pass NZBGet @command{nzb}\n"
+"files as command-line parameters and it downloads them and exits. NZBGet also\n"
+"contains a Web interface. Its server can be controlled through remote\n"
+"procedure calls (RPCs)."
+msgstr ""
+
+#: gnu/packages/networking.scm:1239
+msgid "Virtual network switch"
+msgstr ""
+
+#: gnu/packages/networking.scm:1242
+msgid ""
+"Open vSwitch is a multilayer virtual switch. It is designed to enable\n"
+"massive network automation through programmatic extension, while still\n"
+"supporting standard management interfaces and protocols (e.g. NetFlow, sFlow,\n"
+"IPFIX, RSPAN, CLI, LACP, 802.1ag)."
+msgstr ""
+
+#: gnu/packages/networking.scm:1264
+msgid "Python class and tools for handling IP addresses and networks"
+msgstr ""
+
+#: gnu/packages/networking.scm:1265
+msgid ""
+"The @code{IP} class allows a comfortable parsing and\n"
+"handling for most notations in use for IPv4 and IPv6 addresses and\n"
+"networks."
+msgstr ""
+
+#: gnu/packages/networking.scm:1285
+msgid "Internet bandwidth tester"
+msgstr ""
+
+#: gnu/packages/networking.scm:1287
+msgid ""
+"Command line interface for testing internet bandwidth using\n"
+"speedtest.net."
+msgstr ""
+
+#: gnu/packages/networking.scm:1305
+msgid "HPA's tftp client"
+msgstr ""
+
+#: gnu/packages/networking.scm:1307
+msgid ""
+"This is a tftp client derived from OpenBSD tftp with some extra options\n"
+"added and bugs fixed. The source includes readline support but it is not\n"
+"enabled due to license conflicts between the BSD advertising clause and the GPL."
+msgstr ""
+
+#: gnu/packages/networking.scm:1335
+msgid "Small Ident Daemon"
+msgstr ""
+
+#: gnu/packages/networking.scm:1337
+msgid ""
+"@dfn{Pidentd} (Peter's Ident Daemon) is a identd, which implements a\n"
+"identification server. Pidentd looks up specific TCP/IP connections and\n"
+"returns the user name and other information about the connection."
+msgstr ""
+
+#: gnu/packages/networking.scm:1384
+msgid "Create secure pipes between sockets"
+msgstr ""
+
+#: gnu/packages/networking.scm:1385
+msgid ""
+"Spiped (pronounced \"ess-pipe-dee\") is a utility for creating\n"
+"symmetrically encrypted and authenticated pipes between socket addresses, so\n"
+"that one may connect to one address (e.g., a UNIX socket on localhost) and\n"
+"transparently have a connection established to another address (e.g., a UNIX\n"
+"socket on a different system). This is similar to 'ssh -L' functionality, but\n"
+"does not use SSH and requires a pre-shared symmetric key."
+msgstr ""
+
+#: gnu/packages/networking.scm:1412
+msgid "Routing Software Suite"
+msgstr ""
+
+#: gnu/packages/networking.scm:1413
+msgid ""
+"Quagga is a routing software suite, providing implementations\n"
+"of OSPFv2, OSPFv3, RIP v1 and v2, RIPng and BGP-4 for Unix platforms.\n"
+"\n"
+"The Quagga architecture consists of a core daemon, @command{zebra}, which\n"
+"acts as an abstraction layer to the underlying Unix kernel and presents the\n"
+"Zserv API over a Unix or TCP stream to Quagga clients. It is these Zserv\n"
+"clients which typically implement a routing protocol and communicate routing\n"
+"updates to the zebra daemon."
+msgstr ""
+
+#: gnu/packages/networking.scm:1461
+msgid "IPv6 security research toolkit"
+msgstr ""
+
+#: gnu/packages/networking.scm:1462
+msgid ""
+"The THC IPv6 Toolkit provides command-line tools and a library\n"
+"for researching IPv6 implementations and deployments. It requires Linux 2.6 or\n"
+"newer and only works on Ethernet network interfaces."
+msgstr ""
+
+#: gnu/packages/networking.scm:1488
+msgid "Bandwidth monitor"
+msgstr ""
+
+#: gnu/packages/networking.scm:1489
+msgid ""
+"bmon is a monitoring and debugging tool to capture\n"
+"networking-related statistics and prepare them visually in a human-friendly\n"
+"way. It features various output methods including an interactive curses user\n"
+"interface and a programmable text output for scripting."
+msgstr ""
+
+#: gnu/packages/networking.scm:1531
+msgid "Framework for low-level network packet construction"
+msgstr ""
+
+#: gnu/packages/networking.scm:1533
+msgid ""
+"Libnet provides a fairly portable framework for network packet\n"
+"construction and injection. It features portable packet creation interfaces\n"
+"at the IP layer and link layer, as well as a host of supplementary\n"
+"functionality. Using libnet, quick and simple packet assembly applications\n"
+"can be whipped up with little effort."
+msgstr ""
+
+#: gnu/packages/pdf.scm:127
+msgid "PDF rendering library"
+msgstr ""
+
+#: gnu/packages/pdf.scm:129
+msgid "Poppler is a PDF rendering library based on the xpdf-3.0 code base."
+msgstr ""
+
+#: gnu/packages/pdf.scm:138
+msgid "Qt4 frontend for the Poppler PDF rendering library"
+msgstr ""
+
+#: gnu/packages/pdf.scm:149
+msgid "Qt5 frontend for the Poppler PDF rendering library"
+msgstr ""
+
+#: gnu/packages/pdf.scm:182
+msgid "Python bindings for Poppler-Qt4"
+msgstr ""
+
+#: gnu/packages/pdf.scm:184
+msgid ""
+"This package provides Python bindings for the Qt4 interface of the\n"
+"Poppler PDF rendering library."
+msgstr ""
+
+#: gnu/packages/pdf.scm:229
+msgid "Python bindings for Poppler-Qt5"
+msgstr ""
+
+#: gnu/packages/pdf.scm:231
+msgid ""
+"This package provides Python bindings for the Qt5 interface of the\n"
+"Poppler PDF rendering library."
+msgstr ""
+
+#: gnu/packages/pdf.scm:268
+msgid "Library for generating PDF files"
+msgstr ""
+
+#: gnu/packages/pdf.scm:270
+msgid ""
+"libHaru is a library for generating PDF files. libHaru does not support\n"
+"reading and editing of existing PDF files."
+msgstr ""
+
+#: gnu/packages/pdf.scm:317
+msgid "Viewer for PDF files based on the Motif toolkit"
+msgstr ""
+
+#: gnu/packages/pdf.scm:319
+msgid "Xpdf is a viewer for Portable Document Format (PDF) files."
+msgstr ""
+
+#: gnu/packages/pdf.scm:349
+msgid "Comic book support for zathura (libarchive backend)"
+msgstr ""
+
+#: gnu/packages/pdf.scm:350
+msgid ""
+"The zathura-cb plugin adds comic book support to zathura\n"
+"using libarchive."
+msgstr ""
+
+#: gnu/packages/pdf.scm:380
+msgid "PS support for zathura (libspectre backend)"
+msgstr ""
+
+#: gnu/packages/pdf.scm:381
+msgid ""
+"The zathura-ps plugin adds PS support to zathura\n"
+"using libspectre."
+msgstr ""
+
+#: gnu/packages/pdf.scm:412
+msgid "DjVu support for zathura (DjVuLibre backend)"
+msgstr ""
+
+#: gnu/packages/pdf.scm:413
+msgid ""
+"The zathura-djvu plugin adds DjVu support to zathura\n"
+"using the DjVuLibre library."
+msgstr ""
+
+#: gnu/packages/pdf.scm:447
+msgid "PDF support for zathura (mupdf backend)"
+msgstr ""
+
+#: gnu/packages/pdf.scm:448
+msgid ""
+"The zathura-pdf-mupdf plugin adds PDF support to zathura\n"
+"by using the @code{mupdf} rendering library."
+msgstr ""
+
+#: gnu/packages/pdf.scm:480
+msgid "PDF support for zathura (poppler backend)"
+msgstr ""
+
+#: gnu/packages/pdf.scm:481
+msgid ""
+"The zathura-pdf-poppler plugin adds PDF support to zathura\n"
+"by using the poppler rendering engine."
+msgstr ""
+
+#: gnu/packages/pdf.scm:518
+msgid "Lightweight keyboard-driven PDF viewer"
+msgstr ""
+
+#: gnu/packages/pdf.scm:519
+msgid ""
+"Zathura is a customizable document viewer. It provides a\n"
+"minimalistic interface and an interface that mainly focuses on keyboard\n"
+"interaction."
+msgstr ""
+
+#: gnu/packages/pdf.scm:558
+msgid "Tools to work with the PDF file format"
+msgstr ""
+
+#: gnu/packages/pdf.scm:560
+msgid ""
+"PoDoFo is a C++ library and set of command-line tools to work with the\n"
+"PDF file format. It can parse PDF files and load them into memory, and makes\n"
+"it easy to modify them and write the changes to disk. It is primarily useful\n"
+"for applications that wish to do lower level manipulation of PDF, such as\n"
+"extracting content or merging files."
+msgstr ""
+
+#: gnu/packages/pdf.scm:609
+msgid "Lightweight PDF viewer and toolkit"
+msgstr ""
+
+#: gnu/packages/pdf.scm:611
+msgid ""
+"MuPDF is a C library that implements a PDF and XPS parsing and\n"
+"rendering engine. It is used primarily to render pages into bitmaps,\n"
+"but also provides support for other operations such as searching and\n"
+"listing the table of contents and hyperlinks.\n"
+"\n"
+"The library ships with a rudimentary X11 viewer, and a set of command\n"
+"line tools for batch rendering @command{pdfdraw}, rewriting files\n"
+"@command{pdfclean}, and examining the file structure @command{pdfshow}."
+msgstr ""
+
+#: gnu/packages/pdf.scm:663
+msgid "Command-line tools and library for transforming PDF files"
+msgstr ""
+
+#: gnu/packages/pdf.scm:665
+msgid ""
+"QPDF is a command-line program that does structural, content-preserving\n"
+"transformations on PDF files. It could have been called something like\n"
+"pdf-to-pdf. It includes support for merging and splitting PDFs and to\n"
+"manipulate the list of pages in a PDF file. It is not a PDF viewer or a\n"
+"program capable of converting PDF into other formats."
+msgstr ""
+
+#: gnu/packages/pdf.scm:695
+msgid "Notetaking using a stylus"
+msgstr ""
+
+#: gnu/packages/pdf.scm:697
+msgid ""
+"Xournal is an application for notetaking, sketching, keeping a journal\n"
+"using a stylus."
+msgstr ""
+
+#: gnu/packages/pdf.scm:719
+msgid "Python library for generating PDFs and graphics"
+msgstr ""
+
+#: gnu/packages/pdf.scm:720
+msgid ""
+"This is the ReportLab PDF Toolkit. It allows rapid creation\n"
+"of rich PDF documents, and also creation of charts in a variety of bitmap and\n"
+"vector formats."
+msgstr ""
+
+#: gnu/packages/pdf.scm:773
+msgid "PDF presentation tool with visual effects"
+msgstr ""
+
+#: gnu/packages/pdf.scm:775
+msgid ""
+"Impressive is a tool to display PDF files that provides visual effects\n"
+"such as smooth alpha-blended slide transitions. It provides additional tools\n"
+"such as zooming, highlighting an area of the screen, and a tool to navigate\n"
+"the PDF pages."
+msgstr ""
+
+#: gnu/packages/pdf.scm:823
+msgid "Framebuffer and drm-based image viewer"
+msgstr ""
+
+#: gnu/packages/pdf.scm:825
+msgid ""
+"fbida contains a few applications for viewing and editing images on\n"
+"the framebuffer."
+msgstr ""
+
+#: gnu/packages/pdf.scm:850
+msgid "PDF to SVG converter"
+msgstr ""
+
+#: gnu/packages/pdf.scm:851
+msgid ""
+"@command{pdf2svg} is a simple command-line PDF to SVG\n"
+"converter using the Poppler and Cairo libraries."
+msgstr ""
+
+#: gnu/packages/pdf.scm:882 gnu/packages/pdf.scm:919
+msgid "Pure Python PDF toolkit"
+msgstr ""
+
+#: gnu/packages/pdf.scm:883
+msgid ""
+"PyPDF2 is a pure Python PDF library capable of:\n"
+"\n"
+"@enumerate\n"
+"@item extracting document information (title, author, …)\n"
+"@item splitting documents page by page\n"
+"@item merging documents page by page\n"
+"@item cropping pages\n"
+"@item merging multiple pages into a single page\n"
+"@item encrypting and decrypting PDF files\n"
+"@end enumerate\n"
+"\n"
+"By being pure Python, it should run on any Python platform without any\n"
+"dependencies on external libraries. It can also work entirely on\n"
+"@code{StringIO} objects rather than file streams, allowing for PDF\n"
+"manipulation in memory. It is therefore a useful tool for websites that\n"
+"manage or manipulate PDFs."
+msgstr ""
+
+#: gnu/packages/pdf.scm:920
+msgid ""
+"PyPDF2 is a pure Python PDF toolkit.\n"
+"\n"
+"Note: This module isn't maintained anymore. For new projects please use\n"
+"python-pypdf2 instead."
+msgstr ""
+
+#: gnu/packages/pdf.scm:944
+msgid "Scale and tile PDF images/pages to print on multiple pages"
+msgstr ""
+
+#: gnu/packages/pdf.scm:945
+msgid ""
+"@command{pdfposter} can be used to create a large poster by\n"
+"building it from multple pages and/or printing it on large media. It expects\n"
+"as input a PDF file, normally printing on a single page. The output is again\n"
+"a PDF file, maybe containing multiple pages together building the poster. The\n"
+"input page will be scaled to obtain the desired size.\n"
+"\n"
+"This is much like @command{poster} does for Postscript files, but working with\n"
+"PDF. Since sometimes @command{poster} does not like your files converted from\n"
+"PDF. Indeed @command{pdfposter} was inspired by @command{poster}."
+msgstr ""
+
+#: gnu/packages/pdf.scm:976
+msgid "Command-line utility to search text in PDF files"
+msgstr ""
+
+#: gnu/packages/pdf.scm:978
+msgid ""
+"Pdfgrep searches in pdf files for strings matching a regular expression.\n"
+"Support some GNU grep options as file name output, page number output,\n"
+"optional case insensitivity, count occurrences, color highlights and search in\n"
+"multiple files."
+msgstr ""
+
+#: gnu/packages/pem.scm:41
+msgid "Personal expenses manager"
+msgstr ""
+
+#: gnu/packages/pem.scm:43
+msgid ""
+"GNU Pem is a simple tool for tracking personal income and\n"
+"expenses. It operates from the command line and it stores its data\n"
+"in a basic text format in your home directory. It can easily print\n"
+"reports of your spending on different expenses via a basic search\n"
+"feature."
+msgstr ""
+
+#: gnu/packages/perl.scm:148
+msgid "Implementation of the Perl programming language"
+msgstr ""
+
+#: gnu/packages/perl.scm:150
+msgid ""
+"Perl 5 is a highly capable, feature-rich programming language with over\n"
+"24 years of development."
+msgstr ""
+
+#: gnu/packages/perl.scm:169
+msgid "Module for merging hierarchies using the C3 algorithm"
+msgstr ""
+
+#: gnu/packages/perl.scm:170
+msgid ""
+"This module implements the C3 algorithm, which aims to\n"
+"provide a sane method resolution order under multiple inheritance."
+msgstr ""
+
+#: gnu/packages/perl.scm:188
+msgid "Compute differences between two files or lists"
+msgstr ""
+
+#: gnu/packages/perl.scm:189
+msgid ""
+"This is a module for computing the difference between two\n"
+"files, two strings, or any other two lists of things. It uses an intelligent\n"
+"algorithm similar to (or identical to) the one used by the Unix \"diff\"\n"
+"program. It is guaranteed to find the *smallest possible* set of\n"
+"differences."
+msgstr ""
+
+#: gnu/packages/perl.scm:211
+msgid "Use shorter versions of class names"
+msgstr ""
+
+#: gnu/packages/perl.scm:212
+msgid ""
+"The alias module loads the class you specify and exports\n"
+"into your namespace a subroutine that returns the class name. You can\n"
+"explicitly alias the class to another name or, if you prefer, you can do so\n"
+"implicitly."
+msgstr ""
+
+#: gnu/packages/perl.scm:234
+msgid "Transparently use Moose or Mouse modules"
+msgstr ""
+
+#: gnu/packages/perl.scm:236
+msgid ""
+"This module facilitates using @code{Moose} or @code{Mouse} modules\n"
+"without changing the code. By default, Mouse will be provided to libraries,\n"
+"unless Moose is already loaded, or explicitly requested by the end-user. End\n"
+"users can force the decision of which backend to use by setting the environment\n"
+"variable ANY_MOOSE to be Moose or Mouse."
+msgstr ""
+
+#: gnu/packages/perl.scm:259
+msgid "Configuration files and command line parsing"
+msgstr ""
+
+#: gnu/packages/perl.scm:260
+msgid ""
+"AppConfig is a bundle of Perl5 modules for reading\n"
+"configuration files and parsing command line arguments."
+msgstr ""
+
+#: gnu/packages/perl.scm:278
+msgid "Perl API to zip files"
+msgstr ""
+
+#: gnu/packages/perl.scm:300
+msgid "Small utils for array manipulation"
+msgstr ""
+
+#: gnu/packages/perl.scm:301
+msgid ""
+"@code{Array::Utils} is a small pure-perl module containing\n"
+"list manipulation routines."
+msgstr ""
+
+#: gnu/packages/perl.scm:320
+msgid "Allow C/XS libraries to interrupt perl asynchronously"
+msgstr ""
+
+#: gnu/packages/perl.scm:322
+msgid ""
+"@code{Async::Interrupt} implements a single feature only of interest\n"
+"to advanced perl modules, namely asynchronous interruptions (think \"UNIX\n"
+"signals\", which are very similar).\n"
+"\n"
+"Sometimes, modules wish to run code asynchronously (in another thread,\n"
+"or from a signal handler), and then signal the perl interpreter on\n"
+"certain events. One common way is to write some data to a pipe and use\n"
+"an event handling toolkit to watch for I/O events. Another way is to\n"
+"send a signal. Those methods are slow, and in the case of a pipe, also\n"
+"not asynchronous - it won't interrupt a running perl interpreter.\n"
+"\n"
+"This module implements asynchronous notifications that enable you to\n"
+"signal running perl code from another thread, asynchronously, and\n"
+"sometimes even without using a single syscall."
+msgstr ""
+
+#: gnu/packages/perl.scm:352
+msgid "Lexically disable autovivification"
+msgstr ""
+
+#: gnu/packages/perl.scm:353
+msgid ""
+"When an undefined variable is dereferenced, it gets silently\n"
+"upgraded to an array or hash reference (depending of the type of the\n"
+"dereferencing). This behaviour is called autovivification and usually does\n"
+"what you mean but it may be unnatural or surprising because your variables get\n"
+"populated behind your back. This is especially true when several levels of\n"
+"dereferencing are involved, in which case all levels are vivified up to the\n"
+"last, or when it happens in intuitively read-only constructs like\n"
+"@code{exists}. The pragma provided by this package lets you disable\n"
+"autovivification for some constructs and optionally throws a warning or an\n"
+"error when it would have happened."
+msgstr ""
+
+#: gnu/packages/perl.scm:379 gnu/packages/perl.scm:6328
+msgid "Establish an ISA relationship with base classes at compile time"
+msgstr ""
+
+#: gnu/packages/perl.scm:380
+msgid ""
+"Allows you to both load one or more modules, while setting\n"
+"up inheritance from those modules at the same time. Unless you are using the\n"
+"fields pragma, consider this module discouraged in favor of the lighter-weight\n"
+"parent."
+msgstr ""
+
+#: gnu/packages/perl.scm:400
+msgid "Open a browser in a given URL"
+msgstr ""
+
+#: gnu/packages/perl.scm:401
+msgid ""
+"The functions exported by this module allow you to open URLs\n"
+"in the user's browser. A set of known commands per OS-name is tested for\n"
+"presence, and the first one found is executed. With an optional parameter,\n"
+"all known commands are checked."
+msgstr ""
+
+#: gnu/packages/perl.scm:426
+msgid "Execute code after a scope finished compilation"
+msgstr ""
+
+#: gnu/packages/perl.scm:427
+msgid ""
+"This module allows you to execute code when perl finished\n"
+"compiling the surrounding scope."
+msgstr ""
+
+#: gnu/packages/perl.scm:445
+msgid "Lists of reserved barewords and symbol names"
+msgstr ""
+
+#: gnu/packages/perl.scm:446
+msgid ""
+"@code{B::Keywords} supplies several arrays of exportable\n"
+"keywords: @code{@@Scalars, @@Arrays, @@Hashes, @@Filehandles, @@Symbols,\n"
+"@@Functions, @@Barewords, @@TieIOMethods, @@UNIVERSALMethods and\n"
+"@@ExporterSymbols}."
+msgstr ""
+
+#: gnu/packages/perl.scm:469
+msgid "Benchmarking with statistical confidence"
+msgstr ""
+
+#: gnu/packages/perl.scm:471
+msgid ""
+"The Benchmark::Timer class allows you to time portions of code\n"
+"conveniently, as well as benchmark code by allowing timings of repeated\n"
+"trials. It is perfect for when you need more precise information about the\n"
+"running time of portions of your code than the Benchmark module will give you,\n"
+"but don't want to go all out and profile your code."
+msgstr ""
+
+#: gnu/packages/perl.scm:496
+msgid "Bit vector library"
+msgstr ""
+
+#: gnu/packages/perl.scm:497
+msgid ""
+"Bit::Vector is an efficient C library which allows you to\n"
+"handle bit vectors, sets (of integers), \"big integer arithmetic\" and boolean\n"
+"matrices, all of arbitrary sizes. The package also includes an\n"
+"object-oriented Perl module for accessing the C library from Perl, and\n"
+"optionally features overloaded operators for maximum ease of use. The C\n"
+"library can nevertheless be used stand-alone, without Perl."
+msgstr ""
+
+#: gnu/packages/perl.scm:519
+msgid "Boolean support for Perl"
+msgstr ""
+
+#: gnu/packages/perl.scm:520
+msgid ""
+"This module provides basic Boolean support, by defining two\n"
+"special objects: true and false."
+msgstr ""
+
+#: gnu/packages/perl.scm:538
+msgid "Data files for Business::ISBN"
+msgstr ""
+
+#: gnu/packages/perl.scm:539
+msgid ""
+"This package provides a data pack for @code{Business::ISBN}.\n"
+"These data are generated from the RangeMessage.xml file provided by the ISBN\n"
+"Agency."
+msgstr ""
+
+#: gnu/packages/perl.scm:561
+msgid "Work with International Standard Book Numbers"
+msgstr ""
+
+#: gnu/packages/perl.scm:562
+msgid ""
+"This modules provides tools to deal with International\n"
+"Standard Book Numbers, including ISBN-10 and ISBN-13."
+msgstr ""
+
+#: gnu/packages/perl.scm:580
+msgid "Work with International Standard Serial Numbers"
+msgstr ""
+
+#: gnu/packages/perl.scm:581
+msgid ""
+"This modules provides tools to deal with International\n"
+"Standard Serial Numbers."
+msgstr ""
+
+#: gnu/packages/perl.scm:601
+msgid "Work with International Standard Music Numbers"
+msgstr ""
+
+#: gnu/packages/perl.scm:602
+msgid ""
+"This modules provides tools to deal with International\n"
+"Standard Music Numbers."
+msgstr ""
+
+#: gnu/packages/perl.scm:623
+msgid "Cache interface for Perl"
+msgstr ""
+
+#: gnu/packages/perl.scm:624
+msgid ""
+"The Cache modules are designed to assist a developer in\n"
+"persisting data for a specified period of time. Often these modules are used\n"
+"in web applications to store data locally to save repeated and redundant\n"
+"expensive calls to remote machines or databases. People have also been known\n"
+"to use Cache::Cache for its straightforward interface in sharing data between\n"
+"runs of an application or invocations of a CGI-style script or simply as an\n"
+"easy to use abstraction of the file system or shared memory."
+msgstr ""
+
+#: gnu/packages/perl.scm:647
+msgid "Shared memory interprocess cache via mmap"
+msgstr ""
+
+#: gnu/packages/perl.scm:648
+msgid ""
+"A shared memory cache through an mmap'ed file. It's core is\n"
+"written in C for performance. It uses fcntl locking to ensure multiple\n"
+"processes can safely access the cache at the same time. It uses a basic LRU\n"
+"algorithm to keep the most used entries in the cache."
+msgstr ""
+
+#: gnu/packages/perl.scm:669
+msgid "Capture STDOUT and STDERR from Perl, XS or external programs"
+msgstr ""
+
+#: gnu/packages/perl.scm:671
+msgid ""
+"Capture::Tiny provides a simple, portable way to capture almost anything\n"
+"sent to STDOUT or STDERR, regardless of whether it comes from Perl, from XS\n"
+"code or from an external program. Optionally, output can be teed so that it\n"
+"is captured while being passed through to the original file handles."
+msgstr ""
+
+#: gnu/packages/perl.scm:690
+msgid "Check compatibility with the installed perl version"
+msgstr ""
+
+#: gnu/packages/perl.scm:692
+msgid ""
+"This module is used by Schmorp's modules during configuration stage\n"
+"to test the installed perl for compatibility with his modules."
+msgstr ""
+
+#: gnu/packages/perl.scm:712
+msgid "Warns and dies noisily with stack backtraces/"
+msgstr ""
+
+#: gnu/packages/perl.scm:713
+msgid ""
+"This module is meant as a debugging aid. It can be used to\n"
+"make a script complain loudly with stack backtraces when @code{warn()}-ing or\n"
+"@code{die()}ing."
+msgstr ""
+
+#: gnu/packages/perl.scm:732
+msgid "Executable comments for Perl"
+msgstr ""
+
+#: gnu/packages/perl.scm:733
+msgid ""
+"Carp::Assert is intended for a purpose like the ANSI C\n"
+"library assert.h."
+msgstr ""
+
+#: gnu/packages/perl.scm:755
+msgid "Convenience wrappers around Carp::Assert"
+msgstr ""
+
+#: gnu/packages/perl.scm:756
+msgid ""
+"Carp::Assert::More is a set of handy assertion functions for\n"
+"Perl."
+msgstr ""
+
+#: gnu/packages/perl.scm:776
+msgid "Report errors from a \"clan\" of modules"
+msgstr ""
+
+#: gnu/packages/perl.scm:777
+msgid ""
+"This module allows errors from a clan (or family) of modules\n"
+"to appear to originate from the caller of the clan. This is necessary in\n"
+"cases where the clan modules are not classes derived from each other, and thus\n"
+"the Carp.pm module doesn't help."
+msgstr ""
+
+#: gnu/packages/perl.scm:797
+msgid "Read the CDDB entry for an audio CD in your drive"
+msgstr ""
+
+#: gnu/packages/perl.scm:798
+msgid "This module can retrieve information from the CDDB."
+msgstr ""
+
+#: gnu/packages/perl.scm:820
+msgid "Automated accessor generation"
+msgstr ""
+
+#: gnu/packages/perl.scm:821
+msgid ""
+"This module automagically generates accessors/mutators for\n"
+"your class."
+msgstr ""
+
+#: gnu/packages/perl.scm:843
+msgid "Faster, but less expandable, chained accessors"
+msgstr ""
+
+#: gnu/packages/perl.scm:844
+msgid ""
+"A chained accessor is one that always returns the object\n"
+"when called with parameters (to set), and the value of the field when called\n"
+"with no arguments. This module subclasses Class::Accessor in order to provide\n"
+"the same mk_accessors interface."
+msgstr ""
+
+#: gnu/packages/perl.scm:871
+msgid "Build groups of accessors"
+msgstr ""
+
+#: gnu/packages/perl.scm:872
+msgid ""
+"This class lets you build groups of accessors that will call\n"
+"different getters and setters."
+msgstr ""
+
+#: gnu/packages/perl.scm:892
+msgid "Pragma to use the C3 method resolution order algorithm"
+msgstr ""
+
+#: gnu/packages/perl.scm:893
+msgid ""
+"This is pragma to change Perl 5's standard method resolution\n"
+"order from depth-first left-to-right (a.k.a - pre-order) to the more\n"
+"sophisticated C3 method resolution order."
+msgstr ""
+
+#: gnu/packages/perl.scm:917
+msgid "Drop-in replacement for NEXT"
+msgstr ""
+
+#: gnu/packages/perl.scm:918
+msgid ""
+"This module is intended as a drop-in replacement for NEXT,\n"
+"supporting the same interface, but using Class::C3 to do the hard work."
+msgstr ""
+
+#: gnu/packages/perl.scm:943
+msgid "Load mix-ins or components to your C3-based class"
+msgstr ""
+
+#: gnu/packages/perl.scm:944
+msgid ""
+"This module will inject base classes to your module using\n"
+"the Class::C3 method resolution order."
+msgstr ""
+
+#: gnu/packages/perl.scm:962
+msgid "Inheritable, overridable class data"
+msgstr ""
+
+#: gnu/packages/perl.scm:963
+msgid ""
+"Class::Data::Inheritable is for creating accessor/mutators\n"
+"to class data. That is, if you want to store something about your class as a\n"
+"whole (instead of about a single object). This data is then inherited by your\n"
+"subclasses and can be overridden."
+msgstr ""
+
+#: gnu/packages/perl.scm:984
+msgid "Class for easy date and time manipulation"
+msgstr ""
+
+#: gnu/packages/perl.scm:985
+msgid ""
+"This module provides a general-purpose date and datetime\n"
+"type for perl."
+msgstr ""
+
+#: gnu/packages/perl.scm:1002
+msgid "Base class for error handling"
+msgstr ""
+
+#: gnu/packages/perl.scm:1004
+msgid ""
+"@code{Class::ErrorHandler} provides an error-handling mechanism that is generic\n"
+"enough to be used as the base class for a variety of OO classes. Subclasses inherit\n"
+"its two error-handling methods, error and errstr, to communicate error messages back\n"
+"to the calling program."
+msgstr ""
+
+#: gnu/packages/perl.scm:1025
+msgid "Utility methods for factory classes"
+msgstr ""
+
+#: gnu/packages/perl.scm:1026
+msgid "This module exports methods useful for factory classes."
+msgstr ""
+
+#: gnu/packages/perl.scm:1043
+msgid "Get information about a class and its structure"
+msgstr ""
+
+#: gnu/packages/perl.scm:1044
+msgid ""
+"Class::Inspector allows you to get information about a\n"
+"loaded class."
+msgstr ""
+
+#: gnu/packages/perl.scm:1072
+msgid "Working (require \"Class::Name\") and more"
+msgstr ""
+
+#: gnu/packages/perl.scm:1073
+msgid ""
+"\"require EXPR\" only accepts Class/Name.pm style module\n"
+"names, not Class::Name. For that, this module provides \"load_class\n"
+"'Class::Name'\"."
+msgstr ""
+
+#: gnu/packages/perl.scm:1096
+msgid "XS implementation of parts of Class::Load"
+msgstr ""
+
+#: gnu/packages/perl.scm:1097
+msgid ""
+"This module provides an XS implementation for portions of\n"
+"Class::Load."
+msgstr ""
+
+#: gnu/packages/perl.scm:1116
+msgid "Create generic methods for OO Perl"
+msgstr ""
+
+#: gnu/packages/perl.scm:1117
+msgid ""
+"This module solves the problem of having to continually\n"
+"write accessor methods for your objects that perform standard tasks."
+msgstr ""
+
+#: gnu/packages/perl.scm:1138
+msgid "Moose-like method modifiers"
+msgstr ""
+
+#: gnu/packages/perl.scm:1139
+msgid ""
+"Class::Method::Modifiers provides three modifiers: 'before',\n"
+"'around', and 'after'. 'before' and 'after' are run just before and after the\n"
+"method they modify, but can not really affect that original method. 'around'\n"
+"is run in place of the original method, with a hook to easily call that\n"
+"original method."
+msgstr ""
+
+#: gnu/packages/perl.scm:1160
+msgid "Implementation of a singleton class for Perl"
+msgstr ""
+
+#: gnu/packages/perl.scm:1161
+msgid ""
+"This module implements a Singleton class from which other\n"
+"classes can be derived. By itself, the Class::Singleton module does very\n"
+"little other than manage the instantiation of a single object."
+msgstr ""
+
+#: gnu/packages/perl.scm:1180
+msgid "Minimalist class construction"
+msgstr ""
+
+#: gnu/packages/perl.scm:1181
+msgid ""
+"This module offers a minimalist class construction kit. It\n"
+"uses no non-core modules for any recent Perl."
+msgstr ""
+
+#: gnu/packages/perl.scm:1201
+msgid "Unload a class"
+msgstr ""
+
+#: gnu/packages/perl.scm:1202
+msgid ""
+"Class:Unload unloads a given class by clearing out its\n"
+"symbol table and removing it from %INC."
+msgstr ""
+
+#: gnu/packages/perl.scm:1220
+msgid "Generate fast XS accessors without runtime compilation"
+msgstr ""
+
+#: gnu/packages/perl.scm:1221
+msgid ""
+"Class::XSAccessor implements fast read, write, and\n"
+"read/write accessors in XS. Additionally, it can provide predicates such as\n"
+"\"has_foo()\" for testing whether the attribute \"foo\" is defined in the\n"
+"object. It only works with objects that are implemented as ordinary hashes.\n"
+"Class::XSAccessor::Array implements the same interface for objects that use\n"
+"arrays for their internal representation."
+msgstr ""
+
+#: gnu/packages/perl.scm:1241 gnu/packages/perl.scm:1264
+msgid "Recursively copy Perl datatypes"
+msgstr ""
+
+#: gnu/packages/perl.scm:1243
+msgid ""
+"This module provides a clone() method which makes recursive copies of\n"
+"nested hash, array, scalar and reference types, including tied variables and\n"
+"objects."
+msgstr ""
+
+#: gnu/packages/perl.scm:1265
+msgid ""
+"This module provides a general-purpose @code{clone} function\n"
+"to make deep copies of Perl data structures. It calls itself recursively to\n"
+"copy nested hash, array, scalar and reference types, including tied variables\n"
+"and objects."
+msgstr ""
+
+#: gnu/packages/perl.scm:1285
+msgid "Sane defaults for Perl programs"
+msgstr ""
+
+#: gnu/packages/perl.scm:1286
+msgid ""
+"This module implements some sane defaults for Perl programs,\n"
+"as defined by two typical specimens of Perl coders."
+msgstr ""
+
+#: gnu/packages/perl.scm:1306
+msgid "Load configuration from different file formats"
+msgstr ""
+
+#: gnu/packages/perl.scm:1307
+msgid ""
+"Config::Any provides a facility for Perl applications and\n"
+"libraries to load configuration data from multiple different file formats. It\n"
+"supports XML, YAML, JSON, Apache-style configuration, and Perl code."
+msgstr ""
+
+#: gnu/packages/perl.scm:1328
+msgid "Module to implement some AutoConf macros in Perl"
+msgstr ""
+
+#: gnu/packages/perl.scm:1329
+msgid ""
+"Config::AutoConf is intended to provide the same\n"
+"opportunities to Perl developers as GNU Autoconf does for Shell developers."
+msgstr ""
+
+#: gnu/packages/perl.scm:1347
+msgid "Generic Config Module"
+msgstr ""
+
+#: gnu/packages/perl.scm:1348
+msgid ""
+"This module opens a config file and parses its contents for\n"
+"you. The format of config files supported by Config::General is inspired by\n"
+"the well known Apache config format and is 100% compatible with Apache\n"
+"configs, but you can also just use simple name/value pairs in your config\n"
+"files. In addition to the capabilities of an Apache config file it supports\n"
+"some enhancements such as here-documents, C-style comments, and multiline\n"
+"options."
+msgstr ""
+
+#: gnu/packages/perl.scm:1375
+msgid "Simple .ini-file format reader and writer"
+msgstr ""
+
+#: gnu/packages/perl.scm:1376
+msgid ""
+"@code{Config::INI} is a module that facilates the reading\n"
+"and writing of @code{.ini}-style configuration files."
+msgstr ""
+
+#: gnu/packages/perl.scm:1397
+msgid "Preserve context during subroutine call"
+msgstr ""
+
+#: gnu/packages/perl.scm:1398
+msgid ""
+"This module runs code after a subroutine call, preserving\n"
+"the context the subroutine would have seen if it were the last statement in\n"
+"the caller."
+msgstr ""
+
+#: gnu/packages/perl.scm:1423
+msgid "Extract data from Macintosh BinHex files"
+msgstr ""
+
+#: gnu/packages/perl.scm:1425
+msgid ""
+"BinHex is a format for transporting files safely through electronic\n"
+"mail, as short-lined, 7-bit, semi-compressed data streams. Ths module\n"
+"provides a means of converting those data streams back into into binary\n"
+"data."
+msgstr ""
+
+#: gnu/packages/perl.scm:1447
+msgid "Verify requirements in a CPAN::Meta object"
+msgstr ""
+
+#: gnu/packages/perl.scm:1448
+msgid ""
+"This module verifies if requirements described in a\n"
+"CPAN::Meta object are present."
+msgstr ""
+
+#: gnu/packages/perl.scm:1468
+msgid "JSON::XS for Cpanel"
+msgstr ""
+
+#: gnu/packages/perl.scm:1469 gnu/packages/perl.scm:4193
+msgid ""
+"This module converts Perl data structures to JSON and vice\n"
+"versa."
+msgstr ""
+
+#: gnu/packages/perl.scm:1487
+msgid "Random password generator"
+msgstr ""
+
+#: gnu/packages/perl.scm:1488
+msgid ""
+"Crypt::RandPasswd provides three functions that can be used\n"
+"to generate random passwords, constructed from words, letters, or characters.\n"
+"This code is a Perl implementation of the Automated Password Generator\n"
+"standard, like the program described in \"A Random Word Generator For\n"
+"Pronounceable Passwords\". This code is a re-engineering of the program\n"
+"contained in Appendix A of FIPS Publication 181, \"Standard for Automated\n"
+"Password Generator\"."
+msgstr ""
+
+#: gnu/packages/perl.scm:1513
+msgid "Perl implementation of the RC4 encryption algorithm"
+msgstr ""
+
+#: gnu/packages/perl.scm:1514
+msgid "A pure Perl implementation of the RC4 algorithm."
+msgstr ""
+
+#: gnu/packages/perl.scm:1533
+msgid "Temporarily change working directory"
+msgstr ""
+
+#: gnu/packages/perl.scm:1535
+msgid ""
+"@code{Cwd::Guard} changes the current directory using a limited scope.\n"
+"It returns to the previous working directory when the object is destroyed."
+msgstr ""
+
+#: gnu/packages/perl.scm:1573
+msgid "Library for genomic analysis"
+msgstr ""
+
+#: gnu/packages/perl.scm:1574
+msgid ""
+"Chaolin Zhang's Perl Library (czplib) contains assorted\n"
+"functions and data structures for processing and analysing genomic and\n"
+"bioinformatics data."
+msgstr ""
+
+#: gnu/packages/perl.scm:1603 gnu/packages/perl.scm:1769
+msgid "Base classes wrapping fundamental Perl data types"
+msgstr ""
+
+#: gnu/packages/perl.scm:1604
+msgid ""
+"Collection of classes that wrap fundamental data types that\n"
+"exist in Perl. These classes and methods as they exist today are an attempt\n"
+"to mirror functionality provided by Moose's Native Traits. One important\n"
+"thing to note is all classes currently do no validation on constructor\n"
+"input."
+msgstr ""
+
+#: gnu/packages/perl.scm:1627
+msgid "Compare Perl data structures"
+msgstr ""
+
+#: gnu/packages/perl.scm:1628
+msgid ""
+"This module compares arbitrary data structures to see if\n"
+"they are copies of each other."
+msgstr ""
+
+#: gnu/packages/perl.scm:1646
+msgid "Perl extension for generating unique identifiers"
+msgstr ""
+
+#: gnu/packages/perl.scm:1647
+msgid ""
+"@code{Data::Uniqid} provides three simple routines for\n"
+"generating unique ids. These ids are coded with a Base62 systen to make them\n"
+"short and handy (e.g. to use it as part of a URL)."
+msgstr ""
+
+#: gnu/packages/perl.scm:1666
+msgid "Pretty printing of data structures"
+msgstr ""
+
+#: gnu/packages/perl.scm:1667
+msgid ""
+"This module provide functions that takes a list of values as\n"
+"their argument and produces a string as its result. The string contains Perl\n"
+"code that, when \"eval\"ed, produces a deep copy of the original arguments."
+msgstr ""
+
+#: gnu/packages/perl.scm:1686
+msgid "Concise data dumper"
+msgstr ""
+
+#: gnu/packages/perl.scm:1687
+msgid ""
+"Data::Dumper::Concise provides a dumper with Less\n"
+"indentation and newlines plus sub deparsing."
+msgstr ""
+
+#: gnu/packages/perl.scm:1709
+msgid "Parse and validate simple name/value option pairs"
+msgstr ""
+
+#: gnu/packages/perl.scm:1711
+msgid "Data::OptList provides a simple syntax for name/value option pairs."
+msgstr ""
+
+#: gnu/packages/perl.scm:1733
+msgid "Help when paging through sets of results"
+msgstr ""
+
+#: gnu/packages/perl.scm:1734
+msgid ""
+"When searching through large amounts of data, it is often\n"
+"the case that a result set is returned that is larger than we want to display\n"
+"on one page. This results in wanting to page through various pages of data.\n"
+"The maths behind this is unfortunately fiddly, hence this module."
+msgstr ""
+
+#: gnu/packages/perl.scm:1771
+msgid ""
+"@code{Data::Perl} is a container class for the following classes:\n"
+"@itemize\n"
+"@item @code{Data::Perl::Collection::Hash}\n"
+"@item @code{Data::Perl::Collection::Array}\n"
+"@item @code{Data::Perl::String}\n"
+"@item @code{Data::Perl::Number}\n"
+"@item @code{Data::Perl::Counter}\n"
+"@item @code{Data::Perl::Bool}\n"
+"@item @code{Data::Perl::Code}\n"
+"@end itemize"
+msgstr ""
+
+#: gnu/packages/perl.scm:1802
+msgid "Colored pretty-print of Perl data structures and objects"
+msgstr ""
+
+#: gnu/packages/perl.scm:1803
+msgid ""
+"Display Perl variables and objects on screen, properly\n"
+"formatted (to be inspected by a human)."
+msgstr ""
+
+#: gnu/packages/perl.scm:1826
+msgid "Conditionally split data into records"
+msgstr ""
+
+#: gnu/packages/perl.scm:1827
+msgid ""
+"This Perl module allows you to split data into records by\n"
+"not only specifying what you wish to split the data on, but also by specifying\n"
+"an \"unless\" regular expression. If the text in question matches the\n"
+"\"unless\" regex, it will not be split there. This allows us to do things\n"
+"like split on newlines unless newlines are embedded in quotes."
+msgstr ""
+
+#: gnu/packages/perl.scm:1850
+msgid "Structured tags datastructures"
+msgstr ""
+
+#: gnu/packages/perl.scm:1852
+msgid ""
+"This module is for manipulating data as hierarchical tag/value\n"
+"pairs (Structured TAGs or Simple Tree AGgregates). These datastructures can\n"
+"be represented as nested arrays, which have the advantage of being native to\n"
+"Perl."
+msgstr ""
+
+#: gnu/packages/perl.scm:1879
+msgid "N at a time iteration API"
+msgstr ""
+
+#: gnu/packages/perl.scm:1880
+msgid ""
+"This module tries to find middle ground between one at a\n"
+"time and all at once processing of data sets. The purpose of this module is\n"
+"to avoid the overhead of implementing an iterative api when this isn't\n"
+"necessary, without breaking forward compatibility in case that becomes\n"
+"necessary later on."
+msgstr ""
+
+#: gnu/packages/perl.scm:1905
+msgid "Dynamic generation of nested combinations of variants"
+msgstr ""
+
+#: gnu/packages/perl.scm:1906
+msgid ""
+"Data::Tumbler - Dynamic generation of nested combinations of\n"
+"variants."
+msgstr ""
+
+#: gnu/packages/perl.scm:1932
+msgid "Visitor style traversal of Perl data structures"
+msgstr ""
+
+#: gnu/packages/perl.scm:1933
+msgid ""
+"This module is a simple visitor implementation for Perl\n"
+"values. It has a main dispatcher method, visit, which takes a single perl\n"
+"value and then calls the methods appropriate for that value. It can\n"
+"recursively map (cloning as necessary) or just traverse most structures, with\n"
+"support for per-object behavior, circular structures, visiting tied\n"
+"structures, and all ref types (hashes, arrays, scalars, code, globs)."
+msgstr ""
+
+#: gnu/packages/perl.scm:1958
+msgid "Gregorian calendar date calculations"
+msgstr ""
+
+#: gnu/packages/perl.scm:1959
+msgid ""
+"This package consists of a Perl module for date calculations\n"
+"based on the Gregorian calendar, thereby complying with all relevant norms and\n"
+"standards: ISO/R 2015-1971, DIN 1355 and, to some extent, ISO 8601 (where\n"
+"applicable)."
+msgstr ""
+
+#: gnu/packages/perl.scm:1983
+msgid "XS wrapper for Date::Calc"
+msgstr ""
+
+#: gnu/packages/perl.scm:1984
+msgid ""
+"Date::Calc::XS is an XS wrapper and C library plug-in for\n"
+"Date::Calc."
+msgstr ""
+
+#: gnu/packages/perl.scm:2008
+msgid "Date manipulation routines"
+msgstr ""
+
+#: gnu/packages/perl.scm:2009
+msgid ""
+"Date::Manip is a series of modules for common date/time\n"
+"operations, such as comparing two times, determining a date a given amount of\n"
+"time from another, or parsing international times."
+msgstr ""
+
+#: gnu/packages/perl.scm:2028
+msgid "Simple date handling"
+msgstr ""
+
+#: gnu/packages/perl.scm:2029
+msgid ""
+"Dates are complex enough without times and timezones. This\n"
+"module may be used to create simple date objects. It handles validation,\n"
+"interval arithmetic, and day-of-week calculation. It does not deal with\n"
+"hours, minutes, seconds, and time zones."
+msgstr ""
+
+#: gnu/packages/perl.scm:2061
+msgid "Date and time object for Perl"
+msgstr ""
+
+#: gnu/packages/perl.scm:2062
+msgid ""
+"DateTime is a class for the representation of date/time\n"
+"combinations. It represents the Gregorian calendar, extended backwards in\n"
+"time before its creation (in 1582)."
+msgstr ""
+
+#: gnu/packages/perl.scm:2084
+msgid "Dates in the Julian calendar"
+msgstr ""
+
+#: gnu/packages/perl.scm:2085
+msgid ""
+"This package is a companion module to @code{DateTime.pm}.\n"
+"It implements the Julian calendar. It supports everything that\n"
+"@code{DateTime.pm} supports and more: about one day per century more, to be\n"
+"precise."
+msgstr ""
+
+#: gnu/packages/perl.scm:2111
+msgid "DateTime set objects"
+msgstr ""
+
+#: gnu/packages/perl.scm:2112
+msgid ""
+"The DateTime::Set module provides a date/time sets\n"
+"implementation. It allows, for example, the generation of groups of dates,\n"
+"like \"every wednesday\", and then find all the dates matching that pattern,\n"
+"within a time range."
+msgstr ""
+
+#: gnu/packages/perl.scm:2135
+msgid "DateTime rfc2445 recurrences"
+msgstr ""
+
+#: gnu/packages/perl.scm:2136
+msgid ""
+"This module provides convenience methods that let you easily\n"
+"create DateTime::Set objects for RFC 2445 style recurrences."
+msgstr ""
+
+#: gnu/packages/perl.scm:2157
+msgid "DateTime::Set extension for basic recurrences"
+msgstr ""
+
+#: gnu/packages/perl.scm:2158
+msgid ""
+"This module provides convenience methods that let you easily\n"
+"create DateTime::Set objects for various recurrences, such as \"once a month\"\n"
+"or \"every day\". You can also create more complicated recurrences, such as\n"
+"\"every Monday, Wednesday and Thursday at 10:00 AM and 2:00 PM\"."
+msgstr ""
+
+#: gnu/packages/perl.scm:2183
+msgid "Create DateTime parser classes and objects"
+msgstr ""
+
+#: gnu/packages/perl.scm:2184
+msgid ""
+"DateTime::Format::Builder creates DateTime parsers. Many\n"
+"string formats of dates and times are simple and just require a basic regular\n"
+"expression to extract the relevant information. Builder provides a simple way\n"
+"to do this without writing reams of structural code."
+msgstr ""
+
+#: gnu/packages/perl.scm:2211
+msgid "Parse data/time strings"
+msgstr ""
+
+#: gnu/packages/perl.scm:2212
+msgid ""
+"DateTime::Format::Flexible attempts to take any string you\n"
+"give it and parse it into a DateTime object."
+msgstr ""
+
+#: gnu/packages/perl.scm:2238
+msgid "Parse and format iCal datetime and duration strings"
+msgstr ""
+
+#: gnu/packages/perl.scm:2239
+msgid ""
+"This module understands the ICal date/time and duration\n"
+"formats, as defined in RFC 2445. It can be used to parse these formats in\n"
+"order to create the appropriate objects."
+msgstr ""
+
+#: gnu/packages/perl.scm:2271
+msgid "Machine-readable date/time with natural parsing"
+msgstr ""
+
+#: gnu/packages/perl.scm:2272
+msgid ""
+"DateTime::Format::Natural takes a string with a human\n"
+"readable date/time and creates a machine readable one by applying natural\n"
+"parsing logic."
+msgstr ""
+
+#: gnu/packages/perl.scm:2299
+msgid "Parse and format strp and strf time patterns"
+msgstr ""
+
+#: gnu/packages/perl.scm:2300
+msgid ""
+"This module implements most of `strptime(3)`, the POSIX\n"
+"function that is the reverse of `strftime(3)`, for `DateTime`. While\n"
+"`strftime` takes a `DateTime` and a pattern and returns a string, `strptime`\n"
+"takes a string and a pattern and returns the `DateTime` object associated."
+msgstr ""
+
+#: gnu/packages/perl.scm:2332
+msgid "Localization support for DateTime.pm"
+msgstr ""
+
+#: gnu/packages/perl.scm:2333
+msgid ""
+"The DateTime::Locale modules provide localization data for\n"
+"the DateTime.pm class."
+msgstr ""
+
+#: gnu/packages/perl.scm:2361
+msgid "Time zone object for Perl"
+msgstr ""
+
+#: gnu/packages/perl.scm:2362
+msgid ""
+"This class is the base class for all time zone objects. A\n"
+"time zone is represented internally as a set of observances, each of which\n"
+"describes the offset from GMT for a given time period. Note that without the\n"
+"DateTime module, this module does not do much. It's primary interface is\n"
+"through a DateTime object, and most users will not need to directly use\n"
+"DateTime::TimeZone methods."
+msgstr ""
+
+#: gnu/packages/perl.scm:2392
+msgid "Parse date/time strings"
+msgstr ""
+
+#: gnu/packages/perl.scm:2393
+msgid ""
+"DateTimeX::Easy uses a variety of DateTime::Format packages\n"
+"to create DateTime objects, with some custom tweaks to smooth out the rough\n"
+"edges (mainly concerning timezone detection and selection)."
+msgstr ""
+
+#: gnu/packages/perl.scm:2414
+msgid "Convert between DateTime and RFC2822/822 formats"
+msgstr ""
+
+#: gnu/packages/perl.scm:2415
+msgid ""
+"RFCs 2822 and 822 specify date formats to be used by email.\n"
+"This module parses and emits such dates."
+msgstr ""
+
+#: gnu/packages/perl.scm:2437
+msgid "Parse and format W3CDTF datetime strings"
+msgstr ""
+
+#: gnu/packages/perl.scm:2439
+msgid ""
+"This module understands the W3CDTF date/time format, an ISO 8601 profile,\n"
+"defined at https://www.w3.org/TR/NOTE-datetime. This format is the native date\n"
+"format of RSS 1.0. It can be used to parse these formats in order to create\n"
+"the appropriate objects."
+msgstr ""
+
+#: gnu/packages/perl.scm:2461
+msgid "Meatier version of caller"
+msgstr ""
+
+#: gnu/packages/perl.scm:2462
+msgid "Devel::Caller provides meatier version of caller."
+msgstr ""
+
+#: gnu/packages/perl.scm:2480
+msgid "Check that a command is available"
+msgstr ""
+
+#: gnu/packages/perl.scm:2481
+msgid ""
+"Devel::CheckBin is a perl module that checks whether a\n"
+"particular command is available."
+msgstr ""
+
+#: gnu/packages/perl.scm:2500
+msgid "Check compiler availability"
+msgstr ""
+
+#: gnu/packages/perl.scm:2501
+msgid ""
+"@code{Devel::CheckCompiler} is a tiny module to check\n"
+"whether a compiler is available. It can test for a C99 compiler, or\n"
+"you can tell it to compile a C source file with optional linker flags."
+msgstr ""
+
+#: gnu/packages/perl.scm:2523
+msgid "Find memory cycles in objects"
+msgstr ""
+
+#: gnu/packages/perl.scm:2525
+msgid ""
+"@code{Devel::Cycle} This is a tool for finding circular references in\n"
+"objects and other types of references. Because of Perl's reference-count\n"
+"based memory management, circular references will cause memory leaks."
+msgstr ""
+
+#: gnu/packages/perl.scm:2546
+msgid "Provides equivalent of ${^GLOBAL_PHASE} eq 'DESTRUCT' for older perls"
+msgstr ""
+
+#: gnu/packages/perl.scm:2547
+msgid ""
+"Devel::GlobalDestruction provides a function returning the\n"
+"equivalent of \"$@{^GLOBAL_PHASE@} eq 'DESTRUCT'\" for older perls."
+msgstr ""
+
+#: gnu/packages/perl.scm:2568
+msgid "Forces the unavailability of specified Perl modules (for testing)"
+msgstr ""
+
+#: gnu/packages/perl.scm:2569
+msgid ""
+"Given a list of Perl modules/filenames, this module makes\n"
+"@code{require} and @code{use} statements fail (no matter whether the specified\n"
+"files/modules are installed or not)."
+msgstr ""
+
+#: gnu/packages/perl.scm:2590
+msgid "Alias lexical variables"
+msgstr ""
+
+#: gnu/packages/perl.scm:2591
+msgid ""
+"Devel::LexAlias provides the ability to alias a lexical\n"
+"variable in a subroutines scope to one of your choosing."
+msgstr ""
+
+#: gnu/packages/perl.scm:2615
+msgid "Introspect overloaded operators"
+msgstr ""
+
+#: gnu/packages/perl.scm:2616
+msgid ""
+"Devel::OverloadInfo returns information about overloaded\n"
+"operators for a given class (or object), including where in the inheritance\n"
+"hierarchy the overloads are declared and where the code implementing it is."
+msgstr ""
+
+#: gnu/packages/perl.scm:2643
+msgid "Partial dumping of data structures"
+msgstr ""
+
+#: gnu/packages/perl.scm:2644
+msgid ""
+"This module is a data dumper optimized for logging of\n"
+"arbitrary parameters."
+msgstr ""
+
+#: gnu/packages/perl.scm:2662
+msgid "Object representing a stack trace"
+msgstr ""
+
+#: gnu/packages/perl.scm:2663
+msgid ""
+"The Devel::StackTrace module contains two classes,\n"
+"Devel::StackTrace and Devel::StackTrace::Frame. These objects encapsulate the\n"
+"information that can be retrieved via Perl's caller() function, as well as\n"
+"providing a simple interface to this data."
+msgstr ""
+
+#: gnu/packages/perl.scm:2685
+msgid "Displays stack trace in HTML"
+msgstr ""
+
+#: gnu/packages/perl.scm:2686
+msgid ""
+"Devel::StackTrace::AsHTML adds as_html method to\n"
+"Devel::StackTrace which displays the stack trace in beautiful HTML, with code\n"
+"snippet context and function parameters. If you call it on an instance of\n"
+"Devel::StackTrace::WithLexicals, you even get to see the lexical variables of\n"
+"each stack frame."
+msgstr ""
+
+#: gnu/packages/perl.scm:2707
+msgid "Dump symbol names or the symbol table"
+msgstr ""
+
+#: gnu/packages/perl.scm:2708
+msgid "Devel::Symdump provides access to the perl symbol table."
+msgstr ""
+
+#: gnu/packages/perl.scm:2725
+msgid "Keyed-Hashing for Message Authentication"
+msgstr ""
+
+#: gnu/packages/perl.scm:2726
+msgid ""
+"The Digest::HMAC module follows the common Digest::\n"
+"interface for the RFC 2104 HMAC mechanism."
+msgstr ""
+
+#: gnu/packages/perl.scm:2751
+msgid "Perl interface to the MD-5 algorithm"
+msgstr ""
+
+#: gnu/packages/perl.scm:2753
+msgid ""
+"The @code{Digest::MD5} module allows you to use the MD5 Message Digest\n"
+"algorithm from within Perl programs. The algorithm takes as\n"
+"input a message of arbitrary length and produces as output a\n"
+"128-bit \"fingerprint\" or \"message digest\" of the input."
+msgstr ""
+
+#: gnu/packages/perl.scm:2771
+msgid "Perl implementation of the SHA-1 message digest algorithm"
+msgstr ""
+
+#: gnu/packages/perl.scm:2773
+msgid ""
+"This package provides 'Digest::SHA1', an implementation of the NIST\n"
+"SHA-1 message digest algorithm for use by Perl programs."
+msgstr ""
+
+#: gnu/packages/perl.scm:2795
+msgid "Declare version conflicts for your dist"
+msgstr ""
+
+#: gnu/packages/perl.scm:2796
+msgid ""
+"This module allows you to specify conflicting versions of\n"
+"modules separately and deal with them after the module is done installing."
+msgstr ""
+
+#: gnu/packages/perl.scm:2816
+msgid "Detect the encoding of data"
+msgstr ""
+
+#: gnu/packages/perl.scm:2817
+msgid ""
+"This package provides a class @code{Encode::Detect} to detect\n"
+"the encoding of data."
+msgstr ""
+
+#: gnu/packages/perl.scm:2835
+msgid "ASCII mapping for eucJP encoding"
+msgstr ""
+
+#: gnu/packages/perl.scm:2836
+msgid ""
+"This package provides an ASCII mapping for the eucJP\n"
+"encoding."
+msgstr ""
+
+#: gnu/packages/perl.scm:2854
+msgid "JIS X 0212 (aka JIS 2000) encodings"
+msgstr ""
+
+#: gnu/packages/perl.scm:2855
+msgid ""
+"This package provides encodings for JIS X 0212, which is\n"
+"also known as JIS 2000."
+msgstr ""
+
+#: gnu/packages/perl.scm:2878
+msgid "Additional Chinese encodings"
+msgstr ""
+
+#: gnu/packages/perl.scm:2879
+msgid ""
+"This Perl module provides Chinese encodings that are not\n"
+"part of Perl by default, including \"BIG5-1984\", \"BIG5-2003\", \"BIG5PLUS\",\n"
+"\"BIG5EXT\", \"CCCII\", \"EUC-TW\", \"CNS11643-*\", \"GB18030\", and\n"
+"\"UNISYS\"."
+msgstr ""
+
+#: gnu/packages/perl.scm:2901
+msgid "Advanced operations on path variables"
+msgstr ""
+
+#: gnu/packages/perl.scm:2902
+msgid ""
+"@code{Env::Path} presents an object-oriented interface to\n"
+"path variables, defined as that subclass of environment variables which name\n"
+"an ordered list of file system elements separated by a platform-standard\n"
+"separator."
+msgstr ""
+
+#: gnu/packages/perl.scm:2922
+msgid "OO-ish Error/Exception handling for Perl"
+msgstr ""
+
+#: gnu/packages/perl.scm:2923
+msgid ""
+"The Error package provides two interfaces. Firstly Error\n"
+"provides a procedural interface to exception handling. Secondly Error is a\n"
+"base class for errors/exceptions that can either be thrown, for subsequent\n"
+"catch, or can simply be recorded."
+msgstr ""
+
+#: gnu/packages/perl.scm:2948
+msgid "Safely and cleanly create closures via string eval"
+msgstr ""
+
+#: gnu/packages/perl.scm:2949
+msgid ""
+"String eval is often used for dynamic code generation. For\n"
+"instance, Moose uses it heavily, to generate inlined versions of accessors and\n"
+"constructors, which speeds code up at runtime by a significant amount. String\n"
+"eval is not without its issues however - it's difficult to control the scope\n"
+"it's used in (which determines which variables are in scope inside the eval),\n"
+"and it's easy to miss compilation errors, since eval catches them and sticks\n"
+"them in $@@ instead. This module attempts to solve these problems. It\n"
+"provides an eval_closure function, which evals a string in a clean\n"
+"environment, other than a fixed list of specified variables. Compilation\n"
+"errors are rethrown automatically."
+msgstr ""
+
+#: gnu/packages/perl.scm:2978
+msgid "Allows you to declare real exception classes in Perl"
+msgstr ""
+
+#: gnu/packages/perl.scm:2979
+msgid ""
+"Exception::Class allows you to declare exception hierarchies\n"
+"in your modules in a \"Java-esque\" manner."
+msgstr ""
+
+#: gnu/packages/perl.scm:2995
+msgid "Lightweight exporting of functions and variables"
+msgstr ""
+
+#: gnu/packages/perl.scm:2997
+msgid ""
+"Exporter::Lite is an alternative to Exporter, intended to provide a\n"
+"lightweight subset of the most commonly-used functionality. It supports\n"
+"import(), @@EXPORT and @@EXPORT_OK and not a whole lot else."
+msgstr ""
+
+#: gnu/packages/perl.scm:3017
+msgid "Exporter with the features of Sub::Exporter but only core dependencies"
+msgstr ""
+
+#: gnu/packages/perl.scm:3018
+msgid ""
+"Exporter::Tiny supports many of Sub::Exporter's\n"
+"external-facing features including renaming imported functions with the `-as`,\n"
+"`-prefix` and `-suffix` options; explicit destinations with the `into` option;\n"
+"and alternative installers with the `installler` option. But it's written in\n"
+"only about 40% as many lines of code and with zero non-core dependencies."
+msgstr ""
+
+#: gnu/packages/perl.scm:3041
+msgid "Build.PL install path logic made easy"
+msgstr ""
+
+#: gnu/packages/perl.scm:3042
+msgid ""
+"This module tries to make install path resolution as easy as\n"
+"possible."
+msgstr ""
+
+#: gnu/packages/perl.scm:3060
+msgid "Wrapper for perl's configuration"
+msgstr ""
+
+#: gnu/packages/perl.scm:3061
+msgid ""
+"ExtUtils::Config is an abstraction around the %Config hash.\n"
+"By itself it is not a particularly interesting module by any measure, however\n"
+"it ties together a family of modern toolchain modules."
+msgstr ""
+
+#: gnu/packages/perl.scm:3081
+msgid "Easily build XS extensions that depend on XS extensions"
+msgstr ""
+
+#: gnu/packages/perl.scm:3083
+msgid ""
+"This module tries to make it easy to build Perl extensions that use\n"
+"functions and typemaps provided by other perl extensions. This means that a\n"
+"perl extension is treated like a shared library that provides also a C and an\n"
+"XS interface besides the perl one."
+msgstr ""
+
+#: gnu/packages/perl.scm:3103
+msgid "Various portability utilities for module builders"
+msgstr ""
+
+#: gnu/packages/perl.scm:3104
+msgid ""
+"This module provides various portable helper functions for\n"
+"module building modules."
+msgstr ""
+
+#: gnu/packages/perl.scm:3124
+msgid "Tool to build C libraries"
+msgstr ""
+
+#: gnu/packages/perl.scm:3125
+msgid ""
+"Some Perl modules need to ship C libraries together with\n"
+"their Perl code. Although there are mechanisms to compile and link (or glue)\n"
+"C code in your Perl programs, there isn't a clear method to compile standard,\n"
+"self-contained C libraries. This module main goal is to help in that task."
+msgstr ""
+
+#: gnu/packages/perl.scm:3146
+msgid "Simplistic interface to pkg-config"
+msgstr ""
+
+#: gnu/packages/perl.scm:3148
+msgid ""
+"@code{ExtUtils::PkgConfig} is a very simplistic interface to the\n"
+"@command{pkg-config} utility, intended for use in the @file{Makefile.PL}\n"
+"of perl extensions which bind libraries that @command{pkg-config} knows.\n"
+"It is really just boilerplate code that you would have written yourself."
+msgstr ""
+
+#: gnu/packages/perl.scm:3180
+msgid "Watch for changes to files"
+msgstr ""
+
+#: gnu/packages/perl.scm:3181
+msgid ""
+"This module provides a class to monitor a directory for\n"
+"changes made to any file."
+msgstr ""
+
+#: gnu/packages/perl.scm:3202
+msgid "Get directories of configuration files"
+msgstr ""
+
+#: gnu/packages/perl.scm:3203
+msgid ""
+"This module is a helper for installing, reading and finding\n"
+"configuration file locations. @code{File::ConfigDir} is a module to help out\n"
+"when Perl modules (especially applications) need to read and store\n"
+"configuration files from more than one location."
+msgstr ""
+
+#: gnu/packages/perl.scm:3223
+msgid "Recursively copy files and directories"
+msgstr ""
+
+#: gnu/packages/perl.scm:3224
+msgid ""
+"This module has 3 functions: one to copy files only, one to\n"
+"copy directories only, and one to do either depending on the argument's\n"
+"type."
+msgstr ""
+
+#: gnu/packages/perl.scm:3246
+msgid "Alternative interface to File::Find"
+msgstr ""
+
+#: gnu/packages/perl.scm:3247
+msgid ""
+"File::Find::Rule is a friendlier interface to File::Find.\n"
+"It allows you to build rules which specify the desired files and\n"
+"directories."
+msgstr ""
+
+#: gnu/packages/perl.scm:3270
+msgid "Common rules for searching for Perl things"
+msgstr ""
+
+#: gnu/packages/perl.scm:3271
+msgid ""
+"File::Find::Rule::Perl provides methods for finding various\n"
+"types Perl-related files, or replicating search queries run on a distribution\n"
+"in various parts of the CPAN ecosystem."
+msgstr ""
+
+#: gnu/packages/perl.scm:3292
+msgid "Matches patterns in a series of files"
+msgstr ""
+
+#: gnu/packages/perl.scm:3293
+msgid ""
+"@code{File::Grep} provides similar functionality as perl's\n"
+"builtin @code{grep}, @code{map}, and @code{foreach} commands, but iterating\n"
+"over a passed filelist instead of arrays. While trivial, this module can\n"
+"provide a quick dropin when such functionality is needed."
+msgstr ""
+
+#: gnu/packages/perl.scm:3316
+msgid "Find your home and other directories on any platform"
+msgstr ""
+
+#: gnu/packages/perl.scm:3317
+msgid ""
+"File::HomeDir is a module for locating the directories that\n"
+"are \"owned\" by a user (typically your user) and to solve the various issues\n"
+"that arise trying to find them consistently across a wide variety of\n"
+"platforms."
+msgstr ""
+
+#: gnu/packages/perl.scm:3339
+msgid "Create or remove directory trees"
+msgstr ""
+
+#: gnu/packages/perl.scm:3340
+msgid ""
+"This module provide a convenient way to create directories\n"
+"of arbitrary depth and to delete an entire directory subtree from the\n"
+"file system."
+msgstr ""
+
+#: gnu/packages/perl.scm:3363
+msgid "Change directory temporarily for a limited scope"
+msgstr ""
+
+#: gnu/packages/perl.scm:3364
+msgid ""
+"@code{File::pushd} does a temporary @code{chdir} that is\n"
+"easily and automatically reverted, similar to @code{pushd} in some Unix\n"
+"command shells. It works by creating an object that caches the original\n"
+"working directory. When the object is destroyed, the destructor calls\n"
+"@code{chdir} to revert to the original working directory. By storing the\n"
+"object in a lexical variable with a limited scope, this happens automatically\n"
+"at the end of the scope."
+msgstr ""
+
+#: gnu/packages/perl.scm:3392
+msgid ""
+"Perl extension for crawling directory trees and compiling\n"
+"lists of files"
+msgstr ""
+
+#: gnu/packages/perl.scm:3395
+msgid ""
+"The File::List module crawls the directory tree starting at the\n"
+"provided base directory and can return files (and/or directories if desired)\n"
+"matching a regular expression."
+msgstr ""
+
+#: gnu/packages/perl.scm:3414
+msgid "Remove files and directories in Perl"
+msgstr ""
+
+#: gnu/packages/perl.scm:3415
+msgid ""
+"File::Remove::remove removes files and directories. It acts\n"
+"like /bin/rm, for the most part. Although \"unlink\" can be given a list of\n"
+"files, it will not remove directories; this module remedies that. It also\n"
+"accepts wildcards, * and ?, as arguments for file names."
+msgstr ""
+
+#: gnu/packages/perl.scm:3439
+msgid "Locate per-dist and per-module shared files"
+msgstr ""
+
+#: gnu/packages/perl.scm:3440
+msgid ""
+"The intent of File::ShareDir is to provide a companion to\n"
+"Class::Inspector and File::HomeDir. Quite often you want or need your Perl\n"
+"module to have access to a large amount of read-only data that is stored on\n"
+"the file-system at run-time. Once the files have been installed to the\n"
+"correct directory, you can use File::ShareDir to find your files again after\n"
+"the installation."
+msgstr ""
+
+#: gnu/packages/perl.scm:3462
+msgid "Locate per-dist shared files"
+msgstr ""
+
+#: gnu/packages/perl.scm:3463
+msgid ""
+"File::ShareDir::Dist finds share directories for\n"
+"distributions. It is a companion module to File::ShareDir."
+msgstr ""
+
+#: gnu/packages/perl.scm:3483
+msgid "Install shared files"
+msgstr ""
+
+#: gnu/packages/perl.scm:3484
+msgid ""
+"File::ShareDir::Install allows you to install read-only data\n"
+"files from a distribution. It is a companion module to File::ShareDir, which\n"
+"allows you to locate these files after installation."
+msgstr ""
+
+#: gnu/packages/perl.scm:3503
+msgid "Reading/Writing/Modifying of complete files"
+msgstr ""
+
+#: gnu/packages/perl.scm:3504
+msgid ""
+"File::Slurp provides subroutines to read or write entire\n"
+"files with a simple call. It also has a subroutine for reading the list of\n"
+"file names in a directory."
+msgstr ""
+
+#: gnu/packages/perl.scm:3527
+msgid "Simple, sane and efficient module to slurp a file"
+msgstr ""
+
+#: gnu/packages/perl.scm:3528
+msgid ""
+"This module provides functions for fast and correct file\n"
+"slurping and spewing. All functions are optionally exported."
+msgstr ""
+
+#: gnu/packages/perl.scm:3545
+msgid "Simple file reader and writer"
+msgstr ""
+
+#: gnu/packages/perl.scm:3547
+msgid "This module provides functions for fast reading and writing of files."
+msgstr ""
+
+#: gnu/packages/perl.scm:3566
+msgid "Return name and handle of a temporary file safely"
+msgstr ""
+
+#: gnu/packages/perl.scm:3567
+msgid ""
+"File::Temp can be used to create and open temporary files in\n"
+"a safe way."
+msgstr ""
+
+#: gnu/packages/perl.scm:3584
+msgid "Portable implementation of the `which' utility"
+msgstr ""
+
+#: gnu/packages/perl.scm:3586
+msgid ""
+"File::Which was created to be able to get the paths to executable\n"
+"programs on systems under which the `which' program wasn't implemented in the\n"
+"shell."
+msgstr ""
+
+#: gnu/packages/perl.scm:3609
+msgid "Extended Unix style glob functionality"
+msgstr ""
+
+#: gnu/packages/perl.scm:3610
+msgid ""
+"@code{File::Zglob} provides a traditional Unix @code{glob}\n"
+"functionality; it returns a list of file names that match the given pattern.\n"
+"For instance, it supports the @code{**/*.pm} form."
+msgstr ""
+
+#: gnu/packages/perl.scm:3629
+msgid "Module to handle parsing command line options"
+msgstr ""
+
+#: gnu/packages/perl.scm:3630
+msgid ""
+"The @code{Getopt::Long} module implements an extended getopt\n"
+"function called @code{GetOptions()}. It parses the command line from\n"
+"@code{ARGV}, recognizing and removing specified options and their possible\n"
+"values.\n"
+"\n"
+"This function adheres to the POSIX syntax for command line options, with GNU\n"
+"extensions. In general, this means that options have long names instead of\n"
+"single letters, and are introduced with a double dash \"--\". Support for\n"
+"bundling of command line options, as was the case with the more traditional\n"
+"single-letter approach, is provided but not enabled by default."
+msgstr ""
+
+#: gnu/packages/perl.scm:3664
+msgid "Getopt::Long, but simpler and more powerful"
+msgstr ""
+
+#: gnu/packages/perl.scm:3665
+msgid ""
+"Getopt::Long::Descriptive is yet another Getopt library.\n"
+"It's built atop Getopt::Long, and gets a lot of its features, but tries to\n"
+"avoid making you think about its huge array of options. It also provides\n"
+"usage (help) messages, data validation, and a few other useful features."
+msgstr ""
+
+#: gnu/packages/perl.scm:3683
+msgid "Table-driven argument parsing for Perl"
+msgstr ""
+
+#: gnu/packages/perl.scm:3685
+msgid ""
+"Getopt::Tabular is a Perl 5 module for table-driven argument parsing,\n"
+"vaguely inspired by John Ousterhout's Tk_ParseArgv."
+msgstr ""
+
+#: gnu/packages/perl.scm:3707
+msgid "Graph data structures and algorithms"
+msgstr ""
+
+#: gnu/packages/perl.scm:3708
+msgid ""
+"This is @code{Graph}, a Perl module for dealing with graphs,\n"
+"the abstract data structures."
+msgstr ""
+
+#: gnu/packages/perl.scm:3725
+msgid "Safe cleanup blocks implemented as guards"
+msgstr ""
+
+#: gnu/packages/perl.scm:3726
+msgid ""
+"@code{Guard} implements so-called @dfn{guards}. A guard is\n"
+"something (usually an object) that \"guards\" a resource, ensuring that it is\n"
+"cleaned up when expected.\n"
+"\n"
+"Specifically, this module supports two different types of guards: guard\n"
+"objects, which execute a given code block when destroyed, and scoped guards,\n"
+"which are tied to the scope exit."
+msgstr ""
+
+#: gnu/packages/perl.scm:3762
+msgid "Lightweight field hash for inside-out objects"
+msgstr ""
+
+#: gnu/packages/perl.scm:3763
+msgid ""
+"@code{Hash::FieldHash} provides the field hash mechanism\n"
+"which supports the inside-out technique. It is an alternative to\n"
+"@code{Hash::Util::FieldHash} with a simpler interface, higher performance, and\n"
+"relic support."
+msgstr ""
+
+#: gnu/packages/perl.scm:3783
+msgid "Merge arbitrarily deep hashes into a single hash"
+msgstr ""
+
+#: gnu/packages/perl.scm:3784
+msgid ""
+"Hash::Merge merges two arbitrarily deep hashes into a single\n"
+"hash. That is, at any level, it will add non-conflicting key-value pairs from\n"
+"one hash to the other, and follows a set of specific rules when there are key\n"
+"value conflicts. The hash is followed recursively, so that deeply nested\n"
+"hashes that are at the same level will be merged when the parent hashes are\n"
+"merged."
+msgstr ""
+
+#: gnu/packages/perl.scm:3806
+msgid "Store multiple values per key"
+msgstr ""
+
+#: gnu/packages/perl.scm:3807
+msgid ""
+"Hash::MultiValue is an object (and a plain hash reference)\n"
+"that may contain multiple values per key, inspired by MultiDict of WebOb."
+msgstr ""
+
+#: gnu/packages/perl.scm:3825
+msgid "Alternative but compatible interface to modules that export symbols"
+msgstr ""
+
+#: gnu/packages/perl.scm:3826
+msgid ""
+"This module acts as a layer between Exporter and modules which\n"
+"consume exports. It is feature-compatible with Exporter, plus some much needed\n"
+"extras. You can use this to import symbols from any exporter that follows\n"
+"Exporters specification. The exporter modules themselves do not need to use or\n"
+"inherit from the Exporter module, they just need to set @@EXPORT and/or other\n"
+"variables."
+msgstr ""
+
+#: gnu/packages/perl.scm:3850
+msgid "Import packages into other packages"
+msgstr ""
+
+#: gnu/packages/perl.scm:3851
+msgid ""
+"Writing exporters is a pain. Some use Exporter, some use\n"
+"Sub::Exporter, some use Moose::Exporter, some use Exporter::Declare ... and\n"
+"some things are pragmas. Exporting on someone else's behalf is harder. The\n"
+"exporters don't provide a consistent API for this, and pragmas need to have\n"
+"their import method called directly, since they effect the current unit of\n"
+"compilation. Import::Into provides global methods to make this painless."
+msgstr ""
+
+#: gnu/packages/perl.scm:3873
+msgid "Use modules in inc/ if newer than installed"
+msgstr ""
+
+#: gnu/packages/perl.scm:3874
+msgid ""
+"The inc::latest module helps bootstrap configure-time\n"
+"dependencies for CPAN distributions. These dependencies get bundled into the\n"
+"inc directory within a distribution and are used by Makefile.PL or Build.PL."
+msgstr ""
+
+#: gnu/packages/perl.scm:3895
+msgid "Capture STDOUT and STDERR from Perl code, subprocesses or XS"
+msgstr ""
+
+#: gnu/packages/perl.scm:3896
+msgid ""
+"@code{IO::CaptureOutput} provides routines for capturing\n"
+"@code{STDOUT} and @code{STDERR} from perl subroutines, forked system\n"
+"calls (e.g. @code{system()}, @code{fork()}) and from XS or C modules.\n"
+"\n"
+"This module is no longer recommended by its maintainer. Users are advised to\n"
+"try @code{Capture::Tiny} instead."
+msgstr ""
+
+#: gnu/packages/perl.scm:3918
+msgid "Utilities for interactive I/O"
+msgstr ""
+
+#: gnu/packages/perl.scm:3919
+msgid ""
+"This module provides three utility subroutines that make it\n"
+"easier to develop interactive applications: is_interactive(), interactive(),\n"
+"and busy()."
+msgstr ""
+
+#: gnu/packages/perl.scm:3938
+msgid "Emulate file interface for in-core strings"
+msgstr ""
+
+#: gnu/packages/perl.scm:3939
+msgid ""
+"IO::String is an IO::File (and IO::Handle) compatible class\n"
+"that reads or writes data from in-core strings."
+msgstr ""
+
+#: gnu/packages/perl.scm:3957
+msgid "IO:: interface for reading/writing an array of lines"
+msgstr ""
+
+#: gnu/packages/perl.scm:3958
+msgid ""
+"This toolkit primarily provides modules for performing both\n"
+"traditional and object-oriented i/o) on things *other* than normal\n"
+"filehandles; in particular, IO::Scalar, IO::ScalarArray, and IO::Lines."
+msgstr ""
+
+#: gnu/packages/perl.scm:3976
+msgid "Perl interface to pseudo ttys"
+msgstr ""
+
+#: gnu/packages/perl.scm:3978
+msgid ""
+"This package provides the 'IO::Pty' and 'IO::Tty' Perl interfaces to\n"
+"pseudo ttys."
+msgstr ""
+
+#: gnu/packages/perl.scm:3996
+msgid "Run interactive command-line programs"
+msgstr ""
+
+#: gnu/packages/perl.scm:3997
+msgid ""
+"@code{IPC::Cmd} allows for the searching and execution of\n"
+"any binary on your system. It adheres to verbosity settings and is able to\n"
+"run interactively. It also has an option to capture output/error buffers."
+msgstr ""
+
+#: gnu/packages/perl.scm:4026
+msgid "Run system() and background procs w/ piping, redirs, ptys"
+msgstr ""
+
+#: gnu/packages/perl.scm:4027
+msgid ""
+"IPC::Run allows you run and interact with child processes\n"
+"using files, pipes, and pseudo-ttys. Both system()-style and scripted usages\n"
+"are supported and may be mixed. Likewise, functional and OO API styles are\n"
+"both supported and may be mixed."
+msgstr ""
+
+#: gnu/packages/perl.scm:4045
+msgid "Run a subprocess with input/output redirection"
+msgstr ""
+
+#: gnu/packages/perl.scm:4047
+msgid ""
+"The IPC::Run3 module allows you to run a subprocess and redirect stdin,\n"
+"stdout, and/or stderr to files and perl data structures. It aims to satisfy\n"
+"99% of the need for using system, qx, and open3 with a simple, extremely\n"
+"Perlish API and none of the bloat and rarely used features of IPC::Run."
+msgstr ""
+
+#: gnu/packages/perl.scm:4071
+msgid "Lightweight interface to shared memory"
+msgstr ""
+
+#: gnu/packages/perl.scm:4072
+msgid ""
+"IPC::ShareLite provides a simple interface to shared memory,\n"
+"allowing data to be efficiently communicated between processes."
+msgstr ""
+
+#: gnu/packages/perl.scm:4090
+msgid "Run commands simply, with detailed diagnostics"
+msgstr ""
+
+#: gnu/packages/perl.scm:4091
+msgid ""
+"Calling Perl's in-built @code{system} function is easy,\n"
+"determining if it was successful is hard. Let's face it, @code{$?} isn't the\n"
+"nicest variable in the world to play with, and even if you do check it,\n"
+"producing a well-formatted error string takes a lot of work.\n"
+"\n"
+"@code{IPC::System::Simple} takes the hard work out of calling external\n"
+"commands."
+msgstr ""
+
+#: gnu/packages/perl.scm:4116
+msgid "JSON encoder/decoder for Perl"
+msgstr ""
+
+#: gnu/packages/perl.scm:4117
+msgid ""
+"This module converts Perl data structures to JSON and vice\n"
+"versa using either JSON::XS or JSON::PP."
+msgstr ""
+
+#: gnu/packages/perl.scm:4142
+msgid "Wrapper for Perl JSON classes"
+msgstr ""
+
+#: gnu/packages/perl.scm:4144
+msgid ""
+"This module tries to provide a coherent API to bring together the\n"
+"various JSON modules currently on CPAN. This module will allow you to code to\n"
+"any JSON API and have it work regardless of which JSON module is actually\n"
+"installed."
+msgstr ""
+
+#: gnu/packages/perl.scm:4168
+msgid "Cpanel::JSON::XS with fallback"
+msgstr ""
+
+#: gnu/packages/perl.scm:4169
+msgid ""
+"This module first checks to see if either Cpanel::JSON::XS\n"
+"or JSON::XS is already loaded, in which case it uses that module. Otherwise\n"
+"it tries to load Cpanel::JSON::XS, then JSON::XS, then JSON::PP in order, and\n"
+"either uses the first module it finds or throws an error."
+msgstr ""
+
+#: gnu/packages/perl.scm:4192
+msgid "JSON serialising/deserialising for Perl"
+msgstr ""
+
+#: gnu/packages/perl.scm:4211
+msgid "Bringing loggers and listeners together"
+msgstr ""
+
+#: gnu/packages/perl.scm:4212
+msgid ""
+"@code{Log::Any} provides a standard log production API for\n"
+"modules. @code{Log::Any::Adapter} allows applications to choose the mechanism\n"
+"for log consumption, whether screen, file or another logging mechanism like\n"
+"@code{Log::Dispatch} or @code{Log::Log4perl}.\n"
+"\n"
+"A CPAN module uses @code{Log::Any} to get a log producer object. An\n"
+"application, in turn, may choose one or more logging mechanisms via\n"
+"@code{Log::Any::Adapter}, or none at all.\n"
+"\n"
+"@code{Log::Any} has a very tiny footprint and no dependencies beyond Perl\n"
+"itself, which makes it appropriate for even small CPAN modules to use. It\n"
+"defaults to 'null' logging activity, so a module can safely log without\n"
+"worrying about whether the application has chosen (or will ever choose) a\n"
+"logging mechanism."
+msgstr ""
+
+#: gnu/packages/perl.scm:4248
+msgid "Log::Any adapter for Log::Log4perl"
+msgstr ""
+
+#: gnu/packages/perl.scm:4249
+msgid ""
+"@code{Log::Any::Adapter::Log4perl} provides a\n"
+"@code{Log::Any} adapter using @code{Log::Log4perl} for logging."
+msgstr ""
+
+#: gnu/packages/perl.scm:4270
+msgid "Log4j implementation for Perl"
+msgstr ""
+
+#: gnu/packages/perl.scm:4271
+msgid ""
+"@code{Log::Log4perl} lets you remote-control and fine-tune\n"
+"the logging behaviour of your system from the outside. It implements the\n"
+"widely popular (Java-based) Log4j logging package in pure Perl."
+msgstr ""
+
+#: gnu/packages/perl.scm:4291
+msgid "Log::Report in the lightest form"
+msgstr ""
+
+#: gnu/packages/perl.scm:4293
+msgid ""
+"This module allows libraries to have a dependency to a small module\n"
+"instead of the full Log-Report distribution. The full power of\n"
+"@code{Log::Report} is only released when the main program uses that module.\n"
+"In that case, the module using the 'Optional' will also use the full\n"
+"@code{Log::Report}, otherwise the dressed-down @code{Log::Report::Minimal}\n"
+"version."
+msgstr ""
+
+#: gnu/packages/perl.scm:4318
+msgid "Get messages to users and logs"
+msgstr ""
+
+#: gnu/packages/perl.scm:4320
+msgid ""
+"@code{Log::Report} combines three tasks which are closely related in\n"
+"one: logging, exceptions, and translations."
+msgstr ""
+
+#: gnu/packages/perl.scm:4349
+msgid "High-level interface to Uniforum message translation"
+msgstr ""
+
+#: gnu/packages/perl.scm:4350
+msgid ""
+"This package is an internationalization library for Perl\n"
+"that aims to be compatible with the Uniforum message translations system as\n"
+"implemented for example in GNU gettext."
+msgstr ""
+
+#: gnu/packages/perl.scm:4369
+msgid "Transliterate text between writing systems"
+msgstr ""
+
+#: gnu/packages/perl.scm:4370
+msgid ""
+"@code{Lingua::Translit} can be used to convert text from one\n"
+"writing system to another, based on national or international transliteration\n"
+"tables. Where possible a reverse transliteration is supported."
+msgstr ""
+
+#: gnu/packages/perl.scm:4394
+msgid "Combination of List::Util and List::MoreUtils"
+msgstr ""
+
+#: gnu/packages/perl.scm:4395
+msgid ""
+"This module exports all of the functions that either\n"
+"List::Util or List::MoreUtils defines, with preference to List::Util."
+msgstr ""
+
+#: gnu/packages/perl.scm:4417
+msgid "Compare elements of two or more lists"
+msgstr ""
+
+#: gnu/packages/perl.scm:4418
+msgid ""
+"@code{List::Compare} provides a module to perform\n"
+"comparative operations on two or more lists. Provided operations include\n"
+"intersections, unions, unique elements, complements and many more."
+msgstr ""
+
+#: gnu/packages/perl.scm:4453 gnu/packages/perl.scm:4504
+msgid "Provide the stuff missing in List::Util"
+msgstr ""
+
+#: gnu/packages/perl.scm:4454
+msgid ""
+"List::MoreUtils provides some trivial but commonly needed\n"
+"functionality on lists which is not going to go into List::Util."
+msgstr ""
+
+#: gnu/packages/perl.scm:4476
+msgid "Provide the stuff missing in List::Util in XS"
+msgstr ""
+
+#: gnu/packages/perl.scm:4477
+msgid ""
+"@code{List::MoreUtils::XS} provides some trivial but\n"
+"commonly needed functionality on lists which is not going to go into\n"
+"@code{List::Util}."
+msgstr ""
+
+#: gnu/packages/perl.scm:4505
+msgid ""
+"@code{List::SomeUtils} provides some trivial but commonly\n"
+"needed functionality on lists which is not going to go into @code{List::Util}.\n"
+"\n"
+"All of the below functions are implementable in only a couple of lines of Perl\n"
+"code. Using the functions from this module however should give slightly\n"
+"better performance as everything is implemented in C. The pure-Perl\n"
+"implementation of these functions only serves as a fallback in case the C\n"
+"portions of this module couldn't be compiled on this machine."
+msgstr ""
+
+#: gnu/packages/perl.scm:4534
+msgid "Bundle of ancient email modules"
+msgstr ""
+
+#: gnu/packages/perl.scm:4535
+msgid ""
+"MailTools contains the following modules:\n"
+"@table @asis\n"
+"@item Mail::Address\n"
+"Parse email address from a header line.\n"
+"@item Mail::Cap\n"
+"Interpret mailcap files: mappings of file-types to applications as used by\n"
+"many command-line email programs.\n"
+"@item Mail::Field\n"
+"Simplifies access to (some) email header fields. Used by Mail::Header.\n"
+"@item Mail::Filter\n"
+"Process Mail::Internet messages.\n"
+"@item Mail::Header\n"
+"Collection of Mail::Field objects, representing the header of a Mail::Internet\n"
+"object.\n"
+"@item Mail::Internet\n"
+"Represents a single email message, with header and body.\n"
+"@item Mail::Mailer\n"
+"Send Mail::Internet emails via direct smtp or local MTA's.\n"
+"@item Mail::Send\n"
+"Build a Mail::Internet object, and then send it out using Mail::Mailer.\n"
+"@item Mail::Util\n"
+"\"Smart functions\" you should not depend on.\n"
+"@end table"
+msgstr ""
+
+#: gnu/packages/perl.scm:4574
+msgid "Expiry plug-in for Memoize that adds LRU cache expiration"
+msgstr ""
+
+#: gnu/packages/perl.scm:4575
+msgid ""
+"This module implements an expiry policy for Memoize that\n"
+"follows LRU semantics, that is, the last n results, where n is specified as\n"
+"the argument to the CACHESIZE parameter, will be cached."
+msgstr ""
+
+#: gnu/packages/perl.scm:4593
+msgid "Charset information for MIME messages"
+msgstr ""
+
+#: gnu/packages/perl.scm:4595
+msgid ""
+"@code{MIME::Charset} provides information about character sets used for\n"
+"MIME messages on Internet."
+msgstr ""
+
+#: gnu/packages/perl.scm:4622
+msgid "Tools to manipulate MIME messages"
+msgstr ""
+
+#: gnu/packages/perl.scm:4624
+msgid ""
+"MIME-tools is a collection of Perl5 MIME:: modules for parsing,\n"
+"decoding, and generating single- or multipart (even nested multipart) MIME\n"
+"messages."
+msgstr ""
+
+#: gnu/packages/perl.scm:4643
+msgid "Definition of MIME types"
+msgstr ""
+
+#: gnu/packages/perl.scm:4644
+msgid ""
+"This module provides a list of known mime-types, combined\n"
+"from various sources. For instance, it contains all IANA types and the\n"
+"knowledge of Apache."
+msgstr ""
+
+#: gnu/packages/perl.scm:4666
+msgid "Write your linewise code for handles; this does the rest"
+msgstr ""
+
+#: gnu/packages/perl.scm:4667
+msgid ""
+"It's boring to deal with opening files for IO, converting\n"
+"strings to handle-like objects, and all that. With\n"
+"@code{Mixin::Linewise::Readers} and @code{Mixin::Linewise::Writers}, you can\n"
+"just write a method to handle handles, and methods for handling strings and\n"
+"file names are added for you."
+msgstr ""
+
+#: gnu/packages/perl.scm:4693
+msgid "Enable all of the features of Modern Perl with one import"
+msgstr ""
+
+#: gnu/packages/perl.scm:4694
+msgid ""
+"@code{Modern::Perl} provides a simple way to enable\n"
+"multiple, by now, standard libraries in a Perl program."
+msgstr ""
+
+#: gnu/packages/perl.scm:4722
+msgid "Tiny replacement for Module::Build"
+msgstr ""
+
+#: gnu/packages/perl.scm:4723
+msgid ""
+"Many Perl distributions use a Build.PL file instead of a\n"
+"Makefile.PL file to drive distribution configuration, build, test and\n"
+"installation. Traditionally, Build.PL uses Module::Build as the underlying\n"
+"build system. This module provides a simple, lightweight, drop-in\n"
+"replacement. Whereas Module::Build has over 6,700 lines of code; this module\n"
+"has less than 120, yet supports the features needed by most distributions."
+msgstr ""
+
+#: gnu/packages/perl.scm:4751
+msgid "Module::Build class for building XS modules"
+msgstr ""
+
+#: gnu/packages/perl.scm:4753
+msgid ""
+"@code{Module::Build::XSUtil} is subclass of @code{Module::Build}\n"
+"for support building XS modules.\n"
+"\n"
+"This is a list of a new parameters in the @code{Module::Build::new} method:\n"
+"\n"
+"@enumerate\n"
+"@item @code{needs_compiler_c99}: This option checks C99 compiler availability.\n"
+"@item @code{needs_compiler_cpp}: This option checks C++ compiler availability.\n"
+"Can also pass @code{extra_compiler_flags} and @code{extra_linker_flags} for C++.\n"
+"@item @code{generate_ppport_h}: Generate @file{ppport.h} by @code{Devel::PPPort}.\n"
+"@item @code{generate_xshelper_h}: Generate @file{xshelper.h} which is a helper\n"
+"header file to include @file{EXTERN.h}, @file{perl.h}, @file{XSUB.h} and\n"
+"@file{ppport.h}, and defines some portability stuff which are not supported by\n"
+"@file{ppport.h}.\n"
+"\n"
+"It is ported from @code{Module::Install::XSUtil}.\n"
+"@item @code{cc_warnings}: Toggle compiler warnings. Enabled by default.\n"
+"@item @code{-g options}: Invoke @file{Build.PL} with @code{-g} to enable\n"
+"debug options.\n"
+"@end enumerate"
+msgstr ""
+
+#: gnu/packages/perl.scm:4789
+msgid "Find and use installed modules in a (sub)category"
+msgstr ""
+
+#: gnu/packages/perl.scm:4790
+msgid ""
+"Module::Find lets you find and use modules in categories.\n"
+"This can be useful for auto-detecting driver or plugin modules. You can\n"
+"differentiate between looking in the category itself or in all\n"
+"subcategories."
+msgstr ""
+
+#: gnu/packages/perl.scm:4816
+msgid "Loads alternate underlying implementations for a module"
+msgstr ""
+
+#: gnu/packages/perl.scm:4817
+msgid ""
+"This module abstracts out the process of choosing one of\n"
+"several underlying implementations for a module. This can be used to provide\n"
+"XS and pure Perl implementations of a module, or it could be used to load an\n"
+"implementation for a given OS or any other case of needing to provide multiple\n"
+"implementations."
+msgstr ""
+
+#: gnu/packages/perl.scm:4855
+msgid "Standalone, extensible Perl module installer"
+msgstr ""
+
+#: gnu/packages/perl.scm:4856
+msgid ""
+"Module::Install is a package for writing installers for\n"
+"CPAN (or CPAN-like) distributions that are clean, simple, minimalist, act in a\n"
+"strictly correct manner with ExtUtils::MakeMaker, and will run on any Perl\n"
+"installation version 5.005 or newer."
+msgstr ""
+
+#: gnu/packages/perl.scm:4877
+msgid "Give your Perl module the ability to have plugins"
+msgstr ""
+
+#: gnu/packages/perl.scm:4878
+msgid ""
+"This module provides a simple but extensible way of having\n"
+"'plugins' for your Perl module."
+msgstr ""
+
+#: gnu/packages/perl.scm:4897
+msgid "Perl runtime module handling"
+msgstr ""
+
+#: gnu/packages/perl.scm:4898
+msgid ""
+"The functions exported by this module deal with runtime\n"
+"handling of Perl modules, which are normally handled at compile time."
+msgstr ""
+
+#: gnu/packages/perl.scm:4921
+msgid "Provide information on conflicts for Module::Runtime"
+msgstr ""
+
+#: gnu/packages/perl.scm:4922
+msgid ""
+"This module provides conflicts checking for Module::Runtime,\n"
+"which had a recent release that broke some versions of Moose. It is called\n"
+"from Moose::Conflicts and moose-outdated."
+msgstr ""
+
+#: gnu/packages/perl.scm:4943
+msgid "Recursively scan Perl code for dependencies"
+msgstr ""
+
+#: gnu/packages/perl.scm:4944
+msgid ""
+"Module::ScanDeps is a module to recursively scan Perl\n"
+"programs for dependencies."
+msgstr ""
+
+#: gnu/packages/perl.scm:4964
+msgid "Module name tools and transformations"
+msgstr ""
+
+#: gnu/packages/perl.scm:4965
+msgid ""
+"This module provides a few useful functions for manipulating\n"
+"module names. Its main aim is to centralise some of the functions commonly\n"
+"used by modules that manipulate other modules in some way, like converting\n"
+"module names to relative paths."
+msgstr ""
+
+#: gnu/packages/perl.scm:4995
+msgid "Minimalist Object Orientation (with Moose compatibility)"
+msgstr ""
+
+#: gnu/packages/perl.scm:4996
+msgid ""
+"Moo is an extremely light-weight Object Orientation system.\n"
+"It allows one to concisely define objects and roles with a convenient syntax\n"
+"that avoids the details of Perl's object system. Moo contains a subset of\n"
+"Moose and is optimised for rapid startup."
+msgstr ""
+
+#: gnu/packages/perl.scm:5072
+msgid "Postmodern object system for Perl 5"
+msgstr ""
+
+#: gnu/packages/perl.scm:5074
+msgid ""
+"Moose is a complete object system for Perl 5. It provides keywords for\n"
+"attribute declaration, object construction, inheritance, and maybe more. With\n"
+"Moose, you define your class declaratively, without needing to know about\n"
+"blessed hashrefs, accessor methods, and so on. You can concentrate on the\n"
+"logical structure of your classes, focusing on \"what\" rather than \"how\".\n"
+"A class definition with Moose reads like a list of very concise English\n"
+"sentences."
+msgstr ""
+
+#: gnu/packages/perl.scm:5103
+msgid "Emulate Class::Accessor::Fast behavior using Moose attributes"
+msgstr ""
+
+#: gnu/packages/perl.scm:5104
+msgid ""
+"This module attempts to emulate the behavior of\n"
+"Class::Accessor::Fast as accurately as possible using the Moose attribute\n"
+"system. The public API of Class::Accessor::Fast is wholly supported, but the\n"
+"private methods are not."
+msgstr ""
+
+#: gnu/packages/perl.scm:5136
+msgid "Moose role for processing command line options"
+msgstr ""
+
+#: gnu/packages/perl.scm:5137
+msgid ""
+"This is a Moose role which provides an alternate constructor\n"
+"for creating objects using parameters passed in from the command line."
+msgstr ""
+
+#: gnu/packages/perl.scm:5158
+msgid "Mark overload code symbols as methods"
+msgstr ""
+
+#: gnu/packages/perl.scm:5159
+msgid ""
+"MooseX::MarkAsMethods allows one to easily mark certain\n"
+"functions as Moose methods. This will allow other packages such as\n"
+"namespace::autoclean to operate without blowing away your overloads. After\n"
+"using MooseX::MarkAsMethods your overloads will be recognized by Class::MOP as\n"
+"being methods, and class extension as well as composition from roles with\n"
+"overloads will \"just work\"."
+msgstr ""
+
+#: gnu/packages/perl.scm:5189
+msgid "Code attribute introspection"
+msgstr ""
+
+#: gnu/packages/perl.scm:5190
+msgid ""
+"This module allows code attributes of methods to be\n"
+"introspected using Moose meta method objects."
+msgstr ""
+
+#: gnu/packages/perl.scm:5216
+msgid "Subclassing of non-Moose classes"
+msgstr ""
+
+#: gnu/packages/perl.scm:5217
+msgid ""
+"MooseX::NonMoose allows for easily subclassing non-Moose\n"
+"classes with Moose, taking care of the details connected with doing this, such\n"
+"as setting up proper inheritance from Moose::Object and installing (and\n"
+"inlining, at make_immutable time) a constructor that makes sure things like\n"
+"BUILD methods are called. It tries to be as non-intrusive as possible."
+msgstr ""
+
+#: gnu/packages/perl.scm:5246
+msgid "Extension of Params::Validate using Moose's types"
+msgstr ""
+
+#: gnu/packages/perl.scm:5247
+msgid ""
+"This module fills a gap in Moose by adding method parameter\n"
+"validation to Moose."
+msgstr ""
+
+#: gnu/packages/perl.scm:5268
+msgid "Apply roles to a related Perl class"
+msgstr ""
+
+#: gnu/packages/perl.scm:5269
+msgid ""
+"This module applies roles to make a subclass instead of\n"
+"manually setting up a subclass."
+msgstr ""
+
+#: gnu/packages/perl.scm:5296
+msgid "Moose roles with composition parameters"
+msgstr ""
+
+#: gnu/packages/perl.scm:5297
+msgid ""
+"Because Moose roles serve many different masters, they\n"
+"usually provide only the least common denominator of functionality. To\n"
+"empower roles further, more configurability than -alias and -excludes is\n"
+"required. Perhaps your role needs to know which method to call when it is\n"
+"done processing, or what default value to use for its url attribute.\n"
+"Parameterized roles offer a solution to these (and other) kinds of problems."
+msgstr ""
+
+#: gnu/packages/perl.scm:5323
+msgid "Roles which support overloading"
+msgstr ""
+
+#: gnu/packages/perl.scm:5324
+msgid ""
+"MooseX::Role::WithOverloading allows you to write a\n"
+"Moose::Role which defines overloaded operators and allows those overload\n"
+"methods to be composed into the classes/roles/instances it's compiled to,\n"
+"where plain Moose::Roles would lose the overloading."
+msgstr ""
+
+#: gnu/packages/perl.scm:5346
+msgid "Name your accessors foo() and set_foo()"
+msgstr ""
+
+#: gnu/packages/perl.scm:5347
+msgid ""
+"This module does not provide any methods. Simply loading it\n"
+"changes the default naming policy for the loading class so that accessors are\n"
+"separated into get and set methods. The get methods have the same name as the\n"
+"accessor, while set methods are prefixed with \"_set_\"."
+msgstr ""
+
+#: gnu/packages/perl.scm:5373
+msgid "Strict object constructors for Moose"
+msgstr ""
+
+#: gnu/packages/perl.scm:5374
+msgid ""
+"Simply loading this module makes your constructors\n"
+"\"strict\". If your constructor is called with an attribute init argument\n"
+"that your class does not declare, then it calls Moose->throw_error()."
+msgstr ""
+
+#: gnu/packages/perl.scm:5402
+msgid "Trait loading and resolution for Moose"
+msgstr ""
+
+#: gnu/packages/perl.scm:5403
+msgid ""
+"Adds support on top of MooseX::Traits for class precedence\n"
+"search for traits and some extra attributes."
+msgstr ""
+
+#: gnu/packages/perl.scm:5429
+msgid "Organise your Moose types in libraries"
+msgstr ""
+
+#: gnu/packages/perl.scm:5430
+msgid ""
+"This package lets you declare types using short names, but\n"
+"behind the scenes it namespaces all your type declarations, effectively\n"
+"prevent name clashes between packages."
+msgstr ""
+
+#: gnu/packages/perl.scm:5461
+msgid "DateTime related constraints and coercions for Moose"
+msgstr ""
+
+#: gnu/packages/perl.scm:5462
+msgid ""
+"This module packages several Moose::Util::TypeConstraints\n"
+"with coercions, designed to work with the DateTime suite of objects."
+msgstr ""
+
+#: gnu/packages/perl.scm:5494
+msgid "Extensions to MooseX::Types::DateTime"
+msgstr ""
+
+#: gnu/packages/perl.scm:5495
+msgid ""
+"This module builds on MooseX::Types::DateTime to add\n"
+"additional custom types and coercions. Since it builds on an existing type,\n"
+"all coercions and constraints are inherited."
+msgstr ""
+
+#: gnu/packages/perl.scm:5524
+msgid "ClassName type constraints for Moose"
+msgstr ""
+
+#: gnu/packages/perl.scm:5525
+msgid ""
+"MooseX::Types::LoadableClass provides a ClassName type\n"
+"constraint with coercion to load the class."
+msgstr ""
+
+#: gnu/packages/perl.scm:5551
+msgid "Using Moo and MooX:: packages the most lazy way"
+msgstr ""
+
+#: gnu/packages/perl.scm:5552
+msgid "Contains the MooX and MooX::Role packages."
+msgstr ""
+
+#: gnu/packages/perl.scm:5579
+msgid "Giving an easy Moo style way to make command organized CLI apps"
+msgstr ""
+
+#: gnu/packages/perl.scm:5580
+msgid ""
+"This package eases the writing of command line utilities,\n"
+"accepting commands and subcommands and so on. These commands can form a tree,\n"
+"which is mirrored in the package structure. On invocation, each command along\n"
+"the path through the tree (starting from the top-level command through to the\n"
+"most specific one) is instantiated."
+msgstr ""
+
+#: gnu/packages/perl.scm:5613
+msgid "Moo eXtension for initializing objects from config file"
+msgstr ""
+
+#: gnu/packages/perl.scm:5614
+msgid ""
+"This module is intended to easily load initialization values\n"
+"for attributes on object construction from an appropriate config file. The\n"
+"building is done in @code{MooX::ConfigFromFile::Role}---using\n"
+"@code{MooX::ConfigFromFile} ensures that the role is applied."
+msgstr ""
+
+#: gnu/packages/perl.scm:5638
+msgid "Moo eXtension for @code{File::ConfigDir}"
+msgstr ""
+
+#: gnu/packages/perl.scm:5639
+msgid ""
+"This module is a helper for easily finding configuration\n"
+"file locations. This information can be used to find a suitable place for\n"
+"installing configuration files or for finding any piece of settings."
+msgstr ""
+
+#: gnu/packages/perl.scm:5674
+msgid "NativeTrait-like behavior for Moo"
+msgstr ""
+
+#: gnu/packages/perl.scm:5676
+msgid ""
+"@code{MooX::HandlesVia} is an extension of Moo's @code{handles}\n"
+"attribute functionality. It provides a means of proxying functionality from\n"
+"an external class to the given atttribute."
+msgstr ""
+
+#: gnu/packages/perl.scm:5707
+msgid "Easily translate Moose code to Moo"
+msgstr ""
+
+#: gnu/packages/perl.scm:5709
+msgid ""
+"MooX::late does the following:\n"
+"@enumerate\n"
+"@item Supports isa => $stringytype\n"
+"@item Supports does => $rolename\n"
+"@item Supports lazy_build => 1\n"
+"@item Exports blessed and confess functions to your namespace.\n"
+"@item Handles certain attribute traits\n"
+"Currently Hash, Array and Code are supported. This feature requires\n"
+"MooX::HandlesVia.\n"
+"@end enumerate"
+msgstr ""
+
+#: gnu/packages/perl.scm:5764
+msgid "Explicit Options eXtension for Object Class"
+msgstr ""
+
+#: gnu/packages/perl.scm:5765
+msgid ""
+"Create a command line tool with your Mo, Moo, Moose objects.\n"
+"You have an @code{option} keyword to replace the usual @code{has} to\n"
+"explicitly use your attribute on the command line. The @code{option} keyword\n"
+"takes additional parameters and uses @code{Getopt::Long::Descriptive} to\n"
+"generate a command line tool."
+msgstr ""
+
+#: gnu/packages/perl.scm:5792
+msgid "Moosish types and type builder"
+msgstr ""
+
+#: gnu/packages/perl.scm:5793
+msgid ""
+"MooX::Types::MooseLike provides a possibility to build your\n"
+"own set of Moose-like types. These custom types can then be used to describe\n"
+"fields in Moo-based classes."
+msgstr ""
+
+#: gnu/packages/perl.scm:5822
+msgid "Fast Moose-compatible object system for perl5"
+msgstr ""
+
+#: gnu/packages/perl.scm:5824
+msgid ""
+"Mouse is a @code{Moose} compatible object system that implements a\n"
+"subset of the functionality for reduced startup time."
+msgstr ""
+
+#: gnu/packages/perl.scm:5847
+msgid "Extend attribute interfaces for Mouse"
+msgstr ""
+
+#: gnu/packages/perl.scm:5849
+msgid ""
+"While @code{Mouse} attributes provide a way to name your accessors,\n"
+"readers, writers, clearers and predicates, @code{MouseX::NativeTraits}\n"
+"provides commonly used attribute helper methods for more specific types\n"
+"of data."
+msgstr ""
+
+#: gnu/packages/perl.scm:5869
+msgid "Mozilla's CA cert bundle in PEM format"
+msgstr ""
+
+#: gnu/packages/perl.scm:5870
+msgid ""
+"@code{Mozilla::CA} provides a copy of Mozilla's bundle of\n"
+"Certificate Authority certificates in a form that can be consumed by modules\n"
+"and libraries based on OpenSSL."
+msgstr ""
+
+#: gnu/packages/perl.scm:5889
+msgid "MRO interface compatibility for Perls < 5.9.5"
+msgstr ""
+
+#: gnu/packages/perl.scm:5890
+msgid ""
+"The \"mro\" namespace provides several utilities for dealing\n"
+"with method resolution order and method caching in general in Perl 5.9.5 and\n"
+"higher. This module provides those interfaces for earlier versions of\n"
+"Perl (back to 5.6.0)."
+msgstr ""
+
+#: gnu/packages/perl.scm:5917
+msgid "Keep imports out of your namespace"
+msgstr ""
+
+#: gnu/packages/perl.scm:5918
+msgid ""
+"The namespace::autoclean pragma will remove all imported\n"
+"symbols at the end of the current package's compile cycle. Functions called\n"
+"in the package itself will still be bound by their name, but they won't show\n"
+"up as methods on your class or instances. It is very similar to\n"
+"namespace::clean, except it will clean all imported functions, no matter if\n"
+"you imported them before or after you used the pragma. It will also not touch\n"
+"anything that looks like a method."
+msgstr ""
+
+#: gnu/packages/perl.scm:5944
+msgid "Keep imports and functions out of your namespace"
+msgstr ""
+
+#: gnu/packages/perl.scm:5945
+msgid ""
+"The namespace::clean pragma will remove all previously\n"
+"declared or imported symbols at the end of the current package's compile\n"
+"cycle. Functions called in the package itself will still be bound by their\n"
+"name, but they won't show up as methods on your class or instances."
+msgstr ""
+
+#: gnu/packages/perl.scm:5972
+msgid "Internationalizing Domain Names in Applications (IDNA)"
+msgstr ""
+
+#: gnu/packages/perl.scm:5974
+msgid ""
+"Internationalized Domain Names (IDNs) use characters drawn from a large\n"
+"repertoire (Unicode), but IDNA allows the non-ASCII characters to be\n"
+"represented using only the ASCII characters already allowed in so-called host\n"
+"names today (letter-digit-hyphen, /[A-Z0-9-]/i).\n"
+"\n"
+"Use this module if you just want to convert domain names (or email addresses),\n"
+"using whatever IDNA standard is the best choice at the moment."
+msgstr ""
+
+#: gnu/packages/perl.scm:6000
+msgid "Perl client for Etsy's statsd daemon"
+msgstr ""
+
+#: gnu/packages/perl.scm:6001
+msgid ""
+"This module implement a UDP client for the statsd statistics\n"
+"collector daemon in use at Etsy.com."
+msgstr ""
+
+#: gnu/packages/perl.scm:6019
+msgid "Numeric comparisons"
+msgstr ""
+
+#: gnu/packages/perl.scm:6020
+msgid ""
+"Number::Compare compiles a simple comparison to an anonymous\n"
+"subroutine, which you can call with a value to be tested against."
+msgstr ""
+
+#: gnu/packages/perl.scm:6040
+msgid "Generate cryptographic signatures for objects"
+msgstr ""
+
+#: gnu/packages/perl.scm:6041
+msgid ""
+"Object::Signature is an abstract base class that you can\n"
+"inherit from in order to allow your objects to generate unique cryptographic\n"
+"signatures."
+msgstr ""
+
+#: gnu/packages/perl.scm:6062
+msgid "Read and write OLE storage files"
+msgstr ""
+
+#: gnu/packages/perl.scm:6063
+msgid ""
+"This module allows you to read and write\n"
+"an OLE-Structured file. @dfn{OLE} (Object Linking and Embedding) is a\n"
+"technology to store hierarchical information such as links to other\n"
+"documents within a single file."
+msgstr ""
+
+#: gnu/packages/perl.scm:6086
+msgid "Anonymous packages"
+msgstr ""
+
+#: gnu/packages/perl.scm:6087
+msgid ""
+"This module allows for anonymous packages that are\n"
+"independent of the main namespace and only available through an object\n"
+"instance, not by name."
+msgstr ""
+
+#: gnu/packages/perl.scm:6115
+msgid "Manage deprecation warnings for your distribution"
+msgstr ""
+
+#: gnu/packages/perl.scm:6116
+msgid ""
+"This module allows you to manage a set of deprecations for\n"
+"one or more modules."
+msgstr ""
+
+#: gnu/packages/perl.scm:6143
+msgid "Routines for manipulating stashes"
+msgstr ""
+
+#: gnu/packages/perl.scm:6144
+msgid ""
+"Manipulating stashes (Perl's symbol tables) is occasionally\n"
+"necessary, but incredibly messy, and easy to get wrong. This module hides all\n"
+"of that behind a simple API."
+msgstr ""
+
+#: gnu/packages/perl.scm:6167
+msgid "Faster implementation of the Package::Stash API"
+msgstr ""
+
+#: gnu/packages/perl.scm:6168
+msgid ""
+"This is a backend for Package::Stash, which provides the\n"
+"functionality in a way that's less buggy and much faster. It will be used by\n"
+"default if it's installed, and should be preferred in all environments with a\n"
+"compiler."
+msgstr ""
+
+#: gnu/packages/perl.scm:6188
+msgid "Play with other peoples' lexical variables"
+msgstr ""
+
+#: gnu/packages/perl.scm:6189
+msgid ""
+"PadWalker is a module which allows you to inspect (and even\n"
+"change) lexical variables in any subroutine which called you. It will only\n"
+"show those variables which are in scope at the point of the call. PadWalker\n"
+"is particularly useful for debugging."
+msgstr ""
+
+#: gnu/packages/perl.scm:6213
+msgid "Simple parallel processing fork manager"
+msgstr ""
+
+#: gnu/packages/perl.scm:6214
+msgid ""
+"@code{Parallel::ForkManager} is intended for use in\n"
+"operations that can be done in parallel where the number of\n"
+"processes to be forked off should be limited."
+msgstr ""
+
+#: gnu/packages/perl.scm:6234
+msgid "Simple, compact and correct param-checking functions"
+msgstr ""
+
+#: gnu/packages/perl.scm:6236
+msgid ""
+"Params::Util provides a basic set of importable functions that makes\n"
+"checking parameters easier."
+msgstr ""
+
+#: gnu/packages/perl.scm:6260
+msgid "Validate method/function parameters"
+msgstr ""
+
+#: gnu/packages/perl.scm:6261
+msgid ""
+"The Params::Validate module allows you to validate method or\n"
+"function call parameters to an arbitrary level of specificity."
+msgstr ""
+
+#: gnu/packages/perl.scm:6287
+msgid "Build an optimized subroutine parameter validator"
+msgstr ""
+
+#: gnu/packages/perl.scm:6288
+msgid ""
+"This module creates a customized, highly efficient\n"
+"parameter checking subroutine. It can handle named or positional\n"
+"parameters, and can return the parameters as key/value pairs or a list\n"
+"of values. In addition to type checks, it also supports parameter\n"
+"defaults, optional parameters, and extra \"slurpy\" parameters."
+msgstr ""
+
+#: gnu/packages/perl.scm:6309
+msgid "Create and manipulate PAR distributions"
+msgstr ""
+
+#: gnu/packages/perl.scm:6310
+msgid ""
+"PAR::Dist is a toolkit to create and manipulate PAR\n"
+"distributions."
+msgstr ""
+
+#: gnu/packages/perl.scm:6329
+msgid ""
+"Allows you to both load one or more modules, while setting\n"
+"up inheritance from those modules at the same time."
+msgstr ""
+
+#: gnu/packages/perl.scm:6348
+msgid "Path specification manipulation"
+msgstr ""
+
+#: gnu/packages/perl.scm:6349
+msgid ""
+"Path::Class is a module for manipulation of file and\n"
+"directory specifications in a cross-platform manner."
+msgstr ""
+
+#: gnu/packages/perl.scm:6373
+msgid "File path utility"
+msgstr ""
+
+#: gnu/packages/perl.scm:6374
+msgid ""
+"This module provides a small, fast utility for working\n"
+"with file paths."
+msgstr ""
+
+#: gnu/packages/perl.scm:6395
+msgid "Fast and correct UTF-8 IO"
+msgstr ""
+
+#: gnu/packages/perl.scm:6396
+msgid ""
+"@code{PerlIO::utf8_strict} provides a fast and correct UTF-8\n"
+"PerlIO layer. Unlike Perl's default @code{:utf8} layer it checks the input\n"
+"for correctness."
+msgstr ""
+
+#: gnu/packages/perl.scm:6417
+msgid "Check for comprehensive documentation of a module"
+msgstr ""
+
+#: gnu/packages/perl.scm:6418
+msgid ""
+"This module provides a mechanism for determining if the pod\n"
+"for a given module is comprehensive."
+msgstr ""
+
+#: gnu/packages/perl.scm:6435
+msgid "Parsing library for text in Pod format"
+msgstr ""
+
+#: gnu/packages/perl.scm:6436
+msgid ""
+"Pod::Simple is a Perl library for parsing text in\n"
+"the Pod (plain old documentation) markup language that is typically\n"
+"used for writing documentation for Perl and for Perl modules."
+msgstr ""
+
+#: gnu/packages/perl.scm:6457
+msgid "GNU C library compatible strftime for loggers and servers"
+msgstr ""
+
+#: gnu/packages/perl.scm:6458
+msgid ""
+"POSIX::strftime::Compiler provides GNU C library compatible\n"
+"strftime(3). But this module is not affected by the system locale. This\n"
+"feature is useful when you want to write loggers, servers, and portable\n"
+"applications."
+msgstr ""
+
+#: gnu/packages/perl.scm:6476
+msgid "Information about the currently running perl"
+msgstr ""
+
+#: gnu/packages/perl.scm:6478
+msgid ""
+"Probe::Perl provides methods for obtaining information about the\n"
+"currently running perl interpreter. It originally began life as code in the\n"
+"Module::Build project, but has been externalized here for general use."
+msgstr ""
+
+#: gnu/packages/perl.scm:6506
+msgid "Interface to external editor from Perl"
+msgstr ""
+
+#: gnu/packages/perl.scm:6507
+msgid ""
+"This module provides the ability to supply some text to an\n"
+"external text editor, have it edited by the user, and retrieve the results."
+msgstr ""
+
+#: gnu/packages/perl.scm:6526
+msgid "Create read-only scalars, arrays, hashes"
+msgstr ""
+
+#: gnu/packages/perl.scm:6527
+msgid ""
+"This module provides a facility for creating non-modifiable\n"
+"variables in Perl. This is useful for configuration files, headers, etc. It\n"
+"can also be useful as a development and debugging tool for catching updates to\n"
+"variables that should not be changed."
+msgstr ""
+
+#: gnu/packages/perl.scm:6547
+msgid "XS implementation for Ref::Util"
+msgstr ""
+
+#: gnu/packages/perl.scm:6548
+msgid ""
+"@code{Ref::Util::XS} is the XS implementation of\n"
+"@code{Ref::Util}, which provides several functions to help identify references\n"
+"in a more convenient way than the usual approach of examining the return value\n"
+"of @code{ref}."
+msgstr ""
+
+#: gnu/packages/perl.scm:6566
+msgid "Provide commonly requested regular expressions"
+msgstr ""
+
+#: gnu/packages/perl.scm:6568
+msgid ""
+"This module exports a single hash (`%RE') that stores or generates\n"
+"commonly needed regular expressions. Patterns currently provided include:\n"
+"balanced parentheses and brackets, delimited text (with escapes), integers and\n"
+"floating-point numbers in any base (up to 36), comments in 44 languages,\n"
+"offensive language, lists of any pattern, IPv4 addresses, URIs, and Zip\n"
+"codes."
+msgstr ""
+
+#: gnu/packages/perl.scm:6593
+msgid "Selection of general-utility regexp subroutines"
+msgstr ""
+
+#: gnu/packages/perl.scm:6594
+msgid ""
+"This package provides a selection of regular expression\n"
+"subroutines including @code{is_regexp}, @code{regexp_seen_evals},\n"
+"@code{regexp_is_foreign}, @code{regexp_is_anchored}, @code{serialize_regexp},\n"
+"and @code{deserialize_regexp}."
+msgstr ""
+
+#: gnu/packages/perl.scm:6619
+msgid "Roles, as a slice of Moose"
+msgstr ""
+
+#: gnu/packages/perl.scm:6620
+msgid "Role::Tiny is a minimalist role composition tool."
+msgstr ""
+
+#: gnu/packages/perl.scm:6637
+msgid "Call isa, can, does, and DOES safely"
+msgstr ""
+
+#: gnu/packages/perl.scm:6638
+msgid ""
+"This module allows you to call isa, can, does, and DOES\n"
+"safely on things that may not be objects."
+msgstr ""
+
+#: gnu/packages/perl.scm:6656
+msgid "Lexically-scoped resource management"
+msgstr ""
+
+#: gnu/packages/perl.scm:6657
+msgid ""
+"This module provides a convenient way to perform cleanup or\n"
+"other forms of resource management at the end of a scope. It is particularly\n"
+"useful when dealing with exceptions: the Scope::Guard constructor takes a\n"
+"reference to a subroutine that is guaranteed to be called even if the thread\n"
+"of execution is aborted prematurely. This effectively allows lexically-scoped\n"
+"\"promises\" to be made that are automatically honoured by perl's garbage\n"
+"collector."
+msgstr ""
+
+#: gnu/packages/perl.scm:6680
+msgid "Infinite sets"
+msgstr ""
+
+#: gnu/packages/perl.scm:6681
+msgid "Set::Infinite is a set theory module for infinite sets."
+msgstr ""
+
+#: gnu/packages/perl.scm:6701
+msgid "Unordered collections of Perl Objects"
+msgstr ""
+
+#: gnu/packages/perl.scm:6702
+msgid ""
+"Set::Object provides efficient sets, unordered collections\n"
+"of Perl objects without duplicates for scalars and references."
+msgstr ""
+
+#: gnu/packages/perl.scm:6720
+msgid "Set operations for Perl"
+msgstr ""
+
+#: gnu/packages/perl.scm:6721
+msgid ""
+"The first priority of Set::Scalar is to be a convenient\n"
+"interface to sets (as in: unordered collections of Perl scalars). While not\n"
+"designed to be slow or big, neither has it been designed to be fast or\n"
+"compact."
+msgstr ""
+
+#: gnu/packages/perl.scm:6741
+msgid "Sort arrays by one or multiple calculated keys"
+msgstr ""
+
+#: gnu/packages/perl.scm:6742
+msgid ""
+"This Perl module provides various functions to quickly sort\n"
+"arrays by one or multiple calculated keys."
+msgstr ""
+
+#: gnu/packages/perl.scm:6760
+msgid "Sort lexically, but sort numeral parts numerically"
+msgstr ""
+
+#: gnu/packages/perl.scm:6761
+msgid ""
+"This module exports two functions, @code{nsort} and\n"
+"@code{ncmp}; they are used in implementing a \"natural sorting\" algorithm.\n"
+"Under natural sorting, numeric substrings are compared numerically, and other\n"
+"word-characters are compared lexically."
+msgstr ""
+
+#: gnu/packages/perl.scm:6789
+msgid "Classes for representing type constraints and coercion"
+msgstr ""
+
+#: gnu/packages/perl.scm:6790
+msgid ""
+"The Specio distribution provides classes for representing type\n"
+"constraints and coercion, along with syntax sugar for declaring them. Note that\n"
+"this is not a proper type system for Perl. Nothing in this distribution will\n"
+"magically make the Perl interpreter start checking a value's type on assignment\n"
+"to a variable. In fact, there's no built-in way to apply a type to a variable at\n"
+"all. Instead, you can explicitly check a value against a type, and optionally\n"
+"coerce values to that type."
+msgstr ""
+
+#: gnu/packages/perl.scm:6813
+msgid "Spiffy Perl Interface Framework For You"
+msgstr ""
+
+#: gnu/packages/perl.scm:6814
+msgid ""
+"Spiffy is a framework and methodology for doing object\n"
+"oriented (OO) programming in Perl. Spiffy combines the best parts of\n"
+"Exporter.pm, base.pm, mixin.pm and SUPER.pm into one magic foundation class.\n"
+"It attempts to fix all the nits and warts of traditional Perl OO, in a clean,\n"
+"straightforward and (perhaps someday) standard way. Spiffy borrows ideas from\n"
+"other OO languages like Python, Ruby, Java and Perl 6."
+msgstr ""
+
+#: gnu/packages/perl.scm:6836
+msgid "Temporary buffer to save bytes"
+msgstr ""
+
+#: gnu/packages/perl.scm:6837
+msgid ""
+"Stream::Buffered is a buffer class to store arbitrary length\n"
+"of byte strings and then get a seekable filehandle once everything is\n"
+"buffered. It uses PerlIO and/or temporary file to save the buffer depending\n"
+"on the length of the size."
+msgstr ""
+
+#: gnu/packages/perl.scm:6857
+msgid "Turn on strict and make all warnings fatal"
+msgstr ""
+
+#: gnu/packages/perl.scm:6858
+msgid ""
+"Strictures turns on strict and make all warnings fatal when\n"
+"run from within a source-controlled directory."
+msgstr ""
+
+#: gnu/packages/perl.scm:6886
+msgid "Camelcase and de-camelcase"
+msgstr ""
+
+#: gnu/packages/perl.scm:6887
+msgid ""
+"This module may be used to convert from under_score text to\n"
+"CamelCase and back again."
+msgstr ""
+
+#: gnu/packages/perl.scm:6907
+msgid "Rewrite strings based on a set of known prefixes"
+msgstr ""
+
+#: gnu/packages/perl.scm:6908
+msgid ""
+"This module allows you to rewrite strings based on a set of\n"
+"known prefixes."
+msgstr ""
+
+#: gnu/packages/perl.scm:6927
+msgid "String printing alternatives to printf"
+msgstr ""
+
+#: gnu/packages/perl.scm:6929
+msgid ""
+"This module inserts values into (translated) strings. It provides\n"
+"@code{printf} and @code{sprintf} alternatives via both an object-oriented and\n"
+"a functional interface."
+msgstr ""
+
+#: gnu/packages/perl.scm:6952
+msgid "Sophisticated exporter for custom-built routines"
+msgstr ""
+
+#: gnu/packages/perl.scm:6954
+msgid ""
+"Sub::Exporter provides a sophisticated alternative to Exporter.pm for\n"
+"custom-built routines."
+msgstr ""
+
+#: gnu/packages/perl.scm:6973
+msgid "Only use Sub::Exporter if you need it"
+msgstr ""
+
+#: gnu/packages/perl.scm:6974
+msgid ""
+"Sub::Exporter is an incredibly powerful module, but with\n"
+"that power comes great responsibility, as well as some runtime penalties.\n"
+"This module is a \"Sub::Exporter\" wrapper that will let your users just use\n"
+"Exporter if all they are doing is picking exports, but use \"Sub::Exporter\"\n"
+"if your users try to use \"Sub::Exporter\"'s more advanced features, like\n"
+"renaming exports, if they try to use them."
+msgstr ""
+
+#: gnu/packages/perl.scm:6996
+msgid "Retrieve names of code references"
+msgstr ""
+
+#: gnu/packages/perl.scm:6997
+msgid ""
+"Sub::Identify allows you to retrieve the real name of code\n"
+"references."
+msgstr ""
+
+#: gnu/packages/perl.scm:7017
+msgid "Tool to inspect subroutines"
+msgstr ""
+
+#: gnu/packages/perl.scm:7018
+msgid ""
+"This package provides tools for inspecting subroutines\n"
+"in Perl."
+msgstr ""
+
+#: gnu/packages/perl.scm:7037
+msgid "Install subroutines into packages easily"
+msgstr ""
+
+#: gnu/packages/perl.scm:7039
+msgid ""
+"Sub::Install makes it easy to install subroutines into packages without\n"
+"the unsightly mess of C<no strict> or typeglobs lying about where just anyone\n"
+"can see them."
+msgstr ""
+
+#: gnu/packages/perl.scm:7060
+msgid "(Re)name a sub"
+msgstr ""
+
+#: gnu/packages/perl.scm:7061
+msgid ""
+"Assigns a new name to referenced sub. If package\n"
+"specification is omitted in the name, then the current package is used. The\n"
+"return value is the sub."
+msgstr ""
+
+#: gnu/packages/perl.scm:7080
+msgid "Apparently run a function in a higher stack frame"
+msgstr ""
+
+#: gnu/packages/perl.scm:7081
+msgid ""
+"Like Tcl's uplevel() function, but not quite so dangerous.\n"
+"The idea is just to fool caller(). All the really naughty bits of Tcl's\n"
+"uplevel() are avoided."
+msgstr ""
+
+#: gnu/packages/perl.scm:7100
+msgid "Perl extension for generating SVG documents"
+msgstr ""
+
+#: gnu/packages/perl.scm:7101
+msgid ""
+"SVG is a Perl module which generates a nested data structure\n"
+"containing the DOM representation of an SVG (Scalable Vector Graphics) image.\n"
+"Using SVG, you can generate SVG objects, embed other SVG instances into it,\n"
+"access the DOM object, create and access Javascript, and generate SMIL\n"
+"animation content."
+msgstr ""
+
+#: gnu/packages/perl.scm:7122
+msgid "Switch statement for Perl"
+msgstr ""
+
+#: gnu/packages/perl.scm:7123
+msgid ""
+"Switch is a Perl module which implements a generalized case\n"
+"mechanism. The module augments the standard Perl syntax with two new\n"
+"statements: @code{switch} and @code{case}."
+msgstr ""
+
+#: gnu/packages/perl.scm:7169
+msgid "Perl extension for getting CPU information"
+msgstr ""
+
+#: gnu/packages/perl.scm:7171
+msgid ""
+"Sys::CPU is a module for counting the number of CPUs on a system, and\n"
+"determining their type and clock speed."
+msgstr ""
+
+#: gnu/packages/perl.scm:7192
+msgid "Get full hostname in Perl"
+msgstr ""
+
+#: gnu/packages/perl.scm:7193
+msgid ""
+"Sys::Hostname::Long tries very hard to get the full hostname\n"
+"of a system."
+msgstr ""
+
+#: gnu/packages/perl.scm:7220
+msgid "Ensure that a platform has weaken support"
+msgstr ""
+
+#: gnu/packages/perl.scm:7221
+msgid ""
+"One recurring problem in modules that use Scalar::Util's\n"
+"weaken function is that it is not present in the pure-perl variant. If\n"
+"Scalar::Util is not available at all, it will issue a normal dependency on the\n"
+"module. However, if Scalar::Util is relatively new ( it is >= 1.19 ) and the\n"
+"module does not have weaken, the install will bail out altogether with a long\n"
+"error encouraging the user to seek support."
+msgstr ""
+
+#: gnu/packages/perl.scm:7246
+msgid "Template processing system for Perl"
+msgstr ""
+
+#: gnu/packages/perl.scm:7247
+msgid ""
+"The Template Toolkit is a collection of modules which\n"
+"implement an extensible template processing system. It was originally\n"
+"designed and remains primarily useful for generating dynamic web content, but\n"
+"it can be used equally well for processing any other kind of text based\n"
+"documents: HTML, XML, POD, PostScript, LaTeX, and so on."
+msgstr ""
+
+#: gnu/packages/perl.scm:7270
+msgid "Profiling for Template Toolkit"
+msgstr ""
+
+#: gnu/packages/perl.scm:7271
+msgid ""
+"Template::Timer provides inline profiling of the template\n"
+"processing in Perl code."
+msgstr ""
+
+#: gnu/packages/perl.scm:7291
+msgid "Detect encoding of the current terminal"
+msgstr ""
+
+#: gnu/packages/perl.scm:7292
+msgid ""
+"Term::Encoding is a simple module to detect the encoding of\n"
+"the current terminal expects in various ways."
+msgstr ""
+
+#: gnu/packages/perl.scm:7316
+msgid "Progress meter on a standard terminal"
+msgstr ""
+
+#: gnu/packages/perl.scm:7317
+msgid ""
+"Term::ProgressBar provides a simple progress bar on the\n"
+"terminal, to let the user know that something is happening, roughly how much\n"
+"stuff has been done, and maybe an estimate at how long remains."
+msgstr ""
+
+#: gnu/packages/perl.scm:7340
+msgid "Progress meter if run interactively"
+msgstr ""
+
+#: gnu/packages/perl.scm:7341
+msgid ""
+"Term::ProgressBar is a wonderful module for showing progress\n"
+"bars on the terminal. This module acts very much like that module when it is\n"
+"run interactively. However, when it is not run interactively (for example, as\n"
+"a cron job) then it does not show the progress bar."
+msgstr ""
+
+#: gnu/packages/perl.scm:7363
+msgid "Simple progress bars"
+msgstr ""
+
+#: gnu/packages/perl.scm:7364
+msgid ""
+"Term::ProgressBar::Simple tells you how much work has been\n"
+"done, how much is left to do, and estimate how long it will take."
+msgstr ""
+
+#: gnu/packages/perl.scm:7382
+msgid "Simple terminal control"
+msgstr ""
+
+#: gnu/packages/perl.scm:7383
+msgid ""
+"This module, ReadKey, provides ioctl control for terminals\n"
+"so the input modes can be changed (thus allowing reads of a single character\n"
+"at a time), and also provides non-blocking reads of stdin, as well as several\n"
+"other terminal related features, including retrieval/modification of the\n"
+"screen size, and retrieval/modification of the control characters."
+msgstr ""
+
+#: gnu/packages/perl.scm:7408
+msgid "Retrieve terminal size"
+msgstr ""
+
+#: gnu/packages/perl.scm:7409
+msgid ""
+"This is a unified interface to retrieve terminal size. It\n"
+"loads one module of a list of known alternatives, each implementing some way\n"
+"to get the desired terminal information. This loaded module will actually do\n"
+"the job on behalf of @code{Term::Size::Any}."
+msgstr ""
+
+#: gnu/packages/perl.scm:7429
+msgid "Perl extension for retrieving terminal size (Perl version)"
+msgstr ""
+
+#: gnu/packages/perl.scm:7430
+msgid ""
+"This is yet another implementation of @code{Term::Size}.\n"
+"Now in pure Perl, with the exception of a C probe run at build time."
+msgstr ""
+
+#: gnu/packages/perl.scm:7450
+msgid "Format a header and rows into a table"
+msgstr ""
+
+#: gnu/packages/perl.scm:7451
+msgid ""
+"This module is able to generically format rows of data\n"
+"into tables."
+msgstr ""
+
+#: gnu/packages/perl.scm:7470
+msgid "Align text"
+msgstr ""
+
+#: gnu/packages/perl.scm:7471
+msgid ""
+"Text::Aligner exports a single function, align(), which is\n"
+"used to justify strings to various alignment styles."
+msgstr ""
+
+#: gnu/packages/perl.scm:7489
+msgid "Extract delimited text sequences from strings"
+msgstr ""
+
+#: gnu/packages/perl.scm:7490
+msgid ""
+"The Text::Balanced module can be used to extract delimited\n"
+"text sequences from strings."
+msgstr ""
+
+#: gnu/packages/perl.scm:7508
+msgid "Manipulate comma-separated values"
+msgstr ""
+
+#: gnu/packages/perl.scm:7509
+msgid ""
+"Text::CSV provides facilities for the composition and\n"
+"decomposition of comma-separated values. An instance of the Text::CSV class\n"
+"can combine fields into a CSV string and parse a CSV string into fields."
+msgstr ""
+
+#: gnu/packages/perl.scm:7528
+msgid "Rountines for manipulating CSV files"
+msgstr ""
+
+#: gnu/packages/perl.scm:7529
+msgid ""
+"@code{Text::CSV_XS} provides facilities for the composition\n"
+"and decomposition of comma-separated values. An instance of the\n"
+"@code{Text::CSV_XS} class will combine fields into a CSV string and parse a\n"
+"CSV string into fields. The module accepts either strings or files as input\n"
+"and support the use of user-specified characters for delimiters, separators,\n"
+"and escapes."
+msgstr ""
+
+#: gnu/packages/perl.scm:7553
+msgid "Perform diffs on files and record sets"
+msgstr ""
+
+#: gnu/packages/perl.scm:7554
+msgid ""
+"Text::Diff provides a basic set of services akin to the GNU\n"
+"diff utility. It is not anywhere near as feature complete as GNU diff, but it\n"
+"is better integrated with Perl and available on all platforms. It is often\n"
+"faster than shelling out to a system's diff executable for small files, and\n"
+"generally slower on larger files."
+msgstr ""
+
+#: gnu/packages/perl.scm:7576
+msgid "Match globbing patterns against text"
+msgstr ""
+
+#: gnu/packages/perl.scm:7577
+msgid ""
+"Text::Glob implements glob(3) style matching that can be\n"
+"used to match against text, rather than fetching names from a file system. If\n"
+"you want to do full file globbing use the File::Glob module instead."
+msgstr ""
+
+#: gnu/packages/perl.scm:7600
+msgid "Fast, middleweight template engine"
+msgstr ""
+
+#: gnu/packages/perl.scm:7602
+msgid ""
+"Text::NeatTemplate provides a simple, middleweight but fast\n"
+"template engine, for when you need speed rather than complex features,\n"
+"yet need more features than simple variable substitution."
+msgstr ""
+
+#: gnu/packages/perl.scm:7621
+msgid "Convert between Roman and Arabic algorisms"
+msgstr ""
+
+#: gnu/packages/perl.scm:7622
+msgid ""
+"This package provides functions to convert between Roman and\n"
+"Arabic algorisms. It supports both conventional Roman algorisms (which range\n"
+"from 1 to 3999) and Milhar Romans, a variation which uses a bar across the\n"
+"algorism to indicate multiplication by 1000."
+msgstr ""
+
+#: gnu/packages/perl.scm:7642
+msgid "Simple ASCII tables"
+msgstr ""
+
+#: gnu/packages/perl.scm:7643
+msgid "Text::SimpleTable draws simple ASCII tables."
+msgstr ""
+
+#: gnu/packages/perl.scm:7664
+msgid "Organize Data in Tables"
+msgstr ""
+
+#: gnu/packages/perl.scm:7665
+msgid "Text::Table renders plaintext tables."
+msgstr ""
+
+#: gnu/packages/perl.scm:7686
+msgid "Expand template text with embedded Perl"
+msgstr ""
+
+#: gnu/packages/perl.scm:7688
+msgid ""
+"This is a library for generating letters, building HTML pages, or\n"
+"filling in templates generally. A template is a piece of text that has little\n"
+"Perl programs embedded in it here and there. When you fill in a template, you\n"
+"evaluate the little programs and replace them with their values."
+msgstr ""
+
+#: gnu/packages/perl.scm:7708
+msgid "Provide plain ASCII transliterations of Unicode text"
+msgstr ""
+
+#: gnu/packages/perl.scm:7709
+msgid ""
+"Text::Unidecode provides a function, unidecode(...) that\n"
+"takes Unicode data and tries to represent it in US-ASCII characters (i.e., the\n"
+"universally displayable characters between 0x00 and 0x7F). The representation\n"
+"is almost always an attempt at transliteration-- i.e., conveying, in Roman\n"
+"letters, the pronunciation expressed by the text in some other writing\n"
+"system."
+msgstr ""
+
+#: gnu/packages/perl.scm:7737
+msgid "Role for classes that can be thrown"
+msgstr ""
+
+#: gnu/packages/perl.scm:7738
+msgid ""
+"Throwable is a role for classes that are meant to be thrown\n"
+"as exceptions to standard program flow."
+msgstr ""
+
+#: gnu/packages/perl.scm:7755
+msgid "Perl script tidier"
+msgstr ""
+
+#: gnu/packages/perl.scm:7756
+msgid ""
+"This package contains a Perl script which indents and\n"
+"reformats Perl scripts to make them easier to read. The formatting can be\n"
+"controlled with command line parameters. The default parameter settings\n"
+"approximately follow the suggestions in the Perl Style Guide."
+msgstr ""
+
+#: gnu/packages/perl.scm:7776
+msgid "Cycle through a list of values"
+msgstr ""
+
+#: gnu/packages/perl.scm:7777
+msgid ""
+"You use @code{Tie::Cycle} to go through a list over and over\n"
+"again. Once you get to the end of the list, you go back to the beginning."
+msgstr ""
+
+#: gnu/packages/perl.scm:7796
+msgid "Ordered associative arrays for Perl"
+msgstr ""
+
+#: gnu/packages/perl.scm:7797
+msgid ""
+"This Perl module implements Perl hashes that preserve the\n"
+"order in which the hash elements were added. The order is not affected when\n"
+"values corresponding to existing keys in the IxHash are changed. The elements\n"
+"can also be set to any arbitrary supplied order. The familiar perl array\n"
+"operations can also be performed on the IxHash."
+msgstr ""
+
+#: gnu/packages/perl.scm:7820
+msgid "Tie to an existing Perl object"
+msgstr ""
+
+#: gnu/packages/perl.scm:7821
+msgid ""
+"This class provides a tie constructor that returns the\n"
+"object it was given as it's first argument. This way side effects of calling\n"
+"$object->TIEHASH are avoided."
+msgstr ""
+
+#: gnu/packages/perl.scm:7844
+msgid "English expression of durations"
+msgstr ""
+
+#: gnu/packages/perl.scm:7845
+msgid ""
+"This module provides functions for expressing durations in\n"
+"rounded or exact terms."
+msgstr ""
+
+#: gnu/packages/perl.scm:7867
+msgid "Parse time duration strings"
+msgstr ""
+
+#: gnu/packages/perl.scm:7868
+msgid ""
+"Time::Duration::Parse is a module to parse human readable\n"
+"duration strings like \"2 minutes\" and \"3 seconds\" to seconds."
+msgstr ""
+
+#: gnu/packages/perl.scm:7886
+msgid "Efficiently compute time from local and GMT time"
+msgstr ""
+
+#: gnu/packages/perl.scm:7887
+msgid ""
+"This module provides functions that are the inverse of\n"
+"built-in perl functions localtime() and gmtime(). They accept a date as a\n"
+"six-element array, and return the corresponding time(2) value in seconds since\n"
+"the system epoch."
+msgstr ""
+
+#: gnu/packages/perl.scm:7907
+msgid "Date parsing/formatting subroutines"
+msgstr ""
+
+#: gnu/packages/perl.scm:7908
+msgid ""
+"This module provides routines for parsing date string into\n"
+"time values and formatting dates into ASCII strings."
+msgstr ""
+
+#: gnu/packages/perl.scm:7930
+msgid "Shift and scale time"
+msgstr ""
+
+#: gnu/packages/perl.scm:7931
+msgid ""
+"This module allows you to speed up your sleep(), alarm(),\n"
+"and time() calls."
+msgstr ""
+
+#: gnu/packages/perl.scm:7954
+msgid "Simple tree object"
+msgstr ""
+
+#: gnu/packages/perl.scm:7955
+msgid ""
+"This module in a fully object-oriented implementation of a\n"
+"simple n-ary tree."
+msgstr ""
+
+#: gnu/packages/perl.scm:7979
+msgid "Factory object for dispensing Visitor objects"
+msgstr ""
+
+#: gnu/packages/perl.scm:7980
+msgid ""
+"This module is a factory for dispensing\n"
+"Tree::Simple::Visitor::* objects."
+msgstr ""
+
+#: gnu/packages/perl.scm:7998
+msgid "Minimal try/catch with proper preservation of $@@"
+msgstr ""
+
+#: gnu/packages/perl.scm:7999
+msgid ""
+"This module provides bare bones try/catch/finally statements\n"
+"that are designed to minimize common mistakes with eval blocks, and nothing\n"
+"else."
+msgstr ""
+
+#: gnu/packages/perl.scm:8024
+msgid "Tie a variable to a type constraint"
+msgstr ""
+
+#: gnu/packages/perl.scm:8025
+msgid ""
+"This module exports a single function: @code{ttie}. It ties\n"
+"a variable to a type constraint, ensuring that whatever values stored in the\n"
+"variable will conform to the type constraint. If the type constraint has\n"
+"coercions, these will be used if necessary to ensure values assigned to the\n"
+"variable conform."
+msgstr ""
+
+#: gnu/packages/perl.scm:8058
+msgid "Tiny, yet Moo(se)-compatible type constraint"
+msgstr ""
+
+#: gnu/packages/perl.scm:8059
+msgid ""
+"@code{Type::Tiny} is a small class for writing type\n"
+"constraints, inspired by Moose's type constraint API. It has only one\n"
+"non-core dependency (and even that is simply a module that was previously\n"
+"distributed as part of @code{Type::Tiny} but has since been spun off), and can\n"
+"be used with Moose, Mouse and Moo (or none of the above)."
+msgstr ""
+
+#: gnu/packages/perl.scm:8080
+msgid "Provides an XS boost for some of Type::Tiny's built-in type constraints"
+msgstr ""
+
+#: gnu/packages/perl.scm:8081
+msgid ""
+"This module is optionally used by @code{Type::Tiny} to\n"
+"provide faster, C-based implementations of some type constraints. This\n"
+"package has only core dependencies, and does not depend on @code{Type::Tiny},\n"
+"so other data validation frameworks might also consider using it."
+msgstr ""
+
+#: gnu/packages/perl.scm:8106
+msgid "Types and coercions for Moose and Moo"
+msgstr ""
+
+#: gnu/packages/perl.scm:8107
+msgid ""
+"This module provides @code{Path::Tiny} types for Moose, Moo,\n"
+"etc. It handles two important types of coercion: coercing objects with\n"
+"overloaded stringification, and coercing to absolute paths. It also can check\n"
+"to ensure that files or directories exist."
+msgstr ""
+
+#: gnu/packages/perl.scm:8129
+msgid "Data types for common serialisation formats"
+msgstr ""
+
+#: gnu/packages/perl.scm:8130
+msgid ""
+"This module provides some extra datatypes that are used by\n"
+"common serialisation formats such as JSON or CBOR."
+msgstr ""
+
+#: gnu/packages/perl.scm:8157
+msgid "Unicode normalization forms"
+msgstr ""
+
+#: gnu/packages/perl.scm:8158
+msgid "This Perl module provides Unicode normalization forms."
+msgstr ""
+
+#: gnu/packages/perl.scm:8187
+msgid "Unicode collation algorithm"
+msgstr ""
+
+#: gnu/packages/perl.scm:8188
+msgid ""
+"This package provides tools for sorting and comparing\n"
+"Unicode data."
+msgstr ""
+
+#: gnu/packages/perl.scm:8209
+msgid "Unicode line breaking algorithm"
+msgstr ""
+
+#: gnu/packages/perl.scm:8211
+msgid ""
+"@code{Unicode::LineBreak} implements the line breaking algorithm\n"
+"described in Unicode Standard Annex #14. The @code{East_Asian_Width} property\n"
+"defined by Annex #11 is used to determine breaking positions."
+msgstr ""
+
+#: gnu/packages/perl.scm:8234
+msgid "Encoding and decoding of UTF-8 encoding form"
+msgstr ""
+
+#: gnu/packages/perl.scm:8236
+msgid ""
+"This module provides functions to encode and decode UTF-8 encoding form\n"
+"as specified by Unicode and ISO/IEC 10646:2011."
+msgstr ""
+
+#: gnu/packages/perl.scm:8254
+msgid "UNIVERSAL::can() reimplementation"
+msgstr ""
+
+#: gnu/packages/perl.scm:8255
+msgid ""
+"This module attempts to work around people calling\n"
+"UNIVERSAL::can() as a function, which it is not."
+msgstr ""
+
+#: gnu/packages/perl.scm:8275
+msgid "UNIVERSAL::isa() reimplementation"
+msgstr ""
+
+#: gnu/packages/perl.scm:8276
+msgid ""
+"This module attempts to recover from people calling\n"
+"UNIVERSAL::isa as a function."
+msgstr ""
+
+#: gnu/packages/perl.scm:8294
+msgid "Associate user-defined magic to variables from Perl"
+msgstr ""
+
+#: gnu/packages/perl.scm:8295
+msgid ""
+"Magic is Perl's way of enhancing variables. This mechanism\n"
+"lets the user add extra data to any variable and hook syntactical\n"
+"operations (such as access, assignment or destruction) that can be applied to\n"
+"it. With this module, you can add your own magic to any variable without\n"
+"having to write a single line of XS."
+msgstr ""
+
+#: gnu/packages/perl.scm:8318
+msgid "Easily generate well-formed, namespace-aware XML"
+msgstr ""
+
+#: gnu/packages/perl.scm:8319
+msgid ""
+"@code{XML::Writer} is a simple Perl module for writing XML\n"
+"documents: it takes care of constructing markup and escaping data correctly.\n"
+"By default, it also performs a significant amount of well-formedness checking\n"
+"on the output to make certain (for example) that start and end tags match,\n"
+"that there is exactly one document element, and that there are not duplicate\n"
+"attribute names."
+msgstr ""
+
+#: gnu/packages/perl.scm:8346
+msgid "Opaque, extensible XS pointer backed objects using sv_magic"
+msgstr ""
+
+#: gnu/packages/perl.scm:8348
+msgid ""
+"This way of associating structs with Perl space objects is designed to\n"
+"supersede Perl's builtin @code{T_PTROBJ} with something that is extensible\n"
+"(structs can be associated with any data type) and opaque (the C pointer is\n"
+"neither visible nor modifiable from Perl space)."
+msgstr ""
+
+#: gnu/packages/perl.scm:8370
+msgid "YAML for Perl"
+msgstr ""
+
+#: gnu/packages/perl.scm:8371
+msgid ""
+"The YAML.pm module implements a YAML Loader and Dumper based\n"
+"on the YAML 1.0 specification."
+msgstr ""
+
+#: gnu/packages/perl.scm:8393
+msgid "Perl YAML Serialization using XS and libyaml"
+msgstr ""
+
+#: gnu/packages/perl.scm:8395
+msgid ""
+"@code{YAML::XS} is a Perl XS binding to libyaml which offers Perl the\n"
+"best YAML support to date."
+msgstr ""
+
+#: gnu/packages/perl.scm:8418
+msgid "Read/Write YAML files"
+msgstr ""
+
+#: gnu/packages/perl.scm:8419
+msgid ""
+"YAML::Tiny is a perl class for reading and writing\n"
+"YAML-style files, written with as little code as possible, reducing load time\n"
+"and memory overhead."
+msgstr ""
+
+#: gnu/packages/perl.scm:8443
+msgid "Generate recursive-descent parsers"
+msgstr ""
+
+#: gnu/packages/perl.scm:8445
+msgid ""
+"@code{Parse::RecDescent} can incrementally generate top-down\n"
+"recursive-descent text parsers from simple yacc-like grammar specifications."
+msgstr ""
+
+#: gnu/packages/perl.scm:8465
+msgid "Generate and use LALR parsers"
+msgstr ""
+
+#: gnu/packages/perl.scm:8466
+msgid ""
+"This package compiles yacc-like @dfn{Look Ahead LR} (LALR)\n"
+"grammars to generate Perl object oriented parser modules."
+msgstr ""
+
+#: gnu/packages/perl.scm:8492
+msgid "Distribution metadata for a CPAN dist"
+msgstr ""
+
+#: gnu/packages/perl.scm:8493
+msgid ""
+"Software distributions released to the CPAN include a\n"
+"META.json or, for older distributions, META.yml, which describes the\n"
+"distribution, its contents, and the requirements for building and installing\n"
+"the distribution. The data structure stored in the META.json file is\n"
+"described in CPAN::Meta::Spec. CPAN::Meta provides a simple class to\n"
+"represent this distribution metadata (or distmeta), along with some helpful\n"
+"methods for interrogating that data."
+msgstr ""
+
+#: gnu/packages/perl.scm:8516
+msgid "Set of version requirements for a CPAN dist"
+msgstr ""
+
+#: gnu/packages/perl.scm:8517
+msgid ""
+"A CPAN::Meta::Requirements object models a set of version\n"
+"constraints like those specified in the META.yml or META.json files in CPAN\n"
+"distributions, and as defined by CPAN::Meta::Spec. It can be built up by\n"
+"adding more and more constraints, and will reduce them to the simplest\n"
+"representation."
+msgstr ""
+
+#: gnu/packages/perl.scm:8540
+msgid "Read and write a subset of YAML for CPAN Meta files"
+msgstr ""
+
+#: gnu/packages/perl.scm:8541
+msgid ""
+"This module implements a subset of the YAML specification\n"
+"for use in reading and writing CPAN metadata files like META.yml and\n"
+"MYMETA.yml."
+msgstr ""
+
+#: gnu/packages/perl.scm:8562
+msgid "Build and install Perl modules"
+msgstr ""
+
+#: gnu/packages/perl.scm:8563
+msgid ""
+"@code{Module::Build} is a system for building, testing, and\n"
+"installing Perl modules; it used to be part of Perl itself until version 5.22,\n"
+"which dropped it. It is meant to be an alternative to\n"
+"@code{ExtUtils::MakeMaker}. Developers may alter the behavior of the module\n"
+"through subclassing in a much more straightforward way than with\n"
+"@code{MakeMaker}. It also does not require a @command{make} on your\n"
+"system---most of the @code{Module::Build} code is pure-Perl."
+msgstr ""
+
+#: gnu/packages/perl.scm:8589
+msgid "Parse META.yml and META.json CPAN metadata files"
+msgstr ""
+
+#: gnu/packages/perl.scm:8590
+msgid ""
+"Parse::CPAN::Meta is a parser for META.json and META.yml\n"
+"files, using JSON::PP and/or CPAN::Meta::YAML."
+msgstr ""
+
+#: gnu/packages/perl.scm:8608
+msgid "Common Scalar and List utility subroutines"
+msgstr ""
+
+#: gnu/packages/perl.scm:8609
+msgid ""
+"This package contains a selection of subroutines that people\n"
+"have expressed would be nice to have in the perl core, but the usage would not\n"
+"really be high enough to warrant the use of a keyword, and the size so small\n"
+"such that being individual extensions would be wasteful."
+msgstr ""
+
+#: gnu/packages/perl.scm:8633
+msgid "Cross-platform functions emulating common shell commands"
+msgstr ""
+
+#: gnu/packages/perl.scm:8635
+msgid "Shell::Command is a thin wrapper around ExtUtils::Command."
+msgstr ""
+
+#: gnu/packages/perl.scm:8662
+msgid "Object-oriented File::Find replacement in Perl"
+msgstr ""
+
+#: gnu/packages/perl.scm:8663
+msgid ""
+"File::Find::Object is an object-oriented\n"
+"File::Find replacement in Perl."
+msgstr ""
+
+#: gnu/packages/perl.scm:8692
+msgid "Alternative interface to File::Find::Object"
+msgstr ""
+
+#: gnu/packages/perl.scm:8693
+msgid ""
+"File::Find::Object::Rule is an alternative Perl\n"
+"interface to File::Find::Object."
+msgstr ""
+
+#: gnu/packages/perl.scm:8723
+msgid "Collection of Perl modules for time/date manipulation"
+msgstr ""
+
+#: gnu/packages/perl.scm:8724
+msgid ""
+"Provides several perl modules for date/time manipulation:\n"
+"@code{Time::CTime.pm}, @code{Time::JulianDay.pm}, @code{Time::ParseDate.pm},\n"
+"@code{Time::Timezone.pm}, and @code{Time::DaysInMonth.pm}."
+msgstr ""
+
+#: gnu/packages/perl.scm:8753
+msgid "Perl library for testing if a time() is in a specific period"
+msgstr ""
+
+#: gnu/packages/perl.scm:8754
+msgid ""
+"This Perl library provides a function which tells whether a\n"
+"specific time falls within a specified time period. Its syntax for specifying\n"
+"time periods allows you to test for conditions like \"Monday to Friday, 9am\n"
+"till 5pm\" and \"on the second Tuesday of the month\" and \"between 4pm and\n"
+"4:15pm\" and \"in the first half of each minute\" and \"in January of\n"
+"1998\"."
+msgstr ""
+
+#: gnu/packages/photo.scm:78
+msgid "Raw image decoder"
+msgstr ""
+
+#: gnu/packages/photo.scm:80
+msgid ""
+"LibRaw is a library for reading RAW files obtained from digital photo\n"
+"cameras (CRW/CR2, NEF, RAF, DNG, and others)."
+msgstr ""
+
+#: gnu/packages/photo.scm:97
+msgid "Read and manipulate EXIF data in digital photographs"
+msgstr ""
+
+#: gnu/packages/photo.scm:99
+msgid ""
+"The libexif C library allows applications to read, edit, and save EXIF\n"
+"data as produced by digital cameras."
+msgstr ""
+
+#: gnu/packages/photo.scm:125
+msgid "Accessing digital cameras"
+msgstr ""
+
+#: gnu/packages/photo.scm:127
+msgid ""
+"This is the library backend for gphoto2. It contains the code for PTP,\n"
+"MTP, and other vendor specific protocols for controlling and transferring data\n"
+"from digital cameras."
+msgstr ""
+
+#: gnu/packages/photo.scm:169
+msgid "Command-line tools to access digital cameras"
+msgstr ""
+
+#: gnu/packages/photo.scm:171
+msgid ""
+"Gphoto2 is a set of command line utilities for manipulating a large\n"
+"number of different digital cameras. Through libgphoto2, it supports PTP,\n"
+"MTP, and much more."
+msgstr ""
+
+#: gnu/packages/photo.scm:204
+msgid "Program and Perl library to manipulate EXIF and other metadata"
+msgstr ""
+
+#: gnu/packages/photo.scm:205
+msgid ""
+"This package provides the @code{exiftool} command and the\n"
+"@code{Image::ExifTool} Perl library to manipulate EXIF tags of digital images\n"
+"and a wide variety of other metadata."
+msgstr ""
+
+#: gnu/packages/photo.scm:229
+msgid "Library for panoramic images"
+msgstr ""
+
+#: gnu/packages/photo.scm:231
+msgid ""
+"The libpano13 package contains the backend library written by the\n"
+"Panorama Tools project for building panoramic images from a set of\n"
+"overlapping images, as well as some command line tools."
+msgstr ""
+
+#: gnu/packages/photo.scm:275
+msgid "Tools for combining and blending images"
+msgstr ""
+
+#: gnu/packages/photo.scm:277
+msgid ""
+"Enblend blends away the seams in a panoramic image mosaic using a\n"
+"multi-resolution spline. Enfuse merges different exposures of the same\n"
+"scene to produce an image that looks much like a tone-mapped image."
+msgstr ""
+
+#: gnu/packages/photo.scm:308
+msgid "Library to correct optical lens defects with a lens database"
+msgstr ""
+
+#: gnu/packages/photo.scm:309
+msgid ""
+"Digital photographs are not ideal. Of course, the better is\n"
+"your camera, the better the results will be, but in any case if you look\n"
+"carefully at shots taken even by the most expensive cameras equipped with the\n"
+"most expensive lenses you will see various artifacts. It is very hard to make\n"
+"ideal cameras, because there are a lot of factors that affect the final image\n"
+"quality, and at some point camera and lens designers have to trade one factor\n"
+"for another to achieve the optimal image quality, within the given design\n"
+"restrictions and budget. But we all want ideal shots, don't we? So that's\n"
+"what's Lensfun is all about: rectifying the defects introduced by your\n"
+"photographic equipment."
+msgstr ""
+
+#: gnu/packages/photo.scm:385
+msgid "Virtual lighttable and darkroom for photographers"
+msgstr ""
+
+#: gnu/packages/photo.scm:386
+msgid ""
+"Darktable is a photography workflow application and RAW\n"
+"developer. It manages your digital negatives in a database, lets you view\n"
+"them through a zoomable lighttable and enables you to develop raw images\n"
+"and enhance them."
+msgstr ""
+
+#: gnu/packages/photo.scm:457
+msgid "Panorama photo stitcher"
+msgstr ""
+
+#: gnu/packages/photo.scm:459
+msgid ""
+"Hugin is an easy to use panoramic imaging toolchain with a graphical\n"
+"user interface. It can be used to assemble a mosaic of photographs into\n"
+"a complete panorama and stitch any series of overlapping pictures."
+msgstr ""
+
+#: gnu/packages/ratpoison.scm:86
+msgid "Simple mouse-free tiling window manager"
+msgstr ""
+
+#: gnu/packages/ratpoison.scm:88
+msgid ""
+"Ratpoison is a simple window manager with no fat library\n"
+"dependencies, no fancy graphics, no window decorations, and no\n"
+"rodent dependence. It is largely modelled after GNU Screen which\n"
+"has done wonders in the virtual terminal market.\n"
+"\n"
+"The screen can be split into non-overlapping frames. All windows\n"
+"are kept maximized inside their frames to take full advantage of\n"
+"your precious screen real estate.\n"
+"\n"
+"All interaction with the window manager is done through keystrokes.\n"
+"Ratpoison has a prefix map to minimize the key clobbering that\n"
+"cripples Emacs and other quality pieces of software."
+msgstr ""
+
+#: gnu/packages/readline.scm:82
+msgid "Edit command lines while typing, with history support"
+msgstr ""
+
+#: gnu/packages/readline.scm:84
+msgid ""
+"The GNU readline library allows users to edit command lines as they\n"
+"are typed in. It can maintain a searchable history of previously entered\n"
+"commands, letting you easily recall, edit and re-enter past commands. It\n"
+"features both Emacs-like and vi-like keybindings, making its usage\n"
+"comfortable for anyone."
+msgstr ""
+
+#: gnu/packages/readline.scm:121
+msgid "Wrapper to allow the editing of keyboard commands"
+msgstr ""
+
+#: gnu/packages/readline.scm:123
+msgid ""
+"Rlwrap is a 'readline wrapper', a small utility that uses the GNU\n"
+"readline library to allow the editing of keyboard input for any command. You\n"
+"should consider rlwrap especially when you need user-defined completion (by way\n"
+"of completion word lists) and persistent history, or if you want to program\n"
+"'special effects' using the filter mechanism."
+msgstr ""
+
+#: gnu/packages/scanner.scm:87
+msgid "Raster image scanner library and drivers, without scanner support"
+msgstr ""
+
+#: gnu/packages/scanner.scm:88
+msgid ""
+"SANE stands for \"Scanner Access Now Easy\" and is an API\n"
+"proving access to any raster image scanner hardware (flatbed scanner,\n"
+"hand-held scanner, video- and still-cameras, frame-grabbers, etc.). The\n"
+"package contains the library, but no drivers."
+msgstr ""
+
+#: gnu/packages/scanner.scm:126
+msgid "Raster image scanner library and drivers, with scanner support"
+msgstr ""
+
+#: gnu/packages/scanner.scm:127
+msgid ""
+"SANE stands for \"Scanner Access Now Easy\" and is an API\n"
+"proving access to any raster image scanner hardware (flatbed scanner,\n"
+"hand-held scanner, video- and still-cameras, frame-grabbers, etc.). The\n"
+"package contains the library and drivers."
+msgstr ""
+
+#: gnu/packages/scheme.scm:191
+msgid "A Scheme implementation with integrated editor and debugger"
+msgstr ""
+
+#: gnu/packages/scheme.scm:193
+msgid ""
+"GNU/MIT Scheme is an implementation of the Scheme programming\n"
+"language. It provides an interpreter, a compiler and a debugger. It also\n"
+"features an integrated Emacs-like editor and a large runtime library."
+msgstr ""
+
+#: gnu/packages/scheme.scm:276
+msgid "Efficient Scheme compiler"
+msgstr ""
+
+#: gnu/packages/scheme.scm:278
+msgid ""
+"Bigloo is a Scheme implementation devoted to one goal: enabling\n"
+"Scheme based programming style where C(++) is usually\n"
+"required. Bigloo attempts to make Scheme practical by offering\n"
+"features usually presented by traditional programming languages\n"
+"but not offered by Scheme and functional programming. Bigloo\n"
+"compiles Scheme modules. It delivers small and fast stand alone\n"
+"binary executables. Bigloo enables full connections between\n"
+"Scheme and C programs and between Scheme and Java programs."
+msgstr ""
+
+#: gnu/packages/scheme.scm:327
+msgid "Multi-tier programming language for the Web 2.0"
+msgstr ""
+
+#: gnu/packages/scheme.scm:329
+msgid ""
+"HOP is a multi-tier programming language for the Web 2.0 and the\n"
+"so-called diffuse Web. It is designed for programming interactive web\n"
+"applications in many fields such as multimedia (web galleries, music players,\n"
+"...), ubiquitous and house automation (SmartPhones, personal appliance),\n"
+"mashups, office (web agendas, mail clients, ...), etc."
+msgstr ""
+
+#: gnu/packages/scheme.scm:373
+msgid "R5RS Scheme implementation that compiles native code via C"
+msgstr ""
+
+#: gnu/packages/scheme.scm:375
+msgid ""
+"CHICKEN is a compiler for the Scheme programming language. CHICKEN\n"
+"produces portable and efficient C, supports almost all of the R5RS Scheme\n"
+"language standard, and includes many enhancements and extensions."
+msgstr ""
+
+#: gnu/packages/scheme.scm:394
+msgid "Scheme implementation using a bytecode interpreter"
+msgstr ""
+
+#: gnu/packages/scheme.scm:396
+msgid ""
+"Scheme 48 is an implementation of Scheme based on a byte-code\n"
+"interpreter and is designed to be used as a testbed for experiments in\n"
+"implementation techniques and as an expository tool."
+msgstr ""
+
+#: gnu/packages/scheme.scm:509
+msgid "Implementation of Scheme and related languages"
+msgstr ""
+
+#: gnu/packages/scheme.scm:511
+msgid ""
+"Racket is an implementation of the Scheme programming language (R5RS and\n"
+"R6RS) and related languages, such as Typed Racket. It features a compiler and\n"
+"a virtual machine with just-in-time native compilation, as well as a large set\n"
+"of libraries."
+msgstr ""
+
+#: gnu/packages/scheme.scm:549
+msgid "Efficient Scheme interpreter and compiler"
+msgstr ""
+
+#: gnu/packages/scheme.scm:551
+msgid ""
+"Gambit consists of two main programs: gsi, the Gambit Scheme\n"
+"interpreter, and gsc, the Gambit Scheme compiler. The interpreter contains\n"
+"the complete execution and debugging environment. The compiler is the\n"
+"interpreter extended with the capability of generating executable files. The\n"
+"compiler can produce standalone executables or compiled modules which can be\n"
+"loaded at run time. Interpreted code and compiled code can be freely\n"
+"mixed."
+msgstr ""
+
+#: gnu/packages/scheme.scm:585
+msgid "Small embeddable Scheme implementation"
+msgstr ""
+
+#: gnu/packages/scheme.scm:587
+msgid ""
+"Chibi-Scheme is a very small library with no external dependencies\n"
+"intended for use as an extension and scripting language in C programs. In\n"
+"addition to support for lightweight VM-based threads, each VM itself runs in\n"
+"an isolated heap allowing multiple VMs to run simultaneously in different OS\n"
+"threads."
+msgstr ""
+
+#: gnu/packages/scheme.scm:757
+msgid "Scmutils library for MIT Scheme"
+msgstr ""
+
+#: gnu/packages/scheme.scm:758
+msgid ""
+"The Scmutils system is an integrated library of\n"
+"procedures, embedded in the programming language Scheme, and intended to\n"
+"support teaching and research in mathematical physics and electrical\n"
+"engineering."
+msgstr ""
+
+#: gnu/packages/scheme.scm:808
+msgid "Structure and Interpretation of Computer Programs"
+msgstr ""
+
+#: gnu/packages/scheme.scm:809
+msgid ""
+"Structure and Interpretation of Computer Programs (SICP) is\n"
+"a textbook aiming to teach the principles of computer programming.\n"
+"\n"
+"Using Scheme, a dialect of the Lisp programming language, the book explains\n"
+"core computer science concepts such as abstraction in programming,\n"
+"metalinguistic abstraction, recursion, interpreters, and modular programming."
+msgstr ""
+
+#: gnu/packages/scheme.scm:850
+msgid "SRE String pattern-matching library for scheme48"
+msgstr ""
+
+#: gnu/packages/scheme.scm:852
+msgid ""
+"String pattern-matching library for scheme48 based on the SRE\n"
+"regular-expression notation."
+msgstr ""
+
+#: gnu/packages/scheme.scm:884
+msgid "Compatibility and utility library for Scheme"
+msgstr ""
+
+#: gnu/packages/scheme.scm:885
+msgid ""
+"SLIB is a portable Scheme library providing compatibility and\n"
+"utility functions for all standard Scheme implementations."
+msgstr ""
+
+#: gnu/packages/scheme.scm:946
+msgid "Scheme implementation conforming to R5RS and IEEE P1178"
+msgstr ""
+
+#: gnu/packages/scheme.scm:947
+msgid ""
+"GNU SCM is an implementation of Scheme. This\n"
+"implementation includes Hobbit, a Scheme-to-C compiler, which can\n"
+"generate C files whose binaries can be dynamically or statically\n"
+"linked with a SCM executable."
+msgstr ""
+
+#: gnu/packages/search.scm:66
+msgid "Search Engine Library"
+msgstr ""
+
+#: gnu/packages/search.scm:68
+msgid ""
+"Xapian is a highly adaptable toolkit which allows developers to easily\n"
+"add advanced indexing and search facilities to their own applications. It\n"
+"supports the Probabilistic Information Retrieval model and also supports a\n"
+"rich set of boolean query operators."
+msgstr ""
+
+#: gnu/packages/search.scm:98
+msgid "Python bindings for the Xapian search engine library"
+msgstr ""
+
+#: gnu/packages/search.scm:137
+msgid "Tool for Obsessive Compulsive Classifiers"
+msgstr ""
+
+#: gnu/packages/search.scm:139
+msgid ""
+"libtocc is the engine of the Tocc project, a tag-based file management\n"
+"system. The goal of Tocc is to provide a better system for classifying files\n"
+"that is more flexible than classic file systems that are based on a tree of\n"
+"files and directories."
+msgstr ""
+
+#: gnu/packages/search.scm:161
+msgid "Command-line interface to libtocc"
+msgstr ""
+
+#: gnu/packages/search.scm:163
+msgid ""
+"Tocc is a tag-based file management system. This package contains the\n"
+"command line tool for interacting with libtocc."
+msgstr ""
+
+#: gnu/packages/search.scm:181
+msgid "Finding text and HTML files that match boolean expressions"
+msgstr ""
+
+#: gnu/packages/search.scm:183
+msgid ""
+"GNU Bool is a utility to perform text searches on files using Boolean\n"
+"expressions. For example, a search for \"hello AND world\" would return a\n"
+"file containing the phrase \"Hello, world!\". It supports both AND and OR\n"
+"statements, as well as the NEAR statement to search for the occurrence of\n"
+"words in close proximity to each other. It handles context gracefully,\n"
+"accounting for new lines and paragraph changes. It also has robust support\n"
+"for parsing HTML files."
+msgstr ""
+
+#: gnu/packages/search.scm:213
+msgid "Full-text search system"
+msgstr ""
+
+#: gnu/packages/search.scm:214
+msgid ""
+"Hyper Estraier can be used to integrate full-text\n"
+"search into applications, using either the provided command line and CGI\n"
+"interfaces, or a C API."
+msgstr ""
+
+#: gnu/packages/search.scm:232
+msgid "Locate files on the file system"
+msgstr ""
+
+#: gnu/packages/search.scm:234
+msgid ""
+"mlocate is a locate/updatedb implementation. The 'm' stands for\n"
+"\"merging\": @code{updatedb} reuses the existing database to avoid rereading\n"
+"most of the file system, which makes it faster and does not trash the system\n"
+"caches as much. The locate(1) utility is intended to be completely compatible\n"
+"with slocate, and attempts to be compatible to GNU locate when it does not\n"
+"conflict with slocate compatibility."
+msgstr ""
+
+#: gnu/packages/search.scm:299
+msgid "Web indexing system"
+msgstr ""
+
+#: gnu/packages/search.scm:301
+msgid ""
+"Swish-e is Simple Web Indexing System for Humans - Enhanced. Swish-e\n"
+"can quickly and easily index directories of files or remote web sites and\n"
+"search the generated indexes."
+msgstr ""
+
+#: gnu/packages/serveez.scm:52
+msgid "Framework for implementing IP-based servers"
+msgstr ""
+
+#: gnu/packages/serveez.scm:54
+msgid ""
+"GNU Serveez is a server framework providing the routines necessary to\n"
+"easily implement IP-based servers in your application. It\n"
+"demonstrates aspects of network programming in a portable manner,\n"
+"making it convenient for both simplifying the process of adding a\n"
+"server to your application or for learning about how network services\n"
+"work. Several example servers are provided already, such as an HTTP\n"
+"server and an IRC server."
+msgstr ""
+
+#: gnu/packages/shells.scm:79
+msgid "POSIX-compliant shell optimised for size"
+msgstr ""
+
+#: gnu/packages/shells.scm:81
+msgid ""
+"dash is a POSIX-compliant @command{/bin/sh} implementation that aims to be\n"
+"as small as possible, often without sacrificing speed. It is faster than the\n"
+"GNU Bourne-Again Shell (@command{bash}) at most scripted tasks. dash is a\n"
+"direct descendant of NetBSD's Almquist Shell (@command{ash})."
+msgstr ""
+
+#: gnu/packages/shells.scm:136
+msgid "The friendly interactive shell"
+msgstr ""
+
+#: gnu/packages/shells.scm:138
+msgid ""
+"Fish (friendly interactive shell) is a shell focused on interactive use,\n"
+"discoverability, and friendliness. Fish has very user-friendly and powerful\n"
+"tab-completion, including descriptions of every completion, completion of\n"
+"strings with wildcards, and many completions for specific commands. It also\n"
+"has extensive and discoverable help. A special help command gives access to\n"
+"all the fish documentation in your web browser. Other features include smart\n"
+"terminal handling based on terminfo, an easy to search history, and syntax\n"
+"highlighting."
+msgstr ""
+
+#: gnu/packages/shells.scm:170
+msgid "Fish completions for Guix"
+msgstr ""
+
+#: gnu/packages/shells.scm:172
+msgid "Fish-guix provides completions for Guix for users of the fish shell."
+msgstr ""
+
+#: gnu/packages/shells.scm:213
+msgid "Alternative implementation of the rc shell by Byron Rakitzis"
+msgstr ""
+
+#: gnu/packages/shells.scm:215
+msgid ""
+"This is a reimplementation by Byron Rakitzis of the Plan 9 shell. It\n"
+"has a small feature set similar to a traditional Bourne shell."
+msgstr ""
+
+#: gnu/packages/shells.scm:246
+msgid "Extensible shell with higher-order functions"
+msgstr ""
+
+#: gnu/packages/shells.scm:248
+msgid ""
+"Es is an extensible shell. The language was derived from the Plan 9\n"
+"shell, rc, and was influenced by functional programming languages, such as\n"
+"Scheme, and the Tcl embeddable programming language. This implementation is\n"
+"derived from Byron Rakitzis's public domain implementation of rc, and was\n"
+"written by Paul Haahr and Byron Rakitzis."
+msgstr ""
+
+#: gnu/packages/shells.scm:308
+msgid "Unix shell based on csh"
+msgstr ""
+
+#: gnu/packages/shells.scm:310
+msgid ""
+"Tcsh is an enhanced, but completely compatible version of the Berkeley\n"
+"UNIX C shell (csh). It is a command language interpreter usable both as an\n"
+"interactive login shell and a shell script command processor. It includes a\n"
+"command-line editor, programmable word completion, spelling correction, a\n"
+"history mechanism, job control and a C-like syntax."
+msgstr ""
+
+#: gnu/packages/shells.scm:359
+msgid "Powerful shell for interactive use and scripting"
+msgstr ""
+
+#: gnu/packages/shells.scm:360
+msgid ""
+"The Z shell (zsh) is a Unix shell that can be used\n"
+"as an interactive login shell and as a powerful command interpreter\n"
+"for shell scripting. Zsh can be thought of as an extended Bourne shell\n"
+"with a large number of improvements, including some features of bash,\n"
+"ksh, and tcsh."
+msgstr ""
+
+#: gnu/packages/shells.scm:399
+msgid "Python-ish shell"
+msgstr ""
+
+#: gnu/packages/shells.scm:401
+msgid ""
+"Xonsh is a Python-ish, BASHwards-looking shell language and command\n"
+"prompt. The language is a superset of Python 3.4+ with additional shell\n"
+"primitives that you are used to from Bash and IPython. It works on all major\n"
+"systems including Linux, Mac OSX, and Windows. Xonsh is meant for the daily\n"
+"use of experts and novices alike."
+msgstr ""
+
+#: gnu/packages/shells.scm:448
+msgid "Unix shell embedded in Scheme"
+msgstr ""
+
+#: gnu/packages/shells.scm:450
+msgid ""
+"Scsh is a Unix shell embedded in Scheme. Scsh has two main\n"
+"components: a process notation for running programs and setting up pipelines\n"
+"and redirections, and a complete syscall library for low-level access to the\n"
+"operating system."
+msgstr ""
+
+#: gnu/packages/shells.scm:489
+msgid "Minimal zero-config readline replacement"
+msgstr ""
+
+#: gnu/packages/shells.scm:491
+msgid ""
+"Linenoise is a minimal, zero-config, readline replacement.\n"
+"Its features include:\n"
+"\n"
+"@enumerate\n"
+"@item Single and multi line editing mode with the usual key bindings\n"
+"@item History handling\n"
+"@item Completion\n"
+"@item Hints (suggestions at the right of the prompt as you type)\n"
+"@item A subset of VT100 escapes, ANSI.SYS compatible\n"
+"@end enumerate\n"
+msgstr ""
+
+#: gnu/packages/shells.scm:551
+msgid "Extremely minimal shell with the simplest syntax possible"
+msgstr ""
+
+#: gnu/packages/shells.scm:553
+msgid ""
+"S is a new shell that aims to be extremely simple.\n"
+"S does not implemnt the POSIX shell standard.\n"
+"There are no globs or \"splatting\" where a variable $FOO turns into multiple\n"
+"command line arguments. One token stays one token forever.\n"
+"This is a \"no surprises\" straightforward approach.\n"
+"\n"
+"There are no redirection operators > in the shell language, they are added as\n"
+"extra programs. > is just another unix command, < is essentially cat(1).\n"
+"A @code{andglob} program is also provided along with s."
+msgstr ""
+
+#: gnu/packages/shells.scm:581
+msgid "Port of OpenBSD Korn Shell"
+msgstr ""
+
+#: gnu/packages/shells.scm:583
+msgid ""
+"Oksh is a port of the OpenBSD Korn Shell.\n"
+"The OpenBSD Korn Shell is a cleaned up and enhanced ksh."
+msgstr ""
+
+#: gnu/packages/shells.scm:615
+msgid "Korn Shell from OpenBSD"
+msgstr ""
+
+#: gnu/packages/shells.scm:617
+msgid ""
+"loksh is a Linux port of OpenBSD's @command{ksh}. It is a small,\n"
+"interactive POSIX shell targeted at resource-constrained systems."
+msgstr ""
+
+#: gnu/packages/shells.scm:655
+msgid "Korn Shell from MirBSD"
+msgstr ""
+
+#: gnu/packages/shells.scm:656
+msgid ""
+"mksh is an actively developed free implementation of the\n"
+"Korn Shell programming language and a successor to the Public Domain Korn\n"
+"Shell (pdksh)."
+msgstr ""
+
+#: gnu/packages/telephony.scm:66
+msgid "(u)Common C++ framework for threaded applications"
+msgstr ""
+
+#: gnu/packages/telephony.scm:67
+msgid ""
+"GNU Common C++ is an portable, optimized class framework for\n"
+"threaded applications, supporting concurrent synchronization, inter-process\n"
+"communications via sockets, and various methods for data handling, such as\n"
+"serialization and XML parsing. It includes the uCommon C++ library, a smaller\n"
+"reimplementation."
+msgstr ""
+
+#: gnu/packages/telephony.scm:87
+msgid "Common C++ framework for threaded applications"
+msgstr ""
+
+#: gnu/packages/telephony.scm:88
+msgid ""
+"GNU uCommon C++ is meant as a very light-weight C++ library\n"
+"to facilitate using C++ design patterns even for very deeply embedded\n"
+"applications, such as for systems using uclibc along with posix threading\n"
+"support."
+msgstr ""
+
+#: gnu/packages/telephony.scm:110
+msgid "Implementation of RTP (real-time transport protocol)"
+msgstr ""
+
+#: gnu/packages/telephony.scm:111
+msgid ""
+"GNU ccRTP is an implementation of RTP, the real-time transport\n"
+"protocol from the IETF. It is suitable both for high capacity servers and\n"
+"personal client applications. It is flexible in its design, allowing it to\n"
+"function as a framework for the framework, rather than just being a\n"
+"packet-manipulation library."
+msgstr ""
+
+#: gnu/packages/telephony.scm:133
+msgid "Library implementing SIP (RFC-3261)"
+msgstr ""
+
+#: gnu/packages/telephony.scm:134
+msgid ""
+"GNU oSIP is an implementation of the SIP protocol. It is\n"
+"used to provide multimedia and telecom software developers with an interface\n"
+"to initiate and control SIP sessions."
+msgstr ""
+
+#: gnu/packages/telephony.scm:153
+msgid "Sip abstraction library"
+msgstr ""
+
+#: gnu/packages/telephony.scm:154
+msgid ""
+"EXosip is a library that hides the complexity of using the\n"
+"SIP protocol for multimedia session establishment. This protocol is mainly to\n"
+"be used by VoIP telephony applications (endpoints or conference server) but\n"
+"might be also useful for any application that wish to establish sessions like\n"
+"multiplayer games."
+msgstr ""
+
+#: gnu/packages/telephony.scm:197
+msgid "Secure peer-to-peer VoIP server for the SIP protocol"
+msgstr ""
+
+#: gnu/packages/telephony.scm:198
+msgid ""
+"GNU SIP Witch is a peer-to-peer Voice-over-IP server that\n"
+"uses the SIP protocol. Calls can be made from behind NAT firewalls and\n"
+"without the need for a service provider. Its peer-to-peer design ensures that\n"
+"there is no central point for media intercept or capture and thus it can be\n"
+"used to construct a secure telephone system that operates over the public\n"
+"internet."
+msgstr ""
+
+#: gnu/packages/telephony.scm:243
+msgid "Secure RTP (SRTP) Reference Implementation"
+msgstr ""
+
+#: gnu/packages/telephony.scm:244
+msgid ""
+"This package provides an implementation of the Secure\n"
+"Real-time Transport Protocol (SRTP), the Universal Security Transform (UST),\n"
+"and a supporting cryptographic kernel."
+msgstr ""
+
+#: gnu/packages/telephony.scm:279
+msgid "Inter-Asterisk-Protocol library"
+msgstr ""
+
+#: gnu/packages/telephony.scm:280
+msgid ""
+"LibIAX2 implements the Inter-Asterisk-Protocol for relaying\n"
+"Voice-over-IP (VoIP) communications."
+msgstr ""
+
+#: gnu/packages/telephony.scm:311
+msgid "Simple VoIP program to create conferences from the terminal"
+msgstr ""
+
+#: gnu/packages/telephony.scm:313
+msgid ""
+"Seren is a simple VoIP program based on the Opus codec that allows you\n"
+"to create a voice conference from the terminal, with up to 10 participants,\n"
+"without having to register accounts, exchange emails, or add people to contact\n"
+"lists. All you need to join an existing conference is the host name or IP\n"
+"address of one of the participants."
+msgstr ""
+
+#: gnu/packages/telephony.scm:425
+msgid "Low-latency, high quality voice chat software"
+msgstr ""
+
+#: gnu/packages/telephony.scm:427
+msgid ""
+"Mumble is an low-latency, high quality voice chat\n"
+"software primarily intended for use while gaming.\n"
+"Mumble consists of two applications for separate usage:\n"
+"@code{mumble} for the client, and @code{murmur} for the server."
+msgstr ""
+
+#: gnu/packages/tex.scm:192 gnu/packages/tex.scm:3844
+#: gnu/packages/tex.scm:3906
+msgid "TeX Live, a package of the TeX typesetting system"
+msgstr ""
+
+#: gnu/packages/tex.scm:194
+msgid ""
+"TeX Live provides a comprehensive TeX document production system.\n"
+"It includes all the major TeX-related programs, macro packages, and fonts\n"
+"that are free software, including support for many languages around the\n"
+"world.\n"
+"\n"
+"This package contains the binaries."
+msgstr ""
+
+#: gnu/packages/tex.scm:259
+msgid "DVI to PostScript drivers"
+msgstr ""
+
+#: gnu/packages/tex.scm:260
+msgid ""
+"This package provides files needed for converting DVI files\n"
+"to PostScript."
+msgstr ""
+
+#: gnu/packages/tex.scm:293
+msgid "Unicode data and loaders for TeX"
+msgstr ""
+
+#: gnu/packages/tex.scm:294
+msgid ""
+"This bundle provides generic access to Unicode Consortium\n"
+"data for TeX use. It contains a set of text files provided by the Unicode\n"
+"Consortium which are currently all from Unicode 8.0.0, with the exception of\n"
+"@code{MathClass.txt} which is not currently part of the Unicode Character\n"
+"Database. Accompanying these source data are generic TeX loader files\n"
+"allowing this data to be used as part of TeX runs, in particular in building\n"
+"format files. Currently there are two loader files: one for general character\n"
+"set up and one for initializing XeTeX character classes as has been carried\n"
+"out to date by @code{unicode-letters.tex}. "
+msgstr ""
+
+#: gnu/packages/tex.scm:331
+msgid "Hyphenation patterns for German"
+msgstr ""
+
+#: gnu/packages/tex.scm:332
+msgid ""
+"The package provides experimental hyphenation patterns for\n"
+"the German language, covering both traditional and reformed orthography. The\n"
+"patterns can be used with packages Babel and hyphsubst from the Oberdiek\n"
+"bundle."
+msgstr ""
+
+#: gnu/packages/tex.scm:366
+msgid "Files for creating TeX formats"
+msgstr ""
+
+#: gnu/packages/tex.scm:367
+msgid ""
+"This bundle provides a collection of model \".ini\" files\n"
+"for creating TeX formats. These files are commonly used to introduced\n"
+"distribution-dependent variations in formats. They are also used to\n"
+"allow existing format source files to be used with newer engines, for example\n"
+"to adapt the plain e-TeX source file to work with XeTeX and LuaTeX."
+msgstr ""
+
+#: gnu/packages/tex.scm:400
+msgid "Hyphenation patterns expressed in UTF-8"
+msgstr ""
+
+#: gnu/packages/tex.scm:401
+msgid ""
+"Modern native UTF-8 engines such as XeTeX and LuaTeX need\n"
+"hyphenation patterns in UTF-8 format, whereas older systems require\n"
+"hyphenation patterns in the 8-bit encoding of the font in use (such encodings\n"
+"are codified in the LaTeX scheme with names like OT1, T2A, TS1, OML, LY1,\n"
+"etc). The present package offers a collection of conversions of existing\n"
+"patterns to UTF-8 format, together with converters for use with 8-bit fonts in\n"
+"older systems. Since hyphenation patterns for Knuthian-style TeX systems are\n"
+"only read at iniTeX time, it is hoped that the UTF-8 patterns, with their\n"
+"converters, will completely supplant the older patterns."
+msgstr ""
+
+#: gnu/packages/tex.scm:476
+msgid "Metafont base files"
+msgstr ""
+
+#: gnu/packages/tex.scm:477
+msgid ""
+"This package provides the Metafont base files needed to\n"
+"build fonts using the Metafont system."
+msgstr ""
+
+#: gnu/packages/tex.scm:508
+msgid "Scheme for naming fonts in TeX"
+msgstr ""
+
+#: gnu/packages/tex.scm:509
+msgid ""
+"This is Fontname, a naming scheme for (the base part of)\n"
+"external TeX font filenames. This makes at most eight-character names\n"
+"from (almost) arbitrarily complex font names, thus helping portability of TeX\n"
+"documents."
+msgstr ""
+
+#: gnu/packages/tex.scm:576
+msgid "Computer Modern fonts for TeX"
+msgstr ""
+
+#: gnu/packages/tex.scm:577
+msgid ""
+"This package provides the Computer Modern fonts by Donald\n"
+"Knuth. The Computer Modern font family is a large collection of text,\n"
+"display, and mathematical fonts in a range of styles, based on Monotype Modern\n"
+"8A."
+msgstr ""
+
+#: gnu/packages/tex.scm:640
+msgid "Small library of METAFONT sources"
+msgstr ""
+
+#: gnu/packages/tex.scm:641
+msgid ""
+"This is a collection of core TeX and METAFONT macro files\n"
+"from Donald Knuth, including the plain format, plain base, and the MF logo\n"
+"fonts."
+msgstr ""
+
+#: gnu/packages/tex.scm:713
+msgid "Collection of fonts used in LaTeX distributions"
+msgstr ""
+
+#: gnu/packages/tex.scm:714
+msgid ""
+"This is a collection of fonts for use with standard LaTeX\n"
+"packages and classes. It includes invisible fonts (for use with the slides\n"
+"class), line and circle fonts (for use in the picture environment) and LaTeX\n"
+"symbol fonts."
+msgstr ""
+
+#: gnu/packages/tex.scm:791 gnu/packages/tex.scm:821
+msgid "TeX fonts from the American Mathematical Society"
+msgstr ""
+
+#: gnu/packages/tex.scm:793
+msgid ""
+"This package provides an extended set of fonts for use in mathematics,\n"
+"including: extra mathematical symbols; blackboard bold letters (uppercase\n"
+"only); fraktur letters; subscript sizes of bold math italic and bold Greek\n"
+"letters; subscript sizes of large symbols such as sum and product; added sizes\n"
+"of the Computer Modern small caps font; cyrillic fonts (from the University of\n"
+"Washington); Euler mathematical fonts. All fonts are provided as Adobe Type 1\n"
+"files, and all except the Euler fonts are provided as Metafont source. The\n"
+"distribution also includes the canonical Type 1 versions of the Computer\n"
+"Modern family of fonts. The Euler fonts are supported by separate packages;\n"
+"details can be found in the documentation."
+msgstr ""
+
+#: gnu/packages/tex.scm:823
+msgid ""
+"This package provides basic LaTeX support for the symbol fonts provides\n"
+"by the amsfonts package. It provides @code{amsfonts.sty}, with names of\n"
+"individual symbols defined in @code{amssymb.sty}."
+msgstr ""
+
+#: gnu/packages/tex.scm:856
+msgid "Plain TeX format and supporting files"
+msgstr ""
+
+#: gnu/packages/tex.scm:858
+msgid ""
+"Contains files used to build the Plain TeX format, as described in the\n"
+"TeXbook, together with various supporting files (some also discussed in the\n"
+"book)."
+msgstr ""
+
+#: gnu/packages/tex.scm:1004
+msgid "Base sources of LaTeX"
+msgstr ""
+
+#: gnu/packages/tex.scm:1006
+msgid ""
+"This bundle comprises the source of LaTeX itself, together with several\n"
+"packages which are considered \"part of the kernel\". This bundle, together\n"
+"with the required packages, constitutes what every LaTeX distribution should\n"
+"contain."
+msgstr ""
+
+#: gnu/packages/tex.scm:1025
+msgid "Extended filecontents and filecontents* environments"
+msgstr ""
+
+#: gnu/packages/tex.scm:1027
+msgid ""
+"LaTeX2e's @code{filecontents} and @code{filecontents*} environments\n"
+"enable a LaTeX source file to generate external files as it runs through\n"
+"LaTeX. However, there are two limitations of these environments: they refuse\n"
+"to overwrite existing files, and they can only be used in the preamble of a\n"
+"document. The filecontents package removes these limitations, letting you\n"
+"overwrite existing files and letting you use @code{filecontents} /\n"
+"@code{filecontents*} anywhere."
+msgstr ""
+
+#: gnu/packages/tex.scm:1053
+msgid "Am I running under XeTeX?"
+msgstr ""
+
+#: gnu/packages/tex.scm:1055
+msgid ""
+"This is a simple package which provides an @code{\\ifxetex} conditional,\n"
+"so that other code can determine that it is running under XeTeX. The package\n"
+"requires the e-TeX extensions to the TeX primitive set."
+msgstr ""
+
+#: gnu/packages/tex.scm:1086
+msgid "Simple macros for EPS inclusion"
+msgstr ""
+
+#: gnu/packages/tex.scm:1088
+msgid ""
+"This package provides the original (and now obsolescent) graphics\n"
+"inclusion macros for use with dvips, still widely used by Plain TeX users (in\n"
+"particular). For LaTeX users, the package is nowadays (rather strongly)\n"
+"deprecated in favour of the more sophisticated standard LaTeX latex-graphics\n"
+"bundle of packages. (The latex-graphics bundle is also available to Plain TeX\n"
+"users, via its Plain TeX version.)"
+msgstr ""
+
+#: gnu/packages/tex.scm:1113
+msgid "Sophisticated verbatim text"
+msgstr ""
+
+#: gnu/packages/tex.scm:1115
+msgid ""
+"This package provides tools for the flexible handling of verbatim text\n"
+"including: verbatim commands in footnotes; a variety of verbatim environments\n"
+"with many parameters; ability to define new customized verbatim environments;\n"
+"save and restore verbatim text and environments; write and read files in\n"
+"verbatim mode; build \"example\" environments (showing both result and\n"
+"verbatim source)."
+msgstr ""
+
+#: gnu/packages/tex.scm:1177
+msgid "LaTeX standard graphics bundle"
+msgstr ""
+
+#: gnu/packages/tex.scm:1179
+msgid ""
+"This is a collection of LaTeX packages for producing color, including\n"
+"graphics (e.g. PostScript) files, and rotation and scaling of text in LaTeX\n"
+"documents. It comprises the packages color, graphics, graphicx, trig, epsfig,\n"
+"keyval, and lscape."
+msgstr ""
+
+#: gnu/packages/tex.scm:1200
+msgid "Driver-independent color extensions for LaTeX and pdfLaTeX"
+msgstr ""
+
+#: gnu/packages/tex.scm:1202
+msgid ""
+"The package starts from the basic facilities of the colorcolor package,\n"
+"and provides easy driver-independent access to several kinds of color tints,\n"
+"shades, tones, and mixes of arbitrary colors. It allows a user to select a\n"
+"document-wide target color model and offers complete tools for conversion\n"
+"between eight color models. Additionally, there is a command for alternating\n"
+"row colors plus repeated non-aligned material (like horizontal lines) in\n"
+"tables."
+msgstr ""
+
+#: gnu/packages/tex.scm:1228
+msgid "Extensive support for hypertext in LaTeX"
+msgstr ""
+
+#: gnu/packages/tex.scm:1230
+msgid ""
+"The @code{hyperref} package is used to handle cross-referencing commands\n"
+"in LaTeX to produce hypertext links in the document. The package provides\n"
+"backends for the @code{\\special} set defined for HyperTeX DVI processors; for\n"
+"embedded @code{pdfmark} commands for processing by Acrobat\n"
+"Distiller (@code{dvips} and Y&Y's @code{dvipsone}); for Y&Y's @code{dviwindo};\n"
+"for PDF control within pdfTeX and @code{dvipdfm}; for TeX4ht; and for VTeX's\n"
+"pdf and HTML backends. The package is distributed with the @code{backref} and\n"
+"@code{nameref} packages, which make use of the facilities of @code{hyperref}."
+msgstr ""
+
+#: gnu/packages/tex.scm:1263
+msgid "Bundle of packages submitted by Heiko Oberdiek"
+msgstr ""
+
+#: gnu/packages/tex.scm:1265
+msgid ""
+"The bundle comprises various LaTeX packages, providing among others:\n"
+"better accessibility support for PDF files; extensible chemists reaction\n"
+"arrows; record information about document class(es) used; and many more."
+msgstr ""
+
+#: gnu/packages/tex.scm:1285
+msgid "LaTeX standard tools bundle"
+msgstr ""
+
+#: gnu/packages/tex.scm:1287
+msgid ""
+"This package is a collection of (variously) simple tools provided as\n"
+"part of the LaTeX required tools distribution, comprising the following\n"
+"packages: afterpage, array, bm, calc, dcolumn, delarray, enumerate, fileerr,\n"
+"fontsmpl, ftnright, hhline, indentfirst, layout, longtable, multicol,\n"
+"rawfonts, showkeys, somedefs, tabularx, theorem, trace, varioref, verbatim,\n"
+"xr, and xspace."
+msgstr ""
+
+#: gnu/packages/tex.scm:1321
+msgid "Verbatim with URL-sensitive line breaks"
+msgstr ""
+
+#: gnu/packages/tex.scm:1322
+msgid ""
+"The command @code{\\url} is a form of verbatim command that\n"
+"allows linebreaks at certain characters or combinations of characters, accepts\n"
+"reconfiguration, and can usually be used in the argument to another command.\n"
+"The command is intended for email addresses, hypertext links,\n"
+"directories/paths, etc., which normally have no spaces, so by default the\n"
+"package ignores spaces in its argument. However, a package option allows\n"
+"spaces, which is useful for operating systems where spaces are a common part\n"
+"of file names."
+msgstr ""
+
+#: gnu/packages/tex.scm:1348
+msgid "LaTeX3 programmers’ interface"
+msgstr ""
+
+#: gnu/packages/tex.scm:1350
+msgid ""
+"The l3kernel bundle provides an implementation of the LaTeX3\n"
+"programmers’ interface, as a set of packages that run under LaTeX 2e. The\n"
+"interface provides the foundation on which the LaTeX3 kernel and other future\n"
+"code are built: it is an API for TeX programmers. The packages are set up so\n"
+"that the LaTeX3 conventions can be used with regular LaTeX 2e packages."
+msgstr ""
+
+#: gnu/packages/tex.scm:1387
+msgid "High-level LaTeX3 concepts"
+msgstr ""
+
+#: gnu/packages/tex.scm:1389
+msgid ""
+"This bundle holds prototype implementations of concepts for a LaTeX\n"
+"designer interface, to be used with the experimental LaTeX kernel as\n"
+"programming tools and kernel sup­port. Packages provided in this release are:\n"
+"\n"
+"@enumerate\n"
+"@item l3keys2e, which makes the facilities of the kernel module l3keys\n"
+" available for use by LaTeX 2e packages;\n"
+"@item xfrac, which provides flexible splitlevel fractions;\n"
+"@item xparse, which provides a high-level interface for declaring document\n"
+" commands; and\n"
+"@item xtemplate, which provides a means of defining generic functions using a\n"
+" key-value syntax.\n"
+"@end enumerate\n"
+msgstr ""
+
+#: gnu/packages/tex.scm:1421
+msgid "Advanced font selection in XeLaTeX and LuaLaTeX"
+msgstr ""
+
+#: gnu/packages/tex.scm:1423
+msgid ""
+"Fontspec is a package for XeLaTeX and LuaLaTeX. It provides an\n"
+"automatic and unified interface to feature-rich AAT and OpenType fonts through\n"
+"the NFSS in LaTeX running on XeTeX or LuaTeX engines. The package requires\n"
+"the l3kernel and xparse bundles from the LaTeX 3 development team."
+msgstr ""
+
+#: gnu/packages/tex.scm:1458
+msgid "Lua modules for general programming (in the (La)TeX world)"
+msgstr ""
+
+#: gnu/packages/tex.scm:1460
+msgid ""
+"Lualibs is a collection of Lua modules useful for general programming.\n"
+"The bundle is based on Lua modules shipped with ConTeXt, and made available in\n"
+"this bundle for use independent of ConTeXt."
+msgstr ""
+
+#: gnu/packages/tex.scm:1479
+msgid "AMS mathematical facilities for LaTeX"
+msgstr ""
+
+#: gnu/packages/tex.scm:1481
+msgid ""
+"This is the principal package in the AMS-LaTeX distribution. It adapts\n"
+"for use in LaTeX most of the mathematical features found in AMS-TeX; it is\n"
+"highly recommended as an adjunct to serious mathematical typesetting in LaTeX.\n"
+"When amsmath is loaded, AMS-LaTeX packages @code{amsbsyamsbsy} (for bold\n"
+"symbols), @code{amsopnamsopn} (for operator names) and\n"
+"@code{amstextamstext} (for text embedded in mathematics) are also loaded.\n"
+"This package is part of the LaTeX required distribution; however, several\n"
+"contributed packages add still further to its appeal; examples are\n"
+"@code{empheqempheq}, which provides functions for decorating and highlighting\n"
+"mathematics, and @code{ntheoremntheorem}, for specifying theorem (and similar)\n"
+"definitions."
+msgstr ""
+
+#: gnu/packages/tex.scm:1508
+msgid "AMS document classes for LaTeX"
+msgstr ""
+
+#: gnu/packages/tex.scm:1510
+msgid ""
+"This bundle contains three AMS classes: @code{amsartamsart} (for writing\n"
+"articles for the AMS), @code{amsbookamsbook} (for books) and\n"
+"@code{amsprocamsproc} (for proceedings), together with some supporting\n"
+"material. The material is made available as part of the AMS-LaTeX\n"
+"distribution."
+msgstr ""
+
+#: gnu/packages/tex.scm:1540
+msgid "Multilingual support for Plain TeX or LaTeX"
+msgstr ""
+
+#: gnu/packages/tex.scm:1542
+msgid ""
+"The package manages culturally-determined typographical (and other)\n"
+"rules, and hyphenation patterns for a wide range of languages. A document may\n"
+"select a single language to be supported, or it may select several, in which\n"
+"case the document may switch from one language to another in a variety of\n"
+"ways. Babel uses contributed configuration files that provide the detail of\n"
+"what has to be done for each language. Users of XeTeX are advised to use the\n"
+"polyglossia package rather than Babel."
+msgstr ""
+
+#: gnu/packages/tex.scm:1565
+msgid "Babel support for English"
+msgstr ""
+
+#: gnu/packages/tex.scm:1567
+msgid ""
+"This package provides the language definition file for support of\n"
+"English in @code{babel}. Care is taken to select British hyphenation patterns\n"
+"for British English and Australian text, and default (\"american\") patterns\n"
+"for Canadian and USA text."
+msgstr ""
+
+#: gnu/packages/tex.scm:1587
+msgid "Support for Cyrillic fonts in LaTeX"
+msgstr ""
+
+#: gnu/packages/tex.scm:1589
+msgid ""
+"This bundle of macros files provides macro support (including font\n"
+"encoding macros) for the use of Cyrillic characters in fonts encoded under the\n"
+"T2* and X2 encodings. These encodings cover (between them) pretty much every\n"
+"language that is written in a Cyrillic alphabet."
+msgstr ""
+
+#: gnu/packages/tex.scm:1608
+msgid "Font support for common PostScript fonts"
+msgstr ""
+
+#: gnu/packages/tex.scm:1610
+msgid ""
+"The PSNFSS collection includes a set of files that provide a complete\n"
+"working setup of the LaTeX font selection scheme (NFSS2) for use with common\n"
+"PostScript fonts. It covers the so-called \"Base\" fonts (which are built\n"
+"into any Level 2 PostScript printing device and the Ghostscript interpreter)\n"
+"and a number of free fonts. It provides font definition files, macros and\n"
+"font metrics. The bundle as a whole is part of the LaTeX required set of\n"
+"packages."
+msgstr ""
+
+#: gnu/packages/tex.scm:1695
+msgid "Union of TeX Live packages"
+msgstr ""
+
+#: gnu/packages/tex.scm:1696
+msgid ""
+"This package provides a subset of the TeX Live\n"
+"distribution."
+msgstr ""
+
+#: gnu/packages/tex.scm:1711
+msgid ""
+"This is a very limited subset of the TeX Live distribution.\n"
+"It includes little more than the required set of LaTeX packages."
+msgstr ""
+
+#: gnu/packages/tex.scm:1728
+msgid "LaTeX-based replacement for BibTeX"
+msgstr ""
+
+#: gnu/packages/tex.scm:1730
+msgid ""
+"Amsrefs is a LaTeX package for bibliographies that provides an archival\n"
+"data format similar to the format of BibTeX database files, but adapted to\n"
+"make direct processing by LaTeX easier. The package can be used either in\n"
+"conjunction with BibTeX or as a replacement for BibTeX."
+msgstr ""
+
+#: gnu/packages/tex.scm:1757
+msgid "Footnotes for critical editions"
+msgstr ""
+
+#: gnu/packages/tex.scm:1759
+msgid ""
+"This package aims to provide a one-stop solution to requirements for\n"
+"footnotes. It offers: Multiple footnote apparatus superior to that of\n"
+"@code{manyfoot}. Footnotes can be formatted in separate paragraphs, or be run\n"
+"into a single paragraph (this choice may be selected per footnote series);\n"
+"Things you might have expected (such as @code{\\verb}-like material in\n"
+"footnotes, and color selections over page breaks) now work. Note that the\n"
+"majority of the bigfoot package's interface is identical to that of\n"
+"@code{manyfoot}; users should seek information from that package's\n"
+"documentation. The bigfoot bundle also provides the @code{perpage} and\n"
+"@code{suffix} packages."
+msgstr ""
+
+#: gnu/packages/tex.scm:1785
+msgid "Producing 'blind' text for testing"
+msgstr ""
+
+#: gnu/packages/tex.scm:1787
+msgid ""
+"The package provides the commands @code{\\blindtext} and\n"
+"@code{\\Blindtext} for creating \"blind\" text useful in testing new classes\n"
+"and packages, and @code{\\blinddocument}, @code{\\Blinddocument} for creating\n"
+"an entire random document with sections, lists, mathematics, etc. The package\n"
+"supports three languages, @code{english}, @code{(n)german} and @code{latin};\n"
+"the @code{latin} option provides a short \"lorem ipsum\" (for a fuller \"lorem\n"
+"ipsum\" text, see the @code{lipsum} package)."
+msgstr ""
+
+#: gnu/packages/tex.scm:1817
+msgid "German letter DIN style"
+msgstr ""
+
+#: gnu/packages/tex.scm:1819
+msgid ""
+"This package implements a document layout for writing letters according\n"
+"to the rules of DIN (Deutsches Institut für Normung, German standardisation\n"
+"institute). A style file for LaTeX 2.09 (with limited support of the\n"
+"features) is part of the package. Since the letter layout is based on a\n"
+"German standard, the user guide is written in German, but most macros have\n"
+"English names from which the user can recognize what they are used for. In\n"
+"addition there are example files showing how letters may be created with the\n"
+"package."
+msgstr ""
+
+#: gnu/packages/tex.scm:1843
+msgid "Put a grey textual watermark on document pages"
+msgstr ""
+
+#: gnu/packages/tex.scm:1845
+msgid ""
+"This package provides a means to add a textual, light grey watermark on\n"
+"every page or on the first page of a document. Typical usage may consist in\n"
+"writing words such as DRAFT or CONFIDENTIAL across document pages. The\n"
+"package performs a similar function to that of @code{draftcopy}, but its\n"
+"implementation is output device independent, and made very simple by relying\n"
+"on everypage."
+msgstr ""
+
+#: gnu/packages/tex.scm:1867
+msgid "New interface for environments in LaTeX"
+msgstr ""
+
+#: gnu/packages/tex.scm:1869
+msgid ""
+"This package provides the @code{\\collect@@body} command (as in\n"
+"@code{amsmath}), as well as a @code{\\long} version @code{\\Collect@@Body},\n"
+"for collecting the body text of an environment. These commands are used to\n"
+"define a new author interface to creating new environments."
+msgstr ""
+
+#: gnu/packages/tex.scm:1889
+msgid "Create equal-widthed parboxes"
+msgstr ""
+
+#: gnu/packages/tex.scm:1891
+msgid ""
+"LaTeX users sometimes need to ensure that two or more blocks of text\n"
+"occupy the same amount of horizontal space on the page. To that end, the\n"
+"@code{eqparbox} package defines a new command, @code{\\eqparbox}, which works\n"
+"just like @code{\\parbox}, except that instead of specifying a width, one\n"
+"specifies a tag. All @code{eqparbox}es with the same tag---regardless of\n"
+"where they are in the document---will stretch to fit the widest\n"
+"@code{eqparbox} with that tag. This simple, equal-width mechanism can be used\n"
+"for a variety of alignment purposes, as is evidenced by the examples in\n"
+"@code{eqparbox}'s documentation. Various derivatives of @code{\\eqparbox} are\n"
+"also provided."
+msgstr ""
+
+#: gnu/packages/tex.scm:1925
+msgid "Expanded description environments"
+msgstr ""
+
+#: gnu/packages/tex.scm:1927
+msgid ""
+"The package provides additional features for the LaTeX\n"
+"@code{description} environment, including adjustable left margin. The package\n"
+"also allows the user to \"break\" a list (for example, to interpose a comment)\n"
+"without affecting the structure of the list (this works for @code{itemize} and\n"
+"@code{enumerate} lists, and numbered lists remain in sequence)."
+msgstr ""
+
+#: gnu/packages/tex.scm:1960
+msgid "Provide file modification times, and compare them"
+msgstr ""
+
+#: gnu/packages/tex.scm:1962
+msgid ""
+"This package provides macros to read and compare the modification dates\n"
+"of files. The files may be @code{.tex} files, images or other files (as long\n"
+"as they can be found by LaTeX). It uses the @code{\\pdffilemoddate} primitive\n"
+"of pdfLaTeX to find the file modification date as PDF date string, parses the\n"
+"string and returns the value to the user. The package will also work for DVI\n"
+"output with recent versions of the LaTeX compiler which uses pdfLaTeX in DVI\n"
+"mode. The functionality is provided by purely expandable macros or by faster\n"
+"but non-expandable ones."
+msgstr ""
+
+#: gnu/packages/tex.scm:1986
+msgid "Conditionals to test which platform is being used"
+msgstr ""
+
+#: gnu/packages/tex.scm:1988
+msgid ""
+"This package uses the (La)TeX extension @code{-shell-escape} to\n"
+"establish whether the document is being processed on a Windows or on a\n"
+"Unix-like system, or on Cygwin (Unix environment over a Windows system).\n"
+"Booleans provided are: @code{\\ifwindows}, @code{\\iflinux}, @code{\\ifmacosx}\n"
+"and @code{\\ifcygwin}. The package also preserves the output of @code{uname}\n"
+"on a Unix-like system, which may be used to distinguish between various\n"
+"classes of systems."
+msgstr ""
+
+#: gnu/packages/tex.scm:2010
+msgid "Flexible bibliography support"
+msgstr ""
+
+#: gnu/packages/tex.scm:2012
+msgid ""
+"This bundle provides a package that implements both author-year and\n"
+"numbered references, as well as much detailed of support for other\n"
+"bibliography use. Also provided are versions of the standard BibTeX styles\n"
+"that are compatible with @code{natbib}: @code{plainnat}, @code{unsrtnat},\n"
+"@code{abbrnat}. The bibliography styles produced by @code{custom-bib} are\n"
+"designed from the start to be compatible with @code{natbib}."
+msgstr ""
+
+#: gnu/packages/tex.scm:2034
+msgid "Replace strings in encapsulated PostScript figures"
+msgstr ""
+
+#: gnu/packages/tex.scm:2036
+msgid ""
+"This package allows LaTeX constructions (equations, picture\n"
+"environments, etc.) to be precisely superimposed over Encapsulated PostScript\n"
+"figures, using your own favorite drawing tool to create an EPS figure and\n"
+"placing simple text \"tags\" where each replacement is to be placed, with\n"
+"PSfrag automatically removing these tags from the figure and replacing them\n"
+"with a user specified LaTeX construction, properly aligned, scaled, and/or\n"
+"rotated."
+msgstr ""
+
+#: gnu/packages/tex.scm:2072
+msgid "Process PostScript graphisc within pdfLaTeX documents"
+msgstr ""
+
+#: gnu/packages/tex.scm:2074
+msgid ""
+"This is a package for processing PostScript graphics with @code{psfrag}\n"
+"labels within pdfLaTeX documents. Every graphic is compiled individually,\n"
+"drastically speeding up compilation time when only a single figure needs\n"
+"re-processing."
+msgstr ""
+
+#: gnu/packages/tex.scm:2097
+msgid "Make overhead slides"
+msgstr ""
+
+#: gnu/packages/tex.scm:2100
+msgid ""
+"This package provides a class that produces overhead\n"
+"slides (transparencies), with many facilities. Seminar is not nowadays\n"
+"reckoned a good basis for a presentation — users are advised to use more\n"
+"recent classes such as powerdot or beamer, both of which are tuned to\n"
+"21st-century presentation styles."
+msgstr ""
+
+#: gnu/packages/tex.scm:2132
+msgid "Trim spaces around an argument or within a macro"
+msgstr ""
+
+#: gnu/packages/tex.scm:2134
+msgid ""
+"This very short package allows you to expandably remove spaces around a\n"
+"token list (commands are provided to remove spaces before, spaces after, or\n"
+"both); or to remove surrounding spaces within a macro definition, or to define\n"
+"space-stripped macros."
+msgstr ""
+
+#: gnu/packages/tex.scm:2167
+msgid "Captions on more than floats"
+msgstr ""
+
+#: gnu/packages/tex.scm:2169
+msgid ""
+"This package defines a command @code{\\captionof} for putting a caption\n"
+"to something that's not a float."
+msgstr ""
+
+#: gnu/packages/tex.scm:2200
+msgid "e-TeX tools for LaTeX"
+msgstr ""
+
+#: gnu/packages/tex.scm:2202
+msgid ""
+"This package is a toolbox of programming facilities geared primarily\n"
+"towards LaTeX class and package authors. It provides LaTeX frontends to some\n"
+"of the new primitives provided by e-TeX as well as some generic tools which\n"
+"are not strictly related to e-TeX but match the profile of this package. The\n"
+"package provides functions that seem to offer alternative ways of implementing\n"
+"some LaTeX kernel commands; nevertheless, the package will not modify any part\n"
+"of the LaTeX kernel."
+msgstr ""
+
+#: gnu/packages/tex.scm:2238
+msgid "Seven predefined chapter heading styles"
+msgstr ""
+
+#: gnu/packages/tex.scm:2240
+msgid ""
+"This package provides seven predefined chapter heading styles. Each\n"
+"style can be modified using a set of simple commands. Optionally one can\n"
+"modify the formatting routines in order to create additional chapter\n"
+"headings."
+msgstr ""
+
+#: gnu/packages/tex.scm:2273
+msgid "Framed or shaded regions that can break across pages"
+msgstr ""
+
+#: gnu/packages/tex.scm:2275
+msgid ""
+"The package creates three environments: @code{framed}, which puts an\n"
+"ordinary frame box around the region, @code{shaded}, which shades the region,\n"
+"and @code{leftbar}, which places a line at the left side. The environments\n"
+"allow a break at their start (the @code{\\FrameCommand} enables creation of a\n"
+"title that is “attached” to the environment); breaks are also allowed in the\n"
+"course of the framed/shaded matter. There is also a command\n"
+"@code{\\MakeFramed} to make your own framed-style environments."
+msgstr ""
+
+#: gnu/packages/tex.scm:2307
+msgid "Letter document class"
+msgstr ""
+
+#: gnu/packages/tex.scm:2309
+msgid ""
+"This package is designed for formatting formless letters in German; it\n"
+"can also be used for English (by those who can read the documentation). There\n"
+"are LaTeX 2.09 @code{documentstyle} and LaTeX 2e class files for both an\n"
+"\"old\" and a \"new\" version of g-brief."
+msgstr ""
+
+#: gnu/packages/tex.scm:2329
+msgid "Typeset Galois connections"
+msgstr ""
+
+#: gnu/packages/tex.scm:2331
+msgid ""
+"The package deals with connections in two-dimensional style, optionally\n"
+"in colour."
+msgstr ""
+
+#: gnu/packages/tex.scm:2349
+msgid "Citations in a reader-friendly style"
+msgstr ""
+
+#: gnu/packages/tex.scm:2351
+msgid ""
+"The package allows citations in the German style, which is considered by\n"
+"many to be particularly reader-friendly. The citation provides a small amount\n"
+"of bibliographic information in a footnote on the page where each citation is\n"
+"made. It combines a desire to eliminate unnecessary page-turning with the\n"
+"look-up efficiency afforded by numeric citations. The package makes use of\n"
+"BibLaTeX, and is considered experimental."
+msgstr ""
+
+#: gnu/packages/tex.scm:2373
+msgid "Flexible and complete interface to document dimensions"
+msgstr ""
+
+#: gnu/packages/tex.scm:2375
+msgid ""
+"This package provides an easy and flexible user interface to customize\n"
+"page layout, implementing auto-centering and auto-balancing mechanisms so that\n"
+"the users have only to give the least description for the page layout. The\n"
+"package knows about all the standard paper sizes, so that the user need not\n"
+"know what the nominal \"real\" dimensions of the paper are, just its standard\n"
+"name (such as a4, letter, etc.). An important feature is the package's\n"
+"ability to communicate the paper size it's set up to the output."
+msgstr ""
+
+#: gnu/packages/tex.scm:2398
+msgid "Miscellaneous tools by Mark Wooding"
+msgstr ""
+
+#: gnu/packages/tex.scm:2400
+msgid ""
+"This collection of tools includes: @code{atsupport} for short commands\n"
+"starting with @code{@@}, macros to sanitize the OT1 encoding of the\n"
+"@code{cmtt} fonts; a @code{doafter} command; improved @code{footnote} support;\n"
+"@code{mathenv} for various alignment in maths; list handling; @code{mdwmath}\n"
+"which adds some minor changes to LaTeX maths; a rewrite of LaTeX's tabular and\n"
+"array environments; verbatim handling; and syntax diagrams."
+msgstr ""
+
+#: gnu/packages/tex.scm:2422
+msgid "Alternative to babel for XeLaTeX and LuaLaTeX"
+msgstr ""
+
+#: gnu/packages/tex.scm:2424
+msgid ""
+"This package provides a complete Babel replacement for users of LuaLaTeX\n"
+"and XeLaTeX; it relies on the @code{fontspec} package, version 2.0 at least."
+msgstr ""
+
+#: gnu/packages/tex.scm:2442
+msgid "Multi-page tables package"
+msgstr ""
+
+#: gnu/packages/tex.scm:2444
+msgid ""
+"This package was a predecessor of @code{longtable}; the newer\n"
+"package (designed on quite different principles) is easier to use and more\n"
+"flexible, in many cases, but supertabular retains its usefulness in a few\n"
+"situations where longtable has problems."
+msgstr ""
+
+#: gnu/packages/tex.scm:2476
+msgid "TeX macros to handle Texinfo files"
+msgstr ""
+
+#: gnu/packages/tex.scm:2478
+msgid ""
+"Texinfo is the preferred format for documentation in the GNU project;\n"
+"the format may be used to produce online or printed output from a single\n"
+"source. The Texinfo macros may be used to produce printable output using TeX;\n"
+"other programs in the distribution offer online interactive use (with\n"
+"hypertext linkages in some cases)."
+msgstr ""
+
+#: gnu/packages/tex.scm:2499
+msgid "Show \"realistic\" quotes in verbatim"
+msgstr ""
+
+#: gnu/packages/tex.scm:2501
+msgid ""
+"Typewriter-style fonts are best for program listings, but Computer\n"
+"Modern Typewriter prints @code{`} and @code{'} as bent opening and closing\n"
+"single quotes. Other fonts, and most programming languages, print @code{`} as\n"
+"a grave accent and @code{'} upright; @code{'} is used both to open and to\n"
+"close quoted strings. The package switches the typewriter font to Computer\n"
+"Modern Typewriter in OT1 encoding, and modifies the behaviour of\n"
+"@code{verbatim}, @code{verbatim*}, @code{\\verb}, and @code{\\verb*} to print\n"
+"in the expected way. It does this regardless of other fonts or encodings in\n"
+"use, so long as the package is loaded after the other fonts were. The package\n"
+"does not affect @code{\\tt}, @code{\\texttt}, etc."
+msgstr ""
+
+#: gnu/packages/tex.scm:2539
+msgid "Simple package to set up document margins"
+msgstr ""
+
+#: gnu/packages/tex.scm:2541
+msgid ""
+"This is a simple package to set up document margins. This package is\n"
+"considered obsolete; alternatives are the @code{typearea} package from the\n"
+"@code{koma-script} bundle, or the @code{geometry} package."
+msgstr ""
+
+#: gnu/packages/tex.scm:2559
+msgid "Extra control of appendices"
+msgstr ""
+
+#: gnu/packages/tex.scm:2561
+msgid ""
+"The appendix package provides various ways of formatting the titles of\n"
+"appendices. Also (sub)appendices environments are provided that can be used,\n"
+"for example, for per chapter/section appendices. An @code{appendices}\n"
+"environment is provided which can be used instead of the @code{\\appendix}\n"
+"command."
+msgstr ""
+
+#: gnu/packages/tex.scm:2581
+msgid "Generate changebars in LaTeX documents"
+msgstr ""
+
+#: gnu/packages/tex.scm:2583
+msgid ""
+"Identify areas of text to be marked with changebars with the\n"
+"@code{\\cbstart} and @code{\\cbend} commands; the bars may be coloured. The\n"
+"package uses 'drivers' to place the bars; the available drivers can work with\n"
+"@code{dvitoln03}, @code{dvitops}, @code{dvips}, the emTeX and TeXtures DVI\n"
+"drivers, and VTeX and pdfTeX."
+msgstr ""
+
+#: gnu/packages/tex.scm:2618
+msgid "CMap support for PDF files"
+msgstr ""
+
+#: gnu/packages/tex.scm:2620
+msgid ""
+"This package embeds CMap tables into PDF files to make search and\n"
+"copy-and-paste functions work properly."
+msgstr ""
+
+#: gnu/packages/tex.scm:2637
+msgid "Add colour to LaTeX tables"
+msgstr ""
+
+#: gnu/packages/tex.scm:2639
+msgid ""
+"This package allows rows, columns, and even individual cells in LaTeX\n"
+"tables to be coloured."
+msgstr ""
+
+#: gnu/packages/tex.scm:2669
+msgid "Variants of \\fbox and other games with boxes"
+msgstr ""
+
+#: gnu/packages/tex.scm:2671
+msgid ""
+"This package provides variants of @code{\\fbox}: @code{\\shadowbox},\n"
+"@code{\\doublebox}, @code{\\ovalbox}, @code{\\Ovalbox}, with helpful tools for\n"
+"using box macros and flexible verbatim macros. You can box mathematics,\n"
+"floats, center, flushleft, and flushright, lists, and pages."
+msgstr ""
+
+#: gnu/packages/tex.scm:2703
+msgid "Extensive control of page headers and footers in LaTeX2e"
+msgstr ""
+
+#: gnu/packages/tex.scm:2705
+msgid ""
+"The package provides extensive facilities, both for constructing headers\n"
+"and footers, and for controlling their use (for example, at times when LaTeX\n"
+"would automatically change the heading style in use)."
+msgstr ""
+
+#: gnu/packages/tex.scm:2723
+msgid "Improved interface for floating objects"
+msgstr ""
+
+#: gnu/packages/tex.scm:2725
+msgid ""
+"This package improves the interface for defining floating objects such\n"
+"as figures and tables. It introduces the boxed float, the ruled float and the\n"
+"plaintop float. You can define your own floats and improve the behaviour of\n"
+"the old ones. The package also provides the @code{H} float modifier option of\n"
+"the obsolete @code{here} package. You can select this as automatic default\n"
+"with @code{\\floatplacement{figure}{H}}."
+msgstr ""
+
+#: gnu/packages/tex.scm:2746
+msgid "Range of footnote options"
+msgstr ""
+
+#: gnu/packages/tex.scm:2748
+msgid ""
+"This is a collection of ways to change the typesetting of footnotes.\n"
+"The package provides means of changing the layout of the footnotes themselves,\n"
+"a way to number footnotes per page, to make footnotes disappear in a\n"
+"\"moving\" argument, and to deal with multiple references to footnotes from\n"
+"the same place. The package also has a range of techniques for labelling\n"
+"footnotes with symbols rather than numbers."
+msgstr ""
+
+#: gnu/packages/tex.scm:2771
+msgid "Typeset source code listings using LaTeX"
+msgstr ""
+
+#: gnu/packages/tex.scm:2773
+msgid ""
+"The package enables the user to typeset programs (programming code)\n"
+"within LaTeX; the source code is read directly by TeX---no front-end processor\n"
+"is needed. Keywords, comments and strings can be typeset using different\n"
+"styles. Support for @code{hyperref} is provided."
+msgstr ""
+
+#: gnu/packages/tex.scm:2805
+msgid "Miscellaneous packages by Joerg Knappen"
+msgstr ""
+
+#: gnu/packages/tex.scm:2807
+msgid ""
+"This package provides miscellaneous macros by Joerg Knappen, including:\n"
+"represent counters in greek; Maxwell's non-commutative division;\n"
+"@code{latin1jk}, @code{latin2jk} and @code{latin3jk}, which are\n"
+"@code{inputenc} definition files that allow verbatim input in the respective\n"
+"ISO Latin codes; blackboard bold fonts in maths; use of RSFS fonts in maths;\n"
+"extra alignments for @code{\\parboxes}; swap Roman and Sans fonts;\n"
+"transliterate semitic languages; patches to make (La)TeX formulae embeddable\n"
+"in SGML; use maths minus in text as appropriate; simple Young tableaux."
+msgstr ""
+
+#: gnu/packages/tex.scm:2880
+msgid "Computer modern fonts in T1 and TS1 encodings"
+msgstr ""
+
+#: gnu/packages/tex.scm:2882
+msgid ""
+"The EC fonts are European Computer Modern Fonts, supporting the complete\n"
+"LaTeX T1 encoding defined at the 1990 TUG conference hold at Cork/Ireland.\n"
+"These fonts are intended to be stable with no changes being made to the tfm\n"
+"files. The set also contains a Text Companion Symbol font, called @code{tc},\n"
+"featuring many useful characters needed in text typesetting, for example\n"
+"oldstyle digits, currency symbols (including the newly created Euro symbol),\n"
+"the permille sign, copyright, trade mark and servicemark as well as a copyleft\n"
+"sign, and many others. Recent releases of LaTeX2e support the EC fonts. The\n"
+"EC fonts supersede the preliminary version released as the DC fonts. The\n"
+"fonts are available in (traced) Adobe Type 1 format, as part of the\n"
+"@code{cm-super} bundle. The other Computer Modern-style T1-encoded Type 1\n"
+"set, Latin Modern, is not actually a direct development of the EC set, and\n"
+"differs from the EC in a number of particulars."
+msgstr ""
+
+#: gnu/packages/tex.scm:2961
+msgid "Ralph Smith's Formal Script font"
+msgstr ""
+
+#: gnu/packages/tex.scm:2963
+msgid ""
+"The fonts provide uppercase formal script letters for use as symbols in\n"
+"scientific and mathematical typesetting (in contrast to the informal script\n"
+"fonts such as that used for the calligraphic symbols in the TeX maths symbol\n"
+"font). The fonts are provided as Metafont source, and as derived Adobe Type 1\n"
+"format. LaTeX support, for using these fonts in mathematics, is available via\n"
+"one of the packages @code{calrsfs} and @code{mathrsfs}."
+msgstr ""
+
+#: gnu/packages/tex.scm:2984
+msgid "Add picture commands (or backgrounds) to every page"
+msgstr ""
+
+#: gnu/packages/tex.scm:2986
+msgid ""
+"The package adds one or more user commands to LaTeX's @code{shipout}\n"
+"routine, which may be used to place the output at fixed positions. The\n"
+"@code{grid} option may be used to find the correct places."
+msgstr ""
+
+#: gnu/packages/tex.scm:3017
+msgid "Extensions to epic and the LaTeX drawing tools"
+msgstr ""
+
+#: gnu/packages/tex.scm:3019
+msgid ""
+"Extensions to @code{epic} and the LaTeX picture drawing environment,\n"
+"include the drawing of lines at any slope, the drawing of circles in any\n"
+"radii, and the drawing of dotted and dashed lines much faster with much less\n"
+"TeX memory, and providing several new commands for drawing ellipses, arcs,\n"
+"splines, and filled circles and ellipses. The package uses @code{tpic}\n"
+"@code{\\special} commands."
+msgstr ""
+
+#: gnu/packages/tex.scm:3054
+msgid "Customize basic list environments"
+msgstr ""
+
+#: gnu/packages/tex.scm:3056
+msgid ""
+"This package is intended to ease customizing the three basic list\n"
+"environments: @code{enumerate}, @code{itemize} and @code{description}. It\n"
+"extends their syntax to allow an optional argument where a set of parameters\n"
+"in the form @code{key=value} are available, for example:\n"
+"@code{\\begin{itemize}[itemsep=1ex,leftmargin=1cm]}."
+msgstr ""
+
+#: gnu/packages/tex.scm:3076
+msgid "Create tabular cells spanning multiple rows"
+msgstr ""
+
+#: gnu/packages/tex.scm:3078
+msgid ""
+"The package provides tools for creating tabular cells spanning multiple\n"
+"rows. It has a lot of flexibility, including an option for specifying an\n"
+"entry at the \"natural\" width of its text."
+msgstr ""
+
+#: gnu/packages/tex.scm:3109
+msgid "Combine LaTeX commands over included graphics"
+msgstr ""
+
+#: gnu/packages/tex.scm:3111
+msgid ""
+"The @code{overpic} environment is a cross between the LaTeX\n"
+"@code{picture} environment and the @code{\\includegraphics} command of\n"
+"@code{graphicx}. The resulting picture environment has the same dimensions as\n"
+"the included graphic. LaTeX commands can be placed on the graphic at defined\n"
+"positions; a grid for orientation is available."
+msgstr ""
+
+#: gnu/packages/tex.scm:3145
+msgid "Layout with zero \\parindent, non-zero \\parskip"
+msgstr ""
+
+#: gnu/packages/tex.scm:3147
+msgid ""
+"Simply changing @code{\\parskip} and @code{\\parindent} leaves a layout\n"
+"that is untidy; this package (though it is no substitute for a properly\n"
+"designed class) helps alleviate this untidiness."
+msgstr ""
+
+#: gnu/packages/tex.scm:3165
+msgid "Include PDF documents in LaTeX"
+msgstr ""
+
+#: gnu/packages/tex.scm:3167
+msgid ""
+"This package simplifies the inclusion of external multi-page PDF\n"
+"documents in LaTeX documents. Pages may be freely selected and it is possible\n"
+"to put several logical pages onto each sheet of paper. Furthermore a lot of\n"
+"hypertext features like hyperlinks and article threads are provided. The\n"
+"package supports pdfTeX (pdfLaTeX) and VTeX. With VTeX it is even possible to\n"
+"use this package to insert PostScript files, in addition to PDF files."
+msgstr ""
+
+#: gnu/packages/tex.scm:3198
+msgid "St Mary Road symbols for theoretical computer science"
+msgstr ""
+
+#: gnu/packages/tex.scm:3200
+msgid ""
+"The fonts were originally distributed as Metafont sources only, but\n"
+"Adobe Type 1 versions are also now available. Macro support is provided for\n"
+"use under LaTeX; the package supports the @code{only} option (provided by the\n"
+"@code{somedefs} package) to restrict what is loaded, for those who don't need\n"
+"the whole font."
+msgstr ""
+
+#: gnu/packages/tex.scm:3220
+msgid "Figures divided into subfigures"
+msgstr ""
+
+#: gnu/packages/tex.scm:3222
+msgid ""
+"This (deprecated) package provides support for the manipulation and\n"
+"reference of small or \"sub\" figures and tables within a single figure or\n"
+"table environment. It is convenient to use this package when your subfigures\n"
+"are to be separately captioned, referenced, or are to be included in the\n"
+"List-of-Figures. A new @code{\\subfigure} command is introduced which can be\n"
+"used inside a figure environment for each subfigure. An optional first\n"
+"argument is used as the caption for that subfigure. The package is now\n"
+"considered obsolete: it was superseded by @code{subfig}, but users may find\n"
+"the more recent @code{subcaption} package more satisfactory."
+msgstr ""
+
+#: gnu/packages/tex.scm:3247
+msgid "Tabular with variable width columns balanced"
+msgstr ""
+
+#: gnu/packages/tex.scm:3249
+msgid ""
+"The package defines a @code{tabular*}-like environment, @code{tabulary},\n"
+"taking a \"total width\" argument as well as the column specifications. The\n"
+"environment uses column types @code{L}, @code{C}, @code{R} and @code{J} for\n"
+"variable width columns (@code{\\raggedright}, @code{\\centering},\n"
+"@code{\\raggedleft}, and normally justified). In contrast to\n"
+"@code{tabularx}'s @code{X} columns, the width of each column is weighted\n"
+"according to the natural width of the widest cell in the column."
+msgstr ""
+
+#: gnu/packages/tex.scm:3284
+msgid "Tables with captions and notes all the same width"
+msgstr ""
+
+#: gnu/packages/tex.scm:3286
+msgid ""
+"This package facilitates tables with titles (captions) and notes. The\n"
+"title and notes are given a width equal to the body of the table (a\n"
+"@code{tabular} environment). By itself, a @code{threeparttable} does not\n"
+"float, but you can put it in a @code{table} or a @code{table*} or some other\n"
+"environment."
+msgstr ""
+
+#: gnu/packages/tex.scm:3407
+msgid "Times-like fonts in support of mathematics"
+msgstr ""
+
+#: gnu/packages/tex.scm:3409
+msgid ""
+"Txfonts supplies virtual text roman fonts using Adobe Times (or URW\n"
+"NimbusRomNo9L) with some modified and additional text symbols in the OT1, T1,\n"
+"and TS1 encodings; maths alphabets using Times/URW Nimbus; maths fonts\n"
+"providing all the symbols of the Computer Modern and AMS fonts, including all\n"
+"the Greek capital letters from CMR; and additional maths fonts of various\n"
+"other symbols.\n"
+"\n"
+"The set is complemented by a sans-serif set of text fonts, based on\n"
+"Helvetica/NimbusSanL, and a monospace set.\n"
+"\n"
+"All the fonts are in Type 1 format (AFM and PFB files), and are supported by\n"
+"TeX metrics (VF and TFM files) and macros for use with LaTeX."
+msgstr ""
+
+#: gnu/packages/tex.scm:3450
+msgid "Select alternative section titles"
+msgstr ""
+
+#: gnu/packages/tex.scm:3452
+msgid ""
+"This package provides an interface to sectioning commands for selection\n"
+"from various title styles, e.g. for marginal titles and to change the font of\n"
+"all headings with a single command, also providing simple one-step page\n"
+"styles. It also includes a package to change the page styles when there are\n"
+"floats in a page. You may assign headers/footers to individual floats, too."
+msgstr ""
+
+#: gnu/packages/tex.scm:3473
+msgid "Arbitrary size font selection in LaTeX"
+msgstr ""
+
+#: gnu/packages/tex.scm:3475
+msgid ""
+"LaTeX, by default, restricts the sizes at which you can use its default\n"
+"computer modern fonts, to a fixed set of discrete sizes (effectively, a set\n"
+"specified by Knuth). The @code{type1cm} package removes this restriction;\n"
+"this is particularly useful when using scalable versions of the CM\n"
+"fonts (Bakoma, or the versions from BSR/Y&Y, or True Type versions from Kinch,\n"
+"PCTeX, etc.). In fact, since modern distributions will automatically generate\n"
+"any bitmap font you might need, @code{type1cm} has wider application than just\n"
+"those using scaleable versions of the fonts. Note that the LaTeX distribution\n"
+"now contains a package @code{fix-cm},f which performs the task of\n"
+"@code{type1cm}, as well as doing the same job for T1- and TS1-encoded\n"
+"@code{ec} fonts."
+msgstr ""
+
+#: gnu/packages/tex.scm:3501
+msgid "Cyrillic fonts that support LaTeX standard encodings"
+msgstr ""
+
+#: gnu/packages/tex.scm:3503
+msgid ""
+"The LH fonts address the problem of the wide variety of alphabets that\n"
+"are written with Cyrillic-style characters. The fonts are the original basis\n"
+"of the set of T2* and X2 encodings that are now used when LaTeX users need to\n"
+"write in Cyrillic languages. Macro support in standard LaTeX encodings is\n"
+"offered through the latex-cyrillic and t2 bundles, and the package itself\n"
+"offers support for other (more traditional) encodings. The fonts, in the\n"
+"standard T2* and X2 encodings are available in Adobe Type 1 format, in the\n"
+"CM-Super family of fonts. The package also offers its own LaTeX support for\n"
+"OT2 encoded fonts, CM bright shaped fonts and Concrete shaped fonts."
+msgstr ""
+
+#: gnu/packages/tex.scm:3540
+msgid "Create scalable illustrations"
+msgstr ""
+
+#: gnu/packages/tex.scm:3542
+msgid ""
+"MetaPost uses a language based on that of Metafont to produce precise\n"
+"technical illustrations. Its output is scalable PostScript or SVG, rather\n"
+"than the bitmaps Metafont creates."
+msgstr ""
+
+#: gnu/packages/tex.scm:3561
+msgid "Class for typesetting publications of ACM"
+msgstr ""
+
+#: gnu/packages/tex.scm:3563
+msgid ""
+"This package provides a class for typesetting publications of the\n"
+"Association for Computing Machinery (ACM)."
+msgstr ""
+
+#: gnu/packages/tex.scm:3594
+msgid "Variable-width minipage"
+msgstr ""
+
+#: gnu/packages/tex.scm:3596
+msgid ""
+"The @code{varwidth} environment is superficially similar to\n"
+"@code{minipage}, but the specified width is just a maximum value — the box may\n"
+"get a narrower “natural” width."
+msgstr ""
+
+#: gnu/packages/tex.scm:3614
+msgid "LaTeX support file to use the WASY2 fonts"
+msgstr ""
+
+#: gnu/packages/tex.scm:3616
+msgid ""
+"The wasy2WASY2 (Waldi Symbol) font by Roland Waldi provides many glyphs\n"
+"like male and female symbols and astronomical symbols, as well as the complete\n"
+"lasy font set and other odds and ends. The wasysym package implements an easy\n"
+"to use interface for these symbols."
+msgstr ""
+
+#: gnu/packages/tex.scm:3649
+msgid "Produces figures which text can flow around"
+msgstr ""
+
+#: gnu/packages/tex.scm:3651
+msgid ""
+"This package allows figures or tables to have text wrapped around them.\n"
+"It does not work in combination with list environments, but can be used in a\n"
+"@code{parbox} or @code{minipage}, and in two-column format."
+msgstr ""
+
+#: gnu/packages/tex.scm:3683
+msgid "Extended UTF-8 input encoding support for LaTeX"
+msgstr ""
+
+#: gnu/packages/tex.scm:3685
+msgid ""
+"The bundle provides the @code{ucs} package, and @code{utf8x.def},\n"
+"together with a large number of support files. The @code{utf8x.def}\n"
+"definition file for use with @code{inputenc} covers a wider range of Unicode\n"
+"characters than does @code{utf8.def} in the LaTeX distribution. The package\n"
+"provides facilities for efficient use of its large sets of Unicode characters.\n"
+"Glyph production may be controlled by various options, which permits use of\n"
+"non-ASCII characters when coding mathematical formulae. Note that the bundle\n"
+"previously had an alias “unicode”; that alias has now been withdrawn, and no\n"
+"package of that name now exists."
+msgstr ""
+
+#: gnu/packages/tex.scm:3717
+msgid "Extract bits of a LaTeX source for output"
+msgstr ""
+
+#: gnu/packages/tex.scm:3719
+msgid ""
+"The main purpose of the preview package is the extraction of selected\n"
+"elements from a LaTeX source, like formulas or graphics, into separate\n"
+"pages of a DVI file. A flexible and convenient interface allows it to\n"
+"specify what commands and constructs should be extracted. This works\n"
+"with DVI files postprocessed by either Dvips and Ghostscript or\n"
+"dvipng, but it also works when you are using PDFTeX for generating PDF\n"
+"files."
+msgstr ""
+
+#: gnu/packages/tex.scm:3742
+msgid "Expand acronyms at least once"
+msgstr ""
+
+#: gnu/packages/tex.scm:3744
+msgid ""
+"This package ensures that all acronyms used in the text are spelled out\n"
+"in full at least once. It also provides an environment to build a list of\n"
+"acronyms used. The package is compatible with PDF bookmarks. The package\n"
+"requires the suffix package, which in turn requires that it runs under\n"
+"e-TeX."
+msgstr ""
+
+#: gnu/packages/tex.scm:3777
+msgid "TeX extension for direct creation of PDF"
+msgstr ""
+
+#: gnu/packages/tex.scm:3779
+msgid ""
+"This package provides an extension of TeX which can be configured to\n"
+"directly generate PDF documents instead of DVI."
+msgstr ""
+
+#: gnu/packages/tex.scm:3846
+msgid ""
+"TeX Live provides a comprehensive TeX document production system.\n"
+"It includes all the major TeX-related programs, macro packages, and fonts\n"
+"that are free software, including support for many languages around the\n"
+"world.\n"
+"\n"
+"This package contains the complete tree of texmf-dist data."
+msgstr ""
+
+#: gnu/packages/tex.scm:3908
+msgid ""
+"TeX Live provides a comprehensive TeX document production system.\n"
+"It includes all the major TeX-related programs, macro packages, and fonts\n"
+"that are free software, including support for many languages around the\n"
+"world.\n"
+"\n"
+"This package contains the complete TeX Live distribution."
+msgstr ""
+
+#: gnu/packages/tex.scm:3951
+msgid "Interface to read and parse BibTeX files"
+msgstr ""
+
+#: gnu/packages/tex.scm:3952
+msgid ""
+"@code{Text::BibTeX} is a Perl library for reading, parsing,\n"
+"and processing BibTeX files. @code{Text::BibTeX} gives you access to the data\n"
+"at many different levels: you may work with BibTeX entries as simple field to\n"
+"string mappings, or get at the original form of the data as a list of simple\n"
+"values (strings, macros, or numbers) pasted together."
+msgstr ""
+
+#: gnu/packages/tex.scm:4034
+msgid "Backend for the BibLaTeX citation management tool"
+msgstr ""
+
+#: gnu/packages/tex.scm:4035
+msgid ""
+"Biber is a BibTeX replacement for users of biblatex. Among\n"
+"other things it comes with full Unicode support."
+msgstr ""
+
+#: gnu/packages/tex.scm:4059
+msgid "Wrapper for LaTeX and friends"
+msgstr ""
+
+#: gnu/packages/tex.scm:4061
+msgid ""
+"Rubber is a program whose purpose is to handle all tasks related to the\n"
+"compilation of LaTeX documents. This includes compiling the document itself,\n"
+"of course, enough times so that all references are defined, and running BibTeX\n"
+"to manage bibliographic references. Automatic execution of dvips to produce\n"
+"PostScript documents is also included, as well as usage of pdfLaTeX to produce\n"
+"PDF documents."
+msgstr ""
+
+#: gnu/packages/tex.scm:4103
+msgid "LaTeX editor"
+msgstr ""
+
+#: gnu/packages/tex.scm:4104
+msgid ""
+"Texmaker is a program that integrates many tools needed to\n"
+"develop documents with LaTeX, in a single application."
+msgstr ""
+
+#: gnu/packages/tex.scm:4143
+msgid "Book on TeX, plain TeX and Eplain"
+msgstr ""
+
+#: gnu/packages/tex.scm:4144
+msgid ""
+"@i{TeX for the Impatient} is a ~350 page book on TeX,\n"
+"plain TeX, and Eplain, originally written by Paul Abrahams, Kathryn Hargreaves,\n"
+"and Karl Berry."
+msgstr ""
+
+#: gnu/packages/texinfo.scm:56
+msgid "The GNU documentation format"
+msgstr ""
+
+#: gnu/packages/texinfo.scm:58
+msgid ""
+"Texinfo is the official documentation format of the GNU project. It\n"
+"uses a single source file using explicit commands to produce a final document\n"
+"in any of several supported output formats, such as HTML or PDF. This\n"
+"package includes both the tools necessary to produce Info documents from\n"
+"their source and the command-line Info reader. The emphasis of the language\n"
+"is on expressing the content semantically, avoiding physical markup commands."
+msgstr ""
+
+#: gnu/packages/texinfo.scm:139
+msgid "Standalone Info documentation reader"
+msgstr ""
+
+#: gnu/packages/texinfo.scm:169
+msgid "Convert Texinfo to HTML"
+msgstr ""
+
+#: gnu/packages/texinfo.scm:171
+msgid ""
+"Texi2HTML is a Perl script which converts Texinfo source files to HTML\n"
+"output. It now supports many advanced features, such as internationalization\n"
+"and extremely configurable output formats.\n"
+"\n"
+"Development of Texi2HTML moved to the GNU Texinfo repository in 2010, since it\n"
+"was meant to replace the makeinfo implementation in GNU Texinfo. The route\n"
+"forward for authors is, in most cases, to alter manuals and build processes as\n"
+"necessary to use the new features of the makeinfo/texi2any implementation of\n"
+"GNU Texinfo. The Texi2HTML maintainers (one of whom is the principal author\n"
+"of the GNU Texinfo implementation) do not intend to make further releases of\n"
+"Texi2HTML."
+msgstr ""
+
+#: gnu/packages/textutils.scm:76
+msgid "DOS/Mac to Unix and vice versa text file format converter"
+msgstr ""
+
+#: gnu/packages/textutils.scm:78
+msgid ""
+"dos2unix is a tool to convert line breaks in a text file from Unix format\n"
+"to DOS format and vice versa."
+msgstr ""
+
+#: gnu/packages/textutils.scm:111
+msgid "Text encoding converter"
+msgstr ""
+
+#: gnu/packages/textutils.scm:112
+msgid ""
+"The Recode library converts files between character sets and\n"
+"usages. It recognises or produces over 200 different character sets (or about\n"
+"300 if combined with an iconv library) and transliterates files between almost\n"
+"any pair. When exact transliteration are not possible, it gets rid of\n"
+"offending characters or falls back on approximations. The recode program is a\n"
+"handy front-end to the library."
+msgstr ""
+
+#: gnu/packages/textutils.scm:140
+msgid "Text encoding detection tool"
+msgstr ""
+
+#: gnu/packages/textutils.scm:141
+msgid ""
+"Enca (Extremely Naive Charset Analyser) consists of libenca,\n"
+"an encoding detection library, and enca, a command line frontend, integrating\n"
+"libenca and several charset conversion libraries and tools."
+msgstr ""
+
+#: gnu/packages/textutils.scm:191
+msgid "C library for processing UTF-8 Unicode data"
+msgstr ""
+
+#: gnu/packages/textutils.scm:192
+msgid ""
+"utf8proc is a small C library that provides Unicode\n"
+"normalization, case-folding, and other operations for data in the UTF-8\n"
+"encoding, supporting Unicode version 9.0.0."
+msgstr ""
+
+#: gnu/packages/textutils.scm:220
+msgid "Gordon's text utils library"
+msgstr ""
+
+#: gnu/packages/textutils.scm:222
+msgid ""
+"libgtextutils is a text utilities library used by the fastx toolkit from\n"
+"the Hannon Lab."
+msgstr ""
+
+#: gnu/packages/textutils.scm:254
+msgid "C++ hash functions for strings"
+msgstr ""
+
+#: gnu/packages/textutils.scm:256
+msgid ""
+"CityHash provides hash functions for strings. The functions mix the\n"
+"input bits thoroughly but are not suitable for cryptography."
+msgstr ""
+
+#: gnu/packages/textutils.scm:294
+msgid "String library with very low memory overhead"
+msgstr ""
+
+#: gnu/packages/textutils.scm:296
+msgid "Ustr is a string library for C with very low memory overhead."
+msgstr ""
+
+#: gnu/packages/textutils.scm:317
+msgid "C/C++ configuration file library"
+msgstr ""
+
+#: gnu/packages/textutils.scm:319
+msgid ""
+"Libconfig is a simple library for manipulating structured configuration\n"
+"files. This file format is more compact and more readable than XML. And\n"
+"unlike XML, it is type-aware, so it is not necessary to do string parsing in\n"
+"application code."
+msgstr ""
+
+#: gnu/packages/textutils.scm:339
+msgid "Probabilistic fast file fingerprinting tool"
+msgstr ""
+
+#: gnu/packages/textutils.scm:341
+msgid ""
+"pfff is a tool for calculating a compact digital fingerprint of a file\n"
+"by sampling randomly from the file instead of reading it in full.\n"
+"Consequently, the computation has a flat performance characteristic,\n"
+"correlated with data variation rather than file size. pfff can be as reliable\n"
+"as existing hashing techniques, with provably negligible risk of collisions."
+msgstr ""
+
+#: gnu/packages/textutils.scm:362
+msgid "Regular expression library"
+msgstr ""
+
+#: gnu/packages/textutils.scm:363
+msgid ""
+"Oniguruma is a regular expressions library. The special\n"
+"characteristic of this library is that different character encoding for every\n"
+"regular expression object can be specified."
+msgstr ""
+
+#: gnu/packages/textutils.scm:396
+msgid "Microsoft Word document reader"
+msgstr ""
+
+#: gnu/packages/textutils.scm:397
+msgid ""
+"Antiword is an application for displaying Microsoft Word\n"
+"documents. It can also convert the document to PostScript or XML. Only\n"
+"documents made by MS Word version 2 and version 6 or later are supported. The\n"
+"name comes from: \"The antidote against people who send Microsoft Word files\n"
+"to everybody, because they believe that everybody runs Windows and therefore\n"
+"runs Word\"."
+msgstr ""
+
+#: gnu/packages/textutils.scm:430
+msgid "MS-Word to TeX or plain text converter"
+msgstr ""
+
+#: gnu/packages/textutils.scm:431
+msgid ""
+"@command{catdoc} extracts text from MS-Word files, trying to\n"
+"preserve as many special printable characters as possible. It supports\n"
+"everything up to Word-97. Also supported are MS Write documents and RTF files.\n"
+"\n"
+"@command{catdoc} does not preserve complex word formatting, but it can\n"
+"translate some non-ASCII characters into TeX escape codes. It's goal is to\n"
+"extract plain text and allow you to read it and, probably, reformat with TeX,\n"
+"according to TeXnical rules.\n"
+"\n"
+"This package also provides @command{xls2csv}, which extracts data from Excel\n"
+"spreadsheets and outputs it in comma-separated-value format, and\n"
+"@command{catppt}, which extracts data from PowerPoint presentations."
+msgstr ""
+
+#: gnu/packages/textutils.scm:479
+msgid "Portable C++ library for handling UTF-8"
+msgstr ""
+
+#: gnu/packages/textutils.scm:480
+msgid ""
+"UTF8-CPP is a C++ library for handling UTF-8 encoded text\n"
+"in a portable way."
+msgstr ""
+
+#: gnu/packages/textutils.scm:546
+msgid "Bayesian text and email classifier"
+msgstr ""
+
+#: gnu/packages/textutils.scm:548
+msgid ""
+"dbacl is a fast Bayesian text and email classifier. It builds a variety\n"
+"of language models using maximum entropy (minimum divergence) principles, and\n"
+"these can then be used to categorize input data automatically among multiple\n"
+"categories."
+msgstr ""
+
+#: gnu/packages/textutils.scm:590
+msgid "Configuration file parser library"
+msgstr ""
+
+#: gnu/packages/textutils.scm:592
+msgid "C library for creating and parsing configuration files."
+msgstr ""
+
+#: gnu/packages/textutils.scm:620
+msgid "Syntax highlighting text component for Java Swing"
+msgstr ""
+
+#: gnu/packages/textutils.scm:621
+msgid ""
+"RSyntaxTextArea is a syntax highlighting, code folding text\n"
+"component for Java Swing. It extends @code{JTextComponent} so it integrates\n"
+"completely with the standard @code{javax.swing.text} package. It is fast and\n"
+"efficient, and can be used in any application that needs to edit or view\n"
+"source code."
+msgstr ""
+
+#: gnu/packages/textutils.scm:658
+msgid "Fast implementation of the edit distance (Levenshtein distance)"
+msgstr ""
+
+#: gnu/packages/textutils.scm:660
+msgid ""
+"This library simply implements Levenshtein distance algorithm with C++\n"
+"and Cython."
+msgstr ""
+
+#: gnu/packages/version-control.scm:121
+msgid "Version control system supporting both distributed and centralized workflows"
+msgstr ""
+
+#: gnu/packages/version-control.scm:123
+msgid ""
+"GNU Bazaar is a version control system that allows you to record\n"
+"changes to project files over time. It supports both a distributed workflow\n"
+"as well as the classic centralized workflow."
+msgstr ""
+
+#: gnu/packages/version-control.scm:354
+msgid "Distributed version control system"
+msgstr ""
+
+#: gnu/packages/version-control.scm:356
+msgid ""
+"Git is a free distributed version control system designed to handle\n"
+"everything from small to very large projects with speed and efficiency."
+msgstr ""
+
+#: gnu/packages/version-control.scm:402
+msgid "Library providing Git core methods"
+msgstr ""
+
+#: gnu/packages/version-control.scm:404
+msgid ""
+"Libgit2 is a portable, pure C implementation of the Git core methods\n"
+"provided as a re-entrant linkable library with a solid API, allowing you to\n"
+"write native speed custom Git applications in any language with bindings."
+msgstr ""
+
+#: gnu/packages/version-control.scm:440
+msgid "Transparent encryption of files in a git repository"
+msgstr ""
+
+#: gnu/packages/version-control.scm:441
+msgid ""
+"git-crypt enables transparent encryption and decryption of\n"
+"files in a git repository. Files which you choose to protect are encrypted when\n"
+"committed, and decrypted when checked out. git-crypt lets you freely share a\n"
+"repository containing a mix of public and private content. git-crypt gracefully\n"
+"degrades, so developers without the secret key can still clone and commit to a\n"
+"repository with encrypted files. This lets you store your secret material (such\n"
+"as keys or passwords) in the same repository as your code, without requiring you\n"
+"to lock down your entire repository."
+msgstr ""
+
+#: gnu/packages/version-control.scm:476
+msgid "Whole remote repository encryption"
+msgstr ""
+
+#: gnu/packages/version-control.scm:477
+msgid ""
+"git-remote-gcrypt is a Git remote helper to push and pull from\n"
+"repositories encrypted with GnuPG. It works with the standard Git transports,\n"
+"including repository hosting services like GitLab.\n"
+"\n"
+"Remote helper programs are invoked by Git to handle network transport. This\n"
+"helper handles @code{gcrypt:} URLs that access a remote repository encrypted\n"
+"with GPG, using our custom format.\n"
+"\n"
+"Supported locations are local, @code{rsync://} and @code{sftp://}, where the\n"
+"repository is stored as a set of files, or instead any Git URL where gcrypt\n"
+"will store the same representation in a Git repository, bridged over arbitrary\n"
+"Git transport.\n"
+"\n"
+"The aim is to provide confidential, authenticated Git storage and\n"
+"collaboration using typical untrusted file hosts or services."
+msgstr ""
+
+#: gnu/packages/version-control.scm:556
+msgid "Web frontend for git repositories"
+msgstr ""
+
+#: gnu/packages/version-control.scm:558
+msgid ""
+"CGit is an attempt to create a fast web interface for the Git SCM, using\n"
+"a built-in cache to decrease server I/O pressure."
+msgstr ""
+
+#: gnu/packages/version-control.scm:587
+msgid "Copy directory to the gh-pages branch"
+msgstr ""
+
+#: gnu/packages/version-control.scm:588
+msgid ""
+"Script that copies a directory to the gh-pages branch (by\n"
+"default) of the repository."
+msgstr ""
+
+#: gnu/packages/version-control.scm:633
+msgid "Command-line flags library for shell scripts"
+msgstr ""
+
+#: gnu/packages/version-control.scm:635
+msgid ""
+"Shell Flags (shFlags) is a library written to greatly simplify the\n"
+"handling of command-line flags in Bourne based Unix shell scripts (bash, dash,\n"
+"ksh, sh, zsh). Most shell scripts use getopt for flags processing, but the\n"
+"different versions of getopt on various OSes make writing portable shell\n"
+"scripts difficult. shFlags instead provides an API that doesn't change across\n"
+"shell and OS versions so the script writer can be confident that the script\n"
+"will work."
+msgstr ""
+
+#: gnu/packages/version-control.scm:678
+msgid "Git extensions for Vincent Driessen's branching model"
+msgstr ""
+
+#: gnu/packages/version-control.scm:680
+msgid ""
+"Vincent Driessen's branching model is a git branching and release\n"
+"management strategy that helps developers keep track of features, hotfixes,\n"
+"and releases in bigger software projects. The git-flow library of git\n"
+"subcommands helps automate some parts of the flow to make working with it a\n"
+"lot easier."
+msgstr ""
+
+#: gnu/packages/version-control.scm:713
+msgid "Stacked Git"
+msgstr ""
+
+#: gnu/packages/version-control.scm:715
+msgid ""
+"StGit is a command-line application that provides functionality similar\n"
+"to Quilt (i.e., pushing/popping patches to/from a stack), but using Git\n"
+"instead of @command{diff} and @command{patch}. StGit stores its patches in a\n"
+"Git repository as normal Git commits, and provides a number of commands to\n"
+"manipulate them in various ways."
+msgstr ""
+
+#: gnu/packages/version-control.scm:751
+msgid "Version control system for @code{$HOME}"
+msgstr ""
+
+#: gnu/packages/version-control.scm:753
+msgid ""
+"vcsh version-controls configuration files in several Git repositories,\n"
+"all in one single directory. They all maintain their working trees without\n"
+"clobbering each other or interfering otherwise. By default, all Git\n"
+"repositories maintained via vcsh store the actual files in @code{$HOME},\n"
+"though this can be overridden."
+msgstr ""
+
+#: gnu/packages/version-control.scm:788
+msgid "Run a command over a sequence of commits"
+msgstr ""
+
+#: gnu/packages/version-control.scm:790
+msgid ""
+"git-test-sequence is similar to an automated git bisect except it’s\n"
+"linear. It will test every change between two points in the DAG. It will\n"
+"also walk each side of a merge and test those changes individually."
+msgstr ""
+
+#: gnu/packages/version-control.scm:851
+msgid "Git access control layer"
+msgstr ""
+
+#: gnu/packages/version-control.scm:853
+msgid ""
+"Gitolite is an access control layer on top of Git, providing fine access\n"
+"control to Git repositories."
+msgstr ""
+
+#: gnu/packages/version-control.scm:877
+msgid "Decentralized version control system"
+msgstr ""
+
+#: gnu/packages/version-control.scm:879
+msgid ""
+"Mercurial is a free, distributed source control management tool.\n"
+"It efficiently handles projects of any size\n"
+"and offers an easy and intuitive interface."
+msgstr ""
+
+#: gnu/packages/version-control.scm:913
+msgid "HTTP and WebDAV client library"
+msgstr ""
+
+#: gnu/packages/version-control.scm:915
+msgid ""
+"Neon is an HTTP and WebDAV client library, with a C interface and the\n"
+"following features:\n"
+"@enumerate\n"
+"@item High-level wrappers for common HTTP and WebDAV operations (GET, MOVE,\n"
+" DELETE, etc.);\n"
+"@item low-level interface to the HTTP request/response engine, allowing the use\n"
+" of arbitrary HTTP methods, headers, etc.;\n"
+"@item authentication support including Basic and Digest support, along with\n"
+" GSSAPI-based Negotiate on Unix, and SSPI-based Negotiate/NTLM on Win32;\n"
+"@item SSL/TLS support using OpenSSL or GnuTLS, exposing an abstraction layer for\n"
+" verifying server certificates, handling client certificates, and examining\n"
+" certificate properties, smartcard-based client certificates are also\n"
+" supported via a PKCS#11 wrapper interface;\n"
+"@item abstract interface to parsing XML using libxml2 or expat, and wrappers for\n"
+" simplifying handling XML HTTP response bodies;\n"
+"@item WebDAV metadata support, wrappers for PROPFIND and PROPPATCH to simplify\n"
+" property manipulation.\n"
+"@end enumerate\n"
+msgstr ""
+
+#: gnu/packages/version-control.scm:999
+msgid "Revision control system"
+msgstr ""
+
+#: gnu/packages/version-control.scm:1001
+msgid ""
+"Subversion exists to be universally recognized and adopted as a\n"
+"centralized version control system characterized by its\n"
+"reliability as a safe haven for valuable data; the simplicity of its model and\n"
+"usage; and its ability to support the needs of a wide variety of users and\n"
+"projects, from individuals to large-scale enterprise operations."
+msgstr ""
+
+#: gnu/packages/version-control.scm:1023
+msgid "Per-file local revision control system"
+msgstr ""
+
+#: gnu/packages/version-control.scm:1025
+msgid ""
+"RCS is the original Revision Control System. It works on a\n"
+"file-by-file basis, in contrast to subsequent version control systems such as\n"
+"CVS, Subversion, and Git. This can make it suitable for system\n"
+"administration files, for example, which are often inherently local to one\n"
+"machine."
+msgstr ""
+
+#: gnu/packages/version-control.scm:1053
+msgid "Historical centralized version control system"
+msgstr ""
+
+#: gnu/packages/version-control.scm:1055
+msgid ""
+"CVS is a version control system, an important component of Source\n"
+"Configuration Management (SCM). Using it, you can record the history of\n"
+"sources files, and documents. It fills a similar role to the free software\n"
+"RCS, PRCS, and Aegis packages."
+msgstr ""
+
+#: gnu/packages/version-control.scm:1096
+msgid "Export an RCS or CVS history as a fast-import stream"
+msgstr ""
+
+#: gnu/packages/version-control.scm:1097
+msgid ""
+"This program analyzes a collection of RCS files in a CVS\n"
+"repository (or outside of one) and, when possible, emits an equivalent history\n"
+"in the form of a fast-import stream. Not all possible histories can be\n"
+"rendered this way; the program tries to emit useful warnings when it can't.\n"
+"\n"
+"The program can also produce a visualization of the resulting commit directed\n"
+"acyclic graph (DAG) in the input format of @uref{http://www.graphviz.org,\n"
+"Graphviz}. The package also includes @command{cvssync}, a tool for mirroring\n"
+"masters from remote CVS hosts."
+msgstr ""
+
+#: gnu/packages/version-control.scm:1124
+msgid "Version-control-agnostic ChangeLog diff and commit tool"
+msgstr ""
+
+#: gnu/packages/version-control.scm:1126
+msgid ""
+"The vc-dwim package contains two tools, \"vc-dwim\" and \"vc-chlog\".\n"
+"vc-dwim is a tool that simplifies the task of maintaining a ChangeLog and\n"
+"using version control at the same time, for example by printing a reminder\n"
+"when a file change has been described in the ChangeLog but the file has not\n"
+"been added to the VC. vc-chlog scans changed files and generates\n"
+"standards-compliant ChangeLog entries based on the changes that it detects."
+msgstr ""
+
+#: gnu/packages/version-control.scm:1151
+msgid "Make histograms from the output of @command{diff}"
+msgstr ""
+
+#: gnu/packages/version-control.scm:1153
+msgid ""
+"Diffstat reads the output of @command{diff} and displays a histogram of\n"
+"the insertions, deletions, and modifications per file. It is useful for\n"
+"reviewing large, complex patch files."
+msgstr ""
+
+#: gnu/packages/version-control.scm:1192
+msgid "File-based version control like SCCS"
+msgstr ""
+
+#: gnu/packages/version-control.scm:1193
+msgid ""
+"GNU CSSC provides a replacement for the legacy Unix source\n"
+"code control system SCCS. This allows old code still under that system to be\n"
+"accessed and migrated on modern systems."
+msgstr ""
+
+#: gnu/packages/version-control.scm:1272
+msgid "Project change supervisor"
+msgstr ""
+
+#: gnu/packages/version-control.scm:1273
+msgid ""
+"Aegis is a project change supervisor, and performs some of\n"
+"the Software Configuration Management needed in a CASE environment. Aegis\n"
+"provides a framework within which a team of developers may work on many\n"
+"changes to a program independently, and Aegis coordinates integrating these\n"
+"changes back into the master source of the program, with as little disruption\n"
+"as possible. Resolution of contention for source files, a major headache for\n"
+"any project with more than one developer, is one of Aegis's major functions."
+msgstr ""
+
+#: gnu/packages/version-control.scm:1322
+msgid "Edit version-control repository history"
+msgstr ""
+
+#: gnu/packages/version-control.scm:1323
+msgid ""
+"Reposurgeon enables risky operations that version-control\n"
+"systems don't want to let you do, such as editing past comments and metadata\n"
+"and removing commits. It works with any version control system that can\n"
+"export and import Git fast-import streams, including Git, Mercurial, Fossil,\n"
+"Bazaar, CVS, RCS, and Src. It can also read Subversion dump files directly\n"
+"and can thus be used to script production of very high-quality conversions\n"
+"from Subversion to any supported Distributed Version Control System (DVCS)."
+msgstr ""
+
+#: gnu/packages/version-control.scm:1362
+msgid "Ncurses-based text user interface for Git"
+msgstr ""
+
+#: gnu/packages/version-control.scm:1364
+msgid ""
+"Tig is an ncurses text user interface for Git, primarily intended as\n"
+"a history browser. It can also stage hunks for commit, or colorize the\n"
+"output of the 'git' command."
+msgstr ""
+
+#: gnu/packages/version-control.scm:1390
+msgid "Print the modification time of the latest file"
+msgstr ""
+
+#: gnu/packages/version-control.scm:1392
+msgid ""
+"Recursively find the newest file in a file tree and print its\n"
+"modification time."
+msgstr ""
+
+#: gnu/packages/version-control.scm:1417
+msgid "Multiple repository management tool"
+msgstr ""
+
+#: gnu/packages/version-control.scm:1419
+msgid ""
+"Myrepos provides the @code{mr} command, which maps an operation (e.g.,\n"
+"fetching updates) over a collection of version control repositories. It\n"
+"supports a large number of version control systems: Git, Subversion,\n"
+"Mercurial, Bazaar, Darcs, CVS, Fossil, and Veracity."
+msgstr ""
+
+#: gnu/packages/version-control.scm:1449
+msgid "Use hubic as a git-annex remote"
+msgstr ""
+
+#: gnu/packages/version-control.scm:1451
+msgid ""
+"This package allows you to use your hubic account as a \"special\n"
+"repository\" with git-annex."
+msgstr ""
+
+#: gnu/packages/version-control.scm:1503
+msgid "Software configuration management system"
+msgstr ""
+
+#: gnu/packages/version-control.scm:1505
+msgid ""
+"Fossil is a distributed source control management system which supports\n"
+"access and administration over HTTP CGI or via a built-in HTTP server. It has\n"
+"a built-in wiki, built-in file browsing, built-in tickets system, etc."
+msgstr ""
+
+#: gnu/packages/version-control.scm:1533
+msgid "Static git page generator"
+msgstr ""
+
+#: gnu/packages/version-control.scm:1534
+msgid ""
+"Stagit creates static pages for git repositories, the results can\n"
+"be served with a HTTP file server of your choice."
+msgstr ""
+
+#: gnu/packages/version-control.scm:1622
+msgid "Distributed Revision Control System"
+msgstr ""
+
+#: gnu/packages/version-control.scm:1624
+msgid ""
+"Darcs is a revision control system. It is:\n"
+"\n"
+"@enumerate\n"
+"@item Distributed: Every user has access to the full command set, removing boundaries\n"
+"between server and client or committer and non-committers.\n"
+"@item Interactive: Darcs is easy to learn and efficient to use because it asks you\n"
+"questions in response to simple commands, giving you choices in your work flow.\n"
+"You can choose to record one change in a file, while ignoring another. As you update\n"
+"from upstream, you can review each patch name, even the full diff for interesting\n"
+"patches.\n"
+"@item Smart: Originally developed by physicist David Roundy, darcs is based on a\n"
+"unique algebra of patches called @url{http://darcs.net/Theory,Patchtheory}.\n"
+"@end enumerate"
+msgstr ""
+
+#: gnu/packages/version-control.scm:1676
+msgid "Java library implementing the Git version control system"
+msgstr ""
+
+#: gnu/packages/version-control.scm:1677
+msgid ""
+"JGit is a lightweight, pure Java library implementing the\n"
+"Git version control system, providing repository access routines, support for\n"
+"network protocols, and core version control algorithms."
+msgstr ""
+
+#: gnu/packages/virtualization.scm:177
+msgid "Machine emulator and virtualizer"
+msgstr ""
+
+#: gnu/packages/virtualization.scm:179
+msgid ""
+"QEMU is a generic machine emulator and virtualizer.\n"
+"\n"
+"When used as a machine emulator, QEMU can run OSes and programs made for one\n"
+"machine (e.g. an ARM board) on a different machine---e.g., your own PC. By\n"
+"using dynamic translation, it achieves very good performance.\n"
+"\n"
+"When used as a virtualizer, QEMU achieves near native performances by\n"
+"executing the guest code directly on the host CPU. QEMU supports\n"
+"virtualization when executing under the Xen hypervisor or using\n"
+"the KVM kernel module in Linux. When using KVM, QEMU can virtualize x86,\n"
+"server and embedded PowerPC, and S390 guests."
+msgstr ""
+
+#: gnu/packages/virtualization.scm:201
+msgid "Machine emulator and virtualizer (without GUI)"
+msgstr ""
+
+#: gnu/packages/virtualization.scm:268
+msgid "Operating system information database"
+msgstr ""
+
+#: gnu/packages/virtualization.scm:269
+msgid ""
+"libosinfo is a GObject based library API for managing\n"
+"information about operating systems, hypervisors and the (virtual) hardware\n"
+"devices they can support. It includes a database containing device metadata\n"
+"and provides APIs to match/identify optimal devices for deploying an operating\n"
+"system on a hypervisor. Via GObject Introspection, the API is available in\n"
+"all common programming languages. Vala bindings are also provided."
+msgstr ""
+
+#: gnu/packages/virtualization.scm:317
+msgid "Linux container tools"
+msgstr ""
+
+#: gnu/packages/virtualization.scm:320
+msgid ""
+"LXC is a userspace interface for the Linux kernel containment features.\n"
+"Through a powerful API and simple tools, it lets Linux users easily create and\n"
+"manage system or application containers."
+msgstr ""
+
+#: gnu/packages/virtualization.scm:404
+msgid "Simple API for virtualization"
+msgstr ""
+
+#: gnu/packages/virtualization.scm:405
+msgid ""
+"Libvirt is a C toolkit to interact with the virtualization\n"
+"capabilities of recent versions of Linux. The library aims at providing long\n"
+"term stable C API initially for the Xen paravirtualization but should be able\n"
+"to integrate other virtualization mechanisms if needed."
+msgstr ""
+
+#: gnu/packages/virtualization.scm:446
+msgid "GLib wrapper around libvirt"
+msgstr ""
+
+#: gnu/packages/virtualization.scm:447
+msgid ""
+"libvirt-glib wraps the libvirt library to provide a\n"
+"high-level object-oriented API better suited for glib-based applications, via\n"
+"three libraries:\n"
+"\n"
+"@enumerate\n"
+"@item libvirt-glib - GLib main loop integration & misc helper APIs\n"
+"@item libvirt-gconfig - GObjects for manipulating libvirt XML documents\n"
+"@item libvirt-gobject - GObjects for managing libvirt objects\n"
+"@end enumerate\n"
+msgstr ""
+
+#: gnu/packages/virtualization.scm:489
+msgid "Python bindings to libvirt"
+msgstr ""
+
+#: gnu/packages/virtualization.scm:490
+msgid ""
+"This package provides Python bindings to the libvirt\n"
+"virtualization library."
+msgstr ""
+
+#: gnu/packages/virtualization.scm:585
+msgid "Manage virtual machines"
+msgstr ""
+
+#: gnu/packages/virtualization.scm:587
+msgid ""
+"The virt-manager application is a desktop user interface for managing\n"
+"virtual machines through libvirt. It primarily targets KVM VMs, but also\n"
+"manages Xen and LXC (Linux containers). It presents a summary view of running\n"
+"domains, their live performance and resource utilization statistics."
+msgstr ""
+
+#: gnu/packages/virtualization.scm:677
+msgid "Checkpoint and restore in user space"
+msgstr ""
+
+#: gnu/packages/virtualization.scm:678
+msgid ""
+"Using this tool, you can freeze a running application (or\n"
+"part of it) and checkpoint it to a hard drive as a collection of files. You\n"
+"can then use the files to restore and run the application from the point it\n"
+"was frozen at. The distinctive feature of the CRIU project is that it is\n"
+"mainly implemented in user space."
+msgstr ""
+
+#: gnu/packages/webkit.scm:134
+msgid "Web content engine for GTK+"
+msgstr ""
+
+#: gnu/packages/webkit.scm:136
+msgid ""
+"WebKitGTK+ is a full-featured port of the WebKit rendering engine,\n"
+"suitable for projects requiring any kind of web integration, from hybrid\n"
+"HTML/CSS applications to full-fledged web browsers."
+msgstr ""
+
+#: gnu/packages/web.scm:136
+msgid "Featureful HTTP server"
+msgstr ""
+
+#: gnu/packages/web.scm:138
+msgid ""
+"The Apache HTTP Server Project is a collaborative software development\n"
+"effort aimed at creating a robust, commercial-grade, featureful, and\n"
+"freely-available source code implementation of an HTTP (Web) server. The\n"
+"project is jointly managed by a group of volunteers located around the world,\n"
+"using the Internet and the Web to communicate, plan, and develop the server\n"
+"and its related documentation."
+msgstr ""
+
+#: gnu/packages/web.scm:226
+msgid "HTTP and reverse proxy server"
+msgstr ""
+
+#: gnu/packages/web.scm:228
+msgid ""
+"Nginx (\"engine X\") is a high-performance web and reverse proxy server\n"
+"created by Igor Sysoev. It can be used both as a standalone web server\n"
+"and as a proxy to reduce the load on back-end HTTP or mail servers."
+msgstr ""
+
+#: gnu/packages/web.scm:273
+msgid "XSLScript with NGinx specific modifications"
+msgstr ""
+
+#: gnu/packages/web.scm:275
+msgid ""
+"XSLScript is a terse notation for writing complex XSLT stylesheets.\n"
+"This is modified version, specifically intended for use with the NGinx\n"
+"documentation."
+msgstr ""
+
+#: gnu/packages/web.scm:328
+msgid "Documentation for nginx web server"
+msgstr ""
+
+#: gnu/packages/web.scm:330
+msgid "This package provides HTML documentation for the nginx web server."
+msgstr ""
+
+#: gnu/packages/web.scm:353
+msgid "Language-independent, high-performant extension to CGI"
+msgstr ""
+
+#: gnu/packages/web.scm:354
+msgid ""
+"FastCGI is a language-independent, scalable extension to CGI\n"
+"that provides high performance without the limitations of server specific\n"
+"APIs."
+msgstr ""
+
+#: gnu/packages/web.scm:390
+msgid "Simple server for running CGI applications over FastCGI"
+msgstr ""
+
+#: gnu/packages/web.scm:391
+msgid ""
+"Fcgiwrap is a simple server for running CGI applications\n"
+"over FastCGI. It hopes to provide clean CGI support to Nginx (and other web\n"
+"servers that may need it)."
+msgstr ""
+
+#: gnu/packages/web.scm:422
+msgid "PSGI/Plack web server"
+msgstr ""
+
+#: gnu/packages/web.scm:423
+msgid ""
+"Starman is a PSGI perl web server that has unique features\n"
+"such as high performance, preforking, signal support, superdaemon awareness,\n"
+"and UNIX socket support."
+msgstr ""
+
+#: gnu/packages/web.scm:455
+msgid "Java Web Start"
+msgstr ""
+
+#: gnu/packages/web.scm:457
+msgid ""
+"IcedTea-Web is an implementation of the @dfn{Java Network Launching\n"
+"Protocol}, also known as Java Web Start. This package provides tools and\n"
+"libraries for working with JNLP applets."
+msgstr ""
+
+#: gnu/packages/web.scm:478
+msgid "JSON C library"
+msgstr ""
+
+#: gnu/packages/web.scm:480
+msgid ""
+"Jansson is a C library for encoding, decoding and manipulating JSON\n"
+"data."
+msgstr ""
+
+#: gnu/packages/web.scm:512
+msgid "JSON implementation in C"
+msgstr ""
+
+#: gnu/packages/web.scm:514
+msgid ""
+"JSON-C implements a reference counting object model that allows you to\n"
+"easily construct JSON objects in C, output them as JSON formatted strings and\n"
+"parse JSON formatted strings back into the C representation of JSON objects."
+msgstr ""
+
+#: gnu/packages/web.scm:552
+msgid "Library that maps JSON data to QVariant objects"
+msgstr ""
+
+#: gnu/packages/web.scm:553
+msgid ""
+"QJson is a Qt-based library that maps JSON data to\n"
+"@code{QVariant} objects. JSON arrays will be mapped to @code{QVariantList}\n"
+"instances, while JSON's objects will be mapped to @code{QVariantMap}."
+msgstr ""
+
+#: gnu/packages/web.scm:637
+msgid "Hierarchical data exploration with zoomable HTML5 pie charts"
+msgstr ""
+
+#: gnu/packages/web.scm:639
+msgid ""
+"Krona is a flexible tool for exploring the relative proportions of\n"
+"hierarchical data, such as metagenomic classifications, using a radial,\n"
+"space-filling display. It is implemented using HTML5 and JavaScript, allowing\n"
+"charts to be explored locally or served over the Internet, requiring only a\n"
+"current version of any major web browser."
+msgstr ""
+
+#: gnu/packages/web.scm:672
+msgid "JSON parser/generator for C++ with both SAX/DOM style API"
+msgstr ""
+
+#: gnu/packages/web.scm:674
+msgid ""
+"RapidJSON is a fast JSON parser/generator for C++ with both SAX/DOM\n"
+"style API."
+msgstr ""
+
+#: gnu/packages/web.scm:692
+msgid "C library for parsing JSON"
+msgstr ""
+
+#: gnu/packages/web.scm:694
+msgid ""
+"Yet Another JSON Library (YAJL) is a small event-driven (SAX-style) JSON\n"
+"parser written in ANSI C and a small validating JSON generator."
+msgstr ""
+
+#: gnu/packages/web.scm:724
+msgid "WebSockets library written in C"
+msgstr ""
+
+#: gnu/packages/web.scm:726
+msgid ""
+"Libwebsockets is a library that allows C programs to establish client\n"
+"and server WebSockets connections---a protocol layered above HTTP that allows\n"
+"for efficient socket-like bidirectional reliable communication channels."
+msgstr ""
+
+#: gnu/packages/web.scm:754
+msgid "C library for the Publix Suffix List"
+msgstr ""
+
+#: gnu/packages/web.scm:756
+msgid ""
+"A \"public suffix\" is a domain name under which Internet users can\n"
+"directly register own names.\n"
+"\n"
+"Browsers and other web clients can use it to avoid privacy-leaking\n"
+"\"supercookies\", avoid privacy-leaking \"super domain\" certificates, domain\n"
+"highlighting parts of the domain in a user interface, and sorting domain lists\n"
+"by site.\n"
+"\n"
+"Libpsl has built-in PSL data for fast access, allows to load PSL data from\n"
+"files, checks if a given domain is a public suffix, provides immediate cookie\n"
+"domain verification, finds the longest public part of a given domain, finds\n"
+"the shortest private part of a given domain, works with international\n"
+"domains (UTF-8 and IDNA2008 Punycode), is thread-safe, and handles IDNA2008\n"
+"UTS#46."
+msgstr ""
+
+#: gnu/packages/web.scm:801
+msgid "HTML validator and tidier"
+msgstr ""
+
+#: gnu/packages/web.scm:802
+msgid ""
+"HTML Tidy is a command-line tool and C library that can be\n"
+"used to validate and fix HTML data."
+msgstr ""
+
+#: gnu/packages/web.scm:837
+msgid "Light-weight HTTP/HTTPS proxy daemon"
+msgstr ""
+
+#: gnu/packages/web.scm:838
+msgid ""
+"Tinyproxy is a light-weight HTTP/HTTPS proxy\n"
+"daemon. Designed from the ground up to be fast and yet small, it is an ideal\n"
+"solution for use cases such as embedded deployments where a full featured HTTP\n"
+"proxy is required, but the system resources for a larger proxy are\n"
+"unavailable."
+msgstr ""
+
+#: gnu/packages/web.scm:871
+msgid "Small caching web proxy"
+msgstr ""
+
+#: gnu/packages/web.scm:873
+msgid ""
+"Polipo is a small caching web proxy (web cache, HTTP proxy, and proxy\n"
+"server). It was primarily designed to be used by one person or a small group\n"
+"of people."
+msgstr ""
+
+#: gnu/packages/web.scm:900
+msgid "WebSockets support for any application/server"
+msgstr ""
+
+#: gnu/packages/web.scm:901
+msgid ""
+"Websockify translates WebSockets traffic to normal socket\n"
+"traffic. Websockify accepts the WebSockets handshake, parses it, and then\n"
+"begins forwarding traffic between the client and the target in both\n"
+"directions."
+msgstr ""
+
+#: gnu/packages/web.scm:927
+msgid "Caching web proxy optimized for intermittent internet links"
+msgstr ""
+
+#: gnu/packages/web.scm:928
+msgid ""
+"WWWOFFLE is a proxy web server that is especially good for\n"
+"intermittent internet links. It can cache HTTP, HTTPS, FTP, and finger\n"
+"protocols, and supports browsing and requesting pages while offline, indexing,\n"
+"modifying pages and incoming and outgoing headers, monitoring pages for\n"
+"changes, and much more."
+msgstr ""
+
+#: gnu/packages/web.scm:953
+msgid "C library implementing the OAuth API"
+msgstr ""
+
+#: gnu/packages/web.scm:955
+msgid ""
+"liboauth is a collection of C functions implementing the OAuth API.\n"
+"liboauth provides functions to escape and encode strings according to OAuth\n"
+"specifications and offers high-level functionality built on top to sign\n"
+"requests or verify signatures using either NSS or OpenSSL for calculating the\n"
+"hash/signatures."
+msgstr ""
+
+#: gnu/packages/web.scm:979
+msgid "YAML 1.1 parser and emitter written in C"
+msgstr ""
+
+#: gnu/packages/web.scm:981
+msgid "LibYAML is a YAML 1.1 parser and emitter written in C."
+msgstr ""
+
+#: gnu/packages/web.scm:998 gnu/packages/web.scm:1032
+#: gnu/packages/web.scm:1055
+msgid "Media stream URL parser"
+msgstr ""
+
+#: gnu/packages/web.scm:999
+msgid ""
+"This package contains support scripts called by libquvi to\n"
+"parse media stream properties."
+msgstr ""
+
+#: gnu/packages/web.scm:1033
+msgid ""
+"libquvi is a library with a C API for parsing media stream\n"
+"URLs and extracting their actual media files."
+msgstr ""
+
+#: gnu/packages/web.scm:1056
+msgid ""
+"quvi is a command-line-tool suite to extract media files\n"
+"from streaming URLs. It is a command-line wrapper for the libquvi library."
+msgstr ""
+
+#: gnu/packages/web.scm:1146
+msgid "High-performance asynchronous HTTP client library"
+msgstr ""
+
+#: gnu/packages/web.scm:1148
+msgid ""
+"serf is a C-based HTTP client library built upon the Apache Portable\n"
+"Runtime (APR) library. It multiplexes connections, running the read/write\n"
+"communication asynchronously. Memory copies and transformations are kept to a\n"
+"minimum to provide high performance operation."
+msgstr ""
+
+#: gnu/packages/web.scm:1202
+msgid "CSS pre-processor"
+msgstr ""
+
+#: gnu/packages/web.scm:1203
+msgid ""
+"SassC is a compiler written in C for the CSS pre-processor\n"
+"language known as SASS."
+msgstr ""
+
+#: gnu/packages/web.scm:1232
+msgid "Compile a log format string to perl-code"
+msgstr ""
+
+#: gnu/packages/web.scm:1233
+msgid ""
+"This module provides methods to compile a log format string\n"
+"to perl-code, for faster generation of access_log lines."
+msgstr ""
+
+#: gnu/packages/web.scm:1261
+msgid "SASL authentication framework"
+msgstr ""
+
+#: gnu/packages/web.scm:1262
+msgid "Authen::SASL provides an SASL authentication framework."
+msgstr ""
+
+#: gnu/packages/web.scm:1287
+msgid "Sensible default Catalyst action"
+msgstr ""
+
+#: gnu/packages/web.scm:1288
+msgid ""
+"This Catalyst action implements a sensible default end\n"
+"action, which will forward to the first available view."
+msgstr ""
+
+#: gnu/packages/web.scm:1320
+msgid "Automated REST Method Dispatching"
+msgstr ""
+
+#: gnu/packages/web.scm:1321
+msgid ""
+"This Action handles doing automatic method dispatching for\n"
+"REST requests. It takes a normal Catalyst action, and changes the dispatch to\n"
+"append an underscore and method name. First it will try dispatching to an\n"
+"action with the generated name, and failing that it will try to dispatch to a\n"
+"regular method."
+msgstr ""
+
+#: gnu/packages/web.scm:1358
+msgid "Storage class for Catalyst authentication using DBIx::Class"
+msgstr ""
+
+#: gnu/packages/web.scm:1359
+msgid ""
+"The Catalyst::Authentication::Store::DBIx::Class class\n"
+"provides access to authentication information stored in a database via\n"
+"DBIx::Class."
+msgstr ""
+
+#: gnu/packages/web.scm:1385
+msgid "Create only one instance of Moose component per context"
+msgstr ""
+
+#: gnu/packages/web.scm:1386
+msgid ""
+"Catalyst::Component::InstancePerContext returns a new\n"
+"instance of a component on each request."
+msgstr ""
+
+#: gnu/packages/web.scm:1423
+msgid "Catalyst Development Tools"
+msgstr ""
+
+#: gnu/packages/web.scm:1424
+msgid ""
+"The Catalyst-Devel distribution includes a variety of\n"
+"modules useful for the development of Catalyst applications, but not required\n"
+"to run them. Catalyst-Devel includes the Catalyst::Helper system, which\n"
+"autogenerates scripts and tests; Module::Install::Catalyst, a Module::Install\n"
+"extension for Catalyst; and requirements for a variety of development-related\n"
+"modules."
+msgstr ""
+
+#: gnu/packages/web.scm:1453
+msgid "Regex DispatchType for Catalyst"
+msgstr ""
+
+#: gnu/packages/web.scm:1454
+msgid ""
+"Dispatch type managing path-matching behaviour using\n"
+"regexes. Regex dispatch types have been deprecated and removed from Catalyst\n"
+"core. It is recommend that you use Chained methods or other techniques\n"
+"instead. As part of the refactoring, the dispatch priority of Regex vs Regexp\n"
+"vs LocalRegex vs LocalRegexp may have changed. Priority is now influenced by\n"
+"when the dispatch type is first seen in your application."
+msgstr ""
+
+#: gnu/packages/web.scm:1503
+msgid "DBIx::Class::Schema Model Class"
+msgstr ""
+
+#: gnu/packages/web.scm:1504
+msgid ""
+"This is a Catalyst Model for DBIx::Class::Schema-based\n"
+"Models."
+msgstr ""
+
+#: gnu/packages/web.scm:1527
+msgid "Request logging from within Catalyst"
+msgstr ""
+
+#: gnu/packages/web.scm:1528
+msgid ""
+"This Catalyst plugin enables you to create \"access logs\"\n"
+"from within a Catalyst application instead of requiring a webserver to do it\n"
+"for you. It will work even with Catalyst debug logging turned off."
+msgstr ""
+
+#: gnu/packages/web.scm:1562
+msgid "Infrastructure plugin for the Catalyst authentication framework"
+msgstr ""
+
+#: gnu/packages/web.scm:1563
+msgid ""
+"The authentication plugin provides generic user support for\n"
+"Catalyst apps. It is the basis for both authentication (checking the user is\n"
+"who they claim to be), and authorization (allowing the user to do what the\n"
+"system authorises them to do)."
+msgstr ""
+
+#: gnu/packages/web.scm:1594
+msgid "Role-based authorization for Catalyst"
+msgstr ""
+
+#: gnu/packages/web.scm:1595
+msgid ""
+"Catalyst::Plugin::Authorization::Roles provides role-based\n"
+"authorization for Catalyst based on Catalyst::Plugin::Authentication."
+msgstr ""
+
+#: gnu/packages/web.scm:1618
+msgid "Captchas for Catalyst"
+msgstr ""
+
+#: gnu/packages/web.scm:1619
+msgid ""
+"This plugin creates and validates Captcha images for\n"
+"Catalyst."
+msgstr ""
+
+#: gnu/packages/web.scm:1646
+msgid "Load config files of various types"
+msgstr ""
+
+#: gnu/packages/web.scm:1647
+msgid ""
+"This module will attempt to load find and load configuration\n"
+"files of various types. Currently it supports YAML, JSON, XML, INI and Perl\n"
+"formats."
+msgstr ""
+
+#: gnu/packages/web.scm:1679
+msgid "Catalyst generic session plugin"
+msgstr ""
+
+#: gnu/packages/web.scm:1680
+msgid ""
+"This plugin links the two pieces required for session\n"
+"management in web applications together: the state, and the store."
+msgstr ""
+
+#: gnu/packages/web.scm:1708
+msgid "Maintain session IDs using cookies"
+msgstr ""
+
+#: gnu/packages/web.scm:1709
+msgid ""
+"In order for Catalyst::Plugin::Session to work, the session\n"
+"ID needs to be stored on the client, and the session data needs to be stored\n"
+"on the server. This plugin stores the session ID on the client using the\n"
+"cookie mechanism."
+msgstr ""
+
+#: gnu/packages/web.scm:1739
+msgid "FastMmap session storage backend"
+msgstr ""
+
+#: gnu/packages/web.scm:1740
+msgid ""
+"Catalyst::Plugin::Session::Store::FastMmap is a fast session\n"
+"storage plugin for Catalyst that uses an mmap'ed file to act as a shared\n"
+"memory interprocess cache. It is based on Cache::FastMmap."
+msgstr ""
+
+#: gnu/packages/web.scm:1765
+msgid "Stack trace on the Catalyst debug screen"
+msgstr ""
+
+#: gnu/packages/web.scm:1766
+msgid ""
+"This plugin enhances the standard Catalyst debug screen by\n"
+"including a stack trace of your application up to the point where the error\n"
+"occurred. Each stack frame is displayed along with the package name, line\n"
+"number, file name, and code context surrounding the line number."
+msgstr ""
+
+#: gnu/packages/web.scm:1794
+msgid "Simple serving of static pages"
+msgstr ""
+
+#: gnu/packages/web.scm:1795
+msgid ""
+"The Static::Simple plugin is designed to make serving static\n"
+"content in your application during development quick and easy, without\n"
+"requiring a single line of code from you. This plugin detects static files by\n"
+"looking at the file extension in the URL (such as .css or .png or .js). The\n"
+"plugin uses the lightweight MIME::Types module to map file extensions to\n"
+"IANA-registered MIME types, and will serve your static files with the correct\n"
+"MIME type directly to the browser, without being processed through Catalyst."
+msgstr ""
+
+#: gnu/packages/web.scm:1863
+msgid "The Catalyst Framework Runtime"
+msgstr ""
+
+#: gnu/packages/web.scm:1864
+msgid ""
+"Catalyst is a modern framework for making web applications.\n"
+"It is designed to make it easy to manage the various tasks you need to do to\n"
+"run an application on the web, either by doing them itself, or by letting you\n"
+"\"plug in\" existing Perl modules that do what you need."
+msgstr ""
+
+#: gnu/packages/web.scm:1895
+msgid "Replace request base with value passed by HTTP proxy"
+msgstr ""
+
+#: gnu/packages/web.scm:1896
+msgid ""
+"This module is a Moose::Role which allows you more\n"
+"flexibility in your application's deployment configurations when deployed\n"
+"behind a proxy. Using this module, the request base ($c->req->base) is\n"
+"replaced with the contents of the X-Request-Base header."
+msgstr ""
+
+#: gnu/packages/web.scm:1923
+msgid "Download data in many formats"
+msgstr ""
+
+#: gnu/packages/web.scm:1924
+msgid ""
+"The purpose of this module is to provide a method for\n"
+"downloading data into many supportable formats. For example, downloading a\n"
+"table based report in a variety of formats (CSV, HTML, etc.)."
+msgstr ""
+
+#: gnu/packages/web.scm:1950
+msgid "Catalyst JSON view"
+msgstr ""
+
+#: gnu/packages/web.scm:1951
+msgid ""
+"Catalyst::View::JSON is a Catalyst View handler that returns\n"
+"stash data in JSON format."
+msgstr ""
+
+#: gnu/packages/web.scm:1977
+msgid "Template View Class"
+msgstr ""
+
+#: gnu/packages/web.scm:1978
+msgid ""
+"This module is a Catalyst view class for the Template\n"
+"Toolkit."
+msgstr ""
+
+#: gnu/packages/web.scm:2007
+msgid "Trait Loading and Resolution for Catalyst Components"
+msgstr ""
+
+#: gnu/packages/web.scm:2008
+msgid ""
+"Adds a \"COMPONENT\" in Catalyst::Component method to your\n"
+"Catalyst component base class that reads the optional \"traits\" parameter\n"
+"from app and component config and instantiates the component subclass with\n"
+"those traits using \"new_with_traits\" in MooseX::Traits from\n"
+"MooseX::Traits::Pluggable."
+msgstr ""
+
+#: gnu/packages/web.scm:2033
+msgid "Apply roles to Catalyst classes"
+msgstr ""
+
+#: gnu/packages/web.scm:2034
+msgid ""
+"CatalystX::RoleApplicator applies roles to Catalyst\n"
+"application classes."
+msgstr ""
+
+#: gnu/packages/web.scm:2061
+msgid "Catalyst development server with Starman"
+msgstr ""
+
+#: gnu/packages/web.scm:2062
+msgid ""
+"This module provides a Catalyst extension to replace the\n"
+"development server with Starman."
+msgstr ""
+
+#: gnu/packages/web.scm:2086
+msgid "Handle Common Gateway Interface requests and responses"
+msgstr ""
+
+#: gnu/packages/web.scm:2087
+msgid ""
+"CGI.pm is a stable, complete and mature solution for\n"
+"processing and preparing HTTP requests and responses. Major features include\n"
+"processing form submissions, file uploads, reading and writing cookies, query\n"
+"string generation and manipulation, and processing and preparing HTTP\n"
+"headers."
+msgstr ""
+
+#: gnu/packages/web.scm:2115
+msgid "Persistent session data in CGI applications"
+msgstr ""
+
+#: gnu/packages/web.scm:2117
+msgid ""
+"@code{CGI::Session} provides modular session management system across\n"
+"HTTP requests."
+msgstr ""
+
+#: gnu/packages/web.scm:2138
+msgid "CGI interface that is CGI.pm compliant"
+msgstr ""
+
+#: gnu/packages/web.scm:2139
+msgid ""
+"CGI::Simple provides a relatively lightweight drop in\n"
+"replacement for CGI.pm. It shares an identical OO interface to CGI.pm for\n"
+"parameter parsing, file upload, cookie handling and header generation."
+msgstr ""
+
+#: gnu/packages/web.scm:2160
+msgid "Build structures from CGI data"
+msgstr ""
+
+#: gnu/packages/web.scm:2161
+msgid ""
+"This is a module for building structured data from CGI\n"
+"inputs, in a manner reminiscent of how PHP does."
+msgstr ""
+
+#: gnu/packages/web.scm:2184
+msgid "Date conversion routines"
+msgstr ""
+
+#: gnu/packages/web.scm:2185
+msgid ""
+"This module provides functions that deal with the date\n"
+"formats used by the HTTP protocol."
+msgstr ""
+
+#: gnu/packages/web.scm:2205
+msgid "MD5 sums for files and urls"
+msgstr ""
+
+#: gnu/packages/web.scm:2206
+msgid ""
+"Digest::MD5::File is a Perl extension for getting MD5 sums\n"
+"for files and urls."
+msgstr ""
+
+#: gnu/packages/web.scm:2224
+msgid "Perl locale encoding determination"
+msgstr ""
+
+#: gnu/packages/web.scm:2226
+msgid ""
+"The POSIX locale system is used to specify both the language\n"
+"conventions requested by the user and the preferred character set to\n"
+"consume and output. The Encode::Locale module looks up the charset and\n"
+"encoding (called a CODESET in the locale jargon) and arranges for the\n"
+"Encode module to know this encoding under the name \"locale\". It means\n"
+"bytes obtained from the environment can be converted to Unicode strings\n"
+"by calling Encode::encode(locale => $bytes) and converted back again\n"
+"with Encode::decode(locale => $string)."
+msgstr ""
+
+#: gnu/packages/web.scm:2261
+msgid "Syndication feed auto-discovery"
+msgstr ""
+
+#: gnu/packages/web.scm:2262
+msgid ""
+"@code{Feed::Find} implements feed auto-discovery for finding\n"
+"syndication feeds, given a URI. It will discover the following feed formats:\n"
+"RSS 0.91, RSS 1.0, RSS 2.0, Atom."
+msgstr ""
+
+#: gnu/packages/web.scm:2283
+msgid "Perl directory listing parser"
+msgstr ""
+
+#: gnu/packages/web.scm:2285
+msgid ""
+"The File::Listing module exports a single function called parse_dir(),\n"
+"which can be used to parse directory listings."
+msgstr ""
+
+#: gnu/packages/web.scm:2317
+msgid "Stock and mutual fund quotes"
+msgstr ""
+
+#: gnu/packages/web.scm:2319
+msgid ""
+"Finance::Quote gets stock quotes from various internet sources, including\n"
+"Yahoo! Finance, Fidelity Investments, and the Australian Stock Exchange."
+msgstr ""
+
+#: gnu/packages/web.scm:2341
+msgid "Perl extension providing access to the GSSAPIv2 library"
+msgstr ""
+
+#: gnu/packages/web.scm:2342
+msgid ""
+"This is a Perl extension for using GSSAPI C bindings as\n"
+"described in RFC 2744."
+msgstr ""
+
+#: gnu/packages/web.scm:2362
+msgid "Manipulate tables of HTML::Element"
+msgstr ""
+
+#: gnu/packages/web.scm:2364
+msgid ""
+"HTML::Element::Extended is a Perl extension for manipulating a table\n"
+"composed of HTML::Element style components."
+msgstr ""
+
+#: gnu/packages/web.scm:2388
+msgid "Perl class representing an HTML form element"
+msgstr ""
+
+#: gnu/packages/web.scm:2389
+msgid ""
+"Objects of the HTML::Form class represents a single HTML\n"
+"<form> ... </form> instance."
+msgstr ""
+
+#: gnu/packages/web.scm:2419
+msgid "Perl extension for scrubbing/sanitizing html"
+msgstr ""
+
+#: gnu/packages/web.scm:2421
+msgid "@code{HTML::Scrubber} Perl extension for scrubbing/sanitizing HTML."
+msgstr ""
+
+#: gnu/packages/web.scm:2442
+msgid "Check for HTML errors in a string or file"
+msgstr ""
+
+#: gnu/packages/web.scm:2443
+msgid ""
+"HTML::Lint is a pure-Perl HTML parser and checker for\n"
+"syntactic legitmacy."
+msgstr ""
+
+#: gnu/packages/web.scm:2464
+msgid "Extract contents from HTML tables"
+msgstr ""
+
+#: gnu/packages/web.scm:2466
+msgid ""
+"HTML::TableExtract is a Perl module for extracting the content contained\n"
+"in tables within an HTML document, either as text or encoded element trees."
+msgstr ""
+
+#: gnu/packages/web.scm:2491
+msgid "Work with HTML in a DOM-like tree structure"
+msgstr ""
+
+#: gnu/packages/web.scm:2492
+msgid ""
+"This distribution contains a suite of modules for\n"
+"representing, creating, and extracting information from HTML syntax trees."
+msgstr ""
+
+#: gnu/packages/web.scm:2513
+msgid "Perl HTML parser class"
+msgstr ""
+
+#: gnu/packages/web.scm:2515
+msgid ""
+"Objects of the HTML::Parser class will recognize markup and separate\n"
+"it from plain text (alias data content) in HTML documents. As different\n"
+"kinds of markup and text are recognized, the corresponding event handlers\n"
+"are invoked."
+msgstr ""
+
+#: gnu/packages/web.scm:2535
+msgid "Perl data tables useful in parsing HTML"
+msgstr ""
+
+#: gnu/packages/web.scm:2537
+msgid ""
+"The HTML::Tagset module contains several data tables useful in various\n"
+"kinds of HTML parsing operations."
+msgstr ""
+
+#: gnu/packages/web.scm:2556
+msgid "HTML-like templates"
+msgstr ""
+
+#: gnu/packages/web.scm:2558
+msgid ""
+"This module attempts to make using HTML templates simple and natural.\n"
+"It extends standard HTML with a few new HTML-esque tags: @code{<TMPL_VAR>},\n"
+"@code{<TMPL_LOOP>}, @code{<TMPL_INCLUDE>}, @code{<TMPL_IF>},\n"
+"@code{<TMPL_ELSE>} and @code{<TMPL_UNLESS>}. The file written with HTML and\n"
+"these new tags is called a template. Using this module you fill in the values\n"
+"for the variables, loops and branches declared in the template. This allows\n"
+"you to separate design from the data."
+msgstr ""
+
+#: gnu/packages/web.scm:2586
+msgid "HTTP Body Parser"
+msgstr ""
+
+#: gnu/packages/web.scm:2587
+msgid ""
+"HTTP::Body parses chunks of HTTP POST data and supports\n"
+"application/octet-stream, application/json, application/x-www-form-urlencoded,\n"
+"and multipart/form-data."
+msgstr ""
+
+#: gnu/packages/web.scm:2614
+msgid "Minimalist HTTP user agent cookie jar"
+msgstr ""
+
+#: gnu/packages/web.scm:2615
+msgid ""
+"This module implements a minimalist HTTP user agent cookie\n"
+"jar in conformance with RFC 6265 <http://tools.ietf.org/html/rfc6265>."
+msgstr ""
+
+#: gnu/packages/web.scm:2635
+msgid "Perl HTTP cookie jars"
+msgstr ""
+
+#: gnu/packages/web.scm:2637
+msgid ""
+"The HTTP::Cookies class is for objects that represent a cookie jar,\n"
+"that is, a database of all the HTTP cookies that a given LWP::UserAgent\n"
+"object knows about."
+msgstr ""
+
+#: gnu/packages/web.scm:2659
+msgid "Perl simple http server class"
+msgstr ""
+
+#: gnu/packages/web.scm:2661
+msgid ""
+"Instances of the HTTP::Daemon class are HTTP/1.1 servers that listen\n"
+"on a socket for incoming requests. The HTTP::Daemon is a subclass of\n"
+"IO::Socket::INET, so you can perform socket operations directly on it too."
+msgstr ""
+
+#: gnu/packages/web.scm:2680
+msgid "Perl date conversion routines"
+msgstr ""
+
+#: gnu/packages/web.scm:2682
+msgid ""
+"The HTTP::Date module provides functions that deal with date formats\n"
+"used by the HTTP protocol (and then some more)."
+msgstr ""
+
+#: gnu/packages/web.scm:2706
+msgid "Perl HTTP style message"
+msgstr ""
+
+#: gnu/packages/web.scm:2708
+msgid "An HTTP::Message object contains some headers and a content body."
+msgstr ""
+
+#: gnu/packages/web.scm:2727
+msgid "Perl http content negotiation"
+msgstr ""
+
+#: gnu/packages/web.scm:2729
+msgid ""
+"The HTTP::Negotiate module provides a complete implementation of the\n"
+"HTTP content negotiation algorithm specified in\n"
+"draft-ietf-http-v11-spec-00.ps chapter 12. Content negotiation allows for\n"
+"the selection of a preferred content representation based upon attributes\n"
+"of the negotiable variants and the value of the various Accept* header\n"
+"fields in the request."
+msgstr ""
+
+#: gnu/packages/web.scm:2754
+msgid "Parse HTTP/1.1 requests"
+msgstr ""
+
+#: gnu/packages/web.scm:2755
+msgid ""
+"This is an HTTP request parser. It takes chunks of text as\n"
+"received and returns a 'hint' as to what is required, or returns the\n"
+"HTTP::Request when a complete request has been read. HTTP/1.1 chunking is\n"
+"supported."
+msgstr ""
+
+#: gnu/packages/web.scm:2777
+msgid "Fast HTTP request parser"
+msgstr ""
+
+#: gnu/packages/web.scm:2778
+msgid ""
+"HTTP::Parser::XS is a fast, primitive HTTP request/response\n"
+"parser."
+msgstr ""
+
+#: gnu/packages/web.scm:2799
+msgid "Set up a CGI environment from an HTTP::Request"
+msgstr ""
+
+#: gnu/packages/web.scm:2800
+msgid ""
+"This module provides a convenient way to set up a CGI\n"
+"environment from an HTTP::Request."
+msgstr ""
+
+#: gnu/packages/web.scm:2833
+msgid "Lightweight HTTP server"
+msgstr ""
+
+#: gnu/packages/web.scm:2834
+msgid ""
+"HTTP::Server::Simple is a simple standalone HTTP daemon with\n"
+"no non-core module dependencies. It can be used for building a standalone\n"
+"http-based UI to your existing tools."
+msgstr ""
+
+#: gnu/packages/web.scm:2859
+msgid "HTTP/1.1 client"
+msgstr ""
+
+#: gnu/packages/web.scm:2860
+msgid ""
+"This is a very simple HTTP/1.1 client, designed for doing\n"
+"simple requests without the overhead of a large framework like LWP::UserAgent.\n"
+"It supports proxies and redirection. It also correctly resumes after EINTR."
+msgstr ""
+
+#: gnu/packages/web.scm:2879
+msgid "Perl module to open an HTML file with automatic charset detection"
+msgstr ""
+
+#: gnu/packages/web.scm:2881
+msgid ""
+"IO::HTML provides an easy way to open a file containing HTML while\n"
+"automatically determining its encoding. It uses the HTML5 encoding sniffing\n"
+"algorithm specified in section 8.2.2.1 of the draft standard."
+msgstr ""
+
+#: gnu/packages/web.scm:2901
+msgid "Family-neutral IP socket supporting both IPv4 and IPv6"
+msgstr ""
+
+#: gnu/packages/web.scm:2902
+msgid ""
+"This module provides a protocol-independent way to use IPv4\n"
+"and IPv6 sockets, intended as a replacement for IO::Socket::INET."
+msgstr ""
+
+#: gnu/packages/web.scm:2924
+msgid "Nearly transparent SSL encapsulation for IO::Socket::INET"
+msgstr ""
+
+#: gnu/packages/web.scm:2926
+msgid ""
+"IO::Socket::SSL makes using SSL/TLS much easier by wrapping the\n"
+"necessary functionality into the familiar IO::Socket interface and providing\n"
+"secure defaults whenever possible. This way existing applications can be made\n"
+"SSL-aware without much effort, at least if you do blocking I/O and don't use\n"
+"select or poll."
+msgstr ""
+
+#: gnu/packages/web.scm:2960
+msgid "Perl modules for the WWW"
+msgstr ""
+
+#: gnu/packages/web.scm:2962
+msgid ""
+"The libwww-perl collection is a set of Perl modules which provides a\n"
+"simple and consistent application programming interface to the\n"
+"World-Wide Web. The main focus of the library is to provide classes\n"
+"and functions that allow you to write WWW clients. The library also\n"
+"contains modules that are of more general use and even classes that\n"
+"help you implement simple HTTP servers."
+msgstr ""
+
+#: gnu/packages/web.scm:2990
+msgid "Checks whether your process has access to the web"
+msgstr ""
+
+#: gnu/packages/web.scm:2991
+msgid ""
+"This module attempts to answer, as accurately as it can, one\n"
+"of the nastiest technical questions there is: am I on the internet?\n"
+"\n"
+"A host of networking and security issues make this problem very difficult.\n"
+"There are firewalls, proxies (both well behaved and badly behaved). We might\n"
+"not have DNS. We might not have a network card at all!"
+msgstr ""
+
+#: gnu/packages/web.scm:3013
+msgid "Perl module to guess the media type for a file or a URL"
+msgstr ""
+
+#: gnu/packages/web.scm:3015
+#, scheme-format
+msgid ""
+"The LWP::MediaTypes module provides functions for handling media (also\n"
+"known as MIME) types and encodings. The mapping from file extensions to\n"
+"media types is defined by the media.types file. If the ~/.media.types file\n"
+"exists it is used instead."
+msgstr ""
+
+#: gnu/packages/web.scm:3041
+msgid "HTTPS support for LWP::UserAgent"
+msgstr ""
+
+#: gnu/packages/web.scm:3042
+msgid ""
+"The LWP::Protocol::https module provides support for using\n"
+"https schemed URLs with LWP."
+msgstr ""
+
+#: gnu/packages/web.scm:3062
+msgid "Virtual browser that retries errors"
+msgstr ""
+
+#: gnu/packages/web.scm:3063
+msgid ""
+"LWP::UserAgent::Determined works just like LWP::UserAgent,\n"
+"except that when you use it to get a web page but run into a\n"
+"possibly-temporary error (like a DNS lookup timeout), it'll wait a few seconds\n"
+"and retry a few times."
+msgstr ""
+
+#: gnu/packages/web.scm:3108
+msgid "Perl interface to Amazon S3"
+msgstr ""
+
+#: gnu/packages/web.scm:3109
+msgid "This module provides a Perlish interface to Amazon S3."
+msgstr ""
+
+#: gnu/packages/web.scm:3129
+msgid "Perl low-level HTTP connection (client)"
+msgstr ""
+
+#: gnu/packages/web.scm:3131
+msgid ""
+"The Net::HTTP class is a low-level HTTP client. An instance of the\n"
+"Net::HTTP class represents a connection to an HTTP server. The HTTP protocol\n"
+"is described in RFC 2616. The Net::HTTP class supports HTTP/1.0 and\n"
+"HTTP/1.1."
+msgstr ""
+
+#: gnu/packages/web.scm:3151
+msgid "Extensible Perl server engine"
+msgstr ""
+
+#: gnu/packages/web.scm:3152
+msgid ""
+"Net::Server is an extensible, generic Perl server engine.\n"
+"It attempts to be a generic server as in Net::Daemon and NetServer::Generic.\n"
+"It includes with it the ability to run as an inetd\n"
+"process (Net::Server::INET), a single connection server (Net::Server or\n"
+"Net::Server::Single), a forking server (Net::Server::Fork), a preforking\n"
+"server which maintains a constant number of preforked\n"
+"children (Net::Server::PreForkSimple), or as a managed preforking server which\n"
+"maintains the number of children based on server load (Net::Server::PreFork).\n"
+"In all but the inetd type, the server provides the ability to connect to one\n"
+"or to multiple server ports."
+msgstr ""
+
+#: gnu/packages/web.scm:3180
+msgid "SSL support for Net::SMTP"
+msgstr ""
+
+#: gnu/packages/web.scm:3181
+msgid "SSL support for Net::SMTP."
+msgstr ""
+
+#: gnu/packages/web.scm:3215
+msgid "Perl Superglue for Web frameworks and servers (PSGI toolkit)"
+msgstr ""
+
+#: gnu/packages/web.scm:3216
+msgid ""
+"Plack is a set of tools for using the PSGI stack. It\n"
+"contains middleware components, a reference server, and utilities for Web\n"
+"application frameworks. Plack is like Ruby's Rack or Python's Paste for\n"
+"WSGI."
+msgstr ""
+
+#: gnu/packages/web.scm:3242
+msgid "Plack::Middleware which sets body for redirect response"
+msgstr ""
+
+#: gnu/packages/web.scm:3243
+msgid ""
+"This module sets the body in redirect response, if it's not\n"
+"already set."
+msgstr ""
+
+#: gnu/packages/web.scm:3266
+msgid "Override REST methods to Plack apps via POST"
+msgstr ""
+
+#: gnu/packages/web.scm:3267
+msgid ""
+"This middleware allows for POST requests that pretend to be\n"
+"something else: by adding either a header named X-HTTP-Method-Override to the\n"
+"request, or a query parameter named x-tunneled-method to the URI, the client\n"
+"can say what method it actually meant."
+msgstr ""
+
+#: gnu/packages/web.scm:3291
+msgid "Plack::Middleware which removes body for HTTP response"
+msgstr ""
+
+#: gnu/packages/web.scm:3292
+msgid ""
+"This module removes the body in an HTTP response if it's not\n"
+"required."
+msgstr ""
+
+#: gnu/packages/web.scm:3315
+msgid "Supports app to run as a reverse proxy backend"
+msgstr ""
+
+#: gnu/packages/web.scm:3316
+msgid ""
+"Plack::Middleware::ReverseProxy resets some HTTP headers,\n"
+"which are changed by reverse-proxy. You can specify the reverse proxy address\n"
+"and stop fake requests using 'enable_if' directive in your app.psgi."
+msgstr ""
+
+#: gnu/packages/web.scm:3337
+msgid "Run HTTP tests on external live servers"
+msgstr ""
+
+#: gnu/packages/web.scm:3338
+msgid ""
+"This module allows your to run your Plack::Test tests\n"
+"against an external server instead of just against a local application through\n"
+"either mocked HTTP or a locally spawned server."
+msgstr ""
+
+#: gnu/packages/web.scm:3360
+msgid "Testing TCP programs"
+msgstr ""
+
+#: gnu/packages/web.scm:3361
+msgid "Test::TCP is test utilities for TCP/IP programs."
+msgstr ""
+
+#: gnu/packages/web.scm:3391
+msgid "Testing-specific WWW::Mechanize subclass"
+msgstr ""
+
+#: gnu/packages/web.scm:3392
+msgid ""
+"Test::WWW::Mechanize is a subclass of the Perl module\n"
+"WWW::Mechanize that incorporates features for web application testing."
+msgstr ""
+
+#: gnu/packages/web.scm:3426
+msgid "Test::WWW::Mechanize for Catalyst"
+msgstr ""
+
+#: gnu/packages/web.scm:3427
+msgid ""
+"The Test::WWW::Mechanize::Catalyst module meshes the\n"
+"Test::WWW:Mechanize module and the Catalyst web application framework to allow\n"
+"testing of Catalyst applications without needing to start up a web server."
+msgstr ""
+
+#: gnu/packages/web.scm:3451
+msgid "Test PSGI programs using WWW::Mechanize"
+msgstr ""
+
+#: gnu/packages/web.scm:3452
+msgid ""
+"PSGI is a specification to decouple web server environments\n"
+"from web application framework code. Test::WWW::Mechanize is a subclass of\n"
+"WWW::Mechanize that incorporates features for web application testing. The\n"
+"Test::WWW::Mechanize::PSGI module meshes the two to allow easy testing of PSGI\n"
+"applications."
+msgstr ""
+
+#: gnu/packages/web.scm:3472
+msgid "Perl Uniform Resource Identifiers (absolute and relative)"
+msgstr ""
+
+#: gnu/packages/web.scm:3474
+msgid ""
+"The URI module implements the URI class. Objects of this class\n"
+"represent \"Uniform Resource Identifier references\" as specified in RFC 2396\n"
+"and updated by RFC 2732."
+msgstr ""
+
+#: gnu/packages/web.scm:3498
+msgid "Smart URI fetching/caching"
+msgstr ""
+
+#: gnu/packages/web.scm:3499
+msgid ""
+"@code{URI::Fetch} is a smart client for fetching HTTP pages,\n"
+"notably syndication feeds (RSS, Atom, and others), in an intelligent, bandwidth-\n"
+"and time-saving way."
+msgstr ""
+
+#: gnu/packages/web.scm:3522
+msgid "Find URIs in arbitrary text"
+msgstr ""
+
+#: gnu/packages/web.scm:3523
+msgid ""
+"This module finds URIs and URLs (according to what URI.pm\n"
+"considers a URI) in plain text. It only finds URIs which include a\n"
+"scheme (http:// or the like), for something a bit less strict, consider\n"
+"URI::Find::Schemeless. For a command-line interface, urifind is provided."
+msgstr ""
+
+#: gnu/packages/web.scm:3545
+msgid "WebSocket support for URI package"
+msgstr ""
+
+#: gnu/packages/web.scm:3546
+msgid ""
+"With this module, the URI package provides the same set of\n"
+"methods for WebSocket URIs as it does for HTTP URIs."
+msgstr ""
+
+#: gnu/packages/web.scm:3570
+msgid "Object for handling URI templates"
+msgstr ""
+
+#: gnu/packages/web.scm:3571
+msgid ""
+"This perl module provides a wrapper around URI templates as described in\n"
+"RFC 6570."
+msgstr ""
+
+#: gnu/packages/web.scm:3603
+msgid "Perl extension interface for libcurl"
+msgstr ""
+
+#: gnu/packages/web.scm:3605
+msgid ""
+"This is a Perl extension interface for the libcurl file downloading\n"
+"library."
+msgstr ""
+
+#: gnu/packages/web.scm:3639
+msgid "Web browsing in a Perl object"
+msgstr ""
+
+#: gnu/packages/web.scm:3640
+msgid ""
+"WWW::Mechanize is a Perl module for stateful programmatic\n"
+"web browsing, used for automating interaction with websites."
+msgstr ""
+
+#: gnu/packages/web.scm:3676
+msgid "Search A9 OpenSearch compatible engines"
+msgstr ""
+
+#: gnu/packages/web.scm:3678
+msgid ""
+"@code{WWW::OpenSearch} is a module to search @url{A9's OpenSearch,\n"
+"http://opensearch.a9.com} compatible search engines."
+msgstr ""
+
+#: gnu/packages/web.scm:3698
+msgid "Perl database of robots.txt-derived permissions"
+msgstr ""
+
+#: gnu/packages/web.scm:3700
+msgid ""
+"The WWW::RobotRules module parses /robots.txt files as specified in\n"
+"\"A Standard for Robot Exclusion\", at\n"
+"<http://www.robotstxt.org/wc/norobots.html>. Webmasters can use the\n"
+"/robots.txt file to forbid conforming robots from accessing parts of\n"
+"their web site."
+msgstr ""
+
+#: gnu/packages/web.scm:3723
+msgid "Parse feeds in Python"
+msgstr ""
+
+#: gnu/packages/web.scm:3725
+msgid ""
+"Universal feed parser which handles RSS 0.9x, RSS 1.0, RSS 2.0,\n"
+"CDF, Atom 0.3, and Atom 1.0 feeds."
+msgstr ""
+
+#: gnu/packages/web.scm:3746
+msgid "HTTP and WebSocket server library for R"
+msgstr ""
+
+#: gnu/packages/web.scm:3748
+msgid ""
+"The httpuv package provides low-level socket and protocol support for\n"
+"handling HTTP and WebSocket requests directly from within R. It is primarily\n"
+"intended as a building block for other packages, rather than making it\n"
+"particularly easy to create complete web applications using httpuv alone."
+msgstr ""
+
+#: gnu/packages/web.scm:3769
+msgid "Robust, high performance JSON parser and generator for R"
+msgstr ""
+
+#: gnu/packages/web.scm:3771
+msgid ""
+"The jsonlite package provides a fast JSON parser and generator optimized\n"
+"for statistical data and the web. It offers flexible, robust, high\n"
+"performance tools for working with JSON in R and is particularly powerful for\n"
+"building pipelines and interacting with a web API. In addition to converting\n"
+"JSON data from/to R objects, jsonlite contains functions to stream, validate,\n"
+"and prettify JSON data. The unit tests included with the package verify that\n"
+"all edge cases are encoded and decoded consistently for use with dynamic data\n"
+"in systems and applications."
+msgstr ""
+
+#: gnu/packages/web.scm:3799
+msgid "Simple HTTP server to serve static files or dynamic documents"
+msgstr ""
+
+#: gnu/packages/web.scm:3801
+msgid ""
+"Servr provides an HTTP server in R to serve static files, or dynamic\n"
+"documents that can be converted to HTML files (e.g., R Markdown) under a given\n"
+"directory."
+msgstr ""
+
+#: gnu/packages/web.scm:3835
+msgid "R tools for HTML"
+msgstr ""
+
+#: gnu/packages/web.scm:3837
+msgid "This package provides tools for HTML generation and output in R."
+msgstr ""
+
+#: gnu/packages/web.scm:3856
+msgid "HTML Widgets for R"
+msgstr ""
+
+#: gnu/packages/web.scm:3858
+msgid ""
+"HTML widgets is a framework for creating HTML widgets that render in\n"
+"various contexts including the R console, R Markdown documents, and Shiny web\n"
+"applications."
+msgstr ""
+
+#: gnu/packages/web.scm:3883
+msgid "Advanced tables for Markdown/HTML"
+msgstr ""
+
+#: gnu/packages/web.scm:3885
+msgid ""
+"This package provides functions to build tables with advanced layout\n"
+"elements such as row spanners, column spanners, table spanners, zebra\n"
+"striping, and more. While allowing advanced layout, the underlying\n"
+"CSS-structure is simple in order to maximize compatibility with word\n"
+"processors such as LibreOffice. The package also contains a few text\n"
+"formatting functions that help outputting text compatible with HTML or\n"
+"LaTeX."
+msgstr ""
+
+#: gnu/packages/web.scm:3922
+msgid "HTTP client for R"
+msgstr ""
+
+#: gnu/packages/web.scm:3924
+msgid ""
+"The @code{curl()} and @code{curl_download()} functions provide highly\n"
+"configurable drop-in replacements for base @code{url()} and\n"
+"@code{download.file()} with better performance, support for encryption, gzip\n"
+"compression, authentication, and other @code{libcurl} goodies. The core of\n"
+"the package implements a framework for performing fully customized requests\n"
+"where data can be processed either in memory, on disk, or streaming via the\n"
+"callback or connection interfaces."
+msgstr ""
+
+#: gnu/packages/web.scm:3946
+msgid "Output R objects in HTML format"
+msgstr ""
+
+#: gnu/packages/web.scm:3948
+msgid ""
+"This package provides easy-to-use and versatile functions to output R\n"
+"objects in HTML format."
+msgstr ""
+
+#: gnu/packages/web.scm:3965
+msgid "JSON library for R"
+msgstr ""
+
+#: gnu/packages/web.scm:3967
+msgid ""
+"This package provides functions to convert R objects into JSON objects\n"
+"and vice-versa."
+msgstr ""
+
+#: gnu/packages/web.scm:3996
+msgid "HTML5 parsing library"
+msgstr ""
+
+#: gnu/packages/web.scm:3998
+msgid ""
+"Gumbo is an implementation of the HTML5 parsing algorithm implemented as\n"
+"a pure C99 library."
+msgstr ""
+
+#: gnu/packages/web.scm:4069
+msgid "Application container server"
+msgstr ""
+
+#: gnu/packages/web.scm:4071
+msgid ""
+"uWSGI presents a complete stack for networked/clustered web applications,\n"
+"implementing message/object passing, caching, RPC and process management.\n"
+"It uses the uwsgi protocol for all the networking/interprocess communications."
+msgstr ""
+
+#: gnu/packages/web.scm:4101
+msgid "Command-line JSON processor"
+msgstr ""
+
+#: gnu/packages/web.scm:4102
+msgid ""
+"jq is like sed for JSON data – you can use it to slice and\n"
+"filter and map and transform structured data with the same ease that sed, awk,\n"
+"grep and friends let you play with text. It is written in portable C. jq can\n"
+"mangle the data format that you have into the one that you want with very\n"
+"little effort, and the program to do so is often shorter and simpler than\n"
+"you'd expect."
+msgstr ""
+
+#: gnu/packages/web.scm:4141
+msgid "Library for mocking web service APIs which use HTTP or HTTPS"
+msgstr ""
+
+#: gnu/packages/web.scm:4143
+msgid ""
+"Uhttpmock is a project for mocking web service APIs which use HTTP or\n"
+"HTTPS. It provides a library, libuhttpmock, which implements recording and\n"
+"playback of HTTP request/response traces."
+msgstr ""
+
+#: gnu/packages/web.scm:4178
+msgid "Single file web server"
+msgstr ""
+
+#: gnu/packages/web.scm:4179
+msgid ""
+"Woof (Web Offer One File) is a small simple web server that\n"
+"can easily be invoked on a single file. Your partner can access the file with\n"
+"tools they trust (e.g. wget)."
+msgstr ""
+
+#: gnu/packages/web.scm:4205
+msgid "Build system for the Netsurf project"
+msgstr ""
+
+#: gnu/packages/web.scm:4207
+msgid ""
+"This package provides the shared build system for Netsurf project\n"
+"libraries."
+msgstr ""
+
+#: gnu/packages/web.scm:4242
+msgid "Parser building library"
+msgstr ""
+
+#: gnu/packages/web.scm:4244
+msgid ""
+"LibParserUtils is a library for building efficient parsers, written in\n"
+"C. It is developed as part of the NetSurf project."
+msgstr ""
+
+#: gnu/packages/web.scm:4272
+msgid "HTML5 compliant parsing library"
+msgstr ""
+
+#: gnu/packages/web.scm:4274
+msgid ""
+"Hubbub is an HTML5 compliant parsing library, written in C, which can\n"
+"parse both valid and invalid web content. It is developed as part of the\n"
+"NetSurf project."
+msgstr ""
+
+#: gnu/packages/web.scm:4349
+msgid "Wiki compiler, capable of generating HTML"
+msgstr ""
+
+#: gnu/packages/web.scm:4351
+msgid ""
+"Ikiwiki is a wiki compiler, capable of generating a static set of web\n"
+"pages, but also incorporating dynamic features like a web based editor and\n"
+"commenting."
+msgstr ""
+
+#: gnu/packages/web.scm:4375
+msgid "String internment library"
+msgstr ""
+
+#: gnu/packages/web.scm:4377
+msgid ""
+"LibWapcaplet provides a reference counted string internment system\n"
+"designed to store small strings and allow rapid comparison of them. It is\n"
+"developed as part of the Netsurf project."
+msgstr ""
+
+#: gnu/packages/web.scm:4404
+msgid "CSS parser and selection library"
+msgstr ""
+
+#: gnu/packages/web.scm:4406
+msgid ""
+"LibCSS is a CSS (Cascading Style Sheet) parser and selection engine,\n"
+"written in C. It is developed as part of the NetSurf project."
+msgstr ""
+
+#: gnu/packages/web.scm:4440
+msgid "Implementation of the W3C DOM"
+msgstr ""
+
+#: gnu/packages/web.scm:4442
+msgid ""
+"LibDOM is an implementation of the W3C DOM, written in C. It is\n"
+"developed as part of the NetSurf project."
+msgstr ""
+
+#: gnu/packages/web.scm:4469
+msgid "Library for parsing SVG files"
+msgstr ""
+
+#: gnu/packages/web.scm:4471
+msgid ""
+"Libsvgtiny takes some SVG as input and returns a list of paths and texts\n"
+"which can be rendered easily, as defined in\n"
+"@url{http://www.w3.org/TR/SVGMobile/}. It is developed as part of the NetSurf\n"
+"project."
+msgstr ""
+
+#: gnu/packages/web.scm:4494
+msgid "Decoding library for BMP and ICO files"
+msgstr ""
+
+#: gnu/packages/web.scm:4496
+msgid ""
+"Libnsbmp is a decoding library for BMP and ICO image file formats,\n"
+"written in C. It is developed as part of the NetSurf project."
+msgstr ""
+
+#: gnu/packages/web.scm:4517
+msgid "Decoding library for GIF files"
+msgstr ""
+
+#: gnu/packages/web.scm:4519
+msgid ""
+"Libnsgif is a decoding library for the GIF image file format, written in\n"
+"C. It is developed as part of the NetSurf project."
+msgstr ""
+
+#: gnu/packages/web.scm:4540
+msgid "Utility library for NetSurf"
+msgstr ""
+
+#: gnu/packages/web.scm:4542
+msgid ""
+"Libnsutils provides a small number of useful utility routines. It is\n"
+"developed as part of the NetSurf project."
+msgstr ""
+
+#: gnu/packages/web.scm:4563
+msgid "Library to generate a static Public Suffix List"
+msgstr ""
+
+#: gnu/packages/web.scm:4565
+msgid ""
+"Libnspsl is a library to generate a static code representation of the\n"
+"Public Suffix List. It is developed as part of the NetSurf project."
+msgstr ""
+
+#: gnu/packages/web.scm:4591
+msgid "Generate JavaScript to DOM bindings"
+msgstr ""
+
+#: gnu/packages/web.scm:4593
+msgid ""
+"@code{nsgenbind} is a tool to generate JavaScript to DOM bindings from\n"
+"w3c webidl files and a binding configuration file."
+msgstr ""
+
+#: gnu/packages/web.scm:4704
+msgid "Web browser"
+msgstr ""
+
+#: gnu/packages/web.scm:4706
+msgid ""
+"NetSurf is a lightweight web browser that has its own layout and\n"
+"rendering engine entirely written from scratch. It is small and capable of\n"
+"handling many of the web standards in use today."
+msgstr ""
+
+#: gnu/packages/web.scm:4739
+msgid "Unix command line interface to the www"
+msgstr ""
+
+#: gnu/packages/web.scm:4740
+msgid ""
+"Surfraw (Shell Users' Revolutionary Front Rage Against the Web)\n"
+"provides a unix command line interface to a variety of popular www search engines\n"
+"and similar services."
+msgstr ""
+
+#: gnu/packages/web.scm:4771
+msgid "Simple static web server"
+msgstr ""
+
+#: gnu/packages/web.scm:4772
+msgid ""
+"darkhttpd is a simple static web server. It is\n"
+"standalone and does not need inetd or ucspi-tcp. It does not need any\n"
+"config files---you only have to specify the www root."
+msgstr ""
+
+#: gnu/packages/web.scm:4802
+msgid "Analyze Web server logs in real time"
+msgstr ""
+
+#: gnu/packages/web.scm:4804
+msgid ""
+"GoAccess is a real-time web log analyzer and interactive viewer that\n"
+"runs in a terminal or through your browser. It provides fast and valuable\n"
+"HTTP statistics for system administrators that require a visual server report\n"
+"on the fly."
+msgstr ""
+
+#: gnu/packages/web.scm:4839
+msgid "Tunnel data connections through HTTP requests"
+msgstr ""
+
+#: gnu/packages/web.scm:4840
+msgid ""
+"httptunnel creates a bidirectional virtual data connection\n"
+"tunnelled through HTTP (HyperText Transfer Protocol) requests. This can be\n"
+"useful for users behind restrictive firewalls. As long as Web traffic is\n"
+"allowed, even through a HTTP-only proxy, httptunnel can be combined with other\n"
+"tools like SSH (Secure Shell) to reach the outside world."
+msgstr ""
+
+#: gnu/packages/web.scm:4865
+msgid "TLS proxy for clients or servers"
+msgstr ""
+
+#: gnu/packages/web.scm:4866
+msgid ""
+"Stunnel is a proxy designed to add TLS encryption\n"
+"functionality to existing clients and servers without any changes in the\n"
+"programs' code. Its architecture is optimized for security, portability, and\n"
+"scalability (including load-balancing), making it suitable for large\n"
+"deployments."
+msgstr ""
+
+#: gnu/packages/web.scm:4890
+msgid "Internet services daemon"
+msgstr ""
+
+#: gnu/packages/web.scm:4891
+msgid ""
+"@code{xinetd}, a more secure replacement for @code{inetd},\n"
+"listens for incoming requests over a network and launches the appropriate\n"
+"service for that request. Requests are made using port numbers as identifiers\n"
+"and xinetd usually launches another daemon to handle the request. It can be\n"
+"used to start services with both privileged and non-privileged port numbers."
+msgstr ""
+
+#: gnu/packages/web.scm:4935
+msgid "HTML Tidy with HTML5 support"
+msgstr ""
+
+#: gnu/packages/web.scm:4937
+msgid ""
+"Tidy is a console application which corrects and cleans up\n"
+"HTML and XML documents by fixing markup errors and upgrading\n"
+"legacy code to modern standards.\n"
+"\n"
+"Tidy also provides @code{libtidy}, a C static and dynamic library that\n"
+"developers can integrate into their applications to make use of the\n"
+"functions of Tidy."
+msgstr ""
+
+#: gnu/packages/web.scm:4993
+msgid "Webserver with focus on security"
+msgstr ""
+
+#: gnu/packages/web.scm:4995
+msgid ""
+"Hiawatha has been written with security in mind.\n"
+"Features include the ability to stop SQL injections, XSS and CSRF attacks and\n"
+"exploit attempts."
+msgstr ""
+
+#: gnu/packages/web.scm:5019
+msgid "HTTP request and response service"
+msgstr ""
+
+#: gnu/packages/web.scm:5020
+msgid ""
+"Testing an HTTP Library can become difficult sometimes.\n"
+"@code{RequestBin} is fantastic for testing POST requests, but doesn't let you control the\n"
+"response. This exists to cover all kinds of HTTP scenarios. All endpoint responses are\n"
+"JSON-encoded."
+msgstr ""
+
+#: gnu/packages/web.scm:5048
+msgid "Test your HTTP library against a local copy of httpbin"
+msgstr ""
+
+#: gnu/packages/web.scm:5050
+msgid ""
+"@code{Pytest-httpbin} creates a @code{pytest} fixture that is dependency-injected\n"
+"into your tests. It automatically starts up a HTTP server in a separate thread running\n"
+"@code{httpbin} and provides your test with the URL in the fixture."
+msgstr ""
+
+#: gnu/packages/web.scm:5081
+msgid "HTTP request/response parser for C"
+msgstr ""
+
+#: gnu/packages/web.scm:5082
+msgid ""
+"This is a parser for HTTP messages written in C. It parses\n"
+"both requests and responses. The parser is designed to be used in\n"
+"high-performance HTTP applications. It does not make any syscalls nor\n"
+"allocations, it does not buffer data, it can be interrupted at anytime.\n"
+"Depending on your architecture, it only requires about 40 bytes of data per\n"
+"message stream (in a web server that is per connection)."
+msgstr ""
+
+#: gnu/packages/web.scm:5134
+msgid "HTTP client mock for Python"
+msgstr ""
+
+#: gnu/packages/web.scm:5135
+msgid ""
+"@code{httpretty} is a helper for faking web requests,\n"
+"inspired by Ruby's @code{fakeweb}."
+msgstr ""
+
+#: gnu/packages/web.scm:5153
+msgid "Output JSON from a shell"
+msgstr ""
+
+#: gnu/packages/web.scm:5154
+msgid ""
+"jo is a command-line utility to create JSON objects or\n"
+"arrays. It creates a JSON string on stdout from words provided as\n"
+"command-line arguments or read from stdin."
+msgstr ""
+
+#: gnu/packages/web.scm:5203
+msgid "Command-line interface to archive.org"
+msgstr ""
+
+#: gnu/packages/web.scm:5204
+msgid ""
+"@code{ia} is a command-line tool for using\n"
+"@url{archive.org} from the command-line. It also emplements the\n"
+"internetarchive python module for programatic access to archive.org."
+msgstr ""
+
+#: gnu/packages/web.scm:5259
+msgid "Search code snippets on @url{https://commandlinefu.com}"
+msgstr ""
+
+#: gnu/packages/web.scm:5260
+msgid ""
+"@code{clf} is a command line tool for searching code\n"
+"snippets on @url{https://commandlinefu.com}."
+msgstr ""
+
+#: gnu/packages/web.scm:5362
+msgid "Easy interactive web applications with R"
+msgstr ""
+
+#: gnu/packages/web.scm:5364
+msgid ""
+"Makes it incredibly easy to build interactive web applications\n"
+"with R. Automatic \"reactive\" binding between inputs and outputs and\n"
+"extensive prebuilt widgets make it possible to build beautiful,\n"
+"responsive, and powerful applications with minimal effort."
+msgstr ""
+
+#: gnu/packages/web.scm:5390
+msgid "Inter-widget interactivity for HTML widgets"
+msgstr ""
+
+#: gnu/packages/web.scm:5392
+msgid ""
+"This package provides building blocks for allowing HTML widgets to\n"
+"communicate with each other, with Shiny or without (i.e. static @code{.html}\n"
+"files). It currently supports linked brushing and filtering."
+msgstr ""
+
+#: gnu/packages/web.scm:5412
+msgid "Web server interface for R"
+msgstr ""
+
+#: gnu/packages/web.scm:5414
+msgid ""
+"This package contains the Rook specification and convenience software\n"
+"for building and running Rook applications. A Rook application is an R\n"
+"reference class object that implements a @code{call} method or an R closure\n"
+"that takes exactly one argument, an environment, and returns a list with three\n"
+"named elements: the @code{status}, the @code{headers}, and the @code{body}."
+msgstr ""
+
+#: gnu/packages/web.scm:5454
+msgid "Generate Atom feeds for social networking websites"
+msgstr ""
+
+#: gnu/packages/web.scm:5455
+msgid ""
+"rss-bridge generates Atom feeds for social networking\n"
+"websites lacking feeds. Supported websites include Facebook, Twitter,\n"
+"Instagram and YouTube."
+msgstr ""
+
+#: gnu/packages/web.scm:5487
+msgid "Check websites for broken links"
+msgstr ""
+
+#: gnu/packages/web.scm:5488
+msgid ""
+"LinkChecker is a website validator. It checks for broken\n"
+"links in websites. It is recursive and multithreaded providing output in\n"
+"colored or normal text, HTML, SQL, CSV, XML or as a sitemap graph. It\n"
+"supports checking HTTP/1.1, HTTPS, FTP, mailto, news, nntp, telnet and local\n"
+"file links."
+msgstr ""
+
+#: gnu/packages/web.scm:5529
+msgid "Command-line WebDAV client"
+msgstr ""
+
+#: gnu/packages/web.scm:5531
+msgid ""
+"Cadaver is a command-line WebDAV client for Unix. It supports\n"
+"file upload, download, on-screen display, namespace operations (move/copy),\n"
+"collection creation and deletion, and locking operations."
+msgstr ""
+
+#: gnu/packages/web.scm:5549
+msgid "Universal Binary JSON encoder/decoder"
+msgstr ""
+
+#: gnu/packages/web.scm:5551
+msgid ""
+"Py-ubjson is a Python module providing an Universal Binary JSON\n"
+"encoder/decoder based on the draft-12 specification for UBJSON."
+msgstr ""
+
+#: gnu/packages/web.scm:5599
+msgid ""
+"Java Servlet, JavaServer Pages, Java Expression Language and Java\n"
+"WebSocket"
+msgstr ""
+
+#: gnu/packages/web.scm:5601
+msgid ""
+"Apache Tomcat is a free implementation of the Java\n"
+"Servlet, JavaServer Pages, Java Expression Language and Java WebSocket\n"
+"technologies."
+msgstr ""
+
+#: gnu/packages/web.scm:5651
+msgid "Helper classes for jetty tests"
+msgstr ""
+
+#: gnu/packages/web.scm:5652
+msgid ""
+"This packages contains helper classes for testing the Jetty\n"
+"Web Server."
+msgstr ""
+
+#: gnu/packages/web.scm:5714
+msgid "Utility classes for Jetty"
+msgstr ""
+
+#: gnu/packages/web.scm:5715
+msgid ""
+"The Jetty Web Server provides an HTTP server and Servlet\n"
+"container capable of serving static and dynamic content either from a standalone\n"
+"or embedded instantiation. This package provides utility classes."
+msgstr ""
+
+#: gnu/packages/web.scm:5786
+msgid "Jetty :: IO Utility"
+msgstr ""
+
+#: gnu/packages/web.scm:5787
+msgid ""
+"The Jetty Web Server provides an HTTP server and Servlet\n"
+"container capable of serving static and dynamic content either from a standalone\n"
+"or embedded instantiation. This package provides IO-related utility classes."
+msgstr ""
+
+#: gnu/packages/web.scm:5830
+msgid "Jetty :: Http Utility"
+msgstr ""
+
+#: gnu/packages/web.scm:5831
+msgid ""
+"The Jetty Web Server provides an HTTP server and Servlet\n"
+"container capable of serving static and dynamic content either from a standalone\n"
+"or embedded instantiation. This package provides HTTP-related utility classes."
+msgstr ""
+
+#: gnu/packages/web.scm:5864
+msgid "Jetty :: JMX Management"
+msgstr ""
+
+#: gnu/packages/web.scm:5865
+msgid ""
+"The Jetty Web Server provides an HTTP server and Servlet\n"
+"container capable of serving static and dynamic content either from a standalone\n"
+"or embedded instantiation. This package provides the JMX management."
+msgstr ""
+
+#: gnu/packages/web.scm:5951
+msgid "Core jetty server artifact"
+msgstr ""
+
+#: gnu/packages/web.scm:5952
+msgid ""
+"The Jetty Web Server provides an HTTP server and Servlet\n"
+"container capable of serving static and dynamic content either from a standalone\n"
+"or embedded instantiation. This package provides the core jetty server\n"
+"artifact."
+msgstr ""
+
+#: gnu/packages/web.scm:5995
+msgid "Jetty security infrastructure"
+msgstr ""
+
+#: gnu/packages/web.scm:5996
+msgid ""
+"The Jetty Web Server provides an HTTP server and Servlet\n"
+"container capable of serving static and dynamic content either from a standalone\n"
+"or embedded instantiation. This package provides the core jetty security\n"
+"infrastructure"
+msgstr ""
+
+#: gnu/packages/web.scm:6039
+msgid "Jetty Servlet Container"
+msgstr ""
+
+#: gnu/packages/web.scm:6040
+msgid ""
+"The Jetty Web Server provides an HTTP server and Servlet\n"
+"container capable of serving static and dynamic content either from a standalone\n"
+"or embedded instantiation. This package provides the core jetty servlet\n"
+"container."
+msgstr ""
+
+#: gnu/packages/web.scm:6087
+msgid "Validate HTML"
+msgstr ""
+
+#: gnu/packages/web.scm:6088
+msgid ""
+"Tidyp is a program that can validate your HTML, as well as\n"
+"modify it to be more clean and standard. tidyp does not validate HTML 5.\n"
+"\n"
+"libtidyp is the library on which the program is based. It can be used by any\n"
+"other program that can interface to it. The Perl module @code{HTML::Tidy} is\n"
+"based on this library, allowing Perl programmers to easily validate HTML."
+msgstr ""
+
+#: gnu/packages/web.scm:6129
+msgid "(X)HTML validation in a Perl object"
+msgstr ""
+
+#: gnu/packages/web.scm:6130
+msgid ""
+"@code{HTML::Tidy} is an HTML checker in a handy dandy\n"
+"object. It's meant as a replacement for @code{HTML::Lint}, which is written\n"
+"in Perl but is not nearly as capable as @code{HTML::Tidy}."
+msgstr ""
+
+#: gnu/packages/wordnet.scm:86
+msgid "Lexical database for the English language"
+msgstr ""
+
+#: gnu/packages/wordnet.scm:88
+msgid ""
+"WordNet is a large lexical database of English. Nouns, verbs,\n"
+"adjectives and adverbs are grouped into sets of cognitive synonyms (synsets),\n"
+"each expressing a distinct concept. Synsets are interlinked by means of\n"
+"conceptual-semantic and lexical relations. The resulting network of\n"
+"meaningfully related words and concepts can be navigated with the browser.\n"
+"WordNet is also freely and publicly available for download. WordNet's\n"
+"structure makes it a useful tool for computational linguistics and natural\n"
+"language processing."
+msgstr ""
+
+#: gnu/packages/xiph.scm:68
+msgid "Library for manipulating the ogg multimedia format"
+msgstr ""
+
+#: gnu/packages/xiph.scm:70
+msgid ""
+"The libogg library allows to manipulate the ogg multimedia container\n"
+"format, which encapsulates raw compressed data and allows the interleaving of\n"
+"audio and video data. In addition to encapsulation and interleaving of\n"
+"multiple data streams, ogg provides packet framing, error detection, and\n"
+"periodic timestamps for seeking."
+msgstr ""
+
+#: gnu/packages/xiph.scm:94
+msgid "Library implementing the vorbis audio format"
+msgstr ""
+
+#: gnu/packages/xiph.scm:96
+msgid ""
+"The libvorbis library implements the ogg vorbis audio format,\n"
+"a fully open, non-proprietary, patent-and-royalty-free, general-purpose\n"
+"compressed audio format for mid to high quality (8kHz-48.0kHz, 16+ bit,\n"
+"polyphonic) audio and music at fixed and variable bitrates from 16 to\n"
+"128 kbps/channel."
+msgstr ""
+
+#: gnu/packages/xiph.scm:121
+msgid "Library implementing the Theora video format"
+msgstr ""
+
+#: gnu/packages/xiph.scm:123
+msgid ""
+"The libtheora library implements the ogg theora video format,\n"
+"a fully open, non-proprietary, patent-and-royalty-free, general-purpose\n"
+"compressed video format."
+msgstr ""
+
+#: gnu/packages/xiph.scm:148
+msgid "Library for patent-free audio compression format"
+msgstr ""
+
+#: gnu/packages/xiph.scm:150
+msgid ""
+"GNU Speex is a patent-free audio compression codec specially designed\n"
+"for speech. It is well-adapted to internet applications, such as VoIP. It\n"
+"features compression of different bands in the same bitstream, intensity\n"
+"stereo encoding, and voice activity detection."
+msgstr ""
+
+#: gnu/packages/xiph.scm:176
+msgid "Speex processing library"
+msgstr ""
+
+#: gnu/packages/xiph.scm:178
+msgid ""
+"SpeexDSP is a @dfn{DSP} (Digital Signal Processing) library based on\n"
+"work from the @code{speex} codec."
+msgstr ""
+
+#: gnu/packages/xiph.scm:205
+msgid "Cross platform audio library"
+msgstr ""
+
+#: gnu/packages/xiph.scm:207
+msgid ""
+"Libao is a cross-platform audio library that allows programs to\n"
+"output audio using a simple API on a wide variety of platforms.\n"
+"It currently supports:\n"
+"@enumerate\n"
+"@item Null output (handy for testing without a sound device),\n"
+"@item WAV files,\n"
+"@item AU files,\n"
+"@item RAW files,\n"
+"@item OSS (Open Sound System, used on Linux and FreeBSD),\n"
+"@item ALSA (Advanced Linux Sound Architecture),\n"
+"@item aRts (Analog RealTime Synth, used by KDE),\n"
+"@item PulseAudio (next generation GNOME sound server),\n"
+"@item esd (EsounD or Enlightened Sound Daemon),\n"
+"@item Mac OS X,\n"
+"@item Windows (98 and later),\n"
+"@item AIX,\n"
+"@item Sun/NetBSD/OpenBSD,\n"
+"@item IRIX,\n"
+"@item NAS (Network Audio Server),\n"
+"@item RoarAudio (Modern, multi-OS, networked Sound System),\n"
+"@item OpenBSD's sndio.\n"
+"@end enumerate\n"
+msgstr ""
+
+#: gnu/packages/xiph.scm:249
+msgid "Free lossless audio codec"
+msgstr ""
+
+#: gnu/packages/xiph.scm:251
+msgid ""
+"FLAC stands for Free Lossless Audio Codec, an audio format that is lossless,\n"
+"meaning that audio is compressed in FLAC without any loss in quality."
+msgstr ""
+
+#: gnu/packages/xiph.scm:277
+msgid "Karaoke and text codec for embedding in ogg"
+msgstr ""
+
+#: gnu/packages/xiph.scm:279
+msgid ""
+"Kate is an overlay codec, originally designed for karaoke and text,\n"
+"that can be multiplixed in Ogg. Text and images can be carried by a Kate\n"
+"stream, and animated. Most of the time, this would be multiplexed with\n"
+"audio/video to carry subtitles, song lyrics (with or without karaoke data),\n"
+"etc., but doesn't have to be.\n"
+"\n"
+"Series of curves (splines, segments, etc.) may be attached to various\n"
+"properties (text position, font size, etc.) to create animated overlays.\n"
+"This allows scrolling or fading text to be defined. This can even be used\n"
+"to draw arbitrary shapes, so hand drawing can also be represented by a\n"
+"Kate stream."
+msgstr ""
+
+#: gnu/packages/xiph.scm:317
+msgid "Ogg vorbis tools"
+msgstr ""
+
+#: gnu/packages/xiph.scm:319
+msgid ""
+"Ogg vorbis is a non-proprietary, patent-and-royalty-free,\n"
+"general-purpose compressed audio format.\n"
+"\n"
+"The package vorbis-tools contains\n"
+"ogg123, an ogg vorbis command line audio player;\n"
+"oggenc, the ogg vorbis encoder;\n"
+"oggdec, a simple, portable command line decoder (to wav and raw);\n"
+"ogginfo, to obtain information (tags, bitrate, length, etc.) about\n"
+" an ogg vorbis file."
+msgstr ""
+
+#: gnu/packages/xiph.scm:343 gnu/packages/xiph.scm:406
+msgid "Versatile audio codec"
+msgstr ""
+
+#: gnu/packages/xiph.scm:345
+msgid ""
+"Opus is a totally open, royalty-free, highly versatile audio codec. Opus\n"
+"is unmatched for interactive speech and music transmission over the Internet,\n"
+"but is also intended for storage and streaming applications. It is\n"
+"standardized by the Internet Engineering Task Force (IETF) as RFC 6716 which\n"
+"incorporated technology from Skype's SILK codec and Xiph.Org's CELT codec."
+msgstr ""
+
+#: gnu/packages/xiph.scm:379
+msgid "Command line utilities to encode, inspect, and decode .opus files"
+msgstr ""
+
+#: gnu/packages/xiph.scm:380
+msgid ""
+"Opus is a royalty-free, highly versatile audio codec.\n"
+"Opus-tools provide command line utilities for creating, inspecting and\n"
+"decoding .opus files."
+msgstr ""
+
+#: gnu/packages/xiph.scm:408
+msgid ""
+"The opusfile library provides seeking, decode, and playback of Opus\n"
+"streams in the Ogg container (.opus files) including over http(s) on posix and\n"
+"windows systems."
+msgstr ""
+
+#: gnu/packages/xiph.scm:438
+msgid "Streaming media server"
+msgstr ""
+
+#: gnu/packages/xiph.scm:439
+msgid ""
+"Icecast is a streaming media server which currently supports\n"
+"Ogg (Vorbis and Theora), Opus, WebM and MP3 audio streams. It can be used to\n"
+"create an Internet radio station or a privately running jukebox and many\n"
+"things in between."
+msgstr ""
+
+#: gnu/packages/xiph.scm:467
+msgid "Audio streaming library for icecast encoders"
+msgstr ""
+
+#: gnu/packages/xiph.scm:469
+msgid ""
+"Libshout is a library for communicating with and sending data to an\n"
+"icecast server. It handles the socket connection, the timing of the data,\n"
+"and prevents bad data from getting to the icecast server."
+msgstr ""
+
+#: gnu/services/base.scm:212
+msgid ""
+"Populate the @file{/etc/fstab} based on the given file\n"
+"system objects."
+msgstr ""
+
+#: gnu/services/base.scm:356
+msgid ""
+"Provide Shepherd services to mount and unmount the given\n"
+"file systems, as well as corresponding @file{/etc/fstab} entries."
+msgstr ""
+
+#: gnu/services/base.scm:555
+msgid ""
+"Seed the @file{/dev/urandom} pseudo-random number\n"
+"generator (RNG) with the value recorded when the system was last shut\n"
+"down."
+msgstr ""
+
+#: gnu/services/base.scm:694
+msgid ""
+"Install the given fonts on the specified ttys (fonts are per\n"
+"virtual console on GNU/Linux). The value of this service is a list of\n"
+"tty/font pairs like:\n"
+"\n"
+"@example\n"
+"'((\"tty1\" . \"LatGrkCyr-8x16\"))\n"
+"@end example\n"
+msgstr ""
+
+#: gnu/services/base.scm:737
+msgid ""
+"Provide a console log-in service as specified by its\n"
+"configuration value, a @code{login-configuration} object."
+msgstr ""
+
+#: gnu/services/base.scm:956
+msgid ""
+"Provide console login using the @command{agetty}\n"
+"program."
+msgstr ""
+
+#: gnu/services/base.scm:1010
+msgid ""
+"Provide console login using the @command{mingetty}\n"
+"program."
+msgstr ""
+
+#: gnu/services/base.scm:1182
+msgid ""
+"Runs libc's @dfn{name service cache daemon} (nscd) with the\n"
+"given configuration---an @code{<nscd-configuration>} object. @xref{Name\n"
+"Service Switch}, for an example."
+msgstr ""
+
+#: gnu/services/base.scm:1282
+msgid ""
+"Install the specified resource usage limits by populating\n"
+"@file{/etc/security/limits.conf} and using the @code{pam_limits}\n"
+"authentication module."
+msgstr ""
+
+#: gnu/services/base.scm:1458
+msgid "Run the build daemon of GNU@tie{}Guix, aka. @command{guix-daemon}."
+msgstr ""
+
+#: gnu/services/base.scm:1558
+msgid ""
+"Add a Shepherd service running @command{guix publish}, a\n"
+"command that allows you to share pre-built binaries with others over HTTP."
+msgstr ""
+
+#: gnu/services/base.scm:1749
+msgid ""
+"Run @command{udev}, which populates the @file{/dev}\n"
+"directory dynamically. Get extra rules from the packages listed in the\n"
+"@code{rules} field of its value, @code{udev-configuration} object."
+msgstr ""
+
+#: gnu/services/base.scm:1824
+msgid ""
+"Run GPM, the general-purpose mouse daemon, with the given\n"
+"command-line options. GPM allows users to use the mouse in the console,\n"
+"notably to select, copy, and paste text. The default options use the\n"
+"@code{ps2} protocol, which works for both USB and PS/2 mice."
+msgstr ""
+
+#: gnu/services/networking.scm:258
+msgid ""
+"Turn up the specified network interfaces upon startup,\n"
+"with the given IP address, gateway, netmask, and so on. The value for\n"
+"services of this type is a list of @code{static-networking} objects, one per\n"
+"network interface."
+msgstr ""
+
+#: gnu/services/networking.scm:432
+msgid ""
+"Run the @command{ntpd}, the Network Time Protocol (NTP)\n"
+"daemon of the @uref{http://www.ntp.org, Network Time Foundation}. The daemon\n"
+"will keep the system clock synchronized with that of the given servers."
+msgstr ""
+
+#: gnu/services/networking.scm:534
+msgid ""
+"Start @command{inetd}, the @dfn{Internet superserver}. It is responsible\n"
+"for listening on Internet sockets and spawning the corresponding services on\n"
+"demand."
+msgstr ""
+
+#: gnu/services/networking.scm:689
+msgid ""
+"Run the @uref{https://torproject.org, Tor} anonymous\n"
+"networking daemon."
+msgstr ""
+
+#: gnu/services/networking.scm:712
+msgid "Define a new Tor @dfn{hidden service}."
+msgstr ""
+
+#: gnu/services/networking.scm:821
+msgid ""
+"Run @url{http://bitlbee.org,BitlBee}, a daemon that acts as\n"
+"a gateway between IRC and chat networks."
+msgstr ""
+
+#: gnu/services/networking.scm:888
+msgid ""
+"Run @url{https://launchpad.net/wicd,Wicd}, a network\n"
+"management daemon that aims to simplify wired and wireless networking."
+msgstr ""
+
+#: gnu/services/networking.scm:977
+msgid ""
+"Run @uref{https://wiki.gnome.org/Projects/NetworkManager,\n"
+"NetworkManager}, a network management daemon that aims to simplify wired and\n"
+"wireless networking."
+msgstr ""
+
+#: gnu/services/networking.scm:1035
+msgid ""
+"Run @url{https://01.org/connman,Connman},\n"
+"a network connection manager."
+msgstr ""
+
+#: gnu/services/networking.scm:1124
+msgid ""
+"Run @uref{http://www.openvswitch.org, Open vSwitch}, a multilayer virtual\n"
+"switch designed to enable massive network automation through programmatic\n"
+"extension."
+msgstr ""
diff --git a/tests/gexp.scm b/tests/gexp.scm
index 5873abdd41..3c8b4624da 100644
--- a/tests/gexp.scm
+++ b/tests/gexp.scm
@@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2014, 2015, 2016, 2017 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2014, 2015, 2016, 2017, 2018 Ludovic Courtès <ludo@gnu.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -25,6 +25,7 @@
#:use-module (guix packages)
#:use-module (guix tests)
#:use-module ((guix build utils) #:select (with-directory-excursion))
+ #:use-module ((guix utils) #:select (call-with-temporary-directory))
#:use-module (gnu packages)
#:use-module (gnu packages base)
#:use-module (gnu packages bootstrap)
@@ -418,6 +419,24 @@
(call-with-input-file out read))
(equal? (list guile) refs)))))
+(test-assertm "gexp->file + #:splice?"
+ (mlet* %store-monad ((exp -> (list
+ #~(define foo 'bar)
+ #~(define guile #$%bootstrap-guile)))
+ (guile (package-file %bootstrap-guile))
+ (drv (gexp->file "splice" exp #:splice? #t))
+ (out -> (derivation->output-path drv))
+ (done (built-derivations (list drv)))
+ (refs (references* out)))
+ (pk 'splice out)
+ (return (and (equal? `((define foo 'bar)
+ (define guile ,guile)
+ ,(call-with-input-string "" read))
+ (call-with-input-file out
+ (lambda (port)
+ (list (read port) (read port) (read port)))))
+ (equal? (list guile) refs)))))
+
(test-assertm "gexp->derivation"
(mlet* %store-monad ((file (text-file "foo" "Hello, world!"))
(exp -> (gexp
@@ -699,11 +718,12 @@
(test-assertm "gexp->derivation & with-imported-module & computed module"
(mlet* %store-monad
- ((module -> (scheme-file "x" #~(begin
+ ((module -> (scheme-file "x" #~(;; splice!
(define-module (foo bar)
#:export (the-answer))
- (define the-answer 42))))
+ (define the-answer 42))
+ #:splice? #t))
(build -> (with-imported-modules `(((foo bar) => ,module)
(guix build utils))
#~(begin
@@ -853,6 +873,37 @@
(return (and (zero? (close-pipe pipe))
(= (expt n 2) (string->number str)))))))
+(test-assertm "gexp->script #:module-path"
+ (call-with-temporary-directory
+ (lambda (directory)
+ (define str
+ "Fake (guix base32) module!")
+
+ (mkdir (string-append directory "/guix"))
+ (call-with-output-file (string-append directory "/guix/base32.scm")
+ (lambda (port)
+ (write `(begin (define-module (guix base32))
+ (define-public %fake! ,str))
+ port)))
+
+ (mlet* %store-monad ((exp -> (with-imported-modules '((guix base32))
+ (gexp (begin
+ (use-modules (guix base32))
+ (write (list %load-path
+ %fake!))))))
+ (drv (gexp->script "guile-thing" exp
+ #:guile %bootstrap-guile
+ #:module-path (list directory)))
+ (out -> (derivation->output-path drv))
+ (done (built-derivations (list drv))))
+ (let* ((pipe (open-input-pipe out))
+ (data (read pipe)))
+ (return (and (zero? (close-pipe pipe))
+ (match data
+ ((load-path str*)
+ (and (string=? str* str)
+ (not (member directory load-path))))))))))))
+
(test-assertm "program-file"
(let* ((n (random (expt 2 50)))
(exp (with-imported-modules '((guix build utils))
@@ -870,6 +921,33 @@
(return (and (zero? (close-pipe pipe))
(= n (string->number str)))))))))
+(test-assertm "program-file #:module-path"
+ (call-with-temporary-directory
+ (lambda (directory)
+ (define text (random-text))
+
+ (call-with-output-file (string-append directory "/stupid-module.scm")
+ (lambda (port)
+ (write `(begin (define-module (stupid-module))
+ (define-public %stupid-thing ,text))
+ port)))
+
+ (let* ((exp (with-imported-modules '((stupid-module))
+ (gexp (begin
+ (use-modules (stupid-module))
+ (display %stupid-thing)))))
+ (file (program-file "program" exp
+ #:guile %bootstrap-guile
+ #:module-path (list directory))))
+ (mlet* %store-monad ((drv (lower-object file))
+ (out -> (derivation->output-path drv)))
+ (mbegin %store-monad
+ (built-derivations (list drv))
+ (let* ((pipe (open-input-pipe out))
+ (str (get-string-all pipe)))
+ (return (and (zero? (close-pipe pipe))
+ (string=? text str))))))))))
+
(test-assertm "scheme-file"
(let* ((text (plain-file "foo" "Hello, world!"))
(scheme (scheme-file "bar" #~(list "foo" #$text))))
diff --git a/tests/graph.scm b/tests/graph.scm
index 00fd37243c..5faa19298a 100644
--- a/tests/graph.scm
+++ b/tests/graph.scm
@@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2015, 2016, 2017 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2015, 2016, 2017, 2018 Ludovic Courtès <ludo@gnu.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -271,6 +271,24 @@ edges."
(list txt out))
(equal? edges `((,txt ,out)))))))))))
+(test-assert "module graph"
+ (let-values (((backend nodes+edges) (make-recording-backend)))
+ (run-with-store %store
+ (export-graph '((gnu packages guile)) 'port
+ #:node-type %module-node-type
+ #:backend backend))
+
+ (let-values (((nodes edges) (nodes+edges)))
+ (and (member '(gnu packages guile)
+ (match nodes
+ (((ids labels) ...) ids)))
+ (->bool (and (member (list '(gnu packages guile)
+ '(gnu packages libunistring))
+ edges)
+ (member (list '(gnu packages guile)
+ '(gnu packages bdw-gc))
+ edges)))))))
+
(test-assert "node-edges"
(run-with-store %store
(let ((packages (fold-packages cons '())))
diff --git a/tests/guix-gc.sh b/tests/guix-gc.sh
index efbc7e759c..ef2d9543b7 100644
--- a/tests/guix-gc.sh
+++ b/tests/guix-gc.sh
@@ -1,5 +1,5 @@
# GNU Guix --- Functional package management for GNU
-# Copyright © 2013, 2015, 2017 Ludovic Courtès <ludo@gnu.org>
+# Copyright © 2013, 2015, 2017, 2018 Ludovic Courtès <ludo@gnu.org>
#
# This file is part of GNU Guix.
#
@@ -54,6 +54,9 @@ guix gc --references "$out/bin/guile"
if guix gc --references /dev/null;
then false; else true; fi
+# Check derivers.
+guix gc --derivers "$out" | grep "$drv"
+
# Add then reclaim a .drv file.
drv="`guix build idutils -d`"
test -f "$drv"
diff --git a/tests/guix-pack.sh b/tests/guix-pack.sh
new file mode 100644
index 0000000000..1b63b957be
--- /dev/null
+++ b/tests/guix-pack.sh
@@ -0,0 +1,83 @@
+# GNU Guix --- Functional package management for GNU
+# Copyright © 2018 Chris Marusich <cmmarusich@gmail.com>
+#
+# This file is part of GNU Guix.
+#
+# GNU Guix is free software; you can redistribute it and/or modify it
+# under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3 of the License, or (at
+# your option) any later version.
+#
+# GNU Guix is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
+
+#
+# Test the `guix pack' command-line utility.
+#
+
+# A network connection is required to build %bootstrap-coreutils&co,
+# which is required to run these tests with the --bootstrap option.
+if ! guile -c '(getaddrinfo "www.gnu.org" "80" AI_NUMERICSERV)' 2> /dev/null; then
+ exit 77
+fi
+
+guix pack --version
+
+# Use --no-substitutes because we need to verify we can do this ourselves.
+GUIX_BUILD_OPTIONS="--no-substitutes"
+export GUIX_BUILD_OPTIONS
+
+# Build a tarball with no compression.
+guix pack --compression=none --bootstrap guile-bootstrap
+
+# Build a tarball (with compression).
+guix pack --bootstrap guile-bootstrap
+
+# Build a tarball with a symlink.
+the_pack="`guix pack --bootstrap -S /opt/gnu/bin=bin guile-bootstrap`"
+
+# Try to extract it.
+test_directory="`mktemp -d`"
+trap 'rm -rf "$test_directory"' EXIT
+cd "$test_directory"
+tar -xf "$the_pack"
+test -x opt/gnu/bin/guile
+
+is_available () {
+ # Use the "type" shell builtin to see if the program is on PATH.
+ type "$1" > /dev/null
+}
+
+if is_available chroot && is_available unshare; then
+ # Verify we can use what we built.
+ unshare -r chroot . /opt/gnu/bin/guile --version
+ cd -
+else
+ echo "warning: skipped some verification because chroot or unshare is unavailable" >&2
+fi
+
+# For the tests that build Docker images below, we currently have to use
+# --dry-run because if we don't, there are only two possible cases:
+#
+# Case 1: We do not use --bootstrap, and the build takes hours to finish
+# because it needs to build tar etc.
+#
+# Case 2: We use --bootstrap, and the build fails because the bootstrap
+# Guile cannot dlopen shared libraries. Not to mention the fact
+# that we would still have to build many non-bootstrap inputs
+# (e.g., guile-json) in order to create the Docker image.
+
+# Build a Docker image.
+guix pack --dry-run --bootstrap -f docker guile-bootstrap
+
+# Build a Docker image with a symlink.
+guix pack --dry-run --bootstrap -f docker -S /opt/gnu=/ guile-bootstrap
+
+# Build a tarball pack of cross-compiled software. Use coreutils because
+# guile-bootstrap is not intended to be cross-compiled.
+guix pack --dry-run --bootstrap --target=arm-unknown-linux-gnueabihf coreutils
diff --git a/tests/guix-package.sh b/tests/guix-package.sh
index 760a2e4c9b..aa5eaa66e7 100644
--- a/tests/guix-package.sh
+++ b/tests/guix-package.sh
@@ -60,6 +60,14 @@ test -L "$profile" && test -L "$profile-1-link"
! test -f "$profile-2-link"
test -f "$profile/bin/guile"
+# Collisions are properly flagged (in this case, 'python-wrapper' propagates
+# python@3, which conflicts with python@2.)
+if guix package --bootstrap -n -p "$profile" -i python@2 python-wrapper
+then false; else true; fi
+
+guix package --bootstrap -n -p "$profile" -i python@2 python-wrapper \
+ --allow-collisions
+
# No search path env. var. here.
guix package -p "$profile" --search-paths
guix package -p "$profile" --search-paths | grep '^export PATH='
diff --git a/tests/guix-system.sh b/tests/guix-system.sh
index ed8563c8aa..211c26f43d 100644
--- a/tests/guix-system.sh
+++ b/tests/guix-system.sh
@@ -1,6 +1,7 @@
# GNU Guix --- Functional package management for GNU
# Copyright © 2014, 2015, 2016, 2017 Ludovic Courtès <ludo@gnu.org>
# Copyright © 2017 Tobias Geerinckx-Rice <me@tobias.gr>
+# Copyright © 2018 Chris Marusich <cmmarusich@gmail.com>
#
# This file is part of GNU Guix.
#
@@ -267,3 +268,19 @@ guix system build "$tmpdir/config.scm" -n
# Searching.
guix system search tor | grep "^name: tor"
guix system search anonym network | grep "^name: tor"
+
+# Below, use -n (--dry-run) for the tests because if we actually tried to
+# build these images, the commands would take hours to run in the worst case.
+
+# Verify that the examples can be built.
+for example in gnu/system/examples/*; do
+ guix system -n disk-image $example
+done
+
+# Verify that the disk image types can be built.
+guix system -n vm gnu/system/examples/vm-image.tmpl
+guix system -n vm-image gnu/system/examples/vm-image.tmpl
+# This invocation was taken care of in the loop above:
+# guix system -n disk-image gnu/system/examples/bare-bones.tmpl
+guix system -n disk-image --file-system-type=iso9660 gnu/system/examples/bare-bones.tmpl
+guix system -n docker-image gnu/system/examples/docker-image.tmpl
diff --git a/tests/syscalls.scm b/tests/syscalls.scm
index 22ca2a05d4..0d07280b99 100644
--- a/tests/syscalls.scm
+++ b/tests/syscalls.scm
@@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2014, 2015, 2016, 2017 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2014, 2015, 2016, 2017, 2018 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2015 David Thompson <davet@gnu.org>
;;;
;;; This file is part of GNU Guix.
@@ -151,7 +151,13 @@
;; XXX: Skip this test when running Linux > 4.7.5 to work around
;; <https://bugzilla.kernel.org/show_bug.cgi?id=183461>.
(when (or (not perform-container-tests?)
- (version>? (utsname:release (uname)) "4.7.5"))
+ (version>? (utsname:release (uname)) "4.7.5")
+
+ ;; Skip on Ubuntu's 4.4 kernels, which contain a backport of the
+ ;; faulty code: <https://bugs.gnu.org/25476>.
+ (member (utsname:release (uname))
+ '("4.4.0-21-generic" "4.4.0-59-generic"
+ "4.4.0-116-generic")))
(test-skip 1))
(test-equal "pivot-root"
#t
diff --git a/tests/union.scm b/tests/union.scm
index b63edc757b..aa95cae001 100644
--- a/tests/union.scm
+++ b/tests/union.scm
@@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2012, 2013, 2014, 2015, 2017 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2012, 2013, 2014, 2015, 2017, 2018 Ludovic Courtès <ludo@gnu.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -124,6 +124,46 @@
;; new 'bin' sub-directory in the profile.
(eq? 'directory (stat:type (lstat "bin"))))))))
+(test-assert "union-build collision first & last"
+ (let* ((guile (package-derivation %store %bootstrap-guile))
+ (fake (build-expression->derivation
+ %store "fake-guile"
+ '(begin
+ (use-modules (guix build utils))
+ (let ((out (assoc-ref %outputs "out")))
+ (mkdir-p (string-append out "/bin"))
+ (call-with-output-file (string-append out "/bin/guile")
+ (const #t))))
+ #:modules '((guix build utils))))
+ (builder (lambda (policy)
+ `(begin
+ (use-modules (guix build union)
+ (srfi srfi-1))
+ (union-build (assoc-ref %outputs "out")
+ (map cdr %build-inputs)
+ #:resolve-collision ,policy))))
+ (drv1
+ (build-expression->derivation %store "union-first"
+ (builder 'first)
+ #:inputs `(("guile" ,guile)
+ ("fake" ,fake))
+ #:modules '((guix build union))))
+ (drv2
+ (build-expression->derivation %store "union-last"
+ (builder 'last)
+ #:inputs `(("guile" ,guile)
+ ("fake" ,fake))
+ #:modules '((guix build union)))))
+ (and (build-derivations %store (list drv1 drv2))
+ (with-directory-excursion (derivation->output-path drv1)
+ (string=? (readlink "bin/guile")
+ (string-append (derivation->output-path guile)
+ "/bin/guile")))
+ (with-directory-excursion (derivation->output-path drv2)
+ (string=? (readlink "bin/guile")
+ (string-append (derivation->output-path fake)
+ "/bin/guile"))))))
+
(test-assert "union-build #:create-all-directories? #t"
(let* ((build `(begin
(use-modules (guix build union))