summaryrefslogtreecommitdiff
path: root/gnu
diff options
context:
space:
mode:
authorMark H Weaver <mhw@netris.org>2016-01-19 00:18:37 -0500
committerMark H Weaver <mhw@netris.org>2016-01-19 00:18:37 -0500
commitafe9f409491a055e5d058c8f747e80d1506391e5 (patch)
tree3b3747c9d2df32019a46b283b94f0a7af05ebf1d /gnu
parentbb8afbf5a1fbc85f700c0e07ce5581637e3674dc (diff)
parent1348185ac2bb48b373495830267cff8ddc6b1fa5 (diff)
downloadguix-patches-afe9f409491a055e5d058c8f747e80d1506391e5.tar
guix-patches-afe9f409491a055e5d058c8f747e80d1506391e5.tar.gz
Merge branch 'master' into core-updates
Diffstat (limited to 'gnu')
-rw-r--r--gnu/build/linux-modules.scm78
-rw-r--r--gnu/packages/admin.scm61
-rw-r--r--gnu/packages/bioinformatics.scm77
-rw-r--r--gnu/packages/calendar.scm77
-rw-r--r--gnu/packages/databases.scm6
-rw-r--r--gnu/packages/datamash.scm5
-rw-r--r--gnu/packages/dav.scm108
-rw-r--r--gnu/packages/docker.scm107
-rw-r--r--gnu/packages/emacs.scm6
-rw-r--r--gnu/packages/games.scm6
-rw-r--r--gnu/packages/gnome.scm27
-rw-r--r--gnu/packages/gnupg.scm6
-rw-r--r--gnu/packages/linux.scm17
-rw-r--r--gnu/packages/music.scm29
-rw-r--r--gnu/packages/ocaml.scm105
-rw-r--r--gnu/packages/openstack.scm155
-rw-r--r--gnu/packages/patches/bowtie-fix-makefile.patch31
-rw-r--r--gnu/packages/python.scm756
-rw-r--r--gnu/packages/rsync.scm5
-rw-r--r--gnu/packages/ruby.scm64
-rw-r--r--gnu/packages/ssh.scm6
-rw-r--r--gnu/packages/statistics.scm4
-rw-r--r--gnu/packages/sxiv.scm6
-rw-r--r--gnu/packages/version-control.scm31
-rw-r--r--gnu/packages/video.scm60
-rw-r--r--gnu/system.scm41
-rw-r--r--gnu/system/linux-initrd.scm4
27 files changed, 1663 insertions, 215 deletions
diff --git a/gnu/build/linux-modules.scm b/gnu/build/linux-modules.scm
index e6552fdb67..bbe1a74d85 100644
--- a/gnu/build/linux-modules.scm
+++ b/gnu/build/linux-modules.scm
@@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2014 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2014, 2016 Ludovic Courtès <ludo@gnu.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -96,6 +96,11 @@ contains module names, not actual file names."
name
(dot-ko name)))
+(define (file-name->module-name file)
+ "Return the module name corresponding to FILE, stripping the trailing '.ko',
+etc."
+ (basename file ".ko"))
+
(define* (recursive-module-dependencies files
#:key (lookup-module dot-ko))
"Return the topologically-sorted list of file names of the modules depended
@@ -130,6 +135,22 @@ LOOKUP-MODULE to the module name."
(((modules . _) ...)
modules))))
+(define (module-black-list)
+ "Return the black list of modules that must not be loaded. This black list
+is specified using 'modprobe.blacklist=MODULE1,MODULE2,...' on the kernel
+command line; it is honored by libkmod."
+ (define parameter
+ "modprobe.blacklist=")
+
+ (let ((command (call-with-input-file "/proc/cmdline"
+ get-string-all)))
+ (append-map (lambda (arg)
+ (if (string-prefix? parameter arg)
+ (string-tokenize (string-drop arg (string-length parameter))
+ %not-comma)
+ '()))
+ (string-tokenize command))))
+
(define (module-loaded? module)
"Return #t if MODULE is already loaded. MODULE must be a Linux module name,
not a file name."
@@ -138,29 +159,44 @@ not a file name."
(define* (load-linux-module* file
#:key
(recursive? #t)
- (lookup-module dot-ko))
- "Load Linux module from FILE, the name of a `.ko' file. When RECURSIVE? is
-true, load its dependencies first (à la 'modprobe'.) The actual files
-containing modules depended on are obtained by calling LOOKUP-MODULE with the
-module name."
+ (lookup-module dot-ko)
+ (black-list (module-black-list)))
+ "Load Linux module from FILE, the name of a '.ko' file; return true on
+success, false otherwise. When RECURSIVE? is true, load its dependencies
+first (à la 'modprobe'.) The actual files containing modules depended on are
+obtained by calling LOOKUP-MODULE with the module name. Modules whose name
+appears in BLACK-LIST are not loaded."
(define (slurp module)
;; TODO: Use 'finit_module' to reduce memory usage.
(call-with-input-file file get-bytevector-all))
- (when recursive?
- (for-each (cut load-linux-module* <> #:lookup-module lookup-module)
- (map lookup-module (module-dependencies file))))
-
- (format (current-module-debugging-port)
- "loading Linux module from '~a'...~%" file)
-
- (catch 'system-error
- (lambda ()
- (load-linux-module (slurp file)))
- (lambda args
- ;; If this module was already loaded and we're in modprobe style, ignore
- ;; the error.
- (unless (and recursive? (= EEXIST (system-error-errno args)))
- (apply throw args)))))
+ (define (black-listed? module)
+ (let ((result (member module black-list)))
+ (when result
+ (format (current-module-debugging-port)
+ "not loading module '~a' because it's black-listed~%"
+ module))
+ result))
+
+ (define (load-dependencies file)
+ (let ((dependencies (module-dependencies file)))
+ (every (cut load-linux-module* <> #:lookup-module lookup-module)
+ (map lookup-module dependencies))))
+
+ (and (not (black-listed? (file-name->module-name file)))
+ (or (not recursive?)
+ (load-dependencies file))
+ (begin
+ (format (current-module-debugging-port)
+ "loading Linux module from '~a'...~%" file)
+
+ (catch 'system-error
+ (lambda ()
+ (load-linux-module (slurp file)))
+ (lambda args
+ ;; If this module was already loaded and we're in modprobe style, ignore
+ ;; the error.
+ (or (and recursive? (= EEXIST (system-error-errno args)))
+ (apply throw args)))))))
;;; linux-modules.scm ends here
diff --git a/gnu/packages/admin.scm b/gnu/packages/admin.scm
index 6e3024dffd..1f2d0fbf95 100644
--- a/gnu/packages/admin.scm
+++ b/gnu/packages/admin.scm
@@ -2,7 +2,7 @@
;;; Copyright © 2012, 2013, 2014, 2015, 2016 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2013 Cyril Roelandt <tipecaml@gmail.com>
;;; Copyright © 2014, 2015, 2016 Mark H Weaver <mhw@netris.org>
-;;; Copyright © 2014, 2015 Eric Bavier <bavier@member.fsf.org>
+;;; Copyright © 2014, 2015, 2016 Eric Bavier <bavier@member.fsf.org>
;;; Copyright © 2015 Taylan Ulrich Bayırlı/Kammer <taylanbayirli@gmail.com>
;;; Copyright © 2015 Alex Sassmannshausen <alex.sassmannshausen@gmail.com>
;;; Copyright © 2015 Eric Dvorsak <eric@dvorsak.fr>
@@ -1318,3 +1318,62 @@ able to adapt itself dynamically to the overall system load. Children
processes and threads of the specified process may optionally share the same
limits.")
(license license:gpl2+)))
+
+(define-public autojump
+ (package
+ (name "autojump")
+ (version "22.2.4")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://github.com/wting/autojump/archive/"
+ "release-v" version ".tar.gz"))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "0xglj7nb8xczaqy2dhn78drqdwqj64rqpymxhqmmwwqzfaqassw1"))))
+ (build-system gnu-build-system)
+ (native-inputs ;for tests
+ `(("python-mock" ,python-mock)
+ ("python-pytest" ,python-pytest)))
+ (inputs
+ `(("python" ,python-wrapper)))
+ (arguments
+ `(#:phases (modify-phases %standard-phases
+ (delete 'configure)
+ (delete 'build)
+ (replace 'check
+ (lambda _
+ (zero?
+ (system* "python" "tests/autojump_utils_test.py"))))
+ (replace 'install
+ ;; The install.py script doesn't allow system installation
+ ;; into an arbitrary prefix, so do our own install.
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+ (bin (string-append out "/bin"))
+ (share (string-append out "/share/autojump"))
+ (py (string-append out "/lib/python"
+ ,(version-major+minor
+ (package-version python-wrapper))
+ "/site-packages"))
+ (man (string-append out "/share/man/man1")))
+ (install-file "bin/autojump" bin)
+ (for-each (λ (f) (install-file f py))
+ (find-files "bin" "\\.py$"))
+ (for-each (λ (f) (install-file f share))
+ (find-files "bin" "autojump\\..*$"))
+ (substitute* (string-append share "/autojump.sh")
+ (("/usr/local") out))
+ (install-file "docs/autojump.1" man)
+ (wrap-program (string-append bin "/autojump")
+ `("PYTHONPATH" ":" prefix (,py)))
+ #t))))))
+ (home-page "https://github.com/wting/autojump")
+ (synopsis "Shell extension for filesystem navigation")
+ (description
+ "Autojump provides a faster way to navigate your filesystem, with a \"cd
+command that learns\". It works by maintaining a database of the directories
+you use the most from the command line and allows you to \"jump\" to
+frequently used directories by typing only a small pattern.")
+ (license license:gpl3+)))
diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm
index c6531d669f..314d0ad322 100644
--- a/gnu/packages/bioinformatics.scm
+++ b/gnu/packages/bioinformatics.scm
@@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2014, 2015 Ricardo Wurmus <rekado@elephly.net>
+;;; Copyright © 2014, 2015, 2016 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2015, 2016 Ben Woodcroft <donttrustben@gmail.com>
;;; Copyright © 2015 Pjotr Prins <pjotr.guix@thebird.nl>
;;; Copyright © 2015 Andreas Enge <andreas@enge.fr>
@@ -603,7 +603,7 @@ errors at the end of reads.")
(define-public bowtie
(package
(name "bowtie")
- (version "2.2.4")
+ (version "2.2.6")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/BenLangmead/bowtie2/archive/v"
@@ -611,42 +611,36 @@ errors at the end of reads.")
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
- "15dnbqippwvhyh9zqjhaxkabk7lm1xbh1nvar1x4b5kwm117zijn"))
+ "1ssfvymxfrap6f9pf86s9bvsbqdgka4abr2r7j3mgr4w1l289m86"))
(modules '((guix build utils)))
(snippet
'(substitute* "Makefile"
- (("^CC = .*$") "CC = gcc")
- (("^CPP = .*$") "CPP = g++")
;; replace BUILD_HOST and BUILD_TIME for deterministic build
(("-DBUILD_HOST=.*") "-DBUILD_HOST=\"\\\"guix\\\"\"")
- (("-DBUILD_TIME=.*") "-DBUILD_TIME=\"\\\"0\\\"\"")))
- (patches (list (search-patch "bowtie-fix-makefile.patch")))))
+ (("-DBUILD_TIME=.*") "-DBUILD_TIME=\"\\\"0\\\"\"")))))
(build-system gnu-build-system)
(inputs `(("perl" ,perl)
("perl-clone" ,perl-clone)
("perl-test-deep" ,perl-test-deep)
("perl-test-simple" ,perl-test-simple)
- ("python" ,python-2)))
+ ("python" ,python-2)
+ ("tbb" ,tbb)))
(arguments
- '(#:make-flags '("allall")
+ '(#:make-flags
+ (list "allall"
+ "WITH_TBB=1"
+ (string-append "prefix=" (assoc-ref %outputs "out")))
#:phases
(alist-delete
'configure
(alist-replace
- 'install
+ 'check
(lambda* (#:key outputs #:allow-other-keys)
- (let ((bin (string-append (assoc-ref outputs "out") "/bin/")))
- (for-each (lambda (file)
- (install-file file bin))
- (find-files "." "bowtie2.*"))))
- (alist-replace
- 'check
- (lambda* (#:key outputs #:allow-other-keys)
- (system* "perl"
- "scripts/test/simple_tests.pl"
- "--bowtie2=./bowtie2"
- "--bowtie2-build=./bowtie2-build"))
- %standard-phases)))))
+ (system* "perl"
+ "scripts/test/simple_tests.pl"
+ "--bowtie2=./bowtie2"
+ "--bowtie2-build=./bowtie2-build"))
+ %standard-phases))))
(home-page "http://bowtie-bio.sourceforge.net/bowtie2/index.shtml")
(synopsis "Fast and sensitive nucleotide sequence read aligner")
(description
@@ -2079,7 +2073,7 @@ that a read originated from a particular isoform.")
(define-public orfm
(package
(name "orfm")
- (version "0.4.1")
+ (version "0.5.3")
(source (origin
(method url-fetch)
(uri (string-append
@@ -2087,12 +2081,16 @@ that a read originated from a particular isoform.")
version "/orfm-" version ".tar.gz"))
(sha256
(base32
- "05fmw145snk646ly076zby0fjav0k7ysbclck5d4s9pmgcfpijc2"))))
+ "0vb6d771gl4mix8bwx919x5ayy9pkj44n7ki336nz3rz2rx4c7gk"))))
(build-system gnu-build-system)
(inputs `(("zlib" ,zlib)))
+ (native-inputs
+ `(("ruby-bio-commandeer" ,ruby-bio-commandeer)
+ ("ruby-rspec" ,ruby-rspec)
+ ("ruby" ,ruby)))
(synopsis "Simple and not slow open reading frame (ORF) caller")
(description
- "An ORF caller finds stretches of DNA that when translated are not
+ "An ORF caller finds stretches of DNA that, when translated, are not
interrupted by stop codons. OrfM finds and prints these ORFs.")
(home-page "https://github.com/wwood/OrfM")
(license license:lgpl3+)))
@@ -2458,18 +2456,21 @@ viewer.")
(sha256
(base32 "1m33xsfwz0s8qi45lylagfllqg7fphf4dr0780rsvw75av9wk06h"))))
(arguments
- (substitute-keyword-arguments (package-arguments samtools)
- ((#:tests? tests) #f) ;no "check" target
- ((#:phases phases)
- `(modify-phases ,phases
- (replace 'install
- (lambda* (#:key outputs #:allow-other-keys)
- (let ((bin (string-append
- (assoc-ref outputs "out") "/bin")))
- (mkdir-p bin)
- (copy-file "samtools"
- (string-append bin "/samtools")))))
- (delete 'patch-tests)))))))
+ `(#:tests? #f ;no "check" target
+ ,@(substitute-keyword-arguments (package-arguments samtools)
+ ((#:make-flags flags)
+ `(cons "LIBCURSES=-lncurses" ,flags))
+ ((#:phases phases)
+ `(modify-phases ,phases
+ (replace 'install
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let ((bin (string-append
+ (assoc-ref outputs "out") "/bin")))
+ (mkdir-p bin)
+ (copy-file "samtools"
+ (string-append bin "/samtools")))))
+ (delete 'patch-tests)
+ (delete 'configure))))))))
(define-public mosaik
(let ((commit "5c25216d"))
@@ -3841,6 +3842,8 @@ extracting the desired features in a convenient format.")
(properties
`((upstream-name . "GO.db")))
(build-system r-build-system)
+ (propagated-inputs
+ `(("r-annotationdbi" ,r-annotationdbi)))
(home-page "http://bioconductor.org/packages/GO.db")
(synopsis "Annotation maps describing the entire Gene Ontology")
(description
diff --git a/gnu/packages/calendar.scm b/gnu/packages/calendar.scm
index 7e87fbbfe4..2e4481f94b 100644
--- a/gnu/packages/calendar.scm
+++ b/gnu/packages/calendar.scm
@@ -1,5 +1,6 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2015 David Thompson <davet@gnu.org>
+;;; Copyright © 2015 Leo Famulari <leo@famulari.name>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -21,9 +22,16 @@
#:use-module (guix licenses)
#:use-module (guix packages)
#:use-module (guix download)
+ #:use-module (guix build utils)
#:use-module (guix build-system cmake)
+ #:use-module (guix build-system python)
+ #:use-module (gnu packages base)
+ #:use-module (gnu packages databases)
+ #:use-module (gnu packages dav)
+ #:use-module (gnu packages freedesktop)
#:use-module (gnu packages icu4c)
- #:use-module (gnu packages perl))
+ #:use-module (gnu packages perl)
+ #:use-module (gnu packages python))
(define-public libical
(package
@@ -50,3 +58,70 @@
"Libical is an implementation of the iCalendar protocols and protocol
data units.")
(license lgpl2.1)))
+
+(define-public khal
+ (package
+ (name "khal")
+ (version "0.7.0")
+ (source (origin
+ (method url-fetch)
+ (uri (pypi-uri "khal" version))
+ (sha256
+ (base32
+ "00llxj7cv31mjsx0j6zxmyi9s1q20yvfkn025xcy8cv1ylfwic66"))
+ (modules '((guix build utils)))
+ ;; Patch broken path in 'doc' Makefile.
+ ;; Patch sent upstream: https://github.com/geier/khal/pull/307
+ (snippet
+ '(substitute* "doc/source/Makefile"
+ (("../../../khal/khal/settings/khal.spec")
+ "../../khal/settings/khal.spec" )))))
+ (build-system python-build-system)
+ (arguments
+ `(#:phases (modify-phases %standard-phases
+ ;; Bug reported: https://github.com/geier/khal/issues/309
+ (add-after 'unpack 'disable-test
+ (lambda _
+ (substitute* "tests/khalendar_test.py"
+ (("test_only_update_old_event")
+ "disabled_only_update_old_event"))))
+ ;; Building the manpage requires khal to be installed.
+ (add-after 'install 'manpage
+ (lambda* (#:key outputs #:allow-other-keys)
+ (setenv "PYTHONPATH"
+ (string-append
+ (getenv "PYTHONPATH") ":" (assoc-ref outputs "out")))
+ (zero? (system* "make" "--directory=doc/" "man"))
+ (install-file
+ "doc/build/man/khal.1"
+ (string-append (assoc-ref outputs "out") "/share/man/man1"))))
+ ;; The tests require us to choose a timezone.
+ (replace 'check
+ (lambda* (#:key inputs #:allow-other-keys)
+ (setenv "TZ"
+ (string-append (assoc-ref inputs "tzdata")
+ "/share/zoneinfo/Zulu"))
+ (zero? (system* "py.test" "tests")))))))
+ (native-inputs
+ `(("python-pytest" ,python-pytest)
+ ("python-setuptools-scm" ,python-setuptools-scm)
+ ;; Required for tests
+ ("tzdata" ,tzdata)
+ ;; Required to build manpage
+ ("python-sphinxcontrib-newsfeed" ,python-sphinxcontrib-newsfeed)
+ ("python-sphinx" ,python-sphinx)))
+ (inputs
+ `(("sqlite" ,sqlite)))
+ (propagated-inputs
+ `(("python-configobj" ,python-configobj)
+ ("python-dateutil-2" ,python-dateutil-2)
+ ("python-icalendar" ,python-icalendar)
+ ("python-tzlocal" ,python-tzlocal)
+ ("python-urwid" ,python-urwid)
+ ("python-pyxdg" ,python-pyxdg)
+ ("vdirsyncer" ,vdirsyncer)))
+ (synopsis "Console calendar program")
+ (description "Khal is a standards based console calendar program,
+able to synchronize with CalDAV servers through vdirsyncer.")
+ (home-page "http://lostpackets.de/khal/")
+ (license expat)))
diff --git a/gnu/packages/databases.scm b/gnu/packages/databases.scm
index 4bb3b4d1e2..b36f5d8c16 100644
--- a/gnu/packages/databases.scm
+++ b/gnu/packages/databases.scm
@@ -3,7 +3,7 @@
;;; Copyright © 2012, 2014, 2015 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2013 Cyril Roelandt <tipecaml@gmail.com>
;;; Copyright © 2014 David Thompson <davet@gnu.org>
-;;; Copyright © 2014, 2015 Mark H Weaver <mhw@netris.org>
+;;; Copyright © 2014, 2015, 2016 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2015 Eric Bavier <bavier@member.fsf.org>
;;; Copyright © 2015 Sou Bunnbu <iyzsong@gmail.com>
;;; Copyright © 2015 Leo Famulari <leo@famulari.name>
@@ -205,7 +205,7 @@ Language.")
(define-public mariadb
(package
(name "mariadb")
- (version "10.0.20")
+ (version "10.0.23")
(source (origin
(method url-fetch)
(uri (string-append "https://downloads.mariadb.org/f/"
@@ -213,7 +213,7 @@ Language.")
name "-" version ".tar.gz"))
(sha256
(base32
- "0ywb730l68mxvmpik1x2ndbdaaks6dmc17pxspspm5wlqxinjkrs"))))
+ "0x52gfxk7zr84al83x62s4gh7mbngahy1svafdkbwd18i5lysvhm"))))
(build-system cmake-build-system)
(arguments
'(#:configure-flags
diff --git a/gnu/packages/datamash.scm b/gnu/packages/datamash.scm
index 4f8ded1d66..9889f16646 100644
--- a/gnu/packages/datamash.scm
+++ b/gnu/packages/datamash.scm
@@ -1,5 +1,6 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2014 Eric Bavier <bavier@member.fsf.org>
+;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -27,7 +28,7 @@
(define-public datamash
(package
(name "datamash")
- (version "1.0.7")
+ (version "1.1.0")
(source
(origin
(method url-fetch)
@@ -35,7 +36,7 @@
version ".tar.gz"))
(sha256
(base32
- "0y49zaadzirghy4xfajvsv1f5x805cjp61z212ggipx5243302qs"))))
+ "1c2bj0jrm4fxkf0ykxkzgyk1l9s0idqm8rbzmk3n9pgldb4arrd9"))))
(native-inputs
`(("which" ,which) ;for tests
("perl" ,perl))) ;for help2man
diff --git a/gnu/packages/dav.scm b/gnu/packages/dav.scm
new file mode 100644
index 0000000000..f13d013d50
--- /dev/null
+++ b/gnu/packages/dav.scm
@@ -0,0 +1,108 @@
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2015 Leo Famulari <leo@famulari.name>
+;;;
+;;; This file is part of GNU Guix.
+;;;
+;;; GNU Guix is free software; you can redistribute it and/or modify it
+;;; under the terms of the GNU General Public License as published by
+;;; the Free Software Foundation; either version 3 of the License, or (at
+;;; your option) any later version.
+;;;
+;;; GNU Guix is distributed in the hope that it will be useful, but
+;;; WITHOUT ANY WARRANTY; without even the implied warranty of
+;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+;;; GNU General Public License for more details.
+;;;
+;;; You should have received a copy of the GNU General Public License
+;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
+
+(define-module (gnu packages dav)
+ #:use-module (guix build-system python)
+ #:use-module (guix download)
+ #:use-module (guix licenses)
+ #:use-module (guix packages)
+ #:use-module (gnu packages python))
+
+(define-public radicale
+ (package
+ (name "radicale")
+ (version "1.1.1")
+ (source (origin
+ (method url-fetch)
+ (uri (pypi-uri "Radicale" version))
+ (sha256
+ (base32
+ "1c5lv8qca21mndkx350wxv34qypqh6gb4rhzms4anr642clq3jg2"))))
+ (build-system python-build-system)
+ (propagated-inputs
+ ;; TODO: Add python-pam
+ `(("python-requests" ,python-requests)))
+ (synopsis "Basic CalDAV and CardDAV server")
+ (description "Radicale is a CalDAV and CardDAV server for UNIX-like
+platforms. Calendars and address books are available for both local and remote
+access, possibly limited through authentication policies. They can be viewed
+and edited by calendar and contact clients on mobile phones or computers.
+
+Radicale intentionally does not fully comply with the CalDAV and CardDAV RFCs.
+Instead, it supports the CalDAV and CardDAV implementations of popular
+clients.")
+ (home-page "http://radicale.org/")
+ (license gpl3+)))
+
+(define-public vdirsyncer
+ (package
+ (name "vdirsyncer")
+ (version "0.7.5")
+ (source (origin
+ (method url-fetch)
+ (uri (pypi-uri "vdirsyncer" version))
+ (sha256
+ (base32
+ "0dvar4k95n689fgw5gy19mb7ggaw32c8j2gbglr33wn7pbxc2l9z"))))
+ (build-system python-build-system)
+ (arguments
+ `(#:phases (modify-phases %standard-phases
+ (replace 'check
+ (lambda _
+ (setenv "DAV_SERVER" "radicale")
+ (setenv "REMOTESTORAGE_SERVER" "skip")
+ (zero? (system* "py.test"))))
+ ;; vdirsyncer requires itself to be installed in order to build
+ ;; the manpage.
+ (add-after 'install 'manpage
+ (lambda* (#:key outputs #:allow-other-keys)
+ (setenv "PYTHONPATH"
+ (string-append
+ (getenv "PYTHONPATH")
+ ":" (assoc-ref outputs "out")))
+ (zero? (system* "make" "--directory=docs/" "man"))
+ (install-file
+ "docs/_build/man/vdirsyncer.1"
+ (string-append
+ (assoc-ref outputs "out")
+ "/share/man/man1")))))))
+ (native-inputs
+ `(("python-oauthlib" ,python-oauthlib)
+ ("python-setuptools-scm" ,python-setuptools-scm)
+ ("python-sphinx" ,python-sphinx)
+ ;; Required for testing
+ ("python-pytest" ,python-pytest)
+ ("python-pytest-localserver" ,python-pytest-localserver)
+ ("python-pytest-xprocess" ,python-pytest-xprocess)
+ ("python-wsgi-intercept" ,python-wsgi-intercept)
+ ("radicale" ,radicale)))
+ (propagated-inputs
+ `(("python-atomicwrites" ,python-atomicwrites)
+ ("python-click" ,python-click)
+ ("python-click-log" ,python-click-log)
+ ("python-click-threading" ,python-click-threading)
+ ("python-lxml" ,python-lxml) ; which one?
+ ("python-requests-toolbelt" ,python-requests-toolbelt)))
+ (synopsis "Synchronize calendars and contacts")
+ (description "Vdirsyncer synchronizes your calendars and addressbooks
+between two storage locations. The most popular purpose is to
+synchronize a CalDAV or CardDAV server with a local folder or file. The
+local data can then be accessed via a variety of programs, none of which
+have to know or worry about syncing to a server.")
+ (home-page "https://github.com/untitaker/vdirsyncer")
+ (license expat)))
diff --git a/gnu/packages/docker.scm b/gnu/packages/docker.scm
new file mode 100644
index 0000000000..06b72ee376
--- /dev/null
+++ b/gnu/packages/docker.scm
@@ -0,0 +1,107 @@
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2016 David Thompson <davet@gnu.org>
+;;;
+;;; This file is part of GNU Guix.
+;;;
+;;; GNU Guix is free software; you can redistribute it and/or modify it
+;;; under the terms of the GNU General Public License as published by
+;;; the Free Software Foundation; either version 3 of the License, or (at
+;;; your option) any later version.
+;;;
+;;; GNU Guix is distributed in the hope that it will be useful, but
+;;; WITHOUT ANY WARRANTY; without even the implied warranty of
+;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+;;; GNU General Public License for more details.
+;;;
+;;; You should have received a copy of the GNU General Public License
+;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
+
+(define-module (gnu packages docker)
+ #:use-module ((guix licenses) #:prefix license:)
+ #:use-module (gnu packages)
+ #:use-module (guix packages)
+ #:use-module (guix download)
+ #:use-module (guix git-download)
+ #:use-module (guix build-system python)
+ #:use-module (guix utils)
+ #:use-module (gnu packages python))
+
+(define-public python-docker-py
+ (package
+ (name "python-docker-py")
+ (version "1.6.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "docker-py" version))
+ (sha256
+ (base32
+ "16ba4xyd46hkj9nkfpz15r8kskl7ljx1afjzchyrhdsrklvzgzim"))))
+ (build-system python-build-system)
+ ;; TODO: Tests require a running Docker daemon.
+ (arguments '(#:tests? #f))
+ (inputs
+ `(("python-requests" ,python-requests)
+ ("python-setuptools" ,python-setuptools)
+ ("python-six" ,python-six)
+ ("python-websocket-client" ,python-websocket-client)))
+ (home-page "https://github.com/docker/docker-py/")
+ (synopsis "Python client for Docker")
+ (description "Docker-Py is a Python client for the Docker container
+management tool.")
+ (license license:asl2.0)))
+
+(define-public python-dockerpty
+ (package
+ (name "python-dockerpty")
+ (version "0.3.4")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "dockerpty" version))
+ (sha256
+ (base32
+ "0za6rr349641wv76ww9l3zcic2xyxrirlxpnzl4296h897648455"))))
+ (build-system python-build-system)
+ (native-inputs
+ `(("python-six" ,python-six)))
+ (home-page "https://github.com/d11wtq/dockerpty")
+ (synopsis "Python library to use the pseudo-TTY of a Docker container")
+ (description "Docker PTY provides the functionality needed to operate the
+pseudo-terminal (PTY) allocated to a Docker container using the Python
+client.")
+ (license license:asl2.0)))
+
+(define-public docker-compose
+ (package
+ (name "docker-compose")
+ (version "1.5.2")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "docker-compose" version))
+ (sha256
+ (base32
+ "0ksg7hm2yvc977968dixxisrhcmvskzpcx3pz0v1kazrdqp7xakr"))))
+ (build-system python-build-system)
+ ;; TODO: Tests require running Docker daemon.
+ (arguments '(#:tests? #f))
+ (inputs
+ `(("python-docker-py" ,python-docker-py)
+ ("python-dockerpty" ,python-dockerpty)
+ ("python-docopt" ,python-docopt)
+ ("python-enum34" ,python-enum34)
+ ("python-jsonschema" ,python-jsonschema)
+ ("python-pyyaml" ,python-pyyaml)
+ ("python-requests" ,python-requests-2.7)
+ ("python-setuptools" ,python-setuptools)
+ ("python-six" ,python-six)
+ ("python-texttable" ,python-texttable)
+ ("python-websocket-client" ,python-websocket-client)))
+ (home-page "https://www.docker.com/")
+ (synopsis "Multi-container orchestration for Docker")
+ (description "Docker Compose is a tool for defining and running
+multi-container Docker applications. A Compose file is used to configure an
+application’s services. Then, using a single command, the containers are
+created and all the services are started as specified in the configuration.")
+ (license license:asl2.0)))
diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm
index ba7bd49901..2b1152a54d 100644
--- a/gnu/packages/emacs.scm
+++ b/gnu/packages/emacs.scm
@@ -2,7 +2,7 @@
;;; Copyright © 2014 Taylan Ulrich Bayirli/Kammer <taylanbayirli@gmail.com>
;;; Copyright © 2013, 2014, 2015, 2016 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2014, 2015 Mark H Weaver <mhw@netris.org>
-;;; Copyright © 2014, 2015 Alex Kost <alezost@gmail.com>
+;;; Copyright © 2014, 2015, 2016 Alex Kost <alezost@gmail.com>
;;; Copyright © 2015 Federico Beffa <beffa@fbengineering.ch>
;;; Copyright © 2015 Ricardo Wurmus <rekado@elephly.net>
;;;
@@ -324,7 +324,7 @@ configuration files, such as .gitattributes, .gitignore, and .git/config.")
(define-public magit
(package
(name "magit")
- (version "2.3.1")
+ (version "2.4.0")
(source (origin
(method url-fetch)
(uri (string-append
@@ -332,7 +332,7 @@ configuration files, such as .gitattributes, .gitignore, and .git/config.")
version "/" name "-" version ".tar.gz"))
(sha256
(base32
- "1wnx034adkwhbsydd10il2099hpzz351kp39sri8s1yd43f795gf"))))
+ "1wbam4l36061mj79qlgzrv4xbzhk2dk6gnv45610zwfnf24ikdsp"))))
(build-system gnu-build-system)
(native-inputs `(("texinfo" ,texinfo)
("emacs" ,emacs-no-x)))
diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm
index f7a7636a86..3fcda40ba4 100644
--- a/gnu/packages/games.scm
+++ b/gnu/packages/games.scm
@@ -11,7 +11,7 @@
;;; Copyright © 2015 David Hashe <david.hashe@dhashe.com>
;;; Copyright © 2015 Christopher Allan Webber <cwebber@dustycloud.org>
;;; Copyright © 2015 Ricardo Wurmus <rekado@elephly.net>
-;;; Copyright © 2015 Alex Kost <alezost@gmail.com>
+;;; Copyright © 2015, 2016 Alex Kost <alezost@gmail.com>
;;; Copyright © 2015 Paul van der Walt <paul@denknerd.org>
;;; Copyright © 2015 Taylan Ulrich Bayırlı/Kammer <taylanbayirli@gmail.com>
;;;
@@ -1180,7 +1180,7 @@ is programmed in Haskell.")
(define-public manaplus
(package
(name "manaplus")
- (version "1.5.12.5")
+ (version "1.6.1.16")
(source (origin
(method url-fetch)
(uri (string-append
@@ -1188,7 +1188,7 @@ is programmed in Haskell.")
version "/manaplus-" version ".tar.xz"))
(sha256
(base32
- "0kmd743q40v82221wj8b09n30lqiwl7096v3m7ki3ynsgszkm326"))))
+ "1vrsjvdbdzbnqmr8sp110b2d93kp5yfnifsn6zjm60kdvvbphdir"))))
(build-system gnu-build-system)
(arguments
'(#:configure-flags
diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index 5d14550e8a..05efe0ba97 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -751,22 +751,39 @@ API add-ons to make GTK+ widgets OpenGL-capable.")
(define-public glade3
(package
(name "glade")
- (version "3.8.5")
+ (version "3.18.3")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/" name "/"
(version-major+minor version) "/"
- name "3-" version ".tar.xz"))
+ name "-" version ".tar.xz"))
(sha256
(base32
- "0d97df5pfkrh5670a98r3d3w8zlbh1jcax6cvq6j6a20vzjgd9aq"))))
+ "0lk4nvd5s8px9i0pbq7bncikgn2lpx7vjh787d3cvzpvwx3cxnzc"))))
(build-system gnu-build-system)
+ (arguments
+ `(#:tests? #f ; needs X, GL, and software rendering
+ #:phases
+ (modify-phases %standard-phases
+ (add-before 'configure 'fix-docbook
+ (lambda* (#:key inputs #:allow-other-keys)
+ (substitute* "man/Makefile.in"
+ (("http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl")
+ (string-append (assoc-ref inputs "docbook-xsl")
+ "/xml/xsl/docbook-xsl-"
+ ,(package-version docbook-xsl)
+ "/manpages/docbook.xsl")))
+ #t)))))
(inputs
- `(("gtk+" ,gtk+-2)
+ `(("gtk+" ,gtk+)
("libxml2" ,libxml2)))
(native-inputs
`(("intltool" ,intltool)
- ("python" ,python)
+ ("itstool" ,itstool)
+ ("libxslt" ,libxslt) ;for xsltproc
+ ("docbook-xml" ,docbook-xml-4.2)
+ ("docbook-xsl" ,docbook-xsl)
+ ("python" ,python-2)
("pkg-config" ,pkg-config)))
(home-page "https://glade.gnome.org")
(synopsis "GTK+ rapid application development tool")
diff --git a/gnu/packages/gnupg.scm b/gnu/packages/gnupg.scm
index 2042327d3d..c1a6d75569 100644
--- a/gnu/packages/gnupg.scm
+++ b/gnu/packages/gnupg.scm
@@ -31,6 +31,7 @@
#:use-module (gnu packages python)
#:use-module (gnu packages readline)
#:use-module (gnu packages compression)
+ #:use-module (gnu packages databases)
#:use-module (gnu packages gtk)
#:use-module (gnu packages glib)
#:use-module (gnu packages gnome)
@@ -218,8 +219,9 @@ compatible to GNU Pth.")
("libksba" ,libksba)
("npth" ,npth)
("openldap" ,openldap)
- ("zlib" ,zlib)
- ("readline" ,readline)))
+ ("readline" ,readline)
+ ("sqlite" ,sqlite)
+ ("zlib" ,zlib)))
(arguments
`(#:phases
(alist-cons-before
diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm
index 7250cd5002..3ca4ef1868 100644
--- a/gnu/packages/linux.scm
+++ b/gnu/packages/linux.scm
@@ -6,6 +6,7 @@
;;; Copyright © 2015 Federico Beffa <beffa@fbengineering.ch>
;;; Copyright © 2015 Taylan Ulrich Bayırlı/Kammer <taylanbayirli@gmail.com>
;;; Copyright © 2015 Efraim Flashner <efraim@flashner.co.il>
+;;; Copyright © 2016 Christopher Allan Webber <cwebber@dustycloud.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -317,6 +318,22 @@ It has been modified to remove all non-free binary blobs.")
(license license:gpl2)
(home-page "http://www.gnu.org/software/linux-libre/"))))
+;; This older version of linux-libre is being added because it was found
+;; that newer versions (or at least 4.3.3) of linux-libre were not reading
+;; the hardware clock on (at least Libreboot-enabled) Thinkpad x200
+;; machines. See <http://bugs.gnu.org/22274>.
+
+(define-public linux-libre-4.2.5
+ (package
+ (inherit linux-libre)
+ (version "4.2.5")
+ (source (origin
+ (method url-fetch)
+ (uri (linux-libre-urls version))
+ (sha256
+ (base32
+ "13ar9sghm2g5w2km9x2d07q3lh81rz286d6slklv56qanm24chzx"))))))
+
;;;
;;; Pluggable authentication modules (PAM).
diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm
index fd1751e95b..bfc90c1eeb 100644
--- a/gnu/packages/music.scm
+++ b/gnu/packages/music.scm
@@ -462,11 +462,7 @@ for path in [path for path in sys.path if 'site-packages' in path]: site.addsite
("pygtk" ,python2-pygtk)
("gettext" ,gnu-gettext)
("gtk" ,gtk+)
- ;; TODO: Lilypond is optional. Produces errors at build time:
- ;; Drawing systems...Error: /undefinedresult in --glyphshow--
- ;; Fontconfig is needed to fix one of the errors, but other similar
- ;; errors remain.
- ;;("lilypond" ,lilypond)
+ ("lilypond" ,lilypond)
("librsvg" ,librsvg) ; needed at runtime for icons
("libpng" ,libpng) ; needed at runtime for icons
;; players needed at runtime
@@ -480,8 +476,6 @@ for path in [path for path in sys.path if 'site-packages' in path]: site.addsite
("txt2man" ,txt2man)
("libxml2" ,libxml2) ; for tests
("ghostscript" ,ghostscript)
- ;;("fontconfig" ,fontconfig) ; only needed with lilypond
- ;;("freetype" ,freetype) ; only needed with lilypond
("texinfo" ,texinfo)))
(home-page "https://www.gnu.org/software/solfege/")
(synopsis "Ear training")
@@ -659,6 +653,16 @@ Laurens Hammond and Don Leslie.")
(base32
"1fi2m4gmvxdi260821y09lxsimq82yv4k5bbgk3kyc3x1nyhn7vx"))))
(build-system gnu-build-system)
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'remove-sse-flags
+ (lambda* (#:key system #:allow-other-keys)
+ (when (not (or (string-prefix? "x86_64" system)
+ (string-prefix? "i686" system)))
+ (substitute* "bristol/Makefile.in"
+ (("-msse -mfpmath=sse") "")))
+ #t)))))
(inputs
`(("alsa-lib" ,alsa-lib)
("jack" ,jack-1)
@@ -818,14 +822,14 @@ browser.")
(define-public drumstick
(package
(name "drumstick")
- (version "1.0.1")
+ (version "1.0.2")
(source (origin
(method url-fetch)
(uri (string-append "mirror://sourceforge/drumstick/"
version "/drumstick-" version ".tar.bz2"))
(sha256
(base32
- "0mxgix85b2qqs859z91cxik5x0s60dykqiflbj62px9akvf91qdv"))))
+ "0l47gy9yywrc860db5g3wdqg8yc8qdb2lqq6wvw1dfim5j0vbail"))))
(build-system cmake-build-system)
(arguments
`(#:tests? #f ; no test target
@@ -864,14 +868,15 @@ backends, including ALSA, OSS, Network and FluidSynth.")
(define-public vmpk
(package
(name "vmpk")
- (version "0.6.1")
+ (version "0.6.2a")
(source (origin
(method url-fetch)
(uri (string-append "mirror://sourceforge/vmpk/vmpk/"
- version "/vmpk-" version ".tar.bz2"))
+ (string-drop-right version 1)
+ "/vmpk-" version ".tar.bz2"))
(sha256
(base32
- "0ranldd033bd31m9d2vkbkn9zp1k46xbaysllai2i95rf1nhirqc"))))
+ "0259iikvxnfdiifrh02g8xgcxikrkca4nhd3an8xzx0bd6bk8ifi"))))
(build-system cmake-build-system)
(arguments
`(#:tests? #f ; no test target
diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index 5531867964..1311b1bc37 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -3,6 +3,7 @@
;;; Copyright © 2014, 2015 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2015 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2015 David Hashe <david.hashe@dhashe.com>
+;;; Copyright © 2016 Eric Bavier <bavier@member.fsf.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -23,6 +24,7 @@
#:use-module ((guix licenses) #:hide (zlib))
#:use-module (guix packages)
#:use-module (guix download)
+ #:use-module (guix svn-download)
#:use-module (guix utils)
#:use-module (guix build-system gnu)
#:use-module (gnu packages)
@@ -36,6 +38,8 @@
#:use-module (gnu packages compression)
#:use-module (gnu packages xorg)
#:use-module (gnu packages texlive)
+ #:use-module (gnu packages ghostscript)
+ #:use-module (gnu packages lynx)
#:use-module (gnu packages perl)
#:use-module (gnu packages python)
#:use-module (gnu packages ncurses)
@@ -282,14 +286,14 @@ concrete syntax of the language (Quotations, Syntax Extensions).")
(define-public hevea
(package
(name "hevea")
- (version "2.23")
+ (version "2.28")
(source (origin
(method url-fetch)
(uri (string-append "http://hevea.inria.fr/old/"
name "-" version ".tar.gz"))
(sha256
(base32
- "1f9pj48518ixhjxbviv2zx27v4anp92zgg3x704g1s5cki2w33nv"))))
+ "14fns13wlnpiv9i05841kvi3cq4b9v2sw5x3ff6ziws28q701qnd"))))
(build-system gnu-build-system)
(inputs
`(("ocaml" ,ocaml)))
@@ -297,7 +301,12 @@ concrete syntax of the language (Quotations, Syntax Extensions).")
`(#:tests? #f ; no test suite
#:make-flags (list (string-append "PREFIX=" %output))
#:phases (modify-phases %standard-phases
- (delete 'configure))))
+ (delete 'configure)
+ (add-before 'build 'patch-/bin/sh
+ (lambda _
+ (substitute* "_tags"
+ (("/bin/sh") (which "sh")))
+ #t)))))
(home-page "http://hevea.inria.fr/")
(synopsis "LaTeX to HTML translator")
(description
@@ -496,16 +505,65 @@ libpanel, librsvg and quartz.")
(version "2.48.3")
(source
(origin
- (method url-fetch)
- (uri (string-append "https://www.seas.upenn.edu/~bcpierce/unison/"
- "download/releases/stable/unison-" version
- ".tar.gz"))
- (sha256
- (base32
- "10sln52rnnsj213jy3166m0q97qpwnrwl6mm529xfy10x3xkq3gl"))))
+ (method svn-fetch)
+ (uri (svn-reference
+ (url (string-append "https://webdav.seas.upenn.edu/svn/"
+ "unison/branches/"
+ (version-major+minor version)))
+ (revision 535)))
+ (file-name (string-append name "-" version "-checkout"))
+ (sha256
+ (base32
+ "0486s53wyayicj9f2raj2dvwvk4xyzar219rccc1iczdwixm4x05"))
+ (modules '((guix build utils)
+ (ice-9 rdelim)
+ (ice-9 regex)
+ (srfi srfi-1)))
+ (snippet
+ `(begin
+ ;; The svn revision in the release tarball appears to be
+ ;; artificially manipulated in order to set the desired point
+ ;; version number. Because the point version is calculated during
+ ;; the build, we can offset pointVersionOrigin by the desired
+ ;; point version and write that into "Rev: %d". We do this rather
+ ;; than hardcoding the necessary revision number, for
+ ;; maintainability.
+ (with-atomic-file-replacement "src/mkProjectInfo.ml"
+ (lambda (in out)
+ (let ((pt-ver (string->number (third (string-split ,version #\.))))
+ (pt-rx (make-regexp "^let pointVersionOrigin = ([0-9]+)"))
+ (rev-rx (make-regexp "Rev: [0-9]+")))
+ (let loop ((pt-origin #f))
+ (let ((line (read-line in 'concat)))
+ (cond
+ ((regexp-exec pt-rx line)
+ => (lambda (m)
+ (display line out)
+ (loop (string->number (match:substring m 1)))))
+ ((regexp-exec rev-rx line)
+ => (lambda (m)
+ (format out "~aRev: ~d~a"
+ (match:prefix m)
+ (+ pt-origin pt-ver)
+ (match:suffix m))
+ (dump-port in out))) ;done
+ (else
+ (display line out)
+ (loop pt-origin))))))))
+ ;; Without the '-fix' argument, the html file produced does not
+ ;; have functioning internal hyperlinks.
+ (substitute* "doc/Makefile"
+ (("hevea unison") "hevea -fix unison"))))))
(build-system gnu-build-system)
+ (outputs '("out"
+ "doc")) ; 1.9 MiB of documentation
(native-inputs
- `(("ocaml" ,ocaml)))
+ `(("ocaml" ,ocaml)
+ ;; For documentation
+ ("ghostscript" ,ghostscript)
+ ("texlive" ,texlive)
+ ("hevea" ,hevea)
+ ("lynx" ,lynx)))
(arguments
`(#:parallel-build? #f
#:parallel-tests? #f
@@ -522,7 +580,30 @@ libpanel, librsvg and quartz.")
(bin (string-append out "/bin")))
(mkdir-p bin)
(setenv "HOME" out) ; forces correct INSTALLDIR in Makefile
- #t))))))
+ #t)))
+ (add-after 'install 'install-doc
+ (lambda* (#:key inputs outputs #:allow-other-keys)
+ (let ((doc (string-append (assoc-ref outputs "doc")
+ "/share/doc/unison")))
+ (mkdir-p doc)
+ ;; This file needs write-permissions, because it's
+ ;; overwritten by 'docs' during documentation generation.
+ (chmod "src/strings.ml" #o600)
+ (and (zero? (system* "make" "docs"
+ "TEXDIRECTIVES=\\\\draftfalse"))
+ (begin
+ (for-each (lambda (f)
+ (install-file f doc))
+ (map (lambda (ext)
+ (string-append
+ "doc/unison-manual." ext))
+ ;; Install only html documentation,
+ ;; since the build is currently
+ ;; non-reproducible with the ps, pdf,
+ ;; and dvi docs.
+ '(;;"ps" "pdf" "dvi"
+ "html")))
+ #t))))))))
(home-page "https://www.cis.upenn.edu/~bcpierce/unison/")
(synopsis "File synchronizer")
(description
diff --git a/gnu/packages/openstack.scm b/gnu/packages/openstack.scm
index 48a5c6b7e6..e258b89e2f 100644
--- a/gnu/packages/openstack.scm
+++ b/gnu/packages/openstack.scm
@@ -1,6 +1,6 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2015 Cyril Roelandt <tipecaml@gmail.com>
-;;; Copyright © 2015 Efraim Flashner <efraim@flashner.co.il>
+;;; Copyright © 2015, 2016 Efraim Flashner <efraim@flashner.co.il>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -19,12 +19,14 @@
(define-module (gnu packages openstack)
#:use-module (gnu packages python)
+ #:use-module (gnu packages tls)
#:use-module (gnu packages version-control)
#:use-module (guix build-system python)
#:use-module (guix download)
#:use-module ((guix licenses)
#:select (asl2.0))
- #:use-module (guix packages))
+ #:use-module (guix packages)
+ #:use-module (srfi srfi-1))
(define-public python-bandit
(package
@@ -302,7 +304,12 @@ portions of your testing code.")
(license asl2.0)))
(define-public python2-requests-mock
- (package-with-python2 python-requests-mock))
+ (let ((requests-mock (package-with-python2 python-requests-mock)))
+ (package (inherit requests-mock)
+ (propagated-inputs
+ `(("python2-requests" ,python2-requests)
+ ,@(alist-delete "python-requests"
+ (package-propagated-inputs requests-mock)))))))
(define-public python-stevedore
(package
@@ -385,7 +392,12 @@ common features used in Tempest.")
(license asl2.0)))
(define-public python2-tempest-lib
- (package-with-python2 python-tempest-lib))
+ (let ((tempest-lib (package-with-python2 python-tempest-lib)))
+ (package (inherit tempest-lib)
+ (propagated-inputs
+ `(("python2-jsonschema", python2-jsonschema)
+ ,@(alist-delete "python-jsonschema"
+ (package-propagated-inputs tempest-lib)))))))
;; Packages from the Oslo library
(define-public python-oslo.config
@@ -594,7 +606,9 @@ from the OpenStack project.")
(license asl2.0)))
(define-public python2-oslosphinx
- (package-with-python2 python-oslosphinx))
+ (let ((oslosphinx (package-with-python2 python-oslosphinx)))
+ (package (inherit oslosphinx)
+ (propagated-inputs `(("python2-requests" ,python2-requests))))))
(define-public python-oslotest
(package
@@ -679,3 +693,134 @@ handling.")
(define-public python2-oslo.utils
(package-with-python2 python-oslo.utils))
+
+(define-public python-keystoneclient
+ (package
+ (name "python-keystoneclient")
+ (version "1.8.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "python-keystoneclient" version))
+ (sha256
+ (base32
+ "1w4csvkah67rfpxylxnvs2s3594i0f9isy8pf4gnsqs5zirvjaa4"))))
+ (build-system python-build-system)
+ (native-inputs
+ `(("python-setuptools" ,python-setuptools)
+ ("python-sphinx" ,python-sphinx)
+ ;; and some packages for the tests
+ ("openssl" ,openssl)
+ ("python-coverage" ,python-coverage)
+ ("python-discover" ,python-discover)
+ ("python-fixtures" ,python-fixtures)
+ ("python-hacking" ,python-hacking)
+ ("python-keyring" ,python-keyring)
+ ("python-lxml" ,python-lxml)
+ ("python-mock" ,python-mock)
+ ("python-mox3" ,python-mox3)
+ ("python-oauthlib" ,python-oauthlib)
+ ("python-oslosphinx" ,python-oslosphinx)
+ ("python-oslotest" ,python-oslotest)
+ ("python-pycrypto" ,python-pycrypto)
+ ("python-requests-mock" ,python-requests-mock)
+ ("python-temptest-lib" ,python-tempest-lib)
+ ("python-testrepository" ,python-testrepository)
+ ("python-testresources" ,python-testresources)
+ ("python-testtools" ,python-testtools)
+ ("python-webob" ,python-webob)))
+ (propagated-inputs
+ `(("python-babel" ,python-babel)
+ ("python-debtcollector" ,python-debtcollector)
+ ("python-iso8601" ,python-iso8601)
+ ("python-netaddr" ,python-netaddr)
+ ("python-oslo.config" ,python-oslo.config)
+ ("python-oslo.i18n" ,python-oslo.i18n)
+ ("python-oslo.serialization" ,python-oslo.serialization)
+ ("python-oslo.utils" ,python-oslo.utils)
+ ("python-pbr" ,python-pbr)
+ ("python-prettytable" ,python-prettytable)
+ ("python-requests" ,python-requests)
+ ("python-six" ,python-six)
+ ("python-stevedore" ,python-stevedore)))
+ (home-page "http://www.openstack.org/")
+ (synopsis "Client Library for OpenStack Identity")
+ (description
+ "Python-keystoneclient is the identity service used by OpenStack for
+authentication (authN) and high-level authorization (authZ). It currently
+supports token-based authN with user/service authZ, and is scalable to support
+OAuth, SAML, and OpenID in future versions. Out of the box, Keystone uses
+SQLite for its identity store database, with the option to connect to external
+LDAP.")
+ (license asl2.0)))
+
+(define-public python2-keystoneclient
+ (let ((keystoneclient (package-with-python2 python-keystoneclient)))
+ (package (inherit keystoneclient)
+ (propagated-inputs
+ `(("python2-requests" ,python2-requests)
+ ,@(alist-delete "python-requests"
+ (package-propagated-inputs keystoneclient))))
+ (native-inputs
+ `(("python2-oauthlib" ,python2-oauthlib)
+ ("python2-oslosphinx" ,python2-oslosphinx)
+ ("python2-requests-mock" ,python2-requests-mock)
+ ("python2-tempest-lib" ,python2-tempest-lib)
+ ,@(fold alist-delete (package-native-inputs keystoneclient)
+ '("python-oauthlib" "python-oslosphinx" "python-requests-mock" "python-tempest-lib")))))))
+
+(define-public python-swiftclient
+ (package
+ (name "python-swiftclient")
+ (version "2.6.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "python-swiftclient" version))
+ (sha256
+ (base32
+ "1j33l4z9vqh0scfncl4fxg01zr1hgqxhhai6gvcih1gccqm4nd7p"))))
+ (build-system python-build-system)
+ (native-inputs
+ `(("python-pbr", python-pbr)
+ ("python-setuptools" ,python-setuptools)
+ ("python-sphinx" ,python-sphinx)
+ ;; The folloing packages are needed for the tests.
+ ("python-coverage" ,python-coverage)
+ ("python-discover" ,python-discover)
+ ("python-hacking" ,python-hacking)
+ ("python-mock" ,python-mock)
+ ("python-oslosphinx" ,python-oslosphinx)
+ ("python-keystoneclient" ,python-keystoneclient)
+ ("python-testrepository" ,python-testrepository)
+ ("python-testtools" ,python-testtools)))
+ (propagated-inputs
+ `(("python-requests" ,python-requests)
+ ("python-six" ,python-six)))
+ (home-page "http://www.openstack.org/")
+ (synopsis "OpenStack Object Storage API Client Library")
+ (description
+ "OpenStack Object Storage (code-named Swift) creates redundant, scalable
+object storage using clusters of standardized servers to store petabytes of
+accessible data. It is not a file system or real-time data storage system, but
+rather a long-term storage system for a more permanent type of static data that
+can be retrieved, leveraged, and then updated if necessary. Primary examples of
+data that best fit this type of storage model are virtual machine images, photo
+storage, email storage and backup archiving. Having no central \"brain\" or
+master point of control provides greater scalability, redundancy and
+permanence.")
+ (license asl2.0)))
+
+(define-public python2-swiftclient
+ (let ((swiftclient (package-with-python2 python-swiftclient)))
+ (package (inherit swiftclient)
+ (propagated-inputs
+ `(("python2-futures" ,python2-futures)
+ ("python2-requests" ,python2-requests)
+ ,@(alist-delete "python-requests"
+ (package-propagated-inputs swiftclient))))
+ (native-inputs
+ `(("python2-keystoneclient" ,python2-keystoneclient)
+ ("python2-oslosphinx" ,python2-oslosphinx)
+ ,@(fold alist-delete (package-native-inputs swiftclient)
+ '("python-keystoneclient" "python-oslosphinx")))))))
diff --git a/gnu/packages/patches/bowtie-fix-makefile.patch b/gnu/packages/patches/bowtie-fix-makefile.patch
deleted file mode 100644
index 5ac65731cb..0000000000
--- a/gnu/packages/patches/bowtie-fix-makefile.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-From 4a99b0023bdfbbe486b9649489a32ea184c18c9a Mon Sep 17 00:00:00 2001
-From: Valentin Antonescu <valentin@jhu.edu>
-Date: Tue, 2 Dec 2014 11:19:13 -0500
-Subject: [PATCH] Make sure the Mavericks test happens only under Darwin.
-
----
- Makefile | 11 +++++------
- 1 file changed, 5 insertions(+), 6 deletions(-)
-
-diff --git a/Makefile b/Makefile
-index d74f7c8..a4cdfa7 100644
---- a/Makefile
-+++ b/Makefile
-@@ -54,12 +54,11 @@ endif
- MACOS = 0
- ifneq (,$(findstring Darwin,$(shell uname)))
- MACOS = 1
--endif
--
--ifneq (,$(findstring 13,$(shell uname -r)))
-- CPP = clang++
-- CC = clang
-- EXTRA_FLAGS += -stdlib=libstdc++
-+ ifneq (,$(findstring 13,$(shell uname -r)))
-+ CPP = clang++
-+ CC = clang
-+ EXTRA_FLAGS += -stdlib=libstdc++
-+ endif
- endif
-
- POPCNT_CAPABILITY ?= 1
diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm
index a01c99e1eb..82a9cfc75e 100644
--- a/gnu/packages/python.scm
+++ b/gnu/packages/python.scm
@@ -14,7 +14,7 @@
;;; Copyright © 2015 Leo Famulari <leo@famulari.name>
;;; Copyright © 2015 Ben Woodcroft <donttrustben@gmail.com>
;;; Copyright © 2015, 2016 Erik Edrosa <erik.edrosa@gmail.com>
-;;; Copyright © 2015 Efraim Flashner <efraim@flashner.co.il>
+;;; Copyright © 2015, 2016 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2015 Kyle Meyer <kyle@kyleam.com>
;;; Copyright © 2015 Chris Marusich <cmmarusich@gmail.com>
;;;
@@ -1016,31 +1016,16 @@ doing practical, real world data analysis in Python.")
(define-public python-tzlocal
(package
(name "python-tzlocal")
- (version "1.1.1")
+ (version "1.2")
(source
(origin
(method url-fetch)
- (uri (string-append "https://pypi.python.org/packages/source/t/"
- "tzlocal/tzlocal-" version ".zip"))
+ (uri (pypi-uri "tzlocal" version))
(sha256
(base32
- "1m3y918c3chf41fwg2bx4w42bqsjzn3dyvvcmwwy13c8gj6zssv9"))))
+ "12wsw2fl3adrqrwghasld57bhqdrzn0crblqrci1p5acd0ni53s3"))))
(build-system python-build-system)
- (native-inputs
- `(("unzip" ,unzip)
- ("python-setuptools" ,python-setuptools)))
- (inputs `(("python-pytz" ,python-pytz)))
- (arguments
- `(#:phases
- (alist-replace
- 'unpack
- (lambda _
- (let ((unzip (string-append (assoc-ref %build-inputs "unzip")
- "/bin/unzip"))
- (source (assoc-ref %build-inputs "source")))
- (and (zero? (system* unzip source))
- (chdir (string-append "tzlocal-" ,version)))))
- %standard-phases)))
+ (propagated-inputs `(("python-pytz" ,python-pytz)))
(home-page "https://github.com/regebro/tzlocal")
(synopsis
"Local timezone information for Python")
@@ -1627,18 +1612,18 @@ and many external plugins.")
(sha256
(base32
"1lf9jsmhqk5nc4w3kzwglmdzjvmi7ajvrsnwv826j3bn0wzx8c92"))))
- (build-system python-build-system)
- (propagated-inputs
- `(("python-coverage" ,python-coverage)
- ("python-pytest" ,python-pytest)))
- (native-inputs
- `(("python-setuptools" ,python-setuptools)))
- (home-page "https://github.com/pytest-dev/pytest-cov")
- (synopsis "Pytest plugin for measuring coverage")
- (description
- "Pytest-cov produces coverage reports. It supports centralised testing and
-distributed testing in both load and each modes. It also supports coverage
-of subprocesses.")
+ (build-system python-build-system)
+ (propagated-inputs
+ `(("python-coverage" ,python-coverage)
+ ("python-pytest" ,python-pytest)))
+ (native-inputs
+ `(("python-setuptools" ,python-setuptools)))
+ (home-page "https://github.com/pytest-dev/pytest-cov")
+ (synopsis "Pytest plugin for measuring coverage")
+ (description
+ "Pytest-cov produces coverage reports. It supports centralised testing and
+distributed testing in both @code{load} and @code{each} modes. It also
+supports coverage of subprocesses.")
(license license:expat)))
(define-public python2-pytest-cov
@@ -2136,28 +2121,38 @@ with sensible defaults out of the box.")
(package
(name "python-wheel")
(version "0.26.0")
- (source
- (origin
- (method url-fetch)
- (uri (pypi-uri "wheel" version))
- (sha256
- (base32
- "032k1ajijbqnv0z0k88bhf75mdimi18fcmm28mss90610lw3bbga"))))
- (build-system python-build-system)
- (native-inputs
- `(("python-setuptools" ,python-setuptools)
- ("python-jsonschema" ,python-jsonschema)
- ("python-pytest-cov" ,python-pytest-cov)))
- (home-page "https://bitbucket.org/pypa/wheel/")
- (synopsis "Built-package format for Python")
- (description
- "A wheel is a ZIP-format archive with a specially formatted filename and the
-.whl extension. It is designed to contain all the files for a PEP 376
-compatible install in a way that is very close to the on-disk format.")
- (license license:expat)))
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "wheel" version))
+ (sha256
+ (base32
+ "032k1ajijbqnv0z0k88bhf75mdimi18fcmm28mss90610lw3bbga"))))
+ (build-system python-build-system)
+ (native-inputs
+ `(("python-setuptools" ,python-setuptools)
+ ("python-jsonschema" ,python-jsonschema)
+ ("python-pytest-cov" ,python-pytest-cov)))
+ (home-page "https://bitbucket.org/pypa/wheel/")
+ (synopsis "Format for built Python packages")
+ (description
+ "A wheel is a ZIP-format archive with a specially formatted filename and
+the @code{.whl} extension. It is designed to contain all the files for a PEP
+376 compatible install in a way that is very close to the on-disk format. Many
+packages will be properly installed with only the @code{Unpack} step and the
+unpacked archive preserves enough information to @code{Spread} (copy data and
+scripts to their final locations) at any later time. Wheel files can be
+installed with a newer @code{pip} or with wheel's own command line utility.")
+ (license license:expat)))
(define-public python2-wheel
- (package-with-python2 python-wheel))
+ (let ((wheel (package-with-python2 python-wheel)))
+ (package (inherit wheel)
+ (native-inputs
+ `(("python2-functools32" ,python2-functools32)
+ ("python2-jsonschema" ,python2-jsonschema)
+ ,@(alist-delete "python-jsonschema"
+ (package-native-inputs wheel)))))))
(define-public python-requests
(package
@@ -2184,13 +2179,54 @@ compatible install in a way that is very close to the on-disk format.")
than Python’s urllib2 library.")
(license asl2.0)))
+;; Some software requires an older version of Requests, notably Docker
+;; Compose.
+(define-public python-requests-2.7
+ (package (inherit python-requests)
+ (version "2.7.0")
+ (source (origin
+ (method url-fetch)
+ (uri (pypi-uri "requests" version))
+ (sha256
+ (base32
+ "0gdr9dxm24amxpbyqpbh3lbwxc2i42hnqv50sigx568qssv3v2ir"))))))
+
(define-public python2-requests
- (package-with-python2 python-requests))
+ (let ((requests (package-with-python2 python-requests)))
+ (package (inherit requests)
+ (propagated-inputs
+ `(("python2-wheel" ,python2-wheel)
+ ,@(alist-delete "python-wheel"
+ (package-propagated-inputs requests)))))))
+
+(define-public python-vcversioner
+ (package
+ (name "python-vcversioner")
+ (version "2.14.0.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "vcversioner" version))
+ (sha256
+ (base32
+ "11ivq1bm7v0yb4nsfbv9m7g7lyjn112gbvpjnjz8nv1fx633dm5c"))))
+ (build-system python-build-system)
+ (inputs
+ `(("python-setuptools" ,python-setuptools)))
+ (synopsis "Python library for version number discovery")
+ (description "Vcversioner is a Python library that inspects tagging
+information in a variety of version control systems in order to discover
+version numbers.")
+ (home-page "https://github.com/habnabit/vcversioner")
+ (license isc)))
+
+(define-public python2-vcversioner
+ (package-with-python2 python-vcversioner))
(define-public python-jsonschema
(package
(name "python-jsonschema")
- (version "2.4.0")
+ (version "2.5.1")
(source (origin
(method url-fetch)
(uri
@@ -2199,10 +2235,11 @@ than Python’s urllib2 library.")
version ".tar.gz"))
(sha256
(base32
- "1yik3031ziygvq66rj3mzfqdgxj29sg1bkfc46wsgi7lnbqs560j"))))
+ "0hddbqjm4jq63y8jf44nswina1crjs16l9snb6m3vvgyg31klrrn"))))
(build-system python-build-system)
(inputs
- `(("python-setuptools" ,python-setuptools)))
+ `(("python-setuptools" ,python-setuptools)
+ ("python-vcversioner" ,python-vcversioner)))
(home-page "http://github.com/Julian/jsonschema")
(synopsis "Implementation of JSON Schema for Python")
(description
@@ -2210,7 +2247,11 @@ than Python’s urllib2 library.")
(license license:expat)))
(define-public python2-jsonschema
- (package-with-python2 python-jsonschema))
+ (let ((jsonschema (package-with-python2 python-jsonschema)))
+ (package (inherit jsonschema)
+ (inputs
+ `(("python2-functools32" ,python2-functools32)
+ ,@(package-inputs jsonschema))))))
(define-public python-unidecode
(package
@@ -4266,11 +4307,13 @@ computing.")
,@(alist-delete "python-terminado"
(package-propagated-inputs ipython))))
(inputs
- `(("python2-mock" ,python2-mock)
+ `(("python2-jsonschema" ,python2-jsonschema)
+ ("python2-mock" ,python2-mock)
("python2-matplotlib" ,python2-matplotlib)
("python2-numpy" ,python2-numpy)
+ ("python2-requests" ,python2-requests)
,@(fold alist-delete (package-inputs ipython)
- '("python-matplotlib" "python-numpy")))))))
+ '("python-jsonschema" "python-matplotlib" "python-numpy" "python-requests")))))))
(define-public python-isodate
(package
@@ -4341,13 +4384,22 @@ and written in Python.")
(source
(origin
(method url-fetch)
- (uri (string-append
- "https://pypi.python.org/packages/source/u/urwid/urwid-"
- version ".tar.gz"))
+ (uri (pypi-uri "urwid" version))
(sha256
(base32
"18mb0yy94sjc434rd61m2sfnw27sa0nyrszpj5a9r9zh7fnlzw19"))))
(build-system python-build-system)
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ ;; Disable failing test. Bug filed upstream:
+ ;; https://github.com/wardi/urwid/issues/164
+ ;; TODO: check again for python-urwid > 1.3.0 or python > 3.4.3.
+ (add-after 'unpack 'disable-failing-test
+ (lambda _
+ (substitute* "urwid/tests/test_event_loops.py"
+ (("test_remove_watch_file")
+ "disable_remove_watch_file")))))))
(native-inputs `(("python-setuptools" ,python-setuptools)))
(home-page "http://urwid.org")
(synopsis "Console user interface library for Python")
@@ -5613,6 +5665,32 @@ suitable for a wide range of protocols based on the ASN.1 specification.")
(define-public python2-pyasn1
(package-with-python2 python-pyasn1))
+(define-public python-pyasn1-modules
+ (package
+ (name "python-pyasn1-modules")
+ (version "0.0.8")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "pyasn1-modules" version))
+ (sha256
+ (base32
+ "0drqgw81xd3fxdlg89kgd79zzrabvfncvkbybi2wr6w2y4s1jmhh"))))
+ (build-system python-build-system)
+ (native-inputs
+ `(("python-setuptools" ,python-setuptools)))
+ (propagated-inputs
+ `(("python-pyasn1" ,python-pyasn1)))
+ (home-page "http://sourceforge.net/projects/pyasn1/")
+ (synopsis "ASN.1 codec implementations")
+ (description
+ "Pyasn1-modules is a collection of Python modules providing ASN.1 types and
+implementations of ASN.1-based codecs and protocols.")
+ (license bsd-3)))
+
+(define-public python2-pyasn1-modules
+ (package-with-python2 python-pyasn1-modules))
+
(define-public python2-ipaddress
(package
(name "python2-ipaddress")
@@ -6622,3 +6700,557 @@ the standard library.")
(define-public python2-contextlib2
(package-with-python2 python-contextlib2))
+
+(define-public python-texttable
+ (package
+ (name "python-texttable")
+ (version "0.8.4")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "texttable" version))
+ (sha256
+ (base32
+ "0bkhs4dx9s6g7fpb969hygq56hyz4ncfamlynw72s0n6nqfbd1w5"))))
+ (build-system python-build-system)
+ (arguments '(#:tests? #f)) ; no tests
+ (home-page "https://github.com/foutaise/texttable/")
+ (synopsis "Python module for creating simple ASCII tables")
+ (description "Texttable is a Python module for creating simple ASCII
+tables.")
+ (license lgpl2.1+)))
+
+(define-public python2-texttable
+ (package-with-python2 python-texttable))
+
+(define-public python-websocket-client
+ (package
+ (name "python-websocket-client")
+ (version "0.34.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://pypi.python.org/packages/source/w"
+ "/websocket-client/websocket_client-"
+ version ".tar.gz"))
+ (sha256
+ (base32
+ "1prdx6d49f1cff17kzj15bnz09palfdgc1m5dkq9jd4mr90n4ak8"))))
+ (build-system python-build-system)
+ (native-inputs
+ `(("python-six" ,python-six))) ; for tests
+ (inputs
+ `(("python-setuptools" ,python-setuptools)))
+ (home-page "https://github.com/liris/websocket-client")
+ (synopsis "WebSocket client for Python")
+ (description "The Websocket-client module provides the low level APIs for
+WebSocket usage in Python programs.")
+ (license lgpl2.1+)))
+
+(define-public python2-websocket-client
+ (package-with-python2 python-websocket-client))
+
+(define-public python-atomicwrites
+ (package
+ (name "python-atomicwrites")
+ (version "0.1.8")
+ (source (origin
+ (method url-fetch)
+ (uri (pypi-uri "atomicwrites" version))
+ (sha256
+ (base32
+ "13nwk0gw0yb61pnf5vxs3fvhav6q3zrf08x9ggc93bnk5fsssx1j"))))
+ (build-system python-build-system)
+ (synopsis "Atomic file writes in Python")
+ (description "Library for atomic file writes using platform dependent tools
+for atomic filesystem operations.")
+ (home-page "https://github.com/untitaker/python-atomicwrites")
+ (license license:expat)))
+
+(define-public python-requests-toolbelt
+ (package
+ (name "python-requests-toolbelt")
+ (version "0.5.0")
+ (source (origin
+ (method url-fetch)
+ (uri (pypi-uri "requests-toolbelt" version))
+ (sha256
+ (base32
+ "1kbms1s52dhb98vbpaprr15b0ijdbqp500lpfsyjccpd8cjkyngk"))))
+ (build-system python-build-system)
+ (propagated-inputs
+ `(("python-requests" ,python-requests)))
+ (synopsis "Extensions to python-requests")
+ (description "This is a toolbelt of useful classes and functions to be used
+with python-requests.")
+ (home-page "https://github.com/sigmavirus24/requests-toolbelt")
+ (license asl2.0)))
+
+(define-public python-click-threading
+ (package
+ (name "python-click-threading")
+ (version "0.1.2")
+ (source (origin
+ (method url-fetch)
+ (uri (pypi-uri "click-threading" version))
+ (sha256
+ (base32
+ "0jmrv4334lfxa2ss53c06dafdwqbk1pb3ihd26izn5igw1bm8145"))))
+ (build-system python-build-system)
+ (propagated-inputs
+ `(("python-click" ,python-click)))
+ (synopsis "Utilities for multithreading in Click")
+ (description "This package provides utilities for multithreading in Click
+applications.")
+ (home-page "https://github.com/click-contrib/click-threading")
+ (license license:expat)))
+
+(define-public python-click-log
+ (package
+ (name "python-click-log")
+ (version "0.1.1")
+ (source (origin
+ (method url-fetch)
+ (uri (pypi-uri "click-log" version))
+ (sha256
+ (base32
+ "1z3jdwjmwax159zrnyx830xa968rfqrpkm04ad5xqyh0269ydiqb"))))
+ (build-system python-build-system)
+ (propagated-inputs
+ `(("python-click" ,python-click)))
+ (synopsis "Logging for click applications")
+ (description "This package provides a Python library for logging Click
+applications.")
+ (home-page "https://github.com/click-contrib/click-log")
+ (license license:expat)))
+
+(define-public python-apipkg
+ (package
+ (name "python-apipkg")
+ (version "1.4")
+ (source (origin
+ (method url-fetch)
+ (uri (pypi-uri "apipkg" version))
+ (sha256
+ (base32
+ "1iks5701qnp3dlr3q1d9qm68y2plp2m029irhpz92a44psfkjf1f"))))
+ (build-system python-build-system)
+ (native-inputs
+ `(("unzip" ,unzip)))
+ (propagated-inputs
+ `(("python-pytest" ,python-pytest)))
+ (synopsis "Namespace control and lazy-import mechanism")
+ (description "With apipkg you can control the exported namespace of a Python
+package and greatly reduce the number of imports for your users. It is a small
+pure Python module that works on virtually all Python versions.")
+ (home-page "https://bitbucket.org/hpk42/apipkg")
+ (license license:expat)))
+
+(define-public python-execnet
+ (package
+ (name "python-execnet")
+ (version "1.4.1")
+ (source (origin
+ (method url-fetch)
+ (uri (pypi-uri "execnet" version))
+ (sha256
+ (base32
+ "1rpk1vyclhg911p3hql0m0nrpq7q7mysxnaaw6vs29cpa6kx8vgn"))))
+ (build-system python-build-system)
+ (native-inputs
+ `(("python-setuptools-scm" ,python-setuptools-scm)))
+ (propagated-inputs
+ `(("python-apipkg" ,python-apipkg)))
+ (synopsis "Rapid multi-Python deployment")
+ (description "Execnet provides a share-nothing model with
+channel-send/receive communication for distributing execution across many
+Python interpreters across version, platform and network barriers. It has a
+minimal and fast API targetting the following uses:
+@enumerate
+@item distribute tasks to (many) local or remote CPUs
+@item write and deploy hybrid multi-process applications
+@item write scripts to administer multiple environments
+@end enumerate")
+ (home-page "http://codespeak.net/execnet/")
+ (license license:expat)))
+
+;;; The software provided by this package was integrated into pytest 2.8.
+(define-public python-pytest-cache
+ (package
+ (name "python-pytest-cache")
+ (version "1.0")
+ (source (origin
+ (method url-fetch)
+ (uri (pypi-uri "pytest-cache" version))
+ (sha256
+ (base32
+ "1a873fihw4rhshc722j4h6j7g3nj7xpgsna9hhg3zn6ksknnhx5y"))))
+ (build-system python-build-system)
+ (propagated-inputs
+ `(("python-execnet" ,python-execnet)))
+ (synopsis "Py.test plugin with mechanisms for caching across test runs")
+ (description "The pytest-cache plugin provides tools to rerun failures from
+the last py.test invocation.")
+ (home-page "https://bitbucket.org/hpk42/pytest-cache/")
+ (license license:expat)))
+
+(define-public python-pytest-localserver
+ (package
+ (name "python-pytest-localserver")
+ (version "0.3.4")
+ (source (origin
+ (method url-fetch)
+ (uri (pypi-uri "pytest-localserver" version ".zip"))
+ (sha256
+ (base32
+ "050q505a7gnsz7vqidw0w5dvxjb2flzi7z734agpjzmsl85c2bcx"))))
+ (build-system python-build-system)
+ (arguments
+ `(#:phases (modify-phases %standard-phases
+ (replace 'check
+ (lambda _
+ (zero? (system* "py.test" "--genscript=runtests.py"))
+ (zero? (system* "py.test")))))))
+ (native-inputs
+ `(("unzip" ,unzip)))
+ (propagated-inputs
+ `(("python-pytest" ,python-pytest)
+ ("python-requests" ,python-requests)
+ ("python-six" ,python-six)
+ ("python-werkzeug" ,python-werkzeug)))
+ (synopsis "Py.test plugin to test server connections locally")
+ (description "Pytest-localserver is a plugin for the pytest testing
+framework which enables you to test server connections locally.")
+ (home-page "https://pypi.python.org/pypi/pytest-localserver")
+ (license license:expat)))
+
+(define-public python-wsgi-intercept
+ (package
+ (name "python-wsgi-intercept")
+ (version "0.10.3")
+ (source (origin
+ (method url-fetch)
+ (uri (pypi-uri "wsgi_intercept" version))
+ (sha256
+ (base32
+ "0xyfchacywb1mql84270mcidsqc5ssyspd18yacjk82x2xc68h0r"))))
+ (build-system python-build-system)
+ (native-inputs
+ `(("python-pytest" ,python-pytest)))
+ (propagated-inputs
+ `(("python-httplib2" ,python-httplib2)
+ ("python-requests" ,python-requests)))
+ (synopsis "Puts a WSGI application in place of a real URI for testing")
+ (description "Wsgi_intercept installs a WSGI application in place of a real
+URI for testing. Testing a WSGI application normally involves starting a
+server at a local host and port, then pointing your test code to that address.
+Instead, this library lets you intercept calls to any specific host/port
+combination and redirect them into a WSGI application importable by your test
+program. Thus, you can avoid spawning multiple processes or threads to test
+your Web app.")
+ (home-page "https://github.com/cdent/wsgi-intercept")
+ (license license:expat)))
+
+(define-public python-pytest-xprocess
+ (package
+ (name "python-pytest-xprocess")
+ (version "0.9.1")
+ (source (origin
+ (method url-fetch)
+ (uri (pypi-uri "pytest-xprocess" version))
+ (sha256
+ (base32
+ "17zlql1xqw3ywcgwwbqmw633aly99lab12hm02asr8awvg5603pp"))))
+ (build-system python-build-system)
+ (propagated-inputs
+ `(("python-pytest" ,python-pytest)
+ ("python-pytest-cache" ,python-pytest-cache)
+ ("python-psutil" ,python-psutil)))
+ (synopsis "Pytest plugin to manage external processes across test runs")
+ (description "Pytest-xprocess is an experimental py.test plugin for managing
+processes across test runs.")
+ (home-page "https://bitbucket.org/pytest-dev/pytest-xprocess")
+ (license license:expat)))
+
+(define-public python-icalendar
+ (package
+ (name "python-icalendar")
+ (version "3.9.1")
+ (source (origin
+ (method url-fetch)
+ (uri (pypi-uri "icalendar" version))
+ (sha256
+ (base32
+ "0fhrczdj3jxy5bvswphp3vys7vwv5c9bpwg7asykqwa3z6253q6q"))))
+ (build-system python-build-system)
+ (propagated-inputs
+ `(("python-dateutil-2" ,python-dateutil-2)
+ ("python-pytz" ,python-pytz)))
+ (synopsis "Python library for parsing iCalendar files")
+ (description "The icalendar package is a parser/generator of iCalendar
+files for use with Python.")
+ (home-page "https://github.com/collective/icalendar")
+ (license bsd-2)))
+
+(define-public python-sphinxcontrib-newsfeed
+ (package
+ (name "python-sphinxcontrib-newsfeed")
+ (version "0.1.4")
+ (source (origin
+ (method url-fetch)
+ (uri (pypi-uri "sphinxcontrib-newsfeed" version))
+ (sha256
+ (base32
+ "1d7gam3mn8v4in4p16yn3v10vps7nnaz6ilw99j4klij39dqd37p"))))
+ (build-system python-build-system)
+ (propagated-inputs
+ `(("python-docutils" ,python-docutils)
+ ("python-sphinx" ,python-sphinx)))
+ (synopsis "News Feed extension for Sphinx")
+ (description "Sphinxcontrib-newsfeed is an extension for adding a simple
+Blog, News or Announcements section to a Sphinx website.")
+ (home-page "https://bitbucket.org/prometheus/sphinxcontrib-newsfeed")
+ (license bsd-2)))
+
+(define-public python-args
+ (package
+ (name "python-args")
+ (version "0.1.0")
+ (source (origin
+ (method url-fetch)
+ (uri (pypi-uri "args" version))
+ (sha256
+ (base32
+ "057qzi46h5dmxdqknsbrssn78lmqjlnm624iqdhrnpk26zcbi1d7"))))
+ (build-system python-build-system)
+ (inputs
+ `(("python-setuptools" ,python-setuptools)))
+ (home-page "https://github.com/kennethreitz/args")
+ (synopsis "Command-line argument parser")
+ (description
+ "This library provides a Python module to parse command-line arguments.")
+ (license bsd-3)))
+
+(define-public python2-args
+ (package-with-python2 python-args))
+
+(define-public python-clint
+ (package
+ (name "python-clint")
+ (version "0.5.1")
+ (source (origin
+ (method url-fetch)
+ (uri (pypi-uri "clint" version))
+ (sha256
+ (base32
+ "1an5lkkqk1zha47198p42ji3m94xmzx1a03dn7866m87n4r4q8h5"))))
+ (build-system python-build-system)
+ (inputs
+ `(("python-args" ,python-args)
+ ("python-setuptools" ,python-setuptools)))
+ (home-page "https://github.com/kennethreitz/clint")
+ (synopsis "Command-line interface tools")
+ (description
+ "Clint is a Python module filled with a set of tools for developing
+command-line applications, including tools for colored and indented
+output, progress bar display, and pipes.")
+ (license isc)))
+
+(define-public python2-clint
+ (package-with-python2 python-clint))
+
+(define-public python-astor
+ (package
+ (name "python-astor")
+ (version "0.5")
+ (source (origin
+ (method url-fetch)
+ (uri (pypi-uri "astor" version))
+ (sha256
+ (base32
+ "1fdafq5hkis1fxqlmhw0sn44zp2ar46nxhbc22cvwg7hsd8z5gsa"))))
+ (build-system python-build-system)
+ (inputs
+ `(("python-setuptools" ,python-setuptools)))
+ (home-page "https://github.com/berkerpeksag/astor")
+ (synopsis "Read and write Python ASTs")
+ (description
+ "Astor is designed to allow easy manipulation of Python source via the
+Abstract Syntax Tree.")
+ (license bsd-3)))
+
+(define-public python2-astor
+ (package-with-python2 python-astor))
+
+(define-public python-rply
+ (package
+ (name "python-rply")
+ (version "0.7.4")
+ (source (origin
+ (method url-fetch)
+ (uri (pypi-uri "rply" version))
+ (sha256
+ (base32
+ "12rp1d9ba7nvd5rhaxi6xzx1rm67r1k1ylsrkzhpwnphqpb06cvj"))))
+ (build-system python-build-system)
+ (inputs
+ `(("python-appdirs" ,python-appdirs)
+ ("python-setuptools" ,python-setuptools)))
+ (home-page "https://github.com/alex/rply")
+ (synopsis "Parser generator for Python")
+ (description
+ "This package provides a pure Python based parser generator, that also
+works with RPython. It is a more-or-less direct port of David Bazzley's PLY,
+with a new public API, and RPython support.")
+ (license bsd-3)))
+
+(define-public python2-rply
+ (package-with-python2 python-rply))
+
+(define-public python-hy
+ (package
+ (name "python-hy")
+ (version "0.11.1")
+ (source (origin
+ (method url-fetch)
+ (uri (pypi-uri "hy" version))
+ (sha256
+ (base32
+ "1msqv747iz12r73mz4qvsmlwkddwjvrahlrk7ysrcz07h7dsscxs"))))
+ (build-system python-build-system)
+ (inputs
+ `(("python-astor" ,python-astor)
+ ("python-clint" ,python-clint)
+ ("python-rply" ,python-rply)
+ ("python-setuptools" ,python-setuptools)))
+ (home-page "http://hylang.org/")
+ (synopsis "Lisp frontend to Python")
+ (description
+ "Hy is a dialect of Lisp that's embedded in Python. Since Hy transforms
+its Lisp code into the Python Abstract Syntax Tree, you have the whole world of
+Python at your fingertips, in Lisp form.")
+ (license license:expat)))
+
+(define-public python2-hy
+ (package-with-python2 python-hy))
+
+(define-public python-rauth
+ (package
+ (name "python-rauth")
+ (version "0.7.2")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "rauth" version))
+ (sha256
+ (base32
+ "00pq7zw429hhza9c0qzxiqp77m653jv09z92nralnmzwdf6pzicf"))))
+ (build-system python-build-system)
+ (arguments
+ `(#:test-target "check"))
+ (native-inputs
+ `(("python-setuptools" ,python-setuptools)))
+ (propagated-inputs
+ `(("python-requests" ,python-requests)))
+ (home-page "https://github.com/litl/rauth")
+ (synopsis "Python library for OAuth 1.0/a, 2.0, and Ofly")
+ (description
+ "Rauth is a Python library for OAuth 1.0/a, 2.0, and Ofly. It also
+provides service wrappers for convenient connection initialization and
+authenticated session objects providing things like keep-alive.")
+ (license license:expat)))
+
+(define-public python2-rauth
+ (let ((rauth (package-with-python2 python-rauth)))
+ (package (inherit rauth)
+ (propagated-inputs `(("python2-requests" ,python2-requests)))
+ (native-inputs
+ `(("python2-unittest2", python2-unittest2)
+ ,@(package-native-inputs rauth))))))
+
+(define-public python2-functools32
+ (package
+ (name "python2-functools32")
+ (version "3.2.3-2")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "functools32" version))
+ (sha256
+ (base32
+ "0v8ya0b58x47wp216n1zamimv4iw57cxz3xxhzix52jkw3xks9gn"))))
+ (build-system python-build-system)
+ (arguments
+ `(#:python ,python-2
+ #:tests? #f)) ; no test target
+ (native-inputs
+ `(("python2-setuptools" ,python2-setuptools)))
+ (home-page "https://github.com/MiCHiLU/python-functools32")
+ (synopsis
+ "Backport of the functools module from Python 3.2.3")
+ (description
+ "This package is a backport of the @code{functools} module from Python
+3.2.3 for use with older versions of Python and PyPy.")
+ (license license:expat)))
+
+(define-public python-futures
+ (package
+ (name "python-futures")
+ (version "3.0.3")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "futures" version))
+ (sha256
+ (base32
+ "1vcb34dqhzkhbq1957vdjszhhm5y3j9ba88dgwhqx2zynhmk9qig"))))
+ (build-system python-build-system)
+ (native-inputs
+ `(("python-setuptools" ,python-setuptools)))
+ (home-page "https://github.com/agronholm/pythonfutures")
+ (synopsis
+ "Backport of the concurrent.futures package from Python 3.2")
+ (description
+ "The concurrent.futures module provides a high-level interface for
+asynchronously executing callables. This package backports the
+concurrent.futures package from Python 3.2")
+ (license bsd-3)))
+
+(define-public python2-futures
+ (package-with-python2 python-futures))
+
+(define-public python-urllib3
+ (package
+ (name "python-urllib3")
+ (version "1.13.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "urllib3" version))
+ (sha256
+ (base32
+ "10rrbr6c6k7j5dvfsyj4b2gsgxg9gggnn708qixf6ll57xqivfkf"))))
+ (build-system python-build-system)
+ (arguments `(#:tests? #f))
+ (native-inputs
+ `(("python-setuptools" ,python-setuptools)
+ ;; some packages for tests
+ ("python-nose" ,python-nose)
+ ("python-mock" ,python-mock)
+ ("python-tornado" ,python-tornado)))
+ (propagated-inputs
+ `(;; packages for https security
+ ("python-certifi" ,python-certifi)
+ ("python-ndg-httpsclient" ,python-ndg-httpsclient)
+ ("python-pyasn1" ,python-pyasn1)
+ ("python-pyopenssl" ,python-pyopenssl)))
+ (home-page "http://urllib3.readthedocs.org/")
+ (synopsis "HTTP library with thread-safe connection pooling")
+ (description
+ "Urllib3 supports features left out of urllib and urllib2 libraries. It
+can reuse the same socket connection for multiple requests, it can POST files,
+supports url redirection and retries, and also gzip and deflate decoding.")
+ (license license:expat)))
+
+(define-public python2-urllib3
+ (package-with-python2 python-urllib3))
diff --git a/gnu/packages/rsync.scm b/gnu/packages/rsync.scm
index 5e98d84835..dba4e89a05 100644
--- a/gnu/packages/rsync.scm
+++ b/gnu/packages/rsync.scm
@@ -1,5 +1,6 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2012, 2013 Andreas Enge <andreas@enge.fr>
+;;; Copyright © 2016 Mark H Weaver <mhw@netris.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -30,14 +31,14 @@
(define-public rsync
(package
(name "rsync")
- (version "3.1.0")
+ (version "3.1.2")
(source (origin
(method url-fetch)
(uri (string-append "http://rsync.samba.org/ftp/rsync/src/rsync-"
version ".tar.gz"))
(sha256
(base32
- "0kirw8wglqvwi1v8bwxp373g03xg857h59j5k3mmgff9gzvj7jl1"))))
+ "1hm1q04hz15509f0p9bflw4d6jzfvpm1d36dxjwihk1wzakn5ypc"))))
(build-system gnu-build-system)
(inputs `(("perl" ,perl)
("acl" ,acl)))
diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index fd36f8d694..6e5553bd30 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -2978,3 +2978,67 @@ methods, a @code{Mixin} module for including color methods, a @code{Logger}, a
device.")
(home-page "http://rubyworks.github.io/ansi")
(license license:bsd-2)))
+
+(define-public ruby-systemu
+ (package
+ (name "ruby-systemu")
+ (version "2.6.5")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (rubygems-uri "systemu" version))
+ (sha256
+ (base32
+ "0gmkbakhfci5wnmbfx5i54f25j9zsvbw858yg3jjhfs5n4ad1xq1"))))
+ (build-system ruby-build-system)
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (add-before 'check 'set-version
+ (lambda _
+ (setenv "VERSION" ,version)
+ #t)))))
+ (synopsis "Capture of stdout/stderr and handling of child processes")
+ (description
+ "Systemu can be used on any platform to return status, stdout, and stderr
+of any command. Unlike other methods like @code{open3} and @code{popen4}
+there is no danger of full pipes or threading issues hanging your process or
+subprocess.")
+ (home-page "https://github.com/ahoward/systemu")
+ (license license:ruby)))
+
+(define-public ruby-bio-commandeer
+ (package
+ (name "ruby-bio-commandeer")
+ (version "0.1.2")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (rubygems-uri "bio-commandeer" version))
+ (sha256
+ (base32
+ "061jxa6km92qfwzl058r2gp8gfcsbyr7m643nw1pxvmjdswaf6ly"))))
+ (build-system ruby-build-system)
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (replace 'check
+ ;; Run test without calling 'rake' so that jeweler is
+ ;; not required as an input.
+ (lambda _
+ (zero? (system* "rspec" "spec/bio-commandeer_spec.rb")))))))
+ (propagated-inputs
+ `(("ruby-bio-logger" ,ruby-bio-logger)
+ ("ruby-systemu" ,ruby-systemu)))
+ (native-inputs
+ `(("bundler" ,bundler)
+ ("ruby-rspec" ,ruby-rspec)))
+ (synopsis "Simplified running of shell commands from within Ruby")
+ (description
+ "Bio-commandeer provides an opinionated method of running shell commands
+from within Ruby. The advantage of bio-commandeer over other methods of
+running external commands is that when something goes wrong, messages printed
+to the @code{STDOUT} and @code{STDERR} streams are reported, giving extra
+detail to ease debugging.")
+ (home-page "http://github.com/wwood/bioruby-commandeer")
+ (license license:expat)))
diff --git a/gnu/packages/ssh.scm b/gnu/packages/ssh.scm
index 76032f9b62..d4bf29cc20 100644
--- a/gnu/packages/ssh.scm
+++ b/gnu/packages/ssh.scm
@@ -1,6 +1,6 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2013, 2014 Andreas Enge <andreas@enge.fr>
-;;; Copyright © 2014, 2015 Mark H Weaver <mhw@netris.org>
+;;; Copyright © 2014, 2015, 2016 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2015 Efraim Flashner <efraim@flashner.co.il>
;;;
;;; This file is part of GNU Guix.
@@ -111,7 +111,7 @@ a server that supports the SSH-2 protocol.")
(define-public openssh
(package
(name "openssh")
- (version "7.1p1")
+ (version "7.1p2")
(source (origin
(method url-fetch)
(uri (let ((tail (string-append name "-" version ".tar.gz")))
@@ -122,7 +122,7 @@ a server that supports the SSH-2 protocol.")
(string-append "http://ftp2.fr.openbsd.org/pub/OpenBSD/OpenSSH/portable/"
tail))))
(sha256 (base32
- "0a44mnr8bvw41zg83xh4sb55d8nds29j95gxvxk5qg863lnns2pw"))))
+ "1gbbvszz74lkc7b2mqr3ccgpm65zj0k5h7a2ssh0c7pjvhjg0xfx"))))
(build-system gnu-build-system)
(inputs `(("groff" ,groff)
("openssl" ,openssl)
diff --git a/gnu/packages/statistics.scm b/gnu/packages/statistics.scm
index 8bd87582ef..6466af11c0 100644
--- a/gnu/packages/statistics.scm
+++ b/gnu/packages/statistics.scm
@@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2015 Ricardo Wurmus <rekado@elephly.net>
+;;; Copyright © 2015, 2016 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2015 Vicente Vera Parra <vicentemvp@gmail.com>
;;;
;;; This file is part of GNU Guix.
@@ -1676,6 +1676,8 @@ worker processes and collect and return the results on the master.")
"0s9kab5khk7daqf6nfp1wm1qnhkssnnwnymisfwyk3kz4q5maqfz"))))
(properties
`((upstream-name . "SparseM")))
+ (inputs
+ `(("gfortran" ,gfortran)))
(build-system r-build-system)
(home-page "http://www.econ.uiuc.edu/~roger/research/sparse/sparse.html")
(synopsis "Sparse linear algebra")
diff --git a/gnu/packages/sxiv.scm b/gnu/packages/sxiv.scm
index ee5e822c8d..8a81d48f3e 100644
--- a/gnu/packages/sxiv.scm
+++ b/gnu/packages/sxiv.scm
@@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2015 Alex Kost <alezost@gmail.com>
+;;; Copyright © 2015, 2016 Alex Kost <alezost@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -28,7 +28,7 @@
(define-public sxiv
(package
(name "sxiv")
- (version "1.3.1")
+ (version "1.3.2")
(source (origin
(method url-fetch)
(uri (string-append
@@ -37,7 +37,7 @@
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
- "03hxy5ff7xbs15rhlbpgx8xmvmpjlffp0m4528975hg16sqa2c4s"))))
+ "0lxnd33gaw4drhdwbkk94wzrjyhh64d57jq2ps7ffmqgizg6hlwz"))))
(build-system gnu-build-system)
(arguments
'(#:tests? #f ; no check target
diff --git a/gnu/packages/version-control.scm b/gnu/packages/version-control.scm
index c24c4683c7..1edf9f8d9c 100644
--- a/gnu/packages/version-control.scm
+++ b/gnu/packages/version-control.scm
@@ -56,6 +56,7 @@
#:use-module (gnu packages ncurses)
#:use-module (gnu packages ssh)
#:use-module (gnu packages web)
+ #:use-module (gnu packages openstack)
#:use-module (gnu packages perl)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages python)
@@ -1028,3 +1029,33 @@ fetching updates) over a collection of version control repositories. It
supports a large number of version control systems: Git, Subversion,
Mercurial, Bazaar, Darcs, CVS, Fossil, and Veracity.")
(license gpl2+)))
+
+(define-public git-annex-remote-hubic
+ (package
+ (name "git-annex-remote-hubic")
+ (version "0.3.1")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append
+ "https://github.com/Schnouki/" name "/archive/v"
+ version ".tar.gz"))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "196g3jkaybjx11nbr51n0cjps3wjzb145ab76y717diqvvxp5v4r"))))
+ (build-system python-build-system)
+ (native-inputs
+ `(("python-setuptools" ,python-setuptools)
+ ;; for the tests
+ ("python-six" ,python-six)))
+ (propagated-inputs
+ `(("python-dateutil" ,python-dateutil-2)
+ ("python-futures" ,python-futures)
+ ("python-rauth" ,python-rauth)
+ ("python-swiftclient" ,python-swiftclient)))
+ (home-page "https://github.com/Schnouki/git-annex-remote-hubic/")
+ (synopsis "Use hubic as a git-annex remote")
+ (description
+ "This package allows you to use your hubic account as a \"special
+repository\" with git-annex.")
+ (license gpl3+)))
diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm
index b3ee98092c..12f10b9915 100644
--- a/gnu/packages/video.scm
+++ b/gnu/packages/video.scm
@@ -3,7 +3,7 @@
;;; Copyright © 2014, 2015 David Thompson <davet@gnu.org>
;;; Copyright © 2014, 2015, 2016 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2015 Taylan Ulrich Bayırlı/Kammer <taylanbayirli@gmail.com>
-;;; Copyright © 2015 Efraim Flashner <efraim@flashner.co.il>
+;;; Copyright © 2015, 2016 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2015 Andy Patterson <ajpatter@uwaterloo.ca>
;;; Copyright © 2015 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2015 Alex Vong <alexvong1995@gmail.com>
@@ -692,7 +692,7 @@ SVCD, DVD, 3ivx, DivX 3/4/5, WMV and H.264 movies.")
(define-public mpv
(package
(name "mpv")
- (version "0.14.0")
+ (version "0.15.0")
(source (origin
(method url-fetch)
(uri (string-append
@@ -700,14 +700,14 @@ SVCD, DVD, 3ivx, DivX 3/4/5, WMV and H.264 movies.")
".tar.gz"))
(sha256
(base32
- "0cqjwl0xyg0sv1jflipfkvqjg32y0kqfh4gc3lyhqgv0hgs3fa84"))
+ "1p0b83048g66icpz5n66v3k4ldr1z0rmg5d2rr7kcbspm1xj2cbx"))
(file-name (string-append name "-" version ".tar.gz"))))
(build-system waf-build-system)
(native-inputs
`(("perl" ,perl)
("pkg-config" ,pkg-config)
("python-docutils" ,python-docutils)))
- ;; Missing features: libguess, Wayland, VDPAU, V4L2
+ ;; Missing features: libguess, Wayland, V4L2
(inputs
`(("alsa-lib" ,alsa-lib)
("enca" ,enca)
@@ -724,6 +724,7 @@ SVCD, DVD, 3ivx, DivX 3/4/5, WMV and H.264 movies.")
("libdvdnav" ,libdvdnav)
("libjpeg" ,libjpeg)
("libva" ,libva)
+ ("libvdpau" ,libvdpau)
("libx11" ,libx11)
("libxext" ,libxext)
("libxinerama" ,libxinerama)
@@ -754,6 +755,7 @@ SVCD, DVD, 3ivx, DivX 3/4/5, WMV and H.264 movies.")
(lambda* (#:key inputs #:allow-other-keys)
(copy-file (assoc-ref inputs "waf") "waf")
(setenv "CC" "gcc"))))
+ #:configure-flags (list "--enable-gpl3" "--enable-zsh-comp")
;; No check function defined.
#:tests? #f))
(home-page "http://mpv.io/")
@@ -1299,3 +1301,53 @@ from many input sources such as webcams, X11 (for screencasting), PulseAudio,
and JACK.")
(home-page "https://obsproject.com")
(license license:gpl2+)))
+
+(define-public libvdpau
+ (package
+ (name "libvdpau")
+ (version "1.1.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://secure.freedesktop.org/~aplattner/vdpau/"
+ name "-" version ".tar.bz2"))
+ (sha256
+ (base32
+ "0dnpb0yh7v6rvckx82kxg045rd9rbsw25wjv7ad5n8h94s9h2yl5"))))
+ (build-system gnu-build-system)
+ (native-inputs
+ `(("pkg-config" ,pkg-config)))
+ (inputs
+ `(("dri2proto" ,dri2proto)
+ ("libx11" ,libx11 "out")
+ ("libxext" ,libxext)))
+ (home-page "https://wiki.freedesktop.org/www/Software/VDPAU/")
+ (synopsis "Video Decode and Presentation API")
+ (description "VDPAU is the Video Decode and Presentation API for UNIX. It
+provides an interface to video decode acceleration and presentation hardware
+present in modern GPUs.")
+ (license (license:x11-style "file://COPYING"))))
+
+(define-public vdpauinfo
+ (package
+ (name "vdpauinfo")
+ (version "1.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://secure.freedesktop.org/~aplattner/vdpau/"
+ name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "1i2b0k9h8r0lnxlrkgqzmrjakgaw3f1ygqqwzx8w6676g85rcm20"))))
+ (build-system gnu-build-system)
+ (native-inputs
+ `(("pkg-config" ,pkg-config)
+ ("libx11" ,libx11)))
+ (propagated-inputs
+ `(("libvdpau" ,libvdpau)))
+ (home-page "https://wiki.freedesktop.org/www/Software/VDPAU/")
+ (synopsis "Tool to query the capabilities of a VDPAU implementation")
+ (description "Vdpauinfo is a tool to query the capabilities of a VDPAU
+implementation.")
+ (license (license:x11-style "file://COPYING"))))
diff --git a/gnu/system.scm b/gnu/system.scm
index 4aedb7ee36..ee0280c069 100644
--- a/gnu/system.scm
+++ b/gnu/system.scm
@@ -88,6 +88,14 @@
operating-system-locale-directory
operating-system-boot-script
+ boot-parameters
+ boot-parameters?
+ boot-parameters-label
+ boot-parameters-root-device
+ boot-parameters-kernel
+ boot-parameters-kernel-arguments
+ read-boot-parameters
+
local-host-aliases
%setuid-programs
%base-packages
@@ -709,4 +717,37 @@ this file is the reconstruction of GRUB menu entries for old configurations."
#$(operating-system-kernel-arguments os))
(initrd #$initrd)))))
+
+;;;
+;;; Boot parameters
+;;;
+
+(define-record-type* <boot-parameters>
+ boot-parameters make-boot-parameters boot-parameters?
+ (label boot-parameters-label)
+ (root-device boot-parameters-root-device)
+ (kernel boot-parameters-kernel)
+ (kernel-arguments boot-parameters-kernel-arguments))
+
+(define (read-boot-parameters port)
+ "Read boot parameters from PORT and return the corresponding
+<boot-parameters> object or #f if the format is unrecognized."
+ (match (read port)
+ (('boot-parameters ('version 0)
+ ('label label) ('root-device root)
+ ('kernel linux)
+ rest ...)
+ (boot-parameters
+ (label label)
+ (root-device root)
+ (kernel linux)
+ (kernel-arguments
+ (match (assq 'kernel-arguments rest)
+ ((_ args) args)
+ (#f '()))))) ;the old format
+ (x ;unsupported format
+ (warning (_ "unrecognized boot parameters for '~a'~%")
+ system)
+ #f)))
+
;;; system.scm ends here
diff --git a/gnu/system/linux-initrd.scm b/gnu/system/linux-initrd.scm
index 6130e020c8..b1ea637de9 100644
--- a/gnu/system/linux-initrd.scm
+++ b/gnu/system/linux-initrd.scm
@@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2013, 2014, 2015 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2013, 2014, 2015, 2016 Ludovic Courtès <ludo@gnu.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -179,7 +179,7 @@ loaded at boot time in the order in which they appear."
;; Modules added to the initrd and loaded from the initrd.
`("ahci" ;for SATA controllers
"usb-storage" "uas" ;for the installation image etc.
- "usbkbd" "usbhid" ;USB keyboards, for debugging
+ "usbhid" ;USB keyboards, for debugging
"dm-crypt" "xts" ;for encrypted root partitions
,@(if (string-match "^(x86_64|i[3-6]86)-" (%current-system))
'("pata_acpi" "pata_atiixp" ;for ATA controllers