diff options
author | Mark H Weaver <mhw@netris.org> | 2016-01-19 00:18:37 -0500 |
---|---|---|
committer | Mark H Weaver <mhw@netris.org> | 2016-01-19 00:18:37 -0500 |
commit | afe9f409491a055e5d058c8f747e80d1506391e5 (patch) | |
tree | 3b3747c9d2df32019a46b283b94f0a7af05ebf1d /gnu | |
parent | bb8afbf5a1fbc85f700c0e07ce5581637e3674dc (diff) | |
parent | 1348185ac2bb48b373495830267cff8ddc6b1fa5 (diff) | |
download | patches-afe9f409491a055e5d058c8f747e80d1506391e5.tar patches-afe9f409491a055e5d058c8f747e80d1506391e5.tar.gz |
Merge branch 'master' into core-updates
Diffstat (limited to 'gnu')
-rw-r--r-- | gnu/build/linux-modules.scm | 78 | ||||
-rw-r--r-- | gnu/packages/admin.scm | 61 | ||||
-rw-r--r-- | gnu/packages/bioinformatics.scm | 77 | ||||
-rw-r--r-- | gnu/packages/calendar.scm | 77 | ||||
-rw-r--r-- | gnu/packages/databases.scm | 6 | ||||
-rw-r--r-- | gnu/packages/datamash.scm | 5 | ||||
-rw-r--r-- | gnu/packages/dav.scm | 108 | ||||
-rw-r--r-- | gnu/packages/docker.scm | 107 | ||||
-rw-r--r-- | gnu/packages/emacs.scm | 6 | ||||
-rw-r--r-- | gnu/packages/games.scm | 6 | ||||
-rw-r--r-- | gnu/packages/gnome.scm | 27 | ||||
-rw-r--r-- | gnu/packages/gnupg.scm | 6 | ||||
-rw-r--r-- | gnu/packages/linux.scm | 17 | ||||
-rw-r--r-- | gnu/packages/music.scm | 29 | ||||
-rw-r--r-- | gnu/packages/ocaml.scm | 105 | ||||
-rw-r--r-- | gnu/packages/openstack.scm | 155 | ||||
-rw-r--r-- | gnu/packages/patches/bowtie-fix-makefile.patch | 31 | ||||
-rw-r--r-- | gnu/packages/python.scm | 756 | ||||
-rw-r--r-- | gnu/packages/rsync.scm | 5 | ||||
-rw-r--r-- | gnu/packages/ruby.scm | 64 | ||||
-rw-r--r-- | gnu/packages/ssh.scm | 6 | ||||
-rw-r--r-- | gnu/packages/statistics.scm | 4 | ||||
-rw-r--r-- | gnu/packages/sxiv.scm | 6 | ||||
-rw-r--r-- | gnu/packages/version-control.scm | 31 | ||||
-rw-r--r-- | gnu/packages/video.scm | 60 | ||||
-rw-r--r-- | gnu/system.scm | 41 | ||||
-rw-r--r-- | gnu/system/linux-initrd.scm | 4 |
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 |