summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--gnu/packages/admin.scm4
-rw-r--r--gnu/packages/image.scm18
-rw-r--r--gnu/packages/linux.scm72
-rw-r--r--gnu/packages/package-management.scm21
-rw-r--r--gnu/packages/python.scm68
-rw-r--r--gnu/packages/vpn.scm61
-rw-r--r--gnu/packages/web.scm2
-rw-r--r--gnu/services.scm10
8 files changed, 162 insertions, 94 deletions
diff --git a/gnu/packages/admin.scm b/gnu/packages/admin.scm
index 2079bf9e0f..69c04dc139 100644
--- a/gnu/packages/admin.scm
+++ b/gnu/packages/admin.scm
@@ -1865,14 +1865,14 @@ Kerberos and Heimdal and FAST is supported with recent MIT Kerberos.")
 (define-public sunxi-tools
   (package
     (name "sunxi-tools")
-    (version "1.4.1")
+    (version "1.4.2")
     (source
      (origin
        (method url-fetch)
        (uri (string-append "https://github.com/linux-sunxi/"
                            "sunxi-tools/archive/v" version ".tar.gz"))
        (sha256
-        (base32 "06qd2b4dlzbmzfy4q9n8v5rkkbmgcfdbv4nkkcp4nysi10k7cpfs"))
+        (base32 "08iqwj95qw2s7ilhrdi2lkbc8dx64zk5lzz1qk587jr0lla81x41"))
        (modules '((guix build utils)))
        (snippet
         ;; Remove binaries contained in the tarball which are only for the
diff --git a/gnu/packages/image.scm b/gnu/packages/image.scm
index 9c8a3fcde6..4967f83ed9 100644
--- a/gnu/packages/image.scm
+++ b/gnu/packages/image.scm
@@ -425,7 +425,7 @@ work.")
 (define-public openjpeg
   (package
     (name "openjpeg")
-    (replacement openjpeg/fixed)
+    (replacement openjpeg-2.1.2)
     (version "2.1.1")
     (source
       (origin
@@ -462,16 +462,22 @@ error-resilience, a Java-viewer for j2k-images, ...")
     (home-page "https://github.com/uclouvain/openjpeg")
     (license license:bsd-2)))
 
-(define openjpeg/fixed
+(define openjpeg-2.1.2
   (package
     (inherit openjpeg)
+    (name "openjpeg")
+    (version "2.1.2")
     (source
       (origin
-        (inherit (package-source openjpeg))
+        (method url-fetch)
+        (uri (string-append "https://github.com/uclouvain/openjpeg/archive/v"
+                            version ".tar.gz"))
+        (file-name (string-append name "-" version ".tar.gz"))
+        (sha256
+         (base32
+          "19yz4g0c45sm8y1z01j9djsrl1mkz3pmw7fykc6hkvrqymp7prsc"))
         (patches
-          (append
-            (origin-patches (package-source openjpeg))
-            (search-patches "openjpeg-CVE-2016-9850-CVE-2016-9851.patch")))))))
+          (search-patches "openjpeg-CVE-2016-9850-CVE-2016-9851.patch"))))))
 
 (define-public openjpeg-1
   (package (inherit openjpeg)
diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm
index 8f8bd32e1d..5fc355d12a 100644
--- a/gnu/packages/linux.scm
+++ b/gnu/packages/linux.scm
@@ -327,52 +327,16 @@ It has been modified to remove all non-free binary blobs.")
 (define %intel-compatible-systems '("x86_64-linux" "i686-linux"))
 
 (define-public linux-libre
-  (make-linux-libre "4.8.13"
-                    "1n1bhasqih8acag2glwaqsh76avpinvchvwg6g4q1pfm2vs1499x"
+  (make-linux-libre "4.8.14"
+                    "06rh1j2m4x6kv7prgg2pakw81b7w75dxrl31ch1psf44yqy51q6q"
                     %intel-compatible-systems
-                    #:configuration-file kernel-config
-                    #:patches
-                    (list %boot-logo-patch
-                          (origin
-                            (method url-fetch)
-                            (uri "\
-https://git.kernel.org/cgit/linux/kernel/git/stable/linux-stable-rc.git/patch/?id=9bd018da073c1360c260d2e11e0da9b24911c4a8")
-                            (file-name "linux-libre-4.8-CVE-2016-8655.patch")
-                            (sha256
-                             (base32
-                              "1pq80vnwv01l0rj2g0r7i4rjnx3ll8iq4rpl6w3fmc77agdb3bpq")))
-                          (origin
-                            (method url-fetch)
-                            (uri "\
-https://git.kernel.org/cgit/linux/kernel/git/stable/linux-stable-rc.git/patch/?id=af8a38c78233a3356c626c1fabfc93c66094e6e8")
-                            (file-name "linux-libre-4.8-iovec-fix.patch")
-                            (sha256
-                             (base32
-                              "082a5dpkgsc0mjlzqc03d815xx8gdqk0s4glvi4y1b9vl8c4vmwy"))))))
+                    #:configuration-file kernel-config))
 
 (define-public linux-libre-4.4
-  (make-linux-libre "4.4.37"
-                    "1zw3hwpgxkxwplb81in5969vgbaamcwqarmxj3aq88yg6bqnh6b5"
+  (make-linux-libre "4.4.38"
+                    "038mzv5dj7cj5vywiafniai2f56wh7k2yirv0ac61nvg2v25r2jk"
                     %intel-compatible-systems
-                    #:configuration-file kernel-config
-                    #:patches
-                    (list %boot-logo-patch
-                          (origin
-                            (method url-fetch)
-                            (uri "\
-https://git.kernel.org/cgit/linux/kernel/git/stable/linux-stable-rc.git/patch/?id=668dc0c33815e4f9ec02989785658516d343bc31")
-                            (file-name "linux-libre-4.4-CVE-2016-8655.patch")
-                            (sha256
-                             (base32
-                              "1bzgj36y8v7gflq3dlhmbbvvn9098a4yk4pcpixdz5c5pm7wrdv3")))
-                          (origin
-                            (method url-fetch)
-                            (uri "\
-https://git.kernel.org/cgit/linux/kernel/git/stable/linux-stable-rc.git/patch/?id=82330dbfb463389f2b0214dbcc69b78cc8e6cf8f")
-                            (file-name "linux-libre-4.4-iovec-fix.patch")
-                            (sha256
-                             (base32
-                              "1mqmgiqjm4pf4b3jzknclmdjfaqqr4708gcdgzhn84brrcm5iz30"))))))
+                    #:configuration-file kernel-config))
 
 (define-public linux-libre-4.1
   (make-linux-libre "4.1.36"
@@ -381,33 +345,15 @@ https://git.kernel.org/cgit/linux/kernel/git/stable/linux-stable-rc.git/patch/?i
                     #:configuration-file kernel-config))
 
 ;; Avoid rebuilding kernel variants when there is a minor version bump.
-(define %linux-libre-version "4.8.13")
-(define %linux-libre-hash "1n1bhasqih8acag2glwaqsh76avpinvchvwg6g4q1pfm2vs1499x")
+(define %linux-libre-version "4.8.14")
+(define %linux-libre-hash "06rh1j2m4x6kv7prgg2pakw81b7w75dxrl31ch1psf44yqy51q6q")
 
 (define-public linux-libre-arm-generic
   (make-linux-libre %linux-libre-version
                     %linux-libre-hash
                     '("armhf-linux")
                     #:defconfig "multi_v7_defconfig"
-                    #:extra-version "arm-generic"
-                    #:patches
-                    (list %boot-logo-patch
-                          (origin
-                            (method url-fetch)
-                            (uri "\
-https://git.kernel.org/cgit/linux/kernel/git/stable/linux-stable-rc.git/patch/?id=9bd018da073c1360c260d2e11e0da9b24911c4a8")
-                            (file-name "linux-libre-4.8-CVE-2016-8655.patch")
-                            (sha256
-                             (base32
-                              "1pq80vnwv01l0rj2g0r7i4rjnx3ll8iq4rpl6w3fmc77agdb3bpq")))
-                          (origin
-                            (method url-fetch)
-                            (uri "\
-https://git.kernel.org/cgit/linux/kernel/git/stable/linux-stable-rc.git/patch/?id=af8a38c78233a3356c626c1fabfc93c66094e6e8")
-                            (file-name "linux-libre-4.8-iovec-fix.patch")
-                            (sha256
-                             (base32
-                              "082a5dpkgsc0mjlzqc03d815xx8gdqk0s4glvi4y1b9vl8c4vmwy"))))))
+                    #:extra-version "arm-generic"))
 
 
 ;;;
diff --git a/gnu/packages/package-management.scm b/gnu/packages/package-management.scm
index 099cbb64d8..7083a1664c 100644
--- a/gnu/packages/package-management.scm
+++ b/gnu/packages/package-management.scm
@@ -482,13 +482,13 @@ transactions from C or Python.")
 (define-public diffoscope
   (package
     (name "diffoscope")
-    (version "62")
+    (version "63")
     (source (origin
               (method url-fetch)
               (uri (pypi-uri name version))
               (sha256
                (base32
-                "127b4gsw11hjbha5jpz5i42pc142h52pwzs1p792047y0j1yjg8z"))))
+                "12q5d2nszql1g4jf2ss863v0wpvvhrkaivqzhy6af9m9zwvw0p0k"))))
     (build-system python-build-system)
     (arguments
      `(#:phases (modify-phases %standard-phases
@@ -498,22 +498,7 @@ transactions from C or Python.")
                   (add-after 'unpack 'dependency-on-python-magic
                     (lambda _
                       (substitute* "setup.py"
-                        (("'python-magic',") ""))))
-                  ;; The test suite assumes we have pytest >= 2.9.0.
-                  ;; https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=841146
-                  (add-after 'unpack 'disable-failing-test
-                    (lambda _
-                      (substitute* "tests/comparators/utils.py"
-                        (("skip\\(reason\\=\\\"requires \\{\\}\\\"\\.format\\(tool\\)\\)")
-                          "skipif(True, reason=\"Requires pytest >= 2.9\")"))))
-                  (add-before 'build 'disable-egg-zipping
-                    (lambda _
-                      ;; Leave the .egg file uncompressed.
-                      (let ((port (open-file "setup.cfg" "a")))
-                        (display "\n[easy_install]\nzip_ok = 0\n"
-                                 port)
-                        (close-port port)
-                        #t))))))
+                        (("'python-magic',") "")))))))
     (inputs `(("rpm" ,rpm)                        ;for rpm-python
               ("python-file" ,python-file)
               ("python-debian" ,python-debian)
diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm
index b0e23b5c1d..35ccf7bf6f 100644
--- a/gnu/packages/python.scm
+++ b/gnu/packages/python.scm
@@ -32,6 +32,7 @@
 ;;; Copyright © 2016 Alex Vong <alexvong1995@gmail.com>
 ;;; Copyright © 2016 Arun Isaac <arunisaac@systemreboot.net>
 ;;; Copyright © 2016 Julien Lepiller <julien@lepiller.eu>
+;;; Copyright © 2016 Tobias Geerinckx-Rice <me@tobias.gr>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -4861,7 +4862,8 @@ ISO 8601 dates, time and duration.")
             "1yd068a5c00wd0ajq0hqimv7fd82lhrw0w3s01vbhy9bbd6xapqd"))))
     (build-system python-build-system)
     (propagated-inputs
-      `(("python-six" ,python-six))) ; required to "import html5lib"
+     `(("python-six" ,python-six)
+       ("python-webencodings" ,python-webencodings)))
     (arguments
      `(#:test-target "check"))
     (home-page
@@ -4892,6 +4894,46 @@ and written in Python.")
 (define-public python2-html5lib-0.9
   (package-with-python2 python-html5lib-0.9))
 
+(define-public python-webencodings
+  (package
+    (name "python-webencodings")
+    (version "0.5")
+    (source (origin
+              (method url-fetch)
+              (uri (pypi-uri "webencodings" version))
+              (sha256
+               (base32
+                "015rw7662lkpb9aqiqah2hbizk6w531badqwjpz41rr47glmxid5"))))
+    (build-system python-build-system)
+    (arguments
+     '(#:phases
+       (modify-phases %standard-phases
+         (replace 'check
+           (lambda _
+             (zero? (system* "py.test" "-v" "webencodings/tests.py")))))))
+    (native-inputs
+     `(("python-pytest" ,python-pytest)))
+    (home-page "https://github.com/SimonSapin/python-webencodings")
+    (synopsis "Character encoding aliases for legacy web content")
+    (description
+     "In order to be compatible with legacy web content when interpreting
+something like @code{Content-Type: text/html; charset=latin1}, tools need
+to use a particular set of aliases for encoding labels as well as some
+overriding rules.  For example, @code{US-ASCII} and @code{iso-8859-1} on
+the web are actually aliases for @code{windows-1252}, and an @code{UTF-8}
+or @code{UTF-16} BOM takes precedence over any other encoding declaration.
+The WHATWG @url{https://encoding.spec.whatwg.org/,Encoding} standard
+defines all such details so that implementations do not have to
+reverse-engineer each other.
+
+This module implements the Encoding standard and has encoding labels and
+BOM detection, but the actual implementation for encoders and decoders
+is Python’s.")
+    (license license:bsd-3)))
+
+(define-public python2-webencodings
+  (package-with-python2 python-webencodings))
+
 (define-public python-urwid
   (package
     (name "python-urwid")
@@ -11874,3 +11916,27 @@ specs from your Flask-Restful projects.")
 
 (define-public python2-flask-restful-swagger
   (package-with-python2 python-flask-restful-swagger))
+
+(define-public python-argcomplete
+  (package
+    (name "python-argcomplete")
+    (version "1.7.0")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (pypi-uri "argcomplete" version))
+        (sha256
+          (base32
+            "11bwiw6j0nilgz81xnw6f1npyga3prp8asjqrm87cdr3ria5l03x"))))
+    (build-system python-build-system)
+    (home-page "https://github.com/kislyuk/argcomplete")
+    (synopsis "Shell tab completion for Python argparse")
+    (description "argcomplete provides extensible command line tab completion
+of arguments and options for Python scripts using @code{argparse}.  It's
+particularly useful for programs with many options or sub-parsers that can
+dynamically suggest completions; for example, when browsing resources over the
+network.")
+    (license license:asl2.0)))
+
+(define-public python2-argcomplete
+  (package-with-python2 python-argcomplete))
diff --git a/gnu/packages/vpn.scm b/gnu/packages/vpn.scm
index 6d50304307..a32ac206ac 100644
--- a/gnu/packages/vpn.scm
+++ b/gnu/packages/vpn.scm
@@ -4,6 +4,7 @@
 ;;; Copyright © 2014 Eric Bavier <bavier@member.fsf.org>
 ;;; Copyright © 2015 Jeff Mickey <j@codemac.net>
 ;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il>
+;;; Copyright © 2016 Tobias Geerinckx-Rice <me@tobias.gr>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -25,6 +26,7 @@
   #:use-module (guix packages)
   #:use-module (guix download)
   #:use-module (guix build-system gnu)
+  #:use-module (guix build-system python)
   #:use-module (gnu packages)
   #:use-module (gnu packages compression)
   #:use-module (gnu packages gettext)
@@ -32,6 +34,7 @@
   #:use-module (gnu packages linux)
   #:use-module (gnu packages perl)
   #:use-module (gnu packages pkg-config)
+  #:use-module (gnu packages python)
   #:use-module (gnu packages tls)
   #:use-module (gnu packages xml))
 
@@ -201,3 +204,61 @@ traversing network address translators (NATs) and firewalls.")
      "Tinc is a VPN that uses tunnelling and encryption to create a secure
 private network between hosts on the internet.")
     (license license:gpl2+)))
+
+(define-public sshuttle
+  (package
+    (name "sshuttle")
+    (version "0.78.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (pypi-uri name version))
+       (sha256
+        (base32
+         "0g1dpqigz02vafzh84z5990lnj9d95raknav0xmf0va7rr41d9q3"))))
+    (build-system python-build-system)
+    (native-inputs
+     `(("python-pytest-runner" ,python-pytest-runner)
+       ("python-setuptools-scm" ,python-setuptools-scm)
+       ;; For tests only.
+       ("python-mock" ,python-mock)
+       ("python-pytest" ,python-pytest)))
+    (home-page "https://github.com/sshuttle/sshuttle")
+    (synopsis "VPN that transparently forwards connections over SSH")
+    (description "sshuttle creates an encrypted virtual private network (VPN)
+connection to any remote server to which you have secure shell (SSH) access.
+The only requirement is a suitable version of Python on the server;
+administrative privileges are required only on the client.  Unlike most VPNs,
+sshuttle forwards entire sessions, not packets, using kernel transparent
+proxying.  This makes it faster and more reliable than SSH's own tunneling and
+port forwarding features.  It can forward both TCP and UDP traffic, including
+DNS domain name queries.")
+    (license license:lgpl2.0))) ; incorrectly identified as GPL in ‘setup.py’
+
+(define-public sshoot
+  (package
+    (name "sshoot")
+    (version "1.2.5")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (pypi-uri name version))
+       (sha256
+        (base32
+         "0a92lk8790dpp9j64vb6p4sazax0x3nby01lnfll7mxs1hx6n27q"))))
+    (build-system python-build-system)
+    (inputs
+     `(("python-argcomplete" ,python-argcomplete)
+       ("python-prettytable" ,python-prettytable)
+       ("python-pyyaml" ,python-pyyaml)))
+    ;; For tests only.
+    (native-inputs
+     `(("python-fixtures" ,python-fixtures)
+       ("python-pbr" ,python-pbr)
+       ("python-testtools" ,python-testtools)))
+    (home-page "https://bitbucket.org/ack/sshoot")
+    (synopsis "sshuttle VPN session manager")
+    (description "sshoot provides a command-line interface to manage multiple
+@command{sshuttle} virtual private networks.  It supports flexible profiles
+with configuration options for most of @command{sshuttle}’s features.")
+    (license license:gpl3+)))
diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm
index 3fa70980d7..5454f57dbe 100644
--- a/gnu/packages/web.scm
+++ b/gnu/packages/web.scm
@@ -219,6 +219,8 @@ and as a proxy to reduce the load on back-end HTTP or mail servers.")
        (patches (search-patches "fcgi-2.4.0-poll.patch"
                                 "fcgi-2.4.0-gcc44-fixes.patch"))))
     (build-system gnu-build-system)
+    ;; Parallel building is not supported.
+    (arguments `(#:parallel-build? #f))
     (home-page "http://www.fastcgi.com")
     (synopsis "Language-independent, high-performant extension to CGI")
     (description "FastCGI is a language independent, scalable extension to CGI
diff --git a/gnu/services.scm b/gnu/services.scm
index 693a7f8001..03112f7515 100644
--- a/gnu/services.scm
+++ b/gnu/services.scm
@@ -338,12 +338,14 @@ ACTIVATION-SCRIPT-TYPE."
                       (activate-/bin/sh
                        (string-append #$(canonical-package bash) "/bin/sh"))
 
+                      ;; Set up /run/current-system.  Among other things this
+                      ;; sets up locales, which the activation snippets
+                      ;; executed below may expect.
+                      (activate-current-system)
+
                       ;; Run the services' activation snippets.
                       ;; TODO: Use 'load-compiled'.
-                      (for-each primitive-load '#$actions)
-
-                      ;; Set up /run/current-system.
-                      (activate-current-system))))))
+                      (for-each primitive-load '#$actions))))))
 
 (define (gexps->activation-gexp gexps)
   "Return a gexp that runs the activation script containing GEXPS."