summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.gitignore5
-rw-r--r--Makefile.am25
-rw-r--r--gnu/build/file-systems.scm66
-rw-r--r--gnu/local.mk4
-rw-r--r--gnu/packages.scm24
-rw-r--r--gnu/packages/admin.scm8
-rw-r--r--gnu/packages/algebra.scm8
-rw-r--r--gnu/packages/astronomy.scm41
-rw-r--r--gnu/packages/aux-files/emacs/guix-emacs.el (renamed from emacs/guix-emacs.el)21
-rw-r--r--gnu/packages/aux-files/linux-libre/4.1-i686.conf (renamed from gnu/packages/linux-libre-4.1-i686.conf)0
-rw-r--r--gnu/packages/aux-files/linux-libre/4.1-x86_64.conf (renamed from gnu/packages/linux-libre-4.1-x86_64.conf)0
-rw-r--r--gnu/packages/aux-files/linux-libre/4.10-i686.conf (renamed from gnu/packages/linux-libre-4.10-i686.conf)0
-rw-r--r--gnu/packages/aux-files/linux-libre/4.10-x86_64.conf (renamed from gnu/packages/linux-libre-4.10-x86_64.conf)0
-rw-r--r--gnu/packages/aux-files/linux-libre/4.4-i686.conf (renamed from gnu/packages/linux-libre-4.4-i686.conf)0
-rw-r--r--gnu/packages/aux-files/linux-libre/4.4-x86_64.conf (renamed from gnu/packages/linux-libre-4.4-x86_64.conf)0
-rw-r--r--gnu/packages/aux-files/linux-libre/4.9-i686.conf (renamed from gnu/packages/linux-libre-4.9-i686.conf)0
-rw-r--r--gnu/packages/aux-files/linux-libre/4.9-x86_64.conf (renamed from gnu/packages/linux-libre-4.9-x86_64.conf)0
-rw-r--r--gnu/packages/bioinformatics.scm10
-rw-r--r--gnu/packages/cdrom.scm25
-rw-r--r--gnu/packages/check.scm44
-rw-r--r--gnu/packages/compression.scm22
-rw-r--r--gnu/packages/databases.scm37
-rw-r--r--gnu/packages/dav.scm6
-rw-r--r--gnu/packages/education.scm38
-rw-r--r--gnu/packages/emacs.scm28
-rw-r--r--gnu/packages/engineering.scm24
-rw-r--r--gnu/packages/enlightenment.scm4
-rw-r--r--gnu/packages/fontutils.scm4
-rw-r--r--gnu/packages/gnome.scm12
-rw-r--r--gnu/packages/image-viewers.scm24
-rw-r--r--gnu/packages/imagemagick.scm2
-rw-r--r--gnu/packages/java.scm1012
-rw-r--r--gnu/packages/jemalloc.scm4
-rw-r--r--gnu/packages/libevent.scm82
-rw-r--r--gnu/packages/linux.scm25
-rw-r--r--gnu/packages/lisp.scm76
-rw-r--r--gnu/packages/mail.scm52
-rw-r--r--gnu/packages/man.scm4
-rw-r--r--gnu/packages/markdown.scm4
-rw-r--r--gnu/packages/maths.scm66
-rw-r--r--gnu/packages/nano.scm13
-rw-r--r--gnu/packages/networking.scm24
-rw-r--r--gnu/packages/package-management.scm6
-rw-r--r--gnu/packages/password-utils.scm9
-rw-r--r--gnu/packages/patches/jacal-fix-texinfo.patch92
-rw-r--r--gnu/packages/patches/mupdf-CVE-2017-5896.patch63
-rw-r--r--gnu/packages/patches/mupdf-CVE-2017-5991.patch101
-rw-r--r--gnu/packages/patches/screen-CVE-2017-5618.patch40
-rw-r--r--gnu/packages/patches/vdirsyncer-test-suite-slow-machines.patch42
-rw-r--r--gnu/packages/pdf.scm9
-rw-r--r--gnu/packages/perl.scm317
-rw-r--r--gnu/packages/python.scm71
-rw-r--r--gnu/packages/regex.scm4
-rw-r--r--gnu/packages/ruby.scm29
-rw-r--r--gnu/packages/scheme.scm103
-rw-r--r--gnu/packages/screen.scm6
-rw-r--r--gnu/packages/statistics.scm44
-rw-r--r--gnu/packages/telephony.scm16
-rw-r--r--gnu/packages/tls.scm7
-rw-r--r--gnu/packages/tor.scm4
-rw-r--r--gnu/packages/video.scm4
-rw-r--r--gnu/packages/vim.scm337
-rw-r--r--gnu/packages/web.scm4
-rw-r--r--gnu/packages/wine.scm2
-rw-r--r--gnu/packages/wm.scm27
-rw-r--r--gnu/packages/xdisorg.scm61
-rw-r--r--gnu/packages/xml.scm53
-rw-r--r--gnu/packages/xorg.scm60
-rw-r--r--gnu/services/ssh.scm1
-rw-r--r--gnu/system.scm9
-rw-r--r--gnu/system/vm.scm72
-rw-r--r--guix/build-system/cargo.scm3
72 files changed, 2423 insertions, 1017 deletions
diff --git a/.gitignore b/.gitignore
index 0897c95f3e..1fc22d7e93 100644
--- a/.gitignore
+++ b/.gitignore
@@ -44,11 +44,6 @@
/doc/os-config-desktop.texi
/doc/stamp-vti
/doc/version.texi
-/emacs/Makefile
-/emacs/Makefile.in
-/emacs/guix-autoloads.el
-/emacs/guix-config.el
-/emacs/guix-helper.scm
/etc/guix-daemon.conf
/etc/guix-daemon.service
/etc/guix-publish.conf
diff --git a/Makefile.am b/Makefile.am
index 0de2e0987c..ec1bd2eb8b 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -1,7 +1,7 @@
# GNU Guix --- Functional package management for GNU
# Copyright © 2012, 2013, 2014, 2015, 2016, 2017 Ludovic Courtès <ludo@gnu.org>
# Copyright © 2013 Andreas Enge <andreas@enge.fr>
-# Copyright © 2015 Alex Kost <alezost@gmail.com>
+# Copyright © 2015, 2017 Alex Kost <alezost@gmail.com>
# Copyright © 2016 Mathieu Lirzin <mthl@gnu.org>
# Copyright © 2016, 2017 Mark H Weaver <mhw@netris.org>
#
@@ -196,16 +196,17 @@ endif BUILD_DAEMON_OFFLOAD
# Internal modules with test suite support.
dist_noinst_DATA = guix/tests.scm guix/tests/http.scm
-# Linux-Libre configurations.
-KCONFIGS = \
- gnu/packages/linux-libre-4.10-i686.conf \
- gnu/packages/linux-libre-4.10-x86_64.conf \
- gnu/packages/linux-libre-4.9-i686.conf \
- gnu/packages/linux-libre-4.9-x86_64.conf \
- gnu/packages/linux-libre-4.4-i686.conf \
- gnu/packages/linux-libre-4.4-x86_64.conf \
- gnu/packages/linux-libre-4.1-i686.conf \
- gnu/packages/linux-libre-4.1-x86_64.conf
+# Auxiliary files for packages.
+AUX_FILES = \
+ gnu/packages/aux-files/emacs/guix-emacs.el \
+ gnu/packages/aux-files/linux-libre/4.10-i686.conf \
+ gnu/packages/aux-files/linux-libre/4.10-x86_64.conf \
+ gnu/packages/aux-files/linux-libre/4.9-i686.conf \
+ gnu/packages/aux-files/linux-libre/4.9-x86_64.conf \
+ gnu/packages/aux-files/linux-libre/4.4-i686.conf \
+ gnu/packages/aux-files/linux-libre/4.4-x86_64.conf \
+ gnu/packages/aux-files/linux-libre/4.1-i686.conf \
+ gnu/packages/aux-files/linux-libre/4.1-x86_64.conf
# Templates, examples.
EXAMPLES = \
@@ -216,7 +217,7 @@ EXAMPLES = \
GOBJECTS = $(MODULES:%.scm=%.go) guix/config.go $(dist_noinst_DATA:%.scm=%.go)
nobase_dist_guilemodule_DATA = \
- $(MODULES) $(KCONFIGS) $(EXAMPLES) \
+ $(MODULES) $(AUX_FILES) $(EXAMPLES) \
$(MISC_DISTRO_FILES)
nobase_nodist_guilemodule_DATA = $(GOBJECTS) guix/config.scm
diff --git a/gnu/build/file-systems.scm b/gnu/build/file-systems.scm
index f8ab95370c..fe98df95d5 100644
--- a/gnu/build/file-systems.scm
+++ b/gnu/build/file-systems.scm
@@ -106,15 +106,17 @@ takes a bytevector and returns #t when it's a valid superblock."
(bytevector-copy! bv start result 0 size)
result))
-(define (null-terminated-latin1->string bv)
- "Return the volume name of SBLOCK as a string of at most 256 characters, or
-#f if SBLOCK has no volume name."
- ;; This is a Latin-1, nul-terminated string.
- (let ((bytes (take-while (negate zero?) (bytevector->u8-list bv))))
+(define (latin1->string bv terminator)
+ "Return a string of BV, a latin1 bytevector, or #f. TERMINATOR is a predicate
+that takes a number and returns #t when a termination character is found."
+ (let ((bytes (take-while (negate terminator) (bytevector->u8-list bv))))
(if (null? bytes)
#f
(list->string (map integer->char bytes)))))
+(define null-terminated-latin1->string
+ (cut latin1->string <> zero?))
+
;;;
;;; Ext2 file systems.
@@ -194,6 +196,51 @@ if DEVICE does not contain a btrfs file system."
;;;
+;;; FAT32 file systems.
+;;;
+
+;; <http://www.ecma-international.org/publications/files/ECMA-ST/Ecma-107.pdf>.
+
+(define-syntax %fat32-endianness
+ ;; Endianness of fat file systems.
+ (identifier-syntax (endianness little)))
+
+(define (fat32-superblock? sblock)
+ "Return #t when SBLOCK is a fat32 superblock."
+ (bytevector=? (sub-bytevector sblock 82 8)
+ (string->utf8 "FAT32 ")))
+
+(define (read-fat32-superblock device)
+ "Return the raw contents of DEVICE's fat32 superblock as a bytevector, or
+#f if DEVICE does not contain a fat32 file system."
+ (read-superblock device 0 90 fat32-superblock?))
+
+(define (fat32-superblock-uuid sblock)
+ "Return the Volume ID of a fat superblock SBLOCK as a 4-byte bytevector."
+ (sub-bytevector sblock 67 4))
+
+(define (fat32-uuid->string uuid)
+ "Convert fat32 UUID, a 4-byte bytevector, to its string representation."
+ (let ((high (bytevector-uint-ref uuid 0 %fat32-endianness 2))
+ (low (bytevector-uint-ref uuid 2 %fat32-endianness 2)))
+ (format #f "~:@(~x-~x~)" low high)))
+
+(define (fat32-superblock-volume-name sblock)
+ "Return the volume name of SBLOCK as a string of at most 11 characters, or
+#f if SBLOCK has no volume name. The volume name is a latin1 string.
+Trailing spaces are trimmed."
+ (string-trim-right (latin1->string (sub-bytevector sblock 71 11) (lambda (c) #f)) #\space))
+
+(define (check-fat32-file-system device)
+ "Return the health of a fat file system on DEVICE."
+ (match (status:exit-val
+ (system* "fsck.vfat" "-v" "-a" device))
+ (0 'pass)
+ (1 'errors-corrected)
+ (_ 'fatal-error)))
+
+
+;;;
;;; LUKS encrypted devices.
;;;
@@ -307,13 +354,17 @@ partition field reader that returned a value."
(list (partition-field-reader read-ext2-superblock
ext2-superblock-volume-name)
(partition-field-reader read-btrfs-superblock
- btrfs-superblock-volume-name)))
+ btrfs-superblock-volume-name)
+ (partition-field-reader read-fat32-superblock
+ fat32-superblock-volume-name)))
(define %partition-uuid-readers
(list (partition-field-reader read-ext2-superblock
ext2-superblock-uuid)
(partition-field-reader read-btrfs-superblock
- btrfs-superblock-uuid)))
+ btrfs-superblock-uuid)
+ (partition-field-reader read-fat32-superblock
+ fat32-superblock-uuid)))
(define read-partition-label
(cut read-partition-field <> %partition-label-readers))
@@ -481,6 +532,7 @@ the following:
(cond
((string-prefix? "ext" type) check-ext2-file-system)
((string-prefix? "btrfs" type) check-btrfs-file-system)
+ ((string-suffix? "fat" type) check-fat32-file-system)
(else #f)))
(if check-procedure
diff --git a/gnu/local.mk b/gnu/local.mk
index 9d2cd0ad2b..15003bcab0 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -764,6 +764,8 @@ dist_patch_DATA = \
%D%/packages/patches/mupdf-build-with-openjpeg-2.1.patch \
%D%/packages/patches/mupdf-mujs-CVE-2016-10132.patch \
%D%/packages/patches/mupdf-mujs-CVE-2016-10133.patch \
+ %D%/packages/patches/mupdf-CVE-2017-5896.patch \
+ %D%/packages/patches/mupdf-CVE-2017-5991.patch \
%D%/packages/patches/mupen64plus-ui-console-notice.patch \
%D%/packages/patches/musl-CVE-2016-8859.patch \
%D%/packages/patches/mutt-store-references.patch \
@@ -897,7 +899,6 @@ dist_patch_DATA = \
%D%/packages/patches/sed-hurd-path-max.patch \
%D%/packages/patches/scheme48-tests.patch \
%D%/packages/patches/scotch-test-threading.patch \
- %D%/packages/patches/screen-CVE-2017-5618.patch \
%D%/packages/patches/sdl-libx11-1.6.patch \
%D%/packages/patches/seq24-rename-mutex.patch \
%D%/packages/patches/serf-comment-style-fix.patch \
@@ -958,7 +959,6 @@ dist_patch_DATA = \
%D%/packages/patches/util-linux-CVE-2017-2616.patch \
%D%/packages/patches/upower-builddir.patch \
%D%/packages/patches/valgrind-enable-arm.patch \
- %D%/packages/patches/vdirsyncer-test-suite-slow-machines.patch \
%D%/packages/patches/vim-CVE-2017-5953.patch \
%D%/packages/patches/vorbis-tools-CVE-2014-9638+CVE-2014-9639.patch \
%D%/packages/patches/vorbis-tools-CVE-2014-9640.patch \
diff --git a/gnu/packages.scm b/gnu/packages.scm
index 0aa289d56c..10ca3bb314 100644
--- a/gnu/packages.scm
+++ b/gnu/packages.scm
@@ -2,7 +2,7 @@
;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2013 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2014 Eric Bavier <bavier@member.fsf.org>
-;;; Copyright © 2016 Alex Kost <alezost@gmail.com>
+;;; Copyright © 2016, 2017 Alex Kost <alezost@gmail.com>
;;; Copyright © 2016 Mathieu Lirzin <mthl@gnu.org>
;;;
;;; This file is part of GNU Guix.
@@ -40,8 +40,10 @@
#:use-module (srfi srfi-39)
#:export (search-patch
search-patches
+ search-auxiliary-file
search-bootstrap-binary
%patch-path
+ %auxiliary-files-path
%bootstrap-binaries-path
%package-module-path
@@ -62,17 +64,27 @@
;;;
;;; Code:
-;; By default, we store patches and bootstrap binaries alongside Guile
-;; modules. This is so that these extra files can be found without
-;; requiring a special setup, such as a specific installation directory
-;; and an extra environment variable. One advantage of this setup is
-;; that everything just works in an auto-compilation setting.
+;; By default, we store patches, auxiliary files and bootstrap binaries
+;; alongside Guile modules. This is so that these extra files can be
+;; found without requiring a special setup, such as a specific
+;; installation directory and an extra environment variable. One
+;; advantage of this setup is that everything just works in an
+;; auto-compilation setting.
(define %bootstrap-binaries-path
(make-parameter
(map (cut string-append <> "/gnu/packages/bootstrap")
%load-path)))
+(define %auxiliary-files-path
+ (make-parameter
+ (map (cut string-append <> "/gnu/packages/aux-files")
+ %load-path)))
+
+(define (search-auxiliary-file file-name)
+ "Search the auxiliary FILE-NAME. Return #f if not found."
+ (search-path (%auxiliary-files-path) file-name))
+
(define (search-patch file-name)
"Search the patch FILE-NAME. Raise an error if not found."
(or (search-path (%patch-path) file-name)
diff --git a/gnu/packages/admin.scm b/gnu/packages/admin.scm
index 3fe26e0d09..d2001d4e2c 100644
--- a/gnu/packages/admin.scm
+++ b/gnu/packages/admin.scm
@@ -1732,13 +1732,13 @@ a new command using the matched rule, and runs it.")
(define-public di
(package
(name "di")
- (version "4.42")
+ (version "4.43")
(source
(origin
(method url-fetch)
(uri (string-append "https://gentoo.com/di/di-" version ".tar.gz"))
(sha256
- (base32 "1i6m9zdnidn8268q1lz9fd8payk7s4pgwh5zlam9rr4dy6h6a67n"))))
+ (base32 "1q25jy51qfzsym9b2w0cqzscq2j492gn60dy6gbp88m8nwm4sdy8"))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f ; Obscure test failures.
@@ -1763,14 +1763,14 @@ highly portable. Great for heterogenous networks.")
(define-public cbatticon
(package
(name "cbatticon")
- (version "1.6.4")
+ (version "1.6.5")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/valr/"
name "/archive/" version ".tar.gz"))
(sha256
(base32
- "023fvsa4q7rl98rqgwrb1shyzaybdkkbyz5sywd0s5p7ixkksxqx"))
+ "0xzz1faqgm57bwlkw6sjdfbckf5hck81879zbfk18p7xn9vhvixv"))
(file-name (string-append name "-" version ".tar.gz"))))
(build-system gnu-build-system)
(arguments
diff --git a/gnu/packages/algebra.scm b/gnu/packages/algebra.scm
index 544b62a1da..be4c48f72d 100644
--- a/gnu/packages/algebra.scm
+++ b/gnu/packages/algebra.scm
@@ -128,7 +128,7 @@ solve the shortest vector problem.")
(define-public pari-gp
(package
(name "pari-gp")
- (version "2.7.6")
+ (version "2.9.1")
(source (origin
(method url-fetch)
(uri (string-append
@@ -136,7 +136,7 @@ solve the shortest vector problem.")
version ".tar.gz"))
(sha256
(base32
- "04dqi697czd8mmw8aiwzrkgbvkjassqagg6lfy3lkf1k5qi9g9rr"))))
+ "0rq7wz9df1xs4acdzzb5dapx8vs6m5py39n2wynw2qv4d2b0ylfw"))))
(build-system gnu-build-system)
(native-inputs `(("texlive" ,texlive-minimal)))
(inputs `(("gmp" ,gmp)
@@ -168,7 +168,7 @@ PARI is also available as a C library to allow for faster computations.")
(define-public gp2c
(package
(name "gp2c")
- (version "0.0.9pl5")
+ (version "0.0.10")
(source (origin
(method url-fetch)
(uri (string-append
@@ -176,7 +176,7 @@ PARI is also available as a C library to allow for faster computations.")
version ".tar.gz"))
(sha256
(base32
- "1q003mkagc5ib6lqb2xfay7j4ffkwv7xlnznp6wdrq2sbqq4vyak"))))
+ "1xhpz5p81iw261ay1kip283ggr0ir8ydz8qx3v24z8jfms1r3y70"))))
(build-system gnu-build-system)
(native-inputs `(("perl" ,perl)))
(inputs `(("pari-gp" ,pari-gp)))
diff --git a/gnu/packages/astronomy.scm b/gnu/packages/astronomy.scm
index f390ce4486..43506a7bc2 100644
--- a/gnu/packages/astronomy.scm
+++ b/gnu/packages/astronomy.scm
@@ -21,7 +21,13 @@
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix download)
#:use-module (gnu packages image)
+ #:use-module (gnu packages compression)
+ #:use-module (gnu packages gettext)
+ #:use-module (gnu packages perl)
+ #:use-module (gnu packages gl)
+ #:use-module (gnu packages qt)
#:use-module (gnu packages maths)
+ #:use-module (guix build-system cmake)
#:use-module (guix build-system gnu))
(define-public cfitsio
@@ -107,3 +113,38 @@ systems in a FITS image header.")
(description "The GNU Astronomy Utilities (Gnuastro) is a suite of
programs for the manipulation and analysis of astronomical data.")
(license license:gpl3+)))
+
+(define-public stellarium
+ (package
+ (name "stellarium")
+ (version "0.15.1")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "mirror://sourceforge/stellarium/"
+ "Stellarium-sources/"
+ version "/stellarium-" version ".tar.gz"))
+ (sha256
+ (base32
+ "04avigz8i8mi2x6x71bqr9np85n1p9qnvbj2hxr947f1jv22zr8g"))))
+ (build-system cmake-build-system)
+ (inputs
+ `(("qt" ,qt)
+ ("zlib" ,zlib)))
+ (native-inputs
+ `(("gettext" ,gettext-minimal) ; xgettext is used at compile time
+ ("perl" ,perl))) ; For pod2man
+ (arguments
+ `(#:test-target "tests"
+ #:phases (modify-phases %standard-phases
+ (add-before 'check 'set-offscreen-display
+ (lambda _
+ (setenv "QT_QPA_PLATFORM" "offscreen")
+ (setenv "HOME" "/tmp")
+ #t)))))
+ (home-page "http://www.stellarium.org/")
+ (synopsis "3D sky viewer")
+ (description "Stellarium is a planetarium. It shows a realistic sky in
+3D, just like what you see with the naked eye, binoculars, or a telescope. It
+can be used to control telescopes over a serial port for tracking celestial
+objects.")
+ (license license:gpl2+)))
diff --git a/emacs/guix-emacs.el b/gnu/packages/aux-files/emacs/guix-emacs.el
index 099261a013..2bbd639ffd 100644
--- a/emacs/guix-emacs.el
+++ b/gnu/packages/aux-files/emacs/guix-emacs.el
@@ -1,6 +1,6 @@
;;; guix-emacs.el --- Emacs packages installed with Guix
-;; Copyright © 2014, 2015, 2016 Alex Kost <alezost@gmail.com>
+;; Copyright © 2014, 2015, 2016, 2017 Alex Kost <alezost@gmail.com>
;; This file is part of GNU Guix.
@@ -19,22 +19,14 @@
;;; Commentary:
-;; This file provides auxiliary code for working with Emacs packages
+;; This file provides auxiliary code to autoload Emacs packages
;; installed with Guix.
;;; Code:
(require 'cl-lib)
-(unless (require 'guix-profiles nil t)
- (defvar guix-user-profile (expand-file-name "~/.guix-profile")))
-(defcustom guix-package-enable-at-startup t
- "If non-nil, activate Emacs packages installed in a user profile.
-Set this variable to nil before requiring `guix-emacs' file to
-avoid loading autoloads of Emacs packages installed in
-`guix-user-profile'."
- :type 'boolean
- :group 'guix)
+(defvar guix-user-profile (expand-file-name "~/.guix-profile"))
(defvar guix-emacs-autoloads nil
"List of the last loaded Emacs autoloads.")
@@ -92,8 +84,8 @@ profiles.
'Autoload' means add directories with Emacs packages to
`load-path' and load 'autoloads' files matching
`guix-emacs-autoloads-regexp'."
- (interactive (list (if (fboundp 'guix-profile-prompt)
- (funcall 'guix-profile-prompt)
+ (interactive (list (if (fboundp 'guix-read-package-profile)
+ (funcall 'guix-read-package-profile)
guix-user-profile)))
(let ((profiles (or profiles
(list "/run/current-system/profile"
@@ -115,9 +107,6 @@ profiles.
(setq guix-emacs-autoloads
(append new-autoloads guix-emacs-autoloads))))))))
-(when guix-package-enable-at-startup
- (guix-emacs-autoload-packages))
-
(provide 'guix-emacs)
;;; guix-emacs.el ends here
diff --git a/gnu/packages/linux-libre-4.1-i686.conf b/gnu/packages/aux-files/linux-libre/4.1-i686.conf
index a37225541e..a37225541e 100644
--- a/gnu/packages/linux-libre-4.1-i686.conf
+++ b/gnu/packages/aux-files/linux-libre/4.1-i686.conf
diff --git a/gnu/packages/linux-libre-4.1-x86_64.conf b/gnu/packages/aux-files/linux-libre/4.1-x86_64.conf
index 82c5824923..82c5824923 100644
--- a/gnu/packages/linux-libre-4.1-x86_64.conf
+++ b/gnu/packages/aux-files/linux-libre/4.1-x86_64.conf
diff --git a/gnu/packages/linux-libre-4.10-i686.conf b/gnu/packages/aux-files/linux-libre/4.10-i686.conf
index 8ec475ea01..8ec475ea01 100644
--- a/gnu/packages/linux-libre-4.10-i686.conf
+++ b/gnu/packages/aux-files/linux-libre/4.10-i686.conf
diff --git a/gnu/packages/linux-libre-4.10-x86_64.conf b/gnu/packages/aux-files/linux-libre/4.10-x86_64.conf
index c5d8fe1da0..c5d8fe1da0 100644
--- a/gnu/packages/linux-libre-4.10-x86_64.conf
+++ b/gnu/packages/aux-files/linux-libre/4.10-x86_64.conf
diff --git a/gnu/packages/linux-libre-4.4-i686.conf b/gnu/packages/aux-files/linux-libre/4.4-i686.conf
index e877f195af..e877f195af 100644
--- a/gnu/packages/linux-libre-4.4-i686.conf
+++ b/gnu/packages/aux-files/linux-libre/4.4-i686.conf
diff --git a/gnu/packages/linux-libre-4.4-x86_64.conf b/gnu/packages/aux-files/linux-libre/4.4-x86_64.conf
index 406053ab7a..406053ab7a 100644
--- a/gnu/packages/linux-libre-4.4-x86_64.conf
+++ b/gnu/packages/aux-files/linux-libre/4.4-x86_64.conf
diff --git a/gnu/packages/linux-libre-4.9-i686.conf b/gnu/packages/aux-files/linux-libre/4.9-i686.conf
index 4f3a9f9271..4f3a9f9271 100644
--- a/gnu/packages/linux-libre-4.9-i686.conf
+++ b/gnu/packages/aux-files/linux-libre/4.9-i686.conf
diff --git a/gnu/packages/linux-libre-4.9-x86_64.conf b/gnu/packages/aux-files/linux-libre/4.9-x86_64.conf
index ca0fcded61..ca0fcded61 100644
--- a/gnu/packages/linux-libre-4.9-x86_64.conf
+++ b/gnu/packages/aux-files/linux-libre/4.9-x86_64.conf
diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm
index bdcb5a4010..7bf39c6b03 100644
--- a/gnu/packages/bioinformatics.scm
+++ b/gnu/packages/bioinformatics.scm
@@ -1,6 +1,6 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2014, 2015, 2016, 2017 Ricardo Wurmus <rekado@elephly.net>
-;;; Copyright © 2015, 2016 Ben Woodcroft <donttrustben@gmail.com>
+;;; Copyright © 2015, 2016, 2017 Ben Woodcroft <donttrustben@gmail.com>
;;; Copyright © 2015, 2016 Pjotr Prins <pjotr.guix@thebird.nl>
;;; Copyright © 2015 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2016 Roel Janssen <roel@gnu.org>
@@ -238,7 +238,7 @@ instance, it implements several methods to assess contig-wise read coverage.")
(define-public bamtools
(package
(name "bamtools")
- (version "2.3.0")
+ (version "2.4.1")
(source (origin
(method url-fetch)
(uri (string-append
@@ -247,7 +247,7 @@ instance, it implements several methods to assess contig-wise read coverage.")
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
- "1brry29bw2xr2l9pqn240rkqwayg85b8qq78zk2zs6nlspk4d018"))))
+ "0jr024kcrhjb82cm69i7p5fcg5375zlc1h3qh2n1v368hcd0qflk"))))
(build-system cmake-build-system)
(arguments
`(#:tests? #f ;no "check" target
@@ -2055,7 +2055,7 @@ identify enrichments with functional annotations of the genome.")
(define-public diamond
(package
(name "diamond")
- (version "0.8.34")
+ (version "0.8.36")
(source (origin
(method url-fetch)
(uri (string-append
@@ -2064,7 +2064,7 @@ identify enrichments with functional annotations of the genome.")
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
- "0jvr34g346gbz7z1zb9bs0vplivm9p4cxk0lbzklvdpa7g236p39"))))
+ "092smzzjcg51n3x4h84k52ijpz9m40ri838j9k2i463ribc3c8rh"))))
(build-system cmake-build-system)
(arguments
'(#:tests? #f ; no "check" target
diff --git a/gnu/packages/cdrom.scm b/gnu/packages/cdrom.scm
index 293bf16ade..14e430646a 100644
--- a/gnu/packages/cdrom.scm
+++ b/gnu/packages/cdrom.scm
@@ -6,6 +6,7 @@
;;; Copyright © 2015, 2016, 2017 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016 Alex Kost <alezost@gmail.com>
;;; Copyright © 2016 Marius Bakke <mbakke@fastmail.com>
+;;; Copyright © 2017 John Darrington <jmd@gnu.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -496,3 +497,27 @@ session, and it can create M3U playlists.")
(synopsis "Command-line program to extract audio CDs")
(description "RipIT is used to extract audio from CDs.")
(license gpl2)))
+
+(define-public ccd2cue
+ (package
+ (name "ccd2cue")
+ (version "0.5")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "mirror://gnu/ccd2cue/ccd2cue-" version
+ ".tar.gz"))
+ (sha256
+ (base32
+ "1icrkg25hwx4gsn3dski2172ia4ywjh8m1sa17zmjclnrgdwy9c7"))))
+ (build-system gnu-build-system)
+ (synopsis "CCD to CUE sheet conversion")
+ (description
+ "GNU ccd2cue is a preprocessor for CD burning software that allows
+the conversion of the proprietary CCD format to the CUE format, which
+is well-supported by free software. These files are commonly
+distributed with CD images and are used to describe how tracks are
+laid out on the image.")
+ (home-page "http://www.gnu.org/software/ccd2cue")
+ (license gpl3+)))
diff --git a/gnu/packages/check.scm b/gnu/packages/check.scm
index 9ad03cd558..372f1c4fea 100644
--- a/gnu/packages/check.scm
+++ b/gnu/packages/check.scm
@@ -201,7 +201,7 @@ normally do not detect. The goal is to detect only real errors in the code
(define-public googletest
(package
(name "googletest")
- (version "1.7.0")
+ (version "1.8.0")
(source
(origin
(method url-fetch)
@@ -210,46 +210,10 @@ normally do not detect. The goal is to detect only real errors in the code
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
- "1k0nf1l9cb3prdmsvaajl5i31bx86c1mw0d5jgzykz7rzm36afpp"))))
- (build-system gnu-build-system)
+ "1n5p1m2m3fjrjdj752lf92f9wq3pl5cbsfrb49jqbg52ghkz99jq"))))
+ (build-system cmake-build-system)
(native-inputs
- `(("python-2" ,python-2)
- ("autoconf" ,autoconf)
- ("automake" ,automake)
- ("libtool" ,libtool)))
- (arguments
- `(#:phases
- (modify-phases %standard-phases
- (add-before 'configure 'autoconf
- (lambda _
- (zero? (system* "autoreconf" "-vfi"))))
- (add-before 'autoconf 'generate-headers
- (lambda _
- (begin
- (delete-file "include/gtest/gtest-param-test.h")
- (system* "python2" "scripts/pump.py"
- "include/gtest/gtest-param-test.h.pump")
- (delete-file "include/gtest/internal/gtest-tuple.h")
- (system* "python2" "scripts/pump.py"
- "include/gtest//internal/gtest-tuple.h.pump")
- (delete-file
- "include/gtest/internal/gtest-param-util-generated.h")
- (system*
- "python2" "scripts/pump.py"
- "include/gtest/internal/gtest-param-util-generated.h.pump")
- (delete-file "include/gtest/internal/gtest-type-util.h")
- (system* "python2" "scripts/pump.py"
- "include/gtest/internal/gtest-type-util.h.pump"))))
- (replace 'install
- (lambda _
- (let ((out (assoc-ref %outputs "out")))
- (begin
- (install-file "lib/.libs/libgtest_main.a"
- (string-append out "/lib"))
- (install-file "lib/.libs/libgtest.a"
- (string-append out "/lib"))
- (copy-recursively "include"
- (string-append out "/include")))))))))
+ `(("python-2" ,python-2)))
(home-page "https://github.com/google/googletest/")
(synopsis "Test discovery and XUnit test framework")
(description "Google Test features an XUnit test framework, automated test
diff --git a/gnu/packages/compression.scm b/gnu/packages/compression.scm
index 9897883184..88f8f0d84e 100644
--- a/gnu/packages/compression.scm
+++ b/gnu/packages/compression.scm
@@ -945,7 +945,7 @@ well as bzip2.")
(define-public snappy
(package
(name "snappy")
- (version "1.1.3")
+ (version "1.1.4")
(source (origin
(method url-fetch)
(uri (string-append
@@ -953,7 +953,7 @@ well as bzip2.")
version "/" name "-" version ".tar.gz"))
(sha256
(base32
- "1wzf8yif5ym2gj52db6v5m1pxnmn258i38x7llk9x346y2nq47ig"))))
+ "0mq0nz8gbi1sp3y6xcg0a6wbvnd6gc717f3vh2xrjmfj5w9gwjqk"))))
(build-system gnu-build-system)
(home-page "https://github.com/google/snappy")
(synopsis "Fast compressor/decompressor")
@@ -1128,3 +1128,21 @@ or junctions, and always follows hard links.")
;; libzpaq.cpp contains a mix of public-domain and
;; expat-licenced (or ‘MIT’) code.
license:expat))))
+
+(define-public unrar
+ (package
+ (name "unrar")
+ (version "0.0.1")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append
+ "http://download.gna.org/unrar/unrar-" version ".tar.gz"))
+ (sha256
+ (base32
+ "1fgmjaxffj3shyxgy765jhxwz1cq88hk0fih1bsdzyvymyyz6mz7"))))
+ (build-system gnu-build-system)
+ (home-page "http://download.gna.org/unrar")
+ (synopsis "RAR archive extraction tool")
+ (description "Unrar is a simple command-line program to list and extract
+RAR archives.")
+ (license license:gpl2+)))
diff --git a/gnu/packages/databases.scm b/gnu/packages/databases.scm
index b7ce8a8bec..5199d0c4f1 100644
--- a/gnu/packages/databases.scm
+++ b/gnu/packages/databases.scm
@@ -8,7 +8,7 @@
;;; Copyright © 2015 Sou Bunnbu <iyzsong@gmail.com>
;;; Copyright © 2015 Leo Famulari <leo@famulari.name>
;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il>
-;;; Copyright © 2016 ng0 <ng0@we.make.ritual.n0.is>
+;;; Copyright © 2016, 2017 ng0 <contact.ng0@cryptolab.net>
;;; Copyright © 2016 Roel Janssen <roel@gnu.org>
;;; Copyright © 2016 David Craven <david@craven.ch>
;;; Copyright © 2016 Jan Nieuwenhuizen <janneke@gnu.org>
@@ -215,7 +215,7 @@ SQL, Key/Value, XML/XQuery or Java Object storage for their data model.")
(define-public leveldb
(package
(name "leveldb")
- (version "1.19")
+ (version "1.20")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/google/leveldb"
@@ -223,7 +223,7 @@ SQL, Key/Value, XML/XQuery or Java Object storage for their data model.")
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
- "00jjgs9xlwycfkg0xd7n1rj6v9zrx7xc7hann6zalrjyhap18ykx"))))
+ "0r36bcrj6b2afsp4aw1gjai3jbs1c7734pxpc1jz7hh9nasyiazm"))))
(build-system gnu-build-system)
(arguments
'(#:make-flags (list "CC=gcc")
@@ -1201,6 +1201,37 @@ and B+ Tree data storage models. It is a fast key-value lightweight
database and supports many programming languages. It is a NoSQL database.")
(license license:gpl3+)))
+(define-public tokyocabinet
+ (package
+ (name "tokyocabinet")
+ (version "1.4.48")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "http://fallabs.com/tokyocabinet/"
+ name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "140zvr0n8kvsl0fbn2qn3f2kh3yynfwnizn4dgbj47m975yg80x0"))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:configure-flags
+ (list "--enable-pthread" "--enable-off64" "--enable-fastest"
+ (string-append "LDFLAGS=-Wl,-rpath="
+ (assoc-ref %outputs "out") "/lib"))))
+ (inputs
+ `(("zlib" ,zlib)))
+ (home-page "http://fallabs.com/tokyocabinet/")
+ (synopsis "Tokyo Cabinet is a modern implementation of the DBM database")
+ (description
+ "Tokyo Cabinet is a library of routines for managing a database.
+The database is a simple data file containing records, each is a pair of a
+key and a value. Every key and value is serial bytes with variable length.
+Both binary data and character string can be used as a key and a value.
+There is neither concept of data tables nor data types. Records are
+organized in hash table, B+ tree, or fixed-length array.")
+ (license license:lgpl2.1+)))
+
(define-public wiredtiger
(package
(name "wiredtiger")
diff --git a/gnu/packages/dav.scm b/gnu/packages/dav.scm
index 546597c617..7901e1c1d8 100644
--- a/gnu/packages/dav.scm
+++ b/gnu/packages/dav.scm
@@ -55,15 +55,13 @@ clients.")
(define-public vdirsyncer
(package
(name "vdirsyncer")
- (version "0.14.1")
+ (version "0.15.0")
(source (origin
(method url-fetch)
(uri (pypi-uri name version))
- (patches
- (search-patches "vdirsyncer-test-suite-slow-machines.patch"))
(sha256
(base32
- "044f01fjd8dpz4y9dm3qcc1a8cihcxxbr1sz6y6fkvglpb6k85y5"))))
+ "08aa5yxcj7ziz2r0hz4p554q8hgpfl2bh8r6r85f4g24mg6arxsj"))))
(build-system python-build-system)
(arguments
`(#:phases (modify-phases %standard-phases
diff --git a/gnu/packages/education.scm b/gnu/packages/education.scm
index 5444579059..808be203c2 100644
--- a/gnu/packages/education.scm
+++ b/gnu/packages/education.scm
@@ -43,44 +43,6 @@
#:use-module (guix build-system cmake)
#:use-module (srfi srfi-1))
-(define-public stellarium
- (package
- (name "stellarium")
- (version "0.14.2")
- (source (origin
- (method url-fetch)
- (uri (string-append "mirror://sourceforge/stellarium/"
- "Stellarium-sources/"
- version "/stellarium-" version ".tar.gz"))
- (sha256 (base32
- "1xxil0rv61zc08znfv83cpsc47y1gjl2f3njhz0pn5zd8jpaa15a"))))
- (build-system cmake-build-system)
- (inputs
- `(("qtbase" ,qtbase)
- ("zlib" ,zlib)
- ("qtserialport" ,qtserialport)
- ("qtscript" ,qtscript)
- ("gettext" ,gettext-minimal)))
- (native-inputs
- `(("qtbase" ,qtbase) ;Qt MOC is needed at compile time
- ("qttools" ,qttools)
- ("perl" ,perl))) ;for 'pod2man'
- (arguments
- `(#:test-target "tests"
- #:phases (modify-phases %standard-phases
- (add-before 'check 'set-offscreen-display
- (lambda _
- (setenv "QT_QPA_PLATFORM" "offscreen")
- (setenv "HOME" "/tmp")
- #t)))))
- (home-page "http://www.stellarium.org/")
- (synopsis "3D sky viewer")
- (description "Stellarium is a planetarium. It shows a realistic sky in
-3D, just like what you see with the naked eye, binoculars, or a telescope. It
-can be used to control telescopes over a serial port for tracking celestial
-objects.")
- (license license:gpl2+)))
-
(define-public gcompris
(package
(name "gcompris")
diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm
index 863624fc0f..cc8d9c0d0c 100644
--- a/gnu/packages/emacs.scm
+++ b/gnu/packages/emacs.scm
@@ -133,22 +133,20 @@
(("/bin/pwd")
"pwd"))))
(add-after 'install 'install-site-start
- ;; Copy guix-emacs.el from Guix and add it to site-start.el. This
- ;; way, Emacs packages provided by Guix and installed in
+ ;; Use 'guix-emacs' in "site-start.el". This way, Emacs packages
+ ;; provided by Guix and installed in
;; ~/.guix-profile/share/emacs/site-lisp/guix.d/PACKAGE-VERSION are
;; automatically found.
(lambda* (#:key inputs outputs #:allow-other-keys)
- (let* ((guix-src (assoc-ref inputs "guix-src"))
- (out (assoc-ref outputs "out"))
- (lisp-dir (string-append out "/share/emacs/site-lisp"))
- (unpack (assoc-ref %standard-phases 'unpack)))
- (mkdir "guix")
- (with-directory-excursion "guix"
- (apply unpack (list #:source guix-src))
- (install-file "emacs/guix-emacs.el" lisp-dir))
+ (let* ((out (assoc-ref outputs "out"))
+ (lisp-dir (string-append out "/share/emacs/site-lisp")))
+ (copy-file (assoc-ref inputs "guix-emacs.el")
+ (string-append lisp-dir "/guix-emacs.el"))
(with-output-to-file (string-append lisp-dir "/site-start.el")
(lambda ()
- (display "(require 'guix-emacs nil t)")))
+ (display
+ (string-append "(when (require 'guix-emacs nil t)\n"
+ " (guix-emacs-autoload-packages))\n"))))
#t))))))
(inputs
`(("gnutls" ,gnutls)
@@ -175,13 +173,13 @@
("libsm" ,libsm)
("alsa-lib" ,alsa-lib)
("dbus" ,dbus)
- ("guix-src" ,(package-source guix))
;; multilingualization support
("libotf" ,libotf)
("m17n-lib" ,m17n-lib)))
(native-inputs
- `(("pkg-config" ,pkg-config)
+ `(("guix-emacs.el" ,(search-auxiliary-file "emacs/guix-emacs.el"))
+ ("pkg-config" ,pkg-config)
("texinfo" ,texinfo)))
(native-search-paths
@@ -1326,7 +1324,7 @@ type, for example: packages, buffers, files, etc.")
(define-public emacs-guix
(package
(name "emacs-guix")
- (version "0.2.2")
+ (version "0.3")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/alezost/guix.el"
@@ -1334,7 +1332,7 @@ type, for example: packages, buffers, files, etc.")
"/emacs-guix-" version ".tar.gz"))
(sha256
(base32
- "1i47yh24xvgmnc778765g3j9ip0xb2y85v6w83r4qmkigk9rl2ck"))))
+ "1327zp140c7acckk0ajl88cgwr0lk9j3mb67nsq2janxrkwmj6br"))))
(build-system gnu-build-system)
(arguments
`(#:configure-flags
diff --git a/gnu/packages/engineering.scm b/gnu/packages/engineering.scm
index 734efcdc73..23446bafa8 100644
--- a/gnu/packages/engineering.scm
+++ b/gnu/packages/engineering.scm
@@ -750,3 +750,27 @@ electrical diagrams), gerbview (viewing Gerber files) and others.")
(description "This package provides Kicad component, footprint and 3D
render model libraries.")
(license license:lgpl2.0+))))
+
+(define-public linsmith
+ (package
+ (name "linsmith")
+ (version "0.99.30")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append
+ "mirror://sourceforge/linsmith/linsmith/linsmith-"
+ version "/linsmith-" version ".tar.gz"))
+ (sha256
+ (base32
+ "18qslhr2r45rhpj4v6bjcqx189vs0bflvsj271wr7w8kvh69qwvn"))))
+ (build-system gnu-build-system)
+ (native-inputs
+ `(("pkg-config" ,pkg-config)
+ ("gtk" ,gtk+-2)
+ ("libgnome" ,libgnomeui)))
+ (home-page "http://jcoppens.com/soft/linsmith/index.en.php")
+ (synopsis "Smith Charting program")
+ (description "LinSmith is a Smith Charting program, mainly designed for
+educational use. As such, there is an emphasis on capabilities that improve
+the 'showing the effect of'-style of operation.")
+ (license license:gpl2+)))
diff --git a/gnu/packages/enlightenment.scm b/gnu/packages/enlightenment.scm
index d9eef54b88..b9a55333df 100644
--- a/gnu/packages/enlightenment.scm
+++ b/gnu/packages/enlightenment.scm
@@ -197,7 +197,7 @@ Libraries with some extra bells and whistles.")
(define-public enlightenment
(package
(name "enlightenment")
- (version "0.21.5")
+ (version "0.21.6")
(source (origin
(method url-fetch)
(uri
@@ -205,7 +205,7 @@ Libraries with some extra bells and whistles.")
name "/" name "-" version ".tar.xz"))
(sha256
(base32
- "1fslq70z4s6v9ipahnk8s5fgqnqq4njv4rlqv951r1bh1xk5lx7h"))))
+ "0gan3c8jbvhcmvb2fpbprr3m6db0afg1dnrb87nbqb399nsi81zd"))))
(build-system gnu-build-system)
(arguments
`(#:configure-flags '("--enable-mount-eeze")))
diff --git a/gnu/packages/fontutils.scm b/gnu/packages/fontutils.scm
index 60cff2e330..15109bfe13 100644
--- a/gnu/packages/fontutils.scm
+++ b/gnu/packages/fontutils.scm
@@ -393,7 +393,7 @@ and returns a sequence of positioned glyphids from the font.")
(define-public potrace
(package
(name "potrace")
- (version "1.13")
+ (version "1.14")
(source
(origin
(method url-fetch)
@@ -401,7 +401,7 @@ and returns a sequence of positioned glyphids from the font.")
"/potrace-" version ".tar.gz"))
(sha256
(base32
- "115p2vgyq7p2mf4nidk2x3aa341nvv2v8ml056vbji36df5l6lk2"))))
+ "0znr9i0ljb818qiwm22zw63g11a4v08gc5xkh0wbdp6g259vcwnv"))))
(build-system gnu-build-system)
(native-inputs `(("ghostscript" ,ghostscript))) ;for tests
(inputs `(("zlib" ,zlib)))
diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index b673b3d402..cfd8b24290 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -5606,7 +5606,7 @@ functionality and behavior.")
(define-public arc-theme
(package
(name "arc-theme")
- (version "20161119")
+ (version "20170302")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/horst3180/arc-theme"
@@ -5614,7 +5614,7 @@ functionality and behavior.")
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
- "1kbhaxmydyip3vdw4kf8rk776jcd9wf0w7z6h2i4naxdn4rsnw54"))))
+ "0igxpngnkf1wpsg872a9jg3c9f5z8afm312yfbillz16mk8w39cw"))))
(build-system gnu-build-system)
(arguments
'(#:phases
@@ -5639,7 +5639,7 @@ like GNOME, Unity, Budgie, Pantheon, XFCE, Mate, etc.")
(define-public moka-icon-theme
(package
(name "moka-icon-theme")
- (version "5.3.1")
+ (version "5.3.5")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/moka-project"
@@ -5648,7 +5648,7 @@ like GNOME, Unity, Budgie, Pantheon, XFCE, Mate, etc.")
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
- "1lnk7p8dsd9xh6cgz5krvlcr457w8yl4m6p6s5c2g5narsjswzrm"))))
+ "062rab0ggmgb3y0d6b3k5d47wsadi28cdnyyr2vqbjhza01dglci"))))
(build-system gnu-build-system)
(arguments
'(#:phases
@@ -5674,7 +5674,7 @@ simple and consistent.")
(define-public arc-icon-theme
(package
(name "arc-icon-theme")
- (version "20160605")
+ (version "20161122")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/horst3180/arc-icon-theme"
@@ -5682,7 +5682,7 @@ simple and consistent.")
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
- "1npf0ki0j0llrw9wbffhxxa1cdms0q7b8xlg9m943dd9g7pgdm2p"))))
+ "1ya1cqvv8q847c0rpcg6apzky87q3h04y8jz5nmi52qk6kg8si0b"))))
(build-system gnu-build-system)
(arguments
'(#:phases
diff --git a/gnu/packages/image-viewers.scm b/gnu/packages/image-viewers.scm
index c3f6de8057..05b9472395 100644
--- a/gnu/packages/image-viewers.scm
+++ b/gnu/packages/image-viewers.scm
@@ -212,7 +212,7 @@ your images. Among its features are:
(define-public catimg
(package
(name "catimg")
- (version "2.2.1")
+ (version "2.2.2")
(source
(origin
(method url-fetch)
@@ -221,10 +221,10 @@ your images. Among its features are:
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
- "14g90zwh2d3s13hgyxypx2vc0rj1g58l6zcxhgc84wsyxfxd6xpb"))))
+ "1abkhrhw4r221lwn2vb8in3vmp6gxn3qlv34cqndr55v5gdpb9qz"))))
(build-system cmake-build-system)
(arguments
- `(#:tests? #f ; No check target
+ `(#:tests? #f ; no tests
#:phases
(modify-phases %standard-phases
(replace 'configure
@@ -234,20 +234,22 @@ your images. Among its features are:
(substitute* "catimg"
;; By replacing "convert", we also replace the "convert"
;; in the message 'The version of convert is too old, don't
- ;; expect good results :('. This should not happen, but in
+ ;; expect good results :('. This should not happen, but in
;; practice this error message should not affect us.
(("convert") convert))
#t)))
(replace 'build
(lambda _
- (zero? (system* "cmake" "-D"
- (string-append "CMAKE_INSTALL_PREFIX="
- (assoc-ref %outputs "out"))
- "."))
- (zero? (system* "make"))))
+ (let* ((out (assoc-ref %outputs "out"))
+ (man (string-append out "/share/man/man1")))
+ (zero? (system* "cmake"
+ (string-append "-DCMAKE_INSTALL_PREFIX=" out)
+ (string-append "-DMAN_OUTPUT_PATH=" man)
+ "."))
+ (zero? (system* "make")))))
(add-before 'install 'install-script
(lambda* (#:key outputs #:allow-other-keys)
- ;; The bashscript lacks an file extension, we have to rename
+ ;; The bash script lacks an file extension. We have to rename
;; it so that the C program and the bash script can be happy
;; side by side.
(let* ((out (assoc-ref outputs "out"))
@@ -257,7 +259,7 @@ your images. Among its features are:
(string-append bin "/catimg.sh"))
#t))))))
(inputs
- `(("imagemagick" ,imagemagick))) ; For the bash script version
+ `(("imagemagick" ,imagemagick))) ; for the bash script version
(home-page "https://github.com/posva/catimg")
(synopsis "Render images in the terminal")
(description
diff --git a/gnu/packages/imagemagick.scm b/gnu/packages/imagemagick.scm
index b5a2c20655..74483965dd 100644
--- a/gnu/packages/imagemagick.scm
+++ b/gnu/packages/imagemagick.scm
@@ -162,7 +162,7 @@ script.")
(license (package-license imagemagick))))
(define-public graphicsmagick
- (let ((changeset "6156b4c2992d855ece6079653b3b93c3229fc4b8")
+ (let ((changeset "6156b4c2992d855ece6079653b3b93c3229fc4b8") ; fix CVE-2017-6335
(revision "2"))
(package
(name "graphicsmagick")
diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm
index e7479e1b08..1ff106cb99 100644
--- a/gnu/packages/java.scm
+++ b/gnu/packages/java.scm
@@ -1,7 +1,8 @@
;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2015, 2016 Ricardo Wurmus <rekado@elephly.net>
+;;; Copyright © 2015, 2016, 2017 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2016 Leo Famulari <leo@famulari.name>
-;;; Copyright © 2016 Roel Janssen <roel@gnu.org>
+;;; Copyright © 2016, 2017 Roel Janssen <roel@gnu.org>
+;;; Copyright © 2017 Carlo Zancanaro <carlo@zancanaro.id.au>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -334,454 +335,6 @@ and is best suited to building Java projects. Ant uses XML to describe the
build process and its dependencies, whereas Make uses Makefile format.")
(license license:asl2.0)))
-(define-public icedtea-6
- (package
- (name "icedtea")
- (version "1.13.13")
- (source (origin
- (method url-fetch)
- (uri (string-append
- "http://icedtea.wildebeest.org/download/source/icedtea6-"
- version ".tar.xz"))
- (sha256
- (base32
- "0bg9sb4f7qbq77c0zf9m17p47ga0kf0r9622g9p12ysg26jd1ksg"))
- (modules '((guix build utils)))
- (snippet
- '(substitute* "Makefile.in"
- ;; link against libgcj to avoid linker error
- (("-o native-ecj")
- "-lgcj -o native-ecj")
- ;; do not leak information about the build host
- (("DISTRIBUTION_ID=\"\\$\\(DIST_ID\\)\"")
- "DISTRIBUTION_ID=\"\\\"guix\\\"\"")))))
- (build-system gnu-build-system)
- (outputs '("out" ; Java Runtime Environment
- "jdk" ; Java Development Kit
- "doc")) ; all documentation
- (arguments
- `(;; There are many failing tests and many are known to fail upstream.
- ;;
- ;; * Hotspot VM tests:
- ;; FAILED: compiler/7082949/Test7082949.java
- ;; FAILED: compiler/7088020/Test7088020.java
- ;; FAILED: runtime/6929067/Test6929067.sh
- ;; FAILED: serviceability/sa/jmap-hashcode/Test8028623.java
- ;; => Test results: passed: 161; failed: 4
- ;;
- ;; * langtools tests:
- ;; FAILED: com/sun/javadoc/testHtmlDefinitionListTag/TestHtmlDefinitionListTag.java
- ;; FAILED: tools/javac/6627362/T6627362.java
- ;; FAILED: tools/javac/7003595/T7003595.java
- ;; FAILED: tools/javac/7024568/T7024568.java
- ;; FAILED: tools/javap/4111861/T4111861.java
- ;; FAILED: tools/javap/ListTest.java
- ;; FAILED: tools/javap/OptionTest.java
- ;; FAILED: tools/javap/T4884240.java
- ;; FAILED: tools/javap/T4975569.java
- ;; --> fails because of insignificant whitespace differences
- ;; in output of javap
- ;; FAILED: tools/javap/T6868539.java
- ;; => Test results: passed: 1,445; failed: 10
- ;;
- ;; * JDK tests:
- ;; Tests are incomplete because of a segfault after this test:
- ;; javax/crypto/spec/RC5ParameterSpec/RC5ParameterSpecEquals.java
- ;; A bug report has already been filed upstream:
- ;; http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=2188
- ;;
- ;; The tests require xvfb-run, a wrapper script around Xvfb, which
- ;; has not been packaged yet. Without it many AWT tests fail, so I
- ;; made no attempts to make a list of failing JDK tests. At least
- ;; 222 tests are failing of which at least 132 are AWT tests.
- #:tests? #f
-
- ;; The DSOs use $ORIGIN to refer to each other, but (guix build
- ;; gremlin) doesn't support it yet, so skip this phase.
- #:validate-runpath? #f
-
- #:modules ((guix build utils)
- (guix build gnu-build-system)
- (ice-9 popen)
- (ice-9 rdelim)
- (srfi srfi-19))
-
- #:configure-flags
- (let* ((gcjdir (assoc-ref %build-inputs "gcj"))
- (ecj (string-append gcjdir "/share/java/ecj.jar"))
- (jdk (string-append gcjdir "/lib/jvm/"))
- (gcj (string-append gcjdir "/bin/gcj")))
- `("--enable-bootstrap"
- "--enable-nss"
- "--without-rhino"
- "--disable-downloading"
- "--disable-tests" ;they are run in the check phase instead
- "--with-openjdk-src-dir=./openjdk.src"
- ,(string-append "--with-javac=" jdk "/bin/javac")
- ,(string-append "--with-ecj-jar=" ecj)
- ,(string-append "--with-gcj=" gcj)
- ,(string-append "--with-jdk-home=" jdk)
- ,(string-append "--with-java=" jdk "/bin/java")))
- #:phases
- (modify-phases %standard-phases
- (replace 'unpack
- (lambda* (#:key source inputs #:allow-other-keys)
- (and (zero? (system* "tar" "xvf" source))
- (begin
- (chdir (string-append "icedtea6-" ,version))
- (mkdir "openjdk.src")
- (with-directory-excursion "openjdk.src"
- (copy-file (assoc-ref inputs "openjdk6-src")
- "openjdk6-src.tar.xz")
- (zero? (system* "tar" "xvf" "openjdk6-src.tar.xz")))))))
- (add-after 'unpack 'patch-patches
- (lambda _
- ;; shebang in patches so that they apply cleanly
- (substitute* '("patches/jtreg-jrunscript.patch"
- "patches/hotspot/hs23/drop_unlicensed_test.patch")
- (("#!/bin/sh") (string-append "#!" (which "sh"))))
- #t))
- (add-after 'unpack 'patch-paths
- (lambda _
- ;; buildtree.make generates shell scripts, so we need to replace
- ;; the generated shebang
- (substitute* '("openjdk.src/hotspot/make/linux/makefiles/buildtree.make")
- (("/bin/sh") (which "bash")))
-
- (let ((corebin (string-append
- (assoc-ref %build-inputs "coreutils") "/bin/"))
- (binbin (string-append
- (assoc-ref %build-inputs "binutils") "/bin/"))
- (grepbin (string-append
- (assoc-ref %build-inputs "grep") "/bin/")))
- (substitute* '("openjdk.src/jdk/make/common/shared/Defs-linux.gmk"
- "openjdk.src/corba/make/common/shared/Defs-linux.gmk")
- (("UNIXCOMMAND_PATH = /bin/")
- (string-append "UNIXCOMMAND_PATH = " corebin))
- (("USRBIN_PATH = /usr/bin/")
- (string-append "USRBIN_PATH = " corebin))
- (("DEVTOOLS_PATH *= */usr/bin/")
- (string-append "DEVTOOLS_PATH = " corebin))
- (("COMPILER_PATH *= */usr/bin/")
- (string-append "COMPILER_PATH = "
- (assoc-ref %build-inputs "gcc") "/bin/"))
- (("DEF_OBJCOPY *=.*objcopy")
- (string-append "DEF_OBJCOPY = " (which "objcopy"))))
-
- ;; fix path to alsa header
- (substitute* "openjdk.src/jdk/make/common/shared/Sanity.gmk"
- (("ALSA_INCLUDE=/usr/include/alsa/version.h")
- (string-append "ALSA_INCLUDE="
- (assoc-ref %build-inputs "alsa-lib")
- "/include/alsa/version.h")))
-
- ;; fix hard-coded utility paths
- (substitute* '("openjdk.src/jdk/make/common/shared/Defs-utils.gmk"
- "openjdk.src/corba/make/common/shared/Defs-utils.gmk")
- (("ECHO *=.*echo")
- (string-append "ECHO = " (which "echo")))
- (("^GREP *=.*grep")
- (string-append "GREP = " (which "grep")))
- (("EGREP *=.*egrep")
- (string-append "EGREP = " (which "egrep")))
- (("CPIO *=.*cpio")
- (string-append "CPIO = " (which "cpio")))
- (("READELF *=.*readelf")
- (string-append "READELF = " (which "readelf")))
- (("^ *AR *=.*ar")
- (string-append "AR = " (which "ar")))
- (("^ *TAR *=.*tar")
- (string-append "TAR = " (which "tar")))
- (("AS *=.*as")
- (string-append "AS = " (which "as")))
- (("LD *=.*ld")
- (string-append "LD = " (which "ld")))
- (("STRIP *=.*strip")
- (string-append "STRIP = " (which "strip")))
- (("NM *=.*nm")
- (string-append "NM = " (which "nm")))
- (("^SH *=.*sh")
- (string-append "SH = " (which "bash")))
- (("^FIND *=.*find")
- (string-append "FIND = " (which "find")))
- (("LDD *=.*ldd")
- (string-append "LDD = " (which "ldd")))
- (("NAWK *=.*(n|g)awk")
- (string-append "NAWK = " (which "gawk")))
- (("XARGS *=.*xargs")
- (string-append "XARGS = " (which "xargs")))
- (("UNZIP *=.*unzip")
- (string-append "UNZIP = " (which "unzip")))
- (("ZIPEXE *=.*zip")
- (string-append "ZIPEXE = " (which "zip")))
- (("SED *=.*sed")
- (string-append "SED = " (which "sed"))))
-
- ;; Some of these timestamps cause problems as they are more than
- ;; 10 years ago, failing the build process.
- (substitute*
- "openjdk.src/jdk/src/share/classes/java/util/CurrencyData.properties"
- (("AZ=AZM;2005-12-31-20-00-00;AZN") "AZ=AZN")
- (("MZ=MZM;2006-06-30-22-00-00;MZN") "MZ=MZN")
- (("RO=ROL;2005-06-30-21-00-00;RON") "RO=RON")
- (("TR=TRL;2004-12-31-22-00-00;TRY") "TR=TRY")))))
- (add-before 'configure 'set-additional-paths
- (lambda* (#:key inputs #:allow-other-keys)
- (let* ((gcjdir (assoc-ref %build-inputs "gcj"))
- (gcjlib (string-append gcjdir "/lib"))
- ;; Get target-specific include directory so that
- ;; libgcj-config.h is found when compiling hotspot.
- (gcjinclude (let* ((port (open-input-pipe "gcj -print-file-name=include"))
- (str (read-line port)))
- (close-pipe port)
- str)))
- (setenv "CPATH"
- (string-append gcjinclude ":"
- (assoc-ref %build-inputs "libxrender")
- "/include/X11/extensions" ":"
- (assoc-ref %build-inputs "libxtst")
- "/include/X11/extensions" ":"
- (assoc-ref %build-inputs "libxinerama")
- "/include/X11/extensions" ":"
- (or (getenv "CPATH") "")))
- (setenv "ALT_CUPS_HEADERS_PATH"
- (string-append (assoc-ref %build-inputs "cups")
- "/include"))
- (setenv "ALT_FREETYPE_HEADERS_PATH"
- (string-append (assoc-ref %build-inputs "freetype")
- "/include"))
- (setenv "ALT_FREETYPE_LIB_PATH"
- (string-append (assoc-ref %build-inputs "freetype")
- "/lib")))))
- (add-before 'check 'fix-test-framework
- (lambda _
- ;; Fix PATH in test environment
- (substitute* "src/jtreg/com/sun/javatest/regtest/Main.java"
- (("PATH=/bin:/usr/bin")
- (string-append "PATH=" (getenv "PATH"))))
- (substitute* "src/jtreg/com/sun/javatest/util/SysEnv.java"
- (("/usr/bin/env") (which "env")))
- #t))
- (add-before 'check 'fix-hotspot-tests
- (lambda _
- (with-directory-excursion "openjdk.src/hotspot/test/"
- (substitute* "jprt.config"
- (("PATH=\"\\$\\{path4sdk\\}\"")
- (string-append "PATH=" (getenv "PATH")))
- (("make=/usr/bin/make")
- (string-append "make=" (which "make"))))
- (substitute* '("runtime/6626217/Test6626217.sh"
- "runtime/7110720/Test7110720.sh")
- (("/bin/rm") (which "rm"))
- (("/bin/cp") (which "cp"))
- (("/bin/mv") (which "mv"))))
- #t))
- (add-before 'check 'fix-jdk-tests
- (lambda _
- (with-directory-excursion "openjdk.src/jdk/test/"
- (substitute* "com/sun/jdi/JdbReadTwiceTest.sh"
- (("/bin/pwd") (which "pwd")))
- (substitute* "com/sun/jdi/ShellScaffold.sh"
- (("/bin/kill") (which "kill")))
- (substitute* "start-Xvfb.sh"
- ;;(("/usr/bin/X11/Xvfb") (which "Xvfb"))
- (("/usr/bin/nohup") (which "nohup")))
- (substitute* "javax/security/auth/Subject/doAs/Test.sh"
- (("/bin/rm") (which "rm")))
- (substitute* "tools/launcher/MultipleJRE.sh"
- (("echo \"#!/bin/sh\"")
- (string-append "echo \"#!" (which "rm") "\""))
- (("/usr/bin/zip") (which "zip")))
- (substitute* "com/sun/jdi/OnThrowTest.java"
- (("#!/bin/sh") (string-append "#!" (which "sh"))))
- (substitute* "java/lang/management/OperatingSystemMXBean/GetSystemLoadAverage.java"
- (("/usr/bin/uptime") (which "uptime")))
- (substitute* "java/lang/ProcessBuilder/Basic.java"
- (("/usr/bin/env") (which "env"))
- (("/bin/false") (which "false"))
- (("/bin/true") (which "true"))
- (("/bin/cp") (which "cp"))
- (("/bin/sh") (which "sh")))
- (substitute* "java/lang/ProcessBuilder/FeelingLucky.java"
- (("/bin/sh") (which "sh")))
- (substitute* "java/lang/ProcessBuilder/Zombies.java"
- (("/usr/bin/perl") (which "perl"))
- (("/bin/ps") (which "ps"))
- (("/bin/true") (which "true")))
- (substitute* "java/lang/Runtime/exec/ConcurrentRead.java"
- (("/usr/bin/tee") (which "tee")))
- (substitute* "java/lang/Runtime/exec/ExecWithDir.java"
- (("/bin/true") (which "true")))
- (substitute* "java/lang/Runtime/exec/ExecWithInput.java"
- (("/bin/cat") (which "cat")))
- (substitute* "java/lang/Runtime/exec/ExitValue.java"
- (("/bin/sh") (which "sh"))
- (("/bin/true") (which "true"))
- (("/bin/kill") (which "kill")))
- (substitute* "java/lang/Runtime/exec/LotsOfDestroys.java"
- (("/usr/bin/echo") (which "echo")))
- (substitute* "java/lang/Runtime/exec/LotsOfOutput.java"
- (("/usr/bin/cat") (which "cat")))
- (substitute* "java/lang/Runtime/exec/SleepyCat.java"
- (("/bin/cat") (which "cat"))
- (("/bin/sleep") (which "sleep"))
- (("/bin/sh") (which "sh")))
- (substitute* "java/lang/Runtime/exec/StreamsSurviveDestroy.java"
- (("/bin/cat") (which "cat")))
- (substitute* "java/rmi/activation/CommandEnvironment/SetChildEnv.java"
- (("/bin/chmod") (which "chmod")))
- (substitute* "java/util/zip/ZipFile/Assortment.java"
- (("/bin/sh") (which "sh"))))
- #t))
- (replace 'check
- (lambda _
- ;; The "make check-*" targets always return zero, so we need to
- ;; check for errors in the associated log files to determine
- ;; whether any tests have failed.
- (use-modules (ice-9 rdelim))
- (let* ((error-pattern (make-regexp "^(Error|FAILED):.*"))
- (checker (lambda (port)
- (let loop ()
- (let ((line (read-line port)))
- (cond
- ((eof-object? line) #t)
- ((regexp-exec error-pattern line) #f)
- (else (loop)))))))
- (run-test (lambda (test)
- (system* "make" test)
- (call-with-input-file
- (string-append "test/" test ".log")
- checker))))
- (or #t ; skip tests
- (and (run-test "check-hotspot")
- (run-test "check-langtools")
- (run-test "check-jdk"))))))
- (replace 'install
- (lambda* (#:key outputs #:allow-other-keys)
- (let ((doc (string-append (assoc-ref outputs "doc")
- "/share/doc/icedtea"))
- (jre (assoc-ref outputs "out"))
- (jdk (assoc-ref outputs "jdk")))
- (copy-recursively "openjdk.build/docs" doc)
- (copy-recursively "openjdk.build/j2re-image" jre)
- (copy-recursively "openjdk.build/j2sdk-image" jdk))))
- ;; By default IcedTea only generates an empty keystore. In order to
- ;; be able to use certificates in Java programs we need to generate a
- ;; keystore from a set of certificates. For convenience we use the
- ;; certificates from the nss-certs package.
- (add-after 'install 'install-keystore
- (lambda* (#:key inputs outputs #:allow-other-keys)
- (let* ((keystore "cacerts")
- (certs-dir (string-append (assoc-ref inputs "nss-certs")
- "/etc/ssl/certs"))
- (keytool (string-append (assoc-ref outputs "jdk")
- "/bin/keytool")))
- (define (extract-cert file target)
- (call-with-input-file file
- (lambda (in)
- (call-with-output-file target
- (lambda (out)
- (let loop ((line (read-line in 'concat))
- (copying? #f))
- (cond
- ((eof-object? line) #t)
- ((string-prefix? "-----BEGIN" line)
- (display line out)
- (loop (read-line in 'concat) #t))
- ((string-prefix? "-----END" line)
- (display line out)
- #t)
- (else
- (when copying? (display line out))
- (loop (read-line in 'concat) copying?)))))))))
- (define (import-cert cert)
- (format #t "Importing certificate ~a\n" (basename cert))
- (let ((temp "tmpcert"))
- (extract-cert cert temp)
- (let ((port (open-pipe* OPEN_WRITE keytool
- "-import"
- "-alias" (basename cert)
- "-keystore" keystore
- "-storepass" "changeit"
- "-file" temp)))
- (display "yes\n" port)
- (when (not (zero? (status:exit-val (close-pipe port))))
- (error "failed to import" cert)))
- (delete-file temp)))
-
- ;; This is necessary because the certificate directory contains
- ;; files with non-ASCII characters in their names.
- (setlocale LC_ALL "en_US.utf8")
- (setenv "LC_ALL" "en_US.utf8")
-
- (for-each import-cert (find-files certs-dir "\\.pem$"))
- (mkdir-p (string-append (assoc-ref outputs "out")
- "/lib/security"))
- (mkdir-p (string-append (assoc-ref outputs "jdk")
- "/jre/lib/security"))
- (install-file keystore
- (string-append (assoc-ref outputs "out")
- "/lib/security"))
- (install-file keystore
- (string-append (assoc-ref outputs "jdk")
- "/jre/lib/security"))
- #t))))))
- (native-inputs
- `(("ant" ,ant)
- ("alsa-lib" ,alsa-lib)
- ("attr" ,attr)
- ("autoconf" ,autoconf)
- ("automake" ,automake)
- ("coreutils" ,coreutils)
- ("diffutils" ,diffutils) ;for tests
- ("gawk" ,gawk)
- ("grep" ,grep)
- ("libtool" ,libtool)
- ("pkg-config" ,pkg-config)
- ("cups" ,cups)
- ("wget" ,wget)
- ("which" ,which)
- ("cpio" ,cpio)
- ("zip" ,zip)
- ("unzip" ,unzip)
- ("fastjar" ,fastjar)
- ("libxslt" ,libxslt) ;for xsltproc
- ("mit-krb5" ,mit-krb5)
- ("nss" ,nss)
- ("nss-certs" ,nss-certs)
- ("libx11" ,libx11)
- ("libxcomposite" ,libxcomposite)
- ("libxt" ,libxt)
- ("libxtst" ,libxtst)
- ("libxi" ,libxi)
- ("libxinerama" ,libxinerama)
- ("libxrender" ,libxrender)
- ("libjpeg" ,libjpeg)
- ("libpng" ,libpng)
- ("giflib" ,giflib)
- ("perl" ,perl)
- ("procps" ,procps) ;for "free", even though I'm not sure we should use it
- ("openjdk6-src"
- ,(origin
- (method url-fetch)
- (uri "https://java.net/downloads/openjdk6/openjdk-6-src-b41-04_jan_2017.tar.xz")
- (sha256
- (base32
- "058szix0j280g14jzajvsixx1j2dxmc10r848f5swpy6rr8x8d4f"))))
- ("lcms" ,lcms)
- ("zlib" ,zlib)
- ("gtk" ,gtk+-2)
- ("fontconfig" ,fontconfig)
- ("freetype" ,freetype)
- ("gcj" ,gcj)))
- (home-page "http://icedtea.classpath.org")
- (synopsis "Java development kit")
- (description
- "The OpenJDK built with the IcedTea build harness.")
- ;; IcedTea is released under the GPL2 + Classpath exception, which is the
- ;; same license as both GNU Classpath and OpenJDK.
- (license license:gpl2+)))
-
(define-public icedtea-7
(let* ((version "2.6.9")
(drop (lambda (name hash)
@@ -791,7 +344,8 @@ build process and its dependencies, whereas Make uses Makefile format.")
"http://icedtea.classpath.org/download/drops/"
"/icedtea7/" version "/" name ".tar.bz2"))
(sha256 (base32 hash))))))
- (package (inherit icedtea-6)
+ (package
+ (name "icedtea")
(version version)
(source (origin
(method url-fetch)
@@ -810,6 +364,10 @@ build process and its dependencies, whereas Make uses Makefile format.")
;; do not leak information about the build host
(("DISTRIBUTION_ID=\"\\$\\(DIST_ID\\)\"")
"DISTRIBUTION_ID=\"\\\"guix\\\"\"")))))
+ (build-system gnu-build-system)
+ (outputs '("out" ; Java Runtime Environment
+ "jdk" ; Java Development Kit
+ "doc")) ; all documentation
(arguments
`(;; There are many test failures. Some are known to
;; fail upstream, others relate to not having an X
@@ -820,110 +378,390 @@ build process and its dependencies, whereas Make uses Makefile format.")
;; langtools: passed: 1,934; failed: 26
;; jdk: unknown
#:tests? #f
+
+ ;; The DSOs use $ORIGIN to refer to each other, but (guix build
+ ;; gremlin) doesn't support it yet, so skip this phase.
+ #:validate-runpath? #f
+
;; Apparently, the C locale is needed for some of the tests.
#:locale "C"
- ,@(substitute-keyword-arguments (package-arguments icedtea-6)
- ((#:modules modules)
- `((ice-9 match)
- (srfi srfi-26)
- ,@modules))
- ((#:configure-flags flags)
- ;; TODO: package pcsc and sctp, and add to inputs
- `(append '("--disable-system-pcsc"
- "--disable-system-sctp")
- ,flags))
- ((#:phases phases)
- `(modify-phases ,phases
- (replace 'unpack
- (lambda* (#:key source inputs #:allow-other-keys)
- (let ((target (string-append "icedtea-" ,version))
- (unpack (lambda* (name #:optional dir)
- (let ((dir (or dir
- (string-drop-right name 5))))
- (mkdir dir)
- (zero? (system* "tar" "xvf"
- (assoc-ref inputs name)
- "-C" dir
- "--strip-components=1"))))))
- (mkdir target)
- (and
- (zero? (system* "tar" "xvf" source
- "-C" target "--strip-components=1"))
- (chdir target)
- (unpack "openjdk-src" "openjdk.src")
- (with-directory-excursion "openjdk.src"
- (for-each unpack
- (filter (cut string-suffix? "-drop" <>)
- (map (match-lambda
- ((name . _) name))
- inputs))))
- #t))))
- (replace
- 'set-additional-paths
- (lambda* (#:key inputs #:allow-other-keys)
- (let (;; Get target-specific include directory so that
- ;; libgcj-config.h is found when compiling hotspot.
- (gcjinclude (let* ((port (open-input-pipe "gcj -print-file-name=include"))
- (str (read-line port)))
- (close-pipe port)
- str)))
- (substitute* "openjdk.src/jdk/make/common/shared/Sanity.gmk"
- (("ALSA_INCLUDE=/usr/include/alsa/version.h")
- (string-append "ALSA_INCLUDE="
- (assoc-ref inputs "alsa-lib")
- "/include/alsa/version.h")))
- (setenv "CC" "gcc")
- (setenv "CPATH"
- (string-append gcjinclude ":"
- (assoc-ref inputs "libxcomposite")
- "/include/X11/extensions" ":"
- (assoc-ref inputs "libxrender")
- "/include/X11/extensions" ":"
- (assoc-ref inputs "libxtst")
- "/include/X11/extensions" ":"
- (assoc-ref inputs "libxinerama")
- "/include/X11/extensions" ":"
- (or (getenv "CPATH") "")))
- (setenv "ALT_OBJCOPY" (which "objcopy"))
- (setenv "ALT_CUPS_HEADERS_PATH"
- (string-append (assoc-ref inputs "cups")
- "/include"))
- (setenv "ALT_FREETYPE_HEADERS_PATH"
- (string-append (assoc-ref inputs "freetype")
- "/include"))
- (setenv "ALT_FREETYPE_LIB_PATH"
- (string-append (assoc-ref inputs "freetype")
- "/lib")))))
- (add-after
- 'unpack 'fix-x11-extension-include-path
- (lambda* (#:key inputs #:allow-other-keys)
- (substitute* "openjdk.src/jdk/make/sun/awt/mawt.gmk"
- (((string-append "\\$\\(firstword \\$\\(wildcard "
- "\\$\\(OPENWIN_HOME\\)"
- "/include/X11/extensions\\).*$"))
- (string-append (assoc-ref inputs "libxrender")
- "/include/X11/extensions"
- " -I" (assoc-ref inputs "libxtst")
- "/include/X11/extensions"
- " -I" (assoc-ref inputs "libxinerama")
- "/include/X11/extensions"))
- (("\\$\\(wildcard /usr/include/X11/extensions\\)\\)") ""))
- #t))
- (replace
- 'fix-test-framework
- (lambda _
- ;; Fix PATH in test environment
- (substitute* "test/jtreg/com/sun/javatest/regtest/Main.java"
- (("PATH=/bin:/usr/bin")
- (string-append "PATH=" (getenv "PATH"))))
- (substitute* "test/jtreg/com/sun/javatest/util/SysEnv.java"
- (("/usr/bin/env") (which "env")))
- (substitute* "openjdk.src/hotspot/test/test_env.sh"
- (("/bin/rm") (which "rm"))
- (("/bin/cp") (which "cp"))
- (("/bin/mv") (which "mv")))
- #t))
- (delete 'patch-patches))))))
+
+ #:modules ((guix build utils)
+ (guix build gnu-build-system)
+ (ice-9 match)
+ (ice-9 popen)
+ (ice-9 rdelim)
+ (srfi srfi-19)
+ (srfi srfi-26))
+
+ #:configure-flags
+ (let* ((gcjdir (assoc-ref %build-inputs "gcj"))
+ (ecj (string-append gcjdir "/share/java/ecj.jar"))
+ (jdk (string-append gcjdir "/lib/jvm/"))
+ (gcj (string-append gcjdir "/bin/gcj")))
+ ;; TODO: package pcsc and sctp, and add to inputs
+ `("--disable-system-pcsc"
+ "--disable-system-sctp"
+ "--enable-bootstrap"
+ "--enable-nss"
+ "--without-rhino"
+ "--disable-downloading"
+ "--disable-tests" ;they are run in the check phase instead
+ "--with-openjdk-src-dir=./openjdk.src"
+ ,(string-append "--with-javac=" jdk "/bin/javac")
+ ,(string-append "--with-ecj-jar=" ecj)
+ ,(string-append "--with-gcj=" gcj)
+ ,(string-append "--with-jdk-home=" jdk)
+ ,(string-append "--with-java=" jdk "/bin/java")))
+
+ #:phases
+ (modify-phases %standard-phases
+ (replace 'unpack
+ (lambda* (#:key source inputs #:allow-other-keys)
+ (let ((target (string-append "icedtea-" ,version))
+ (unpack (lambda* (name #:optional dir)
+ (let ((dir (or dir
+ (string-drop-right name 5))))
+ (mkdir dir)
+ (zero? (system* "tar" "xvf"
+ (assoc-ref inputs name)
+ "-C" dir
+ "--strip-components=1"))))))
+ (mkdir target)
+ (and
+ (zero? (system* "tar" "xvf" source
+ "-C" target "--strip-components=1"))
+ (chdir target)
+ (unpack "openjdk-src" "openjdk.src")
+ (with-directory-excursion "openjdk.src"
+ (for-each unpack
+ (filter (cut string-suffix? "-drop" <>)
+ (map (match-lambda
+ ((name . _) name))
+ inputs))))
+ #t))))
+ (add-after 'unpack 'fix-x11-extension-include-path
+ (lambda* (#:key inputs #:allow-other-keys)
+ (substitute* "openjdk.src/jdk/make/sun/awt/mawt.gmk"
+ (((string-append "\\$\\(firstword \\$\\(wildcard "
+ "\\$\\(OPENWIN_HOME\\)"
+ "/include/X11/extensions\\).*$"))
+ (string-append (assoc-ref inputs "libxrender")
+ "/include/X11/extensions"
+ " -I" (assoc-ref inputs "libxtst")
+ "/include/X11/extensions"
+ " -I" (assoc-ref inputs "libxinerama")
+ "/include/X11/extensions"))
+ (("\\$\\(wildcard /usr/include/X11/extensions\\)\\)") ""))
+ #t))
+ (add-after 'unpack 'patch-paths
+ (lambda _
+ ;; buildtree.make generates shell scripts, so we need to replace
+ ;; the generated shebang
+ (substitute* '("openjdk.src/hotspot/make/linux/makefiles/buildtree.make")
+ (("/bin/sh") (which "bash")))
+
+ (let ((corebin (string-append
+ (assoc-ref %build-inputs "coreutils") "/bin/"))
+ (binbin (string-append
+ (assoc-ref %build-inputs "binutils") "/bin/"))
+ (grepbin (string-append
+ (assoc-ref %build-inputs "grep") "/bin/")))
+ (substitute* '("openjdk.src/jdk/make/common/shared/Defs-linux.gmk"
+ "openjdk.src/corba/make/common/shared/Defs-linux.gmk")
+ (("UNIXCOMMAND_PATH = /bin/")
+ (string-append "UNIXCOMMAND_PATH = " corebin))
+ (("USRBIN_PATH = /usr/bin/")
+ (string-append "USRBIN_PATH = " corebin))
+ (("DEVTOOLS_PATH *= */usr/bin/")
+ (string-append "DEVTOOLS_PATH = " corebin))
+ (("COMPILER_PATH *= */usr/bin/")
+ (string-append "COMPILER_PATH = "
+ (assoc-ref %build-inputs "gcc") "/bin/"))
+ (("DEF_OBJCOPY *=.*objcopy")
+ (string-append "DEF_OBJCOPY = " (which "objcopy"))))
+
+ ;; fix path to alsa header
+ (substitute* "openjdk.src/jdk/make/common/shared/Sanity.gmk"
+ (("ALSA_INCLUDE=/usr/include/alsa/version.h")
+ (string-append "ALSA_INCLUDE="
+ (assoc-ref %build-inputs "alsa-lib")
+ "/include/alsa/version.h")))
+
+ ;; fix hard-coded utility paths
+ (substitute* '("openjdk.src/jdk/make/common/shared/Defs-utils.gmk"
+ "openjdk.src/corba/make/common/shared/Defs-utils.gmk")
+ (("ECHO *=.*echo")
+ (string-append "ECHO = " (which "echo")))
+ (("^GREP *=.*grep")
+ (string-append "GREP = " (which "grep")))
+ (("EGREP *=.*egrep")
+ (string-append "EGREP = " (which "egrep")))
+ (("CPIO *=.*cpio")
+ (string-append "CPIO = " (which "cpio")))
+ (("READELF *=.*readelf")
+ (string-append "READELF = " (which "readelf")))
+ (("^ *AR *=.*ar")
+ (string-append "AR = " (which "ar")))
+ (("^ *TAR *=.*tar")
+ (string-append "TAR = " (which "tar")))
+ (("AS *=.*as")
+ (string-append "AS = " (which "as")))
+ (("LD *=.*ld")
+ (string-append "LD = " (which "ld")))
+ (("STRIP *=.*strip")
+ (string-append "STRIP = " (which "strip")))
+ (("NM *=.*nm")
+ (string-append "NM = " (which "nm")))
+ (("^SH *=.*sh")
+ (string-append "SH = " (which "bash")))
+ (("^FIND *=.*find")
+ (string-append "FIND = " (which "find")))
+ (("LDD *=.*ldd")
+ (string-append "LDD = " (which "ldd")))
+ (("NAWK *=.*(n|g)awk")
+ (string-append "NAWK = " (which "gawk")))
+ (("XARGS *=.*xargs")
+ (string-append "XARGS = " (which "xargs")))
+ (("UNZIP *=.*unzip")
+ (string-append "UNZIP = " (which "unzip")))
+ (("ZIPEXE *=.*zip")
+ (string-append "ZIPEXE = " (which "zip")))
+ (("SED *=.*sed")
+ (string-append "SED = " (which "sed"))))
+
+ ;; Some of these timestamps cause problems as they are more than
+ ;; 10 years ago, failing the build process.
+ (substitute*
+ "openjdk.src/jdk/src/share/classes/java/util/CurrencyData.properties"
+ (("AZ=AZM;2005-12-31-20-00-00;AZN") "AZ=AZN")
+ (("MZ=MZM;2006-06-30-22-00-00;MZN") "MZ=MZN")
+ (("RO=ROL;2005-06-30-21-00-00;RON") "RO=RON")
+ (("TR=TRL;2004-12-31-22-00-00;TRY") "TR=TRY")))
+ #t))
+ (add-before 'configure 'set-additional-paths
+ (lambda* (#:key inputs #:allow-other-keys)
+ (let ( ;; Get target-specific include directory so that
+ ;; libgcj-config.h is found when compiling hotspot.
+ (gcjinclude (let* ((port (open-input-pipe "gcj -print-file-name=include"))
+ (str (read-line port)))
+ (close-pipe port)
+ str)))
+ (substitute* "openjdk.src/jdk/make/common/shared/Sanity.gmk"
+ (("ALSA_INCLUDE=/usr/include/alsa/version.h")
+ (string-append "ALSA_INCLUDE="
+ (assoc-ref inputs "alsa-lib")
+ "/include/alsa/version.h")))
+ (setenv "CC" "gcc")
+ (setenv "CPATH"
+ (string-append gcjinclude ":"
+ (assoc-ref inputs "libxcomposite")
+ "/include/X11/extensions" ":"
+ (assoc-ref inputs "libxrender")
+ "/include/X11/extensions" ":"
+ (assoc-ref inputs "libxtst")
+ "/include/X11/extensions" ":"
+ (assoc-ref inputs "libxinerama")
+ "/include/X11/extensions" ":"
+ (or (getenv "CPATH") "")))
+ (setenv "ALT_OBJCOPY" (which "objcopy"))
+ (setenv "ALT_CUPS_HEADERS_PATH"
+ (string-append (assoc-ref inputs "cups")
+ "/include"))
+ (setenv "ALT_FREETYPE_HEADERS_PATH"
+ (string-append (assoc-ref inputs "freetype")
+ "/include"))
+ (setenv "ALT_FREETYPE_LIB_PATH"
+ (string-append (assoc-ref inputs "freetype")
+ "/lib")))
+ #t))
+ (add-before 'check 'fix-test-framework
+ (lambda _
+ ;; Fix PATH in test environment
+ (substitute* "test/jtreg/com/sun/javatest/regtest/Main.java"
+ (("PATH=/bin:/usr/bin")
+ (string-append "PATH=" (getenv "PATH"))))
+ (substitute* "test/jtreg/com/sun/javatest/util/SysEnv.java"
+ (("/usr/bin/env") (which "env")))
+ (substitute* "openjdk.src/hotspot/test/test_env.sh"
+ (("/bin/rm") (which "rm"))
+ (("/bin/cp") (which "cp"))
+ (("/bin/mv") (which "mv")))
+ #t))
+ (add-before 'check 'fix-hotspot-tests
+ (lambda _
+ (with-directory-excursion "openjdk.src/hotspot/test/"
+ (substitute* "jprt.config"
+ (("PATH=\"\\$\\{path4sdk\\}\"")
+ (string-append "PATH=" (getenv "PATH")))
+ (("make=/usr/bin/make")
+ (string-append "make=" (which "make"))))
+ (substitute* '("runtime/6626217/Test6626217.sh"
+ "runtime/7110720/Test7110720.sh")
+ (("/bin/rm") (which "rm"))
+ (("/bin/cp") (which "cp"))
+ (("/bin/mv") (which "mv"))))
+ #t))
+ (add-before 'check 'fix-jdk-tests
+ (lambda _
+ (with-directory-excursion "openjdk.src/jdk/test/"
+ (substitute* "com/sun/jdi/JdbReadTwiceTest.sh"
+ (("/bin/pwd") (which "pwd")))
+ (substitute* "com/sun/jdi/ShellScaffold.sh"
+ (("/bin/kill") (which "kill")))
+ (substitute* "start-Xvfb.sh"
+ ;;(("/usr/bin/X11/Xvfb") (which "Xvfb"))
+ (("/usr/bin/nohup") (which "nohup")))
+ (substitute* "javax/security/auth/Subject/doAs/Test.sh"
+ (("/bin/rm") (which "rm")))
+ (substitute* "tools/launcher/MultipleJRE.sh"
+ (("echo \"#!/bin/sh\"")
+ (string-append "echo \"#!" (which "rm") "\""))
+ (("/usr/bin/zip") (which "zip")))
+ (substitute* "com/sun/jdi/OnThrowTest.java"
+ (("#!/bin/sh") (string-append "#!" (which "sh"))))
+ (substitute* "java/lang/management/OperatingSystemMXBean/GetSystemLoadAverage.java"
+ (("/usr/bin/uptime") (which "uptime")))
+ (substitute* "java/lang/ProcessBuilder/Basic.java"
+ (("/usr/bin/env") (which "env"))
+ (("/bin/false") (which "false"))
+ (("/bin/true") (which "true"))
+ (("/bin/cp") (which "cp"))
+ (("/bin/sh") (which "sh")))
+ (substitute* "java/lang/ProcessBuilder/FeelingLucky.java"
+ (("/bin/sh") (which "sh")))
+ (substitute* "java/lang/ProcessBuilder/Zombies.java"
+ (("/usr/bin/perl") (which "perl"))
+ (("/bin/ps") (which "ps"))
+ (("/bin/true") (which "true")))
+ (substitute* "java/lang/Runtime/exec/ConcurrentRead.java"
+ (("/usr/bin/tee") (which "tee")))
+ (substitute* "java/lang/Runtime/exec/ExecWithDir.java"
+ (("/bin/true") (which "true")))
+ (substitute* "java/lang/Runtime/exec/ExecWithInput.java"
+ (("/bin/cat") (which "cat")))
+ (substitute* "java/lang/Runtime/exec/ExitValue.java"
+ (("/bin/sh") (which "sh"))
+ (("/bin/true") (which "true"))
+ (("/bin/kill") (which "kill")))
+ (substitute* "java/lang/Runtime/exec/LotsOfDestroys.java"
+ (("/usr/bin/echo") (which "echo")))
+ (substitute* "java/lang/Runtime/exec/LotsOfOutput.java"
+ (("/usr/bin/cat") (which "cat")))
+ (substitute* "java/lang/Runtime/exec/SleepyCat.java"
+ (("/bin/cat") (which "cat"))
+ (("/bin/sleep") (which "sleep"))
+ (("/bin/sh") (which "sh")))
+ (substitute* "java/lang/Runtime/exec/StreamsSurviveDestroy.java"
+ (("/bin/cat") (which "cat")))
+ (substitute* "java/rmi/activation/CommandEnvironment/SetChildEnv.java"
+ (("/bin/chmod") (which "chmod")))
+ (substitute* "java/util/zip/ZipFile/Assortment.java"
+ (("/bin/sh") (which "sh"))))
+ #t))
+ (replace 'check
+ (lambda _
+ ;; The "make check-*" targets always return zero, so we need to
+ ;; check for errors in the associated log files to determine
+ ;; whether any tests have failed.
+ (use-modules (ice-9 rdelim))
+ (let* ((error-pattern (make-regexp "^(Error|FAILED):.*"))
+ (checker (lambda (port)
+ (let loop ()
+ (let ((line (read-line port)))
+ (cond
+ ((eof-object? line) #t)
+ ((regexp-exec error-pattern line) #f)
+ (else (loop)))))))
+ (run-test (lambda (test)
+ (system* "make" test)
+ (call-with-input-file
+ (string-append "test/" test ".log")
+ checker))))
+ (or #t ; skip tests
+ (and (run-test "check-hotspot")
+ (run-test "check-langtools")
+ (run-test "check-jdk"))))))
+ (replace 'install
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let ((doc (string-append (assoc-ref outputs "doc")
+ "/share/doc/icedtea"))
+ (jre (assoc-ref outputs "out"))
+ (jdk (assoc-ref outputs "jdk")))
+ (copy-recursively "openjdk.build/docs" doc)
+ (copy-recursively "openjdk.build/j2re-image" jre)
+ (copy-recursively "openjdk.build/j2sdk-image" jdk))
+ #t))
+ ;; By default IcedTea only generates an empty keystore. In order to
+ ;; be able to use certificates in Java programs we need to generate a
+ ;; keystore from a set of certificates. For convenience we use the
+ ;; certificates from the nss-certs package.
+ (add-after 'install 'install-keystore
+ (lambda* (#:key inputs outputs #:allow-other-keys)
+ (let* ((keystore "cacerts")
+ (certs-dir (string-append (assoc-ref inputs "nss-certs")
+ "/etc/ssl/certs"))
+ (keytool (string-append (assoc-ref outputs "jdk")
+ "/bin/keytool")))
+ (define (extract-cert file target)
+ (call-with-input-file file
+ (lambda (in)
+ (call-with-output-file target
+ (lambda (out)
+ (let loop ((line (read-line in 'concat))
+ (copying? #f))
+ (cond
+ ((eof-object? line) #t)
+ ((string-prefix? "-----BEGIN" line)
+ (display line out)
+ (loop (read-line in 'concat) #t))
+ ((string-prefix? "-----END" line)
+ (display line out)
+ #t)
+ (else
+ (when copying? (display line out))
+ (loop (read-line in 'concat) copying?)))))))))
+ (define (import-cert cert)
+ (format #t "Importing certificate ~a\n" (basename cert))
+ (let ((temp "tmpcert"))
+ (extract-cert cert temp)
+ (let ((port (open-pipe* OPEN_WRITE keytool
+ "-import"
+ "-alias" (basename cert)
+ "-keystore" keystore
+ "-storepass" "changeit"
+ "-file" temp)))
+ (display "yes\n" port)
+ (when (not (zero? (status:exit-val (close-pipe port))))
+ (format #t "failed to import ~a\n" cert)))
+ (delete-file temp)))
+
+ ;; This is necessary because the certificate directory contains
+ ;; files with non-ASCII characters in their names.
+ (setlocale LC_ALL "en_US.utf8")
+ (setenv "LC_ALL" "en_US.utf8")
+
+ (for-each import-cert (find-files certs-dir "\\.pem$"))
+ (mkdir-p (string-append (assoc-ref outputs "out")
+ "/lib/security"))
+ (mkdir-p (string-append (assoc-ref outputs "jdk")
+ "/jre/lib/security"))
+
+ ;; The cacerts files we are going to overwrite are chmod'ed as
+ ;; read-only (444) in icedtea-8 (which derives from this
+ ;; package). We have to change this so we can overwrite them.
+ (chmod (string-append (assoc-ref outputs "out")
+ "/lib/security/" keystore) #o644)
+ (chmod (string-append (assoc-ref outputs "jdk")
+ "/jre/lib/security/" keystore) #o644)
+
+ (install-file keystore
+ (string-append (assoc-ref outputs "out")
+ "/lib/security"))
+ (install-file keystore
+ (string-append (assoc-ref outputs "jdk")
+ "/jre/lib/security"))
+ #t))))))
(native-inputs
`(("openjdk-src"
,(drop "openjdk"
@@ -946,11 +784,55 @@ build process and its dependencies, whereas Make uses Makefile format.")
("hotspot-drop"
,(drop "hotspot"
"16ijxy8br8dla339m4i90wr9xpf7s8z3nrhfyxm7jahr8injpzyl"))
- ,@(fold alist-delete (package-native-inputs icedtea-6)
- '("openjdk6-src"))))
+ ("ant" ,ant)
+ ("attr" ,attr)
+ ("autoconf" ,autoconf)
+ ("automake" ,automake)
+ ("coreutils" ,coreutils)
+ ("diffutils" ,diffutils) ;for tests
+ ("gawk" ,gawk)
+ ("grep" ,grep)
+ ("libtool" ,libtool)
+ ("pkg-config" ,pkg-config)
+ ("wget" ,wget)
+ ("which" ,which)
+ ("cpio" ,cpio)
+ ("zip" ,zip)
+ ("unzip" ,unzip)
+ ("fastjar" ,fastjar)
+ ("libxslt" ,libxslt) ;for xsltproc
+ ("nss-certs" ,nss-certs)
+ ("perl" ,perl)
+ ("procps" ,procps) ;for "free", even though I'm not sure we should use it
+ ("gcj" ,gcj)))
(inputs
- `(("libxcomposite" ,libxcomposite)
- ,@(package-inputs icedtea-6))))))
+ `(("alsa-lib" ,alsa-lib)
+ ("cups" ,cups)
+ ("libx11" ,libx11)
+ ("libxcomposite" ,libxcomposite)
+ ("libxt" ,libxt)
+ ("libxtst" ,libxtst)
+ ("libxi" ,libxi)
+ ("libxinerama" ,libxinerama)
+ ("libxrender" ,libxrender)
+ ("libjpeg" ,libjpeg)
+ ("libpng" ,libpng)
+ ("mit-krb5" ,mit-krb5)
+ ("nss" ,nss)
+ ("giflib" ,giflib)
+ ("fontconfig" ,fontconfig)
+ ("freetype" ,freetype)
+ ("lcms" ,lcms)
+ ("zlib" ,zlib)
+ ("gtk" ,gtk+-2)))
+ (home-page "http://icedtea.classpath.org")
+ (synopsis "Java development kit")
+ (description
+ "This package provides the Java development kit OpenJDK built with the
+IcedTea build harness.")
+ ;; IcedTea is released under the GPL2 + Classpath exception, which is the
+ ;; same license as both GNU Classpath and OpenJDK.
+ (license license:gpl2+))))
(define-public icedtea-8
(let* ((version "3.3.0")
@@ -973,10 +855,15 @@ build process and its dependencies, whereas Make uses Makefile format.")
"02vmxa6gc6gizcri1fy797qmmm9y77vgi7gy9pwkk4agcw4zyr5p"))
(modules '((guix build utils)))
(snippet
- '(substitute* "Makefile.am"
- ;; do not leak information about the build host
- (("DISTRIBUTION_ID=\"\\$\\(DIST_ID\\)\"")
- "DISTRIBUTION_ID=\"\\\"guix\\\"\"")))))
+ '(begin
+ (substitute* "acinclude.m4"
+ ;; Do not embed build time
+ (("(DIST_ID=\"Custom build).*$" _ prefix)
+ (string-append prefix "\"\n"))
+ ;; Do not leak information about the build host
+ (("DIST_NAME=\"\\$build_os\"")
+ "DIST_NAME=\"guix\""))
+ #t))))
(arguments
(substitute-keyword-arguments (package-arguments icedtea-7)
((#:configure-flags flags)
@@ -1023,9 +910,6 @@ build process and its dependencies, whereas Make uses Makefile format.")
(find-files "openjdk.src/jdk/src/solaris/native"
"\\.c|\\.h"))
#t)))
- ;; FIXME: This phase is needed but fails with this version of
- ;; IcedTea.
- (delete 'install-keystore)
(replace 'install
(lambda* (#:key outputs #:allow-other-keys)
(let ((doc (string-append (assoc-ref outputs "doc")
diff --git a/gnu/packages/jemalloc.scm b/gnu/packages/jemalloc.scm
index 52b9216827..fcc9cc8082 100644
--- a/gnu/packages/jemalloc.scm
+++ b/gnu/packages/jemalloc.scm
@@ -27,7 +27,7 @@
(define-public jemalloc
(package
(name "jemalloc")
- (version "4.4.0")
+ (version "4.5.0")
(source (origin
(method url-fetch)
(uri (string-append
@@ -35,7 +35,7 @@
version "/jemalloc-" version ".tar.bz2"))
(sha256
(base32
- "0cxhhybcbi02szavlxzwhvmqvddi7kgy71qxz2nz3lhqjwzadbm7"))))
+ "10373xhpc10pgmai9fkc1z0rs029qlcb3c0qfnvkbwdlcibdh2cl"))))
(build-system gnu-build-system)
(home-page "http://jemalloc.net/")
(synopsis "General-purpose scalable concurrent malloc implementation")
diff --git a/gnu/packages/libevent.scm b/gnu/packages/libevent.scm
index e552a4ee38..dd5f7c4067 100644
--- a/gnu/packages/libevent.scm
+++ b/gnu/packages/libevent.scm
@@ -26,10 +26,13 @@
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix build-system gnu)
+ #:use-module (guix build-system perl)
+ #:use-module (gnu packages autotools)
#:use-module (gnu packages base)
+ #:use-module (gnu packages perl)
+ #:use-module (gnu packages pkg-config)
#:use-module (gnu packages python)
- #:use-module (gnu packages autotools)
- #:use-module (gnu packages pkg-config))
+ #:use-module (gnu packages tls))
(define-public libevent
(package
@@ -149,3 +152,78 @@ resolution, asynchronous file system operations, and threading primitives.")
;; A few files fall under other non-copyleft licenses; see 'LICENSE' for
;; details.
(license x11)))
+
+(define-public perl-anyevent
+ (package
+ (name "perl-anyevent")
+ (version "7.13")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "mirror://cpan/authors/id/M/ML/MLEHMANN/"
+ "AnyEvent-" version ".tar.gz"))
+ (sha256
+ (base32
+ "1b84ilkbrfbzqapv25x8z6gva92skbrf2srybdabb1wnxx6ky454"))))
+ (build-system perl-build-system)
+ (native-inputs
+ `(("perl-canary-stability" ,perl-canary-stability)))
+ (propagated-inputs
+ `(("perl-async-interrupt" ,perl-async-interrupt)
+ ("perl-ev" ,perl-ev)
+ ("perl-guard" ,perl-guard)
+ ("perl-json" ,perl-json)
+ ("perl-json-xs" ,perl-json-xs)
+ ("perl-net-ssleay" ,perl-net-ssleay)
+ ("perl-task-weaken" ,perl-task-weaken)))
+ (home-page "http://search.cpan.org/dist/AnyEvent")
+ (synopsis
+ "API for I/O, timer, signal, child process and completion events")
+ (description
+ "This module allows using a variety of events without forcing module
+authors to pick a specific event loop, and without noticable overhead.
+Currently supported event loops are EV, Event, Glib/Gtk2, Tk, Qt,
+@code{Event::Lib}, Irssi, @code{IO::Async} and POE (and thus also WxWidgets
+and Prima). It also comes with a very fast Pure Perl event loop that does
+not rely on XS.")
+ (license (package-license perl))))
+
+(define-public perl-ev
+ (package
+ (name "perl-ev")
+ (version "4.22")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "mirror://cpan/authors/id/M/ML/MLEHMANN/EV-"
+ version ".tar.gz"))
+ (sha256
+ (base32
+ "14d9115q8f2ca2q3vbcalm55zqsbx8xjq5aj098laj9f9rrzirra"))
+ (modules '((guix build utils)))
+ (snippet
+ '(begin
+ ;; Drop bundled libev.
+ (delete-file-recursively "libev")
+ #t))))
+ (build-system perl-build-system)
+ (arguments
+ '(#:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'unpack-libev
+ ;; This package requires the libev *sources* in order
+ ;; to build. Unpack system libev here...
+ (lambda* (#:key inputs #:allow-other-keys)
+ (mkdir "./libev")
+ (zero? (system* "tar" "-xf" (assoc-ref inputs "libev-source")
+ "-C" "./libev" "--strip-components=1")))))))
+ (native-inputs
+ `(("libev-source" ,(package-source libev))
+ ("perl-canary-stability" ,perl-canary-stability)))
+ (propagated-inputs
+ `(("perl-common-sense" ,perl-common-sense)))
+ (home-page "http://search.cpan.org/dist/EV")
+ (synopsis "Perl interface to libev")
+ (description
+ "This module provides an interface to @code{libev}, a high performance
+full-featured event loop. It can be used through the @code{AnyEvent} module
+and still be faster than other event loops currently supported in Perl.")
+ (license (package-license perl))))
diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm
index bc3e4d4079..d239d4e4c4 100644
--- a/gnu/packages/linux.scm
+++ b/gnu/packages/linux.scm
@@ -8,7 +8,7 @@
;;; Copyright © 2015, 2016 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016 Christopher Allan Webber <cwebber@dustycloud.org>
;;; Copyright © 2016, 2017 Tobias Geerinckx-Rice <me@tobias.gr>
-;;; Copyright © 2016 Alex Kost <alezost@gmail.com>
+;;; Copyright © 2016, 2017 Alex Kost <alezost@gmail.com>
;;; Copyright © 2016 Raymond Nicholson <rain1@openmailbox.org>
;;; Copyright © 2016 Mathieu Lirzin <mthl@gnu.org>
;;; Copyright © 2016 Nicolas Goaziou <mail@nicolasgoaziou.fr>
@@ -194,11 +194,10 @@
(define* (kernel-config arch #:key variant)
"Return the absolute file name of the Linux-Libre build configuration file
for ARCH and optionally VARIANT, or #f if there is no such configuration."
- (let* ((name (string-append "linux-libre-"
- (if variant (string-append variant "-") "")
+ (let* ((name (string-append (if variant (string-append variant "-") "")
(if (string=? "i386" arch) "i686" arch) ".conf"))
- (file (string-append "gnu/packages/" name)))
- (search-path %load-path file)))
+ (file (string-append "linux-libre/" name)))
+ (search-auxiliary-file file)))
(define %default-extra-linux-options
`(;; https://lists.gnu.org/archive/html/guix-devel/2014-04/msg00039.html
@@ -338,8 +337,8 @@ It has been modified to remove all non-free binary blobs.")
(define %intel-compatible-systems '("x86_64-linux" "i686-linux"))
-(define %linux-libre-version "4.10")
-(define %linux-libre-hash "167zzgkivpqsp07did25wjqsswddzp3gifcdkq7xk00llxlmspla")
+(define %linux-libre-version "4.10.1")
+(define %linux-libre-hash "0mvwrjny1bjqyjqjxff9m97j48ybfdw8qpdazr5rwk12234v4k3d")
(define-public linux-libre
(make-linux-libre %linux-libre-version
@@ -1097,10 +1096,10 @@ allows a system administrator to make use of all iproute2 features, including
traffic control.
iproute2 is usually shipped in a package called iproute or iproute2 and
-consists of several tools, of which the most important are ip and tc. ip
-controls IPv4 and IPv6 configuration and tc stands for traffic control. Both
-tools print detailed usage messages and are accompanied by a set of
-manpages.")
+consists of several tools, of which the most important are @command{ip} and
+@command{tc}. @command{ip} controls IPv4 and IPv6 configuration and
+@command{tc} stands for traffic control. Both tools print detailed usage
+messages and are accompanied by a set of manpages.")
(license license:gpl2+)))
(define-public net-tools
@@ -3230,7 +3229,7 @@ of flash storage.")
(define-public libseccomp
(package
(name "libseccomp")
- (version "2.3.1")
+ (version "2.3.2")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/seccomp/libseccomp/"
@@ -3238,7 +3237,7 @@ of flash storage.")
"/libseccomp-" version ".tar.gz"))
(sha256
(base32
- "0asnlkzqms520r0dra08dzcz5hh6hs7lkajfw9wij3vrd0hxsnzz"))))
+ "18dwfxzsw3agiy2dxbflrkhmjgvlji0wwkk636nabh2ng41qrp1x"))))
(build-system gnu-build-system)
(native-inputs
`(("which" ,which)))
diff --git a/gnu/packages/lisp.scm b/gnu/packages/lisp.scm
index 80161de01b..647c64dcc7 100644
--- a/gnu/packages/lisp.scm
+++ b/gnu/packages/lisp.scm
@@ -3,7 +3,7 @@
;;; Copyright © 2015 Taylan Ulrich Bayırlı/Kammer <taylanbayirli@gmail.com>
;;; Copyright © 2015 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2016 Federico Beffa <beffa@fbengineering.ch>
-;;; Copyright © 2016 ng0 <ngillmann@runbox.com>
+;;; Copyright © 2016, 2017 ng0 <contact.ng0@cryptolab.net>
;;; Copyright © 2016 Andy Patterson <ajpatter@uwaterloo.ca>
;;; Copyright © 2017 Ricardo Wurmus <rekado@elephly.net>
;;;
@@ -37,16 +37,27 @@
#:use-module (guix build-system asdf)
#:use-module (guix build-system trivial)
#:use-module (gnu packages base)
+ #:use-module (gnu packages compression)
+ #:use-module (gnu packages fontutils)
+ #:use-module (gnu packages maths)
#:use-module (gnu packages multiprecision)
#:use-module (gnu packages bdw-gc)
#:use-module (gnu packages libffi)
#:use-module (gnu packages libffcall)
#:use-module (gnu packages readline)
+ #:use-module (gnu packages sdl)
#:use-module (gnu packages libsigsegv)
+ #:use-module (gnu packages linux)
#:use-module (gnu packages admin)
#:use-module (gnu packages ed)
+ #:use-module (gnu packages gl)
+ #:use-module (gnu packages gcc)
+ #:use-module (gnu packages glib)
+ #:use-module (gnu packages gettext)
#:use-module (gnu packages m4)
+ #:use-module (gnu packages pkg-config)
#:use-module (gnu packages version-control)
+ #:use-module (gnu packages xorg)
#:use-module (ice-9 match)
#:use-module (srfi srfi-1))
@@ -530,6 +541,69 @@ The core is 12 builtin special forms and 33 builtin functions.")
(home-page "https://github.com/JeffBezanson/femtolisp")
(license license:bsd-3))))
+(define-public lush2
+ (package
+ (name "lush2")
+ (version "2.0.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "mirror://sourceforge/lush/lush2/lush-"
+ version ".tar.gz"))
+ (modules '((guix build utils)))
+ (snippet
+ '(begin
+ (substitute* "src/unix.c"
+ (("\\{ \"LUSH_DATE\", __DATE__ \\},") "")
+ (("\\{ \"LUSH_TIME\", __TIME__ \\},") ""))
+ (substitute* "src/main.c"
+ (("\" \\(built \" __DATE__ \"\\)\"") ""))))
+ (sha256
+ (base32
+ "02pkfn3nqdkm9fm44911dbcz0v3r0l53vygj8xigl6id5g3iwi4k"))))
+ (build-system gnu-build-system)
+ (arguments
+ `(;; We have to add these LIBS so that they are found.
+ #:configure-flags (list "LIBS=-lz"
+ "X_EXTRA_LIBS=-lfontconfig"
+ "--with-x")
+ #:tests? #f)) ; No make check.
+ (native-inputs `(("intltool" ,intltool)))
+ (inputs
+ `(("alsa-lib" ,alsa-lib)
+ ("sdl" ,sdl)
+ ("sdl-image" ,sdl-image)
+ ("sdl-mixer" ,sdl-mixer)
+ ("sdl-net" ,sdl-net)
+ ("sdl-ttf" ,sdl-ttf)
+ ("lapack" ,lapack)
+ ("libxft" ,libxft)
+ ("fontconfig" ,fontconfig)
+ ("gsl" ,gsl)
+ ("openblas" ,openblas)
+ ("glu" ,glu)
+ ("mesa" ,mesa)
+ ("mesa-utils" ,mesa-utils)
+ ("binutils" ,binutils)
+ ("libiberty" ,libiberty)
+ ("readline" ,readline)
+ ("zlib" ,zlib)
+ ("gettext-minimal" ,gettext-minimal)))
+ (synopsis "Lisp Universal Shell")
+ (description
+ "Lush is an object-oriented Lisp interpreter/compiler with features
+designed to please people who want to prototype large numerical
+applications. Lush includes an extensive library of
+vector/matrix/tensor manipulation, numerous numerical libraries
+(including GSL, LAPACK, and BLAS), a set of graphic functions, a
+simple GUI toolkit, and interfaces to various graphic and multimedia
+libraries such as OpenGL, SDL, Video4Linux, and ALSA (video/audio
+grabbing), and others. Lush is an ideal frontend script language for
+programming projects written in C or other languages. Lush also has
+libraries for Machine Learning, Neural Nets and statistical estimation.")
+ (home-page "http://lush.sourceforge.net/")
+ (license license:lgpl2.1+)))
+
(define-public sbcl-alexandria
(let ((revision "1")
(commit "926a066611b7b11cb71e26c827a271e500888c30"))
diff --git a/gnu/packages/mail.scm b/gnu/packages/mail.scm
index 8651deefb5..b70597b84d 100644
--- a/gnu/packages/mail.scm
+++ b/gnu/packages/mail.scm
@@ -8,7 +8,7 @@
;;; Copyright © 2015 Paul van der Walt <paul@denknerd.org>
;;; Copyright © 2015, 2016 Eric Bavier <bavier@member.fsf.org>
;;; Copyright © 2015 Andreas Enge <andreas@enge.fr>
-;;; Copyright © 2015, 2016 Efraim Flashner <efraim@flashner.co.il>
+;;; Copyright © 2015, 2016, 2017 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016 Christopher Allan Webber <cwebber@dustycloud.org>
;;; Copyright © 2016 Al McElrath <hello@yrns.org>
;;; Copyright © 2016 Leo Famulari <leo@famulari.name>
@@ -214,14 +214,14 @@ aliasing facilities to work just as they would on normal mail.")
(define-public mutt
(package
(name "mutt")
- (version "1.7.2")
+ (version "1.8.0")
(source (origin
(method url-fetch)
(uri (string-append "ftp://ftp.mutt.org/pub/mutt/mutt-"
version ".tar.gz"))
(sha256
(base32
- "1yazrl82s9fxmamnlvwmsxhwrxnwv6kwakgfmawda8ndhwb50lqm"))
+ "1axdcylyv0p194y6lj1jx127g5yc74zqzzxdc014cjw02bd1x125"))
(patches (search-patches "mutt-store-references.patch"))))
(build-system gnu-build-system)
(inputs
@@ -267,6 +267,8 @@ operating systems.")
(inputs
`(("cyrus-sasl" ,cyrus-sasl)
("gdbm" ,gdbm)
+ ("lmdb" ,lmdb)
+ ("tokyocabinet" ,tokyocabinet)
("gpgme" ,gpgme)
("ncurses" ,ncurses)
("gnutls" ,gnutls)
@@ -289,10 +291,11 @@ operating systems.")
"--enable-gpgme"
;; database, implies header caching
- "--without-tokyocabinet"
+ ;; neomutt supports building multiple backends
+ "--with-tokyocabinet"
"--without-qdbm"
"--without-bdb"
- "--without-lmdb"
+ "--with-lmdb"
"--with-gdbm"
"--with-gnutls"
@@ -659,14 +662,14 @@ invoking @command{notifymuch} from the post-new hook.")
(define-public notmuch
(package
(name "notmuch")
- (version "0.23.5")
+ (version "0.23.7")
(source (origin
(method url-fetch)
(uri (string-append "https://notmuchmail.org/releases/notmuch-"
version ".tar.gz"))
(sha256
(base32
- "0ry2k9sdwd1vw8cf6svch8wk98523s07mwxvsf7b8kghqnrr89n6"))))
+ "04w90c43zk23pys6prkqb14al408qypifcfj2qznqpwlf46v26zi"))))
(build-system gnu-build-system)
(arguments
'(#:make-flags (list "V=1") ; Verbose test output.
@@ -1955,3 +1958,38 @@ installation on systems where resources are limited. Its features include:
@item Rich and customisable texts for automated operations.
@end enumerate\n")
(license license:expat)))
+
+(define-public blists
+ (package
+ (name "blists")
+ (version "1.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "http://download.openwall.net/pub/projects/"
+ "blists/blists-" version ".tar.gz"))
+ (sha256
+ (base32
+ "1gp51kmb8yv8d693wcpdslmwlbw5w2kgz4kxhrcaf7y89w8wy4qd"))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:tests? #f ; No tests
+ #:phases
+ (modify-phases %standard-phases
+ (delete 'configure)
+ (replace 'install
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+ (bin (string-append out "/bin")))
+ (install-file "bindex" bin)
+ (install-file "bit" bin)
+ #t))))))
+ (home-page "http://www.openwall.com/blists/")
+ (synopsis "Web interface to mailing list archives")
+ (description
+ "Blists is a web interface to mailing list archives that works off
+indexed mbox files. There are two programs: @code{bindex} and @code{bit}.
+@code{bindex} generates or updates the index file (incremental updates
+are supported). @code{bit} is a CGI/SSI program that generates web pages
+on the fly. Both programs are written in C and are very fast.")
+ (license license:expat)))
diff --git a/gnu/packages/man.scm b/gnu/packages/man.scm
index 69c560c1b0..3763292fe4 100644
--- a/gnu/packages/man.scm
+++ b/gnu/packages/man.scm
@@ -202,7 +202,7 @@ automatically.")
(define-public txt2man
(package
(name "txt2man")
- (version "1.5.6")
+ (version "1.6.0")
(source
(origin
(method url-fetch)
@@ -211,7 +211,7 @@ automatically.")
version ".tar.gz"))
(sha256
(base32
- "0sjq687jknq65wbnjh2siq8hc09ydpnlmrkrnwl66mrhd4n9g7fz"))))
+ "168cj96974n2z0igin6j1ic1m45zyic7nm5ark7frq8j78rrx4zn"))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f ; no "check" target
diff --git a/gnu/packages/markdown.scm b/gnu/packages/markdown.scm
index ae54b0b172..4a020198e4 100644
--- a/gnu/packages/markdown.scm
+++ b/gnu/packages/markdown.scm
@@ -104,7 +104,7 @@ convert it to structurally valid XHTML (or HTML).")
(define-public cmark
(package
(name "cmark")
- (version "0.26.1")
+ (version "0.27.1")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/jgm/cmark/archive/"
@@ -112,7 +112,7 @@ convert it to structurally valid XHTML (or HTML).")
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
- "1mpmcy4bbmc8m058zqs9dwx49lcfi7bdnfszsr9y66cwgylia1mm"))))
+ "1da62ispca9aal2a36gaj87175rv5013pl7x740vk32y6lclr6v6"))))
(build-system cmake-build-system)
(arguments
'(#:test-target "test"))
diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm
index 18536c43ee..9533f5f0a8 100644
--- a/gnu/packages/maths.scm
+++ b/gnu/packages/maths.scm
@@ -83,6 +83,7 @@
#:use-module (gnu packages python)
#:use-module (gnu packages readline)
#:use-module (gnu packages tbb)
+ #:use-module (gnu packages scheme)
#:use-module (gnu packages shells)
#:use-module (gnu packages tcl)
#:use-module (gnu packages texinfo)
@@ -142,14 +143,14 @@ interactive dialogs to guide them.")
(define-public coda
(package
(name "coda")
- (version "2.17.3")
+ (version "2.18")
(source
(origin
(method url-fetch)
(uri (string-append "https://github.com/stcorp/coda/releases/download/"
version "/coda-" version ".tar.gz"))
(sha256
- (base32 "04b9l3wzcix0mnfq77mwnil6cbr8h2mki8myvy0lzn236qcwaq1h"))
+ (base32 "11asla1ap8vd73farqjlpb179sfiy0biydcwxjfcakrp9sf8v9bs"))
(patches (search-patches "coda-use-system-libs.patch"))
(modules '((guix build utils)))
(snippet
@@ -923,7 +924,7 @@ can solve two kinds of problems:
(define-public octave
(package
(name "octave")
- (version "4.2.0")
+ (version "4.2.1")
(source
(origin
(method url-fetch)
@@ -931,7 +932,7 @@ can solve two kinds of problems:
version ".tar.lz"))
(sha256
(base32
- "19vvliwxgip0af812vny5xy5r8kacyj7v62203mh4z2n3p14b78i"))))
+ "09zhhch79jw3ynw39vizx0i2cbd2bjz3sp38pjdzraqrbivpwp92"))))
(build-system gnu-build-system)
(inputs
`(("lapack" ,lapack)
@@ -2008,7 +2009,9 @@ point numbers.")
(define-public wxmaxima
(package
(name "wxmaxima")
- (version "16.12.2")
+ ;; Versions 16.12.0 to 16.12.2 have a bug which causes output lines to
+ ;; overlap. See <https://debbugs.gnu.org/25793>
+ (version "16.04.2")
(source
(origin
(method url-fetch)
@@ -2016,7 +2019,7 @@ point numbers.")
version "/" name "-" version ".tar.gz"))
(sha256
(base32
- "0y22zhyhyxj2cbhzvs9c4pxr44i55ryfy5xi96d39bg2nbgs9h22"))))
+ "1fpqzk1921isiqrpgpf433ldq41924qs9sy99fl1zn5661b2l73n"))))
(build-system gnu-build-system)
(inputs
`(("wxwidgets" ,wxwidgets)
@@ -2956,3 +2959,54 @@ algorithm for LCS. It is a fast program to compute the approximate
Longest Commons Subsequence of a set of strings.")
(home-page "https://github.com/gdv/Reduce-Expand-for-LCS")
(license license:gpl3+))))
+
+(define-public jacal
+ (package
+ (name "jacal")
+ (version "1c4")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append
+ "http://groups.csail.mit.edu/mac/ftpdir/scm/jacal-"
+ version ".zip"))
+ (sha256 (base32
+ "055zrn12a1dmy0dqkwrkq3fklbhg3yir6vn0lacp4mvbg8573a3q"))
+ (patches (search-patches "jacal-fix-texinfo.patch"))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (add-before 'build 'pre-build
+ ;; Don't use upstream's script - it really doesn't fit into
+ ;; Guix's functional paradigm.
+ (lambda* (#:key inputs outputs #:allow-other-keys)
+ (substitute* "Makefile"
+ (("^install: install-script") "install: "))))
+ (add-after 'install 'post-install
+ ;; Instead, we provide our own simplified script.
+ (lambda* (#:key inputs outputs #:allow-other-keys)
+ (let ((wrapper (string-append (assoc-ref outputs "out")
+ "/bin/jacal")))
+ (format (open wrapper (logior O_WRONLY O_CREAT))
+ (string-append "#!~a\nexec ~a/bin/scm -ip1 "
+ "-e '(slib:load \"~a/lib/jacal/math\") "
+ "(math)' \"$@\"\n")
+ (which "bash")
+ (assoc-ref inputs "scm")
+ (assoc-ref outputs "out"))
+ (chmod wrapper #o555))))
+ (replace 'configure
+ (lambda* (#:key inputs outputs #:allow-other-keys)
+ (zero? (system* "./configure"
+ (string-append "--prefix="
+ (assoc-ref outputs "out")))))))))
+ (inputs `(("scm" ,scm)))
+ (native-inputs `(("unzip" ,unzip)
+ ("texinfo" ,texinfo)))
+ (synopsis "Symbolic mathematics system")
+ (description "GNU JACAL is an interactive symbolic mathematics program based on
+Scheme. It manipulate and simplify a range of mathematical expressions such
+as equations, scalars, vectors, and matrices.")
+ (home-page "http://www.gnu.org/software/jacal")
+ (license license:gpl3+)))
+
diff --git a/gnu/packages/nano.scm b/gnu/packages/nano.scm
index 5fafe78e2e..571770b459 100644
--- a/gnu/packages/nano.scm
+++ b/gnu/packages/nano.scm
@@ -1,6 +1,6 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2012 Nikita Karetnikov <nikita@karetnikov.org>
-;;; Copyright © 2015, 2016 Efraim Flashner <efraim@flashner.co.il>
+;;; Copyright © 2015, 2016, 2017 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016 Rene Saavedra <rennes@openmailbox.org>
;;;
;;; This file is part of GNU Guix.
@@ -29,7 +29,7 @@
(define-public nano
(package
(name "nano")
- (version "2.7.4")
+ (version "2.7.5")
(source
(origin
(method url-fetch)
@@ -37,7 +37,7 @@
version ".tar.gz"))
(sha256
(base32
- "135wzlv77p9za8679j2jpfkpvainvyagrhkdxngp71ynabgc5zr3"))))
+ "01yrh66rph0vn9q9r2d2jji5yzaakxrj75j9fsm0g41m8qpy4sr2"))))
(build-system gnu-build-system)
(inputs
`(("gettext" ,gettext-minimal)
@@ -45,7 +45,8 @@
(home-page "https://www.nano-editor.org/")
(synopsis "Small, user-friendly console text editor")
(description
- "GNU Nano is a small and simple text editor. In addition to basic
-editing, it supports interactive search and replace, go to line and column
-number, auto-indentation and more.")
+ "GNU nano is a small and simple text editor for use in a terminal. Besides
+basic editing, it supports: undo/redo, syntax highlighting, spell checking,
+justifying, auto-indentation, bracket matching, interactive search-and-replace
+(with regular expressions), and the editing of multiple files.")
(license gpl3+))) ; some files are under GPLv2+
diff --git a/gnu/packages/networking.scm b/gnu/packages/networking.scm
index 240fa517e5..eb3047c81b 100644
--- a/gnu/packages/networking.scm
+++ b/gnu/packages/networking.scm
@@ -11,6 +11,7 @@
;;; Copyright © 2016, 2017 ng0 <ng0@libertad.pw>
;;; Copyright © 2016 Arun Isaac <arunisaac@systemreboot.net>
;;; Copyright © 2016 Benz Schenk <benz.schenk@uzh.ch>
+;;; Copyright © 2016, 2017 Pjotr Prins <pjotr.guix@thebird.nl>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -80,7 +81,7 @@
(description "GNU MAC Changer is a utility for viewing and changing MAC
addresses of networking devices. New addresses may be set explicitly or
randomly. They can include MAC addresses of the same or other hardware vendors
-or, more generally, MAC addresses of the same category of hardware.")
+or, more generally, MAC addresses of the same category of hardware.")
(license license:gpl2+)))
(define-public miredo
@@ -1119,3 +1120,24 @@ IPFIX, RSPAN, CLI, LACP, 802.1ag).")
license:gpl2 ; datapath
license:bsd-2 license:bsd-3
license:asl2.0)))) ; all other
+
+(define-public speedtest-cli
+ (package
+ (name "speedtest-cli")
+ (version "1.0.2")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "https://github.com/sivel/speedtest-cli/archive/v" version ".tar.gz"))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "1ir9fqwr7cl9kfq7dgh9vkydkwf59wsx0cwbzbffw8i313xhzxa1"))))
+ (build-system python-build-system)
+ (home-page "https://github.com/sivel/speedtest-cli")
+ (synopsis "Internet bandwidth tester")
+ (description
+ "Command line interface for testing internet bandwidth using
+speedtest.net.")
+ (license license:asl2.0)))
diff --git a/gnu/packages/package-management.scm b/gnu/packages/package-management.scm
index 388368e2d3..c608f397dc 100644
--- a/gnu/packages/package-management.scm
+++ b/gnu/packages/package-management.scm
@@ -219,9 +219,9 @@ the Nix package manager.")
;;
;; Note: use a very short commit id; with a longer one, the limit on
;; hash-bang lines would be exceeded while running the tests.
- (let ((commit "d9da3a757d3081403081577c4e07763c9b809043"))
+ (let ((commit "1162418ee88f155f6b14fd8926479c2176e40e76"))
(package (inherit guix-0.12.0)
- (version (string-append "0.12.0-4." (string-take commit 4)))
+ (version (string-append "0.12.0-5." (string-take commit 4)))
(source (origin
(method git-fetch)
(uri (git-reference
@@ -231,7 +231,7 @@ the Nix package manager.")
(commit commit)))
(sha256
(base32
- "17w9jdzm3lvfbchx7qrlkczp2jsfsi6v8cpfqh290cip5gxgz9bn"))
+ "16pxqbywhayazdgg9l19frigncmyq20j5fvaq4zgvm0iidndhfja"))
(file-name (string-append "guix-" version "-checkout"))))
(arguments
(substitute-keyword-arguments (package-arguments guix-0.12.0)
diff --git a/gnu/packages/password-utils.scm b/gnu/packages/password-utils.scm
index 0a3b4b64e7..811173cae4 100644
--- a/gnu/packages/password-utils.scm
+++ b/gnu/packages/password-utils.scm
@@ -32,6 +32,7 @@
#:use-module (guix packages)
#:use-module (gnu packages)
#:use-module (gnu packages admin)
+ #:use-module (gnu packages aidc)
#:use-module (gnu packages base)
#:use-module (gnu packages compression)
#:use-module (gnu packages glib)
@@ -282,7 +283,7 @@ any X11 window.")
(define-public password-store
(package
(name "password-store")
- (version "1.6.5")
+ (version "1.7")
(source (origin
(method url-fetch)
(uri
@@ -290,7 +291,7 @@ any X11 window.")
name "-" version ".tar.xz"))
(sha256
(base32
- "05bk3lrp5jwg0v338lvylp7glpliydzz4jf5pjr6k3kagrv3jyik"))))
+ "002mw7j0m33bw483rllzhcf41wp3ixka8yma6kqrfaj57jyw66hn"))))
(build-system gnu-build-system)
(arguments
'(#:phases
@@ -302,7 +303,7 @@ any X11 window.")
(let ((out (assoc-ref outputs "out"))
(path (map (lambda (pkg)
(string-append (assoc-ref inputs pkg) "/bin"))
- '("coreutils" "getopt" "git" "gnupg" "pwgen"
+ '("coreutils" "getopt" "git" "gnupg" "qrencode"
"sed" "tree" "which" "xclip"))))
(wrap-program (string-append out "/bin/pass")
`("PATH" ":" prefix (,(string-join path ":"))))
@@ -325,7 +326,7 @@ any X11 window.")
`(("getopt" ,util-linux)
("git" ,git)
("gnupg" ,gnupg)
- ("pwgen" ,pwgen)
+ ("qrencode" ,qrencode)
("sed" ,sed)
("tree" ,tree)
("which" ,which)
diff --git a/gnu/packages/patches/jacal-fix-texinfo.patch b/gnu/packages/patches/jacal-fix-texinfo.patch
new file mode 100644
index 0000000000..83e44a3164
--- /dev/null
+++ b/gnu/packages/patches/jacal-fix-texinfo.patch
@@ -0,0 +1,92 @@
+Fix the broken Texinfo in the Jacal package documentation
+
+--- jacal/jacal.texi,orig 2017-02-23 20:35:55.303980444 +0100
++++ jacal/jacal.texi 2017-02-23 20:53:14.539024674 +0100
+@@ -343,7 +343,7 @@
+
+ With the standard input grammar, the precedence of @samp{-} as a prefix
+ behaves strangely. @code{a^-b*c} becomes @code{a^(-b*c)} while
+-@code{@result{a^b*c} (a^b)*c}.
++@code{a^b*c @result{} (a^b)*c}.
+
+ Using @code{divide} to divide a polynomial by an integer does not work.
+
+@@ -675,8 +675,9 @@
+ e1: ---------
+ a
+ @end example
++@end deffn
+
+-@deffnx Command suchthat var exp
++@deffn Command suchthat var exp
+
+ If an expression rather than an equation is given to @code{suchthat}, it
+ is as though the equation @code{@var{exp}=0} was given.
+@@ -688,8 +689,9 @@
+ e2: ---------
+ a
+ @end example
++@end deffn
+
+-@deffnx Operator | var exp_or_eqn
++@deffn Operator | var exp_or_eqn
+
+ An alternative infix notation is also available for @code{suchthat}.
+
+@@ -857,8 +859,9 @@
+
+ Returns the degree of polynomial or equation @var{poly} in variable
+ @var{var}.
++@end deffn
+
+-@deffnx Operator degree poly
++@deffn Operator degree poly
+
+ Returns the total-degree, the degree of its highest degree monomial,
+ of polynomial or equation @var{poly}.
+@@ -1016,10 +1019,12 @@
+ Returns @var{poly1} reduced with respect to @var{poly2} (or @var{eqn})
+ and @var{var}. If @var{poly2} is univariate, the third argument is not
+ needed.
++@end deffn
+
+-@deffnx Command mod poly1 n
++@deffn Command mod poly1 n
+ Returns @var{poly1} with all the coefficients taken modulo @var{n}.
+-@deffnx Command mod poly1
++@end deffn
++@deffn Command mod poly1
+ Returns @var{poly1} with all the coefficients taken modulo the
+ current modulus.
+
+@@ -1220,8 +1225,9 @@
+ e1: -1 2 3 5
+ @end group
+ @end example
++@end deffn
+
+-@deffnx Command factor polyratio
++@deffn Command factor polyratio
+ Given a univariate ratio of polynomials @var{polyratio}, returns a
+ matrix of factors and exponents.
+
+@@ -2028,7 +2034,7 @@
+ formed from the pair-wise products of components of the inputs. For
+ example, for the input tensors @code{x[a,b]} and @code{y[c]}
+ @example
+-@result{z:tmult(x,y);} z[a,b,c] = x[a,b]*y[c]
++z:tmult(x,y); @result{} z[a,b,c] = x[a,b]*y[c]
+ @end example
+
+ With an additional argument, @code{tmult} will produce the inner product
+@@ -2464,8 +2470,9 @@
+ If you do not wish to return to Jacal but really want to terminate the
+ session and return to the operating system, then after typing
+ @code{qed();}, type @code{(slib:exit)} or use @code{quit}.
++@end deffn
+
+-@deffnx Command quit
++@deffn Command quit
+ Exit directly from Jacal to the operating system. You will not be able
+ to continue your Jacal session.
+
diff --git a/gnu/packages/patches/mupdf-CVE-2017-5896.patch b/gnu/packages/patches/mupdf-CVE-2017-5896.patch
new file mode 100644
index 0000000000..1537ecc896
--- /dev/null
+++ b/gnu/packages/patches/mupdf-CVE-2017-5896.patch
@@ -0,0 +1,63 @@
+Fix CVE-2017-5896:
+
+https://bugs.ghostscript.com/show_bug.cgi?id=697515
+https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-5896
+http://www.openwall.com/lists/oss-security/2017/02/10/1
+https://security-tracker.debian.org/tracker/CVE-2017-5896
+https://blogs.gentoo.org/ago/2017/02/09/mupdf-use-after-free-in-fz_subsample_pixmap-pixmap-c/
+
+Patch lifted from upstream source repository:
+
+http://git.ghostscript.com/?p=mupdf.git;h=2c4e5867ee699b1081527bc6c6ea0e99a35a5c27
+
+From 2c4e5867ee699b1081527bc6c6ea0e99a35a5c27 Mon Sep 17 00:00:00 2001
+From: Robin Watts <Robin.Watts@artifex.com>
+Date: Thu, 9 Feb 2017 07:12:16 -0800
+Subject: [PATCH] bug 697515: Fix out of bounds read in fz_subsample_pixmap
+
+Pointer arithmetic for final special case was going wrong.
+---
+ source/fitz/pixmap.c | 6 ++++--
+ 1 file changed, 4 insertions(+), 2 deletions(-)
+
+diff --git a/source/fitz/pixmap.c b/source/fitz/pixmap.c
+index a8317127..f1291dc2 100644
+--- a/source/fitz/pixmap.c
++++ b/source/fitz/pixmap.c
+@@ -1104,6 +1104,7 @@ fz_subsample_pixmap_ARM(unsigned char *ptr, int w, int h, int f, int factor,
+ "@STACK:r1,<9>,factor,n,fwd,back,back2,fwd2,divX,back4,fwd4,fwd3,divY,back5,divXY\n"
+ "ldr r4, [r13,#4*22] @ r4 = divXY \n"
+ "ldr r5, [r13,#4*11] @ for (nn = n; nn > 0; n--) { \n"
++ "ldr r8, [r13,#4*17] @ r8 = back4 \n"
+ "18: @ \n"
+ "mov r14,#0 @ r14= v = 0 \n"
+ "sub r5, r5, r1, LSL #8 @ for (xx = x; xx > 0; x--) { \n"
+@@ -1120,7 +1121,7 @@ fz_subsample_pixmap_ARM(unsigned char *ptr, int w, int h, int f, int factor,
+ "mul r14,r4, r14 @ r14= v *= divX \n"
+ "mov r14,r14,LSR #16 @ r14= v >>= 16 \n"
+ "strb r14,[r9], #1 @ *d++ = r14 \n"
+- "sub r0, r0, r8 @ s -= back2 \n"
++ "sub r0, r0, r8 @ s -= back4 \n"
+ "subs r5, r5, #1 @ n-- \n"
+ "bgt 18b @ } \n"
+ "21: @ \n"
+@@ -1249,6 +1250,7 @@ fz_subsample_pixmap(fz_context *ctx, fz_pixmap *tile, int factor)
+ x += f;
+ if (x > 0)
+ {
++ int back4 = x * n - 1;
+ div = x * y;
+ for (nn = n; nn > 0; nn--)
+ {
+@@ -1263,7 +1265,7 @@ fz_subsample_pixmap(fz_context *ctx, fz_pixmap *tile, int factor)
+ s -= back5;
+ }
+ *d++ = v / div;
+- s -= back2;
++ s -= back4;
+ }
+ }
+ }
+--
+2.12.0
+
diff --git a/gnu/packages/patches/mupdf-CVE-2017-5991.patch b/gnu/packages/patches/mupdf-CVE-2017-5991.patch
new file mode 100644
index 0000000000..1fa6dc3466
--- /dev/null
+++ b/gnu/packages/patches/mupdf-CVE-2017-5991.patch
@@ -0,0 +1,101 @@
+Fix CVE-2017-5991:
+
+https://bugs.ghostscript.com/show_bug.cgi?id=697500
+https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-5991
+https://security-tracker.debian.org/tracker/CVE-2017-5991
+
+Patch lifted from upstream source repository:
+
+http://git.ghostscript.com/?p=mupdf.git;h=1912de5f08e90af1d9d0a9791f58ba3afdb9d465
+
+From 1912de5f08e90af1d9d0a9791f58ba3afdb9d465 Mon Sep 17 00:00:00 2001
+From: Robin Watts <robin.watts@artifex.com>
+Date: Thu, 9 Feb 2017 15:49:15 +0000
+Subject: [PATCH] Bug 697500: Fix NULL ptr access.
+
+Cope better with errors during rendering - avoid letting the
+gstate stack get out of sync.
+
+This avoids us ever getting into the situation of popping
+a clip when we should be popping a mask or a group. This was
+causing an unexpected case in the painting.
+---
+ source/pdf/pdf-op-run.c | 26 ++++++++++++++++++--------
+ 1 file changed, 18 insertions(+), 8 deletions(-)
+
+diff --git a/source/pdf/pdf-op-run.c b/source/pdf/pdf-op-run.c
+index a3ea895d..f1eac8d3 100644
+--- a/source/pdf/pdf-op-run.c
++++ b/source/pdf/pdf-op-run.c
+@@ -1213,6 +1213,7 @@ pdf_run_xobject(fz_context *ctx, pdf_run_processor *proc, pdf_xobject *xobj, pdf
+ pdf_run_processor *pr = (pdf_run_processor *)proc;
+ pdf_gstate *gstate = NULL;
+ int oldtop = 0;
++ int oldbot = -1;
+ fz_matrix local_transform = *transform;
+ softmask_save softmask = { NULL };
+ int gparent_save;
+@@ -1232,16 +1233,17 @@ pdf_run_xobject(fz_context *ctx, pdf_run_processor *proc, pdf_xobject *xobj, pdf
+ fz_var(cleanup_state);
+ fz_var(gstate);
+ fz_var(oldtop);
++ fz_var(oldbot);
+
+ gparent_save = pr->gparent;
+ pr->gparent = pr->gtop;
++ oldtop = pr->gtop;
+
+ fz_try(ctx)
+ {
+ pdf_gsave(ctx, pr);
+
+ gstate = pr->gstate + pr->gtop;
+- oldtop = pr->gtop;
+
+ pdf_xobject_bbox(ctx, xobj, &xobj_bbox);
+ pdf_xobject_matrix(ctx, xobj, &xobj_matrix);
+@@ -1302,12 +1304,25 @@ pdf_run_xobject(fz_context *ctx, pdf_run_processor *proc, pdf_xobject *xobj, pdf
+
+ doc = pdf_get_bound_document(ctx, xobj->obj);
+
++ oldbot = pr->gbot;
++ pr->gbot = pr->gtop;
++
+ pdf_process_contents(ctx, (pdf_processor*)pr, doc, resources, xobj->obj, NULL);
+ }
+ fz_always(ctx)
+ {
++ /* Undo any gstate mismatches due to the pdf_process_contents call */
++ if (oldbot != -1)
++ {
++ while (pr->gtop > pr->gbot)
++ {
++ pdf_grestore(ctx, pr);
++ }
++ pr->gbot = oldbot;
++ }
++
+ if (cleanup_state >= 3)
+- pdf_grestore(ctx, pr); /* Remove the clippath */
++ pdf_grestore(ctx, pr); /* Remove the state we pushed for the clippath */
+
+ /* wrap up transparency stacks */
+ if (transparency)
+@@ -1341,13 +1356,8 @@ pdf_run_xobject(fz_context *ctx, pdf_run_processor *proc, pdf_xobject *xobj, pdf
+ pr->gstate[pr->gparent].ctm = gparent_save_ctm;
+ pr->gparent = gparent_save;
+
+- if (gstate)
+- {
+- while (oldtop < pr->gtop)
+- pdf_grestore(ctx, pr);
+-
++ while (oldtop < pr->gtop)
+ pdf_grestore(ctx, pr);
+- }
+
+ pdf_unmark_obj(ctx, xobj->obj);
+ }
+--
+2.12.0
+
diff --git a/gnu/packages/patches/screen-CVE-2017-5618.patch b/gnu/packages/patches/screen-CVE-2017-5618.patch
deleted file mode 100644
index 1b95e428c8..0000000000
--- a/gnu/packages/patches/screen-CVE-2017-5618.patch
+++ /dev/null
@@ -1,40 +0,0 @@
-Fixes CVE-2017-5618 (privilege escalation via opening the logfile when
-screen is installed setuid root):
-
-https://savannah.gnu.org/bugs/?50142
-https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-5618
-
-This patch reverts the upstream commit that introduced the bug:
-
-https://git.savannah.gnu.org/cgit/screen.git/commit/?id=5460f5d28c01a9a58e021eb1dffef2965e629d58
-
-From f55b0cc29a0ac2a1c54e8a5e886b7393edd4a76c Mon Sep 17 00:00:00 2001
-From: Leo Famulari <leo@famulari.name>
-Date: Sat, 11 Feb 2017 22:40:24 -0500
-Subject: [PATCH] Revert "adding permissions check for the logfile name"
-
-This reverts commit 5460f5d28c01a9a58e021eb1dffef2965e629d58.
----
- src/screen.c | 6 ------
- 1 file changed, 6 deletions(-)
-
-diff --git a/src/screen.c b/src/screen.c
-index 64650e9..283c305 100644
---- a/src/screen.c
-+++ b/src/screen.c
-@@ -673,12 +673,6 @@ int main(int ac, char** av)
- Panic(0, "-L: logfile name can not start with \"-\" symbol");
- if (strlen(screenlogfile) > PATH_MAX)
- Panic(0, "-L: logfile name too long. (max. %d char)", PATH_MAX);
--
-- FILE *w_check;
-- if ((w_check = fopen(screenlogfile, "w")) == NULL)
-- Panic(0, "-L: logfile name access problem");
-- else
-- fclose(w_check);
- }
- nwin_options.Lflag = 1;
- break;
---
-2.11.1
-
diff --git a/gnu/packages/patches/vdirsyncer-test-suite-slow-machines.patch b/gnu/packages/patches/vdirsyncer-test-suite-slow-machines.patch
deleted file mode 100644
index 03093e8330..0000000000
--- a/gnu/packages/patches/vdirsyncer-test-suite-slow-machines.patch
+++ /dev/null
@@ -1,42 +0,0 @@
-Fix test failures caused by some build machines running more slowly than
-expected, which manifest like this:
-
-------
-> raise FailedHealthCheck(message)
-E hypothesis.errors.FailedHealthCheck: Data generation is extremely slow: Only produced 4 valid examples in 1.08 seconds (1 invalid ones and 0 exceeded maximum size). Try decreasing size of the data you're generating (with e.g.average_size or max_leaves parameters).
-E See http://hypothesis.readthedocs.org/en/latest/healthchecks.html for more information about this. If you want to disable just this health check, add HealthCheck.too_slowto the suppress_health_check settings for this test.
-
-/gnu/store/b8d1r8bilvm3jkncgrpvmg3dni9cgcr1-python-hypothesis-3.1.0/lib/python3.5/site-packages/hypothesis/core.py:296: FailedHealthCheck
-------
-
-Patch copied from upstream source repository:
-
-https://github.com/pimutils/vdirsyncer/commit/10490a12f13f03495e0945eb9d45d7aed9ab0a6c
-
-From 10490a12f13f03495e0945eb9d45d7aed9ab0a6c Mon Sep 17 00:00:00 2001
-From: Markus Unterwaditzer <markus@unterwaditzer.net>
-Date: Sat, 18 Feb 2017 15:45:06 +0100
-Subject: [PATCH] Unconditionally disable HealthCheck.too_slow
-
----
- tests/conftest.py | 4 +++-
- 1 file changed, 3 insertions(+), 1 deletion(-)
-
-diff --git a/tests/conftest.py b/tests/conftest.py
-index e0a07d5..3afd7cd 100644
---- a/tests/conftest.py
-+++ b/tests/conftest.py
-@@ -26,10 +26,12 @@ def benchmark():
- else:
- del pytest_benchmark
-
-+
-+settings.suppress_health_check = [HealthCheck.too_slow]
-+
- settings.register_profile("ci", settings(
- max_examples=1000,
- verbosity=Verbosity.verbose,
-- suppress_health_check=[HealthCheck.too_slow]
- ))
- settings.register_profile("deterministic", settings(
- derandomize=True,
diff --git a/gnu/packages/pdf.scm b/gnu/packages/pdf.scm
index 58416ee66c..873100cd78 100644
--- a/gnu/packages/pdf.scm
+++ b/gnu/packages/pdf.scm
@@ -11,6 +11,7 @@
;;; Coypright © 2016 Julien Lepiller <julien@lepiller.eu>
;;; Copyright © 2016 Arun Isaac <arunisaac@systemreboot.net>
;;; Copyright © 2017 Leo Famulari <leo@famulari.name>
+;;; Copyright © 2017 Alex Vong <alexvong1995@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -438,14 +439,14 @@ interaction.")
(define-public podofo
(package
(name "podofo")
- (version "0.9.3")
+ (version "0.9.5")
(source (origin
(method url-fetch)
(uri (string-append "mirror://sourceforge/podofo/podofo/" version
"/podofo-" version ".tar.gz"))
(sha256
(base32
- "1n12lbq9x15vqn7dc0hsccp56l5jdff1xrhvlfqlbklxx0qiw9pc"))))
+ "012kgfx5j5n6w4zkc1d290d2cwjk60jhzsjlr2x19g3yi75q2jc5"))))
(build-system cmake-build-system)
(inputs ; TODO: Add cppunit for tests
`(("lua" ,lua-5.1)
@@ -550,7 +551,9 @@ and examining the file structure (pdfshow).")
(append
(origin-patches (package-source mupdf))
(search-patches "mupdf-mujs-CVE-2016-10132.patch"
- "mupdf-mujs-CVE-2016-10133.patch")))))))
+ "mupdf-mujs-CVE-2016-10133.patch"
+ "mupdf-CVE-2017-5896.patch"
+ "mupdf-CVE-2017-5991.patch")))))))
(define-public qpdf
(package
diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm
index eee688354a..840e0b763e 100644
--- a/gnu/packages/perl.scm
+++ b/gnu/packages/perl.scm
@@ -13,6 +13,7 @@
;;; Copyright © 2016 Ben Woodcroft <donttrustben@gmail.com>
;;; Copyright © 2016 Jan Nieuwenhuizen <janneke@gnu.org>
;;; Copyright © 2017 Raoul J.P. Bonnal <ilpuccio.febo@gmail.com>
+;;; Copyright © 2017 Marius Bakke <mbakke@fastmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -36,7 +37,8 @@
#:use-module (guix download)
#:use-module (guix build-system gnu)
#:use-module (guix build-system perl)
- #:use-module (gnu packages perl-web))
+ #:use-module (gnu packages perl-web)
+ #:use-module (gnu packages pkg-config))
;;;
;;; Please: Try to add new module packages in alphabetic order.
@@ -206,6 +208,31 @@ explicitly alias the class to another name or, if you prefer, you can do so
implicitly.")
(license (package-license perl))))
+(define-public perl-any-moose
+ (package
+ (name "perl-any-moose")
+ (version "0.27")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "mirror://cpan/authors/id/E/ET/ETHER/"
+ "Any-Moose-" version ".tar.gz"))
+ (sha256
+ (base32
+ "0dc55mpayrixwx8dwql0vj0jalg4rlb3k64rprc84bl0z8vkx9m8"))))
+ (build-system perl-build-system)
+ (native-inputs
+ `(("perl-mouse" ,perl-mouse)
+ ("perl-moose" ,perl-moose)))
+ (home-page "http://search.cpan.org/dist/Any-Moose")
+ (synopsis "Transparently use Moose or Mouse modules")
+ (description
+ "This module facilitates using @code{Moose} or @code{Mouse} modules
+without changing the code. By default, Mouse will be provided to libraries,
+unless Moose is already loaded, or explicitly requested by the end-user. End
+users can force the decision of which backend to use by setting the environment
+variable ANY_MOOSE to be Moose or Mouse.")
+ (license (package-license perl))))
+
(define-public perl-appconfig
(package
(name "perl-appconfig")
@@ -268,6 +295,39 @@ manipulate, read, and write Zip archive files.")
list manipulation routines.")
(license (package-license perl))))
+(define-public perl-async-interrupt
+ (package
+ (name "perl-async-interrupt")
+ (version "1.21")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "mirror://cpan/authors/id/M/ML/MLEHMANN/"
+ "Async-Interrupt-" version ".tar.gz"))
+ (sha256
+ (base32
+ "092zs7b72f8q109c3z829nqfgwqghp3nhw44c0gcyhacbb4wgpk3"))))
+ (build-system perl-build-system)
+ (propagated-inputs
+ `(("perl-common-sense" ,perl-common-sense)))
+ (home-page "http://search.cpan.org/dist/Async-Interrupt")
+ (synopsis "Allow C/XS libraries to interrupt perl asynchronously")
+ (description
+ "@code{Async::Interrupt} implements a single feature only of interest
+to advanced perl modules, namely asynchronous interruptions (think \"UNIX
+signals\", which are very similar).
+
+Sometimes, modules wish to run code asynchronously (in another thread,
+or from a signal handler), and then signal the perl interpreter on
+certain events. One common way is to write some data to a pipe and use
+an event handling toolkit to watch for I/O events. Another way is to
+send a signal. Those methods are slow, and in the case of a pipe, also
+not asynchronous - it won't interrupt a running perl interpreter.
+
+This module implements asynchronous notifications that enable you to
+signal running perl code from another thread, asynchronously, and
+sometimes even without using a single syscall.")
+ (license (package-license perl))))
+
(define-public perl-autovivification
(package
(name "perl-autovivification")
@@ -562,6 +622,25 @@ code or from an external program. Optionally, output can be teed so that it
is captured while being passed through to the original file handles.")
(license asl2.0)))
+(define-public perl-canary-stability
+ (package
+ (name "perl-canary-stability")
+ (version "2012")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "mirror://cpan/authors/id/M/ML/MLEHMANN/"
+ "Canary-Stability-" version ".tar.gz"))
+ (sha256
+ (base32
+ "01vih43hvpqy67m6a6fwmlswli91mqpv8n8ccglvlkc33l8hn97x"))))
+ (build-system perl-build-system)
+ (home-page "http://search.cpan.org/dist/Canary-Stability")
+ (synopsis "Check compatibility with the installed perl version")
+ (description
+ "This module is used by Schmorp's modules during configuration stage
+to test the installed perl for compatibility with his modules.")
+ (license (package-license perl))))
+
(define-public perl-carp-assert
(package
(name "perl-carp-assert")
@@ -1290,6 +1369,28 @@ contained in Appendix A of FIPS Publication 181, \"Standard for Automated
Password Generator\".")
(license (package-license perl))))
+(define-public perl-cwd-guard
+ (package
+ (name "perl-cwd-guard")
+ (version "0.05")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "mirror://cpan/authors/id/K/KA/KAZEBURO/"
+ "Cwd-Guard-" version ".tar.gz"))
+ (sha256
+ (base32
+ "0xwf4rmii55k3lp19mpbh00mbgby7rxdk2lk84148bjhp6i7rz3s"))))
+ (build-system perl-build-system)
+ (native-inputs
+ `(("perl-module-build" ,perl-module-build)
+ ("perl-test-requires" ,perl-test-requires)))
+ (home-page "http://search.cpan.org/dist/Cwd-Guard")
+ (synopsis "Temporarily change working directory")
+ (description
+ "@code{Cwd::Guard} changes the current directory using a limited scope.
+It returns to the previous working directory when the object is destroyed.")
+ (license (package-license perl))))
+
(define-public perl-czplib
(package
(name "perl-czplib")
@@ -2097,6 +2198,27 @@ the appropriate objects.")
particular command is available.")
(license (package-license perl))))
+(define-public perl-devel-checkcompiler
+ (package
+ (name "perl-devel-checkcompiler")
+ (version "0.07")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "mirror://cpan/authors/id/S/SY/SYOHEX/"
+ "Devel-CheckCompiler-" version ".tar.gz"))
+ (sha256
+ (base32
+ "1db973a4dbyknjxq608hywil5ai6vplnayshqxrd7m5qnjbpd2vn"))))
+ (build-system perl-build-system)
+ (native-inputs
+ `(("perl-module-build-tiny" ,perl-module-build-tiny)))
+ (home-page "http://search.cpan.org/dist/Devel-CheckCompiler")
+ (synopsis "Check compiler availability")
+ (description "@code{Devel::CheckCompiler} is a tiny module to check
+whether a compiler is available. It can test for a C99 compiler, or
+you can tell it to compile a C source file with optional linker flags.")
+ (license (package-license perl))))
+
(define-public perl-devel-globaldestruction
(package
(name "perl-devel-globaldestruction")
@@ -2603,6 +2725,29 @@ By itself it is not a particularly interesting module by any measure, however
it ties together a family of modern toolchain modules.")
(license (package-license perl))))
+(define-public perl-extutils-depends
+ (package
+ (name "perl-extutils-depends")
+ (version "0.405")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "mirror://cpan/authors/id/X/XA/XAOC/"
+ "ExtUtils-Depends-" version ".tar.gz"))
+ (sha256
+ (base32
+ "0b4ab9qmcihsfs2ajhn5qzg7nhazr68v3r0zvb7076smswd41mla"))))
+ (build-system perl-build-system)
+ (native-inputs
+ `(("perl-test-number-delta" ,perl-test-number-delta)))
+ (home-page "http://search.cpan.org/dist/ExtUtils-Depends")
+ (synopsis "Easily build XS extensions that depend on XS extensions")
+ (description
+ "This module tries to make it easy to build Perl extensions that use
+functions and typemaps provided by other perl extensions. This means that a
+perl extension is treated like a shared library that provides also a C and an
+XS interface besides the perl one.")
+ (license (package-license perl))))
+
(define-public perl-extutils-helpers
(package
(name "perl-extutils-helpers")
@@ -2645,6 +2790,29 @@ C code in your Perl programs, there isn't a clear method to compile standard,
self-contained C libraries. This module main goal is to help in that task.")
(license (package-license perl))))
+(define-public perl-extutils-pkgconfig
+ (package
+ (name "perl-extutils-pkgconfig")
+ (version "1.15")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "mirror://cpan/authors/id/X/XA/XAOC/"
+ "ExtUtils-PkgConfig-" version ".tar.gz"))
+ (sha256
+ (base32
+ "1cxh6w8vmyqmhl6afys2q6z6jkp1m6zvacpk70196zmk48p1kcv9"))))
+ (build-system perl-build-system)
+ (propagated-inputs
+ `(("pkg-config" ,pkg-config)))
+ (home-page "http://search.cpan.org/dist/ExtUtils-PkgConfig")
+ (synopsis "Simplistic interface to pkg-config")
+ (description
+ "@code{ExtUtils::PkgConfig} is a very simplistic interface to the
+@command{pkg-config} utility, intended for use in the @file{Makefile.PL}
+of perl extensions which bind libraries that @command{pkg-config} knows.
+It is really just boilerplate code that you would have written yourself.")
+ (license lgpl2.1+)))
+
(define-public perl-file-changenotify
(package
(name "perl-file-changenotify")
@@ -3953,6 +4121,50 @@ replacement. Whereas Module::Build has over 6,700 lines of code; this module
has less than 120, yet supports the features needed by most distributions.")
(license (package-license perl))))
+(define-public perl-module-build-xsutil
+ (package
+ (name "perl-module-build-xsutil")
+ (version "0.16")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "mirror://cpan/authors/id/H/HI/HIDEAKIO/"
+ "Module-Build-XSUtil-" version ".tar.gz"))
+ (sha256
+ (base32
+ "1nrs0b6hmwl3sw3g50b9857qgp5cbbbpl716zwn30h9vwjj2yxhm"))))
+ (build-system perl-build-system)
+ (native-inputs
+ `(("perl-capture-tiny" ,perl-capture-tiny)
+ ("perl-cwd-guard" ,perl-cwd-guard)
+ ("perl-file-copy-recursive" ,perl-file-copy-recursive)
+ ("perl-module-build" ,perl-module-build)))
+ (propagated-inputs
+ `(("perl-devel-checkcompiler" ,perl-devel-checkcompiler)))
+ (home-page "http://search.cpan.org/dist/Module-Build-XSUtil")
+ (synopsis "Module::Build class for building XS modules")
+ (description
+ "@code{Module::Build::XSUtil} is subclass of @code{Module::Build}
+for support building XS modules.
+
+This is a list of a new parameters in the @code{Module::Build::new} method:
+
+@enumerate
+@item @code{needs_compiler_c99}: This option checks C99 compiler availability.
+@item @code{needs_compiler_cpp}: This option checks C++ compiler availability.
+Can also pass @code{extra_compiler_flags} and @code{extra_linker_flags} for C++.
+@item @code{generate_ppport_h}: Generate @file{ppport.h} by @code{Devel::PPPort}.
+@item @code{generate_xshelper_h}: Generate @file{xshelper.h} which is a helper
+header file to include @file{EXTERN.h}, @file{perl.h}, @file{XSUB.h} and
+@file{ppport.h}, and defines some portability stuff which are not supported by
+@file{ppport.h}.
+
+It is ported from @code{Module::Install::XSUtil}.
+@item @code{cc_warnings}: Toggle compiler warnings. Enabled by default.
+@item @code{-g options}: Invoke @file{Build.PL} with @code{-g} to enable
+debug options.
+@end enumerate")
+ (license (package-license perl))))
+
(define-public perl-module-find
(package
(name "perl-module-find")
@@ -4732,6 +4944,62 @@ own set of Moose-like types. These custom types can then be used to describe
fields in Moo-based classes.")
(license (package-license perl))))
+(define-public perl-mouse
+ (package
+ (name "perl-mouse")
+ (version "2.4.9")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append
+ "mirror://cpan/authors/id/S/SY/SYOHEX/Mouse-v"
+ version
+ ".tar.gz"))
+ (sha256
+ (base32
+ "1y20sl97x1h4y1iid47hj0w1hb2887dchh4nfffgmqpyggkslh4n"))))
+ (build-system perl-build-system)
+ (native-inputs
+ `(("perl-module-build" ,perl-module-build)
+ ("perl-module-build-xsutil" ,perl-module-build-xsutil)
+ ("perl-test-exception" ,perl-test-exception)
+ ("perl-test-fatal" ,perl-test-fatal)
+ ("perl-test-leaktrace" ,perl-test-leaktrace)
+ ("perl-test-output" ,perl-test-output)
+ ("perl-test-requires" ,perl-test-requires)
+ ("perl-try-tiny" ,perl-try-tiny)))
+ (home-page "https://github.com/gfx/p5-Mouse")
+ (synopsis "Fast Moose-compatible object system for perl5")
+ (description
+ "Mouse is a @code{Moose} compatible object system that implements a
+subset of the functionality for reduced startup time.")
+ (license (package-license perl))))
+
+(define-public perl-mousex-nativetraits
+ (package
+ (name "perl-mousex-nativetraits")
+ (version "1.09")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "mirror://cpan/authors/id/G/GF/GFUJI/"
+ "MouseX-NativeTraits-" version ".tar.gz"))
+ (sha256
+ (base32
+ "0pnbchkxfz9fwa8sniyjqp0mz75b3k2fafq9r09znbbh51dbz9gq"))))
+ (build-system perl-build-system)
+ (native-inputs
+ `(("perl-any-moose" ,perl-any-moose)
+ ("perl-test-fatal" ,perl-test-fatal)))
+ (propagated-inputs
+ `(("perl-mouse" ,perl-mouse)))
+ (home-page "http://search.cpan.org/dist/MouseX-NativeTraits")
+ (synopsis "Extend attribute interfaces for Mouse")
+ (description
+ "While @code{Mouse} attributes provide a way to name your accessors,
+readers, writers, clearers and predicates, @code{MouseX::NativeTraits}
+provides commonly used attribute helper methods for more specific types
+of data.")
+ (license (package-license perl))))
+
(define-public perl-mozilla-ca
(package
(name "perl-mozilla-ca")
@@ -6445,6 +6713,29 @@ including a stack trace of what was going on when it occurred.")
"Test-NoWarnings-" version))
(license lgpl2.1)))
+(define-public perl-test-number-delta
+ (package
+ (name "perl-test-number-delta")
+ (version "1.06")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "mirror://cpan/authors/id/D/DA/DAGOLDEN/"
+ "Test-Number-Delta-" version ".tar.gz"))
+ (sha256
+ (base32
+ "0jfhzhpzkc23mkrlbnv085ykpfncmy99hvppbzjnrpvgks8k0m2k"))))
+ (build-system perl-build-system)
+ (home-page "http://search.cpan.org/dist/Test-Number-Delta")
+ (synopsis
+ "Compare the difference between numbers against a given tolerance")
+ (description
+ "At some point or another, most programmers find they need to compare
+floating-point numbers for equality. The typical idiom is to test if the
+absolute value of the difference of the numbers is within a desired tolerance,
+usually called epsilon. This module provides such a function for use with
+@code{Test::More}.")
+ (license asl2.0)))
+
(define-public perl-test-output
(package
(name "perl-test-output")
@@ -7492,6 +7783,30 @@ attribute names.")
;; modification, are permitted under any circumstances. No warranty.
(license public-domain)))
+(define-public perl-xs-object-magic
+ (package
+ (name "perl-xs-object-magic")
+ (version "0.04")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "mirror://cpan/authors/id/F/FL/FLORA/"
+ "XS-Object-Magic-" version ".tar.gz"))
+ (sha256
+ (base32
+ "03fghj7hq0fiicmfdxhmzfm4mzv7s097pgkd32ji7jnljvhm9six"))))
+ (build-system perl-build-system)
+ (native-inputs
+ `(("perl-extutils-depends" ,perl-extutils-depends)
+ ("perl-test-fatal" ,perl-test-fatal)))
+ (home-page "http://search.cpan.org/dist/XS-Object-Magic")
+ (synopsis "Opaque, extensible XS pointer backed objects using sv_magic")
+ (description
+ "This way of associating structs with Perl space objects is designed to
+supersede Perl's builtin @code{T_PTROBJ} with something that is extensible
+(structs can be associated with any data type) and opaque (the C pointer is
+neither visible nor modifiable from Perl space).")
+ (license (package-license perl))))
+
(define-public perl-yaml
(package
(name "perl-yaml")
diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm
index a8ba1b8c76..5631c7ac0b 100644
--- a/gnu/packages/python.scm
+++ b/gnu/packages/python.scm
@@ -829,14 +829,14 @@ concepts.")
(define-public python-netcdf4
(package
(name "python-netcdf4")
- (version "1.2.6")
+ (version "1.2.7")
(source
(origin
(method url-fetch)
(uri (pypi-uri "netCDF4" version))
(sha256
(base32
- "1qcymsfxsdfr4sx0vl7ih5d14z66k6c9sjy4gb6rjaksk5387zvg"))))
+ "1fllizmnpw0zkzzm4j9pgamarlzfn3kmv9zrm0w65q1y31h9ni0c"))))
(build-system python-build-system)
(native-inputs
`(("python-cython" ,python-cython)))
@@ -1020,6 +1020,40 @@ etc.). The package is structured to make adding new modules easy.")
"python"
(package-inputs pycrypto)))))))
+(define-public python-eventlet
+ (package
+ (name "python-eventlet")
+ (version "0.20.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "eventlet" version))
+ (sha256
+ (base32
+ "0f3q55mq4n021wb7qa53pz3ix6i2py64sap66vsaqm2scjw83m9s"))))
+ (build-system python-build-system)
+ (propagated-inputs
+ `(("python-greenlet" ,python-greenlet)))
+ (home-page "http://eventlet.net")
+ (synopsis "Concurrent networking library for Python")
+ (description
+ "Eventlet is a concurrent networking library for Python that
+allows you to change how you run your code, not how you write it.
+It uses @code{epoll} or @code{libevent} for highly scalable non-blocking I/O.
+Coroutines ensure that the developer uses a blocking style of programming
+that is similar to threading, but provide the benefits of non-blocking I/O.
+The event dispatch is implicit, which means you can easily use @code{Eventlet}
+from the Python interpreter, or as a small part of a larger application.")
+ (license license:expat)))
+
+(define-public python2-eventlet
+ (let ((base (package-with-python2
+ (strip-python2-variant python-eventlet))))
+ (package (inherit base)
+ (propagated-inputs
+ `(("python2-enum34" ,python2-enum34)
+ ,@(package-propagated-inputs base))))))
+
(define-public python-keyring
(package
(name "python-keyring")
@@ -2499,13 +2533,13 @@ installed with a newer @code{pip} or with wheel's own command line utility.")
(define-public python-requests
(package
(name "python-requests")
- (version "2.12.4")
+ (version "2.13.0")
(source (origin
(method url-fetch)
(uri (pypi-uri "requests" version))
(sha256
(base32
- "0d5fwxmw4ibynk3imph3n4n84m0n3ib1vj339fxhkqri0qd4767d"))))
+ "1s0wg4any4dsv5l3hqjxqk2zgb7pdbqhy9rhc8kh3aigfq4ws8jp"))))
;; TODO: unbundle urllib3 and chardet.
(build-system python-build-system)
(arguments
@@ -2670,6 +2704,35 @@ somewhat intelligeble.")
(define-public python2-pyjwt
(package-with-python2 python-pyjwt))
+(define-public python-pykka
+ (package
+ (name "python-pykka")
+ (version "1.2.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "Pykka" version))
+ (sha256
+ (base32
+ "049w3r0mdnnw7xv19jiq7rvls9k7xs73x05b4qs5d6z4vvmgyiz8"))))
+ (build-system python-build-system)
+ (native-inputs
+ `(("python-mock" ,python-mock)
+ ("python-nose" ,python-nose)
+ ("python-gevent" ,python-gevent)
+ ("python-eventlet" ,python-eventlet)))
+ (home-page "https://www.pykka.org/")
+ (synopsis "Pykka is a Python implementation of the actor model")
+ (description
+ "Pykka is a Python implementation of the actor model.
+The actor model introduces some simple rules to control the sharing
+of state and cooperation between execution units, which makes it
+easier to build concurrent applications.")
+ (license license:asl2.0)))
+
+(define-public python2-pykka
+ (package-with-python2 python-pykka))
+
(define-public python-oauthlib
(package
(name "python-oauthlib")
diff --git a/gnu/packages/regex.scm b/gnu/packages/regex.scm
index f04cba706d..11f4716033 100644
--- a/gnu/packages/regex.scm
+++ b/gnu/packages/regex.scm
@@ -27,7 +27,7 @@
(define-public re2
(package
(name "re2")
- (version "2017-01-01")
+ (version "2017-03-01")
(source (origin
(method url-fetch)
(uri
@@ -37,7 +37,7 @@
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
- "0yij1ajh66h3pj3kfz7y0ldrsww8rlpjzaavyr5lchl98as1jq74"))))
+ "1s3kdcrz2mwi30k6pz9jkv5vk8b704bz65xgcr67wbn2pn3hpnqr"))))
(build-system gnu-build-system)
(arguments
`(#:test-target "test"
diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index 59370447b2..73eefe8dde 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -426,13 +426,13 @@ expectations and mocks frameworks.")
(define-public bundler
(package
(name "bundler")
- (version "1.14.4")
+ (version "1.14.5")
(source (origin
(method url-fetch)
(uri (rubygems-uri "bundler" version))
(sha256
(base32
- "1hafmb7p41pm40a2z7f4x5zpgrb72xvgwlvkxnflmzqkvq2prkfv"))))
+ "0635s6naz9hn4iqbvkhnm1by4j4spvv13mb7nzwwimnpbqgx663i"))))
(build-system ruby-build-system)
(arguments
'(#:tests? #f)) ; avoid dependency cycles
@@ -1020,26 +1020,6 @@ features.")
(home-page "https://github.com/chneukirchen/bacon")
(license license:expat)))
-(define-public ruby-arel
- (package
- (name "ruby-arel")
- (version "6.0.0")
- (source (origin
- (method url-fetch)
- (uri (rubygems-uri "arel" version))
- (sha256
- (base32
- "18wnfnzr2i5p3fygsddjbi1cimws6823nbk8drxidmnj8jz7h0ar"))))
- (build-system ruby-build-system)
- (arguments
- '(#:tests? #f)) ; no test suite
- (synopsis "SQL AST manager for Ruby")
- (description "Arel is a SQL AST manager for Ruby. It simplifies the
-generation of complex SQL queries and adapts to various relational database
-implementations.")
- (home-page "https://github.com/rails/arel")
- (license license:expat)))
-
(define-public ruby-connection-pool
(package
(name "ruby-connection-pool")
@@ -1854,8 +1834,9 @@ net/http library.")
(arguments '(#:tests? #f)) ; no tests
(home-page "https://github.com/rails/arel")
(synopsis "SQL AST manager for Ruby")
- (description "Arel is a SQL AST manager for Ruby. It simplifies the
-generation of complex SQL queries and is compatible with various RDBMSes.")
+ (description "Arel is an SQL @dfn{Abstract Syntax Tree} (AST) manager for
+Ruby. It simplifies the generation of complex SQL queries and adapts to
+various relational database implementations.")
(license license:expat)))
(define-public ruby-minitar
diff --git a/gnu/packages/scheme.scm b/gnu/packages/scheme.scm
index af416c502a..e1dba9bed7 100644
--- a/gnu/packages/scheme.scm
+++ b/gnu/packages/scheme.scm
@@ -6,6 +6,7 @@
;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016 Jan Nieuwenhuizen <janneke@gnu.org>
;;; Copyright © 2016, 2017 ng0 <contact.ng0@cryptolab.net>
+;;; Copyright © 2017 John Darrington <jmd@gnu.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -25,8 +26,8 @@
(define-module (gnu packages scheme)
#:use-module (gnu packages)
#:use-module ((guix licenses)
- #:select (gpl2+ lgpl2.0+ lgpl2.1+ asl2.0 bsd-3
- cc-by-sa4.0))
+ #:select (gpl2+ lgpl2.0+ lgpl2.1+ lgpl3+ asl2.0 bsd-3
+ cc-by-sa4.0 non-copyleft))
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix git-download)
@@ -57,6 +58,7 @@
#:use-module (gnu packages xorg)
#:use-module (gnu packages tls)
#:use-module (gnu packages gl)
+ #:use-module (gnu packages zip)
#:use-module (ice-9 match))
(define (mit-scheme-source-directory system version)
@@ -844,3 +846,100 @@ metalinguistic abstraction, recursion, interpreters, and modular programming.")
"String pattern-matching library for scheme48 based on the SRE
regular-expression notation.")
(license bsd-3))))
+
+(define-public slib
+ (package
+ (name "slib")
+ (version "3b5")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "http://groups.csail.mit.edu/mac/ftpdir/scm/slib-"
+ version ".zip"))
+ (sha256
+ (base32
+ "0q0p2d53p8qw2592yknzgy2y1p5a9k7ppjx0cfrbvk6242c4mdpq"))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:tests? #f ; There is no check target.
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'install 'remove-bin-share
+ (lambda* (#:key inputs outputs #:allow-other-keys)
+ (delete-file-recursively
+ (string-append (assoc-ref outputs "out") "/bin"))))
+ (replace 'configure
+ (lambda* (#:key inputs outputs #:allow-other-keys)
+ (zero? (system* "./configure"
+ (string-append "--prefix="
+ (assoc-ref outputs "out")))))))))
+ (native-inputs `(("unzip" ,unzip)
+ ("texinfo" ,texinfo)))
+ (home-page "http://people.csail.mit.edu/jaffer/SLIB/")
+ (synopsis "Compatibility and utility library for Scheme")
+ (description "SLIB is a portable Scheme library providing compatibility and
+utility functions for all standard Scheme implementations.")
+ (license (non-copyleft
+ "http://people.csail.mit.edu/jaffer/SLIB_COPYING.txt"
+ "Or see COPYING in the distribution."))))
+
+(define-public scm
+ (package
+ (name "scm")
+ (version "5f2")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append
+ "http://groups.csail.mit.edu/mac/ftpdir/scm/scm-"
+ version ".zip"))
+ (sha256
+ (base32
+ "050ijb51jm1cij9g3r89zl9rawsrikhbb5y8zb7lspb7bsxq5w99"))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (replace 'configure
+ (lambda* (#:key inputs outputs #:allow-other-keys)
+ (zero? (system* "./configure"
+ (string-append "--prefix="
+ (assoc-ref outputs "out"))))))
+ (add-before 'build 'pre-build
+ (lambda* (#:key inputs #:allow-other-keys)
+ (substitute* "Makefile"
+ (("ginstall-info") "install-info"))))
+ (replace 'build
+ (lambda* (#:key inputs outputs #:allow-other-keys)
+ (setenv "SCHEME_LIBRARY_PATH"
+ (string-append (assoc-ref inputs "slib")
+ "/lib/slib/"))
+ (and
+ (zero? (system* "make" "scmlit" "CC=gcc"))
+ (zero? (system* "make" "all")))))
+ (add-after 'install 'post-install
+ (lambda* (#:key inputs outputs #:allow-other-keys)
+ (let ((req
+ (string-append (assoc-ref outputs "out")
+ "/lib/scm/require.scm")))
+ (and
+ (delete-file req)
+ (format (open req (logior O_WRONLY O_CREAT))
+ "(define (library-vicinity) ~s)\n"
+ (string-append (assoc-ref inputs "slib")
+ "/lib/slib/"))
+
+ ;; We must generate the slibcat file
+ (zero? (system*
+ (string-append
+ (assoc-ref outputs "out")
+ "/bin/scm")
+ "-br" "new-catalog")))))))))
+ (inputs `(("slib" ,slib)))
+ (native-inputs `(("unzip" ,unzip)
+ ("texinfo" ,texinfo)))
+ (home-page "http://people.csail.mit.edu/jaffer/SCM")
+ (synopsis "Scheme implementation conforming to R5RS and IEEE P1178")
+ (description "GNU SCM is an implementation of Scheme. This
+implementation includes Hobbit, a Scheme-to-C compiler, which can
+generate C files whose binaries can be dynamically or statically
+linked with a SCM executable.")
+ (license lgpl3+)))
diff --git a/gnu/packages/screen.scm b/gnu/packages/screen.scm
index 57e6cb595e..f5c914e88a 100644
--- a/gnu/packages/screen.scm
+++ b/gnu/packages/screen.scm
@@ -35,15 +35,13 @@
(define-public screen
(package
(name "screen")
- (version "4.5.0")
+ (version "4.5.1")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnu/screen/screen-"
version ".tar.gz"))
- (patches (search-patches "screen-CVE-2017-5618.patch"))
- (patch-flags '("-p2"))
(sha256
- (base32 "1c7grw03a9iwvqbxfd6hmjb681rp8gb55zsxm7b3apqqcb1sghq1"))))
+ (base32 "0bbv16gpxrh64sn4bvjy3qjy7jsxjlqlilyysin02fwnvla23nwp"))))
(build-system gnu-build-system)
(native-inputs
`(("makeinfo" ,texinfo)))
diff --git a/gnu/packages/statistics.scm b/gnu/packages/statistics.scm
index 133ce41c43..139ac71834 100644
--- a/gnu/packages/statistics.scm
+++ b/gnu/packages/statistics.scm
@@ -346,24 +346,6 @@ functions of regression coefficients, and 'epredict' methods that handle
non-estimable cases correctly.")
(license license:gpl2+)))
-(define-public r-gtable
- (package
- (name "r-gtable")
- (version "0.1.2")
- (source
- (origin
- (method url-fetch)
- (uri (cran-uri "gtable" version))
- (sha256
- (base32 "0k9hfj6r5y238gqh92s3cbdn34biczx3zfh79ix5xq0c5vkai2xh"))))
- (build-system r-build-system)
- (home-page "https://cran.r-project.org/web/packages/gtable")
- (synopsis "R library to arrange grobs in tables")
- (description
- "Gtable is a collection of tools to make it easier to work with
-\"tables\" of grobs.")
- (license license:gpl2+)))
-
(define-public r-pheatmap
(package
(name "r-pheatmap")
@@ -1068,22 +1050,6 @@ from knitr Rmarkdown.")
the execution time of R expressions.")
(license license:bsd-2)))
-(define-public r-codetools
- (package
- (name "r-codetools")
- (version "0.2-14")
- (source (origin
- (method url-fetch)
- (uri (cran-uri "codetools" version))
- (sha256
- (base32
- "0y9r4m2b8xgavr89sc179knzwpz54xljbc1dinpq2q07i4xn0397"))))
- (build-system r-build-system)
- (home-page "https://cran.r-project.org/web/packages/codetools/index.html")
- (synopsis "Code analysis tools for R")
- (description "This package provides code analysis tools for R.")
- (license license:gpl3+)))
-
(define-public r-pryr
(package
(name "r-pryr")
@@ -2246,11 +2212,11 @@ variety of formats.")
"0vz7073m0a2q12qzzihrfh5c2kx5jqi5l7z470fxmwqghdllh7l0"))))
(properties `((upstream-name . "gtable")))
(build-system r-build-system)
- (home-page "http://cran.r-project.org/web/packages/gtable")
- (synopsis "Arrange grobs in tables")
+ (home-page "https://cran.r-project.org/web/packages/gtable")
+ (synopsis "R library to arrange grobs in tables")
(description
- "This package provides tools to make it easier to work with tables of
-grobs.")
+ "Gtable is a collection of tools to make it easier to work with
+\"tables\" of grobs.")
(license license:gpl2+)))
(define-public r-gridextra
@@ -2568,7 +2534,7 @@ data.")
(base32
"0h7sjmvvsi35041jp47cxhsqzgf1y8jrw6fxii7n26i8g7nrh1sf"))))
(build-system r-build-system)
- (home-page "http://cran.r-project.org/web/packages/codetools")
+ (home-page "https://cran.r-project.org/web/packages/codetools")
(synopsis "Code analysis tools for R")
(description "This package provides code analysis tools for R to check R
code for possible problems.")
diff --git a/gnu/packages/telephony.scm b/gnu/packages/telephony.scm
index b0cefe4056..87261825c5 100644
--- a/gnu/packages/telephony.scm
+++ b/gnu/packages/telephony.scm
@@ -5,7 +5,7 @@
;;; Copyright © 2015, 2016 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016 Lukas Gradl <lgradl@openmailbox.org>
;;; Copyright © 2016 Francesco Frassinelli <fraph24@gmail.com>
-;;; Copyright © 2016 ng0 <ng0@libertad.pw>
+;;; Copyright © 2016, 2017 ng0 <contact.ng0@cryptolab.net>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -354,7 +354,7 @@ address of one of the participants.")
(string-append "CONFIG+="
(string-join
(list "no-update"
- "no-server"
+ "no-ice"
"no-embed-qt-translations"
"no-bundled-speex"
"pch"
@@ -378,6 +378,8 @@ address of one of the participants.")
(replace 'install ; install phase does not exist
(lambda* (#:key inputs outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
+ (etc (string-append out "/etc/murmur"))
+ (dbus (string-append out "/etc/dbus-1/system.d/"))
(bin (string-append out "/bin"))
(services (string-append out "/share/services"))
(applications (string-append out "/share/applications"))
@@ -391,6 +393,12 @@ address of one of the participants.")
(install-file "icons/mumble.svg" icons)
(install-file "man/mumble-overlay.1" man)
(install-file "man/mumble.1" man)
+ (install-file "release/murmurd" bin)
+ (install-file "scripts/murmur.ini.system" etc)
+ (rename-file (string-append etc "/murmur.ini.system")
+ (string-append etc "/murmur.ini"))
+ (install-file "scripts/murmur.conf" dbus)
+ (install-file "man/murmurd.1" man)
(for-each (lambda (file) (install-file file lib))
(find-files "." "\\.so\\."))
(for-each (lambda (file) (install-file file lib))
@@ -414,7 +422,9 @@ address of one of the participants.")
(synopsis "Low-latency, high quality voice chat software")
(description
"Mumble is an low-latency, high quality voice chat
-software primarily intended for use while gaming.")
+software primarily intended for use while gaming.
+Mumble consists of two applications for separate usage:
+@code{mumble} for the client, and @code{murmur} for the server.")
(home-page "https://wiki.mumble.info/wiki/Main_Page")
(license (list license:bsd-3
;; The bundled celt is bsd-2. Remove after 1.3.0.
diff --git a/gnu/packages/tls.scm b/gnu/packages/tls.scm
index c24c8e7387..318bb21614 100644
--- a/gnu/packages/tls.scm
+++ b/gnu/packages/tls.scm
@@ -4,7 +4,6 @@
;;; Copyright © 2014 Ian Denhardt <ian@zenhack.net>
;;; Copyright © 2013, 2015 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2015 David Thompson <davet@gnu.org>
-;;; Copyright © 2015, 2016 Leo Famulari <leo@famulari.name>
;;; Copyright © 2015, 2016, 2017 Leo Famulari <leo@famulari.name>
;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016 ng0 <ng0@we.make.ritual.n0.is>
@@ -507,13 +506,13 @@ security, and applying best practice development processes.")
(package
(name "python-acme")
;; Remember to update the hash of certbot when updating python-acme.
- (version "0.11.1")
+ (version "0.12.0")
(source (origin
(method url-fetch)
(uri (pypi-uri "acme" version))
(sha256
(base32
- "0kk95iqxygrg0cd66kq8kbyalg2x5pz9hn1175cgwgf1vy72adfv"))))
+ "1pzv8fcfwdqzvvpyhgjz412is0b98yj9495k8sidzzqgbdmvlp50"))))
(build-system python-build-system)
(arguments
`(#:phases
@@ -564,7 +563,7 @@ security, and applying best practice development processes.")
(uri (pypi-uri name version))
(sha256
(base32
- "1wis5kgqcsrs60kkcmbrbx8z9yasmwa6lg9ir5im232hdm4285vc"))))
+ "1dw86gb8lyap5ckjawmli1hxgbchw2g62g1lqfvxyqjv0df94waa"))))
(build-system python-build-system)
(arguments
`(#:python ,python-2
diff --git a/gnu/packages/tor.scm b/gnu/packages/tor.scm
index 9339dcdd70..e48017e640 100644
--- a/gnu/packages/tor.scm
+++ b/gnu/packages/tor.scm
@@ -40,14 +40,14 @@
(define-public tor
(package
(name "tor")
- (version "0.2.9.9")
+ (version "0.2.9.10")
(source (origin
(method url-fetch)
(uri (string-append "https://dist.torproject.org/tor-"
version ".tar.gz"))
(sha256
(base32
- "0hqdk5p6dw4bpn7c8gmhyi8jjkhc37112pfw5nx4gl0g4lmmscik"))))
+ "0h8kpn42mgpkzmnga143hi8nh0ai65ypxh7qhkwbb15j3wz2h4fn"))))
(build-system gnu-build-system)
(arguments
`(#:configure-flags (list "--enable-expensive-hardening"
diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm
index 6494b2da5f..006341644b 100644
--- a/gnu/packages/video.scm
+++ b/gnu/packages/video.scm
@@ -975,7 +975,7 @@ access to mpv's powerful playback capabilities.")
(define-public youtube-dl
(package
(name "youtube-dl")
- (version "2017.02.22")
+ (version "2017.03.02")
(source (origin
(method url-fetch)
(uri (string-append "https://yt-dl.org/downloads/"
@@ -983,7 +983,7 @@ access to mpv's powerful playback capabilities.")
version ".tar.gz"))
(sha256
(base32
- "0abir0039igwz0830vdqknngs3hmr474j6xzh33v57p3y4imgx2i"))))
+ "0f86qnppxnbh2c8bmpf0c1xhwk5vqjdzz7pqh9sydhscv8r0209g"))))
(build-system python-build-system)
(arguments
;; The problem here is that the directory for the man page and completion
diff --git a/gnu/packages/vim.scm b/gnu/packages/vim.scm
index cdb32ac7eb..82403feb1d 100644
--- a/gnu/packages/vim.scm
+++ b/gnu/packages/vim.scm
@@ -1,7 +1,7 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2013 Cyril Roelandt <tipecaml@gmail.com>
;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il>
-;;; Copyright © 2016 ng0 <ng0@we.make.ritual.n0.is>
+;;; Copyright © 2016, 2017 ng0 <contact.ng0@cryptolab.net>
;;; Copyright © 2017 Ricardo Wurmus <rekado@elephly.net>
;;;
;;; This file is part of GNU Guix.
@@ -23,6 +23,7 @@
#:use-module ((guix licenses) #:prefix license:)
#: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 (gnu packages)
@@ -158,6 +159,340 @@ configuration files.")
("tcl" ,tcl)
,@(package-inputs vim)))))
+(define-public vim-neocomplete
+ (package
+ (name "vim-neocomplete")
+ (version "2.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://github.com/Shougo/neocomplete.vim/"
+ "archive/ver." version ".tar.gz"))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "1307gbrdwam2akq9w2lpijc41740i4layk2qkd9sjkqxfch5lni2"))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:tests? #f
+ #:phases
+ (modify-phases %standard-phases
+ (delete 'configure)
+ (delete 'build)
+ (replace 'install
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+ (vimfiles (string-append out "/share/vim/vimfiles"))
+ (autoload (string-append vimfiles "/autoload"))
+ (doc (string-append vimfiles "/doc"))
+ (plugin (string-append vimfiles "/plugin")))
+ (copy-recursively "autoload" autoload)
+ (copy-recursively "doc" doc)
+ (copy-recursively "plugin" plugin)
+ #t))))))
+ (synopsis "Next generation completion framework for Vim")
+ (description
+ "@code{neocomplete}, an abbreviation of 'neo-completion with cache',
+is a plugin for Vim.
+It provides keyword completion system by maintaining a cache of keywords in
+the current buffer. Neocomplete can be customized easily and has many more
+features than Vim's built-in completion.")
+ (home-page "https://github.com/Shougo/neocomplete.vim/")
+ (license license:expat)))
+
+;; There are no release tarballs.
+(define-public vim-neosnippet-snippets
+ (let ((commit "8e2b1c0cab9ed9a832b3743dbb65e9966a64331a")
+ (revision "1"))
+ (package
+ (name "vim-neosnippet-snippets")
+ (version (string-append "0.0.0-" revision "." (string-take commit 7)))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/Shougo/neosnippet-snippets")
+ (commit commit)))
+ (file-name (string-append name "-" version "-checkout"))
+ (sha256
+ (base32
+ "151wpvbj6jb9jdkbhj3b77f5sq7y328spvwfbqyj1y32rg4ifmc6"))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:tests? #f
+ #:phases
+ (modify-phases %standard-phases
+ (delete 'configure)
+ (delete 'build)
+ (replace 'install
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+ (vimfiles (string-append out "/share/vim/vimfiles")))
+ (copy-recursively "neosnippets"
+ (string-append vimfiles "/neosnippets"))
+ #t))))))
+ (synopsis "Snippets for neosnippet")
+ (description
+ "@code{neosnippet-snippets} provides standard snippets for the Vim plugin
+@code{neosnippet}. Snippets are small templates for commonly used code that
+you can fill in on the fly.")
+ (home-page "https://github.com/Shougo/neosnippet-snippets")
+ (license license:expat))))
+
+;; The released tarball is too old for our Vim.
+(define-public vim-neosnippet
+ (let ((commit "1bd7e23c79b73da16eb0c9469b25c376d3594583")
+ (revision "1"))
+ (package
+ (name "vim-neosnippet")
+ (version (string-append "4.2-" revision "." (string-take commit 7)))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/Shougo/neosnippet.vim/")
+ (commit commit)))
+ (file-name (string-append name "-" version "-checkout"))
+ (sha256
+ (base32
+ "0k80syscmpnj38ks1fq02ds59g0r4jlg9ll7z4qc048mgi35alw5"))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:tests? #f
+ #:phases
+ (modify-phases %standard-phases
+ (delete 'configure)
+ (delete 'build)
+ (replace 'install
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+ (vimfiles (string-append out "/share/vim/vimfiles"))
+ (autoload (string-append vimfiles "/autoload"))
+ (doc (string-append vimfiles "/doc"))
+ (ftdetect (string-append vimfiles "/ftdetect"))
+ (ftplugin (string-append vimfiles "/ftplugin"))
+ (indent (string-append vimfiles "/indent"))
+ (plugin (string-append vimfiles "/plugin"))
+ (rplugin (string-append vimfiles "/rplugin"))
+ (syntax (string-append vimfiles "/syntax")))
+ (copy-recursively "autoload" autoload)
+ (copy-recursively "doc" doc)
+ (copy-recursively "ftdetect" ftdetect)
+ (copy-recursively "ftplugin" ftplugin)
+ (copy-recursively "indent" indent)
+ (copy-recursively "plugin" plugin)
+ (copy-recursively "rplugin" rplugin)
+ (copy-recursively "syntax" syntax)
+ #t))))))
+ (synopsis "Snippet support for Vim")
+ (description
+ "@code{neosnippet}, is a plugin for Vim which adds snippet support to Vim.
+Snippets are small templates for commonly used code that you can fill in on
+the fly. To use snippets can increase your productivity in Vim a lot.
+The functionality of this plug-in is quite similar to plug-ins like
+@code{snipMate.vim} or @code{snippetsEmu.vim}. But since you can choose
+snippets with the neocomplcache / neocomplete interface, you might have less
+trouble using them, because you do not have to remember each snippet name.")
+ (home-page "https://github.com/Shougo/neosnippet.vim/")
+ (license license:expat))))
+
+(define-public vim-scheme
+ (let ((commit "93827987c10f2d5dc519166a761f219204926d5f")
+ (revision "1"))
+ (package
+ (name "vim-scheme")
+ (version (string-append "0.0.0-" revision "." (string-take commit 7)))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "http://git.foldling.org/vim-scheme.git")
+ (commit commit)))
+ (file-name (string-append name "-" version "-checkout"))
+ (sha256
+ (base32
+ "1ynjr1109dxgj0lz261gmzz3wf5ap1m6j6hnvl3lcyv66a4y8pjv"))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:tests? #f
+ #:phases
+ (modify-phases %standard-phases
+ (delete 'configure)
+ (delete 'build)
+ (replace 'install
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+ (vimfiles (string-append out "/share/vim/vimfiles"))
+ (after (string-append vimfiles "/after"))
+ (syntax (string-append vimfiles "/syntax"))
+ (ftplugin (string-append vimfiles "/ftplugin")))
+ (copy-recursively "after" after)
+ (copy-recursively "ftplugin" ftplugin)
+ (copy-recursively "syntax" syntax)
+ #t))))))
+ (synopsis "Scheme syntax for Vim")
+ (description
+ "@code{vim-scheme} provides Scheme support for Vim (R7RS and CHICKEN).")
+ (home-page "http://foldling.org/git/vim-scheme.git/")
+ (license license:public-domain))))
+
+(define-public vim-luna
+ (let ((commit "633619953dcf8577168e255230f96b05f28d6371")
+ (revision "1"))
+ (package
+ (name "vim-luna")
+ (version (string-append "0.0.0-" revision "." (string-take commit 7)))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/notpratheek/vim-luna")
+ (commit commit)))
+ (file-name (string-append name "-" version "-checkout"))
+ (sha256
+ (base32
+ "0ka3qbhsh8lix1vyj4678j7dnchkd8khhirrnn3aylxxf8fpqyg8"))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:tests? #f
+ #:phases
+ (modify-phases %standard-phases
+ (delete 'configure)
+ (delete 'build)
+ (replace 'install
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+ (vimfiles (string-append out "/share/vim/vimfiles"))
+ (colors (string-append vimfiles "/colors")))
+ (copy-recursively "colors" colors)
+ #t))))))
+ (synopsis "Dark color theme for Vim")
+ (description
+ "@code{vim-luna} is a dark color theme for Vim.")
+ (home-page "https://github.com/notpratheek/vim-luna")
+ (license license:expat))))
+
+;; There are no tarball releases.
+(define-public vim-context-filetype
+ (let ((commit "5e85f8cae26806f391aefe2661791a6de53bcea2")
+ (revision "1"))
+ (package
+ (name "vim-context-filetype")
+ (version (string-append "0.0.0-" revision "." (string-take commit 7)))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/Shougo/context_filetype.vim")
+ (commit commit)))
+ (file-name (string-append name "-" version "-checkout"))
+ (sha256
+ (base32
+ "0alvrfhmd91zkd9h83s8wvgyq4iakcf6rybsyjd369qbgpcqky89"))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:tests? #f
+ #:phases
+ (modify-phases %standard-phases
+ (delete 'configure)
+ (delete 'build)
+ (replace 'install
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+ (vimfiles (string-append out "/share/vim/vimfiles"))
+ (doc (string-append vimfiles "/doc"))
+ (autoload (string-append vimfiles "/autoload")))
+ (copy-recursively "doc" doc)
+ (copy-recursively "autoload" autoload)
+ #t))))))
+ (synopsis "Context filetype library for Vim")
+ (description
+ "@code{vim-context-filetype} is context filetype library for Vim script.")
+ (home-page "https://github.com/Shougo/context_filetype.vim")
+ (license license:expat)))) ; ??? check again
+
+(define-public vim-airline
+ (package
+ (name "vim-airline")
+ (version "0.8")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://github.com/vim-airline/vim-airline/"
+ "archive/v" version ".tar.gz"))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "053sfq3jmgdc5y7zbg6jrk7r2hp0raj3y3mxa2h1c1bnkb6wvcaz"))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:tests? #f
+ #:phases
+ (modify-phases %standard-phases
+ (delete 'configure)
+ (delete 'build)
+ (replace 'install
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+ (vimfiles (string-append out "/share/vim/vimfiles"))
+ (autoload (string-append vimfiles "/autoload"))
+ (doc (string-append vimfiles "/doc"))
+ (t (string-append vimfiles "/t"))
+ (plugin (string-append vimfiles "/plugin")))
+ (copy-recursively "autoload" autoload)
+ (copy-recursively "doc" doc)
+ (copy-recursively "plugin" plugin)
+ (copy-recursively "t" t)
+ #t))))))
+ (synopsis "Statusline for Vim")
+ (description
+ "@code{vim-airline} is an extensible statusline for Vim.
+It can be extended and costumized with themes, works with unicode fonts
+and powerline symbols, etc.")
+ (home-page "https://github.com/vim-airline/vim-airline")
+ (license license:expat)))
+
+;; There are no tarball releases.
+(define-public vim-airline-themes
+ (let ((commit "6026eb78bf362cb3aa875aff8487f65728d0f7d8")
+ (revision "1"))
+ (package
+ (name "vim-airline-themes")
+ (version (string-append "0.0.0-" revision "." (string-take commit 7)))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/vim-airline/vim-airline-themes")
+ (commit commit)))
+ (file-name (string-append name "-" version "-checkout"))
+ (sha256
+ (base32
+ "13ijkavh1r0935cn2rjsfbdd1q3ka8bi26kw0bdkrqlrqxwvpss8"))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:tests? #f
+ #:phases
+ (modify-phases %standard-phases
+ (delete 'configure)
+ (delete 'build)
+ (replace 'install
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+ (vimfiles (string-append out "/share/vim/vimfiles"))
+ (doc (string-append vimfiles "/doc"))
+ (plugin (string-append vimfiles "/plugin"))
+ (autoload (string-append vimfiles "/autoload")))
+ (copy-recursively "doc" doc)
+ (copy-recursively "autoload" autoload)
+ (copy-recursively "plugin" plugin)
+ #t))))))
+ (synopsis "Collection of themes for Vim-airline")
+ (description
+ "@code{vim-airline-themes} is a collection of themes for @code{vim-airline}.")
+ (home-page "https://github.com/vim-airline/vim-airline-themes")
+ (license license:expat))))
+
(define-public neovim
(package
(name "neovim")
diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm
index 116ccf231b..f63a3eb9da 100644
--- a/gnu/packages/web.scm
+++ b/gnu/packages/web.scm
@@ -4365,7 +4365,7 @@ used to start services with both privileged and non-privileged port numbers.")
(define-public tidy-html
(package
(name "tidy-html")
- (version "5.2.0")
+ (version "5.4.0")
(source
(origin
(method url-fetch)
@@ -4374,7 +4374,7 @@ used to start services with both privileged and non-privileged port numbers.")
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
- "0kbwzh15dlapp3s3vff2qgz0yfcf8hwsnx5q4igwa6pimhak8lw0"))))
+ "0yhbgbjl45b4sjxwc394cjra6iy02q1pi66p28zy70lr6jvm9mx2"))))
(build-system cmake-build-system)
(outputs '("out"
"static")) ; 1.0MiB of .a files
diff --git a/gnu/packages/wine.scm b/gnu/packages/wine.scm
index 7b73353387..d28e2dd4e4 100644
--- a/gnu/packages/wine.scm
+++ b/gnu/packages/wine.scm
@@ -40,6 +40,7 @@
#:use-module (gnu packages linux)
#:use-module (gnu packages openldap)
#:use-module (gnu packages perl)
+ #:use-module (gnu packages pulseaudio)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages mp3)
#:use-module (gnu packages ncurses)
@@ -99,6 +100,7 @@
("libXcomposite" ,libxcomposite)
("ncurses" ,ncurses)
("openal" ,openal)
+ ("pulseaudio" ,pulseaudio)
("unixodbc" ,unixodbc)
("zlib" ,zlib)))
(arguments
diff --git a/gnu/packages/wm.scm b/gnu/packages/wm.scm
index 7ae8e4b7f8..7d76a2d202 100644
--- a/gnu/packages/wm.scm
+++ b/gnu/packages/wm.scm
@@ -13,6 +13,7 @@
;;; Copyright © 2016 doncatnip <gnopap@gmail.com>
;;; Copyright © 2016 Ivan Vilata i Balaguer <ivan@selidor.net>
;;; Copyright © 2017 Mekeor Melire <mekeor.melire@gmail.com>
+;;; Copyright © 2017 Marius Bakke <mbakke@fastmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -37,6 +38,7 @@
#:use-module (guix build-system cmake)
#:use-module (guix build-system gnu)
#:use-module (guix build-system haskell)
+ #:use-module (guix build-system perl)
#:use-module (guix build-system python)
#:use-module (gnu packages haskell)
#:use-module (gnu packages base)
@@ -232,6 +234,31 @@ from scratch. i3 is primarily targeted at advanced users and
developers.")
(license license:bsd-3)))
+(define-public perl-anyevent-i3
+ (package
+ (name "perl-anyevent-i3")
+ (version "0.16")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "mirror://cpan/authors/id/M/MS/MSTPLBG/"
+ "AnyEvent-I3-" version ".tar.gz"))
+ (sha256
+ (base32
+ "1qwva5vmmn929l6k9wzhp4h80ad4qm4m1g2dyv4nlas624003hig"))))
+ (build-system perl-build-system)
+ (propagated-inputs
+ `(("perl-anyevent" ,perl-anyevent)
+ ("perl-json-xs" ,perl-json-xs)))
+ (home-page "http://search.cpan.org/dist/AnyEvent-I3")
+ (synopsis
+ "Communicate with the i3 window manager through perl")
+ (description
+ "This module connects to the i3 window manager using the UNIX socket
+based IPC interface it provides (if enabled in the configuration file).
+You can then subscribe to events or send messages and receive their replies.")
+ ;; Can be used with either license.
+ (license (list license:gpl3+ (package-license perl)))))
+
(define-public python-i3-py
(package
(name "python-i3-py")
diff --git a/gnu/packages/xdisorg.scm b/gnu/packages/xdisorg.scm
index 3d69661ba5..3667797abd 100644
--- a/gnu/packages/xdisorg.scm
+++ b/gnu/packages/xdisorg.scm
@@ -16,6 +16,7 @@
;;; Copyright © 2016 Alex Kost <alezost@gmail.com>
;;; Copyright © 2016 Marius Bakke <mbakke@fastmail.com>
;;; Copyright © 2016 Petter <petter@mykolab.ch>
+;;; Copyright © 2017 Mekeor Melire <mekeor.melire@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -36,6 +37,7 @@
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix packages)
#:use-module (guix download)
+ #:use-module (guix git-download)
#:use-module (guix utils)
#:use-module (guix build-system cmake)
#:use-module (guix build-system gnu)
@@ -438,7 +440,7 @@ of the screen selected by mouse.")
(define-public slop
(package
(name "slop")
- (version "5.3.35")
+ (version "5.3.37")
(source (origin
(method url-fetch)
(uri (string-append
@@ -447,7 +449,7 @@ of the screen selected by mouse.")
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
- "12fkwardd33xbaisjv93r49jh1dmqw323zjsd9m8kxcyv1rimsig"))))
+ "1p2ih123zkj8rxz8acsxpaim1kq57f4rbq7zqsibafn5rkw5c5is"))))
(build-system cmake-build-system)
(arguments
'(#:tests? #f)) ; no "check" target
@@ -469,7 +471,7 @@ selection's dimensions to stdout.")
(define-public maim
(package
(name "maim")
- (version "4.4.59")
+ (version "4.4.60")
(source (origin
(method url-fetch)
(uri (string-append
@@ -478,7 +480,7 @@ selection's dimensions to stdout.")
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
- "0h8z4wm7zgxj1vlp98n12dyiwjwphhnl6yh8aaz3krm5v2kyy6hc"))))
+ "1j8czhbgilmv9c9hlind1w847yk856dzvxx1sj17fx89xkg8nixk"))))
(build-system cmake-build-system)
(arguments
'(#:tests? #f)) ; no "check" target
@@ -1023,6 +1025,57 @@ border, and background. It also supports multihead setups, customized mouse
actions, a built-in clock, a battery monitor and a system tray.")
(license license:gpl2)))
+(define-public dzen
+ (let ((commit "488ab66019f475e35e067646621827c18a879ba1")
+ (revision "1"))
+ (package
+ (name "dzen")
+ (version (string-append "0.9.5-" ; Taken from `config.mk`.
+ revision "." (string-take commit 7)))
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/robm/dzen.git")
+ (commit commit)))
+ (file-name (string-append name "-" version))
+ (sha256
+ (base32
+ "0y47d6ii87vf4a517gi4fh0yl06f8b085sra77immnsasbq9pxnw"))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:tests? #f ; No test suite.
+ #:make-flags ; Replacement for `config.mk`.
+ (list
+ (string-append "VERSION = " ,version)
+ (string-append "PREFIX = " %output)
+ "MANPREFIX = ${PREFIX}/share/man"
+ "INCS = -I."
+ "LIBS = -lc -lX11 -lXinerama -lXpm $(shell pkg-config --libs xft)"
+ "CFLAGS = -Wall -Os ${INCS} -DVERSION=\\\"${VERSION}\\\"\
+ -DDZEN_XINERAMA -DDZEN_XPM -DDZEN_XFT $(shell pkg-config --cflags xft)"
+ "LDFLAGS = ${LIBS}"
+ "CC = gcc"
+ "LD = ${CC}")
+ #:phases
+ (modify-phases %standard-phases
+ (delete 'configure) ; No configuration script.
+ ;; Use own make-flags instead of `config.mk`.
+ (add-before 'build 'dont-include-config-mk
+ (lambda _
+ (substitute* "Makefile" (("include config.mk") ""))
+ #t)))))
+ (inputs
+ `(("libx11" ,libx11)
+ ("libxft" ,libxft)
+ ("libxpm" ,libxpm)
+ ("libxinerama" ,libxinerama)))
+ (native-inputs `(("pkg-config" ,pkg-config)))
+ (synopsis "General purpose messaging, notification and menuing program for X11")
+ (description "Dzen is a general purpose messaging, notification and menuing
+program for X11. It was designed to be fast, tiny and scriptable in any language.")
+ (home-page "https://github.com/robm/dzen")
+ (license license:expat))))
+
(define-public xcb-util-xrm
(package
(name "xcb-util-xrm")
diff --git a/gnu/packages/xml.scm b/gnu/packages/xml.scm
index b91471690f..9a22535c28 100644
--- a/gnu/packages/xml.scm
+++ b/gnu/packages/xml.scm
@@ -13,7 +13,7 @@
;;; Copyright © 2016 Jan Nieuwenhuizen <janneke@gnu.org>
;;; Copyright © 2016 ng0 <ng0@we.make.ritual.n0.is>
;;; Copyright © 2016 Tobias Geerinckx-Rice <me@tobias.gr>
-;;; Copyright © 2016 Marius Bakke <mbakke@fastmail.com>
+;;; Copyright © 2016, 2017 Marius Bakke <mbakke@fastmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -238,6 +238,34 @@ the @code{Graph} class and write it out in a specific file format.")
@code{XML::Atom} implements the feed format as well as a client for the API.")
(license (package-license perl))))
+(define-public perl-xml-descent
+ (package
+ (name "perl-xml-descent")
+ (version "1.04")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "mirror://cpan/authors/id/A/AN/ANDYA/"
+ "XML-Descent-" version ".tar.gz"))
+ (sha256
+ (base32
+ "0l5xmw2hd95ypppz3lyvp4sn02ccsikzjwacli3ydxfdz1bbh4d7"))))
+ (build-system perl-build-system)
+ (native-inputs
+ `(("perl-module-build" ,perl-module-build)))
+ (propagated-inputs
+ `(("perl-test-differences" ,perl-test-differences)
+ ("perl-xml-tokeparser" ,perl-xml-tokeparser)))
+ (home-page "http://search.cpan.org/dist/XML-Descent")
+ (synopsis "Recursive descent XML parsing")
+ (description
+ "The conventional models for parsing XML are either @dfn{DOM}
+(a data structure representing the entire document tree is created) or
+@dfn{SAX} (callbacks are issued for each element in the XML).
+
+XML grammar is recursive - so it's nice to be able to write recursive
+parsers for it. @code{XML::Descent} allows such parsers to be created.")
+ (license (package-license perl))))
+
(define-public perl-xml-parser
(package
(name "perl-xml-parser")
@@ -269,6 +297,29 @@ as extra arguments to the parse methods, in which case they override options
given at XML::Parser creation time.")
(home-page "http://search.cpan.org/dist/XML-Parser")))
+(define-public perl-xml-tokeparser
+ (package
+ (name "perl-xml-tokeparser")
+ (version "0.05")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "mirror://cpan/authors/id/P/PO/PODMASTER/"
+ "XML-TokeParser-" version ".tar.gz"))
+ (sha256
+ (base32
+ "1hnpwb3lh6cbgwvjjgqzcp6jm4mp612qn6ili38adc9nhkwv8fc5"))))
+ (build-system perl-build-system)
+ (propagated-inputs `(("perl-xml-parser" ,perl-xml-parser)))
+ (home-page "http://search.cpan.org/dist/XML-TokeParser")
+ (synopsis "Simplified interface to XML::Parser")
+ (description
+ "@code{XML::TokeParser} provides a procedural (\"pull mode\") interface
+to @code{XML::Parser} in much the same way that Gisle Aas'
+@code{HTML::TokeParser} provides a procedural interface to @code{HTML::Parser}.
+@code{XML::TokeParser} splits its XML input up into \"tokens\", each
+corresponding to an @code{XML::Parser} event.")
+ (license (package-license perl))))
+
(define-public perl-libxml
(package
(name "perl-libxml")
diff --git a/gnu/packages/xorg.scm b/gnu/packages/xorg.scm
index 911621a93c..d300f232d4 100644
--- a/gnu/packages/xorg.scm
+++ b/gnu/packages/xorg.scm
@@ -11,6 +11,7 @@
;;; Copyright © 2016 Alex Kost <alezost@gmail.com>
;;; Copyright © 2016 David Craven <david@craven.ch>
;;; Copyright © 2016, 2017 John Darrington <jmd@gnu.org>
+;;; Copyright © 2017 Marius Bakke <mbakke@fastmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -1719,7 +1720,7 @@ features and to query screensaver info on specific windows.")
(define-public sessreg
(package
(name "sessreg")
- (version "1.1.0")
+ (version "1.1.1")
(source
(origin
(method url-fetch)
@@ -1729,7 +1730,7 @@ features and to query screensaver info on specific windows.")
".tar.bz2"))
(sha256
(base32
- "0z013rskwmdadd8cdlxvh4asmgim61qijyzfbqmr1q1mg1jpf4am"))))
+ "1qd66mg2bnppqz4xgdjzif2488zl82vx2c26ld3nb8pnyginm9vq"))))
(build-system gnu-build-system)
(inputs
`(("xproto" ,xproto)))
@@ -5623,6 +5624,61 @@ provides DEC VT102/VT220 (VTxxx) and Tektronix 4014 compatible terminals for
programs that cannot use the window system directly.")
(license license:x11)))
+(define-public perl-x11-xcb
+ (package
+ (name "perl-x11-xcb")
+ (version "0.16")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append
+ "mirror://cpan/authors/id/M/MS/MSTPLBG/"
+ "X11-XCB-" version ".tar.gz"))
+ (sha256
+ (base32
+ "14mnvr1001py2z1n43l18yaw0plwvjg5pcsyc7k81sa0amw8ahzw"))))
+ (build-system perl-build-system)
+ (arguments
+ '(;; Disable parallel build to prevent a race condition.
+ #:parallel-build? #f
+ #:phases
+ (modify-phases %standard-phases
+ (add-before 'build 'patch-Makefile
+ (lambda* (#:key inputs #:allow-other-keys)
+ (substitute* "Makefile"
+ ;; XXX: Without this hack, attempts at using XCB.so fails with
+ ;; an error such as "XCB.so: undefined symbol: xcb_xinerama_id"
+ (("^LDDLFLAGS = ")
+ (string-append "LDDLFLAGS = "
+ "-lxcb -lxcb-util -lxcb-xinerama -lxcb-icccm ")))
+ #t)))
+ ;; Tests require a running X11 server.
+ #:tests? #f))
+ (native-inputs
+ `(("perl-extutils-depends" ,perl-extutils-depends)
+ ("perl-extutils-pkgconfig" ,perl-extutils-pkgconfig)
+ ("perl-test-deep" ,perl-test-deep)
+ ("perl-test-exception" ,perl-test-exception)))
+ (propagated-inputs
+ `(("perl-data-dump" ,perl-data-dump)
+ ("perl-mouse" ,perl-mouse)
+ ("perl-mousex-nativetraits" ,perl-mousex-nativetraits)
+ ("perl-try-tiny" ,perl-try-tiny)
+ ("perl-xml-descent" ,perl-xml-descent)
+ ("perl-xml-simple" ,perl-xml-simple)
+ ("perl-xs-object-magic" ,perl-xs-object-magic)))
+ (inputs
+ `(("libxcb" ,libxcb)
+ ("xcb-proto" ,xcb-proto)
+ ("xcb-util" ,xcb-util)
+ ("xcb-util-wm" ,xcb-util-wm)))
+ (home-page "http://search.cpan.org/dist/X11-XCB")
+ (synopsis "Perl bindings for libxcb")
+ (description
+ "These bindings wrap @code{libxcb} (a C library to speak with X11,
+in many cases better than @code{Xlib}), and provides an object oriented
+interface to its methods (using @code{Mouse}).")
+ (license (package-license perl))))
+
(define-public perl-x11-protocol
(package
(name "perl-x11-protocol")
diff --git a/gnu/services/ssh.scm b/gnu/services/ssh.scm
index 58c35c9f5e..7b2d4a8f06 100644
--- a/gnu/services/ssh.scm
+++ b/gnu/services/ssh.scm
@@ -38,7 +38,6 @@
openssh-configuration
openssh-configuration?
openssh-service-type
- openssh-service
dropbear-configuration
dropbear-configuration?
diff --git a/gnu/system.scm b/gnu/system.scm
index 1006c842c9..c8d4d014ed 100644
--- a/gnu/system.scm
+++ b/gnu/system.scm
@@ -97,6 +97,8 @@
operating-system-locale-directory
operating-system-boot-script
+ system-linux-image-file-name
+
boot-parameters
boot-parameters?
boot-parameters-label
@@ -255,9 +257,10 @@ from the initrd."
(define* (system-linux-image-file-name #:optional (system (%current-system)))
"Return the basename of the kernel image file for SYSTEM."
;; FIXME: Evaluate the conditional based on the actual current system.
- (if (string-prefix? "mips" (%current-system))
- "vmlinuz"
- "bzImage"))
+ (cond
+ ((string-prefix? "arm" (%current-system)) "zImage")
+ ((string-prefix? "mips" (%current-system)) "vmlinuz")
+ (else "bzImage")))
(define (operating-system-kernel-file os)
"Return an object representing the absolute file name of the kernel image of
diff --git a/gnu/system/vm.scm b/gnu/system/vm.scm
index 8a35f7fbc5..103af37c9a 100644
--- a/gnu/system/vm.scm
+++ b/gnu/system/vm.scm
@@ -141,7 +141,8 @@ made available under the /xchg CIFS share."
(gnu build vm))
(let ((inputs '#$(list qemu coreutils))
- (linux (string-append #$linux "/bzImage"))
+ (linux (string-append #$linux "/"
+ #$(system-linux-image-file-name)))
(initrd (string-append #$initrd "/initrd"))
(loader #$loader)
(graphs '#$(match references-graphs
@@ -433,25 +434,26 @@ bootloader refers to: OS kernel, initrd, bootloader data, etc."
(define* (common-qemu-options image shared-fs)
"Return the a string-value gexp with the common QEMU options to boot IMAGE,
with '-virtfs' options for the host file systems listed in SHARED-FS."
+
(define (virtfs-option fs)
- #~(string-append "-virtfs local,path=\"" #$fs
- "\",security_model=none,mount_tag=\""
- #$(file-system->mount-tag fs)
- "\" "))
+ #~(format #f "-virtfs local,path=~s,security_model=none,mount_tag=~s"
+ #$fs #$(file-system->mount-tag fs)))
- #~(string-append
- ;; Only enable kvm if we see /dev/kvm exists.
+ #~(;; Only enable kvm if we see /dev/kvm exists.
;; This allows users without hardware virtualization to still use these
;; commands.
- #$(if (file-exists? "/dev/kvm")
- " -enable-kvm "
- "")
- " -no-reboot -net nic,model=virtio \
- " #$@(map virtfs-option shared-fs) " \
- -vga std \
- -drive file=" #$image
- ",if=virtio,cache=writeback,werror=report,readonly \
- -m 256"))
+ #$@(if (file-exists? "/dev/kvm")
+ '("-enable-kvm")
+ '())
+
+ "-no-reboot"
+ "-net nic,model=virtio"
+
+ #$@(map virtfs-option shared-fs)
+ "-vga std"
+ (format #f "-drive file=~a,if=virtio,cache=writeback,werror=report,readonly"
+ #$image)
+ "-m 256"))
(define* (system-qemu-image/shared-store-script os
#:key
@@ -478,25 +480,31 @@ it is mostly useful when FULL-BOOT? is true."
os
#:full-boot? full-boot?
#:disk-image-size disk-image-size)))
+ (define kernel-arguments
+ #~(list "--root=/dev/vda1"
+ (string-append "--system=" #$os-drv)
+ (string-append "--load=" #$os-drv "/boot")
+ #$@(if graphic? #~() #~("console=ttyS0"))
+ #+@(operating-system-kernel-arguments os)))
+
+ (define qemu-exec
+ #~(list (string-append #$qemu "/bin/" #$(qemu-command (%current-system)))
+ #$@(if full-boot?
+ #~()
+ #~("-kernel" #$(operating-system-kernel-file os)
+ "-initrd" #$(file-append os-drv "/initrd")
+ (format #f "-append ~s"
+ (string-join #$kernel-arguments " "))))
+ #$@(common-qemu-options image
+ (map file-system-mapping-source
+ (cons %store-mapping mappings)))))
+
(define builder
#~(call-with-output-file #$output
(lambda (port)
- (display
- (string-append "#!" #$bash "/bin/sh
-exec " #$qemu "/bin/" #$(qemu-command (%current-system))
-
-#$@(if full-boot?
- #~()
- #~(" -kernel " #$(operating-system-kernel os) "/bzImage \
- -initrd " #$os-drv "/initrd \
- -append \"" #$(if graphic? "" "console=ttyS0 ")
- "--system=" #$os-drv " --load=" #$os-drv "/boot --root=/dev/vda1 "
- (string-join (list #+@(operating-system-kernel-arguments os))) "\" "))
-#$(common-qemu-options image
- (map file-system-mapping-source
- (cons %store-mapping mappings)))
-" \"$@\"\n")
- port)
+ (format port "#!~a~% exec ~a \"$@\"~%"
+ #$(file-append bash "/bin/sh")
+ (string-join #$qemu-exec " "))
(chmod port #o555))))
(gexp->derivation "run-vm.sh" builder)))
diff --git a/guix/build-system/cargo.scm b/guix/build-system/cargo.scm
index 3582f0e328..578c4446a4 100644
--- a/guix/build-system/cargo.scm
+++ b/guix/build-system/cargo.scm
@@ -29,7 +29,8 @@
#:use-module (guix build-system gnu)
#:use-module (ice-9 match)
#:use-module (srfi srfi-26)
- #:export (cargo-build-system
+ #:export (%cargo-build-system-modules
+ cargo-build-system
crate-url
crate-url?
crate-uri))