summary refs log tree commit diff
path: root/gnu
diff options
context:
space:
mode:
authorMark H Weaver <mhw@netris.org>2018-02-03 22:46:07 -0500
committerMark H Weaver <mhw@netris.org>2018-02-03 22:46:07 -0500
commite7ca634912db59596f67dc805d7b3604c5312eeb (patch)
tree567336ae23d1c566150ac39ca7673bd00a7e461f /gnu
parentb0881e0b55bf15d8111625607eb92968b65979ff (diff)
parent0903a51769427b0dac0ea515db4c5b678ce9a02c (diff)
downloadguix-e7ca634912db59596f67dc805d7b3604c5312eeb.tar.gz
Merge branch 'master' into core-updates
Diffstat (limited to 'gnu')
-rw-r--r--gnu/packages/algebra.scm4
-rw-r--r--gnu/packages/astronomy.scm2
-rw-r--r--gnu/packages/base.scm1
-rw-r--r--gnu/packages/bioinformatics.scm6
-rw-r--r--gnu/packages/bootloaders.scm2
-rw-r--r--gnu/packages/cdrom.scm56
-rw-r--r--gnu/packages/check.scm82
-rw-r--r--gnu/packages/databases.scm80
-rw-r--r--gnu/packages/emacs.scm28
-rw-r--r--gnu/packages/fonts.scm68
-rw-r--r--gnu/packages/golang.scm23
-rw-r--r--gnu/packages/gps.scm1
-rw-r--r--gnu/packages/haskell.scm23
-rw-r--r--gnu/packages/linux.scm2
-rw-r--r--gnu/packages/machine-learning.scm35
-rw-r--r--gnu/packages/man.scm6
-rw-r--r--gnu/packages/maths.scm57
-rw-r--r--gnu/packages/multiprecision.scm40
-rw-r--r--gnu/packages/music.scm30
-rw-r--r--gnu/packages/ncdu.scm7
-rw-r--r--gnu/packages/networking.scm15
-rw-r--r--gnu/packages/ocaml.scm171
-rw-r--r--gnu/packages/python-web.scm4
-rw-r--r--gnu/packages/python.scm4
-rw-r--r--gnu/packages/wm.scm22
-rw-r--r--gnu/packages/xfce.scm38
26 files changed, 687 insertions, 120 deletions
diff --git a/gnu/packages/algebra.scm b/gnu/packages/algebra.scm
index e86f8367aa..2bc8431033 100644
--- a/gnu/packages/algebra.scm
+++ b/gnu/packages/algebra.scm
@@ -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-43")
+    (version "1.4.9-45")
     (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
-                "1zhbyw4mrgf78fz55cf65650zqld156qa40s4ps69bas8jh61hci"))))
+                "11za5rznr2dgy6598y4iwrcyi86w7f601ci9i794kl8k22pqhcd8"))))
     (build-system gnu-build-system)
     (arguments
      `(#:phases
diff --git a/gnu/packages/astronomy.scm b/gnu/packages/astronomy.scm
index 2bbdfb58d7..8cf9d9e4a5 100644
--- a/gnu/packages/astronomy.scm
+++ b/gnu/packages/astronomy.scm
@@ -55,7 +55,7 @@
            (lambda _
              (substitute* "Makefile.in" (("/bin/") ""))
              #t)))))
-    (home-page "http://heasarc.gsfc.nasa.gov/fitsio/fitsio.html")
+    (home-page "https://heasarc.gsfc.nasa.gov/fitsio/fitsio.html")
     (synopsis "Library for reading and writing FITS files")
     (description "CFITSIO provides simple high-level routines for reading and
 writing @dfn{FITS} (Flexible Image Transport System) files that insulate the
diff --git a/gnu/packages/base.scm b/gnu/packages/base.scm
index 5fa00f7a2b..b2c1d232fb 100644
--- a/gnu/packages/base.scm
+++ b/gnu/packages/base.scm
@@ -7,6 +7,7 @@
 ;;; Copyright © 2014, 2015 Manolis Fragkiskos Ragkousis <manolis837@gmail.com>
 ;;; Copyright © 2016, 2017 Efraim Flashner <efraim@flashner.co.il>
 ;;; Copyright © 2016 Jan Nieuwenhuizen <janneke@gnu.org>
+;;; Copyright © 2016 Alex Vong <alexvong1995@gmail.com>
 ;;; Copyright © 2017 Rene Saavedra <rennes@openmailbox.org>
 ;;; Copyright © 2017 Mathieu Othacehe <m.othacehe@gmail.com>
 ;;; Copyright © 2017 Marius Bakke <mbakke@fastmail.com>
diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm
index 58897fa3d9..cf9c087ed9 100644
--- a/gnu/packages/bioinformatics.scm
+++ b/gnu/packages/bioinformatics.scm
@@ -1,6 +1,6 @@
 ;;; GNU Guix --- Functional package management for GNU
 ;;; Copyright © 2014, 2015, 2016, 2017, 2018 Ricardo Wurmus <rekado@elephly.net>
-;;; Copyright © 2015, 2016, 2017 Ben Woodcroft <donttrustben@gmail.com>
+;;; Copyright © 2015, 2016, 2017, 2018 Ben Woodcroft <donttrustben@gmail.com>
 ;;; Copyright © 2015, 2016 Pjotr Prins <pjotr.guix@thebird.nl>
 ;;; Copyright © 2015 Andreas Enge <andreas@enge.fr>
 ;;; Copyright © 2016 Roel Janssen <roel@gnu.org>
@@ -2074,7 +2074,7 @@ identify enrichments with functional annotations of the genome.")
 (define-public diamond
   (package
     (name "diamond")
-    (version "0.9.16")
+    (version "0.9.17")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -2083,7 +2083,7 @@ identify enrichments with functional annotations of the genome.")
               (file-name (string-append name "-" version ".tar.gz"))
               (sha256
                (base32
-                "1sydm3jldl4pypy74g82dj9j8vx3j3ikf3i9srxqjp7r64039hiy"))))
+                "1p3fd1ad7hg2w09w3sjk4pxqx0p0gaqys8ipg3f4adg77mn9m9yd"))))
     (build-system cmake-build-system)
     (arguments
      '(#:tests? #f ; no "check" target
diff --git a/gnu/packages/bootloaders.scm b/gnu/packages/bootloaders.scm
index 35b9a550ae..a6f40119dc 100644
--- a/gnu/packages/bootloaders.scm
+++ b/gnu/packages/bootloaders.scm
@@ -402,7 +402,7 @@ also initializes the boards (RAM etc).")
                                                                  suffix-len))))))
                        #f)))))
            (replace 'install
-             (lambda* (#:key outputs make-flags #:allow-other-keys)
+             (lambda* (#:key outputs #:allow-other-keys)
                (let* ((out (assoc-ref outputs "out"))
                       (libexec (string-append out "/libexec"))
                       (uboot-files (append
diff --git a/gnu/packages/cdrom.scm b/gnu/packages/cdrom.scm
index 38190340f1..4f9e2be686 100644
--- a/gnu/packages/cdrom.scm
+++ b/gnu/packages/cdrom.scm
@@ -9,6 +9,7 @@
 ;;; Copyright © 2017 John Darrington <jmd@gnu.org>
 ;;; Copyright © 2017 Thomas Danckaert <post@thomasdanckaert.be>
 ;;; Copyright © 2017 Tobias Geerinckx-Rice <me@tobias.gr>
+;;; Copyright © 2017 ng0 <ng0@n0.is>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -160,9 +161,7 @@ libcdio.")
     (inputs
      `(("acl" ,acl)
        ("readline" ,readline)
-       ("bzip2" ,bzip2)
-       ("zlib" ,zlib)
-       ("libcdio" ,libcdio)))
+       ("zlib" ,zlib)))
     (home-page "https://www.gnu.org/software/xorriso/")
     (synopsis "Create, manipulate, burn ISO-9660 file systems")
     (description
@@ -694,3 +693,54 @@ distributed with CD images and are used to describe how tracks are
 laid out on the image.")
     (home-page "https://www.gnu.org/software/ccd2cue/")
     (license gpl3+)))
