summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.dir-locals.el1
-rw-r--r--Makefile.am2
-rw-r--r--build-aux/hydra/gnu-system.scm36
-rw-r--r--doc/guix.texi88
-rwxr-xr-xetc/guix-install.sh1
-rw-r--r--gnu/build/vm.scm7
-rw-r--r--gnu/ci.scm22
-rw-r--r--gnu/local.mk14
-rw-r--r--gnu/machine/ssh.scm9
-rw-r--r--gnu/packages/admin.scm126
-rw-r--r--gnu/packages/algebra.scm4
-rw-r--r--gnu/packages/android.scm11
-rw-r--r--gnu/packages/assembly.scm2
-rw-r--r--gnu/packages/astronomy.scm4
-rw-r--r--gnu/packages/audio.scm50
-rw-r--r--gnu/packages/aux-files/emacs/guix-emacs.el9
-rw-r--r--gnu/packages/benchmark.scm1
-rw-r--r--gnu/packages/bioconductor.scm221
-rw-r--r--gnu/packages/bioinformatics.scm1
-rw-r--r--gnu/packages/busybox.scm4
-rw-r--r--gnu/packages/c.scm68
-rw-r--r--gnu/packages/calcurse.scm4
-rw-r--r--gnu/packages/cdrom.scm14
-rw-r--r--gnu/packages/check.scm6
-rw-r--r--gnu/packages/compression.scm2
-rw-r--r--gnu/packages/cpp.scm39
-rw-r--r--gnu/packages/cran.scm72
-rw-r--r--gnu/packages/databases.scm1
-rw-r--r--gnu/packages/dc.scm6
-rw-r--r--gnu/packages/debug.scm2
-rw-r--r--gnu/packages/dictionaries.scm4
-rw-r--r--gnu/packages/display-managers.scm18
-rw-r--r--gnu/packages/dns.scm4
-rw-r--r--gnu/packages/education.scm25
-rw-r--r--gnu/packages/efi.scm10
-rw-r--r--gnu/packages/emacs-xyz.scm191
-rw-r--r--gnu/packages/emacs.scm8
-rw-r--r--gnu/packages/emulators.scm34
-rw-r--r--gnu/packages/freedesktop.scm14
-rw-r--r--gnu/packages/games.scm91
-rw-r--r--gnu/packages/gnome.scm289
-rw-r--r--gnu/packages/gnupg.scm8
-rw-r--r--gnu/packages/gnuzilla.scm24
-rw-r--r--gnu/packages/graph.scm1
-rw-r--r--gnu/packages/gtk.scm6
-rw-r--r--gnu/packages/guile-xyz.scm10
-rw-r--r--gnu/packages/image-processing.scm4
-rw-r--r--gnu/packages/image.scm48
-rw-r--r--gnu/packages/irc.scm4
-rw-r--r--gnu/packages/jupyter.scm3
-rw-r--r--gnu/packages/kde.scm18
-rw-r--r--gnu/packages/less.scm16
-rw-r--r--gnu/packages/linux.scm43
-rw-r--r--gnu/packages/lsof.scm9
-rw-r--r--gnu/packages/machine-learning.scm1
-rw-r--r--gnu/packages/mail.scm10
-rw-r--r--gnu/packages/mastodon.scm18
-rw-r--r--gnu/packages/maths.scm8
-rw-r--r--gnu/packages/messaging.scm80
-rw-r--r--gnu/packages/microcom.scm12
-rw-r--r--gnu/packages/mpd.scm8
-rw-r--r--gnu/packages/mpi.scm2
-rw-r--r--gnu/packages/nano.scm4
-rw-r--r--gnu/packages/ncdu.scm4
-rw-r--r--gnu/packages/networking.scm161
-rw-r--r--gnu/packages/ocaml.scm299
-rw-r--r--gnu/packages/parallel.scm1
-rw-r--r--gnu/packages/password-utils.scm23
-rw-r--r--gnu/packages/patches/fcgi-2.4.0-gcc44-fixes.patch14
-rw-r--r--gnu/packages/patches/fcgi-2.4.0-poll.patch89
-rw-r--r--gnu/packages/patches/handbrake-opt-in-nvenc.patch14
-rw-r--r--gnu/packages/patches/icecat-gnuzilla-fixes.patch546
-rw-r--r--gnu/packages/patches/icecat-makeicecat.patch10
-rw-r--r--gnu/packages/patches/ocaml-piqilib-Update-base64.patch46
-rw-r--r--gnu/packages/patches/openmpi-mtl-priorities.patch (renamed from gnu/packages/patches/openmpi-psm2-priority.patch)14
-rw-r--r--gnu/packages/patches/psm-disable-memory-stats.patch62
-rw-r--r--gnu/packages/patches/psm-repro.patch42
-rw-r--r--gnu/packages/patches/pugixml-versioned-libdir.patch61
-rw-r--r--gnu/packages/patches/retroarch-disable-online-updater.patch41
-rw-r--r--gnu/packages/patches/thermald-make-int-max32-visible.patch24
-rw-r--r--gnu/packages/patches/xinetd-CVE-2013-4342.patch36
-rw-r--r--gnu/packages/patches/xinetd-fix-fd-leak.patch26
-rw-r--r--gnu/packages/perl-compression.scm17
-rw-r--r--gnu/packages/perl.scm4
-rw-r--r--gnu/packages/php.scm91
-rw-r--r--gnu/packages/plotutils.scm4
-rw-r--r--gnu/packages/python-crypto.scm8
-rw-r--r--gnu/packages/python-science.scm287
-rw-r--r--gnu/packages/python-xyz.scm294
-rw-r--r--gnu/packages/security-token.scm4
-rw-r--r--gnu/packages/serialization.scm36
-rw-r--r--gnu/packages/statistics.scm35
-rw-r--r--gnu/packages/sync.scm5
-rw-r--r--gnu/packages/telephony.scm87
-rw-r--r--gnu/packages/time.scm4
-rw-r--r--gnu/packages/tmux.scm4
-rw-r--r--gnu/packages/video.scm42
-rw-r--r--gnu/packages/vpn.scm4
-rw-r--r--gnu/packages/web.scm39
-rw-r--r--gnu/packages/xdisorg.scm12
-rw-r--r--gnu/packages/xfce.scm4
-rw-r--r--gnu/packages/xml.scm12
-rw-r--r--gnu/packages/xorg.scm19
-rw-r--r--gnu/services/desktop.scm77
-rw-r--r--gnu/services/ssh.scm6
-rw-r--r--gnu/system.scm15
-rw-r--r--gnu/system/install.scm11
-rw-r--r--gnu/system/vm.scm18
-rw-r--r--guix/build-system/linux-module.scm3
-rw-r--r--guix/build-system/qt.scm295
-rw-r--r--guix/build/emacs-build-system.scm39
-rw-r--r--guix/build/qt-build-system.scm109
-rw-r--r--guix/build/syscalls.scm4
-rw-r--r--guix/gexp.scm7
-rw-r--r--guix/import/opam.scm16
-rw-r--r--guix/lint.scm5
-rw-r--r--guix/scripts/offload.scm30
-rw-r--r--guix/scripts/package.scm6
-rw-r--r--guix/scripts/pull.scm73
-rwxr-xr-xguix/scripts/substitute.scm16
-rw-r--r--guix/scripts/system.scm15
-rw-r--r--guix/ssh.scm69
-rw-r--r--guix/ui.scm26
-rw-r--r--nix/libutil/util.cc5
-rw-r--r--tests/gexp.scm8
-rw-r--r--tests/guix-package.sh4
-rw-r--r--tests/lzlib.scm2
127 files changed, 2793 insertions, 2443 deletions
diff --git a/.dir-locals.el b/.dir-locals.el
index e4947f5f10..5ce3fbc9a5 100644
--- a/.dir-locals.el
+++ b/.dir-locals.el
@@ -36,6 +36,7 @@
(eval . (put 'with-directory-excursion 'scheme-indent-function 1))
(eval . (put 'with-file-lock 'scheme-indent-function 1))
(eval . (put 'with-file-lock/no-wait 'scheme-indent-function 1))
+ (eval . (put 'with-profile-lock 'scheme-indent-function 1))
(eval . (put 'package 'scheme-indent-function 0))
(eval . (put 'origin 'scheme-indent-function 0))
diff --git a/Makefile.am b/Makefile.am
index b3f03d44c8..97f1ff514b 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -132,6 +132,7 @@ MODULES = \
guix/build-system/perl.scm \
guix/build-system/python.scm \
guix/build-system/ocaml.scm \
+ guix/build-system/qt.scm \
guix/build-system/waf.scm \
guix/build-system/r.scm \
guix/build-system/rakudo.scm \
@@ -178,6 +179,7 @@ MODULES = \
guix/build/perl-build-system.scm \
guix/build/python-build-system.scm \
guix/build/ocaml-build-system.scm \
+ guix/build/qt-build-system.scm \
guix/build/r-build-system.scm \
guix/build/rakudo-build-system.scm \
guix/build/ruby-build-system.scm \
diff --git a/build-aux/hydra/gnu-system.scm b/build-aux/hydra/gnu-system.scm
index 775bbd9db2..f54302cf63 100644
--- a/build-aux/hydra/gnu-system.scm
+++ b/build-aux/hydra/gnu-system.scm
@@ -1,7 +1,7 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017, 2018 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2017 Jan Nieuwenhuizen <janneke@gnu.org>
-;;; Copyright © 2018 Clément Lassieur <clement@lassieur.org>
+;;; Copyright © 2018, 2019 Clément Lassieur <clement@lassieur.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -34,16 +34,22 @@
(setvbuf (current-error-port) _IOLBF)
(set-current-output-port (current-error-port))
+(define (find-current-checkout arguments)
+ "Find the first checkout of ARGUMENTS that provided the current file.
+Return #f if no such checkout is found."
+ (let ((current-root
+ (canonicalize-path
+ (string-append (dirname (current-filename)) "/../.."))))
+ (find (lambda (argument)
+ (and=> (assq-ref argument 'file-name)
+ (lambda (name)
+ (string=? name current-root)))) arguments)))
+
(define (hydra-jobs store arguments)
"Return a list of jobs where each job is a NAME/THUNK pair."
+
(define checkout
- ;; Extract metadata about the 'guix' checkout. Its key in ARGUMENTS may
- ;; vary, so pick up the first one that's neither 'subset' nor 'systems'.
- (any (match-lambda
- ((key . value)
- (and (not (memq key '(systems subset)))
- value)))
- arguments))
+ (find-current-checkout arguments))
(define commit
(assq-ref checkout 'revision))
@@ -70,9 +76,11 @@
((name . fields)
;; Hydra expects a thunk, so here it is.
(cons name (lambda () fields))))
- (inferior-eval-with-store inferior store
- `(lambda (store)
- (map (match-lambda
- ((name . thunk)
- (cons name (thunk))))
- (hydra-jobs store ',arguments)))))))
+ (inferior-eval-with-store
+ inferior store
+ `(lambda (store)
+ (map (match-lambda
+ ((name . thunk)
+ (cons name (thunk))))
+ (hydra-jobs store '((superior-guix-checkout . ,checkout)
+ ,@arguments))))))))
diff --git a/doc/guix.texi b/doc/guix.texi
index d188f06a43..7d50f31d20 100644
--- a/doc/guix.texi
+++ b/doc/guix.texi
@@ -47,7 +47,7 @@ Copyright @copyright{} 2017 Thomas Danckaert@*
Copyright @copyright{} 2017 humanitiesNerd@*
Copyright @copyright{} 2017 Christopher Allan Webber@*
Copyright @copyright{} 2017, 2018 Marius Bakke@*
-Copyright @copyright{} 2017 Hartmut Goebel@*
+Copyright @copyright{} 2017, 2019 Hartmut Goebel@*
Copyright @copyright{} 2017, 2019 Maxim Cournoyer@*
Copyright @copyright{} 2017, 2018, 2019 Tobias Geerinckx-Rice@*
Copyright @copyright{} 2017 George Clemmer@*
@@ -6410,6 +6410,25 @@ passes flags specified by the @code{#:make-maker-flags} or
Which Perl package is used can be specified with @code{#:perl}.
@end defvr
+@defvr {Scheme Variable} qt-build-system
+This variable is exported by @code{(guix build-system qt)}. It
+is intended for use with applications using Qt or KDE.
+
+This build system adds the phase @code{qt-wrap} to the ones defined by
+@var{cmake-build-system}, after the @code{install} phase.
+
+This phase searches for Qt5 plugin paths, QML paths and some XDG in the inputs
+and output. In case some path is found, all programs in the output's
+@file{bin/}, @file{sbin/}, @file{libexec/} and @file{lib/libexec/} directories
+are wrapped in scripts defining the necessary environment variables.
+
+It is possible to exclude specific package outputs from that wrapping process
+by listing their names in the @code{#:qt-wrap-excluded-outputs} parameter.
+This is useful when an output is known not to contain any Qt binaries, and
+where wrapping would gratuitously add a dependency of that output on Qt, KDE,
+or such.
+@end defvr
+
@defvr {Scheme Variable} r-build-system
This variable is exported by @code{(guix build-system r)}. It
implements the build procedure used by @uref{https://r-project.org, R}
@@ -7684,10 +7703,13 @@ content is directly passed as a string.
@deffn {Scheme Procedure} local-file @var{file} [@var{name}] @
[#:recursive? #f] [#:select? (const #t)]
-Return an object representing local file @var{file} to add to the store; this
-object can be used in a gexp. If @var{file} is a relative file name, it is looked
-up relative to the source file where this form appears. @var{file} will be added to
-the store under @var{name}--by default the base name of @var{file}.
+Return an object representing local file @var{file} to add to the store;
+this object can be used in a gexp. If @var{file} is a literal string
+denoting a relative file name, it is looked up relative to the source
+file where it appears; if @var{file} is not a literal string, it is
+looked up relative to the current working directory at run time.
+@var{file} will be added to the store under @var{name}--by default the
+base name of @var{file}.
When @var{recursive?} is true, the contents of @var{file} are added recursively; if @var{file}
designates a flat file and @var{recursive?} is true, its contents are added, and its
@@ -15588,6 +15610,13 @@ capabilities to ordinary users. For example, an ordinary user can be granted
the capability to suspend the system if the user is logged in locally.
@end deffn
+@defvr {Scheme Variable} polkit-wheel-service
+Service that adds the @code{wheel} group as admins to the Polkit
+service. This makes it so that users in the @code{wheel} group are queried
+for their own passwords when performing administrative actions instead of
+@code{root}'s, similar to the behaviour used by @code{sudo}.
+@end defvr
+
@defvr {Scheme Variable} upower-service-type
Service that runs @uref{https://upower.freedesktop.org/, @command{upowerd}}, a
system-wide monitor for power consumption and battery levels, with the given
@@ -15724,6 +15753,41 @@ bluetooth keyboard or mouse.
Users need to be in the @code{lp} group to access the D-Bus service.
@end deffn
+@defvr {Scheme Variable} gnome-keyring-service-type
+This is the type of the service that adds the
+@uref{https://wiki.gnome.org/Projects/GnomeKeyring, GNOME Keyring}. Its
+value is a @code{gnome-keyring-configuration} object (see below.)
+
+This service adds the @code{gnome-keyring} package to the system profile
+and extends PAM with entries using @code{pam_gnome_keyring.so}, unlocking
+a user's login keyring when they log in or setting its password with passwd.
+@end defvr
+
+@deftp {Data Type} gnome-keyring-configuration
+Configuration record for the GNOME Keyring service.
+
+@table @asis
+@item @code{keyring} (default: @code{gnome-keyring})
+The GNOME keyring package to use.
+
+@item @code{pam-services}
+A list of @code{(@var{service} . @var{kind})} pairs denoting PAM
+services to extend, where @var{service} is the name of an existing
+service to extend and @var{kind} is one of @code{login} or
+@code{passwd}.
+
+If @code{login} is given, it adds an optional
+@code{pam_gnome_keyring.so} to the auth block without arguments and to
+the session block with @code{auto_start}. If @code{passwd} is given, it
+adds an optional @code{pam_gnome_keyring.so} to the password block
+without arguments.
+
+By default, this field contains ``gdm-password'' with the value @code{login}
+and ``passwd'' is with the value @code{passwd}.
+@end table
+@end deftp
+
+
@node Sound Services
@subsection Sound Services
@@ -20450,7 +20514,7 @@ A simple services setup for nginx with php can look like this:
(server-name '("example.com"))
(root "/srv/http/")
(locations
- (list (nginx-php-fpm-location)))
+ (list (nginx-php-location)))
(listen '("80"))
(ssl-certificate #f)
(ssl-certificate-key #f)))
@@ -26383,6 +26447,18 @@ keyring.
@item @code{identity} (default: @code{#f})
If specified, the path to the SSH private key to use to authenticate with the
remote host.
+
+@item @code{host-key} (default: @code{#f})
+This should be the SSH host key of the machine, which looks like this:
+
+@example
+ssh-ed25519 AAAAC3Nz@dots{} root@@example.org
+@end example
+
+When @code{host-key} is @code{#f}, the server is authenticated against
+the @file{~/.ssh/known_hosts} file, just like the OpenSSH @command{ssh}
+client does.
+
@end table
@end deftp
diff --git a/etc/guix-install.sh b/etc/guix-install.sh
index bd3ab901ad..111e25fbcb 100755
--- a/etc/guix-install.sh
+++ b/etc/guix-install.sh
@@ -439,6 +439,7 @@ main()
_msg "${INF}system is ${ARCH_OS}"
+ umask 0022
tmp_path="$(mktemp -t -d guix.XXX)"
guix_get_bin_list "${GNU_URL}"
diff --git a/gnu/build/vm.scm b/gnu/build/vm.scm
index 6f920aec9e..89d685b352 100644
--- a/gnu/build/vm.scm
+++ b/gnu/build/vm.scm
@@ -70,9 +70,10 @@
(let ((cpu (substring system 0
(string-index system #\-))))
(string-append "qemu-system-"
- (if (string-match "^i[3456]86$" cpu)
- "i386"
- cpu))))
+ (cond
+ ((string-match "^i[3456]86$" cpu) "i386")
+ ((string-match "armhf" cpu) "arm")
+ (else cpu)))))
(define* (load-in-linux-vm builder
#:key
diff --git a/gnu/ci.scm b/gnu/ci.scm
index f24049e772..d6eb2d018f 100644
--- a/gnu/ci.scm
+++ b/gnu/ci.scm
@@ -1,7 +1,7 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2017 Jan Nieuwenhuizen <janneke@gnu.org>
-;;; Copyright © 2018 Clément Lassieur <clement@lassieur.org>
+;;; Copyright © 2018, 2019 Clément Lassieur <clement@lassieur.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -374,6 +374,17 @@ valid."
load-manifest)
manifests))))
+(define (find-current-checkout arguments)
+ "Find the first checkout of ARGUMENTS that provided the current file.
+Return #f if no such checkout is found."
+ (let ((current-root
+ (canonicalize-path
+ (string-append (dirname (current-filename)) "/.."))))
+ (find (lambda (argument)
+ (and=> (assq-ref argument 'file-name)
+ (lambda (name)
+ (string=? name current-root)))) arguments)))
+
;;;
;;; Hydra entry point.
@@ -396,13 +407,8 @@ valid."
((? string? str) (call-with-input-string str read))))
(define checkout
- ;; Extract metadata about the 'guix' checkout. Its key in ARGUMENTS may
- ;; vary, so pick up the first one that's neither 'subset' nor 'systems'.
- (any (match-lambda
- ((key . value)
- (and (not (memq key '(systems subset)))
- value)))
- arguments))
+ (or (find-current-checkout arguments)
+ (assq-ref arguments 'superior-guix-checkout)))
(define commit
(assq-ref checkout 'revision))
diff --git a/gnu/local.mk b/gnu/local.mk
index 0aa069dd43..a76a0cdbf4 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -407,6 +407,7 @@ GNU_SYSTEM_MODULES = \
%D%/packages/python-check.scm \
%D%/packages/python-compression.scm \
%D%/packages/python-crypto.scm \
+ %D%/packages/python-science.scm \
%D%/packages/python-web.scm \
%D%/packages/python-xyz.scm \
%D%/packages/toys.scm \
@@ -825,8 +826,6 @@ dist_patch_DATA = \
%D%/packages/patches/fasthenry-spSolve.patch \
%D%/packages/patches/fasthenry-spFactor.patch \
%D%/packages/patches/fbreader-curl-7.62.patch \
- %D%/packages/patches/fcgi-2.4.0-gcc44-fixes.patch \
- %D%/packages/patches/fcgi-2.4.0-poll.patch \
%D%/packages/patches/feh-fix-tests-for-imlib2-1.6.patch \
%D%/packages/patches/fifo-map-fix-flags-for-gcc.patch \
%D%/packages/patches/fifo-map-remove-catch.hpp.patch \
@@ -962,7 +961,6 @@ dist_patch_DATA = \
%D%/packages/patches/gtkglext-disable-disable-deprecated.patch \
%D%/packages/patches/gtksourceview-2-add-default-directory.patch \
%D%/packages/patches/gzdoom-search-in-installed-share.patch \
- %D%/packages/patches/handbrake-opt-in-nvenc.patch \
%D%/packages/patches/haskell-mode-unused-variables.patch \
%D%/packages/patches/haskell-mode-make-check.patch \
%D%/packages/patches/hdf4-architectures.patch \
@@ -985,7 +983,6 @@ dist_patch_DATA = \
%D%/packages/patches/hurd-fix-eth-multiplexer-dependency.patch \
%D%/packages/patches/hplip-remove-imageprocessor.patch \
%D%/packages/patches/hydra-disable-darcs-test.patch \
- %D%/packages/patches/icecat-gnuzilla-fixes.patch \
%D%/packages/patches/icecat-makeicecat.patch \
%D%/packages/patches/icecat-avoid-bundled-libraries.patch \
%D%/packages/patches/icecat-use-system-graphite2+harfbuzz.patch \
@@ -1197,7 +1194,6 @@ dist_patch_DATA = \
%D%/packages/patches/ocaml-dose3-Fix-for-ocaml-4.06.patch \
%D%/packages/patches/ocaml-dose3-dont-make-printconf.patch \
%D%/packages/patches/ocaml-dose3-Install-mli-cmx-etc.patch \
- %D%/packages/patches/ocaml-piqilib-Update-base64.patch \
%D%/packages/patches/omake-fix-non-determinism.patch \
%D%/packages/patches/ola-readdir-r.patch \
%D%/packages/patches/openbabel-fix-crash-on-nwchem-output.patch \
@@ -1205,7 +1201,7 @@ dist_patch_DATA = \
%D%/packages/patches/opencv-rgbd-aarch64-test-fix.patch \
%D%/packages/patches/openfoam-4.1-cleanup.patch \
%D%/packages/patches/openjdk-10-idlj-reproducibility.patch \
- %D%/packages/patches/openmpi-psm2-priority.patch \
+ %D%/packages/patches/openmpi-mtl-priorities.patch \
%D%/packages/patches/openocd-nrf52.patch \
%D%/packages/patches/opensmtpd-fix-crash.patch \
%D%/packages/patches/openssl-runpath.patch \
@@ -1262,9 +1258,9 @@ dist_patch_DATA = \
%D%/packages/patches/procmail-CVE-2017-16844.patch \
%D%/packages/patches/proot-test-fhs.patch \
%D%/packages/patches/psm-arch.patch \
+ %D%/packages/patches/psm-disable-memory-stats.patch \
%D%/packages/patches/psm-ldflags.patch \
%D%/packages/patches/psm-repro.patch \
- %D%/packages/patches/pugixml-versioned-libdir.patch \
%D%/packages/patches/pulseaudio-fix-mult-test.patch \
%D%/packages/patches/pulseaudio-longer-test-timeout.patch \
%D%/packages/patches/pybugz-encode-error.patch \
@@ -1332,6 +1328,7 @@ dist_patch_DATA = \
%D%/packages/patches/rpcbind-CVE-2017-8779.patch \
%D%/packages/patches/rtags-separate-rct.patch \
%D%/packages/patches/racket-store-checksum-override.patch \
+ %D%/packages/patches/retroarch-disable-online-updater.patch \
%D%/packages/patches/ruby-rubygems-276-for-ruby24.patch \
%D%/packages/patches/ruby-rack-ignore-failing-test.patch \
%D%/packages/patches/ruby-safe-yaml-add-require-time.patch \
@@ -1396,7 +1393,6 @@ dist_patch_DATA = \
%D%/packages/patches/texi2html-document-encoding.patch \
%D%/packages/patches/texi2html-i18n.patch \
%D%/packages/patches/thefuck-test-environ.patch \
- %D%/packages/patches/thermald-make-int-max32-visible.patch \
%D%/packages/patches/tidy-CVE-2015-5522+5523.patch \
%D%/packages/patches/tinyxml-use-stl.patch \
%D%/packages/patches/tipp10-fix-compiling.patch \
@@ -1469,8 +1465,6 @@ dist_patch_DATA = \
%D%/packages/patches/xf86-video-voodoo-pcitag.patch \
%D%/packages/patches/xfce4-panel-plugins.patch \
%D%/packages/patches/xfce4-settings-defaults.patch \
- %D%/packages/patches/xinetd-fix-fd-leak.patch \
- %D%/packages/patches/xinetd-CVE-2013-4342.patch \
%D%/packages/patches/xsane-fix-memory-leak.patch \
%D%/packages/patches/xsane-fix-pdf-floats.patch \
%D%/packages/patches/xsane-fix-snprintf-buffer-length.patch \
diff --git a/gnu/machine/ssh.scm b/gnu/machine/ssh.scm
index 6e3ed0e092..23ae917b79 100644
--- a/gnu/machine/ssh.scm
+++ b/gnu/machine/ssh.scm
@@ -54,6 +54,7 @@
machine-ssh-configuration-authorize?
machine-ssh-configuration-port
machine-ssh-configuration-user
+ machine-ssh-configuration-host-key
machine-ssh-configuration-session))
;;; Commentary:
@@ -87,6 +88,8 @@
(identity machine-ssh-configuration-identity ; path to a private key
(default #f))
(session machine-ssh-configuration-session ; session
+ (default #f))
+ (host-key machine-ssh-configuration-host-key ; #f | string
(default #f)))
(define (machine-ssh-session machine)
@@ -98,11 +101,13 @@ one from the configuration's parameters if one was not provided."
(let ((host-name (machine-ssh-configuration-host-name config))
(user (machine-ssh-configuration-user config))
(port (machine-ssh-configuration-port config))
- (identity (machine-ssh-configuration-identity config)))
+ (identity (machine-ssh-configuration-identity config))
+ (host-key (machine-ssh-configuration-host-key config)))
(open-ssh-session host-name
#:user user
#:port port
- #:identity identity)))))
+ #:identity identity
+ #:host-key host-key)))))
;;;
diff --git a/gnu/packages/admin.scm b/gnu/packages/admin.scm
index d838c81717..6fbceb4421 100644
--- a/gnu/packages/admin.scm
+++ b/gnu/packages/admin.scm
@@ -1442,14 +1442,14 @@ command.")
(define-public hostapd
(package
(name "hostapd")
- (version "2.8")
+ (version "2.9")
(source (origin
(method url-fetch)
(uri (string-append "https://w1.fi/releases/hostapd-" version
".tar.gz"))
(sha256
(base32
- "1c74rrazkhy4lr7pwgwa2igzca7h9l4brrs7672kiv7fwqmm57wj"))))
+ "1mrbvg4v7vm7mknf0n29mf88k3s4a4qj6r4d51wq8hmjj1m7s7c8"))))
(build-system gnu-build-system)
(arguments
'(#:phases
@@ -1575,7 +1575,7 @@ module slots, and the list of I/O ports (e.g. serial, parallel, USB).")
(define-public acpica
(package
(name "acpica")
- (version "20190816")
+ (version "20191018")
(source (origin
(method url-fetch)
(uri (string-append
@@ -1583,7 +1583,7 @@ module slots, and the list of I/O ports (e.g. serial, parallel, USB).")
version ".tar.gz"))
(sha256
(base32
- "0lipy3jwl498lvgwzj6xcvmg61myl7hhilpallh1cf3ppgrq13l8"))))
+ "0k6xr9v46pnw8kl7jh23zfafs2vq3gk2sgkmjdf9a8jx8n3aifgd"))))
(build-system gnu-build-system)
(native-inputs `(("flex" ,flex)
("bison" ,bison)))
@@ -2517,7 +2517,7 @@ produce uniform output across heterogeneous networks.")
(define-public cbatticon
(package
(name "cbatticon")
- (version "1.6.9")
+ (version "1.6.10")
(source
(origin
(method git-fetch)
@@ -2525,7 +2525,7 @@ produce uniform output across heterogeneous networks.")
(url "https://github.com/valr/cbatticon.git")
(commit version)))
(sha256
- (base32 "0kw09d678sd3m18fmi4380sl4a2m5lkfmq0kps16cdmq7z80rvaf"))
+ (base32 "0ivm2dzhsa9ir25ry418r2qg2llby9j7a6m3arbvq5c3kaj8m9jr"))
(file-name (git-file-name name version))))
(build-system gnu-build-system)
(arguments
@@ -2629,11 +2629,7 @@ Kerberos and Heimdal and FAST is supported with recent MIT Kerberos.")
;; clause requiring us to give all recipients a copy.
(license license:gpl1+)))
-(define-public sunxi-tools
- (package
- (name "sunxi-tools")
- (version "1.4.2")
- (source
+(define (sunxi-tools-source version)
(origin
(method git-fetch)
(uri (git-reference
@@ -2648,14 +2644,49 @@ Kerberos and Heimdal and FAST is supported with recent MIT Kerberos.")
'(begin
(delete-file-recursively "bin")
#t))
- (file-name (git-file-name name version))))
+ (file-name (git-file-name "sunxi-tools" version))))
+
+(define sunxi-target-tools
+ (package
+ (name "sunxi-target-tools")
+ (version "1.4.2")
+ (build-system gnu-build-system)
+ (source
+ (sunxi-tools-source version))
+ (arguments
+ `(#:system "armhf-linux"
+ #:tests? #f
+ #:make-flags (list (string-append "PREFIX="
+ (assoc-ref %outputs "out"))
+ (string-append "CROSS_COMPILE=")
+ "CC=gcc")
+ #:phases
+ (modify-phases %standard-phases
+ (delete 'configure)
+ (replace 'build
+ (lambda* (#:key make-flags #:allow-other-keys)
+ (apply invoke "make" "target-tools" make-flags)))
+ (replace 'install
+ (lambda* (#:key make-flags #:allow-other-keys)
+ (apply invoke "make" "install-target-tools"
+ make-flags))))))
+ (home-page "https://github.com/linux-sunxi/sunxi-tools")
+ (synopsis "Hardware management tools for Allwinner computers")
+ (description "This package contains tools for Allwinner devices:
+@enumerate
+@item @command{sunxi-meminfo}: Prints memory bus settings.
+@end enumerate")
+ (license license:gpl2+)))
+
+(define-public sunxi-tools
+ (package
+ (name "sunxi-tools")
+ (version "1.4.2")
+ (source
+ (sunxi-tools-source version))
(native-inputs
- `(("pkg-config" ,pkg-config)
- ("cross-gcc" ,(cross-gcc "arm-linux-gnueabihf"
- #:xbinutils (cross-binutils "arm-linux-gnueabihf")
- #:libc (cross-libc "arm-linux-gnueabihf")))
- ("cross-libc" ,(cross-libc "arm-linux-gnueabihf")) ; header files
- ("cross-libc-static" ,(cross-libc "arm-linux-gnueabihf") "static")))
+ `(("sunxi-target-tools" ,sunxi-target-tools)
+ ("pkg-config" ,pkg-config)))
(inputs
`(("libusb" ,libusb)))
(build-system gnu-build-system)
@@ -2663,50 +2694,22 @@ Kerberos and Heimdal and FAST is supported with recent MIT Kerberos.")
`(#:tests? #f ; no tests exist
#:make-flags (list (string-append "PREFIX="
(assoc-ref %outputs "out"))
- (string-append "CROSS_COMPILE="
- "arm-linux-gnueabihf-")
+ (string-append "CROSS_COMPILE=disabled")
"CC=gcc")
#:phases
(modify-phases %standard-phases
(delete 'configure)
- (add-before 'build 'set-environment-up
- (lambda* (#:key make-flags #:allow-other-keys)
- (define (cross? x)
- (string-contains x "cross-arm-linux"))
- (define (filter-environment! filter-predicate
- environment-variable-names)
- (for-each
- (lambda (env-name)
- (when (getenv env-name)
- (let* ((env-value (getenv env-name))
- (search-path (search-path-as-string->list env-value))
- (new-search-path (filter filter-predicate
- search-path))
- (new-env-value (list->search-path-as-string
- new-search-path ":")))
- (setenv env-name new-env-value))))
- environment-variable-names))
- (setenv "CROSS_CPATH" (getenv "CPATH"))
- (setenv "CROSS_C_INCLUDE_PATH" (getenv "C_INCLUDE_PATH"))
- (setenv "CROSS_CPLUS_INCLUDE_PATH" (getenv "CPLUS_INCLUDE_PATH"))
- (setenv "CROSS_LIBRARY_PATH" (getenv "LIBRARY_PATH"))
- (filter-environment! cross?
- '("CROSS_CPATH" "CROSS_C_INCLUDE_PATH" "CROSS_CPLUS_INCLUDE_PATH"
- "CROSS_LIBRARY_PATH"))
- (filter-environment! (lambda (e) (not (cross? e)))
- '("CPATH" "C_INCLUDE_PATH" "CPLUS_INCLUDE_PATH"
- "LIBRARY_PATH"))
- #t))
(replace 'build
(lambda* (#:key make-flags #:allow-other-keys)
(apply invoke "make" "tools" "misc" make-flags)))
- (add-after 'build 'build-armhf
- (lambda* (#:key make-flags #:allow-other-keys)
- (setenv "LIBRARY_PATH" #f)
- (apply invoke "make" "target-tools" make-flags)))
(replace 'install
- (lambda* (#:key make-flags #:allow-other-keys)
- (apply invoke "make" "install-all" "install-misc"
+ (lambda* (#:key inputs outputs make-flags #:allow-other-keys)
+ ;; Those tools have been built for armhf but are part of the
+ ;; installation in the upstream package. So do the same
+ ;; here.
+ (copy-recursively (assoc-ref inputs "sunxi-target-tools")
+ (assoc-ref outputs "out"))
+ (apply invoke "make" "install-tools" "install-misc"
make-flags))))))
(home-page "https://github.com/linux-sunxi/sunxi-tools")
(synopsis "Hardware management tools for Allwinner computers")
@@ -2979,14 +2982,14 @@ everyone's screenshots nowadays.")
(define-public nnn
(package
(name "nnn")
- (version "2.6")
+ (version "2.7")
(source
(origin
(method url-fetch)
(uri (string-append "https://github.com/jarun/nnn/releases/download/v"
version "/nnn-v" version ".tar.gz"))
(sha256
- (base32 "0xb6crd9vig3xgjwl8m4bmgcs4azfmfdpx3g8pdpzs28jdg7i3rr"))))
+ (base32 "1wvh11iw7s3r8c985s99fqm2l7cn7dkbx7ah3xpk34jvry7j3vg5"))))
(build-system gnu-build-system)
(inputs
`(("ncurses" ,ncurses)
@@ -3015,7 +3018,7 @@ make it a perfect utility on modern distros.")
(define-public thermald
(package
(name "thermald")
- (version "1.8")
+ (version "1.9")
(source
(origin
(method git-fetch)
@@ -3024,9 +3027,7 @@ make it a perfect utility on modern distros.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "1g1l7k8yxj8bl1ysdx8v6anv1s7xk9j072y44gwki70dy48n7j92"))
- (patches
- (search-patches "thermald-make-int-max32-visible.patch"))))
+ (base32 "1ajhivl9jifcf12nbk281yayk7666v65m249aclyli0bz1kh8cfs"))))
(build-system gnu-build-system)
(arguments
`(#:configure-flags
@@ -3302,7 +3303,7 @@ support forum. It runs with the @code{/exec} command in most IRC clients.")
(define-public pscircle
(package
(name "pscircle")
- (version "1.3.0")
+ (version "1.3.1")
(source
(origin
(method git-fetch)
@@ -3311,8 +3312,7 @@ support forum. It runs with the @code{/exec} command in most IRC clients.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32
- "0qsif00dkqa8ky3vl2ycx5anx2yk62nrv47f5lrlqzclz91f00fx"))))
+ (base32 "1sm99423hh90kr4wdjqi9sdrrpk65j2vz2hzj65zcxfxyr6khjci"))))
(build-system meson-build-system)
(native-inputs
`(("pkg-config" ,pkg-config)))
diff --git a/gnu/packages/algebra.scm b/gnu/packages/algebra.scm
index f626c0de97..6afd559c9c 100644
--- a/gnu/packages/algebra.scm
+++ b/gnu/packages/algebra.scm
@@ -345,7 +345,7 @@ precision.")
(define-public giac
(package
(name "giac")
- (version "1.5.0-69")
+ (version "1.5.0-75")
(source (origin
(method url-fetch)
;; "~parisse/giac" is not used because the maintainer regularly
@@ -357,7 +357,7 @@ precision.")
"source/giac_" version ".tar.gz"))
(sha256
(base32
- "05l1qa2kfmvsbp0iqjmg3ixkcqa3h9ry1mjpcps52bxw05s3k1z9"))))
+ "1k94xl6hvy9xqwc3ccgnhpdqgq3lkjbgpgq0njizmlg514dh2jhq"))))
(build-system gnu-build-system)
(arguments
`(#:modules ((ice-9 ftw)
diff --git a/gnu/packages/android.scm b/gnu/packages/android.scm
index e4dbade64c..30dd8925a4 100644
--- a/gnu/packages/android.scm
+++ b/gnu/packages/android.scm
@@ -500,9 +500,14 @@ that is safe to use for user space. It also includes
;; pcre is inlined by our package.
("pcre" ,pcre)))
(home-page "https://developer.android.com/")
- (synopsis (package-synopsis libselinux))
- (description (package-description libselinux))
- (license (package-license libselinux))))
+ (synopsis "Android version of the SELinux libraries and utilities")
+ (description
+ "The libselinux library provides an API for SELinux applications to get
+and set process and file security contexts, and to obtain security policy
+decisions. It is required for any applications that use the SELinux API, and
+used by all applications that are SELinux-aware. This package also includes
+the core SELinux management utilities.")
+ (license license:public-domain)))
(define-public android-ext4-utils
(package
diff --git a/gnu/packages/assembly.scm b/gnu/packages/assembly.scm
index 50f798ba83..fac3d478a5 100644
--- a/gnu/packages/assembly.scm
+++ b/gnu/packages/assembly.scm
@@ -52,7 +52,7 @@
(source (origin
(method url-fetch)
(uri (string-append "http://www.nasm.us/pub/nasm/releasebuilds/"
- version "/" name "-" version ".tar.xz"))
+ version "/nasm-" version ".tar.xz"))
(sha256
(base32
"1xg8dfr49py15vbwk1rzcjc3zpqydmr49ahlijm56wlgj8zdwjp2"))))
diff --git a/gnu/packages/astronomy.scm b/gnu/packages/astronomy.scm
index efba05315f..a909b46d6a 100644
--- a/gnu/packages/astronomy.scm
+++ b/gnu/packages/astronomy.scm
@@ -149,7 +149,7 @@ programs for the manipulation and analysis of astronomical data.")
(define-public stellarium
(package
(name "stellarium")
- (version "0.19.1")
+ (version "0.19.2")
(source
(origin
(method url-fetch)
@@ -157,7 +157,7 @@ programs for the manipulation and analysis of astronomical data.")
"/releases/download/v" version
"/stellarium-" version ".tar.gz"))
(sha256
- (base32 "0s7v5iyhah258k83kvy2a91a3mdf34r150lcar4mmdsrrcmas98g"))))
+ (base32 "10b05slj5fjakrjb20m68xql68plb64mwn0165dy2fry8z2hbl74"))))
(build-system cmake-build-system)
(inputs
`(("qtbase" ,qtbase)
diff --git a/gnu/packages/audio.scm b/gnu/packages/audio.scm
index a070377d49..7b0c540d7a 100644
--- a/gnu/packages/audio.scm
+++ b/gnu/packages/audio.scm
@@ -25,6 +25,7 @@
;;; Copyright © 2019 Mathieu Othacehe <m.othacehe@gmail.com>
;;; Copyright © 2019 Alexandros Theodotou <alex@zrythm.org>
;;; Copyright © 2019 Christopher Lemmer Webber <cwebber@dustycloud.org>
+;;; Copyright © 2019 Jan Wielkiewicz <tona_kosmicznego_smiecia@interia.pl>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -553,14 +554,14 @@ plugins are provided.")
(define-public calf
(package
(name "calf")
- (version "0.90.2")
+ (version "0.90.3")
(source (origin
(method url-fetch)
(uri (string-append "https://calf-studio-gear.org/files/calf-"
version ".tar.gz"))
(sha256
(base32
- "0bn4j1klw2yfxz8clbmasaydifq25rdfsv0n6iisxrzcj1lx7sgh"))))
+ "17x4hylgq4dn9qycsdacfxy64f5cv57n2qgkvsdp524gnqzw4az3"))))
(build-system gnu-build-system)
(inputs
`(("fluidsynth" ,fluidsynth)
@@ -2300,6 +2301,29 @@ aimed at audio/musical applications.")
(base32
"04fajrass3ymr72flx5js5vxc601ccrmx8ny8scp0rw7j0igyjdr")))))))
+(define-public resample
+ (package
+ (name "resample")
+ (version "1.8.1")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "https://ccrma.stanford.edu/~jos/gz/resample-"
+ version
+ ".tar.gz"))
+ (sha256 (base32
+ "074zj8ydp05yy1hjcglfv3hkvj4cm50f9nralka1992pm6yf8yvy"))))
+ (build-system gnu-build-system)
+ (native-inputs
+ `(("autoconf" ,autoconf)
+ ("automake" ,automake)
+ ("pkg-config" ,pkg-config)
+ ("libtool" ,libtool)))
+ (synopsis "Real-time library for sampling rate conversion")
+ (description "The @command{resample} software package contains free
+sampling-rate conversion and filter design utilities.")
+ (home-page "https://ccrma.stanford.edu/~jos/resample/Free_Resampling_Software.html")
+ (license license:lgpl2.1+)))
+
(define-public rubberband
(package
(name "rubberband")
@@ -2682,7 +2706,7 @@ Tracker 3 S3M and Impulse Tracker IT files.")
("automake" ,automake)
("libtool" ,libtool)
("file" ,file)))
- (home-page "http://www.surina.net/soundtouch/")
+ (home-page "https://www.surina.net/soundtouch/")
(synopsis
"Audio processing library for changing tempo, pitch and playback rate")
(description
@@ -3171,21 +3195,23 @@ with support for HD extensions.")
(define-public bs1770gain
(package
(name "bs1770gain")
- (version "0.6.0")
+ (version "0.6.5")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://sourceforge/bs1770gain/bs1770gain/"
version "/bs1770gain-" version ".tar.gz"))
(sha256
- (base32 "0nnqixvw3x7i22nsr54n4bgm35z9nh3d9qj5s75cfd3ajjsjndyh"))
+ (base32 "15nvlh9bg0a52cpg2mii17mlzmxszwivjjalbb4np1v5nj8l5fk6"))
(modules '((guix build utils)))
(snippet
'(begin
;; XXX
+ (substitute* (find-files "." "\\.[ch]$")
+ (("^ \\* N..o.*") ""))
(substitute* "libbg/bgx.c"
- (("#define BS.* ") "#define BS ")
- (("BS.*NO?.*N.*S.*E.*N.*SE?") "NO")
+ (("#define BG.* ") "#define BS ")
+ (("BG.*NO?.*N.*S.*E.*N.*SE?") "NO")
(("\"( #|N).*\"") "\"\""))
(substitute* (list "config.h"
"configure.ac"
@@ -3354,14 +3380,14 @@ on the ALSA software PCM plugin.")
(define-public snd
(package
(name "snd")
- (version "19.6")
+ (version "19.9")
(source (origin
(method url-fetch)
(uri (string-append "ftp://ccrma-ftp.stanford.edu/pub/Lisp/"
"snd-" version ".tar.gz"))
(sha256
(base32
- "0s2qv8sznvw6559bi39qj9p072azh9qcb2b86w6w8clz2azjaa76"))))
+ "13s8fahpsjygjdrcwmprcrz23ny3klaj2rh2xzdv3bfs69gxvhys"))))
(build-system glib-or-gtk-build-system)
(arguments
`(#:tests? #f ; no tests
@@ -3906,8 +3932,8 @@ outputs and effect algorithms. Effects and audio objects can be combined in
various ways, and their parameters can be controlled by operator objects like
oscillators and MIDI-CCs. A versatile console mode user-interface is included
in the package.")
- ;; As an exception to the above, the C, C++ and python implementations
- ;; of the Ecasound Control Interface (ECI) are licensed under the LGPL
- ;; (see the file 'COPYING.LGPL'). This allows writing ECI applications
+ ;; As an exception to the above, the C, C++ and python implementations
+ ;; of the Ecasound Control Interface (ECI) are licensed under the LGPL
+ ;; (see the file 'COPYING.LGPL'). This allows writing ECI applications
;; that are not licensed under GPL.
(license (list license:gpl2 license:lgpl2.1))))
diff --git a/gnu/packages/aux-files/emacs/guix-emacs.el b/gnu/packages/aux-files/emacs/guix-emacs.el
index 46ee557f20..05fc9709b6 100644
--- a/gnu/packages/aux-files/emacs/guix-emacs.el
+++ b/gnu/packages/aux-files/emacs/guix-emacs.el
@@ -47,15 +47,14 @@ The files in the list do not have extensions (.el, .elc)."
;; FIXME: The autoloads generated by the emacs-build-system are not byte
;; compiled.
(interactive)
- (let* ((emacs-load-path (getenv "EMACSLOADPATH"))
- (emacs-non-core-load-path-directories
+ (let* ((emacs-non-core-load-path-directories
;; Filter out core Elisp directories, which are already autoloaded
;; by Emacs.
(seq-filter (lambda (dir)
(string-match-p "/share/emacs/site-lisp" dir))
- (split-string emacs-load-path ":")))
- (autoloads (mapcan #'guix-emacs-find-autoloads
- emacs-non-core-load-path-directories)))
+ load-path))
+ (autoloads (mapcan #'guix-emacs-find-autoloads
+ emacs-non-core-load-path-directories)))
(mapc (lambda (f)
(load f 'noerror))
autoloads)))
diff --git a/gnu/packages/benchmark.scm b/gnu/packages/benchmark.scm
index c513370e74..8e347879dd 100644
--- a/gnu/packages/benchmark.scm
+++ b/gnu/packages/benchmark.scm
@@ -35,6 +35,7 @@
#:use-module (gnu packages maths)
#:use-module (gnu packages mpi)
#:use-module (gnu packages python)
+ #:use-module (gnu packages python-science)
#:use-module (gnu packages python-xyz)
#:use-module (gnu packages storage)
#:use-module (ice-9 match))
diff --git a/gnu/packages/bioconductor.scm b/gnu/packages/bioconductor.scm
index 89547be66d..5c191a2c0b 100644
--- a/gnu/packages/bioconductor.scm
+++ b/gnu/packages/bioconductor.scm
@@ -76,21 +76,14 @@ objects.")
(version "1.4.0")
(source (origin
(method url-fetch)
- ;; We cannot use bioconductor-uri here because this tarball is
- ;; located under "data/annotation/" instead of "bioc/".
- (uri (string-append "https://www.bioconductor.org/packages/"
- "release/data/annotation/src/contrib/"
- "BSgenome.Celegans.UCSC.ce10_"
- version ".tar.gz"))
+ (uri (bioconductor-uri "BSgenome.Celegans.UCSC.ce10"
+ version 'annotation))
(sha256
(base32
"1zaym97jk4npxk14ifvwz2rvhm4zx9xgs33r9vvx9rlynp0gydrk"))))
(properties
`((upstream-name . "BSgenome.Celegans.UCSC.ce10")))
(build-system r-build-system)
- ;; As this package provides little more than a very large data file it
- ;; doesn't make sense to build substitutes.
- (arguments `(#:substitutable? #f))
(propagated-inputs
`(("r-bsgenome" ,r-bsgenome)))
(home-page
@@ -108,21 +101,14 @@ objects.")
(version "1.4.1")
(source (origin
(method url-fetch)
- ;; We cannot use bioconductor-uri here because this tarball is
- ;; located under "data/annotation/" instead of "bioc/".
- (uri (string-append "https://www.bioconductor.org/packages/"
- "release/data/annotation/src/contrib/"
- "BSgenome.Dmelanogaster.UCSC.dm6_"
- version ".tar.gz"))
+ (uri (bioconductor-uri "BSgenome.Dmelanogaster.UCSC.dm6"
+ version 'annotation))
(sha256
(base32
"1bhj0rdgf7lspw4xby9y9mf7v7jxxz8001bc8vw8kf04rjsx6060"))))
(properties
`((upstream-name . "BSgenome.Dmelanogaster.UCSC.dm6")))
(build-system r-build-system)
- ;; As this package provides little more than a very large data file it
- ;; doesn't make sense to build substitutes.
- (arguments `(#:substitutable? #f))
(propagated-inputs
`(("r-bsgenome" ,r-bsgenome)))
(home-page
@@ -140,21 +126,14 @@ objects.")
(version "1.4.0")
(source (origin
(method url-fetch)
- ;; We cannot use bioconductor-uri here because this tarball is
- ;; located under "data/annotation/" instead of "bioc/".
- (uri (string-append "https://www.bioconductor.org/packages/"
- "release/data/annotation/src/contrib/"
- "BSgenome.Dmelanogaster.UCSC.dm3_"
- version ".tar.gz"))
+ (uri (bioconductor-uri "BSgenome.Dmelanogaster.UCSC.dm3"
+ version 'annotation))
(sha256
(base32
"19bm3lkhhkag3gnwp419211fh0cnr0x6fa0r1lr0ycwrikxdxsv8"))))
(properties
`((upstream-name . "BSgenome.Dmelanogaster.UCSC.dm3")))
(build-system r-build-system)
- ;; As this package provides little more than a very large data file it
- ;; doesn't make sense to build substitutes.
- (arguments `(#:substitutable? #f))
(propagated-inputs
`(("r-bsgenome" ,r-bsgenome)))
(home-page
@@ -172,12 +151,8 @@ Biostrings objects.")
(version "1.3.99")
(source (origin
(method url-fetch)
- ;; We cannot use bioconductor-uri here because this tarball is
- ;; located under "data/annotation/" instead of "bioc/".
- (uri (string-append "http://www.bioconductor.org/packages/"
- "release/data/annotation/src/contrib/"
- "BSgenome.Dmelanogaster.UCSC.dm3.masked_"
- version ".tar.gz"))
+ (uri (bioconductor-uri "BSgenome.Dmelanogaster.UCSC.dm3.masked"
+ version 'annotation))
(sha256
(base32
"1756csb09f1br9rj1l3f08qyh4hlymdbd0cfn8x3fq39dn45m5ap"))))
@@ -207,21 +182,14 @@ Finder (TRF mask). Only the AGAPS and AMB masks are \"active\" by default.")
(version "0.99.1")
(source (origin
(method url-fetch)
- ;; We cannot use bioconductor-uri here because this tarball is
- ;; located under "data/annotation/" instead of "bioc/".
- (uri (string-append "https://www.bioconductor.org/packages/"
- "release/data/annotation/src/contrib/"
- "BSgenome.Hsapiens.1000genomes.hs37d5_"
- version ".tar.gz"))
+ (uri (bioconductor-uri "BSgenome.Hsapiens.1000genomes.hs37d5"
+ version 'annotation))
(sha256
(base32
"1cg0g5fqmsvwyw2p9hp2yy4ilk21jkbbrnpgqvb5c36ihjwvc7sr"))))
(properties
`((upstream-name . "BSgenome.Hsapiens.1000genomes.hs37d5")))
(build-system r-build-system)
- ;; As this package provides little more than a very large data file it
- ;; doesn't make sense to build substitutes.
- (arguments `(#:substitutable? #f))
(propagated-inputs
`(("r-bsgenome" ,r-bsgenome)))
(home-page
@@ -238,12 +206,8 @@ Finder (TRF mask). Only the AGAPS and AMB masks are \"active\" by default.")
(version "1.3.99")
(source (origin
(method url-fetch)
- ;; We cannot use bioconductor-uri here because this tarball is
- ;; located under "data/annotation/" instead of "bioc/".
- (uri (string-append "http://www.bioconductor.org/packages/"
- "release/data/annotation/src/contrib/"
- "BSgenome.Hsapiens.UCSC.hg19.masked_"
- version ".tar.gz"))
+ (uri (bioconductor-uri "BSgenome.Hsapiens.UCSC.hg19.masked"
+ version 'annotation))
(sha256
(base32
"0452pyah0kv1vsrsjbrqw4k2rm8lc2vc771dzib45gnnfz86qxrr"))))
@@ -273,21 +237,14 @@ default.")
(version "1.4.0")
(source (origin
(method url-fetch)
- ;; We cannot use bioconductor-uri here because this tarball is
- ;; located under "data/annotation/" instead of "bioc/".
- (uri (string-append "https://www.bioconductor.org/packages/"
- "release/data/annotation/src/contrib/"
- "BSgenome.Mmusculus.UCSC.mm9_"
- version ".tar.gz"))
+ (uri (bioconductor-uri "BSgenome.Mmusculus.UCSC.mm9"
+ version 'annotation))
(sha256
(base32
"1birqw30g2azimxpnjfzmkphan7x131yy8b9h85lfz5fjdg7841i"))))
(properties
`((upstream-name . "BSgenome.Mmusculus.UCSC.mm9")))
(build-system r-build-system)
- ;; As this package provides little more than a very large data file it
- ;; doesn't make sense to build substitutes.
- (arguments `(#:substitutable? #f))
(propagated-inputs
`(("r-bsgenome" ,r-bsgenome)))
(home-page
@@ -304,12 +261,8 @@ provided by UCSC (mm9, July 2007) and stored in Biostrings objects.")
(version "1.3.99")
(source (origin
(method url-fetch)
- ;; We cannot use bioconductor-uri here because this tarball is
- ;; located under "data/annotation/" instead of "bioc/".
- (uri (string-append "http://www.bioconductor.org/packages/"
- "release/data/annotation/src/contrib/"
- "BSgenome.Mmusculus.UCSC.mm9.masked_"
- version ".tar.gz"))
+ (uri (bioconductor-uri "BSgenome.Mmusculus.UCSC.mm9.masked"
+ version 'annotation))
(sha256
(base32
"00bpbm3havqcxr4g63zhllsbpd9q6svgihks7qp7x73nm4gvq7fn"))))
@@ -339,21 +292,14 @@ default." )
(version "1.4.0")
(source (origin
(method url-fetch)
- ;; We cannot use bioconductor-uri here because this tarball is
- ;; located under "data/annotation/" instead of "bioc/".
- (uri (string-append "https://www.bioconductor.org/packages/"
- "release/data/annotation/src/contrib/"
- "BSgenome.Mmusculus.UCSC.mm10_"
- version ".tar.gz"))
+ (uri (bioconductor-uri "BSgenome.Mmusculus.UCSC.mm10"
+ version 'annotation))
(sha256
(base32
"12s0nm2na9brjad4rn9l7d3db2aj8qa1xvz0y1k7gk08wayb6bkf"))))
(properties
`((upstream-name . "BSgenome.Mmusculus.UCSC.mm10")))
(build-system r-build-system)
- ;; As this package provides little more than a very large data file it
- ;; doesn't make sense to build substitutes.
- (arguments `(#:substitutable? #f))
(propagated-inputs
`(("r-bsgenome" ,r-bsgenome)))
(home-page
@@ -371,11 +317,7 @@ in Biostrings objects.")
(version "3.7.0")
(source (origin
(method url-fetch)
- ;; We cannot use bioconductor-uri here because this tarball is
- ;; located under "data/annotation/" instead of "bioc/".
- (uri (string-append "https://www.bioconductor.org/packages/"
- "release/data/annotation/src/contrib/"
- "org.Ce.eg.db_" version ".tar.gz"))
+ (uri (bioconductor-uri "org.Ce.eg.db" version 'annotation))
(sha256
(base32
"1w5br1ss4ha8wv4v2saj7cmbjc2jw0dyj2f2y269l078z31wcnaz"))))
@@ -397,11 +339,7 @@ annotations for the genome of the model worm Caenorhabditis elegans.")
(version "3.7.0")
(source (origin
(method url-fetch)
- ;; We cannot use bioconductor-uri here because this tarball is
- ;; located under "data/annotation/" instead of "bioc/".
- (uri (string-append "https://www.bioconductor.org/packages/"
- "release/data/annotation/src/contrib/"
- "org.Dm.eg.db_" version ".tar.gz"))
+ (uri (bioconductor-uri "org.Dm.eg.db" version 'annotation))
(sha256
(base32
"1pqjrzlyg72bjpy8zsxvaglc7jsv176bnyi87xdajmkvsgxpm7b3"))))
@@ -423,11 +361,7 @@ annotations for the genome of the model fruit fly Drosophila melanogaster.")
(version "3.7.0")
(source (origin
(method url-fetch)
- ;; We cannot use bioconductor-uri here because this tarball is
- ;; located under "data/annotation/" instead of "bioc/".
- (uri (string-append "https://www.bioconductor.org/packages/"
- "release/data/annotation/src/contrib/"
- "org.Dr.eg.db_" version ".tar.gz"))
+ (uri (bioconductor-uri "org.Dr.eg.db" version 'annotation))
(sha256
(base32
"1xs5wsbcpy0iwbjyiv7fax57djqc529ai5fk1qfsdcvlja3cpglx"))))
@@ -449,11 +383,7 @@ based on mapping using Entrez Gene identifiers.")
(version "3.7.0")
(source (origin
(method url-fetch)
- ;; We cannot use bioconductor-uri here because this tarball is
- ;; located under "data/annotation/" instead of "bioc/".
- (uri (string-append "https://www.bioconductor.org/packages/"
- "release/data/annotation/src/contrib/"
- "org.Hs.eg.db_" version ".tar.gz"))
+ (uri (bioconductor-uri "org.Hs.eg.db" version 'annotation))
(sha256
(base32
"1qxz9l80yg3qdqszs6dsscp7lrpfi1bgd0pxh9j7q34vprzwhdim"))))
@@ -475,11 +405,7 @@ on mapping using Entrez Gene identifiers.")
(version "3.7.0")
(source (origin
(method url-fetch)
- ;; We cannot use bioconductor-uri here because this tarball is
- ;; located under "data/annotation/" instead of "bioc/".
- (uri (string-append "https://www.bioconductor.org/packages/"
- "release/data/annotation/src/contrib/"
- "org.Mm.eg.db_" version ".tar.gz"))
+ (uri (bioconductor-uri "org.Mm.eg.db" version 'annotation))
(sha256
(base32
"1i3nvrd3wjigf1rmgxq1p5xxc3p8v02h5gwi62s30rkrsyjjfjxx"))))
@@ -501,21 +427,14 @@ annotations for the genome of the model mouse Mus musculus.")
(version "1.4.0")
(source (origin
(method url-fetch)
- ;; We cannot use bioconductor-uri here because this tarball is
- ;; located under "data/annotation/" instead of "bioc/".
- (uri (string-append "https://www.bioconductor.org/packages/"
- "release/data/annotation/src/contrib/"
- "BSgenome.Hsapiens.UCSC.hg19_"
- version ".tar.gz"))
+ (uri (bioconductor-uri "BSgenome.Hsapiens.UCSC.hg19"
+ version 'annotation))
(sha256
(base32
"1y0nqpk8cw5a34sd9hmin3z4v7iqm6hf6l22cl81vlbxqbjibxc8"))))
(properties
`((upstream-name . "BSgenome.Hsapiens.UCSC.hg19")))
(build-system r-build-system)
- ;; As this package provides little more than a very large data file it
- ;; doesn't make sense to build substitutes.
- (arguments `(#:substitutable? #f))
(propagated-inputs
`(("r-bsgenome" ,r-bsgenome)))
(home-page
@@ -555,11 +474,7 @@ by UCSC (hg19, February 2009) and stored in Biostrings objects.")
(source
(origin
(method url-fetch)
- ;; We cannot use bioconductor-uri here because this tarball is
- ;; located under "data/experiment/" instead of "bioc/".
- (uri (string-append "https://bioconductor.org/packages/"
- "release/data/experiment/src/contrib"
- "/geneLenDataBase_" version ".tar.gz"))
+ (uri (bioconductor-uri "geneLenDataBase" version 'experiment))
(sha256
(base32
"03gm4pvsfascx7kjg0jycpf4f572mja68wwmwigs390vbmawyb4a"))))
@@ -582,21 +497,14 @@ genomes and gene ID formats, largely based on the UCSC table browser.")
(version "3.2.2")
(source (origin
(method url-fetch)
- ;; We cannot use bioconductor-uri here because this tarball is
- ;; located under "data/annotation/" instead of "bioc/".
- (uri (string-append "https://bioconductor.org/packages/"
- "release/data/annotation/src/contrib"
- "/TxDb.Hsapiens.UCSC.hg19.knownGene_"
- version ".tar.gz"))
+ (uri (bioconductor-uri "TxDb.Hsapiens.UCSC.hg19.knownGene"
+ version 'annotation))
(sha256
(base32
"1sajhcqqwazgz2lqbik7rd935i7kpnh08zxbp2ra10j72yqy4g86"))))
(properties
`((upstream-name . "TxDb.Hsapiens.UCSC.hg19.knownGene")))
(build-system r-build-system)
- ;; As this package provides little more than a very large data file it
- ;; doesn't make sense to build substitutes.
- (arguments `(#:substitutable? #f))
(propagated-inputs
`(("r-genomicfeatures" ,r-genomicfeatures)))
(home-page
@@ -614,12 +522,8 @@ track. The database is exposed as a @code{TxDb} object.")
(version "3.4.6")
(source (origin
(method url-fetch)
- ;; We cannot use bioconductor-uri here because this tarball is
- ;; located under "data/annotation/" instead of "bioc/".
- (uri (string-append "https://bioconductor.org/packages/"
- "release/data/annotation/src/contrib"
- "/TxDb.Hsapiens.UCSC.hg38.knownGene_"
- version ".tar.gz"))
+ (uri (bioconductor-uri "TxDb.Hsapiens.UCSC.hg38.knownGene"
+ version 'annotation))
(sha256
(base32
"12j7rri9r129v9w1yiqadg952dx462dh092sxif3r5kk8l7bxkn9"))))
@@ -643,12 +547,8 @@ track. The database is exposed as a @code{TxDb} object.")
(version "3.2.2")
(source (origin
(method url-fetch)
- ;; We cannot use bioconductor-uri here because this tarball is
- ;; located under "data/annotation/" instead of "bioc/".
- (uri (string-append "https://bioconductor.org/packages/"
- "release/data/annotation/src/contrib"
- "/TxDb.Mmusculus.UCSC.mm9.knownGene_"
- version ".tar.gz"))
+ (uri (bioconductor-uri "TxDb.Mmusculus.UCSC.mm9.knownGene"
+ version 'annotation))
(sha256
(base32
"16bjxy00363hf91ik2mqlqls86i07gia72qh92xc3l1ncch61mx2"))))
@@ -673,21 +573,14 @@ database is exposed as a @code{TxDb} object.")
(version "3.4.7")
(source (origin
(method url-fetch)
- ;; We cannot use bioconductor-uri here because this tarball is
- ;; located under "data/annotation/" instead of "bioc/".
- (uri (string-append "https://www.bioconductor.org/packages/"
- "release/data/annotation/src/contrib/"
- "TxDb.Mmusculus.UCSC.mm10.knownGene_"
- version ".tar.gz"))
+ (uri (bioconductor-uri "TxDb.Mmusculus.UCSC.mm10.knownGene"
+ version 'annotation))
(sha256
(base32
"04impkl8zh1gpwwrpbf19jqznsjrq2306yyhm6cmx6hr1401bd6b"))))
(properties
`((upstream-name . "TxDb.Mmusculus.UCSC.mm10.knownGene")))
(build-system r-build-system)
- ;; As this package provides little more than a very large data file it
- ;; doesn't make sense to build substitutes.
- (arguments `(#:substitutable? #f))
(propagated-inputs
`(("r-bsgenome" ,r-bsgenome)
("r-genomicfeatures" ,r-genomicfeatures)
@@ -733,12 +626,8 @@ by exposing these as TxDb objects.")
(version "2.2.0")
(source (origin
(method url-fetch)
- ;; We cannot use bioconductor-uri here because this tarball is
- ;; located under "data/annotation/" instead of "bioc/".
- (uri (string-append "https://www.bioconductor.org/packages/"
- "release/data/annotation/src/contrib/"
- "FDb.InfiniumMethylation.hg19_"
- version ".tar.gz"))
+ (uri (bioconductor-uri "FDb.InfiniumMethylation.hg19"
+ version 'annotation))
(sha256
(base32
"0gq90fvph6kgrpjb89nvzq6hl1k24swn19rgjh5g98l86mja6nk0"))))
@@ -765,12 +654,8 @@ annotations.")
(version "0.3.0")
(source (origin
(method url-fetch)
- ;; We cannot use bioconductor-uri here because this tarball is
- ;; located under "data/annotation/" instead of "bioc/".
- (uri (string-append "https://www.bioconductor.org/packages/"
- "release/data/annotation/src/contrib/"
- "IlluminaHumanMethylationEPICmanifest_"
- version ".tar.gz"))
+ (uri (bioconductor-uri "IlluminaHumanMethylationEPICmanifest"
+ version 'annotation))
(sha256
(base32
"0alhjda5g186z8b1nsmnpfswrlj7prdz8mkwx60wkkl6hkcnk6p3"))))
@@ -791,11 +676,7 @@ annotations.")
(version "2.9")
(source (origin
(method url-fetch)
- ;; We cannot use bioconductor-uri here because this tarball is
- ;; located under "data/annotation/" instead of "bioc/".
- (uri (string-append "https://www.bioconductor.org/packages/"
- "release/data/annotation/src/contrib/"
- "DO.db_" version ".tar.gz"))
+ (uri (bioconductor-uri "DO.db" version 'annotation))
(sha256
(base32
"10bqqa124l61ivzy4mdd3z3ar9a6537qbxw23pc4y9w8a6dwnavn"))))
@@ -872,11 +753,7 @@ species.")
(version "1.12.0")
(source (origin
(method url-fetch)
- ;; We cannot use bioconductor-uri here because this tarball is
- ;; located under "data/experiment/" instead of "bioc/".
- (uri (string-append "https://www.bioconductor.org/packages/"
- "release/data/experiment/src/contrib/"
- "ABAData_" version ".tar.gz"))
+ (uri (bioconductor-uri "ABAData" version 'experiment))
(sha256
(base32
"1bmj341xcymlrk02gss5vvrqc4ddas0rdw39lnpsj98hq6n11p5z"))))
@@ -909,11 +786,7 @@ All datasets are restricted to protein coding genes.")
(version "1.18.0")
(source (origin
(method url-fetch)
- ;; We cannot use bioconductor-uri here because this tarball is
- ;; located under "data/experiment/" instead of "bioc/".
- (uri (string-append "https://www.bioconductor.org/packages/"
- "release/data/experiment/src/contrib/"
- "ARRmData_" version ".tar.gz"))
+ (uri (bioconductor-uri "ARRmData" version 'experiment))
(sha256
(base32
"0r1y3zn7ly4k3ngx55vfavn9s6aidbddlv2fbmj7hj3hvpslmyly"))))
@@ -933,11 +806,7 @@ from Illumina 450k methylation arrays.")
(version "1.2.0")
(source (origin
(method url-fetch)
- ;; We cannot use bioconductor-uri here because this tarball is
- ;; located under "data/experiment/" instead of "bioc/".
- (uri (string-append "https://www.bioconductor.org/packages/"
- "release/data/experiment/src/contrib/"
- "HSMMSingleCell_" version ".tar.gz"))
+ (uri (bioconductor-uri "HSMMSingleCell" version 'experiment))
(sha256
(base32
"1vxnr8gr6md85g39csy7g2sqqajiqgyvznys2qa9yixd2b01yph9"))))
@@ -966,11 +835,7 @@ resulting in a complete gene expression profile for each cell.")
(version "1.26.0")
(source (origin
(method url-fetch)
- ;; We cannot use bioconductor-uri here because this tarball is
- ;; located under "data/experiment/" instead of "bioc/".
- (uri (string-append "https://www.bioconductor.org/packages/"
- "release/data/experiment/src/contrib/"
- "ALL_" version ".tar.gz"))
+ (uri (bioconductor-uri "ALL" version 'experiment))
(sha256
(base32
"1z7kpjw4ndj6fkxwvhqf3gawhrn26ksrlns7j2c78qzxqmjndik9"))))
diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm
index 6be9694080..6293cf6b0f 100644
--- a/gnu/packages/bioinformatics.scm
+++ b/gnu/packages/bioinformatics.scm
@@ -105,6 +105,7 @@
#:use-module (gnu packages protobuf)
#:use-module (gnu packages python)
#:use-module (gnu packages python-compression)
+ #:use-module (gnu packages python-science)
#:use-module (gnu packages python-web)
#:use-module (gnu packages python-xyz)
#:use-module (gnu packages readline)
diff --git a/gnu/packages/busybox.scm b/gnu/packages/busybox.scm
index 7bb677cdd0..0593b86051 100644
--- a/gnu/packages/busybox.scm
+++ b/gnu/packages/busybox.scm
@@ -113,7 +113,7 @@ any small or embedded system.")
(define-public toybox
(package
(name "toybox")
- (version "0.8.1")
+ (version "0.8.2")
(source (origin
(method url-fetch)
(uri (string-append
@@ -121,7 +121,7 @@ any small or embedded system.")
version ".tar.gz"))
(sha256
(base32
- "1czxzvyggm157z8wgxbk8k0n675p1gig9xvrcijsplh9p1i1xi0s"))))
+ "1mgya8zxgf30i5w3rhsb3n70kwlhifxbajh6wqdsz6rf8kx609ws"))))
(build-system gnu-build-system)
(arguments
'(#:phases
diff --git a/gnu/packages/c.scm b/gnu/packages/c.scm
index 6428e86e70..921d473cd9 100644
--- a/gnu/packages/c.scm
+++ b/gnu/packages/c.scm
@@ -5,6 +5,7 @@
;;; Copyright © 2018, 2019 Pierre Neidhardt <mail@ambrevar.xyz>
;;; Copyright © 2019 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2019 Guillaume Le Vaillant <glv@posteo.net>
+;;; Copyright © 2019 Andreas Enge <andreas@enge.fr>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -79,6 +80,13 @@
`("--triplet=arm-linux-gnueabihf")
'()))
#:test-target "test"))
+ (native-search-paths
+ (list (search-path-specification
+ (variable "CPATH")
+ (files '("include")))
+ (search-path-specification
+ (variable "LIBRARY_PATH")
+ (files '("lib" "lib64")))))
;; Fails to build on MIPS: "Unsupported CPU"
(supported-systems (delete "mips64el-linux" %supported-systems))
(synopsis "Tiny and fast C compiler")
@@ -91,66 +99,6 @@ standard.")
;; (if ever) complete. See the RELICENSING file for more information.
(license license:lgpl2.1+)))
-(define-public tcc-wrapper
- (package
- (inherit tcc)
- (name "tcc-wrapper")
- (build-system trivial-build-system)
- (native-inputs '())
- (inputs `(("tcc" ,tcc)
- ("guile" ,guile-2.2)))
-
- ;; By default TCC does not honor any search path environment variable.
- ;; This wrapper adds them.
- ;;
- ;; FIXME: TCC includes its own linker so our 'ld-wrapper' hack to set the
- ;; RUNPATH is ineffective here. We should modify TCC itself.
- (native-search-paths
- (list (search-path-specification
- (variable "TCC_CPATH")
- (files '("include")))
- (search-path-specification
- (variable "TCC_LIBRARY_PATH")
- (files '("lib" "lib64")))))
-
- (arguments
- '(#:builder
- (let* ((out (assoc-ref %outputs "out"))
- (bin (string-append out "/bin"))
- (tcc (assoc-ref %build-inputs "tcc"))
- (guile (assoc-ref %build-inputs "guile")))
- (mkdir out)
- (mkdir bin)
- (call-with-output-file (string-append bin "/cc")
- (lambda (port)
- (format port "#!~a/bin/guile --no-auto-compile~%!#~%" guile)
- (write
- `(begin
- (use-modules (ice-9 match)
- (srfi srfi-26))
-
- (define (split path)
- (string-tokenize path (char-set-complement
- (char-set #\:))))
-
- (apply execl ,(string-append tcc "/bin/tcc")
- ,(string-append tcc "/bin/tcc") ;argv[0]
- (append (cdr (command-line))
- (match (getenv "TCC_CPATH")
- (#f '())
- (str
- (map (cut string-append "-I" <>)
- (split str))))
- (match (getenv "TCC_LIBRARY_PATH")
- (#f '())
- (str
- (map (cut string-append "-L" <>)
- (split str)))))))
- port)
- (chmod port #o777)))
- #t)))
- (synopsis "Wrapper providing the 'cc' command for TCC")))
-
(define-public pcc
(package
(name "pcc")
diff --git a/gnu/packages/calcurse.scm b/gnu/packages/calcurse.scm
index c28f1f5554..05e3907da6 100644
--- a/gnu/packages/calcurse.scm
+++ b/gnu/packages/calcurse.scm
@@ -30,14 +30,14 @@
(define-public calcurse
(package
(name "calcurse")
- (version "4.5.0")
+ (version "4.5.1")
(source
(origin
(method url-fetch)
(uri (string-append "https://calcurse.org/files/calcurse-"
version ".tar.gz"))
(sha256
- (base32 "1vjwcmp51h7dsvwn0qx93w9chp3wp970v7d9mjhk7jyamcbfywn3"))))
+ (base32 "0cgkd285x5pk62lmdx9fjxl46c5lj8wj2cqbxq7d99yb4il5fdjk"))))
(build-system gnu-build-system)
(inputs `(("ncurses" ,ncurses)))
(native-inputs `(("tzdata" ,tzdata-for-tests)))
diff --git a/gnu/packages/cdrom.scm b/gnu/packages/cdrom.scm
index 9c2b11c047..dcbf4c5f0b 100644
--- a/gnu/packages/cdrom.scm
+++ b/gnu/packages/cdrom.scm
@@ -104,14 +104,14 @@ caching facility provided by the library.")
(define-public libcdio
(package
(name "libcdio")
- (version "2.0.0")
+ (version "2.1.0")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnu/libcdio/libcdio-"
version ".tar.bz2"))
(sha256
(base32
- "0jr8ppdm80c533nzmrpz3iffnpc6nhvsria1di9f4jg1l19a03fd"))))
+ "0avi6apv5ydjy6b9c3z9a46rvp5i57qyr09vr7x4nndxkmcfjl45"))))
(build-system gnu-build-system)
(inputs
`(("ncurses" ,ncurses)
@@ -134,14 +134,14 @@ extraction from CDs.")
(define-public libcdio-paranoia
(package
(name "libcdio-paranoia")
- (version "10.2+0.94+2")
+ (version "10.2+2.0.0")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnu/libcdio/libcdio-paranoia-"
- version ".tar.gz"))
+ version ".tar.bz2"))
(sha256
(base32
- "0h8rr1ir05r29rgawa1ccw335668k4s3zq4yg9095svyx7n843yn"))))
+ "1h8k8z9r75h3p697f77z9j1blwb6gf2d5rik6z2q6420my6c2ra5"))))
(build-system gnu-build-system)
(native-inputs `(("pkg-config" ,pkg-config)))
(propagated-inputs `(("libcdio" ,libcdio)))
@@ -790,14 +790,14 @@ laid out on the image.")
(define-public libburn
(package
(name "libburn")
- (version "1.5.0")
+ (version "1.5.2")
(source (origin
(method url-fetch)
(uri (string-append "http://files.libburnia-project.org/releases/"
"libburn-" version ".tar.gz"))
(sha256
(base32
- "1gg2kgnqvaa2fwghai62prxz6slpak1f6bvgjh8m4dn16v114asq"))))
+ "09sjrvq8xsj1gnl2wwyv4lbmicyzzl6x1ac2rrn53xnp34bxnckv"))))
(build-system gnu-build-system)
(native-inputs
`(("pkg-config" ,pkg-config)))
diff --git a/gnu/packages/check.scm b/gnu/packages/check.scm
index cccdb72d10..720f7fccbc 100644
--- a/gnu/packages/check.scm
+++ b/gnu/packages/check.scm
@@ -264,7 +264,7 @@ problem, and shows the differences.")
(define-public cmocka
(package
(name "cmocka")
- (version "1.1.3")
+ (version "1.1.5")
(source (origin
(method url-fetch)
(uri (string-append "https://cmocka.org/files/"
@@ -272,7 +272,7 @@ problem, and shows the differences.")
version ".tar.xz"))
(sha256
(base32
- "1bxzzafjlwzgldcb07hjnlnqvh88wh21r2kw7z8f704w5bvvrsj3"))))
+ "1dm8pdvkyfa8dsbz9bpq7wwgixjij4sii9bbn5sgvqjm5ljdik7h"))))
(build-system cmake-build-system)
(arguments
`(#:tests? #f)) ; no test target
@@ -497,7 +497,7 @@ test coverage and has a web user interface that will refresh automatically.")
(arguments
`(#:configure-flags '("-DBUILD_SHARED_LIBS=ON")))
(native-inputs
- `(("python-2" ,python-2)))
+ `(("python" ,python-wrapper)))
(home-page "https://github.com/google/googletest/")
(synopsis "Test discovery and XUnit test framework")
(description "Google Test features an XUnit test framework, automated test
diff --git a/gnu/packages/compression.scm b/gnu/packages/compression.scm
index 41d0328ec8..89dcc34e21 100644
--- a/gnu/packages/compression.scm
+++ b/gnu/packages/compression.scm
@@ -1183,7 +1183,7 @@ for most inputs, but the resulting compressed files are anywhere from 20% to
(invoke "make" "test")
(invoke "make" "test_7z")
(invoke "make" "test_7zr"))))))
- (inputs
+ (native-inputs
(let ((system (or (%current-target-system)
(%current-system))))
`(,@(cond ((string-prefix? "x86_64" system)
diff --git a/gnu/packages/cpp.scm b/gnu/packages/cpp.scm
index 779b6e088d..335f9a65cd 100644
--- a/gnu/packages/cpp.scm
+++ b/gnu/packages/cpp.scm
@@ -5,6 +5,7 @@
;;; Copyright © 2018 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2019 Mathieu Othacehe <m.othacehe@gmail.com>
;;; Copyright © 2019 Pierre Neidhardt <mail@ambrevar.xyz>
+;;; Copyright © 2019 Jan Wielkiewicz <tona_kosmicznego_smiecia@interia.pl>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -252,6 +253,9 @@ as ordering relation.")
intuitive syntax and trivial integration.")
(license license:expat)))
+(define-public nlohmann-json-cpp
+ (deprecated-package "nlohmann-json-cpp" json-modern-cxx))
+
(define-public xtl
(package
(name "xtl")
@@ -289,7 +293,7 @@ tools (containers, algorithms) used by other QuantStack packages.")
(define-public ccls
(package
(name "ccls")
- (version "0.20190823.3")
+ (version "0.20190823.5")
(source
(origin
(method git-fetch)
@@ -297,7 +301,7 @@ tools (containers, algorithms) used by other QuantStack packages.")
(url "https://github.com/MaskRay/ccls")
(commit version)))
(sha256
- (base32 "1sx31zp6q2qc6fz3r78rx34zp2x4blrqzxwbpww71vb6lp1clmdm"))
+ (base32 "0b2pkpzn576b92zcxpwchpkyw2fww6s69818rx4g9z34kzm35zy5"))
(file-name (git-file-name name version))))
(build-system cmake-build-system)
(arguments
@@ -375,3 +379,34 @@ for style issues following Google’s C++ style guide. While Google maintains
it's own version of the tool, this is a fork that aims to be more responsive
and make @code{cpplint} usable in wider contexts.")
(license license:bsd-3)))
+
+(define-public sobjectizer
+ (package
+ (name "sobjectizer")
+ (version "5.6.1")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/Stiffstream/sobjectizer.git")
+ (commit (string-append "v." version))))
+ (sha256
+ (base32 "0jfai7sqxnnjkms38krm7mssj5l79nb3pllkbyj4j581a7l5j6l5"))
+ (file-name (git-file-name name version))))
+ (build-system cmake-build-system)
+ (arguments
+ `(#:tests? #f
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'change-directory
+ (lambda _
+ (chdir "dev")
+ #t)))))
+ (home-page "https://stiffstream.com/en/products/sobjectizer.html")
+ (synopsis "Cross-platform actor framework for C++")
+ (description
+ "SObjectizer is a cross-platform \"actor frameworks\" for C++.
+SObjectizer supports not only the Actor Model but also the Publish-Subscribe
+Model and CSP-like channels. The goal of SObjectizer is to simplify
+development of concurrent and multithreaded applications in C++.")
+ (license license:bsd-3)))
diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm
index 46521323c0..765747ea3b 100644
--- a/gnu/packages/cran.scm
+++ b/gnu/packages/cran.scm
@@ -653,13 +653,13 @@ LaTeX.")
(define-public r-curl
(package
(name "r-curl")
- (version "4.2")
+ (version "4.3")
(source (origin
(method url-fetch)
(uri (cran-uri "curl" version))
(sha256
(base32
- "0xh227gvb056wlipjxxbf555z1i1qcs7rr1igvs6k6645y9irrlp"))))
+ "1nrf6md41b37j424y6rvifdj9zb3j14f60fj7q71k9jhpf2x81kl"))))
(build-system r-build-system)
(arguments
`(#:phases
@@ -1305,6 +1305,26 @@ applications. That is, compute distances and related measures for angular
(longitude/latitude) locations.")
(license license:gpl3+)))
+(define-public r-jpeg
+ (package
+ (name "r-jpeg")
+ (version "0.1-8.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (cran-uri "jpeg" version))
+ (sha256
+ (base32
+ "1a8mi70x79a691r40yiw684jkg1mr9n8agkxlcksxcnrdybs9c0x"))))
+ (build-system r-build-system)
+ (inputs `(("libjpeg" ,libjpeg)))
+ (home-page "http://www.rforge.net/jpeg/")
+ (synopsis "Read and write JPEG images with R")
+ (description "This package provides a way to read, write and display
+bitmap images stored in the JPEG format with R. It can read and write both
+files and in-memory raw vectors.")
+ (license license:gpl2+)))
+
(define-public r-ggmap
(package
(name "r-ggmap")
@@ -1864,14 +1884,14 @@ rows, dropping names) to see if the modified versions are identical.")
(define-public r-dendextend
(package
(name "r-dendextend")
- (version "1.12.0")
+ (version "1.13.2")
(source
(origin
(method url-fetch)
(uri (cran-uri "dendextend" version))
(sha256
(base32
- "0mgsc9qkr5p6hss3wychdjvk263ay48yx543wawj72l7q7cgx1xl"))))
+ "1iclvd9cyckd4djpa87ynm05fk6zl4b4m735za1w4irimc130m3r"))))
(build-system r-build-system)
(propagated-inputs
`(("r-ggplot2" ,r-ggplot2)
@@ -2226,14 +2246,14 @@ SpatialVx.")
(define-public r-extremes
(package
(name "r-extremes")
- (version "2.0-10")
+ (version "2.0-11")
(source
(origin
(method url-fetch)
(uri (cran-uri "extRemes" version))
(sha256
(base32
- "08fj72gpq2d6695hbm3cgwgal64z009ykrirby7g6r0akfcsx5ic"))))
+ "0hmgynxhzswqnhwb2sxrkczgam8c17s3vpxqc5bcz0bwczpxxyvm"))))
(properties `((upstream-name . "extRemes")))
(build-system r-build-system)
(propagated-inputs
@@ -3447,14 +3467,14 @@ structure.")
(define-public r-vioplot
(package
(name "r-vioplot")
- (version "0.3.3")
+ (version "0.3.4")
(source
(origin
(method url-fetch)
(uri (cran-uri "vioplot" version))
(sha256
(base32
- "1jjrsds7p1jnnr4970h43526b9cdv3azizjbalbfzjjylc53lrca"))))
+ "1fsklymilspzz5fzlj7666x09aglaw0v4x0yfjjzy4vr5qpjc529"))))
(build-system r-build-system)
(propagated-inputs
`(("r-sm" ,r-sm)
@@ -3637,14 +3657,14 @@ normalizations, minimum variance matching, and so on.")
(define-public r-sdmtools
(package
(name "r-sdmtools")
- (version "1.1-221.1")
+ (version "1.1-221.2")
(source
(origin
(method url-fetch)
(uri (cran-uri "SDMTools" version))
(sha256
(base32
- "1fsgnlc7glawimzijp11j53g5bnfp1mdq9wb0754idmxcdi8a99q"))))
+ "1xvcd97ikqsfdpk2fddy3k0z1ajqga7nv9bgac9c1wnjk1gqrpgh"))))
(properties `((upstream-name . "SDMTools")))
(build-system r-build-system)
(propagated-inputs `(("r-r-utils" ,r-r-utils)))
@@ -4130,14 +4150,14 @@ published results; and a routine for graphical display.")
(define-public r-network
(package
(name "r-network")
- (version "1.15")
+ (version "1.16.0")
(source
(origin
(method url-fetch)
(uri (cran-uri "network" version))
(sha256
(base32
- "1cscw5978fyixhkicf06c4b2g1yf6gyi8vx86cz3dy75d41mrgjw"))))
+ "0dnf1wl3za2lhx2lwd8smhlijl1cfhckgr8zz9piiirrfi2m2kx2"))))
(build-system r-build-system)
(propagated-inputs
`(("r-magrittr" ,r-magrittr)
@@ -4894,13 +4914,13 @@ the application.")
(define-public r-algdesign
(package
(name "r-algdesign")
- (version "1.1-7.3.1")
+ (version "1.2.0")
(source
(origin
(method url-fetch)
(uri (cran-uri "AlgDesign" version))
(sha256
- (base32 "1s69yx0wxi9kqj9kyib0yvd363d7g4zrz0cvz1hn97ladr8656bz"))))
+ (base32 "0ammlg148gk0p24fh700116nd66636np0jb1wwh0axq5jphwk1pz"))))
(properties `((upstream-name . "AlgDesign")))
(build-system r-build-system)
(home-page "https://github.com/jvbraun/AlgDesign")
@@ -5377,14 +5397,14 @@ simple method for converting between file types.")
(define-public r-maptools
(package
(name "r-maptools")
- (version "0.9-8")
+ (version "0.9-9")
(source
(origin
(method url-fetch)
(uri (cran-uri "maptools" version))
(sha256
(base32
- "1ix3cg74w0w6cj8nwi0r9n3y5q9ljc21hm8xq6yqqngs57prvn2x"))))
+ "0v4llkxk8qs61vq4ykvaim4k23aagdaz0p62ns7zfq02sln3pfk9"))))
(build-system r-build-system)
(propagated-inputs
`(("r-foreign" ,r-foreign)
@@ -6256,14 +6276,14 @@ other add-on packages.")
(define-public r-insight
(package
(name "r-insight")
- (version "0.7.0")
+ (version "0.7.1")
(source
(origin
(method url-fetch)
(uri (cran-uri "insight" version))
(sha256
(base32
- "1alxc483r3d1ydp983m2872mxd4nj3j25qv47zzgj10nbi4y32sq"))))
+ "0scjmr8qvwaswb9wfq2lxp1v5fl72way8cid9agrf0z1agp0adad"))))
(build-system r-build-system)
(home-page "https://easystats.github.io/insight/")
(synopsis "Easy access to model information for various model objects")
@@ -8166,14 +8186,14 @@ correlation, censored, ordered and multivariate problems.")
(define-public r-bayesplot
(package
(name "r-bayesplot")
- (version "1.7.0")
+ (version "1.7.1")
(source
(origin
(method url-fetch)
(uri (cran-uri "bayesplot" version))
(sha256
(base32
- "0h23sbfny2hcipvvfhq5aiwdh1vanizn7f8lpb9kffypxhcd7v7w"))))
+ "0sq0ajnm96hmlqf1cv5n2gshh3qdij4n1zbm7qrniz2q6b5aj342"))))
(build-system r-build-system)
(inputs
`(("pandoc" ,ghc-pandoc)
@@ -8412,13 +8432,13 @@ conversion of indices such as Cohen's d, r, odds, etc.")
(define-public r-sjplot
(package
(name "r-sjplot")
- (version "2.8.0")
+ (version "2.8.1")
(source
(origin
(method url-fetch)
(uri (cran-uri "sjPlot" version))
(sha256
- (base32 "0ahz6v6bhvq1537inwakmrafs44hs2m9w0ra8q17fz626nn9rb9b"))))
+ (base32 "0rmfc2pq80w0kxh6icljhqm31q580s0czvllsfxk6crmpyfgxkp7"))))
(properties `((upstream-name . "sjPlot")))
(build-system r-build-system)
(propagated-inputs
@@ -9684,13 +9704,13 @@ manipulate tree data.")
(define-public r-rvcheck
(package
(name "r-rvcheck")
- (version "0.1.6")
+ (version "0.1.7")
(source
(origin
(method url-fetch)
(uri (cran-uri "rvcheck" version))
(sha256
- (base32 "11n3qxapxcqsa0771s9q8n95kxmfyflya1d6wz4mm0lz0i6q55ia"))))
+ (base32 "1a3xlzi4n1rqiapfa180aif7n7nws8pbg8k3nk7ccaczvmni38aw"))))
(build-system r-build-system)
(propagated-inputs
`(("r-biocmanager" ,r-biocmanager)
@@ -9897,14 +9917,14 @@ definiteness of a matrix.")
(define-public r-rspectra
(package
(name "r-rspectra")
- (version "0.15-0")
+ (version "0.16-0")
(source
(origin
(method url-fetch)
(uri (cran-uri "RSpectra" version))
(sha256
(base32
- "1ab975scdqaxdna9sayjl6l14hz991y0pc8c8ah48w000616km8s"))))
+ "1ab45as2ysjrvkhvmx7y3nbhd0y1w4j9k2a789lcd973zz4wzwda"))))
(properties `((upstream-name . "RSpectra")))
(build-system r-build-system)
(propagated-inputs
diff --git a/gnu/packages/databases.scm b/gnu/packages/databases.scm
index 637455eef3..cb843672af 100644
--- a/gnu/packages/databases.scm
+++ b/gnu/packages/databases.scm
@@ -97,6 +97,7 @@
#:use-module (gnu packages python)
#:use-module (gnu packages python-crypto)
#:use-module (gnu packages python-web)
+ #:use-module (gnu packages python-science)
#:use-module (gnu packages python-xyz)
#:use-module (gnu packages rdf)
#:use-module (gnu packages readline)
diff --git a/gnu/packages/dc.scm b/gnu/packages/dc.scm
index af7687916e..f22ac93723 100644
--- a/gnu/packages/dc.scm
+++ b/gnu/packages/dc.scm
@@ -33,14 +33,14 @@
(define-public ncdc
(package
(name "ncdc")
- (version "1.22")
+ (version "1.22.1")
(source
(origin
(method url-fetch)
(uri (string-append "http://dev.yorhel.nl/download/ncdc-" version
".tar.gz"))
- (sha256 (base32
- "0n9sn4rh4zhmzjknsvyp4bfh925abz93ln43gl8a1v63rs2yyhgx"))))
+ (sha256
+ (base32 "1bdgqd07f026qk6vpbxqsin536znd33931m3b4z44prlm9wd6pyi"))))
(build-system gnu-build-system)
(inputs
`(("bzip2" ,bzip2)
diff --git a/gnu/packages/debug.scm b/gnu/packages/debug.scm
index e4f79d8250..82a57d4eaa 100644
--- a/gnu/packages/debug.scm
+++ b/gnu/packages/debug.scm
@@ -325,7 +325,7 @@ conditions.")
;; stress-make wrapper is under BSD-3-modifications-must-be-indicated,
;; and patched GNU Make is under its own license.
(license (list (non-copyleft "LICENSE.md")
- (package-license gnu-make))))))
+ gpl3+)))))
(define-public zzuf
(package
diff --git a/gnu/packages/dictionaries.scm b/gnu/packages/dictionaries.scm
index 320ffb1d75..1aa54d9167 100644
--- a/gnu/packages/dictionaries.scm
+++ b/gnu/packages/dictionaries.scm
@@ -219,7 +219,7 @@ It comes with a German-English dictionary with approximately 270,000 entries.")
(define-public grammalecte
(package
(name "grammalecte")
- (version "1.5.0")
+ (version "1.6.0")
(source
(origin
(method url-fetch/zipbomb)
@@ -227,7 +227,7 @@ It comes with a German-English dictionary with approximately 270,000 entries.")
"Grammalecte-fr-v" version ".zip"))
(sha256
(base32
- "0byh578apbyq2jdpgmbaw01izlkyw2h5nsr28az44rvaqrsndy0z"))))
+ "0kz13gx2hd23xd6bfr4z73lh18slj3vbvs2xcb7qvhramxjqzqcn"))))
(build-system python-build-system)
(home-page "https://grammalecte.net")
(synopsis "French spelling and grammar checker")
diff --git a/gnu/packages/display-managers.scm b/gnu/packages/display-managers.scm
index 21afc0ec5c..75eab48572 100644
--- a/gnu/packages/display-managers.scm
+++ b/gnu/packages/display-managers.scm
@@ -27,6 +27,7 @@
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix build-system cmake)
+ #:use-module (guix build-system qt)
#:use-module (guix build-system gnu)
#:use-module (guix packages)
#:use-module (guix utils)
@@ -62,7 +63,7 @@
(sha256
(base32
"0nilrhwlyvkngjgxfc08n73c16azgmw80pvx0a78xqww9y3hv4xh"))))
- (build-system cmake-build-system)
+ (build-system qt-build-system)
(native-inputs
`(("extra-cmake-modules" ,extra-cmake-modules)
("pkg-config" ,pkg-config)
@@ -105,24 +106,13 @@
(assoc-ref %outputs "out") "/lib/qt5/qml")
(string-append "-DCMAKE_INSTALL_SYSCONFDIR="
(assoc-ref %outputs "out") "/etc"))
- #:modules ((guix build cmake-build-system)
- (guix build qt-utils)
- (guix build utils))
- #:imported-modules (,@%cmake-build-system-modules
- (guix build qt-utils))
#:phases
- (modify-phases %standard-phases
+ (modify-phases (@ (guix build qt-build-system) %standard-phases)
(add-after 'unpack 'embed-loginctl-reference
(lambda _
(substitute* "CMakeLists.txt"
(("/usr/bin/loginctl") (which "loginctl")))
- #t))
- (add-after 'install 'wrap-programs
- (lambda* (#:key outputs #:allow-other-keys)
- (let ((out (assoc-ref outputs "out")))
- (wrap-qt-program out "sddm")
- (wrap-qt-program out "sddm-greeter")
- #t))))))
+ #t)))))
(synopsis "QML based X11 and Wayland display manager")
(description "SDDM is a display manager for X11 and Wayland aiming to be
fast, simple and beautiful. SDDM is themeable and puts no restrictions on the
diff --git a/gnu/packages/dns.scm b/gnu/packages/dns.scm
index 03777cd4d8..3058f74cd2 100644
--- a/gnu/packages/dns.scm
+++ b/gnu/packages/dns.scm
@@ -320,14 +320,14 @@ asynchronous fashion.")
(define-public nsd
(package
(name "nsd")
- (version "4.2.2")
+ (version "4.2.3")
(source
(origin
(method url-fetch)
(uri (string-append "https://www.nlnetlabs.nl/downloads/nsd/nsd-"
version ".tar.gz"))
(sha256
- (base32 "1ys608jyp5scc957q4brm094c97sxlwymina7d2nvzi51aa37cw3"))))
+ (base32 "1664wpglrwqk627xma10f9qa652vzmf90gsjd8pribyj74xrczc1"))))
(build-system gnu-build-system)
(arguments
`(#:configure-flags
diff --git a/gnu/packages/education.scm b/gnu/packages/education.scm
index 71c85029fd..c457f5a021 100644
--- a/gnu/packages/education.scm
+++ b/gnu/packages/education.scm
@@ -58,6 +58,7 @@
#:use-module (guix build-system cmake)
#:use-module (guix build-system gnu)
#:use-module (guix build-system python)
+ #:use-module (guix build-system qt)
#:use-module (guix build-system trivial)
#:use-module (srfi srfi-1))
@@ -253,7 +254,7 @@ easy.")
(define-public snap
(package
(name "snap")
- (version "5.2.5")
+ (version "5.3.8")
(source
(origin
(method git-fetch)
@@ -263,7 +264,7 @@ easy.")
(file-name (git-file-name name version))
(sha256
(base32
- "0smlqxd8gqy26dlsal197848lhynv74m8myxs6fdlnzgva1f3zzw"))))
+ "1lm5vvykdzgn667kvnsv0ab5bl0kjsr05kvcd18a7pn0g8sykfpc"))))
(build-system trivial-build-system)
(arguments
`(#:modules ((guix build utils))
@@ -487,14 +488,14 @@ letters of the alphabet, spelling, eye-hand coordination, etc.")
(define-public fet
(package
(name "fet")
- (version "5.40.2")
+ (version "5.41.0")
(source (origin
(method url-fetch)
(uri (string-append "https://www.lalescu.ro/liviu/fet/download/"
"fet-" version ".tar.bz2"))
(sha256
(base32
- "068zdvb3rys7vvkq33i2jh89c7svvdaqp0548k99jmhbd24xnhgh"))))
+ "0ppa5h1p0y0z8x4xpn45b0x3nl1khyh56m22v6xysk3znxlak4q7"))))
(build-system gnu-build-system)
(arguments
`(#:phases
@@ -563,15 +564,10 @@ language and very flexible regarding to new or unknown keyboard layouts.")
(sha256
(base32
"0dm6xcwai0bx2h16rny1xa9n1509mfxvy39kfxx5qih53p15jrnk"))))
- (build-system cmake-build-system)
+ (build-system qt-build-system)
(arguments
- `(#:modules ((guix build cmake-build-system)
- (guix build qt-utils)
- (guix build utils))
- #:imported-modules (,@%cmake-build-system-modules
- (guix build qt-utils))
- #:phases
- (modify-phases %standard-phases
+ `(#:phases
+ (modify-phases (@ (guix build qt-build-system) %standard-phases)
(add-after 'configure 'patch-makefiles
(lambda* (#:key inputs #:allow-other-keys)
(let ((qtdec (assoc-ref inputs "qtdeclarative")))
@@ -579,11 +575,6 @@ language and very flexible regarding to new or unknown keyboard layouts.")
"src/CMakeFiles/ktouch.dir/build.make")
(("/gnu/store/.*qmlcachegen")
(string-append qtdec "/bin/qmlcachegen"))))
- #t))
- (add-after 'install 'wrap-executable
- (lambda* (#:key outputs #:allow-other-keys)
- (let ((out (assoc-ref outputs "out")))
- (wrap-qt-program out "ktouch"))
#t)))))
(native-inputs
`(("extra-cmake-modules" ,extra-cmake-modules)
diff --git a/gnu/packages/efi.scm b/gnu/packages/efi.scm
index 49ca740088..b6e93dd618 100644
--- a/gnu/packages/efi.scm
+++ b/gnu/packages/efi.scm
@@ -1,6 +1,7 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2019 Danny Milosavljevic <dannym@scratchpost.org>
;;; Copyright © 2019 Efraim Flashner <efraim@flashner.co.il>
+;;; Copyright © 2019 Tobias Geerinckx-Rice <me@tobias.gr>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -36,18 +37,17 @@
(define-public gnu-efi
(package
(name "gnu-efi")
- (version "3.0.9")
+ (version "3.0.11")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://sourceforge/gnu-efi/"
- name "-" version ".tar.bz2"))
+ "gnu-efi-" version ".tar.bz2"))
(sha256
- (base32
- "1w3p4aqlc5j93q44la7dc8cr3hky20zvsd0h0k2lyzhwmrzfl5b7"))))
+ (base32 "1ffnc4xbzfggs37ymrgfx76j56kk2644c081ivhr2bjkla9ag3gj"))))
(build-system gnu-build-system)
(arguments
- `(#:tests? #f ; None exist.
+ `(#:tests? #f ; none exist
#:make-flags
(list (string-append "PREFIX=" (assoc-ref %outputs "out")))
#:phases
diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm
index c37d4aa206..5fbfb537e6 100644
--- a/gnu/packages/emacs-xyz.scm
+++ b/gnu/packages/emacs-xyz.scm
@@ -127,6 +127,7 @@
#:use-module (gnu packages glib)
#:use-module (gnu packages acl)
#:use-module (gnu packages mail)
+ #:use-module (gnu packages messaging)
#:use-module (gnu packages package-management)
#:use-module (gnu packages perl)
#:use-module (gnu packages pdf)
@@ -1660,15 +1661,14 @@ a set of simplified face specifications and a user-supplied color palette")
(define-public emacs-howm
(package
(name "emacs-howm")
- (version "1.4.4")
+ (version "1.4.5")
(source
(origin
(method url-fetch)
- (uri (string-append "http://howm.sourceforge.jp/a/howm-"
+ (uri (string-append "https://howm.sourceforge.jp/a/howm-"
version ".tar.gz"))
(sha256
- (base32
- "0ddm91l6z58j7x59fa966j6q1rg4cinyza4r8ibg80hprn5h31qk"))))
+ (base32 "1kvr5pxpc9rwhkza9025mdi0wvh0f0rpawl21rzirjk1x10903yi"))))
(build-system gnu-build-system)
(native-inputs
`(("emacs" ,emacs-minimal)))
@@ -1686,7 +1686,7 @@ a set of simplified face specifications and a user-supplied color palette")
(modify-phases %standard-phases
(add-after 'install 'make-autoloads
(assoc-ref emacs:%standard-phases 'make-autoloads)))))
- (home-page "http://howm.osdn.jp/")
+ (home-page "https://howm.osdn.jp/")
(synopsis "Note-taking tool for Emacs")
(description "Howm is a note-taking tool for Emacs. Like
code@{emacs-wiki.el}, it facilitates using hyperlinks and doing full-text
@@ -2242,7 +2242,7 @@ a command.")
(define-public emacs-olivetti
(package
(name "emacs-olivetti")
- (version "1.8.0")
+ (version "1.8.1")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -2251,7 +2251,7 @@ a command.")
(file-name (git-file-name name version))
(sha256
(base32
- "0ba30swqxxbpa8866chymywnahby1hk670zzkz44q49328i2wksj"))))
+ "1fbj9s49y5yx5i429awv9rybacfgvhwp7v5h0zw67bpgx4qs44pa"))))
(build-system emacs-build-system)
(home-page "https://github.com/rnkn/olivetti")
(synopsis "Emacs minor mode for a nice writing environment")
@@ -3358,7 +3358,7 @@ word (to avoid repetitions for example).")
(define-public emacs-elisp-demos
(package
(name "emacs-elisp-demos")
- (version "2019.08.16")
+ (version "2019.12.01")
(source
(origin
(method git-fetch)
@@ -3368,7 +3368,7 @@ word (to avoid repetitions for example).")
(file-name (git-file-name name version))
(sha256
(base32
- "0lybadq66bl4snkwph9i1y0qxln29wyfjn222ii3nfwany28cj66"))))
+ "097d8xhvq0770z96wlhiv4gz98cq89pwx5fa42zpfh4p85qj4q9z"))))
(build-system emacs-build-system)
(arguments
`(#:include '("\\.el$" "\\.org$")
@@ -3490,14 +3490,14 @@ source code using IPython.")
(define-public emacs-debbugs
(package
(name "emacs-debbugs")
- (version "0.20")
+ (version "0.21")
(source (origin
(method url-fetch)
(uri (string-append "https://elpa.gnu.org/packages/debbugs-"
version ".tar"))
(sha256
(base32
- "03mmb1zvbqlsznl5agq8k3xrlcz310vnsa2zn0y8myanm4ra51zm"))))
+ "1xx1wjfpsnwx2fpydqhwy9k1b5kjk8dqbkzf8lqaj9c4rvjbn50a"))))
(build-system emacs-build-system)
(arguments '(#:include '("\\.el$" "\\.wsdl$" "\\.info$")))
(propagated-inputs
@@ -3644,7 +3644,7 @@ These are distributed in separate files and can be used individually.")
(define-public emacs-irony-mode
(package
(name "emacs-irony-mode")
- (version "1.2.0")
+ (version "1.4.0")
(home-page "https://github.com/Sarcasm/irony-mode")
(source (origin
(method git-fetch)
@@ -3654,7 +3654,7 @@ These are distributed in separate files and can be used individually.")
(file-name (git-file-name name version))
(sha256
(base32
- "0nhjrnlmss535jbshjjd30vydbr8py21vkx4p294w6d8vg2rssf8"))))
+ "0n2nfcq58md1p2xdhq1smh8v7lsyj0ci7ma5xyd6bkg5rvhsh10i"))))
(build-system emacs-build-system)
(inputs `(("server" ,emacs-irony-mode-server)))
(arguments `(#:phases
@@ -6697,16 +6697,16 @@ of its name.")
(define-public emacs-rainbow-mode
(package
(name "emacs-rainbow-mode")
- (version "1.0.1")
+ (version "1.0.2")
(source (origin
(method url-fetch)
(uri (string-append
- "http://elpa.gnu.org/packages/rainbow-mode-" version ".el"))
+ "https://elpa.gnu.org/packages/rainbow-mode-" version ".el"))
(sha256
(base32
- "0cpga4ax635rfpj7y2vmh7ank0yw00dcy20gjg1mj74r97by8csf"))))
+ "1zfqj63sr07pdlwy7caz4fxsjhmbhh939n81z6jxq9xggm8ajxkd"))))
(build-system emacs-build-system)
- (home-page "http://elpa.gnu.org/packages/rainbow-mode.html")
+ (home-page "https://elpa.gnu.org/packages/rainbow-mode.html")
(synopsis "Colorize color names in buffers")
(description
"This minor mode sets background color to strings that match color
@@ -8948,7 +8948,7 @@ actually changing the buffer's text.")
(define-public emacs-diff-hl
(package
(name "emacs-diff-hl")
- (version "1.8.6")
+ (version "1.8.7")
(source
(origin
(method git-fetch)
@@ -8957,8 +8957,7 @@ actually changing the buffer's text.")
(commit version)))
(file-name (git-file-name name version))
(sha256
- (base32
- "1xlsg728mz3cwhrsqvisa0aidic67nymd9g7h4c1h3q63j39yb2s"))))
+ (base32 "0i7x6qgr3nydcwhw72sbc8z9x9dfhgkf0dqj9nakvx36vn1bblbq"))))
(build-system emacs-build-system)
(home-page "https://github.com/dgutov/diff-hl")
(synopsis
@@ -9865,8 +9864,7 @@ Emacs.")
(substitute* "bin/ert-runner"
(("ERT_RUNNER=\"\\$\\(dirname \\$\\(dirname \\$0\\)\\)")
(string-append "ERT_RUNNER=\"" out
- "/share/emacs/site-lisp/guix.d/ert-runner-"
- ,version)))
+ "/share/emacs/site-lisp")))
(install-file "bin/ert-runner" (string-append out "/bin"))
(wrap-program (string-append out "/bin/ert-runner")
(list "EMACSLOADPATH" ":" 'prefix
@@ -11955,8 +11953,7 @@ object has been freed.")
(install-file "sqlite/emacsql-sqlite"
(string-append out "/bin"))
(for-each (cut install-file <>
- (string-append out "/share/emacs/site-lisp/guix.d/"
- "emacsql" "-" ,version))
+ (string-append out "/share/emacs/site-lisp"))
(find-files "." "\\.elc*$")))
#t)))))
(inputs
@@ -17808,19 +17805,14 @@ as Emacs Lisp.")
#:imported-modules (,@%gnu-build-system-modules
(guix build emacs-utils))
#:tests? #f ; tests are not included in the release
- #:make-flags (list "lisp" "info"
- (string-append "LOAD_PATH=-L . -L "
- (assoc-ref %build-inputs "dash")
- "/share/emacs/site-lisp/guix.d/dash-"
- ,(package-version emacs-dash)))
+ #:make-flags (list "lisp" "info")
#:phases
(modify-phases %standard-phases
(delete 'configure)
(replace 'install
(lambda* (#:key inputs outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
- (lisp (string-append out "/share/emacs/site-lisp/guix.d/"
- "transient" "-" ,version))
+ (lisp (string-append out "/share/emacs/site-lisp"))
(info (string-append out "/share/info")))
(for-each (cut install-file <> lisp)
(find-files "." "\\.elc*$"))
@@ -19955,3 +19947,140 @@ Google guidelines.")
(description "Helm Fish Completion is a Helm interface for Emacs
fish-completion. It can be used in both Eshell and M-x shell.")
(license license:gpl3+))))
+
+(define-public emacs-telega
+ (let ((commit "019e923f933370d75dbe0a8473a18eb66fe94c0e")
+ (revision "1")
+ (version "0.4.4"))
+ (package
+ (name "emacs-telega")
+ (version (git-version version revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/zevlg/telega.el.git")
+ (commit commit)))
+ (sha256
+ (base32
+ "058814agkq8mp9ajpj8sz51rm9nigs2xpsdij05wjkxhfq30kqva"))
+ (file-name (git-file-name name version))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:tests? #f
+ #:modules ((guix build gnu-build-system)
+ ((guix build emacs-build-system) #:prefix emacs:)
+ (guix build utils)
+ (guix build emacs-utils))
+ #:imported-modules (,@%gnu-build-system-modules
+ (guix build emacs-build-system)
+ (guix build emacs-utils))
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'unpack-patch
+ (lambda _
+ (substitute* "server/Makefile"
+ (("CC=cc")
+ "CC=gcc")
+ (("INSTALL_PREFIX=\\$\\(HOME\\)/.telega")
+ (string-append "INSTALL_PREFIX=" (assoc-ref %outputs "out")
+ "/bin")))
+ #t))
+ (delete 'configure)
+
+ ;; Build emacs-side using `emacs-build-system'
+ (add-after 'compress-documentation 'emacs-add-source-to-load-path
+ (assoc-ref emacs:%standard-phases 'add-source-to-load-path))
+ (add-after 'emacs-set-emacs-load-path 'emacs-install
+ (assoc-ref emacs:%standard-phases 'install))
+ (add-after 'emacs-install 'emacs-build
+ (assoc-ref emacs:%standard-phases 'build))
+ (add-after 'emacs-install 'emacs-make-autoloads
+ (assoc-ref emacs:%standard-phases 'make-autoloads)))))
+ (propagated-inputs
+ `(("emacs-visual-fill-column" ,emacs-visual-fill-column)))
+ (native-inputs
+ `(("tdlib" ,tdlib)
+ ("emacs" ,emacs-minimal)))
+ (synopsis "GNU Emacs client for the Telegram messenger")
+ (description
+ "Telega is full-featured, unofficial client for the Telegram messaging
+platform for GNU Emacs.")
+ (home-page "https://github.com/zevlg/telega.el")
+ (license license:gpl3+))))
+
+(define-public emacs-doom-modeline
+ (package
+ (name "emacs-doom-modeline")
+ (version "2.8.0")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/seagle0128/doom-modeline.git")
+ (commit (string-append "v" version))))
+ (sha256
+ (base32
+ "12zksk0rwpgpdc00km3z0hmc8wm1j1r8lbwn4kivniw56mgy0n22"))
+ (file-name (git-file-name name version))))
+ (build-system emacs-build-system)
+ (arguments
+ `(#:test-command '("ert-runner")))
+ (native-inputs `(("emacs-ert-runner" ,emacs-ert-runner)))
+ (propagated-inputs
+ `(("emacs-all-the-icons" ,emacs-all-the-icons)
+ ("emacs-shrink-path" ,emacs-shrink-path)))
+ (synopsis "Fancy and fast mode-line inspired by minimalism design")
+ (description "Doom modeline is a complete modeline for GNU Emacs inspired
+by the Doom theme collection. This modeline features support for mode-specific
+icon support, git integration, and several other utilities.")
+ (home-page "https://github.com/seagle0128/doom-modeline/")
+ (license license:gpl3+)))
+
+(define-public emacs-shrink-path
+ (package
+ (name "emacs-shrink-path")
+ (version "0.3.1")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://gitlab.com/bennya/shrink-path.el.git")
+ (commit (string-append "v" version))))
+ (sha256
+ (base32
+ "0kx0c4syd7k6ff9j463bib32pz4wq0rzjlg6b0yqnymlzfr1mbki"))
+ (file-name (git-file-name name version))))
+ (build-system emacs-build-system)
+ (propagated-inputs
+ `(("emacs-s" ,emacs-s)
+ ("emacs-dash" ,emacs-dash)
+ ("emacs-f" ,emacs-f)))
+ (home-page "https://gitlab.com/bennya/shrink-path.el")
+ (synopsis "Fish-style path truncation in emacs-lisp")
+ (description "This package provides utility functions that allow for
+Fish-style truncated directories in eshell and various modelines.")
+ (license license:gpl3+)))
+
+(define-public emacs-org-present
+ (let ((commit "d13acd70eff6a1608bc991920232146a0de76b21"))
+ (package
+ (name "emacs-org-present")
+ (version "0.0.1")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/rlister/org-present.git")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0jz8xiny3rv9ql0p623byz32pip1b82j2c2nyfz2wd114kiabb6q"))))
+ (build-system emacs-build-system)
+ (synopsis "Ultra-minimalist presentation minor-mode for Emacs org-mode")
+ (description "Org-present is an extremely minimalist presentation tool
+for Emacs org-mode. Simply layout your presentation with each slide under a
+top-level header, start the minor mode with @code{org-present}, and page through
+each slide with left/right keys.")
+ (home-page "https://github.com/rlister/org-present")
+ (license license:gpl2))))
diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm
index 16f9af0a0a..95859b8a88 100644
--- a/gnu/packages/emacs.scm
+++ b/gnu/packages/emacs.scm
@@ -186,11 +186,9 @@
(native-search-paths
(list (search-path-specification
(variable "EMACSLOADPATH")
- ;; The versioned entries are for the Emacs' builtin libraries.
- (files (list (string-append "share/emacs/" version "/site-lisp")
- (string-append "share/emacs/" version "/lisp")
- "share/emacs/site-lisp"))
- (file-pattern ".*")) ;recursively add any sub directory
+ ;; The versioned entry is for the Emacs' builtin libraries.
+ (files (list (string-append "share/emacs/" version "/lisp")
+ "share/emacs/site-lisp")))
(search-path-specification
(variable "INFOPATH")
(files '("share/info")))))
diff --git a/gnu/packages/emulators.scm b/gnu/packages/emulators.scm
index 577894cbe2..0ab6ee7c9a 100644
--- a/gnu/packages/emulators.scm
+++ b/gnu/packages/emulators.scm
@@ -1062,7 +1062,18 @@ emulation community. It provides highly accurate emulation.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "0y7rcpz7psf8k3agsrq277jdm651vbnn9xpqvmj2in1a786idya7"))))
+ (base32 "0y7rcpz7psf8k3agsrq277jdm651vbnn9xpqvmj2in1a786idya7"))
+ (patches
+ (search-patches "retroarch-disable-online-updater.patch"))
+ (modules '((guix build utils)))
+ (snippet
+ '(begin
+ ;; Don't suggest using the Online Updater if available: it never
+ ;; is. This disables translation of this particular message.
+ (substitute* (find-files "menu/drivers" "\\.c$")
+ (("msg_hash_to_str\\(MSG_MISSING_ASSETS\\)")
+ "\"Warning: Missing assets, go get some\""))
+ #t))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f ; no tests
@@ -1074,7 +1085,7 @@ emulation community. It provides highly accurate emulation.")
(etc (string-append out "/etc"))
(vulkan (assoc-ref inputs "vulkan-loader"))
(wayland-protocols (assoc-ref inputs "wayland-protocols")))
- ;; Hard-code the path to libvulkan.so.
+ ;; Hard-code some store file names.
(substitute* "gfx/common/vulkan_common.c"
(("libvulkan.so") (string-append vulkan "/lib/libvulkan.so")))
(substitute* "gfx/common/wayland/generate_wayland_protos.sh"
@@ -1082,10 +1093,12 @@ emulation community. It provides highly accurate emulation.")
(string-append wayland-protocols "/share/wayland-protocols")))
(substitute* "qb/qb.libs.sh"
(("/bin/true") (which "true")))
+
;; Use shared zlib.
(substitute* '("libretro-common/file/archive_file_zlib.c"
"libretro-common/streams/trans_stream_zlib.c")
(("<compat/zlib.h>") "<zlib.h>"))
+
;; The configure script does not yet accept the extra arguments
;; (like ‘CONFIG_SHELL=’) passed by the default configure phase.
(invoke
@@ -1095,7 +1108,8 @@ emulation community. It provides highly accurate emulation.")
'("--enable-neon" "--enable-floathard")
'())
(string-append "--prefix=" out)
- (string-append "--global-config-dir=" etc))))))))
+ (string-append "--global-config-dir=" etc)
+ "--disable-builtinminiupnpc")))))))
(inputs
`(("alsa-lib" ,alsa-lib)
("ffmpeg" ,ffmpeg)
@@ -1106,6 +1120,7 @@ emulation community. It provides highly accurate emulation.")
("libxrandr" ,libxrandr)
("libxv" ,libxv)
("mesa" ,mesa)
+ ("miniupnpc" ,miniupnpc)
("openal" ,openal)
("pulseaudio" ,pulseaudio)
("python" ,python)
@@ -1132,7 +1147,7 @@ multi-system game/emulator system.")
(define-public scummvm
(package
(name "scummvm")
- (version "2.0.0")
+ (version "2.1.0")
(source
(origin
(method url-fetch)
@@ -1140,10 +1155,10 @@ multi-system game/emulator system.")
"/scummvm-" version ".tar.xz"))
(sha256
(base32
- "0q6aiw97wsrf8cjw9vjilzhqqsr2rw2lll99s8i5i9svan6l314p"))))
+ "09zp2mxmida6sz5vrr5bzyv8c3yjvq2xqmpmcllbadhmd9cwcl3b"))))
(build-system gnu-build-system)
(arguments
- `(#:tests? #f ;require "git"
+ `(#:tests? #f ;require "git"
#:configure-flags (list "--enable-release") ;for optimizations
#:phases
(modify-phases %standard-phases
@@ -1165,6 +1180,7 @@ multi-system game/emulator system.")
("faad2" ,faad2)
("fluidsynth" ,fluidsynth)
("freetype" ,freetype)
+ ("liba52" ,liba52)
("libflac" ,flac)
("libjpeg-turbo" ,libjpeg-turbo)
("libmad" ,libmad)
@@ -1174,7 +1190,7 @@ multi-system game/emulator system.")
("libtheora" ,libtheora)
("libvorbis" ,libvorbis)
("nasm" ,nasm)
- ("sdl2" ,sdl2)
+ ("sdl2" ,(sdl-union (list sdl2 sdl2-net)))
("zlib" ,zlib)))
(home-page "https://www.scummvm.org/")
(synopsis "Engine for several graphical adventure games")
@@ -1188,7 +1204,7 @@ play them on systems for which they were never designed!")
(define-public mame
(package
(name "mame")
- (version "0.215")
+ (version "0.216")
(source
(origin
(method git-fetch)
@@ -1198,7 +1214,7 @@ play them on systems for which they were never designed!")
(file-name (git-file-name name version))
(sha256
(base32
- "1fj2qahi0fpn41zxph06wdgjashy6vsgj0gqfly8hvcmv99r3d65"))
+ "1q3mrlinkg3hxry7ssl5713lclz3k243q30933flxh99fnzgajwc"))
(modules '((guix build utils)))
(snippet
;; Remove bundled libraries.
diff --git a/gnu/packages/freedesktop.scm b/gnu/packages/freedesktop.scm
index a8b469f313..6c459db8b5 100644
--- a/gnu/packages/freedesktop.scm
+++ b/gnu/packages/freedesktop.scm
@@ -879,13 +879,13 @@ message bus.")
(package
(name "accountsservice")
(version "0.6.50")
- (source (origin
- (method url-fetch)
- (uri (string-append "https://www.freedesktop.org/software/"
- name "/" name "-" version ".tar.xz"))
- (sha256
- (base32
- "0jn7vg1z4vxnna0hl33hbcb4bb3zpilxc2vyclh24vx4vvsjhn83"))))
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://www.freedesktop.org/software/"
+ "accountsservice/accountsservice-" version ".tar.xz"))
+ (sha256
+ (base32 "0jn7vg1z4vxnna0hl33hbcb4bb3zpilxc2vyclh24vx4vvsjhn83"))))
(build-system gnu-build-system)
(arguments
'(#:tests? #f ; XXX: tests require DocBook 4.1.2
diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm
index b25133db78..8dd08844ee 100644
--- a/gnu/packages/games.scm
+++ b/gnu/packages/games.scm
@@ -4938,9 +4938,9 @@ fight against their plot and save his fellow rabbits from slavery.")
(home-page "https://play0ad.com")
(license (list (license:fsdg-compatible
"http://tavmjong.free.fr/FONTS/ArevCopyright.txt"
- (license:license-comment
- (package-license font-bitstream-vera)))
- (package-license font-bitstream-vera)
+ "Similar to the license of the Bitstream Vera fonts.")
+ (license:fsdg-compatible
+ "https://www.gnome.org/fonts/#Final_Bitstream_Vera_Fonts")
license:cc-by-sa3.0
license:expat
license:gfl1.0
@@ -6812,7 +6812,7 @@ where the player draws runes in real time to effect the desired spell.")
(define-public edgar
(package
(name "edgar")
- (version "1.31")
+ (version "1.32")
(source
(origin
(method url-fetch)
@@ -6820,7 +6820,7 @@ where the player draws runes in real time to effect the desired spell.")
(string-append "https://github.com/riksweeney/edgar/releases/download/"
version "/edgar-" version "-1.tar.gz"))
(sha256
- (base32 "0i4851ci8a86ql4bhdq3xdfmf4b9z5zrd4xpc6vhi06697zgm13i"))))
+ (base32 "12lam6qcscc5ima1w2ksd1cvsvxbd17h6mqkgsqpzx8ap43p2r5p"))))
(build-system gnu-build-system)
(arguments '(#:tests? #f ; there are no tests
#:make-flags
@@ -7818,3 +7818,84 @@ remake of that series or any other game.")
the AlphaGo Zero paper. The current best network weights file for the engine
can be downloaded from @url{https://zero.sjeng.org/best-network}.")
(license license:gpl3+)))
+
+(define-public q5go
+ (package
+ (name "q5go")
+ (version "1.0")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/bernds/q5Go.git")
+ (commit (string-append "q5go-" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "1gdlfqcqkqv7vph3qwq78d0qz6dhmdsranxq9bmixiisbzkqby31"))))
+ (build-system gnu-build-system)
+ (native-inputs
+ `(("pkg-config" ,pkg-config)))
+ (inputs
+ `(("qtbase" ,qtbase)
+ ("qtmultimedia" ,qtmultimedia)
+ ("qtsvg" ,qtsvg)))
+ (arguments
+ '(#:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'fix-configure-script
+ (lambda _
+ ;; Bypass the unavailable qtchooser program.
+ (substitute* "configure"
+ (("test -z \"QTCHOOSER\"")
+ "false")
+ (("qtchooser -run-tool=(.*) -qt=qt5" _ command)
+ command))
+ #t))
+ (add-after 'unpack 'fix-paths
+ (lambda _
+ (substitute* '("src/pics/Makefile.in"
+ "src/translations/Makefile.in")
+ (("\\$\\(datadir\\)/qGo/")
+ "$(datadir)/q5go/"))
+ #t))
+ (add-after 'install 'install-desktop-file
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+ (apps (string-append out "/share/applications"))
+ (pics (string-append out "/share/q5go/pics")))
+ (delete-file-recursively (string-append out "/share/applnk"))
+ (delete-file-recursively (string-append out "/share/mimelnk"))
+ (install-file "../source/src/pics/Bowl.ico" pics)
+ (mkdir-p apps)
+ (with-output-to-file (string-append apps "/q5go.desktop")
+ (lambda _
+ (format #t
+ "[Desktop Entry]~@
+ Name=q5go~@
+ Exec=~a/bin/q5go~@
+ Icon=~a/Bowl.ico~@
+ Categories=Game;~@
+ Comment=Game of Go~@
+ Comment[de]=Spiel des Go~@
+ Comment[eo]=Goo~@
+ Comment[es]=Juego de Go~@
+ Comment[fr]=Jeu de Go~@
+ Comment[ja]=囲碁~@
+ Comment[ko]=바둑~@
+ Comment[zh]=围棋~@
+ Terminal=false~@
+ Type=Application~%"
+ out pics))))
+ #t)))))
+ (synopsis "Qt GUI to play the game of Go")
+ (description
+ "This a tool for Go players which performs the following functions:
+@itemize
+@item SGF editor,
+@item Analysis frontend for Leela Zero (or compatible engines),
+@item GTP interface (to play against an engine),
+@item IGS client (to play on the internet),
+@item Export games to a variety of formats.
+@end itemize")
+ (home-page "https://github.com/bernds/q5Go")
+ (license license:gpl2+)))
diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index 4e5e8cdbfd..d7df8e9836 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -75,6 +75,7 @@
#:use-module (gnu packages check)
#:use-module (gnu packages cmake)
#:use-module (gnu packages compression)
+ #:use-module (gnu packages crates-io)
#:use-module (gnu packages cups)
#:use-module (gnu packages curl)
#:use-module (gnu packages cyrus-sasl)
@@ -165,6 +166,7 @@
#:use-module (gnu packages xorg)
#:use-module (gnu packages xorg)
#:use-module (gnu artwork)
+ #:use-module (guix build-system cargo)
#:use-module (guix build-system cmake)
#:use-module (guix build-system glib-or-gtk)
#:use-module (guix build-system gnu)
@@ -177,6 +179,8 @@
#:use-module (guix packages)
#:use-module (guix utils)
#:use-module (guix gexp)
+ #:use-module (guix monads)
+ #:use-module (guix store)
#:use-module (ice-9 match)
#:use-module (srfi srfi-1))
@@ -1416,37 +1420,239 @@ dealing with different structured file formats.")
library.")
(license license:lgpl2.0+)))
+(define* (computed-origin-method gexp-promise hash-algo hash
+ #:optional (name "source")
+ #:key (system (%current-system))
+ (guile (default-guile)))
+ "Return a derivation that executes the G-expression that results
+from forcing GEXP-PROMISE."
+ (mlet %store-monad ((guile (package->derivation guile system)))
+ (gexp->derivation (or name "computed-origin")
+ (force gexp-promise)
+ #:graft? #f ;nothing to graft
+ #:system system
+ #:guile-for-build guile)))
+
+(define librsvg-next-source
+ (let* ((version "2.46.3")
+ (upstream-source (origin
+ (method url-fetch)
+ (uri (string-append "mirror://gnome/sources/librsvg/"
+ (version-major+minor version) "/"
+ "librsvg-" version ".tar.xz"))
+ (sha256
+ (base32
+ "1s3a96i7f4pynjwxxvhysp4b6r7kyi8nasdxfyi62hc7gm34d3kn")))))
+ (origin
+ (method computed-origin-method)
+ (file-name (string-append "librsvg-" version ".tar.xz"))
+ (sha256 #f)
+ (uri
+ (delay
+ (with-imported-modules '((guix build utils))
+ #~(begin
+ (use-modules (guix build utils))
+ (set-path-environment-variable
+ "PATH" '("bin")
+ (list "/tmp"
+ #+(canonical-package xz)
+ #+(canonical-package gzip)
+ #+(canonical-package tar)))
+ (invoke "tar" "xvf" #+upstream-source)
+ (with-directory-excursion (string-append "librsvg-" #$version)
+ (for-each
+ (lambda (crate)
+ (delete-file-recursively (string-append "vendor/" (car crate)))
+ (invoke "tar" "xvf" (cdr crate) "-C" "vendor"))
+ '(
+;; aho-corasick 0.7
+;; alga 0.9
+;; approx 0.3
+;; arrayvec 0.4
+ ("atty" . #+(package-source rust-atty-0.2))
+ ("autocfg" . #+(package-source rust-autocfg-0.1))
+ ("bitflags" . #+(package-source rust-bitflags-1))
+;; block 0.1
+;; bstr 0.2
+;; byteorder 1.3
+;; cairo-rs 0.7
+;; cairo-sys-rs 0.9
+;; cast 0.2
+ ("cfg-if" . #+(package-source rust-cfg-if-0.1))
+ ("clap" . #+(package-source rust-clap-2))
+ ;("cloudabi" . #+(package-source rust-cloudabi-0.0))
+;; criterion 0.2
+;; criterion-plot 0.3
+;; crossbeam-deque 0.7
+;; crossbeam-epoch 0.7
+;; crossbeam-queue 0.1
+;; crossbeam-utils 0.6
+;; cssparser 0.25
+;; cssparser-macros 0.3
+;; csv 1.1
+;; csv-core 0.1
+;; data-url 0.1
+;; downcast-rs 1.0
+ ("dtoa" . #+(package-source rust-dtoa-0.4))
+;; dtoa-short 0.3
+;; either 1.5
+;; encoding 0.2
+;; encoding-index-japanese 1.20141219.5
+;; encoding-index-korean 1.20141219.5
+;; encoding-index-simpchinese 1.20141219.5
+;; encoding-index-singlebyte 1.20141219.5
+;; encoding-index-tradchinese 1.20141219.5
+;; encoding_index_tests 0.1
+;; float-cmp 0.5
+;; fragile 0.3
+ ;("fuchsia-cprng" . #+(package-source rust-fuchsia-cprng-0.1))
+;; futf 0.1
+;; gdk-pixbuf 0.7
+;; gdk-pixbuf-sys 0.9
+;; generic-array 0.12
+;; gio 0.7
+;; gio-sys 0.9
+;; glib 0.8
+;; glib-sys 0.9
+;; gobject-sys 0.9
+;; idna 0.2
+;; itertools 0.8
+ ("itoa" . #+(package-source rust-itoa-0.4))
+ ;("language-tags" . #+(package-source rust-language-tags-0.2))
+ ("lazy_static" . #+(package-source rust-lazy-static-1.3))
+ ("libc" . #+(package-source rust-libc-0.2))
+;; libm 0.1
+;; locale_config 0.3
+ ("log" . #+(package-source rust-log-0.4))
+;; mac 0.1
+;; malloc_buf 0.0
+;; markup5ever 0.9
+ ;("matches" . #+(package-source rust-matches-0.1))
+;; matrixmultiply 0.2
+;; memchr 2.2
+;; memoffset 0.5
+;; nalgebra 0.18
+;; new_debug_unreachable 1.0
+ ("nodrop" . #+(package-source rust-nodrop-0.1))
+;; num-complex 0.2
+ ("num-integer" . #+(package-source rust-num-integer-0.1))
+;; num-rational 0.2
+ ("num-traits" . #+(package-source rust-num-traits-0.2))
+ ("num_cpus" . #+(package-source rust-num-cpus-1.10))
+;; objc 0.2
+;; objc-foundation 0.1
+;; objc_id 0.1
+;; pango 0.7
+;; pango-sys 0.9
+;; pangocairo 0.8
+;; pangocairo-sys 0.10
+ ("percent-encoding" . #+(package-source rust-percent-encoding-2.1))
+;; phf 0.7.24
+;; phf_codegen 0.7.24
+;; phf_generator 0.7.24
+;; phf_shared 0.7.24
+ ;("pkg-config" . #+(package-source rust-pkg-config-0.3))
+;; precomputed-hash 0.1
+ ("proc-macro2" . #+(package-source rust-proc-macro2-1.0))
+;; procedural-masquerade 0.1
+ ("quote" . #+(package-source rust-quote-1.0))
+ ;("rand" . #+(package-source rust-rand-0.6))
+ ("rand_chacha" . #+(package-source rust-rand-chacha-0.1))
+ ("rand_core-0.3.1" . #+(package-source rust-rand-core-0.3))
+ ("rand_core" . #+(package-source rust-rand-core-0.4))
+ ("rand_hc" . #+(package-source rust-rand-hc-0.1))
+ ("rand_isaac" . #+(package-source rust-rand-isaac-0.1))
+ ("rand_jitter" . #+(package-source rust-rand-jitter-0.1))
+ ("rand_os" . #+(package-source rust-rand-os-0.1))
+ ("rand_pcg" . #+(package-source rust-rand-pcg-0.1))
+ ("rand_xorshift" . #+(package-source rust-rand-xorshift-0.1))
+;; rand_xoshiro 0.1
+ ;("rawpointer" . #+(package-source rust-rawpointer-0.1))
+;; rayon 1.2
+;; rayon-core 1.6
+;; rctree 0.3
+ ("rdrand" . #+(package-source rust-rdrand-0.4))
+;; regex 1.3
+;; regex-automata 0.1
+ ;("regex-syntax" . #+(package-source rust-regex-syntax-0.6))
+;; rustc_version 0.2
+ ("ryu" . #+(package-source rust-ryu-1.0))
+ ("same-file" . #+(package-source rust-same-file-1.0))
+ ("scopeguard" . #+(package-source rust-scopeguard-1.0))
+;; semver 0.9
+ ;("semver-parser" . #+(package-source rust-semver-parser-0.7))
+ ("serde" . #+(package-source rust-serde-1.0))
+ ("serde_derive" . #+(package-source rust-serde-derive-1.0))
+ ("serde_json" . #+(package-source rust-serde-json-1.0))
+;; siphasher 0.2
+;; smallvec 0.6
+;; string_cache 0.7
+;; string_cache_codegen 0.4
+;; string_cache_shared 0.3
+ ("syn" . #+(package-source rust-syn-1.0))
+;; tendril 0.4
+ ("textwrap" . #+(package-source rust-textwrap-0.11))
+ ;("thread_local" . #+(package-source rust-thread-local-0.3))
+;; tinytemplate 1.0
+ ;("typenum" . #+(package-source rust-typenum-1.10))
+;; unicode-bidi 0.3
+;; unicode-normalization 0.1
+ ("unicode-width" . #+(package-source rust-unicode-width-0.1))
+ ("unicode-xid" . #+(package-source rust-unicode-xid-0.2))
+;; url 2.1
+;; utf-8 0.7
+ ("walkdir" . #+(package-source rust-walkdir-2.2))
+ ("winapi" . #+(package-source rust-winapi-0.3))
+ ;("winapi-i686-pc-windows-gnu" . #+(package-source rust-winapi-i686-pc-windows-gnu-0.4))
+ ("winapi-util" . #+(package-source rust-winapi-util-0.1))
+ ;("winapi-x86_64-pc-windows-gnu" . #+(package-source rust-winapi-x86-64-pc-windows-gnu-0.4))
+;; xml-rs 0.8
+ )))
+ (format #t "Replacing vendored crates in the tarball and repacking ...~%")
+ (force-output)
+ (invoke "tar" "cfa" #$output
+ ;; Avoid non-determinism in the archive. We set the
+ ;; mtime of files in the archive to early 1980 because
+ ;; the build process fails if the mtime of source
+ ;; files is pre-1980, due to the creation of zip
+ ;; archives.
+ "--mtime=@315619200" ; 1980-01-02 UTC
+ "--owner=root:0"
+ "--group=root:0"
+ "--sort=name"
+ (string-append "librsvg-" #$version))
+ #t)))))))
+
(define-public librsvg-next
(package
(name "librsvg")
(version "2.46.3")
- (source (origin
- (method url-fetch)
- (uri (string-append "mirror://gnome/sources/librsvg/"
- (version-major+minor version) "/"
- "librsvg-" version ".tar.xz"))
- (sha256
- (base32
- "1s3a96i7f4pynjwxxvhysp4b6r7kyi8nasdxfyi62hc7gm34d3kn"))))
+ (source librsvg-next-source)
(build-system gnu-build-system)
(arguments
`(#:configure-flags
(list "--disable-static"
"--enable-vala") ; needed for e.g. gnome-mines
#:make-flags '("CC=gcc")
+ #:imported-modules ,%cargo-utils-modules ;for `generate-all-checksums'
#:phases
(modify-phases %standard-phases
- ;; Don't patch anything in vendor/ to avoid having to recompute
- ;; checksums for the bundled Cargo "crates". TODO: Unbundle those.
- (delete 'patch-source-shebangs)
- (delete 'patch-generated-file-shebangs)
- (delete 'patch-usr-bin-file)
- (add-before 'configure 'patch-all-the-things
+ (add-after 'configure 'patch-cargo-checksums
(lambda _
- (for-each patch-shebang '("tap-driver.sh" "tap-test"))
- (patch-/usr/bin/file "configure")
- (patch-makefile-SHELL "po/Makefile.in.in")
- #t))
+ (use-modules (guix build cargo-utils))
+ (substitute* "librsvg/Cargo.toml"
+ (("bitflags .*") "bitflags = \"1\"\n")) ; 1.2 is vendored
+ (for-each
+ (lambda (filename)
+ (delete-file filename)
+ (let ((dir (dirname filename)))
+ (display (string-append
+ "patch-cargo-checksums: generate-checksums for "
+ dir "\n"))
+ (generate-checksums dir)))
+ (find-files "vendor" "\\.cargo(-checksum|_vcs_info).json"))
+ (delete-file "Cargo.lock")
+ (invoke "cargo" "generate-lockfile")))
(add-before 'configure 'pre-configure
(lambda* (#:key inputs #:allow-other-keys)
(substitute* "gdk-pixbuf-loader/Makefile.in"
@@ -7172,13 +7378,13 @@ like GNOME, Unity, Budgie, Pantheon, XFCE, Mate, etc.")
(version "4.3")
(source
(origin
- (method url-fetch)
- (uri (string-append "https://github.com/moka-project/"
- name "/archive/v" version ".tar.gz"))
- (file-name (string-append name "-" version ".tar.gz"))
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/snwh/faba-icon-theme.git")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
(sha256
- (base32
- "18ln06xl60qzvzz61zq9q72hdbfgjsza3flph8i2asyzx3dffz68"))))
+ (base32 "0xh6ppr73p76z60ym49b4d0liwdc96w41cc5p07d48hxjsa6qd6n"))))
(build-system meson-build-system)
(arguments
`(#:phases
@@ -7203,15 +7409,15 @@ Moka")
(inherit faba-icon-theme)
(name "moka-icon-theme")
(version "5.4.0")
- (source (origin
- (method url-fetch)
- (uri (string-append "https://github.com/moka-project"
- "/moka-icon-theme/archive/v"
- version ".tar.gz"))
- (file-name (string-append name "-" version ".tar.gz"))
- (sha256
- (base32
- "1nbwdjj268hxv9lfagd9aylily9f0hhallp841v0i3imljp84bmk"))))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/snwh/moka-icon-theme.git")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "015l02im4mha5z91dbchxf6xkp66d346bg3xskwg0rh3lglhjsrd"))))
(propagated-inputs
;; Moka is based on Faba by using it as a fallback icon set instead of
;; bundling it, so we need to add it as a propagated input.
@@ -7226,14 +7432,15 @@ simple and consistent.")
(package
(name "arc-icon-theme")
(version "20161122")
- (source (origin
- (method url-fetch)
- (uri (string-append "https://github.com/horst3180/arc-icon-theme"
- "/archive/" version ".tar.gz"))
- (file-name (string-append name "-" version ".tar.gz"))
- (sha256
- (base32
- "1ya1cqvv8q847c0rpcg6apzky87q3h04y8jz5nmi52qk6kg8si0b"))))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/horst3180/arc-icon-theme.git")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1ch3hp08qri93510hypzz6m2x4xgg2h15wvnhjwh1x1s1b7jvxjd"))))
(build-system gnu-build-system)
(arguments
`(#:phases
diff --git a/gnu/packages/gnupg.scm b/gnu/packages/gnupg.scm
index 23d3aba90e..12ec975c24 100644
--- a/gnu/packages/gnupg.scm
+++ b/gnu/packages/gnupg.scm
@@ -906,15 +906,15 @@ passphrase when @code{gpg} is run and needs it.")))
(define-public paperkey
(package
(name "paperkey")
- (version "1.5")
+ (version "1.6")
(source (origin
(method url-fetch)
- (uri (string-append "http://www.jabberwocky.com/"
+ (uri (string-append "https://www.jabberwocky.com/"
"software/paperkey/paperkey-"
version ".tar.gz"))
(sha256
(base32
- "1prd2jaf4zjad3xhv160hmi5n408ssljfg7iz90jxs9w111pjwy4"))))
+ "1xq5gni6gksjkd5avg0zpd73vsr97appksfx0gx2m38s4w9zsid2"))))
(build-system gnu-build-system)
(arguments
`(#:phases
@@ -925,7 +925,7 @@ passphrase when @code{gpg} is run and needs it.")))
"checks/roundtrip-raw.sh")
(("/bin/echo") "echo"))
#t)))))
- (home-page "http://www.jabberwocky.com/software/paperkey/")
+ (home-page "https://www.jabberwocky.com/software/paperkey/")
(synopsis "Backup OpenPGP keys to paper")
(description
"Paperkey extracts the secret bytes from an OpenPGP (GnuPG, PGP, etc) key
diff --git a/gnu/packages/gnuzilla.scm b/gnu/packages/gnuzilla.scm
index c68b2884f7..2f15beecc7 100644
--- a/gnu/packages/gnuzilla.scm
+++ b/gnu/packages/gnuzilla.scm
@@ -550,8 +550,8 @@ from forcing GEXP-PROMISE."
#:system system
#:guile-for-build guile)))
-(define %icecat-version "68.2.0-guix0-preview3")
-(define %icecat-build-id "20191031000000") ;must be of the form YYYYMMDDhhmmss
+(define %icecat-version "68.3.0-guix0-preview1")
+(define %icecat-build-id "20191204000000") ;must be of the form YYYYMMDDhhmmss
;; 'icecat-source' is a "computed" origin that generates an IceCat tarball
;; from the corresponding upstream Firefox ESR tarball, using the 'makeicecat'
@@ -573,11 +573,11 @@ from forcing GEXP-PROMISE."
"firefox-" upstream-firefox-version ".source.tar.xz"))
(sha256
(base32
- "0f3gf5gwhxabm6xs29nlxmfqdw3fs7v458vq1fydrglfyvmc5wc5"))))
+ "0sfwp9vyjizj1lkvj6z51r85dl41q3l8380fkdyqdbp7f2d18cg1"))))
- (upstream-icecat-base-version "68.2.0") ; maybe older than base-version
+ (upstream-icecat-base-version "68.3.0") ; maybe older than base-version
;;(gnuzilla-commit (string-append "v" upstream-icecat-base-version))
- (gnuzilla-commit "930298e1efff3e40721659d8fd7118cdd2477bd4")
+ (gnuzilla-commit "85e99badac11983f6d50b0d9942f66a30f55b8e5")
(gnuzilla-source
(origin
(method git-fetch)
@@ -589,10 +589,8 @@ from forcing GEXP-PROMISE."
(string-take gnuzilla-commit 8)))
(sha256
(base32
- "14g57b0262qq5s0w8b1lrk8wkvg7m068dfi0ilvhg2q5jrxk3cd0"))))
+ "00mb734yvm0r7i64mbg7hvrvhbwkcii9f9hjgwi37aizd9k0n78a"))))
- (gnuzilla-fixes-patch
- (local-file (search-patch "icecat-gnuzilla-fixes.patch")))
(makeicecat-patch
(local-file (search-patch "icecat-makeicecat.patch"))))
@@ -639,8 +637,6 @@ from forcing GEXP-PROMISE."
(with-directory-excursion "/tmp/gnuzilla"
(make-file-writable "makeicecat")
(invoke "patch" "--force" "--no-backup-if-mismatch"
- "-p1" "--input" #+gnuzilla-fixes-patch)
- (invoke "patch" "--force" "--no-backup-if-mismatch"
"-p1" "--input" #+makeicecat-patch)
(patch-shebang "makeicecat")
(substitute* "makeicecat"
@@ -658,8 +654,6 @@ from forcing GEXP-PROMISE."
(string-append "FFSUB=" #$sub-version "\n"))
(("^DATA=.*")
"DATA=/tmp/gnuzilla/data\n")
- (("^find extensions/gnu/ ")
- "find extensions/gnu/ | sort ")
(("/bin/sed")
#+(file-append (canonical-package sed) "/bin/sed"))))
@@ -703,7 +697,7 @@ from forcing GEXP-PROMISE."
(force-output)
(invoke "bash" "/tmp/gnuzilla/makeicecat"))
- (format #t "Packing new IceCat tarball...~%")
+ (format #t "Packing IceCat source tarball...~%")
(force-output)
(invoke "tar" "cfa" #$output
;; Avoid non-determinism in the archive. We set the
@@ -811,6 +805,10 @@ from forcing GEXP-PROMISE."
"--with-distribution-id=org.gnu"
+ ;; Do not require addons in the global app
+ ;; directory to be signed by Mozilla.
+ "--with-unsigned-addon-scopes=app"
+
"--enable-startup-notification"
"--enable-pulseaudio"
diff --git a/gnu/packages/graph.scm b/gnu/packages/graph.scm
index 326477730b..52db619fb3 100644
--- a/gnu/packages/graph.scm
+++ b/gnu/packages/graph.scm
@@ -43,6 +43,7 @@
#:use-module (gnu packages multiprecision)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages python)
+ #:use-module (gnu packages python-science)
#:use-module (gnu packages python-web)
#:use-module (gnu packages python-xyz)
#:use-module (gnu packages statistics)
diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm
index 02ec32ca27..379e09d9f5 100644
--- a/gnu/packages/gtk.scm
+++ b/gnu/packages/gtk.scm
@@ -1376,15 +1376,15 @@ and routines to assist in editing internationalized text.")
(define-public girara
(package
(name "girara")
- (version "0.3.2")
+ (version "0.3.3")
(source (origin
(method url-fetch)
(uri
(string-append "https://pwmt.org/projects/girara/download/girara-"
- version ".tar.xz"))
+ version ".tar.gz"))
(sha256
(base32
- "1kc6n1mxjxa7wvwnqy94qfg8l9jvx9qrvrr2kc7m4g0z20x3a00p"))))
+ "13vr62kkkqs2xsrmsn114n6c6084ix1qyjksczqsc3s2y3bdsmj4"))))
(native-inputs `(("pkg-config" ,pkg-config)
("check" ,check)
("gettext" ,gettext-minimal)
diff --git a/gnu/packages/guile-xyz.scm b/gnu/packages/guile-xyz.scm
index e2eee47457..4b18bd43da 100644
--- a/gnu/packages/guile-xyz.scm
+++ b/gnu/packages/guile-xyz.scm
@@ -2629,8 +2629,8 @@ clean and easy to use high level API.")
(license license:gpl3+)))
(define-public guile-ffi-fftw
- (let ((commit "95d7ffb55860f3163c5283ecec1ef43bc3d174dd")
- (revision "1"))
+ (let ((commit "294ad9e7491dcb40026d2fec9be2af05263be1c0")
+ (revision "2"))
(package
(name "guile-ffi-fftw")
(version (git-version "0" revision commit))
@@ -2642,7 +2642,7 @@ clean and easy to use high level API.")
(file-name (git-file-name "guile-ffi-fftw" version))
(sha256
(base32
- "0v9vk9cr4x9gn36lihi9gfkxyiqak0i598v5li6qw8bg95004p49"))))
+ "08j40a5p6a8pgvhffmzb5rfdnrav2mksy3gfjkdqy93jfj1z5afg"))))
(build-system guile-build-system)
(arguments
`(#:source-directory "mod"
@@ -2668,9 +2668,7 @@ library's ‘guru interface’. It provides two functions: @code{fftw-dft! rank
sign in out} and @code{fftw-dft rank sign in}. These bindings being minimal,
there is no support for computing & reusing plans, or split r/i transforms, or
anything other than straight complex DFTs.")
- ;; TODO: This might actually be LGPLv3+
- ;; See https://github.com/lloda/guile-ffi-fftw/issues/1
- (license license:gpl3+))))
+ (license license:lgpl3+))))
(define-public srfi-64-driver
(package
diff --git a/gnu/packages/image-processing.scm b/gnu/packages/image-processing.scm
index 1961b47361..f5d67c8917 100644
--- a/gnu/packages/image-processing.scm
+++ b/gnu/packages/image-processing.scm
@@ -75,7 +75,7 @@
(define-public dcmtk
(package
(name "dcmtk")
- (version "3.6.4")
+ (version "3.6.5")
(source
(origin
(method url-fetch)
@@ -84,7 +84,7 @@
"dcmtk" (string-join (string-split version #\.) "")
"/dcmtk-" version ".tar.gz"))
(sha256
- (base32 "1h22z8g0kmvhg8lgkbikyzyphhvxvq6018a00yd6i4g0z9ag6gx9"))))
+ (base32 "1fdyz5wwjp4grys61mxb2ia9fi6i3ax6s43l16xnv291bxk7hld0"))))
(build-system cmake-build-system)
(inputs
`(;; Our ICU is too recent: “error: ‘UChar’ does not name a type“.
diff --git a/gnu/packages/image.scm b/gnu/packages/image.scm
index 69e4d1e08c..731a1e8aed 100644
--- a/gnu/packages/image.scm
+++ b/gnu/packages/image.scm
@@ -64,6 +64,7 @@
#:use-module (gnu packages maths)
#:use-module (gnu packages mcrypt)
#:use-module (gnu packages mp3)
+ #:use-module (gnu packages ncurses)
#:use-module (gnu packages perl)
#:use-module (gnu packages photo)
#:use-module (gnu packages pkg-config)
@@ -81,7 +82,6 @@
#:use-module (guix build-system cmake)
#:use-module (guix build-system meson)
#:use-module (guix build-system python)
- #:use-module (guix build-system r)
#:use-module (guix build-system scons)
#:use-module (srfi srfi-1))
@@ -1667,26 +1667,6 @@ Features:
@end itemize\n")
(license license:gpl3+)))
-(define-public r-jpeg
- (package
- (name "r-jpeg")
- (version "0.1-8.1")
- (source
- (origin
- (method url-fetch)
- (uri (cran-uri "jpeg" version))
- (sha256
- (base32
- "1a8mi70x79a691r40yiw684jkg1mr9n8agkxlcksxcnrdybs9c0x"))))
- (build-system r-build-system)
- (inputs `(("libjpeg" ,libjpeg)))
- (home-page "http://www.rforge.net/jpeg/")
- (synopsis "Read and write JPEG images with R")
- (description "This package provides a way to read, write and display bitmap
-images stored in the JPEG format with R. It can read and write both files and
-in-memory raw vectors.")
- (license license:gpl2+)))
-
(define-public gifsicle
(package
(name "gifsicle")
@@ -1733,28 +1713,24 @@ lightweight animated-GIF viewer, and @command{gifdiff} compares two GIFs for
identical visual appearance.")
(license license:gpl2+)))
+;; 1.0.7 is buggy and reverted in git repository.
(define-public jp2a
(package
(name "jp2a")
- (version "1.0.7")
+ (version "1.0.6")
(source
(origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/cslarsen/jp2a.git")
- (commit (string-append "v" version))))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "12a1z9ba2j16y67f41y8ax5sgv1wdjd71pg7circdxkj263n78ql"))))
+ (method url-fetch)
+ (uri (string-append "mirror://debian/pool/main/j/jp2a/jp2a_"
+ version ".orig.tar.gz"))
+ (sha256
+ (base32
+ "076frk3pa16s4r1b10zgy81vdlz0385zh3ykbnkaij25jn5aqc09"))))
(build-system gnu-build-system)
(inputs
- `(("libjpeg" ,libjpeg)
- ("curl" ,curl)))
- (native-inputs
- `(("autoconf" ,autoconf)
- ("automake" ,automake)
- ("pkg-config" ,pkg-config)))
+ `(("curl" ,curl)
+ ("libjpeg" ,libjpeg)
+ ("ncurses" ,ncurses)))
(home-page "https://csl.name/jp2a/")
(synopsis "Convert JPEG images to ASCII")
(description
diff --git a/gnu/packages/irc.scm b/gnu/packages/irc.scm
index 4a2e33d8fc..ae3ef8234a 100644
--- a/gnu/packages/irc.scm
+++ b/gnu/packages/irc.scm
@@ -327,13 +327,13 @@ using a mouse. It is customizable and extensible with plugins and scripts.")
(define-public limnoria
(package
(name "limnoria")
- (version "2019.11.09")
+ (version "2019.11.22")
(source
(origin
(method url-fetch)
(uri (pypi-uri "limnoria" version))
(sha256
- (base32 "1ni25jmri0928jj2c24xw5f2fzljjla54zh80fimks1aa5752j29"))))
+ (base32 "0853xk1ps3v6lkmfx50wv56vynnzpl84v66hxnhl8i34zl36kk3c"))))
(build-system python-build-system)
(inputs
`(("python-pytz" ,python-pytz)
diff --git a/gnu/packages/jupyter.scm b/gnu/packages/jupyter.scm
index fbb4367ea5..e65a8bd6c9 100644
--- a/gnu/packages/jupyter.scm
+++ b/gnu/packages/jupyter.scm
@@ -30,7 +30,6 @@
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages python)
#:use-module (gnu packages python-xyz)
- #:use-module (gnu packages serialization)
#:use-module (gnu packages time)
#:use-module (gnu packages tls))
@@ -168,7 +167,7 @@ Messaging Protocol}.")
("python-jupyter-client" ,python-jupyter-client)))
(inputs
`(("xtl" ,xtl)
- ("nlohmann-json-cpp" ,nlohmann-json-cpp)
+ ("json-modern-cxx" ,json-modern-cxx)
("cppzmq" ,cppzmq)
("zeromq" ,zeromq)
("openssl" ,openssl)
diff --git a/gnu/packages/kde.scm b/gnu/packages/kde.scm
index 742e003433..b4cbd5a721 100644
--- a/gnu/packages/kde.scm
+++ b/gnu/packages/kde.scm
@@ -26,6 +26,7 @@
(define-module (gnu packages kde)
#:use-module (guix build-system cmake)
+ #:use-module (guix build-system qt)
#:use-module (guix download)
#:use-module (guix git-download)
#:use-module ((guix licenses) #:prefix license:)
@@ -541,28 +542,15 @@ different notification systems.")
(sha256
(base32
"02lr3xx5s2mgddac4n3lkgr7ppf1z5m6ajs90rjix0vs8a271kp5"))))
- (build-system cmake-build-system)
+ (build-system qt-build-system)
(arguments
`(#:configure-flags '("-DBUILD_TESTING=ON")
#:tests? #f ; tests fail hard in our build environment
- #:modules ((guix build cmake-build-system)
- (guix build qt-utils)
- (guix build utils))
- #:imported-modules (,@%cmake-build-system-modules
- (guix build qt-utils))
#:phases
- (modify-phases %standard-phases
+ (modify-phases (@ (guix build qt-build-system) %standard-phases)
(add-before 'check 'check-setup
(lambda _
(setenv "QT_QPA_PLATFORM" "offscreen")
- #t))
- (add-after 'install 'wrap-executable
- (lambda* (#:key outputs #:allow-other-keys)
- (let ((out (assoc-ref outputs "out")))
- (wrap-qt-program out "../lib/libexec/kdeconnectd")
- (wrap-qt-program out "kdeconnect-cli")
- (wrap-qt-program out "kdeconnect-handler")
- (wrap-qt-program out "kdeconnect-indicator"))
#t)))))
(native-inputs
`(("extra-cmake-modules" ,extra-cmake-modules)
diff --git a/gnu/packages/less.scm b/gnu/packages/less.scm
index 2827951280..91c269a67e 100644
--- a/gnu/packages/less.scm
+++ b/gnu/packages/less.scm
@@ -1,5 +1,6 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2012 Nikita Karetnikov <nikita@karetnikov.org>
+;;; Copyright © 2019 Tobias Geerinckx-Rice <me@tobias.gr>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -26,15 +27,16 @@
(define-public less
(package
(name "less")
- (version "530")
+ (version "551")
(source
(origin
- (method url-fetch)
- (uri (string-append "mirror://gnu/less/less-"
- version ".tar.gz"))
- (sha256
- (base32
- "1qpj2z38c53qmvqn8jaa0kq26q989cfbfjj4y0s6z17l1amr2gsh"))))
+ (method url-fetch)
+ (uri (list (string-append "mirror://gnu/less/less-"
+ version ".tar.gz")
+ (string-append "http://www.greenwoodsoftware.com/less/less-"
+ version ".tar.gz")))
+ (sha256
+ (base32 "0ggyjl3yzn7c450zk1rixi9ls6asdhgqynhk34zsd0ckhmsm45pz"))))
(build-system gnu-build-system)
(inputs `(("ncurses" ,ncurses)))
(home-page "https://www.gnu.org/software/less/")
diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm
index f16d24fa86..57add5317a 100644
--- a/gnu/packages/linux.scm
+++ b/gnu/packages/linux.scm
@@ -352,42 +352,42 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
"linux-" version ".tar.xz"))
(sha256 hash)))
-(define-public linux-libre-5.3-version "5.3.13")
+(define-public linux-libre-5.3-version "5.3.14")
(define-public linux-libre-5.3-pristine-source
(let ((version linux-libre-5.3-version)
- (hash (base32 "0by9lmgmllf19yflzm9f24cy9glcq6m73ywm25bddsnh0czya14z")))
+ (hash (base32 "0ckrbzwsc4lxd3l287wsd88mkfsd0kpf8nzchd9nfmkjiil14mwm")))
(make-linux-libre-source version
(%upstream-linux-source version hash)
deblob-scripts-5.3)))
-(define-public linux-libre-4.19-version "4.19.86")
+(define-public linux-libre-4.19-version "4.19.87")
(define-public linux-libre-4.19-pristine-source
(let ((version linux-libre-4.19-version)
- (hash (base32 "1xmzcxsiydym574y7k313qd8s4c3mdahpb3nx3cingfl36ivnb5z")))
+ (hash (base32 "07fsds2k0hxqgny86winzl46d79g6mb9s28bp7nwlvwf67l22wm5")))
(make-linux-libre-source version
(%upstream-linux-source version hash)
deblob-scripts-4.19)))
-(define-public linux-libre-4.14-version "4.14.156")
+(define-public linux-libre-4.14-version "4.14.157")
(define-public linux-libre-4.14-pristine-source
(let ((version linux-libre-4.14-version)
- (hash (base32 "1h47fxfbq0d5ry7j3jxz45v5c4103qncgm2vydpz6zdx1kmrz27q")))
+ (hash (base32 "0cvpagbjwpj63lpybfq1rnwdnxcjw49z0b5prah39krf0nd7dylh")))
(make-linux-libre-source version
(%upstream-linux-source version hash)
deblob-scripts-4.14)))
-(define-public linux-libre-4.9-version "4.9.203")
+(define-public linux-libre-4.9-version "4.9.205")
(define-public linux-libre-4.9-pristine-source
(let ((version linux-libre-4.9-version)
- (hash (base32 "0jd8n8y3yf59sgfjhgjxsznxng7s4b30x5vdb48wrpgqmz7m1n8w")))
+ (hash (base32 "01cbqxw77g6rdg7dgk73pg9a2n9v4sxp48q2a77w1b068xjfifcq")))
(make-linux-libre-source version
(%upstream-linux-source version hash)
deblob-scripts-4.9)))
-(define-public linux-libre-4.4-version "4.4.203")
+(define-public linux-libre-4.4-version "4.4.205")
(define-public linux-libre-4.4-pristine-source
(let ((version linux-libre-4.4-version)
- (hash (base32 "02krniihix9mb9bc0ffs03q4i9grjhwymnfp10h1r6gmxa554qlj")))
+ (hash (base32 "19pasidvfmf94rs86v80x7hpirz9gavmkxwcl76ya61fq7lqy7zs")))
(make-linux-libre-source version
(%upstream-linux-source version hash)
deblob-scripts-4.4)))
@@ -2160,11 +2160,16 @@ the command line or a script.")
"1kp8mqg2pbxq4xzpianypadfxcsyfgwcaqgqia6h9fsq6zyh4z0s"))))
(build-system python-build-system)
(arguments
- ;; The setup.py script expects python-2.
- `(#:python ,python-2
+ '(#:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'fix-build-with-python3
+ (lambda _
+ (substitute* "setup.py"
+ (("itervalues") "values"))
+ #t)))
;; There are currently no checks in the package.
#:tests? #f))
- (native-inputs `(("python" ,python-2)))
+ (native-inputs `(("python" ,python)))
(home-page "http://guichaz.free.fr/iotop/")
(synopsis
"Displays the IO activity of running processes")
@@ -2882,7 +2887,6 @@ interface.")
(string-append "REG_BIN=" regdb
"/lib/crda/regulatory.bin")))))
(native-inputs `(("pkg-config" ,pkg-config)
- ("python" ,python-2)
("wireless-regdb" ,wireless-regdb)))
(inputs `(("libnl" ,libnl)))
(home-page
@@ -4090,7 +4094,7 @@ disks and SD cards. This package provides the userland utilities.")
(package
(inherit f2fs-tools-1.7)
(name "f2fs-tools")
- (version "1.12.0")
+ (version "1.13.0")
(source (origin
(method url-fetch)
(uri (string-append
@@ -4098,7 +4102,7 @@ disks and SD cards. This package provides the userland utilities.")
"/f2fs-tools.git/snapshot/f2fs-tools-" version ".tar.gz"))
(sha256
(base32
- "15pn2fm9knn7p1vzfzy6msnrdl14p6y1gn4m2ka6ba5bzx6lw4p2"))))
+ "0z9c0y3qq75iyqknl5k0v7v46l8c3pcifpqb0yqalrs24blkm7dk"))))
(inputs
`(("libuuid" ,util-linux)))))
@@ -4941,14 +4945,14 @@ running boot option, and more.")
(define-public sysstat
(package
(name "sysstat")
- (version "12.1.6")
+ (version "12.2.0")
(source (origin
(method url-fetch)
(uri (string-append "http://pagesperso-orange.fr/sebastien.godard/"
"sysstat-" version ".tar.xz"))
(sha256
(base32
- "0agi17n82k363mf9f7cky3isq195hw112vs98v26yfhm0v2g6lpp"))))
+ "0xc3983ccr0dwab1px2jhbgj86pfmmr29k7ggnwjwm1qigmriak1"))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f ; No test suite.
@@ -5539,7 +5543,8 @@ libraries, which are often integrated directly into libfabric.")
(patches (search-patches
"psm-arch.patch" ; uname -p returns "unknown" on Debian 9
"psm-ldflags.patch" ; build shared lib with LDFLAGS
- "psm-repro.patch")))) ; reproducibility
+ "psm-repro.patch" ; reproducibility
+ "psm-disable-memory-stats.patch"))))
(build-system gnu-build-system)
(outputs '("out" "debug"))
(inputs `(("libuuid" ,util-linux)))
diff --git a/gnu/packages/lsof.scm b/gnu/packages/lsof.scm
index 311e244608..e29f3b4569 100644
--- a/gnu/packages/lsof.scm
+++ b/gnu/packages/lsof.scm
@@ -2,7 +2,7 @@
;;; Copyright © 2013 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2017 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
-;;; Copyright © 2018 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2018, 2019 Ludovic Courtès <ludo@gnu.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -69,6 +69,13 @@
(lambda _
(setenv "LSOF_CC" "gcc")
(setenv "LSOF_MAKE" "make")
+
+ ;; By default, the makefile captures the output of 'uname -a'.
+ ;; Provide a fixed output instead to make builds reproducible.
+ (setenv "LSOF_SYSINFO"
+ (string-append "GNU/" (utsname:sysname (uname))
+ " (GNU Guix)"))
+
(invoke "./Configure" "linux")
#t))
(add-after 'configure 'patch-timestamps
diff --git a/gnu/packages/machine-learning.scm b/gnu/packages/machine-learning.scm
index b83b336d84..ab4150cbb1 100644
--- a/gnu/packages/machine-learning.scm
+++ b/gnu/packages/machine-learning.scm
@@ -69,6 +69,7 @@
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages protobuf)
#:use-module (gnu packages python)
+ #:use-module (gnu packages python-science)
#:use-module (gnu packages python-web)
#:use-module (gnu packages python-xyz)
#:use-module (gnu packages serialization)
diff --git a/gnu/packages/mail.scm b/gnu/packages/mail.scm
index 01ec02df18..b0ddf468c3 100644
--- a/gnu/packages/mail.scm
+++ b/gnu/packages/mail.scm
@@ -1630,15 +1630,14 @@ header.")
(define-public perl-email-sender
(package
(name "perl-email-sender")
- (version "1.300031")
+ (version "1.300033")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://cpan/authors/id/R/RJ/RJBS/"
"Email-Sender-" version ".tar.gz"))
(sha256
- (base32
- "052g0slw3h2lzn93j71fi47nfawww2aph4jhr3c860ji70lkf4n4"))))
+ (base32 "1flbnzyng4g0h1aksbsip1qa6sawgfihvblspqc0xsis8g9vcza7"))))
(build-system perl-build-system)
(native-inputs
`(("perl-capture-tiny" ,perl-capture-tiny)))
@@ -2921,7 +2920,7 @@ replacement for the @code{urlview} program.")
(define-public tnef
(package
(name "tnef")
- (version "1.4.17")
+ (version "1.4.18")
(source
(origin
(method git-fetch)
@@ -2929,8 +2928,7 @@ replacement for the @code{urlview} program.")
(url "https://github.com/verdammelt/tnef.git")
(commit version)))
(sha256
- (base32
- "0cq2xh5wd74qn6k2nnw5rayxgqhjl3jbzf4zlc4babcwxrv32ldh"))
+ (base32 "104g48mcm00bgiyzas2vf86331w7bnw7h3bc11ib4lp7rz6zqfck"))
(file-name (git-file-name name version))))
(build-system gnu-build-system)
(native-inputs
diff --git a/gnu/packages/mastodon.scm b/gnu/packages/mastodon.scm
index cd12f5a7fd..54d4c539ec 100644
--- a/gnu/packages/mastodon.scm
+++ b/gnu/packages/mastodon.scm
@@ -1,5 +1,6 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2019 Efraim Flashner <efraim@flashner.co.il>
+;;; Copyright © 2019 Tobias Geerinckx-Rice <me@tobias.gr>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -23,40 +24,33 @@
#:use-module ((guix licenses) #:prefix license:)
#:use-module (gnu packages check)
#:use-module (gnu packages python-web)
- #:use-module (gnu packages python-xyz)
-)
+ #:use-module (gnu packages python-xyz))
(define-public toot
(package
(name "toot")
- (version "0.21.0")
+ (version "0.24.0")
(source
(origin
(method url-fetch)
(uri (pypi-uri "toot" version))
(sha256
- (base32
- "1dqv5jckaw3r7dnfns3iygwbfnf27x513qrw2rryzl5y79xrzs1x"))))
+ (base32 "0w83b6ydaggrand9285wfrjrm1qry8fjl4as0iihma630ky6y2w3"))))
(build-system python-build-system)
(arguments
'(#:phases
(modify-phases %standard-phases
(delete 'check)
- ;; see https://github.com/ihabunek/toot/issues/91
- (add-after 'unpack 'dont-install-Makefile
- (lambda _
- (substitute* "setup.py"
- (("data_files.*" all) ""))
- #t))
(add-after 'install 'check
(lambda* (#:key inputs outputs #:allow-other-keys)
(add-installed-pythonpath inputs outputs)
(invoke "py.test"))))))
(native-inputs
`(("python-pytest" ,python-pytest)))
- (propagated-inputs
+ (inputs
`(("python-beautifulsoup4" ,python-beautifulsoup4)
("python-requests" ,python-requests)
+ ("python-urwid" ,python-urwid)
("python-wcwidth" ,python-wcwidth)))
(home-page "https://github.com/ihabunek/toot/")
(synopsis "Mastodon CLI client")
diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm
index acee64a63f..9051bcf84a 100644
--- a/gnu/packages/maths.scm
+++ b/gnu/packages/maths.scm
@@ -4093,7 +4093,7 @@ as equations, scalars, vectors, and matrices.")
(define-public z3
(package
(name "z3")
- (version "4.8.6")
+ (version "4.8.7")
(home-page "https://github.com/Z3Prover/z3")
(source (origin
(method git-fetch)
@@ -4102,7 +4102,7 @@ as equations, scalars, vectors, and matrices.")
(file-name (git-file-name name version))
(sha256
(base32
- "1sywcqj5y8yp28m4cdvzsgw74kd6zr1s3y1x17ky8pr9prvpvl6x"))))
+ "0hprcdwhhyjigmhhk6514m71bnmvqci9r8gglrqilgx424r6ff7q"))))
(build-system gnu-build-system)
(arguments
`(#:phases
@@ -5000,7 +5000,7 @@ management via the GIMPS project's Primenet server.")
(define-public nauty
(package
(name "nauty")
- (version "2.6r11")
+ (version "2.6r12")
(source (origin
(method url-fetch)
(uri (string-append
@@ -5009,7 +5009,7 @@ management via the GIMPS project's Primenet server.")
".tar.gz"))
(sha256
(base32
- "05z6mk7c31j70md83396cdjmvzzip1hqb88pfszzc6k4gy8h3m2y"))))
+ "1p4mxf8q5wm47nxyskxbqwa5p1vvkycv1zgswvnk9nsn6vff0al6"))))
(build-system gnu-build-system)
(outputs '("out" "lib"))
(arguments
diff --git a/gnu/packages/messaging.scm b/gnu/packages/messaging.scm
index 2429bad3e5..27d2b7689c 100644
--- a/gnu/packages/messaging.scm
+++ b/gnu/packages/messaging.scm
@@ -4,7 +4,7 @@
;;; Copyright © 2015 Taylan Ulrich Bayırlı/Kammer <taylanbayirli@gmail.com>
;;; Copyright © 2015 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2015, 2016, 2017, 2018, 2019 Ricardo Wurmus <rekado@elephly.net>
-;;; Copyright © 2015, 2018 Efraim Flashner <efraim@flashner.co.il>
+;;; Copyright © 2015, 2018, 2019 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016, 2017 ng0 <ng0@n0.is>
;;; Copyright © 2016 Andy Patterson <ajpatter@uwaterloo.ca>
;;; Copyright © 2016, 2017, 2018, 2019 Clément Lassieur <clement@lassieur.org>
@@ -16,6 +16,8 @@
;;; Copyright © 2018 Leo Famulari <leo@famulari.name>
;;; Copyright © 2018 Pierre-Antoine Rouby <contact@parouby.fr>
;;; Copyright © 2019 Tanguy Le Carrour <tanguy@bioneland.org>
+;;; Copyright © 2019 Brett Gilio <brettg@posteo.net>
+;;; Copyright © 2019 Timotej Lazar <timotej.lazar@araneo.si>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -57,6 +59,7 @@
#:use-module (gnu packages glib)
#:use-module (gnu packages gnome)
#:use-module (gnu packages gnupg)
+ #:use-module (gnu packages gperf)
#:use-module (gnu packages gtk)
#:use-module (gnu packages guile)
#:use-module (gnu packages icu4c)
@@ -72,6 +75,7 @@
#:use-module (gnu packages pcre)
#:use-module (gnu packages perl)
#:use-module (gnu packages photo)
+ #:use-module (gnu packages php)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages protobuf)
#:use-module (gnu packages python)
@@ -97,6 +101,7 @@
#:use-module (guix build-system meson)
#:use-module (guix build-system perl)
#:use-module (guix build-system python)
+ #:use-module (guix build-system qt)
#:use-module (guix build-system trivial)
#:use-module (guix download)
#:use-module (guix git-download)
@@ -181,11 +186,13 @@ end-to-end encryption.")
(inputs `(("glib" ,glib)
("libotr" ,libotr)
("gnutls" ,gnutls)
- ("python" ,python-2)
+ ("python" ,python)
("perl" ,perl)))
(arguments
`(#:phases
(modify-phases %standard-phases
+ (add-before 'configure 'set-python
+ (lambda _ (setenv "PYTHON" (which "python3")) #t))
(add-after 'install 'install-etc
(lambda* (#:key (make-flags '()) #:allow-other-keys)
(apply invoke "make" "install-etc" make-flags)))
@@ -267,12 +274,12 @@ access to servers running the Discord protocol.")
(patches (search-patches "hexchat-crash-exit.patch"))))
(build-system meson-build-system)
(native-inputs `(("gettext" ,gettext-minimal)
+ ("glib:bin" ,glib "bin") ;need glib-genmarshal
("perl" ,perl)
("pkg-config" ,pkg-config)))
(inputs `(("dbus-glib" ,dbus-glib)
("dbus" ,dbus)
("enchant" ,enchant)
- ("glib:bin" ,glib "bin") ;need glib-genmarshal
("gtk" ,gtk+-2)
("libcanberra" ,libcanberra)
("libnotify" ,libnotify)
@@ -639,7 +646,12 @@ else [])"))
(variable "PYTHONPATH")
(files (list (string-append
"lib/python"
- (version-major+minor (package-version python))
+
+ ;; FIXME: Cannot use this expression as it would
+ ;; introduce a circular dependency at the top level.
+ ;; (version-major+minor (package-version python))
+ "3.7"
+
"/site-packages"))))))
(native-inputs
`(("intltool" ,intltool)
@@ -1786,7 +1798,7 @@ QMatrixClient project.")
(file-name (git-file-name name version))
(sha256
(base32 "0gpv6b3nn3lsyym8809kiqkpdszfasldqjpk5s542zyn41gdlql4"))))
- (build-system cmake-build-system)
+ (build-system qt-build-system)
(inputs
`(("libqmatrixclient" ,libqmatrixclient)
("qtbase" ,qtbase)
@@ -1797,19 +1809,7 @@ QMatrixClient project.")
("qtsvg" ,qtsvg)
("qttools" ,qttools)))
(arguments
- `(#:tests? #f ; no tests
- #:modules ((guix build cmake-build-system)
- (guix build qt-utils)
- (guix build utils))
- #:imported-modules (,@%cmake-build-system-modules
- (guix build qt-utils))
- #:phases
- (modify-phases %standard-phases
- (add-after 'install 'wrap-program
- (lambda* (#:key outputs #:allow-other-keys)
- (let ((out (assoc-ref outputs "out")))
- (wrap-qt-program out "quaternion")
- #t))))))
+ `(#:tests? #f)) ; no tests
(home-page "https://matrix.org/docs/projects/client/quaternion.html")
(synopsis "Graphical client for the Matrix instant messaging protocol")
(description "Quaternion is a Qt5 desktop client for the Matrix instant
@@ -1946,4 +1946,48 @@ Telegram messenger.")
;; itself is GPLv2+.
(license license:gpl2+)))
+(define-public tdlib
+ (let ((commit "afca63a4f43531058a079e91eb5c81f54ad744b5")
+ (revision "1")
+ (version "1.5.0"))
+ (package
+ (name "tdlib")
+ (version (git-version version revision commit))
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/tdlib/td.git")
+ (commit commit)))
+ (sha256
+ (base32
+ "1aa3p4k32mfshgc6fv58gwg8pnaix39rv455hfx6znj7llr8na6k"))
+ (file-name (git-file-name name version))))
+ (build-system cmake-build-system)
+ (arguments
+ `(#:tests? #t
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'remove-failing-tests
+ (lambda _
+ (substitute* "test/CMakeLists.txt"
+ ;; The test cases are compiled into a distinct binary
+ ;; which uses mtproto.cpp to attempt to connect to
+ ;; a remote server. Removing this file from the sources
+ ;; list disables those specific test cases.
+ (("\\$\\{CMAKE_CURRENT_SOURCE_DIR\\}/mtproto.cpp") ""))
+ #t)))))
+ (native-inputs
+ `(("gperf" ,gperf)
+ ("openssl" ,openssl)
+ ("zlib" ,zlib)
+ ("php" ,php)
+ ("doxygen" ,doxygen)))
+ (synopsis "Cross-platform library for building Telegram clients")
+ (description "Tdlib is a cross-platform library for creating custom
+Telegram clients following the official Telegram API. It can be easily used
+from almost any programming language with a C-FFI and features first-class
+support for high performance Telegram Bot creation.")
+ (home-page "https://core.telegram.org/tdlib")
+ (license license:boost1.0))))
+
;;; messaging.scm ends here
diff --git a/gnu/packages/microcom.scm b/gnu/packages/microcom.scm
index 3a1ec1d3cb..36d6bf21b7 100644
--- a/gnu/packages/microcom.scm
+++ b/gnu/packages/microcom.scm
@@ -1,5 +1,6 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2016 John Darrington <jmd@gnu.org>
+;;; Copyright © 2019 Tobias Geerinckx-Rice <me@tobias.gr>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -28,21 +29,20 @@
(define-public microcom
(package
(name "microcom")
- (version "2016.01.09")
+ (version "2017.03.0")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://git.pengutronix.de/git/tools/microcom.git")
- (commit "v2016.01.0")))
- (file-name (string-append name "-" version "-checkout"))
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
(sha256
- (base32
- "080ci5589bpyy5kcl51csmvpw9zysify189hw6awx69pi3cjnxly"))))
+ (base32 "060q42lf1bx403smxm97cz8r4ksq942mq5z708vavy6syv3fkap4"))))
(build-system gnu-build-system)
(inputs `(("readline" ,readline)))
(native-inputs `(("automake" ,automake)
("autoconf" ,autoconf)))
- (home-page "http://git.pengutronix.de/?p=tools/microcom.git")
+ (home-page "https://git.pengutronix.de/?p=tools/microcom.git")
(synopsis "Minimalistic serial line terminal program")
(description "Microcom is a minimalistic terminal program for accessing
devices via a serial connection. It features connection via RS232 serial
diff --git a/gnu/packages/mpd.scm b/gnu/packages/mpd.scm
index 3afdbddc84..c0cab60076 100644
--- a/gnu/packages/mpd.scm
+++ b/gnu/packages/mpd.scm
@@ -92,7 +92,7 @@ interfacing MPD in the C, C++ & Objective C languages.")
(define-public mpd
(package
(name "mpd")
- (version "0.21.14")
+ (version "0.21.16")
(source (origin
(method url-fetch)
(uri
@@ -101,7 +101,7 @@ interfacing MPD in the C, C++ & Objective C languages.")
"/mpd-" version ".tar.xz"))
(sha256
(base32
- "0iknnm9xvwfgk8h82hjwrmbijpk9l0dgap0794c2nyg8i66qlb0y"))))
+ "14jd9byvxlxmn9ygkyap1izy0d7i2lsssib74y3q8f6pyzfipkrh"))))
(build-system meson-build-system)
(arguments
`(#:configure-flags '("-Ddocumentation=true"))) ;the default is 'false'...
@@ -183,7 +183,7 @@ player daemon.")
(define-public ncmpc
(package
(name "ncmpc")
- (version "0.35")
+ (version "0.36")
(source (origin
(method url-fetch)
(uri
@@ -192,7 +192,7 @@ player daemon.")
"/ncmpc-" version ".tar.xz"))
(sha256
(base32
- "0hfjvm1p0z7x6gfn5xhl5c0jsmidvz0qfl04pq45x4chh9iiwkxx"))))
+ "0b1yg93is9057p9d7vfv5nz85d11p6jq94fw07jn3zlfzhyqfcj6"))))
(build-system meson-build-system)
(arguments
`(#:configure-flags
diff --git a/gnu/packages/mpi.scm b/gnu/packages/mpi.scm
index 9f6597c6b3..45941df0b0 100644
--- a/gnu/packages/mpi.scm
+++ b/gnu/packages/mpi.scm
@@ -179,7 +179,7 @@ bind processes, and much more.")
"/downloads/openmpi-" version ".tar.bz2"))
(sha256
(base32 "0ms0zvyxyy3pnx9qwib6zaljyp2b3ixny64xvq3czv3jpr8zf2wh"))
- (patches (search-patches "openmpi-psm2-priority.patch"))))
+ (patches (search-patches "openmpi-mtl-priorities.patch"))))
(build-system gnu-build-system)
(inputs
`(("hwloc" ,hwloc-2 "lib")
diff --git a/gnu/packages/nano.scm b/gnu/packages/nano.scm
index 83afdf455b..c275850851 100644
--- a/gnu/packages/nano.scm
+++ b/gnu/packages/nano.scm
@@ -30,13 +30,13 @@
(define-public nano
(package
(name "nano")
- (version "4.5")
+ (version "4.6")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://gnu/nano/nano-" version ".tar.xz"))
(sha256
- (base32 "0czmz1yq8s5qcxcmfjdxzg9nkhbmlc9q1nz04jvf57fdbs7w7mfy"))))
+ (base32 "1s98jsvkfar6qmd5n5l1n1k59623dnc93ciyvlhxjkvpad0kmb4v"))))
(build-system gnu-build-system)
(inputs
`(("gettext" ,gettext-minimal)
diff --git a/gnu/packages/ncdu.scm b/gnu/packages/ncdu.scm
index 36d4738d90..62fe84ca07 100644
--- a/gnu/packages/ncdu.scm
+++ b/gnu/packages/ncdu.scm
@@ -28,14 +28,14 @@
(define-public ncdu
(package
(name "ncdu")
- (version "1.14")
+ (version "1.14.1")
(source (origin
(method url-fetch)
(uri (string-append "https://dev.yorhel.nl/download/ncdu-"
version ".tar.gz"))
(sha256
(base32
- "0i4cap2z3037xx2rdzhrlazl2igk3xy4ncddp9j7xqi1mcx7i566"))))
+ "0gp1aszzrh8b6fhv8fspvkmr0qwc55z6z4w6l7r8j09sq7lf0cdy"))))
(build-system gnu-build-system)
(inputs `(("ncurses" ,ncurses)))
(synopsis "Ncurses based disk usage analyzer")
diff --git a/gnu/packages/networking.scm b/gnu/packages/networking.scm
index 3ab5e71828..05f348ad0f 100644
--- a/gnu/packages/networking.scm
+++ b/gnu/packages/networking.scm
@@ -33,6 +33,8 @@
;;; Copyright © 2019 Brice Waegeneire <brice@waegenei.re>
;;; Copyright © 2019 Tonton <tonton@riseup.net>
;;; Copyright © 2019 Alex Griffin <a@ajgrf.com>
+;;; Copyright © 2019 Jan Wielkiewicz <tona_kosmicznego_smiecia@interia.pl>
+;;; Copyright © 2019 Daniel Schaefer <git@danielschaefer.me>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -60,6 +62,7 @@
#:use-module (guix build-system go)
#:use-module (guix build-system perl)
#:use-module (guix build-system python)
+ #:use-module (guix build-system trivial)
#:use-module (gnu packages)
#:use-module (gnu packages admin)
#:use-module (gnu packages adns)
@@ -72,6 +75,7 @@
#:use-module (gnu packages check)
#:use-module (gnu packages code)
#:use-module (gnu packages compression)
+ #:use-module (gnu packages cpp)
#:use-module (gnu packages crypto)
#:use-module (gnu packages curl)
#:use-module (gnu packages dejagnu)
@@ -95,6 +99,7 @@
#:use-module (gnu packages perl)
#:use-module (gnu packages perl-check)
#:use-module (gnu packages pkg-config)
+ #:use-module (gnu packages pretty-print)
#:use-module (gnu packages python)
#:use-module (gnu packages python-web)
#:use-module (gnu packages python-xyz)
@@ -1942,27 +1947,24 @@ can be whipped up with little effort.")
(define-public mtr
(package
(name "mtr")
- (version "0.92")
+ (version "0.93")
(source
(origin
(method url-fetch)
- (uri (string-append "ftp://ftp.bitwizard.nl/" name "/"
- name "-" version ".tar.gz"))
+ (uri (string-append "ftp://ftp.bitwizard.nl/mtr/"
+ "mtr-" version ".tar.gz"))
(sha256
- (base32 "10j3ds3p27jygys4x08kj8fi3zlsgiv72xsfazkah6plwawrv5zj"))))
+ (base32 "03gid8g4r6a9r40855s4345xm1bylj2kfqkicjwxpmvvccyng712"))))
(build-system gnu-build-system)
(inputs
`(("libcap" ,libcap)
("ncurses" ,ncurses)))
- (native-inputs
- ;; The 0.92 release tarball still requires the ‘autoheader’ tool.
- `(("autoconf" ,autoconf)))
(arguments
`(#:tests? #f)) ; tests require network access
(home-page "https://www.bitwizard.nl/mtr/")
(synopsis "Network diagnostic tool")
(description
- "@dfn{mtr} (My TraceRoute) combines the functionality of the
+ "@acronym{mtr, My TraceRoute} combines the functionality of the
@command{traceroute} and @command{ping} programs in a single network diagnostic
tool. @command{mtr} can use several network protocols to detect intermediate
routers (or @dfn{hops}) between the local host and a user-specified destination.
@@ -2520,10 +2522,58 @@ communication over HTTP.")
(home-page "https://github.com/Corvusoft/restbed")
(license license:agpl3+))))
+(define fmt-restinio
+ (package
+ (inherit fmt)
+ (arguments
+ '(#:configure-flags '("-DCMAKE_CXX_FLAGS=-fPIC")))))
+
+(define-public restinio
+ (package
+ (name "restinio")
+ (version "0.6.0.1")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/Stiffstream/restinio.git")
+ (commit (string-append "v." version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "1c25kpx652nng8m1sqf5an2c3c4g3k6zj85mkkaxzk88iwfzq1s8"))))
+ (build-system cmake-build-system)
+ (inputs ; TODO: Need to force-keep references on some inputs, e.g. boost.
+ `(("zlib" ,zlib)
+ ("catch2" ,catch-framework2)
+ ("openssl" ,openssl)
+ ("boost" ,boost)
+ ("pcre" ,pcre)
+ ("pcre2" ,pcre2)
+ ("sobjectizer" ,sobjectizer)))
+ (propagated-inputs
+ `(("asio", asio)
+ ("fmt" ,fmt-restinio)
+ ("http-parser", http-parser)))
+ (arguments
+ `(#:configure-flags '("-DRESTINIO_INSTALL=on")
+ #:tests? #f ; TODO: The tests are called from the root CMakelist, need RESTINIO_TEST=on.
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'change-directory
+ (lambda _
+ (chdir "dev/restinio")
+ #t)))))
+ (home-page "https://stiffstream.com/en/products/restinio.html")
+ (synopsis "C++14 library that gives you an embedded HTTP/Websocket server")
+ (description "RESTinio is a header-only C++14 library that gives you an embedded
+HTTP/Websocket server. It is based on standalone version of ASIO
+and targeted primarily for asynchronous processing of HTTP-requests.")
+ (license license:bsd-3)))
+
(define-public opendht
(package
(name "opendht")
- (version "1.8.1")
+ (version "2.0.0beta2")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -2532,26 +2582,36 @@ communication over HTTP.")
(file-name (git-file-name name version))
(sha256
(base32
- "0vninb5mak27wigajslyvr05vq7wbrwqhbr4wzl2nmqcb20wmlq2"))))
- (build-system gnu-build-system)
+ "02ix0rvvyhq22gd5djcq84qz08ji7ln93faf23b27zjzni2klzv5"))))
+ ;; Since 2.0, the gnu-build-system does not seem to work anymore, upstream bug?
+ (build-system cmake-build-system)
(inputs
`(("gnutls" ,gnutls)
("nettle" ,nettle)
("readline" ,readline)
("jsoncpp" ,jsoncpp)
- ("restbed" ,restbed)))
+ ("openssl" ,openssl)
+ ("fmt" ,fmt-restinio)))
(propagated-inputs
- `(("argon2" ,argon2) ; TODO: Needed for the pkg-config .pc file to work?
+ `(("argon2" ,argon2) ; TODO: Needed for the pkg-config .pc file to work?
("msgpack" ,msgpack))) ;included in several installed headers
(native-inputs
`(("autoconf" ,autoconf)
("pkg-config" ,pkg-config)
+ ("restinio" ,restinio)
("automake" ,automake)
- ("libtool" ,libtool)))
+ ("libtool" ,libtool)
+ ("cppunit" ,cppunit)))
(arguments
- `(#:configure-flags '("--disable-tools"
- "--disable-python"
- "--with-argon2")))
+ `(#:tests? #f ; Tests require network connection.
+ #:configure-flags
+ '(;; "-DOPENDHT_TESTS=on"
+ "-DOPENDHT_TOOLS=off"
+ "-DOPENDHT_PYTHON=off"
+ "-DOPENDHT_PROXY_SERVER=on"
+ "-DOPENDHT_PUSH_NOTIFICATIONS=on"
+ "-DOPENDHT_PROXY_SERVER_IDENTITY=on"
+ "-DOPENDHT_PROXY_CLIENT=on")))
(home-page "https://github.com/savoirfairelinux/opendht/")
(synopsis "Distributed Hash Table (DHT) library")
(description "OpenDHT is a Distributed Hash Table (DHT) library. It may
@@ -2682,21 +2742,19 @@ module @code{batman-adv}, for Layer 2.")
(define-public pagekite
(package
(name "pagekite")
- (version "1.0.0.190721")
+ (version "1.5.0.191126")
(source
(origin
- (method url-fetch)
- (uri (string-append "https://pagekite.net/pk/src/pagekite-"
- version ".tar.gz"))
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/pagekite/PyPagekite.git")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
(sha256
- (base32 "0y4vaqd3pjr6if8jcnhjwignkxgrajmnx1rd1p37anj8xjg7l8zh"))))
+ (base32 "0mncfjfrr13sm84g5z49qxg5cy791h5qxphjsl77x91zs3m36c8l"))))
(build-system python-build-system)
(arguments
- ;; Python 3 support is a work-in-progress and should come soon:
- ;; https://github.com/pagekite/PyPagekite/issues/40
- ;; https://github.com/pagekite/PyPagekite/pull/71
- `(#:python ,python-2
- #:phases
+ `(#:phases
(modify-phases %standard-phases
(add-after 'install 'install-man-page
(lambda* (#:key inputs outputs #:allow-other-keys)
@@ -2708,7 +2766,8 @@ module @code{batman-adv}, for Layer 2.")
(install-file "doc/pagekite.1" (string-append man "/man1"))
#t))))))
(inputs
- `(("python2-socksipychain" ,python2-socksipychain)))
+ `(("python-six" ,python-six)
+ ("python-socksipychain" ,python-socksipychain)))
(home-page "https://pagekite.net/")
(synopsis "Make localhost servers publicly visible")
(description
@@ -2717,3 +2776,49 @@ a service (such as an HTTP or SSH server) on localhost visible to the wider
Internet, even behind NAT or restrictive firewalls. A managed front-end relay
service is available at @url{https://pagekite.net/}, or you can run your own.")
(license license:agpl3+)))
+
+(define-public ipcalc
+ (package
+ (name "ipcalc")
+ (version "0.41")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "http://jodies.de/ipcalc-archive/"
+ name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "12if9sm8h2ac0pgwkw835cgyqjxm6h27k4kfn2vfas9krrqwbafx"))))
+ (inputs `(("perl" ,perl)
+ ("tar" ,tar)
+ ("gzip" ,gzip)
+ ("tarball" ,source)))
+ (build-system trivial-build-system) ;no Makefile.PL
+ (arguments
+ `(#:modules ((guix build utils))
+ #:builder
+ (begin
+ (use-modules (guix build utils))
+ (use-modules (srfi srfi-1))
+ (let* ((source (assoc-ref %build-inputs "source"))
+ (perl (string-append (assoc-ref %build-inputs "perl")
+ "/bin"))
+ (tar (assoc-ref %build-inputs "tar"))
+ (gz (assoc-ref %build-inputs "gzip"))
+ (out (assoc-ref %outputs "out"))
+ (bin (string-append out "/bin"))
+ (doc (string-append out "/share/doc/ipcalc")))
+ (setenv "PATH" (string-append gz "/bin"))
+ (invoke (string-append tar "/bin/tar") "xvf" source)
+ (chdir (string-append ,name "-" ,version))
+
+ (install-file "ipcalc" bin)
+ (patch-shebang (string-append bin "/ipcalc") (list perl))
+ #t))))
+ (synopsis "Simple IP network calculator")
+ (description "ipcalc takes an IP address and netmask and calculates the
+resulting broadcast, network, Cisco wildcard mask, and host range. By giving
+a second netmask, you can design subnets and supernets. It is also intended
+to be a teaching tool and presents the subnetting results as
+easy-to-understand binary values.")
+ (home-page "http://jodies.de/ipcalc")
+ (license license:gpl2+)))
diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index 9cd29f2004..2988810fc7 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -492,8 +492,7 @@ the opam file fomat.")
`(("dune" ,dune)
("git" ,git) ;for the tests
("ocaml-cppo" ,ocaml-cppo)
- ("python" ,python) ;for the tests
- ("camlp4" ,camlp4)))
+ ("python" ,python))) ;for the tests
(inputs
`(("ocaml" ,ocaml)
("ncurses" ,ncurses)
@@ -515,67 +514,6 @@ Git-friendly development workflow.")
;; The 'LICENSE' file waives some requirements compared to LGPLv3.
(license license:lgpl3)))
-(define-public camlp4-4.07
- (package
- (name "camlp4")
- (version "4.07+1")
- (source (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/ocaml/camlp4.git")
- (commit version)))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "0cxl4hkqcvspvkx4f2k83217rh6051fll9i2yz7cw6m3bq57mdvl"))))
- (build-system gnu-build-system)
- (native-inputs
- `(("ocaml" ,ocaml-4.07)
- ("ocamlbuild" ,ocamlbuild)
- ("which" ,which)))
- (inputs `(("ocaml" ,ocaml-4.07)))
- (arguments
- '(#:tests? #f ;no documented test target
- ;; a race-condition will lead byte and native targets to mkdir _build
- ;; which fails on the second attempt.
- #:parallel-build? #f
- #:make-flags '("all")
- #:phases
- (modify-phases %standard-phases
- (replace 'configure
- (lambda* (#:key outputs #:allow-other-keys)
- ;; This is a home-made 'configure' script.
- (let ((out (assoc-ref outputs "out")))
- (invoke "./configure"
- (string-append "--libdir=" out
- "/lib/ocaml/site-lib")
- (string-append "--bindir=" out "/bin")
- (string-append "--pkgdir=" out
- "/lib/ocaml/site-lib")))))
- (add-after 'install 'install-meta
- (lambda* (#:key outputs #:allow-other-keys)
- (let ((out (assoc-ref outputs "out")))
- (substitute* "camlp4/META.in"
- (("directory = .*")
- (string-append "directory = \"" out
- "/lib/ocaml/site-lib/camlp4\"\n")))
- (invoke "make" "install-META")))))))
- (home-page "https://github.com/ocaml/camlp4")
- (synopsis "Write parsers in OCaml")
- (description
- "Camlp4 is a software system for writing extensible parsers for
-programming languages. It provides a set of OCaml libraries that are used to
-define grammars as well as loadable syntax extensions of such grammars.
-Camlp4 stands for Caml Preprocessor and Pretty-Printer and one of its most
-important applications is the definition of domain-specific extensions of the
-syntax of OCaml.")
-
- ;; This is LGPLv2 with an exception that allows packages statically-linked
- ;; against the library to be released under any terms.
- (license license:lgpl2.0)))
-
-(define-public camlp4 camlp4-4.07)
-
(define-public camlp5
(package
(name "camlp5")
@@ -815,17 +753,19 @@ Knuth’s LR(1) parser construction technique.")
(define-public lablgtk
(package
(name "lablgtk")
- (version "2.18.6")
+ (version "2.18.8")
(source (origin
- (method url-fetch)
- (uri (ocaml-forge-uri name version 1726))
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/garrigue/lablgtk")
+ (commit "lablgtk2188")))
+ (file-name (git-file-name name version))
(sha256
(base32
- "1y38fdvswy6hmppm65qvgdk4pb3ghhnvz7n4ialf46340r1s5p2d"))))
+ "0gpww8bkwi5cl68kc006970zvzwvq73h1mwrnd239apmwlxc1l8a"))))
(build-system gnu-build-system)
(native-inputs
- `(("camlp4" ,camlp4)
- ("ocaml" ,ocaml)
+ `(("ocaml" ,ocaml)
("findlib" ,ocaml-findlib)
("pkg-config" ,pkg-config)))
;; FIXME: Add inputs gtkgl-2.0, libpanelapplet-2.0, gtkspell-2.0,
@@ -959,18 +899,17 @@ to the other.")
(define-public ocaml-findlib
(package
(name "ocaml-findlib")
- (version "1.8.0")
+ (version "1.8.1")
(source (origin
(method url-fetch)
(uri (string-append "http://download.camlcity.org/download/"
"findlib" "-" version ".tar.gz"))
(sha256
(base32
- "1b97zqjdriqd2ikgh4rmqajgxwdwn013riji5j53y3xvcmnpsyrb"))))
+ "00s3sfb02pnjmkax25pcnljcnhcggiliccfz69a72ic7gsjwz1cf"))))
(build-system gnu-build-system)
(native-inputs
- `(("camlp4" ,camlp4)
- ("m4" ,m4)
+ `(("m4" ,m4)
("ocaml" ,ocaml)))
(arguments
`(#:tests? #f ; no test suite
@@ -993,13 +932,7 @@ to the other.")
(let ((out (assoc-ref outputs "out")))
(invoke "make" "install"
(string-append "OCAML_CORE_STDLIB="
- out "/lib/ocaml/site-lib")))))
- (add-after 'install 'remove-camlp4
- (lambda* (#:key outputs #:allow-other-keys)
- (let ((out (assoc-ref outputs "out")))
- (delete-file-recursively
- (string-append out "/lib/ocaml/site-lib/camlp4"))
- #t))))))
+ out "/lib/ocaml/site-lib"))))))))
(home-page "http://projects.camlcity.org/projects/findlib.html")
(synopsis "Management tool for OCaml libraries")
(description
@@ -1268,53 +1201,6 @@ full_split, cut, rcut, etc..")
;; where it says `mit'.
(license license:expat)))
-(define-public ocaml-bisect
- (package
- (name "ocaml-bisect")
- (version "1.3.1")
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/gasche/bisect.git")
- (commit version)))
- (file-name (git-file-name name version))
- (sha256
- (base32 "0hm5za61qydda6ri3887b4zqqbqilh42x712xnclm1rr7ggga2nh"))
- (patches
- (search-patches
- "ocaml-bisect-fix-camlp4-in-another-directory.patch"))))
- (build-system ocaml-build-system)
- (native-inputs
- `(("camlp4" ,camlp4)
- ("libxml2" ,libxml2)
- ("ocamlbuild" ,ocamlbuild)
- ("which" ,which)))
- (propagated-inputs
- `(("camlp4" ,camlp4)))
- (arguments
- `(#:test-target "tests"
- #:make-flags
- (list "all" (string-append "CAMLP4_LIBDIR="
- (assoc-ref %build-inputs "camlp4")
- "/lib/ocaml/site-lib/camlp4"))
- #:phases
- (modify-phases %standard-phases
- (replace 'configure
- (lambda* (#:key inputs outputs #:allow-other-keys)
- (invoke "./configure" "-prefix" (assoc-ref outputs "out")
- "-ocaml-prefix" (assoc-ref inputs "ocaml")
- "-camlp4-prefix" (assoc-ref inputs "camlp4"))
- #t)))))
- (home-page "http://bisect.x9c.fr")
- (synopsis "Code coverage tool for the OCaml language")
- (description "Bisect is a code coverage tool for the OCaml language. It is
-a camlp4-based tool that allows to instrument your application before running
-tests. After application execution, it is possible to generate a report in HTML
-format that is the replica of the application source code annotated with code
-coverage information.")
- (license license:gpl3+)))
-
(define-public dune
(package
(name "dune")
@@ -1415,14 +1301,11 @@ ocaml-migrate-parsetree")
"15jjk2pq1vx311gl49s5ag6x5y0654x35w75z07g7kr2q334hqps"))))
(build-system dune-build-system)
(native-inputs
- `(("camlp4" ,camlp4)
- ("time" ,time)
+ `(("time" ,time)
("autoconf" ,autoconf)
- ("automake" ,automake)
- ("bisect" ,ocaml-bisect)))
+ ("automake" ,automake)))
(propagated-inputs
- `(("camlp4" ,camlp4)
- ("ocaml-ppx-tools-versioned" ,ocaml-ppx-tools-versioned)))
+ `(("ocaml-ppx-tools-versioned" ,ocaml-ppx-tools-versioned)))
(arguments
`(#:tests? #f; Tests fail to build
#:jbuild? #t))
@@ -1555,7 +1438,7 @@ coexistence with the old (version 2) SQLite and its OCaml wrapper
(define-public ocaml-csv
(package
(name "ocaml-csv")
- (version "2.2")
+ (version "2.3")
(source
(origin
(method git-fetch)
@@ -1565,7 +1448,7 @@ coexistence with the old (version 2) SQLite and its OCaml wrapper
(file-name (git-file-name name version))
(sha256
(base32
- "07qdw8bbvprk78x96pnm807rhs82ks6sxis1cf5nyng8b5nvm2mv"))))
+ "19k48517s8y1zb91a1312a0n94cbh5i5dixndcrqjmf87kkz61zx"))))
(build-system dune-build-system)
(arguments
`(#:package "csv"
@@ -1577,7 +1460,9 @@ coexistence with the old (version 2) SQLite and its OCaml wrapper
by all major spreadsheets. This library implements pure OCaml functions to
read and write files in this format as well as some convenience functions to
manipulate such data.")
- (license (package-license camlp4))))
+ ;; This is LGPLv2.1 with an exception that allows packages statically-linked
+ ;; against the library to be released under any terms.
+ (license license:lgpl2.1)))
(define-public ocaml-mtime
(package
@@ -2025,31 +1910,96 @@ format. It can process XML documents without a complete in-memory
representation of the data.")
(license license:isc)))
-(define-public ocaml-ulex
+(define-public ocaml-gen
(package
- (name "ocaml-ulex")
- (version "1.2")
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/whitequark/ulex.git")
- (commit (string-append "v" version))))
- (file-name (git-file-name name version))
- (sha256
- (base32 "08yf2x9a52l2y4savjqfjd2xy4pjd1rpla2ylrr9qrz1drpfw4ic"))))
- (build-system ocaml-build-system)
+ (name "ocaml-gen")
+ (version "0.5.2")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/c-cube/gen")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "1h9g508rnj2j8va5nvhamzscp954vrkh0hdf4pn3d10pcfyslfg2"))))
+ (build-system dune-build-system)
(arguments
- `(#:phases (modify-phases %standard-phases (delete 'configure))
- #:tests? #f
- #:make-flags
- (list "all.opt"
- (string-append "OCAMLBUILD=ocamlbuild -byte-plugin "
- "-cflags -I," (assoc-ref %build-inputs "camlp4")
- "/lib/ocaml/site-lib/camlp4"))))
+ `(#:tests? #f; no tests
+ #:package "gen"))
+ (propagated-inputs
+ `(("ocaml-odoc" ,ocaml-odoc)))
(native-inputs
- `(("camlp4" ,camlp4)
- ("ocamlbuild" ,ocamlbuild)))
+ `(("ocaml-qtest" ,ocaml-qtest)
+ ("ocaml-qcheck" ,ocaml-qcheck)))
+ (home-page "https://github.com/c-cube/gen/")
+ (synopsis "Iterators for OCaml, both restartable and consumable")
+ (description "Gen implements iterators of OCaml, that are both restartable
+and consumable.")
+ (license license:bsd-2)))
+
+(define-public ocaml-sedlex
+ (package
+ (name "ocaml-sedlex")
+ (version "2.1")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/ocaml-community/sedlex")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "05f6qa8x3vhpdz1fcnpqk37fpnyyq13icqsk2gww5idjnh6kng26"))))
+ (build-system dune-build-system)
+ (arguments
+ `(#:tests? #f; no tests
+ #:package "sedlex"
+ #:phases
+ (modify-phases %standard-phases
+ (add-before 'build 'copy-resources
+ (lambda* (#:key inputs #:allow-other-keys)
+ (with-directory-excursion "src/generator/data"
+ (for-each
+ (lambda (file)
+ (copy-file (assoc-ref inputs file) file))
+ '("DerivedCoreProperties.txt" "DerivedGeneralCategory.txt"
+ "PropList.txt")))
+ #t))
+ (add-before 'build 'chmod
+ (lambda _
+ (for-each (lambda (file) (chmod file #o644)) (find-files "." ".*"))
+ #t)))))
+ (native-inputs
+ `(("ocamlbuild" ,ocamlbuild)))
+ (propagated-inputs
+ `(("ocaml-gen" ,ocaml-gen)
+ ("ocaml-ppx-tools-versioned" ,ocaml-ppx-tools-versioned)
+ ("ocaml-uchar" ,ocaml-uchar)))
+ ;; These three files are needed by src/generator/data/dune, but would be
+ ;; downloaded using curl at build time.
+ (inputs
+ `(("DerivedCoreProperties.txt"
+ ,(origin
+ (method url-fetch)
+ (uri "https://www.unicode.org/Public/12.1.0/ucd/DerivedCoreProperties.txt")
+ (sha256
+ (base32
+ "0s6sn1yr9qmb2i6gf8dir2zpsbjv1frdfzy3i2yjylzvf637msx6"))))
+ ("DerivedGeneralCategory.txt"
+ ,(origin
+ (method url-fetch)
+ (uri "https://www.unicode.org/Public/12.1.0/ucd/extracted/DerivedGeneralCategory.txt")
+ (sha256
+ (base32
+ "1rifzq9ba6c58dn0lrmcb5l5k4ksx3zsdkira3m5p6h4i2wriy3q"))))
+ ("PropList.txt"
+ ,(origin
+ (method url-fetch)
+ (uri "https://www.unicode.org/Public/12.1.0/ucd/PropList.txt")
+ (sha256
+ (base32
+ "0gsb1jpj3mnqbjgbavi4l95gl6g4agq58j82km22fdfg63j3w3fk"))))))
(home-page "http://www.cduce.org/download.html#side")
(synopsis "Lexer generator for Unicode and OCaml")
(description "Lexer generator for Unicode and OCaml.")
@@ -2292,9 +2242,7 @@ many additional enhancements, including:
(build-system ocaml-build-system)
(native-inputs
`(("ocamlbuild" ,ocamlbuild)
- ("qtest" ,ocaml-qtest)
- ("bisect" ,ocaml-bisect)
- ("ounit" ,ocaml-ounit)))
+ ("qtest" ,ocaml-qtest)))
(propagated-inputs
`(("ocaml-num" ,ocaml-num)))
(arguments
@@ -2786,7 +2734,7 @@ Format module of the OCaml standard library.")
(define-public ocaml-piqilib
(package
(name "ocaml-piqilib")
- (version "0.6.14")
+ (version "0.6.15")
(source
(origin
(method git-fetch)
@@ -2795,9 +2743,7 @@ Format module of the OCaml standard library.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "0lyqllmfsxmwlg7qidy92kvxi9n39lvachmydcyi81f8p07ykd2d"))
- (patches
- (search-patches "ocaml-piqilib-Update-base64.patch"))))
+ (base32 "0v04hs85xv6d4ysqxyv1dik34dx49yab9shpi4x7iv19qlzl7csb"))))
(build-system ocaml-build-system)
(arguments
`(#:phases
@@ -2833,13 +2779,12 @@ Format module of the OCaml standard library.")
(string-append stubs "/dllpiqilib_stubs.so"))
#t))))))
(native-inputs
- `(("which" ,which)
- ("camlp4" ,camlp4)))
+ `(("which" ,which)))
(propagated-inputs
- `(("xmlm" ,ocaml-xmlm)
- ("ulex" ,ocaml-ulex)
- ("easy-format" ,ocaml-easy-format)
- ("base64" ,ocaml-base64)))
+ `(("ocaml-xmlm" ,ocaml-xmlm)
+ ("ocaml-sedlex" ,ocaml-sedlex)
+ ("ocaml-easy-format" ,ocaml-easy-format)
+ ("ocaml-base64" ,ocaml-base64)))
(home-page "http://piqi.org")
(synopsis "Data serialization and conversion library")
(description "Piqilib is the common library used by the piqi command-line
@@ -2908,7 +2853,7 @@ and 4 (random based) according to RFC 4122.")
(define-public ocaml-piqi
(package
(name "ocaml-piqi")
- (version "0.7.6")
+ (version "0.7.7")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/alavrik/piqi-ocaml/"
@@ -2916,7 +2861,7 @@ and 4 (random based) according to RFC 4122.")
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
- "0da0v2v28aj65b0cwpvvmcqyrfvz94pp3j5zgfdr1jrl5s37c21g"))))
+ "1l0b4saxmwqgw9mb10mwrz31lvpj3l0abh3cwarqp0x4vdrzshbh"))))
(build-system ocaml-build-system)
(arguments
`(#:make-flags
@@ -2928,11 +2873,11 @@ and 4 (random based) according to RFC 4122.")
(delete 'configure))))
(native-inputs
`(("which" ,which)
- ("camlp4" ,camlp4)
("protobuf" ,protobuf))) ; for tests
(propagated-inputs
- `(("num" ,ocaml-num)
- ("piqilib" ,ocaml-piqilib)))
+ `(("ocaml-num" ,ocaml-num)
+ ("ocaml-piqilib" ,ocaml-piqilib)
+ ("ocaml-stdlib-shims" ,ocaml-stdlib-shims)))
(home-page "https://github.com/alavrik/piqi-ocaml")
(synopsis "Protocol serialization system for OCaml")
(description "Piqi is a multi-format data serialization system for OCaml.
@@ -3018,8 +2963,6 @@ the plugins facilitate extensibility, and the frontends serve as entry points.")
(base32
"0chn7ldqb3wyf95yhmsxxq65cif56smgz1mhhc7m0dpwmyq1k97h"))))
(build-system dune-build-system)
- (native-inputs
- `(("camlp4" ,camlp4)))
(arguments
`(#:build-flags (list "--profile" "release")
#:test-target "camomile-test"
diff --git a/gnu/packages/parallel.scm b/gnu/packages/parallel.scm
index 0ad47bca0d..3cb39473fb 100644
--- a/gnu/packages/parallel.scm
+++ b/gnu/packages/parallel.scm
@@ -44,6 +44,7 @@
#:use-module (gnu packages perl)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages python)
+ #:use-module (gnu packages python-science)
#:use-module (gnu packages python-xyz)
#:use-module (gnu packages readline)
#:use-module (gnu packages tcl)
diff --git a/gnu/packages/password-utils.scm b/gnu/packages/password-utils.scm
index e1555cc194..dd24808a7e 100644
--- a/gnu/packages/password-utils.scm
+++ b/gnu/packages/password-utils.scm
@@ -294,21 +294,22 @@ applications, there is xclip integration." )
(define-public yapet
(package
(name "yapet")
- (version "1.1")
- (source (origin
- (method url-fetch)
- (uri (string-append "http://www.guengel.ch/myapps/yapet/downloads/yapet-"
- version
- ".tar.bz2"))
- (sha256
- (base32
- "1lq46mpxdsbl6qw4cj58hp9q7jckmyvbsi08p5zr77rjgqadxyyy"))))
+ (version "2.3")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://yapet.guengel.ch/downloads/yapet-"
+ version ".tar.xz"))
+ (sha256
+ (base32 "1fl4s7v1psl52ndd6i7716i9f493aj8ipl6lgmraadnn5h26l3pm"))))
(build-system gnu-build-system)
(inputs
- `(("ncurses" ,ncurses)
+ `(("argon2" ,argon2)
+ ("ncurses" ,ncurses)
("openssl" ,openssl)))
(native-inputs
- `(("pkg-config" ,pkg-config)))
+ `(("cppunit" ,cppunit)
+ ("pkg-config" ,pkg-config)))
(synopsis "Yet Another Password Encryption Tool")
(description "YAPET is a text based password manager using the Blowfish
encryption algorithm. Because of its small footprint and very few library
diff --git a/gnu/packages/patches/fcgi-2.4.0-gcc44-fixes.patch b/gnu/packages/patches/fcgi-2.4.0-gcc44-fixes.patch
deleted file mode 100644
index 0f921b120b..0000000000
--- a/gnu/packages/patches/fcgi-2.4.0-gcc44-fixes.patch
+++ /dev/null
@@ -1,14 +0,0 @@
-Taken from http://pkgs.fedoraproject.org/cgit/rpms/fcgi.git/plain/fcgi-2.4.0-gcc44_fixes.patch.
-Fixes compilation with GCC 4.4 and later.
-
-diff -up fcgi-2.4.0/libfcgi/fcgio.cpp.gcc44_fixes fcgi-2.4.0/libfcgi/fcgio.cpp
---- fcgi-2.4.0/libfcgi/fcgio.cpp.gcc44_fixes 2002-02-24 21:12:22.000000000 +0100
-+++ fcgi-2.4.0/libfcgi/fcgio.cpp 2009-02-15 11:35:18.000000000 +0100
-@@ -23,6 +23,7 @@
- #endif
-
- #include <limits.h>
-+#include <cstdio>
- #include "fcgio.h"
-
- using std::streambuf;
diff --git a/gnu/packages/patches/fcgi-2.4.0-poll.patch b/gnu/packages/patches/fcgi-2.4.0-poll.patch
deleted file mode 100644
index 73be6a0a08..0000000000
--- a/gnu/packages/patches/fcgi-2.4.0-poll.patch
+++ /dev/null
@@ -1,89 +0,0 @@
-Taken from http://pkgs.fedoraproject.org/cgit/rpms/fcgi.git/plain/fcgi-2.4.0-poll.patch
-Fixes CVE-2012-6687.
-
-Author: Anton Kortunov <toshic.toshic@gmail.com>
-Bug-Ubuntu: https://bugs.launchpad.net/ubuntu/+source/libfcgi/+bug/933417
-Description: use poll in os_unix.c instead of select to avoid problem with > 1024 connections
-Forwarded: yes, fastcgi-developers@mailman.fastcgi.com
-
-diff --git a/libfcgi/os_unix.c b/libfcgi/os_unix.c
-index 73e6a7f..af35aee 100755
---- a/libfcgi/os_unix.c
-+++ b/libfcgi/os_unix.c
-@@ -42,6 +42,7 @@ static const char rcsid[] = "$Id: os_unix.c,v 1.37 2002/03/05 19:14:49 robs Exp
- #include <sys/time.h>
- #include <sys/un.h>
- #include <signal.h>
-+#include <poll.h>
-
- #ifdef HAVE_NETDB_H
- #include <netdb.h>
-@@ -103,6 +104,9 @@ static int volatile maxFd = -1;
- static int shutdownPending = FALSE;
- static int shutdownNow = FALSE;
-
-+static int libfcgiOsClosePollTimeout = 2000;
-+static int libfcgiIsAfUnixKeeperPollTimeout = 2000;
-+
- void OS_ShutdownPending()
- {
- shutdownPending = TRUE;
-@@ -168,6 +172,16 @@ int OS_LibInit(int stdioFds[3])
- if(libInitialized)
- return 0;
-
-+ char *libfcgiOsClosePollTimeoutStr = getenv( "LIBFCGI_OS_CLOSE_POLL_TIMEOUT" );
-+ if(libfcgiOsClosePollTimeoutStr) {
-+ libfcgiOsClosePollTimeout = atoi(libfcgiOsClosePollTimeoutStr);
-+ }
-+
-+ char *libfcgiIsAfUnixKeeperPollTimeoutStr = getenv( "LIBFCGI_IS_AF_UNIX_KEEPER_POLL_TIMEOUT" );
-+ if(libfcgiIsAfUnixKeeperPollTimeoutStr) {
-+ libfcgiIsAfUnixKeeperPollTimeout = atoi(libfcgiIsAfUnixKeeperPollTimeoutStr);
-+ }
-+
- asyncIoTable = (AioInfo *)malloc(asyncIoTableSize * sizeof(AioInfo));
- if(asyncIoTable == NULL) {
- errno = ENOMEM;
-@@ -755,19 +769,16 @@ int OS_Close(int fd)
-
- if (shutdown(fd, 1) == 0)
- {
-- struct timeval tv;
-- fd_set rfds;
-+ struct pollfd pfd;
- int rv;
- char trash[1024];
-
-- FD_ZERO(&rfds);
-+ pfd.fd = fd;
-+ pfd.events = POLLIN;
-
- do
- {
-- FD_SET(fd, &rfds);
-- tv.tv_sec = 2;
-- tv.tv_usec = 0;
-- rv = select(fd + 1, &rfds, NULL, NULL, &tv);
-+ rv = poll(&pfd, 1, libfcgiOsClosePollTimeout);
- }
- while (rv > 0 && read(fd, trash, sizeof(trash)) > 0);
- }
-@@ -1116,13 +1127,11 @@ static int is_reasonable_accept_errno (const int error)
- */
- static int is_af_unix_keeper(const int fd)
- {
-- struct timeval tval = { READABLE_UNIX_FD_DROP_DEAD_TIMEVAL };
-- fd_set read_fds;
--
-- FD_ZERO(&read_fds);
-- FD_SET(fd, &read_fds);
-+ struct pollfd pfd;
-+ pfd.fd = fd;
-+ pfd.events = POLLIN;
-
-- return select(fd + 1, &read_fds, NULL, NULL, &tval) >= 0 && FD_ISSET(fd, &read_fds);
-+ return poll(&pfd, 1, libfcgiIsAfUnixKeeperPollTimeout) >= 0 && (pfd.revents & POLLIN);
- }
-
- /*
diff --git a/gnu/packages/patches/handbrake-opt-in-nvenc.patch b/gnu/packages/patches/handbrake-opt-in-nvenc.patch
deleted file mode 100644
index 2b34aaa427..0000000000
--- a/gnu/packages/patches/handbrake-opt-in-nvenc.patch
+++ /dev/null
@@ -1,14 +0,0 @@
-Require opt-in for NVEnc support. Otherwise the default is true with no way
-to disable it.
-
---- HandBrake-1.2.0/make/configure.py.orig 1969-12-31 18:00:00.000000000 -0600
-+++ HandBrake-1.2.0/make/configure.py 2019-01-22 23:22:46.186959060 -0600
-@@ -1320,7 +1320,7 @@
- grp.add_option( '--disable-ffmpeg-aac', dest="enable_ffmpeg_aac", action='store_false' )
-
- h = IfHost( 'enable Nvidia NVEnc video encoder', '*-*-*', none=optparse.SUPPRESS_HELP ).value
-- grp.add_option( '--enable-nvenc', dest="enable_nvenc", default=not (host.match( '*-*-darwin*' ) or host.match( '*-*-freebsd*' )), action='store_true', help=h )
-+ grp.add_option( '--enable-nvenc', dest="enable_nvenc", default=False, action='store_true', help=h )
-
-
- cli.add_option_group( grp )
diff --git a/gnu/packages/patches/icecat-gnuzilla-fixes.patch b/gnu/packages/patches/icecat-gnuzilla-fixes.patch
deleted file mode 100644
index e8e0946f57..0000000000
--- a/gnu/packages/patches/icecat-gnuzilla-fixes.patch
+++ /dev/null
@@ -1,546 +0,0 @@
-From 2abca7767c461a022317bf18fbec51e8b3ce6a92 Mon Sep 17 00:00:00 2001
-From: Mark H Weaver <mhw@netris.org>
-Date: Thu, 31 Oct 2019 03:59:46 -0400
-Subject: [PATCH 1/2] Branding: fix patching of trademarkInfo within l10n
- directory.
-
-This is a followup to commit 930298e1efff3e40721659d8fd7118cdd2477bd4.
-
-* makeicecat: Patch in the IceCat logo copyright notice in all
-brand.dtd files within l10n directory.
----
- makeicecat | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/makeicecat b/makeicecat
-index 3ff2ead..4ff3e64 100755
---- a/makeicecat
-+++ b/makeicecat
-@@ -226,7 +226,7 @@ cp $DATA/bookmarks.html.in browser/locales/generic/profile/bookmarks.html.in
-
- # Custom legal about pages
-
--find l10n -wholename '*/brand.dtd' |xargs /bin/sed 's/trademarkInfo.part1.*/trademarkInfo.part1 "">/' -i
-+find l10n -wholename '*/brand.dtd' |xargs /bin/sed 's/trademarkInfo.part1.*/trademarkInfo.part1 "The IceCat logo is Copyright 2008-2015 Free Software Foundation, released under the terms of the GNU Lesser General Public License, version 3 or any later version.">/' -i
- find l10n -wholename '*/brand.ftl' |xargs /bin/sed 's/^trademarkInfo = .*/trademarkInfo = The IceCat logo is Copyright 2008-2015 Free Software Foundation, released under the terms of the GNU Lesser General Public License, version 3 or any later version./' -i
-
- for STRING in rights.intro-point3-unbranded rights.intro-point4a-unbranded rights.intro-point4b-unbranded rights.intro-point4c-unbranded
---
-2.23.0
-
-From 150af5dd8b502b66f325b9fe8bd0b2ae553326a4 Mon Sep 17 00:00:00 2001
-From: Mark H Weaver <mhw@netris.org>
-Date: Wed, 30 Oct 2019 18:34:44 -0400
-Subject: [PATCH 2/2] Add first batch of IceCat-specific preferences.
-
-* makeicecat: Add code to add IceCat-specific messages to l10n directory.
-* data/files-to-append/browser/locales/en-US/browser/preferences/preferences.ftl,
-data/files-to-append/l10n/es-AR/browser/browser/preferences/preferences.ftl,
-data/files-to-append/l10n/es-CL/browser/browser/preferences/preferences.ftl,
-data/files-to-append/l10n/es-ES/browser/browser/preferences/preferences.ftl,
-data/files-to-append/l10n/es-MX/browser/browser/preferences/preferences.ftl,
-data/files-to-append/l10n/fr/browser/browser/preferences/preferences.ftl,
-data/files-to-append/l10n/it/browser/browser/preferences/preferences.ftl,
-data/patches/icecat-preferences.patch: New files.
----
- .../en-US/browser/preferences/preferences.ftl | 36 ++++
- .../browser/preferences/preferences.ftl | 36 ++++
- .../browser/preferences/preferences.ftl | 36 ++++
- .../browser/preferences/preferences.ftl | 36 ++++
- .../browser/preferences/preferences.ftl | 36 ++++
- .../browser/preferences/preferences.ftl | 36 ++++
- .../browser/preferences/preferences.ftl | 36 ++++
- data/patches/icecat-preferences.patch | 155 ++++++++++++++++++
- makeicecat | 13 ++
- 9 files changed, 420 insertions(+)
- create mode 100644 data/files-to-append/browser/locales/en-US/browser/preferences/preferences.ftl
- create mode 100644 data/files-to-append/l10n/es-AR/browser/browser/preferences/preferences.ftl
- create mode 100644 data/files-to-append/l10n/es-CL/browser/browser/preferences/preferences.ftl
- create mode 100644 data/files-to-append/l10n/es-ES/browser/browser/preferences/preferences.ftl
- create mode 100644 data/files-to-append/l10n/es-MX/browser/browser/preferences/preferences.ftl
- create mode 100644 data/files-to-append/l10n/fr/browser/browser/preferences/preferences.ftl
- create mode 100644 data/files-to-append/l10n/it/browser/browser/preferences/preferences.ftl
- create mode 100644 data/patches/icecat-preferences.patch
-
-diff --git a/data/files-to-append/browser/locales/en-US/browser/preferences/preferences.ftl b/data/files-to-append/browser/locales/en-US/browser/preferences/preferences.ftl
-new file mode 100644
-index 0000000..2f90bcd
---- /dev/null
-+++ b/data/files-to-append/browser/locales/en-US/browser/preferences/preferences.ftl
-@@ -0,0 +1,36 @@
-+
-+## IceCat-specific privacy settings
-+
-+icecat-privacy-group-header = IceCat-specific privacy settings
-+
-+disable-javascript-option =
-+ .label = Disable JavaScript
-+disable-javascript-description = Disabling Javascript greatly improves privacy, security and <a href=\"https://www.gnu.org/philosophy/javascript-trap.html\">freedom</a>, but it will break many sites.
-+
-+disable-custom-fonts-option =
-+ .label = Do not load custom fonts
-+disable-custom-fonts-description = Custom fonts can be used for <a href=\"https://en.wikipedia.org/wiki/Device_fingerprint\">fingerprinting</a>. Disabling them improves privacy but may make some sites look wrong.
-+
-+isolate-request-first-party-option =
-+ .label = Isolate requests to First Party domains
-+isolate-request-first-party-description = This <a href=\"https://www.torproject.org/projects/torbrowser/design/#identifier-linkability\">improves privacy</a>, but it may interfere with login into some sites.
-+
-+auto-update-extensions-option =
-+ .label = Automatically update extensions
-+auto-update-extensions-description = Enabling automated updates is good for security, but would start Internet connections in the background.
-+
-+spoof-referers-option =
-+ .label = Spoof Referers
-+spoof-referers-description = <a href=\"https://en.wikipedia.org/wiki/HTTP_referer\">Referers</a> tell sites what link brought you there. This feature greatly improves your privacy, but it may break functionality on some sites.
-+
-+detect-captive-portal-option =
-+ .label = Detect captive portal
-+detect-captive-portal-description = <a href=\"https://en.wikipedia.org/wiki/Captive_portal\">Captive portals</a> are the sites that control access to public wireless networks in hotels, airports, cafes, etc. The detection service is useful if you connect to such netwoks, but it will start connections automatically.
-+
-+geolocation-option =
-+ .label = Enable Geolocation
-+geolocation-description = This is commonly used for maps, weather sites, and some stores. It is better to keep it off unless you really need it.
-+
-+webgl-option =
-+ .label = Enable WebGL
-+webgl-description = Needed to visualize 3D graphics, but it may expose you to security threats. Enable it only if you really use it.
-diff --git a/data/files-to-append/l10n/es-AR/browser/browser/preferences/preferences.ftl b/data/files-to-append/l10n/es-AR/browser/browser/preferences/preferences.ftl
-new file mode 100644
-index 0000000..ad052b3
---- /dev/null
-+++ b/data/files-to-append/l10n/es-AR/browser/browser/preferences/preferences.ftl
-@@ -0,0 +1,36 @@
-+
-+## IceCat-specific privacy settings
-+
-+icecat-privacy-group-header = Ajustes de privacidad de IceCat
-+
-+disable-javascript-option =
-+ .label = Desactivar JavaScript
-+disable-javascript-description = Desactivar JavaScript mejora enormemente la privacidad, la seguridad en Internet y la <a href=\"https://www.gnu.org/philosophy/javascript-trap.es.html\">libertad</a> en su equipo, pero afectará a la funcionalidad de muchas páginas.
-+
-+disable-custom-fonts-option =
-+ .label = No cargar fuentes personalizadas
-+disable-custom-fonts-description = Las fuentes personalizadas pueden usarse para <a href=\"https://en.wikipedia.org/wiki/Device_fingerprint\">rastrear</a> al usuario. Desactivarlas mejora la privacidad pero puede afectar al aspecto visual de algunas páginas.
-+
-+isolate-request-first-party-option =
-+ .label = Aislar las solicitudes a los Dominios Primarios
-+isolate-request-first-party-description = Este ajuste <a href=\"https://www.torproject.org/projects/torbrowser/design/#identifier-linkability\">mejora la privacidad</a>, pero puede interferir con el inicio de sesión en algunas webs.
-+
-+auto-update-extensions-option =
-+ .label = Actualizar las extensiones automáticamente
-+auto-update-extensions-description = Activar las actualizaciones automáticas es bueno para la seguridad, pero precisa del establecimiento de conexiones a otros servidores en segundo plano.
-+
-+spoof-referers-option =
-+ .label = Modificar los referers HTTP
-+spoof-referers-description = Los <a href=\"https://es.wikipedia.org/wiki/Referer_(Cabecera_HTTP)\">referers</a> son cabeceras HTTP que informan a una página acerca de nuestro enlace de origen. Activar esta característica mejora enormemente su privacidad, pero puede afectar a la funcionalidad de algunas páginas.
-+
-+detect-captive-portal-option =
-+ .label = Detectar los portales cautivos
-+detect-captive-portal-description = Los <a href=\"https://es.wikipedia.org/wiki/Portal_cautivo\">portales cautivos</a> son las webs que registran y controlan el acceso a redes inalámbricas públicas en hoteles, aeropuertos, cafés y similares. El servicio que los detecta es práctico si se ve a menudo en la necesidad de usarlos, pero implica el establecimiento de conexiones en segundo plano.
-+
-+geolocation-option =
-+ .label = Activar Geolocalización
-+geolocation-description = Esta característica se usa habitualmente en mapas, páginas del tiempo y algunas tiendas. Es mejor desactivarla si realmente no necesita que identifiquen su ubicación.
-+
-+webgl-option =
-+ .label = Activar WebGL
-+webgl-description = Esta función necesaria para mostrar ciertos gráficos 3D en el navegador puede exponerle a ciertos riesgos de seguridad. Actívela solamente si va a usarla.
-diff --git a/data/files-to-append/l10n/es-CL/browser/browser/preferences/preferences.ftl b/data/files-to-append/l10n/es-CL/browser/browser/preferences/preferences.ftl
-new file mode 100644
-index 0000000..ad052b3
---- /dev/null
-+++ b/data/files-to-append/l10n/es-CL/browser/browser/preferences/preferences.ftl
-@@ -0,0 +1,36 @@
-+
-+## IceCat-specific privacy settings
-+
-+icecat-privacy-group-header = Ajustes de privacidad de IceCat
-+
-+disable-javascript-option =
-+ .label = Desactivar JavaScript
-+disable-javascript-description = Desactivar JavaScript mejora enormemente la privacidad, la seguridad en Internet y la <a href=\"https://www.gnu.org/philosophy/javascript-trap.es.html\">libertad</a> en su equipo, pero afectará a la funcionalidad de muchas páginas.
-+
-+disable-custom-fonts-option =
-+ .label = No cargar fuentes personalizadas
-+disable-custom-fonts-description = Las fuentes personalizadas pueden usarse para <a href=\"https://en.wikipedia.org/wiki/Device_fingerprint\">rastrear</a> al usuario. Desactivarlas mejora la privacidad pero puede afectar al aspecto visual de algunas páginas.
-+
-+isolate-request-first-party-option =
-+ .label = Aislar las solicitudes a los Dominios Primarios
-+isolate-request-first-party-description = Este ajuste <a href=\"https://www.torproject.org/projects/torbrowser/design/#identifier-linkability\">mejora la privacidad</a>, pero puede interferir con el inicio de sesión en algunas webs.
-+
-+auto-update-extensions-option =
-+ .label = Actualizar las extensiones automáticamente
-+auto-update-extensions-description = Activar las actualizaciones automáticas es bueno para la seguridad, pero precisa del establecimiento de conexiones a otros servidores en segundo plano.
-+
-+spoof-referers-option =
-+ .label = Modificar los referers HTTP
-+spoof-referers-description = Los <a href=\"https://es.wikipedia.org/wiki/Referer_(Cabecera_HTTP)\">referers</a> son cabeceras HTTP que informan a una página acerca de nuestro enlace de origen. Activar esta característica mejora enormemente su privacidad, pero puede afectar a la funcionalidad de algunas páginas.
-+
-+detect-captive-portal-option =
-+ .label = Detectar los portales cautivos
-+detect-captive-portal-description = Los <a href=\"https://es.wikipedia.org/wiki/Portal_cautivo\">portales cautivos</a> son las webs que registran y controlan el acceso a redes inalámbricas públicas en hoteles, aeropuertos, cafés y similares. El servicio que los detecta es práctico si se ve a menudo en la necesidad de usarlos, pero implica el establecimiento de conexiones en segundo plano.
-+
-+geolocation-option =
-+ .label = Activar Geolocalización
-+geolocation-description = Esta característica se usa habitualmente en mapas, páginas del tiempo y algunas tiendas. Es mejor desactivarla si realmente no necesita que identifiquen su ubicación.
-+
-+webgl-option =
-+ .label = Activar WebGL
-+webgl-description = Esta función necesaria para mostrar ciertos gráficos 3D en el navegador puede exponerle a ciertos riesgos de seguridad. Actívela solamente si va a usarla.
-diff --git a/data/files-to-append/l10n/es-ES/browser/browser/preferences/preferences.ftl b/data/files-to-append/l10n/es-ES/browser/browser/preferences/preferences.ftl
-new file mode 100644
-index 0000000..ad052b3
---- /dev/null
-+++ b/data/files-to-append/l10n/es-ES/browser/browser/preferences/preferences.ftl
-@@ -0,0 +1,36 @@
-+
-+## IceCat-specific privacy settings
-+
-+icecat-privacy-group-header = Ajustes de privacidad de IceCat
-+
-+disable-javascript-option =
-+ .label = Desactivar JavaScript
-+disable-javascript-description = Desactivar JavaScript mejora enormemente la privacidad, la seguridad en Internet y la <a href=\"https://www.gnu.org/philosophy/javascript-trap.es.html\">libertad</a> en su equipo, pero afectará a la funcionalidad de muchas páginas.
-+
-+disable-custom-fonts-option =
-+ .label = No cargar fuentes personalizadas
-+disable-custom-fonts-description = Las fuentes personalizadas pueden usarse para <a href=\"https://en.wikipedia.org/wiki/Device_fingerprint\">rastrear</a> al usuario. Desactivarlas mejora la privacidad pero puede afectar al aspecto visual de algunas páginas.
-+
-+isolate-request-first-party-option =
-+ .label = Aislar las solicitudes a los Dominios Primarios
-+isolate-request-first-party-description = Este ajuste <a href=\"https://www.torproject.org/projects/torbrowser/design/#identifier-linkability\">mejora la privacidad</a>, pero puede interferir con el inicio de sesión en algunas webs.
-+
-+auto-update-extensions-option =
-+ .label = Actualizar las extensiones automáticamente
-+auto-update-extensions-description = Activar las actualizaciones automáticas es bueno para la seguridad, pero precisa del establecimiento de conexiones a otros servidores en segundo plano.
-+
-+spoof-referers-option =
-+ .label = Modificar los referers HTTP
-+spoof-referers-description = Los <a href=\"https://es.wikipedia.org/wiki/Referer_(Cabecera_HTTP)\">referers</a> son cabeceras HTTP que informan a una página acerca de nuestro enlace de origen. Activar esta característica mejora enormemente su privacidad, pero puede afectar a la funcionalidad de algunas páginas.
-+
-+detect-captive-portal-option =
-+ .label = Detectar los portales cautivos
-+detect-captive-portal-description = Los <a href=\"https://es.wikipedia.org/wiki/Portal_cautivo\">portales cautivos</a> son las webs que registran y controlan el acceso a redes inalámbricas públicas en hoteles, aeropuertos, cafés y similares. El servicio que los detecta es práctico si se ve a menudo en la necesidad de usarlos, pero implica el establecimiento de conexiones en segundo plano.
-+
-+geolocation-option =
-+ .label = Activar Geolocalización
-+geolocation-description = Esta característica se usa habitualmente en mapas, páginas del tiempo y algunas tiendas. Es mejor desactivarla si realmente no necesita que identifiquen su ubicación.
-+
-+webgl-option =
-+ .label = Activar WebGL
-+webgl-description = Esta función necesaria para mostrar ciertos gráficos 3D en el navegador puede exponerle a ciertos riesgos de seguridad. Actívela solamente si va a usarla.
-diff --git a/data/files-to-append/l10n/es-MX/browser/browser/preferences/preferences.ftl b/data/files-to-append/l10n/es-MX/browser/browser/preferences/preferences.ftl
-new file mode 100644
-index 0000000..ad052b3
---- /dev/null
-+++ b/data/files-to-append/l10n/es-MX/browser/browser/preferences/preferences.ftl
-@@ -0,0 +1,36 @@
-+
-+## IceCat-specific privacy settings
-+
-+icecat-privacy-group-header = Ajustes de privacidad de IceCat
-+
-+disable-javascript-option =
-+ .label = Desactivar JavaScript
-+disable-javascript-description = Desactivar JavaScript mejora enormemente la privacidad, la seguridad en Internet y la <a href=\"https://www.gnu.org/philosophy/javascript-trap.es.html\">libertad</a> en su equipo, pero afectará a la funcionalidad de muchas páginas.
-+
-+disable-custom-fonts-option =
-+ .label = No cargar fuentes personalizadas
-+disable-custom-fonts-description = Las fuentes personalizadas pueden usarse para <a href=\"https://en.wikipedia.org/wiki/Device_fingerprint\">rastrear</a> al usuario. Desactivarlas mejora la privacidad pero puede afectar al aspecto visual de algunas páginas.
-+
-+isolate-request-first-party-option =
-+ .label = Aislar las solicitudes a los Dominios Primarios
-+isolate-request-first-party-description = Este ajuste <a href=\"https://www.torproject.org/projects/torbrowser/design/#identifier-linkability\">mejora la privacidad</a>, pero puede interferir con el inicio de sesión en algunas webs.
-+
-+auto-update-extensions-option =
-+ .label = Actualizar las extensiones automáticamente
-+auto-update-extensions-description = Activar las actualizaciones automáticas es bueno para la seguridad, pero precisa del establecimiento de conexiones a otros servidores en segundo plano.
-+
-+spoof-referers-option =
-+ .label = Modificar los referers HTTP
-+spoof-referers-description = Los <a href=\"https://es.wikipedia.org/wiki/Referer_(Cabecera_HTTP)\">referers</a> son cabeceras HTTP que informan a una página acerca de nuestro enlace de origen. Activar esta característica mejora enormemente su privacidad, pero puede afectar a la funcionalidad de algunas páginas.
-+
-+detect-captive-portal-option =
-+ .label = Detectar los portales cautivos
-+detect-captive-portal-description = Los <a href=\"https://es.wikipedia.org/wiki/Portal_cautivo\">portales cautivos</a> son las webs que registran y controlan el acceso a redes inalámbricas públicas en hoteles, aeropuertos, cafés y similares. El servicio que los detecta es práctico si se ve a menudo en la necesidad de usarlos, pero implica el establecimiento de conexiones en segundo plano.
-+
-+geolocation-option =
-+ .label = Activar Geolocalización
-+geolocation-description = Esta característica se usa habitualmente en mapas, páginas del tiempo y algunas tiendas. Es mejor desactivarla si realmente no necesita que identifiquen su ubicación.
-+
-+webgl-option =
-+ .label = Activar WebGL
-+webgl-description = Esta función necesaria para mostrar ciertos gráficos 3D en el navegador puede exponerle a ciertos riesgos de seguridad. Actívela solamente si va a usarla.
-diff --git a/data/files-to-append/l10n/fr/browser/browser/preferences/preferences.ftl b/data/files-to-append/l10n/fr/browser/browser/preferences/preferences.ftl
-new file mode 100644
-index 0000000..4008883
---- /dev/null
-+++ b/data/files-to-append/l10n/fr/browser/browser/preferences/preferences.ftl
-@@ -0,0 +1,36 @@
-+
-+## IceCat-specific privacy settings
-+
-+icecat-privacy-group-header = Vie privée de IceCat
-+
-+disable-javascript-option =
-+ .label = Disable JavaScript
-+disable-javascript-description = Désactiver JavaScript améliore grandement le respect de la vie privée, la sécurité et <a href=\"https://www.gnu.org/philosophy/javascript-trap.fr.html\">la liberté</a>, mais cela risque de rendre beaucoup de sites web inutilisables.
-+
-+disable-custom-fonts-option =
-+ .label = Ne pas charger de polices personnalisées
-+disable-custom-fonts-description = Les polices personnalisées peuvent être utilisées pour vous <a href=\"https://fr.wikipedia.org/wiki/Empreinte_digitale_d%27appareil\">identifier</a>. Les désactiver améliore le respect de la vie privée mais peut détérorier le rendu de certains sites.
-+
-+isolate-request-first-party-option =
-+ .label = Isoler les requêtes vers les domaines de premier niveau
-+isolate-request-first-party-description = Améliore <a href=\"https://www.torproject.org/projects/torbrowser/design/#identifier-linkability\">le respect de la vie privée</a>, mais peut interférer avec la page de login de certains sites web.
-+
-+auto-update-extensions-option =
-+ .label = Mettre à jour les extensions automatiquement
-+auto-update-extensions-description = Activer les mises à jour automatiques améliore votre sécurité, mais cela va ouvrir des connexions internet en arrière-plan.
-+
-+spoof-referers-option =
-+ .label = Usurper l'identité des Referers
-+spoof-referers-description = <a href=\"https://fr.wikipedia.org/wiki/R%C3%A9f%C3%A9rent_(informatique)\">Les Referers</a> indiquent aux sites web quel lien vous y a amené. Cette fonctionnalité améliore grandement le respect de la vie privée, mais peut entraîner la perte de fonctionnalités sur certains sites.
-+
-+detect-captive-portal-option =
-+ .label = Détecter les portails captifs
-+detect-captive-portal-description = <a href=\"https://fr.wikipedia.org/wiki/Portail_captif\">Les portails captifs</a> sont les sites qui contrôlent l'accès aux réseaux sans fils publics dans les hôtels, les aéroports, les bars, etc. Ce service de détection est utile si vous vous connectez à ce type de réseaux, mais cela entraîne l'ouverture automatique de connexions.
-+
-+geolocation-option =
-+ .label = Activer la géolocalisation
-+geolocation-description = Elle est utilisée couramment pour les cartes, les sites de prévisions météo, et certaines boutiques en ligne. Il vaut mieux la désactivez à moins d'en avoir réellement besoin.
-+
-+webgl-option =
-+ .label = Activer WebGL
-+webgl-description = Nécessaire afin de visualiser les graphisme en 3D, mais peut vous exposer à des menaces de sécurité. Activer WebGL seulement si vous l'utilisez réellement.
-diff --git a/data/files-to-append/l10n/it/browser/browser/preferences/preferences.ftl b/data/files-to-append/l10n/it/browser/browser/preferences/preferences.ftl
-new file mode 100644
-index 0000000..a1fe1b7
---- /dev/null
-+++ b/data/files-to-append/l10n/it/browser/browser/preferences/preferences.ftl
-@@ -0,0 +1,36 @@
-+
-+## IceCat-specific privacy settings
-+
-+icecat-privacy-group-header = Impostazioni sulla privacy di IceCat
-+
-+disable-javascript-option =
-+ .label = Disabilita JavaScript
-+disable-javascript-description = Disabilitare Javascript migliora notevolmente la privacy, la sicurezza e la <a href=\"https://www.gnu.org/philosophy/javascript-trap.it.html\">libertà</a>, ma compromette la funzionalità molti siti.
-+
-+disable-custom-fonts-option =
-+ .label = Non caricare caratteri personalizzati
-+disable-custom-fonts-description = I caratteri personalizzati possono essere utilizzati per il <a href=\"https://it.wikipedia.org/wiki/Device_fingerprint\">fingerprinting</a>. Disabilitarli migliora la privacy ma potrebbe far compromettere la visibilità di alcuni siti.
-+
-+isolate-request-first-party-option =
-+ .label = Isolare le richieste ai domini proprietari
-+isolate-request-first-party-description = Questo <a href=\"https://www.torproject.org/projects/torbrowser/design/#identifier-linkability\">migliora la privacy</a>, ma potrebbe interferire con il login in alcuni siti.
-+
-+auto-update-extensions-option =
-+ .label = Aggiorna automaticamente le estensioni
-+auto-update-extensions-description = Abilitare gli aggiornamenti automatici è positivo per la sicurezza, ma avvierebbe connessioni Internet in background.
-+
-+spoof-referers-option =
-+ .label = Spoof Referers
-+spoof-referers-description = <a href=\"https://it.wikipedia.org/wiki/Referer\">I referer</a> dicono ai siti quale link ti ha portato lì. Questa funzione migliora notevolmente la privacy, ma potrebbe compromettere la funzionalità di alcuni siti.
-+
-+detect-captive-portal-option =
-+ .label = Rileva il captive portal
-+detect-captive-portal-description = <a href=\"https://it.wikipedia.org/wiki/Captive_portal\">I captive portal</a> sono i siti che controllano l'accesso alle reti wireless pubbliche negli hotel, negli aeroporti, nei bar, ecc. Il servizio di rilevamento è utile se ci si connette a tali reti, ma avvierà automaticamente le connessioni.
-+
-+geolocation-option =
-+ .label = Abilita geolocalizzazione
-+geolocation-description = Questo è comunemente usato per mappe, siti meteo e alcuni negozi online. È meglio tenerlo spento a meno che non se ne abbia veramente bisogno.
-+
-+webgl-option =
-+ .label = Abilita WebGL
-+webgl-description = Necessario per visualizzare la grafica 3D, ma potrebbe esporre a minacce alla sicurezza. Abilitare solo in caso di necessità.
-diff --git a/data/patches/icecat-preferences.patch b/data/patches/icecat-preferences.patch
-new file mode 100644
-index 0000000..86fdd06
---- /dev/null
-+++ b/data/patches/icecat-preferences.patch
-@@ -0,0 +1,155 @@
-+--- a/browser/components/preferences/in-content/privacy.xul.orig 2019-10-16 15:29:49.000000000 -0400
-++++ b/browser/components/preferences/in-content/privacy.xul 2019-10-30 23:54:53.591633131 -0400
-+@@ -594,6 +594,79 @@
-+ data-l10n-id="addressbar-suggestions-settings"/>
-+ </groupbox>
-+
-++<!-- IceCat-specific privacy group -->
-++<groupbox id="iceCatPrivacyGroup"
-++ data-category="panePrivacy"
-++ hidden="true">
-++ <label><html:h2 data-l10n-id="icecat-privacy-group-header"/></label>
-++ <vbox>
-++ <checkbox id="disableJavaScript" data-l10n-id="disable-javascript-option"
-++ preference="javascript.enabled"
-++ onsyncfrompreference="return gPrivacyPane.readDisableJavaScriptOption();"
-++ onsynctopreference="return gPrivacyPane.writeDisableJavaScriptOption();"/>
-++ <vbox class="indent">
-++ <label data-l10n-id="disable-javascript-description"/>
-++ </vbox>
-++ </vbox>
-++ <vbox>
-++ <checkbox id="disableCustomFonts" data-l10n-id="disable-custom-fonts-option"
-++ preference="browser.display.use_document_fonts"
-++ onsyncfrompreference="return gPrivacyPane.readDisableCustomFontsOption();"
-++ onsynctopreference="return gPrivacyPane.writeDisableCustomFontsOption();"/>
-++ <vbox class="indent">
-++ <label data-l10n-id="disable-custom-fonts-description"/>
-++ </vbox>
-++ </vbox>
-++ <vbox>
-++ <checkbox id="isolateRequestFirstParty" data-l10n-id="isolate-request-first-party-option"
-++ preference="privacy.firstparty.isolate"/>
-++ <vbox class="indent">
-++ <label data-l10n-id="isolate-request-first-party-description"/>
-++ </vbox>
-++ </vbox>
-++ <vbox>
-++ <checkbox id="autoUpdateExtensions" data-l10n-id="auto-update-extensions-option"
-++ preference="extensions.update.enabled"/>
-++ <vbox class="indent">
-++ <label data-l10n-id="auto-update-extensions-description"/>
-++ </vbox>
-++ </vbox>
-++ <vbox>
-++ <checkbox id="spoofReferrers" data-l10n-id="spoof-referers-option"
-++ preference="network.http.referer.spoofSource"/>
-++ <vbox class="indent">
-++ <label data-l10n-id="spoof-referers-description"/>
-++ </vbox>
-++ </vbox>
-++ <vbox>
-++ <checkbox id="detectCaptivePortal" data-l10n-id="detect-captive-portal-option"
-++ preference="captivedetect.canonicalURL"
-++ onsyncfrompreference="return gPrivacyPane.readDetectCaptiveOption();"
-++ onsynctopreference="return gPrivacyPane.writeDetectCaptiveOption();"/>
-++ <vbox class="indent">
-++ <label data-l10n-id="detect-captive-portal-description"/>
-++ </vbox>
-++ </vbox>
-++ <vbox>
-++ <checkbox id="geolocation" data-l10n-id="geolocation-option"
-++ preference="browser.search.geoip.url"
-++ onsyncfrompreference="return gPrivacyPane.readGeolocationOption();"
-++ onsynctopreference="return gPrivacyPane.writeGeolocationOption();"/>
-++ <vbox class="indent">
-++ <label data-l10n-id="geolocation-description"/>
-++ </vbox>
-++ </vbox>
-++ <vbox>
-++ <checkbox id="webgl" data-l10n-id="webgl-option"
-++ preference="webgl.disabled"
-++ onsyncfrompreference="return gPrivacyPane.readWebGLOption();"
-++ onsynctopreference="return gPrivacyPane.writeWebGLOption();"/>
-++ <vbox class="indent">
-++ <label data-l10n-id="webgl-description"/>
-++ </vbox>
-++ </vbox>
-++</groupbox>
-++
-+ <hbox id="permissionsCategory"
-+ class="subcategory"
-+ hidden="true"
-+--- a/browser/components/preferences/in-content/privacy.js.orig 2019-10-16 15:29:49.000000000 -0400
-++++ b/browser/components/preferences/in-content/privacy.js 2019-10-31 00:08:05.819561577 -0400
-+@@ -93,6 +93,16 @@
-+ { id: "browser.urlbar.suggest.history", type: "bool" },
-+ { id: "browser.urlbar.suggest.openpage", type: "bool" },
-+
-++ // IceCat-specific
-++ { id: "javascript.enabled", type: "bool" },
-++ { id: "browser.display.use_document_fonts", type: "int" },
-++ { id: "privacy.firstparty.isolate", type: "bool" },
-++ { id: "extensions.update.enabled", type: "bool" },
-++ { id: "network.http.referer.spoofSource", type: "bool" },
-++ { id: "webgl.disabled", type: "bool" },
-++ { id: "captivedetect.canonicalURL", type: "string" },
-++ { id: "browser.search.geoip.url", type: "string" },
-++
-+ // History
-+ { id: "places.history.enabled", type: "bool" },
-+ { id: "browser.formfill.enable", type: "bool" },
-+@@ -587,6 +597,53 @@
-+ SiteDataManager.updateSites();
-+ },
-+
-++ // ICECAT PREFERENCES
-++
-++ readDisableJavaScriptOption() {
-++ let pref = Preferences.get("javascript.enabled");
-++ return !pref.value;
-++ },
-++ writeDisableJavaScriptOption() {
-++ let checkbox = document.getElementById("disableJavaScript");
-++ return !checkbox.checked;
-++ },
-++
-++ readDisableCustomFontsOption() {
-++ let pref = Preferences.get("browser.display.use_document_fonts");
-++ return pref.value == 0;
-++ },
-++ writeDisableCustomFontsOption() {
-++ let checkbox = document.getElementById("disableCustomFonts");
-++ return checkbox.checked ? 0 : 1;
-++ },
-++
-++ readDetectCaptiveOption() {
-++ let pref = Preferences.get("captivedetect.canonicalURL");
-++ return pref.value !== "";
-++ },
-++ writeDetectCaptiveOption() {
-++ let checkbox = document.getElementById("detectCaptivePortal");
-++ return checkbox.checked ? "http://detectportal.firefox.com/success.txt" : "";
-++ },
-++
-++ readGeolocationOption() {
-++ let pref = Preferences.get("browser.search.geoip.url");
-++ return pref.value !== "";
-++ },
-++ writeGeolocationOption() {
-++ let checkbox = document.getElementById("geolocation");
-++ return checkbox.checked ? "https://location.services.mozilla.com/v1/country?key=%MOZILLA_API_KEY%" : "";
-++ },
-++
-++ readWebGLOption() {
-++ let pref = Preferences.get("webgl.disabled");
-++ return !pref.value;
-++ },
-++ writeWebGLOption() {
-++ let checkbox = document.getElementById("webgl");
-++ return !checkbox.checked;
-++ },
-++
-+ // CONTENT BLOCKING
-+
-+ /**
-diff --git a/makeicecat b/makeicecat
-index 4ff3e64..493d946 100755
---- a/makeicecat
-+++ b/makeicecat
-@@ -87,6 +87,19 @@ for patch in $DATA/patches/*.patch; do
- done
- shopt -u nullglob
-
-+for file_to_append in $(cd $DATA/files-to-append; find . -type f -print); do
-+ echo Appending new data to the end of file: $file_to_append
-+ cat $DATA/files-to-append/$file_to_append >> $file_to_append
-+done
-+
-+for dir in l10n/*; do
-+ if [[ $dir != l10n/compare-locales ]]; then
-+ if [[ ! -e $DATA/files-to-append/$dir/browser/browser/preferences/preferences.ftl ]]; then
-+ cat $DATA/files-to-append/browser/locales/en-US/browser/preferences/preferences.ftl >> $dir/browser/browser/preferences/preferences.ftl
-+ fi
-+ fi
-+done
-+
- cp $DATA/Changelog.IceCat $DATA/README.IceCat .
-
- ###############################################################################
---
-2.23.0
-
diff --git a/gnu/packages/patches/icecat-makeicecat.patch b/gnu/packages/patches/icecat-makeicecat.patch
index 66816070aa..daa67f6a7a 100644
--- a/gnu/packages/patches/icecat-makeicecat.patch
+++ b/gnu/packages/patches/icecat-makeicecat.patch
@@ -3,10 +3,10 @@ in a snippet without network access. After this patch is applied, some
additional changes will be made using 'substitute*'.
diff --git a/makeicecat b/makeicecat
-index b04c731..06d1f3f 100644
+index 8be2362..48716f2 100755
--- a/makeicecat
+++ b/makeicecat
-@@ -30,55 +30,55 @@ SOURCEDIR=icecat-$FFVERSION
+@@ -31,55 +31,55 @@ SOURCEDIR=icecat-$FFVERSION
DATA="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"/data
@@ -25,7 +25,7 @@ index b04c731..06d1f3f 100644
-wget -N https://ftp.mozilla.org/pub/mozilla.org/firefox/releases/${FFVERSION}esr/source/firefox-${FFVERSION}esr.source.tar.xz.asc
-gpg --recv-keys --keyserver keyserver.ubuntu.com 14F26682D0916CDD81E37B6D61B7B526D98F0353
-gpg --verify firefox-${FFVERSION}esr.source.tar.xz.asc
--echo -n 85f1c2eaf68ebedcbc0b78a342f6d16ef0865dedd426a1bba94b75c85f716f38 firefox-${FFVERSION}esr.source.tar.xz |sha256sum -c -
+-echo -n e131149a70e7ae867d9b0ea081e8c081d056500ee51bb9270df247e977badc69 firefox-${FFVERSION}esr.source.tar.xz |sha256sum -c -
-
-echo Extracting Firefox tarball
-tar -xf firefox-${FFVERSION}esr.source.tar.xz
@@ -37,7 +37,7 @@ index b04c731..06d1f3f 100644
+# wget -N https://ftp.mozilla.org/pub/mozilla.org/firefox/releases/${FFVERSION}esr/source/firefox-${FFVERSION}esr.source.tar.xz.asc
+# gpg --recv-keys --keyserver keyserver.ubuntu.com 14F26682D0916CDD81E37B6D61B7B526D98F0353
+# gpg --verify firefox-${FFVERSION}esr.source.tar.xz.asc
-+# echo -n 85f1c2eaf68ebedcbc0b78a342f6d16ef0865dedd426a1bba94b75c85f716f38 firefox-${FFVERSION}esr.source.tar.xz |sha256sum -c -
++# echo -n e131149a70e7ae867d9b0ea081e8c081d056500ee51bb9270df247e977badc69 firefox-${FFVERSION}esr.source.tar.xz |sha256sum -c -
+#
+# echo Extracting Firefox tarball
+# tar -xf firefox-${FFVERSION}esr.source.tar.xz
@@ -98,7 +98,7 @@ index b04c731..06d1f3f 100644
shopt -s nullglob
for patch in $DATA/patches/*.patch; do
-@@ -611,6 +611,6 @@ sed 's/777/755/;' -i toolkit/crashreporter/google-breakpad/Makefile.in
+@@ -603,6 +603,6 @@ sed 's/777/755/;' -i toolkit/crashreporter/google-breakpad/Makefile.in
# Fix CVE-2012-3386
/bin/sed 's/chmod a+w/chmod u+w/' -i ./js/src/ctypes/libffi/Makefile.in ./toolkit/crashreporter/google-breakpad/Makefile.in ./toolkit/crashreporter/google-breakpad/src/third_party/glog/Makefile.in || true
diff --git a/gnu/packages/patches/ocaml-piqilib-Update-base64.patch b/gnu/packages/patches/ocaml-piqilib-Update-base64.patch
deleted file mode 100644
index ec2c02d93e..0000000000
--- a/gnu/packages/patches/ocaml-piqilib-Update-base64.patch
+++ /dev/null
@@ -1,46 +0,0 @@
-From 98abdbff3d5316a75f27d6a76fe09317d56f2a38 Mon Sep 17 00:00:00 2001
-From: Vincent Bernardoff <vb@luminar.eu.org>
-Date: Sun, 10 Feb 2019 14:47:07 +0100
-Subject: [PATCH] Fix compilation with newer base64 versions
-
----
- opam | 2 +-
- piqilib/piqi_base64.ml | 9 ++++-----
- 2 files changed, 5 insertions(+), 6 deletions(-)
-
-diff --git a/opam b/opam
-index 3a9128e..bb5a53f 100644
---- a/opam
-+++ b/opam
-@@ -26,6 +26,6 @@ depends: [
- "easy-format"
- "ulex"
- "xmlm"
-- "base64" {>="2.0.0"}
-+ "base64" {>="3.1.0"}
- ]
- dev-repo: "git://github.com/alavrik/piqi"
-diff --git a/piqilib/piqi_base64.ml b/piqilib/piqi_base64.ml
-index c5a6ae7..a98346e 100644
---- a/piqilib/piqi_base64.ml
-+++ b/piqilib/piqi_base64.ml
-@@ -18,12 +18,11 @@
- (* TODO: add more base64 validation; the base64 library doesn't do any
- * validation *)
- let decode x =
-- try
-- B64.decode x
-- with _ ->
-- invalid_arg "Piqi_base64.decode"
-+ match Base64.decode x with
-+ | Error _ -> invalid_arg "Piqi_base64.decode"
-+ | Ok v -> v
-
-
- let encode x =
-- B64.encode x
-+ Base64.encode_exn x
-
---
-2.21.0
-
diff --git a/gnu/packages/patches/openmpi-psm2-priority.patch b/gnu/packages/patches/openmpi-mtl-priorities.patch
index d9dd558010..fd76594ddd 100644
--- a/gnu/packages/patches/openmpi-psm2-priority.patch
+++ b/gnu/packages/patches/openmpi-mtl-priorities.patch
@@ -19,3 +19,17 @@ See <https://www.mail-archive.com/users@lists.open-mpi.org/msg33581.html>.
"priority", "Priority of the PSM2 MTL component",
MCA_BASE_VAR_TYPE_INT, NULL, 0, 0,
+Likewise for PSM: we want InfiniPath to be taken care of by PSM, not by UCX,
+since UCX achieves worse performance.
+
+--- openmpi-4.0.2/ompi/mca/mtl/psm/mtl_psm_component.c
++++ openmpi-4.0.2/ompi/mca/mtl/psm/mtl_psm_component.c
+@@ -92,7 +92,7 @@ ompi_mtl_psm_component_register(void)
+
+
+ /* set priority high enough to beat ob1's default */
+- param_priority = 30;
++ param_priority = 54;
+ (void) mca_base_component_var_register (&mca_mtl_psm_component.super.mtl_version,
+ "priority", "Priority of the PSM MTL component",
+ MCA_BASE_VAR_TYPE_INT, NULL, 0, 0,
diff --git a/gnu/packages/patches/psm-disable-memory-stats.patch b/gnu/packages/patches/psm-disable-memory-stats.patch
new file mode 100644
index 0000000000..52cd88a4e1
--- /dev/null
+++ b/gnu/packages/patches/psm-disable-memory-stats.patch
@@ -0,0 +1,62 @@
+The memory statistics code leads to segfaults during initialization (on
+machines with InfiniPath networking):
+
+ (gdb) bt full
+ #0 ips_ptl_init (ep=0x1fc6af8, ptl=0x1fc6f88, ctl=0x1fc6d78) at ptl.c:224
+ err = PSM_OK
+ num_of_send_bufs = 1024
+ num_of_send_desc = 4096
+ imm_size = 128
+ context = 0x1fc6b70
+ user_info = 0x1fc6b90
+ enable_shcontexts = 0
+ current_count = <optimized out>
+ #1 0x00007fb2aa672abf in __psm_ep_open_internal (
+ unique_job_key=unique_job_key@entry=0x7ffed1ee5800 "<\207\020#5\271\267\200\354x\242e8\364zo",
+ devid_enabled=devid_enabled@entry=0x7ffed1ee5724, opts_i=opts_i@entry=0x7ffed1ee5810, mq=<optimized out>,
+ epo=epo@entry=0x7ffed1ee5710, epido=epido@entry=0x7ffed1ee5708) at psm_ep.c:929
+ ep = 0x1fc6af8
+ num_units = 1
+ len = <optimized out>
+ err = <optimized out>
+ epaddr = 0x1e9dd78
+ buf = "miriel044:2.0.", '\000' <repeats 113 times>
+ p = <optimized out>
+ e = <optimized out>
+ old_cpuaff = 0x0
+ old_unit = 0x0
+ yield_cnt = {e_void = 0xfa, e_str = 0xfa <error: Cannot access memory at address 0xfa>, e_int = 250,
+ e_uint = 250, e_long = 250, e_ulong = 250, e_ulonglong = 250}
+ no_cpuaff = {e_void = 0x0, e_str = 0x0, e_int = 0, e_uint = 0, e_long = 0, e_ulong = 0, e_ulonglong = 0}
+ env_unit_id = {e_void = 0xffffffffffffffff,
+ e_str = 0xffffffffffffffff <error: Cannot access memory at address 0xffffffffffffffff>, e_int = -1,
+ e_uint = 4294967295, e_long = -1, e_ulong = 18446744073709551615, e_ulonglong = 18446744073709551615}
+ env_port_id = {e_void = 0x0, e_str = 0x0, e_int = 0, e_uint = 0, e_long = 0, e_ulong = 0, e_ulonglong = 0}
+ env_sl = {e_void = 0x0, e_str = 0x0, e_int = 0, e_uint = 0, e_long = 0, e_ulong = 0, e_ulonglong = 0}
+ ptl_sizes = <optimized out>
+ default_cpuaff = <optimized out>
+ opts = {timeout = 180000000000, unit = -1, affinity = 0, shm_mbytes = 10, sendbufs_num = 1024,
+ network_pkey = 65535, port = 0, outsl = 0, service_id = 1152940698815692800,
+ path_res_type = PSM_PATH_RES_NONE, senddesc_num = 4096, imm_size = 128}
+ amsh_ptl = 0x1fc6e48
+ ips_ptl = 0x1fc6f88
+ self_ptl = 0x1fc99c8
+ i = 3
+
+It looks like ptl.c:24 is writing past the region that was malloc'd.
+
+Turning stats off solves the problem.
+
+diff --git a/psm_utils.c b/psm_utils.c
+index c8651fe..5514921 100644
+--- a/psm_utils.c
++++ b/psm_utils.c
+@@ -1058,7 +1058,7 @@ psmi_log_memstats(psmi_memtype_t type, int64_t nbytes)
+ return;
+ }
+
+-#define psmi_stats_mask PSMI_STATSTYPE_MEMORY
++#define psmi_stats_mask 0
+
+ #ifdef malloc
+ #undef malloc
diff --git a/gnu/packages/patches/psm-repro.patch b/gnu/packages/patches/psm-repro.patch
index 772801260e..543092900c 100644
--- a/gnu/packages/patches/psm-repro.patch
+++ b/gnu/packages/patches/psm-repro.patch
@@ -1,14 +1,44 @@
-Remove timestamp to support reproducible builds.
+From <https://github.com/bmwiedemann/psm/commit/98acae1a6f2c9b2e6014eac4070a817c9d0fd8a2>.
---- psm-3.3/Makefile~ 1970-01-01 01:00:00.000000000 +0100
-+++ psm-3.3/Makefile 2017-10-22 15:32:11.736949002 +0100
-@@ -326,7 +326,7 @@
+From 98acae1a6f2c9b2e6014eac4070a817c9d0fd8a2 Mon Sep 17 00:00:00 2001
+From: "Bernhard M. Wiedemann" <bwiedemann@suse.de>
+Date: Sun, 23 Jul 2017 07:02:28 +0200
+Subject: [PATCH] Allow to override build date
+
+in order to make builds reproducible.
+See https://reproducible-builds.org/ for why this is good
+and https://reproducible-builds.org/specs/source-date-epoch/
+for the definition of this variable.
+
+Also uses UTC to be independent of timezone settings.
+---
+ Makefile | 2 +-
+ ipath/Makefile | 2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/Makefile b/Makefile
+index d79c4bd..99406ef 100644
+--- a/Makefile
++++ b/Makefile
+@@ -270,7 +270,7 @@ ${TARGLIB}.so.${MAJOR}: ${TARGLIB}.so.${MAJOR}.${MINOR}
# file around. Generate it such that the ident command can find it
# and strings -a | grep InfiniPath does a reasonable job as well.
${TARGLIB}.so.${MAJOR}.${MINOR}: ${${TARGLIB}-objs}
- date +'char psmi_infinipath_revision[] ="$$""Date: %F %R ${rpm_extra_description}InfiniPath $$";' > ${lib_build_dir}/_revision.c
-+ echo 'char psmi_infinipath_revision[] ="$$""Date: 1970-01-01 00:00 ${rpm_extra_description}InfiniPath $$";' > ${lib_build_dir}/_revision.c
++ date -u -d@$${SOURCE_DATE_EPOCH:-$$(date +%s)} +'char psmi_infinipath_revision[] ="$$""Date: %F %R ${rpm_extra_description}InfiniPath $$";' > ${lib_build_dir}/_revision.c
$(CC) -c $(BASECFLAGS) $(INCLUDES) _revision.c -o _revision.o
$(CC) $(LDFLAGS) -o $@ -Wl,-soname=${TARGLIB}.so.${MAJOR} -shared -Wl,--unique='*fastpath*' \
${${TARGLIB}-objs} _revision.o -L$(build_dir)/ipath $(LDLIBS)
-
+diff --git a/ipath/Makefile b/ipath/Makefile
+index 8c2cc6e..73abd6f 100644
+--- a/ipath/Makefile
++++ b/ipath/Makefile
+@@ -70,7 +70,7 @@ ${TARGLIB}.so.${MAJOR}: ${TARGLIB}.so.${MAJOR}.${MINOR}
+ # file around. Generate it such that the ident command can find it
+ # and strings -a | grep InfiniPath does a reasonable job as well.
+ ${TARGLIB}.so.${MAJOR}.${MINOR}: ${${TARGLIB}-objs}
+- date +'static __attribute__ ((unused)) char __psc_infinipath_revision[] ="$$""Date: %F %R ${rpm_extra_description}InfiniPath $$";' > _revision.c
++ date -u -d@$${SOURCE_DATE_EPOCH:-$$(date +%s)} +'static __attribute__ ((unused)) char __psc_infinipath_revision[] ="$$""Date: %F %R ${rpm_extra_description}InfiniPath $$";' > _revision.c
+ $(CC) -c $(BASECFLAGS) $(INCLUDES) _revision.c -o _revision.o
+ $(CC) -o $@ -Wl,-soname=${TARGLIB}.so.${MAJOR} -shared \
+ -Wl,--unique='*fastpath*' \
diff --git a/gnu/packages/patches/pugixml-versioned-libdir.patch b/gnu/packages/patches/pugixml-versioned-libdir.patch
deleted file mode 100644
index 7cd23b1a71..0000000000
--- a/gnu/packages/patches/pugixml-versioned-libdir.patch
+++ /dev/null
@@ -1,61 +0,0 @@
-This patch makes pugixml install its headers to a standard location when
-built as a shared library.
-
-Taken from this upstream commit:
-https://github.com/zeux/pugixml/commit/daeb8013b20f9c47e85730faaa4131064a1f9c2e
-
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index 90fa6793..d7bc1b20 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -4,7 +4,7 @@ project(pugixml)
-
- option(BUILD_SHARED_LIBS "Build shared instead of static library" OFF)
- option(BUILD_TESTS "Build tests" OFF)
--option(BUILD_PKGCONFIG "Build in PKGCONFIG mode" OFF)
-+option(USE_VERSIONED_LIBDIR "Use a private subdirectory to install the headers and libs" OFF)
-
- set(BUILD_DEFINES "" CACHE STRING "Build defines")
-
-@@ -55,7 +55,7 @@ endif()
- set_target_properties(pugixml PROPERTIES VERSION 1.9 SOVERSION 1)
- get_target_property(PUGIXML_VERSION_STRING pugixml VERSION)
-
--if(BUILD_PKGCONFIG)
-+if(USE_VERSIONED_LIBDIR)
- # Install library into its own directory under LIBDIR
- set(INSTALL_SUFFIX /pugixml-${PUGIXML_VERSION_STRING})
- endif()
-@@ -71,10 +71,8 @@ install(TARGETS pugixml EXPORT pugixml-config
- install(FILES ${HEADERS} DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}${INSTALL_SUFFIX})
- install(EXPORT pugixml-config DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/pugixml)
-
--if(BUILD_PKGCONFIG)
-- configure_file(scripts/pugixml.pc.in ${PROJECT_BINARY_DIR}/pugixml.pc @ONLY)
-- install(FILES ${PROJECT_BINARY_DIR}/pugixml.pc DESTINATION ${CMAKE_INSTALL_PREFIX}/lib/pkgconfig)
--endif()
-+configure_file(scripts/pugixml.pc.in ${PROJECT_BINARY_DIR}/pugixml.pc @ONLY)
-+install(FILES ${PROJECT_BINARY_DIR}/pugixml.pc DESTINATION ${CMAKE_INSTALL_PREFIX}/lib/pkgconfig)
-
- if(BUILD_TESTS)
- file(GLOB TEST_SOURCES tests/*.cpp)
-diff --git a/scripts/pugixml.pc.in b/scripts/pugixml.pc.in
-index 3c97c28d..804c4d38 100644
---- a/scripts/pugixml.pc.in
-+++ b/scripts/pugixml.pc.in
-@@ -1,11 +1,11 @@
- prefix=@CMAKE_INSTALL_PREFIX@
- exec_prefix=${prefix}
--includedir=${prefix}/include/pugixml-@PUGIXML_VERSION_STRING@
--libdir=${exec_prefix}/lib/pugixml-@PUGIXML_VERSION_STRING@
-+includedir=${prefix}/include@INSTALL_SUFFIX@
-+libdir=${exec_prefix}/lib@INSTALL_SUFFIX@
-
- Name: pugixml
- Description: Light-weight, simple and fast XML parser for C++ with XPath support.
- URL: http://pugixml.org/
- Version: @PUGIXML_VERSION_STRING@
- Cflags: -I${includedir}
--Libs: -L${libdir} -lpugixml
-\ No newline at end of file
-+Libs: -L${libdir} -lpugixml
diff --git a/gnu/packages/patches/retroarch-disable-online-updater.patch b/gnu/packages/patches/retroarch-disable-online-updater.patch
new file mode 100644
index 0000000000..ea74cc5409
--- /dev/null
+++ b/gnu/packages/patches/retroarch-disable-online-updater.patch
@@ -0,0 +1,41 @@
+From: Tobias Geerinckx-Rice <me@tobias.gr>
+Date: Fri, 29 Nov 2019 20:32:54 +0100
+Subject: [PATCH]: gnu: retroarch: Disable the on-line updater.
+
+This disables the entire ‘Online Updater’ sub-menu to address
+<http://issues.guix.gnu.org/issue/38360>. Perhaps that is more than is
+necessary.
+
+diff -Naur a/menu/menu_displaylist.c b/menu/menu_displaylist.c
+--- a/menu/menu_displaylist.c 1970-01-01 01:00:01.000000000 +0100
++++ b/menu/menu_displaylist.c 2019-11-29 18:35:27.467948854 +0100
+@@ -8444,11 +8444,6 @@
+ MENU_ENUM_LABEL_NETPLAY,
+ PARSE_ACTION, false) == 0)
+ count++;
+- if (settings->bools.menu_show_online_updater)
+- if (menu_displaylist_parse_settings_enum(info->list,
+- MENU_ENUM_LABEL_ONLINE_UPDATER,
+- PARSE_ACTION, false) == 0)
+- count++;
+ if (menu_displaylist_parse_settings_enum(info->list,
+ MENU_ENUM_LABEL_SETTINGS, PARSE_ACTION, false) == 0)
+ count++;
+diff -Naur retroarch.a/menu/menu_setting.c retroarch.c/menu/menu_setting.c
+--- a/menu/menu_setting.c 1970-01-01 01:00:01.000000000 +0100
++++ b/menu/menu_setting.c 2019-11-29 18:35:35.753957312 +0100
+@@ -7291,14 +7291,6 @@
+ &group_info,
+ &subgroup_info,
+ parent_group);
+-
+- CONFIG_ACTION(
+- list, list_info,
+- MENU_ENUM_LABEL_ONLINE_UPDATER,
+- MENU_ENUM_LABEL_VALUE_ONLINE_UPDATER,
+- &group_info,
+- &subgroup_info,
+- parent_group);
+ #endif
+
+ CONFIG_ACTION(
diff --git a/gnu/packages/patches/thermald-make-int-max32-visible.patch b/gnu/packages/patches/thermald-make-int-max32-visible.patch
deleted file mode 100644
index eddbb23547..0000000000
--- a/gnu/packages/patches/thermald-make-int-max32-visible.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-From 5fb947886bf1e40475edf930fb2b284c24c8cb9a Mon Sep 17 00:00:00 2001
-From: Sanel Zukan <karijes@users.sourceforge.net>
-Date: Sun, 23 Dec 2018 00:04:34 +0100
-Subject: [PATCH] Make sure INT_MAX32 is visible.
-
----
- src/thd_trip_point.h | 4 ++++
- 1 file changed, 4 insertions(+)
-
-diff --git a/src/thd_trip_point.h b/src/thd_trip_point.h
-index 0eedc95..89eb083 100644
---- a/src/thd_trip_point.h
-+++ b/src/thd_trip_point.h
-@@ -29,6 +29,10 @@
- #include "thd_sys_fs.h"
- #include "thd_preference.h"
- #include "thd_cdev.h"
-+
-+#define __STDC_LIMIT_MACROS
-+#include <stdint.h>
-+
- #include <time.h>
- #include <vector>
- #include <algorithm> // std::sort
diff --git a/gnu/packages/patches/xinetd-CVE-2013-4342.patch b/gnu/packages/patches/xinetd-CVE-2013-4342.patch
deleted file mode 100644
index ad57bc7b0e..0000000000
--- a/gnu/packages/patches/xinetd-CVE-2013-4342.patch
+++ /dev/null
@@ -1,36 +0,0 @@
-Fix CVE-2013-4342:
-
-https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2013-4342
-https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=324678
-
-Patch copied from upstream source repository:
-
-https://github.com/xinetd-org/xinetd/commit/91e2401a219121eae15244a6b25d2e79c1af5864
-
-From 91e2401a219121eae15244a6b25d2e79c1af5864 Mon Sep 17 00:00:00 2001
-From: Thomas Swan <thomas.swan@gmail.com>
-Date: Wed, 2 Oct 2013 23:17:17 -0500
-Subject: [PATCH] CVE-2013-4342: xinetd: ignores user and group directives for
- TCPMUX services
-
-Originally reported to Debian in 2005 <http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=324678> and rediscovered <https://bugzilla.redhat.com/show_bug.cgi?id=1006100>, xinetd would execute TCPMUX services without dropping privilege to match the service configuration allowing the service to run with same privilege as the xinetd process (root).
----
- xinetd/builtins.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/xinetd/builtins.c b/xinetd/builtins.c
-index 3b85579..34a5bac 100644
---- a/xinetd/builtins.c
-+++ b/xinetd/builtins.c
-@@ -617,7 +617,7 @@ static void tcpmux_handler( const struct server *serp )
- if( SC_IS_INTERNAL( scp ) ) {
- SC_INTERNAL(scp, nserp);
- } else {
-- exec_server(nserp);
-+ child_process(nserp);
- }
- }
-
---
-2.7.4
-
diff --git a/gnu/packages/patches/xinetd-fix-fd-leak.patch b/gnu/packages/patches/xinetd-fix-fd-leak.patch
deleted file mode 100644
index 77e4600185..0000000000
--- a/gnu/packages/patches/xinetd-fix-fd-leak.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-Fix a file descriptor leak:
-
-https://github.com/xinetd-org/xinetd/issues/23
-
-Patch copied from Debian:
-
-https://anonscm.debian.org/cgit/collab-maint/xinetd.git/tree/debian/patches/000012-fix_fd_leak
-
-Patch sent upstream at https://github.com/xinetd-org/xinetd/pull/26.
-
-diff --git a/xinetd/xgetloadavg.c b/xinetd/xgetloadavg.c
-index 5a26214..fe0f872 100644
---- a/xinetd/xgetloadavg.c
-+++ b/xinetd/xgetloadavg.c
-@@ -34,7 +34,7 @@ double xgetloadavg(void)
-
- if( fscanf(fd, "%lf", &ret) != 1 ) {
- perror("fscanf");
-- return -1;
-+ ret = -1;
- }
-
- fclose(fd);
---
-2.7.4
-
diff --git a/gnu/packages/perl-compression.scm b/gnu/packages/perl-compression.scm
index 69452f60f6..af6d575435 100644
--- a/gnu/packages/perl-compression.scm
+++ b/gnu/packages/perl-compression.scm
@@ -34,14 +34,14 @@
(define-public perl-compress-raw-bzip2
(package
(name "perl-compress-raw-bzip2")
- (version "2.090")
+ (version "2.091")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://cpan/authors/id/P/PM/PMQS/"
"Compress-Raw-Bzip2-" version ".tar.gz"))
(sha256
- (base32 "0yi972il6i0ya65qar0767mm3sb2wbsrllsgx6296s5myh2838p6"))))
+ (base32 "0c5lwaynkcprjd18d3c82m8cniyq3c8mc4jk42gb32lp7cyyzmr7"))))
(build-system perl-build-system)
;; TODO: Use our bzip2 package.
(home-page "https://metacpan.org/release/Compress-Raw-Bzip2")
@@ -53,14 +53,14 @@ compression library.")
(define-public perl-compress-raw-zlib
(package
(name "perl-compress-raw-zlib")
- (version "2.090")
+ (version "2.091")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://cpan/authors/id/P/PM/PMQS/"
"Compress-Raw-Zlib-" version ".tar.gz"))
(sha256
- (base32 "0ndgkv7z4zi3ffail9abp02x62dx1j3pnxn3rjw91py7pjd4kj7j"))))
+ (base32 "0vrzk1jzw2kwrsvnd190m7jl925cbd4skp6ipv5pndkn4y8gnzxn"))))
(build-system perl-build-system)
(inputs
`(("zlib" ,zlib)))
@@ -88,14 +88,14 @@ compression library.")
(define-public perl-io-compress
(package
(name "perl-io-compress")
- (version "2.090")
+ (version "2.091")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://cpan/authors/id/P/PM/PMQS/"
"IO-Compress-" version ".tar.gz"))
(sha256
- (base32 "11z9jkcpqyd4d1kziiq8q4rmqax93jd3hryx8cnkg4zrhd5fa4jc"))))
+ (base32 "15ayljvmxszkd5bvzd52l7gv71ldj8bhdqdnj9f48dipn681238z"))))
(build-system perl-build-system)
(propagated-inputs
;; These two packages should be updated to this one's version first.
@@ -110,15 +110,14 @@ writing of compressed data created with the zlib and bzip2 libraries.")
(define-public perl-archive-extract
(package
(name "perl-archive-extract")
- (version "0.80")
+ (version "0.82")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://cpan/authors/id/B/BI/BINGOS/Archive-Extract-"
version ".tar.gz"))
(sha256
- (base32
- "1x15j1q6w6z8hqyqgap0lz4qbq2174wfhksy1fdd653ccbaw5jr5"))))
+ (base32 "00zq2ishxk70192sjl1wciq14vhb9isz8rcafcy1j89va1srpvrn"))))
(build-system perl-build-system)
(home-page "https://metacpan.org/release/Archive-Extract")
(synopsis "Generic archive extracting mechanism")
diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm
index 34a3f3f54e..f732c0ed46 100644
--- a/gnu/packages/perl.scm
+++ b/gnu/packages/perl.scm
@@ -5706,14 +5706,14 @@ Moose and is optimised for rapid startup.")
(define-public perl-moose
(package
(name "perl-moose")
- (version "2.2011")
+ (version "2.2012")
(source (origin
(method url-fetch)
(uri (string-append "mirror://cpan/authors/id/E/ET/ETHER/"
"Moose-" version ".tar.gz"))
(sha256
(base32
- "10ndq6jwj2iwhwqjs23g6nb1yrf3brgw41jjphxzk6zkv4shlgcp"))))
+ "0s9m2pskc8h1k94pbvx0lvf0xgv9xca349isbcsrqdqnkmxf9fs6"))))
(build-system perl-build-system)
(native-inputs
`(("perl-cpan-meta-check" ,perl-cpan-meta-check)
diff --git a/gnu/packages/php.scm b/gnu/packages/php.scm
index 1535cd7645..c74f492671 100644
--- a/gnu/packages/php.scm
+++ b/gnu/packages/php.scm
@@ -59,7 +59,7 @@
(define-public php
(package
(name "php")
- (version "7.3.12")
+ (version "7.4.0")
(home-page "https://secure.php.net/")
(source (origin
(method url-fetch)
@@ -67,7 +67,7 @@
"php-" version ".tar.xz"))
(sha256
(base32
- "1psmv3yw21rng2qqwck2b5w190s8q76qi35gqrh8i0mdc6c5xzma"))
+ "0hpc425lzh3h3nzigi4w5ndzj1sz5ppj7gqykgmc2v2x1sr53dwv"))
(modules '((guix build utils)))
(snippet
'(with-directory-excursion "ext"
@@ -79,11 +79,8 @@
;;"bcmath/libbcmath"
;;"fileinfo/libmagic" ; a patched version of libmagic
'("gd/libgd"
- "mbstring/oniguruma"
"pcre/pcre2lib"
- "sqlite3/libsqlite"
- "xmlrpc/libxmlrpc"
- "zip/lib"))
+ "xmlrpc/libxmlrpc"))
#t))))
(build-system gnu-build-system)
(arguments
@@ -94,40 +91,32 @@
(assoc-ref %build-inputs input))))))
(list (with "--with-bz2" "bzip2")
(with "--with-curl" "curl")
- (with "--with-freetype-dir" "freetype")
- (with "--with-gd" "gd")
(with "--with-gdbm" "gdbm")
(with "--with-gettext" "glibc") ; libintl.h
(with "--with-gmp" "gmp")
- (with "--with-jpeg-dir" "libjpeg")
(with "--with-ldap" "openldap")
(with "--with-ldap-sasl" "cyrus-sasl")
- (with "--with-libzip" "libzip")
- (with "--with-libxml-dir" "libxml2")
- (with "--with-onig" "oniguruma")
- (with "--with-pcre-dir" "pcre")
- (with "--with-pcre-regex" "pcre")
(with "--with-pdo-pgsql" "postgresql")
(with "--with-pdo-sqlite" "sqlite")
(with "--with-pgsql" "postgresql")
- (with "--with-png-dir" "libpng")
;; PHP’s Pspell extension, while retaining its current name,
;; now uses the Aspell library.
(with "--with-pspell" "aspell")
(with "--with-readline" "readline")
(with "--with-sqlite3" "sqlite")
(with "--with-tidy" "tidy")
- (with "--with-webp-dir" "libwebp")
- (with "--with-xpm-dir" "libxpm")
(with "--with-xsl" "libxslt")
(with "--with-zlib-dir" "zlib")
;; We could add "--with-snmp", but it requires netsnmp that
;; we don't have a package for. It is used to build the snmp
;; extension of php.
+ "--with-external-pcre"
+ "--with-external-gd"
"--with-iconv"
"--with-openssl"
"--with-mysqli" ; Required for, e.g. wordpress
"--with-pdo-mysql"
+ "--with-zip"
"--with-zlib"
"--enable-bcmath" ; Required for, e.g. Zabbix frontend
"--enable-calendar"
@@ -136,12 +125,12 @@
"--enable-flatfile"
"--enable-fpm"
"--enable-ftp"
+ "--enable-gd"
"--enable-inifile"
"--enable-intl"
"--enable-mbstring"
"--enable-pcntl"
- "--enable-sockets"
- "--enable-zip"))
+ "--enable-sockets"))
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'do-not-record-build-flags
@@ -173,7 +162,7 @@
(("/bin/cat") (which "cat"))))
(substitute* '("ext/mbstring/tests/mb_send_mail01.phpt"
"ext/mbstring/tests/mb_send_mail03.phpt"
- "ext/mbstring/tests/bug52861.phpt"
+ "ext/mbstring/tests/bug52681.phpt"
"ext/standard/tests/general_functions/bug34794.phpt"
"ext/standard/tests/general_functions/bug44667.phpt"
"ext/standard/tests/general_functions/proc_open.phpt")
@@ -196,12 +185,15 @@
"ext/pcre/tests/bug76514.phpt"
"ext/pcre/tests/preg_match_error3.phpt"
"ext/standard/tests/general_functions/var_export-locale.phpt"
- "ext/standard/tests/general_functions/var_export_basic1.phpt")))
+ "ext/standard/tests/general_functions/var_export_basic1.phpt"
+ "ext/intl/tests/timezone_getErrorCodeMessage_basic.phpt"
+ "ext/intl/tests/timezone_getOffset_error.phpt")))
'())
;; Drop tests that are known to fail.
(for-each delete-file
'("ext/posix/tests/posix_getgrgid.phpt" ; Requires /etc/group.
+ "ext/posix/tests/posix_getgrnam_basic.phpt" ; Requires /etc/group.
"ext/sockets/tests/bug63000.phpt" ; Fails to detect OS.
"ext/sockets/tests/socket_shutdown.phpt" ; Requires DNS.
"ext/sockets/tests/socket_send.phpt" ; Likewise.
@@ -227,25 +219,12 @@
"ext/gd/tests/libgd00086_extern.phpt"
;; Extra newline in gd-png output.
"ext/gd/tests/bug45799.phpt"
- ;; Different error message than expected from imagecrop().
- "ext/gd/tests/bug66356.phpt"
- ;; Similarly for imagecreatefromgd2().
- "ext/gd/tests/bug72339.phpt"
- ;; Call to undefined function imageantialias(). They are
- ;; supposed to fail anyway.
- "ext/gd/tests/bug72482.phpt"
- "ext/gd/tests/bug72482_2.phpt"
- "ext/gd/tests/bug73213.phpt"
;; Test expects generic "gd warning" but gets the actual function name.
"ext/gd/tests/createfromwbmp2_extern.phpt"
;; This bug should have been fixed in gd 2.2.2.
;; Is it a regression?
"ext/gd/tests/bug65148.phpt"
- ;; These tests should not be run (disabled because
- ;; GD_BUNDLED = 0)
- "ext/gd/tests/bug77198_auto.phpt"
- "ext/gd/tests/bug77198_threshold.phpt"
- "ext/gd/tests/bug77200.phpt"
+ ;; Expected error message, but from the wrong function
"ext/gd/tests/bug77269.phpt"
;; TODO: Enable these when libgd is built with xpm support.
"ext/gd/tests/xpm2gd.phpt"
@@ -254,10 +233,6 @@
;; Whitespace difference, probably caused by a very
;; long store path
"ext/gd/tests/bug77479.phpt"
- ;; Slightly different result (NULL instead of false),
- ;; but the bug report suggests the issue was in
- ;; the bundled gd, not upstream.
- "ext/gd/tests/bug77272.phpt"
;; Expected invalid XBM but got EOF before image was
;; complete. It's a warning in both cases and test
;; result is the same.
@@ -269,31 +244,21 @@
"ext/iconv/tests/bug52211.phpt"
"ext/iconv/tests/bug60494.phpt"
;; Expects "wrong charset", gets unknown error (22).
- "ext/iconv/tests/iconv_mime_decode_variation3.phpt"
"ext/iconv/tests/iconv_strlen_error2.phpt"
- "ext/iconv/tests/iconv_strlen_variation2.phpt"
"ext/iconv/tests/iconv_substr_error2.phpt"
;; Expects conversion error, gets "error condition Termsig=11".
"ext/iconv/tests/iconv_strpos_error2.phpt"
"ext/iconv/tests/iconv_strrpos_error2.phpt"
- ;; Similar, but iterating over multiple values.
- ;; iconv breaks the loop after the first error with Termsig=11.
- "ext/iconv/tests/iconv_strpos_variation4.phpt"
- "ext/iconv/tests/iconv_strrpos_variation3.phpt"
;; Expects "invalid multibyte sequence" but got
;; "unknown error".
"ext/iconv/tests/bug76249.phpt"
;; XXX: These test failures appear legitimate, needs investigation.
;; open_basedir() restriction failure.
- "ext/curl/tests/bug61948.phpt"
- ;; Fails on recent curl https://bugs.php.net/patch-display.php?bug_id=77493
- "ext/curl/tests/curl_basic_009.phpt"
+ "ext/curl/tests/bug61948-unix.phpt"
;; Expects a false boolean, gets empty array from glob().
"ext/standard/tests/file/bug41655_1.phpt"
"ext/standard/tests/file/glob_variation5.phpt"
- ;; Test output is correct, but in wrong order.
- "ext/standard/tests/streams/proc_open_bug64438.phpt"
;; The test expects an Array, but instead get the contents(?).
"ext/gd/tests/bug43073.phpt"
;; imagettftext() returns wrong coordinates.
@@ -311,33 +276,13 @@
"ext/iconv/tests/bug48147.phpt"
;; Expects illegal character ".", gets "=?utf-8?Q?."
"ext/iconv/tests/bug51250.phpt"
- ;; @iconv() does not return expected output.
- "ext/iconv/tests/iconv003.phpt"
;; iconv throws "buffer length exceeded" on some string checks.
"ext/iconv/tests/iconv_mime_encode.phpt"
;; file_get_contents(): iconv stream filter
;; ("ISO-8859-1"=>"UTF-8") unknown error.
"ext/standard/tests/file/bug43008.phpt"
;; Table data not created in sqlite(?).
- "ext/pdo_sqlite/tests/bug_42589.phpt"
-
- ;; Small variation in output.
- "ext/mbstring/tests/mb_ereg_variation3.phpt"
- "ext/mbstring/tests/mb_ereg_replace_variation1.phpt"
- "ext/mbstring/tests/bug72994.phpt"
- "ext/mbstring/tests/bug77367.phpt"
- "ext/mbstring/tests/bug77370.phpt"
- "ext/mbstring/tests/bug77371.phpt"
- "ext/mbstring/tests/bug77381.phpt"
- "ext/mbstring/tests/mbregex_stack_limit.phpt"
- "ext/mbstring/tests/mbregex_stack_limit2.phpt"
- "ext/ldap/tests/ldap_set_option_error.phpt"
-
- ;; Sometimes cannot start the LDAP server.
- "ext/ldap/tests/bug76248.phpt"
-
- ;; Bug #76909 preg_match difference between 7.3 and < 7.3
- "ext/pcre/tests/bug76909.phpt"))
+ "ext/pdo_sqlite/tests/bug_42589.phpt"))
;; Skip tests requiring network access.
(setenv "SKIP_ONLINE_TESTS" "1")
@@ -353,7 +298,6 @@
("bzip2" ,bzip2)
("curl" ,curl)
("cyrus-sasl" ,cyrus-sasl)
- ("freetype" ,freetype)
("gd" ,gd)
("gdbm" ,gdbm)
("glibc" ,glibc)
@@ -361,11 +305,8 @@
("gnutls" ,gnutls)
("icu4c" ,icu4c)
("libgcrypt" ,libgcrypt)
- ("libjpeg" ,libjpeg)
("libpng" ,libpng)
- ("libwebp" ,libwebp)
("libxml2" ,libxml2)
- ("libxpm" ,libxpm)
("libxslt" ,libxslt)
("libx11" ,libx11)
("libzip" ,libzip)
diff --git a/gnu/packages/plotutils.scm b/gnu/packages/plotutils.scm
index 56f7d548fb..df9821b9d8 100644
--- a/gnu/packages/plotutils.scm
+++ b/gnu/packages/plotutils.scm
@@ -180,14 +180,14 @@ colors, styles, options and details.")
(define-public asymptote
(package
(name "asymptote")
- (version "2.59")
+ (version "2.61")
(source (origin
(method url-fetch)
(uri (string-append "mirror://sourceforge/asymptote/"
version "/asymptote-" version ".src.tgz"))
(sha256
(base32
- "15riihmfmlh8skdssqkl0yv06hc6sw6pbr6jzsfvhcwdmlbsvh33"))))
+ "0gcd75yixn67lpiky70yhaa0ylr8g1cn65bpr9zx78h2vrpsmk7k"))))
(build-system gnu-build-system)
;; Note: The 'asy' binary retains a reference to docdir for use with its
;; "help" command in interactive mode, so adding a "doc" output is not
diff --git a/gnu/packages/python-crypto.scm b/gnu/packages/python-crypto.scm
index 2b1543bbc0..af51ae04b6 100644
--- a/gnu/packages/python-crypto.scm
+++ b/gnu/packages/python-crypto.scm
@@ -109,14 +109,13 @@ Password Scheme\"} by Niels Provos and David Mazieres.")
(define-public python-passlib
(package
(name "python-passlib")
- (version "1.7.1")
+ (version "1.7.2")
(source
(origin
(method url-fetch)
(uri (pypi-uri "passlib" version))
(sha256
- (base32
- "1q2khqpj9rlcgdmkypjdq1kswvhjf72bq0zk2cv669cc2dj8z51x"))))
+ (base32 "1a5ngap7kq0b4azq8nlfg6xg5bcl1i0v1sbynhmbr631jgpnqrld"))))
(build-system python-build-system)
(native-inputs
`(("python-nose" ,python-nose)))
@@ -129,8 +128,7 @@ Password Scheme\"} by Niels Provos and David Mazieres.")
;; some tests require access to "$HOME/.cython"
(lambda* _ (setenv "PYTHON_EGG_CACHE" "/tmp") #t)))))
(home-page "https://bitbucket.org/ecollins/passlib")
- (synopsis
- "Comprehensive password hashing framework")
+ (synopsis "Comprehensive password hashing framework")
(description
"Passlib is a password hashing library for Python 2 & 3, which provides
cross-platform implementations of over 30 password hashing algorithms, as well
diff --git a/gnu/packages/python-science.scm b/gnu/packages/python-science.scm
new file mode 100644
index 0000000000..4a262ec793
--- /dev/null
+++ b/gnu/packages/python-science.scm
@@ -0,0 +1,287 @@
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2015, 2016 Ricardo Wurmus <rekado@elephly.net>
+;;; Copyright © 2015 Federico Beffa <beffa@fbengineering.ch>
+;;; Copyright © 2016 Ben Woodcroft <donttrustben@gmail.com>
+;;; Copyright © 2016 Hartmut Goebel <h.goebel@crazy-compilers.com>
+;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il>
+;;; Copyright © 2016, 2017, 2018, 2019 Marius Bakke <mbakke@fastmail.com>
+;;; Copyright © 2019 Tobias Geerinckx-Rice <me@tobias.gr>
+;;; Copyright © 2019 Maxim Cournoyer <maxim.cournoyer@gmail.com>
+;;; Copyright © 2019 Giacomo Leidi <goodoldpaul@autistici.org>
+;;;
+;;; This file is part of GNU Guix.
+;;;
+;;; GNU Guix is free software; you can redistribute it and/or modify it
+;;; under the terms of the GNU General Public License as published by
+;;; the Free Software Foundation; either version 3 of the License, or (at
+;;; your option) any later version.
+;;;
+;;; GNU Guix is distributed in the hope that it will be useful, but
+;;; WITHOUT ANY WARRANTY; without even the implied warranty of
+;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+;;; GNU General Public License for more details.
+;;;
+;;; You should have received a copy of the GNU General Public License
+;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
+
+(define-module (gnu packages python-science)
+ #:use-module ((guix licenses) #:prefix license:)
+ #:use-module (gnu packages)
+ #:use-module (gnu packages base)
+ #:use-module (gnu packages check)
+ #:use-module (gnu packages gcc)
+ #:use-module (gnu packages maths)
+ #:use-module (gnu packages perl)
+ #:use-module (gnu packages python)
+ #:use-module (gnu packages python-web)
+ #:use-module (gnu packages python-xyz)
+ #:use-module (gnu packages sphinx)
+ #:use-module (gnu packages time)
+ #:use-module (guix packages)
+ #:use-module (guix download)
+ #:use-module (guix utils)
+ #:use-module (guix build-system python))
+
+(define-public python-scipy
+ (package
+ (name "python-scipy")
+ (version "1.3.2")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "scipy" version))
+ (sha256
+ (base32 "192d8dsybvhv19igkrsafbdafx198nz7pibkjgrqjhlr66s3jfd0"))))
+ (build-system python-build-system)
+ (propagated-inputs
+ `(("python-numpy" ,python-numpy)
+ ("python-matplotlib" ,python-matplotlib)
+ ("python-pyparsing" ,python-pyparsing)))
+ (inputs
+ `(("lapack" ,lapack)
+ ("openblas" ,openblas)))
+ (native-inputs
+ `(("python-cython" ,python-cython)
+ ("python-pytest" ,python-pytest)
+ ("python-sphinx" ,python-sphinx)
+ ("python-numpydoc" ,python-numpydoc)
+ ("gfortran" ,gfortran)
+ ("perl" ,perl)
+ ("which" ,which)))
+ (outputs '("out" "doc"))
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'disable-broken-tests
+ (lambda _
+ (substitute* "scipy/sparse/linalg/dsolve/tests/test_linsolve.py"
+ (("^( +)def test_threads_parallel\\(self\\):" m indent)
+ (string-append indent
+ "@pytest.mark.skip(reason=\"Disabled by Guix\")\n"
+ m)))
+ (substitute* "scipy/sparse/linalg/eigen/arpack/tests/test_arpack.py"
+ (("^def test_parallel_threads\\(\\):" m)
+ (string-append "@pytest.mark.skip(reason=\"Disabled by Guix\")\n"
+ m)))
+ #t))
+ (add-before 'build 'configure-openblas
+ (lambda* (#:key inputs #:allow-other-keys)
+ (call-with-output-file "site.cfg"
+ (lambda (port)
+ (format port
+ "[blas]
+libraries = openblas
+library_dirs = ~a/lib
+include_dirs = ~a/include
+
+# backslash-n to make emacs happy
+\n[atlas]
+library_dirs = ~a/lib
+atlas_libs = openblas
+"
+ (assoc-ref inputs "openblas")
+ (assoc-ref inputs "openblas")
+ (assoc-ref inputs "openblas"))))
+ #t))
+ (add-after 'install 'install-doc
+ (lambda* (#:key inputs outputs #:allow-other-keys)
+ (let* ((data (string-append (assoc-ref outputs "doc") "/share"))
+ (doc (string-append data "/doc/" ,name "-" ,version))
+ (html (string-append doc "/html"))
+ (pyver ,(string-append "PYVER=" (version-major+minor
+ (package-version python))))
+ ;; By default it tries to run sphinx-build through the Python
+ ;; interpreter which won't work with our shell wrapper.
+ (sphinxbuild "SPHINXBUILD=LANG=C sphinx-build"))
+ ;; Make installed package available for building the
+ ;; documentation
+ (add-installed-pythonpath inputs outputs)
+ (with-directory-excursion "doc"
+ ;; Fix generation of images for mathematical expressions.
+ (substitute* (find-files "source" "conf\\.py")
+ (("pngmath_use_preview = True")
+ "pngmath_use_preview = False"))
+ (mkdir-p html)
+ (invoke "make" "html" pyver sphinxbuild)
+ (with-directory-excursion "build/html"
+ (for-each (lambda (file)
+ (let* ((dir (dirname file))
+ (tgt-dir (string-append html "/" dir)))
+ (install-file file html)))
+ (find-files "." ".*")))))
+ #t))
+ ;; Tests can only be run after the library has been installed and not
+ ;; within the source directory.
+ (delete 'check)
+ (add-after 'install 'check
+ (lambda* (#:key inputs outputs #:allow-other-keys)
+ (add-installed-pythonpath inputs outputs)
+ (with-directory-excursion "/tmp"
+ (invoke "python" "-c"
+ "import scipy; scipy.test(verbose=2)")))))))
+ (home-page "https://www.scipy.org/")
+ (synopsis "The Scipy library provides efficient numerical routines")
+ (description "The SciPy library is one of the core packages that make up
+the SciPy stack. It provides many user-friendly and efficient numerical
+routines such as routines for numerical integration and optimization.")
+ (properties `((python2-variant . ,(delay python2-scipy))))
+ (license license:bsd-3)))
+
+;; Version 1.2.2 is the last version to support Python 2
+(define-public python2-scipy
+ (package
+ (inherit (package-with-python2
+ (strip-python2-variant python-scipy)))
+ (version "1.2.2")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "scipy" version))
+ (sha256
+ (base32
+ "1cgvgin8fvckv96hjh3ikmwkra5rif51bdb75ifzf7xbil5iwcx4"))))))
+
+(define-public python-scikit-image
+ (package
+ (name "python-scikit-image")
+ (version "0.14.2")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "scikit-image" version))
+ (sha256
+ (base32 "07qchljkyxvg5nrm12fvszi7pmjk4m01qp0w0z8syxzxxs20pz8s"))))
+ (build-system python-build-system)
+ (arguments
+ ;; TODO: Some tests require running X11 server. Disable them?
+ '(#:tests? #f))
+ ;; See DEPENDS.txt for the list of build and run time requiremnts
+ (propagated-inputs
+ `(("python-cloudpickle" ,python-cloudpickle)
+ ("python-dask" ,python-dask)
+ ("python-matplotlib" ,python-matplotlib)
+ ("python-networkx" ,python-networkx)
+ ("python-numpy" ,python-numpy)
+ ("python-pillow" ,python-pillow)
+ ("python-pywavelets" ,python-pywavelets)
+ ("python-scipy" ,python-scipy)
+ ("python-six" ,python-six)))
+ (native-inputs
+ `(("python-cython" ,python-cython)))
+ (home-page "http://scikit-image.org/")
+ (synopsis "Image processing in Python")
+ (description
+ "Scikit-image is a collection of algorithms for image processing.")
+ (license license:bsd-3)))
+
+(define-public python2-scikit-image
+ (package-with-python2 python-scikit-image))
+
+(define-public python-pandas
+ (package
+ (name "python-pandas")
+ (version "0.25.2")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "pandas" version))
+ (sha256
+ (base32 "1gp2pvzdiakvgjmykdzdlzrsfbg4vjm49jjdl9s0ha0a3yfs34fa"))))
+ (build-system python-build-system)
+ (arguments
+ `(#:modules ((guix build utils)
+ (guix build python-build-system)
+ (ice-9 ftw)
+ (srfi srfi-26))
+ #:phases (modify-phases %standard-phases
+ (add-after 'unpack 'patch-which
+ (lambda* (#:key inputs #:allow-other-keys)
+ (let ((which (assoc-ref inputs "which")))
+ (substitute* "pandas/io/clipboard/__init__.py"
+ (("^CHECK_CMD = .*")
+ (string-append "CHECK_CMD = \"" which "\"\n"))))
+ #t))
+ (replace 'check
+ (lambda _
+ (let ((build-directory
+ (string-append
+ (getcwd) "/build/"
+ (car (scandir "build"
+ (cut string-prefix? "lib." <>))))))
+ ;; Disable the "strict data files" option which causes
+ ;; the build to error out if required data files are
+ ;; not available (as is the case with PyPI archives).
+ (substitute* "setup.cfg"
+ (("addopts = --strict-data-files") "addopts = "))
+ (with-directory-excursion build-directory
+ ;; Delete tests that require "moto" which is not yet
+ ;; in Guix.
+ (for-each delete-file
+ '("pandas/tests/io/conftest.py"
+ "pandas/tests/io/json/test_compression.py"
+ "pandas/tests/io/parser/test_network.py"
+ "pandas/tests/io/test_parquet.py"))
+ (invoke "pytest" "-vv" "pandas" "--skip-slow"
+ "--skip-network" "-k"
+ ;; XXX: Due to the deleted tests above.
+ "not test_read_s3_jsonl"))))))))
+ (propagated-inputs
+ `(("python-numpy" ,python-numpy)
+ ("python-openpyxl" ,python-openpyxl)
+ ("python-pytz" ,python-pytz)
+ ("python-dateutil" ,python-dateutil)
+ ("python-xlrd" ,python-xlrd)))
+ (inputs
+ `(("which" ,which)))
+ (native-inputs
+ `(("python-cython" ,python-cython)
+ ("python-beautifulsoup4" ,python-beautifulsoup4)
+ ("python-lxml" ,python-lxml)
+ ("python-html5lib" ,python-html5lib)
+ ("python-nose" ,python-nose)
+ ("python-pytest" ,python-pytest)
+ ("python-pytest-mock" ,python-pytest-mock)))
+ (home-page "https://pandas.pydata.org")
+ (synopsis "Data structures for data analysis, time series, and statistics")
+ (description
+ "Pandas is a Python package providing fast, flexible, and expressive data
+structures designed to make working with structured (tabular,
+multidimensional, potentially heterogeneous) and time series data both easy
+and intuitive. It aims to be the fundamental high-level building block for
+doing practical, real world data analysis in Python.")
+ (properties `((python2-variant . ,(delay python2-pandas))))
+ (license license:bsd-3)))
+
+;; Pandas 0.24.x are the last versions that support Python 2.
+(define-public python2-pandas
+ (let ((pandas (package-with-python2
+ (strip-python2-variant python-pandas))))
+ (package/inherit
+ pandas
+ (version "0.24.2")
+ (source (origin
+ (method url-fetch)
+ (uri (pypi-uri "pandas" version))
+ (sha256
+ (base32
+ "18imlm8xbhcbwy4wa957a1fkamrcb0z988z006jpfda3ki09z4ag")))))))
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 9095984811..89be883cda 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -128,6 +128,7 @@
#:use-module (gnu packages python-check)
#:use-module (gnu packages python-compression)
#:use-module (gnu packages python-crypto)
+ #:use-module (gnu packages python-science)
#:use-module (gnu packages python-web)
#:use-module (gnu packages qt)
#:use-module (gnu packages readline)
@@ -1154,95 +1155,6 @@ human-friendly syntax.")
(define-public python2-schedule
(package-with-python2 python-schedule))
-(define-public python-pandas
- (package
- (name "python-pandas")
- (version "0.25.2")
- (source
- (origin
- (method url-fetch)
- (uri (pypi-uri "pandas" version))
- (sha256
- (base32 "1gp2pvzdiakvgjmykdzdlzrsfbg4vjm49jjdl9s0ha0a3yfs34fa"))))
- (build-system python-build-system)
- (arguments
- `(#:modules ((guix build utils)
- (guix build python-build-system)
- (ice-9 ftw)
- (srfi srfi-26))
- #:phases (modify-phases %standard-phases
- (add-after 'unpack 'patch-which
- (lambda* (#:key inputs #:allow-other-keys)
- (let ((which (assoc-ref inputs "which")))
- (substitute* "pandas/io/clipboard/__init__.py"
- (("^CHECK_CMD = .*")
- (string-append "CHECK_CMD = \"" which "\"\n"))))
- #t))
- (replace 'check
- (lambda _
- (let ((build-directory
- (string-append
- (getcwd) "/build/"
- (car (scandir "build"
- (cut string-prefix? "lib." <>))))))
- ;; Disable the "strict data files" option which causes
- ;; the build to error out if required data files are
- ;; not available (as is the case with PyPI archives).
- (substitute* "setup.cfg"
- (("addopts = --strict-data-files") "addopts = "))
- (with-directory-excursion build-directory
- ;; Delete tests that require "moto" which is not yet
- ;; in Guix.
- (for-each delete-file
- '("pandas/tests/io/conftest.py"
- "pandas/tests/io/json/test_compression.py"
- "pandas/tests/io/parser/test_network.py"
- "pandas/tests/io/test_parquet.py"))
- (invoke "pytest" "-vv" "pandas" "--skip-slow"
- "--skip-network" "-k"
- ;; XXX: Due to the deleted tests above.
- "not test_read_s3_jsonl"))))))))
- (propagated-inputs
- `(("python-numpy" ,python-numpy)
- ("python-openpyxl" ,python-openpyxl)
- ("python-pytz" ,python-pytz)
- ("python-dateutil" ,python-dateutil)
- ("python-xlrd" ,python-xlrd)))
- (inputs
- `(("which" ,which)))
- (native-inputs
- `(("python-cython" ,python-cython)
- ("python-beautifulsoup4" ,python-beautifulsoup4)
- ("python-lxml" ,python-lxml)
- ("python-html5lib" ,python-html5lib)
- ("python-nose" ,python-nose)
- ("python-pytest" ,python-pytest)
- ("python-pytest-mock" ,python-pytest-mock)))
- (home-page "https://pandas.pydata.org")
- (synopsis "Data structures for data analysis, time series, and statistics")
- (description
- "Pandas is a Python package providing fast, flexible, and expressive data
-structures designed to make working with structured (tabular,
-multidimensional, potentially heterogeneous) and time series data both easy
-and intuitive. It aims to be the fundamental high-level building block for
-doing practical, real world data analysis in Python.")
- (properties `((python2-variant . ,(delay python2-pandas))))
- (license license:bsd-3)))
-
-;; Pandas 0.24.x are the last versions that support Python 2.
-(define-public python2-pandas
- (let ((pandas (package-with-python2
- (strip-python2-variant python-pandas))))
- (package/inherit
- pandas
- (version "0.24.2")
- (source (origin
- (method url-fetch)
- (uri (pypi-uri "pandas" version))
- (sha256
- (base32
- "18imlm8xbhcbwy4wa957a1fkamrcb0z988z006jpfda3ki09z4ag")))))))
-
(define-public python2-mechanize
(package
(name "python2-mechanize")
@@ -3307,42 +3219,6 @@ Mallard using the @command{ducktype} tool. The yelp-tools package
provides additional functionality on the produced Mallard documents.")
(license license:expat)))
-(define-public python-scikit-image
- (package
- (name "python-scikit-image")
- (version "0.14.2")
- (source
- (origin
- (method url-fetch)
- (uri (pypi-uri "scikit-image" version))
- (sha256
- (base32 "07qchljkyxvg5nrm12fvszi7pmjk4m01qp0w0z8syxzxxs20pz8s"))))
- (build-system python-build-system)
- (arguments
- ;; TODO: Some tests require running X11 server. Disable them?
- '(#:tests? #f))
- ;; See DEPENDS.txt for the list of build and run time requiremnts
- (propagated-inputs
- `(("python-cloudpickle" ,python-cloudpickle)
- ("python-dask" ,python-dask)
- ("python-matplotlib" ,python-matplotlib)
- ("python-networkx" ,python-networkx)
- ("python-numpy" ,python-numpy)
- ("python-pillow" ,python-pillow)
- ("python-pywavelets" ,python-pywavelets)
- ("python-scipy" ,python-scipy)
- ("python-six" ,python-six)))
- (native-inputs
- `(("python-cython" ,python-cython)))
- (home-page "http://scikit-image.org/")
- (synopsis "Image processing in Python")
- (description
- "Scikit-image is a collection of algorithms for image processing.")
- (license license:bsd-3)))
-
-(define-public python2-scikit-image
- (package-with-python2 python-scikit-image))
-
(define-public python-cython
(package
(name "python-cython")
@@ -4312,125 +4188,6 @@ those files. It can also efficiently manipulate ranges of integers using set
operators such as union, intersection, and difference.")
(license license:asl2.0)))
-(define-public python-scipy
- (package
- (name "python-scipy")
- (version "1.3.2")
- (source
- (origin
- (method url-fetch)
- (uri (pypi-uri "scipy" version))
- (sha256
- (base32 "192d8dsybvhv19igkrsafbdafx198nz7pibkjgrqjhlr66s3jfd0"))))
- (build-system python-build-system)
- (propagated-inputs
- `(("python-numpy" ,python-numpy)
- ("python-matplotlib" ,python-matplotlib)
- ("python-pyparsing" ,python-pyparsing)))
- (inputs
- `(("lapack" ,lapack)
- ("openblas" ,openblas)))
- (native-inputs
- `(("python-cython" ,python-cython)
- ("python-pytest" ,python-pytest)
- ("python-sphinx" ,python-sphinx)
- ("python-numpydoc" ,python-numpydoc)
- ("gfortran" ,gfortran)
- ("perl" ,perl)
- ("which" ,which)))
- (outputs '("out" "doc"))
- (arguments
- `(#:phases
- (modify-phases %standard-phases
- (add-after 'unpack 'disable-broken-tests
- (lambda _
- (substitute* "scipy/sparse/linalg/dsolve/tests/test_linsolve.py"
- (("^( +)def test_threads_parallel\\(self\\):" m indent)
- (string-append indent
- "@pytest.mark.skip(reason=\"Disabled by Guix\")\n"
- m)))
- (substitute* "scipy/sparse/linalg/eigen/arpack/tests/test_arpack.py"
- (("^def test_parallel_threads\\(\\):" m)
- (string-append "@pytest.mark.skip(reason=\"Disabled by Guix\")\n"
- m)))
- #t))
- (add-before 'build 'configure-openblas
- (lambda* (#:key inputs #:allow-other-keys)
- (call-with-output-file "site.cfg"
- (lambda (port)
- (format port
- "[blas]
-libraries = openblas
-library_dirs = ~a/lib
-include_dirs = ~a/include
-
-# backslash-n to make emacs happy
-\n[atlas]
-library_dirs = ~a/lib
-atlas_libs = openblas
-"
- (assoc-ref inputs "openblas")
- (assoc-ref inputs "openblas")
- (assoc-ref inputs "openblas"))))
- #t))
- (add-after 'install 'install-doc
- (lambda* (#:key inputs outputs #:allow-other-keys)
- (let* ((data (string-append (assoc-ref outputs "doc") "/share"))
- (doc (string-append data "/doc/" ,name "-" ,version))
- (html (string-append doc "/html"))
- (pyver ,(string-append "PYVER=" (version-major+minor
- (package-version python))))
- ;; By default it tries to run sphinx-build through the Python
- ;; interpreter which won't work with our shell wrapper.
- (sphinxbuild "SPHINXBUILD=LANG=C sphinx-build"))
- ;; Make installed package available for building the
- ;; documentation
- (add-installed-pythonpath inputs outputs)
- (with-directory-excursion "doc"
- ;; Fix generation of images for mathematical expressions.
- (substitute* (find-files "source" "conf\\.py")
- (("pngmath_use_preview = True")
- "pngmath_use_preview = False"))
- (mkdir-p html)
- (invoke "make" "html" pyver sphinxbuild)
- (with-directory-excursion "build/html"
- (for-each (lambda (file)
- (let* ((dir (dirname file))
- (tgt-dir (string-append html "/" dir)))
- (install-file file html)))
- (find-files "." ".*")))))
- #t))
- ;; Tests can only be run after the library has been installed and not
- ;; within the source directory.
- (delete 'check)
- (add-after 'install 'check
- (lambda* (#:key inputs outputs #:allow-other-keys)
- (add-installed-pythonpath inputs outputs)
- (with-directory-excursion "/tmp"
- (invoke "python" "-c"
- "import scipy; scipy.test(verbose=2)")))))))
- (home-page "https://www.scipy.org/")
- (synopsis "The Scipy library provides efficient numerical routines")
- (description "The SciPy library is one of the core packages that make up
-the SciPy stack. It provides many user-friendly and efficient numerical
-routines such as routines for numerical integration and optimization.")
- (properties `((python2-variant . ,(delay python2-scipy))))
- (license license:bsd-3)))
-
-;; Version 1.2.2 is the last version to support Python 2
-(define-public python2-scipy
- (package
- (inherit (package-with-python2
- (strip-python2-variant python-scipy)))
- (version "1.2.2")
- (source
- (origin
- (method url-fetch)
- (uri (pypi-uri "scipy" version))
- (sha256
- (base32
- "1cgvgin8fvckv96hjh3ikmwkra5rif51bdb75ifzf7xbil5iwcx4"))))))
-
(define-public python-socksipy-branch
(package
(name "python-socksipy-branch")
@@ -4462,7 +4219,7 @@ as the original project seems to have been abandoned circa 2007.")
(define-public python-socksipychain
(package
(name "python-socksipychain")
- (version "2.0.15")
+ (version "2.1.0")
(source
(origin
(method git-fetch)
@@ -4472,7 +4229,7 @@ as the original project seems to have been abandoned circa 2007.")
(file-name (git-file-name name version))
(sha256
(base32
- "1pkljnh9hfwla8sg7mil4f9zrnsqj0dbhr3crxjw3k8dnjz70dvk"))))
+ "0idm9a050rd2kbgbz2sk9ib9589kj4xh1xdnggs6xbq2v2y8f6zn"))))
(build-system python-build-system)
(arguments
`(#:tests? #f)) ; Tests try to access the network.
@@ -4485,9 +4242,6 @@ TLS/SSL encryption. It was developed for use in PageKite, and also includes
a simple netcat replacement with chaining support.")
(license license:bsd-3)))
-(define-public python2-socksipychain
- (package-with-python2 python-socksipychain))
-
(define-public python-pycodestyle
(package
(name "python-pycodestyle")
@@ -4677,25 +4431,25 @@ the OleFileIO module from PIL, the Python Image Library.")
(define-public python-pillow
(package
(name "python-pillow")
- (version "6.1.0")
+ (version "6.2.1")
(source
(origin
(method url-fetch)
(uri (pypi-uri "Pillow" version))
(sha256
(base32
- "1pnrsz0f0n0c819v1pdr8j6rm8xvhc9f3kh1fv9xpdp9n5ygf108"))))
+ "1c8wkzc58f5wdh006jvmwdk3wxld1xgagcbdvj7iv17qi0m9fkmz"))))
(build-system python-build-system)
(native-inputs
`(("python-pytest" ,python-pytest)))
(inputs
`(("freetype" ,freetype)
("lcms" ,lcms)
- ("zlib" ,zlib)
("libjpeg" ,libjpeg)
- ("openjpeg" ,openjpeg)
("libtiff" ,libtiff)
- ("libwebp" ,libwebp)))
+ ("libwebp" ,libwebp)
+ ("openjpeg" ,openjpeg)
+ ("zlib" ,zlib)))
(propagated-inputs
`(("python-olefile" ,python-olefile)))
(arguments
@@ -4705,15 +4459,16 @@ the OleFileIO module from PIL, the Python Image Library.")
(lambda _
(substitute* "setup.py"
(("\\['/sbin/ldconfig', '-p'\\]") "['true']"))))
- (delete 'check) ; We must run checks after python-pillow is installed.
- (add-after 'install 'check-installed
- (lambda* (#:key outputs inputs #:allow-other-keys)
- (begin
- (setenv "HOME" (getcwd))
- ;; Make installed package available for running the tests.
- (add-installed-pythonpath inputs outputs)
- (invoke "python" "selftest.py" "--installed")
- (invoke "python" "-m" "pytest" "-vv")))))))
+ (replace 'check
+ (lambda* (#:key outputs inputs tests? #:allow-other-keys)
+ (if tests?
+ (begin
+ (setenv "HOME" (getcwd))
+ ;; Make installed package available for running the tests.
+ (add-installed-pythonpath inputs outputs)
+ (invoke "python" "selftest.py" "--installed")
+ (invoke "python" "-m" "pytest" "-vv"))
+ #t))))))
(home-page "https://python-pillow.org")
(synopsis "Fork of the Python Imaging Library")
(description
@@ -8660,13 +8415,13 @@ minimal and fast API targeting the following uses:
(define-public python-icalendar
(package
(name "python-icalendar")
- (version "4.0.3")
+ (version "4.0.4")
(source (origin
(method url-fetch)
(uri (pypi-uri "icalendar" version))
(sha256
(base32
- "0mk3dk1dxkcm46jy48v27j2w2349iv4sbimqj1yb5js43mx49hh7"))))
+ "16gjvqv0n05jrb9g228pdjgzd3amz2pdhvcgsn1jypszjg5m2w9l"))))
(build-system python-build-system)
(propagated-inputs
`(("python-dateutil" ,python-dateutil)
@@ -12476,13 +12231,13 @@ projects.")
(package
(name "python-invoke")
(home-page "http://www.pyinvoke.org/")
- (version "1.1.0")
+ (version "1.3.0")
(source (origin
(method url-fetch)
(uri (pypi-uri "invoke" version))
(sha256
(base32
- "0aiy1xvk1f91246zxd1zqrm679vdvd10h843a2na41cqr3cflpi6"))))
+ "1nn7gad0rvy492acpyhkrp01zsk86acf34qhsvq4xmm6x39788n5"))))
(build-system python-build-system)
(arguments
;; XXX: Requires many dependencies that are not yet in Guix.
@@ -14381,14 +14136,13 @@ Git.")
(define-public python-pyclipper
(package
(name "python-pyclipper")
- (version "1.1.0.post1")
+ (version "1.1.0.post3")
(source
(origin
(method url-fetch)
(uri (pypi-uri "pyclipper" version ".zip"))
(sha256
- (base32
- "0ldbkbnx94an4zzrwb1sxmg6k0jgk4cwmvcdyy8y5k1zslc612wa"))
+ (base32 "164yksvqwqvwzh8f8lq92asg87hd8rvcy2xb5vm4y4ccvd5xgb7i"))
(modules '((guix build utils)))
(snippet
'(begin
diff --git a/gnu/packages/security-token.scm b/gnu/packages/security-token.scm
index 1c2c4c7a0e..d8383ccc0d 100644
--- a/gnu/packages/security-token.scm
+++ b/gnu/packages/security-token.scm
@@ -103,7 +103,7 @@ readers and is needed to communicate with such devices through the
(define-public eid-mw
(package
(name "eid-mw")
- (version "4.4.16")
+ (version "4.4.23")
(source
(origin
(method git-fetch)
@@ -112,7 +112,7 @@ readers and is needed to communicate with such devices through the
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "1q82fw63xzrnrgh1wyh457hal6vfdl6swqfq7l6kviywiwlzx7kd"))))
+ (base32 "0kf147zxsp5ilghr46hjxa2nsikhv8198n04q81qzn9zln69av04"))))
(build-system glib-or-gtk-build-system)
(native-inputs
`(("autoconf" ,autoconf)
diff --git a/gnu/packages/serialization.scm b/gnu/packages/serialization.scm
index 00a8d27387..8efad0af86 100644
--- a/gnu/packages/serialization.scm
+++ b/gnu/packages/serialization.scm
@@ -40,12 +40,14 @@
#:use-module (gnu packages boost)
#:use-module (gnu packages check)
#:use-module (gnu packages compression)
+ #:use-module (gnu packages cpp)
#:use-module (gnu packages databases)
#:use-module (gnu packages documentation)
#:use-module (gnu packages gcc)
#:use-module (gnu packages lua)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages python)
+ #:use-module (gnu packages python-science)
#:use-module (gnu packages python-xyz)
#:use-module (gnu packages perl))
@@ -377,40 +379,6 @@ convert JSON documents to BSON and the opposite. BSON stands for Binary JSON,
it is comparable to protobuf.")
(license license:asl2.0)))
-(define-public nlohmann-json-cpp
- (package
- (name "nlohmann-json-cpp")
- (version "3.7.0")
- (source (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/nlohmann/json.git")
- (commit (string-append "v" version))))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "0v7xih4zjixxxfvkfbs7a8j9qcvpwlsv4vrkbyns3hc7b44nb8ap"))))
- (build-system cmake-build-system)
- (native-inputs
- ;; Integer overflow tests like those from
- ;; <https://github.com/nlohmann/json/issues/1447> fail when building with
- ;; gcc@5. Thus, build with a newer GCC.
- `(("gcc" ,gcc-9)))
- (arguments
- '(#:phases (modify-phases %standard-phases
- (add-before 'build 'unset-path-variables
- (lambda _
- (unsetenv "C_INCLUDE_PATH")
- (unsetenv "CPLUS_INCLUDE_PATH")
- #t)))))
- (home-page "https://nlohmann.github.io/json/")
- (synopsis "JSON library for C++")
- (description
- "JSON library for C++ trying to accomplish “Intuitive syntax”,
-“Trivial integration”, and “Serious testing”.
-However, “Memory efficiency” and “Speed” have not been primary goals.")
- (license license:expat)))
-
(define-public python-ruamel.yaml
(package
(name "python-ruamel.yaml")
diff --git a/gnu/packages/statistics.scm b/gnu/packages/statistics.scm
index a2ab913c6c..6083ac18ee 100644
--- a/gnu/packages/statistics.scm
+++ b/gnu/packages/statistics.scm
@@ -66,6 +66,7 @@
#:use-module (gnu packages perl)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages python)
+ #:use-module (gnu packages python-science)
#:use-module (gnu packages python-xyz)
#:use-module (gnu packages readline)
#:use-module (gnu packages sphinx)
@@ -692,14 +693,14 @@ analysis.")
(define-public r-survival
(package
(name "r-survival")
- (version "3.1-7")
+ (version "3.1-8")
(source
(origin
(method url-fetch)
(uri (cran-uri "survival" version))
(sha256
(base32
- "1ij77bgfcjx29xkx5bck0sv4ybglpcmzzv9ilkinj8fqhhclbs8p"))))
+ "15fj4y8c107bwq22amx88r5hw7qndlcbr9sapzrpkpr7iqz3kkyf"))))
(build-system r-build-system)
(propagated-inputs
`(("r-matrix" ,r-matrix)))
@@ -1554,13 +1555,13 @@ R packages that praise their users.")
(define-public r-testthat
(package
(name "r-testthat")
- (version "2.3.0")
+ (version "2.3.1")
(source (origin
(method url-fetch)
(uri (cran-uri "testthat" version))
(sha256
(base32
- "0qlajfgm3zjrmladwcm0xzw8zp2431zz2asa2w7lpg7zl6ymvz29"))))
+ "0m8xchdpgn9iwj6gb2qw46zr85v9zf1gkbr9nnahmy5sp1s9bbky"))))
(build-system r-build-system)
(propagated-inputs
`(("r-cli" ,r-cli)
@@ -2031,13 +2032,13 @@ jackknifed confidence intervals are available for most estimates.")
(define-public r-rversions
(package
(name "r-rversions")
- (version "2.0.0")
+ (version "2.0.1")
(source (origin
(method url-fetch)
(uri (cran-uri "rversions" version))
(sha256
(base32
- "0mkg9zrjxlbwqzijiysivrs523x48syqj30xdfp88clpkqfk435m"))))
+ "1ic6sxnyya24d5xsxjg3fba73fhya9fhs0kaf66yha6nwxj1zv2i"))))
(build-system r-build-system)
(propagated-inputs
`(("r-curl" ,r-curl)
@@ -2259,13 +2260,13 @@ tables, autolinks and strikethrough text.")
(define-public r-roxygen2
(package
(name "r-roxygen2")
- (version "7.0.1")
+ (version "7.0.2")
(source (origin
(method url-fetch)
(uri (cran-uri "roxygen2" version))
(sha256
(base32
- "07v7f7may3vr80f4m1w1ll41qdahszycyx4c1yf8pw7asx73d77j"))))
+ "162xag27hwwyadfwm5zpyy15nxwhw2vbhwapx3jmi9cfyryr68sq"))))
(build-system r-build-system)
(propagated-inputs
`(("r-brew" ,r-brew)
@@ -2615,13 +2616,13 @@ vectors.")
(define-public r-catools
(package
(name "r-catools")
- (version "1.17.1.2")
+ (version "1.17.1.3")
(source (origin
(method url-fetch)
(uri (cran-uri "caTools" version))
(sha256
(base32
- "0svj31y7h8vimvliygmmbl7pk850qk80k1vn38mlcxsnmcpm9k39"))))
+ "04m7vbydxb1nipday97w29p2miykyzxw572j9lda6jxmmp2kb1yp"))))
(properties `((upstream-name . "caTools")))
(build-system r-build-system)
(propagated-inputs
@@ -2776,13 +2777,13 @@ a column in data frame.")
(define-public r-rsqlite
(package
(name "r-rsqlite")
- (version "2.1.2")
+ (version "2.1.3")
(source (origin
(method url-fetch)
(uri (cran-uri "RSQLite" version))
(sha256
(base32
- "1inrhap5cs0wry2jbw42fx9wwxb3qdzlpy0ba4f6a29bs8jx9nk6"))))
+ "0c5s67s8w4q6p57rnh14n4gcmymyardg8lhnrdlimmjcfawj15h7"))))
(properties `((upstream-name . "RSQLite")))
(build-system r-build-system)
(propagated-inputs
@@ -5655,20 +5656,20 @@ inferring an appropriate positioning method.")
(license license:gpl3)))
(define-public r-catterplots
- (let ((commit "40063ec57f9515d231508f135ca0ec769614efb9")
- (revision "2"))
+ (let ((commit "ae17cd5e49ddda4ecfe0eba8a4c21df8c88e72c4")
+ (revision "3"))
(package
(name "r-catterplots")
- (version (string-append "0-" revision "." (string-take commit 9)))
+ (version (git-version "0" revision commit))
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/Gibbsdavidl/CatterPlots.git")
(commit commit)))
- (file-name (string-append name "-" version "-checkout"))
+ (file-name (git-file-name name version))
(sha256
(base32
- "1wl80pgbz8d9kfpffvkh439hlgz2qldm9m75wqjfrgrg8lcjzrxg"))))
+ "0qa8liylffpxgdg8xcgjar5dsvczqhn3akd4w35113hnyg1m4xyg"))))
(build-system r-build-system)
(propagated-inputs
`(("r-png" ,r-png)))
diff --git a/gnu/packages/sync.scm b/gnu/packages/sync.scm
index b30202fb43..0921c00b56 100644
--- a/gnu/packages/sync.scm
+++ b/gnu/packages/sync.scm
@@ -4,6 +4,7 @@
;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2018 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2018, 2019 Nicolas Goaziou <mail@nicolasgoaziou.fr>
+;;; Copyright © 2019 Clément Lassieur <clement@lassieur.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -264,14 +265,14 @@ over the Internet in an HTTP and CDN friendly way;
(define-public rclone
(package
(name "rclone")
- (version "1.50.1")
+ (version "1.50.2")
(source
(origin
(method url-fetch)
(uri (string-append "https://github.com/rclone/rclone/releases/download/"
"v" version "/rclone-v" version ".tar.gz"))
(sha256
- (base32 "05p25i1d2fs2ak155rl5m9kkpkrifsfhk5sd5dl6jx22hc4cimj8"))))
+ (base32 "14b0k5nb85v0mxmdpqxf8avha0wwc3f4dbj1s8h3hkaifa59kn3d"))))
;; FIXME: Rclone bundles some libraries Guix already provides. Need to
;; un-bundle them.
(build-system go-build-system)
diff --git a/gnu/packages/telephony.scm b/gnu/packages/telephony.scm
index abb68f62b2..5b6c578fce 100644
--- a/gnu/packages/telephony.scm
+++ b/gnu/packages/telephony.scm
@@ -12,6 +12,7 @@
;;; Copyright © 2018 Jovany Leandro G.C <bit4bit@riseup.net>
;;; Copyright © 2018 Tim Gesthuizen <tim.gesthuizen@yahoo.de>
;;; Copyright © 2019 Pierre Neidhardt <mail@ambrevar.xyz>
+;;; Copyright © 2019 Jan Wielkiewicz <tona_kosmicznego_smiecia@interia.pl>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -553,29 +554,32 @@ calls and messages")
(define-public pjproject
(package
(name "pjproject")
- (version "2.7.2")
+ (version "2.9")
(source
(origin
- (method url-fetch)
- (uri (string-append
- "http://www.pjsip.org/release/" ;
- version "/" name "-" version ".tar.bz2"))
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/pjsip/pjproject.git")
+ (commit "5dfa75be7d69047387f9b0436dd9492bbbf03fe4")))
(modules '((guix build utils)))
(snippet
'(begin
(let ((third-party-directories
- (list "BaseClasses" "bdsound" "bin" "g7221" "gsm"
- "ilbc" "lib" "milenage" "mp3" "speex" "srtp"
- "resample"
+ ;; Things we don't need:
+ ;; BaseClasses - contains libraries from Windows SDK
+ ;; we don't need it, at least not now.
+ (list "BaseClasses" "g7221" "ilbc" "milenage"
+ "speex" "threademulation" "yuv" "bdsound"
+ "gsm" "mp3" "resample" "srtp" "webrtc"
;; Keep only resample, build and README.txt.
"build/baseclasses" "build/g7221" "build/gsm"
- "build/ilbc" "build/milenage" "build/samplerate"
- "build/speex" "build/srtp"
- "build/resample" "build/yuv")))
+ "build/ilbc" "build/milenage" "build/resample"
+ "build/samplerate" "build/speex" "build/srtp"
+ "build/webrtc" "build/yuv")))
;; Keep only Makefiles related to resample.
- (for-each (lambda (file)
+ (for-each (lambda (directory)
(delete-file-recursively
- (string-append "third_party/" file)))
+ (string-append "third_party/" directory)))
third-party-directories)
#t)
(let ((third-party-dirs
@@ -586,9 +590,10 @@ calls and messages")
(substitute* "third_party/build/os-linux.mak"
(((string-append "DIRS += " dirs)) "")))
third-party-dirs))))
+ (file-name (git-file-name name version))
(sha256
(base32
- "0wiph6g51wanzwjjrpwsz63amgvly8g08jz033gnwqmppa584b4w"))))
+ "1ayj6n7zd5wvd1nzj2k9s57fb4ckc2fv92k5sjvhd87yg69k3393"))))
(build-system gnu-build-system)
(inputs
`(("portaudio" ,portaudio)))
@@ -598,6 +603,7 @@ calls and messages")
`(("speex" ,speex)
("libsrtp" ,libsrtp)
("gnutls" ,gnutls)
+ ("resample", resample)
("util-linux" ,util-linux)))
(native-inputs
`(("autoconf" ,autoconf)
@@ -615,7 +621,7 @@ calls and messages")
(lambda _ (invoke "make" "dep")))
(add-before 'patch-source-shebangs 'autoconf
(lambda _
- (invoke "autoconf" "-vfi" "-o"
+ (invoke "autoconf" "-v" "-f" "-i" "-o"
"aconfigure" "aconfigure.ac")))
(add-before 'autoconf 'disable-some-tests
;; Three of the six test programs fail due to missing network
@@ -631,12 +637,12 @@ calls and messages")
Initiation Protocol (SIP) and a multimedia framework.")
(license license:gpl2+)))
-(define %jami-version "20190319.4.a16a99f")
+(define %jami-version "20191101.3.67671e7")
(define* (jami-source #:key without-daemon)
(origin
(method url-fetch)
- (uri (string-append "http://dl.jami.net/ring-release/tarballs/ring_"
+ (uri (string-append "https://dl.jami.net/ring-release/tarballs/ring_"
%jami-version
".tar.gz"))
(modules '((guix build utils)))
@@ -647,7 +653,7 @@ Initiation Protocol (SIP) and a multimedia framework.")
#f))
(sha256
(base32
- "1c6n6sm7skw83v25g33g4jzbragz9j4przbzaz7asxw54jy33dwl"))))
+ "0kw172w2ccyz438kf5xqw14nhfm4xk6a2libnzib9j2wvhlpf4q0"))))
(define-public pjproject-jami
(package
@@ -680,35 +686,49 @@ Initiation Protocol (SIP) and a multimedia framework.")
"--disable-openh264"
"--disable-resample"
"--disable-libwebrtc"
- ;; "-fPIC" is required for libring. Bug?
- "CFLAGS=-fPIC -DPJ_ENABLE_EXTRA_CHECK=1 -DPJ_ICE_MAX_CAND=256 -DPJ_ICE_MAX_CHECKS=1024 -DPJ_ICE_COMP_BITS=2 -DPJ_ICE_MAX_STUN=3 -DPJSIP_MAX_PKT_LEN=8000 -DPJ_ICE_ST_MAX_CAND=32"
- "CXXFLAGS=-fPIC -DPJ_ENABLE_EXTRA_CHECK=1 -DPJ_ICE_MAX_CAND=256 -DPJ_ICE_MAX_CHECKS=1024 -DPJ_ICE_COMP_BITS=2 -DPJ_ICE_MAX_STUN=3 -DPJSIP_MAX_PKT_LEN=8000 -DPJ_ICE_ST_MAX_CAND=32"
- ;; Now deviating from the rules.mak file.
- "--enable-ssl=gnutls"
- "--with-external-srtp")
+ "--with-gnutls"
+ "--with-external-srtp"
+ ;; We need -fPIC or else we get the following error when linking
+ ;; against pjproject-jami:
+ ;; relocation R_X86_64_32S against `.rodata' can not be used when
+ ;; making a shared object;
+ "CFLAGS=-fPIC"
+ "CXXFLAGS=-fPIC")
#:phases
(modify-phases %standard-phases
+ (add-after 'unpack 'make-git-checkout-writable
+ (lambda _
+ (for-each make-file-writable (find-files "."))
+ #t))
(add-after 'unpack 'apply-patches
(lambda* (#:key inputs #:allow-other-keys)
(let ((savoir-faire-linux-patches-directory "Savoir-faire Linux patches")
;; Comes from
;; "ring-project/daemon/contrib/src/pjproject/rules.mak".
;; WARNING: These amount for huge changes in pjproject.
- ;; Particularly, they add support for GnuTLS.
(savoir-faire-linux-patches
- '("gnutls"
+ '("fix_turn_alloc_failure"
"rfc2466"
"ipv6"
- "ice_config"
"multiple_listeners"
"pj_ice_sess"
"fix_turn_fallback"
"fix_ioqueue_ipv6_sendto"
"add_dtls_transport"
- "rfc6062")))
+ "rfc6544"
+ "ice_config"
+ "sip_config"
+ "fix_first_packet_turn_tcp"
+ "fix_ebusy_turn"
+ "ignore_ipv6_on_transport_check"
+ "fix_turn_connection_failure"
+ ;; "uwp_vs" ; for windows
+ "disable_local_resolution")))
(mkdir-p savoir-faire-linux-patches-directory)
(invoke "tar" "-xvf" (assoc-ref inputs "savoir-faire-linux-patches")
- "-C" savoir-faire-linux-patches-directory "--strip-components=5" "ring-project/daemon/contrib/src/pjproject")
+ "-C" savoir-faire-linux-patches-directory
+ "--strip-components=5"
+ "ring-project/daemon/contrib/src/pjproject")
(for-each
(lambda (file)
(invoke "patch" "--force" "-p1" "-i"
@@ -772,8 +792,9 @@ Initiation Protocol (SIP) and a multimedia framework.")
("libsecp256k1" ,libsecp256k1)
("python" ,python)
("python-wrapper" ,python-wrapper)
- ("restbed" ,restbed)
+ ("restinio" ,restinio)
("libx11" ,libx11)
+ ("asio" ,asio)
;; TODO: Upstream seems to rely on a custom pjproject (a.k.a. pjsip) version.
;; See https://git.jami.net/savoirfairelinux/ring-daemon/issues/24.
("pjproject" ,pjproject-jami)))
@@ -876,7 +897,7 @@ This package provides a library common to all Jami clients.")
("glib:bin" ,glib "bin")
("doxygen" ,doxygen)))
(propagated-inputs
- `(("libring" ,libring) ; Contains `dring', the daemon, which is automatically by d-bus.
+ `(("libring" ,libring) ; Contains `dring', the daemon, which is automatically by d-bus.
("adwaita-icon-theme" ,adwaita-icon-theme)
("evolution-data-server" ,evolution-data-server)))
(arguments
@@ -891,10 +912,10 @@ This package provides a library common to all Jami clients.")
(lambda* (#:key inputs outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(path (string-append (assoc-ref inputs "sqlite") "/lib")))
- (wrap-program (string-append out "/bin/gnome-ring")
+ (wrap-program (string-append out "/bin/jami-gnome")
`("LD_LIBRARY_PATH" ":" prefix (,path))))
#t)))))
- (synopsis "Distributed multimedia communications platform")
+ (synopsis "Distributed, privacy-respecting communication program")
(description "Jami (formerly GNU Ring) is a secure and distributed voice,
video and chat communication platform that requires no centralized server and
leaves the power of privacy in the hands of the user. It supports the SIP and
diff --git a/gnu/packages/time.scm b/gnu/packages/time.scm
index c75ed6f2cd..0ec9a102a5 100644
--- a/gnu/packages/time.scm
+++ b/gnu/packages/time.scm
@@ -419,7 +419,7 @@ datetime type.")
(define-public datefudge
(package
(name "datefudge")
- (version "1.22")
+ (version "1.23")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -428,7 +428,7 @@ datetime type.")
(file-name (git-file-name name version))
(sha256
(base32
- "1fmd05r00wx4zc90lbi804jl7xwdl11jq2a1kp5lqimk3yyvfw4c"))))
+ "0r9g8v9xnv60hq3j20wqy34kyig3sc2pisjxl4irn7jjx85f1spv"))))
(build-system gnu-build-system)
(arguments
`(#:test-target "test"
diff --git a/gnu/packages/tmux.scm b/gnu/packages/tmux.scm
index 6f1ef45ae1..6d536131a7 100644
--- a/gnu/packages/tmux.scm
+++ b/gnu/packages/tmux.scm
@@ -38,7 +38,7 @@
(define-public tmux
(package
(name "tmux")
- (version "2.9a")
+ (version "3.0a")
(source (origin
(method url-fetch)
(uri (string-append
@@ -46,7 +46,7 @@
version "/tmux-" version ".tar.gz"))
(sha256
(base32
- "099vn8mg2nnizbqqc87a5mxm8c46kadfhx30dgxbz9hp8mx1d7c3"))))
+ "1fcdbw77nz918f7gqc1ga7zlkp1g112in1h8kkjnkadgnhldzlaa"))))
(build-system gnu-build-system)
(inputs
`(("libevent" ,libevent)
diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm
index c93531b744..bcb42387e7 100644
--- a/gnu/packages/video.scm
+++ b/gnu/packages/video.scm
@@ -428,7 +428,7 @@ H.264 (MPEG-4 AVC) video streams.")
("gettext" ,gettext-minimal)
("googletest" ,googletest)
("libxslt" ,libxslt)
- ("nlohmann-json-cpp" ,nlohmann-json-cpp)
+ ("json-modern-cxx" ,json-modern-cxx)
("perl" ,perl)
("pkg-config" ,pkg-config)
("po4a" ,po4a)
@@ -2637,39 +2637,36 @@ supported players in addition to this package.")
(define-public handbrake
(package
(name "handbrake")
- (version "1.2.2")
+ (version "1.3.0")
(source (origin
(method url-fetch)
(uri (string-append "https://download.handbrake.fr/releases/"
version "/HandBrake-" version "-source.tar.bz2"))
(sha256
(base32
- "0k2yaqy7zi06k8mkp9az2mn9dlgj3a1339vacakfh2nn2zsics6z"))
+ "15hxncswmaj62hb40fxixsa6d519zb712z9xbdq979q4rasjxa59"))
(modules '((guix build utils)))
(snippet
;; Remove "contrib" and source not necessary for
;; building/running under a GNU environment.
'(begin
(for-each delete-file-recursively
- '("contrib" "macosx" "win"))
+ '("contrib" "macosx" "win")) ; 540KiB, 11MiB, 5.9MiB resp.
(substitute* "make/include/main.defs"
;; Disable unconditional inclusion of "contrib" libraries
;; (ffmpeg, libvpx, libdvdread, libdvdnav, and libbluray),
;; which would lead to fetching and building of these
;; libraries. Use our own instead.
(("MODULES \\+= contrib") "# MODULES += contrib"))
- #t))
- (patches (search-patches "handbrake-opt-in-nvenc.patch"))))
+ #t))))
(build-system glib-or-gtk-build-system)
(native-inputs
- `(("automake" ,automake) ;gui subpackage must be bootstrapped
+ `(("automake" ,automake) ; GUI subpackage must be bootstrapped
("autoconf" ,autoconf)
- ("cmake" ,cmake-minimal) ;TODO: could probably strip check from make/configure.py
- ("curl" ,curl) ;not actually used, but tested for
("intltool" ,intltool)
("libtool" ,libtool)
("pkg-config" ,pkg-config)
- ("python" ,python-2))) ;for configuration
+ ("python" ,python-2))) ; For configuration
(inputs
`(("bzip2" ,bzip2)
("dbus-glib" ,dbus-glib)
@@ -2684,11 +2681,13 @@ supported players in addition to this package.")
("lame" ,lame)
("libass" ,libass)
("libbluray" ,libbluray)
+ ("libdav1d" ,dav1d)
("libdvdnav" ,libdvdnav)
("libdvdread" ,libdvdread)
("libgudev" ,libgudev)
("libmpeg2" ,libmpeg2)
("libnotify" ,libnotify)
+ ("libnuma" ,numactl)
("libogg" ,libogg)
("libopus" ,opus)
("libsamplerate" ,libsamplerate)
@@ -2704,6 +2703,7 @@ supported players in addition to this package.")
`(#:tests? #f ;tests require Ruby and claim to be unsupported
#:configure-flags
(list "--disable-gtk-update-checks"
+ "--disable-nvenc"
(string-append "CPPFLAGS=-I"
(assoc-ref %build-inputs "libxml2")
"/include/libxml2")
@@ -2714,11 +2714,27 @@ supported players in addition to this package.")
;; Run bootstrap ahead of time so that shebangs get patched.
(lambda _
(setenv "CONFIG_SHELL" (which "sh"))
- (setenv "NOCONFIGURE" "1")
;; Patch the Makefile so that it doesn't bootstrap again.
(substitute* "gtk/module.rules"
- ((".*autogen\\.sh.*") ""))
- (invoke "sh" "./gtk/autogen.sh")))
+ ((".*autoreconf.*") ""))
+ (with-directory-excursion "gtk"
+ (invoke "autoreconf" "-fiv"))))
+ (add-before 'configure 'patch-SHELL
+ (lambda _
+ (substitute* "gtk/po/Makefile.in.in"
+ (("SHELL = /bin/sh") "SHELL = @SHELL@"))
+ #t))
+ (add-before 'configure 'relax-reqs
+ (lambda _
+ (substitute* "make/configure.py"
+ ;; cmake is checked for so that it can be used to build
+ ;; contrib/harfbuzz and contrib/x265, but we get these as
+ ;; inputs, so don't abort if it's not found. Similarly, meson
+ ;; and ninja are only needed for contrib/libdav1d, and nasm
+ ;; only for libvpx
+ (("((cmake|meson|ninja|nasm) *=.*abort=)True" _ &)
+ (string-append & "False")))
+ #t))
(replace 'configure
(lambda* (#:key outputs configure-flags #:allow-other-keys)
;; 'configure' is not an autoconf-generated script, and
diff --git a/gnu/packages/vpn.scm b/gnu/packages/vpn.scm
index 364d0a2062..1fd313c46c 100644
--- a/gnu/packages/vpn.scm
+++ b/gnu/packages/vpn.scm
@@ -452,14 +452,14 @@ The peer-to-peer VPN implements a Layer 2 (Ethernet) network between the peers
(define-public wireguard
(package
(name "wireguard")
- (version "0.0.20191012")
+ (version "0.0.20191127")
(source (origin
(method url-fetch)
(uri (string-append "https://git.zx2c4.com/WireGuard/snapshot/"
"WireGuard-" version ".tar.xz"))
(sha256
(base32
- "13psxk61d60sas0ksfk0gakrv8wc8anjj5zb67g2zhn1r69k2mwk"))))
+ "01ixdhbvx5yiq07msd60f98685wdksss4pfhdn1d8r25z2k80kkx"))))
(build-system gnu-build-system)
(outputs '("out" ; The WireGuard userspace tools
"kernel-patch")) ; A patch to build Linux with WireGuard support
diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm
index 63da1143ca..2bcf36aef7 100644
--- a/gnu/packages/web.scm
+++ b/gnu/packages/web.scm
@@ -546,21 +546,24 @@ supported at your website.")
(define-public fcgi
(package
(name "fcgi")
- (version "2.4.0")
+ (version "2.4.2")
(source
(origin
- (method url-fetch)
+ (method git-fetch)
;; Upstream has disappeared.
- (uri (string-append "https://sources.archlinux.org/other/packages/fcgi/"
- "fcgi-" version ".tar.gz"))
+ (uri (git-reference
+ (url "https://github.com/FastCGI-Archives/fcgi2")
+ (commit version)))
+ (file-name (git-file-name name version))
(sha256
- (base32
- "1f857wnl1d6jfrgfgfpz3zdaj8fch3vr13mnpcpvy8bang34bz36"))
- (patches (search-patches "fcgi-2.4.0-poll.patch"
- "fcgi-2.4.0-gcc44-fixes.patch"))))
+ (base32 "1jhz6jfwv5kawa8kajvg18nfwc1b30f38zc0lggszd1vcmrwqkz1"))))
(build-system gnu-build-system)
;; Parallel building is not supported.
(arguments `(#:parallel-build? #f))
+ (native-inputs
+ `(("autoconf" ,autoconf)
+ ("automake" ,automake)
+ ("libtool" ,libtool)))
;; This is an archived fork of the original home page, www.fastcgi.com.
(home-page "https://fastcgi-archives.github.io/")
(synopsis "Language-independent, high-performant extension to CGI")
@@ -5329,25 +5332,27 @@ additional capabilities.")
(define-public xinetd
(package
(name "xinetd")
- (version "2.3.15")
+ ;; This is the maintenance fork currently used by openSUSE and Debian.
+ (version "2.3.15.4")
(source
(origin
(method git-fetch)
(uri (git-reference
- (url "https://github.com/xinetd-org/xinetd.git")
- (commit (string-append "xinetd-"
- (string-join (string-split version #\.)
- "-")))))
+ (url "https://github.com/openSUSE/xinetd.git")
+ (commit version)))
(file-name (git-file-name name version))
- (patches (search-patches "xinetd-CVE-2013-4342.patch"
- "xinetd-fix-fd-leak.patch"))
(sha256
- (base32 "0wjai6qagcgxpa1khh639ih7kswgkryc7ll1i4hxhs29sc7irdcn"))))
+ (base32 "0lrp3lcj6azhjplwxws2rx40bkyp6i6bp7n77ndcisb7ninad30q"))))
(build-system gnu-build-system)
(arguments
`(#:configure-flags '("--with-loadavg")
#:tests? #f)) ; no tests
- (home-page "https://github.com/xinetd-org/xinetd")
+ (native-inputs
+ `(("autoconf" ,autoconf)
+ ("automake" ,automake)
+ ("libtool" ,libtool)
+ ("pkg-config" ,pkg-config)))
+ (home-page "https://github.com/openSUSE/xinetd")
(synopsis "Internet services daemon")
(description "@code{xinetd}, a more secure replacement for @code{inetd},
listens for incoming requests over a network and launches the appropriate
diff --git a/gnu/packages/xdisorg.scm b/gnu/packages/xdisorg.scm
index 4376c64108..b1759eabb2 100644
--- a/gnu/packages/xdisorg.scm
+++ b/gnu/packages/xdisorg.scm
@@ -95,14 +95,14 @@
(define-public arandr
(package
(name "arandr")
- (version "0.1.9")
+ (version "0.1.10")
(source (origin
(method url-fetch)
- (uri (string-append "http://christian.amsuess.com/tools/" name
- "/files/" name "-" version ".tar.gz"))
+ (uri (string-append "https://christian.amsuess.com/tools/arandr"
+ "/files/arandr-" version ".tar.gz"))
(sha256
(base32
- "1i3f1agixxbfy4kxikb2b241p7c2lg73cl9wqfvlwz3q6zf5faxv"))
+ "135q0llvm077jil2fr92ssw3p095m4r8jfj0lc5rr3m71n4srj6v"))
(modules '((guix build utils)))
(snippet
'(begin
@@ -762,7 +762,7 @@ shows it again when the mouse cursor moves or a mouse button is pressed.")
(define-public xlockmore
(package
(name "xlockmore")
- (version "5.58")
+ (version "5.59")
(source (origin
(method url-fetch)
(uri (list (string-append "http://sillycycle.com/xlock/"
@@ -773,7 +773,7 @@ shows it again when the mouse cursor moves or a mouse button is pressed.")
"xlockmore-" version ".tar.xz")))
(sha256
(base32
- "1va11sbv5lbkxkp0i0msz5md3n2n82nzppk27rzdrw7y79vq37zw"))))
+ "0lajc5a4lki33b9mzfsi74q4hbivbmhwysp7mib4ivnyxianhaid"))))
(build-system gnu-build-system)
(arguments
'(#:configure-flags (list (string-append "--enable-appdefaultdir="
diff --git a/gnu/packages/xfce.scm b/gnu/packages/xfce.scm
index 315e4a45be..ccf8c83103 100644
--- a/gnu/packages/xfce.scm
+++ b/gnu/packages/xfce.scm
@@ -202,7 +202,7 @@ to share commonly used Xfce widgets among the Xfce applications.")
(define-public exo
(package
(name "exo")
- (version "0.12.8")
+ (version "0.12.10")
(source (origin
(method url-fetch)
(uri (string-append "https://archive.xfce.org/src/xfce/"
@@ -210,7 +210,7 @@ to share commonly used Xfce widgets among the Xfce applications.")
"exo-" version ".tar.bz2"))
(sha256
(base32
- "1ppwi6n40aphh0dqsnfrk234zsp7pl4lkjnspqjxw7m49bka401l"))))
+ "1b3w4pf9gkcp13h63nf93k95hkw0ij7v5y7wjklqd1qifm8xd3w4"))))
(build-system gnu-build-system)
(native-inputs
`(("pkg-config" ,pkg-config)
diff --git a/gnu/packages/xml.scm b/gnu/packages/xml.scm
index ba7c121776..fd49a9c5bd 100644
--- a/gnu/packages/xml.scm
+++ b/gnu/packages/xml.scm
@@ -524,14 +524,14 @@ checks.")
(define-public perl-xml-rss
(package
(name "perl-xml-rss")
- (version "1.60")
+ (version "1.61")
(source (origin
(method url-fetch)
(uri (string-append "mirror://cpan/authors/id/S/SH/SHLOMIF/"
"XML-RSS-" version ".tar.gz"))
(sha256
(base32
- "0xw6aaqka3vqwbv152sbh6fbi8j306q1gvg7v83br8miif3mjcsb"))))
+ "03f983l2dnkvcw6iyg1s0xmv5wn793d3kvqlshmhm01ibp7ffvzs"))))
(build-system perl-build-system)
(native-inputs
`(("perl-module-build" ,perl-module-build)
@@ -882,20 +882,18 @@ the form of functions.")
(define-public pugixml
(package
(name "pugixml")
- (version "1.9")
+ (version "1.10")
(source
(origin
(method url-fetch)
(uri (string-append "https://github.com/zeux/pugixml/releases/download/v"
version "/pugixml-" version ".tar.gz"))
- (patches (search-patches "pugixml-versioned-libdir.patch"))
(sha256
- (base32
- "19nv3zhik3djp4blc4vrjwrl8dfhzmal8b21sq7y907nhddx6mni"))))
+ (base32 "02l7nllhydggf7s64d2x84kckbmwag4lsn28sc82953hnkxrkwsm"))))
(build-system cmake-build-system)
(arguments
`(#:configure-flags '("-DBUILD_SHARED_LIBS=ON")
- #:tests? #f)) ;no tests
+ #:tests? #f)) ; no tests
(native-inputs
`(("pkg-config" ,pkg-config)))
(home-page "https://pugixml.org")
diff --git a/gnu/packages/xorg.scm b/gnu/packages/xorg.scm
index bf48b5c0b2..ae0415f758 100644
--- a/gnu/packages/xorg.scm
+++ b/gnu/packages/xorg.scm
@@ -5717,14 +5717,14 @@ Intrinsics (Xt) Library.")
(define-public xclock
(package
(name "xclock")
- (version "1.0.8")
+ (version "1.0.9")
(source
(origin
(method url-fetch)
(uri (string-append "https://www.x.org/releases/individual/app/"
- name "-" version ".tar.bz2"))
+ "xclock-" version ".tar.bz2"))
(sha256
- (base32 "0m92zhamh15my9f2rqa14q41d6k2cn468azm3g7g3w9n7942024k"))))
+ (base32 "1fr3q4rszgx7x2zxy2ip592a3fgx20hfwac49p2l5b7jqsr1ying"))))
(build-system gnu-build-system)
(arguments
`(#:configure-flags
@@ -5808,7 +5808,7 @@ to answer a question. Xmessage can also exit after a specified time.")
(define-public xterm
(package
(name "xterm")
- (version "350")
+ (version "351")
(source (origin
(method url-fetch)
(uri (list
@@ -5818,7 +5818,7 @@ to answer a question. Xmessage can also exit after a specified time.")
"xterm-" version ".tgz")))
(sha256
(base32
- "0k8h0k1nrgq073yfrgrpcyd7mfcg6r3s940s1l46h0iizpp5kyxf"))))
+ "05kf586my4irrzz2bxgmwjdvynyrg9ybhvfqmx29g70w4888l2kn"))))
(build-system gnu-build-system)
(arguments
'(#:configure-flags '("--enable-wide-chars" "--enable-load-vt-fonts"
@@ -5940,7 +5940,7 @@ perl programs to display windows and graphics on X11 servers.")
(define-public perl-x11-protocol-other
(package
(name "perl-x11-protocol-other")
- (version "30")
+ (version "31")
(source
(origin
(method url-fetch)
@@ -5948,8 +5948,7 @@ perl programs to display windows and graphics on X11 servers.")
"mirror://cpan/authors/id/K/KR/KRYDE/X11-Protocol-Other-"
version ".tar.gz"))
(sha256
- (base32
- "1mambi57cdkj82wiw1l8y2f70a60qsamdas0165hlj10drryfgrj"))))
+ (base32 "1x3kvic52jgp2mvd5wzrqrprqi82cdk8l4075v8b33ksvj9mjqiw"))))
(build-system perl-build-system)
(native-inputs
`(("perl-encode-hanextra" ,perl-encode-hanextra)
@@ -6355,7 +6354,7 @@ output.")
(define-public console-setup
(package
(name "console-setup")
- (version "1.191")
+ (version "1.194")
(source
(origin
(method git-fetch)
@@ -6363,7 +6362,7 @@ output.")
(url "https://salsa.debian.org/installer-team/console-setup.git")
(commit version)))
(sha256
- (base32 "0wplhjadk530fqxhfnizil32rcvkcl5m2r18yskspcib53r4pmim"))
+ (base32 "0fkabv05j5dj10mfrpjyvv7lnxl9qaqkbjhwj72r18i9i4019vgh"))
(file-name (git-file-name name version))))
(build-system gnu-build-system)
(arguments
diff --git a/gnu/services/desktop.scm b/gnu/services/desktop.scm
index 0152e86e8a..b40622a637 100644
--- a/gnu/services/desktop.scm
+++ b/gnu/services/desktop.scm
@@ -135,6 +135,12 @@
inputattach-configuration?
inputattach-service-type
+ polkit-wheel-service
+
+ gnome-keyring-configuration
+ gnome-keyring-configuration?
+ gnome-keyring-service-type
+
%desktop-services))
;;; Commentary:
@@ -1066,6 +1072,74 @@ dispatches events from it.")))
;;;
+;;; gnome-keyring-service-type
+;;;
+
+(define-record-type* <gnome-keyring-configuration> gnome-keyring-configuration
+ make-gnome-keyring-configuration
+ gnome-keyring-configuration?
+ (keyring gnome-keyring-package (default gnome-keyring))
+ (pam-services gnome-keyring-pam-services (default '(("gdm-password" . login)
+ ("passwd" . passwd)))))
+
+(define (pam-gnome-keyring config)
+ (define (%pam-keyring-entry . arguments)
+ (pam-entry
+ (control "optional")
+ (module (file-append (gnome-keyring-package config)
+ "/lib/security/pam_gnome_keyring.so"))
+ (arguments arguments)))
+
+ (list
+ (lambda (service)
+ (case (assoc-ref (gnome-keyring-pam-services config)
+ (pam-service-name service))
+ ((login)
+ (pam-service
+ (inherit service)
+ (auth (append (pam-service-auth service)
+ (list (%pam-keyring-entry))))
+ (session (append (pam-service-session service)
+ (list (%pam-keyring-entry "auto_start"))))))
+ ((passwd)
+ (pam-service
+ (inherit service)
+ (password (append (pam-service-password service)
+ (list (%pam-keyring-entry))))))
+ (else service)))))
+
+(define gnome-keyring-service-type
+ (service-type
+ (name 'gnome-keyring)
+ (extensions (list
+ (service-extension pam-root-service-type pam-gnome-keyring)))
+ (default-value (gnome-keyring-configuration))
+ (description "Return a service, that adds the @code{gnome-keyring} package
+to the system profile and extends PAM with entries using
+@code{pam_gnome_keyring.so}, unlocking a user's login keyring when they log in
+or setting its password with passwd.")))
+
+
+;;;
+;;; polkit-wheel-service -- Allow wheel group to perform admin actions
+;;;
+
+(define polkit-wheel
+ (file-union
+ "polkit-wheel"
+ `(("share/polkit-1/rules.d/wheel.rules"
+ ,(plain-file
+ "wheel.rules"
+ "polkit.addAdminRule(function(action, subject) {
+ return [\"unix-group:wheel\"];
+});
+")))))
+
+(define polkit-wheel-service
+ (simple-service 'polkit-wheel polkit-service-type (list polkit-wheel)))
+
+
+;;;
;;; The default set of desktop services.
;;;
@@ -1080,6 +1154,9 @@ dispatches events from it.")))
;; Add udev rules for MTP devices so that non-root users can access
;; them.
(simple-service 'mtp udev-service-type (list libmtp))
+ ;; Add polkit rules, so that non-root users in the wheel group can
+ ;; perform administrative tasks (similar to "sudo").
+ polkit-wheel-service
;; NetworkManager and its applet.
(service network-manager-service-type)
diff --git a/gnu/services/ssh.scm b/gnu/services/ssh.scm
index d026c3115e..d2dbb8f80d 100644
--- a/gnu/services/ssh.scm
+++ b/gnu/services/ssh.scm
@@ -173,7 +173,7 @@
(list (shepherd-service
(documentation "GNU lsh SSH server")
- (provision '(ssh-daemon))
+ (provision '(ssh-daemon ssh sshd))
(requirement requires)
(start #~(make-forkexec-constructor (list #$@lsh-command)))
(stop #~(make-kill-destructor)))))
@@ -497,7 +497,7 @@ of user-name/file-like tuples."
(list (shepherd-service
(documentation "OpenSSH server.")
(requirement '(syslogd loopback))
- (provision '(ssh-daemon))
+ (provision '(ssh-daemon ssh sshd))
(start #~(make-forkexec-constructor #$openssh-command
#:pid-file #$pid-file))
(stop #~(make-kill-destructor))
@@ -606,7 +606,7 @@ of user-name/file-like tuples."
(list (shepherd-service
(documentation "Dropbear SSH server.")
(requirement requires)
- (provision '(ssh-daemon))
+ (provision '(ssh-daemon ssh sshd))
(start #~(make-forkexec-constructor #$dropbear-command
#:pid-file #$pid-file))
(stop #~(make-kill-destructor)))))
diff --git a/gnu/system.scm b/gnu/system.scm
index a353b1a5c8..96c2b5aad3 100644
--- a/gnu/system.scm
+++ b/gnu/system.scm
@@ -447,20 +447,21 @@ from the initrd."
"Return the list of swap services for OS."
(map swap-service (operating-system-swap-devices os)))
-(define* (system-linux-image-file-name #:optional (system (%current-system)))
+(define* (system-linux-image-file-name)
"Return the basename of the kernel image file for SYSTEM."
;; FIXME: Evaluate the conditional based on the actual current system.
- (cond
- ((string-prefix? "arm" (%current-system)) "zImage")
- ((string-prefix? "mips" (%current-system)) "vmlinuz")
- ((string-prefix? "aarch64" (%current-system)) "Image")
- (else "bzImage")))
+ (let ((target (or (%current-target-system) (%current-system))))
+ (cond
+ ((string-prefix? "arm" target) "zImage")
+ ((string-prefix? "mips" target) "vmlinuz")
+ ((string-prefix? "aarch64" target) "Image")
+ (else "bzImage"))))
(define (operating-system-kernel-file os)
"Return an object representing the absolute file name of the kernel image of
OS."
(file-append (operating-system-kernel os)
- "/" (system-linux-image-file-name os)))
+ "/" (system-linux-image-file-name)))
(define* (operating-system-directory-base-entries os)
"Return the basic entries of the 'system' directory of OS for use as the
diff --git a/gnu/system/install.scm b/gnu/system/install.scm
index bdf114c180..4d1612ac7f 100644
--- a/gnu/system/install.scm
+++ b/gnu/system/install.scm
@@ -242,9 +242,6 @@ the user's target storage device rather than on the RAM disk."
(define (/etc/configuration-files _)
"Return a list of tuples representing configuration templates to add to
/etc."
- (define (file f)
- (local-file (string-append "examples/" f)))
-
(define directory
(computed-file "configuration-templates"
(with-imported-modules '((guix build utils))
@@ -254,10 +251,10 @@ the user's target storage device rather than on the RAM disk."
(copy-file file
(string-append #$output "/"
target)))
- '(#$(file "bare-bones.tmpl")
- #$(file "beaglebone-black.tmpl")
- #$(file "desktop.tmpl")
- #$(file "lightweight-desktop.tmpl"))
+ '(#$(local-file "examples/bare-bones.tmpl")
+ #$(local-file "examples/beaglebone-black.tmpl")
+ #$(local-file "examples/desktop.tmpl")
+ #$(local-file "examples/lightweight-desktop.tmpl"))
'("bare-bones.scm"
"beaglebone-black.scm"
"desktop.scm"
diff --git a/gnu/system/vm.scm b/gnu/system/vm.scm
index 9d4ed10ce5..8609bd2ace 100644
--- a/gnu/system/vm.scm
+++ b/gnu/system/vm.scm
@@ -143,7 +143,7 @@
(define* (expression->derivation-in-linux-vm name exp
#:key
- (system (%current-system))
+ (system (%current-system)) target
(linux linux-libre)
initrd
(qemu qemu-minimal)
@@ -214,7 +214,8 @@ made available under the /xchg CIFS share."
(use-modules (guix build utils)
(gnu build vm))
- (let* ((inputs '#$(list qemu (canonical-package coreutils)))
+ (let* ((native-inputs
+ '#+(list qemu (canonical-package coreutils)))
(linux (string-append #$linux "/"
#$(system-linux-image-file-name)))
(initrd #$initrd)
@@ -222,16 +223,18 @@ made available under the /xchg CIFS share."
(graphs '#$(match references-graphs
(((graph-files . _) ...) graph-files)
(_ #f)))
+ (target #$(or (%current-target-system) (%current-system)))
(size #$(if (eq? 'guess disk-image-size)
#~(+ (* 70 (expt 2 20)) ;ESP
(estimated-partition-size graphs))
disk-image-size)))
- (set-path-environment-variable "PATH" '("bin") inputs)
+ (set-path-environment-variable "PATH" '("bin") native-inputs)
(load-in-linux-vm loader
#:output #$output
#:linux linux #:initrd initrd
+ #:qemu (qemu-command target)
#:memory-size #$memory-size
#:make-disk-image? #$make-disk-image?
#:single-file-output? #$single-file-output?
@@ -248,6 +251,7 @@ made available under the /xchg CIFS share."
(gexp->derivation name builder
;; TODO: Require the "kvm" feature.
#:system system
+ #:target target
#:env-vars env-vars
#:guile-for-build guile-for-build
#:references-graphs references-graphs)))
@@ -263,6 +267,7 @@ made available under the /xchg CIFS share."
file-system-label
file-system-uuid
(system (%current-system))
+ (target (%current-target-system))
(qemu qemu-minimal)
os
bootcfg-drv
@@ -299,7 +304,7 @@ INPUTS is a list of inputs (as for packages)."
(setlocale LC_ALL "en_US.utf8")
(let ((inputs
- '#$(append (list qemu parted e2fsprogs dosfstools xorriso)
+ '#$(append (list parted e2fsprogs dosfstools xorriso)
(map canonical-package
(list sed grep coreutils findutils gawk))))
@@ -328,6 +333,7 @@ INPUTS is a list of inputs (as for packages)."
#:volume-uuid #$(and=> file-system-uuid
uuid-bytevector))))))
#:system system
+ #:target target
;; Keep a local file system for /tmp so that we can populate it directly as
;; root and have files owned by root. See <https://bugs.gnu.org/31752>.
@@ -346,6 +352,7 @@ INPUTS is a list of inputs (as for packages)."
(define* (qemu-image #:key
(name "qemu-image")
(system (%current-system))
+ (target (%current-target-system))
(qemu qemu-minimal)
(disk-image-size 'guess)
(disk-image-format "qcow2")
@@ -404,7 +411,7 @@ system."
(setlocale LC_ALL "en_US.utf8")
(let ((inputs
- '#$(append (list qemu parted e2fsprogs dosfstools)
+ '#$(append (list parted e2fsprogs dosfstools)
(map canonical-package
(list sed grep coreutils findutils gawk))))
@@ -481,6 +488,7 @@ system."
#:bootloader-installer
#$(bootloader-installer bootloader)))))))
#:system system
+ #:target target
#:make-disk-image? #t
#:disk-image-size disk-image-size
#:disk-image-format disk-image-format
diff --git a/guix/build-system/linux-module.scm b/guix/build-system/linux-module.scm
index 6084d22210..dde2423434 100644
--- a/guix/build-system/linux-module.scm
+++ b/guix/build-system/linux-module.scm
@@ -1,5 +1,6 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2019 Danny Milosavljevic <dannym@scratchpost.org>
+;;; Copyright © 2019 Tobias Geerinckx-Rice <me@tobias.gr>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -120,6 +121,7 @@
(define* (linux-module-build store name inputs
#:key
(search-paths '())
+ (make-flags '())
(tests? #t)
(phases '(@ (guix build linux-module-build-system)
%standard-phases))
@@ -146,6 +148,7 @@
search-paths)
#:phases ,phases
#:system ,system
+ #:make-flags ,make-flags
#:tests? ,tests?
#:outputs %outputs
#:inputs %build-inputs)))
diff --git a/guix/build-system/qt.scm b/guix/build-system/qt.scm
new file mode 100644
index 0000000000..b776845377
--- /dev/null
+++ b/guix/build-system/qt.scm
@@ -0,0 +1,295 @@
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2013, 2014, 2015 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2013 Cyril Roelandt <tipecaml@gmail.com>
+;;; Copyright © 2017 Ricardo Wurmus <rekado@elephly.net>
+;;; Copyright © 2019 Hartmut Goebel <h.goebel@crazy-compilers.com>
+;;;
+;;; This file is part of GNU Guix.
+;;;
+;;; GNU Guix is free software; you can redistribute it and/or modify it
+;;; under the terms of the GNU General Public License as published by
+;;; the Free Software Foundation; either version 3 of the License, or (at
+;;; your option) any later version.
+;;;
+;;; GNU Guix is distributed in the hope that it will be useful, but
+;;; WITHOUT ANY WARRANTY; without even the implied warranty of
+;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+;;; GNU General Public License for more details.
+;;;
+;;; You should have received a copy of the GNU General Public License
+;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
+
+(define-module (guix build-system qt)
+ #:use-module (guix store)
+ #:use-module (guix utils)
+ #:use-module (guix derivations)
+ #:use-module (guix search-paths)
+ #:use-module (guix build-system)
+ #:use-module (guix build-system cmake)
+ #:use-module (guix build-system gnu)
+ #:use-module (guix packages)
+ #:use-module (ice-9 match)
+ #:export (%qt-build-system-modules
+ qt-build
+ qt-build-system))
+
+;; Commentary:
+;;
+;; This build system is an extension of the 'cmake-build-system'. It
+;; accommodates the needs of Qt and KDE applications by adding a phase run
+;; after the 'install' phase:
+;;
+;; 'qt-wrap' phase:
+;;
+;; This phase looks for Qt5 plugin paths, QML paths and some XDG paths as well
+;; as the corresponding environment variables. If any of these is found in
+;; the output or if respective environment variables are set, then all
+;; programs in the output's "bin", "sbin", "libexec and "lib/libexec"
+;; directories are wrapped in scripts defining the necessary environment
+;; variables.
+;;
+;; Code:
+
+(define %qt-build-system-modules
+ ;; Build-side modules imported and used by default.
+ `((guix build qt-build-system)
+ ,@%cmake-build-system-modules))
+
+(define (default-cmake)
+ "Return the default CMake package."
+
+ ;; Do not use `@' to avoid introducing circular dependencies.
+ (let ((module (resolve-interface '(gnu packages cmake))))
+ (module-ref module 'cmake-minimal)))
+
+;; This barely is a copy from (guix build-system cmake), only adjusted to use
+;; the variables defined here.
+(define* (lower name
+ #:key source inputs native-inputs outputs system target
+ (cmake (default-cmake))
+ #:allow-other-keys
+ #:rest arguments)
+ "Return a bag for NAME."
+ (define private-keywords
+ `(#:source #:cmake #:inputs #:native-inputs #:outputs
+ ,@(if target '() '(#:target))))
+
+ (bag
+ (name name)
+ (system system)
+ (target target)
+ (build-inputs `(,@(if source
+ `(("source" ,source))
+ '())
+ ,@`(("cmake" ,cmake))
+ ,@native-inputs
+ ,@(if target
+ ;; Use the standard cross inputs of
+ ;; 'gnu-build-system'.
+ (standard-cross-packages target 'host)
+ '())
+ ;; Keep the standard inputs of 'gnu-build-system'.
+ ,@(standard-packages)))
+ (host-inputs inputs)
+
+ ;; The cross-libc is really a target package, but for bootstrapping
+ ;; reasons, we can't put it in 'host-inputs'. Namely, 'cross-gcc' is a
+ ;; native package, so it would end up using a "native" variant of
+ ;; 'cross-libc' (built with 'gnu-build'), whereas all the other packages
+ ;; would use a target variant (built with 'gnu-cross-build'.)
+ (target-inputs (if target
+ (standard-cross-packages target 'target)
+ '()))
+ (outputs outputs)
+ (build (if target qt-cross-build qt-build))
+ (arguments (strip-keyword-arguments private-keywords arguments))))
+
+
+(define* (qt-build store name inputs
+ #:key (guile #f)
+ (outputs '("out")) (configure-flags ''())
+ (search-paths '())
+ (make-flags ''())
+ (out-of-source? #t)
+ (build-type "RelWithDebInfo")
+ (tests? #t)
+ (test-target "test")
+ (parallel-build? #t) (parallel-tests? #f)
+ (validate-runpath? #t)
+ (patch-shebangs? #t)
+ (strip-binaries? #t)
+ (strip-flags ''("--strip-debug"))
+ (strip-directories ''("lib" "lib64" "libexec"
+ "bin" "sbin"))
+ (phases '(@ (guix build qt-build-system)
+ %standard-phases))
+ (qt-wrap-excluded-outputs ''())
+ (system (%current-system))
+ (imported-modules %qt-build-system-modules)
+ (modules '((guix build cmake-build-system)
+ (guix build utils))))
+ "Build SOURCE using CMAKE, and with INPUTS. This assumes that SOURCE
+provides a 'CMakeLists.txt' file as its build system."
+ (define builder
+ `(begin
+ (use-modules ,@modules)
+ (cmake-build #:source ,(match (assoc-ref inputs "source")
+ (((? derivation? source))
+ (derivation->output-path source))
+ ((source)
+ source)
+ (source
+ source))
+ #:system ,system
+ #:outputs %outputs
+ #:inputs %build-inputs
+ #:search-paths ',(map search-path-specification->sexp
+ search-paths)
+ #:phases ,phases
+ #:qt-wrap-excluded-outputs ,qt-wrap-excluded-outputs
+ #:configure-flags ,configure-flags
+ #:make-flags ,make-flags
+ #:out-of-source? ,out-of-source?
+ #:build-type ,build-type
+ #:tests? ,tests?
+ #:test-target ,test-target
+ #:parallel-build? ,parallel-build?
+ #:parallel-tests? ,parallel-tests?
+ #:validate-runpath? ,validate-runpath?
+ #:patch-shebangs? ,patch-shebangs?
+ #:strip-binaries? ,strip-binaries?
+ #:strip-flags ,strip-flags
+ #:strip-directories ,strip-directories)))
+
+ (define guile-for-build
+ (match guile
+ ((? package?)
+ (package-derivation store guile system #:graft? #f))
+ (#f ; the default
+ (let* ((distro (resolve-interface '(gnu packages commencement)))
+ (guile (module-ref distro 'guile-final)))
+ (package-derivation store guile system #:graft? #f)))))
+
+ (build-expression->derivation store name builder
+ #:system system
+ #:inputs inputs
+ #:modules imported-modules
+ #:outputs outputs
+ #:guile-for-build guile-for-build))
+
+
+;;;
+;;; Cross-compilation.
+;;;
+
+(define* (qt-cross-build store name
+ #:key
+ target native-drvs target-drvs
+ (guile #f)
+ (outputs '("out"))
+ (configure-flags ''())
+ (search-paths '())
+ (native-search-paths '())
+ (make-flags ''())
+ (out-of-source? #t)
+ (build-type "RelWithDebInfo")
+ (tests? #f) ; nothing can be done
+ (test-target "test")
+ (parallel-build? #t) (parallel-tests? #f)
+ (validate-runpath? #t)
+ (patch-shebangs? #t)
+ (strip-binaries? #t)
+ (strip-flags ''("--strip-debug"
+ "--enable-deterministic-archives"))
+ (strip-directories ''("lib" "lib64" "libexec"
+ "bin" "sbin"))
+ (phases '(@ (guix build qt-build-system)
+ %standard-phases))
+ (system (%current-system))
+ (build (nix-system->gnu-triplet system))
+ (imported-modules %qt-build-system-modules)
+ (modules '((guix build cmake-build-system)
+ (guix build utils))))
+ "Cross-build NAME using CMAKE for TARGET, where TARGET is a GNU triplet and
+with INPUTS. This assumes that SOURCE provides a 'CMakeLists.txt' file as its
+build system."
+ (define builder
+ `(begin
+ (use-modules ,@modules)
+ (let ()
+ (define %build-host-inputs
+ ',(map (match-lambda
+ ((name (? derivation? drv) sub ...)
+ `(,name . ,(apply derivation->output-path drv sub)))
+ ((name path)
+ `(,name . ,path)))
+ native-drvs))
+
+ (define %build-target-inputs
+ ',(map (match-lambda
+ ((name (? derivation? drv) sub ...)
+ `(,name . ,(apply derivation->output-path drv sub)))
+ ((name (? package? pkg) sub ...)
+ (let ((drv (package-cross-derivation store pkg
+ target system)))
+ `(,name . ,(apply derivation->output-path drv sub))))
+ ((name path)
+ `(,name . ,path)))
+ target-drvs))
+
+ (cmake-build #:source ,(match (assoc-ref native-drvs "source")
+ (((? derivation? source))
+ (derivation->output-path source))
+ ((source)
+ source)
+ (source
+ source))
+ #:system ,system
+ #:build ,build
+ #:target ,target
+ #:outputs %outputs
+ #:inputs %build-target-inputs
+ #:native-inputs %build-host-inputs
+ #:search-paths ',(map search-path-specification->sexp
+ search-paths)
+ #:native-search-paths ',(map
+ search-path-specification->sexp
+ native-search-paths)
+ #:phases ,phases
+ #:configure-flags ,configure-flags
+ #:make-flags ,make-flags
+ #:out-of-source? ,out-of-source?
+ #:build-type ,build-type
+ #:tests? ,tests?
+ #:test-target ,test-target
+ #:parallel-build? ,parallel-build?
+ #:parallel-tests? ,parallel-tests?
+ #:validate-runpath? ,validate-runpath?
+ #:patch-shebangs? ,patch-shebangs?
+ #:strip-binaries? ,strip-binaries?
+ #:strip-flags ,strip-flags
+ #:strip-directories ,strip-directories))))
+
+ (define guile-for-build
+ (match guile
+ ((? package?)
+ (package-derivation store guile system #:graft? #f))
+ (#f ; the default
+ (let* ((distro (resolve-interface '(gnu packages commencement)))
+ (guile (module-ref distro 'guile-final)))
+ (package-derivation store guile system #:graft? #f)))))
+
+ (build-expression->derivation store name builder
+ #:system system
+ #:inputs (append native-drvs target-drvs)
+ #:outputs outputs
+ #:modules imported-modules
+ #:guile-for-build guile-for-build))
+
+(define qt-build-system
+ (build-system
+ (name 'qt)
+ (description
+ "The CMake build system augmented with definition of suitable environment
+variables for Qt and KDE in program wrappers.")
+ (lower lower)))
diff --git a/guix/build/emacs-build-system.scm b/guix/build/emacs-build-system.scm
index f0c41812f1..e2b792d3dc 100644
--- a/guix/build/emacs-build-system.scm
+++ b/guix/build/emacs-build-system.scm
@@ -40,11 +40,10 @@
;;
;; Code:
-;; Directory suffix where we install ELPA packages. We avoid ".../elpa" as
-;; Emacs expects to find the ELPA repository 'archive-contents' file and the
-;; archive signature.
-(define %legacy-install-suffix "/share/emacs/site-lisp")
-(define %install-suffix (string-append %legacy-install-suffix "/guix.d"))
+;;; All the packages are installed directly under site-lisp, which means that
+;;; having that directory in the EMACSLOADPATH is enough to have them found by
+;;; Emacs.
+(define %install-dir "/share/emacs/site-lisp")
;; These are the default inclusion/exclusion regexps for the install phase.
(define %default-include '("^[^/]*\\.el$" "^[^/]*\\.info$" "^doc/.*\\.info$"))
@@ -87,11 +86,10 @@ environment variable\n" source-directory)))
"Compile .el files."
(let* ((emacs (string-append (assoc-ref inputs "emacs") "/bin/emacs"))
(out (assoc-ref outputs "out"))
- (elpa-name-ver (store-directory->elpa-name-version out))
- (el-dir (string-append out %install-suffix "/" elpa-name-ver)))
+ (site-lisp (string-append out %install-dir)))
(setenv "SHELL" "sh")
(parameterize ((%emacs emacs))
- (emacs-byte-compile-directory el-dir))))
+ (emacs-byte-compile-directory site-lisp))))
(define* (patch-el-files #:key outputs #:allow-other-keys)
"Substitute the absolute \"/bin/\" directory with the right location in the
@@ -108,9 +106,7 @@ store in '.el' files."
#:binary #t))
(let* ((out (assoc-ref outputs "out"))
- (elpa-name-ver (store-directory->elpa-name-version out))
- (el-dir (string-append out %install-suffix "/" elpa-name-ver))
-
+ (site-lisp (string-append out %install-dir))
;; (ice-9 regex) uses libc's regexp routines, which cannot deal with
;; strings containing NULs. Filter out such files. TODO: Remove
;; this workaround when <https://bugs.gnu.org/30116> is fixed.
@@ -124,7 +120,7 @@ store in '.el' files."
(error "patch-el-files: unable to locate " cmd-name))
(string-append "\"" cmd "\"")))))
- (with-directory-excursion el-dir
+ (with-directory-excursion site-lisp
;; Some old '.el' files (e.g., tex-buf.el in AUCTeX) are still
;; ISO-8859-1-encoded.
(unless (false-if-exception (substitute-program-names))
@@ -175,15 +171,14 @@ parallel. PARALLEL-TESTS? is ignored when using a non-make TEST-COMMAND."
(not (any (cut match-stripped-file "excluded" <>) exclude)))))
(let* ((out (assoc-ref outputs "out"))
- (elpa-name-ver (store-directory->elpa-name-version out))
- (target-directory (string-append out %install-suffix "/" elpa-name-ver))
+ (site-lisp (string-append out %install-dir))
(files-to-install (find-files source install-file?)))
(cond
((not (null? files-to-install))
(for-each
(lambda (file)
(let* ((stripped-file (string-drop file (string-length source)))
- (target-file (string-append target-directory stripped-file)))
+ (target-file (string-append site-lisp stripped-file)))
(format #t "`~a' -> `~a'~%" file target-file)
(install-file file (dirname target-file))))
files-to-install)
@@ -197,14 +192,12 @@ parallel. PARALLEL-TESTS? is ignored when using a non-make TEST-COMMAND."
(define* (move-doc #:key outputs #:allow-other-keys)
"Move info files from the ELPA package directory to the info directory."
(let* ((out (assoc-ref outputs "out"))
- (elpa-name-ver (store-directory->elpa-name-version out))
- (el-dir (string-append out %install-suffix "/" elpa-name-ver))
- (name-ver (strip-store-file-name out))
+ (site-lisp (string-append out %install-dir))
(info-dir (string-append out "/share/info/"))
- (info-files (find-files el-dir "\\.info$")))
+ (info-files (find-files site-lisp "\\.info$")))
(unless (null? info-files)
(mkdir-p info-dir)
- (with-directory-excursion el-dir
+ (with-directory-excursion site-lisp
(when (file-exists? "dir") (delete-file "dir"))
(for-each (lambda (f)
(copy-file f (string-append info-dir "/" (basename f)))
@@ -216,11 +209,11 @@ parallel. PARALLEL-TESTS? is ignored when using a non-make TEST-COMMAND."
"Generate the autoloads file."
(let* ((emacs (string-append (assoc-ref inputs "emacs") "/bin/emacs"))
(out (assoc-ref outputs "out"))
+ (site-lisp (string-append out %install-dir))
(elpa-name-ver (store-directory->elpa-name-version out))
- (elpa-name (package-name->name+version elpa-name-ver))
- (el-dir (string-append out %install-suffix "/" elpa-name-ver)))
+ (elpa-name (package-name->name+version elpa-name-ver)))
(parameterize ((%emacs emacs))
- (emacs-generate-autoloads elpa-name el-dir))))
+ (emacs-generate-autoloads elpa-name site-lisp))))
(define (emacs-package? name)
"Check if NAME correspond to the name of an Emacs package."
diff --git a/guix/build/qt-build-system.scm b/guix/build/qt-build-system.scm
new file mode 100644
index 0000000000..46fcad7848
--- /dev/null
+++ b/guix/build/qt-build-system.scm
@@ -0,0 +1,109 @@
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2014 Federico Beffa <beffa@fbengineering.ch>
+;;; Copyright © 2014, 2015 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2018 Mark H Weaver <mhw@netris.org>
+;;; Copyright © 2019 Hartmut Goebel <h.goebel@crazy-compilers.com>
+;;;
+;;; This file is part of GNU Guix.
+;;;
+;;; GNU Guix is free software; you can redistribute it and/or modify it
+;;; under the terms of the GNU General Public License as published by
+;;; the Free Software Foundation; either version 3 of the License, or (at
+;;; your option) any later version.
+;;;
+;;; GNU Guix is distributed in the hope that it will be useful, but
+;;; WITHOUT ANY WARRANTY; without even the implied warranty of
+;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+;;; GNU General Public License for more details.
+;;;
+;;; You should have received a copy of the GNU General Public License
+;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
+
+(define-module (guix build qt-build-system)
+ #:use-module ((guix build cmake-build-system) #:prefix cmake:)
+ #:use-module (guix build utils)
+ #:use-module (ice-9 match)
+ #:use-module (ice-9 regex)
+ #:use-module (ice-9 ftw)
+ #:use-module (srfi srfi-1)
+ #:use-module (srfi srfi-26)
+ #:export (%standard-phases
+ qt-build))
+
+;; Commentary:
+;;
+;; Builder-side code of the standard Qt build procedure.
+;;
+;; Code:
+
+(define (variables-for-wrapping base-directories)
+
+ (define (collect-sub-dirs base-directories subdirectory)
+ (filter-map
+ (lambda (dir)
+ (let ((directory (string-append dir subdirectory)))
+ (if (directory-exists? directory) directory #f)))
+ base-directories))
+
+ (filter
+ (lambda (var-to-wrap) (not (null? (last var-to-wrap))))
+ (map
+ (lambda (var-spec)
+ `(,(first var-spec) = ,(collect-sub-dirs base-directories (last var-spec))))
+ (list
+ ;; these shall match the search-path-specification for Qt and KDE
+ ;; libraries
+ '("XDG_DATA_DIRS" "/share")
+ '("XDG_CONFIG_DIRS" "/etc/xdg")
+ '("QT_PLUGIN_PATH" "/lib/qt5/plugins")
+ '("QML2_IMPORT_PATH" "/lib/qt5/qml")))))
+
+(define* (wrap-all-programs #:key inputs outputs
+ (qt-wrap-excluded-outputs '())
+ #:allow-other-keys)
+ "Implement phase \"qt-wrap\": look for GSettings schemas and
+gtk+-v.0 libraries and create wrappers with suitably set environment variables
+if found.
+
+Wrapping is not applied to outputs whose name is listed in
+QT-WRAP-EXCLUDED-OUTPUTS. This is useful when an output is known not
+to contain any Qt binaries, and where wrapping would gratuitously
+add a dependency of that output on Qt."
+ (define (find-files-to-wrap directory)
+ (append-map
+ (lambda (dir)
+ (if (directory-exists? dir) (find-files dir ".*") (list)))
+ (list (string-append directory "/bin")
+ (string-append directory "/sbin")
+ (string-append directory "/libexec")
+ (string-append directory "/lib/libexec"))))
+
+ (define input-directories
+ ;; FIXME: Filter out unwanted inputs, e.g. cmake
+ (match inputs
+ (((_ . dir) ...)
+ dir)))
+
+ (define handle-output
+ (match-lambda
+ ((output . directory)
+ (unless (member output qt-wrap-excluded-outputs)
+ (let ((bin-list (find-files-to-wrap directory))
+ (vars-to-wrap (variables-for-wrapping
+ (append (list output)
+ input-directories))))
+ (when (not (null? vars-to-wrap))
+ (for-each (cut apply wrap-program <> vars-to-wrap)
+ bin-list)))))))
+
+ (for-each handle-output outputs)
+ #t)
+
+(define %standard-phases
+ (modify-phases cmake:%standard-phases
+ (add-after 'install 'qt-wrap wrap-all-programs)))
+
+(define* (qt-build #:key inputs (phases %standard-phases)
+ #:allow-other-keys #:rest args)
+ "Build the given package, applying all of PHASES in order."
+ (apply cmake:cmake-build #:inputs inputs #:phases phases args))
diff --git a/guix/build/syscalls.scm b/guix/build/syscalls.scm
index a5a9c92a42..ce7999b433 100644
--- a/guix/build/syscalls.scm
+++ b/guix/build/syscalls.scm
@@ -1127,7 +1127,9 @@ exception if it's already taken."
(lambda (key . args)
(match key
('flock-error
- (handler args))
+ (apply handler args)
+ ;; No open port to the lock, so return #f.
+ #f)
('system-error
;; When using the statically-linked Guile in the initrd,
;; 'fcntl-flock' returns ENOSYS unconditionally. Ignore
diff --git a/guix/gexp.scm b/guix/gexp.scm
index b640c079e4..a96592ac76 100644
--- a/guix/gexp.scm
+++ b/guix/gexp.scm
@@ -320,9 +320,16 @@ It is implemented as a macro to capture the current source directory where it
appears."
(syntax-case s ()
((_ file rest ...)
+ (string? (syntax->datum #'file))
+ ;; FILE is a literal, so resolve it relative to the source directory.
#'(%local-file file
(delay (absolute-file-name file (current-source-directory)))
rest ...))
+ ((_ file rest ...)
+ ;; Resolve FILE relative to the current directory.
+ #'(%local-file file
+ (delay (absolute-file-name file (getcwd)))
+ rest ...))
((_)
#'(syntax-error "missing file name"))
(id
diff --git a/guix/import/opam.scm b/guix/import/opam.scm
index 7f089a5cf3..e258c4197f 100644
--- a/guix/import/opam.scm
+++ b/guix/import/opam.scm
@@ -49,7 +49,7 @@
(define-peg-pattern COLON none ":")
;; A string character is any character that is not a quote, or a quote preceded by a backslash.
(define-peg-pattern STRCHR body
- (or " " "!" (and (ignore "\\") "\"")
+ (or " " "!" "\n" (and (ignore "\\") "\"")
(and (ignore "\\") "\\") (range #\# #\頋)))
(define-peg-pattern operator all (or "=" "!" "<" ">"))
@@ -249,10 +249,7 @@ path to the repository."
(url-dict (metadata-ref opam-content "url"))
(source-url (metadata-ref url-dict "src"))
(requirements (metadata-ref opam-content "depends"))
- (dependencies (filter
- (lambda (name)
- (not (member name '("dune" "jbuilder"))))
- (dependency-list->names requirements)))
+ (dependencies (dependency-list->names requirements))
(native-dependencies (depends->native-inputs requirements))
(inputs (dependency-list->inputs (depends->inputs requirements)))
(native-inputs (dependency-list->inputs
@@ -264,8 +261,8 @@ path to the repository."
native-dependencies))))
;; If one of these are required at build time, it means we
;; can use the much nicer dune-build-system.
- (let ((use-dune? (or (member "dune" native-dependencies)
- (member "jbuilder" native-dependencies))))
+ (let ((use-dune? (or (member "dune" (append dependencies native-dependencies))
+ (member "jbuilder" (append dependencies native-dependencies)))))
(call-with-temporary-output-file
(lambda (temp port)
(and (url-fetch source-url temp)
@@ -297,7 +294,10 @@ path to the repository."
(synopsis ,(metadata-ref opam-content "synopsis"))
(description ,(metadata-ref opam-content "description"))
(license #f))
- dependencies)))))))
+ (filter
+ (lambda (name)
+ (not (member name '("dune" "jbuilder"))))
+ dependencies))))))))
(define (opam-recursive-import package-name)
(recursive-import package-name #f
diff --git a/guix/lint.scm b/guix/lint.scm
index 629604e0e9..cd2ea571ed 100644
--- a/guix/lint.scm
+++ b/guix/lint.scm
@@ -1122,7 +1122,10 @@ Heritage")
((key . args)
(if (eq? key skip-key)
'()
- (apply throw key args)))))))
+ (with-networking-fail-safe
+ (G_ "while connecting to Software Heritage")
+ '()
+ (apply throw key args))))))))
;;;
diff --git a/guix/scripts/offload.scm b/guix/scripts/offload.scm
index 18473684eb..e81b6c25f2 100644
--- a/guix/scripts/offload.scm
+++ b/guix/scripts/offload.scm
@@ -149,19 +149,6 @@ ignoring it~%")
(leave (G_ "failed to load machine file '~a': ~s~%")
file args))))))
-(define (host-key->type+key host-key)
- "Destructure HOST-KEY, an OpenSSH host key string, and return two values:
-its key type as a symbol, and the actual base64-encoded string."
- (define (type->symbol type)
- (and (string-prefix? "ssh-" type)
- (string->symbol (string-drop type 4))))
-
- (match (string-tokenize host-key)
- ((type key x)
- (values (type->symbol type) key))
- ((type key)
- (values (type->symbol type) key))))
-
(define (private-key-from-file* file)
"Like 'private-key-from-file', but raise an error that 'with-error-handling'
can interpret meaningfully."
@@ -203,21 +190,8 @@ private key from '~a': ~a")
(build-machine-compression-level machine))))
(match (connect! session)
('ok
- ;; Authenticate the server. XXX: Guile-SSH 0.10.1 doesn't know about
- ;; ed25519 keys and 'get-key-type' returns #f in that case.
- (let-values (((server) (get-server-public-key session))
- ((type key) (host-key->type+key
- (build-machine-host-key machine))))
- (unless (and (or (not (get-key-type server))
- (eq? (get-key-type server) type))
- (string=? (public-key->string server) key))
- ;; Key mismatch: something's wrong. XXX: It could be that the server
- ;; provided its Ed25519 key when we where expecting its RSA key.
- (leave (G_ "server at '~a' returned host key '~a' of type '~a' \
-instead of '~a' of type '~a'~%")
- (build-machine-name machine)
- (public-key->string server) (get-key-type server)
- key type)))
+ ;; Make sure the server's key is what we expect.
+ (authenticate-server* session (build-machine-host-key machine))
(let ((auth (userauth-public-key! session private)))
(unless (eq? 'success auth)
diff --git a/guix/scripts/package.scm b/guix/scripts/package.scm
index 97436feee7..92c6e34194 100644
--- a/guix/scripts/package.scm
+++ b/guix/scripts/package.scm
@@ -866,11 +866,7 @@ processed, #f otherwise."
;; First, acquire a lock on the profile, to ensure only one guix process
;; is modifying it at a time.
- (with-file-lock/no-wait (string-append profile ".lock")
- (lambda (key . args)
- (leave (G_ "profile ~a is locked by another process~%")
- profile))
-
+ (with-profile-lock profile
;; Then, process roll-backs, generation removals, etc.
(for-each (match-lambda
((key . arg)
diff --git a/guix/scripts/pull.scm b/guix/scripts/pull.scm
index a74776bd7b..19410ad141 100644
--- a/guix/scripts/pull.scm
+++ b/guix/scripts/pull.scm
@@ -54,6 +54,7 @@
#:use-module (srfi srfi-34)
#:use-module (srfi srfi-35)
#:use-module (srfi srfi-37)
+ #:use-module (web uri)
#:use-module (ice-9 match)
#:use-module (ice-9 vlist)
#:use-module (ice-9 format)
@@ -184,6 +185,42 @@ Download and deploy the latest version of Guix.\n"))
%standard-build-options))
+(define %vcs-web-views
+ ;; Hard-coded list of host names and corresponding web view URL templates.
+ ;; TODO: Allow '.guix-channel' files to specify a URL template.
+ (let ((labhub-url (lambda (repository-url commit)
+ (string-append
+ (if (string-suffix? ".git" repository-url)
+ (string-drop-right repository-url 4)
+ repository-url)
+ "/commit/" commit))))
+ `(("git.savannah.gnu.org"
+ ,(lambda (repository-url commit)
+ (string-append (string-replace-substring repository-url
+ "/git/" "/cgit/")
+ "/commit/?id=" commit)))
+ ("notabug.org" ,labhub-url)
+ ("framagit.org" ,labhub-url)
+ ("gitlab.com" ,labhub-url)
+ ("gitlab.inria.fr" ,labhub-url)
+ ("github.com" ,labhub-url))))
+
+(define* (channel-commit-hyperlink channel
+ #:optional
+ (commit (channel-commit channel)))
+ "Return a hyperlink for COMMIT in CHANNEL, using COMMIT as the hyperlink's
+text. The hyperlink links to a web view of COMMIT, when available."
+ (let* ((url (channel-url channel))
+ (uri (string->uri url))
+ (host (and uri (uri-host uri))))
+ (if host
+ (match (assoc host %vcs-web-views)
+ (#f
+ commit)
+ ((_ template)
+ (hyperlink (template url commit) commit)))
+ commit)))
+
(define* (display-profile-news profile #:key concise?
current-is-newer?)
"Display what's up in PROFILE--new packages, and all that. If
@@ -247,15 +284,20 @@ purposes."
;; When Texinfo markup is invalid, display it as-is.
(const title)))))))
-(define (display-news-entry entry language port)
- "Display ENTRY, a <channel-news-entry>, in LANGUAGE, a language code, to
-PORT."
+(define (display-news-entry entry channel language port)
+ "Display ENTRY, a <channel-news-entry> from CHANNEL, in LANGUAGE, a language
+code, to PORT."
(define body
(channel-news-entry-body entry))
+ (define commit
+ (channel-news-entry-commit entry))
+
(display-news-entry-title entry language port)
(format port (dim (G_ " commit ~a~%"))
- (channel-news-entry-commit entry))
+ (if (supports-hyperlinks?)
+ (channel-commit-hyperlink channel commit)
+ commit))
(newline port)
(let ((body (or (assoc-ref body language)
(assoc-ref body (%default-message-language))
@@ -293,7 +335,7 @@ to display."
(channel-name channel))
(for-each (if concise?
(cut display-news-entry-title <> language port)
- (cut display-news-entry <> language port))
+ (cut display-news-entry <> channel language port))
entries)
(newline port)
#t))))))
@@ -528,10 +570,17 @@ way and displaying details about the channel's source code."
('branch branch)
('commit commit)
_ ...))
- (format #t (G_ " repository URL: ~a~%") url)
- (when branch
- (format #t (G_ " branch: ~a~%") branch))
- (format #t (G_ " commit: ~a~%") commit))
+ (let ((channel (channel (name 'nameless)
+ (url url)
+ (branch branch)
+ (commit commit))))
+ (format #t (G_ " repository URL: ~a~%") url)
+ (when branch
+ (format #t (G_ " branch: ~a~%") branch))
+ (format #t (G_ " commit: ~a~%")
+ (if (supports-hyperlinks?)
+ (channel-commit-hyperlink channel commit)
+ commit))))
(_ #f)))
;; Show most recently installed packages last.
@@ -817,11 +866,7 @@ Use '~/.config/guix/channels.scm' instead."))
(if (assoc-ref opts 'bootstrap?)
%bootstrap-guile
(canonical-package guile-2.2)))))
- (with-file-lock/no-wait (string-append profile ".lock")
- (lambda (key . args)
- (leave (G_ "profile ~a is locked by another process~%")
- profile))
-
+ (with-profile-lock profile
(run-with-store store
(build-and-install instances profile
#:dry-run?
diff --git a/guix/scripts/substitute.scm b/guix/scripts/substitute.scm
index 421561a4ea..b6034a75d2 100755
--- a/guix/scripts/substitute.scm
+++ b/guix/scripts/substitute.scm
@@ -322,22 +322,6 @@ must contain the original contents of a narinfo file."
(and=> signature narinfo-signature->canonical-sexp))
str)))
-(define* (assert-valid-signature narinfo signature hash
- #:optional (acl (current-acl)))
- "Bail out if SIGNATURE, a canonical sexp representing the signature of
-NARINFO, doesn't match HASH, a bytevector containing the hash of NARINFO."
- (let ((uri (uri->string (first (narinfo-uris narinfo)))))
- (signature-case (signature hash acl)
- (valid-signature #t)
- (invalid-signature
- (leave (G_ "invalid signature for '~a'~%") uri))
- (hash-mismatch
- (leave (G_ "hash mismatch for '~a'~%") uri))
- (unauthorized-key
- (leave (G_ "'~a' is signed with an unauthorized key~%") uri))
- (corrupt-signature
- (leave (G_ "signature on '~a' is corrupt~%") uri)))))
-
(define* (read-narinfo port #:optional url
#:key size)
"Read a narinfo from PORT. If URL is true, it must be a string used to
diff --git a/guix/scripts/system.scm b/guix/scripts/system.scm
index e49c9d36b9..5f0dce2093 100644
--- a/guix/scripts/system.scm
+++ b/guix/scripts/system.scm
@@ -2,7 +2,7 @@
;;; Copyright © 2014, 2015, 2016, 2017, 2018, 2019 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2016 Alex Kost <alezost@gmail.com>
;;; Copyright © 2016, 2017, 2018 Chris Marusich <cmmarusich@gmail.com>
-;;; Copyright © 2017 Mathieu Othacehe <m.othacehe@gmail.com>
+;;; Copyright © 2017, 2019 Mathieu Othacehe <m.othacehe@gmail.com>
;;; Copyright © 2018 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2019 Christopher Baines <mail@cbaines.net>
;;;
@@ -932,6 +932,8 @@ Some ACTIONS support additional ARGS.\n"))
(display (G_ "
--skip-checks skip file system and initrd module safety checks"))
(display (G_ "
+ --target=TRIPLET cross-build for TRIPLET--e.g., \"armel-linux-gnu\""))
+ (display (G_ "
-v, --verbosity=LEVEL use the given verbosity LEVEL"))
(newline)
(display (G_ "
@@ -1004,6 +1006,10 @@ Some ACTIONS support additional ARGS.\n"))
(lambda (opt name arg result)
(alist-cons 'system arg
(alist-delete 'system result eq?))))
+ (option '("target") #t #f
+ (lambda (opt name arg result)
+ (alist-cons 'target arg
+ (alist-delete 'target result eq?))))
(option '(#\r "root") #t #f
(lambda (opt name arg result)
(alist-cons 'gc-root arg result)))
@@ -1012,6 +1018,7 @@ Some ACTIONS support additional ARGS.\n"))
(define %default-options
;; Alist of default option values.
`((system . ,(%current-system))
+ (target . #f)
(substitutes? . #t)
(offload? . #t)
(print-build-trace? . #t)
@@ -1045,6 +1052,7 @@ resulting from command-line parsing."
((x . _) x)))
(expr (assoc-ref opts 'expression))
(system (assoc-ref opts 'system))
+ (target (assoc-ref opts 'target))
(os (ensure-operating-system
(or file expr)
(cond
@@ -1061,7 +1069,7 @@ resulting from command-line parsing."
(dry? (assoc-ref opts 'dry-run?))
(bootloader? (assoc-ref opts 'install-bootloader?))
- (target (match args
+ (target-file (match args
((first second) second)
(_ #f)))
(bootloader-target
@@ -1103,9 +1111,10 @@ resulting from command-line parsing."
(_ #f))
opts)
#:install-bootloader? bootloader?
- #:target target
+ #:target target-file
#:bootloader-target bootloader-target
#:gc-root (assoc-ref opts 'gc-root)))))
+ #:target target
#:system system))
(warn-about-disk-space)))
diff --git a/guix/ssh.scm b/guix/ssh.scm
index 5fd3c280e8..291ce20b61 100644
--- a/guix/ssh.scm
+++ b/guix/ssh.scm
@@ -37,6 +37,8 @@
#:use-module (ice-9 format)
#:use-module (ice-9 binary-ports)
#:export (open-ssh-session
+ authenticate-server*
+
remote-inferior
remote-daemon-channel
connect-to-remote-daemon
@@ -60,15 +62,56 @@
(define %compression
"zlib@openssh.com,zlib")
+(define (host-key->type+key host-key)
+ "Destructure HOST-KEY, an OpenSSH host key string, and return two values:
+its key type as a symbol, and the actual base64-encoded string."
+ (define (type->symbol type)
+ (and (string-prefix? "ssh-" type)
+ (string->symbol (string-drop type 4))))
+
+ (match (string-tokenize host-key)
+ ((type key x)
+ (values (type->symbol type) key))
+ ((type key)
+ (values (type->symbol type) key))))
+
+(define (authenticate-server* session key)
+ "Make sure the server for SESSION has the given KEY, where KEY is a string
+such as \"ssh-ed25519 AAAAC3Nz… root@example.org\". Raise an exception if the
+actual key does not match."
+ (let-values (((server) (get-server-public-key session))
+ ((type key) (host-key->type+key key)))
+ (unless (and (or (not (get-key-type server))
+ (eq? (get-key-type server) type))
+ (string=? (public-key->string server) key))
+ ;; Key mismatch: something's wrong. XXX: It could be that the server
+ ;; provided its Ed25519 key when we where expecting its RSA key. XXX:
+ ;; Guile-SSH 0.10.1 doesn't know about ed25519 keys and 'get-key-type'
+ ;; returns #f in that case.
+ (raise (condition
+ (&message
+ (message (format #f (G_ "server at '~a' returned host key \
+'~a' of type '~a' instead of '~a' of type '~a'~%")
+ (session-get session 'host)
+ (public-key->string server)
+ (get-key-type server)
+ key type))))))))
+
(define* (open-ssh-session host #:key user port identity
+ host-key
(compression %compression)
(timeout 3600))
"Open an SSH session for HOST and return it. IDENTITY specifies the file
name of a private key to use for authenticating with the host. When USER,
PORT, or IDENTITY are #f, use default values or whatever '~/.ssh/config'
-specifies; otherwise use them. Install TIMEOUT as the maximum time in seconds
-after which a read or write operation on a channel of the returned session is
-considered as failing.
+specifies; otherwise use them.
+
+When HOST-KEY is true, it must be a string like \"ssh-ed25519 AAAAC3Nz…
+root@example.org\"; the server is authenticated and an error is raised if its
+host key is different from HOST-KEY.
+
+Install TIMEOUT as the maximum time in seconds after which a read or write
+operation on a channel of the returned session is considered as failing.
Throw an error on failure."
(let ((session (make-session #:user user
@@ -78,6 +121,11 @@ Throw an error on failure."
#:timeout 10 ;seconds
;; #:log-verbosity 'protocol
+ ;; Prevent libssh from reading
+ ;; ~/.ssh/known_hosts when the caller provides
+ ;; a HOST-KEY to match against.
+ #:knownhosts (and host-key "/dev/null")
+
;; We need lightweight compression when
;; exchanging full archives.
#:compression compression
@@ -88,6 +136,21 @@ Throw an error on failure."
(match (connect! session)
('ok
+ (if host-key
+ ;; Make sure the server's key is what we expect.
+ (authenticate-server* session host-key)
+
+ ;; Authenticate against ~/.ssh/known_hosts.
+ (match (authenticate-server session)
+ ('ok #f)
+ (reason
+ (raise (condition
+ (&message
+ (message (format #f (G_ "failed to authenticate \
+server at '~a': ~a")
+ (session-get session 'host)
+ reason))))))))
+
;; Use public key authentication, via the SSH agent if it's available.
(match (userauth-public-key/auto! session)
('success
diff --git a/guix/ui.scm b/guix/ui.scm
index e31db33d3b..540671f3dd 100644
--- a/guix/ui.scm
+++ b/guix/ui.scm
@@ -47,8 +47,8 @@
#:use-module ((guix licenses)
#:select (license? license-name license-uri))
#:use-module ((guix build syscalls)
- #:select (free-disk-space terminal-columns
- terminal-rows))
+ #:select (free-disk-space terminal-columns terminal-rows
+ with-file-lock/no-wait))
#:use-module ((guix build utils)
;; XXX: All we need are the bindings related to
;; '&invoke-error'. However, to work around the bug described
@@ -111,6 +111,7 @@
package-specification->name+version+output
supports-hyperlinks?
+ hyperlink
file-hyperlink
location->hyperlink
@@ -118,6 +119,7 @@
package-relevance
display-search-results
+ with-profile-lock
string->generations
string->duration
matching-generations
@@ -1662,6 +1664,26 @@ DURATION-RELATION with the current time."
(display-diff profile gen1 gen2))
+(define (profile-lock-handler profile errno . _)
+ "Handle failure to acquire PROFILE's lock."
+ ;; NFS mounts can return ENOLCK. When that happens, there's not much that
+ ;; can be done, so warn the user and keep going.
+ (if (= errno ENOLCK)
+ (warning (G_ "cannot lock profile ~a: ~a~%")
+ profile (strerror errno))
+ (leave (G_ "profile ~a is locked by another process~%")
+ profile)))
+
+(define profile-lock-file
+ (cut string-append <> ".lock"))
+
+(define-syntax-rule (with-profile-lock profile exp ...)
+ "Grab PROFILE's lock and evaluate EXP... Call 'leave' if the lock is
+already taken."
+ (with-file-lock/no-wait (profile-lock-file profile)
+ (cut profile-lock-handler profile <...>)
+ exp ...))
+
(define (display-profile-content profile number)
"Display the packages in PROFILE, generation NUMBER, in a human-readable
way."
diff --git a/nix/libutil/util.cc b/nix/libutil/util.cc
index 8093b4c8b4..faba3789df 100644
--- a/nix/libutil/util.cc
+++ b/nix/libutil/util.cc
@@ -177,8 +177,13 @@ struct stat lstat(const Path & path)
bool pathExists(const Path & path)
{
int res;
+#ifdef HAVE_STATX
+ struct statx st;
+ res = statx(AT_FDCWD, path.c_str(), AT_SYMLINK_NOFOLLOW, 0, &st);
+#else
struct stat st;
res = lstat(path.c_str(), &st);
+#endif
if (!res) return true;
if (errno != ENOENT && errno != ENOTDIR)
throw SysError(format("getting status of %1%") % path);
diff --git a/tests/gexp.scm b/tests/gexp.scm
index 50d0948659..84c16422c2 100644
--- a/tests/gexp.scm
+++ b/tests/gexp.scm
@@ -170,6 +170,14 @@
(let ((file (local-file "../guix/base32.scm")))
(local-file-absolute-file-name file)))))
+(test-equal "local-file, non-literal relative file name"
+ (canonicalize-path (search-path %load-path "guix/base32.scm"))
+ (let ((directory (dirname (search-path %load-path
+ "guix/build-system/gnu.scm"))))
+ (with-directory-excursion directory
+ (let ((file (local-file (string-copy "../base32.scm"))))
+ (local-file-absolute-file-name file)))))
+
(test-assertm "local-file, #:select?"
(mlet* %store-monad ((select? -> (lambda (file stat)
(member (basename file)
diff --git a/tests/guix-package.sh b/tests/guix-package.sh
index 6d081d58be..f9fb31033e 100644
--- a/tests/guix-package.sh
+++ b/tests/guix-package.sh
@@ -468,8 +468,10 @@ guix package --list-profiles | grep '\.guix-profile'
# Make sure we can properly lock a profile.
mkdir "$module_dir"
-echo '(sleep 60)' > "$module_dir/manifest.scm"
+echo "(open-output-file \"$module_dir/ready\") (sleep 60)" \
+ > "$module_dir/manifest.scm"
guix package -m "$module_dir/manifest.scm" -p "$module_dir/profile" &
pid=$!
+while [ ! -f "$module_dir/ready" ] ; do sleep 0.5 ; done
if guix install emacs -p "$module_dir/profile"; then kill $pid; false; else true; fi
kill $pid
diff --git a/tests/lzlib.scm b/tests/lzlib.scm
index 543622bb45..d8d0e6edf8 100644
--- a/tests/lzlib.scm
+++ b/tests/lzlib.scm
@@ -108,7 +108,7 @@
(test-assert* "Bytevector of size relative to Lzip internal buffers (1MiB+1)"
(compress-and-decompress (random-bytevector (1+ (* 1024 1024)))))
-(test-assert "make-lzip-input-port/compressed"
+(test-assert* "make-lzip-input-port/compressed"
(let* ((len (pk 'len (+ 10 (random 4000 %seed))))
(data (random-bytevector len))
(compressed (make-lzip-input-port/compressed