aboutsummaryrefslogtreecommitdiff
path: root/gnu
diff options
context:
space:
mode:
authorMarius Bakke <mbakke@fastmail.com>2018-07-30 18:08:28 +0200
committerMarius Bakke <mbakke@fastmail.com>2018-07-30 18:08:28 +0200
commit869250809bddcf8eab26ecdedabad6fc060751dd (patch)
tree2108049faa07fd2b79d679799fa51ce8a2e5612a /gnu
parentf419abea22fe5dd3aa96c19990316e502157350b (diff)
parentf475b90c353deff5b848753bf88c855f481f1ec0 (diff)
downloadgnu-guix-869250809bddcf8eab26ecdedabad6fc060751dd.tar
gnu-guix-869250809bddcf8eab26ecdedabad6fc060751dd.tar.gz
Merge branch 'master' into staging
Diffstat (limited to 'gnu')
-rw-r--r--gnu/build/linux-modules.scm36
-rw-r--r--gnu/local.mk2
-rw-r--r--gnu/packages/agda.scm30
-rw-r--r--gnu/packages/android.scm106
-rw-r--r--gnu/packages/bioinformatics.scm59
-rw-r--r--gnu/packages/bootloaders.scm5
-rw-r--r--gnu/packages/check.scm26
-rw-r--r--gnu/packages/ci.scm4
-rw-r--r--gnu/packages/cran.scm35
-rw-r--r--gnu/packages/databases.scm9
-rw-r--r--gnu/packages/docker.scm43
-rw-r--r--gnu/packages/emacs.scm46
-rw-r--r--gnu/packages/finance.scm41
-rw-r--r--gnu/packages/games.scm60
-rw-r--r--gnu/packages/haskell.scm45
-rw-r--r--gnu/packages/java.scm5
-rw-r--r--gnu/packages/libreoffice.scm7
-rw-r--r--gnu/packages/linux.scm16
-rw-r--r--gnu/packages/maths.scm2
-rw-r--r--gnu/packages/messaging.scm29
-rw-r--r--gnu/packages/parallel.scm6
-rw-r--r--gnu/packages/patches/libreoffice-glm.patch58
-rw-r--r--gnu/packages/patches/python-dendropy-fix-tests.patch41
-rw-r--r--gnu/packages/perl.scm24
-rw-r--r--gnu/packages/python.scm24
-rw-r--r--gnu/packages/ssh.scm4
-rw-r--r--gnu/packages/version-control.scm6
-rw-r--r--gnu/packages/video.scm5
-rw-r--r--gnu/packages/virtualization.scm53
-rw-r--r--gnu/packages/xdisorg.scm26
-rw-r--r--gnu/services/ssh.scm22
-rw-r--r--gnu/system/linux-initrd.scm26
-rw-r--r--gnu/system/mapped-devices.scm29
33 files changed, 579 insertions, 351 deletions
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)))))))))