+
+(define-public libburn
+  (package
+    (name "libburn")
+    (version "1.4.6")
+    (source (origin
+             (method url-fetch)
+             (uri (string-append "http://files.libburnia-project.org/releases/"
+                                 "libburn-" version ".tar.gz"))
+             (sha256
+              (base32
+               "0wbh49s3az3sfpai09z1zdgynq7wnwrk31v5589033274nmzldlx"))))
+    (build-system gnu-build-system)
+    (native-inputs
+     `(("pkg-config" ,pkg-config)))
+    (home-page "https://dev.lovelyhq.com/libburnia/libburn")
+    (synopsis "Library for reading and writing optical discs")
+    (description
+     "Libburn is a library for reading and writing optical discs.
+Supported media are: CD-R, CD-RW, DVD-RAM, DVD+RW, DVD+R, DVD+R/DL,
+DVD-RW, DVD-R, DVD-R/DL, BD-R, and BD-RE.")
+    (license gpl2)))
+
+(define-public libisofs
+  (package
+    (name "libisofs")
+    (version "1.4.6")
+    (source (origin
+             (method url-fetch)
+             (uri (string-append "http://files.libburnia-project.org/releases/"
+                                 "libisofs-" version ".tar.gz"))
+             (sha256
+              (base32
+               "02m5g6lbmmkh2xc5xzq5zaf3ma6v31gls66aj886b3cq9qw0paql"))))
+    (build-system gnu-build-system)
+    (inputs
+     `(("zlib" ,zlib)
+       ("acl" ,acl)))
+    (native-inputs
+     `(("pkg-config" ,pkg-config)))
+    (home-page "https://dev.lovelyhq.com/libburnia/libisofs")
+    (synopsis "Library to create ISO 9660 images")
+    (description
+     "Libisofs creates ISO 9660 (also known as ECMA-119) filesystem images
+which can either be written to POSIX file objects or handed over to
+libburn for being written directly to optical media.
+It can read metadata of ISO 9660 filesystems, manipulate them, and use them
+to produce new complete filesystem images or add-on images to be appended
+to the read filesystem image.
+Supported extensions to ISO 9660 are Rock Ridge, Joliet, AAIP, zisofs.")
+    (license gpl2+)))
diff --git a/gnu/packages/check.scm b/gnu/packages/check.scm
index dd54bca7e1..1e2eabeba5 100644
--- a/gnu/packages/check.scm
+++ b/gnu/packages/check.scm
@@ -50,6 +50,7 @@
   #:use-module (gnu packages bash)
   #:use-module (gnu packages compression)
   #:use-module (gnu packages llvm)
+  #:use-module (gnu packages golang)
   #:use-module (gnu packages python)
   #:use-module (gnu packages python-web)
   #:use-module (gnu packages time)
@@ -295,6 +296,87 @@ normally do not detect.  The goal is to detect only real errors in the code
       (home-page "https://github.com/go-check/check")
       (license license:bsd-2))))
 
+(define-public go-github.com-smartystreets-gunit
+  (package
+    (name "go-github.com-smartystreets-gunit")
+    (version "1.0.0")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/smartystreets/gunit")
+                    (commit version)))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "00m4zg0kdj49mnpmf9klb44ba71p966xsk6zknrzqgfc8119f35z"))))
+    (build-system go-build-system)
+    (arguments
+     '(;; TODO: This package depends on go-github.com-smartystreets-assertions
+       ;; for running the tests, but go-github.com-smartystreets-assertions
+       ;; depends on this package, so break this loop by not running the tests
+       ;; for this package.
+       #:tests? #f
+       #:import-path "github.com/smartystreets/gunit"))
+    (synopsis "Testing tool for Go, in the style of xUnit")
+    (description
+     "@code{gunit} allows the test author to use a struct as the scope for a
+group of related test cases, in the style of xUnit fixtures.  This makes
+extraction of setup/teardown behavior (as well as invoking the system under
+test) much simpler.")
+    (home-page "https://github.com/smartystreets/gunit")
+    (license license:expat)))
+
+(define-public go-github.com-smartystreets-assertions
+  (package
+    (name "go-github.com-smartystreets-assertions")
+    (version "1.8.1")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/smartystreets/assertions")
+                    (commit version)))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "1j0adgbykl55rf2945g0n5bmqdsnjcqlx5dcmpfh4chki43hiwg9"))))
+    (build-system go-build-system)
+    (arguments
+     '(#:import-path "github.com/smartystreets/assertions"))
+    (native-inputs
+     `(("go-github.com-smartystreets-gunit" ,go-github.com-smartystreets-gunit)))
+    (synopsis "Assertions for testing with Go")
+    (description
+     "The @code{assertions} package provides convinient assertion functions
+for writing tests in Go.")
+    (home-page "https://github.com/smartystreets/assertions")
+    (license license:expat)))
+
+(define-public go-github.com-smartystreets-goconvey
+  (package
+    (name "go-github.com-smartystreets-goconvey")
+    (version "1.6.3")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/smartystreets/goconvey")
+                    (commit version)))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "1ph18rkl3ns3fgin5i4j54w5a69grrmf3apcsmnpdn1wlrbs3dxh"))))
+    (build-system go-build-system)
+    (arguments
+     '(#:import-path "github.com/smartystreets/goconvey"))
+    (propagated-inputs
+     `(("go-github.com-jtolds-gls" ,go-github.com-jtolds-gls)
+       ("go-github.com-smartystreets-assertions" ,go-github.com-smartystreets-assertions)))
+    (synopsis "Go testing tool with both a web and terminal user interface")
+    (description
+     "GoConvey is a testing tool for Go. It integrates with go test, can show
+test coverage and has a web user interface that will refresh automatically.")
+    (home-page "https://github.com/smartystreets/goconvey")
+    (license license:expat)))
+
 (define-public googletest
   (package
     (name "googletest")
diff --git a/gnu/packages/databases.scm b/gnu/packages/databases.scm
index 01dbf91100..8dbca2b8d1 100644
--- a/gnu/packages/databases.scm
+++ b/gnu/packages/databases.scm
@@ -2627,51 +2627,71 @@ transforms idiomatic python function calls to well-formed SQL queries.")
              (file-name (git-file-name name version))
              (sha256
               (base32
-               "095nc57k4m4iyim0x3fgpw681qba123iyl4qz7xysbv5ngbr19mc"))))
+               "1bcsz5cvj39a7nsxsfqmz9igrw33j6yli9kffigqyscs52amw7x1"))))
     (build-system go-build-system)
     (arguments
-     `(#:unpack-path "github.com/mongodb"
-       #:import-path "github.com/mongodb/mongo-tools"
+     `(#:import-path "github.com/mongodb/mongo-tools"
+       #:modules ((srfi srfi-1)
+                  (guix build go-build-system)
+                  (guix build utils))
        #:phases
-       (modify-phases %standard-phases
-         (add-after 'unpack 'delete-bundled-source-code
-           (lambda _
-             (delete-file-recursively
-              "src/github.com/mongodb/mongo-tools/vendor")
-             #t))
-
-         ;; We don't need to install the source code for end-user application
-         (delete 'install-source)
-
-         (replace 'build
-           (lambda* (#:key inputs outputs #:allow-other-keys)
-             (let build ((tools
-                          '("bsondump" "mongodump" "mongoexport" "mongofiles"
-                            "mongoimport" "mongooplog" "mongorestore"
-                            "mongostat" "mongotop")))
-               (if (null? tools)
-                   #t
-                   (if (let* ((tool (car tools))
-                              (command
-                               `("go" "install" "-v"
+       (let ((all-tools
+              '("bsondump" "mongodump" "mongoexport" "mongofiles"
+                "mongoimport" "mongooplog" "mongorestore"
+                "mongostat" "mongotop")))
+         (modify-phases %standard-phases
+           (add-after 'unpack 'delete-bundled-source-code
+             (lambda _
+               (delete-file-recursively
+                "src/github.com/mongodb/mongo-tools/vendor")
+               #t))
+           ;; We don't need to install the source code for end-user applications
+           (delete 'install-source)
+           (replace 'build
+             (lambda _
+               (every (lambda (tool)
+                        (let ((command
+                               `("go" "build"
+                                 ;; This is where the tests expect to find the
+                                 ;; executables
+                                 "-o" ,(string-append
+                                        "src/github.com/mongodb/mongo-tools/bin/"
+                                        tool)
+                                 "-v"
                                  "-tags=\"ssl sasl\""
                                  "-ldflags"
                                  "-extldflags=-Wl,-z,now,-z,relro"
                                  ,(string-append
                                    "src/github.com/mongodb/mongo-tools/"
                                    tool "/main/" tool ".go"))))
-                         (simple-format #t "build: running ~A\n"
-                                        (string-join command))
-                         (zero? (apply system* command)))
-                       (build (cdr tools))
-                       #f))))))))
+                          (simple-format #t "build: running ~A\n"
+                                         (string-join command))
+                          (apply invoke command)))
+                      all-tools)))
+           (replace 'check
+             (lambda _
+               (with-directory-excursion "src"
+                 (every (lambda (tool)
+                          (invoke
+                           "go" "test" "-v"
+                           (string-append "github.com/mongodb/mongo-tools/" tool)))
+                        all-tools))))
+           (replace 'install
+             (lambda* (#:key outputs #:allow-other-keys)
+               (for-each (lambda (tool)
+                           (install-file
+                            (string-append "src/github.com/mongodb/mongo-tools/bin/" tool)
+                            (string-append (assoc-ref outputs "out")
+                                           "/bin")))
+                         all-tools)))))))
     (native-inputs
      `(("go-github.com-howeyc-gopass" ,go-github.com-howeyc-gopass)
        ("go-github.com-jessevdk-go-flags" ,go-github.com-jessevdk-go-flags)
        ("go-golang.org-x-crypto-ssh-terminal" ,go-golang.org-x-crypto-ssh-terminal)
        ("go-gopkg.in-mgo.v2" ,go-gopkg.in-mgo.v2)
        ("go-gopkg.in-tomb.v2" ,go-gopkg.in-tomb.v2)
-       ("go-github.com-nsf-termbox-go" ,go-github.com-nsf-termbox-go)))
+       ("go-github.com-nsf-termbox-go" ,go-github.com-nsf-termbox-go)
+       ("go-github.com-smartystreets-goconvey" ,go-github.com-smartystreets-goconvey)))
     (home-page "https://github.com/mongodb/mongo-tools")
     (synopsis "Various tools for interacting with MongoDB and BSON")
     (description
diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm
index faf4b131e8..62cc916773 100644
--- a/gnu/packages/emacs.scm
+++ b/gnu/packages/emacs.scm
@@ -1,6 +1,6 @@
 ;;; GNU Guix --- Functional package management for GNU
 ;;; Copyright © 2014 Taylan Ulrich Bayirli/Kammer <taylanbayirli@gmail.com>
-;;; Copyright © 2013, 2014, 2015, 2016, 2017 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2013, 2014, 2015, 2016, 2017, 2018 Ludovic Courtès <ludo@gnu.org>
 ;;; Copyright © 2014, 2015, 2016, 2017 Mark H Weaver <mhw@netris.org>
 ;;; Copyright © 2014, 2015, 2016, 2017 Alex Kost <alezost@gmail.com>
 ;;; Copyright © 2015 Federico Beffa <beffa@fbengineering.ch>
@@ -6436,7 +6436,7 @@ Idris.")
     (license license:gpl3+)))
 
 (define-public emacs-browse-at-remote
-  (let ((commit "b5cff7971ca8bbb966e3acd9b7e5c4c007f94215")
+  (let ((commit "31dcf77d7c89a12f230e2b2332585db2c44530ef")
         (revision "1"))
     (package
       (name "emacs-browse-at-remote")
@@ -6450,7 +6450,7 @@ Idris.")
                 (file-name (string-append name "-" version "-checkout"))
                 (sha256
                  (base32
-                  "16ms9703m15dfxg6ap4mdw7msf8z5rzsdhba51dwivfpjxg7n52c"))))
+                  "017cb8lf7zbg0jmr7zxzd7d5kz2jy35cvw5vcpdmq1fdr3wqwkgj"))))
       (build-system emacs-build-system)
       (propagated-inputs
        `(("emacs-f" ,emacs-f)
@@ -6919,3 +6919,25 @@ supports multiple backends such as @code{vlc}, @code{mpg123},
 Groovy source files, REPL integration with run-groovy and Grails project
 navigation with the grails mode.")
     (license license:gpl3+)))
+
+(define-public org-tree-slide
+  (let ((commit "dff8f1a4a64c8dd0a1fde0b0131e2fe186747134")
+        (revision "0"))
+    (package
+      (name "emacs-org-tree-slide")
+      (version (git-version "0.1" revision commit))
+      (home-page "https://github.com/takaxp/org-tree-slide")
+      (source (origin
+                (method git-fetch)
+                (uri (git-reference (url home-page) (commit commit)))
+                (sha256
+                 (base32
+                  "153bg0x7ypla11pq51jmsgzfjklwwnrq56xgpbfhk1j16xwz9hyf"))
+                (file-name (git-file-name name version))))
+      (build-system emacs-build-system)
+      (synopsis "Presentation tool for org-mode")
+      (description
+       "Org-tree-slide provides a slideshow mode to view org-mode files.  Use
+@code{org-tree-slide-mode} to enter the slideshow mode, and then @kbd{C->} and
+@kbd{C-<} to jump to the next and previous slide.")
+      (license license:gpl3+))))
diff --git a/gnu/packages/fonts.scm b/gnu/packages/fonts.scm
index ccf05fec2d..cb46fee77a 100644
--- a/gnu/packages/fonts.scm
+++ b/gnu/packages/fonts.scm
@@ -1199,3 +1199,71 @@ that's clean and modern, and can express a wide range of voices & feelings.
 It comes in 7 incremental weights:
 ExtraLight, Light, Book, Medium, Semibold, Bold & ExtraBold")
     (license license:silofl1.1)))
+
+(define-public culmus
+  (package
+    (name "culmus")
+    (version "0.132")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (string-append "https://sourceforge.net/projects/"
+                            "culmus/files/culmus/" version "/culmus-src-"
+                            version ".tar.gz"))
+        (sha256
+         (base32
+          "1djxalm26r7bcq33ckmfa15xfs6pmqzvcl64d5lqa1dl01bl4j4z"))))
+    (build-system gnu-build-system)
+    (arguments
+     `(#:tests? #f ; 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
+                                                  "')"))))))
+               ;; This part based on the fonts shipped in the non-source package.
+               (every (lambda (name)
+                        (compile name "ttf"))
+                      (find-files "." "^[^Nachlieli].*\\.sfd$"))
+               (every (lambda (name)
+                        (compile name "otf"))
+                      (find-files "." "^Nachlieli.*\\.sfd$"))
+               #t)))
+         (replace 'install
+           (lambda* (#:key outputs #:allow-other-keys)
+             (let* ((out     (assoc-ref %outputs "out"))
+                    (ttf     (string-append out "/share/fonts/truetype"))
+                    (otf     (string-append out "/share/fonts/opentype"))
+                    (license (string-append out "/share/doc/" ,name)))
+               (for-each (lambda (file)
+                           (install-file file ttf))
+                         (find-files "." "\\.ttf$"))
+               (for-each (lambda (file)
+                           (install-file file otf))
+                         (find-files "." "\\.otf$"))
+               (for-each (lambda (file)
+                           (install-file file license))
+                         '("GNU-GPL" "LICENSE" "LICENSE-BITSTREAM"))
+               #t))))))
+    (native-inputs
+     `(("fontforge" ,fontforge)))
+    (home-page "http://culmus.sourceforge.net/")
+    (synopsis "TrueType Hebrew Fonts for X11")
+    (description "14 Hebrew trivial families.  Contain ASCII glyphs from various
+sources.  Those families provide a basic set of a serif (Frank Ruehl), sans
+serif (Nachlieli) and monospaced (Miriam Mono) trivials.  Also included Miriam,
+Drugulin, Aharoni, David, Hadasim etc.  Cantillation marks support is
+available in Keter YG.")
+    (license license:gpl2))) ; consult the LICENSE file included
diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm
index b8eb90ed9e..3149d36bae 100644
--- a/gnu/packages/golang.scm
+++ b/gnu/packages/golang.scm
@@ -496,3 +496,26 @@ way of specifying command line options.")
 termination.")
       (home-page "https://gopkg.in/tomb.v2")
       (license license:bsd-3))))
+
+(define-public go-github.com-jtolds-gls
+  (package
+    (name "go-github.com-jtolds-gls")
+    (version "4.2.1")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/jtolds/gls")
+                    (commit (string-append "v" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "1vm37pvn0k4r6d3m620swwgama63laz8hhj3pyisdhxwam4m2g1h"))))
+    (build-system go-build-system)
+    (arguments
+     '(#:import-path "github.com/jtolds/gls"))
+    (synopsis "@code{gls} provides Goroutine local storage")
+    (description
+     "The @code{gls} package provides a way to store a retrieve values
+per-goroutine.")
+    (home-page "https://github.com/jtolds/gls")
+    (license license:expat)))
diff --git a/gnu/packages/gps.scm b/gnu/packages/gps.scm
index 760d9852d7..732c073b56 100644
--- a/gnu/packages/gps.scm
+++ b/gnu/packages/gps.scm
@@ -48,6 +48,7 @@
               (sha256
                (base32
                 "0xf7wmy2m29g2lm8lqc74yf8rf7sxfl3cfwbk7dpf0yf42pb0b6w"))
+              (modules '((guix build utils)))
               (snippet
                '(begin
                   ;; Delete files under GPL-compatible licences but never used
diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm
index 4f51af24c5..5db0c79073 100644
--- a/gnu/packages/haskell.scm
+++ b/gnu/packages/haskell.scm
@@ -42,6 +42,7 @@
   #:use-module (gnu packages haskell-crypto)
   #:use-module (gnu packages haskell-web)
   #:use-module (gnu packages libffi)
+  #:use-module (gnu packages linux)
   #:use-module (gnu packages lisp)
   #:use-module (gnu packages lua)
   #:use-module (gnu packages maths)
@@ -2071,6 +2072,28 @@ them on the longest match base.  It is a kind of TRIE with one way branching
 removed.  Both IPv4 and IPv6 are supported.")
     (license license:bsd-3)))
 
+(define-public ghc-iwlib
+  (package
+    (name "ghc-iwlib")
+    (version "0.1.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append "https://hackage.haskell.org/package/iwlib/iwlib-"
+                           version ".tar.gz"))
+       (sha256
+        (base32 "0khmfwql4vwj55idsxmhjhrbqzfir3g9wm5lmpvnf77mm95cfpdz"))))
+    (build-system haskell-build-system)
+    (inputs
+     `(("wireless-tools" ,wireless-tools)))
+    (home-page "https://github.com/jaor/iwlib")
+    (synopsis "Haskell binding to the iw wireless networking library")
+    (description
+     "IWlib is a thin Haskell binding to the iw C library.  It provides
+information about the current wireless network connections, and adapters on
+supported systems.")
+    (license license:bsd-3)))
+
 (define-public ghc-regex-base
   (package
     (name "ghc-regex-base")
diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm
index 742ded5cd7..2df0c12f55 100644
--- a/gnu/packages/linux.scm
+++ b/gnu/packages/linux.scm
@@ -368,7 +368,7 @@ for ARCH and optionally VARIANT, or #f if there is no such configuration."
                                "INSTALL_MOD_STRIP=1"
                                "modules_install"))))))
        #:tests? #f))
-    (home-page "https://www.gnu.org/software/linux-libre//")
+    (home-page "https://www.gnu.org/software/linux-libre/")
     (synopsis "100% free redistribution of a cleaned Linux kernel")
     (description
      "GNU Linux-Libre is a free (as in freedom) variant of the Linux kernel.
diff --git a/gnu/packages/machine-learning.scm b/gnu/packages/machine-learning.scm
index e45c1ae3d3..12384a1031 100644
--- a/gnu/packages/machine-learning.scm
+++ b/gnu/packages/machine-learning.scm
@@ -4,6 +4,8 @@
 ;;; Copyright © 2016, 2017 Marius Bakke <mbakke@fastmail.com>
 ;;; Copyright © 2016 Hartmut Goebel <h.goebel@crazy-compilers.com>
 ;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
+;;; Copyright © 2018 Mark Meyer <mark@ofosos.org>
+;;; Copyright © 2018 Ben Woodcroft <donttrustben@gmail.com>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -31,6 +33,7 @@
   #:use-module (guix build-system ocaml)
   #:use-module (guix build-system python)
   #:use-module (guix build-system r)
+  #:use-module (guix git-download)
   #:use-module (gnu packages)
   #:use-module (gnu packages autotools)
   #:use-module (gnu packages boost)
@@ -50,6 +53,38 @@
   #:use-module (gnu packages xml)
   #:use-module (gnu packages xorg))
 
+(define-public fann
+  ;; The last release is >100 commits behind, so we package from git.
+  (let ((commit "d71d54788bee56ba4cf7522801270152da5209d7"))
+    (package
+      (name "fann")
+      (version (string-append "2.2.0-1." (string-take commit 8)))
+      (source (origin
+                (method git-fetch)
+                (uri (git-reference
+                      (url "https://github.com/libfann/fann.git")
+                      (commit commit)))
+                (file-name (string-append name "-" version "-checkout"))
+                (sha256
+                 (base32
+                  "0ibwpfrjs6q2lijs8slxjgzb2llcl6rk3v2ski4r6215g5jjhg3x"))))
+      (build-system cmake-build-system)
+      (arguments
+       `(#:phases
+         (modify-phases %standard-phases
+           (replace 'check
+             (lambda* (#:key outputs #:allow-other-keys)
+               (let* ((out (assoc-ref outputs "out")))
+                 (with-directory-excursion (string-append (getcwd) "/tests")
+                   (invoke "./fann_tests"))))))))
+      (home-page "http://leenissen.dk/fann/wp/")
+      (synopsis "Fast Artificial Neural Network")
+      (description
+       "FANN is a free open source neural network library, which implements
+multilayer artificial neural networks in C with support for both fully
+connected and sparsely connected networks.")
+      (license license:lgpl2.1))))
+
 (define-public libsvm
   (package
     (name "libsvm")
diff --git a/gnu/packages/man.scm b/gnu/packages/man.scm
index ac3f2b74bd..6d1efcee01 100644
--- a/gnu/packages/man.scm
+++ b/gnu/packages/man.scm
@@ -4,7 +4,7 @@
 ;;; Copyright © 2015, 2016 Ricardo Wurmus <rekado@elephly.net>
 ;;; Copyright © 2015 Alex Kost <alezost@gmail.com>
 ;;; Copyright © 2015, 2016 Efraim Flashner <efraim@flashner.co.il>
-;;; Copyright © 2017 Tobias Geerinckx-Rice <me@tobias.gr>
+;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -147,7 +147,7 @@ the traditional flat-text whatis databases.")
 (define-public man-pages
   (package
     (name "man-pages")
-    (version "4.14")
+    (version "4.15")
     (source (origin
               (method url-fetch)
               (uri
@@ -160,7 +160,7 @@ the traditional flat-text whatis databases.")
                     "man-pages-" version ".tar.xz")))
               (sha256
                (base32
-                "0wf9ymqxk1k5xwcl3n919p66a1aayif3x4cahj4w04y3k1wbhlih"))))
+                "01n1rq1kvambax85xamriawbga94mh63s5mgjmjljjgf50m7yw6f"))))
     (build-system gnu-build-system)
     (arguments
      '(#:phases (modify-phases %standard-phases (delete 'configure))
diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm
index 0ce773d6ea..25a0cf670f 100644
--- a/gnu/packages/maths.scm
+++ b/gnu/packages/maths.scm
@@ -2,7 +2,7 @@
 ;;; Copyright © 2013, 2014, 2015, 2016 Andreas Enge <andreas@enge.fr>
 ;;; Copyright © 2013 Nikita Karetnikov <nikita@karetnikov.org>
 ;;; Copyright © 2014, 2016, 2017 John Darrington <jmd@gnu.org>
-;;; Copyright © 2014, 2015, 2016, 2017 Eric Bavier <bavier@member.fsf.org>
+;;; Copyright © 2014, 2015, 2016, 2017, 2018 Eric Bavier <bavier@member.fsf.org>
 ;;; Copyright © 2014 Federico Beffa <beffa@fbengineering.ch>
 ;;; Copyright © 2014 Mathieu Lirzin <mathieu.lirzin@openmailbox.org>
 ;;; Copyright © 2015, 2016, 2017 Ricardo Wurmus <rekado@elephly.net>
@@ -1642,7 +1642,7 @@ scientific applications modeled by partial differential equations.")
               (format #t "configure flags: ~s~%" flags)
               (setenv "SLEPC_DIR" (getcwd))
               (setenv "PETSC_DIR" (assoc-ref inputs "petsc"))
-              (invoke "./configure" flags))))
+              (apply invoke "./configure" flags))))
          (add-after 'install 'delete-doc
           ;; TODO: SLEPc installs HTML documentation alongside headers in
           ;; $out/include.  We'd like to move them to share/doc, but delete
@@ -3642,3 +3642,56 @@ parametrized transition systems with states represented as arrays indexed by
 an arbitrary number of processes.  Cache coherence protocols and mutual
 exclusion algorithms are typical examples of such systems.")
     (license license:asl2.0)))
+
+(define-public elemental
+  (package
+    (name "elemental")
+    (version "0.87.7")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "https://github.com/elemental/Elemental/"
+                                  "archive/v" version ".tar.gz"))
+              (file-name (string-append name "-" version ".tar.gz"))
+              (sha256
+               (base32
+                "1nfp82w22pi8x8fg9sc37z8kf84dqi1dhxp8bbk7571y4aygvv3v"))))
+    (build-system cmake-build-system)
+    (home-page "http://libelemental.org")
+    (native-inputs
+     `(("gfortran" ,gfortran)))
+    (inputs
+     `(("blas" ,openblas)
+       ("gfortran:lib" ,gfortran "lib")
+       ("gmp" ,gmp)
+       ("lapack" ,lapack)
+       ("metis" ,metis)
+       ("mpc" ,mpc)
+       ("mpfr" ,mpfr)
+       ("mpi" ,openmpi)
+       ("qd" ,qd)))
+    (arguments
+     `(#:build-type "Release"           ;default RelWithDebInfo not supported
+       #:configure-flags `("-DEL_DISABLE_PARMETIS:BOOL=YES"
+                           "-DEL_AVOID_COMPLEX_MPI:BOOL=NO"
+                           "-DEL_CACHE_WARNINGS:BOOL=YES"
+                           "-DEL_TESTS:BOOL=YES"
+                           "-DCMAKE_INSTALL_LIBDIR=lib"
+                           "-DGFORTRAN_LIB=gfortran")
+       #:phases (modify-phases %standard-phases
+                  (add-before 'check 'setup-tests
+                    (lambda _
+                      ;; Parallelism is done at the MPI layer.
+                      (setenv "OMP_NUM_THREADS" "1")
+                      #t))
+                  (add-after 'install 'remove-tests
+                    (lambda* (#:key outputs #:allow-other-keys)
+                      ;; Tests are installed, with no easy configuration
+                      ;; switch to prevent this, so delete them.
+                      (delete-file-recursively
+                       (string-append (assoc-ref outputs "out") "/bin"))
+                      #t)))))
+    (synopsis "Dense and sparse-direct linear algebra and optimization")
+    (description "Elemental is a modern C++ library for distributed-memory
+dense and sparse-direct linear algebra, conic optimization, and lattice
+reduction.")
+    (license license:bsd-2)))
diff --git a/gnu/packages/multiprecision.scm b/gnu/packages/multiprecision.scm
index 8bd4a848fe..4bfe0ac563 100644
--- a/gnu/packages/multiprecision.scm
+++ b/gnu/packages/multiprecision.scm
@@ -5,6 +5,7 @@
 ;;; Copyright © 2016 Nicolas Goaziou <mail@nicolasgoaziou.fr>
 ;;; Copyright © 2016 Jan Nieuwenhuizen <janneke@gnu.org>
 ;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
+;;; Copyright © 2018 Eric Bavier <bavier@member.fsf.org>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -25,6 +26,7 @@
   #:use-module (guix licenses)
   #:use-module (gnu packages)
   #:use-module (gnu packages m4)
+  #:use-module (gnu packages gcc)
   #:use-module (guix packages)
   #:use-module (guix download)
   #:use-module (guix utils)
@@ -157,3 +159,41 @@ are both guaranteed, thanks to interval computation, and accurate, thanks to
 multiple-precision arithmetic.")
     (license lgpl2.1+)
     (home-page "https://perso.ens-lyon.fr/nathalie.revol/software.html")))
+
+(define-public qd
+  (package
+    (name "qd")
+    (version "2.3.18")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "http://crd.lbl.gov/~dhbailey/mpdist/qd-"
+                                  version ".tar.gz"))
+              (sha256
+               (base32
+                "0vkihcj9fyv2cycq8515713gbs3yskhmivy8bznvx72i6ddnn2c1"))))
+    (build-system gnu-build-system)
+    (native-inputs
+     `(("gfortran" ,gfortran)))
+    (arguments
+     `(#:configure-flags `("--disable-enable_fma" ;weird :/
+                           "--enable-shared"
+                           ,,@(if (string-prefix? "aarch64"
+                                                  (or (%current-target-system)
+                                                      (%current-system)))
+                                  ;; XXX: The qd_test test fails numerical
+                                  ;; accuracy checks for 'dd_real::exp()' on
+                                  ;; aarch64 with GCC 5.4 at -O2.  Disabling
+                                  ;; expensive optimizations lets it pass.
+                                  '("CXXFLAGS=-O3 -fno-expensive-optimizations")
+                                  '("CXXFLAGS=-O3")))))
+    (home-page "http://crd-legacy.lbl.gov/~dhbailey/mpdist/")
+    (synopsis "Double-double and quad-double library")
+    (description "This package supports both a double-double
+datatype (approx. 32 decimal digits) and a quad-double datatype (approx. 64
+decimal digits).  The computational library is written in C++.  Both C++ and
+Fortran-90 high-level language interfaces are provided to permit one to
+convert an existing C++ or Fortran-90 program to use the library with only
+minor changes to the source code.  In most cases only a few type statements
+and (for Fortran-90 programs) read/write statements need to be changed.  PSLQ
+and numerical quadrature programs are included.")
+    (license bsd-3)))
diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm
index 2fb62d0ecf..2e8bc17192 100644
--- a/gnu/packages/music.scm
+++ b/gnu/packages/music.scm
@@ -10,7 +10,7 @@
 ;;; Copyright © 2016 Alex Griffin <a@ajgrf.com>
 ;;; Copyright © 2017 ng0 <contact.ng0@cryptolab.net>
 ;;; Copyright © 2017 Rodger Fox <thylakoid@openmailbox.org>
-;;; Copyright © 2017 Nicolas Goaziou <mail@nicolasgoaziou.fr>
+;;; Copyright © 2017, 2018 Nicolas Goaziou <mail@nicolasgoaziou.fr>
 ;;; Copyright © 2017 Pierre Langlois <pierre.langlois@gmx.com>
 ;;; Copyright © 2017 Arun Isaac <arunisaac@systemreboot.net>
 ;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr>
@@ -1050,22 +1050,10 @@ complete studio.")
          (add-after 'unpack 'fix-configuration
            (lambda* (#:key inputs #:allow-other-keys)
              (substitute* "default.config"
-               (("csound=csound")
-                (string-append "csound="
-                               (assoc-ref inputs "csound")
-                               "/bin/csound"))
-               (("/usr/bin/aplay")
-                (string-append (assoc-ref inputs "aplay")
-                               "/bin/aplay"))
-               (("/usr/bin/timidity")
-                (string-append (assoc-ref inputs "timidity")
-                               "/bin/timidity"))
-               (("/usr/bin/mpg123")
-                (string-append (assoc-ref inputs "mpg123")
-                               "/bin/mpg123"))
-               (("/usr/bin/ogg123")
-                (string-append (assoc-ref inputs "ogg123")
-                               "/bin/ogg123")))
+               (("/usr/bin/aplay" "aplay"))
+               (("/usr/bin/timidity") "timidity")
+               (("/usr/bin/mpg123") "mpg123")
+               (("/usr/bin/ogg123") "ogg123"))
              #t))
          (add-before 'build 'patch-python-shebangs
            (lambda _
@@ -1105,13 +1093,7 @@ for path in [path for path in sys.path if 'site-packages' in path]: site.addsite
        ("pygtk" ,python2-pygtk)
        ("gettext" ,gettext-minimal)
        ("gtk" ,gtk+)
-       ("lilypond" ,lilypond)
-       ;; players needed at runtime
-       ("aplay" ,alsa-utils)
-       ("csound" ,csound) ; optional, needed for some exercises
-       ("mpg123" ,mpg123)
-       ("ogg123" ,vorbis-tools)
-       ("timidity" ,timidity++)))
+       ("lilypond" ,lilypond)))
     (native-inputs
      `(("pkg-config" ,pkg-config)
        ("txt2man" ,txt2man)
diff --git a/gnu/packages/ncdu.scm b/gnu/packages/ncdu.scm
index b2e2ae2d83..5008a6a521 100644
--- a/gnu/packages/ncdu.scm
+++ b/gnu/packages/ncdu.scm
@@ -1,5 +1,6 @@
 ;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2014  John Darrington <jmd@gnu.org>
+;;; Copyright © 2014 John Darrington <jmd@gnu.org>
+;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -27,14 +28,14 @@
 (define-public ncdu
   (package
     (name "ncdu")
-    (version "1.12")
+    (version "1.13")
     (source (origin
               (method url-fetch)
               (uri (string-append "https://dev.yorhel.nl/download/ncdu-"
                                   version ".tar.gz"))
               (sha256
                (base32
-                "16j9fyw73y1lk05a35i4q9i66laklgsx41lz5rxfr8m28x3lw3l2"))))
+                "0ni56ymlii577src4dzfbrq1mznbf6i0nka4bvh2sb1971f2ingl"))))
     (build-system gnu-build-system)
     (inputs `(("ncurses" ,ncurses)))
     (synopsis "Ncurses based disk usage analyzer")
diff --git a/gnu/packages/networking.scm b/gnu/packages/networking.scm
index 0918f315fd..76b069de94 100644
--- a/gnu/packages/networking.scm
+++ b/gnu/packages/networking.scm
@@ -14,7 +14,7 @@
 ;;; Copyright © 2016, 2017 Pjotr Prins <pjotr.guix@thebird.nl>
 ;;; Copyright © 2017 Mathieu Othacehe <m.othacehe@gmail.com>
 ;;; Copyright © 2017 Leo Famulari <leo@famulari.name>
-;;; Copyright © 2017 Efraim Flashner <efraim@flashner.co.il>
+;;; Copyright © 2017, 2018 Efraim Flashner <efraim@flashner.co.il>
 ;;; Copyright © 2017 Rutger Helling <rhelling@mykolab.com>
 ;;; Copyright © 2017 Gábor Boskovits <boskovits@gmail.com>
 ;;; Copyright © 2017 Thomas Danckaert <post@thomasdanckaert.be>
@@ -327,14 +327,14 @@ receiving NDP messages.")
 (define-public ethtool
   (package
     (name "ethtool")
-    (version "4.13")
+    (version "4.15")
     (source (origin
               (method url-fetch)
               (uri (string-append "mirror://kernel.org/software/network/"
                                   name "/" name "-" version ".tar.xz"))
               (sha256
                (base32
-                "1flwz4x76ajxigadq9knxgwr778g03y3qfx6c7rflc3x020a7hdp"))))
+                "06pr3s7wg2pbvfbf7js61bgh3caff4qf50nqqk3cgz9z90rgvxvi"))))
     (build-system gnu-build-system)
     (home-page "https://www.kernel.org/pub/software/network/ethtool/")
     (synopsis "Display or change Ethernet device settings")
@@ -1026,7 +1026,7 @@ library remains flexible, portable, and easily embeddable.")
 (define-public sslh
   (package
     (name "sslh")
-    (version "1.18")
+    (version "1.19b")
     (source (origin
               (method url-fetch)
               (uri (string-append "https://github.com/yrutschle/sslh/archive/v"
@@ -1034,10 +1034,10 @@ library remains flexible, portable, and easily embeddable.")
               (file-name (string-append name "-" version ".tar.gz"))
               (sha256
                (base32
-                "1vzw7a7s9lhspbn5zn3hw8hir4pkjgbd68yys4hfsnjp1h7bzjpn"))))
+                "0p0zfy5ifzj7508zqidgkf8g43frm7l5xcs5s6v7132lypcsbd4k"))))
     (build-system gnu-build-system)
     (native-inputs
-     `(;; Tests dependencies.
+     `(;; Test dependencies.
        ("lcov" ,lcov)
        ("perl" ,perl)
        ("perl-io-socket-inet6" ,perl-io-socket-inet6)
@@ -1047,6 +1047,7 @@ library remains flexible, portable, and easily embeddable.")
     (inputs
      `(("libcap" ,libcap)
        ("libconfig" ,libconfig)
+       ("pcre" ,pcre)
        ("tcp-wrappers" ,tcp-wrappers)))
     (arguments
      '(#:phases
@@ -1076,7 +1077,7 @@ library remains flexible, portable, and easily embeddable.")
                           "USELIBWRAP=1"
                           (string-append "PREFIX=" (assoc-ref %outputs "out")))
        #:test-target "test"))
-    (home-page "http://www.rutschle.net/tech/sslh.shtml")
+    (home-page "https://www.rutschle.net/tech/sslh/README.html")
     (synopsis "Applicative network protocol demultiplexer")
     (description
      "sslh is a network protocol demultiplexer.  It acts like a switchboard,
diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index 85b2dc8b45..2ec67ba7be 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -9,6 +9,7 @@
 ;;; Copyright © 2016, 2017 Julien Lepiller <julien@lepiller.eu>
 ;;; Copyright © 2017 Ben Woodcroft <donttrustben@gmail.com>
 ;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr>
+;;; Copyright © 2018 Peter Kreye <kreyepr@gmail.com>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -42,6 +43,7 @@
   #:use-module (gnu packages gnome)
   #:use-module (gnu packages gtk)
   #:use-module (gnu packages libevent)
+  #:use-module (gnu packages libffi)
   #:use-module (gnu packages llvm)
   #:use-module (gnu packages m4)
   #:use-module (gnu packages multiprecision)
@@ -51,6 +53,7 @@
   #:use-module (gnu packages pkg-config)
   #:use-module (gnu packages protobuf)
   #:use-module (gnu packages python)
+  #:use-module (gnu packages sdl)
   #:use-module (gnu packages tex)
   #:use-module (gnu packages texinfo)
   #:use-module (gnu packages time)
@@ -848,15 +851,14 @@ to the other.")
 (define-public ocaml-findlib
   (package
     (name "ocaml-findlib")
-    (version "1.6.1")
+    (version "1.7.3")
     (source (origin
               (method url-fetch)
               (uri (string-append "http://download.camlcity.org/download/"
                                   "findlib" "-" version ".tar.gz"))
               (sha256
                (base32
-                "02abg1lsnwvjg3igdyb8qjgr5kv1nbwl4gaf8mdinzfii5p82721"))
-              (patches (search-patches "ocaml-findlib-make-install.patch"))))
+                "12xx8si1qv3xz90qsrpazjjk4lc1989fzm97rsmc4diwla7n15ni"))))
     (build-system gnu-build-system)
     (native-inputs
      `(("camlp4" ,camlp4)
@@ -878,6 +880,12 @@ to the other.")
                         "-mandir" (string-append out "/share/man")
                         "-sitelib" (string-append out "/lib/ocaml/site-lib")
                         "-with-toolbox"))))
+                  (replace 'install
+                    (lambda* (#:key outputs #:allow-other-keys)
+                      (let ((out (assoc-ref outputs "out")))
+                        (zero? (system* "make" "install"
+                                        (string-append "OCAML_CORE_STDLIB="
+                                                       out "/lib/ocaml/site-lib"))))))
                   (add-after 'install 'remove-camlp4
                     (lambda* (#:key outputs #:allow-other-keys)
                       (let ((out (assoc-ref outputs "out")))
@@ -898,28 +906,6 @@ compilation and linkage, there are new frontends of the various OCaml
 compilers that can directly deal with packages.")
     (license license:x11)))
 
-(define-public ocaml-findlib-1.7.3
-  (package
-    (inherit ocaml-findlib)
-    (version "1.7.3")
-    (source (origin
-              (method url-fetch)
-              (uri (string-append "http://download.camlcity.org/download/"
-                                  "findlib" "-" version ".tar.gz"))
-              (sha256
-               (base32
-                "12xx8si1qv3xz90qsrpazjjk4lc1989fzm97rsmc4diwla7n15ni"))))
-    (arguments
-     (substitute-keyword-arguments (package-arguments ocaml-findlib)
-       ((#:phases phases)
-        `(modify-phases ,phases
-           (replace 'install
-             (lambda* (#:key outputs #:allow-other-keys)
-               (let ((out (assoc-ref outputs "out")))
-                 (zero? (system* "make" "install"
-                                 (string-append "OCAML_CORE_STDLIB="
-                                                out))))))))))))
-
 (define-public ocaml4.01-findlib
   (package
     (inherit ocaml-findlib)
@@ -3726,7 +3712,7 @@ instead of bindings to a C library.")
        ("cppo" ,ocaml-cppo)
        ("jbuilder" ,ocaml-jbuilder)))
     (propagated-inputs
-     `(("findlib" ,ocaml-findlib-1.7.3)
+     `(("ocaml-findlib" ,ocaml-findlib)
        ("lambda-term" ,ocaml-lambda-term)
        ("lwt" ,ocaml-lwt)
        ("react" ,ocaml-react)
@@ -3739,6 +3725,139 @@ terminal or in Emacs.  It supports line editing, history, real-time and context
 sensitive completion, colors, and more.")
     (license license:bsd-3)))
 
+(define-public ocaml-integers
+  (package
+    (name "ocaml-integers")
+    (version "0.2.2")
+    (home-page "https://github.com/ocamllabs/ocaml-integers")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append home-page
+                                  "/releases/download/v0.2.2/integers-"
+                                  version ".tbz"))
+              (file-name (string-append name "-" version ".tbz"))
+              (sha256
+               (base32
+                "08b1ljw88ny3l0mdq6xmffjk8anfc77igryva5jz1p6f4f746ywk"))))
+    (build-system ocaml-build-system)
+    (arguments
+     `(#:tests? #f; no tests
+       #:build-flags (list "build")
+       #:phases
+       (modify-phases %standard-phases
+         (delete 'configure))))
+    (inputs
+     `(("topkg" ,ocaml-topkg)
+       ("opam", opam)))
+    (synopsis "Various signed and unsigned integer types for OCaml")
+    (description "The ocaml-integers library provides a number of 8-, 16-, 32-
+and 64-bit signed and unsigned integer types, together with aliases such as
+long and size_t whose sizes depend on the host platform.")
+    (license license:expat)))
+
+(define-public ocaml-ctypes
+  (package
+   (name "ocaml-ctypes")
+   (version "0.13.1")
+   (home-page "https://github.com/ocamllabs/ocaml-ctypes")
+   (source (origin
+             (method url-fetch)
+             (uri (string-append home-page "/archive/" version ".tar.gz"))
+             (file-name (string-append name "-" version ".tar.gz"))
+             (sha256
+              (base32
+               "17w0pr5k0zjcjns4y9n36rjpfl35zhvp3h8ggqs9lz12qhshdk2m"))))
+   (build-system ocaml-build-system)
+   (arguments
+    `(#:make-flags
+      (list (string-append "INSTALL_HEADERS = $(wildcard $($(PROJECT).dir)/*.h)"))
+      #:phases
+      (modify-phases %standard-phases
+        (delete 'configure))))
+   (native-inputs
+    `(("pkg-config" ,pkg-config)))
+   (inputs
+    `(("libffi" ,libffi)
+      ("ounit" ,ocaml-ounit)
+      ("integers" ,ocaml-integers)
+      ("lwt" ,ocaml-lwt)
+      ("topkg" ,ocaml-topkg)
+      ("opam", opam)))
+   (synopsis "Library for binding to C libraries using pure OCaml")
+   (description "Ctypes is a library for binding to C libraries using pure
+OCaml.  The primary aim is to make writing C extensions as straightforward as
+possible.  The core of ctypes is a set of combinators for describing the
+structure of C types -- numeric types, arrays, pointers, structs, unions and
+functions.  You can use these combinators to describe the types of the
+functions that you want to call, then bind directly to those functions -- all
+without writing or generating any C!")
+   (license license:expat)))
+
+(define-public ocaml-ocb-stubblr
+  (package
+   (name "ocaml-ocb-stubblr")
+   (version "0.1.1")
+   (home-page "https://github.com/pqwy/ocb-stubblr")
+   (source (origin
+             (method url-fetch)
+             (uri (string-append
+                   home-page "/releases/download/v0.1.1/ocb-stubblr-"
+                   version ".tbz"))
+             (file-name (string-append name "-" version ".tbz"))
+             (sha256
+              (base32
+               "167b7x1j21mkviq8dbaa0nmk4rps2ilvzwx02igsc2706784z72f"))))
+   (build-system ocaml-build-system)
+   (arguments
+    `(#:build-flags (list "build" "--tests" "true")
+      #:phases
+      (modify-phases %standard-phases
+        (delete 'configure))))
+   (inputs
+    `(("topkg" ,ocaml-topkg)
+      ("opam", opam)))
+   (native-inputs
+    `(("astring" ,ocaml-astring)))
+   (synopsis "OCamlbuild plugin for C stubs")
+   (description "Ocb-stubblr is about ten lines of code that you need to
+repeat over, over, over and over again if you are using ocamlbuild to build
+OCaml projects that contain C stubs.")
+   (license license:isc)))
+
+(define-public ocaml-tsdl
+  (package
+    (name "ocaml-tsdl")
+    (version "0.9.1")
+    (home-page "http://erratique.ch/software/tsdl")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append home-page "/releases/tsdl-"
+                                  version ".tbz"))
+              (file-name (string-append name "-" version ".tar.gz"))
+              (sha256
+               (base32
+                "08bb97fhvz829fb0sgjn2p20mp7b04v98zy2qxpk2w390a6c4b34"))))
+    (build-system ocaml-build-system)
+    (arguments
+     `(#:build-flags '("build")
+       #:tests? #f; tests require a display device
+       #:phases
+       (modify-phases %standard-phases
+         (delete 'configure))))
+    (native-inputs
+     `(("opam" ,opam)
+       ("pkg-config" ,pkg-config)))
+    (inputs
+     `(("topkg" ,ocaml-topkg)
+       ("result" ,ocaml-result)
+       ("sdl2" ,sdl2)
+       ("integers" ,ocaml-integers)
+       ("ctypes" ,ocaml-ctypes)))
+    (synopsis "Thin bindings to SDL for OCaml")
+    (description "Tsdl is an OCaml library providing thin bindings to the
+cross-platform SDL C library.")
+    (license license:isc)))
+
 (define-public coq-flocq
   (package
     (name "coq-flocq")
diff --git a/gnu/packages/python-web.scm b/gnu/packages/python-web.scm
index e8af28f9c8..b40100115c 100644
--- a/gnu/packages/python-web.scm
+++ b/gnu/packages/python-web.scm
@@ -1215,14 +1215,14 @@ supports url redirection and retries, and also gzip and deflate decoding.")
 (define-public awscli
   (package
    (name "awscli")
-   (version "1.11.185")
+   (version "1.14.32")
    (source
     (origin
      (method url-fetch)
      (uri (pypi-uri name version))
      (sha256
       (base32
-       "18rskl6sla456z4hkq2gmmm03fqc4rqw5pfiqdyc7a2v9kljv4ah"))))
+       "09i82nf43pv5v598wvbj4nk1bfc64wp7xzlx5ykaca5m40lkarz0"))))
    (build-system python-build-system)
    (propagated-inputs
     `(("python-colorama" ,python-colorama)
diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm
index f2bbb27dc6..ad6778e7a4 100644
--- a/gnu/packages/python.scm
+++ b/gnu/packages/python.scm
@@ -7424,14 +7424,14 @@ document.")
 (define-public python-botocore
   (package
    (name "python-botocore")
-   (version "1.7.9")
+   (version "1.8.36")
    (source
     (origin
      (method url-fetch)
      (uri (pypi-uri "botocore" version))
      (sha256
       (base32
-       "02b1bw25r1wdjs5yppb1h9igf11wj092biriv2yg8hzp5r0wrkmg"))))
+       "0xd607qd9vkwpsvp552nqnrxppnx2n1rzh9kk9shz48ldpyy1jdj"))))
    (build-system python-build-system)
    (arguments
     ;; FIXME: Many tests are failing.
diff --git a/gnu/packages/wm.scm b/gnu/packages/wm.scm
index 75e4bb63fd..0cf6c1a2de 100644
--- a/gnu/packages/wm.scm
+++ b/gnu/packages/wm.scm
@@ -15,6 +15,7 @@
 ;;; Copyright © 2017 Mekeor Melire <mekeor.melire@gmail.com>
 ;;; Copyright © 2017 Marius Bakke <mbakke@fastmail.com>
 ;;; Copyright © 2017 Oleg Pykhalov <go.wigust@gmail.com>
+;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -503,27 +504,34 @@ tiled on several screens.")
 (define-public xmobar
   (package
     (name "xmobar")
-    (version "0.24.5")
+    (version "0.25")
     (source (origin
               (method url-fetch)
               (uri (string-append "mirror://hackage/package/xmobar/"
                                   name "-" version ".tar.gz"))
               (sha256
                (base32
-                "0sdzfj2wa4wpig1i2i5n9qpwm90jp88qifsmaa7j37yhhs6snfir"))))
+                "0382r4vzqkz76jlp2069rdbwf4gh1a22r9w4rkphcn5qflw0dlb6"))))
     (build-system haskell-build-system)
     (inputs
-     `(("ghc-http" ,ghc-http)
+     `(("ghc-hinotify" ,ghc-hinotify)
+       ("ghc-http" ,ghc-http)
+       ("ghc-iwlib" ,ghc-iwlib)
        ("ghc-parsec" ,ghc-parsec)
        ("ghc-regex-compat" ,ghc-regex-compat)
        ("ghc-stm" ,ghc-stm)
        ("ghc-x11-xft" ,ghc-x11-xft)
-       ("ghc-hinotify" ,ghc-hinotify)
-       ("libxpm" ,libxpm)
-       ("wireless-tools" ,wireless-tools)))
+       ("libxpm" ,libxpm)))
     (arguments
      `(#:configure-flags
-       '("--flags=with_utf8 with_xft with_xpm with_inotify with_iwlib")))
+       (list (string-append "--flags="
+                            (string-join (list "with_inotify"
+                                               "with_iwlib"
+                                               "with_utf8"
+                                               "with_weather"
+                                               "with_xft"
+                                               "with_xpm")
+                                         " ")))))
     (home-page "http://xmobar.org")
     (synopsis "Minimalistic text based status bar")
     (description
diff --git a/gnu/packages/xfce.scm b/gnu/packages/xfce.scm
index f132999bcf..630851ba39 100644
--- a/gnu/packages/xfce.scm
+++ b/gnu/packages/xfce.scm
@@ -6,6 +6,7 @@
 ;;; Copyright © 2016 Kei Kebreau <kkebreau@posteo.net>
 ;;; Copyright © 2017 Ricardo Wurmus <rekado@elephly.net>
 ;;; Copyright © 2017 Petter <petter@mykolab.ch>
+;;; Copyright © 2017 ng0 <ng0@n0.is>
 ;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
 ;;;
 ;;; This file is part of GNU Guix.
@@ -33,6 +34,7 @@
   #:use-module (guix build-system trivial)
   #:use-module (gnu packages)
   #:use-module (gnu packages calendar)
+  #:use-module (gnu packages cdrom)
   #:use-module (gnu packages pkg-config)
   #:use-module (gnu packages glib)
   #:use-module (gnu packages gtk)
@@ -906,3 +908,39 @@ bubble in a standard way can implicitly make use of xfce4-notifyd to do so by
 sending standard messages over D-Bus using the
 @code{org.freedesktop.Notifications} interface.")
     (license gpl2)))
+
+(define-public xfburn
+  (package
+    (name "xfburn")
+    (version "0.5.4")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "http://archive.xfce.org/src/apps/xfburn/"
+                                  (version-major+minor version) "/"
+                                  name "-" version ".tar.bz2"))
+              (sha256
+               (base32
+                "1xn1kwxa3dl5r9bfj90a5322ynkwbn6k5v9b3a3pbr3a23zm604s"))))
+    (build-system gnu-build-system)
+    (native-inputs
+     `(("intltool" ,intltool)
+       ("pkg-config" ,pkg-config)))
+    (inputs
+     `(("exo" ,exo)
+       ("gstreamer" ,gstreamer)
+       ("gst-plugins-base" ,gst-plugins-base)
+       ("gst-plugins-good" ,gst-plugins-good)
+       ("gst-plugins-ugly" ,gst-plugins-ugly)
+       ("glib" ,glib)
+       ("gtk+" ,gtk+-2)
+       ("libburn" ,libburn)
+       ("libisofs" ,libisofs)
+       ("libxfce4ui" ,libxfce4ui)))
+    (home-page "https://goodies.xfce.org/projects/applications/xfburn")
+    (synopsis "GTK+ based CD, DVD and Blu-ray burning application")
+    (description
+     "Xfburn is a simple CD, DVD, and Blu-ray burning tool based on
+the libburnia libraries.  It can blank CD/DVD/BD(-RW)s, burn and
+create iso images, audio CDs, as well as burn personal compositions
+of data to either CD/DVD/BD.")
+    (license gpl2+)))