From 6fdbd86d0fcda40967e713c4226d19cee991bcd9 Mon Sep 17 00:00:00 2001 From: Arun Isaac Date: Sat, 18 Mar 2017 21:37:37 +0530 Subject: [PATCH 01/64] gnu: Add libircclient. * gnu/packages/messaging.scm (libircclient): New variable. Signed-off-by: Leo Famulari --- gnu/packages/messaging.scm | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) diff --git a/gnu/packages/messaging.scm b/gnu/packages/messaging.scm index 7aa7b7bfe5..85c023514e 100644 --- a/gnu/packages/messaging.scm +++ b/gnu/packages/messaging.scm @@ -9,6 +9,7 @@ ;;; Copyright © 2016 Andy Patterson ;;; Copyright © 2016, 2017 Clément Lassieur ;;; Copyright © 2017 Mekeor Melire +;;; Copyright © 2017 Arun Isaac ;;; ;;; This file is part of GNU Guix. ;;; @@ -1329,4 +1330,36 @@ (define-public profanity (home-page "http://www.profanity.im") (license license:gpl3+))) +(define-public libircclient + (package + (name "libircclient") + (version "1.9") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://sourceforge/libircclient/libircclient/" + version "/libircclient-" version ".tar.gz")) + (sha256 + (base32 + "0r60i76jh4drjh2jgp5sx71chagqllmkaq49zv67nrhqwvp9ghw1")))) + (build-system gnu-build-system) + (inputs + `(("openssl" ,openssl))) + (arguments + `(#:configure-flags + (list (string-append "--libdir=" + (assoc-ref %outputs "out") "/lib") + "--enable-shared" + "--enable-ipv6" + "--enable-openssl") + ;; no test suite + #:tests? #f)) + (home-page "https://www.ulduzsoft.com/libircclient/") + (synopsis "Library implementing the client IRC protocol") + (description "Libircclient is a library which implements the client IRC +protocol. It is designed to be small, fast, portable and compatible with the +RFC standards as well as non-standard but popular features. It can be used for +building the IRC clients and bots.") + (license license:lgpl3+))) + ;;; messaging.scm ends here From d5ef113c055a537cec06bc86244b98c4ebb3b925 Mon Sep 17 00:00:00 2001 From: Arun Isaac Date: Sun, 19 Mar 2017 00:22:50 +0530 Subject: [PATCH 02/64] gnu: Add python-astroid. * gnu/packages/python.scm (python-astroid, python2-astroid): New variables. Signed-off-by: Marius Bakke --- gnu/packages/python.scm | 42 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm index 9b9c5ff992..cf06212b6c 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -13680,3 +13680,45 @@ (define-public python-flask-login (define-public python2-flask-login (package-with-python2 python-flask-login)) + +(define-public python-astroid + (package + (name "python-astroid") + (version "1.4.9") + (source + (origin + (method url-fetch) + (uri (string-append + "https://github.com/PyCQA/astroid/archive/astroid-" + version ".tar.gz")) + (sha256 + (base32 + "0j0wgy54d13a470vm4b9rdjk99n1hmdxpf34x9k3pbmi9w9b566z")))) + (build-system python-build-system) + (propagated-inputs + `(("python-lazy-object-proxy" ,python-lazy-object-proxy) + ("python-six" ,python-six) + ("python-wrapt" ,python-wrapt))) + (arguments + `(#:phases + (modify-phases %standard-phases + (replace 'check + (lambda _ + (zero? (system* "python" "-m" "unittest" "discover" + "-p" "unittest*.py"))))))) + (home-page "https://github.com/PyCQA/astroid") + (synopsis "Common base representation of python source code for pylint and +other projects") + (description "@code{python-astroid} provides a common base representation +of python source code for projects such as pychecker, pyreverse, pylint, etc. + +It provides a compatible representation which comes from the _ast module. It +rebuilds the tree generated by the builtin _ast module by recursively walking +down the AST and building an extended ast. The new node classes have +additional methods and attributes for different usages. They include some +support for static inference and local name scopes. Furthermore, astroid +builds partial trees by inspecting living objects.") + (license license:lgpl2.1+))) + +(define-public python2-astroid + (package-with-python2 python-astroid)) From 6ba0af7960149455d9c692e8b29eddbd517ab758 Mon Sep 17 00:00:00 2001 From: Arun Isaac Date: Sun, 19 Mar 2017 00:22:51 +0530 Subject: [PATCH 03/64] gnu: Add python-isort. * gnu/packages/python.scm (python-isort, python2-isort): New variables. Signed-off-by: Marius Bakke --- gnu/packages/python.scm | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm index cf06212b6c..a8cec0de9a 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -13722,3 +13722,32 @@ (define-public python-astroid (define-public python2-astroid (package-with-python2 python-astroid)) + +(define-public python-isort + (package + (name "python-isort") + (version "4.2.5") + (source + (origin + (method url-fetch) + (uri (string-append + "https://github.com/timothycrosley/isort/archive/" + version ".tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0zsrgkb0krn5476yncy5dd56k7dk34zqb4bnlvwy44ixgilyjmfh")))) + (build-system python-build-system) + (native-inputs + `(("python-mock" ,python-mock) + ("python-pytest" ,python-pytest))) + (home-page "https://github.com/timothycrosley/isort") + (synopsis "Python utility/library to sort python imports") + (description "@code{python-isort} is a python utility/library to sort +imports alphabetically, and automatically separated into sections. It +provides a command line utility, a python library and plugins for various +editors.") + (license license:expat))) + +(define-public python2-isort + (package-with-python2 python-isort)) From 965a083ed2dd230359cd336a101829a44d61d0b6 Mon Sep 17 00:00:00 2001 From: Arun Isaac Date: Sun, 19 Mar 2017 00:22:52 +0530 Subject: [PATCH 04/64] gnu: Add python2-backports-functools-lru-cache. * gnu/packages/python.scm (python2-backports-functools-lru-cache): New variable. Signed-off-by: Marius Bakke --- gnu/packages/python.scm | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm index a8cec0de9a..6a865e6f36 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -13751,3 +13751,26 @@ (define-public python-isort (define-public python2-isort (package-with-python2 python-isort)) + +(define-public python2-backports-functools-lru-cache + (package + (name "python2-backports-functools-lru-cache") + (version "1.3") + (source + (origin + (method url-fetch) + ;; only the pypi tarballs contain the necessary metadata + (uri (pypi-uri "backports.functools_lru_cache" version)) + (sha256 + (base32 + "158ysf2hb0q4p4695abfiym9x1ywg0dgh8a3apd7gqaaxjy22jj4")))) + (build-system python-build-system) + (native-inputs + `(("python2-setuptools-scm" ,python2-setuptools-scm))) + (arguments + `(#:python ,python-2)) + (home-page "https://github.com/jaraco/backports.functools_lru_cache") + (synopsis "Backport of functools.lru_cache from Python 3.3") + (description "@code{python2-backports-functools-lru-cache} is a backport +of @code{functools.lru_cache} from python 3.3.") + (license license:expat))) From 23db3fc67d210ed121d6f5c8eeeffcc695dbd67d Mon Sep 17 00:00:00 2001 From: Arun Isaac Date: Sun, 19 Mar 2017 00:22:53 +0530 Subject: [PATCH 05/64] gnu: Add python-configparser. * gnu/packages/python.scm (python-configparser, python2-configparser): New variables. Signed-off-by: Marius Bakke --- gnu/packages/python.scm | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm index 6a865e6f36..eb2c65f205 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -13774,3 +13774,28 @@ (define-public python2-backports-functools-lru-cache (description "@code{python2-backports-functools-lru-cache} is a backport of @code{functools.lru_cache} from python 3.3.") (license license:expat))) + +(define-public python-configparser + (package + (name "python-configparser") + (version "3.5.0") + (source + (origin + (method url-fetch) + (uri (string-append + "https://bitbucket.org/ambv/configparser/get/" + version ".tar.bz2")) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0waq40as14abwzbb321hfz4vr1fi363nscy32ga14qvfygrg96wa")))) + (build-system python-build-system) + (home-page "http://docs.python.org/py3k/library/configparser.html") + (synopsis "Backport of configparser from python 3.5") + (description "@code{python-configparser} is a backport of +@code{configparser} from Python 3.5 so that it can be used directly +in other versions.") + (license license:expat))) + +(define-public python2-configparser + (package-with-python2 python-configparser)) From 61550dedf3fd16d6174c48243439b232b9a4ef4f Mon Sep 17 00:00:00 2001 From: Arun Isaac Date: Sun, 19 Mar 2017 00:22:54 +0530 Subject: [PATCH 06/64] gnu: Add python2-coverage-test-runner. * gnu/packages/python.scm (python2-coverage-test-runner): New variable. Signed-off-by: Marius Bakke --- gnu/packages/python.scm | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm index eb2c65f205..2250061de3 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -13799,3 +13799,34 @@ (define-public python-configparser (define-public python2-configparser (package-with-python2 python-configparser)) + +(define-public python2-coverage-test-runner + (package + (name "python2-coverage-test-runner") + (version "1.11") + (source + (origin + (method url-fetch) + (uri (string-append + "http://git.liw.fi/cgi-bin/cgit/cgit.cgi/" + "coverage-test-runner/snapshot/coverage-test-runner-" + version ".tar.gz")) + (sha256 + (base32 + "0y1m7z3dl63kmhcmydl1mwg0hacnf6ghrx9dah17j9iasssfa3g7")))) + (build-system python-build-system) + (arguments + `(#:python ,python-2 + #:phases + (modify-phases %standard-phases + (replace 'check + (lambda _ + (zero? (system* "./testrun"))))))) + (propagated-inputs + `(("python2-coverage" ,python2-coverage))) + (home-page "https://liw.fi/coverage-test-runner/") + (synopsis "Python module for running unit tests") + (description "@code{CoverageTestRunner} is a python module for running +unit tests and failing them if the unit test module does not excercise all +statements in the module it tests.") + (license license:gpl3+))) From 315944a39334069e0c3cefdb131721ecbc6baa7d Mon Sep 17 00:00:00 2001 From: Arun Isaac Date: Sun, 19 Mar 2017 00:22:55 +0530 Subject: [PATCH 07/64] gnu: Add python-pylint. * gnu/packages/python.scm (python-pylint, python2-pylint): New variables. Signed-off-by: Marius Bakke --- gnu/packages/python.scm | 59 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 59 insertions(+) diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm index 2250061de3..e3a82422de 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -13830,3 +13830,62 @@ (define-public python2-coverage-test-runner unit tests and failing them if the unit test module does not excercise all statements in the module it tests.") (license license:gpl3+))) + +(define-public python-pylint + (package + (name "python-pylint") + (version "1.6.5") + (source + (origin + (method url-fetch) + (uri (string-append + "https://github.com/PyCQA/pylint/archive/pylint-" + version ".tar.gz")) + (sha256 + (base32 + "08pmgflmq2zrzrn9nkfadzwa5vybz46wvwxhrsd2mjlcgsh4rzbm")))) + (build-system python-build-system) + (native-inputs + `(("python-tox" ,python-tox))) + (propagated-inputs + `(("python-astroid" ,python-astroid) + ("python-isort" ,python-isort) + ("python-mccabe" ,python-mccabe) + ("python-six" ,python-six))) + (arguments + `(#:phases + (modify-phases %standard-phases + (replace 'check + (lambda _ + ;; Somehow, tests for python2-pylint + ;; fail if run from the build directory + (let ((work "/tmp/work")) + (mkdir-p work) + (setenv "PYTHONPATH" + (string-append (getenv "PYTHONPATH") ":" work)) + (copy-recursively "." work) + (with-directory-excursion "/tmp" + (zero? (system* "python" "-m" "unittest" "discover" + "-s" (string-append work "/pylint/test") + "-p" "*test_*.py"))))))))) + (home-page "https://github.com/PyCQA/pylint") + (synopsis "Python source code analyzer which looks for coding standard +errors") + (description "Pylint is a Python source code analyzer which looks +for programming errors, helps enforcing a coding standard and sniffs +for some code smells (as defined in Martin Fowler's Refactoring book). + +Pylint has many rules enabled by default, way too much to silence them +all on a minimally sized program. It's highly configurable and handle +pragmas to control it from within your code. Additionally, it is +possible to write plugins to add your own checks.") + (license license:gpl2+))) + +(define-public python2-pylint + (let ((pylint (package-with-python2 python-pylint))) + (package (inherit pylint) + (propagated-inputs + `(("python2-backports-functools-lru-cache" + ,python2-backports-functools-lru-cache) + ("python2-configparser" ,python2-configparser) + ,@(package-propagated-inputs pylint)))))) From f75b1400ee80f2f15337bbf9d7cd6db83532de65 Mon Sep 17 00:00:00 2001 From: Arun Isaac Date: Sun, 19 Mar 2017 00:22:56 +0530 Subject: [PATCH 08/64] gnu: obnam: Enable tests. * gnu/packages/backup.scm (obnam)[arguments]: Replace 'check' phase with custom function. Signed-off-by: Marius Bakke --- gnu/packages/backup.scm | 24 +++++++++++++++++++++++- 1 file changed, 23 insertions(+), 1 deletion(-) diff --git a/gnu/packages/backup.scm b/gnu/packages/backup.scm index 97ab70e651..7e9ae18f30 100644 --- a/gnu/packages/backup.scm +++ b/gnu/packages/backup.scm @@ -644,7 +644,23 @@ (define-public obnam "0qlipsq50hca71zc0dp1mg9zs12qm0sbblw7qfzl0hj6mk2rv1by")))) (build-system python-build-system) (arguments - `(#:python ,python-2)) + `(#:python ,python-2 + #:phases + (modify-phases %standard-phases + (replace 'check + (lambda _ + (substitute* "obnamlib/vfs_local_tests.py" + ;; Check for the nobody user instead of root + (("self.fs.get_username\\(0\\), 'root'") + "self.fs.get_username(65534), 'nobody'") + ;; Disable tests checking for root group + (("self.fs.get_groupname\\(0\\)") "'root'")) + (substitute* "obnamlib/vfs_local.py" + ;; Don't cover get_groupname function + (("def get_groupname\\(self, gid\\):") + "def get_groupname(self, gid): # pragma: no cover")) + ;; Can't run network tests + (zero? (system* "./check" "--unit-tests"))))))) (inputs `(("python2-cliapp" ,python2-cliapp) ("python2-larch" ,python2-larch) @@ -652,6 +668,12 @@ (define-public obnam ("python2-pyaml" ,python2-pyaml) ("python2-tracing" ,python2-tracing) ("python2-ttystatus" ,python2-ttystatus))) + (native-inputs + `(("gnupg" ,gnupg) + ("python2-coverage" ,python2-coverage) + ("python2-coverage-test-runner" ,python2-coverage-test-runner) + ("python2-pep8" ,python2-pep8) + ("python2-pylint" ,python2-pylint))) (home-page "https://obnam.org/") (synopsis "Easy and secure backup program") (description "Obnam is an easy, secure backup program. Features From d67f972bd745d174c8fbc1c07cc0f5af19d9417e Mon Sep 17 00:00:00 2001 From: Mark H Weaver Date: Sun, 19 Mar 2017 21:18:46 -0400 Subject: [PATCH 09/64] download: Remove non-existent kernel mirror. * guix/download.scm (%mirrors) : Remove www.all.kernel.org. --- guix/download.scm | 1 - 1 file changed, 1 deletion(-) diff --git a/guix/download.scm b/guix/download.scm index dda18ff04d..3f9263d757 100644 --- a/guix/download.scm +++ b/guix/download.scm @@ -125,7 +125,6 @@ (define %mirrors "http://vorboss.dl.sourceforge.net/project/" "http://netassist.dl.sourceforge.net/project/") (kernel.org - "http://www.all.kernel.org/pub/" "http://ramses.wh2.tu-dresden.de/pub/mirrors/kernel.org/" "http://linux-kernel.uio.no/pub/" "http://kernel.osuosl.org/pub/" From 1a0c4437abbe3a1dd9622cc8a7926b9add74bf79 Mon Sep 17 00:00:00 2001 From: Kei Kebreau Date: Sat, 18 Mar 2017 16:21:31 -0400 Subject: [PATCH 10/64] gnu: Add deutex. gnu/packages/game-development.scm (deutex): New variable. --- gnu/packages/game-development.scm | 51 ++++++++++++++++++++++++++++++- 1 file changed, 50 insertions(+), 1 deletion(-) diff --git a/gnu/packages/game-development.scm b/gnu/packages/game-development.scm index 908ce48347..6525f94304 100644 --- a/gnu/packages/game-development.scm +++ b/gnu/packages/game-development.scm @@ -5,7 +5,7 @@ ;;; Copyright © 2015 Alex Kost ;;; Copyright © 2015, 2016 David Thompson ;;; Copyright © 2016 Efraim Flashner -;;; Copyright © 2016 Kei Kebreau +;;; Copyright © 2016, 2017 Kei Kebreau ;;; Copyright © 2016 Ricardo Wurmus ;;; Copyright © 2016 Julian Graham ;;; @@ -95,6 +95,55 @@ (define-public bullet is used in some video games and movies.") (license license:zlib))) +(define-public deutex + (package + (name "deutex") + (version "4.4.902") + (source (origin + (method url-fetch) + (uri (string-append "https://github.com/Doom-Utils/" name + "/archive/v" version ".tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0rwz1yzgd539x4h25kzhar4q02xyxjwfrcpz4m8ixi312a82p7cn")))) + (build-system gnu-build-system) + (arguments + '(#:tests? #f ; no check target + #:phases + (modify-phases %standard-phases + ;; The provided configure script takes a restricted number of arguments. + (replace 'configure + (lambda* (#:key outputs #:allow-other-keys) + (zero? (system* "./configure" "--prefix" + (assoc-ref %outputs "out"))))) + ;; "make install" is broken for this package. + ;; Notably, the binaries overrwrite one another upon installation as + ;; they are all installed to the "bin" file in the output directory, + ;; and the manual page fails to install because the directory for the + ;; manual page is not created. + (replace 'install + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref %outputs "out")) + (bin (string-append out "/bin")) + (share (string-append out "/share"))) + (install-file "deusf" bin) + (install-file "deutex" bin) + (install-file "deutex.6" (string-append share "/man/man6"))) + #t))))) + (home-page "https://github.com/Doom-Utils/deutex") + (synopsis "WAD file composer for Doom and related games") + (description + "DeuTex is a wad composer for Doom, Heretic, Hexen and Strife. It can be +used to extract the lumps of a wad and save them as individual files. +Conversely, it can also build a wad from separate files. When extracting a +lump to a file, it does not just copy the raw data, it converts it to an +appropriate format (such as PPM for graphics, Sun audio for samples, etc.). +Conversely, when it reads files for inclusion in pwads, it does the necessary +conversions (for example, from PPM to Doom picture format). In addition, +DeuTex has functions such as merging wads, etc.") + (license license:gpl2+))) + (define-public gzochi (package (name "gzochi") From 0420e8968240c9e12acc5fa69373f1ff5110ee99 Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Sun, 19 Mar 2017 21:54:37 -0400 Subject: [PATCH 11/64] gnu: mpd: Update to 0.20.6. * gnu/packages/mpd.scm (mpd): Update to 0.20.6. --- gnu/packages/mpd.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/mpd.scm b/gnu/packages/mpd.scm index b817f1cf27..db37814463 100644 --- a/gnu/packages/mpd.scm +++ b/gnu/packages/mpd.scm @@ -75,7 +75,7 @@ (define-public libmpdclient (define-public mpd (package (name "mpd") - (version "0.20.4") + (version "0.20.6") (source (origin (method url-fetch) (uri @@ -84,7 +84,7 @@ (define-public mpd "/mpd-" version ".tar.xz")) (sha256 (base32 - "0a4psqsf71vc6hfgyv55jclsx8yb7lf4w840qlq6cq8j3hsjaavi")))) + "0isbpa79m7zf09w3s1ry638cw96rxasy1ch66zl01k75i48mw1gl")))) (build-system gnu-build-system) (arguments `(#:phases From 4f9998c66faa3dbe5feb00919deb4d767c1aae68 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Mon, 20 Mar 2017 15:09:02 +0100 Subject: [PATCH 12/64] gnu: snakemake: Add runtime dependencies. * gnu/packages/python.scm (snakemake)[propagated-inputs]: Add python-wrapt and python-requests. --- gnu/packages/python.scm | 3 +++ 1 file changed, 3 insertions(+) diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm index e3a82422de..847a5224a3 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -5882,6 +5882,9 @@ (define-public snakemake (arguments ;; TODO: Package missing test dependencies. '(#:tests? #f)) + (propagated-inputs + `(("python-wrapt" ,python-wrapt) + ("python-requests" ,python-requests))) (home-page "https://bitbucket.org/snakemake/snakemake/wiki/Home") (synopsis "Python-based execution environment for make-like workflows") (description From 2314474b017dc044fd64a1b77e453ffb3e847e0e Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Mon, 20 Mar 2017 18:02:41 +0200 Subject: [PATCH 13/64] gnu: wxwidgets: Build with webkitgtk. * gnu/packages/wxwidgets.scm (wxwidgets)[inputs]: Remove webkitgtk@2.4, add webkitgtk. --- gnu/packages/wxwidgets.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gnu/packages/wxwidgets.scm b/gnu/packages/wxwidgets.scm index 52fa8184dd..ea0a2897f7 100644 --- a/gnu/packages/wxwidgets.scm +++ b/gnu/packages/wxwidgets.scm @@ -65,7 +65,7 @@ (define-public wxwidgets ("libsm" ,libsm) ("libtiff" ,libtiff) ("mesa" ,mesa) - ("webkitgtk" ,webkitgtk-2.4) + ("webkitgtk" ,webkitgtk) ("sdl" ,sdl))) (native-inputs `(("pkg-config" ,pkg-config))) From 36e17ab417078710939771d5ab19976eec257309 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Mon, 20 Mar 2017 18:04:01 +0200 Subject: [PATCH 14/64] gnu: audacity: Use gtk+@3. * gnu/packages/audacity.scm (audacity)[inputs]: Remove wxwidgets-gtk2, gtk+@2, add wxwidgets and gtk+. --- gnu/packages/audacity.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/audacity.scm b/gnu/packages/audacity.scm index a70d0e3a69..c448d0c1f2 100644 --- a/gnu/packages/audacity.scm +++ b/gnu/packages/audacity.scm @@ -52,8 +52,8 @@ (define-public audacity (inputs ;; TODO: Add portSMF and libwidgetextra once they're packaged. In-tree ;; versions shipping with Audacity are used for now. - `(("wxwidgets" ,wxwidgets-gtk2) - ("gtk" ,gtk+-2) + `(("wxwidgets" ,wxwidgets) + ("gtk" ,gtk+) ("alsa-lib" ,alsa-lib) ("jack" ,jack-1) ("expat" ,expat) From 6f9ba4c91c096a2fb95da111be0657d99ef2b683 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Mon, 20 Mar 2017 18:33:30 +0200 Subject: [PATCH 15/64] gnu: Remove wxwidgets@2.8. * gnu/packages/wxwidgets.scm (wxwidgets@2.8): Remove variable. --- gnu/packages/wxwidgets.scm | 28 ---------------------------- 1 file changed, 28 deletions(-) diff --git a/gnu/packages/wxwidgets.scm b/gnu/packages/wxwidgets.scm index ea0a2897f7..077195cca7 100644 --- a/gnu/packages/wxwidgets.scm +++ b/gnu/packages/wxwidgets.scm @@ -89,34 +89,6 @@ (define-public wxwidgets and many other languages.") (license (list l:lgpl2.0+ (l:fsf-free "file://doc/license.txt"))))) -(define-public wxwidgets-2 - (package - (inherit wxwidgets) - (version "2.8.12") - (source - (origin - (method url-fetch) - (uri (string-append "https://github.com/wxWidgets/wxWidgets/" - "releases/download/v" version - "/wxGTK-" version ".tar.gz")) - (sha256 - (base32 "1gjs9vfga60mk4j4ngiwsk9h6c7j22pw26m3asxr1jwvqbr8kkqk")))) - (inputs - `(("gtk" ,gtk+-2) - ("libjpeg" ,libjpeg) - ("libtiff" ,libtiff) - ("libmspack" ,libmspack) - ("sdl" ,sdl) - ("unixodbc" ,unixodbc))) - (arguments - `(#:configure-flags - '("--enable-unicode" "--with-regex=sys" "--with-sdl") - #:make-flags - (list (string-append "LDFLAGS=-Wl,-rpath=" - (assoc-ref %outputs "out") "/lib")) - ;; No 'check' target. - #:tests? #f)))) - (define-public wxwidgets-gtk2 (package (inherit wxwidgets) (inputs `(("gtk+" ,gtk+-2) From 0b5d078f8ba7953a51343fde087e157fbc4a0308 Mon Sep 17 00:00:00 2001 From: Kei Kebreau Date: Sun, 19 Mar 2017 23:06:50 -0400 Subject: [PATCH 16/64] gnu: Add freedoom. * gnu/packages/games.scm (freedoom): New variable. --- gnu/packages/games.scm | 72 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 72 insertions(+) diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm index f264ef206f..a8fdd341c7 100644 --- a/gnu/packages/games.scm +++ b/gnu/packages/games.scm @@ -58,6 +58,7 @@ (define-module (gnu packages games) #:use-module (gnu packages audio) #:use-module (gnu packages avahi) #:use-module (gnu packages boost) + #:use-module (gnu packages documentation) #:use-module (gnu packages fltk) #:use-module (gnu packages fribidi) #:use-module (gnu packages game-development) @@ -69,6 +70,7 @@ (define-module (gnu packages games) #:use-module (gnu packages gperf) #:use-module (gnu packages gtk) #:use-module (gnu packages guile) + #:use-module (gnu packages imagemagick) #:use-module (gnu packages libcanberra) #:use-module (gnu packages libunwind) #:use-module (gnu packages haskell) @@ -113,6 +115,76 @@ (define-module (gnu packages games) #:use-module (guix build-system cmake) #:use-module (guix build-system trivial)) +(define-public freedoom + (package + (name "freedoom") + (version "0.11.1") + (source (origin + (method url-fetch) + (uri (string-append "https://github.com/" name "/" name + "/archive/v" version ".tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "060dqppd9fi079yw6c82klsjaslcabq6xan67wf9hs0cy39i0kpv")))) + (build-system gnu-build-system) + (arguments + '(#:make-flags `(,(string-append "prefix=" (assoc-ref %outputs "out"))) + #:parallel-build? #f + #:tests? #f ; no check target + #:phases + (modify-phases %standard-phases + (add-before 'unpack 'no (lambda _ #t)) + (replace 'configure + (lambda* (#:key inputs outputs #:allow-other-keys) + (let* ((dejavu (assoc-ref inputs "font-dejavu")) + (freedoom (assoc-ref outputs "out")) + (wad-dir (string-append freedoom "/share/games/doom"))) + ;; Replace the font-searching function in a shell + ;; script with a direct path to the required font. + ;; This is necessary because ImageMagick can only find the + ;; most basic fonts while in the build environment. + (substitute* "graphics/titlepic/create_caption" + (("font=\\$\\(find_font.*$") + (string-append + "font=" dejavu + "/share/fonts/truetype/DejaVuSansCondensed-Bold.ttf\n"))) + ;; Make icon creation reproducible. + (substitute* "dist/Makefile" + (("freedm.png") + "-define png:exclude-chunks=date freedm.png") + (("freedoom1.png") + "-define png:exclude-chunks=date freedoom1.png") + (("freedoom2.png") + "-define png:exclude-chunks=date freedoom2.png")) + ;; Make sure that the install scripts know where to find + ;; the appropriate WAD files. + (substitute* "dist/freedoom" + (("IWAD=freedm.wad") + (string-append "IWAD=" wad-dir "/freedm.wad")) + (("IWAD=freedoom1.wad") + (string-append "IWAD=" wad-dir "/freedoom1.wad")) + (("IWAD=freedoom2.wad") + (string-append "IWAD=" wad-dir "/freedoom2.wad"))) + #t)))))) + (native-inputs + `(("asciidoc" ,asciidoc) + ("deutex" ,deutex) + ("font-dejavu" ,font-dejavu) + ("imagemagick" ,imagemagick) + ("python" ,python-2))) + (inputs + `(("prboom-plus" ,prboom-plus))) + (home-page "https://freedoom.github.io/") + (synopsis "Free content game based on the Doom engine") + (description + "The Freedoom project aims to create a complete free content first person +shooter game. Freedoom by itself is just the raw material for a game: it must +be paired with a compatible game engine (such as @code{prboom-plus}) to be +played. Freedoom complements the Doom engine with free levels, artwork, sound +effects and music to make a completely free game.") + (license license:bsd-3))) + (define-public gnubg (package (name "gnubg") From 94e24d8124f70c5acd8c6739e34bf49193a94f0f Mon Sep 17 00:00:00 2001 From: Hartmut Goebel Date: Sun, 19 Mar 2017 21:41:22 +0100 Subject: [PATCH 17/64] gnu: Add comments on why setting QT_QPA_PLATFORM for tests. * gnu/packages/astronomy.scm (stellarium): Add comment. * gnu/packages/display-managers.scm (greenisland): dito. * gnu/packages/kde-frameworks.scm (kguiaddons, kwidgetsaddons, kcompletion, baloo, kbookmarks, kconfigwidgtes, kdesignerplugin, kemoticons, kglobalaccel, kiconthemes, kio, knewstuff, kparts, kpeople, krunner, kservice, ktexteditor, ktextwidgets, kxmlgui, plasma-framework): dito. * gnu/packages/qt.scm (qtsvg): dito. --- gnu/packages/astronomy.scm | 1 + gnu/packages/display-managers.scm | 1 + gnu/packages/kde-frameworks.scm | 22 +++++++++++++++++++++- gnu/packages/qt.scm | 1 + 4 files changed, 24 insertions(+), 1 deletion(-) diff --git a/gnu/packages/astronomy.scm b/gnu/packages/astronomy.scm index 2695530fee..9f5e4aeb78 100644 --- a/gnu/packages/astronomy.scm +++ b/gnu/packages/astronomy.scm @@ -143,6 +143,7 @@ (define-public stellarium #:phases (modify-phases %standard-phases (add-before 'check 'set-offscreen-display (lambda _ + ;; make Qt render "offscreen", required for tests (setenv "QT_QPA_PLATFORM" "offscreen") (setenv "HOME" "/tmp") #t))))) diff --git a/gnu/packages/display-managers.scm b/gnu/packages/display-managers.scm index 80b45af103..114773330d 100644 --- a/gnu/packages/display-managers.scm +++ b/gnu/packages/display-managers.scm @@ -100,6 +100,7 @@ (define-public greenisland (add-before 'check 'check-setup (lambda _ (setenv "CTEST_OUTPUT_ON_FAILURE" "1") ; Enable debug output + ;; make Qt render "offscreen", required for tests (setenv "QT_QPA_PLATFORM" "offscreen") (setenv "XDG_RUNTIME_DIR" (getcwd)) #t)) diff --git a/gnu/packages/kde-frameworks.scm b/gnu/packages/kde-frameworks.scm index 4359636285..5b11f1223d 100644 --- a/gnu/packages/kde-frameworks.scm +++ b/gnu/packages/kde-frameworks.scm @@ -650,6 +650,7 @@ (define-public kguiaddons (modify-phases %standard-phases (add-before 'check 'check-setup (lambda _ + ;; make Qt render "offscreen", required for tests (setenv "QT_QPA_PLATFORM" "offscreen") #t))))) (home-page "https://community.kde.org/Frameworks") @@ -984,7 +985,8 @@ (define-public kwidgetsaddons (modify-phases %standard-phases (add-before 'check 'check-setup (lambda _ - (setenv "QT_QPA_PLATFORM" "offscreen") ; a better solution to Xvfb + ;; make Qt render "offscreen", required for tests + (setenv "QT_QPA_PLATFORM" "offscreen") (setenv "CTEST_OUTPUT_ON_FAILURE" "1") ; enable debug info (setenv "DBUS_FATAL_WARNINGS" "0") #t)) @@ -1311,6 +1313,7 @@ (define-public kcompletion (modify-phases %standard-phases (add-before 'check 'check-setup (lambda _ + ;; make Qt render "offscreen", required for tests (setenv "QT_QPA_PLATFORM" "offscreen") #t))))) (home-page "https://community.kde.org/Frameworks") @@ -1696,6 +1699,7 @@ (define-public baloo (add-before 'check 'check-setup (lambda _ (setenv "HOME" (getcwd)) + ;; make Qt render "offscreen", required for tests (setenv "QT_QPA_PLATFORM" "offscreen") #t)) (replace 'check @@ -1820,6 +1824,7 @@ (define-public kbookmarks (add-before 'check 'check-setup (lambda _ (setenv "HOME" (getcwd)) + ;; make Qt render "offscreen", required for tests (setenv "QT_QPA_PLATFORM" "offscreen") #t))))) (home-page "https://community.kde.org/Frameworks") @@ -1898,6 +1903,7 @@ (define-public kconfigwidgets (modify-phases %standard-phases (add-before 'check 'check-setup (lambda _ + ;; make Qt render "offscreen", required for tests (setenv "QT_QPA_PLATFORM" "offscreen") #t))))) (home-page "https://community.kde.org/Frameworks") @@ -2028,6 +2034,7 @@ (define-public kdesignerplugin (modify-phases %standard-phases (add-before 'check 'check-setup (lambda _ + ;; make Qt render "offscreen", required for tests (setenv "QT_QPA_PLATFORM" "offscreen") #t))))) (home-page "https://community.kde.org/Frameworks") @@ -2100,6 +2107,7 @@ (define-public kemoticons (lambda _ (setenv "HOME" (getcwd)) (setenv "CTEST_OUTPUT_ON_FAILURE" "1") ; Enable debug output + ;; make Qt render "offscreen", required for tests (setenv "QT_QPA_PLATFORM" "offscreen") #t))))) (home-page "https://community.kde.org/Frameworks") @@ -2143,6 +2151,7 @@ (define-public kglobalaccel (modify-phases %standard-phases (add-before 'check 'check-setup (lambda _ + ;; make Qt render "offscreen", required for tests (setenv "QT_QPA_PLATFORM" "offscreen") #t))))) (home-page "https://community.kde.org/Frameworks") @@ -2192,6 +2201,7 @@ (define-public kiconthemes "/share")) (setenv "HOME" (getcwd)) (setenv "CTEST_OUTPUT_ON_FAILURE" "1") ; Enable debug output + ;; make Qt render "offscreen", required for tests (setenv "QT_QPA_PLATFORM" "offscreen") #t))))) (home-page "https://community.kde.org/Frameworks") @@ -2301,6 +2311,7 @@ (define-public kio (setenv "HOME" (getcwd)) (setenv "XDG_RUNTIME_DIR" (getcwd)) (setenv "CTEST_OUTPUT_ON_FAILURE" "1") + ;; make Qt render "offscreen", required for tests (setenv "QT_QPA_PLATFORM" "offscreen") #t))))) ;;(replace 'check @@ -2365,6 +2376,7 @@ (define-public knewstuff (lambda _ ; XDG_DATA_DIRS isn't set (setenv "HOME" (getcwd)) (setenv "CTEST_OUTPUT_ON_FAILURE" "1") + ;; make Qt render "offscreen", required for tests (setenv "QT_QPA_PLATFORM" "offscreen") #t))))) (home-page "https://community.kde.org/Frameworks") @@ -2458,6 +2470,7 @@ (define-public kparts (modify-phases %standard-phases (add-before 'check 'check-setup (lambda _ + ;; make Qt render "offscreen", required for tests (setenv "QT_QPA_PLATFORM" "offscreen") #t))))) (home-page "https://community.kde.org/Frameworks") @@ -2498,6 +2511,7 @@ (define-public kpeople (add-before 'check 'check-setup (lambda _ (setenv "CTEST_OUTPUT_ON_FAILURE" "1") ; Enable debug output + ;; make Qt render "offscreen", required for tests (setenv "QT_QPA_PLATFORM" "offscreen") #t))))) (home-page "https://community.kde.org/Frameworks") @@ -2554,6 +2568,7 @@ (define-public krunner (add-before 'check 'check-setup (lambda _ (setenv "CTEST_OUTPUT_ON_FAILURE" "1") ; Enable debug output + ;; make Qt render "offscreen", required for tests (setenv "QT_QPA_PLATFORM" "offscreen") #t))))) (home-page "https://community.kde.org/Frameworks") @@ -2603,6 +2618,7 @@ (define-public kservice (lambda _ (setenv "HOME" (getcwd)) (setenv "CTEST_OUTPUT_ON_FAILURE" "1") + ;; make Qt render "offscreen", required for tests (setenv "QT_QPA_PLATFORM" "offscreen") #t))))) (home-page "https://community.kde.org/Frameworks") @@ -2669,6 +2685,7 @@ (define-public ktexteditor (add-before 'check 'check-setup (lambda _ (setenv "HOME" (getcwd)) + ;; make Qt render "offscreen", required for tests (setenv "QT_QPA_PLATFORM" "offscreen") (setenv "CTEST_OUTPUT_ON_FAILURE" "1") #t))))) @@ -2716,6 +2733,7 @@ (define-public ktextwidgets (modify-phases %standard-phases (add-before 'check 'check-setup (lambda _ + ;; make Qt render "offscreen", required for tests (setenv "QT_QPA_PLATFORM" "offscreen") #t))))) (home-page "https://community.kde.org/Frameworks") @@ -2806,6 +2824,7 @@ (define-public kxmlgui (add-before 'check 'check-setup (lambda _ (setenv "HOME" (getcwd)) + ;; make Qt render "offscreen", required for tests (setenv "QT_QPA_PLATFORM" "offscreen") (setenv "CTEST_OUTPUT_ON_FAILURE" "1") #t))))) @@ -2918,6 +2937,7 @@ (define-public plasma-framework (lambda _ (setenv "HOME" (getcwd)) (setenv "CTEST_OUTPUT_ON_FAILURE" "1") ; Enable debug output + ;; make Qt render "offscreen", required for tests (setenv "QT_QPA_PLATFORM" "offscreen") #t))))) (home-page "https://community.kde.org/Frameworks") diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scm index 47a7caae48..fb242a01da 100644 --- a/gnu/packages/qt.scm +++ b/gnu/packages/qt.scm @@ -568,6 +568,7 @@ (define-public qtsvg #t))) (add-before 'check 'set-display (lambda _ + ;; make Qt render "offscreen", required for tests (setenv "QT_QPA_PLATFORM" "offscreen") #t))))))) From e2c4fe7c62f05ac14f663bdd9de650c5e7f66231 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Fri, 17 Mar 2017 15:23:16 +0100 Subject: [PATCH 18/64] gnu: Add r-cairo. * gnu/packages/statistics.scm (r-cairo): New variable. --- gnu/packages/statistics.scm | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) diff --git a/gnu/packages/statistics.scm b/gnu/packages/statistics.scm index d8e50b9984..793d8b9df7 100644 --- a/gnu/packages/statistics.scm +++ b/gnu/packages/statistics.scm @@ -5150,3 +5150,38 @@ (define-public r-tsne (description "This package provides a pure R implementation of the t-SNE algorithm.") (license license:gpl2+))) + +(define-public r-cairo + (package + (name "r-cairo") + (version "1.5-9") + (source + (origin + (method url-fetch) + (uri (cran-uri "Cairo" version)) + (sha256 + (base32 + "1x1q99r3r978rlkkm5gixkv03p0mcr6k7ydcqdmisrwnmrn7p1ia")))) + (properties `((upstream-name . "Cairo"))) + (build-system r-build-system) + (inputs + `(("cairo" ,cairo) + ("libxt" ,libxt))) + (native-inputs + `(("pkg-config" ,pkg-config))) + (home-page "http://www.rforge.net/Cairo/") + (synopsis "R graphics device using Cairo graphics library") + (description + "This package provides a Cairo graphics device that can be use to +create high-quality vector (PDF, PostScript and SVG) and bitmap +output (PNG,JPEG,TIFF), and high-quality rendering in displays (X11 +and Win32). Since it uses the same back-end for all output, copying +across formats is WYSIWYG. Files are created without the dependence +on X11 or other external programs. This device supports alpha +channel (semi-transparent drawing) and resulting images can contain +transparent and semi-transparent regions. It is ideal for use in +server environments (file output) and as a replacement for other +devices that don't have Cairo's capabilities such as alpha support or +anti-aliasing. Backends are modular such that any subset of backends +is supported.") + (license license:gpl2))) From f0bce02664e5b5d56ccf0b2a6823599b0446f02f Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Mon, 20 Mar 2017 13:39:30 +0100 Subject: [PATCH 19/64] gnu: simple-scan: Update to 3.24.0. * gnu/packages/gnome.scm (simple-scan): Update to 3.24.0. --- gnu/packages/gnome.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index cfd8b24290..f8fafdbc7a 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -3658,7 +3658,7 @@ (define-public gusb (define-public simple-scan (package (name "simple-scan") - (version "3.22.0.1") + (version "3.24.0") (source (origin (method url-fetch) (uri (string-append "https://launchpad.net/simple-scan/" @@ -3667,7 +3667,7 @@ (define-public simple-scan version ".tar.xz")) (sha256 (base32 - "0l1b3llkdlqq0bcjx1cadba67l2zb4zfykdaprpjbjbr6gkbc1f5")))) + "19klldnbnknpq6ikz9x93861ywcyg0pg9ngijvw66ncbnb7lx912")))) (build-system glib-or-gtk-build-system) (inputs `(("gtk" ,gtk+) From 500fc65b5bd28a8f222d2dbff7676ba3ee622f12 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Fri, 17 Mar 2017 02:05:00 +0100 Subject: [PATCH 20/64] gnu: znc: Run test suite. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/messaging.scm (znc)[arguments]: Enable tests. Add an ‘unpack-googletest’ phase and add ‘--with-gtest=’ to #:configure-flags. [native-inputs]: Add googletest source. --- gnu/packages/messaging.scm | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/gnu/packages/messaging.scm b/gnu/packages/messaging.scm index 85c023514e..df56ac0793 100644 --- a/gnu/packages/messaging.scm +++ b/gnu/packages/messaging.scm @@ -10,6 +10,7 @@ ;;; Copyright © 2016, 2017 Clément Lassieur ;;; Copyright © 2017 Mekeor Melire ;;; Copyright © 2017 Arun Isaac +;;; Copyright © 2017 Tobias Geerinckx-Rice ;;; ;;; This file is part of GNU Guix. ;;; @@ -399,12 +400,23 @@ (define-public znc "1jia6kq6bp8yxfj02d5vj9vqb4pylqcldspyjj6iz82kkka2a0ig")))) (build-system gnu-build-system) (arguments - '(#:tests? #f ; tries to download GoogleTest with wget + `(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'unpack-googletest + (lambda* (#:key inputs #:allow-other-keys) + (zero? (system* "tar" "xf" + (assoc-ref inputs "googletest-source")))))) #:configure-flags '("--enable-python" "--enable-perl" - "--enable-cyrus"))) + "--enable-cyrus" + ,(string-append "--with-gtest=" + "googletest-release-" + (package-version googletest) + "/googletest")) + #:test-target "test")) (native-inputs - `(("pkg-config" ,pkg-config) + `(("googletest-source" ,(package-source googletest)) + ("pkg-config" ,pkg-config) ("perl" ,perl) ("python" ,python))) (inputs From 4fd95d917026a4d245604ee53b6547317c4bf2b9 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Mon, 20 Mar 2017 22:26:51 +0100 Subject: [PATCH 21/64] gnu: ngircd: Update to 24. * gnu/packages/messaging.scm (ngircd): Update to 24. [source]: Remove upstreamed DNS lookup patch. * gnu/packages/patches/ngircd-no-dns-in-tests.patch: Delete file. * gnu/local.mk (dist_patch_DATA): Remove it. --- gnu/local.mk | 1 - gnu/packages/messaging.scm | 7 +- .../patches/ngircd-no-dns-in-tests.patch | 368 ------------------ 3 files changed, 3 insertions(+), 373 deletions(-) delete mode 100644 gnu/packages/patches/ngircd-no-dns-in-tests.patch diff --git a/gnu/local.mk b/gnu/local.mk index 885c1137a5..c05edc87a4 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -777,7 +777,6 @@ dist_patch_DATA = \ %D%/packages/patches/netsurf-y2038-tests.patch \ %D%/packages/patches/netsurf-longer-test-timeout.patch \ %D%/packages/patches/ngircd-handle-zombies.patch \ - %D%/packages/patches/ngircd-no-dns-in-tests.patch \ %D%/packages/patches/ninja-zero-mtime.patch \ %D%/packages/patches/node-9077.patch \ %D%/packages/patches/nss-pkgconfig.patch \ diff --git a/gnu/packages/messaging.scm b/gnu/packages/messaging.scm index df56ac0793..adc7b01383 100644 --- a/gnu/packages/messaging.scm +++ b/gnu/packages/messaging.scm @@ -203,16 +203,15 @@ (define-public hexchat (define-public ngircd (package (name "ngircd") - (version "22") + (version "24") (source (origin (method url-fetch) (uri (string-append "http://arthur.barton.de/pub/ngircd/ngircd-" version ".tar.xz")) (sha256 (base32 - "17k3g9qd9d010czk5846qxvzkmw4fihv8l6m2a2287crbxm3xhd4")) - (patches (search-patches "ngircd-no-dns-in-tests.patch" - "ngircd-handle-zombies.patch")))) + "020h9d1awyxqr0l42x1fhs47q7cmm17fdxzjish8p2kq23ma0gqp")) + (patches (search-patches "ngircd-handle-zombies.patch")))) (build-system gnu-build-system) ;; Needed for the test suite. (native-inputs `(("procps" ,procps) diff --git a/gnu/packages/patches/ngircd-no-dns-in-tests.patch b/gnu/packages/patches/ngircd-no-dns-in-tests.patch deleted file mode 100644 index 748661de45..0000000000 --- a/gnu/packages/patches/ngircd-no-dns-in-tests.patch +++ /dev/null @@ -1,368 +0,0 @@ -From 3f807e104572b38143a1015be57d875088ceaebb Mon Sep 17 00:00:00 2001 -From: Alexander Barton -Date: Thu, 17 Apr 2014 23:57:38 +0200 -Subject: [PATCH] Test suite: Don't use DNS lookups - -Different operating systems do behave quite differently when doing DNS -lookups, for example "127.0.0.1" sometimes resolves to "localhost" and -sometimes to "localhost.localdomain" (for example OpenBSD). And other -systems resolve "localhost" to the real host name (for example Cygwin). - -So not using DNS at all makes the test site much more portable. ---- - src/testsuite/channel-test.e | 2 +- - src/testsuite/check-idle.e | 2 +- - src/testsuite/connect-test.e | 2 +- - src/testsuite/invite-test.e | 2 +- - src/testsuite/join-test.e | 2 +- - src/testsuite/kick-test.e | 2 +- - src/testsuite/message-test.e | 31 ++++++++++++------------------- - src/testsuite/misc-test.e | 8 ++++---- - src/testsuite/mode-test.e | 2 +- - src/testsuite/ngircd-test1.conf | 1 + - src/testsuite/ngircd-test2.conf | 1 + - src/testsuite/opless-channel-test.e | 2 +- - src/testsuite/server-link-test.e | 2 +- - src/testsuite/stress-A.e | 2 +- - src/testsuite/who-test.e | 6 +++--- - src/testsuite/whois-test.e | 14 +++++++------- - 16 files changed, 38 insertions(+), 43 deletions(-) - -diff --git a/src/testsuite/channel-test.e b/src/testsuite/channel-test.e -index dd7eb66..39ad16a 100644 ---- a/src/testsuite/channel-test.e -+++ b/src/testsuite/channel-test.e -@@ -1,7 +1,7 @@ - # ngIRCd test suite - # Channel test - --spawn telnet localhost 6789 -+spawn telnet 127.0.0.1 6789 - expect { - timeout { exit 1 } - "Connected" -diff --git a/src/testsuite/check-idle.e b/src/testsuite/check-idle.e -index 41b8eb4..ad112b2 100644 ---- a/src/testsuite/check-idle.e -+++ b/src/testsuite/check-idle.e -@@ -1,7 +1,7 @@ - # ngIRCd test suite - # Idle test - --spawn telnet localhost 6789 -+spawn telnet 127.0.0.1 6789 - expect { - timeout { exit 1 } - "Connected" -diff --git a/src/testsuite/connect-test.e b/src/testsuite/connect-test.e -index 662f5f7..b51be0d 100644 ---- a/src/testsuite/connect-test.e -+++ b/src/testsuite/connect-test.e -@@ -1,7 +1,7 @@ - # ngIRCd test suite - # Server connect test - --spawn telnet localhost 6789 -+spawn telnet 127.0.0.1 6789 - expect { - timeout { exit 1 } - "Connected" -diff --git a/src/testsuite/invite-test.e b/src/testsuite/invite-test.e -index 3716d19..5179d8a 100644 ---- a/src/testsuite/invite-test.e -+++ b/src/testsuite/invite-test.e -@@ -1,7 +1,7 @@ - # ngIRCd test suite - # INVITE test - --spawn telnet localhost 6789 -+spawn telnet 127.0.0.1 6789 - expect { - timeout { exit 1 } - "Connected" -diff --git a/src/testsuite/join-test.e b/src/testsuite/join-test.e -index 28b4c54..c088f5c 100644 ---- a/src/testsuite/join-test.e -+++ b/src/testsuite/join-test.e -@@ -1,7 +1,7 @@ - # ngIRCd test suite - # JOIN test - --spawn telnet localhost 6789 -+spawn telnet 127.0.0.1 6789 - expect { - timeout { exit 1 } - "Connected" -diff --git a/src/testsuite/kick-test.e b/src/testsuite/kick-test.e -index 3d3c1ee..89da611 100644 ---- a/src/testsuite/kick-test.e -+++ b/src/testsuite/kick-test.e -@@ -1,7 +1,7 @@ - # ngIRCd test suite - # KICK test - --spawn telnet localhost 6789 -+spawn telnet 127.0.0.1 6789 - expect { - timeout { exit 1 } - "Connected" -diff --git a/src/testsuite/message-test.e b/src/testsuite/message-test.e -index 0e70640..5dc325d 100644 ---- a/src/testsuite/message-test.e -+++ b/src/testsuite/message-test.e -@@ -1,7 +1,7 @@ - # ngIRCd test suite - # PRIVMSG and NOTICE test - --spawn telnet localhost 6789 -+spawn telnet 127.0.0.1 6789 - expect { - timeout { exit 1 } - "Connected" -@@ -72,24 +72,17 @@ expect { - "MODE nick :-b" - } - --# The following two tests using "localhost" as host name --# had to be disabled, because there are operating systems --# out there, that use "localhost." as host name --# for 127.0.0.1 instead of just "localhost". --# (for example OpenBSD 4, OpenSolaris, ...) --# --#send "privmsg ~user\%localhost :test\r" --#expect { --# timeout { exit 1 } --# "@* PRIVMSG nick :test" --#} --# --#send "privmsg Nick!~User@LocalHost :test\r" --#expect { --# timeout { exit 1 } --# "@* PRIVMSG nick :test" --# "401" --#} -+send "privmsg ~user\%127.0.0.1 :test\r" -+expect { -+ timeout { exit 1 } -+ "@* PRIVMSG nick :test" -+} -+ -+send "privmsg Nick!~User@127.0.0.1 :test\r" -+expect { -+ timeout { exit 1 } -+ "@* PRIVMSG nick :test" -+} - - send "away :away\r" - expect { -diff --git a/src/testsuite/misc-test.e b/src/testsuite/misc-test.e -index a83bc5b..f69e7c3 100644 ---- a/src/testsuite/misc-test.e -+++ b/src/testsuite/misc-test.e -@@ -1,7 +1,7 @@ - # ngIRCd test suite - # Misc test - --spawn telnet localhost 6789 -+spawn telnet 127.0.0.1 6789 - expect { - timeout { exit 1 } - "Connected" -@@ -130,7 +130,7 @@ expect { - send "userhost nick\r" - expect { - timeout { exit 1 } -- -re ":ngircd.test.server 302 nick :?nick=+.*@(localhos.*|127.0.0.1)" -+ -re ":ngircd.test.server 302 nick :?nick=+.*@127.0.0.1" - } - - send "userhost doesnotexist\r" -@@ -142,7 +142,7 @@ expect { - send "userhost nick doesnotexist nick doesnotexist\r" - expect { - timeout { exit 1 } -- -re ":ngircd.test.server 302 nick :nick=+.*@(localhos.*|127.0.0.1) nick=+.*@(localhos.*|127.0.0.1)" -+ -re ":ngircd.test.server 302 nick :nick=+.*@127.0.0.1 nick=+.*@127.0.0.1" - } - - send "away :testing\r" -@@ -154,7 +154,7 @@ expect { - send "userhost nick nick nick nick nick nick\r" - expect { - timeout { exit 1 } -- -re ":ngircd.test.server 302 nick :nick=-.*@(localhos.*|127.0.0.1) nick=-.*@(localhos.*|127.0.0.1) nick=-.*@(localhos.*|127.0.0.1) nick=-.*@(localhos.*|127.0.0.1) nick=-.*@(localhos.*|127.0.0.1)\r" -+ -re ":ngircd.test.server 302 nick :nick=-.*@127.0.0.1 nick=-.*@127.0.0.1 nick=-.*@127.0.0.1 nick=-.*@127.0.0.1 nick=-.*@127.0.0.1\r" - } - - send "quit\r" -diff --git a/src/testsuite/mode-test.e b/src/testsuite/mode-test.e -index d6726a4..86e4f2d 100644 ---- a/src/testsuite/mode-test.e -+++ b/src/testsuite/mode-test.e -@@ -1,7 +1,7 @@ - # ngIRCd test suite - # MODE test - --spawn telnet localhost 6789 -+spawn telnet 127.0.0.1 6789 - expect { - timeout { exit 1 } - "Connected" -diff --git a/src/testsuite/ngircd-test1.conf b/src/testsuite/ngircd-test1.conf -index 0d0cccc..4dec533 100644 ---- a/src/testsuite/ngircd-test1.conf -+++ b/src/testsuite/ngircd-test1.conf -@@ -17,6 +17,7 @@ - OperCanUseMode = yes - Ident = no - IncludeDir = /var/empty -+ DNS = no - PAM = no - - [Operator] -diff --git a/src/testsuite/ngircd-test2.conf b/src/testsuite/ngircd-test2.conf -index c9d7f6c..0d24c4a 100644 ---- a/src/testsuite/ngircd-test2.conf -+++ b/src/testsuite/ngircd-test2.conf -@@ -17,6 +17,7 @@ - OperCanUseMode = yes - Ident = no - IncludeDir = /var/empty -+ DNS = no - PAM = no - - [Operator] -diff --git a/src/testsuite/opless-channel-test.e b/src/testsuite/opless-channel-test.e -index 7d94172..4611fe1 100644 ---- a/src/testsuite/opless-channel-test.e -+++ b/src/testsuite/opless-channel-test.e -@@ -1,7 +1,7 @@ - # ngIRCd test suite - # Op-less channel test - --spawn telnet localhost 6789 -+spawn telnet 127.0.0.1 6789 - expect { - timeout { exit 1 } - "Connected" -diff --git a/src/testsuite/server-link-test.e b/src/testsuite/server-link-test.e -index cf3fae8..910f8c8 100644 ---- a/src/testsuite/server-link-test.e -+++ b/src/testsuite/server-link-test.e -@@ -1,7 +1,7 @@ - # ngIRCd test suite - # server-server link test - --spawn telnet localhost 6790 -+spawn telnet 127.0.0.1 6790 - expect { - timeout { exit 1 } - "Connected" -diff --git a/src/testsuite/stress-A.e b/src/testsuite/stress-A.e -index 256d5d1..d51adaa 100644 ---- a/src/testsuite/stress-A.e -+++ b/src/testsuite/stress-A.e -@@ -3,7 +3,7 @@ - - set timeout 30 - --spawn telnet localhost 6789 -+spawn telnet 127.0.0.1 6789 - expect { - timeout { exit 1 } - "Connected" -diff --git a/src/testsuite/who-test.e b/src/testsuite/who-test.e -index a41e6b6..39d50ed 100644 ---- a/src/testsuite/who-test.e -+++ b/src/testsuite/who-test.e -@@ -1,7 +1,7 @@ - # ngIRCd test suite - # WHO test - --spawn telnet localhost 6789 -+spawn telnet 127.0.0.1 6789 - expect { - timeout { exit 1 } - "Connected" -@@ -62,7 +62,7 @@ expect { - ":ngircd.test.server 352 nick #channel * * ngircd.test.server nick G@ :0 Real Name" - } - --send "who localhos*\r" -+send "who 127.0.0.*\r" - expect { - timeout { exit 1 } - ":ngircd.test.server 352 nick \* * * ngircd.test.server nick G :0 Real Name" -@@ -120,7 +120,7 @@ expect { - "305 nick" - } - --send "who ??cal*ho*\r" -+send "who ??7.*0*\r" - expect { - timeout { exit 1 } - ":ngircd.test.server 352 nick \* * * ngircd.test.server nick H* :0 Real Name" -diff --git a/src/testsuite/whois-test.e b/src/testsuite/whois-test.e -index 16b1184..44eee66 100644 ---- a/src/testsuite/whois-test.e -+++ b/src/testsuite/whois-test.e -@@ -1,7 +1,7 @@ - # ngIRCd test suite - # WHOIS test - --spawn telnet localhost 6789 -+spawn telnet 127.0.0.1 6789 - expect { - timeout { exit 1 } - "Connected" -@@ -17,7 +17,7 @@ expect { - send "whois nick\r" - expect { - timeout { exit 1 } -- "311 nick nick ~user localhost* \* :Real Name\r" -+ "311 nick nick ~user 127.0.0.1 \* :Real Name\r" - } - expect { - timeout { exit 1 } -@@ -27,25 +27,25 @@ expect { - send "whois *\r" - expect { - timeout { exit 1 } -- "311 nick nick ~user localhost* \* :Real Name\r" -+ "311 nick nick ~user 127.0.0.1* \* :Real Name\r" - } - - send "whois n*\r" - expect { - timeout { exit 1 } -- "311 nick nick ~user localhost* \* :Real Name\r" -+ "311 nick nick ~user 127.0.0.1* \* :Real Name\r" - } - - send "whois ?ick\r" - expect { - timeout { exit 1 } -- "311 nick nick ~user localhost* \* :Real Name\r" -+ "311 nick nick ~user 127.0.0.1* \* :Real Name\r" - } - - send "whois ????,n?*k\r" - expect { - timeout { exit 1 } -- "311 nick nick ~user localhost* \* :Real Name\r" -+ "311 nick nick ~user 127.0.0.1* \* :Real Name\r" - } - - send "whois unknown\r" -@@ -61,7 +61,7 @@ expect { - send "whois ngircd.test.server2 nick\r" - expect { - timeout { exit 1 } -- ":ngircd.test.server2 311 nick nick ~user localhost* \* :Real Name\r" -+ ":ngircd.test.server2 311 nick nick ~user 127.0.0.1* \* :Real Name\r" - } - - send "whois nosuchserver unknown\r" --- -1.9.1 - From 341ed63f47766570229567dd45c04dc0d6db1e94 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Mon, 20 Mar 2017 22:32:58 +0100 Subject: [PATCH 22/64] =?UTF-8?q?gnu:=20ngircd:=20Use=20=E2=80=98modify-ph?= =?UTF-8?q?ases=E2=80=99=20syntax.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/messaging.scm (ngircd)[arguments]: Use ‘modify-phases’. --- gnu/packages/messaging.scm | 43 +++++++++++++++++++------------------- 1 file changed, 21 insertions(+), 22 deletions(-) diff --git a/gnu/packages/messaging.scm b/gnu/packages/messaging.scm index adc7b01383..535a1d3c62 100644 --- a/gnu/packages/messaging.scm +++ b/gnu/packages/messaging.scm @@ -235,28 +235,27 @@ (define-public ngircd '("--with-pam") '())) #:phases - ;; Necessary for the test suite. - (alist-cons-after - 'configure 'post-configure - (lambda _ - (substitute* "src/ngircd/Makefile" - (("/bin/sh") (which "sh"))) - ;; The default getpid.sh does a sloppy grep over 'ps -ax' output, - ;; which fails arbitrarily. - (with-output-to-file "src/testsuite/getpid.sh" - (lambda () - (display - (string-append - "#!" (which "sh") "\n" - "ps -C \"$1\" -o pid=\n")))) - ;; Our variant of getpid.sh does not work for interpreter names if a - ;; shebang script is run directly as "./foo", so patch cases where - ;; the test suite relies on this. - (substitute* "src/testsuite/start-server.sh" - ;; It runs 'getpid.sh sh' to test if it works at all. Run it on - ;; 'make' instead. - (("getpid.sh sh") "getpid.sh make"))) - %standard-phases))) + (modify-phases %standard-phases + ;; Necessary for the test suite. + (add-after 'configure 'post-configure + (lambda _ + (substitute* "src/ngircd/Makefile" + (("/bin/sh") (which "sh"))) + ;; The default getpid.sh does a sloppy grep over 'ps -ax' output, + ;; which fails arbitrarily. + (with-output-to-file "src/testsuite/getpid.sh" + (lambda () + (display + (string-append + "#!" (which "sh") "\n" + "ps -C \"$1\" -o pid=\n")))) + ;; Our variant of getpid.sh does not match interpreter names + ;; when the script's shebang is invoked directly as "./foo". + ;; Patch cases where the test suite relies on this. + (substitute* "src/testsuite/start-server.sh" + ;; It runs 'getpid.sh sh' to test if it works at all. Run it on + ;; 'make' instead. + (("getpid.sh sh") "getpid.sh make"))))))) (home-page "http://ngircd.barton.de/") (synopsis "Lightweight Internet Relay Chat server for small networks") (description From 07b7a66526b3f6d856a5d795ad8bbee5f7902fcd Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Mon, 20 Mar 2017 22:33:20 +0100 Subject: [PATCH 23/64] =?UTF-8?q?gnu:=20ngircd:=20Use=20the=20phrase=20?= =?UTF-8?q?=E2=80=98IRC=E2=80=99=20in=20its=20description.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/messaging.scm (ngircd)[description]: Use ‘IRC’ with @dfn. --- gnu/packages/messaging.scm | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/gnu/packages/messaging.scm b/gnu/packages/messaging.scm index 535a1d3c62..65ec618799 100644 --- a/gnu/packages/messaging.scm +++ b/gnu/packages/messaging.scm @@ -259,9 +259,10 @@ (define-public ngircd (home-page "http://ngircd.barton.de/") (synopsis "Lightweight Internet Relay Chat server for small networks") (description - "ngIRCd is a lightweight Internet Relay Chat server for small or private -networks. It is easy to configure, can cope with dynamic IP addresses, and -supports IPv6, SSL-protected connections as well as PAM for authentication.") + "ngIRCd is a lightweight @dfn{Internet Relay Chat} (IRC) server for small +or private networks. It is easy to configure, can cope with dynamic IP +addresses, and supports IPv6, SSL-protected connections, as well as PAM for +authentication.") (license license:gpl2+))) (define-public pidgin From 6809d9377b0bd2cf71811637663f2ec0cbe531e5 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Mon, 20 Mar 2017 22:37:34 +0100 Subject: [PATCH 24/64] gnu: ngircd: Use HTTPS. * gnu/packages/messaging.scm (ngircd)[source, home-page]: Use HTTPS. --- gnu/packages/messaging.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/messaging.scm b/gnu/packages/messaging.scm index 65ec618799..c32bffcb89 100644 --- a/gnu/packages/messaging.scm +++ b/gnu/packages/messaging.scm @@ -206,7 +206,7 @@ (define-public ngircd (version "24") (source (origin (method url-fetch) - (uri (string-append "http://arthur.barton.de/pub/ngircd/ngircd-" + (uri (string-append "https://arthur.barton.de/pub/ngircd/ngircd-" version ".tar.xz")) (sha256 (base32 @@ -256,7 +256,7 @@ (define-public ngircd ;; It runs 'getpid.sh sh' to test if it works at all. Run it on ;; 'make' instead. (("getpid.sh sh") "getpid.sh make"))))))) - (home-page "http://ngircd.barton.de/") + (home-page "https://ngircd.barton.de/") (synopsis "Lightweight Internet Relay Chat server for small networks") (description "ngIRCd is a lightweight @dfn{Internet Relay Chat} (IRC) server for small From 9437fd7399425ed281e1bfc13240288ba9078caa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Mon, 20 Mar 2017 22:13:27 +0100 Subject: [PATCH 25/64] build: Install .go files to $libdir/guile/X.Y. * configure.ac: Define and substitute 'guileobjectdir'. * Makefile.am (nobase_nodist_guilemodule_DATA): Remove $(GOBJECTS). (nobase_nodist_guileobject_DATA): New variable. (guix_install_go_files): Adjust accordingly. (install-data-hook): Likewise. * scripts/guix.in (config-lookup): Add 'exec_prefix' and 'guileobjectdir'. Add '_' in VAR-REF-REGEXP. (maybe-augment-load-paths!): Distinguish OBJECT-DIR from MODULE-DIR. --- Makefile.am | 9 +++++---- configure.ac | 4 +++- scripts/guix.in | 11 ++++++++--- 3 files changed, 16 insertions(+), 8 deletions(-) diff --git a/Makefile.am b/Makefile.am index ff37a46355..cd2388ac65 100644 --- a/Makefile.am +++ b/Makefile.am @@ -221,7 +221,8 @@ GOBJECTS = $(MODULES:%.scm=%.go) guix/config.go $(dist_noinst_DATA:%.scm=%.go) nobase_dist_guilemodule_DATA = \ $(MODULES) $(AUX_FILES) $(EXAMPLES) \ $(MISC_DISTRO_FILES) -nobase_nodist_guilemodule_DATA = $(GOBJECTS) guix/config.scm +nobase_nodist_guilemodule_DATA = guix/config.scm +nobase_nodist_guileobject_DATA = $(GOBJECTS) # Do we need to provide our own non-broken (srfi srfi-37) module? if INSTALL_SRFI_37 @@ -455,14 +456,14 @@ SUFFIXES = .go # files. See # # for details. -guix_install_go_files = install-nobase_nodist_guilemoduleDATA +guix_install_go_files = install-nobase_nodist_guileobjectDATA $(guix_install_go_files): install-nobase_dist_guilemoduleDATA # The above trick doesn't work for 'config.go' because both 'config.scm' and -# 'config.go' are listed in $(nobase_nodist_guilemodule_DATA). Thus, give it +# 'config.go' are listed in $(nobase_nodist_guileobject_DATA). Thus, give it # special treatment. install-data-hook: set-bootstrap-executable-permissions - touch "$(DESTDIR)$(guilemoduledir)/guix/config.go" + touch "$(DESTDIR)$(guileobjectdir)/guix/config.go" SUBDIRS = po/guix po/packages diff --git a/configure.ac b/configure.ac index 76f52e0ec3..2b4620c44b 100644 --- a/configure.ac +++ b/configure.ac @@ -85,9 +85,11 @@ if test "x$GUILE_EFFECTIVE_VERSION" = "x2.0"; then PKG_CHECK_MODULES([GUILE], [guile-2.0 >= 2.0.9]) fi -dnl Installation directory for .scm and .go files. +dnl Installation directories for .scm and .go files. guilemoduledir="${datarootdir}/guile/site/$GUILE_EFFECTIVE_VERSION" +guileobjectdir="${libdir}/guile/$GUILE_EFFECTIVE_VERSION/site-ccache" AC_SUBST([guilemoduledir]) +AC_SUBST([guileobjectdir]) dnl The GnuTLS bindings are necessary for substitutes over HTTPS and for 'guix dnl pull', among other things. diff --git a/scripts/guix.in b/scripts/guix.in index 5d6921dd09..e20c274242 100644 --- a/scripts/guix.in +++ b/scripts/guix.in @@ -30,10 +30,12 @@ (define config-lookup (let ((config '(("prefix" . "@prefix@") + ("exec_prefix" . "@exec_prefix@") ("datarootdir" . "@datarootdir@") ("guilemoduledir" . "@guilemoduledir@") + ("guileobjectdir" . "@guileobjectdir@") ("localedir" . "@localedir@"))) - (var-ref-regexp (make-regexp "\\$\\{([a-z]+)\\}"))) + (var-ref-regexp (make-regexp "\\$\\{([a-z_]+)\\}"))) (define (expand-var-ref match) (lookup (match:substring match 1))) (define (expand str) @@ -45,14 +47,17 @@ (define (maybe-augment-load-paths!) (unless (getenv "GUIX_UNINSTALLED") - (let ((module-dir (config-lookup "guilemoduledir"))) + (let ((module-dir (config-lookup "guilemoduledir")) + (object-dir (config-lookup "guileobjectdir"))) (push! module-dir %load-path) - (push! module-dir %load-compiled-path)) + (push! object-dir %load-compiled-path)) (let ((updates-dir (and=> (or (getenv "XDG_CONFIG_HOME") (and=> (getenv "HOME") (cut string-append <> "/.config"))) (cut string-append <> "/guix/latest")))) (when (and updates-dir (file-exists? updates-dir)) + ;; XXX: Currently 'guix pull' puts both .scm and .go files in + ;; UPDATES-DIR. (push! updates-dir %load-path) (push! updates-dir %load-compiled-path))))) From 0a15ee7b63bd4327345f68e1a3ed202b441660b8 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Fri, 12 Aug 2016 10:54:37 +0100 Subject: [PATCH 26/64] gnu: Add fmt. * gnu/packages/pretty-print.scm (fmt): New variable. --- gnu/packages/pretty-print.scm | 29 ++++++++++++++++++++++++++++- 1 file changed, 28 insertions(+), 1 deletion(-) diff --git a/gnu/packages/pretty-print.scm b/gnu/packages/pretty-print.scm index 8819b8adaf..3af7777304 100644 --- a/gnu/packages/pretty-print.scm +++ b/gnu/packages/pretty-print.scm @@ -2,6 +2,7 @@ ;;; Copyright © 2014 Eric Bavier ;;; Copyright © 2016 Efraim Flashner ;;; Copyright © 2016 Ricardo Wurmus +;;; Copyright © 2017 Marius Bakke ;;; ;;; This file is part of GNU Guix. ;;; @@ -22,6 +23,7 @@ (define-module (gnu packages pretty-print) #:use-module (guix packages) #:use-module (guix licenses) #:use-module (guix download) + #:use-module (guix build-system cmake) #:use-module (guix build-system gnu) #:use-module (gnu packages) #:use-module (gnu packages ghostscript) @@ -34,7 +36,8 @@ (define-module (gnu packages pretty-print) #:use-module (gnu packages gperf) #:use-module (gnu packages lua) #:use-module (gnu packages perl) - #:use-module (gnu packages pkg-config)) + #:use-module (gnu packages pkg-config) + #:use-module (gnu packages zip)) (define-public a2ps (package @@ -147,6 +150,30 @@ (define-public enscript different programming languages.") (license gpl3+))) +(define-public fmt + (package + (name "fmt") + (version "3.0.1") + (source (origin + (method url-fetch) + (uri (string-append + "https://github.com/fmtlib/fmt/releases/download/" + version "/fmt-" version ".zip")) + (sha256 + (base32 + "0l4514mk83cjimynci3ghrfdchjy8cya1qa45c1fg2lsj7fg16jc")))) + (build-system cmake-build-system) + (native-inputs + `(("unzip" ,unzip))) + (home-page "http://fmtlib.net/latest/") + (synopsis "Small and fast C++ formatting library") + (description + "@code{fmt} (formerly @code{cppformat}) is a formatting library for C++. +It can be used as a safe alternative to @code{printf} or as a fast alternative +to @code{IOStreams}.") + ;; The library is bsd-2, but documentation and tests include other licenses. + (license (list bsd-2 bsd-3 psfl)))) + (define-public source-highlight (package (name "source-highlight") From f69e20341f7bdf21e48893afa6422aab46e46c8a Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Fri, 3 Mar 2017 02:19:14 +0100 Subject: [PATCH 27/64] gnu: kodi: Update to 18.0_alpha-0-b35147e. * gnu/packages/kodi.scm (libdvdnav/kodi, libdvdread/kodi, libdvdcss/kodi): New variables. (kodi): Update to 18.0_alpha-0-b35147e. [source]: Download from git. Unbundle more stuff. [build-system]: Change to CMAKE-BUILD-SYSTEM. [arguments]: Add #:configure-flag to disable nonfree components. Rework phases to patch bundled software and bootstrap more libraries. [native-inputs]: Remove CMAKE, DOXYGEN, GAWK and WHICH. Add LIBDVDCSS/KODI, LIBDVDNAV/KODI and LIBDVDREAD/KODI. [inputs]: Remove BOOST, BZIP2, ENCA, GPERF, JASPER, LIBMODPLUG, LIBSAMPLERATE, LIBXMU, LIBXT, MESA-UTILS, SDL2 and UNZIP. Add FMT, GIFLIB, LCMS and LIBDRM. [license]: Update for remaining software bundles. --- gnu/packages/kodi.scm | 286 ++++++++++++++++++++++++++++++++---------- 1 file changed, 218 insertions(+), 68 deletions(-) diff --git a/gnu/packages/kodi.scm b/gnu/packages/kodi.scm index 929894d61e..d35758ba40 100644 --- a/gnu/packages/kodi.scm +++ b/gnu/packages/kodi.scm @@ -1,5 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2015 David Thompson +;;; Copyright © 2017 Marius Bakke ;;; ;;; This file is part of GNU Guix. ;;; @@ -22,13 +23,13 @@ (define-module (gnu packages kodi) #:use-module (guix packages) #:use-module (guix download) #:use-module (guix git-download) + #:use-module (guix build-system cmake) #:use-module (guix build-system gnu) #:use-module (gnu packages algebra) #:use-module (gnu packages audio) #:use-module (gnu packages autotools) #:use-module (gnu packages avahi) #:use-module (gnu packages base) - #:use-module (gnu packages boost) #:use-module (gnu packages cdrom) #:use-module (gnu packages cmake) #:use-module (gnu packages compression) @@ -52,6 +53,7 @@ (define-module (gnu packages kodi) #:use-module (gnu packages mp3) #:use-module (gnu packages pcre) #:use-module (gnu packages pkg-config) + #:use-module (gnu packages pretty-print) #:use-module (gnu packages pulseaudio) #:use-module (gnu packages python) #:use-module (gnu packages samba) @@ -119,153 +121,294 @@ (define-public crossguid (home-page "https://github.com/graeme-hill/crossguid") (license license:expat)))) +;; Kodi requires using their own special forks of these libraries. +;; In addition, it insists on downloading and building these as part +;; of the standard build process. To make things easier, we bootstrap +;; and patch shebangs here, so we don't have to worry about it later. +(define libdvdnav/kodi + (let ((commit "981488f7f27554b103cca10c1fbeba027396c94a")) + (package + (name "libdvdnav-bootstrapped") + (version commit) + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/xbmc/libdvdnav.git") + (commit commit))) + (file-name (string-append name "-" version "-checkout")) + (sha256 + (base32 + "089pswc51l3avh95zl4cpsh7gh1innh7b2y4xgx840mcmy46ycr8")))) + (build-system gnu-build-system) + (arguments + '(#:tests? #f + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'bootstrap + (lambda _ (zero? (system* "autoreconf" "-vif")))) + (delete 'configure) + (delete 'build) + (replace 'install + (lambda* (#:key outputs #:allow-other-keys) + (copy-recursively "." (assoc-ref outputs "out")) + #t))))) + (native-inputs + `(("autoconf" ,autoconf) + ("automake" ,automake) + ("libtool" ,libtool) + ("pkg-config" ,pkg-config))) + (home-page "https://github.com/xbmc/libdvdnav") + (synopsis (package-synopsis libdvdnav)) + (description (package-description libdvdnav)) + (license license:gpl2+)))) + +(define libdvdread/kodi + (let ((commit "17d99db97e7b8f23077b342369d3c22a6250affd")) + (package + (name "libdvdread-bootstrapped") + (version commit) + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/xbmc/libdvdread.git") + (commit commit))) + (file-name (string-append name "-" version "-checkout")) + (sha256 + (base32 + "1gr5aq1cjr3as9mnwrw29cxn4m6f6pfrxdahkdcjy70q3ldg90sl")))) + (build-system gnu-build-system) + (arguments + '(#:tests? #f + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'bootstrap + (lambda _ (zero? (system* "autoreconf" "-vif")))) + (delete 'configure) + (delete 'build) + (replace 'install + (lambda* (#:key outputs #:allow-other-keys) + (copy-recursively "." (assoc-ref outputs "out")) + #t))))) + (native-inputs + `(("autoconf" ,autoconf) + ("automake" ,automake) + ("libtool" ,libtool) + ("pkg-config" ,pkg-config))) + (home-page "https://github.com/xbmc/libdvdread") + (synopsis (package-synopsis libdvdread)) + (description (package-description libdvdread)) + (license (list license:gpl2+ license:lgpl2.1+))))) + +(define libdvdcss/kodi + (let ((commit "2f12236bc1c92f73c21e973363f79eb300de603f")) + (package + (name "libdvdcss-bootstrapped") + (version commit) + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/xbmc/libdvdcss.git") + (commit commit))) + (file-name (string-append name "-" version "-checkout")) + (sha256 + (base32 + "198r0q73i55ga1dvyqq9nfcri0zq08b94hy8671lg14i3izx44dd")))) + (build-system gnu-build-system) + (arguments + '(#:tests? #f + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'bootstrap + (lambda _ (zero? (system* "autoreconf" "-vif")))) + (delete 'configure) + (delete 'build) + (replace 'install + (lambda* (#:key outputs #:allow-other-keys) + (copy-recursively "." (assoc-ref outputs "out")) + #t))))) + (native-inputs + `(("autoconf" ,autoconf) + ("automake" ,automake) + ("libtool" ,libtool) + ("pkg-config" ,pkg-config))) + (home-page "https://github.com/xbmc/libdvdcss") + (synopsis (package-synopsis libdvdcss)) + (description (package-description libdvdcss)) + (license license:gpl2+)))) + (define-public kodi + ;; We package the git version because the current released + ;; version was cut while the cmake transition was in turmoil. + (let ((commit "b35147e2bec41ce332b9788f4a6ac94d2e5999e3") + (revision "0")) (package (name "kodi") - (version "16.0") + (version (string-append "18.0_alpha-" revision "-" (string-take commit 7))) (source (origin - (method url-fetch) - (uri (string-append "http://mirrors.kodi.tv/releases/source/" - version "-Jarvis.tar.gz")) - (file-name (string-append name "-" version ".tar.gz")) + (method git-fetch) + (uri (git-reference + (url "https://github.com/xbmc/xbmc.git") + (commit commit))) + (file-name (string-append name "-" version "-checkout")) (sha256 (base32 - "0iirspvv7czf785l2lqf232dvdaj87srbn9ni97ngvnd6w9yl884")) + "0rhb9rcz5h8mky8mx6idzybnpgjh2lxcjkh16z1x6fr4pis2jcbj")) (snippet - ;; Delete bundled ffmpeg. - ;; TODO: Delete every other bundled library. '(begin (use-modules (guix build utils)) - (delete-file-recursively "tools/depends/target/ffmpeg"))) + (for-each delete-file-recursively + '("project/BuildDependencies/bin/" + ;; TODO: Purge these jars. + ;;"tools/codegenerator/groovy" + ;; And these sources: + ;; "tools/depend/native/JsonSchemaBuilder" + ;; "tools/depend/native/TexturePacker" + ;; "lib/UnrarXlib" + ;; "lib/gtest" + ;; "lib/cpluff" + ;; "lib/libexif" + ;; "lib/libUPnP" + "lib/libUPnP/Neptune/ThirdParty" + "project/Win32BuildSetup/tools/7z")) + #t)) (modules '((guix build utils))))) - (build-system gnu-build-system) + (build-system cmake-build-system) (arguments - '(#:configure-flags '("--with-ffmpeg=shared") ; don't use bundled ffmpeg + '(#:modules ((srfi srfi-1) + (guix build cmake-build-system) + (guix build utils)) + #:configure-flags + (list "-DENABLE_INTERNAL_FFMPEG=OFF" + "-DENABLE_INTERNAL_CROSSGUID=OFF" + (string-append "-Dlibdvdread_URL=" + (assoc-ref %build-inputs "libdvdread-bootstrapped")) + (string-append "-Dlibdvdnav_URL=" + (assoc-ref %build-inputs "libdvdnav-bootstrapped")) + (string-append "-Dlibdvdcss_URL=" + (assoc-ref %build-inputs "libdvdcss-bootstrapped")) + "-DENABLE_NONFREE=OFF") #:phases (modify-phases %standard-phases - ;; JsonSchemaBuilder is a small tool needed by the build system that - ;; comes bundled with the source. The build system tries to build it - ;; during the bootstrapping phase, which causes serious issues + ;; The build system tries to bootstrap these bundled components + ;; during the regular build phase, which causes serious issues ;; because there's no time for shebangs to be patched. So, we ;; bootstrap it on our own instead. - (add-after 'unpack 'bootstrap-jsonschemabuilder - (lambda* (#:key inputs #:allow-other-keys) - (let ((dir "tools/depends/native/JsonSchemaBuilder/src")) - (with-directory-excursion dir - (zero? (system* "sh" "autogen.sh")))))) - ;; Now we can do the regular bootstrapping process, but only after - ;; the first round of shebang patching. We must repeat the patching - ;; after bootstrapping so that all of the files generated by the - ;; Autotools et al. are patched appropriately. - (add-after 'patch-source-shebangs 'bootstrap - (lambda* (#:key inputs #:allow-other-keys) - ;; We bootstrapped JsonSchemaBuilder in the previous phase, so we - ;; need to make sure it isn't done a second time. Otherwise, it - ;; would undo the shebang patching that we worked so hard for. - (substitute* '("tools/depends/native/JsonSchemaBuilder/Makefile") - (("\\./autogen\\.sh") "")) - ;; This essentially does what their 'bootstrap' script does, but - ;; additionally passes the correct CONFIG_SHELL. - (let ((bash (string-append (assoc-ref inputs "bash") "/bin/sh"))) - (define (run-make makefile) - (zero? (system* "make" "-f" makefile - "BOOTSTRAP_STANDALONE=1" - (string-append "CONFIG_SHELL=" bash)))) - (and (run-make "bootstrap.mk") - (run-make "codegenerator.mk"))))) - (add-after 'bootstrap 'patch-source-shebangs-again - (assoc-ref %standard-phases 'patch-source-shebangs)) - ;; 3 tests fail that appear harmless, so we disable them. - (add-before 'check 'disable-some-tests + (add-after 'unpack 'bootstrap-bundled-software (lambda _ + (let ((dirs '("tools/depends/native/JsonSchemaBuilder/src" + "lib/cpluff"))) + (every (lambda (third-party) + (with-directory-excursion third-party + (zero? (system* "autoreconf" "-vif")))) + dirs)))) + (add-after 'bootstrap-bundled-software 'patch-stuff + (lambda _ + ;; Prevent the build scripts from calling autoreconf in the + ;; build stage. Otherwise, it would undo the bootstrapping + ;; and shebang patching that we worked so hard for. + (substitute* "cmake/modules/FindCpluff.cmake" + (("autoreconf -vif") "true")) + (substitute* "lib/cpluff/po/Makefile.in.in" + (("/bin/sh") (which "sh"))) + (substitute* "cmake/modules/FindLibDvd.cmake" + ;; The libdvd* sources that we bootstrapped separately are + ;; unpacked in the build phase. This is our best opportunity + ;; to make them writable before the build process starts. + (("autoreconf -vif") "chmod -R u+w .")) + + ;; Let's disable some tests that are known not to work here. + ;; Doing this later while in the cmake "../build" directory + ;; is trickier. (substitute* '("xbmc/utils/test/TestSystemInfo.cpp") (("TEST_F\\(TestSystemInfo, GetOsPrettyNameWithVersion\\)") "TEST_F(TestSystemInfo, DISABLED_GetOsPrettyNameWithVersion)") (("TEST_F\\(TestSystemInfo, GetOsName\\)") "TEST_F(TestSystemInfo, DISABLED_GetOsName)") (("TEST_F\\(TestSystemInfo, GetOsVersion\\)") - "TEST_F(TestSystemInfo, DISABLED_GetOsVersion)"))))))) + "TEST_F(TestSystemInfo, DISABLED_GetOsVersion)")) + ;; FIXME: Why are these failing. + (substitute* "xbmc/network/test/TestWebServer.cpp" + (("TEST_F\\(TestWebServer, Can") + "TEST_F(TestWebServer, DISABLED_Can")) + #t)) + (add-before 'build 'set-build-environment + (lambda _ + ;; Some bundled build scripts fall back to /bin/sh + ;; if this is not set. + (setenv "CONFIG_SHELL" (which "sh")) + #t)) + (add-before 'check 'build-kodi-test + (lambda _ + (zero? (system* "make" "kodi-test"))))))) ;; TODO: Add dependencies for: - ;; - vdpau ;; - nfs - ;; - ;; FIXME: libusb detection fails. - ;; - ;; FIXME: As you can see, we use a lot of external libraries, but it seems - ;; that a few bundled ones are still being used. + ;; - cec + ;; - plist + ;; - shairplay (native-inputs `(("autoconf" ,autoconf) ("automake" ,automake) - ("cmake" ,cmake) - ("doxygen" ,doxygen) - ("gawk" ,gawk) ("gettext" ,gettext-minimal) ("icedtea" ,icedtea) ; needed at build-time only, mandatory + ("libdvdcss-bootstrapped" ,libdvdcss/kodi) + ("libdvdnav-bootstrapped" ,libdvdnav/kodi) + ("libdvdread-bootstrapped" ,libdvdread/kodi) ("libtool" ,libtool) ("pkg-config" ,pkg-config) ("swig" ,swig) - ("which" ,which) ("yasm" ,yasm))) (inputs `(("alsa-lib" ,alsa-lib) ("avahi" ,avahi) ("bluez" ,bluez) - ("boost" ,boost) - ("bzip2" ,bzip2) ("crossguid" ,crossguid) ("curl" ,curl) ("dcadec" ,dcadec) ("dbus" ,dbus) - ("enca" ,enca) ("eudev" ,eudev) ("ffmpeg" ,ffmpeg) ("flac" ,flac) + ("fmt" ,fmt) ("fontconfig" ,fontconfig) ("freetype" ,freetype) ("fribidi" ,fribidi) + ("giflib" ,giflib) ("glew" ,glew) ("gnutls" ,gnutls) - ("gperf" ,gperf) - ("jasper" ,jasper) ("lame" ,lame) + ("lcms" ,lcms) ("libass" ,libass) ("libbluray" ,libbluray) ("libcap" ,libcap) ("libcdio" ,libcdio) + ("libdrm" ,libdrm) ("libgcrypt" ,libgcrypt) ("libjpeg" ,libjpeg) ("libltdl" ,libltdl) ("libmad" ,libmad) ("libmicrohttpd" ,libmicrohttpd) - ("libmodplug" ,libmodplug) ("libmpeg2" ,libmpeg2) ("libogg" ,libogg) ("libpng" ,libpng) - ("libsamplerate" ,libsamplerate) ("libssh" ,libssh) ("libtiff" ,libtiff) ("libva" ,libva) ("libvorbis" ,libvorbis) ("libxml2" ,libxml2) - ("libxmu" ,libxmu) ("libxrandr" ,libxrandr) ("libxrender" ,libxrender) ("libxslt" ,libxslt) - ("libxt" ,libxt) ("libyajl" ,libyajl) ("lzo" ,lzo) - ("mesa-utils" ,mesa-utils) ("mysql" ,mysql) ("openssl" ,openssl) ("pcre" ,pcre) ("pulseaudio" ,pulseaudio) ("python" ,python-2) ("samba" ,samba) - ("sdl2" ,sdl2) ("sqlite" ,sqlite) ("taglib" ,taglib) ("tinyxml" ,tinyxml) - ("unzip" ,unzip) ("util-linux" ,util-linux) ("zip" ,zip) ("zlib" ,zlib))) @@ -274,4 +417,11 @@ (define (run-make makefile) music, games, etc. Kodi is highly customizable and features a theme and plug-in system.") (home-page "http://kodi.tv") - (license license:gpl2+))) + ;; XBMC is largely GPL2+, with some library components as LGPL2.1+, but + ;; there are some other licenses spread throughout. + (license (list license:gpl2+ license:lgpl2.1+ + license:gpl3+ ;WiiRemote client + license:expat ;cpluff, dbwrappers + license:public-domain ;cpluff/examples + license:bsd-3 ;misc, gtest + license:bsd-2))))) ;xbmc/freebsd From 38190ea5efa33ff91f6764149591b8939be0b932 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Mon, 20 Mar 2017 06:57:09 +0100 Subject: [PATCH 28/64] gnu: vim: Update to 8.0.0494. * gnu/packages/patches/vim-CVE-2017-5953.patch: Delete file. * gnu/local.mk (dist_patch_DATA): Remove it. * gnu/packages/vim.scm (vim, vim-full): Update to 8.0.0494. [source]: Remove patch. (vim-full)[arguments]: Add two phases to drop tests and start xorg. [native-inputs]: Add XORG-SERVER. --- gnu/local.mk | 1 - gnu/packages/patches/vim-CVE-2017-5953.patch | 32 -------------------- gnu/packages/vim.scm | 29 +++++++++++++++--- 3 files changed, 24 insertions(+), 38 deletions(-) delete mode 100644 gnu/packages/patches/vim-CVE-2017-5953.patch diff --git a/gnu/local.mk b/gnu/local.mk index c05edc87a4..97ca3eb720 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -964,7 +964,6 @@ dist_patch_DATA = \ %D%/packages/patches/util-linux-CVE-2017-2616.patch \ %D%/packages/patches/upower-builddir.patch \ %D%/packages/patches/valgrind-enable-arm.patch \ - %D%/packages/patches/vim-CVE-2017-5953.patch \ %D%/packages/patches/virglrenderer-CVE-2017-6386.patch \ %D%/packages/patches/vorbis-tools-CVE-2014-9638+CVE-2014-9639.patch \ %D%/packages/patches/vorbis-tools-CVE-2014-9640.patch \ diff --git a/gnu/packages/patches/vim-CVE-2017-5953.patch b/gnu/packages/patches/vim-CVE-2017-5953.patch deleted file mode 100644 index 070f98c2cb..0000000000 --- a/gnu/packages/patches/vim-CVE-2017-5953.patch +++ /dev/null @@ -1,32 +0,0 @@ -Fix CVE-2017-5953: - -https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-5953 -https://groups.google.com/forum/#!topic/vim_dev/t-3RSdEnrHY - -This change is adapted from the upstream source repository: - -https://github.com/vim/vim/commit/6d3c8586fc81b022e9f06c611b9926108fb878c7 - -diff --git a/src/spellfile.c b/src/spellfile.c -index c7d87c6..00ef019 100644 ---- a/src/spellfile.c -+++ b/src/spellfile.c -@@ -1585,7 +1585,7 @@ spell_read_tree( - int prefixtree, /* TRUE for the prefix tree */ - int prefixcnt) /* when "prefixtree" is TRUE: prefix count */ - { -- int len; -+ long len; - int idx; - char_u *bp; - idx_T *ip; -@@ -1595,6 +1595,9 @@ spell_read_tree( - len = get4c(fd); - if (len < 0) - return SP_TRUNCERROR; -+ if (len >= LONG_MAX / (long)sizeof(int)) -+ /* Invalid length, multiply with sizeof(int) would overflow. */ -+ return SP_FORMERROR; - if (len > 0) - { - /* Allocate the byte array. */ diff --git a/gnu/packages/vim.scm b/gnu/packages/vim.scm index 82403feb1d..3dbd6d952b 100644 --- a/gnu/packages/vim.scm +++ b/gnu/packages/vim.scm @@ -3,6 +3,7 @@ ;;; Copyright © 2016 Efraim Flashner ;;; Copyright © 2016, 2017 ng0 ;;; Copyright © 2017 Ricardo Wurmus +;;; Copyright © 2017 Marius Bakke ;;; ;;; This file is part of GNU Guix. ;;; @@ -22,6 +23,7 @@ (define-module (gnu packages vim) #:use-module ((guix licenses) #:prefix license:) #:use-module (guix packages) + #:use-module (guix utils) #:use-module (guix download) #:use-module (guix git-download) #:use-module (guix build-system cmake) @@ -58,16 +60,15 @@ (define-module (gnu packages vim) (define-public vim (package (name "vim") - (version "8.0.0300") + (version "8.0.0494") (source (origin (method url-fetch) (uri (string-append "https://github.com/vim/vim/archive/v" version ".tar.gz")) (file-name (string-append name "-" version ".tar.gz")) - (patches (search-patches "vim-CVE-2017-5953.patch")) (sha256 (base32 - "04samk2bakyixbxyc3p0g6ypls45105sikibg0wc6lmak9bqjs85")))) + "08kzimdyla35ndrbn68jf8pmzm7nd2qrydnvk57j089m6ajic62r")))) (build-system gnu-build-system) (arguments `(#:test-target "test" @@ -128,9 +129,27 @@ (define-public vim-full "--enable-xim" "--disable-selinux" "--enable-gui") - ,@(package-arguments vim))) + ,@(substitute-keyword-arguments (package-arguments vim) + ((#:phases phases) + `(modify-phases ,phases + (add-after 'build 'drop-failing-tests + (lambda _ + ;; These tests fail mysteriously with GUI enabled. + ;; https://github.com/vim/vim/issues/1460 + (substitute* "src/testdir/test_cmdline.vim" + (("call assert_equal\\(.+getcmd.+\\(\\)\\)") "")) + #t)) + (add-before 'check 'start-xserver + (lambda* (#:key inputs #:allow-other-keys) + ;; Some tests require an X server, but does not start one. + (let ((xorg-server (assoc-ref inputs "xorg-server")) + (display ":1")) + (setenv "DISPLAY" display) + (zero? (system (string-append xorg-server "/bin/Xvfb " + display " &"))))))))))) (native-inputs - `(("pkg-config" ,pkg-config))) + `(("pkg-config" ,pkg-config) + ("xorg-server" ,xorg-server))) (inputs `(("acl" ,acl) ("atk" ,atk) From d3d92ec2ba35084364ce003dfcfdc1412af519fc Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Tue, 21 Mar 2017 00:32:54 +0100 Subject: [PATCH 29/64] gnu: greenisland: Update to 0.9.0.1. * gnu/packages/display-managers.scm (greenisland): Update to 0.9.0.1. --- gnu/packages/display-managers.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/display-managers.scm b/gnu/packages/display-managers.scm index 114773330d..307bc864ec 100644 --- a/gnu/packages/display-managers.scm +++ b/gnu/packages/display-managers.scm @@ -41,7 +41,7 @@ (define-module (gnu packages display-managers) (define-public greenisland (package (name "greenisland") - (version "0.8.1") + (version "0.9.0.1") (source (origin (method url-fetch) (uri (string-append @@ -50,7 +50,7 @@ (define-public greenisland "greenisland-" version ".tar.xz")) (sha256 (base32 - "1c9rlq7fqrsd5nb37anjvnp9xspqjz1kc0fvydv5xdy3abg8mw40")))) + "1flmha31hmii6m2mdvmn1q5dc0fhnvgc4lp1b4wgkz20y7x4f1fm")))) (build-system cmake-build-system) (native-inputs `(("extra-cmake-modules" ,extra-cmake-modules) From 3b4efb1f459d0cb21bd47d583cdec3ad38e64dcb Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Tue, 21 Mar 2017 01:06:41 +0100 Subject: [PATCH 30/64] gnu: dtc: Update to 1.4.4. * gnu/packages/bootloaders.scm (dtc): Update to 1.4.4. [source]: Use mirror://kernel.org. --- gnu/packages/bootloaders.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/bootloaders.scm b/gnu/packages/bootloaders.scm index 8029c00da7..f3fc492d49 100644 --- a/gnu/packages/bootloaders.scm +++ b/gnu/packages/bootloaders.scm @@ -226,15 +226,15 @@ (define-public syslinux (define-public dtc (package (name "dtc") - (version "1.4.2") + (version "1.4.4") (source (origin (method url-fetch) (uri (string-append - "https://www.kernel.org/pub/software/utils/dtc/" + "mirror://kernel.org/software/utils/dtc/" "dtc-" version ".tar.xz")) (sha256 (base32 - "1b7si8niyca4wxbfah3qw4p4wli81mc1qwfhaswvrfqahklnwi8k")))) + "1yygyvnnpdh241hl90n9p3kxcdvk3jxmsr4ndb961c8mq3ak21s7")))) (build-system gnu-build-system) (native-inputs `(("bison" ,bison) From 193420a80319ed72db511b2d3d3cec62fc941d17 Mon Sep 17 00:00:00 2001 From: Roel Janssen Date: Tue, 21 Mar 2017 12:14:05 +0100 Subject: [PATCH 31/64] ftp-client: Allow custom username and password for FTP servers. * guix/ftp-client.scm (ftp-open): Add username and password arguments. --- guix/ftp-client.scm | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/guix/ftp-client.scm b/guix/ftp-client.scm index 0a179282ed..054a00ad7f 100644 --- a/guix/ftp-client.scm +++ b/guix/ftp-client.scm @@ -121,7 +121,10 @@ (define (raise-error errno) (raise-error errno))))) (connect s sockaddr))) -(define* (ftp-open host #:optional (port "ftp") #:key timeout) +(define* (ftp-open host #:optional (port "ftp") + #:key timeout + (username "anonymous") + (password "guix@example.com")) "Open an FTP connection to HOST on PORT (a service-identifying string, or a TCP port number), and return it. @@ -156,7 +159,7 @@ (define addresses (if (eqv? code 220) (begin ;;(%ftp-command "OPTS UTF8 ON" 200 s) - (%ftp-login "anonymous" "guix@example.com" s) + (%ftp-login username password s) (%make-ftp-connection s ai)) (begin (close s) From a4f542341511f33ece18d16b68118214da8143ec Mon Sep 17 00:00:00 2001 From: Roel Janssen Date: Tue, 21 Mar 2017 12:15:14 +0100 Subject: [PATCH 32/64] download: Handle username and password properties for FTP URIs. * guix/build/download.scm (ftp-fetch): Process username and password from a URI. --- guix/build/download.scm | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/guix/build/download.scm b/guix/build/download.scm index 36c815c167..c5dddf83de 100644 --- a/guix/build/download.scm +++ b/guix/build/download.scm @@ -241,7 +241,18 @@ (define (nar-uri-abbreviation uri) (define* (ftp-fetch uri file #:key timeout) "Fetch data from URI and write it to FILE. Return FILE on success. Bail out if the connection could not be established in less than TIMEOUT seconds." - (let* ((conn (ftp-open (uri-host uri) #:timeout timeout)) + (let* ((userinfo (string-split (uri-userinfo uri) #\:)) + (conn (match userinfo + (("") + (ftp-open (uri-host uri) #:timeout timeout)) + (((? string? user)) + (ftp-open (uri-host uri) #:timeout timeout + #:username user)) + (((? string? user) (? string? pass)) + (ftp-open (uri-host uri) #:timeout timeout + #:username user + #:password pass)) + (_ (ftp-open (uri-host uri) #:timeout timeout)))) (size (false-if-exception (ftp-size conn (uri-path uri)))) (in (ftp-retr conn (basename (uri-path uri)) (dirname (uri-path uri))))) From 4b9a5bd990a4c734828571147f9fec01c7053fcc Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Tue, 21 Mar 2017 07:02:36 +0100 Subject: [PATCH 33/64] gnu: kodi: Wrap executable so it finds libcurl. * gnu/packages/kodi.scm (kodi)[arguments]: Add 'wrap' phase. --- gnu/packages/kodi.scm | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/gnu/packages/kodi.scm b/gnu/packages/kodi.scm index d35758ba40..a60e2c0548 100644 --- a/gnu/packages/kodi.scm +++ b/gnu/packages/kodi.scm @@ -339,7 +339,14 @@ (define-public kodi #t)) (add-before 'check 'build-kodi-test (lambda _ - (zero? (system* "make" "kodi-test"))))))) + (zero? (system* "make" "kodi-test")))) + (add-after 'install 'wrap + (lambda* (#:key inputs outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out")) + (curl (string-append (assoc-ref inputs "curl") "/lib"))) + (wrap-program (string-append out "/bin/kodi") + `("LD_LIBRARY_PATH" suffix (,curl))) + #t)))))) ;; TODO: Add dependencies for: ;; - nfs ;; - cec From 2b9d2df799919014e9f989416589bb83eeccccad Mon Sep 17 00:00:00 2001 From: humanitiesNerd Date: Mon, 20 Mar 2017 09:41:03 +0100 Subject: [PATCH 34/64] gnu: Add perl-crypt-rc4. * gnu/pakages/perl.scm (perl-crypt-rc4): New variable. Signed-off-by: Marius Bakke --- gnu/packages/perl.scm | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm index 840e0b763e..04b9fa2862 100644 --- a/gnu/packages/perl.scm +++ b/gnu/packages/perl.scm @@ -14,6 +14,7 @@ ;;; Copyright © 2016 Jan Nieuwenhuizen ;;; Copyright © 2017 Raoul J.P. Bonnal ;;; Copyright © 2017 Marius Bakke +;;; Copyright © 2017 humanitiesNerd ;;; ;;; This file is part of GNU Guix. ;;; @@ -1369,6 +1370,26 @@ (define-public perl-crypt-randpasswd Password Generator\".") (license (package-license perl)))) +(define-public perl-crypt-rc4 + (package + (name "perl-crypt-rc4") + (version "2.02") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://cpan/authors/id/S/SI/SIFUKURT/Crypt-RC4-" + version + ".tar.gz")) + (sha256 + (base32 + "1sp099cws0q225h6j4y68hmfd1lnv5877gihjs40f8n2ddf45i2y")))) + (build-system perl-build-system) + (home-page "http://search.cpan.org/dist/Crypt-RC4") + (synopsis "Perl implementation of the RC4 encryption algorithm") + (description "A pure Perl implementation of the RC4 algorithm.") + (license (package-license perl)))) + (define-public perl-cwd-guard (package (name "perl-cwd-guard") From 6330ece9e35ac9d582330a92d5a61b493e28f507 Mon Sep 17 00:00:00 2001 From: humanitiesNerd Date: Mon, 20 Mar 2017 21:10:58 +0100 Subject: [PATCH 35/64] gnu: Add perl-ole-storage-lite. * gnu/packages/perl.scm (perl-ole-storage-lite): New variable. Signed-off-by: Marius Bakke --- gnu/packages/perl.scm | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm index 04b9fa2862..086e1fae03 100644 --- a/gnu/packages/perl.scm +++ b/gnu/packages/perl.scm @@ -5178,6 +5178,29 @@ (define-public perl-object-signature signatures.") (license (package-license perl)))) +(define-public perl-ole-storage-lite + (package + (name "perl-ole-storage-lite") + (version "0.19") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://cpan/authors/id/J/JM/JMCNAMARA/OLE-Storage_Lite-" + version + ".tar.gz")) + (sha256 + (base32 + "179cxwqxb0f9dpx8954nvwjmggxxi5ndnang41yav1dx6mf0abp7")))) + (build-system perl-build-system) + (home-page "http://search.cpan.org/dist/OLE-Storage_Lite") + (synopsis "Read and write OLE storage files") + (description "This module allows you to read and write +an OLE-Structured file. @dfn{OLE} (Object Linking and Embedding) is a +technology to store hierarchical information such as links to other +documents within a single file.") + (license (package-license perl)))) + (define-public perl-package-anon (package (name "perl-package-anon") From 3411937b154dc424529e8129ad7d5f8318e70c56 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Tue, 21 Mar 2017 13:45:57 +0100 Subject: [PATCH 36/64] gnu: git: Update to 2.12.1. * gnu/packages/version-control.scm (git): Update to 2.12.1. --- gnu/packages/version-control.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/version-control.scm b/gnu/packages/version-control.scm index 1076c18905..cce93a2fca 100644 --- a/gnu/packages/version-control.scm +++ b/gnu/packages/version-control.scm @@ -112,14 +112,14 @@ (define-public bazaar (define-public git (package (name "git") - (version "2.12.0") + (version "2.12.1") (source (origin (method url-fetch) (uri (string-append "mirror://kernel.org/software/scm/git/git-" version ".tar.xz")) (sha256 (base32 - "09r0lcjj5v2apj39f0ziqzjq2bi1jpnhszc9q4n0ab86g5j7c88q")))) + "18mdlg4ws78s4asfrn6licm9v6qw4wp9m0kdjq0y2r5pci1nf4fv")))) (build-system gnu-build-system) (native-inputs `(("native-perl" ,perl) @@ -132,7 +132,7 @@ (define-public git version ".tar.xz")) (sha256 (base32 - "0ws7h04ijqr2l0pp9qbds65v9cd70v0qfpnhqncn9zqfspw5d0wb")))))) + "1km0sbrqgni0q88abh4zb1m7xa9ld3d4qi36095b11a3vr6w7xgv")))))) (inputs `(("curl" ,curl) ("expat" ,expat) From ed428a58ec347a9fb48aa75d805fab665f0eb6f4 Mon Sep 17 00:00:00 2001 From: Arun Isaac Date: Tue, 21 Mar 2017 19:24:23 +0530 Subject: [PATCH 37/64] gnu: Add swaks. * gnu/packages/mail.scm (swaks): New variable. Signed-off-by: Marius Bakke --- gnu/packages/mail.scm | 51 ++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 50 insertions(+), 1 deletion(-) diff --git a/gnu/packages/mail.scm b/gnu/packages/mail.scm index 3bf0e66479..bd48176c7c 100644 --- a/gnu/packages/mail.scm +++ b/gnu/packages/mail.scm @@ -17,7 +17,7 @@ ;;; Copyright © 2016 Troy Sankey ;;; Copyright © 2016, 2017 ;;; Copyright © 2016 Clément Lassieur -;;; Copyright © 2016 Arun Isaac +;;; Copyright © 2016, 2017 Arun Isaac ;;; Copyright © 2016 John Darrington ;;; Copyright © 2016 Marius Bakke ;;; Copyright © 2017 Thomas Danckaert @@ -2093,3 +2093,52 @@ (define-public blists are supported). @code{bit} is a CGI/SSI program that generates web pages on the fly. Both programs are written in C and are very fast.") (license license:expat))) + +(define-public swaks + (package + (name "swaks") + (version "20170101.0") + (source + (origin + (method url-fetch) + (uri (string-append + "http://jetmore.org/john/code/swaks/files/swaks-" + version ".tar.gz")) + (sha256 + (base32 + "0pli4mlhasnqqxmmxalwyg3x7n2vhcbgsnp2xgddamjavv82vrl4")))) + (build-system perl-build-system) + (inputs + `(("perl-net-dns" ,perl-net-dns) + ("perl-net-ssleay" ,perl-net-ssleay))) + (arguments + `(#:tests? #f ; No tests + #:phases + (modify-phases %standard-phases + (delete 'configure) + (replace 'build + (lambda _ + (zero? (system* "pod2man" "doc/ref.pod" "swaks.1")))) + (replace 'install + (lambda* (#:key outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out"))) + (install-file "swaks" (string-append out "/bin")) + (install-file "swaks.1" (string-append out "/share/man/man1"))) + #t)) + (add-after 'install 'wrap-program + (lambda* (#:key outputs #:allow-other-keys) + (wrap-program (string-append (assoc-ref outputs "out") + "/bin/swaks") + `("PERL5LIB" ":" = (,(getenv "PERL5LIB")))) + #t))))) + (home-page "http://jetmore.org/john/code/swaks/") + (synopsis "Featureful SMTP test tool") + (description "Swaks is a flexible, scriptable, transaction-oriented SMTP +test tool. It handles SMTP features and extensions such as TLS, +authentication, and pipelining; multiple versions of the SMTP protocol +including SMTP, ESMTP, and LMTP; and multiple transport methods including +unix-domain sockets, internet-domain sockets, and pipes to spawned processes. +Options can be specified in environment variables, configuration files, and +the command line allowing maximum configurability and ease of use for +operators and scripters.") + (license gpl2+))) From 4b0e63670119971864289d67fc1e11a438f58ea6 Mon Sep 17 00:00:00 2001 From: Kei Kebreau Date: Sat, 18 Mar 2017 15:40:15 -0400 Subject: [PATCH 38/64] gnu: Adjust asciidoc-related build options. Commits 9099a45792306fade2d9ca55138e49ef4f01f1ea and 3078821d1380c26c738be6b5d430c595327d401f make many package inputs and build configurations related to asciidoc obsolete. * gnu/packages/compton.scm (compton)[inputs]: Remove docbook-xml, libxml2 and libxslt. * gnu/packages/mail.scm (offlinemap)[native-inputs]: Remove libxslt. * gnu/packages/linux.scm (btrfs-progs)[native-inputs]: Remove docbook-xml. (perf)[inputs]: Remove docbook-xml and libxslt. * gnu/packages/text-editors.scm (kakoune)[native-inputs]: Remove libxslt. * gnu/packages/version-control.scm (cgit)[native-inputs]: Remove docbook-xml, docbook-xsl, libxml2 and libxslt. (cvs-fast-export)[native-inputs]: Remove docbook-xml, docbook-xsl, libxml2 and libxslt. * gnu/packages/web.scm (qutebrowser)[native-inputs]: Remove docbook-xml, docbook-xsl, libxml2, and libxslt. (tinyproxy)[native-inputs]: Remove docbook-xml, docbook-xsl, libxml2 and libxslt. * gnu/packages/wm.scm (awesome)[make-flags]: Remove XML_CATALOG_FILES flag. (i3-wm)[inputs]: Remove docbook-xml. [native-inputs]: Add libxml2. --- gnu/packages/compton.scm | 3 --- gnu/packages/linux.scm | 3 --- gnu/packages/mail.scm | 3 +-- gnu/packages/text-editors.scm | 1 - gnu/packages/version-control.scm | 10 +--------- gnu/packages/web.scm | 12 ++---------- gnu/packages/wm.scm | 28 +++++++--------------------- 7 files changed, 11 insertions(+), 49 deletions(-) diff --git a/gnu/packages/compton.scm b/gnu/packages/compton.scm index a0a644db7b..323807091a 100644 --- a/gnu/packages/compton.scm +++ b/gnu/packages/compton.scm @@ -50,7 +50,6 @@ (define-public compton (build-system gnu-build-system) (inputs `(("dbus" ,dbus) - ("docbook-xml" ,docbook-xml) ("libconfig" ,libconfig) ("libx11" ,libx11) ("libxcomposite" ,libxcomposite) @@ -58,10 +57,8 @@ (define-public compton ("libxext" ,libxext) ("libxfixes" ,libxfixes) ("libxinerama" ,libxinerama) - ("libxml2" ,libxml2) ("libxrandr" ,libxrandr) ("libxrender" ,libxrender) - ("libxslt" ,libxslt) ("mesa" ,mesa) ("xprop" ,xprop) ("xwininfo" ,xwininfo))) diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index 46052fe10d..86c222f03d 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -2224,8 +2224,6 @@ (define-public perf ;; Documentation. ("libxml2" ,libxml2) ;for $XML_CATALOG_FILES - ("libxslt" ,libxslt) - ("docbook-xml" ,docbook-xml) ("docbook-xsl" ,docbook-xsl) ("xmlto" ,xmlto) ("asciidoc" ,asciidoc))) @@ -2803,7 +2801,6 @@ (define-public btrfs-progs ("xmlto" ,xmlto) ;; For building documentation. ("libxml2" ,libxml2) - ("docbook-xml" ,docbook-xml) ("docbook-xsl" ,docbook-xsl) ;; For tests. ("which" ,which))) diff --git a/gnu/packages/mail.scm b/gnu/packages/mail.scm index bd48176c7c..aaf9fce609 100644 --- a/gnu/packages/mail.scm +++ b/gnu/packages/mail.scm @@ -423,8 +423,7 @@ (define-public offlineimap "0i5dvygps1ai2qwgamab8kngrp0c5m3bgaw0jk34l8ypsk54wj8r")))) (build-system python-build-system) (native-inputs - `(("asciidoc" ,asciidoc) - ("libxslt" ,libxslt))) ; for xsltproc + `(("asciidoc" ,asciidoc))) (inputs `(("python2-pysqlite" ,python2-pysqlite) ("python2-six" ,python2-six))) (arguments diff --git a/gnu/packages/text-editors.scm b/gnu/packages/text-editors.scm index 4b6aa07ee8..a093baa3bd 100644 --- a/gnu/packages/text-editors.scm +++ b/gnu/packages/text-editors.scm @@ -137,7 +137,6 @@ (define-public kakoune ;; without them the tests fail. (zero? (system* "chmod" "-R" "u+w" "../test"))))))) (native-inputs `(("gcc" ,gcc-5) - ("libxslt" ,libxslt) ("asciidoc" ,asciidoc) ("ruby" ,ruby))) (inputs `(("gcc:lib" ,gcc-5 "lib") diff --git a/gnu/packages/version-control.scm b/gnu/packages/version-control.scm index cce93a2fca..7ade4a4840 100644 --- a/gnu/packages/version-control.scm +++ b/gnu/packages/version-control.scm @@ -450,11 +450,7 @@ (define-public cgit #t))))))) (native-inputs ;; For building manpage. - `(("asciidoc" ,asciidoc) - ("docbook-xml" ,docbook-xml) - ("docbook-xsl" ,docbook-xsl) - ("xmllint" ,libxml2) - ("xsltprot" ,libxslt))) + `(("asciidoc" ,asciidoc))) (inputs `(("git:src" ,(package-source git@2.9)) ("openssl" ,openssl) @@ -856,10 +852,6 @@ (define-public cvs-fast-export (list "CC=gcc" (string-append "prefix?=" (assoc-ref %outputs "out"))))) (inputs `(("git" ,git))) (native-inputs `(("asciidoc" ,asciidoc) - ("docbook-xml" ,docbook-xml) - ("docbook-xsl" ,docbook-xsl) - ("xmllint" ,libxml2) - ("xsltproc" ,libxslt) ;; These are needed for the tests. ("cvs" ,cvs) ("python" ,python-2) diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm index a0e76d52c4..7fb94005e8 100644 --- a/gnu/packages/web.scm +++ b/gnu/packages/web.scm @@ -626,11 +626,7 @@ (define-public tinyproxy %standard-phases))) ;; All of the below are used to generate the documentation ;; (Should they be propagated inputs of asciidoc ??) - (native-inputs `(("asciidoc" ,asciidoc) - ("libxml2" ,libxml2) - ("docbook-xml" ,docbook-xml) - ("docbook-xsl" ,docbook-xsl) - ("libxslt" ,libxslt))) + (native-inputs `(("asciidoc" ,asciidoc))) (home-page "https://tinyproxy.github.io/") (synopsis "Light-weight HTTP/HTTPS proxy daemon") (description "Tinyproxy is a light-weight HTTP/HTTPS proxy @@ -4479,11 +4475,7 @@ (define-public qutebrowser "0pf91nc0xcykahc3x7ww525c9czm8zpg80nxl8n2mrzc4ilgvass")))) (build-system python-build-system) (native-inputs - `(("asciidoc" ,asciidoc) - ("docbook-xsl" ,docbook-xsl) - ("docbook-xml" ,docbook-xml) - ("libxml2" ,libxml2) ;for xmllint - ("libxslt" ,libxslt))) ;for xsltproc + `(("asciidoc" ,asciidoc))) (inputs `(("python-colorama" ,python-colorama) ("python-cssutils" ,python-cssutils) diff --git a/gnu/packages/wm.scm b/gnu/packages/wm.scm index 7d76a2d202..b95f2e7a6f 100644 --- a/gnu/packages/wm.scm +++ b/gnu/packages/wm.scm @@ -177,26 +177,12 @@ (define-public i3-wm (build-system gnu-build-system) (arguments `(#:make-flags - (let* ((docbook-xsl-name-version ,(string-append - (package-name docbook-xsl) "-" - (package-version docbook-xsl))) - (docbook-xsl-catalog-file (string-append - (assoc-ref %build-inputs "docbook-xsl") - "/xml/xsl/" - docbook-xsl-name-version - "/catalog.xml")) - (docbook-xml-catalog-file (string-append - (assoc-ref %build-inputs "docbook-xml") - "/xml/dtd/docbook/catalog.xml"))) - ;; Reference the catalog files required to build the manpages. - (list (string-append "XML_CATALOG_FILES=" docbook-xsl-catalog-file " " - docbook-xml-catalog-file) - "CC=gcc" - (string-append "PREFIX=" %output) - ;; This works around the following error: - ;; 'error: ‘for’ loop initial declarations are only allowed in C99 - ;; or C11 mode' - "CFLAGS=-std=c11")) + (list "CC=gcc" + (string-append "PREFIX=" %output) + ;; This works around the following error: + ;; 'error: ‘for’ loop initial declarations are only allowed in C99 + ;; or C11 mode' + "CFLAGS=-std=c11") ;; The build system tries to build in a separate directory, but that ;; seems to be unnecessary. #:configure-flags '("--disable-builddir") @@ -215,7 +201,6 @@ (define-public i3-wm ("asciidoc" ,asciidoc) ("xmlto" ,xmlto) ("perl-pod-simple" ,perl-pod-simple) - ("docbook-xml" ,docbook-xml) ("libx11" ,libx11) ("pcre" ,pcre) ("startup-notification" ,startup-notification) @@ -226,6 +211,7 @@ (define-public i3-wm ("perl" ,perl) ("pkg-config" ,pkg-config) ;; For building the documentation. + ("libxml2" ,libxml2) ("docbook-xsl" ,docbook-xsl))) (home-page "https://i3wm.org/") (synopsis "Improved tiling window manager") From b1d3e0a93bf12a29fc43144156a181f409e6b362 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Tue, 21 Mar 2017 20:52:32 +0200 Subject: [PATCH 39/64] gnu: ots: Add download mirror. * gnu/packages/ots.scm (ots)[source]: Add Debian mirror. --- gnu/packages/ots.scm | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/gnu/packages/ots.scm b/gnu/packages/ots.scm index f1900746b6..d02a92768b 100644 --- a/gnu/packages/ots.scm +++ b/gnu/packages/ots.scm @@ -1,5 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2014 Marek Benc +;;; Copyright © 2017 Efraim Flashner ;;; ;;; This file is part of GNU Guix. ;;; @@ -35,9 +36,13 @@ (define-public ots (source (origin (method url-fetch) - (uri (string-append "mirror://sourceforge/libots/libots/" - name "-" version "/" name "-" version - ".tar.gz")) + ;; libots seems to have left sourceforge and taken their release + ;; tarballs with them + (uri (list (string-append "mirror://debian/pool/main/o/ots/ots_" + version ".orig.tar.gz") + (string-append "mirror://sourceforge/libots/libots/" + name "-" version "/" name "-" version + ".tar.gz"))) (sha256 (base32 "0dz1ccd7ymzk4swz1aly4im0k3pascnshmgg1whd2rk14li8v47a")) (patches (search-patches "ots-no-include-missing-file.patch")))) From 8ea71f20050f9faf1f1faba4b02216436aee783d Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Tue, 21 Mar 2017 20:57:08 +0200 Subject: [PATCH 40/64] gnu: ots: Use 'modify-phases' syntax. * gnu/packages/ots.scm (ots)[arguments]: Use 'modify-phases' syntax. --- gnu/packages/ots.scm | 23 ++++++++++++----------- 1 file changed, 12 insertions(+), 11 deletions(-) diff --git a/gnu/packages/ots.scm b/gnu/packages/ots.scm index d02a92768b..73dd5e4832 100644 --- a/gnu/packages/ots.scm +++ b/gnu/packages/ots.scm @@ -53,17 +53,18 @@ (define-public ots ;; before libots-1.la has been built. '(#:parallel-build? #f - #:phases (alist-cons-after - 'configure 'set-shared-lib-extension - (lambda _ - ;; For some reason, the 'libtool' script (from Libtool - ;; 1.5.2, Debian variant) sets 'shrext_cmds' instead of - ;; 'shrext' for the shared library file name extension. - ;; This leads to the creation of 'libots-1' instead of - ;; 'libots-1.so'. Fix that. - (substitute* "libtool" - (("shrext_cmds") "shrext"))) - %standard-phases))) + #:phases + (modify-phases %standard-phases + (add-after 'configure 'set-shared-lib-extension + (lambda _ + ;; For some reason, the 'libtool' script (from Libtool + ;; 1.5.2, Debian variant) sets 'shrext_cmds' instead of + ;; 'shrext' for the shared library file name extension. + ;; This leads to the creation of 'libots-1' instead of + ;; 'libots-1.so'. Fix that. + (substitute* "libtool" + (("shrext_cmds") "shrext")) + #t))))) (inputs `(("glib" ,glib) ("popt" ,popt) From fb731c92328fb3aa931e771a567738a565d4ada8 Mon Sep 17 00:00:00 2001 From: Arun Isaac Date: Tue, 21 Mar 2017 00:46:36 +0530 Subject: [PATCH 41/64] gnu: Add megaglest-data. * gnu/packages/games.scm (megaglest-data): New variable. Signed-off-by: Leo Famulari --- gnu/packages/games.scm | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm index a8fdd341c7..56f479e932 100644 --- a/gnu/packages/games.scm +++ b/gnu/packages/games.scm @@ -25,6 +25,7 @@ ;;; Copyright © 2016 Jan Nieuwenhuizen ;;; Copyright © 2016 Steve Webber ;;; Copyright © 2017 Adonay "adfeno" Felipe Nogueira +;;; Copyright © 2017 Arun Isaac ;;; ;;; This file is part of GNU Guix. ;;; @@ -3339,3 +3340,25 @@ (define-public no-more-secrets it will apply the hollywood effect, initially showing encrypted data, then starting a decryption sequence to reveal the original plaintext characters.") (license license:expat))) + +(define-public megaglest-data + (package + (name "megaglest-data") + (version "3.13.0") + (source + (origin + (method url-fetch) + (uri (string-append + "https://github.com/MegaGlest/megaglest-data" + "/releases/download/" version "/megaglest-data-" + version ".tar.xz")) + (sha256 + (base32 + "0ipgza33z89fw3si32iafm981f3fvm0zldvbxj29whghd2k3rpj3")))) + (build-system cmake-build-system) + (arguments + `(#:tests? #f)) + (home-page "https://megaglest.org/") + (synopsis "Data files for MegaGlest") + (description "This package contains the data files required for MegaGlest.") + (license license:cc-by-sa3.0))) From 0b608ec4ceaee45a0d00b2f081f6f0be69b90deb Mon Sep 17 00:00:00 2001 From: Arun Isaac Date: Tue, 21 Mar 2017 00:46:37 +0530 Subject: [PATCH 42/64] gnu: Add megaglest. * gnu/packages/games.scm (megaglest): New variable. Signed-off-by: Leo Famulari --- gnu/packages/games.scm | 59 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 59 insertions(+) diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm index 56f479e932..67fcb7b496 100644 --- a/gnu/packages/games.scm +++ b/gnu/packages/games.scm @@ -110,6 +110,9 @@ (define-module (gnu packages games) #:use-module (gnu packages tls) #:use-module (gnu packages pcre) #:use-module (gnu packages cyrus-sasl) + #:use-module (gnu packages messaging) + #:use-module (gnu packages upnp) + #:use-module (gnu packages wxwidgets) #:use-module (guix build-system gnu) #:use-module (guix build-system haskell) #:use-module (guix build-system python) @@ -3362,3 +3365,59 @@ (define-public megaglest-data (synopsis "Data files for MegaGlest") (description "This package contains the data files required for MegaGlest.") (license license:cc-by-sa3.0))) + +(define-public megaglest + (package + (name "megaglest") + (version "3.13.0") + (source + (origin + (method url-fetch) + (uri (string-append + "https://github.com/MegaGlest/megaglest-source" + "/releases/download/" version "/megaglest-source-" + version ".tar.xz")) + (sha256 + (base32 + "1ffck3ii1wp5k3nn5p0ga06jgp7pzk4zw0xln3xim2w7qrxzdzh9")))) + (build-system cmake-build-system) + (inputs + `(("curl" ,curl) + ("fontconfig" ,fontconfig) + ("ftgl" ,ftgl) + ("glew" ,glew) + ("libjpeg-turbo" ,libjpeg-turbo) + ("megaglest-data" ,megaglest-data) + ("mesa" ,mesa) + ("miniupnpc" ,miniupnpc) + ("openal" ,openal) + ("libircclient" ,libircclient) + ("libpng" ,libpng) + ("libvorbis" ,libvorbis) + ("lua" ,lua) + ("sdl2" ,sdl2) + ("wxwidgets" ,wxwidgets))) + (native-inputs + `(("cppunit" ,cppunit) + ("pkg-config" ,pkg-config))) + (arguments + `(#:configure-flags + (list (string-append "-DCUSTOM_DATA_INSTALL_PATH=" + (assoc-ref %build-inputs "megaglest-data") + "/share/megaglest") + "-DBUILD_MEGAGLEST_TESTS=ON") + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'fix-ini-search-path + (lambda* (#:key outputs #:allow-other-keys) + (substitute* "source/glest_game/global/config.cpp" + (("/usr/share/megaglest/") + (string-append (assoc-ref outputs "out") + "/share/megaglest/")))))) + #:test-target "megaglest_tests")) + (home-page "https://megaglest.org/") + (synopsis "3D real-time strategy (RTS) game") + (description "MegaGlest is a cross-platform 3D real-time strategy (RTS) +game, where you control the armies of one of seven different factions: Tech, +Magic, Egypt, Indians, Norsemen, Persian or Romans.") + (license license:gpl2+))) From a42619e5e211ed2511f71029ee2c5777c0f54c3b Mon Sep 17 00:00:00 2001 From: Rodger Fox Date: Tue, 21 Mar 2017 15:23:49 -0400 Subject: [PATCH 43/64] gnu: Add lmms. * gnu/packages/music.scm (lmms): New variable. Signed-off-by: Leo Famulari --- gnu/packages/music.scm | 53 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 53 insertions(+) diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm index 87b6d5b9b3..07f30cfdd0 100644 --- a/gnu/packages/music.scm +++ b/gnu/packages/music.scm @@ -9,6 +9,7 @@ ;;; Copyright © 2016 John J. Foerch ;;; Copyright © 2016 Alex Griffin ;;; Copyright © 2017 ng0 +;;; Copyright © 2017 Rodger Fox ;;; ;;; This file is part of GNU Guix. ;;; @@ -2820,3 +2821,55 @@ (define-public libsmf conversions between time and pulses, tempo map handling and more. The only dependencies are a C compiler and glib. Full API documentation and examples are included.") (license license:bsd-2))) + +(define-public lmms + (package + (name "lmms") + (version "1.1.3") + (source + (origin + (method url-fetch) + (uri (string-append "https://github.com/LMMS/lmms/archive/v" + version ".tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1g76z7ha3hd53vbqaq9n1qg6s3lw8zzaw51iny6y2bz0j1xqwcsr")))) + (build-system cmake-build-system) + (arguments + `(#:tests? #f ; no tests + #:phases + (modify-phases %standard-phases + (add-before + 'configure 'set-ldflags + (lambda* (#:key outputs #:allow-other-keys) + (setenv "LDFLAGS" + (string-append + "-Wl,-rpath=\"" + (assoc-ref outputs "out") "/lib/lmms" + ":" + (assoc-ref outputs "out") "/lib/lmms/ladspa" + "\""))))))) + (native-inputs + `(("pkg-config" ,pkg-config))) + (inputs + `(("sdl" ,sdl) + ("qt" ,qt-4) + ("fltk" ,fltk) + ("libogg" ,libogg) + ("libsamplerate" ,libsamplerate) + ("fluidsynth" ,fluidsynth) + ("libvorbis" ,libvorbis) + ("alsa-lib" ,alsa-lib) + ("portaudio" ,portaudio) + ("ladspa" ,ladspa) + ("libsndfile1" ,libsndfile) + ("libxft" ,libxft) + ("freetype2" ,freetype) + ("fftw3f" ,fftwf))) + (home-page "https://lmms.io/") + (synopsis "Music composition tool") + (description "LMMS is a digital audio workstation. It includes tools for sequencing +melodies and beats and for mixing and arranging songs. LMMS includes instruments based on +audio samples and various soft sythesizers. It can receive input from a MIDI keyboard.") + (license license:gpl2+))) From 4ca3e9b7b6909839c3b03f691a1c370e3fdea3b0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cl=C3=A9ment=20Lassieur?= Date: Sat, 18 Mar 2017 11:17:57 +0100 Subject: [PATCH 44/64] services: openssh: Cosmetic changes. * gnu/services/ssh.scm (): Reformat to fit in 80 columns. --- gnu/services/ssh.scm | 31 +++++++++++++++++++++---------- 1 file changed, 21 insertions(+), 10 deletions(-) diff --git a/gnu/services/ssh.scm b/gnu/services/ssh.scm index d8a3ad35ad..6272d53fc8 100644 --- a/gnu/services/ssh.scm +++ b/gnu/services/ssh.scm @@ -260,28 +260,39 @@ (define* (lsh-service #:key (define-record-type* openssh-configuration make-openssh-configuration openssh-configuration? - (openssh openssh-configuration-openssh ;package + ;; + (openssh openssh-configuration-openssh (default openssh)) + ;; string (pid-file openssh-configuration-pid-file (default "/var/run/sshd.pid")) - (port-number openssh-configuration-port-number ;integer + ;; integer + (port-number openssh-configuration-port-number (default 22)) - (permit-root-login openssh-configuration-permit-root-login ;Boolean | 'without-password + ;; Boolean | 'without-password + (permit-root-login openssh-configuration-permit-root-login (default #f)) - (allow-empty-passwords? openssh-configuration-allow-empty-passwords? ;Boolean + ;; Boolean + (allow-empty-passwords? openssh-configuration-allow-empty-passwords? (default #f)) - (password-authentication? openssh-configuration-password-authentication? ;Boolean + ;; Boolean + (password-authentication? openssh-configuration-password-authentication? (default #t)) + ;; Boolean (public-key-authentication? openssh-configuration-public-key-authentication? - (default #t)) ;Boolean - (x11-forwarding? openssh-configuration-x11-forwarding? ;Boolean + (default #t)) + ;; Boolean + (x11-forwarding? openssh-configuration-x11-forwarding? (default #f)) + ;; Boolean (challenge-response-authentication? openssh-challenge-response-authentication? - (default #f)) ;Boolean + (default #f)) + ;; Boolean (use-pam? openssh-configuration-use-pam? - (default #t)) ;Boolean + (default #t)) + ;; Boolean (print-last-log? openssh-configuration-print-last-log? - (default #t))) ;Boolean + (default #t))) (define %openssh-accounts (list (user-group (name "sshd") (system? #t)) From 12723370e5a780b18eae4c44ab9634adaff927ea Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cl=C3=A9ment=20Lassieur?= Date: Tue, 21 Feb 2017 00:53:55 +0100 Subject: [PATCH 45/64] services: openssh: Add 'subsystems' option. * gnu/services/ssh.scm (openssh-config-file): Add it. ()[subsystems]: Add it. * doc/guix.texi (Networking Services): Document it. --- doc/guix.texi | 16 +++++++++ gnu/services/ssh.scm | 81 +++++++++++++++++++++++++------------------- 2 files changed, 62 insertions(+), 35 deletions(-) diff --git a/doc/guix.texi b/doc/guix.texi index 297141288c..8d27dd2031 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -9511,6 +9511,22 @@ equivalent role to password authentication, you should disable either @item @code{print-last-log?} (default: @code{#t}) Specifies whether @command{sshd} should print the date and time of the last user login when a user logs in interactively. + +@item @code{subsystems} (default: @code{'(("sftp" "internal-sftp"))}) +Configures external subsystems (e.g. file transfer daemon). + +This is a list of two-element lists, each of which containing the +subsystem name and a command (with optional arguments) to execute upon +subsystem request. + +The command @command{internal-sftp} implements an in-process SFTP +server. Alternately, one can specify the @command{sftp-server} command: +@example +(service openssh-service-type + (openssh-configuration + (subsystems + '(("sftp" ,(file-append openssh "/libexec/sftp-server")))))) +@end example @end table @end deftp diff --git a/gnu/services/ssh.scm b/gnu/services/ssh.scm index 6272d53fc8..b7f9887b30 100644 --- a/gnu/services/ssh.scm +++ b/gnu/services/ssh.scm @@ -292,7 +292,10 @@ (define-record-type* (default #t)) ;; Boolean (print-last-log? openssh-configuration-print-last-log? - (default #t))) + (default #t)) + ;; list of two-element lists + (subsystems openssh-configuration-subsystems + (default '(("sftp" "internal-sftp"))))) (define %openssh-accounts (list (user-group (name "sshd") (system? #t)) @@ -327,40 +330,48 @@ (define (openssh-config-file config) "Return the sshd configuration file corresponding to CONFIG." (computed-file "sshd_config" - #~(call-with-output-file #$output - (lambda (port) - (display "# Generated by 'openssh-service'.\n" port) - (format port "Port ~a\n" - #$(number->string (openssh-configuration-port-number config))) - (format port "PermitRootLogin ~a\n" - #$(match (openssh-configuration-permit-root-login config) - (#t "yes") - (#f "no") - ('without-password "without-password"))) - (format port "PermitEmptyPasswords ~a\n" - #$(if (openssh-configuration-allow-empty-passwords? config) - "yes" "no")) - (format port "PasswordAuthentication ~a\n" - #$(if (openssh-configuration-password-authentication? config) - "yes" "no")) - (format port "PubkeyAuthentication ~a\n" - #$(if (openssh-configuration-public-key-authentication? config) - "yes" "no")) - (format port "X11Forwarding ~a\n" - #$(if (openssh-configuration-x11-forwarding? config) - "yes" "no")) - (format port "PidFile ~a\n" - #$(openssh-configuration-pid-file config)) - (format port "ChallengeResponseAuthentication ~a\n" - #$(if (openssh-challenge-response-authentication? config) - "yes" "no")) - (format port "UsePAM ~a\n" - #$(if (openssh-configuration-use-pam? config) - "yes" "no")) - (format port "PrintLastLog ~a\n" - #$(if (openssh-configuration-print-last-log? config) - "yes" "no")) - #t)))) + #~(begin + (use-modules (ice-9 match)) + (call-with-output-file #$output + (lambda (port) + (display "# Generated by 'openssh-service'.\n" port) + (format port "Port ~a\n" + #$(number->string + (openssh-configuration-port-number config))) + (format port "PermitRootLogin ~a\n" + #$(match (openssh-configuration-permit-root-login config) + (#t "yes") + (#f "no") + ('without-password "without-password"))) + (format port "PermitEmptyPasswords ~a\n" + #$(if (openssh-configuration-allow-empty-passwords? config) + "yes" "no")) + (format port "PasswordAuthentication ~a\n" + #$(if (openssh-configuration-password-authentication? config) + "yes" "no")) + (format port "PubkeyAuthentication ~a\n" + #$(if (openssh-configuration-public-key-authentication? + config) + "yes" "no")) + (format port "X11Forwarding ~a\n" + #$(if (openssh-configuration-x11-forwarding? config) + "yes" "no")) + (format port "PidFile ~a\n" + #$(openssh-configuration-pid-file config)) + (format port "ChallengeResponseAuthentication ~a\n" + #$(if (openssh-challenge-response-authentication? config) + "yes" "no")) + (format port "UsePAM ~a\n" + #$(if (openssh-configuration-use-pam? config) + "yes" "no")) + (format port "PrintLastLog ~a\n" + #$(if (openssh-configuration-print-last-log? config) + "yes" "no")) + (for-each + (match-lambda + ((name command) (format port "Subsystem\t~a\t~a\n" name command))) + '#$(openssh-configuration-subsystems config)) + #t))))) (define (openssh-shepherd-service config) "Return a for openssh with CONFIG." From cfaf4d11659a6b78ef35676b4e37d6da179e5b51 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cl=C3=A9ment=20Lassieur?= Date: Sun, 19 Mar 2017 13:18:37 +0100 Subject: [PATCH 46/64] tests: ssh: Abstract session connection and authentication. * gnu/tests/ssh.scm (run-ssh-test): Introduce make-session-for-test, call-with-connected-session and call-with-connected-session/auth. (run-ssh-test)["connect"]: Rename to "shell command". Abstract its session connection and authentication work into the above three functions. --- gnu/tests/ssh.scm | 82 ++++++++++++++++++++++++++++++----------------- 1 file changed, 53 insertions(+), 29 deletions(-) diff --git a/gnu/tests/ssh.scm b/gnu/tests/ssh.scm index 456476e69d..7779b71561 100644 --- a/gnu/tests/ssh.scm +++ b/gnu/tests/ssh.scm @@ -1,5 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2016 Ludovic Courtès +;;; Copyright © 2017 Clément Lassieur ;;; ;;; This file is part of GNU Guix. ;;; @@ -101,6 +102,47 @@ (define (wait-for-file file) (error "file didn't show up" ,file)))) marionette)) + (define (make-session-for-test) + "Make a session with predefined parameters for a test." + (make-session #:user "root" + #:port 2222 + #:host "localhost" + #:log-verbosity 'protocol)) + + (define (call-with-connected-session proc) + "Call the one-argument procedure PROC with a freshly created and +connected SSH session object, return the result of the procedure call. The +session is disconnected when the PROC is finished." + (let ((session (make-session-for-test))) + (dynamic-wind + (lambda () + (let ((result (connect! session))) + (unless (equal? result 'ok) + (error "Could not connect to a server" + session result)))) + (lambda () (proc session)) + (lambda () (disconnect! session))))) + + (define (call-with-connected-session/auth proc) + "Make an authenticated session. We should be able to connect as +root with an empty password." + (call-with-connected-session + (lambda (session) + ;; Try the simple authentication methods. Dropbear requires + ;; 'none' when there are no passwords, whereas OpenSSH accepts + ;; 'password' with an empty password. + (let loop ((methods (list (cut userauth-password! <> "") + (cut userauth-none! <>)))) + (match methods + (() + (error "all the authentication methods failed")) + ((auth rest ...) + (match (pk 'auth (auth session)) + ('success + (proc session)) + ('denied + (loop rest))))))))) + (mkdir #$output) (chdir #$output) @@ -131,37 +173,19 @@ (define (wait-for-file file) (current-services)))) marionette)) - ;; Connect to the guest over SSH. We should be able to connect as - ;; "root" with an empty password. Make sure we can run a shell + ;; Connect to the guest over SSH. Make sure we can run a shell ;; command there. - (test-equal "connect" + (test-equal "shell command" 'hello - (let* ((session (make-session #:user "root" - #:port 2222 #:host "localhost" - #:log-verbosity 'protocol))) - (match (connect! session) - ('ok - ;; Try the simple authentication methods. Dropbear - ;; requires 'none' when there are no passwords, whereas - ;; OpenSSH accepts 'password' with an empty password. - (let loop ((methods (list (cut userauth-password! <> "") - (cut userauth-none! <>)))) - (match methods - (() - (error "all the authentication methods failed")) - ((auth rest ...) - (match (pk 'auth (auth session)) - ('success - ;; FIXME: 'get-server-public-key' segfaults. - ;; (get-server-public-key session) - (let ((channel (make-channel session))) - (channel-open-session channel) - (channel-request-exec channel - "echo hello > /root/witness") - (and (zero? (channel-get-exit-status channel)) - (wait-for-file "/root/witness")))) - ('denied - (loop rest)))))))))) + (call-with-connected-session/auth + (lambda (session) + ;; FIXME: 'get-server-public-key' segfaults. + ;; (get-server-public-key session) + (let ((channel (make-channel session))) + (channel-open-session channel) + (channel-request-exec channel "echo hello > /root/witness") + (and (zero? (channel-get-exit-status channel)) + (wait-for-file "/root/witness")))))) (test-end) (exit (= (test-runner-fail-count (test-runner-current)) 0))))) From 36f666c63dfd684d965df71b74c4166d3b627373 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cl=C3=A9ment=20Lassieur?= Date: Sun, 19 Mar 2017 13:20:11 +0100 Subject: [PATCH 47/64] tests: ssh: Add a test for SFTP. * gnu/tests/ssh.scm (run-ssh-test): Introduce "SFTP file writing and reading". Make 'sftp?' a keyword parameter. (%test-openssh): Pass #:sftp? #t to 'run-ssh-test'. --- gnu/tests/ssh.scm | 27 +++++++++++++++++++++++---- 1 file changed, 23 insertions(+), 4 deletions(-) diff --git a/gnu/tests/ssh.scm b/gnu/tests/ssh.scm index 7779b71561..c1582c4737 100644 --- a/gnu/tests/ssh.scm +++ b/gnu/tests/ssh.scm @@ -55,10 +55,12 @@ (define (os-with-service service) (services (cons service (operating-system-user-services %base-os))))) -(define (run-ssh-test name ssh-service pid-file) +(define* (run-ssh-test name ssh-service pid-file #:key (sftp? #f)) "Run a test of an OS running SSH-SERVICE, which writes its PID to PID-FILE. SSH-SERVICE must be configured to listen on port 22 and to allow for root and -empty-password logins." +empty-password logins. + +When SFTP? is true, run an SFTP server test." (mlet* %store-monad ((os -> (marionette-operating-system (os-with-service ssh-service) #:imported-modules '((gnu services herd) @@ -81,7 +83,8 @@ (define test (ice-9 match) (ssh session) (ssh auth) - (ssh channel)) + (ssh channel) + (ssh sftp)) (define marionette ;; Enable TCP forwarding of the guest's port 22. @@ -187,6 +190,21 @@ (define (call-with-connected-session/auth proc) (and (zero? (channel-get-exit-status channel)) (wait-for-file "/root/witness")))))) + ;; Connect to the guest over SFTP. Make sure we can write and + ;; read a file there. + (unless #$sftp? + (test-skip 1)) + (test-equal "SFTP file writing and reading" + 'hello + (call-with-connected-session/auth + (lambda (session) + (let ((sftp-session (make-sftp-session session)) + (witness "/root/sftp-witness")) + (call-with-remote-output-file sftp-session witness + (cut display "hello" <>)) + (call-with-remote-input-file sftp-session witness + read))))) + (test-end) (exit (= (test-runner-fail-count (test-runner-current)) 0))))) @@ -203,7 +221,8 @@ (define %test-openssh (openssh-configuration (permit-root-login #t) (allow-empty-passwords? #t))) - "/var/run/sshd.pid")))) + "/var/run/sshd.pid" + #:sftp? #t)))) (define %test-dropbear (system-test From 60092c181c4c43b3798741c8186f897b5989f656 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Tue, 21 Mar 2017 22:35:32 +0200 Subject: [PATCH 48/64] gnu: zimg: Update to 2.5. * gnu/packages/image.scm (zimg): Update to 2.5. --- gnu/packages/image.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/image.scm b/gnu/packages/image.scm index 2c438a8dd0..ab8c57d4f9 100644 --- a/gnu/packages/image.scm +++ b/gnu/packages/image.scm @@ -971,7 +971,7 @@ (define-public jasper (define-public zimg (package (name "zimg") - (version "2.3") + (version "2.5") (source (origin (method url-fetch) @@ -980,7 +980,7 @@ (define-public zimg (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "1yh6kkq8596a9cxcmcxzqvwbwmxwqapwsq31xpccznw6z62j75h9")))) + "0kbq2dy659645fmgxpzg38b6y6x82kwkydhc380kdkaikv2brcjh")))) (build-system gnu-build-system) (native-inputs `(("autoconf" ,autoconf) From 4f7a9e0bffab0cf53992c33ed75ff5fb394eda7b Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Tue, 21 Mar 2017 22:36:33 +0200 Subject: [PATCH 49/64] gnu: vapoursynth: Update to 37. * gnu/packages/video.scm (vapoursynth): Update to 37. --- gnu/packages/video.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm index b128d71acf..3af1e5282f 100644 --- a/gnu/packages/video.scm +++ b/gnu/packages/video.scm @@ -1302,7 +1302,7 @@ (define-public avidemux (define-public vapoursynth (package (name "vapoursynth") - (version "35") + (version "37") (source (origin (method url-fetch) (uri (string-append @@ -1311,7 +1311,7 @@ (define-public vapoursynth (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "0629ys2lf618n9cc644xlvx0vx52v2fp3sx14p4mx5rg9nlasb3n")))) + "1g3hc079jw4mz1cmkv2y28pdb556wqc8ql7iravgh1rg8j3f1zi5")))) (build-system gnu-build-system) (native-inputs `(("autoconf" ,autoconf) From 278d486b0c0e3ec0378f6a2ccf6946fb176d088b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Tue, 21 Mar 2017 21:55:20 +0100 Subject: [PATCH 50/64] =?UTF-8?q?file-systems:=20Do=20not=20use=20(gnu=20p?= =?UTF-8?q?ackages=20=E2=80=A6).?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Fixes a regression introduced in 7208995426714c9fc3ad59cadc3cc0f52df0f018 whereby (gnu system file-systems) would pull in (gnu packages …) module, which in turn breaks when importing things like (gnu build shepherd). * gnu/system/file-systems.scm (file-system-type-predicate): Export. (file-system-packages): Move to... * gnu/system/linux-initrd.scm (file-system-packages): ... here. Add docstring. * gnu/services/base.scm: Use it. * tests/file-systems.scm ("does not pull (gnu packages …)"): New test. --- gnu/services/base.scm | 2 ++ gnu/system/file-systems.scm | 27 +++++---------------------- gnu/system/linux-initrd.scm | 23 ++++++++++++++++++++++- tests/file-systems.scm | 12 +++++++++++- 4 files changed, 40 insertions(+), 24 deletions(-) diff --git a/gnu/services/base.scm b/gnu/services/base.scm index dad1911d31..77efef15eb 100644 --- a/gnu/services/base.scm +++ b/gnu/services/base.scm @@ -31,6 +31,8 @@ (define-module (gnu services base) #:use-module (gnu system shadow) ; 'user-account', etc. #:use-module (gnu system file-systems) ; 'file-system', etc. #:use-module (gnu system mapped-devices) + #:use-module ((gnu system linux-initrd) + #:select (file-system-packages)) #:use-module (gnu packages admin) #:use-module ((gnu packages linux) #:select (alsa-utils crda eudev e2fsprogs fuse gpm kbd lvm2 rng-tools)) diff --git a/gnu/system/file-systems.scm b/gnu/system/file-systems.scm index 8107722c74..3bd072a0bc 100644 --- a/gnu/system/file-systems.scm +++ b/gnu/system/file-systems.scm @@ -22,8 +22,6 @@ (define-module (gnu system file-systems) #:use-module (guix records) #:use-module ((gnu build file-systems) #:select (string->uuid uuid->string)) - #:use-module (gnu packages linux) - #:use-module (gnu packages disk) #:re-export (string->uuid uuid->string) #:export ( @@ -41,6 +39,8 @@ (define-module (gnu system file-systems) file-system-create-mount-point? file-system-dependencies + file-system-type-predicate + file-system->spec spec->file-system specification->file-system-mapping @@ -67,8 +67,6 @@ (define-module (gnu system file-systems) file-system-mapping->bind-mount - file-system-packages - %store-mapping %network-configuration-files %network-file-mappings)) @@ -77,6 +75,9 @@ (define-module (gnu system file-systems) ;;; ;;; Declaring file systems to be mounted. ;;; +;;; Note: this file system is used both in the Shepherd and on the "host +;;; side", so it must not include (gnu packages …) modules. +;;; ;;; Code: ;; File system declaration. @@ -419,22 +420,4 @@ (define (file-system-type-predicate type) (lambda (fs) (string=? (file-system-type fs) type))) -(define* (file-system-packages file-systems #:key (volatile-root? #f)) - `(,@(if (find (lambda (fs) - (string-prefix? "ext" (file-system-type fs))) - file-systems) - (list e2fsck/static) - '()) - ,@(if (find (lambda (fs) - (string-suffix? "fat" (file-system-type fs))) - file-systems) - (list fatfsck/static) - '()) - ,@(if (find (file-system-type-predicate "btrfs") file-systems) - (list btrfs-progs/static) - '()) - ,@(if volatile-root? - (list unionfs-fuse/static) - '()))) - ;;; file-systems.scm ends here diff --git a/gnu/system/linux-initrd.scm b/gnu/system/linux-initrd.scm index 1f1c306828..dfe198e43e 100644 --- a/gnu/system/linux-initrd.scm +++ b/gnu/system/linux-initrd.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2013, 2014, 2015, 2016 Ludovic Courtès +;;; Copyright © 2013, 2014, 2015, 2016, 2017 Ludovic Courtès ;;; Copyright © 2016 Mark H Weaver ;;; Copyright © 2016 Jan Nieuwenhuizen ;;; Copyright © 2017 Mathieu Othacehe @@ -43,6 +43,7 @@ (define-module (gnu system linux-initrd) #:use-module (srfi srfi-26) #:export (expression->initrd raw-initrd + file-system-packages base-initrd)) @@ -199,6 +200,26 @@ (define device-mapping-commands #:volatile-root? '#$volatile-root?))) #:name "raw-initrd"))) +(define* (file-system-packages file-systems #:key (volatile-root? #f)) + "Return the list of statically-linked, stripped packages to check +FILE-SYSTEMS." + `(,@(if (find (lambda (fs) + (string-prefix? "ext" (file-system-type fs))) + file-systems) + (list e2fsck/static) + '()) + ,@(if (find (lambda (fs) + (string-suffix? "fat" (file-system-type fs))) + file-systems) + (list fatfsck/static) + '()) + ,@(if (find (file-system-type-predicate "btrfs") file-systems) + (list btrfs-progs/static) + '()) + ,@(if volatile-root? + (list unionfs-fuse/static) + '()))) + (define* (base-initrd file-systems #:key (linux linux-libre) diff --git a/tests/file-systems.scm b/tests/file-systems.scm index 467ee8ca5d..12f4f09c57 100644 --- a/tests/file-systems.scm +++ b/tests/file-systems.scm @@ -20,8 +20,10 @@ (define-module (test-file-systems) #:use-module (guix store) #:use-module (guix modules) #:use-module (gnu system file-systems) + #:use-module (srfi srfi-1) #:use-module (srfi srfi-64) - #:use-module (rnrs bytevectors)) + #:use-module (rnrs bytevectors) + #:use-module (ice-9 match)) ;; Test the (gnu system file-systems) module. @@ -80,4 +82,12 @@ (define-module (test-file-systems) (not (member '(guix config) (source-module-closure '((gnu system file-systems)))))) +(test-equal "does not pull (gnu packages …)" + ;; Same story: (gnu packages …) should not be pulled. + #f + (find (match-lambda + (('gnu 'packages _ ..1) #t) + (_ #f)) + (source-module-closure '((gnu system file-systems))))) + (test-end) From 7dbd75b3cff33c90c7427740be01542d1eff03b1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Tue, 21 Mar 2017 22:07:08 +0100 Subject: [PATCH 51/64] file-systems: Add missing docstring. * gnu/system/file-systems.scm (file-system-type-predicate): Add docstring. --- gnu/system/file-systems.scm | 2 ++ 1 file changed, 2 insertions(+) diff --git a/gnu/system/file-systems.scm b/gnu/system/file-systems.scm index 3bd072a0bc..bbac23fbdf 100644 --- a/gnu/system/file-systems.scm +++ b/gnu/system/file-systems.scm @@ -417,6 +417,8 @@ (define %network-file-mappings %network-configuration-files)) (define (file-system-type-predicate type) + "Return a predicate that, when passed a file system, returns #t if that file +system has the given TYPE." (lambda (fs) (string=? (file-system-type fs) type))) From 2d431b0130e12f3774f0b639d54a79487673b299 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Tue, 21 Mar 2017 07:55:49 +0100 Subject: [PATCH 52/64] gnu: dns: Return #t instead of something undefined. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/dns.scm (yadifa, knot)[arguments]: Return #t after calling ‘substitute*’. (knot)[source]: Return #t after calling ‘delete-file-recursively’. --- gnu/packages/dns.scm | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/gnu/packages/dns.scm b/gnu/packages/dns.scm index d09abc1366..ec89abc670 100644 --- a/gnu/packages/dns.scm +++ b/gnu/packages/dns.scm @@ -294,8 +294,10 @@ (define-public yadifa (arguments `(#:phases (modify-phases %standard-phases (add-before 'configure 'omit-example-configurations - (lambda _ (substitute* "Makefile.in" - ((" (etc|var)") ""))))) + (lambda _ + (substitute* "Makefile.in" + ((" (etc|var)") "")) + #t))) #:configure-flags (list "--sysconfdir=/etc" "--localstatedir=/var" "--enable-shared" "--disable-static" "--enable-messages" "--enable-ctrl" @@ -334,7 +336,8 @@ (define-public knot (("contrib/dnstap ") "")) (with-directory-excursion "src/contrib" (for-each delete-file-recursively - (list "dnstap" "lmdb"))))))) + (list "dnstap" "lmdb"))) + #t)))) (build-system gnu-build-system) (native-inputs `(("pkg-config" ,pkg-config))) @@ -354,7 +357,8 @@ (define-public knot (add-before 'configure 'disable-directory-pre-creation (lambda _ ;; Don't install empty directories like ‘/etc’ outside the store. - (substitute* "src/Makefile.in" (("\\$\\(INSTALL\\) -d") "true")))) + (substitute* "src/Makefile.in" (("\\$\\(INSTALL\\) -d") "true")) + #t)) (replace 'install (lambda* (#:key outputs #:allow-other-keys) (let* ((out (assoc-ref outputs "out")) From 4ffbe8c6d79aefb9c0f8021973cf44170945e9e4 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Tue, 31 Jan 2017 01:32:49 +0100 Subject: [PATCH 53/64] gnu: python-markdown: Update to 2.6.8. * gnu/packages/python.scm (python-markdown): Update to 2.6.8. --- gnu/packages/python.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm index 847a5224a3..9605b979eb 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -6503,14 +6503,14 @@ (define-public python2-mistune (define-public python-markdown (package (name "python-markdown") - (version "2.6.7") + (version "2.6.8") (source (origin (method url-fetch) (uri (pypi-uri "Markdown" version)) (sha256 (base32 - "1h055llfd0ps0ig7qb3v1j9068xv90dc9s7xkhkgz9zg8r4g5sys")))) + "0cqfhr1km2s5d8jm6hbwgkrrj9hvkjf2gab3s2axlrw1clgaij0a")))) (build-system python-build-system) (arguments `(#:phases From 9e59478f8d0a2315073097fb47adcae17c73877a Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Tue, 31 Jan 2017 01:34:35 +0100 Subject: [PATCH 54/64] gnu: python-wcwidth: Update to 0.1.7. * gnu/packages/python.scm (python-wcwidth): Update to 0.1.7. [source]: Use pypi-uri. --- gnu/packages/python.scm | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm index 9605b979eb..9bb3ce6644 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -11175,17 +11175,14 @@ (define-public python2-pykafka (define-public python-wcwidth (package (name "python-wcwidth") - (version "0.1.6") + (version "0.1.7") (source (origin (method url-fetch) - (uri (string-append - "https://pypi.python.org/packages/" - "c2/d1/7689293086a8d5320025080cde0e3155b94ae0a7496fb89a3fbaa92c354a/" - "wcwidth-" version ".tar.gz")) + (uri (pypi-uri "wcwidth" version)) (sha256 (base32 - "02wjrpf001gjdjsaxxbzcwfg19crlk2dbddayrfc2v06f53yrcyw")))) + "0pn6dflzm609m4r3i8ik5ni9ijjbb5fa3vg1n7hn6vkd49r77wrx")))) (build-system python-build-system) (home-page "https://github.com/jquast/wcwidth") (synopsis "Measure number of terminal column cells of wide-character codes") From 5095bc7d715abcdcd817bfe0e7f0d35bfd21e05e Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Tue, 31 Jan 2017 01:38:06 +0100 Subject: [PATCH 55/64] gnu: python-sphinx-cloud-sptheme: Update to 1.8.0. * gnu/packages/python.scm (python-sphinx-cloud-sptheme): Update to 1.8.0. --- gnu/packages/python.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm index 9bb3ce6644..6a509d9f0d 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -12551,13 +12551,13 @@ (define-public python2-snowballstemmer (define-public python-sphinx-cloud-sptheme (package (name "python-sphinx-cloud-sptheme") - (version "1.7.1") + (version "1.8.0") (source (origin (method url-fetch) (uri (pypi-uri "cloud_sptheme" version)) (sha256 (base32 - "0zm9ap4p5dzln8f1m2immadaxv2xpg8jg4w53y52rhfl7pdb58vy")))) + "1dniqb6a39yh786f86c4jn666rwnyi1jvzn4616zhcchb7sfdshd")))) (build-system python-build-system) ;; FIXME: The 'pypi' release archive does not contain tests. (arguments '(#:tests? #f)) From b9463fdba2dd76d2b4b971004c8362984e17869a Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Tue, 31 Jan 2017 11:04:31 +0100 Subject: [PATCH 56/64] gnu: python-py: Update to 1.4.32. * gnu/packages/python.scm (python-py): Update to 1.4.32. --- gnu/packages/python.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm index 6a509d9f0d..8251e7ef48 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -1759,14 +1759,14 @@ (define-public python-pafy (define-public python-py (package (name "python-py") - (version "1.4.31") + (version "1.4.32") (source (origin (method url-fetch) (uri (pypi-uri "py" version)) (sha256 (base32 - "0561gz2w3i825gyl42mcq14y3dcgkapfiv5zv9a2bz15qxiijl56")))) + "19s1pql9pq85h1qzsdwgyb8a3k1qgkvh33b02m8kfqhizz8rzf64")))) (build-system python-build-system) (arguments ;; FIXME: "ImportError: 'test' module incorrectly imported from From d25bee2600717f1cfb0e61302732b439ee7082de Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Tue, 31 Jan 2017 11:05:55 +0100 Subject: [PATCH 57/64] gnu: python-wrapt: Update to 1.10.8. * gnu/packages/python.scm (python-wrapt): Update to 1.10.8. [source]: Use pypi-uri. --- gnu/packages/python.scm | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm index 8251e7ef48..ef81ac2d68 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -6870,17 +6870,14 @@ (define-public python2-netaddr (define-public python-wrapt (package (name "python-wrapt") - (version "1.10.5") + (version "1.10.8") (source (origin (method url-fetch) - (uri (string-append - "https://pypi.python.org/packages/source/w/wrapt/wrapt-" - version - ".tar.gz")) + (uri (pypi-uri "wrapt" version)) (sha256 (base32 - "0cq8rlpzkxzk48b50yrfhzn1d1hrq4gjcdqlrgq4v5palgiv9jwr")))) + "0wrcm1mydvfivbkzz0h81ygzdchnscshi6xvy5n3r21r9s0px8af")))) (build-system python-build-system) (arguments ;; Tests are not included in the tarball, they are only available in the From d5c183d13479f40f8d1bd122e17db56e3a8ea6b0 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Tue, 31 Jan 2017 11:11:14 +0100 Subject: [PATCH 58/64] gnu: python-feedgenerator: Update to 1.9. * gnu/packages/python.scm (python-feedgenerator): Update to 1.9. --- gnu/packages/python.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm index ef81ac2d68..60ce2ed001 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -3154,14 +3154,14 @@ (define-public python2-rst.linker (define-public python-feedgenerator (package (name "python-feedgenerator") - (version "1.8") + (version "1.9") (source (origin (method url-fetch) (uri (pypi-uri "feedgenerator" version)) (sha256 (base32 - "0mkimp1fpdan4p3882vzcws4l594k71ich4g0wq97jbra7p602n0")) + "01mirwkm7xfx539hmvj7g9da1j51gw5lsx74dr0glizskjm5vq2s")) (modules '((guix build utils))) (snippet '(begin From 4c4d4df393672fa1c508b6248904be917084473d Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Tue, 31 Jan 2017 11:12:30 +0100 Subject: [PATCH 59/64] gnu: python-texttable: Update to 0.8.7. * gnu/packages/python.scm (python-texttable): Update to 0.8.7. --- gnu/packages/python.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm index 60ce2ed001..66e2eb7a1f 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -8506,14 +8506,14 @@ (define-public python2-contextlib2 (define-public python-texttable (package (name "python-texttable") - (version "0.8.4") + (version "0.8.7") (source (origin (method url-fetch) (uri (pypi-uri "texttable" version)) (sha256 (base32 - "0bkhs4dx9s6g7fpb969hygq56hyz4ncfamlynw72s0n6nqfbd1w5")))) + "1liiiydgkg37i46a418aw19fyf6z3ds51wdwwpyjbs12x0phhf4a")))) (build-system python-build-system) (arguments '(#:tests? #f)) ; no tests (home-page "https://github.com/foutaise/texttable/") From c56ad5e291d0f6806b15edd7e4775867cee73f1a Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Tue, 31 Jan 2017 11:13:29 +0100 Subject: [PATCH 60/64] gnu: python-atomicwrites: Update to 1.1.5. * gnu/packages/python.scm (python-atomicwrites): Update to 1.1.5. --- gnu/packages/python.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm index 66e2eb7a1f..7db098dbcc 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -8551,13 +8551,13 @@ (define-public python2-websocket-client (define-public python-atomicwrites (package (name "python-atomicwrites") - (version "1.1.0") + (version "1.1.5") (source (origin (method url-fetch) (uri (pypi-uri "atomicwrites" version)) (sha256 (base32 - "1s01dci8arsl9d9vr5nz1fk9znldp1z3l4yl43f0c27z12b8yxl0")))) + "11bm90fwm2avvf4f3ib8g925w7jr4m11vcsinn1bi6ns4bm32214")))) (build-system python-build-system) (synopsis "Atomic file writes in Python") (description "Library for atomic file writes using platform dependent tools From 35e1a0f1a71a81631fa28bbc4f135150c3d03085 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Tue, 31 Jan 2017 11:17:47 +0100 Subject: [PATCH 61/64] gnu: python-zope-component: Update to 4.3.0. * gnu/packages/python.scm (python-zope-component): Update to 4.3.0. [source]: Use pypi-uri. --- gnu/packages/python.scm | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm index 7db098dbcc..7e7aeb8cef 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -8256,15 +8256,14 @@ (define-public python2-zope-security (define-public python-zope-component (package (name "python-zope-component") - (version "4.2.2") + (version "4.3.0") (source (origin (method url-fetch) - (uri (string-append "https://pypi.python.org/packages/source/z" - "/zope.component/zope.component-" version ".tar.gz")) + (uri (pypi-uri "zope.component" version)) (sha256 (base32 - "06pqr8m5jv12xjyy5b59hh9anl61cxkzhw9mka33r3nxalmi2b18")))) + "1hlvzwj1kcfz1qms1dzhwsshpsf38z9clmyksb1gh41n8k3kchdv")))) (build-system python-build-system) (arguments ;; Skip tests due to circular dependency with python-zope-security. From 8e7189634077367d6c7dae84b713fcd7f53fd328 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Tue, 31 Jan 2017 11:19:11 +0100 Subject: [PATCH 62/64] gnu: python-psycopg2: Update to 2.6.2. * gnu/packages/python.scm (python-psycopg2): Update to 2.6.2. --- gnu/packages/python.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm index 7e7aeb8cef..764512eb08 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -10061,14 +10061,14 @@ (define-public python2-sphinx-repoze-autointerface (define-public python-psycopg2 (package (name "python-psycopg2") - (version "2.6.1") + (version "2.6.2") (source (origin (method url-fetch) (uri (pypi-uri "psycopg2" version)) (sha256 (base32 - "0k4hshvrwsh8yagydyxgmd0pjm29lwdxkngcq9fzfzkmpsxrmkva")))) + "0p60z2gwfcal30y2w8gprflchp1kcg9qblc5rn782p4wxl90wjbh")))) (build-system python-build-system) (arguments ;; Tests would require a postgresql database "psycopg2_test" From 22f25392cf7afbefcfb13824a28f4f8722892481 Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Wed, 22 Mar 2017 01:33:13 -0400 Subject: [PATCH 63/64] gnu: ntp: Update to 4.2.8p10 [security fixes]. Fixes CVE-2016-9042 and CVE-2017-{6451,6452,6455,6458,6459,6460,6462,6463,6464} and others. See 'NEWS' in the source code for more information. * gnu/packages/ntp.scm (ntp): Update to 4.2.8p10. --- gnu/packages/ntp.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/ntp.scm b/gnu/packages/ntp.scm index 13781fbdad..00526f526f 100644 --- a/gnu/packages/ntp.scm +++ b/gnu/packages/ntp.scm @@ -39,7 +39,7 @@ (define-module (gnu packages ntp) (define-public ntp (package (name "ntp") - (version "4.2.8p9") + (version "4.2.8p10") (source (origin (method url-fetch) @@ -53,7 +53,7 @@ (define-public ntp "/ntp-" version ".tar.gz"))) (sha256 (base32 - "0whbyf82lrczbri4adbsa4hg1ppfa6c7qcj7nhjwdfp1g1vjh95p")) + "17xrk7gxrl3hgg0i73n8qm53knyh01lf0f3l1zx9x6r1cip3dlnx")) (modules '((guix build utils))) (snippet '(begin From d8be338f16c7da4acfa55f29f58beaf908d3ad60 Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Wed, 22 Mar 2017 02:00:17 -0400 Subject: [PATCH 64/64] gnu: openssh: Update to 7.5p1. * gnu/packages/ssh.scm (openssh): Update to 7.5p1. --- gnu/packages/ssh.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/ssh.scm b/gnu/packages/ssh.scm index be4d2a7ade..c511b7a6c9 100644 --- a/gnu/packages/ssh.scm +++ b/gnu/packages/ssh.scm @@ -112,7 +112,7 @@ (define-public libssh2 (define-public openssh (package (name "openssh") - (version "7.4p1") + (version "7.5p1") (source (origin (method url-fetch) (uri (let ((tail (string-append name "-" version ".tar.gz"))) @@ -123,7 +123,7 @@ (define-public openssh (string-append "http://ftp2.fr.openbsd.org/pub/OpenBSD/OpenSSH/portable/" tail)))) (sha256 (base32 - "1l8r3x4fr2kb6xm95s7kjdif1wp6f94d4kljh4qjj9109shw87qv")))) + "1w7rb5gbrikxdkp8w7zxnci4549gk4bw1lml01s59w5rzb2y6ilq")))) (build-system gnu-build-system) (inputs `(("groff" ,groff) ("openssl" ,openssl)