summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--gnu/build/install.scm2
-rw-r--r--gnu/local.mk4
-rw-r--r--gnu/packages/bioconductor.scm26
-rw-r--r--gnu/packages/bioinformatics.scm658
-rw-r--r--gnu/packages/build-tools.scm58
-rw-r--r--gnu/packages/crypto.scm4
-rw-r--r--gnu/packages/dns.scm4
-rw-r--r--gnu/packages/education.scm8
-rw-r--r--gnu/packages/emacs.scm49
-rw-r--r--gnu/packages/gnome.scm6
-rw-r--r--gnu/packages/linux.scm46
-rw-r--r--gnu/packages/lxqt.scm72
-rw-r--r--gnu/packages/mpd.scm4
-rw-r--r--gnu/packages/patches/crossmap-allow-system-pysam.patch121
-rw-r--r--gnu/packages/patches/delly-use-system-libraries.patch56
-rw-r--r--gnu/packages/patches/liblxqt-include.patch14
-rw-r--r--gnu/packages/patches/tophat-build-with-later-seqan.patch24
-rw-r--r--gnu/packages/python-crypto.scm12
-rw-r--r--gnu/packages/python.scm54
-rw-r--r--gnu/packages/samba.scm4
-rw-r--r--gnu/packages/ssh.scm4
-rw-r--r--gnu/packages/tex.scm189
-rw-r--r--gnu/packages/video.scm4
-rw-r--r--gnu/packages/xorg.scm8
24 files changed, 797 insertions, 634 deletions
diff --git a/gnu/build/install.scm b/gnu/build/install.scm
index 5a5e703872..c602d69489 100644
--- a/gnu/build/install.scm
+++ b/gnu/build/install.scm
@@ -199,7 +199,7 @@ This is used to create the self-contained tarballs with 'guix pack'."
   (mkdir-p* %root-profile)
   (symlink* profile
             (string-append %root-profile "/guix-profile-1-link"))
-  (symlink* (string-append %root-profile "/guix-profile-1-link")
+  (symlink* "guix-profile-1-link"
             (string-append %root-profile "/guix-profile"))
 
   (mkdir-p* "/root")
diff --git a/gnu/local.mk b/gnu/local.mk
index befe3c4b33..e0bd43164c 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -635,7 +635,6 @@ dist_patch_DATA =						\
   %D%/packages/patches/cracklib-fix-buffer-overflow.patch	\
   %D%/packages/patches/crawl-upgrade-saves.patch		\
   %D%/packages/patches/crda-optional-gcrypt.patch		\
-  %D%/packages/patches/crossmap-allow-system-pysam.patch	\
   %D%/packages/patches/clucene-contribs-lib.patch               \
   %D%/packages/patches/cube-nocheck.patch			\
   %D%/packages/patches/cursynth-wave-rand.patch			\
@@ -644,7 +643,6 @@ dist_patch_DATA =						\
   %D%/packages/patches/datamash-arm-tests.patch			\
   %D%/packages/patches/dbus-helper-search-path.patch		\
   %D%/packages/patches/deja-dup-use-ref-keyword-for-iter.patch	\
-  %D%/packages/patches/delly-use-system-libraries.patch		\
   %D%/packages/patches/dfu-programmer-fix-libusb.patch		\
   %D%/packages/patches/diffutils-gets-undeclared.patch		\
   %D%/packages/patches/diffutils-getopt.patch			\
@@ -890,7 +888,6 @@ dist_patch_DATA =						\
   %D%/packages/patches/libjxr-fix-function-signature.patch	\
   %D%/packages/patches/libjxr-fix-typos.patch			\
   %D%/packages/patches/libotr-test-auth-fix.patch		\
-  %D%/packages/patches/liblxqt-include.patch			\
   %D%/packages/patches/libmad-armv7-thumb-pt1.patch		\
   %D%/packages/patches/libmad-armv7-thumb-pt2.patch		\
   %D%/packages/patches/libmad-frame-length.patch		\
@@ -1180,7 +1177,6 @@ dist_patch_DATA =						\
   %D%/packages/patches/tk-find-library.patch			\
   %D%/packages/patches/ttf2eot-cstddef.patch			\
   %D%/packages/patches/ttfautohint-source-date-epoch.patch	\
-  %D%/packages/patches/tophat-build-with-later-seqan.patch	\
   %D%/packages/patches/totem-meson-easy-codec.patch		\
   %D%/packages/patches/tuxpaint-stamps-path.patch		\
   %D%/packages/patches/twinkle-include-qregexpvalidator.patch	\
diff --git a/gnu/packages/bioconductor.scm b/gnu/packages/bioconductor.scm
index 1b779855b2..92b67453f6 100644
--- a/gnu/packages/bioconductor.scm
+++ b/gnu/packages/bioconductor.scm
@@ -913,3 +913,29 @@ can be analyzed regarding their minimal, maximal and average distances between
 barcodes.  Finally, reads that start with a (possibly mutated) barcode can be
 demultiplexed, i.e. assigned to their original reference barcode.")
     (license license:gpl2)))
+
+(define-public r-ruvseq
+  (package
+    (name "r-ruvseq")
+    (version "1.14.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (bioconductor-uri "RUVSeq" version))
+       (sha256
+        (base32
+         "16i5sm5af761k4zvspfi8jknsgln48bn538hxqqmlaq7wvlfxqxj"))))
+    (properties `((upstream-name . "RUVSeq")))
+    (build-system r-build-system)
+    (propagated-inputs
+     `(("r-biobase" ,r-biobase)
+       ("r-edaseq" ,r-edaseq)
+       ("r-edger" ,r-edger)
+       ("r-mass" ,r-mass)))
+    (home-page "https://github.com/drisso/RUVSeq")
+    (synopsis "Remove unwanted variation from RNA-Seq data")
+    (description
+     "This package implements methods to @dfn{remove unwanted variation} (RUV)
+of Risso et al. (2014) for the normalization of RNA-Seq read counts between
+samples.")
+    (license license:artistic2.0)))
diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm
index 1e04081ceb..96ea07bdc4 100644
--- a/gnu/packages/bioinformatics.scm
+++ b/gnu/packages/bioinformatics.scm
@@ -1332,7 +1332,7 @@ gapped, local, and paired-end alignment modes.")
 (define-public tophat
   (package
     (name "tophat")
-    (version "2.1.0")
+    (version "2.1.1")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -1340,13 +1340,12 @@ gapped, local, and paired-end alignment modes.")
                     version ".tar.gz"))
               (sha256
                (base32
-                "168zlzykq622zbgkh90a90f1bdgsxkscq2zxzbj8brq80hbjpyp7"))
-              (patches (search-patches "tophat-build-with-later-seqan.patch"))
+                "19add02kv2xhd6ihd779dr7x35ggym3jqr0m5c4315i1yfb0p11p"))
               (modules '((guix build utils)))
               (snippet
                '(begin
                   ;; Remove bundled SeqAn and samtools
-                  (delete-file-recursively "src/SeqAn-1.3")
+                  (delete-file-recursively "src/SeqAn-1.4.2")
                   (delete-file-recursively "src/samtools-0.1.18")
                   #t))))
     (build-system gnu-build-system)
@@ -1383,7 +1382,7 @@ gapped, local, and paired-end alignment modes.")
        ("python" ,python-2)
        ("perl" ,perl)
        ("zlib" ,zlib)
-       ("seqan" ,seqan)))
+       ("seqan" ,seqan-1)))
     (home-page "http://ccb.jhu.edu/software/tophat/index.shtml")
     (synopsis "Spliced read mapper for RNA-Seq data")
     (description
@@ -1450,13 +1449,14 @@ and more accurate.  BWA-MEM also has better performance than BWA-backtrack for
     (name "bwa-pssm")
     (version "0.5.11")
     (source (origin
-              (method url-fetch)
-              (uri (string-append "https://github.com/pkerpedjiev/bwa-pssm/"
-                                  "archive/" version ".tar.gz"))
-              (file-name (string-append name "-" version ".tar.gz"))
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/pkerpedjiev/bwa-pssm.git")
+                    (commit version)))
+              (file-name (git-file-name name version))
               (sha256
                (base32
-                "02p7mpbs4mlxmn84g2x4ghak638vbj4lqix2ipx5g84pz9bhdavg"))))
+                "076c4q0cdqz8jgylb067y9zmvxglppnzi3qiscn0xiypgc6lgb5r"))))
     (build-system gnu-build-system)
     (inputs
      `(("gdsl" ,gdsl)
@@ -1474,40 +1474,38 @@ the original BWA alignment program and shares the genome index structure as
 well as many of the command line options.")
     (license license:gpl3+)))
 
-(define-public python2-bx-python
+(define-public python-bx-python
   (package
-    (name "python2-bx-python")
-    (version "0.7.3")
+    (name "python-bx-python")
+    (version "0.8.2")
     (source (origin
               (method url-fetch)
               (uri (pypi-uri "bx-python" version))
               (sha256
                (base32
-                "15z2w3bvnc0n4qmb9bd6d8ylc2h2nj883x2w9iixf4x3vki9b22i"))
-              (modules '((guix build utils)))
-              (snippet
-               '(begin
-                  (substitute* "setup.py"
-                    ;; remove dependency on outdated "distribute" module
-                    (("^from distribute_setup import use_setuptools") "")
-                    (("^use_setuptools\\(\\)") ""))
-                  #t))))
+                "11kksg2rbzihpmcid823xvg42xi88m7sz58rzk29abybkxy0rszs"))))
     (build-system python-build-system)
-    (arguments
-     `(#:tests? #f ;tests fail because test data are not included
-       #:python ,python-2))
+    ;; Tests fail because test data are not included
+    (arguments '(#:tests? #f))
+    (propagated-inputs
+     `(("python-numpy" ,python-numpy)
+       ("python-six" ,python-six)))
     (inputs
-     `(("python-numpy" ,python2-numpy)
-       ("zlib" ,zlib)))
+     `(("zlib" ,zlib)))
     (native-inputs
-     `(("python-nose" ,python2-nose)))
-    (home-page "http://bitbucket.org/james_taylor/bx-python/")
+     `(("python-lzo" ,python-lzo)
+       ("python-nose" ,python-nose)
+       ("python-cython" ,python-cython)))
+    (home-page "https://github.com/bxlab/bx-python")
     (synopsis "Tools for manipulating biological data")
     (description
      "bx-python provides tools for manipulating biological data, particularly
 multiple sequence alignments.")
     (license license:expat)))
 
+(define-public python2-bx-python
+  (package-with-python2 python-bx-python))
+
 (define-public python-pysam
   (package
     (name "python-pysam")
@@ -1597,19 +1595,19 @@ also includes an interface for tabix.")
 (define-public python-twobitreader
   (package
     (name "python-twobitreader")
-    (version "3.1.4")
+    (version "3.1.6")
     (source (origin
-              (method url-fetch)
-              (uri (pypi-uri "twobitreader" version))
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/benjschiller/twobitreader")
+                    (commit version)))
+              (file-name (git-file-name name version))
               (sha256
                (base32
-                "1q8wnj2kga9nz1lwc4w7qv52smfm536hp6mc8w6s53lhyj0mpi22"))))
+                "1qbxvv1h58cismbk1anpjrkpghsaiy64a11ir3lhy6qch6xf8n62"))))
     (build-system python-build-system)
-    (arguments
-     '(;; Tests are not distributed in the PyPi release.
-       ;; TODO Try building from the Git repo or asking the upstream maintainer
-       ;; to distribute the tests on PyPi.
-       #:tests? #f))
+    ;; Tests are not included
+    (arguments '(#:tests? #f))
     (native-inputs
      `(("python-sphinx" ,python-sphinx)))
     (home-page "https://github.com/benjschiller/twobitreader")
@@ -1896,31 +1894,18 @@ time.")
 (define-public crossmap
   (package
     (name "crossmap")
-    (version "0.2.1")
+    (version "0.2.9")
     (source (origin
               (method url-fetch)
-              (uri (string-append "mirror://sourceforge/crossmap/CrossMap-"
-                                  version ".tar.gz"))
+              (uri (pypi-uri "CrossMap" version))
               (sha256
                (base32
-                "07y179f63d7qnzdvkqcziwk9bs3k4zhp81q392fp1hwszjdvy22f"))
-              ;; This patch has been sent upstream already and is available
-              ;; for download from Sourceforge, but it has not been merged.
-              (patches (search-patches "crossmap-allow-system-pysam.patch"))
-              (modules '((guix build utils)))
-              (snippet '(begin
-                          ;; remove bundled copy of pysam
-                          (delete-file-recursively "lib/pysam")
-                          #t))))
+                "1byhclrqnqpvc1rqkfh4jwj6yhn0x9y7jk47i0qcjlhk0pjkw92p"))))
     (build-system python-build-system)
-    (arguments
-     `(#:python ,python-2
-       #:phases
-       (modify-phases %standard-phases
-         (add-after 'unpack 'set-env
-           (lambda _ (setenv "CROSSMAP_USE_SYSTEM_PYSAM" "1") #t)))))
+    (arguments `(#:python ,python-2))
     (inputs
-     `(("python-numpy" ,python2-numpy)
+     `(("python-bx-python" ,python2-bx-python)
+       ("python-numpy" ,python2-numpy)
        ("python-pysam" ,python2-pysam)
        ("zlib" ,zlib)))
     (native-inputs
@@ -1934,22 +1919,46 @@ files between different genome assemblies.  It supports most commonly used
 file formats including SAM/BAM, Wiggle/BigWig, BED, GFF/GTF, VCF.")
     (license license:gpl2+)))
 
+(define-public python-dnaio
+  (package
+    (name "python-dnaio")
+    (version "0.3")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (pypi-uri "dnaio" version))
+       (sha256
+        (base32
+         "0f16m7hdlm0fz1n7y5asy0v9ghyrq17ni1p9iybq22ddzyd49r27"))))
+    (build-system python-build-system)
+    (native-inputs
+     `(("python-cython" ,python-cython)
+       ("python-pytest" ,python-pytest)
+       ("python-xopen" ,python-xopen)))
+    (home-page "https://github.com/marcelm/dnaio/")
+    (synopsis "Read FASTA and FASTQ files efficiently")
+    (description
+     "dnaio is a Python library for fast parsing of FASTQ and also FASTA
+files.  The code was previously part of the cutadapt tool.")
+    (license license:expat)))
+
 (define-public cutadapt
   (package
     (name "cutadapt")
-    (version "1.16")
+    (version "1.18")
     (source (origin
               (method git-fetch)
               (uri (git-reference
                     (url "https://github.com/marcelm/cutadapt.git")
                     (commit (string-append "v" version))))
-              (file-name (string-append name "-" version "-checkout"))
+              (file-name (git-file-name name version))
               (sha256
                (base32
-                "09pr02067jiks19nc0aby4xp70hhgvb554i2y1c04rv1m401w7q8"))))
+                "08bbfwyc0kvcd95jf2s95xiv9s3cbsxm39ydl0qck3fw3cviwxpg"))))
     (build-system python-build-system)
     (inputs
-     `(("python-xopen" ,python-xopen)))
+     `(("python-dnaio" ,python-dnaio)
+       ("python-xopen" ,python-xopen)))
     (native-inputs
      `(("python-cython" ,python-cython)
        ("python-pytest" ,python-pytest)))
@@ -2044,15 +2053,15 @@ accessing bigWig files.")
     (version "4.4.0")
     (source
      (origin
-       (method url-fetch)
+       (method git-fetch)
        ;; Source from GitHub so that tests are included.
-       (uri
-        (string-append "https://github.com/jeetsukumaran/DendroPy/archive/v"
-                       version ".tar.gz"))
-       (file-name (string-append name "-" version ".tar.gz"))
+       (uri (git-reference
+             (url "https://github.com/jeetsukumaran/DendroPy.git")
+             (commit (string-append "v" version))))
+       (file-name (git-file-name name version))
        (sha256
         (base32
-         "0v2fccny5xjaah546bsch1mw4kh61qq5frz2ibllxs9mp6ih9bsn"))))
+         "097hfyv2kaf4x92i4rjx0paw2cncxap48qivv8zxng4z7nhid0x9"))))
     (build-system python-build-system)
     (home-page "http://packages.python.org/DendroPy/")
     (synopsis "Library for phylogenetics and phylogenetic computing")
