summary refs log tree commit diff
path: root/gnu
diff options
context:
space:
mode:
Diffstat (limited to 'gnu')
-rw-r--r--gnu/packages/algebra.scm6
-rw-r--r--gnu/packages/emacs.scm37
-rw-r--r--gnu/packages/embedded.scm120
-rw-r--r--gnu/packages/file.scm2
-rw-r--r--gnu/packages/fonts.scm4
-rw-r--r--gnu/packages/game-development.scm4
-rw-r--r--gnu/packages/geo.scm51
-rw-r--r--gnu/packages/graphics.scm8
-rw-r--r--gnu/packages/linux.scm12
-rw-r--r--gnu/packages/python.scm69
-rw-r--r--gnu/packages/syndication.scm76
-rw-r--r--gnu/packages/video.scm7
-rw-r--r--gnu/packages/web.scm45
13 files changed, 387 insertions, 54 deletions
diff --git a/gnu/packages/algebra.scm b/gnu/packages/algebra.scm
index 7e26e76f4a..0e22e41326 100644
--- a/gnu/packages/algebra.scm
+++ b/gnu/packages/algebra.scm
@@ -1,7 +1,7 @@
 ;;; GNU Guix --- Functional package management for GNU
 ;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017 Andreas Enge <andreas@enge.fr>
 ;;; Copyright © 2013, 2015, 2017 Ludovic Courtès <ludo@gnu.org>
-;;; Copyright © 2016, 2017 Nicolas Goaziou <mail@nicolasgoaziou.fr>
+;;; Copyright © 2016, 2017, 2018 Nicolas Goaziou <mail@nicolasgoaziou.fr>
 ;;; Copyright © 2014 Mark H Weaver <mhw@netris.org>
 ;;; Copyright © 2016 Ricardo Wurmus <rekado@elephly.net>
 ;;; Copyright © 2017 Efraim Flashner <efraim@flashner.co.il>
