summaryrefslogtreecommitdiff
path: root/gnu/packages
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages')
-rw-r--r--gnu/packages/admin.scm8
-rw-r--r--gnu/packages/android.scm101
-rw-r--r--gnu/packages/animation.scm13
-rw-r--r--gnu/packages/backup.scm7
-rw-r--r--gnu/packages/bioinformatics.scm42
-rw-r--r--gnu/packages/bootloaders.scm6
-rw-r--r--gnu/packages/compression.scm77
-rw-r--r--gnu/packages/cpp.scm59
-rw-r--r--gnu/packages/cross-base.scm9
-rw-r--r--gnu/packages/databases.scm4
-rw-r--r--gnu/packages/dictionaries.scm54
-rw-r--r--gnu/packages/emacs.scm75
-rw-r--r--gnu/packages/fonts.scm280
-rw-r--r--gnu/packages/game-development.scm66
-rw-r--r--gnu/packages/games.scm153
-rw-r--r--gnu/packages/gnome.scm3
-rw-r--r--gnu/packages/gnupg.scm2
-rw-r--r--gnu/packages/golang.scm8
-rw-r--r--gnu/packages/graphics.scm43
-rw-r--r--gnu/packages/gsasl.scm30
-rw-r--r--gnu/packages/image-processing.scm66
-rw-r--r--gnu/packages/image.scm14
-rw-r--r--gnu/packages/imagemagick.scm20
-rw-r--r--gnu/packages/java.scm9
-rw-r--r--gnu/packages/kodi.scm6
-rw-r--r--gnu/packages/linux.scm35
-rw-r--r--gnu/packages/lisp.scm172
-rw-r--r--gnu/packages/mail.scm16
-rw-r--r--gnu/packages/mes.scm10
-rw-r--r--gnu/packages/networking.scm52
-rw-r--r--gnu/packages/openldap.scm10
-rw-r--r--gnu/packages/patches/jasper-CVE-2017-6850.patch284
-rw-r--r--gnu/packages/patches/libgit2-0.25.1-mtime-0.patch14
-rw-r--r--gnu/packages/patches/libssh-hostname-parser-bug.patch31
-rw-r--r--gnu/packages/patches/openldap-CVE-2017-9287.patch37
-rw-r--r--gnu/packages/patches/openscenegraph-ffmpeg3.patch156
-rw-r--r--gnu/packages/patches/qemu-CVE-2017-8112.patch41
-rw-r--r--gnu/packages/patches/qemu-CVE-2017-8309.patch46
-rw-r--r--gnu/packages/patches/qemu-CVE-2017-8379.patch98
-rw-r--r--gnu/packages/patches/qemu-CVE-2017-8380.patch53
-rw-r--r--gnu/packages/python.scm378
-rw-r--r--gnu/packages/qemu.scm6
-rw-r--r--gnu/packages/qt.scm137
-rw-r--r--gnu/packages/regex.scm4
-rw-r--r--gnu/packages/scheme.scm3
-rw-r--r--gnu/packages/shells.scm105
-rw-r--r--gnu/packages/ssh.scm7
-rw-r--r--gnu/packages/terminals.scm11
-rw-r--r--gnu/packages/version-control.scm62
-rw-r--r--gnu/packages/video.scm183
-rw-r--r--gnu/packages/vtk.scm93
-rw-r--r--gnu/packages/wine.scm5
-rw-r--r--gnu/packages/xdisorg.scm34
53 files changed, 2418 insertions, 820 deletions
diff --git a/gnu/packages/admin.scm b/gnu/packages/admin.scm
index e80dc5867d..730fe052cd 100644
--- a/gnu/packages/admin.scm
+++ b/gnu/packages/admin.scm
@@ -802,7 +802,7 @@ system administrator.")
(define-public sudo
(package
(name "sudo")
- (version "1.8.19p1")
+ (version "1.8.20p2")
(source (origin
(method url-fetch)
(uri
@@ -812,7 +812,10 @@ system administrator.")
version ".tar.gz")))
(sha256
(base32
- "14pwdwl03kdbbyjkvxrfx409x3c1fjqz8aqz2wgwddinhz7v3bxq"))))
+ "1na5likm1srnd1g5sjx7b0543sczw0yppacyqsazfdg9b48awhmx"))
+ (modules '((guix build utils)))
+ (snippet
+ '(delete-file-recursively "lib/zlib"))))
(build-system gnu-build-system)
(arguments
`(#:configure-flags
@@ -860,6 +863,7 @@ system administrator.")
(inputs
`(("groff" ,groff)
("linux-pam" ,linux-pam)
+ ("zlib" ,zlib)
("coreutils" ,coreutils)))
(home-page "https://www.sudo.ws/")
(synopsis "Run commands as root")
diff --git a/gnu/packages/android.scm b/gnu/packages/android.scm
index e23d0fd910..be3f50add2 100644
--- a/gnu/packages/android.scm
+++ b/gnu/packages/android.scm
@@ -3,6 +3,7 @@
;;; Copyright © 2015 Kai-Chung Yan <seamlikok@gmail.com>
;;; Copyright © 2016 Marius Bakke <mbakke@fastmail.com>
;;; Copyright © 2017 Julien Lepiller <julien@lepiller.eu>
+;;; Copyright © 2017 Hartmut Goebel <h.goebel@crazy-compilers.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -23,8 +24,13 @@
#:use-module (guix packages)
#:use-module (guix git-download)
#:use-module (guix build-system gnu)
+ #:use-module (guix build-system python)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (gnu packages)
+ #:use-module (gnu packages gnupg)
+ #:use-module (gnu packages python)
+ #:use-module (gnu packages ssh)
+ #:use-module (gnu packages version-control)
#:use-module (gnu packages tls))
;; The Makefiles that we add are largely based on the Debian
@@ -298,3 +304,98 @@ with an emulator instance or connected Android device. It facilitates a variety
of device actions, such as installing and debugging apps, and it provides access
to a Unix shell that can run commands on the connected device or emulator.")
(license license:asl2.0)))
+
+(define-public git-repo
+ (package
+ (name "git-repo")
+ (version "1.12.37")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://gerrit.googlesource.com/git-repo")
+ (commit (string-append "v" version))))
+ (file-name (string-append "git-repo-" version "-checkout"))
+ (sha256
+ (base32 "0qp7jqhblv7xblfgpcq4n18dyjdv8shz7r60c3vnjxx2fngkj2jd"))))
+ (build-system python-build-system)
+ (arguments
+ `(#:python ,python-2 ; code says: "Python 3 support is … experimental."
+ #:phases
+ (modify-phases %standard-phases
+ (add-before 'build 'set-executable-paths
+ (lambda* (#:key inputs outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+ (git (assoc-ref inputs "git"))
+ (gpg (assoc-ref inputs "gnupg"))
+ (ssh (assoc-ref inputs "ssh")))
+ (substitute* '("repo" "git_command.py")
+ (("^GIT = 'git' ")
+ (string-append "GIT = '" git "/bin/git' ")))
+ (substitute* "repo"
+ ((" cmd = \\['gpg',")
+ (string-append " cmd = ['" gpg "/bin/gpg',")))
+ (substitute* "git_config.py"
+ ((" command_base = \\['ssh',")
+ (string-append " command_base = ['" ssh "/bin/ssh',")))
+ #t)))
+ (add-before 'build 'do-not-clone-this-source
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+ (repo-dir (string-append out "/share/" ,name)))
+ (substitute* "repo"
+ (("^def _FindRepo\\(\\):.*")
+ (format #f "
+def _FindRepo():
+ '''Look for a repo installation, starting at the current directory.'''
+ # Use the installed version of git-repo.
+ repo_main = '~a/main.py'
+ curdir = os.getcwd()
+ olddir = None
+ while curdir != '/' and curdir != olddir:
+ dot_repo = os.path.join(curdir, repodir)
+ if os.path.isdir(dot_repo):
+ return (repo_main, dot_repo)
+ else:
+ olddir = curdir
+ curdir = os.path.dirname(curdir)
+ return None, ''
+
+ # The remaining of this function is dead code. It was used to
+ # find a git-checked-out version in the local project.\n" repo-dir))
+ ;; Neither clone, check out, nor verify the git repository
+ (("(^\\s+)_Clone\\(.*\\)") "")
+ (("(^\\s+)_Checkout\\(.*\\)") "")
+ ((" rev = _Verify\\(.*\\)") " rev = None"))
+ #t)))
+ (delete 'build) ; nothing to build
+ (replace 'check
+ (lambda _
+ (zero? (system* "python" "-m" "nose"))))
+ (replace 'install
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+ (bin-dir (string-append out "/bin"))
+ (repo-dir (string-append out "/share/" ,name)))
+ (mkdir-p bin-dir)
+ (mkdir-p repo-dir)
+ (copy-recursively "." repo-dir)
+ (delete-file-recursively (string-append repo-dir "/tests"))
+ (symlink (string-append repo-dir "/repo")
+ (string-append bin-dir "/repo"))
+ #t))))))
+ (inputs
+ ;; TODO: Add git-remote-persistent-https once it is available in guix
+ `(("git" ,git)
+ ("gnupg" ,gnupg)
+ ("ssh", openssh)))
+ (native-inputs
+ `(("nose" ,python2-nose)))
+ (home-page "https://code.google.com/p/git-repo/")
+ (synopsis "Helps to manage many Git repositories.")
+ (description "Repo is a tool built on top of Git. Repo helps manage many
+Git repositories, does the uploads to revision control systems, and automates
+parts of the development workflow. Repo is not meant to replace Git, only to
+make it easier to work with Git. The repo command is an executable Python
+script that you can put anywhere in your path.")
+ (license license:asl2.0)))
diff --git a/gnu/packages/animation.scm b/gnu/packages/animation.scm
index cbbfa6ed4a..3c590950fd 100644
--- a/gnu/packages/animation.scm
+++ b/gnu/packages/animation.scm
@@ -147,8 +147,21 @@ for tweening, preventing the need to hand-draw each frame.")
(patches
(search-patches "synfigstudio-fix-ui-with-gtk3.patch"))))
(build-system gnu-build-system)
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ ;; This fixes the file chooser crash that happens with GTK 3.
+ (add-after 'install 'wrap-program
+ (lambda* (#:key inputs outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+ (gtk (assoc-ref inputs "gtk+"))
+ (gtk-share (string-append gtk "/share")))
+ (wrap-program (string-append out "/bin/synfigstudio")
+ `("XDG_DATA_DIRS" ":" prefix (,gtk-share)))
+ #t))))))
(inputs
`(("gtkmm" ,gtkmm)
+ ("gtk+" ,gtk+)
("libsigc++" ,libsigc++)
("synfig" ,synfig)))
(native-inputs
diff --git a/gnu/packages/backup.scm b/gnu/packages/backup.scm
index 5f0e84beed..035ef8c32c 100644
--- a/gnu/packages/backup.scm
+++ b/gnu/packages/backup.scm
@@ -118,7 +118,7 @@ spying and/or modification by the server.")
(define-public par2cmdline
(package
(name "par2cmdline")
- (version "0.7.0")
+ (version "0.7.1")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/Parchive/par2cmdline/archive/v"
@@ -126,14 +126,13 @@ spying and/or modification by the server.")
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
- "1m9vnv3pg0nds47raq2rd2kfpaad1sc10hv40hll5byksqlbfxyq"))))
+ "0b2m90jmxm37zpvwcmhshdznnh3l5g5ahdx459a9ckgsxy77jkl9"))))
(native-inputs
`(("automake" ,automake)
("autoconf" ,autoconf)))
(build-system gnu-build-system)
(arguments
- `(#:parallel-tests? #f
- #:phases
+ `(#:phases
(modify-phases %standard-phases
(add-after 'unpack 'autoreconf
(lambda _ (zero? (system* "autoreconf" "-vfi")))))))
diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm
index c42e65c2c9..a5c28afc6e 100644
--- a/gnu/packages/bioinformatics.scm
+++ b/gnu/packages/bioinformatics.scm
@@ -2093,7 +2093,7 @@ identify enrichments with functional annotations of the genome.")
(define-public diamond
(package
(name "diamond")
- (version "0.9.2")
+ (version "0.9.3")
(source (origin
(method url-fetch)
(uri (string-append
@@ -2102,7 +2102,7 @@ identify enrichments with functional annotations of the genome.")
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
- "03dam11dmrg6f2zsmdbqwzwkmnq5krlckh1acgarw91gcz2nhbpj"))))
+ "1fs5ilvda50vfdg9wll35w8hcpq3jlkp8q2kim4llkwljkj8bls3"))))
(build-system cmake-build-system)
(arguments
'(#:tests? #f ; no "check" target
@@ -3214,6 +3214,44 @@ data.")
(supported-systems '("x86_64-linux"))
(license license:bsd-3)))
+(define-public kaiju
+ (package
+ (name "kaiju")
+ (version "1.5.0")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append
+ "https://github.com/bioinformatics-centre/kaiju/archive/v"
+ version ".tar.gz"))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "0afbfalfw9y39bkwnqjrh9bghs118ws1pzj5h8l0nblgn3mbjdks"))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:tests? #f ; There are no tests.
+ #:phases
+ (modify-phases %standard-phases
+ (delete 'configure)
+ (add-before 'build 'move-to-src-dir
+ (lambda _ (chdir "src") #t))
+ (replace 'install
+ (lambda* (#:key inputs outputs #:allow-other-keys)
+ (let ((bin (string-append (assoc-ref outputs "out") "/bin")))
+ (mkdir-p bin)
+ (chdir "..")
+ (copy-recursively "bin" bin)
+ (copy-recursively "util" bin))
+ #t)))))
+ (inputs
+ `(("perl" ,perl)))
+ (home-page "http://kaiju.binf.ku.dk/")
+ (synopsis "Fast and sensitive taxonomic classification for metagenomics")
+ (description "Kaiju is a program for sensitive taxonomic classification
+of high-throughput sequencing reads from metagenomic whole genome sequencing
+experiments.")
+ (license license:gpl3+)))
+
(define-public macs
(package
(name "macs")
diff --git a/gnu/packages/bootloaders.scm b/gnu/packages/bootloaders.scm
index 4bea418618..dec462b0cb 100644
--- a/gnu/packages/bootloaders.scm
+++ b/gnu/packages/bootloaders.scm
@@ -91,7 +91,11 @@
;; Make the font visible.
(copy-file (assoc-ref inputs "unifont") "unifont.bdf.gz")
(system* "gunzip" "unifont.bdf.gz")
- #t)))))
+ #t)))
+
+ ;; We suspect there are race conditions when running tests in parallel:
+ ;; <https://bugs.gnu.org/26936>.
+ #:parallel-tests? #f))
(inputs
`(("gettext" ,gettext-minimal)
diff --git a/gnu/packages/compression.scm b/gnu/packages/compression.scm
index 11db2a66f7..3742ff5865 100644
--- a/gnu/packages/compression.scm
+++ b/gnu/packages/compression.scm
@@ -15,6 +15,7 @@
;;; Copyright © 2016 Kei Kebreau <kei@openmailbox.org>
;;; Copyright © 2016 Marius Bakke <mbakke@fastmail.com>
;;; Copyright © 2017 ng0 <contact.ng0@cryptolab.net>
+;;; Copyright © 2017 Manolis Fragkiskos Ragkousis <manolis837@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -37,6 +38,7 @@
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix git-download)
+ #:use-module (guix build-system cmake)
#:use-module (guix build-system gnu)
#:use-module (guix build-system perl)
#:use-module (guix build-system python)
@@ -46,10 +48,13 @@
#:use-module (gnu packages backup)
#:use-module (gnu packages base)
#:use-module (gnu packages check)
+ #:use-module (gnu packages curl)
#: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 valgrind)
+ #:use-module (gnu packages zip)
#:use-module (ice-9 match)
#:use-module ((srfi srfi-1) #:select (last)))
@@ -1159,6 +1164,78 @@ or junctions, and always follows hard links.")
;; expat-licenced (or ‘MIT’) code.
license:expat))))
+(define-public unshield
+ (package
+ (name "unshield")
+ (version "1.4.2")
+ (source
+ (origin (method url-fetch)
+ (uri (string-append "http://github.com/twogood/unshield/archive/"
+ version ".tar.gz"))
+ (sha256
+ (base32
+ "0x7ps644yp5dka2zhb8w0ifqmw3d255jafpzfwv8xbcpgq6fmm2x"))))
+ (build-system cmake-build-system)
+ (inputs
+ `(("zlib" ,zlib)
+ ("openssl" ,openssl)
+ ;; test data that is otherwise downloaded with curl
+ ("unshield-avigomanager11b22.zip"
+ ,(origin
+ (method url-fetch)
+ (uri (string-append "https://www.dropbox.com/s/8r4b6752swe3nhu/\"
+unshield-avigomanager11b22.zip?dl=1"))
+ (sha256
+ (base32 "0fwq7lih04if68wpwpsk5wjqyvh32db76a41sq6gbx4dn1lc3ddn"))
+ (file-name "unshield-avigomanager11b22.zip")))
+ ("unshield-the-feeble-files-spanish.zip"
+ ,(origin
+ (method url-fetch)
+ (uri (string-append "https://www.dropbox.com/s/1ng0z9kfxc7eb1e/\"
+unshield-the-feeble-files-spanish.zip?dl=1"))
+ (sha256
+ (base32 "1k5cw6vnpja8yjlnhx5124xrw9i8s1l539hfdqqrqz3l5gn0bnyd"))
+ (file-name "unshield-the-feeble-files-spanish.zip")))))
+ (native-inputs
+ `(("unzip" ,unzip)))
+ (arguments
+ `(#:out-of-source? #f
+ #:phases
+ (modify-phases %standard-phases
+ (add-before 'check 'pre-check
+ (lambda* (#:key inputs #:allow-other-keys)
+ (for-each (lambda (i)
+ (copy-file (assoc-ref inputs i)
+ (string-append "test/v0/" i)))
+ '("unshield-avigomanager11b22.zip"
+ "unshield-the-feeble-files-spanish.zip"))
+ (substitute* (find-files "test/" "/*\\.sh")
+ ;; Tests expect the unshield binary in a specific
+ ;; location.
+ (("/var/tmp/unshield/bin/unshield")
+ (string-append (getcwd) "/src/unshield"))
+ ;; We no longer need to download the data.
+ ((".?URL=.*$") "")
+ (("curl -(|f)sSL -o test.zip .*") ""))
+ (substitute* "test/v0/avigomanager.sh"
+ (("test.zip")
+ (string-append (getcwd)
+ "/test/v0/unshield-avigomanager11b22.zip")))
+ (substitute* "test/v0/the-feeble-files-spanish.sh"
+ (("test.zip")
+ (string-append (getcwd)
+ "/test/v0/unshield-the-feeble-files-spanish.zip")))
+ #t))
+ (replace 'check
+ (lambda _
+ (zero? (system* "./run-tests.sh")))))))
+ (home-page "https://github.com/twogood/unshield")
+ (synopsis "Extract CAB files from InstallShield installers")
+ (description
+ "@command{unshield} is a tool and library for extracting @file{.cab}
+ archives from InstallShield installers.")
+ (license license:expat)))
+
(define-public unrar
(package
(name "unrar")
diff --git a/gnu/packages/cpp.scm b/gnu/packages/cpp.scm
new file mode 100644
index 0000000000..da192553a5
--- /dev/null
+++ b/gnu/packages/cpp.scm
@@ -0,0 +1,59 @@
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2017 Ethan R. Jones <doubleplusgood23@gmail.com>
+;;;
+;;; This file is part of GNU Guix.
+;;;
+;;; GNU Guix is free software; you can redistribute it and/or modify it
+;;; under the terms of the GNU General Public License as published by
+;;; the Free Software Foundation; either version 3 of the License, or (at
+;;; your option) any later version.
+;;;
+;;; GNU Guix is distributed in the hope that it will be useful, but
+;;; WITHOUT ANY WARRANTY; without even the implied warranty of
+;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+;;; GNU General Public License for more details.
+;;;
+;;; You should have received a copy of the GNU General Public License
+;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
+
+(define-module (gnu packages cpp)
+ #:use-module ((guix licenses) #:prefix license:)
+ #:use-module (guix packages)
+ #:use-module (guix download)
+ #:use-module (guix build-system gnu)
+ #:use-module (gnu packages)
+ #:use-module (gnu packages autotools))
+
+(define-public libzen
+ (package
+ (name "libzen")
+ (version "0.4.35")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "https://mediaarea.net/download/source/"
+ name "/" version "/"
+ name "_" version ".tar.bz2"))
+ (sha256
+ (base32
+ "12a1icgcffgv503ii2k1453kxg5hfly09mf4zjcc80aq8a6rf8by"))))
+ (native-inputs
+ `(("autoconf" ,autoconf)
+ ("automake" ,automake)
+ ("libtool" ,libtool)))
+ (build-system gnu-build-system)
+ (arguments
+ '(#:phases
+ ;; build scripts not in root of archive
+ (modify-phases %standard-phases
+ (add-before 'configure 'pre-configure
+ (lambda _
+ (chdir "Project/GNU/Library")))
+ (add-before 'configure 'autogen
+ (lambda _
+ (zero? (system* "./autogen.sh")))))))
+ (home-page "https://github.com/MediaArea/ZenLib")
+ (synopsis "C++ utility library")
+ (description "ZenLib is a C++ utility library. It includes classes for handling
+strings, configuration, bit streams, threading, translation, and cross-platform
+operating system functions.")
+ (license license:zlib)))
diff --git a/gnu/packages/cross-base.scm b/gnu/packages/cross-base.scm
index d5ca9b8da0..abc3a2821c 100644
--- a/gnu/packages/cross-base.scm
+++ b/gnu/packages/cross-base.scm
@@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2013, 2014, 2015, 2016 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2013, 2014, 2015, 2016, 2017 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2014, 2015 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2016 Jan Nieuwenhuizen <janneke@gnu.org>
;;; Copyright © 2016 Manolis Fragkiskos Ragkousis <manolis837@gmail.com>
@@ -40,10 +40,13 @@
cross-gcc
cross-newlib?))
-(define %xgcc
+(define-syntax %xgcc
;; GCC package used as the basis for cross-compilation. It doesn't have to
;; be 'gcc' and can be a specific variant such as 'gcc-4.8'.
- gcc)
+ ;;
+ ;; Note: This is a macro so that we do not refer to 'gcc' from the top
+ ;; level, which would lead to circular-dependency issues.
+ (identifier-syntax gcc))
(define %gcc-include-paths
;; Environment variables for header search paths.
diff --git a/gnu/packages/databases.scm b/gnu/packages/databases.scm
index 26706b8275..c46e917b89 100644
--- a/gnu/packages/databases.scm
+++ b/gnu/packages/databases.scm
@@ -372,7 +372,7 @@ Language.")
(define-public mariadb
(package
(name "mariadb")
- (version "10.1.23")
+ (version "10.1.24")
(source (origin
(method url-fetch)
(uri (string-append "https://downloads.mariadb.org/f/"
@@ -380,7 +380,7 @@ Language.")
name "-" version ".tar.gz"))
(sha256
(base32
- "1gq08dj9skr0gli1nj7a8wl92w8lmmqy0sbxvkmy79dz4i713n2l"))))
+ "07jm9m7d5x4zdpasdjs98m36dkjl7ypc9jz4xmnczj0ybfp9kpxk"))))
(build-system cmake-build-system)
(arguments
'(#:configure-flags
diff --git a/gnu/packages/dictionaries.scm b/gnu/packages/dictionaries.scm
index 1e766d73bd..df12bf8a32 100644
--- a/gnu/packages/dictionaries.scm
+++ b/gnu/packages/dictionaries.scm
@@ -1,6 +1,6 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2014, 2015, 2016 Ludovic Courtès <ludo@gnu.org>
-;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il>
+;;; Copyright © 2016, 2017 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016 Sou Bunnbu <iyzsong@gmail.com>
;;;
;;; This file is part of GNU Guix.
@@ -25,6 +25,11 @@
#:use-module (guix build-system gnu)
#:use-module (guix build-system trivial)
#:use-module (gnu packages base)
+ #:use-module (gnu packages curl)
+ #:use-module (gnu packages emacs)
+ #:use-module (gnu packages fribidi)
+ #:use-module (gnu packages linux)
+ #:use-module (gnu packages readline)
#:use-module (gnu packages texinfo)
#:use-module (gnu packages compression)
#:use-module (gnu packages tcl))
@@ -200,3 +205,50 @@ work, such as sentence length and other readability measures.")
It comes with a German-English dictionary with approximately 270,000 entries.")
(home-page "http://www-user.tu-chemnitz.de/~fri/ding/")
(license gpl2+)))
+
+(define-public translate-shell
+ (package
+ (name "translate-shell")
+ (version "0.9.6.3")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://github.com/soimort/" name "/archive/v"
+ version ".tar.gz"))
+ (sha256
+ (base32
+ "13rjq9v3ykk5c0i5daybpnqnyg09cbcgjzykx49h2h5hvspixvi5"))
+ (file-name (string-append name "-" version ".tar.gz"))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (delete 'configure) ; no configure phase
+ (add-after 'install 'emacs-install
+ (lambda* (#:key inputs outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+ (dest (string-append out "/share/emacs/site-lisp"))
+ (emacs (string-append (assoc-ref inputs "emacs") "/bin/emacs")))
+ (install-file "google-translate-mode.el" dest)
+ (emacs-generate-autoloads ,name dest)))))
+ #:make-flags (list (string-append "PREFIX=" %output))
+ #:imported-modules (,@%gnu-build-system-modules (guix build emacs-utils))
+ #:modules ((guix build gnu-build-system)
+ (guix build emacs-utils)
+ (guix build utils))
+ #:test-target "test"))
+ (propagated-inputs
+ `(("curl" ,curl)
+ ("fribidi" ,fribidi)
+ ("rlwrap" ,rlwrap)))
+ (native-inputs
+ `(("emacs" ,emacs-minimal)
+ ("util-linux" ,util-linux))) ; hexdump, for the test
+ (home-page "https://www.soimort.org/translate-shell")
+ (synopsis "Translations from the command line")
+ (description
+ "Translate Shell (formerly Google Translate CLI) is a command-line
+translator powered by Google Translate (default), Bing Translator,
+Yandex.Translate and Apertium. It gives you easy access to one of these
+translation engines from your terminal.")
+ (license public-domain)))
diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm
index e840d51255..81a74d1fb5 100644
--- a/gnu/packages/emacs.scm
+++ b/gnu/packages/emacs.scm
@@ -335,28 +335,7 @@ metadata.")
(sha256
(base32
"0pp3n8q6kc70blqsaw0zlzp6bc327dpgdrjr0cnh7hqg1lras7ka"))))
- (build-system trivial-build-system)
- (native-inputs `(("emacs" ,emacs-minimal)))
- (arguments
- `(#:modules ((guix build utils)
- (guix build emacs-utils))
- #:builder
- (begin
- (use-modules (guix build utils))
- (use-modules (guix build emacs-utils))
-
- (let* ((emacs (string-append (assoc-ref %build-inputs "emacs")
- "/bin/emacs"))
- (source (assoc-ref %build-inputs "source"))
- (lisp-dir (string-append %output
- "/share/emacs/site-lisp"))
- (target (string-append lisp-dir "/paredit.el")))
- (mkdir-p lisp-dir)
- (copy-file source target)
- (with-directory-excursion lisp-dir
- (parameterize ((%emacs emacs))
- (emacs-generate-autoloads ,name lisp-dir)
- (emacs-batch-eval '(byte-compile-file "paredit.el"))))))))
+ (build-system emacs-build-system)
(home-page "http://mumble.net/~campbell/emacs/paredit/")
(synopsis "Emacs minor mode for editing parentheses")
(description
@@ -386,31 +365,7 @@ when typing parentheses directly or commenting out code line by line.")
(sha256
(base32
"0xxrmf0jnyljxvllc22qa0v8lgi4k1ldnayjm5hf68m25jsr378l"))))
- (build-system gnu-build-system)
- (arguments
- `(#:modules ((guix build gnu-build-system)
- (guix build emacs-utils)
- (guix build utils))
- #:imported-modules (,@%gnu-build-system-modules
- (guix build emacs-utils))
-
- #:make-flags (list (string-append "PREFIX="
- (assoc-ref %outputs "out"))
- ;; Don't put .el files in a 'git-modes'
- ;; sub-directory.
- (string-append "LISPDIR="
- (assoc-ref %outputs "out")
- "/share/emacs/site-lisp"))
- #:tests? #f ; no check target
- #:phases (modify-phases %standard-phases
- (delete 'configure)
- (add-after 'install 'emacs-autoloads
- (lambda* (#:key outputs #:allow-other-keys)
- (let* ((out (assoc-ref outputs "out"))
- (lisp (string-append
- out "/share/emacs/site-lisp/")))
- (emacs-generate-autoloads ,name lisp)))))))
- (native-inputs `(("emacs" ,emacs-minimal)))
+ (build-system emacs-build-system)
(home-page "https://github.com/magit/git-modes")
(synopsis "Emacs major modes for Git configuration files")
(description
@@ -694,30 +649,7 @@ programs.")
(sha256
(base32
"07312bvvyz86lf64vdkxg2l1wgfjl25ljdjwlf1bdzj01c4hm88x"))))
- (build-system trivial-build-system)
- (arguments
- `(#:modules ((guix build utils)
- (guix build emacs-utils))
-
- #:builder (begin
- (use-modules (guix build emacs-utils)
- (guix build utils))
-
- (let* ((out (assoc-ref %outputs "out"))
- (lispdir (string-append out
- "/share/emacs/site-lisp/"
- "guix.d/let-alist-"
- ,version))
- (emacs (assoc-ref %build-inputs "emacs")))
-
- (mkdir-p lispdir)
- (copy-file (assoc-ref %build-inputs "source")
- (string-append lispdir "/let-alist.el"))
-
- (setenv "PATH" (string-append emacs "/bin"))
- (emacs-byte-compile-directory lispdir)
- #t))))
- (native-inputs `(("emacs" ,emacs-minimal)))
+ (build-system emacs-build-system)
(home-page "https://elpa.gnu.org/packages/let-alist.html")
(synopsis "Easily let-bind values of an assoc-list by their names")
(description
@@ -2084,6 +2016,7 @@ source code using IPython.")
(base32
"07wgcvg038l88gxvjr0gjpjhyk743w22x1rqghz3gkmif0g70say"))))
(build-system emacs-build-system)
+ (arguments '(#:include '("\\.el$" "\\.wsdl$" "\\.info$")))
(propagated-inputs
`(("emacs-async" ,emacs-async)))
(home-page "https://elpa.gnu.org/packages/debbugs.html")
diff --git a/gnu/packages/fonts.scm b/gnu/packages/fonts.scm
index 954c588189..73d76a461f 100644
--- a/gnu/packages/fonts.scm
+++ b/gnu/packages/fonts.scm
@@ -7,7 +7,7 @@
;;; Copyright © 2015 Eric Dvorsak <eric@dvorsak.fr>
;;; Copyright © 2015, 2017 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2015, 2016 Leo Famulari <leo@famulari.name>
-;;; Copyright © 2016, 2017 ng0 <ng0@libertad.pw>
+;;; Copyright © 2016, 2017 ng0 <ng0@no-reply.pragmatique.xyz>
;;; Copyright © 2016 Jookia <166291@gmail.com>
;;; Copyright © 2016 Eric Bavier <bavier@member.fsf.org>
;;; Copyright © 2016 Dmitry Nikolaev <cameltheman@gmail.com>
@@ -107,7 +107,6 @@ TrueType (TTF) files.")
(sha256
(base32
"1mqpds24wfs5cmfhj57fsfs07mji2z8812i5c4pi5pbi738s977s"))))
- (build-system trivial-build-system)
(build-system font-build-system)
(arguments
`(#:phases
@@ -232,34 +231,7 @@ sans-serif designed for on-screen reading. It is used by GNOME@tie{}3.")
(sha256
(base32
"010m4zfqan4w04b6bs9pm3gapn9hsb18bmwwgp2p6y6idj52g43q"))))
- (build-system trivial-build-system)
- (arguments
- `(#:modules ((guix build utils))
- #:builder
- (begin
- (use-modules (guix build utils))
-
- (let ((tar (string-append (assoc-ref %build-inputs "tar")
- "/bin/tar"))
- (PATH (string-append (assoc-ref %build-inputs "gzip")
- "/bin"))
- (font-dir (string-append %output "/share/fonts/truetype"))
- (doc-dir (string-append %output "/share/doc/" ,name)))
- (setenv "PATH" PATH)
- (system* tar "xvf" (assoc-ref %build-inputs "source"))
- (mkdir-p font-dir)
- (mkdir-p doc-dir)
- (chdir (string-append "liberation-fonts-ttf-" ,version))
- (for-each (lambda (ttf)
- (install-file ttf font-dir))
- (find-files "." "\\.ttf$"))
- (for-each (lambda (doc)
- (install-file doc doc-dir))
- '("AUTHORS" "ChangeLog" "LICENSE" "README" "TODO"))))))
- (native-inputs
- `(("source" ,source)
- ("tar" ,tar)
- ("gzip" ,gzip)))
+ (build-system font-build-system)
(home-page "https://pagure.io/liberation-fonts/")
(synopsis
"Fonts compatible with Arial, Times New Roman, and Courier New")
@@ -431,42 +403,14 @@ text in Simplified Chinese, Traditional Chinese, Japanese, and Korean.")
(define-public font-cns11643
(package
(name "font-cns11643")
- (version "98.1.20170405")
+ (version "98.1.20170524")
(source (origin
(method url-fetch)
(uri "http://www.cns11643.gov.tw/AIDB/Open_Data.zip")
(sha256
(base32
- "02kb3bwjrra0k2hlr2p8xswd2y0xs6j8d9vm6yrby734h02a40qf"))))
- (outputs '("out" "tw-kai" "tw-sung"))
- (build-system trivial-build-system)
- (native-inputs
- `(("unzip" ,unzip)))
- (arguments
- `(#:modules ((guix build utils))
- #:builder
- (begin
- (use-modules (guix build utils))
- (let* ((font-dir "/share/fonts/truetype/cns11643")
- (out (string-append
- (assoc-ref %outputs "out") font-dir))
- (tw-kai (string-append
- (assoc-ref %outputs "tw-kai") font-dir))
- (tw-sung (string-append
- (assoc-ref %outputs "tw-sung") font-dir))
- (unzip (string-append
- (assoc-ref %build-inputs "unzip") "/bin/unzip")))
- (system* unzip (assoc-ref %build-inputs "source"))
- (chdir "Open_Data/Fonts/")
- (install-file "TW-Kai-98_1.ttf" tw-kai)
- (install-file "TW-Sung-98_1.ttf" tw-sung)
- (install-file "TW-Kai-98_1.ttf" out)
- (install-file "TW-Kai-Ext-B-98_1.ttf" out)
- (install-file "TW-Kai-Plus-98_1.ttf" out)
- (install-file "TW-Sung-98_1.ttf" out)
- (install-file "TW-Sung-Ext-B-98_1.ttf" out)
- (install-file "TW-Sung-Plus-98_1.ttf" out)
- #t))))
+ "1iad6rklxkx03ji1fav9faq7cmqkci3i6pcyg2ilvh984j5qzhq3"))))
+ (build-system font-build-system)
(home-page "http://www.cns11643.gov.tw/AIDB/welcome.do")
(synopsis "CJK TrueType fonts, TW-Kai and TW-Sung")
(description
@@ -499,19 +443,7 @@ encoded in the user defined area of the Big-5 code.
(sha256
(base32
"1qkljldbmb53zp1rcmpsb8rzy67rnsqcjxi549m9743ifk4isl78"))))
- (build-system trivial-build-system)
- (arguments
- `(#:modules ((guix build utils))
- #:builder
- (begin
- (use-modules (guix build utils))
- (let ((font-dir (string-append %output
- "/share/fonts/truetype/cns11643"))
- (source (assoc-ref %build-inputs "source")))
- (mkdir-p font-dir)
- (copy-file source
- (string-append font-dir "/" "ebas927.ttf"))
- #t))))
+ (build-system font-build-system)
(home-page
(string-append "http://www.cns11643.gov.tw/AIDB/download.do"
"?name=%E5%AD%97%E5%9E%8B%E4%B8%8B%E8%BC%89"))
@@ -1073,26 +1005,8 @@ designed to work well in user interface environments.")
name "-" version ".zip"))
(sha256
(base32
- "1frhmw41lnnm9rda2zs202pvfi5vzlrsw4xfp4mswl0qgws61mcd"))))
- (build-system trivial-build-system)
- (native-inputs
- `(("unzip" ,unzip)))
- (arguments
- `(#:modules ((guix build utils))
- #:builder (begin
- (use-modules (guix build utils))
- (let* ((font-dir (string-append %output
- "/share/fonts/opentype"))
- (source (assoc-ref %build-inputs "source"))
- (src-otf-file (string-append "font-awesome-"
- ,version
- "/fonts/FontAwesome.otf"))
- (dest-otf-file (string-append font-dir "/FontAwesome.otf"))
- (unzip (assoc-ref %build-inputs "unzip")))
- (setenv "PATH" (string-append unzip "/bin"))
- (mkdir-p font-dir)
- (system* "unzip" source "-d" ".")
- (copy-file src-otf-file dest-otf-file)))))
+ "1m1rfwm4sjkv10j3xd2dhwk286a5912b2zgvc692cmxi5gxs68jf"))))
+ (build-system font-build-system)
(home-page "http://fontawesome.io")
(synopsis "Font that contains a rich iconset")
(description
@@ -1166,111 +1080,105 @@ later hand-tweaked with the gbdfed(1) editor:
(define-public font-comic-neue
(package
- (name "font-comic-neue")
- (version "2.3")
- (source (origin
- (method url-fetch)
- (uri (string-append
- "http://www.comicneue.com/comic-neue-" version ".zip"))
- (sha256
- (base32
- "1695hkpd8kqnr2a88p8xs496slgzxjjkzpa9aa33ml3pnh7519zk"))))
- (build-system trivial-build-system)
- (arguments
- `(#:modules ((guix build utils))
- #:builder (begin
- (use-modules (guix build utils))
- (let ((font-dir (string-append %output
- "/share/fonts/truetype"))
- (source (assoc-ref %build-inputs "source"))
- (unzip (string-append (assoc-ref %build-inputs "unzip")
- "/bin/unzip")))
- (mkdir-p font-dir)
- (system* unzip source)
- (with-directory-excursion
- (string-append "Web")
- (for-each (lambda (ttf)
- (install-file ttf font-dir))
- (find-files "." "\\.ttf$")))))))
- (native-inputs `(("unzip" ,unzip)))
- (home-page "http://www.comicneue.com/")
- (synopsis "Font that fixes the shortcomings of Comic Sans")
- (description
- "Comic Neue is a font that attempts to create a respectable casual
+ (name "font-comic-neue")
+ (version "2.3")
+ (source (origin
+ (method url-fetch/zipbomb)
+ (uri (string-append
+ "http://www.comicneue.com/comic-neue-" version ".zip"))
+ (sha256
+ (base32
+ "1695hkpd8kqnr2a88p8xs496slgzxjjkzpa9aa33ml3pnh7519zk"))))
+ (build-system font-build-system)
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ ;; Delete Mac OS X specific files. If not deleted, these cause
+ ;; several hidden files to be installed.
+ (add-before 'install 'delete-macosx-files
+ (lambda _
+ (delete-file-recursively "__MACOSX")
+ #t))
+ (add-after 'install 'install-conf
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let ((conf-dir (string-append (assoc-ref outputs "out")
+ "/share/fontconfig/conf.avail")))
+ (mkdir-p conf-dir)
+ (call-with-output-file
+ (string-append conf-dir "/30-comic-neue.conf")
+ (lambda (port)
+ (format port "<?xml version=\"1.0\"?>
+<!DOCTYPE fontconfig SYSTEM \"fonts.dtd\">
+<fontconfig>
+ <!-- If Comic Sans is missing, use Comic Neue instead. -->
+ <alias>
+ <family>Comic Sans MS</family>
+ <prefer>
+ <family>Comic Neue</family>
+ </prefer>
+ </alias>
+</fontconfig>\n"))))
+ #t)))))
+ (home-page "http://www.comicneue.com/")
+ (synopsis "Font that fixes the shortcomings of Comic Sans")
+ (description
+ "Comic Neue is a font that attempts to create a respectable casual
typeface, by mimicking Comic Sans while fixing its most obvious shortcomings.")
- (license license:silofl1.1)))
+ (license license:silofl1.1)))
(define-public font-iosevka
(package
- (name "font-iosevka")
- (version "1.11.0")
- (source (origin
- (method url-fetch)
- (uri (string-append
- "https://github.com/be5invis/Iosevka/releases/download/v"
- version "/iosevka-pack-" version ".zip"))
- (sha256
- (base32
- "0d8prdk7s5z94sdfd0y92cvqq531yqrlg7hnadbnhd7fs9jqr5hj"))))
- (build-system trivial-build-system)
- (arguments
- `(#:modules ((guix build utils))
- #:builder (begin
- (use-modules (guix build utils))
- (let ((font-dir (string-append %output
- "/share/fonts/truetype"))
- (source (assoc-ref %build-inputs "source"))
- (unzip (string-append (assoc-ref %build-inputs "unzip")
- "/bin/unzip")))
- (mkdir-p font-dir)
- (system* unzip "-d" font-dir source)))))
- (native-inputs `(("unzip" ,unzip)))
- (home-page "https://be5invis.github.io/Iosevka/")
- (synopsis "Coders' typeface, built from code")
- (description
- "Iosevka is a slender monospace sans-serif or slab-serif typeface inspired
+ (name "font-iosevka")
+ (version "1.12.5")
+ (source (origin
+ (method url-fetch/zipbomb)
+ (uri (string-append
+ "https://github.com/be5invis/Iosevka/releases/download/v"
+ version "/iosevka-pack-" version ".zip"))
+ (sha256
+ (base32
+ "0s3g6mk0ngwsrw9h9dqinb50cd9i8zhqdcmmh93fhyf4d87yfwyi"))))
+ (build-system font-build-system)
+ (home-page "https://be5invis.github.io/Iosevka/")
+ (synopsis "Coders' typeface, built from code")
+ (description
+ "Iosevka is a slender monospace sans-serif or slab-serif typeface inspired
by Pragmata Pro, M+, and PF DIN Mono, designed to be the ideal font for
programming. Iosevka is completely generated from its source code.")
- (license (list license:silofl1.1 ; build artifacts (i.e. the fonts)
- license:bsd-3)))) ; supporting code
+ (license (list license:silofl1.1 ; build artifacts (i.e. the fonts)
+ license:bsd-3)))) ; supporting code
(define-public font-go
- (let ((commit "b7f8df6bc082334698d4505fb85fa05e99156b72")
+ (let ((commit "f03a046406d4d7fbfd4ed29f554da8f6114049fc")
(revision "1"))
(package
- (name "font-go")
- (version (string-append "20161115-" revision "." (string-take commit 7)))
- (source (origin
- (file-name (string-append "go-image-" version "-checkout"))
- (method git-fetch)
- (uri (git-reference
- (url "https://go.googlesource.com/image")
- (commit commit)))
- (sha256
- (base32
- "1ywxs6dmcyzwwsmnan3qqza7znprnbvmdi260x6sjmydz6dyq2zs"))))
- (build-system trivial-build-system)
- (arguments
- `(#:modules ((guix build utils))
- #:builder (begin
- (use-modules (guix build utils))
- (let ((font-dir (string-append %output
- "/share/fonts/truetype"))
- (source (assoc-ref %build-inputs "source")))
- (mkdir-p font-dir)
- (with-directory-excursion
- (string-append source "/font/gofont/ttfs")
- (for-each (lambda (ttf)
- (install-file ttf font-dir))
- (find-files "." "\\.ttf$")))))))
- (home-page "https://blog.golang.org/go-fonts")
- (synopsis "The Go font family")
- (description
- "The Go font family is a set of WGL4 TrueType fonts from the Bigelow &
+ (name "font-go")
+ (version (string-append "20170330-" revision "." (string-take commit 7)))
+ (source (origin
+ (file-name (string-append "go-image-" version "-checkout"))
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://go.googlesource.com/image")
+ (commit commit)))
+ (sha256
+ (base32
+ "1aq6mnjayks55gd9ahavk6jfydlq5lm4xm0xk4pd5sqa74p5p74d"))))
+ (build-system font-build-system)
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (add-before 'install 'chdir
+ (lambda _
+ (chdir "font/gofont/ttfs")
+ #t)))))
+ (home-page "https://blog.golang.org/go-fonts")
+ (synopsis "The Go font family")
+ (description
+ "The Go font family is a set of WGL4 TrueType fonts from the Bigelow &
Holmes type foundry, released under the same license as the Go programming
language. It includes a set of proportional, sans-serif fonts, and a set of
monospace, slab-serif fonts.")
- (license (package-license go-1.4)))))
+ (license (package-license go-1.4)))))
(define-public font-google-material-design-icons
(package
diff --git a/gnu/packages/game-development.scm b/gnu/packages/game-development.scm
index b7bcdee94c..6d9e4061d1 100644
--- a/gnu/packages/game-development.scm
+++ b/gnu/packages/game-development.scm
@@ -249,6 +249,47 @@ levels.")
`(("python2-pathlib" ,python2-pathlib)
,@(package-propagated-inputs python2-tmx))))))
+(define-public python-xsge
+ (package
+ (name "python-xsge")
+ (version "2017.04.10")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "mirror://savannah/xsge/xsge-"
+ version ".tar.gz"))
+ (sha256
+ (base32
+ "04il5yx0py6kchxxw6ydbbx0wpiyjf9dgkwsdynirpkczlnid3am"))))
+ (build-system python-build-system)
+ (arguments
+ '(#:phases
+ (modify-phases %standard-phases
+ ;; xSGE's setup.py script does not support one of the Python build
+ ;; system's default flags, "--single-version-externally-managed".
+ (replace 'install
+ (lambda* (#:key outputs #:allow-other-keys)
+ (zero?
+ (system* "python" "setup.py" "install"
+ (string-append "--prefix=" (assoc-ref outputs "out"))
+ "--root=/")))))
+ #:tests? #f)) ; no check target
+ (propagated-inputs
+ `(("python-sge-pygame" ,python-sge-pygame)
+ ("python-pygame" ,python-pygame)
+ ("python-six" ,python-six)
+ ("python-tmx" ,python-tmx)))
+ (home-page "http://xsge.nongnu.org")
+ (synopsis "Extensions for the SGE Game Engine")
+ (description
+ "xSGE is a collection of modules that make doing certain tasks with the SGE
+Game Engine easier. In addition to SGE's conveniences, the user has access to a
+GUI toolkit, lighting and physics frameworks and @code{Tiled} TMX format
+support.")
+ (license license:gpl3+)))
+
+(define-public python2-xsge
+ (package-with-python2 python-xsge))
+
(define-public tiled
(package
(name "tiled")
@@ -442,8 +483,9 @@ programming language.")
(version "4.4.2")
(source (origin
(method url-fetch)
- (uri (string-append "http://download.gna.org/allegro/allegro/"
- version "/allegro-" version ".tar.gz"))
+ (uri (string-append "https://github.com/liballeg/allegro5/"
+ "releases/download/" version "/allegro-"
+ version ".tar.gz"))
(sha256
(base32
"1p0ghkmpc4kwij1z9rzxfv7adnpy4ayi0ifahlns1bdzgmbyf88v"))))
@@ -477,14 +519,18 @@ etc.")
(define-public allegro
(package
(name "allegro")
- (version "5.2.0")
+ (version "5.2.2.0")
(source (origin
(method url-fetch)
- (uri (string-append "http://download.gna.org/allegro/allegro/"
- version "/allegro-" version ".tar.gz"))
+ (uri (string-append "https://github.com/liballeg/allegro5/releases"
+ "/download/" version "/allegro-"
+ (if (equal? "0" (string-take-right version 1))
+ (string-drop-right version 2)
+ version)
+ ".tar.gz"))
(sha256
(base32
- "1mwzgzc4nb5k5zkbq7yrc6hg63yxq3wk69lmjag1h19x8b6njnmg"))))
+ "1z4lrrlmn471wb7vzbd9iw7g379vj0k964vy1s64hcvv5bhvk1g2"))))
(build-system cmake-build-system)
(arguments `(#:tests? #f)) ; there are no tests
(inputs
@@ -520,8 +566,12 @@ etc.")
(version "5.0.11")
(source (origin
(method url-fetch)
- (uri (string-append "http://download.gna.org/allegro/allegro/"
- version "/allegro-" version ".tar.gz"))
+ (uri (string-append "https://github.com/liballeg/allegro5/releases"
+ "/download/" version "/allegro-"
+ (if (equal? "0" (string-take-right version 1))
+ (string-drop-right version 2)
+ version)
+ ".tar.gz"))
(sha256
(base32
"0cd51qrh97jrr0xdmnivqgwljpmizg8pixsgvc4blqqlaz4i9zj9"))))))
diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm
index 60d885500c..9153a2b5cf 100644
--- a/gnu/packages/games.scm
+++ b/gnu/packages/games.scm
@@ -17,7 +17,7 @@
;;; Copyright © 2015 Taylan Ulrich Bayırlı/Kammer <taylanbayirli@gmail.com>
;;; Copyright © 2016, 2017 Rodger Fox <thylakoid@openmailbox.org>
;;; Copyright © 2016 Manolis Fragkiskos Ragkousis <manolis837@gmail.com>
-;;; Copyright © 2016, 2017 ng0 <contact.ng0@cryptolab.net>
+;;; Copyright © 2016, 2017 ng0 <ng0@no-reply.pragmatique.xyz>
;;; Copyright © 2016 Albin Söderqvist <albin@fripost.org>
;;; Copyright © 2016, 2017 Kei Kebreau <kei@openmailbox.org>
;;; Copyright © 2016 Alex Griffin <a@ajgrf.com>
@@ -30,6 +30,7 @@
;;; Copyright © 2017 nee <nee-git@hidamari.blue>
;;; Copyright © 2017 Clément Lassieur <clement@lassieur.org>
;;; Copyright © 2017 Marius Bakke <mbakke@fastmail.com>
+;;; Copyright © 2017 Rutger Helling <rhelling@mykolab.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -66,6 +67,7 @@
#:use-module (gnu packages avahi)
#:use-module (gnu packages boost)
#:use-module (gnu packages documentation)
+ #:use-module (gnu packages docbook)
#:use-module (gnu packages fltk)
#:use-module (gnu packages fribidi)
#:use-module (gnu packages game-development)
@@ -134,6 +136,82 @@
#:use-module (guix build-system cmake)
#:use-module (guix build-system trivial))
+(define-public cataclysm-dda
+ (package
+ (name "cataclysm-dda")
+ (version "0.C")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "https://github.com/CleverRaven/Cataclysm-DDA/"
+ "archive/" version ".tar.gz"))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "1xlajmgl9cviqyjpp5g5q4rbljy9gqc49v54bi8gpzr68s14gsb9"))
+ (modules '((guix build utils)))
+ (snippet
+ ;; Import cmath header for the std::pow function.
+ '(for-each (lambda (file)
+ (substitute* file
+ (("#include <math.h>")
+ "#include <cmath>")))
+ (find-files "src")))))
+ (build-system gnu-build-system)
+ (arguments
+ '(#:make-flags (list (string-append "PREFIX=" (assoc-ref %outputs "out"))
+ "USE_HOME_DIR=1" "DYNAMIC_LINKING=1" "RELEASE=1")
+ #:phases
+ (modify-phases %standard-phases
+ (replace 'configure
+ (lambda _
+ (substitute* "Makefile"
+ (("ncursesw5-config") "ncursesw6-config")
+ (("RELEASE_FLAGS = -Werror") "RELEASE_FLAGS ="))
+ #t))
+ (add-after 'build 'build-tiles
+ (lambda* (#:key make-flags outputs #:allow-other-keys)
+ ;; Change prefix directory and enable tile graphics and sound.
+ (zero?
+ (apply system* "make" "TILES=1" "SOUND=1"
+ (string-append "PREFIX="
+ (assoc-ref outputs "tiles"))
+ (cdr make-flags)))))
+ (add-after 'install 'install-tiles
+ (lambda* (#:key make-flags outputs #:allow-other-keys)
+ (zero?
+ (apply system* "make" "install" "TILES=1" "SOUND=1"
+ (string-append "PREFIX="
+ (assoc-ref outputs "tiles"))
+ (cdr make-flags))))))
+ ;; TODO: Add libtap++ from https://github.com/cbab/libtappp as a native
+ ;; input in order to support tests.
+ #:tests? #f))
+ (outputs '("out"
+ "tiles")) ; For tile graphics and sound support.
+ (native-inputs
+ `(("gettext" ,gettext-minimal)
+ ("pkg-config" ,pkg-config)))
+ (inputs
+ `(("freetype" ,freetype)
+ ("libogg" ,libogg)
+ ("libvorbis" ,libvorbis)
+ ("ncurses" ,ncurses)
+ ("sdl2" ,sdl2)
+ ("sdl2-image", sdl2-image)
+ ("sdl2-ttf" ,sdl2-ttf)
+ ("sdl2-mixer" ,sdl2-mixer)))
+ (home-page "http://en.cataclysmdda.com/")
+ (synopsis "Survival horror roguelike video game")
+ (description
+ "Cataclysm: Dark Days Ahead is a roguelike set in a post-apocalyptic world.
+Struggle to survive in a harsh, persistent, procedurally generated world.
+Scavenge the remnants of a dead civilization for food, equipment, or, if you are
+lucky, a vehicle with a full tank of gas to get you out of Dodge. Fight to
+defeat or escape from a wide variety of powerful monstrosities, from zombies to
+giant insects to killer robots and things far stranger and deadlier, and against
+the others like yourself, that want what you have.")
+ (license license:cc-by-sa3.0)))
+
(define-public freedoom
(package
(name "freedoom")
@@ -1097,7 +1175,7 @@ either by Infocom or created using the Inform compiler.")
(define-public retroarch
(package
(name "retroarch")
- (version "1.5.0")
+ (version "1.6.0")
(source
(origin
(method url-fetch)
@@ -1105,7 +1183,7 @@ either by Infocom or created using the Inform compiler.")
version ".tar.gz"))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
- (base32 "1rbdax3i33myg1v938pxy28117ihff2lml1ky6g70c8099fkirjx"))))
+ (base32 "01h9mswlfjk3zpdxwk1ciy5qkq6xq925gvk6wrh8k066b2wx8f8k"))))
(build-system gnu-build-system)
(arguments
'(#:tests? #f ; no tests
@@ -3403,16 +3481,20 @@ for Un*x systems with X11.")
(define-public freeciv
(package
(name "freeciv")
- (version "2.5.6")
+ (version "2.5.7")
(source
(origin
(method url-fetch)
- (uri (string-append
- "http://download.gna.org/freeciv/"
- "stable/freeciv-" version ".tar.bz2"))
+ (uri (list (string-append
+ "http://files.freeciv.org/stable/freeciv-"
+ version ".tar.bz2")
+ (string-append
+ "mirror://sourceforge/freeciv/Freeciv%20"
+ (version-major+minor version) "/" version
+ "/freeciv-" version ".tar.bz2")))
(sha256
(base32
- "16wrnsx5rmbz6rjs03bhy0vn20i6n6g73lx7fjpai98ixhzc5bfg"))))
+ "1lmydnnqraa947l7gdz6xgm0bgks1ywsivp9h4v8jr3avcv6gqzz"))))
(build-system gnu-build-system)
(inputs
`(("curl" ,curl)
@@ -4272,3 +4354,58 @@ at their peak of economic growth and military prowess.
license:lgpl3
license:mpl2.0
license:zlib))))
+
+;; There have been no official releases.
+(define-public open-adventure
+ (let* ((commit "2483a23690d205f01ecb66165cf4522b541cd991")
+ (revision "1"))
+ (package
+ (name "open-adventure")
+ (version (string-append "2.5-" revision "." (string-take commit 7)))
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://gitlab.com/esr/open-adventure")
+ (commit commit)))
+ (file-name (string-append name "-" version "-checkout"))
+ (sha256
+ (base32
+ "1gkvkwbq5cl3llfc7nl41van8awn4myx782pg33bxpbx5l9scwb4"))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:make-flags (list "CC=gcc")
+ #:parallel-build? #f ; not supported
+ #:phases
+ (modify-phases %standard-phases
+ (delete 'configure)
+ (add-before 'build 'use-echo
+ (lambda _
+ (substitute* "tests/Makefile"
+ (("/bin/echo") (which "echo")))
+ #t))
+ (add-after 'build 'build-manpage
+ (lambda _
+ ;; This target is missing a dependency
+ (substitute* "Makefile"
+ ((".asc.6:" line)
+ (string-append line " advent.txt")))
+ (zero? (system* "make" ".asc.6"))))
+ ;; There is no install target
+ (replace 'install
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+ (bin (string-append out "/bin"))
+ (man (string-append out "/share/man/man6")))
+ (install-file "advent" bin)
+ (install-file "advent.6" man))
+ #t)))))
+ (native-inputs
+ `(("asciidoc" ,asciidoc)))
+ (home-page "https://gitlab.com/esr/open-adventure")
+ (synopsis "Colossal Cave Adventure")
+ (description "The original Colossal Cave Adventure from 1976 was the
+origin of all text adventures, dungeon-crawl (computer) games, and
+computer-hosted roleplaying games. This is the last version released by
+Crowther & Woods, its original authors, in 1995. It has been known as
+\"adventure 2.5\" and \"430-point adventure\".")
+ (license license:bsd-2))))
diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index 59ce2587ee..84ae1cf2f1 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -11,7 +11,7 @@
;;; Copyright © 2015, 2016, 2017 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2015, 2016, 2017 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2015 David Thompson <davet@gnu.org>
-;;; Copyright © 2015, 2016 Efraim Flashner <efraim@flashner.co.il>
+;;; Copyright © 2015, 2016, 2017 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016, 2017 Rene Saavedra <rennes@openmailbox.org>
;;; Copyright © 2016 Jochem Raat <jchmrt@riseup.net>
;;; Copyright © 2016, 2017 Kei Kebreau <kei@openmailbox.org>
@@ -5485,6 +5485,7 @@ documents and diagrams, playing media, scanning, and much more.")
(uri (git-reference
(url "git://git.gnome.org/byzanz")
(commit commit)))
+ (file-name (string-append name "-" version "-checkout"))
(sha256
(base32
"1l60myzxf9cav27v5v3nsijlslz9r7ip6d5kiirfpkf9k0w26hz3"))))
diff --git a/gnu/packages/gnupg.scm b/gnu/packages/gnupg.scm
index 440e7d550f..c2b02789bf 100644
--- a/gnu/packages/gnupg.scm
+++ b/gnu/packages/gnupg.scm
@@ -410,7 +410,7 @@ and every application benefits from this.")
(define-public python-gpg
(package
(name "python-gpg")
- (version (package-version gpgme))
+ (version "1.8.0")
(source (origin
(method url-fetch)
(uri (pypi-uri "gpg" version))
diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm
index 13c5529f9d..70cae6d871 100644
--- a/gnu/packages/golang.scm
+++ b/gnu/packages/golang.scm
@@ -203,7 +203,7 @@ sequential processes (CSP) concurrent programming features added.")
(package
(inherit go-1.4)
(name "go")
- (version "1.8.1")
+ (version "1.8.3")
(source
(origin
(method url-fetch)
@@ -211,7 +211,7 @@ sequential processes (CSP) concurrent programming features added.")
name version ".src.tar.gz"))
(sha256
(base32
- "0mqf8ydxdx1pwmrs8p8wl5y1qrplzxmxzgb6vkghy4l67z0g9nik"))))
+ "19lzv4lqixj3v2gjaff0fdbbmgsq5r8lrfd61z2zvp778wjflpaz"))))
(arguments
(substitute-keyword-arguments (package-arguments go-1.4)
((#:phases phases)
@@ -257,8 +257,8 @@ sequential processes (CSP) concurrent programming features added.")
"\"-Wl,-rpath=" gcclib "\", \"-lgcc_s\", ")))
;; Disable failing tests: these tests attempt to access
- ;; commands or network resources which are neither available or
- ;; necessary for the build to succeed.
+ ;; commands or network resources which are neither available
+ ;; nor necessary for the build to succeed.
(for-each
(match-lambda
((file regex)
diff --git a/gnu/packages/graphics.scm b/gnu/packages/graphics.scm
index cc1497cb8d..90a2909ab2 100644
--- a/gnu/packages/graphics.scm
+++ b/gnu/packages/graphics.scm
@@ -5,6 +5,7 @@
;;; Copyright © 2016, 2017 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016 Andreas Enge <andreas@enge.fr>
+;;; Copyright © 2017 Manolis Fragkiskos Ragkousis <manolis837@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -54,6 +55,7 @@
#:use-module (gnu packages image)
#:use-module (gnu packages jemalloc)
#:use-module (gnu packages photo)
+ #:use-module (gnu packages pth)
#:use-module (gnu packages python)
#:use-module (gnu packages qt)
#:use-module (gnu packages readline)
@@ -318,6 +320,47 @@ visual effects work for film.")
(home-page "http://www.openimageio.org")
(license license:bsd-3)))
+(define-public openscenegraph
+ (package
+ (name "openscenegraph")
+ (version "3.4.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "http://trac.openscenegraph.org/downloads/developer_releases/"
+ "OpenSceneGraph-" version ".zip"))
+ (sha256
+ (base32
+ "03h4wfqqk7rf3mpz0sa99gy715cwpala7964z2npd8jxfn27swjw"))
+ (patches (search-patches "openscenegraph-ffmpeg3.patch"))
+ (file-name (string-append name "-" version ".zip"))))
+ (build-system cmake-build-system)
+ (arguments
+ `(#:tests? #f ;; No test target available.
+ #:configure-flags
+ (list (string-append "-DCMAKE_INSTALL_RPATH="
+ (assoc-ref %outputs "out") "/lib:"
+ (assoc-ref %outputs "out") "/lib64"))))
+ (native-inputs
+ `(("unzip" ,unzip)))
+ (inputs
+ `(("giflib", giflib)
+ ("jasper", jasper)
+ ("librsvg", librsvg)
+ ("pth", pth)
+ ("qtbase", qtbase)
+ ("ffmpeg", ffmpeg)
+ ("mesa", mesa)))
+ (synopsis "High performance real-time graphics toolkit")
+ (description
+ "The OpenSceneGraph is an open source high performance 3D graphics toolkit,
+used by application developers in fields such as visual simulation, games,
+virtual reality, scientific visualization and modelling.")
+ (home-page "http://www.openscenegraph.org")
+ ;; The 'LICENSE' file explains that the source is licensed under
+ ;; LGPL 2.1, but with 4 exceptions. This version is called OSGPL.
+ (license license:lgpl2.1)))
+
(define-public rapicorn
(package
(name "rapicorn")
diff --git a/gnu/packages/gsasl.scm b/gnu/packages/gsasl.scm
index 17b44d9f4f..727d0f0d52 100644
--- a/gnu/packages/gsasl.scm
+++ b/gnu/packages/gsasl.scm
@@ -1,5 +1,6 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2012 Andreas Enge <andreas@enge.fr>
+;;; Copyright © 2017 Ricardo Wurmus <rekado@elephly.net>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -30,20 +31,21 @@
(define-public libntlm
(package
- (name "libntlm")
- (version "1.3")
- (source (origin
- (method url-fetch)
- (uri (string-append "http://www.nongnu.org/libntlm/releases/libntlm-" version
- ".tar.gz"))
- (sha256 (base32
- "101pr110ardcj2di940g6vaqifsaxc44h6hjn81l63dvmkj5a6ga"))))
- (build-system gnu-build-system)
- (synopsis "Library that implements NTLM authentication")
- (description
- "Libntlm is a library that implements NTLM authentication.")
- (license license:lgpl2.1+)
- (home-page "http://www.nongnu.org/libntlm/")))
+ (name "libntlm")
+ (version "1.4")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "http://www.nongnu.org/libntlm/releases/"
+ "libntlm-" version ".tar.gz"))
+ (sha256
+ (base32
+ "129532iiip2cjr5h03bgz184v64v27sfm1r70v3ms4yk65gdf5c4"))))
+ (build-system gnu-build-system)
+ (synopsis "Library that implements NTLM authentication")
+ (description
+ "Libntlm is a library that implements NTLM authentication.")
+ (license license:lgpl2.1+)
+ (home-page "http://www.nongnu.org/libntlm/")))
(define-public gss
(package
diff --git a/gnu/packages/image-processing.scm b/gnu/packages/image-processing.scm
index 1753b926c6..0037fdb26c 100644
--- a/gnu/packages/image-processing.scm
+++ b/gnu/packages/image-processing.scm
@@ -1,6 +1,9 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2017 John Darrington <jmd@gnu.org>
;;; Copyright © 2017 Ricardo Wurmus <rekado@elephly.net>
+;;; Copyright © 2014 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2014 Mark H Weaver <mhw@netris.org>
+;;; Copyright © 2016 Eric Bavier <bavier@member.fsf.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -29,6 +32,8 @@
#:use-module (gnu packages boost)
#:use-module (gnu packages compression)
#:use-module (gnu packages documentation)
+ #:use-module (gnu packages fontutils)
+ #:use-module (gnu packages gl)
#:use-module (gnu packages gnome)
#:use-module (gnu packages graphics)
#:use-module (gnu packages graphviz)
@@ -37,8 +42,10 @@
#:use-module (gnu packages perl)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages python)
+ #:use-module (gnu packages serialization)
+ #:use-module (gnu packages xiph)
#:use-module (gnu packages xml)
- #:use-module (gnu packages vtk))
+ #:use-module (gnu packages xorg))
;; We use the latest snapshot of this package because the latest release is
;; from 2011 and has known vulnerabilities that cannot easily be fixed by
@@ -128,3 +135,60 @@ is built around a plug-in structure that makes it easy to add functionality
without compromising the original code base and it makes use of a wide variety
of external libraries that provide additional functionality.")
(license license:gpl3+)))
+
+(define-public vtk
+ (package
+ (name "vtk")
+ (version "7.1.0")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "http://www.vtk.org/files/release/"
+ (version-major+minor version)
+ "/VTK-" version ".tar.gz"))
+ (sha256
+ (base32
+ "0yj96z58haan77gzilnqp7xpf8hg5jk11a3jx55p2ksd400s0gjz"))))
+ (build-system cmake-build-system)
+ (arguments
+ '(#:build-type "Release" ;Build without '-g' to save space.
+ ;; -DVTK_USE_SYSTEM_NETCDF:BOOL=TRUE requires netcdf_cxx
+ #:configure-flags '("-DVTK_USE_SYSTEM_EXPAT:BOOL=TRUE"
+ "-DVTK_USE_SYSTEM_FREETYPE:BOOL=TRUE"
+ "-DVTK_USE_SYSTEM_HDF5:BOOL=TRUE"
+ "-DVTK_USE_SYSTEM_JPEG:BOOL=TRUE"
+ "-DVTK_USE_SYSTEM_JSONCPP:BOOL=TRUE"
+ "-DVTK_USE_SYSTEM_LIBXML2:BOOL=TRUE"
+ "-DVTK_USE_SYSTEM_OGGTHEORA:BOOL=TRUE"
+ "-DVTK_USE_SYSTEM_PNG:BOOL=TRUE"
+ "-DVTK_USE_SYSTEM_TIFF:BOOL=TRUE"
+ "-DVTK_USE_SYSTEM_ZLIB:BOOL=TRUE")
+ #:tests? #f)) ;XXX: no "test" target
+ (inputs
+ `(("libXt" ,libxt)
+ ("xproto" ,xproto)
+ ("libX11" ,libx11)
+ ("libxml2" ,libxml2)
+ ("mesa" ,mesa)
+ ("glu" ,glu)
+ ("expat" ,expat)
+ ("freetype" ,freetype)
+ ("hdf5" ,hdf5)
+ ("jpeg" ,libjpeg)
+ ("jsoncpp" ,jsoncpp)
+ ("libogg" ,libogg)
+ ("libtheora" ,libtheora)
+ ("png" ,libpng)
+ ("tiff" ,libtiff)
+ ("zlib" ,zlib)))
+ (home-page "http://www.vtk.org/")
+ (synopsis "Libraries for 3D computer graphics")
+ (description
+ "The Visualization Toolkit (VTK) is a C++ library for 3D computer graphics,
+image processing and visualization. It supports a wide variety of
+visualization algorithms including: scalar, vector, tensor, texture, and
+volumetric methods; and advanced modeling techniques such as: implicit
+modeling, polygon reduction, mesh smoothing, cutting, contouring, and Delaunay
+triangulation. VTK has an extensive information visualization framework, has
+a suite of 3D interaction widgets, supports parallel processing, and
+integrates with various databases on GUI toolkits such as Qt and Tk.")
+ (license license:bsd-3)))
diff --git a/gnu/packages/image.scm b/gnu/packages/image.scm
index fe9e457f34..f6337e0fc2 100644
--- a/gnu/packages/image.scm
+++ b/gnu/packages/image.scm
@@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2013 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2013, 2017 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2013, 2015, 2016 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2014, 2015, 2016 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2014, 2015 Alex Kost <alezost@gmail.com>
@@ -391,7 +391,7 @@ collection of tools for doing simple manipulations of TIFF images.")
(source
(origin
(method url-fetch)
- (uri (string-append "http://download.osgeo.org/libtiff/tiff-"
+ (uri (string-append "ftp://download.osgeo.org/libtiff/tiff-"
version ".tar.gz"))
(sha256
(base32
@@ -951,15 +951,15 @@ convert, manipulate, filter and display a wide variety of image formats.")
(define-public jasper
(package
(name "jasper")
- (version "2.0.12")
+ (version "2.0.13")
(source (origin
(method url-fetch)
- (uri (string-append "https://www.ece.uvic.ca/~frodo/jasper"
- "/software/jasper-" version ".tar.gz"))
+ (uri (string-append "https://github.com/mdadams/jasper/archive/"
+ "version-" version ".tar.gz"))
+ (file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
- "1njdbxv7d4anzrd476wjww2qsi96dd8vfnp4hri0srrqxpszl92v"))
- (patches (search-patches "jasper-CVE-2017-6850.patch"))))
+ "090cyqcvqp4y12nc57gvcbrk3ap1rnnixd4qj90sx0pw3fs1615m"))))
(build-system cmake-build-system)
(inputs `(("libjpeg" ,libjpeg)))
(synopsis "JPEG-2000 library")
diff --git a/gnu/packages/imagemagick.scm b/gnu/packages/imagemagick.scm
index bde3ebe402..a0ca4528f9 100644
--- a/gnu/packages/imagemagick.scm
+++ b/gnu/packages/imagemagick.scm
@@ -46,14 +46,14 @@
;; The 7 release series has an incompatible API, while the 6 series is still
;; maintained. Don't update to 7 until we've made sure that the ImageMagick
;; users are ready for the 7-series API.
- (version "6.9.8-6")
+ (version "6.9.8-9")
(source (origin
(method url-fetch)
(uri (string-append "mirror://imagemagick/ImageMagick-"
version ".tar.xz"))
(sha256
(base32
- "1sxg2wx3nrzbymh5wcqiv1x401nrz95xkrqgk3x446vx8lq7ln6w"))))
+ "0wr6wcmvaw62f6pkgnpqnjmp331wfwmds9wmqzr4zv53s9k1lkzn"))))
(build-system gnu-build-system)
(arguments
`(#:configure-flags '("--with-frozenpaths" "--without-gcc-arch")
@@ -163,7 +163,7 @@ script.")
(define-public graphicsmagick
(let ((changeset "6156b4c2992d855ece6079653b3b93c3229fc4b8") ; fix CVE-2017-6335
- (revision "2"))
+ (revision "3"))
(package
(name "graphicsmagick")
(version (string-append "1.3.25-" revision "."
@@ -180,7 +180,19 @@ script.")
;; "/GraphicsMagick-" version ".tar.xz"))
(sha256
(base32
- "08yfsn8mrqkwpax43vv1crfr55rcf004wwpzsinr5c6m0asqr08b"))))
+ "08yfsn8mrqkwpax43vv1crfr55rcf004wwpzsinr5c6m0asqr08b"))
+ (modules '((guix build utils)))
+ (snippet
+ ;; Remove bundled software. This reduces the size of the built
+ ;; source checkout from 177 MiB to 49 MiB. This should not be
+ ;; necessary when using the GraphicsMagick release tarball,
+ ;; because these files are not distributed there.
+ '(for-each delete-file-recursively '("bzlib" "dcraw" "hp2xx"
+ "jbig" "jp2" "jpeg"
+ "lcms" "libxml" "png"
+ "ralcgm" "tiff" "ttf"
+ "webp" "wmf" "xlib"
+ "zlib")))))
(build-system gnu-build-system)
(arguments
`(#:configure-flags
diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm
index b422a1effe..9a129b8d91 100644
--- a/gnu/packages/java.scm
+++ b/gnu/packages/java.scm
@@ -640,11 +640,16 @@ the standard javac executable. The tool runs on JamVM instead of SableVM.")))
(base32
"1v2rww76ww322mpg3s12a1kkc6gkp31bm9gcxs532h0wq285fiw4"))))
(arguments
- `(#:configure-flags
+ `(#:make-flags
+ ;; Ensure that the initial heap size is smaller than the maximum
+ ;; size. By default only Xmx is set, which can lead to invalid
+ ;; memory settings on some machines with a lot of memory.
+ '("JAVAC_MEM_OPT=-J-Xms512M -J-Xmx768M")
+ #:configure-flags
(list (string-append "--with-ecj-jar="
(assoc-ref %build-inputs "ecj-bootstrap")
"/share/java/ecj-bootstrap.jar")
- (string-append "JAVAC="
+ (string-append "--with-javac="
(assoc-ref %build-inputs "ecj-javac-wrapper")
"/bin/javac")
(string-append "JAVA="
diff --git a/gnu/packages/kodi.scm b/gnu/packages/kodi.scm
index cdab7eca03..061d5f1b2e 100644
--- a/gnu/packages/kodi.scm
+++ b/gnu/packages/kodi.scm
@@ -239,8 +239,8 @@ generator library for C++.")
(define-public kodi
;; We package the git version because the current released
;; version was cut while the cmake transition was in turmoil.
- (let ((commit "1a38948ad068870671042bff2d8ac615dca9e5d8")
- (revision "5"))
+ (let ((commit "f22d62dc3f6e811a538dda9c434e1804abb8b95f")
+ (revision "6"))
(package
(name "kodi")
(version (string-append "18.0_alpha-" revision "-" (string-take commit 7)))
@@ -252,7 +252,7 @@ generator library for C++.")
(file-name (string-append name "-" version "-checkout"))
(sha256
(base32
- "1apkiicmxb6ncqhznflb8wc4n770jx89asw1drmch7lq7j9m6sns"))
+ "0x8fqvid8b8qra327z615r2ygfkdca2p7wccdj5nfb4i5gy0sr09"))
(snippet
'(begin
(use-modules (guix build utils))
diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm
index 11deb2fd79..2dadc77ee5 100644
--- a/gnu/packages/linux.scm
+++ b/gnu/packages/linux.scm
@@ -24,6 +24,7 @@
;;; Copyright © 2017 Gábor Boskovits <boskovits@gmail.com>
;;; Copyright © 2017 Mathieu Othacehe <m.othacehe@gmail.com>
;;; Copyright © 2017 Clément Lassieur <clement@lassieur.org>
+;;; Copyright © 2017 Rutger Helling <rhelling@mykolab.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -47,6 +48,7 @@
#:use-module (gnu packages algebra)
#:use-module (gnu packages attr)
#:use-module (gnu packages autotools)
+ #:use-module (gnu packages backup)
#:use-module (gnu packages base)
#:use-module (gnu packages bash)
#:use-module (gnu packages bison)
@@ -377,8 +379,8 @@ It has been modified to remove all non-free binary blobs.")
#:configuration-file kernel-config))
(define-public linux-libre-4.1
- (make-linux-libre "4.1.39"
- "06pb3zpkfkc7pb7yh537vvzn8i9nhqyx58kqxv0wq23b4hhpza7d"
+ (make-linux-libre "4.1.40"
+ "0ygc5qaxwd4yxyzyq6qya9w111q24xqzxd33x73pmg3hr7asvy4x"
%intel-compatible-systems
#:configuration-file kernel-config
#:patches
@@ -1605,6 +1607,31 @@ up: on the server side there's nothing to do; on the client side mounting the
file system is as easy as logging into the server with an SSH client.")
(license license:gpl2+)))
+(define-public archivemount
+ (package
+ (name "archivemount")
+ (version "0.8.7")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "http://www.cybernoia.de/software/archivemount/"
+ "archivemount-" version ".tar.gz"))
+ (sha256
+ (base32
+ "1diiw6pnlnrnikn6l5ld92dx59lhrxjlqms8885vwbynsjl5q127"))))
+ (build-system gnu-build-system)
+ (inputs `(("fuse", fuse)
+ ("libarchive", libarchive)))
+ (native-inputs `(("pkg-config", pkg-config)))
+ (home-page "http://www.cybernoia.de/software/archivemount")
+ (synopsis "Tool for mounting archive files with FUSE")
+ (description "archivemount is a FUSE-based file system for Unix variants,
+including Linux. Its purpose is to mount archives (i.e. tar, tar.gz, etc.) to a
+mount point where it can be read from or written to as with any other file
+system. This makes accessing the contents of the archive, which may be
+compressed, transparent to other programs, without decompressing them.")
+ (license license:lgpl2.0+)))
+
(define-public numactl
(package
(name "numactl")
@@ -3362,14 +3389,14 @@ the default @code{nsswitch} and the experimental @code{umich_ldap}.")
(define-public mcelog
(package
(name "mcelog")
- (version "151")
+ (version "152")
(source (origin
(method url-fetch)
(uri (string-append "https://git.kernel.org/cgit/utils/cpu/mce/"
"mcelog.git/snapshot/v" version ".tar.gz"))
(sha256
(base32
- "1cgfdlz51hv2zbph00ylzm8z94gv8wakx7dva1pa4jcl3hnq0dh5"))
+ "0df1kbiw1pl84l6b9g515lpk5a81hmy8r27yakr4hrmi2vwzdfh6"))
(file-name (string-append name "-" version ".tar.gz"))
(modules '((guix build utils)))
(snippet
diff --git a/gnu/packages/lisp.scm b/gnu/packages/lisp.scm
index 64acc75e59..e92ae2ebfe 100644
--- a/gnu/packages/lisp.scm
+++ b/gnu/packages/lisp.scm
@@ -881,6 +881,16 @@ from other CLXes around the net.")
(define-public ecl-clx
(sbcl-package->ecl-package sbcl-clx))
+(define-public sbcl-cl-ppcre-unicode
+ (package (inherit sbcl-cl-ppcre)
+ (name "sbcl-cl-ppcre-unicode")
+ (arguments
+ `(#:tests? #f ; tests fail with "Component :CL-PPCRE-TEST not found"
+ #:asd-file "cl-ppcre-unicode.asd"))
+ (inputs
+ `(("sbcl-cl-ppcre" ,sbcl-cl-ppcre)
+ ("sbcl-cl-unicode" ,sbcl-cl-unicode)))))
+
(define-public sbcl-stumpwm
(package
(name "sbcl-stumpwm")
@@ -1216,3 +1226,165 @@ multiple inspectors with independent history.")
(delete 'create-asd-file)
(delete 'cleanup)
(delete 'create-symlinks)))))))
+
+(define-public sbcl-parse-js
+ (let ((commit "fbadc6029bec7039602abfc06c73bb52970998f6")
+ (revision "1"))
+ (package
+ (name "sbcl-parse-js")
+ (version (string-append "0.0.0-" revision "." (string-take commit 9)))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "http://marijn.haverbeke.nl/git/parse-js")
+ (commit commit)))
+ (file-name (string-append name "-" commit "-checkout"))
+ (sha256
+ (base32
+ "1wddrnr5kiya5s3gp4cdq6crbfy9fqcz7fr44p81502sj3bvdv39"))))
+ (build-system asdf-build-system/sbcl)
+ (home-page "http://marijnhaverbeke.nl/parse-js/")
+ (synopsis "Parse JavaScript")
+ (description "Parse-js is a Common Lisp package for parsing
+JavaScript (ECMAScript 3). It has basic support for ECMAScript 5.")
+ (license license:zlib))))
+
+(define-public sbcl-parse-number
+ (package
+ (name "sbcl-parse-number")
+ (version "1.5")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://github.com/sharplispers/parse-number/"
+ "archive/v" version ".tar.gz"))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "1k6s4v65ksc1j5i0dprvzfvj213v6nah7i0rgd0726ngfjisj9ir"))))
+ (build-system asdf-build-system/sbcl)
+ (home-page "http://www.cliki.net/PARSE-NUMBER")
+ (synopsis "Parse numbers")
+ (description "@code{parse-number} is a library of functions for parsing
+strings into one of the standard Common Lisp number types without using the
+reader. @code{parse-number} accepts an arbitrary string and attempts to parse
+the string into one of the standard Common Lisp number types, if possible, or
+else @code{parse-number} signals an error of type @code{invalid-number}.")
+ (license license:bsd-3)))
+
+(define-public sbcl-iterate
+ (package
+ (name "sbcl-iterate")
+ ;; The latest official release (1.4.3) fails to build so we have to take
+ ;; the current darcs tarball from quicklisp.
+ (version "20160825")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "http://beta.quicklisp.org/archive/iterate/"
+ "2016-08-25/iterate-"
+ version "-darcs.tgz"))
+ (sha256
+ (base32
+ "0kvz16gnxnkdz0fy1x8y5yr28nfm7i2qpvix7mgwccdpjmsb4pgm"))))
+ (build-system asdf-build-system/sbcl)
+ (home-page "https://common-lisp.net/project/iterate/")
+ (synopsis "Iteration construct for Common Lisp")
+ (description "@code{iterate} is an iteration construct for Common Lisp.
+It is similar to the @code{CL:LOOP} macro, with these distinguishing marks:
+
+@itemize
+@item it is extensible,
+@item it helps editors like Emacs indent iterate forms by having a more
+ lisp-like syntax, and
+@item it isn't part of the ANSI standard for Common Lisp.
+@end itemize\n")
+ (license license:expat)))
+
+(define-public sbcl-cl-uglify-js
+ ;; There have been many bug fixes since the 2010 release.
+ (let ((commit "429c5e1d844e2f96b44db8fccc92d6e8e28afdd5")
+ (revision "1"))
+ (package
+ (name "sbcl-cl-uglify-js")
+ (version (string-append "0.1-" revision "." (string-take commit 9)))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/mishoo/cl-uglify-js.git")
+ (commit commit)))
+ (sha256
+ (base32
+ "0k39y3c93jgxpr7gwz7w0d8yknn1fdnxrjhd03057lvk5w8js27a"))))
+ (build-system asdf-build-system/sbcl)
+ (inputs
+ `(("sbcl-parse-js" ,sbcl-parse-js)
+ ("sbcl-cl-ppcre" ,sbcl-cl-ppcre)
+ ("sbcl-cl-ppcre-unicode" ,sbcl-cl-ppcre-unicode)
+ ("sbcl-parse-number" ,sbcl-parse-number)
+ ("sbcl-iterate" ,sbcl-iterate)))
+ (home-page "https://github.com/mishoo/cl-uglify-js")
+ (synopsis "JavaScript compressor library for Common Lisp")
+ (description "This is a Common Lisp version of UglifyJS, a JavaScript
+compressor. It works on data produced by @code{parse-js} to generate a
+@dfn{minified} version of the code. Currently it can:
+
+@itemize
+@item reduce variable names (usually to single letters)
+@item join consecutive @code{var} statements
+@item resolve simple binary expressions
+@item group most consecutive statements using the ``sequence'' operator (comma)
+@item remove unnecessary blocks
+@item convert @code{IF} expressions in various ways that result in smaller code
+@item remove some unreachable code
+@end itemize\n")
+ (license license:zlib))))
+
+(define-public uglify-js
+ (package
+ (inherit sbcl-cl-uglify-js)
+ (name "uglify-js")
+ (build-system trivial-build-system)
+ (arguments
+ `(#:modules ((guix build utils))
+ #:builder
+ (let* ((bin (string-append (assoc-ref %outputs "out") "/bin/"))
+ (script (string-append bin "uglify-js")))
+ (use-modules (guix build utils))
+ (mkdir-p bin)
+ (with-output-to-file script
+ (lambda _
+ (format #t "#!~a/bin/sbcl --script
+ (require :asdf)
+ (push (truename \"~a/lib/sbcl\") asdf:*central-registry*)"
+ (assoc-ref %build-inputs "sbcl")
+ (assoc-ref %build-inputs "sbcl-cl-uglify-js"))
+ ;; FIXME: cannot use progn here because otherwise it fails to
+ ;; find cl-uglify-js.
+ (for-each
+ write
+ '(;; Quiet, please!
+ (let ((*standard-output* (make-broadcast-stream))
+ (*error-output* (make-broadcast-stream)))
+ (asdf:load-system :cl-uglify-js))
+ (let ((file (cadr *posix-argv*)))
+ (if file
+ (format t "~a"
+ (cl-uglify-js:ast-gen-code
+ (cl-uglify-js:ast-mangle
+ (cl-uglify-js:ast-squeeze
+ (with-open-file (in file)
+ (parse-js:parse-js in))))
+ :beautify nil))
+ (progn
+ (format *error-output*
+ "Please provide a JavaScript file.~%")
+ (sb-ext:exit :code 1))))))))
+ (chmod script #o755)
+ #t)))
+ (inputs
+ `(("sbcl" ,sbcl)
+ ("sbcl-cl-uglify-js" ,sbcl-cl-uglify-js)))
+ (synopsis "JavaScript compressor")))
diff --git a/gnu/packages/mail.scm b/gnu/packages/mail.scm
index a35221cff9..9cb88fdee0 100644
--- a/gnu/packages/mail.scm
+++ b/gnu/packages/mail.scm
@@ -225,14 +225,14 @@ aliasing facilities to work just as they would on normal mail.")
(define-public mutt
(package
(name "mutt")
- (version "1.8.2")
+ (version "1.8.3")
(source (origin
(method url-fetch)
(uri (string-append "https://bitbucket.org/mutt/mutt/downloads/"
"mutt-" version ".tar.gz"))
(sha256
(base32
- "0dgjjryp1ggbc6ivy9cfz5jl3gnbahb6d6hcwn7c7wk5npqpn18x"))
+ "0hpd896mw630sd6ps60hpka8cg691nvr627n8kmabv7zcxnp90cv"))
(patches (search-patches "mutt-store-references.patch"))))
(build-system gnu-build-system)
(inputs
@@ -265,7 +265,7 @@ operating systems.")
(package
(inherit mutt)
(name "neomutt")
- (version "20170428")
+ (version "20170602")
(source
(origin
(method url-fetch)
@@ -273,7 +273,7 @@ operating systems.")
"/archive/" name "-" version ".tar.gz"))
(sha256
(base32
- "01nkq0lyxcs0pk2i3rvzplg8bi1ga7kcm6hfh6r6w2qjzdm0q466"))))
+ "1kzhkz8bdqbdh5b6pzqb6ikp8d3nsic906b5pkmi6qlaga32yxjk"))))
(inputs
`(("cyrus-sasl" ,cyrus-sasl)
("gdbm" ,gdbm)
@@ -672,14 +672,14 @@ invoking @command{notifymuch} from the post-new hook.")
(define-public notmuch
(package
(name "notmuch")
- (version "0.24.1")
+ (version "0.24.2")
(source (origin
(method url-fetch)
(uri (string-append "https://notmuchmail.org/releases/notmuch-"
version ".tar.gz"))
(sha256
(base32
- "18rw0rim6zxhnr2nggial029x4raaxqcgf9klfbdhv89qvi7s4gs"))))
+ "0lfchvapk11qazdgsxj42igp9mpp83zbd0h1jj6r3ifmhikajxma"))))
(build-system gnu-build-system)
(arguments
'(#:make-flags (list "V=1") ; Verbose test output.
@@ -1089,7 +1089,7 @@ facilities for checking incoming mail.")
(define-public dovecot
(package
(name "dovecot")
- (version "2.2.29.1")
+ (version "2.2.30.1")
(source
(origin
(method url-fetch)
@@ -1097,7 +1097,7 @@ facilities for checking incoming mail.")
(version-major+minor version) "/"
name "-" version ".tar.gz"))
(sha256 (base32
- "127kn3fgmahw9fvgz2w3zaghq98ip4j8640wqa3rw7mrgvxrzync"))))
+ "1943n0b9zcwvymslai9qmdmnfy47zdnqjwkql586imycyx4xnjch"))))
(build-system gnu-build-system)
(native-inputs
`(("pkg-config" ,pkg-config)))
diff --git a/gnu/packages/mes.scm b/gnu/packages/mes.scm
index 1e233a852d..e711148c7c 100644
--- a/gnu/packages/mes.scm
+++ b/gnu/packages/mes.scm
@@ -34,14 +34,14 @@
(define-public nyacc
(package
(name "nyacc")
- (version "0.78.3")
+ (version "0.79.4")
(source (origin
(method url-fetch)
(uri (string-append "mirror://savannah/nyacc/"
name "-" version ".tar.gz"))
(sha256
(base32
- "0xrnl2hl9rpl50n8cihvclcd951zj640fj5kpi3d6ihwcqjcdi0a"))))
+ "14rhr9nv1022r7m94agb3299y0k093aq1ps22zgii3aa7cf9h1w4"))))
(build-system gnu-build-system)
(native-inputs
`(("guile" ,guile-2.2)))
@@ -54,10 +54,10 @@ extensive examples, including parsers for the Javascript and C99 languages.")
(license (list gpl3+ lgpl3+))))
(define-public mes
- (let ((commit "d4420bbcc9f994e2cce430cf156f383dc4092bca")
+ (let ((commit "7fdca75d2188b28df806b34ec92627d57aafa9ae")
(revision "0")
(triplet "i686-unknown-linux-gnu")
- (version "0.6"))
+ (version "0.7"))
(package
(name "mes")
(version (string-append version "-" revision "." (string-take commit 7)))
@@ -68,7 +68,7 @@ extensive examples, including parsers for the Javascript and C99 languages.")
(commit commit)))
(file-name (string-append name "-" version))
(sha256
- (base32 "0qqywk3siyhf08v7xac08lqldklrqfndlp495wgy6ii9fn93197k"))))
+ (base32 "0fvzr1ai2rmi46zdi5b2bdjb6s8ip78mkmsk02yxl46rajmp2pb1"))))
(build-system gnu-build-system)
(supported-systems '("i686-linux" "x86_64-linux"))
(propagated-inputs
diff --git a/gnu/packages/networking.scm b/gnu/packages/networking.scm
index 94152226da..1e22b70329 100644
--- a/gnu/packages/networking.scm
+++ b/gnu/packages/networking.scm
@@ -13,6 +13,7 @@
;;; Copyright © 2016 Benz Schenk <benz.schenk@uzh.ch>
;;; Copyright © 2016, 2017 Pjotr Prins <pjotr.guix@thebird.nl>
;;; Copyright © 2017 Mathieu Othacehe <m.othacehe@gmail.com>
+;;; Copyright © 2017 Leo Famulari <leo@famulari.name>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -1184,3 +1185,54 @@ enabled due to license conflicts between the BSD advertising clause and the GPL.
;; others under a 4-clause BSD license. Refer to the files in the source
;; distribution for clarification.
(license (list license:bsd-3 license:bsd-4))))
+
+(define-public spiped
+ (package
+ (name "spiped")
+ (version "1.6.0")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "https://www.tarsnap.com/spiped/spiped-"
+ version ".tgz"))
+ (sha256
+ (base32
+ "1r51rdcl7nib1yv3yvgd5alwlkkwmr387brqavaklb0p2bwzixz6"))))
+ (build-system gnu-build-system)
+ (arguments
+ '(#:test-target "test"
+ #:make-flags (let* ((out (assoc-ref %outputs "out"))
+ (bindir (string-append out "/bin"))
+ (man1dir (string-append out "/share/man/man1")))
+ (list "CC=gcc" ; It tries to invoke `c99`.
+ (string-append "BINDIR=" bindir)
+ (string-append "MAN1DIR=" man1dir)))
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'patch-command-invocations
+ (lambda _
+ (substitute* '("Makefile"
+ "libcperciva/cpusupport/Build/cpusupport.sh"
+ "libcperciva/POSIX/posix-cflags.sh"
+ "libcperciva/POSIX/posix-l.sh")
+ (("command -p") ""))
+ #t))
+ (delete 'configure) ; No ./configure script.
+ (add-after 'install 'install-more-docs
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let* ((out (assoc-ref %outputs "out"))
+ (misc (string-append out "/share/doc/spiped")))
+ (install-file "DESIGN.md" misc)
+ #t))))))
+ (native-inputs
+ `(("procps" ,procps))) ; `ps` is used by the test suite.
+ (inputs
+ `(("openssl" ,openssl)))
+ (home-page "https://www.tarsnap.com/spiped.html")
+ (synopsis "Create secure pipes between sockets")
+ (description "Spiped (pronounced \"ess-pipe-dee\") is a utility for creating
+symmetrically encrypted and authenticated pipes between socket addresses, so
+that one may connect to one address (e.g., a UNIX socket on localhost) and
+transparently have a connection established to another address (e.g., a UNIX
+socket on a different system). This is similar to 'ssh -L' functionality, but
+does not use SSH and requires a pre-shared symmetric key.")
+ (license license:bsd-2)))
diff --git a/gnu/packages/openldap.scm b/gnu/packages/openldap.scm
index 987719492f..24bf603c44 100644
--- a/gnu/packages/openldap.scm
+++ b/gnu/packages/openldap.scm
@@ -31,6 +31,7 @@
#:use-module (gnu packages linux)
#:use-module (gnu packages python)
#:use-module (gnu packages tls)
+ #:use-module (gnu packages)
#:use-module ((guix licenses) #:select (openldap2.8 lgpl2.1+))
#:use-module (guix packages)
#:use-module (guix download)
@@ -39,6 +40,7 @@
(define-public openldap
(package
(name "openldap")
+ (replacement openldap/fixed)
(version "2.4.44")
(source (origin
(method url-fetch)
@@ -79,6 +81,14 @@
(license openldap2.8)
(home-page "http://www.openldap.org/")))
+(define openldap/fixed
+ (package
+ (inherit openldap)
+ (source
+ (origin
+ (inherit (package-source openldap))
+ (patches (search-patches "openldap-CVE-2017-9287.patch"))))))
+
(define-public nss-pam-ldapd
(package
(name "nss-pam-ldapd")
diff --git a/gnu/packages/patches/jasper-CVE-2017-6850.patch b/gnu/packages/patches/jasper-CVE-2017-6850.patch
deleted file mode 100644
index 07672762a1..0000000000
--- a/gnu/packages/patches/jasper-CVE-2017-6850.patch
+++ /dev/null
@@ -1,284 +0,0 @@
-This patch is from upstream and should be fixed included in the next release
-
-From e96fc4fdd525fa0ede28074a7e2b1caf94b58b0d Mon Sep 17 00:00:00 2001
-From: Michael Adams <mdadams@ece.uvic.ca>
-Date: Sat, 4 Mar 2017 14:43:24 -0800
-Subject: [PATCH] Fixed bugs due to uninitialized data in the JP2 decoder.
- Also, added some comments marking I/O stream interfaces that probably need to
- be changed (in the long term) to fix integer overflow problems.
-
----
- src/libjasper/base/jas_stream.c | 18 +++++++++++++++++
- src/libjasper/jp2/jp2_cod.c | 44 ++++++++++++++++++++++++++++-------------
- 2 files changed, 48 insertions(+), 14 deletions(-)
-
-diff --git a/src/libjasper/base/jas_stream.c b/src/libjasper/base/jas_stream.c
-index 327ee57..d70408f 100644
---- a/src/libjasper/base/jas_stream.c
-+++ b/src/libjasper/base/jas_stream.c
-@@ -664,6 +664,7 @@ int jas_stream_ungetc(jas_stream_t *stream, int c)
- return 0;
- }
-
-+/* FIXME integral type */
- int jas_stream_read(jas_stream_t *stream, void *buf, int cnt)
- {
- int n;
-@@ -690,6 +691,7 @@ int jas_stream_read(jas_stream_t *stream, void *buf, int cnt)
- return n;
- }
-
-+/* FIXME integral type */
- int jas_stream_write(jas_stream_t *stream, const void *buf, int cnt)
- {
- int n;
-@@ -742,6 +744,7 @@ int jas_stream_puts(jas_stream_t *stream, const char *s)
- return 0;
- }
-
-+/* FIXME integral type */
- char *jas_stream_gets(jas_stream_t *stream, char *buf, int bufsize)
- {
- int c;
-@@ -765,6 +768,7 @@ char *jas_stream_gets(jas_stream_t *stream, char *buf, int bufsize)
- return buf;
- }
-
-+/* FIXME integral type */
- int jas_stream_gobble(jas_stream_t *stream, int n)
- {
- int m;
-@@ -783,6 +787,7 @@ int jas_stream_gobble(jas_stream_t *stream, int n)
- return n;
- }
-
-+/* FIXME integral type */
- int jas_stream_pad(jas_stream_t *stream, int n, int c)
- {
- int m;
-@@ -885,6 +890,7 @@ long jas_stream_tell(jas_stream_t *stream)
- * Buffer initialization code.
- \******************************************************************************/
-
-+/* FIXME integral type */
- static void jas_stream_initbuf(jas_stream_t *stream, int bufmode, char *buf,
- int bufsize)
- {
-@@ -1060,6 +1066,7 @@ static int jas_strtoopenmode(const char *s)
- return openmode;
- }
-
-+/* FIXME integral type */
- int jas_stream_copy(jas_stream_t *out, jas_stream_t *in, int n)
- {
- int all;
-@@ -1085,6 +1092,7 @@ int jas_stream_copy(jas_stream_t *out, jas_stream_t *in, int n)
- return 0;
- }
-
-+/* FIXME integral type */
- long jas_stream_setrwcount(jas_stream_t *stream, long rwcnt)
- {
- int old;
-@@ -1094,6 +1102,7 @@ long jas_stream_setrwcount(jas_stream_t *stream, long rwcnt)
- return old;
- }
-
-+/* FIXME integral type */
- int jas_stream_display(jas_stream_t *stream, FILE *fp, int n)
- {
- unsigned char buf[16];
-@@ -1168,6 +1177,7 @@ long jas_stream_length(jas_stream_t *stream)
- * Memory stream object.
- \******************************************************************************/
-
-+/* FIXME integral type */
- static int mem_read(jas_stream_obj_t *obj, char *buf, int cnt)
- {
- ssize_t n;
-@@ -1209,6 +1219,7 @@ static int mem_resize(jas_stream_memobj_t *m, size_t bufsize)
- return 0;
- }
-
-+/* FIXME integral type */
- static int mem_write(jas_stream_obj_t *obj, char *buf, int cnt)
- {
- size_t n;
-@@ -1264,6 +1275,7 @@ static int mem_write(jas_stream_obj_t *obj, char *buf, int cnt)
- return ret;
- }
-
-+/* FIXME integral type */
- static long mem_seek(jas_stream_obj_t *obj, long offset, int origin)
- {
- jas_stream_memobj_t *m = (jas_stream_memobj_t *)obj;
-@@ -1310,6 +1322,7 @@ static int mem_close(jas_stream_obj_t *obj)
- * File stream object.
- \******************************************************************************/
-
-+/* FIXME integral type */
- static int file_read(jas_stream_obj_t *obj, char *buf, int cnt)
- {
- jas_stream_fileobj_t *fileobj;
-@@ -1318,6 +1331,7 @@ static int file_read(jas_stream_obj_t *obj, char *buf, int cnt)
- return read(fileobj->fd, buf, cnt);
- }
-
-+/* FIXME integral type */
- static int file_write(jas_stream_obj_t *obj, char *buf, int cnt)
- {
- jas_stream_fileobj_t *fileobj;
-@@ -1326,6 +1340,7 @@ static int file_write(jas_stream_obj_t *obj, char *buf, int cnt)
- return write(fileobj->fd, buf, cnt);
- }
-
-+/* FIXME integral type */
- static long file_seek(jas_stream_obj_t *obj, long offset, int origin)
- {
- jas_stream_fileobj_t *fileobj;
-@@ -1352,6 +1367,7 @@ static int file_close(jas_stream_obj_t *obj)
- * Stdio file stream object.
- \******************************************************************************/
-
-+/* FIXME integral type */
- static int sfile_read(jas_stream_obj_t *obj, char *buf, int cnt)
- {
- FILE *fp;
-@@ -1367,6 +1383,7 @@ static int sfile_read(jas_stream_obj_t *obj, char *buf, int cnt)
- return result;
- }
-
-+/* FIXME integral type */
- static int sfile_write(jas_stream_obj_t *obj, char *buf, int cnt)
- {
- FILE *fp;
-@@ -1377,6 +1394,7 @@ static int sfile_write(jas_stream_obj_t *obj, char *buf, int cnt)
- return (n != JAS_CAST(size_t, cnt)) ? (-1) : cnt;
- }
-
-+/* FIXME integral type */
- static long sfile_seek(jas_stream_obj_t *obj, long offset, int origin)
- {
- FILE *fp;
-diff --git a/src/libjasper/jp2/jp2_cod.c b/src/libjasper/jp2/jp2_cod.c
-index 7f3608a..8d98a2c 100644
---- a/src/libjasper/jp2/jp2_cod.c
-+++ b/src/libjasper/jp2/jp2_cod.c
-@@ -183,15 +183,28 @@ jp2_boxinfo_t jp2_boxinfo_unk = {
- * Box constructor.
- \******************************************************************************/
-
--jp2_box_t *jp2_box_create(int type)
-+jp2_box_t *jp2_box_create0()
- {
- jp2_box_t *box;
-- jp2_boxinfo_t *boxinfo;
--
- if (!(box = jas_malloc(sizeof(jp2_box_t)))) {
- return 0;
- }
- memset(box, 0, sizeof(jp2_box_t));
-+ box->type = 0;
-+ box->len = 0;
-+ // Mark the box data as never having been constructed
-+ // so that we will not errantly attempt to destroy it later.
-+ box->ops = &jp2_boxinfo_unk.ops;
-+ return box;
-+}
-+
-+jp2_box_t *jp2_box_create(int type)
-+{
-+ jp2_box_t *box;
-+ jp2_boxinfo_t *boxinfo;
-+ if (!(box = jp2_box_create0())) {
-+ return 0;
-+ }
- box->type = type;
- box->len = 0;
- if (!(boxinfo = jp2_boxinfolookup(type))) {
-@@ -248,14 +261,9 @@ jp2_box_t *jp2_box_get(jas_stream_t *in)
- box = 0;
- tmpstream = 0;
-
-- if (!(box = jas_malloc(sizeof(jp2_box_t)))) {
-+ if (!(box = jp2_box_create0())) {
- goto error;
- }
--
-- // Mark the box data as never having been constructed
-- // so that we will not errantly attempt to destroy it later.
-- box->ops = &jp2_boxinfo_unk.ops;
--
- if (jp2_getuint32(in, &len) || jp2_getuint32(in, &box->type)) {
- goto error;
- }
-@@ -263,10 +271,12 @@ jp2_box_t *jp2_box_get(jas_stream_t *in)
- box->info = boxinfo;
- box->len = len;
- JAS_DBGLOG(10, (
-- "preliminary processing of JP2 box: type=%c%s%c (0x%08x); length=%d\n",
-+ "preliminary processing of JP2 box: "
-+ "type=%c%s%c (0x%08x); length=%"PRIuFAST32"\n",
- '"', boxinfo->name, '"', box->type, box->len
- ));
- if (box->len == 1) {
-+ JAS_DBGLOG(10, ("big length\n"));
- if (jp2_getuint64(in, &extlen)) {
- goto error;
- }
-@@ -382,6 +392,7 @@ static int jp2_bpcc_getdata(jp2_box_t *box, jas_stream_t *in)
- {
- jp2_bpcc_t *bpcc = &box->data.bpcc;
- unsigned int i;
-+ bpcc->bpcs = 0;
- bpcc->numcmpts = box->datalen;
- if (!(bpcc->bpcs = jas_alloc2(bpcc->numcmpts, sizeof(uint_fast8_t)))) {
- return -1;
-@@ -462,6 +473,7 @@ static int jp2_cdef_getdata(jp2_box_t *box, jas_stream_t *in)
- jp2_cdef_t *cdef = &box->data.cdef;
- jp2_cdefchan_t *chan;
- unsigned int channo;
-+ cdef->ents = 0;
- if (jp2_getuint16(in, &cdef->numchans)) {
- return -1;
- }
-@@ -518,7 +530,9 @@ int jp2_box_put(jp2_box_t *box, jas_stream_t *out)
- }
-
- if (dataflag) {
-- if (jas_stream_copy(out, tmpstream, box->len - JP2_BOX_HDRLEN(false))) {
-+ if (jas_stream_copy(out, tmpstream, box->len -
-+ JP2_BOX_HDRLEN(false))) {
-+ jas_eprintf("cannot copy box data\n");
- goto error;
- }
- jas_stream_close(tmpstream);
-@@ -777,6 +791,7 @@ static int jp2_cmap_getdata(jp2_box_t *box, jas_stream_t *in)
- jp2_cmap_t *cmap = &box->data.cmap;
- jp2_cmapent_t *ent;
- unsigned int i;
-+ cmap->ents = 0;
-
- cmap->numchans = (box->datalen) / 4;
- if (!(cmap->ents = jas_alloc2(cmap->numchans, sizeof(jp2_cmapent_t)))) {
-@@ -835,6 +850,7 @@ static int jp2_pclr_getdata(jp2_box_t *box, jas_stream_t *in)
- int_fast32_t x;
-
- pclr->lutdata = 0;
-+ pclr->bpc = 0;
-
- if (jp2_getuint16(in, &pclr->numlutents) ||
- jp2_getuint8(in, &pclr->numchans)) {
-@@ -869,9 +885,9 @@ static int jp2_pclr_putdata(jp2_box_t *box, jas_stream_t *out)
- #if 0
- jp2_pclr_t *pclr = &box->data.pclr;
- #endif
--/* Eliminate warning about unused variable. */
--box = 0;
--out = 0;
-+ /* Eliminate warning about unused variable. */
-+ box = 0;
-+ out = 0;
- return -1;
- }
-
diff --git a/gnu/packages/patches/libgit2-0.25.1-mtime-0.patch b/gnu/packages/patches/libgit2-0.25.1-mtime-0.patch
new file mode 100644
index 0000000000..a6fdb50fff
--- /dev/null
+++ b/gnu/packages/patches/libgit2-0.25.1-mtime-0.patch
@@ -0,0 +1,14 @@
+The Clar test framework has a bug whereby it skips the parsing phase
+on files with mtime=0.
+
+Reported upstream at <https://github.com/vmg/clar/pull/78>.
+
+diff --git a/tests/generate.py b/tests/generate.py
+index b639c8f..111ca41 100644
+--- a/tests/generate.py
++++ b/tests/generate.py
+@@ -63,3 +63,3 @@ class Module(object):
+
+- self.mtime = 0
++ self.mtime = None # Guix sets all file mtimes to '0'
+ self.enabled = True
diff --git a/gnu/packages/patches/libssh-hostname-parser-bug.patch b/gnu/packages/patches/libssh-hostname-parser-bug.patch
new file mode 100644
index 0000000000..69f46cbdd6
--- /dev/null
+++ b/gnu/packages/patches/libssh-hostname-parser-bug.patch
@@ -0,0 +1,31 @@
+Fix "Hostname" parsing in OpenSSH config files, as reported
+at <https://red.libssh.org/issues/260>.
+
+From: Niels Ole Salscheider <niels_ole@salscheider-online.de>
+Date: Mon, 8 May 2017 17:36:13 +0200
+Subject: [PATCH] Fix reading of the first parameter
+
+This is a fixup for 7b8b5eb4eac314a3a29be812bef0264c6611f6e7.
+Previously, it would return as long as the parameter was _not_ seen
+before. It also did not handle the case for the unsupported opcode (-1)
+which would cause a segfault when accessing the "seen" array.
+---
+ src/config.c | 5 +++--
+ 1 file changed, 3 insertions(+), 2 deletions(-)
+
+diff --git a/src/config.c b/src/config.c
+index 7c03b27..238a655 100644
+--- a/src/config.c
++++ b/src/config.c
+@@ -218,8 +218,9 @@ static int ssh_config_parse_line(ssh_session session, const char *line,
+ }
+
+ opcode = ssh_config_get_opcode(keyword);
+- if (*parsing == 1 && opcode != SOC_HOST) {
+- if (seen[opcode] == 0) {
++ if (*parsing == 1 && opcode != SOC_HOST &&
++ opcode > SOC_UNSUPPORTED && opcode < SOC_END) {
++ if (seen[opcode] == 1) {
+ return 0;
+ }
+ seen[opcode] = 1;
diff --git a/gnu/packages/patches/openldap-CVE-2017-9287.patch b/gnu/packages/patches/openldap-CVE-2017-9287.patch
new file mode 100644
index 0000000000..5ca2a60c60
--- /dev/null
+++ b/gnu/packages/patches/openldap-CVE-2017-9287.patch
@@ -0,0 +1,37 @@
+Fix CVE-2017-9287:
+
+https://www.openldap.org/its/?findid=8655
+https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-9287
+
+Patch copied from upstream source repository:
+
+https://www.openldap.org/devel/gitweb.cgi?p=openldap.git;a=commit;h=0cee1ffb6021b1aae3fcc9581699da1c85a6dd6e
+
+From 0cee1ffb6021b1aae3fcc9581699da1c85a6dd6e Mon Sep 17 00:00:00 2001
+From: Ryan Tandy <ryan@nardis.ca>
+Date: Wed, 17 May 2017 20:07:39 -0700
+Subject: [PATCH] ITS#8655 fix double free on paged search with pagesize 0
+
+Fixes a double free when a search includes the Paged Results control
+with a page size of 0 and the search base matches the filter.
+---
+ servers/slapd/back-mdb/search.c | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/servers/slapd/back-mdb/search.c b/servers/slapd/back-mdb/search.c
+index 301d1a498c..43442aa242 100644
+--- a/servers/slapd/back-mdb/search.c
++++ b/servers/slapd/back-mdb/search.c
+@@ -1066,7 +1066,8 @@ notfound:
+ /* check size limit */
+ if ( get_pagedresults(op) > SLAP_CONTROL_IGNORED ) {
+ if ( rs->sr_nentries >= ((PagedResultsState *)op->o_pagedresults_state)->ps_size ) {
+- mdb_entry_return( op, e );
++ if (e != base)
++ mdb_entry_return( op, e );
+ e = NULL;
+ send_paged_response( op, rs, &lastid, tentries );
+ goto done;
+--
+2.13.0
+
diff --git a/gnu/packages/patches/openscenegraph-ffmpeg3.patch b/gnu/packages/patches/openscenegraph-ffmpeg3.patch
new file mode 100644
index 0000000000..02c04a5583
--- /dev/null
+++ b/gnu/packages/patches/openscenegraph-ffmpeg3.patch
@@ -0,0 +1,156 @@
+Description: Replace deprecated FFmpeg API
+Author: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
+See <http://forum.openscenegraph.org/viewtopic.php?t=15832>.
+--- a/src/osgPlugins/ffmpeg/FFmpegDecoderVideo.cpp
++++ b/src/osgPlugins/ffmpeg/FFmpegDecoderVideo.cpp
+@@ -71,7 +71,7 @@ void FFmpegDecoderVideo::open(AVStream *
+ findAspectRatio();
+
+ // Find out whether we support Alpha channel
+- m_alpha_channel = (m_context->pix_fmt == PIX_FMT_YUVA420P);
++ m_alpha_channel = (m_context->pix_fmt == AV_PIX_FMT_YUVA420P);
+
+ // Find out the framerate
+ m_frame_rate = av_q2d(stream->avg_frame_rate);
+@@ -91,20 +91,19 @@ void FFmpegDecoderVideo::open(AVStream *
+ throw std::runtime_error("avcodec_open() failed");
+
+ // Allocate video frame
+- m_frame.reset(avcodec_alloc_frame());
++ m_frame.reset(av_frame_alloc());
+
+ // Allocate converted RGB frame
+- m_frame_rgba.reset(avcodec_alloc_frame());
+- m_buffer_rgba[0].resize(avpicture_get_size(PIX_FMT_RGB24, width(), height()));
++ m_frame_rgba.reset(av_frame_alloc());
++ m_buffer_rgba[0].resize(avpicture_get_size(AV_PIX_FMT_RGB24, width(), height()));
+ m_buffer_rgba[1].resize(m_buffer_rgba[0].size());
+
+ // Assign appropriate parts of the buffer to image planes in m_frame_rgba
+- avpicture_fill((AVPicture *) (m_frame_rgba).get(), &(m_buffer_rgba[0])[0], PIX_FMT_RGB24, width(), height());
++ avpicture_fill((AVPicture *) (m_frame_rgba).get(), &(m_buffer_rgba[0])[0], AV_PIX_FMT_RGB24, width(), height());
+
+ // Override get_buffer()/release_buffer() from codec context in order to retrieve the PTS of each frame.
+ m_context->opaque = this;
+- m_context->get_buffer = getBuffer;
+- m_context->release_buffer = releaseBuffer;
++ m_context->get_buffer2 = getBuffer;
+ }
+
+
+@@ -263,8 +262,8 @@ int FFmpegDecoderVideo::convert(AVPictur
+ #ifdef USE_SWSCALE
+ if (m_swscale_ctx==0)
+ {
+- m_swscale_ctx = sws_getContext(src_width, src_height, (PixelFormat) src_pix_fmt,
+- src_width, src_height, (PixelFormat) dst_pix_fmt,
++ m_swscale_ctx = sws_getContext(src_width, src_height, (AVPixelFormat) src_pix_fmt,
++ src_width, src_height, (AVPixelFormat) dst_pix_fmt,
+ /*SWS_BILINEAR*/ SWS_BICUBIC, NULL, NULL, NULL);
+ }
+
+@@ -311,14 +310,14 @@ void FFmpegDecoderVideo::publishFrame(co
+ AVPicture * const dst = (AVPicture *) m_frame_rgba.get();
+
+ // Assign appropriate parts of the buffer to image planes in m_frame_rgba
+- avpicture_fill((AVPicture *) (m_frame_rgba).get(), &(m_buffer_rgba[m_writeBuffer])[0], PIX_FMT_RGB24, width(), height());
++ avpicture_fill((AVPicture *) (m_frame_rgba).get(), &(m_buffer_rgba[m_writeBuffer])[0], AV_PIX_FMT_RGB24, width(), height());
+
+ // Convert YUVA420p (i.e. YUV420p plus alpha channel) using our own routine
+
+- if (m_context->pix_fmt == PIX_FMT_YUVA420P)
++ if (m_context->pix_fmt == AV_PIX_FMT_YUVA420P)
+ yuva420pToRgba(dst, src, width(), height());
+ else
+- convert(dst, PIX_FMT_RGB24, src, m_context->pix_fmt, width(), height());
++ convert(dst, AV_PIX_FMT_RGB24, src, m_context->pix_fmt, width(), height());
+
+ // Wait 'delay' seconds before publishing the picture.
+ int i_delay = static_cast<int>(delay * 1000000 + 0.5);
+@@ -345,7 +344,7 @@ void FFmpegDecoderVideo::publishFrame(co
+
+ void FFmpegDecoderVideo::yuva420pToRgba(AVPicture * const dst, AVPicture * const src, int width, int height)
+ {
+- convert(dst, PIX_FMT_RGB24, src, m_context->pix_fmt, width, height);
++ convert(dst, AV_PIX_FMT_RGB24, src, m_context->pix_fmt, width, height);
+
+ const size_t bpp = 4;
+
+@@ -363,31 +362,28 @@ void FFmpegDecoderVideo::yuva420pToRgba(
+ }
+ }
+
+-
+-
+-int FFmpegDecoderVideo::getBuffer(AVCodecContext * const context, AVFrame * const picture)
++int FFmpegDecoderVideo::getBuffer(AVCodecContext * const context, AVFrame * const picture, int flags)
+ {
++ AVBufferRef *ref;
+ const FFmpegDecoderVideo * const this_ = reinterpret_cast<const FFmpegDecoderVideo*>(context->opaque);
+
+- const int result = avcodec_default_get_buffer(context, picture);
++ const int result = avcodec_default_get_buffer2(context, picture, flags);
+ int64_t * p_pts = reinterpret_cast<int64_t*>( av_malloc(sizeof(int64_t)) );
+
+ *p_pts = this_->m_packet_pts;
+ picture->opaque = p_pts;
+
++ ref = av_buffer_create((uint8_t *)picture->opaque, sizeof(int64_t), FFmpegDecoderVideo::freeBuffer, picture->buf[0], flags);
++ picture->buf[0] = ref;
++
+ return result;
+ }
+
+-
+-
+-void FFmpegDecoderVideo::releaseBuffer(AVCodecContext * const context, AVFrame * const picture)
++void FFmpegDecoderVideo::freeBuffer(void *opaque, uint8_t *data)
+ {
+- if (picture != 0)
+- av_freep(&picture->opaque);
+-
+- avcodec_default_release_buffer(context, picture);
++ AVBufferRef *ref = (AVBufferRef *)opaque;
++ av_buffer_unref(&ref);
++ av_free(data);
+ }
+
+-
+-
+ } // namespace osgFFmpeg
+--- a/src/osgPlugins/ffmpeg/FFmpegDecoderVideo.hpp
++++ b/src/osgPlugins/ffmpeg/FFmpegDecoderVideo.hpp
+@@ -94,8 +94,8 @@ private:
+ int src_pix_fmt, int src_width, int src_height);
+
+
+- static int getBuffer(AVCodecContext * context, AVFrame * picture);
+- static void releaseBuffer(AVCodecContext * context, AVFrame * picture);
++ static int getBuffer(AVCodecContext * context, AVFrame * picture, int flags);
++ static void freeBuffer(void * opaque, uint8_t *data);
+
+ PacketQueue & m_packets;
+ FFmpegClocks & m_clocks;
+--- a/src/osgPlugins/ffmpeg/FFmpegParameters.cpp
++++ b/src/osgPlugins/ffmpeg/FFmpegParameters.cpp
+@@ -19,7 +19,7 @@ extern "C"
+ #include <libavutil/pixdesc.h>
+ }
+
+-inline PixelFormat osg_av_get_pix_fmt(const char *name) { return av_get_pix_fmt(name); }
++inline AVPixelFormat osg_av_get_pix_fmt(const char *name) { return av_get_pix_fmt(name); }
+
+
+ namespace osgFFmpeg {
+--- a/src/osgPlugins/ffmpeg/FFmpegDecoderAudio.cpp 2016-02-18 21:25:39.627923629 +0000
++++ b/src/osgPlugins/ffmpeg/FFmpegDecoderAudio.cpp 2016-02-18 21:26:17.071140100 +0000
+@@ -227,8 +227,7 @@
+ if (avcodec_open2(m_context, p_codec, NULL) < 0)
+ throw std::runtime_error("avcodec_open() failed");
+
+- m_context->get_buffer = avcodec_default_get_buffer;
+- m_context->release_buffer = avcodec_default_release_buffer;
++ m_context->get_buffer2 = avcodec_default_get_buffer2;
+
+ }
+
diff --git a/gnu/packages/patches/qemu-CVE-2017-8112.patch b/gnu/packages/patches/qemu-CVE-2017-8112.patch
new file mode 100644
index 0000000000..88b33aa2f0
--- /dev/null
+++ b/gnu/packages/patches/qemu-CVE-2017-8112.patch
@@ -0,0 +1,41 @@
+Fix CVE-2017-8112:
+
+https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-8112
+
+Patch copied from upstream source repository:
+
+http://git.qemu.org/?p=qemu.git;a=commitdiff;h=f68826989cd4d1217797251339579c57b3c0934e
+
+From f68826989cd4d1217797251339579c57b3c0934e Mon Sep 17 00:00:00 2001
+From: P J P <ppandit@redhat.com>
+Date: Tue, 25 Apr 2017 18:36:23 +0530
+Subject: [PATCH] vmw_pvscsi: check message ring page count at initialisation
+
+A guest could set the message ring page count to zero, resulting in
+infinite loop. Add check to avoid it.
+
+Reported-by: YY Z <bigbird475958471@gmail.com>
+Signed-off-by: P J P <ppandit@redhat.com>
+Message-Id: <20170425130623.3649-1-ppandit@redhat.com>
+Reviewed-by: Dmitry Fleytman <dmitry@daynix.com>
+Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
+---
+ hw/scsi/vmw_pvscsi.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/hw/scsi/vmw_pvscsi.c b/hw/scsi/vmw_pvscsi.c
+index 75575461e2..4a106da856 100644
+--- a/hw/scsi/vmw_pvscsi.c
++++ b/hw/scsi/vmw_pvscsi.c
+@@ -202,7 +202,7 @@ pvscsi_ring_init_msg(PVSCSIRingInfo *m, PVSCSICmdDescSetupMsgRing *ri)
+ uint32_t len_log2;
+ uint32_t ring_size;
+
+- if (ri->numPages > PVSCSI_SETUP_MSG_RING_MAX_NUM_PAGES) {
++ if (!ri->numPages || ri->numPages > PVSCSI_SETUP_MSG_RING_MAX_NUM_PAGES) {
+ return -1;
+ }
+ ring_size = ri->numPages * PVSCSI_MAX_NUM_MSG_ENTRIES_PER_PAGE;
+--
+2.13.0
+
diff --git a/gnu/packages/patches/qemu-CVE-2017-8309.patch b/gnu/packages/patches/qemu-CVE-2017-8309.patch
new file mode 100644
index 0000000000..dc4b4006b7
--- /dev/null
+++ b/gnu/packages/patches/qemu-CVE-2017-8309.patch
@@ -0,0 +1,46 @@
+Fix CVE-2017-8309:
+
+https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-8309
+
+Patch copied from upstream source repository:
+
+http://git.qemu.org/?p=qemu.git;a=commitdiff;h=3268a845f41253fb55852a8429c32b50f36f349a
+
+From 3268a845f41253fb55852a8429c32b50f36f349a Mon Sep 17 00:00:00 2001
+From: Gerd Hoffmann <kraxel@redhat.com>
+Date: Fri, 28 Apr 2017 09:56:12 +0200
+Subject: [PATCH] audio: release capture buffers
+
+AUD_add_capture() allocates two buffers which are never released.
+Add the missing calls to AUD_del_capture().
+
+Impact: Allows vnc clients to exhaust host memory by repeatedly
+starting and stopping audio capture.
+
+Fixes: CVE-2017-8309
+Cc: P J P <ppandit@redhat.com>
+Cc: Huawei PSIRT <PSIRT@huawei.com>
+Reported-by: "Jiangxin (hunter, SCC)" <jiangxin1@huawei.com>
+Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
+Reviewed-by: Prasad J Pandit <pjp@fedoraproject.org>
+Message-id: 20170428075612.9997-1-kraxel@redhat.com
+---
+ audio/audio.c | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/audio/audio.c b/audio/audio.c
+index c8898d8422..beafed209b 100644
+--- a/audio/audio.c
++++ b/audio/audio.c
+@@ -2028,6 +2028,8 @@ void AUD_del_capture (CaptureVoiceOut *cap, void *cb_opaque)
+ sw = sw1;
+ }
+ QLIST_REMOVE (cap, entries);
++ g_free (cap->hw.mix_buf);
++ g_free (cap->buf);
+ g_free (cap);
+ }
+ return;
+--
+2.13.0
+
diff --git a/gnu/packages/patches/qemu-CVE-2017-8379.patch b/gnu/packages/patches/qemu-CVE-2017-8379.patch
new file mode 100644
index 0000000000..200b133d3e
--- /dev/null
+++ b/gnu/packages/patches/qemu-CVE-2017-8379.patch
@@ -0,0 +1,98 @@
+Fix CVE-2017-8379:
+
+https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-8379
+
+Patch copied from upstream source repository:
+
+http://git.qemu.org/?p=qemu.git;a=commitdiff;h=fa18f36a461984eae50ab957e47ec78dae3c14fc
+
+From fa18f36a461984eae50ab957e47ec78dae3c14fc Mon Sep 17 00:00:00 2001
+From: Gerd Hoffmann <kraxel@redhat.com>
+Date: Fri, 28 Apr 2017 10:42:37 +0200
+Subject: [PATCH] input: limit kbd queue depth
+
+Apply a limit to the number of items we accept into the keyboard queue.
+
+Impact: Without this limit vnc clients can exhaust host memory by
+sending keyboard events faster than qemu feeds them to the guest.
+
+Fixes: CVE-2017-8379
+Cc: P J P <ppandit@redhat.com>
+Cc: Huawei PSIRT <PSIRT@huawei.com>
+Reported-by: jiangxin1@huawei.com
+Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
+Message-id: 20170428084237.23960-1-kraxel@redhat.com
+---
+ ui/input.c | 14 +++++++++++---
+ 1 file changed, 11 insertions(+), 3 deletions(-)
+
+diff --git a/ui/input.c b/ui/input.c
+index ed88cda6d6..fb1f404095 100644
+--- a/ui/input.c
++++ b/ui/input.c
+@@ -41,6 +41,8 @@ static QTAILQ_HEAD(QemuInputEventQueueHead, QemuInputEventQueue) kbd_queue =
+ QTAILQ_HEAD_INITIALIZER(kbd_queue);
+ static QEMUTimer *kbd_timer;
+ static uint32_t kbd_default_delay_ms = 10;
++static uint32_t queue_count;
++static uint32_t queue_limit = 1024;
+
+ QemuInputHandlerState *qemu_input_handler_register(DeviceState *dev,
+ QemuInputHandler *handler)
+@@ -268,6 +270,7 @@ static void qemu_input_queue_process(void *opaque)
+ break;
+ }
+ QTAILQ_REMOVE(queue, item, node);
++ queue_count--;
+ g_free(item);
+ }
+ }
+@@ -282,6 +285,7 @@ static void qemu_input_queue_delay(struct QemuInputEventQueueHead *queue,
+ item->delay_ms = delay_ms;
+ item->timer = timer;
+ QTAILQ_INSERT_TAIL(queue, item, node);
++ queue_count++;
+
+ if (start_timer) {
+ timer_mod(item->timer, qemu_clock_get_ms(QEMU_CLOCK_VIRTUAL)
+@@ -298,6 +302,7 @@ static void qemu_input_queue_event(struct QemuInputEventQueueHead *queue,
+ item->src = src;
+ item->evt = evt;
+ QTAILQ_INSERT_TAIL(queue, item, node);
++ queue_count++;
+ }
+
+ static void qemu_input_queue_sync(struct QemuInputEventQueueHead *queue)
+@@ -306,6 +311,7 @@ static void qemu_input_queue_sync(struct QemuInputEventQueueHead *queue)
+
+ item->type = QEMU_INPUT_QUEUE_SYNC;
+ QTAILQ_INSERT_TAIL(queue, item, node);
++ queue_count++;
+ }
+
+ void qemu_input_event_send_impl(QemuConsole *src, InputEvent *evt)
+@@ -381,7 +387,7 @@ void qemu_input_event_send_key(QemuConsole *src, KeyValue *key, bool down)
+ qemu_input_event_send(src, evt);
+ qemu_input_event_sync();
+ qapi_free_InputEvent(evt);
+- } else {
++ } else if (queue_count < queue_limit) {
+ qemu_input_queue_event(&kbd_queue, src, evt);
+ qemu_input_queue_sync(&kbd_queue);
+ }
+@@ -409,8 +415,10 @@ void qemu_input_event_send_key_delay(uint32_t delay_ms)
+ kbd_timer = timer_new_ms(QEMU_CLOCK_VIRTUAL, qemu_input_queue_process,
+ &kbd_queue);
+ }
+- qemu_input_queue_delay(&kbd_queue, kbd_timer,
+- delay_ms ? delay_ms : kbd_default_delay_ms);
++ if (queue_count < queue_limit) {
++ qemu_input_queue_delay(&kbd_queue, kbd_timer,
++ delay_ms ? delay_ms : kbd_default_delay_ms);
++ }
+ }
+
+ InputEvent *qemu_input_event_new_btn(InputButton btn, bool down)
+--
+2.13.0
+
diff --git a/gnu/packages/patches/qemu-CVE-2017-8380.patch b/gnu/packages/patches/qemu-CVE-2017-8380.patch
new file mode 100644
index 0000000000..65e49fc885
--- /dev/null
+++ b/gnu/packages/patches/qemu-CVE-2017-8380.patch
@@ -0,0 +1,53 @@
+Fix CVE-2017-8380:
+
+https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-8380
+
+Patch copied from upstream source repository:
+
+http://git.qemu.org/?p=qemu.git;a=commitdiff;h=24dfa9fa2f90a95ac33c7372de4f4f2c8a2c141f
+
+From 24dfa9fa2f90a95ac33c7372de4f4f2c8a2c141f Mon Sep 17 00:00:00 2001
+From: Prasad J Pandit <pjp@fedoraproject.org>
+Date: Mon, 24 Apr 2017 17:36:34 +0530
+Subject: [PATCH] scsi: avoid an off-by-one error in megasas_mmio_write
+
+While reading magic sequence(MFI_SEQ) in megasas_mmio_write,
+an off-by-one error could occur as 's->adp_reset' index is not
+reset after reading the last sequence.
+
+Reported-by: YY Z <bigbird475958471@gmail.com>
+Signed-off-by: Prasad J Pandit <pjp@fedoraproject.org>
+Message-Id: <20170424120634.12268-1-ppandit@redhat.com>
+Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
+---
+ hw/scsi/megasas.c | 10 +++++-----
+ 1 file changed, 5 insertions(+), 5 deletions(-)
+
+diff --git a/hw/scsi/megasas.c b/hw/scsi/megasas.c
+index 84b8caf901..804122ab05 100644
+--- a/hw/scsi/megasas.c
++++ b/hw/scsi/megasas.c
+@@ -2138,15 +2138,15 @@ static void megasas_mmio_write(void *opaque, hwaddr addr,
+ case MFI_SEQ:
+ trace_megasas_mmio_writel("MFI_SEQ", val);
+ /* Magic sequence to start ADP reset */
+- if (adp_reset_seq[s->adp_reset] == val) {
+- s->adp_reset++;
++ if (adp_reset_seq[s->adp_reset++] == val) {
++ if (s->adp_reset == 6) {
++ s->adp_reset = 0;
++ s->diag = MFI_DIAG_WRITE_ENABLE;
++ }
+ } else {
+ s->adp_reset = 0;
+ s->diag = 0;
+ }
+- if (s->adp_reset == 6) {
+- s->diag = MFI_DIAG_WRITE_ENABLE;
+- }
+ break;
+ case MFI_DIAG:
+ trace_megasas_mmio_writel("MFI_DIAG", val);
+--
+2.13.0
+
diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm
index 3e2141e7f4..19ffe729bf 100644
--- a/gnu/packages/python.scm
+++ b/gnu/packages/python.scm
@@ -1574,14 +1574,14 @@ existing ones.")
(define-public scons
(package
(name "scons")
- (version "2.3.4")
+ (version "2.5.1")
(source (origin
(method url-fetch)
(uri (string-append "mirror://sourceforge/scons/scons/" version
"/scons-" version ".tar.gz"))
(sha256
(base32
- "0hdlci43wjz8maryj83mz04ir6rwcdrrzpd7cpzvdlzycqhdfmsb"))))
+ "1wji1z9jdkhnmm99apx6fhld9cs52rr56aigniyrcsmlwy52298b"))))
(build-system python-build-system)
(arguments
;; With Python 3.x, fails to build with a syntax error.
@@ -14926,3 +14926,377 @@ Supported metrics are:
(define-public python2-radon
(package-with-python2 python-radon))
+
+(define-public python-sure
+ (package
+ (name "python-sure")
+ (version "1.4.6")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "sure" version))
+ (sha256
+ (base32
+ "1iyqsy2d6radi88g1qf0lziy5b39h5cpb3g5jiqyb4xi46ig3x1z"))))
+ (build-system python-build-system)
+ (propagated-inputs
+ `(("python-mock" ,python-mock)
+ ("python-six" ,python-six)))
+ (native-inputs
+ `(("python-nose" ,python-nose)))
+ (home-page "https://github.com/gabrielfalcao/sure")
+ (synopsis "Automated testing library in python for python")
+ (description
+ "Sure is a python library that leverages a DSL for writing assertions.
+Sure is heavily inspired by @code{RSpec Expectations} and @code{should.js}.")
+ (license license:gpl3+)))
+
+(define-public python2-sure
+ (package-with-python2 python-sure))
+
+(define-public python2-couleur
+ ;; This package does not seem to support python3 at all, hence,
+ ;; only the python2 variant definition is provided.
+ (package
+ (name "python2-couleur")
+ (version "0.6.2")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "couleur" version))
+ (sha256
+ (base32
+ "1qqaxyqz74wvid0cr119dhcwz0h0if5b5by44zl49pd5z65v58k1"))))
+ (build-system python-build-system)
+ (arguments
+ `(#:python ,python-2))
+ (home-page "https://github.com/gabrielfalcao/couleur")
+ (synopsis
+ "ANSI terminal tool for python, colored shell and other handy fancy features")
+ (description
+ "@code{Couleur} provides python programs a way to use the ANSI features in a unix
+terminal such as coloured output in the shell, overwriting output, indentation, etc.")
+ ;; README.md says ASL2.0, but all source code headers are LGPL3+.
+ ;; https://github.com/gabrielfalcao/couleur/issues/11
+ (license license:lgpl3+)))
+
+(define-public python-misaka
+ (package
+ (name "python-misaka")
+ (version "2.1.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "misaka" version))
+ (sha256
+ (base32
+ "1yqrq3a5rracirmvk52n28nn6ckdaz897gnigv89a9gmyn87sqw7"))))
+ (build-system python-build-system)
+ (arguments
+ `(;; Line 37 of setup.py calls self.run_command('develop')
+ ;; in the 'check' phase. This command seems to be trying
+ ;; to write to
+ ;; /gnu/store/...-python-<version>/lib/python<version>/site-packages/
+ ;; for which it does not have the permission to write.
+ #:tests? #f))
+ (propagated-inputs
+ `(("python-cffi" ,python-cffi)))
+ (home-page "https://github.com/FSX/misaka")
+ (synopsis "Python binding for Hoedown")
+ (description
+ "@code{Misaka} is a CFFI-based binding for @code{Hoedown}, a fast markdown processing
+library written in C. It features a fast HTML renderer and functionality to make custom
+renderers (e.g. man pages or LaTeX).")
+ (license license:expat)))
+
+(define-public python2-misaka
+ (package-with-python2 python-misaka))
+
+(define-public python2-steadymark
+ ;; This is forced into being a python2 only variant
+ ;; due to its dependence on couleur that has no support
+ ;; for python3
+ (package
+ (name "python2-steadymark")
+ (version "0.7.3")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "steadymark" version))
+ (sha256
+ (base32
+ "1640i9g8dycql3cc8j0bky0jkzj0q39blfbp4lsgpkprkfgcdk8v"))))
+ (build-system python-build-system)
+ (native-inputs
+ `(("python-couleur" ,python2-couleur)
+ ("python-sure" ,python2-sure)
+ ("python-misaka" ,python2-misaka)))
+ (arguments
+ `(#:python ,python-2
+ #:phases
+ (modify-phases %standard-phases
+ (add-before 'build 'patch-setup-py
+ (lambda _
+ ;; Update requirements from dependency==version
+ ;; to dependency>=version
+ (substitute* "setup.py"
+ (("==") ">="))
+ #t)))))
+ (home-page "https://github.com/gabrielfalcao/steadymark")
+ (synopsis "Markdown-based test runner for python")
+ (description
+ "@code{Steadymark} allows documentation to be written in github-flavoured
+markdown. The documentation may contain snippets of code surrounded by python
+code blocks and @code{Steadymark} will find these snippets and run them, making
+sure that there are no old malfunctional examples in the documentation examples.")
+ (license license:expat)))
+
+(define-public python-nose-randomly
+ (package
+ (name "python-nose-randomly")
+ (version "1.2.5")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "nose-randomly" version))
+ (sha256
+ (base32
+ "1cw9dlr1zh3w4i438kin7z0rm8092ki52hayisyc43h9pcplq7rn"))))
+ (build-system python-build-system)
+ (native-inputs
+ `(("python-nose" ,python-nose)
+ ("python-numpy" ,python-numpy)))
+ (home-page "https://github.com/adamchainz/nose-randomly")
+ (synopsis
+ "Nose plugin to randomly order tests and control random.seed")
+ (description
+ "This is a @code{Nose} plugin to randomly order tests which can be quite
+powerful in discovering hidden flaws in the tests themselves, while helping to
+reduce inter-test dependencies. It also helps in controlling @code{random.seed},
+by resetting it to a repeatable number for each test, enabling the tests to
+create data based on random numbers and yet remain repeatable.")
+ (license license:bsd-3)))
+
+(define-public python2-nose-randomly
+ (package-with-python2 python-nose-randomly))
+
+(define-public python-jsonpointer
+ (package
+ (name "python-jsonpointer")
+ (version "1.10")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "jsonpointer" version))
+ (sha256
+ (base32
+ "1cg0gvgqjysydv6p45v4jywg1jb3v48c7m3cbpi57zgf6nndr9cz"))))
+ (build-system python-build-system)
+ (home-page "https://github.com/stefankoegl/python-json-pointer")
+ (synopsis "Identify specific nodes in a JSON document")
+ (description "@code{jsonpointer} allows you to access specific nodes
+by path in a JSON document (see RFC 6901).")
+ (license license:bsd-3)))
+
+(define-public python2-jsonpointer
+ (package-with-python2 python-jsonpointer))
+
+(define-public python-rfc3987
+ (package
+ (name "python-rfc3987")
+ (version "1.3.7")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "rfc3987" version))
+ (sha256
+ (base32
+ "192pclzs2y0yaywqkrlvd0x73740q310kvqvm6jldhi619mq59wi"))))
+ (build-system python-build-system)
+ (home-page "http://pypi.python.org/pypi/rfc3987")
+ (synopsis "Parsing and validation of URIs (RFC 3986) and IRIs (RFC 3987)")
+ (description "@code{rfc3987} provides routines for parsing and
+validation of URIs (see RFC 3986) and IRIs (see RFC 3987).")
+ (license license:gpl3+)))
+
+(define-public python2-rfc3987
+ (package-with-python2 python-rfc3987))
+
+(define-public python-validate-email
+ (package
+ (name "python-validate-email")
+ (version "1.3")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "validate_email" version))
+ (sha256
+ (base32
+ "1bxffaf5yz2cph8ki55vdvdypbwkvn2xr1firlcy62vqbzf1jivq"))))
+ (build-system python-build-system)
+ (home-page "http://github.com/syrusakbary/validate_email")
+ (synopsis "Verifies if an email address is valid and really exists")
+ (description "@code{validate_email} can be used to verify if an email
+address is valid and really exists.")
+ (license license:lgpl3+)))
+
+(define-public python2-validate-email
+ (package-with-python2 python-validate-email))
+
+(define-public python-flex
+ (package
+ (name "python-flex")
+ (version "6.10.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "flex" version))
+ (sha256
+ (base32
+ "00pamnwla3khk8nyla7y28dq9jnh69swd7f4jfsl7sn1izs8n8zk"))))
+ (build-system python-build-system)
+ (propagated-inputs
+ `(("python-click" ,python-click)
+ ("python-iso8601" ,python-iso8601)
+ ("python-jsonpointer" ,python-jsonpointer)
+ ("python-pyyaml" ,python-pyyaml)
+ ("python-requests" ,python-requests)
+ ("python-rfc3987" ,python-rfc3987)
+ ("python-six" ,python-six)
+ ("python-validate-email" ,python-validate-email)))
+ (home-page "https://github.com/pipermerriam/flex")
+ (synopsis "Validates Swagger schemata")
+ (description "@code{flex} can be used to validate Swagger schemata.")
+ (license license:bsd-3)))
+
+(define-public python2-flex
+ (package-with-python2 python-flex))
+
+(define-public python-marshmallow
+ (package
+ (name "python-marshmallow")
+ (version "3.0.0b2")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "marshmallow" version))
+ (sha256
+ (base32
+ "11bnpvfdbczr74177p295zbkdrax2cahvbj5bqhhlprgz2xxi5d9"))))
+ (build-system python-build-system)
+ (propagated-inputs
+ `(("python-dateutil" ,python-dateutil)
+ ("python-simplejson" ,python-simplejson)))
+ (native-inputs
+ `(("python-pytest-3.0" ,python-pytest-3.0)
+ ("python-pytz" ,python-pytz)))
+ (home-page "https://github.com/marshmallow-code/marshmallow")
+ (synopsis "Convert complex datatypes to and from native
+Python datatypes.")
+ (description "@code{marshmallow} provides a library for converting
+complex datatypes to and from native Python datatypes.")
+ (license license:expat)))
+
+(define-public python2-marshmallow
+ (package-with-python2 python-marshmallow))
+
+(define-public python-bottle
+ (package
+ (name "python-bottle")
+ (version "0.12.13")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "bottle" version))
+ (sha256
+ (base32
+ "0m9k2a7yxvggc4kw8fsvj381vgsvfcdshg5nzy6vwrxiw2p53drr"))))
+ (build-system python-build-system)
+ (home-page "http://bottlepy.org/")
+ (synopsis "WSGI framework for small web-applications.")
+ (description "@code{python-bottle} is a WSGI framework for small web-applications.")
+ (license license:expat)))
+
+(define-public python2-bottle
+ (package-with-python2 python-bottle))
+
+(define-public python-apispec
+ (package
+ (name "python-apispec")
+ (version "0.22.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "apispec" version))
+ (sha256
+ (base32
+ "0y3jxmgp2d24am3hxl40f5rw9abb0r8037sagax3dv64h4n1azwq"))))
+ (build-system python-build-system)
+ (propagated-inputs
+ `(("python-pyyaml" ,python-pyyaml)))
+ (native-inputs
+ `(("python-pytest-3.0" ,python-pytest-3.0)
+ ("python-flask" ,python-flask)
+ ("python-marshmallow" ,python-marshmallow)
+ ("python-tornado" ,python-tornado)
+ ("python-bottle" ,python-bottle)
+ ("python-mock" ,python-mock)))
+ (home-page "https://github.com/marshmallow-code/apispec")
+ (synopsis "Swagger 2.0 API specification generator")
+ (description "@code{python-apispec} is a pluggable API specification
+generator. Currently supports the OpenAPI specification (f.k.a.
+Swagger 2.0).")
+ (license license:expat)))
+
+(define-public python2-apispec
+ (package-with-python2 python-apispec))
+
+(define-public python-flasgger
+ (package
+ (name "python-flasgger")
+ (version "0.6.3")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://github.com/rochacbruno/flasgger/archive/"
+ version ".tar.gz"))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "1gqzlm0rb55fdpsy5ipkganlx9cnpi454fqyycr03jm22zql14ay"))))
+ (build-system python-build-system)
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (replace 'check
+ (lambda* (#:key inputs outputs #:allow-other-keys)
+ (substitute* "Makefile"
+ (("flake8 flasgger --ignore=F403")
+ "flake8 flasgger --ignore=E731,F403"))
+ (setenv "PYTHONPATH" (string-append (getcwd)
+ ":"
+ (getenv "PYTHONPATH")))
+ (zero? (system* "py.test")))))))
+ (propagated-inputs
+ `(("python-flask" ,python-flask)
+ ("python-pyyaml" ,python-pyyaml)
+ ("python-jsonschema" ,python-jsonschema)
+ ("python-mistune" ,python-mistune)
+ ("python-six" ,python-six)))
+ (native-inputs
+ `(("python-decorator" ,python-decorator)
+ ("python-flake8" ,python-flake8)
+ ("python-flask-restful" ,python-flask-restful)
+ ("python-flex" ,python-flex)
+ ("python-pytest-3.0" ,python-pytest-3.0)
+ ("python-pytest-cov" ,python-pytest-cov)
+ ("python-marshmallow" ,python-marshmallow)
+ ("python-apispec" ,python-apispec)))
+ (home-page "https://github.com/rochacbruno/flasgger/")
+ (synopsis "Extract Swagger specs from your Flask project")
+ (description "@code{python-flasgger} allows extracting Swagger specs
+from your Flask project. It is a fork of Flask-Swagger.")
+ (license license:expat)))
+
+(define-public python2-flasgger
+ (package-with-python2 python-flasgger))
diff --git a/gnu/packages/qemu.scm b/gnu/packages/qemu.scm
index 0734b6d0f7..31354b25d7 100644
--- a/gnu/packages/qemu.scm
+++ b/gnu/packages/qemu.scm
@@ -74,7 +74,11 @@
(method url-fetch)
(uri (string-append "http://wiki.qemu-project.org/download/qemu-"
version ".tar.xz"))
- (patches (search-patches "qemu-CVE-2017-7493.patch"))
+ (patches (search-patches "qemu-CVE-2017-7493.patch"
+ "qemu-CVE-2017-8112.patch"
+ "qemu-CVE-2017-8309.patch"
+ "qemu-CVE-2017-8379.patch"
+ "qemu-CVE-2017-8380.patch"))
(sha256
(base32
"08mhfs0ndbkyqgw7fjaa9vjxf4dinrly656f6hjzvmaz7hzc677h"))))
diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scm
index d94c652ab2..e9cc4ce87e 100644
--- a/gnu/packages/qt.scm
+++ b/gnu/packages/qt.scm
@@ -349,7 +349,7 @@ developers using C++ or QML, a CSS & JavaScript like language.")
(define-public qtbase
(package
(name "qtbase")
- (version "5.8.0")
+ (version "5.9.0")
(source (origin
(method url-fetch)
(uri (string-append "https://download.qt.io/official_releases/qt/"
@@ -358,16 +358,18 @@ developers using C++ or QML, a CSS & JavaScript like language.")
version ".tar.xz"))
(sha256
(base32
- "01f07yjly7y24njl2h4hyknmi7pf8yd9gky23szcfkd40ap12wf1"))
+ "0v19spxa4sfq0a35nab9n8n2s3jd0443px0k45zhhg103apv4zi6"))
(modules '((guix build utils)))
(snippet
+ ;; corelib uses bundled harfbuzz, md4, md5, sha3
'(begin
- ;; Remove one of the two bundled harfbuzz copies in addition
- ;; to passing "-system-harfbuzz".
- (delete-file-recursively "src/3rdparty/harfbuzz-ng")
- ;; Remove the bundled sqlite copy in addition to
- ;; passing "-system-sqlite".
- (delete-file-recursively "src/3rdparty/sqlite")))))
+ (for-each
+ (lambda (dir)
+ (delete-file-recursively (string-append "src/3rdparty/" dir)))
+ (list "double-conversion" "freetype" "harfbuzz-ng"
+ "libpng" "libjpeg" "pcre2" "sqlite" "xcb"
+ "xkbcommon" "zlib"))
+ #t))))
(build-system gnu-build-system)
(propagated-inputs
`(("mesa" ,mesa)))
@@ -403,7 +405,7 @@ developers using C++ or QML, a CSS & JavaScript like language.")
("mysql" ,mysql)
("nss" ,nss)
("openssl" ,openssl)
- ("pcre" ,pcre)
+ ("pcre2" ,pcre2)
("postgresql" ,postgresql)
("pulseaudio" ,pulseaudio)
("sqlite" ,sqlite)
@@ -459,11 +461,12 @@ developers using C++ or QML, a CSS & JavaScript like language.")
;; Do not build examples; if desired, these could go
;; into a separate output, but for the time being, we
;; prefer to save the space and build time.
- "-nomake" "examples"
+ "-no-compile-examples"
;; Most "-system-..." are automatic, but some use
;; the bundled copy by default.
"-system-sqlite"
"-system-harfbuzz"
+ "-system-pcre"
;; explicitly link with openssl instead of dlopening it
"-openssl-linked"
;; explicitly link with dbus instead of dlopening it
@@ -529,7 +532,7 @@ developers using C++ or QML, a CSS & JavaScript like language.")
(define-public qtsvg
(package (inherit qtbase)
(name "qtsvg")
- (version "5.8.0")
+ (version "5.9.0")
(source (origin
(method url-fetch)
(uri (string-append "https://download.qt.io/official_releases/qt/"
@@ -538,7 +541,7 @@ developers using C++ or QML, a CSS & JavaScript like language.")
version ".tar.xz"))
(sha256
(base32
- "12fwzbp28szqw1sk3flb8i6xnxgl94siwyy41ffdmd0s44f1jwwq"))))
+ "0zpy53vb0ckaj71ffl450qv9kipl8gwwcbbras8kbg6bpl8srl8g"))))
(propagated-inputs `())
(native-inputs `(("perl" ,perl)))
(inputs
@@ -572,7 +575,7 @@ developers using C++ or QML, a CSS & JavaScript like language.")
(define-public qtimageformats
(package (inherit qtsvg)
(name "qtimageformats")
- (version "5.8.0")
+ (version "5.9.0")
(source (origin
(method url-fetch)
(uri (string-append "https://download.qt.io/official_releases/qt/"
@@ -581,7 +584,7 @@ developers using C++ or QML, a CSS & JavaScript like language.")
version ".tar.xz"))
(sha256
(base32
- "0vv0wh5q5sih294x661djzwvgdwy7r6xpnxsc111k5hwq7m5w13m"))
+ "10alm3kz3md835hf5hx7322bak9pp9igi2knvymxsjqr8x87jq94"))
(modules '((guix build utils)))
(snippet
'(delete-file-recursively "src/3rdparty"))))
@@ -598,7 +601,7 @@ developers using C++ or QML, a CSS & JavaScript like language.")
(define-public qtx11extras
(package (inherit qtsvg)
(name "qtx11extras")
- (version "5.8.0")
+ (version "5.9.0")
(source (origin
(method url-fetch)
(uri (string-append "https://download.qt.io/official_releases/qt/"
@@ -607,7 +610,7 @@ developers using C++ or QML, a CSS & JavaScript like language.")
version ".tar.xz"))
(sha256
(base32
- "03i8lk9qcdf8h2k4f3rkqqkzbrlnyaspv9mgjkn4k61s2asz5mxy"))))
+ "0smzs29zqi77s1038ddkj3wzcchajqrjymwa5jgva7n2dn2x40wy"))))
(arguments
(substitute-keyword-arguments (package-arguments qtsvg)
((#:tests? _ #f) #f))) ; TODO: Enable the tests
@@ -619,7 +622,7 @@ developers using C++ or QML, a CSS & JavaScript like language.")
(define-public qtxmlpatterns
(package (inherit qtsvg)
(name "qtxmlpatterns")
- (version "5.8.0")
+ (version "5.9.0")
(source (origin
(method url-fetch)
(uri (string-append "https://download.qt.io/official_releases/qt/"
@@ -628,7 +631,7 @@ developers using C++ or QML, a CSS & JavaScript like language.")
version ".tar.xz"))
(sha256
(base32
- "016s75j2cml7kc8scdm9a6pmxm8jhs424lml2h9znm1flmgadzvv"))))
+ "1f2mly7ddw4hpr3x0lpdahcikivwhiwa3238yrg4gz2c3lxj5y21"))))
(arguments
(substitute-keyword-arguments (package-arguments qtsvg)
((#:phases phases)
@@ -644,7 +647,7 @@ developers using C++ or QML, a CSS & JavaScript like language.")
(define-public qtdeclarative
(package (inherit qtsvg)
(name "qtdeclarative")
- (version "5.8.0")
+ (version "5.9.0")
(source (origin
(method url-fetch)
(uri (string-append "https://download.qt.io/official_releases/qt/"
@@ -653,7 +656,7 @@ developers using C++ or QML, a CSS & JavaScript like language.")
version ".tar.xz"))
(sha256
(base32
- "0ilaf2sprpk9fg2j3905hxnhm0xbnm88ppk4zifp7n0jmnwix51j"))))
+ "1g9yz7q2laqs80m4i6zngxrq3pd7z5khr2f48glma8cmiw4p56rw"))))
(arguments
(substitute-keyword-arguments (package-arguments qtsvg)
((#:tests? _ #f) #f))) ; TODO: Enable the tests
@@ -670,7 +673,7 @@ developers using C++ or QML, a CSS & JavaScript like language.")
(define-public qtconnectivity
(package (inherit qtsvg)
(name "qtconnectivity")
- (version "5.8.0")
+ (version "5.9.0")
(source (origin
(method url-fetch)
(uri (string-append "https://download.qt.io/official_releases/qt/"
@@ -679,7 +682,7 @@ developers using C++ or QML, a CSS & JavaScript like language.")
version ".tar.xz"))
(sha256
(base32
- "1w97na5s420y08dcydqinbqb0rd9h4pfdnjbwslr0qvzsvlh2bbv"))))
+ "0k52acsywr849nw86dfjqcv1lqgnq01akqrm0qjs7ysm1ayg8mcp"))))
(arguments
(substitute-keyword-arguments (package-arguments qtsvg)
((#:phases phases)
@@ -702,7 +705,7 @@ developers using C++ or QML, a CSS & JavaScript like language.")
(define-public qtwebsockets
(package (inherit qtsvg)
(name "qtwebsockets")
- (version "5.8.0")
+ (version "5.9.0")
(source (origin
(method url-fetch)
(uri (string-append "https://download.qt.io/official_releases/qt/"
@@ -711,7 +714,7 @@ developers using C++ or QML, a CSS & JavaScript like language.")
version ".tar.xz"))
(sha256
(base32
- "1xa5p36grqxz3fa08amn7r3dy6k28g6y0gkc6jgj7lyhjzr0l4da"))))
+ "1ml60p50hr3f68l0fiyqg2pf6n37flzxafzasis42jm4m757m5v2"))))
(arguments
(substitute-keyword-arguments (package-arguments qtsvg)
((#:tests? _ #f) #f))) ; TODO: Enable the tests
@@ -723,7 +726,7 @@ developers using C++ or QML, a CSS & JavaScript like language.")
(define-public qtsensors
(package (inherit qtsvg)
(name "qtsensors")
- (version "5.8.0")
+ (version "5.9.0")
(source (origin
(method url-fetch)
(uri (string-append "https://download.qt.io/official_releases/qt/"
@@ -732,7 +735,7 @@ developers using C++ or QML, a CSS & JavaScript like language.")
version ".tar.xz"))
(sha256
(base32
- "15p7bp21yj4cdl5yfc9qnn4lhhiwiwx3b71lrb431kgqxhwhcp9s"))))
+ "0jdaw0i6rirs66x4cjh8l24fsyp020x1mv1psyf3ffbkdq1pngjx"))))
(native-inputs
`(("perl" ,perl)
("qtdeclarative" ,qtdeclarative)))
@@ -741,7 +744,7 @@ developers using C++ or QML, a CSS & JavaScript like language.")
(define-public qtmultimedia
(package (inherit qtsvg)
(name "qtmultimedia")
- (version "5.8.0")
+ (version "5.9.0")
(source (origin
(method url-fetch)
(uri (string-append "https://download.qt.io/official_releases/qt/"
@@ -750,7 +753,7 @@ developers using C++ or QML, a CSS & JavaScript like language.")
version ".tar.xz"))
(sha256
(base32
- "01sakngvsqr90qhrxyghfqdpddpxwbjyzzhm34k0hlpr6i409g58"))
+ "1vk0vlp9wapj1pip5v0v0sxynlig38m3a1qbjhid3rm27f971cqb"))
(modules '((guix build utils)))
(snippet
'(begin
@@ -776,7 +779,7 @@ developers using C++ or QML, a CSS & JavaScript like language.")
(define-public qtwayland
(package (inherit qtsvg)
(name "qtwayland")
- (version "5.8.0")
+ (version "5.9.0")
(source (origin
(method url-fetch)
(uri (string-append "https://download.qt.io/official_releases/qt/"
@@ -785,7 +788,11 @@ developers using C++ or QML, a CSS & JavaScript like language.")
version ".tar.xz"))
(sha256
(base32
- "06ilh55vaxbkyv7irw0n11gxgc34ypx2qhqawxzy7kllzg9zcl7z"))))
+ "0zlxlxrc15x69jwhcc6h0xi4mfchbb3pf27y3zy22yi3ynv2p04v"))
+ (modules '((guix build utils)))
+ (snippet
+ ;; The examples try to build and cause the build to fail
+ '(delete-file-recursively "examples"))))
(native-inputs
`(("glib" ,glib)
("perl" ,perl)
@@ -807,7 +814,7 @@ developers using C++ or QML, a CSS & JavaScript like language.")
(define-public qtserialport
(package (inherit qtsvg)
(name "qtserialport")
- (version "5.8.0")
+ (version "5.9.0")
(source (origin
(method url-fetch)
(uri (string-append "https://download.qt.io/official_releases/qt/"
@@ -816,7 +823,7 @@ developers using C++ or QML, a CSS & JavaScript like language.")
version ".tar.xz"))
(sha256
(base32
- "1b86al3zn1pxyk0n59vh8bqxrpz2m0j33ygclaqbxl1sszg7ycaj"))))
+ "0zwxfbyn5rg6vyrgpi5c3n852vd32m37ghzyj4l50ljndlz2w0l0"))))
(native-inputs `(("perl" ,perl)))
(inputs
`(("qtbase" ,qtbase)
@@ -825,7 +832,7 @@ developers using C++ or QML, a CSS & JavaScript like language.")
(define-public qtserialbus
(package (inherit qtsvg)
(name "qtserialbus")
- (version "5.8.0")
+ (version "5.9.0")
(source (origin
(method url-fetch)
(uri (string-append "https://download.qt.io/official_releases/qt/"
@@ -834,7 +841,7 @@ developers using C++ or QML, a CSS & JavaScript like language.")
version ".tar.xz"))
(sha256
(base32
- "02n1b1wrvfg6c7z15c5c5gv9r5gd4pp58jrd1a8d8fg3ybcksd2q"))))
+ "1zw32ha5hz7zsdp8m2dk58kivxd66vkzijbnhi8jvzjp4nf0pm1f"))))
(inputs
`(("qtbase" ,qtbase)
("qtserialport" ,qtserialport)))))
@@ -842,7 +849,7 @@ developers using C++ or QML, a CSS & JavaScript like language.")
(define-public qtwebchannel
(package (inherit qtsvg)
(name "qtwebchannel")
- (version "5.8.0")
+ (version "5.9.0")
(source (origin
(method url-fetch)
(uri (string-append "https://download.qt.io/official_releases/qt/"
@@ -851,7 +858,7 @@ developers using C++ or QML, a CSS & JavaScript like language.")
version ".tar.xz"))
(sha256
(base32
- "0jhbgp9rdp5lpwjrykxmg4lb60wk7gm3dldz5kp3b8ms2dab3xav"))))
+ "1fg1g2h9s9v6lg10ix59pzws35fyh3hh5x2005pyp84xdg47mvqj"))))
(native-inputs
`(("perl" ,perl)
("qtdeclarative" ,qtdeclarative)
@@ -861,7 +868,7 @@ developers using C++ or QML, a CSS & JavaScript like language.")
(define-public qtlocation
(package (inherit qtsvg)
(name "qtlocation")
- (version "5.8.0")
+ (version "5.9.0")
(source (origin
(method url-fetch)
(uri (string-append "https://download.qt.io/official_releases/qt/"
@@ -870,7 +877,7 @@ developers using C++ or QML, a CSS & JavaScript like language.")
version ".tar.xz"))
(sha256
(base32
- "1fqssa8rhq83lnxjcdh4ijqck3lmqglpk8yax8x17w49v6gf78a8"))))
+ "1xia1y1pjill9m880rgmsl2zshcg1nvwkyfdb2lz8g8x9fj0pvp3"))))
(arguments
(substitute-keyword-arguments (package-arguments qtsvg)
((#:tests? _ #f) #f))) ; TODO: Enable the tests
@@ -879,12 +886,16 @@ developers using C++ or QML, a CSS & JavaScript like language.")
("qtdeclarative" ,qtdeclarative)
("qtquickcontrols" ,qtquickcontrols)
("qtserialport" ,qtserialport)))
- (inputs `(("qtbase" ,qtbase)))))
+ (inputs
+ `(("icu4c" ,icu4c)
+ ("openssl" ,openssl)
+ ("qtbase" ,qtbase)
+ ("zlib" ,zlib)))))
(define-public qttools
(package (inherit qtsvg)
(name "qttools")
- (version "5.8.0")
+ (version "5.9.0")
(source (origin
(method url-fetch)
(uri (string-append "https://download.qt.io/official_releases/qt/"
@@ -893,7 +904,7 @@ developers using C++ or QML, a CSS & JavaScript like language.")
version ".tar.xz"))
(sha256
(base32
- "10wx4vydj91yag30457c7azx4ihrwky42l7zzwkbmdlksdv8xv4m"))))
+ "1vl5lapnbaam51pfw89pshh6rxqwfrbpj0j8gdhzdngr6n79dzk4"))))
(arguments
(substitute-keyword-arguments (package-arguments qtsvg)
((#:tests? _ #f) #f))) ; TODO: Enable the tests
@@ -907,7 +918,7 @@ developers using C++ or QML, a CSS & JavaScript like language.")
(define-public qtscript
(package (inherit qtsvg)
(name "qtscript")
- (version "5.8.0")
+ (version "5.9.0")
(source (origin
(method url-fetch)
(uri (string-append "https://download.qt.io/official_releases/qt/"
@@ -916,7 +927,7 @@ developers using C++ or QML, a CSS & JavaScript like language.")
version ".tar.xz"))
(sha256
(base32
- "1lssbsjf2p2ag02fjq6k6vk7vywhj4jsl286r2fqi78q5lfvjfi9"))
+ "0r697ap324l8lnbqbhrrqzsl9k4nmk6lcijxlaqn3ksxgfzbcciw"))
(patches (search-patches "qtscript-disable-tests.patch"))))
(native-inputs
`(("perl" ,perl)
@@ -927,7 +938,7 @@ developers using C++ or QML, a CSS & JavaScript like language.")
(define-public qtquickcontrols
(package (inherit qtsvg)
(name "qtquickcontrols")
- (version "5.8.0")
+ (version "5.9.0")
(source (origin
(method url-fetch)
(uri (string-append "https://download.qt.io/official_releases/qt/"
@@ -936,7 +947,7 @@ developers using C++ or QML, a CSS & JavaScript like language.")
version ".tar.xz"))
(sha256
(base32
- "09mkswxw7wa2l8xz9fbblxr1pbi86hggis55j4k8ifnrrw60vrq4"))))
+ "1zjl2wp5407y8iabwi30j4jpxh2j4y0ijb5jvvpdq583nbzgyg8p"))))
(arguments
(substitute-keyword-arguments (package-arguments qtsvg)
((#:tests? _ #f) #f))) ; TODO: Enable the tests
@@ -947,7 +958,7 @@ developers using C++ or QML, a CSS & JavaScript like language.")
(define-public qtquickcontrols2
(package (inherit qtsvg)
(name "qtquickcontrols2")
- (version "5.8.0")
+ (version "5.9.0")
(source (origin
(method url-fetch)
(uri (string-append "https://download.qt.io/official_releases/qt/"
@@ -956,7 +967,7 @@ developers using C++ or QML, a CSS & JavaScript like language.")
version ".tar.xz"))
(sha256
(base32
- "06yy98x4vic2yrlpp83gf4kvl7kd93q62k178w0cy4sgqxp8d6dh"))))
+ "170xgk4jw1b1rpq8838dc5sb0dyv1jap3yfgg5hymrjzrk0nzaq9"))))
(arguments
(substitute-keyword-arguments (package-arguments qtsvg)
((#:tests? _ #f) #f))) ; TODO: Enable the tests
@@ -967,7 +978,7 @@ developers using C++ or QML, a CSS & JavaScript like language.")
(define-public qtgraphicaleffects
(package (inherit qtsvg)
(name "qtgraphicaleffects")
- (version "5.8.0")
+ (version "5.9.0")
(source (origin
(method url-fetch)
(uri (string-append "https://download.qt.io/official_releases/qt/"
@@ -976,7 +987,7 @@ developers using C++ or QML, a CSS & JavaScript like language.")
version ".tar.xz"))
(sha256
(base32
- "06frknb7m8bgg55rs7jjm61iziisy2ykzrrc5dy3vj0aad89najz"))))
+ "1cz4ykwlm1c0hbv4d8y07bwyz87nkz5l9ss3f65vadm8zcabqw55"))))
(arguments
(substitute-keyword-arguments (package-arguments qtsvg)
((#:tests? _ #f) #f))) ; TODO: Enable the tests
@@ -1010,7 +1021,7 @@ developers using C++ or QML, a CSS & JavaScript like language.")
(define-public qtgamepad
(package (inherit qtsvg)
(name "qtgamepad")
- (version "5.8.0")
+ (version "5.9.0")
(source (origin
(method url-fetch)
(uri (string-append "https://download.qt.io/official_releases/qt/"
@@ -1019,7 +1030,7 @@ developers using C++ or QML, a CSS & JavaScript like language.")
version ".tar.xz"))
(sha256
(base32
- "0dwcrq60h802z694h4108figlr3yvp8fpzhwjzbjm503v8yaxw5j"))))
+ "0lpj2qspidx6s2568m5v40j2zdnrl8zwjdp40zg4y2q6hy2gg597"))))
(native-inputs
`(("perl" ,perl)
("pkg-config" ,pkg-config)))
@@ -1034,7 +1045,7 @@ developers using C++ or QML, a CSS & JavaScript like language.")
(define-public qtscxml
(package (inherit qtsvg)
(name "qtscxml")
- (version "5.8.0")
+ (version "5.9.0")
(source (origin
(method url-fetch)
(uri (string-append "https://download.qt.io/official_releases/qt/"
@@ -1043,7 +1054,7 @@ developers using C++ or QML, a CSS & JavaScript like language.")
version ".tar.xz"))
(sha256
(base32
- "1i4xl24q4i32mbhyndrwaz0xj79d9n84s320gmkf5rwnfcwrvfxn"))
+ "0f2jnhl30ij6y4wzlvgjsqgpaywq4g0wc4yjw8s888vcfl062nb4"))
(modules '((guix build utils)))
(snippet
'(begin
@@ -1058,7 +1069,7 @@ developers using C++ or QML, a CSS & JavaScript like language.")
(define-public qtpurchasing
(package (inherit qtsvg)
(name "qtpurchasing")
- (version "5.8.0")
+ (version "5.9.0")
(source (origin
(method url-fetch)
(uri (string-append "https://download.qt.io/official_releases/qt/"
@@ -1067,7 +1078,7 @@ developers using C++ or QML, a CSS & JavaScript like language.")
version ".tar.xz"))
(sha256
(base32
- "0mdkw73yx1csz9mf3wl0w1x1b8cv9j5px4nvakrknkjzaa9qgzdk"))))
+ "0xcka24qjdydqhf7fhn2i2ycn3zsi4vzqv9s77wzmaksrazwb13q"))))
(inputs
`(("qtbase" ,qtbase)
("qtdeclarative" ,qtdeclarative)))))
@@ -1075,7 +1086,7 @@ developers using C++ or QML, a CSS & JavaScript like language.")
(define-public qtcanvas3d
(package (inherit qtsvg)
(name "qtcanvas3d")
- (version "5.8.0")
+ (version "5.9.0")
(source (origin
(method url-fetch)
(uri (string-append "https://download.qt.io/official_releases/qt/"
@@ -1084,7 +1095,7 @@ developers using C++ or QML, a CSS & JavaScript like language.")
version ".tar.xz"))
(sha256
(base32
- "18yaikbwk4d7sh09psi3kjn1mxjp4d2f3qchfzgq5x96yn8gfijl"))
+ "1jrv79rhpqyp4ip5fnf40plqcq9byl1fy8287ghq4jfhpm9bq5yq"))
(modules '((guix build utils)))
(snippet
'(delete-file-recursively "examples/canvas3d/3rdparty"))))
@@ -1109,7 +1120,7 @@ developers using C++ or QML, a CSS & JavaScript like language.")
(define-public qtcharts
(package (inherit qtsvg)
(name "qtcharts")
- (version "5.8.0")
+ (version "5.9.0")
(source (origin
(method url-fetch)
(uri (string-append "https://download.qt.io/official_releases/qt/"
@@ -1118,7 +1129,7 @@ developers using C++ or QML, a CSS & JavaScript like language.")
version ".tar.xz"))
(sha256
(base32
- "11m5g1fxip6z2xk1z6g6h4rq7v282qbkxflan8hs87hadnzars03"))))
+ "17m86csjymvcnprk8m4y6hx1qhlk9811rhqwwkqdymyyswx6xs3l"))))
(arguments
(substitute-keyword-arguments (package-arguments qtsvg)
((#:tests? _ #f) #f))) ; TODO: Enable the tests
@@ -1129,7 +1140,7 @@ developers using C++ or QML, a CSS & JavaScript like language.")
(define-public qtdatavis3d
(package (inherit qtsvg)
(name "qtdatavis3d")
- (version "5.8.0")
+ (version "5.9.0")
(source (origin
(method url-fetch)
(uri (string-append "https://download.qt.io/official_releases/qt/"
@@ -1138,7 +1149,7 @@ developers using C++ or QML, a CSS & JavaScript like language.")
version ".tar.xz"))
(sha256
(base32
- "1n2vdf6n7pr9xrjwbvbar899q74shx6cy19x32adxfn2iilygwbp"))))
+ "1wvilla48jlw6zv2hc32ra0bs8p13s68sqbgr91bzbn7h7qaysv9"))))
(arguments
(substitute-keyword-arguments (package-arguments qtsvg)
((#:tests? _ #f) #f))) ; TODO: Enable the tests
@@ -1441,7 +1452,7 @@ different kinds of sliders, and much more.")
(define-public qtwebkit
(package
(name "qtwebkit")
- (version "5.8.0")
+ (version "5.9.0")
(source
(origin
(method url-fetch)
@@ -1453,7 +1464,7 @@ different kinds of sliders, and much more.")
;; <http://lists.qt-project.org/pipermail/development/2016-May/025923.html>.
(sha256
(base32
- "1v0vj6slyh19mjrrpbqdzb47fr0f4xk7bc8803xjzybb11h8dbkr"))))
+ "012fd8khiasfn8wx5ci310y94ap3y90a011f66cajm80fhxikbcd"))))
(build-system gnu-build-system)
(native-inputs
`(("perl" ,perl)
diff --git a/gnu/packages/regex.scm b/gnu/packages/regex.scm
index 2b32aa3381..18b7a7ed79 100644
--- a/gnu/packages/regex.scm
+++ b/gnu/packages/regex.scm
@@ -28,7 +28,7 @@
(define-public re2
(package
(name "re2")
- (version "2017-05-01")
+ (version "2017-06-01")
(source (origin
(method url-fetch)
(uri
@@ -38,7 +38,7 @@
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
- "19glvic4ipd122yhcavf7ifg7ms5k61398vq7gyb90wggf2w0z9k"))))
+ "0bjhmmcx17mc8gfbf3cc4bwjcyf415mas3026v3c35g5fsaxyq5v"))))
(build-system gnu-build-system)
(arguments
`(#:modules ((guix build gnu-build-system)
diff --git a/gnu/packages/scheme.scm b/gnu/packages/scheme.scm
index f6aee005c4..eacfd733db 100644
--- a/gnu/packages/scheme.scm
+++ b/gnu/packages/scheme.scm
@@ -7,6 +7,7 @@
;;; Copyright © 2016 Jan Nieuwenhuizen <janneke@gnu.org>
;;; Copyright © 2016, 2017 ng0 <contact.ng0@cryptolab.net>
;;; Copyright © 2017 John Darrington <jmd@gnu.org>
+;;; Copyright © 2017 Clément Lassieur <clement@lassieur.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -780,7 +781,9 @@ engineering.")
(let ((gzip (assoc-ref %build-inputs "gzip"))
(source (assoc-ref %build-inputs "source"))
(texinfo (assoc-ref %build-inputs "texinfo"))
+ (html-dir (string-append %output "/share/doc/" ,name "/html"))
(info-dir (string-append %output "/share/info")))
+ (copy-recursively (string-append source "/html") html-dir)
(setenv "PATH" (string-append gzip "/bin"
":" texinfo "/bin"))
(mkdir-p info-dir)
diff --git a/gnu/packages/shells.scm b/gnu/packages/shells.scm
index 47d3a46148..5e04e86539 100644
--- a/gnu/packages/shells.scm
+++ b/gnu/packages/shells.scm
@@ -459,6 +459,111 @@ and redirections, and a complete syscall library for low-level access to the
operating system.")
(license bsd-3))))
+(define-public linenoise
+ (package
+ (name "linenoise")
+ (version "1.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://github.com/antirez/linenoise/"
+ "archive/" version ".tar.gz"))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "05006hd56xcvxjdpll4x720bpfan7vwqmxbw8a2kvm10w57ll1gm"))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:tests? #f ;No tests are included
+ #:make-flags (list "CC=gcc")
+ #:phases
+ (modify-phases %standard-phases
+ (delete 'configure)
+ (replace 'install
+ (lambda* (#:key outputs #:allow-other-keys)
+ ;; At the moment there is no 'make install' in upstream.
+ (let* ((out (assoc-ref outputs "out")))
+ (install-file "linenoise.h"
+ (string-append out "/include/linenoise"))
+ (install-file "linenoise.c"
+ (string-append out "/include/linenoise"))
+ #t))))))
+ (home-page "https://github.com/antirez/linenoise")
+ (synopsis "Minimal zero-config readline replacement")
+ (description
+ "Linenoise is a minimal, zero-config, readline replacement.
+Its features include:
+
+@enumerate
+@item Single and multi line editing mode with the usual key bindings
+@item History handling
+@item Completion
+@item Hints (suggestions at the right of the prompt as you type)
+@item A subset of VT100 escapes, ANSI.SYS compatible
+@end enumerate\n")
+ (license bsd-2)))
+
+(define-public s
+ (let ((commit "6604341edb3a775ff94415762af3ee9bd86bfb3c")
+ (revision "1"))
+ (package
+ (name "s")
+ (version (string-append "0.0.0-" revision "." (string-take commit 7)))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/rain-1/s")
+ (commit commit)))
+ (file-name (string-append name "-" version "-checkout"))
+ (sha256
+ (base32
+ "1075cml6dl15d770j3m12yz90cjacsdslbv3gank1nxd76vmpdcr"))))
+ (build-system gnu-build-system)
+ (inputs
+ `(("linenoise" ,linenoise)))
+ (arguments
+ `(#:tests? #f
+ #:make-flags (list "CC=gcc")
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'install-directory-fix
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+ (bin (string-append out "/bin")))
+ (substitute* "Makefile"
+ (("out") bin))
+ #t)))
+ (add-after 'install 'manpage
+ (lambda* (#:key outputs #:allow-other-keys)
+ (install-file "s.1" (string-append (assoc-ref outputs "out")
+ "/share/man/man1"))))
+ (replace 'configure
+ (lambda* (#:key inputs outputs #:allow-other-keys)
+ ;; At this point linenoise is meant to be included,
+ ;; so we have to really copy it into the working directory
+ ;; of s.
+ (let* ((linenoise (assoc-ref inputs "linenoise"))
+ (noisepath (string-append linenoise "/include/linenoise"))
+ (out (assoc-ref outputs "out")))
+ (copy-recursively noisepath "linenoise")
+ (substitute* "s.c"
+ (("/bin/s") (string-append out "/bin/s")))
+ #t))))))
+ (home-page "https://github.com/rain-1/s")
+ (synopsis "Extremely minimal shell with the simplest syntax possible")
+ (description
+ "S is a new shell that aims to be extremely simple.
+S does not implemnt the POSIX shell standard.
+There are no globs or \"splatting\" where a variable $FOO turns into multiple
+command line arguments. One token stays one token forever.
+This is a \"no surprises\" straightforward approach.
+
+There are no redirection operators > in the shell language, they are added as
+extra programs. > is just another unix command, < is essentially cat(1).
+A @code{andglob} program is also provided along with s.")
+ (license bsd-3))))
+
(define-public loksh
(package
(name "loksh")
diff --git a/gnu/packages/ssh.scm b/gnu/packages/ssh.scm
index c96ed0a72b..d79663a2b5 100644
--- a/gnu/packages/ssh.scm
+++ b/gnu/packages/ssh.scm
@@ -58,15 +58,16 @@
(define-public libssh
(package
(name "libssh")
- (version "0.7.4")
+ (version "0.7.5")
(source (origin
(method url-fetch)
(uri (string-append
- "https://red.libssh.org/attachments/download/210/libssh-"
+ "https://red.libssh.org/attachments/download/218/libssh-"
version ".tar.xz"))
(sha256
(base32
- "03bcp9ksqp0s1pmwfmzhcknvkxay5k0mjzzxp3rjlifbng1vxq9r"))))
+ "15bh6dm9c50ndddzh3gqcgw7axp3ghrspjpkb1z3dr90vkanvs2l"))
+ (patches (search-patches "libssh-hostname-parser-bug.patch"))))
(build-system cmake-build-system)
(outputs '("out" "debug"))
(arguments
diff --git a/gnu/packages/terminals.scm b/gnu/packages/terminals.scm
index a8007586c9..028cc99bfd 100644
--- a/gnu/packages/terminals.scm
+++ b/gnu/packages/terminals.scm
@@ -1,7 +1,7 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2015, 2016 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016 Mckinley Olsen <mck.olsen@gmail.com>
-;;; Copyright © 2016 Alex Griffin <a@ajgrf.com>
+;;; Copyright © 2016, 2017 Alex Griffin <a@ajgrf.com>
;;; Copyright © 2016 David Craven <david@craven.ch>
;;; Copyright © 2016 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2016, 2017 José Miguel Sánchez García <jmi2k@openmailbox.org>
@@ -146,17 +146,14 @@ insert mode and command mode where keybindings have different functions.")
(define-public asciinema
(package
(name "asciinema")
- (version "1.3.0")
+ (version "1.4.0")
(source
(origin
(method url-fetch)
- (uri (string-append
- "https://pypi.python.org/packages/06/96/93947d9be78aebb7985014fdf"
- "4d84896dd0f62514d922ee03f5bb55a21fb/asciinema-" version
- ".tar.gz"))
+ (uri (pypi-uri "asciinema" version))
(sha256
(base32
- "1crdm9zfdbjflvz1gsqvy5zsbgwdfkj34z69kg6h5by70rrs1hdc"))))
+ "1jrf8c8711gkdilmvyv3d37kp8xfvdc5cqighw5k92a6g9z4acgv"))))
(build-system python-build-system)
(arguments
`(#:phases
diff --git a/gnu/packages/version-control.scm b/gnu/packages/version-control.scm
index cd684c04e7..32c9a132a6 100644
--- a/gnu/packages/version-control.scm
+++ b/gnu/packages/version-control.scm
@@ -14,6 +14,7 @@
;;; Copyright © 2017 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2017 Vasile Dumitrascu <va511e@yahoo.com>
;;; Copyright © 2017 Clément Lassieur <clement@lassieur.org>
+;;; Copyright © 2017 André <eu@euandre.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -335,7 +336,9 @@ everything from small to very large projects with speed and efficiency.")
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
- "1cdwcw38frc1wf28x5ppddazv9hywc718j92f3xa3ybzzycyds3s"))))
+ "1cdwcw38frc1wf28x5ppddazv9hywc718j92f3xa3ybzzycyds3s"))
+ (patches (search-patches "libgit2-use-after-free.patch"
+ "libgit2-0.25.1-mtime-0.patch"))))
(build-system cmake-build-system)
(arguments
`(#:phases
@@ -348,25 +351,13 @@ everything from small to very large projects with speed and efficiency.")
(("/bin/cp") (which "cp"))
(("/bin/rm") (which "rm")))
#t))
- (add-after 'unpack 'apply-patch
- (lambda* (#:key inputs #:allow-other-keys)
- ;; XXX: For some reason adding the patch in 'patches', which
- ;; leads to a new tarball with all timestamps reset and ordering
- ;; by name (slightly different file order compared to the
- ;; original tarball) leads to an obscure Python error while
- ;; running 'generate.py':
- ;; 'Module' object has no attribute 'callbacks'
- ;; Thus, apply the patch here, which minimizes disruption.
- (let ((patch (assoc-ref inputs "patch")))
- (zero? (system* "patch" "-p1" "--force" "--input" patch)))))
;; Run checks more verbosely.
(replace 'check
(lambda _ (zero? (system* "./libgit2_clar" "-v" "-Q")))))))
(inputs
`(("libssh2" ,libssh2)
("libcurl" ,curl)
- ("python" ,python-wrapper)
- ("patch" ,(search-patch "libgit2-use-after-free.patch"))))
+ ("python" ,python-wrapper)))
(native-inputs
`(("pkg-config" ,pkg-config)))
(propagated-inputs
@@ -423,6 +414,49 @@ as keys or passwords) in the same repository as your code, without requiring you
to lock down your entire repository.")
(license license:gpl3+)))
+(define-public git-remote-gcrypt
+ (package
+ (name "git-remote-gcrypt")
+ (version "1.0.1")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://git.spwhitton.name/git-remote-gcrypt")
+ (commit version)))
+ (file-name (string-append name "-" version "-checkout"))
+ (sha256
+ (base32
+ "0znrx77vpm4a8l7yiybsxk5vrawijqqfxmp1p2yhaaw8cbgrj7az"))))
+ (build-system trivial-build-system)
+ (arguments
+ `(#:modules ((guix build utils))
+ #:builder (begin
+ (use-modules (guix build utils))
+ (let* ((source (assoc-ref %build-inputs "source"))
+ (output (assoc-ref %outputs "out"))
+ (bindir (string-append output "/bin")))
+ (install-file (string-append source "/git-remote-gcrypt")
+ bindir)
+ #t))))
+ (home-page "https://spwhitton.name/tech/code/git-remote-gcrypt/")
+ (synopsis "Whole remote repository encryption")
+ (description "git-remote-gcrypt is a Git remote helper to push and pull from
+repositories encrypted with GnuPG. It works with the standard Git transports,
+including repository hosting services like GitLab.
+
+Remote helper programs are invoked by Git to handle network transport. This
+helper handles @code{gcrypt:} URLs that access a remote repository encrypted
+with GPG, using our custom format.
+
+Supported locations are local, @code{rsync://} and @code{sftp://}, where the
+repository is stored as a set of files, or instead any Git URL where gcrypt
+will store the same representation in a Git repository, bridged over arbitrary
+Git transport.
+
+The aim is to provide confidential, authenticated Git storage and
+collaboration using typical untrusted file hosts or services.")
+ (license license:gpl3+)))
+
(define-public cgit
(package
(name "cgit")
diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm
index bfe3063242..4d1cecc4ef 100644
--- a/gnu/packages/video.scm
+++ b/gnu/packages/video.scm
@@ -18,6 +18,8 @@
;;; Copyright © 2017 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2017 Chris Marusich <cmmarusich@gmail.com>
;;; Copyright © 2017 Thomas Danckaert <post@thomasdanckaert.be>
+;;; Copyright © 2017 Ethan R. Jones <doubleplusgood23@gmail.com>
+;;; Copyright © 2017 Clément Lassieur <clement@lassieur.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -58,6 +60,7 @@
#:use-module (gnu packages cdrom)
#:use-module (gnu packages cmake)
#:use-module (gnu packages compression)
+ #:use-module (gnu packages cpp)
#:use-module (gnu packages curl)
#:use-module (gnu packages databases)
#:use-module (gnu packages dejagnu)
@@ -308,7 +311,7 @@ designed to encode video or images into an H.265 / HEVC encoded bitstream.")
(define-public libass
(package
(name "libass")
- (version "0.13.6")
+ (version "0.13.7")
(source (origin
(method url-fetch)
(uri (string-append
@@ -316,7 +319,7 @@ designed to encode video or images into an H.265 / HEVC encoded bitstream.")
version "/libass-" version ".tar.xz"))
(sha256
(base32
- "0b9cj5xfsa7zwlk5m146fhv102v51iqs3rapq0n2xrz30k8p9a7q"))))
+ "17byv926w1mxn56n896sxvdq4m0yv1l7qbm688h6zr3nzgsyarbh"))))
(build-system gnu-build-system)
(native-inputs
`(("pkg-config" ,pkg-config)
@@ -657,7 +660,10 @@ audio/video codec library.")
"1a22b913p2227ljz89c4fgjlyln5gcz8z58w32r0wh4srnnd60y4"))))
(build-system gnu-build-system)
(native-inputs
- `(("git" ,git) ; needed for a test
+ `(("autoconf" ,autoconf)
+ ("automake" ,automake)
+ ("git" ,git) ; needed for a test
+ ("libtool" ,libtool)
("pkg-config" ,pkg-config)))
;; FIXME: Add optional inputs once available.
(inputs
@@ -671,6 +677,7 @@ audio/video codec library.")
("gnutls" ,gnutls)
("liba52" ,liba52)
("libcddb" ,libcddb)
+ ("libdvbpsi" ,libdvbpsi)
("libgcrypt" ,libgcrypt)
("libkate" ,libkate)
("libmad" ,libmad)
@@ -685,6 +692,7 @@ audio/video codec library.")
("libxinerama" ,libxinerama)
("libxml2" ,libxml2)
("libxpm" ,libxpm)
+ ("livemedia-utils" ,livemedia-utils)
("lua" ,lua-5.1)
("mesa" ,mesa)
("opus" ,opus)
@@ -712,6 +720,15 @@ audio/video codec library.")
#:phases
(modify-phases %standard-phases
+ (add-before 'configure 'bootstrap
+ (lambda _ (zero? (system* "sh" "bootstrap"))))
+ (add-before 'bootstrap 'fix-livemedia-utils-prefix
+ (lambda* (#:key inputs #:allow-other-keys)
+ (let ((livemedia-utils (assoc-ref inputs "livemedia-utils")))
+ (substitute* "configure.ac"
+ (("LIVE555_PREFIX=\\$\\{LIVE555_PREFIX-\"/usr\"\\}")
+ (string-append "LIVE555_PREFIX=" livemedia-utils)))
+ #t)))
(add-before 'configure 'remove-visual-tests
;; Some of the tests require using the display to test out VLC,
;; which fails in our sandboxed build system
@@ -2052,3 +2069,163 @@ file format that has been used as a multimedia file format in a variety of platf
applications. It is a very powerful and extensible format that can accommodate
practically any type of media.")
(license license:mpl1.1)))
+
+(define-public libmediainfo
+ (package
+ (name "libmediainfo")
+ (version "0.7.95")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "https://mediaarea.net/download/source/"
+ name "/" version"/"
+ name "_" version ".tar.bz2"))
+ (sha256
+ (base32
+ "1kchh6285b07z5nixv619hc9gml2ysdayicdiv30frrlqiyxqw4b"))))
+ ;; TODO add a Big Buck Bunny webm for tests.
+ (native-inputs
+ `(("autoconf" ,autoconf)
+ ("automake" ,automake)
+ ("libtool" ,libtool)
+ ("pkg-config" ,pkg-config)
+ ("zlib" ,zlib)
+ ("tinyxml2" ,tinyxml2)
+ ("curl" ,curl)
+ ("libzen" ,libzen)))
+ (build-system gnu-build-system)
+ (arguments
+ '(#:tests? #f ; see above TODO
+ #:phases
+ ;; build scripts not in root of archive
+ (modify-phases %standard-phases
+ (add-before 'configure 'pre-configure
+ (lambda _
+ (chdir "Project/GNU/Library")))
+ (add-before 'configure 'autogen
+ (lambda _
+ (zero? (system* "./autogen.sh")))))))
+ (home-page "https://mediaarea.net/en/MediaInfo")
+ (synopsis "Library for retrieving media metadata")
+ (description "MediaInfo is a library used for retrieving technical
+information and other metadata about audio or video files. A non-exhaustive
+list of the information MediaInfo can retrieve from media files include:
+
+@itemize
+@item General: title, author, director, album, track number, date, duration...
+@item Video: codec, aspect, fps, bitrate...
+@item Audio: codec, sample rate, channels, language, bitrate...
+@item Text: language of subtitle
+@item Chapters: number of chapters, list of chapters
+@end itemize
+
+MediaInfo supports the following formats:
+
+@itemize
+@item Video: MKV, OGM, AVI, DivX, WMV, QuickTime, Real, MPEG-1,
+MPEG-2, MPEG-4, DVD (VOB)...
+@item Video Codecs: DivX, XviD, MSMPEG4, ASP, H.264, AVC...)
+@item Audio: OGG, MP3, WAV, RA, AC3, DTS, AAC, M4A, AU, AIFF...
+@item Subtitles: SRT, SSA, ASS, SAMI...
+@end itemize\n")
+ (license license:bsd-2)))
+
+;; TODO also have a GUI version available
+(define-public mediainfo
+ (package
+ (name "mediainfo")
+ (version "0.7.95")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "https://mediaarea.net/download/source/"
+ name "/" version "/"
+ name "_" version ".tar.bz2"))
+ (sha256
+ (base32
+ "0dy51a3i79jppmg1gi4f6h7jx4hcgnkmfim4d7d3gmnlbkjh8anv"))))
+ (native-inputs
+ `(("autoconf" ,autoconf)
+ ("automake" ,automake)
+ ("libtool" ,libtool)
+ ("pkg-config" ,pkg-config)
+ ("zlib" ,zlib)
+ ("libmediainfo", libmediainfo)
+ ("libzen" ,libzen)))
+ (build-system gnu-build-system)
+ (arguments
+ '(#:tests? #f ; lacks tests
+ #:phases
+ ;; build scripts not in root of archive
+ (modify-phases %standard-phases
+ (add-before 'configure 'pre-configure
+ (lambda _
+ (chdir "Project/GNU/CLI")))
+ (add-before 'configure 'autogen
+ (lambda _
+ (zero? (system* "./autogen.sh")))))))
+ (home-page "https://mediaarea.net/en/MediaInfo")
+ (synopsis "Utility for reading media metadata")
+ (description "MediaInfo is a utility used for retrieving technical
+information and other metadata about audio or video files. It supports the
+many codecs and formats supported by libmediainfo.")
+ (license license:bsd-2)))
+
+(define-public livemedia-utils
+ (package
+ (name "livemedia-utils")
+ (version "2017.05.24")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append
+ "http://www.live555.com/liveMedia/public/live."
+ version ".tar.gz"))
+ (sha256
+ (base32
+ "1ra64j3qa89hf3xika8jz9gd8al8mcaqlk5ivw5pclnd2df5f4im"))))
+ (build-system gnu-build-system)
+ (arguments
+ '(#:tests? #f ; no tests
+ #:make-flags (list "CC=gcc"
+ (string-append "LDFLAGS=-Wl,-rpath="
+ (assoc-ref %outputs "out") "/lib")
+ (string-append "PREFIX="
+ (assoc-ref %outputs "out")))
+ #:phases (modify-phases %standard-phases
+ (add-before 'configure 'fix-makefiles-generation
+ (lambda _
+ (substitute* "genMakefiles"
+ (("/bin/rm") "rm"))
+ #t))
+ (replace 'configure
+ (lambda _
+ (zero? (system* "./genMakefiles"
+ "linux-with-shared-libraries")))))))
+ (home-page "http://www.live555.com/liveMedia/")
+ (synopsis "Set of C++ libraries for multimedia streaming")
+ (description "This code forms a set of C++ libraries for multimedia
+streaming, using open standard protocols (RTP/RTCP, RTSP, SIP). The libraries
+can be used to stream, receive, and process MPEG, H.265, H.264, H.263+, DV or
+JPEG video, and several audio codecs. They can easily be extended to support
+additional (audio and/or video) codecs, and can also be used to build basic
+RTSP or SIP clients and servers.")
+ (license license:lgpl3+)))
+
+(define-public libdvbpsi
+ (package
+ (name "libdvbpsi")
+ (version "1.3.1")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append
+ "https://download.videolan.org/pub/libdvbpsi/"
+ version "/libdvbpsi-" version ".tar.bz2"))
+ (sha256
+ (base32
+ "0824r08kaspbrrg2dd5d46s475zb7j59brqkm2y6x3mdsnpng0yn"))))
+ (build-system gnu-build-system)
+ (home-page "https://www.videolan.org/developers/libdvbpsi.html")
+ (synopsis "Library for decoding and generation of MPEG TS and DVB PSI
+tables")
+ (description "libdvbpsi is a simple library designed for decoding and
+generation of MPEG TS and DVB PSI tables according to standards ISO/IEC 13818s
+and ITU-T H.222.0.")
+ (license license:lgpl2.1)))
diff --git a/gnu/packages/vtk.scm b/gnu/packages/vtk.scm
deleted file mode 100644
index 5a5c941270..0000000000
--- a/gnu/packages/vtk.scm
+++ /dev/null
@@ -1,93 +0,0 @@
-;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2014 Ludovic Courtès <ludo@gnu.org>
-;;; Copyright © 2014 Mark H Weaver <mhw@netris.org>
-;;; Copyright © 2016 Eric Bavier <bavier@member.fsf.org>
-;;;
-;;; This file is part of GNU Guix.
-;;;
-;;; GNU Guix is free software; you can redistribute it and/or modify it
-;;; under the terms of the GNU General Public License as published by
-;;; the Free Software Foundation; either version 3 of the License, or (at
-;;; your option) any later version.
-;;;
-;;; GNU Guix is distributed in the hope that it will be useful, but
-;;; WITHOUT ANY WARRANTY; without even the implied warranty of
-;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-;;; GNU General Public License for more details.
-;;;
-;;; You should have received a copy of the GNU General Public License
-;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
-
-(define-module (gnu packages vtk)
- #:use-module (guix packages)
- #:use-module (guix download)
- #:use-module ((guix licenses) #:select (bsd-3))
- #:use-module (guix utils)
- #:use-module (guix build-system cmake)
- #:use-module (gnu packages)
- #:use-module (gnu packages compression)
- #:use-module (gnu packages fontutils)
- #:use-module (gnu packages gl)
- #:use-module (gnu packages image)
- #:use-module (gnu packages maths)
- #:use-module (gnu packages serialization)
- #:use-module (gnu packages xiph)
- #:use-module (gnu packages xml)
- #:use-module (gnu packages xorg))
-
-(define-public vtk
- (package
- (name "vtk")
- (version "7.1.0")
- (source (origin
- (method url-fetch)
- (uri (string-append "http://www.vtk.org/files/release/"
- (version-major+minor version)
- "/VTK-" version ".tar.gz"))
- (sha256
- (base32
- "0yj96z58haan77gzilnqp7xpf8hg5jk11a3jx55p2ksd400s0gjz"))))
- (build-system cmake-build-system)
- (arguments
- '(#:build-type "Release" ;Build without '-g' to save space.
- ;; -DVTK_USE_SYSTEM_NETCDF:BOOL=TRUE requires netcdf_cxx
- #:configure-flags '("-DVTK_USE_SYSTEM_EXPAT:BOOL=TRUE"
- "-DVTK_USE_SYSTEM_FREETYPE:BOOL=TRUE"
- "-DVTK_USE_SYSTEM_HDF5:BOOL=TRUE"
- "-DVTK_USE_SYSTEM_JPEG:BOOL=TRUE"
- "-DVTK_USE_SYSTEM_JSONCPP:BOOL=TRUE"
- "-DVTK_USE_SYSTEM_LIBXML2:BOOL=TRUE"
- "-DVTK_USE_SYSTEM_OGGTHEORA:BOOL=TRUE"
- "-DVTK_USE_SYSTEM_PNG:BOOL=TRUE"
- "-DVTK_USE_SYSTEM_TIFF:BOOL=TRUE"
- "-DVTK_USE_SYSTEM_ZLIB:BOOL=TRUE")
- #:tests? #f)) ;XXX: no "test" target
- (inputs
- `(("libXt" ,libxt)
- ("xproto" ,xproto)
- ("libX11" ,libx11)
- ("libxml2" ,libxml2)
- ("mesa" ,mesa)
- ("glu" ,glu)
- ("expat" ,expat)
- ("freetype" ,freetype)
- ("hdf5" ,hdf5)
- ("jpeg" ,libjpeg)
- ("jsoncpp" ,jsoncpp)
- ("libogg" ,libogg)
- ("libtheora" ,libtheora)
- ("png" ,libpng)
- ("tiff" ,libtiff)
- ("zlib" ,zlib)))
- (home-page "http://www.vtk.org/")
- (synopsis "Libraries for 3D computer graphics")
- (description
- "The Visualization Toolkit (VTK) is a C++ library for 3D computer graphics,
-image processing and visualization. It supports a wide variety of
-visualization algorithms including: scalar, vector, tensor, texture, and
-volumetric methods; and advanced modeling techniques such as: implicit
-modeling, polygon reduction, mesh smoothing, cutting, contouring, and Delaunay
-triangulation. VTK has an extensive information visualization framework, has
-a suite of 3D interaction widgets, supports parallel processing, and
-integrates with various databases on GUI toolkits such as Qt and Tk.")
- (license bsd-3)))
diff --git a/gnu/packages/wine.scm b/gnu/packages/wine.scm
index 9c82e01d67..34f145b89b 100644
--- a/gnu/packages/wine.scm
+++ b/gnu/packages/wine.scm
@@ -2,6 +2,7 @@
;;; Copyright © 2014, 2015 Sou Bunnbu <iyzsong@gmail.com>
;;; Copyright © 2016 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2016, 2017 Efraim Flashner <efraim@flashner.co.il>
+;;; Copyright © 2017 Rutger Helling <rhelling@mykolab.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -54,14 +55,14 @@
(define-public wine
(package
(name "wine")
- (version "2.4")
+ (version "2.9")
(source (origin
(method url-fetch)
(uri (string-append "https://dl.winehq.org/wine/source/2.x"
"/wine-" version ".tar.xz"))
(sha256
(base32
- "13klfadvd44zdfrzh38al99s53i02x3mlhcj5z7fq7vqwh3xzdc7"))))
+ "0pslhs3kwjimlz5ad6vzzdw7lgbfpwl8vyg4jmf17p61pfxzfimc"))))
(build-system gnu-build-system)
(native-inputs `(("pkg-config" ,pkg-config)
("gettext" ,gettext-minimal)
diff --git a/gnu/packages/xdisorg.scm b/gnu/packages/xdisorg.scm
index a2230c4e93..5007320c9c 100644
--- a/gnu/packages/xdisorg.scm
+++ b/gnu/packages/xdisorg.scm
@@ -441,7 +441,7 @@ of the screen selected by mouse.")
(define-public slop
(package
(name "slop")
- (version "6.3.38")
+ (version "6.3.41")
(source (origin
(method url-fetch)
(uri (string-append
@@ -450,7 +450,7 @@ of the screen selected by mouse.")
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
- "1jh08k7nqx6hr4rmb5damzqhnqiac439i6i51fmzymzw3fqykas8"))))
+ "1yiv0ak1z7zbmcdw0dwx2gpblrh7l7s3l7y7sgpx071dy8s4rqpb"))))
(build-system cmake-build-system)
(arguments
'(#:tests? #f)) ; no "check" target
@@ -472,7 +472,7 @@ selection's dimensions to stdout.")
(define-public maim
(package
(name "maim")
- (version "5.4.62")
+ (version "5.4.63")
(source (origin
(method url-fetch)
(uri (string-append
@@ -481,7 +481,7 @@ selection's dimensions to stdout.")
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
- "084czvwcicl8apjlv729inxx8rpycra76ignfjmcbaq0hhn6ip6w"))))
+ "0ncly3mmg9pihda3jfwmvfa4sd3xanrm8hpvfq7lr2rl8rqknx80"))))
(build-system cmake-build-system)
(arguments
'(#:tests? #f)) ; no "check" target
@@ -958,6 +958,32 @@ demos. It also acts as a nice screen locker.")
"http://metadata.ftp-master.debian.org/changelogs/"
"/main/x/xscreensaver/xscreensaver_5.36-1_copyright")))))
+(define-public xsel
+ (package
+ (name "xsel")
+ (version "1.2.0")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "http://www.vergenet.net/~conrad/software"
+ "/xsel/download/xsel-" version ".tar.gz"))
+ (sha256
+ (base32
+ "070lbcpw77j143jrbkh0y1v10ppn1jwmjf92800w7x42vh4cw9xr"))))
+ (build-system gnu-build-system)
+ (inputs
+ `(("libxt" ,libxt)))
+ (home-page "http://www.vergenet.net/~conrad/software/xsel/")
+ (synopsis "Manipulate X selection")
+ (description
+ "XSel is a command-line program for getting and setting the contents of
+the X selection. Normally this is only accessible by manually highlighting
+information and pasting it with the middle mouse button.
+
+XSel reads from standard input and writes to standard output by default,
+but can also follow a growing file, display contents, delete entries and more.")
+ (license (license:x11-style "file://COPYING"
+ "See COPYING in the distribution."))))
+
(define-public xdpyprobe
(package
(name "xdpyprobe")