@@ -2082,14 +2091,14 @@ trees (phylogenies) and characters.")
 (define-public python-py2bit
   (package
     (name "python-py2bit")
-    (version "0.2.1")
+    (version "0.3.0")
     (source
      (origin
        (method url-fetch)
        (uri (pypi-uri "py2bit" version))
        (sha256
         (base32
-         "1cdf4qlmgwsh1f4k0wdv2sr8x9qn4366p0k3614vbd0fpqiarxrl"))))
+         "1vw2nvw1yrl7ikkqsqs1pg239yr5nspvd969r1x9arms1k25a1a5"))))
     (build-system python-build-system)
     (home-page "https://github.com/dpryan79/py2bit")
     (synopsis "Access 2bit files using lib2bit")
@@ -2101,7 +2110,7 @@ with Python.")
 (define-public deeptools
   (package
     (name "deeptools")
-    (version "3.1.2")
+    (version "3.1.3")
     (source (origin
               (method git-fetch)
               (uri (git-reference
@@ -2110,7 +2119,7 @@ with Python.")
               (file-name (git-file-name name version))
               (sha256
                (base32
-                "06fdpp6cg3xiwryxjhixvfysl4z0ps1crjgia587qa9ikqpsa7fd"))))
+                "1vggnf52g6q2vifdl4cyi7s2fnfqq0ky2zrkj5zv2qfzsc3p3siw"))))
     (build-system python-build-system)
     (arguments
      `(#:phases
@@ -2146,42 +2155,42 @@ identify enrichments with functional annotations of the genome.")
 (define-public delly
   (package
     (name "delly")
-    (version "0.7.7")
+    (version "0.7.9")
     (source (origin
-              (method url-fetch)
-              (uri (string-append
-                    "https://github.com/tobiasrausch/delly/archive/v"
-                    version ".tar.gz"))
-              (file-name (string-append name "-" version ".tar.gz"))
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/dellytools/delly.git")
+                    (commit (string-append "v" version))))
+              (file-name (git-file-name name version))
               (sha256
-               (base32 "0dkwy3pyxmi6dhh1lpsr3698ri5sslw9qz67hfys0bz8dgrqwabj"))
-              (patches (search-patches "delly-use-system-libraries.patch"))))
+               (base32 "034jqsxswy9gqdh2zkgc1js99qkv75ks4xvzgmh0284sraagv61z"))
+              (modules '((guix build utils)))
+              (snippet
+               '(begin
+                  (delete-file-recursively "src/htslib")
+                  #t))))
     (build-system gnu-build-system)
     (arguments
      `(#:tests? #f ; There are no tests to run.
-       #:make-flags '("PARALLEL=1") ; Allow parallel execution at run-time.
+       #:make-flags
+       (list "PARALLEL=1"  ; Allow parallel execution at run-time.
+             (string-append "prefix=" (assoc-ref %outputs "out")))
        #:phases
        (modify-phases %standard-phases
          (delete 'configure) ; There is no configure phase.
-         (replace 'install
-           (lambda _
-             (let ((bin (string-append (assoc-ref %outputs "out") "/bin"))
-                   (templates (string-append (assoc-ref %outputs "out")
+         (add-after 'install 'install-templates
+           (lambda* (#:key outputs #:allow-other-keys)
+             (let ((templates (string-append (assoc-ref outputs "out")
                                              "/share/delly/templates")))
-               (mkdir-p bin)
                (mkdir-p templates)
                (copy-recursively "excludeTemplates" templates)
-               (install-file "src/cov" bin)
-               (install-file "src/delly" bin)
-               (install-file "src/dpe" bin)))))))
-    (native-inputs
-     `(("python" ,python-2)))
+               #t))))))
     (inputs
      `(("boost" ,boost)
        ("htslib" ,htslib)
        ("zlib" ,zlib)
        ("bzip2" ,bzip2)))
-    (home-page "https://github.com/tobiasrausch/delly")
+    (home-page "https://github.com/dellytools/delly")
     (synopsis "Integrated structural variant prediction method")
     (description "Delly is an integrated structural variant prediction method
 that can discover and genotype deletions, tandem duplications, inversions and
@@ -2195,14 +2204,14 @@ accurately delineate genomic rearrangements throughout the genome.")
     (name "diamond")
     (version "0.9.22")
     (source (origin
-              (method url-fetch)
-              (uri (string-append
-                    "https://github.com/bbuchfink/diamond/archive/v"
-                    version ".tar.gz"))
-              (file-name (string-append name "-" version ".tar.gz"))
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/bbuchfink/diamond.git")
+                    (commit (string-append "v" version))))
+              (file-name (git-file-name name version))
               (sha256
                (base32
-                "0adp87r9ak63frdrdmrdfhsn6g0jnnyq1lr2wibvqbxcl37iir9m"))))
+                "0bky78v79g3wmdpsd706cscckgw1v09fg8vdd0z8z0d5b97aj9zl"))))
     (build-system cmake-build-system)
     (arguments
      '(#:tests? #f ; no "check" target
@@ -2230,13 +2239,14 @@ data and settings.")
     (version "1.6.0")
     (source
      (origin
-       (method url-fetch)
-       (uri (string-append "https://github.com/maaskola/discrover/archive/"
-                           version ".tar.gz"))
-       (file-name (string-append name "-" version ".tar.gz"))
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/maaskola/discrover.git")
+             (commit version)))
+       (file-name (git-file-name name version))
        (sha256
         (base32
-         "0rah9ja4m0rl5mldd6vag9rwrivw1zrqxssfq8qx64m7961fp68k"))))
+         "173fwi2vb6a5kp406hm3jj6j7v4whww796f2qcygp4rpvamh307y"))))
     (build-system cmake-build-system)
     (arguments
      `(#:tests? #f                      ; there are no tests
@@ -2264,106 +2274,102 @@ of nucleic acid binding proteins.")
     (license license:gpl3+)))
 
 (define-public eigensoft
-  (let ((revision "1")
-        (commit "b14d1e202e21e532536ff8004f0419cd5e259dc7"))
-    (package
-      (name "eigensoft")
-      (version (string-append "6.1.2-"
-                              revision "."
-                              (string-take commit 9)))
-      (source
-       (origin
-         (method git-fetch)
-         (uri (git-reference
-               (url "https://github.com/DReichLab/EIG.git")
-               (commit commit)))
-         (file-name (string-append "eigensoft-" commit "-checkout"))
-         (sha256
-          (base32
-           "0f5m6k2j5c16xc3xbywcs989xyc26ncy1zfzp9j9n55n9r4xcaiq"))
-         (modules '((guix build utils)))
-         ;; Remove pre-built binaries.
-         (snippet '(begin
-                     (delete-file-recursively "bin")
-                     (mkdir "bin")
-                     #t))))
-      (build-system gnu-build-system)
-      (arguments
-       `(#:tests? #f                    ; There are no tests.
-         #:make-flags '("CC=gcc")
-         #:phases
-         (modify-phases %standard-phases
-           ;; There is no configure phase, but the Makefile is in a
-           ;; sub-directory.
-           (replace 'configure
-             (lambda _
-               (chdir "src")
-               ;; The link flags are incomplete.
-               (substitute* "Makefile"
-                 (("-lgsl") "-lgsl -lm -llapack -llapacke -lpthread"))
-               #t))
-           ;; The provided install target only copies executables to
-           ;; the "bin" directory in the build root.
-           (add-after 'install 'actually-install
-             (lambda* (#:key outputs #:allow-other-keys)
-               (let* ((out (assoc-ref outputs "out"))
-                      (bin  (string-append out "/bin")))
-                 (for-each (lambda (file)
-                             (install-file file bin))
-                           (find-files "../bin" ".*"))
-                 #t))))))
-      (inputs
-       `(("gsl" ,gsl)
-         ("lapack" ,lapack)
-         ("openblas" ,openblas)
-         ("perl" ,perl)
-         ("gfortran" ,gfortran "lib")))
-      (home-page "https://github.com/DReichLab/EIG")
-      (synopsis "Tools for population genetics")
-      (description "The EIGENSOFT package provides tools for population
+  (package
+    (name "eigensoft")
+    (version "7.2.1")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/DReichLab/EIG.git")
+             (commit (string-append "v" version))))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32
+         "1c141fqvhnzibmnf22sv23vbmzm20kjjyrib44cfh75wyndp2d9k"))
+       (modules '((guix build utils)))
+       ;; Remove pre-built binaries.
+       (snippet '(begin
+                   (delete-file-recursively "bin")
+                   (mkdir "bin")
+                   #t))))
+    (build-system gnu-build-system)
+    (arguments
+     `(#:tests? #f                    ; There are no tests.
+       #:make-flags '("CC=gcc")
+       #:phases
+       (modify-phases %standard-phases
+         ;; There is no configure phase, but the Makefile is in a
+         ;; sub-directory.
+         (replace 'configure
+           (lambda _ (chdir "src") #t))
+         ;; The provided install target only copies executables to
+         ;; the "bin" directory in the build root.
+         (add-after 'install 'actually-install
+           (lambda* (#:key outputs #:allow-other-keys)
+             (let* ((out (assoc-ref outputs "out"))
+                    (bin  (string-append out "/bin")))
+               (for-each (lambda (file)
+                           (install-file file bin))
+                         (find-files "../bin" ".*"))
+               #t))))))
+    (inputs
+     `(("gsl" ,gsl)
+       ("lapack" ,lapack)
+       ("openblas" ,openblas)
+       ("perl" ,perl)
+       ("gfortran" ,gfortran "lib")))
+    (home-page "https://github.com/DReichLab/EIG")
+    (synopsis "Tools for population genetics")
+    (description "The EIGENSOFT package provides tools for population
 genetics and stratification correction.  EIGENSOFT implements methods commonly
 used in population genetics analyses such as PCA, computation of Tracy-Widom
 statistics, and finding related individuals in structured populations.  It
 comes with a built-in plotting script and supports multiple file formats and
 quantitative phenotypes.")
-      ;; The license of the eigensoft tools is Expat, but since it's
-      ;; linking with the GNU Scientific Library (GSL) the effective
-      ;; license is the GPL.
-      (license license:gpl3+))))
+    ;; The license of the eigensoft tools is Expat, but since it's
+    ;; linking with the GNU Scientific Library (GSL) the effective
+    ;; license is the GPL.
+    (license license:gpl3+)))
 
 (define-public edirect
   (package
     (name "edirect")
-    (version "4.10")
+    (version "10.2.20181018")
     (source (origin
               (method url-fetch)
-              (uri (string-append "ftp://ftp.ncbi.nlm.nih.gov/entrez/entrezdirect/"
-                                  "versions/2016-05-03/edirect.tar.gz"))
+              (uri (string-append "ftp://ftp.ncbi.nlm.nih.gov/entrez/entrezdirect"
+                                  "/versions/" version
+                                  "/edirect-" version ".tar.gz"))
               (sha256
                (base32
-                "15zsprak5yh8c1yrz4r1knmb5s8qcmdid4xdhkh3lqcv64l60hli"))))
+                "091f4aigzpbqih6h82nq566gkp3y07i72yqndmqskfgar1vwgci7"))))
     (build-system perl-build-system)
     (arguments
-     `(#:tests? #f ;no "check" target
-       #:phases
+     `(#:phases
        (modify-phases %standard-phases
          (delete 'configure)
          (delete 'build)
+         (delete 'check)                ; simple check after install
          (replace 'install
-                  (lambda* (#:key outputs #:allow-other-keys)
-                    (let ((target (string-append (assoc-ref outputs "out")
-                                                 "/bin")))
-                      (mkdir-p target)
-                      (install-file "edirect.pl" target)
-                      #t)))
-         (add-after
-          'install 'wrap-program
-          (lambda* (#:key inputs outputs #:allow-other-keys)
-            ;; Make sure 'edirect.pl' finds all perl inputs at runtime.
-            (let* ((out (assoc-ref outputs "out"))
-                   (path (getenv "PERL5LIB")))
-              (wrap-program (string-append out "/bin/edirect.pl")
-                `("PERL5LIB" ":" prefix (,path)))))))))
+           (lambda* (#:key outputs #:allow-other-keys)
+             (install-file "edirect.pl"
+                           (string-append (assoc-ref outputs "out") "/bin"))
+             #t))
+         (add-after 'install 'wrap-program
+           (lambda* (#:key outputs #:allow-other-keys)
+             ;; Make sure 'edirect.pl' finds all perl inputs at runtime.
+             (let* ((out (assoc-ref outputs "out"))
+                    (path (getenv "PERL5LIB")))
+               (wrap-program (string-append out "/bin/edirect.pl")
+                 `("PERL5LIB" ":" prefix (,path))))
+             #t))
+         (add-after 'wrap-program 'check
+           (lambda* (#:key outputs #:allow-other-keys)
+             (invoke (string-append (assoc-ref outputs "out")
+                                    "/bin/edirect.pl")
+                     "-filter" "-help")
+             #t)))))
     (inputs
      `(("perl-html-parser" ,perl-html-parser)
        ("perl-encode-locale" ,perl-encode-locale)
@@ -2379,6 +2385,7 @@ quantitative phenotypes.")
        ("perl-net-http" ,perl-net-http)
        ("perl-uri" ,perl-uri)
        ("perl-www-robotrules" ,perl-www-robotrules)
+       ("perl-xml-simple" ,perl-xml-simple)
        ("perl" ,perl)))
     (home-page "http://www.ncbi.nlm.nih.gov/books/NBK179288/")
     (synopsis "Tools for accessing the NCBI's set of databases")
@@ -2474,17 +2481,16 @@ ChIP-Seq, and analysis of metagenomic data.")
 (define-public express-beta-diversity
   (package
    (name "express-beta-diversity")
-   (version "1.0.7")
+   (version "1.0.8")
    (source (origin
-             (method url-fetch)
-             (uri
-              (string-append
-               "https://github.com/dparks1134/ExpressBetaDiversity/archive/v"
-               version ".tar.gz"))
-             (file-name (string-append name "-" version ".tar.gz"))
+             (method git-fetch)
+             (uri (git-reference
+                   (url "https://github.com/dparks1134/ExpressBetaDiversity.git")
+                   (commit (string-append "v" version))))
+             (file-name (git-file-name name version))
              (sha256
               (base32
-               "1djvdlmqvjf6h0zq7w36y8cl5cli6rgj86x65znl48agnwmzxfxr"))))
+               "0s0yzg5c21349rh7x4w9266jsvnp7j1hp9cf8sk32hz8nvrj745x"))))
    (build-system gnu-build-system)
    (arguments
     `(#:phases
@@ -2492,17 +2498,13 @@ ChIP-Seq, and analysis of metagenomic data.")
         (delete 'configure)
         (add-before 'build 'enter-source (lambda _ (chdir "source") #t))
         (replace 'check
-                 (lambda _ (zero? (system* "../bin/ExpressBetaDiversity"
-                                           "-u"))))
-        (add-after 'check 'exit-source (lambda _ (chdir "..") #t))
+          (lambda _ (invoke "../bin/ExpressBetaDiversity" "-u") #t))
         (replace 'install
-                 (lambda* (#:key outputs #:allow-other-keys)
-                   (let ((bin (string-append (assoc-ref outputs "out")
-                                             "/bin")))
-                     (mkdir-p bin)
-                     (install-file "scripts/convertToEBD.py" bin)
-                     (install-file "bin/ExpressBetaDiversity" bin)
-                     #t))))))
+          (lambda* (#:key outputs #:allow-other-keys)
+            (let ((bin (string-append (assoc-ref outputs "out") "/bin")))
+              (install-file "../scripts/convertToEBD.py" bin)
+              (install-file "../bin/ExpressBetaDiversity" bin)
+              #t))))))
    (inputs
     `(("python" ,python-2)))
    (home-page "http://kiwi.cs.dal.ca/Software/ExpressBetaDiversity")
@@ -2535,31 +2537,30 @@ similarity of community members.")
         (delete 'configure)
         (replace 'build
           (lambda* (#:key source #:allow-other-keys)
-            (and (zero? (system* "gcc"
-                                 "-O3"
-                                 "-finline-functions"
-                                 "-funroll-loops"
-                                 "-Wall"
-                                 "-o"
-                                 "FastTree"
-                                 source
-                                 "-lm"))
-                 (zero? (system* "gcc"
-                                 "-DOPENMP"
-                                 "-fopenmp"
-                                 "-O3"
-                                 "-finline-functions"
-                                 "-funroll-loops"
-                                 "-Wall"
-                                 "-o"
-                                 "FastTreeMP"
-                                 source
-                                 "-lm")))))
+            (invoke "gcc"
+                    "-O3"
+                    "-finline-functions"
+                    "-funroll-loops"
+                    "-Wall"
+                    "-o"
+                    "FastTree"
+                    source
+                    "-lm")
+            (invoke "gcc"
+                    "-DOPENMP"
+                    "-fopenmp"
+                    "-O3"
+                    "-finline-functions"
+                    "-funroll-loops"
+                    "-Wall"
+                    "-o"
+                    "FastTreeMP"
+                    source
+                    "-lm")
+            #t))
         (replace 'install
           (lambda* (#:key outputs #:allow-other-keys)
-            (let ((bin (string-append (assoc-ref outputs "out")
-                                      "/bin")))
-              (mkdir-p bin)
+            (let ((bin (string-append (assoc-ref outputs "out") "/bin")))
               (install-file "FastTree" bin)
               (install-file "FastTreeMP" bin)
               #t))))))
@@ -2606,38 +2607,39 @@ results.  The FASTX-Toolkit tools perform some of these preprocessing tasks.")
 (define-public flexbar
   (package
     (name "flexbar")
-    (version "2.5")
+    (version "3.4.0")
     (source (origin
-              (method url-fetch)
-              (uri
-               (string-append "mirror://sourceforge/flexbar/"
-                              version "/flexbar_v" version "_src.tgz"))
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/seqan/flexbar.git")
+                    (commit (string-append "v" version))))
+              (file-name (git-file-name name version))
               (sha256
                (base32
-                "13jaykc3y1x8y5nn9j8ljnb79s5y51kyxz46hdmvvjj6qhyympmf"))))
+                "1pq9sxvdnldl14libk234m72dqhwgzs3acgl943wchwdqlcsi5r2"))))
     (build-system cmake-build-system)
     (arguments
-     `(#:configure-flags (list
-                          (string-append "-DFLEXBAR_BINARY_DIR="
-                                         (assoc-ref %outputs "out")
-                                         "/bin/"))
-       #:phases
+     `(#:phases
        (modify-phases %standard-phases
          (replace 'check
            (lambda* (#:key outputs #:allow-other-keys)
-             (setenv "PATH" (string-append
-                             (assoc-ref outputs "out") "/bin:"
-                             (getenv "PATH")))
-             (chdir "../flexbar_v2.5_src/test")
-             (zero? (system* "bash" "flexbar_validate.sh"))))
-         (delete 'install))))
+             (setenv "PATH" (string-append (getcwd) ":" (getenv "PATH")))
+             (with-directory-excursion "../source/test"
+               (invoke "bash" "flexbar_test.sh"))
+             #t))
+         (replace 'install
+           (lambda* (#:key outputs #:allow-other-keys)
+             (let* ((out (string-append (assoc-ref outputs "out")))
+                    (bin (string-append out "/bin/")))
+               (install-file "flexbar" bin))
+             #t)))))
     (inputs
      `(("tbb" ,tbb)
        ("zlib" ,zlib)))
     (native-inputs
      `(("pkg-config" ,pkg-config)
        ("seqan" ,seqan)))
-    (home-page "http://flexbar.sourceforge.net")
+    (home-page "https://github.com/seqan/flexbar")
     (synopsis "Barcode and adapter removal tool for sequencing platforms")
     (description
      "Flexbar preprocesses high-throughput nucleotide sequencing data
@@ -2646,7 +2648,7 @@ Moreover, trimming and filtering features are provided.  Flexbar increases
 read mapping rates and improves genome and transcriptome assemblies.  It
 supports next-generation sequencing data in fasta/q and csfasta/q format from
 Illumina, Roche 454, and the SOLiD platform.")
-    (license license:gpl3)))
+    (license license:bsd-3)))
 
 (define-public fraggenescan
   (package
@@ -3741,75 +3743,48 @@ command, or queried for specific k-mers with @code{jellyfish query}.")
 (define-public khmer
   (package
     (name "khmer")
-    (version "2.0")
+    (version "2.1.2")
     (source
      (origin
-       (method url-fetch)
-       (uri (pypi-uri "khmer" version))
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/dib-lab/khmer.git")
+             (commit (string-append "v" version))))
+       (file-name (git-file-name name version))
        (sha256
         (base32
-         "0wb05shqh77v00256qlm68vbbx3kl76fyzihszbz5nhanl4ni33a"))
-       (patches (search-patches "khmer-use-libraries.patch"))))
+         "02x38d9jw2r58y8dmnj4hffy9wxv1yc1jwbvdbhby9dxndv94r9m"))
+       (patches (search-patches "khmer-use-libraries.patch"))
+       (modules '((guix build utils)))
+       (snippet
+        '(begin
+           ;; Delete bundled libraries.  We do not replace the bundled seqan
+           ;; as it is a modified subset of the old version 1.4.1.
+           ;;
+           ;; We do not replace the bundled MurmurHash as the canonical
+           ;; repository for this code 'SMHasher' is unsuitable for providing
+           ;; a library.  See
+           ;; https://lists.gnu.org/archive/html/guix-devel/2016-06/msg00977.html
+           (delete-file-recursively "third-party/zlib")
+           (delete-file-recursively "third-party/bzip2")
+           #t))))
     (build-system python-build-system)
     (arguments
      `(#:phases
        (modify-phases %standard-phases
-         (add-after 'unpack 'set-paths
-           (lambda* (#:key inputs outputs #:allow-other-keys)
-             ;; Delete bundled libraries.
-             (delete-file-recursively "third-party/zlib")
-             (delete-file-recursively "third-party/bzip2")
-             ;; Replace bundled seqan.
-             (let* ((seqan-all "third-party/seqan")
-                    (seqan-include (string-append
-                                    seqan-all "/core/include")))
-               (delete-file-recursively seqan-all)
-               (copy-recursively (string-append (assoc-ref inputs "seqan")
-                                                "/include/seqan")
-                          (string-append seqan-include "/seqan")))
-             ;; We do not replace the bundled MurmurHash as the canonical
-             ;; repository for this code 'SMHasher' is unsuitable for
-             ;; providing a library.  See
-             ;; https://lists.gnu.org/archive/html/guix-devel/2016-06/msg00977.html
-             #t))
          (add-after 'unpack 'set-cc
-           (lambda _
-             (setenv "CC" "gcc")
-             #t))
-         ;; It is simpler to test after installation.
-         (delete 'check)
-         (add-after 'install 'post-install-check
-           (lambda* (#:key inputs outputs #:allow-other-keys)
-             (let ((out (assoc-ref outputs "out")))
-               (setenv "PATH"
-                       (string-append
-                        (getenv "PATH")
-                        ":"
-                        (assoc-ref outputs "out")
-                        "/bin"))
-               (setenv "PYTHONPATH"
-                       (string-append
-                        (getenv "PYTHONPATH")
-                        ":"
-                        out
-                        "/lib/python"
-                        (string-take (string-take-right
-                                      (assoc-ref inputs "python") 5) 3)
-                        "/site-packages"))
-               (with-directory-excursion "build"
-                 (zero? (system* "nosetests" "khmer" "--attr"
-                                 "!known_failing")))))))))
+           (lambda _ (setenv "CC" "gcc") #t))
+         ;; FIXME: This fails with "permission denied".
+         (delete 'reset-gzip-timestamps))))
     (native-inputs
-     `(("seqan" ,seqan)
-       ("python-nose" ,python-nose)))
+     `(("python-cython" ,python-cython)
+       ("python-pytest" ,python-pytest)
+       ("python-pytest-runner" ,python-pytest-runner)))
     (inputs
      `(("zlib" ,zlib)
        ("bzip2" ,bzip2)
        ("python-screed" ,python-screed)
-       ("python-bz2file" ,python-bz2file)
-       ;; Tests fail when gcc-5 is used for compilation.  Use gcc-4.9 at least
-       ;; until the next version of khmer (likely 2.1) is released.
-       ("gcc" ,gcc-4.9)))
+       ("python-bz2file" ,python-bz2file)))
     (home-page "https://khmer.readthedocs.org/")
     (synopsis "K-mer counting, filtering and graph traversal library")
     (description "The khmer software is a set of command-line tools for
@@ -5601,25 +5576,38 @@ complexity samples.")
 (define-public python-screed
   (package
     (name "python-screed")
-    (version "0.9")
+    (version "1.0")
     (source
      (origin
        (method url-fetch)
        (uri (pypi-uri "screed" version))
        (sha256
         (base32
-         "18czszp9fkx3j6jr7y5kp6dfialscgddk05mw1zkhh2zhn0jd8i0"))))
+         "148vcb7w2wr6a4w6vs2bsxanbqibxfk490zbcbg4m61s8669zdjx"))))
     (build-system python-build-system)
     (arguments
-     `(#:phases
+     '(#:phases
        (modify-phases %standard-phases
-         (replace 'check
-           (lambda _
-             (setenv "PYTHONPATH"
-                     (string-append (getenv "PYTHONPATH") ":."))
-             (zero? (system* "nosetests" "--attr" "!known_failing")))))))
+         ;; Tests must be run after installation, as the "screed" command does
+         ;; not exist right after building.
+         (delete 'check)
+         (add-after 'install 'check
+           (lambda* (#:key inputs outputs #:allow-other-keys)
+             (let ((out (assoc-ref outputs "out")))
+               (setenv "PYTHONPATH"
+                       (string-append out "/lib/python"
+                                      (string-take (string-take-right
+                                                    (assoc-ref inputs "python")
+                                                    5) 3)
+                                      "/site-packages:"
+                                      (getenv "PYTHONPATH")))
+               (setenv "PATH" (string-append out "/bin:" (getenv "PATH"))))
+             (invoke "python" "setup.py" "test")
+             #t)))))
     (native-inputs
-     `(("python-nose" ,python-nose)))
+     `(("python-pytest" ,python-pytest)
+       ("python-pytest-cov" ,python-pytest-cov)
+       ("python-pytest-runner" ,python-pytest-runner)))
     (inputs
      `(("python-bz2file" ,python-bz2file)))
     (home-page "https://github.com/dib-lab/screed/")
@@ -5746,14 +5734,15 @@ writing files into the .sra format.")
 (define-public seqan
   (package
     (name "seqan")
-    (version "1.4.2")
+    (version "2.4.0")
     (source (origin
               (method url-fetch)
-              (uri (string-append "http://packages.seqan.de/seqan-library/"
-                                  "seqan-library-" version ".tar.bz2"))
+              (uri (string-append "https://github.com/seqan/seqan/releases/"
+                                  "download/seqan-v" version
+                                  "/seqan-library-" version ".tar.xz"))
               (sha256
                (base32
-                "05s3wrrwn50f81aklfm65i4a749zag1vr8z03k21xm0pdxy47yvp"))))
+                "19a1rlxx03qy1i1iriicly68w64yjxbv24g9gdywnfmq998v35yx"))))
     ;; The documentation is 7.8MB and the includes are 3.6MB heavy, so it
     ;; makes sense to split the outputs.
     (outputs '("out" "doc"))
@@ -5763,11 +5752,11 @@ writing files into the .sra format.")
        #:builder
        (begin
          (use-modules (guix build utils))
-         (let ((tar  (assoc-ref %build-inputs "tar"))
-               (bzip (assoc-ref %build-inputs "bzip2"))
-               (out  (assoc-ref %outputs "out"))
-               (doc  (assoc-ref %outputs "doc")))
-           (setenv "PATH" (string-append tar "/bin:" bzip "/bin"))
+         (let ((tar (assoc-ref %build-inputs "tar"))
+               (xz  (assoc-ref %build-inputs "xz"))
+               (out (assoc-ref %outputs "out"))
+               (doc (assoc-ref %outputs "doc")))
+           (setenv "PATH" (string-append tar "/bin:" xz "/bin"))
            (invoke "tar" "xvf" (assoc-ref %build-inputs "source"))
            (chdir (string-append "seqan-library-" ,version))
            (copy-recursively "include" (string-append out "/include"))
@@ -5776,7 +5765,7 @@ writing files into the .sra format.")
     (native-inputs
      `(("source" ,source)
        ("tar" ,tar)
-       ("bzip2" ,bzip2)))
+       ("xz" ,xz)))
     (home-page "http://www.seqan.de")
     (synopsis "Library for nucleotide sequence analysis")
     (description
@@ -5787,6 +5776,41 @@ manipulation, online and indexed string search, efficient I/O of
 bioinformatics file formats, sequence alignment, and more.")
     (license license:bsd-3)))
 
+(define-public seqan-1
+  (package (inherit seqan)
+    (name "seqan")
+    (version "1.4.2")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "http://packages.seqan.de/seqan-library/"
+                                  "seqan-library-" version ".tar.bz2"))
+              (sha256
+               (base32
+                "05s3wrrwn50f81aklfm65i4a749zag1vr8z03k21xm0pdxy47yvp"))))
+    ;; The documentation is 7.8MB and the includes are 3.6MB heavy, so it
+    ;; makes sense to split the outputs.
+    (outputs '("out" "doc"))
+    (build-system trivial-build-system)
+    (arguments
+     `(#:modules ((guix build utils))
+       #:builder
+       (begin
+         (use-modules (guix build utils))
+         (let ((tar  (assoc-ref %build-inputs "tar"))
+               (bzip (assoc-ref %build-inputs "bzip2"))
+               (out  (assoc-ref %outputs "out"))
+               (doc  (assoc-ref %outputs "doc")))
+           (setenv "PATH" (string-append tar "/bin:" bzip "/bin"))
+           (invoke "tar" "xvf" (assoc-ref %build-inputs "source"))
+           (chdir (string-append "seqan-library-" ,version))
+           (copy-recursively "include" (string-append out "/include"))
+           (copy-recursively "share"  (string-append doc "/share"))
+           #t))))
+    (native-inputs
+     `(("source" ,source)
+       ("tar" ,tar)
+       ("bzip2" ,bzip2)))))
+
 (define-public seqmagick
   (package
     (name "seqmagick")
diff --git a/gnu/packages/build-tools.scm b/gnu/packages/build-tools.scm
index 8fcf128135..e1f640ea85 100644
--- a/gnu/packages/build-tools.scm
+++ b/gnu/packages/build-tools.scm
@@ -4,6 +4,7 @@
 ;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr>
 ;;; Copyright © 2018 Fis Trivial <ybbs.daans@hotmail.com>
 ;;; Copyright © 2018 Tomáš Čech <sleep_walker@gnu.org>
+;;; Copyright © 2018 Marius Bakke <mbakke@fastmail.com>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -98,6 +99,63 @@ it is easy to re-run the compilation with alternate programs.  Bear is used to
 generate such a compilation database.")
     (license license:gpl3+)))
 
+(define-public gn
+  (let ((commit "f73698ebb33e26a0bf120e2b55d12528fd1dbe7d")
+        (revision "1481"))          ;as returned by `git describe`, used below
+    (package
+      (name "gn")
+      (version (git-version "0.0" revision commit))
+      (home-page "https://gn.googlesource.com/gn")
+      (source (origin
+                (method git-fetch)
+                (uri (git-reference (url home-page) (commit commit)))
+                (sha256
+                 (base32
+                  "078ydwak4424bkqh3hd7q955zxp2c3qlw44lsb29i8jqap140f9d"))
+                (file-name (git-file-name name version))))
+      (build-system gnu-build-system)
+      (arguments
+       `(#:tests? #f                    ;FIXME: How to run?
+         #:phases (modify-phases %standard-phases
+                    (add-before 'configure 'set-build-environment
+                      (lambda _
+                        (setenv "CC" "gcc") (setenv "CXX" "g++")
+                        (setenv "AR" "ar")
+                        #t))
+                    (replace 'configure
+                      (lambda _
+                        (invoke "python" "build/gen.py" "--no-sysroot"
+                                "--no-last-commit-position")))
+                    (add-after 'configure 'create-last-commit-position
+                      (lambda _
+                        ;; Create "last_commit_position.h" to avoid a dependency
+                        ;; on 'git' (and the checkout..).
+                        (call-with-output-file "out/last_commit_position.h"
+                          (lambda (port)
+                            (format port
+                                    "#define LAST_COMMIT_POSITION \"~a (~a)\"\n"
+                                    ,revision ,(string-take commit 8))
+                            #t))))
+                    (replace 'build
+                      (lambda _
+                        (invoke "ninja" "-C" "out" "gn"
+                                "-j" (number->string (parallel-job-count)))))
+                    (replace 'install
+                      (lambda* (#:key outputs #:allow-other-keys)
+                        (let ((out (assoc-ref outputs "out")))
+                          (install-file "out/gn" (string-append out "/bin"))
+                          #t))))))
+      (native-inputs
+       `(("ninja" ,ninja)
+         ("python" ,python-2)))
+      (synopsis "Generate Ninja build files")
+      (description
+       "GN is a tool that collects information about a project from @file{.gn}
+files and generates build instructions for the Ninja build system.")
+      ;; GN is distributed as BSD-3, but bundles some files from ICU using the
+      ;; X11 license.
+      (license (list license:bsd-3 license:x11)))))
+
 (define-public meson
   (package
     (name "meson")
diff --git a/gnu/packages/crypto.scm b/gnu/packages/crypto.scm
index 77b4dba6d4..29d9a3d6ab 100644
--- a/gnu/packages/crypto.scm
+++ b/gnu/packages/crypto.scm
@@ -94,7 +94,7 @@ communication, encryption, decryption, signatures, etc.")
 (define-public libmd
   (package
     (name "libmd")
-    (version "1.0.0")
+    (version "1.0.1")
     (source (origin
             (method url-fetch)
             (uri
@@ -105,7 +105,7 @@ communication, encryption, decryption, signatures, etc.")
                              version ".tar.xz")))
             (sha256
              (base32
-              "1iv45npzv0gncjgcpx5m081861zdqxw667ysghqb8721yrlyl6pj"))))
+              "0waclg2d5qin3r26gy5jvy4584ik60njc8pqbzwk0lzq3j9ynkp1"))))
     (build-system gnu-build-system)
     (synopsis "Message Digest functions from BSD systems")
     (description
diff --git a/gnu/packages/dns.scm b/gnu/packages/dns.scm
index ad1a8638bc..1dcf73771b 100644
--- a/gnu/packages/dns.scm
+++ b/gnu/packages/dns.scm
@@ -569,14 +569,14 @@ Extensions} (DNSSEC).")
 (define-public knot
   (package
     (name "knot")
-    (version "2.7.2")
+    (version "2.7.3")
     (source (origin
               (method url-fetch)
               (uri (string-append "https://secure.nic.cz/files/knot-dns/"
                                   name "-" version ".tar.xz"))
               (sha256
                (base32
-                "0cc4wgb02ch09x99a1fnr7vsdik8k920q7jafzcamjvy3kpb4w6b"))
+                "1pwjcv7hzhqawisibybma160k77a6f1v94xw6ay9c7j49vrw05w7"))
               (modules '((guix build utils)))
               (snippet
                '(begin
diff --git a/gnu/packages/education.scm b/gnu/packages/education.scm
index 8b02adc182..b333bb9d35 100644
--- a/gnu/packages/education.scm
+++ b/gnu/packages/education.scm
@@ -243,17 +243,17 @@ easy.")
 (define-public snap
   (package
     (name "snap")
-    (version "4.2.1.4")
+    (version "4.2.2.2")
     (source
      (origin
        (method git-fetch)
        (uri (git-reference
-             (url "https://github.com/jmoenig/Snap--Build-Your-Own-Blocks.git")
+             (url "https://github.com/jmoenig/Snap.git")
              (commit version)))
        (file-name (git-file-name name version))
        (sha256
         (base32
-         "0yc0w0cdhvi0nwqqrann2v3y0n7shxh7irgixqvlavp4k49d7aqj"))))
+         "0bay08yr58qj8wzpjg33gdj78rfhyskfzidknpdl3cr1jrj6i4p9"))))
     (build-system trivial-build-system)
     (arguments
      `(#:modules ((guix build utils))
@@ -265,7 +265,7 @@ easy.")
                 (share (string-append out "/share/snap")))
            (copy-recursively source share)
            ;; Replace the sole minified file in the package.
-           (with-directory-excursion share
+           (with-directory-excursion (string-append share "/src")
              (delete-file "FileSaver.min.js")
              (symlink (string-append (assoc-ref %build-inputs "js-filesaver")
                                      "/share/javascript/FileSaver.min.js")
diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm
index 1069b9e3c3..ce98dbaeb8 100644
--- a/gnu/packages/emacs.scm
+++ b/gnu/packages/emacs.scm
@@ -6,7 +6,7 @@
 ;;; Copyright © 2015 Federico Beffa <beffa@fbengineering.ch>
 ;;; Copyright © 2015, 2016, 2017, 2018 Ricardo Wurmus <rekado@elephly.net>
 ;;; Copyright © 2016, 2017, 2018 Chris Marusich <cmmarusich@gmail.com>
-;;; Copyright © 2015, 2016 Christopher Allan Webber <cwebber@dustycloud.org>
+;;; Copyright © 2015, 2016, 2018 Christopher Lemmer Webber <cwebber@dustycloud.org>
 ;;; Copyright © 2016 Adriano Peluso <catonano@gmail.com>
 ;;; Copyright © 2016, 2017, 2018 Efraim Flashner <efraim@flashner.co.il>
 ;;; Copyright © 2016 David Thompson <davet@gnu.org>
@@ -654,6 +654,33 @@ Gitlab APIs from Emacs packages.  It abstracts access to API resources using
 only a handful of functions that are not resource-specific.")
     (license license:gpl3+)))
 
+(define-public emacs-scribble-mode
+  (let ((commit "34e9e5edb921813b6483e0fefa848efb6ee4b314")
+        (version "0.0")
+        (revision 0))
+    (package
+      (name "emacs-scribble-mode")
+      (version (if (zero? revision)
+                   version
+                   (string-append version "-"
+                                  (number->string revision)
+                                  "." (string-take commit 7))))
+      (source (origin
+                (method git-fetch)
+                (uri (git-reference
+                      (url "https://github.com/emacs-pe/scribble-mode.git")
+                      (commit commit)))
+                (sha256
+                 (base32
+                  "0598byqpz2q6yi2q4dwd77jj9z3n99z34d3an51s9m2za0nh1qvp"))))
+      (build-system emacs-build-system)
+      (home-page "https://github.com/emacs-pe/scribble-mode")
+      (synopsis "Emacs mode for editing the Scribble documentation syntax.")
+      (description
+       "This package provides basic syntax highlighting and editing support
+for editing Racket's Scribble documentation syntax in Emacs.")
+      (license license:gpl3+))))
+
 (define-public emacs-haskell-mode
   (package
     (name "emacs-haskell-mode")
@@ -12386,3 +12413,23 @@ have special meaning.  It is also handy for aligning text across long vertical
 distances.  Multi-column characters, such as @kbd{TAB} are treated
 correctly.")
     (license license:gpl2+)))
+
+(define-public emacs-slime-repl-ansi-color
+  (let ((commit "ad03263f5d4de473bc173b64a6fc3dc1106393d7"))
+    (package
+      (name "emacs-slime-repl-ansi-color")
+      (version (git-version "0.0.0" "1" commit))
+      (source (origin
+                (method git-fetch)
+                (uri (git-reference
+                      (url "https://github.com/deadtrickster/slime-repl-ansi-color")
+                      (commit commit)))
+                (file-name (git-file-name name version))
+                (sha256
+                 (base32
+                  "0bpg7gxz310x7bnlg324c507sxc5gxwwz6h64h6kdq141r73vbi4"))))
+      (build-system emacs-build-system)
+      (home-page "https://github.com/deadtrickster/slime-repl-ansi-color")
+      (synopsis "Color ANSI codes in the REPL of SLIME")
+      (description "Color ANSI codes in the REPL of SLIME")
+      (license license:gpl2+))))
diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index ba37d6afa4..d4df84803b 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -4098,15 +4098,15 @@ work and the interface is well tested.")
 (define-public eolie
   (package
     (name "eolie")
-    (version "0.9.38")
+    (version "0.9.45")
     (source (origin
               (method url-fetch)
               (uri (string-append "https://gitlab.gnome.org/World/eolie/"
-                                  "uploads/9814c06a1bc83ea09c3da8719a9ed11b/"
+                                  "uploads/020f3f686e2b938731752a1d9f5bfa7e/"
                                   "eolie-" version ".tar.xz"))
               (sha256
                (base32
-                "10vrh91rapgfmqwc6jkcybpmlvn4q0y8bnklw3rddzigf9kvqsff"))))
+                "0371p7g13r0b7zjc48fdcil43ddwpmyvkd2a4vv6ifsqmny6kl42"))))
     (build-system meson-build-system)
     (arguments
      `(#:glib-or-gtk? #t
diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm
index f058cc79a2..dd83a08038 100644
--- a/gnu/packages/linux.scm
+++ b/gnu/packages/linux.scm
@@ -30,6 +30,7 @@
 ;;; Copyright © 2018 Pierre-Antoine Rouby <pierre-antoine.rouby@inria.fr>
 ;;; Copyright © 2018 Brendan Tildesley <brendan.tildesley@openmailbox.org>
 ;;; Copyright © 2018 Manuel Graf <graf@init.at>
+;;; Copyright © 2018 Pierre Langlois <pierre.langlois@gmx.com>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -399,8 +400,8 @@ It has been modified to remove all non-free binary blobs.")
 ;; supports qemu "virt" machine and possibly a large number of ARM boards.
 ;; See : https://wiki.debian.org/DebianKernel/ARMMP.
 
-(define %linux-libre-version "4.18.15")
-(define %linux-libre-hash "0v6xs85qn1iy2dj3m6s3cfnhbwb1mjy21d9lagjni8dg3jic26hf")
+(define %linux-libre-version "4.18.16")
+(define %linux-libre-hash "15apfgswp2lrwjpi3vwnanlkdw3q6rkvwrbgrb71rjsy9gazlz62")
 
 (define %linux-libre-4.18-patches
   (list %boot-logo-patch
@@ -430,8 +431,8 @@ It has been modified to remove all non-free binary blobs.")
                     #:patches %linux-libre-4.18-patches
                     #:configuration-file kernel-config))
 
-(define %linux-libre-4.14-version "4.14.77")
-(define %linux-libre-4.14-hash "18y81rga2lhsk7bjckglxz52pvnzf103ar0z2zj611g37wyf83r5")
+(define %linux-libre-4.14-version "4.14.78")
+(define %linux-libre-4.14-hash "07dhhw6zdnqn2dznpmkniz58hfkdx89yx7csm9vbx45blnyhjw5z")
 
 (define-public linux-libre-4.14
   (make-linux-libre %linux-libre-4.14-version
@@ -440,14 +441,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.134"
-                    "0f5qif27k0mhc57d98arbfkq7zlvg0ra2gz6g5fasblyjz3j7w7h"
+  (make-linux-libre "4.9.135"
+                    "07v5s6hl08ls2z9xdkbqq1s210mqayfchqbckhp8hlaw089ap71f"
                     %intel-compatible-systems
                     #:configuration-file kernel-config))
 
 (define-public linux-libre-4.4
-  (make-linux-libre "4.4.161"
-                    "1q6bsndpjgw72mybhl5l8vrxs4mimg6821bjgi1pjkxbc7nd921b"
+  (make-linux-libre "4.4.162"
+                    "1anb2k9i03369lvbwlw24vimxvk8zpcql4ryz0ydvf3pxv8lirm2"
                     %intel-compatible-systems
                     #:configuration-file kernel-config))
 
@@ -4167,30 +4168,21 @@ monitoring tools for Linux.  These include @code{mpstat}, @code{iostat},
 (define-public light
   (package
     (name "light")
-    (version "1.1.2")
+    (version "1.2")
     (source (origin
-              (method git-fetch)
-              (uri (git-reference
-                    (url "https://github.com/haikarainen/light")
-                    (commit version)))
+              (method url-fetch)
+              (uri (string-append
+                     "https://github.com/haikarainen/light/archive/v"
+                     version ".tar.gz"))
               (sha256
                (base32
-                "0c934gxav9cgdf94li6dp0rfqmpday9d33vdn9xb2mfp4war9n4w"))))
+                "1gfvsw7gh5pis733l7j54vzp272pvjyzbg8a0pvapfmg0s7mip97"))
+              (file-name (string-append name "-" version ".tar.gz"))))
     (build-system gnu-build-system)
-    (arguments
-     '(#:tests? #f                      ; no tests
-       #:make-flags (list "CC=gcc"
-                          (string-append "PREFIX=" %output))
-       #:phases
-       (modify-phases %standard-phases
-         (delete 'configure)            ; no configure script
-         (add-after 'unpack 'patch-makefile
-           (lambda _
-             (substitute* "Makefile" (("chown") "#"))
-             #t)))))
     (native-inputs
-     `(("help2man" ,help2man)))
-    (home-page "https://haikarainen.github.io/light")
+     `(("autoconf" ,autoconf)
+       ("automake" ,automake)))
+    (home-page "https://haikarainen.github.io/light/")
     (synopsis "GNU/Linux application to control backlights")
     (description
      "Light is a program to send commands to screen backlight controllers
diff --git a/gnu/packages/lxqt.scm b/gnu/packages/lxqt.scm
index c84d26d4cb..c4d0662e99 100644
--- a/gnu/packages/lxqt.scm
+++ b/gnu/packages/lxqt.scm
@@ -5,6 +5,7 @@
 ;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il>
 ;;; Copyright © 2017 Nils Gillmann <ng0@n0.is>
 ;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
+;;; Copyright © 2018 Meiyo Peng <meiyo.peng@gmail.com>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -31,30 +32,40 @@
   #:use-module (gnu packages glib)
   #:use-module (gnu packages kde-frameworks)
   #:use-module (gnu packages pkg-config)
-  #:use-module (gnu packages qt))
+  #:use-module (gnu packages polkit)
+  #:use-module (gnu packages qt)
+  #:use-module (gnu packages xorg))
 
 (define-public libqtxdg
   (package
     (name "libqtxdg")
-    (version "1.2.0")
+    (version "3.2.0")
     (source
      (origin
        (method url-fetch)
-       (uri
-         (string-append "https://github.com/lxde/libqtxdg/releases/"
-                        "download/" version "/" name "-" version ".tar.xz"))
+       (uri (string-append
+             "https://github.com/lxqt/" name "/releases/download/"
+             version "/" name "-" version ".tar.xz"))
        (sha256
-        (base32
-         "1ncqs0lcll5nx69hxfg33m3jfkryjqrjhr2kdci0b8pyaqdv1jc8"))))
+        (base32 "0lq548pa69hfvnbj2ypba5ygm8n6v6g7bqqm8p5g538l1l3394cl"))))
     (build-system cmake-build-system)
     (arguments
-     `(#:tests? #f ; test fails with message "Exception"
-       #:configure-flags '("-DBUILD_TESTS=ON")))
-    (native-inputs
-     `(("pkg-config" ,pkg-config)))
+     `(#:configure-flags
+       `("-DBUILD_TESTS=ON"
+         ,(string-append "-DQTXDGX_ICONENGINEPLUGIN_INSTALL_PATH="
+                         %output "/lib/qt5/plugins/iconengines"))
+       #:phases
+       (modify-phases %standard-phases
+         (add-before 'check 'pre-check
+           (lambda _
+             ;; Run the tests offscreen.
+             (setenv "QT_QPA_PLATFORM" "offscreen")
+             #t)))))
     (propagated-inputs
-     `(("qtbase" ,qtbase))) ; according to Qt5Xdg.pc
-    (home-page "https://github.com/lxde/libqtxdg")
+     ;; required by Qt5XdgIconLoader.pc
+     `(("qtbase" ,qtbase)
+       ("qtsvg" ,qtsvg)))
+    (home-page "https://github.com/lxqt/libqtxdg")
     (synopsis "Qt implementation of freedesktop.org xdg specifications")
     (description "Libqtxdg implements the freedesktop.org xdg specifications
 in Qt.")
@@ -63,29 +74,40 @@ in Qt.")
 (define-public liblxqt
   (package
     (name "liblxqt")
-    (version "0.9.0")
+    (version "0.13.0")
     (source
      (origin
        (method url-fetch)
-       (uri
-         (string-append "https://github.com/lxde/" name
-                        "/archive/" version ".tar.gz"))
-       (file-name (string-append name "-" version ".tar.gz"))
+       (uri (string-append
+             "https://github.com/lxqt/" name "/releases/download/"
+             version "/" name "-" version ".tar.xz"))
        (sha256
-        (base32
-         "0mbl3qc0yfgfsndqrw8vg8k5irsy0pg2wrad8nwv0aphphd4n7rg"))
-       (patches (search-patches "liblxqt-include.patch"))))
+        (base32 "0fba0nq5b9fvvmklcikcd4nwhzlp5d6k1q1f80r34kncdzfvj7dl"))))
     (build-system cmake-build-system)
     (arguments
-     `(#:tests? #f))
-    (native-inputs `(("pkg-config" ,pkg-config)))
+     `(#:tests? #f                      ; no tests
+       #:configure-flags
+       ;; TODO: prefetch translations files from 'lxqt-l10n'.
+       '("-DPULL_TRANSLATIONS=NO")
+       #:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'patch-source
+           (lambda _
+             (substitute* "CMakeLists.txt"
+               (("DESTINATION \"\\$\\{POLKITQT-1_POLICY_FILES_INSTALL_DIR\\}")
+                "DESTINATION \"${CMAKE_INSTALL_PREFIX}/share/polkit-1/actions"))
+             #t)))))
     (inputs
      `(("kwindowsystem" ,kwindowsystem)
        ("libqtxdg" ,libqtxdg)
-       ("qtbase" ,qtbase)
+       ("libxscrnsaver" ,libxscrnsaver)
+       ("polkit-qt" ,polkit-qt)
+       ("qtsvg" ,qtsvg)
        ("qttools" ,qttools)
        ("qtx11extras" ,qtx11extras)))
-    (home-page "http://lxqt.org/")
+    (native-inputs
+     `(("lxqt-build-tools" ,lxqt-build-tools)))
+    (home-page "https://lxqt.org/")
     (synopsis "Core utility library for all LXQt components")
     (description "liblxqt provides the basic libraries shared by the
 components of the LXQt desktop environment.")
diff --git a/gnu/packages/mpd.scm b/gnu/packages/mpd.scm
index 3e69ddba69..b69be2965f 100644
--- a/gnu/packages/mpd.scm
+++ b/gnu/packages/mpd.scm
@@ -58,7 +58,7 @@
 (define-public libmpdclient
   (package
     (name "libmpdclient")
-    (version "2.15")
+    (version "2.16")
     (source (origin
               (method url-fetch)
               (uri
@@ -67,7 +67,7 @@
                               "/libmpdclient-" version ".tar.xz"))
               (sha256
                (base32
-                "1la60ar6i4ghpscrlgm45kci9b74bvkpsfybhg0ygs4rzpwzdnxl"))))
+                "0r24cl3i9nvs6a47mvwaxk1kb5wmnhkhrw1q5cq9010fgjvdlszs"))))
     (build-system meson-build-system)
     (native-inputs
      `(("pkg-config" ,pkg-config)
diff --git a/gnu/packages/patches/crossmap-allow-system-pysam.patch b/gnu/packages/patches/crossmap-allow-system-pysam.patch
deleted file mode 100644
index 611c4ff74d..0000000000
--- a/gnu/packages/patches/crossmap-allow-system-pysam.patch
+++ /dev/null
@@ -1,121 +0,0 @@
-This patch modifies the build process such that the bundled copy of pysam does
-not need to be built if CROSSMAP_USE_SYSTEM_PYSAM is set and the pysam module
-can be imported.
-
-Upstream has agreed to apply the patch in the next maintenance release of
-crossmap.  The patch has already been uploaded to
-http://sourceforge.net/projects/crossmap/files/patch/.
-
-diff --git a/setup.py b/setup.py
---- a/setup.py	2015-02-26 15:28:49.771189185 +0100
-+++ b/setup.py	2015-02-26 15:55:03.440327752 +0100
-@@ -19,6 +19,15 @@
- except:
- 	have_numpy = False
- 
-+try:
-+	import pysam
-+	if os.environ['CROSSMAP_USE_SYSTEM_PYSAM']:
-+		have_pysam = True
-+	else:
-+		have_pysam = False
-+except ImportError:
-+	have_pysam = False
-+
- if platform.system()=='Windows':
- 	print >> sys.stderr, "Sorry, Windows platform is not supported!"
- 	sys.exit()
-@@ -165,49 +174,50 @@
- 	
- 	
- 	#================= pysam samtools ====================
--	extensions.append(Extension(
--    	"pysam.csamtools",              
--		csamtools_sources + [ "lib/pysam/%s" % x for x in ("pysam_util.c", )] +\
--		glob.glob( os.path.join( "lib/samtools", "*.pysam.c" )) +\
--		os_c_files + \
--		glob.glob( os.path.join( "lib/samtools", "*", "*.pysam.c" ) ),
--		library_dirs=[],
--		include_dirs=[ "lib/samtools", "lib/pysam" ] + include_os,
--		libraries=[ "z", ],
--		language="c",
--		define_macros = [('_FILE_OFFSET_BITS','64'),('_USE_KNETFILE','')], 
--    ))
--
--	extensions.append(Extension(
--		"pysam.ctabix",                   
--		tabix_sources + [ "lib/pysam/%s" % x for x in ( "tabix_util.c", )] +\
--		os_c_files + \
--		glob.glob( os.path.join( "lib/tabix", "*.pysam.c" ) ),
--		library_dirs=[],
--		include_dirs=[ "lib/tabix", "lib/pysam" ] + include_os,
--		libraries=[ "z", ],
--		language="c",
--		define_macros = [('_FILE_OFFSET_BITS','64'),
--                     ('_USE_KNETFILE','')], 
--    ))
--
--	extensions.append(Extension(
--		"pysam.TabProxies",               
--		tabproxies_sources + os_c_files,
--		library_dirs=[],
--		include_dirs= include_os,
--		libraries=[ "z", ],
--		language="c",
--    ))
--
--	extensions.append(Extension(
--		"pysam.cvcf",                   
--		cvcf_sources + os_c_files,
--		library_dirs=[],
--		include_dirs= ["lib/tabix",] + include_os,
--		libraries=[ "z", ],
--		language="c",
--    ))
-+        if not have_pysam:
-+                extensions.append(Extension(
-+                        "pysam.csamtools",              
-+                        csamtools_sources + [ "lib/pysam/%s" % x for x in ("pysam_util.c", )] +\
-+                        glob.glob( os.path.join( "lib/samtools", "*.pysam.c" )) +\
-+                        os_c_files + \
-+                        glob.glob( os.path.join( "lib/samtools", "*", "*.pysam.c" ) ),
-+                        library_dirs=[],
-+                        include_dirs=[ "lib/samtools", "lib/pysam" ] + include_os,
-+                        libraries=[ "z", ],
-+                        language="c",
-+                        define_macros = [('_FILE_OFFSET_BITS','64'),('_USE_KNETFILE','')], 
-+                ))
-+
-+                extensions.append(Extension(
-+                        "pysam.ctabix",                   
-+                        tabix_sources + [ "lib/pysam/%s" % x for x in ( "tabix_util.c", )] +\
-+                        os_c_files + \
-+                        glob.glob( os.path.join( "lib/tabix", "*.pysam.c" ) ),
-+                        library_dirs=[],
-+                        include_dirs=[ "lib/tabix", "lib/pysam" ] + include_os,
-+                        libraries=[ "z", ],
-+                        language="c",
-+                        define_macros = [('_FILE_OFFSET_BITS','64'),
-+                                         ('_USE_KNETFILE','')], 
-+                ))
-+
-+                extensions.append(Extension(
-+                        "pysam.TabProxies",               
-+                        tabproxies_sources + os_c_files,
-+                        library_dirs=[],
-+                        include_dirs= include_os,
-+                        libraries=[ "z", ],
-+                        language="c",
-+                ))
-+
-+                extensions.append(Extension(
-+                        "pysam.cvcf",                   
-+                        cvcf_sources + os_c_files,
-+                        library_dirs=[],
-+                        include_dirs= ["lib/tabix",] + include_os,
-+                        libraries=[ "z", ],
-+                        language="c",
-+                ))
- 
- 
- 	return extensions     
diff --git a/gnu/packages/patches/delly-use-system-libraries.patch b/gnu/packages/patches/delly-use-system-libraries.patch
deleted file mode 100644
index 3315c2a176..0000000000
--- a/gnu/packages/patches/delly-use-system-libraries.patch
+++ /dev/null
@@ -1,56 +0,0 @@
---- a/Makefile	2017-04-09 12:48:15.000000000 +0200
-+++ b/Makefile	2017-06-21 14:26:02.749282787 +0200
-@@ -9,8 +9,8 @@
- 
- # Flags
- CXX=g++
--CXXFLAGS += -isystem ${SEQTK_ROOT} -isystem ${BOOST_ROOT} -pedantic -W -Wall -Wno-unknown-pragmas -D__STDC_LIMIT_MACROS -fno-strict-aliasing
--LDFLAGS += -L${SEQTK_ROOT} -L${BOOST_ROOT}/stage/lib -lboost_iostreams -lboost_filesystem -lboost_system -lboost_program_options -lboost_date_time 
-+CXXFLAGS += -pedantic -W -Wall -Wno-unknown-pragmas -D__STDC_LIMIT_MACROS -fno-strict-aliasing
-+LDFLAGS += -lboost_iostreams -lboost_filesystem -lboost_system -lboost_program_options -lboost_date_time 
- 
- # Additional flags for release/debug
- ifeq (${PARALLEL}, 1)
-@@ -23,7 +23,7 @@
- ifeq (${STATIC}, 1)
- 	LDFLAGS += -static -static-libgcc -pthread -lhts -lz
- else
--	LDFLAGS += -lhts -lz -Wl,-rpath,${SEQTK_ROOT},-rpath,${BOOST_ROOT}/stage/lib
-+	LDFLAGS += -lhts -lz
- endif
- ifeq (${DEBUG}, 1)
- 	CXXFLAGS += -g -O0 -fno-inline -DDEBUG
-@@ -41,29 +41,17 @@
- DELLYSOURCES = $(wildcard src/*.h) $(wildcard src/*.cpp)
- 
- # Targets
--TARGETS = .htslib .bcftools .boost src/delly src/cov src/dpe
-+TARGETS = src/delly src/cov src/dpe
- 
- all:   	$(TARGETS)
- 
--.htslib: $(HTSLIBSOURCES)
--	cd src/htslib && make && make lib-static && cd ../../ && touch .htslib
--
--.bcftools: $(HTSLIBSOURCES)
--	cd src/bcftools && make && cd ../../ && touch .bcftools
--
--.boost: $(BOOSTSOURCES)
--	cd src/modular-boost && ./bootstrap.sh --prefix=${PWD}/src/modular-boost --without-icu --with-libraries=iostreams,filesystem,system,program_options,date_time && ./b2 && ./b2 headers && cd ../../ && touch .boost
--
--src/delly: .htslib .bcftools .boost $(DELLYSOURCES)
--	$(CXX) $(CXXFLAGS) $@.cpp -o $@ $(LDFLAGS)
--
--src/cov: .htslib .bcftools .boost $(DELLYSOURCES)
-+src/cov: $(DELLYSOURCES)
- 	$(CXX) $(CXXFLAGS) $@.cpp -o $@ $(LDFLAGS)
- 
--src/dpe: .htslib .bcftools .boost $(DELLYSOURCES)
-+src/dpe: $(DELLYSOURCES)
- 	$(CXX) $(CXXFLAGS) $@.cpp -o $@ $(LDFLAGS)
- 
- clean:
- 	cd src/htslib && make clean
- 	cd src/modular-boost && ./b2 --clean-all
--	rm -f $(TARGETS) $(TARGETS:=.o) .htslib .boost .bcftools
-+	rm -f $(TARGETS) $(TARGETS:=.o)
diff --git a/gnu/packages/patches/liblxqt-include.patch b/gnu/packages/patches/liblxqt-include.patch
deleted file mode 100644
index 4e8cf04789..0000000000
--- a/gnu/packages/patches/liblxqt-include.patch
+++ /dev/null
@@ -1,14 +0,0 @@
-Patch to fix build with Qt 5.5, taken from upstream:
-   https://github.com/lxde/liblxqt/commit/7303ea207de0771d6f450a31ec4a1ce69202869b
-
-diff -u -r liblxqt-0.9.0.orig/lxqtnotification.h liblxqt-0.9.0/lxqtnotification.h
---- liblxqt-0.9.0.orig/lxqtnotification.h	2015-07-27 22:49:05.365166482 +0200
-+++ liblxqt-0.9.0/lxqtnotification.h	2015-07-27 22:49:36.897606619 +0200
-@@ -25,6 +25,7 @@
- #ifndef LXQTNOTIFICATION_H
- #define LXQTNOTIFICATION_H
- 
-+#include <QObject>
- #include <QStringList>
- #include "lxqtglobals.h"
- 
diff --git a/gnu/packages/patches/tophat-build-with-later-seqan.patch b/gnu/packages/patches/tophat-build-with-later-seqan.patch
deleted file mode 100644
index fc742e2a7d..0000000000
--- a/gnu/packages/patches/tophat-build-with-later-seqan.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-This patch resolves a build failure when building TopHat 2.1.0 with SeqAn 1.4.
-This is the relevant part of a patch originally posted here:
-https://lists.fu-berlin.de/pipermail/seqan-dev/2014-July/msg00001.html
-
---- a/src/segment_juncs.cpp
-+++ b/src/segment_juncs.cpp
-@@ -2050,10 +2050,13 @@ void juncs_from_ref_segs(RefSequenceTabl
-     typedef map<uint32_t, IntronMotifs> MotifMap;
-     
-     MotifMap ims;
--	
--    seqan::DnaStringReverseComplement rev_donor_dinuc(donor_dinuc);
--    seqan::DnaStringReverseComplement rev_acceptor_dinuc(acceptor_dinuc);
--    
-+
-+    typedef seqan::ModifiedString<
-+                    seqan::ModifiedString<seqan::DnaString const, seqan::ModView<seqan::FunctorComplement<seqan::Dna> > >,  
-+                    seqan::ModReverse>   ConstDnaStringReverseComplement;
-+    ConstDnaStringReverseComplement rev_donor_dinuc(donor_dinuc);
-+    ConstDnaStringReverseComplement rev_acceptor_dinuc(acceptor_dinuc);
-+     
-     if (talkative)
-         fprintf(stderr, "Collecting potential splice sites in islands\n");
- 
diff --git a/gnu/packages/python-crypto.scm b/gnu/packages/python-crypto.scm
index d773b2f948..f407276ac5 100644
--- a/gnu/packages/python-crypto.scm
+++ b/gnu/packages/python-crypto.scm
@@ -850,16 +850,15 @@ in userspace)
 (define-public python-m2crypto
   (package
     (name "python-m2crypto")
-    (version "0.29.0")
+    (version "0.30.1")
     (source
      (origin
        (method url-fetch)
        (uri (pypi-uri "M2Crypto" version))
        (sha256
-        (base32 "1h16gpilrnlzc0iyj1mnd1iqh8wchzjsxjqw9n344glimg2s5zm0"))))
+        (base32 "1iizrpkn4c2n70nvcjqlmnk6fz3vddkrjmwavz1zlsnwv8f7bcm1"))))
     (build-system python-build-system)
     (inputs `(("openssl" ,openssl)))
-    (propagated-inputs `(("python-typing" ,python-typing)))
     (home-page "https://gitlab.com/m2crypto/m2crypto")
     (synopsis "Python crypto and TLS toolkit")
     (description "@code{M2Crypto} is a complete Python wrapper for OpenSSL
@@ -869,10 +868,15 @@ extensions to Python's httplib, urllib, and xmlrpclib; unforgeable HMAC'ing
 AuthCookies for web session management; FTP/TLS client and server; S/MIME;
 M2Crypto can also be used to provide TLS for Twisted.  Smartcards supported
 through the Engine interface.")
+    (properties `((python2-variant . ,(delay python2-m2crypto))))
     (license license:expat)))
 
 (define-public python2-m2crypto
-  (package-with-python2 python-m2crypto))
+  (let ((m2crypto (package-with-python2
+                   (strip-python2-variant python-m2crypto))))
+    (package (inherit m2crypto)
+             (propagated-inputs
+              `(("python2-typing" ,python2-typing))))))
 
 (define-public python-pylibscrypt
   (package
diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm
index 2b6a0647fd..99b214f3bc 100644
--- a/gnu/packages/python.scm
+++ b/gnu/packages/python.scm
@@ -55,6 +55,7 @@
 ;;; Copyright © 2018 Oleg Pykhalov <go.wigust@gmail.com>
 ;;; Copyright © 2018 Clément Lassieur <clement@lassieur.org>
 ;;; Copyright © 2018 Maxim Cournoyer <maxim.cournoyer@gmail.com>
+;;; Copyright © 2018 Luther Thompson <lutheroto@gmail.com>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -5904,14 +5905,14 @@ plugins that intend to support Flake8 2.x and 3.x simultaneously.")
 (define-public python-mistune
   (package
     (name "python-mistune")
-    (version "0.8.3")
+    (version "0.8.4")
     (source
      (origin
        (method url-fetch)
        (uri (pypi-uri "mistune" version))
        (sha256
         (base32
-         "06b662p6kf46wh2jsabaqhaq4bz1srh2zxkrnx4yg96azlxw645w"))))
+         "0vkmsh0x480rni51lhyvigfdf06b9247z868pk3bal1wnnfl58sr"))))
     (build-system python-build-system)
     (native-inputs
      `(("python-nose" ,python-nose)
@@ -5928,25 +5929,19 @@ Python.")
 (define-public python-markdown
   (package
     (name "python-markdown")
-    (version "2.6.11")
+    (version "3.0.1")
     (source
      (origin
        (method url-fetch)
        (uri (pypi-uri "Markdown" version))
        (sha256
         (base32
-         "108g80ryzykh8bj0i7jfp71510wrcixdi771lf2asyghgyf8cmm8"))))
+         "0z6v8649sr434d5r5zmrhydka7v7f9yas4bwcgkcs0650jdhybnh"))))
     (build-system python-build-system)
-    (arguments
-     `(#:phases
-       (modify-phases %standard-phases
-         (replace 'check
-                  (lambda _
-                    (zero? (system* "python" "run-tests.py")))))))
     (native-inputs
      `(("python-nose" ,python-nose)
        ("python-pyyaml" ,python-pyyaml)))
-    (home-page "https://pythonhosted.org/Markdown/")
+    (home-page "https://python-markdown.github.io/")
     (synopsis "Python implementation of Markdown")
     (description
      "This package provides a Python implementation of John Gruber's
@@ -9462,13 +9457,13 @@ docstring and colored output.")
 (define-public python-lazy-object-proxy
   (package
     (name "python-lazy-object-proxy")
-    (version "1.2.2")
+    (version "1.3.1")
     (source (origin
               (method url-fetch)
               (uri (pypi-uri "lazy-object-proxy" version))
               (sha256
                (base32
-                "0s22aqqkdscyh8sjspyyax7qa1aiz8p4midrnyf39717fhfczm6x"))))
+                "0yha7q9bhw857fwaby785d63mffhngl9npwzlk9i0pwlkwvbx4gb"))))
     (build-system python-build-system)
     (home-page "https://github.com/ionelmc/python-lazy-object-proxy")
     (synopsis "Lazy object proxy for python")
@@ -9950,13 +9945,13 @@ reasoning, wrappers for natural language processing libraries.")
 (define-public python-pymongo
   (package
     (name "python-pymongo")
-    (version "3.3.0")
+    (version "3.7.2")
     (source (origin
               (method url-fetch)
               (uri (pypi-uri "pymongo" version))
               (sha256
                (base32
-                "07mra6w86wjqy4lx5fvimidjhhfzd562gfjn8grsnbv2q8pk0i9x"))))
+                "0zis4707r9hdg5qgkhp3wss9camr9h56ixyfc8n9dxwlnnly4x4c"))))
     (build-system python-build-system)
     (propagated-inputs
      `(("python-certifi" ,python-certifi)))
@@ -11849,14 +11844,14 @@ Supported metrics are:
 (define-public python-sure
   (package
     (name "python-sure")
-    (version "1.4.6")
+    (version "1.4.11")
     (source
      (origin
        (method url-fetch)
        (uri (pypi-uri "sure" version))
        (sha256
         (base32
-         "1iyqsy2d6radi88g1qf0lziy5b39h5cpb3g5jiqyb4xi46ig3x1z"))))
+         "1and0drq8w9iplsic22n2h7hkpyq03a1mbqk4sgcdqhqzdqm539w"))))
     (build-system python-build-system)
     (propagated-inputs
      `(("python-mock" ,python-mock)
@@ -14429,3 +14424,28 @@ extend common interfaces like NumPy, Pandas, or Python iterators to
 larger-than-memory or distributed environments.  These parallel collections
 run on top of the dynamic task schedulers. ")
     (license license:bsd-3)))
+
+(define-public python-ilinkedlist
+  (package
+    (name "python-ilinkedlist")
+    (version "0.1.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (pypi-uri "ilinkedlist" version))
+       (sha256
+        (base32
+         "063c2gm4jkgkv0nsg7mrc8y0w82ms98l4xchmbrvr68cscglhk69"))))
+    (build-system python-build-system)
+    (native-inputs `(("python-pytest" ,python-pytest)))
+    (inputs `(("python" ,python)))
+    (home-page "https://github.com/luther9/ilinkedlist-py")
+    (synopsis "Immutable linked list library")
+    (description
+     "This is a implementation of immutable linked lists for Python.  It
+contains @code{nil} (the empty linked list) and a @code{Pair} class for nodes.
+Since a linked list is treated as immutable, it is hashable, and its length
+can be retrieved in constant time.  Some of the terminology is inspired by
+LISP.  It is possible to create an improper list by creating a @code{Pair}
+with a non-list @code{cdr}.")
+    (license license:gpl3+)))
diff --git a/gnu/packages/samba.scm b/gnu/packages/samba.scm
index 65d41a2b67..470643ec4f 100644
--- a/gnu/packages/samba.scm
+++ b/gnu/packages/samba.scm
@@ -150,14 +150,14 @@ anywhere.")
 (define-public samba
   (package
     (name "samba")
-    (version "4.8.5")
+    (version "4.8.6")
     (source (origin
              (method url-fetch)
              (uri (string-append "https://download.samba.org/pub/samba/stable/"
                                  "samba-" version ".tar.gz"))
              (sha256
               (base32
-               "0mailvhjsma19k6b6zjl02z9n2hbbyfybvicjfw2hh9d4sqyd3p5"))))
+               "15hawqdm37l6lp9k14c634315p77cllsx89bvbw9h38fg1hj3fbk"))))
     (build-system gnu-build-system)
     (arguments
      `(#:phases
diff --git a/gnu/packages/ssh.scm b/gnu/packages/ssh.scm
index 816324b279..3d95b2e849 100644
--- a/gnu/packages/ssh.scm
+++ b/gnu/packages/ssh.scm
@@ -134,14 +134,14 @@ a server that supports the SSH-2 protocol.")
 (define-public openssh
   (package
    (name "openssh")
-   (version "7.8p1")
+   (version "7.9p1")
    (source (origin
              (method url-fetch)
              (uri (string-append "mirror://openbsd/OpenSSH/portable/"
                                  name "-" version ".tar.gz"))
              (sha256
               (base32
-               "1jj4f586r9lhakp2w0zv7j616d6x62m15q8l4nxq7haja6qlnj0s"))))
+               "1b8sy6v0b8v4ggmknwcqx3y1rjcpsll0f1f8f4vyv11x4ni3njvb"))))
    (build-system gnu-build-system)
    (native-inputs `(("groff" ,groff)))
    (inputs `(("openssl" ,openssl)
diff --git a/gnu/packages/tex.scm b/gnu/packages/tex.scm
index 294d334423..cbe601ea9d 100644
--- a/gnu/packages/tex.scm
+++ b/gnu/packages/tex.scm
@@ -2288,6 +2288,44 @@ space-stripped macros.")
 to something that's not a float.")
     (license license:lppl)))
 
+(define-public texlive-latex-doi
+  (package
+    (name "texlive-latex-doi")
+    (version (number->string %texlive-revision))
+    (source (origin
+              (method svn-fetch)
+              (uri (svn-reference
+                    (url (string-append "svn://www.tug.org/texlive/tags/"
+                                        %texlive-tag "/Master/texmf-dist/"
+                                        "/tex/latex/doi"))
+                    (revision %texlive-revision)))
+              (file-name (string-append name "-" version "-checkout"))
+              (sha256
+               (base32
+                "0378rdmrgr2lzbfi4qqy4dfpj5im20diyd8z8b9m4mlg05r7wgnb"))))
+    (build-system trivial-build-system)
+    (arguments
+     `(#:modules ((guix build utils))
+       #:builder
+       (begin
+         (use-modules (guix build utils))
+         (let ((target (string-append (assoc-ref %outputs "out")
+                                      "/share/texmf-dist/tex/latex/doi")))
+           (mkdir-p target)
+           (copy-recursively (assoc-ref %build-inputs "source") target)
+           #t))))
+    (home-page "https://www.ctan.org/pkg/doi")
+    (synopsis "Create correct hyperlinks for DOI numbers")
+    (description
+     "You can hyperlink DOI numbers to doi.org.  However, some publishers have
+elected to use nasty characters in their DOI numbering scheme (@code{<},
+@code{>}, @code{_} and @code{;} have all been spotted).  This will either
+upset LaTeX, or your PDF reader.  This package contains a single user-level
+command @code{\\doi{}}, which takes a DOI number, and creates a correct
+hyperlink to the target of the DOI.")
+    ;; Any version of the LPPL.
+    (license license:lppl1.3+)))
+
 (define-public texlive-latex-etoolbox
   (package
     (name "texlive-latex-etoolbox")
@@ -4751,3 +4789,154 @@ Since every package has its own version number, the version number quoted only
 refers to the version of scrbook, scrreprt, scrartcl, scrlttr2 and
 typearea (which are the main parts of the bundle).")
     (license license:lppl1.3+)))
+
+(define-public texlive-generic-listofitems
+  (package
+    (name "texlive-generic-listofitems")
+    (version (number->string %texlive-revision))
+    (source (origin
+              (method svn-fetch)
+              (uri (svn-reference
+                    (url (string-append "svn://www.tug.org/texlive/tags/"
+                                        %texlive-tag "/Master/texmf-dist/"
+                                        "/tex/generic/listofitems"))
+                    (revision %texlive-revision)))
+              (file-name (string-append name "-" version "-checkout"))
+              (sha256
+               (base32
+                "1k50z6ixgwwzy84mi0dr5vcjah5p7wvgq66y45bilm91a4m8sgla"))))
+    (build-system trivial-build-system)
+    (arguments
+     `(#:modules ((guix build utils))
+       #:builder
+       (begin
+         (use-modules (guix build utils))
+         (let ((target (string-append (assoc-ref %outputs "out")
+                                      "/share/texmf-dist/tex/generic/listofitems")))
+           (mkdir-p target)
+           (copy-recursively (assoc-ref %build-inputs "source") target)
+           #t))))
+    (home-page "https://www.ctan.org/pkg/listofitems")
+    (synopsis "Grab items in lists using user-specified seperation character")
+    (description
+     "This package allows one to capture all the items of a list, for which
+the parsing character has been selected by the user, and to access any of
+these items with a simple syntax.")
+    (license license:lppl1.3c+)))
+
+(define-public texlive-latex-readarray
+  (package
+    (name "texlive-latex-readarray")
+    (version (number->string %texlive-revision))
+    (source (origin
+              (method svn-fetch)
+              (uri (svn-reference
+                    (url (string-append "svn://www.tug.org/texlive/tags/"
+                                        %texlive-tag "/Master/texmf-dist/"
+                                        "/tex/latex/readarray"))
+                    (revision %texlive-revision)))
+              (file-name (string-append name "-" version "-checkout"))
+              (sha256
+               (base32
+                "0c53k180ivn1n7fz3ngvd2w1i5dw3kxml0n64vhki88xsylz7lxp"))))
+    (build-system trivial-build-system)
+    (arguments
+     `(#:modules ((guix build utils))
+       #:builder
+       (begin
+         (use-modules (guix build utils))
+         (let ((target (string-append (assoc-ref %outputs "out")
+                                      "/share/texmf-dist/tex/latex/readarray")))
+           (mkdir-p target)
+           (copy-recursively (assoc-ref %build-inputs "source") target)
+           #t))))
+    (propagated-inputs
+     `(("texlive-generic-listofitems" ,texlive-generic-listofitems)))
+    (home-page "https://www.ctan.org/pkg/readarray")
+    (synopsis "Read, store and recall array-formatted data")
+    (description
+     "This package allows the user to input formatted data into elements of a
+2-D or 3-D array and to recall that data at will by individual cell number.
+The data can be but need not be numerical in nature.  It can be, for example,
+formatted text.")
+    (license license:lppl1.3)))
+
+(define-public texlive-latex-verbatimbox
+  (package
+    (name "texlive-latex-verbatimbox")
+    (version (number->string %texlive-revision))
+    (source (origin
+              (method svn-fetch)
+              (uri (svn-reference
+                    (url (string-append "svn://www.tug.org/texlive/tags/"
+                                        %texlive-tag "/Master/texmf-dist/"
+                                        "/tex/latex/verbatimbox"))
+                    (revision %texlive-revision)))
+              (file-name (string-append name "-" version "-checkout"))
+              (sha256
+               (base32
+                "0qh1cgvfs463zsi2pjg490gj0mkjfdpfc381j10cbb5la304psna"))))
+    (build-system trivial-build-system)
+    (arguments
+     `(#:modules ((guix build utils))
+       #:builder
+       (begin
+         (use-modules (guix build utils))
+         (let ((target (string-append (assoc-ref %outputs "out")
+                                      "/share/texmf-dist/tex/latex/verbatimbox")))
+           (mkdir-p target)
+           (copy-recursively (assoc-ref %build-inputs "source") target)
+           #t))))
+    (propagated-inputs
+     `(("texlive-latex-readarray" ,texlive-latex-readarray)))
+    (home-page "https://www.ctan.org/pkg/verbatimbox")
+    (synopsis "Deposit verbatim text in a box")
+    (description
+     "The package provides a @code{verbbox} environment to place its contents
+into a globally available box, or into a box specified by the user.  The
+global box may then be used in a variety of situations (for example, providing
+a replica of the @code{boxedverbatim} environment itself).  A valuable use is
+in places where the standard @code{verbatim} environment (which is based on a
+@code{trivlist}) may not appear.")
+    (license license:lppl1.3+)))
+
+(define-public texlive-latex-examplep
+  (package
+    (name "texlive-latex-examplep")
+    (version (number->string %texlive-revision))
+    (source (origin
+              (method svn-fetch)
+              (uri (svn-reference
+                    (url (string-append "svn://www.tug.org/texlive/tags/"
+                                        %texlive-tag "/Master/texmf-dist/"
+                                        "/tex/latex/examplep"))
+                    (revision %texlive-revision)))
+              (file-name (string-append name "-" version "-checkout"))
+              (sha256
+               (base32
+                "0fsvvmz68ij0zwfzrny6x13d92grxr4ap59lxgah4smbkccd6s27"))))
+    (build-system trivial-build-system)
+    (arguments
+     `(#:modules ((guix build utils))
+       #:builder
+       (begin
+         (use-modules (guix build utils))
+         (let ((target (string-append (assoc-ref %outputs "out")
+                                      "/share/texmf-dist/tex/latex/examplep")))
+           (mkdir-p target)
+           (copy-recursively (assoc-ref %build-inputs "source") target)
+           #t))))
+    (home-page "https://www.ctan.org/pkg/examplep")
+    (synopsis "Verbatim phrases and listings in LaTeX")
+    (description
+     "Examplep provides sophisticated features for typesetting verbatim source
+code listings, including the display of the source code and its compiled LaTeX
+or METAPOST output side-by-side, with automatic width detection and enabled
+page breaks (in the source), without the need for specifying the source twice.
+Special care is taken that section, page and footnote numbers do not interfere
+with the main document.  For typesetting short verbatim phrases, a replacement
+for the @code{\\verb} command is also provided in the package, which can be
+used inside tables and moving arguments such as footnotes and section
+titles.")
+    ;; No version of the GPL is specified.
+    (license license:gpl3+)))
diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm
index a6930abfda..4fcd15e4aa 100644
--- a/gnu/packages/video.scm
+++ b/gnu/packages/video.scm
@@ -2645,7 +2645,7 @@ many codecs and formats supported by libmediainfo.")
 (define-public livemedia-utils
   (package
     (name "livemedia-utils")
-    (version "2017.10.28")
+    (version "2018.10.17")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -2653,7 +2653,7 @@ many codecs and formats supported by libmediainfo.")
                     version ".tar.gz"))
               (sha256
                (base32
-                "0f5kxpayqn3yhabqrd2cqlc74i6x2xr01jfkank1lcilxnfyrsnq"))
+                "1s69ipvdc6ldscp0cr1zpsll8xc3qcagr95nl84x7b1rbg4xjs3w"))
               (modules '((guix build utils)))
               (snippet '(begin
                           ;; As of glibc 2.26, <xlocale.h> no longer is.
diff --git a/gnu/packages/xorg.scm b/gnu/packages/xorg.scm
index 1af8fed5e7..5366c27fec 100644
--- a/gnu/packages/xorg.scm
+++ b/gnu/packages/xorg.scm
@@ -2448,7 +2448,7 @@ including most mice, keyboards, tablets and touchscreens.")
 (define-public xf86-input-libinput
   (package
     (name "xf86-input-libinput")
-    (version "0.28.0")
+    (version "0.28.1")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -2456,7 +2456,7 @@ including most mice, keyboards, tablets and touchscreens.")
                     name "-" version ".tar.bz2"))
               (sha256
                (base32
-                "189h8vl0005yizwrs4d0sng6j8lwkd3xi1zwqg8qavn2bw34v691"))))
+                "12yr0yki94j2416bfhmkz5jpacffm27jkra89fl7h03c0y749nls"))))
     (build-system gnu-build-system)
     (arguments
      '(#:configure-flags
@@ -5065,7 +5065,7 @@ over Xlib, including:
 (define-public xorg-server
   (package
     (name "xorg-server")
-    (version "1.20.1")
+    (version "1.20.2")
     (source
       (origin
         (method url-fetch)
@@ -5074,7 +5074,7 @@ over Xlib, including:
               name "-" version ".tar.bz2"))
         (sha256
          (base32
-          "0679942x1ma2p30vlvqylpjc5v1ak1pgqysnqrj82nz7dzl9zjar"))
+          "1qnf7jdygdgbgjfm5mfr691dl8d56mpssa82mvhm8bzj92yggm8f"))
         (patches
          (list
           ;; See: