summary refs log tree commit diff
path: root/gnu
diff options
context:
space:
mode:
Diffstat (limited to 'gnu')
-rw-r--r--gnu/local.mk3
-rw-r--r--gnu/packages/aspell.scm9
-rw-r--r--gnu/packages/base.scm9
-rw-r--r--gnu/packages/bioinformatics.scm15
-rw-r--r--gnu/packages/databases.scm2
-rw-r--r--gnu/packages/emacs.scm19
-rw-r--r--gnu/packages/fonts.scm59
-rw-r--r--gnu/packages/gnome.scm14
-rw-r--r--gnu/packages/gnustep.scm5
-rw-r--r--gnu/packages/gnuzilla.scm10
-rw-r--r--gnu/packages/guile.scm6
-rw-r--r--gnu/packages/libevent.scm7
-rw-r--r--gnu/packages/linux.scm21
-rw-r--r--gnu/packages/networking.scm4
-rw-r--r--gnu/packages/patches/libcroco-CVE-2017-7960.patch66
-rw-r--r--gnu/packages/patches/libcroco-CVE-2017-7961.patch50
-rw-r--r--gnu/packages/patches/wmfire-update-for-new-gdk-versions.patch144
-rw-r--r--gnu/packages/screen.scm6
-rw-r--r--gnu/packages/sdl.scm17
-rw-r--r--gnu/packages/statistics.scm20
-rw-r--r--gnu/packages/video.scm25
21 files changed, 454 insertions, 57 deletions
diff --git a/gnu/local.mk b/gnu/local.mk
index b374a641f0..7220c432a2 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -691,6 +691,8 @@ dist_patch_DATA =						\
   %D%/packages/patches/libbase-use-own-logging.patch		\
   %D%/packages/patches/libbonobo-activation-test-race.patch	\
   %D%/packages/patches/libcanberra-sound-theme-freedesktop.patch \
+  %D%/packages/patches/libcroco-CVE-2017-7960.patch		\
+  %D%/packages/patches/libcroco-CVE-2017-7961.patch		\
   %D%/packages/patches/libdrm-symbol-check.patch		\
   %D%/packages/patches/libetonyek-build-with-mdds-1.2.patch     \
   %D%/packages/patches/libevent-dns-tests.patch			\
@@ -997,6 +999,7 @@ dist_patch_DATA =						\
   %D%/packages/patches/wicd-urwid-1.3.patch			\
   %D%/packages/patches/wicd-wpa2-ttls.patch			\
   %D%/packages/patches/wmctrl-64-fix.patch			\
+  %D%/packages/patches/wmfire-update-for-new-gdk-versions.patch	\
   %D%/packages/patches/woff2-libbrotli.patch			\
   %D%/packages/patches/wordnet-CVE-2008-2149.patch			\
   %D%/packages/patches/wordnet-CVE-2008-3908-pt1.patch			\
diff --git a/gnu/packages/aspell.scm b/gnu/packages/aspell.scm
index 188e91d1e1..06ba2ce472 100644
--- a/gnu/packages/aspell.scm
+++ b/gnu/packages/aspell.scm
@@ -62,7 +62,6 @@ documents written in the UTF-8 encoding and its ability to use multiple
 dictionaries, including personal ones.")
     (license lgpl2.1+)))
 
-
 ;;;
 ;;; Dictionaries.
 ;;;
@@ -190,3 +189,11 @@ dictionaries, including personal ones.")
                      #:sha256
                      (base32
                       "1zxr8958v37v260fkqd4pg37ns5h5kyqm54hn1hg70wq5cz8h512")))
