summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2017-03-09 16:35:41 +0100
committerLudovic Courtès <ludo@gnu.org>2017-03-09 16:35:41 +0100
commite90e0fad1b3ba79d81f02424e143ee6f4f736e8b (patch)
tree2c26190fd9114199b0ef79303e18a61100cab4af
parent8ea0700d231a8819fc7e8332e9685f0ce15c174e (diff)
parent9ec2a4d3fec44f08a55df9f5f3d1a04b83e7fcf6 (diff)
Merge branch 'master' into core-updates
-rw-r--r--.gitignore5
-rw-r--r--Makefile.am25
-rw-r--r--build-aux/hydra/gnu-system.scm7
-rw-r--r--build-aux/pre-inst-env.in15
-rw-r--r--doc/guix.texi188
-rw-r--r--etc/guix-daemon.conf.in2
-rw-r--r--etc/guix-daemon.service.in2
-rw-r--r--etc/guix-publish.conf.in2
-rw-r--r--etc/guix-publish.service.in2
-rw-r--r--gnu/build/file-systems.scm66
-rw-r--r--gnu/local.mk24
-rw-r--r--gnu/packages.scm28
-rw-r--r--gnu/packages/admin.scm43
-rw-r--r--gnu/packages/algebra.scm19
-rw-r--r--gnu/packages/astronomy.scm46
-rw-r--r--gnu/packages/audio.scm14
-rw-r--r--gnu/packages/aux-files/emacs/guix-emacs.el (renamed from emacs/guix-emacs.el)21
-rw-r--r--gnu/packages/aux-files/linux-libre/4.1-i686.conf (renamed from gnu/packages/linux-libre-4.1-i686.conf)0
-rw-r--r--gnu/packages/aux-files/linux-libre/4.1-x86_64.conf (renamed from gnu/packages/linux-libre-4.1-x86_64.conf)0
-rw-r--r--gnu/packages/aux-files/linux-libre/4.10-i686.conf (renamed from gnu/packages/linux-libre-4.10-i686.conf)0
-rw-r--r--gnu/packages/aux-files/linux-libre/4.10-x86_64.conf (renamed from gnu/packages/linux-libre-4.10-x86_64.conf)0
-rw-r--r--gnu/packages/aux-files/linux-libre/4.4-i686.conf (renamed from gnu/packages/linux-libre-4.4-i686.conf)0
-rw-r--r--gnu/packages/aux-files/linux-libre/4.4-x86_64.conf (renamed from gnu/packages/linux-libre-4.4-x86_64.conf)0
-rw-r--r--gnu/packages/aux-files/linux-libre/4.9-i686.conf (renamed from gnu/packages/linux-libre-4.9-i686.conf)0
-rw-r--r--gnu/packages/aux-files/linux-libre/4.9-x86_64.conf (renamed from gnu/packages/linux-libre-4.9-x86_64.conf)0
-rw-r--r--gnu/packages/backup.scm58
-rw-r--r--gnu/packages/bash.scm5
-rw-r--r--gnu/packages/benchmark.scm6
-rw-r--r--gnu/packages/bioinformatics.scm47
-rw-r--r--gnu/packages/bootstrap.scm1
-rw-r--r--gnu/packages/calendar.scm9
-rw-r--r--gnu/packages/cdrom.scm25
-rw-r--r--gnu/packages/certs.scm4
-rw-r--r--gnu/packages/check.scm44
-rw-r--r--gnu/packages/compression.scm22
-rw-r--r--gnu/packages/curl.scm4
-rw-r--r--gnu/packages/databases.scm41
-rw-r--r--gnu/packages/dav.scm6
-rw-r--r--gnu/packages/disk.scm4
-rw-r--r--gnu/packages/django.scm13
-rw-r--r--gnu/packages/education.scm38
-rw-r--r--gnu/packages/emacs.scm48
-rw-r--r--gnu/packages/embedded.scm53
-rw-r--r--gnu/packages/engineering.scm24
-rw-r--r--gnu/packages/enlightenment.scm16
-rw-r--r--gnu/packages/finance.scm1
-rw-r--r--gnu/packages/fontutils.scm4
-rw-r--r--gnu/packages/freedesktop.scm4
-rw-r--r--gnu/packages/ftp.scm77
-rw-r--r--gnu/packages/game-development.scm24
-rw-r--r--gnu/packages/games.scm65
-rw-r--r--gnu/packages/ghostscript.scm3
-rw-r--r--gnu/packages/gnome.scm12
-rw-r--r--gnu/packages/gnunet.scm10
-rw-r--r--gnu/packages/gnupg.scm37
-rw-r--r--gnu/packages/gnuzilla.scm101
-rw-r--r--gnu/packages/gstreamer.scm34
-rw-r--r--gnu/packages/guile.scm93
-rw-r--r--gnu/packages/image-viewers.scm28
-rw-r--r--gnu/packages/image.scm4
-rw-r--r--gnu/packages/imagemagick.scm13
-rw-r--r--gnu/packages/java.scm1016
-rw-r--r--gnu/packages/jemalloc.scm4
-rw-r--r--gnu/packages/jrnl.scm2
-rw-r--r--gnu/packages/kde-frameworks.scm1
-rw-r--r--gnu/packages/kde.scm14
-rw-r--r--gnu/packages/ldc.scm14
-rw-r--r--gnu/packages/libevent.scm82
-rw-r--r--gnu/packages/lighting.scm4
-rw-r--r--gnu/packages/linux.scm69
-rw-r--r--gnu/packages/lisp.scm76
-rw-r--r--gnu/packages/lua.scm12
-rw-r--r--gnu/packages/machine-learning.scm25
-rw-r--r--gnu/packages/mail.scm62
-rw-r--r--gnu/packages/man.scm4
-rw-r--r--gnu/packages/markdown.scm4
-rw-r--r--gnu/packages/maths.scm66
-rw-r--r--gnu/packages/messaging.scm7
-rw-r--r--gnu/packages/mp3.scm9
-rw-r--r--gnu/packages/music.scm2
-rw-r--r--gnu/packages/nano.scm13
-rw-r--r--gnu/packages/networking.scm36
-rw-r--r--gnu/packages/openstack.scm143
-rw-r--r--gnu/packages/package-management.scm17
-rw-r--r--gnu/packages/password-utils.scm9
-rw-r--r--gnu/packages/patches/arb-ldconfig.patch22
-rw-r--r--gnu/packages/patches/gnupg-2.1-fix-Y2038-test-failure.patch67
-rw-r--r--gnu/packages/patches/gst-plugins-base-fix-test-on-32bit.patch32
-rw-r--r--gnu/packages/patches/jacal-fix-texinfo.patch92
-rw-r--r--gnu/packages/patches/kio-CVE-2017-6410.patch53
-rw-r--r--gnu/packages/patches/libssh-0.6.5-CVE-2016-0739.patch77
-rw-r--r--gnu/packages/patches/matplotlib-setupext-tk.patch34
-rw-r--r--gnu/packages/patches/mupdf-CVE-2017-5896.patch63
-rw-r--r--gnu/packages/patches/mupdf-CVE-2017-5991.patch101
-rw-r--r--gnu/packages/patches/nss-pkgconfig.patch4
-rw-r--r--gnu/packages/patches/pcre2-CVE-2016-3191.patch179
-rw-r--r--gnu/packages/patches/python-dendropy-fix-tests.patch41
-rw-r--r--gnu/packages/patches/python-fake-factory-fix-build-32bit.patch36
-rw-r--r--gnu/packages/patches/python-faker-fix-build-32bit.patch36
-rw-r--r--gnu/packages/patches/python-pandas-skip-failing-tests.patch59
-rw-r--r--gnu/packages/patches/python-pbr-fix-man-page-support.patch28
-rw-r--r--gnu/packages/patches/python-pygit2-disable-network-tests.patch64
-rw-r--r--gnu/packages/patches/python-pyopenssl-skip-network-test.patch50
-rw-r--r--gnu/packages/patches/python-statsmodels-fix-tests.patch224
-rw-r--r--gnu/packages/patches/python2-subprocess32-disable-input-test.patch18
-rw-r--r--gnu/packages/patches/screen-CVE-2017-5618.patch40
-rw-r--r--gnu/packages/patches/shadow-CVE-2017-2616.patch72
-rw-r--r--gnu/packages/patches/texlive-texmf-CVE-2016-10243.patch18
-rw-r--r--gnu/packages/patches/util-linux-CVE-2017-2616.patch65
-rw-r--r--gnu/packages/patches/vdirsyncer-test-suite-slow-machines.patch42
-rw-r--r--gnu/packages/patches/vim-CVE-2017-5953.patch18
-rw-r--r--gnu/packages/patches/wxwidgets-fix-windowGTK.patch18
-rw-r--r--gnu/packages/pciutils.scm4
-rw-r--r--gnu/packages/pcre.scm15
-rw-r--r--gnu/packages/pdf.scm9
-rw-r--r--gnu/packages/perl.scm317
-rw-r--r--gnu/packages/photo.scm37
-rw-r--r--gnu/packages/plotutils.scm4
-rw-r--r--gnu/packages/python.scm1525
-rw-r--r--gnu/packages/qemu.scm30
-rw-r--r--gnu/packages/rdf.scm22
-rw-r--r--gnu/packages/regex.scm4
-rw-r--r--gnu/packages/ruby.scm37
-rw-r--r--gnu/packages/scheme.scm103
-rw-r--r--gnu/packages/screen.scm6
-rw-r--r--gnu/packages/shells.scm4
-rw-r--r--gnu/packages/spice.scm2
-rw-r--r--gnu/packages/ssh.scm8
-rw-r--r--gnu/packages/statistics.scm80
-rw-r--r--gnu/packages/suckless.scm42
-rw-r--r--gnu/packages/telephony.scm16
-rw-r--r--gnu/packages/terminals.scm3
-rw-r--r--gnu/packages/tex.scm2
-rw-r--r--gnu/packages/tls.scm42
-rw-r--r--gnu/packages/tor.scm4
-rw-r--r--gnu/packages/version-control.scm23
-rw-r--r--gnu/packages/video.scm24
-rw-r--r--gnu/packages/vim.scm337
-rw-r--r--gnu/packages/vpn.scm8
-rw-r--r--gnu/packages/web.scm63
-rw-r--r--gnu/packages/wine.scm2
-rw-r--r--gnu/packages/wm.scm27
-rw-r--r--gnu/packages/wxwidgets.scm5
-rw-r--r--gnu/packages/xdisorg.scm142
-rw-r--r--gnu/packages/xml.scm65
-rw-r--r--gnu/packages/xorg.scm60
-rw-r--r--gnu/services/base.scm240
-rw-r--r--gnu/services/messaging.scm15
-rw-r--r--gnu/services/ssh.scm8
-rw-r--r--gnu/system.scm9
-rw-r--r--gnu/system/examples/lightweight-desktop.tmpl6
-rw-r--r--gnu/system/grub.scm2
-rw-r--r--gnu/system/vm.scm106
-rw-r--r--guix/build-system/cargo.scm3
-rw-r--r--guix/build/python-build-system.scm14
-rw-r--r--guix/download.scm4
-rw-r--r--guix/gexp.scm3
-rw-r--r--guix/scripts/archive.scm2
-rw-r--r--guix/ui.scm33
-rw-r--r--guix/utils.scm4
-rw-r--r--nix/local.mk4
-rw-r--r--nix/scripts/list-runtime-roots.in5
-rw-r--r--tests/cran.scm3
-rw-r--r--tests/hash.scm3
-rw-r--r--tests/nar.scm3
-rw-r--r--tests/ui.scm11
166 files changed, 5816 insertions, 2465 deletions
diff --git a/.gitignore b/.gitignore
index 0897c95f3e4..1fc22d7e93d 100644
--- a/.gitignore
+++ b/.gitignore
@@ -44,11 +44,6 @@
44/doc/os-config-desktop.texi 44/doc/os-config-desktop.texi
45/doc/stamp-vti 45/doc/stamp-vti
46/doc/version.texi 46/doc/version.texi
47/emacs/Makefile
48/emacs/Makefile.in
49/emacs/guix-autoloads.el
50/emacs/guix-config.el
51/emacs/guix-helper.scm
52/etc/guix-daemon.conf 47/etc/guix-daemon.conf
53/etc/guix-daemon.service 48/etc/guix-daemon.service
54/etc/guix-publish.conf 49/etc/guix-publish.conf
diff --git a/Makefile.am b/Makefile.am
index 1d01c1626eb..cda49bd9ecd 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -1,7 +1,7 @@
1# GNU Guix --- Functional package management for GNU 1# GNU Guix --- Functional package management for GNU
2# Copyright © 2012, 2013, 2014, 2015, 2016, 2017 Ludovic Courtès <ludo@gnu.org> 2# Copyright © 2012, 2013, 2014, 2015, 2016, 2017 Ludovic Courtès <ludo@gnu.org>
3# Copyright © 2013 Andreas Enge <andreas@enge.fr> 3# Copyright © 2013 Andreas Enge <andreas@enge.fr>
4# Copyright © 2015 Alex Kost <alezost@gmail.com> 4# Copyright © 2015, 2017 Alex Kost <alezost@gmail.com>
5# Copyright © 2016 Mathieu Lirzin <mthl@gnu.org> 5# Copyright © 2016 Mathieu Lirzin <mthl@gnu.org>
6# Copyright © 2016, 2017 Mark H Weaver <mhw@netris.org> 6# Copyright © 2016, 2017 Mark H Weaver <mhw@netris.org>
7# 7#
@@ -196,16 +196,17 @@ endif BUILD_DAEMON_OFFLOAD
196# Internal modules with test suite support. 196# Internal modules with test suite support.
197dist_noinst_DATA = guix/tests.scm guix/tests/http.scm 197dist_noinst_DATA = guix/tests.scm guix/tests/http.scm
198 198
199# Linux-Libre configurations. 199# Auxiliary files for packages.
200KCONFIGS = \ 200AUX_FILES = \
201 gnu/packages/linux-libre-4.10-i686.conf \ 201 gnu/packages/aux-files/emacs/guix-emacs.el \
202 gnu/packages/linux-libre-4.10-x86_64.conf \ 202 gnu/packages/aux-files/linux-libre/4.10-i686.conf \
203 gnu/packages/linux-libre-4.9-i686.conf \ 203 gnu/packages/aux-files/linux-libre/4.10-x86_64.conf \
204 gnu/packages/linux-libre-4.9-x86_64.conf \ 204 gnu/packages/aux-files/linux-libre/4.9-i686.conf \
205 gnu/packages/linux-libre-4.4-i686.conf \ 205 gnu/packages/aux-files/linux-libre/4.9-x86_64.conf \
206 gnu/packages/linux-libre-4.4-x86_64.conf \ 206 gnu/packages/aux-files/linux-libre/4.4-i686.conf \
207 gnu/packages/linux-libre-4.1-i686.conf \ 207 gnu/packages/aux-files/linux-libre/4.4-x86_64.conf \
208 gnu/packages/linux-libre-4.1-x86_64.conf 208 gnu/packages/aux-files/linux-libre/4.1-i686.conf \
209 gnu/packages/aux-files/linux-libre/4.1-x86_64.conf
209 210
210# Templates, examples. 211# Templates, examples.
211EXAMPLES = \ 212EXAMPLES = \
@@ -216,7 +217,7 @@ EXAMPLES = \
216GOBJECTS = $(MODULES:%.scm=%.go) guix/config.go $(dist_noinst_DATA:%.scm=%.go) 217GOBJECTS = $(MODULES:%.scm=%.go) guix/config.go $(dist_noinst_DATA:%.scm=%.go)
217 218
218nobase_dist_guilemodule_DATA = \ 219nobase_dist_guilemodule_DATA = \
219 $(MODULES) $(KCONFIGS) $(EXAMPLES) \ 220 $(MODULES) $(AUX_FILES) $(EXAMPLES) \
220 $(MISC_DISTRO_FILES) 221 $(MISC_DISTRO_FILES)
221nobase_nodist_guilemodule_DATA = $(GOBJECTS) guix/config.scm 222nobase_nodist_guilemodule_DATA = $(GOBJECTS) guix/config.scm
222 223
diff --git a/build-aux/hydra/gnu-system.scm b/build-aux/hydra/gnu-system.scm
index 53fa637f144..a4893f198c5 100644
--- a/build-aux/hydra/gnu-system.scm
+++ b/build-aux/hydra/gnu-system.scm
@@ -259,14 +259,17 @@ valid."
259 ;; prevents known-to-fail cross-builds from i686-linux or armhf-linux to 259 ;; prevents known-to-fail cross-builds from i686-linux or armhf-linux to
260 ;; mips64el-linux-gnuabi64. 260 ;; mips64el-linux-gnuabi64.
261 (and (or (string-prefix? "i686-" system) 261 (and (or (string-prefix? "i686-" system)
262 (string-prefix? "i586-" system)
262 (string-prefix? "armhf-" system)) 263 (string-prefix? "armhf-" system))
263 (string-suffix? "64" target))) 264 (string-contains target "64"))) ;x86_64, mips64el, aarch64, etc.
264 265
265 (define (same? target) 266 (define (same? target)
266 ;; Return true if SYSTEM and TARGET are the same thing. This is so we 267 ;; Return true if SYSTEM and TARGET are the same thing. This is so we
267 ;; don't try to cross-compile to 'mips64el-linux-gnu' from 268 ;; don't try to cross-compile to 'mips64el-linux-gnu' from
268 ;; 'mips64el-linux'. 269 ;; 'mips64el-linux'.
269 (string-contains target system)) 270 (or (string-contains target system)
271 (and (string-prefix? "armhf" system) ;armhf-linux
272 (string-prefix? "arm" target)))) ;arm-linux-gnueabihf
270 273
271 (define (pointless? target) 274 (define (pointless? target)
272 ;; Return #t if it makes no sense to cross-build to TARGET from SYSTEM. 275 ;; Return #t if it makes no sense to cross-build to TARGET from SYSTEM.
diff --git a/build-aux/pre-inst-env.in b/build-aux/pre-inst-env.in
index fe56da69448..dca26996877 100644
--- a/build-aux/pre-inst-env.in
+++ b/build-aux/pre-inst-env.in
@@ -1,7 +1,7 @@
1#!/bin/sh 1#!/bin/sh
2 2
3# GNU Guix --- Functional package management for GNU 3# GNU Guix --- Functional package management for GNU
4# Copyright © 2012, 2013, 2014, 2015 Ludovic Courtès <ludo@gnu.org> 4# Copyright © 2012, 2013, 2014, 2015, 2017 Ludovic Courtès <ludo@gnu.org>
5# 5#
6# This file is part of GNU Guix. 6# This file is part of GNU Guix.
7# 7#
@@ -45,11 +45,18 @@ export PATH
45 45
46NIX_ROOT_FINDER="$abs_top_builddir/nix/scripts/list-runtime-roots" 46NIX_ROOT_FINDER="$abs_top_builddir/nix/scripts/list-runtime-roots"
47NIX_SUBSTITUTERS="$abs_top_builddir/nix/scripts/substitute" 47NIX_SUBSTITUTERS="$abs_top_builddir/nix/scripts/substitute"
48NIX_BUILD_HOOK="$abs_top_builddir/nix/scripts/offload"
49NIX_LIBEXEC_DIR="@abs_top_builddir@/nix/scripts" # for 'guix-authenticate' 48NIX_LIBEXEC_DIR="@abs_top_builddir@/nix/scripts" # for 'guix-authenticate'
50 49
51export NIX_ROOT_FINDER NIX_SUBSTITUTERS \ 50export NIX_ROOT_FINDER NIX_SUBSTITUTERS NIX_LIBEXEC_DIR
52 NIX_BUILD_HOOK NIX_LIBEXEC_DIR 51
52NIX_BUILD_HOOK="$abs_top_builddir/nix/scripts/offload"
53if [ -x "$NIX_BUILD_HOOK" ]
54then
55 export NIX_BUILD_HOOK
56else
57 # No offloading support.
58 unset NIX_BUILD_HOOK
59fi
53 60
54# The 'guix-register' program. 61# The 'guix-register' program.
55GUIX_REGISTER="$abs_top_builddir/guix-register" 62GUIX_REGISTER="$abs_top_builddir/guix-register"
diff --git a/doc/guix.texi b/doc/guix.texi
index 8b97920f217..a537433bf60 100644
--- a/doc/guix.texi
+++ b/doc/guix.texi
@@ -443,8 +443,15 @@ Run the daemon, and set it to automatically start on boot.
443If your host distro uses the systemd init system, this can be achieved 443If your host distro uses the systemd init system, this can be achieved
444with these commands: 444with these commands:
445 445
446@c Versions of systemd that supported symlinked service files are not
447@c yet widely deployed, so we should suggest that users copy the service
448@c files into place.
449@c
450@c See this thread for more information:
451@c http://lists.gnu.org/archive/html/guix-devel/2017-01/msg01199.html
452
446@example 453@example
447# ln -s ~root/.guix-profile/lib/systemd/system/guix-daemon.service \ 454# cp ~root/.guix-profile/lib/systemd/system/guix-daemon.service \
448 /etc/systemd/system/ 455 /etc/systemd/system/
449# systemctl start guix-daemon && systemctl enable guix-daemon 456# systemctl start guix-daemon && systemctl enable guix-daemon
450@end example 457@end example
@@ -452,8 +459,8 @@ with these commands:
452If your host distro uses the Upstart init system: 459If your host distro uses the Upstart init system:
453 460
454@example 461@example
455# ln -s ~root/.guix-profile/lib/upstart/system/guix-daemon.conf /etc/init/
456# initctl reload-configuration 462# initctl reload-configuration
463# cp ~root/.guix-profile/lib/upstart/system/guix-daemon.conf /etc/init/
457# start guix-daemon 464# start guix-daemon
458@end example 465@end example
459 466
@@ -8396,7 +8403,7 @@ other things.
8396 8403
8397@deftp {Data Type} mingetty-configuration 8404@deftp {Data Type} mingetty-configuration
8398This is the data type representing the configuration of Mingetty, which 8405This is the data type representing the configuration of Mingetty, which
8399implements console log-in. 8406provides the default implementation of virtual console log-in.
8400 8407
8401@table @asis 8408@table @asis
8402 8409
@@ -8423,6 +8430,172 @@ The Mingetty package to use.
8423@end table 8430@end table
8424@end deftp 8431@end deftp
8425 8432
8433@deffn {Scheme Procedure} agetty-service @var{config}
8434Return a service to run agetty according to @var{config}, an
8435@code{<agetty-configuration>} object, which specifies the tty to run,
8436among other things.
8437@end deffn
8438
8439@deftp {Data Type} agetty-configuration
8440This is the data type representing the configuration of agetty, which
8441implements virtual and serial console log-in. See the @code{agetty(8)}
8442man page for more information.
8443
8444@table @asis
8445
8446@item @code{tty}
8447The name of the console this agetty runs on, as a string---e.g.,
8448@code{"ttyS0"}. This argument is mandatory.
8449
8450@item @code{baud-rate} (default: @code{#f})
8451A string containing a comma-separated list of one or more baud rates, in
8452descending order.
8453
8454@item @code{term} (default: @code{#f})
8455A string containing the value used for the @code{TERM} environment
8456variable.
8457
8458@item @code{eight-bits?} (default: @code{#f})
8459When @code{#t}, the tty is assumed to be 8-bit clean, and parity detection is
8460disabled.
8461
8462@item @code{auto-login} (default: @code{#f})
8463When passed a login name, as a string, the specified user will be logged
8464in automatically without prompting for their login name or password.
8465
8466@item @code{no-reset?} (default: @code{#f})
8467When @code{#t}, don't reset terminal cflags (control modes).
8468
8469@item @code{host} (default: @code{#f})
8470This accepts a string containing the "login_host", which will be written
8471into the @file{/var/run/utmpx} file.
8472
8473@item @code{remote?} (default: @code{#f})
8474When set to @code{#t} in conjunction with @var{host}, this will add an
8475@code{-r} fakehost option to the command line of the login program
8476specified in @var{login-program}.
8477
8478@item @code{flow-control?} (default: @code{#f})
8479When set to @code{#t}, enable hardware (RTS/CTS) flow control.
8480
8481@item @code{no-issue?} (default: @code{#f})
8482When set to @code{#t}, the contents of the @file{/etc/issue} file will
8483not be displayed before presenting the login prompt.
8484
8485@item @code{init-string} (default: @code{#f})
8486This accepts a string that will be sent to the tty or modem before
8487sending anything else. It can be used to initialize a modem.
8488
8489@item @code{no-clear?} (default: @code{#f})
8490When set to @code{#t}, agetty will not clear the screen before showing
8491the login prompt.
8492
8493@item @code{login-program} (default: (file-append shadow "/bin/login"))
8494This must be either a gexp denoting the name of a log-in program, or
8495unset, in which case the default value is the @command{login} from the
8496Shadow tool suite.
8497
8498@item @code{local-line} (default: @code{#f})
8499Control the CLOCAL line flag. This accepts one of three symbols as
8500arguments, @code{'auto}, @code{'always}, or @code{'never}. If @code{#f},
8501the default value chosen by agetty is @code{'auto}.
8502
8503@item @code{extract-baud?} (default: @code{#f})
8504When set to @code{#t}, instruct agetty to try to extract the baud rate
8505from the status messages produced by certain types of modems.
8506
8507@item @code{skip-login?} (default: @code{#f})
8508When set to @code{#t}, do not prompt the user for a login name. This
8509can be used with @var{login-program} field to use non-standard login
8510systems.
8511
8512@item @code{no-newline?} (default: @code{#f})
8513When set to @code{#t}, do not print a newline before printing the
8514@file{/etc/issue} file.
8515
8516@c Is this dangerous only when used with login-program, or always?
8517@item @code{login-options} (default: @code{#f})
8518This option accepts a string containing options that are passed to the
8519login program. When used with the @var{login-program}, be aware that a
8520malicious user could try to enter a login name containing embedded
8521options that could be parsed by the login program.
8522
8523@item @code{login-pause} (default: @code{#f})
8524When set to @code{#t}, wait for any key before showing the login prompt.
8525This can be used in conjunction with @var{auto-login} to save memory by
8526lazily spawning shells.
8527
8528@item @code{chroot} (default: @code{#f})
8529Change root to the specified directory. This option accepts a directory
8530path as a string.
8531
8532@item @code{hangup?} (default: @code{#f})
8533Use the Linux system call @code{vhangup} to do a virtual hangup of the
8534specified terminal.
8535
8536@item @code{keep-baud?} (default: @code{#f})
8537When set to @code{#t}, try to keep the existing baud rate. The baud
8538rates from @var{baud-rate} are used when agetty receives a @key{BREAK}
8539character.
8540
8541@item @code{timeout} (default: @code{#f})
8542When set to an integer value, terminate if no user name could be read
8543within @var{timeout} seconds.
8544
8545@item @code{detect-case?} (default: @code{#f})
8546When set to @code{#t}, turn on support for detecting an uppercase-only
8547terminal. This setting will detect a login name containing only
8548uppercase letters as indicating an uppercase-only terminal and turn on
8549some upper-to-lower case conversions. Note that this will not support
8550Unicode characters.
8551
8552@item @code{wait-cr?} (default: @code{#f})
8553When set to @code{#t}, wait for the user or modem to send a
8554carriage-return or linefeed character before displaying
8555@file{/etc/issue} or login prompt. This is typically used with the
8556@var{init-string} option.
8557
8558@item @code{no-hints?} (default: @code{#f})
8559When set to @code{#t}, do not print hints about Num, Caps, and Scroll
8560locks.
8561
8562@item @code{no-hostname?} (default: @code{#f})
8563By default, the hostname is printed. When this option is set to
8564@code{#t}, no hostname will be shown at all.
8565
8566@item @code{long-hostname?} (default: @code{#f})
8567By default, the hostname is only printed until the first dot. When this
8568option is set to @code{#t}, the fully qualified hostname by
8569@code{gethostname} or @code{getaddrinfo} is shown.
8570
8571@item @code{erase-characters} (default: @code{#f})
8572This option accepts a string of additional characters that should be
8573interpreted as backspace when the user types their login name.
8574
8575@item @code{kill-characters} (default: @code{#f})
8576This option accepts a string that should be interpreted to mean "ignore
8577all previous characters" (also called a "kill" character) when the types
8578their login name.
8579
8580@item @code{chdir} (default: @code{#f})
8581This option accepts, as a string, a directory path that will be changed
8582to before login.
8583
8584@item @code{delay} (default: @code{#f})
8585This options accepts, as an integer, the number of seconds to sleep
8586before opening the tty and displaying the login prompt.
8587
8588@item @code{nice} (default: @code{#f})
8589This option accepts, as an integer, the nice value with which to run the
8590@command{login} program.
8591
8592@item @code{extra-options} (default: @code{'()})
8593This option provides an "escape hatch" for the user to provide arbitrary
8594command-line arguments to @command{agetty} as a list of strings.
8595
8596@end table
8597@end deftp
8598
8426@deffn {Scheme Procedure} kmscon-service-type @var{config} 8599@deffn {Scheme Procedure} kmscon-service-type @var{config}
8427Return a service to run @uref{https://www.freedesktop.org/wiki/Software/kmscon,kmscon} 8600Return a service to run @uref{https://www.freedesktop.org/wiki/Software/kmscon,kmscon}
8428according to @var{config}, a @code{<kmscon-configuration>} object, which 8601according to @var{config}, a @code{<kmscon-configuration>} object, which
@@ -8431,7 +8604,7 @@ specifies the tty to run, among other things.
8431 8604
8432@deftp {Data Type} kmscon-configuration 8605@deftp {Data Type} kmscon-configuration
8433This is the data type representing the configuration of Kmscon, which 8606This is the data type representing the configuration of Kmscon, which
8434implements console log-in. 8607implements virtual console log-in.
8435 8608
8436@table @asis 8609@table @asis
8437 8610
@@ -8616,6 +8789,13 @@ are written.
8616@item @code{lsof} (default: @var{lsof}) 8789@item @code{lsof} (default: @var{lsof})
8617The lsof package to use. 8790The lsof package to use.
8618 8791
8792@item @code{http-proxy} (default: @code{#f})
8793The HTTP proxy used for downloading fixed-output derivations and
8794substitutes.
8795
8796@item @code{tmpdir} (default: @code{#f})
8797A directory path where the @command{guix-daemon} will perform builds.
8798
8619@end table 8799@end table
8620@end deftp 8800@end deftp
8621 8801
diff --git a/etc/guix-daemon.conf.in b/etc/guix-daemon.conf.in
index 8f833cb6930..09c70cde38a 100644
--- a/etc/guix-daemon.conf.in
+++ b/etc/guix-daemon.conf.in
@@ -9,4 +9,4 @@ stop on runlevel [016]
9 9
10task 10task
11 11
12exec @bindir@/guix-daemon --build-users-group=guixbuild 12exec @localstatedir@/guix/profiles/per-user/root/guix-profile/bin/guix-daemon --build-users-group=guixbuild
diff --git a/etc/guix-daemon.service.in b/etc/guix-daemon.service.in
index ab0ce090c3e..ffe4cf9bd5c 100644
--- a/etc/guix-daemon.service.in
+++ b/etc/guix-daemon.service.in
@@ -6,7 +6,7 @@
6Description=Build daemon for GNU Guix 6Description=Build daemon for GNU Guix
7 7
8[Service] 8[Service]
9ExecStart=@bindir@/guix-daemon --build-users-group=guixbuild 9ExecStart=@localstatedir@/guix/profiles/per-user/root/guix-profile/bin/guix-daemon --build-users-group=guixbuild
10Environment=GUIX_LOCPATH=/root/.guix-profile/lib/locale 10Environment=GUIX_LOCPATH=/root/.guix-profile/lib/locale
11RemainAfterExit=yes 11RemainAfterExit=yes
12StandardOutput=syslog 12StandardOutput=syslog
diff --git a/etc/guix-publish.conf.in b/etc/guix-publish.conf.in
index 498fa295be7..241c5945595 100644
--- a/etc/guix-publish.conf.in
+++ b/etc/guix-publish.conf.in
@@ -9,4 +9,4 @@ stop on runlevel [016]
9 9
10task 10task
11 11
12exec @bindir@/guix publish --user=nobody --port=8181 12exec @localstatedir@/guix/profiles/per-user/root/guix-profile/bin/guix publish --user=nobody --port=8181
diff --git a/etc/guix-publish.service.in b/etc/guix-publish.service.in
index fc4e3c21f33..8aaf09e3cdc 100644
--- a/etc/guix-publish.service.in
+++ b/etc/guix-publish.service.in
@@ -6,7 +6,7 @@
6Description=Publish the GNU Guix store 6Description=Publish the GNU Guix store
7 7
8[Service] 8[Service]
9ExecStart=@bindir@/guix publish --user=nobody --port=8181 9ExecStart=@localstatedir@/guix/profiles/per-user/root/guix-profile/bin/guix publish --user=nobody --port=8181
10Environment=GUIX_LOCPATH=/root/.guix-profile/lib/locale 10Environment=GUIX_LOCPATH=/root/.guix-profile/lib/locale
11RemainAfterExit=yes 11RemainAfterExit=yes
12StandardOutput=syslog 12StandardOutput=syslog
diff --git a/gnu/build/file-systems.scm b/gnu/build/file-systems.scm
index f8ab95370c7..fe98df95d52 100644
--- a/gnu/build/file-systems.scm
+++ b/gnu/build/file-systems.scm
@@ -106,15 +106,17 @@ takes a bytevector and returns #t when it's a valid superblock."
106 (bytevector-copy! bv start result 0 size) 106 (bytevector-copy! bv start result 0 size)
107 result)) 107 result))
108 108
109(define (null-terminated-latin1->string bv) 109(define (latin1->string bv terminator)
110 "Return the volume name of SBLOCK as a string of at most 256 characters, or 110 "Return a string of BV, a latin1 bytevector, or #f. TERMINATOR is a predicate
111#f if SBLOCK has no volume name." 111that takes a number and returns #t when a termination character is found."
112 ;; This is a Latin-1, nul-terminated string. 112 (let ((bytes (take-while (negate terminator) (bytevector->u8-list bv))))
113 (let ((bytes (take-while (negate zero?) (bytevector->u8-list bv))))
114 (if (null? bytes) 113 (if (null? bytes)
115 #f 114 #f
116 (list->string (map integer->char bytes))))) 115 (list->string (map integer->char bytes)))))
117 116
117(define null-terminated-latin1->string
118 (cut latin1->string <> zero?))
119
118 120
119;;; 121;;;
120;;; Ext2 file systems. 122;;; Ext2 file systems.
@@ -194,6 +196,51 @@ if DEVICE does not contain a btrfs file system."
194 196
195 197
196;;; 198;;;
199;;; FAT32 file systems.
200;;;
201
202;; <http://www.ecma-international.org/publications/files/ECMA-ST/Ecma-107.pdf>.
203
204(define-syntax %fat32-endianness
205 ;; Endianness of fat file systems.
206 (identifier-syntax (endianness little)))
207
208(define (fat32-superblock? sblock)
209 "Return #t when SBLOCK is a fat32 superblock."
210 (bytevector=? (sub-bytevector sblock 82 8)
211 (string->utf8 "FAT32 ")))
212
213(define (read-fat32-superblock device)
214 "Return the raw contents of DEVICE's fat32 superblock as a bytevector, or
215#f if DEVICE does not contain a fat32 file system."
216 (read-superblock device 0 90 fat32-superblock?))
217
218(define (fat32-superblock-uuid sblock)
219 "Return the Volume ID of a fat superblock SBLOCK as a 4-byte bytevector."
220 (sub-bytevector sblock 67 4))
221
222(define (fat32-uuid->string uuid)
223 "Convert fat32 UUID, a 4-byte bytevector, to its string representation."
224 (let ((high (bytevector-uint-ref uuid 0 %fat32-endianness 2))
225 (low (bytevector-uint-ref uuid 2 %fat32-endianness 2)))
226 (format #f "~:@(~x-~x~)" low high)))
227
228(define (fat32-superblock-volume-name sblock)
229 "Return the volume name of SBLOCK as a string of at most 11 characters, or
230#f if SBLOCK has no volume name. The volume name is a latin1 string.
231Trailing spaces are trimmed."
232 (string-trim-right (latin1->string (sub-bytevector sblock 71 11) (lambda (c) #f)) #\space))
233
234(define (check-fat32-file-system device)
235 "Return the health of a fat file system on DEVICE."
236 (match (status:exit-val
237 (system* "fsck.vfat" "-v" "-a" device))
238 (0 'pass)
239 (1 'errors-corrected)
240 (_ 'fatal-error)))
241
242
243;;;
197;;; LUKS encrypted devices. 244;;; LUKS encrypted devices.
198;;; 245;;;
199 246
@@ -307,13 +354,17 @@ partition field reader that returned a value."
307 (list (partition-field-reader read-ext2-superblock 354 (list (partition-field-reader read-ext2-superblock
308 ext2-superblock-volume-name) 355 ext2-superblock-volume-name)
309 (partition-field-reader read-btrfs-superblock 356 (partition-field-reader read-btrfs-superblock
310 btrfs-superblock-volume-name))) 357 btrfs-superblock-volume-name)
358 (partition-field-reader read-fat32-superblock
359 fat32-superblock-volume-name)))
311 360
312(define %partition-uuid-readers 361(define %partition-uuid-readers
313 (list (partition-field-reader read-ext2-superblock 362 (list (partition-field-reader read-ext2-superblock
314 ext2-superblock-uuid) 363 ext2-superblock-uuid)
315 (partition-field-reader read-btrfs-superblock 364 (partition-field-reader read-btrfs-superblock
316 btrfs-superblock-uuid))) 365 btrfs-superblock-uuid)
366 (partition-field-reader read-fat32-superblock
367 fat32-superblock-uuid)))
317 368
318(define read-partition-label 369(define read-partition-label
319 (cut read-partition-field <> %partition-label-readers)) 370 (cut read-partition-field <> %partition-label-readers))
@@ -481,6 +532,7 @@ the following:
481 (cond 532 (cond
482 ((string-prefix? "ext" type) check-ext2-file-system) 533 ((string-prefix? "ext" type) check-ext2-file-system)
483 ((string-prefix? "btrfs" type) check-btrfs-file-system) 534 ((string-prefix? "btrfs" type) check-btrfs-file-system)
535 ((string-suffix? "fat" type) check-fat32-file-system)
484 (else #f))) 536 (else #f)))
485 537
486 (if check-procedure 538 (if check-procedure
diff --git a/gnu/local.mk b/gnu/local.mk
index e4114be65bd..3356c9e34ce 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1,6 +1,6 @@
1# GNU Guix --- Functional package management for GNU 1# GNU Guix --- Functional package management for GNU
2# Copyright © 2012, 2013, 2014, 2015, 2016, 2017 Ludovic Courtès <ludo@gnu.org> 2# Copyright © 2012, 2013, 2014, 2015, 2016, 2017 Ludovic Courtès <ludo@gnu.org>
3# Copyright © 2013, 2014, 2015, 2016 Andreas Enge <andreas@enge.fr> 3# Copyright © 2013, 2014, 2015, 2016, 2017 Andreas Enge <andreas@enge.fr>
4# Copyright © 2016 Mathieu Lirzin <mthl@gnu.org> 4# Copyright © 2016 Mathieu Lirzin <mthl@gnu.org>
5# Copyright © 2013, 2014, 2015, 2016 Mark H Weaver <mhw@netris.org> 5# Copyright © 2013, 2014, 2015, 2016 Mark H Weaver <mhw@netris.org>
6# Copyright © 2016 Chris Marusich <cmmarusich@gmail.com> 6# Copyright © 2016 Chris Marusich <cmmarusich@gmail.com>
@@ -483,7 +483,6 @@ dist_patch_DATA = \
483 %D%/packages/patches/agg-am_c_prototype.patch \ 483 %D%/packages/patches/agg-am_c_prototype.patch \
484 %D%/packages/patches/antiword-CVE-2014-8123.patch \ 484 %D%/packages/patches/antiword-CVE-2014-8123.patch \
485 %D%/packages/patches/apr-skip-getservbyname-test.patch \ 485 %D%/packages/patches/apr-skip-getservbyname-test.patch \
486 %D%/packages/patches/arb-ldconfig.patch \
487 %D%/packages/patches/artanis-fix-Makefile.in.patch \ 486 %D%/packages/patches/artanis-fix-Makefile.in.patch \
488 %D%/packages/patches/ath9k-htc-firmware-binutils.patch \ 487 %D%/packages/patches/ath9k-htc-firmware-binutils.patch \
489 %D%/packages/patches/ath9k-htc-firmware-gcc.patch \ 488 %D%/packages/patches/ath9k-htc-firmware-gcc.patch \
@@ -603,6 +602,7 @@ dist_patch_DATA = \
603 %D%/packages/patches/gmp-faulty-test.patch \ 602 %D%/packages/patches/gmp-faulty-test.patch \
604 %D%/packages/patches/gnome-tweak-tool-search-paths.patch \ 603 %D%/packages/patches/gnome-tweak-tool-search-paths.patch \
605 %D%/packages/patches/gnucash-price-quotes-perl.patch \ 604 %D%/packages/patches/gnucash-price-quotes-perl.patch \
605 %D%/packages/patches/gnupg-2.1-fix-Y2038-test-failure.patch \
606 %D%/packages/patches/gobject-introspection-absolute-shlib-path.patch \ 606 %D%/packages/patches/gobject-introspection-absolute-shlib-path.patch \
607 %D%/packages/patches/gobject-introspection-cc.patch \ 607 %D%/packages/patches/gobject-introspection-cc.patch \
608 %D%/packages/patches/gobject-introspection-girepository.patch \ 608 %D%/packages/patches/gobject-introspection-girepository.patch \
@@ -611,7 +611,6 @@ dist_patch_DATA = \
611 %D%/packages/patches/grub-gets-undeclared.patch \ 611 %D%/packages/patches/grub-gets-undeclared.patch \
612 %D%/packages/patches/grub-freetype.patch \ 612 %D%/packages/patches/grub-freetype.patch \
613 %D%/packages/patches/gsl-test-i686.patch \ 613 %D%/packages/patches/gsl-test-i686.patch \
614 %D%/packages/patches/gst-plugins-base-fix-test-on-32bit.patch \
615 %D%/packages/patches/guile-1.8-cpp-4.5.patch \ 614 %D%/packages/patches/guile-1.8-cpp-4.5.patch \
616 %D%/packages/patches/guile-arm-fixes.patch \ 615 %D%/packages/patches/guile-arm-fixes.patch \
617 %D%/packages/patches/guile-default-utf8.patch \ 616 %D%/packages/patches/guile-default-utf8.patch \
@@ -655,6 +654,7 @@ dist_patch_DATA = \
655 %D%/packages/patches/jq-CVE-2015-8863.patch \ 654 %D%/packages/patches/jq-CVE-2015-8863.patch \
656 %D%/packages/patches/kdbusaddons-kinit-file-name.patch \ 655 %D%/packages/patches/kdbusaddons-kinit-file-name.patch \
657 %D%/packages/patches/khmer-use-libraries.patch \ 656 %D%/packages/patches/khmer-use-libraries.patch \
657 %D%/packages/patches/kio-CVE-2017-6410.patch \
658 %D%/packages/patches/kmod-module-directory.patch \ 658 %D%/packages/patches/kmod-module-directory.patch \
659 %D%/packages/patches/kobodeluxe-paths.patch \ 659 %D%/packages/patches/kobodeluxe-paths.patch \
660 %D%/packages/patches/kobodeluxe-enemies-pipe-decl.patch \ 660 %D%/packages/patches/kobodeluxe-enemies-pipe-decl.patch \
@@ -691,7 +691,6 @@ dist_patch_DATA = \
691 %D%/packages/patches/libmad-armv7-thumb-pt2.patch \ 691 %D%/packages/patches/libmad-armv7-thumb-pt2.patch \
692 %D%/packages/patches/libmad-frame-length.patch \ 692 %D%/packages/patches/libmad-frame-length.patch \
693 %D%/packages/patches/libmad-mips-newgcc.patch \ 693 %D%/packages/patches/libmad-mips-newgcc.patch \
694 %D%/packages/patches/libssh-0.6.5-CVE-2016-0739.patch \
695 %D%/packages/patches/libssh2-fix-build-failure-with-gcrypt.patch \ 694 %D%/packages/patches/libssh2-fix-build-failure-with-gcrypt.patch \
696 %D%/packages/patches/libtar-CVE-2013-4420.patch \ 695 %D%/packages/patches/libtar-CVE-2013-4420.patch \
697 %D%/packages/patches/libtheora-config-guess.patch \ 696 %D%/packages/patches/libtheora-config-guess.patch \
@@ -749,7 +748,6 @@ dist_patch_DATA = \
749 %D%/packages/patches/make-impure-dirs.patch \ 748 %D%/packages/patches/make-impure-dirs.patch \
750 %D%/packages/patches/mars-install.patch \ 749 %D%/packages/patches/mars-install.patch \
751 %D%/packages/patches/mars-sfml-2.3.patch \ 750 %D%/packages/patches/mars-sfml-2.3.patch \
752 %D%/packages/patches/matplotlib-setupext-tk.patch \
753 %D%/packages/patches/maxima-defsystem-mkdir.patch \ 751 %D%/packages/patches/maxima-defsystem-mkdir.patch \
754 %D%/packages/patches/mcron-install.patch \ 752 %D%/packages/patches/mcron-install.patch \
755 %D%/packages/patches/mcrypt-CVE-2012-4409.patch \ 753 %D%/packages/patches/mcrypt-CVE-2012-4409.patch \
@@ -767,6 +765,8 @@ dist_patch_DATA = \
767 %D%/packages/patches/mupdf-build-with-openjpeg-2.1.patch \ 765 %D%/packages/patches/mupdf-build-with-openjpeg-2.1.patch \
768 %D%/packages/patches/mupdf-mujs-CVE-2016-10132.patch \ 766 %D%/packages/patches/mupdf-mujs-CVE-2016-10132.patch \
769 %D%/packages/patches/mupdf-mujs-CVE-2016-10133.patch \ 767 %D%/packages/patches/mupdf-mujs-CVE-2016-10133.patch \
768 %D%/packages/patches/mupdf-CVE-2017-5896.patch \
769 %D%/packages/patches/mupdf-CVE-2017-5991.patch \
770 %D%/packages/patches/mupen64plus-ui-console-notice.patch \ 770 %D%/packages/patches/mupen64plus-ui-console-notice.patch \
771 %D%/packages/patches/musl-CVE-2016-8859.patch \ 771 %D%/packages/patches/musl-CVE-2016-8859.patch \
772 %D%/packages/patches/mutt-store-references.patch \ 772 %D%/packages/patches/mutt-store-references.patch \
@@ -811,7 +811,6 @@ dist_patch_DATA = \
811 %D%/packages/patches/patchelf-rework-for-arm.patch \ 811 %D%/packages/patches/patchelf-rework-for-arm.patch \
812 %D%/packages/patches/patchutils-xfail-gendiff-tests.patch \ 812 %D%/packages/patches/patchutils-xfail-gendiff-tests.patch \
813 %D%/packages/patches/patch-hurd-path-max.patch \ 813 %D%/packages/patches/patch-hurd-path-max.patch \
814 %D%/packages/patches/pcre2-CVE-2016-3191.patch \
815 %D%/packages/patches/perl-autosplit-default-time.patch \ 814 %D%/packages/patches/perl-autosplit-default-time.patch \
816 %D%/packages/patches/perl-deterministic-ordering.patch \ 815 %D%/packages/patches/perl-deterministic-ordering.patch \
817 %D%/packages/patches/perl-finance-quote-unuse-mozilla-ca.patch \ 816 %D%/packages/patches/perl-finance-quote-unuse-mozilla-ca.patch \
@@ -856,17 +855,24 @@ dist_patch_DATA = \
856 %D%/packages/patches/python-3-search-paths.patch \ 855 %D%/packages/patches/python-3-search-paths.patch \
857 %D%/packages/patches/python-3.4-fix-tests.patch \ 856 %D%/packages/patches/python-3.4-fix-tests.patch \
858 %D%/packages/patches/python-3.5-fix-tests.patch \ 857 %D%/packages/patches/python-3.5-fix-tests.patch \
858 %D%/packages/patches/python-dendropy-fix-tests.patch \
859 %D%/packages/patches/python-file-double-encoding-bug.patch \ 859 %D%/packages/patches/python-file-double-encoding-bug.patch \
860 %D%/packages/patches/python-fix-tests.patch \ 860 %D%/packages/patches/python-fix-tests.patch \
861 %D%/packages/patches/python-parse-too-many-fields.patch \ 861 %D%/packages/patches/python-parse-too-many-fields.patch \
862 %D%/packages/patches/python2-rdflib-drop-sparqlwrapper.patch \ 862 %D%/packages/patches/python2-rdflib-drop-sparqlwrapper.patch \
863 %D%/packages/patches/python-statsmodels-fix-tests.patch \ 863 %D%/packages/patches/python-statsmodels-fix-tests.patch \
864 %D%/packages/patches/python-configobj-setuptools.patch \ 864 %D%/packages/patches/python-configobj-setuptools.patch \
865 %D%/packages/patches/python-fake-factory-fix-build-32bit.patch \
866 %D%/packages/patches/python-faker-fix-build-32bit.patch \
867 %D%/packages/patches/python-pandas-skip-failing-tests.patch \
865 %D%/packages/patches/python-paste-remove-website-test.patch \ 868 %D%/packages/patches/python-paste-remove-website-test.patch \
866 %D%/packages/patches/python-paste-remove-timing-test.patch \ 869 %D%/packages/patches/python-paste-remove-timing-test.patch \
870 %D%/packages/patches/python-pygit2-disable-network-tests.patch \
871 %D%/packages/patches/python-pyopenssl-skip-network-test.patch \
867 %D%/packages/patches/python-pycrypto-CVE-2013-7459.patch \ 872 %D%/packages/patches/python-pycrypto-CVE-2013-7459.patch \
868 %D%/packages/patches/python2-pygobject-2-gi-info-type-error-domain.patch \ 873 %D%/packages/patches/python2-pygobject-2-gi-info-type-error-domain.patch \
869 %D%/packages/patches/python-pygpgme-fix-pinentry-tests.patch \ 874 %D%/packages/patches/python-pygpgme-fix-pinentry-tests.patch \
875 %D%/packages/patches/python2-subprocess32-disable-input-test.patch \
870 %D%/packages/patches/qemu-CVE-2016-10155.patch \ 876 %D%/packages/patches/qemu-CVE-2016-10155.patch \
871 %D%/packages/patches/qemu-CVE-2017-2615.patch \ 877 %D%/packages/patches/qemu-CVE-2017-2615.patch \
872 %D%/packages/patches/qemu-CVE-2017-5525.patch \ 878 %D%/packages/patches/qemu-CVE-2017-5525.patch \
@@ -894,12 +900,12 @@ dist_patch_DATA = \
894 %D%/packages/patches/ruby-tzinfo-data-ignore-broken-test.patch\ 900 %D%/packages/patches/ruby-tzinfo-data-ignore-broken-test.patch\
895 %D%/packages/patches/scheme48-tests.patch \ 901 %D%/packages/patches/scheme48-tests.patch \
896 %D%/packages/patches/scotch-test-threading.patch \ 902 %D%/packages/patches/scotch-test-threading.patch \
897 %D%/packages/patches/screen-CVE-2017-5618.patch \
898 %D%/packages/patches/sdl-libx11-1.6.patch \ 903 %D%/packages/patches/sdl-libx11-1.6.patch \
899 %D%/packages/patches/seq24-rename-mutex.patch \ 904 %D%/packages/patches/seq24-rename-mutex.patch \
900 %D%/packages/patches/serf-comment-style-fix.patch \ 905 %D%/packages/patches/serf-comment-style-fix.patch \
901 %D%/packages/patches/serf-deflate-buckets-test-fix.patch \ 906 %D%/packages/patches/serf-deflate-buckets-test-fix.patch \
902 %D%/packages/patches/shadow-4.4-su-snprintf-fix.patch \ 907 %D%/packages/patches/shadow-4.4-su-snprintf-fix.patch \
908 %D%/packages/patches/shadow-CVE-2017-2616.patch \
903 %D%/packages/patches/slim-session.patch \ 909 %D%/packages/patches/slim-session.patch \
904 %D%/packages/patches/slim-config.patch \ 910 %D%/packages/patches/slim-config.patch \
905 %D%/packages/patches/slim-sigusr1.patch \ 911 %D%/packages/patches/slim-sigusr1.patch \
@@ -925,6 +931,7 @@ dist_patch_DATA = \
925 %D%/packages/patches/tcsh-fix-autotest.patch \ 931 %D%/packages/patches/tcsh-fix-autotest.patch \
926 %D%/packages/patches/tcsh-fix-out-of-bounds-read.patch \ 932 %D%/packages/patches/tcsh-fix-out-of-bounds-read.patch \
927 %D%/packages/patches/teensy-loader-cli-help.patch \ 933 %D%/packages/patches/teensy-loader-cli-help.patch \
934 %D%/packages/patches/texlive-texmf-CVE-2016-10243.patch \
928 %D%/packages/patches/texi2html-document-encoding.patch \ 935 %D%/packages/patches/texi2html-document-encoding.patch \
929 %D%/packages/patches/texi2html-i18n.patch \ 936 %D%/packages/patches/texi2html-i18n.patch \
930 %D%/packages/patches/tidy-CVE-2015-5522+5523.patch \ 937 %D%/packages/patches/tidy-CVE-2015-5522+5523.patch \
@@ -951,9 +958,9 @@ dist_patch_DATA = \
951 %D%/packages/patches/unzip-overflow-long-fsize.patch \ 958 %D%/packages/patches/unzip-overflow-long-fsize.patch \
952 %D%/packages/patches/unzip-remove-build-date.patch \ 959 %D%/packages/patches/unzip-remove-build-date.patch \
953 %D%/packages/patches/util-linux-tests.patch \ 960 %D%/packages/patches/util-linux-tests.patch \
961 %D%/packages/patches/util-linux-CVE-2017-2616.patch \
954 %D%/packages/patches/upower-builddir.patch \ 962 %D%/packages/patches/upower-builddir.patch \
955 %D%/packages/patches/valgrind-enable-arm.patch \ 963 %D%/packages/patches/valgrind-enable-arm.patch \
956 %D%/packages/patches/vdirsyncer-test-suite-slow-machines.patch \
957 %D%/packages/patches/vim-CVE-2017-5953.patch \ 964 %D%/packages/patches/vim-CVE-2017-5953.patch \
958 %D%/packages/patches/vorbis-tools-CVE-2014-9638+CVE-2014-9639.patch \ 965 %D%/packages/patches/vorbis-tools-CVE-2014-9638+CVE-2014-9639.patch \
959 %D%/packages/patches/vorbis-tools-CVE-2014-9640.patch \ 966 %D%/packages/patches/vorbis-tools-CVE-2014-9640.patch \
@@ -973,6 +980,7 @@ dist_patch_DATA = \
973 %D%/packages/patches/wordnet-CVE-2008-3908-pt2.patch \ 980 %D%/packages/patches/wordnet-CVE-2008-3908-pt2.patch \
974 %D%/packages/patches/xcb-proto-python3-print.patch \ 981 %D%/packages/patches/xcb-proto-python3-print.patch \
975 %D%/packages/patches/xcb-proto-python3-whitespace.patch \ 982 %D%/packages/patches/xcb-proto-python3-whitespace.patch \
983 %D%/packages/patches/wxwidgets-fix-windowGTK.patch \
976 %D%/packages/patches/xdotool-fix-makefile.patch \ 984 %D%/packages/patches/xdotool-fix-makefile.patch \
977 %D%/packages/patches/xf86-input-wacom-xorg-abi-25.patch \ 985 %D%/packages/patches/xf86-input-wacom-xorg-abi-25.patch \
978 %D%/packages/patches/xf86-video-ark-remove-mibstore.patch \ 986 %D%/packages/patches/xf86-video-ark-remove-mibstore.patch \
diff --git a/gnu/packages.scm b/gnu/packages.scm
index 0aa289d56c0..92bab7228ad 100644
--- a/gnu/packages.scm
+++ b/gnu/packages.scm
@@ -2,7 +2,7 @@
2;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017 Ludovic Courtès <ludo@gnu.org> 2;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017 Ludovic Courtès <ludo@gnu.org>
3;;; Copyright © 2013 Mark H Weaver <mhw@netris.org> 3;;; Copyright © 2013 Mark H Weaver <mhw@netris.org>
4;;; Copyright © 2014 Eric Bavier <bavier@member.fsf.org> 4;;; Copyright © 2014 Eric Bavier <bavier@member.fsf.org>
5;;; Copyright © 2016 Alex Kost <alezost@gmail.com> 5;;; Copyright © 2016, 2017 Alex Kost <alezost@gmail.com>
6;;; Copyright © 2016 Mathieu Lirzin <mthl@gnu.org> 6;;; Copyright © 2016 Mathieu Lirzin <mthl@gnu.org>
7;;; 7;;;
8;;; This file is part of GNU Guix. 8;;; This file is part of GNU Guix.
@@ -40,8 +40,10 @@
40 #:use-module (srfi srfi-39) 40 #:use-module (srfi srfi-39)
41 #:export (search-patch 41 #:export (search-patch
42 search-patches 42 search-patches
43 search-auxiliary-file
43 search-bootstrap-binary 44 search-bootstrap-binary
44 %patch-path 45 %patch-path
46 %auxiliary-files-path
45 %bootstrap-binaries-path 47 %bootstrap-binaries-path
46 %package-module-path 48 %package-module-path
47 49
@@ -62,17 +64,27 @@
62;;; 64;;;
63;;; Code: 65;;; Code:
64 66
65;; By default, we store patches and bootstrap binaries alongside Guile 67;; By default, we store patches, auxiliary files and bootstrap binaries
66;; modules. This is so that these extra files can be found without 68;; alongside Guile modules. This is so that these extra files can be
67;; requiring a special setup, such as a specific installation directory 69;; found without requiring a special setup, such as a specific
68;; and an extra environment variable. One advantage of this setup is 70;; installation directory and an extra environment variable. One
69;; that everything just works in an auto-compilation setting. 71;; advantage of this setup is that everything just works in an
72;; auto-compilation setting.
70 73
71(define %bootstrap-binaries-path 74(define %bootstrap-binaries-path
72 (make-parameter 75 (make-parameter
73 (map (cut string-append <> "/gnu/packages/bootstrap") 76 (map (cut string-append <> "/gnu/packages/bootstrap")
74 %load-path))) 77 %load-path)))
75 78
79(define %auxiliary-files-path
80 (make-parameter
81 (map (cut string-append <> "/gnu/packages/aux-files")
82 %load-path)))
83
84(define (search-auxiliary-file file-name)
85 "Search the auxiliary FILE-NAME. Return #f if not found."
86 (search-path (%auxiliary-files-path) file-name))
87
76(define (search-patch file-name) 88(define (search-patch file-name)
77 "Search the patch FILE-NAME. Raise an error if not found." 89 "Search the patch FILE-NAME. Raise an error if not found."
78 (or (search-path (%patch-path) file-name) 90 (or (search-path (%patch-path) file-name)
@@ -299,8 +311,8 @@ return its return value."
299 ((pkg . pkg*) 311 ((pkg . pkg*)
300 (unless (null? pkg*) 312 (unless (null? pkg*)
301 (warning (_ "ambiguous package specification `~a'~%") spec) 313 (warning (_ "ambiguous package specification `~a'~%") spec)
302 (warning (_ "choosing ~a from ~a~%") 314 (warning (_ "choosing ~a@~a from ~a~%")
303 (package-full-name pkg) 315 (package-name pkg) (package-version pkg)
304 (location->string (package-location pkg)))) 316 (location->string (package-location pkg))))
305 (when fallback? 317 (when fallback?
306 (warning (_ "deprecated NAME-VERSION syntax; \ 318 (warning (_ "deprecated NAME-VERSION syntax; \
diff --git a/gnu/packages/admin.scm b/gnu/packages/admin.scm
index baadbe5c602..3d9226299bd 100644
--- a/gnu/packages/admin.scm
+++ b/gnu/packages/admin.scm
@@ -256,13 +256,11 @@ re-executing them as necessary.")
256 (base32 256 (base32
257 "05n65k4ixl85dc6rxc51b1b732gnmm8xnqi424dy9f1nz7ppb3xy")))) 257 "05n65k4ixl85dc6rxc51b1b732gnmm8xnqi424dy9f1nz7ppb3xy"))))
258 (build-system gnu-build-system) 258 (build-system gnu-build-system)
259 (arguments `(#:configure-flags '("--localstatedir=/var") 259 (arguments
260 260 '(#:configure-flags '("--localstatedir=/var")))
261 ;; FIXME: `tftp.sh' relies on `netstat' from utils-linux,
262 ;; which is currently missing.
263 #:tests? #f))
264 (inputs `(("ncurses" ,ncurses) 261 (inputs `(("ncurses" ,ncurses)
265 ("readline" ,readline))) ; for 'ftp' 262 ("readline" ,readline))) ;for 'ftp'
263 (native-inputs `(("netstat" ,net-tools))) ;for tests
266 (home-page "http://www.gnu.org/software/inetutils/") 264 (home-page "http://www.gnu.org/software/inetutils/")
267 (synopsis "Basic networking utilities") 265 (synopsis "Basic networking utilities")
268 (description 266 (description
@@ -279,7 +277,8 @@ client and server, a telnet client and server, and an rsh client and server.")
279 (uri (string-append 277 (uri (string-append
280 "https://github.com/shadow-maint/shadow/releases/" 278 "https://github.com/shadow-maint/shadow/releases/"
281 "download/" version "/shadow-" version ".tar.xz")) 279 "download/" version "/shadow-" version ".tar.xz"))
282 (patches (search-patches "shadow-4.4-su-snprintf-fix.patch")) 280 (patches (search-patches "shadow-4.4-su-snprintf-fix.patch"
281 "shadow-CVE-2017-2616.patch"))
283 (sha256 282 (sha256
284 (base32 283 (base32
285 "0g7hf55ar2pafg5g3ldx0fwzjk36wf4xb21p4ndanbjm3c2a9ab1")))) 284 "0g7hf55ar2pafg5g3ldx0fwzjk36wf4xb21p4ndanbjm3c2a9ab1"))))
@@ -1701,15 +1700,29 @@ throughput (in the same interval).")
1701 (base32 1700 (base32
1702 "04q2cn8c83f6z6wn1scla1ilrpi5ssjc64987hvmwfvwvb82bvkp")))) 1701 "04q2cn8c83f6z6wn1scla1ilrpi5ssjc64987hvmwfvwvb82bvkp"))))
1703 (build-system python-build-system) 1702 (build-system python-build-system)
1704 (inputs 1703 (arguments
1704 '(#:tests? #f))
1705 ;; FIXME: 10 test failures. Some require newer pytest (> 2.9.2).
1706 ;; Others need more work. Un-comment the below to run the tests.
1707 ;; #:phases
1708 ;; (modify-phases %standard-phases
1709 ;; (replace 'check
1710 ;; (lambda _
1711 ;; ;; Some tests need write access to $HOME.
1712 ;; (setenv "HOME" "/tmp")
1713 ;; (zero? (system* "py.test" "-v")))))))
1714 (propagated-inputs
1705 `(("python-colorama" ,python-colorama) 1715 `(("python-colorama" ,python-colorama)
1706 ("python-decorator" ,python-decorator) 1716 ("python-decorator" ,python-decorator)
1707 ("python-psutil" ,python-psutil) 1717 ("python-psutil" ,python-psutil)
1708 ("python-six" ,python-six))) 1718 ("python-six" ,python-six)))
1709 (native-inputs 1719 (native-inputs
1710 ;; Requires setuptools >= 17.1 due to some features used, while our 1720 `(("python-mock" ,python-mock)
1711 ;; python currently only includes 12.0. TODO: Remove this input. 1721 ("python-pytest" ,python-pytest)
1712 `(("python-setuptools" ,python-setuptools))) 1722 ("python-pytest-mock" ,python-pytest-mock)
1723 ;; Requires setuptools >= 17.1 due to some features used, while our
1724 ;; python currently only includes 12.0. TODO: Remove this input.
1725 ("python-setuptools" ,python-setuptools)))
1713 (home-page "https://github.com/nvbn/thefuck") 1726 (home-page "https://github.com/nvbn/thefuck")
1714 (synopsis "Correct mistyped console command") 1727 (synopsis "Correct mistyped console command")
1715 (description 1728 (description
@@ -1720,13 +1733,13 @@ a new command using the matched rule, and runs it.")
1720(define-public di 1733(define-public di
1721 (package 1734 (package
1722 (name "di") 1735 (name "di")
1723 (version "4.42") 1736 (version "4.43")
1724 (source 1737 (source
1725 (origin 1738 (origin
1726 (method url-fetch) 1739 (method url-fetch)
1727 (uri (string-append "https://gentoo.com/di/di-" version ".tar.gz")) 1740 (uri (string-append "https://gentoo.com/di/di-" version ".tar.gz"))
1728 (sha256 1741 (sha256
1729 (base32 "1i6m9zdnidn8268q1lz9fd8payk7s4pgwh5zlam9rr4dy6h6a67n")))) 1742 (base32 "1q25jy51qfzsym9b2w0cqzscq2j492gn60dy6gbp88m8nwm4sdy8"))))
1730 (build-system gnu-build-system) 1743 (build-system gnu-build-system)
1731 (arguments 1744 (arguments
1732 `(#:tests? #f ; Obscure test failures. 1745 `(#:tests? #f ; Obscure test failures.
@@ -1751,14 +1764,14 @@ highly portable. Great for heterogenous networks.")
1751(define-public cbatticon 1764(define-public cbatticon
1752 (package 1765 (package
1753 (name "cbatticon") 1766 (name "cbatticon")
1754 (version "1.6.4") 1767 (version "1.6.5")
1755 (source (origin 1768 (source (origin
1756 (method url-fetch) 1769 (method url-fetch)
1757 (uri (string-append "https://github.com/valr/" 1770 (uri (string-append "https://github.com/valr/"
1758 name "/archive/" version ".tar.gz")) 1771 name "/archive/" version ".tar.gz"))
1759 (sha256 1772 (sha256
1760 (base32 1773 (base32
1761 "023fvsa4q7rl98rqgwrb1shyzaybdkkbyz5sywd0s5p7ixkksxqx")) 1774 "0xzz1faqgm57bwlkw6sjdfbckf5hck81879zbfk18p7xn9vhvixv"))
1762 (file-name (string-append name "-" version ".tar.gz")))) 1775 (file-name (string-append name "-" version ".tar.gz"))))
1763 (build-system gnu-build-system) 1776 (build-system gnu-build-system)
1764 (arguments 1777 (arguments
diff --git a/gnu/packages/algebra.scm b/gnu/packages/algebra.scm
index 544b62a1da0..7a84332dd5d 100644
--- a/gnu/packages/algebra.scm
+++ b/gnu/packages/algebra.scm
@@ -1,5 +1,5 @@
1;;; GNU Guix --- Functional package management for GNU 1;;; GNU Guix --- Functional package management for GNU
2;;; Copyright © 2012, 2013, 2014, 2015, 2016 Andreas Enge <andreas@enge.fr> 2;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017 Andreas Enge <andreas@enge.fr>
3;;; Copyright © 2013, 2015, 2017 Ludovic Courtès <ludo@gnu.org> 3;;; Copyright © 2013, 2015, 2017 Ludovic Courtès <ludo@gnu.org>
4;;; Copyright © 2016 Nicolas Goaziou <mail@nicolasgoaziou.fr> 4;;; Copyright © 2016 Nicolas Goaziou <mail@nicolasgoaziou.fr>
5;;; Copyright © 2014 Mark H Weaver <mhw@netris.org> 5;;; Copyright © 2014 Mark H Weaver <mhw@netris.org>
@@ -128,7 +128,7 @@ solve the shortest vector problem.")
128(define-public pari-gp 128(define-public pari-gp
129 (package 129 (package
130 (name "pari-gp") 130 (name "pari-gp")
131 (version "2.7.6") 131 (version "2.9.1")
132 (source (origin 132 (source (origin
133 (method url-fetch) 133 (method url-fetch)
134 (uri (string-append 134 (uri (string-append
@@ -136,7 +136,7 @@ solve the shortest vector problem.")
136 version ".tar.gz")) 136 version ".tar.gz"))
137 (sha256 137 (sha256
138 (base32 138 (base32
139 "04dqi697czd8mmw8aiwzrkgbvkjassqagg6lfy3lkf1k5qi9g9rr")))) 139 "0rq7wz9df1xs4acdzzb5dapx8vs6m5py39n2wynw2qv4d2b0ylfw"))))
140 (build-system gnu-build-system) 140 (build-system gnu-build-system)
141 (native-inputs `(("texlive" ,texlive-minimal))) 141 (native-inputs `(("texlive" ,texlive-minimal)))
142 (inputs `(("gmp" ,gmp) 142 (inputs `(("gmp" ,gmp)
@@ -168,7 +168,7 @@ PARI is also available as a C library to allow for faster computations.")
168(define-public gp2c 168(define-public gp2c
169 (package 169 (package
170 (name "gp2c") 170 (name "gp2c")
171 (version "0.0.9pl5") 171 (version "0.0.10")
172 (source (origin 172 (source (origin
173 (method url-fetch) 173 (method url-fetch)
174 (uri (string-append 174 (uri (string-append
@@ -176,7 +176,7 @@ PARI is also available as a C library to allow for faster computations.")
176 version ".tar.gz")) 176 version ".tar.gz"))
177 (sha256 177 (sha256
178 (base32 178 (base32
179 "1q003mkagc5ib6lqb2xfay7j4ffkwv7xlnznp6wdrq2sbqq4vyak")))) 179 "1xhpz5p81iw261ay1kip283ggr0ir8ydz8qx3v24z8jfms1r3y70"))))
180 (build-system gnu-build-system) 180 (build-system gnu-build-system)
181 (native-inputs `(("perl" ,perl))) 181 (native-inputs `(("perl" ,perl)))
182 (inputs `(("pari-gp" ,pari-gp))) 182 (inputs `(("pari-gp" ,pari-gp)))
@@ -202,7 +202,7 @@ GP2C, the GP to C compiler, translates GP scripts to PARI programs.")
202(define-public giac-xcas 202(define-public giac-xcas
203 (package 203 (package
204 (name "giac-xcas") 204 (name "giac-xcas")
205 (version "1.2.3-19") 205 (version "1.2.3-25")
206 (source (origin 206 (source (origin
207 (method url-fetch) 207 (method url-fetch)
208 ;; "~parisse/giac" is not used because the maintainer regularly 208 ;; "~parisse/giac" is not used because the maintainer regularly
@@ -214,7 +214,7 @@ GP2C, the GP to C compiler, translates GP scripts to PARI programs.")
214 "source/giac_" version ".tar.gz")) 214 "source/giac_" version ".tar.gz"))
215 (sha256 215 (sha256
216 (base32 216 (base32
217 "0asynsj0xcfdjn0vkyxdgdy3hfpr6gc9f92xxa1rmn7clbqmlk1y")))) 217 "0d6a42p8111raf7k16yvjajnpj22abiqndy3yzkrb4b8l071r24d"))))
218 (build-system gnu-build-system) 218 (build-system gnu-build-system)
219 (arguments 219 (arguments
220 `(#:phases 220 `(#:phases
@@ -311,7 +311,7 @@ fast arithmetic.")
311(define-public arb 311(define-public arb
312 (package 312 (package
313 (name "arb") 313 (name "arb")
314 (version "2.8.1") 314 (version "2.10.0")
315 (source (origin 315 (source (origin
316 (method url-fetch) 316 (method url-fetch)
317 (uri (string-append 317 (uri (string-append
@@ -320,8 +320,7 @@ fast arithmetic.")
320 (file-name (string-append name "-" version ".tar.gz")) 320 (file-name (string-append name "-" version ".tar.gz"))
321 (sha256 321 (sha256
322 (base32 322 (base32
323 "04hhcpshfkcq9fr4hixbhpps50yf9drk62xgkvlcaj5kb4nyrx7l")) 323 "0jwcv9ssvi8axb1y7m2h4ykgyl015cl6g28gfl92l4dgnag585ak"))))
324 (patches (search-patches "arb-ldconfig.patch"))))
325 (build-system gnu-build-system) 324 (build-system gnu-build-system)
326 (propagated-inputs 325 (propagated-inputs
327 `(("flint" ,flint))) ; flint.h is included by arf.h 326 `(("flint" ,flint))) ; flint.h is included by arf.h
diff --git a/gnu/packages/astronomy.scm b/gnu/packages/astronomy.scm
index f390ce44869..2695530fee7 100644
--- a/gnu/packages/astronomy.scm
+++ b/gnu/packages/astronomy.scm
@@ -21,7 +21,13 @@
21 #:use-module ((guix licenses) #:prefix license:) 21 #:use-module ((guix licenses) #:prefix license:)
22 #:use-module (guix download) 22 #:use-module (guix download)
23 #:use-module (gnu packages image) 23 #:use-module (gnu packages image)
24 #:use-module (gnu packages compression)
25 #:use-module (gnu packages gettext)
26 #:use-module (gnu packages perl)
27 #:use-module (gnu packages gl)
28 #:use-module (gnu packages qt)
24 #:use-module (gnu packages maths) 29 #:use-module (gnu packages maths)
30 #:use-module (guix build-system cmake)
25 #:use-module (guix build-system gnu)) 31 #:use-module (guix build-system gnu))
26 32
27(define-public cfitsio 33(define-public cfitsio
@@ -107,3 +113,43 @@ systems in a FITS image header.")
107 (description "The GNU Astronomy Utilities (Gnuastro) is a suite of 113 (description "The GNU Astronomy Utilities (Gnuastro) is a suite of
108programs for the manipulation and analysis of astronomical data.") 114programs for the manipulation and analysis of astronomical data.")
109 (license license:gpl3+))) 115 (license license:gpl3+)))
116
117(define-public stellarium
118 (package
119 (name "stellarium")
120 (version "0.15.1")
121 (source (origin
122 (method url-fetch)
123 (uri (string-append "mirror://sourceforge/stellarium/"
124 "Stellarium-sources/"
125 version "/stellarium-" version ".tar.gz"))
126 (sha256
127 (base32
128 "04avigz8i8mi2x6x71bqr9np85n1p9qnvbj2hxr947f1jv22zr8g"))))
129 (build-system cmake-build-system)
130 (inputs
131 `(("qtbase" ,qtbase)
132 ("qtmultimedia" ,qtmultimedia)
133 ("qtscript" ,qtscript)
134 ("qtserialport" ,qtserialport)
135 ("zlib" ,zlib)))
136 (native-inputs
137 `(("gettext" ,gettext-minimal) ; xgettext is used at compile time
138 ("perl" ,perl) ; For pod2man
139 ("qtbase" ,qtbase) ; Qt MOC is needed at compile time
140 ("qttools" ,qttools)))
141 (arguments
142 `(#:test-target "tests"
143 #:phases (modify-phases %standard-phases
144 (add-before 'check 'set-offscreen-display
145 (lambda _
146 (setenv "QT_QPA_PLATFORM" "offscreen")
147 (setenv "HOME" "/tmp")
148 #t)))))
149 (home-page "http://www.stellarium.org/")
150 (synopsis "3D sky viewer")
151 (description "Stellarium is a planetarium. It shows a realistic sky in
1523D, just like what you see with the naked eye, binoculars, or a telescope. It
153can be used to control telescopes over a serial port for tracking celestial
154objects.")
155 (license license:gpl2+)))
diff --git a/gnu/packages/audio.scm b/gnu/packages/audio.scm
index 312fdd4e99f..2b11a32caff 100644
--- a/gnu/packages/audio.scm
+++ b/gnu/packages/audio.scm
@@ -1,5 +1,5 @@
1;;; GNU Guix --- Functional package management for GNU 1;;; GNU Guix --- Functional package management for GNU
2;;; Copyright © 2015, 2016 Ricardo Wurmus <rekado@elephly.net> 2;;; Copyright © 2015, 2016, 2017 Ricardo Wurmus <rekado@elephly.net>
3;;; Copyright © 2015 Taylan Ulrich Bayırlı/Kammer <taylanbayirli@gmail.com> 3;;; Copyright © 2015 Taylan Ulrich Bayırlı/Kammer <taylanbayirli@gmail.com>
4;;; Copyright © 2015 Andreas Enge <andreas@enge.fr> 4;;; Copyright © 2015 Andreas Enge <andreas@enge.fr>
5;;; Copyright © 2015 Alex Kost <alezost@gmail.com> 5;;; Copyright © 2015 Alex Kost <alezost@gmail.com>
@@ -186,7 +186,7 @@ streams from live audio.")
186(define-public ardour 186(define-public ardour
187 (package 187 (package
188 (name "ardour") 188 (name "ardour")
189 (version "5.6") 189 (version "5.8")
190 (source (origin 190 (source (origin
191 (method git-fetch) 191 (method git-fetch)
192 (uri (git-reference 192 (uri (git-reference
@@ -203,18 +203,20 @@ streams from live audio.")
203namespace ARDOUR { const char* revision = \"" version "\" ; }"))))) 203namespace ARDOUR { const char* revision = \"" version "\" ; }")))))
204 (sha256 204 (sha256
205 (base32 205 (base32
206 "1fgvjmvdyh61qn8azpmh19ac58ps5sl2dywwshr56v0svakhwwh9")) 206 "1lcvslrcw6g4kp9w0h1jx46x6ilz4nzz0k2yrw4gd545k1rwx0c1"))
207 (file-name (string-append name "-" version)))) 207 (file-name (string-append name "-" version))))
208 (build-system waf-build-system) 208 (build-system waf-build-system)
209 (arguments 209 (arguments
210 `(#:configure-flags '("--cxx11" ; required by gtkmm 210 `(#:configure-flags '("--cxx11" ; required by gtkmm
211 "--no-phone-home") ; don't contact ardour.org 211 "--no-phone-home" ; don't contact ardour.org
212 "--freedesktop" ; install .desktop file
213 "--test") ; build unit tests
212 #:phases 214 #:phases
213 (modify-phases %standard-phases 215 (modify-phases %standard-phases
214 (add-after 216 (add-after
215 'unpack 'set-rpath-in-LDFLAGS 217 'unpack 'set-rpath-in-LDFLAGS
216 ,(ardour-rpath-phase (version-prefix version 1)))) 218 ,(ardour-rpath-phase (version-prefix version 1))))
217 #:tests? #f ; no check target 219 #:test-target "test"
218 #:python ,python-2)) 220 #:python ,python-2))
219 (inputs 221 (inputs
220 `(("alsa-lib" ,alsa-lib) 222 `(("alsa-lib" ,alsa-lib)
@@ -256,6 +258,8 @@ namespace ARDOUR { const char* revision = \"" version "\" ; }")))))
256 (native-inputs 258 (native-inputs
257 `(("perl" ,perl) 259 `(("perl" ,perl)
258 ("cppunit" ,cppunit) 260 ("cppunit" ,cppunit)
261 ("itstool" ,itstool)
262 ("gettext" ,gettext-minimal)
259 ("pkg-config" ,pkg-config))) 263 ("pkg-config" ,pkg-config)))
260 (home-page "http://ardour.org") 264 (home-page "http://ardour.org")
261 (synopsis "Digital audio workstation") 265 (synopsis "Digital audio workstation")
diff --git a/emacs/guix-emacs.el b/gnu/packages/aux-files/emacs/guix-emacs.el
index 099261a0139..2bbd639ffd6 100644
--- a/emacs/guix-emacs.el
+++ b/gnu/packages/aux-files/emacs/guix-emacs.el
@@ -1,6 +1,6 @@
1;;; guix-emacs.el --- Emacs packages installed with Guix 1;;; guix-emacs.el --- Emacs packages installed with Guix
2 2
3;; Copyright © 2014, 2015, 2016 Alex Kost <alezost@gmail.com> 3;; Copyright © 2014, 2015, 2016, 2017 Alex Kost <alezost@gmail.com>
4 4
5;; This file is part of GNU Guix. 5;; This file is part of GNU Guix.
6 6
@@ -19,22 +19,14 @@
19 19
20;;; Commentary: 20;;; Commentary:
21 21
22;; This file provides auxiliary code for working with Emacs packages 22;; This file provides auxiliary code to autoload Emacs packages
23;; installed with Guix. 23;; installed with Guix.
24 24
25;;; Code: 25;;; Code:
26 26
27(require 'cl-lib) 27(require 'cl-lib)
28(unless (require 'guix-profiles nil t)
29 (defvar guix-user-profile (expand-file-name "~/.guix-profile")))
30 28
31(defcustom guix-package-enable-at-startup t 29(defvar guix-user-profile (expand-file-name "~/.guix-profile"))
32 "If non-nil, activate Emacs packages installed in a user profile.
33Set this variable to nil before requiring `guix-emacs' file to
34avoid loading autoloads of Emacs packages installed in
35`guix-user-profile'."
36 :type 'boolean
37 :group 'guix)
38 30
39(defvar guix-emacs-autoloads nil 31(defvar guix-emacs-autoloads nil
40 "List of the last loaded Emacs autoloads.") 32 "List of the last loaded Emacs autoloads.")
@@ -92,8 +84,8 @@ profiles.
92'Autoload' means add directories with Emacs packages to 84'Autoload' means add directories with Emacs packages to
93`load-path' and load 'autoloads' files matching 85`load-path' and load 'autoloads' files matching
94`guix-emacs-autoloads-regexp'." 86`guix-emacs-autoloads-regexp'."
95 (interactive (list (if (fboundp 'guix-profile-prompt) 87 (interactive (list (if (fboundp 'guix-read-package-profile)
96 (funcall 'guix-profile-prompt) 88 (funcall 'guix-read-package-profile)
97 guix-user-profile))) 89 guix-user-profile)))
98 (let ((profiles (or profiles 90 (let ((profiles (or profiles
99 (list "/run/current-system/profile" 91 (list "/run/current-system/profile"
@@ -115,9 +107,6 @@ profiles.
115 (setq guix-emacs-autoloads 107 (setq guix-emacs-autoloads
116 (append new-autoloads guix-emacs-autoloads)))))))) 108 (append new-autoloads guix-emacs-autoloads))))))))
117 109
118(when guix-package-enable-at-startup
119 (guix-emacs-autoload-packages))
120
121(provide 'guix-emacs) 110(provide 'guix-emacs)
122 111
123;;; guix-emacs.el ends here 112;;; guix-emacs.el ends here
diff --git a/gnu/packages/linux-libre-4.1-i686.conf b/gnu/packages/aux-files/linux-libre/4.1-i686.conf
index a37225541e1..a37225541e1 100644
--- a/gnu/packages/linux-libre-4.1-i686.conf
+++ b/gnu/packages/aux-files/linux-libre/4.1-i686.conf
diff --git a/gnu/packages/linux-libre-4.1-x86_64.conf b/gnu/packages/aux-files/linux-libre/4.1-x86_64.conf
index 82c58249231..82c58249231 100644
--- a/gnu/packages/linux-libre-4.1-x86_64.conf
+++ b/gnu/packages/aux-files/linux-libre/4.1-x86_64.conf
diff --git a/gnu/packages/linux-libre-4.10-i686.conf b/gnu/packages/aux-files/linux-libre/4.10-i686.conf
index 8ec475ea010..8ec475ea010 100644
--- a/gnu/packages/linux-libre-4.10-i686.conf
+++ b/gnu/packages/aux-files/linux-libre/4.10-i686.conf
diff --git a/gnu/packages/linux-libre-4.10-x86_64.conf b/gnu/packages/aux-files/linux-libre/4.10-x86_64.conf
index c5d8fe1da0f..c5d8fe1da0f 100644
--- a/gnu/packages/linux-libre-4.10-x86_64.conf
+++ b/gnu/packages/aux-files/linux-libre/4.10-x86_64.conf
diff --git a/gnu/packages/linux-libre-4.4-i686.conf b/gnu/packages/aux-files/linux-libre/4.4-i686.conf
index e877f195af8..e877f195af8 100644
--- a/gnu/packages/linux-libre-4.4-i686.conf
+++ b/gnu/packages/aux-files/linux-libre/4.4-i686.conf
diff --git a/gnu/packages/linux-libre-4.4-x86_64.conf b/gnu/packages/aux-files/linux-libre/4.4-x86_64.conf
index 406053ab7a7..406053ab7a7 100644
--- a/gnu/packages/linux-libre-4.4-x86_64.conf
+++ b/gnu/packages/aux-files/linux-libre/4.4-x86_64.conf
diff --git a/gnu/packages/linux-libre-4.9-i686.conf b/gnu/packages/aux-files/linux-libre/4.9-i686.conf
index 4f3a9f9271f..4f3a9f9271f 100644
--- a/gnu/packages/linux-libre-4.9-i686.conf
+++ b/gnu/packages/aux-files/linux-libre/4.9-i686.conf
diff --git a/gnu/packages/linux-libre-4.9-x86_64.conf b/gnu/packages/aux-files/linux-libre/4.9-x86_64.conf
index ca0fcded61e..ca0fcded61e 100644
--- a/gnu/packages/linux-libre-4.9-x86_64.conf
+++ b/gnu/packages/aux-files/linux-libre/4.9-x86_64.conf
diff --git a/gnu/packages/backup.scm b/gnu/packages/backup.scm
index c2dfc0fbbd8..923b0ba9edd 100644
--- a/gnu/packages/backup.scm
+++ b/gnu/packages/backup.scm
@@ -3,6 +3,7 @@
3;;; Copyright © 2014 Ian Denhardt <ian@zenhack.net> 3;;; Copyright © 2014 Ian Denhardt <ian@zenhack.net>
4;;; Copyright © 2015, 2016 Leo Famulari <leo@famulari.name> 4;;; Copyright © 2015, 2016 Leo Famulari <leo@famulari.name>
5;;; Copyright © 2017 Tobias Geerinckx-Rice <me@tobias.gr> 5;;; Copyright © 2017 Tobias Geerinckx-Rice <me@tobias.gr>
6;;; Copyright © 2017 Thomas Danckaert <post@thomasdanckaert.be>
6;;; 7;;;
7;;; This file is part of GNU Guix. 8;;; This file is part of GNU Guix.
8;;; 9;;;
@@ -24,7 +25,6 @@
24 #:use-module ((guix licenses) #:prefix license:) 25 #:use-module ((guix licenses) #:prefix license:)
25 #:use-module (guix download) 26 #:use-module (guix download)
26 #:use-module (guix utils) 27 #:use-module (guix utils)
27 #:use-module (guix build utils)
28 #:use-module (guix build-system gnu) 28 #:use-module (guix build-system gnu)
29 #:use-module (guix build-system python) 29 #:use-module (guix build-system python)
30 #:use-module (gnu packages) 30 #:use-module (gnu packages)
@@ -43,6 +43,7 @@
43 #:use-module (gnu packages mcrypt) 43 #:use-module (gnu packages mcrypt)
44 #:use-module (gnu packages nettle) 44 #:use-module (gnu packages nettle)
45 #:use-module (gnu packages pcre) 45 #:use-module (gnu packages pcre)
46 #:use-module (gnu packages perl)
46 #:use-module (gnu packages pkg-config) 47 #:use-module (gnu packages pkg-config)
47 #:use-module (gnu packages python) 48 #:use-module (gnu packages python)
48 #:use-module (gnu packages rsync) 49 #:use-module (gnu packages rsync)
@@ -67,6 +68,7 @@
67 (build-system python-build-system) 68 (build-system python-build-system)
68 (native-inputs 69 (native-inputs
69 `(("util-linux" ,util-linux) ;setsid command, for the tests 70 `(("util-linux" ,util-linux) ;setsid command, for the tests
71 ("par2cmdline" ,par2cmdline)
70 ("python-pexpect" ,python2-pexpect) 72 ("python-pexpect" ,python2-pexpect)
71 ("mock" ,python2-mock))) 73 ("mock" ,python2-mock)))
72 (propagated-inputs 74 (propagated-inputs
@@ -83,16 +85,18 @@
83 #:test-target "test" 85 #:test-target "test"
84 #:phases 86 #:phases
85 (modify-phases %standard-phases 87 (modify-phases %standard-phases
86 (add-before 88 (add-before 'build 'patch-source
87 'build 'patch-source ; embed gpg store name
88 (lambda* (#:key inputs #:allow-other-keys)
89 (substitute* "duplicity/gpginterface.py"
90 (("self.call = 'gpg'")
91 (string-append "self.call = '" (assoc-ref inputs "gnupg") "/bin/gpg'")))))
92 (add-before 'check 'check-setup
93 (lambda* (#:key inputs #:allow-other-keys) 89 (lambda* (#:key inputs #:allow-other-keys)
94 (substitute* "testing/functional/__init__.py" 90 ;; embed gpg store name
91 (substitute* "duplicity/gpginterface.py"
92 (("self.call = 'gpg'")
93 (string-append "self.call = '" (assoc-ref inputs "gnupg") "/bin/gpg'")))
94 (substitute* '("testing/functional/__init__.py"
95 "testing/overrides/bin/lftp")
95 (("/bin/sh") (which "sh"))) 96 (("/bin/sh") (which "sh")))
97 #t))
98 (add-before 'check 'check-setup
99 (lambda* (#:key inputs #:allow-other-keys)
96 (setenv "HOME" (getcwd)) ;gpg needs to write to $HOME 100 (setenv "HOME" (getcwd)) ;gpg needs to write to $HOME
97 (setenv "TZDIR" ;some timestamp checks need TZDIR 101 (setenv "TZDIR" ;some timestamp checks need TZDIR
98 (string-append (assoc-ref inputs "tzdata") 102 (string-append (assoc-ref inputs "tzdata")
@@ -365,6 +369,42 @@ to a remote location, and only the differences will be transmitted. Finally,
365rdiff-backup is easy to use and settings have sensible defaults.") 369rdiff-backup is easy to use and settings have sensible defaults.")
366 (license license:gpl2+))) 370 (license license:gpl2+)))
367 371
372(define-public rsnapshot
373 (package
374 (name "rsnapshot")
375 (version "1.4.2")
376 (source
377 (origin
378 (method url-fetch)
379 (uri (string-append
380 "https://github.com/rsnapshot/rsnapshot/releases/download/"
381 version "/rsnapshot-" version ".tar.gz"))
382 (sha256
383 (base32
384 "05jfy99a0xs6lvsjfp3wz21z0myqhmwl2grn3jr9clijbg282ah4"))))
385 (build-system gnu-build-system)
386 (arguments
387 `(#:phases
388 (modify-phases %standard-phases
389 (replace 'check
390 (lambda _
391 (substitute* '("t/cmd-post_pre-exec/conf/pre-true-post-true.conf"
392 "t/backup_exec/conf/backup_exec_fail.conf"
393 "t/backup_exec/conf/backup_exec.conf")
394 (("/bin/true") (which "true"))
395 (("/bin/false") (which "false")))
396 (zero? (system* "make" "test")))))))
397 (inputs
398 `(("perl" ,perl)
399 ("rsync" ,rsync)))
400 (home-page "http://rsnapshot.org")
401 (synopsis "Deduplicating snapshot backup utility based on rsync")
402 (description "rsnapshot is a filesystem snapshot utility based on rsync.
403rsnapshot makes it easy to make periodic snapshots of local machines, and
404remote machines over SSH. To reduce the disk space required for each backup,
405rsnapshot uses hard links to deduplicate identical files.")
406 (license license:gpl2+)))
407
368(define-public libchop 408(define-public libchop
369 (package 409 (package
370 (name "libchop") 410 (name "libchop")
diff --git a/gnu/packages/bash.scm b/gnu/packages/bash.scm
index 8d453bdaa16..24afd668257 100644
--- a/gnu/packages/bash.scm
+++ b/gnu/packages/bash.scm
@@ -22,6 +22,7 @@
22(define-module (gnu packages bash) 22(define-module (gnu packages bash)
23 #:use-module (guix licenses) 23 #:use-module (guix licenses)
24 #:use-module (gnu packages) 24 #:use-module (gnu packages)
25 #:use-module (gnu packages bootstrap)
25 #:use-module (gnu packages ncurses) 26 #:use-module (gnu packages ncurses)
26 #:use-module (gnu packages readline) 27 #:use-module (gnu packages readline)
27 #:use-module (gnu packages bison) 28 #:use-module (gnu packages bison)
@@ -262,7 +263,7 @@ without modification.")
262(define-public bash-completion 263(define-public bash-completion
263 (package 264 (package
264 (name "bash-completion") 265 (name "bash-completion")
265 (version "2.4") 266 (version "2.5")
266 (source (origin 267 (source (origin
267 (method url-fetch) 268 (method url-fetch)
268 (uri (string-append 269 (uri (string-append
@@ -270,7 +271,7 @@ without modification.")
270 version "/" name "-" version ".tar.xz")) 271 version "/" name "-" version ".tar.xz"))
271 (sha256 272 (sha256
272 (base32 273 (base32
273 "1xlhd09sb2w3bw8qaypxgkr0782w082mcbx8zf7yzjgy0996pxy0")) 274 "1kwmii1z1ljx5i4z702ynsr8jgrq64bj9w9hl3n2aa2kcl659fdh"))
274 (patches 275 (patches
275 (search-patches "bash-completion-directories.patch")))) 276 (search-patches "bash-completion-directories.patch"))))
276 (build-system gnu-build-system) 277 (build-system gnu-build-system)
diff --git a/gnu/packages/benchmark.scm b/gnu/packages/benchmark.scm
index acaeb67079c..ff5715d5788 100644
--- a/gnu/packages/benchmark.scm
+++ b/gnu/packages/benchmark.scm
@@ -29,7 +29,7 @@
29(define-public fio 29(define-public fio
30 (package 30 (package
31 (name "fio") 31 (name "fio")
32 (version "2.17") 32 (version "2.18")
33 (source (origin 33 (source (origin
34 (method url-fetch) 34 (method url-fetch)
35 (uri (string-append 35 (uri (string-append
@@ -37,10 +37,10 @@
37 "fio-" version ".tar.bz2")) 37 "fio-" version ".tar.bz2"))
38 (sha256 38 (sha256
39 (base32 39 (base32
40 "1kxgad5k2m7y637g3kq8jmhwzlg3c64w9ky7066c5l09bwb6l58h")))) 40 "08kx2mh556xby9saayrbynwrkmh4v8wwrw759nbv025ch3xbw79n"))))
41 (build-system gnu-build-system) 41 (build-system gnu-build-system)
42 (arguments 42 (arguments
43 '(#:tests? #f ; No tests. 43 '(#:test-target "test"
44 #:phases 44 #:phases
45 (modify-phases %standard-phases 45 (modify-phases %standard-phases
46 (add-after 46 (add-after
diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm
index a448b51c6cf..7bf39c6b037 100644
--- a/gnu/packages/bioinformatics.scm
+++ b/gnu/packages/bioinformatics.scm
@@ -1,6 +1,6 @@
1;;; GNU Guix --- Functional package management for GNU 1;;; GNU Guix --- Functional package management for GNU
2;;; Copyright © 2014, 2015, 2016, 2017 Ricardo Wurmus <rekado@elephly.net> 2;;; Copyright © 2014, 2015, 2016, 2017 Ricardo Wurmus <rekado@elephly.net>
3;;; Copyright © 2015, 2016 Ben Woodcroft <donttrustben@gmail.com> 3;;; Copyright © 2015, 2016, 2017 Ben Woodcroft <donttrustben@gmail.com>
4;;; Copyright © 2015, 2016 Pjotr Prins <pjotr.guix@thebird.nl> 4;;; Copyright © 2015, 2016 Pjotr Prins <pjotr.guix@thebird.nl>
5;;; Copyright © 2015 Andreas Enge <andreas@enge.fr> 5;;; Copyright © 2015 Andreas Enge <andreas@enge.fr>
6;;; Copyright © 2016 Roel Janssen <roel@gnu.org> 6;;; Copyright © 2016 Roel Janssen <roel@gnu.org>
@@ -238,7 +238,7 @@ instance, it implements several methods to assess contig-wise read coverage.")
238(define-public bamtools 238(define-public bamtools
239 (package 239 (package
240 (name "bamtools") 240 (name "bamtools")
241 (version "2.3.0") 241 (version "2.4.1")
242 (source (origin 242 (source (origin
243 (method url-fetch) 243 (method url-fetch)
244 (uri (string-append 244 (uri (string-append
@@ -247,7 +247,7 @@ instance, it implements several methods to assess contig-wise read coverage.")
247 (file-name (string-append name "-" version ".tar.gz")) 247 (file-name (string-append name "-" version ".tar.gz"))
248 (sha256 248 (sha256
249 (base32 249 (base32
250 "1brry29bw2xr2l9pqn240rkqwayg85b8qq78zk2zs6nlspk4d018")))) 250 "0jr024kcrhjb82cm69i7p5fcg5375zlc1h3qh2n1v368hcd0qflk"))))
251 (build-system cmake-build-system) 251 (build-system cmake-build-system)
252 (arguments 252 (arguments
253 `(#:tests? #f ;no "check" target 253 `(#:tests? #f ;no "check" target
@@ -499,6 +499,9 @@ provides the Ribotaper pipeline.")
499 ("python-matplotlib" ,python2-matplotlib) 499 ("python-matplotlib" ,python2-matplotlib)
500 ("python-scipy" ,python2-scipy) 500 ("python-scipy" ,python2-scipy)
501 ("python-statsmodels" ,python2-statsmodels))) 501 ("python-statsmodels" ,python2-statsmodels)))
502 (native-inputs
503 `(("python-mock" ,python2-mock)
504 ("python-nose" ,python2-nose)))
502 (home-page "http://public.bmi.inf.ethz.ch/user/zhongy/RiboDiff/") 505 (home-page "http://public.bmi.inf.ethz.ch/user/zhongy/RiboDiff/")
503 (synopsis "Detect translation efficiency changes from ribosome footprints") 506 (synopsis "Detect translation efficiency changes from ribosome footprints")
504 (description "RiboDiff is a statistical tool that detects the protein 507 (description "RiboDiff is a statistical tool that detects the protein
@@ -604,6 +607,8 @@ Python.")
604 ("python-future" ,python-future) 607 ("python-future" ,python-future)
605 ("python-click" ,python-click) 608 ("python-click" ,python-click)
606 ("python-h5py" ,python-h5py))) 609 ("python-h5py" ,python-h5py)))
610 (native-inputs
611 `(("python-nose" ,python-nose)))
607 (home-page "http://www.biom-format.org") 612 (home-page "http://www.biom-format.org")
608 (synopsis "Biological Observation Matrix (BIOM) format utilities") 613 (synopsis "Biological Observation Matrix (BIOM) format utilities")
609 (description 614 (description
@@ -1602,6 +1607,7 @@ databases.")
1602 ("python-scipy" ,python2-scipy))) 1607 ("python-scipy" ,python2-scipy)))
1603 (native-inputs 1608 (native-inputs
1604 `(("python-mock" ,python2-mock) ; for tests 1609 `(("python-mock" ,python2-mock) ; for tests
1610 ("python-nose" ,python2-nose) ; for tests
1605 ("python-pytz" ,python2-pytz))) ; for tests 1611 ("python-pytz" ,python2-pytz))) ; for tests
1606 (home-page "https://github.com/YeoLab/clipper") 1612 (home-page "https://github.com/YeoLab/clipper")
1607 (synopsis "CLIP peak enrichment recognition") 1613 (synopsis "CLIP peak enrichment recognition")
@@ -1978,7 +1984,8 @@ accessing bigWig files.")
1978 (uri (pypi-uri "DendroPy" version)) 1984 (uri (pypi-uri "DendroPy" version))
1979 (sha256 1985 (sha256
1980 (base32 1986 (base32
1981 "15c7s3d5gf19ljsxvq5advaa752wfi7pwrdjyhzmg85hccyvp47p")))) 1987 "15c7s3d5gf19ljsxvq5advaa752wfi7pwrdjyhzmg85hccyvp47p"))
1988 (patches (search-patches "python-dendropy-fix-tests.patch"))))
1982 (build-system python-build-system) 1989 (build-system python-build-system)
1983 (home-page "http://packages.python.org/DendroPy/") 1990 (home-page "http://packages.python.org/DendroPy/")
1984 (synopsis "Library for phylogenetics and phylogenetic computing") 1991 (synopsis "Library for phylogenetics and phylogenetic computing")
@@ -2030,6 +2037,7 @@ trees (phylogenies) and characters.")
2030 ("python-pybigwig" ,python2-pybigwig))) 2037 ("python-pybigwig" ,python2-pybigwig)))
2031 (native-inputs 2038 (native-inputs
2032 `(("python-mock" ,python2-mock) ;for tests 2039 `(("python-mock" ,python2-mock) ;for tests
2040 ("python-nose" ,python2-nose) ;for tests
2033 ("python-pytz" ,python2-pytz))) ;for tests 2041 ("python-pytz" ,python2-pytz))) ;for tests
2034 (home-page "https://github.com/fidelram/deepTools") 2042 (home-page "https://github.com/fidelram/deepTools")
2035 (synopsis "Tools for normalizing and visualizing deep-sequencing data") 2043 (synopsis "Tools for normalizing and visualizing deep-sequencing data")
@@ -2047,7 +2055,7 @@ identify enrichments with functional annotations of the genome.")
2047(define-public diamond 2055(define-public diamond
2048 (package 2056 (package
2049 (name "diamond") 2057 (name "diamond")
2050 (version "0.8.34") 2058 (version "0.8.36")
2051 (source (origin 2059 (source (origin
2052 (method url-fetch) 2060 (method url-fetch)
2053 (uri (string-append 2061 (uri (string-append
@@ -2056,7 +2064,7 @@ identify enrichments with functional annotations of the genome.")
2056 (file-name (string-append name "-" version ".tar.gz")) 2064 (file-name (string-append name "-" version ".tar.gz"))
2057 (sha256 2065 (sha256
2058 (base32 2066 (base32
2059 "0jvr34g346gbz7z1zb9bs0vplivm9p4cxk0lbzklvdpa7g236p39")))) 2067 "092smzzjcg51n3x4h84k52ijpz9m40ri838j9k2i463ribc3c8rh"))))
2060 (build-system cmake-build-system) 2068 (build-system cmake-build-system)
2061 (arguments 2069 (arguments
2062 '(#:tests? #f ; no "check" target 2070 '(#:tests? #f ; no "check" target
@@ -2969,28 +2977,10 @@ data. It also provides the bgzip, htsfile, and tabix utilities.")
2969 "1k3x44biak00aiv3hpm1yd6nn4hhp7n0qnbs3zh2q9sw7qr1qj5r")))) 2977 "1k3x44biak00aiv3hpm1yd6nn4hhp7n0qnbs3zh2q9sw7qr1qj5r"))))
2970 (build-system python-build-system) 2978 (build-system python-build-system)
2971 (arguments 2979 (arguments
2972 `(#:phases 2980 `(#:tests? #f)) ; FIXME: "ImportError: No module named 'utility'"
2973 (modify-phases %standard-phases 2981 (propagated-inputs
2974 (add-after
2975 'install 'wrap-program
2976 (lambda* (#:key inputs outputs #:allow-other-keys)
2977 (let* ((out (assoc-ref outputs "out"))
2978 (python-version (string-take (string-take-right
2979 (assoc-ref inputs "python") 5) 3))
2980 (path (string-join
2981 (map (lambda (name)
2982 (string-append (assoc-ref inputs name)
2983 "/lib/python" python-version
2984 "/site-packages"))
2985 '("python-scipy"
2986 "python-numpy"
2987 "python-matplotlib"))
2988 ":")))
2989 (wrap-program (string-append out "/bin/idr")
2990 `("PYTHONPATH" ":" prefix (,path))))
2991 #t)))))
2992 (inputs
2993 `(("python-scipy" ,python-scipy) 2982 `(("python-scipy" ,python-scipy)
2983 ("python-sympy" ,python-sympy)
2994 ("python-numpy" ,python-numpy) 2984 ("python-numpy" ,python-numpy)
2995 ("python-matplotlib" ,python-matplotlib))) 2985 ("python-matplotlib" ,python-matplotlib)))
2996 (native-inputs 2986 (native-inputs
@@ -3679,6 +3669,9 @@ the phenotype as it models the data.")
3679 (build-system python-build-system) 3669 (build-system python-build-system)
3680 (arguments 3670 (arguments
3681 `(#:python ,python-2 3671 `(#:python ,python-2
3672 ;; FIXME: Tests fail with "No such file or directory:
3673 ;; pbtools/pbtranscript/modified_bx_intervals/intersection_unique.so"
3674 #:tests? #f
3682 #:phases 3675 #:phases
3683 (modify-phases %standard-phases 3676 (modify-phases %standard-phases
3684 (add-after 'unpack 'enter-directory 3677 (add-after 'unpack 'enter-directory
diff --git a/gnu/packages/bootstrap.scm b/gnu/packages/bootstrap.scm
index 61f1f1ab3fb..048fe26f1a1 100644
--- a/gnu/packages/bootstrap.scm
+++ b/gnu/packages/bootstrap.scm
@@ -170,6 +170,7 @@ successful, or false to signal an error."
170 ((string=? system "i686-gnu") "/lib/ld.so.1") 170 ((string=? system "i686-gnu") "/lib/ld.so.1")
171 ((string=? system "aarch64-linux") "/lib/ld-linux-aarch64.so.1") 171 ((string=? system "aarch64-linux") "/lib/ld-linux-aarch64.so.1")
172 ((string=? system "powerpc-linux") "/lib/ld.so.1") 172 ((string=? system "powerpc-linux") "/lib/ld.so.1")
173 ((string=? system "alpha-linux") "/lib/ld-linux.so.2")
173 174
174 ;; XXX: This one is used bare-bones, without a libc, so add a case 175 ;; XXX: This one is used bare-bones, without a libc, so add a case
175 ;; here just so we can keep going. 176 ;; here just so we can keep going.
diff --git a/gnu/packages/calendar.scm b/gnu/packages/calendar.scm
index 4726abffde7..1e9a93ca933 100644
--- a/gnu/packages/calendar.scm
+++ b/gnu/packages/calendar.scm
@@ -84,13 +84,13 @@ data units.")
84(define-public khal 84(define-public khal
85 (package 85 (package
86 (name "khal") 86 (name "khal")
87 (version "0.9.2") 87 (version "0.9.3")
88 (source (origin 88 (source (origin
89 (method url-fetch) 89 (method url-fetch)
90 (uri (pypi-uri "khal" version)) 90 (uri (pypi-uri "khal" version))
91 (sha256 91 (sha256
92 (base32 92 (base32
93 "1ryh5c7408w8gpql5s9mkxkvz1ngnds3xm43p7r96ynx8prr9swp")))) 93 "1iva6cw2x3p2jzjj6bsyx7lc7yxin4fsd37j9c96j07x16p4imyl"))))
94 (build-system python-build-system) 94 (build-system python-build-system)
95 (arguments 95 (arguments
96 `(#:phases (modify-phases %standard-phases 96 `(#:phases (modify-phases %standard-phases
@@ -112,7 +112,8 @@ data units.")
112 "/share/zoneinfo/Zulu")) 112 "/share/zoneinfo/Zulu"))
113 (zero? (system* "py.test" "tests"))))))) 113 (zero? (system* "py.test" "tests")))))))
114 (native-inputs 114 (native-inputs
115 `(("python-pytest" ,python-pytest) 115 ;; XXX Uses tmpdir_factory, introduced in pytest 2.8.
116 `(("python-pytest" ,python-pytest-2.9.2)
116 ("python-pytest-cov" ,python-pytest-cov) 117 ("python-pytest-cov" ,python-pytest-cov)
117 ("python-setuptools-scm" ,python-setuptools-scm) 118 ("python-setuptools-scm" ,python-setuptools-scm)
118 ;; Required for tests 119 ;; Required for tests
@@ -125,7 +126,7 @@ data units.")
125 `(("sqlite" ,sqlite))) 126 `(("sqlite" ,sqlite)))
126 (propagated-inputs 127 (propagated-inputs
127 `(("python-configobj" ,python-configobj) 128 `(("python-configobj" ,python-configobj)
128 ("python-dateutil-2" ,python-dateutil-2) 129 ("python-dateutil" ,python-dateutil)
129 ("python-icalendar" ,python-icalendar) 130 ("python-icalendar" ,python-icalendar)
130 ("python-tzlocal" ,python-tzlocal) 131 ("python-tzlocal" ,python-tzlocal)
131 ("python-urwid" ,python-urwid) 132 ("python-urwid" ,python-urwid)
diff --git a/gnu/packages/cdrom.scm b/gnu/packages/cdrom.scm
index 293bf16ade5..14e430646a8 100644
--- a/gnu/packages/cdrom.scm
+++ b/gnu/packages/cdrom.scm
@@ -6,6 +6,7 @@
6;;; Copyright © 2015, 2016, 2017 Efraim Flashner <efraim@flashner.co.il> 6;;; Copyright © 2015, 2016, 2017 Efraim Flashner <efraim@flashner.co.il>
7;;; Copyright © 2016 Alex Kost <alezost@gmail.com> 7;;; Copyright © 2016 Alex Kost <alezost@gmail.com>
8;;; Copyright © 2016 Marius Bakke <mbakke@fastmail.com> 8;;; Copyright © 2016 Marius Bakke <mbakke@fastmail.com>
9;;; Copyright © 2017 John Darrington <jmd@gnu.org>
9;;; 10;;;
10;;; This file is part of GNU Guix. 11;;; This file is part of GNU Guix.
11;;; 12;;;
@@ -496,3 +497,27 @@ session, and it can create M3U playlists.")
496 (synopsis "Command-line program to extract audio CDs") 497 (synopsis "Command-line program to extract audio CDs")
497 (description "RipIT is used to extract audio from CDs.") 498 (description "RipIT is used to extract audio from CDs.")
498 (license gpl2))) 499 (license gpl2)))
500
501(define-public ccd2cue
502 (package
503 (name "ccd2cue")
504 (version "0.5")
505 (source
506 (origin
507 (method url-fetch)
508 (uri (string-append
509 "mirror://gnu/ccd2cue/ccd2cue-" version
510 ".tar.gz"))
511 (sha256
512 (base32
513 "1icrkg25hwx4gsn3dski2172ia4ywjh8m1sa17zmjclnrgdwy9c7"))))
514 (build-system gnu-build-system)
515 (synopsis "CCD to CUE sheet conversion")
516 (description
517 "GNU ccd2cue is a preprocessor for CD burning software that allows
518the conversion of the proprietary CCD format to the CUE format, which
519is well-supported by free software. These files are commonly
520distributed with CD images and are used to describe how tracks are
521laid out on the image.")
522 (home-page "http://www.gnu.org/software/ccd2cue")
523 (license gpl3+)))
diff --git a/gnu/packages/certs.scm b/gnu/packages/certs.scm
index b27577bbec4..246e5ca14a0 100644
--- a/gnu/packages/certs.scm
+++ b/gnu/packages/certs.scm
@@ -73,7 +73,7 @@
73(define-public nss-certs 73(define-public nss-certs
74 (package 74 (package
75 (name "nss-certs") 75 (name "nss-certs")
76 (version "3.27.1") 76 (version "3.29.2")
77 (source (origin 77 (source (origin
78 (method url-fetch) 78 (method url-fetch)
79 (uri (let ((version-with-underscores 79 (uri (let ((version-with-underscores
@@ -84,7 +84,7 @@
84 "nss-" version ".tar.gz"))) 84 "nss-" version ".tar.gz")))
85 (sha256 85 (sha256
86 (base32 86 (base32
87 "0sraxk26swlgl7rl742rkfp5k251v5z3lqw9k8ikin0cjfhkfdpx")))) 87 "149807rmzb76hnh48rw4m9jw83iw0168njzchz0hmbsgc8mk0i5w"))))
88 (build-system gnu-build-system) 88 (build-system gnu-build-system)
89 (outputs '("out")) 89 (outputs '("out"))
90 (native-inputs 90 (native-inputs
diff --git a/gnu/packages/check.scm b/gnu/packages/check.scm
index 9ad03cd558f..372f1c4feac 100644
--- a/gnu/packages/check.scm
+++ b/gnu/packages/check.scm
@@ -201,7 +201,7 @@ normally do not detect. The goal is to detect only real errors in the code
201(define-public googletest 201(define-public googletest
202 (package 202 (package
203 (name "googletest") 203 (name "googletest")
204 (version "1.7.0") 204 (version "1.8.0")
205 (source 205 (source
206 (origin 206 (origin
207 (method url-fetch) 207 (method url-fetch)
@@ -210,46 +210,10 @@ normally do not detect. The goal is to detect only real errors in the code
210 (file-name (string-append name "-" version ".tar.gz")) 210 (file-name (string-append name "-" version ".tar.gz"))
211 (sha256 211 (sha256
212 (base32 212 (base32
213 "1k0nf1l9cb3prdmsvaajl5i31bx86c1mw0d5jgzykz7rzm36afpp")))) 213 "1n5p1m2m3fjrjdj752lf92f9wq3pl5cbsfrb49jqbg52ghkz99jq"))))
214 (build-system gnu-build-system) 214 (build-system cmake-build-system)
215 (native-inputs 215 (native-inputs
216 `(("python-2" ,python-2) 216 `(("python-2" ,python-2)))
217 ("autoconf" ,autoconf)
218 ("automake" ,automake)
219 ("libtool" ,libtool)))
220 (arguments
221 `(#:phases
222 (modify-phases %standard-phases
223 (add-before 'configure 'autoconf
224 (lambda _
225 (zero? (system* "autoreconf" "-vfi"))))
226 (add-before 'autoconf 'generate-headers
227 (lambda _
228 (begin
229 (delete-file "include/gtest/gtest-param-test.h")
230 (system* "python2" "scripts/pump.py"
231 "include/gtest/gtest-param-test.h.pump")
232 (delete-file "include/gtest/internal/gtest-tuple.h")
233 (system* "python2" "scripts/pump.py"
234 "include/gtest//internal/gtest-tuple.h.pump")
235 (delete-file
236 "include/gtest/internal/gtest-param-util-generated.h")
237 (system*
238 "python2" "scripts/pump.py"
239 "include/gtest/internal/gtest-param-util-generated.h.pump")
240 (delete-file "include/gtest/internal/gtest-type-util.h")
241 (system* "python2" "scripts/pump.py"
242 "include/gtest/internal/gtest-type-util.h.pump"))))
243 (replace 'install
244 (lambda _
245 (let ((out (assoc-ref %outputs "out")))
246 (begin
247 (install-file "lib/.libs/libgtest_main.a"
248 (string-append out "/lib"))
249 (install-file "lib/.libs/libgtest.a"
250 (string-append out "/lib"))
251 (copy-recursively "include"
252 (string-append out "/include")))))))))
253 (home-page "https://github.com/google/googletest/") 217 (home-page "https://github.com/google/googletest/")
254 (synopsis "Test discovery and XUnit test framework") 218 (synopsis "Test discovery and XUnit test framework")
255 (description "Google Test features an XUnit test framework, automated test 219 (description "Google Test features an XUnit test framework, automated test
diff --git a/gnu/packages/compression.scm b/gnu/packages/compression.scm
index 81e95c70e58..4e6a248e8eb 100644
--- a/gnu/packages/compression.scm
+++ b/gnu/packages/compression.scm
@@ -945,7 +945,7 @@ well as bzip2.")
945(define-public snappy 945(define-public snappy
946 (package 946 (package
947 (name "snappy") 947 (name "snappy")
948 (version "1.1.3") 948 (version "1.1.4")
949 (source (origin 949 (source (origin
950 (method url-fetch) 950 (method url-fetch)
951 (uri (string-append 951 (uri (string-append
@@ -953,7 +953,7 @@ well as bzip2.")
953 version "/" name "-" version ".tar.gz")) 953 version "/" name "-" version ".tar.gz"))
954 (sha256 954 (sha256
955 (base32 955 (base32
956 "1wzf8yif5ym2gj52db6v5m1pxnmn258i38x7llk9x346y2nq47ig")))) 956 "0mq0nz8gbi1sp3y6xcg0a6wbvnd6gc717f3vh2xrjmfj5w9gwjqk"))))
957 (build-system gnu-build-system) 957 (build-system gnu-build-system)
958 (home-page "https://github.com/google/snappy") 958 (home-page "https://github.com/google/snappy")
959 (synopsis "Fast compressor/decompressor") 959 (synopsis "Fast compressor/decompressor")
@@ -1128,3 +1128,21 @@ or junctions, and always follows hard links.")
1128 ;; libzpaq.cpp contains a mix of public-domain and 1128 ;; libzpaq.cpp contains a mix of public-domain and
1129 ;; expat-licenced (or ‘MIT’) code. 1129 ;; expat-licenced (or ‘MIT’) code.
1130 license:expat)))) 1130 license:expat))))
1131
1132(define-public unrar
1133 (package
1134 (name "unrar")
1135 (version "0.0.1")
1136 (source (origin
1137 (method url-fetch)
1138 (uri (string-append
1139 "http://download.gna.org/unrar/unrar-" version ".tar.gz"))
1140 (sha256
1141 (base32
1142 "1fgmjaxffj3shyxgy765jhxwz1cq88hk0fih1bsdzyvymyyz6mz7"))))
1143 (build-system gnu-build-system)
1144 (home-page "http://download.gna.org/unrar")
1145 (synopsis "RAR archive extraction tool")
1146 (description "Unrar is a simple command-line program to list and extract
1147RAR archives.")
1148 (license license:gpl2+)))
diff --git a/gnu/packages/curl.scm b/gnu/packages/curl.scm
index ec982ef65b3..22e18389e7c 100644
--- a/gnu/packages/curl.scm
+++ b/gnu/packages/curl.scm
@@ -40,14 +40,14 @@
40(define-public curl 40(define-public curl
41 (package 41 (package
42 (name "curl") 42 (name "curl")
43 (version "7.52.1") 43 (version "7.53.0")
44 (source (origin 44 (source (origin
45 (method url-fetch) 45 (method url-fetch)
46 (uri (string-append "https://curl.haxx.se/download/curl-" 46 (uri (string-append "https://curl.haxx.se/download/curl-"
47 version ".tar.lzma")) 47 version ".tar.lzma"))
48 (sha256 48 (sha256
49 (base32 49 (base32
50 "0r937wplchjxifxqqcjxd9rzp6l9rqqdfjn41x1y4djrh95nsa24")))) 50 "1k0i31xygb804c61llhin5wbpcscg4gfqmbxcfkpdr1alwh7igrq"))))
51 (build-system gnu-build-system) 51 (build-system gnu-build-system)
52 (outputs '("out" 52 (outputs '("out"
53 "doc")) ;1.2 MiB of man3 pages 53 "doc")) ;1.2 MiB of man3 pages
diff --git a/gnu/packages/databases.scm b/gnu/packages/databases.scm
index 877eac9559e..4b637f0c702 100644
--- a/gnu/packages/databases.scm
+++ b/gnu/packages/databases.scm
@@ -8,7 +8,7 @@
8;;; Copyright © 2015 Sou Bunnbu <iyzsong@gmail.com> 8;;; Copyright © 2015 Sou Bunnbu <iyzsong@gmail.com>
9;;; Copyright © 2015 Leo Famulari <leo@famulari.name> 9;;; Copyright © 2015 Leo Famulari <leo@famulari.name>
10;;; Copyright © 2016, 2017 Efraim Flashner <efraim@flashner.co.il> 10;;; Copyright © 2016, 2017 Efraim Flashner <efraim@flashner.co.il>
11;;; Copyright © 2016 ng0 <ng0@we.make.ritual.n0.is> 11;;; Copyright © 2016, 2017 ng0 <contact.ng0@cryptolab.net>
12;;; Copyright © 2016 Roel Janssen <roel@gnu.org> 12;;; Copyright © 2016 Roel Janssen <roel@gnu.org>
13;;; Copyright © 2016 David Craven <david@craven.ch> 13;;; Copyright © 2016 David Craven <david@craven.ch>
14;;; Copyright © 2016 Jan Nieuwenhuizen <janneke@gnu.org> 14;;; Copyright © 2016 Jan Nieuwenhuizen <janneke@gnu.org>
@@ -252,7 +252,7 @@ SQL, Key/Value, XML/XQuery or Java Object storage for their data model.")
252(define-public leveldb 252(define-public leveldb
253 (package 253 (package
254 (name "leveldb") 254 (name "leveldb")
255 (version "1.19") 255 (version "1.20")
256 (source (origin 256 (source (origin
257 (method url-fetch) 257 (method url-fetch)
258 (uri (string-append "https://github.com/google/leveldb" 258 (uri (string-append "https://github.com/google/leveldb"
@@ -260,7 +260,7 @@ SQL, Key/Value, XML/XQuery or Java Object storage for their data model.")
260 (file-name (string-append name "-" version ".tar.gz")) 260 (file-name (string-append name "-" version ".tar.gz"))
261 (sha256 261 (sha256
262 (base32 262 (base32
263 "00jjgs9xlwycfkg0xd7n1rj6v9zrx7xc7hann6zalrjyhap18ykx")))) 263 "0r36bcrj6b2afsp4aw1gjai3jbs1c7734pxpc1jz7hh9nasyiazm"))))
264 (build-system gnu-build-system) 264 (build-system gnu-build-system)
265 (arguments 265 (arguments
266 '(#:make-flags (list "CC=gcc") 266 '(#:make-flags (list "CC=gcc")
@@ -553,7 +553,7 @@ types are supported, as is encryption.")
553(define-public rocksdb 553(define-public rocksdb
554 (package 554 (package
555 (name "rocksdb") 555 (name "rocksdb")
556 (version "5.1.2") 556 (version "5.1.4")
557 (source (origin 557 (source (origin
558 (method url-fetch) 558 (method url-fetch)
559 (uri (string-append "https://github.com/facebook/rocksdb" 559 (uri (string-append "https://github.com/facebook/rocksdb"
@@ -561,7 +561,7 @@ types are supported, as is encryption.")
561 (file-name (string-append name "-" version ".tar.gz")) 561 (file-name (string-append name "-" version ".tar.gz"))
562 (sha256 562 (sha256
563 (base32 563 (base32
564 "1qdbs13al7g45xc2j44wzx0ywrg32q1gsdhk5j6j4952xg91rfmh")) 564 "0ddyj8lh5jk6vx675pdg4jhgs7c12ckw5j31rz85jlrds68ygrry"))
565 (modules '((guix build utils))) 565 (modules '((guix build utils)))
566 (snippet 566 (snippet
567 '(begin 567 '(begin
@@ -1203,6 +1203,37 @@ and B+ Tree data storage models. It is a fast key-value lightweight
1203database and supports many programming languages. It is a NoSQL database.") 1203database and supports many programming languages. It is a NoSQL database.")
1204 (license license:gpl3+))) 1204 (license license:gpl3+)))
1205 1205
1206(define-public tokyocabinet
1207 (package
1208 (name "tokyocabinet")
1209 (version "1.4.48")
1210 (source
1211 (origin
1212 (method url-fetch)
1213 (uri (string-append "http://fallabs.com/tokyocabinet/"
1214 name "-" version ".tar.gz"))
1215 (sha256
1216 (base32
1217 "140zvr0n8kvsl0fbn2qn3f2kh3yynfwnizn4dgbj47m975yg80x0"))))
1218 (build-system gnu-build-system)
1219 (arguments
1220 `(#:configure-flags
1221 (list "--enable-pthread" "--enable-off64" "--enable-fastest"
1222 (string-append "LDFLAGS=-Wl,-rpath="
1223 (assoc-ref %outputs "out") "/lib"))))
1224 (inputs
1225 `(("zlib" ,zlib)))
1226 (home-page "http://fallabs.com/tokyocabinet/")
1227 (synopsis "Tokyo Cabinet is a modern implementation of the DBM database")
1228 (description
1229 "Tokyo Cabinet is a library of routines for managing a database.
1230The database is a simple data file containing records, each is a pair of a
1231key and a value. Every key and value is serial bytes with variable length.
1232Both binary data and character string can be used as a key and a value.
1233There is neither concept of data tables nor data types. Records are
1234organized in hash table, B+ tree, or fixed-length array.")
1235 (license license:lgpl2.1+)))
1236
1206(define-public wiredtiger 1237(define-public wiredtiger
1207 (package 1238 (package
1208 (name "wiredtiger") 1239 (name "wiredtiger")
diff --git a/gnu/packages/dav.scm b/gnu/packages/dav.scm
index 546597c6173..7901e1c1d87 100644
--- a/gnu/packages/dav.scm
+++ b/gnu/packages/dav.scm
@@ -55,15 +55,13 @@ clients.")
55(define-public vdirsyncer 55(define-public vdirsyncer
56 (package 56 (package
57 (name "vdirsyncer") 57 (name "vdirsyncer")
58 (version "0.14.1") 58 (version "0.15.0")
59 (source (origin 59 (source (origin
60 (method url-fetch) 60 (method url-fetch)
61 (uri (pypi-uri name version)) 61 (uri (pypi-uri name version))
62 (patches
63 (search-patches "vdirsyncer-test-suite-slow-machines.patch"))
64 (sha256 62 (sha256
65 (base32 63 (base32
66 "044f01fjd8dpz4y9dm3qcc1a8cihcxxbr1sz6y6fkvglpb6k85y5")))) 64 "08aa5yxcj7ziz2r0hz4p554q8hgpfl2bh8r6r85f4g24mg6arxsj"))))
67 (build-system python-build-system) 65 (build-system python-build-system)
68 (arguments 66 (arguments
69 `(#:phases (modify-phases %standard-phases 67 `(#:phases (modify-phases %standard-phases
diff --git a/gnu/packages/disk.scm b/gnu/packages/disk.scm
index ec9632facab..93895278d65 100644
--- a/gnu/packages/disk.scm
+++ b/gnu/packages/disk.scm
@@ -302,14 +302,14 @@ and can dramatically shorten the lifespan of the drive if left unchecked.")
302(define-public gparted 302(define-public gparted
303 (package 303 (package
304 (name "gparted") 304 (name "gparted")
305 (version "0.28.0") 305 (version "0.28.1")
306 (source 306 (source
307 (origin 307 (origin
308 (method url-fetch) 308 (method url-fetch)
309 (uri (string-append "mirror://sourceforge/gparted/gparted/gparted-" 309 (uri (string-append "mirror://sourceforge/gparted/gparted/gparted-"
310 version "/gparted-" version ".tar.gz")) 310 version "/gparted-" version ".tar.gz"))
311 (sha256 311 (sha256
312 (base32 "1w9xsph6fpr7l96b3bxl1bgs94cfp9iisg694h8w3fahihwldzdr")))) 312 (base32 "0cyk8lpimm6wani8khw0szwqkgw5wpq2mfnfxkbgfm2774a1z2bn"))))
313 (build-system gnu-build-system) 313 (build-system gnu-build-system)
314 (arguments 314 (arguments
315 `(#:tests? #f ; Tests require a network connection. 315 `(#:tests? #f ; Tests require a network connection.
diff --git a/gnu/packages/django.scm b/gnu/packages/django.scm
index 9a3c66c45e4..185fbf8e623 100644
--- a/gnu/packages/django.scm
+++ b/gnu/packages/django.scm
@@ -106,6 +106,10 @@ to the @dfn{don't repeat yourself} (DRY) principle.")
106 (base32 106 (base32
107 "0906hms6y6znjhpd0g4wmzv9vcla4brkdpsm4zha9zdj8g5vq2hd")))) 107 "0906hms6y6znjhpd0g4wmzv9vcla4brkdpsm4zha9zdj8g5vq2hd"))))
108 (build-system python-build-system) 108 (build-system python-build-system)
109 (arguments
110 ;; FIXME: Upstream uses a 'runtests.py' script that is not
111 ;; present in the pypi tarball.
112 '(#:tests? #f))
109 (propagated-inputs 113 (propagated-inputs
110 `(("python-django" ,python-django))) 114 `(("python-django" ,python-django)))
111 (home-page "https://github.com/alsoicode/django-simple-math-captcha") 115 (home-page "https://github.com/alsoicode/django-simple-math-captcha")
@@ -131,7 +135,8 @@ with arguments to the field constructor.")
131 "1mmc7zsz3dlhs6sx4sppkj1vgshabi362r1a8b8wpj1qfximpqcb")))) 135 "1mmc7zsz3dlhs6sx4sppkj1vgshabi362r1a8b8wpj1qfximpqcb"))))
132 (build-system python-build-system) 136 (build-system python-build-system)
133 (arguments 137 (arguments
134 `(#:phases 138 `(#:tests? #f ; FIXME: How to run tests?
139 #:phases
135 (modify-phases %standard-phases 140 (modify-phases %standard-phases
136 (add-after 'unpack 'patch-setuppy 141 (add-after 'unpack 'patch-setuppy
137 (lambda _ 142 (lambda _
@@ -163,6 +168,12 @@ useful tools for testing Django applications and projects.")
163 (base32 168 (base32
164 "0f78hmk8c903zwfzlsiw7ivgag81ymmb5hi73rzxbhnlg2v0l3fx")))) 169 "0f78hmk8c903zwfzlsiw7ivgag81ymmb5hi73rzxbhnlg2v0l3fx"))))
165 (build-system python-build-system) 170 (build-system python-build-system)
171 (arguments
172 '(#:phases
173 (modify-phases %standard-phases
174 (replace 'check
175 (lambda _
176 (zero? (system* "python" "runtests.py")))))))
166 (native-inputs 177 (native-inputs
167 `(("python-django" ,python-django) 178 `(("python-django" ,python-django)
168 ("python-mock" ,python-mock))) 179 ("python-mock" ,python-mock)))
diff --git a/gnu/packages/education.scm b/gnu/packages/education.scm
index 54445790594..808be203c22 100644
--- a/gnu/packages/education.scm
+++ b/gnu/packages/education.scm
@@ -43,44 +43,6 @@
43 #:use-module (guix build-system cmake) 43 #:use-module (guix build-system cmake)
44 #:use-module (srfi srfi-1)) 44 #:use-module (srfi srfi-1))
45 45
46(define-public stellarium
47 (package
48 (name "stellarium")
49 (version "0.14.2")
50 (source (origin
51 (method url-fetch)
52 (uri (string-append "mirror://sourceforge/stellarium/"
53 "Stellarium-sources/"
54 version "/stellarium-" version ".tar.gz"))
55 (sha256 (base32
56 "1xxil0rv61zc08znfv83cpsc47y1gjl2f3njhz0pn5zd8jpaa15a"))))
57 (build-system cmake-build-system)
58 (inputs
59 `(("qtbase" ,qtbase)
60 ("zlib" ,zlib)
61 ("qtserialport" ,qtserialport)
62 ("qtscript" ,qtscript)
63 ("gettext" ,gettext-minimal)))
64 (native-inputs
65 `(("qtbase" ,qtbase) ;Qt MOC is needed at compile time
66 ("qttools" ,qttools)
67 ("perl" ,perl))) ;for 'pod2man'
68 (arguments
69 `(#:test-target "tests"
70 #:phases (modify-phases %standard-phases
71 (add-before 'check 'set-offscreen-display
72 (lambda _
73 (setenv "QT_QPA_PLATFORM" "offscreen")
74 (setenv "HOME" "/tmp")
75 #t)))))
76 (home-page "http://www.stellarium.org/")
77 (synopsis "3D sky viewer")
78 (description "Stellarium is a planetarium. It shows a realistic sky in
793D, just like what you see with the naked eye, binoculars, or a telescope. It
80can be used to control telescopes over a serial port for tracking celestial
81objects.")
82 (license license:gpl2+)))
83
84(define-public gcompris 46(define-public gcompris
85 (package 47 (package
86 (name "gcompris") 48 (name "gcompris")
diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm
index 863624fc0fb..1daf8e4e68d 100644
--- a/gnu/packages/emacs.scm
+++ b/gnu/packages/emacs.scm
@@ -133,22 +133,20 @@
133 (("/bin/pwd") 133 (("/bin/pwd")
134 "pwd")))) 134 "pwd"))))
135 (add-after 'install 'install-site-start 135 (add-after 'install 'install-site-start
136 ;; Copy guix-emacs.el from Guix and add it to site-start.el. This 136 ;; Use 'guix-emacs' in "site-start.el". This way, Emacs packages
137 ;; way, Emacs packages provided by Guix and installed in 137 ;; provided by Guix and installed in
138 ;; ~/.guix-profile/share/emacs/site-lisp/guix.d/PACKAGE-VERSION are 138 ;; ~/.guix-profile/share/emacs/site-lisp/guix.d/PACKAGE-VERSION are
139 ;; automatically found. 139 ;; automatically found.
140 (lambda* (#:key inputs outputs #:allow-other-keys) 140 (lambda* (#:key inputs outputs #:allow-other-keys)
141 (let* ((guix-src (assoc-ref inputs "guix-src")) 141 (let* ((out (assoc-ref outputs "out"))
142 (out (assoc-ref outputs "out")) 142 (lisp-dir (string-append out "/share/emacs/site-lisp")))
143 (lisp-dir (string-append out "/share/emacs/site-lisp")) 143 (copy-file (assoc-ref inputs "guix-emacs.el")
144 (unpack (assoc-ref %standard-phases 'unpack))) 144 (string-append lisp-dir "/guix-emacs.el"))
145 (mkdir "guix")
146 (with-directory-excursion "guix"
147 (apply unpack (list #:source guix-src))
148 (install-file "emacs/guix-emacs.el" lisp-dir))
149 (with-output-to-file (string-append lisp-dir "/site-start.el") 145 (with-output-to-file (string-append lisp-dir "/site-start.el")
150 (lambda () 146 (lambda ()
151 (display "(require 'guix-emacs nil t)"))) 147 (display
148 (string-append "(when (require 'guix-emacs nil t)\n"
149 " (guix-emacs-autoload-packages))\n"))))
152 #t)))))) 150 #t))))))
153 (inputs 151 (inputs
154 `(("gnutls" ,gnutls) 152 `(("gnutls" ,gnutls)
@@ -175,13 +173,13 @@
175 ("libsm" ,libsm) 173 ("libsm" ,libsm)
176 ("alsa-lib" ,alsa-lib) 174 ("alsa-lib" ,alsa-lib)
177 ("dbus" ,dbus) 175 ("dbus" ,dbus)
178 ("guix-src" ,(package-source guix))
179 176
180 ;; multilingualization support 177 ;; multilingualization support
181 ("libotf" ,libotf) 178 ("libotf" ,libotf)
182 ("m17n-lib" ,m17n-lib))) 179 ("m17n-lib" ,m17n-lib)))
183 (native-inputs 180 (native-inputs
184 `(("pkg-config" ,pkg-config) 181 `(("guix-emacs.el" ,(search-auxiliary-file "emacs/guix-emacs.el"))
182 ("pkg-config" ,pkg-config)
185 ("texinfo" ,texinfo))) 183 ("texinfo" ,texinfo)))
186 184
187 (native-search-paths 185 (native-search-paths
@@ -1326,7 +1324,7 @@ type, for example: packages, buffers, files, etc.")
1326(define-public emacs-guix 1324(define-public emacs-guix
1327 (package 1325 (package
1328 (name "emacs-guix") 1326 (name "emacs-guix")
1329 (version "0.2.2") 1327 (version "0.3")
1330 (source (origin 1328 (source (origin
1331 (method url-fetch) 1329 (method url-fetch)
1332 (uri (string-append "https://github.com/alezost/guix.el" 1330 (uri (string-append "https://github.com/alezost/guix.el"
@@ -1334,7 +1332,7 @@ type, for example: packages, buffers, files, etc.")
1334 "/emacs-guix-" version ".tar.gz")) 1332 "/emacs-guix-" version ".tar.gz"))
1335 (sha256 1333 (sha256
1336 (base32 1334 (base32
1337 "1i47yh24xvgmnc778765g3j9ip0xb2y85v6w83r4qmkigk9rl2ck")))) 1335 "1327zp140c7acckk0ajl88cgwr0lk9j3mb67nsq2janxrkwmj6br"))))
1338 (build-system gnu-build-system) 1336 (build-system gnu-build-system)
1339 (arguments 1337 (arguments
1340 `(#:configure-flags 1338 `(#:configure-flags
@@ -3834,3 +3832,23 @@ mode-line.")
3834 (description 3832 (description
3835 "Emacs minor mode for redisplaying parts of the buffer as pretty symbols.") 3833 "Emacs minor mode for redisplaying parts of the buffer as pretty symbols.")
3836 (license license:gpl3+))) 3834 (license license:gpl3+)))
3835
3836(define-public emacs-yasnippet
3837 (package
3838 (name "emacs-yasnippet")
3839 (version "0.11.0")
3840 (source (origin
3841 (method url-fetch)
3842 (uri (string-append "https://github.com/joaotavora/yasnippet/"
3843 "archive/" version ".tar.gz"))
3844 (file-name (string-append name "-" version ".tar.gz"))
3845 (sha256
3846 (base32
3847 "15di6mkkf09b7qddpsrm0qln02hji3sx8blya5jxssi9wxxx9iq5"))))
3848 (build-system emacs-build-system)
3849 (home-page "http://github.com/joaotavora/yasnippet")
3850 (synopsis "Yet another snippet extension for Emacs")
3851 (description
3852 "YASnippet is a template system for Emacs. It allows you to type an
3853abbreviation and automatically expand it into function templates.")
3854 (license license:gpl3+)))
diff --git a/gnu/packages/embedded.scm b/gnu/packages/embedded.scm
index 70de5e53b8a..3e1f87d7496 100644
--- a/gnu/packages/embedded.scm
+++ b/gnu/packages/embedded.scm
@@ -30,12 +30,14 @@
30 #:use-module (guix build utils) 30 #:use-module (guix build utils)
31 #:use-module (gnu packages) 31 #:use-module (gnu packages)
32 #:use-module (gnu packages autotools) 32 #:use-module (gnu packages autotools)
33 #:use-module ((gnu packages base) #:prefix base:)
33 #:use-module (gnu packages bison) 34 #:use-module (gnu packages bison)
34 #:use-module (gnu packages cross-base) 35 #:use-module (gnu packages cross-base)
35 #:use-module (gnu packages dejagnu) 36 #:use-module (gnu packages dejagnu)
36 #:use-module (gnu packages flex) 37 #:use-module (gnu packages flex)
37 #:use-module (gnu packages gcc) 38 #:use-module (gnu packages gcc)
38 #:use-module (gnu packages gdb) 39 #:use-module (gnu packages gdb)
40 #:use-module (gnu packages guile)
39 #:use-module (gnu packages libftdi) 41 #:use-module (gnu packages libftdi)
40 #:use-module (gnu packages libusb) 42 #:use-module (gnu packages libusb)
41 #:use-module (gnu packages perl) 43 #:use-module (gnu packages perl)
@@ -719,3 +721,54 @@ toolchain, the loader, the Openspin compiler, the Spin2cpp tool, and the Spin
719simulator.") 721simulator.")
720 (home-page (package-home-page propeller-gcc)) 722 (home-page (package-home-page propeller-gcc))
721 (license (package-license propeller-gcc)))) 723 (license (package-license propeller-gcc))))
724
725(define-public binutils-vc4
726 (let ((commit "708acc851880dbeda1dd18aca4fd0a95b2573b36"))
727 (package
728 (name "binutils-vc4")
729 (version (string-append "2.23.51-0." (string-take commit 7)))
730 (source (origin
731 (method git-fetch)
732 (uri (git-reference
733 (url "https://github.com/puppeh/binutils-vc4.git")
734 (commit commit)))
735 (sha256
736 (base32
737 "1kdrz6fki55lm15rwwamn74fnqpy0zlafsida2zymk76n3656c63"))))
738 (build-system gnu-build-system)
739 (arguments
740 `(#:configure-flags '("--target=vc4-elf"
741 "--disable-werror"
742 "--enable-cgen-maint")
743 #:phases
744 (modify-phases %standard-phases
745 (add-after 'unpack 'unpack-cgen
746 (lambda* (#:key inputs #:allow-other-keys)
747 (copy-recursively (string-append (assoc-ref inputs "cgen")
748 "/cgen") "cgen")
749 #t))
750 (add-after 'unpack-cgen 'fix-cgen-guile
751 (lambda _
752 (substitute* "opcodes/Makefile.in"
753 (("guile\\{,-\\}1.8") "guile"))
754 (zero? (system* "which" "guile")))))))
755 (native-inputs
756 `(("cgen"
757 ,(origin
758 (method git-fetch)
759 (uri (git-reference
760 (url "https://github.com/puppeh/cgen.git")
761 (commit "d8e2a9eb70425f180fdd5bfd032884b0855f2032")))
762 (sha256
763 (base32
764 "14b3h2ji740s8zq5vwm4qdcxs4aa4wxi6wb9di3bv1h39x14nyr9"))))
765 ("texinfo" ,texinfo)
766 ("flex" ,flex)
767 ("bison" ,bison)
768 ("guile-1.8" ,guile-1.8)
769 ("which" ,base:which)))
770 (synopsis "Binutils for VC4")
771 (description "This package provides @code{binutils} for VideoCore IV,
772the Raspberry Pi chip.")
773 (license license:gpl3+)
774 (home-page "https://github.com/puppeh/vc4-toolchain/"))))
diff --git a/gnu/packages/engineering.scm b/gnu/packages/engineering.scm
index 734efcdc739..23446bafa8d 100644
--- a/gnu/packages/engineering.scm
+++ b/gnu/packages/engineering.scm
@@ -750,3 +750,27 @@ electrical diagrams), gerbview (viewing Gerber files) and others.")
750 (description "This package provides Kicad component, footprint and 3D 750 (description "This package provides Kicad component, footprint and 3D
751render model libraries.") 751render model libraries.")
752 (license license:lgpl2.0+)))) 752 (license license:lgpl2.0+))))
753
754(define-public linsmith
755 (package
756 (name "linsmith")
757 (version "0.99.30")
758 (source (origin
759 (method url-fetch)
760 (uri (string-append
761 "mirror://sourceforge/linsmith/linsmith/linsmith-"
762 version "/linsmith-" version ".tar.gz"))
763 (sha256
764 (base32
765 "18qslhr2r45rhpj4v6bjcqx189vs0bflvsj271wr7w8kvh69qwvn"))))
766 (build-system gnu-build-system)
767 (native-inputs
768 `(("pkg-config" ,pkg-config)
769 ("gtk" ,gtk+-2)
770 ("libgnome" ,libgnomeui)))
771 (home-page "http://jcoppens.com/soft/linsmith/index.en.php")
772 (synopsis "Smith Charting program")
773 (description "LinSmith is a Smith Charting program, mainly designed for
774educational use. As such, there is an emphasis on capabilities that improve
775the 'showing the effect of'-style of operation.")
776 (license license:gpl2+)))
diff --git a/gnu/packages/enlightenment.scm b/gnu/packages/enlightenment.scm
index a34578afe78..b9a55333dfb 100644
--- a/gnu/packages/enlightenment.scm
+++ b/gnu/packages/enlightenment.scm
@@ -197,7 +197,7 @@ Libraries with some extra bells and whistles.")
197(define-public enlightenment 197(define-public enlightenment
198 (package 198 (package
199 (name "enlightenment") 199 (name "enlightenment")
200 (version "0.21.5") 200 (version "0.21.6")
201 (source (origin 201 (source (origin
202 (method url-fetch) 202 (method url-fetch)
203 (uri 203 (uri
@@ -205,7 +205,7 @@ Libraries with some extra bells and whistles.")
205 name "/" name "-" version ".tar.xz")) 205 name "/" name "-" version ".tar.xz"))
206 (sha256 206 (sha256
207 (base32 207 (base32
208 "1fslq70z4s6v9ipahnk8s5fgqnqq4njv4rlqv951r1bh1xk5lx7h")))) 208 "0gan3c8jbvhcmvb2fpbprr3m6db0afg1dnrb87nbqb399nsi81zd"))))
209 (build-system gnu-build-system) 209 (build-system gnu-build-system)
210 (arguments 210 (arguments
211 `(#:configure-flags '("--enable-mount-eeze"))) 211 `(#:configure-flags '("--enable-mount-eeze")))
@@ -253,7 +253,17 @@ embedded systems.")
253 (lambda _ 253 (lambda _
254 (setenv "CFLAGS" 254 (setenv "CFLAGS"
255 (string-append "-I" (assoc-ref %build-inputs "python-dbus") 255 (string-append "-I" (assoc-ref %build-inputs "python-dbus")
256 "/include/dbus-1.0"))))))) 256 "/include/dbus-1.0"))
257 #t))
258 (add-before 'check 'set-environment
259 (lambda _
260 ;; Some tests require write access to HOME.
261 (setenv "HOME" "/tmp")
262 #t)))
263 ;; FIXME: Some tests require a running D-Bus server or a network
264 ;; connection and should be disabled. Other test failures looks
265 ;; legitimate. Disabled for now, needs work!
266 #:tests? #f))
257 (native-inputs 267 (native-inputs
258 `(("pkg-config" ,pkg-config) 268 `(("pkg-config" ,pkg-config)
259 ("python-cython" ,python-cython))) 269 ("python-cython" ,python-cython)))
diff --git a/gnu/packages/finance.scm b/gnu/packages/finance.scm
index ee90c38eb79..234e40c2813 100644
--- a/gnu/packages/finance.scm
+++ b/gnu/packages/finance.scm
@@ -24,7 +24,6 @@
24 #:use-module ((guix licenses) #:prefix license:) 24 #:use-module ((guix licenses) #:prefix license:)
25 #:use-module (guix packages) 25 #:use-module (guix packages)
26 #:use-module (guix download) 26 #:use-module (guix download)
27 #:use-module (guix build utils)
28 #:use-module (guix build-system gnu) 27 #:use-module (guix build-system gnu)
29 #:use-module (guix build-system cmake) 28 #:use-module (guix build-system cmake)
30 #:use-module (guix build-system python) 29 #:use-module (guix build-system python)
diff --git a/gnu/packages/fontutils.scm b/gnu/packages/fontutils.scm
index d89bd49b740..46c658b667f 100644
--- a/gnu/packages/fontutils.scm
+++ b/gnu/packages/fontutils.scm
@@ -401,7 +401,7 @@ and returns a sequence of positioned glyphids from the font.")
401(define-public potrace 401(define-public potrace
402 (package 402 (package
403 (name "potrace") 403 (name "potrace")
404 (version "1.13") 404 (version "1.14")
405 (source 405 (source
406 (origin 406 (origin
407 (method url-fetch) 407 (method url-fetch)
@@ -409,7 +409,7 @@ and returns a sequence of positioned glyphids from the font.")
409 "/potrace-" version ".tar.gz")) 409 "/potrace-" version ".tar.gz"))
410 (sha256 410 (sha256
411 (base32 411 (base32
412 "115p2vgyq7p2mf4nidk2x3aa341nvv2v8ml056vbji36df5l6lk2")))) 412 "0znr9i0ljb818qiwm22zw63g11a4v08gc5xkh0wbdp6g259vcwnv"))))
413 (build-system gnu-build-system) 413 (build-system gnu-build-system)
414 (native-inputs `(("ghostscript" ,ghostscript))) ;for tests 414 (native-inputs `(("ghostscript" ,ghostscript))) ;for tests
415 (inputs `(("zlib" ,zlib))) 415 (inputs `(("zlib" ,zlib)))
diff --git a/gnu/packages/freedesktop.scm b/gnu/packages/freedesktop.scm
index 36b5962cd0f..20a104f6233 100644
--- a/gnu/packages/freedesktop.scm
+++ b/gnu/packages/freedesktop.scm
@@ -88,14 +88,14 @@ freedesktop.org project.")
88(define-public libinput 88(define-public libinput
89 (package 89 (package
90 (name "libinput") 90 (name "libinput")
91 (version "1.6.0") 91 (version "1.6.3")
92 (source (origin 92 (source (origin
93 (method url-fetch) 93 (method url-fetch)
94 (uri (string-append "https://freedesktop.org/software/libinput/" 94 (uri (string-append "https://freedesktop.org/software/libinput/"
95 name "-" version ".tar.xz")) 95 name "-" version ".tar.xz"))
96 (sha256 96 (sha256
97 (base32 97 (base32
98 "0cjq4mjqx8c7iiign330s34dvpw38rlv8byaxlx68p3kim8lylxp")))) 98 "18bx2fz04mf41nf3021pr9k3f741zvc6i8pzvypc6ycffac2gnkl"))))
99 (build-system gnu-build-system) 99 (build-system gnu-build-system)
100 (native-inputs 100 (native-inputs
101 `(("cairo" ,cairo) 101 `(("cairo" ,cairo)
diff --git a/gnu/packages/ftp.scm b/gnu/packages/ftp.scm
index 7380fcfc3b3..49e7214991f 100644
--- a/gnu/packages/ftp.scm
+++ b/gnu/packages/ftp.scm
@@ -3,6 +3,7 @@
3;;; Copyright © 2015 Andreas Enge <andreas@enge.fr> 3;;; Copyright © 2015 Andreas Enge <andreas@enge.fr>
4;;; Copyright © 2015 Mark H Weaver <mhw@netris.org> 4;;; Copyright © 2015 Mark H Weaver <mhw@netris.org>
5;;; Copyright © 2016 Tobias Geerinckx-Rice <me@tobias.gr> 5;;; Copyright © 2016 Tobias Geerinckx-Rice <me@tobias.gr>
6;;; Copyright © 2017 Rene Saavedra <rennes@openmailbox.org>
6;;; 7;;;
7;;; This file is part of GNU Guix. 8;;; This file is part of GNU Guix.
8;;; 9;;;
@@ -26,12 +27,21 @@
26 #:use-module (guix packages) 27 #:use-module (guix packages)
27 #:use-module (gnu packages) 28 #:use-module (gnu packages)
28 #:use-module (gnu packages autotools) 29 #:use-module (gnu packages autotools)
30 #:use-module (gnu packages check)
31 #:use-module (gnu packages compression)
32 #:use-module (gnu packages databases)
33 #:use-module (gnu packages freedesktop)
29 #:use-module (gnu packages gettext) 34 #:use-module (gnu packages gettext)
35 #:use-module (gnu packages glib)
36 #:use-module (gnu packages gtk)
37 #:use-module (gnu packages libidn)
30 #:use-module (gnu packages ncurses) 38 #:use-module (gnu packages ncurses)
31 #:use-module (gnu packages readline) 39 #:use-module (gnu packages nettle)
32 #:use-module (gnu packages pkg-config) 40 #:use-module (gnu packages pkg-config)
41 #:use-module (gnu packages readline)
33 #:use-module (gnu packages tls) 42 #:use-module (gnu packages tls)
34 #:use-module (gnu packages compression)) 43 #:use-module (gnu packages wxwidgets)
44 #:use-module (gnu packages xml))
35 45
36(define-public lftp 46(define-public lftp
37 (package 47 (package
@@ -159,3 +169,66 @@ maintaining a web page or other FTP archive. It synchronizes a set of
159local files to a remote server by performing uploads and remote deletes 169local files to a remote server by performing uploads and remote deletes
160as required.") 170as required.")
161 (license gpl2+))) 171 (license gpl2+)))
172
173(define-public libfilezilla
174 (package
175 (name "libfilezilla")
176 (version "0.9.0")
177 (source
178 (origin
179 (method url-fetch)
180 (uri (string-append "http://download.filezilla-project.org/"
181 name "/" name "-" version ".tar.bz2"))
182 (sha256
183 (base32
184 "0340v5xs48f28q2d16ldb9359dkzlhl4l449mgyv3qabnlz2pl21"))))
185 (build-system gnu-build-system)
186 (native-inputs
187 `(("cppunit" ,cppunit)))
188 (home-page "https://lib.filezilla-project.org")
189 (synopsis "Cross-platform C++ library used by Filezilla client")
190 (description
191 "This package provides some basic functionality to build high-performing,
192platform-independent programs.")
193 (license gpl2+)))
194
195(define-public filezilla
196 (package
197 (name "filezilla")
198 (version "3.24.1")
199 (source
200 (origin
201 (method url-fetch)
202 (uri (string-append "https://sourceforge.net/projects/" name
203 "/files/FileZilla_Client/" version
204 "/FileZilla_" version "_src" ".tar.bz2"))
205 (sha256
206 (base32
207 "0ahcld3g6jj92nakm5i58wgmcv6f4l9yisw3aqbc2ry0gs679pg6"))))
208 (build-system gnu-build-system)
209 (arguments
210 ;; Don't let filezilla phone home to check for updates.
211 '(#:configure-flags '("--disable-autoupdatecheck")))
212 (native-inputs
213 `(("gettext" ,gettext-minimal)
214 ("pkg-config" ,pkg-config)
215 ("pugixml" ,pugixml)
216 ("xdg-utils" ,xdg-utils)))
217 (inputs
218 `(("dbus" ,dbus)
219 ("gnutls" ,gnutls)
220 ("gtk+" ,gtk+)
221 ("libfilezilla" ,libfilezilla)
222 ("libidn" ,libidn)
223 ("nettle" ,nettle)
224 ("sqlite" ,sqlite)
225 ("wxwidgets" ,wxwidgets)))
226 (home-page "https://filezilla-project.org")
227 (synopsis "Full-featured graphical FTP/FTPS/SFTP client")
228 (description
229 "Filezilla client supports FTP, FTP over SSL/TLS (FTPS),
230SSH File Transfer Protocol (SFTP), HTTP/1.1, SOCKS5, FTP-Proxy, IPv6
231and others features such as bookmarks, drag and drop, filename filters,
232directory comparison and more.")
233 (license gpl2+)
234 (properties '((upstream-name . "FileZilla")))))
diff --git a/gnu/packages/game-development.scm b/gnu/packages/game-development.scm
index 619c2f1bc2f..908ce483475 100644
--- a/gnu/packages/game-development.scm
+++ b/gnu/packages/game-development.scm
@@ -526,18 +526,16 @@ interface (API).")
526(define-public python-pygame 526(define-public python-pygame
527 (package 527 (package
528 (name "python-pygame") 528 (name "python-pygame")
529 (version "1.9.1") 529 (version "1.9.3")
530 (source (origin 530 (source (origin
531 (method url-fetch) 531 (method url-fetch)
532 (uri (string-append "http://pygame.org/ftp/pygame-" 532 (uri (pypi-uri "pygame" version))
533 version "release.tar.gz"))
534 (sha256 533 (sha256
535 (base32 534 (base32
536 "0cyl0ww4fjlf289pjxa53q4klyn55ajvkgymw0qrdgp4593raq52")))) 535 "1hlydiyygl444bq5m5g8n3jsxsgrdyxlm42ipmfbw36wkf0j243m"))))
537 (build-system python-build-system) 536 (build-system python-build-system)
538 (arguments 537 (arguments
539 `(#:python ,python-2 538 `(#:tests? #f ; Tests require pygame to be installed first.
540 #:tests? #f ; Tests require pygame to be installed first.
541 #:phases 539 #:phases
542 (modify-phases %standard-phases 540 (modify-phases %standard-phases
543 ;; Set the paths to the dependencies manually because 541 ;; Set the paths to the dependencies manually because
@@ -553,6 +551,7 @@ interface (API).")
553 (smpeg-ref (assoc-ref inputs "libsmpeg")) 551 (smpeg-ref (assoc-ref inputs "libsmpeg"))
554 (png-ref (assoc-ref inputs "libpng")) 552 (png-ref (assoc-ref inputs "libpng"))
555 (jpeg-ref (assoc-ref inputs "libjpeg")) 553 (jpeg-ref (assoc-ref inputs "libjpeg"))
554 (freetype-ref (assoc-ref inputs "freetype"))
556 (v4l-ref (assoc-ref inputs "v4l-utils")) 555 (v4l-ref (assoc-ref inputs "v4l-utils"))
557 (out-ref (assoc-ref outputs "out"))) 556 (out-ref (assoc-ref outputs "out")))
558 (substitute* "Setup.in" 557 (substitute* "Setup.in"
@@ -582,9 +581,14 @@ interface (API).")
582 (("JPEG = -ljpeg") 581 (("JPEG = -ljpeg")
583 (string-append "JPEG = -I" jpeg-ref "/include -L" 582 (string-append "JPEG = -I" jpeg-ref "/include -L"
584 jpeg-ref "/lib -ljpeg"))) 583 jpeg-ref "/lib -ljpeg")))
584
585 (substitute* "Setup.in"
586 (("FREETYPE = -lfreetype")
587 (string-append "FREETYPE = -I" freetype-ref "/include/freetype2 -L"
588 freetype-ref "/lib -lfreetype")))
589
585 (substitute* "Setup.in" 590 (substitute* "Setup.in"
586 (("^pypm") "#pypm")) 591 (("^pypm") "#pypm"))
587 (substitute* "src/movie.c")
588 ;; Create a path to a header file provided by v4l-utils. 592 ;; Create a path to a header file provided by v4l-utils.
589 (system* "mkdir" "linux") 593 (system* "mkdir" "linux")
590 (system* "ln" "--symbolic" 594 (system* "ln" "--symbolic"
@@ -592,7 +596,8 @@ interface (API).")
592 "linux/videodev.h") 596 "linux/videodev.h")
593 (system* "ln" "--symbolic" "Setup.in" "Setup"))))))) 597 (system* "ln" "--symbolic" "Setup.in" "Setup")))))))
594 (inputs 598 (inputs
595 `(("sdl" ,sdl) 599 `(("freetype" ,freetype)
600 ("sdl" ,sdl)
596 ("sdl-image" ,sdl-image) 601 ("sdl-image" ,sdl-image)
597 ("sdl-mixer" ,sdl-mixer) 602 ("sdl-mixer" ,sdl-mixer)
598 ("sdl-ttf" ,sdl-ttf) 603 ("sdl-ttf" ,sdl-ttf)
@@ -619,3 +624,6 @@ to create fully featured games and multimedia programs in the python language.")
619 license:psfl 624 license:psfl
620 license:public-domain 625 license:public-domain
621 license:lgpl2.1+)))) 626 license:lgpl2.1+))))
627
628(define-public python2-pygame
629 (package-with-python2 python-pygame))
diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm
index 1d6a12a0f64..550652eefd5 100644
--- a/gnu/packages/games.scm
+++ b/gnu/packages/games.scm
@@ -175,6 +175,49 @@ You may even apply photos to the faces instead of colors. The game is
175scriptable with Guile.") 175scriptable with Guile.")
176 (license license:gpl3+))) 176 (license license:gpl3+)))
177 177
178(define-public gnushogi
179 (package
180 (name "gnushogi")
181 (version "1.4.2")
182 (source
183 (origin
184 (method url-fetch)
185 (uri (string-append "mirror://gnu/gnushogi/gnushogi-"
186 version ".tar.gz"))
187 (sha256
188 (base32
189 "0a9bsl2nbnb138lq0h14jfc5xvz7hpb2bcsj4mjn6g1hcsl4ik0y"))))
190 (arguments `(#:tests? #f)) ;; No check target.
191 (build-system gnu-build-system)
192 (home-page "http://www.gnu.org/software/gnushogi/")
193 (synopsis "The game of Shogi (Japanese chess)")
194 (description "GNU Shogi is a program that plays the game Shogi (Japanese
195Chess). It is similar to standard chess but this variant is far more complicated.")
196 (license license:gpl3+)))
197
198(define-public xshogi
199 (package
200 (name "xshogi")
201 (version "1.4.2")
202 (source
203 (origin
204 (method url-fetch)
205 (uri (string-append "mirror://gnu/gnushogi/xshogi-"
206 version ".tar.gz"))
207 (sha256
208 (base32
209 "1dns0nhymak44by18sv48m4xb2skiwbi2i3nb9hl6w9iwd2i2brf"))))
210 (build-system gnu-build-system)
211 (inputs
212 `(("libxaw" ,libxaw)
213 ("libxt" ,libxt)))
214 (home-page "http://www.gnu.org/software/gnushogi/")
215 (synopsis "User interface for gnushogi")
216 (description "A graphical user interface for the package @code{gnushogi}.")
217 ;; Contains a copy of GPLv3 but the licence notices simply
218 ;; state "GNU General Public Licence" without specifying a version.
219 (license license:gpl1+)))
220
178(define-public abbaye 221(define-public abbaye
179 (package 222 (package
180 (name "abbaye") 223 (name "abbaye")
@@ -840,15 +883,15 @@ using the curses.h library for screen control.")
840(define-public glulxe 883(define-public glulxe
841 (package 884 (package
842 (name "glulxe") 885 (name "glulxe")
843 (version "0.5.2") 886 (version "0.5.4")
844 (source 887 (source
845 (origin 888 (origin
846 (method url-fetch) 889 (method url-fetch)
847 (uri (string-append "http://www.ifarchive.org/if-archive/programming/" 890 (uri (string-append "http://www.ifarchive.org/if-archive/programming/"
848 "glulx/interpreters/glulxe/glulxe-052.tar.gz")) 891 "glulx/interpreters/glulxe/glulxe-054.tar.gz"))
849 (sha256 892 (sha256
850 (base32 893 (base32
851 "19iw6kl8ncqcy9pv4gsqfh3xsa1n94zd234rqavvmxccnf3nj19g")))) 894 "0vipydg6ra90yf9b3ipgppwxyb2xdhcxwvirgjy0v20wlf56zhhz"))))
852 (build-system gnu-build-system) 895 (build-system gnu-build-system)
853 (inputs `(("glk" ,glkterm))) 896 (inputs `(("glk" ,glkterm)))
854 (arguments 897 (arguments
@@ -873,7 +916,7 @@ using the curses.h library for screen control.")
873playing interactive fiction. It was designed by Andrew Plotkin to relieve 916playing interactive fiction. It was designed by Andrew Plotkin to relieve
874some of the restrictions in the venerable Z-machine format. This is the 917some of the restrictions in the venerable Z-machine format. This is the
875reference interpreter, using Glk API.") 918reference interpreter, using Glk API.")
876 (license (license:fsf-free "file://README")))) 919 (license license:expat)))
877 920
878(define-public fizmo 921(define-public fizmo
879 (package 922 (package
@@ -2574,7 +2617,7 @@ tactics.")
2574(define-public starfighter 2617(define-public starfighter
2575 (package 2618 (package
2576 (name "starfighter") 2619 (name "starfighter")
2577 (version "1.6") 2620 (version "1.7")
2578 (source (origin 2621 (source (origin
2579 (method url-fetch) 2622 (method url-fetch)
2580 (uri (string-append 2623 (uri (string-append
@@ -2583,18 +2626,8 @@ tactics.")
2583 name "-" version "-src.tar.gz")) 2626 name "-" version "-src.tar.gz"))
2584 (sha256 2627 (sha256
2585 (base32 2628 (base32
2586 "1qb5nk0b3d0ia5zszmg4a3ydf4fiy39fmymb66vwkqn4djajdhzq")))) 2629 "1646hpjq8bz2fkfkja1dah511hn7zd2r7da4w9c9blhad3p5732v"))))
2587 (build-system gnu-build-system) 2630 (build-system gnu-build-system)
2588 (arguments
2589 '(#:tests? #f ; no check target
2590 #:make-flags
2591 (let ((out (assoc-ref %outputs "out")))
2592 (list (string-append "PREFIX=" out)
2593 (string-append "BINDIR=" out "/bin/")))
2594 #:phases
2595 (modify-phases %standard-phases
2596 ;; no configure script
2597 (delete 'configure))))
2598 (native-inputs 2631 (native-inputs
2599 `(("pkg-config" ,pkg-config))) 2632 `(("pkg-config" ,pkg-config)))
2600 (inputs 2633 (inputs
diff --git a/gnu/packages/ghostscript.scm b/gnu/packages/ghostscript.scm
index 7b3182fd8b4..a6403e67a9a 100644
--- a/gnu/packages/ghostscript.scm
+++ b/gnu/packages/ghostscript.scm
@@ -59,7 +59,8 @@
59focus on accuracy and performance. It uses the International Color 59focus on accuracy and performance. It uses the International Color
60Consortium standard (ICC), approved as ISO 15076-1.") 60Consortium standard (ICC), approved as ISO 15076-1.")
61 (license license:x11) 61 (license license:x11)
62 (home-page "http://www.littlecms.com/"))) 62 (home-page "http://www.littlecms.com/")
63 (properties '((cpe-name . "little_cms_color_engine")))))
63 64
64(define-public libpaper 65(define-public libpaper
65 (package 66 (package
diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index b673b3d402f..cfd8b242907 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -5606,7 +5606,7 @@ functionality and behavior.")
5606(define-public arc-theme 5606(define-public arc-theme
5607 (package 5607 (package
5608 (name "arc-theme") 5608 (name "arc-theme")
5609 (version "20161119") 5609 (version "20170302")
5610 (source (origin 5610 (source (origin
5611 (method url-fetch) 5611 (method url-fetch)
5612 (uri (string-append "https://github.com/horst3180/arc-theme" 5612 (uri (string-append "https://github.com/horst3180/arc-theme"
@@ -5614,7 +5614,7 @@ functionality and behavior.")
5614 (file-name (string-append name "-" version ".tar.gz")) 5614 (file-name (string-append name "-" version ".tar.gz"))
5615 (sha256 5615 (sha256
5616 (base32 5616 (base32
5617 "1kbhaxmydyip3vdw4kf8rk776jcd9wf0w7z6h2i4naxdn4rsnw54")))) 5617 "0igxpngnkf1wpsg872a9jg3c9f5z8afm312yfbillz16mk8w39cw"))))
5618 (build-system gnu-build-system) 5618 (build-system gnu-build-system)
5619 (arguments 5619 (arguments
5620 '(#:phases 5620 '(#:phases
@@ -5639,7 +5639,7 @@ like GNOME, Unity, Budgie, Pantheon, XFCE, Mate, etc.")
5639(define-public moka-icon-theme 5639(define-public moka-icon-theme
5640 (package 5640 (package
5641 (name "moka-icon-theme") 5641 (name "moka-icon-theme")
5642 (version "5.3.1") 5642 (version "5.3.5")
5643 (source (origin 5643 (source (origin
5644 (method url-fetch) 5644 (method url-fetch)
5645 (uri (string-append "https://github.com/moka-project" 5645 (uri (string-append "https://github.com/moka-project"
@@ -5648,7 +5648,7 @@ like GNOME, Unity, Budgie, Pantheon, XFCE, Mate, etc.")
5648 (file-name (string-append name "-" version ".tar.gz")) 5648 (file-name (string-append name "-" version ".tar.gz"))
5649 (sha256 5649 (sha256
5650 (base32 5650 (base32
5651 "1lnk7p8dsd9xh6cgz5krvlcr457w8yl4m6p6s5c2g5narsjswzrm")))) 5651 "062rab0ggmgb3y0d6b3k5d47wsadi28cdnyyr2vqbjhza01dglci"))))
5652 (build-system gnu-build-system) 5652 (build-system gnu-build-system)
5653 (arguments 5653 (arguments
5654 '(#:phases 5654 '(#:phases
@@ -5674,7 +5674,7 @@ simple and consistent.")
5674(define-public arc-icon-theme 5674(define-public arc-icon-theme
5675 (package 5675 (package
5676 (name "arc-icon-theme") 5676 (name "arc-icon-theme")
5677 (version "20160605") 5677 (version "20161122")
5678 (source (origin 5678 (source (origin
5679 (method url-fetch) 5679 (method url-fetch)
5680 (uri (string-append "https://github.com/horst3180/arc-icon-theme" 5680 (uri (string-append "https://github.com/horst3180/arc-icon-theme"
@@ -5682,7 +5682,7 @@ simple and consistent.")
5682 (file-name (string-append name "-" version ".tar.gz")) 5682 (file-name (string-append name "-" version ".tar.gz"))
5683 (sha256 5683 (sha256
5684 (base32 5684 (base32
5685 "1npf0ki0j0llrw9wbffhxxa1cdms0q7b8xlg9m943dd9g7pgdm2p")))) 5685 "1ya1cqvv8q847c0rpcg6apzky87q3h04y8jz5nmi52qk6kg8si0b"))))
5686 (build-system gnu-build-system) 5686 (build-system gnu-build-system)
5687 (arguments 5687 (arguments
5688 '(#:phases 5688 '(#:phases
diff --git a/gnu/packages/gnunet.scm b/gnu/packages/gnunet.scm
index a4514a7f41d..bcd46758132 100644
--- a/gnu/packages/gnunet.scm
+++ b/gnu/packages/gnunet.scm
@@ -184,16 +184,14 @@ and support for SSL3 and TLS.")
184(define-public gnurl 184(define-public gnurl
185 (package 185 (package
186 (name "gnurl") 186 (name "gnurl")
187 (version "7.52.1") 187 (version "7.53.1")
188 (source (origin 188 (source (origin
189 (method url-fetch) 189 (method url-fetch)
190 (uri (let ((version-with-underscores 190 (uri (string-append "https://gnunet.org/sites/default/files/"
191 (string-join (string-split version #\.) "_"))) 191 name "-" version ".tar.bz2"))
192 (string-append "https://gnunet.org/sites/default/files/"
193 name "-" version-with-underscores ".tar.bz2")))
194 (sha256 192 (sha256
195 (base32 193 (base32
196 "1gn6mvab2vhfj9637ykg1zjzb23fngfnyd24wlgxmjhf49pn334h")))) 194 "1ah2304cm6y7d201vdph170mrwxmg6r72v2zsxzjn0jk68d8kb6d"))))
197 (build-system gnu-build-system) 195 (build-system gnu-build-system)
198 (outputs '("out" 196 (outputs '("out"
199 "doc")) ; 1.5 MiB of man3 pages 197 "doc")) ; 1.5 MiB of man3 pages
diff --git a/gnu/packages/gnupg.scm b/gnu/packages/gnupg.scm
index fb0423c606e..1b59cf7ecf4 100644
--- a/gnu/packages/gnupg.scm
+++ b/gnu/packages/gnupg.scm
@@ -217,14 +217,15 @@ compatible to GNU Pth.")
217(define-public gnupg 217(define-public gnupg
218 (package 218 (package
219 (name "gnupg") 219 (name "gnupg")
220 (version "2.1.18") 220 (version "2.1.19")
221 (source (origin 221 (source (origin
222 (method url-fetch) 222 (method url-fetch)
223 (uri (string-append "mirror://gnupg/gnupg/gnupg-" version 223 (uri (string-append "mirror://gnupg/gnupg/gnupg-" version
224 ".tar.bz2")) 224 ".tar.bz2"))
225 (patches (search-patches "gnupg-2.1-fix-Y2038-test-failure.patch"))
225 (sha256 226 (sha256
226 (base32 227 (base32
227 "157rrv3ly9j2k0acz43nhiba5hfl6h7048jvj55wwqjmgsmnyk6h")))) 228 "1w4vccmb5l50lm4yrz9vkdj7whbfvzx543r55362kkj1aqgyvk26"))))
228 (build-system gnu-build-system) 229 (build-system gnu-build-system)
229 (native-inputs 230 (native-inputs
230 `(("pkg-config" ,pkg-config))) 231 `(("pkg-config" ,pkg-config)))
@@ -243,7 +244,11 @@ compatible to GNU Pth.")
243 ("sqlite" ,sqlite) 244 ("sqlite" ,sqlite)
244 ("zlib" ,zlib))) 245 ("zlib" ,zlib)))
245 (arguments 246 (arguments
246 `(#:configure-flags '("--enable-gpg2-is-gpg") 247 `(#:configure-flags '("--enable-gpg2-is-gpg"
248 ;; Otherwise, the test suite looks for the `gpg`
249 ;; executable in its installation directory in
250 ;; /gnu/store before it has been installed.
251 "--enable-gnupg-builddir-envvar")
247 #:phases 252 #:phases
248 (modify-phases %standard-phases 253 (modify-phases %standard-phases
249 (add-before 'configure 'patch-paths 254 (add-before 'configure 'patch-paths
@@ -259,11 +264,27 @@ compatible to GNU Pth.")
259 (("/usr/bin/env gpgscm") 264 (("/usr/bin/env gpgscm")
260 (string-append (getcwd) "/tests/gpgscm/gpgscm"))) 265 (string-append (getcwd) "/tests/gpgscm/gpgscm")))
261 #t)) 266 #t))
262 ;; If this variable is undefined, /bin/pwd is invoked. 267 (add-before 'build 'patch-test-paths
263 (add-before 'check 'set-gnupg-home 268 (lambda* (#:key inputs #:allow-other-keys)
264 (lambda _ 269 (let* ((coreutils (assoc-ref inputs "coreutils"))
265 (setenv "GNUPGHOME" (getcwd)) 270 (cat (string-append coreutils "/bin/cat"))
266 #t))))) 271 (pwd (string-append coreutils "/bin/pwd"))
272 (true (string-append coreutils "/bin/true"))
273 (false (string-append coreutils "/bin/false")))
274 (substitute* '("tests/inittests"
275 "tests/pkits/inittests"
276 "tests/Makefile"
277 "tests/pkits/common.sh"
278 "tests/pkits/Makefile"
279 )
280 (("/bin/pwd") pwd))
281 (substitute* "common/t-exectool.c"
282 (("/bin/cat") cat))
283 (substitute* "common/t-exectool.c"
284 (("/bin/true") true))
285 (substitute* "common/t-exectool.c"
286 (("/bin/false") false))
287 #t))))))
267 (home-page "https://gnupg.org/") 288 (home-page "https://gnupg.org/")
268 (synopsis "GNU Privacy Guard") 289 (synopsis "GNU Privacy Guard")
269 (description 290 (description
diff --git a/gnu/packages/gnuzilla.scm b/gnu/packages/gnuzilla.scm
index 9279c46b5de..e6e24f6650c 100644
--- a/gnu/packages/gnuzilla.scm
+++ b/gnu/packages/gnuzilla.scm
@@ -152,7 +152,7 @@ in C/C++.")
152(define-public nspr 152(define-public nspr
153 (package 153 (package
154 (name "nspr") 154 (name "nspr")
155 (version "4.12") 155 (version "4.13.1")
156 (source (origin 156 (source (origin
157 (method url-fetch) 157 (method url-fetch)
158 (uri (string-append 158 (uri (string-append
@@ -160,7 +160,7 @@ in C/C++.")
160 version "/src/nspr-" version ".tar.gz")) 160 version "/src/nspr-" version ".tar.gz"))
161 (sha256 161 (sha256
162 (base32 162 (base32
163 "1pk98bmc5xzbl62q5wf2d6mryf0v95z6rsmxz27nclwiaqg0mcg0")))) 163 "1arkg08l6zlp8v44shqbk2c8qzwd913lgh60fb3yfxls6d8ifk2y"))))
164 (build-system gnu-build-system) 164 (build-system gnu-build-system)
165 (native-inputs 165 (native-inputs
166 `(("perl" ,perl))) 166 `(("perl" ,perl)))
@@ -186,7 +186,7 @@ in the Mozilla clients.")
186(define-public nss 186(define-public nss
187 (package 187 (package
188 (name "nss") 188 (name "nss")
189 (version "3.27.1") 189 (version "3.29.2")
190 (source (origin 190 (source (origin
191 (method url-fetch) 191 (method url-fetch)
192 (uri (let ((version-with-underscores 192 (uri (let ((version-with-underscores
@@ -197,7 +197,7 @@ in the Mozilla clients.")
197 "nss-" version ".tar.gz"))) 197 "nss-" version ".tar.gz")))
198 (sha256 198 (sha256
199 (base32 199 (base32
200 "0sraxk26swlgl7rl742rkfp5k251v5z3lqw9k8ikin0cjfhkfdpx")) 200 "149807rmzb76hnh48rw4m9jw83iw0168njzchz0hmbsgc8mk0i5w"))
201 ;; Create nss.pc and nss-config. 201 ;; Create nss.pc and nss-config.
202 (patches (search-patches "nss-pkgconfig.patch")))) 202 (patches (search-patches "nss-pkgconfig.patch"))))
203 (build-system gnu-build-system) 203 (build-system gnu-build-system)
@@ -303,7 +303,7 @@ standards.")
303(define-public icecat 303(define-public icecat
304 (package 304 (package
305 (name "icecat") 305 (name "icecat")
306 (version "45.5.1-gnu1") 306 (version "45.7.0-gnu1")
307 (source 307 (source
308 (origin 308 (origin
309 (method url-fetch) 309 (method url-fetch)
@@ -312,68 +312,43 @@ standards.")
312 "/" name "-" version ".tar.bz2")) 312 "/" name "-" version ".tar.bz2"))
313 (sha256 313 (sha256
314 (base32 314 (base32
315 "1sbfgsibmb8wfmb2g40gmqwq3nikmrgzksf51ydrz7gnafyfaqw1")) 315 "1mn73liylqzxk441f28wk326yglqs8zcwqs4zz51s8i2id2jsnv3"))
316 (patches 316 (patches
317 (list 317 (list
318 (search-patch "icecat-avoid-bundled-libraries.patch") 318 (search-patch "icecat-avoid-bundled-libraries.patch")
319 (search-patch "icecat-binutils.patch") 319 (search-patch "icecat-binutils.patch")
320 (mozilla-patch "icecat-CVE-2016-9897.patch" "2e5438a92617" "0pyjbzyy04759ldpcar8q8cccv67j1jkxsg46rkq7a3rbhmwmw4p") 320 (mozilla-patch "icecat-CVE-2017-5398-pt01.patch" "1a39a54b5fea" "0k3sbf2w2yng2rpv6wl9zrm5cbsgq3pslr19xwrk8sk753as79fp")
321 (mozilla-patch "icecat-CVE-2016-9899.patch" "7391f60fb790" "1hydggpmmm2cs9lb15micnkxn4wl4cda9g74hkn3zmks805vjz3h") 321 (mozilla-patch "icecat-CVE-2017-5402.patch" "9828c3bb7b73" "0zgks0v9sqhwwkmry4daswvjwk6aqln6abx0iac1vwqqpg6swff6")
322 (mozilla-patch "icecat-CVE-2016-9893-pt1.patch" "744e01001e6e" "0z2fq765kap3ll9as5rvjpnbj3pw26074alw7df0zi215qz47nxr") 322 (mozilla-patch "icecat-CVE-2017-5398-pt02.patch" "fa3268a1147e" "1jyd1hvp42pz5l15agmb1jhw74b38x8xnj9ih5v4pskv41bgmyg5")
323 (mozilla-patch "icecat-CVE-2016-9904-pt1.patch" "8ae673f34a5b" "1rlbihckl9afa0y91lqs7gpnv6a7zxzrmxjv95y3yrl03kibqp76") 323 (mozilla-patch "icecat-CVE-2017-5400.patch" "347c10e4d6d1" "1w6yrm97l477q4ripbj0nimc87p4jscabvihpncxqbq9xzc4km7p")
324 (mozilla-patch "icecat-CVE-2016-9904-pt2.patch" "409c23c144fe" "05kgs16y8s5pxmg2dxp93247zagnj6zgj3209qpm5hz3an7gr13h") 324 (mozilla-patch "icecat-CVE-2017-5410.patch" "fe4a2cda54ad" "0spcs93hpz13d8670jgvww80f0ynrbhwbh62fkv27lpr6wmqwqh1")
325 (mozilla-patch "icecat-CVE-2016-9900.patch" "994d9bd0e28d" "007wifyx3b2ln4fwv1i8n24yz5ngjf4mkzd7sqr5bpd3q88ff293") 325 (mozilla-patch "icecat-CVE-2017-5401.patch" "c38f8546be5f" "1sa22w9kzgynsn4c6zh4d66byskk5kffzbvlzrhyzvqjddypf9p8")
326 (mozilla-patch "icecat-CVE-2016-9893-pt2.patch" "0fc43af8982e" "0pc8q9knzq2knj723mwkay1lnzbzysb07ygxnc16mcb6f7vl2mw8") 326 (mozilla-patch "icecat-CVE-2017-5398-pt03.patch" "41c80ecafa99" "0r33arr5wcgl00zgncasiyl65bmm6jy45clxnbb75nzjmsd1zx1s")
327 (mozilla-patch "icecat-CVE-2016-9893-pt3.patch" "19f9a4643d77" "0w5yxj1l0hvs66q9agjp4m5sfby7fj05lx33gaqf899bw4hn4vcf") 327 (mozilla-patch "icecat-CVE-2017-5405.patch" "381552c888b4" "1sjhh390cx1jqx74lxk6qd8f8ccppqgagqfhc9pnbm2m67hxvkj9")
328 (mozilla-patch "icecat-CVE-2016-9893-pt4.patch" "c58442c414f5" "1z1w1v8xagkhrwgp51ij1k2gx0ripslia09vm78812n7gcwddaas") 328 (mozilla-patch "icecat-CVE-2017-5407.patch" "4ba337cdb998" "0vyknizid2z9nvl31m08c7fknizhv8dh8m54apm39k8lx77vf70p")
329 (mozilla-patch "icecat-CVE-2016-9898.patch" "5054047b7328" "0xlw8irymfp3bcaa5jpf7clf7bq6qxp3i8zapp8jya8lzr1nf868") 329 (mozilla-patch "icecat-CVE-2017-5398-pt04.patch" "886650fac531" "18fsr5dmav96ja0dah7mj34n8mjpckp0bbc32zjyaj5qx0m4h5cw")
330 (mozilla-patch "icecat-bug-881832-pt1.patch" "1123263318a3" "1qkxwva3zrcs1zhga8ncmndq03988dx75i896g53gbvpskj06915") 330 (mozilla-patch "icecat-CVE-2017-5409.patch" "0a22becb23cd" "19fshrq4qkj5s0mjrads6by84gy7rsq3k57gha6sw6rvx8chjaz6")
331 (mozilla-patch "icecat-bug-881832-pt2.patch" "dc87c0a39adf" "01rapf14f3r2wk0cjd16dn1rll4ipgs33cnjmjck48nvk67ikz6h") 331 (mozilla-patch "icecat-CVE-2017-5398-pt05.patch" "a0ead6ef09eb" "1hpsq81hhhq2a2dcq2dfndiwx93vvp5rfq0cgv6kwk2bsrq77wqq")
332 (mozilla-patch "icecat-bug-881832-pt3.patch" "f20e5f488368" "15ql9ywifb3gm2g1057k63f821dbs3wqsh3zhndprzf3dn6aha4i") 332 (mozilla-patch "icecat-CVE-2017-5398-pt06.patch" "d3fede027d06" "1aw02p367cm0ayijdiiawlb7qhab6jwqwkakj317yd1cjnmkalwr")
333 (mozilla-patch "icecat-bug-881832-pt4.patch" "7950c4d5bd7c" "0jhkg5hq5yfy7rh21k1mpbsbr81ql85aazym30zy3n2cf28xxhd7") 333 (mozilla-patch "icecat-CVE-2017-5398-pt07.patch" "ffca0f060bb4" "0qwisfp7idjj5nc1vp1afrf5lj66l2gp7rllkjmrqpz6cyfc708v")
334 (mozilla-patch "icecat-bug-881832-pt5.patch" "972734ec21b6" "073i4v1f1ydy49i57pvzscz95sjr5bbk9s5sajxvmmcsmwhpjdfy") 334 (mozilla-patch "icecat-CVE-2017-5398-pt08.patch" "4aa65b44dcb9" "07j6dz2b7hp1bkfvkxwgpn2wc3hqrgjgwpaz96fcpz8yadg2fssw")
335 (mozilla-patch "icecat-CVE-2016-9905-pt1.patch" "aebd3687e05e" "1qz6hdgflcrqyg7fv66cbg23v4b7q5bc2yxzrgjxs4j1d7jy1s0s") 335 (mozilla-patch "icecat-bug-1318914.patch" "30e2382d800f" "0w8zky5i7zc5q943x37rdvi4wbcing0q7w9fcgvnnh5li2sbrsy8")
336 (mozilla-patch "icecat-CVE-2016-9905-pt2.patch" "63d8e5cd27cb" "11fsgyngy7v59ma30xdbmycwf4izwikzvaljngm3ks4534inpl4a") 336 (mozilla-patch "icecat-CVE-2017-5408.patch" "403d2300adc2" "06r4j48rc1fd9gvmvqy68mlqah5xfxpkvwmxk0gnqc364kpq9slk")
337 (mozilla-patch "icecat-bug-1279202.patch" "e560997291af" "1hn35slasfcj3ryka4fsarx4l9r99z0iwj67fmbv6zxz4z133kks") 337 (mozilla-patch "icecat-CVE-2017-5398-pt09.patch" "546ab5e99568" "05rdb9bm3n4lj0zq5a95xnwsb0vzirb9mbc2wf9xbi4xlamsgvvw")
338 (mozilla-patch "icecat-CVE-2016-9902.patch" "21c615b65048" "0ibgsxa36x9ajn2jqbhxxvrfvj6x6iyspsmzzn4brdz11n93skhr") 338 (mozilla-patch "icecat-bug-1311380.patch" "ef6eeb7f8846" "1w19is5blbrwf3wlmy6wzgabih8sxp2kmkffqcj2g4jypfwyqn73")
339 (mozilla-patch "icecat-CVE-2016-9901.patch" "c15e5afc0430" "17gj32agqs94548z8lvz0l6zz3kbwajn8as0y4iw5nb6jsll4c66") 339 (mozilla-patch "icecat-CVE-2017-5398-pt10.patch" "eec69810d80e" "1r20abhw7b38igsrdpkhcfwx9i9gmcxikv4y3sjr4wkbp684f7av")
340 (mozilla-patch "icecat-CVE-2016-9893-pt5.patch" "46163fb1cb34" "1yikayczfgfla3aka0159apq3149d52sgvlca0sivx4myd0lvjm7") 340 (mozilla-patch "icecat-CVE-2017-5398-pt11.patch" "fec35ce6e68b" "1imdfrs8dxz44rhsmvydh29w5j64cij6g5ggrmhvz3386xvlil2v")
341 (mozilla-patch "icecat-CVE-2016-9893-pt6.patch" "cde2a37100f5" "100abggnhwyw84almxrkxqfpyfkd4pqkcrh5y9g4d3jd2h16asvl") 341 (mozilla-patch "icecat-CVE-2017-5398-pt12.patch" "725e2a217722" "06gfhi2ich279rjnxi15fb4igimsxnv5w6bx4g91js8wbvp2r3v0")
342 (mozilla-patch "icecat-CVE-2016-9893-pt7.patch" "9b78ab1e6d07" "19ib6bp96xk000ll40b8qxvizkncyzclz2rsb9w5fa42qs9978ff") 342 (mozilla-patch "icecat-CVE-2017-5398-pt13.patch" "d905a2e3a4d9" "1ibxi2s0czj47b739zmmjzbln8lpn27hdg4b17w58vhbhzkq31cx")
343 (mozilla-patch "icecat-CVE-2016-9893-pt8.patch" "78ebf9c9dfb0" "1shgr4rk6r2zxr1qqk1j3qnnqzqxnbi093qhlrfh8q5q1ivqf6k1") 343 (mozilla-patch "icecat-CVE-2017-5398-pt14.patch" "0032560ae945" "0md3p5cix6nzbj5m199awc9gk52pygy5s9lx3a38vh3xvd92lsbj")
344 (mozilla-patch "icecat-CVE-2016-9893-pt9.patch" "a46a9f16823c" "0dwkyz3kcqnfcbhbfh2lss7s0yh87rgzb871qxx3x4ynyqph9mnz") 344 (mozilla-patch "icecat-CVE-2017-5398-pt15.patch" "91dda1e79ad8" "0b5h8fhagczfqkdgby982w6qgkw9y11zxxpdbn89rwmjpyp9nghx")
345 (mozilla-patch "icecat-CVE-2017-5376.patch" "6bc7cc7a33a6" "1wggcqv84n8mp7xps7hy4rwy61fkh45imfqzc0b46s3w5hyhypn2") 345 (mozilla-patch "icecat-CVE-2017-5404.patch" "556dd9e4a9e3" "0mbdx4xn1xs67n47ys9m42lc5ny96rz21ala848yajpdlxsz680g")
346 (mozilla-patch "icecat-CVE-2016-9893-pt10.patch" "778f65148b40" "0j2a153sk0654vv2lnxjib4lwml3mlqn6vs46c2pp82iba8nyfrm") 346 (mozilla-patch "icecat-bug-1341137-pt1.patch" "e86e0423dad1" "0dk1v7lcs61nx76qxcibha3ygqri15ldcvwwsrsayff9fq6k0v4y")
347 (mozilla-patch "icecat-CVE-2016-9895.patch" "94bd2b43c766" "10h0qpr6m9cqyqxxnkbb6mzb3cagavzlynkxgd7a4izyq1bv28rk") 347 (mozilla-patch "icecat-bug-1341137-pt2.patch" "9aebee8b8cb9" "0m7p5iprhhwdv89aqqg7fla5szw6v7x2sll4ns0zg60pk4vm6izq")
348 (mozilla-patch "icecat-CVE-2016-9893-pt11.patch" "893de7431d51" "11gyik8mwipl6ipypkvdq519pw7ccbg0g0bnvxb7271n44cqqcq5") 348 (mozilla-patch "icecat-bug-1341137-pt3.patch" "69f3d44bdb48" "1ad7rw6nmg3c49ylqxlqqkb6cm2f0ygfzrigs6b60a2zkjqhbl0h")
349 (mozilla-patch "icecat-CVE-2017-5383-pt1.patch" "b21dee058b2c" "005khpimffqzas7slajid4dd2c15nyk7rjk6fsps87bgnx0gx0s4") 349 (mozilla-patch "icecat-bug-1341137-pt4.patch" "22546e2cee64" "0gbwxa3p7qkq53hwnvxcqhx8h34qmnjdxy0h3ajik4mw76vrna9s")
350 (mozilla-patch "icecat-bug-1258410-pt1.patch" "cd23c5d74be8" "1myzkpzg6pmjacjz8az06m9kz84in1mwsiaw5sgx47pm02598wm5") 350 (mozilla-patch "icecat-bug-1341137-pt5.patch" "e5083d8a855a" "1247vbpqzf007nigbxxqd6nwgr1dxd4p8cd0dr45afqh19vhlapj")
351 (mozilla-patch "icecat-bug-1258410-pt2.patch" "b83594617d15" "171cqflc9jh47az96im1whwhyq4ayicspqsczsmn2x5ll9lqw5fq") 351 (mozilla-patch "icecat-bug-1339122.patch" "b0d156c7445e" "026jp5bb565yvhkmmicgygcn1lmak85p0466yl1vnjlx1rc8n724")))
352 (mozilla-patch "icecat-CVE-2017-5380.patch" "d6c6f5e4e641" "10x9f46ylm2q3i669hj1csd6agdm8w7xa0iln691z8ayg2hcrxdz")
353 (mozilla-patch "icecat-CVE-2017-5373-pt1.patch" "122f5fbfc563" "05pp2f4pg4j8a8pdgjhfrc8g2chhkhsarn9n8sbyag0fy3ig1cvd")
354 (mozilla-patch "icecat-CVE-2017-5390.patch" "297c675ddadc" "1jc1b5i69vq1fvz3qfnnv52c9cj17bjbmfyzmqlw5ywna0wfvabz")
355 (mozilla-patch "icecat-CVE-2017-5373-pt2.patch" "3cff736e3bb6" "1nxqwnl9zksvkfkmis7zica4xrhwfndjyy2sxc1dvrh9rshk1swq")
356 (mozilla-patch "icecat-CVE-2017-5373-pt3.patch" "2732280adabc" "0zrpq3aybaw2yy38vs6883a4nw01x4kxn3lfqn9yhcgjvngmmyia")
357 (mozilla-patch "icecat-CVE-2017-5373-pt4.patch" "81c9fdbd96e8" "0scv1zyi4vbsjdsyj4w70n5jd50baq0dzw3qpxqf1n69nfb9k214")
358 (mozilla-patch "icecat-CVE-2017-5373-pt5.patch" "a386ca6a3013" "1m1scz2pxzmg9wya8is5dcr3mgvkx3g1xlykgigmw2mqs5zcdg9s")
359 (mozilla-patch "icecat-CVE-2017-5373-pt6.patch" "0521b0e4707c" "1mv057p4hcvapibpbd9apryag19aiqdzafc6df2angl97m4mcbjx")
360 (mozilla-patch "icecat-bug-1290037.patch" "bf0dd9ae6807" "02iw5ngsvvij95arnn69a744d6si27g1x41ixg16l51dbn900b3r")
361 (mozilla-patch "icecat-bug-1322666.patch" "576f03e362c5" "0m88xs0jwhzx2lg12cvimxjknp7rpsvvhxxblhiqqjwnqip0pyc0")
362 (mozilla-patch "icecat-bug-1304266.patch" "4d82e7314a72" "1rrrw4rw0xv7c2myiypcqh1fk47rk3fvic79zh6m04bl3knclr1r")
363 (mozilla-patch "icecat-CVE-2017-5373-pt7.patch" "0617dd4b444d" "1ipags2cl2p521pm0qx110h5di2mgif6h1r3g8l9b0rc5m9b1y2j")
364 (mozilla-patch "icecat-CVE-2017-5375.patch" "ead08c2a6c57" "1nnnwdr7411xpz6n9j869g6sz447cq6xsmds9cw6d24iprcinp5m")
365 (mozilla-patch "icecat-CVE-2017-5378-pt1.patch" "c5e67d41bdd0" "05kwn5zv381lsiw9vbzm8fh6s1lddx47l8f4pwg487h9dj7vbdfq")
366 (mozilla-patch "icecat-CVE-2017-5373-pt8.patch" "2ce94f2ea797" "1yrnjqpafjns68z99s1m6jins3agid7c1z3v9qgk5xzfcddl31pn")
367 (mozilla-patch "icecat-CVE-2017-5373-pt9.patch" "e4ac8a66d3db" "1ggbh6nk005plm7kvp7qznbnlpidqkipxc5hlaqbjc3m0z9mypzl")
368 (mozilla-patch "icecat-CVE-2017-5386.patch" "8c171b75a0c6" "1cplkgwkhqvb62q7s8cya2drjdswnlicv5d9a60fxvnp6m7a3z02")
369 (mozilla-patch "icecat-CVE-2017-5383-pt2.patch" "79a31d8153bf" "0dzwk2hc741c0jr8xya4y8q59lk8mcgnvfdrdk0vzq1gby16b9zi")
370 (mozilla-patch "icecat-CVE-2017-5378-pt2.patch" "747085a1cd93" "0rpc8hl0jka4akdjnlwya4x9v4pqa1r5vc4pkmxsgvqpp2vkq4m2")
371 (mozilla-patch "icecat-bug-1331606.patch" "f0329536734b" "1br5shyfwp009y623wgjq60vhcp5k5zpzkgy4r3s5yrm5xyfcprf")
372 (mozilla-patch "icecat-bug-1328642.patch" "237c1ca6e035" "0808g5j17var6wv6ivj08i43fwkga9abmmgmz5w3hb8mhajkjw58")
373 (mozilla-patch "icecat-CVE-2017-5396.patch" "910ad552cbf5" "1qss3gc6n4myzwvwanc09xvyiq3hwhixn2xvpbk9xkfz2apdlfa6")
374 (mozilla-patch "icecat-bug-1312827.patch" "5c894801eb1e" "03xyjwx9rfx5w7q6wq9if83fcfgrlvvbyxpsawzxxgybnizyy7g8")
375 (mozilla-patch "icecat-bug-1191841.patch" "83ee87b301bd" "1kd9z4py372a2f1jg7jwvwri43vipf0k7lcvsg7b0cqr5p70zwcg")
376 (mozilla-patch "icecat-bug-1234317.patch" "eb6f18dbfe8d" "1dh3263fvg3dxav09g6fn41ax4q1jmwp5fk6pl6shn16mrfha1qq")))
377 (modules '((guix build utils))) 352 (modules '((guix build utils)))
378 (snippet 353 (snippet
379 '(begin 354 '(begin
diff --git a/gnu/packages/gstreamer.scm b/gnu/packages/gstreamer.scm
index e3e009300ff..5a1cf533361 100644
--- a/gnu/packages/gstreamer.scm
+++ b/gnu/packages/gstreamer.scm
@@ -98,7 +98,7 @@ arrays of data.")
98(define-public gstreamer 98(define-public gstreamer
99 (package 99 (package
100 (name "gstreamer") 100 (name "gstreamer")
101 (version "1.10.3") 101 (version "1.10.4")
102 (source 102 (source
103 (origin 103 (origin
104 (method url-fetch) 104 (method url-fetch)
@@ -107,7 +107,7 @@ arrays of data.")
107 version ".tar.xz")) 107 version ".tar.xz"))
108 (sha256 108 (sha256
109 (base32 109 (base32
110 "0gdnxg5igbhnpjhrzp31w1ww95j805byqd6mj3x29wli54dxrfc5")))) 110 "062jidnw17hkpva6ddygp80gyasyigfkpm1y7w56rk56a2pzbhjh"))))
111 (build-system gnu-build-system) 111 (build-system gnu-build-system)
112 (outputs '("out" "doc")) 112 (outputs '("out" "doc"))
113 (arguments 113 (arguments
@@ -146,7 +146,7 @@ This package provides the core library and elements.")
146(define-public gst-plugins-base 146(define-public gst-plugins-base
147 (package 147 (package
148 (name "gst-plugins-base") 148 (name "gst-plugins-base")
149 (version "1.10.3") 149 (version "1.10.4")
150 (source 150 (source
151 (origin 151 (origin
152 (method url-fetch) 152 (method url-fetch)
@@ -154,9 +154,11 @@ This package provides the core library and elements.")
154 name "-" version ".tar.xz")) 154 name "-" version ".tar.xz"))
155 (sha256 155 (sha256
156 (base32 156 (base32
157 "040pifl4cgsqqz2si4s1y5khj3zwm39w21siagxwp805swbrcag6")) 157 "1dsyjf6rncsbg4rfj40cvf1wwpjj9h3j3c7bh4zp7jylnfv4blpn"))
158 (patches 158; (patches
159 (search-patches "gst-plugins-base-fix-test-on-32bit.patch")))) 159; (search-patches "gst-plugins-base-fix-test-on-32bit.patch"))
160
161 ))
160 (build-system gnu-build-system) 162 (build-system gnu-build-system)
161 (outputs '("out" "doc")) 163 (outputs '("out" "doc"))
162 (propagated-inputs 164 (propagated-inputs
@@ -203,7 +205,7 @@ for the GStreamer multimedia library.")
203(define-public gst-plugins-good 205(define-public gst-plugins-good
204 (package 206 (package
205 (name "gst-plugins-good") 207 (name "gst-plugins-good")
206 (version "1.10.3") 208 (version "1.10.4")
207 (source 209 (source
208 (origin 210 (origin
209 (method url-fetch) 211 (method url-fetch)
@@ -212,7 +214,7 @@ for the GStreamer multimedia library.")
212 name "-" version ".tar.xz")) 214 name "-" version ".tar.xz"))
213 (sha256 215 (sha256
214 (base32 216 (base32
215 "0mar8ss8bvpz699ql4kgndvna8qsv7kj372py4435ffl6hzfj1sf")))) 217 "0zjdwxn83sp9wjp9rxjbyk8kf284g9av7l2v6rjldi586hacd1la"))))
216 (build-system gnu-build-system) 218 (build-system gnu-build-system)
217 (inputs 219 (inputs
218 `(("aalib" ,aalib) 220 `(("aalib" ,aalib)
@@ -268,14 +270,14 @@ developers consider to have good quality code and correct functionality.")
268(define-public gst-plugins-bad 270(define-public gst-plugins-bad
269 (package 271 (package
270 (name "gst-plugins-bad") 272 (name "gst-plugins-bad")
271 (version "1.10.3") 273 (version "1.10.4")
272 (source (origin 274 (source (origin
273 (method url-fetch) 275 (method url-fetch)
274 (uri (string-append "https://gstreamer.freedesktop.org/src/" 276 (uri (string-append "https://gstreamer.freedesktop.org/src/"
275 name "/" name "-" version ".tar.xz")) 277 name "/" name "-" version ".tar.xz"))
276 (sha256 278 (sha256
277 (base32 279 (base32
278 "1rwla1p57yzygb68z2xk5l5kvqzj5w3nxq0davkwk139zd8r6294")))) 280 "0rk9rlzf2b0hjw5hwbadz53yh4ls7vm3w3cshsa3n8isdd8axp93"))))
279 (outputs '("out" "doc")) 281 (outputs '("out" "doc"))
280 (build-system gnu-build-system) 282 (build-system gnu-build-system)
281 (arguments 283 (arguments
@@ -345,7 +347,7 @@ par compared to the rest.")
345(define-public gst-plugins-ugly 347(define-public gst-plugins-ugly
346 (package 348 (package
347 (name "gst-plugins-ugly") 349 (name "gst-plugins-ugly")
348 (version "1.10.3") 350 (version "1.10.4")
349 (source 351 (source
350 (origin 352 (origin
351 (method url-fetch) 353 (method url-fetch)
@@ -353,7 +355,7 @@ par compared to the rest.")
353 name "/" name "-" version ".tar.xz")) 355 name "/" name "-" version ".tar.xz"))
354 (sha256 356 (sha256
355 (base32 357 (base32
356 "1lkb8kznc9wxmhbp7k67b50y27nz8jp2x2flb91xzydz7b89f5f9")))) 358 "0ngsiwcsz3jd08id4mc0qiy2q1n7h2kkvdnh3r1vm725m1ycg1k3"))))
357 (build-system gnu-build-system) 359 (build-system gnu-build-system)
358 (inputs 360 (inputs
359 `(("gst-plugins-base" ,gst-plugins-base) 361 `(("gst-plugins-base" ,gst-plugins-base)
@@ -384,7 +386,7 @@ distribution problems in some jurisdictions, e.g. due to patent threats.")
384(define-public gst-libav 386(define-public gst-libav
385 (package 387 (package
386 (name "gst-libav") 388 (name "gst-libav")
387 (version "1.10.3") 389 (version "1.10.4")
388 (source (origin 390 (source (origin
389 (method url-fetch) 391 (method url-fetch)
390 (uri (string-append 392 (uri (string-append
@@ -392,7 +394,7 @@ distribution problems in some jurisdictions, e.g. due to patent threats.")
392 name "-" version ".tar.xz")) 394 name "-" version ".tar.xz"))
393 (sha256 395 (sha256
394 (base32 396 (base32
395 "1aajayv63ardkbmcg7pnh2d87r067325a5wzinwihaw6n5jw2sws")))) 397 "12r68ri03mgbbwsxyn6yklgfsq32rwvyq83zw0aq7m73fp5gx83c"))))
396 (build-system gnu-build-system) 398 (build-system gnu-build-system)
397 (arguments 399 (arguments
398 '(#:configure-flags '("--with-system-libav") 400 '(#:configure-flags '("--with-system-libav")
@@ -422,7 +424,7 @@ compression formats through the use of the libav library.")
422(define-public python-gst 424(define-public python-gst
423 (package 425 (package
424 (name "python-gst") 426 (name "python-gst")
425 (version "1.10.3") 427 (version "1.10.4")
426 (source (origin 428 (source (origin
427 (method url-fetch) 429 (method url-fetch)
428 (uri (string-append 430 (uri (string-append
@@ -430,7 +432,7 @@ compression formats through the use of the libav library.")
430 "gst-python-" version ".tar.xz")) 432 "gst-python-" version ".tar.xz"))
431 (sha256 433 (sha256
432 (base32 434 (base32
433 "1s5437bnk0j5hfg2gwfwq4b68l6vj1lfskxh73v6ikp0vw32vymx")))) 435 "04l2hvvz9b0f3nyds1k3yfk5di8a91fpr6maj19c11mwp1s82l2r"))))
434 (build-system gnu-build-system) 436 (build-system gnu-build-system)
435 (arguments 437 (arguments
436 ;; XXX: Factorize python-sitedir with python-build-system. 438 ;; XXX: Factorize python-sitedir with python-build-system.
diff --git a/gnu/packages/guile.scm b/gnu/packages/guile.scm
index 0b12f3e1f82..8fdd85add9d 100644
--- a/gnu/packages/guile.scm
+++ b/gnu/packages/guile.scm
@@ -10,6 +10,7 @@
10;;; Copyright © 2016 Adonay "adfeno" Felipe Nogueira <https://libreplanet.org/wiki/User:Adfeno> <adfeno@openmailbox.org> 10;;; Copyright © 2016 Adonay "adfeno" Felipe Nogueira <https://libreplanet.org/wiki/User:Adfeno> <adfeno@openmailbox.org>
11;;; Copyright © 2016 Amirouche <amirouche@hypermove.net> 11;;; Copyright © 2016 Amirouche <amirouche@hypermove.net>
12;;; Copyright © 2016 Jan Nieuwenhuizen <janneke@gnu.org> 12;;; Copyright © 2016 Jan Nieuwenhuizen <janneke@gnu.org>
13;;; Copyright © 2017 Andy Wingo <wingo@igalia.com>
13;;; 14;;;
14;;; This file is part of GNU Guix. 15;;; This file is part of GNU Guix.
15;;; 16;;;
@@ -219,7 +220,7 @@ without requiring the source code to be rewritten.")
219(define-public guile-next 220(define-public guile-next
220 (package (inherit guile-2.0) 221 (package (inherit guile-2.0)
221 (name "guile-next") 222 (name "guile-next")
222 (version "2.1.5") 223 (version "2.1.7")
223 (replacement #f) 224 (replacement #f)
224 (source (origin 225 (source (origin
225 (method url-fetch) 226 (method url-fetch)
@@ -227,7 +228,7 @@ without requiring the source code to be rewritten.")
227 version ".tar.xz")) 228 version ".tar.xz"))
228 (sha256 229 (sha256
229 (base32 230 (base32
230 "0r9y4hw17dlxahik4zsccfb2f3p2a07wqndfm251bgmam9hln6gi")) 231 "0qf2664bglv5rrj4c99cc7gry7v9x0sqdyzgfg8zi8gm5wbcmqda"))
231 (modules '((guix build utils))) 232 (modules '((guix build utils)))
232 233
233 ;; Remove the pre-built object files. Instead, build everything 234 ;; Remove the pre-built object files. Instead, build everything
@@ -428,22 +429,18 @@ more.")
428(define-public guile-reader 429(define-public guile-reader
429 (package 430 (package
430 (name "guile-reader") 431 (name "guile-reader")
431 (version "0.6.1") 432 (version "0.6.2")
432 (source (origin 433 (source (origin
433 (method url-fetch) 434 (method url-fetch)
434 (uri (string-append "mirror://savannah/guile-reader/guile-reader-" 435 (uri (string-append "mirror://savannah/guile-reader/guile-reader-"
435 version ".tar.gz")) 436 version ".tar.gz"))
436 (sha256 437 (sha256
437 (base32 438 (base32
438 "020wz5w8z6g79nbqifg2n496wxwkcjzh8xizpv6mz0hczpl155ma")))) 439 "0592s2s8ampqmqwilc4fvcild6rb9gy79di6vxv5kcdmv23abkgx"))))
439 (build-system gnu-build-system) 440 (build-system gnu-build-system)
440 (native-inputs `(("pkgconfig" ,pkg-config) 441 (native-inputs `(("pkgconfig" ,pkg-config)
441 ("gperf" ,gperf))) 442 ("gperf" ,gperf)))
442 (inputs `(("guile" ,guile-2.0))) 443 (inputs `(("guile" ,guile-2.0)))
443 (arguments `(#:configure-flags
444 (let ((out (assoc-ref %outputs "out")))
445 (list (string-append "--with-guilemoduledir="
446 out "/share/guile/site/2.0")))))
447 (synopsis "Framework for building readers for GNU Guile") 444 (synopsis "Framework for building readers for GNU Guile")
448 (description 445 (description
449 "Guile-Reader is a simple framework for building readers for GNU Guile. 446 "Guile-Reader is a simple framework for building readers for GNU Guile.
@@ -460,6 +457,9 @@ many readers as needed).")
460 (home-page "http://www.nongnu.org/guile-reader/") 457 (home-page "http://www.nongnu.org/guile-reader/")
461 (license license:gpl3+))) 458 (license license:gpl3+)))
462 459
460(define-public guile2.2-reader
461 (package-for-guile-2.2 guile-reader))
462
463(define-public guile-ncurses 463(define-public guile-ncurses
464 (package 464 (package
465 (name "guile-ncurses") 465 (name "guile-ncurses")
@@ -617,32 +617,29 @@ The library is shipped with documentation in Info format and usage examples.")
617(define-public guile-lib 617(define-public guile-lib
618 (package 618 (package
619 (name "guile-lib") 619 (name "guile-lib")
620 (version "0.2.3") 620 (version "0.2.5")
621 (source (origin 621 (source (origin
622 (method url-fetch) 622 (method url-fetch)
623 (uri (string-append "mirror://savannah/guile-lib/guile-lib-" 623 (uri (string-append "mirror://savannah/guile-lib/guile-lib-"
624 version ".tar.gz")) 624 version ".tar.gz"))
625 (sha256 625 (sha256
626 (base32 626 (base32
627 "0pwdd52vakni1fabaiav8v0ad7xp3bx8x3brijbr1mpgamm9dxqc")))) 627 "1qbk485djgxqrbfjvk4b7w7y4x9xygf2qb8dqnl7885kajasx8qg"))))
628 (build-system gnu-build-system) 628 (build-system gnu-build-system)
629 (arguments 629 (arguments
630 '(#:phases (modify-phases %standard-phases 630 '(#:make-flags
631 (add-before 'configure 'patch-module-dir 631 '("GUILE_AUTO_COMPILE=0") ;to prevent guild errors
632 (lambda _ 632 #:phases
633 (substitute* "src/Makefile.in" 633 (modify-phases %standard-phases
634 (("^moddir = ([[:graph:]]+)") 634 (add-before 'configure 'patch-module-dir
635 "moddir = $(datadir)/guile/site/@GUILE_EFFECTIVE_VERSION@\n") 635 (lambda _
636 (("^godir = ([[:graph:]]+)") 636 (substitute* "src/Makefile.in"
637 "godir = \ 637 (("^moddir = ([[:graph:]]+)")
638 "moddir = $(datadir)/guile/site/@GUILE_EFFECTIVE_VERSION@\n")
639 (("^godir = ([[:graph:]]+)")
640 "godir = \
638$(libdir)/guile/@GUILE_EFFECTIVE_VERSION@/site-ccache\n")) 641$(libdir)/guile/@GUILE_EFFECTIVE_VERSION@/site-ccache\n"))
639 #t)) 642 #t)))))
640 (replace 'check
641 (lambda _
642 ;; Work around a harmless test failure involving
643 ;; two-spaces-after-period rendering.
644 (zero? (system* "make" "check" ;"-C" "unit-tests"
645 "XFAIL_TESTS=texinfo.serialize.scm")))))))
646 (native-inputs `(("pkg-config" ,pkg-config))) 643 (native-inputs `(("pkg-config" ,pkg-config)))
647 (inputs `(("guile" ,guile-2.0))) 644 (inputs `(("guile" ,guile-2.0)))
648 (home-page "http://www.nongnu.org/guile-lib/") 645 (home-page "http://www.nongnu.org/guile-lib/")
@@ -1052,6 +1049,10 @@ interface for reading articles in any format.")
1052 (home-page "http://haunt.dthompson.us") 1049 (home-page "http://haunt.dthompson.us")
1053 (license license:gpl3+))) 1050 (license license:gpl3+)))
1054 1051
1052(define-public guile2.2-haunt
1053 (package-for-guile-2.2
1054 (package (inherit haunt) (name "guile2.2-haunt"))))
1055
1055(define-public guile-config 1056(define-public guile-config
1056 (package 1057 (package
1057 (name "guile-config") 1058 (name "guile-config")
@@ -1641,6 +1642,38 @@ library for GNU Guile based on the actor model.
1641Note that 8sync is only available for Guile 2.2 (guile-next in Guix).") 1642Note that 8sync is only available for Guile 2.2 (guile-next in Guix).")
1642 (license license:lgpl3+))) 1643 (license license:lgpl3+)))
1643 1644
1645(define-public guile-fibers
1646 (package
1647 (name "guile-fibers")
1648 (version "1.0.0")
1649 (source (origin
1650 (method url-fetch)
1651 (uri (string-append "https://wingolog.org/pub/fibers/fibers-"
1652 version ".tar.gz"))
1653 (sha256
1654 (base32
1655 "0vjkg72ghgdgphzbjz9ig8al8271rq8974viknb2r1rg4lz92ld0"))))
1656 (build-system gnu-build-system)
1657 (native-inputs
1658 `(("texinfo" ,texinfo)
1659 ("pkg-config" ,pkg-config)))
1660 (inputs
1661 `(("guile" ,guile-next)))
1662 (synopsis "Lightweight concurrency facility for Guile")
1663 (description
1664 "Fibers is a Guile library that implements a a lightweight concurrency
1665facility, inspired by systems like Concurrent ML, Go, and Erlang. A fiber is
1666like a \"goroutine\" from the Go language: a lightweight thread-like
1667abstraction. Systems built with Fibers can scale up to millions of concurrent
1668fibers, tens of thousands of concurrent socket connections, and many parallel
1669cores. The Fibers library also provides Concurrent ML-like channels for
1670communication between fibers.
1671
1672Note that Fibers makes use of some Guile 2.1/2.2-specific features and
1673is not available for Guile 2.0.")
1674 (home-page "https://github.com/wingo/fibers")
1675 (license license:lgpl3+)))
1676
1644(define-public guile-git 1677(define-public guile-git
1645 (let ((revision "0") 1678 (let ((revision "0")
1646 (commit "969514aa7224217bc3c1a4c5312a9469ac5f13d5")) 1679 (commit "969514aa7224217bc3c1a4c5312a9469ac5f13d5"))
diff --git a/gnu/packages/image-viewers.scm b/gnu/packages/image-viewers.scm
index 05d39ba8775..05b9472395a 100644
--- a/gnu/packages/image-viewers.scm
+++ b/gnu/packages/image-viewers.scm
@@ -43,7 +43,7 @@
43(define-public feh 43(define-public feh
44 (package 44 (package
45 (name "feh") 45 (name "feh")
46 (version "2.18") 46 (version "2.18.2")
47 (home-page "https://feh.finalrewind.org/") 47 (home-page "https://feh.finalrewind.org/")
48 (source (origin 48 (source (origin
49 (method url-fetch) 49 (method url-fetch)
@@ -51,7 +51,7 @@
51 name "-" version ".tar.bz2")) 51 name "-" version ".tar.bz2"))
52 (sha256 52 (sha256
53 (base32 53 (base32
54 "036lgv81d0vmrnmh1z1x360nr5avb2sk5jb1h3g5n6jijm8vzblx")))) 54 "09f5rfzls4h5jcrp7ylwbiljp5qzc2nbw9p2csv0pnlaixj69gil"))))
55 (build-system gnu-build-system) 55 (build-system gnu-build-system)
56 (arguments 56 (arguments
57 '(#:phases (alist-delete 'configure %standard-phases) 57 '(#:phases (alist-delete 'configure %standard-phases)
@@ -212,7 +212,7 @@ your images. Among its features are:
212(define-public catimg 212(define-public catimg
213 (package 213 (package
214 (name "catimg") 214 (name "catimg")
215 (version "2.2.1") 215 (version "2.2.2")
216 (source 216 (source
217 (origin 217 (origin
218 (method url-fetch) 218 (method url-fetch)
@@ -221,10 +221,10 @@ your images. Among its features are:
221 (file-name (string-append name "-" version ".tar.gz")) 221 (file-name (string-append name "-" version ".tar.gz"))
222 (sha256 222 (sha256
223 (base32 223 (base32
224 "14g90zwh2d3s13hgyxypx2vc0rj1g58l6zcxhgc84wsyxfxd6xpb")))) 224 "1abkhrhw4r221lwn2vb8in3vmp6gxn3qlv34cqndr55v5gdpb9qz"))))
225 (build-system cmake-build-system) 225 (build-system cmake-build-system)
226 (arguments 226 (arguments
227 `(#:tests? #f ; No check target 227 `(#:tests? #f ; no tests
228 #:phases 228 #:phases
229 (modify-phases %standard-phases 229 (modify-phases %standard-phases
230 (replace 'configure 230 (replace 'configure
@@ -234,20 +234,22 @@ your images. Among its features are:
234 (substitute* "catimg" 234 (substitute* "catimg"
235 ;; By replacing "convert", we also replace the "convert" 235 ;; By replacing "convert", we also replace the "convert"
236 ;; in the message 'The version of convert is too old, don't 236 ;; in the message 'The version of convert is too old, don't
237 ;; expect good results :('. This should not happen, but in 237 ;; expect good results :('. This should not happen, but in
238 ;; practice this error message should not affect us. 238 ;; practice this error message should not affect us.
239 (("convert") convert)) 239 (("convert") convert))
240 #t))) 240 #t)))
241 (replace 'build 241 (replace 'build
242 (lambda _ 242 (lambda _
243 (zero? (system* "cmake" "-D" 243 (let* ((out (assoc-ref %outputs "out"))
244 (string-append "CMAKE_INSTALL_PREFIX=" 244 (man (string-append out "/share/man/man1")))
245 (assoc-ref %outputs "out")) 245 (zero? (system* "cmake"
246 ".")) 246 (string-append "-DCMAKE_INSTALL_PREFIX=" out)
247 (zero? (system* "make")))) 247 (string-append "-DMAN_OUTPUT_PATH=" man)
248 "."))
249 (zero? (system* "make")))))
248 (add-before 'install 'install-script 250 (add-before 'install 'install-script
249 (lambda* (#:key outputs #:allow-other-keys) 251 (lambda* (#:key outputs #:allow-other-keys)
250 ;; The bashscript lacks an file extension, we have to rename 252 ;; The bash script lacks an file extension. We have to rename
251 ;; it so that the C program and the bash script can be happy 253 ;; it so that the C program and the bash script can be happy
252 ;; side by side. 254 ;; side by side.
253 (let* ((out (assoc-ref outputs "out")) 255 (let* ((out (assoc-ref outputs "out"))
@@ -257,7 +259,7 @@ your images. Among its features are:
257 (string-append bin "/catimg.sh")) 259 (string-append bin "/catimg.sh"))
258 #t)))))) 260 #t))))))
259 (inputs 261 (inputs
260 `(("imagemagick" ,imagemagick))) ; For the bash script version 262 `(("imagemagick" ,imagemagick))) ; for the bash script version
261 (home-page "https://github.com/posva/catimg") 263 (home-page "https://github.com/posva/catimg")
262 (synopsis "Render images in the terminal") 264 (synopsis "Render images in the terminal")
263 (description 265 (description
diff --git a/gnu/packages/image.scm b/gnu/packages/image.scm
index cbdc1b39dc7..fd2eefab0d0 100644
--- a/gnu/packages/image.scm
+++ b/gnu/packages/image.scm
@@ -868,14 +868,14 @@ convert, manipulate, filter and display a wide variety of image formats.")
868(define-public jasper 868(define-public jasper
869 (package 869 (package
870 (name "jasper") 870 (name "jasper")
871 (version "2.0.10") 871 (version "2.0.12")
872 (source (origin 872 (source (origin
873 (method url-fetch) 873 (method url-fetch)
874 (uri (string-append "https://www.ece.uvic.ca/~frodo/jasper" 874 (uri (string-append "https://www.ece.uvic.ca/~frodo/jasper"
875 "/software/jasper-" version ".tar.gz")) 875 "/software/jasper-" version ".tar.gz"))
876 (sha256 876 (sha256
877 (base32 877 (base32
878 "1s022mfxyw8jw60fgyj60lbm9h6bc4nk2751b0in8qsjwcl59n2l")))) 878 "1njdbxv7d4anzrd476wjww2qsi96dd8vfnp4hri0srrqxpszl92v"))))
879 (build-system cmake-build-system) 879 (build-system cmake-build-system)
880 (inputs `(("libjpeg" ,libjpeg))) 880 (inputs `(("libjpeg" ,libjpeg)))
881 (synopsis "JPEG-2000 library") 881 (synopsis "JPEG-2000 library")
diff --git a/gnu/packages/imagemagick.scm b/gnu/packages/imagemagick.scm
index a58e83d7256..74483965ddf 100644
--- a/gnu/packages/imagemagick.scm
+++ b/gnu/packages/imagemagick.scm
@@ -46,14 +46,14 @@
46 ;; The 7 release series has an incompatible API, while the 6 series is still 46 ;; The 7 release series has an incompatible API, while the 6 series is still
47 ;; maintained. Don't update to 7 until we've made sure that the ImageMagick 47 ;; maintained. Don't update to 7 until we've made sure that the ImageMagick
48 ;; users are ready for the 7-series API. 48 ;; users are ready for the 7-series API.
49 (version "6.9.7-7") 49 (version "6.9.7-9")
50 (source (origin 50 (source (origin
51 (method url-fetch) 51 (method url-fetch)
52 (uri (string-append "mirror://imagemagick/ImageMagick-" 52 (uri (string-append "mirror://imagemagick/ImageMagick-"
53 version ".tar.xz")) 53 version ".tar.xz"))
54 (sha256 54 (sha256
55 (base32 55 (base32
56 "02x463z31j449pfm8czb7jlpkd3nx4a3yyjxq3bhpjfq13i20d62")))) 56 "1fqvi6h96mfbyw292awiwsqs449sjmw6i9ib53c66nnq1zchw7l3"))))
57 (build-system gnu-build-system) 57 (build-system gnu-build-system)
58 (arguments 58 (arguments
59 `(#:configure-flags '("--with-frozenpaths" "--without-gcc-arch") 59 `(#:configure-flags '("--with-frozenpaths" "--without-gcc-arch")
@@ -162,11 +162,12 @@ script.")
162 (license (package-license imagemagick)))) 162 (license (package-license imagemagick))))
163 163
164(define-public graphicsmagick 164(define-public graphicsmagick
165 (let ((changeset "56c8cae") ; 3e01b 165 (let ((changeset "6156b4c2992d855ece6079653b3b93c3229fc4b8") ; fix CVE-2017-6335
166 (revision "1")) 166 (revision "2"))
167 (package 167 (package
168 (name "graphicsmagick") 168 (name "graphicsmagick")
169 (version (string-append "1.3.25-" revision "." changeset)) 169 (version (string-append "1.3.25-" revision "."
170 (string-take changeset 7)))
170 (source (origin 171 (source (origin
171 (method hg-fetch) 172 (method hg-fetch)
172 (uri (hg-reference 173 (uri (hg-reference
@@ -179,7 +180,7 @@ script.")
179 ;; "/GraphicsMagick-" version ".tar.xz")) 180 ;; "/GraphicsMagick-" version ".tar.xz"))
180 (sha256 181 (sha256
181 (base32 182 (base32
182 "1s9apvkn0kxr6i4i5wlkfw1prja02rgk689n3cf822zc0dkycxdh")))) 183 "08yfsn8mrqkwpax43vv1crfr55rcf004wwpzsinr5c6m0asqr08b"))))
183 (build-system gnu-build-system) 184 (build-system gnu-build-system)
184 (arguments 185 (arguments
185 `(#:configure-flags 186 `(#:configure-flags
diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm
index e7479e1b082..1d18a0b0664 100644
--- a/gnu/packages/java.scm
+++ b/gnu/packages/java.scm
@@ -1,7 +1,8 @@
1;;; GNU Guix --- Functional package management for GNU 1;;; GNU Guix --- Functional package management for GNU
2;;; Copyright © 2015, 2016 Ricardo Wurmus <rekado@elephly.net> 2;;; Copyright © 2015, 2016, 2017 Ricardo Wurmus <rekado@elephly.net>
3;;; Copyright © 2016 Leo Famulari <leo@famulari.name> 3;;; Copyright © 2016 Leo Famulari <leo@famulari.name>
4;;; Copyright © 2016 Roel Janssen <roel@gnu.org> 4;;; Copyright © 2016, 2017 Roel Janssen <roel@gnu.org>
5;;; Copyright © 2017 Carlo Zancanaro <carlo@zancanaro.id.au>
5;;; 6;;;
6;;; This file is part of GNU Guix. 7;;; This file is part of GNU Guix.
7;;; 8;;;
@@ -334,454 +335,6 @@ and is best suited to building Java projects. Ant uses XML to describe the
334build process and its dependencies, whereas Make uses Makefile format.") 335build process and its dependencies, whereas Make uses Makefile format.")
335 (license license:asl2.0))) 336 (license license:asl2.0)))
336 337
337(define-public icedtea-6
338 (package
339 (name "icedtea")
340 (version "1.13.13")
341 (source (origin
342 (method url-fetch)
343 (uri (string-append
344 "http://icedtea.wildebeest.org/download/source/icedtea6-"
345 version ".tar.xz"))
346 (sha256
347 (base32
348 "0bg9sb4f7qbq77c0zf9m17p47ga0kf0r9622g9p12ysg26jd1ksg"))
349 (modules '((guix build utils)))
350 (snippet
351 '(substitute* "Makefile.in"
352 ;; link against libgcj to avoid linker error
353 (("-o native-ecj")
354 "-lgcj -o native-ecj")
355 ;; do not leak information about the build host
356 (("DISTRIBUTION_ID=\"\\$\\(DIST_ID\\)\"")
357 "DISTRIBUTION_ID=\"\\\"guix\\\"\"")))))
358 (build-system gnu-build-system)
359 (outputs '("out" ; Java Runtime Environment
360 "jdk" ; Java Development Kit
361 "doc")) ; all documentation
362 (arguments
363 `(;; There are many failing tests and many are known to fail upstream.
364 ;;
365 ;; * Hotspot VM tests:
366 ;; FAILED: compiler/7082949/Test7082949.java
367 ;; FAILED: compiler/7088020/Test7088020.java
368 ;; FAILED: runtime/6929067/Test6929067.sh
369 ;; FAILED: serviceability/sa/jmap-hashcode/Test8028623.java
370 ;; => Test results: passed: 161; failed: 4
371 ;;
372 ;; * langtools tests:
373 ;; FAILED: com/sun/javadoc/testHtmlDefinitionListTag/TestHtmlDefinitionListTag.java
374 ;; FAILED: tools/javac/6627362/T6627362.java
375 ;; FAILED: tools/javac/7003595/T7003595.java
376 ;; FAILED: tools/javac/7024568/T7024568.java
377 ;; FAILED: tools/javap/4111861/T4111861.java
378 ;; FAILED: tools/javap/ListTest.java
379 ;; FAILED: tools/javap/OptionTest.java
380 ;; FAILED: tools/javap/T4884240.java
381 ;; FAILED: tools/javap/T4975569.java
382 ;; --> fails because of insignificant whitespace differences
383 ;; in output of javap
384 ;; FAILED: tools/javap/T6868539.java
385 ;; => Test results: passed: 1,445; failed: 10
386 ;;
387 ;; * JDK tests:
388 ;; Tests are incomplete because of a segfault after this test:
389 ;; javax/crypto/spec/RC5ParameterSpec/RC5ParameterSpecEquals.java
390 ;; A bug report has already been filed upstream:
391 ;; http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=2188
392 ;;
393 ;; The tests require xvfb-run, a wrapper script around Xvfb, which
394 ;; has not been packaged yet. Without it many AWT tests fail, so I
395 ;; made no attempts to make a list of failing JDK tests. At least
396 ;; 222 tests are failing of which at least 132 are AWT tests.
397 #:tests? #f
398
399 ;; The DSOs use $ORIGIN to refer to each other, but (guix build
400 ;; gremlin) doesn't support it yet, so skip this phase.
401 #:validate-runpath? #f
402
403 #:modules ((guix build utils)
404 (guix build gnu-build-system)
405 (ice-9 popen)
406 (ice-9 rdelim)
407 (srfi srfi-19))
408
409 #:configure-flags
410 (let* ((gcjdir (assoc-ref %build-inputs "gcj"))
411 (ecj (string-append gcjdir "/share/java/ecj.jar"))
412 (jdk (string-append gcjdir "/lib/jvm/"))
413 (gcj (string-append gcjdir "/bin/gcj")))
414 `("--enable-bootstrap"
415 "--enable-nss"
416 "--without-rhino"
417 "--disable-downloading"
418 "--disable-tests" ;they are run in the check phase instead
419 "--with-openjdk-src-dir=./openjdk.src"
420 ,(string-append "--with-javac=" jdk "/bin/javac")
421 ,(string-append "--with-ecj-jar=" ecj)
422 ,(string-append "--with-gcj=" gcj)
423 ,(string-append "--with-jdk-home=" jdk)
424 ,(string-append "--with-java=" jdk "/bin/java")))
425 #:phases
426 (modify-phases %standard-phases
427 (replace 'unpack
428 (lambda* (#:key source inputs #:allow-other-keys)
429 (and (zero? (system* "tar" "xvf" source))
430 (begin
431 (chdir (string-append "icedtea6-" ,version))
432 (mkdir "openjdk.src")
433 (with-directory-excursion "openjdk.src"
434 (copy-file (assoc-ref inputs "openjdk6-src")
435 "openjdk6-src.tar.xz")
436 (zero? (system* "tar" "xvf" "openjdk6-src.tar.xz")))))))
437 (add-after 'unpack 'patch-patches
438 (lambda _
439 ;; shebang in patches so that they apply cleanly
440 (substitute* '("patches/jtreg-jrunscript.patch"
441 "patches/hotspot/hs23/drop_unlicensed_test.patch")
442 (("#!/bin/sh") (string-append "#!" (which "sh"))))
443 #t))
444 (add-after 'unpack 'patch-paths
445 (lambda _
446 ;; buildtree.make generates shell scripts, so we need to replace
447 ;; the generated shebang
448 (substitute* '("openjdk.src/hotspot/make/linux/makefiles/buildtree.make")
449 (("/bin/sh") (which "bash")))
450
451 (let ((corebin (string-append
452 (assoc-ref %build-inputs "coreutils") "/bin/"))
453 (binbin (string-append
454 (assoc-ref %build-inputs "binutils") "/bin/"))
455 (grepbin (string-append
456 (assoc-ref %build-inputs "grep") "/bin/")))
457 (substitute* '("openjdk.src/jdk/make/common/shared/Defs-linux.gmk"
458 "openjdk.src/corba/make/common/shared/Defs-linux.gmk")
459 (("UNIXCOMMAND_PATH = /bin/")
460 (string-append "UNIXCOMMAND_PATH = " corebin))
461 (("USRBIN_PATH = /usr/bin/")
462 (string-append "USRBIN_PATH = " corebin))
463 (("DEVTOOLS_PATH *= */usr/bin/")
464 (string-append "DEVTOOLS_PATH = " corebin))
465 (("COMPILER_PATH *= */usr/bin/")
466 (string-append "COMPILER_PATH = "
467 (assoc-ref %build-inputs "gcc") "/bin/"))
468 (("DEF_OBJCOPY *=.*objcopy")
469 (string-append "DEF_OBJCOPY = " (which "objcopy"))))
470
471 ;; fix path to alsa header
472 (substitute* "openjdk.src/jdk/make/common/shared/Sanity.gmk"
473 (("ALSA_INCLUDE=/usr/include/alsa/version.h")
474 (string-append "ALSA_INCLUDE="
475 (assoc-ref %build-inputs "alsa-lib")
476 "/include/alsa/version.h")))
477
478 ;; fix hard-coded utility paths
479 (substitute* '("openjdk.src/jdk/make/common/shared/Defs-utils.gmk"
480 "openjdk.src/corba/make/common/shared/Defs-utils.gmk")
481 (("ECHO *=.*echo")
482 (string-append "ECHO = " (which "echo")))
483 (("^GREP *=.*grep")
484 (string-append "GREP = " (which "grep")))
485 (("EGREP *=.*egrep")
486 (string-append "EGREP = " (which "egrep")))
487 (("CPIO *=.*cpio")
488 (string-append "CPIO = " (which "cpio")))
489 (("READELF *=.*readelf")
490 (string-append "READELF = " (which "readelf")))
491 (("^ *AR *=.*ar")
492 (string-append "AR = " (which "ar")))
493 (("^ *TAR *=.*tar")
494 (string-append "TAR = " (which "tar")))
495 (("AS *=.*as")
496 (string-append "AS = " (which "as")))
497 (("LD *=.*ld")
498 (string-append "LD = " (which "ld")))
499 (("STRIP *=.*strip")
500 (string-append "STRIP = " (which "strip")))
501 (("NM *=.*nm")
502 (string-append "NM = " (which "nm")))
503 (("^SH *=.*sh")
504 (string-append "SH = " (which "bash")))
505 (("^FIND *=.*find")
506 (string-append "FIND = " (which "find")))
507 (("LDD *=.*ldd")
508 (string-append "LDD = " (which "ldd")))
509 (("NAWK *=.*(n|g)awk")
510 (string-append "NAWK = " (which "gawk")))
511 (("XARGS *=.*xargs")
512 (string-append "XARGS = " (which "xargs")))
513 (("UNZIP *=.*unzip")
514 (string-append "UNZIP = " (which "unzip")))
515 (("ZIPEXE *=.*zip")
516 (string-append "ZIPEXE = " (which "zip")))
517 (("SED *=.*sed")
518 (string-append "SED = " (which "sed"))))
519
520 ;; Some of these timestamps cause problems as they are more than
521 ;; 10 years ago, failing the build process.
522 (substitute*
523 "openjdk.src/jdk/src/share/classes/java/util/CurrencyData.properties"
524 (("AZ=AZM;2005-12-31-20-00-00;AZN") "AZ=AZN")
525 (("MZ=MZM;2006-06-30-22-00-00;MZN") "MZ=MZN")
526 (("RO=ROL;2005-06-30-21-00-00;RON") "RO=RON")
527 (("TR=TRL;2004-12-31-22-00-00;TRY") "TR=TRY")))))
528 (add-before 'configure 'set-additional-paths
529 (lambda* (#:key inputs #:allow-other-keys)
530 (let* ((gcjdir (assoc-ref %build-inputs "gcj"))
531 (gcjlib (string-append gcjdir "/lib"))
532 ;; Get target-specific include directory so that
533 ;; libgcj-config.h is found when compiling hotspot.
534 (gcjinclude (let* ((port (open-input-pipe "gcj -print-file-name=include"))
535 (str (read-line port)))
536 (close-pipe port)
537 str)))
538 (setenv "CPATH"
539 (string-append gcjinclude ":"
540 (assoc-ref %build-inputs "libxrender")
541 "/include/X11/extensions" ":"
542 (assoc-ref %build-inputs "libxtst")
543 "/include/X11/extensions" ":"
544 (assoc-ref %build-inputs "libxinerama")
545 "/include/X11/extensions" ":"
546 (or (getenv "CPATH") "")))
547 (setenv "ALT_CUPS_HEADERS_PATH"
548 (string-append (assoc-ref %build-inputs "cups")
549 "/include"))
550 (setenv "ALT_FREETYPE_HEADERS_PATH"
551 (string-append (assoc-ref %build-inputs "freetype")
552 "/include"))
553 (setenv "ALT_FREETYPE_LIB_PATH"
554 (string-append (assoc-ref %build-inputs "freetype")
555 "/lib")))))
556 (add-before 'check 'fix-test-framework
557 (lambda _
558 ;; Fix PATH in test environment
559 (substitute* "src/jtreg/com/sun/javatest/regtest/Main.java"
560 (("PATH=/bin:/usr/bin")
561 (string-append "PATH=" (getenv "PATH"))))
562 (substitute* "src/jtreg/com/sun/javatest/util/SysEnv.java"
563 (("/usr/bin/env") (which "env")))
564 #t))
565 (add-before 'check 'fix-hotspot-tests
566 (lambda _
567 (with-directory-excursion "openjdk.src/hotspot/test/"
568 (substitute* "jprt.config"
569 (("PATH=\"\\$\\{path4sdk\\}\"")
570 (string-append "PATH=" (getenv "PATH")))
571 (("make=/usr/bin/make")
572 (string-append "make=" (which "make"))))
573 (substitute* '("runtime/6626217/Test6626217.sh"
574 "runtime/7110720/Test7110720.sh")
575 (("/bin/rm") (which "rm"))
576 (("/bin/cp") (which "cp"))
577 (("/bin/mv") (which "mv"))))
578 #t))
579 (add-before 'check 'fix-jdk-tests
580 (lambda _
581 (with-directory-excursion "openjdk.src/jdk/test/"
582 (substitute* "com/sun/jdi/JdbReadTwiceTest.sh"
583 (("/bin/pwd") (which "pwd")))
584 (substitute* "com/sun/jdi/ShellScaffold.sh"
585 (("/bin/kill") (which "kill")))
586 (substitute* "start-Xvfb.sh"
587 ;;(("/usr/bin/X11/Xvfb") (which "Xvfb"))
588 (("/usr/bin/nohup") (which "nohup")))
589 (substitute* "javax/security/auth/Subject/doAs/Test.sh"
590 (("/bin/rm") (which "rm")))
591 (substitute* "tools/launcher/MultipleJRE.sh"
592 (("echo \"#!/bin/sh\"")
593 (string-append "echo \"#!" (which "rm") "\""))
594 (("/usr/bin/zip") (which "zip")))
595 (substitute* "com/sun/jdi/OnThrowTest.java"
596 (("#!/bin/sh") (string-append "#!" (which "sh"))))
597 (substitute* "java/lang/management/OperatingSystemMXBean/GetSystemLoadAverage.java"
598 (("/usr/bin/uptime") (which "uptime")))
599 (substitute* "java/lang/ProcessBuilder/Basic.java"
600 (("/usr/bin/env") (which "env"))
601 (("/bin/false") (which "false"))
602 (("/bin/true") (which "true"))
603 (("/bin/cp") (which "cp"))
604 (("/bin/sh") (which "sh")))
605 (substitute* "java/lang/ProcessBuilder/FeelingLucky.java"
606 (("/bin/sh") (which "sh")))
607 (substitute* "java/lang/ProcessBuilder/Zombies.java"
608 (("/usr/bin/perl") (which "perl"))
609 (("/bin/ps") (which "ps"))
610 (("/bin/true") (which "true")))
611 (substitute* "java/lang/Runtime/exec/ConcurrentRead.java"
612 (("/usr/bin/tee") (which "tee")))
613 (substitute* "java/lang/Runtime/exec/ExecWithDir.java"
614 (("/bin/true") (which "true")))
615 (substitute* "java/lang/Runtime/exec/ExecWithInput.java"
616 (("/bin/cat") (which "cat")))
617 (substitute* "java/lang/Runtime/exec/ExitValue.java"
618 (("/bin/sh") (which "sh"))
619 (("/bin/true") (which "true"))
620 (("/bin/kill") (which "kill")))
621 (substitute* "java/lang/Runtime/exec/LotsOfDestroys.java"
622 (("/usr/bin/echo") (which "echo")))
623 (substitute* "java/lang/Runtime/exec/LotsOfOutput.java"
624 (("/usr/bin/cat") (which "cat")))
625 (substitute* "java/lang/Runtime/exec/SleepyCat.java"
626 (("/bin/cat") (which "cat"))
627 (("/bin/sleep") (which "sleep"))
628 (("/bin/sh") (which "sh")))
629 (substitute* "java/lang/Runtime/exec/StreamsSurviveDestroy.java"
630 (("/bin/cat") (which "cat")))
631 (substitute* "java/rmi/activation/CommandEnvironment/SetChildEnv.java"
632 (("/bin/chmod") (which "chmod")))
633 (substitute* "java/util/zip/ZipFile/Assortment.java"
634 (("/bin/sh") (which "sh"))))
635 #t))
636 (replace 'check
637 (lambda _
638 ;; The "make check-*" targets always return zero, so we need to
639 ;; check for errors in the associated log files to determine
640 ;; whether any tests have failed.
641 (use-modules (ice-9 rdelim))
642 (let* ((error-pattern (make-regexp "^(Error|FAILED):.*"))
643 (checker (lambda (port)
644 (let loop ()
645 (let ((line (read-line port)))
646 (cond
647 ((eof-object? line) #t)
648 ((regexp-exec error-pattern line) #f)
649 (else (loop)))))))
650 (run-test (lambda (test)
651 (system* "make" test)
652 (call-with-input-file
653 (string-append "test/" test ".log")
654 checker))))
655 (or #t ; skip tests
656 (and (run-test "check-hotspot")
657 (run-test "check-langtools")
658 (run-test "check-jdk"))))))
659 (replace 'install
660 (lambda* (#:key outputs #:allow-other-keys)
661 (let ((doc (string-append (assoc-ref outputs "doc")
662 "/share/doc/icedtea"))
663 (jre (assoc-ref outputs "out"))
664 (jdk (assoc-ref outputs "jdk")))
665 (copy-recursively "openjdk.build/docs" doc)
666 (copy-recursively "openjdk.build/j2re-image" jre)
667 (copy-recursively "openjdk.build/j2sdk-image" jdk))))
668 ;; By default IcedTea only generates an empty keystore. In order to
669 ;; be able to use certificates in Java programs we need to generate a
670 ;; keystore from a set of certificates. For convenience we use the
671 ;; certificates from the nss-certs package.
672 (add-after 'install 'install-keystore
673 (lambda* (#:key inputs outputs #:allow-other-keys)
674 (let* ((keystore "cacerts")
675 (certs-dir (string-append (assoc-ref inputs "nss-certs")
676 "/etc/ssl/certs"))
677 (keytool (string-append (assoc-ref outputs "jdk")
678 "/bin/keytool")))
679 (define (extract-cert file target)
680 (call-with-input-file file
681 (lambda (in)
682 (call-with-output-file target
683 (lambda (out)
684 (let loop ((line (read-line in 'concat))
685 (copying? #f))
686 (cond
687 ((eof-object? line) #t)
688 ((string-prefix? "-----BEGIN" line)
689 (display line out)
690 (loop (read-line in 'concat) #t))
691 ((string-prefix? "-----END" line)
692 (display line out)
693 #t)
694 (else
695 (when copying? (display line out))
696 (loop (read-line in 'concat) copying?)))))))))
697 (define (import-cert cert)
698 (format #t "Importing certificate ~a\n" (basename cert))
699 (let ((temp "tmpcert"))
700 (extract-cert cert temp)
701 (let ((port (open-pipe* OPEN_WRITE keytool
702 "-import"
703 "-alias" (basename cert)
704 "-keystore" keystore
705 "-storepass" "changeit"
706 "-file" temp)))
707 (display "yes\n" port)
708 (when (not (zero? (status:exit-val (close-pipe port))))
709 (error "failed to import" cert)))
710 (delete-file temp)))
711
712 ;; This is necessary because the certificate directory contains
713 ;; files with non-ASCII characters in their names.
714 (setlocale LC_ALL "en_US.utf8")
715 (setenv "LC_ALL" "en_US.utf8")
716
717 (for-each import-cert (find-files certs-dir "\\.pem$"))
718 (mkdir-p (string-append (assoc-ref outputs "out")
719 "/lib/security"))
720 (mkdir-p (string-append (assoc-ref outputs "jdk")
721 "/jre/lib/security"))
722 (install-file keystore
723 (string-append (assoc-ref outputs "out")
724 "/lib/security"))
725 (install-file keystore
726 (string-append (assoc-ref outputs "jdk")
727 "/jre/lib/security"))
728 #t))))))
729 (native-inputs
730 `(("ant" ,ant)
731 ("alsa-lib" ,alsa-lib)
732 ("attr" ,attr)
733 ("autoconf" ,autoconf)
734 ("automake" ,automake)
735 ("coreutils" ,coreutils)
736 ("diffutils" ,diffutils) ;for tests
737 ("gawk" ,gawk)
738 ("grep" ,grep)
739 ("libtool" ,libtool)
740 ("pkg-config" ,pkg-config)
741 ("cups" ,cups)
742 ("wget" ,wget)
743 ("which" ,which)
744 ("cpio" ,cpio)
745 ("zip" ,zip)
746 ("unzip" ,unzip)
747 ("fastjar" ,fastjar)
748 ("libxslt" ,libxslt) ;for xsltproc
749 ("mit-krb5" ,mit-krb5)
750 ("nss" ,nss)
751 ("nss-certs" ,nss-certs)
752 ("libx11" ,libx11)
753 ("libxcomposite" ,libxcomposite)
754 ("libxt" ,libxt)
755 ("libxtst" ,libxtst)
756 ("libxi" ,libxi)
757 ("libxinerama" ,libxinerama)
758 ("libxrender" ,libxrender)
759 ("libjpeg" ,libjpeg)
760 ("libpng" ,libpng)
761 ("giflib" ,giflib)
762 ("perl" ,perl)
763 ("procps" ,procps) ;for "free", even though I'm not sure we should use it
764 ("openjdk6-src"
765 ,(origin
766 (method url-fetch)
767 (uri "https://java.net/downloads/openjdk6/openjdk-6-src-b41-04_jan_2017.tar.xz")
768 (sha256
769 (base32
770 "058szix0j280g14jzajvsixx1j2dxmc10r848f5swpy6rr8x8d4f"))))
771 ("lcms" ,lcms)
772 ("zlib" ,zlib)
773 ("gtk" ,gtk+-2)
774 ("fontconfig" ,fontconfig)
775 ("freetype" ,freetype)
776 ("gcj" ,gcj)))
777 (home-page "http://icedtea.classpath.org")
778 (synopsis "Java development kit")
779 (description
780 "The OpenJDK built with the IcedTea build harness.")
781 ;; IcedTea is released under the GPL2 + Classpath exception, which is the
782 ;; same license as both GNU Classpath and OpenJDK.
783 (license license:gpl2+)))
784
785(define-public icedtea-7 338(define-public icedtea-7
786 (let* ((version "2.6.9") 339 (let* ((version "2.6.9")
787 (drop (lambda (name hash) 340 (drop (lambda (name hash)
@@ -791,7 +344,8 @@ build process and its dependencies, whereas Make uses Makefile format.")
791 "http://icedtea.classpath.org/download/drops/" 344 "http://icedtea.classpath.org/download/drops/"
792 "/icedtea7/" version "/" name ".tar.bz2")) 345 "/icedtea7/" version "/" name ".tar.bz2"))
793 (sha256 (base32 hash)))))) 346 (sha256 (base32 hash))))))
794 (package (inherit icedtea-6) 347 (package
348 (name "icedtea")
795 (version version) 349 (version version)
796 (source (origin 350 (source (origin
797 (method url-fetch) 351 (method url-fetch)
@@ -810,6 +364,10 @@ build process and its dependencies, whereas Make uses Makefile format.")
810 ;; do not leak information about the build host 364 ;; do not leak information about the build host
811 (("DISTRIBUTION_ID=\"\\$\\(DIST_ID\\)\"") 365 (("DISTRIBUTION_ID=\"\\$\\(DIST_ID\\)\"")
812 "DISTRIBUTION_ID=\"\\\"guix\\\"\""))))) 366 "DISTRIBUTION_ID=\"\\\"guix\\\"\"")))))
367 (build-system gnu-build-system)
368 (outputs '("out" ; Java Runtime Environment
369 "jdk" ; Java Development Kit
370 "doc")) ; all documentation
813 (arguments 371 (arguments
814 `(;; There are many test failures. Some are known to 372 `(;; There are many test failures. Some are known to
815 ;; fail upstream, others relate to not having an X 373 ;; fail upstream, others relate to not having an X
@@ -820,110 +378,390 @@ build process and its dependencies, whereas Make uses Makefile format.")
820 ;; langtools: passed: 1,934; failed: 26 378 ;; langtools: passed: 1,934; failed: 26
821 ;; jdk: unknown 379 ;; jdk: unknown
822 #:tests? #f 380 #:tests? #f
381
382 ;; The DSOs use $ORIGIN to refer to each other, but (guix build
383 ;; gremlin) doesn't support it yet, so skip this phase.
384 #:validate-runpath? #f
385
823 ;; Apparently, the C locale is needed for some of the tests. 386 ;; Apparently, the C locale is needed for some of the tests.
824 #:locale "C" 387 #:locale "C"
825 ,@(substitute-keyword-arguments (package-arguments icedtea-6) 388
826 ((#:modules modules) 389 #:modules ((guix build utils)
827 `((ice-9 match) 390 (guix build gnu-build-system)
828 (srfi srfi-26) 391 (ice-9 match)
829 ,@modules)) 392 (ice-9 popen)
830 ((#:configure-flags flags) 393 (ice-9 rdelim)
831 ;; TODO: package pcsc and sctp, and add to inputs 394 (srfi srfi-19)
832 `(append '("--disable-system-pcsc" 395 (srfi srfi-26))
833 "--disable-system-sctp") 396
834 ,flags)) 397 #:configure-flags
835 ((#:phases phases) 398 (let* ((gcjdir (assoc-ref %build-inputs "gcj"))
836 `(modify-phases ,phases 399 (ecj (string-append gcjdir "/share/java/ecj.jar"))
837 (replace 'unpack 400 (jdk (string-append gcjdir "/lib/jvm/"))
838 (lambda* (#:key source inputs #:allow-other-keys) 401 (gcj (string-append gcjdir "/bin/gcj")))
839 (let ((target (string-append "icedtea-" ,version)) 402 ;; TODO: package pcsc and sctp, and add to inputs
840 (unpack (lambda* (name #:optional dir) 403 `("--disable-system-pcsc"
841 (let ((dir (or dir 404 "--disable-system-sctp"
842 (string-drop-right name 5)))) 405 "--enable-bootstrap"
843 (mkdir dir) 406 "--enable-nss"
844 (zero? (system* "tar" "xvf" 407 "--without-rhino"
845 (assoc-ref inputs name) 408 "--disable-downloading"
846 "-C" dir 409 "--disable-tests" ;they are run in the check phase instead
847 "--strip-components=1")))))) 410 "--with-openjdk-src-dir=./openjdk.src"
848 (mkdir target) 411 ,(string-append "--with-javac=" jdk "/bin/javac")
849 (and 412 ,(string-append "--with-ecj-jar=" ecj)
850 (zero? (system* "tar" "xvf" source 413 ,(string-append "--with-gcj=" gcj)
851 "-C" target "--strip-components=1")) 414 ,(string-append "--with-jdk-home=" jdk)
852 (chdir target) 415 ,(string-append "--with-java=" jdk "/bin/java")))
853 (unpack "openjdk-src" "openjdk.src") 416
854 (with-directory-excursion "openjdk.src" 417 #:phases
855 (for-each unpack 418 (modify-phases %standard-phases
856 (filter (cut string-suffix? "-drop" <>) 419 (replace 'unpack
857 (map (match-lambda 420 (lambda* (#:key source inputs #:allow-other-keys)
858 ((name . _) name)) 421 (let ((target (string-append "icedtea-" ,version))
859 inputs)))) 422 (unpack (lambda* (name #:optional dir)
860 #t)))) 423 (let ((dir (or dir
861 (replace 424 (string-drop-right name 5))))
862 'set-additional-paths 425 (mkdir dir)
863 (lambda* (#:key inputs #:allow-other-keys) 426 (zero? (system* "tar" "xvf"
864 (let (;; Get target-specific include directory so that 427 (assoc-ref inputs name)
865 ;; libgcj-config.h is found when compiling hotspot. 428 "-C" dir
866 (gcjinclude (let* ((port (open-input-pipe "gcj -print-file-name=include")) 429 "--strip-components=1"))))))
867 (str (read-line port))) 430 (mkdir target)
868 (close-pipe port) 431 (and
869 str))) 432 (zero? (system* "tar" "xvf" source
870 (substitute* "openjdk.src/jdk/make/common/shared/Sanity.gmk" 433 "-C" target "--strip-components=1"))
871 (("ALSA_INCLUDE=/usr/include/alsa/version.h") 434 (chdir target)
872 (string-append "ALSA_INCLUDE=" 435 (unpack "openjdk-src" "openjdk.src")
873 (assoc-ref inputs "alsa-lib") 436 (with-directory-excursion "openjdk.src"
874 "/include/alsa/version.h"))) 437 (for-each unpack
875 (setenv "CC" "gcc") 438 (filter (cut string-suffix? "-drop" <>)
876 (setenv "CPATH" 439 (map (match-lambda
877 (string-append gcjinclude ":" 440 ((name . _) name))
878 (assoc-ref inputs "libxcomposite") 441 inputs))))
879 "/include/X11/extensions" ":" 442 #t))))
880 (assoc-ref inputs "libxrender") 443 (add-after 'unpack 'fix-x11-extension-include-path
881 "/include/X11/extensions" ":" 444 (lambda* (#:key inputs #:allow-other-keys)
882 (assoc-ref inputs "libxtst") 445 (substitute* "openjdk.src/jdk/make/sun/awt/mawt.gmk"
883 "/include/X11/extensions" ":" 446 (((string-append "\\$\\(firstword \\$\\(wildcard "
884 (assoc-ref inputs "libxinerama") 447 "\\$\\(OPENWIN_HOME\\)"
885 "/include/X11/extensions" ":" 448 "/include/X11/extensions\\).*$"))
886 (or (getenv "CPATH") ""))) 449 (string-append (assoc-ref inputs "libxrender")
887 (setenv "ALT_OBJCOPY" (which "objcopy")) 450 "/include/X11/extensions"
888 (setenv "ALT_CUPS_HEADERS_PATH" 451 " -I" (assoc-ref inputs "libxtst")
889 (string-append (assoc-ref inputs "cups") 452 "/include/X11/extensions"
890 "/include")) 453 " -I" (assoc-ref inputs "libxinerama")
891 (setenv "ALT_FREETYPE_HEADERS_PATH" 454 "/include/X11/extensions"))
892 (string-append (assoc-ref inputs "freetype") 455 (("\\$\\(wildcard /usr/include/X11/extensions\\)\\)") ""))
893 "/include")) 456 #t))
894 (setenv "ALT_FREETYPE_LIB_PATH" 457 (add-after 'unpack 'patch-paths
895 (string-append (assoc-ref inputs "freetype") 458 (lambda _
896 "/lib"))))) 459 ;; buildtree.make generates shell scripts, so we need to replace
897 (add-after 460 ;; the generated shebang
898 'unpack 'fix-x11-extension-include-path 461 (substitute* '("openjdk.src/hotspot/make/linux/makefiles/buildtree.make")
899 (lambda* (#:key inputs #:allow-other-keys) 462 (("/bin/sh") (which "bash")))
900 (substitute* "openjdk.src/jdk/make/sun/awt/mawt.gmk" 463
901 (((string-append "\\$\\(firstword \\$\\(wildcard " 464 (let ((corebin (string-append
902 "\\$\\(OPENWIN_HOME\\)" 465 (assoc-ref %build-inputs "coreutils") "/bin/"))
903 "/include/X11/extensions\\).*$")) 466 (binbin (string-append
904 (string-append (assoc-ref inputs "libxrender") 467 (assoc-ref %build-inputs "binutils") "/bin/"))
905 "/include/X11/extensions" 468 (grepbin (string-append
906 " -I" (assoc-ref inputs "libxtst") 469 (assoc-ref %build-inputs "grep") "/bin/")))
907 "/include/X11/extensions" 470 (substitute* '("openjdk.src/jdk/make/common/shared/Defs-linux.gmk"
908 " -I" (assoc-ref inputs "libxinerama") 471 "openjdk.src/corba/make/common/shared/Defs-linux.gmk")
909 "/include/X11/extensions")) 472 (("UNIXCOMMAND_PATH = /bin/")
910 (("\\$\\(wildcard /usr/include/X11/extensions\\)\\)") "")) 473 (string-append "UNIXCOMMAND_PATH = " corebin))
911 #t)) 474 (("USRBIN_PATH = /usr/bin/")
912 (replace 475 (string-append "USRBIN_PATH = " corebin))
913 'fix-test-framework 476 (("DEVTOOLS_PATH *= */usr/bin/")
914 (lambda _ 477 (string-append "DEVTOOLS_PATH = " corebin))
915 ;; Fix PATH in test environment 478 (("COMPILER_PATH *= */usr/bin/")
916 (substitute* "test/jtreg/com/sun/javatest/regtest/Main.java" 479 (string-append "COMPILER_PATH = "
917 (("PATH=/bin:/usr/bin") 480 (assoc-ref %build-inputs "gcc") "/bin/"))
918 (string-append "PATH=" (getenv "PATH")))) 481 (("DEF_OBJCOPY *=.*objcopy")
919 (substitute* "test/jtreg/com/sun/javatest/util/SysEnv.java" 482 (string-append "DEF_OBJCOPY = " (which "objcopy"))))
920 (("/usr/bin/env") (which "env"))) 483
921 (substitute* "openjdk.src/hotspot/test/test_env.sh" 484 ;; fix path to alsa header
922 (("/bin/rm") (which "rm")) 485 (substitute* "openjdk.src/jdk/make/common/shared/Sanity.gmk"
923 (("/bin/cp") (which "cp")) 486 (("ALSA_INCLUDE=/usr/include/alsa/version.h")
924 (("/bin/mv") (which "mv"))) 487 (string-append "ALSA_INCLUDE="
925 #t)) 488 (assoc-ref %build-inputs "alsa-lib")
926 (delete 'patch-patches)))))) 489 "/include/alsa/version.h")))
490
491 ;; fix hard-coded utility paths
492 (substitute* '("openjdk.src/jdk/make/common/shared/Defs-utils.gmk"
493 "openjdk.src/corba/make/common/shared/Defs-utils.gmk")
494 (("ECHO *=.*echo")
495 (string-append "ECHO = " (which "echo")))
496 (("^GREP *=.*grep")
497 (string-append "GREP = " (which "grep")))
498 (("EGREP *=.*egrep")
499 (string-append "EGREP = " (which "egrep")))
500 (("CPIO *=.*cpio")
501 (string-append "CPIO = " (which "cpio")))
502 (("READELF *=.*readelf")
503 (string-append "READELF = " (which "readelf")))
504 (("^ *AR *=.*ar")
505 (string-append "AR = " (which "ar")))
506 (("^ *TAR *=.*tar")
507 (string-append "TAR = " (which "tar")))
508 (("AS *=.*as")
509 (string-append "AS = " (which "as")))
510 (("LD *=.*ld")
511 (string-append "LD = " (which "ld")))
512 (("STRIP *=.*strip")
513 (string-append "STRIP = " (which "strip")))
514 (("NM *=.*nm")
515 (string-append "NM = " (which "nm")))
516 (("^SH *=.*sh")
517 (string-append "SH = " (which "bash")))
518 (("^FIND *=.*find")
519 (string-append "FIND = " (which "find")))
520 (("LDD *=.*ldd")
521 (string-append "LDD = " (which "ldd")))
522 (("NAWK *=.*(n|g)awk")
523 (string-append "NAWK = " (which "gawk")))
524 (("XARGS *=.*xargs")
525 (string-append "XARGS = " (which "xargs")))
526 (("UNZIP *=.*unzip")
527 (string-append "UNZIP = " (which "unzip")))
528 (("ZIPEXE *=.*zip")
529 (string-append "ZIPEXE = " (which "zip")))
530 (("SED *=.*sed")
531 (string-append "SED = " (which "sed"))))
532
533 ;; Some of these timestamps cause problems as they are more than
534 ;; 10 years ago, failing the build process.
535 (substitute*
536 "openjdk.src/jdk/src/share/classes/java/util/CurrencyData.properties"
537 (("AZ=AZM;2005-12-31-20-00-00;AZN") "AZ=AZN")
538 (("MZ=MZM;2006-06-30-22-00-00;MZN") "MZ=MZN")
539 (("RO=ROL;2005-06-30-21-00-00;RON") "RO=RON")
540 (("TR=TRL;2004-12-31-22-00-00;TRY") "TR=TRY")))
541 #t))
542 (add-before 'configure 'set-additional-paths
543 (lambda* (#:key inputs #:allow-other-keys)
544 (let ( ;; Get target-specific include directory so that
545 ;; libgcj-config.h is found when compiling hotspot.
546 (gcjinclude (let* ((port (open-input-pipe "gcj -print-file-name=include"))
547 (str (read-line port)))
548 (close-pipe port)
549 str)))
550 (substitute* "openjdk.src/jdk/make/common/shared/Sanity.gmk"
551 (("ALSA_INCLUDE=/usr/include/alsa/version.h")
552 (string-append "ALSA_INCLUDE="
553 (assoc-ref inputs "alsa-lib")
554 "/include/alsa/version.h")))
555 (setenv "CC" "gcc")
556 (setenv "CPATH"
557 (string-append gcjinclude ":"
558 (assoc-ref inputs "libxcomposite")
559 "/include/X11/extensions" ":"
560 (assoc-ref inputs "libxrender")
561 "/include/X11/extensions" ":"
562 (assoc-ref inputs "libxtst")
563 "/include/X11/extensions" ":"
564 (assoc-ref inputs "libxinerama")
565 "/include/X11/extensions" ":"
566 (or (getenv "CPATH") "")))
567 (setenv "ALT_OBJCOPY" (which "objcopy"))
568 (setenv "ALT_CUPS_HEADERS_PATH"
569 (string-append (assoc-ref inputs "cups")
570 "/include"))
571 (setenv "ALT_FREETYPE_HEADERS_PATH"
572 (string-append (assoc-ref inputs "freetype")
573 "/include"))
574 (setenv "ALT_FREETYPE_LIB_PATH"
575 (string-append (assoc-ref inputs "freetype")
576 "/lib")))
577 #t))
578 (add-before 'check 'fix-test-framework
579 (lambda _
580 ;; Fix PATH in test environment
581 (substitute* "test/jtreg/com/sun/javatest/regtest/Main.java"
582 (("PATH=/bin:/usr/bin")
583 (string-append "PATH=" (getenv "PATH"))))
584 (substitute* "test/jtreg/com/sun/javatest/util/SysEnv.java"
585 (("/usr/bin/env") (which "env")))
586 (substitute* "openjdk.src/hotspot/test/test_env.sh"
587 (("/bin/rm") (which "rm"))
588 (("/bin/cp") (which "cp"))
589 (("/bin/mv") (which "mv")))
590 #t))
591 (add-before 'check 'fix-hotspot-tests
592 (lambda _
593 (with-directory-excursion "openjdk.src/hotspot/test/"
594 (substitute* "jprt.config"
595 (("PATH=\"\\$\\{path4sdk\\}\"")
596 (string-append "PATH=" (getenv "PATH")))
597 (("make=/usr/bin/make")
598 (string-append "make=" (which "make"))))
599 (substitute* '("runtime/6626217/Test6626217.sh"
600 "runtime/7110720/Test7110720.sh")
601 (("/bin/rm") (which "rm"))
602 (("/bin/cp") (which "cp"))
603 (("/bin/mv") (which "mv"))))
604 #t))
605 (add-before 'check 'fix-jdk-tests
606 (lambda _
607 (with-directory-excursion "openjdk.src/jdk/test/"
608 (substitute* "com/sun/jdi/JdbReadTwiceTest.sh"
609 (("/bin/pwd") (which "pwd")))
610 (substitute* "com/sun/jdi/ShellScaffold.sh"
611 (("/bin/kill") (which "kill")))
612 (substitute* "start-Xvfb.sh"
613 ;;(("/usr/bin/X11/Xvfb") (which "Xvfb"))
614 (("/usr/bin/nohup") (which "nohup")))
615 (substitute* "javax/security/auth/Subject/doAs/Test.sh"
616 (("/bin/rm") (which "rm")))
617 (substitute* "tools/launcher/MultipleJRE.sh"
618 (("echo \"#!/bin/sh\"")
619 (string-append "echo \"#!" (which "rm") "\""))
620 (("/usr/bin/zip") (which "zip")))
621 (substitute* "com/sun/jdi/OnThrowTest.java"
622 (("#!/bin/sh") (string-append "#!" (which "sh"))))
623 (substitute* "java/lang/management/OperatingSystemMXBean/GetSystemLoadAverage.java"
624 (("/usr/bin/uptime") (which "uptime")))
625 (substitute* "java/lang/ProcessBuilder/Basic.java"
626 (("/usr/bin/env") (which "env"))
627 (("/bin/false") (which "false"))
628 (("/bin/true") (which "true"))
629 (("/bin/cp") (which "cp"))
630 (("/bin/sh") (which "sh")))
631 (substitute* "java/lang/ProcessBuilder/FeelingLucky.java"
632 (("/bin/sh") (which "sh")))
633 (substitute* "java/lang/ProcessBuilder/Zombies.java"
634 (("/usr/bin/perl") (which "perl"))
635 (("/bin/ps") (which "ps"))
636 (("/bin/true") (which "true")))
637 (substitute* "java/lang/Runtime/exec/ConcurrentRead.java"
638 (("/usr/bin/tee") (which "tee")))
639 (substitute* "java/lang/Runtime/exec/ExecWithDir.java"
640 (("/bin/true") (which "true")))
641 (substitute* "java/lang/Runtime/exec/ExecWithInput.java"
642 (("/bin/cat") (which "cat")))
643 (substitute* "java/lang/Runtime/exec/ExitValue.java"
644 (("/bin/sh") (which "sh"))
645 (("/bin/true") (which "true"))
646 (("/bin/kill") (which "kill")))
647 (substitute* "java/lang/Runtime/exec/LotsOfDestroys.java"
648 (("/usr/bin/echo") (which "echo")))
649 (substitute* "java/lang/Runtime/exec/LotsOfOutput.java"
650 (("/usr/bin/cat") (which "cat")))
651 (substitute* "java/lang/Runtime/exec/SleepyCat.java"
652 (("/bin/cat") (which "cat"))
653 (("/bin/sleep") (which "sleep"))
654 (("/bin/sh") (which "sh")))
655 (substitute* "java/lang/Runtime/exec/StreamsSurviveDestroy.java"
656 (("/bin/cat") (which "cat")))
657 (substitute* "java/rmi/activation/CommandEnvironment/SetChildEnv.java"
658 (("/bin/chmod") (which "chmod")))
659 (substitute* "java/util/zip/ZipFile/Assortment.java"
660 (("/bin/sh") (which "sh"))))
661 #t))
662 (replace 'check
663 (lambda _
664 ;; The "make check-*" targets always return zero, so we need to
665 ;; check for errors in the associated log files to determine
666 ;; whether any tests have failed.
667 (use-modules (ice-9 rdelim))
668 (let* ((error-pattern (make-regexp "^(Error|FAILED):.*"))
669 (checker (lambda (port)
670 (let loop ()
671 (let ((line (read-line port)))
672 (cond
673 ((eof-object? line) #t)
674 ((regexp-exec error-pattern line) #f)
675 (else (loop)))))))
676 (run-test (lambda (test)
677 (system* "make" test)
678 (call-with-input-file
679 (string-append "test/" test ".log")
680 checker))))
681 (or #t ; skip tests
682 (and (run-test "check-hotspot")
683 (run-test "check-langtools")
684 (run-test "check-jdk"))))))
685 (replace 'install
686 (lambda* (#:key outputs #:allow-other-keys)
687 (let ((doc (string-append (assoc-ref outputs "doc")
688 "/share/doc/icedtea"))
689 (jre (assoc-ref outputs "out"))
690 (jdk (assoc-ref outputs "jdk")))
691 (copy-recursively "openjdk.build/docs" doc)
692 (copy-recursively "openjdk.build/j2re-image" jre)
693 (copy-recursively "openjdk.build/j2sdk-image" jdk))
694 #t))
695 ;; By default IcedTea only generates an empty keystore. In order to
696 ;; be able to use certificates in Java programs we need to generate a
697 ;; keystore from a set of certificates. For convenience we use the
698 ;; certificates from the nss-certs package.
699 (add-after 'install 'install-keystore
700 (lambda* (#:key inputs outputs #:allow-other-keys)
701 (let* ((keystore "cacerts")
702 (certs-dir (string-append (assoc-ref inputs "nss-certs")
703 "/etc/ssl/certs"))
704 (keytool (string-append (assoc-ref outputs "jdk")
705 "/bin/keytool")))
706 (define (extract-cert file target)
707 (call-with-input-file file
708 (lambda (in)
709 (call-with-output-file target
710 (lambda (out)
711 (let loop ((line (read-line in 'concat))
712 (copying? #f))
713 (cond
714 ((eof-object? line) #t)
715 ((string-prefix? "-----BEGIN" line)
716 (display line out)
717 (loop (read-line in 'concat) #t))
718 ((string-prefix? "-----END" line)
719 (display line out)
720 #t)
721 (else
722 (when copying? (display line out))
723 (loop (read-line in 'concat) copying?)))))))))
724 (define (import-cert cert)
725 (format #t "Importing certificate ~a\n" (basename cert))
726 (let ((temp "tmpcert"))
727 (extract-cert cert temp)
728 (let ((port (open-pipe* OPEN_WRITE keytool
729 "-import"
730 "-alias" (basename cert)
731 "-keystore" keystore
732 "-storepass" "changeit"
733 "-file" temp)))
734 (display "yes\n" port)
735 (when (not (zero? (status:exit-val (close-pipe port))))
736 (format #t "failed to import ~a\n" cert)))
737 (delete-file temp)))
738
739 ;; This is necessary because the certificate directory contains
740 ;; files with non-ASCII characters in their names.
741 (setlocale LC_ALL "en_US.utf8")
742 (setenv "LC_ALL" "en_US.utf8")
743
744 (for-each import-cert (find-files certs-dir "\\.pem$"))
745 (mkdir-p (string-append (assoc-ref outputs "out")
746 "/lib/security"))
747 (mkdir-p (string-append (assoc-ref outputs "jdk")
748 "/jre/lib/security"))
749
750 ;; The cacerts files we are going to overwrite are chmod'ed as
751 ;; read-only (444) in icedtea-8 (which derives from this
752 ;; package). We have to change this so we can overwrite them.
753 (chmod (string-append (assoc-ref outputs "out")
754 "/lib/security/" keystore) #o644)
755 (chmod (string-append (assoc-ref outputs "jdk")
756 "/jre/lib/security/" keystore) #o644)
757
758 (install-file keystore
759 (string-append (assoc-ref outputs "out")
760 "/lib/security"))
761 (install-file keystore
762 (string-append (assoc-ref outputs "jdk")
763 "/jre/lib/security"))
764 #t))))))
927 (native-inputs 765 (native-inputs
928 `(("openjdk-src" 766 `(("openjdk-src"
929 ,(drop "openjdk" 767 ,(drop "openjdk"
@@ -946,11 +784,55 @@ build process and its dependencies, whereas Make uses Makefile format.")
946 ("hotspot-drop" 784 ("hotspot-drop"
947 ,(drop "hotspot" 785 ,(drop "hotspot"
948 "16ijxy8br8dla339m4i90wr9xpf7s8z3nrhfyxm7jahr8injpzyl")) 786 "16ijxy8br8dla339m4i90wr9xpf7s8z3nrhfyxm7jahr8injpzyl"))
949 ,@(fold alist-delete (package-native-inputs icedtea-6) 787 ("ant" ,ant)
950 '("openjdk6-src")))) 788 ("attr" ,attr)
789 ("autoconf" ,autoconf)
790 ("automake" ,automake)
791 ("coreutils" ,coreutils)
792 ("diffutils" ,diffutils) ;for tests
793 ("gawk" ,gawk)
794 ("grep" ,grep)
795 ("libtool" ,libtool)
796 ("pkg-config" ,pkg-config)
797 ("wget" ,wget)
798 ("which" ,which)
799 ("cpio" ,cpio)
800 ("zip" ,zip)
801 ("unzip" ,unzip)
802 ("fastjar" ,fastjar)
803 ("libxslt" ,libxslt) ;for xsltproc
804 ("nss-certs" ,nss-certs)
805 ("perl" ,perl)
806 ("procps" ,procps) ;for "free", even though I'm not sure we should use it
807 ("gcj" ,gcj)))
951 (inputs 808 (inputs
952 `(("libxcomposite" ,libxcomposite) 809 `(("alsa-lib" ,alsa-lib)
953 ,@(package-inputs icedtea-6)))))) 810 ("cups" ,cups)
811 ("libx11" ,libx11)
812 ("libxcomposite" ,libxcomposite)
813 ("libxt" ,libxt)
814 ("libxtst" ,libxtst)
815 ("libxi" ,libxi)
816 ("libxinerama" ,libxinerama)
817 ("libxrender" ,libxrender)
818 ("libjpeg" ,libjpeg)
819 ("libpng" ,libpng)
820 ("mit-krb5" ,mit-krb5)
821 ("nss" ,nss)
822 ("giflib" ,giflib)
823 ("fontconfig" ,fontconfig)
824 ("freetype" ,freetype)
825 ("lcms" ,lcms)
826 ("zlib" ,zlib)
827 ("gtk" ,gtk+-2)))
828 (home-page "http://icedtea.classpath.org")
829 (synopsis "Java development kit")
830 (description
831 "This package provides the Java development kit OpenJDK built with the
832IcedTea build harness.")
833 ;; IcedTea is released under the GPL2 + Classpath exception, which is the
834 ;; same license as both GNU Classpath and OpenJDK.
835 (license license:gpl2+))))
954 836
955(define-public icedtea-8 837(define-public icedtea-8
956 (let* ((version "3.3.0") 838 (let* ((version "3.3.0")
@@ -973,10 +855,15 @@ build process and its dependencies, whereas Make uses Makefile format.")
973 "02vmxa6gc6gizcri1fy797qmmm9y77vgi7gy9pwkk4agcw4zyr5p")) 855 "02vmxa6gc6gizcri1fy797qmmm9y77vgi7gy9pwkk4agcw4zyr5p"))
974 (modules '((guix build utils))) 856 (modules '((guix build utils)))
975 (snippet 857 (snippet
976 '(substitute* "Makefile.am" 858 '(begin
977 ;; do not leak information about the build host 859 (substitute* "acinclude.m4"
978 (("DISTRIBUTION_ID=\"\\$\\(DIST_ID\\)\"") 860 ;; Do not embed build time
979 "DISTRIBUTION_ID=\"\\\"guix\\\"\""))))) 861 (("(DIST_ID=\"Custom build).*$" _ prefix)
862 (string-append prefix "\"\n"))
863 ;; Do not leak information about the build host
864 (("DIST_NAME=\"\\$build_os\"")
865 "DIST_NAME=\"guix\""))
866 #t))))
980 (arguments 867 (arguments
981 (substitute-keyword-arguments (package-arguments icedtea-7) 868 (substitute-keyword-arguments (package-arguments icedtea-7)
982 ((#:configure-flags flags) 869 ((#:configure-flags flags)
@@ -1023,9 +910,6 @@ build process and its dependencies, whereas Make uses Makefile format.")
1023 (find-files "openjdk.src/jdk/src/solaris/native" 910 (find-files "openjdk.src/jdk/src/solaris/native"
1024 "\\.c|\\.h")) 911 "\\.c|\\.h"))
1025 #t))) 912 #t)))
1026 ;; FIXME: This phase is needed but fails with this version of
1027 ;; IcedTea.
1028 (delete 'install-keystore)
1029 (replace 'install 913 (replace 'install
1030 (lambda* (#:key outputs #:allow-other-keys) 914 (lambda* (#:key outputs #:allow-other-keys)
1031 (let ((doc (string-append (assoc-ref outputs "doc") 915 (let ((doc (string-append (assoc-ref outputs "doc")
@@ -1074,13 +958,13 @@ build process and its dependencies, whereas Make uses Makefile format.")
1074(define-public java-xz 958(define-public java-xz
1075 (package 959 (package
1076 (name "java-xz") 960 (name "java-xz")
1077 (version "1.5") 961 (version "1.6")
1078 (source (origin 962 (source (origin
1079 (method url-fetch) 963 (method url-fetch)
1080 (uri (string-append "http://tukaani.org/xz/xz-java-" version ".zip")) 964 (uri (string-append "http://tukaani.org/xz/xz-java-" version ".zip"))
1081 (sha256 965 (sha256
1082 (base32 966 (base32
1083 "0x6vn9dp9kxk83x2fp3394n95dk8fx9yg8jns9371iqsn0vy8ih1")))) 967 "1z3p1ri1gvl07inxn0agx44ck8n7wrzfmvkz8nbq3njn8r9wba8x"))))
1084 (build-system ant-build-system) 968 (build-system ant-build-system)
1085 (arguments 969 (arguments
1086 `(#:tests? #f ; There are no tests to run. 970 `(#:tests? #f ; There are no tests to run.
diff --git a/gnu/packages/jemalloc.scm b/gnu/packages/jemalloc.scm
index 52b92168278..fcc9cc80828 100644
--- a/gnu/packages/jemalloc.scm
+++ b/gnu/packages/jemalloc.scm
@@ -27,7 +27,7 @@
27(define-public jemalloc 27(define-public jemalloc
28 (package 28 (package
29 (name "jemalloc") 29 (name "jemalloc")
30 (version "4.4.0") 30 (version "4.5.0")
31 (source (origin 31 (source (origin
32 (method url-fetch) 32 (method url-fetch)
33 (uri (string-append 33 (uri (string-append
@@ -35,7 +35,7 @@
35 version "/jemalloc-" version ".tar.bz2")) 35 version "/jemalloc-" version ".tar.bz2"))
36 (sha256 36 (sha256
37 (base32 37 (base32
38 "0cxhhybcbi02szavlxzwhvmqvddi7kgy71qxz2nz3lhqjwzadbm7")))) 38 "10373xhpc10pgmai9fkc1z0rs029qlcb3c0qfnvkbwdlcibdh2cl"))))
39 (build-system gnu-build-system) 39 (build-system gnu-build-system)
40 (home-page "http://jemalloc.net/") 40 (home-page "http://jemalloc.net/")
41 (synopsis "General-purpose scalable concurrent malloc implementation") 41 (synopsis "General-purpose scalable concurrent malloc implementation")
diff --git a/gnu/packages/jrnl.scm b/gnu/packages/jrnl.scm
index ef1f52956c7..f26de0d4ab9 100644
--- a/gnu/packages/jrnl.scm
+++ b/gnu/packages/jrnl.scm
@@ -48,7 +48,7 @@
48 ("python-pytz" ,python-pytz) 48 ("python-pytz" ,python-pytz)
49 ("python-tzlocal" ,python-tzlocal) 49 ("python-tzlocal" ,python-tzlocal)
50 ("python-six" ,python-six) 50 ("python-six" ,python-six)
51 ("python-dateutil" , python-dateutil-2) 51 ("python-dateutil" ,python-dateutil)
52 ("python-parsedatetime" ,python-parsedatetime))) 52 ("python-parsedatetime" ,python-parsedatetime)))
53 (home-page "http://maebert.github.io/jrnl/") 53 (home-page "http://maebert.github.io/jrnl/")
54 (synopsis "Personal journal application") 54 (synopsis "Personal journal application")
diff --git a/gnu/packages/kde-frameworks.scm b/gnu/packages/kde-frameworks.scm
index 86a58533666..8bb05453dab 100644
--- a/gnu/packages/kde-frameworks.scm
+++ b/gnu/packages/kde-frameworks.scm
@@ -2202,6 +2202,7 @@ makes starting KDE applications faster and reduces memory consumption.")
2202 "mirror://kde/stable/frameworks/" 2202 "mirror://kde/stable/frameworks/"
2203 (version-major+minor version) "/" 2203 (version-major+minor version) "/"
2204 name "-" version ".tar.xz")) 2204 name "-" version ".tar.xz"))
2205 (patches (search-patches "kio-CVE-2017-6410.patch"))
2205 (sha256 2206 (sha256
2206 (base32 2207 (base32
2207 "1hqc88c2idi9fkb7jy82csb0i740lghv0p2fg1gaglcarjdz7nia")))) 2208 "1hqc88c2idi9fkb7jy82csb0i740lghv0p2fg1gaglcarjdz7nia"))))
diff --git a/gnu/packages/kde.scm b/gnu/packages/kde.scm
index aef56bb2020..03cfd0ee7ba 100644
--- a/gnu/packages/kde.scm
+++ b/gnu/packages/kde.scm
@@ -39,7 +39,7 @@
39(define-public kdevelop 39(define-public kdevelop
40 (package 40 (package
41 (name "kdevelop") 41 (name "kdevelop")
42 (version "5.0.3") 42 (version "5.0.4")
43 (source 43 (source
44 (origin 44 (origin
45 (method url-fetch) 45 (method url-fetch)
@@ -48,7 +48,7 @@
48 version ".tar.xz")) 48 version ".tar.xz"))
49 (sha256 49 (sha256
50 (base32 50 (base32
51 "00gn2c66pyd9qaa0zhn2lqam0zsg7fbyi13hk32wclxq73y8v98p")))) 51 "0max4g1i8xf5g7a8zm60qkr2j8w5bsqzxz914z43fj5ipnr4448r"))))
52 (build-system cmake-build-system) 52 (build-system cmake-build-system)
53 (native-inputs 53 (native-inputs
54 `(("extra-cmake-modules" ,extra-cmake-modules) 54 `(("extra-cmake-modules" ,extra-cmake-modules)
@@ -148,15 +148,15 @@ for some KDevelop language plugins (Ruby, PHP, CSS...).")
148(define-public kdevplatform 148(define-public kdevplatform
149 (package 149 (package
150 (name "kdevplatform") 150 (name "kdevplatform")
151 (version "5.0.3") 151 (version "5.0.4")
152 (source (origin 152 (source (origin
153 (method url-fetch) 153 (method url-fetch)
154 (uri (string-append "https://github.com/KDE/kdevplatform/archive/v" 154 (uri (string-append "mirror://kde/stable/kdevelop"
155 version ".tar.gz")) 155 "/" version "/src/kdevplatform-"
156 version ".tar.xz"))
156 (sha256 157 (sha256
157 (base32 158 (base32
158 "1k40wg08iwyswnpbs4bfh4yq38pp0qi78shjh4pf7yfa2kbid30j")) 159 "0wfl5azblnpmc7hydfvm7450343m1v7cr2g9gw0qs1432gbzraq1"))))
159 (file-name (string-append name "-" version ".tar.gz"))))
160 (build-system cmake-build-system) 160 (build-system cmake-build-system)
161 (native-inputs 161 (native-inputs
162 `(("extra-cmake-modules" ,extra-cmake-modules) 162 `(("extra-cmake-modules" ,extra-cmake-modules)
diff --git a/gnu/packages/ldc.scm b/gnu/packages/ldc.scm
index b7f593712bb..614e2d6d0cf 100644
--- a/gnu/packages/ldc.scm
+++ b/gnu/packages/ldc.scm
@@ -77,7 +77,7 @@ and freshness without requiring additional information from the user.")
77(define-public ldc-bootstrap 77(define-public ldc-bootstrap
78 (package 78 (package
79 (name "ldc") 79 (name "ldc")
80 (version "0.17.2") 80 (version "0.17.3")
81 (source (origin 81 (source (origin
82 (method url-fetch) 82 (method url-fetch)
83 (uri (string-append 83 (uri (string-append
@@ -86,7 +86,7 @@ and freshness without requiring additional information from the user.")
86 (file-name (string-append name "-" version ".tar.gz")) 86 (file-name (string-append name "-" version ".tar.gz"))
87 (sha256 87 (sha256
88 (base32 88 (base32
89 "0iksl6cvhsiwnlh15b7s9v8f3grxk27jn0vja9n4sad7fvfwmmlc")))) 89 "135rgwwk82ccqp4n3fhqz4696jmvip90fg5ql2kccq5h1r71gb82"))))
90 (build-system cmake-build-system) 90 (build-system cmake-build-system)
91 (supported-systems '("x86_64-linux" "i686-linux" "armhf-linux")) 91 (supported-systems '("x86_64-linux" "i686-linux" "armhf-linux"))
92 (arguments 92 (arguments
@@ -140,7 +140,7 @@ and freshness without requiring additional information from the user.")
140 version ".tar.gz")) 140 version ".tar.gz"))
141 (sha256 141 (sha256
142 (base32 142 (base32
143 "07hh3ic3r755mq9hn9gfr0wlc5y8cr91xz2ydb6gqy4zy8jgp5s9")) 143 "0qywnvnp019mmmr74aw90ir9f03iz0hc7cgzna609agsar0b27jl"))
144 (patches (search-patches "ldc-disable-tests.patch")))) 144 (patches (search-patches "ldc-disable-tests.patch"))))
145 ("druntime-src" 145 ("druntime-src"
146 ,(origin 146 ,(origin
@@ -150,7 +150,7 @@ and freshness without requiring additional information from the user.")
150 version ".tar.gz")) 150 version ".tar.gz"))
151 (sha256 151 (sha256
152 (base32 152 (base32
153 "1m1dhday9dl3s04njmd29z7ism2xn2ksb9qlrwzykdgz27b3dk6x")))) 153 "0z418n6x2fxac07sxpi4rl69069qiym4w6r9sjppn91q58qh8hjs"))))
154 ("dmd-testsuite-src" 154 ("dmd-testsuite-src"
155 ,(origin 155 ,(origin
156 (method url-fetch) 156 (method url-fetch)
@@ -159,7 +159,7 @@ and freshness without requiring additional information from the user.")
159 version ".tar.gz")) 159 version ".tar.gz"))
160 (sha256 160 (sha256
161 (base32 161 (base32
162 "0n7gvalxwfmia4gag53r9qhcnk2cqrw3n4icj1yri0zkgc27pm60")))))) 162 "196mkfax5y3yqm3gz7jhqhnkjwrvr2m4a8nc9k41l0511ldzsk9x"))))))
163 (home-page "http://wiki.dlang.org/LDC") 163 (home-page "http://wiki.dlang.org/LDC")
164 (synopsis "LLVM compiler for the D programming language") 164 (synopsis "LLVM compiler for the D programming language")
165 (description 165 (description
@@ -181,7 +181,7 @@ latest DMD frontend and uses LLVM as backend.")
181 (package 181 (package
182 (inherit ldc-bootstrap) 182 (inherit ldc-bootstrap)
183 (name "ldc") 183 (name "ldc")
184 (version "1.1.0") 184 (version "1.1.1")
185 ;; Beta version needed to compile various scientific tools that require 185 ;; Beta version needed to compile various scientific tools that require
186 ;; the newer beta versions, and won't compile successfully with the 186 ;; the newer beta versions, and won't compile successfully with the
187 ;; older stable version. 187 ;; older stable version.
@@ -193,7 +193,7 @@ latest DMD frontend and uses LLVM as backend.")
193 (file-name (string-append name "-" version ".tar.gz")) 193 (file-name (string-append name "-" version ".tar.gz"))
194 (sha256 194 (sha256
195 (base32 195 (base32
196 "10zkrmx9bcmhfxvgykm3fkjamzc8js96wm032bv0fyil5c9ja2y1")))) 196 "0yjiwg8pnlm2286bwdkwasaqw6ys7lymrqvhh5xyb1adha1ndcav"))))
197 (arguments 197 (arguments
198 `(#:phases 198 `(#:phases
199 (modify-phases %standard-phases 199 (modify-phases %standard-phases
diff --git a/gnu/packages/libevent.scm b/gnu/packages/libevent.scm
index bc830f6215b..551fbf72066 100644
--- a/gnu/packages/libevent.scm
+++ b/gnu/packages/libevent.scm
@@ -26,10 +26,13 @@
26 #:use-module (guix packages) 26 #:use-module (guix packages)
27 #:use-module (guix download) 27 #:use-module (guix download)
28 #:use-module (guix build-system gnu) 28 #:use-module (guix build-system gnu)
29 #:use-module (guix build-system perl)
30 #:use-module (gnu packages autotools)
29 #:use-module (gnu packages base) 31 #:use-module (gnu packages base)
32 #:use-module (gnu packages perl)
33 #:use-module (gnu packages pkg-config)
30 #:use-module (gnu packages python) 34 #:use-module (gnu packages python)
31 #:use-module (gnu packages autotools) 35 #:use-module (gnu packages tls))
32 #:use-module (gnu packages pkg-config))
33 36
34(define-public libevent 37(define-public libevent
35 (package 38 (package
@@ -149,3 +152,78 @@ resolution, asynchronous file system operations, and threading primitives.")
149 ;; A few files fall under other non-copyleft licenses; see 'LICENSE' for 152 ;; A few files fall under other non-copyleft licenses; see 'LICENSE' for
150 ;; details. 153 ;; details.
151 (license x11))) 154 (license x11)))
155
156(define-public perl-anyevent
157 (package
158 (name "perl-anyevent")
159 (version "7.13")
160 (source (origin
161 (method url-fetch)
162 (uri (string-append "mirror://cpan/authors/id/M/ML/MLEHMANN/"
163 "AnyEvent-" version ".tar.gz"))
164 (sha256
165 (base32
166 "1b84ilkbrfbzqapv25x8z6gva92skbrf2srybdabb1wnxx6ky454"))))
167 (build-system perl-build-system)
168 (native-inputs
169 `(("perl-canary-stability" ,perl-canary-stability)))
170 (propagated-inputs
171 `(("perl-async-interrupt" ,perl-async-interrupt)
172 ("perl-ev" ,perl-ev)
173 ("perl-guard" ,perl-guard)
174 ("perl-json" ,perl-json)
175 ("perl-json-xs" ,perl-json-xs)
176 ("perl-net-ssleay" ,perl-net-ssleay)
177 ("perl-task-weaken" ,perl-task-weaken)))
178 (home-page "http://search.cpan.org/dist/AnyEvent")
179 (synopsis
180 "API for I/O, timer, signal, child process and completion events")
181 (description
182 "This module allows using a variety of events without forcing module
183authors to pick a specific event loop, and without noticable overhead.
184Currently supported event loops are EV, Event, Glib/Gtk2, Tk, Qt,
185@code{Event::Lib}, Irssi, @code{IO::Async} and POE (and thus also WxWidgets
186and Prima). It also comes with a very fast Pure Perl event loop that does
187not rely on XS.")
188 (license (package-license perl))))
189
190(define-public perl-ev
191 (package
192 (name "perl-ev")
193 (version "4.22")
194 (source (origin
195 (method url-fetch)
196 (uri (string-append "mirror://cpan/authors/id/M/ML/MLEHMANN/EV-"
197 version ".tar.gz"))
198 (sha256
199 (base32
200 "14d9115q8f2ca2q3vbcalm55zqsbx8xjq5aj098laj9f9rrzirra"))
201 (modules '((guix build utils)))
202 (snippet
203 '(begin
204 ;; Drop bundled libev.
205 (delete-file-recursively "libev")
206 #t))))
207 (build-system perl-build-system)
208 (arguments
209 '(#:phases
210 (modify-phases %standard-phases
211 (add-after 'unpack 'unpack-libev
212 ;; This package requires the libev *sources* in order
213 ;; to build. Unpack system libev here...
214 (lambda* (#:key inputs #:allow-other-keys)
215 (mkdir "./libev")
216 (zero? (system* "tar" "-xf" (assoc-ref inputs "libev-source")
217 "-C" "./libev" "--strip-components=1")))))))
218 (native-inputs
219 `(("libev-source" ,(package-source libev))
220 ("perl-canary-stability" ,perl-canary-stability)))
221 (propagated-inputs
222 `(("perl-common-sense" ,perl-common-sense)))
223 (home-page "http://search.cpan.org/dist/EV")
224 (synopsis "Perl interface to libev")
225 (description
226 "This module provides an interface to @code{libev}, a high performance
227full-featured event loop. It can be used through the @code{AnyEvent} module
228and still be faster than other event loops currently supported in Perl.")
229 (license (package-license perl))))
diff --git a/gnu/packages/lighting.scm b/gnu/packages/lighting.scm
index e70b276fd73..5f816dc54b9 100644
--- a/gnu/packages/lighting.scm
+++ b/gnu/packages/lighting.scm
@@ -36,7 +36,7 @@
36(define-public ola 36(define-public ola
37 (package 37 (package
38 (name "ola") 38 (name "ola")
39 (version "0.10.2") 39 (version "0.10.3")
40 (source (origin 40 (source (origin
41 (method url-fetch) 41 (method url-fetch)
42 (uri (string-append 42 (uri (string-append
@@ -45,7 +45,7 @@
45 (patches (search-patches "ola-readdir-r.patch")) 45 (patches (search-patches "ola-readdir-r.patch"))
46 (sha256 46 (sha256
47 (base32 47 (base32
48 "09zx1c8nkj29shfdzkahrh9397m3mwnsy0gj7jrb63f89f3n2vlq")))) 48 "1yf1yy9n64n73zjq2bwc0gik0dd3n05297hdrrma2qvb0imzm5h1"))))
49 (build-system gnu-build-system) 49 (build-system gnu-build-system)
50 (native-inputs 50 (native-inputs
51 `(("bison" ,bison) 51 `(("bison" ,bison)
diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm
index c1e495675fe..53b0f2a678b 100644
--- a/gnu/packages/linux.scm
+++ b/gnu/packages/linux.scm
@@ -8,7 +8,7 @@
8;;; Copyright © 2015, 2016, 2017 Efraim Flashner <efraim@flashner.co.il> 8;;; Copyright © 2015, 2016, 2017 Efraim Flashner <efraim@flashner.co.il>
9;;; Copyright © 2016 Christopher Allan Webber <cwebber@dustycloud.org> 9;;; Copyright © 2016 Christopher Allan Webber <cwebber@dustycloud.org>
10;;; Copyright © 2016, 2017 Tobias Geerinckx-Rice <me@tobias.gr> 10;;; Copyright © 2016, 2017 Tobias Geerinckx-Rice <me@tobias.gr>
11;;; Copyright © 2016 Alex Kost <alezost@gmail.com> 11;;; Copyright © 2016, 2017 Alex Kost <alezost@gmail.com>
12;;; Copyright © 2016 Raymond Nicholson <rain1@openmailbox.org> 12;;; Copyright © 2016 Raymond Nicholson <rain1@openmailbox.org>
13;;; Copyright © 2016 Mathieu Lirzin <mthl@gnu.org> 13;;; Copyright © 2016 Mathieu Lirzin <mthl@gnu.org>
14;;; Copyright © 2016 Nicolas Goaziou <mail@nicolasgoaziou.fr> 14;;; Copyright © 2016 Nicolas Goaziou <mail@nicolasgoaziou.fr>
@@ -107,6 +107,7 @@
107 ((string-prefix? "mips" arch) "mips") 107 ((string-prefix? "mips" arch) "mips")
108 ((string-prefix? "arm" arch) "arm") 108 ((string-prefix? "arm" arch) "arm")
109 ((string-prefix? "aarch64" arch) "arm64") 109 ((string-prefix? "aarch64" arch) "arm64")
110 ((string-prefix? "alpha" arch) "alpha")
110 (else arch)))) 111 (else arch))))
111 112
112(define-public (system->defconfig system) 113(define-public (system->defconfig system)
@@ -204,11 +205,10 @@ defconfig. Return the appropiate make target if applicable, otherwise return
204(define* (kernel-config arch #:key variant) 205(define* (kernel-config arch #:key variant)
205 "Return the absolute file name of the Linux-Libre build configuration file 206 "Return the absolute file name of the Linux-Libre build configuration file
206for ARCH and optionally VARIANT, or #f if there is no such configuration." 207for ARCH and optionally VARIANT, or #f if there is no such configuration."
207 (let* ((name (string-append "linux-libre-" 208 (let* ((name (string-append (if variant (string-append variant "-") "")
208 (if variant (string-append variant "-") "")
209 (if (string=? "i386" arch) "i686" arch) ".conf")) 209 (if (string=? "i386" arch) "i686" arch) ".conf"))
210 (file (string-append "gnu/packages/" name))) 210 (file (string-append "linux-libre/" name)))
211 (search-path %load-path file))) 211 (search-auxiliary-file file)))
212 212
213(define %default-extra-linux-options 213(define %default-extra-linux-options
214 `(;; https://lists.gnu.org/archive/html/guix-devel/2014-04/msg00039.html 214 `(;; https://lists.gnu.org/archive/html/guix-devel/2014-04/msg00039.html
@@ -348,8 +348,8 @@ It has been modified to remove all non-free binary blobs.")
348 348
349(define %intel-compatible-systems '("x86_64-linux" "i686-linux")) 349(define %intel-compatible-systems '("x86_64-linux" "i686-linux"))
350 350
351(define %linux-libre-version "4.10") 351(define %linux-libre-version "4.10.1")
352(define %linux-libre-hash "167zzgkivpqsp07did25wjqsswddzp3gifcdkq7xk00llxlmspla") 352(define %linux-libre-hash "0mvwrjny1bjqyjqjxff9m97j48ybfdw8qpdazr5rwk12234v4k3d")
353 353
354(define-public linux-libre 354(define-public linux-libre
355 (make-linux-libre %linux-libre-version 355 (make-linux-libre %linux-libre-version
@@ -358,14 +358,14 @@ It has been modified to remove all non-free binary blobs.")
358 #:configuration-file kernel-config)) 358 #:configuration-file kernel-config))
359 359
360(define-public linux-libre-4.9 360(define-public linux-libre-4.9
361 (make-linux-libre "4.9.11" 361 (make-linux-libre "4.9.13"
362 "1gypfg2984zr4z7hihnl3bbpxnk1mrqbynb6xd8ad2v2z04aw13q" 362 "16miggwcwfpm7kx0yz256x887rky9wgmp1grg850lf8sdkiz0a1p"
363 %intel-compatible-systems 363 %intel-compatible-systems
364 #:configuration-file kernel-config)) 364 #:configuration-file kernel-config))
365 365
366(define-public linux-libre-4.4 366(define-public linux-libre-4.4
367 (make-linux-libre "4.4.50" 367 (make-linux-libre "4.4.52"
368 "0c157kk0vgrb1fsyy4q3czqdg4npgql82n6p303afy8ylh2w6d3l" 368 "1fzcq9bbsxiij2fh6kgwrp417sy2j5gnbzs0wwlmznj7mvysl7qg"
369 %intel-compatible-systems 369 %intel-compatible-systems
370 #:configuration-file kernel-config)) 370 #:configuration-file kernel-config))
371 371
@@ -373,7 +373,17 @@ It has been modified to remove all non-free binary blobs.")
373 (make-linux-libre "4.1.38" 373 (make-linux-libre "4.1.38"
374 "165kmzglhg63hn7y4q7r6cb2dpsljxiq1czvgyx0bkd1vd2bcvsa" 374 "165kmzglhg63hn7y4q7r6cb2dpsljxiq1czvgyx0bkd1vd2bcvsa"
375 %intel-compatible-systems 375 %intel-compatible-systems
376 #:configuration-file kernel-config)) 376 #:configuration-file kernel-config
377 #:patches
378 (list %boot-logo-patch
379 (origin
380 (method url-fetch)
381 (uri "\
382https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/patch/?id=5edabca9d4cff7f1f2b68f0bac55ef99d9798ba4")
383 (file-name "linux-libre-CVE-2017-6074.patch")
384 (sha256
385 (base32
386 "1x40slfz1qxgiaznyy13bwlh34450pkyyrkljpyjlx6c4mrzb1jj"))))))
377 387
378(define-public linux-libre-arm-generic 388(define-public linux-libre-arm-generic
379 (make-linux-libre %linux-libre-version 389 (make-linux-libre %linux-libre-version
@@ -821,17 +831,25 @@ images more compressible.")
821(define-public strace 831(define-public strace
822 (package 832 (package
823 (name "strace") 833 (name "strace")
824 (version "4.7") 834 (version "4.16")
825 (source (origin 835 (source (origin
826 (method url-fetch) 836 (method url-fetch)
827 (uri (string-append "mirror://sourceforge/strace/strace/" version 837 (uri (string-append "mirror://sourceforge/strace/strace/" version
828 "/strace-" version ".tar.xz")) 838 "/strace-" version ".tar.xz"))
829 (sha256 839 (sha256
830 (base32 840 (base32
831 "158iwk0pl2mfw93m1843xb7a2zb8p6lh0qim07rca6f1ff4dk764")))) 841 "1vzhmpcy989i4k12q4cc438yal2ghhm6x7ychscjbhcf2yspqj4q"))))
832 (build-system gnu-build-system) 842 (build-system gnu-build-system)
843 (arguments
844 '(#:phases
845 (modify-phases %standard-phases
846 (add-after 'unpack 'patch-/bin/sh
847 (lambda _
848 (substitute* "strace.c"
849 (("/bin/sh") (which "sh")))
850 #t)))))
833 (native-inputs `(("perl" ,perl))) 851 (native-inputs `(("perl" ,perl)))
834 (home-page "http://strace.sourceforge.net/") 852 (home-page "https://strace.io/")
835 (synopsis "System call tracer for Linux") 853 (synopsis "System call tracer for Linux")
836 (description 854 (description
837 "strace is a system call tracer, i.e. a debugging tool which prints out a 855 "strace is a system call tracer, i.e. a debugging tool which prints out a
@@ -1022,7 +1040,7 @@ packet filter.")
1022(define-public iproute 1040(define-public iproute
1023 (package 1041 (package
1024 (name "iproute2") 1042 (name "iproute2")
1025 (version "4.9.0") 1043 (version "4.10.0")
1026 (source (origin 1044 (source (origin
1027 (method url-fetch) 1045 (method url-fetch)
1028 (uri (string-append 1046 (uri (string-append
@@ -1030,7 +1048,7 @@ packet filter.")
1030 version ".tar.xz")) 1048 version ".tar.xz"))
1031 (sha256 1049 (sha256
1032 (base32 1050 (base32
1033 "1i0n071hiqxw1gisngw2jln3kcp9sh47n6fj5hdwqrvp7w20zwy0")))) 1051 "1a59y1zkddvr7z0lh2y9iasbh9wpfc1n39p56xcd6jkhzk0y3c92"))))
1034 (build-system gnu-build-system) 1052 (build-system gnu-build-system)
1035 (arguments 1053 (arguments
1036 `(#:tests? #f ; no test suite 1054 `(#:tests? #f ; no test suite
@@ -1039,6 +1057,7 @@ packet filter.")
1039 (string-append "BASH_COMPDIR=" out 1057 (string-append "BASH_COMPDIR=" out
1040 "/etc/bash_completion.d") 1058 "/etc/bash_completion.d")
1041 (string-append "LIBDIR=" out "/lib") 1059 (string-append "LIBDIR=" out "/lib")
1060 (string-append "HDRDIR=" out "/include")
1042 (string-append "SBINDIR=" out "/sbin") 1061 (string-append "SBINDIR=" out "/sbin")
1043 (string-append "CONFDIR=" out "/etc") 1062 (string-append "CONFDIR=" out "/etc")
1044 (string-append "DOCDIR=" out "/share/doc/" 1063 (string-append "DOCDIR=" out "/share/doc/"
@@ -1075,10 +1094,10 @@ allows a system administrator to make use of all iproute2 features, including
1075traffic control. 1094traffic control.
1076 1095
1077iproute2 is usually shipped in a package called iproute or iproute2 and 1096iproute2 is usually shipped in a package called iproute or iproute2 and
1078consists of several tools, of which the most important are ip and tc. ip 1097consists of several tools, of which the most important are @command{ip} and
1079controls IPv4 and IPv6 configuration and tc stands for traffic control. Both 1098@command{tc}. @command{ip} controls IPv4 and IPv6 configuration and
1080tools print detailed usage messages and are accompanied by a set of 1099@command{tc} stands for traffic control. Both tools print detailed usage
1081manpages.") 1100messages and are accompanied by a set of manpages.")
1082 (license license:gpl2+))) 1101 (license license:gpl2+)))
1083 1102
1084(define-public net-tools 1103(define-public net-tools
@@ -2318,14 +2337,14 @@ about ACPI devices.")
2318(define-public acpid 2337(define-public acpid
2319 (package 2338 (package
2320 (name "acpid") 2339 (name "acpid")
2321 (version "2.0.23") 2340 (version "2.0.28")
2322 (source (origin 2341 (source (origin
2323 (method url-fetch) 2342 (method url-fetch)
2324 (uri (string-append "mirror://sourceforge/acpid2/acpid-" 2343 (uri (string-append "mirror://sourceforge/acpid2/acpid-"
2325 version ".tar.xz")) 2344 version ".tar.xz"))
2326 (sha256 2345 (sha256
2327 (base32 2346 (base32
2328 "1vl7c6vc724v4jwki17czgj6lnrknnj1a6llm8gkl32i2gnam5j3")))) 2347 "043igasvp1l6nv5rzh4sksmymay2qn20anl4zm4zvwnkn1a3l34q"))))
2329 (build-system gnu-build-system) 2348 (build-system gnu-build-system)
2330 (home-page "https://sourceforge.net/projects/acpid2/") 2349 (home-page "https://sourceforge.net/projects/acpid2/")
2331 (synopsis "Daemon for delivering ACPI events to user-space programs") 2350 (synopsis "Daemon for delivering ACPI events to user-space programs")
@@ -3209,7 +3228,7 @@ of flash storage.")
3209(define-public libseccomp 3228(define-public libseccomp
3210 (package 3229 (package
3211 (name "libseccomp") 3230 (name "libseccomp")
3212 (version "2.3.1") 3231 (version "2.3.2")
3213 (source (origin 3232 (source (origin
3214 (method url-fetch) 3233 (method url-fetch)
3215 (uri (string-append "https://github.com/seccomp/libseccomp/" 3234 (uri (string-append "https://github.com/seccomp/libseccomp/"
@@ -3217,7 +3236,7 @@ of flash storage.")
3217 "/libseccomp-" version ".tar.gz")) 3236 "/libseccomp-" version ".tar.gz"))
3218 (sha256 3237 (sha256
3219 (base32 3238 (base32
3220 "0asnlkzqms520r0dra08dzcz5hh6hs7lkajfw9wij3vrd0hxsnzz")))) 3239 "18dwfxzsw3agiy2dxbflrkhmjgvlji0wwkk636nabh2ng41qrp1x"))))
3221 (build-system gnu-build-system) 3240 (build-system gnu-build-system)
3222 (native-inputs 3241 (native-inputs
3223 `(("which" ,which))) 3242 `(("which" ,which)))
diff --git a/gnu/packages/lisp.scm b/gnu/packages/lisp.scm
index 80161de01bf..647c64dcc72 100644
--- a/gnu/packages/lisp.scm
+++ b/gnu/packages/lisp.scm
@@ -3,7 +3,7 @@
3;;; Copyright © 2015 Taylan Ulrich Bayırlı/Kammer <taylanbayirli@gmail.com> 3;;; Copyright © 2015 Taylan Ulrich Bayırlı/Kammer <taylanbayirli@gmail.com>
4;;; Copyright © 2015 Mark H Weaver <mhw@netris.org> 4;;; Copyright © 2015 Mark H Weaver <mhw@netris.org>
5;;; Copyright © 2016 Federico Beffa <beffa@fbengineering.ch> 5;;; Copyright © 2016 Federico Beffa <beffa@fbengineering.ch>
6;;; Copyright © 2016 ng0 <ngillmann@runbox.com> 6;;; Copyright © 2016, 2017 ng0 <contact.ng0@cryptolab.net>
7;;; Copyright © 2016 Andy Patterson <ajpatter@uwaterloo.ca> 7;;; Copyright © 2016 Andy Patterson <ajpatter@uwaterloo.ca>
8;;; Copyright © 2017 Ricardo Wurmus <rekado@elephly.net> 8;;; Copyright © 2017 Ricardo Wurmus <rekado@elephly.net>
9;;; 9;;;
@@ -37,16 +37,27 @@
37 #:use-module (guix build-system asdf) 37 #:use-module (guix build-system asdf)
38 #:use-module (guix build-system trivial) 38 #:use-module (guix build-system trivial)
39 #:use-module (gnu packages base) 39 #:use-module (gnu packages base)
40 #:use-module (gnu packages compression)
41 #:use-module (gnu packages fontutils)
42 #:use-module (gnu packages maths)
40 #:use-module (gnu packages multiprecision) 43 #:use-module (gnu packages multiprecision)
41 #:use-module (gnu packages bdw-gc) 44 #:use-module (gnu packages bdw-gc)
42 #:use-module (gnu packages libffi) 45 #:use-module (gnu packages libffi)
43 #:use-module (gnu packages libffcall) 46 #:use-module (gnu packages libffcall)
44 #:use-module (gnu packages readline) 47 #:use-module (gnu packages readline)
48 #:use-module (gnu packages sdl)
45 #:use-module (gnu packages libsigsegv) 49 #:use-module (gnu packages libsigsegv)
50 #:use-module (gnu packages linux)
46 #:use-module (gnu packages admin) 51 #:use-module (gnu packages admin)
47 #:use-module (gnu packages ed) 52 #:use-module (gnu packages ed)
53 #:use-module (gnu packages gl)
54 #:use-module (gnu packages gcc)
55 #:use-module (gnu packages glib)
56 #:use-module (gnu packages gettext)
48 #:use-module (gnu packages m4) 57 #:use-module (gnu packages m4)
58 #:use-module (gnu packages pkg-config)
49 #:use-module (gnu packages version-control) 59 #:use-module (gnu packages version-control)
60 #:use-module (gnu packages xorg)
50 #:use-module (ice-9 match) 61 #:use-module (ice-9 match)
51 #:use-module (srfi srfi-1)) 62 #:use-module (srfi srfi-1))
52 63
@@ -530,6 +541,69 @@ The core is 12 builtin special forms and 33 builtin functions.")
530 (home-page "https://github.com/JeffBezanson/femtolisp") 541 (home-page "https://github.com/JeffBezanson/femtolisp")
531 (license license:bsd-3)))) 542 (license license:bsd-3))))
532 543
544(define-public lush2
545 (package
546 (name "lush2")
547 (version "2.0.1")
548 (source
549 (origin
550 (method url-fetch)
551 (uri (string-append "mirror://sourceforge/lush/lush2/lush-"
552 version ".tar.gz"))
553 (modules '((guix build utils)))
554 (snippet
555 '(begin
556 (substitute* "src/unix.c"
557 (("\\{ \"LUSH_DATE\", __DATE__ \\},") "")
558 (("\\{ \"LUSH_TIME\", __TIME__ \\},") ""))
559 (substitute* "src/main.c"
560 (("\" \\(built \" __DATE__ \"\\)\"") ""))))
561 (sha256
562 (base32
563 "02pkfn3nqdkm9fm44911dbcz0v3r0l53vygj8xigl6id5g3iwi4k"))))
564 (build-system gnu-build-system)
565 (arguments
566 `(;; We have to add these LIBS so that they are found.
567 #:configure-flags (list "LIBS=-lz"
568 "X_EXTRA_LIBS=-lfontconfig"
569 "--with-x")
570 #:tests? #f)) ; No make check.
571 (native-inputs `(("intltool" ,intltool)))
572 (inputs
573 `(("alsa-lib" ,alsa-lib)
574 ("sdl" ,sdl)
575 ("sdl-image" ,sdl-image)
576 ("sdl-mixer" ,sdl-mixer)
577 ("sdl-net" ,sdl-net)
578 ("sdl-ttf" ,sdl-ttf)
579 ("lapack" ,lapack)
580 ("libxft" ,libxft)
581 ("fontconfig" ,fontconfig)
582 ("gsl" ,gsl)
583 ("openblas" ,openblas)
584 ("glu" ,glu)
585 ("mesa" ,mesa)
586 ("mesa-utils" ,mesa-utils)
587 ("binutils" ,binutils)
588 ("libiberty" ,libiberty)
589 ("readline" ,readline)
590 ("zlib" ,zlib)
591 ("gettext-minimal" ,gettext-minimal)))
592 (synopsis "Lisp Universal Shell")
593 (description
594 "Lush is an object-oriented Lisp interpreter/compiler with features
595designed to please people who want to prototype large numerical
596applications. Lush includes an extensive library of
597vector/matrix/tensor manipulation, numerous numerical libraries
598(including GSL, LAPACK, and BLAS), a set of graphic functions, a
599simple GUI toolkit, and interfaces to various graphic and multimedia
600libraries such as OpenGL, SDL, Video4Linux, and ALSA (video/audio
601grabbing), and others. Lush is an ideal frontend script language for
602programming projects written in C or other languages. Lush also has
603libraries for Machine Learning, Neural Nets and statistical estimation.")
604 (home-page "http://lush.sourceforge.net/")
605 (license license:lgpl2.1+)))
606
533(define-public sbcl-alexandria 607(define-public sbcl-alexandria
534 (let ((revision "1") 608 (let ((revision "1")
535 (commit "926a066611b7b11cb71e26c827a271e500888c30")) 609 (commit "926a066611b7b11cb71e26c827a271e500888c30"))
diff --git a/gnu/packages/lua.scm b/gnu/packages/lua.scm
index 5016732b7a4..e3ab3561cbe 100644
--- a/gnu/packages/lua.scm
+++ b/gnu/packages/lua.scm
@@ -283,18 +283,6 @@ communication. It takes an already established TCP connection and creates a
283secure session between the peers.") 283secure session between the peers.")
284 (license (package-license lua-5.1)))) 284 (license (package-license lua-5.1))))
285 285
286(define-public lua5.1-sec-0.5
287 (package
288 (inherit lua5.1-sec)
289 (version "0.5.1")
290 (source (origin
291 (method url-fetch)
292 (uri (string-append "https://github.com/brunoos/luasec/archive/"
293 "luasec-" version ".tar.gz"))
294 (sha256
295 (base32
296 "01llf5bcrjmqqy6m65avqkajz7h79rvkka6rd131kwr10n75yp3d"))))))
297
298(define-public lua-lgi 286(define-public lua-lgi
299 (package 287 (package
300 (name "lua-lgi") 288 (name "lua-lgi")
diff --git a/gnu/packages/machine-learning.scm b/gnu/packages/machine-learning.scm
index 8f1f8ee53ba..7bad833b380 100644
--- a/gnu/packages/machine-learning.scm
+++ b/gnu/packages/machine-learning.scm
@@ -504,20 +504,21 @@ and a QP solver.")
504(define-public dlib 504(define-public dlib
505 (package 505 (package
506 (name "dlib") 506 (name "dlib")
507 (version "19.1") 507 (version "19.3")
508 (source (origin 508 (source (origin
509 (method url-fetch) 509 (method url-fetch)
510 (uri (string-append 510 (uri (string-append
511 "http://dlib.net/files/dlib-" version ".tar.bz2")) 511 "http://dlib.net/files/dlib-" version ".tar.bz2"))
512 (sha256 512 (sha256
513 (base32 513 (base32
514 "0p2pvcdalc6jhb6r99ybvjd9x74sclr0ngswdg9j2xl5pj7knbr4")) 514 "0gfy83av717qymv53yv7ki6mgh6mdw4xcxxbjk8lrs72f8qvnrcw"))
515 (modules '((guix build utils))) 515 (modules '((guix build utils)))
516 (snippet 516 (snippet
517 '(begin 517 '(begin
518 ;; Delete ~13MB of bundled dependencies. 518 ;; Delete ~13MB of bundled dependencies.
519 (delete-file-recursively "dlib/external") 519 (delete-file-recursively "dlib/external")
520 (delete-file-recursively "docs/dlib/external"))))) 520 (delete-file-recursively "docs/dlib/external")
521 #t))))
521 (build-system cmake-build-system) 522 (build-system cmake-build-system)
522 (arguments 523 (arguments
523 `(#:phases 524 `(#:phases
@@ -532,8 +533,7 @@ and a QP solver.")
532 (add-after 'disable-asserts 'disable-failing-tests 533 (add-after 'disable-asserts 'disable-failing-tests
533 (lambda _ 534 (lambda _
534 ;; One test times out on MIPS, so we need to disable it. 535 ;; One test times out on MIPS, so we need to disable it.
535 ;; The rest is known to fail on non-x86_64 platforms in the current release. 536 ;; Others are flaky on some platforms.
536 ;; Some have been fixed in git; this list should be readjusted next update.
537 (let* ((system ,(or (%current-target-system) 537 (let* ((system ,(or (%current-target-system)
538 (%current-system))) 538 (%current-system)))
539 (disabled-tests (cond 539 (disabled-tests (cond
@@ -541,17 +541,16 @@ and a QP solver.")
541 '("object_detector" ; timeout 541 '("object_detector" ; timeout
542 "data_io")) 542 "data_io"))
543 ((string-prefix? "armhf" system) 543 ((string-prefix? "armhf" system)
544 '("learning_to_track" "max_cost_assignment")) 544 '("learning_to_track"))
545 ((string-prefix? "i686" system) 545 ((string-prefix? "i686" system)
546 '("optimization" "matrix2" "mpc")) 546 '("optimization"))
547 (else '())))) 547 (else '()))))
548 ;; The following test fails due a bug in openblas < 0.2.18.
549 (append! disabled-tests '("empirical_map"))
550 (for-each 548 (for-each
551 (lambda (test) 549 (lambda (test)
552 (substitute* "dlib/test/makefile" 550 (substitute* "dlib/test/makefile"
553 (((string-append "SRC \\+= " test "\\.cpp")) "")) #t) 551 (((string-append "SRC \\+= " test "\\.cpp")) "")))
554 disabled-tests)))) 552 disabled-tests)
553 #t)))
555 (replace 'check 554 (replace 'check
556 (lambda _ 555 (lambda _
557 ;; No test target, so we build and run the unit tests here. 556 ;; No test target, so we build and run the unit tests here.
@@ -562,7 +561,9 @@ and a QP solver.")
562 (zero? (system* "./dtest" "--runall"))))))) 561 (zero? (system* "./dtest" "--runall")))))))
563 (add-after 'install 'delete-static-library 562 (add-after 'install 'delete-static-library
564 (lambda* (#:key outputs #:allow-other-keys) 563 (lambda* (#:key outputs #:allow-other-keys)
565 (delete-file (string-append (assoc-ref outputs "out") "/lib/libdlib.a"))))))) 564 (delete-file (string-append (assoc-ref outputs "out")
565 "/lib/libdlib.a"))
566 #t)))))
566 (native-inputs 567 (native-inputs
567 `(("pkg-config" ,pkg-config))) 568 `(("pkg-config" ,pkg-config)))
568 (inputs 569 (inputs
diff --git a/gnu/packages/mail.scm b/gnu/packages/mail.scm
index a9b2cb3ec95..b70597b84d3 100644
--- a/gnu/packages/mail.scm
+++ b/gnu/packages/mail.scm
@@ -8,7 +8,7 @@
8;;; Copyright © 2015 Paul van der Walt <paul@denknerd.org> 8;;; Copyright © 2015 Paul van der Walt <paul@denknerd.org>
9;;; Copyright © 2015, 2016 Eric Bavier <bavier@member.fsf.org> 9;;; Copyright © 2015, 2016 Eric Bavier <bavier@member.fsf.org>
10;;; Copyright © 2015 Andreas Enge <andreas@enge.fr> 10;;; Copyright © 2015 Andreas Enge <andreas@enge.fr>
11;;; Copyright © 2015, 2016 Efraim Flashner <efraim@flashner.co.il> 11;;; Copyright © 2015, 2016, 2017 Efraim Flashner <efraim@flashner.co.il>
12;;; Copyright © 2016 Christopher Allan Webber <cwebber@dustycloud.org> 12;;; Copyright © 2016 Christopher Allan Webber <cwebber@dustycloud.org>
13;;; Copyright © 2016 Al McElrath <hello@yrns.org> 13;;; Copyright © 2016 Al McElrath <hello@yrns.org>
14;;; Copyright © 2016 Leo Famulari <leo@famulari.name> 14;;; Copyright © 2016 Leo Famulari <leo@famulari.name>
@@ -214,14 +214,14 @@ aliasing facilities to work just as they would on normal mail.")
214(define-public mutt 214(define-public mutt
215 (package 215 (package
216 (name "mutt") 216 (name "mutt")
217 (version "1.7.2") 217 (version "1.8.0")
218 (source (origin 218 (source (origin
219 (method url-fetch) 219 (method url-fetch)
220 (uri (string-append "ftp://ftp.mutt.org/pub/mutt/mutt-" 220 (uri (string-append "ftp://ftp.mutt.org/pub/mutt/mutt-"
221 version ".tar.gz")) 221 version ".tar.gz"))
222 (sha256 222 (sha256
223 (base32 223 (base32
224 "1yazrl82s9fxmamnlvwmsxhwrxnwv6kwakgfmawda8ndhwb50lqm")) 224 "1axdcylyv0p194y6lj1jx127g5yc74zqzzxdc014cjw02bd1x125"))
225 (patches (search-patches "mutt-store-references.patch")))) 225 (patches (search-patches "mutt-store-references.patch"))))
226 (build-system gnu-build-system) 226 (build-system gnu-build-system)
227 (inputs 227 (inputs
@@ -254,7 +254,7 @@ operating systems.")
254 (package 254 (package
255 (inherit mutt) 255 (inherit mutt)
256 (name "neomutt") 256 (name "neomutt")
257 (version "20170113") 257 (version "20170225")
258 (source 258 (source
259 (origin 259 (origin
260 (method url-fetch) 260 (method url-fetch)
@@ -263,10 +263,12 @@ operating systems.")
263 (file-name (string-append name "-" version ".tar.gz")) 263 (file-name (string-append name "-" version ".tar.gz"))
264 (sha256 264 (sha256
265 (base32 265 (base32
266 "0cqr77q263b5qcmdw6g0qixdpk6gmzgzpa03v226nr55v2ips9jg")))) 266 "00ll35g9pcanzrxsjp09vrmq6flml249dipcznrq2z4jy2zd386p"))))
267 (inputs 267 (inputs
268 `(("cyrus-sasl" ,cyrus-sasl) 268 `(("cyrus-sasl" ,cyrus-sasl)
269 ("gdbm" ,gdbm) 269 ("gdbm" ,gdbm)
270 ("lmdb" ,lmdb)
271 ("tokyocabinet" ,tokyocabinet)
270 ("gpgme" ,gpgme) 272 ("gpgme" ,gpgme)
271 ("ncurses" ,ncurses) 273 ("ncurses" ,ncurses)
272 ("gnutls" ,gnutls) 274 ("gnutls" ,gnutls)
@@ -289,10 +291,11 @@ operating systems.")
289 "--enable-gpgme" 291 "--enable-gpgme"
290 292
291 ;; database, implies header caching 293 ;; database, implies header caching
292 "--without-tokyocabinet" 294 ;; neomutt supports building multiple backends
295 "--with-tokyocabinet"
293 "--without-qdbm" 296 "--without-qdbm"
294 "--without-bdb" 297 "--without-bdb"
295 "--without-lmdb" 298 "--with-lmdb"
296 "--with-gdbm" 299 "--with-gdbm"
297 300
298 "--with-gnutls" 301 "--with-gnutls"
@@ -659,14 +662,14 @@ invoking @command{notifymuch} from the post-new hook.")
659(define-public notmuch 662(define-public notmuch
660 (package 663 (package
661 (name "notmuch") 664 (name "notmuch")
662 (version "0.23.5") 665 (version "0.23.7")
663 (source (origin 666 (source (origin
664 (method url-fetch) 667 (method url-fetch)
665 (uri (string-append "https://notmuchmail.org/releases/notmuch-" 668 (uri (string-append "https://notmuchmail.org/releases/notmuch-"
666 version ".tar.gz")) 669 version ".tar.gz"))
667 (sha256 670 (sha256
668 (base32 671 (base32
669 "0ry2k9sdwd1vw8cf6svch8wk98523s07mwxvsf7b8kghqnrr89n6")))) 672 "04w90c43zk23pys6prkqb14al408qypifcfj2qznqpwlf46v26zi"))))
670 (build-system gnu-build-system) 673 (build-system gnu-build-system)
671 (arguments 674 (arguments
672 '(#:make-flags (list "V=1") ; Verbose test output. 675 '(#:make-flags (list "V=1") ; Verbose test output.
@@ -1509,7 +1512,11 @@ maintained.")
1509 (lambda* (#:key outputs #:allow-other-keys) 1512 (lambda* (#:key outputs #:allow-other-keys)
1510 (let* ((out (assoc-ref outputs "out")) 1513 (let* ((out (assoc-ref outputs "out"))
1511 (doc (string-append out "/share/doc/khard"))) 1514 (doc (string-append out "/share/doc/khard")))
1512 (copy-recursively "misc/khard" doc))))))) 1515 (copy-recursively "misc/khard" doc)
1516 #t))))
1517 ;; FIXME: check phase fails with
1518 ;; "Config file /tmp/.config/khard/khard.conf not available"
1519 #:tests? #f))
1513 (propagated-inputs 1520 (propagated-inputs
1514 `(("python-vobject" ,python-vobject) 1521 `(("python-vobject" ,python-vobject)
1515 ("python-pyyaml" ,python-pyyaml) 1522 ("python-pyyaml" ,python-pyyaml)
@@ -1951,3 +1958,38 @@ installation on systems where resources are limited. Its features include:
1951@item Rich and customisable texts for automated operations. 1958@item Rich and customisable texts for automated operations.
1952@end enumerate\n") 1959@end enumerate\n")
1953 (license license:expat))) 1960 (license license:expat)))
1961
1962(define-public blists
1963 (package
1964 (name "blists")
1965 (version "1.0")
1966 (source
1967 (origin
1968 (method url-fetch)
1969 (uri (string-append "http://download.openwall.net/pub/projects/"
1970 "blists/blists-" version ".tar.gz"))
1971 (sha256
1972 (base32
1973 "1gp51kmb8yv8d693wcpdslmwlbw5w2kgz4kxhrcaf7y89w8wy4qd"))))
1974 (build-system gnu-build-system)
1975 (arguments
1976 `(#:tests? #f ; No tests
1977 #:phases
1978 (modify-phases %standard-phases
1979 (delete 'configure)
1980 (replace 'install
1981 (lambda* (#:key outputs #:allow-other-keys)
1982 (let* ((out (assoc-ref outputs "out"))
1983 (bin (string-append out "/bin")))
1984 (install-file "bindex" bin)
1985 (install-file "bit" bin)
1986 #t))))))
1987 (home-page "http://www.openwall.com/blists/")
1988 (synopsis "Web interface to mailing list archives")
1989 (description
1990 "Blists is a web interface to mailing list archives that works off
1991indexed mbox files. There are two programs: @code{bindex} and @code{bit}.
1992@code{bindex} generates or updates the index file (incremental updates
1993are supported). @code{bit} is a CGI/SSI program that generates web pages
1994on the fly. Both programs are written in C and are very fast.")
1995 (license license:expat)))
diff --git a/gnu/packages/man.scm b/gnu/packages/man.scm
index 69c560c1b0f..3763292fe48 100644
--- a/gnu/packages/man.scm
+++ b/gnu/packages/man.scm
@@ -202,7 +202,7 @@ automatically.")
202(define-public txt2man 202(define-public txt2man
203 (package 203 (package
204 (name "txt2man") 204 (name "txt2man")
205 (version "1.5.6") 205 (version "1.6.0")
206 (source 206 (source
207 (origin 207 (origin
208 (method url-fetch) 208 (method url-fetch)
@@ -211,7 +211,7 @@ automatically.")
211 version ".tar.gz")) 211 version ".tar.gz"))
212 (sha256 212 (sha256
213 (base32 213 (base32
214 "0sjq687jknq65wbnjh2siq8hc09ydpnlmrkrnwl66mrhd4n9g7fz")))) 214 "168cj96974n2z0igin6j1ic1m45zyic7nm5ark7frq8j78rrx4zn"))))
215 (build-system gnu-build-system) 215 (build-system gnu-build-system)
216 (arguments 216 (arguments
217 `(#:tests? #f ; no "check" target 217 `(#:tests? #f ; no "check" target
diff --git a/gnu/packages/markdown.scm b/gnu/packages/markdown.scm
index ae54b0b1722..4a020198e49 100644
--- a/gnu/packages/markdown.scm
+++ b/gnu/packages/markdown.scm
@@ -104,7 +104,7 @@ convert it to structurally valid XHTML (or HTML).")
104(define-public cmark 104(define-public cmark
105 (package 105 (package
106 (name "cmark") 106 (name "cmark")
107 (version "0.26.1") 107 (version "0.27.1")
108 (source (origin 108 (source (origin
109 (method url-fetch) 109 (method url-fetch)
110 (uri (string-append "https://github.com/jgm/cmark/archive/" 110 (uri (string-append "https://github.com/jgm/cmark/archive/"
@@ -112,7 +112,7 @@ convert it to structurally valid XHTML (or HTML).")
112 (file-name (string-append name "-" version ".tar.gz")) 112 (file-name (string-append name "-" version ".tar.gz"))
113 (sha256 113 (sha256
114 (base32 114 (base32
115 "1mpmcy4bbmc8m058zqs9dwx49lcfi7bdnfszsr9y66cwgylia1mm")))) 115 "1da62ispca9aal2a36gaj87175rv5013pl7x740vk32y6lclr6v6"))))
116 (build-system cmake-build-system) 116 (build-system cmake-build-system)
117 (arguments 117 (arguments
118 '(#:test-target "test")) 118 '(#:test-target "test"))
diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm
index 18536c43ee8..9533f5f0a86 100644
--- a/gnu/packages/maths.scm
+++ b/gnu/packages/maths.scm
@@ -83,6 +83,7 @@
83 #:use-module (gnu packages python) 83 #:use-module (gnu packages python)
84 #:use-module (gnu packages readline) 84 #:use-module (gnu packages readline)
85 #:use-module (gnu packages tbb) 85 #:use-module (gnu packages tbb)
86 #:use-module (gnu packages scheme)
86 #:use-module (gnu packages shells) 87 #:use-module (gnu packages shells)
87 #:use-module (gnu packages tcl) 88 #:use-module (gnu packages tcl)
88 #:use-module (gnu packages texinfo) 89 #:use-module (gnu packages texinfo)
@@ -142,14 +143,14 @@ interactive dialogs to guide them.")
142(define-public coda 143(define-public coda
143 (package 144 (package
144 (name "coda") 145 (name "coda")
145 (version "2.17.3") 146 (version "2.18")
146 (source 147 (source
147 (origin 148 (origin
148 (method url-fetch) 149 (method url-fetch)
149 (uri (string-append "https://github.com/stcorp/coda/releases/download/" 150 (uri (string-append "https://github.com/stcorp/coda/releases/download/"
150 version "/coda-" version ".tar.gz")) 151 version "/coda-" version ".tar.gz"))
151 (sha256 152 (sha256
152 (base32 "04b9l3wzcix0mnfq77mwnil6cbr8h2mki8myvy0lzn236qcwaq1h")) 153 (base32 "11asla1ap8vd73farqjlpb179sfiy0biydcwxjfcakrp9sf8v9bs"))
153 (patches (search-patches "coda-use-system-libs.patch")) 154 (patches (search-patches "coda-use-system-libs.patch"))
154 (modules '((guix build utils))) 155 (modules '((guix build utils)))
155 (snippet 156 (snippet
@@ -923,7 +924,7 @@ can solve two kinds of problems:
923(define-public octave 924(define-public octave
924 (package 925 (package
925 (name "octave") 926 (name "octave")
926 (version "4.2.0") 927 (version "4.2.1")
927 (source 928 (source
928 (origin 929 (origin
929 (method url-fetch) 930 (method url-fetch)
@@ -931,7 +932,7 @@ can solve two kinds of problems:
931 version ".tar.lz")) 932 version ".tar.lz"))
932 (sha256 933 (sha256
933 (base32 934 (base32
934 "19vvliwxgip0af812vny5xy5r8kacyj7v62203mh4z2n3p14b78i")))) 935 "09zhhch79jw3ynw39vizx0i2cbd2bjz3sp38pjdzraqrbivpwp92"))))
935 (build-system gnu-build-system) 936 (build-system gnu-build-system)
936 (inputs 937 (inputs
937 `(("lapack" ,lapack) 938 `(("lapack" ,lapack)
@@ -2008,7 +2009,9 @@ point numbers.")
2008(define-public wxmaxima 2009(define-public wxmaxima
2009 (package 2010 (package
2010 (name "wxmaxima") 2011 (name "wxmaxima")
2011 (version "16.12.2") 2012 ;; Versions 16.12.0 to 16.12.2 have a bug which causes output lines to
2013 ;; overlap. See <https://debbugs.gnu.org/25793>
2014 (version "16.04.2")
2012 (source 2015 (source
2013 (origin 2016 (origin
2014 (method url-fetch) 2017 (method url-fetch)
@@ -2016,7 +2019,7 @@ point numbers.")
2016 version "/" name "-" version ".tar.gz")) 2019 version "/" name "-" version ".tar.gz"))
2017 (sha256 2020 (sha256
2018 (base32 2021 (base32
2019 "0y22zhyhyxj2cbhzvs9c4pxr44i55ryfy5xi96d39bg2nbgs9h22")))) 2022 "1fpqzk1921isiqrpgpf433ldq41924qs9sy99fl1zn5661b2l73n"))))
2020 (build-system gnu-build-system) 2023 (build-system gnu-build-system)
2021 (inputs 2024 (inputs
2022 `(("wxwidgets" ,wxwidgets) 2025 `(("wxwidgets" ,wxwidgets)
@@ -2956,3 +2959,54 @@ algorithm for LCS. It is a fast program to compute the approximate
2956Longest Commons Subsequence of a set of strings.") 2959Longest Commons Subsequence of a set of strings.")
2957 (home-page "https://github.com/gdv/Reduce-Expand-for-LCS") 2960 (home-page "https://github.com/gdv/Reduce-Expand-for-LCS")
2958 (license license:gpl3+)))) 2961 (license license:gpl3+))))
2962
2963(define-public jacal
2964 (package
2965 (name "jacal")
2966 (version "1c4")
2967 (source (origin
2968 (method url-fetch)
2969 (uri (string-append
2970 "http://groups.csail.mit.edu/mac/ftpdir/scm/jacal-"
2971 version ".zip"))
2972 (sha256 (base32
2973 "055zrn12a1dmy0dqkwrkq3fklbhg3yir6vn0lacp4mvbg8573a3q"))
2974 (patches (search-patches "jacal-fix-texinfo.patch"))))
2975 (build-system gnu-build-system)
2976 (arguments
2977 `(#:phases
2978 (modify-phases %standard-phases
2979 (add-before 'build 'pre-build
2980 ;; Don't use upstream's script - it really doesn't fit into
2981 ;; Guix's functional paradigm.
2982 (lambda* (#:key inputs outputs #:allow-other-keys)
2983 (substitute* "Makefile"
2984 (("^install: install-script") "install: "))))
2985 (add-after 'install 'post-install
2986 ;; Instead, we provide our own simplified script.
2987 (lambda* (#:key inputs outputs #:allow-other-keys)
2988 (let ((wrapper (string-append (assoc-ref outputs "out")
2989 "/bin/jacal")))
2990 (format (open wrapper (logior O_WRONLY O_CREAT))
2991 (string-append "#!~a\nexec ~a/bin/scm -ip1 "
2992 "-e '(slib:load \"~a/lib/jacal/math\") "
2993 "(math)' \"$@\"\n")
2994 (which "bash")
2995 (assoc-ref inputs "scm")
2996 (assoc-ref outputs "out"))
2997 (chmod wrapper #o555))))
2998 (replace 'configure
2999 (lambda* (#:key inputs outputs #:allow-other-keys)
3000 (zero? (system* "./configure"
3001 (string-append "--prefix="
3002 (assoc-ref outputs "out")))))))))
3003 (inputs `(("scm" ,scm)))
3004 (native-inputs `(("unzip" ,unzip)
3005 ("texinfo" ,texinfo)))
3006 (synopsis "Symbolic mathematics system")
3007 (description "GNU JACAL is an interactive symbolic mathematics program based on
3008Scheme. It manipulate and simplify a range of mathematical expressions such
3009as equations, scalars, vectors, and matrices.")
3010 (home-page "http://www.gnu.org/software/jacal")
3011 (license license:gpl3+)))
3012
diff --git a/gnu/packages/messaging.scm b/gnu/packages/messaging.scm
index 9345e242639..0ffc031c854 100644
--- a/gnu/packages/messaging.scm
+++ b/gnu/packages/messaging.scm
@@ -495,14 +495,14 @@ end-to-end encryption support; XML console.")
495(define-public prosody 495(define-public prosody
496 (package 496 (package
497 (name "prosody") 497 (name "prosody")
498 (version "0.9.10") 498 (version "0.9.12")
499 (source (origin 499 (source (origin
500 (method url-fetch) 500 (method url-fetch)
501 (uri (string-append "https://prosody.im/downloads/source/" 501 (uri (string-append "https://prosody.im/downloads/source/"
502 "prosody-" version ".tar.gz")) 502 "prosody-" version ".tar.gz"))
503 (sha256 503 (sha256
504 (base32 504 (base32
505 "0bv6s5c0iizz015hh1lxlwlw1iwvisywajm2rcrbdfyrskzfwdj8")))) 505 "139yxqpinajl32ryrybvilh54ddb1q6s0ajjhlcs4a0rnwia6n8s"))))
506 (build-system gnu-build-system) 506 (build-system gnu-build-system)
507 (arguments 507 (arguments
508 `(#:tests? #f ; no "check" target 508 `(#:tests? #f ; no "check" target
@@ -572,8 +572,7 @@ end-to-end encryption support; XML console.")
572 ("lua5.1-expat" ,lua5.1-expat) 572 ("lua5.1-expat" ,lua5.1-expat)
573 ("lua5.1-socket" ,lua5.1-socket) 573 ("lua5.1-socket" ,lua5.1-socket)
574 ("lua5.1-filesystem" ,lua5.1-filesystem) 574 ("lua5.1-filesystem" ,lua5.1-filesystem)
575 ;; See <https://prosody.im/doc/depends#luasec>. 575 ("lua5.1-sec" ,lua5.1-sec)))
576 ("lua5.1-sec" ,lua5.1-sec-0.5)))
577 (home-page "https://prosody.im/") 576 (home-page "https://prosody.im/")
578 (synopsis "Jabber (XMPP) server") 577 (synopsis "Jabber (XMPP) server")
579 (description "Prosody is a modern XMPP communication server. It aims to 578 (description "Prosody is a modern XMPP communication server. It aims to
diff --git a/gnu/packages/mp3.scm b/gnu/packages/mp3.scm
index e60bd5c5c1c..78c2b2f73b8 100644
--- a/gnu/packages/mp3.scm
+++ b/gnu/packages/mp3.scm
@@ -230,7 +230,7 @@ pre-defined or user-specifiable output format.")
230(define-public libmp3splt 230(define-public libmp3splt
231 (package 231 (package
232 (name "libmp3splt") 232 (name "libmp3splt")
233 (version "0.8.1a") 233 (version "0.9.2")
234 (source (origin 234 (source (origin
235 (method url-fetch) 235 (method url-fetch)
236 (uri (string-append "mirror://sourceforge/mp3splt/libmp3splt/" 236 (uri (string-append "mirror://sourceforge/mp3splt/libmp3splt/"
@@ -238,7 +238,7 @@ pre-defined or user-specifiable output format.")
238 version ".tar.gz")) 238 version ".tar.gz"))
239 (sha256 239 (sha256
240 (base32 240 (base32
241 "0d20r1bd4fgp9kp7w3qixjgll34czck9dgw59mx2kbhb0mhh00d8")))) 241 "1p1mn2hsmj5cp40fnc8g1yfvk72p8pjxi866gjdkgjsqrr7xdvih"))))
242 (build-system gnu-build-system) 242 (build-system gnu-build-system)
243 (inputs `(("libid3tag" ,libid3tag) 243 (inputs `(("libid3tag" ,libid3tag)
244 ("libmad" ,libmad) 244 ("libmad" ,libmad)
@@ -263,7 +263,7 @@ This package contains the library.")
263(define-public mp3splt 263(define-public mp3splt
264 (package 264 (package
265 (name "mp3splt") 265 (name "mp3splt")
266 (version "2.5.1") 266 (version "2.6.2")
267 (source (origin 267 (source (origin
268 (method url-fetch) 268 (method url-fetch)
269 (uri (string-append "mirror://sourceforge/mp3splt/mp3splt/" 269 (uri (string-append "mirror://sourceforge/mp3splt/mp3splt/"
@@ -271,8 +271,9 @@ This package contains the library.")
271 version ".tar.gz")) 271 version ".tar.gz"))
272 (sha256 272 (sha256
273 (base32 273 (base32
274 "106dnka56prlc9nsfh300f8841am2lmkwlzgl9lkr25mgnc35wwh")))) 274 "1aiv20gypb6r84qabz8gblk8vi42cg3x333vk2pi3fyqvl82phry"))))
275 (build-system gnu-build-system) 275 (build-system gnu-build-system)
276 (native-inputs `(("pkg-config" ,pkg-config)))
276 (inputs `(("libmp3splt" ,libmp3splt))) 277 (inputs `(("libmp3splt" ,libmp3splt)))
277 (synopsis "Utility for splitting mp3 and ogg vorbis files") 278 (synopsis "Utility for splitting mp3 and ogg vorbis files")
278 (description 279 (description
diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm
index 730d981e671..87b6d5b9b36 100644
--- a/gnu/packages/music.scm
+++ b/gnu/packages/music.scm
@@ -2061,6 +2061,8 @@ detailed track info including timbre, pitch, rhythm and loudness information.
2061 (base32 2061 (base32
2062 "0bml11gfkxqd3i2jxkn5k2xllc4rvxjcyhs8an05gcyy1zp2bwvb")))) 2062 "0bml11gfkxqd3i2jxkn5k2xllc4rvxjcyhs8an05gcyy1zp2bwvb"))))
2063 (build-system python-build-system) 2063 (build-system python-build-system)
2064 (arguments
2065 '(#:tests? #f)) ; FIXME: Requires unpackaged python-flaky.
2064 (native-inputs 2066 (native-inputs
2065 `(("python-coverage" ,python-coverage) 2067 `(("python-coverage" ,python-coverage)
2066 ("python-mock" ,python-mock) 2068 ("python-mock" ,python-mock)
diff --git a/gnu/packages/nano.scm b/gnu/packages/nano.scm
index 5fafe78e2ea..571770b4599 100644
--- a/gnu/packages/nano.scm
+++ b/gnu/packages/nano.scm
@@ -1,6 +1,6 @@
1;;; GNU Guix --- Functional package management for GNU 1;;; GNU Guix --- Functional package management for GNU
2;;; Copyright © 2012 Nikita Karetnikov <nikita@karetnikov.org> 2;;; Copyright © 2012 Nikita Karetnikov <nikita@karetnikov.org>
3;;; Copyright © 2015, 2016 Efraim Flashner <efraim@flashner.co.il> 3;;; Copyright © 2015, 2016, 2017 Efraim Flashner <efraim@flashner.co.il>
4;;; Copyright © 2016 Rene Saavedra <rennes@openmailbox.org> 4;;; Copyright © 2016 Rene Saavedra <rennes@openmailbox.org>
5;;; 5;;;
6;;; This file is part of GNU Guix. 6;;; This file is part of GNU Guix.
@@ -29,7 +29,7 @@
29(define-public nano 29(define-public nano
30 (package 30 (package
31 (name "nano") 31 (name "nano")
32 (version "2.7.4") 32 (version "2.7.5")
33 (source 33 (source
34 (origin 34 (origin
35 (method url-fetch) 35 (method url-fetch)
@@ -37,7 +37,7 @@
37 version ".tar.gz")) 37 version ".tar.gz"))
38 (sha256 38 (sha256
39 (base32 39 (base32
40 "135wzlv77p9za8679j2jpfkpvainvyagrhkdxngp71ynabgc5zr3")))) 40 "01yrh66rph0vn9q9r2d2jji5yzaakxrj75j9fsm0g41m8qpy4sr2"))))
41 (build-system gnu-build-system) 41 (build-system gnu-build-system)
42 (inputs 42 (inputs
43 `(("gettext" ,gettext-minimal) 43 `(("gettext" ,gettext-minimal)
@@ -45,7 +45,8 @@
45 (home-page "https://www.nano-editor.org/") 45 (home-page "https://www.nano-editor.org/")
46 (synopsis "Small, user-friendly console text editor") 46 (synopsis "Small, user-friendly console text editor")
47 (description 47 (description
48 "GNU Nano is a small and simple text editor. In addition to basic 48 "GNU nano is a small and simple text editor for use in a terminal. Besides
49editing, it supports interactive search and replace, go to line and column 49basic editing, it supports: undo/redo, syntax highlighting, spell checking,
50number, auto-indentation and more.") 50justifying, auto-indentation, bracket matching, interactive search-and-replace
51(with regular expressions), and the editing of multiple files.")
51 (license gpl3+))) ; some files are under GPLv2+ 52 (license gpl3+))) ; some files are under GPLv2+
diff --git a/gnu/packages/networking.scm b/gnu/packages/networking.scm
index a10fbfed922..95253687cd3 100644
--- a/gnu/packages/networking.scm
+++ b/gnu/packages/networking.scm
@@ -11,6 +11,7 @@
11;;; Copyright © 2016, 2017 ng0 <ng0@libertad.pw> 11;;; Copyright © 2016, 2017 ng0 <ng0@libertad.pw>
12;;; Copyright © 2016 Arun Isaac <arunisaac@systemreboot.net> 12;;; Copyright © 2016 Arun Isaac <arunisaac@systemreboot.net>
13;;; Copyright © 2016 Benz Schenk <benz.schenk@uzh.ch> 13;;; Copyright © 2016 Benz Schenk <benz.schenk@uzh.ch>
14;;; Copyright © 2016, 2017 Pjotr Prins <pjotr.guix@thebird.nl>
14;;; 15;;;
15;;; This file is part of GNU Guix. 16;;; This file is part of GNU Guix.
16;;; 17;;;
@@ -80,7 +81,7 @@
80 (description "GNU MAC Changer is a utility for viewing and changing MAC 81 (description "GNU MAC Changer is a utility for viewing and changing MAC
81addresses of networking devices. New addresses may be set explicitly or 82addresses of networking devices. New addresses may be set explicitly or
82randomly. They can include MAC addresses of the same or other hardware vendors 83randomly. They can include MAC addresses of the same or other hardware vendors
83or, more generally, MAC addresses of the same category of hardware.") 84or, more generally, MAC addresses of the same category of hardware.")
84 (license license:gpl2+))) 85 (license license:gpl2+)))
85 86
86(define-public miredo 87(define-public miredo
@@ -430,7 +431,7 @@ and up to 1 Mbit/s downstream.")
430(define-public whois 431(define-public whois
431 (package 432 (package
432 (name "whois") 433 (name "whois")
433 (version "5.2.14") 434 (version "5.2.15")
434 (source 435 (source
435 (origin 436 (origin
436 (method url-fetch) 437 (method url-fetch)
@@ -438,7 +439,7 @@ and up to 1 Mbit/s downstream.")
438 name "_" version ".tar.xz")) 439 name "_" version ".tar.xz"))
439 (sha256 440 (sha256
440 (base32 441 (base32
441 "1lmh7168yby1ma8r1svgvmv9hbgjyniy9c64r6lby3zdmd0sy7d4")))) 442 "123ingf699javzh8qm6ny10nl28zbjzasa4k5pcn0qzw1dlnnnks"))))
442 (build-system gnu-build-system) 443 (build-system gnu-build-system)
443 ;; TODO: unbundle mkpasswd binary + its po files. 444 ;; TODO: unbundle mkpasswd binary + its po files.
444 (arguments 445 (arguments
@@ -469,7 +470,7 @@ which can be used to encrypt a password with @code{crypt(3)}.")
469(define-public wireshark 470(define-public wireshark
470 (package 471 (package
471 (name "wireshark") 472 (name "wireshark")
472 (version "2.2.4") 473 (version "2.2.5")
473 (synopsis "Network traffic analyzer") 474 (synopsis "Network traffic analyzer")
474 (source 475 (source
475 (origin 476 (origin
@@ -478,7 +479,7 @@ which can be used to encrypt a password with @code{crypt(3)}.")
478 version ".tar.bz2")) 479 version ".tar.bz2"))
479 (sha256 480 (sha256
480 (base32 481 (base32
481 "049r5962yrajhhz9r4dsnx403dab50d6091y2mw298ymxqszp9s2")))) 482 "1j4sc3pmy8l6k41007spglcqiabjlzc7f85pn3jmjr9ksv9qipbm"))))
482 (build-system glib-or-gtk-build-system) 483 (build-system glib-or-gtk-build-system)
483 (inputs `(("bison" ,bison) 484 (inputs `(("bison" ,bison)
484 ("c-ares" ,c-ares) 485 ("c-ares" ,c-ares)
@@ -1006,14 +1007,14 @@ that block port 22.")
1006(define-public iperf 1007(define-public iperf
1007 (package 1008 (package
1008 (name "iperf") 1009 (name "iperf")
1009 (version "3.1.3") 1010 (version "3.1.7")
1010 (source (origin 1011 (source (origin
1011 (method url-fetch) 1012 (method url-fetch)
1012 (uri (string-append "http://downloads.es.net/pub/iperf" 1013 (uri (string-append "http://downloads.es.net/pub/iperf"
1013 "/iperf-" version ".tar.gz")) 1014 "/iperf-" version ".tar.gz"))
1014 (sha256 1015 (sha256
1015 (base32 1016 (base32
1016 "1gwmhm29zlp5grrpglmqj7vgx19s6xy33hk6hpbn8jnpn5lxpn30")))) 1017 "0kvk8d0a3dcxc8fisyprbn01y8akxj4sx8ld5dh508p9dx077vx4"))))
1017 (build-system gnu-build-system) 1018 (build-system gnu-build-system)
1018 (synopsis "TCP, UDP and SCTP bandwidth measurement tool") 1019 (synopsis "TCP, UDP and SCTP bandwidth measurement tool")
1019 (description 1020 (description
@@ -1119,3 +1120,24 @@ IPFIX, RSPAN, CLI, LACP, 802.1ag).")
1119 license:gpl2 ; datapath 1120 license:gpl2 ; datapath
1120 license:bsd-2 license:bsd-3 1121 license:bsd-2 license:bsd-3
1121 license:asl2.0)))) ; all other 1122 license:asl2.0)))) ; all other
1123
1124(define-public speedtest-cli
1125 (package
1126 (name "speedtest-cli")
1127 (version "1.0.2")
1128 (source
1129 (origin
1130 (method url-fetch)
1131 (uri (string-append
1132 "https://github.com/sivel/speedtest-cli/archive/v" version ".tar.gz"))
1133 (file-name (string-append name "-" version ".tar.gz"))
1134 (sha256
1135 (base32
1136 "1ir9fqwr7cl9kfq7dgh9vkydkwf59wsx0cwbzbffw8i313xhzxa1"))))
1137 (build-system python-build-system)
1138 (home-page "https://github.com/sivel/speedtest-cli")
1139 (synopsis "Internet bandwidth tester")
1140 (description
1141 "Command line interface for testing internet bandwidth using
1142speedtest.net.")
1143 (license license:asl2.0)))
diff --git a/gnu/packages/openstack.scm b/gnu/packages/openstack.scm
index e2672668d80..51566b65e30 100644
--- a/gnu/packages/openstack.scm
+++ b/gnu/packages/openstack.scm
@@ -19,6 +19,7 @@
19;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. 19;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
20 20
21(define-module (gnu packages openstack) 21(define-module (gnu packages openstack)
22 #:use-module (gnu packages gnupg)
22 #:use-module (gnu packages python) 23 #:use-module (gnu packages python)
23 #:use-module (gnu packages ssh) 24 #:use-module (gnu packages ssh)
24 #:use-module (gnu packages tls) 25 #:use-module (gnu packages tls)
@@ -64,10 +65,16 @@
64To do this Bandit processes each file, builds an AST from it, and runs 65To do this Bandit processes each file, builds an AST from it, and runs
65appropriate plugins against the AST nodes. Once Bandit has finished scanning 66appropriate plugins against the AST nodes. Once Bandit has finished scanning
66all the files it generates a report.") 67all the files it generates a report.")
68 (properties `((python2-variant . ,(delay python2-bandit))))
67 (license asl2.0))) 69 (license asl2.0)))
68 70
69(define-public python2-bandit 71(define-public python2-bandit
70 (package-with-python2 python-bandit)) 72 (package (inherit (package-with-python2
73 (strip-python2-variant python-bandit)))
74 (arguments
75 `(#:python ,python-2
76 ;; FIXME: 'subunit.run discover: error: no such option: --list'
77 #:tests? #f))))
71 78
72(define-public python-debtcollector 79(define-public python-debtcollector
73 (package 80 (package
@@ -81,6 +88,8 @@ all the files it generates a report.")
81 (base32 88 (base32
82 "0g4dfskaiy47rhsh4gh66l5vmdsrgq0qk68pl3ix1cj3ffvfndzv")))) 89 "0g4dfskaiy47rhsh4gh66l5vmdsrgq0qk68pl3ix1cj3ffvfndzv"))))
83 (build-system python-build-system) 90 (build-system python-build-system)
91 (arguments
92 '(#:tests? #f)) ;FIXME: Requires packaging python-doc8.
84 (propagated-inputs 93 (propagated-inputs
85 `(("python-six" ,python-six) 94 `(("python-six" ,python-six)
86 ("python-wrapt" ,python-wrapt))) 95 ("python-wrapt" ,python-wrapt)))
@@ -113,6 +122,9 @@ manner.")
113 (base32 122 (base32
114 "1a310k3dv04jg7zvmk37h2ql7y9kf4hvdxb74bjlwdxgmy6h4wap")))) 123 "1a310k3dv04jg7zvmk37h2ql7y9kf4hvdxb74bjlwdxgmy6h4wap"))))
115 (build-system python-build-system) 124 (build-system python-build-system)
125 (arguments
126 ;; TODO: Requires unpackaged 'eventlet'.
127 '(#:tests? #f))
116 (propagated-inputs 128 (propagated-inputs
117 `(("python-flake8-2.2.4" ,python-flake8-2.2.4) 129 `(("python-flake8-2.2.4" ,python-flake8-2.2.4)
118 ("python-mccabe-0.2.1" ,python-mccabe-0.2.1) 130 ("python-mccabe-0.2.1" ,python-mccabe-0.2.1)
@@ -146,9 +158,14 @@ guidelines}.")
146 (base32 158 (base32
147 "0njmh40i1lg5mzn9hc2ax83adj6dli455j6xifilrw27c4wlkjzx")))) 159 "0njmh40i1lg5mzn9hc2ax83adj6dli455j6xifilrw27c4wlkjzx"))))
148 (build-system python-build-system) 160 (build-system python-build-system)
161 (arguments
162 ;; TODO: Resolve dependency cycle and re-enable.
163 '(#:tests? #f))
149 (native-inputs 164 (native-inputs
150 `(("python-fixtures" ,python-fixtures) 165 `(("python-fixtures" ,python-fixtures)
166 ; TODO re-add ("python-oslosphinx" ,python-oslosphinx)
151 ("python-pbr" ,python-pbr) 167 ("python-pbr" ,python-pbr)
168 ("python-sphinx" ,python-sphinx)
152 ("python-testtools" ,python-testtools))) 169 ("python-testtools" ,python-testtools)))
153 (home-page "http://www.openstack.org/") 170 (home-page "http://www.openstack.org/")
154 (synopsis "Mock object framework for Python") 171 (synopsis "Mock object framework for Python")
@@ -234,14 +251,14 @@ tested on Python version 3.2, 2.7 and 2.6.")
234(define-public python-requests-mock 251(define-public python-requests-mock
235 (package 252 (package
236 (name "python-requests-mock") 253 (name "python-requests-mock")
237 (version "1.0.0") 254 (version "1.3.0")
238 (source 255 (source
239 (origin 256 (origin
240 (method url-fetch) 257 (method url-fetch)
241 (uri (pypi-uri "requests-mock" version)) 258 (uri (pypi-uri "requests-mock" version))
242 (sha256 259 (sha256
243 (base32 260 (base32
244 "0gcjjwsckhqixyffflc54i59x41jnbb37bli077vabii1bjmkin6")))) 261 "0jr997dvk6zbmhvbpcv3rajrgag69mcsm1ai3w3rgk2jdh6rg1mx"))))
245 (build-system python-build-system) 262 (build-system python-build-system)
246 (propagated-inputs 263 (propagated-inputs
247 `(("python-requests" ,python-requests) 264 `(("python-requests" ,python-requests)
@@ -260,10 +277,16 @@ tested on Python version 3.2, 2.7 and 2.6.")
260 (description 277 (description
261 "This module provides a building block to stub out the HTTP requests 278 "This module provides a building block to stub out the HTTP requests
262portions of your testing code.") 279portions of your testing code.")
280 (properties `((python2-variant . ,(delay python2-requests-mock))))
263 (license asl2.0))) 281 (license asl2.0)))
264 282
265(define-public python2-requests-mock 283(define-public python2-requests-mock
266 (package-with-python2 python-requests-mock)) 284 (package (inherit (package-with-python2
285 (strip-python2-variant python-requests-mock)))
286 (arguments
287 `(#:python ,python-2
288 ;; FIXME: 'subunit.run discover: error: no such option: --list'
289 #:tests? #f))))
267 290
268(define-public python-stevedore 291(define-public python-stevedore
269 (package 292 (package
@@ -282,10 +305,13 @@ portions of your testing code.")
282 (native-inputs 305 (native-inputs
283 `(("python-pbr" ,python-pbr) 306 `(("python-pbr" ,python-pbr)
284 ;; Tests 307 ;; Tests
308 ("python-discover" ,python-discover)
285 ("python-docutils" ,python-docutils) 309 ("python-docutils" ,python-docutils)
286 ("python-mock" ,python-mock) 310 ("python-mock" ,python-mock)
311 ("python-oslosphinx" ,python-oslosphinx)
287 ("python-oslotest" ,python-oslotest) 312 ("python-oslotest" ,python-oslotest)
288 ("python-sphinx" ,python-sphinx))) 313 ("python-sphinx" ,python-sphinx)
314 ("python-testrepository" ,python-testrepository)))
289 (home-page "https://github.com/dreamhost/stevedore") 315 (home-page "https://github.com/dreamhost/stevedore")
290 (synopsis "Manage dynamic plugins for Python applications") 316 (synopsis "Manage dynamic plugins for Python applications")
291 (description 317 (description
@@ -297,10 +323,16 @@ mechanism by building on top of setuptools entry points. The code for managing
297entry points tends to be repetitive, though, so stevedore provides manager 323entry points tends to be repetitive, though, so stevedore provides manager
298classes for implementing common patterns for using dynamically loaded 324classes for implementing common patterns for using dynamically loaded
299extensions.") 325extensions.")
326 (properties `((python2-variant . ,(delay python2-stevedore))))
300 (license asl2.0))) 327 (license asl2.0)))
301 328
302(define-public python2-stevedore 329(define-public python2-stevedore
303 (package-with-python2 python-stevedore)) 330 (package (inherit (package-with-python2
331 (strip-python2-variant python-stevedore)))
332 (arguments
333 `(#:python ,python-2
334 ;; FIXME: 'subunit.run discover: error: no such option: --list'
335 #:tests? #f))))
304 336
305(define-public python-tempest-lib 337(define-public python-tempest-lib
306 (package 338 (package
@@ -315,7 +347,8 @@ extensions.")
315 "1cpp2vwmawpd29hjsklsps181lq2ah91cl412qvpnz228nf9sqn5")))) 347 "1cpp2vwmawpd29hjsklsps181lq2ah91cl412qvpnz228nf9sqn5"))))
316 (build-system python-build-system) 348 (build-system python-build-system)
317 (arguments 349 (arguments
318 `(#:phases 350 `(#:tests? #f ; FIXME: Requires oslo.log >= 1.14.0.
351 #:phases
319 (modify-phases %standard-phases 352 (modify-phases %standard-phases
320 (add-before 353 (add-before
321 'check 'pre-check 354 'check 'pre-check
@@ -362,6 +395,8 @@ common features used in Tempest.")
362 (base32 395 (base32
363 "13r778jfb0fhna37c2pd1f2xipnsbd7zli7qhn96acrzymrwj5k1")))) 396 "13r778jfb0fhna37c2pd1f2xipnsbd7zli7qhn96acrzymrwj5k1"))))
364 (build-system python-build-system) 397 (build-system python-build-system)
398 (arguments
399 '(#:tests? #f)) ; FIXME: Requires packaging python-argparse.
365 (propagated-inputs 400 (propagated-inputs
366 `(("python-netaddr" ,python-netaddr) 401 `(("python-netaddr" ,python-netaddr)
367 ("python-six" ,python-six) 402 ("python-six" ,python-six)
@@ -395,11 +430,19 @@ common features used in Tempest.")
395 (base32 430 (base32
396 "0kvha0rs9295njyl2z6n6zm5dapi5mrl5zwjm0m6ldqrvccyf8c3")))) 431 "0kvha0rs9295njyl2z6n6zm5dapi5mrl5zwjm0m6ldqrvccyf8c3"))))
397 (build-system python-build-system) 432 (build-system python-build-system)
433 (arguments
434 '(#:tests? #f)) ; FIXME: Requires python-mock >= 1.2.
398 (native-inputs 435 (native-inputs
399 `(("python-babel" ,python-babel) 436 `(("python-babel" ,python-babel)
400 ("python-pbr" ,python-pbr) 437 ("python-pbr" ,python-pbr)
401 ;; Tests. 438 ;; Tests.
402 ("python-oslotest" ,python-oslotest))) 439 ("python-coverage" ,python-coverage)
440 ("python-hacking" ,python-hacking)
441 ("python-mock" ,python-mock)
442 ("python-os-client-config" ,python-os-client-config)
443 ("python-oslotest" ,python-oslotest)
444 ("python-oslosphinx" ,python-oslosphinx)
445 ("python-sphinx" ,python-sphinx)))
403 (home-page "http://launchpad.net/oslo") 446 (home-page "http://launchpad.net/oslo")
404 (synopsis "Oslo context library") 447 (synopsis "Oslo context library")
405 (description 448 (description
@@ -423,6 +466,8 @@ pipeline and used by various modules such as logging.")
423 (base32 466 (base32
424 "0bpb1c20sm8my650gl824nzaip83bfn8hr91s65k5ncmyh8hb6pl")))) 467 "0bpb1c20sm8my650gl824nzaip83bfn8hr91s65k5ncmyh8hb6pl"))))
425 (build-system python-build-system) 468 (build-system python-build-system)
469 (arguments
470 '(#:tests? #f)) ; FIXME: Circular dependency on python-oslo.config.
426 (propagated-inputs 471 (propagated-inputs
427 `(("python-babel" ,python-babel) 472 `(("python-babel" ,python-babel)
428 ("python-six" ,python-six))) 473 ("python-six" ,python-six)))
@@ -459,6 +504,8 @@ in an application or library.")
459 (base32 504 (base32
460 "1fhy6yvbd565nv4x4i3ppyrlbmz3yy9d0xsvw5nkqsa7g43nmf8z")))) 505 "1fhy6yvbd565nv4x4i3ppyrlbmz3yy9d0xsvw5nkqsa7g43nmf8z"))))
461 (build-system python-build-system) 506 (build-system python-build-system)
507 (arguments
508 '(#:tests? #f)) ; FIXME: Requires oslo.utils >= 3.2.0.
462 (propagated-inputs 509 (propagated-inputs
463 `(("python-debtcollector" ,python-debtcollector) 510 `(("python-debtcollector" ,python-debtcollector)
464 ("python-oslo.config" ,python-oslo.config) 511 ("python-oslo.config" ,python-oslo.config)
@@ -496,6 +543,8 @@ handlers and support for context specific logging (like resource id’s etc).")
496 (base32 543 (base32
497 "00s03krhf833gs76aw5ns32w9m1i4hx6x6d9g82m0j5wyqk0sci4")))) 544 "00s03krhf833gs76aw5ns32w9m1i4hx6x6d9g82m0j5wyqk0sci4"))))
498 (build-system python-build-system) 545 (build-system python-build-system)
546 (arguments
547 '(#:tests? #f)) ; FIXME: Requires python-oslo.utils >= 3.2.0.
499 (propagated-inputs 548 (propagated-inputs
500 `(("python-iso8601" ,python-iso8601) 549 `(("python-iso8601" ,python-iso8601)
501 ("python-netaddr" ,python-netaddr) 550 ("python-netaddr" ,python-netaddr)
@@ -520,18 +569,74 @@ in transmittable and storable formats, such as JSON and MessagePack.")
520(define-public python2-oslo.serialization 569(define-public python2-oslo.serialization
521 (package-with-python2 python-oslo.serialization)) 570 (package-with-python2 python-oslo.serialization))
522 571
572(define-public python-reno
573 (package
574 (name "python-reno")
575 (version "2.0.3")
576 (source
577 (origin
578 (method url-fetch)
579 (uri (pypi-uri "reno" version))
580 (sha256
581 (base32 "1i2wnn5fnm3jm5774pahg000q0lma5i913hml91bbbm2mybphndd"))))
582 (build-system python-build-system)
583 (arguments
584 `(#:phases
585 (modify-phases %standard-phases
586 (add-before 'check 'init-git
587 (lambda _
588 ;; reno expects a git repo
589 (zero? (system* "git" "init")))))))
590 (propagated-inputs
591 `(("python-babel" ,python-babel)
592 ("python-dulwich" ,python-dulwich)
593 ("python-pyyaml" ,python-pyyaml)
594 ("python-six" ,python-six)))
595 (native-inputs
596 `(("python-testtools" ,python-testtools)
597 ("python-pbr" ,python-pbr)
598 ("python-testscenarios" ,python-testscenarios)
599 ("python-testrepository" ,python-testrepository)
600 ("python-mock" ,python-mock)
601 ("python-oslotest" ,python-oslotest)
602 ("gnupg" ,gnupg)
603 ("git" ,git)))
604 (home-page "http://docs.openstack.org/developer/reno/")
605 (synopsis "Release notes manager")
606 (description "Reno is a tool for storing release notes in a git repository
607and building documentation from them.")
608 (properties `((python2-variant . ,(delay python2-reno))))
609 (license asl2.0)))
610
611(define-public python2-reno
612 (package (inherit (package-with-python2
613 (strip-python2-variant python-reno)))
614 (arguments
615 `(#:python ,python-2
616 ;; FIXME: 'subunit.run discover: error: no such option: --list'
617 #:tests? #f))))
618
523(define-public python-oslosphinx 619(define-public python-oslosphinx
524 (package 620 (package
525 (name "python-oslosphinx") 621 (name "python-oslosphinx")
526 (version "4.3.0") 622 (version "4.10.0")
527 (source 623 (source
528 (origin 624 (origin
529 (method url-fetch) 625 (method url-fetch)
530 (uri (pypi-uri "oslosphinx" version)) 626 (uri (pypi-uri "oslosphinx" version))
531 (sha256 627 (sha256
532 (base32 628 (base32
533 "0cz8ym4i1n4rgljlqhyhfkpgdmid7nkb909k8r8nk186m9cmpla2")))) 629 "09mxqyabi68f3s3arvdhlhq0mn38vf74jbsfcg84151hcj6czhnl"))))
534 (build-system python-build-system) 630 (build-system python-build-system)
631 (arguments
632 `(#:phases
633 (modify-phases %standard-phases
634 (replace 'check
635 (lambda _
636 ;; Note: Upstream tests would have also built the release notes.
637 ;; That only would work if we were in a git checkout.
638 ;; Therefore, we don't do it here.
639 (zero? (system* "python" "setup.py" "build_sphinx")))))))
535 (propagated-inputs 640 (propagated-inputs
536 `(("python-requests" ,python-requests))) 641 `(("python-requests" ,python-requests)))
537 (native-inputs 642 (native-inputs
@@ -581,10 +686,16 @@ from the OpenStack project.")
581 (description 686 (description
582 "The Oslo Test framework provides common fixtures, support for debugging, 687 "The Oslo Test framework provides common fixtures, support for debugging,
583and better support for mocking results.") 688and better support for mocking results.")
689 (properties `((python2-variant . ,(delay python2-oslotest))))
584 (license asl2.0))) 690 (license asl2.0)))
585 691
586(define-public python2-oslotest 692(define-public python2-oslotest
587 (package-with-python2 python-oslotest)) 693 (package (inherit (package-with-python2
694 (strip-python2-variant python-oslotest)))
695 (arguments
696 `(#:python ,python-2
697 ;; FIXME: 'subunit.run discover: error: no such option: --list'
698 #:tests? #f))))
588 699
589(define-public python-oslo.utils 700(define-public python-oslo.utils
590 (package 701 (package
@@ -603,6 +714,8 @@ and better support for mocking results.")
603 ;; phase. 714 ;; phase.
604 (delete-file "oslo_utils/tests/test_netutils.py"))))) 715 (delete-file "oslo_utils/tests/test_netutils.py")))))
605 (build-system python-build-system) 716 (build-system python-build-system)
717 (arguments
718 '(#:tests? #f)) ; FIXME: Requires oslo.config >= 2.7.0.
606 (propagated-inputs 719 (propagated-inputs
607 `(("python-debtcollector" ,python-debtcollector) 720 `(("python-debtcollector" ,python-debtcollector)
608 ("python-oslo.i18n" ,python-oslo.i18n) 721 ("python-oslo.i18n" ,python-oslo.i18n)
@@ -616,6 +729,8 @@ and better support for mocking results.")
616 `(("python-babel" ,python-babel) 729 `(("python-babel" ,python-babel)
617 ("python-pbr" ,python-pbr) 730 ("python-pbr" ,python-pbr)
618 ;; Tests. 731 ;; Tests.
732 ("python-bandit" ,python-bandit)
733 ("python-oslo.config" ,python-oslo.config)
619 ("python-oslotest" ,python-oslotest) 734 ("python-oslotest" ,python-oslotest)
620 ("python-mock" ,python-mock) 735 ("python-mock" ,python-mock)
621 ("python-mox3" ,python-mox3) 736 ("python-mox3" ,python-mox3)
@@ -643,6 +758,8 @@ handling.")
643 (base32 758 (base32
644 "1w4csvkah67rfpxylxnvs2s3594i0f9isy8pf4gnsqs5zirvjaa4")))) 759 "1w4csvkah67rfpxylxnvs2s3594i0f9isy8pf4gnsqs5zirvjaa4"))))
645 (build-system python-build-system) 760 (build-system python-build-system)
761 (arguments
762 '(#:tests? #f)) ; FIXME: Many tests are failing.
646 (native-inputs 763 (native-inputs
647 `(("python-sphinx" ,python-sphinx) 764 `(("python-sphinx" ,python-sphinx)
648 ;; and some packages for the tests 765 ;; and some packages for the tests
@@ -749,6 +866,10 @@ permanence.")
749(define-public python2-swiftclient 866(define-public python2-swiftclient
750 (let ((swiftclient (package-with-python2 python-swiftclient))) 867 (let ((swiftclient (package-with-python2 python-swiftclient)))
751 (package (inherit swiftclient) 868 (package (inherit swiftclient)
869 (arguments
870 `(#:python ,python-2
871 ;; FIXME: subunit.run discover: error: no such option: --list
872 #:tests? #f))
752 (propagated-inputs 873 (propagated-inputs
753 `(("python2-futures" ,python2-futures) 874 `(("python2-futures" ,python2-futures)
754 ("python2-requests" ,python2-requests) 875 ("python2-requests" ,python2-requests)
diff --git a/gnu/packages/package-management.scm b/gnu/packages/package-management.scm
index 8291740998b..c608f397dc5 100644
--- a/gnu/packages/package-management.scm
+++ b/gnu/packages/package-management.scm
@@ -219,9 +219,9 @@ the Nix package manager.")
219 ;; 219 ;;
220 ;; Note: use a very short commit id; with a longer one, the limit on 220 ;; Note: use a very short commit id; with a longer one, the limit on
221 ;; hash-bang lines would be exceeded while running the tests. 221 ;; hash-bang lines would be exceeded while running the tests.
222 (let ((commit "d9da3a757d3081403081577c4e07763c9b809043")) 222 (let ((commit "1162418ee88f155f6b14fd8926479c2176e40e76"))
223 (package (inherit guix-0.12.0) 223 (package (inherit guix-0.12.0)
224 (version (string-append "0.12.0-4." (string-take commit 4))) 224 (version (string-append "0.12.0-5." (string-take commit 4)))
225 (source (origin 225 (source (origin
226 (method git-fetch) 226 (method git-fetch)
227 (uri (git-reference 227 (uri (git-reference
@@ -231,7 +231,7 @@ the Nix package manager.")
231 (commit commit))) 231 (commit commit)))
232 (sha256 232 (sha256
233 (base32 233 (base32
234 "17w9jdzm3lvfbchx7qrlkczp2jsfsi6v8cpfqh290cip5gxgz9bn")) 234 "16pxqbywhayazdgg9l19frigncmyq20j5fvaq4zgvm0iidndhfja"))
235 (file-name (string-append "guix-" version "-checkout")))) 235 (file-name (string-append "guix-" version "-checkout"))))
236 (arguments 236 (arguments
237 (substitute-keyword-arguments (package-arguments guix-0.12.0) 237 (substitute-keyword-arguments (package-arguments guix-0.12.0)
@@ -445,13 +445,13 @@ transactions from C or Python.")
445(define-public diffoscope 445(define-public diffoscope
446 (package 446 (package
447 (name "diffoscope") 447 (name "diffoscope")
448 (version "63") 448 (version "77")
449 (source (origin 449 (source (origin
450 (method url-fetch) 450 (method url-fetch)
451 (uri (pypi-uri name version)) 451 (uri (pypi-uri name version))
452 (sha256 452 (sha256
453 (base32 453 (base32
454 "12q5d2nszql1g4jf2ss863v0wpvvhrkaivqzhy6af9m9zwvw0p0k")))) 454 "0wrb6pl88611frxj19kq3vikhbld40fy1ncrskb1iayxsmbfcbn9"))))
455 (build-system python-build-system) 455 (build-system python-build-system)
456 (arguments 456 (arguments
457 `(#:phases (modify-phases %standard-phases 457 `(#:phases (modify-phases %standard-phases
@@ -464,12 +464,7 @@ transactions from C or Python.")
464 (("'python-magic',") "")))) 464 (("'python-magic',") ""))))
465 (add-after 'unpack 'embed-tool-references 465 (add-after 'unpack 'embed-tool-references
466 (lambda* (#:key inputs #:allow-other-keys) 466 (lambda* (#:key inputs #:allow-other-keys)
467 (substitute* "diffoscope/difference.py" 467 (substitute* "diffoscope/comparators/utils/compare.py"
468 (("@tool_required\\('colordiff'\\)") "")
469 (("\\[\"colordiff\"")
470 (string-append "[\"" (which "colordiff") "\"")))
471 (substitute* "diffoscope/comparators/utils.py"
472 (("@tool_required\\('xxd'\\)") "")
473 (("\\['xxd',") 468 (("\\['xxd',")
474 (string-append "['" (which "xxd") "',"))) 469 (string-append "['" (which "xxd") "',")))
475 (substitute* "diffoscope/comparators/elf.py" 470 (substitute* "diffoscope/comparators/elf.py"
diff --git a/gnu/packages/password-utils.scm b/gnu/packages/password-utils.scm
index 0a3b4b64e72..811173cae46 100644
--- a/gnu/packages/password-utils.scm
+++ b/gnu/packages/password-utils.scm
@@ -32,6 +32,7 @@
32 #:use-module (guix packages) 32 #:use-module (guix packages)
33 #:use-module (gnu packages) 33 #:use-module (gnu packages)
34 #:use-module (gnu packages admin) 34 #:use-module (gnu packages admin)
35 #:use-module (gnu packages aidc)
35 #:use-module (gnu packages base) 36 #:use-module (gnu packages base)
36 #:use-module (gnu packages compression) 37 #:use-module (gnu packages compression)
37 #:use-module (gnu packages glib) 38 #:use-module (gnu packages glib)
@@ -282,7 +283,7 @@ any X11 window.")
282(define-public password-store 283(define-public password-store
283 (package 284 (package
284 (name "password-store") 285 (name "password-store")
285 (version "1.6.5") 286 (version "1.7")
286 (source (origin 287 (source (origin
287 (method url-fetch) 288 (method url-fetch)
288 (uri 289 (uri
@@ -290,7 +291,7 @@ any X11 window.")
290 name "-" version ".tar.xz")) 291 name "-" version ".tar.xz"))
291 (sha256 292 (sha256
292 (base32 293 (base32
293 "05bk3lrp5jwg0v338lvylp7glpliydzz4jf5pjr6k3kagrv3jyik")))) 294 "002mw7j0m33bw483rllzhcf41wp3ixka8yma6kqrfaj57jyw66hn"))))
294 (build-system gnu-build-system) 295 (build-system gnu-build-system)
295 (arguments 296 (arguments
296 '(#:phases 297 '(#:phases
@@ -302,7 +303,7 @@ any X11 window.")
302 (let ((out (assoc-ref outputs "out")) 303 (let ((out (assoc-ref outputs "out"))
303 (path (map (lambda (pkg) 304 (path (map (lambda (pkg)
304 (string-append (assoc-ref inputs pkg) "/bin")) 305 (string-append (assoc-ref inputs pkg) "/bin"))
305 '("coreutils" "getopt" "git" "gnupg" "pwgen" 306 '("coreutils" "getopt" "git" "gnupg" "qrencode"
306 "sed" "tree" "which" "xclip")))) 307 "sed" "tree" "which" "xclip"))))
307 (wrap-program (string-append out "/bin/pass") 308 (wrap-program (string-append out "/bin/pass")
308 `("PATH" ":" prefix (,(string-join path ":")))) 309 `("PATH" ":" prefix (,(string-join path ":"))))
@@ -325,7 +326,7 @@ any X11 window.")
325 `(("getopt" ,util-linux) 326 `(("getopt" ,util-linux)
326 ("git" ,git) 327 ("git" ,git)
327 ("gnupg" ,gnupg) 328 ("gnupg" ,gnupg)
328 ("pwgen" ,pwgen) 329 ("qrencode" ,qrencode)
329 ("sed" ,sed) 330 ("sed" ,sed)
330 ("tree" ,tree) 331 ("tree" ,tree)
331 ("which" ,which) 332 ("which" ,which)
diff --git a/gnu/packages/patches/arb-ldconfig.patch b/gnu/packages/patches/arb-ldconfig.patch
deleted file mode 100644
index 478ec5a6f01..00000000000
--- a/gnu/packages/patches/arb-ldconfig.patch
+++ /dev/null
@@ -1,22 +0,0 @@
1diff -u -r arb-2.8.1.orig/configure arb-2.8.1/configure
2--- arb-2.8.1.orig/configure 2015-12-31 17:30:01.000000000 +0100
3+++ arb-2.8.1/configure 2016-01-20 16:41:41.336726596 +0100
4@@ -647,6 +647,7 @@
5 echo "ARB_SHARED=$SHARED" >> Makefile
6 echo "ARB_LIB=$ARB_LIB" >> Makefile
7 echo "ARB_LIBNAME=$ARB_LIBNAME" >> Makefile
8+echo "ARB_MAJOR=$ARB_MAJOR" >> Makefile
9 echo "ARB_SOLIB=$ARB_SOLIB" >> Makefile
10 echo "EXEEXT=$EXEEXT" >> Makefile
11 echo "PREFIX=$PREFIX" >> Makefile
12diff -u -r arb-2.8.1.orig/Makefile.in arb-2.8.1/Makefile.in
13--- arb-2.8.1.orig/Makefile.in 2015-12-31 17:30:01.000000000 +0100
14+++ arb-2.8.1/Makefile.in 2016-01-20 16:30:32.575298517 +0100
15@@ -101,6 +101,7 @@
16 $(LDCONFIG) -n "$(CURDIR)"; \
17 fi
18 ln -sf "$(ARB_LIB)" "$(ARB_LIBNAME)"; \
19+ ln -sf "$(ARB_LIB)" "$(ARB_LIBNAME).$(ARB_MAJOR)"; \
20
21 libarb.a: $(OBJS) $(LIB_SOURCES) $(EXT_SOURCES) $(HEADERS) $(EXT_HEADERS) | build build/interfaces
22 $(AT)$(foreach ext, $(EXTENSIONS), $(foreach dir, $(patsubst $(ext)/%.h, %, $(wildcard $(ext)/*.h)), mkdir -p build/$(dir); BUILD_DIR=$(CURDIR)/build/$(dir); export BUILD_DIR; MOD_DIR=$(dir); export MOD_DIR; $(MAKE) -f $(CURDIR)/Makefile.subdirs -C $(ext)/$(dir) static || exit $$?;))
diff --git a/gnu/packages/patches/gnupg-2.1-fix-Y2038-test-failure.patch b/gnu/packages/patches/gnupg-2.1-fix-Y2038-test-failure.patch
new file mode 100644
index 00000000000..b3a198c4990
--- /dev/null
+++ b/gnu/packages/patches/gnupg-2.1-fix-Y2038-test-failure.patch
@@ -0,0 +1,67 @@
1Fix a Y2038 test failure on systems where time_t is a signed 32-bit value:
2
3https://bugs.gnupg.org/gnupg/issue2988
4
5Patch copied from upstream source repository:
6
7https://git.gnupg.org/cgi-bin/gitweb.cgi?p=gnupg.git;a=commit;h=de3838372ae3cdecbd83eea2c53c8e2656d93052
8
9From de3838372ae3cdecbd83eea2c53c8e2656d93052 Mon Sep 17 00:00:00 2001
10From: Justus Winter <justus@g10code.com>
11Date: Tue, 7 Mar 2017 12:18:59 +0100
12Subject: [PATCH] tests: Avoid overflowing signed 32 bit time_t.
13
14* tests/openpgp/quick-key-manipulation.scm: Use expiration times in
15the year 2038 instead of 2105 to avoid overflowing 32 bit time_t.
16time_t is used internally to parse the expiraton time from the iso
17timestamp.
18
19GnuPG-bug-id: 2988
20Signed-off-by: Justus Winter <justus@g10code.com>
21---
22 tests/openpgp/quick-key-manipulation.scm | 15 +++++++++++----
23 1 file changed, 11 insertions(+), 4 deletions(-)
24
25diff --git a/tests/openpgp/quick-key-manipulation.scm b/tests/openpgp/quick-key-manipulation.scm
26index 10f0bfe21..08ef62613 100755
27--- a/tests/openpgp/quick-key-manipulation.scm
28+++ b/tests/openpgp/quick-key-manipulation.scm
29@@ -125,8 +125,13 @@
30 (default default never)
31 (rsa "sign auth encr" "seconds=600") ;; GPGME uses this
32 (rsa "auth,encr" "2") ;; "without a letter, days is assumed"
33- (rsa "sign" "2105-01-01") ;; "last year GnuPG can represent is 2105"
34- (rsa "sign" "21050101T115500") ;; "last year GnuPG can represent is 2105"
35+ ;; Sadly, the timestamp is truncated by the use of time_t on
36+ ;; systems where time_t is a signed 32 bit value.
37+ (rsa "sign" "2038-01-01") ;; unix millennium
38+ (rsa "sign" "20380101T115500") ;; unix millennium
39+ ;; Once fixed, we can use later timestamps:
40+ ;; (rsa "sign" "2105-01-01") ;; "last year GnuPG can represent is 2105"
41+ ;; (rsa "sign" "21050101T115500") ;; "last year GnuPG can represent is 2105"
42 (rsa sign "2d")
43 (rsa1024 sign "2w")
44 (rsa2048 encr "2m")
45@@ -157,7 +162,8 @@
46 (lambda (subkey)
47 (assert (= 1 (:alg subkey)))
48 (assert (string-contains? (:cap subkey) "s"))
49- (assert (time-matches? 4260207600 ;; 2105-01-01
50+ (assert (time-matches? 2145916800 ;; 2038-01-01
51+ ;; 4260207600 ;; 2105-01-01
52 (string->number (:expire subkey))
53 ;; This is off by 12h, but I guess it just
54 ;; choses the middle of the day.
55@@ -165,7 +171,8 @@
56 (lambda (subkey)
57 (assert (= 1 (:alg subkey)))
58 (assert (string-contains? (:cap subkey) "s"))
59- (assert (time-matches? 4260254100 ;; UTC 2105-01-01 11:55:00
60+ (assert (time-matches? 2145959700 ;; UTC 2038-01-01 11:55:00
61+ ;; 4260254100 ;; UTC 2105-01-01 11:55:00
62 (string->number (:expire subkey))
63 (minutes->seconds 5))))
64 (lambda (subkey)
65--
662.12.0
67
diff --git a/gnu/packages/patches/gst-plugins-base-fix-test-on-32bit.patch b/gnu/packages/patches/gst-plugins-base-fix-test-on-32bit.patch
deleted file mode 100644
index 4c6c7ed06e8..00000000000
--- a/gnu/packages/patches/gst-plugins-base-fix-test-on-32bit.patch
+++ /dev/null
@@ -1,32 +0,0 @@
1This fixes a test failure on i686.
2
3Patch copied from upstream source repository:
4
5https://cgit.freedesktop.org/gstreamer/gst-plugins-base/commit/?id=5e2e111627871c566ffc6607eda8f4ef4699d040
6
7From 5e2e111627871c566ffc6607eda8f4ef4699d040 Mon Sep 17 00:00:00 2001
8From: =?UTF-8?q?Sebastian=20Dr=C3=B6ge?= <sebastian@centricular.com>
9Date: Thu, 2 Feb 2017 14:56:39 +0200
10Subject: [PATCH] multifdsink: Make sure to use a 64 bit integer for the
11 units-max property
12
13---
14 tests/check/elements/multifdsink.c | 2 +-
15 1 file changed, 1 insertion(+), 1 deletion(-)
16
17diff --git a/tests/check/elements/multifdsink.c b/tests/check/elements/multifdsink.c
18index af138cc92..951b1b9fa 100644
19--- a/tests/check/elements/multifdsink.c
20+++ b/tests/check/elements/multifdsink.c
21@@ -869,7 +869,7 @@ GST_START_TEST (test_client_kick)
22 gint i, initial_buffers = 3, num_buffers = 0;
23
24 sink = setup_multifdsink ();
25- g_object_set (sink, "units-max", initial_buffers, NULL);
26+ g_object_set (sink, "units-max", (gint64) initial_buffers, NULL);
27
28 fail_if (pipe (pfd1) == -1);
29 fail_if (pipe (pfd2) == -1);
30--
312.11.0
32
diff --git a/gnu/packages/patches/jacal-fix-texinfo.patch b/gnu/packages/patches/jacal-fix-texinfo.patch
new file mode 100644
index 00000000000..83e44a31640
--- /dev/null
+++ b/gnu/packages/patches/jacal-fix-texinfo.patch
@@ -0,0 +1,92 @@
1Fix the broken Texinfo in the Jacal package documentation
2
3--- jacal/jacal.texi,orig 2017-02-23 20:35:55.303980444 +0100
4+++ jacal/jacal.texi 2017-02-23 20:53:14.539024674 +0100
5@@ -343,7 +343,7 @@
6
7 With the standard input grammar, the precedence of @samp{-} as a prefix
8 behaves strangely. @code{a^-b*c} becomes @code{a^(-b*c)} while
9-@code{@result{a^b*c} (a^b)*c}.
10+@code{a^b*c @result{} (a^b)*c}.
11
12 Using @code{divide} to divide a polynomial by an integer does not work.
13
14@@ -675,8 +675,9 @@
15 e1: ---------
16 a
17 @end example
18+@end deffn
19
20-@deffnx Command suchthat var exp
21+@deffn Command suchthat var exp
22
23 If an expression rather than an equation is given to @code{suchthat}, it
24 is as though the equation @code{@var{exp}=0} was given.
25@@ -688,8 +689,9 @@
26 e2: ---------
27 a
28 @end example
29+@end deffn
30
31-@deffnx Operator | var exp_or_eqn
32+@deffn Operator | var exp_or_eqn
33
34 An alternative infix notation is also available for @code{suchthat}.
35
36@@ -857,8 +859,9 @@
37
38 Returns the degree of polynomial or equation @var{poly} in variable
39 @var{var}.
40+@end deffn
41
42-@deffnx Operator degree poly
43+@deffn Operator degree poly
44
45 Returns the total-degree, the degree of its highest degree monomial,
46 of polynomial or equation @var{poly}.
47@@ -1016,10 +1019,12 @@
48 Returns @var{poly1} reduced with respect to @var{poly2} (or @var{eqn})
49 and @var{var}. If @var{poly2} is univariate, the third argument is not
50 needed.
51+@end deffn
52
53-@deffnx Command mod poly1 n
54+@deffn Command mod poly1 n
55 Returns @var{poly1} with all the coefficients taken modulo @var{n}.
56-@deffnx Command mod poly1
57+@end deffn
58+@deffn Command mod poly1
59 Returns @var{poly1} with all the coefficients taken modulo the
60 current modulus.
61
62@@ -1220,8 +1225,9 @@
63 e1: -1 2 3 5
64 @end group
65 @end example
66+@end deffn
67
68-@deffnx Command factor polyratio
69+@deffn Command factor polyratio
70 Given a univariate ratio of polynomials @var{polyratio}, returns a
71 matrix of factors and exponents.
72
73@@ -2028,7 +2034,7 @@
74 formed from the pair-wise products of components of the inputs. For
75 example, for the input tensors @code{x[a,b]} and @code{y[c]}
76 @example
77-@result{z:tmult(x,y);} z[a,b,c] = x[a,b]*y[c]
78+z:tmult(x,y); @result{} z[a,b,c] = x[a,b]*y[c]
79 @end example
80
81 With an additional argument, @code{tmult} will produce the inner product
82@@ -2464,8 +2470,9 @@
83 If you do not wish to return to Jacal but really want to terminate the
84 session and return to the operating system, then after typing
85 @code{qed();}, type @code{(slib:exit)} or use @code{quit}.
86+@end deffn
87
88-@deffnx Command quit
89+@deffn Command quit
90 Exit directly from Jacal to the operating system. You will not be able
91 to continue your Jacal session.
92
diff --git a/gnu/packages/patches/kio-CVE-2017-6410.patch b/gnu/packages/patches/kio-CVE-2017-6410.patch
new file mode 100644
index 00000000000..748636f8067
--- /dev/null
+++ b/gnu/packages/patches/kio-CVE-2017-6410.patch
@@ -0,0 +1,53 @@
1Fix CVE-2017-6410, "Information Leak when accessing https when using a
2malicious PAC file":
3
4https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-6410
5https://www.kde.org/info/security/advisory-20170228-1.txt
6
7Patch copied from upstream source repository:
8
9https://cgit.kde.org/kio.git/commit/?id=f9d0cb47cf94e209f6171ac0e8d774e68156a6e4
10
11From f9d0cb47cf94e209f6171ac0e8d774e68156a6e4 Mon Sep 17 00:00:00 2001
12From: Albert Astals Cid <aacid@kde.org>
13Date: Tue, 28 Feb 2017 19:00:48 +0100
14Subject: Sanitize URLs before passing them to FindProxyForURL
15
16Remove user/password information
17For https: remove path and query
18
19Thanks to safebreach.com for reporting the problem
20
21CCMAIL: yoni.fridburg@safebreach.com
22CCMAIL: amit.klein@safebreach.com
23CCMAIL: itzik.kotler@safebreach.com
24---
25 src/kpac/script.cpp | 11 +++++++++--
26 1 file changed, 9 insertions(+), 2 deletions(-)
27
28diff --git a/src/kpac/script.cpp b/src/kpac/script.cpp
29index a0235f7..2485c54 100644
30--- a/src/kpac/script.cpp
31+++ b/src/kpac/script.cpp
32@@ -754,9 +754,16 @@ QString Script::evaluate(const QUrl &url)
33 }
34 }
35
36+ QUrl cleanUrl = url;
37+ cleanUrl.setUserInfo(QString());
38+ if (cleanUrl.scheme() == QLatin1String("https")) {
39+ cleanUrl.setPath(QString());
40+ cleanUrl.setQuery(QString());
41+ }
42+
43 QScriptValueList args;
44- args << url.url();
45- args << url.host();
46+ args << cleanUrl.url();
47+ args << cleanUrl.host();
48
49 QScriptValue result = func.call(QScriptValue(), args);
50 if (result.isError()) {
51--
52cgit v0.11.2
53
diff --git a/gnu/packages/patches/libssh-0.6.5-CVE-2016-0739.patch b/gnu/packages/patches/libssh-0.6.5-CVE-2016-0739.patch
deleted file mode 100644
index a5fdd7ffff8..00000000000
--- a/gnu/packages/patches/libssh-0.6.5-CVE-2016-0739.patch
+++ /dev/null
@@ -1,77 +0,0 @@
1Fix CVE-2016-0739 (Weak Diffie-Hellman secret generation in
2dh_generate_x() and dh_generate_y()).
3
4"Due to a byte/bit confusion, the DH secret was too short. This file was
5completely reworked and will be commited in a future version."
6Source:
7https://git.libssh.org/projects/libssh.git/commit/?id=f8d0026c65fc8a55748ae481758e2cf376c26c86
8
9This patch was created by upstream for libssh-0.7.3, but applied without
10modification to libssh-0.6.3 by Debian. In Guix, we apply it without
11modification to libssh-0.6.5.
12
13References:
14https://bugzilla.redhat.com/show_bug.cgi?id=CVE-2016-0739
15https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-0739
16https://security-tracker.debian.org/tracker/CVE-2016-0739
17
18---
19 src/dh.c | 22 +++++++++++++++++-----
20 1 file changed, 17 insertions(+), 5 deletions(-)
21
22diff --git a/src/dh.c b/src/dh.c
23index e489a1d..d27b66e 100644
24--- a/src/dh.c
25+++ b/src/dh.c
26@@ -227,15 +227,21 @@ void ssh_crypto_finalize(void) {
27 }
28
29 int dh_generate_x(ssh_session session) {
30+ int keysize;
31+ if (session->next_crypto->kex_type == SSH_KEX_DH_GROUP1_SHA1) {
32+ keysize = 1023;
33+ } else {
34+ keysize = 2047;
35+ }
36 session->next_crypto->x = bignum_new();
37 if (session->next_crypto->x == NULL) {
38 return -1;
39 }
40
41 #ifdef HAVE_LIBGCRYPT
42- bignum_rand(session->next_crypto->x, 128);
43+ bignum_rand(session->next_crypto->x, keysize);
44 #elif defined HAVE_LIBCRYPTO
45- bignum_rand(session->next_crypto->x, 128, 0, -1);
46+ bignum_rand(session->next_crypto->x, keysize, -1, 0);
47 #endif
48
49 /* not harder than this */
50@@ -248,15 +254,21 @@ int dh_generate_x(ssh_session session) {
51
52 /* used by server */
53 int dh_generate_y(ssh_session session) {
54- session->next_crypto->y = bignum_new();
55+ int keysize;
56+ if (session->next_crypto->kex_type == SSH_KEX_DH_GROUP1_SHA1) {
57+ keysize = 1023;
58+ } else {
59+ keysize = 2047;
60+ }
61+ session->next_crypto->y = bignum_new();
62 if (session->next_crypto->y == NULL) {
63 return -1;
64 }
65
66 #ifdef HAVE_LIBGCRYPT
67- bignum_rand(session->next_crypto->y, 128);
68+ bignum_rand(session->next_crypto->y, keysize);
69 #elif defined HAVE_LIBCRYPTO
70- bignum_rand(session->next_crypto->y, 128, 0, -1);
71+ bignum_rand(session->next_crypto->y, keysize, -1, 0);
72 #endif
73
74 /* not harder than this */
75--
76cgit v0.12
77
diff --git a/gnu/packages/patches/matplotlib-setupext-tk.patch b/gnu/packages/patches/matplotlib-setupext-tk.patch
deleted file mode 100644
index 37c3d686e0d..00000000000
--- a/gnu/packages/patches/matplotlib-setupext-tk.patch
+++ /dev/null
@@ -1,34 +0,0 @@
1Use 'pkg-config' instead of heuristics to find 'tk' flags.
2
3--- matplotlib-1.4.3/setupext.py.orig 2015-12-01 14:21:19.554417453 +0100
4+++ matplotlib-1.4.3/setupext.py 2015-12-02 10:39:47.282363530 +0100
5@@ -1457,7 +1457,7 @@
6 p = subprocess.Popen(
7 '. %s ; eval echo ${%s}' % (file, varname),
8 shell=True,
9- executable="/bin/sh",
10+ executable="sh",
11 stdout=subprocess.PIPE)
12 result = p.communicate()[0]
13 return result.decode('ascii')
14@@ -1601,8 +1601,19 @@
15 # of distros.
16
17 # Query Tcl/Tk system for library paths and version string
18+ def getoutput(s):
19+ ret = os.popen(s).read().strip()
20+ return ret
21 try:
22- tcl_lib_dir, tk_lib_dir, tk_ver = self.query_tcltk()
23+ pkg_config_libs = getoutput('pkg-config --libs-only-L tk').split()
24+ # drop '-L' part of strings
25+ pkg_config_libs = [s[2:] for s in pkg_config_libs]
26+ pkg_config_ver = getoutput('pkg-config --modversion tk')
27+ tk_ver = re.match(r"(\d+.\d+)[\d.]*", pkg_config_ver).group(1)
28+ tcl_lib_dir = next(s for s in pkg_config_libs
29+ if re.match(r".*-tcl-.*", s)) + '/tcl' + tk_ver
30+ tk_lib_dir = next(s for s in pkg_config_libs
31+ if re.match(r".*-tk-.*", s)) + '/tk' + tk_ver
32 except:
33 tk_ver = ''
34 result = self.hardcoded_tcl_config()
diff --git a/gnu/packages/patches/mupdf-CVE-2017-5896.patch b/gnu/packages/patches/mupdf-CVE-2017-5896.patch
new file mode 100644
index 00000000000..1537ecc8964
--- /dev/null
+++ b/gnu/packages/patches/mupdf-CVE-2017-5896.patch
@@ -0,0 +1,63 @@
1Fix CVE-2017-5896:
2
3https://bugs.ghostscript.com/show_bug.cgi?id=697515
4https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-5896
5http://www.openwall.com/lists/oss-security/2017/02/10/1
6https://security-tracker.debian.org/tracker/CVE-2017-5896
7https://blogs.gentoo.org/ago/2017/02/09/mupdf-use-after-free-in-fz_subsample_pixmap-pixmap-c/
8
9Patch lifted from upstream source repository:
10
11http://git.ghostscript.com/?p=mupdf.git;h=2c4e5867ee699b1081527bc6c6ea0e99a35a5c27
12
13From 2c4e5867ee699b1081527bc6c6ea0e99a35a5c27 Mon Sep 17 00:00:00 2001
14From: Robin Watts <Robin.Watts@artifex.com>
15Date: Thu, 9 Feb 2017 07:12:16 -0800
16Subject: [PATCH] bug 697515: Fix out of bounds read in fz_subsample_pixmap
17
18Pointer arithmetic for final special case was going wrong.
19---
20 source/fitz/pixmap.c | 6 ++++--
21 1 file changed, 4 insertions(+), 2 deletions(-)
22
23diff --git a/source/fitz/pixmap.c b/source/fitz/pixmap.c
24index a8317127..f1291dc2 100644
25--- a/source/fitz/pixmap.c
26+++ b/source/fitz/pixmap.c
27@@ -1104,6 +1104,7 @@ fz_subsample_pixmap_ARM(unsigned char *ptr, int w, int h, int f, int factor,
28 "@STACK:r1,<9>,factor,n,fwd,back,back2,fwd2,divX,back4,fwd4,fwd3,divY,back5,divXY\n"
29 "ldr r4, [r13,#4*22] @ r4 = divXY \n"
30 "ldr r5, [r13,#4*11] @ for (nn = n; nn > 0; n--) { \n"
31+ "ldr r8, [r13,#4*17] @ r8 = back4 \n"
32 "18: @ \n"
33 "mov r14,#0 @ r14= v = 0 \n"
34 "sub r5, r5, r1, LSL #8 @ for (xx = x; xx > 0; x--) { \n"
35@@ -1120,7 +1121,7 @@ fz_subsample_pixmap_ARM(unsigned char *ptr, int w, int h, int f, int factor,
36 "mul r14,r4, r14 @ r14= v *= divX \n"
37 "mov r14,r14,LSR #16 @ r14= v >>= 16 \n"
38 "strb r14,[r9], #1 @ *d++ = r14 \n"
39- "sub r0, r0, r8 @ s -= back2 \n"
40+ "sub r0, r0, r8 @ s -= back4 \n"
41 "subs r5, r5, #1 @ n-- \n"
42 "bgt 18b @ } \n"
43 "21: @ \n"
44@@ -1249,6 +1250,7 @@ fz_subsample_pixmap(fz_context *ctx, fz_pixmap *tile, int factor)
45 x += f;
46 if (x > 0)
47 {
48+ int back4 = x * n - 1;
49 div = x * y;
50 for (nn = n; nn > 0; nn--)
51 {
52@@ -1263,7 +1265,7 @@ fz_subsample_pixmap(fz_context *ctx, fz_pixmap *tile, int factor)
53 s -= back5;
54 }
55 *d++ = v / div;
56- s -= back2;
57+ s -= back4;
58 }
59 }
60 }
61--
622.12.0
63
diff --git a/gnu/packages/patches/mupdf-CVE-2017-5991.patch b/gnu/packages/patches/mupdf-CVE-2017-5991.patch
new file mode 100644
index 00000000000..1fa6dc34669
--- /dev/null
+++ b/gnu/packages/patches/mupdf-CVE-2017-5991.patch
@@ -0,0 +1,101 @@
1Fix CVE-2017-5991:
2
3https://bugs.ghostscript.com/show_bug.cgi?id=697500
4https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-5991
5https://security-tracker.debian.org/tracker/CVE-2017-5991
6
7Patch lifted from upstream source repository:
8
9http://git.ghostscript.com/?p=mupdf.git;h=1912de5f08e90af1d9d0a9791f58ba3afdb9d465
10
11From 1912de5f08e90af1d9d0a9791f58ba3afdb9d465 Mon Sep 17 00:00:00 2001
12From: Robin Watts <robin.watts@artifex.com>
13Date: Thu, 9 Feb 2017 15:49:15 +0000
14Subject: [PATCH] Bug 697500: Fix NULL ptr access.
15
16Cope better with errors during rendering - avoid letting the
17gstate stack get out of sync.
18
19This avoids us ever getting into the situation of popping
20a clip when we should be popping a mask or a group. This was
21causing an unexpected case in the painting.
22---
23 source/pdf/pdf-op-run.c | 26 ++++++++++++++++++--------
24 1 file changed, 18 insertions(+), 8 deletions(-)
25
26diff --git a/source/pdf/pdf-op-run.c b/source/pdf/pdf-op-run.c
27index a3ea895d..f1eac8d3 100644
28--- a/source/pdf/pdf-op-run.c
29+++ b/source/pdf/pdf-op-run.c
30@@ -1213,6 +1213,7 @@ pdf_run_xobject(fz_context *ctx, pdf_run_processor *proc, pdf_xobject *xobj, pdf
31 pdf_run_processor *pr = (pdf_run_processor *)proc;
32 pdf_gstate *gstate = NULL;
33 int oldtop = 0;
34+ int oldbot = -1;
35 fz_matrix local_transform = *transform;
36 softmask_save softmask = { NULL };
37 int gparent_save;
38@@ -1232,16 +1233,17 @@ pdf_run_xobject(fz_context *ctx, pdf_run_processor *proc, pdf_xobject *xobj, pdf
39 fz_var(cleanup_state);
40 fz_var(gstate);
41 fz_var(oldtop);
42+ fz_var(oldbot);
43
44 gparent_save = pr->gparent;
45 pr->gparent = pr->gtop;
46+ oldtop = pr->gtop;
47
48 fz_try(ctx)
49 {
50 pdf_gsave(ctx, pr);
51
52 gstate = pr->gstate + pr->gtop;
53- oldtop = pr->gtop;
54
55 pdf_xobject_bbox(ctx, xobj, &xobj_bbox);
56 pdf_xobject_matrix(ctx, xobj, &xobj_matrix);
57@@ -1302,12 +1304,25 @@ pdf_run_xobject(fz_context *ctx, pdf_run_processor *proc, pdf_xobject *xobj, pdf
58
59 doc = pdf_get_bound_document(ctx, xobj->obj);
60
61+ oldbot = pr->gbot;
62+ pr->gbot = pr->gtop;
63+
64 pdf_process_contents(ctx, (pdf_processor*)pr, doc, resources, xobj->obj, NULL);
65 }
66 fz_always(ctx)
67 {
68+ /* Undo any gstate mismatches due to the pdf_process_contents call */
69+ if (oldbot != -1)
70+ {
71+ while (pr->gtop > pr->gbot)
72+ {
73+ pdf_grestore(ctx, pr);
74+ }
75+ pr->gbot = oldbot;
76+ }
77+
78 if (cleanup_state >= 3)
79- pdf_grestore(ctx, pr); /* Remove the clippath */
80+ pdf_grestore(ctx, pr); /* Remove the state we pushed for the clippath */
81
82 /* wrap up transparency stacks */
83 if (transparency)
84@@ -1341,13 +1356,8 @@ pdf_run_xobject(fz_context *ctx, pdf_run_processor *proc, pdf_xobject *xobj, pdf
85 pr->gstate[pr->gparent].ctm = gparent_save_ctm;
86 pr->gparent = gparent_save;
87
88- if (gstate)
89- {
90- while (oldtop < pr->gtop)
91- pdf_grestore(ctx, pr);
92-
93+ while (oldtop < pr->gtop)
94 pdf_grestore(ctx, pr);
95- }
96
97 pdf_unmark_obj(ctx, xobj->obj);
98 }
99--
1002.12.0
101
diff --git a/gnu/packages/patches/nss-pkgconfig.patch b/gnu/packages/patches/nss-pkgconfig.patch
index e611f69beaa..a33e05fcf25 100644
--- a/gnu/packages/patches/nss-pkgconfig.patch
+++ b/gnu/packages/patches/nss-pkgconfig.patch
@@ -221,5 +221,5 @@ Later adapted to apply cleanly to nss-3.21.
221 221
222 RELEASE = nss 222 RELEASE = nss
223 223
224-DIRS = coreconf lib cmd external_tests 224-DIRS = coreconf lib cmd gtests
225+DIRS = coreconf lib cmd external_tests config 225+DIRS = coreconf lib cmd gtests config
diff --git a/gnu/packages/patches/pcre2-CVE-2016-3191.patch b/gnu/packages/patches/pcre2-CVE-2016-3191.patch
deleted file mode 100644
index 80f9d3d4f14..00000000000
--- a/gnu/packages/patches/pcre2-CVE-2016-3191.patch
+++ /dev/null
@@ -1,179 +0,0 @@
1Fixes CVE-2016-3191 (remote execution of arbitrary code or denial of
2service (stack-based buffer overflow) via a crafted regular expression).
3
4See <https://bugzilla.redhat.com/show_bug.cgi?id=1311503>.
5
6This is svn r489 at <svn://vcs.exim.org/pcre2/code>, omitting the
7changes to 'testdata/testoutput8-16-4', which does not exist in the
8source tarball.
9
10git-svn-id: svn://vcs.exim.org/pcre2/code/trunk@489 6239d852-aaf2-0410-a92c-79f79f948069
11---
12 ChangeLog | 4 ++++
13 src/pcre2_compile.c | 16 ++++++++++++++--
14 testdata/testinput8 | 2 ++
15 testdata/testoutput8-16-2 | 3 +++
16 testdata/testoutput8-16-3 | 3 +++
17 testdata/testoutput8-16-4 | 3 +++
18 testdata/testoutput8-32-2 | 3 +++
19 testdata/testoutput8-32-3 | 3 +++
20 testdata/testoutput8-32-4 | 3 +++
21 testdata/testoutput8-8-2 | 3 +++
22 testdata/testoutput8-8-3 | 3 +++
23 testdata/testoutput8-8-4 | 3 +++
24 12 files changed, 47 insertions(+), 2 deletions(-)
25
26diff --git a/ChangeLog b/ChangeLog
27index 3ce0207..65e333e 100644
28--- a/ChangeLog
29+++ b/ChangeLog
30@@ -58,6 +58,10 @@ some head-scratching the next time this happens.
31 assertion, caused pcre2test to output a very large number of spaces when the
32 callout was taken, making the program appearing to loop.
33
34+12. A pattern that included (*ACCEPT) in the middle of a sufficiently deeply
35+nested set of parentheses of sufficient size caused an overflow of the
36+compiling workspace (which was diagnosed, but of course is not desirable).
37+
38
39 Version 10.21 12-January-2016
40 -----------------------------
41diff --git a/src/pcre2_compile.c b/src/pcre2_compile.c
42index e33d620..887fbfd 100644
43--- a/src/pcre2_compile.c
44+++ b/src/pcre2_compile.c
45@@ -5901,10 +5901,22 @@ for (;; ptr++)
46 goto FAILED;
47 }
48 cb->had_accept = TRUE;
49+
50+ /* In the first pass, just accumulate the length required;
51+ otherwise hitting (*ACCEPT) inside many nested parentheses can
52+ cause workspace overflow. */
53+
54 for (oc = cb->open_caps; oc != NULL; oc = oc->next)
55 {
56- *code++ = OP_CLOSE;
57- PUT2INC(code, 0, oc->number);
58+ if (lengthptr != NULL)
59+ {
60+ *lengthptr += CU2BYTES(1) + IMM2_SIZE;
61+ }
62+ else
63+ {
64+ *code++ = OP_CLOSE;
65+ PUT2INC(code, 0, oc->number);
66+ }
67 }
68 setverb = *code++ =
69 (cb->assert_depth > 0)? OP_ASSERT_ACCEPT : OP_ACCEPT;
70diff --git a/testdata/testinput8 b/testdata/testinput8
71index ca3b1b9..7e2a1f0 100644
72--- a/testdata/testinput8
73+++ b/testdata/testinput8
74@@ -182,4 +182,6 @@
75
76 /((?1)(?2)(?3)(?4)(?5)(?6)(?7)(?8)(?9)(?9)(?8)(?7)(?6)(?5)(?4)(?3)(?2)(?1)(?0)){2,}()()()()()()()()()/debug
77
78+/([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00](*ACCEPT)/
79+
80 # End of testinput8
81diff --git a/testdata/testoutput8-16-2 b/testdata/testoutput8-16-2
82index 05669bb..a5e8dec 100644
83--- a/testdata/testoutput8-16-2
84+++ b/testdata/testoutput8-16-2
85@@ -1027,4 +1027,7 @@ Capturing subpattern count = 10
86 May match empty string
87 Subject length lower bound = 0
88
89+/([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00](*ACCEPT)/
90+Failed: error 186 at offset 490: regular expression is too complicated
91+
92 # End of testinput8
93diff --git a/testdata/testoutput8-16-3 b/testdata/testoutput8-16-3
94index 31884e1..36133b3 100644
95--- a/testdata/testoutput8-16-3
96+++ b/testdata/testoutput8-16-3
97@@ -1023,4 +1023,7 @@ Capturing subpattern count = 10
98 May match empty string
99 Subject length lower bound = 0
100
101+/([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00](*ACCEPT)/
102+Failed: error 114 at offset 509: missing closing parenthesis
103+
104 # End of testinput8
105diff --git a/testdata/testoutput8-32-2 b/testdata/testoutput8-32-2
106index babd0c7..99c4fad 100644
107--- a/testdata/testoutput8-32-2
108+++ b/testdata/testoutput8-32-2
109@@ -1023,4 +1023,7 @@ Capturing subpattern count = 10
110 May match empty string
111 Subject length lower bound = 0
112
113+/([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00](*ACCEPT)/
114+Failed: error 114 at offset 509: missing closing parenthesis
115+
116 # End of testinput8
117diff --git a/testdata/testoutput8-32-3 b/testdata/testoutput8-32-3
118index babd0c7..99c4fad 100644
119--- a/testdata/testoutput8-32-3
120+++ b/testdata/testoutput8-32-3
121@@ -1023,4 +1023,7 @@ Capturing subpattern count = 10
122 May match empty string
123 Subject length lower bound = 0
124
125+/([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00](*ACCEPT)/
126+Failed: error 114 at offset 509: missing closing parenthesis
127+
128 # End of testinput8
129diff --git a/testdata/testoutput8-32-4 b/testdata/testoutput8-32-4
130index babd0c7..99c4fad 100644
131--- a/testdata/testoutput8-32-4
132+++ b/testdata/testoutput8-32-4
133@@ -1023,4 +1023,7 @@ Capturing subpattern count = 10
134 May match empty string
135 Subject length lower bound = 0
136
137+/([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00](*ACCEPT)/
138+Failed: error 114 at offset 509: missing closing parenthesis
139+
140 # End of testinput8
141diff --git a/testdata/testoutput8-8-2 b/testdata/testoutput8-8-2
142index 6a9aa0a..6dc1f42 100644
143--- a/testdata/testoutput8-8-2
144+++ b/testdata/testoutput8-8-2
145@@ -1026,4 +1026,7 @@ Capturing subpattern count = 10
146 May match empty string
147 Subject length lower bound = 0
148
149+/([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00](*ACCEPT)/
150+Failed: error 114 at offset 509: missing closing parenthesis
151+
152 # End of testinput8
153diff --git a/testdata/testoutput8-8-3 b/testdata/testoutput8-8-3
154index 2fe1168..ae14946 100644
155--- a/testdata/testoutput8-8-3
156+++ b/testdata/testoutput8-8-3
157@@ -1024,4 +1024,7 @@ Capturing subpattern count = 10
158 May match empty string
159 Subject length lower bound = 0
160
161+/([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00](*ACCEPT)/
162+Failed: error 114 at offset 509: missing closing parenthesis
163+
164 # End of testinput8
165diff --git a/testdata/testoutput8-8-4 b/testdata/testoutput8-8-4
166index 91993b2..6c79956 100644
167--- a/testdata/testoutput8-8-4
168+++ b/testdata/testoutput8-8-4
169@@ -1022,4 +1022,7 @@ Capturing subpattern count = 10
170 May match empty string
171 Subject length lower bound = 0
172
173+/([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00](*ACCEPT)/
174+Failed: error 114 at offset 509: missing closing parenthesis
175+
176 # End of testinput8
177--
1782.8.3
179
diff --git a/gnu/packages/patches/python-dendropy-fix-tests.patch b/gnu/packages/patches/python-dendropy-fix-tests.patch
new file mode 100644
index 00000000000..30ab618ff15
--- /dev/null
+++ b/gnu/packages/patches/python-dendropy-fix-tests.patch
@@ -0,0 +1,41 @@
1This patch fixes two test failures. It was downloaded from:
2https://github.com/jeetsukumaran/DendroPy/commit/93f984bba7a6c588a28ca87f4e557ce283809453
3
4From 93f984bba7a6c588a28ca87f4e557ce283809453 Mon Sep 17 00:00:00 2001
5From: jeetsukumaran <jeetsukumaran@gmail.com>
6Date: Tue, 21 Feb 2017 16:41:01 -0500
7Subject: [PATCH] Update to Python 3 container and iteration semantics
8
9---
10 dendropy/dataio/newickreader.py | 3 ++-
11 dendropy/datamodel/treemodel.py | 3 +++
12 2 files changed, 5 insertions(+), 1 deletion(-)
13
14diff --git a/dendropy/dataio/newickreader.py b/dendropy/dataio/newickreader.py
15index 6dcf3c5..f978729 100644
16--- a/dendropy/dataio/newickreader.py
17+++ b/dendropy/dataio/newickreader.py
18@@ -303,7 +303,8 @@ def tree_iter(self,
19 taxon_symbol_map_fn=taxon_symbol_mapper.require_taxon_for_symbol)
20 yield tree
21 if tree is None:
22- raise StopIteration
23+ # raise StopIteration
24+ return
25
26 def _read(self,
27 stream,
28diff --git a/dendropy/datamodel/treemodel.py b/dendropy/datamodel/treemodel.py
29index 0ecfe31..73146f0 100644
30--- a/dendropy/datamodel/treemodel.py
31+++ b/dendropy/datamodel/treemodel.py
32@@ -772,6 +772,9 @@ def __hash__(self):
33 def __eq__(self, other):
34 return self is other
35
36+ def __lt__(self, other):
37+ return id(self) < id(other)
38+
39 ###########################################################################
40 ### Basic Structure
41
diff --git a/gnu/packages/patches/python-fake-factory-fix-build-32bit.patch b/gnu/packages/patches/python-fake-factory-fix-build-32bit.patch
new file mode 100644
index 00000000000..cb60896fad6
--- /dev/null
+++ b/gnu/packages/patches/python-fake-factory-fix-build-32bit.patch
@@ -0,0 +1,36 @@
1These tests fail on 32-bit due to an overflow.
2
3Upstream bug URL: https://github.com/joke2k/faker/issues/408
4
5diff --git a/faker/tests/__init__.py b/faker/tests/__init__.py
6index 6026772..58b6b83 100644
7--- a/faker/tests/__init__.py
8+++ b/faker/tests/__init__.py
9@@ -384,7 +384,6 @@ class FactoryTestCase(unittest.TestCase):
10 provider = Provider
11 # test century
12 self.assertTrue(self._datetime_to_time(provider.date_time_this_century(after_now=False)) <= self._datetime_to_time(datetime.datetime.now()))
13- self.assertTrue(self._datetime_to_time(provider.date_time_this_century(before_now=False, after_now=True)) >= self._datetime_to_time(datetime.datetime.now()))
14 # test decade
15 self.assertTrue(self._datetime_to_time(provider.date_time_this_decade(after_now=False)) <= self._datetime_to_time(datetime.datetime.now()))
16 self.assertTrue(self._datetime_to_time(provider.date_time_this_decade(before_now=False, after_now=True)) >= self._datetime_to_time(datetime.datetime.now()))
17@@ -413,8 +412,6 @@ class FactoryTestCase(unittest.TestCase):
18
19 # ensure all methods provide timezone aware datetimes
20 with self.assertRaises(TypeError):
21- provider.date_time_this_century(before_now=False, after_now=True, tzinfo=utc) >= datetime.datetime.now()
22- with self.assertRaises(TypeError):
23 provider.date_time_this_decade(after_now=False, tzinfo=utc) <= datetime.datetime.now()
24 with self.assertRaises(TypeError):
25 provider.date_time_this_year(after_now=False, tzinfo=utc) <= datetime.datetime.now()
26@@ -423,7 +420,6 @@ class FactoryTestCase(unittest.TestCase):
27
28 # test century
29 self.assertTrue(provider.date_time_this_century(after_now=False, tzinfo=utc) <= datetime.datetime.now(utc))
30- self.assertTrue(provider.date_time_this_century(before_now=False, after_now=True, tzinfo=utc) >= datetime.datetime.now(utc))
31 # test decade
32 self.assertTrue(provider.date_time_this_decade(after_now=False, tzinfo=utc) <= datetime.datetime.now(utc))
33 self.assertTrue(provider.date_time_this_decade(before_now=False, after_now=True, tzinfo=utc) >= datetime.datetime.now(utc))
34--
352.11.1
36
diff --git a/gnu/packages/patches/python-faker-fix-build-32bit.patch b/gnu/packages/patches/python-faker-fix-build-32bit.patch
new file mode 100644
index 00000000000..466b2890124
--- /dev/null
+++ b/gnu/packages/patches/python-faker-fix-build-32bit.patch
@@ -0,0 +1,36 @@
1These tests fail on 32-bit due to an overflow.
2
3Upstream bug URL: https://github.com/joke2k/faker/issues/408
4
5diff --git a/tests/__init__.py b/tests/__init__.py
6index 6026772..58b6b83 100644
7--- a/tests/__init__.py
8+++ b/tests/__init__.py
9@@ -384,7 +384,6 @@ class FactoryTestCase(unittest.TestCase):
10 provider = Provider
11 # test century
12 self.assertTrue(self._datetime_to_time(provider.date_time_this_century(after_now=False)) <= self._datetime_to_time(datetime.datetime.now()))
13- self.assertTrue(self._datetime_to_time(provider.date_time_this_century(before_now=False, after_now=True)) >= self._datetime_to_time(datetime.datetime.now()))
14 # test decade
15 self.assertTrue(self._datetime_to_time(provider.date_time_this_decade(after_now=False)) <= self._datetime_to_time(datetime.datetime.now()))
16 self.assertTrue(self._datetime_to_time(provider.date_time_this_decade(before_now=False, after_now=True)) >= self._datetime_to_time(datetime.datetime.now()))
17@@ -413,8 +412,6 @@ class FactoryTestCase(unittest.TestCase):
18
19 # ensure all methods provide timezone aware datetimes
20 with self.assertRaises(TypeError):
21- provider.date_time_this_century(before_now=False, after_now=True, tzinfo=utc) >= datetime.datetime.now()
22- with self.assertRaises(TypeError):
23 provider.date_time_this_decade(after_now=False, tzinfo=utc) <= datetime.datetime.now()
24 with self.assertRaises(TypeError):
25 provider.date_time_this_year(after_now=False, tzinfo=utc) <= datetime.datetime.now()
26@@ -423,7 +420,6 @@ class FactoryTestCase(unittest.TestCase):
27
28 # test century
29 self.assertTrue(provider.date_time_this_century(after_now=False, tzinfo=utc) <= datetime.datetime.now(utc))
30- self.assertTrue(provider.date_time_this_century(before_now=False, after_now=True, tzinfo=utc) >= datetime.datetime.now(utc))
31 # test decade
32 self.assertTrue(provider.date_time_this_decade(after_now=False, tzinfo=utc) <= datetime.datetime.now(utc))
33 self.assertTrue(provider.date_time_this_decade(before_now=False, after_now=True, tzinfo=utc) >= datetime.datetime.now(utc))
34--
352.11.1
36
diff --git a/gnu/packages/patches/python-pandas-skip-failing-tests.patch b/gnu/packages/patches/python-pandas-skip-failing-tests.patch
new file mode 100644
index 00000000000..31fc912d008
--- /dev/null
+++ b/gnu/packages/patches/python-pandas-skip-failing-tests.patch
@@ -0,0 +1,59 @@
1These tests fail on 32bit architectures.
2
3Upstream bug URL: https://github.com/pandas-dev/pandas/issues/14866
4
5--- a/pandas/tests/test_base.py 2017-03-08 17:49:44.422282717 +0100
6+++ b/pandas/tests/test_base.py 2017-03-08 17:50:59.476701799 +0100
7@@ -363,30 +363,6 @@
8 self.assertFalse(result.iat[0])
9 self.assertFalse(result.iat[1])
10
11- def test_ndarray_compat_properties(self):
12-
13- for o in self.objs:
14-
15- # check that we work
16- for p in ['shape', 'dtype', 'flags', 'T', 'strides', 'itemsize',
17- 'nbytes']:
18- self.assertIsNotNone(getattr(o, p, None))
19- self.assertTrue(hasattr(o, 'base'))
20-
21- # if we have a datetimelike dtype then needs a view to work
22- # but the user is responsible for that
23- try:
24- self.assertIsNotNone(o.data)
25- except ValueError:
26- pass
27-
28- self.assertRaises(ValueError, o.item) # len > 1
29- self.assertEqual(o.ndim, 1)
30- self.assertEqual(o.size, len(o))
31-
32- self.assertEqual(Index([1]).item(), 1)
33- self.assertEqual(Series([1]).item(), 1)
34-
35 def test_ops(self):
36 for op in ['max', 'min']:
37 for o in self.objs:
38--- a/pandas/tools/tests/test_tile.py 2017-03-08 17:47:39.762261841 +0100
39+++ b/pandas/tools/tests/test_tile.py 2017-03-08 17:48:26.831780495 +0100
40@@ -271,19 +271,6 @@
41 np.array([0, 0, 1, 1], dtype=np.int8))
42 tm.assert_numpy_array_equal(bins, np.array([0, 1.5, 3]))
43
44- def test_single_bin(self):
45- # issue 14652
46- expected = Series([0, 0])
47-
48- s = Series([9., 9.])
49- result = cut(s, 1, labels=False)
50- tm.assert_series_equal(result, expected)
51-
52- s = Series([-9., -9.])
53- result = cut(s, 1, labels=False)
54- tm.assert_series_equal(result, expected)
55-
56-
57 def curpath():
58 pth, _ = os.path.split(os.path.abspath(__file__))
59 return pth
diff --git a/gnu/packages/patches/python-pbr-fix-man-page-support.patch b/gnu/packages/patches/python-pbr-fix-man-page-support.patch
new file mode 100644
index 00000000000..b9036f5b010
--- /dev/null
+++ b/gnu/packages/patches/python-pbr-fix-man-page-support.patch
@@ -0,0 +1,28 @@
1See: https://bugs.launchpad.net/oslosphinx/+bug/1661861
2diff -ur orig/pbr-1.10.0/pbr/builddoc.py pbr-1.10.0/pbr/builddoc.py
3--- orig/pbr-1.10.0/pbr/builddoc.py 2016-05-23 21:38:18.000000000 +0200
4+++ pbr-1.10.0/pbr/builddoc.py 2017-02-18 14:01:37.424434317 +0100
5@@ -138,7 +138,8 @@
6 sphinx_config.init_values(warnings.warn)
7 else:
8 sphinx_config.init_values()
9- if self.builder == 'man' and len(sphinx_config.man_pages) == 0:
10+ if self.builder == 'man' and len(
11+ getattr(sphinx_config, 'man_pages', '')) == 0:
12 return
13 app = application.Sphinx(
14 self.source_dir, self.config_dir,
15diff -ur orig/pbr-1.10.0/pbr/util.py pbr-1.10.0/pbr/util.py
16--- orig/pbr-1.10.0/pbr/util.py 2016-05-23 21:38:18.000000000 +0200
17+++ pbr-1.10.0/pbr/util.py 2017-02-18 15:36:32.951196795 +0100
18@@ -211,7 +211,9 @@
19 parser.read(path)
20 config = {}
21 for section in parser.sections():
22- config[section] = dict(parser.items(section))
23+ config[section] = dict()
24+ for k, value in parser.items(section):
25+ config[section][k.replace('-', '_')] = value
26
27 # Run setup_hooks, if configured
28 setup_hooks = has_get_option(config, 'global', 'setup_hooks')
diff --git a/gnu/packages/patches/python-pygit2-disable-network-tests.patch b/gnu/packages/patches/python-pygit2-disable-network-tests.patch
new file mode 100644
index 00000000000..e46d2448075
--- /dev/null
+++ b/gnu/packages/patches/python-pygit2-disable-network-tests.patch
@@ -0,0 +1,64 @@
1Disable tests trying to look up remote servers.
2
3diff --git a/test/test_credentials.py b/test/test_credentials.py
4index 92482d9..9a281e5 100644
5--- a/test/test_credentials.py
6+++ b/test/test_credentials.py
7@@ -68,39 +68,5 @@ class CredentialCreateTest(utils.NoRepoTestCase):
8 self.assertEqual((username, None, None, None), cred.credential_tuple)
9
10
11-class CredentialCallback(utils.RepoTestCase):
12- def test_callback(self):
13- class MyCallbacks(pygit2.RemoteCallbacks):
14- @staticmethod
15- def credentials(url, username, allowed):
16- self.assertTrue(allowed & GIT_CREDTYPE_USERPASS_PLAINTEXT)
17- raise Exception("I don't know the password")
18-
19- url = "https://github.com/github/github"
20- remote = self.repo.create_remote("github", url)
21-
22- self.assertRaises(Exception, lambda: remote.fetch(callbacks=MyCallbacks()))
23-
24- def test_bad_cred_type(self):
25- class MyCallbacks(pygit2.RemoteCallbacks):
26- @staticmethod
27- def credentials(url, username, allowed):
28- self.assertTrue(allowed & GIT_CREDTYPE_USERPASS_PLAINTEXT)
29- return Keypair("git", "foo.pub", "foo", "sekkrit")
30-
31- url = "https://github.com/github/github"
32- remote = self.repo.create_remote("github", url)
33- self.assertRaises(TypeError, lambda: remote.fetch(callbacks=MyCallbacks()))
34-
35-class CallableCredentialTest(utils.RepoTestCase):
36-
37- def test_user_pass(self):
38- credentials = UserPass("libgit2", "libgit2")
39- callbacks = pygit2.RemoteCallbacks(credentials=credentials)
40-
41- url = "https://bitbucket.org/libgit2/testgitrepository.git"
42- remote = self.repo.create_remote("bb", url)
43- remote.fetch(callbacks=callbacks)
44-
45 if __name__ == '__main__':
46 unittest.main()
47diff --git a/test/test_repository.py b/test/test_repository.py
48index cfdf01e..c0d8de4 100644
49--- a/test/test_repository.py
50+++ b/test/test_repository.py
51@@ -538,13 +538,6 @@ class CloneRepositoryTest(utils.NoRepoTestCase):
52 self.assertTrue('refs/remotes/custom_remote/master' in repo.listall_references())
53 self.assertIsNotNone(repo.remotes["custom_remote"])
54
55- def test_clone_with_credentials(self):
56- repo = clone_repository(
57- "https://bitbucket.org/libgit2/testgitrepository.git",
58- self._temp_dir, callbacks=pygit2.RemoteCallbacks(credentials=pygit2.UserPass("libgit2", "libgit2")))
59-
60- self.assertFalse(repo.is_empty)
61-
62 def test_clone_with_checkout_branch(self):
63 # create a test case which isolates the remote
64 test_repo = clone_repository('./test/data/testrepo.git',
diff --git a/gnu/packages/patches/python-pyopenssl-skip-network-test.patch b/gnu/packages/patches/python-pyopenssl-skip-network-test.patch
new file mode 100644
index 00000000000..a24eaf69a0f
--- /dev/null
+++ b/gnu/packages/patches/python-pyopenssl-skip-network-test.patch
@@ -0,0 +1,50 @@
1This test tries connecting to an external server which is not supported
2in the build environment. See discussion at:
3
4https://lists.gnu.org/archive/html/guix-devel/2016-12/msg00650.html
5
6diff --git a/tests/test_ssl.py b/tests/test_ssl.py
7index ee849fd..60048b8 100644
8--- a/tests/test_ssl.py
9+++ b/tests/test_ssl.py
10@@ -1180,40 +1180,6 @@ class ContextTests(TestCase, _LoopbackMixin):
11 TypeError, context.load_verify_locations, None, None, None
12 )
13
14- @pytest.mark.skipif(
15- platform == "win32",
16- reason="set_default_verify_paths appears not to work on Windows. "
17- "See LP#404343 and LP#404344."
18- )
19- def test_set_default_verify_paths(self):
20- """
21- :py:obj:`Context.set_default_verify_paths` causes the
22- platform-specific CA certificate locations to be used for
23- verification purposes.
24- """
25- # Testing this requires a server with a certificate signed by one
26- # of the CAs in the platform CA location. Getting one of those
27- # costs money. Fortunately (or unfortunately, depending on your
28- # perspective), it's easy to think of a public server on the
29- # internet which has such a certificate. Connecting to the network
30- # in a unit test is bad, but it's the only way I can think of to
31- # really test this. -exarkun
32-
33- # Arg, verisign.com doesn't speak anything newer than TLS 1.0
34- context = Context(SSLv23_METHOD)
35- context.set_default_verify_paths()
36- context.set_verify(
37- VERIFY_PEER,
38- lambda conn, cert, errno, depth, preverify_ok: preverify_ok)
39-
40- client = socket()
41- client.connect(("encrypted.google.com", 443))
42- clientSSL = Connection(context, client)
43- clientSSL.set_connect_state()
44- clientSSL.do_handshake()
45- clientSSL.send(b"GET / HTTP/1.0\r\n\r\n")
46- self.assertTrue(clientSSL.recv(1024))
47-
48 def test_set_default_verify_paths_signature(self):
49 """
50 :py:obj:`Context.set_default_verify_paths` takes no arguments and
diff --git a/gnu/packages/patches/python-statsmodels-fix-tests.patch b/gnu/packages/patches/python-statsmodels-fix-tests.patch
index 3315ddbd5ff..f910b4b5a50 100644
--- a/gnu/packages/patches/python-statsmodels-fix-tests.patch
+++ b/gnu/packages/patches/python-statsmodels-fix-tests.patch
@@ -1,196 +1,28 @@
1This patch fixes a couple of test failures introduced by changes to the pandas 1This drops a test that fails with numpy 1.12.
2package. It was extracted from this pull request: 2
3 3Upstream bug URL: https://github.com/statsmodels/statsmodels/issues/3541
4https://github.com/statsmodels/statsmodels/pull/2675 4
5 5--- a/statsmodels/discrete/tests/test_discrete.py 2017-03-06 15:29:19.947343331 +0000
6 6+++ b/statsmodels/discrete/tests/test_discrete.py 2017-03-06 15:29:37.759328845 +0000
7From c9ef60a7bc4407766ab9e9f12c8a6b89013046ee Mon Sep 17 00:00:00 2001 7@@ -1329,21 +1329,6 @@
8From: Ralf Gommers <ralf.gommers@gmail.com> 8 res = mod.fit(start_params=-np.ones(4), method='newton', disp=0)
9Date: Tue, 20 Oct 2015 07:34:11 +0200 9 assert_(not res.mle_retvals['converged'])
10Subject: [PATCH 1/4] MAINT: fix use of old_behavior kw for numpy.correlate. 10
11 Was removed in 1.10.0 11-def test_issue_339():
12 12- # make sure MNLogit summary works for J != K.
13Numpy PR that removed it: https://github.com/numpy/numpy/pull/5991 13- data = sm.datasets.anes96.load()
14 14- exog = data.exog
15Closes gh-2667. 15- # leave out last exog column
16--- 16- exog = exog[:,:-1]
17 statsmodels/tsa/ar_model.py | 6 ++---- 17- exog = sm.add_constant(exog, prepend=True)
18 1 file changed, 2 insertions(+), 4 deletions(-) 18- res1 = sm.MNLogit(data.endog, exog).fit(method="newton", disp=0)
19 19- # strip the header from the test
20diff --git a/statsmodels/tsa/ar_model.py b/statsmodels/tsa/ar_model.py 20- smry = "\n".join(res1.summary().as_text().split('\n')[9:])
21index 087a9e0..02984bd 100644 21- cur_dir = os.path.dirname(os.path.abspath(__file__))
22--- a/statsmodels/tsa/ar_model.py 22- test_case_file = os.path.join(cur_dir, 'results', 'mn_logit_summary.txt')
23+++ b/statsmodels/tsa/ar_model.py 23- test_case = open(test_case_file, 'r').read()
24@@ -261,10 +261,8 @@ def _presample_varcov(self, params): 24- np.testing.assert_equal(smry, test_case[:-1])
25 25-
26 Vpinv = np.zeros((p, p), dtype=params.dtype) 26 def test_issue_341():
27 for i in range(1, p1): 27 data = sm.datasets.anes96.load()
28- Vpinv[i-1, i-1:] = np.correlate(params0, params0[:i], 28 exog = data.exog
29- old_behavior=False)[:-1]
30- Vpinv[i-1, i-1:] -= np.correlate(params0[-i:], params0,
31- old_behavior=False)[:-1]
32+ Vpinv[i-1, i-1:] = np.correlate(params0, params0[:i],)[:-1]
33+ Vpinv[i-1, i-1:] -= np.correlate(params0[-i:], params0,)[:-1]
34
35 Vpinv = Vpinv + Vpinv.T - np.diag(Vpinv.diagonal())
36 return Vpinv
37
38From f1dc8979b09bc1736149993f895943b3158ee2db Mon Sep 17 00:00:00 2001
39From: Ralf Gommers <ralf.gommers@gmail.com>
40Date: Wed, 21 Oct 2015 22:05:52 +0200
41Subject: [PATCH 2/4] MAINT: fix graphics module for changes in recent pandas
42 versions.
43
44---
45 statsmodels/graphics/tests/test_mosaicplot.py | 2 +-
46 statsmodels/graphics/tests/test_tsaplots.py | 6 +++---
47 statsmodels/graphics/tsaplots.py | 2 +-
48 3 files changed, 5 insertions(+), 5 deletions(-)
49
50diff --git a/statsmodels/graphics/tests/test_mosaicplot.py b/statsmodels/graphics/tests/test_mosaicplot.py
51index cb9bbbe..e41020e 100644
52--- a/statsmodels/graphics/tests/test_mosaicplot.py
53+++ b/statsmodels/graphics/tests/test_mosaicplot.py
54@@ -113,7 +113,7 @@ def test_mosaic():
55 # sort by the marriage quality and give meaningful name
56 # [rate_marriage, age, yrs_married, children,
57 # religious, educ, occupation, occupation_husb]
58- datas = datas.sort(['rate_marriage', 'religious'])
59+ datas = datas.sort_values(by=['rate_marriage', 'religious'])
60 num_to_desc = {1: 'awful', 2: 'bad', 3: 'intermediate',
61 4: 'good', 5: 'wonderful'}
62 datas['rate_marriage'] = datas['rate_marriage'].map(num_to_desc)
63diff --git a/statsmodels/graphics/tests/test_tsaplots.py b/statsmodels/graphics/tests/test_tsaplots.py
64index 511f18f..365be82 100644
65--- a/statsmodels/graphics/tests/test_tsaplots.py
66+++ b/statsmodels/graphics/tests/test_tsaplots.py
67@@ -1,4 +1,4 @@
68-from statsmodels.compat.python import lmap, lzip, map
69+from statsmodels.compat.python import lmap, map
70 import numpy as np
71 import pandas as pd
72 from numpy.testing import dec
73@@ -51,8 +51,8 @@ def test_plot_month():
74 dta = sm.datasets.elnino.load_pandas().data
75 dta['YEAR'] = dta.YEAR.astype(int).apply(str)
76 dta = dta.set_index('YEAR').T.unstack()
77- dates = lmap(lambda x : pd.datetools.parse('1 '+' '.join(x)),
78- dta.index.values)
79+ dates = lmap(lambda x : pd.datetools.parse_time_string('1 '+' '.join(x))[0],
80+ dta.index.values)
81
82 # test dates argument
83 fig = month_plot(dta.values, dates=dates, ylabel='el nino')
84diff --git a/statsmodels/graphics/tsaplots.py b/statsmodels/graphics/tsaplots.py
85index 3d04692..94626c9 100644
86--- a/statsmodels/graphics/tsaplots.py
87+++ b/statsmodels/graphics/tsaplots.py
88@@ -200,7 +200,7 @@ def seasonal_plot(grouped_x, xticklabels, ylabel=None, ax=None):
89 ticks = []
90 for season, df in grouped_x:
91 df = df.copy() # or sort balks for series. may be better way
92- df.sort()
93+ df.sort_values(inplace=True)
94 nobs = len(df)
95 x_plot = np.arange(start, start + nobs)
96 ticks.append(x_plot.mean())
97
98From 4cfbef6af137629c6953f1f025d9cfc781874256 Mon Sep 17 00:00:00 2001
99From: Ralf Gommers <ralf.gommers@gmail.com>
100Date: Wed, 21 Oct 2015 22:15:25 +0200
101Subject: [PATCH 3/4] MAINT: work around pandas breaking backwards compat for
102 pandas.version
103
104---
105 setup.py | 5 ++++-
106 statsmodels/tools/testing.py | 6 ++----
107 2 files changed, 6 insertions(+), 5 deletions(-)
108
109diff --git a/setup.py b/setup.py
110index 0002840..74aefb8 100644
111--- a/setup.py
112+++ b/setup.py
113@@ -134,7 +134,10 @@ def check_dependency_versions(min_versions):
114 (spversion, min_versions['scipy']))
115
116 try:
117- from pandas.version import short_version as pversion
118+ import pandas
119+ #FIXME: this will break for pandas 1.0.0. Needs elaborate parsing now,
120+ # due to pandas removing version.short_version
121+ pversion = pandas.__version__[:6]
122 except ImportError:
123 install_requires.append('pandas')
124 else:
125diff --git a/statsmodels/tools/testing.py b/statsmodels/tools/testing.py
126index e207e44..643f79f 100644
127--- a/statsmodels/tools/testing.py
128+++ b/statsmodels/tools/testing.py
129@@ -16,10 +16,8 @@ def strip_rc(version):
130
131
132 def is_pandas_min_version(min_version):
133- '''check whether pandas is at least min_version
134- '''
135- from pandas.version import short_version as pversion
136- return StrictVersion(strip_rc(pversion)) >= min_version
137+ '''check whether pandas is at least min_version '''
138+ return StrictVersion((pandas.__version__[:6])) >= min_version
139
140
141 # local copies, all unchanged
142
143From c894c3f4882d570efb517950069d83afa9794db8 Mon Sep 17 00:00:00 2001
144From: Ralf Gommers <ralf.gommers@gmail.com>
145Date: Mon, 26 Oct 2015 20:47:51 +0100
146Subject: [PATCH 4/4] BUG: fix use of Series.sort_values for older pandas.
147
148Some failing tests in the previous commits because older ``pandas`` versions
149don't have ``Series.sort_values``. That method was only added in pandas 0.17,
150in https://github.com/pydata/pandas/pull/10726
151---
152 statsmodels/graphics/tests/test_mosaicplot.py | 6 +++++-
153 statsmodels/graphics/tsaplots.py | 6 +++++-
154 2 files changed, 10 insertions(+), 2 deletions(-)
155
156diff --git a/statsmodels/graphics/tests/test_mosaicplot.py b/statsmodels/graphics/tests/test_mosaicplot.py
157index e41020e..2a873e7 100644
158--- a/statsmodels/graphics/tests/test_mosaicplot.py
159+++ b/statsmodels/graphics/tests/test_mosaicplot.py
160@@ -113,7 +113,11 @@ def test_mosaic():
161 # sort by the marriage quality and give meaningful name
162 # [rate_marriage, age, yrs_married, children,
163 # religious, educ, occupation, occupation_husb]
164- datas = datas.sort_values(by=['rate_marriage', 'religious'])
165+ if pandas.__version__ < '0.17.0':
166+ datas = datas.sort(['rate_marriage', 'religious'])
167+ else:
168+ datas = datas.sort_values(by=['rate_marriage', 'religious'])
169+
170 num_to_desc = {1: 'awful', 2: 'bad', 3: 'intermediate',
171 4: 'good', 5: 'wonderful'}
172 datas['rate_marriage'] = datas['rate_marriage'].map(num_to_desc)
173diff --git a/statsmodels/graphics/tsaplots.py b/statsmodels/graphics/tsaplots.py
174index 94626c9..217724f 100644
175--- a/statsmodels/graphics/tsaplots.py
176+++ b/statsmodels/graphics/tsaplots.py
177@@ -2,6 +2,7 @@
178
179
180 import numpy as np
181+import pandas
182
183 from statsmodels.graphics import utils
184 from statsmodels.tsa.stattools import acf, pacf
185@@ -200,7 +201,10 @@ def seasonal_plot(grouped_x, xticklabels, ylabel=None, ax=None):
186 ticks = []
187 for season, df in grouped_x:
188 df = df.copy() # or sort balks for series. may be better way
189- df.sort_values(inplace=True)
190+ if pandas.__version__ < '0.17.0':
191+ df.sort()
192+ else:
193+ df.sort_values(inplace=True)
194 nobs = len(df)
195 x_plot = np.arange(start, start + nobs)
196 ticks.append(x_plot.mean())
diff --git a/gnu/packages/patches/python2-subprocess32-disable-input-test.patch b/gnu/packages/patches/python2-subprocess32-disable-input-test.patch
new file mode 100644
index 00000000000..05b4eef1ba2
--- /dev/null
+++ b/gnu/packages/patches/python2-subprocess32-disable-input-test.patch
@@ -0,0 +1,18 @@
1This test tries to send a KeyboardInterrupt, which does
2not work in the build environment.
3
4--- a/test_subprocess32.py 2017-03-06 22:21:49.334045485 +0100
5+++ b/test_subprocess32.py 2017-03-06 22:22:02.490439949 +0100
6@@ -1299,12 +1299,6 @@
7 getattr(p, method)(*args)
8 return p
9
10- def test_send_signal(self):
11- p = self._kill_process('send_signal', signal.SIGINT)
12- _, stderr = p.communicate()
13- self.assertIn('KeyboardInterrupt', stderr)
14- self.assertNotEqual(p.wait(), 0)
15-
16 def test_kill(self):
17 p = self._kill_process('kill')
18 _, stderr = p.communicate()
diff --git a/gnu/packages/patches/screen-CVE-2017-5618.patch b/gnu/packages/patches/screen-CVE-2017-5618.patch
deleted file mode 100644
index 1b95e428c84..00000000000
--- a/gnu/packages/patches/screen-CVE-2017-5618.patch
+++ /dev/null
@@ -1,40 +0,0 @@
1Fixes CVE-2017-5618 (privilege escalation via opening the logfile when
2screen is installed setuid root):
3
4https://savannah.gnu.org/bugs/?50142
5https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-5618
6
7This patch reverts the upstream commit that introduced the bug:
8
9https://git.savannah.gnu.org/cgit/screen.git/commit/?id=5460f5d28c01a9a58e021eb1dffef2965e629d58
10
11From f55b0cc29a0ac2a1c54e8a5e886b7393edd4a76c Mon Sep 17 00:00:00 2001
12From: Leo Famulari <leo@famulari.name>
13Date: Sat, 11 Feb 2017 22:40:24 -0500
14Subject: [PATCH] Revert "adding permissions check for the logfile name"
15
16This reverts commit 5460f5d28c01a9a58e021eb1dffef2965e629d58.
17---
18 src/screen.c | 6 ------
19 1 file changed, 6 deletions(-)
20
21diff --git a/src/screen.c b/src/screen.c
22index 64650e9..283c305 100644
23--- a/src/screen.c
24+++ b/src/screen.c
25@@ -673,12 +673,6 @@ int main(int ac, char** av)
26 Panic(0, "-L: logfile name can not start with \"-\" symbol");
27 if (strlen(screenlogfile) > PATH_MAX)
28 Panic(0, "-L: logfile name too long. (max. %d char)", PATH_MAX);
29-
30- FILE *w_check;
31- if ((w_check = fopen(screenlogfile, "w")) == NULL)
32- Panic(0, "-L: logfile name access problem");
33- else
34- fclose(w_check);
35 }
36 nwin_options.Lflag = 1;
37 break;
38--
392.11.1
40
diff --git a/gnu/packages/patches/shadow-CVE-2017-2616.patch b/gnu/packages/patches/shadow-CVE-2017-2616.patch
new file mode 100644
index 00000000000..f88aac40bc9
--- /dev/null
+++ b/gnu/packages/patches/shadow-CVE-2017-2616.patch
@@ -0,0 +1,72 @@
1Fix CVE-2017-2616:
2
3https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-2616
4http://seclists.org/oss-sec/2017/q1/490
5http://seclists.org/oss-sec/2017/q1/474
6
7Patch copied from upstream source repository:
8
9https://github.com/shadow-maint/shadow/commit/08fd4b69e84364677a10e519ccb25b71710ee686
10
11From 08fd4b69e84364677a10e519ccb25b71710ee686 Mon Sep 17 00:00:00 2001
12From: Tobias Stoeckmann <tobias@stoeckmann.org>
13Date: Thu, 23 Feb 2017 09:47:29 -0600
14Subject: [PATCH] su: properly clear child PID
15
16If su is compiled with PAM support, it is possible for any local user
17to send SIGKILL to other processes with root privileges. There are
18only two conditions. First, the user must be able to perform su with
19a successful login. This does NOT have to be the root user, even using
20su with the same id is enough, e.g. "su $(whoami)". Second, SIGKILL
21can only be sent to processes which were executed after the su process.
22It is not possible to send SIGKILL to processes which were already
23running. I consider this as a security vulnerability, because I was
24able to write a proof of concept which unlocked a screen saver of
25another user this way.
26---
27 src/su.c | 19 +++++++++++++++++--
28 1 file changed, 17 insertions(+), 2 deletions(-)
29
30diff --git a/src/su.c b/src/su.c
31index f20d230..d86aa86 100644
32--- a/src/su.c
33+++ b/src/su.c
34@@ -379,11 +379,13 @@ static void prepare_pam_close_session (void)
35 /* wake child when resumed */
36 kill (pid, SIGCONT);
37 stop = false;
38+ } else {
39+ pid_child = 0;
40 }
41 } while (!stop);
42 }
43
44- if (0 != caught) {
45+ if (0 != caught && 0 != pid_child) {
46 (void) fputs ("\n", stderr);
47 (void) fputs (_("Session terminated, terminating shell..."),
48 stderr);
49@@ -393,9 +395,22 @@ static void prepare_pam_close_session (void)
50 snprintf (wait_msg, sizeof wait_msg, _(" ...waiting for child to terminate.\n"));
51
52 (void) signal (SIGALRM, kill_child);
53+ (void) signal (SIGCHLD, catch_signals);
54 (void) alarm (2);
55
56- (void) wait (&status);
57+ sigemptyset (&ourset);
58+ if ((sigaddset (&ourset, SIGALRM) != 0)
59+ || (sigprocmask (SIG_BLOCK, &ourset, NULL) != 0)) {
60+ fprintf (stderr, _("%s: signal masking malfunction\n"), Prog);
61+ kill_child (0);
62+ } else {
63+ while (0 == waitpid (pid_child, &status, WNOHANG)) {
64+ sigsuspend (&ourset);
65+ }
66+ pid_child = 0;
67+ (void) sigprocmask (SIG_UNBLOCK, &ourset, NULL);
68+ }
69+
70 (void) fputs (_(" ...terminated.\n"), stderr);
71 }
72
diff --git a/gnu/packages/patches/texlive-texmf-CVE-2016-10243.patch b/gnu/packages/patches/texlive-texmf-CVE-2016-10243.patch
new file mode 100644
index 00000000000..3a9ae993f64
--- /dev/null
+++ b/gnu/packages/patches/texlive-texmf-CVE-2016-10243.patch
@@ -0,0 +1,18 @@
1Fix CVE-2016-10243:
2
3https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-10243
4
5Patch adapted from upstream commit:
6
7https://www.tug.org/svn/texlive?view=revision&revision=42605
8
9--- trunk/Master/texmf-dist/web2c/texmf.cnf 2016/11/29 23:10:33 42604
10+++ trunk/Master/texmf-dist/web2c/texmf.cnf 2016/11/29 23:27:53 42605
11@@ -568,7 +568,6 @@ extractbb,\
12 gregorio,\
13 kpsewhich,\
14 makeindex,\
15-mpost,\
16 repstopdf,\
17
18 % we'd like to allow:
diff --git a/gnu/packages/patches/util-linux-CVE-2017-2616.patch b/gnu/packages/patches/util-linux-CVE-2017-2616.patch
new file mode 100644
index 00000000000..2c82fb06d21
--- /dev/null
+++ b/gnu/packages/patches/util-linux-CVE-2017-2616.patch
@@ -0,0 +1,65 @@
1Fix CVE-2017-2616:
2
3https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-2616
4http://seclists.org/oss-sec/2017/q1/474
5
6Patch copied from upstream source repository:
7
8https://git.kernel.org/cgit/utils/util-linux/util-linux.git/commit/?id=dffab154d29a288aa171ff50263ecc8f2e14a891
9
10From b018571132cb8c9fece3d75ed240cc74cdb5f0f7 Mon Sep 17 00:00:00 2001
11From: Karel Zak <kzak@redhat.com>
12Date: Wed, 1 Feb 2017 11:58:09 +0100
13Subject: [PATCH] su: properly clear child PID
14MIME-Version: 1.0
15Content-Type: text/plain; charset=UTF-8
16Content-Transfer-Encoding: 8bit
17
18Reported-by: Tobias Stöckmann <tobias@stoeckmann.org>
19Signed-off-by: Karel Zak <kzak@redhat.com>
20---
21 login-utils/su-common.c | 14 ++++++++++----
22 1 file changed, 10 insertions(+), 4 deletions(-)
23
24diff --git a/login-utils/su-common.c b/login-utils/su-common.c
25index 0ea4e40bd..b1720f037 100644
26--- a/login-utils/su-common.c
27+++ b/login-utils/su-common.c
28@@ -376,6 +376,9 @@ create_watching_parent (void)
29 }
30 else
31 status = WEXITSTATUS (status);
32+
33+ /* child is gone, don't use the PID anymore */
34+ child = (pid_t) -1;
35 }
36 else if (caught_signal)
37 status = caught_signal + 128;
38@@ -385,7 +388,7 @@ create_watching_parent (void)
39 else
40 status = 1;
41
42- if (caught_signal)
43+ if (caught_signal && child != (pid_t)-1)
44 {
45 fprintf (stderr, _("\nSession terminated, killing shell..."));
46 kill (child, SIGTERM);
47@@ -395,9 +398,12 @@ create_watching_parent (void)
48
49 if (caught_signal)
50 {
51- sleep (2);
52- kill (child, SIGKILL);
53- fprintf (stderr, _(" ...killed.\n"));
54+ if (child != (pid_t)-1)
55+ {
56+ sleep (2);
57+ kill (child, SIGKILL);
58+ fprintf (stderr, _(" ...killed.\n"));
59+ }
60
61 /* Let's terminate itself with the received signal.
62 *
63--
642.11.1
65
diff --git a/gnu/packages/patches/vdirsyncer-test-suite-slow-machines.patch b/gnu/packages/patches/vdirsyncer-test-suite-slow-machines.patch
deleted file mode 100644
index 03093e8330f..00000000000
--- a/gnu/packages/patches/vdirsyncer-test-suite-slow-machines.patch
+++ /dev/null
@@ -1,42 +0,0 @@
1Fix test failures caused by some build machines running more slowly than
2expected, which manifest like this:
3
4------
5> raise FailedHealthCheck(message)
6E hypothesis.errors.FailedHealthCheck: Data generation is extremely slow: Only produced 4 valid examples in 1.08 seconds (1 invalid ones and 0 exceeded maximum size). Try decreasing size of the data you're generating (with e.g.average_size or max_leaves parameters).
7E See http://hypothesis.readthedocs.org/en/latest/healthchecks.html for more information about this. If you want to disable just this health check, add HealthCheck.too_slowto the suppress_health_check settings for this test.
8
9/gnu/store/b8d1r8bilvm3jkncgrpvmg3dni9cgcr1-python-hypothesis-3.1.0/lib/python3.5/site-packages/hypothesis/core.py:296: FailedHealthCheck
10------
11
12Patch copied from upstream source repository:
13
14https://github.com/pimutils/vdirsyncer/commit/10490a12f13f03495e0945eb9d45d7aed9ab0a6c
15
16From 10490a12f13f03495e0945eb9d45d7aed9ab0a6c Mon Sep 17 00:00:00 2001
17From: Markus Unterwaditzer <markus@unterwaditzer.net>
18Date: Sat, 18 Feb 2017 15:45:06 +0100
19Subject: [PATCH] Unconditionally disable HealthCheck.too_slow
20
21---
22 tests/conftest.py | 4 +++-
23 1 file changed, 3 insertions(+), 1 deletion(-)
24
25diff --git a/tests/conftest.py b/tests/conftest.py
26index e0a07d5..3afd7cd 100644
27--- a/tests/conftest.py
28+++ b/tests/conftest.py
29@@ -26,10 +26,12 @@ def benchmark():
30 else:
31 del pytest_benchmark
32
33+
34+settings.suppress_health_check = [HealthCheck.too_slow]
35+
36 settings.register_profile("ci", settings(
37 max_examples=1000,
38 verbosity=Verbosity.verbose,
39- suppress_health_check=[HealthCheck.too_slow]
40 ))
41 settings.register_profile("deterministic", settings(
42 derandomize=True,
diff --git a/gnu/packages/patches/vim-CVE-2017-5953.patch b/gnu/packages/patches/vim-CVE-2017-5953.patch
index 7b66f1bf16e..070f98c2cbf 100644
--- a/gnu/packages/patches/vim-CVE-2017-5953.patch
+++ b/gnu/packages/patches/vim-CVE-2017-5953.patch
@@ -3,20 +3,28 @@ Fix CVE-2017-5953:
3https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-5953 3https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-5953
4https://groups.google.com/forum/#!topic/vim_dev/t-3RSdEnrHY 4https://groups.google.com/forum/#!topic/vim_dev/t-3RSdEnrHY
5 5
6Patch adapted from upstream commit, correcting the transcription error 6This change is adapted from the upstream source repository:
7in the bounds check:
8 7
9https://github.com/vim/vim/commit/399c297aa93afe2c0a39e2a1b3f972aebba44c9d 8https://github.com/vim/vim/commit/6d3c8586fc81b022e9f06c611b9926108fb878c7
10 9
11diff --git a/src/spellfile.c b/src/spellfile.c 10diff --git a/src/spellfile.c b/src/spellfile.c
12index c7d87c6..8b1a3a6 100644 11index c7d87c6..00ef019 100644
13--- a/src/spellfile.c 12--- a/src/spellfile.c
14+++ b/src/spellfile.c 13+++ b/src/spellfile.c
14@@ -1585,7 +1585,7 @@ spell_read_tree(
15 int prefixtree, /* TRUE for the prefix tree */
16 int prefixcnt) /* when "prefixtree" is TRUE: prefix count */
17 {
18- int len;
19+ long len;
20 int idx;
21 char_u *bp;
22 idx_T *ip;
15@@ -1595,6 +1595,9 @@ spell_read_tree( 23@@ -1595,6 +1595,9 @@ spell_read_tree(
16 len = get4c(fd); 24 len = get4c(fd);
17 if (len < 0) 25 if (len < 0)
18 return SP_TRUNCERROR; 26 return SP_TRUNCERROR;
19+ if (len >= 0x3fffffff) 27+ if (len >= LONG_MAX / (long)sizeof(int))
20+ /* Invalid length, multiply with sizeof(int) would overflow. */ 28+ /* Invalid length, multiply with sizeof(int) would overflow. */
21+ return SP_FORMERROR; 29+ return SP_FORMERROR;
22 if (len > 0) 30 if (len > 0)
diff --git a/gnu/packages/patches/wxwidgets-fix-windowGTK.patch b/gnu/packages/patches/wxwidgets-fix-windowGTK.patch
new file mode 100644
index 00000000000..1255835d017
--- /dev/null
+++ b/gnu/packages/patches/wxwidgets-fix-windowGTK.patch
@@ -0,0 +1,18 @@
1This patch allow Filezilla client to resize window.
2The patch was adapted from upstream source repository:
3'<http://trac.wxwidgets.org/changeset/4793e5b0a4e189e492287305859b278fed780080/git-wxWidgets>'
4
5--- a/src/gtk/toplevel.cpp 2014-10-06 16:33:44.000000000 -0500
6+++ b/src/gtk/toplevel.cpp 2017-02-16 21:33:27.779907810 -0600
7@@ -1216,8 +1216,9 @@
8 int hints_mask = GDK_HINT_MIN_SIZE | GDK_HINT_MAX_SIZE;
9 hints.min_width = 1;
10 hints.min_height = 1;
11- hints.max_width = INT_MAX;
12- hints.max_height = INT_MAX;
13+ // using INT_MAX for size will lead to integer overflow with HiDPI scaling
14+ hints.max_width = INT_MAX / 16;
15+ hints.max_height = INT_MAX / 16;
16 const int decorSize_x = m_decorSize.left + m_decorSize.right;
17 const int decorSize_y = m_decorSize.top + m_decorSize.bottom;
18 if (minSize.x > decorSize_x)
diff --git a/gnu/packages/pciutils.scm b/gnu/packages/pciutils.scm
index 8422a5c574d..7c9856468d7 100644
--- a/gnu/packages/pciutils.scm
+++ b/gnu/packages/pciutils.scm
@@ -30,7 +30,7 @@
30(define-public pciutils 30(define-public pciutils
31 (package 31 (package
32 (name "pciutils") 32 (name "pciutils")
33 (version "3.5.2") 33 (version "3.5.4")
34 (source (origin 34 (source (origin
35 (method url-fetch) 35 (method url-fetch)
36 (uri (string-append 36 (uri (string-append
@@ -38,7 +38,7 @@
38 version ".tar.xz")) 38 version ".tar.xz"))
39 (sha256 39 (sha256
40 (base32 40 (base32
41 "1z2y4f3cyvm7a0dyan0n6jpb3p9pvh35lrim0058slj0kwd1969s")))) 41 "0rpy7kkb2y89wmbcbfjjjxsk2x89v5xxhxib4vpl131ip5m3qab4"))))
42 (build-system gnu-build-system) 42 (build-system gnu-build-system)
43 (arguments 43 (arguments
44 '(#:phases 44 '(#:phases
diff --git a/gnu/packages/pcre.scm b/gnu/packages/pcre.scm
index 9ca950b9677..011a30dd38c 100644
--- a/gnu/packages/pcre.scm
+++ b/gnu/packages/pcre.scm
@@ -3,6 +3,7 @@
3;;; Copyright © 2014, 2015 Mark H Weaver <mhw@netris.org> 3;;; Copyright © 2014, 2015 Mark H Weaver <mhw@netris.org>
4;;; Copyright © 2015 Ricardo Wurmus <rekado@elephly.net> 4;;; Copyright © 2015 Ricardo Wurmus <rekado@elephly.net>
5;;; Copyright © 2016 Leo Famulari <leo@famulari.name> 5;;; Copyright © 2016 Leo Famulari <leo@famulari.name>
6;;; Copyright © 2017 Marius Bakke <mbakke@fastmail.com>
6;;; 7;;;
7;;; This file is part of GNU Guix. 8;;; This file is part of GNU Guix.
8;;; 9;;;
@@ -72,16 +73,15 @@ POSIX regular expression API.")
72(define-public pcre2 73(define-public pcre2
73 (package 74 (package
74 (name "pcre2") 75 (name "pcre2")
75 (version "10.21") 76 (version "10.23")
76 (source (origin 77 (source (origin
77 (method url-fetch) 78 (method url-fetch)
78 (uri (string-append "mirror://sourceforge/pcre/pcre2/" 79 (uri (string-append "mirror://sourceforge/pcre/pcre2/"
79 version "/pcre2-" version ".tar.bz2")) 80 version "/pcre2-" version ".tar.bz2"))
80 81
81 (patches (search-patches "pcre2-CVE-2016-3191.patch"))
82 (sha256 82 (sha256
83 (base32 83 (base32
84 "1q6lrj9b08l1q39vxipb0fi88x6ybvkr6439h8bjb9r8jd81fsn6")))) 84 "0vn5g0mkkp99mmzpissa06hpyj6pk9s4mlwbjqrjvw3ihy8rpiyz"))))
85 (build-system gnu-build-system) 85 (build-system gnu-build-system)
86 (inputs `(("bzip2" ,bzip2) 86 (inputs `(("bzip2" ,bzip2)
87 ("readline" ,readline) 87 ("readline" ,readline)
@@ -94,7 +94,14 @@ POSIX regular expression API.")
94 "--enable-unicode-properties" 94 "--enable-unicode-properties"
95 "--enable-pcre2-16" 95 "--enable-pcre2-16"
96 "--enable-pcre2-32" 96 "--enable-pcre2-32"
97 "--enable-jit"))) 97 "--enable-jit")
98 #:phases
99 (modify-phases %standard-phases
100 (add-after 'unpack 'patch-paths
101 (lambda _
102 (substitute* "RunGrepTest"
103 (("/bin/echo") (which "echo")))
104 #t)))))
98 (synopsis "Perl Compatible Regular Expressions") 105 (synopsis "Perl Compatible Regular Expressions")
99 (description 106 (description
100 "The PCRE library is a set of functions that implement regular expression 107 "The PCRE library is a set of functions that implement regular expression
diff --git a/gnu/packages/pdf.scm b/gnu/packages/pdf.scm
index 2e26ba9ad47..ef63f58f64f 100644
--- a/gnu/packages/pdf.scm
+++ b/gnu/packages/pdf.scm
@@ -11,6 +11,7 @@
11;;; Coypright © 2016 Julien Lepiller <julien@lepiller.eu> 11;;; Coypright © 2016 Julien Lepiller <julien@lepiller.eu>
12;;; Copyright © 2016 Arun Isaac <arunisaac@systemreboot.net> 12;;; Copyright © 2016 Arun Isaac <arunisaac@systemreboot.net>
13;;; Copyright © 2017 Leo Famulari <leo@famulari.name> 13;;; Copyright © 2017 Leo Famulari <leo@famulari.name>
14;;; Copyright © 2017 Alex Vong <alexvong1995@gmail.com>
14;;; 15;;;
15;;; This file is part of GNU Guix. 16;;; This file is part of GNU Guix.
16;;; 17;;;
@@ -438,14 +439,14 @@ interaction.")
438(define-public podofo 439(define-public podofo
439 (package 440 (package
440 (name "podofo") 441 (name "podofo")
441 (version "0.9.3") 442 (version "0.9.5")
442 (source (origin 443 (source (origin
443 (method url-fetch) 444 (method url-fetch)
444 (uri (string-append "mirror://sourceforge/podofo/podofo/" version 445 (uri (string-append "mirror://sourceforge/podofo/podofo/" version
445 "/podofo-" version ".tar.gz")) 446 "/podofo-" version ".tar.gz"))
446 (sha256 447 (sha256
447 (base32 448 (base32
448 "1n12lbq9x15vqn7dc0hsccp56l5jdff1xrhvlfqlbklxx0qiw9pc")))) 449 "012kgfx5j5n6w4zkc1d290d2cwjk60jhzsjlr2x19g3yi75q2jc5"))))
449 (build-system cmake-build-system) 450 (build-system cmake-build-system)
450 (inputs ; TODO: Add cppunit for tests 451 (inputs ; TODO: Add cppunit for tests
451 `(("lua" ,lua-5.1) 452 `(("lua" ,lua-5.1)
@@ -632,6 +633,10 @@ using a stylus.")
632 (base32 633 (base32
633 "0rz2pg04wnzjjm2f5a8ik9v8s54mv4xrjhv5liqjijqv6awh12gl")))) 634 "0rz2pg04wnzjjm2f5a8ik9v8s54mv4xrjhv5liqjijqv6awh12gl"))))
634 (build-system python-build-system) 635 (build-system python-build-system)
636 (arguments
637 '(;; FIXME: There is one test failure, but it does not cause the
638 ;; build to fail. No time to investigate right now.
639 #:test-target "tests"))
635 (propagated-inputs 640 (propagated-inputs
636 `(("python-pillow" ,python-pillow))) 641 `(("python-pillow" ,python-pillow)))
637 (home-page "http://www.reportlab.com") 642 (home-page "http://www.reportlab.com")
diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm
index eee688354a4..840e0b763e3 100644
--- a/gnu/packages/perl.scm
+++ b/gnu/packages/perl.scm
@@ -13,6 +13,7 @@
13;;; Copyright © 2016 Ben Woodcroft <donttrustben@gmail.com> 13;;; Copyright © 2016 Ben Woodcroft <donttrustben@gmail.com>
14;;; Copyright © 2016 Jan Nieuwenhuizen <janneke@gnu.org> 14;;; Copyright © 2016 Jan Nieuwenhuizen <janneke@gnu.org>
15;;; Copyright © 2017 Raoul J.P. Bonnal <ilpuccio.febo@gmail.com> 15;;; Copyright © 2017 Raoul J.P. Bonnal <ilpuccio.febo@gmail.com>
16;;; Copyright © 2017 Marius Bakke <mbakke@fastmail.com>
16;;; 17;;;
17;;; This file is part of GNU Guix. 18;;; This file is part of GNU Guix.
18;;; 19;;;
@@ -36,7 +37,8 @@
36 #:use-module (guix download) 37 #:use-module (guix download)
37 #:use-module (guix build-system gnu) 38 #:use-module (guix build-system gnu)
38 #:use-module (guix build-system perl) 39 #:use-module (guix build-system perl)
39 #:use-module (gnu packages perl-web)) 40 #:use-module (gnu packages perl-web)
41 #:use-module (gnu packages pkg-config))
40 42
41;;; 43;;;
42;;; Please: Try to add new module packages in alphabetic order. 44;;; Please: Try to add new module packages in alphabetic order.
@@ -206,6 +208,31 @@ explicitly alias the class to another name or, if you prefer, you can do so
206implicitly.") 208implicitly.")
207 (license (package-license perl)))) 209 (license (package-license perl))))
208 210
211(define-public perl-any-moose
212 (package
213 (name "perl-any-moose")
214 (version "0.27")
215 (source (origin
216 (method url-fetch)
217 (uri (string-append "mirror://cpan/authors/id/E/ET/ETHER/"
218 "Any-Moose-" version ".tar.gz"))
219 (sha256
220 (base32
221 "0dc55mpayrixwx8dwql0vj0jalg4rlb3k64rprc84bl0z8vkx9m8"))))
222 (build-system perl-build-system)
223 (native-inputs
224 `(("perl-mouse" ,perl-mouse)
225 ("perl-moose" ,perl-moose)))
226 (home-page "http://search.cpan.org/dist/Any-Moose")
227 (synopsis "Transparently use Moose or Mouse modules")
228 (description
229 "This module facilitates using @code{Moose} or @code{Mouse} modules
230without changing the code. By default, Mouse will be provided to libraries,
231unless Moose is already loaded, or explicitly requested by the end-user. End
232users can force the decision of which backend to use by setting the environment
233variable ANY_MOOSE to be Moose or Mouse.")
234 (license (package-license perl))))
235
209(define-public perl-appconfig 236(define-public perl-appconfig
210 (package 237 (package
211 (name "perl-appconfig") 238 (name "perl-appconfig")
@@ -268,6 +295,39 @@ manipulate, read, and write Zip archive files.")
268list manipulation routines.") 295list manipulation routines.")
269 (license (package-license perl)))) 296 (license (package-license perl))))
270 297
298(define-public perl-async-interrupt
299 (package
300 (name "perl-async-interrupt")
301 (version "1.21")
302 (source (origin
303 (method url-fetch)
304 (uri (string-append "mirror://cpan/authors/id/M/ML/MLEHMANN/"
305 "Async-Interrupt-" version ".tar.gz"))
306 (sha256
307 (base32
308 "092zs7b72f8q109c3z829nqfgwqghp3nhw44c0gcyhacbb4wgpk3"))))
309 (build-system perl-build-system)
310 (propagated-inputs
311 `(("perl-common-sense" ,perl-common-sense)))
312 (home-page "http://search.cpan.org/dist/Async-Interrupt")
313 (synopsis "Allow C/XS libraries to interrupt perl asynchronously")
314 (description
315 "@code{Async::Interrupt} implements a single feature only of interest
316to advanced perl modules, namely asynchronous interruptions (think \"UNIX
317signals\", which are very similar).
318
319Sometimes, modules wish to run code asynchronously (in another thread,
320or from a signal handler), and then signal the perl interpreter on
321certain events. One common way is to write some data to a pipe and use
322an event handling toolkit to watch for I/O events. Another way is to
323send a signal. Those methods are slow, and in the case of a pipe, also
324not asynchronous - it won't interrupt a running perl interpreter.
325
326This module implements asynchronous notifications that enable you to
327signal running perl code from another thread, asynchronously, and
328sometimes even without using a single syscall.")
329 (license (package-license perl))))
330
271(define-public perl-autovivification 331(define-public perl-autovivification
272 (package 332 (package
273 (name "perl-autovivification") 333 (name "perl-autovivification")
@@ -562,6 +622,25 @@ code or from an external program. Optionally, output can be teed so that it
562is captured while being passed through to the original file handles.") 622is captured while being passed through to the original file handles.")
563 (license asl2.0))) 623 (license asl2.0)))
564 624
625(define-public perl-canary-stability
626 (package
627 (name "perl-canary-stability")
628 (version "2012")
629 (source (origin
630 (method url-fetch)
631 (uri (string-append "mirror://cpan/authors/id/M/ML/MLEHMANN/"
632 "Canary-Stability-" version ".tar.gz"))
633 (sha256
634 (base32
635 "01vih43hvpqy67m6a6fwmlswli91mqpv8n8ccglvlkc33l8hn97x"))))
636 (build-system perl-build-system)
637 (home-page "http://search.cpan.org/dist/Canary-Stability")
638 (synopsis "Check compatibility with the installed perl version")
639 (description
640 "This module is used by Schmorp's modules during configuration stage
641to test the installed perl for compatibility with his modules.")
642 (license (package-license perl))))
643
565(define-public perl-carp-assert 644(define-public perl-carp-assert
566 (package 645 (package
567 (name "perl-carp-assert") 646 (name "perl-carp-assert")
@@ -1290,6 +1369,28 @@ contained in Appendix A of FIPS Publication 181, \"Standard for Automated
1290Password Generator\".") 1369Password Generator\".")
1291 (license (package-license perl)))) 1370 (license (package-license perl))))
1292 1371
1372(define-public perl-cwd-guard
1373 (package
1374 (name "perl-cwd-guard")
1375 (version "0.05")
1376 (source (origin
1377 (method url-fetch)
1378 (uri (string-append "mirror://cpan/authors/id/K/KA/KAZEBURO/"
1379 "Cwd-Guard-" version ".tar.gz"))
1380 (sha256
1381 (base32
1382 "0xwf4rmii55k3lp19mpbh00mbgby7rxdk2lk84148bjhp6i7rz3s"))))
1383 (build-system perl-build-system)
1384 (native-inputs
1385 `(("perl-module-build" ,perl-module-build)
1386 ("perl-test-requires" ,perl-test-requires)))
1387 (home-page "http://search.cpan.org/dist/Cwd-Guard")
1388 (synopsis "Temporarily change working directory")
1389 (description
1390 "@code{Cwd::Guard} changes the current directory using a limited scope.
1391It returns to the previous working directory when the object is destroyed.")
1392 (license (package-license perl))))
1393
1293(define-public perl-czplib 1394(define-public perl-czplib
1294 (package 1395 (package
1295 (name "perl-czplib") 1396 (name "perl-czplib")
@@ -2097,6 +2198,27 @@ the appropriate objects.")
2097particular command is available.") 2198particular command is available.")
2098 (license (package-license perl)))) 2199 (license (package-license perl))))
2099 2200
2201(define-public perl-devel-checkcompiler
2202 (package
2203 (name "perl-devel-checkcompiler")
2204 (version "0.07")
2205 (source (origin
2206 (method url-fetch)
2207 (uri (string-append "mirror://cpan/authors/id/S/SY/SYOHEX/"
2208 "Devel-CheckCompiler-" version ".tar.gz"))
2209 (sha256
2210 (base32
2211 "1db973a4dbyknjxq608hywil5ai6vplnayshqxrd7m5qnjbpd2vn"))))
2212 (build-system perl-build-system)
2213 (native-inputs
2214 `(("perl-module-build-tiny" ,perl-module-build-tiny)))
2215 (home-page "http://search.cpan.org/dist/Devel-CheckCompiler")
2216 (synopsis "Check compiler availability")
2217 (description "@code{Devel::CheckCompiler} is a tiny module to check
2218whether a compiler is available. It can test for a C99 compiler, or
2219you can tell it to compile a C source file with optional linker flags.")
2220 (license (package-license perl))))
2221
2100(define-public perl-devel-globaldestruction 2222(define-public perl-devel-globaldestruction
2101 (package 2223 (package
2102 (name "perl-devel-globaldestruction") 2224 (name "perl-devel-globaldestruction")
@@ -2603,6 +2725,29 @@ By itself it is not a particularly interesting module by any measure, however
2603it ties together a family of modern toolchain modules.") 2725it ties together a family of modern toolchain modules.")
2604 (license (package-license perl)))) 2726 (license (package-license perl))))
2605 2727
2728(define-public perl-extutils-depends
2729 (package
2730 (name "perl-extutils-depends")
2731 (version "0.405")
2732 (source (origin
2733 (method url-fetch)
2734 (uri (string-append "mirror://cpan/authors/id/X/XA/XAOC/"
2735 "ExtUtils-Depends-" version ".tar.gz"))
2736 (sha256
2737 (base32
2738 "0b4ab9qmcihsfs2ajhn5qzg7nhazr68v3r0zvb7076smswd41mla"))))
2739 (build-system perl-build-system)
2740 (native-inputs
2741 `(("perl-test-number-delta" ,perl-test-number-delta)))
2742 (home-page "http://search.cpan.org/dist/ExtUtils-Depends")
2743 (synopsis "Easily build XS extensions that depend on XS extensions")
2744 (description
2745 "This module tries to make it easy to build Perl extensions that use
2746functions and typemaps provided by other perl extensions. This means that a
2747perl extension is treated like a shared library that provides also a C and an
2748XS interface besides the perl one.")
2749 (license (package-license perl))))
2750
2606(define-public perl-extutils-helpers 2751(define-public perl-extutils-helpers
2607 (package 2752 (package
2608 (name "perl-extutils-helpers") 2753 (name "perl-extutils-helpers")
@@ -2645,6 +2790,29 @@ C code in your Perl programs, there isn't a clear method to compile standard,
2645self-contained C libraries. This module main goal is to help in that task.") 2790self-contained C libraries. This module main goal is to help in that task.")
2646 (license (package-license perl)))) 2791 (license (package-license perl))))
2647 2792
2793(define-public perl-extutils-pkgconfig
2794 (package
2795 (name "perl-extutils-pkgconfig")
2796 (version "1.15")
2797 (source (origin
2798 (method url-fetch)
2799 (uri (string-append "mirror://cpan/authors/id/X/XA/XAOC/"
2800 "ExtUtils-PkgConfig-" version ".tar.gz"))
2801 (sha256
2802 (base32
2803 "1cxh6w8vmyqmhl6afys2q6z6jkp1m6zvacpk70196zmk48p1kcv9"))))
2804 (build-system perl-build-system)
2805 (propagated-inputs
2806 `(("pkg-config" ,pkg-config)))
2807 (home-page "http://search.cpan.org/dist/ExtUtils-PkgConfig")
2808 (synopsis "Simplistic interface to pkg-config")
2809 (description
2810 "@code{ExtUtils::PkgConfig} is a very simplistic interface to the
2811@command{pkg-config} utility, intended for use in the @file{Makefile.PL}
2812of perl extensions which bind libraries that @command{pkg-config} knows.
2813It is really just boilerplate code that you would have written yourself.")
2814 (license lgpl2.1+)))
2815
2648(define-public perl-file-changenotify 2816(define-public perl-file-changenotify
2649 (package 2817 (package
2650 (name "perl-file-changenotify") 2818 (name "perl-file-changenotify")
@@ -3953,6 +4121,50 @@ replacement. Whereas Module::Build has over 6,700 lines of code; this module
3953has less than 120, yet supports the features needed by most distributions.") 4121has less than 120, yet supports the features needed by most distributions.")
3954 (license (package-license perl)))) 4122 (license (package-license perl))))
3955 4123
4124(define-public perl-module-build-xsutil
4125 (package
4126 (name "perl-module-build-xsutil")
4127 (version "0.16")
4128 (source (origin
4129 (method url-fetch)
4130 (uri (string-append "mirror://cpan/authors/id/H/HI/HIDEAKIO/"
4131 "Module-Build-XSUtil-" version ".tar.gz"))
4132 (sha256
4133 (base32
4134 "1nrs0b6hmwl3sw3g50b9857qgp5cbbbpl716zwn30h9vwjj2yxhm"))))
4135 (build-system perl-build-system)
4136 (native-inputs
4137 `(("perl-capture-tiny" ,perl-capture-tiny)
4138 ("perl-cwd-guard" ,perl-cwd-guard)
4139 ("perl-file-copy-recursive" ,perl-file-copy-recursive)
4140 ("perl-module-build" ,perl-module-build)))
4141 (propagated-inputs
4142 `(("perl-devel-checkcompiler" ,perl-devel-checkcompiler)))
4143 (home-page "http://search.cpan.org/dist/Module-Build-XSUtil")
4144 (synopsis "Module::Build class for building XS modules")
4145 (description
4146 "@code{Module::Build::XSUtil} is subclass of @code{Module::Build}
4147for support building XS modules.
4148
4149This is a list of a new parameters in the @code{Module::Build::new} method:
4150
4151@enumerate
4152@item @code{needs_compiler_c99}: This option checks C99 compiler availability.
4153@item @code{needs_compiler_cpp}: This option checks C++ compiler availability.
4154Can also pass @code{extra_compiler_flags} and @code{extra_linker_flags} for C++.
4155@item @code{generate_ppport_h}: Generate @file{ppport.h} by @code{Devel::PPPort}.
4156@item @code{generate_xshelper_h}: Generate @file{xshelper.h} which is a helper
4157header file to include @file{EXTERN.h}, @file{perl.h}, @file{XSUB.h} and
4158@file{ppport.h}, and defines some portability stuff which are not supported by
4159@file{ppport.h}.
4160
4161It is ported from @code{Module::Install::XSUtil}.
4162@item @code{cc_warnings}: Toggle compiler warnings. Enabled by default.
4163@item @code{-g options}: Invoke @file{Build.PL} with @code{-g} to enable
4164debug options.
4165@end enumerate")
4166 (license (package-license perl))))
4167
3956(define-public perl-module-find 4168(define-public perl-module-find
3957 (package 4169 (package
3958 (name "perl-module-find") 4170 (name "perl-module-find")
@@ -4732,6 +4944,62 @@ own set of Moose-like types. These custom types can then be used to describe
4732fields in Moo-based classes.") 4944fields in Moo-based classes.")
4733 (license (package-license perl)))) 4945 (license (package-license perl))))
4734 4946
4947(define-public perl-mouse
4948 (package
4949 (name "perl-mouse")
4950 (version "2.4.9")
4951 (source (origin
4952 (method url-fetch)
4953 (uri (string-append
4954 "mirror://cpan/authors/id/S/SY/SYOHEX/Mouse-v"
4955 version
4956 ".tar.gz"))
4957 (sha256
4958 (base32
4959 "1y20sl97x1h4y1iid47hj0w1hb2887dchh4nfffgmqpyggkslh4n"))))
4960 (build-system perl-build-system)
4961 (native-inputs
4962 `(("perl-module-build" ,perl-module-build)
4963 ("perl-module-build-xsutil" ,perl-module-build-xsutil)
4964 ("perl-test-exception" ,perl-test-exception)
4965 ("perl-test-fatal" ,perl-test-fatal)
4966 ("perl-test-leaktrace" ,perl-test-leaktrace)
4967 ("perl-test-output" ,perl-test-output)
4968 ("perl-test-requires" ,perl-test-requires)
4969 ("perl-try-tiny" ,perl-try-tiny)))
4970 (home-page "https://github.com/gfx/p5-Mouse")
4971 (synopsis "Fast Moose-compatible object system for perl5")
4972 (description
4973 "Mouse is a @code{Moose} compatible object system that implements a
4974subset of the functionality for reduced startup time.")
4975 (license (package-license perl))))
4976
4977(define-public perl-mousex-nativetraits
4978 (package
4979 (name "perl-mousex-nativetraits")
4980 (version "1.09")
4981 (source (origin
4982 (method url-fetch)
4983 (uri (string-append "mirror://cpan/authors/id/G/GF/GFUJI/"
4984 "MouseX-NativeTraits-" version ".tar.gz"))
4985 (sha256
4986 (base32
4987 "0pnbchkxfz9fwa8sniyjqp0mz75b3k2fafq9r09znbbh51dbz9gq"))))
4988 (build-system perl-build-system)
4989 (native-inputs
4990 `(("perl-any-moose" ,perl-any-moose)
4991 ("perl-test-fatal" ,perl-test-fatal)))
4992 (propagated-inputs
4993 `(("perl-mouse" ,perl-mouse)))
4994 (home-page "http://search.cpan.org/dist/MouseX-NativeTraits")
4995 (synopsis "Extend attribute interfaces for Mouse")
4996 (description
4997 "While @code{Mouse} attributes provide a way to name your accessors,
4998readers, writers, clearers and predicates, @code{MouseX::NativeTraits}
4999provides commonly used attribute helper methods for more specific types
5000of data.")
5001 (license (package-license perl))))
5002
4735(define-public perl-mozilla-ca 5003(define-public perl-mozilla-ca
4736 (package 5004 (package
4737 (name "perl-mozilla-ca") 5005 (name "perl-mozilla-ca")
@@ -6445,6 +6713,29 @@ including a stack trace of what was going on when it occurred.")
6445 "Test-NoWarnings-" version)) 6713 "Test-NoWarnings-" version))
6446 (license lgpl2.1))) 6714 (license lgpl2.1)))
6447 6715
6716(define-public perl-test-number-delta
6717 (package
6718 (name "perl-test-number-delta")
6719 (version "1.06")
6720 (source (origin
6721 (method url-fetch)
6722 (uri (string-append "mirror://cpan/authors/id/D/DA/DAGOLDEN/"
6723 "Test-Number-Delta-" version ".tar.gz"))
6724 (sha256
6725 (base32
6726 "0jfhzhpzkc23mkrlbnv085ykpfncmy99hvppbzjnrpvgks8k0m2k"))))
6727 (build-system perl-build-system)
6728 (home-page "http://search.cpan.org/dist/Test-Number-Delta")
6729 (synopsis
6730 "Compare the difference between numbers against a given tolerance")
6731 (description
6732 "At some point or another, most programmers find they need to compare
6733floating-point numbers for equality. The typical idiom is to test if the
6734absolute value of the difference of the numbers is within a desired tolerance,
6735usually called epsilon. This module provides such a function for use with
6736@code{Test::More}.")
6737 (license asl2.0)))
6738
6448(define-public perl-test-output 6739(define-public perl-test-output
6449 (package 6740 (package
6450 (name "perl-test-output") 6741 (name "perl-test-output")
@@ -7492,6 +7783,30 @@ attribute names.")
7492 ;; modification, are permitted under any circumstances. No warranty. 7783 ;; modification, are permitted under any circumstances. No warranty.
7493 (license public-domain))) 7784 (license public-domain)))
7494 7785
7786(define-public perl-xs-object-magic
7787 (package
7788 (name "perl-xs-object-magic")
7789 (version "0.04")
7790 (source (origin
7791 (method url-fetch)
7792 (uri (string-append "mirror://cpan/authors/id/F/FL/FLORA/"
7793 "XS-Object-Magic-" version ".tar.gz"))
7794 (sha256
7795 (base32
7796 "03fghj7hq0fiicmfdxhmzfm4mzv7s097pgkd32ji7jnljvhm9six"))))
7797 (build-system perl-build-system)
7798 (native-inputs
7799 `(("perl-extutils-depends" ,perl-extutils-depends)
7800 ("perl-test-fatal" ,perl-test-fatal)))
7801 (home-page "http://search.cpan.org/dist/XS-Object-Magic")
7802 (synopsis "Opaque, extensible XS pointer backed objects using sv_magic")
7803 (description
7804 "This way of associating structs with Perl space objects is designed to
7805supersede Perl's builtin @code{T_PTROBJ} with something that is extensible
7806(structs can be associated with any data type) and opaque (the C pointer is
7807neither visible nor modifiable from Perl space).")
7808 (license (package-license perl))))
7809
7495(define-public perl-yaml 7810(define-public perl-yaml
7496 (package 7811 (package
7497 (name "perl-yaml") 7812 (name "perl-yaml")
diff --git a/gnu/packages/photo.scm b/gnu/packages/photo.scm
index ce71d2a4418..c782ecf47f1 100644
--- a/gnu/packages/photo.scm
+++ b/gnu/packages/photo.scm
@@ -3,6 +3,7 @@
3;;; Copyright © 2015 Ricardo Wurmus <rekado@elephly.net> 3;;; Copyright © 2015 Ricardo Wurmus <rekado@elephly.net>
4;;; Copyright © 2015 Andreas Enge <andreas@enge.fr> 4;;; Copyright © 2015 Andreas Enge <andreas@enge.fr>
5;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il> 5;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il>
6;;; Copyright © 2017 Roel Janssen <roel@gnu.org>
6;;; 7;;;
7;;; This file is part of GNU Guix. 8;;; This file is part of GNU Guix.
8;;; 9;;;
@@ -33,6 +34,7 @@
33 #:use-module (gnu packages compression) 34 #:use-module (gnu packages compression)
34 #:use-module (gnu packages ghostscript) 35 #:use-module (gnu packages ghostscript)
35 #:use-module (gnu packages gl) 36 #:use-module (gnu packages gl)
37 #:use-module (gnu packages glib)
36 #:use-module (gnu packages graphics) 38 #:use-module (gnu packages graphics)
37 #:use-module (gnu packages image) 39 #:use-module (gnu packages image)
38 #:use-module (gnu packages imagemagick) 40 #:use-module (gnu packages imagemagick)
@@ -263,3 +265,38 @@ overlapping images, as well as some command line tools.")
263multi-resolution spline. Enfuse merges different exposures of the same 265multi-resolution spline. Enfuse merges different exposures of the same
264scene to produce an image that looks much like a tone-mapped image.") 266scene to produce an image that looks much like a tone-mapped image.")
265 (license license:gpl2+))) 267 (license license:gpl2+)))
268
269(define-public lensfun
270 (package
271 (name "lensfun")
272 (version "0.3.2")
273 (source (origin
274 (method url-fetch)
275 (uri (string-append
276 "mirror://sourceforge/lensfun/"
277 version "/lensfun-" version ".tar.gz"))
278 (sha256
279 (base32
280 "0cfk8jjhs9nbfjfdy98plrj9ayi59aph0nx6ppslgjhlcvacm2xf"))))
281 (build-system cmake-build-system)
282 (arguments `(#:tests? #f)) ; There are no tests to run.
283 (native-inputs
284 `(("pkg-config" ,pkg-config)))
285 (inputs
286 `(("glib" ,glib)))
287 (home-page "https://sourceforge.net/projects/lensfun/")
288 (synopsis "Library to correct optical lens defects with a lens database")
289 (description "Digital photographs are not ideal. Of course, the better is
290your camera, the better the results will be, but in any case if you look
291carefully at shots taken even by the most expensive cameras equipped with the
292most expensive lenses you will see various artifacts. It is very hard to make
293ideal cameras, because there are a lot of factors that affect the final image
294quality, and at some point camera and lens designers have to trade one factor
295for another to achieve the optimal image quality, within the given design
296restrictions and budget. But we all want ideal shots, don't we? So that's
297what's Lensfun is all about: rectifying the defects introduced by your
298photographic equipment.")
299 ;; The libraries are licensed under the LGPL3, the programs are
300 ;; licensed GPL3, and the database is license CC-BY-SA 3.0. See the
301 ;; README.md file for this clarification.
302 (license (list license:lgpl3 license:gpl3 license:cc-by-sa3.0))))
diff --git a/gnu/packages/plotutils.scm b/gnu/packages/plotutils.scm
index bf993c66a78..6d84bf2db6c 100644
--- a/gnu/packages/plotutils.scm
+++ b/gnu/packages/plotutils.scm
@@ -173,14 +173,14 @@ colors, styles, options and details.")
173(define-public asymptote 173(define-public asymptote
174 (package 174 (package
175 (name "asymptote") 175 (name "asymptote")
176 (version "2.39") 176 (version "2.40")
177 (source (origin 177 (source (origin
178 (method url-fetch) 178 (method url-fetch)
179 (uri (string-append "mirror://sourceforge/asymptote/" 179 (uri (string-append "mirror://sourceforge/asymptote/"
180 version "/asymptote-" version ".src.tgz")) 180 version "/asymptote-" version ".src.tgz"))
181 (sha256 181 (sha256
182 (base32 182 (base32
183 "187q81yw06x4gv2spfn0hcs1064ym3a8l6mdgawymfhqd60yhrs3")))) 183 "08hy8hgh217df9kwznr22mg8vxxh3rbmbxgx3nqhxyggc9xqy544"))))
184 (build-system gnu-build-system) 184 (build-system gnu-build-system)
185 ;; Note: The 'asy' binary retains a reference to docdir for use with its 185 ;; Note: The 'asy' binary retains a reference to docdir for use with its
186 ;; "help" command in interactive mode, so adding a "doc" output is not 186 ;; "help" command in interactive mode, so adding a "doc" output is not
diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm
index 4161cd34801..8326de679de 100644
--- a/gnu/packages/python.scm
+++ b/gnu/packages/python.scm
@@ -33,7 +33,7 @@
33;;; Copyright © 2016 Arun Isaac <arunisaac@systemreboot.net> 33;;; Copyright © 2016 Arun Isaac <arunisaac@systemreboot.net>
34;;; Copyright © 2016, 2017 Julien Lepiller <julien@lepiller.eu> 34;;; Copyright © 2016, 2017 Julien Lepiller <julien@lepiller.eu>
35;;; Copyright © 2016, 2017 Tobias Geerinckx-Rice <me@tobias.gr> 35;;; Copyright © 2016, 2017 Tobias Geerinckx-Rice <me@tobias.gr>
36;;; Copyright © 2016 Thomas Danckaert <post@thomasdanckaert.be> 36;;; Copyright © 2016, 2017 Thomas Danckaert <post@thomasdanckaert.be>
37;;; Copyright © 2017 Carlo Zancanaro <carlo@zancanaro.id.au> 37;;; Copyright © 2017 Carlo Zancanaro <carlo@zancanaro.id.au>
38;;; Copyright © 2017 Frederick M. Muriithi <fredmanglis@gmail.com> 38;;; Copyright © 2017 Frederick M. Muriithi <fredmanglis@gmail.com>
39;;; 39;;;
@@ -69,6 +69,7 @@
69 #:use-module (gnu packages ghostscript) 69 #:use-module (gnu packages ghostscript)
70 #:use-module (gnu packages gl) 70 #:use-module (gnu packages gl)
71 #:use-module (gnu packages glib) 71 #:use-module (gnu packages glib)
72 #:use-module (gnu packages graphviz)
72 #:use-module (gnu packages gstreamer) 73 #:use-module (gnu packages gstreamer)
73 #:use-module (gnu packages gtk) 74 #:use-module (gnu packages gtk)
74 #:use-module (gnu packages icu4c) 75 #:use-module (gnu packages icu4c)
@@ -77,6 +78,7 @@
77 #:use-module (gnu packages libevent) 78 #:use-module (gnu packages libevent)
78 #:use-module (gnu packages libffi) 79 #:use-module (gnu packages libffi)
79 #:use-module (gnu packages linux) 80 #:use-module (gnu packages linux)
81 #:use-module (gnu packages man)
80 #:use-module (gnu packages maths) 82 #:use-module (gnu packages maths)
81 #:use-module (gnu packages multiprecision) 83 #:use-module (gnu packages multiprecision)
82 #:use-module (gnu packages networking) 84 #:use-module (gnu packages networking)
@@ -87,8 +89,10 @@
87 #:use-module (gnu packages perl) 89 #:use-module (gnu packages perl)
88 #:use-module (gnu packages pkg-config) 90 #:use-module (gnu packages pkg-config)
89 #:use-module (gnu packages protobuf) 91 #:use-module (gnu packages protobuf)
92 #:use-module (gnu packages qt)
90 #:use-module (gnu packages readline) 93 #:use-module (gnu packages readline)
91 #:use-module (gnu packages sdl) 94 #:use-module (gnu packages sdl)
95 #:use-module (gnu packages shells)
92 #:use-module (gnu packages statistics) 96 #:use-module (gnu packages statistics)
93 #:use-module (gnu packages tex) 97 #:use-module (gnu packages tex)
94 #:use-module (gnu packages texinfo) 98 #:use-module (gnu packages texinfo)
@@ -444,6 +448,9 @@ instead of @command{python3}.")))
444 (base32 448 (base32
445 "1w4r09fvn6kd80m5mx4ws1wz100brkaq6hzzpwrns8cgjzjpl6c6")))) 449 "1w4r09fvn6kd80m5mx4ws1wz100brkaq6hzzpwrns8cgjzjpl6c6"))))
446 (build-system python-build-system) 450 (build-system python-build-system)
451 (arguments
452 ;; FIXME: some tests does not return and times out.
453 '(#:tests? #f))
447 (home-page "https://www.github.com/giampaolo/psutil") 454 (home-page "https://www.github.com/giampaolo/psutil")
448 (synopsis "Library for retrieving information on running processes") 455 (synopsis "Library for retrieving information on running processes")
449 (description 456 (description
@@ -462,14 +469,14 @@ pidof, tty, taskset, pmap.")
462(define-public python-passlib 469(define-public python-passlib
463 (package 470 (package
464 (name "python-passlib") 471 (name "python-passlib")
465 (version "1.7.0") 472 (version "1.7.1")
466 (source 473 (source
467 (origin 474 (origin
468 (method url-fetch) 475 (method url-fetch)
469 (uri (pypi-uri "passlib" version)) 476 (uri (pypi-uri "passlib" version))
470 (sha256 477 (sha256
471 (base32 478 (base32
472 "1vdbqsa1a31s98fxkinl052q8nnpvbxnb83qanxfpi2p6c2zdr0b")))) 479 "1q2khqpj9rlcgdmkypjdq1kswvhjf72bq0zk2cv669cc2dj8z51x"))))
473 (build-system python-build-system) 480 (build-system python-build-system)
474 (native-inputs 481 (native-inputs
475 `(("python-nose" ,python-nose))) 482 `(("python-nose" ,python-nose)))
@@ -544,6 +551,14 @@ John the Ripper).")
544 (base32 551 (base32
545 "14k8z7ndc3zk5xivnm4d8lncchx475ll5izpf8vmfbq7rp9yp5rj")))) 552 "14k8z7ndc3zk5xivnm4d8lncchx475ll5izpf8vmfbq7rp9yp5rj"))))
546 (build-system python-build-system) 553 (build-system python-build-system)
554 (arguments
555 '(;; FIXME: One test fails with "EOFError not raised by connect".
556 #:tests? #f))
557 ;; #:phases
558 ;; (modify-phases %standard-phases
559 ;; (replace 'check
560 ;; (lambda _
561 ;; (zero? (system* "python" "test.py")))))))
547 (propagated-inputs 562 (propagated-inputs
548 `(("python-pycrypto" ,python-pycrypto) 563 `(("python-pycrypto" ,python-pycrypto)
549 ("python-ecdsa" ,python-ecdsa))) 564 ("python-ecdsa" ,python-ecdsa)))
@@ -819,14 +834,14 @@ concepts.")
819(define-public python-netcdf4 834(define-public python-netcdf4
820 (package 835 (package
821 (name "python-netcdf4") 836 (name "python-netcdf4")
822 (version "1.2.6") 837 (version "1.2.7")
823 (source 838 (source
824 (origin 839 (origin
825 (method url-fetch) 840 (method url-fetch)
826 (uri (pypi-uri "netCDF4" version)) 841 (uri (pypi-uri "netCDF4" version))
827 (sha256 842 (sha256
828 (base32 843 (base32
829 "1qcymsfxsdfr4sx0vl7ih5d14z66k6c9sjy4gb6rjaksk5387zvg")))) 844 "1fllizmnpw0zkzzm4j9pgamarlzfn3kmv9zrm0w65q1y31h9ni0c"))))
830 (build-system python-build-system) 845 (build-system python-build-system)
831 (native-inputs 846 (native-inputs
832 `(("python-cython" ,python-cython))) 847 `(("python-cython" ,python-cython)))
@@ -1010,6 +1025,40 @@ etc.). The package is structured to make adding new modules easy.")
1010 "python" 1025 "python"
1011 (package-inputs pycrypto))))))) 1026 (package-inputs pycrypto)))))))
1012 1027
1028(define-public python-eventlet
1029 (package
1030 (name "python-eventlet")
1031 (version "0.20.1")
1032 (source
1033 (origin
1034 (method url-fetch)
1035 (uri (pypi-uri "eventlet" version))
1036 (sha256
1037 (base32
1038 "0f3q55mq4n021wb7qa53pz3ix6i2py64sap66vsaqm2scjw83m9s"))))
1039 (build-system python-build-system)
1040 (propagated-inputs
1041 `(("python-greenlet" ,python-greenlet)))
1042 (home-page "http://eventlet.net")
1043 (synopsis "Concurrent networking library for Python")
1044 (description
1045 "Eventlet is a concurrent networking library for Python that
1046allows you to change how you run your code, not how you write it.
1047It uses @code{epoll} or @code{libevent} for highly scalable non-blocking I/O.
1048Coroutines ensure that the developer uses a blocking style of programming
1049that is similar to threading, but provide the benefits of non-blocking I/O.
1050The event dispatch is implicit, which means you can easily use @code{Eventlet}
1051from the Python interpreter, or as a small part of a larger application.")
1052 (license license:expat)))
1053
1054(define-public python2-eventlet
1055 (let ((base (package-with-python2
1056 (strip-python2-variant python-eventlet))))
1057 (package (inherit base)
1058 (propagated-inputs
1059 `(("python2-enum34" ,python2-enum34)
1060 ,@(package-propagated-inputs base))))))
1061
1013(define-public python-keyring 1062(define-public python-keyring
1014 (package 1063 (package
1015 (name "python-keyring") 1064 (name "python-keyring")
@@ -1052,6 +1101,9 @@ password storage.")
1052 (base32 1101 (base32
1053 "0snmb8xffb3vsma0z67i0h0w2g2dy0p3gsgh9gi4i0kgc5l8spqh")))) 1102 "0snmb8xffb3vsma0z67i0h0w2g2dy0p3gsgh9gi4i0kgc5l8spqh"))))
1054 (build-system python-build-system) 1103 (build-system python-build-system)
1104 (native-inputs
1105 `(("python-py" ,python-py)
1106 ("python-pytest" ,python-pytest)))
1055 (home-page "http://pypi.python.org/pypi/six/") 1107 (home-page "http://pypi.python.org/pypi/six/")
1056 (synopsis "Python 2 and 3 compatibility utilities") 1108 (synopsis "Python 2 and 3 compatibility utilities")
1057 (description 1109 (description
@@ -1065,7 +1117,7 @@ Python file, so it can be easily copied into your project.")
1065(define-public python2-six 1117(define-public python2-six
1066 (package-with-python2 python-six)) 1118 (package-with-python2 python-six))
1067 1119
1068(define-public python-dateutil-2 1120(define-public python-dateutil
1069 (package 1121 (package
1070 (name "python-dateutil") 1122 (name "python-dateutil")
1071 (version "2.5.3") 1123 (version "2.5.3")
@@ -1086,29 +1138,6 @@ Python file, so it can be easily copied into your project.")
1086datetime module, available in Python 2.3+.") 1138datetime module, available in Python 2.3+.")
1087 (license license:bsd-3))) 1139 (license license:bsd-3)))
1088 1140
1089(define-public python2-dateutil-2
1090 (package-with-python2 python-dateutil-2))
1091
1092(define-public python-dateutil
1093 (package
1094 (name "python-dateutil")
1095 (version "1.5") ; last version for python < 3
1096 (source
1097 (origin
1098 (method url-fetch)
1099 (uri (string-append "http://labix.org/download/python-dateutil/"
1100 "python-dateutil-" version ".tar.gz"))
1101 (sha256
1102 (base32
1103 "0fqfglhy5khbvsipr3x7m6bcaqljh8xl5cw33vbfxy7qhmywm2n0"))))
1104 (build-system python-build-system)
1105 (home-page "https://dateutil.readthedocs.io/en/stable/")
1106 (synopsis "Extensions to the standard datetime module")
1107 (description
1108 "The dateutil module provides powerful extensions to the standard
1109datetime module, available in Python 2.3+.")
1110 (license license:psfl)))
1111
1112(define-public python2-dateutil 1141(define-public python2-dateutil
1113 (package-with-python2 python-dateutil)) 1142 (package-with-python2 python-dateutil))
1114 1143
@@ -1140,21 +1169,20 @@ datetime module, available in Python 2.3+.")
1140(define-public python-pandas 1169(define-public python-pandas
1141 (package 1170 (package
1142 (name "python-pandas") 1171 (name "python-pandas")
1143 (version "0.18.1") 1172 (version "0.19.2")
1144 (source 1173 (source
1145 (origin 1174 (origin
1146 (method url-fetch) 1175 (method url-fetch)
1147 (uri (string-append 1176 (uri (pypi-uri "pandas" version))
1148 "https://pypi.python.org/packages/11/09/"
1149 "e66eb844daba8680ddff26335d5b4fead77f60f957678243549a8dd4830d/"
1150 "pandas-" version ".tar.gz"))
1151 (sha256 1177 (sha256
1152 (base32 "1ckpxrvvjj6zxmn68icd9hib8qcpx9b35f6izxnr25br5ilq7r6j")))) 1178 (base32 "0540cnbwy2hc4hv2sxfs8i47xi91qzvzxfn80dl785ibiicly3vg"))
1179 (patches
1180 (search-patches "python-pandas-skip-failing-tests.patch"))))
1153 (build-system python-build-system) 1181 (build-system python-build-system)
1154 (propagated-inputs 1182 (propagated-inputs
1155 `(("python-numpy" ,python-numpy) 1183 `(("python-numpy" ,python-numpy)
1156 ("python-pytz" ,python-pytz) 1184 ("python-pytz" ,python-pytz)
1157 ("python-dateutil" ,python-dateutil-2))) 1185 ("python-dateutil" ,python-dateutil)))
1158 (native-inputs 1186 (native-inputs
1159 `(("python-nose" ,python-nose) 1187 `(("python-nose" ,python-nose)
1160 ("python-cython" ,python-cython))) 1188 ("python-cython" ,python-cython)))
@@ -1298,6 +1326,15 @@ Python 3.3+.")
1298 (base32 1326 (base32
1299 "16rmxy9y0qhqqna2v49i7nzwm09as699rbyvh4raw7w602w55c3k")))) 1327 "16rmxy9y0qhqqna2v49i7nzwm09as699rbyvh4raw7w602w55c3k"))))
1300 (build-system python-build-system) 1328 (build-system python-build-system)
1329 (arguments
1330 '(#:phases
1331 (modify-phases %standard-phases
1332 (add-before 'check 'delete-failing-test
1333 (lambda _
1334 ;; XXX: These tests require locales that are unavailable
1335 ;; in the build environment.
1336 (delete-file "test/test_DateTimeParserGenerator.py")
1337 #t)))))
1301 (inputs 1338 (inputs
1302 `(("icu4c" ,icu4c))) 1339 `(("icu4c" ,icu4c)))
1303 (home-page "http://pyicu.osafoundation.org/") 1340 (home-page "http://pyicu.osafoundation.org/")
@@ -1730,6 +1767,12 @@ standard library.")
1730 (base32 1767 (base32
1731 "0561gz2w3i825gyl42mcq14y3dcgkapfiv5zv9a2bz15qxiijl56")))) 1768 "0561gz2w3i825gyl42mcq14y3dcgkapfiv5zv9a2bz15qxiijl56"))))
1732 (build-system python-build-system) 1769 (build-system python-build-system)
1770 (arguments
1771 ;; FIXME: "ImportError: 'test' module incorrectly imported from
1772 ;; '/gnu/store/...-python-pytest-mimimal-3.0.5/lib/python3.5/site-packages'.
1773 ;; Expected '/tmp/guix-build-python-py-1.4.31.drv-0/py-1.4.31/py'.
1774 ;; Is this module globally installed?"
1775 '(#:tests? #f))
1733 (home-page "http://pylib.readthedocs.org/") 1776 (home-page "http://pylib.readthedocs.org/")
1734 (synopsis "Python library for parsing, I/O, instrospection, and logging") 1777 (synopsis "Python library for parsing, I/O, instrospection, and logging")
1735 (description 1778 (description
@@ -1928,6 +1971,15 @@ same arguments.")
1928 (for-each delete-file (find-files "." "\\.pyc$")) 1971 (for-each delete-file (find-files "." "\\.pyc$"))
1929 #t)))) 1972 #t))))
1930 (build-system python-build-system) 1973 (build-system python-build-system)
1974 (arguments
1975 '(#:tests? #f)) ;FIXME: Some tests are failing.
1976 ;; #:phases
1977 ;; (modify-phases %standard-phases
1978 ;; (delete 'check)
1979 ;; (add-after 'install 'check
1980 ;; (lambda* (#:key inputs outputs #:allow-other-keys)
1981 ;; (add-installed-pythonpath inputs outputs)
1982 ;; (zero? (system* "py.test" "-v")))))
1931 (native-inputs 1983 (native-inputs
1932 `(("unzip" ,unzip) 1984 `(("unzip" ,unzip)
1933 ("python-setuptools-scm" ,python-setuptools-scm))) 1985 ("python-setuptools-scm" ,python-setuptools-scm)))
@@ -1980,17 +2032,36 @@ subprocess and see the output as well as any file modifications.")
1980(define-public python-testtools 2032(define-public python-testtools
1981 (package 2033 (package
1982 (name "python-testtools") 2034 (name "python-testtools")
1983 (version "1.0.0") 2035 (version "1.4.0")
1984 (source 2036 (source
1985 (origin 2037 (origin
1986 (method url-fetch) 2038 (method url-fetch)
1987 (uri (string-append 2039 (uri (pypi-uri "testtools" version))
1988 "https://pypi.python.org/packages/source/t/testtools/testtools-"
1989 version ".tar.gz"))
1990 (sha256 2040 (sha256
1991 (base32 2041 (base32
1992 "1dyml28ykpl5jb9khdmcdvhy1cxqingys6qvj2k04fzlaj6z3bbx")))) 2042 "1vw8yljnd75d396hhw6s2hrf4cclzy845ifd5am0lxsl235z3i8c"))))
1993 (build-system python-build-system) 2043 (build-system python-build-system)
2044 (arguments
2045 `(#:phases
2046 (modify-phases %standard-phases
2047 (add-after 'unpack 'fix-module-imports
2048 (lambda _
2049 (substitute* "setup.py"
2050 (("'unittest2>=0.8.0',") ""))
2051 (substitute* '("testtools/testcase.py"
2052 "testtools/testsuite.py"
2053 "testtools/run.py"
2054 "testtools/tests/test_run.py"
2055 "testtools/tests/test_testsuite.py"
2056 "testtools/tests/test_deferredruntest.py")
2057 ;; unittest2 is a backport of Python2.7 features to Python 2.4.
2058 (("import unittest2 as unittest") "import unittest")
2059 (("import unittest2") "import unittest as unittest2")
2060 (("from unittest2 import") "from unittest import"))
2061 (substitute* "testtools/tests/test_testresult.py"
2062 ;; NUL in source code is not allowed (raises ValueError).
2063 (("\\x00\\x04") "\\x04"))
2064 #t)))))
1994 (propagated-inputs 2065 (propagated-inputs
1995 `(("python-mimeparse" ,python-mimeparse) 2066 `(("python-mimeparse" ,python-mimeparse)
1996 ("python-extras" ,python-extras))) 2067 ("python-extras" ,python-extras)))
@@ -2106,7 +2177,8 @@ protocol.")
2106 (uri (pypi-uri "pbr" version)) 2177 (uri (pypi-uri "pbr" version))
2107 (sha256 2178 (sha256
2108 (base32 2179 (base32
2109 "177kd9kbv1hvf2ban7l3x9ymzbi1md4hkaymwbgnz7ihf312hr0q")))) 2180 "177kd9kbv1hvf2ban7l3x9ymzbi1md4hkaymwbgnz7ihf312hr0q"))
2181 (patches (search-patches "python-pbr-fix-man-page-support.patch"))))
2110 (build-system python-build-system) 2182 (build-system python-build-system)
2111 (arguments 2183 (arguments
2112 `(#:tests? #f)) 2184 `(#:tests? #f))
@@ -2161,10 +2233,18 @@ from git information.
2161 (base32 2233 (base32
2162 "0djxvdwm8s60dbfn7bhf40x6g818p3b3mlwijm1c3bqg7msn271y")))) 2234 "0djxvdwm8s60dbfn7bhf40x6g818p3b3mlwijm1c3bqg7msn271y"))))
2163 (build-system python-build-system) 2235 (build-system python-build-system)
2236 (arguments
2237 '(#:phases
2238 (modify-phases %standard-phases
2239 (replace 'check
2240 (lambda _
2241 (zero? (system* "python" "-m" "testtools.run"
2242 "fixtures.test_suite")))))))
2164 (propagated-inputs 2243 (propagated-inputs
2165 `(("python-six" ,python-six))) 2244 `(("python-six" ,python-six)))
2166 (native-inputs 2245 (native-inputs
2167 `(("python-pbr-minimal" ,python-pbr-minimal) 2246 `(("python-mock" ,python-mock)
2247 ("python-pbr-minimal" ,python-pbr-minimal)
2168 ("python-testtools" ,python-testtools))) 2248 ("python-testtools" ,python-testtools)))
2169 (home-page "https://launchpad.net/python-fixtures") 2249 (home-page "https://launchpad.net/python-fixtures")
2170 (synopsis "Python test fixture library") 2250 (synopsis "Python test fixture library")
@@ -2190,6 +2270,9 @@ Python tests.")
2190 (base32 2270 (base32
2191 "1ssqb07c277010i6gzzkbdd46gd9mrj0bi0i8vn560n2k2y4j93m")))) 2271 "1ssqb07c277010i6gzzkbdd46gd9mrj0bi0i8vn560n2k2y4j93m"))))
2192 (build-system python-build-system) 2272 (build-system python-build-system)
2273 (arguments
2274 ;; FIXME: Many tests are failing.
2275 '(#:tests? #f))
2193 (propagated-inputs 2276 (propagated-inputs
2194 `(("python-fixtures" ,python-fixtures) 2277 `(("python-fixtures" ,python-fixtures)
2195 ("python-subunit" ,python-subunit) 2278 ("python-subunit" ,python-subunit)
@@ -2219,6 +2302,9 @@ have failed since the last commit or what tests are currently failing.")
2219 (base32 2302 (base32
2220 "01rbr4br4lsk0lwn8fb96zwd2xr4f0mg1w7iq3j11i8f5ig2nqs1")))) 2303 "01rbr4br4lsk0lwn8fb96zwd2xr4f0mg1w7iq3j11i8f5ig2nqs1"))))
2221 (build-system python-build-system) 2304 (build-system python-build-system)
2305 (arguments
2306 ;; FIXME: 95 tests failed, 539 passed, 6 skipped, 2 errors.
2307 '(#:tests? #f))
2222 (home-page "http://nedbatchelder.com/code/coverage") 2308 (home-page "http://nedbatchelder.com/code/coverage")
2223 (synopsis "Code coverage measurement for Python") 2309 (synopsis "Code coverage measurement for Python")
2224 (description 2310 (description
@@ -2394,7 +2480,12 @@ is used by the Requests library to verify HTTPS requests.")
2394 (substitute* "click/_unicodefun.py" 2480 (substitute* "click/_unicodefun.py"
2395 (("'locale'") 2481 (("'locale'")
2396 (string-append "'" glibc "/bin/locale'")))) 2482 (string-append "'" glibc "/bin/locale'"))))
2397 #t))))) 2483 #t))
2484 (replace 'check
2485 (lambda _
2486 (zero? (system* "make" "test")))))))
2487 (native-inputs
2488 `(("python-pytest" ,python-pytest)))
2398 (home-page "http://click.pocoo.org") 2489 (home-page "http://click.pocoo.org")
2399 (synopsis "Command line library for Python") 2490 (synopsis "Command line library for Python")
2400 (description 2491 (description
@@ -2446,19 +2537,18 @@ installed with a newer @code{pip} or with wheel's own command line utility.")
2446(define-public python-requests 2537(define-public python-requests
2447 (package 2538 (package
2448 (name "python-requests") 2539 (name "python-requests")
2449 (version "2.9.1") 2540 (version "2.13.0")
2450 (source (origin 2541 (source (origin
2451 (method url-fetch) 2542 (method url-fetch)
2452 (uri (pypi-uri "requests" version)) 2543 (uri (pypi-uri "requests" version))
2453 (sha256 2544 (sha256
2454 (base32 2545 (base32
2455 "0zsqrzlybf25xscgi7ja4s48y2abf9wvjkn47wh984qgs1fq2xy5")))) 2546 "1s0wg4any4dsv5l3hqjxqk2zgb7pdbqhy9rhc8kh3aigfq4ws8jp"))))
2547 ;; TODO: unbundle urllib3 and chardet.
2456 (build-system python-build-system) 2548 (build-system python-build-system)
2457 (native-inputs 2549 (arguments
2458 `(("python-py" ,python-py) 2550 ;; FIXME: Some tests require network access.
2459 ("python-pytest" ,python-pytest) 2551 '(#:tests? #f))
2460 ("python-pytest-cov" ,python-pytest-cov)
2461 ("python-wheel" ,python-wheel)))
2462 (home-page "http://python-requests.org/") 2552 (home-page "http://python-requests.org/")
2463 (synopsis "Python HTTP library") 2553 (synopsis "Python HTTP library")
2464 (description 2554 (description
@@ -2618,6 +2708,35 @@ somewhat intelligeble.")
2618(define-public python2-pyjwt 2708(define-public python2-pyjwt
2619 (package-with-python2 python-pyjwt)) 2709 (package-with-python2 python-pyjwt))
2620 2710
2711(define-public python-pykka
2712 (package
2713 (name "python-pykka")
2714 (version "1.2.1")
2715 (source
2716 (origin
2717 (method url-fetch)
2718 (uri (pypi-uri "Pykka" version))
2719 (sha256
2720 (base32
2721 "049w3r0mdnnw7xv19jiq7rvls9k7xs73x05b4qs5d6z4vvmgyiz8"))))
2722 (build-system python-build-system)
2723 (native-inputs
2724 `(("python-mock" ,python-mock)
2725 ("python-nose" ,python-nose)
2726 ("python-gevent" ,python-gevent)
2727 ("python-eventlet" ,python-eventlet)))
2728 (home-page "https://www.pykka.org/")
2729 (synopsis "Pykka is a Python implementation of the actor model")
2730 (description
2731 "Pykka is a Python implementation of the actor model.
2732The actor model introduces some simple rules to control the sharing
2733of state and cooperation between execution units, which makes it
2734easier to build concurrent applications.")
2735 (license license:asl2.0)))
2736
2737(define-public python2-pykka
2738 (package-with-python2 python-pykka))
2739
2621(define-public python-oauthlib 2740(define-public python-oauthlib
2622 (package 2741 (package
2623 (name "python-oauthlib") 2742 (name "python-oauthlib")
@@ -2631,6 +2750,7 @@ somewhat intelligeble.")
2631 (build-system python-build-system) 2750 (build-system python-build-system)
2632 (native-inputs 2751 (native-inputs
2633 `(("python-nose" ,python-nose) 2752 `(("python-nose" ,python-nose)
2753 ("python-mock" ,python-mock)
2634 ("python-cryptography" ,python-cryptography) 2754 ("python-cryptography" ,python-cryptography)
2635 ("python-pyjwt" ,python-pyjwt) 2755 ("python-pyjwt" ,python-pyjwt)
2636 ("python-blinker" ,python-blinker))) 2756 ("python-blinker" ,python-blinker)))
@@ -2647,7 +2767,6 @@ OAuth request-signing logic.")
2647 (package 2767 (package
2648 (inherit base) 2768 (inherit base)
2649 (native-inputs `(("python2-unittest2" ,python2-unittest2) 2769 (native-inputs `(("python2-unittest2" ,python2-unittest2)
2650 ("python2-mock" ,python2-mock)
2651 ,@(package-native-inputs base)))))) 2770 ,@(package-native-inputs base))))))
2652 2771
2653(define-public python-itsdangerous 2772(define-public python-itsdangerous
@@ -2794,15 +2913,26 @@ written in pure Python.")
2794 (base32 2913 (base32
2795 "0nmqsfmiw4arjxqkmf9z66ml950pcdjk6aq4gin4sywmzdjw5fzp")))) 2914 "0nmqsfmiw4arjxqkmf9z66ml950pcdjk6aq4gin4sywmzdjw5fzp"))))
2796 (build-system python-build-system) 2915 (build-system python-build-system)
2916 (arguments
2917 '(#:tests? #f)) ; FIXME: Python 3 tests are failing.
2797 (home-page "http://defunkt.io/pystache/") 2918 (home-page "http://defunkt.io/pystache/")
2798 (synopsis "Python logic-less template engine") 2919 (synopsis "Python logic-less template engine")
2799 (description 2920 (description
2800 "Pystache is a Python implementation of the framework agnostic, 2921 "Pystache is a Python implementation of the framework agnostic,
2801logic-free templating system Mustache.") 2922logic-free templating system Mustache.")
2802 (license license:expat))) 2923 (license license:expat)
2924 (properties `((python2-variant . ,(delay python2-pystache))))))
2803 2925
2804(define-public python2-pystache 2926(define-public python2-pystache
2805 (package-with-python2 python-pystache)) 2927 (package (inherit (package-with-python2
2928 (strip-python2-variant python-pystache)))
2929 (arguments
2930 `(#:python ,python-2
2931 #:phases
2932 (modify-phases %standard-phases
2933 (replace 'check
2934 (lambda _
2935 (zero? (system* "python" "test_pystache.py")))))))))
2806 2936
2807(define-public python-joblib 2937(define-public python-joblib
2808 (package 2938 (package
@@ -2899,6 +3029,9 @@ reStructuredText.")
2899 (base32 3029 (base32
2900 "10axnp2wpjnq9g8wg53fx0c70dfxqrz498jyz8mrdx9a3flwir48")))) 3030 "10axnp2wpjnq9g8wg53fx0c70dfxqrz498jyz8mrdx9a3flwir48"))))
2901 (build-system python-build-system) 3031 (build-system python-build-system)
3032 (arguments
3033 ;; FIXME: Tests require sphinx, which depends on this.
3034 '(#:tests? #f))
2902 (home-page "http://pygments.org/") 3035 (home-page "http://pygments.org/")
2903 (synopsis "Syntax highlighting") 3036 (synopsis "Syntax highlighting")
2904 (description 3037 (description
@@ -2911,30 +3044,56 @@ reStructuredText.")
2911(define-public python-sphinx 3044(define-public python-sphinx
2912 (package 3045 (package
2913 (name "python-sphinx") 3046 (name "python-sphinx")
2914 (version "1.2.3") 3047 (version "1.5.1")
2915 (source 3048 (source
2916 (origin 3049 (origin
2917 (method url-fetch) 3050 (method url-fetch)
2918 (uri (string-append 3051 (uri (pypi-uri "Sphinx" version))
2919 "https://pypi.python.org/packages/source/S/Sphinx/Sphinx-"
2920 version ".tar.gz"))
2921 (sha256 3052 (sha256
2922 (base32 3053 (base32
2923 "011xizm3jnmf4cvs5i6kgf6c5nn046h79i8j0vd0f27yw9j3p4wl")))) 3054 "1i8p9idnli4gr0y4x67yakbdk5w6a0xjzhrg6bg51y9d1fi7fslf"))))
2924 (build-system python-build-system) 3055 (build-system python-build-system)
3056 (arguments
3057 `(#:phases
3058 (modify-phases %standard-phases
3059 (replace 'check
3060 (lambda _
3061 ;; Requires Internet access.
3062 (delete-file "tests/test_build_linkcheck.py")
3063 (zero? (system* "make" "test")))))))
2925 (propagated-inputs 3064 (propagated-inputs
2926 `(("python-jinja2" ,python-jinja2) 3065 `(("python-imagesize" ,python-imagesize)
3066 ("python-sphinx-alabaster-theme"
3067 ,python-sphinx-alabaster-theme)
3068 ("python-babel" ,python-babel)
3069 ("python-snowballstemmer" ,python-snowballstemmer)
2927 ("python-docutils" ,python-docutils) 3070 ("python-docutils" ,python-docutils)
2928 ("python-pygments" ,python-pygments))) 3071 ("python-jinja2" ,python-jinja2)
3072 ("python-pygments" ,python-pygments)
3073 ("python-requests" ,python-requests)
3074 ("python-six" ,python-six)))
3075 (native-inputs
3076 `(("graphviz" ,graphviz)
3077 ("python-html5lib" ,python-html5lib)
3078 ("python-mock" ,python-mock)
3079 ("python-nose" ,python-nose)))
2929 (home-page "http://sphinx-doc.org/") 3080 (home-page "http://sphinx-doc.org/")
2930 (synopsis "Python documentation generator") 3081 (synopsis "Python documentation generator")
2931 (description "Sphinx is a tool that makes it easy to create documentation 3082 (description "Sphinx is a tool that makes it easy to create documentation
2932for Python projects or other documents consisting of multiple reStructuredText 3083for Python projects or other documents consisting of multiple reStructuredText
2933sources.") 3084sources.")
2934 (license license:bsd-3))) 3085 (license license:bsd-3)
3086 (properties `((python2-variant . ,(delay python2-sphinx))))))
2935 3087
2936(define-public python2-sphinx 3088(define-public python2-sphinx
2937 (package-with-python2 python-sphinx)) 3089 (let ((base (package-with-python2 (strip-python2-variant python-sphinx))))
3090 (package
3091 (inherit base)
3092 (native-inputs `(("python2-mock" ,python2-mock)
3093 ("python2-enum34" ,python2-enum34)
3094 ,@(package-native-inputs base)))
3095 (propagated-inputs `(("python2-pytz" ,python2-pytz)
3096 ,@(package-propagated-inputs base))))))
2938 3097
2939(define-public python-sphinx-rtd-theme 3098(define-public python-sphinx-rtd-theme
2940 (package 3099 (package
@@ -2950,6 +3109,9 @@ sources.")
2950 (base32 3109 (base32
2951 "19nw3rn7awplcdrz63kg1njqwkbymfg9lwn7l2grhdyhyr2gaa8g")))) 3110 "19nw3rn7awplcdrz63kg1njqwkbymfg9lwn7l2grhdyhyr2gaa8g"))))
2952 (build-system python-build-system) 3111 (build-system python-build-system)
3112 (arguments '(#:tests? #f)) ; No tests.
3113 (propagated-inputs
3114 `(("python-sphinx" ,python-sphinx)))
2953 (home-page "https://github.com/snide/sphinx_rtd_theme/") 3115 (home-page "https://github.com/snide/sphinx_rtd_theme/")
2954 (synopsis "ReadTheDocs.org theme for Sphinx") 3116 (synopsis "ReadTheDocs.org theme for Sphinx")
2955 (description "A theme for Sphinx used by ReadTheDocs.org.") 3117 (description "A theme for Sphinx used by ReadTheDocs.org.")
@@ -2971,7 +3133,7 @@ sources.")
2971 "0bh4lnj2p1nh0wf5pgxgfbrp27xhb1rinahkb5j7s3qprq6qn0sr")))) 3133 "0bh4lnj2p1nh0wf5pgxgfbrp27xhb1rinahkb5j7s3qprq6qn0sr"))))
2972 (build-system python-build-system) 3134 (build-system python-build-system)
2973 (propagated-inputs 3135 (propagated-inputs
2974 `(("python-dateutil" ,python-dateutil-2) 3136 `(("python-dateutil" ,python-dateutil)
2975 ("python-six" ,python-six))) 3137 ("python-six" ,python-six)))
2976 (native-inputs 3138 (native-inputs
2977 `(("python-setuptools-scm" ,python-setuptools-scm))) 3139 `(("python-setuptools-scm" ,python-setuptools-scm)))
@@ -3065,7 +3227,7 @@ interested parties to subscribe to events, or \"signals\".")
3065 ("python-blinker" ,python-blinker) 3227 ("python-blinker" ,python-blinker)
3066 ("python-unidecode" ,python-unidecode) 3228 ("python-unidecode" ,python-unidecode)
3067 ("python-six" ,python-six) 3229 ("python-six" ,python-six)
3068 ("python-dateutil-2" ,python-dateutil-2))) 3230 ("python-dateutil" ,python-dateutil)))
3069 (home-page "http://getpelican.com/") 3231 (home-page "http://getpelican.com/")
3070 (arguments 3232 (arguments
3071 `(;; XXX Requires a lot more packages to do unit tests :P 3233 `(;; XXX Requires a lot more packages to do unit tests :P
@@ -3106,11 +3268,20 @@ and is very extensible.")
3106 (build-system python-build-system) 3268 (build-system python-build-system)
3107 (arguments 3269 (arguments
3108 `(#:phases 3270 `(#:phases
3109 (alist-cons-before 3271 (modify-phases %standard-phases
3110 'check 'set-HOME 3272 (delete 'check)
3111 ;; some tests require access to "$HOME" 3273 (add-after 'install 'check
3112 (lambda _ (setenv "HOME" "/tmp")) 3274 ;; Running tests from the source directory requires
3113 %standard-phases))) 3275 ;; an "inplace" build with paths relative to CWD.
3276 ;; http://scikit-learn.org/stable/developers/advanced_installation.html#testing
3277 ;; Use the installed version instead.
3278 (lambda* (#:key inputs outputs #:allow-other-keys)
3279 (add-installed-pythonpath inputs outputs)
3280 ;; some tests require access to "$HOME"
3281 (setenv "HOME" "/tmp")
3282 ;; Step out of the source directory just to be sure.
3283 (chdir "..")
3284 (zero? (system* "nosetests" "-v" "sklearn")))))))
3114 (inputs 3285 (inputs
3115 `(("openblas" ,openblas))) 3286 `(("openblas" ,openblas)))
3116 (native-inputs 3287 (native-inputs
@@ -3142,6 +3313,9 @@ mining and data analysis.")
3142 (sha256 3313 (sha256
3143 (base32 "0jz416fqvpahqyffw8plmszzfj669w8wvf3y9clnr5lr6a7md3kn")))) 3314 (base32 "0jz416fqvpahqyffw8plmszzfj669w8wvf3y9clnr5lr6a7md3kn"))))
3144 (build-system python-build-system) 3315 (build-system python-build-system)
3316 (arguments
3317 ;; TODO: Some tests require running X11 server. Disable them?
3318 '(#:tests? #f))
3145 ;; See DEPENDS.txt for the list of build and run time requiremnts 3319 ;; See DEPENDS.txt for the list of build and run time requiremnts
3146 (propagated-inputs 3320 (propagated-inputs
3147 `(("python-matplotlib" ,python-matplotlib) 3321 `(("python-matplotlib" ,python-matplotlib)
@@ -3277,24 +3451,26 @@ between language specification and implementation aspects.")
3277 3451
3278;; This version of numpy is missing the documentation and is only used to 3452;; This version of numpy is missing the documentation and is only used to
3279;; build matplotlib which is required to build numpy's documentation. 3453;; build matplotlib which is required to build numpy's documentation.
3280(define python-numpy-bootstrap 3454(define-public python-numpy
3281 (package 3455 (package
3282 (name "python-numpy-bootstrap") 3456 (name "python-numpy")
3283 (version "1.10.4") 3457 (version "1.12.0")
3284 (source 3458 (source
3285 (origin 3459 (origin
3286 (method url-fetch) 3460 (method url-fetch)
3287 (uri (string-append "mirror://sourceforge/numpy/NumPy/" version 3461 (uri (string-append
3288 "/numpy-" version ".tar.gz")) 3462 "https://github.com/numpy/numpy/archive/v" version ".tar.gz"))
3463 (file-name (string-append name "-" version ".tar.gz"))
3289 (sha256 3464 (sha256
3290 (base32 3465 (base32
3291 "1bjjhvncraka5s6i4lg644jrxij6bvycxy7an20gcz3a0m11iygp")))) 3466 "025d4j4aakcp8w5i5diqh812cbbjgac7jszx1j56ivrbi1i8vv7d"))))
3292 (build-system python-build-system) 3467 (build-system python-build-system)
3293 (inputs 3468 (inputs
3294 `(("openblas" ,openblas) 3469 `(("openblas" ,openblas)
3295 ("lapack" ,lapack))) 3470 ("lapack" ,lapack)))
3296 (native-inputs 3471 (native-inputs
3297 `(("python-nose" ,python-nose) 3472 `(("python-cython" ,python-cython)
3473 ("python-nose" ,python-nose)
3298 ("gfortran" ,gfortran))) 3474 ("gfortran" ,gfortran)))
3299 (arguments 3475 (arguments
3300 `(#:phases 3476 `(#:phases
@@ -3343,8 +3519,8 @@ and Fortran code, useful linear algebra, Fourier transform, and random number
3343capabilities.") 3519capabilities.")
3344 (license license:bsd-3))) 3520 (license license:bsd-3)))
3345 3521
3346(define python2-numpy-bootstrap 3522(define-public python2-numpy
3347 (package-with-python2 python-numpy-bootstrap)) 3523 (package-with-python2 python-numpy))
3348 3524
3349(define-public python-munch 3525(define-public python-munch
3350 (package 3526 (package
@@ -3370,14 +3546,14 @@ objects.")
3370(define-public python2-fastlmm 3546(define-public python2-fastlmm
3371 (package 3547 (package
3372 (name "python2-fastlmm") 3548 (name "python2-fastlmm")
3373 (version "0.2.26") 3549 (version "0.2.21")
3374 (source 3550 (source
3375 (origin 3551 (origin
3376 (method url-fetch) 3552 (method url-fetch)
3377 (uri (pypi-uri "fastlmm" version ".zip")) 3553 (uri (pypi-uri "fastlmm" version ".zip"))
3378 (sha256 3554 (sha256
3379 (base32 3555 (base32
3380 "0yxrx9xzai4fyrsi7c2p31kxvpq9czmv1p0wax5ic07m6izbszxg")))) 3556 "1q8c34rpmwkfy3r4d5172pzdkpfryj561897z9r3x22gq7813x1m"))))
3381 (build-system python-build-system) 3557 (build-system python-build-system)
3382 (arguments 3558 (arguments
3383 `(#:python ,python-2)) ; only Python 2.7 is supported 3559 `(#:python ,python-2)) ; only Python 2.7 is supported
@@ -3391,7 +3567,8 @@ objects.")
3391 (native-inputs 3567 (native-inputs
3392 `(("unzip" ,unzip) 3568 `(("unzip" ,unzip)
3393 ("python2-cython" ,python2-cython) 3569 ("python2-cython" ,python2-cython)
3394 ("python2-mock" ,python2-mock))) 3570 ("python2-mock" ,python2-mock)
3571 ("python2-nose" ,python2-nose)))
3395 (home-page "http://research.microsoft.com/en-us/um/redmond/projects/mscompbio/fastlmm/") 3572 (home-page "http://research.microsoft.com/en-us/um/redmond/projects/mscompbio/fastlmm/")
3396 (synopsis "Perform genome-wide association studies on large data sets") 3573 (synopsis "Perform genome-wide association studies on large data sets")
3397 (description 3574 (description
@@ -3400,69 +3577,83 @@ Models, is a program for performing both single-SNP and SNP-set genome-wide
3400association studies (GWAS) on extremely large data sets.") 3577association studies (GWAS) on extremely large data sets.")
3401 (license license:asl2.0))) 3578 (license license:asl2.0)))
3402 3579
3403(define-public python-numpy 3580(define-public python-numpy-documentation
3404 (package (inherit python-numpy-bootstrap) 3581 (package
3405 (name "python-numpy") 3582 (name "python-numpy-documentation")
3406 (outputs '("out" "doc")) 3583 (version (package-version python-numpy))
3407 (inputs 3584 (source (package-source python-numpy))
3408 `(("which" ,which) 3585 (build-system python-build-system)
3409 ,@(package-inputs python-numpy-bootstrap)))
3410 (propagated-inputs
3411 `(("python-matplotlib" ,python-matplotlib)
3412 ("python-pyparsing" ,python-pyparsing)
3413 ,@(package-propagated-inputs python-numpy-bootstrap)))
3414 (native-inputs 3586 (native-inputs
3415 `(("pkg-config" ,pkg-config) 3587 `(("python-matplotlib" ,python-matplotlib)
3588 ("python-numpy" ,python-numpy)
3589 ("pkg-config" ,pkg-config)
3416 ("python-sphinx" ,python-sphinx) 3590 ("python-sphinx" ,python-sphinx)
3417 ("python-numpydoc" ,python-numpydoc) 3591 ("python-numpydoc" ,python-numpydoc)
3418 ("texlive" ,texlive) 3592 ("texlive" ,texlive)
3419 ("texinfo" ,texinfo) 3593 ("texinfo" ,texinfo)
3420 ("perl" ,perl) 3594 ("perl" ,perl)
3421 ,@(package-native-inputs python-numpy-bootstrap))) 3595 ("scipy-sphinx-theme"
3422 (arguments 3596 ,(origin ; The build script expects scipy-sphinx-theme as a git submodule
3423 `(,@(substitute-keyword-arguments 3597 (method git-fetch)
3424 (package-arguments python-numpy-bootstrap) 3598 (uri (git-reference
3425 ((#:phases phases) 3599 (url "https://github.com/scipy/scipy-sphinx-theme.git")
3426 `(alist-cons-after 3600 (commit "c466764e22")))
3427 'install 'install-doc 3601 (sha256
3428 (lambda* (#:key inputs outputs #:allow-other-keys) 3602 (base32
3429 ;; Make installed package available for building the 3603 "0q2y87clwlsgc7wvlsn9pzyssybcq10plwhq2w1ydykfsyyqbmkl"))))
3430 ;; documentation 3604 ,@(package-native-inputs python-numpy)))
3431 (add-installed-pythonpath inputs outputs) 3605 (arguments
3432 (let* ((data (string-append (assoc-ref outputs "doc") "/share")) 3606 `(#:tests? #f ; we're only generating the documentation
3433 (doc (string-append 3607 #:phases
3434 data "/doc/" ,name "-" 3608 (modify-phases %standard-phases
3435 ,(package-version python-numpy-bootstrap))) 3609 (delete 'build)
3436 (info (string-append data "/info")) 3610 (replace 'install
3437 (html (string-append doc "/html")) 3611 (lambda* (#:key inputs outputs #:allow-other-keys)
3438 (pyver ,(string-append "PYVER="))) 3612 (let* ((data (string-append (assoc-ref outputs "out") "/share"))
3439 (with-directory-excursion "doc" 3613 (doc (string-append
3440 (mkdir-p html) 3614 data "/doc/" ,name "-"
3441 (system* "make" "html" pyver) 3615 ,(package-version python-numpy)))
3442 (system* "make" "latex" "PAPER=a4" pyver) 3616 (info-reader (string-append data "/info"))
3443 (system* "make" "-C" "build/latex" 3617 (html (string-append doc "/html"))
3444 "all-pdf" "PAPER=a4" pyver) 3618 (scipy-sphinx-theme "scipy-sphinx-theme")
3445 ;; FIXME: Generation of the info file fails. 3619 (sphinx-theme-checkout (assoc-ref inputs scipy-sphinx-theme))
3446 ;; (system* "make" "info" pyver) 3620 (pyver ,(string-append "PYVER=")))
3447 ;; (mkdir-p info) 3621 (with-directory-excursion "doc"
3448 ;; (copy-file "build/texinfo/numpy.info" 3622 (copy-recursively sphinx-theme-checkout scipy-sphinx-theme)
3449 ;; (string-append info "/numpy.info")) 3623 (mkdir-p html)
3450 (for-each (lambda (file) 3624 (system* "make" "html" pyver)
3451 (copy-file (string-append "build/latex" file) 3625 (system* "make" "latex" "PAPER=a4" pyver)
3452 (string-append doc file))) 3626 (system* "make" "-C" "build/latex"
3453 '("/numpy-ref.pdf" "/numpy-user.pdf")) 3627 "all-pdf" "PAPER=a4" pyver)
3454 (with-directory-excursion "build/html" 3628 ;; FIXME: Generation of the info file fails.
3455 (for-each (lambda (file) 3629 ;; (system* "make" "info" pyver)
3456 (let* ((dir (dirname file)) 3630 ;; (mkdir-p info)
3457 (tgt-dir (string-append html "/" dir))) 3631 ;; (copy-file "build/texinfo/numpy.info"
3458 (unless (equal? "." dir) 3632 ;; (string-append info "/numpy.info"))
3459 (mkdir-p tgt-dir)) 3633 (for-each (lambda (file)
3460 (install-file file html))) 3634 (copy-file (string-append "build/latex" file)
3461 (find-files "." ".*")))))) 3635 (string-append doc file)))
3462 ,phases))))))) 3636 '("/numpy-ref.pdf" "/numpy-user.pdf"))
3637 (with-directory-excursion "build/html"
3638 (for-each (lambda (file)
3639 (let* ((dir (dirname file))
3640 (tgt-dir (string-append html "/" dir)))
3641 (unless (equal? "." dir)
3642 (mkdir-p tgt-dir))
3643 (install-file file html)))
3644 (find-files "." ".*")))))
3645 #t)))))
3646 (home-page (package-home-page python-numpy))
3647 (synopsis "Documentation for the python-numpy package")
3648 (description (package-description python-numpy))
3649 (license (package-license python-numpy))))
3463 3650
3464(define-public python2-numpy 3651(define-public python2-numpy-documentation
3465 (package-with-python2 python-numpy)) 3652 (let ((numpy-documentation (package-with-python2 python-numpy-documentation)))
3653 (package
3654 (inherit numpy-documentation)
3655 (native-inputs `(("python2-functools32" ,python2-functools32)
3656 ,@(package-native-inputs numpy-documentation))))))
3466 3657
3467(define-public python-pygit2 3658(define-public python-pygit2
3468 (package 3659 (package
@@ -3474,7 +3665,9 @@ association studies (GWAS) on extremely large data sets.")
3474 (uri (pypi-uri "pygit2" version)) 3665 (uri (pypi-uri "pygit2" version))
3475 (sha256 3666 (sha256
3476 (base32 3667 (base32
3477 "0wf5rp0fvrw7j3j18dvwjq6xqlbm611wd55aphrfpps0v1gxh3ny")))) 3668 "0wf5rp0fvrw7j3j18dvwjq6xqlbm611wd55aphrfpps0v1gxh3ny"))
3669 (patches
3670 (search-patches "python-pygit2-disable-network-tests.patch"))))
3478 (build-system python-build-system) 3671 (build-system python-build-system)
3479 (propagated-inputs 3672 (propagated-inputs
3480 `(("python-six" ,python-six) 3673 `(("python-six" ,python-six)
@@ -3635,29 +3828,60 @@ To address this and enable easy cycling over arbitrary @code{kwargs}, the
3635(define-public python2-cycler 3828(define-public python2-cycler
3636 (package-with-python2 python-cycler)) 3829 (package-with-python2 python-cycler))
3637 3830
3831(define-public python-colorspacious
3832 (package
3833 (name "python-colorspacious")
3834 (version "1.1.0")
3835 (source
3836 (origin
3837 (method url-fetch)
3838 (uri (string-append "https://github.com/njsmith/colorspacious/archive/v"
3839 version ".tar.gz"))
3840 (file-name (string-append name "-" version))
3841 (sha256
3842 (base32 "1vflh5jm32qb0skza2i8pjacv09w6gq84fqpp2nj77s0rbmzgr4k"))))
3843 (build-system python-build-system)
3844 (propagated-inputs
3845 `(("python-numpy" ,python-numpy)))
3846 (native-inputs
3847 `(("python-nose" ,python-nose)))
3848 (arguments
3849 `(#:phases
3850 (modify-phases %standard-phases
3851 (replace 'check
3852 (lambda _
3853 (zero? (system* "nosetests" "--all-modules" "-v" "colorspacious")))))))
3854 (home-page "https://github.com/njsmith/colorspacious")
3855 (synopsis "Python library for colorspace conversions")
3856 (description "@code{colorspacious} is a Python library that lets you
3857convert between colorspaces like sRGB, XYZ, CIEL*a*b*, CIECAM02, CAM02-UCS, etc.")
3858 (license license:expat)))
3859
3860(define-public python2-colorspacious
3861 (package-with-python2 python-colorspacious))
3862
3638(define-public python-matplotlib 3863(define-public python-matplotlib
3639 (package 3864 (package
3640 (name "python-matplotlib") 3865 (name "python-matplotlib")
3641 (version "1.4.3") 3866 (version "2.0.0")
3642 (source 3867 (source
3643 (origin 3868 (origin
3644 (method url-fetch) 3869 (method url-fetch)
3645 (uri (string-append "mirror://sourceforge/matplotlib/matplotlib" 3870 (uri (string-append
3646 "/matplotlib-" version 3871 "https://github.com/matplotlib/matplotlib/archive/v" version ".tar.gz"))
3647 "/matplotlib-" version ".tar.gz")) 3872 (file-name (string-append name "-" version ".tar.gz"))
3648 (sha256 3873 (sha256
3649 (base32 3874 (base32
3650 "1dn05cvd0g984lzhh72wa0z93psgwshbbg93fkab6slx5m3l95av")) 3875 "0w3k5m5qb3wsd7yhvmg042xddvligklvcq2visk2c5wnph3hhsln"))))
3651 (patches (search-patches "matplotlib-setupext-tk.patch"))))
3652 (build-system python-build-system) 3876 (build-system python-build-system)
3653 (outputs '("out" "doc"))
3654 (propagated-inputs ; the following packages are all needed at run time 3877 (propagated-inputs ; the following packages are all needed at run time
3655 `(("python-pyparsing" ,python-pyparsing) 3878 `(("python-cycler" ,python-cycler)
3879 ("python-pyparsing" ,python-pyparsing)
3656 ("python-pygobject" ,python-pygobject) 3880 ("python-pygobject" ,python-pygobject)
3657 ("gobject-introspection" ,gobject-introspection) 3881 ("gobject-introspection" ,gobject-introspection)
3658 ("python-tkinter" ,python "tk") 3882 ("python-tkinter" ,python "tk")
3659 ("python-dateutil" ,python-dateutil-2) 3883 ("python-dateutil" ,python-dateutil)
3660 ("python-numpy" ,python-numpy-bootstrap) 3884 ("python-numpy" ,python-numpy)
3661 ("python-pillow" ,python-pillow) 3885 ("python-pillow" ,python-pillow)
3662 ("python-pytz" ,python-pytz) 3886 ("python-pytz" ,python-pytz)
3663 ("python-six" ,python-six) 3887 ("python-six" ,python-six)
@@ -3684,75 +3908,34 @@ To address this and enable easy cycling over arbitrary @code{kwargs}, the
3684 ("glib" ,glib) 3908 ("glib" ,glib)
3685 ;; FIXME: Add backends when available. 3909 ;; FIXME: Add backends when available.
3686 ;("python-wxpython" ,python-wxpython) 3910 ;("python-wxpython" ,python-wxpython)
3687 ;("python-pyqt" ,python-pyqt) 3911 ("python-pyqt" ,python-pyqt)
3688 ("tcl" ,tcl) 3912 ("tcl" ,tcl)
3689 ("tk" ,tk))) 3913 ("tk" ,tk)))
3690 (native-inputs 3914 (native-inputs
3691 `(("pkg-config" ,pkg-config) 3915 `(("pkg-config" ,pkg-config)
3692 ("python-sphinx" ,python-sphinx)
3693 ("python-numpydoc" ,python-numpydoc)
3694 ("python-nose" ,python-nose) 3916 ("python-nose" ,python-nose)
3695 ("python-mock" ,python-mock) 3917 ("python-mock" ,python-mock)))
3696 ("texlive" ,texlive)
3697 ("texinfo" ,texinfo)))
3698 (arguments 3918 (arguments
3699 `(#:phases 3919 `(#:phases
3700 (alist-cons-before 3920 (modify-phases %standard-phases
3701 'build 'configure-environment 3921 (add-before 'build 'configure-environment
3702 (lambda* (#:key outputs inputs #:allow-other-keys) 3922 (lambda* (#:key outputs inputs #:allow-other-keys)
3703 (let ((cairo (assoc-ref inputs "cairo")) 3923 (let ((cairo (assoc-ref inputs "cairo"))
3704 (gtk+ (assoc-ref inputs "gtk+"))) 3924 (gtk+ (assoc-ref inputs "gtk+")))
3705 ;; Setting these directories in the 'basedirlist' of 'setup.cfg' 3925 ;; Setting these directories in the 'basedirlist' of 'setup.cfg'
3706 ;; has not effect. 3926 ;; has not effect.
3707 (setenv "LD_LIBRARY_PATH" 3927 (setenv "LD_LIBRARY_PATH"
3708 (string-append cairo "/lib:" gtk+ "/lib")) 3928 (string-append cairo "/lib:" gtk+ "/lib"))
3709 (setenv "HOME" (getcwd)) 3929 (setenv "HOME" (getcwd))
3710 (call-with-output-file "setup.cfg" 3930 (call-with-output-file "setup.cfg"
3711 (lambda (port) 3931 (lambda (port)
3712 (format port "[directories]~% 3932 (format port "[directories]~%
3713basedirlist = ~a,~a~% 3933basedirlist = ~a,~a~%
3714 [rc_options]~% 3934 [rc_options]~%
3715backend = TkAgg~%" 3935backend = TkAgg~%"
3716 (assoc-ref inputs "tcl") 3936 (assoc-ref inputs "tcl")
3717 (assoc-ref inputs "tk")))))) 3937 (assoc-ref inputs "tk")))))
3718 (alist-cons-after 3938 #t)))))
3719 'install 'install-doc
3720 (lambda* (#:key inputs outputs #:allow-other-keys)
3721 (let* ((data (string-append (assoc-ref outputs "doc") "/share"))
3722 (doc (string-append data "/doc/" ,name "-" ,version))
3723 (info (string-append data "/info"))
3724 (html (string-append doc "/html")))
3725 ;; Make installed package available for building the
3726 ;; documentation
3727 (add-installed-pythonpath inputs outputs)
3728 (with-directory-excursion "doc"
3729 ;; Produce pdf in 'A4' format.
3730 (substitute* (find-files "." "conf\\.py")
3731 (("latex_paper_size = 'letter'")
3732 "latex_paper_size = 'a4'"))
3733 (mkdir-p html)
3734 (mkdir-p info)
3735 ;; The doc recommends to run the 'html' target twice.
3736 (system* "python" "make.py" "html")
3737 (system* "python" "make.py" "html")
3738 (copy-recursively "build/html" html)
3739 (system* "python" "make.py" "latex")
3740 (system* "python" "make.py" "texinfo")
3741 (symlink (string-append html "/_images")
3742 (string-append info "/matplotlib-figures"))
3743 (with-directory-excursion "build/texinfo"
3744 (substitute* "matplotlib.texi"
3745 (("@image\\{([^,]*)" all file)
3746 (string-append "@image{matplotlib-figures/" file)))
3747 (symlink (string-append html "/_images")
3748 "./matplotlib-figures")
3749 (system* "makeinfo" "--no-split"
3750 "-o" "matplotlib.info" "matplotlib.texi"))
3751 (copy-file "build/texinfo/matplotlib.info"
3752 (string-append info "/matplotlib.info"))
3753 (copy-file "build/latex/Matplotlib.pdf"
3754 (string-append doc "/Matplotlib.pdf")))))
3755 %standard-phases))))
3756 (home-page "http://matplotlib.org") 3939 (home-page "http://matplotlib.org")
3757 (synopsis "2D plotting library for Python") 3940 (synopsis "2D plotting library for Python")
3758 (description 3941 (description
@@ -3772,11 +3955,78 @@ toolkits.")
3772 ;; of those automatically rewritten by package-with-python2. 3955 ;; of those automatically rewritten by package-with-python2.
3773 (propagated-inputs 3956 (propagated-inputs
3774 `(("python2-pycairo" ,python2-pycairo) 3957 `(("python2-pycairo" ,python2-pycairo)
3958 ("python2-functools32" ,python2-functools32)
3775 ("python2-pygobject-2" ,python2-pygobject-2) 3959 ("python2-pygobject-2" ,python2-pygobject-2)
3960 ("python2-subprocess32" ,python2-subprocess32)
3776 ("python2-tkinter" ,python-2 "tk") 3961 ("python2-tkinter" ,python-2 "tk")
3777 ,@(fold alist-delete (package-propagated-inputs matplotlib) 3962 ,@(fold alist-delete (package-propagated-inputs matplotlib)
3778 '("python-pycairo" "python-pygobject" "python-tkinter"))))))) 3963 '("python-pycairo" "python-pygobject" "python-tkinter")))))))
3779 3964
3965(define-public python-matplotlib-documentation
3966 (package
3967 (name "python-matplotlib-documentation")
3968 (version (package-version python-matplotlib))
3969 (source (package-source python-matplotlib))
3970 (build-system python-build-system)
3971 (native-inputs
3972 `(("python-matplotlib" ,python-matplotlib)
3973 ("python-colorspacious" ,python-colorspacious)
3974 ("python-sphinx" ,python-sphinx)
3975 ("python-numpydoc" ,python-numpydoc)
3976 ("python-ipython" ,python-ipython)
3977 ("python-mock" ,python-mock)
3978 ("graphviz" ,graphviz)
3979 ("texlive" ,texlive)
3980 ("texinfo" ,texinfo)
3981 ,@(package-native-inputs python-matplotlib)))
3982 (arguments
3983 `(#:tests? #f ; we're only generating documentation
3984 #:phases
3985 (modify-phases %standard-phases
3986 (replace 'build
3987 (lambda _
3988 (chdir "doc")
3989 ;; Produce pdf in 'A4' format.
3990 (substitute* "conf.py"
3991 (("latex_paper_size = 'letter'") "")
3992 ;; latex_paper_size is deprecated -> set paper size using
3993 ;; latex_elements
3994 (("latex_elements\\['pointsize'\\] = '11pt'" match)
3995 ;; insert at a point where latex_elements{} is defined:
3996 (string-append match "\nlatex_elements['papersize'] = 'a4paper'")))
3997 (zero? (system* "python" "make.py" "html" "latex" "texinfo"))))
3998 (replace 'install
3999 (lambda* (#:key inputs outputs #:allow-other-keys)
4000 (let* ((data (string-append (assoc-ref outputs "out") "/share"))
4001 (doc (string-append data "/doc/python-matplotlib-" ,version))
4002 (info (string-append data "/info"))
4003 (html (string-append doc "/html")))
4004 (mkdir-p html)
4005 (mkdir-p info)
4006 (copy-recursively "build/html" html)
4007 (symlink (string-append html "/_images")
4008 (string-append info "/matplotlib-figures"))
4009 (with-directory-excursion "build/texinfo"
4010 (substitute* "matplotlib.texi"
4011 (("@image\\{([^,]*)" all file)
4012 (string-append "@image{matplotlib-figures/" file)))
4013 (symlink (string-append html "/_images")
4014 "./matplotlib-figures")
4015 (system* "makeinfo" "--no-split"
4016 "-o" "matplotlib.info" "matplotlib.texi"))
4017 (copy-file "build/texinfo/matplotlib.info"
4018 (string-append info "/matplotlib.info"))
4019 (copy-file "build/latex/Matplotlib.pdf"
4020 (string-append doc "/Matplotlib.pdf")))
4021 #t)))))
4022 (home-page (package-home-page python-matplotlib))
4023 (synopsis "Documentation for the python-matplotlib package")
4024 (description (package-description python-matplotlib))
4025 (license (package-license python-matplotlib))))
4026
4027(define-public python2-matplotlib-documentation
4028 (package-with-python2 python-matplotlib-documentation))
4029
3780(define-public python2-pysnptools 4030(define-public python2-pysnptools
3781 (package 4031 (package
3782 (name "python2-pysnptools") 4032 (name "python2-pysnptools")
@@ -3820,6 +4070,16 @@ operators such as union, intersection, and difference.")
3820 (base32 4070 (base32
3821 "0nhan2qvrw7b7gg5zddwa22kybdv3x1g26vkd7q8lvnkgzrs4dga")))) 4071 "0nhan2qvrw7b7gg5zddwa22kybdv3x1g26vkd7q8lvnkgzrs4dga"))))
3822 (build-system python-build-system) 4072 (build-system python-build-system)
4073 (arguments
4074 '(#:phases
4075 (modify-phases %standard-phases
4076 (delete 'check)
4077 (add-after 'install 'check
4078 (lambda* (#:key outputs inputs #:allow-other-keys)
4079 ;; It's easier to run tests after install.
4080 ;; Make installed package available for running the tests
4081 (add-installed-pythonpath inputs outputs)
4082 (zero? (system* "python" "-m" "rpy2.tests" "-v")))))))
3823 (propagated-inputs 4083 (propagated-inputs
3824 `(("python-six" ,python-six))) 4084 `(("python-six" ,python-six)))
3825 (inputs 4085 (inputs
@@ -3840,23 +4100,23 @@ functions.")
3840(define-public python2-rpy2 4100(define-public python2-rpy2
3841 (let ((rpy2 (package-with-python2 python-rpy2))) 4101 (let ((rpy2 (package-with-python2 python-rpy2)))
3842 (package (inherit rpy2) 4102 (package (inherit rpy2)
3843 (native-inputs 4103 (propagated-inputs
3844 `(("python2-singledispatch" ,python2-singledispatch) 4104 `(("python2-singledispatch" ,python2-singledispatch)
3845 ,@(package-native-inputs rpy2)))))) 4105 ,@(package-propagated-inputs rpy2))))))
3846 4106
3847(define-public python-scipy 4107(define-public python-scipy
3848 (package 4108 (package
3849 (name "python-scipy") 4109 (name "python-scipy")
3850 (version "0.16.0") 4110 (version "0.18.1")
3851 (source 4111 (source
3852 (origin 4112 (origin
3853 (method url-fetch) 4113 (method url-fetch)
3854; http://downloads.sourceforge.net/project/scipy/scipy/0.16.1/scipy-0.16.1.tar.gz 4114 (uri (string-append "https://github.com/scipy/scipy/archive/v"
3855 (uri (string-append "mirror://sourceforge/scipy/scipy/" version 4115 version ".tar.gz"))
3856 "/scipy-" version ".tar.xz")) 4116 (file-name (string-append name "-" version ".tar.gz"))
3857 (sha256 4117 (sha256
3858 (base32 4118 (base32
3859 "0wa0a4skpda3gx7lb12yn19nhbairlyxrvda2lz2bcawk3x5qzz2")))) 4119 "17slsrfawjp7if6qrlx03zhgp05350ginxx8ddpw9zqx43x905sn"))))
3860 (build-system python-build-system) 4120 (build-system python-build-system)
3861 (propagated-inputs 4121 (propagated-inputs
3862 `(("python-numpy" ,python-numpy) 4122 `(("python-numpy" ,python-numpy)
@@ -3866,22 +4126,22 @@ functions.")
3866 `(("lapack" ,lapack) 4126 `(("lapack" ,lapack)
3867 ("openblas" ,openblas))) 4127 ("openblas" ,openblas)))
3868 (native-inputs 4128 (native-inputs
3869 `(("python-nose" ,python-nose) 4129 `(("python-cython" ,python-cython)
4130 ("python-nose" ,python-nose)
3870 ("python-sphinx" ,python-sphinx) 4131 ("python-sphinx" ,python-sphinx)
3871 ("python-numpydoc" ,python-numpydoc) 4132 ("python-numpydoc" ,python-numpydoc)
3872 ("gfortran" ,gfortran) 4133 ("gfortran" ,gfortran)
3873 ("texlive" ,texlive)
3874 ("perl" ,perl))) 4134 ("perl" ,perl)))
3875 (outputs '("out" "doc")) 4135 (outputs '("out" "doc"))
3876 (arguments 4136 (arguments
3877 `(#:phases 4137 `(#:phases
3878 (alist-cons-before 4138 (modify-phases %standard-phases
3879 'build 'configure-openblas 4139 (add-before 'build 'configure-openblas
3880 (lambda* (#:key inputs #:allow-other-keys) 4140 (lambda* (#:key inputs #:allow-other-keys)
3881 (call-with-output-file "site.cfg" 4141 (call-with-output-file "site.cfg"
3882 (lambda (port) 4142 (lambda (port)
3883 (format port 4143 (format port
3884 "[blas] 4144 "[blas]
3885libraries = openblas 4145libraries = openblas
3886library_dirs = ~a/lib 4146library_dirs = ~a/lib
3887include_dirs = ~a/include 4147include_dirs = ~a/include
@@ -3891,62 +4151,59 @@ include_dirs = ~a/include
3891library_dirs = ~a/lib 4151library_dirs = ~a/lib
3892atlas_libs = openblas 4152atlas_libs = openblas
3893" 4153"
3894 (assoc-ref inputs "openblas") 4154 (assoc-ref inputs "openblas")
3895 (assoc-ref inputs "openblas") 4155 (assoc-ref inputs "openblas")
3896 (assoc-ref inputs "openblas")))) 4156 (assoc-ref inputs "openblas"))))
3897 #t) 4157 #t))
3898 (alist-cons-after 4158 (add-after 'install 'install-doc
3899 'install 'install-doc 4159 (lambda* (#:key inputs outputs #:allow-other-keys)
3900 (lambda* (#:key inputs outputs #:allow-other-keys) 4160 (let* ((data (string-append (assoc-ref outputs "doc") "/share"))
3901 (let* ((data (string-append (assoc-ref outputs "doc") "/share")) 4161 (doc (string-append data "/doc/" ,name "-" ,version))
3902 (doc (string-append data "/doc/" ,name "-" ,version)) 4162 (html (string-append doc "/html"))
3903 (html (string-append doc "/html")) 4163 (pyver ,(string-append "PYVER=")))
3904 (pyver ,(string-append "PYVER="))) 4164 ;; Make installed package available for building the
3905 ;; Make installed package available for building the 4165 ;; documentation
3906 ;; documentation 4166 (add-installed-pythonpath inputs outputs)
4167 (with-directory-excursion "doc"
4168 ;; Fix generation of images for mathematical expressions.
4169 (substitute* (find-files "source" "conf\\.py")
4170 (("pngmath_use_preview = True")
4171 "pngmath_use_preview = False"))
4172 (mkdir-p html)
4173 (system* "make" "html" pyver)
4174 (with-directory-excursion "build/html"
4175 (for-each (lambda (file)
4176 (let* ((dir (dirname file))
4177 (tgt-dir (string-append html "/" dir)))
4178 (install-file file html)))
4179 (find-files "." ".*")))))
4180 #t))
4181 (add-after 'unpack 'fix-tests
4182 (lambda _
4183 (substitute* "scipy/integrate/tests/test_quadpack.py"
4184 (("libm.so") "libm.so.6"))
4185 #t))
4186 ;; Tests can only be run after the library has been installed and not
4187 ;; within the source directory.
4188 (delete 'check)
4189 (add-after 'install 'check
4190 (lambda* (#:key inputs outputs #:allow-other-keys)
3907 (add-installed-pythonpath inputs outputs) 4191 (add-installed-pythonpath inputs outputs)
3908 (with-directory-excursion "doc" 4192 (with-directory-excursion "/tmp"
3909 ;; Fix generation of images for mathematical expressions. 4193 (zero? (system* "python" "-c"
3910 (substitute* (find-files "source" "conf\\.py") 4194 "import scipy; scipy.test('full')")))
3911 (("pngmath_use_preview = True") 4195 #t)))))
3912 "pngmath_use_preview = False"))
3913 (mkdir-p html)
3914 (system* "make" "html" pyver)
3915 (system* "make" "latex" "PAPER=a4" pyver)
3916 (system* "make" "-C" "build/latex" "all-pdf" "PAPER=a4" pyver)
3917 (copy-file "build/latex/scipy-ref.pdf"
3918 (string-append doc "/scipy-ref.pdf"))
3919 (with-directory-excursion "build/html"
3920 (for-each (lambda (file)
3921 (let* ((dir (dirname file))
3922 (tgt-dir (string-append html "/" dir)))
3923 (install-file file html)))
3924 (find-files "." ".*"))))))
3925 ;; Tests can only be run after the library has been installed and not
3926 ;; within the source directory.
3927 (alist-cons-after
3928 'install 'check
3929 (lambda _
3930 (with-directory-excursion "/tmp"
3931 (zero? (system* "python" "-c" "import scipy; scipy.test()"))))
3932 (alist-delete
3933 'check
3934 (alist-cons-after
3935 'unpack 'fix-tests
3936 (lambda _
3937 (substitute* "scipy/integrate/tests/test_quadpack.py"
3938 (("libm.so") "libm.so.6"))
3939 #t)
3940 %standard-phases)))))))
3941 (home-page "http://www.scipy.org/") 4196 (home-page "http://www.scipy.org/")
3942 (synopsis "The Scipy library provides efficient numerical routines") 4197 (synopsis "The Scipy library provides efficient numerical routines")
3943 (description "The SciPy library is one of the core packages that make up 4198 (description "The SciPy library is one of the core packages that make up
3944the SciPy stack. It provides many user-friendly and efficient numerical 4199the SciPy stack. It provides many user-friendly and efficient numerical
3945routines such as routines for numerical integration and optimization.") 4200routines such as routines for numerical integration and optimization.")
4201 (properties `((python2-variant . ,(delay python2-scipy))))
3946 (license license:bsd-3))) 4202 (license license:bsd-3)))
3947 4203
3948(define-public python2-scipy 4204(define-public python2-scipy
3949 (package-with-python2 python-scipy)) 4205 (package-with-python2
4206 (strip-python2-variant python-scipy)))
3950 4207
3951(define-public python-socksipy-branch 4208(define-public python-socksipy-branch
3952 (package 4209 (package
@@ -4134,11 +4391,22 @@ both of which are installed automatically if you install this library.")
4134 (base32 4391 (base32
4135 "1wghyvk73cmq3iqyg3fczw128fv2pan2v76m0xg1bw05h8fhvnk3")))) 4392 "1wghyvk73cmq3iqyg3fczw128fv2pan2v76m0xg1bw05h8fhvnk3"))))
4136 (build-system python-build-system) 4393 (build-system python-build-system)
4394 (arguments
4395 '(#:tests? #f)) ; FIXME: Many tests require a running database server.
4396 ;; #:phases
4397 ;; (modify-phases %standard-phases
4398 ;; (replace 'check
4399 ;; (lambda _
4400 ;; (zero? (system* "py.test" "sqlalchemy_utils" "tests")))))
4137 (propagated-inputs 4401 (propagated-inputs
4138 `(("python-six" ,python-six) 4402 `(("python-six" ,python-six)
4139 ("python-sqlalchemy" ,python-sqlalchemy))) 4403 ("python-sqlalchemy" ,python-sqlalchemy)))
4140 (native-inputs 4404 (native-inputs
4141 `(("python-pytest" ,python-pytest))) 4405 `(("python-dateutil" ,python-dateutil)
4406 ("python-flexmock" ,python-flexmock)
4407 ("python-psycopg2" ,python-psycopg2)
4408 ("python-pytest" ,python-pytest)
4409 ("python-pytz" ,python-pytz)))
4142 (home-page "https://github.com/kvesteri/sqlalchemy-utils") 4410 (home-page "https://github.com/kvesteri/sqlalchemy-utils")
4143 (synopsis "Various utility functions for SQLAlchemy") 4411 (synopsis "Various utility functions for SQLAlchemy")
4144 (description 4412 (description
@@ -4429,16 +4697,18 @@ a front-end for C compilers or analysis tools.")
4429 `(("python-cffi" ,python-cffi) ; used at run time 4697 `(("python-cffi" ,python-cffi) ; used at run time
4430 ("python-six" ,python-six))) 4698 ("python-six" ,python-six)))
4431 (arguments 4699 (arguments
4432 `(#:phases 4700 `(;; FIXME: Tests cannot load libxcb.so.1
4433 (alist-cons-after 4701 #:tests? #f
4434 'install 'install-doc 4702 #:phases
4435 (lambda* (#:key outputs #:allow-other-keys) 4703 (modify-phases %standard-phases
4436 (let ((doc (string-append (assoc-ref outputs "out") "/share" 4704 (add-after 'install 'install-doc
4437 "/doc/" ,name "-" ,version))) 4705 (lambda* (#:key outputs #:allow-other-keys)
4438 (mkdir-p doc) 4706 (let ((doc (string-append (assoc-ref outputs "out") "/share"
4439 (copy-file "README.md" 4707 "/doc/" ,name "-" ,version)))
4440 (string-append doc "/README.md")))) 4708 (mkdir-p doc)
4441 %standard-phases))) 4709 (copy-file "README.md"
4710 (string-append doc "/README.md"))
4711 #t))))))
4442 (home-page "https://github.com/tych0/xcffib") 4712 (home-page "https://github.com/tych0/xcffib")
4443 (synopsis "XCB Python bindings") 4713 (synopsis "XCB Python bindings")
4444 (description 4714 (description
@@ -4475,25 +4745,27 @@ support for Python 3 and PyPy. It is based on cffi.")
4475 (propagated-inputs 4745 (propagated-inputs
4476 `(("python-xcffib" ,python-xcffib))) ; used at run time 4746 `(("python-xcffib" ,python-xcffib))) ; used at run time
4477 (arguments 4747 (arguments
4478 `(#:phases 4748 `(;; FIXME: Tests cannot find 'libcairo.so.2'.
4479 (alist-cons-after 4749 #:tests? #f
4480 'install 'install-doc 4750 #:phases
4481 (lambda* (#:key inputs outputs #:allow-other-keys) 4751 (modify-phases %standard-phases
4482 (let* ((data (string-append (assoc-ref outputs "doc") "/share")) 4752 (add-after 'install 'install-doc
4483 (doc (string-append data "/doc/" ,name "-" ,version)) 4753 (lambda* (#:key inputs outputs #:allow-other-keys)
4484 (html (string-append doc "/html"))) 4754 (let* ((data (string-append (assoc-ref outputs "doc") "/share"))
4485 (setenv "LD_LIBRARY_PATH" 4755 (doc (string-append data "/doc/" ,name "-" ,version))
4486 (string-append (assoc-ref inputs "cairo") "/lib" ":" 4756 (html (string-append doc "/html")))
4487 (assoc-ref inputs "gdk-pixbuf") "/lib")) 4757 (setenv "LD_LIBRARY_PATH"
4488 (setenv "LANG" "en_US.UTF-8") 4758 (string-append (assoc-ref inputs "cairo") "/lib" ":"
4489 (mkdir-p html) 4759 (assoc-ref inputs "gdk-pixbuf") "/lib"))
4490 (for-each (lambda (file) 4760 (setenv "LANG" "en_US.UTF-8")
4491 (copy-file (string-append "." file) 4761 (mkdir-p html)
4492 (string-append doc file))) 4762 (for-each (lambda (file)
4493 '("/README.rst" "/CHANGES" "/LICENSE")) 4763 (copy-file (string-append "." file)
4494 (system* "python" "setup.py" "build_sphinx") 4764 (string-append doc file)))
4495 (copy-recursively "docs/_build/html" html))) 4765 '("/README.rst" "/CHANGES" "/LICENSE"))
4496 %standard-phases))) 4766 (system* "python" "setup.py" "build_sphinx")
4767 (copy-recursively "docs/_build/html" html)
4768 #t))))))
4497 (home-page "https://github.com/SimonSapin/cairocffi") 4769 (home-page "https://github.com/SimonSapin/cairocffi")
4498 (synopsis "Python bindings and object-oriented API for Cairo") 4770 (synopsis "Python bindings and object-oriented API for Cairo")
4499 (description 4771 (description
@@ -4574,6 +4846,8 @@ Python language binding specification.")
4574 (sha256 4846 (sha256
4575 (base32 "1gzjg2k6f14i1msm2b0ax8d9ds1hvk6qd5nlaivg8m4cxqp4cp1x")))) 4847 (base32 "1gzjg2k6f14i1msm2b0ax8d9ds1hvk6qd5nlaivg8m4cxqp4cp1x"))))
4576 (build-system python-build-system) 4848 (build-system python-build-system)
4849 (arguments
4850 '(#:tests? #f)) ; FIXME: Requires python-cherrypy.
4577 (propagated-inputs 4851 (propagated-inputs
4578 `(("python-psutil" ,python-psutil) 4852 `(("python-psutil" ,python-psutil)
4579 ("python-drmaa" ,python-drmaa) 4853 ("python-drmaa" ,python-drmaa)
@@ -4592,21 +4866,39 @@ cluster without needing to write any wrapper code yourself.")
4592(define-public python-pexpect 4866(define-public python-pexpect
4593 (package 4867 (package
4594 (name "python-pexpect") 4868 (name "python-pexpect")
4595 (version "3.3") 4869 (version "4.2.1")
4596 (source 4870 (source
4597 (origin 4871 (origin
4598 (method url-fetch) 4872 (method url-fetch)
4599 (uri (string-append "https://pypi.python.org/packages/source/p/" 4873 (uri (pypi-uri "pexpect" version))
4600 "pexpect/pexpect-" version ".tar.gz"))
4601 (sha256 4874 (sha256
4602 (base32 "1fp5gm976z7ghm8jw57463rj19cv06c8zw842prgyg788f6n3snz")))) 4875 (base32 "14ls7k99pwvl21zqv65kzrhccv50j89m5ij1hf0slmsvlxjj84rx"))))
4603 (build-system python-build-system) 4876 (build-system python-build-system)
4604 (arguments 4877 (arguments
4605 `(#:phases 4878 `(#:phases
4606 (modify-phases %standard-phases 4879 (modify-phases %standard-phases
4880 (add-before 'check 'prepare-tests
4881 (lambda _
4882 (substitute* (find-files "tests")
4883 (("/bin/ls") (which "ls"))
4884 (("/bin/echo") (which "echo"))
4885 (("/bin/which") (which "which"))
4886 ;; Many tests try to use the /bin directory which
4887 ;; is not present in the build environment.
4888 ;; Use one that's non-empty and unlikely to change.
4889 (("/bin'") "/dev'"))
4890 ;; XXX: Socket connection test gets "Connection reset by peer".
4891 ;; Why does it not work? Delete for now.
4892 (delete-file "tests/test_socket.py")
4893 #t))
4607 (replace 'check (lambda _ (zero? (system* "nosetests"))))))) 4894 (replace 'check (lambda _ (zero? (system* "nosetests")))))))
4608 (native-inputs 4895 (native-inputs
4609 `(("python-nose" ,python-nose))) 4896 `(("python-nose" ,python-nose)
4897 ("python-pytest" ,python-pytest)
4898 ("man-db" ,man-db)
4899 ("which" ,which)))
4900 (propagated-inputs
4901 `(("python-ptyprocess" ,python-ptyprocess)))
4610 (home-page "http://pexpect.readthedocs.org/") 4902 (home-page "http://pexpect.readthedocs.org/")
4611 (synopsis "Controlling interactive console applications") 4903 (synopsis "Controlling interactive console applications")
4612 (description 4904 (description
@@ -4622,13 +4914,13 @@ child application and control it as if a human were typing commands.")
4622(define-public python-setuptools-scm 4914(define-public python-setuptools-scm
4623 (package 4915 (package
4624 (name "python-setuptools-scm") 4916 (name "python-setuptools-scm")
4625 (version "1.11.1") 4917 (version "1.15.0")
4626 (source (origin 4918 (source (origin
4627 (method url-fetch) 4919 (method url-fetch)
4628 (uri (pypi-uri "setuptools_scm" version)) 4920 (uri (pypi-uri "setuptools_scm" version))
4629 (sha256 4921 (sha256
4630 (base32 4922 (base32
4631 "1gqr73i150yzj3mz32854vj93x07yr52kn8fdckwa41ll8wgficc")))) 4923 "0bwyc5markib0i7i2qlyhdzxhiywzxbkfiapldma8m91m82jvwfs"))))
4632 (build-system python-build-system) 4924 (build-system python-build-system)
4633 (home-page "https://github.com/pypa/setuptools_scm/") 4925 (home-page "https://github.com/pypa/setuptools_scm/")
4634 (synopsis "Manage Python package versions in SCM metadata") 4926 (synopsis "Manage Python package versions in SCM metadata")
@@ -4911,20 +5203,26 @@ installing @code{kernelspec}s for use with Jupyter frontends.")
4911 (build-system python-build-system) 5203 (build-system python-build-system)
4912 (arguments 5204 (arguments
4913 `(#:tests? #f ; this package does not even have a setup.py 5205 `(#:tests? #f ; this package does not even have a setup.py
5206 #:modules ((guix build python-build-system)
5207 (guix build utils)
5208 (srfi srfi-1))
5209 #:imported-modules (,@%python-build-system-modules
5210 (srfi srfi-1))
4914 #:phases 5211 #:phases
4915 (modify-phases %standard-phases 5212 (modify-phases %standard-phases
4916 (delete 'install) 5213 (delete 'install)
4917 (replace 'build 5214 (replace 'build
4918 (lambda* (#:key inputs outputs #:allow-other-keys) 5215 (lambda* (#:key inputs outputs #:allow-other-keys)
4919 (let ((dir (string-append 5216 (let* ((version (last
4920 (assoc-ref outputs "out") 5217 (string-split (assoc-ref inputs "python") #\-)))
4921 "/lib/python" 5218 (x.y (string-join (take (string-split version #\.) 2)
4922 (string-take (string-take-right 5219 "."))
4923 (assoc-ref inputs "python") 5) 3) 5220 (dir (string-append
4924 "/site-packages/testpath"))) 5221 (assoc-ref outputs "out")
4925 (mkdir-p dir) 5222 "/lib/python" x.y "/site-packages/testpath")))
4926 (copy-recursively "testpath" dir)) 5223 (mkdir-p dir)
4927 #t))))) 5224 (copy-recursively "testpath" dir))
5225 #t)))))
4928 (home-page "https://github.com/takluyver/testpath") 5226 (home-page "https://github.com/takluyver/testpath")
4929 (synopsis "Test utilities for code working with files and commands") 5227 (synopsis "Test utilities for code working with files and commands")
4930 (description 5228 (description
@@ -4939,17 +5237,18 @@ tools for mocking system commands and recording calls to those.")
4939(define-public python-ipython 5237(define-public python-ipython
4940 (package 5238 (package
4941 (name "python-ipython") 5239 (name "python-ipython")
4942 (version "4.0.3") 5240 (version "5.2.2")
4943 (source 5241 (source
4944 (origin 5242 (origin
4945 (method url-fetch) 5243 (method url-fetch)
4946 (uri (pypi-uri "ipython" version ".tar.gz")) 5244 (uri (pypi-uri "ipython" version ".tar.gz"))
4947 (sha256 5245 (sha256
4948 (base32 "1h2gp1p06sww9rzfkfzqy489bh47gj3910y2b1wdk3dcx1cqz4is")))) 5246 (base32 "1qhjwa9cyz1np7rhv3p4ip13lkgbqsad62l24xkwiq1ic2gwiqbf"))))
4949 (build-system python-build-system) 5247 (build-system python-build-system)
4950 (outputs '("out" "doc")) 5248 (outputs '("out" "doc"))
4951 (propagated-inputs 5249 (propagated-inputs
4952 `(("python-pyzmq" ,python-pyzmq) 5250 `(("python-pyzmq" ,python-pyzmq)
5251 ("python-prompt-toolkit" ,python-prompt-toolkit)
4953 ("python-terminado" ,python-terminado) 5252 ("python-terminado" ,python-terminado)
4954 ("python-matplotlib" ,python-matplotlib) 5253 ("python-matplotlib" ,python-matplotlib)
4955 ("python-numpy" ,python-numpy) 5254 ("python-numpy" ,python-numpy)
@@ -4962,16 +5261,19 @@ tools for mocking system commands and recording calls to those.")
4962 ("python-jsonschema" ,python-jsonschema) 5261 ("python-jsonschema" ,python-jsonschema)
4963 ("python-traitlets" ,python-traitlets) 5262 ("python-traitlets" ,python-traitlets)
4964 ("python-ipykernel" ,python-ipykernel) 5263 ("python-ipykernel" ,python-ipykernel)
5264 ("python-nbformat" ,python-nbformat)
4965 ("python-pygments" ,python-pygments))) 5265 ("python-pygments" ,python-pygments)))
4966 (inputs 5266 (inputs
4967 `(("readline" ,readline) 5267 `(("readline" ,readline)
4968 ("which" ,which))) 5268 ("which" ,which)))
4969 (native-inputs 5269 (native-inputs
4970 `(("pkg-config" ,pkg-config) 5270 `(("graphviz" ,graphviz)
5271 ("pkg-config" ,pkg-config)
4971 ("python-requests" ,python-requests) ;; for tests 5272 ("python-requests" ,python-requests) ;; for tests
4972 ("python-testpath" ,python-testpath) 5273 ("python-testpath" ,python-testpath)
4973 ("python-nose" ,python-nose) 5274 ("python-nose" ,python-nose)
4974 ("python-sphinx" ,python-sphinx) 5275 ("python-sphinx" ,python-sphinx)
5276 ("python-shpinx-rtd-theme" ,python-sphinx-rtd-theme)
4975 ("texlive" ,texlive) 5277 ("texlive" ,texlive)
4976 ("texinfo" ,texinfo))) 5278 ("texinfo" ,texinfo)))
4977 (arguments 5279 (arguments
@@ -4985,15 +5287,16 @@ tools for mocking system commands and recording calls to those.")
4985 (html (string-append doc "/html")) 5287 (html (string-append doc "/html"))
4986 (man1 (string-append data "/man/man1")) 5288 (man1 (string-append data "/man/man1"))
4987 (info (string-append data "/info")) 5289 (info (string-append data "/info"))
4988 (examples (string-append doc "/examples"))) 5290 (examples (string-append doc "/examples"))
5291 (python-arg (string-append "PYTHON=" (which "python"))))
4989 (setenv "LANG" "en_US.utf8") 5292 (setenv "LANG" "en_US.utf8")
4990 ;; Make installed package available for running the tests 5293 ;; Make installed package available for running the tests
4991 (add-installed-pythonpath inputs outputs) 5294 (add-installed-pythonpath inputs outputs)
4992 (with-directory-excursion "docs" 5295 (with-directory-excursion "docs"
4993 ;; FIXME: pdf fails to build 5296 ;; FIXME: pdf fails to build
4994 ;;(system* "make" "pdf" "PAPER=a4") 5297 ;;(system* "make" "pdf" "PAPER=a4")
4995 (system* "make" "html") 5298 (system* "make" python-arg "html")
4996 (system* "make" "info")) 5299 (system* "make" python-arg "info"))
4997 (copy-recursively "docs/man" man1) 5300 (copy-recursively "docs/man" man1)
4998 (copy-recursively "examples" examples) 5301 (copy-recursively "examples" examples)
4999 (copy-recursively "docs/build/html" html) 5302 (copy-recursively "docs/build/html" html)
@@ -5043,10 +5346,12 @@ computing.")
5043 (let ((ipython (package-with-python2 (strip-python2-variant python-ipython)))) 5346 (let ((ipython (package-with-python2 (strip-python2-variant python-ipython))))
5044 (package 5347 (package
5045 (inherit ipython) 5348 (inherit ipython)
5046 ;; FIXME: some tests are failing
5047 (arguments
5048 `(#:tests? #f ,@(package-arguments ipython)))
5049 ;; FIXME: add pyreadline once available. 5349 ;; FIXME: add pyreadline once available.
5350 (propagated-inputs
5351 `(("python2-backports-shutil-get-terminal-size"
5352 ,python2-backports-shutil-get-terminal-size)
5353 ("python2-pathlib2" ,python2-pathlib2)
5354 ,@(package-propagated-inputs ipython)))
5050 (native-inputs 5355 (native-inputs
5051 `(("python2-mock" ,python2-mock) 5356 `(("python2-mock" ,python2-mock)
5052 ,@(package-native-inputs ipython)))))) 5357 ,@(package-native-inputs ipython))))))
@@ -5322,13 +5627,12 @@ implementation of D-Bus.")
5322 `(("sqlite" ,sqlite))) 5627 `(("sqlite" ,sqlite)))
5323 (arguments 5628 (arguments
5324 `(#:phases 5629 `(#:phases
5325 ;; swap check and install phases 5630 (modify-phases %standard-phases
5326 (alist-cons-after 5631 (delete 'check)
5327 'install 'check 5632 (add-after 'install 'check
5328 (assoc-ref %standard-phases 'check) 5633 (lambda* (#:key inputs outputs #:allow-other-keys)
5329 (alist-delete 5634 (add-installed-pythonpath inputs outputs)
5330 'check 5635 (zero? (system* "python" "setup.py" "test")))))))
5331 %standard-phases))))
5332 (home-page "https://github.com/rogerbinns/apsw/") 5636 (home-page "https://github.com/rogerbinns/apsw/")
5333 (synopsis "Another Python SQLite Wrapper") 5637 (synopsis "Another Python SQLite Wrapper")
5334 (description "APSW is a Python wrapper for the SQLite 5638 (description "APSW is a Python wrapper for the SQLite
@@ -5400,7 +5704,8 @@ screen-scraping projects. It offers Pythonic idioms for navigating,
5400searching, and modifying a parse tree, providing a toolkit for 5704searching, and modifying a parse tree, providing a toolkit for
5401dissecting a document and extracting what you need. It automatically 5705dissecting a document and extracting what you need. It automatically
5402converts incoming documents to Unicode and outgoing documents to UTF-8.") 5706converts incoming documents to Unicode and outgoing documents to UTF-8.")
5403 (license license:expat))) 5707 (license license:expat)
5708 (properties `((python2-variant . ,(delay python2-beautifulsoup4))))))
5404 5709
5405(define-public python2-beautifulsoup4 5710(define-public python2-beautifulsoup4
5406 (package 5711 (package
@@ -5477,6 +5782,7 @@ another XPath engine to find the matching elements in an XML or HTML document.")
5477 (base32 5782 (base32
5478 "102hy2qisvjxp5s0v9lvwqi4f2dk0dhns40vjgn008yxc7k0h3cr")))) 5783 "102hy2qisvjxp5s0v9lvwqi4f2dk0dhns40vjgn008yxc7k0h3cr"))))
5479 (build-system python-build-system) 5784 (build-system python-build-system)
5785 (arguments '(#:tests? #f)) ; No tests.
5480 (home-page "https://github.com/puiterwijk/python-openid-cla/") 5786 (home-page "https://github.com/puiterwijk/python-openid-cla/")
5481 (synopsis "Implementation of the OpenID CLA extension for python-openid") 5787 (synopsis "Implementation of the OpenID CLA extension for python-openid")
5482 (description "@code{openid-cla} is an implementation of the OpenID 5788 (description "@code{openid-cla} is an implementation of the OpenID
@@ -5498,6 +5804,7 @@ contributor license agreement extension for python-openid.")
5498 (base32 5804 (base32
5499 "05zrh78alav24rxkbqlpbad6d3x2nljk6z6j7kflxf3vdqa7w969")))) 5805 "05zrh78alav24rxkbqlpbad6d3x2nljk6z6j7kflxf3vdqa7w969"))))
5500 (build-system python-build-system) 5806 (build-system python-build-system)
5807 (arguments '(#:tests? #f)) ; No tests.
5501 (home-page "https://github.com/puiterwijk/python-openid-teams/") 5808 (home-page "https://github.com/puiterwijk/python-openid-teams/")
5502 (synopsis "Implementation of the OpenID teams extension for python-openid") 5809 (synopsis "Implementation of the OpenID teams extension for python-openid")
5503 (description 5810 (description
@@ -5564,17 +5871,18 @@ of the structure, dynamics, and functions of complex networks.")
5564(define-public snakemake 5871(define-public snakemake
5565 (package 5872 (package
5566 (name "snakemake") 5873 (name "snakemake")
5567 (version "3.2.1") 5874 (version "3.9.0")
5568 (source 5875 (source
5569 (origin 5876 (origin
5570 (method url-fetch) 5877 (method url-fetch)
5571 (uri (string-append 5878 (uri (pypi-uri "snakemake" version))
5572 "https://pypi.python.org/packages/source/s/snakemake/snakemake-"
5573 version ".tar.gz"))
5574 (sha256 5879 (sha256
5575 (base32 "0fi4b63sj60hvi7rfydvmz2icl4wj74djw5sn2gl8hxd02qw4b91")))) 5880 (base32 "1d48ql0010v9ls6mac7fz6j391gm4h74a64hqgw89s0vfqgdyzdl"))))
5576 (build-system python-build-system) 5881 (build-system python-build-system)
5577 (home-page "https://bitbucket.org/johanneskoester/snakemake") 5882 (arguments
5883 ;; TODO: Package missing test dependencies.
5884 '(#:tests? #f))
5885 (home-page "https://bitbucket.org/snakemake/snakemake/wiki/Home")
5578 (synopsis "Python-based execution environment for make-like workflows") 5886 (synopsis "Python-based execution environment for make-like workflows")
5579 (description 5887 (description
5580 "Snakemake aims to reduce the complexity of creating workflows by 5888 "Snakemake aims to reduce the complexity of creating workflows by
@@ -5593,6 +5901,8 @@ Python style, together with a fast and comfortable execution environment.")
5593 (sha256 5901 (sha256
5594 (base32 "0pawrqc3mxpwd5g9pvi9gba02637bh5c8ldpp8izfwpfn52469zs")))) 5902 (base32 "0pawrqc3mxpwd5g9pvi9gba02637bh5c8ldpp8izfwpfn52469zs"))))
5595 (build-system python-build-system) 5903 (build-system python-build-system)
5904 (arguments
5905 '(#:tests? #f)) ; Tests requires a running X11 server.
5596 (propagated-inputs 5906 (propagated-inputs
5597 `(("python-pandas" ,python-pandas) 5907 `(("python-pandas" ,python-pandas)
5598 ("python-matplotlib" ,python-matplotlib) 5908 ("python-matplotlib" ,python-matplotlib)
@@ -5614,10 +5924,40 @@ and statistical routines from scipy and statsmodels.")
5614 (propagated-inputs `(("python2-pytz" ,python2-pytz) 5924 (propagated-inputs `(("python2-pytz" ,python2-pytz)
5615 ,@(package-propagated-inputs base)))))) 5925 ,@(package-propagated-inputs base))))))
5616 5926
5927(define-public python-mpmath
5928 (package
5929 (name "python-mpmath")
5930 (version "0.19")
5931 (source (origin
5932 (method url-fetch)
5933 (uri (string-append "http://mpmath.org/files/mpmath-"
5934 version ".tar.gz"))
5935 (sha256
5936 (base32
5937 "08ijsr4ifrqv3cjc26mkw0dbvyygsa99in376hr4b96ddm1gdpb8"))))
5938 (build-system python-build-system)
5939 (arguments
5940 '(#:phases
5941 (modify-phases %standard-phases
5942 (replace 'check
5943 (lambda _
5944 (zero?
5945 (system* "python" "mpmath/tests/runtests.py" "-local")))))))
5946 (home-page "http://mpmath.org")
5947 (synopsis "Arbitrary-precision floating-point arithmetic in python")
5948 (description
5949 "@code{mpmath} can be used as an arbitrary-precision substitute for
5950Python's float/complex types and math/cmath modules, but also does much
5951more advanced mathematics.")
5952 (license license:bsd-3)))
5953
5954(define-public python2-mpmath
5955 (package-with-python2 python-mpmath))
5956
5617(define-public python-sympy 5957(define-public python-sympy
5618 (package 5958 (package
5619 (name "python-sympy") 5959 (name "python-sympy")
5620 (version "0.7.6") 5960 (version "1.0")
5621 (source 5961 (source
5622 (origin 5962 (origin
5623 (method url-fetch) 5963 (method url-fetch)
@@ -5625,8 +5965,10 @@ and statistical routines from scipy and statsmodels.")
5625 "https://github.com/sympy/sympy/releases/download/sympy-" 5965 "https://github.com/sympy/sympy/releases/download/sympy-"
5626 version "/sympy-" version ".tar.gz")) 5966 version "/sympy-" version ".tar.gz"))
5627 (sha256 5967 (sha256
5628 (base32 "19yp0gy4i7p4g6l3b8vaqkj9qj7yqb5kqy0qgbdagpzgkdz958yz")))) 5968 (base32 "1bpzjwr9hrr7w88v4vgnj9lr6vxcldc94si13n8xpr1rv08d5b1y"))))
5629 (build-system python-build-system) 5969 (build-system python-build-system)
5970 (propagated-inputs
5971 `(("python-mpmath" ,python-mpmath)))
5630 (home-page "http://www.sympy.org/") 5972 (home-page "http://www.sympy.org/")
5631 (synopsis "Python library for symbolic mathematics") 5973 (synopsis "Python library for symbolic mathematics")
5632 (description 5974 (description
@@ -5744,6 +6086,17 @@ It is written entirely in Python.")
5744 (sha256 6086 (sha256
5745 (base32 "1gzgwayl6hmc9jfcl88bni4jcsk2jcca9dn1rvrfsvnijcjx7hn9")))) 6087 (base32 "1gzgwayl6hmc9jfcl88bni4jcsk2jcca9dn1rvrfsvnijcjx7hn9"))))
5746 (build-system python-build-system) 6088 (build-system python-build-system)
6089 (arguments
6090 '(;; FIXME: Two tests error out with:
6091 ;; AssertionError: b'Error in atexit._run_exitfuncs:\nFileNotF[44 chars]ry\n' != b''
6092 ;; #:phases
6093 ;; (modify-phases %standard-phases
6094 ;; (replace 'check
6095 ;; (lambda _
6096 ;; ;; 'setup.py test' hits an AssertionError on BSD-specific
6097 ;; ;; "tornado/platform/kqueue.py". This is the supported method:
6098 ;; (zero? (system* "python" "-m" "tornado.test")))))
6099 #:tests? #f))
5747 (native-inputs 6100 (native-inputs
5748 `(("python-certifi" ,python-certifi))) 6101 `(("python-certifi" ,python-certifi)))
5749 (propagated-inputs 6102 (propagated-inputs
@@ -5791,6 +6144,36 @@ connection to each user.")
5791(define-public python2-backports-abc 6144(define-public python2-backports-abc
5792 (package-with-python2 python-backports-abc)) 6145 (package-with-python2 python-backports-abc))
5793 6146
6147(define-public python2-backports-shutil-get-terminal-size
6148 (package
6149 (name "python2-backports-shutil-get-terminal-size")
6150 (version "1.0.0")
6151 (source
6152 (origin
6153 (method url-fetch)
6154 (uri (pypi-uri "backports.shutil_get_terminal_size" version))
6155 (sha256
6156 (base32
6157 "107cmn7g3jnbkp826zlj8rrj19fam301qvaqf0f3905f5217lgki"))))
6158 (build-system python-build-system)
6159 (arguments
6160 `(#:python ,python-2
6161 #:phases
6162 (modify-phases %standard-phases
6163 (replace 'check
6164 (lambda _
6165 (zero? (system* "py.test" "-v")))))))
6166 (native-inputs
6167 `(("python2-pytest" ,python2-pytest)))
6168 (home-page "https://github.com/chrippa/backports.shutil_get_terminal_size")
6169 (synopsis "Backport of Python 3.3's @code{shutil.get_terminal_size}")
6170 (description
6171 "This package provides a backport of the @code{get_terminal_size
6172function} from Python 3.3's @code{shutil}.
6173Unlike the original version it is written in pure Python rather than C,
6174so it might be a tiny bit slower.")
6175 (license license:expat)))
6176
5794(define-public python-waf 6177(define-public python-waf
5795 (package 6178 (package
5796 (name "python-waf") 6179 (name "python-waf")
@@ -5953,7 +6336,10 @@ complexity of Python source code.")
5953 ".tar.gz")) 6336 ".tar.gz"))
5954 (sha256 6337 (sha256
5955 (base32 6338 (base32
5956 "12b9bbdbwnspxgak14xg58c130x2n0blxzlms5jn2dszn8qj3d0m")))))) 6339 "12b9bbdbwnspxgak14xg58c130x2n0blxzlms5jn2dszn8qj3d0m"))))
6340 (arguments
6341 ;; XXX Tests not compatible with Python 3.5.
6342 '(#:tests? #f))))
5957 6343
5958(define-public python2-pep8-1.5.7 6344(define-public python2-pep8-1.5.7
5959 (package-with-python2 python-pep8-1.5.7)) 6345 (package-with-python2 python-pep8-1.5.7))
@@ -5972,7 +6358,10 @@ complexity of Python source code.")
5972 ".tar.gz")) 6358 ".tar.gz"))
5973 (sha256 6359 (sha256
5974 (base32 6360 (base32
5975 "0sbpq6pqm1i9wqi41mlfrsc5rk92jv4mskvlyxmnhlbdnc80ma1z")))))) 6361 "0sbpq6pqm1i9wqi41mlfrsc5rk92jv4mskvlyxmnhlbdnc80ma1z"))))
6362 (arguments
6363 ;; XXX Tests not compatible with Python 3.5.
6364 '(#:tests? #f))))
5976 6365
5977(define-public python2-pyflakes-0.8.1 6366(define-public python2-pyflakes-0.8.1
5978 (package-with-python2 python-pyflakes-0.8.1)) 6367 (package-with-python2 python-pyflakes-0.8.1))
@@ -6040,7 +6429,10 @@ complexity of Python source code.")
6040 (for-each delete-file-recursively 6429 (for-each delete-file-recursively
6041 (find-files "." "__pycache__" #:directories? #t)) 6430 (find-files "." "__pycache__" #:directories? #t))
6042 (for-each delete-file (find-files "." "\\.pyc$")) 6431 (for-each delete-file (find-files "." "\\.pyc$"))
6043 #t)))))) 6432 #t))))
6433 (arguments
6434 ;; XXX Fails with Python 3.5.
6435 '(#:tests? #f))))
6044 6436
6045(define-public python2-flake8-2.2.4 6437(define-public python2-flake8-2.2.4
6046 (package-with-python2 python-flake8-2.2.4)) 6438 (package-with-python2 python-flake8-2.2.4))
@@ -6057,6 +6449,20 @@ complexity of Python source code.")
6057 (base32 6449 (base32
6058 "02gn2wxvh9vnf7m7dld7ca4l60mg5c370hv3swwppkngwaqmcw67")))) 6450 "02gn2wxvh9vnf7m7dld7ca4l60mg5c370hv3swwppkngwaqmcw67"))))
6059 (build-system python-build-system) 6451 (build-system python-build-system)
6452 (arguments
6453 '(#:phases
6454 (modify-phases %standard-phases
6455 (replace 'check
6456 (lambda _
6457 (setenv "PYTHONPATH"
6458 (string-append (getcwd) "/build/lib:"
6459 (getenv "PYTHONPATH")))
6460 (zero? (system* "py.test" "-v")))))))
6461 (native-inputs
6462 `(("python-flake8" ,python-flake8)
6463 ("python-mock" ,python-mock)
6464 ("python-pycodestyle" ,python-pycodestyle)
6465 ("python-pytest" ,python-pytest)))
6060 (home-page "https://gitlab.com/pycqa/flake8-polyfill") 6466 (home-page "https://gitlab.com/pycqa/flake8-polyfill")
6061 (synopsis "Polyfill package for Flake8 plugins") 6467 (synopsis "Polyfill package for Flake8 plugins")
6062 (description 6468 (description
@@ -6329,6 +6735,9 @@ from an XML-based format.")
6329 (base32 6735 (base32
6330 "0g6n288l83sfwavxh1aryi0aqvsr3sp7v6f903mckwqa4scpky62")))) 6736 "0g6n288l83sfwavxh1aryi0aqvsr3sp7v6f903mckwqa4scpky62"))))
6331 (build-system python-build-system) 6737 (build-system python-build-system)
6738 (arguments
6739 ;; FIXME: Some tests need network access.
6740 '(#:tests? #f))
6332 (synopsis "Tool and library for manipulating LilyPond files") 6741 (synopsis "Tool and library for manipulating LilyPond files")
6333 (description "This package provides a Python library to parse, manipulate 6742 (description "This package provides a Python library to parse, manipulate
6334or create documents in LilyPond format. A command line program ly is also 6743or create documents in LilyPond format. A command line program ly is also
@@ -6497,6 +6906,8 @@ and MAC network addresses.")
6497 (base32 6906 (base32
6498 "0c7gh3lsdjds262h0v1sqc66l7hqgfwbakn96qrhdbl0i3vm5yz8")))) 6907 "0c7gh3lsdjds262h0v1sqc66l7hqgfwbakn96qrhdbl0i3vm5yz8"))))
6499 (build-system python-build-system) 6908 (build-system python-build-system)
6909 (native-inputs
6910 `(("python-pytest" ,python-pytest)))
6500 (home-page "https://bitbucket.org/micktwomey/pyiso8601") 6911 (home-page "https://bitbucket.org/micktwomey/pyiso8601")
6501 (synopsis "Module to parse ISO 8601 dates") 6912 (synopsis "Module to parse ISO 8601 dates")
6502 (description 6913 (description
@@ -6909,13 +7320,25 @@ message digests and key derivation functions.")
6909 (uri (pypi-uri "pyOpenSSL" version)) 7320 (uri (pypi-uri "pyOpenSSL" version))
6910 (sha256 7321 (sha256
6911 (base32 7322 (base32
6912 "0vji4yrfshs15xpczbhzhasnjrwcarsqg87n98ixnyafnyxs6ybp")))) 7323 "0vji4yrfshs15xpczbhzhasnjrwcarsqg87n98ixnyafnyxs6ybp"))
7324 (patches
7325 (search-patches "python-pyopenssl-skip-network-test.patch"))))
6913 (build-system python-build-system) 7326 (build-system python-build-system)
7327 (arguments
7328 '(#:phases
7329 (modify-phases %standard-phases
7330 (delete 'check)
7331 (add-after 'install 'check
7332 (lambda* (#:key inputs outputs #:allow-other-keys)
7333 (add-installed-pythonpath inputs outputs)
7334 (zero? (system* "py.test" "-v")))))))
6914 (propagated-inputs 7335 (propagated-inputs
6915 `(("python-cryptography" ,python-cryptography) 7336 `(("python-cryptography" ,python-cryptography)
6916 ("python-six" ,python-six))) 7337 ("python-six" ,python-six)))
6917 (inputs 7338 (inputs
6918 `(("openssl" ,openssl))) 7339 `(("openssl" ,openssl)))
7340 (native-inputs
7341 `(("python-pytest" ,python-pytest)))
6919 (home-page "https://github.com/pyca/pyopenssl") 7342 (home-page "https://github.com/pyca/pyopenssl")
6920 (synopsis "Python wrapper module around the OpenSSL library") 7343 (synopsis "Python wrapper module around the OpenSSL library")
6921 (description 7344 (description
@@ -7230,9 +7653,19 @@ functions to find and load entry points.")
7230 (base32 7653 (base32
7231 "0brclbb18l4nmd5qy3dl9wn05rjdh1fz4rmzdlfqacj12rcdvdgp")))) 7654 "0brclbb18l4nmd5qy3dl9wn05rjdh1fz4rmzdlfqacj12rcdvdgp"))))
7232 (build-system python-build-system) 7655 (build-system python-build-system)
7233 ;; The "bdist_egg" target is disabled by default, causing the installation 7656 (arguments
7234 ;; to fail. 7657 `(;; The "bdist_egg" target is disabled by default, causing the installation
7235 (arguments `(#:configure-flags (list "bdist_egg"))) 7658 ;; to fail.
7659 #:configure-flags (list "bdist_egg")
7660 ;; FIXME: 5 failures, 40 errors.
7661 #:tests? #f))
7662 ;; #:phases
7663 ;; (modify-phases %standard-phases
7664 ;; (replace 'check
7665 ;; (lambda _
7666 ;; (zero? (system* "py.test" "-v")))))
7667 (native-inputs
7668 `(("python-pytest" ,python-pytest)))
7236 (propagated-inputs 7669 (propagated-inputs
7237 `(("python-bleach" ,python-bleach) 7670 `(("python-bleach" ,python-bleach)
7238 ("python-entrypoints" ,python-entrypoints) 7671 ("python-entrypoints" ,python-entrypoints)
@@ -7333,7 +7766,8 @@ interactive computing.")
7333 (propagated-inputs 7766 (propagated-inputs
7334 `(("python-notebook" ,python-notebook))) 7767 `(("python-notebook" ,python-notebook)))
7335 (native-inputs 7768 (native-inputs
7336 `(("python-nose" ,python-nose))) 7769 `(("python-certifi" ,python-certifi)
7770 ("python-nose" ,python-nose)))
7337 (home-page "http://ipython.org") 7771 (home-page "http://ipython.org")
7338 (synopsis "IPython HTML widgets for Jupyter") 7772 (synopsis "IPython HTML widgets for Jupyter")
7339 (description "This package provides interactive HTML widgets for Jupyter 7773 (description "This package provides interactive HTML widgets for Jupyter
@@ -7614,6 +8048,8 @@ forms, HTTP servers, regular expressions, and more.")
7614 (base32 8048 (base32
7615 "1r7iqknhh55y45f64mz5hghgvzx34h1i11k350s0avx6q8gznja1")))) 8049 "1r7iqknhh55y45f64mz5hghgvzx34h1i11k350s0avx6q8gznja1"))))
7616 (build-system python-build-system) 8050 (build-system python-build-system)
8051 (arguments
8052 '(#:tests? #f)) ; FIXME: Tests can't find zope.interface.
7617 (native-inputs 8053 (native-inputs
7618 `(("python-six" ,python-six) 8054 `(("python-six" ,python-six)
7619 ;("python-zope-interface" ,python-zope-interface) 8055 ;("python-zope-interface" ,python-zope-interface)
@@ -7674,8 +8110,11 @@ internationalized messages within program source text.")
7674 (base32 8110 (base32
7675 "1p943jdxb587dh7php4vx04qvn7b2877hr4qs5zyckvp5afhhank")))) 8111 "1p943jdxb587dh7php4vx04qvn7b2877hr4qs5zyckvp5afhhank"))))
7676 (build-system python-build-system) 8112 (build-system python-build-system)
8113 (arguments
8114 '(#:tests? #f)) ; FIXME: Tests can't find zope.event.
7677 (propagated-inputs 8115 (propagated-inputs
7678 `(("python-zope-event" ,python-zope-event) 8116 `(("python-zope-event" ,python-zope-event)
8117 ("python-zope-exceptions", python-zope-exceptions)
7679 ("python-zope-interface" ,python-zope-interface))) 8118 ("python-zope-interface" ,python-zope-interface)))
7680 (native-inputs 8119 (native-inputs
7681 `(("python-zope-testing" ,python-zope-testing) 8120 `(("python-zope-testing" ,python-zope-testing)
@@ -7703,6 +8142,8 @@ defining data schemas.")
7703 (base32 8142 (base32
7704 "1x9dfqypgympnlm25p9m43xh4qv3p7d75vksv9pzqibrb4cggw5n")))) 8143 "1x9dfqypgympnlm25p9m43xh4qv3p7d75vksv9pzqibrb4cggw5n"))))
7705 (build-system python-build-system) 8144 (build-system python-build-system)
8145 (arguments
8146 '(#:tests? #f)) ; FIXME: Tests can't find zope.interface.
7706 (propagated-inputs 8147 (propagated-inputs
7707 `(("python-zope-i18nmessageid" ,python-zope-i18nmessageid) 8148 `(("python-zope-i18nmessageid" ,python-zope-i18nmessageid)
7708 ("python-zope-schema" ,python-zope-schema))) 8149 ("python-zope-schema" ,python-zope-schema)))
@@ -7728,6 +8169,8 @@ Markup Language.")
7728 (base32 8169 (base32
7729 "0pqwwmvm1prhwv1ziv9lp8iirz7xkwb6n2kyj36p2h0ppyyhjnm4")))) 8170 "0pqwwmvm1prhwv1ziv9lp8iirz7xkwb6n2kyj36p2h0ppyyhjnm4"))))
7730 (build-system python-build-system) 8171 (build-system python-build-system)
8172 (arguments
8173 '(#:tests? #f)) ; FIXME: Tests can't find zope.interface.
7731 (propagated-inputs 8174 (propagated-inputs
7732 `(("python-zope-interface" ,python-zope-interface))) 8175 `(("python-zope-interface" ,python-zope-interface)))
7733 (home-page "http://pypi.python.org/pypi/zope.proxy") 8176 (home-page "http://pypi.python.org/pypi/zope.proxy")
@@ -7755,6 +8198,8 @@ brokering, etc.) for which the proxy is responsible.")
7755 (base32 8198 (base32
7756 "1nj9da4ksiyv3h8n2vpzwd0pb03mdsh7zy87hfpx72b6p2zcwg74")))) 8199 "1nj9da4ksiyv3h8n2vpzwd0pb03mdsh7zy87hfpx72b6p2zcwg74"))))
7757 (build-system python-build-system) 8200 (build-system python-build-system)
8201 (arguments
8202 '(#:tests? #f)) ; FIXME: Tests can't find zope.interface.
7758 (propagated-inputs 8203 (propagated-inputs
7759 `(("python-zope-proxy" ,python-zope-proxy) 8204 `(("python-zope-proxy" ,python-zope-proxy)
7760 ("python-zope-schema" ,python-zope-schema))) 8205 ("python-zope-schema" ,python-zope-schema)))
@@ -7780,12 +8225,15 @@ Zope3, which are are special objects that have a structural location.")
7780 (base32 8225 (base32
7781 "14zmf684amc0x32kq05yxnhfqd1cmyhafkw05gn81rn90zjv6ssy")))) 8226 "14zmf684amc0x32kq05yxnhfqd1cmyhafkw05gn81rn90zjv6ssy"))))
7782 (build-system python-build-system) 8227 (build-system python-build-system)
8228 (arguments
8229 '(#:tests? #f)) ; FIXME: Tests can't find zope.testrunner.
7783 (propagated-inputs 8230 (propagated-inputs
7784 `(("python-zope-i18nmessageid" ,python-zope-i18nmessageid) 8231 `(("python-zope-i18nmessageid" ,python-zope-i18nmessageid)
7785 ("python-zope-proxy" ,python-zope-proxy) 8232 ("python-zope-proxy" ,python-zope-proxy)
7786 ("python-zope-schema" ,python-zope-schema))) 8233 ("python-zope-schema" ,python-zope-schema)))
7787 (native-inputs 8234 (native-inputs
7788 `(("python-zope-component" ,python-zope-component) 8235 `(("python-six" ,python-six)
8236 ("python-zope-component" ,python-zope-component)
7789 ("python-zope-configuration" ,python-zope-configuration) 8237 ("python-zope-configuration" ,python-zope-configuration)
7790 ("python-zope-location" ,python-zope-location) 8238 ("python-zope-location" ,python-zope-location)
7791 ("python-zope-testrunner" ,python-zope-testrunner) 8239 ("python-zope-testrunner" ,python-zope-testrunner)
@@ -8259,6 +8707,8 @@ minimal and fast API targetting the following uses:
8259 (base32 8707 (base32
8260 "0k3vypszmgmaipgw9xscvgm79h2zd6p6ci8gdp5sxl6g5kbqr9fy")))) 8708 "0k3vypszmgmaipgw9xscvgm79h2zd6p6ci8gdp5sxl6g5kbqr9fy"))))
8261 (build-system python-build-system) 8709 (build-system python-build-system)
8710 ;; TODO: Tests require packaging 'hiredis'.
8711 (arguments '(#:tests? #f))
8262 (home-page "https://github.com/benjolitz/trollius-redis") 8712 (home-page "https://github.com/benjolitz/trollius-redis")
8263 (synopsis "Port of asyncio-redis to trollius") 8713 (synopsis "Port of asyncio-redis to trollius")
8264 (description "@code{trollius-redis} is a Redis client for Python 8714 (description "@code{trollius-redis} is a Redis client for Python
@@ -8389,7 +8839,7 @@ processes across test runs.")
8389 "086jslw8cg2hni79j267p1dy6d27m7q5hi39ni2clh9waqbdf5v3")))) 8839 "086jslw8cg2hni79j267p1dy6d27m7q5hi39ni2clh9waqbdf5v3"))))
8390 (build-system python-build-system) 8840 (build-system python-build-system)
8391 (propagated-inputs 8841 (propagated-inputs
8392 `(("python-dateutil-2" ,python-dateutil-2) 8842 `(("python-dateutil" ,python-dateutil)
8393 ("python-pytz" ,python-pytz))) 8843 ("python-pytz" ,python-pytz)))
8394 (synopsis "Python library for parsing iCalendar files") 8844 (synopsis "Python library for parsing iCalendar files")
8395 (description "The icalendar package is a parser/generator of iCalendar 8845 (description "The icalendar package is a parser/generator of iCalendar
@@ -8407,6 +8857,7 @@ files for use with Python.")
8407 (sha256 8857 (sha256
8408 (base32 8858 (base32
8409 "1d7gam3mn8v4in4p16yn3v10vps7nnaz6ilw99j4klij39dqd37p")))) 8859 "1d7gam3mn8v4in4p16yn3v10vps7nnaz6ilw99j4klij39dqd37p"))))
8860 (arguments '(#:tests? #f)) ; No tests.
8410 (build-system python-build-system) 8861 (build-system python-build-system)
8411 (propagated-inputs 8862 (propagated-inputs
8412 `(("python-sphinx" ,python-sphinx))) 8863 `(("python-sphinx" ,python-sphinx)))
@@ -8447,6 +8898,14 @@ Blog, News or Announcements section to a Sphinx website.")
8447 (base32 8898 (base32
8448 "1an5lkkqk1zha47198p42ji3m94xmzx1a03dn7866m87n4r4q8h5")))) 8899 "1an5lkkqk1zha47198p42ji3m94xmzx1a03dn7866m87n4r4q8h5"))))
8449 (build-system python-build-system) 8900 (build-system python-build-system)
8901 (arguments
8902 '(#:phases
8903 (modify-phases %standard-phases
8904 (replace 'check
8905 (lambda _
8906 (zero? (system* "py.test" "-v")))))))
8907 (native-inputs
8908 `(("python-pytest" ,python-pytest)))
8450 (propagated-inputs 8909 (propagated-inputs
8451 `(("python-args" ,python-args))) 8910 `(("python-args" ,python-args)))
8452 (home-page "https://github.com/kennethreitz/clint") 8911 (home-page "https://github.com/kennethreitz/clint")
@@ -8516,6 +8975,17 @@ with a new public API, and RPython support.")
8516 (base32 8975 (base32
8517 "1msqv747iz12r73mz4qvsmlwkddwjvrahlrk7ysrcz07h7dsscxs")))) 8976 "1msqv747iz12r73mz4qvsmlwkddwjvrahlrk7ysrcz07h7dsscxs"))))
8518 (build-system python-build-system) 8977 (build-system python-build-system)
8978 (arguments
8979 '(#:phases
8980 (modify-phases %standard-phases
8981 (replace 'check
8982 (lambda _
8983 ;; Tests require write access to HOME.
8984 (setenv "HOME" "/tmp")
8985 (zero? (system* "nosetests")))))))
8986 (native-inputs
8987 `(("python-coverage" ,python-coverage)
8988 ("python-nose" ,python-nose)))
8519 (propagated-inputs 8989 (propagated-inputs
8520 `(("python-astor" ,python-astor) 8990 `(("python-astor" ,python-astor)
8521 ("python-clint" ,python-clint) 8991 ("python-clint" ,python-clint)
@@ -8586,6 +9056,47 @@ authenticated session objects providing things like keep-alive.")
85863.2.3 for use with older versions of Python and PyPy.") 90563.2.3 for use with older versions of Python and PyPy.")
8587 (license license:expat))) 9057 (license license:expat)))
8588 9058
9059(define-public python2-subprocess32
9060 (package
9061 (name "python2-subprocess32")
9062 (version "3.2.7")
9063 (source (origin
9064 (method url-fetch)
9065 (uri (pypi-uri "subprocess32" version))
9066 (sha256
9067 (base32
9068 "14350dhhlhyz5gqzi3lihn9m6lvskx5mcb20srx1kgsk9i50li8y"))
9069 (patches
9070 (search-patches "python2-subprocess32-disable-input-test.patch"))))
9071 (build-system python-build-system)
9072 (arguments
9073 `(#:python ,python-2
9074 #:phases
9075 (modify-phases %standard-phases
9076 (add-after 'unpack 'patch-/bin/sh
9077 (lambda _
9078 (substitute* '("subprocess32.py"
9079 "test_subprocess32.py")
9080 (("/bin/sh") (which "sh")))
9081 #t))
9082 (delete 'check)
9083 (add-after 'install 'check
9084 (lambda* (#:key inputs outputs #:allow-other-keys)
9085 ;; For some reason this package fails to import
9086 ;; _posixsubprocess.so when PYTHONPATH is set to the build
9087 ;; directory. Running tests after install is easier.
9088 (add-installed-pythonpath inputs outputs)
9089 (zero? (system* "python" "test_subprocess32.py")))))))
9090 (home-page "https://github.com/google/python-subprocess32")
9091 (synopsis "Backport of the subprocess module from Python 3.2")
9092 (description
9093 "This is a backport of the @code{subprocess} standard library module
9094from Python 3.2 and 3.3 for use on Python 2. It includes bugfixes and some
9095new features. On POSIX systems it is guaranteed to be reliable when used
9096in threaded applications. It includes timeout support from Python 3.3 but
9097otherwise matches 3.2’s API.")
9098 (license license:psfl)))
9099
8589(define-public python2-futures 9100(define-public python2-futures
8590 (package 9101 (package
8591 (name "python2-futures") 9102 (name "python2-futures")
@@ -8790,6 +9301,8 @@ servers.")
8790 (base32 9301 (base32
8791 "0g9xvl69y7nr3w7ag4fsp6sm4fqf6vrqjw7504x2hzrrsh3ampq8")))) 9302 "0g9xvl69y7nr3w7ag4fsp6sm4fqf6vrqjw7504x2hzrrsh3ampq8"))))
8792 (build-system python-build-system) 9303 (build-system python-build-system)
9304 (native-inputs
9305 `(("python-nose" ,python-nose)))
8793 (synopsis "JSON Matching Expressions") 9306 (synopsis "JSON Matching Expressions")
8794 (description "JMESPath (pronounced “james path”) is a Python library that 9307 (description "JMESPath (pronounced “james path”) is a Python library that
8795allows one to declaratively specify how to extract elements from a JSON 9308allows one to declaratively specify how to extract elements from a JSON
@@ -8812,8 +9325,11 @@ document.")
8812 (base32 9325 (base32
8813 "1hqvqwhgfcch4knm1l02ynx7qd1igxk3pj34c1x2b0r79jca524n")))) 9326 "1hqvqwhgfcch4knm1l02ynx7qd1igxk3pj34c1x2b0r79jca524n"))))
8814 (build-system python-build-system) 9327 (build-system python-build-system)
9328 (arguments
9329 ;; FIXME: Many tests are failing.
9330 '(#:tests? #f))
8815 (propagated-inputs 9331 (propagated-inputs
8816 `(("python-dateutil" ,python-dateutil-2) 9332 `(("python-dateutil" ,python-dateutil)
8817 ("python-docutils" ,python-docutils) 9333 ("python-docutils" ,python-docutils)
8818 ("python-jmespath" ,python-jmespath))) 9334 ("python-jmespath" ,python-jmespath)))
8819 (native-inputs 9335 (native-inputs
@@ -8849,12 +9365,9 @@ interface to the Amazon Web Services (AWS) API.")
8849 ("python-s3transfer" ,python-s3transfer) 9365 ("python-s3transfer" ,python-s3transfer)
8850 ("python-docutils" ,python-docutils) 9366 ("python-docutils" ,python-docutils)
8851 ("python-rsa" ,python-rsa))) 9367 ("python-rsa" ,python-rsa)))
8852 (native-inputs 9368 (arguments
8853 `(("python-mock" ,python-mock) 9369 ;; FIXME: The 'pypi' release does not contain tests.
8854 ("python-nose" ,python-nose) 9370 '(#:tests? #f))
8855 ("python-sphinx" ,python-sphinx)
8856 ("python-tox" ,python-tox)
8857 ("python-wheel" ,python-wheel)))
8858 (home-page "https://aws.amazon.com/cli/") 9371 (home-page "https://aws.amazon.com/cli/")
8859 (synopsis "Command line client for AWS") 9372 (synopsis "Command line client for AWS")
8860 (description "AWS CLI provides a unified command line interface to the 9373 (description "AWS CLI provides a unified command line interface to the
@@ -8872,7 +9385,7 @@ Amazon Web Services (AWS) API.")
8872 (base32 9385 (base32
8873 "0qyqq9akm4vshhn8cngjc1qykcvsn7cz6dlm6njfsgpbraqrmbbw")))) 9386 "0qyqq9akm4vshhn8cngjc1qykcvsn7cz6dlm6njfsgpbraqrmbbw"))))
8874 (build-system python-build-system) 9387 (build-system python-build-system)
8875 (propagated-inputs 9388 (native-inputs
8876 `(("python-flake8" ,python-flake8) 9389 `(("python-flake8" ,python-flake8)
8877 ("python-pytest" ,python-pytest))) 9390 ("python-pytest" ,python-pytest)))
8878 (synopsis "Library for property based testing") 9391 (synopsis "Library for property based testing")
@@ -8889,7 +9402,8 @@ seamlessly into your existing Python unit testing work flow.")
8889 (strip-python2-variant python-hypothesis)))) 9402 (strip-python2-variant python-hypothesis))))
8890 (package (inherit hypothesis) 9403 (package (inherit hypothesis)
8891 (native-inputs 9404 (native-inputs
8892 `(("python2-enum34" ,python2-enum34)))))) 9405 `(("python2-enum34" ,python2-enum34)
9406 ,@(package-native-inputs hypothesis))))))
8893 9407
8894(define-public python-pytest-subtesthack 9408(define-public python-pytest-subtesthack
8895 (package 9409 (package
@@ -9011,7 +9525,8 @@ available in Django, but is a standalone package.")
9011 `(("python-markupsafe" ,python-markupsafe))) 9525 `(("python-markupsafe" ,python-markupsafe)))
9012 (native-inputs 9526 (native-inputs
9013 `(("python-mock" ,python-mock) 9527 `(("python-mock" ,python-mock)
9014 ("python-nose" ,python-nose))) 9528 ("python-nose" ,python-nose)
9529 ("python-pytest" ,python-pytest)))
9015 (home-page "http://www.makotemplates.org/") 9530 (home-page "http://www.makotemplates.org/")
9016 (synopsis "Templating language for Python") 9531 (synopsis "Templating language for Python")
9017 (description "Mako is a templating language for Python that compiles 9532 (description "Mako is a templating language for Python that compiles
@@ -9355,6 +9870,10 @@ RabbitMQ messaging server is the most popular implementation.")
9355 (strip-python2-variant python-kombu)))) 9870 (strip-python2-variant python-kombu))))
9356 (package 9871 (package
9357 (inherit kombu) 9872 (inherit kombu)
9873 (arguments `(;; FIXME: 'TestTransport.test_del_sync' fails on python2.
9874 ;; It works fine on the python3 variant.
9875 #:tests? #f
9876 ,@(package-arguments kombu)))
9358 (native-inputs `(("python2-unittest2" ,python2-unittest2) 9877 (native-inputs `(("python2-unittest2" ,python2-unittest2)
9359 ,@(package-native-inputs kombu)))))) 9878 ,@(package-native-inputs kombu))))))
9360 9879
@@ -9501,6 +10020,9 @@ programmatically interfacing with your system's $EDITOR.")
9501 (base32 10020 (base32
9502 "098as6z1s0gb4dh5xcr1fd2vpm91zj93jzvgawspxf5s4hqs0xhp")))) 10021 "098as6z1s0gb4dh5xcr1fd2vpm91zj93jzvgawspxf5s4hqs0xhp"))))
9503 (build-system python-build-system) 10022 (build-system python-build-system)
10023 (arguments
10024 ;; FIXME: Many tests are failing and the upstream is gone.
10025 '(#:tests? #f))
9504 (propagated-inputs 10026 (propagated-inputs
9505 `(("python-sphinx" ,python-sphinx))) 10027 `(("python-sphinx" ,python-sphinx)))
9506 (synopsis "Sphinx extension to include program output") 10028 (synopsis "Sphinx extension to include program output")
@@ -9523,6 +10045,7 @@ commands into documents, helping you to keep your command examples up to date.")
9523 (base32 10045 (base32
9524 "08ycivzf7bh4a1zcyp31hbyqs1b2c9r26raa3vxjwwmbfqr3iw4f")))) 10046 "08ycivzf7bh4a1zcyp31hbyqs1b2c9r26raa3vxjwwmbfqr3iw4f"))))
9525 (build-system python-build-system) 10047 (build-system python-build-system)
10048 (arguments '(#:tests? #f)) ; No tests.
9526 (propagated-inputs 10049 (propagated-inputs
9527 `(("python-sphinx" ,python-sphinx) 10050 `(("python-sphinx" ,python-sphinx)
9528 ("python-zope-interface" ,python-zope-interface))) 10051 ("python-zope-interface" ,python-zope-interface)))
@@ -9578,7 +10101,7 @@ introspection of @code{zope.interface} instances in code.")
9578 '(;; The test suite relies on some non-portable Windows interfaces. 10101 '(;; The test suite relies on some non-portable Windows interfaces.
9579 #:tests? #f)) 10102 #:tests? #f))
9580 (propagated-inputs 10103 (propagated-inputs
9581 `(("python-dateutil-2" ,python-dateutil-2) 10104 `(("python-dateutil" ,python-dateutil)
9582 ("python-pyicu" ,python-pyicu))) 10105 ("python-pyicu" ,python-pyicu)))
9583 (synopsis "Parse and generate vCard and vCalendar files") 10106 (synopsis "Parse and generate vCard and vCalendar files")
9584 (description "Vobject is intended to be a full featured Python package for 10107 (description "Vobject is intended to be a full featured Python package for
@@ -9653,6 +10176,16 @@ presume or force a developer to use a particular tool or library.")
9653 (base32 10176 (base32
9654 "04l5743j2dici46038sqlzvf0xzpg8rf7s9ld2x24xv7f4idg990")))) 10177 "04l5743j2dici46038sqlzvf0xzpg8rf7s9ld2x24xv7f4idg990"))))
9655 (build-system python-build-system) 10178 (build-system python-build-system)
10179 (arguments
10180 '(#:phases
10181 (modify-phases %standard-phases
10182 (add-before 'check 'drop-failing-test
10183 (lambda _
10184 ;; FIXME: This file tries resolving an external server, which
10185 ;; fails. Try to patch out the offending section instead of
10186 ;; deleting the whole thing.
10187 (delete-file "tests/test_recaptcha.py")
10188 #t)))))
9656 (propagated-inputs 10189 (propagated-inputs
9657 `(("python-flask-babel" ,python-flask-babel) 10190 `(("python-flask-babel" ,python-flask-babel)
9658 ("python-babel" ,python-babel) 10191 ("python-babel" ,python-babel)
@@ -10264,6 +10797,8 @@ to occurences in strings and comments.")
10264 (base32 10797 (base32
10265 "0i283z1pivmir61z8kbiycigc94l61v33ygzkhczf1ifq7cppyds")))) 10798 "0i283z1pivmir61z8kbiycigc94l61v33ygzkhczf1ifq7cppyds"))))
10266 (build-system python-build-system) 10799 (build-system python-build-system)
10800 (arguments
10801 '(#:tests? #f)) ; TODO: Requires many libraries not in Guix.
10267 (home-page "https://github.com/ultrabug/py3status") 10802 (home-page "https://github.com/ultrabug/py3status")
10268 (synopsis "Extensible i3status wrapper written in Python") 10803 (synopsis "Extensible i3status wrapper written in Python")
10269 (description "py3status is an i3status wrapper which extends i3status 10804 (description "py3status is an i3status wrapper which extends i3status
@@ -10407,6 +10942,72 @@ to provide a high-level synchronous API on top of the libev event loop.")
10407(define-public python2-gevent 10942(define-public python2-gevent
10408 (package-with-python2 python-gevent)) 10943 (package-with-python2 python-gevent))
10409 10944
10945(define-public python-geventhttpclient
10946 (package
10947 (name "python-geventhttpclient")
10948 (version "1.3.1")
10949 (source (origin
10950 (method url-fetch)
10951 (uri (pypi-uri "geventhttpclient" version))
10952 (sha256
10953 (base32
10954 "07d0q3wzmml75227r6y6mrl5a0zpf4v9gj0ni5rhbyzmaj4az1xx"))
10955 (modules '((guix build utils)))
10956 (snippet
10957 '(begin
10958 ;; Delete pre-compiled files.
10959 (for-each delete-file (find-files "src/geventhttpclient"
10960 ".*\\.pyc"))
10961 #t))))
10962 (build-system python-build-system)
10963 (arguments
10964 '(#:phases
10965 (modify-phases %standard-phases
10966 (add-after 'unpack 'delete-network-tests
10967 (lambda _
10968 (delete-file "src/geventhttpclient/tests/test_client.py")
10969 #t))
10970 (delete 'check)
10971 (add-after 'install 'check
10972 (lambda* (#:key inputs outputs #:allow-other-keys)
10973 (add-installed-pythonpath inputs outputs)
10974 (zero? (system* "py.test" "src/geventhttpclient/tests" "-v")))))))
10975 (native-inputs
10976 `(("python-pytest" ,python-pytest)))
10977 (propagated-inputs
10978 `(("python-certifi" ,python-certifi)
10979 ("python-gevent" ,python-gevent)
10980 ("python-six" ,python-six)))
10981 (home-page "https://github.com/gwik/geventhttpclient")
10982 (synopsis "HTTP client library for gevent")
10983 (description "@code{python-geventhttpclient} is a high performance,
10984concurrent HTTP client library for python using @code{gevent}.")
10985 (license license:expat)))
10986
10987(define-public python2-geventhttpclient
10988 (package-with-python2 python-geventhttpclient))
10989
10990(define-public python-fastimport
10991 (package
10992 (name "python-fastimport")
10993 (version "0.9.6")
10994 (source
10995 (origin
10996 (method url-fetch)
10997 (uri (pypi-uri "fastimport" version))
10998 (sha256
10999 (base32 "1aqjsin4rmqm7ln4j0p73fzxifws6c6ikgyhav7r137m2ixsxl43"))))
11000 (build-system python-build-system)
11001 (home-page "https://github.com/jelmer/python-fastimport")
11002 (synopsis "VCS fastimport parser and generator in Python")
11003 (description "This package provides a parser for and generator of the Git
11004@url{https://www.kernel.org/pub/software/scm/git/docs/git-fast-import.html,fastimport}
11005format.")
11006 (license license:gpl2+)))
11007
11008(define-public python2-fastimport
11009 (package-with-python2 python-fastimport))
11010
10410(define-public python-twisted 11011(define-public python-twisted
10411 (package 11012 (package
10412 (name "python-twisted") 11013 (name "python-twisted")
@@ -10418,6 +11019,13 @@ to provide a high-level synchronous API on top of the libev event loop.")
10418 (base32 11019 (base32
10419 "0ydxrp9myw1mvsz3qfzx5579y5llmqa82pxvqchgp5syczffi450")))) 11020 "0ydxrp9myw1mvsz3qfzx5579y5llmqa82pxvqchgp5syczffi450"))))
10420 (build-system python-build-system) 11021 (build-system python-build-system)
11022 (arguments
11023 '(#:tests? #f)) ; FIXME: Some tests are failing.
11024 ;; #:phases
11025 ;; (modify-phases %standard-phases
11026 ;; (replace 'check
11027 ;; (lambda _
11028 ;; (zero? (system* "./bin/trial" "twisted")))))
10421 (propagated-inputs 11029 (propagated-inputs
10422 `(("python-zope-interface" ,python-zope-interface))) 11030 `(("python-zope-interface" ,python-zope-interface)))
10423 (home-page "https://twistedmatrix.com/") 11031 (home-page "https://twistedmatrix.com/")
@@ -10487,18 +11095,12 @@ It uses LR parsing and does extensive error checking.")
10487 (uri (pypi-uri "tabulate" version)) 11095 (uri (pypi-uri "tabulate" version))
10488 (sha256 11096 (sha256
10489 (base32 11097 (base32
10490 "1inqhspd4frxnp08c32yndr0lc4px1xfkqah184i5w09gkhvi843")) 11098 "1inqhspd4frxnp08c32yndr0lc4px1xfkqah184i5w09gkhvi843"))))
10491 ;; Fix tests
10492 (modules '((guix build utils)))
10493 (snippet '(substitute* '("test/test_cli.py"
10494 "test/test_input.py"
10495 "test/test_output.py"
10496 "test/test_regression.py")
10497 (("from common") "from nose.tools")))))
10498 (build-system python-build-system) 11099 (build-system python-build-system)
10499 (native-inputs 11100 (arguments
10500 `(;; For testing 11101 ;; FIXME: The pypi release tarball is missing a 'test/common.py'
10501 ("python-nose" ,python-nose))) 11102 ;; and the latest release is not tagged in the upstream repository.
11103 '(#:tests? #f))
10502 (home-page "https://bitbucket.org/astanin/python-tabulate") 11104 (home-page "https://bitbucket.org/astanin/python-tabulate")
10503 (synopsis "Pretty-print tabular data") 11105 (synopsis "Pretty-print tabular data")
10504 (description 11106 (description
@@ -10656,7 +11258,7 @@ objects, patterned after the Mocha library for Ruby.")
10656 ("python-chai" ,python-chai) 11258 ("python-chai" ,python-chai)
10657 ("python-simplejson" ,python-simplejson))) 11259 ("python-simplejson" ,python-simplejson)))
10658 (propagated-inputs 11260 (propagated-inputs
10659 `(("python-dateutil" ,python-dateutil-2))) 11261 `(("python-dateutil" ,python-dateutil)))
10660 (home-page "https://github.com/crsmithdev/arrow/") 11262 (home-page "https://github.com/crsmithdev/arrow/")
10661 (synopsis "Dates and times for Python") 11263 (synopsis "Dates and times for Python")
10662 (description 11264 (description
@@ -10679,6 +11281,8 @@ datetime type.")
10679 (base32 11281 (base32
10680 "1jhnxgnw8y3mbzjssixh6qkc7a3afc4fygajhqrqalnilyvpzshq")))) 11282 "1jhnxgnw8y3mbzjssixh6qkc7a3afc4fygajhqrqalnilyvpzshq"))))
10681 (build-system python-build-system) 11283 (build-system python-build-system)
11284 (native-inputs
11285 `(("python-pytest" ,python-pytest)))
10682 (home-page "http://github.com/jpvanhal/inflection") 11286 (home-page "http://github.com/jpvanhal/inflection")
10683 (synopsis "Python string transformation library") 11287 (synopsis "Python string transformation library")
10684 (description 11288 (description
@@ -10836,6 +11440,55 @@ parsing UK postcodes.")
10836(define-public python2-ukpostcodeparser 11440(define-public python2-ukpostcodeparser
10837 (package-with-python2 python-ukpostcodeparser)) 11441 (package-with-python2 python-ukpostcodeparser))
10838 11442
11443(define-public python-faker
11444 (package
11445 (name "python-faker")
11446 (version "0.7.9")
11447 (source (origin
11448 (method url-fetch)
11449 (uri (pypi-uri "Faker" version))
11450 (sha256
11451 (base32
11452 "1fh2p2yz0fsdr4fqwxgddwbvfb6qn6vp8yx0qwqzra27yq5d1wsm"))
11453 (patches
11454 (search-patches "python-faker-fix-build-32bit.patch"))
11455 (modules '((guix build utils)))
11456 (snippet
11457 '(begin
11458 (for-each delete-file (find-files "." "\\.pyc$"))
11459 #t))))
11460 (build-system python-build-system)
11461 (arguments
11462 '(#:phases
11463 (modify-phases %standard-phases
11464 (replace 'check
11465 (lambda _
11466 (zero? (system* "python" "-m" "unittest" "-v" "tests")))))))
11467 (native-inputs
11468 `(;; For testing
11469 ("python-email-validator" ,python-email-validator)
11470 ("python-mock" ,python-mock)
11471 ("python-ukpostcodeparser" ,python-ukpostcodeparser)))
11472 (propagated-inputs
11473 `(("python-dateutil" ,python-dateutil)
11474 ("python-six" ,python-six)))
11475 (home-page "https://github.com/joke2k/faker")
11476 (synopsis "Python package that generates fake data")
11477 (description
11478 "Faker is a Python package that generates fake data such as names,
11479addresses, and phone numbers.")
11480 (license license:expat)
11481 (properties `((python2-variant . ,(delay python2-faker))))))
11482
11483(define-public python2-faker
11484 (let ((base (package-with-python2 (strip-python2-variant
11485 python-faker))))
11486 (package
11487 (inherit base)
11488 (propagated-inputs
11489 `(("python2-ipaddress" ,python2-ipaddress)
11490 ,@(package-propagated-inputs base))))))
11491
10839(define-public python-fake-factory 11492(define-public python-fake-factory
10840 (package 11493 (package
10841 (name "python-fake-factory") 11494 (name "python-fake-factory")
@@ -10845,15 +11498,24 @@ parsing UK postcodes.")
10845 (uri (pypi-uri "fake-factory" version)) 11498 (uri (pypi-uri "fake-factory" version))
10846 (sha256 11499 (sha256
10847 (base32 11500 (base32
10848 "0vs0dkmg0dlaxf8w6q2i3k0i03gmp56ablldv7ci9x3nbadkn71g")))) 11501 "0vs0dkmg0dlaxf8w6q2i3k0i03gmp56ablldv7ci9x3nbadkn71g"))
11502 (patches
11503 (search-patches
11504 "python-fake-factory-fix-build-32bit.patch"))))
10849 (build-system python-build-system) 11505 (build-system python-build-system)
11506 (arguments
11507 '(#:phases
11508 (modify-phases %standard-phases
11509 (replace 'check
11510 (lambda _
11511 (zero? (system* "python" "-m" "unittest" "-v" "faker.tests")))))))
10850 (native-inputs 11512 (native-inputs
10851 `(;; For testing 11513 `(;; For testing
10852 ("python-email-validator" ,python-email-validator) 11514 ("python-email-validator" ,python-email-validator)
10853 ("python-mock" ,python-mock) 11515 ("python-mock" ,python-mock)
10854 ("python-ukpostcodeparser" ,python-ukpostcodeparser))) 11516 ("python-ukpostcodeparser" ,python-ukpostcodeparser)))
10855 (propagated-inputs 11517 (propagated-inputs
10856 `(("python-dateutil" ,python-dateutil-2) 11518 `(("python-dateutil" ,python-dateutil)
10857 ("python-six" ,python-six))) 11519 ("python-six" ,python-six)))
10858 (home-page "https://github.com/joke2k/faker") 11520 (home-page "https://github.com/joke2k/faker")
10859 (synopsis "Python package that generates fake data") 11521 (synopsis "Python package that generates fake data")
@@ -10861,13 +11523,15 @@ parsing UK postcodes.")
10861 "Faker is a Python package that generates fake data such as names, 11523 "Faker is a Python package that generates fake data such as names,
10862addresses, and phone numbers.") 11524addresses, and phone numbers.")
10863 (license license:expat) 11525 (license license:expat)
10864 (properties `((python2-variant . ,(delay python2-fake-factory)))))) 11526 (properties `((python2-variant . ,(delay python2-fake-factory))
11527 (superseded . ,python-faker)))))
10865 11528
10866(define-public python2-fake-factory 11529(define-public python2-fake-factory
10867 (let ((base (package-with-python2 (strip-python2-variant 11530 (let ((base (package-with-python2 (strip-python2-variant
10868 python-fake-factory)))) 11531 python-fake-factory))))
10869 (package 11532 (package
10870 (inherit base) 11533 (inherit base)
11534 (properties `((superseded . ,python2-faker)))
10871 (propagated-inputs 11535 (propagated-inputs
10872 `(("python2-ipaddress" ,python2-ipaddress) 11536 `(("python2-ipaddress" ,python2-ipaddress)
10873 ,@(package-propagated-inputs base)))))) 11537 ,@(package-propagated-inputs base))))))
@@ -10883,6 +11547,8 @@ addresses, and phone numbers.")
10883 (base32 11547 (base32
10884 "1f5m28vkh4ksq3d80d8mmd2z8wxvc3mgy2pmrv2751dm2xgznm4w")))) 11548 "1f5m28vkh4ksq3d80d8mmd2z8wxvc3mgy2pmrv2751dm2xgznm4w"))))
10885 (build-system python-build-system) 11549 (build-system python-build-system)
11550 (native-inputs
11551 `(("python-unidecode" ,python-unidecode)))
10886 (propagated-inputs 11552 (propagated-inputs
10887 `(("python-pyyaml" ,python-pyyaml))) 11553 `(("python-pyyaml" ,python-pyyaml)))
10888 (home-page "https://github.com/mk-fg/pretty-yaml") 11554 (home-page "https://github.com/mk-fg/pretty-yaml")
@@ -10932,7 +11598,7 @@ mocks, stubs and fakes.")
10932 `(("python-arrow" ,python-arrow) 11598 `(("python-arrow" ,python-arrow)
10933 ("python-blinker" ,python-blinker) 11599 ("python-blinker" ,python-blinker)
10934 ("python-cleo" ,python-cleo) 11600 ("python-cleo" ,python-cleo)
10935 ("python-fake-factory" ,python-fake-factory) 11601 ("python-faker" ,python-faker)
10936 ("python-inflection" ,python-inflection) 11602 ("python-inflection" ,python-inflection)
10937 ("python-lazy-object-proxy" ,python-lazy-object-proxy) 11603 ("python-lazy-object-proxy" ,python-lazy-object-proxy)
10938 ("python-pyaml" ,python-pyaml) 11604 ("python-pyaml" ,python-pyaml)
@@ -10997,6 +11663,11 @@ characters, mouse support, and auto suggestions.")
10997 (base32 11663 (base32
10998 "0c8x962ynpx001fdvp07m2q5jk4igkxbj3rmnydavphvlgxijk1v")))) 11664 "0c8x962ynpx001fdvp07m2q5jk4igkxbj3rmnydavphvlgxijk1v"))))
10999 (build-system python-build-system) 11665 (build-system python-build-system)
11666 (arguments
11667 ;; FIXME: One test fails (use "py.test" instead of 'setup.py test').
11668 '(#:tests? #f))
11669 (native-inputs
11670 `(("python-pytest" ,python-pytest)))
11000 (home-page "https://github.com/davidhalter/jedi") 11671 (home-page "https://github.com/davidhalter/jedi")
11001 (synopsis 11672 (synopsis
11002 "Autocompletion for Python that can be used for text editors") 11673 "Autocompletion for Python that can be used for text editors")
@@ -11018,6 +11689,8 @@ characters, mouse support, and auto suggestions.")
11018 (base32 11689 (base32
11019 "1mmbiyzf0n8hm7z2a562x7w5cbl6jc0zsk6vp40q1z4cyblv1k13")))) 11690 "1mmbiyzf0n8hm7z2a562x7w5cbl6jc0zsk6vp40q1z4cyblv1k13"))))
11020 (build-system python-build-system) 11691 (build-system python-build-system)
11692 (arguments
11693 '(#:tests? #f)) ; FIXME: No tests in pypi tarball.
11021 (propagated-inputs 11694 (propagated-inputs
11022 `(("python-docopt" ,python-docopt) 11695 `(("python-docopt" ,python-docopt)
11023 ("python-jedi" ,python-jedi) 11696 ("python-jedi" ,python-jedi)
@@ -11123,6 +11796,13 @@ relays publish about themselves.")
11123 (base32 11796 (base32
11124 "0k1nfdrxxkdlv4zgaqsdv8li0pj3gbh2pyxw8q2bsg6f9490amyn")))) 11797 "0k1nfdrxxkdlv4zgaqsdv8li0pj3gbh2pyxw8q2bsg6f9490amyn"))))
11125 (build-system python-build-system) 11798 (build-system python-build-system)
11799 (arguments
11800 '(#:tests? #f)) ; FIXME: 3/49 tests are failing.
11801 ;; #:phases
11802 ;; (modify-phases %standard-phases
11803 ;; (replace 'check
11804 ;; (lambda _
11805 ;; (zero? (system* "python" "test/run_all_tests.py" "loop://")))))))
11126 (home-page 11806 (home-page
11127 "https://github.com/pyserial/pyserial") 11807 "https://github.com/pyserial/pyserial")
11128 (synopsis "Python Serial Port Bindings") 11808 (synopsis "Python Serial Port Bindings")
@@ -11442,7 +12122,7 @@ List. Forked from and using the same API as the publicsuffix package.")
11442 ("python-coverage" ,python-coverage))) 12122 ("python-coverage" ,python-coverage)))
11443 (propagated-inputs 12123 (propagated-inputs
11444 `(("python-six" ,python-six) 12124 `(("python-six" ,python-six)
11445 ("python-dateutil-2" ,python-dateutil-2))) 12125 ("python-dateutil" ,python-dateutil)))
11446 (arguments 12126 (arguments
11447 `(#:phases (modify-phases %standard-phases 12127 `(#:phases (modify-phases %standard-phases
11448 ;; The tests are normally executed via `make test`, but the PyPi 12128 ;; The tests are normally executed via `make test`, but the PyPi
@@ -11879,6 +12559,8 @@ English stemmer.")
11879 (base32 12559 (base32
11880 "0zm9ap4p5dzln8f1m2immadaxv2xpg8jg4w53y52rhfl7pdb58vy")))) 12560 "0zm9ap4p5dzln8f1m2immadaxv2xpg8jg4w53y52rhfl7pdb58vy"))))
11881 (build-system python-build-system) 12561 (build-system python-build-system)
12562 ;; FIXME: The 'pypi' release archive does not contain tests.
12563 (arguments '(#:tests? #f))
11882 (native-inputs 12564 (native-inputs
11883 `(("python-sphinx" ,python-sphinx))) 12565 `(("python-sphinx" ,python-sphinx)))
11884 (home-page "https://bitbucket.org/ecollins/cloud_sptheme") 12566 (home-page "https://bitbucket.org/ecollins/cloud_sptheme")
@@ -12093,7 +12775,7 @@ useful as a validator for JSON data.")
12093 "1k5mjg9iqbjfslb5prrsfz7dhlvi6s35p1jxq8dm87w1b7dn5i2g")))) 12775 "1k5mjg9iqbjfslb5prrsfz7dhlvi6s35p1jxq8dm87w1b7dn5i2g"))))
12094 (build-system python-build-system) 12776 (build-system python-build-system)
12095 (propagated-inputs 12777 (propagated-inputs
12096 `(("python-dateutil-2" ,python-dateutil-2))) 12778 `(("python-dateutil" ,python-dateutil)))
12097 (home-page 12779 (home-page
12098 "https://bitbucket.org/nielsenb/aniso8601") 12780 "https://bitbucket.org/nielsenb/aniso8601")
12099 (synopsis 12781 (synopsis
@@ -12290,10 +12972,7 @@ python-axolotl.")
12290 (lambda _ 12972 (lambda _
12291 (for-each delete-file-recursively 12973 (for-each delete-file-recursively
12292 '("axolotl/tests" "build/lib/axolotl/tests")) 12974 '("axolotl/tests" "build/lib/axolotl/tests"))
12293 #t))) 12975 #t)))))
12294 ;; Prevent creation of the egg. This works around
12295 ;; https://debbugs.gnu.org/cgi/bugreport.cgi?bug=20765
12296 #:configure-flags '("--root=/")))
12297 (propagated-inputs 12976 (propagated-inputs
12298 `(("python-axolotl-curve25519" ,python-axolotl-curve25519) 12977 `(("python-axolotl-curve25519" ,python-axolotl-curve25519)
12299 ("python-dateutil" ,python-dateutil) 12978 ("python-dateutil" ,python-dateutil)
@@ -12321,6 +13000,12 @@ asynchronous messaging environments.")
12321 (base32 13000 (base32
12322 "17wzkkcqy5zc0g68xlad3kcv66iw14d2pwqc0h9420gak0vbhx7g")))) 13001 "17wzkkcqy5zc0g68xlad3kcv66iw14d2pwqc0h9420gak0vbhx7g"))))
12323 (build-system python-build-system) 13002 (build-system python-build-system)
13003 (arguments
13004 '(#:phases
13005 (modify-phases %standard-phases
13006 (replace 'check
13007 (lambda _
13008 (zero? (system* "python" "test3.py")))))))
12324 (home-page "http://github.com/gfxmonk/termstyle") 13009 (home-page "http://github.com/gfxmonk/termstyle")
12325 (synopsis "Console text coloring for Python") 13010 (synopsis "Console text coloring for Python")
12326 (description "This package provides console text coloring for Python.") 13011 (description "This package provides console text coloring for Python.")
@@ -12371,6 +13056,13 @@ asynchronous messaging environments.")
12371 (base32 13056 (base32
12372 "11his6ii5brpkhld0d5bwzjjw4q3vmplpd6fmgzjrvvklsbk0cf4")))) 13057 "11his6ii5brpkhld0d5bwzjjw4q3vmplpd6fmgzjrvvklsbk0cf4"))))
12373 (build-system python-build-system) 13058 (build-system python-build-system)
13059 (arguments
13060 '(#:tests? #f)) ; FIXME: 35/882 tests failing.
13061 ;; #:phases
13062 ;; (modify-phases %standard-phases
13063 ;; (replace 'check
13064 ;; (lambda _
13065 ;; (zero? (system* "nosetests")))))))
12374 (propagated-inputs 13066 (propagated-inputs
12375 `(("python-aniso8601" ,python-aniso8601) 13067 `(("python-aniso8601" ,python-aniso8601)
12376 ("python-flask" ,python-flask) 13068 ("python-flask" ,python-flask)
@@ -12451,6 +13143,9 @@ specs from your Flask-Restful projects.")
12451 (base32 13143 (base32
12452 "11bwiw6j0nilgz81xnw6f1npyga3prp8asjqrm87cdr3ria5l03x")))) 13144 "11bwiw6j0nilgz81xnw6f1npyga3prp8asjqrm87cdr3ria5l03x"))))
12453 (build-system python-build-system) 13145 (build-system python-build-system)
13146 (native-inputs
13147 `(("python-pexpect" ,python-pexpect)
13148 ("tcsh" ,tcsh)))
12454 (home-page "https://github.com/kislyuk/argcomplete") 13149 (home-page "https://github.com/kislyuk/argcomplete")
12455 (synopsis "Shell tab completion for Python argparse") 13150 (synopsis "Shell tab completion for Python argparse")
12456 (description "argcomplete provides extensible command line tab completion 13151 (description "argcomplete provides extensible command line tab completion
@@ -12532,6 +13227,52 @@ Features:
12532@end enumerate") 13227@end enumerate")
12533 (license (license:x11-style "file://LICENSE")))) 13228 (license (license:x11-style "file://LICENSE"))))
12534 13229
13230(define-public python-dulwich
13231 (package
13232 (name "python-dulwich")
13233 (version "0.16.3")
13234 (source
13235 (origin
13236 (method url-fetch)
13237 (uri (list (string-append "https://www.dulwich.io/releases/"
13238 "dulwich-" version ".tar.gz")
13239 (pypi-uri "dulwich" version)))
13240 (sha256
13241 (base32 "0fl47vzfgc3w3rmhn8naii905cjqcp0vc68iyvymxp7567hh6als"))))
13242 (build-system python-build-system)
13243 (arguments
13244 `(#:phases
13245 (modify-phases %standard-phases
13246 (add-before 'check 'fix-tests
13247 (lambda* (#:key inputs #:allow-other-keys)
13248 ;; The tests use Popen with a custom environment which doesn't
13249 ;; include PATH.
13250 (substitute* "dulwich/tests/compat/utils.py"
13251 (("'git'") (string-append "'"
13252 (which "git")
13253 "'")))
13254 (substitute* '("dulwich/tests/test_repository.py"
13255 "dulwich/tests/test_hooks.py")
13256 (("#!/bin/sh") (string-append "#!" (which "sh"))))
13257 (setenv "TEST_RUNNER" "unittest")
13258 (setenv "PYTHONHASHSEED" "random")
13259 #t)))))
13260 (propagated-inputs
13261 `(("python-fastimport" ,python-fastimport)))
13262 (native-inputs
13263 `(("python-mock" ,python-mock)
13264 ("python-geventhttpclient" ,python-geventhttpclient)
13265 ("git" ,git)))
13266 (home-page "https://www.dulwich.io/")
13267 (synopsis "Git implementation in Python")
13268 (description "Dulwich is an implementation of the Git file formats and
13269protocols written in pure Python.")
13270 ;; Can be used with either license.
13271 (license (list license:asl2.0 license:gpl2+))))
13272
13273(define-public python2-dulwich
13274 (package-with-python2 python-dulwich))
13275
12535(define-public python-pbkdf2 13276(define-public python-pbkdf2
12536 (package 13277 (package
12537 (name "python-pbkdf2") 13278 (name "python-pbkdf2")
@@ -12544,6 +13285,15 @@ Features:
12544 (base32 13285 (base32
12545 "0yb99rl2mbsaamj571s1mf6vgniqh23v98k4632150hjkwv9fqxc")))) 13286 "0yb99rl2mbsaamj571s1mf6vgniqh23v98k4632150hjkwv9fqxc"))))
12546 (build-system python-build-system) 13287 (build-system python-build-system)
13288 (arguments
13289 '(#:phases
13290 (modify-phases %standard-phases
13291 (replace 'check
13292 (lambda _
13293 (setenv "PYTHONPATH"
13294 (string-append (getcwd) "/build/lib:"
13295 (getenv "PYTHONPATH")))
13296 (zero? (system* "python" "test/test_pbkdf2.py")))))))
12547 (propagated-inputs 13297 (propagated-inputs
12548 `(("python-pycrypto" ,python-pycrypto))) ; optional 13298 `(("python-pycrypto" ,python-pycrypto))) ; optional
12549 (home-page "http://www.dlitz.net/software/python-pbkdf2/") 13299 (home-page "http://www.dlitz.net/software/python-pbkdf2/")
@@ -12573,6 +13323,9 @@ a file-like object from which an arbitrarly-sized key can be read.")
12573 (base32 13323 (base32
12574 "0kljfrfq0c2rmxf8am57333ia41kd0snbm2rnqbdy816hgpcq5a1")))) 13324 "0kljfrfq0c2rmxf8am57333ia41kd0snbm2rnqbdy816hgpcq5a1"))))
12575 (build-system python-build-system) 13325 (build-system python-build-system)
13326 (arguments
13327 ;; FIXME: Tests require packaging 'pymaging'.
13328 '(#:tests? #f))
12576 (propagated-inputs 13329 (propagated-inputs
12577 `(("python-lxml" ,python-lxml) ; for SVG output 13330 `(("python-lxml" ,python-lxml) ; for SVG output
12578 ("python-pillow" ,python-pillow) ; for PNG output 13331 ("python-pillow" ,python-pillow) ; for PNG output
diff --git a/gnu/packages/qemu.scm b/gnu/packages/qemu.scm
index 9afcd83049e..3aa4128be03 100644
--- a/gnu/packages/qemu.scm
+++ b/gnu/packages/qemu.scm
@@ -207,23 +207,29 @@ server and embedded PowerPC, and S390 guests.")
207(define-public libosinfo 207(define-public libosinfo
208 (package 208 (package
209 (name "libosinfo") 209 (name "libosinfo")
210 (version "0.3.1") 210 (version "1.0.0")
211 (source 211 (source
212 (origin 212 (origin
213 (method url-fetch) 213 (method url-fetch)
214 (uri (string-append "https://fedorahosted.org/releases/l/i/libosinfo/libosinfo-" 214 (uri (string-append "https://releases.pagure.org/libosinfo/libosinfo-"
215 version ".tar.gz")) 215 version ".tar.gz"))
216 (sha256 216 (sha256
217 (base32 217 (base32
218 "151qrzmafxww5yfamrr7phk8217xmihfhazpb597vdv87na75cjh")))) 218 "0srrs2m6irqd4f867g8ls6jp2dq3ql0l9d0fh80d55sivvn2bd7p"))))
219 (build-system gnu-build-system) 219 (build-system gnu-build-system)
220 (arguments 220 (arguments
221 `(#:phases 221 `(#:configure-flags
222 (list (string-append "--with-usb-ids-path="
223 (assoc-ref %build-inputs "usb.ids"))
224 (string-append "--with-pci-ids-path="
225 (assoc-ref %build-inputs "pci.ids")))
226 #:phases
222 (modify-phases %standard-phases 227 (modify-phases %standard-phases
223 (add-after 'unpack 'copy-ids 228 ;; This odd test fails for unknown reasons.
224 (lambda* (#:key inputs #:allow-other-keys) 229 (add-after 'unpack 'disable-broken-test
225 (copy-file (assoc-ref inputs "pci.ids") "data/pci.ids") 230 (lambda _
226 (copy-file (assoc-ref inputs "usb.ids") "data/usb.ids") 231 (substitute* "test/Makefile.in"
232 (("test-isodetect\\$\\(EXEEXT\\)") ""))
227 #t))))) 233 #t)))))
228 (inputs 234 (inputs
229 `(("libsoup" ,libsoup) 235 `(("libsoup" ,libsoup)
@@ -240,18 +246,18 @@ server and embedded PowerPC, and S390 guests.")
240 ("pci.ids" 246 ("pci.ids"
241 ,(origin 247 ,(origin
242 (method url-fetch) 248 (method url-fetch)
243 (uri "https://raw.githubusercontent.com/pciutils/pciids/f9477789526f9d380bc57aa92e357c521738d5dd/pci.ids") 249 (uri "https://github.com/pciutils/pciids/raw/ad02084f0bc143e3c15e31a6152a3dfb1d7a3156/pci.ids")
244 (sha256 250 (sha256
245 (base32 251 (base32
246 "0g6dbwlamagxqxvng67xng3w2x56c0np4md1v1p1jn32qw518az0")))) 252 "0kfhpj5rnh24hz2714qhfmxk281vwc2w50sm73ggw5d15af7zfsw"))))
247 ("usb.ids" 253 ("usb.ids"
248 ,(origin 254 ,(origin
249 (method url-fetch) 255 (method url-fetch)
250 (uri "http://linux-usb.cvs.sourceforge.net/viewvc/linux-usb/htdocs/usb.ids?revision=1.539") 256 (uri "http://linux-usb.cvs.sourceforge.net/viewvc/linux-usb/htdocs/usb.ids?revision=1.551")
251 (file-name "usb.ids") 257 (file-name "usb.ids")
252 (sha256 258 (sha256
253 (base32 259 (base32
254 "0w9ila7662lzpx416lqy69zx6gfwq2xiigwd5fdyqcrg3dj07m80")))))) 260 "17rg5i0wbyk289gr8v4kgvnc9q5bidz7ldcvv9x58l083wn16hq3"))))))
255 (home-page "https://libosinfo.org/") 261 (home-page "https://libosinfo.org/")
256 (synopsis "Operating system information database") 262 (synopsis "Operating system information database")
257 (description "libosinfo is a GObject based library API for managing 263 (description "libosinfo is a GObject based library API for managing
diff --git a/gnu/packages/rdf.scm b/gnu/packages/rdf.scm
index 1dd23c28e3c..97e6b881cc1 100644
--- a/gnu/packages/rdf.scm
+++ b/gnu/packages/rdf.scm
@@ -315,6 +315,18 @@ ideal (e.g. in LV2 implementations or embedded applications).")
315 (base32 315 (base32
316 "0kvaf332cqbi47rqzlpdx4mbkvw12mkrzkj8n9l19wk713d4py9w")))) 316 "0kvaf332cqbi47rqzlpdx4mbkvw12mkrzkj8n9l19wk713d4py9w"))))
317 (build-system python-build-system) 317 (build-system python-build-system)
318 (arguments
319 '(;; FIXME: Three test failures. Try uncommenting the below next update.
320 #:tests? #f))
321 ;; #:phases
322 ;; (modify-phases %standard-phases
323 ;; (replace 'check
324 ;; (lambda _
325 ;; ;; Run tests from the build directory so python3 only
326 ;; ;; sees the installed 2to3 version.
327 ;; (zero? (system* "nosetests" "--where=./build/src")))))
328 (native-inputs
329 `(("python-nose" ,python-nose)))
318 (propagated-inputs 330 (propagated-inputs
319 `(("python-html5lib" ,python-html5lib) 331 `(("python-html5lib" ,python-html5lib)
320 ("python-isodate" ,python-isodate) 332 ("python-isodate" ,python-isodate)
@@ -329,12 +341,4 @@ powerful language for representing information.")
329 "See LICENSE in the distribution.")))) 341 "See LICENSE in the distribution."))))
330 342
331(define-public python2-rdflib 343(define-public python2-rdflib
332 (let ((base (package-with-python2 python-rdflib))) 344 (package-with-python2 python-rdflib))
333 (package
334 (inherit base)
335 (inputs
336 (append (package-inputs base)
337 `(("python2-nose" ,python2-nose))))
338 (arguments
339 `(#:python ,python-2
340 #:tests? #f))))) ; 3 tests fail, also outside Guix
diff --git a/gnu/packages/regex.scm b/gnu/packages/regex.scm
index f04cba706db..11f4716033d 100644
--- a/gnu/packages/regex.scm
+++ b/gnu/packages/regex.scm
@@ -27,7 +27,7 @@
27(define-public re2 27(define-public re2
28 (package 28 (package
29 (name "re2") 29 (name "re2")
30 (version "2017-01-01") 30 (version "2017-03-01")
31 (source (origin 31 (source (origin
32 (method url-fetch) 32 (method url-fetch)
33 (uri 33 (uri
@@ -37,7 +37,7 @@
37 (file-name (string-append name "-" version ".tar.gz")) 37 (file-name (string-append name "-" version ".tar.gz"))
38 (sha256 38 (sha256
39 (base32 39 (base32
40 "0yij1ajh66h3pj3kfz7y0ldrsww8rlpjzaavyr5lchl98as1jq74")))) 40 "1s3kdcrz2mwi30k6pz9jkv5vk8b704bz65xgcr67wbn2pn3hpnqr"))))
41 (build-system gnu-build-system) 41 (build-system gnu-build-system)
42 (arguments 42 (arguments
43 `(#:test-target "test" 43 `(#:test-target "test"
diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index 59370447b23..4d839bcdf1d 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -426,13 +426,13 @@ expectations and mocks frameworks.")
426(define-public bundler 426(define-public bundler
427 (package 427 (package
428 (name "bundler") 428 (name "bundler")
429 (version "1.14.4") 429 (version "1.14.5")
430 (source (origin 430 (source (origin
431 (method url-fetch) 431 (method url-fetch)
432 (uri (rubygems-uri "bundler" version)) 432 (uri (rubygems-uri "bundler" version))
433 (sha256 433 (sha256
434 (base32 434 (base32
435 "1hafmb7p41pm40a2z7f4x5zpgrb72xvgwlvkxnflmzqkvq2prkfv")))) 435 "0635s6naz9hn4iqbvkhnm1by4j4spvv13mb7nzwwimnpbqgx663i"))))
436 (build-system ruby-build-system) 436 (build-system ruby-build-system)
437 (arguments 437 (arguments
438 '(#:tests? #f)) ; avoid dependency cycles 438 '(#:tests? #f)) ; avoid dependency cycles
@@ -1020,26 +1020,6 @@ features.")
1020 (home-page "https://github.com/chneukirchen/bacon") 1020 (home-page "https://github.com/chneukirchen/bacon")
1021 (license license:expat))) 1021 (license license:expat)))
1022 1022
1023(define-public ruby-arel
1024 (package
1025 (name "ruby-arel")
1026 (version "6.0.0")
1027 (source (origin
1028 (method url-fetch)
1029 (uri (rubygems-uri "arel" version))
1030 (sha256
1031 (base32
1032 "18wnfnzr2i5p3fygsddjbi1cimws6823nbk8drxidmnj8jz7h0ar"))))
1033 (build-system ruby-build-system)
1034 (arguments
1035 '(#:tests? #f)) ; no test suite
1036 (synopsis "SQL AST manager for Ruby")
1037 (description "Arel is a SQL AST manager for Ruby. It simplifies the
1038generation of complex SQL queries and adapts to various relational database
1039implementations.")
1040 (home-page "https://github.com/rails/arel")
1041 (license license:expat)))
1042
1043(define-public ruby-connection-pool 1023(define-public ruby-connection-pool
1044 (package 1024 (package
1045 (name "ruby-connection-pool") 1025 (name "ruby-connection-pool")
@@ -1854,8 +1834,9 @@ net/http library.")
1854 (arguments '(#:tests? #f)) ; no tests 1834 (arguments '(#:tests? #f)) ; no tests
1855 (home-page "https://github.com/rails/arel") 1835 (home-page "https://github.com/rails/arel")
1856 (synopsis "SQL AST manager for Ruby") 1836 (synopsis "SQL AST manager for Ruby")
1857 (description "Arel is a SQL AST manager for Ruby. It simplifies the 1837 (description "Arel is an SQL @dfn{Abstract Syntax Tree} (AST) manager for
1858generation of complex SQL queries and is compatible with various RDBMSes.") 1838Ruby. It simplifies the generation of complex SQL queries and adapts to
1839various relational database implementations.")
1859 (license license:expat))) 1840 (license license:expat)))
1860 1841
1861(define-public ruby-minitar 1842(define-public ruby-minitar
@@ -1992,14 +1973,14 @@ extract comments.")
1992(define-public ruby-coderay 1973(define-public ruby-coderay
1993 (package 1974 (package
1994 (name "ruby-coderay") 1975 (name "ruby-coderay")
1995 (version "1.1.0") 1976 (version "1.1.1")
1996 (source 1977 (source
1997 (origin 1978 (origin
1998 (method url-fetch) 1979 (method url-fetch)
1999 (uri (rubygems-uri "coderay" version)) 1980 (uri (rubygems-uri "coderay" version))
2000 (sha256 1981 (sha256
2001 (base32 1982 (base32
2002 "059wkzlap2jlkhg460pkwc1ay4v4clsmg1bp4vfzjzkgwdckr52s")))) 1983 "1x6z923iwr1hi04k6kz5a6llrixflz8h5sskl9mhaaxy9jx2x93r"))))
2003 (build-system ruby-build-system) 1984 (build-system ruby-build-system)
2004 (arguments 1985 (arguments
2005 '(#:tests? #f)) ; missing test files 1986 '(#:tests? #f)) ; missing test files
@@ -2012,14 +1993,14 @@ for select languages.")
2012(define-public ruby-pry 1993(define-public ruby-pry
2013 (package 1994 (package
2014 (name "ruby-pry") 1995 (name "ruby-pry")
2015 (version "0.10.1") 1996 (version "0.10.4")
2016 (source 1997 (source
2017 (origin 1998 (origin
2018 (method url-fetch) 1999 (method url-fetch)
2019 (uri (rubygems-uri "pry" version)) 2000 (uri (rubygems-uri "pry" version))
2020 (sha256 2001 (sha256
2021 (base32 2002 (base32
2022 "1j0r5fm0wvdwzbh6d6apnp7c0n150hpm9zxpm5xvcgfqr36jaj8z")))) 2003 "05xbzyin63aj2prrv8fbq2d5df2mid93m81hz5bvf2v4hnzs42ar"))))
2023 (build-system ruby-build-system) 2004 (build-system ruby-build-system)
2024 (arguments 2005 (arguments
2025 '(#:tests? #f)) ; no tests 2006 '(#:tests? #f)) ; no tests
diff --git a/gnu/packages/scheme.scm b/gnu/packages/scheme.scm
index af416c502a1..e1dba9bed7e 100644
--- a/gnu/packages/scheme.scm
+++ b/gnu/packages/scheme.scm
@@ -6,6 +6,7 @@
6;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il> 6;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il>
7;;; Copyright © 2016 Jan Nieuwenhuizen <janneke@gnu.org> 7;;; Copyright © 2016 Jan Nieuwenhuizen <janneke@gnu.org>
8;;; Copyright © 2016, 2017 ng0 <contact.ng0@cryptolab.net> 8;;; Copyright © 2016, 2017 ng0 <contact.ng0@cryptolab.net>
9;;; Copyright © 2017 John Darrington <jmd@gnu.org>
9;;; 10;;;
10;;; This file is part of GNU Guix. 11;;; This file is part of GNU Guix.
11;;; 12;;;
@@ -25,8 +26,8 @@
25(define-module (gnu packages scheme) 26(define-module (gnu packages scheme)
26 #:use-module (gnu packages) 27 #:use-module (gnu packages)
27 #:use-module ((guix licenses) 28 #:use-module ((guix licenses)
28 #:select (gpl2+ lgpl2.0+ lgpl2.1+ asl2.0 bsd-3 29 #:select (gpl2+ lgpl2.0+ lgpl2.1+ lgpl3+ asl2.0 bsd-3
29 cc-by-sa4.0)) 30 cc-by-sa4.0 non-copyleft))
30 #:use-module (guix packages) 31 #:use-module (guix packages)
31 #:use-module (guix download) 32 #:use-module (guix download)
32 #:use-module (guix git-download) 33 #:use-module (guix git-download)
@@ -57,6 +58,7 @@
57 #:use-module (gnu packages xorg) 58 #:use-module (gnu packages xorg)
58 #:use-module (gnu packages tls) 59 #:use-module (gnu packages tls)
59 #:use-module (gnu packages gl) 60 #:use-module (gnu packages gl)
61 #:use-module (gnu packages zip)
60 #:use-module (ice-9 match)) 62 #:use-module (ice-9 match))
61 63
62(define (mit-scheme-source-directory system version) 64(define (mit-scheme-source-directory system version)
@@ -844,3 +846,100 @@ metalinguistic abstraction, recursion, interpreters, and modular programming.")
844 "String pattern-matching library for scheme48 based on the SRE 846 "String pattern-matching library for scheme48 based on the SRE
845regular-expression notation.") 847regular-expression notation.")
846 (license bsd-3)))) 848 (license bsd-3))))
849
850(define-public slib
851 (package
852 (name "slib")
853 (version "3b5")
854 (source (origin
855 (method url-fetch)
856 (uri (string-append "http://groups.csail.mit.edu/mac/ftpdir/scm/slib-"
857 version ".zip"))
858 (sha256
859 (base32
860 "0q0p2d53p8qw2592yknzgy2y1p5a9k7ppjx0cfrbvk6242c4mdpq"))))
861 (build-system gnu-build-system)
862 (arguments
863 `(#:tests? #f ; There is no check target.
864 #:phases
865 (modify-phases %standard-phases
866 (add-after 'install 'remove-bin-share
867 (lambda* (#:key inputs outputs #:allow-other-keys)
868 (delete-file-recursively
869 (string-append (assoc-ref outputs "out") "/bin"))))
870 (replace 'configure
871 (lambda* (#:key inputs outputs #:allow-other-keys)
872 (zero? (system* "./configure"
873 (string-append "--prefix="
874 (assoc-ref outputs "out")))))))))
875 (native-inputs `(("unzip" ,unzip)
876 ("texinfo" ,texinfo)))
877 (home-page "http://people.csail.mit.edu/jaffer/SLIB/")
878 (synopsis "Compatibility and utility library for Scheme")
879 (description "SLIB is a portable Scheme library providing compatibility and
880utility functions for all standard Scheme implementations.")
881 (license (non-copyleft
882 "http://people.csail.mit.edu/jaffer/SLIB_COPYING.txt"
883 "Or see COPYING in the distribution."))))
884
885(define-public scm
886 (package
887 (name "scm")
888 (version "5f2")
889 (source (origin
890 (method url-fetch)
891 (uri (string-append
892 "http://groups.csail.mit.edu/mac/ftpdir/scm/scm-"
893 version ".zip"))
894 (sha256
895 (base32
896 "050ijb51jm1cij9g3r89zl9rawsrikhbb5y8zb7lspb7bsxq5w99"))))
897 (build-system gnu-build-system)
898 (arguments
899 `(#:phases
900 (modify-phases %standard-phases
901 (replace 'configure
902 (lambda* (#:key inputs outputs #:allow-other-keys)
903 (zero? (system* "./configure"
904 (string-append "--prefix="
905 (assoc-ref outputs "out"))))))
906 (add-before 'build 'pre-build
907 (lambda* (#:key inputs #:allow-other-keys)
908 (substitute* "Makefile"
909 (("ginstall-info") "install-info"))))
910 (replace 'build
911 (lambda* (#:key inputs outputs #:allow-other-keys)
912 (setenv "SCHEME_LIBRARY_PATH"
913 (string-append (assoc-ref inputs "slib")
914 "/lib/slib/"))
915 (and
916 (zero? (system* "make" "scmlit" "CC=gcc"))
917 (zero? (system* "make" "all")))))
918 (add-after 'install 'post-install
919 (lambda* (#:key inputs outputs #:allow-other-keys)
920 (let ((req
921 (string-append (assoc-ref outputs "out")
922 "/lib/scm/require.scm")))
923 (and
924 (delete-file req)
925 (format (open req (logior O_WRONLY O_CREAT))
926 "(define (library-vicinity) ~s)\n"
927 (string-append (assoc-ref inputs "slib")
928 "/lib/slib/"))
929
930 ;; We must generate the slibcat file
931 (zero? (system*
932 (string-append
933 (assoc-ref outputs "out")
934 "/bin/scm")
935 "-br" "new-catalog")))))))))
936 (inputs `(("slib" ,slib)))
937 (native-inputs `(("unzip" ,unzip)
938 ("texinfo" ,texinfo)))
939 (home-page "http://people.csail.mit.edu/jaffer/SCM")
940 (synopsis "Scheme implementation conforming to R5RS and IEEE P1178")
941 (description "GNU SCM is an implementation of Scheme. This
942implementation includes Hobbit, a Scheme-to-C compiler, which can
943generate C files whose binaries can be dynamically or statically
944linked with a SCM executable.")
945 (license lgpl3+)))
diff --git a/gnu/packages/screen.scm b/gnu/packages/screen.scm
index 57e6cb595e6..f5c914e88ad 100644
--- a/gnu/packages/screen.scm
+++ b/gnu/packages/screen.scm
@@ -35,15 +35,13 @@
35(define-public screen 35(define-public screen
36 (package 36 (package
37 (name "screen") 37 (name "screen")
38 (version "4.5.0") 38 (version "4.5.1")
39 (source (origin 39 (source (origin
40 (method url-fetch) 40 (method url-fetch)
41 (uri (string-append "mirror://gnu/screen/screen-" 41 (uri (string-append "mirror://gnu/screen/screen-"
42 version ".tar.gz")) 42 version ".tar.gz"))
43 (patches (search-patches "screen-CVE-2017-5618.patch"))
44 (patch-flags '("-p2"))
45 (sha256 43 (sha256
46 (base32 "1c7grw03a9iwvqbxfd6hmjb681rp8gb55zsxm7b3apqqcb1sghq1")))) 44 (base32 "0bbv16gpxrh64sn4bvjy3qjy7jsxjlqlilyysin02fwnvla23nwp"))))
47 (build-system gnu-build-system) 45 (build-system gnu-build-system)
48 (native-inputs 46 (native-inputs
49 `(("makeinfo" ,texinfo))) 47 `(("makeinfo" ,texinfo)))
diff --git a/gnu/packages/shells.scm b/gnu/packages/shells.scm
index eb3e69bb86b..0cbd3a53e19 100644
--- a/gnu/packages/shells.scm
+++ b/gnu/packages/shells.scm
@@ -333,14 +333,14 @@ ksh, and tcsh.")
333(define-public xonsh 333(define-public xonsh
334 (package 334 (package
335 (name "xonsh") 335 (name "xonsh")
336 (version "0.5.3") 336 (version "0.5.5")
337 (source 337 (source
338 (origin 338 (origin
339 (method url-fetch) 339 (method url-fetch)
340 (uri (pypi-uri "xonsh" version)) 340 (uri (pypi-uri "xonsh" version))
341 (sha256 341 (sha256
342 (base32 342 (base32
343 "1pb1am26wl21g798lpl091j95900py7jj4g98rs9qkhywiln4z4q")) 343 "1wa5g1gxk4aw8jazp3fqmr7mlkdmnva83x28i9xd3s99lv0qb3dd"))
344 (modules '((guix build utils))) 344 (modules '((guix build utils)))
345 (snippet 345 (snippet
346 `(begin 346 `(begin
diff --git a/gnu/packages/spice.scm b/gnu/packages/spice.scm
index e775174e238..363a5e8fc51 100644
--- a/gnu/packages/spice.scm
+++ b/gnu/packages/spice.scm
@@ -66,7 +66,7 @@
66 (source (origin 66 (source (origin
67 (method git-fetch) 67 (method git-fetch)
68 (uri (git-reference 68 (uri (git-reference
69 (url "http://cgit.freedesktop.org/spice/usbredir") 69 (url "https://anongit.freedesktop.org/git/spice/usbredir.git")
70 (commit commit))) 70 (commit commit)))
71 (sha256 71 (sha256
72 (base32 72 (base32
diff --git a/gnu/packages/ssh.scm b/gnu/packages/ssh.scm
index 2e502fe7fc2..eaa832269df 100644
--- a/gnu/packages/ssh.scm
+++ b/gnu/packages/ssh.scm
@@ -56,15 +56,15 @@
56(define-public libssh 56(define-public libssh
57 (package 57 (package
58 (name "libssh") 58 (name "libssh")
59 (version "0.7.3") 59 (version "0.7.4")
60 (source (origin 60 (source (origin
61 (method url-fetch) 61 (method url-fetch)
62 (uri (string-append 62 (uri (string-append
63 "https://red.libssh.org/attachments/download/195/libssh-" 63 "https://red.libssh.org/attachments/download/210/libssh-"
64 version ".tar.xz")) 64 version ".tar.xz"))
65 (sha256 65 (sha256
66 (base32 66 (base32
67 "165g49i4kmm3bfsjm0n8hm21kadv79g9yjqyq09138jxanz4dvr6")))) 67 "03bcp9ksqp0s1pmwfmzhcknvkxay5k0mjzzxp3rjlifbng1vxq9r"))))
68 (build-system cmake-build-system) 68 (build-system cmake-build-system)
69 (arguments 69 (arguments
70 '(#:configure-flags '("-DWITH_GCRYPT=ON") 70 '(#:configure-flags '("-DWITH_GCRYPT=ON")
@@ -79,7 +79,7 @@
79client and server implementations. With libssh, you can remotely execute 79client and server implementations. With libssh, you can remotely execute
80programs, transfer files, and use a secure and transparent tunnel for your 80programs, transfer files, and use a secure and transparent tunnel for your
81remote applications.") 81remote applications.")
82 (home-page "http://www.libssh.org") 82 (home-page "https://www.libssh.org")
83 (license license:lgpl2.1+))) 83 (license license:lgpl2.1+)))
84 84
85(define-public libssh2 85(define-public libssh2
diff --git a/gnu/packages/statistics.scm b/gnu/packages/statistics.scm
index 133ce41c438..e02c342c6fa 100644
--- a/gnu/packages/statistics.scm
+++ b/gnu/packages/statistics.scm
@@ -102,7 +102,7 @@ be output in text, PostScript, PDF or HTML.")
102(define-public r 102(define-public r
103 (package 103 (package
104 (name "r") 104 (name "r")
105 (version "3.3.2") 105 (version "3.3.3")
106 (source (origin 106 (source (origin
107 (method url-fetch) 107 (method url-fetch)
108 (uri (string-append "mirror://cran/src/base/R-" 108 (uri (string-append "mirror://cran/src/base/R-"
@@ -110,7 +110,7 @@ be output in text, PostScript, PDF or HTML.")
110 version ".tar.gz")) 110 version ".tar.gz"))
111 (sha256 111 (sha256
112 (base32 112 (base32
113 "0k2i9qdd83g09fcpls2198q4ykxkii5skczb514gnx7mx4hsv56j")))) 113 "0v7wpj89b0i3ad3fi1wak5c93hywmbxv8sdnixhq8l17782nidss"))))
114 (build-system gnu-build-system) 114 (build-system gnu-build-system)
115 (arguments 115 (arguments
116 `(#:make-flags 116 `(#:make-flags
@@ -131,8 +131,19 @@ be output in text, PostScript, PDF or HTML.")
131 (add-after 'unpack 'build-recommended-packages-reproducibly 131 (add-after 'unpack 'build-recommended-packages-reproducibly
132 (lambda _ 132 (lambda _
133 (substitute* "src/library/Recommended/Makefile.in" 133 (substitute* "src/library/Recommended/Makefile.in"
134 (("INSTALL_OPTS =.*" line) 134 (("INSTALL_OPTS =(.*)" line rest )
135 (string-append line " --built-timestamp=1970-01-01"))) 135 (string-append "INSTALL_OPTS = --built-timestamp=1970-01-01"
136 rest)))
137 ;; Ensure that gzipped files are reproducible
138 (substitute* '("src/library/grDevices/Makefile.in"
139 "doc/manual/Makefile.in")
140 (("R_GZIPCMD\\)" line)
141 (string-append line " -n")))
142 ;; This library is installed using "install_package_description",
143 ;; so we need to pass the "builtStamp" argument.
144 (substitute* "src/library/tools/Makefile.in"
145 (("(install_package_description\\(.*\"')\\)\"" line prefix)
146 (string-append prefix ", builtStamp='1970-01-01')\"")))
136 #t)) 147 #t))
137 (add-before 'configure 'set-default-pager 148 (add-before 'configure 'set-default-pager
138 ;; Set default pager to "cat", because otherwise it is "false", 149 ;; Set default pager to "cat", because otherwise it is "false",
@@ -159,11 +170,7 @@ be output in text, PostScript, PDF or HTML.")
159 "--with-ICU" 170 "--with-ICU"
160 "--enable-R-shlib" 171 "--enable-R-shlib"
161 "--enable-BLAS-shlib" 172 "--enable-BLAS-shlib"
162 "--with-system-zlib" 173 "--with-system-tre")))
163 "--with-system-bzlib"
164 "--with-system-pcre"
165 "--with-system-tre"
166 "--with-system-xz")))
167 ;; R has some support for Java. When the JDK is available at configure 174 ;; R has some support for Java. When the JDK is available at configure
168 ;; time environment variables pointing to the JDK will be recorded under 175 ;; time environment variables pointing to the JDK will be recorded under
169 ;; $R_HOME/etc and ./tools/getsp.java will be compiled which is used by "R 176 ;; $R_HOME/etc and ./tools/getsp.java will be compiled which is used by "R
@@ -346,24 +353,6 @@ functions of regression coefficients, and 'epredict' methods that handle
346non-estimable cases correctly.") 353non-estimable cases correctly.")
347 (license license:gpl2+))) 354 (license license:gpl2+)))
348 355
349(define-public r-gtable
350 (package
351 (name "r-gtable")
352 (version "0.1.2")
353 (source
354 (origin
355 (method url-fetch)
356 (uri (cran-uri "gtable" version))
357 (sha256
358 (base32 "0k9hfj6r5y238gqh92s3cbdn34biczx3zfh79ix5xq0c5vkai2xh"))))
359 (build-system r-build-system)
360 (home-page "https://cran.r-project.org/web/packages/gtable")
361 (synopsis "R library to arrange grobs in tables")
362 (description
363 "Gtable is a collection of tools to make it easier to work with
364\"tables\" of grobs.")
365 (license license:gpl2+)))
366
367(define-public r-pheatmap 356(define-public r-pheatmap
368 (package 357 (package
369 (name "r-pheatmap") 358 (name "r-pheatmap")
@@ -1068,22 +1057,6 @@ from knitr Rmarkdown.")
1068the execution time of R expressions.") 1057the execution time of R expressions.")
1069 (license license:bsd-2))) 1058 (license license:bsd-2)))
1070 1059
1071(define-public r-codetools
1072 (package
1073 (name "r-codetools")
1074 (version "0.2-14")
1075 (source (origin
1076 (method url-fetch)
1077 (uri (cran-uri "codetools" version))
1078 (sha256
1079 (base32
1080 "0y9r4m2b8xgavr89sc179knzwpz54xljbc1dinpq2q07i4xn0397"))))
1081 (build-system r-build-system)
1082 (home-page "https://cran.r-project.org/web/packages/codetools/index.html")
1083 (synopsis "Code analysis tools for R")
1084 (description "This package provides code analysis tools for R.")
1085 (license license:gpl3+)))
1086
1087(define-public r-pryr 1060(define-public r-pryr
1088 (package 1061 (package
1089 (name "r-pryr") 1062 (name "r-pryr")
@@ -1471,15 +1444,14 @@ building design matrices.")
1471(define-public python-statsmodels 1444(define-public python-statsmodels
1472 (package 1445 (package
1473 (name "python-statsmodels") 1446 (name "python-statsmodels")
1474 (version "0.6.1") 1447 (version "0.8.0")
1475 (source 1448 (source
1476 (origin 1449 (origin
1477 (method url-fetch) 1450 (method url-fetch)
1478 (uri (string-append "https://pypi.python.org/packages/source/" 1451 (uri (pypi-uri "statsmodels" version))
1479 "s/statsmodels/statsmodels-" version ".tar.gz"))
1480 (sha256 1452 (sha256
1481 (base32 1453 (base32
1482 "0xn67sqr0cc1lmlhzm71352hrb4hw7g318p5ff5q97pc98vl8kmy")) 1454 "0j30v3932shnj9368c9jr3svkyrvfj90h2l7nxnqkbpv0svilhr6"))
1483 (patches (search-patches "python-statsmodels-fix-tests.patch")))) 1455 (patches (search-patches "python-statsmodels-fix-tests.patch"))))
1484 (build-system python-build-system) 1456 (build-system python-build-system)
1485 (arguments 1457 (arguments
@@ -1491,7 +1463,9 @@ building design matrices.")
1491 (lambda _ 1463 (lambda _
1492 ;; Set the matplotlib backend to Agg to avoid problems using the 1464 ;; Set the matplotlib backend to Agg to avoid problems using the
1493 ;; GTK backend without a display. 1465 ;; GTK backend without a display.
1494 (substitute* (find-files "statsmodels/graphics/tests" "\\.py") 1466 (substitute* (append (find-files "statsmodels/graphics/tests" "\\.py")
1467 '("statsmodels/tsa/vector_ar/tests/test_var.py"
1468 "statsmodels/duration/tests/test_survfunc.py"))
1495 (("import matplotlib\\.pyplot as plt" line) 1469 (("import matplotlib\\.pyplot as plt" line)
1496 (string-append "import matplotlib;matplotlib.use('Agg');" 1470 (string-append "import matplotlib;matplotlib.use('Agg');"
1497 line))) 1471 line)))
@@ -2246,11 +2220,11 @@ variety of formats.")
2246 "0vz7073m0a2q12qzzihrfh5c2kx5jqi5l7z470fxmwqghdllh7l0")))) 2220 "0vz7073m0a2q12qzzihrfh5c2kx5jqi5l7z470fxmwqghdllh7l0"))))
2247 (properties `((upstream-name . "gtable"))) 2221 (properties `((upstream-name . "gtable")))
2248 (build-system r-build-system) 2222 (build-system r-build-system)
2249 (home-page "http://cran.r-project.org/web/packages/gtable") 2223 (home-page "https://cran.r-project.org/web/packages/gtable")
2250 (synopsis "Arrange grobs in tables") 2224 (synopsis "R library to arrange grobs in tables")
2251 (description 2225 (description
2252 "This package provides tools to make it easier to work with tables of 2226 "Gtable is a collection of tools to make it easier to work with
2253grobs.") 2227\"tables\" of grobs.")
2254 (license license:gpl2+))) 2228 (license license:gpl2+)))
2255 2229
2256(define-public r-gridextra 2230(define-public r-gridextra
@@ -2568,7 +2542,7 @@ data.")
2568 (base32 2542 (base32
2569 "0h7sjmvvsi35041jp47cxhsqzgf1y8jrw6fxii7n26i8g7nrh1sf")))) 2543 "0h7sjmvvsi35041jp47cxhsqzgf1y8jrw6fxii7n26i8g7nrh1sf"))))
2570 (build-system r-build-system) 2544 (build-system r-build-system)
2571 (home-page "http://cran.r-project.org/web/packages/codetools") 2545 (home-page "https://cran.r-project.org/web/packages/codetools")
2572 (synopsis "Code analysis tools for R") 2546 (synopsis "Code analysis tools for R")
2573 (description "This package provides code analysis tools for R to check R 2547 (description "This package provides code analysis tools for R to check R
2574code for possible problems.") 2548code for possible problems.")
diff --git a/gnu/packages/suckless.scm b/gnu/packages/suckless.scm
index e30a0883a32..ca4cbec91f2 100644
--- a/gnu/packages/suckless.scm
+++ b/gnu/packages/suckless.scm
@@ -47,6 +47,33 @@
47 #:use-module (gnu packages base) 47 #:use-module (gnu packages base)
48 #:use-module (gnu packages libbsd)) 48 #:use-module (gnu packages libbsd))
49 49
50(define-public blind
51 (package
52 (name "blind")
53 (version "1.0")
54 (source (origin
55 (method url-fetch)
56 (uri (string-append "http://dl.suckless.org/tools/blind-"
57 version ".tar.gz"))
58 (sha256
59 (base32
60 "1b36k8fg2gmabm69jckqja49i8y4rcbccgvv2wija15ciszrm1x9"))))
61 (build-system gnu-build-system)
62 (arguments
63 '(#:tests? #f ; no check target
64 #:make-flags (list
65 "CC=gcc"
66 (string-append "PREFIX=" %output))
67 #:phases
68 (modify-phases %standard-phases
69 (delete 'configure)))) ; no configure script
70 (synopsis "Command line video editing utilities")
71 (home-page "http://tools.suckless.org/blind/")
72 (description
73 "Blind is a collection of command line video editing utilities. It uses
74a custom raw video format with a simple container.")
75 (license license:isc)))
76
50(define-public dwm 77(define-public dwm
51 (package 78 (package
52 (name "dwm") 79 (name "dwm")
@@ -255,11 +282,20 @@ drawing.")
255 (string-append "PREFIX=" %output)) 282 (string-append "PREFIX=" %output))
256 #:phases 283 #:phases
257 (modify-phases %standard-phases 284 (modify-phases %standard-phases
258 (delete 'configure)))) 285 (delete 'configure)
286 ;; Use the right file name for dmenu and xprop.
287 (add-before 'build 'set-dmenu-and-xprop-file-name
288 (lambda* (#:key inputs #:allow-other-keys)
289 (substitute* "config.def.h"
290 (("dmenu") (string-append (assoc-ref inputs "dmenu") "/bin/dmenu"))
291 (("xprop") (string-append (assoc-ref inputs "xprop") "/bin/xprop")))
292 #t)))))
259 (inputs 293 (inputs
260 `(("glib-networking" ,glib-networking) 294 `(("dmenu" ,dmenu)
295 ("glib-networking" ,glib-networking)
261 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas) 296 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
262 ("webkitgtk" ,webkitgtk/gtk+-2))) 297 ("webkitgtk" ,webkitgtk/gtk+-2)
298 ("xprop" ,xprop)))
263 (native-inputs 299 (native-inputs
264 `(("pkg-config" ,pkg-config))) 300 `(("pkg-config" ,pkg-config)))
265 (home-page "http://surf.suckless.org/") 301 (home-page "http://surf.suckless.org/")
diff --git a/gnu/packages/telephony.scm b/gnu/packages/telephony.scm
index b0cefe40565..87261825c5c 100644
--- a/gnu/packages/telephony.scm
+++ b/gnu/packages/telephony.scm
@@ -5,7 +5,7 @@
5;;; Copyright © 2015, 2016 Efraim Flashner <efraim@flashner.co.il> 5;;; Copyright © 2015, 2016 Efraim Flashner <efraim@flashner.co.il>
6;;; Copyright © 2016 Lukas Gradl <lgradl@openmailbox.org> 6;;; Copyright © 2016 Lukas Gradl <lgradl@openmailbox.org>
7;;; Copyright © 2016 Francesco Frassinelli <fraph24@gmail.com> 7;;; Copyright © 2016 Francesco Frassinelli <fraph24@gmail.com>
8;;; Copyright © 2016 ng0 <ng0@libertad.pw> 8;;; Copyright © 2016, 2017 ng0 <contact.ng0@cryptolab.net>
9;;; 9;;;
10;;; This file is part of GNU Guix. 10;;; This file is part of GNU Guix.
11;;; 11;;;
@@ -354,7 +354,7 @@ address of one of the participants.")
354 (string-append "CONFIG+=" 354 (string-append "CONFIG+="
355 (string-join 355 (string-join
356 (list "no-update" 356 (list "no-update"
357 "no-server" 357 "no-ice"
358 "no-embed-qt-translations" 358 "no-embed-qt-translations"
359 "no-bundled-speex" 359 "no-bundled-speex"
360 "pch" 360 "pch"
@@ -378,6 +378,8 @@ address of one of the participants.")
378 (replace 'install ; install phase does not exist 378 (replace 'install ; install phase does not exist
379 (lambda* (#:key inputs outputs #:allow-other-keys) 379 (lambda* (#:key inputs outputs #:allow-other-keys)
380 (let* ((out (assoc-ref outputs "out")) 380 (let* ((out (assoc-ref outputs "out"))
381 (etc (string-append out "/etc/murmur"))
382 (dbus (string-append out "/etc/dbus-1/system.d/"))
381 (bin (string-append out "/bin")) 383 (bin (string-append out "/bin"))
382 (services (string-append out "/share/services")) 384 (services (string-append out "/share/services"))
383 (applications (string-append out "/share/applications")) 385 (applications (string-append out "/share/applications"))
@@ -391,6 +393,12 @@ address of one of the participants.")
391 (install-file "icons/mumble.svg" icons) 393 (install-file "icons/mumble.svg" icons)
392 (install-file "man/mumble-overlay.1" man) 394 (install-file "man/mumble-overlay.1" man)
393 (install-file "man/mumble.1" man) 395 (install-file "man/mumble.1" man)
396 (install-file "release/murmurd" bin)
397 (install-file "scripts/murmur.ini.system" etc)
398 (rename-file (string-append etc "/murmur.ini.system")
399 (string-append etc "/murmur.ini"))
400 (install-file "scripts/murmur.conf" dbus)
401 (install-file "man/murmurd.1" man)
394 (for-each (lambda (file) (install-file file lib)) 402 (for-each (lambda (file) (install-file file lib))
395 (find-files "." "\\.so\\.")) 403 (find-files "." "\\.so\\."))
396 (for-each (lambda (file) (install-file file lib)) 404 (for-each (lambda (file) (install-file file lib))
@@ -414,7 +422,9 @@ address of one of the participants.")
414 (synopsis "Low-latency, high quality voice chat software") 422 (synopsis "Low-latency, high quality voice chat software")
415 (description 423 (description
416 "Mumble is an low-latency, high quality voice chat 424 "Mumble is an low-latency, high quality voice chat
417software primarily intended for use while gaming.") 425software primarily intended for use while gaming.
426Mumble consists of two applications for separate usage:
427@code{mumble} for the client, and @code{murmur} for the server.")
418 (home-page "https://wiki.mumble.info/wiki/Main_Page") 428 (home-page "https://wiki.mumble.info/wiki/Main_Page")
419 (license (list license:bsd-3 429 (license (list license:bsd-3
420 ;; The bundled celt is bsd-2. Remove after 1.3.0. 430 ;; The bundled celt is bsd-2. Remove after 1.3.0.
diff --git a/gnu/packages/terminals.scm b/gnu/packages/terminals.scm
index e90ee6847fb..d0d99932c43 100644
--- a/gnu/packages/terminals.scm
+++ b/gnu/packages/terminals.scm
@@ -166,6 +166,9 @@ insert mode and command mode where keybindings have different functions.")
166 (string-append "'" ncurses "/bin/tput'")))) 166 (string-append "'" ncurses "/bin/tput'"))))
167 #t))))) 167 #t)))))
168 (inputs `(("ncurses" ,ncurses))) 168 (inputs `(("ncurses" ,ncurses)))
169 (native-inputs
170 ;; For tests.
171 `(("python-requests" ,python-requests)))
169 (home-page "https://asciinema.org") 172 (home-page "https://asciinema.org")
170 (synopsis "Terminal session recorder") 173 (synopsis "Terminal session recorder")
171 (description 174 (description
diff --git a/gnu/packages/tex.scm b/gnu/packages/tex.scm
index 7c84ed71948..404fd033933 100644
--- a/gnu/packages/tex.scm
+++ b/gnu/packages/tex.scm
@@ -72,6 +72,8 @@
72 (origin 72 (origin
73 (method url-fetch) 73 (method url-fetch)
74 (uri "ftp://tug.org/historic/systems/texlive/2016/texlive-20160523b-texmf.tar.xz") 74 (uri "ftp://tug.org/historic/systems/texlive/2016/texlive-20160523b-texmf.tar.xz")
75 (patches (search-patches "texlive-texmf-CVE-2016-10243.patch"))
76 (patch-flags '("-p2"))
75 (sha256 (base32 77 (sha256 (base32
76 "1dv8vgfzpczqw82hv9g7a8djhhyzywljmrarlcyy6g2qi5q51glr")))) 78 "1dv8vgfzpczqw82hv9g7a8djhhyzywljmrarlcyy6g2qi5q51glr"))))
77 79
diff --git a/gnu/packages/tls.scm b/gnu/packages/tls.scm
index d2bc12ab409..9796c18c7d3 100644
--- a/gnu/packages/tls.scm
+++ b/gnu/packages/tls.scm
@@ -4,10 +4,9 @@
4;;; Copyright © 2014 Ian Denhardt <ian@zenhack.net> 4;;; Copyright © 2014 Ian Denhardt <ian@zenhack.net>
5;;; Copyright © 2013, 2015 Andreas Enge <andreas@enge.fr> 5;;; Copyright © 2013, 2015 Andreas Enge <andreas@enge.fr>
6;;; Copyright © 2015 David Thompson <davet@gnu.org> 6;;; Copyright © 2015 David Thompson <davet@gnu.org>
7;;; Copyright © 2015, 2016 Leo Famulari <leo@famulari.name>
8;;; Copyright © 2015, 2016, 2017 Leo Famulari <leo@famulari.name> 7;;; Copyright © 2015, 2016, 2017 Leo Famulari <leo@famulari.name>
9;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il> 8;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il>
10;;; Copyright © 2016 ng0 <ng0@we.make.ritual.n0.is> 9;;; Copyright © 2016, 2017 ng0 <contact.ng0@cryptolab.net>
11;;; Copyright © 2016 Hartmut Goebel <h.goebel@crazy-compilers.com> 10;;; Copyright © 2016 Hartmut Goebel <h.goebel@crazy-compilers.com>
12;;; 11;;;
13;;; This file is part of GNU Guix. 12;;; This file is part of GNU Guix.
@@ -33,6 +32,7 @@
33 #:use-module (guix build-system gnu) 32 #:use-module (guix build-system gnu)
34 #:use-module (guix build-system perl) 33 #:use-module (guix build-system perl)
35 #:use-module (guix build-system python) 34 #:use-module (guix build-system python)
35 #:use-module (guix build-system cmake)
36 #:use-module (gnu packages compression) 36 #:use-module (gnu packages compression)
37 #:use-module (gnu packages) 37 #:use-module (gnu packages)
38 #:use-module (gnu packages guile) 38 #:use-module (gnu packages guile)
@@ -431,7 +431,7 @@ required structures.")
431(define-public libressl 431(define-public libressl
432 (package 432 (package
433 (name "libressl") 433 (name "libressl")
434 (version "2.5.0") 434 (version "2.5.1")
435 (source 435 (source
436 (origin 436 (origin
437 (method url-fetch) 437 (method url-fetch)
@@ -440,7 +440,7 @@ required structures.")
440 version ".tar.gz")) 440 version ".tar.gz"))
441 (sha256 441 (sha256
442 (base32 442 (base32
443 "1bkfvapi4z826slycmicvs7hwgk4l82gd8w6nqvznldbammvyll6")))) 443 "1kc709scgd76vk7fld4jnb4wb5lxdv1cj8zsgyjb33xp4jlf06pp"))))
444 (build-system gnu-build-system) 444 (build-system gnu-build-system)
445 (native-search-paths 445 (native-search-paths
446 ;; FIXME: These two variables must designate a single file or directory 446 ;; FIXME: These two variables must designate a single file or directory
@@ -469,13 +469,13 @@ security, and applying best practice development processes.")
469 (package 469 (package
470 (name "python-acme") 470 (name "python-acme")
471 ;; Remember to update the hash of certbot when updating python-acme. 471 ;; Remember to update the hash of certbot when updating python-acme.
472 (version "0.11.1") 472 (version "0.12.0")
473 (source (origin 473 (source (origin
474 (method url-fetch) 474 (method url-fetch)
475 (uri (pypi-uri "acme" version)) 475 (uri (pypi-uri "acme" version))
476 (sha256 476 (sha256
477 (base32 477 (base32
478 "0kk95iqxygrg0cd66kq8kbyalg2x5pz9hn1175cgwgf1vy72adfv")))) 478 "1pzv8fcfwdqzvvpyhgjz412is0b98yj9495k8sidzzqgbdmvlp50"))))
479 (build-system python-build-system) 479 (build-system python-build-system)
480 (arguments 480 (arguments
481 `(#:phases 481 `(#:phases
@@ -526,7 +526,7 @@ security, and applying best practice development processes.")
526 (uri (pypi-uri name version)) 526 (uri (pypi-uri name version))
527 (sha256 527 (sha256
528 (base32 528 (base32
529 "1wis5kgqcsrs60kkcmbrbx8z9yasmwa6lg9ir5im232hdm4285vc")))) 529 "1dw86gb8lyap5ckjawmli1hxgbchw2g62g1lqfvxyqjv0df94waa"))))
530 (build-system python-build-system) 530 (build-system python-build-system)
531 (arguments 531 (arguments
532 `(#:python ,python-2 532 `(#:python ,python-2
@@ -756,3 +756,31 @@ then ported to the GNU / Linux environment.")
756 ;; acme-client is distributed under the ISC license, but the files 'jsmn.h' 756 ;; acme-client is distributed under the ISC license, but the files 'jsmn.h'
757 ;; and 'jsmn.c' are distributed under the Expat license. 757 ;; and 'jsmn.c' are distributed under the Expat license.
758 (license (list license:isc license:expat)))) 758 (license (list license:isc license:expat))))
759
760;; The "-apache" variant is the upstreamed prefered variant. A "-gpl"
761;; variant exists in addition to the "-apache" one.
762(define-public mbedtls-apache
763 (package
764 (name "mbedtls-apache")
765 (version "2.4.0")
766 (source
767 (origin
768 (method url-fetch)
769 ;; XXX: The download links on the website are script redirection links
770 ;; which effectively lead to the format listed in the uri here.
771 (uri (string-append "https://tls.mbed.org/download/mbedtls-"
772 version "-apache.tgz"))
773 (sha256
774 (base32
775 "03bzbfidigljva6xj49k38q3kwlbj75lrky4a0ainylzsfg5bhy1"))))
776 (build-system cmake-build-system)
777 (native-inputs
778 `(("perl" ,perl)))
779 (synopsis "Small TLS library")
780 (description
781 "@code{mbed TLS}, formerly known as PolarSSL, makes it trivially easy
782for developers to include cryptographic and SSL/TLS capabilities in their
783(embedded) products, facilitating this functionality with a minimal
784coding footprint.")
785 (home-page "https://tls.mbed.org")
786 (license license:asl2.0)))
diff --git a/gnu/packages/tor.scm b/gnu/packages/tor.scm
index 9339dcdd701..e48017e6406 100644
--- a/gnu/packages/tor.scm
+++ b/gnu/packages/tor.scm
@@ -40,14 +40,14 @@
40(define-public tor 40(define-public tor
41 (package 41 (package
42 (name "tor") 42 (name "tor")
43 (version "0.2.9.9") 43 (version "0.2.9.10")
44 (source (origin 44 (source (origin
45 (method url-fetch) 45 (method url-fetch)
46 (uri (string-append "https://dist.torproject.org/tor-" 46 (uri (string-append "https://dist.torproject.org/tor-"
47 version ".tar.gz")) 47 version ".tar.gz"))
48 (sha256 48 (sha256
49 (base32 49 (base32
50 "0hqdk5p6dw4bpn7c8gmhyi8jjkhc37112pfw5nx4gl0g4lmmscik")))) 50 "0h8kpn42mgpkzmnga143hi8nh0ai65ypxh7qhkwbb15j3wz2h4fn"))))
51 (build-system gnu-build-system) 51 (build-system gnu-build-system)
52 (arguments 52 (arguments
53 `(#:configure-flags (list "--enable-expensive-hardening" 53 `(#:configure-flags (list "--enable-expensive-hardening"
diff --git a/gnu/packages/version-control.scm b/gnu/packages/version-control.scm
index d2ddfeef000..7f352d0b0bc 100644
--- a/gnu/packages/version-control.scm
+++ b/gnu/packages/version-control.scm
@@ -112,14 +112,14 @@ as well as the classic centralized workflow.")
112(define-public git 112(define-public git
113 (package 113 (package
114 (name "git") 114 (name "git")
115 (version "2.11.1") 115 (version "2.12.0")
116 (source (origin 116 (source (origin
117 (method url-fetch) 117 (method url-fetch)
118 (uri (string-append "mirror://kernel.org/software/scm/git/git-" 118 (uri (string-append "mirror://kernel.org/software/scm/git/git-"
119 version ".tar.xz")) 119 version ".tar.xz"))
120 (sha256 120 (sha256
121 (base32 121 (base32
122 "05b4jw86w77c3pyh3nm6aw31vhxwzvhnx2x0bcfqmm15wg57k9y0")))) 122 "09r0lcjj5v2apj39f0ziqzjq2bi1jpnhszc9q4n0ab86g5j7c88q"))))
123 (build-system gnu-build-system) 123 (build-system gnu-build-system)
124 (native-inputs 124 (native-inputs
125 `(("native-perl" ,perl) 125 `(("native-perl" ,perl)
@@ -132,7 +132,7 @@ as well as the classic centralized workflow.")
132 version ".tar.xz")) 132 version ".tar.xz"))
133 (sha256 133 (sha256
134 (base32 134 (base32
135 "0cfa3c2r7d86ksswxdl0jqdka9mai3446gg8380921gf779nwj39")))))) 135 "0ws7h04ijqr2l0pp9qbds65v9cd70v0qfpnhqncn9zqfspw5d0wb"))))))
136 (inputs 136 (inputs
137 `(("curl" ,curl) 137 `(("curl" ,curl)
138 ("expat" ,expat) 138 ("expat" ,expat)
@@ -592,7 +592,7 @@ also walk each side of a merge and test those changes individually.")
592(define-public gitolite 592(define-public gitolite
593 (package 593 (package
594 (name "gitolite") 594 (name "gitolite")
595 (version "3.6.5") 595 (version "3.6.6")
596 (source (origin 596 (source (origin
597 (method url-fetch) 597 (method url-fetch)
598 (uri (string-append 598 (uri (string-append
@@ -601,7 +601,7 @@ also walk each side of a merge and test those changes individually.")
601 (file-name (string-append name "-" version ".tar.gz")) 601 (file-name (string-append name "-" version ".tar.gz"))
602 (sha256 602 (sha256
603 (base32 603 (base32
604 "0xpqg04gyr4dhdhxx5lbk61lwwd5ml32530bigg2qy663icngwqm")))) 604 "07q33f86694s0x3k9lcmy1vzfw9appdrlmmb9j3bz4qkrxqdnwb9"))))
605 (build-system gnu-build-system) 605 (build-system gnu-build-system)
606 (arguments 606 (arguments
607 '(#:tests? #f ; no tests 607 '(#:tests? #f ; no tests
@@ -617,6 +617,17 @@ also walk each side of a merge and test those changes individually.")
617 (substitute* (find-files "." ".*") 617 (substitute* (find-files "." ".*")
618 ((" perl -") 618 ((" perl -")
619 (string-append " " perl " -")))))) 619 (string-append " " perl " -"))))))
620 (add-before 'install 'fix-hooks-shebangs
621 (lambda* (#:key inputs #:allow-other-keys)
622 (let ((perl (string-append (assoc-ref inputs "perl")
623 "/bin/perl")))
624 ;; The files in 'lib/Gitolite/Hooks' keep references to
625 ;; '/usr/bin/perl', without this fix it is impossible to
626 ;; to run gitolite in production.
627 (substitute* (find-files "src/lib/Gitolite/Hooks" ".*")
628 (("/usr/bin/perl")
629 perl))
630 #t)))
620 (replace 'install 631 (replace 'install
621 (lambda* (#:key outputs #:allow-other-keys) 632 (lambda* (#:key outputs #:allow-other-keys)
622 (let* ((output (assoc-ref outputs "out")) 633 (let* ((output (assoc-ref outputs "out"))
@@ -1211,7 +1222,7 @@ Mercurial, Bazaar, Darcs, CVS, Fossil, and Veracity.")
1211 `(;; for the tests 1222 `(;; for the tests
1212 ("python2-six" ,python2-six))) 1223 ("python2-six" ,python2-six)))
1213 (propagated-inputs 1224 (propagated-inputs
1214 `(("python2-dateutil" ,python2-dateutil-2) 1225 `(("python2-dateutil" ,python2-dateutil)
1215 ("python2-futures" ,python2-futures) 1226 ("python2-futures" ,python2-futures)
1216 ("python2-rauth" ,python2-rauth) 1227 ("python2-rauth" ,python2-rauth)
1217 ("python2-swiftclient" ,python2-swiftclient))) 1228 ("python2-swiftclient" ,python2-swiftclient)))
diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm
index 561de0412fd..9f73a7ad595 100644
--- a/gnu/packages/video.scm
+++ b/gnu/packages/video.scm
@@ -220,14 +220,14 @@ television and DVD. It is also known as AC-3.")
220(define-public libx264 220(define-public libx264
221 (package 221 (package
222 (name "libx264") 222 (name "libx264")
223 (version "20161205-2245") 223 (version "20170224-2245")
224 (source (origin 224 (source (origin
225 (method url-fetch) 225 (method url-fetch)
226 (uri (string-append "https://download.videolan.org/pub/x264/snapshots/" 226 (uri (string-append "https://download.videolan.org/pub/x264/snapshots/"
227 "x264-snapshot-" version ".tar.bz2")) 227 "x264-snapshot-" version ".tar.bz2"))
228 (sha256 228 (sha256
229 (base32 229 (base32
230 "0jjzdwag59kqlk09bb2pykm1ss8bw3p9q7bsks2kjgdwbj121a44")))) 230 "0paw8vzsy2qh5jf6xg2i1risjwyvmxgfnivly4gh0bib62cp4vib"))))
231 (build-system gnu-build-system) 231 (build-system gnu-build-system)
232 (native-inputs 232 (native-inputs
233 `(("pkg-config" ,pkg-config) 233 `(("pkg-config" ,pkg-config)
@@ -268,7 +268,7 @@ H.264 (MPEG-4 AVC) video streams.")
268(define-public x265 268(define-public x265
269 (package 269 (package
270 (name "x265") 270 (name "x265")
271 (version "2.1") 271 (version "2.3")
272 (source 272 (source
273 (origin 273 (origin
274 (method url-fetch) 274 (method url-fetch)
@@ -276,7 +276,7 @@ H.264 (MPEG-4 AVC) video streams.")
276 "x265_" version ".tar.gz")) 276 "x265_" version ".tar.gz"))
277 (sha256 277 (sha256
278 (base32 278 (base32
279 "0hx6sr9l7586gs4qds2sj0i1m5brxkaqq3cwmibhfb559fpvkz48")) 279 "07z4ydxg0lk6j43h0wlh2xddb91cy4y4mny2ln71d4278b1hllj7"))
280 (modules '((guix build utils))) 280 (modules '((guix build utils)))
281 (snippet 281 (snippet
282 '(delete-file-recursively "source/compat/getopt")))) 282 '(delete-file-recursively "source/compat/getopt"))))
@@ -299,7 +299,7 @@ designed to encode video or images into an H.265 / HEVC encoded bitstream.")
299(define-public libass 299(define-public libass
300 (package 300 (package
301 (name "libass") 301 (name "libass")
302 (version "0.13.4") 302 (version "0.13.6")
303 (source (origin 303 (source (origin
304 (method url-fetch) 304 (method url-fetch)
305 (uri (string-append 305 (uri (string-append
@@ -307,7 +307,7 @@ designed to encode video or images into an H.265 / HEVC encoded bitstream.")
307 version "/libass-" version ".tar.xz")) 307 version "/libass-" version ".tar.xz"))
308 (sha256 308 (sha256
309 (base32 309 (base32
310 "1dlzkjybnpl2fkvyjq0qblb7qw12cs893bs7zj3rvf8ij342yjnq")))) 310 "0b9cj5xfsa7zwlk5m146fhv102v51iqs3rapq0n2xrz30k8p9a7q"))))
311 (build-system gnu-build-system) 311 (build-system gnu-build-system)
312 (native-inputs 312 (native-inputs
313 `(("pkg-config" ,pkg-config) 313 `(("pkg-config" ,pkg-config)
@@ -842,7 +842,7 @@ SVCD, DVD, 3ivx, DivX 3/4/5, WMV and H.264 movies.")
842(define-public mpv 842(define-public mpv
843 (package 843 (package
844 (name "mpv") 844 (name "mpv")
845 (version "0.23.0") 845 (version "0.24.0")
846 (source (origin 846 (source (origin
847 (method url-fetch) 847 (method url-fetch)
848 (uri (string-append 848 (uri (string-append
@@ -850,7 +850,7 @@ SVCD, DVD, 3ivx, DivX 3/4/5, WMV and H.264 movies.")
850 ".tar.gz")) 850 ".tar.gz"))
851 (sha256 851 (sha256
852 (base32 852 (base32
853 "1629v5l0rmphxra7chmfm7bnn59zc1mp529b9m2zqzaqf1czxvla")) 853 "059zblcj98fhrns1rwa66mf4km68czpam4nnk8q9qny31bx58654"))
854 (file-name (string-append name "-" version ".tar.gz")))) 854 (file-name (string-append name "-" version ".tar.gz"))))
855 (build-system waf-build-system) 855 (build-system waf-build-system)
856 (native-inputs 856 (native-inputs
@@ -980,7 +980,7 @@ access to mpv's powerful playback capabilities.")
980(define-public youtube-dl 980(define-public youtube-dl
981 (package 981 (package
982 (name "youtube-dl") 982 (name "youtube-dl")
983 (version "2017.02.16") 983 (version "2017.03.02")
984 (source (origin 984 (source (origin
985 (method url-fetch) 985 (method url-fetch)
986 (uri (string-append "https://yt-dl.org/downloads/" 986 (uri (string-append "https://yt-dl.org/downloads/"
@@ -988,7 +988,7 @@ access to mpv's powerful playback capabilities.")
988 version ".tar.gz")) 988 version ".tar.gz"))
989 (sha256 989 (sha256
990 (base32 990 (base32
991 "1c2rx8hj960wg2sffpvg2513rl9grkwcpn4xk612ibfq4m7h3991")))) 991 "0f86qnppxnbh2c8bmpf0c1xhwk5vqjdzz7pqh9sydhscv8r0209g"))))
992 (build-system python-build-system) 992 (build-system python-build-system)
993 (arguments 993 (arguments
994 ;; The problem here is that the directory for the man page and completion 994 ;; The problem here is that the directory for the man page and completion
@@ -1495,7 +1495,7 @@ be used for realtime video capture via Linux-specific APIs.")
1495(define-public obs 1495(define-public obs
1496 (package 1496 (package
1497 (name "obs") 1497 (name "obs")
1498 (version "17.0.2") 1498 (version "18.0.0")
1499 (source (origin 1499 (source (origin
1500 (method url-fetch) 1500 (method url-fetch)
1501 (uri (string-append "https://github.com/jp9000/obs-studio" 1501 (uri (string-append "https://github.com/jp9000/obs-studio"
@@ -1503,7 +1503,7 @@ be used for realtime video capture via Linux-specific APIs.")
1503 (file-name (string-append name "-" version ".tar.gz")) 1503 (file-name (string-append name "-" version ".tar.gz"))
1504 (sha256 1504 (sha256
1505 (base32 1505 (base32
1506 "02cfhpkcsq718zwhwwsm48gjggf95qr38hqpi0kwrvsy18ll0msm")))) 1506 "0pxrzzp8z7kmwfdp49rwrk0j3lpya6garvbbzzfvldwhyam9az5d"))))
1507 (build-system cmake-build-system) 1507 (build-system cmake-build-system)
1508 (arguments 1508 (arguments
1509 `(#:tests? #f ; no tests 1509 `(#:tests? #f ; no tests
diff --git a/gnu/packages/vim.scm b/gnu/packages/vim.scm
index cdb32ac7eb2..82403feb1d7 100644
--- a/gnu/packages/vim.scm
+++ b/gnu/packages/vim.scm
@@ -1,7 +1,7 @@
1;;; GNU Guix --- Functional package management for GNU 1;;; GNU Guix --- Functional package management for GNU
2;;; Copyright © 2013 Cyril Roelandt <tipecaml@gmail.com> 2;;; Copyright © 2013 Cyril Roelandt <tipecaml@gmail.com>
3;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il> 3;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il>
4;;; Copyright © 2016 ng0 <ng0@we.make.ritual.n0.is> 4;;; Copyright © 2016, 2017 ng0 <contact.ng0@cryptolab.net>
5;;; Copyright © 2017 Ricardo Wurmus <rekado@elephly.net> 5;;; Copyright © 2017 Ricardo Wurmus <rekado@elephly.net>
6;;; 6;;;
7;;; This file is part of GNU Guix. 7;;; This file is part of GNU Guix.
@@ -23,6 +23,7 @@
23 #:use-module ((guix licenses) #:prefix license:) 23 #:use-module ((guix licenses) #:prefix license:)
24 #:use-module (guix packages) 24 #:use-module (guix packages)
25 #:use-module (guix download) 25 #:use-module (guix download)
26 #:use-module (guix git-download)
26 #:use-module (guix build-system cmake) 27 #:use-module (guix build-system cmake)
27 #:use-module (guix build-system gnu) 28 #:use-module (guix build-system gnu)
28 #:use-module (gnu packages) 29 #:use-module (gnu packages)
@@ -158,6 +159,340 @@ configuration files.")
158 ("tcl" ,tcl) 159 ("tcl" ,tcl)
159 ,@(package-inputs vim))))) 160 ,@(package-inputs vim)))))
160 161
162(define-public vim-neocomplete
163 (package
164 (name "vim-neocomplete")
165 (version "2.1")
166 (source
167 (origin
168 (method url-fetch)
169 (uri (string-append "https://github.com/Shougo/neocomplete.vim/"
170 "archive/ver." version ".tar.gz"))
171 (file-name (string-append name "-" version ".tar.gz"))
172 (sha256
173 (base32
174 "1307gbrdwam2akq9w2lpijc41740i4layk2qkd9sjkqxfch5lni2"))))
175 (build-system gnu-build-system)
176 (arguments
177 `(#:tests? #f
178 #:phases
179 (modify-phases %standard-phases
180 (delete 'configure)
181 (delete 'build)
182 (replace 'install
183 (lambda* (#:key outputs #:allow-other-keys)
184 (let* ((out (assoc-ref outputs "out"))
185 (vimfiles (string-append out "/share/vim/vimfiles"))
186 (autoload (string-append vimfiles "/autoload"))
187 (doc (string-append vimfiles "/doc"))
188 (plugin (string-append vimfiles "/plugin")))
189 (copy-recursively "autoload" autoload)
190 (copy-recursively "doc" doc)
191 (copy-recursively "plugin" plugin)
192 #t))))))
193 (synopsis "Next generation completion framework for Vim")
194 (description
195 "@code{neocomplete}, an abbreviation of 'neo-completion with cache',
196is a plugin for Vim.
197It provides keyword completion system by maintaining a cache of keywords in
198the current buffer. Neocomplete can be customized easily and has many more
199features than Vim's built-in completion.")
200 (home-page "https://github.com/Shougo/neocomplete.vim/")
201 (license license:expat)))
202
203;; There are no release tarballs.
204(define-public vim-neosnippet-snippets
205 (let ((commit "8e2b1c0cab9ed9a832b3743dbb65e9966a64331a")
206 (revision "1"))
207 (package
208 (name "vim-neosnippet-snippets")
209 (version (string-append "0.0.0-" revision "." (string-take commit 7)))
210 (source
211 (origin
212 (method git-fetch)
213 (uri (git-reference
214 (url "https://github.com/Shougo/neosnippet-snippets")
215 (commit commit)))
216 (file-name (string-append name "-" version "-checkout"))
217 (sha256
218 (base32
219 "151wpvbj6jb9jdkbhj3b77f5sq7y328spvwfbqyj1y32rg4ifmc6"))))
220 (build-system gnu-build-system)
221 (arguments
222 `(#:tests? #f
223 #:phases
224 (modify-phases %standard-phases
225 (delete 'configure)
226 (delete 'build)
227 (replace 'install
228 (lambda* (#:key outputs #:allow-other-keys)
229 (let* ((out (assoc-ref outputs "out"))
230 (vimfiles (string-append out "/share/vim/vimfiles")))
231 (copy-recursively "neosnippets"
232 (string-append vimfiles "/neosnippets"))
233 #t))))))
234 (synopsis "Snippets for neosnippet")
235 (description
236 "@code{neosnippet-snippets} provides standard snippets for the Vim plugin
237@code{neosnippet}. Snippets are small templates for commonly used code that
238you can fill in on the fly.")
239 (home-page "https://github.com/Shougo/neosnippet-snippets")
240 (license license:expat))))
241
242;; The released tarball is too old for our Vim.
243(define-public vim-neosnippet
244 (let ((commit "1bd7e23c79b73da16eb0c9469b25c376d3594583")
245 (revision "1"))
246 (package
247 (name "vim-neosnippet")
248 (version (string-append "4.2-" revision "." (string-take commit 7)))
249 (source
250 (origin
251 (method git-fetch)
252 (uri (git-reference
253 (url "https://github.com/Shougo/neosnippet.vim/")
254 (commit commit)))
255 (file-name (string-append name "-" version "-checkout"))
256 (sha256
257 (base32
258 "0k80syscmpnj38ks1fq02ds59g0r4jlg9ll7z4qc048mgi35alw5"))))
259 (build-system gnu-build-system)
260 (arguments
261 `(#:tests? #f
262 #:phases
263 (modify-phases %standard-phases
264 (delete 'configure)
265 (delete 'build)
266 (replace 'install
267 (lambda* (#:key outputs #:allow-other-keys)
268 (let* ((out (assoc-ref outputs "out"))
269 (vimfiles (string-append out "/share/vim/vimfiles"))
270 (autoload (string-append vimfiles "/autoload"))
271 (doc (string-append vimfiles "/doc"))
272 (ftdetect (string-append vimfiles "/ftdetect"))
273 (ftplugin (string-append vimfiles "/ftplugin"))
274 (indent (string-append vimfiles "/indent"))
275 (plugin (string-append vimfiles "/plugin"))
276 (rplugin (string-append vimfiles "/rplugin"))
277 (syntax (string-append vimfiles "/syntax")))
278 (copy-recursively "autoload" autoload)
279 (copy-recursively "doc" doc)
280 (copy-recursively "ftdetect" ftdetect)
281 (copy-recursively "ftplugin" ftplugin)
282 (copy-recursively "indent" indent)
283 (copy-recursively "plugin" plugin)
284 (copy-recursively "rplugin" rplugin)
285 (copy-recursively "syntax" syntax)
286 #t))))))
287 (synopsis "Snippet support for Vim")
288 (description
289 "@code{neosnippet}, is a plugin for Vim which adds snippet support to Vim.
290Snippets are small templates for commonly used code that you can fill in on
291the fly. To use snippets can increase your productivity in Vim a lot.
292The functionality of this plug-in is quite similar to plug-ins like
293@code{snipMate.vim} or @code{snippetsEmu.vim}. But since you can choose
294snippets with the neocomplcache / neocomplete interface, you might have less
295trouble using them, because you do not have to remember each snippet name.")
296 (home-page "https://github.com/Shougo/neosnippet.vim/")
297 (license license:expat))))
298
299(define-public vim-scheme
300 (let ((commit "93827987c10f2d5dc519166a761f219204926d5f")
301 (revision "1"))
302 (package
303 (name "vim-scheme")
304 (version (string-append "0.0.0-" revision "." (string-take commit 7)))
305 (source
306 (origin
307 (method git-fetch)
308 (uri (git-reference
309 (url "http://git.foldling.org/vim-scheme.git")
310 (commit commit)))
311 (file-name (string-append name "-" version "-checkout"))
312 (sha256
313 (base32
314 "1ynjr1109dxgj0lz261gmzz3wf5ap1m6j6hnvl3lcyv66a4y8pjv"))))
315 (build-system gnu-build-system)
316 (arguments
317 `(#:tests? #f
318 #:phases
319 (modify-phases %standard-phases
320 (delete 'configure)
321 (delete 'build)
322 (replace 'install
323 (lambda* (#:key outputs #:allow-other-keys)
324 (let* ((out (assoc-ref outputs "out"))
325 (vimfiles (string-append out "/share/vim/vimfiles"))
326 (after (string-append vimfiles "/after"))
327 (syntax (string-append vimfiles "/syntax"))
328 (ftplugin (string-append vimfiles "/ftplugin")))
329 (copy-recursively "after" after)
330 (copy-recursively "ftplugin" ftplugin)
331 (copy-recursively "syntax" syntax)
332 #t))))))
333 (synopsis "Scheme syntax for Vim")
334 (description
335 "@code{vim-scheme} provides Scheme support for Vim (R7RS and CHICKEN).")
336 (home-page "http://foldling.org/git/vim-scheme.git/")
337 (license license:public-domain))))
338
339(define-public vim-luna
340 (let ((commit "633619953dcf8577168e255230f96b05f28d6371")
341 (revision "1"))
342 (package
343 (name "vim-luna")
344 (version (string-append "0.0.0-" revision "." (string-take commit 7)))
345 (source
346 (origin
347 (method git-fetch)
348 (uri (git-reference
349 (url "https://github.com/notpratheek/vim-luna")
350 (commit commit)))
351 (file-name (string-append name "-" version "-checkout"))
352 (sha256
353 (base32
354 "0ka3qbhsh8lix1vyj4678j7dnchkd8khhirrnn3aylxxf8fpqyg8"))))
355 (build-system gnu-build-system)
356 (arguments
357 `(#:tests? #f
358 #:phases
359 (modify-phases %standard-phases
360 (delete 'configure)
361 (delete 'build)
362 (replace 'install
363 (lambda* (#:key outputs #:allow-other-keys)
364 (let* ((out (assoc-ref outputs "out"))
365 (vimfiles (string-append out "/share/vim/vimfiles"))
366 (colors (string-append vimfiles "/colors")))
367 (copy-recursively "colors" colors)
368 #t))))))
369 (synopsis "Dark color theme for Vim")
370 (description
371 "@code{vim-luna} is a dark color theme for Vim.")
372 (home-page "https://github.com/notpratheek/vim-luna")
373 (license license:expat))))
374
375;; There are no tarball releases.
376(define-public vim-context-filetype
377 (let ((commit "5e85f8cae26806f391aefe2661791a6de53bcea2")
378 (revision "1"))
379 (package
380 (name "vim-context-filetype")
381 (version (string-append "0.0.0-" revision "." (string-take commit 7)))
382 (source
383 (origin
384 (method git-fetch)
385 (uri (git-reference
386 (url "https://github.com/Shougo/context_filetype.vim")
387 (commit commit)))
388 (file-name (string-append name "-" version "-checkout"))
389 (sha256
390 (base32
391 "0alvrfhmd91zkd9h83s8wvgyq4iakcf6rybsyjd369qbgpcqky89"))))
392 (build-system gnu-build-system)
393 (arguments
394 `(#:tests? #f
395 #:phases
396 (modify-phases %standard-phases
397 (delete 'configure)
398 (delete 'build)
399 (replace 'install
400 (lambda* (#:key outputs #:allow-other-keys)
401 (let* ((out (assoc-ref outputs "out"))
402 (vimfiles (string-append out "/share/vim/vimfiles"))
403 (doc (string-append vimfiles "/doc"))
404 (autoload (string-append vimfiles "/autoload")))
405 (copy-recursively "doc" doc)
406 (copy-recursively "autoload" autoload)
407 #t))))))
408 (synopsis "Context filetype library for Vim")
409 (description
410 "@code{vim-context-filetype} is context filetype library for Vim script.")
411 (home-page "https://github.com/Shougo/context_filetype.vim")
412 (license license:expat)))) ; ??? check again
413
414(define-public vim-airline
415 (package
416 (name "vim-airline")
417 (version "0.8")
418 (source
419 (origin
420 (method url-fetch)
421 (uri (string-append "https://github.com/vim-airline/vim-airline/"
422 "archive/v" version ".tar.gz"))
423 (file-name (string-append name "-" version ".tar.gz"))
424 (sha256
425 (base32
426 "053sfq3jmgdc5y7zbg6jrk7r2hp0raj3y3mxa2h1c1bnkb6wvcaz"))))
427 (build-system gnu-build-system)
428 (arguments
429 `(#:tests? #f
430 #:phases
431 (modify-phases %standard-phases
432 (delete 'configure)
433 (delete 'build)
434 (replace 'install
435 (lambda* (#:key outputs #:allow-other-keys)
436 (let* ((out (assoc-ref outputs "out"))
437 (vimfiles (string-append out "/share/vim/vimfiles"))
438 (autoload (string-append vimfiles "/autoload"))
439 (doc (string-append vimfiles "/doc"))
440 (t (string-append vimfiles "/t"))
441 (plugin (string-append vimfiles "/plugin")))
442 (copy-recursively "autoload" autoload)
443 (copy-recursively "doc" doc)
444 (copy-recursively "plugin" plugin)
445 (copy-recursively "t" t)
446 #t))))))
447 (synopsis "Statusline for Vim")
448 (description
449 "@code{vim-airline} is an extensible statusline for Vim.
450It can be extended and costumized with themes, works with unicode fonts
451and powerline symbols, etc.")
452 (home-page "https://github.com/vim-airline/vim-airline")
453 (license license:expat)))
454
455;; There are no tarball releases.
456(define-public vim-airline-themes
457 (let ((commit "6026eb78bf362cb3aa875aff8487f65728d0f7d8")
458 (revision "1"))
459 (package
460 (name "vim-airline-themes")
461 (version (string-append "0.0.0-" revision "." (string-take commit 7)))
462 (source
463 (origin
464 (method git-fetch)
465 (uri (git-reference
466 (url "https://github.com/vim-airline/vim-airline-themes")
467 (commit commit)))
468 (file-name (string-append name "-" version "-checkout"))
469 (sha256
470 (base32
471 "13ijkavh1r0935cn2rjsfbdd1q3ka8bi26kw0bdkrqlrqxwvpss8"))))
472 (build-system gnu-build-system)
473 (arguments
474 `(#:tests? #f
475 #:phases
476 (modify-phases %standard-phases
477 (delete 'configure)
478 (delete 'build)
479 (replace 'install
480 (lambda* (#:key outputs #:allow-other-keys)
481 (let* ((out (assoc-ref outputs "out"))
482 (vimfiles (string-append out "/share/vim/vimfiles"))
483 (doc (string-append vimfiles "/doc"))
484 (plugin (string-append vimfiles "/plugin"))
485 (autoload (string-append vimfiles "/autoload")))
486 (copy-recursively "doc" doc)
487 (copy-recursively "autoload" autoload)
488 (copy-recursively "plugin" plugin)
489 #t))))))
490 (synopsis "Collection of themes for Vim-airline")
491 (description
492 "@code{vim-airline-themes} is a collection of themes for @code{vim-airline}.")
493 (home-page "https://github.com/vim-airline/vim-airline-themes")
494 (license license:expat))))
495
161(define-public neovim 496(define-public neovim
162 (package 497 (package
163 (name "neovim") 498 (name "neovim")
diff --git a/gnu/packages/vpn.scm b/gnu/packages/vpn.scm
index 8c7f07a2634..efb46f73d46 100644
--- a/gnu/packages/vpn.scm
+++ b/gnu/packages/vpn.scm
@@ -248,6 +248,14 @@ DNS domain name queries.")
248 (base32 248 (base32
249 "0a92lk8790dpp9j64vb6p4sazax0x3nby01lnfll7mxs1hx6n27q")))) 249 "0a92lk8790dpp9j64vb6p4sazax0x3nby01lnfll7mxs1hx6n27q"))))
250 (build-system python-build-system) 250 (build-system python-build-system)
251 (arguments
252 '(#:phases
253 (modify-phases %standard-phases
254 (add-after 'unpack 'patch-paths
255 (lambda _
256 (substitute* "sshoot/tests/test_manager.py"
257 (("/bin/sh") (which "sh")))
258 #t)))))
251 (inputs 259 (inputs
252 `(("python-argcomplete" ,python-argcomplete) 260 `(("python-argcomplete" ,python-argcomplete)
253 ("python-prettytable" ,python-prettytable) 261 ("python-prettytable" ,python-prettytable)
diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm
index b5bb887352e..dab30df13d3 100644
--- a/gnu/packages/web.scm
+++ b/gnu/packages/web.scm
@@ -130,14 +130,14 @@ and its related documentation.")
130(define-public nginx 130(define-public nginx
131 (package 131 (package
132 (name "nginx") 132 (name "nginx")
133 (version "1.11.9") 133 (version "1.11.10")
134 (source (origin 134 (source (origin
135 (method url-fetch) 135 (method url-fetch)
136 (uri (string-append "https://nginx.org/download/nginx-" 136 (uri (string-append "https://nginx.org/download/nginx-"
137 version ".tar.gz")) 137 version ".tar.gz"))
138 (sha256 138 (sha256
139 (base32 139 (base32
140 "0j2pcara9ir2xj3m2mjzf7wz46mdy51c0kal61cp0ldm2qgvf8nw")))) 140 "0gak6pcsn1m8fsz0g95z4b72nn12ivy35vlxrmagfcvnn2mkr2vp"))))
141 (build-system gnu-build-system) 141 (build-system gnu-build-system)
142 (inputs `(("pcre" ,pcre) 142 (inputs `(("pcre" ,pcre)
143 ("openssl" ,openssl) 143 ("openssl" ,openssl)
@@ -4365,7 +4365,7 @@ used to start services with both privileged and non-privileged port numbers.")
4365(define-public tidy-html 4365(define-public tidy-html
4366 (package 4366 (package
4367 (name "tidy-html") 4367 (name "tidy-html")
4368 (version "5.2.0") 4368 (version "5.4.0")
4369 (source 4369 (source
4370 (origin 4370 (origin
4371 (method url-fetch) 4371 (method url-fetch)
@@ -4374,7 +4374,7 @@ used to start services with both privileged and non-privileged port numbers.")
4374 (file-name (string-append name "-" version ".tar.gz")) 4374 (file-name (string-append name "-" version ".tar.gz"))
4375 (sha256 4375 (sha256
4376 (base32 4376 (base32
4377 "0kbwzh15dlapp3s3vff2qgz0yfcf8hwsnx5q4igwa6pimhak8lw0")))) 4377 "0yhbgbjl45b4sjxwc394cjra6iy02q1pi66p28zy70lr6jvm9mx2"))))
4378 (build-system cmake-build-system) 4378 (build-system cmake-build-system)
4379 (outputs '("out" 4379 (outputs '("out"
4380 "static")) ; 1.0MiB of .a files 4380 "static")) ; 1.0MiB of .a files
@@ -4410,6 +4410,61 @@ developers can integrate into their applications to make use of the
4410functions of Tidy.") 4410functions of Tidy.")
4411 (license l:bsd-3))) 4411 (license l:bsd-3)))
4412 4412
4413(define-public hiawatha
4414 (package
4415 (name "hiawatha")
4416 (version "10.4")
4417 (source
4418 (origin
4419 (method url-fetch)
4420 (uri (string-append "https://www.hiawatha-webserver.org/files/"
4421 "hiawatha-" version ".tar.gz"))
4422 (modules '((guix build utils)))
4423 (snippet
4424 ;; We use our packaged mbedtls, so delete the included copy.
4425 '(delete-file-recursively "mbedtls"))
4426 (sha256
4427 (base32
4428 "0m2llzm72s29c32abnj03532m85fawvi8ybjpx6s3mgvx2yvq3p4"))))
4429 (build-system cmake-build-system)
4430 (arguments
4431 `(#:tests? #f ; No tests included
4432 #:configure-flags (list (string-append "-DUSE_SYSTEM_MBEDTLS=on")
4433 (string-append "-DENABLE_TOMAHAWK=on")
4434 (string-append "-DWEBROOT_DIR="
4435 (assoc-ref %outputs "out")
4436 "/share/hiawatha/html"))
4437 #:phases
4438 (modify-phases %standard-phases
4439 (add-after 'install 'remove-empty-dirs
4440 (lambda* (#:key outputs #:allow-other-keys)
4441 (let* ((out (assoc-ref outputs "out")))
4442 ;; The directories in "var" are empty, remove them.
4443 (delete-file-recursively (string-append out "/var"))
4444 #t)))
4445 (add-after 'install 'wrap
4446 (lambda* (#:key inputs outputs #:allow-other-keys)
4447 ;; Make sure 'hiawatha' finds 'mbedtls'.
4448 (let* ((out (assoc-ref outputs "out"))
4449 (sbin (string-append out "/sbin"))
4450 (mbed (assoc-ref inputs "mbedtls-apache")))
4451 (wrap-program (string-append sbin "/hiawatha")
4452 `("PATH" ":" prefix (,mbed)))))))))
4453 (inputs
4454 ;; TODO: package "hiawatha-monitor", an optional dependency of "hiawatha"
4455 `(("mbedtls-apache" ,mbedtls-apache) ;Hiawatha includes this version.
4456 ("zlib" ,zlib)
4457 ("libxslt" ,libxslt)
4458 ("libxml2" ,libxml2)))
4459 (home-page "https://www.hiawatha-webserver.org")
4460 (synopsis "Webserver with focus on security")
4461 (description
4462 "Hiawatha has been written with security in mind. This resulted in a
4463highly secure webserver in both code and features. Hiawatha can stop SQL
4464injections, XSS and CSRF attacks and exploit attempts. Via a specially
4465crafted monitoring tool, you can keep track of all your webservers.")
4466 (license l:gpl2)))
4467
4413(define-public qutebrowser 4468(define-public qutebrowser
4414 (package 4469 (package
4415 (name "qutebrowser") 4470 (name "qutebrowser")
diff --git a/gnu/packages/wine.scm b/gnu/packages/wine.scm
index 7b733533879..d28e2dd4e49 100644
--- a/gnu/packages/wine.scm
+++ b/gnu/packages/wine.scm
@@ -40,6 +40,7 @@
40 #:use-module (gnu packages linux) 40 #:use-module (gnu packages linux)
41 #:use-module (gnu packages openldap) 41 #:use-module (gnu packages openldap)
42 #:use-module (gnu packages perl) 42 #:use-module (gnu packages perl)
43 #:use-module (gnu packages pulseaudio)
43 #:use-module (gnu packages pkg-config) 44 #:use-module (gnu packages pkg-config)
44 #:use-module (gnu packages mp3) 45 #:use-module (gnu packages mp3)
45 #:use-module (gnu packages ncurses) 46 #:use-module (gnu packages ncurses)
@@ -99,6 +100,7 @@
99 ("libXcomposite" ,libxcomposite) 100 ("libXcomposite" ,libxcomposite)
100 ("ncurses" ,ncurses) 101 ("ncurses" ,ncurses)
101 ("openal" ,openal) 102 ("openal" ,openal)
103 ("pulseaudio" ,pulseaudio)
102 ("unixodbc" ,unixodbc) 104 ("unixodbc" ,unixodbc)
103 ("zlib" ,zlib))) 105 ("zlib" ,zlib)))
104 (arguments 106 (arguments
diff --git a/gnu/packages/wm.scm b/gnu/packages/wm.scm
index 7ae8e4b7f80..7d76a2d202f 100644
--- a/gnu/packages/wm.scm
+++ b/gnu/packages/wm.scm
@@ -13,6 +13,7 @@
13;;; Copyright © 2016 doncatnip <gnopap@gmail.com> 13;;; Copyright © 2016 doncatnip <gnopap@gmail.com>
14;;; Copyright © 2016 Ivan Vilata i Balaguer <ivan@selidor.net> 14;;; Copyright © 2016 Ivan Vilata i Balaguer <ivan@selidor.net>
15;;; Copyright © 2017 Mekeor Melire <mekeor.melire@gmail.com> 15;;; Copyright © 2017 Mekeor Melire <mekeor.melire@gmail.com>
16;;; Copyright © 2017 Marius Bakke <mbakke@fastmail.com>
16;;; 17;;;
17;;; This file is part of GNU Guix. 18;;; This file is part of GNU Guix.
18;;; 19;;;
@@ -37,6 +38,7 @@
37 #:use-module (guix build-system cmake) 38 #:use-module (guix build-system cmake)
38 #:use-module (guix build-system gnu) 39 #:use-module (guix build-system gnu)
39 #:use-module (guix build-system haskell) 40 #:use-module (guix build-system haskell)
41 #:use-module (guix build-system perl)
40 #:use-module (guix build-system python) 42 #:use-module (guix build-system python)
41 #:use-module (gnu packages haskell) 43 #:use-module (gnu packages haskell)
42 #:use-module (gnu packages base) 44 #:use-module (gnu packages base)
@@ -232,6 +234,31 @@ from scratch. i3 is primarily targeted at advanced users and
232developers.") 234developers.")
233 (license license:bsd-3))) 235 (license license:bsd-3)))
234 236
237(define-public perl-anyevent-i3
238 (package
239 (name "perl-anyevent-i3")
240 (version "0.16")
241 (source (origin
242 (method url-fetch)
243 (uri (string-append "mirror://cpan/authors/id/M/MS/MSTPLBG/"
244 "AnyEvent-I3-" version ".tar.gz"))
245 (sha256
246 (base32
247 "1qwva5vmmn929l6k9wzhp4h80ad4qm4m1g2dyv4nlas624003hig"))))
248 (build-system perl-build-system)
249 (propagated-inputs
250 `(("perl-anyevent" ,perl-anyevent)
251 ("perl-json-xs" ,perl-json-xs)))
252 (home-page "http://search.cpan.org/dist/AnyEvent-I3")
253 (synopsis
254 "Communicate with the i3 window manager through perl")
255 (description
256 "This module connects to the i3 window manager using the UNIX socket
257based IPC interface it provides (if enabled in the configuration file).
258You can then subscribe to events or send messages and receive their replies.")
259 ;; Can be used with either license.
260 (license (list license:gpl3+ (package-license perl)))))
261
235(define-public python-i3-py 262(define-public python-i3-py
236 (package 263 (package
237 (name "python-i3-py") 264 (name "python-i3-py")
diff --git a/gnu/packages/wxwidgets.scm b/gnu/packages/wxwidgets.scm
index 5285037ffea..52fa8184dda 100644
--- a/gnu/packages/wxwidgets.scm
+++ b/gnu/packages/wxwidgets.scm
@@ -3,6 +3,7 @@
3;;; Copyright © 2016 Ricardo Wurmus <rekado@elephly.net> 3;;; Copyright © 2016 Ricardo Wurmus <rekado@elephly.net>
4;;; Copyright © 2016 Theodoros Foradis <theodoros.for@openmailbox.org> 4;;; Copyright © 2016 Theodoros Foradis <theodoros.for@openmailbox.org>
5;;; Copyright © 2016 Danny Milosavljevic <dannym@scratchpost.org> 5;;; Copyright © 2016 Danny Milosavljevic <dannym@scratchpost.org>
6;;; Copyright © 2017 Rene Saavedra <rennes@openmailbox.org>
6;;; 7;;;
7;;; This file is part of GNU Guix. 8;;; This file is part of GNU Guix.
8;;; 9;;;
@@ -50,7 +51,9 @@
50 "releases/download/v" version 51 "releases/download/v" version
51 "/wxWidgets-" version ".tar.bz2")) 52 "/wxWidgets-" version ".tar.bz2"))
52 (sha256 53 (sha256
53 (base32 "0paq27brw4lv8kspxh9iklpa415mxi8zc117vbbbhfjgapf7js1l")))) 54 (base32 "0paq27brw4lv8kspxh9iklpa415mxi8zc117vbbbhfjgapf7js1l"))
55 (patches (search-patches
56 "wxwidgets-fix-windowGTK.patch"))))
54 (build-system glib-or-gtk-build-system) 57 (build-system glib-or-gtk-build-system)
55 (inputs 58 (inputs
56 `(("glu" ,glu) 59 `(("glu" ,glu)
diff --git a/gnu/packages/xdisorg.scm b/gnu/packages/xdisorg.scm
index 1b91404dbe3..783bce0d562 100644
--- a/gnu/packages/xdisorg.scm
+++ b/gnu/packages/xdisorg.scm
@@ -16,6 +16,8 @@
16;;; Copyright © 2016 Alex Kost <alezost@gmail.com> 16;;; Copyright © 2016 Alex Kost <alezost@gmail.com>
17;;; Copyright © 2016 Marius Bakke <mbakke@fastmail.com> 17;;; Copyright © 2016 Marius Bakke <mbakke@fastmail.com>
18;;; Copyright © 2016 Petter <petter@mykolab.ch> 18;;; Copyright © 2016 Petter <petter@mykolab.ch>
19;;; Copyright © 2017 Mekeor Melire <mekeor.melire@gmail.com>
20;;; Copyright © 2017 ng0 <contact.ng0@cryptolab.net>
19;;; 21;;;
20;;; This file is part of GNU Guix. 22;;; This file is part of GNU Guix.
21;;; 23;;;
@@ -36,6 +38,7 @@
36 #:use-module ((guix licenses) #:prefix license:) 38 #:use-module ((guix licenses) #:prefix license:)
37 #:use-module (guix packages) 39 #:use-module (guix packages)
38 #:use-module (guix download) 40 #:use-module (guix download)
41 #:use-module (guix git-download)
39 #:use-module (guix utils) 42 #:use-module (guix utils)
40 #:use-module (guix build-system cmake) 43 #:use-module (guix build-system cmake)
41 #:use-module (guix build-system gnu) 44 #:use-module (guix build-system gnu)
@@ -51,6 +54,7 @@
51 #:use-module (gnu packages gl) 54 #:use-module (gnu packages gl)
52 #:use-module (gnu packages glib) 55 #:use-module (gnu packages glib)
53 #:use-module (gnu packages gnome) 56 #:use-module (gnu packages gnome)
57 #:use-module (gnu packages maths)
54 #:use-module (gnu packages m4) 58 #:use-module (gnu packages m4)
55 #:use-module (gnu packages ncurses) 59 #:use-module (gnu packages ncurses)
56 #:use-module (gnu packages perl) 60 #:use-module (gnu packages perl)
@@ -437,7 +441,7 @@ of the screen selected by mouse.")
437(define-public slop 441(define-public slop
438 (package 442 (package
439 (name "slop") 443 (name "slop")
440 (version "4.3.21") 444 (version "5.3.37")
441 (source (origin 445 (source (origin
442 (method url-fetch) 446 (method url-fetch)
443 (uri (string-append 447 (uri (string-append
@@ -446,15 +450,14 @@ of the screen selected by mouse.")
446 (file-name (string-append name "-" version ".tar.gz")) 450 (file-name (string-append name "-" version ".tar.gz"))
447 (sha256 451 (sha256
448 (base32 452 (base32
449 "0z0p4a3p5mc6fjh5f8js9ppb0maxyvfxpiw2n6nqc5nim1kv6bim")))) 453 "1p2ih123zkj8rxz8acsxpaim1kq57f4rbq7zqsibafn5rkw5c5is"))))
450 (build-system cmake-build-system) 454 (build-system cmake-build-system)
451 (arguments '(#:tests? #f)) ; no "check" target 455 (arguments
456 '(#:tests? #f)) ; no "check" target
452 (inputs 457 (inputs
453 `(("libx11" ,libx11) 458 `(("glm" ,glm)
454 ("libxrandr" ,libxrandr)
455 ("libxext" ,libxext) 459 ("libxext" ,libxext)
456 ("imlib2" ,imlib2) 460 ("libxrender" ,libxrender)
457 ("glew" ,glew)
458 ("mesa" ,mesa))) 461 ("mesa" ,mesa)))
459 (home-page "https://github.com/naelstrof/slop") 462 (home-page "https://github.com/naelstrof/slop")
460 (synopsis "Select a region and print its bounds to stdout") 463 (synopsis "Select a region and print its bounds to stdout")
@@ -469,7 +472,7 @@ selection's dimensions to stdout.")
469(define-public maim 472(define-public maim
470 (package 473 (package
471 (name "maim") 474 (name "maim")
472 (version "3.4.47") 475 (version "4.4.61")
473 (source (origin 476 (source (origin
474 (method url-fetch) 477 (method url-fetch)
475 (uri (string-append 478 (uri (string-append
@@ -478,27 +481,20 @@ selection's dimensions to stdout.")
478 (file-name (string-append name "-" version ".tar.gz")) 481 (file-name (string-append name "-" version ".tar.gz"))
479 (sha256 482 (sha256
480 (base32 483 (base32
481 "0kfp7k55bxc5h6h0wv8bwmsc5ny66h9ra2z4dzs4yzszq16544pv")))) 484 "14jksv05xyydbpb9v8k3jgq7sl72bh356iapymg02vwg519i1d5k"))))
482 (build-system cmake-build-system) 485 (build-system cmake-build-system)
483 (arguments 486 (arguments
484 '(#:tests? #f ; no "check" target 487 '(#:tests? #f)) ; no "check" target
485 #:phases
486 (modify-phases %standard-phases
487 (add-after 'unpack 'patch-source
488 (lambda* (#:key inputs #:allow-other-keys)
489 (let ((slop (string-append (assoc-ref inputs "slop")
490 "/bin/slop")))
491 ;; "slop" command is hardcoded in the source; replace it
492 ;; with the full file name.
493 (substitute* "src/main.cpp"
494 (("^( +slopcommand.*)\"slop\"" all front)
495 (string-append front "\"" slop "\"")))))))))
496 (inputs 488 (inputs
497 `(("libx11" ,libx11) 489 `(("glm" ,glm)
498 ("libxrandr" ,libxrandr) 490 ("libjpeg" ,libjpeg-turbo)
491 ("libpng" ,libpng)
492 ("libxcomposite" ,libxcomposite)
499 ("libxfixes" ,libxfixes) 493 ("libxfixes" ,libxfixes)
500 ("imlib2" ,imlib2) 494 ("libxrandr" ,libxrandr)
501 ("slop" ,slop))) 495 ("mesa" ,mesa)
496 ("slop" ,slop)
497 ("zlib" ,zlib)))
502 (home-page "https://github.com/naelstrof/maim") 498 (home-page "https://github.com/naelstrof/maim")
503 (synopsis "Screenshot utility for X Window System") 499 (synopsis "Screenshot utility for X Window System")
504 (description 500 (description
@@ -694,9 +690,47 @@ compact configuration syntax.")
694 ;; This sets the destination when installing the necessary terminal 690 ;; This sets the destination when installing the necessary terminal
695 ;; capability data, which are not provided by 'ncurses'. See 691 ;; capability data, which are not provided by 'ncurses'. See
696 ;; https://lists.gnu.org/archive/html/bug-ncurses/2009-10/msg00031.html 692 ;; https://lists.gnu.org/archive/html/bug-ncurses/2009-10/msg00031.html
697 '(#:make-flags (list (string-append "TERMINFO=" 693 `(#:make-flags (list (string-append "TERMINFO="
698 (assoc-ref %outputs "out") 694 (assoc-ref %outputs "out")
699 "/share/terminfo")))) 695 "/share/terminfo"))
696 #:phases
697 (modify-phases %standard-phases
698 (add-after 'install 'install-desktop-urxvt
699 (lambda* (#:key outputs #:allow-other-keys)
700 (let* ((output (assoc-ref outputs "out"))
701 (desktop (string-append output "/share/applications")))
702 (mkdir-p desktop)
703 (with-output-to-file
704 (string-append desktop "/urxvt.desktop")
705 (lambda _
706 (format #t
707 "[Desktop Entry]~@
708 Name=rxvt-unicode~@
709 Comment=~@
710 Exec=~a/bin/urxvt~@
711 TryExec=~@*~a/bin/urxvt~@
712 Icon=~@
713 Type=Application~%"
714 output)))
715 #t)))
716 (add-after 'install 'install-desktop-urxvtc
717 (lambda* (#:key outputs #:allow-other-keys)
718 (let* ((output (assoc-ref outputs "out"))
719 (desktop (string-append output "/share/applications")))
720 (mkdir-p desktop)
721 (with-output-to-file
722 (string-append desktop "/urxvtc.desktop")
723 (lambda _
724 (format #t
725 "[Desktop Entry]~@
726 Name=rxvt-unicode~@
727 Comment=Rxvt clone with XFT and unicode support~@
728 Exec=~a/bin/urxvtc~@
729 TryExec=~@*~a/bin/urxvtc~@
730 Icon=~@
731 Type=Application~%"
732 output)))
733 #t))))))
700 (inputs 734 (inputs
701 `(("libXft" ,libxft) 735 `(("libXft" ,libxft)
702 ("libX11" ,libx11))) 736 ("libX11" ,libx11)))
@@ -971,7 +1005,8 @@ connectivity of the X server running on a particular @code{DISPLAY}.")
971 (native-inputs 1005 (native-inputs
972 `(("pkg-config" ,pkg-config))) 1006 `(("pkg-config" ,pkg-config)))
973 (arguments 1007 (arguments
974 `(#:phases 1008 `(#:parallel-tests? #f ; May fail in some circumstances.
1009 #:phases
975 (modify-phases %standard-phases 1010 (modify-phases %standard-phases
976 (add-before 'configure 'adjust-tests 1011 (add-before 'configure 'adjust-tests
977 (lambda _ 1012 (lambda _
@@ -1032,6 +1067,57 @@ border, and background. It also supports multihead setups, customized mouse
1032actions, a built-in clock, a battery monitor and a system tray.") 1067actions, a built-in clock, a battery monitor and a system tray.")
1033 (license license:gpl2))) 1068 (license license:gpl2)))
1034 1069
1070(define-public dzen
1071 (let ((commit "488ab66019f475e35e067646621827c18a879ba1")
1072 (revision "1"))
1073 (package
1074 (name "dzen")
1075 (version (string-append "0.9.5-" ; Taken from `config.mk`.
1076 revision "." (string-take commit 7)))
1077 (source (origin
1078 (method git-fetch)
1079 (uri (git-reference
1080 (url "https://github.com/robm/dzen.git")
1081 (commit commit)))
1082 (file-name (string-append name "-" version))
1083 (sha256
1084 (base32
1085 "0y47d6ii87vf4a517gi4fh0yl06f8b085sra77immnsasbq9pxnw"))))
1086 (build-system gnu-build-system)
1087 (arguments
1088 `(#:tests? #f ; No test suite.
1089 #:make-flags ; Replacement for `config.mk`.
1090 (list
1091 (string-append "VERSION = " ,version)
1092 (string-append "PREFIX = " %output)
1093 "MANPREFIX = ${PREFIX}/share/man"
1094 "INCS = -I."
1095 "LIBS = -lc -lX11 -lXinerama -lXpm $(shell pkg-config --libs xft)"
1096 "CFLAGS = -Wall -Os ${INCS} -DVERSION=\\\"${VERSION}\\\"\
1097 -DDZEN_XINERAMA -DDZEN_XPM -DDZEN_XFT $(shell pkg-config --cflags xft)"
1098 "LDFLAGS = ${LIBS}"
1099 "CC = gcc"
1100 "LD = ${CC}")
1101 #:phases
1102 (modify-phases %standard-phases
1103 (delete 'configure) ; No configuration script.
1104 ;; Use own make-flags instead of `config.mk`.
1105 (add-before 'build 'dont-include-config-mk
1106 (lambda _
1107 (substitute* "Makefile" (("include config.mk") ""))
1108 #t)))))
1109 (inputs
1110 `(("libx11" ,libx11)
1111 ("libxft" ,libxft)
1112 ("libxpm" ,libxpm)
1113 ("libxinerama" ,libxinerama)))
1114 (native-inputs `(("pkg-config" ,pkg-config)))
1115 (synopsis "General purpose messaging, notification and menuing program for X11")
1116 (description "Dzen is a general purpose messaging, notification and menuing
1117program for X11. It was designed to be fast, tiny and scriptable in any language.")
1118 (home-page "https://github.com/robm/dzen")
1119 (license license:expat))))
1120
1035(define-public xcb-util-xrm 1121(define-public xcb-util-xrm
1036 (package 1122 (package
1037 (name "xcb-util-xrm") 1123 (name "xcb-util-xrm")
diff --git a/gnu/packages/xml.scm b/gnu/packages/xml.scm
index 7636fafd6a3..a818cb8d4ee 100644
--- a/gnu/packages/xml.scm
+++ b/gnu/packages/xml.scm
@@ -13,7 +13,7 @@
13;;; Copyright © 2016 Jan Nieuwenhuizen <janneke@gnu.org> 13;;; Copyright © 2016 Jan Nieuwenhuizen <janneke@gnu.org>
14;;; Copyright © 2016 ng0 <ng0@we.make.ritual.n0.is> 14;;; Copyright © 2016 ng0 <ng0@we.make.ritual.n0.is>
15;;; Copyright © 2016 Tobias Geerinckx-Rice <me@tobias.gr> 15;;; Copyright © 2016 Tobias Geerinckx-Rice <me@tobias.gr>
16;;; Copyright © 2016 Marius Bakke <mbakke@fastmail.com> 16;;; Copyright © 2016, 2017 Marius Bakke <mbakke@fastmail.com>
17;;; 17;;;
18;;; This file is part of GNU Guix. 18;;; This file is part of GNU Guix.
19;;; 19;;;
@@ -221,6 +221,34 @@ the @code{Graph} class and write it out in a specific file format.")
221@code{XML::Atom} implements the feed format as well as a client for the API.") 221@code{XML::Atom} implements the feed format as well as a client for the API.")
222 (license (package-license perl)))) 222 (license (package-license perl))))
223 223
224(define-public perl-xml-descent
225 (package
226 (name "perl-xml-descent")
227 (version "1.04")
228 (source (origin
229 (method url-fetch)
230 (uri (string-append "mirror://cpan/authors/id/A/AN/ANDYA/"
231 "XML-Descent-" version ".tar.gz"))
232 (sha256
233 (base32
234 "0l5xmw2hd95ypppz3lyvp4sn02ccsikzjwacli3ydxfdz1bbh4d7"))))
235 (build-system perl-build-system)
236 (native-inputs
237 `(("perl-module-build" ,perl-module-build)))
238 (propagated-inputs
239 `(("perl-test-differences" ,perl-test-differences)
240 ("perl-xml-tokeparser" ,perl-xml-tokeparser)))
241 (home-page "http://search.cpan.org/dist/XML-Descent")
242 (synopsis "Recursive descent XML parsing")
243 (description
244 "The conventional models for parsing XML are either @dfn{DOM}
245(a data structure representing the entire document tree is created) or
246@dfn{SAX} (callbacks are issued for each element in the XML).
247
248XML grammar is recursive - so it's nice to be able to write recursive
249parsers for it. @code{XML::Descent} allows such parsers to be created.")
250 (license (package-license perl))))
251
224(define-public perl-xml-parser 252(define-public perl-xml-parser
225 (package 253 (package
226 (name "perl-xml-parser") 254 (name "perl-xml-parser")
@@ -252,6 +280,29 @@ as extra arguments to the parse methods, in which case they override options
252given at XML::Parser creation time.") 280given at XML::Parser creation time.")
253 (home-page "http://search.cpan.org/dist/XML-Parser"))) 281 (home-page "http://search.cpan.org/dist/XML-Parser")))
254 282
283(define-public perl-xml-tokeparser
284 (package
285 (name "perl-xml-tokeparser")
286 (version "0.05")
287 (source (origin
288 (method url-fetch)
289 (uri (string-append "mirror://cpan/authors/id/P/PO/PODMASTER/"
290 "XML-TokeParser-" version ".tar.gz"))
291 (sha256
292 (base32
293 "1hnpwb3lh6cbgwvjjgqzcp6jm4mp612qn6ili38adc9nhkwv8fc5"))))
294 (build-system perl-build-system)
295 (propagated-inputs `(("perl-xml-parser" ,perl-xml-parser)))
296 (home-page "http://search.cpan.org/dist/XML-TokeParser")
297 (synopsis "Simplified interface to XML::Parser")
298 (description
299 "@code{XML::TokeParser} provides a procedural (\"pull mode\") interface
300to @code{XML::Parser} in much the same way that Gisle Aas'
301@code{HTML::TokeParser} provides a procedural interface to @code{HTML::Parser}.
302@code{XML::TokeParser} splits its XML input up into \"tokens\", each
303corresponding to an @code{XML::Parser} event.")
304 (license (package-license perl))))
305
255(define-public perl-libxml 306(define-public perl-libxml
256 (package 307 (package
257 (name "perl-libxml") 308 (name "perl-libxml")
@@ -735,7 +786,9 @@ the form of functions.")
735 "0fcgggry5x5bn0zhb09ij9hb0p45nb0sv0d9fw3cm1cf62hp9n80")))) 786 "0fcgggry5x5bn0zhb09ij9hb0p45nb0sv0d9fw3cm1cf62hp9n80"))))
736 (build-system cmake-build-system) 787 (build-system cmake-build-system)
737 (arguments 788 (arguments
738 `(#:tests? #f)) ; no tests 789 `(#:configure-flags '("-DCMAKE_CXX_FLAGS=-shared -fPIC"
790 "-DCMAKE_C_FLAGS=-shared -fPIC")
791 #:tests? #f)) ; no tests
739 (home-page "http://pugixml.org") 792 (home-page "http://pugixml.org")
740 (synopsis "Light-weight, simple and fast XML parser for C++ with XPath support") 793 (synopsis "Light-weight, simple and fast XML parser for C++ with XPath support")
741 (description 794 (description
@@ -779,9 +832,11 @@ code for classes that correspond to data structures defined by XMLSchema.")
779 (source 832 (source
780 (origin 833 (origin
781 (method url-fetch) 834 (method url-fetch)
782 (uri (string-append 835 ;; The old source on fedorahosted.org is offline permanently:
783 "https://fedorahosted.org/releases/x/m/xmlto/xmlto-" 836 ;; <https://bugs.gnu.org/25989>
784 version ".tar.bz2")) 837 (uri (string-append "mirror://debian/pool/main/x/xmlto/"
838 "xmlto_" version ".orig.tar.bz2"))
839 (file-name (string-append name "-" version ".tar.bz2"))
785 (sha256 840 (sha256
786 (base32 841 (base32
787 "0xhj8b2pwp4vhl9y16v3dpxpsakkflfamr191mprzsspg4xdyc0i")))) 842 "0xhj8b2pwp4vhl9y16v3dpxpsakkflfamr191mprzsspg4xdyc0i"))))
diff --git a/gnu/packages/xorg.scm b/gnu/packages/xorg.scm
index bd8f38c3984..18354271ee2 100644
--- a/gnu/packages/xorg.scm
+++ b/gnu/packages/xorg.scm
@@ -11,6 +11,7 @@
11;;; Copyright © 2016 Alex Kost <alezost@gmail.com> 11;;; Copyright © 2016 Alex Kost <alezost@gmail.com>
12;;; Copyright © 2016 David Craven <david@craven.ch> 12;;; Copyright © 2016 David Craven <david@craven.ch>
13;;; Copyright © 2016, 2017 John Darrington <jmd@gnu.org> 13;;; Copyright © 2016, 2017 John Darrington <jmd@gnu.org>
14;;; Copyright © 2017 Marius Bakke <mbakke@fastmail.com>
14;;; 15;;;
15;;; This file is part of GNU Guix. 16;;; This file is part of GNU Guix.
16;;; 17;;;
@@ -1721,7 +1722,7 @@ features and to query screensaver info on specific windows.")
1721(define-public sessreg 1722(define-public sessreg
1722 (package 1723 (package
1723 (name "sessreg") 1724 (name "sessreg")
1724 (version "1.1.0") 1725 (version "1.1.1")
1725 (source 1726 (source
1726 (origin 1727 (origin
1727 (method url-fetch) 1728 (method url-fetch)
@@ -1731,7 +1732,7 @@ features and to query screensaver info on specific windows.")
1731 ".tar.bz2")) 1732 ".tar.bz2"))
1732 (sha256 1733 (sha256
1733 (base32 1734 (base32
1734 "0z013rskwmdadd8cdlxvh4asmgim61qijyzfbqmr1q1mg1jpf4am")))) 1735 "1qd66mg2bnppqz4xgdjzif2488zl82vx2c26ld3nb8pnyginm9vq"))))
1735 (build-system gnu-build-system) 1736 (build-system gnu-build-system)
1736 (inputs 1737 (inputs
1737 `(("xproto" ,xproto))) 1738 `(("xproto" ,xproto)))
@@ -5670,6 +5671,61 @@ provides DEC VT102/VT220 (VTxxx) and Tektronix 4014 compatible terminals for
5670programs that cannot use the window system directly.") 5671programs that cannot use the window system directly.")
5671 (license license:x11))) 5672 (license license:x11)))
5672 5673
5674(define-public perl-x11-xcb
5675 (package
5676 (name "perl-x11-xcb")
5677 (version "0.16")
5678 (source (origin
5679 (method url-fetch)
5680 (uri (string-append
5681 "mirror://cpan/authors/id/M/MS/MSTPLBG/"
5682 "X11-XCB-" version ".tar.gz"))
5683 (sha256
5684 (base32
5685 "14mnvr1001py2z1n43l18yaw0plwvjg5pcsyc7k81sa0amw8ahzw"))))
5686 (build-system perl-build-system)
5687 (arguments
5688 '(;; Disable parallel build to prevent a race condition.
5689 #:parallel-build? #f
5690 #:phases
5691 (modify-phases %standard-phases
5692 (add-before 'build 'patch-Makefile
5693 (lambda* (#:key inputs #:allow-other-keys)
5694 (substitute* "Makefile"
5695 ;; XXX: Without this hack, attempts at using XCB.so fails with
5696 ;; an error such as "XCB.so: undefined symbol: xcb_xinerama_id"
5697 (("^LDDLFLAGS = ")
5698 (string-append "LDDLFLAGS = "
5699 "-lxcb -lxcb-util -lxcb-xinerama -lxcb-icccm ")))
5700 #t)))
5701 ;; Tests require a running X11 server.
5702 #:tests? #f))
5703 (native-inputs
5704 `(("perl-extutils-depends" ,perl-extutils-depends)
5705 ("perl-extutils-pkgconfig" ,perl-extutils-pkgconfig)
5706 ("perl-test-deep" ,perl-test-deep)
5707 ("perl-test-exception" ,perl-test-exception)))
5708 (propagated-inputs
5709 `(("perl-data-dump" ,perl-data-dump)
5710 ("perl-mouse" ,perl-mouse)
5711 ("perl-mousex-nativetraits" ,perl-mousex-nativetraits)
5712 ("perl-try-tiny" ,perl-try-tiny)
5713 ("perl-xml-descent" ,perl-xml-descent)
5714 ("perl-xml-simple" ,perl-xml-simple)
5715 ("perl-xs-object-magic" ,perl-xs-object-magic)))
5716 (inputs
5717 `(("libxcb" ,libxcb)
5718 ("xcb-proto" ,xcb-proto)
5719 ("xcb-util" ,xcb-util)
5720 ("xcb-util-wm" ,xcb-util-wm)))
5721 (home-page "http://search.cpan.org/dist/X11-XCB")
5722 (synopsis "Perl bindings for libxcb")
5723 (description
5724 "These bindings wrap @code{libxcb} (a C library to speak with X11,
5725in many cases better than @code{Xlib}), and provides an object oriented
5726interface to its methods (using @code{Mouse}).")
5727 (license (package-license perl))))
5728
5673(define-public perl-x11-protocol 5729(define-public perl-x11-protocol
5674 (package 5730 (package
5675 (name "perl-x11-protocol") 5731 (name "perl-x11-protocol")
diff --git a/gnu/services/base.scm b/gnu/services/base.scm
index 57601eab85d..5298a11f631 100644
--- a/gnu/services/base.scm
+++ b/gnu/services/base.scm
@@ -3,7 +3,7 @@
3;;; Copyright © 2015, 2016 Alex Kost <alezost@gmail.com> 3;;; Copyright © 2015, 2016 Alex Kost <alezost@gmail.com>
4;;; Copyright © 2015, 2016 Mark H Weaver <mhw@netris.org> 4;;; Copyright © 2015, 2016 Mark H Weaver <mhw@netris.org>
5;;; Copyright © 2015 Sou Bunnbu <iyzsong@gmail.com> 5;;; Copyright © 2015 Sou Bunnbu <iyzsong@gmail.com>
6;;; Copyright © 2016 Leo Famulari <leo@famulari.name> 6;;; Copyright © 2016, 2017 Leo Famulari <leo@famulari.name>
7;;; Copyright © 2016 David Craven <david@craven.ch> 7;;; Copyright © 2016 David Craven <david@craven.ch>
8;;; Copyright © 2016 Ricardo Wurmus <rekado@elephly.net> 8;;; Copyright © 2016 Ricardo Wurmus <rekado@elephly.net>
9;;; 9;;;
@@ -38,6 +38,7 @@
38 #:select (canonical-package glibc)) 38 #:select (canonical-package glibc))
39 #:use-module (gnu packages bash) 39 #:use-module (gnu packages bash)
40 #:use-module (gnu packages package-management) 40 #:use-module (gnu packages package-management)
41 #:use-module (gnu packages linux)
41 #:use-module (gnu packages lsof) 42 #:use-module (gnu packages lsof)
42 #:use-module (gnu packages terminals) 43 #:use-module (gnu packages terminals)
43 #:use-module ((gnu build file-systems) 44 #:use-module ((gnu build file-systems)
@@ -74,6 +75,11 @@
74 login-service-type 75 login-service-type
75 login-service 76 login-service
76 77
78 agetty-configuration
79 agetty-configuration?
80 agetty-service
81 agetty-service-type
82
77 mingetty-configuration 83 mingetty-configuration
78 mingetty-configuration? 84 mingetty-configuration?
79 mingetty-service 85 mingetty-service
@@ -730,6 +736,222 @@ Return a service that sets up Unicode support in @var{tty} and loads
730the message of the day, among other things." 736the message of the day, among other things."
731 (service login-service-type config)) 737 (service login-service-type config))
732 738
739(define-record-type* <agetty-configuration>
740 agetty-configuration make-agetty-configuration
741 agetty-configuration?
742 (agetty agetty-configuration-agetty ;<package>
743 (default util-linux))
744 (tty agetty-configuration-tty) ;string
745 (term agetty-term ;string | #f
746 (default #f))
747 (baud-rate agetty-baud-rate ;string | #f
748 (default #f))
749 (auto-login agetty-auto-login ;list of strings | #f
750 (default #f))
751 (login-program agetty-login-program ;gexp
752 (default (file-append shadow "/bin/login")))
753 (login-pause? agetty-login-pause? ;Boolean
754 (default #f))
755 (eight-bits? agetty-eight-bits? ;Boolean
756 (default #f))
757 (no-reset? agetty-no-reset? ;Boolean
758 (default #f))
759 (remote? agetty-remote? ;Boolean
760 (default #f))
761 (flow-control? agetty-flow-control? ;Boolean
762 (default #f))
763 (host agetty-host ;string | #f
764 (default #f))
765 (no-issue? agetty-no-issue? ;Boolean
766 (default #f))
767 (init-string agetty-init-string ;string | #f
768 (default #f))
769 (no-clear? agetty-no-clear? ;Boolean
770 (default #f))
771 (local-line agetty-local-line ;always | never | auto
772 (default #f))
773 (extract-baud? agetty-extract-baud? ;Boolean
774 (default #f))
775 (skip-login? agetty-skip-login? ;Boolean
776 (default #f))
777 (no-newline? agetty-no-newline? ;Boolean
778 (default #f))
779 (login-options agetty-login-options ;string | #f
780 (default #f))
781 (chroot agetty-chroot ;string | #f
782 (default #f))
783 (hangup? agetty-hangup? ;Boolean
784 (default #f))
785 (keep-baud? agetty-keep-baud? ;Boolean
786 (default #f))
787 (timeout agetty-timeout ;integer | #f
788 (default #f))
789 (detect-case? agetty-detect-case? ;Boolean
790 (default #f))
791 (wait-cr? agetty-wait-cr? ;Boolean
792 (default #f))
793 (no-hints? agetty-no-hints? ;Boolean
794 (default #f))
795 (no-hostname? agetty-no hostname? ;Boolean
796 (default #f))
797 (long-hostname? agetty-long-hostname? ;Boolean
798 (default #f))
799 (erase-characters agetty-erase-characters ;string | #f
800 (default #f))
801 (kill-characters agetty-kill-characters ;string | #f
802 (default #f))
803 (chdir agetty-chdir ;string | #f
804 (default #f))
805 (delay agetty-delay ;integer | #f
806 (default #f))
807 (nice agetty-nice ;integer | #f
808 (default #f))
809 ;; "Escape hatch" for passing arbitrary command-line arguments.
810 (extra-options agetty-extra-options ;list of strings
811 (default '()))
812;;; XXX Unimplemented for now!
813;;; (issue-file agetty-issue-file ;file-like
814;;; (default #f))
815 )
816
817(define agetty-shepherd-service
818 (match-lambda
819 (($ <agetty-configuration> agetty tty term baud-rate auto-login
820 login-program login-pause? eight-bits? no-reset? remote? flow-control?
821 host no-issue? init-string no-clear? local-line extract-baud?
822 skip-login? no-newline? login-options chroot hangup? keep-baud? timeout
823 detect-case? wait-cr? no-hints? no-hostname? long-hostname?
824 erase-characters kill-characters chdir delay nice extra-options)
825 (list
826 (shepherd-service
827 (documentation "Run agetty on a tty.")
828 (provision (list (symbol-append 'term- (string->symbol tty))))
829
830 ;; Since the login prompt shows the host name, wait for the 'host-name'
831 ;; service to be done. Also wait for udev essentially so that the tty
832 ;; text is not lost in the middle of kernel messages (see also
833 ;; mingetty-shepherd-service).
834 (requirement '(user-processes host-name udev))
835
836 (start #~(make-forkexec-constructor
837 (list #$(file-append util-linux "/sbin/agetty")
838 #$@extra-options
839 #$@(if eight-bits?
840 #~("--8bits")
841 #~())
842 #$@(if no-reset?
843 #~("--noreset")
844 #~())
845 #$@(if remote?
846 #~("--remote")
847 #~())
848 #$@(if flow-control?
849 #~("--flow-control")
850 #~())
851 #$@(if host
852 #~("--host" #$host)
853 #~())
854 #$@(if no-issue?
855 #~("--noissue")
856 #~())
857 #$@(if init-string
858 #~("--init-string" #$init-string)
859 #~())
860 #$@(if no-clear?
861 #~("--noclear")
862 #~())
863;;; FIXME This doesn't work as expected. According to agetty(8), if this option
864;;; is not passed, then the default is 'auto'. However, in my tests, when that
865;;; option is selected, agetty never presents the login prompt, and the
866;;; term-ttyS0 service respawns every few seconds.
867 #$@(if local-line
868 #~(#$(match local-line
869 ('auto "--local-line=auto")
870 ('always "--local-line=always")
871 ('never "-local-line=never")))
872 #~())
873 #$@(if extract-baud?
874 #~("--extract-baud")
875 #~())
876 #$@(if skip-login?
877 #~("--skip-login")
878 #~())
879 #$@(if no-newline?
880 #~("--nonewline")
881 #~())
882 #$@(if login-options
883 #~("--login-options" #$login-options)
884 #~())
885 #$@(if chroot
886 #~("--chroot" #$chroot)
887 #~())
888 #$@(if hangup?
889 #~("--hangup")
890 #~())
891 #$@(if keep-baud?
892 #~("--keep-baud")
893 #~())
894 #$@(if timeout
895 #~("--timeout" #$(number->string timeout))
896 #~())
897 #$@(if detect-case?
898 #~("--detect-case")
899 #~())
900 #$@(if wait-cr?
901 #~("--wait-cr")
902 #~())
903 #$@(if no-hints?
904 #~("--nohints?")
905 #~())
906 #$@(if no-hostname?
907 #~("--nohostname")
908 #~())
909 #$@(if long-hostname?
910 #~("--long-hostname")
911 #~())
912 #$@(if erase-characters
913 #~("--erase-chars" #$erase-characters)
914 #~())
915 #$@(if kill-characters
916 #~("--kill-chars" #$kill-characters)
917 #~())
918 #$@(if chdir
919 #~("--chdir" #$chdir)
920 #~())
921 #$@(if delay
922 #~("--delay" #$(number->string delay))
923 #~())
924 #$@(if nice
925 #~("--nice" #$(number->string nice))
926 #~())
927 #$@(if auto-login
928 (list "--autologin" auto-login)
929 '())
930 #$@(if login-program
931 #~("--login-program" #$login-program)
932 #~())
933 #$@(if login-pause?
934 #~("--login-pause")
935 #~())
936 #$tty
937 #$@(if baud-rate
938 #~(#$baud-rate)
939 #~())
940 #$@(if term
941 #~(#$term)
942 #~()))))
943 (stop #~(make-kill-destructor)))))))
944
945(define agetty-service-type
946 (service-type (name 'agetty)
947 (extensions (list (service-extension shepherd-root-service-type
948 agetty-shepherd-service)))))
949
950(define* (agetty-service config)
951 "Return a service to run agetty according to @var{config}, which specifies
952the tty to run, among other things."
953 (service agetty-service-type config))
954
733(define-record-type* <mingetty-configuration> 955(define-record-type* <mingetty-configuration>
734 mingetty-configuration make-mingetty-configuration 956 mingetty-configuration make-mingetty-configuration
735 mingetty-configuration? 957 mingetty-configuration?
@@ -1114,7 +1336,11 @@ failed to register hydra.gnu.org public key: ~a~%" status))))))))
1114 (log-file guix-configuration-log-file ;string 1336 (log-file guix-configuration-log-file ;string
1115 (default "/var/log/guix-daemon.log")) 1337 (default "/var/log/guix-daemon.log"))
1116 (lsof guix-configuration-lsof ;<package> 1338 (lsof guix-configuration-lsof ;<package>
1117 (default lsof))) 1339 (default lsof))
1340 (http-proxy guix-http-proxy ;string | #f
1341 (default #f))
1342 (tmpdir guix-tmpdir ;string | #f
1343 (default #f)))
1118 1344
1119(define %default-guix-configuration 1345(define %default-guix-configuration
1120 (guix-configuration)) 1346 (guix-configuration))
@@ -1125,7 +1351,7 @@ failed to register hydra.gnu.org public key: ~a~%" status))))))))
1125 (($ <guix-configuration> guix build-group build-accounts 1351 (($ <guix-configuration> guix build-group build-accounts
1126 authorize-key? keys 1352 authorize-key? keys
1127 use-substitutes? substitute-urls extra-options 1353 use-substitutes? substitute-urls extra-options
1128 log-file lsof) 1354 log-file lsof http-proxy tmpdir)
1129 (list (shepherd-service 1355 (list (shepherd-service
1130 (documentation "Run the Guix daemon.") 1356 (documentation "Run the Guix daemon.")
1131 (provision '(guix-daemon)) 1357 (provision '(guix-daemon))
@@ -1142,7 +1368,13 @@ failed to register hydra.gnu.org public key: ~a~%" status))))))))
1142 1368
1143 ;; Add 'lsof' (for the GC) to the daemon's $PATH. 1369 ;; Add 'lsof' (for the GC) to the daemon's $PATH.
1144 #:environment-variables 1370 #:environment-variables
1145 (list (string-append "PATH=" #$lsof "/bin")) 1371 (list (string-append "PATH=" #$lsof "/bin")
1372 #$@(if http-proxy
1373 (list (string-append "http_proxy=" http-proxy))
1374 '())
1375 #$@(if tmpdir
1376 (list (string-append "TMPDIR=" tmpdir))
1377 '()))
1146 1378
1147 #:log-file #$log-file)) 1379 #:log-file #$log-file))
1148 (stop #~(make-kill-destructor))))))) 1380 (stop #~(make-kill-destructor)))))))
diff --git a/gnu/services/messaging.scm b/gnu/services/messaging.scm
index 9f59d6eac61..34723dc11c3 100644
--- a/gnu/services/messaging.scm
+++ b/gnu/services/messaging.scm
@@ -49,8 +49,9 @@
49;;; 49;;;
50;;; Code: 50;;; Code:
51 51
52(define (id ctx . parts) 52(define-syntax-rule (id ctx parts ...)
53 (datum->syntax ctx (apply symbol-append (map syntax->datum parts)))) 53 "Assemble PARTS into a raw (unhygienic) identifier."
54 (datum->syntax ctx (symbol-append (syntax->datum parts) ...)))
54 55
55(define-syntax define-maybe 56(define-syntax define-maybe
56 (lambda (x) 57 (lambda (x)
@@ -94,21 +95,21 @@
94 "" doc)) 95 "" doc))
95 #'(doc ...) #'(target ...)))) 96 #'(doc ...) #'(target ...))))
96 #`(begin 97 #`(begin
97 (define common-fields 98 (define #,(id #'stem #'common-fields)
98 '(#,@(filter-map (make-pred #f) #'(field ...) #'(target ...)))) 99 '(#,@(filter-map (make-pred #f) #'(field ...) #'(target ...))))
99 (define-configuration prosody-configuration 100 (define-configuration #,(id #'stem #'prosody-configuration)
100 #,@(filter-map (make-pred 'global) 101 #,@(filter-map (make-pred 'global)
101 #'((field (field-type def) doc) ...) 102 #'((field (field-type def) doc) ...)
102 #'(target ...))) 103 #'(target ...)))
103 (define-configuration virtualhost-configuration 104 (define-configuration #,(id #'stem #'virtualhost-configuration)
104 #,@(filter-map (make-pred 'virtualhost) 105 #,@(filter-map (make-pred 'virtualhost)
105 #'((field (new-field-type new-def) new-doc) ...) 106 #'((field (new-field-type new-def) new-doc) ...)
106 #'(target ...))) 107 #'(target ...)))
107 (define-configuration int-component-configuration 108 (define-configuration #,(id #'stem #'int-component-configuration)
108 #,@(filter-map (make-pred 'int-component) 109 #,@(filter-map (make-pred 'int-component)
109 #'((field (new-field-type new-def) new-doc) ...) 110 #'((field (new-field-type new-def) new-doc) ...)
110 #'(target ...))) 111 #'(target ...)))
111 (define-configuration ext-component-configuration 112 (define-configuration #,(id #'stem #'ext-component-configuration)
112 #,@(filter-map (make-pred 'ext-component) 113 #,@(filter-map (make-pred 'ext-component)
113 #'((field (new-field-type new-def) new-doc) ...) 114 #'((field (new-field-type new-def) new-doc) ...)
114 #'(target ...))))))))) 115 #'(target ...)))))))))
diff --git a/gnu/services/ssh.scm b/gnu/services/ssh.scm
index 58c35c9f5e5..c1d42e70ce6 100644
--- a/gnu/services/ssh.scm
+++ b/gnu/services/ssh.scm
@@ -38,7 +38,6 @@
38 openssh-configuration 38 openssh-configuration
39 openssh-configuration? 39 openssh-configuration?
40 openssh-service-type 40 openssh-service-type
41 openssh-service
42 41
43 dropbear-configuration 42 dropbear-configuration
44 dropbear-configuration? 43 dropbear-configuration?
@@ -261,6 +260,8 @@ The other options should be self-descriptive."
261(define-record-type* <openssh-configuration> 260(define-record-type* <openssh-configuration>
262 openssh-configuration make-openssh-configuration 261 openssh-configuration make-openssh-configuration
263 openssh-configuration? 262 openssh-configuration?
263 (openssh openssh-configuration-openssh ;package
264 (default openssh))
264 (pid-file openssh-configuration-pid-file 265 (pid-file openssh-configuration-pid-file
265 (default "/var/run/sshd.pid")) 266 (default "/var/run/sshd.pid"))
266 (port-number openssh-configuration-port-number ;integer 267 (port-number openssh-configuration-port-number ;integer
@@ -298,7 +299,8 @@ The other options should be self-descriptive."
298 (mkdir-p (dirname #$(openssh-configuration-pid-file config))) 299 (mkdir-p (dirname #$(openssh-configuration-pid-file config)))
299 300
300 ;; Generate missing host keys. 301 ;; Generate missing host keys.
301 (system* (string-append #$openssh "/bin/ssh-keygen") "-A"))) 302 (system* (string-append #$(openssh-configuration-openssh config)
303 "/bin/ssh-keygen") "-A")))
302 304
303(define (openssh-config-file config) 305(define (openssh-config-file config)
304 "Return the sshd configuration file corresponding to CONFIG." 306 "Return the sshd configuration file corresponding to CONFIG."
@@ -343,7 +345,7 @@ The other options should be self-descriptive."
343 (openssh-configuration-pid-file config)) 345 (openssh-configuration-pid-file config))
344 346
345 (define openssh-command 347 (define openssh-command
346 #~(list (string-append #$openssh "/sbin/sshd") 348 #~(list (string-append #$(openssh-configuration-openssh config) "/sbin/sshd")
347 "-D" "-f" #$(openssh-config-file config))) 349 "-D" "-f" #$(openssh-config-file config)))
348 350
349 (list (shepherd-service 351 (list (shepherd-service
diff --git a/gnu/system.scm b/gnu/system.scm
index 1006c842c9d..c8d4d014ed5 100644
--- a/gnu/system.scm
+++ b/gnu/system.scm
@@ -97,6 +97,8 @@
97 operating-system-locale-directory 97 operating-system-locale-directory
98 operating-system-boot-script 98 operating-system-boot-script
99 99
100 system-linux-image-file-name
101
100 boot-parameters 102 boot-parameters
101 boot-parameters? 103 boot-parameters?
102 boot-parameters-label 104 boot-parameters-label
@@ -255,9 +257,10 @@ from the initrd."
255(define* (system-linux-image-file-name #:optional (system (%current-system))) 257(define* (system-linux-image-file-name #:optional (system (%current-system)))
256 "Return the basename of the kernel image file for SYSTEM." 258 "Return the basename of the kernel image file for SYSTEM."
257 ;; FIXME: Evaluate the conditional based on the actual current system. 259 ;; FIXME: Evaluate the conditional based on the actual current system.
258 (if (string-prefix? "mips" (%current-system)) 260 (cond
259 "vmlinuz" 261 ((string-prefix? "arm" (%current-system)) "zImage")
260 "bzImage")) 262 ((string-prefix? "mips" (%current-system)) "vmlinuz")
263 (else "bzImage")))
261 264
262(define (operating-system-kernel-file os) 265(define (operating-system-kernel-file os)
263 "Return an object representing the absolute file name of the kernel image of 266 "Return an object representing the absolute file name of the kernel image of
diff --git a/gnu/system/examples/lightweight-desktop.tmpl b/gnu/system/examples/lightweight-desktop.tmpl
index 131c43af779..389ec8574b0 100644
--- a/gnu/system/examples/lightweight-desktop.tmpl
+++ b/gnu/system/examples/lightweight-desktop.tmpl
@@ -4,7 +4,7 @@
4 4
5(use-modules (gnu) (gnu system nss)) 5(use-modules (gnu) (gnu system nss))
6(use-service-modules desktop) 6(use-service-modules desktop)
7(use-package-modules wm ratpoison certs) 7(use-package-modules wm ratpoison certs suckless)
8 8
9(operating-system 9(operating-system
10 (host-name "antelope") 10 (host-name "antelope")
@@ -33,8 +33,8 @@
33 33
34 ;; Add a bunch of window managers; we can choose one at 34 ;; Add a bunch of window managers; we can choose one at
35 ;; the log-in screen with F1. 35 ;; the log-in screen with F1.
36 (packages (cons* ratpoison i3-wm xmonad ;window managers 36 (packages (cons* ratpoison i3-wm i3status dmenu ;window managers
37 nss-certs ;for HTTPS access 37 nss-certs ;for HTTPS access
38 %base-packages)) 38 %base-packages))
39 39
40 ;; Use the "desktop" services, which include the X11 40 ;; Use the "desktop" services, which include the X11
diff --git a/gnu/system/grub.scm b/gnu/system/grub.scm
index b18b8be6d79..1f2cd08ff06 100644
--- a/gnu/system/grub.scm
+++ b/gnu/system/grub.scm
@@ -255,7 +255,7 @@ code."
255 "" 255 ""
256 (match device 256 (match device
257 ;; Preferably refer to DEVICE by its UUID or label. This is more 257 ;; Preferably refer to DEVICE by its UUID or label. This is more
258 ;; efficient and less ambiguous, see <>. 258 ;; efficient and less ambiguous, see <http://bugs.gnu.org/22281>.
259 ((? bytevector? uuid) 259 ((? bytevector? uuid)
260 (format #f "search --fs-uuid --set ~a" 260 (format #f "search --fs-uuid --set ~a"
261 (uuid->string device))) 261 (uuid->string device)))
diff --git a/gnu/system/vm.scm b/gnu/system/vm.scm
index 8a35f7fbc50..5c6e7f684a9 100644
--- a/gnu/system/vm.scm
+++ b/gnu/system/vm.scm
@@ -141,7 +141,8 @@ made available under the /xchg CIFS share."
141 (gnu build vm)) 141 (gnu build vm))
142 142
143 (let ((inputs '#$(list qemu coreutils)) 143 (let ((inputs '#$(list qemu coreutils))
144 (linux (string-append #$linux "/bzImage")) 144 (linux (string-append #$linux "/"
145 #$(system-linux-image-file-name)))
145 (initrd (string-append #$initrd "/initrd")) 146 (initrd (string-append #$initrd "/initrd"))
146 (loader #$loader) 147 (loader #$loader)
147 (graphs '#$(match references-graphs 148 (graphs '#$(match references-graphs
@@ -364,7 +365,7 @@ of the GNU system as described by OS."
364 (check? #f) 365 (check? #f)
365 (create-mount-point? #t))))) 366 (create-mount-point? #t)))))
366 367
367(define (virtualized-operating-system os mappings) 368(define* (virtualized-operating-system os mappings #:optional (full-boot? #f))
368 "Return an operating system based on OS suitable for use in a virtualized 369 "Return an operating system based on OS suitable for use in a virtualized
369environment with the store shared with the host. MAPPINGS is a list of 370environment with the store shared with the host. MAPPINGS is a list of
370<file-system-mapping> to realize in the virtualized OS." 371<file-system-mapping> to realize in the virtualized OS."
@@ -380,6 +381,15 @@ environment with the store shared with the host. MAPPINGS is a list of
380 (string-prefix? "/dev/" source))))) 381 (string-prefix? "/dev/" source)))))
381 (operating-system-file-systems os))) 382 (operating-system-file-systems os)))
382 383
384 (define virtual-file-systems
385 (cons (file-system
386 (mount-point "/")
387 (device "/dev/vda1")
388 (type "ext4"))
389
390 (append (map mapping->file-system mappings)
391 user-file-systems)))
392
383 (operating-system (inherit os) 393 (operating-system (inherit os)
384 (initrd (lambda (file-systems . rest) 394 (initrd (lambda (file-systems . rest)
385 (apply base-initrd file-systems 395 (apply base-initrd file-systems
@@ -390,17 +400,16 @@ environment with the store shared with the host. MAPPINGS is a list of
390 ;; Disable swap. 400 ;; Disable swap.
391 (swap-devices '()) 401 (swap-devices '())
392 402
393 (file-systems (cons* (file-system 403 ;; XXX: When FULL-BOOT? is true, do not add a 9p mount for /gnu/store
394 (mount-point "/") 404 ;; since that would lead the bootloader config to look for the kernel and
395 (device "/dev/vda1") 405 ;; initrd in it.
396 (type "ext4")) 406 (file-systems (if full-boot?
397 407 virtual-file-systems
398 (file-system (inherit 408 (cons
399 (mapping->file-system %store-mapping)) 409 (file-system
400 (needed-for-boot? #t)) 410 (inherit (mapping->file-system %store-mapping))
401 411 (needed-for-boot? #t))
402 (append (map mapping->file-system mappings) 412 virtual-file-systems)))))
403 user-file-systems)))))
404 413
405(define* (system-qemu-image/shared-store 414(define* (system-qemu-image/shared-store
406 os 415 os
@@ -433,25 +442,26 @@ bootloader refers to: OS kernel, initrd, bootloader data, etc."
433(define* (common-qemu-options image shared-fs) 442(define* (common-qemu-options image shared-fs)
434 "Return the a string-value gexp with the common QEMU options to boot IMAGE, 443 "Return the a string-value gexp with the common QEMU options to boot IMAGE,
435with '-virtfs' options for the host file systems listed in SHARED-FS." 444with '-virtfs' options for the host file systems listed in SHARED-FS."
445
436 (define (virtfs-option fs) 446 (define (virtfs-option fs)
437 #~(string-append "-virtfs local,path=\"" #$fs 447 #~(format #f "-virtfs local,path=~s,security_model=none,mount_tag=~s"
438 "\",security_model=none,mount_tag=\"" 448 #$fs #$(file-system->mount-tag fs)))
439 #$(file-system->mount-tag fs)
440 "\" "))
441 449
442 #~(string-append 450 #~(;; Only enable kvm if we see /dev/kvm exists.
443 ;; Only enable kvm if we see /dev/kvm exists.
444 ;; This allows users without hardware virtualization to still use these 451 ;; This allows users without hardware virtualization to still use these
445 ;; commands. 452 ;; commands.
446 #$(if (file-exists? "/dev/kvm") 453 #$@(if (file-exists? "/dev/kvm")
447 " -enable-kvm " 454 '("-enable-kvm")
448 "") 455 '())
449 " -no-reboot -net nic,model=virtio \ 456
450 " #$@(map virtfs-option shared-fs) " \ 457 "-no-reboot"
451 -vga std \ 458 "-net nic,model=virtio"
452 -drive file=" #$image 459
453 ",if=virtio,cache=writeback,werror=report,readonly \ 460 #$@(map virtfs-option shared-fs)
454 -m 256")) 461 "-vga std"
462 (format #f "-drive file=~a,if=virtio,cache=writeback,werror=report,readonly"
463 #$image)
464 "-m 256"))
455 465
456(define* (system-qemu-image/shared-store-script os 466(define* (system-qemu-image/shared-store-script os
457 #:key 467 #:key
@@ -472,31 +482,37 @@ When FULL-BOOT? is true, the returned script runs everything starting from the
472bootloader; otherwise it directly starts the operating system kernel. The 482bootloader; otherwise it directly starts the operating system kernel. The
473DISK-IMAGE-SIZE parameter specifies the size in bytes of the root disk image; 483DISK-IMAGE-SIZE parameter specifies the size in bytes of the root disk image;
474it is mostly useful when FULL-BOOT? is true." 484it is mostly useful when FULL-BOOT? is true."
475 (mlet* %store-monad ((os -> (virtualized-operating-system os mappings)) 485 (mlet* %store-monad ((os -> (virtualized-operating-system os mappings full-boot?))
476 (os-drv (operating-system-derivation os)) 486 (os-drv (operating-system-derivation os))
477 (image (system-qemu-image/shared-store 487 (image (system-qemu-image/shared-store
478 os 488 os
479 #:full-boot? full-boot? 489 #:full-boot? full-boot?
480 #:disk-image-size disk-image-size))) 490 #:disk-image-size disk-image-size)))
491 (define kernel-arguments
492 #~(list "--root=/dev/vda1"
493 (string-append "--system=" #$os-drv)
494 (string-append "--load=" #$os-drv "/boot")
495 #$@(if graphic? #~() #~("console=ttyS0"))
496 #+@(operating-system-kernel-arguments os)))
497
498 (define qemu-exec
499 #~(list (string-append #$qemu "/bin/" #$(qemu-command (%current-system)))
500 #$@(if full-boot?
501 #~()
502 #~("-kernel" #$(operating-system-kernel-file os)
503 "-initrd" #$(file-append os-drv "/initrd")
504 (format #f "-append ~s"
505 (string-join #$kernel-arguments " "))))
506 #$@(common-qemu-options image
507 (map file-system-mapping-source
508 (cons %store-mapping mappings)))))
509
481 (define builder 510 (define builder
482 #~(call-with-output-file #$output 511 #~(call-with-output-file #$output
483 (lambda (port) 512 (lambda (port)
484 (display 513 (format port "#!~a~% exec ~a \"$@\"~%"
485 (string-append "#!" #$bash "/bin/sh 514 #$(file-append bash "/bin/sh")
486exec " #$qemu "/bin/" #$(qemu-command (%current-system)) 515 (string-join #$qemu-exec " "))
487
488#$@(if full-boot?
489 #~()
490 #~(" -kernel " #$(operating-system-kernel os) "/bzImage \
491 -initrd " #$os-drv "/initrd \
492 -append \"" #$(if graphic? "" "console=ttyS0 ")
493 "--system=" #$os-drv " --load=" #$os-drv "/boot --root=/dev/vda1 "
494 (string-join (list #+@(operating-system-kernel-arguments os))) "\" "))
495#$(common-qemu-options image
496 (map file-system-mapping-source
497 (cons %store-mapping mappings)))
498" \"$@\"\n")
499 port)
500 (chmod port #o555)))) 516 (chmod port #o555))))
501 517
502 (gexp->derivation "run-vm.sh" builder))) 518 (gexp->derivation "run-vm.sh" builder)))
diff --git a/guix/build-system/cargo.scm b/guix/build-system/cargo.scm
index 3582f0e328d..578c4446a49 100644
--- a/guix/build-system/cargo.scm
+++ b/guix/build-system/cargo.scm
@@ -29,7 +29,8 @@
29 #:use-module (guix build-system gnu) 29 #:use-module (guix build-system gnu)
30 #:use-module (ice-9 match) 30 #:use-module (ice-9 match)
31 #:use-module (srfi srfi-26) 31 #:use-module (srfi srfi-26)
32 #:export (cargo-build-system 32 #:export (%cargo-build-system-modules
33 cargo-build-system
33 crate-url 34 crate-url
34 crate-url? 35 crate-url?
35 crate-uri)) 36 crate-uri))
diff --git a/guix/build/python-build-system.scm b/guix/build/python-build-system.scm
index 3f280b0ac02..dd07986b942 100644
--- a/guix/build/python-build-system.scm
+++ b/guix/build/python-build-system.scm
@@ -137,11 +137,15 @@
137 ;; (given with `package_dir`). This will by copied to the output, too, 137 ;; (given with `package_dir`). This will by copied to the output, too,
138 ;; so we need to remove. 138 ;; so we need to remove.
139 (let ((before (find-files "build" "\\.egg-info$" #:directories? #t))) 139 (let ((before (find-files "build" "\\.egg-info$" #:directories? #t)))
140 (call-setuppy test-target '() use-setuptools?) 140 (if (call-setuppy test-target '() use-setuptools?)
141 (let* ((after (find-files "build" "\\.egg-info$" #:directories? #t)) 141 (let* ((after (find-files "build" "\\.egg-info$" #:directories? #t))
142 (inter (lset-difference eqv? after before))) 142 (inter (lset-difference eqv? after before)))
143 (for-each delete-file-recursively inter))) 143 (for-each delete-file-recursively inter)
144 #t)) 144 #t)
145 #f))
146 (begin
147 (format #t "test suite not run~%")
148 #t)))
145 149
146(define (get-python-version python) 150(define (get-python-version python)
147 (let* ((version (last (string-split python #\-))) 151 (let* ((version (last (string-split python #\-)))
diff --git a/guix/download.scm b/guix/download.scm
index 813f51f4893..dda18ff04d8 100644
--- a/guix/download.scm
+++ b/guix/download.scm
@@ -103,8 +103,8 @@
103 "http://mirror.csclub.uwaterloo.ca/nongnu/" 103 "http://mirror.csclub.uwaterloo.ca/nongnu/"
104 "http://nongnu.askapache.com/" 104 "http://nongnu.askapache.com/"
105 "http://savannah.c3sl.ufpr.br/" 105 "http://savannah.c3sl.ufpr.br/"
106 "http://www.centervenus.com/mirrors/nongnu/" 106 "http://download.savannah.gnu.org/releases-noredirect/"
107 "http://download.savannah.gnu.org/releases-noredirect/") 107 "http://download-mirror.savannah.gnu.org/releases/")
108 (sourceforge ; https://sourceforge.net/p/forge/documentation/Mirrors/ 108 (sourceforge ; https://sourceforge.net/p/forge/documentation/Mirrors/
109 "http://downloads.sourceforge.net/project/" 109 "http://downloads.sourceforge.net/project/"
110 "http://ufpr.dl.sourceforge.net/project/" 110 "http://ufpr.dl.sourceforge.net/project/"
diff --git a/guix/gexp.scm b/guix/gexp.scm
index 1f7fbef0a02..d11ed177fe5 100644
--- a/guix/gexp.scm
+++ b/guix/gexp.scm
@@ -68,6 +68,9 @@
68 file-append-base 68 file-append-base
69 file-append-suffix 69 file-append-suffix
70 70
71 load-path-expression
72 gexp-modules
73
71 gexp->derivation 74 gexp->derivation
72 gexp->file 75 gexp->file
73 gexp->script 76 gexp->script
diff --git a/guix/scripts/archive.scm b/guix/scripts/archive.scm
index 9e49c536351..cad279fb502 100644
--- a/guix/scripts/archive.scm
+++ b/guix/scripts/archive.scm
@@ -268,7 +268,7 @@ resulting archive to the standard output port."
268 (let ((system (assoc-ref opts 'system))) 268 (let ((system (assoc-ref opts 'system)))
269 (format #t "~a\n" 269 (format #t "~a\n"
270 (build-docker-image file #:system system)))) 270 (build-docker-image file #:system system))))
271 (_ 271 (x
272 ;; TODO: Remove this restriction. 272 ;; TODO: Remove this restriction.
273 (leave (_ "only a single item can be exported to Docker~%"))))) 273 (leave (_ "only a single item can be exported to Docker~%")))))
274 (format 274 (format
diff --git a/guix/ui.scm b/guix/ui.scm
index 6247944068d..3a0a6501d1a 100644
--- a/guix/ui.scm
+++ b/guix/ui.scm
@@ -635,16 +635,17 @@ report what is prerequisites are available for download."
635(define (right-arrow port) 635(define (right-arrow port)
636 "Return either a string containing the 'RIGHT ARROW' character, or an ASCII 636 "Return either a string containing the 'RIGHT ARROW' character, or an ASCII
637replacement if PORT is not Unicode-capable." 637replacement if PORT is not Unicode-capable."
638 (with-fluids ((%default-port-encoding (port-encoding port))) 638 (let ((encoding (port-encoding port))
639 (let ((arrow "→")) 639 (arrow "→"))
640 (catch 'encoding-error 640 (catch 'encoding-error
641 (lambda () 641 (lambda ()
642 (call-with-output-string 642 (call-with-output-string
643 (lambda (port) 643 (lambda (port)
644 (set-port-conversion-strategy! port 'error) 644 (set-port-encoding! port encoding)
645 (display arrow port)))) 645 (set-port-conversion-strategy! port 'error)
646 (lambda (key . args) 646 (display arrow port))))
647 "->"))))) 647 (lambda (key . args)
648 "->"))))
648 649
649(define* (show-manifest-transaction store manifest transaction 650(define* (show-manifest-transaction store manifest transaction
650 #:key dry-run?) 651 #:key dry-run?)
@@ -687,7 +688,7 @@ replacement if PORT is not Unicode-capable."
687 "The following packages will be removed:~%~{~a~%~}~%" 688 "The following packages will be removed:~%~{~a~%~}~%"
688 len) 689 len)
689 remove)))) 690 remove))))
690 (_ #f)) 691 (x #f))
691 (match downgrade 692 (match downgrade
692 (((($ <manifest-entry> name old-version) 693 (((($ <manifest-entry> name old-version)
693 . ($ <manifest-entry> _ new-version output item)) ..1) 694 . ($ <manifest-entry> _ new-version output item)) ..1)
@@ -705,7 +706,7 @@ replacement if PORT is not Unicode-capable."
705 "The following packages will be downgraded:~%~{~a~%~}~%" 706 "The following packages will be downgraded:~%~{~a~%~}~%"
706 len) 707 len)
707 downgrade)))) 708 downgrade))))
708 (_ #f)) 709 (x #f))
709 (match upgrade 710 (match upgrade
710 (((($ <manifest-entry> name old-version) 711 (((($ <manifest-entry> name old-version)
711 . ($ <manifest-entry> _ new-version output item)) ..1) 712 . ($ <manifest-entry> _ new-version output item)) ..1)
@@ -723,7 +724,7 @@ replacement if PORT is not Unicode-capable."
723 "The following packages will be upgraded:~%~{~a~%~}~%" 724 "The following packages will be upgraded:~%~{~a~%~}~%"
724 len) 725 len)
725 upgrade)))) 726 upgrade))))
726 (_ #f)) 727 (x #f))
727 (match install 728 (match install
728 ((($ <manifest-entry> name version output item _) ..1) 729 ((($ <manifest-entry> name version output item _) ..1)
729 (let ((len (length name)) 730 (let ((len (length name))
@@ -739,7 +740,7 @@ replacement if PORT is not Unicode-capable."
739 "The following packages will be installed:~%~{~a~%~}~%" 740 "The following packages will be installed:~%~{~a~%~}~%"
740 len) 741 len)
741 install)))) 742 install))))
742 (_ #f)))) 743 (x #f))))
743 744
744(define-syntax with-error-handling 745(define-syntax with-error-handling
745 (syntax-rules () 746 (syntax-rules ()
@@ -820,7 +821,7 @@ converted to a space; sequences of more than one line break are preserved."
820 (match (string-fold maybe-break 821 (match (string-fold maybe-break
821 `(,column 0 ()) 822 `(,column 0 ())
822 str) 823 str)
823 ((_ _ chars) 824 ((column newlines chars)
824 (list->string (reverse chars))))) 825 (list->string (reverse chars)))))
825 826
826 827
@@ -1024,7 +1025,7 @@ DURATION-RELATION with the current time."
1024 (valid-generations (iota n 1))) 1025 (valid-generations (iota n 1)))
1025 ((lst ..1) 1026 ((lst ..1)
1026 (valid-generations lst)) 1027 (valid-generations lst))
1027 (_ #f))) 1028 (x #f)))
1028 1029
1029 (define (filter-by-duration duration) 1030 (define (filter-by-duration duration)
1030 (define (time-at-midnight time) 1031 (define (time-at-midnight time)
diff --git a/guix/utils.scm b/guix/utils.scm
index 72dc0687a40..b72e3f233f9 100644
--- a/guix/utils.scm
+++ b/guix/utils.scm
@@ -43,7 +43,7 @@
43 #:use-module (ice-9 regex) 43 #:use-module (ice-9 regex)
44 #:use-module (ice-9 match) 44 #:use-module (ice-9 match)
45 #:use-module (ice-9 format) 45 #:use-module (ice-9 format)
46 #:use-module ((ice-9 iconv) #:select (bytevector->string)) 46 #:use-module ((ice-9 iconv) #:prefix iconv:)
47 #:use-module (system foreign) 47 #:use-module (system foreign)
48 #:re-export (memoize) ; for backwards compatibility 48 #:re-export (memoize) ; for backwards compatibility
49 #:export (bytevector->base16-string 49 #:export (bytevector->base16-string
@@ -326,7 +326,7 @@ This procedure returns #t on success."
326 (seek in 0 SEEK_SET) ; read from the beginning of the file. 326 (seek in 0 SEEK_SET) ; read from the beginning of the file.
327 (let* ((pre-bv (get-bytevector-n in start)) 327 (let* ((pre-bv (get-bytevector-n in start))
328 ;; The expression in string form. 328 ;; The expression in string form.
329 (str (bytevector->string 329 (str (iconv:bytevector->string
330 (get-bytevector-n in (- end start)) 330 (get-bytevector-n in (- end start))
331 (port-encoding in))) 331 (port-encoding in)))
332 (post-bv (get-bytevector-all in)) 332 (post-bv (get-bytevector-all in))
diff --git a/nix/local.mk b/nix/local.mk
index eb70d266fbd..9e0c457becb 100644
--- a/nix/local.mk
+++ b/nix/local.mk
@@ -190,7 +190,7 @@ nodist_systemdservice_DATA = etc/guix-daemon.service etc/guix-publish.service
190etc/guix-%.service: etc/guix-%.service.in \ 190etc/guix-%.service: etc/guix-%.service.in \
191 $(top_builddir)/config.status 191 $(top_builddir)/config.status
192 $(AM_V_GEN)$(MKDIR_P) "`dirname $@`"; \ 192 $(AM_V_GEN)$(MKDIR_P) "`dirname $@`"; \
193 $(SED) -e 's|@''bindir''@|$(bindir)|' < \ 193 $(SED) -e 's|@''localstatedir''@|$(localstatedir)|' < \
194 "$<" > "$@.tmp"; \ 194 "$<" > "$@.tmp"; \
195 mv "$@.tmp" "$@" 195 mv "$@.tmp" "$@"
196 196
@@ -201,7 +201,7 @@ nodist_upstartjob_DATA = etc/guix-daemon.conf etc/guix-publish.conf
201etc/guix-%.conf: etc/guix-%.conf.in \ 201etc/guix-%.conf: etc/guix-%.conf.in \
202 $(top_builddir)/config.status 202 $(top_builddir)/config.status
203 $(AM_V_GEN)$(MKDIR_P) "`dirname $@`"; \ 203 $(AM_V_GEN)$(MKDIR_P) "`dirname $@`"; \
204 $(SED) -e 's|@''bindir''@|$(bindir)|' < \ 204 $(SED) -e 's|@''localstatedir''@|$(localstatedir)|' < \
205 "$<" > "$@.tmp"; \ 205 "$<" > "$@.tmp"; \
206 mv "$@.tmp" "$@" 206 mv "$@.tmp" "$@"
207 207
diff --git a/nix/scripts/list-runtime-roots.in b/nix/scripts/list-runtime-roots.in
index 993eb169c17..a6938087b5f 100644
--- a/nix/scripts/list-runtime-roots.in
+++ b/nix/scripts/list-runtime-roots.in
@@ -1,7 +1,7 @@
1#!@GUILE@ -ds 1#!@GUILE@ -ds
2!# 2!#
3;;; GNU Guix --- Functional package management for GNU 3;;; GNU Guix --- Functional package management for GNU
4;;; Copyright © 2012, 2013, 2014 Ludovic Courtès <ludo@gnu.org> 4;;; Copyright © 2012, 2013, 2014, 2017 Ludovic Courtès <ludo@gnu.org>
5;;; 5;;;
6;;; This file is part of GNU Guix. 6;;; This file is part of GNU Guix.
7;;; 7;;;
@@ -133,6 +133,9 @@ or the empty list."
133 (define %file-rx 133 (define %file-rx
134 (make-regexp "^n/(.*)$")) 134 (make-regexp "^n/(.*)$"))
135 135
136 ;; We're going to read it all.
137 (setvbuf pipe _IOFBF 16384)
138
136 (let loop ((line (read-line pipe)) 139 (let loop ((line (read-line pipe))
137 (roots '())) 140 (roots '()))
138 (cond ((eof-object? line) 141 (cond ((eof-object? line)
diff --git a/tests/cran.scm b/tests/cran.scm
index f92934c4685..c162d45d8af 100644
--- a/tests/cran.scm
+++ b/tests/cran.scm
@@ -126,7 +126,8 @@ Date/Publication: 2015-07-14 14:15:16
126 "This is a long description spanning multiple lines: \ 126 "This is a long description spanning multiple lines: \
127and it could confuse the parser that there is a colon : on the \ 127and it could confuse the parser that there is a colon : on the \
128lines. And: this line continues the description.") 128lines. And: this line continues the description.")
129 ('license 'gpl3+))) 129 ('license 'gpl3+))
130 #t)
130 (x 131 (x
131 (begin 132 (begin
132 (format #t "~s\n" x) 133 (format #t "~s\n" x)
diff --git a/tests/hash.scm b/tests/hash.scm
index 80395499716..86501dca2d4 100644
--- a/tests/hash.scm
+++ b/tests/hash.scm
@@ -1,5 +1,5 @@
1;;; GNU Guix --- Functional package management for GNU 1;;; GNU Guix --- Functional package management for GNU
2;;; Copyright © 2013, 2014 Ludovic Courtès <ludo@gnu.org> 2;;; Copyright © 2013, 2014, 2017 Ludovic Courtès <ludo@gnu.org>
3;;; 3;;;
4;;; This file is part of GNU Guix. 4;;; This file is part of GNU Guix.
5;;; 5;;;
@@ -67,6 +67,7 @@ In Guile <= 2.0.9, CBIPs were always fully buffered, so the
67 (let-values (((port get) 67 (let-values (((port get)
68 (open-sha256-port))) 68 (open-sha256-port)))
69 (put-bytevector port (string->utf8 "hello world")) 69 (put-bytevector port (string->utf8 "hello world"))
70 (force-output port)
70 (get))) 71 (get)))
71 72
72(test-assert "port-sha256" 73(test-assert "port-sha256"
diff --git a/tests/nar.scm b/tests/nar.scm
index 4f4b304b1dd..28ead8b7831 100644
--- a/tests/nar.scm
+++ b/tests/nar.scm
@@ -1,5 +1,5 @@
1;;; GNU Guix --- Functional package management for GNU 1;;; GNU Guix --- Functional package management for GNU
2;;; Copyright © 2012, 2013, 2014, 2015, 2016 Ludovic Courtès <ludo@gnu.org> 2;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017 Ludovic Courtès <ludo@gnu.org>
3;;; 3;;;
4;;; This file is part of GNU Guix. 4;;; This file is part of GNU Guix.
5;;; 5;;;
@@ -186,6 +186,7 @@
186 (lambda () 186 (lambda ()
187 (let-values (((port get-hash) (open-sha256-port))) 187 (let-values (((port get-hash) (open-sha256-port)))
188 (write-file input port) 188 (write-file input port)
189 (close-port port)
189 (get-hash))) 190 (get-hash)))
190 (lambda () 191 (lambda ()
191 (rm-rf input))))) 192 (rm-rf input)))))
diff --git a/tests/ui.scm b/tests/ui.scm
index 058207e8b95..cfe417d4973 100644
--- a/tests/ui.scm
+++ b/tests/ui.scm
@@ -248,9 +248,12 @@ Second line" 24))
248 (lambda () 248 (lambda ()
249 (show-manifest-transaction store m t))))) 249 (show-manifest-transaction store m t)))))
250 (string-match "guile\t1.8.8 -> 2.0.9" 250 (string-match "guile\t1.8.8 -> 2.0.9"
251 (with-fluids ((%default-port-encoding "ISO-8859-1")) 251 (with-error-to-string
252 (with-error-to-string 252 (lambda ()
253 (lambda () 253 ;; In Guile 2.2, %DEFAULT-PORT-ENCODING doesn't
254 (show-manifest-transaction store m t))))))))) 254 ;; influence the encoding of string ports.
255 (set-port-encoding! (current-error-port)
256 "ISO-8859-1")
257 (show-manifest-transaction store m t))))))))
255 258
256(test-end "ui") 259(test-end "ui")