diff options
author | Marius Bakke <mbakke@fastmail.com> | 2018-07-30 18:08:28 +0200 |
---|---|---|
committer | Marius Bakke <mbakke@fastmail.com> | 2018-07-30 18:08:28 +0200 |
commit | 869250809bddcf8eab26ecdedabad6fc060751dd (patch) | |
tree | 2108049faa07fd2b79d679799fa51ce8a2e5612a | |
parent | f419abea22fe5dd3aa96c19990316e502157350b (diff) | |
parent | f475b90c353deff5b848753bf88c855f481f1ec0 (diff) | |
download | guix-869250809bddcf8eab26ecdedabad6fc060751dd.tar.gz |
Merge branch 'master' into staging
35 files changed, 596 insertions, 354 deletions
diff --git a/doc/guix.texi b/doc/guix.texi index 19c9813f6a..d5588066bb 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -11650,6 +11650,15 @@ When true, forwarding of X11 graphical client connections is enabled---in other words, @command{ssh} options @option{-X} and @option{-Y} will work. +@item @code{allow-agent-forwarding?} (default: @code{#t}) +Whether to allow agent forwarding. + +@item @code{allow-tcp-forwarding?} (default: @code{#t}) +Whether to allow TCP forwarding. + +@item @code{gateway-ports?} (default: @code{#f}) +Whether to allow gateway ports. + @item @code{challenge-response-authentication?} (default: @code{#f}) Specifies whether challenge response authentication is allowed (e.g. via PAM). diff --git a/gnu/build/linux-modules.scm b/gnu/build/linux-modules.scm index 2ee2f1771f..9c8761527a 100644 --- a/gnu/build/linux-modules.scm +++ b/gnu/build/linux-modules.scm @@ -21,6 +21,7 @@ #:use-module (guix elf) #:use-module (guix glob) #:use-module (guix build syscalls) + #:use-module ((guix build utils) #:select (find-files)) #:use-module (rnrs io ports) #:use-module (rnrs bytevectors) #:use-module (srfi srfi-1) @@ -33,6 +34,8 @@ module-aliases module-dependencies normalize-module-name + file-name->module-name + find-module-file recursive-module-dependencies modules-loaded module-loaded? @@ -130,6 +133,39 @@ underscores." and normalizing it." (normalize-module-name (basename file ".ko"))) +(define (find-module-file directory module) + "Lookup module NAME under DIRECTORY, and return its absolute file name. +NAME can be a file name with or without '.ko', or it can be a module name. +Return #f if it could not be found. + +Module names can differ from file names in interesting ways; for instance, +module names usually (always?) use underscores as the inter-word separator, +whereas file names often, but not always, use hyphens. Examples: +\"usb-storage.ko\", \"serpent_generic.ko\"." + (define names + ;; List of possible file names. XXX: It would of course be cleaner to + ;; have a database that maps module names to file names and vice versa, + ;; but everyone seems to be doing hacks like this one. Oh well! + (map ensure-dot-ko + (delete-duplicates + (list module + (normalize-module-name module) + (string-map (lambda (chr) ;converse of 'normalize-module-name' + (case chr + ((#\_) #\-) + (else chr))) + module))))) + + (match (find-files directory + (lambda (file stat) + (member (basename file) names))) + ((file) + file) + (() + #f) + ((_ ...) + (error "several modules by that name" module directory)))) + (define* (recursive-module-dependencies files #:key (lookup-module dot-ko)) "Return the topologically-sorted list of file names of the modules depended diff --git a/gnu/local.mk b/gnu/local.mk index c8b42d1de1..9ae23d1a23 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -880,6 +880,7 @@ dist_patch_DATA = \ %D%/packages/patches/libmygpo-qt-fix-qt-5.11.patch \ %D%/packages/patches/libmygpo-qt-missing-qt5-modules.patch \ %D%/packages/patches/libreoffice-icu.patch \ + %D%/packages/patches/libreoffice-glm.patch \ %D%/packages/patches/libsndfile-armhf-type-checks.patch \ %D%/packages/patches/libsndfile-CVE-2017-8361-8363-8365.patch \ %D%/packages/patches/libsndfile-CVE-2017-8362.patch \ @@ -1062,7 +1063,6 @@ dist_patch_DATA = \ %D%/packages/patches/python-3-fix-tests.patch \ %D%/packages/patches/python-axolotl-AES-fix.patch \ %D%/packages/patches/python-cairocffi-dlopen-path.patch \ - %D%/packages/patches/python-dendropy-fix-tests.patch \ %D%/packages/patches/python-fix-tests.patch \ %D%/packages/patches/python-genshi-add-support-for-python-3.4-AST.patch \ %D%/packages/patches/python-genshi-buildable-on-python-2.7.patch \ diff --git a/gnu/packages/agda.scm b/gnu/packages/agda.scm index 6aa230116c..df4968c445 100644 --- a/gnu/packages/agda.scm +++ b/gnu/packages/agda.scm @@ -20,6 +20,7 @@ #:use-module (gnu packages haskell) #:use-module (gnu packages haskell-check) #:use-module (gnu packages haskell-web) + #:use-module (guix build-system emacs) #:use-module (guix build-system haskell) #:use-module (guix build-system trivial) #:use-module (guix download) @@ -67,6 +68,19 @@ ("ghc-text" ,ghc-text) ("ghc-unordered-containers" ,ghc-unordered-containers) ("ghc-zlib" ,ghc-zlib))) + (arguments + `(#:modules ((guix build haskell-build-system) + (guix build utils) + (srfi srfi-26)) + #:phases + (modify-phases %standard-phases + (add-after 'compile 'agda-compile + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (agda-compiler (string-append out "/bin/agda"))) + (for-each (cut invoke agda-compiler <>) + (find-files (string-append out "/share") "\\.agda$")) + #t)))))) (home-page "http://wiki.portal.chalmers.se/agda/") (synopsis "Dependently typed functional programming language and proof assistant") @@ -84,3 +98,19 @@ such as Coq, Epigram and NuPRL.") ;; Agda is distributed under the MIT license, and a couple of ;; source files are BSD-3. See LICENSE for details. (license (list license:expat license:bsd-3)))) + +(define-public emacs-agda2-mode + (package + (inherit agda) + (name "emacs-agda2-mode") + (build-system emacs-build-system) + (inputs '()) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'enter-elisp-dir + (lambda _ (chdir "src/data/emacs-mode") #t))))) + (home-page "https://agda.readthedocs.io/en/latest/tools/emacs-mode.html") + (synopsis "Emacs mode for Agda") + (description "This Emacs mode enables interactive development with +Agda. It also aids the input of Unicode characters."))) diff --git a/gnu/packages/android.scm b/gnu/packages/android.scm index 7618c0e1f6..53d7d8d441 100644 --- a/gnu/packages/android.scm +++ b/gnu/packages/android.scm @@ -6,6 +6,7 @@ ;;; Copyright © 2017 Hartmut Goebel <h.goebel@crazy-compilers.com> ;;; Copyright © 2017 Maxim Cournoyer <maxim.cournoyer@gmail.com> ;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr> +;;; Copyright © 2018 Efraim Flashner <efraim@flashner.co.il> ;;; ;;; This file is part of GNU Guix. ;;; @@ -34,13 +35,19 @@ #:use-module (gnu packages) #:use-module (gnu packages check) #:use-module (gnu packages compression) + #:use-module (gnu packages docker) #:use-module (gnu packages gnupg) #:use-module (gnu packages pcre) #:use-module (gnu packages python) + #:use-module (gnu packages python-crypto) + #:use-module (gnu packages python-web) #:use-module (gnu packages selinux) + #:use-module (gnu packages serialization) #:use-module (gnu packages ssh) - #:use-module (gnu packages version-control) #:use-module (gnu packages tls) + #:use-module (gnu packages version-control) + #:use-module (gnu packages virtualization) + #:use-module (gnu packages xdisorg) #:use-module (gnu packages linux)) (define-public android-make-stub @@ -807,3 +814,100 @@ script that you can put anywhere in your path.") Boot Images. @code{abootimg} can work directly on block devices, or, the safest way, on a file image.") (license license:gpl2+))) + +(define-public python-androguard + (package + (name "python-androguard") + (version "3.2.1") + (source + (origin + ;; The pypi release doesn't have the tests, but the tests use + ;; packaged binaries, so we skip them. + (method url-fetch) + (uri (pypi-uri "androguard" version)) + (sha256 + (base32 + "0ndsw00pkyda4i2s3wi5ap8gbk6a9d23xhhxpdbk02padv8sxkfv")))) + (build-system python-build-system) + (arguments + '(#:phases + (modify-phases %standard-phases + (replace 'check + ;; Adapted from .travis.yml + (lambda _ + (invoke "nosetests" "--with-coverage" "--with-timer" + "--timer-top-n" "50")))))) + (native-inputs + `(("python-codecov" ,python-codecov) + ("python-coverage" ,python-coverage) + ("python-mock" ,python-mock) + ("python-nose" ,python-nose) + ("python-nose-timer" ,python-nose-timer))) + (propagated-inputs + `(("python-asn1crypto" ,python-asn1crypto) + ("python-colorama" ,python-colorama) + ("python-future" ,python-future) + ("python-ipython" ,python-ipython) + ("python-lxml" ,python-lxml) + ("python-matplotlib" ,python-matplotlib) + ("python-networkx" ,python-networkx) + ("python-pygments" ,python-pygments) + ("python-pyperclip" ,python-pyperclip))) + (home-page "https://github.com/androguard/androguard") + (synopsis "Python tool to play with Android files") + (description + "Androguard is a full Python tool to manipulate Android files. It is +useful for reverse engineering, analysis of Android applications and more.") + (license license:asl2.0))) + +(define-public fdroidserver + (package + (name "fdroidserver") + (version "1.0.9") + (source + (origin + (method url-fetch) + (uri (pypi-uri "fdroidserver" version)) + (sha256 + (base32 + "0cwb1fmindw6v9jkiim9yn3496rk1pvnk94s1r0vz2hxgz16xp7n")))) + (build-system python-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'fix-versioning + (lambda _ + (substitute* "setup.py" + (("0.2.1") ,(package-version python-pyasn1-modules))) + #t))))) + (propagated-inputs + `(("python-androguard" ,python-androguard) + ("python-apache-libcloud" ,python-apache-libcloud) + ("python-clint" ,python-clint) + ("python-docker-py" ,python-docker-py) + ("python-gitpython" ,python-gitpython) + ("python-mwclient" ,python-mwclient) + ("python-paramiko" ,python-paramiko) + ("python-pillow" ,python-pillow) + ("python-pyasn1" ,python-pyasn1) + ("python-pyasn1-modules" ,python-pyasn1-modules) + ("python-pyyaml" ,python-pyyaml) + ("python-qrcode" ,python-qrcode) + ("python-ruamel.yaml" ,python-ruamel.yaml) + ("python-requests" ,python-requests) + ("python-vagrant" ,python-vagrant))) + (native-inputs + `(("python-babel" ,python-babel) + ("python-bcrypt" ,python-bcrypt) + ("python-docker-pycreds" ,python-docker-pycreds) + ("python-pynacl" ,python-pynacl) + ("python-websocket-client" ,python-websocket-client))) + (home-page "https://f-droid.org") + (synopsis "F-Droid server tools") + (description + "The F-Droid server tools provide various scripts and tools that are used +to maintain F-Droid, the repository of free Android applications. You can use +these same tools to create your own additional or alternative repository for +publishing, or to assist in creating, testing and submitting metadata to the +main repository.") + (license license:agpl3+))) diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm index e87cef61be..849225bd78 100644 --- a/gnu/packages/bioinformatics.scm +++ b/gnu/packages/bioinformatics.scm @@ -767,6 +767,29 @@ into separate processes; and more.") (define-public python2-biopython (package-with-python2 python-biopython)) +(define-public python-fastalite + (package + (name "python-fastalite") + (version "0.3") + (source + (origin + (method url-fetch) + (uri (pypi-uri "fastalite" version)) + (sha256 + (base32 + "1qli6pxp77i9xn2wfciq2zaxhl82bdxb33cpzqzj1z25yd036wqj")))) + (build-system python-build-system) + (arguments + `(#:tests? #f)) ; Test data is not distributed. + (home-page "https://github.com/nhoffman/fastalite") + (synopsis "Simplest possible FASTA parser") + (description "This library implements a FASTA and a FASTQ parser without +relying on a complex dependency tree.") + (license license:expat))) + +(define-public python2-fastalite + (package-with-python2 python-fastalite)) + (define-public bpp-core ;; The last release was in 2014 and the recommended way to install from source ;; is to clone the git repository, so we do this. @@ -1948,15 +1971,18 @@ accessing bigWig files.") (define-public python-dendropy (package (name "python-dendropy") - (version "4.2.0") + (version "4.4.0") (source (origin (method url-fetch) - (uri (pypi-uri "DendroPy" version)) + ;; Source from GitHub so that tests are included. + (uri + (string-append "https://github.com/jeetsukumaran/DendroPy/archive/v" + version ".tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "15c7s3d5gf19ljsxvq5advaa752wfi7pwrdjyhzmg85hccyvp47p")) - (patches (search-patches "python-dendropy-fix-tests.patch")))) + "0v2fccny5xjaah546bsch1mw4kh61qq5frz2ibllxs9mp6ih9bsn")))) (build-system python-build-system) (home-page "http://packages.python.org/DendroPy/") (synopsis "Library for phylogenetics and phylogenetic computing") @@ -1964,23 +1990,10 @@ accessing bigWig files.") "DendroPy is a library for phylogenetics and phylogenetic computing: reading, writing, simulation, processing and manipulation of phylogenetic trees (phylogenies) and characters.") - (license license:bsd-3) - (properties `((python2-variant . ,(delay python2-dendropy)))))) + (license license:bsd-3))) (define-public python2-dendropy - (let ((base (package-with-python2 (strip-python2-variant python-dendropy)))) - (package - (inherit base) - (arguments - `(#:python ,python-2 - #:phases - (modify-phases %standard-phases - (replace 'check - ;; There is currently a test failure that only happens on some - ;; systems, and only using "setup.py test" - (lambda _ (zero? (system* "nosetests"))))))) - (native-inputs `(("python2-nose" ,python2-nose) - ,@(package-native-inputs base)))))) + (package-with-python2 python-dendropy)) (define-public python-py2bit (package @@ -6046,7 +6059,13 @@ Cuffdiff or Ballgown programs.") `(("python-sqlalchemy" ,python2-sqlalchemy) ("python-decorator" ,python2-decorator) ("python-biopython" ,python2-biopython) - ("python-pandas" ,python2-pandas))) + ("python-pandas" ,python2-pandas) + ("python-psycopg2" ,python2-psycopg2) + ("python-fastalite" ,python2-fastalite) + ("python-pyyaml" ,python2-pyyaml) + ("python-six" ,python2-six) + ("python-jinja2" ,python2-jinja2) + ("python-dendropy" ,python2-dendropy))) (home-page "https://github.com/fhcrc/taxtastic") (synopsis "Tools for taxonomic naming and annotation") (description diff --git a/gnu/packages/bootloaders.scm b/gnu/packages/bootloaders.scm index de85ead174..e59d15c087 100644 --- a/gnu/packages/bootloaders.scm +++ b/gnu/packages/bootloaders.scm @@ -476,7 +476,10 @@ board-independent tools."))) `(("gcc-7" ,gcc-7))) ,@(package-native-inputs u-boot))) (arguments - `(#:modules ((ice-9 ftw) (guix build utils) (guix build gnu-build-system)) + `(#:modules ((ice-9 ftw) + (srfi srfi-1) + (guix build utils) + (guix build gnu-build-system)) #:test-target "test" #:make-flags (list "HOSTCC=gcc" diff --git a/gnu/packages/check.scm b/gnu/packages/check.scm index 42b90bc2b2..17a69bcd1c 100644 --- a/gnu/packages/check.scm +++ b/gnu/packages/check.scm @@ -7,7 +7,7 @@ ;;; Copyright © 2015, 2017 Cyril Roelandt <tipecaml@gmail.com> ;;; Copyright © 2015 Federico Beffa <beffa@fbengineering.ch> ;;; Copyright © 2015 Andreas Enge <andreas@enge.fr> -;;; Copyright © 2015, 2016 Efraim Flashner <efraim@flashner.co.il> +;;; Copyright © 2015, 2016, 2018 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2016, 2017 Leo Famulari <leo@famulari.name> ;;; Copyright © 2016 Christopher Allan Webber <cwebber@dustycloud.org> ;;; Copyright © 2016, 2017 Danny Milosavljevic <dannym+a@scratchpost.org> @@ -1223,6 +1223,30 @@ testing frameworks.") (define-public python2-cov-core (package-with-python2 python-cov-core)) +(define-public python-codecov + (package + (name "python-codecov") + (version "2.0.15") + (source + (origin + (method url-fetch) + (uri (pypi-uri "codecov" version)) + (sha256 + (base32 + "1217c0vqf7ii65635gvl27a5pfhv0r7zhrpdp9cx640hg73bgn4f")))) + (build-system python-build-system) + (native-inputs + `(("python-unittest2" ,python-unittest2))) + (propagated-inputs + `(("python-coverage" ,python-coverage) + ("python-requests" ,python-requests))) + (home-page "http://github.com/codecov/codecov-python") + (synopsis "Upload code coverage reports to @code{codecov.io}") + (description + "Codecov collects code coverage reports from code written in Python, Java, +C/C++, R, and more, and uploads it to the @code{codecov.io} service.") + (license license:asl2.0))) + (define-public python-testpath (package (name "python-testpath") diff --git a/gnu/packages/ci.scm b/gnu/packages/ci.scm index 85dbefae7a..05353a790b 100644 --- a/gnu/packages/ci.scm +++ b/gnu/packages/ci.scm @@ -185,7 +185,7 @@ their dependencies.") (license l:gpl3+)))) (define-public cuirass - (let ((commit "7b2f9e0de1ad2d320973b7aea132a8afcad8bece") + (let ((commit "99241ef1af24cadf39e3cad39f9ff27c96b22068") (revision "17")) (package (name "cuirass") @@ -198,7 +198,7 @@ their dependencies.") (file-name (string-append name "-" version)) (sha256 (base32 - "0knww99adgjh8s6f38z3hpwi9hxhmnvqj5g35pcj80xv8j4xj3y3")))) + "1hj17s07sq6nn9wlssd4pi4hzdfyp74kyz5rqv7wr4468xh80pk7")))) (build-system gnu-build-system) (arguments '(#:modules ((guix build utils) diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index fc4baa5b54..106b8c7fe6 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -1686,14 +1686,14 @@ problems as well as resampling based estimators of prediction error.") (define-public r-psych (package (name "r-psych") - (version "1.7.8") + (version "1.8.4") (source (origin (method url-fetch) (uri (cran-uri "psych" version)) (sha256 (base32 - "0daismb8pdk392vdy304hqx0m3jx62gx3a0hygjygc125rhfla7k")))) + "1kzv9nc7rwn1sj1zxd8xrbs6c7qlka7j2c8lsr4f20znkd3qx8gf")))) (build-system r-build-system) (propagated-inputs `(("r-foreign" ,r-foreign) @@ -3467,37 +3467,6 @@ filtering functions, resampling routines, and visualization of filter models. It also includes interpolation functions.") (license license:gpl2))) -(define-public r-psych - (package - (name "r-psych") - (version "1.8.4") - (source - (origin - (method url-fetch) - (uri (cran-uri "psych" version)) - (sha256 - (base32 - "1kzv9nc7rwn1sj1zxd8xrbs6c7qlka7j2c8lsr4f20znkd3qx8gf")))) - (build-system r-build-system) - (propagated-inputs - `(("r-foreign" ,r-foreign) - ("r-lattice" ,r-lattice) - ("r-mnormt" ,r-mnormt) - ("r-nlme" ,r-nlme))) - (home-page "http://cran.r-project.org/web/packages/psych") - (synopsis "Procedures for psychological, psychometric, and personality research") - (description - "This package provides a general purpose toolbox for personality, -psychometric theory and experimental psychology. The functions are primarily -for multivariate analysis and scale construction using factor analysis, -principal component analysis, cluster analysis and reliability analysis, -although others provide basic descriptive statistics. It provides functions -for analyzing data at multiple levels within and between group statistics, -including correlations and factor analysis; functions for simulating and -testing particular item and test structures are included. Several functions -serve as a useful front end for structural equation modeling.") - (license license:gpl2+))) - (define-public r-gsubfn (package (name "r-gsubfn") diff --git a/gnu/packages/databases.scm b/gnu/packages/databases.scm index bd5102e027..4c9382ce6d 100644 --- a/gnu/packages/databases.scm +++ b/gnu/packages/databases.scm @@ -25,7 +25,7 @@ ;;; Copyright © 2017 Arun Isaac <arunisaac@systemreboot.net> ;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2017 Alex Vong <alexvong1995@gmail.com> -;;; Copyright © 2017 Ben Woodcroft <donttrustben@gmail.com> +;;; Copyright © 2017, 2018 Ben Woodcroft <donttrustben@gmail.com> ;;; Copyright © 2017 Rutger Helling <rhelling@mykolab.com> ;;; Copyright © 2017 Pierre Langlois <pierre.langlois@gmx.com> ;;; Copyright © 2015, 2017, 2018 Ricardo Wurmus <rekado@elephly.net> @@ -2473,14 +2473,14 @@ designed to be easy and intuitive to use.") (define-public python-psycopg2 (package (name "python-psycopg2") - (version "2.7.3.1") + (version "2.7.5") (source (origin (method url-fetch) (uri (pypi-uri "psycopg2" version)) (sha256 (base32 - "0rda1j02ds6s28752fhmpwg761sh6jsxi1gpczqkrd28cki1cywv")))) + "17klx964gw8z0znl0raz3by8vdc7cq5gxj4pdcrfcina84nrdkzc")))) (build-system python-build-system) (arguments ;; Tests would require a postgresql database "psycopg2_test" @@ -2491,7 +2491,8 @@ designed to be easy and intuitive to use.") (home-page "http://initd.org/psycopg/") (synopsis "Python PostgreSQL adapter") (description - "psycopg2 is a thread-safe PostgreSQL adapter that implements DB-API 2.0. ") + "psycopg2 is a thread-safe PostgreSQL adapter that implements DB-API +2.0.") (license license:lgpl3+))) (define-public python2-psycopg2 diff --git a/gnu/packages/docker.scm b/gnu/packages/docker.scm index f540417b4f..c58f3f3caa 100644 --- a/gnu/packages/docker.scm +++ b/gnu/packages/docker.scm @@ -1,5 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2016 David Thompson <davet@gnu.org> +;;; Copyright © 2018 Efraim Flashner <efraim@flashner.co.il> ;;; ;;; This file is part of GNU Guix. ;;; @@ -24,20 +25,21 @@ #:use-module (guix git-download) #:use-module (guix build-system python) #:use-module (guix utils) + #:use-module (gnu packages check) #:use-module (gnu packages python) #:use-module (gnu packages python-web)) (define-public python-docker-py (package (name "python-docker-py") - (version "1.6.0") + (version "1.10.6") (source (origin (method url-fetch) (uri (pypi-uri "docker-py" version)) (sha256 (base32 - "16ba4xyd46hkj9nkfpz15r8kskl7ljx1afjzchyrhdsrklvzgzim")))) + "05f49f6hnl7npmi7kigg0ibqk8s3fhzx1ivvz1kqvlv4ay3paajc")))) (build-system python-build-system) ;; TODO: Tests require a running Docker daemon. (arguments '(#:tests? #f)) @@ -103,3 +105,40 @@ 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))) + +(define-public python-docker-pycreds + (package + (name "python-docker-pycreds") + (version "0.3.0") + (source + (origin + (method url-fetch) + (uri (pypi-uri "docker-pycreds" version)) + (sha256 + (base32 + "1zxvam1q22qb0jf48553nnncnfrcp88ag4xa0qmq6vr0imn9a3lb")))) + (build-system python-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'fix-versioning + (lambda _ + (substitute* "test-requirements.txt" + (("3.0.2") ,(package-version python-pytest)) + (("2.3.1") ,(package-version python-pytest-cov)) + (("2.4.1") ,(package-version python-flake8))) + #t))))) + (native-inputs + `(("python-flake8" ,python-flake8) + ("python-pytest" ,python-pytest) + ("python-pytest-cov" ,python-pytest-cov))) + (propagated-inputs + `(("python-six" ,python-six))) + (home-page "https://github.com/shin-/dockerpy-creds") + (synopsis + "Python bindings for the Docker credentials store API") + (description + "Docker-Pycreds contains the Python bindings for the docker credentials +store API. It allows programmers to interact with a Docker registry using +Python without keeping their credentials in a Docker configuration file.") + (license license:asl2.0))) diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm index 114fcee343..e607337fbf 100644 --- a/gnu/packages/emacs.scm +++ b/gnu/packages/emacs.scm @@ -8709,32 +8709,6 @@ region instead.") schema validation.") (license license:gpl3+))) -(define-public emacs-load-relative - (let ((commit "738896e3da491b35399178ed2c6bc92cc728d119") - (revision "1")) - (package - (name "emacs-load-relative") - (version (string-append "0.0.1" "-" revision "." - (string-take commit 7))) - (source - (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/rocky/emacs-load-relative") - (commit commit))) - (file-name (string-append name "-" version "-checkout")) - (sha256 - (base32 - "1rpy5mfncncl6gqgg53d3g25g1700g4b9bivd4c0cfcv5dbxhp73")))) - (build-system emacs-build-system) - (home-page "https://github.com/rocky/emacs-load-relative") - (synopsis "Relative loads for Emacs Lisp files") - (description "@code{load-relative} allows to write small Emacs -functions or modules in a larger multi-file Emacs package and -facilitate running from the source tree without having to install the -code or fiddle with evil @code{load-path}.") - (license license:gpl3+)))) - (define-public emacs-rainbow-blocks (let ((commit "dd435d7bb34ff6f162a5f315df308b90b7e9f842")) (package @@ -9653,26 +9627,6 @@ buffer.") downloading manager for Emacs.") (license license:gpl3+)))) -(define-public emacs-csv-mode - (package - (name "emacs-csv-mode") - (version "1.7") - (source - (origin - (method url-fetch) - (uri (string-append "http://elpa.gnu.org/packages/csv-mode-" - version ".el")) - (sha256 - (base32 - "0r4bip0w3h55i8h6sxh06czf294mrhavybz0zypzrjw91m1bi7z6")))) - (build-system emacs-build-system) - (home-page "http://elpa.gnu.org/packages/csv-mode.html") - (synopsis "Major mode for editing comma or char separated values") - (description - "This package provides an Emacs CSV mode, a major mode for editing -records in a generalized CSV (character-separated values) format.") - (license license:gpl3+))) - (define-public emacs-helpful (package (name "emacs-helpful") diff --git a/gnu/packages/finance.scm b/gnu/packages/finance.scm index 3ddaa76a4e..fd2a5af0cb 100644 --- a/gnu/packages/finance.scm +++ b/gnu/packages/finance.scm @@ -1,6 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2015, 2016 Andreas Enge <andreas@enge.fr> -;;; Copyright © 2016, 2017 Efraim Flashner <efraim@flashner.co.il> +;;; Copyright © 2016, 2017, 2018 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2016 Alex Griffin <a@ajgrf.com> ;;; Copyright © 2016 Hartmut Goebel <h.goebel@crazy-compilers.com> ;;; Copyright © 2017 Carlo Zancanaro <carlo@zancanaro.id.au> @@ -376,7 +376,7 @@ other machines/servers. Electroncash does not download the Bitcoin Cash blockch (uri (git-reference (url "https://github.com/monero-project/monero") (commit (string-append "v" version)))) - (file-name (string-append name "-" version ".tar.gz")) + (file-name (git-file-name name version)) (patches (search-patches "monero-use-system-miniupnpc.patch")) (sha256 (base32 @@ -470,7 +470,7 @@ Monero command line client and daemon.") (uri (git-reference (url "https://github.com/monero-project/monero-gui") (commit (string-append "v" version)))) - (file-name (string-append name "-" version ".tar.gz")) + (file-name (git-file-name name version)) (sha256 (base32 "1cnrkwh7kp64lnzz1xfmkf1mhsgm5gls292gpqai3jr8jydpkahl")))) @@ -478,12 +478,16 @@ Monero command line client and daemon.") (native-inputs `(("doxygen" ,doxygen) ("graphviz" ,graphviz) - ("pkg-config" ,pkg-config))) + ("pkg-config" ,pkg-config) + ("qttools" ,qttools))) (inputs `(("boost" ,boost) ("libunwind" ,libunwind) ("openssl" ,openssl) - ("qt" ,qt) + ("qtbase" ,qtbase) + ("qtdeclarative" ,qtdeclarative) + ("qtgraphicaleffects" ,qtgraphicaleffects) + ("qtquickcontrols" ,qtquickcontrols) ("readline" ,readline) ("unbound" ,unbound))) (propagated-inputs @@ -518,6 +522,15 @@ Monero command line client and daemon.") (string-append "\""(assoc-ref inputs "monero") "/bin/monerod"))) #t)) + (add-after 'fix-monerod-path 'fix-qt-paths + (lambda* (#:key inputs #:allow-other-keys) + (let* ((qttools (assoc-ref inputs "qttools")) + (lrelease (string-append qttools "/bin/lrelease")) + (lupdate (string-append qttools "/bin/lupdate"))) + (substitute* "monero-wallet-gui.pro" + (("\\$\\$\\[QT_INSTALL_BINS\\]/lrelease") lrelease) + (("\\$\\$\\[QT_INSTALL_BINS\\]/lupdate") lupdate)) + #t))) (replace 'build (lambda _ (invoke "./build.sh"))) @@ -529,7 +542,23 @@ Monero command line client and daemon.") #t)) (add-before 'install 'change-dir (lambda _ - (chdir "build")))))) + (chdir "build"))) + (add-after 'install 'wrap-executable + (lambda* (#:key inputs outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out"))) + (wrap-program (string-append out "/bin/monero-wallet-gui") + `("QT_PLUGIN_PATH" ":" prefix + ,(map (lambda (label) + (string-append (assoc-ref inputs label) + "/lib/qt5/plugins")) + '("qtbase" "qtdeclarative"))) + `("QML2_IMPORT_PATH" ":" prefix + ,(map (lambda (label) + (string-append (assoc-ref inputs label) + "/lib/qt5/qml")) + '("qtdeclarative" "qtgraphicaleffects" + "qtquickcontrols")))) + #t)))))) (home-page "https://getmonero.org/") (synopsis "Graphical user interface for the Monero currency") (description diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm index 33429dbc2a..5ed928f5b7 100644 --- a/gnu/packages/games.scm +++ b/gnu/packages/games.scm @@ -10,7 +10,7 @@ ;;; Copyright © 2014, 2015 Mark H Weaver <mhw@netris.org> ;;; Copyright © 2015, 2016 Andreas Enge <andreas@enge.fr> ;;; Copyright © 2015 David Hashe <david.hashe@dhashe.com> -;;; Copyright © 2015, 2017 Christopher Allan Webber <cwebber@dustycloud.org> +;;; Copyright © 2015, 2017, 2018 Christopher Lemmer Webber <cwebber@dustycloud.org> ;;; Copyright © 2015, 2016, 2017, 2018 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2015, 2016, 2017 Alex Kost <alezost@gmail.com> ;;; Copyright © 2015 Paul van der Walt <paul@denknerd.org> @@ -2957,7 +2957,7 @@ fullscreen, use F5 or Alt+Enter.") (define-public warzone2100 (package (name "warzone2100") - (version "3.2.1") + (version "3.2.3") (source (origin (method url-fetch) (uri (string-append "mirror://sourceforge/" name @@ -2965,10 +2965,11 @@ fullscreen, use F5 or Alt+Enter.") ".tar.xz")) (sha256 (base32 - "1nd609s0g4sya3r4amhkz3f4dpdmm94vsd2ii76ap665a1nbfrhg")))) + "10kmpr4cby95zwqsl1zwx95d9achli6khq7flv6xmrq30a39xazw")))) (build-system gnu-build-system) (arguments - `(#:phases + `(#:configure-flags '("--with-distributor=Guix") + #:phases (modify-phases %standard-phases (add-after 'unpack 'link-tests-with-qt (lambda _ @@ -2976,24 +2977,22 @@ fullscreen, use F5 or Alt+Enter.") (("(framework_linktest_LDADD|maptest_LDADD) = " prefix) (string-append prefix "$(QT5_LIBS) "))) #t)) - (add-after 'unpack 'remove-reference-to-missing-file - (lambda _ - (substitute* "icons/Makefile.in" - (("\\$\\(INSTALL_DATA\\) \\$\\(srcdir\\)/warzone2100.appdata.xml.*") "")) - #t)) - (add-after 'unpack 'patch-for-qt5.8 + (add-after 'unpack 'fix-ivis-linktest (lambda _ - (substitute* "lib/widget/editbox.cpp" - (("== '\\\\0'") - "== QChar('\\0')")) + (substitute* "tests/ivis_linktest.cpp" + (("iV_DrawTextRotated.*;") + (string-append "iV_DrawTextRotated(\"Press ESC to exit.\", " + "100, 100, 0.0f, font_regular);"))) #t))))) - (native-inputs `(("pkg-config" ,pkg-config) + (native-inputs `(("gettext" ,gettext-minimal) + ("pkg-config" ,pkg-config) ("unzip" ,unzip) ("zip" ,zip))) (inputs `(("fontconfig" ,fontconfig) ("freetype" ,freetype) ("fribidi" ,fribidi) ("glew" ,glew) + ("harfbuzz" ,harfbuzz) ("libtheora" ,libtheora) ("libvorbis" ,libvorbis) ("libxrandr" ,libxrandr) @@ -3002,7 +3001,6 @@ fullscreen, use F5 or Alt+Enter.") ("qtbase" ,qtbase) ("qtscript" ,qtscript) ("openssl" ,openssl) - ("quesoglc" ,quesoglc) ("sdl2" ,sdl2))) (home-page "http://wz2100.net") (synopsis "3D Real-time strategy and real-time tactics game") @@ -4107,6 +4105,38 @@ laws of physics (Enigma’s special laws of physics, that is), controlling them with the mouse isn’t always trivial.") (license license:gpl2+))) +(define-public chroma + (package + (name "chroma") + (version "1.15") + (source (origin + (method url-fetch) + (uri (string-append "http://level7.org.uk/chroma/download/chroma-" + version ".tar.bz2")) + (sha256 + (base32 + "0nzm3j5wjazr1d6pkydqlc48sjf72hggq0hmx8mhq03114mmiir5")))) + (build-system gnu-build-system) + (arguments + `(#:tests? #f)) ; no tests included + (inputs + `(("sdl-union" ,(sdl-union (list sdl sdl-image sdl-mixer sdl-ttf))) + ("freetype" ,freetype) + ("ncurses" ,ncurses) + ("fontconfig" ,fontconfig) + ("libxft" ,libxft))) + (native-inputs + `(("pkg-config" ,pkg-config))) + (home-page "http://level7.org.uk/chroma/") + (synopsis "Abstract puzzle game") + (description "Chroma is an abstract puzzle game. A variety of colourful +shapes are arranged in a series of increasingly complex patterns, forming + fiendish traps that must be disarmed and mysterious puzzles that must be + manipulated in order to give up their subtle secrets. Initially so + straightforward that anyone can pick it up and begin to play, yet gradually + becoming difficult enough to tax even the brightest of minds.") + (license license:gpl2+))) + (define-public fillets-ng (package (name "fillets-ng") diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index 8d2dcba208..7f14c59450 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -9221,31 +9221,6 @@ connections.") from aeson.") (license license:bsd-3))) -(define-public ghc-th-lift-instances - (package - (name "ghc-th-lift-instances") - (version "0.1.11") - (source - (origin - (method url-fetch) - (uri (string-append "https://hackage.haskell.org/package/" - "th-lift-instances-" version "/" - "th-lift-instances-" version ".tar.gz")) - (sha256 - (base32 - "1f56cp6ckcalld5jchv0kxpjkwcsixd7smd0g7r8cg67ppx6m90x")))) - (build-system haskell-build-system) - (inputs `(("ghc-th-lift" ,ghc-th-lift) - ("ghc-vector" ,ghc-vector) - ("ghc-text" ,ghc-text))) - (native-inputs `(("ghc-quickcheck" ,ghc-quickcheck))) - (home-page "https://github.com/bennofs/th-lift-instances") - (synopsis "Lift instances for template-haskell for common data types") - (description "Most data types in the Haskell platform do not have Lift -instances. This package provides orphan instances for containers, text, -bytestring and vector.") - (license license:bsd-3))) - (define-public ghc-generics-sop (package (name "ghc-generics-sop") @@ -9303,26 +9278,6 @@ each constructor are represented using an n-ary product.") parser that uses ByteStrings for parsing and representing the URI data.") (license license:bsd-3))) -(define-public ghc-time-locale-compat - (package - (name "ghc-time-locale-compat") - (version "0.1.1.3") - (source - (origin - (method url-fetch) - (uri (string-append "https://hackage.haskell.org/package/" - "time-locale-compat-" version "/" - "time-locale-compat-" version ".tar.gz")) - (sha256 - (base32 - "1vdcfr2hp9qh3ag90x6ikbdf42wiqpdylnplffna54bpnilbyi4i")))) - (build-system haskell-build-system) - (home-page "https://github.com/khibino/haskell-time-locale-compat") - (synopsis "Compatibility of TimeLocale between old-locale and time-1.5") - (description "This Haskell package contains wrapped name module for -TimeLocale.") - (license license:bsd-3))) - (define-public ghc-http-api-data (package (name "ghc-http-api-data") diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm index e6a989d067..d2f4c9d05b 100644 --- a/gnu/packages/java.scm +++ b/gnu/packages/java.scm @@ -1862,6 +1862,11 @@ new Date();")) "test-generative-src" "tools-namespace-src")) #t)) + (add-after 'unpack 'fix-manifest-classpath + (lambda _ + (substitute* "build.xml" + (("<attribute name=\"Class-Path\" value=\".\"/>") "")) + #t)) ;; The javadoc target is not built by default. (add-after 'build 'build-doc (lambda _ diff --git a/gnu/packages/libreoffice.scm b/gnu/packages/libreoffice.scm index dc13be19d2..0fa04bdec7 100644 --- a/gnu/packages/libreoffice.scm +++ b/gnu/packages/libreoffice.scm @@ -665,14 +665,14 @@ from the old StarOffice (.sdc, .sdw, ...).") (define-public libwps (package (name "libwps") - (version "0.4.7") + (version "0.4.9") (source (origin (method url-fetch) (uri (string-append "mirror://sourceforge/" name "/" name "/" name "-" version "/" name "-" version ".tar.xz")) (sha256 (base32 - "05xjb35y5ha9grgjqs3viaglq7ydsry1hzdvkm7y5b6f1disnb1g")))) + "08j9nxnrzxsnq35d9l824ad8w8az42fivaxn8ajl85dv6g3v1ghk")))) (build-system gnu-build-system) (native-inputs `(("doxygen" ,doxygen) @@ -907,7 +907,8 @@ converting QuarkXPress file format. It supports versions 3.1 to 4.1.") (sha256 (base32 "0vnmb231hyhxm7klaqd8vp3rmvix145bq8iqzv19jgl1yaqkxl21")) - (patches (search-patches "libreoffice-icu.patch")))) + (patches (search-patches "libreoffice-icu.patch" + "libreoffice-glm.patch")))) (build-system gnu-build-system) (native-inputs `(("bison" ,bison) diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index 70615df93c..f1bf65d27a 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -404,8 +404,8 @@ It has been modified to remove all non-free binary blobs.") ;; supports qemu "virt" machine and possibly a large number of ARM boards. ;; See : https://wiki.debian.org/DebianKernel/ARMMP. -(define %linux-libre-version "4.17.10") -(define %linux-libre-hash "1ab349s18avigd2592i11pab4klqzzxy11a1zp16mb842d8chkj2") +(define %linux-libre-version "4.17.11") +(define %linux-libre-hash "0c0ryl8rnzizr0x2gj9kprj9wfjz536574fnn46r0ww3szrzdm78") (define-public linux-libre (make-linux-libre %linux-libre-version @@ -413,8 +413,8 @@ It has been modified to remove all non-free binary blobs.") %linux-compatible-systems #:configuration-file kernel-config)) -(define %linux-libre-4.14-version "4.14.58") -(define %linux-libre-4.14-hash "1ny2b5zmgvbxglpy88aicdxix2ygr1qmar2rgaa336czfjninwr5") +(define %linux-libre-4.14-version "4.14.59") +(define %linux-libre-4.14-hash "1mf22i8a71qs04x4wfqmm21clj4jnqia6rpk7jbh3r3vjfjjbd1d") (define-public linux-libre-4.14 (make-linux-libre %linux-libre-4.14-version @@ -423,14 +423,14 @@ It has been modified to remove all non-free binary blobs.") #:configuration-file kernel-config)) (define-public linux-libre-4.9 - (make-linux-libre "4.9.115" - "12n3wwfz22hxqqy7bdchl894x5krylcd4vx65837w7rybnb5w2wj" + (make-linux-libre "4.9.116" + "1v5138a5317ddrl0zvlip18586si68ccw6y5wdxgpkh8ixvcamy6" %intel-compatible-systems #:configuration-file kernel-config)) (define-public linux-libre-4.4 - (make-linux-libre "4.4.144" - "1001nw9d51vbiisrjv5ffqigcwfs0r9gav2f8hkw9hzjw64nhanp" + (make-linux-libre "4.4.145" + "1c8lcibc6f8194ix3paip30jb9cqvn4lni6jjskyrmavcfy4rlbp" %intel-compatible-systems #:configuration-file kernel-config)) diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm index 68b07cad38..50de120e07 100644 --- a/gnu/packages/maths.scm +++ b/gnu/packages/maths.scm @@ -3951,7 +3951,7 @@ reduction.") `(("boost" ,boost) ("glu" ,glu) ("mesa" ,mesa) - ("qt" ,qt))) + ("qtbase" ,qtbase))) (build-system cmake-build-system) (synopsis "Toolset for the mCRL2 formal specification language") (description diff --git a/gnu/packages/messaging.scm b/gnu/packages/messaging.scm index a34f744659..98a65dcd3d 100644 --- a/gnu/packages/messaging.scm +++ b/gnu/packages/messaging.scm @@ -4,7 +4,7 @@ ;;; Copyright © 2015 Taylan Ulrich Bayırlı/Kammer <taylanbayirli@gmail.com> ;;; Copyright © 2015 Andreas Enge <andreas@enge.fr> ;;; Copyright © 2015, 2016, 2017, 2018 Ricardo Wurmus <rekado@elephly.net> -;;; Copyright © 2015 Efraim Flashner <efraim@flashner.co.il> +;;; Copyright © 2015, 2018 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2016, 2017 Nils Gillmann <ng0@n0.is> ;;; Copyright © 2016 Andy Patterson <ajpatter@uwaterloo.ca> ;;; Copyright © 2016, 2017, 2018 Clément Lassieur <clement@lassieur.org> @@ -1650,16 +1650,17 @@ notifications, and Python scripting support.") (version "0.3.0.2") (source (origin - (method url-fetch) - (uri (string-append "https://github.com/QMatrixClient/libqmatrixclient/archive/v" - version ".tar.gz")) - (file-name (string-append name "-" version ".tar.gz")) + (method git-fetch) + (uri (git-reference + (url "https://github.com/QMatrixClient/libqmatrixclient") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) (sha256 (base32 - "0yl7lw0s2z98xkxbklkb3i8xcd9af9qayl1zxl070d8ykl6ayqy3")))) + "03pxmr4wa818fgqddkr2fkwz6pda538x3ic9yq7c40x98zqf55w5")))) (build-system cmake-build-system) (inputs - `(("qt" ,qt))) + `(("qtbase" ,qtbase))) (arguments `(#:configure-flags (list "-DBUILD_SHARED_LIBS=ON") #:tests? #f)) ; No tests @@ -1677,17 +1678,19 @@ QMatrixClient project.") (version "0.0.9.2") (source (origin - (method url-fetch) - (uri (string-append "https://github.com/QMatrixClient/Quaternion/archive/v" - version ".tar.gz")) - (file-name (string-append name "-" version ".tar.gz")) + (method git-fetch) + (uri (git-reference + (url "https://github.com/QMatrixClient/Quaternion") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) (sha256 (base32 - "0s2mpw11s2n21ds1spf94j1p2lj2px2bv5zxldlcx81ch0rb4ng8")))) + "0zrr4khbbdf5ziq65gi0cb1yb1d0y5rv18wld22w1x96f7fkmrib")))) (build-system cmake-build-system) (inputs `(("libqmatrixclient" ,libqmatrixclient) - ("qt" ,qt))) + ("qtbase" ,qtbase) + ("qtdeclarative" ,qtdeclarative))) (arguments `(#:tests? #f ; No tests #:phases diff --git a/gnu/packages/parallel.scm b/gnu/packages/parallel.scm index cb27f49c07..a7fe44243a 100644 --- a/gnu/packages/parallel.scm +++ b/gnu/packages/parallel.scm @@ -1,7 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2013, 2014 Eric Bavier <bavier@member.fsf.org> ;;; Copyright © 2015 Mark H Weaver <mhw@netris.org> -;;; Copyright © 2015, 2016, 2017 Efraim Flashner <efraim@flashner.co.il> +;;; Copyright © 2015, 2016, 2017, 2018 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2016 Pjotr Prins <pjotr.guix@thebird.nl> ;;; Copyright © 2016 Andreas Enge <andreas@enge.fr> ;;; Copyright © 2016 Ricardo Wurmus <rekado@elephly.net> @@ -48,7 +48,7 @@ (define-public parallel (package (name "parallel") - (version "20180622") + (version "20180722") (source (origin (method url-fetch) @@ -56,7 +56,7 @@ version ".tar.bz2")) (sha256 (base32 - "1n91dnnl8d8pman20hr03l9qrpc9wm5hw32ph45xjs0bgp1nmk7j")))) + "06635p9w4kl0mvqlbgglsndl1zm06f65ckzrjl9p8n4cswf443fg")))) (build-system gnu-build-system) (arguments `(#:phases diff --git a/gnu/packages/patches/libreoffice-glm.patch b/gnu/packages/patches/libreoffice-glm.patch new file mode 100644 index 0000000000..9e76cf1389 --- /dev/null +++ b/gnu/packages/patches/libreoffice-glm.patch @@ -0,0 +1,58 @@ +Fix build with GLM 0.9.9. + +This patch is an amalgamation of these upstream commits: + +https://github.com/LibreOffice/core/commit/953c4add8fd76d88f49a81ae4c21a1fdcc007e57 +https://github.com/LibreOffice/core/commit/5f1bf6598b5725ad1e50ae9f7ec7524cc8a834fa + +diff --git a/chart2/Library_chartcore.mk b/chart2/Library_chartcore.mk +index 28bc87b89057..69d4c0552636 100644 +--- a/chart2/Library_chartcore.mk ++++ b/chart2/Library_chartcore.mk +@@ -23,6 +23,12 @@ $(eval $(call gb_Library_add_defs,chartcore,\ + -DOOO_DLLIMPLEMENTATION_CHARTVIEW \ + )) + ++ifeq ($(SYSTEM_GLM),TRUE) ++$(eval $(call gb_Library_add_defs,chartcore,\ ++ -DGLM_ENABLE_EXPERIMENTAL \ ++)) ++endif ++ + $(eval $(call gb_Library_set_precompiled_header,chartcore,$(SRCDIR)/chart2/inc/pch/precompiled_chartcore)) + + $(eval $(call gb_Library_use_externals,chartcore,\ +diff --git a/vcl/Library_vcl.mk b/vcl/Library_vcl.mk +index c1f3cc5324e7..0b684c6185a9 100644 +--- a/vcl/Library_vcl.mk ++++ b/vcl/Library_vcl.mk +@@ -49,6 +49,12 @@ $(eval $(call gb_Library_add_defs,vcl,\ + -DENABLE_MERGELIBS=$(if $(MERGELIBS),1,0) \ + )) + ++ifeq ($(SYSTEM_GLM),TRUE) ++$(eval $(call gb_Library_add_defs,vcl,\ ++ -DGLM_ENABLE_EXPERIMENTAL \ ++)) ++endif ++ + $(eval $(call gb_Library_use_sdk_api,vcl)) + + $(eval $(call gb_Library_use_custom_headers,vcl,\ +diff --git a/vcl/Executable_icontest.mk b/vcl/Executable_icontest.mk +index ce163303f8a4..8c917b71cd0e 100644 +--- a/vcl/Executable_icontest.mk ++++ b/vcl/Executable_icontest.mk +@@ -19,6 +19,12 @@ $(eval $(call gb_Executable_use_externals,icontest,\ + )) + endif + ++ifeq ($(SYSTEM_GLM),TRUE) ++$(eval $(call gb_Executable_add_defs,icontest,\ ++ -DGLM_ENABLE_EXPERIMENTAL \ ++)) ++endif ++ + $(eval $(call gb_Executable_use_api,icontest,\ + offapi \ + udkapi \ diff --git a/gnu/packages/patches/python-dendropy-fix-tests.patch b/gnu/packages/patches/python-dendropy-fix-tests.patch deleted file mode 100644 index 30ab618ff1..0000000000 --- a/gnu/packages/patches/python-dendropy-fix-tests.patch +++ /dev/null @@ -1,41 +0,0 @@ -This patch fixes two test failures. It was downloaded from: -https://github.com/jeetsukumaran/DendroPy/commit/93f984bba7a6c588a28ca87f4e557ce283809453 - -From 93f984bba7a6c588a28ca87f4e557ce283809453 Mon Sep 17 00:00:00 2001 -From: jeetsukumaran <jeetsukumaran@gmail.com> -Date: Tue, 21 Feb 2017 16:41:01 -0500 -Subject: [PATCH] Update to Python 3 container and iteration semantics - ---- - dendropy/dataio/newickreader.py | 3 ++- - dendropy/datamodel/treemodel.py | 3 +++ - 2 files changed, 5 insertions(+), 1 deletion(-) - -diff --git a/dendropy/dataio/newickreader.py b/dendropy/dataio/newickreader.py -index 6dcf3c5..f978729 100644 ---- a/dendropy/dataio/newickreader.py -+++ b/dendropy/dataio/newickreader.py -@@ -303,7 +303,8 @@ def tree_iter(self, - taxon_symbol_map_fn=taxon_symbol_mapper.require_taxon_for_symbol) - yield tree - if tree is None: -- raise StopIteration -+ # raise StopIteration -+ return - - def _read(self, - stream, -diff --git a/dendropy/datamodel/treemodel.py b/dendropy/datamodel/treemodel.py -index 0ecfe31..73146f0 100644 ---- a/dendropy/datamodel/treemodel.py -+++ b/dendropy/datamodel/treemodel.py -@@ -772,6 +772,9 @@ def __hash__(self): - def __eq__(self, other): - return self is other - -+ def __lt__(self, other): -+ return id(self) < id(other) -+ - ########################################################################### - ### Basic Structure - diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm index afbe5979db..493b7860bd 100644 --- a/gnu/packages/perl.scm +++ b/gnu/packages/perl.scm @@ -3166,30 +3166,6 @@ and alternative installers with the `installler` option. But it's written in only about 40% as many lines of code and with zero non-core dependencies.") (license (package-license perl)))) -(define-public perl-extutils-depends - (package - (name "perl-extutils-depends") - (version "0.405") - (source - (origin - (method url-fetch) - (uri (string-append - "mirror://cpan/authors/id/X/XA/XAOC/ExtUtils-Depends-" - version - ".tar.gz")) - (sha256 - (base32 - "0b4ab9qmcihsfs2ajhn5qzg7nhazr68v3r0zvb7076smswd41mla")))) - (build-system perl-build-system) - (native-inputs - `(("perl-test-number-delta" - ,perl-test-number-delta))) - (home-page "http://search.cpan.org/dist/ExtUtils-Depends/") - (synopsis "Easily build XS extensions that depend on XS extensions") - (description "ExtUtils::Depends builds XS extensions that depend on XS -extensions") - (license (package-license perl)))) - (define-public perl-extutils-installpaths (package (name "perl-extutils-installpaths") diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm index 10d8df7b0c..3b10f05e75 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -1747,30 +1747,6 @@ matching them against a list of media-ranges.") `(#:tests? #f ,@(package-arguments python2-funcsigs))))) -(define-public python-pafy - (package - (name "python-pafy") - (version "0.5.3.1") - (source - (origin - (method url-fetch) - (uri (pypi-uri "pafy" version)) - (sha256 - (base32 - "1a7dxi95m1043rxx1r5x3ngb66nwlq6aqcasyqqjzmmmjps4zrim")))) - (build-system python-build-system) - (arguments - `(#:tests? #f)) ; Currently pafy can not find itself in the tests - (propagated-inputs - ;; Youtube-dl is a python package which is imported in the file - ;; "backend_youtube_dl.py", therefore it needs to be propagated. - `(("youtube-dl" ,youtube-dl))) - (home-page "https://np1.github.io/pafy/") - (synopsis "Retrieve YouTube content and metadata") - (description - "@code{pafy} is a python library to retrieve YouTube content and metadata.") - (license license:lgpl3+))) - (define-public python-py (package (name "python-py") diff --git a/gnu/packages/ssh.scm b/gnu/packages/ssh.scm index cd92c62f58..faa09e94c3 100644 --- a/gnu/packages/ssh.scm +++ b/gnu/packages/ssh.scm @@ -2,7 +2,7 @@ ;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017, 2018 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2013, 2014 Andreas Enge <andreas@enge.fr> ;;; Copyright © 2014, 2015, 2016 Mark H Weaver <mhw@netris.org> -;;; Copyright © 2015, 2016 Efraim Flashner <efraim@flashner.co.il> +;;; Copyright © 2015, 2016, 2018 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2016 Leo Famulari <leo@famulari.name> ;;; Copyright © 2016 Nicolas Goaziou <mail@nicolasgoaziou.fr> ;;; Copyright © 2016 Christopher Allan Webber <cwebber@dustycloud.org> @@ -232,7 +232,7 @@ TCP-forwarding. It provides a flow control service for these channels. Additionally, various channel-specific options can be negotiated.") (license (license:non-copyleft "file://LICENSE" "See LICENSE in the distribution.")) - (home-page "http://www.openssh.org/"))) + (home-page "https://www.openssh.com/"))) (define-public guile-ssh (package diff --git a/gnu/packages/version-control.scm b/gnu/packages/version-control.scm index 6cb3354204..3db5796b4c 100644 --- a/gnu/packages/version-control.scm +++ b/gnu/packages/version-control.scm @@ -1579,7 +1579,7 @@ from Subversion to any supported Distributed Version Control System (DVCS).") (define-public tig (package (name "tig") - (version "2.3.3") + (version "2.4.1") (source (origin (method url-fetch) (uri (string-append @@ -1587,7 +1587,7 @@ from Subversion to any supported Distributed Version Control System (DVCS).") version "/tig-" version ".tar.gz")) (sha256 (base32 - "1skbhhj1narsnsff1azdylcy6xghxb18mzqysmipcyyvlv2i17fk")))) + "1f2qhpzbl7f35lsjcnx8lxzskha24m4frczsw78284jp7qcamdmn")))) (build-system gnu-build-system) (native-inputs `(("asciidoc" ,asciidoc) @@ -1608,7 +1608,7 @@ from Subversion to any supported Distributed Version Control System (DVCS).") (description "Tig is an ncurses text user interface for Git, primarily intended as a history browser. It can also stage hunks for commit, or colorize the -output of the 'git' command.") +output of the @code{git} command.") (license license:gpl2+))) (define-public findnewest diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm index 3c28fb0787..9e6dba4175 100644 --- a/gnu/packages/video.scm +++ b/gnu/packages/video.scm @@ -27,6 +27,7 @@ ;;; Copyright © 2018 Pierre Neidhardt <ambrevar@gmail.com> ;;; Copyright © 2018 Leo Famulari <leo@famulari.name> ;;; Copyright © 2018 Brendan Tildesley <brendan.tildesley@openmailbox.org> +;;; Copyright © 2018 Arun Isaac <arunisaac@systemreboot.net> ;;; ;;; This file is part of GNU Guix. ;;; @@ -1256,7 +1257,7 @@ access to mpv's powerful playback capabilities.") (define-public youtube-dl (package (name "youtube-dl") - (version "2018.07.10") + (version "2018.07.29") (source (origin (method url-fetch) (uri (string-append "https://yt-dl.org/downloads/" @@ -1264,7 +1265,7 @@ access to mpv's powerful playback capabilities.") version ".tar.gz")) (sha256 (base32 - "1rigah941k2drzx5qz937lk68gw9jrizj5lgd9f9znp0bgi2d0xd")))) + "18rszvvpw9zyqfjysydvl24jf0hlpfcd22fgqsijhsq7bznwr9jj")))) (build-system python-build-system) (arguments ;; The problem here is that the directory for the man page and completion diff --git a/gnu/packages/virtualization.scm b/gnu/packages/virtualization.scm index ebc57dc369..e4120de38f 100644 --- a/gnu/packages/virtualization.scm +++ b/gnu/packages/virtualization.scm @@ -1,7 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2013, 2014, 2015, 2016, 2017 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2015, 2016, 2017, 2018 Mark H Weaver <mhw@netris.org> -;;; Copyright © 2016, 2017 Efraim Flashner <efraim@flashner.co.il> +;;; Copyright © 2016, 2017, 2018 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2016, 2017 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2017 Alex Vong <alexvong1995@gmail.com> ;;; Copyright © 2017 Andy Patterson <ajpatter@uwaterloo.ca> @@ -76,8 +76,7 @@ #:use-module (guix build-system python) #:use-module (guix download) #:use-module (guix git-download) - #:use-module ((guix licenses) #:select (gpl2 gpl2+ gpl3+ lgpl2.1 lgpl2.1+ - asl2.0)) + #:use-module ((guix licenses) #:prefix license:) #:use-module (guix packages) #:use-module (guix utils) #:use-module (srfi srfi-1)) @@ -227,7 +226,7 @@ the KVM kernel module in Linux. When using KVM, QEMU can virtualize x86, server and embedded PowerPC, and S390 guests.") ;; Many files are GPLv2+, but some are GPLv2-only---e.g., `memory.c'. - (license gpl2) + (license license:gpl2) ;; Several tests fail on MIPS; see <http://hydra.gnu.org/build/117914>. (supported-systems (delete "mips64el-linux" %supported-systems)))) @@ -337,7 +336,7 @@ system on a hypervisor. Via GObject Introspection, the API is available in all common programming languages. Vala bindings are also provided.") ;; The library files are released under LGPLv2.1 or later; the source ;; files in the "tools" directory are released under GPLv2+. - (license (list lgpl2.1+ gpl2+)))) + (license (list license:lgpl2.1+ license:gpl2+)))) (define-public lxc (package @@ -382,7 +381,7 @@ all common programming languages. Vala bindings are also provided.") "LXC is a userspace interface for the Linux kernel containment features. Through a powerful API and simple tools, it lets Linux users easily create and manage system or application containers.") - (license lgpl2.1+))) + (license license:lgpl2.1+))) (define-public libvirt (package @@ -467,7 +466,7 @@ manage system or application containers.") capabilities of recent versions of Linux. The library aims at providing long term stable C API initially for the Xen paravirtualization but should be able to integrate other virtualization mechanisms if needed.") - (license lgpl2.1+))) + (license license:lgpl2.1+))) (define-public libvirt-glib (package @@ -515,7 +514,7 @@ three libraries: @item libvirt-gobject - GObjects for managing libvirt objects @end enumerate ") - (license lgpl2.1+))) + (license license:lgpl2.1+))) (define-public python-libvirt (package @@ -550,7 +549,7 @@ three libraries: (synopsis "Python bindings to libvirt") (description "This package provides Python bindings to the libvirt virtualization library.") - (license lgpl2.1+))) + (license license:lgpl2.1+))) (define-public python2-libvirt (package-with-python2 python-libvirt)) @@ -649,7 +648,7 @@ virtualization library.") virtual machines through libvirt. It primarily targets KVM VMs, but also manages Xen and LXC (Linux containers). It presents a summary view of running domains, their live performance and resource utilization statistics.") - (license gpl2+))) + (license license:gpl2+))) (define-public criu (package @@ -743,7 +742,7 @@ was frozen at. The distinctive feature of the CRIU project is that it is mainly implemented in user space.") ;; The project is licensed under GPLv2; files in the lib/ directory are ;; LGPLv2.1. - (license (list gpl2 lgpl2.1)))) + (license (list license:gpl2 license:lgpl2.1)))) (define-public qmpbackup (package @@ -765,7 +764,7 @@ mainly implemented in user space.") (description "qmpbackup is designed to create and restore full and incremental backups of running QEMU virtual machines via QMP, the QEMU Machine Protocol.") - (license gpl3+))) + (license license:gpl3+))) (define-public lookingglass (package @@ -813,7 +812,7 @@ monitor, keyboard or mouse. It displays the VM's rendered contents on your main monitor/GPU.") ;; This package requires SSE instructions. (supported-systems '("i686-linux" "x86_64-linux")) - (license gpl2+))) + (license license:gpl2+))) (define-public runc (package @@ -870,7 +869,7 @@ packaged according to the @uref{https://github.com/opencontainers/runtime-spec/blob/master/spec.md, Open Container Initiative (OCI) format} and is a compliant implementation of the Open Container Initiative specification.") - (license asl2.0))) + (license license:asl2.0))) (define-public umoci (package @@ -915,7 +914,7 @@ Open Container Initiative specification.") (description "@command{umoci} is a tool that allows for high-level modification of an Open Container Initiative (OCI) image layout and its tagged images.") - (license asl2.0))) + (license license:asl2.0))) (define-public skopeo (package @@ -977,4 +976,26 @@ the image. @item Delete container images from a remote container registry. @end enumerate") - (license asl2.0))) + (license license:asl2.0))) + +(define-public python-vagrant + (package + (name "python-vagrant") + (version "0.5.15") + (source + (origin + (method url-fetch) + (uri (pypi-uri "python-vagrant" version)) + (sha256 + (base32 + "1ikrh6canhcxg5y7pzmkcnnydikppv7s6sm9prfx90nk0ac8m6mg")))) + (build-system python-build-system) + (arguments + '(#:tests? #f)) ; tests involve running vagrant. + (home-page "https://github.com/todddeluca/python-vagrant") + (synopsis "Python bindings for Vagrant") + (description + "Python-vagrant is a Python module that provides a thin wrapper around the +@code{vagrant} command line executable, allowing programmatic control of Vagrant +virtual machines.") + (license license:expat))) diff --git a/gnu/packages/xdisorg.scm b/gnu/packages/xdisorg.scm index 2a8958d37f..59ac02f79f 100644 --- a/gnu/packages/xdisorg.scm +++ b/gnu/packages/xdisorg.scm @@ -11,7 +11,7 @@ ;;; Copyright © 2015 Florian Paul Schmidt <mista.tapas@gmx.net> ;;; Copyright © 2016 Christopher Allan Webber <cwebber@dustycloud.org> ;;; Copyright © 2016 Ricardo Wurmus <rekado@elephly.net> -;;; Copyright © 2016, 2017 Efraim Flashner <efraim@flashner.co.il> +;;; Copyright © 2016, 2017, 2018 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2016 Leo Famulari <leo@famulari.name> ;;; Copyright © 2016 Alex Kost <alezost@gmail.com> ;;; Copyright © 2016, 2017 Marius Bakke <mbakke@fastmail.com> @@ -1476,3 +1476,27 @@ first. Additionally, xss-lock uses the inhibition logic to lock the screen before the system goes to sleep.") (home-page "https://bitbucket.org/raymonad/xss-lock") (license license:expat)))) + +(define-public python-pyperclip + (package + (name "python-pyperclip") + (version "1.6.4") + (source + (origin + (method url-fetch) + (uri (pypi-uri "pyperclip" version)) + (sha256 + (base32 + "1p505c23ji06r28k1y67siihsbdzdf1brhlqpyv9ams4gk9863pp")))) + (build-system python-build-system) + (arguments + '(#:tests? #f)) ; Not clear how to make tests pass. + (inputs + `(("xclip" ,xclip) + ("xsel" ,xsel))) + (home-page "https://github.com/asweigart/pyperclip") + (synopsis "Python clipboard module") + (description + "Pyperclip is a clipboard module for Python, handling copy/pasting from +the X11 clipboard") + (license license:bsd-3))) diff --git a/gnu/services/ssh.scm b/gnu/services/ssh.scm index f158fdf01f..dd96ad6aec 100644 --- a/gnu/services/ssh.scm +++ b/gnu/services/ssh.scm @@ -289,6 +289,19 @@ The other options should be self-descriptive." ;; Boolean (x11-forwarding? openssh-configuration-x11-forwarding? (default #f)) + + ;; Boolean + (allow-agent-forwarding? openssh-configuration-allow-agent-forwarding? + (default #t)) + + ;; Boolean + (allow-tcp-forwarding? openssh-configuration-allow-tcp-forwarding? + (default #t)) + + ;; Boolean + (gateway-ports? openssh-configuration-gateway-ports? + (default #f)) + ;; Boolean (challenge-response-authentication? openssh-challenge-response-authentication? (default #f)) @@ -418,6 +431,15 @@ of user-name/file-like tuples." (format port "X11Forwarding ~a\n" #$(if (openssh-configuration-x11-forwarding? config) "yes" "no")) + (format port "AllowAgentForwarding ~a\n" + #$(if (openssh-configuration-allow-agent-forwarding? config) + "yes" "no")) + (format port "AllowTcpForwarding ~a\n" + #$(if (openssh-configuration-allow-tcp-forwarding? config) + "yes" "no")) + (format port "GatewayPorts ~a\n" + #$(if (openssh-configuration-gateway-ports? config) + "yes" "no")) (format port "PidFile ~a\n" #$(openssh-configuration-pid-file config)) (format port "ChallengeResponseAuthentication ~a\n" diff --git a/gnu/system/linux-initrd.scm b/gnu/system/linux-initrd.scm index d73ebfd8d3..a5a111908f 100644 --- a/gnu/system/linux-initrd.scm +++ b/gnu/system/linux-initrd.scm @@ -108,34 +108,18 @@ the derivations referenced by EXP are automatically copied to the initrd." MODULES and taken from LINUX." (define build-exp (with-imported-modules (source-module-closure - '((guix build utils) - (gnu build linux-modules))) + '((gnu build linux-modules))) #~(begin - (use-modules (ice-9 match) (ice-9 regex) + (use-modules (gnu build linux-modules) (srfi srfi-1) - (guix build utils) - (gnu build linux-modules)) - - (define (string->regexp str) - ;; Return a regexp that matches STR exactly. - (string-append "^" (regexp-quote str) "$")) + (srfi srfi-26)) (define module-dir (string-append #$linux "/lib/modules")) - (define (lookup module) - (let ((name (ensure-dot-ko module))) - (match (find-files module-dir (string->regexp name)) - ((file) - file) - (() - (error "module not found" name module-dir)) - ((_ ...) - (error "several modules by that name" - name module-dir))))) - (define modules - (let ((modules (map lookup '#$modules))) + (let* ((lookup (cut find-module-file module-dir <>)) + (modules (map lookup '#$modules))) (append modules (recursive-module-dependencies modules #:lookup-module lookup)))) diff --git a/gnu/system/mapped-devices.scm b/gnu/system/mapped-devices.scm index c452bdd894..af73dc608c 100644 --- a/gnu/system/mapped-devices.scm +++ b/gnu/system/mapped-devices.scm @@ -21,7 +21,7 @@ (define-module (gnu system mapped-devices) #:use-module (guix gexp) #:use-module (guix records) - #:use-module (guix modules) + #:use-module ((guix modules) #:hide (file-name->module-name)) #:use-module (guix i18n) #:use-module ((guix utils) #:select (source-properties->location @@ -33,7 +33,7 @@ #:autoload (gnu build file-systems) (find-partition-by-luks-uuid) #:autoload (gnu build linux-modules) (device-module-aliases matching-modules known-module-aliases - normalize-module-name) + normalize-module-name file-name->module-name) #:autoload (gnu packages cryptsetup) (cryptsetup-static) #:autoload (gnu packages linux) (mdadm-static) #:use-module (srfi srfi-1) @@ -128,20 +128,25 @@ DEVICE must be a \"/dev\" file name." (const #f))) (when aliases - (let ((modules (delete-duplicates - (append-map (cut matching-modules <> aliases) - (device-module-aliases device)))) + (let* ((modules (delete-duplicates + (append-map (cut matching-modules <> aliases) + (device-module-aliases device)))) - ;; Module names (not file names) are supposed to use underscores - ;; instead of hyphens. MODULES is a list of module names, whereas - ;; LINUX-MODULES is file names without '.ko', so normalize them. - (provided (map normalize-module-name linux-modules))) - (unless (every (cut member <> provided) modules) + ;; Module names (not file names) are supposed to use underscores + ;; instead of hyphens. MODULES is a list of module names, whereas + ;; LINUX-MODULES is file names without '.ko', so normalize them. + (provided (map file-name->module-name linux-modules)) + (missing (remove (cut member <> provided) modules))) + (unless (null? missing) + ;; Note: What we suggest here is a list of module names (e.g., + ;; "usb_storage"), not file names (e.g., "usb-storage.ko"). This is + ;; OK because we have machinery that accepts both the hyphen and the + ;; underscore version. (raise (condition (&message (message (format #f (G_ "you may need these modules \ in the initrd for ~a:~{ ~a~}") - device modules))) + device missing))) (&fix-hint (hint (format #f (G_ "Try adding them to the @code{initrd-modules} field of your @code{operating-system} declaration, along @@ -153,7 +158,7 @@ these lines: (initrd-modules (append (list~{ ~s~}) %base-initrd-modules))) @end example\n") - modules))) + missing))) (&error-location (location (source-properties->location location))))))))) diff --git a/guix/ssh.scm b/guix/ssh.scm index 9e90216a2d..da20d4d8db 100644 --- a/guix/ssh.scm +++ b/guix/ssh.scm @@ -279,10 +279,15 @@ Return the list of store items actually sent." (remove (cut valid-path? store <>) ',files))))) (count (length missing)) + (sizes (map (lambda (item) + (path-info-nar-size (query-path-info local item))) + missing)) (port (store-import-channel session))) - (format log-port (N_ "sending ~a store item to '~a'...~%" - "sending ~a store items to '~a'...~%" count) - count (session-get session 'host)) + (format log-port (N_ "sending ~a store item (~h MiB) to '~a'...~%" + "sending ~a store items (~h MiB) to '~a'...~%" count) + count + (inexact->exact (round (/ (reduce + 0 sizes) (expt 2. 20)))) + (session-get session 'host)) ;; Send MISSING in topological order. (export-paths local missing port) |