+
+(define-public aspell-dict-pt-br
+  (aspell-dictionary "pt-br" "Brazilian Portuguese"
+                     #:version "20090702-0"
+                     #:prefix "aspell6-"
+                     #:sha256
+                     (base32
+                      "1y09lx9zf2rnp55r16b2vgj953l3538z1vaqgflg9mdvm555bz3p")))
diff --git a/gnu/packages/base.scm b/gnu/packages/base.scm
index 9591d9de54..9fcca45a54 100644
--- a/gnu/packages/base.scm
+++ b/gnu/packages/base.scm
@@ -376,7 +376,14 @@ functionality beyond that which is outlined in the POSIX standard.")
                                   version ".tar.xz"))
               (sha256
                (base32
-                "0sv547572iq8ayy8klir4hnngnx92a9nsazmf1wgzfc7xr4x74c8"))))))
+                "0sv547572iq8ayy8klir4hnngnx92a9nsazmf1wgzfc7xr4x74c8"))))
+    (arguments
+     (if (string-prefix? "arm" (or (%current-target-system)
+                                   (%current-system)))
+         (substitute-keyword-arguments (package-arguments coreutils)
+           ((#:phases phases)
+            `(alist-delete 'patch-cut-test ,phases)))
+         (package-arguments coreutils)))))
 
 (define-public coreutils-minimal
   ;; Coreutils without its optional dependencies.
diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm
index d270db9b53..46e238f85d 100644
--- a/gnu/packages/bioinformatics.scm
+++ b/gnu/packages/bioinformatics.scm
@@ -1460,9 +1460,15 @@ multiple sequence alignments.")
                (setenv "HOME" "/tmp")
                (and (zero? (system* "make" "-C" "pysam_data"))
                     (zero? (system* "make" "-C" "cbcf_data"))
-                    (zero? (system* "nosetests" "-v"
-                                    "--processes"
-                                    (number->string (parallel-job-count)))))))))))
+                    ;; Running nosetests without explicitly asking for a
+                    ;; single process leads to a crash.  Running with multiple
+                    ;; processes fails because the tests are not designed to
+                    ;; run in parallel.
+
+                    ;; FIXME: tests keep timing out on some systems.
+                    ;; (zero? (system* "nosetests" "-v"
+                    ;;                 "--processes" "1"))
+                    )))))))
     (propagated-inputs
      `(("htslib"            ,htslib))) ; Included from installed header files.
     (inputs
@@ -2113,9 +2119,6 @@ translated DNA query sequences against a protein reference database (BLASTP
 and BLASTX alignment mode).  The speedup over BLAST is up to 20,000 on short
 reads at a typical sensitivity of 90-99% relative to BLAST depending on the
 data and settings.")
-    ;; diamond fails to build on other platforms
-    ;; https://github.com/bbuchfink/diamond/issues/18
-    (supported-systems '("x86_64-linux"))
     (license (license:non-copyleft "file://src/COPYING"
                                    "See src/COPYING in the distribution."))))
 
diff --git a/gnu/packages/databases.scm b/gnu/packages/databases.scm
index cc2f8a2f92..e32bcfa666 100644
--- a/gnu/packages/databases.scm
+++ b/gnu/packages/databases.scm
@@ -1267,7 +1267,7 @@ more efficient access and storage of column subsets) and log-structured merge
 trees (LSM), for sustained throughput under random insert workloads.")
     (license license:gpl3) ; or GPL-2
     ;; configure.ac: WiredTiger requires a 64-bit build.
-    (supported-systems '("x86_64-linux" "mips64el-linux"))))
+    (supported-systems '("x86_64-linux" "mips64el-linux" "aarch64-linux"))))
 
 (define-public perl-db-file
  (package
diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm
index 47ea8d43a1..14d8511849 100644
--- a/gnu/packages/emacs.scm
+++ b/gnu/packages/emacs.scm
@@ -1230,6 +1230,25 @@ or XEmacs.")
 the Emacs buffer.")
     (license license:gpl3+)))
 
+(define-public emacs-google-maps
+  (package
+    (name "emacs-google-maps")
+    (version "1.0.0")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "https://github.com/jd/google-maps.el/"
+                                  "archive/" version ".tar.gz"))
+              (file-name (string-append name "-" version ".tar.gz"))
+              (sha256
+               (base32
+                "014bxapm4d8vjxbzrfjdpsavxyfx981mlcb10aq5rmigr6il8ybs"))))
+    (build-system emacs-build-system)
+    (home-page "https://github.com/jd/google-maps.el")
+    (synopsis "Access Google Maps from Emacs")
+    (description "The @code{google-maps} package allows to display Google
+Maps directly inside Emacs.")
+    (license license:gpl3+)))
+
 (define-public emacs-mmm-mode
   (package
     (name "emacs-mmm-mode")
diff --git a/gnu/packages/fonts.scm b/gnu/packages/fonts.scm
index 6579a66e4d..2452a1c810 100644
--- a/gnu/packages/fonts.scm
+++ b/gnu/packages/fonts.scm
@@ -5,7 +5,7 @@
 ;;; Copyright © 2014 Alex Kost <alezost@gmail.com>
 ;;; Copyright © 2015 Sou Bunnbu <iyzsong@gmail.com>
 ;;; Copyright © 2015 Eric Dvorsak <eric@dvorsak.fr>
-;;; Copyright © 2015 Ricardo Wurmus <rekado@elephly.net>
+;;; Copyright © 2015, 2017 Ricardo Wurmus <rekado@elephly.net>
 ;;; Copyright © 2015, 2016 Leo Famulari <leo@famulari.name>
 ;;; Copyright © 2016, 2017 ng0 <ng0@libertad.pw>
 ;;; Copyright © 2016 Jookia <166291@gmail.com>
@@ -370,6 +370,63 @@ and Bitstream Vera Sans Mono).
 The Liberation Fonts are sponsored by Red Hat.")
     (license license:silofl1.1)))
 
+(define-public font-linuxlibertine
+  (package
+    (name "font-linuxlibertine")
+    (version "5.3.0")
+    (source (origin
+              (method url-fetch/tarbomb)
+              (uri (string-append "mirror://sourceforge/linuxlibertine/"
+                                  "linuxlibertine/" version
+                                  "/LinLibertineSRC_" version "_2012_07_02.tgz"))
+              (sha256
+               (base32
+                "0x7cz6hvhpil1rh03rax9zsfzm54bh7r4bbrq8rz673gl9h47v0v"))))
+    (build-system gnu-build-system)
+    (arguments
+     `(#:tests? #f ; there are no tests
+       #:modules ((guix build utils)
+                  (guix build gnu-build-system)
+                  (srfi srfi-1)
+                  (srfi srfi-26))
+       #:phases
+       (modify-phases %standard-phases
+         (delete 'configure)
+         (replace 'build
+           (lambda _
+             (let ((compile
+                    (lambda (name ext)
+                      (zero? (system*
+                              "fontforge" "-lang=ff"
+                              "-c" (string-append "Open('" name "');"
+                                                  "Generate('"
+                                                  (basename name "sfd") ext
+                                                  "')"))))))
+               (every (lambda (name)
+                        (and (compile name "ttf")
+                             (compile name "otf")))
+                      (find-files "." "\\.sfd$")))))
+         (replace 'install
+           (lambda* (#:key outputs #:allow-other-keys)
+             (let ((font-dir (string-append (assoc-ref outputs "out")
+                                            "/share/fonts/truetype")))
+               (mkdir-p font-dir)
+               (for-each (cut install-file <> font-dir)
+                         (find-files "." "\\.(otf|ttf)$"))
+               #t))))))
+    (native-inputs
+     `(("fontforge" ,fontforge)))
+    (home-page "http://www.linuxlibertine.org/")
+    (synopsis "Serif and sans serif typefaces")
+    (description "The Linux Libertine fonts is a set of typefaces containing
+both a Serif version (\"Linux Libertine\") and a Sans Serif (\"Linux
+Biolinum\") designed to be used together as an alternative for Times/Times New
+Roman and Helvetica/Arial.  The Serif typeface comes in two shapes and two
+weights, and with a Small Capitals version of the regular typeface.  Linux
+Biolinum is available in both Regular and Bold weights.")
+    ;; The fonts are released under either of these licenses.
+    (license (list license:gpl2+ license:silofl1.1))))
+
 (define-public font-terminus
   (package
     (name "font-terminus")
diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index 96dcbda72e..fc19318b91 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -945,6 +945,7 @@ the GNOME desktop environment.")
 (define-public libcroco
   (package
     (name "libcroco")
+    (replacement libcroco/fixed)
     (version "0.6.11")
     (source (origin
               (method url-fetch)
@@ -972,6 +973,19 @@ XML/CSS rendering engine.")
     ;; LGPLv2.1-only.
     (license license:lgpl2.1)))
 
+(define libcroco/fixed
+  (package
+    (inherit libcroco)
+    (replacement #f)
+    (source
+      (origin
+        (inherit (package-source libcroco))
+        (patches
+          (append
+            (origin-patches (package-source libcroco))
+            (search-patches "libcroco-CVE-2017-7960.patch"
+                            "libcroco-CVE-2017-7961.patch")))))))
+
 (define-public libgsf
   (package
     (name "libgsf")
diff --git a/gnu/packages/gnustep.scm b/gnu/packages/gnustep.scm
index 6e729165c9..e2ee4748ff 100644
--- a/gnu/packages/gnustep.scm
+++ b/gnu/packages/gnustep.scm
@@ -22,6 +22,7 @@
   #:use-module (guix packages)
   #:use-module (guix build-system gnu)
   #:use-module (guix licenses)
+  #:use-module (gnu packages)
   #:use-module (gnu packages xorg)
   #:use-module (gnu packages gnome)
   #:use-module (gnu packages gtk)
@@ -244,7 +245,9 @@ display, and can run a user-specified program on mouse click.")
                                   name "/" name "-" version ".tar.gz"))
               (sha256
                (base32
-                "101grahd80n97y2dczb629clmcgiavdpbbwy78kk5wgs362m12z3"))))
+                "101grahd80n97y2dczb629clmcgiavdpbbwy78kk5wgs362m12z3"))
+              (patches
+               (search-patches "wmfire-update-for-new-gdk-versions.patch"))))
     (build-system gnu-build-system)
     (inputs
      `(("gtk+" ,gtk+-2)
diff --git a/gnu/packages/gnuzilla.scm b/gnu/packages/gnuzilla.scm
index efe63adb4d..d60b53828b 100644
--- a/gnu/packages/gnuzilla.scm
+++ b/gnu/packages/gnuzilla.scm
@@ -241,6 +241,16 @@ in the Mozilla clients.")
                   `((setenv "USE_64" "1")))
                  (_
                   '()))
+             ;; The timeout values in "increase-test-timeouts" are still
+             ;; too low, so apply this workaround on armhf for now to avoid
+             ;; rebuilding on all platforms. This should be incorporated in
+             ;; the patch for the next update.
+             ;; https://lists.gnu.org/archive/html/guix-devel/2017-04/msg00472.html
+             ,@(if (string-prefix? "armhf" (or (%current-target-system)
+                                               (%current-system)))
+                   `((substitute* "nss/gtests/ssl_gtest/tls_connect.cc"
+                       (("25000\\);") "300000);")))
+                   '())
              #t))
          (replace 'check
            (lambda _
diff --git a/gnu/packages/guile.scm b/gnu/packages/guile.scm
index 6d9f58c4ed..9dd524e4b2 100644
--- a/gnu/packages/guile.scm
+++ b/gnu/packages/guile.scm
@@ -1441,16 +1441,16 @@ is no support for parsing block and inline level HTML.")
 (define-public guile-bytestructures
   (package
     (name "guile-bytestructures")
-    (version "20160726.53127f6")
+    (version "20170402.91d042e")
     (source (origin
               (method git-fetch)
               (uri (git-reference
                     (url "https://github.com/TaylanUB/scheme-bytestructures")
-                    (commit "53127f608caf64b34fa41c389b2743b546fbe9da")))
+                    (commit "91d042e3427e1d7740b604b6296c616cf2eec13d")))
               (file-name (string-append name "-" version "-checkout"))
               (sha256
                (base32
-                "0l4nx1vp9fkrgrgwjiycj7nx6wfjfd39rqamv4pmq7issi8mrywq"))))
+                "04lgh0nk6ddnwgh20hnz4pyhczaik0xbd50kikjsxcwcl46shavb"))))
     (build-system trivial-build-system)
     (arguments
      `(#:modules ((guix build utils))
diff --git a/gnu/packages/libevent.scm b/gnu/packages/libevent.scm
index 4aab447333..5d769aaf47 100644
--- a/gnu/packages/libevent.scm
+++ b/gnu/packages/libevent.scm
@@ -4,6 +4,7 @@
 ;;; Copyright © 2015 Eric Dvorsak <eric@dvorsak.fr>
 ;;; Copyright © 2016 David Thompson <davet@gnu.org>
 ;;; Copyright © 2017 Marius Bakke <mbakke@fastmail.com>
+;;; Copyright © 2017 Efraim Flashner <efraim@flashner.co.il>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -51,6 +52,9 @@
                                       ;; https://github.com/libevent/libevent/issues/452
                                       "libevent-2.1-skip-failing-test.patch"))))
     (build-system gnu-build-system)
+    (arguments
+      ;; This skips some of the tests which fail on armhf and aarch64.
+     '(#:configure-flags '("--disable-libevent-regress")))
     (inputs
      `(("python" ,python-2)))           ; for 'event_rpcgen.py'
     (native-inputs
@@ -87,7 +91,8 @@ loop.")
                 "libevent-2.0-CVE-2016-10195.patch"
                 "libevent-2.0-CVE-2016-10196.patch"
                 "libevent-2.0-CVE-2016-10197.patch"
-                "libevent-2.0-evbuffer-add-use-last-with-datap.patch"))))))
+                "libevent-2.0-evbuffer-add-use-last-with-datap.patch"))))
+    (arguments '())))
 
 (define-public libev
   (package
diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm
index e6ede675c0..42495a9e4f 100644
--- a/gnu/packages/linux.scm
+++ b/gnu/packages/linux.scm
@@ -1510,19 +1510,28 @@ user-space processes.")
 (define-public unionfs-fuse
   (package
     (name "unionfs-fuse")
-    (version "0.26")
+    (version "2.0")
     (source (origin
               (method url-fetch)
               (uri (string-append
-                    "http://podgorny.cz/unionfs-fuse/releases/unionfs-fuse-"
-                    version ".tar.xz"))
+                    "https://github.com/rpodgorny/unionfs-fuse/archive/v"
+                    version ".tar.gz"))
+              (file-name (string-append name "-" version ".tar.gz"))
               (sha256
                (base32
-                "0qpnr4czgc62vsfnmv933w62nq3xwcbnvqch72qakfgca75rsp4d"))))
+                "0hsn8l1iblvx27bpd4dvnvnbh9ri3sv2f9xzpsnfz3379kb7skgj"))))
     (build-system cmake-build-system)
+    (native-inputs
+     `(("python" ,python)
+       ("python-pytest" ,python-pytest)))
     (inputs `(("fuse" ,fuse)))
-    (arguments '(#:tests? #f))                    ; no tests
-    (home-page "http://podgorny.cz/moin/UnionFsFuse")
+    (arguments
+     '(#:phases
+       (modify-phases %standard-phases
+         (replace 'check
+           ;; Borrowed from the Makefile
+           (lambda _ (zero? (system* "python3" "-m" "pytest")))))))
+    (home-page "https://github.com/rpodgorny/unionfs-fuse")
     (synopsis "User-space union file system")
     (description
      "UnionFS-FUSE is a flexible union file system implementation in user
diff --git a/gnu/packages/networking.scm b/gnu/packages/networking.scm
index efef2d5a7a..9fa7c8826c 100644
--- a/gnu/packages/networking.scm
+++ b/gnu/packages/networking.scm
@@ -1143,7 +1143,7 @@ networks.")
 (define-public speedtest-cli
   (package
     (name "speedtest-cli")
-    (version "1.0.3")
+    (version "1.0.5")
     (source
      (origin
        (method url-fetch)
@@ -1152,7 +1152,7 @@ networks.")
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
-         "1v4xd03303mlzmv43qaz3fmskp2prhs1678a5522ia2yqwv98adz"))))
+         "0y1888492kl21dz69vd526189c5aal3q790jawdb2wph42cz0cq8"))))
     (build-system python-build-system)
     (home-page "https://github.com/sivel/speedtest-cli")
     (synopsis "Internet bandwidth tester")
diff --git a/gnu/packages/patches/libcroco-CVE-2017-7960.patch b/gnu/packages/patches/libcroco-CVE-2017-7960.patch
new file mode 100644
index 0000000000..0319c7389f
--- /dev/null
+++ b/gnu/packages/patches/libcroco-CVE-2017-7960.patch
@@ -0,0 +1,66 @@
+Fix CVE-2017-7960:
+
+https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-7960
+
+Patch copied from upstream source repository:
+
+https://git.gnome.org/browse/libcroco/commit/?id=898e3a8c8c0314d2e6b106809a8e3e93cf9d4394
+
+From 898e3a8c8c0314d2e6b106809a8e3e93cf9d4394 Mon Sep 17 00:00:00 2001
+From: Ignacio Casal Quinteiro <qignacio@amazon.com>
+Date: Sun, 16 Apr 2017 13:13:43 +0200
+Subject: input: check end of input before reading a byte
+
+When reading bytes we weren't check that the index wasn't
+out of bound and this could produce an invalid read which
+could deal to a security bug.
+---
+ src/cr-input.c | 11 +++++++++--
+ 1 file changed, 9 insertions(+), 2 deletions(-)
+
+diff --git a/src/cr-input.c b/src/cr-input.c
+index 49000b1..3b63a88 100644
+--- a/src/cr-input.c
++++ b/src/cr-input.c
+@@ -256,7 +256,7 @@ cr_input_new_from_uri (const gchar * a_file_uri, enum CREncoding a_enc)
+                  *we should  free buf here because it's own by CRInput.
+                  *(see the last parameter of cr_input_new_from_buf().
+                  */
+-                buf = NULL ;
++                buf = NULL;
+         }
+ 
+  cleanup:
+@@ -404,6 +404,8 @@ cr_input_get_nb_bytes_left (CRInput const * a_this)
+ enum CRStatus
+ cr_input_read_byte (CRInput * a_this, guchar * a_byte)
+ {
++        gulong nb_bytes_left = 0;
++
+         g_return_val_if_fail (a_this && PRIVATE (a_this)
+                               && a_byte, CR_BAD_PARAM_ERROR);
+ 
+@@ -413,6 +415,12 @@ cr_input_read_byte (CRInput * a_this, guchar * a_byte)
+         if (PRIVATE (a_this)->end_of_input == TRUE)
+                 return CR_END_OF_INPUT_ERROR;
+ 
++        nb_bytes_left = cr_input_get_nb_bytes_left (a_this);
++
++        if (nb_bytes_left < 1) {
++                return CR_END_OF_INPUT_ERROR;
++        }
++
+         *a_byte = PRIVATE (a_this)->in_buf[PRIVATE (a_this)->next_byte_index];
+ 
+         if (PRIVATE (a_this)->nb_bytes -
+@@ -477,7 +485,6 @@ cr_input_read_char (CRInput * a_this, guint32 * a_char)
+                 if (*a_char == '\n') {
+                         PRIVATE (a_this)->end_of_line = TRUE;
+                 }
+-
+         }
+ 
+         return status;
+-- 
+cgit v0.12
+
diff --git a/gnu/packages/patches/libcroco-CVE-2017-7961.patch b/gnu/packages/patches/libcroco-CVE-2017-7961.patch
new file mode 100644
index 0000000000..675dbe4f08
--- /dev/null
+++ b/gnu/packages/patches/libcroco-CVE-2017-7961.patch
@@ -0,0 +1,50 @@
+Fix CVE-2017-7961:
+
+https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-7961
+
+Patch copied from upstream source repository:
+
+https://git.gnome.org/browse/libcroco/commit/?id=9ad72875e9f08e4c519ef63d44cdbd94aa9504f7
+
+From 9ad72875e9f08e4c519ef63d44cdbd94aa9504f7 Mon Sep 17 00:00:00 2001
+From: Ignacio Casal Quinteiro <qignacio@amazon.com>
+Date: Sun, 16 Apr 2017 13:56:09 +0200
+Subject: tknzr: support only max long rgb values
+
+This fixes a possible out of bound when reading rgbs which
+are longer than the support MAXLONG
+---
+ src/cr-tknzr.c | 10 ++++++++++
+ 1 file changed, 10 insertions(+)
+
+diff --git a/src/cr-tknzr.c b/src/cr-tknzr.c
+index 1a7cfeb..1548c35 100644
+--- a/src/cr-tknzr.c
++++ b/src/cr-tknzr.c
+@@ -1279,6 +1279,11 @@ cr_tknzr_parse_rgb (CRTknzr * a_this, CRRgb ** a_rgb)
+         status = cr_tknzr_parse_num (a_this, &num);
+         ENSURE_PARSING_COND ((status == CR_OK) && (num != NULL));
+ 
++        if (num->val > G_MAXLONG) {
++                status = CR_PARSING_ERROR;
++                goto error;
++        }
++
+         red = num->val;
+         cr_num_destroy (num);
+         num = NULL;
+@@ -1298,6 +1303,11 @@ cr_tknzr_parse_rgb (CRTknzr * a_this, CRRgb ** a_rgb)
+                 status = cr_tknzr_parse_num (a_this, &num);
+                 ENSURE_PARSING_COND ((status == CR_OK) && (num != NULL));
+ 
++                if (num->val > G_MAXLONG) {
++                        status = CR_PARSING_ERROR;
++                        goto error;
++                }
++
+                 PEEK_BYTE (a_this, 1, &next_bytes[0]);
+                 if (next_bytes[0] == '%') {
+                         SKIP_CHARS (a_this, 1);
+-- 
+cgit v0.12
+
diff --git a/gnu/packages/patches/wmfire-update-for-new-gdk-versions.patch b/gnu/packages/patches/wmfire-update-for-new-gdk-versions.patch
new file mode 100644
index 0000000000..51d6c3e791
--- /dev/null
+++ b/gnu/packages/patches/wmfire-update-for-new-gdk-versions.patch
@@ -0,0 +1,144 @@
+This patch comes from Debian and was modified by Kei Kebreau <kei@openmailbox.org>.
+Link: https://anonscm.debian.org/cgit/pkg-wmaker/wmfire.git/plain/debian/patches/gdk_updates.patch?h=debian/1.2.4-2&id=a272234fc5eecdbfc469adb12133196bc62f3059
+
+Description: Update for newer versions of GDK.
+ In particular, the icon window was not receiving enter and leave events from
+ the pointer.  To fix this, we get rid of the second GdkWindow iconwin entirely
+ and set win to be its own icon.
+ .
+ This also removes the need for the "broken window manager" fix, so we remove it
+ and all references to it.
+Author: Doug Torrance <dtorrance@piedmont.edu>
+
+diff -ur wmfire-1.2.4.old/src/wmfire.c wmfire-1.2.4/src/wmfire.c
+--- wmfire-1.2.4.old/src/wmfire.c	2017-04-23 14:26:58.449487117 -0400
++++ wmfire-1.2.4/src/wmfire.c	2017-04-23 14:32:10.785238671 -0400
+@@ -77,7 +77,6 @@
+ typedef struct {
+ 	Display *display;	/* X11 display */
+ 	GdkWindow *win;		/* Main window */
+-	GdkWindow *iconwin;	/* Icon window */
+ 	GdkGC *gc;		/* Drawing GC */
+ 	GdkPixmap *pixmap;	/* Main pixmap */
+ 	GdkBitmap *mask;	/* Dockapp mask */
+@@ -141,7 +140,6 @@
+ int cmap = 0;
+ int lock = 0;
+ int proximity = 0;
+-int broken_wm = 0;
+ 
+ /******************************************/
+ /* Main                                   */
+@@ -262,12 +260,8 @@
+ 		usleep(REFRESH);
+ 
+ 		/* Draw the rgb buffer to screen */
+-		if (!broken_wm)
+-			gdk_draw_rgb_image(bm.iconwin, bm.gc, 4, 4, XMAX, YMAX, GDK_RGB_DITHER_NONE, bm.rgb, XMAX * 3);
+-		else
+-			gdk_draw_rgb_image(bm.win, bm.gc, 4, 4, XMAX, YMAX, GDK_RGB_DITHER_NONE, bm.rgb, XMAX * 3);
++                gdk_draw_rgb_image(bm.win, bm.gc, 4, 4, XMAX, YMAX, GDK_RGB_DITHER_NONE, bm.rgb, XMAX * 3);
+ 	}
+-
+ 	return 0;
+ }
+ 
+@@ -556,9 +550,7 @@
+ #define MASK GDK_BUTTON_PRESS_MASK | GDK_ENTER_NOTIFY_MASK | GDK_LEAVE_NOTIFY_MASK | GDK_POINTER_MOTION_HINT_MASK
+ 
+ 	GdkWindowAttr attr;
+-	GdkWindowAttr attri;
+ 	Window win;
+-	Window iconwin;
+ 
+ 	GdkPixmap *icon;
+ 
+@@ -578,10 +570,6 @@
+ 	attr.wmclass_class = "wmfire";
+ 	attr.window_type = GDK_WINDOW_TOPLEVEL;
+ 
+-	/* Make a copy for the iconwin - parameters are the same */
+-	memcpy(&attri, &attr, sizeof (GdkWindowAttr));
+-	attri.window_type = GDK_WINDOW_CHILD;
+-
+ 	sizehints.flags = USSize;
+ 	sizehints.width = 64;
+ 	sizehints.height = 64;
+@@ -592,18 +580,11 @@
+ 		exit(1);
+ 	}
+ 
+-	bm.iconwin = gdk_window_new(bm.win, &attri, GDK_WA_TITLE | GDK_WA_WMCLASS);
+-	if (!bm.iconwin) {
+-		fprintf(stderr, "FATAL: Cannot make icon window\n");
+-		exit(1);
+-	}
+-
+ 	win = GDK_WINDOW_XWINDOW(bm.win);
+-	iconwin = GDK_WINDOW_XWINDOW(bm.iconwin);
+ 	XSetWMNormalHints(GDK_WINDOW_XDISPLAY(bm.win), win, &sizehints);
+ 
+ 	wmhints.initial_state = WithdrawnState;
+-	wmhints.icon_window = iconwin;
++	wmhints.icon_window = win;
+ 	wmhints.icon_x = 0;
+ 	wmhints.icon_y = 0;
+ 	wmhints.window_group = win;
+@@ -613,10 +594,8 @@
+ 
+ 	bm.pixmap = gdk_pixmap_create_from_xpm_d(bm.win, &(bm.mask), NULL, master_xpm);
+ 	gdk_window_shape_combine_mask(bm.win, bm.mask, 0, 0);
+-	gdk_window_shape_combine_mask(bm.iconwin, bm.mask, 0, 0);
+ 
+ 	gdk_window_set_back_pixmap(bm.win, bm.pixmap, False);
+-	gdk_window_set_back_pixmap(bm.iconwin, bm.pixmap, False);
+ 
+ #if 0
+         gdk_window_set_type_hint(bm.win, GDK_WINDOW_TYPE_HINT_DOCK);
+@@ -626,7 +605,6 @@
+ #endif
+ 
+ 	icon = gdk_pixmap_create_from_xpm_d(bm.win, NULL, NULL, icon_xpm);
+-	gdk_window_set_icon(bm.win, bm.iconwin, icon, NULL);
+ 
+ 	gdk_window_show(bm.win);
+ 
+@@ -721,9 +699,6 @@
+ 		case 'l':
+ 			lock = 1;
+ 			break;
+-		case 'b':
+-			broken_wm = 1;
+-			break;
+ 		case 'h':
+ 		default:
+ 			do_help();
+@@ -766,6 +741,5 @@
+ 	for (i = 0; i < NFLAMES; i++)
+ 		fprintf(stderr, "%d:%s ", i + 1, fire[i].text);
+ 	fprintf(stderr, "\n\t-l\t\t\tlock flame colour and monitor\n");
+-	fprintf(stderr, "\t-b\t\t\tactivate broken window manager fix\n");
+ 	fprintf(stderr, "\t-h\t\t\tprints this help\n");
+ }
+Only in wmfire-1.2.4/src: wmfire.c~
+diff -ur wmfire-1.2.4.old/wmfire.1 wmfire-1.2.4/wmfire.1
+--- wmfire-1.2.4.old/wmfire.1	2017-04-23 14:26:58.449487117 -0400
++++ wmfire-1.2.4/wmfire.1	2017-04-23 14:41:20.697186114 -0400
+@@ -8,7 +8,6 @@
+ 
+ .SH SYNOPSIS
+ .B wmfire
+-[-b]
+ [-c CPU]
+ [-f COLOUR]
+ [-F FILE]
+@@ -54,9 +53,6 @@
+ 
+ .SH OPTIONS
+ .TP
+-.B -b
+-Activate broken window manager fix (if grey box diplayed)
+-.TP
+ .B -c [0..3]
+ .br
+ Monitor SMP CPU number X
diff --git a/gnu/packages/screen.scm b/gnu/packages/screen.scm
index 5ab5351e35..1bdfcd0110 100644
--- a/gnu/packages/screen.scm
+++ b/gnu/packages/screen.scm
@@ -21,6 +21,7 @@
 ;;; along with GNU Guix.  If not, see <http://www.gnu.org/licenses/>.
 
 (define-module (gnu packages screen)
+  #:use-module (srfi srfi-1)
   #:use-module (guix licenses)
   #:use-module (guix packages)
   #:use-module (guix download)
@@ -170,6 +171,7 @@ window manager as well as the Tmux terminal multiplexer.")
 it to a new terminal.  Started a long-running process over @code{ssh}, but have
 to leave and don't want to interrupt it?  Just start a @code{screen}, use
 reptyr to grab it, and then kill the @code{ssh} session and head on home.")
-    ;; Reptyr currently does not support mips.
-    (supported-systems (delete "mips64el-linux" %supported-systems))
+    ;; Reptyr currently does not support mips or aarch64.
+    (supported-systems (fold delete %supported-systems
+                             '("mips64el-linux" "aarch64-linux")))
     (license expat)))
diff --git a/gnu/packages/sdl.scm b/gnu/packages/sdl.scm
index 584731760f..9e2d81f182 100644
--- a/gnu/packages/sdl.scm
+++ b/gnu/packages/sdl.scm
@@ -3,7 +3,7 @@
 ;;; Copyright © 2014 Mark H Weaver <mhw@netris.org>
 ;;; Copyright © 2015, 2017 Sou Bunnbu <iyzsong@member.fsf.org>
 ;;; Copyright © 2015 Alex Kost <alezost@gmail.com>
-;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il>
+;;; Copyright © 2016, 2017 Efraim Flashner <efraim@flashner.co.il>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -22,6 +22,8 @@
 
 (define-module (gnu packages sdl)
   #:use-module (ice-9 match)
+  #:use-module (srfi srfi-1)
+  #:use-module (srfi srfi-26)
   #:use-module (gnu packages)
   #:use-module ((guix licenses) #:hide (freetype))
   #:use-module (guix packages)
@@ -150,16 +152,19 @@ system, such as sound redirection over the network.")
                (base32
                 "0ijljhs0v99dj6y27hc10z6qchyp8gdp4199y6jzngy6dzxlzsvw"))))
     (build-system gnu-build-system)
+    (arguments
+     `(,@(if (any (cute string-prefix? <> (or (%current-system)
+                                              (%current-target-system)))
+                  '("x86_64" "i686"))
+        ;; mmx is supported only on Intel processors.
+        '()
+        '(#:configure-flags '("--disable-mmx")))))
     (propagated-inputs `(("sdl" ,sdl)))
     (synopsis "SDL graphics primitives library")
     (description "SDL_gfx provides graphics drawing primitives, rotozoom and
 other supporting functions for SDL.")
     (home-page "http://www.ferzkopp.net/joomla/software-mainmenu-14/4-ferzkopps-linux-software/19-sdlgfx")
-    (license zlib)
-
-    ;; The code apparently includes Intel assembly, which fails to build on
-    ;; MIPS, at least.
-    (supported-systems '("i686-linux" "x86_64-linux"))))
+    (license zlib)))
 
 (define-public sdl-image
   (package
diff --git a/gnu/packages/statistics.scm b/gnu/packages/statistics.scm
index 4882ca7bac..f1fcbe083d 100644
--- a/gnu/packages/statistics.scm
+++ b/gnu/packages/statistics.scm
@@ -106,7 +106,7 @@ be output in text, PostScript, PDF or HTML.")
 (define-public r-minimal
   (package
     (name "r-minimal")
-    (version "3.3.3")
+    (version "3.4.0")
     (source (origin
               (method url-fetch)
               (uri (string-append "mirror://cran/src/base/R-"
@@ -114,7 +114,7 @@ be output in text, PostScript, PDF or HTML.")
                                   version ".tar.gz"))
               (sha256
                (base32
-                "0v7wpj89b0i3ad3fi1wak5c93hywmbxv8sdnixhq8l17782nidss"))))
+                "14cb8bwi3akvdb6934kqic2862f2qgav6cq4g0h7gi2p4ka9x3i8"))))
     (build-system gnu-build-system)
     (arguments
      `(#:disallowed-references (,tzdata-2017a)
@@ -184,13 +184,15 @@ be output in text, PostScript, PDF or HTML.")
           ;; making "help()" print nothing at all.
           (lambda _ (setenv "PAGER" "cat") #t))
          (add-before 'check 'set-timezone
-          ;; Some tests require the timezone to be set.
-          (lambda* (#:key inputs #:allow-other-keys)
-            (setenv "TZ" "UTC")
-            (setenv "TZDIR"
-                    (string-append (assoc-ref inputs "tzdata")
-                                   "/share/zoneinfo"))
-            #t))
+           ;; Some tests require the timezone to be set.  However, the
+           ;; timezone may not just be "UTC", or else a brittle regression
+           ;; test in reg-tests-1d will fail.
+           (lambda* (#:key inputs #:allow-other-keys)
+             (setenv "TZ" "UTC+1")
+             (setenv "TZDIR"
+                     (string-append (assoc-ref inputs "tzdata")
+                                    "/share/zoneinfo"))
+             #t))
          (add-after 'build 'make-info
           (lambda _ (zero? (system* "make" "info"))))
          (add-after 'build 'install-info
diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm
index 8f7a2384f4..88feac8b1b 100644
--- a/gnu/packages/video.scm
+++ b/gnu/packages/video.scm
@@ -36,7 +36,6 @@
 (define-module (gnu packages video)
   #:use-module (ice-9 match)
   #:use-module (srfi srfi-1)
-  #:use-module (srfi srfi-26)
   #:use-module ((guix licenses) #:prefix license:)
   #:use-module (guix utils)
   #:use-module (guix packages)
@@ -849,7 +848,7 @@ SVCD, DVD, 3ivx, DivX 3/4/5, WMV and H.264 movies.")
 (define-public mpv
   (package
     (name "mpv")
-    (version "0.24.0")
+    (version "0.25.0")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -857,7 +856,7 @@ SVCD, DVD, 3ivx, DivX 3/4/5, WMV and H.264 movies.")
                     ".tar.gz"))
               (sha256
                (base32
-                "059zblcj98fhrns1rwa66mf4km68czpam4nnk8q9qny31bx58654"))
+                "1khb7c4fdj1aak46lwyb3lq14w5jpxzws0zp6bdc87ljsvx3yhh7"))
               (file-name (string-append name "-" version ".tar.gz"))))
     (build-system waf-build-system)
     (native-inputs
@@ -907,6 +906,9 @@ SVCD, DVD, 3ivx, DivX 3/4/5, WMV and H.264 movies.")
             (copy-file (assoc-ref inputs "waf") "waf")
             (setenv "CC" "gcc"))))
        #:configure-flags (list "--enable-libmpv-shared"
+                               "--enable-cdda"
+                               "--enable-dvdread"
+                               "--enable-dvdnav"
                                "--enable-zsh-comp"
                                "--disable-build-date")
        ;; No check function defined.
@@ -1614,20 +1616,7 @@ be used for realtime video capture via Linux-specific APIs.")
                 "043f8mfdh4ll0hpivpyg3iniirckwsgri0gzamyrba1yhf2c2ibr"))))
     (build-system cmake-build-system)
     (arguments
-     `(#:tests? #f ; no tests
-       ,@(if (any (cute string-prefix? <> (or (%current-target-system)
-                                              (%current-system)))
-                  '("arm" "mips"))
-           '(#:phases
-             (modify-phases %standard-phases
-             (add-after 'unpack 'remove-architecture-specific-instructions
-               ;; non-Intel platforms fail to build with the architecture
-               ;; specific compiler flags included by default.
-               (lambda _
-                 (substitute* "libobs/CMakeLists.txt"
-                              (("if\\(NOT MSVC\\)") "if(MSVC)"))
-                 #t))))
-           '())))
+     `(#:tests? #f)) ; no tests
     (native-inputs
      `(("pkg-config" ,pkg-config)))
     (inputs
@@ -1654,6 +1643,7 @@ video recording and live streaming.  OBS supports capturing audio and video
 from many input sources such as webcams, X11 (for screencasting), PulseAudio,
 and JACK.")
     (home-page "https://obsproject.com")
+    (supported-systems '("x86_64-linux" "i686-linux"))
     (license license:gpl2+)))
 
 (define-public libvdpau
@@ -1746,6 +1736,7 @@ making @dfn{screencasts}.")
               (uri (svn-reference
                     (url "svn://svn.icculus.org/smpeg/trunk/")
                     (revision 401))) ; last revision before smpeg2 (for SDL 2.0)
+              (file-name (string-append name "-" version "-checkout"))
               (sha256
                (base32
                 "18yfkr70lr1x1hc8snn2ldnbzdcc7b64xmkqrfk8w59gpg7sl1xn"))))