aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--doc/guix.texi13
-rw-r--r--gnu/build/file-systems.scm10
-rw-r--r--gnu/local.mk8
-rw-r--r--gnu/packages/code.scm4
-rw-r--r--gnu/packages/crypto.scm4
-rw-r--r--gnu/packages/dns.scm4
-rw-r--r--gnu/packages/emacs.scm4
-rw-r--r--gnu/packages/fonts.scm40
-rw-r--r--gnu/packages/freedesktop.scm41
-rw-r--r--gnu/packages/game-development.scm8
-rw-r--r--gnu/packages/gdb.scm4
-rw-r--r--gnu/packages/geo.scm4
-rw-r--r--gnu/packages/gl.scm4
-rw-r--r--gnu/packages/glib.scm34
-rw-r--r--gnu/packages/gnome.scm333
-rw-r--r--gnu/packages/gnupg.scm29
-rw-r--r--gnu/packages/graphics.scm43
-rw-r--r--gnu/packages/gtk.scm42
-rw-r--r--gnu/packages/image-viewers.scm4
-rw-r--r--gnu/packages/imagemagick.scm4
-rw-r--r--gnu/packages/irc.scm4
-rw-r--r--gnu/packages/javascript.scm85
-rw-r--r--gnu/packages/linux.scm21
-rw-r--r--gnu/packages/mail.scm4
-rw-r--r--gnu/packages/mate.scm4
-rw-r--r--gnu/packages/maths.scm4
-rw-r--r--gnu/packages/mtools.scm4
-rw-r--r--gnu/packages/networking.scm4
-rw-r--r--gnu/packages/ocaml.scm246
-rw-r--r--gnu/packages/package-management.scm6
-rw-r--r--gnu/packages/patches/gnome-shell-CVE-2017-8288.patch54
-rw-r--r--gnu/packages/patches/libgdata-fix-tests.patch325
-rw-r--r--gnu/packages/patches/libgdata-glib-duplicate-tests.patch16
-rw-r--r--gnu/packages/patches/libssh-hostname-parser-bug.patch31
-rw-r--r--gnu/packages/patches/openscenegraph-ffmpeg3.patch156
-rw-r--r--gnu/packages/patches/perl-file-path-CVE-2017-6512.patch173
-rw-r--r--gnu/packages/patches/xf86-input-wacom-xorg-abi-25.patch46
-rw-r--r--gnu/packages/perl.scm7
-rw-r--r--gnu/packages/ruby.scm93
-rw-r--r--gnu/packages/ssh.scm7
-rw-r--r--gnu/packages/version-control.scm6
-rw-r--r--gnu/packages/video.scm20
-rw-r--r--gnu/packages/web.scm30
-rw-r--r--gnu/packages/wm.scm4
-rw-r--r--gnu/packages/xdisorg.scm10
-rw-r--r--gnu/packages/xorg.scm4
-rw-r--r--gnu/services/base.scm10
-rw-r--r--guix/import/cpan.scm4
-rw-r--r--guix/ssh.scm76
-rw-r--r--tests/cpan.scm4
50 files changed, 1683 insertions, 412 deletions
diff --git a/doc/guix.texi b/doc/guix.texi
index e8fba43afe..f69c84dea6 100644
--- a/doc/guix.texi
+++ b/doc/guix.texi
@@ -5329,7 +5329,7 @@ a container similar to the one the build daemon creates:
$ guix build -K foo
@dots{}
$ cd /tmp/guix-build-foo.drv-0
-$ guix environment -C foo --ad-hoc strace gdb
+$ guix environment --no-grafts -C foo --ad-hoc strace gdb
[env]# source ./environment-variables
[env]# cd foo-1.2
@end example
@@ -5337,7 +5337,10 @@ $ guix environment -C foo --ad-hoc strace gdb
Here, @command{guix environment -C} creates a container and spawns a new
shell in it (@pxref{Invoking guix environment}). The @command{--ad-hoc
strace gdb} part adds the @command{strace} and @command{gdb} commands to
-the container, which would may find handy while debugging.
+the container, which would may find handy while debugging. The
+@option{--no-grafts} option makes sure we get the exact same
+environment, with ungrafted packages (@pxref{Security Updates}, for more
+info on grafts).
To get closer to a container like that used by the build daemon, we can
remove @file{/bin/sh}:
@@ -9260,6 +9263,12 @@ Whether to use substitutes.
@item @code{substitute-urls} (default: @var{%default-substitute-urls})
The list of URLs where to look for substitutes by default.
+@item @code{max-silent-time} (default: @code{0})
+@itemx @code{timeout} (default: @code{0})
+The number of seconds of silence and the number of seconds of activity,
+respectively, after which a build process times out. A value of zero
+disables the timeout.
+
@item @code{extra-options} (default: @code{'()})
List of extra command-line options for @command{guix-daemon}.
diff --git a/gnu/build/file-systems.scm b/gnu/build/file-systems.scm
index 10be0dc83c..7737de3d03 100644
--- a/gnu/build/file-systems.scm
+++ b/gnu/build/file-systems.scm
@@ -268,12 +268,18 @@ as a bytevector, or #f if DEVICE does not contain an iso9660 file system."
(define (iso9660-superblock-uuid sblock)
"Return the modification time of an iso9660 primary volume descriptor
-SBLOCK as a bytevector."
+SBLOCK as a bytevector. If that's not set, returns the creation time."
;; Drops GMT offset for compatibility with Grub, blkid and /dev/disk/by-uuid.
;; Compare Grub: "2014-12-02-19-30-23-00".
;; Compare blkid result: "2014-12-02-19-30-23-00".
;; Compare /dev/disk/by-uuid entry: "2014-12-02-19-30-23-00".
- (sub-bytevector sblock 830 16))
+ (let* ((creation-time (sub-bytevector sblock 813 17))
+ (modification-time (sub-bytevector sblock 830 17))
+ (unset-time (make-bytevector 17 0))
+ (time (if (bytevector=? unset-time modification-time)
+ creation-time
+ modification-time)))
+ (sub-bytevector time 0 16))) ; strips GMT offset.
(define (iso9660-uuid->string uuid)
"Given an UUID bytevector, return its timestamp string."
diff --git a/gnu/local.mk b/gnu/local.mk
index 015267f09d..74630eb9fa 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -208,6 +208,7 @@ GNU_SYSTEM_MODULES = \
%D%/packages/irc.scm \
%D%/packages/iso-codes.scm \
%D%/packages/java.scm \
+ %D%/packages/javascript.scm \
%D%/packages/jemalloc.scm \
%D%/packages/jrnl.scm \
%D%/packages/julia.scm \
@@ -631,7 +632,6 @@ dist_patch_DATA = \
%D%/packages/patches/glog-gcc-5-demangling.patch \
%D%/packages/patches/gmp-arm-asm-nothumb.patch \
%D%/packages/patches/gmp-faulty-test.patch \
- %D%/packages/patches/gnome-shell-CVE-2017-8288.patch \
%D%/packages/patches/gnome-tweak-tool-search-paths.patch \
%D%/packages/patches/gnucash-price-quotes-perl.patch \
%D%/packages/patches/gobject-introspection-absolute-shlib-path.patch \
@@ -724,6 +724,8 @@ dist_patch_DATA = \
%D%/packages/patches/libevent-2.1-skip-failing-test.patch \
%D%/packages/patches/libextractor-ffmpeg-3.patch \
%D%/packages/patches/libgit2-0.25.1-mtime-0.patch \
+ %D%/packages/patches/libgdata-fix-tests.patch \
+ %D%/packages/patches/libgdata-glib-duplicate-tests.patch \
%D%/packages/patches/libgit2-use-after-free.patch \
%D%/packages/patches/libffi-3.2.1-complex-alpha.patch \
%D%/packages/patches/libjxr-fix-function-signature.patch \
@@ -738,6 +740,7 @@ dist_patch_DATA = \
%D%/packages/patches/libsndfile-armhf-type-checks.patch \
%D%/packages/patches/libsndfile-CVE-2017-8361-8363-8365.patch \
%D%/packages/patches/libsndfile-CVE-2017-8362.patch \
+ %D%/packages/patches/libssh-hostname-parser-bug.patch \
%D%/packages/patches/libssh2-fix-build-failure-with-gcrypt.patch \
%D%/packages/patches/libtar-CVE-2013-4420.patch \
%D%/packages/patches/libtheora-config-guess.patch \
@@ -840,6 +843,7 @@ dist_patch_DATA = \
%D%/packages/patches/ocaml-findlib-make-install.patch \
%D%/packages/patches/omake-fix-non-determinism.patch \
%D%/packages/patches/ola-readdir-r.patch \
+ %D%/packages/patches/openscenegraph-ffmpeg3.patch \
%D%/packages/patches/openexr-missing-samples.patch \
%D%/packages/patches/openjpeg-CVE-2016-9850-CVE-2016-9851.patch \
%D%/packages/patches/openjpeg-CVE-2016-9572-CVE-2016-9573.patch \
@@ -859,6 +863,7 @@ dist_patch_DATA = \
%D%/packages/patches/pcre-CVE-2017-7186.patch \
%D%/packages/patches/pcre2-CVE-2017-7186.patch \
%D%/packages/patches/pcre2-CVE-2017-8786.patch \
+ %D%/packages/patches/perl-file-path-CVE-2017-6512.patch \
%D%/packages/patches/perl-autosplit-default-time.patch \
%D%/packages/patches/perl-deterministic-ordering.patch \
%D%/packages/patches/perl-finance-quote-unuse-mozilla-ca.patch \
@@ -1041,7 +1046,6 @@ dist_patch_DATA = \
%D%/packages/patches/xcb-proto-python3-whitespace.patch \
%D%/packages/patches/wxwidgets-fix-windowGTK.patch \
%D%/packages/patches/xdotool-fix-makefile.patch \
- %D%/packages/patches/xf86-input-wacom-xorg-abi-25.patch \
%D%/packages/patches/xf86-video-ark-remove-mibstore.patch \
%D%/packages/patches/xf86-video-ast-remove-mibstore.patch \
%D%/packages/patches/xf86-video-geode-glibc-2.20.patch \
diff --git a/gnu/packages/code.scm b/gnu/packages/code.scm
index d57fc004c7..1576c23b35 100644
--- a/gnu/packages/code.scm
+++ b/gnu/packages/code.scm
@@ -93,14 +93,14 @@ highlighting your own code that seemed comprehensible when you wrote it.")
(define-public global ; a global variable
(package
(name "global")
- (version "6.5.6")
+ (version "6.5.7")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnu/global/global-"
version ".tar.gz"))
(sha256
(base32
- "018m536k5y6lks1a6gqn3bsp7r8zk017znqj9kva1nm8d7x9lbqj"))))
+ "0cnd7a7d1pl46yk15q6mnr9i9w3xi8pxgchw4ia9njgr4jjqzh6r"))))
(build-system gnu-build-system)
(inputs `(("ncurses" ,ncurses)
("libltdl" ,libltdl)
diff --git a/gnu/packages/crypto.scm b/gnu/packages/crypto.scm
index 2e55aa04af..f8631a6dbb 100644
--- a/gnu/packages/crypto.scm
+++ b/gnu/packages/crypto.scm
@@ -80,7 +80,7 @@ communication, encryption, decryption, signatures, etc.")
(define-public signify
(package
(name "signify")
- (version "20")
+ (version "21")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/aperezdc/signify/"
@@ -88,7 +88,7 @@ communication, encryption, decryption, signatures, etc.")
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
- "08my2kbbjdal9z6c1fykgr9zpixh694fw42lyiaci01a7i50zp4r"))))
+ "0jd26kxwmmar3bylpx9x5dpqxzs17ky5dvwx8pdgcg95n4lyk223"))))
(build-system gnu-build-system)
;; TODO Build with libwaive (described in README.md), to implement something
;; like OpenBSD's pledge().
diff --git a/gnu/packages/dns.scm b/gnu/packages/dns.scm
index 7937c67781..7f1d18f2b0 100644
--- a/gnu/packages/dns.scm
+++ b/gnu/packages/dns.scm
@@ -321,14 +321,14 @@ Extensions} (DNSSEC).")
(define-public knot
(package
(name "knot")
- (version "2.4.3")
+ (version "2.4.4")
(source (origin
(method url-fetch)
(uri (string-append "https://secure.nic.cz/files/knot-dns/"
name "-" version ".tar.xz"))
(sha256
(base32
- "0kvhibnnk77nqi9gdw2zbnp0dydfcy6zy96qv0f3a7wwnay5h0pr"))
+ "0g2n5r2n03bqz322xlwdw4bqhj8l4n8q0hzrqngi4rgmk4rp97ly"))
(modules '((guix build utils)))
(snippet
'(begin
diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm
index 81a74d1fb5..987aaf4226 100644
--- a/gnu/packages/emacs.scm
+++ b/gnu/packages/emacs.scm
@@ -3618,14 +3618,14 @@ passive voice.")
(define-public emacs-org
(package
(name "emacs-org")
- (version "20170515")
+ (version "20170606")
(source (origin
(method url-fetch)
(uri (string-append "http://elpa.gnu.org/packages/org-"
version ".tar"))
(sha256
(base32
- "0lfapcxil69x1a63cszgq72lqks1z3gpyxw7vcllqlgi7n7a4y6f"))))
+ "0m2gln3wz9v3aflyxxy2317808yy05rrzrjx35spw2d90d10hmkz"))))
(build-system emacs-build-system)
(home-page "http://orgmode.org/")
(synopsis "Outline-based notes management and organizer")
diff --git a/gnu/packages/fonts.scm b/gnu/packages/fonts.scm
index 73d76a461f..59e60dc292 100644
--- a/gnu/packages/fonts.scm
+++ b/gnu/packages/fonts.scm
@@ -19,6 +19,7 @@
;;; Copyright © 2017 Alex Griffin <a@ajgrf.com>
;;; Copyright © 2017 Clément Lassieur <clement@lassieur.org>
;;; Copyright © 2017 Brendan Tildesley <brendan.tildesley@openmailbox.org>
+;;; Copyright © 2017 Arun Isaac <arunisaac@systemreboot.net>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -1227,3 +1228,42 @@ Ensuring readability and clarity at both large and small sizes, these icons
have been optimized for beautiful display on all common platforms and display
resolutions.")
(license license:asl2.0)))
+
+(define-public font-mathjax
+ (package
+ (name "font-mathjax")
+ (version "2.7.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "https://github.com/mathjax/MathJax/archive/"
+ version ".tar.gz"))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "0sbib5lk0jrvbq6s72ag6ss3wjlz5wnk07ddxij1kp96yg3c1d1b"))))
+ (build-system trivial-build-system)
+ (arguments
+ `(#:modules ((guix build utils))
+ #:builder
+ (begin
+ (use-modules (guix build utils)
+ (ice-9 match))
+ (set-path-environment-variable
+ "PATH" '("bin") (map (match-lambda
+ ((_ . input)
+ input))
+ %build-inputs))
+ (let ((install-directory (string-append %output "/share/fonts/mathjax")))
+ (mkdir-p install-directory)
+ (zero? (system* "tar" "-C" install-directory "-xvf"
+ (assoc-ref %build-inputs "source")
+ "MathJax-2.7.1/fonts" "--strip" "2"))))))
+ (native-inputs
+ `(("gzip" ,gzip)
+ ("tar" ,tar)))
+ (home-page "https://www.mathjax.org/")
+ (synopsis "Fonts for MathJax")
+ (description "This package contains the fonts required for MathJax.")
+ (license license:asl2.0)))
diff --git a/gnu/packages/freedesktop.scm b/gnu/packages/freedesktop.scm
index 85a6c8b26d..ef07f2d64b 100644
--- a/gnu/packages/freedesktop.scm
+++ b/gnu/packages/freedesktop.scm
@@ -35,6 +35,7 @@
#:use-module (gnu packages acl)
#:use-module (gnu packages admin)
#:use-module (gnu packages autotools)
+ #:use-module (gnu packages bash)
#:use-module (gnu packages boost)
#:use-module (gnu packages compression)
#:use-module (gnu packages databases)
@@ -267,6 +268,46 @@ the org.freedesktop.login1 interface over the system bus, allowing other parts
of a the system to know what users are logged in, and where.")
(license license:lgpl2.1+)))
+(define-public packagekit
+ (package
+ (name "packagekit")
+ (version "1.1.5")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append
+ "https://www.freedesktop.org/software/"
+ "PackageKit/releases/"
+ "PackageKit-" version ".tar.xz"))
+ (sha256
+ (base32
+ "035pqxgkyki813hyw2frrbpfllq113zfk5qcp9wvsq5lsp74ix2h"))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:tests? #f
+ #:make-flags (list (string-append "BASH_COMPLETIONS_DIR="
+ %output "/etc/bash_completion.d"))
+ #:configure-flags
+ '("--disable-systemd")))
+ (native-inputs
+ `(("intltool" ,intltool)
+ ("pkg-config" ,pkg-config)
+ ("python" ,python-wrapper)
+ ("glib:bin" ,glib "bin")))
+ (inputs
+ `(("glib" ,glib)
+ ("bash-completion", bash-completion)
+ ("polkit" ,polkit)))
+ (propagated-inputs
+ `(("sqlite" ,sqlite)))
+ (home-page "https://www.freedesktop.org/software/PackageKit/")
+ (synopsis "API for package management, through D-Bus")
+ (description
+ "PackageKit provides a way of performing package management tasks,
+e.g. updating, removing and installing software. Through supporting many
+backends, PackageKit can perform these tasks using the appropriate package
+manager for the current system.")
+ (license license:gpl2+)))
+
(define-public python-pyxdg
(package
(name "python-pyxdg")
diff --git a/gnu/packages/game-development.scm b/gnu/packages/game-development.scm
index 6d9e4061d1..5253d0c919 100644
--- a/gnu/packages/game-development.scm
+++ b/gnu/packages/game-development.scm
@@ -30,6 +30,7 @@
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix git-download)
+ #:use-module (guix utils)
#:use-module (guix build-system cmake)
#:use-module (guix build-system gnu)
#:use-module (guix build-system python)
@@ -221,7 +222,8 @@ possible, and it also makes the SGE easy to learn.")
(source
(origin
(method url-fetch)
- (uri (string-append "mirror://savannah/python-tmx/tmx-"
+ (uri (string-append "mirror://savannah/python-tmx/"
+ (version-major+minor version) "/tmx-"
version ".tar.gz"))
(sha256
(base32
@@ -293,7 +295,7 @@ support.")
(define-public tiled
(package
(name "tiled")
- (version "0.18.2")
+ (version "1.0.0")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/bjorn/tiled/archive/v"
@@ -301,7 +303,7 @@ support.")
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
- "1kcj2blrlfpghjv0qigip2qcbxfx7vv9i8nr4997hkwhsh6i2pjp"))))
+ "0g6ld9znydbdzy4x9h532gf1fg5bnz1mmrpvw4jg2a4lxkrz3rd5"))))
(build-system gnu-build-system)
(inputs
`(("qtbase" ,qtbase)
diff --git a/gnu/packages/gdb.scm b/gnu/packages/gdb.scm
index ba1fd62a24..77a3376a02 100644
--- a/gnu/packages/gdb.scm
+++ b/gnu/packages/gdb.scm
@@ -37,14 +37,14 @@
(define-public gdb
(package
(name "gdb")
- (version "7.12.1")
+ (version "8.0")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnu/gdb/gdb-"
version ".tar.xz"))
(sha256
(base32
- "11ii260h1sd7v0bs3cz6d5l8gqxxgldry0md60ncjgixjw5nh1s6"))))
+ "1vplyf8v70yn0rdqjx6awl9nmfbwaj5ynwwjxwa71rhp97z4z8pn"))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f ; FIXME "make check" fails on single-processor systems.
diff --git a/gnu/packages/geo.scm b/gnu/packages/geo.scm
index 4f137a88d7..d8d5490f3e 100644
--- a/gnu/packages/geo.scm
+++ b/gnu/packages/geo.scm
@@ -75,7 +75,7 @@ topology functions.")
(define-public gnome-maps
(package
(name "gnome-maps")
- (version "3.18.3")
+ (version "3.24.3")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/" name "/"
@@ -83,7 +83,7 @@ topology functions.")
name "-" version ".tar.xz"))
(sha256
(base32
- "1vdnr2wmhqhql2gxd5n1ijwk88qhim14izbkczncg35846hfsr5i"))))
+ "1mnhcrawdp6fyqylh0m8l259xdd7pqwibrjyl54rmsvnm8vfrwsy"))))
(build-system glib-or-gtk-build-system)
(arguments
`(#:configure-flags ; Ensure that geoclue is referred to by output.
diff --git a/gnu/packages/gl.scm b/gnu/packages/gl.scm
index 40b756394e..7457809300 100644
--- a/gnu/packages/gl.scm
+++ b/gnu/packages/gl.scm
@@ -217,7 +217,7 @@ also known as DXTn or DXTC) for Mesa.")
(define-public mesa
(package
(name "mesa")
- (version "17.0.4")
+ (version "17.0.6")
(source
(origin
(method url-fetch)
@@ -227,7 +227,7 @@ also known as DXTn or DXTC) for Mesa.")
version "/mesa-" version ".tar.xz")))
(sha256
(base32
- "0im3ca1vwwmkjf5w761vh7vabr4vrrdxpckr0wm974x18n2xqs8j"))
+ "17d60jjzg4ddm95gk2cqx0xz6b9anmmz6ax4majwr3gis2yg7v49"))
(patches
(search-patches "mesa-fix-32bit-test-failures.patch"
"mesa-wayland-egl-symbols-check-mips.patch"
diff --git a/gnu/packages/glib.scm b/gnu/packages/glib.scm
index 6de9cce0b7..fcd1daf5e8 100644
--- a/gnu/packages/glib.scm
+++ b/gnu/packages/glib.scm
@@ -67,7 +67,7 @@
(define dbus
(package
(name "dbus")
- (version "1.10.16")
+ (version "1.10.18")
(source (origin
(method url-fetch)
(uri (string-append
@@ -75,7 +75,7 @@
version ".tar.gz"))
(sha256
(base32
- "121kqkjsd3vgf8vca8364xl44qa5086h7qy5zs5f1l78ldpbmc57"))
+ "0jjirhw6xwz2ffmbg5kr79108l8i1bdaw7szc67n3qpkygaxsjb0"))
(patches (search-patches "dbus-helper-search-path.patch"))))
(build-system gnu-build-system)
(arguments
@@ -137,7 +137,7 @@ shared NFS home directories.")
(define glib
(package
(name "glib")
- (version "2.50.3")
+ (version "2.52.2")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/"
@@ -145,7 +145,7 @@ shared NFS home directories.")
name "-" version ".tar.xz"))
(sha256
(base32
- "16frrwhc1yqkzx6bgh3060g94dr2biab17fb01mrni819jzr9vl2"))
+ "1l65kab6jr9zlllgbjcbvrbgah3sdd577fpw4pdb2j195ag5s3ph"))
(patches (search-patches "glib-tests-timer.patch"))))
(build-system gnu-build-system)
(outputs '("out" ; everything
@@ -289,14 +289,14 @@ dynamic loading, and an object system.")
(define gobject-introspection
(package
(name "gobject-introspection")
- (version "1.50.0")
+ (version "1.52.1")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/"
"gobject-introspection/" (version-major+minor version)
"/gobject-introspection-" version ".tar.xz"))
(sha256
- (base32 "1i9pccig8mv6qf0c1z8fcapays190nmr7j6pyc7cfhzmcv39fr8w"))
+ (base32 "1x5gkyrglv3dn9b4fsgw6asqgjw1wj7qc37g9pyac6pyaa6w7l1f"))
(modules '((guix build utils)))
(snippet
'(substitute* "tools/g-ir-tool-template.in"
@@ -492,7 +492,7 @@ has an ease of use unmatched by other C++ callback libraries.")
(define glibmm
(package
(name "glibmm")
- (version "2.50.0")
+ (version "2.50.1")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/glibmm/"
@@ -500,7 +500,7 @@ has an ease of use unmatched by other C++ callback libraries.")
"/glibmm-" version ".tar.xz"))
(sha256
(base32
- "152yz5w0lx0y5j9ml72az7pc83p4l92bc0sb8whpcazldqy6wwnz"))))
+ "1926b3adx903hzvdp8glblsgjyadzqnwgkj8hg605d4wv98m1n0z"))))
(build-system gnu-build-system)
(arguments
`(#:phases (alist-cons-before
@@ -573,7 +573,7 @@ useful for C++.")
(define-public python-pygobject
(package
(name "python-pygobject")
- (version "3.22.0")
+ (version "3.24.1")
(source
(origin
(method url-fetch)
@@ -582,11 +582,13 @@ useful for C++.")
"/pygobject-" version ".tar.xz"))
(sha256
(base32
- "1ryblpc4wbhxcwf7grgib4drrab5xi6p78ihhrx0zj7g13xrrch8"))))
+ "1zdzznrj2s1gsrv2z4r0n88fzba8zjc1n2r313xi77lhl1daja56"))))
(build-system gnu-build-system)
(native-inputs
`(("which" ,which)
- ("glib-bin" ,glib "bin") ;for tests: glib-compile-schemas
+ ;for tests: dbus-run-session and glib-compile-schemas
+ ("dbus" ,dbus)
+ ("glib-bin" ,glib "bin")
("pkg-config" ,pkg-config)))
(inputs
`(("python" ,python)
@@ -596,16 +598,6 @@ useful for C++.")
;; pygobject-3.0.pc refers to all these.
`(("glib" ,glib)
("libffi" ,libffi)))
- (arguments
- ;; TODO: failing tests: test_native_calls_async
- ;; test_native_calls_async_errors test_native_calls_sync
- ;; test_native_calls_sync_errors test_python_calls_async
- ;; test_python_calls_async_error test_python_calls_async_error_result
- ;; test_python_calls_sync test_python_calls_sync_errors
- ;; test_python_calls_sync_noargs test_callback_user_data_middle_none
- ;; test_callback_user_data_middle_single
- ;; test_callback_user_data_middle_tuple
- '(#:tests? #f))
;; For finding typelib files, since gobject-introscpetion isn't propagated.
(native-search-paths (package-native-search-paths gobject-introspection))
(home-page "https://live.gnome.org/PyGObject")
diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index 7f7880429a..ebf598d9c7 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -14,7 +14,7 @@
;;; Copyright © 2015, 2016, 2017 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016, 2017 Rene Saavedra <rennes@openmailbox.org>
;;; Copyright © 2016 Jochem Raat <jchmrt@riseup.net>
-;;; Copyright © 2016 Kei Kebreau <kei@openmailbox.org>
+;;; Copyright © 2016, 2017 Kei Kebreau <kei@openmailbox.org>
;;; Copyright © 2016 Jan Nieuwenhuizen <janneke@gnu.org>
;;; Copyright © 2016 Roel Janssen <roel@gnu.org>
;;; Copyright © 2016 Leo Famulari <leo@famulari.name>
@@ -46,6 +46,7 @@
#:use-module (guix download)
#:use-module (guix git-download)
#:use-module (guix utils)
+ #:use-module (guix build-system cmake)
#:use-module (guix build-system gnu)
#:use-module (guix build-system glib-or-gtk)
#:use-module (guix build-system trivial)
@@ -237,6 +238,56 @@ relationship modeling, and network diagrams. The program supports various file
formats like PNG, SVG, PDF and EPS.")
(license license:gpl2+))))
+(define-public libgdata
+ (package
+ (name "libgdata")
+ (version "0.16.1")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "mirror://gnome/sources/" name "/"
+ (version-major+minor version) "/"
+ name "-" version ".tar.xz"))
+ (sha256
+ (base32
+ "09q8h1129xjpw33rvzz7856drygxwlm0s64z9cm0vbmjxiqy0h47"))
+ (patches
+ (search-patches "libgdata-fix-tests.patch"
+ "libgdata-glib-duplicate-tests.patch"))))
+ (build-system gnu-build-system)
+ (arguments
+ '(#:phases
+ (modify-phases %standard-phases
+ (add-before 'check 'use-empty-ssl-cert-file
+ (lambda _
+ ;; The ca-certificates.crt is not available in the build
+ ;; environment.
+ (setenv "SSL_CERT_FILE" "/dev/null")
+ #t)))))
+ (native-inputs
+ `(("glib:bin" ,glib "bin")
+ ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
+ ("intltool" ,intltool)
+ ("pkg-config" ,pkg-config)
+ ("uhttpmock" ,uhttpmock)))
+ (inputs
+ `(("cyrus-sasl" ,cyrus-sasl)
+ ("glib" ,glib)
+ ("glib-networking" ,glib-networking)
+ ("json-glib" ,json-glib)
+ ("libsoup" ,libsoup)))
+ (propagated-inputs
+ `(("gcr" ,gcr)
+ ("gnome-online-accounts" ,gnome-online-accounts)
+ ("liboauth" ,liboauth)
+ ("libxml2" ,libxml2)))
+ (home-page "https://wiki.gnome.org/Projects/libgdata")
+ (synopsis "Library for accessing online service APIs")
+ (description
+ "libgdata is a GLib-based library for accessing online service APIs using
+the GData protocol — most notably, Google's services. It provides APIs to
+access the common Google services, and has full asynchronous support.")
+ (license license:lgpl2.1+)))
+
(define-public gnome-common
(package
(name "gnome-common")
@@ -262,7 +313,7 @@ commonly used macros.")
(define-public gnome-desktop
(package
(name "gnome-desktop")
- (version "3.22.2")
+ (version "3.24.2")
(source
(origin
(method url-fetch)
@@ -271,7 +322,7 @@ commonly used macros.")
name "-" version ".tar.xz"))
(sha256
(base32
- "074yjz4g9gii045v2pl1ad34hcg92ci04ynxqcabwnf3lvvypmsi"))))
+ "0pkq5l1llw8gkjhfq6y58iyj6wac8dh1mc3rzjzn6nd7lrkdx8cg"))))
(build-system gnu-build-system)
(native-inputs
`(("gobject-introspection" ,gobject-introspection)
@@ -339,7 +390,7 @@ and keep up to date translations of documentation.")
(define-public gnome-disk-utility
(package
(name "gnome-disk-utility")
- (version "3.22.1")
+ (version "3.24.1")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/" name "/"
@@ -347,7 +398,7 @@ and keep up to date translations of documentation.")
name "-" version ".tar.xz"))
(sha256
(base32
- "1hqynlcgwm72il2rdml98gcarz0alsgxs5xf6ww2x0czaj3s3953"))))
+ "18akarcbhm8djlmz49jzavc7qx8dg71gvxc9xd23p0bwjj4h93w7"))))
(build-system gnu-build-system)
(native-inputs
`(("glib:bin" ,glib "bin")
@@ -521,7 +572,7 @@ forgotten when the session ends.")
(define-public evince
(package
(name "evince")
- (version "3.22.1")
+ (version "3.24.0")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/" name "/"
@@ -529,15 +580,10 @@ forgotten when the session ends.")
name "-" version ".tar.xz"))
(sha256
(base32
- "0713mcrym5ykhl5smqxi6m9578gz3nkibmkmc794amss7gdkkm7k"))))
+ "13yw0i68dgqp9alyliy3zifszh7rikkpi1xbz5binvxxgfpraf04"))))
(build-system glib-or-gtk-build-system)
(arguments
`(#:configure-flags '("--disable-nautilus")
-
- ;; FIXME: Tests fail with:
- ;; ImportError: No module named gi.repository
- ;; Where should that module come from?
- #:tests? #f
#:phases
(modify-phases %standard-phases
(add-before 'install 'skip-gtk-update-icon-cache
@@ -593,7 +639,7 @@ on the GNOME Desktop with a single simple application.")
(define-public gsettings-desktop-schemas
(package
(name "gsettings-desktop-schemas")
- (version "3.22.0")
+ (version "3.24.0")
(source
(origin
(method url-fetch)
@@ -602,7 +648,7 @@ on the GNOME Desktop with a single simple application.")
name "-" version ".tar.xz"))
(sha256
(base32
- "1qgalzqwg0fl0n22vslqcsnsmj9kc54qj25ib16rxaf36jxcf1hg"))))
+ "145vpcljy4660cnk8zk91qf7ywa7hqfl5hhw025gy8hxcqzklmzn"))))
(build-system gnu-build-system)
(inputs
`(("glib" ,glib)))
@@ -954,17 +1000,18 @@ the GNOME desktop environment.")
(define-public libcroco
(package
(name "libcroco")
- (version "0.6.11")
+ (version "0.6.12")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/" name "/"
(version-major+minor version) "/"
name "-" version ".tar.xz"))
+ (patches
+ (search-patches "libcroco-CVE-2017-7960.patch"
+ "libcroco-CVE-2017-7961.patch"))
(sha256
(base32
- "0mm0wldbi40am5qn0nv7psisbg01k42rwzjxl3gv11l5jj554aqk"))
- (patches (search-patches "libcroco-CVE-2017-7960.patch"
- "libcroco-CVE-2017-7961.patch"))))
+ "0q7qhi7z64i26zabg9dbs5706fa8pmzp1qhpa052id4zdiabbi6x"))))
(build-system gnu-build-system)
(native-inputs
`(("pkg-config" ,pkg-config)))
@@ -1686,7 +1733,7 @@ Hints specification (EWMH).")
(define-public gnumeric
(package
(name "gnumeric")
- (version "1.12.32")
+ (version "1.12.34")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/" name "/"
@@ -1694,7 +1741,7 @@ Hints specification (EWMH).")
name "-" version ".tar.xz"))
(sha256
(base32
- "1s3dxvdwzmppsp2dfg90rccilf4hknhwjdy7lazr9sys58zchyx0"))))
+ "09f7h4lvwzyl0amd3axapwbsrnrvvpwxyhs540jlrv425n0j0j8b"))))
(build-system glib-or-gtk-build-system)
(arguments
`(;; The gnumeric developers don't worry much about failing tests.
@@ -1727,7 +1774,9 @@ Hints specification (EWMH).")
("zlib" ,zlib)))
(native-inputs
`(("bison" ,bison)
+ ("docbook-xml" ,docbook-xml)
("intltool" ,intltool)
+ ("itstool" ,itstool)
("glib:bin" ,glib "bin")
("pkg-config" ,pkg-config)))
(home-page "http://www.gnumeric.org")
@@ -1817,7 +1866,7 @@ passwords in the GNOME keyring.")
(define-public vala
(package
(name "vala")
- (version "0.34.4")
+ (version "0.36.3")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/" name "/"
@@ -1825,7 +1874,7 @@ passwords in the GNOME keyring.")
name "-" version ".tar.xz"))
(sha256
(base32
- "10vbd74jazc3vhfagzx8v197bshrg61hnjzna6y3wmhljhrvs5vb"))))
+ "0706izk9prxqclm7gv4f63diwnlc1llvfl5sc9ghqbgn076lx2mc"))))
(build-system gnu-build-system)
(arguments
'(#:phases
@@ -2064,7 +2113,7 @@ configuration storage systems.")
(define-public json-glib
(package
(name "json-glib")
- (version "1.2.2")
+ (version "1.2.8")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/" name "/"
@@ -2072,14 +2121,7 @@ configuration storage systems.")
name "-" version ".tar.xz"))
(sha256
(base32
- "08d6449sgnwfh92x8rhwsm03g8frv0mvp3s4wl3cskw25asql4pa"))
- (modules '((guix build utils)))
- (snippet
- ;; Don't duplicate test names.
- ;; <https://bugzilla.gnome.org/show_bug.cgi?id=755977>.
- '(substitute* "json-glib/tests/builder.c"
- (("\"/builder/complex\", test_builder_empty")
- "\"/builder/empty\", test_builder_empty")))))
+ "02pl0wl3mf47c038bgv2r4pa6pr6y3shjhxn1l7s3rrrgl1sjmgx"))))
(build-system gnu-build-system)
(native-inputs
`(("glib" ,glib "bin") ;for glib-mkenums and glib-genmarshal
@@ -2253,7 +2295,7 @@ libxml to ease remote use of the RESTful API.")
(define-public libsoup
(package
(name "libsoup")
- (version "2.56.0")
+ (version "2.58.1")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/libsoup/"
@@ -2261,14 +2303,17 @@ libxml to ease remote use of the RESTful API.")
name "-" version ".tar.xz"))
(sha256
(base32
- "1r8zz270qdg92gbsvy61d51y1cj7hp059h2f4xpvqiw2vrqnn8fq"))))
+ "1fggmshk2mfsyfvml6paki65xj9rv1s5p7ds41xmnx6yazsnkik2"))))
(build-system gnu-build-system)
(outputs '("out" "doc"))
(arguments
`(#:configure-flags
(list (string-append "--with-html-dir="
(assoc-ref %outputs "doc")
- "/share/gtk-doc/html"))
+ "/share/gtk-doc/html")
+ (string-append "--with-apache-module-dir="
+ (assoc-ref %build-inputs "httpd")
+ "/modules"))
#:phases
(modify-phases %standard-phases
(add-before 'configure 'disable-unconnected-socket-test
@@ -2286,6 +2331,9 @@ libxml to ease remote use of the RESTful API.")
;; The ca-certificates.crt is not available in the build
;; environment.
(setenv "SSL_CERT_FILE" "/dev/null")
+ ;; HTTPD in Guix uses mod_event and does not build prefork.
+ (substitute* "tests/httpd.conf"
+ (("^LoadModule mpm_prefork_module.*$") "\n"))
#t))
(replace 'install
(lambda _
@@ -2371,7 +2419,7 @@ and other secrets. It communicates with the \"Secret Service\" using DBus.")
(define-public gnome-mines
(package
(name "gnome-mines")
- (version "3.22.2")
+ (version "3.24.0")
(source
(origin
(method url-fetch)
@@ -2380,7 +2428,7 @@ and other secrets. It communicates with the \"Secret Service\" using DBus.")
name "-" version ".tar.xz"))
(sha256
(base32
- "1wia0nj5i244m6pq3lridvk3vx9yipsa9l921nsskd97115mnyza"))))
+ "1xh2as2xmh7gx45gpnl0fh9xjpvyyn3m84qgv41kyp2s4clsyqz6"))))
(build-system glib-or-gtk-build-system)
(arguments
'(#:phases
@@ -2409,7 +2457,7 @@ floating in an ocean using only your brain and a little bit of luck.")
(define-public gnome-sudoku
(package
(name "gnome-sudoku")
- (version "3.22.2")
+ (version "3.24.0")
(source
(origin
(method url-fetch)
@@ -2418,7 +2466,7 @@ floating in an ocean using only your brain and a little bit of luck.")
name "-" version ".tar.xz"))
(sha256
(base32
- "1sz2ln2nc9ff7zigghil32vbmr2qhb98dc0rbrz755rlrsh8pi08"))))
+ "1mw5ykk7wr0r9770jj5270f07rjws0pmpjs0b1fywj4li13r98h4"))))
(build-system glib-or-gtk-build-system)
(native-inputs
`(("pkg-config" ,pkg-config)
@@ -2444,7 +2492,7 @@ more fun.")
(define-public gnome-terminal
(package
(name "gnome-terminal")
- (version "3.24.1")
+ (version "3.24.2")
(source
(origin
(method url-fetch)
@@ -2453,7 +2501,7 @@ more fun.")
name "-" version ".tar.xz"))
(sha256
(base32
- "1q303bljcr06w3ra737kq1hpjda45wk16kmrixxwldf3zkk2dgx7"))))
+ "03zcvxlzg7n4pz65vrg5xj3qpkqr4bz162mgmaz4bjh71b1xl7i8"))))
(build-system glib-or-gtk-build-system)
(arguments
'(#:configure-flags
@@ -2695,7 +2743,7 @@ service via the system message bus.")
(define-public libgweather
(package
(name "libgweather")
- (version "3.20.4")
+ (version "3.24.0")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/" name "/"
@@ -2703,7 +2751,7 @@ service via the system message bus.")
name "-" version ".tar.xz"))
(sha256
(base32
- "1higj4nmn3srqjbzl4iva7c0b4fkdq74xi4b35xd0qc4qiawbkbx"))))
+ "0ggspn3wmlkdxpfv4ym68qn1mzqc3hv666sykv8sv1ah40rbk28h"))))
(build-system gnu-build-system)
(arguments
`(#:configure-flags
@@ -2750,7 +2798,7 @@ services for numerous locations.")
(define-public gnome-settings-daemon
(package
(name "gnome-settings-daemon")
- (version "3.22.1")
+ (version "3.24.2")
(source
(origin
(method url-fetch)
@@ -2759,7 +2807,7 @@ services for numerous locations.")
name "-" version ".tar.xz"))
(sha256
(base32
- "1finsr7yqvix6n3rdwclv4fpgagmz6xyrk3qzapkn9ljv76rfzdm"))))
+ "1jnw920zn4cadhgmcv2q5ylzqhwm1rmrhf3a14q8mvp38hkdgaaa"))))
(build-system glib-or-gtk-build-system)
(arguments
`(;; Color management test can't reach the colord system service.
@@ -2877,7 +2925,7 @@ which are easy to play with the aid of a mouse.")
(define-public devhelp
(package
(name "devhelp")
- (version "3.22.0")
+ (version "3.24.0")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/" name "/"
@@ -2885,7 +2933,7 @@ which are easy to play with the aid of a mouse.")
name "-" version ".tar.xz"))
(sha256
(base32
- "1c7zqn8apm1lnpsp74bd880rga2vi5wxfjghqdgwqf6j28pf1jjr"))))
+ "0c74rk46dy3kvy78m42jl3ip56c5536zmy8v1lbascjmh4fdwn28"))))
(build-system glib-or-gtk-build-system)
(native-inputs
`(("intltool" ,intltool)
@@ -2936,9 +2984,13 @@ throughout GNOME for API documentation).")
("cairo" ,cairo)
("pango" ,pango)
("gstreamer" ,gstreamer)
- ("gst-plugins-base" ,gst-plugins-base)))
+ ("gst-plugins-base" ,gst-plugins-base)
+ ("wayland" ,wayland)))
(arguments
`(#:configure-flags (list "--enable-cogl-gst"
+ "--enable-wayland-egl-platform"
+ "--enable-wayland-egl-server"
+
;; Arrange to pass an absolute file name to
;; dlopen for libGL.so.
(string-append "--with-gl-libname="
@@ -3343,7 +3395,7 @@ for application developers.")
(define-public totem
(package
(name "totem")
- (version "3.22.0")
+ (version "3.24.0")
(source
(origin
(method url-fetch)
@@ -3352,7 +3404,7 @@ for application developers.")
name "-" version ".tar.xz"))
(sha256
(base32
- "1sjgjqhpsh3kipnbc8y31xz64s61xjayxq98pi0vkgbl2rdmnsh2"))))
+ "00cdlll5b0wj5ckl1pc0a3g39a0hlq0gxkcsh1f6p20fjixqzmwv"))))
(build-system glib-or-gtk-build-system)
(native-inputs
`(("pkg-config" ,pkg-config)
@@ -3510,7 +3562,7 @@ supports playlists, song ratings, and any codecs installed through gstreamer.")
(define-public eog
(package
(name "eog")
- (version "3.20.5")
+ (version "3.24.1")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/" name "/"
@@ -3518,7 +3570,7 @@ supports playlists, song ratings, and any codecs installed through gstreamer.")
name "-" version ".tar.xz"))
(sha256
(base32
- "0fqvfc4y1lbv0awh8dbx9khfha0hdkmnj1lzw5jq0l7jmahwbrz6"))))
+ "1rr7zy8afqgl15j1zz8l37svyv6bw4r3l04yf70zlnf1w8bf27pm"))))
(build-system glib-or-gtk-build-system)
(arguments
`(#:phases
@@ -3588,7 +3640,7 @@ part of udev-extras, then udev, then systemd. It's now a project on its own.")
(define-public gvfs
(package
(name "gvfs")
- (version "1.30.3")
+ (version "1.32.1")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/" name "/"
@@ -3596,7 +3648,7 @@ part of udev-extras, then udev, then systemd. It's now a project on its own.")
name "-" version ".tar.xz"))
(sha256
(base32
- "0xgis1kgglnazy1vm66xiqyz8yvvmiad3h0g3agg7ryai6aa495q"))))
+ "1pkahczniar1yyas7awcqpkb4ca8l7qa4msn6mr29m89mgnwkdnh"))))
(build-system gnu-build-system)
(arguments
'(#:tests? #f)) ; XXX: requiring `pidof'
@@ -3741,7 +3793,7 @@ work and the interface is well tested.")
(define-public epiphany
(package
(name "epiphany")
- (version "3.22.7")
+ (version "3.24.2")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/" name "/"
@@ -3749,7 +3801,7 @@ work and the interface is well tested.")
name "-" version ".tar.xz"))
(sha256
(base32
- "1167x5s0kawkqngjnzml0a11ib18raxqc4p11kacivj4jv0pwnx1"))))
+ "13f5h7mbxdyjf93jp46hiaxsrngpr6frgf69d8iza7arc060vg2s"))))
(build-system glib-or-gtk-build-system)
(arguments
;; FIXME: tests run under Xvfb, but fail with:
@@ -3772,6 +3824,7 @@ work and the interface is well tested.")
("glib-networking" ,glib-networking)
("gnome-desktop" ,gnome-desktop)
("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
+ ("json-glib" ,json-glib)
("iso-codes" ,iso-codes)
("libnotify" ,libnotify)
("libsecret" ,libsecret)
@@ -4002,7 +4055,7 @@ metadata in photo and video files of various formats.")
(define-public shotwell
(package
(name "shotwell")
- (version "0.25.5")
+ (version "0.26.1")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/" name "/"
@@ -4010,7 +4063,7 @@ metadata in photo and video files of various formats.")
name "-" version ".tar.xz"))
(sha256
(base32
- "10pv3v789hky8h7ladqzzmgvkmgy3c41n4xz0nnyjmpycwl26g29"))))
+ "0xak1f69lp1yx3p8jgmr9c0z3jypi8zjpy3kiknn5n9g2f5cqq0a"))))
(build-system glib-or-gtk-build-system)
(propagated-inputs
`(("dconf" ,dconf)))
@@ -4025,6 +4078,7 @@ metadata in photo and video files of various formats.")
`(("glib:bin" ,glib "bin")
("gstreamer" ,gstreamer)
("gst-plugins-base" ,gst-plugins-base)
+ ("libgdata" ,libgdata)
("libgee" ,libgee)
("gexiv2" ,gexiv2)
("libraw" ,libraw)
@@ -4048,7 +4102,7 @@ share them with others via social networking and more.")
(define-public file-roller
(package
(name "file-roller")
- (version "3.22.2")
+ (version "3.24.1")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/" name "/"
@@ -4056,7 +4110,7 @@ share them with others via social networking and more.")
name "-" version ".tar.xz"))
(sha256
(base32
- "1yaxd0lqhajszilblkidqfkaffhzml10l7ib64023y36qgf8q597"))))
+ "0fkz9h9a6149crmf6311fsqlmv9wyrxk86470vxib941ppl4a581"))))
(build-system glib-or-gtk-build-system)
(arguments
'(#:phases
@@ -4090,7 +4144,7 @@ such as gzip tarballs.")
(define-public gnome-session
(package
(name "gnome-session")
- (version "3.22.2")
+ (version "3.24.1")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/" name "/"
@@ -4098,7 +4152,7 @@ such as gzip tarballs.")
name "-" version ".tar.xz"))
(sha256
(base32
- "1xahljysbpnc1zafm1y2lqnmmqi2jh4fx7h2y48d9ipqnknk26in"))))
+ "1vkfjsgks9czajivcg3y1krzlnilv2cnzzbdc7wrasrriqilji1v"))))
(arguments
'(#:phases
(modify-phases %standard-phases
@@ -4169,7 +4223,7 @@ configuration program to choose applications starting on login.")
(define-public gjs
(package
(name "gjs")
- (version "1.46.0")
+ (version "1.48.3")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/" name "/"
@@ -4177,10 +4231,7 @@ configuration program to choose applications starting on login.")
name "-" version ".tar.xz"))
(sha256
(base32
- "1m2ssa6qsipbp8lz4xbhf0nhadhv0xkdpmz1jcvl9187lwgmk0r2"))
- (modules '((guix build utils)))
- (snippet '(substitute* "test/run-with-dbus"
- (("/bin/rm") "rm")))))
+ "0cqgv460wfhwkw6j1h46v6bg29bycg6dfl7c5rv0lfcqmmw7v6v6"))))
(build-system gnu-build-system)
(arguments
'(#:phases
@@ -4195,11 +4246,11 @@ configuration program to choose applications starting on login.")
;; For the missing /etc/machine-id.
(setenv "DBUS_FATAL_WARNINGS" "0")
- ;; XXX: fails with:
- ;; Failed to convert UTF-8 string to JS string: ...
- ;; TODO: actually fix it.
- (substitute* "installed-tests/js/testEverythingBasic.js"
- ((".*test_utf8_inout.*") ""))
+ ;; Our mozjs-38 package does not compile the required Intl API
+ ;; support for these failing tests.
+ (substitute* "installed-tests/js/testLocale.js"
+ ((".*toBeDefined.*") "")
+ ((".*expect\\(datestr\\).*") ""))
#t)))))
(native-inputs
`(("glib:bin" ,glib "bin") ; for glib-compile-resources
@@ -4211,8 +4262,9 @@ configuration program to choose applications starting on login.")
("xvfb" ,xorg-server)))
(propagated-inputs
;; These are all in the Requires.private field of gjs-1.0.pc.
- `(("gobject-introspection" ,gobject-introspection)
- ("mozjs" ,mozjs-24)))
+ `(("cairo" ,cairo)
+ ("gobject-introspection" ,gobject-introspection)
+ ("mozjs" ,mozjs-38)))
(inputs
`(("gtk+" ,gtk+)
("readline" ,readline)))
@@ -4286,7 +4338,7 @@ powerful general purpose text editor.")
(define-public zenity
(package
(name "zenity")
- (version "3.22.0")
+ (version "3.24.0")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/" name "/"
@@ -4294,7 +4346,7 @@ powerful general purpose text editor.")
name "-" version ".tar.xz"))
(sha256
(base32
- "0rp4l0vgyjhlkpk2imfwf7b05m1qxjrm8n8kp1rv70ykf48gmk8y"))))
+ "1xzpm63cib2xzr99phplhbcjzy7lahggk3gp60dvrrclxhka1w3g"))))
(build-system gnu-build-system)
(native-inputs
`(("gettext" ,gettext-minimal)
@@ -4311,24 +4363,21 @@ to display dialog boxes from the commandline and shell scripts.")
(license license:lgpl2.0+)))
(define-public mutter
- ;; Uses the gnome 3.22 branch that only contains bug fixes.
- (let ((commit "23c315ea7121e9bd108e2837d0b4beeba53c5e18"))
(package
(name "mutter")
- (version (git-version "3.22.2" "1" commit))
+ (version "3.24.2")
(source (origin
- (method git-fetch)
- (uri (git-reference
- (url "git://git.gnome.org/mutter")
- (commit commit)))
- (file-name (git-file-name name version))
+ (method url-fetch)
+ (uri (string-append "mirror://gnome/sources/" name "/"
+ (version-major+minor version) "/"
+ name "-" version ".tar.xz"))
(sha256
(base32
- "1v1f9xyzjr1ihmfwpq9kzlv2lyr9qn63ck8zny699mbp5hsi11mb"))))
- ;; NOTE: Since version 3.21.x, mutter now bundles and exports forked
- ;; versions of cogl and clutter. As a result, many of the inputs,
- ;; propagated-inputs, and configure flags used in cogl and clutter are
- ;; needed here as well.
+ "043q3384vwrkjdfhbwn9pwdml6z0g0ad0cj2fjnjzg6402i67071"))))
+ ;; NOTE: Since version 3.21.x, mutter now bundles and exports forked
+ ;; versions of cogl and clutter. As a result, many of the inputs,
+ ;; propagated-inputs, and configure flags used in cogl and clutter are
+ ;; needed here as well.
(build-system gnu-build-system)
(arguments
'(#:configure-flags
@@ -4337,8 +4386,7 @@ to display dialog boxes from the commandline and shell scripts.")
;; implicit declaration of function ?roundf?
(list "--enable-compile-warnings=minimum"
- "--disable-wayland" ; TODO enable wayland
- ;; "--enable-native-backend" ; TODO enable the native backend
+ "--enable-native-backend"
;; The following flags are needed for the bundled clutter
"--enable-x11-backend=yes"
@@ -4350,9 +4398,14 @@ to display dialog boxes from the commandline and shell scripts.")
"/lib/libGL.so"))
#:phases
(modify-phases %standard-phases
- (add-after 'unpack 'autoreconf
- (lambda _
- (zero? (system* "autoreconf" "-vfi")))))))
+ ;; Replace references to systemd libraries to elogind references.
+ (add-before 'configure 'use-elogind
+ (lambda _
+ (substitute* (list "configure"
+ "src/backends/native/meta-launcher.c"
+ "src/core/main.c")
+ (("systemd") "elogind"))
+ #t)))))
(native-inputs
`(("glib:bin" ,glib "bin") ; for glib-compile-schemas, etc.
("gobject-introspection" ,gobject-introspection)
@@ -4385,17 +4438,17 @@ to display dialog boxes from the commandline and shell scripts.")
("mesa" ,mesa)
("pango" ,pango)
("udev" ,eudev)
- ("wayland" ,wayland)
- ("wayland-protocols" ,wayland-protocols)
("xinput" ,xinput)))
(inputs
- `(("gnome-desktop" ,gnome-desktop)
+ `(("elogind" ,elogind)
+ ("gnome-desktop" ,gnome-desktop)
("libcanberra-gtk" ,libcanberra)
("libgudev" ,libgudev)
("libice" ,libice)
("libsm" ,libsm)
("libxkbfile" ,libxkbfile)
("libxrandr" ,libxrandr)
+ ("libxtst" ,libxtst)
("startup-notification" ,startup-notification)
("upower-glib" ,upower)
("xkeyboard-config" ,xkeyboard-config)
@@ -4407,12 +4460,12 @@ to display dialog boxes from the commandline and shell scripts.")
desktop via OpenGL. Mutter combines a sophisticated display engine using the
Clutter toolkit with solid window-management logic inherited from the Metacity
window manager.")
- (license license:gpl2+))))
+ (license license:gpl2+)))
(define-public gnome-online-accounts
(package
(name "gnome-online-accounts")
- (version "3.22.3")
+ (version "3.24.0")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/" name "/"
@@ -4420,7 +4473,7 @@ window manager.")
name "-" version ".tar.xz"))
(sha256
(base32
- "13wvnfh3hnasdnb6fhjssybj2327qihd32kpdjjb3r1qiyc8dvqb"))))
+ "0yy10znqj278lnhdiqjcqxrwwv5c1jdjd0ncjbbdyh8n0q77hbwy"))))
(build-system glib-or-gtk-build-system)
(native-inputs
`(("glib:bin" ,glib "bin") ; for glib-compile-schemas, etc.
@@ -4450,7 +4503,7 @@ Exchange, Last.fm, IMAP/SMTP, Jabber, SIP and Kerberos.")
(define-public evolution-data-server
(package
(name "evolution-data-server")
- (version "3.22.3")
+ (version "3.24.2")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/" name "/"
@@ -4458,26 +4511,20 @@ Exchange, Last.fm, IMAP/SMTP, Jabber, SIP and Kerberos.")
name "-" version ".tar.xz"))
(sha256
(base32
- "0kygd46s0is6i451bqykagrfx34wjvrgjbjyyszaabnppp1dyn0c"))))
- (build-system gnu-build-system)
+ "1ywqy939n27v3kchlnyxs6ikhjxmlasv6f08ap4bldgr121vkfx9"))))
+ (build-system cmake-build-system)
(arguments
- '(;; XXX: fails with:
- ;; /Fixture/Calendar0: cleaning up pid xxxx
- ;; t status: 139)
+ '(;; XXX FIXME: 11/85 tests are failing.
#:tests? #f
#:configure-flags
- (let ((nss (assoc-ref %build-inputs "nss"))
- (nspr (assoc-ref %build-inputs "nspr")))
- (list "--disable-uoa" ; disable Ubuntu Online Accounts support
- "--disable-google" ; disable Google Contacts support
- "--disable-google-auth" ; disable Google authentication
- "--enable-vala-bindings"
- (string-append "--with-nspr-includes=" nspr "/include/nspr")
- (string-append "--with-nss-includes=" nss "/include/nss")
- (string-append "--with-nss-libs=" nss "/lib/nss")))
+ (list "-DENABLE_UOA=OFF" ;disable Ubuntu Online Accounts support
+ "-DENABLE_GOOGLE=OFF" ;disable Google Contacts support
+ "-DENABLE_GOOGLE_AUTH=OFF" ;disable Google authentication
+ "-DENABLE_VALA_BINDINGS=ON"
+ "-DENABLE_INTROSPECTION=ON") ;required for Vala bindings
#:phases
(modify-phases %standard-phases
- (add-before 'check 'pre-check
+ (add-after 'unpack 'patch-paths
(lambda _
(substitute* "tests/test-server-utils/e-test-server-utils.c"
(("/bin/rm") (which "rm")))
@@ -4489,7 +4536,7 @@ Exchange, Last.fm, IMAP/SMTP, Jabber, SIP and Kerberos.")
("intltool" ,intltool)
("pkg-config" ,pkg-config)
("vala" ,vala)
- ("python" ,python)))
+ ("python" ,python-wrapper)))
(propagated-inputs
;; These are all in the Requires field of .pc files.
`(("gtk+" ,gtk+)
@@ -4502,7 +4549,9 @@ Exchange, Last.fm, IMAP/SMTP, Jabber, SIP and Kerberos.")
`(("bdb" ,bdb)
("gcr" ,gcr)
("gnome-online-accounts" ,gnome-online-accounts)
- ("libgweather" ,libgweather)))
+ ("libgweather" ,libgweather)
+ ("mit-krb5" ,mit-krb5)
+ ("openldap" ,openldap)))
(synopsis "Store address books and calendars")
(home-page "https://wiki.gnome.org/Apps/Evolution")
(description
@@ -4800,7 +4849,7 @@ libxml2.")
(define-public gdm
(package
(name "gdm")
- (version "3.22.1")
+ (version "3.24.2")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/" name "/"
@@ -4808,7 +4857,7 @@ libxml2.")
name "-" version ".tar.xz"))
(sha256
(base32
- "17wnsrv91mx14xp96wrc21g2hsjjc38yhbkw55kf7hk3yliychva"))))
+ "1s2xzrwcjhfb4ra8jrxqfycs1jpv97id0f6idb2h6vjkspxbjy23"))))
(build-system gnu-build-system)
(arguments
'(#:configure-flags
@@ -4887,7 +4936,7 @@ usage and information about running processes.")
(define-public gnome-bluetooth
(package
(name "gnome-bluetooth")
- (version "3.20.0")
+ (version "3.20.1")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/" name "/"
@@ -4895,7 +4944,7 @@ usage and information about running processes.")
name "-" version ".tar.xz"))
(sha256
(base32
- "0lzbwk2kn7kp39sv5bf4ja92mfkxkc27gxxk8k86i8a8ncbcmcwk"))))
+ "1zlqcz6jz4vzzr8gd1678i9s4015kiwcpr5szrwz4kmryfsm147a"))))
(build-system glib-or-gtk-build-system)
(native-inputs
`(("glib:bin" ,glib "bin") ; for gdbus-codegen, etc.
@@ -4920,7 +4969,7 @@ devices using the GNOME desktop.")
(define-public gnome-control-center
(package
(name "gnome-control-center")
- (version "3.22.1")
+ (version "3.24.2")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/" name "/"
@@ -4928,7 +4977,7 @@ devices using the GNOME desktop.")
name "-" version ".tar.xz"))
(sha256
(base32
- "06h9937sjfrzjf36pxqybg4wmkc5xdhbxgdkclnkjxiiqidjjsax"))))
+ "0awga40jh6gvn335mn6kyl6yg79frap1znrsz3sw2m27yldlnaiq"))))
(build-system glib-or-gtk-build-system)
(arguments
'(#:phases
@@ -4991,16 +5040,15 @@ properties, screen resolution, and other GNOME parameters.")
(define-public gnome-shell
(package
(name "gnome-shell")
- (version "3.22.2")
+ (version "3.24.2")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/" name "/"
(version-major+minor version) "/"
name "-" version ".tar.xz"))
- (patches (search-patches "gnome-shell-CVE-2017-8288.patch"))
(sha256
(base32
- "16smvjfrpyfphv479hjky5261hgl4kli4q86bcb2b8xdcav4w3yq"))))
+ "1xp2ccmdrvzlczsrcplykwqwx2v4lbmkr0rxyylb06danlw9mivh"))))
(build-system glib-or-gtk-build-system)
(arguments
'(#:phases
@@ -5201,7 +5249,7 @@ shared object databases, search tools and indexing.")
(define-public nautilus
(package
(name "nautilus")
- (version "3.22.2")
+ (version "3.24.1")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/" name "/"
@@ -5209,7 +5257,7 @@ shared object databases, search tools and indexing.")
name "-" version ".tar.xz"))
(sha256
(base32
- "1cv5xsah04svxx0b6di7iah9gcwk6na2c6lp442pal9v2ybrw76f"))))
+ "1cn6bmzmahzlwcd4gllsvx6dva386xm3papgzpv1r34abw73sf27"))))
(build-system glib-or-gtk-build-system)
(arguments
'(#:configure-flags
@@ -5281,7 +5329,7 @@ is complete it provides a graphical representation of each selected folder.")
(define-public gnome-backgrounds
(package
(name "gnome-backgrounds")
- (version "3.22.1")
+ (version "3.24.0")
(source
(origin
(method url-fetch)
@@ -5290,7 +5338,7 @@ is complete it provides a graphical representation of each selected folder.")
name "-" version ".tar.xz"))
(sha256
(base32
- "09gfdrm1kaz2knyghhjb0ka1kklgbcbnqgy4c90bg0v3n899ij5z"))))
+ "1jkikis9k3psp6rb8axnqy86awdyg5rzfbcp9gx40a99b4hlrnnb"))))
(build-system glib-or-gtk-build-system)
(native-inputs
`(("intltool" ,intltool)))
@@ -5509,7 +5557,7 @@ Microsoft SkyDrive and Hotmail, using their REST protocols.")
(define-public gnome-calendar
(package
(name "gnome-calendar")
- (version "3.22.2")
+ (version "3.24.2")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/" name "/"
@@ -5517,7 +5565,7 @@ Microsoft SkyDrive and Hotmail, using their REST protocols.")
name "-" version ".tar.xz"))
(sha256
(base32
- "03wivk7hbyqrqcrd7jg0m2xj6q13248la2184qkf7zncnj72g5ih"))))
+ "0lc0xdgn0y12i87775xyy0p3a5l82w9k49cmwl1my8r8pwf9lp6s"))))
(build-system glib-or-gtk-build-system)
(native-inputs
`(("intltool" ,intltool)
@@ -5538,7 +5586,7 @@ desktop. It supports multiple calendars, monthly view and yearly view.")
(define-public gnome-dictionary
(package
(name "gnome-dictionary")
- (version "3.20.0")
+ (version "3.24.0")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/" name "/"
@@ -5546,7 +5594,7 @@ desktop. It supports multiple calendars, monthly view and yearly view.")
name "-" version ".tar.xz"))
(sha256
(base32
- "08b1f5s5aqka3dwxnzmwr2fmyddjm9xw7zmqsf8r5zvfsivn7czg"))))
+ "1wnrpg8yndacq0xnzc84d519yp7f28brzklm3a48xcgs1i50drs1"))))
(build-system glib-or-gtk-build-system)
(native-inputs
`(("glib:bin" ,glib "bin")
@@ -5568,7 +5616,7 @@ existing databases over the internet.")
(define-public gnome-tweak-tool
(package
(name "gnome-tweak-tool")
- (version "3.22.0")
+ (version "3.24.0")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/gnome-tweak-tool/"
@@ -5578,7 +5626,7 @@ existing databases over the internet.")
(search-patch "gnome-tweak-tool-search-paths.patch")))
(sha256
(base32
- "1frs16p2284mdw65g1ldmf9cz5sn3rg16wz58gjrw5pn2cgf2six"))))
+ "000ygz9wgnv8pimb6rwbjfm12vbx4138pwkq36ci0k6v827282wk"))))
(build-system glib-or-gtk-build-system)
(arguments
`(#:configure-flags '("--localstatedir=/tmp"
@@ -5619,7 +5667,7 @@ GNOME Shell appearance and extension, etc.")
(define-public gnome-shell-extensions
(package
(name "gnome-shell-extensions")
- (version "3.22.2")
+ (version "3.24.2")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/" name "/"
@@ -5627,7 +5675,7 @@ GNOME Shell appearance and extension, etc.")
name "-" version ".tar.xz"))
(sha256
(base32
- "11wa4f9arr89a4y8nsvla5j58dzwlawjb2q1lz0jn5i9kv324z6z"))))
+ "10sg87wml5cmyk90pybnr6r942ba7173sl7yplhj2sfggp0wc74s"))))
(build-system gnu-build-system)
(arguments
'(#:configure-flags '("--enable-extensions=all")))
@@ -5883,7 +5931,7 @@ handling the startup notification side.")
(define-public gnome-calculator
(package
(name "gnome-calculator")
- (version "3.22.2")
+ (version "3.24.0")
(source
(origin
(method url-fetch)
@@ -5892,7 +5940,7 @@ handling the startup notification side.")
name "-" version ".tar.xz"))
(sha256
(base32
- "03il7xl4yr6xbzj6x1lbl16yzlb166c9h9wny1w7mj9dccnz99wr"))))
+ "041d40as8y0r5d0kk83dy842711zchydwwqh71kh1lpd373qlxa4"))))
(build-system glib-or-gtk-build-system)
(native-inputs
`(("glib:bin" ,glib "bin") ; for glib-compile-schemas, gio-2.0.
@@ -5902,6 +5950,7 @@ handling the startup notification side.")
(inputs
`(("gtksourceview" ,gtksourceview)
("libsoup" ,libsoup)
+ ("mpc" ,mpc)
("mpfr" ,mpfr)))
(home-page "https://wiki.gnome.org/Apps/Calculator")
(synopsis "Desktop calculator")
@@ -6005,7 +6054,7 @@ Bluefish supports many programming and markup languages.")
(define-public gnome-system-monitor
(package
(name "gnome-system-monitor")
- (version "3.22.2")
+ (version "3.24.0")
(source
(origin
(method url-fetch)
@@ -6014,7 +6063,7 @@ Bluefish supports many programming and markup languages.")
name "-" version ".tar.xz"))
(sha256
(base32
- "10n9bl2q9xxnd6mfi4scfw5x0xyyzvnblz26q9gl8vks2nbv19b8"))))
+ "1x3343hchkllj8wyifk844v8psi45kyjhphyd03fzahi4h34aay3"))))
(build-system glib-or-gtk-build-system)
(native-inputs
`(("glib:bin" ,glib "bin") ; for glib-mkenums.
diff --git a/gnu/packages/gnupg.scm b/gnu/packages/gnupg.scm
index 5c04745ff5..d4d52ee6d0 100644
--- a/gnu/packages/gnupg.scm
+++ b/gnu/packages/gnupg.scm
@@ -407,6 +407,35 @@ instead. This way bug fixes or improvements can be done at a central place
and every application benefits from this.")
(license license:lgpl2.1+)))
+(define-public qgpgme
+ (package
+ (inherit gpgme)
+ (name "qgpgme")
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (add-before 'build 'chdir-and-symlink
+ (lambda* (#:key inputs #:allow-other-keys)
+ (let ((gpgme (assoc-ref inputs "gpgme")))
+ (symlink (string-append gpgme "/lib/libgpgmepp.la")
+ "lang/cpp/src/libgpgmepp.la")
+ (symlink (string-append gpgme "/lib/libgpgme.la")
+ "src/libgpgme.la"))
+ (chdir "lang/qt")
+ #t)))))
+ (native-inputs
+ `(("pkg-config" ,pkg-config)))
+ (inputs
+ `(("gpgme" ,gpgme)
+ ("qtbase" ,qtbase)
+ ,@(package-inputs gpgme)))
+ (synopsis "Qt API bindings for gpgme")
+ (description "QGpgme provides a very high level Qt API around GpgMEpp.
+
+QGpgME was originally developed as part of libkleo and incorporated into
+gpgpme starting with version 1.7.")
+ (license license:gpl2+))) ;; Note: this differs from gpgme
+
(define-public python-gpg
(package
(name "python-gpg")
diff --git a/gnu/packages/graphics.scm b/gnu/packages/graphics.scm
index cc1497cb8d..4fa4033246 100644
--- a/gnu/packages/graphics.scm
+++ b/gnu/packages/graphics.scm
@@ -5,6 +5,7 @@
;;; Copyright © 2016, 2017 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016 Andreas Enge <andreas@enge.fr>
+;;; Copyright © 2017 Manolis Fragkiskos Ragkousis <manolis837@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -54,6 +55,7 @@
#:use-module (gnu packages image)
#:use-module (gnu packages jemalloc)
#:use-module (gnu packages photo)
+ #:use-module (gnu packages pth)
#:use-module (gnu packages python)
#:use-module (gnu packages qt)
#:use-module (gnu packages readline)
@@ -318,6 +320,47 @@ visual effects work for film.")
(home-page "http://www.openimageio.org")
(license license:bsd-3)))
+(define-public openscenegraph
+ (package
+ (name "openscenegraph")
+ (version "3.4.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "http://trac.openscenegraph.org/downloads/developer_releases/"
+ "OpenSceneGraph-" version ".zip"))
+ (sha256
+ (base32
+ "03h4wfqqk7rf3mpz0sa99gy715cwpala7964z2npd8jxfn27swjw"))
+ (patches (search-patches "openscenegraph-ffmpeg3.patch"))
+ (file-name (string-append name "-" version ".zip"))))
+ (build-system cmake-build-system)
+ (arguments
+ `(#:tests? #f ;; No test target available.
+ #:configure-flags
+ (list (string-append "-DCMAKE_INSTALL_RPATH="
+ (assoc-ref %outputs "out") "/lib:"
+ (assoc-ref %outputs "out") "/lib64"))))
+ (native-inputs
+ `(("unzip" ,unzip)))
+ (inputs
+ `(("giflib", giflib)
+ ("jasper", jasper)
+ ("librsvg", librsvg)
+ ("pth", pth)
+ ("qtbase", qtbase)
+ ("ffmpeg", ffmpeg)
+ ("mesa", mesa)))
+ (synopsis "High performance real-time graphics toolkit")
+ (description
+ "The OpenSceneGraph is a high performance 3D graphics toolkit
+used by application developers in fields such as visual simulation, games,
+virtual reality, scientific visualization and modeling.")
+ (home-page "http://www.openscenegraph.org")
+ ;; The 'LICENSE' file explains that the source is licensed under
+ ;; LGPL 2.1, but with 4 exceptions. This version is called OSGPL.
+ (license license:lgpl2.1)))
+
(define-public rapicorn
(package
(name "rapicorn")
diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm
index d250caff4a..1d9ee15246 100644
--- a/gnu/packages/gtk.scm
+++ b/gnu/packages/gtk.scm
@@ -50,6 +50,7 @@
#:use-module (gnu packages docbook)
#:use-module (gnu packages enchant)
#:use-module (gnu packages fontutils)
+ #:use-module (gnu packages freedesktop)
#:use-module (gnu packages gettext)
#:use-module (gnu packages ghostscript)
#:use-module (gnu packages gl)
@@ -72,7 +73,7 @@
(define-public atk
(package
(name "atk")
- (version "2.22.0")
+ (version "2.24.0")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/" name "/"
@@ -80,7 +81,7 @@
name "-" version ".tar.xz"))
(sha256
(base32
- "1dj47ndvspa7lghw1jvjhv3v08q5f9ab5rb395mcgjbl975gajfk"))))
+ "0jbs90vacl95mwgvmqsizi1bwx5sw0rz70r9knksfwwch2dalbdv"))))
(build-system gnu-build-system)
(outputs '("out" "doc"))
(arguments
@@ -170,7 +171,7 @@ affine transformation (scale, rotation, shear, etc.).")
(define-public harfbuzz
(package
(name "harfbuzz")
- (version "1.4.3")
+ (version "1.4.6")
(source (origin
(method url-fetch)
(uri (string-append "https://www.freedesktop.org/software/"
@@ -178,7 +179,7 @@ affine transformation (scale, rotation, shear, etc.).")
version ".tar.bz2"))
(sha256
(base32
- "08akv3qzwnf48xajb60dfcchkmfdjkpp65a0xd8s98w81901g343"))))
+ "14yj514yfy373np3gxk930a443j1zgnwg6mm0kdzzjr0rn0qp9r1"))))
(build-system gnu-build-system)
(outputs '("out"
"bin")) ; 160K, only hb-view depend on cairo
@@ -208,7 +209,7 @@ affine transformation (scale, rotation, shear, etc.).")
(define-public pango
(package
(name "pango")
- (version "1.40.5")
+ (version "1.40.6")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/pango/"
@@ -216,7 +217,7 @@ affine transformation (scale, rotation, shear, etc.).")
name "-" version ".tar.xz"))
(sha256
(base32
- "1j81kmdq2kndayahfck60myd05hj5qd7mixj0w5kchkc8m082x14"))))
+ "0wz5b5knpw4gfvz3ny8l6h2ca3bpqqyh55mffkyzgsd1hdrjn5fa"))))
(build-system gnu-build-system)
(propagated-inputs
`(("cairo" ,cairo)
@@ -378,7 +379,7 @@ printing and other features typical of a source code editor.")
(define-public gtksourceview
(package
(name "gtksourceview")
- (version "3.22.2")
+ (version "3.24.2")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/" name "/"
@@ -386,7 +387,7 @@ printing and other features typical of a source code editor.")
name "-" version ".tar.xz"))
(sha256
(base32
- "0pmgff3p9q1z500aiqfn5l4mmij4yfi4qhq8fxscqc89vlql5s3c"))))
+ "17xqrnh2v9gba57ij2m9kngxwh19fzsqkx1rfasnv4zaqvqqhv69"))))
(build-system gnu-build-system)
(arguments
'(#:phases
@@ -508,7 +509,7 @@ in the GNOME project.")
(define-public at-spi2-core
(package
(name "at-spi2-core")
- (version "2.22.0")
+ (version "2.24.1")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/" name "/"
@@ -516,7 +517,7 @@ in the GNOME project.")
name "-" version ".tar.xz"))
(sha256
(base32
- "02n8ybhg8344mpjwvkhnzvr0qbvvl6ryi2q9irwhi0ri46ps6pj1"))))
+ "0nwvjmd30rgq6d1zznavx0bdfa1xwv3jl8wnkbkwzaipp5jd140y"))))
(build-system gnu-build-system)
(outputs '("out" "doc"))
(arguments
@@ -553,7 +554,7 @@ is part of the GNOME accessibility project.")
(define-public at-spi2-atk
(package
(name "at-spi2-atk")
- (version "2.22.0")
+ (version "2.24.1")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/" name "/"
@@ -561,7 +562,7 @@ is part of the GNOME accessibility project.")
name "-" version ".tar.xz"))
(sha256
(base32
- "1h8k271ad78smm41c9bmw5dc4gki0wfy324cn2g25svkp2zfvgg8"))))
+ "0zcmsq7g4jg5dpmfzkyfpa0v6hx4119c4qwkdblzzf3l9yn91p30"))))
(build-system gnu-build-system)
(arguments
'(#:phases
@@ -653,7 +654,7 @@ application suites.")
(name "gtk+")
;; NOTE: When updating the version of 'gtk+', the hash of 'mate-themes' in
;; mate.scm will also need to be updated.
- (version "3.22.12")
+ (version "3.22.15")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/" name "/"
@@ -661,7 +662,7 @@ application suites.")
name "-" version ".tar.xz"))
(sha256
(base32
- "1359w81sxs2izkan2rni985x78s6zr1arf469qmyw4bazg7f1yl4"))
+ "1nqgb71vx222g9fd2p017948hqybnyi69xs3n2d64clim7115868"))
(patches (search-patches "gtk3-respect-GUIX_GTK3_PATH.patch"
"gtk3-respect-GUIX_GTK3_IM_MODULE_FILE.patch"))))
(outputs '("out" "bin" "doc"))
@@ -673,8 +674,12 @@ application suites.")
("libxcursor" ,libxcursor)
("libxi" ,libxi)
("libxinerama" ,libxinerama)
+ ("libxkbcommon" ,libxkbcommon)
("libxdamage" ,libxdamage)
- ("pango" ,pango)))
+ ("mesa" ,mesa)
+ ("pango" ,pango)
+ ("wayland" ,wayland)
+ ("wayland-protocols" ,wayland-protocols)))
(inputs
`(("libxml2" ,libxml2)
;; XXX: colord depends on mozjs (through polkit), which fails on
@@ -700,7 +705,12 @@ application suites.")
;; to "doc".
#:configure-flags (list (string-append "--with-html-dir="
(assoc-ref %outputs "doc")
- "/share/gtk-doc/html"))
+ "/share/gtk-doc/html")
+ ;; The header file <gdk/gdkwayland.h> is required
+ ;; by gnome-control-center
+ "--enable-wayland-backend"
+ ;; This is necessary to build both backends.
+ "--enable-x11-backend")
#:phases (modify-phases %standard-phases
(add-before 'configure 'pre-configure
(lambda _
diff --git a/gnu/packages/image-viewers.scm b/gnu/packages/image-viewers.scm
index 768ed325bd..7a0080b27b 100644
--- a/gnu/packages/image-viewers.scm
+++ b/gnu/packages/image-viewers.scm
@@ -54,7 +54,7 @@
(define-public feh
(package
(name "feh")
- (version "2.18.3")
+ (version "2.19")
(home-page "https://feh.finalrewind.org/")
(source (origin
(method url-fetch)
@@ -62,7 +62,7 @@
name "-" version ".tar.bz2"))
(sha256
(base32
- "0qq567d0g181k6llr6p759lnni39va5xakjqngd6063fm73nhbyq"))))
+ "1sfhr6628xpj9p6bqihdq35y139x2gmrpydjlrwsl1rs77c2bgnf"))))
(build-system gnu-build-system)
(arguments
'(#:phases (alist-delete 'configure %standard-phases)
diff --git a/gnu/packages/imagemagick.scm b/gnu/packages/imagemagick.scm
index 5928b30e00..a0ca4528f9 100644
--- a/gnu/packages/imagemagick.scm
+++ b/gnu/packages/imagemagick.scm
@@ -46,14 +46,14 @@
;; The 7 release series has an incompatible API, while the 6 series is still
;; maintained. Don't update to 7 until we've made sure that the ImageMagick
;; users are ready for the 7-series API.
- (version "6.9.8-6")
+ (version "6.9.8-9")
(source (origin
(method url-fetch)
(uri (string-append "mirror://imagemagick/ImageMagick-"
version ".tar.xz"))
(sha256
(base32
- "1sxg2wx3nrzbymh5wcqiv1x401nrz95xkrqgk3x446vx8lq7ln6w"))))
+ "0wr6wcmvaw62f6pkgnpqnjmp331wfwmds9wmqzr4zv53s9k1lkzn"))))
(build-system gnu-build-system)
(arguments
`(#:configure-flags '("--with-frozenpaths" "--without-gcc-arch")
diff --git a/gnu/packages/irc.scm b/gnu/packages/irc.scm
index 30e14a0914..ad167a6e99 100644
--- a/gnu/packages/irc.scm
+++ b/gnu/packages/irc.scm
@@ -102,7 +102,7 @@ irssi, but graphical.")
(define-public irssi
(package
(name "irssi")
- (version "1.0.2")
+ (version "1.0.3")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/irssi/irssi/"
@@ -110,7 +110,7 @@ irssi, but graphical.")
version ".tar.xz"))
(sha256
(base32
- "1sgvfprgrncbxcyg99rkd10kpjzqw00b1ppsfg8al0zirb13q72w"))))
+ "10gmmxk5jgyigarks177nyvzb0lsfxcm00015p2cirybgllj10l3"))))
(build-system gnu-build-system)
(arguments
`(#:phases
diff --git a/gnu/packages/javascript.scm b/gnu/packages/javascript.scm
new file mode 100644
index 0000000000..6746ad1d22
--- /dev/null
+++ b/gnu/packages/javascript.scm
@@ -0,0 +1,85 @@
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2017 Arun Isaac <arunisaac@systemreboot.net>
+;;;
+;;; 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 javascript)
+ #:use-module ((guix licenses) #:prefix license:)
+ #:use-module (gnu packages)
+ #:use-module (gnu packages base)
+ #:use-module (gnu packages compression)
+ #:use-module (gnu packages fonts)
+ #:use-module (gnu packages lisp)
+ #:use-module (guix packages)
+ #:use-module (guix download)
+ #:use-module (guix build-system trivial))
+
+(define-public js-mathjax
+ (package
+ (inherit font-mathjax)
+ (name "js-mathjax")
+ (arguments
+ `(#:modules ((guix build utils))
+ #:builder
+ (begin
+ (use-modules (guix build utils)
+ (ice-9 match)
+ (ice-9 popen)
+ (ice-9 regex))
+ (set-path-environment-variable
+ "PATH" '("bin") (map (match-lambda
+ ((_ . input)
+ input))
+ %build-inputs))
+ (set-path-environment-variable
+ "GUIX_LOCPATH" '("lib/locale")
+ (list (assoc-ref %build-inputs "glibc-utf8-locales")))
+ (setenv "LANG" "en_US.UTF-8")
+ (let ((install-directory (string-append %output "/share/javascript/mathjax")))
+ (system* "tar" "xvf" (assoc-ref %build-inputs "source")
+ "MathJax-2.7.1/unpacked" "--strip" "2")
+ (mkdir-p install-directory)
+ (symlink (string-append (assoc-ref %build-inputs "font-mathjax")
+ "/share/fonts/mathjax")
+ (string-append install-directory "/fonts"))
+
+ (for-each
+ (lambda (file)
+ (let ((installed (string-append install-directory
+ ;; remove prefix "."
+ (string-drop file 1))))
+ (format #t "~a -> ~a~%" file installed)
+ (cond
+ ((string-match "\\.js$" file)
+ (mkdir-p (dirname installed))
+ (let ((minified (open-pipe* OPEN_READ "uglify-js" file)))
+ (call-with-output-file installed
+ (lambda (port)
+ (dump-port minified port)))))
+ (else
+ (install-file file (dirname installed))))))
+ (find-files "."))))))
+ (native-inputs
+ `(("font-mathjax" ,font-mathjax)
+ ("glibc-utf8-locales" ,glibc-utf8-locales)
+ ("uglify-js" ,uglify-js)
+ ,@(package-native-inputs font-mathjax)))
+ (synopsis "JavaScript display engine for LaTeX, MathML, and AsciiMath")
+ (description "MathJax is a JavaScript display engine for LaTeX, MathML,
+and AsciiMath notation that works in all modern browsers. It requires no
+plugins or software to be installed on the browser. So the page author can
+write web documents that include mathematics and be confident that readers will
+be able to view it naturally and easily.")))
diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm
index 5a3490fdf1..c101135db7 100644
--- a/gnu/packages/linux.scm
+++ b/gnu/packages/linux.scm
@@ -1043,7 +1043,7 @@ packet filter.")
(define-public iproute
(package
(name "iproute2")
- (version "4.10.0")
+ (version "4.11.0")
(source (origin
(method url-fetch)
(uri (string-append
@@ -1051,7 +1051,7 @@ packet filter.")
version ".tar.xz"))
(sha256
(base32
- "1a59y1zkddvr7z0lh2y9iasbh9wpfc1n39p56xcd6jkhzk0y3c92"))))
+ "09l0phf09mw17bn3xlzfr80sbhw14mq8xv28iz5x15m6pll10rvj"))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f ; no test suite
@@ -1291,15 +1291,16 @@ transparently through a bridge.")
(define-public libnl
(package
(name "libnl")
- (version "3.2.25")
+ (version "3.3.0")
(source (origin
(method url-fetch)
(uri (string-append
- "http://www.infradead.org/~tgr/libnl/files/libnl-"
- version ".tar.gz"))
+ "https://github.com/thom311/libnl/releases/download/"
+ "libnl" (string-join (string-split version #\.) "_")
+ "/libnl-" version ".tar.gz"))
(sha256
(base32
- "1icfrv8yihcb74as1gcgmp0wfpdq632q2zvbvqqvjms9cy87bswb"))))
+ "1r3lw3hjvqxi5zqyq2w1qadm3gisd9nlf71dkl4yplacmssnhm3h"))))
(build-system gnu-build-system)
(native-inputs `(("flex" ,flex) ("bison" ,bison)))
(home-page "http://www.infradead.org/~tgr/libnl/")
@@ -2801,7 +2802,7 @@ Bluetooth audio output devices like headphones or loudspeakers.")
(define-public bluez
(package
(name "bluez")
- (version "5.44")
+ (version "5.45")
(source (origin
(method url-fetch)
(uri (string-append
@@ -2809,7 +2810,7 @@ Bluetooth audio output devices like headphones or loudspeakers.")
version ".tar.xz"))
(sha256
(base32
- "11bc6pndivd0rkqr3c8a1xd9ar9bb60gx79piskycicb3wliwchc"))))
+ "1sb4aflgyrl7apricjipa8wx95qm69yja0lmn2f19g560c3v1b2c"))))
(build-system gnu-build-system)
(arguments
'(#:configure-flags
@@ -2861,7 +2862,7 @@ is flexible, efficient and uses a modular implementation.")
(define-public fuse-exfat
(package
(name "fuse-exfat")
- (version "1.2.6")
+ (version "1.2.7")
(source (origin
(method url-fetch)
(uri (string-append
@@ -2869,7 +2870,7 @@ is flexible, efficient and uses a modular implementation.")
version "/" name "-" version ".tar.gz"))
(sha256
(base32
- "1rvq4hapy2anal1vg1yidv4x8rg4iw5sxfwqixkw0q2qsxb54471"))))
+ "0df0ccnd0dgwc6rvk9qmrz0nfb8whc5s3wg9qnw1mzbrh4rcvhw2"))))
(build-system gnu-build-system)
(native-inputs
`(("pkg-config" ,pkg-config)))
diff --git a/gnu/packages/mail.scm b/gnu/packages/mail.scm
index 9cb88fdee0..02a4f26022 100644
--- a/gnu/packages/mail.scm
+++ b/gnu/packages/mail.scm
@@ -1089,7 +1089,7 @@ facilities for checking incoming mail.")
(define-public dovecot
(package
(name "dovecot")
- (version "2.2.30.1")
+ (version "2.2.30.2")
(source
(origin
(method url-fetch)
@@ -1097,7 +1097,7 @@ facilities for checking incoming mail.")
(version-major+minor version) "/"
name "-" version ".tar.gz"))
(sha256 (base32
- "1943n0b9zcwvymslai9qmdmnfy47zdnqjwkql586imycyx4xnjch"))))
+ "17hqhzfqlk08d20x9rwi0lyvy13pc0x8sr1zcg89vapf3jfagnzk"))))
(build-system gnu-build-system)
(native-inputs
`(("pkg-config" ,pkg-config)))
diff --git a/gnu/packages/mate.scm b/gnu/packages/mate.scm
index c8c7c63ee5..a39cd25d30 100644
--- a/gnu/packages/mate.scm
+++ b/gnu/packages/mate.scm
@@ -61,7 +61,7 @@
(define-public mate-themes
(package
(name "mate-themes")
- (version "3.22.10")
+ (version "3.22.11")
(source (origin
(method url-fetch)
(uri (string-append "http://pub.mate-desktop.org/releases/themes/"
@@ -69,7 +69,7 @@
version ".tar.xz"))
(sha256
(base32
- "03ficjfxa4qpx4vcshhk2zxryivckxpw7wcjgbn8xqnjk3lgzjcb"))))
+ "1gfa1cny3q68y139m96iz8haiik6ygad5613gx0m4wd9hi5scafm"))))
(build-system gnu-build-system)
(native-inputs
`(("pkg-config" ,pkg-config)
diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm
index 16896502ea..94109b559a 100644
--- a/gnu/packages/maths.scm
+++ b/gnu/packages/maths.scm
@@ -2047,7 +2047,7 @@ to BMP, JPEG or PNG image formats.")
(define-public maxima
(package
(name "maxima")
- (version "5.39.0")
+ (version "5.40.0")
(source
(origin
(method url-fetch)
@@ -2055,7 +2055,7 @@ to BMP, JPEG or PNG image formats.")
version "-source/" name "-" version ".tar.gz"))
(sha256
(base32
- "1cvignn5y6qzrby6qb885yc8zdcdqdr1d50vcvc3gapw2f0gk3zm"))
+ "15pp35ayglv723bjbqc60gcdv2bm54s6pywsm4i4cwbjsf64dzkl"))
(patches (search-patches "maxima-defsystem-mkdir.patch"))))
(build-system gnu-build-system)
(inputs
diff --git a/gnu/packages/mtools.scm b/gnu/packages/mtools.scm
index 4261162427..2ac78c500a 100644
--- a/gnu/packages/mtools.scm
+++ b/gnu/packages/mtools.scm
@@ -48,7 +48,7 @@ FAT-specific file attributes.")
(define-public exfat-utils
(package
(name "exfat-utils")
- (version "1.2.6")
+ (version "1.2.7")
(source (origin
(method url-fetch)
(uri (string-append
@@ -56,7 +56,7 @@ FAT-specific file attributes.")
version "/" name "-" version ".tar.gz"))
(sha256
(base32
- "0hxcz0y3rd79nycjlzaca9wh9qj64rw8rzm0xk4jk9ljry96csxr"))))
+ "1r7z3n1zxkvlqf1wv7pg0jwlr1144wznd0slfckpsb5rap8k4q9q"))))
(build-system gnu-build-system)
(home-page "https://github.com/relan/exfat")
(synopsis "Utilities to manipulate exFAT file systems")
diff --git a/gnu/packages/networking.scm b/gnu/packages/networking.scm
index 1e22b70329..57a02e9f4a 100644
--- a/gnu/packages/networking.scm
+++ b/gnu/packages/networking.scm
@@ -306,14 +306,14 @@ receiving NDP messages.")
(define-public ethtool
(package
(name "ethtool")
- (version "4.10")
+ (version "4.11")
(source (origin
(method url-fetch)
(uri (string-append "mirror://kernel.org/software/network/"
name "/" name "-" version ".tar.xz"))
(sha256
(base32
- "1fklbjwr41cvd5b7d1qvpl3bqzc4aak732r3m2wjhhgkxhk9f07h"))))
+ "1cp132kk2xd2cwn1ysjv0cl8i9lnq3n4zi4wy676p5k4h2mfvn0j"))))
(build-system gnu-build-system)
(home-page "https://www.kernel.org/pub/software/network/ethtool/")
(synopsis "Display or change Ethernet device settings")
diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index 863e367a5b..68619019f1 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -448,6 +448,10 @@ written in Objective Caml.")
(sha256
(base32
"0wyywia0darak2zmc5v0ra9rn0b9whwdfiahralm8v5za499s8w3"))))
+ (native-search-paths
+ (list (search-path-specification
+ (variable "COQPATH")
+ (files (list "lib/coq/user-contrib")))))
(build-system gnu-build-system)
(native-inputs
`(("texlive" ,texlive)
@@ -2907,3 +2911,245 @@ the expected output.")
(synopsis "Standard Jane Street ppx rewriters")
(description "Ppx_jane is a ppx_driver including all standard ppx rewriters.")
(license license:asl2.0)))
+
+(define-public ocaml-core-kernel
+ (package
+ (name "ocaml-core-kernel")
+ (version "113.33.03")
+ (source (janestreet-origin "core_kernel" version
+ "0fl23jrwivixawhxinbwaw9cabqnzn7fini7dxpxjjvkxdc8ip5y"))
+ (native-inputs
+ `(("js-build-tools" ,ocaml-js-build-tools)
+ ("ppx-jane" ,ocaml-ppx-jane)
+ ("opam" ,opam)))
+ (propagated-inputs
+ `(("bin_prot" ,ocaml-bin-prot)
+ ("ppx-assert" ,ocaml-ppx-assert)
+ ("ppx-bench" ,ocaml-ppx-bench)
+ ("ppx-driver" ,ocaml-ppx-driver)
+ ("ppx-expect" ,ocaml-ppx-expect)
+ ("ppx-inline-test" ,ocaml-ppx-inline-test)
+ ("typerep" ,ocaml-typerep)
+ ("sexplib" ,ocaml-sexplib)
+ ("variantslib" ,ocaml-variantslib)
+ ("result" ,ocaml-result)
+ ("fieldslib" ,ocaml-fieldslib)))
+ (build-system ocaml-build-system)
+ (arguments janestreet-arguments)
+ (home-page "https://github.com/janestreet/core_kernel/")
+ (synopsis "Portable standard library for OCaml")
+ (description "Core is an alternative to the OCaml standard library.
+
+Core_kernel is the system-independent part of Core. It is aimed for cases when
+the full Core is not available, such as in Javascript.")
+ (license license:asl2.0)))
+
+(define-public ocaml-async-kernel
+ (package
+ (name "ocaml-async-kernel")
+ (version "113.33.03")
+ (source (janestreet-origin "async_kernel" version
+ "04bjsaa23j831r09r38x6xx9nhryvp0z5ihickvhxqa4fb2snyvd"))
+ (native-inputs
+ `(("oasis" ,ocaml-oasis)
+ ("js-build-tools" ,ocaml-js-build-tools)
+ ("ppx-jane" ,ocaml-ppx-jane)
+ ("opam" ,opam)))
+ (propagated-inputs
+ `(("core-kernel" ,ocaml-core-kernel)))
+ (build-system ocaml-build-system)
+ (arguments janestreet-arguments)
+ (home-page "https://github.com/janestreet/async_kernel/")
+ (synopsis "Monadic concurrency library")
+ (description "Async-kernel is a library for concurrent programming in OCaml.")
+ (license license:asl2.0)))
+
+(define-public ocaml-async-rpc-kernel
+ (package
+ (name "ocaml-async-rpc-kernel")
+ (version "113.33.03")
+ (source (janestreet-origin "async_rpc_kernel" version
+ "0y97h9pkb00v7jpf87m8cbb0ffkclj9g26ph6sq97q8dpisnkjwh"))
+ (native-inputs
+ `(("oasis" ,ocaml-oasis)
+ ("js-build-tools" ,ocaml-js-build-tools)
+ ("ppx-jane" ,ocaml-ppx-jane)
+ ("opam" ,opam)))
+ (propagated-inputs
+ `(("async-kernel" ,ocaml-async-kernel)))
+ (build-system ocaml-build-system)
+ (arguments janestreet-arguments)
+ (home-page "https://github.com/janestreet/async_rpc_kernel/")
+ (synopsis "Platform-independent core of the Async RPC library")
+ (description "Async_rpc_kernel is the platform-independent core of
+the Async RPC library.")
+ (license license:asl2.0)))
+
+(define-public ocaml-core
+ (package
+ (name "ocaml-core")
+ (version "113.33.03")
+ (source (janestreet-origin "core" version
+ "1znll157qg56g9d3247fjibv1hxv3r9wxgr4nhy19j2vzdh6a268"))
+ (native-inputs
+ `(("oasis" ,ocaml-oasis)
+ ("js-build-tools" ,ocaml-js-build-tools)
+ ("ppx-jane" ,ocaml-ppx-jane)
+ ("opam" ,opam)))
+ (propagated-inputs
+ `(("core-kernel" ,ocaml-core-kernel)))
+ (build-system ocaml-build-system)
+ (arguments janestreet-arguments)
+ (home-page "https://github.com/janestreet/core/")
+ (synopsis "Alternative to OCaml's standard library")
+ (description "The Core suite of libraries is an alternative to OCaml's
+standard library that was developed by Jane Street.")
+ (license license:asl2.0)))
+
+(define-public ocaml-async-unix
+ (package
+ (name "ocaml-async-unix")
+ (version "113.33.03")
+ (source (janestreet-origin "async_unix" version
+ "1fwl0lfrizllcfjk8hk8m7lsz9ha2jg6qgk4gssfyz377qvpcq4h"))
+ (native-inputs
+ `(("oasis" ,ocaml-oasis)
+ ("js-build-tools" ,ocaml-js-build-tools)
+ ("ppx-jane" ,ocaml-ppx-jane)
+ ("opam" ,opam)))
+ (propagated-inputs
+ `(("async-kernel" ,ocaml-async-kernel)
+ ("core" ,ocaml-core)))
+ (build-system ocaml-build-system)
+ (arguments janestreet-arguments)
+ (home-page "https://github.com/janestreet/async_unix")
+ (synopsis "Asynchronous execution library for Unix")
+ (description "Async_unix is an asynchronous execution library for Unix.")
+ (license license:asl2.0)))
+
+(define-public ocaml-async-extra
+ (package
+ (name "ocaml-async-extra")
+ (version "113.33.03")
+ (source (janestreet-origin "async_extra" version
+ "1si8jgiq5xh5sl9f2b7f9p17p7zx5h1pg557x2cxywi2x7pxqg4f"))
+ (native-inputs
+ `(("oasis" ,ocaml-oasis)
+ ("js-build-tools" ,ocaml-js-build-tools)
+ ("ppx-jane" ,ocaml-ppx-jane)
+ ("opam" ,opam)))
+ (propagated-inputs
+ `(("async-rpc-kernel" ,ocaml-async-rpc-kernel)
+ ("async-unix" ,ocaml-async-unix)
+ ("core" ,ocaml-core)))
+ (build-system ocaml-build-system)
+ (arguments janestreet-arguments)
+ (home-page "https://github.com/janestreet/async_extra")
+ (synopsis "Extra functionnalities for the async library")
+ (description "Async_extra provides additional functionnalities for the
+async library.")
+ (license license:asl2.0)))
+
+(define-public ocaml-async
+ (package
+ (name "ocaml-async")
+ (version "113.33.03")
+ (source (janestreet-origin "async" version
+ "0210fyhcs12kpmmd26015bgivkfd2wqkyn3c5wd7688d0f872y25"))
+ (native-inputs
+ `(("oasis" ,ocaml-oasis)
+ ("js-build-tools" ,ocaml-js-build-tools)
+ ("ppx-jane" ,ocaml-ppx-jane)
+ ("opam" ,opam)))
+ (propagated-inputs
+ `(("async-extra" ,ocaml-async-extra)))
+ (build-system ocaml-build-system)
+ (arguments janestreet-arguments)
+ (home-page "https://github.com/janestreet/async")
+ (synopsis "Monadic concurrency library")
+ (description "Async is a library for concurrent programming in OCaml.")
+ (license license:asl2.0)))
+
+(define-public ocaml-ocplib-endian
+ (package
+ (name "ocaml-ocplib-endian")
+ (version "1.0")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "https://github.com/OCamlPro/ocplib-endian/"
+ "archive/" version ".tar.gz"))
+ (sha256
+ (base32
+ "0hwj09rnzjs0m0kazz5h2mgs6p95j0zlga8cda5srnzqmzhniwkn"))
+ (file-name (string-append name "-" version ".tar.gz"))))
+ (build-system ocaml-build-system)
+ (native-inputs `(("cppo" ,ocaml-cppo)))
+ (home-page "https://github.com/OCamlPro/ocplib-endian")
+ (synopsis "Optimised functions to read and write int16/32/64 from strings
+and bigarrays")
+ (description "Optimised functions to read and write int16/32/64 from strings
+and bigarrays, based on new primitives added in version 4.01. It works on
+strings, bytes and bigstring (Bigarrys of chars), and provides submodules for
+big- and little-endian, with their unsafe counter-parts.")
+ (license license:lgpl2.1)))
+
+(define-public ocaml-cstruct
+ (package
+ (name "ocaml-cstruct")
+ (version "2.3.1")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "https://github.com/mirage/ocaml-cstruct/"
+ "archive/v" version ".tar.gz"))
+ (sha256
+ (base32
+ "15qpdc8421shq4pprdas9jznpva45229wkfqbwcxw9khaiiz7949"))
+ (file-name (string-append name "-" version ".tar.gz"))))
+ (build-system ocaml-build-system)
+ (arguments
+ `(#:configure-flags
+ (list "--enable-lwt" "--enable-async")
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'install 'link-stubs
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+ (stubs (string-append out "/lib/ocaml/site-lib/stubslibs"))
+ (lib (string-append out "/lib/ocaml/site-lib/cstruct")))
+ (mkdir-p stubs)
+ (symlink (string-append lib "/dllcstruct_stubs.so")
+ (string-append stubs "/dllcstruct_stubs.so"))))))))
+ (native-inputs
+ `(("ounit" ,ocaml-ounit)
+ ("ppx-tools" ,ocaml-ppx-tools)
+ ("camlp4" ,camlp4)))
+ (propagated-inputs
+ `(("ocplib-endian" ,ocaml-ocplib-endian)
+ ("lwt" ,ocaml-lwt)
+ ("async" ,ocaml-async)
+ ("sexplib" ,ocaml-sexplib)))
+ (home-page "https://github.com/mirage/ocaml-cstruct")
+ (synopsis "Access C structures via a camlp4 extension")
+ (description "Cstruct is a library and syntax extension to make it easier
+to access C-like structures directly from OCaml. It supports both reading and
+writing to these structures, and they are accessed via the Bigarray module.")
+ (license license:isc)))
+
+(define-public ocaml-hex
+ (package
+ (name "ocaml-hex")
+ (version "1.0.0")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "https://github.com/mirage/ocaml-hex/"
+ "archive/" version ".tar.gz"))
+ (sha256
+ (base32
+ "0s63g0b8gfv2xm6fv6xg7bva8h76b5pcjb0zw3f8cygs0lq9072v"))
+ (file-name (string-append name "-" version ".tar.gz"))))
+ (build-system ocaml-build-system)
+ (propagated-inputs `(("cstruct" ,ocaml-cstruct)))
+ (home-page "https://github.com/mirage/ocaml-hex/")
+ (synopsis "Minimal library providing hexadecimal converters")
+ (description "Hex is a minimal library providing hexadecimal converters.")
+ (license license:isc)))
diff --git a/gnu/packages/package-management.scm b/gnu/packages/package-management.scm
index eb3a15e080..8cc18162aa 100644
--- a/gnu/packages/package-management.scm
+++ b/gnu/packages/package-management.scm
@@ -74,8 +74,8 @@
;; Note: the 'update-guix-package.scm' script expects this definition to
;; start precisely like this.
(let ((version "0.13.0")
- (commit "a6d728b7aaee09892b0b420d07ed2dbb7de5e63f")
- (revision 1))
+ (commit "de9d8f0e295928d92e0e5ea43a4e594fa78c76fb")
+ (revision 2))
(package
(name "guix")
@@ -91,7 +91,7 @@
(commit commit)))
(sha256
(base32
- "1nrskyk8z6w5i9cdfh5zxfgsrqf744sb30ssqi2g5xhijwagr1yq"))
+ "0px7n4vajc9am3snhnnvddrmnwnb2ygwz0f8isk0qhk8b1ks4kdx"))
(file-name (string-append "guix-" version "-checkout"))))
(build-system gnu-build-system)
(arguments
diff --git a/gnu/packages/patches/gnome-shell-CVE-2017-8288.patch b/gnu/packages/patches/gnome-shell-CVE-2017-8288.patch
deleted file mode 100644
index 5d8e31563f..0000000000
--- a/gnu/packages/patches/gnome-shell-CVE-2017-8288.patch
+++ /dev/null
@@ -1,54 +0,0 @@
-Fix CVE-2017-8288:
-
-https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-8288
-http://seclists.org/oss-sec/2017/q2/136
-
-Patch copied from upstream source repository:
-
-https://git.gnome.org/browse/gnome-shell/commit/?id=ff425d1db7082e2755d2a405af53861552acf2a1
-
-From ff425d1db7082e2755d2a405af53861552acf2a1 Mon Sep 17 00:00:00 2001
-From: Emilio Pozuelo Monfort <pochu27@gmail.com>
-Date: Tue, 25 Apr 2017 17:27:42 +0200
-Subject: extensionSystem: handle reloading broken extensions
-
-Some extensions out there may fail to reload. When that happens,
-we need to catch any exceptions so that we don't leave things in
-a broken state that could lead to leaving extensions enabled in
-the screen shield.
-
-https://bugzilla.gnome.org/show_bug.cgi?id=781728
----
- js/ui/extensionSystem.js | 12 ++++++++++--
- 1 file changed, 10 insertions(+), 2 deletions(-)
-
-diff --git a/js/ui/extensionSystem.js b/js/ui/extensionSystem.js
-index a4dc29e..fc352b8 100644
---- a/js/ui/extensionSystem.js
-+++ b/js/ui/extensionSystem.js
-@@ -282,12 +282,20 @@ function _onVersionValidationChanged() {
- // temporarily disable them all
- enabledExtensions = [];
- for (let uuid in ExtensionUtils.extensions)
-- reloadExtension(ExtensionUtils.extensions[uuid]);
-+ try {
-+ reloadExtension(ExtensionUtils.extensions[uuid]);
-+ } catch(e) {
-+ logExtensionError(uuid, e);
-+ }
- enabledExtensions = getEnabledExtensions();
-
- if (Main.sessionMode.allowExtensions) {
- enabledExtensions.forEach(function(uuid) {
-- enableExtension(uuid);
-+ try {
-+ enableExtension(uuid);
-+ } catch(e) {
-+ logExtensionError(uuid, e);
-+ }
- });
- }
- }
---
-cgit v0.12
-
diff --git a/gnu/packages/patches/libgdata-fix-tests.patch b/gnu/packages/patches/libgdata-fix-tests.patch
new file mode 100644
index 0000000000..dc86b3ab5a
--- /dev/null
+++ b/gnu/packages/patches/libgdata-fix-tests.patch
@@ -0,0 +1,325 @@
+From c87a112246e0bcbd5c3a8aa484a50c617d710dbf Mon Sep 17 00:00:00 2001
+From: Philip Withnall <philip.withnall@collabora.co.uk>
+Date: Fri, 12 Dec 2014 17:31:01 +0000
+Subject: [PATCH] tests: Eliminate ISO 8601 formatting workaround for dates
+
+Follow up to commit 732017e4e5235e28c578cc3367fa0c4548b65495.
+
+https://bugzilla.gnome.org/show_bug.cgi?id=739956
+---
+ gdata/tests/calendar.c | 20 ++++++++++----------
+ gdata/tests/general.c | 34 +++++++++++++++++-----------------
+ gdata/tests/tasks.c | 34 +++++++++++++++++-----------------
+ gdata/tests/youtube.c | 16 ++++++++--------
+ 4 files changed, 52 insertions(+), 52 deletions(-)
+
+diff --git a/gdata/tests/calendar.c b/gdata/tests/calendar.c
+index bb1d609..c54ddda 100644
+--- a/gdata/tests/calendar.c
++++ b/gdata/tests/calendar.c
+@@ -620,7 +620,7 @@ test_event_xml (void)
+ "<gCal:guestsCanInviteOthers value='false'/>"
+ "<gCal:guestsCanSeeGuests value='false'/>"
+ "<gCal:anyoneCanAddSelf value='false'/>"
+- "<gd:when startTime='2009-04-17T15:00:00.000001+00:00' endTime='2009-04-17T17:00:00.000001+00:00'/>"
++ "<gd:when startTime='2009-04-17T15:00:00Z' endTime='2009-04-17T17:00:00Z'/>"
+ "<gd:who email='john.smith@example.com' "
+ "rel='http://schemas.google.com/g/2005#event.organizer' "
+ "valueString='John Smith\342\200\275'/>"
+@@ -706,7 +706,7 @@ test_event_xml_dates (void)
+ "<gCal:guestsCanSeeGuests value='false'/>"
+ "<gCal:anyoneCanAddSelf value='false'/>"
+ "<gd:when startTime='2009-04-17'/>"
+- "<gd:when startTime='2009-04-17T15:00:00.000001+00:00'/>"
++ "<gd:when startTime='2009-04-17T15:00:00Z'/>"
+ "<gd:when startTime='2009-04-27' endTime='2009-05-06'/>"
+ "</entry>");
+
+@@ -934,25 +934,25 @@ test_query_uri (void)
+
+ /* Check the built query URI with a normal feed URI */
+ query_uri = gdata_query_get_query_uri (GDATA_QUERY (query), "http://example.com");
+- g_assert_cmpstr (query_uri, ==, "http://example.com?q=q&futureevents=true&orderby=starttime&recurrence-expansion-start=2009-04-17T15:00:00.000001+00:00"
+- "&recurrence-expansion-end=2010-04-17T15:00:00.000001+00:00&singleevents=true&sortorder=descending"
+- "&start-min=2009-04-17T15:00:00.000001+00:00&start-max=2010-04-17T15:00:00.000001+00:00&ctz=America%2FLos_Angeles&max-attendees=15"
++ g_assert_cmpstr (query_uri, ==, "http://example.com?q=q&futureevents=true&orderby=starttime&recurrence-expansion-start=2009-04-17T15:00:00Z"
++ "&recurrence-expansion-end=2010-04-17T15:00:00Z&singleevents=true&sortorder=descending"
++ "&start-min=2009-04-17T15:00:00Z&start-max=2010-04-17T15:00:00Z&ctz=America%2FLos_Angeles&max-attendees=15"
+ "&showdeleted=true");
+ g_free (query_uri);
+
+ /* …with a feed URI with a trailing slash */
+ query_uri = gdata_query_get_query_uri (GDATA_QUERY (query), "http://example.com/");
+- g_assert_cmpstr (query_uri, ==, "http://example.com/?q=q&futureevents=true&orderby=starttime&recurrence-expansion-start=2009-04-17T15:00:00.000001+00:00"
+- "&recurrence-expansion-end=2010-04-17T15:00:00.000001+00:00&singleevents=true&sortorder=descending"
+- "&start-min=2009-04-17T15:00:00.000001+00:00&start-max=2010-04-17T15:00:00.000001+00:00&ctz=America%2FLos_Angeles&max-attendees=15"
++ g_assert_cmpstr (query_uri, ==, "http://example.com/?q=q&futureevents=true&orderby=starttime&recurrence-expansion-start=2009-04-17T15:00:00Z"
++ "&recurrence-expansion-end=2010-04-17T15:00:00Z&singleevents=true&sortorder=descending"
++ "&start-min=2009-04-17T15:00:00Z&start-max=2010-04-17T15:00:00Z&ctz=America%2FLos_Angeles&max-attendees=15"
+ "&showdeleted=true");
+ g_free (query_uri);
+
+ /* …with a feed URI with pre-existing arguments */
+ query_uri = gdata_query_get_query_uri (GDATA_QUERY (query), "http://example.com/bar/?test=test&this=that");
+ g_assert_cmpstr (query_uri, ==, "http://example.com/bar/?test=test&this=that&q=q&futureevents=true&orderby=starttime"
+- "&recurrence-expansion-start=2009-04-17T15:00:00.000001+00:00&recurrence-expansion-end=2010-04-17T15:00:00.000001+00:00"
+- "&singleevents=true&sortorder=descending&start-min=2009-04-17T15:00:00.000001+00:00&start-max=2010-04-17T15:00:00.000001+00:00"
++ "&recurrence-expansion-start=2009-04-17T15:00:00Z&recurrence-expansion-end=2010-04-17T15:00:00Z"
++ "&singleevents=true&sortorder=descending&start-min=2009-04-17T15:00:00Z&start-max=2010-04-17T15:00:00Z"
+ "&ctz=America%2FLos_Angeles&max-attendees=15&showdeleted=true");
+ g_free (query_uri);
+
+diff --git a/gdata/tests/general.c b/gdata/tests/general.c
+index 237a908..f828d2e 100644
+--- a/gdata/tests/general.c
++++ b/gdata/tests/general.c
+@@ -528,8 +528,8 @@ test_entry_parse_xml (void)
+ "<?xml version='1.0' encoding='UTF-8'?>"
+ "<entry xmlns='http://www.w3.org/2005/Atom' xmlns:gd='http://schemas.google.com/g/2005' xmlns:ns='http://example.com/'>"
+ "<title type='text'>Testing unhandled XML</title>"
+- "<updated>2009-01-25T14:07:37.000001+00:00</updated>"
+- "<published>2009-01-23T14:06:37.000001+00:00</published>"
++ "<updated>2009-01-25T14:07:37Z</updated>"
++ "<published>2009-01-23T14:06:37Z</published>"
+ "<content type='text'>Here we test unhandled XML elements.</content>"
+ "<foobar>Test!</foobar>"
+ "<barfoo shizzle=\"zing\"/>"
+@@ -569,8 +569,8 @@ test_entry_parse_xml_kind_category (void)
+ "<?xml version='1.0' encoding='UTF-8'?>"
+ "<entry xmlns='http://www.w3.org/2005/Atom' xmlns:gd='http://schemas.google.com/g/2005'>"
+ "<title type='text'>Testing kind categories</title>"
+- "<updated>2009-01-25T14:07:37.000001+00:00</updated>"
+- "<published>2009-01-23T14:06:37.000001+00:00</published>"
++ "<updated>2009-01-25T14:07:37Z</updated>"
++ "<published>2009-01-23T14:06:37Z</published>"
+ "<content type='text'>Here we test kind categories.</content>"
+ "<category term='http://schemas.google.com/docs/2007#file' "
+ "scheme='http://schemas.google.com/g/2005#kind' "
+@@ -620,7 +620,7 @@ test_entry_parse_json (void)
+ "{"
+ "\"title\":\"A title\","
+ "\"id\":\"some-id\","
+- "\"updated\":\"2009-01-25T14:07:37.000001+00:00\","
++ "\"updated\":\"2009-01-25T14:07:37Z\","
+ "\"etag\":\"some-etag\","
+ "\"selfLink\":\"http://example.com/\","
+ "\"kind\":\"kind#kind\","
+@@ -760,8 +760,8 @@ test_entry_escaping (void)
+ "<entry xmlns='http://www.w3.org/2005/Atom' xmlns:gd='http://schemas.google.com/g/2005'>"
+ "<title type='text'>Escaped content &amp; stuff</title>"
+ "<id>http://foo.com/?foo&amp;bar</id>"
+- "<updated>2010-12-10T17:21:24.000001+00:00</updated>"
+- "<published>2010-12-10T17:21:24.000001+00:00</published>"
++ "<updated>2010-12-10T17:21:24Z</updated>"
++ "<published>2010-12-10T17:21:24Z</published>"
+ "<summary type='text'>Summary &amp; stuff</summary>"
+ "<rights>Free &amp; open source</rights>"
+ "<content type='text'>Content &amp; things.</content>"
+@@ -1106,7 +1106,7 @@ test_feed_escaping (void)
+ "<feed xmlns='http://www.w3.org/2005/Atom'>"
+ "<title type='text'>Test feed &amp; stuff.</title>"
+ "<id>http://foo.com?foo&amp;bar</id>"
+- "<updated>2010-12-10T17:49:15.000001+00:00</updated>"
++ "<updated>2010-12-10T17:49:15Z</updated>"
+ "</feed>");
+ g_object_unref (feed);
+ }
+@@ -1157,28 +1157,28 @@ test_query_dates (void)
+ /* updated-min */
+ gdata_query_set_updated_min (query, 1373280114); /* 2013-07-08T10:41:54Z */
+ query_uri = gdata_query_get_query_uri (query, "http://example.com");
+- g_assert_cmpstr (query_uri, ==, "http://example.com?q=baz&updated-min=2013-07-08T10:41:54.000001+00:00");
++ g_assert_cmpstr (query_uri, ==, "http://example.com?q=baz&updated-min=2013-07-08T10:41:54Z");
+ g_free (query_uri);
+ gdata_query_set_updated_min (query, -1);
+
+ /* updated-max */
+ gdata_query_set_updated_max (query, 1373280114); /* 2013-07-08T10:41:54Z */
+ query_uri = gdata_query_get_query_uri (query, "http://example.com");
+- g_assert_cmpstr (query_uri, ==, "http://example.com?q=baz&updated-max=2013-07-08T10:41:54.000001+00:00");
++ g_assert_cmpstr (query_uri, ==, "http://example.com?q=baz&updated-max=2013-07-08T10:41:54Z");
+ g_free (query_uri);
+ gdata_query_set_updated_max (query, -1);
+
+ /* published-min */
+ gdata_query_set_published_min (query, 1373280114); /* 2013-07-08T10:41:54Z */
+ query_uri = gdata_query_get_query_uri (query, "http://example.com");
+- g_assert_cmpstr (query_uri, ==, "http://example.com?q=baz&published-min=2013-07-08T10:41:54.000001+00:00");
++ g_assert_cmpstr (query_uri, ==, "http://example.com?q=baz&published-min=2013-07-08T10:41:54Z");
+ g_free (query_uri);
+ gdata_query_set_published_min (query, -1);
+
+ /* published-max */
+ gdata_query_set_published_max (query, 1373280114); /* 2013-07-08T10:41:54Z */
+ query_uri = gdata_query_get_query_uri (query, "http://example.com");
+- g_assert_cmpstr (query_uri, ==, "http://example.com?q=baz&published-max=2013-07-08T10:41:54.000001+00:00");
++ g_assert_cmpstr (query_uri, ==, "http://example.com?q=baz&published-max=2013-07-08T10:41:54Z");
+ g_free (query_uri);
+ gdata_query_set_published_max (query, -1);
+
+@@ -3127,7 +3127,7 @@ test_gd_reminder (void)
+ gdata_test_assert_xml (reminder,
+ "<?xml version='1.0' encoding='UTF-8'?>"
+ "<gd:reminder xmlns='http://www.w3.org/2005/Atom' xmlns:gd='http://schemas.google.com/g/2005' "
+- "absoluteTime='2005-06-07T00:55:00.000001+00:00' method='alert'/>");
++ "absoluteTime='2005-06-07T00:55:00Z' method='alert'/>");
+ g_object_unref (reminder);
+ }
+
+@@ -3218,8 +3218,8 @@ test_gd_when (void)
+ /* Check the outputted XML is the same */
+ gdata_test_assert_xml (when,
+ "<?xml version='1.0' encoding='UTF-8'?>"
+- "<gd:when xmlns='http://www.w3.org/2005/Atom' xmlns:gd='http://schemas.google.com/g/2005' startTime='2005-06-07T01:00:00.000001+00:00' "
+- "endTime='2005-06-07T02:00:00.000001+00:00'/>");
++ "<gd:when xmlns='http://www.w3.org/2005/Atom' xmlns:gd='http://schemas.google.com/g/2005' startTime='2005-06-07T01:00:00Z' "
++ "endTime='2005-06-07T02:00:00Z'/>");
+ g_object_unref (when);
+
+ /* Now parse a time with different information */
+@@ -3258,7 +3258,7 @@ test_gd_when (void)
+ "<gd:when xmlns='http://www.w3.org/2005/Atom' xmlns:gd='http://schemas.google.com/g/2005' startTime='2005-06-06' "
+ "endTime='2005-06-08' valueString='This weekend'>"
+ "<gd:reminder minutes='15'/>"
+- "<gd:reminder absoluteTime='2005-06-06T00:00:00.000001+00:00' method='alert'/>"
++ "<gd:reminder absoluteTime='2005-06-06T00:00:00Z' method='alert'/>"
+ "<foobar/>"
+ "</gd:when>");
+ g_object_unref (when);
+@@ -3278,7 +3278,7 @@ test_gd_when_escaping (void)
+ gdata_test_assert_xml (when,
+ "<?xml version='1.0' encoding='UTF-8'?>"
+ "<gd:when xmlns='http://www.w3.org/2005/Atom' xmlns:gd='http://schemas.google.com/g/2005' "
+- "startTime='2005-06-07T01:00:00.000001+00:00' valueString='Value string &amp; stuff!'/>");
++ "startTime='2005-06-07T01:00:00Z' valueString='Value string &amp; stuff!'/>");
+ g_object_unref (when);
+ }
+
+diff --git a/gdata/tests/tasks.c b/gdata/tests/tasks.c
+index 7a5bc7e..7bf3174 100644
+--- a/gdata/tests/tasks.c
++++ b/gdata/tests/tasks.c
+@@ -122,11 +122,11 @@ test_query_uri (void)
+ g_assert_cmpstr (query_uri, ==,
+ "http://example.com"
+ "?maxResults=10"
+- "&updatedMin=1970-01-01T01:53:09.000001+00:00"
+- "&completedMin=1970-01-01T01:34:38.000001+00:00"
+- "&completedMax=1970-01-01T00:20:34.000001+00:00"
+- "&dueMin=1970-01-01T00:39:05.000001+00:00"
+- "&dueMax=1970-01-01T00:57:36.000001+00:00"
++ "&updatedMin=1970-01-01T01:53:09Z"
++ "&completedMin=1970-01-01T01:34:38Z"
++ "&completedMax=1970-01-01T00:20:34Z"
++ "&dueMin=1970-01-01T00:39:05Z"
++ "&dueMax=1970-01-01T00:57:36Z"
+ "&showCompleted=true"
+ "&showDeleted=true"
+ "&showHidden=true");
+@@ -148,11 +148,11 @@ test_query_uri (void)
+ g_assert_cmpstr (query_uri, ==,
+ "http://example.com"
+ "?maxResults=10"
+- "&updatedMin=1970-01-01T01:53:09.000001+00:00"
+- "&completedMin=1970-01-01T01:34:38.000001+00:00"
+- "&completedMax=1970-01-01T00:20:34.000001+00:00"
+- "&dueMin=1970-01-01T00:39:05.000001+00:00"
+- "&dueMax=1970-01-01T00:57:36.000001+00:00"
++ "&updatedMin=1970-01-01T01:53:09Z"
++ "&completedMin=1970-01-01T01:34:38Z"
++ "&completedMax=1970-01-01T00:20:34Z"
++ "&dueMin=1970-01-01T00:39:05Z"
++ "&dueMax=1970-01-01T00:57:36Z"
+ "&showCompleted=false"
+ "&showDeleted=false"
+ "&showHidden=false");
+@@ -317,8 +317,8 @@ test_task_properties (void)
+ "\"title\": \"some-other-title\","
+ "\"notes\": \"more-notes\","
+ "\"status\": \"completed\","
+- "\"due\": \"2014-08-30T17:20:00.000001+00:00\","
+- "\"completed\": \"2014-08-30T17:20:00.000001+00:00\","
++ "\"due\": \"2014-08-30T17:20:00Z\","
++ "\"completed\": \"2014-08-30T17:20:00Z\","
+ "\"deleted\": true,"
+ "\"hidden\": false"
+ "}");
+@@ -332,8 +332,8 @@ test_task_properties (void)
+ "\"title\": \"some-other-title\","
+ "\"notes\": \"more-notes\","
+ "\"status\": \"completed\","
+- "\"due\": \"2014-08-30T17:20:00.000001+00:00\","
+- "\"completed\": \"2014-08-30T17:20:00.000001+00:00\","
++ "\"due\": \"2014-08-30T17:20:00Z\","
++ "\"completed\": \"2014-08-30T17:20:00Z\","
+ "\"deleted\": false,"
+ "\"hidden\": false"
+ "}");
+@@ -496,14 +496,14 @@ test_task_parser_normal (void)
+ "\"id\": \"some-id\","
+ "\"etag\": \"some-etag\","
+ "\"title\": \"some-title \\\"with quotes\\\"\","
+- "\"updated\": \"2014-08-30T19:40:00.000001+00:00\","
++ "\"updated\": \"2014-08-30T19:40:00Z\","
+ "\"selfLink\": \"http://some-uri/\","
+ "\"parent\": \"some-parent-id\","
+ "\"position\": \"some-position\","
+ "\"notes\": \"Some notes!\","
+ "\"status\": \"needsAction\","
+- "\"due\": \"2014-08-30T20:00:00.000001+00:00\","
+- "\"completed\": \"2014-08-30T20:10:05.000001+00:00\","
++ "\"due\": \"2014-08-30T20:00:00Z\","
++ "\"completed\": \"2014-08-30T20:10:05Z\","
+ "\"deleted\": false,"
+ "\"hidden\": true,"
+ /* Unhandled for the moment: */
+diff --git a/gdata/tests/youtube.c b/gdata/tests/youtube.c
+index a1e070a..1195bc3 100644
+--- a/gdata/tests/youtube.c
++++ b/gdata/tests/youtube.c
+@@ -967,8 +967,8 @@ test_parsing_yt_recorded (void)
+ "gd:etag='W/\"CEMFSX47eCp7ImA9WxVUGEw.\"'>"
+ "<title type='text'>Judas Priest - Painkiller</title>"
+ "<id>tag:youtube.com,2008:video:JAagedeKdcQ</id>"
+- "<updated>2009-03-23T12:46:58.000001+00:00</updated>"
+- "<published>2006-05-16T14:06:37.000001+00:00</published>"
++ "<updated>2009-03-23T12:46:58Z</updated>"
++ "<published>2006-05-16T14:06:37Z</published>"
+ "<category term='http://gdata.youtube.com/schemas/2007#video' scheme='http://schemas.google.com/g/2005#kind'/>"
+ "<link href='http://www.youtube.com/watch?v=JAagedeKdcQ' rel='http://www.iana.org/assignments/relation/alternate' type='text/html'/>"
+ "<link href='http://gdata.youtube.com/feeds/api/videos/JAagedeKdcQ?client=ytapi-google-jsdemo' rel='http://www.iana.org/assignments/relation/self' type='application/atom+xml'/>"
+@@ -1055,8 +1055,8 @@ test_parsing_yt_access_control (void)
+ "gd:etag='W/\"CEMFSX47eCp7ImA9WxVUGEw.\"'>"
+ "<title type='text'>Judas Priest - Painkiller</title>"
+ "<id>tag:youtube.com,2008:video:JAagedeKdcQ</id>"
+- "<updated>2009-03-23T12:46:58.000001+00:00</updated>"
+- "<published>2006-05-16T14:06:37.000001+00:00</published>"
++ "<updated>2009-03-23T12:46:58Z</updated>"
++ "<published>2006-05-16T14:06:37Z</published>"
+ "<category term='http://gdata.youtube.com/schemas/2007#video' scheme='http://schemas.google.com/g/2005#kind'/>"
+ "<link href='http://www.youtube.com/watch?v=JAagedeKdcQ' rel='http://www.iana.org/assignments/relation/alternate' type='text/html'/>"
+ "<link href='http://gdata.youtube.com/feeds/api/videos/JAagedeKdcQ?client=ytapi-google-jsdemo' rel='http://www.iana.org/assignments/relation/self' type='application/atom+xml'/>"
+@@ -1255,8 +1255,8 @@ test_parsing_georss_where (void)
+ "xmlns:gml='http://www.opengis.net/gml'>"
+ "<title type='text'>Some video somewhere</title>"
+ "<id>tag:youtube.com,2008:video:JAagedeKdcQ</id>"
+- "<updated>2009-03-23T12:46:58.000001+00:00</updated>"
+- "<published>2006-05-16T14:06:37.000001+00:00</published>"
++ "<updated>2009-03-23T12:46:58Z</updated>"
++ "<published>2006-05-16T14:06:37Z</published>"
+ "<category term='http://gdata.youtube.com/schemas/2007#video' scheme='http://schemas.google.com/g/2005#kind'/>"
+ "<link href='http://www.youtube.com/watch?v=JAagedeKdcQ' rel='http://www.iana.org/assignments/relation/alternate' type='text/html'/>"
+ "<link href='http://gdata.youtube.com/feeds/api/videos/JAagedeKdcQ?client=ytapi-google-jsdemo' rel='http://www.iana.org/assignments/relation/self' type='application/atom+xml'/>"
+@@ -1295,8 +1295,8 @@ test_parsing_georss_where (void)
+ "xmlns:gml='http://www.opengis.net/gml'>"
+ "<title type='text'>Some video somewhere</title>"
+ "<id>tag:youtube.com,2008:video:JAagedeKdcQ</id>"
+- "<updated>2009-03-23T12:46:58.000001+00:00</updated>"
+- "<published>2006-05-16T14:06:37.000001+00:00</published>"
++ "<updated>2009-03-23T12:46:58Z</updated>"
++ "<published>2006-05-16T14:06:37Z</published>"
+ "<category term='http://gdata.youtube.com/schemas/2007#video' scheme='http://schemas.google.com/g/2005#kind'/>"
+ "<link href='http://www.youtube.com/watch?v=JAagedeKdcQ' rel='http://www.iana.org/assignments/relation/alternate' type='text/html'/>"
+ "<link href='http://gdata.youtube.com/feeds/api/videos/JAagedeKdcQ?client=ytapi-google-jsdemo' rel='http://www.iana.org/assignments/relation/self' type='application/atom+xml'/>"
+--
+1.9.3
diff --git a/gnu/packages/patches/libgdata-glib-duplicate-tests.patch b/gnu/packages/patches/libgdata-glib-duplicate-tests.patch
new file mode 100644
index 0000000000..d5d8d064de
--- /dev/null
+++ b/gnu/packages/patches/libgdata-glib-duplicate-tests.patch
@@ -0,0 +1,16 @@
+diff -ur a/gdata/tests/oauth1-authorizer.c b/gdata/tests/oauth1-authorizer.c
+--- a/gdata/tests/oauth1-authorizer.c 1969-12-31 19:00:00.000000000 -0500
++++ b/gdata/tests/oauth1-authorizer.c 2017-05-27 19:35:30.551725678 -0400
+@@ -1045,10 +1045,10 @@
+ /* Sync request-authentication-uri tests */
+ g_test_add ("/oauth1-authorizer/request-authentication-uri/sync", OAuth1AuthorizerData, NULL, set_up_oauth1_authorizer_data,
+ test_oauth1_authorizer_request_authentication_uri_sync, tear_down_oauth1_authorizer_data);
+- g_test_add ("/oauth1-authorizer/request-authentication-uri/sync/multiple-domains", OAuth1AuthorizerData, NULL,
++ g_test_add ("/oauth1-authorizer/request-authentication-uri/sync/multiple-domains1", OAuth1AuthorizerData, NULL,
+ set_up_oauth1_authorizer_data_multiple_domains, test_oauth1_authorizer_request_authentication_uri_sync,
+ tear_down_oauth1_authorizer_data);
+- g_test_add ("/oauth1-authorizer/request-authentication-uri/sync/multiple-domains", OAuth1AuthorizerData, NULL,
++ g_test_add ("/oauth1-authorizer/request-authentication-uri/sync/multiple-domains2", OAuth1AuthorizerData, NULL,
+ set_up_oauth1_authorizer_data_locale, test_oauth1_authorizer_request_authentication_uri_sync,
+ tear_down_oauth1_authorizer_data);
+ g_test_add ("/oauth1-authorizer/request-authentication-uri/sync/cancellation", OAuth1AuthorizerData, NULL,
diff --git a/gnu/packages/patches/libssh-hostname-parser-bug.patch b/gnu/packages/patches/libssh-hostname-parser-bug.patch
new file mode 100644
index 0000000000..69f46cbdd6
--- /dev/null
+++ b/gnu/packages/patches/libssh-hostname-parser-bug.patch
@@ -0,0 +1,31 @@
+Fix "Hostname" parsing in OpenSSH config files, as reported
+at <https://red.libssh.org/issues/260>.
+
+From: Niels Ole Salscheider <niels_ole@salscheider-online.de>
+Date: Mon, 8 May 2017 17:36:13 +0200
+Subject: [PATCH] Fix reading of the first parameter
+
+This is a fixup for 7b8b5eb4eac314a3a29be812bef0264c6611f6e7.
+Previously, it would return as long as the parameter was _not_ seen
+before. It also did not handle the case for the unsupported opcode (-1)
+which would cause a segfault when accessing the "seen" array.
+---
+ src/config.c | 5 +++--
+ 1 file changed, 3 insertions(+), 2 deletions(-)
+
+diff --git a/src/config.c b/src/config.c
+index 7c03b27..238a655 100644
+--- a/src/config.c
++++ b/src/config.c
+@@ -218,8 +218,9 @@ static int ssh_config_parse_line(ssh_session session, const char *line,
+ }
+
+ opcode = ssh_config_get_opcode(keyword);
+- if (*parsing == 1 && opcode != SOC_HOST) {
+- if (seen[opcode] == 0) {
++ if (*parsing == 1 && opcode != SOC_HOST &&
++ opcode > SOC_UNSUPPORTED && opcode < SOC_END) {
++ if (seen[opcode] == 1) {
+ return 0;
+ }
+ seen[opcode] = 1;
diff --git a/gnu/packages/patches/openscenegraph-ffmpeg3.patch b/gnu/packages/patches/openscenegraph-ffmpeg3.patch
new file mode 100644
index 0000000000..02c04a5583
--- /dev/null
+++ b/gnu/packages/patches/openscenegraph-ffmpeg3.patch
@@ -0,0 +1,156 @@
+Description: Replace deprecated FFmpeg API
+Author: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
+See <http://forum.openscenegraph.org/viewtopic.php?t=15832>.
+--- a/src/osgPlugins/ffmpeg/FFmpegDecoderVideo.cpp
++++ b/src/osgPlugins/ffmpeg/FFmpegDecoderVideo.cpp
+@@ -71,7 +71,7 @@ void FFmpegDecoderVideo::open(AVStream *
+ findAspectRatio();
+
+ // Find out whether we support Alpha channel
+- m_alpha_channel = (m_context->pix_fmt == PIX_FMT_YUVA420P);
++ m_alpha_channel = (m_context->pix_fmt == AV_PIX_FMT_YUVA420P);
+
+ // Find out the framerate
+ m_frame_rate = av_q2d(stream->avg_frame_rate);
+@@ -91,20 +91,19 @@ void FFmpegDecoderVideo::open(AVStream *
+ throw std::runtime_error("avcodec_open() failed");
+
+ // Allocate video frame
+- m_frame.reset(avcodec_alloc_frame());
++ m_frame.reset(av_frame_alloc());
+
+ // Allocate converted RGB frame
+- m_frame_rgba.reset(avcodec_alloc_frame());
+- m_buffer_rgba[0].resize(avpicture_get_size(PIX_FMT_RGB24, width(), height()));
++ m_frame_rgba.reset(av_frame_alloc());
++ m_buffer_rgba[0].resize(avpicture_get_size(AV_PIX_FMT_RGB24, width(), height()));
+ m_buffer_rgba[1].resize(m_buffer_rgba[0].size());
+
+ // Assign appropriate parts of the buffer to image planes in m_frame_rgba
+- avpicture_fill((AVPicture *) (m_frame_rgba).get(), &(m_buffer_rgba[0])[0], PIX_FMT_RGB24, width(), height());
++ avpicture_fill((AVPicture *) (m_frame_rgba).get(), &(m_buffer_rgba[0])[0], AV_PIX_FMT_RGB24, width(), height());
+
+ // Override get_buffer()/release_buffer() from codec context in order to retrieve the PTS of each frame.
+ m_context->opaque = this;
+- m_context->get_buffer = getBuffer;
+- m_context->release_buffer = releaseBuffer;
++ m_context->get_buffer2 = getBuffer;
+ }
+
+
+@@ -263,8 +262,8 @@ int FFmpegDecoderVideo::convert(AVPictur
+ #ifdef USE_SWSCALE
+ if (m_swscale_ctx==0)
+ {
+- m_swscale_ctx = sws_getContext(src_width, src_height, (PixelFormat) src_pix_fmt,
+- src_width, src_height, (PixelFormat) dst_pix_fmt,
++ m_swscale_ctx = sws_getContext(src_width, src_height, (AVPixelFormat) src_pix_fmt,
++ src_width, src_height, (AVPixelFormat) dst_pix_fmt,
+ /*SWS_BILINEAR*/ SWS_BICUBIC, NULL, NULL, NULL);
+ }
+
+@@ -311,14 +310,14 @@ void FFmpegDecoderVideo::publishFrame(co
+ AVPicture * const dst = (AVPicture *) m_frame_rgba.get();
+
+ // Assign appropriate parts of the buffer to image planes in m_frame_rgba
+- avpicture_fill((AVPicture *) (m_frame_rgba).get(), &(m_buffer_rgba[m_writeBuffer])[0], PIX_FMT_RGB24, width(), height());
++ avpicture_fill((AVPicture *) (m_frame_rgba).get(), &(m_buffer_rgba[m_writeBuffer])[0], AV_PIX_FMT_RGB24, width(), height());
+
+ // Convert YUVA420p (i.e. YUV420p plus alpha channel) using our own routine
+
+- if (m_context->pix_fmt == PIX_FMT_YUVA420P)
++ if (m_context->pix_fmt == AV_PIX_FMT_YUVA420P)
+ yuva420pToRgba(dst, src, width(), height());
+ else
+- convert(dst, PIX_FMT_RGB24, src, m_context->pix_fmt, width(), height());
++ convert(dst, AV_PIX_FMT_RGB24, src, m_context->pix_fmt, width(), height());
+
+ // Wait 'delay' seconds before publishing the picture.
+ int i_delay = static_cast<int>(delay * 1000000 + 0.5);
+@@ -345,7 +344,7 @@ void FFmpegDecoderVideo::publishFrame(co
+
+ void FFmpegDecoderVideo::yuva420pToRgba(AVPicture * const dst, AVPicture * const src, int width, int height)
+ {
+- convert(dst, PIX_FMT_RGB24, src, m_context->pix_fmt, width, height);
++ convert(dst, AV_PIX_FMT_RGB24, src, m_context->pix_fmt, width, height);
+
+ const size_t bpp = 4;
+
+@@ -363,31 +362,28 @@ void FFmpegDecoderVideo::yuva420pToRgba(
+ }
+ }
+
+-
+-
+-int FFmpegDecoderVideo::getBuffer(AVCodecContext * const context, AVFrame * const picture)
++int FFmpegDecoderVideo::getBuffer(AVCodecContext * const context, AVFrame * const picture, int flags)
+ {
++ AVBufferRef *ref;
+ const FFmpegDecoderVideo * const this_ = reinterpret_cast<const FFmpegDecoderVideo*>(context->opaque);
+
+- const int result = avcodec_default_get_buffer(context, picture);
++ const int result = avcodec_default_get_buffer2(context, picture, flags);
+ int64_t * p_pts = reinterpret_cast<int64_t*>( av_malloc(sizeof(int64_t)) );
+
+ *p_pts = this_->m_packet_pts;
+ picture->opaque = p_pts;
+
++ ref = av_buffer_create((uint8_t *)picture->opaque, sizeof(int64_t), FFmpegDecoderVideo::freeBuffer, picture->buf[0], flags);
++ picture->buf[0] = ref;
++
+ return result;
+ }
+
+-
+-
+-void FFmpegDecoderVideo::releaseBuffer(AVCodecContext * const context, AVFrame * const picture)
++void FFmpegDecoderVideo::freeBuffer(void *opaque, uint8_t *data)
+ {
+- if (picture != 0)
+- av_freep(&picture->opaque);
+-
+- avcodec_default_release_buffer(context, picture);
++ AVBufferRef *ref = (AVBufferRef *)opaque;
++ av_buffer_unref(&ref);
++ av_free(data);
+ }
+
+-
+-
+ } // namespace osgFFmpeg
+--- a/src/osgPlugins/ffmpeg/FFmpegDecoderVideo.hpp
++++ b/src/osgPlugins/ffmpeg/FFmpegDecoderVideo.hpp
+@@ -94,8 +94,8 @@ private:
+ int src_pix_fmt, int src_width, int src_height);
+
+
+- static int getBuffer(AVCodecContext * context, AVFrame * picture);
+- static void releaseBuffer(AVCodecContext * context, AVFrame * picture);
++ static int getBuffer(AVCodecContext * context, AVFrame * picture, int flags);
++ static void freeBuffer(void * opaque, uint8_t *data);
+
+ PacketQueue & m_packets;
+ FFmpegClocks & m_clocks;
+--- a/src/osgPlugins/ffmpeg/FFmpegParameters.cpp
++++ b/src/osgPlugins/ffmpeg/FFmpegParameters.cpp
+@@ -19,7 +19,7 @@ extern "C"
+ #include <libavutil/pixdesc.h>
+ }
+
+-inline PixelFormat osg_av_get_pix_fmt(const char *name) { return av_get_pix_fmt(name); }
++inline AVPixelFormat osg_av_get_pix_fmt(const char *name) { return av_get_pix_fmt(name); }
+
+
+ namespace osgFFmpeg {
+--- a/src/osgPlugins/ffmpeg/FFmpegDecoderAudio.cpp 2016-02-18 21:25:39.627923629 +0000
++++ b/src/osgPlugins/ffmpeg/FFmpegDecoderAudio.cpp 2016-02-18 21:26:17.071140100 +0000
+@@ -227,8 +227,7 @@
+ if (avcodec_open2(m_context, p_codec, NULL) < 0)
+ throw std::runtime_error("avcodec_open() failed");
+
+- m_context->get_buffer = avcodec_default_get_buffer;
+- m_context->release_buffer = avcodec_default_release_buffer;
++ m_context->get_buffer2 = avcodec_default_get_buffer2;
+
+ }
+
diff --git a/gnu/packages/patches/perl-file-path-CVE-2017-6512.patch b/gnu/packages/patches/perl-file-path-CVE-2017-6512.patch
new file mode 100644
index 0000000000..28ab067599
--- /dev/null
+++ b/gnu/packages/patches/perl-file-path-CVE-2017-6512.patch
@@ -0,0 +1,173 @@
+Fix CVE-2017-6512:
+
+https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-6512
+https://rt.cpan.org/Public/Bug/Display.html?id=121951
+
+Patch copied from Debian, adapted to apply to the copy of File::Path in Perl
+5.24.0.
+
+https://github.com/jkeenan/File-Path/commit/e5ef95276ee8ad471c66ee574a5d42552b3a6af2
+https://anonscm.debian.org/cgit/perl/perl.git/diff/debian/patches/fixes/file_path_chmod_race.diff?id=e7b50f8fb6413f8ddfbbfda2d531615fb029e2d3
+
+From d760748be0efca7c05454440e24f3df77bf7cf5d Mon Sep 17 00:00:00 2001
+From: John Lightsey <john@nixnuts.net>
+Date: Tue, 2 May 2017 12:03:52 -0500
+Subject: Prevent directory chmod race attack.
+
+CVE-2017-6512 is a race condition attack where the chmod() of directories
+that cannot be entered is misused to change the permissions on other
+files or directories on the system. This has been corrected by limiting
+the directory-permission loosening logic to systems where fchmod() is
+supported.
+
+[Backported (whitespace adjustments) to File-Path 2.12 / perl 5.24 by
+Dominic Hargreaves for Debian.]
+
+Bug: https://rt.cpan.org/Public/Bug/Display.html?id=121951
+Bug-Debian: https://bugs.debian.org/863870
+Patch-Name: fixes/file_path_chmod_race.diff
+---
+ cpan/File-Path/lib/File/Path.pm | 39 +++++++++++++++++++++++++--------------
+ cpan/File-Path/t/Path.t | 40 ++++++++++++++++++++++++++--------------
+ 2 files changed, 51 insertions(+), 28 deletions(-)
+
+diff --git a/cpan/File-Path/lib/File/Path.pm b/cpan/File-Path/lib/File/Path.pm
+index 034da1e..a824cc8 100644
+--- a/cpan/File-Path/lib/File/Path.pm
++++ b/cpan/File-Path/lib/File/Path.pm
+@@ -354,21 +354,32 @@ sub _rmtree {
+
+ # see if we can escalate privileges to get in
+ # (e.g. funny protection mask such as -w- instead of rwx)
+- $perm &= oct '7777';
+- my $nperm = $perm | oct '700';
+- if (
+- !(
+- $arg->{safe}
+- or $nperm == $perm
+- or chmod( $nperm, $root )
+- )
+- )
+- {
+- _error( $arg,
+- "cannot make child directory read-write-exec", $canon );
+- next ROOT_DIR;
++ # This uses fchmod to avoid traversing outside of the proper
++ # location (CVE-2017-6512)
++ my $root_fh;
++ if (open($root_fh, '<', $root)) {
++ my ($fh_dev, $fh_inode) = (stat $root_fh )[0,1];
++ $perm &= oct '7777';
++ my $nperm = $perm | oct '700';
++ local $@;
++ if (
++ !(
++ $arg->{safe}
++ or $nperm == $perm
++ or !-d _
++ or $fh_dev ne $ldev
++ or $fh_inode ne $lino
++ or eval { chmod( $nperm, $root_fh ) }
++ )
++ )
++ {
++ _error( $arg,
++ "cannot make child directory read-write-exec", $canon );
++ next ROOT_DIR;
++ }
++ close $root_fh;
+ }
+- elsif ( !chdir($root) ) {
++ if ( !chdir($root) ) {
+ _error( $arg, "cannot chdir to child", $canon );
+ next ROOT_DIR;
+ }
+diff --git a/cpan/File-Path/t/Path.t b/cpan/File-Path/t/Path.t
+index ff52fd6..956ca09 100644
+--- a/cpan/File-Path/t/Path.t
++++ b/cpan/File-Path/t/Path.t
+@@ -3,7 +3,7 @@
+
+ use strict;
+
+-use Test::More tests => 127;
++use Test::More tests => 126;
+ use Config;
+ use Fcntl ':mode';
+ use lib 't/';
+@@ -18,6 +18,13 @@ BEGIN {
+
+ my $Is_VMS = $^O eq 'VMS';
+
++my $fchmod_supported = 0;
++if (open my $fh, curdir()) {
++ my ($perm) = (stat($fh))[2];
++ $perm &= 07777;
++ eval { $fchmod_supported = chmod( $perm, $fh); };
++}
++
+ # first check for stupid permissions second for full, so we clean up
+ # behind ourselves
+ for my $perm (0111,0777) {
+@@ -299,16 +306,19 @@ is($created[0], $dir, "created directory (old style 3 mode undef) cross-check");
+
+ is(rmtree($dir, 0, undef), 1, "removed directory 3 verbose undef");
+
+-$dir = catdir($tmp_base,'G');
+-$dir = VMS::Filespec::unixify($dir) if $Is_VMS;
++SKIP: {
++ skip "fchmod of directories not supported on this platform", 3 unless $fchmod_supported;
++ $dir = catdir($tmp_base,'G');
++ $dir = VMS::Filespec::unixify($dir) if $Is_VMS;
+
+-@created = mkpath($dir, undef, 0200);
++ @created = mkpath($dir, undef, 0400);
+
+-is(scalar(@created), 1, "created write-only dir");
++ is(scalar(@created), 1, "created read-only dir");
+
+-is($created[0], $dir, "created write-only directory cross-check");
++ is($created[0], $dir, "created read-only directory cross-check");
+
+-is(rmtree($dir), 1, "removed write-only dir");
++ is(rmtree($dir), 1, "removed read-only dir");
++}
+
+ # borderline new-style heuristics
+ if (chdir $tmp_base) {
+@@ -450,26 +460,28 @@ SKIP: {
+ }
+
+ SKIP : {
+- my $skip_count = 19;
++ my $skip_count = 18;
+ # this test will fail on Windows, as per:
+ # http://perldoc.perl.org/perlport.html#chmod
+
+ skip "Windows chmod test skipped", $skip_count
+ if $^O eq 'MSWin32';
++ skip "fchmod() on directories is not supported on this platform", $skip_count
++ unless $fchmod_supported;
+ my $mode;
+ my $octal_mode;
+ my @inputs = (
+- 0777, 0700, 0070, 0007,
+- 0333, 0300, 0030, 0003,
+- 0111, 0100, 0010, 0001,
+- 0731, 0713, 0317, 0371, 0173, 0137,
+- 00 );
++ 0777, 0700, 0470, 0407,
++ 0433, 0400, 0430, 0403,
++ 0111, 0100, 0110, 0101,
++ 0731, 0713, 0317, 0371,
++ 0173, 0137);
+ my $input;
+ my $octal_input;
+- $dir = catdir($tmp_base, 'chmod_test');
+
+ foreach (@inputs) {
+ $input = $_;
++ $dir = catdir($tmp_base, sprintf("chmod_test%04o", $input));
+ # We can skip from here because 0 is last in the list.
+ skip "Mode of 0 means assume user defaults on VMS", 1
+ if ($input == 0 && $Is_VMS);
diff --git a/gnu/packages/patches/xf86-input-wacom-xorg-abi-25.patch b/gnu/packages/patches/xf86-input-wacom-xorg-abi-25.patch
deleted file mode 100644
index dc594bdccb..0000000000
--- a/gnu/packages/patches/xf86-input-wacom-xorg-abi-25.patch
+++ /dev/null
@@ -1,46 +0,0 @@
-Resolves a test compatibility issue with xorg >= 1.19.
-
-Upstream bug report:
-
-https://sourceforge.net/p/linuxwacom/bugs/329/
-
-Patch copied from upstream source repository:
-
-https://sourceforge.net/p/linuxwacom/xf86-input-wacom/ci/f0dedf7a610ac97bc45738492b98ce4f1e0514ec/
-
-From f0dedf7a610ac97bc45738492b98ce4f1e0514ec Mon Sep 17 00:00:00 2001
-From: Jason Gerecke <killertofu@gmail.com>
-Date: Wed, 18 Jan 2017 09:00:10 -0800
-Subject: [PATCH] tests: Fix compilation under ABI 25 and greater
-
-diff --git a/test/fake-symbols.c b/test/fake-symbols.c
-index 6f2c10a..e649fb9 100644
---- a/test/fake-symbols.c
-+++ b/test/fake-symbols.c
-@@ -493,6 +493,7 @@ void TimerFree(OsTimerPtr timer)
- {
- }
-
-+#if GET_ABI_MAJOR(ABI_XINPUT_VERSION) < 24
- int
- xf86BlockSIGIO (void)
- {
-@@ -503,6 +504,15 @@ void
- xf86UnblockSIGIO (int wasset)
- {
- }
-+#else
-+void input_lock (void)
-+{
-+}
-+
-+void input_unlock (void)
-+{
-+}
-+#endif
-
- /* This is not the same as the X server one, but it'll do for the tests */
- #if GET_ABI_MAJOR(ABI_XINPUT_VERSION) >= 14
---
-2.11.1
-
diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm
index c3b486988d..876bad80d8 100644
--- a/gnu/packages/perl.scm
+++ b/gnu/packages/perl.scm
@@ -60,6 +60,7 @@
(base32
"0zxn9hd7mqgq06ikyi6k70ngbvjf01z1paw0jd25byyl0rlwdrzb"))
(patches (search-patches
+ "perl-file-path-CVE-2017-6512.patch"
"perl-no-sys-dirs.patch"
"perl-autosplit-default-time.patch"
"perl-deterministic-ordering.patch"
@@ -2986,17 +2987,17 @@ platforms.")
(define-public perl-file-path
(package
(name "perl-file-path")
- (version "2.12")
+ (version "2.13")
(source
(origin
(method url-fetch)
(uri (string-append
- "mirror://cpan/authors/id/R/RI/RICHE/File-Path-"
+ "mirror://cpan/authors/id/J/JK/JKEENAN/File-Path-"
version
".tar.gz"))
(sha256
(base32
- "0znihrlcnlpa0ziml0hkq9s59p1bjd2a6khgx2accdf16w6imxmv"))))
+ "039gc0i5cbdmidl8j8x195yykwcdmzwawmpapnysvljl8l33jqwj"))))
(build-system perl-build-system)
(home-page "http://search.cpan.org/dist/File-Path")
(synopsis "Create or remove directory trees")
diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index 14511d0c32..6691095e55 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -6,6 +6,7 @@
;;; Copyright © 2015 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2015, 2016, 2017 Ben Woodcroft <donttrustben@gmail.com>
;;; Copyright © 2017 ng0 <contact.ng0@cryptolab.net>
+;;; Copyright © 2017 Marius Bakke <mbakke@fastmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -48,8 +49,7 @@
(define-public ruby
(package
(name "ruby")
- (version "2.3.3")
- (replacement ruby-2.3.4)
+ (version "2.4.0")
(source
(origin
(method url-fetch)
@@ -58,7 +58,7 @@
"/ruby-" version ".tar.xz"))
(sha256
(base32
- "1p0rfk0blrbfjcnv0vb0ha4hxflgkfhv9zbzp4vvld2pi31ahkqs"))
+ "141nnsdk2q83c23p5kl404id8gy1ap261gin48rbjj5sbksgx1rs"))
(modules '((guix build utils)))
(snippet `(begin
;; Remove bundled libffi
@@ -102,11 +102,11 @@ a focus on simplicity and productivity.")
(home-page "https://ruby-lang.org")
(license license:ruby)))
-(define ruby-2.3.4
+(define-public ruby-2.3
(package
(inherit ruby)
- (name "ruby")
(version "2.3.4")
+ (replacement #f)
(source
(origin
(method url-fetch)
@@ -447,13 +447,13 @@ expectations and mocks frameworks.")
(define-public bundler
(package
(name "bundler")
- (version "1.14.6")
+ (version "1.15.1")
(source (origin
(method url-fetch)
(uri (rubygems-uri "bundler" version))
(sha256
(base32
- "0h3x2csvlz99v2ryj1w72vn6kixf7rl35lhdryvh7s49brnj0cgl"))))
+ "1mq0n8g08vf2rnd7fvylx3f4sspx15abid49gycf9zzsjj7w8vps"))))
(build-system ruby-build-system)
(arguments
'(#:tests? #f)) ; avoid dependency cycles
@@ -1199,13 +1199,13 @@ use GNU gettext tools for maintenance.")
(define-public ruby-test-unit
(package
(name "ruby-test-unit")
- (version "3.1.5")
+ (version "3.2.4")
(source (origin
(method url-fetch)
(uri (rubygems-uri "test-unit" version))
(sha256
(base32
- "0jxznjzwmrlp8wqjxsd06qbiddffn68pdhz6nrqpjbiln1z3af4w"))))
+ "09mb34lnffracsqxl4dav4c21p5nr4pj9hm5qy2s83k5hbjya3s7"))))
(build-system ruby-build-system)
(propagated-inputs
`(("ruby-power-assert" ,ruby-power-assert)))
@@ -1460,16 +1460,17 @@ allows mocking and stubbing of methods on real (non-mock) classes.")
(define-public ruby-net-ssh
(package
(name "ruby-net-ssh")
- (version "3.0.1")
+ (version "4.1.0")
(source (origin
(method url-fetch)
(uri (rubygems-uri "net-ssh" version))
(sha256
(base32
- "1dzqkgwi9xm6mbfk1rkk17rzmz8m5xakqi21w1b97ybng6kkw0hf"))))
+ "013p5jb4wy0cq7x7036piw2a3s1i9p752ki1srx2m289mpz4ml3q"))))
(build-system ruby-build-system)
(native-inputs
- `(("ruby-mocha" ,ruby-mocha)
+ `(("bundler" ,bundler)
+ ("ruby-mocha" ,ruby-mocha)
("ruby-test-unit" ,ruby-test-unit)))
(synopsis "Ruby implementation of the SSH2 client protocol")
(description "@code{Net::SSH} is a pure-Ruby implementation of the SSH2
@@ -1481,13 +1482,13 @@ with processes on remote servers, via SSH2.")
(define-public ruby-minitest
(package
(name "ruby-minitest")
- (version "5.10.1")
+ (version "5.10.2")
(source (origin
(method url-fetch)
(uri (rubygems-uri "minitest" version))
(sha256
(base32
- "1yk2m8sp0p5m1niawa3ncg157a4i0594cg7z91rzjxv963rzrwab"))))
+ "11my86fnihvpndyknn3c14hc82nhsgggnhlxh8h3bdjpmfsvl0my"))))
(build-system ruby-build-system)
(native-inputs
`(("ruby-hoe" ,ruby-hoe)))
@@ -1514,7 +1515,13 @@ facilities supporting TDD, BDD, mocking, and benchmarking.")
(lambda _
(substitute* "Rakefile"
(("self\\.rubyforge_name = .*") ""))
- #t)))))))
+ #t))
+ (add-after 'build 'exclude-failing-tests
+ (lambda _
+ ;; Some tests are failing on Ruby 2.4 due to the deprecation of
+ ;; Fixnum.
+ (delete-file "test/minitest/test_minitest_spec.rb")
+ #t)))))))
(define-public ruby-minitest-sprint
(package
@@ -2224,9 +2231,15 @@ current line in an external editor.")
(arguments
`(#:phases
(modify-phases %standard-phases
- (add-before 'check 'set-rubylib
+ (add-before 'check 'set-rubylib-and-patch-gemfile
(lambda _
(setenv "RUBYLIB" "lib")
+ (substitute* "sdoc.gemspec"
+ (("s.add_runtime_dependency.*") "\n")
+ (("s.add_dependency.*") "\n"))
+ (substitute* "Gemfile"
+ (("gem \"rake\".*")
+ "gem 'rake'\ngem 'rdoc'\ngem 'json'\n"))
#t)))))
(propagated-inputs
`(("ruby-json" ,ruby-json)))
@@ -2274,13 +2287,13 @@ documentation for Ruby code.")
(define-public ruby-gem-hadar
(package
(name "ruby-gem-hadar")
- (version "1.3.1")
+ (version "1.9.1")
(source (origin
(method url-fetch)
(uri (rubygems-uri "gem_hadar" version))
(sha256
(base32
- "1j8qri4m9wf8nbfv0kakrgsv2x8vg10914xgm6f69nw8zi3i39ws"))))
+ "1zxvd9l95rbks7x3cxn396w0sn7nha5542bf97v8akkn4vm7nby9"))))
(build-system ruby-build-system)
;; This gem needs itself at development time. We disable rebuilding of the
;; gemspec to avoid this loop.
@@ -2294,9 +2307,7 @@ documentation for Ruby code.")
(propagated-inputs
`(("git" ,git)
("ruby-tins" ,ruby-tins)
- ("ruby-sdoc" ,ruby-sdoc)))
- (native-inputs
- `(("bundler" ,bundler)))
+ ("ruby-yard" ,ruby-yard)))
(synopsis "Library for the development of Ruby gems")
(description
"This library contains some useful functionality to support the
@@ -2437,14 +2448,14 @@ when working with Ruby code.")
(define-public ruby-json
(package
(name "ruby-json")
- (version "1.8.3")
+ (version "2.1.0")
(source
(origin
(method url-fetch)
(uri (rubygems-uri "json" version))
(sha256
(base32
- "1nsby6ry8l9xg3yw4adlhk2pnc7i0h0rznvcss4vk3v74qg0k8lc"))))
+ "01v6jjpvh3gnq6sgllpfqahlgxzj50ailwhj9b3cd20hi2dx0vxp"))))
(build-system ruby-build-system)
(arguments '(#:tests? #f)) ; dependency cycle with sdoc
(synopsis "JSON library for Ruby")
@@ -2697,14 +2708,14 @@ unacceptable HTML and/or CSS from a string.")
(define-public ruby-ox
(package
(name "ruby-ox")
- (version "2.2.1")
+ (version "2.5.0")
(source
(origin
(method url-fetch)
(uri (rubygems-uri "ox" version))
(sha256
(base32
- "00i11xd4ayh7349rhgskajfxn0qzkb74ab01217zix9qcapssxax"))))
+ "0rar0xr5qn3zac1r2z18kmpapx121c2l3z8jsgh60vsddwzpdh7h"))))
(build-system ruby-build-system)
(arguments
'(#:tests? #f)) ; no tests
@@ -2759,14 +2770,14 @@ alternative to Marshal for Object serialization. ")
(define-public ruby-pg
(package
(name "ruby-pg")
- (version "0.18.2")
+ (version "0.20.0")
(source
(origin
(method url-fetch)
(uri (rubygems-uri "pg" version))
(sha256
(base32
- "1axxbf6ij1iqi3i1r3asvjc80b0py5bz0m2wy5kdi5xkrpr82kpf"))))
+ "03xcgwjs6faxis81jxf2plnlalg55dhhafqv3kvjxfr8ic7plpw5"))))
(build-system ruby-build-system)
(arguments
'(#:test-target "spec"))
@@ -3576,7 +3587,19 @@ It has built-in support for the legacy @code{cookies.txt} and
;; be require'd.
(replace 'check
(lambda _
- (zero? (system* "ruby" "-Ilib" "-r" "ansi")))))))
+ (zero? (system* "ruby" "-Ilib" "-r" "ansi"))))
+ (add-before 'validate-runpath 'replace-broken-symlink
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+ (file (string-append out "/lib/ruby/gems/"
+ ,(package-version ruby)
+ "/gems/ansi-" ,version
+ "/lib/ansi.yml")))
+ ;; XXX: This symlink is broken since ruby 2.4.
+ ;; https://lists.gnu.org/archive/html/guix-devel/2017-06/msg00034.html
+ (delete-file file)
+ (symlink "../.index" file)
+ #t))))))
(synopsis "ANSI escape code related libraries")
(description
"This package is a collection of ANSI escape code related libraries
@@ -3765,7 +3788,19 @@ requirement specifications systems like Cucumber.")
`(#:phases
(modify-phases %standard-phases
(replace 'check
- (lambda _ (zero? (system* "qed")))))))
+ (lambda _ (zero? (system* "qed"))))
+ (add-before 'validate-runpath 'replace-broken-symlink
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+ (file (string-append out "/lib/ruby/gems/"
+ ,(package-version ruby)
+ "/gems/ae-" ,version
+ "/lib/ae.yml")))
+ ;; XXX: This symlink is broken since ruby 2.4.
+ ;; https://lists.gnu.org/archive/html/guix-devel/2017-06/msg00034.html
+ (delete-file file)
+ (symlink "../.index" file)
+ #t))))))
(propagated-inputs
`(("ruby-ansi" ,ruby-ansi)))
(native-inputs
diff --git a/gnu/packages/ssh.scm b/gnu/packages/ssh.scm
index c96ed0a72b..d79663a2b5 100644
--- a/gnu/packages/ssh.scm
+++ b/gnu/packages/ssh.scm
@@ -58,15 +58,16 @@
(define-public libssh
(package
(name "libssh")
- (version "0.7.4")
+ (version "0.7.5")
(source (origin
(method url-fetch)
(uri (string-append
- "https://red.libssh.org/attachments/download/210/libssh-"
+ "https://red.libssh.org/attachments/download/218/libssh-"
version ".tar.xz"))
(sha256
(base32
- "03bcp9ksqp0s1pmwfmzhcknvkxay5k0mjzzxp3rjlifbng1vxq9r"))))
+ "15bh6dm9c50ndddzh3gqcgw7axp3ghrspjpkb1z3dr90vkanvs2l"))
+ (patches (search-patches "libssh-hostname-parser-bug.patch"))))
(build-system cmake-build-system)
(outputs '("out" "debug"))
(arguments
diff --git a/gnu/packages/version-control.scm b/gnu/packages/version-control.scm
index 32c9a132a6..cd2576c51a 100644
--- a/gnu/packages/version-control.scm
+++ b/gnu/packages/version-control.scm
@@ -118,14 +118,14 @@ as well as the classic centralized workflow.")
(define-public git
(package
(name "git")
- (version "2.13.0")
+ (version "2.13.1")
(source (origin
(method url-fetch)
(uri (string-append "mirror://kernel.org/software/scm/git/git-"
version ".tar.xz"))
(sha256
(base32
- "0n0j36rapw31zb0sabap88ffncv8jg3nwc4miyim64ilyav2mgsb"))))
+ "1zl88rlga9nhgaqc9d04vp1l1g4x6qj1d02698asnxrzk36vxh9v"))))
(build-system gnu-build-system)
(native-inputs
`(("native-perl" ,perl)
@@ -138,7 +138,7 @@ as well as the classic centralized workflow.")
version ".tar.xz"))
(sha256
(base32
- "1jcp5bjam0cqzc41bvd3qwzv2f35zdajr8icxb89q29b5v3gj544"))))))
+ "0w7z6mis1x1skhg08qj95yczdsh1qipqnimfj60nsky40ryhkpg3"))))))
(inputs
`(("curl" ,curl)
("expat" ,expat)
diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm
index 909d23ad2e..4b3d83df28 100644
--- a/gnu/packages/video.scm
+++ b/gnu/packages/video.scm
@@ -311,7 +311,7 @@ designed to encode video or images into an H.265 / HEVC encoded bitstream.")
(define-public libass
(package
(name "libass")
- (version "0.13.6")
+ (version "0.13.7")
(source (origin
(method url-fetch)
(uri (string-append
@@ -319,7 +319,7 @@ designed to encode video or images into an H.265 / HEVC encoded bitstream.")
version "/libass-" version ".tar.xz"))
(sha256
(base32
- "0b9cj5xfsa7zwlk5m146fhv102v51iqs3rapq0n2xrz30k8p9a7q"))))
+ "17byv926w1mxn56n896sxvdq4m0yv1l7qbm688h6zr3nzgsyarbh"))))
(build-system gnu-build-system)
(native-inputs
`(("pkg-config" ,pkg-config)
@@ -411,7 +411,7 @@ SMPTE 314M.")
(define-public libva
(package
(name "libva")
- (version "1.8.1")
+ (version "1.8.2")
(source
(origin
(method url-fetch)
@@ -419,7 +419,7 @@ SMPTE 314M.")
"https://www.freedesktop.org/software/vaapi/releases/libva/libva-"
version".tar.bz2"))
(sha256
- (base32 "0wswfznj93jpnxhc3jwdk5j3pmyki0rs6k9vk4vnzds0dddximf1"))))
+ (base32 "1pnfl3q7dzxs26l3jk9xi97gr0qwnaz6dhvf9ifp2yplr3fy7lwy"))))
(build-system gnu-build-system)
(native-inputs
`(("pkg-config" ,pkg-config)))
@@ -629,14 +629,14 @@ audio/video codec library.")
(define-public ffmpeg-2.8
(package
(inherit ffmpeg)
- (version "2.8.11")
+ (version "2.8.12")
(source (origin
(method url-fetch)
(uri (string-append "https://ffmpeg.org/releases/ffmpeg-"
version ".tar.xz"))
(sha256
(base32
- "1rhz7rhmhhh8bjcj3dc82haisn3qjbzqlr7k6d6v7064jgn3maiq"))))
+ "1gc32akvdms3rywphnap94lqqici8l5898a09ir1ad5rif5g24v2"))))
(arguments
(substitute-keyword-arguments (package-arguments ffmpeg)
((#:configure-flags flags)
@@ -1001,7 +1001,7 @@ access to mpv's powerful playback capabilities.")
(define-public youtube-dl
(package
(name "youtube-dl")
- (version "2017.05.07")
+ (version "2017.06.05")
(source (origin
(method url-fetch)
(uri (string-append "https://yt-dl.org/downloads/"
@@ -1009,7 +1009,7 @@ access to mpv's powerful playback capabilities.")
version ".tar.gz"))
(sha256
(base32
- "1q3b9xkbk1lmy1wxm1jcnmaj70sdksqbc8zsqxz6b6z4nmv8qc25"))))
+ "132f4csbl4bv71b01pnqfkd7hbbc6wclrh1h12fr1182954ahk5m"))))
(build-system python-build-system)
(arguments
;; The problem here is that the directory for the man page and completion
@@ -2172,7 +2172,7 @@ many codecs and formats supported by libmediainfo.")
(define-public livemedia-utils
(package
(name "livemedia-utils")
- (version "2017.05.24")
+ (version "2017.06.04")
(source (origin
(method url-fetch)
(uri (string-append
@@ -2180,7 +2180,7 @@ many codecs and formats supported by libmediainfo.")
version ".tar.gz"))
(sha256
(base32
- "1ra64j3qa89hf3xika8jz9gd8al8mcaqlk5ivw5pclnd2df5f4im"))))
+ "0xf3vynxqpxpd762zni0jkblnjlgbqxjx99m83m7gqx6zriph271"))))
(build-system gnu-build-system)
(arguments
'(#:tests? #f ; no tests
diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm
index bcc20bfdde..5f27ef957d 100644
--- a/gnu/packages/web.scm
+++ b/gnu/packages/web.scm
@@ -19,6 +19,7 @@
;;; Copyright © 2016 Bake Timmons <b3timmons@speedymail.org>
;;; Copyright © 2017 Thomas Danckaert <post@thomasdanckaert.be>
;;; Copyright © 2017 Marius Bakke <mbakke@fastmail.com>
+;;; Copyright © 2017 Kei Kebreau <kei@openmailbox.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -68,6 +69,7 @@
#:use-module (gnu packages gnome)
#:use-module (gnu packages gnu-doc)
#:use-module (gnu packages gnupg)
+ #:use-module (gnu packages gnuzilla)
#:use-module (gnu packages gperf)
#:use-module (gnu packages gtk)
#:use-module (gnu packages icu4c)
@@ -708,6 +710,34 @@ modifying pages and incoming and outgoing headers, monitoring pages for
changes, and much more.")
(license l:gpl2+)))
+(define-public liboauth
+ (package
+ (name "liboauth")
+ (version "1.0.3")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "mirror://sourceforge/liboauth/liboauth-"
+ version ".tar.gz"))
+ (sha256
+ (base32
+ "07w1aq8y8wld43wmbk2q8134p3bfkp2vma78mmsfgw2jn1bh3xhd"))))
+ (build-system gnu-build-system)
+ (arguments '(#:configure-flags '("--enable-nss")))
+ (native-inputs `(("pkg-config" ,pkg-config)))
+ (propagated-inputs
+ `(("curl" ,curl)
+ ("nss" ,nss)))
+ (home-page "https://sourceforge.net/projects/liboauth")
+ (synopsis "C library implementing the OAuth API")
+ (description
+ "liboauth is a collection of C functions implementing the OAuth API.
+liboauth provides functions to escape and encode strings according to OAuth
+specifications and offers high-level functionality built on top to sign
+requests or verify signatures using either NSS or OpenSSL for calculating the
+hash/signatures.")
+ ;; Source code may be distributed under either license.
+ (license (list l:expat l:gpl2+))))
+
(define-public libyaml
(package
(name "libyaml")
diff --git a/gnu/packages/wm.scm b/gnu/packages/wm.scm
index cd53091ced..28921f190a 100644
--- a/gnu/packages/wm.scm
+++ b/gnu/packages/wm.scm
@@ -72,7 +72,7 @@
(define-public libconfuse
(package
(name "libconfuse")
- (version "3.1")
+ (version "3.2")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/martinh/libconfuse/"
@@ -80,7 +80,7 @@
"/confuse-" version ".tar.xz"))
(sha256
(base32
- "0rnacgfkd88qyxrfdfzn9cxz533l9s5wrzb9093f9mbi00gg6wc1"))))
+ "0j2fg93w22apjfqnkak8k8m395n2l7hhm9xnjx0k2v82js3bnsm4"))))
(build-system gnu-build-system)
(home-page "https://github.com/martinh/libconfuse")
(synopsis "Configuration file parser library")
diff --git a/gnu/packages/xdisorg.scm b/gnu/packages/xdisorg.scm
index d9cee8a257..3b06fbeb6b 100644
--- a/gnu/packages/xdisorg.scm
+++ b/gnu/packages/xdisorg.scm
@@ -791,14 +791,14 @@ Escape key when Left Control is pressed and released on its own.")
(define-public libwacom
(package
(name "libwacom")
- (version "0.23")
+ (version "0.25")
(source (origin
(method url-fetch)
(uri (string-append "mirror://sourceforge/linuxwacom/libwacom/"
name "-" version ".tar.bz2"))
(sha256
(base32
- "0qiikh95b9crybkwgcbbv9y80hb7lsbvvmvaia4gbgbdyagwb2m0"))))
+ "1k20w2fkql3yr0dpdg51jjwzv7d4kp53ajmpyhcjxa08s0n8dl19"))))
(build-system glib-or-gtk-build-system)
(native-inputs
`(("pkg-config" ,pkg-config)))
@@ -823,7 +823,7 @@ Wacom tablet applet.")
(define-public xf86-input-wacom
(package
(name "xf86-input-wacom")
- (version "0.34.0")
+ (version "0.34.2")
(source (origin
(method url-fetch)
(uri (string-append
@@ -831,9 +831,7 @@ Wacom tablet applet.")
name "-" version ".tar.bz2"))
(sha256
(base32
- "0idhkigl0pnyp08sqm6bqfb4h20v6rjrb71z1gdv59gk7d7qwpgi"))
- (patches
- (search-patches "xf86-input-wacom-xorg-abi-25.patch"))))
+ "073bf12ka1mcqvr1sviixb51bsfx37jalrj9xw53f10i2kdvkl9a"))))
(arguments
`(#:configure-flags
(list (string-append "--with-sdkdir="
diff --git a/gnu/packages/xorg.scm b/gnu/packages/xorg.scm
index 7d981712da..78717cc203 100644
--- a/gnu/packages/xorg.scm
+++ b/gnu/packages/xorg.scm
@@ -3623,7 +3623,7 @@ alternative implementations like XRandR or TwinView.")
(define xkbcomp-intermediate ; used as input for xkeyboard-config
(package
(name "xkbcomp-intermediate")
- (version "1.3.1")
+ (version "1.4.0")
(source
(origin
(method url-fetch)
@@ -3633,7 +3633,7 @@ alternative implementations like XRandR or TwinView.")
".tar.bz2"))
(sha256
(base32
- "0gcjy70ppmcl610z8gxc7sydsx93f8cm8pggm4qhihaa1ngdq103"))))
+ "0syfc6zscvai824mzihlnrqxhkcr27dzkpy8zndavi83iischsdw"))))
(build-system gnu-build-system)
(inputs
`(("xproto" ,xproto)
diff --git a/gnu/services/base.scm b/gnu/services/base.scm
index 7cd9a34ca2..813535ed65 100644
--- a/gnu/services/base.scm
+++ b/gnu/services/base.scm
@@ -1352,6 +1352,10 @@ failed to register hydra.gnu.org public key: ~a~%" status))))))))
(default #t))
(substitute-urls guix-configuration-substitute-urls ;list of strings
(default %default-substitute-urls))
+ (max-silent-time guix-configuration-max-silent-time ;integer
+ (default 0))
+ (timeout guix-configuration-timeout ;integer
+ (default 0))
(extra-options guix-configuration-extra-options ;list of strings
(default '()))
(log-file guix-configuration-log-file ;string
@@ -1371,7 +1375,9 @@ failed to register hydra.gnu.org public key: ~a~%" status))))))))
(match config
(($ <guix-configuration> guix build-group build-accounts
authorize-key? keys
- use-substitutes? substitute-urls extra-options
+ use-substitutes? substitute-urls
+ max-silent-time timeout
+ extra-options
log-file lsof http-proxy tmpdir)
(list (shepherd-service
(documentation "Run the Guix daemon.")
@@ -1381,6 +1387,8 @@ failed to register hydra.gnu.org public key: ~a~%" status))))))))
#~(make-forkexec-constructor
(list #$(file-append guix "/bin/guix-daemon")
"--build-users-group" #$build-group
+ "--max-silent-time" #$(number->string max-silent-time)
+ "--timeout" #$(number->string timeout)
#$@(if use-substitutes?
'()
'("--no-substitutes"))
diff --git a/guix/import/cpan.scm b/guix/import/cpan.scm
index 32c5c310e1..a41f918049 100644
--- a/guix/import/cpan.scm
+++ b/guix/import/cpan.scm
@@ -88,7 +88,7 @@
"Return the base distribution module for a given module. E.g. the 'ok'
module is distributed with 'Test::Simple', so (module->dist-name \"ok\") would
return \"Test-Simple\""
- (assoc-ref (json-fetch (string-append "https://api.metacpan.org/module/"
+ (assoc-ref (json-fetch (string-append "https://fastapi.metacpan.org/v1/module/"
module
"?fields=distribution"))
"distribution"))
@@ -113,7 +113,7 @@ return \"Test-Simple\""
"Return an alist representation of the CPAN metadata for the perl module MODULE,
or #f on failure. MODULE should be e.g. \"Test::Script\""
;; This API always returns the latest release of the module.
- (json-fetch (string-append "https://api.metacpan.org/release/" name)))
+ (json-fetch (string-append "https://fastapi.metacpan.org/v1/release/" name)))
(define (cpan-home name)
(string-append "http://search.cpan.org/dist/" name))
diff --git a/guix/ssh.scm b/guix/ssh.scm
index 4fb145230d..32cf6e464b 100644
--- a/guix/ssh.scm
+++ b/guix/ssh.scm
@@ -150,23 +150,44 @@ can be written."
;; makes a round trip every time 32 KiB have been transferred. This
;; procedure instead opens a separate channel to use the remote
;; 'import-paths' procedure, which consumes all the data in a single round
- ;; trip.
+ ;; trip. This optimizes the successful case at the expense of error
+ ;; conditions: errors can only be reported once all the input has been
+ ;; consumed.
(define import
`(begin
- (use-modules (guix))
-
- (with-store store
- (setvbuf (current-input-port) _IONBF)
-
- ;; FIXME: Exceptions are silently swallowed. We should report them
- ;; somehow.
- (import-paths store (current-input-port)))))
-
- (open-remote-output-pipe session
- (string-join
- `("guile" "-c"
- ,(object->string
- (object->string import))))))
+ (use-modules (guix) (srfi srfi-34)
+ (rnrs io ports) (rnrs bytevectors))
+
+ (define (consume-input port)
+ (let ((bv (make-bytevector 32768)))
+ (let loop ()
+ (let ((n (get-bytevector-n! port bv 0
+ (bytevector-length bv))))
+ (unless (eof-object? n)
+ (loop))))))
+
+ ;; Upon completion, write an sexp that denotes the status.
+ (write
+ (catch #t
+ (lambda ()
+ (guard (c ((nix-protocol-error? c)
+ ;; Consume all the input since the only time we can
+ ;; report the error is after everything has been
+ ;; consumed.
+ (consume-input (current-input-port))
+ (list 'protocol-error (nix-protocol-error-message c))))
+ (with-store store
+ (setvbuf (current-input-port) _IONBF)
+ (import-paths store (current-input-port))
+ '(success))))
+ (lambda args
+ (cons 'error args))))))
+
+ (open-remote-pipe session
+ (string-join
+ `("guile" "-c"
+ ,(object->string (object->string import))))
+ OPEN_BOTH))
(define* (store-export-channel session files
#:key recursive?)
@@ -224,10 +245,29 @@ Return the list of store items actually sent."
;; mark of 'export-paths' would be enough, but in practice it's not.)
(channel-send-eof port)
- ;; Wait for completion of the remote process.
- (let ((result (zero? (channel-get-exit-status port))))
+ ;; Wait for completion of the remote process and read the status sexp from
+ ;; PORT.
+ (let* ((result (false-if-exception (read port)))
+ (status (zero? (channel-get-exit-status port))))
(close-port port)
- missing)))
+ (match result
+ (('success . _)
+ missing)
+ (('protocol-error message)
+ (raise (condition
+ (&nix-protocol-error (message message) (status 42)))))
+ (('error key args ...)
+ (raise (condition
+ (&nix-protocol-error
+ (message (call-with-output-string
+ (lambda (port)
+ (print-exception port #f key args))))
+ (status 43)))))
+ (_
+ (raise (condition
+ (&nix-protocol-error
+ (message "unknown error while sending files over SSH")
+ (status 44)))))))))
(define (remote-store-session remote)
"Return the SSH channel beneath REMOTE, a remote store as returned by
diff --git a/tests/cpan.scm b/tests/cpan.scm
index 8b588517c9..de865b22be 100644
--- a/tests/cpan.scm
+++ b/tests/cpan.scm
@@ -74,10 +74,10 @@
(mock ((guix http-client) http-fetch
(lambda (url . rest)
(match url
- ("https://api.metacpan.org/release/Foo-Bar"
+ ("https://fastapi.metacpan.org/v1/release/Foo-Bar"
(values (open-input-string test-json)
(string-length test-json)))
- ("https://api.metacpan.org/module/Test::Script?fields=distribution"
+ ("https://fastapi.metacpan.org/v1/module/Test::Script?fields=distribution"
(let ((result "{ \"distribution\" : \"Test-Script\" }"))
(values (open-input-string result)
(string-length result))))