@@ -208,7 +208,7 @@ GP2C, the GP to C compiler, translates GP scripts to PARI programs.")
 (define-public giac-xcas
   (package
     (name "giac-xcas")
-    (version "1.4.9-33")
+    (version "1.4.9-43")
     (source (origin
               (method url-fetch)
               ;; "~parisse/giac" is not used because the maintainer regularly
@@ -220,7 +220,7 @@ GP2C, the GP to C compiler, translates GP scripts to PARI programs.")
                                   "source/giac_" version ".tar.gz"))
               (sha256
                (base32
-                "1f071j4l9ayri2cxka6bfdb6c0fsdl7q7wk345r7hxjfga69g9mv"))))
+                "1zhbyw4mrgf78fz55cf65650zqld156qa40s4ps69bas8jh61hci"))))
     (build-system gnu-build-system)
     (arguments
      `(#:phases
diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm
index b9280728c4..81cdc29336 100644
--- a/gnu/packages/emacs.scm
+++ b/gnu/packages/emacs.scm
@@ -16,7 +16,7 @@
 ;;; Copyright © 2016 Alex Griffin <a@ajgrf.com>
 ;;; Copyright © 2016, 2017 Nicolas Goaziou <mail@nicolasgoaziou.fr>
 ;;; Copyright © 2016, 2017 Alex Vong <alexvong1995@gmail.com>
-;;; Copyright © 2016, 2017 Arun Isaac <arunisaac@systemreboot.net>
+;;; Copyright © 2016, 2017, 2018 Arun Isaac <arunisaac@systemreboot.net>
 ;;; Copyright © 2017 Christopher Baines <mail@cbaines.net>
 ;;; Copyright © 2017 Mathieu Othacehe <m.othacehe@gmail.com>
 ;;; Copyright © 2017 Clément Lassieur <clement@lassieur.org>
@@ -6600,3 +6600,38 @@ evil mode using @kbd{%}.  It is a port of @code{matchit} for Vim.")
 makes Evil play nice with Smartparens.  Evil is an Emacs minor mode that
 emulates Vim features and provides Vim-like key bindings.")
     (license license:gpl3+)))
+
+(define-public emacs-evil-quickscope
+  (package
+    (name "emacs-evil-quickscope")
+    (version "0.1.4")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append "https://github.com/blorbx/evil-quickscope/archive/v"
+                           version ".tar.gz"))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "1r26a412mmar7vbf89zcifswiwpdg30mjzj32xdyqss57aqi83ma"))))
+    (build-system emacs-build-system)
+    (propagated-inputs
+     `(("emacs-evil" ,emacs-evil)))
+    (arguments
+     `(#:phases
+       (modify-phases %standard-phases
+         (add-before 'install 'check
+           (lambda* (#:key inputs #:allow-other-keys)
+             (invoke "emacs" "--batch" "-L"
+                     (string-append (assoc-ref inputs "emacs-evil")
+                                    "/share/emacs/site-lisp/guix.d/evil-"
+                                    ,(package-version emacs-evil))
+                     "-l" "evil-quickscope-tests.el"
+                     "-f" "ert-run-tests-batch-and-exit"))))))
+    (home-page "https://github.com/blorbx/evil-quickscope")
+    (synopsis "Target highlighting for emacs evil-mode f,F,t and T commands")
+    (description "@code{emacs-evil-quickscope} highlights targets for Evil
+mode’s f,F,t,T keys, allowing for quick navigation within a line.  It is a
+port of quick-scope for Vim.  Evil is an Emacs minor mode that emulates Vim
+features and provides Vim-like key bindings.")
+    (license license:gpl3+)))
diff --git a/gnu/packages/embedded.scm b/gnu/packages/embedded.scm
index 029b5a5c24..870574ae18 100644
--- a/gnu/packages/embedded.scm
+++ b/gnu/packages/embedded.scm
@@ -46,6 +46,7 @@
   #:use-module (gnu packages python)
   #:use-module (gnu packages swig)
   #:use-module (gnu packages texinfo)
+  #:use-module (gnu packages xorg)
   #:use-module (srfi srfi-1))
 
 ;; We must not use the released GCC sources here, because the cross-compiler
@@ -970,3 +971,122 @@ SPI, I2C, JTAG.")
     (description "This program programs Microchip's PIC microcontrollers.")
     (home-page "http://hyvatti.iki.fi/~jaakko/pic/picprog.html")
     (license license:gpl3+)))
+
+(define-public fc-host-tools
+  (package
+    (name "fc-host-tools")
+    (version "7")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "ftp://ftp.freecalypso.org/pub/GSM/"
+                                  "FreeCalypso/fc-host-tools-r" version ".tar.bz2"))
+              (sha256
+               (base32
+                "0j0qh5m2irgdf4v9n4yhfdfqz9k8q27k0rx9m0xqc0ckbrih8d9r"))))
+    (build-system gnu-build-system)
+    (arguments
+     `(#:tests? #f                      ; No tests exist.
+       #:make-flags
+       (list (string-append "INSTBIN=" %output "/bin")
+             (string-append "INCLUDE_INSTALL_DIR=" %output "include/rvinterf"))
+       #:phases
+       (modify-phases %standard-phases
+         (delete 'configure)
+         (add-after 'unpack 'handle-tarbomb
+           (lambda _
+             (chdir "..") ; url-fetch/tarbomb doesn't work for some reason.
+             #t))
+         (add-after 'handle-tarbomb 'patch-installation-paths
+           (lambda* (#:key outputs #:allow-other-keys)
+             (substitute* '("Makefile"
+                            "rvinterf/libasync/launchrvif.c"
+                            "loadtools/defpath.c"
+                            "loadtools/Makefile"
+                            "miscutil/c139explore"
+                            "miscutil/pirexplore")
+               (("/opt/freecalypso/loadtools")
+                (string-append (assoc-ref outputs "out") "/lib/freecalypso/loadtools"))
+               (("/opt/freecalypso")
+                (assoc-ref outputs "out")))
+             #t)))))
+    (inputs
+     `(("libx11" ,libx11)))
+    (synopsis "Freecalypso host tools")
+    (description "This package provides some tools for debugging Freecalypso phones.
+
+@enumerate
+@item fc-e1decode: Decodes a binary Melody E1 file into an ASCII source file.
+@item fc-e1gen: Encodes an ASCII Melody E1 file into a binary Melody E1 file.
+@item fc-fr2tch: Converts a GSM 06.10 speech recording from libgsm to hex
+strings of TCH bits to be fed to the GSM 05.03 channel encoder of a TI
+Calypso GSM device.
+@item fc-tch2fr: Converts hex strings of TCH bits to libgsm.
+@item fc-gsm2vm: utility converts a GSM 06.10 speech sample from the libgsm
+source format into a voice memo file that can be uploaded into the FFS of a
+FreeCalypso device and played with the audio_vm_play_start() API or the
+AT@@VMP command that invokes the latter.
+@item fc-rgbconv: Convers RGB 5:6:5 to RGB 8:8:8 and vice versa.
+@item rvinterf: Communicates with a TI Calypso GSM device via RVTMUX.
+@item rvtdump: produces a human-readable dump of all output emitted by a
+TI-based GSM fw on the RVTMUX binary packet interface.
+@item fc-shell: FreeCalypso firmwares have a feature of our own invention
+(not present in any pre-existing ones) to accept AT commands over the RVTMUX
+interface.  It is useful when no second UART is available for a dedicated
+standard AT command interface.  fc-shell is the tool that allows you to send
+AT commands to the firmware in this manner.
+@item fc-memdump: Captures a memory dump from a GSM device.
+@item fc-serterm: Trivial serial terminal.  Escapes binary chars.
+@item fc-fsio: Going through rvinterf, this tool connects to GSM devices and
+allows you to manipulate the device's flash file system.
+@item tiaud-compile: Compiles an audio mode configuration table for TI's
+Audio Service from our own ASCII source format into the binary format for
+uploading into FreeCalypso GSM device FFS with fc-fsio.
+@item tiaud-decomp: Decodes TI's audio mode configuration files read out of
+FFS into our own ASCII format.
+@item tiaud-mkvol: Generates the *.vol binary files which need to accompany
+the main *.cfg ones.
+@item fc-compalram: Allows running programs on the device without writing
+them to flash storage.
+@item fc-xram: Allows running programs on the device without writing them
+to flash storage.
+@item fc-iram: Allows running programs on the device without writing them
+to flash storage.
+@item fc-loadtool: Writes programs to the device's flash storage.
+@item pirffs: Allows listing and extracting FFS content captured as a raw
+flash image from Pirelli phones.
+@item mokoffs: Allows listing and extracting FFS content captured as a raw
+flash image from OpenMoko phones.
+@item tiffs: Allows listing and extracting FFS content captured as a raw
+flash image from TI phones.
+@item c139explore: Run-from-RAM program for C139 phones that
+exercises their peripheral hardware: LCD, keypad backlight, buzzer, vibrator.
+@item pirexplore: Run-from-RAM program for Pirelli DP-L10 phones that
+exercises their peripheral hardware, primarily their LCD.
+@item tfc139: Breaks into Mot C1xx phones via shellcode injection, allowing
+you to reflash locked phones with new firmware with fc-loadtool.
+@item ctracedec: GSM firmwares built in TI's Windows environment have a
+compressed trace misfeature whereby many of the ASCII strings
+in debug trace messages get replaced with numeric indices at
+build time, and these numeric indices are all that gets emitted
+on the RVTMUX serial channel.  This tools decodes these numeric indices
+back to strings in trace output.
+@item fc-cal2text: This utility takes a dump of TI's /gsm/rf flash file system
+directory subtree as input (either extracted in vitro with tiffs
+or read out in vivo with fc-fsio) and converts all RF tables
+found therein into a readable ASCII format.
+@item imei-luhn: Computes or verifies the Luhn check digit of an IMEI number.
+@item fc-dspapidump: Reads and dumps the contents of the DSP API RAM in a
+target Calypso GSM device.
+@item fc-vm2hex: Converts the old-fashioned (non-AMR) voice memo files read
+out of FFS into hex strings.
+@item fc-buzplay: Plays piezoelectic buzzer melodies on an actual
+Calypso device equipped with such a buzzer (Mot C1xx, TI's D-Sample board,
+our planned future HSMBP) by loading a buzplayer agent onto the target and
+feeding melodies to be played to it.
+@item fc-tmsh: TI-based GSM firmwares provide a rich set of Test Mode commands
+that can be issued through the RVTMUX (debug trace) serial channel.
+This program is our test mode shell for sending Test Mode commands to targets
+and displaying decoded target responses.
+@end enumerate")
+    (home-page "https://www.freecalypso.org/")
+    (license license:public-domain)))
diff --git a/gnu/packages/file.scm b/gnu/packages/file.scm
index 63aa3fac49..0473c519d5 100644
--- a/gnu/packages/file.scm
+++ b/gnu/packages/file.scm
@@ -47,6 +47,6 @@
     "The file command is a file type guesser, a command-line tool that tells
 you in words what kind of data a file contains.  It does not rely on filename
 extensions to tell you the type of a file, but looks at the actual contents
-of the file.")
+of the file.  This package provides the libmagic library.")
    (license bsd-2)
    (home-page "https://www.darwinsys.com/file/")))
diff --git a/gnu/packages/fonts.scm b/gnu/packages/fonts.scm
index 0f123c3ab1..231f51fb3f 100644
--- a/gnu/packages/fonts.scm
+++ b/gnu/packages/fonts.scm
@@ -626,7 +626,7 @@ languages, plus Greek and Cyrillic.")
 (define-public font-gnu-unifont
   (package
     (name "font-gnu-unifont")
-    (version "10.0.06")
+    (version "10.0.07")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -634,7 +634,7 @@ languages, plus Greek and Cyrillic.")
                     version ".tar.gz"))
               (sha256
                (base32
-                "0z8lglzwbkmya0gmhxd9m1x3nsd7flfsbsh0qy34dzqqdwjpyy2p"))))
+                "1js8dn4v4pv8jqprsxa1fv4fs3hqhm9x4dj19fg9qgc8fx7k0v0k"))))
     (build-system gnu-build-system)
     (outputs '("out" ; TrueType version
                "pcf" ; PCF (bitmap) version
diff --git a/gnu/packages/game-development.scm b/gnu/packages/game-development.scm
index ca76ff7d85..363d9a2533 100644
--- a/gnu/packages/game-development.scm
+++ b/gnu/packages/game-development.scm
@@ -386,7 +386,7 @@ support.")
 (define-public tiled
   (package
     (name "tiled")
-    (version "1.0.3")
+    (version "1.1.0")
     (source (origin
               (method url-fetch)
               (uri (string-append "https://github.com/bjorn/tiled/archive/v"
@@ -394,7 +394,7 @@ support.")
               (file-name (string-append name "-" version ".tar.gz"))
               (sha256
                (base32
-                "1qj7l34y5zv2iazmwbix8wdpp88zv7fswbc4arqpp1wak2yna1ix"))))
+                "1xxvy5xyi32pbdva1hp05xq5l8403ck8hqdkv52lbscy92avvvp8"))))
     (build-system gnu-build-system)
     (inputs
      `(("qtbase" ,qtbase)
diff --git a/gnu/packages/geo.scm b/gnu/packages/geo.scm
index 7bf1562ba0..c3a62c6417 100644
--- a/gnu/packages/geo.scm
+++ b/gnu/packages/geo.scm
@@ -25,9 +25,11 @@
   #:use-module ((guix licenses) #:prefix license:)
   #:use-module (guix packages)
   #:use-module (guix utils)
+  #:use-module (gnu packages compression)
   #:use-module (gnu packages glib)
   #:use-module (gnu packages gnome)
   #:use-module (gnu packages gtk)
+  #:use-module (gnu packages image)
   #:use-module (gnu packages pkg-config)
   #:use-module (gnu packages webkit)
   #:use-module (gnu packages xml))
@@ -137,6 +139,55 @@ and driving.")
     (home-page "https://wiki.gnome.org/Apps/Maps")
     (license license:gpl2+)))
 
+(define-public libgeotiff
+  (package
+    (name "libgeotiff")
+    (version "1.4.2")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append "http://download.osgeo.org/geotiff/libgeotiff/libgeotiff-"
+                           version ".tar.gz"))
+       (sha256
+        (base32
+         "0vjy3bwfhljjx66p9w999i4mdhsf7vjshx29yc3pn5livf5091xd"))
+       (modules '((guix build utils)))
+       (snippet
+        '(begin
+           ;; Remove .csv files, distributed from EPSG under a restricted
+           ;; license. See LICENSE for full license text.
+           (for-each delete-file (find-files "." "\\.csv$"))
+           ;; Now that we have removed the csv files, we need to modify the Makefile.
+           (substitute* "Makefile.in"
+             (("^all-am: .*$")
+              "all-am: Makefile $(LTLIBRARIES) $(HEADERS) geo_config.h\n")
+             (("^install-data-am: .*$")
+              "install-data-am: install-includeHEADERS"))))))
+    (build-system gnu-build-system)
+    (inputs
+     `(("libjpeg-turbo" ,libjpeg-turbo)
+       ("libtiff" ,libtiff)
+       ("proj.4" ,proj.4)
+       ("zlib" ,zlib)))
+    (arguments
+     `(#:configure-flags
+       (list (string-append "--with-zlib")
+             (string-append "--with-jpeg")
+             (string-append "--with-libtiff=" (assoc-ref %build-inputs "libtiff")))))
+    (synopsis "Library for handling GeoTIFF (geographic enabled TIFF)")
+    (description "libgeotiff is a library on top of libtiff for reading and
+writing GeoTIFF information tags.")
+    (home-page "https://trac.osgeo.org/geotiff/")
+    ;; This is a mixture of various contributions under different licenses.
+    ;; Note that the EPSG database is NOT "free to use" as the LICENSE file
+    ;; states, as its commercial redistribution is restricted. Hence, we have
+    ;; removed it from the package.
+    (license (list license:public-domain
+                   license:x11
+                   license:bsd-3
+                   (license:non-copyleft "file://LICENSE"
+                                         "See LICENSE in the distribution.")))))
+
 (define-public proj.4
   (package
     (name "proj.4")
diff --git a/gnu/packages/graphics.scm b/gnu/packages/graphics.scm
index 249bbb6df1..c47455c21e 100644
--- a/gnu/packages/graphics.scm
+++ b/gnu/packages/graphics.scm
@@ -214,14 +214,14 @@ many more.")
 (define-public ilmbase
   (package
     (name "ilmbase")
-    (version "2.2.0")
+    (version "2.2.1")
     (source (origin
               (method url-fetch)
               (uri (string-append "mirror://savannah/openexr/ilmbase-"
                                   version ".tar.gz"))
               (sha256
                (base32
-                "1izddjwbh1grs8080vmaix72z469qy29wrvkphgmqmcm0sv1by7c"))
+                "17k0hq19wplx9s029kjrq6c51x2ryrfmaavcappkd0g67gk0dhna"))
               (patches (search-patches "ilmbase-fix-tests.patch"))))
     (build-system gnu-build-system)
     (home-page "http://www.openexr.com/")
@@ -305,14 +305,14 @@ graphics.")
 (define-public openexr
   (package
     (name "openexr")
-    (version "2.2.0")
+    (version "2.2.1")
     (source (origin
               (method url-fetch)
               (uri (string-append "mirror://savannah/openexr/openexr-"
                                   version ".tar.gz"))
               (sha256
                (base32
-                "0ca2j526n4wlamrxb85y2jrgcv0gf21b3a19rr0gh4rjqkv1581n"))
+                "1kdf2gqznsdinbd5vcmqnif442nyhdf9l7ckc51410qm2gv5m6lg"))
               (modules '((guix build utils)))
               (snippet
                '(begin
diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm
index a268d951ed..ba58ffc8f2 100644
--- a/gnu/packages/linux.scm
+++ b/gnu/packages/linux.scm
@@ -370,8 +370,8 @@ It has been modified to remove all non-free binary blobs.")
 (define %intel-compatible-systems '("x86_64-linux" "i686-linux"))
 (define %linux-compatible-systems '("x86_64-linux" "i686-linux" "armhf-linux"))
 
-(define %linux-libre-version "4.14.10")
-(define %linux-libre-hash "05l3r8i34l6b6mlgkia4xvlpc6h9nfwhsb74fy8g9dfbklx51zc8")
+(define %linux-libre-version "4.14.11")
+(define %linux-libre-hash "09q968iv4cbr0gby8pispxabraf2mkzbsx9y2rif4n2ykmxwx4wg")
 
 ;; linux-libre configuration for armhf-linux is derived from Debian armmp.  It
 ;; supports qemu "virt" machine and possibly a large number of ARM boards.
@@ -384,14 +384,14 @@ It has been modified to remove all non-free binary blobs.")
                     #:configuration-file kernel-config))
 
 (define-public linux-libre-4.9
-  (make-linux-libre "4.9.73"
-                    "0a5xgy7g7sb3439brv4hvpb2hjzs22nhibz8vxdmi4sqaqchh9r7"
+  (make-linux-libre "4.9.74"
+                    "1xavyjj1ajg1nb6iy75ih1k2rwcfx09vjav1a69r0vq4q140qsfc"
                     %intel-compatible-systems
                     #:configuration-file kernel-config))
 
 (define-public linux-libre-4.4
-  (make-linux-libre "4.4.108"
-                    "1cwcpp76m4k69lv7h09j3mlgm6jva4bnsykps35ffmbv9sw71wma"
+  (make-linux-libre "4.4.109"
+                    "1yn0vzvh8g26zgmblr92krcik18c0290mqdba5lbz7sd29jbhvzn"
                     %intel-compatible-systems
                     #:configuration-file kernel-config))
 
diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm
index 931b37eb6a..b7e1d3e2dc 100644
--- a/gnu/packages/python.scm
+++ b/gnu/packages/python.scm
@@ -12251,3 +12251,72 @@ such as figshare or Zenodo.")
 
 (define-public python2-semver
   (package-with-python2 python-semver))
+
+(define-public python2-pyro
+  (package
+    (name "python2-pyro")
+    (version "3.16")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (pypi-uri "Pyro" version))
+       (file-name (string-append "Pyro-" version ".tar.gz"))
+       (sha256
+        (base32
+         "0y75wzdqbjy565rpxaxscav4j8xg060sa90lnmb7aypgaf251v8v"))))
+    (build-system python-build-system)
+    (arguments
+     ;; Pyro is not compatible with Python 3
+     `(#:python ,python-2
+       ;; Pyro has no test cases for automatic execution
+       #:tests? #f))
+    (home-page "http://pythonhosted.org/Pyro/")
+    (synopsis "Distributed object manager for Python")
+    (description "Pyro is a Distributed Object Technology system
+written in Python that is designed to be easy to use.  It resembles
+Java's Remote Method Invocation (RMI).  It has less similarity to CORBA,
+which is a system and language independent Distributed Object Technology
+and has much more to offer than Pyro or RMI.  Pyro 3.x is no
+longer maintained.  New projects should use Pyro4 instead, which
+is the new Pyro version that is actively developed.")
+    (license license:expat)))
+
+(define-public python2-scientific
+  (package
+    (name "python2-scientific")
+    (version "2.9.4")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append "https://bitbucket.org/khinsen/"
+                           "scientificpython/downloads/ScientificPython-"
+                           version ".tar.gz"))
+       (file-name (string-append "ScientificPython-" version ".tar.gz"))
+       (sha256
+        (base32
+         "0fc69zhlsn9d2jvbzyjl9ah53vj598h84nkq230c83ahfvgzx5y3"))))
+    (build-system python-build-system)
+    (inputs
+     `(("netcdf" ,netcdf)))
+    (propagated-inputs
+     `(("python-numpy" ,python2-numpy-1.8)
+       ("python-pyro", python2-pyro)))
+    (arguments
+     ;; ScientificPython is not compatible with Python 3
+     `(#:python ,python-2
+       #:tests? #f ; No test suite
+       #:phases
+       (modify-phases %standard-phases
+         (replace 'build
+           (lambda* (#:key inputs #:allow-other-keys)
+             (zero? (system* "python" "setup.py" "build"
+                             (string-append "--netcdf_prefix="
+                                            (assoc-ref inputs "netcdf")))))))))
+    (home-page "https://bitbucket.org/khinsen/scientificpython")
+    (synopsis "Python modules for scientific computing")
+    (description "ScientificPython is a collection of Python modules that are
+useful for scientific computing.  Most modules are rather general (Geometry,
+physical units, automatic derivatives, ...) whereas others are more
+domain-specific (e.g. netCDF and PDB support).  The library is currently
+not actively maintained and works only with Python 2 and NumPy < 1.9.")
+    (license license:cecill-c)))
diff --git a/gnu/packages/syndication.scm b/gnu/packages/syndication.scm
index b182e13395..086b132b79 100644
--- a/gnu/packages/syndication.scm
+++ b/gnu/packages/syndication.scm
@@ -1,4 +1,5 @@
 ;;; Copyright © 2016, 2017 Efraim Flashner <efraim@flashner.co.il>
+;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
 ;;;
 ;;; GNU Guix is free software; you can redistribute it and/or modify it
 ;;; under the terms of the GNU General Public License as published by
@@ -28,8 +29,7 @@
   #:use-module (gnu packages pkg-config)
   #:use-module (gnu packages ruby)
   #:use-module (gnu packages xml)
-  #:use-module (gnu packages web)
-  #:use-module (srfi srfi-1))
+  #:use-module (gnu packages web))
 
 (define-public newsbeuter
   (package
@@ -64,7 +64,7 @@
        ("ruby" ,ruby))) ; for tests
     (inputs
      `(("curl" ,curl)
-       ("json-c" ,json-c)
+       ("json-c" ,json-c-0.12)      ; check whether json-c-0.12 can be removed
        ("ncurses" ,ncurses)
        ("stfl" ,stfl)
        ("sqlite" ,sqlite)
@@ -76,37 +76,55 @@ console.  It supports OPML import/exports, HTML rendering, podcast (podbeuter),
 offline reading, searching and storing articles to your filesystem, and many
 more features.  Its user interface is coherent, easy to use, and might look
 common to users of @command{mutt} and @command{slrn}.")
-    (license (list license:gpl2+ ; filter/*
-                   license:x11))))
+    (license (list license:gpl2+        ; filter/*
+                   license:expat))))    ; everything else
 
 (define-public newsboat
   (package
-    (inherit newsbeuter)
     (name "newsboat")
-    (version "2.10.1")
+    (version "2.10.2")
     (source
-      (origin
-        (method url-fetch)
-        (uri (string-append "https://newsboat.org/releases/" version
-                            "/newsboat-" version ".tar.xz"))
-        (sha256
-         (base32
-          "1xgqkhpjbq916g9hkaxs0s2fz8bg103pzjx75ziq5ba688l9imj4"))))
+     (origin
+       (method url-fetch)
+       (uri (string-append "https://newsboat.org/releases/" version
+                           "/newsboat-" version ".tar.xz"))
+       (sha256
+        (base32
+         "1x4nxx1kvmrcm8jy73dvg56h4z15y3sach2vr13cw8rsbi7v99px"))))
+    (build-system gnu-build-system)
+    (native-inputs
+     `(("gettext" ,gettext-minimal)
+       ("pkg-config" ,pkg-config)
+       ;; For building documentation.
+       ("asciidoc" ,asciidoc)))
+    (inputs
+     `(("curl" ,curl)
+       ("json-c" ,json-c-0.12)      ; check whether json-c-0.12 can be removed
+       ("libxml2" ,libxml2)
+       ("ncurses" ,ncurses)
+       ("stfl" ,stfl)
+       ("sqlite" ,sqlite)))
     (arguments
-     '(#:phases (modify-phases %standard-phases
-                  (delete 'configure) ; no configure
-                  (add-after 'build 'build-documentation
-                    (lambda _ (zero? (system* "make" "doc")))))
-       #:make-flags (list (string-append "prefix=" (assoc-ref %outputs "out"))
-                          ;; see https://github.com/newsboat/newsboat/issues/43
-                          "WARNFLAGS=-Wno-sign-compare")
+     '(#:phases
+       (modify-phases %standard-phases
+         (delete 'configure)            ; no configure script
+         (add-after 'build 'build-documentation
+           (lambda _
+             (zero? (system* "make" "doc")))))
+       #:make-flags
+       (list (string-append "prefix=" (assoc-ref %outputs "out")))
        #:test-target "test"))
-    (native-inputs
-     `(("asciidoc" ,asciidoc)
-       ,@(alist-delete "ruby" (package-native-inputs newsbeuter))))
     (home-page "https://newsboat.org/")
-    (description "Newsboat is a fork of Newsbeuter, an RSS/Atom feed reader for
-the text console.  It supports OPML import/exports, HTML rendering, podcast
-(podboat), offline reading, searching and storing articles to your filesystem,
-and many more features.  Its user interface is coherent, easy to use, and might
-look common to users of @command{mutt} and @command{slrn}.")))
+    (synopsis "Text-mode RSS and Atom feed reader with podcast support")
+    (description "Newsboat is a feed reader for @dfn{RSS} and @dfn{Atom}, XML
+formats widely used to transmit, publish, and syndicate news or blog articles.
+It's designed for use on text terminals, and to have a coherent and easy-to-use
+interface that might look familiar to @command{mutt} or @command{slrn} users.
+
+Newsboat supports OPML import/exports, HTML rendering, podcasts (with
+@command{podboat}), off-line reading, searching and storing articles to your
+file system, and many more features.
+
+It started life as a fork of the currently unmaintained Newsbeuter.")
+    (license (list license:gpl2+        ; filter/*
+                   license:expat))))    ; everything else
diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm
index a43934257d..22fcdc0564 100644
--- a/gnu/packages/video.scm
+++ b/gnu/packages/video.scm
@@ -22,6 +22,7 @@
 ;;; Copyright © 2017 Clément Lassieur <clement@lassieur.org>
 ;;; Copyright © 2017 Gregor Giesen <giesen@zaehlwerk.net>
 ;;; Copyright © 2017 Rutger Helling <rhelling@mykolab.com>
+;;; Copyright © 2018 Roel Janssen <roel@gnu.org>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -1357,6 +1358,12 @@ players, like VLC or MPlayer.")
                (base32
                 "0ayqiq0psq18rcp6f5pz82sxsq66v0kwv0y55dbrcg68plnxy71j"))))
     (build-system gnu-build-system)
+    (arguments
+     `(#:configure-flags '("--with-libdvdcss=yes")))
+    (native-inputs
+     `(("pkg-config" ,pkg-config)))
+    (propagated-inputs
+     `(("libdvdcss" ,libdvdcss)))
     (home-page "http://dvdnav.mplayerhq.hu/")
     (synopsis "Library for reading video DVDs")
     (description
diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm
index aef54982db..10757cb546 100644
--- a/gnu/packages/web.scm
+++ b/gnu/packages/web.scm
@@ -15,7 +15,7 @@
 ;;; Copyright © 2016 Clément Lassieur <clement@lassieur.org>
 ;;; Copyright © 2016, 2017 ng0 <ng0@infotropique.org>
 ;;; Copyright © 2016, 2017 Arun Isaac <arunisaac@systemreboot.net>
-;;; Copyright © 2016, 2017 Tobias Geerinckx-Rice <me@tobias.gr>
+;;; Copyright © 2016, 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr>
 ;;; Copyright © 2016 Bake Timmons <b3timmons@speedymail.org>
 ;;; Copyright © 2017 Thomas Danckaert <post@thomasdanckaert.be>
 ;;; Copyright © 2017 Marius Bakke <mbakke@fastmail.com>
@@ -514,7 +514,7 @@ data.")
 (define-public json-c
   (package
     (name "json-c")
-    (version "0.12.1")
+    (version "0.13")
     (source (origin
              (method url-fetch)
              (uri (string-append
@@ -522,7 +522,7 @@ data.")
                    version ".tar.gz"))
              (sha256
               (base32
-               "08qibrq29a5v7g23wi5icy6l4fbfw90h9ccps6vq0bcklx8n84ra"))
+               "0kf2594kxcfga6x0mvwzj2qg8pgxhjkibc16ghnw85mdx45ph5h3"))
              (modules '((guix build utils)))
              (snippet
               '(begin
@@ -542,10 +542,36 @@ data.")
     (synopsis "JSON implementation in C")
     (description
      "JSON-C implements a reference counting object model that allows you to
-easily construct JSON objects in C, output them as JSON formatted strings and
-parse JSON formatted strings back into the C representation of JSON objects.")
+easily construct JSON objects in C, output them as JSON-formatted strings and
+parse JSON-formatted strings back into the C representation of JSON objects.
+It aims to conform to RFC 7159.")
     (license l:x11)))
 
+;; TODO: remove this old version when all dependents have been updated.
+(define-public json-c-0.12
+  (package
+    (inherit json-c)
+    (version "0.12.1")
+    (source (origin
+             (method url-fetch)
+             (uri (string-append
+                   "https://s3.amazonaws.com/json-c_releases/releases/json-c-"
+                   version ".tar.gz"))
+             (sha256
+              (base32 "08qibrq29a5v7g23wi5icy6l4fbfw90h9ccps6vq0bcklx8n84ra"))
+             (modules '((guix build utils)))
+             (snippet
+              '(begin
+                 ;; Somehow 'config.h.in' is older than
+                 ;; 'aclocal.m4', which would trigger a rule to
+                 ;; run 'autoheader'.
+                 (set-file-time "config.h.in"
+                                (stat "aclocal.m4"))
+
+                 ;; Don't try to build with -Werror.
+                 (substitute* (find-files "." "Makefile\\.in")
+                   (("-Werror") ""))))))))
+
 (define-public qjson
   (package
     (name "qjson")
@@ -4279,7 +4305,7 @@ C.  It is developed as part of the NetSurf project.")
      `(("netsurf-buildsystem" ,netsurf-buildsystem)
        ("pkg-config" ,pkg-config)
        ("doxygen" ,doxygen)
-       ("json-c" ,json-c)
+       ("json-c" ,json-c-0.12)      ; check whether json-c-0.12 can be removed
        ("perl" ,perl)))
     (propagated-inputs
      `(("libparserutils" ,libparserutils))) ;for libhubbub.pc
@@ -4739,6 +4765,13 @@ handling many of the web standards in use today.")
     (arguments
      `(#:phases
        (modify-phases %standard-phases
+         (add-before 'configure 'patch-perl
+           (lambda* (#:key inputs #:allow-other-keys)
+             (let ((perl (assoc-ref inputs "perl")))
+               (substitute* "surfraw.IN"
+                 (("perl -e")
+                  (string-append perl "/bin/perl -e")))
+               #t)))
          (add-after 'install 'compress-elvi.1sr
            (lambda* (#:key outputs #:allow-other-keys)
              ;; The manpages of the elvis are symlinks to elvi.1sr.gz