From ce79279d3477a78b6fe37c8b7cef180108d1f0ae Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Thu, 9 Mar 2017 00:13:08 +0100 Subject: [PATCH 001/107] gnu: python-pandas: Really fix build on 32bit. * gnu/packages/patches/python-pandas-skip-failing-tests.patch: Fix confusion with same-named test. --- .../python-pandas-skip-failing-tests.patch | 44 +++++++------------ 1 file changed, 17 insertions(+), 27 deletions(-) diff --git a/gnu/packages/patches/python-pandas-skip-failing-tests.patch b/gnu/packages/patches/python-pandas-skip-failing-tests.patch index 31fc912d00..8ac330c18f 100644 --- a/gnu/packages/patches/python-pandas-skip-failing-tests.patch +++ b/gnu/packages/patches/python-pandas-skip-failing-tests.patch @@ -2,39 +2,29 @@ These tests fail on 32bit architectures. Upstream bug URL: https://github.com/pandas-dev/pandas/issues/14866 ---- a/pandas/tests/test_base.py 2017-03-08 17:49:44.422282717 +0100 -+++ b/pandas/tests/test_base.py 2017-03-08 17:50:59.476701799 +0100 -@@ -363,30 +363,6 @@ - self.assertFalse(result.iat[0]) - self.assertFalse(result.iat[1]) +--- a/pandas/tests/indexes/common.py 2017-03-09 00:10:26.063996176 +0100 ++++ b/pandas/tests/indexes/common.py 2017-03-09 00:10:53.152844191 +0100 +@@ -119,20 +119,6 @@ + with tm.assertRaisesRegexp(ValueError, 'Invalid fill method'): + idx.get_indexer(idx, method='invalid') - def test_ndarray_compat_properties(self): - -- for o in self.objs: +- idx = self.create_index() +- self.assertTrue(idx.T.equals(idx)) +- self.assertTrue(idx.transpose().equals(idx)) - -- # check that we work -- for p in ['shape', 'dtype', 'flags', 'T', 'strides', 'itemsize', -- 'nbytes']: -- self.assertIsNotNone(getattr(o, p, None)) -- self.assertTrue(hasattr(o, 'base')) +- values = idx.values +- for prop in self._compat_props: +- self.assertEqual(getattr(idx, prop), getattr(values, prop)) - -- # if we have a datetimelike dtype then needs a view to work -- # but the user is responsible for that -- try: -- self.assertIsNotNone(o.data) -- except ValueError: -- pass +- # test for validity +- idx.nbytes +- idx.values.nbytes - -- self.assertRaises(ValueError, o.item) # len > 1 -- self.assertEqual(o.ndim, 1) -- self.assertEqual(o.size, len(o)) -- -- self.assertEqual(Index([1]).item(), 1) -- self.assertEqual(Series([1]).item(), 1) -- - def test_ops(self): - for op in ['max', 'min']: - for o in self.objs: + def test_repr_roundtrip(self): + + idx = self.create_index() --- a/pandas/tools/tests/test_tile.py 2017-03-08 17:47:39.762261841 +0100 +++ b/pandas/tools/tests/test_tile.py 2017-03-08 17:48:26.831780495 +0100 @@ -271,19 +271,6 @@ From ed6a21b45fc6858f0d604244f220446352b33f78 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Thu, 9 Mar 2017 15:25:15 +0100 Subject: [PATCH 002/107] gnu: inetutils: Disable parallel tests. * gnu/packages/admin.scm (inetutils)[arguments]: Add #:parallel-tests? #f. --- gnu/packages/admin.scm | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/gnu/packages/admin.scm b/gnu/packages/admin.scm index e7364f6e53..4b14e0ef32 100644 --- a/gnu/packages/admin.scm +++ b/gnu/packages/admin.scm @@ -254,7 +254,10 @@ re-executing them as necessary.") "05n65k4ixl85dc6rxc51b1b732gnmm8xnqi424dy9f1nz7ppb3xy")))) (build-system gnu-build-system) (arguments - '(#:configure-flags '("--localstatedir=/var"))) + '(#:configure-flags '("--localstatedir=/var") + ;; On some systems, 'libls.sh' may fail with an error such as: + ;; "Failed to tell switch -a apart from -A". + #:parallel-tests? #f)) (inputs `(("ncurses" ,ncurses) ("readline" ,readline))) ;for 'ftp' (native-inputs `(("netstat" ,net-tools))) ;for tests From 63d62305c344240faa47c10ff76dceeeb3a9ceff Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Thu, 9 Mar 2017 15:43:59 +0100 Subject: [PATCH 003/107] gnu: Remove obsolete numpy comment. * gnu/packages/python.scm: Remove comment. --- gnu/packages/python.scm | 2 -- 1 file changed, 2 deletions(-) diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm index 15c8a8eff4..91456c9752 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -3445,8 +3445,6 @@ producing implementations of dynamic languages, emphasizing a clean separation between language specification and implementation aspects.") (license license:expat))) -;; This version of numpy is missing the documentation and is only used to -;; build matplotlib which is required to build numpy's documentation. (define-public python-numpy (package (name "python-numpy") From 674167691142905c09a7ec7dd8de98ab823239ac Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Thu, 9 Mar 2017 15:50:29 +0100 Subject: [PATCH 004/107] gnu: python-numpy-documentation: Use full git commit hash in submodule. * gnu/packages/python.scm (python-numpy-documentation, python2-numpy-documentation)[native-inputs]: Update hash of SCIPY-SPHINX-THEME. Fix indentation of a line. --- 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 91456c9752..771e867fce 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -3591,10 +3591,10 @@ association studies (GWAS) on extremely large data sets.") (method git-fetch) (uri (git-reference (url "https://github.com/scipy/scipy-sphinx-theme.git") - (commit "c466764e22"))) + (commit "c466764e2231ba132c09826b5b138fffa1cfcec3"))) (sha256 (base32 - "0q2y87clwlsgc7wvlsn9pzyssybcq10plwhq2w1ydykfsyyqbmkl")))) + "0q2y87clwlsgc7wvlsn9pzyssybcq10plwhq2w1ydykfsyyqbmkl")))) ,@(package-native-inputs python-numpy))) (arguments `(#:tests? #f ; we're only generating the documentation From 33e9490ca1edb05c3a3e2d5bd0402ace5ac30ad9 Mon Sep 17 00:00:00 2001 From: Arun Isaac Date: Wed, 8 Mar 2017 23:28:31 +0530 Subject: [PATCH 005/107] gnu: Add python2-cliapp. * gnu/packages/python.scm (python2-cliapp): New variable. Signed-off-by: Marius Bakke --- gnu/packages/python.scm | 29 ++++++++++++++++++++++++++++- 1 file changed, 28 insertions(+), 1 deletion(-) diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm index 771e867fce..abc7f448cf 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -30,7 +30,7 @@ ;;; Copyright © 2016 Stefan Reichoer ;;; Copyright © 2016 Dylan Jeffers ;;; Copyright © 2016 Alex Vong -;;; Copyright © 2016 Arun Isaac +;;; Copyright © 2016, 2017 Arun Isaac ;;; Copyright © 2016, 2017 Julien Lepiller ;;; Copyright © 2016, 2017 Tobias Geerinckx-Rice ;;; Copyright © 2016, 2017 Thomas Danckaert @@ -13489,3 +13489,30 @@ specified to apply on the key before comparison (e.g. @code{string.lower})).") Python. It is based on Parsing Expression Grammars, PEG. With pyPEG you can parse many formal languages.") (license license:gpl2))) + +(define-public python2-cliapp + (package + (name "python2-cliapp") + (version "1.20160724") + (source + (origin + (method url-fetch) + (uri (string-append + "http://git.liw.fi/cgi-bin/cgit/cgit.cgi/cliapp/snapshot/cliapp-" + version ".tar.gz")) + (sha256 + (base32 + "025cyi75vxyghbm4hav8dz4fzwksshddavy9g9fwr440awcvw74f")))) + (build-system python-build-system) + (arguments + `(#:python ,python-2)) + (propagated-inputs + `(("python2-pyaml" ,python2-pyaml))) + (home-page "https://liw.fi/cliapp/") + (synopsis "Python framework for command line programs") + (description "@code{python2-cliapp} is a python framework for +command line programs. It contains the typical stuff such programs +need to do, such as parsing the command line for options, and +iterating over input files.") + (license license:gpl2+))) + From 77e9941160e40bdf6f1260f360121bccb58be313 Mon Sep 17 00:00:00 2001 From: Arun Isaac Date: Wed, 8 Mar 2017 23:28:32 +0530 Subject: [PATCH 006/107] gnu: Add python2-ttystatus. * gnu/packages/python.scm (python2-ttystatus): New variable. 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 abc7f448cf..7783cf9ab1 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -13516,3 +13516,28 @@ need to do, such as parsing the command line for options, and iterating over input files.") (license license:gpl2+))) +(define-public python2-ttystatus + (package + (name "python2-ttystatus") + (version "0.32") + (source + (origin + (method url-fetch) + (uri (string-append + "http://git.liw.fi/cgi-bin/cgit/cgit.cgi/ttystatus/snapshot/ttystatus-" + version ".tar.gz")) + (sha256 + (base32 + "0b5g889jj23r2w1hi300cdldx6jvspanp0ybf5n1qvdvl150aamf")))) + (build-system python-build-system) + (arguments + `(#:python ,python-2)) + (home-page "https://liw.fi/ttystatus/") + (synopsis "Python library for showing progress reporting and +status updates on terminals") + (description "@code{python2-ttystatus} is a python library for +showing progress reporting and status updates on terminals, for +command line programs. Output is automatically adapted to the width +of the terminal: truncated if it does not fit, and resized if the +terminal size changes.") + (license license:gpl3+))) From c220f0b4740fb95e1b8e27d1a6fca00b68dd6df0 Mon Sep 17 00:00:00 2001 From: Arun Isaac Date: Wed, 8 Mar 2017 23:28:33 +0530 Subject: [PATCH 007/107] gnu: Add python2-tracing. * gnu/packages/python.scm (python2-tracing): New variable. Signed-off-by: Marius Bakke --- gnu/packages/python.scm | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm index 7783cf9ab1..2e68db72d7 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -13541,3 +13541,29 @@ command line programs. Output is automatically adapted to the width of the terminal: truncated if it does not fit, and resized if the terminal size changes.") (license license:gpl3+))) + +(define-public python2-tracing + (package + (name "python2-tracing") + (version "0.10") + (source + (origin + (method url-fetch) + (uri (string-append + "http://git.liw.fi/cgi-bin/cgit/cgit.cgi/python-tracing/snapshot/tracing-" + version ".tar.gz")) + (sha256 + (base32 + "06cw4zg42fsvqy372vi2whj26w56vzg5axhzwdjc2bgwf03garbw")))) + (build-system python-build-system) + (arguments + `(#:python ,python-2)) + (home-page "https://liw.fi/tracing/") + (synopsis "Python debug logging helper") + (description "@code{python2-tracing} is a python library for +logging debug messages. It provides a way to turn debugging messages +on and off, based on the filename they occur in. It is much faster +than using @code{logging.Filter} to accomplish the same thing, which +matters when code is run in production mode. The actual logging still +happens using the @code{logging} library.") + (license license:gpl3+))) From b6b2ca5d19806a9ef13587b4988aa53ae7812878 Mon Sep 17 00:00:00 2001 From: Arun Isaac Date: Wed, 8 Mar 2017 23:28:34 +0530 Subject: [PATCH 008/107] gnu: Add python2-larch. * gnu/packages/python.scm (python2-larch): 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 2e68db72d7..ee785c26ed 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -13567,3 +13567,34 @@ than using @code{logging.Filter} to accomplish the same thing, which matters when code is run in production mode. The actual logging still happens using the @code{logging} library.") (license license:gpl3+))) + +(define-public python2-larch + (package + (name "python2-larch") + (version "1.20151025") + (source + (origin + (method url-fetch) + (uri (string-append + "http://git.liw.fi/cgi-bin/cgit/cgit.cgi/larch/snapshot/larch-" + version ".tar.gz")) + (sha256 + (base32 + "1p4knkkavlqymgciz2wbcnfrdgdbafhg14maplnk4vbw0q8xs663")))) + (build-system python-build-system) + (arguments + `(#:python ,python-2)) + (propagated-inputs + `(("python2-tracing" ,python2-tracing))) + (home-page "https://liw.fi/larch/") + (synopsis "Python copy-on-write B-tree library") + (description "@code{python2-larch} is an implementation of +particular kind of B-tree, based on research by Ohad Rodeh. See +@url{http://liw.fi/larch/ohad-btrees-shadowing-clones.pdf} for details +on the data structure. + +The distinctive feature of this B-tree is that a node is never +(conceptually) modified. Instead, all updates are done by +copy-on-write. This makes it easy to clone a tree, and modify only the +clone, while other processes access the original tree.") + (license license:gpl3+))) From 1f28b3195aaf32fed2981d5a8e88ba93af211b98 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Thu, 9 Mar 2017 18:13:22 +0100 Subject: [PATCH 009/107] gnu: xf86-input-libinput: Update to 0.25.0. * gnu/packages/xorg.scm (xf86-input-libinput): Update to 0.25.0. --- gnu/packages/xorg.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/xorg.scm b/gnu/packages/xorg.scm index d300f232d4..f1e63c0700 100644 --- a/gnu/packages/xorg.scm +++ b/gnu/packages/xorg.scm @@ -2387,7 +2387,7 @@ including most mice, keyboards, tablets and touchscreens.") (define-public xf86-input-libinput (package (name "xf86-input-libinput") - (version "0.24.0") + (version "0.25.0") (source (origin (method url-fetch) (uri (string-append @@ -2395,7 +2395,7 @@ including most mice, keyboards, tablets and touchscreens.") name "-" version ".tar.bz2")) (sha256 (base32 - "0a1nn65qq71bbfhxq39zdb4b1h6ickzv98cjdacv4ngd18shgjyx")))) + "0vsmijamfzf6vcljrr0am2qcz33zl2l0lj2mzmbwgrm7ixjx2zxv")))) (build-system gnu-build-system) (arguments '(#:configure-flags From 9f91340166f398ade47162a0d688dd8419f94ed5 Mon Sep 17 00:00:00 2001 From: Arun Isaac Date: Thu, 9 Mar 2017 01:41:44 +0530 Subject: [PATCH 010/107] gnu: octave: Build with curl and graphicsmagick. * gnu/packages/maths.scm (octave)[inputs]: Add curl and graphicsmagick. Signed-off-by: Leo Famulari --- gnu/packages/maths.scm | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm index 9533f5f0a8..d274d50bbc 100644 --- a/gnu/packages/maths.scm +++ b/gnu/packages/maths.scm @@ -72,6 +72,7 @@ #:use-module (gnu packages guile) #:use-module (gnu packages xorg) #:use-module (gnu packages gl) + #:use-module (gnu packages imagemagick) #:use-module (gnu packages m4) #:use-module (gnu packages mpi) #:use-module (gnu packages multiprecision) @@ -949,7 +950,9 @@ can solve two kinds of problems: ("libxft" ,libxft) ("mesa" ,mesa) ("glu" ,glu) - ("zlib" ,zlib))) + ("zlib" ,zlib) + ("curl" ,curl) + ("graphicsmagick" ,graphicsmagick))) (native-inputs `(("lzip" ,lzip) ("gfortran" ,gfortran) From d9e94c617033d225ad33a7ff39596a36d9bbfec5 Mon Sep 17 00:00:00 2001 From: Arun Isaac Date: Thu, 9 Mar 2017 01:41:45 +0530 Subject: [PATCH 011/107] gnu: graphicsmagick: Build with 16 bit quantum depth. Octave requires graphicsmagick to be built with 16 bit quantum depth. * gnu/packages/imagemagick.scm (graphicsmagick)[arguments]: Add "--with-quantum-depth=16" and "--enable-quantum-library-names" to #:configure-flags. Signed-off-by: Leo Famulari --- gnu/packages/imagemagick.scm | 2 ++ 1 file changed, 2 insertions(+) diff --git a/gnu/packages/imagemagick.scm b/gnu/packages/imagemagick.scm index 74483965dd..ebcb11a828 100644 --- a/gnu/packages/imagemagick.scm +++ b/gnu/packages/imagemagick.scm @@ -187,6 +187,8 @@ script.") (list "--with-frozenpaths" "--enable-shared=yes" "--with-x=yes" + "--with-quantum-depth=16" ; required by Octave + "--enable-quantum-library-names" (string-append "--with-gs-font-dir=" (assoc-ref %build-inputs "gs-fonts") "/share/fonts/type1/ghostscript")))) From 50b398298f616e9d08e98e3686578644f63fa304 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Tue, 7 Mar 2017 16:27:48 +0100 Subject: [PATCH 012/107] gnu: youtube-dl: Update to 2017.03.07. * gnu/packages/video.scm (youtube-dl): Update to 2017.03.07. --- 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 ec390d4db9..e10c1fe67d 100644 --- a/gnu/packages/video.scm +++ b/gnu/packages/video.scm @@ -975,7 +975,7 @@ access to mpv's powerful playback capabilities.") (define-public youtube-dl (package (name "youtube-dl") - (version "2017.03.02") + (version "2017.03.07") (source (origin (method url-fetch) (uri (string-append "https://yt-dl.org/downloads/" @@ -983,7 +983,7 @@ access to mpv's powerful playback capabilities.") version ".tar.gz")) (sha256 (base32 - "0f86qnppxnbh2c8bmpf0c1xhwk5vqjdzz7pqh9sydhscv8r0209g")))) + "19acz9m3gazd1ims4l9a9ni1p7jw8z4y0ncqn99xlx9kna8ryjnv")))) (build-system python-build-system) (arguments ;; The problem here is that the directory for the man page and completion From 1b34a47da0bb2657c324b25bbcb9d1758f7b8cfd Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Tue, 7 Mar 2017 19:29:51 +0100 Subject: [PATCH 013/107] gnu: pius: Update to 2.2.4. * gnu/packages/gnupg.scm (pius): Update to 2.2.4. --- gnu/packages/gnupg.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/gnupg.scm b/gnu/packages/gnupg.scm index 4fc9f38521..8b8824238a 100644 --- a/gnu/packages/gnupg.scm +++ b/gnu/packages/gnupg.scm @@ -519,7 +519,7 @@ and signature functionality from Python programs.") (define-public pius (package (name "pius") - (version "2.2.3") + (version "2.2.4") (source (origin (method url-fetch) (uri (string-append @@ -527,7 +527,7 @@ and signature functionality from Python programs.") version "/pius-" version ".tar.bz2")) (sha256 (base32 - "0iy0gnms6lv9hpvk29313kc495a2f7pq2mg6ljxhy233vxsmjsk6")))) + "0lgc0ipwdfqbq16zax8kn17wbv8xyw4ygc09fawl2yp459z0ql4n")))) (build-system python-build-system) (inputs `(("perl" ,perl) ;for 'pius-party-worksheet' ("gpg" ,gnupg))) From 2704f5be09ebf30360560b4bf1264e355808c899 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Tue, 7 Mar 2017 19:33:53 +0100 Subject: [PATCH 014/107] gnu: ibus: Update to 1.5.15. * gnu/packages/ibus.scm (ibus): Update to 1.5.15. --- gnu/packages/ibus.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/ibus.scm b/gnu/packages/ibus.scm index d441485296..7a753b4635 100644 --- a/gnu/packages/ibus.scm +++ b/gnu/packages/ibus.scm @@ -42,7 +42,7 @@ (define-public ibus (package (name "ibus") - (version "1.5.14") + (version "1.5.15") (source (origin (method url-fetch) (uri (string-append "https://github.com/ibus/ibus/" @@ -50,7 +50,7 @@ version "/ibus-" version ".tar.gz")) (sha256 (base32 - "0g4x02d7j5w1lfn4zvmzsq93h17lajgn9d7hlvr6pws28vz40ax4")))) + "11g3jf6dgvmszvpgpva0y587kr0sffl79xmymvghrb1sdynvmxs1")))) (build-system glib-or-gtk-build-system) (arguments `(#:tests? #f ; tests fail because there's no connection to dbus From ab84c13ff030fe9db4d2668421f6ddbcdfcb3cff Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Tue, 7 Mar 2017 19:35:08 +0100 Subject: [PATCH 015/107] gnu: ibus-anthy: Update to 1.5.9. * gnu/packages/ibus.scm (ibus-anthy): Update to 1.5.9. --- gnu/packages/ibus.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/ibus.scm b/gnu/packages/ibus.scm index 7a753b4635..6c5537579e 100644 --- a/gnu/packages/ibus.scm +++ b/gnu/packages/ibus.scm @@ -237,7 +237,7 @@ Chinese pinyin input methods.") (define-public ibus-anthy (package (name "ibus-anthy") - (version "1.5.8") + (version "1.5.9") (source (origin (method url-fetch) (uri (string-append @@ -245,7 +245,7 @@ Chinese pinyin input methods.") version "/ibus-anthy-" version ".tar.gz")) (sha256 (base32 - "1aj7vnfky7izl23xyjky78z3qas3q72l3kr8dnql2lnivsrb8q1y")))) + "1y8sf837rmp662bv6zakny0xcm7c9c5qda7f9kq9riv9ywpcbw6x")))) (build-system gnu-build-system) (arguments '(#:configure-flags From 5595d4c1fd13c56ab0643c03ff0958fbedf1d002 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Thu, 9 Mar 2017 22:28:41 +0100 Subject: [PATCH 016/107] gnu: btrfs-progs: Update to 4.10. * gnu/packages/linux.scm (btrfs-progs): Update to 4.10. --- gnu/packages/linux.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index de0fd71776..f04e730cd0 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -2766,7 +2766,7 @@ and copy/paste text in the console and in xterm.") (define-public btrfs-progs (package (name "btrfs-progs") - (version "4.9.1") + (version "4.10") (source (origin (method url-fetch) (uri (string-append "mirror://kernel.org/linux/kernel/" @@ -2774,7 +2774,7 @@ and copy/paste text in the console and in xterm.") "btrfs-progs-v" version ".tar.xz")) (sha256 (base32 - "1ppy2y9vypxw9awchari21yd3s2d7w2a9q3f4jq7dnjy5gyrnjj6")))) + "1njw2nrm51380d8arvqfmspa3app9353yd7hiddas3gpkaiwrjs4")))) (build-system gnu-build-system) (outputs '("out" "static")) ; static versions of binaries in "out" (~16MiB!) From ff797172b07f053bd6c9de33c5060914d7c823a3 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Thu, 9 Mar 2017 22:33:10 +0100 Subject: [PATCH 017/107] gnu: btrfs-progs/static: Correct description. * gnu/packages/linux.scm (btrfs-progs/static)[description]: Use the correct name of the btrfs-progs package and @command{} mark-up. --- gnu/packages/linux.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index f04e730cd0..efa6a7daa9 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -2841,9 +2841,9 @@ easy administration.") (remove-store-references target) (chmod target #o555))))) (home-page (package-home-page btrfs-progs)) - (synopsis "Statically-linked btrfs command from btrfsprogs") - (description "This package provides statically-linked command of btrfs taken -from the btrfsprogs package. It is meant to be used in initrds.") + (synopsis "Statically-linked btrfs command from btrfs-progs") + (description "This package provides the statically-linked @command{btrfs} +from the btrfs-progs package. It is meant to be used in initrds.") (license (package-license btrfs-progs)))) (define-public freefall From f2a7ce5033390e5a7b5faa8218010c4fd05ace1f Mon Sep 17 00:00:00 2001 From: ng0 Date: Tue, 21 Feb 2017 11:39:45 +0000 Subject: [PATCH 018/107] gnu: Add font-tamzen. * gnu/packages/fonts.scm (font-tamzen): New variable. Signed-off-by: Kei Kebreau --- gnu/packages/fonts.scm | 64 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 64 insertions(+) diff --git a/gnu/packages/fonts.scm b/gnu/packages/fonts.scm index ce07accbf2..1f01ad6ad0 100644 --- a/gnu/packages/fonts.scm +++ b/gnu/packages/fonts.scm @@ -1035,6 +1035,70 @@ designed to work well in user interface environments.") vector graphics.") (license license:silofl1.1))) +(define-public font-tamzen + (package + (name "font-tamzen") + (version "1.11.4") + (source + (origin + (method url-fetch) + (uri (string-append "https://github.com/sunaku/tamzen-font/archive/" + "Tamzen-" version ".tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1ryd7gp6qiwaqw73jqbmh4kwlriyd8xykh4j7z90z8xp9fm7lrys")))) + (build-system trivial-build-system) + (arguments + `(#:modules ((guix build utils)) + #:builder + (begin + (use-modules (guix build utils)) + + (let ((tar (string-append (assoc-ref %build-inputs "tar") + "/bin/tar")) + (PATH (string-append (assoc-ref %build-inputs "gzip") + "/bin")) + (font-dir (string-append %output "/share/fonts/misc")) + (psf-dir (string-append %output "/share/kbd/consolefonts")) + (src-pcf-dir (string-append "tamzen-font-Tamzen-" + ,version "/pcf"))) + (setenv "PATH" PATH) + (system* tar "xvf" (assoc-ref %build-inputs "source")) + (mkdir-p font-dir) + (mkdir-p psf-dir) + (chdir src-pcf-dir) + (for-each (lambda (pcf) + (install-file pcf font-dir)) + (find-files "." "\\.pcf$")) + (chdir "../psf") + (for-each (lambda (psf) + (install-file psf psf-dir)) + (find-files "." "\\.psf$")) + #t)))) + (native-inputs + `(("tar" ,tar) + ("gzip" ,gzip))) + (home-page "https://github.com/sunaku/tamzen-font") + (synopsis "Monospaced bitmap font for console and X11") + (description + "Tamzen is a fork of the @code{Tamsyn} font. It is programatically forked +from @code{Tamsyn} version 1.11, backporting glyphs from older versions while +deleting deliberately empty glyphs (which are marked as unimplemented) to +allow secondary/fallback fonts to provide real glyphs at those codepoints. + +The @code{TamzenForPowerline} fonts provide additional @code{Powerline} symbols, +which are programatically injected with @code{bitmap-font-patcher} and +later hand-tweaked with the gbdfed(1) editor: + +@enumerate +@item all icons are expanded to occupy the maximum available space +@item the branch of the fork icon ( U+E0A0) was made larger than the trunk +@item for the newline icon ( U+E0A1), the @emph{N} was made larger at the bottom +@item the keyhole in the padlock icon ( U+E0A2) was replaced with @emph{//} lines. +@end enumerate\n") + (license (license:non-copyleft "file://LICENSE")))) + (define-public font-comic-neue (package (name "font-comic-neue") From d4f6f78ea35741a617aab161b7afe3893e90a996 Mon Sep 17 00:00:00 2001 From: ng0 Date: Thu, 9 Mar 2017 21:46:13 +0000 Subject: [PATCH 019/107] gnu: hiawatha: Adjust description. * gnu/packages/web.scm (hiawatha)[description]: Adjust it. Signed-off-by: Kei Kebreau --- gnu/packages/web.scm | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm index dab30df13d..a0e76d52c4 100644 --- a/gnu/packages/web.scm +++ b/gnu/packages/web.scm @@ -4459,10 +4459,9 @@ functions of Tidy.") (home-page "https://www.hiawatha-webserver.org") (synopsis "Webserver with focus on security") (description - "Hiawatha has been written with security in mind. This resulted in a -highly secure webserver in both code and features. Hiawatha can stop SQL -injections, XSS and CSRF attacks and exploit attempts. Via a specially -crafted monitoring tool, you can keep track of all your webservers.") + "Hiawatha has been written with security in mind. +Features include the ability to stop SQL injections, XSS and CSRF attacks and +exploit attempts.") (license l:gpl2))) (define-public qutebrowser From 91c8724165d5839b0fd7026a93f4b6c150da2fec Mon Sep 17 00:00:00 2001 From: ng0 Date: Tue, 7 Mar 2017 00:58:01 +0000 Subject: [PATCH 020/107] Revert "gnu: neomutt: Configure with 'lmdb' and 'tokyocabinet'." 'kyotocabinet' is more current than tokyocabinet in development and supported in neomutt aswell. This reverts commit ef91e2b964ec0952698dd1bf7daf76624fed2145. Signed-off-by: Kei Kebreau --- gnu/packages/mail.scm | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/gnu/packages/mail.scm b/gnu/packages/mail.scm index b70597b84d..d03e3889f4 100644 --- a/gnu/packages/mail.scm +++ b/gnu/packages/mail.scm @@ -267,8 +267,6 @@ operating systems.") (inputs `(("cyrus-sasl" ,cyrus-sasl) ("gdbm" ,gdbm) - ("lmdb" ,lmdb) - ("tokyocabinet" ,tokyocabinet) ("gpgme" ,gpgme) ("ncurses" ,ncurses) ("gnutls" ,gnutls) @@ -291,11 +289,10 @@ operating systems.") "--enable-gpgme" ;; database, implies header caching - ;; neomutt supports building multiple backends - "--with-tokyocabinet" + "--without-tokyocabinet" "--without-qdbm" "--without-bdb" - "--with-lmdb" + "--without-lmdb" "--with-gdbm" "--with-gnutls" From 469609a987368eb17cda42dd9e815bf70f7d254a Mon Sep 17 00:00:00 2001 From: ng0 Date: Tue, 7 Mar 2017 00:58:02 +0000 Subject: [PATCH 021/107] gnu: neomutt: Update to 20170306. * gnu/packages/mail.scm (neomutt): Update to 20170306. Signed-off-by: Kei Kebreau --- gnu/packages/mail.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/mail.scm b/gnu/packages/mail.scm index d03e3889f4..80b7123817 100644 --- a/gnu/packages/mail.scm +++ b/gnu/packages/mail.scm @@ -254,7 +254,7 @@ operating systems.") (package (inherit mutt) (name "neomutt") - (version "20170225") + (version "20170306") (source (origin (method url-fetch) @@ -263,7 +263,7 @@ operating systems.") (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "00ll35g9pcanzrxsjp09vrmq6flml249dipcznrq2z4jy2zd386p")))) + "0qwcbjm9j1hgzmybw15w53pvfbqcdf47d4sw21s6r2yaj8kx1hag")))) (inputs `(("cyrus-sasl" ,cyrus-sasl) ("gdbm" ,gdbm) From 5c95465e27352c5e64c7a2acdc5e341bba321663 Mon Sep 17 00:00:00 2001 From: ng0 Date: Tue, 7 Mar 2017 00:58:03 +0000 Subject: [PATCH 022/107] gnu: neomutt: Configure with 'lmdb' and 'kyotocabinet'. * gnu/packages/mail.scm (neomutt)[configure]: Add '--with-kyotocabinet' and '--with-lmdb'. [inputs]: Add 'lmdb' and 'kyotocabinet'. Signed-off-by: Kei Kebreau --- gnu/packages/mail.scm | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/gnu/packages/mail.scm b/gnu/packages/mail.scm index 80b7123817..56fe9508a0 100644 --- a/gnu/packages/mail.scm +++ b/gnu/packages/mail.scm @@ -272,9 +272,11 @@ operating systems.") ("gnutls" ,gnutls) ("openssl" ,openssl) ;For smime ("perl" ,perl) + ("kyotocabinet" ,kyotocabinet) ("libxslt" ,libxslt) ("libidn" ,libidn) ("libxml2" ,libxml2) + ("lmdb" ,lmdb) ("docbook-xsl" ,docbook-xsl) ("notmuch" ,notmuch))) (native-inputs @@ -292,7 +294,9 @@ operating systems.") "--without-tokyocabinet" "--without-qdbm" "--without-bdb" - "--without-lmdb" + "--with-lmdb" + (string-append "--with-kyotocabinet=" + (assoc-ref %build-inputs "kyotocabinet")) "--with-gdbm" "--with-gnutls" From fc1428d29522fbaf9d05b79fb3f9a059225f768e Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Fri, 10 Mar 2017 01:44:08 -0500 Subject: [PATCH 023/107] gnu: pidgin: Update to 2.12.0 [fixes CVE-2017-2640]. * gnu/packages/messaging.scm (pidgin): Update to 2.12.0. --- 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 0ffc031c85..f2f36ad876 100644 --- a/gnu/packages/messaging.scm +++ b/gnu/packages/messaging.scm @@ -265,7 +265,7 @@ supports IPv6, SSL-protected connections as well as PAM for authentication.") (define-public pidgin (package (name "pidgin") - (version "2.11.0") + (version "2.12.0") (source (origin (method url-fetch) @@ -273,7 +273,7 @@ supports IPv6, SSL-protected connections as well as PAM for authentication.") version "/" name "-" version ".tar.bz2")) (sha256 (base32 - "0crkggjj6y07v1kdwil9vw532b0vrs6p33nmlvdkpnl60m2169pp")) + "1y5p2mq3bfw35b66jsafmbva0w5gg1k99y9z8fyp3jfksqv3agcc")) (patches (search-patches "pidgin-add-search-path.patch")))) (build-system glib-or-gtk-build-system) (native-inputs From 5ded35d89d33a58294956c4a6c86cfb2fc7c7924 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Mon, 6 Mar 2017 12:17:49 +0100 Subject: [PATCH 024/107] gnu: Add sambamba. * gnu/packages/bioinformatics.scm (htslib-for-sambamba, sambamba): New variables. --- gnu/packages/bioinformatics.scm | 97 +++++++++++++++++++++++++++++++++ 1 file changed, 97 insertions(+) diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm index 7bf39c6b03..b6f753ef0a 100644 --- a/gnu/packages/bioinformatics.scm +++ b/gnu/packages/bioinformatics.scm @@ -63,6 +63,7 @@ #:use-module (gnu packages image) #:use-module (gnu packages imagemagick) #:use-module (gnu packages java) + #:use-module (gnu packages ldc) #:use-module (gnu packages linux) #:use-module (gnu packages logging) #:use-module (gnu packages machine-learning) @@ -8574,3 +8575,99 @@ identifications while not exceeding a specified false discovery rate. It also contains a number of utilities to explore the MS/MS results and assess missed and irregular enzymatic cleavages, mass measurement accuracy, etc.") (license license:artistic2.0))) + +(define htslib-for-sambamba + (let ((commit "2f3c3ea7b301f9b45737a793c0b2dcf0240e5ee5")) + (package + (inherit htslib) + (name "htslib-for-sambamba") + (version (string-append "1.3.1-1." (string-take commit 9))) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/lomereiter/htslib.git") + (commit commit))) + (file-name (string-append "htslib-" version "-checkout")) + (sha256 + (base32 + "0g38g8s3npr0gjm9fahlbhiskyfws9l5i0x1ml3rakzj7az5l9c9")))) + (arguments + (substitute-keyword-arguments (package-arguments htslib) + ((#:phases phases) + `(modify-phases ,phases + (add-before 'configure 'bootstrap + (lambda _ + (zero? (system* "autoreconf" "-vif")))))))) + (native-inputs + `(("autoconf" ,autoconf) + ("automake" ,automake) + ,@(package-native-inputs htslib)))))) + +(define-public sambamba + (package + (name "sambamba") + (version "0.6.5") + (source + (origin + (method url-fetch) + (uri (string-append "https://github.com/lomereiter/sambamba/" + "archive/v" version ".tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "17076gijd65a3f07zns2gvbgahiz5lriwsa6dq353ss3jl85d8vy")))) + (build-system gnu-build-system) + (arguments + `(#:tests? #f ; there is no test target + #:make-flags + '("D_COMPILER=ldc2" + ;; Override "--compiler" flag only. + "D_FLAGS=--compiler=ldc2 -IBioD -g -d" + "sambamba-ldmd2-64") + #:phases + (modify-phases %standard-phases + (delete 'configure) + (add-after 'unpack 'place-biod + (lambda* (#:key inputs #:allow-other-keys) + (copy-recursively (assoc-ref inputs "biod") "BioD") + #t)) + (add-after 'unpack 'unbundle-prerequisites + (lambda _ + (substitute* "Makefile" + ((" htslib-static lz4-static") "")) + #t)) + (replace 'install + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (bin (string-append out "/bin"))) + (mkdir-p bin) + (install-file "build/sambamba" bin) + #t)))))) + (native-inputs + `(("ldc" ,ldc) + ("rdmd" ,rdmd) + ("biod" + ,(let ((commit "1248586b54af4bd4dfb28ebfebfc6bf012e7a587")) + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/biod/BioD.git") + (commit commit))) + (file-name (string-append "biod-" + (string-take commit 9) + "-checkout")) + (sha256 + (base32 + "1m8hi1n7x0ri4l6s9i0x6jg4z4v94xrfdzp7mbizdipfag0m17g3"))))))) + (inputs + `(("lz4" ,lz4) + ("htslib" ,htslib-for-sambamba))) + (home-page "http://lomereiter.github.io/sambamba") + (synopsis "Tools for working with SAM/BAM data") + (description "Sambamba is a high performance modern robust and +fast tool (and library), written in the D programming language, for +working with SAM and BAM files. Current parallelised functionality is +an important subset of samtools functionality, including view, index, +sort, markdup, and depth.") + (license license:gpl2+))) From 79f09fa2394c5de06668406222a655eac39c36f6 Mon Sep 17 00:00:00 2001 From: "Ben J. Woodcroft" Date: Fri, 10 Mar 2017 20:25:00 +1000 Subject: [PATCH 025/107] gnu: hmmer: Build reproducibly. * gnu/packages/patches/hmmer-remove-cpu-specificity.patch: New file. * gnu/packages/bioinformatics.scm (hmmer): Use it. --- gnu/packages/bioinformatics.scm | 20 +++++++++-------- .../hmmer-remove-cpu-specificity.patch | 22 +++++++++++++++++++ 2 files changed, 33 insertions(+), 9 deletions(-) create mode 100644 gnu/packages/patches/hmmer-remove-cpu-specificity.patch diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm index b6f753ef0a..866900d40b 100644 --- a/gnu/packages/bioinformatics.scm +++ b/gnu/packages/bioinformatics.scm @@ -2839,15 +2839,17 @@ indexing scheme is called a @dfn{Hierarchical Graph FM index} (HGFM).") (package (name "hmmer") (version "3.1b2") - (source (origin - (method url-fetch) - (uri (string-append - "http://eddylab.org/software/hmmer" - (version-prefix version 1) "/" - version "/hmmer-" version ".tar.gz")) - (sha256 - (base32 - "0djmgc0pfli0jilfx8hql1axhwhqxqb8rxg2r5rg07aw73sfs5nx")))) + (source + (origin + (method url-fetch) + (uri (string-append + "http://eddylab.org/software/hmmer" + (version-prefix version 1) "/" + version "/hmmer-" version ".tar.gz")) + (sha256 + (base32 + "0djmgc0pfli0jilfx8hql1axhwhqxqb8rxg2r5rg07aw73sfs5nx")) + (patches (search-patches "hmmer-remove-cpu-specificity.patch")))) (build-system gnu-build-system) (native-inputs `(("perl" ,perl))) (home-page "http://hmmer.org/") diff --git a/gnu/packages/patches/hmmer-remove-cpu-specificity.patch b/gnu/packages/patches/hmmer-remove-cpu-specificity.patch new file mode 100644 index 0000000000..ba98db4d0e --- /dev/null +++ b/gnu/packages/patches/hmmer-remove-cpu-specificity.patch @@ -0,0 +1,22 @@ +This patch removes compilation flags which make the build for the machine +where compilation takes place, rendering the build not reproducible. + +diff --git a/configure b/configure +index 8b6aaef..49a6afc 100755 +--- a/configure ++++ b/configure +@@ -6125,14 +6125,6 @@ fi # guess arch + + if test "x$ax_gcc_arch" != x -a "x$ax_gcc_arch" != xno; then + for arch in $ax_gcc_arch; do +- if test "x$acx_maxopt_portable" = xyes; then # if we require portable code +- flags="-mtune=$arch" +- # -mcpu=$arch and m$arch generate nonportable code on every arch except +- # x86. And some other arches (e.g. Alpha) don't accept -mtune. Grrr. +- case $host_cpu in i*86|x86_64*) flags="$flags -mcpu=$arch -m$arch";; esac +- else +- flags="-march=$arch -mcpu=$arch -m$arch" +- fi + for flag in $flags; do + as_CACHEVAR=`$as_echo "ax_cv_check_cflags__$flag" | $as_tr_sh` + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler accepts $flag" >&5 From 82ccc499f7262982beb2da9827d5706967a334f0 Mon Sep 17 00:00:00 2001 From: Carlo Zancanaro Date: Sun, 19 Feb 2017 10:32:58 +1100 Subject: [PATCH 026/107] services: Add exim-service-type. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/services/mail.scm (): New record type. (exim-computed-config-file, exim-shepherd-service, exim-activation, exim-etc, exim-profile): New procedures. (exim-service-type, %exim-accounts): New variables. * doc/guix.text (Mail Services): Document it. Signed-off-by: Ludovic Courtès --- doc/guix.texi | 42 ++++++++++++++++- gnu/services/mail.scm | 102 +++++++++++++++++++++++++++++++++++++++++- 2 files changed, 142 insertions(+), 2 deletions(-) diff --git a/doc/guix.texi b/doc/guix.texi index 732f4312a4..18821b9a9e 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -32,7 +32,8 @@ Copyright @copyright{} 2016 Julien Lepiller@* Copyright @copyright{} 2016 Alex ter Weele@* Copyright @copyright{} 2017 Clément Lassieur@* Copyright @copyright{} 2017 Mathieu Othacehe@* -Copyright @copyright{} 2017 Federico Beffa +Copyright @copyright{} 2017 Federico Beffa@* +Copyright @copyright{} 2017 Carlo Zancanaro Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or @@ -12206,6 +12207,45 @@ remote servers. Run @command{man smtpd.conf} for more information. @end table @end deftp +@subsubheading Exim Service + +@deffn {Scheme Variable} exim-service-type +This is the type of the @uref{https://exim.org, Exim} service, whose value +should be an @code{exim-configuration} object as in this example: + +@example +(service exim-service-type + (exim-configuration + (config-file (local-file "./my-exim.conf")) + (aliases '(("postmaster" "bob") + ("bob" "bob@@example.com" "bob@@example2.com"))))) +@end example +@end deffn + +@deftp {Data Type} exim-configuration +Data type representing the configuration of exim. + +@table @asis +@item @code{package} (default: @var{exim}) +Package object of the Exim server. + +@item @code{config-file} (default: @code{#f}) +File-like object of the Exim configuration file to use. If its value is +@code{#f} then use the default configuration file from the package +provided in @code{package}. The resulting configuration file is loaded +after setting the @code{exim_user} and @code{exim_group} configuration +variables. + +@item @code{aliases} (default: @code{'()}) +List of aliases to use when delivering mail on this system. The +@code{car} of each list is used to match incoming mail, with the +@code{cdr} of each list designating how to deliver it. There may be many +delivery methods provided, in which case the mail is delivered to them +all. + +@end table +@end deftp + @node Messaging Services @subsubsection Messaging Services diff --git a/gnu/services/mail.scm b/gnu/services/mail.scm index 30b1672d33..b211ab61a5 100644 --- a/gnu/services/mail.scm +++ b/gnu/services/mail.scm @@ -1,6 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2015 Andy Wingo ;;; Copyright © 2017 Clément Lassieur +;;; Copyright © 2017 Carlo Zancanaro ;;; ;;; This file is part of GNU Guix. ;;; @@ -33,6 +34,7 @@ #:use-module (guix packages) #:use-module (guix gexp) #:use-module (ice-9 match) + #:use-module (ice-9 format) #:export (dovecot-service dovecot-service-type dovecot-configuration @@ -53,7 +55,12 @@ opensmtpd-configuration opensmtpd-configuration? opensmtpd-service-type - %default-opensmtpd-config-file)) + %default-opensmtpd-config-file + + exim-configuration + exim-configuration? + exim-service-type + %default-exim-config-file)) ;;; Commentary: ;;; @@ -1620,3 +1627,96 @@ accept from local for any relay (compose list opensmtpd-configuration-package)) (service-extension shepherd-root-service-type opensmtpd-shepherd-service))))) + + +;;; +;;; Exim. +;;; + +(define-record-type* exim-configuration + make-exim-configuration + exim-configuration? + (package exim-configuration-package ; + (default exim)) + (config-file exim-configuration-config-file ;file-like + (default #f)) + (aliases exim-configuration-aliases ;; list of lists + (default '()))) + +(define %exim-accounts + (list (user-group + (name "exim") + (system? #t)) + (user-account + (name "exim") + (group "exim") + (system? #t) + (comment "Exim Daemon") + (home-directory "/var/empty") + (shell (file-append shadow "/sbin/nologin"))))) + +(define (exim-computed-config-file package config-file) + (computed-file "exim.conf" + #~(call-with-output-file #$output + (lambda (port) + (format port " +exim_user = exim +exim_group = exim +.include ~a" + #$(or config-file + (file-append package "/etc/exim.conf"))))))) + +(define exim-shepherd-service + (match-lambda + (($ package config-file aliases) + (list (shepherd-service + (provision '(exim mta)) + (documentation "Run the exim daemon.") + (requirement '(networking)) + (start #~(make-forkexec-constructor + '(#$(file-append package "/bin/exim") + "-bd" "-v" "-C" + #$(exim-computed-config-file package config-file)))) + (stop #~(make-kill-destructor))))))) + +(define exim-activation + (match-lambda + (($ package config-file aliases) + (with-imported-modules '((guix build utils)) + #~(begin + (use-modules (guix build utils)) + + (let ((uid (passwd:uid (getpw "exim"))) + (gid (group:gid (getgr "exim")))) + (mkdir-p "/var/spool/exim") + (chown "/var/spool/exim" uid gid)) + + (zero? (system* #$(file-append package "/bin/exim") + "-bV" "-C" #$(exim-computed-config-file package config-file)))))))) + +(define exim-etc + (match-lambda + (($ package config-file aliases) + `(("aliases" ,(plain-file "aliases" + ;; Ideally we'd use a format string like + ;; "~:{~a: ~{~a~^,~}\n~}", but it gives a + ;; warning that I can't figure out how to fix, + ;; so we'll just use string-join below instead. + (format #f "~:{~a: ~a\n~}" + (map (lambda (entry) + (list (car entry) + (string-join (cdr entry) ","))) + aliases)))))))) + +(define exim-profile + (compose list exim-configuration-package)) + +(define exim-service-type + (service-type + (name 'exim) + (extensions + (list (service-extension shepherd-root-service-type exim-shepherd-service) + (service-extension account-service-type (const %exim-accounts)) + (service-extension activation-service-type exim-activation) + (service-extension profile-service-type exim-profile) + (service-extension etc-service-type exim-etc))))) From fe2b6434f02c8abb26aebb59c4e0d0ccacb4fc90 Mon Sep 17 00:00:00 2001 From: Christopher Baines Date: Thu, 23 Feb 2017 08:20:57 +0000 Subject: [PATCH 027/107] services: Create /var/log upon activation. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit When launching a container created with guix system container, the attempt to create /var/log/wtmp would fail, as /var/log did not exist. * gnu/services.scm (activation-script): Create /var/log Co-authored-by: Ludovic Courtès --- gnu/services.scm | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/gnu/services.scm b/gnu/services.scm index 6ac4f1322d..6c88f2621b 100644 --- a/gnu/services.scm +++ b/gnu/services.scm @@ -334,9 +334,11 @@ ACTIVATION-SCRIPT-TYPE." (mlet* %store-monad ((actions (service-activations))) (gexp->file "activate" (with-imported-modules (source-module-closure - '((gnu build activation))) + '((gnu build activation) + (guix build utils))) #~(begin - (use-modules (gnu build activation)) + (use-modules (gnu build activation) + (guix build utils)) ;; Make sure the user accounting database exists. If it ;; does not exist, 'setutxent' does not create it and @@ -345,6 +347,7 @@ ACTIVATION-SCRIPT-TYPE." ;; Same for 'wtmp', which is populated by mingetty et ;; al. + (mkdir-p "/var/log") (close-port (open-file "/var/log/wtmp" "a0")) ;; Set up /run/current-system. Among other things this From 856be823235d488bf5d580b0b0340ec93d042e28 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Fri, 10 Mar 2017 14:41:00 +0100 Subject: [PATCH 028/107] system: Avoid '_' as a pattern variable in 'match'. * gnu/system.scm (operating-system-root-file-system): Don't use '_' as a wildcard in 'match', to cope with literal semantics in 2.2. --- gnu/system.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/system.scm b/gnu/system.scm index c8d4d014ed..0f52351cf0 100644 --- a/gnu/system.scm +++ b/gnu/system.scm @@ -652,8 +652,8 @@ hardware-related operations as necessary when booting a Linux container." (define (operating-system-root-file-system os) "Return the root file system of OS." (find (match-lambda - (($ _ _ "/") #t) - (_ #f)) + (($ device title "/") #t) + (x #f)) (operating-system-file-systems os))) (define (operating-system-initrd-file os) From 563c5d42c954eacc54151d46a04ae14b9dbb1a10 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cl=C3=A9ment=20Lassieur?= Date: Thu, 2 Mar 2017 22:06:27 +0100 Subject: [PATCH 029/107] services: openssh: Enable PAM. * gnu/services/ssh.scm: (openssh-pam-services): New procedure. (openssh-service-type): Use it to extend PAM-ROOT-SERVICE-TYPE. ()[challenge-response-authentication?]: New field. ()[use-pam?]: New field. (openssh-config-file): Add them. * doc/guix.texi (Networking Services): Document them. Signed-off-by: Danny Milosavljevic --- doc/guix.texi | 16 ++++++++++++++++ gnu/services/ssh.scm | 21 ++++++++++++++++++++- 2 files changed, 36 insertions(+), 1 deletion(-) diff --git a/doc/guix.texi b/doc/guix.texi index 18821b9a9e..5aed6771db 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -9344,6 +9344,22 @@ enabled---in other words, @command{ssh} options @option{-X} and @item @code{protocol-number} (default: @code{2}) The SSH protocol number to use. + +@item @code{challenge-response-authentication?} (default: @code{#f}) +Specifies whether challenge response authentication is allowed (e.g. via +PAM). + +@item @code{use-pam?} (default: @code{#t}) +Enables the Pluggable Authentication Module interface. If set to +@code{#t}, this will enable PAM authentication using +@code{challenge-response-authentication?} and +@code{password-authentication?}, in addition to PAM account and session +module processing for all authentication types. + +Because PAM challenge response authentication usually serves an +equivalent role to password authentication, you should disable either +@code{challenge-response-authentication?} or +@code{password-authentication?}. @end table @end deftp diff --git a/gnu/services/ssh.scm b/gnu/services/ssh.scm index c1d42e70ce..716a0fbbda 100644 --- a/gnu/services/ssh.scm +++ b/gnu/services/ssh.scm @@ -279,7 +279,11 @@ The other options should be self-descriptive." (x11-forwarding? openssh-configuration-x11-forwarding? ;Boolean (default #f)) (protocol-number openssh-configuration-protocol-number ;integer - (default 2))) + (default 2)) + (challenge-response-authentication? openssh-challenge-response-authentication? + (default #f)) ;Boolean + (use-pam? openssh-configuration-use-pam? + (default #t))) ;Boolean (define %openssh-accounts (list (user-group (name "sshd") (system? #t)) @@ -336,6 +340,12 @@ The other options should be self-descriptive." "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")) #t)))) (define (openssh-shepherd-service config) @@ -356,11 +366,20 @@ The other options should be self-descriptive." #:pid-file #$pid-file)) (stop #~(make-kill-destructor))))) +(define (openssh-pam-services config) + "Return a list of for sshd with CONFIG." + (list (unix-pam-service + "sshd" + #:allow-empty-passwords? + (openssh-configuration-allow-empty-passwords? config)))) + (define openssh-service-type (service-type (name 'openssh) (extensions (list (service-extension shepherd-root-service-type openssh-shepherd-service) + (service-extension pam-root-service-type + openssh-pam-services) (service-extension activation-service-type openssh-activation) (service-extension account-service-type From 1806a670f06bd745e7e3744046f50bb6f9113d26 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cl=C3=A9ment=20Lassieur?= Date: Thu, 2 Mar 2017 22:06:28 +0100 Subject: [PATCH 030/107] services: openssh: Remove deprecated options. * gnu/services/ssh.scm (openssh-config-file): Remove them. ()[rsa-authentication?]: Remove it. ()[protocol-number]: Remove it. * doc/guix.texi (Networking Services): Remove them. Signed-off-by: Danny Milosavljevic --- doc/guix.texi | 8 -------- gnu/services/ssh.scm | 10 ---------- 2 files changed, 18 deletions(-) diff --git a/doc/guix.texi b/doc/guix.texi index 5aed6771db..21434f6c74 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -9332,19 +9332,11 @@ false, users have to use other authentication method. Authorized public keys are stored in @file{~/.ssh/authorized_keys}. This is used only by protocol version 2. -@item @code{rsa-authentication?} (default: @code{#t}) -When true, users may log in using pure RSA authentication. When false, -users have to use other means of authentication. This is used only by -protocol 1. - @item @code{x11-forwarding?} (default: @code{#f}) When true, forwarding of X11 graphical client connections is enabled---in other words, @command{ssh} options @option{-X} and @option{-Y} will work. -@item @code{protocol-number} (default: @code{2}) -The SSH protocol number to use. - @item @code{challenge-response-authentication?} (default: @code{#f}) Specifies whether challenge response authentication is allowed (e.g. via PAM). diff --git a/gnu/services/ssh.scm b/gnu/services/ssh.scm index 716a0fbbda..ef7d546d13 100644 --- a/gnu/services/ssh.scm +++ b/gnu/services/ssh.scm @@ -274,12 +274,8 @@ The other options should be self-descriptive." (default #t)) (public-key-authentication? openssh-configuration-public-key-authentication? (default #t)) ;Boolean - (rsa-authentication? openssh-configuration-rsa-authentication? ;Boolean - (default #t)) (x11-forwarding? openssh-configuration-x11-forwarding? ;Boolean (default #f)) - (protocol-number openssh-configuration-protocol-number ;integer - (default 2)) (challenge-response-authentication? openssh-challenge-response-authentication? (default #f)) ;Boolean (use-pam? openssh-configuration-use-pam? @@ -313,9 +309,6 @@ The other options should be self-descriptive." #~(call-with-output-file #$output (lambda (port) (display "# Generated by 'openssh-service'.\n" port) - (format port "Protocol ~a\n" - #$(if (eq? (openssh-configuration-protocol-number config) 1) - "1" "2")) (format port "Port ~a\n" #$(number->string (openssh-configuration-port-number config))) (format port "PermitRootLogin ~a\n" @@ -332,9 +325,6 @@ The other options should be self-descriptive." (format port "PubkeyAuthentication ~a\n" #$(if (openssh-configuration-public-key-authentication? config) "yes" "no")) - (format port "RSAAuthentication ~a\n" - #$(if (openssh-configuration-rsa-authentication? config) - "yes" "no")) (format port "X11Forwarding ~a\n" #$(if (openssh-configuration-x11-forwarding? config) "yes" "no")) From f895dce41b5495849a7e26fef747db14f6dd4ef0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cl=C3=A9ment=20Lassieur?= Date: Thu, 2 Mar 2017 22:06:29 +0100 Subject: [PATCH 031/107] services: openssh: Fix 'PrintLastLog' default behaviour. * gnu/services/ssh.scm (openssh-config-file): Add 'print-last-log?' option. ()[print-last-log?]: Add it. (openssh-activation): Touch /var/log/lastlog. * doc/guix.texi (Networking Services): Document 'print-last-log?'. Before that, the service did not work as expected because /var/log/lastlog did not exist. Signed-off-by: Danny Milosavljevic --- doc/guix.texi | 4 ++++ gnu/services/ssh.scm | 13 +++++++++++++ 2 files changed, 17 insertions(+) diff --git a/doc/guix.texi b/doc/guix.texi index 21434f6c74..966a5458f8 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -9352,6 +9352,10 @@ Because PAM challenge response authentication usually serves an equivalent role to password authentication, you should disable either @code{challenge-response-authentication?} or @code{password-authentication?}. + +@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. @end table @end deftp diff --git a/gnu/services/ssh.scm b/gnu/services/ssh.scm index ef7d546d13..d8a3ad35ad 100644 --- a/gnu/services/ssh.scm +++ b/gnu/services/ssh.scm @@ -279,6 +279,8 @@ The other options should be self-descriptive." (challenge-response-authentication? openssh-challenge-response-authentication? (default #f)) ;Boolean (use-pam? openssh-configuration-use-pam? + (default #t)) ;Boolean + (print-last-log? openssh-configuration-print-last-log? (default #t))) ;Boolean (define %openssh-accounts @@ -298,6 +300,14 @@ The other options should be self-descriptive." (mkdir-p "/etc/ssh") (mkdir-p (dirname #$(openssh-configuration-pid-file config))) + (define (touch file-name) + (call-with-output-file file-name (const #t))) + + (let ((lastlog "/var/log/lastlog")) + (when #$(openssh-configuration-print-last-log? config) + (unless (file-exists? lastlog) + (touch lastlog)))) + ;; Generate missing host keys. (system* (string-append #$(openssh-configuration-openssh config) "/bin/ssh-keygen") "-A"))) @@ -336,6 +346,9 @@ The other options should be self-descriptive." (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)))) (define (openssh-shepherd-service config) From 97bede8466b587099d5fdd4640483e82328bbd8d Mon Sep 17 00:00:00 2001 From: Danny Milosavljevic Date: Fri, 10 Mar 2017 19:39:52 +0100 Subject: [PATCH 032/107] gnu: dub: Update to 1.2.2. * gnu/packages/ldc.scm (dub): Update to 1.2.2. --- gnu/packages/ldc.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/ldc.scm b/gnu/packages/ldc.scm index 614e2d6d0c..fd4d60e8b8 100644 --- a/gnu/packages/ldc.scm +++ b/gnu/packages/ldc.scm @@ -276,7 +276,7 @@ latest DMD frontend and uses LLVM as backend.") (define-public dub (package (name "dub") - (version "1.2.0") + (version "1.2.2") (source (origin (method url-fetch) (uri (string-append "https://github.com/dlang/dub/archive/" @@ -284,7 +284,7 @@ latest DMD frontend and uses LLVM as backend.") (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "1sd8i1rvxc7y7kk0y6km5zyvaladc5zh56r6afj74ndd63dssv43")))) + "02k11x34nck0lbv13ww103niiswnwnslbnswj3b5faszzadbi1v4")))) (build-system gnu-build-system) (arguments `(#:tests? #f ; it would have tested itself by installing some packages (vibe etc) From b500dc2e83adc5529b890349af48655d0adaf1f8 Mon Sep 17 00:00:00 2001 From: Theodoros Foradis Date: Sat, 14 Jan 2017 20:31:34 +0200 Subject: [PATCH 033/107] gnu: icestorm: Replace reference in icebox_vlog. * gnu/packages/fpga.scm (icestorm)[arguments]: Add phase "fix-usr-local" to replace reference to /usr/local/share. --- gnu/packages/fpga.scm | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/gnu/packages/fpga.scm b/gnu/packages/fpga.scm index f65eae8673..0b98e2db0d 100644 --- a/gnu/packages/fpga.scm +++ b/gnu/packages/fpga.scm @@ -231,6 +231,11 @@ For synthesis, the compiler generates netlists in the desired format.") (("-I/usr/local/include") "") (("-L/usr/local/lib") "")) #t)) + (add-after 'remove-usr-local 'fix-usr-local + (lambda* (#:key outputs #:allow-other-keys) + (substitute* "icebox/icebox_vlog.py" + (("/usr/local/share") (string-append (assoc-ref outputs "out") "/share"))) + #t)) (delete 'configure)))) (inputs `(("libftdi" ,libftdi))) From a2fa9c3d1baf65cc5aec2ce843e2d7921e593c21 Mon Sep 17 00:00:00 2001 From: Arun Isaac Date: Thu, 9 Mar 2017 22:57:42 +0530 Subject: [PATCH 034/107] gnu: Add obnam. * gnu/packages/backup.scm (obnam): New variable. Signed-off-by: Marius Bakke --- gnu/packages/backup.scm | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) diff --git a/gnu/packages/backup.scm b/gnu/packages/backup.scm index 8eaab8a871..97ab70e651 100644 --- a/gnu/packages/backup.scm +++ b/gnu/packages/backup.scm @@ -4,6 +4,7 @@ ;;; Copyright © 2015, 2016 Leo Famulari ;;; Copyright © 2017 Tobias Geerinckx-Rice ;;; Copyright © 2017 Thomas Danckaert +;;; Copyright © 2017 Arun Isaac ;;; ;;; This file is part of GNU Guix. ;;; @@ -627,3 +628,35 @@ NTFS volumes using @code{ntfs-3g}, preserving NTFS-specific attributes.") (license (list license:gpl3+ license:lgpl3+ license:cc0)))) + +(define-public obnam + (package + (name "obnam") + (version "1.21") + (source + (origin + (method url-fetch) + (uri (string-append + "http://code.liw.fi/debian/pool/main/o/obnam/obnam_" + version ".orig.tar.xz")) + (sha256 + (base32 + "0qlipsq50hca71zc0dp1mg9zs12qm0sbblw7qfzl0hj6mk2rv1by")))) + (build-system python-build-system) + (arguments + `(#:python ,python-2)) + (inputs + `(("python2-cliapp" ,python2-cliapp) + ("python2-larch" ,python2-larch) + ("python2-paramiko" ,python2-paramiko) + ("python2-pyaml" ,python2-pyaml) + ("python2-tracing" ,python2-tracing) + ("python2-ttystatus" ,python2-ttystatus))) + (home-page "https://obnam.org/") + (synopsis "Easy and secure backup program") + (description "Obnam is an easy, secure backup program. Features +include snapshot backups, data de-duplication and encrypted backups +using GnuPG. Backups can be stored on local hard disks, or online via +the SSH SFTP protocol. The backup server, if used, does not require +any special software, on top of SSH.") + (license license:gpl3+))) From d5eca4f9ac8d7000e53136379def8ce6ec561718 Mon Sep 17 00:00:00 2001 From: Raoul Jean Pierre Bonnal Date: Sat, 11 Mar 2017 07:34:57 +1000 Subject: [PATCH 035/107] gnu: Add r-diptest. * gnu/packages/statistics.scm (r-diptest): New variable. Signed-off-by: Ben Woodcroft --- gnu/packages/statistics.scm | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/gnu/packages/statistics.scm b/gnu/packages/statistics.scm index e02c342c6f..7282c3cf8f 100644 --- a/gnu/packages/statistics.scm +++ b/gnu/packages/statistics.scm @@ -4169,3 +4169,23 @@ perform @dfn{independent component analysis} (ICA) and projection pursuit.") "This package provides the Breiman and Cutler's random forests algorithm, based on a forest of trees using random inputs, for classification and regression.") (license license:gpl2+))) + +(define-public r-diptest + (package + (name "r-diptest") + (version "0.75-7") + (source + (origin + (method url-fetch) + (uri (cran-uri "diptest" version)) + (sha256 + (base32 + "06xnc5gv1284ll0addxnxb6ljz6fn8dbyrp5vchyz6551h800aa6")))) + (build-system r-build-system) + (home-page "http://cran.r-project.org/web/packages/diptest") + (synopsis "Hartigan's dip test statistic for unimodality") + (description + "This package computes Hartigan's dip test statistic for unimodality, +multimodality and provides a test with simulation based p-values, where the +original public code has been corrected.") + (license license:gpl2+))) From 1721fb4fe79eecc8061c7bcdfe45c3503627587f Mon Sep 17 00:00:00 2001 From: Raoul Jean Pierre Bonnal Date: Sat, 11 Mar 2017 09:06:55 +1000 Subject: [PATCH 036/107] gnu: Add r-modeltools. * gnu/packages/statistics.scm (r-modeltools): New variable. Signed-off-by: Ben Woodcroft --- gnu/packages/statistics.scm | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/gnu/packages/statistics.scm b/gnu/packages/statistics.scm index 7282c3cf8f..333b1b6894 100644 --- a/gnu/packages/statistics.scm +++ b/gnu/packages/statistics.scm @@ -4189,3 +4189,23 @@ forest of trees using random inputs, for classification and regression.") multimodality and provides a test with simulation based p-values, where the original public code has been corrected.") (license license:gpl2+))) + +(define-public r-modeltools + (package + (name "r-modeltools") + (version "0.2-21") + (source + (origin + (method url-fetch) + (uri (cran-uri "modeltools" version)) + (sha256 + (base32 + "0ynds453xprxv0jqqzi3blnv5w6vrdww9pvd1sq4lrr5ar3k3cq7")))) + (build-system r-build-system) + (home-page "http://cran.r-project.org/web/packages/modeltools") + (synopsis "Tools and classes for statistical models") + (description + "This package provides a collection of tools to deal with statistical +models. The functionality is experimental and the user interface is likely +to change in the future.") + (license license:gpl2))) From a1f2668e6c0e3545ee2272edcab1a8db9d43b489 Mon Sep 17 00:00:00 2001 From: Raoul Jean Pierre Bonnal Date: Thu, 19 Jan 2017 19:55:03 +0100 Subject: [PATCH 037/107] gnu: Add r-flexmix. * gnu/packages/statistics.scm (r-flexmix): New variable. Signed-off-by: Ben Woodcroft --- gnu/packages/statistics.scm | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/gnu/packages/statistics.scm b/gnu/packages/statistics.scm index 333b1b6894..06872fdaec 100644 --- a/gnu/packages/statistics.scm +++ b/gnu/packages/statistics.scm @@ -4209,3 +4209,27 @@ original public code has been corrected.") models. The functionality is experimental and the user interface is likely to change in the future.") (license license:gpl2))) + +(define-public r-flexmix + (package + (name "r-flexmix") + (version "2.3-13") + (source + (origin + (method url-fetch) + (uri (cran-uri "flexmix" version)) + (sha256 + (base32 + "1i205yw3kkxs27gqcs6zx0c2mh16p332a2p06wq6fdzb20bazg3z")))) + (build-system r-build-system) + (propagated-inputs + `(("r-modeltools" ,r-modeltools))) + (home-page "http://cran.r-project.org/web/packages/flexmix") + (synopsis "Flexible mixture modeling") + (description + "This package implements a general framework for finite mixtures of +regression models using the EM algorithm. FlexMix provides the E-step and +all data handling, while the M-step can be supplied by the user to easily +define new models. Existing drivers implement mixtures of standard linear +models, generalized linear models and model-based clustering.") + (license license:gpl2+))) From 5638e154757454bab34b5391a0b07f17a9db4573 Mon Sep 17 00:00:00 2001 From: Raoul Jean Pierre Bonnal Date: Thu, 19 Jan 2017 19:55:04 +0100 Subject: [PATCH 038/107] gnu: Add r-mclust. * gnu/packages/statistics.scm (r-mclust): New variable. Co-authored-by: Ben Woodcroft --- gnu/packages/statistics.scm | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/gnu/packages/statistics.scm b/gnu/packages/statistics.scm index 06872fdaec..be845c060a 100644 --- a/gnu/packages/statistics.scm +++ b/gnu/packages/statistics.scm @@ -4233,3 +4233,27 @@ all data handling, while the M-step can be supplied by the user to easily define new models. Existing drivers implement mixtures of standard linear models, generalized linear models and model-based clustering.") (license license:gpl2+))) + +(define-public r-mclust + (package + (name "r-mclust") + (version "5.2.2") + (source + (origin + (method url-fetch) + (uri (cran-uri "mclust" version)) + (sha256 + (base32 + "19cbg7p5h2b6h9mvcx9rjppyd3awma18ymaljakbnclpvhwbqpwd")))) + (build-system r-build-system) + (native-inputs + `(("gfortran" ,gfortran))) + (home-page "http://www.stat.washington.edu/mclust/") + (synopsis "Gaussian mixture modelling for model-based clustering etc.") + (description + "This package provides Gaussian finite mixture models fitted via EM +algorithm for model-based clustering, classification, and density estimation, +including Bayesian regularization, dimension reduction for visualisation, +and resampling-based inference.") + (license license:gpl2+))) + From c962816dc4e009da8cbe8006a80f4a7f73d7bdbe Mon Sep 17 00:00:00 2001 From: Raoul Jean Pierre Bonnal Date: Sat, 11 Mar 2017 09:36:49 +1000 Subject: [PATCH 039/107] gnu: Add r-prabclus. * gnu/packages/statistics.scm (r-prabclus): New variable. Signed-off-by: Ben Woodcroft --- gnu/packages/statistics.scm | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/gnu/packages/statistics.scm b/gnu/packages/statistics.scm index be845c060a..3882355d17 100644 --- a/gnu/packages/statistics.scm +++ b/gnu/packages/statistics.scm @@ -4257,3 +4257,25 @@ including Bayesian regularization, dimension reduction for visualisation, and resampling-based inference.") (license license:gpl2+))) +(define-public r-prabclus + (package + (name "r-prabclus") + (version "2.2-6") + (source + (origin + (method url-fetch) + (uri (cran-uri "prabclus" version)) + (sha256 + (base32 + "0qjsxrx6yv338bxm4ki0w9h8hind1l98abdrz828588bwj02jya1")))) + (build-system r-build-system) + (propagated-inputs + `(("r-mclust" ,r-mclust))) + (home-page "https://cran.r-project.org/web/packages/prabclus") + (synopsis "Parametric bootstrap tests for spatial neighborhood clustering") + (description + "This package provides a distance-based parametric bootstrap tests +for clustering with spatial neighborhood information. Some distance measures, +clustering of presence-absence, abundance and multilocus genetical data for +species delimitation, nearest neighbor based noise detection.") + (license license:gpl2+))) From cda0720805b31c6fd2e3d0b6ffa0a4294429428f Mon Sep 17 00:00:00 2001 From: Raoul Jean Pierre Bonnal Date: Sat, 11 Mar 2017 09:45:34 +1000 Subject: [PATCH 040/107] gnu: Add r-deoptimr. * gnu/packages/statistics.scm (r-deoptimr): New variable. Signed-off-by: Ben Woodcroft --- gnu/packages/statistics.scm | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/gnu/packages/statistics.scm b/gnu/packages/statistics.scm index 3882355d17..6714b765f4 100644 --- a/gnu/packages/statistics.scm +++ b/gnu/packages/statistics.scm @@ -4279,3 +4279,26 @@ for clustering with spatial neighborhood information. Some distance measures, clustering of presence-absence, abundance and multilocus genetical data for species delimitation, nearest neighbor based noise detection.") (license license:gpl2+))) + +(define-public r-deoptimr + (package + (name "r-deoptimr") + (version "1.0-8") + (source + (origin + (method url-fetch) + (uri (cran-uri "DEoptimR" version)) + (sha256 + (base32 + "1vz546hyjyhly70z62h5n3mn62b8llhhmim8ffp9y6jnnb0i2sc4")))) + (properties `((upstream-name . "DEoptimR"))) + (build-system r-build-system) + (home-page "http://cran.r-project.org/web/packages/DEoptimR") + (synopsis "Differential evolution optimization in pure R") + (description + "This package provides a differential evolution (DE) stochastic +algorithms for global optimization of problems with and without constraints. +The aim is to curate a collection of its state-of-the-art variants that (1) do +not sacrifice simplicity of design, (2) are essentially tuning-free, and (3) +can be efficiently implemented directly in the R language.") + (license license:gpl2+))) From c0cab38e037e67e3b9c784270b846687b749b27f Mon Sep 17 00:00:00 2001 From: Raoul Jean Pierre Bonnal Date: Sat, 11 Mar 2017 09:56:57 +1000 Subject: [PATCH 041/107] gnu: Add r-robustbase. * gnu/packages/statistics.scm (r-robustbase): New variable. Signed-off-by: Ben Woodcroft --- gnu/packages/statistics.scm | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/gnu/packages/statistics.scm b/gnu/packages/statistics.scm index 6714b765f4..c9eddff259 100644 --- a/gnu/packages/statistics.scm +++ b/gnu/packages/statistics.scm @@ -4302,3 +4302,26 @@ The aim is to curate a collection of its state-of-the-art variants that (1) do not sacrifice simplicity of design, (2) are essentially tuning-free, and (3) can be efficiently implemented directly in the R language.") (license license:gpl2+))) + +(define-public r-robustbase + (package + (name "r-robustbase") + (version "0.92-7") + (source + (origin + (method url-fetch) + (uri (cran-uri "robustbase" version)) + (sha256 + (base32 + "13xz4am7y0s0kl5bmbcw3dlhl7ji8h9sjx56wsgmj6r9n35nrggw")))) + (build-system r-build-system) + (inputs + `(("gfortran" ,gfortran))) + (propagated-inputs + `(("r-deoptimr" ,r-deoptimr))) + (home-page "http://robustbase.r-forge.r-project.org/") + (synopsis "Basic robust statistics") + (description + "This packages allows to analyze data with robust methods such as +regression methodology including model selections and multivariate statistics.") + (license license:gpl2+))) From 5da4f84f1faa1caf9b1dbe599f53016acfcb4ff9 Mon Sep 17 00:00:00 2001 From: Raoul Jean Pierre Bonnal Date: Sat, 11 Mar 2017 10:04:33 +1000 Subject: [PATCH 042/107] gnu: Add r-trimcluster. * gnu/packages/statistics.scm (r-trimcluster): New variable. Signed-off-by: Ben Woodcroft --- gnu/packages/statistics.scm | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/gnu/packages/statistics.scm b/gnu/packages/statistics.scm index c9eddff259..16f647f852 100644 --- a/gnu/packages/statistics.scm +++ b/gnu/packages/statistics.scm @@ -4325,3 +4325,23 @@ can be efficiently implemented directly in the R language.") "This packages allows to analyze data with robust methods such as regression methodology including model selections and multivariate statistics.") (license license:gpl2+))) + +(define-public r-trimcluster + (package + (name "r-trimcluster") + (version "0.1-2") + (source + (origin + (method url-fetch) + (uri (cran-uri "trimcluster" version)) + (sha256 + (base32 + "0lsgbg93hm0w1rdb813ry0ks2l0jfpyqzqkf3h3bj6fch0avcbv2")))) + (build-system r-build-system) + (home-page "http://cran.r-project.org/web/packages/trimcluster") + (synopsis "Cluster analysis with trimming") + (description + "The trimmed k-means clustering method by Cuesta-Albertos, Gordaliza and +Matran (1997). This optimizes the k-means criterion under trimming a portion +of the points.") + (license license:gpl2+))) From a409e8b52f76c0eaab381bf05136e63455c00b00 Mon Sep 17 00:00:00 2001 From: Raoul Jean Pierre Bonnal Date: Sat, 11 Mar 2017 10:10:36 +1000 Subject: [PATCH 043/107] gnu: Add r-fpc. * gnu/packages/statistics.scm (r-fpc): New variable. Signed-off-by: Ben Woodcroft --- gnu/packages/statistics.scm | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) diff --git a/gnu/packages/statistics.scm b/gnu/packages/statistics.scm index 16f647f852..5422603682 100644 --- a/gnu/packages/statistics.scm +++ b/gnu/packages/statistics.scm @@ -4345,3 +4345,34 @@ regression methodology including model selections and multivariate statistics.") Matran (1997). This optimizes the k-means criterion under trimming a portion of the points.") (license license:gpl2+))) + +(define-public r-fpc + (package + (name "r-fpc") + (version "2.1-10") + (source + (origin + (method url-fetch) + (uri (cran-uri "fpc" version)) + (sha256 + (base32 + "15m0p9l9w2v7sl0cnzyg81i2fmx3hrhvr3371544mwn3fpsca5sx")))) + (build-system r-build-system) + (propagated-inputs + `(("r-diptest" ,r-diptest) + ("r-flexmix" ,r-flexmix) + ("r-kernlab" ,r-kernlab) + ("r-mclust" ,r-mclust) + ("r-mvtnorm" ,r-mvtnorm) + ("r-prabclus" ,r-prabclus) + ("r-robustbase" ,r-robustbase) + ("r-trimcluster" ,r-trimcluster))) + (home-page "http://cran.r-project.org/web/packages/fpc") + (synopsis "Flexible procedures for clustering") + (description + "This package provides various methods for clustering and cluster validation. +For example, it provides fixed point clustering, linear regression clustering, +clustering by merging Gaussian mixture components, as well as symmetric and +asymmetric discriminant projections for visualisation of the separation of +groupings.") + (license license:gpl2+))) From 036cd0cb8b7af877841d08364bf30788a313af48 Mon Sep 17 00:00:00 2001 From: Raoul Jean Pierre Bonnal Date: Sat, 11 Mar 2017 10:32:14 +1000 Subject: [PATCH 044/107] gnu: Add r-ape. * gnu/packages/bioinformatics.scm (r-ape): New variable. Co-authored-by: Ben Woodcroft --- gnu/packages/bioinformatics.scm | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm index 866900d40b..6ff0942b7b 100644 --- a/gnu/packages/bioinformatics.scm +++ b/gnu/packages/bioinformatics.scm @@ -96,6 +96,28 @@ #:use-module (gnu packages zip) #:use-module (srfi srfi-1)) +(define-public r-ape + (package + (name "r-ape") + (version "4.1") + (source + (origin + (method url-fetch) + (uri (cran-uri "ape" version)) + (sha256 + (base32 + "0959fiiy11rzfzrzaknmgrx64bhszj02l0ycz79k5a6bmpfzanlk")))) + (build-system r-build-system) + (home-page "http://ape-package.ird.fr/") + (synopsis "Analyses of phylogenetics and evolution") + (description + "This package provides functions for reading, writing, plotting, and +manipulating phylogenetic trees, analyses of comparative data in a +phylogenetic framework, ancestral character analyses, analyses of +diversification and macroevolution, computing distances from DNA sequences, +and several other tools.") + (license license:gpl2+))) + (define-public aragorn (package (name "aragorn") From fbf45d6ea7c038b5c1a718b9b927fd64af8c5a54 Mon Sep 17 00:00:00 2001 From: Ben Woodcroft Date: Sat, 11 Mar 2017 11:37:15 +1000 Subject: [PATCH 045/107] gnu: vsearch: Update to 2.4.2. * gnu/packages/bioinformatics.scm (vsearch): Update to 2.4.2. --- gnu/packages/bioinformatics.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm index 6ff0942b7b..770bea7e32 100644 --- a/gnu/packages/bioinformatics.scm +++ b/gnu/packages/bioinformatics.scm @@ -5766,7 +5766,7 @@ track. The database is exposed as a @code{TxDb} object.") (define-public vsearch (package (name "vsearch") - (version "2.4.0") + (version "2.4.2") (source (origin (method url-fetch) @@ -5776,7 +5776,7 @@ track. The database is exposed as a @code{TxDb} object.") (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "007q9a50hdw4vs2iajabvbw7qccml4r8cbqzyi5ipkkf42jk3vnr")) + "15zy2d9xvgbgdjlxvrhj8s5ga42p13k7a3xv015ingn0bi1p3n6w")) (patches (search-patches "vsearch-unbundle-cityhash.patch")) (snippet '(begin From d4cebae286fec90deae7c0cb829c8d57218c63fc Mon Sep 17 00:00:00 2001 From: Raoul Jean Pierre Bonnal Date: Sat, 11 Mar 2017 11:47:02 +1000 Subject: [PATCH 046/107] gnu: Add r-vgam. * gnu/packages/statistics.scm (r-vgam): New variable. Signed-off-by: Ben Woodcroft --- gnu/packages/statistics.scm | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/gnu/packages/statistics.scm b/gnu/packages/statistics.scm index 5422603682..6045c796d2 100644 --- a/gnu/packages/statistics.scm +++ b/gnu/packages/statistics.scm @@ -4376,3 +4376,28 @@ clustering by merging Gaussian mixture components, as well as symmetric and asymmetric discriminant projections for visualisation of the separation of groupings.") (license license:gpl2+))) + +(define-public r-vgam + (package + (name "r-vgam") + (version "1.0-3") + (source + (origin + (method url-fetch) + (uri (cran-uri "VGAM" version)) + (sha256 + (base32 + "0wr6szcpj8r4a1rlzgd6iym7khin69fmvxcf37iyvs8mms86dfr3")))) + (properties `((upstream-name . "VGAM"))) + (build-system r-build-system) + (inputs + `(("gfortran" ,gfortran))) + (home-page "https://www.stat.auckland.ac.nz/~yee/VGAM") + (synopsis "Vector generalized linear and additive models") + (description + "This package is an implementation of about 6 major classes of statistical +regression models. Currently only fixed-effects models are implemented, i.e., +no random-effects models. Many (150+) models and distributions are estimated +by maximum likelihood estimation (MLE) or penalized MLE, using Fisher scoring. +VGLMs can be loosely thought of as multivariate generalised linear models.") + (license license:gpl2+))) From 7711f614502948274ceaf1c7547d8abe40b81c9b Mon Sep 17 00:00:00 2001 From: Raoul Jean Pierre Bonnal Date: Sat, 11 Mar 2017 11:50:25 +1000 Subject: [PATCH 047/107] gnu: Add r-pbapply. * gnu/packages/statistics.scm (r-pbapply): New variable. Co-authored-by: Ben Woodcroft --- gnu/packages/statistics.scm | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/gnu/packages/statistics.scm b/gnu/packages/statistics.scm index 6045c796d2..6ab64a5c8f 100644 --- a/gnu/packages/statistics.scm +++ b/gnu/packages/statistics.scm @@ -4401,3 +4401,23 @@ no random-effects models. Many (150+) models and distributions are estimated by maximum likelihood estimation (MLE) or penalized MLE, using Fisher scoring. VGLMs can be loosely thought of as multivariate generalised linear models.") (license license:gpl2+))) + +(define-public r-pbapply + (package + (name "r-pbapply") + (version "1.3-2") + (source + (origin + (method url-fetch) + (uri (cran-uri "pbapply" version)) + (sha256 + (base32 + "1sdmjlnwxb99f95g5v8k8mirrkzw99yig377v0qi9lzwjgd6fqqr")))) + (build-system r-build-system) + (home-page "https://github.com/psolymos/pbapply") + (synopsis "Adding progress bar to apply functions") + (description + "This lightweight package that adds progress bar to vectorized R +functions apply. The implementation can easily be added to functions where +showing the progress is useful e.g. bootstrap.") + (license license:gpl2))) From e08ad76658f0bd1b9880c2388ae004ff0daca1cb Mon Sep 17 00:00:00 2001 From: Raoul Jean Pierre Bonnal Date: Sat, 11 Mar 2017 11:55:28 +1000 Subject: [PATCH 048/107] gnu: Add r-fnn. * gnu/packages/statistics.scm (r-fnn): New variable. Signed-off-by: Ben Woodcroft --- gnu/packages/statistics.scm | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/gnu/packages/statistics.scm b/gnu/packages/statistics.scm index 6ab64a5c8f..ff2aab2a83 100644 --- a/gnu/packages/statistics.scm +++ b/gnu/packages/statistics.scm @@ -4421,3 +4421,24 @@ VGLMs can be loosely thought of as multivariate generalised linear models.") functions apply. The implementation can easily be added to functions where showing the progress is useful e.g. bootstrap.") (license license:gpl2))) + +(define-public r-fnn + (package + (name "r-fnn") + (version "1.1") + (source + (origin + (method url-fetch) + (uri (cran-uri "FNN" version)) + (sha256 + (base32 + "1kncmiaraq1mrykb9fj3fsxswabk3l71fnp1vks0x9aay5xfk8mj")))) + (properties `((upstream-name . "FNN"))) + (build-system r-build-system) + (home-page "http://cran.r-project.org/web/packages/FNN") + (synopsis "Fast nearest neighbor search algorithms and applications") + (description + "This package provides cover-tree and kd-tree fast k-nearest neighbor +search algorithms and related applications including KNN classification, +regression and information measures.") + (license license:gpl2+))) From c84c8f66f54a508fbe5ba1831e3595794dc78eb2 Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Fri, 10 Mar 2017 22:35:50 -0500 Subject: [PATCH 049/107] gnu: wget: Fix CVE-2017-6508. * gnu/packages/patches/wget-CVE-2017-6508.patch: New file. * gnu/local.mk (dist_patch_DATA): Add it. * gnu/packages/wget.scm (wget)[source]: Use it. --- gnu/local.mk | 1 + gnu/packages/patches/wget-CVE-2017-6508.patch | 45 +++++++++++++++++++ gnu/packages/wget.scm | 2 + 3 files changed, 48 insertions(+) create mode 100644 gnu/packages/patches/wget-CVE-2017-6508.patch diff --git a/gnu/local.mk b/gnu/local.mk index cbd61e0972..c1b076a5f3 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -970,6 +970,7 @@ dist_patch_DATA = \ %D%/packages/patches/vte-CVE-2012-2738-pt1.patch \ %D%/packages/patches/vte-CVE-2012-2738-pt2.patch \ %D%/packages/patches/weechat-python.patch \ + %D%/packages/patches/wget-CVE-2017-6508.patch \ %D%/packages/patches/wicd-bitrate-none-fix.patch \ %D%/packages/patches/wicd-get-selected-profile-fix.patch \ %D%/packages/patches/wicd-urwid-1.3.patch \ diff --git a/gnu/packages/patches/wget-CVE-2017-6508.patch b/gnu/packages/patches/wget-CVE-2017-6508.patch new file mode 100644 index 0000000000..0218fceaad --- /dev/null +++ b/gnu/packages/patches/wget-CVE-2017-6508.patch @@ -0,0 +1,45 @@ +Fix CVE-2017-6508: + +https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-6508 + +Patch copied from upstream source repository: + +https://git.savannah.gnu.org/cgit/wget.git/commit/?id=4d729e322fae359a1aefaafec1144764a54e8ad4 + +From 4d729e322fae359a1aefaafec1144764a54e8ad4 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Tim=20R=C3=BChsen?= +Date: Mon, 6 Mar 2017 10:04:22 +0100 +Subject: [PATCH] Fix CRLF injection in Wget host part + +* src/url.c (url_parse): Reject control characters in host part of URL + +Reported-by: Orange Tsai +--- + src/url.c | 11 +++++++++++ + 1 file changed, 11 insertions(+) + +diff --git a/src/url.c b/src/url.c +index 8f8ff0b8..7d36b27d 100644 +--- a/src/url.c ++++ b/src/url.c +@@ -925,6 +925,17 @@ url_parse (const char *url, int *error, struct iri *iri, bool percent_encode) + url_unescape (u->host); + host_modified = true; + ++ /* check for invalid control characters in host name */ ++ for (p = u->host; *p; p++) ++ { ++ if (c_iscntrl(*p)) ++ { ++ url_free(u); ++ error_code = PE_INVALID_HOST_NAME; ++ goto error; ++ } ++ } ++ + /* Apply IDNA regardless of iri->utf8_encode status */ + if (opt.enable_iri && iri) + { +-- +2.12.0 + diff --git a/gnu/packages/wget.scm b/gnu/packages/wget.scm index 9ac21b4db1..1c56e14a66 100644 --- a/gnu/packages/wget.scm +++ b/gnu/packages/wget.scm @@ -20,6 +20,7 @@ (define-module (gnu packages wget) #:use-module (guix licenses) + #:use-module (gnu packages) #:use-module (gnu packages libidn) #:use-module (gnu packages python) #:use-module (gnu packages perl) @@ -39,6 +40,7 @@ (method url-fetch) (uri (string-append "mirror://gnu/wget/wget-" version ".tar.xz")) + (patches (search-patches "wget-CVE-2017-6508.patch")) (sha256 (base32 "1ljcfhbkdsd0zjfm520rbl1ai62fc34i7c45sfj244l8f6b0p58c")))) From 4018745a224fd108e08e4d88d443130cc4c86bcc Mon Sep 17 00:00:00 2001 From: John Darrington Date: Fri, 10 Mar 2017 06:43:08 +0100 Subject: [PATCH 050/107] doc: Update the package count. * doc/guix.texi: Update the number of packages available. --- doc/guix.texi | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/guix.texi b/doc/guix.texi index 966a5458f8..b6c89bc9b6 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -6808,7 +6808,7 @@ Few system services are currently supported out-of-the-box (@pxref{Services}). @item -More than 4,000 packages are available, but you may +More than 5,000 packages are available, but you may occasionally find that a useful package is missing. @item From 47bdc5a173708e9138dda62dd9de0c3a9b2b03ec Mon Sep 17 00:00:00 2001 From: Mathieu Othacehe Date: Thu, 9 Mar 2017 19:39:23 +0100 Subject: [PATCH 051/107] linux-initrd: Add a raw-initrd and use it to define base-initrd. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/system/linux-initrd.scm (raw-initrd): New exported variable. (base-initrd): Use raw-initrd to build the initrd. * doc/guix.texi (Initial RAM Disk): Document it. Signed-off-by: Ludovic Courtès --- doc/guix.texi | 47 +++++++++---- gnu/system/linux-initrd.scm | 129 ++++++++++++++++++++++-------------- 2 files changed, 114 insertions(+), 62 deletions(-) diff --git a/doc/guix.texi b/doc/guix.texi index b6c89bc9b6..a602c701cb 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -13887,9 +13887,9 @@ kernel modules that may be needed to achieve that. The @code{initrd} field of an @code{operating-system} declaration allows you to specify which initrd you would like to use. The @code{(gnu -system linux-initrd)} module provides two ways to build an initrd: the -high-level @code{base-initrd} procedure, and the low-level -@code{expression->initrd} procedure. +system linux-initrd)} module provides three ways to build an initrd: the +high-level @code{base-initrd} procedure and the low-level +@code{raw-initrd} and @code{expression->initrd} procedures. The @code{base-initrd} procedure is intended to cover most common uses. For example, if you want to add a bunch of kernel modules to be loaded @@ -13910,9 +13910,16 @@ The @code{base-initrd} procedure also handles common use cases that involves using the system as a QEMU guest, or as a ``live'' system with volatile root file system. -The initial RAM disk produced by @code{base-initrd} honors several -options passed on the Linux kernel command line (that is, arguments -passed @i{via} the @code{linux} command of GRUB, or the +The @code{base-initrd} procedure is built from @code{raw-initrd} procedure. +Unlike @code{base-initrd}, @code{raw-initrd} doesn't do anything high-level, +such as trying to guess which kernel modules and packages should be included +to the initrd. An example use of @code{raw-initrd} is when a user has +a custom Linux kernel configuration and default kernel modules included by +@code{base-initrd} are not available. + +The initial RAM disk produced by @code{base-initrd} or @code{raw-initrd} +honors several options passed on the Linux kernel command line +(that is, arguments passed @i{via} the @code{linux} command of GRUB, or the @code{-append} option of QEMU), notably: @table @code @@ -13951,19 +13958,23 @@ Manual}, for more information on Guile's REPL. @end table Now that you know all the features that initial RAM disks produced by -@code{base-initrd} provide, here is how to use it and customize it -further. +@code{base-initrd} and @code{raw-initrd} provide, +here is how to use it and customize it further. @cindex initrd @cindex initial RAM disk -@deffn {Monadic Procedure} base-initrd @var{file-systems} @ - [#:qemu-networking? #f] [#:virtio? #t] [#:volatile-root? #f] @ - [#:extra-modules '()] [#:mapped-devices '()] -Return a monadic derivation that builds a generic initrd. @var{file-systems} is +@deffn {Monadic Procedure} raw-initrd @var{file-systems} @ + [#:linux-modules '()] [#:mapped-devices '()] @ + [#:helper-packages '()] [#:qemu-networking? #f] [#:volatile-root? #f] +Return a monadic derivation that builds a raw initrd. @var{file-systems} is a list of file systems to be mounted by the initrd, possibly in addition to the root file system specified on the kernel command line via @code{--root}. +@var{linux-modules} is a list of kernel modules to be loaded at boot time. @var{mapped-devices} is a list of device mappings to realize before @var{file-systems} are mounted (@pxref{Mapped Devices}). +@var{helper-packages} is a list of packages to be copied in the initrd. It may +include @code{e2fsck/static} or other packages needed by the initrd to check +root partition. When @var{qemu-networking?} is true, set up networking with the standard QEMU parameters. When @var{virtio?} is true, load additional modules so that the @@ -13971,6 +13982,18 @@ initrd can be used as a QEMU guest with para-virtualized I/O drivers. When @var{volatile-root?} is true, the root file system is writable but any changes to it are lost. +@end deffn + +@deffn {Monadic Procedure} base-initrd @var{file-systems} @ + [#:mapped-devices '()] [#:qemu-networking? #f] [#:volatile-root? #f]@ + [#:virtio? #t] [#:extra-modules '()] +Return a monadic derivation that builds a generic initrd. @var{file-systems} is +a list of file systems to be mounted by the initrd like for @code{raw-initrd}. +@var{mapped-devices}, @var{qemu-networking?} and @var{volatile-root?} +also behaves as in @code{raw-initrd}. + +When @var{virtio?} is true, load additional modules so that the +initrd can be used as a QEMU guest with para-virtualized I/O drivers. The initrd is automatically populated with all the kernel modules necessary for @var{file-systems} and for the given options. However, additional kernel diff --git a/gnu/system/linux-initrd.scm b/gnu/system/linux-initrd.scm index 4a753cdadb..81c1278c0c 100644 --- a/gnu/system/linux-initrd.scm +++ b/gnu/system/linux-initrd.scm @@ -2,6 +2,7 @@ ;;; Copyright © 2013, 2014, 2015, 2016 Ludovic Courtès ;;; Copyright © 2016 Mark H Weaver ;;; Copyright © 2016 Jan Nieuwenhuizen +;;; Copyright © 2017 Mathieu Othacehe ;;; ;;; This file is part of GNU Guix. ;;; @@ -41,6 +42,7 @@ #:use-module (srfi srfi-1) #:use-module (srfi srfi-26) #:export (expression->initrd + raw-initrd base-initrd)) @@ -131,13 +133,79 @@ MODULES and taken from LINUX." (gexp->derivation "linux-modules" build-exp)) +(define* (raw-initrd file-systems + #:key + (linux linux-libre) + (linux-modules '()) + (mapped-devices '()) + (helper-packages '()) + qemu-networking? + volatile-root?) + "Return a monadic derivation that builds a raw initrd, with kernel +modules taken from LINUX. FILE-SYSTEMS is a list of file-systems to be +mounted by the initrd, possibly in addition to the root file system specified +on the kernel command line via '--root'. LINUX-MODULES is a list of kernel +modules to be loaded at boot time. MAPPED-DEVICES is a list of device +mappings to realize before FILE-SYSTEMS are mounted. +HELPER-PACKAGES is a list of packages to be copied in the initrd. It may include +e2fsck/static or other packages needed by the initrd to check root partition. + +When QEMU-NETWORKING? is true, set up networking with the standard QEMU +parameters. +When VOLATILE-ROOT? is true, the root file system is writable but any changes +to it are lost." + (define device-mapping-commands + ;; List of gexps to open the mapped devices. + (map (lambda (md) + (let* ((source (mapped-device-source md)) + (target (mapped-device-target md)) + (type (mapped-device-type md)) + (open (mapped-device-kind-open type))) + (open source target))) + mapped-devices)) + + (mlet %store-monad ((kodir (flat-linux-module-directory linux + linux-modules))) + (expression->initrd + (with-imported-modules (source-module-closure + '((gnu build linux-boot) + (guix build utils) + (guix build bournish) + (gnu build file-systems))) + #~(begin + (use-modules (gnu build linux-boot) + (guix build utils) + (guix build bournish) ;add the 'bournish' meta-command + (srfi srfi-26) + + ;; FIXME: The following modules are for + ;; LUKS-DEVICE-MAPPING. We should instead propagate + ;; this info via gexps. + ((gnu build file-systems) + #:select (find-partition-by-luks-uuid)) + (rnrs bytevectors)) + + (with-output-to-port (%make-void-port "w") + (lambda () + (set-path-environment-variable "PATH" '("bin" "sbin") + '#$helper-packages))) + + (boot-system #:mounts '#$(map file-system->spec file-systems) + #:pre-mount (lambda () + (and #$@device-mapping-commands)) + #:linux-modules '#$linux-modules + #:linux-module-directory '#$kodir + #:qemu-guest-networking? #$qemu-networking? + #:volatile-root? '#$volatile-root?))) + #:name "raw-initrd"))) + (define* (base-initrd file-systems #:key (linux linux-libre) (mapped-devices '()) qemu-networking? - (virtio? #t) volatile-root? + (virtio? #t) (extra-modules '())) "Return a monadic derivation that builds a generic initrd, with kernel modules taken from LINUX. FILE-SYSTEMS is a list of file-systems to be @@ -145,14 +213,12 @@ mounted by the initrd, possibly in addition to the root file system specified on the kernel command line via '--root'. MAPPED-DEVICES is a list of device mappings to realize before FILE-SYSTEMS are mounted. -When QEMU-NETWORKING? is true, set up networking with the standard QEMU -parameters. When VIRTIO? is true, load additional modules so the initrd can +QEMU-NETWORKING? and VOLATILE-ROOT? behaves as in raw-initrd. + +When VIRTIO? is true, load additional modules so the initrd can be used as a QEMU guest with the root file system on a para-virtualized block device. -When VOLATILE-ROOT? is true, the root file system is writable but any changes -to it are lost. - The initrd is automatically populated with all the kernel modules necessary for FILE-SYSTEMS and for the given options. However, additional kernel modules can be listed in EXTRA-MODULES. They will be added to the initrd, and @@ -224,49 +290,12 @@ loaded at boot time in the order in which they appear." (list unionfs-fuse/static) '()))) - (define device-mapping-commands - ;; List of gexps to open the mapped devices. - (map (lambda (md) - (let* ((source (mapped-device-source md)) - (target (mapped-device-target md)) - (type (mapped-device-type md)) - (open (mapped-device-kind-open type))) - (open source target))) - mapped-devices)) - - (mlet %store-monad ((kodir (flat-linux-module-directory linux - linux-modules))) - (expression->initrd - (with-imported-modules (source-module-closure - '((gnu build linux-boot) - (guix build utils) - (guix build bournish) - (gnu build file-systems))) - #~(begin - (use-modules (gnu build linux-boot) - (guix build utils) - (guix build bournish) ;add the 'bournish' meta-command - (srfi srfi-26) - - ;; FIXME: The following modules are for - ;; LUKS-DEVICE-MAPPING. We should instead propagate - ;; this info via gexps. - ((gnu build file-systems) - #:select (find-partition-by-luks-uuid)) - (rnrs bytevectors)) - - (with-output-to-port (%make-void-port "w") - (lambda () - (set-path-environment-variable "PATH" '("bin" "sbin") - '#$helper-packages))) - - (boot-system #:mounts '#$(map file-system->spec file-systems) - #:pre-mount (lambda () - (and #$@device-mapping-commands)) - #:linux-modules '#$linux-modules - #:linux-module-directory '#$kodir - #:qemu-guest-networking? #$qemu-networking? - #:volatile-root? '#$volatile-root?))) - #:name "base-initrd"))) + (raw-initrd file-systems + #:linux linux + #:linux-modules linux-modules + #:mapped-devices mapped-devices + #:helper-packages helper-packages + #:qemu-networking? qemu-networking? + #:volatile-root? volatile-root?)) ;;; linux-initrd.scm ends here From 55fa53491b18bac6683eefb16ab70e6dc13869ef Mon Sep 17 00:00:00 2001 From: Arun Isaac Date: Fri, 10 Mar 2017 11:00:16 +0530 Subject: [PATCH 052/107] gnu: Add emacs-memoize. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/emacs.scm (emacs-memoize): New variable. Signed-off-by: Ludovic Courtès --- gnu/packages/emacs.scm | 31 ++++++++++++++++++++++++++++++- 1 file changed, 30 insertions(+), 1 deletion(-) diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm index 1daf8e4e68..dc2820167f 100644 --- a/gnu/packages/emacs.scm +++ b/gnu/packages/emacs.scm @@ -16,7 +16,7 @@ ;;; Copyright © 2016 Alex Griffin ;;; Copyright © 2016, 2017 Nicolas Goaziou ;;; Copyright © 2016 Alex Vong -;;; Copyright © 2016 Arun Isaac +;;; Copyright © 2016, 2017 Arun Isaac ;;; Copyright © 2017 Christopher Baines ;;; Copyright © 2017 Mathieu Othacehe ;;; Copyright © 2017 Clément Lassieur @@ -3852,3 +3852,32 @@ mode-line.") "YASnippet is a template system for Emacs. It allows you to type an abbreviation and automatically expand it into function templates.") (license license:gpl3+))) + +(define-public emacs-memoize + (package + (name "emacs-memoize") + (version "20130421.b55eab0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/skeeto/emacs-memoize") + (commit "b55eab0cb6ab05d941e07b8c01f1655c0cf1dd75"))) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0fjwlrdm270qcrqffvarw5yhijk656q4lam79ybhaznzj0dq3xpw")))) + (build-system emacs-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-before 'install 'check + (lambda _ + (zero? (system* "emacs" "-batch" "-l" "memoize.el" + "-l" "memoize-test.el" + "-f" "ert-run-tests-batch-and-exit"))))))) + (home-page "https://github.com/skeeto/emacs-memoize") + (synopsis "Emacs lisp memoization library") + (description "@code{emacs-memoize} is an Emacs library for +memoizing functions.") + (license license:unlicense))) From a15638034ef3d7bcfabe365b2f222479c8608ddd Mon Sep 17 00:00:00 2001 From: rsiddharth Date: Fri, 24 Feb 2017 06:29:31 +0000 Subject: [PATCH 053/107] gnu: Add ghc-unexceptionalio. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/haskell.scm (ghc-unexceptionalio): New variable. Signed-off-by: Ludovic Courtès --- gnu/packages/haskell.scm | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index d0f659f6e3..2415881e8e 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -8194,4 +8194,22 @@ or filter messages based on the priority and source. It also has a syslog handler built in.") (license license:bsd-3))) +(define-public ghc-unexceptionalio + (package + (name "ghc-unexceptionalio") + (version "0.3.0") + (source + (origin + (method url-fetch) + (uri (string-append "https://hackage.haskell.org/package/" + "unexceptionalio-" version "/" "unexceptionalio-" + version ".tar.gz")) + (sha256 (base32 "1f7h7zwky4scdcyjspg4ksfh7x6yra0wjybxq70p7vcwpgk2nzlj")))) + (build-system haskell-build-system) + (home-page "https://github.com/singpolyma/unexceptionalio") + (synopsis "IO without any non-error, synchronous exceptions") + (description "When you've caught all the exceptions that can be +handled safely, this is what you're left with.") + (license license:isc))) + ;;; haskell.scm ends here From c4b15cb54f8b2cfc7814a9f409fe2887352b6ba0 Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Sat, 11 Mar 2017 12:26:57 -0500 Subject: [PATCH 054/107] gnu: imagemagick: Update to 6.9.7-10. * gnu/packages/imagemagick.scm (imagemagick): Update to 6.9.7-10. --- gnu/packages/imagemagick.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/imagemagick.scm b/gnu/packages/imagemagick.scm index ebcb11a828..73496ccfc0 100644 --- a/gnu/packages/imagemagick.scm +++ b/gnu/packages/imagemagick.scm @@ -46,14 +46,14 @@ ;; The 7 release series has an incompatible API, while the 6 series is still ;; maintained. Don't update to 7 until we've made sure that the ImageMagick ;; users are ready for the 7-series API. - (version "6.9.7-9") + (version "6.9.7-10") (source (origin (method url-fetch) (uri (string-append "mirror://imagemagick/ImageMagick-" version ".tar.xz")) (sha256 (base32 - "1fqvi6h96mfbyw292awiwsqs449sjmw6i9ib53c66nnq1zchw7l3")))) + "02gvxz1xap5nm1vrgjxhkx13q6ja06vf23n28nc6cfdpb4s2xyqb")))) (build-system gnu-build-system) (arguments `(#:configure-flags '("--with-frozenpaths" "--without-gcc-arch") From e7b9dac7b1e31994860a3deeb70f0da43876e665 Mon Sep 17 00:00:00 2001 From: Mathieu Othacehe Date: Thu, 9 Mar 2017 13:55:18 +0100 Subject: [PATCH 055/107] gnu: cuirass: Update to 0.0.1 revision 5. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/ci.scm (cuirass): Update to 0.0.1 revision 5. Signed-off-by: Ludovic Courtès --- gnu/packages/ci.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/ci.scm b/gnu/packages/ci.scm index c25bc389c0..ae91464a18 100644 --- a/gnu/packages/ci.scm +++ b/gnu/packages/ci.scm @@ -187,8 +187,8 @@ their dependencies.") (license l:gpl3+)))) (define-public cuirass - (let ((commit "f695c79eb3b93a0432901844c8ede16de39b8d07") - (revision "4")) + (let ((commit "8c811abb3174b44601b8996a1fe1718f37d7bd14") + (revision "5")) (package (name "cuirass") (version (string-append "0.0.1-" revision "." (string-take commit 7))) @@ -200,7 +200,7 @@ their dependencies.") (file-name (string-append name "-" version)) (sha256 (base32 - "1zsj3l85d8jq7h9a0zfb2w5pyvlwkirgvis4bv60syhbpblfvmri")))) + "0kz2ys01xlmxagsfr9qf3p212vm31wfl76rvxa7ii5804aidlz5n")))) (build-system gnu-build-system) (arguments '(#:phases From 612af7ff66e0d5018bb696ff0140805bc8b5194e Mon Sep 17 00:00:00 2001 From: Sergei Trofimovich Date: Mon, 6 Mar 2017 21:54:19 +0000 Subject: [PATCH 056/107] gnu: re2: Set CXX for cross-compilation. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/regex.scm (re2)[arguments]: Specify CXX in #:make-flags. Signed-off-by: Ludovic Courtès --- gnu/packages/regex.scm | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/gnu/packages/regex.scm b/gnu/packages/regex.scm index 11f4716033..f55faaf042 100644 --- a/gnu/packages/regex.scm +++ b/gnu/packages/regex.scm @@ -22,7 +22,8 @@ #:use-module ((guix licenses) #:prefix license:) #:use-module (guix packages) #:use-module (guix download) - #:use-module (guix build-system gnu)) + #:use-module (guix build-system gnu) + #:use-module (guix utils)) (define-public re2 (package @@ -42,7 +43,16 @@ (arguments `(#:test-target "test" ;; There is no configure step, but the Makefile respects a prefix. - #:make-flags (list (string-append "prefix=" %output)) + ;; As ./configure does not know anything about the target CXX + ;; we need to specify TARGET-g++ explicitly. + #:make-flags (list (string-append "prefix=" %output) + (string-append + "CXX=" ,(string-append + (if (%current-target-system) + (string-append + (%current-target-system) "-") + "") + "g++"))) #:phases (modify-phases %standard-phases (delete 'configure) From 5578c2987e7657fd85fc0fb1c274ad00d4b173e9 Mon Sep 17 00:00:00 2001 From: Thomas Danckaert Date: Thu, 2 Mar 2017 09:33:43 +0100 Subject: [PATCH 057/107] gnu: phonon: Install Qt extensions. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/kde-frameworks.scm (phonon)[arguments]: Add -DPHONON-INSTALL_QT_EXTENSIONS_INTO_SYSTEM_QT configure flag, and patch the installation directory. Signed-off-by: Ludovic Courtès --- gnu/packages/kde-frameworks.scm | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/gnu/packages/kde-frameworks.scm b/gnu/packages/kde-frameworks.scm index ba4ead2d67..240e338ab7 100644 --- a/gnu/packages/kde-frameworks.scm +++ b/gnu/packages/kde-frameworks.scm @@ -3,6 +3,7 @@ ;;; Copyright © 2016 Efraim Flashner ;;; Copyright © 2016 Hartmut Goebel ;;; Copyright © 2016 David Craven +;;; Copyright © 2017 Thomas Danckaert ;;; ;;; This file is part of GNU Guix. ;;; @@ -119,7 +120,18 @@ common build settings used in software produced by the KDE community.") (arguments `(#:configure-flags '("-DCMAKE_CXX_FLAGS=-fPIC" - "-DPHONON_BUILD_PHONON4QT5=ON"))) + "-DPHONON_BUILD_PHONON4QT5=ON" + "-DPHONON_INSTALL_QT_EXTENSIONS_INTO_SYSTEM_QT=ON") + #:phases + (modify-phases %standard-phases + (add-before 'install 'patch-installdir + (lambda* (#:key inputs outputs #:allow-other-keys) + (let ((regex (string-append "(INSTALL DESTINATION \")" + (assoc-ref inputs "qtbase")))) + (substitute* "cmake_install.cmake" + ((regex all dest) + (string-append dest (assoc-ref outputs "out"))))) + #t))))) (home-page "https://phonon.kde.org") (synopsis "KDE's multimedia library") (description "KDE's multimedia library.") From 4bff300b5356d40475eb9d1a4deafcdcb0fa0441 Mon Sep 17 00:00:00 2001 From: Thomas Danckaert Date: Thu, 2 Mar 2017 11:20:53 +0100 Subject: [PATCH 058/107] gnu: Add phonon-backend-gstreamer. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/kde-frameworks.scm (phonon-backend-gstreamer): New variable. Signed-off-by: Ludovic Courtès --- gnu/packages/kde-frameworks.scm | 36 +++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) diff --git a/gnu/packages/kde-frameworks.scm b/gnu/packages/kde-frameworks.scm index 240e338ab7..4359636285 100644 --- a/gnu/packages/kde-frameworks.scm +++ b/gnu/packages/kde-frameworks.scm @@ -43,6 +43,7 @@ #:use-module (gnu packages glib) #:use-module (gnu packages gnome) #:use-module (gnu packages gnupg) + #:use-module (gnu packages gstreamer) #:use-module (gnu packages linux) #:use-module (gnu packages perl) #:use-module (gnu packages pkg-config) @@ -137,6 +138,41 @@ common build settings used in software produced by the KDE community.") (description "KDE's multimedia library.") (license license:lgpl2.1+))) +(define-public phonon-backend-gstreamer + (package + (name "phonon-backend-gstreamer") + (version "4.9.0") + (source (origin + (method url-fetch) + (uri (string-append + "mirror://kde/stable/phonon/" + name "/" version "/" + name "-" version ".tar.xz")) + (sha256 + (base32 + "1wc5p1rqglf0n1avp55s50k7fjdzdrhg0gind15k8796w7nfbhyf")))) + (build-system cmake-build-system) + (native-inputs + `(("extra-cmake-modules" ,extra-cmake-modules) + ("pkg-config" ,pkg-config))) + (inputs + `(("qtbase" ,qtbase) + ("phonon" ,phonon) + ("qtbase" ,qtbase) + ("qtx11extras" ,qtx11extras) + ("gstreamer" ,gstreamer) + ("gst-plugins-base" ,gst-plugins-base) + ("libxml2" ,libxml2))) + (arguments + `(#:configure-flags + '( "-DPHONON_BUILD_PHONON4QT5=ON"))) + (home-page "https://phonon.kde.org") + (synopsis "Phonon backend which uses GStreamer") + (description "Phonon makes use of backend libraries to provide sound. +Phonon-GStreamer is a backend based on the GStreamer multimedia library.") + ;; license: source files mention "either version 2.1 or 3" + (license (list license:lgpl2.1 license:lgpl3)))) + (define-public gpgmepp (package (name "gpgmepp") From 5a717a95b33d72026085c2309a2079956586c098 Mon Sep 17 00:00:00 2001 From: Danny Milosavljevic Date: Fri, 10 Mar 2017 09:41:15 +0100 Subject: [PATCH 059/107] gnu: wine: Update to 2.3. * gnu/packages/wine.scm (wine): Update to 2.3. --- gnu/packages/wine.scm | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/gnu/packages/wine.scm b/gnu/packages/wine.scm index d28e2dd4e4..40e1dd5cfc 100644 --- a/gnu/packages/wine.scm +++ b/gnu/packages/wine.scm @@ -54,15 +54,14 @@ (define-public wine (package (name "wine") - (version "2.0") + (version "2.3") (source (origin (method url-fetch) - (uri (string-append "https://dl.winehq.org/wine/source/" - (version-major+minor version) - "/wine-" version ".tar.bz2")) + (uri (string-append "https://dl.winehq.org/wine/source/2.x" + "/wine-" version ".tar.xz")) (sha256 (base32 - "1ik6q0h3ph3jizmp7bxhf6kcm1pzrdrn2m0yf2x86slv2aigamlp")))) + "0zh6kvs4d6d99x5qgxbb5jq2wilwzifhmib2nhq0g3ychxx5rjdg")))) (build-system gnu-build-system) (native-inputs `(("pkg-config" ,pkg-config) ("gettext" ,gettext-minimal) From 1dbe3a8db0a3e5a8e5f9b30e6f6a6bbfb699275b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Sun, 12 Mar 2017 00:37:33 +0100 Subject: [PATCH 060/107] build: GnuTLS is now a hard dependency. Discussed as part of . * configure.ac: Check for (gnutls) and error out if it's missing. * doc/guix.texi (Requirements): Move GnuTLS from optional to required. (Substitutes): Remove footnote about the need for GnuTLS. --- configure.ac | 9 ++++++++- doc/guix.texi | 16 +++++----------- 2 files changed, 13 insertions(+), 12 deletions(-) diff --git a/configure.ac b/configure.ac index 06b0618b43..e5daadb121 100644 --- a/configure.ac +++ b/configure.ac @@ -91,7 +91,14 @@ dnl Installation directory for .scm and .go files. guilemoduledir="${datarootdir}/guile/site/$GUILE_EFFECTIVE_VERSION" AC_SUBST([guilemoduledir]) -dnl guile-json is used for the PyPI package importer +dnl The GnuTLS bindings are necessary for substitutes over HTTPS and for 'guix +dnl pull', among other things. +GUILE_MODULE_AVAILABLE([have_gnutls], [(gnutls)]) +if test "x$have_gnutls" != "xyes"; then + AC_MSG_ERROR([The Guile bindings of GnuTLS are missing; please install them.]) +fi + +dnl Guile-JSON is used in various places. GUILE_MODULE_AVAILABLE([have_guile_json], [(json)]) AM_CONDITIONAL([HAVE_GUILE_JSON], [test "x$have_guile_json" = "xyes"]) diff --git a/doc/guix.texi b/doc/guix.texi index a602c701cb..93d0b7a084 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -544,21 +544,16 @@ GNU Guix depends on the following packages: @itemize @item @url{http://gnu.org/software/guile/, GNU Guile}, version 2.0.7 or later; @item @url{http://gnupg.org/, GNU libgcrypt}; +@item +@uref{http://gnutls.org/, GnuTLS}, specifically its Guile bindings +(@pxref{Guile Preparations, how to install the GnuTLS bindings for +Guile,, gnutls-guile, GnuTLS-Guile}); @item @url{http://www.gnu.org/software/make/, GNU Make}. @end itemize The following dependencies are optional: @itemize -@item -Installing @uref{http://gnutls.org/, GnuTLS-Guile} will allow you to -access @code{https} URLs for substitutes, which is highly recommended -(@pxref{Substitutes}). It also allows you to access HTTPS URLs with the -@command{guix download} command (@pxref{Invoking guix download}), the -@command{guix import pypi} command, and the @command{guix import cpan} -command. @xref{Guile Preparations, how to install the GnuTLS bindings -for Guile,, gnutls-guile, GnuTLS-Guile}. - @item Installing @url{http://savannah.nongnu.org/projects/guile-json/, Guile-JSON} will @@ -2003,8 +1998,7 @@ or to client tools such as @command{guix package} (@pxref{client-substitute-urls,, client @option{--substitute-urls} option}). -Substitute URLs can be either HTTP or HTTPS@footnote{For HTTPS access, -the Guile bindings of GnuTLS must be installed. @xref{Requirements}.} +Substitute URLs can be either HTTP or HTTPS. HTTPS is recommended because communications are encrypted; conversely, using HTTP makes all communications visible to an eavesdropper, who could use the information gathered to determine, for instance, whether From 0392f82fd5a4f0787b1617d3b24c17a64afb0593 Mon Sep 17 00:00:00 2001 From: Raoul Jean Pierre Bonnal Date: Sat, 11 Mar 2017 14:13:29 +1000 Subject: [PATCH 061/107] gnu: Add r-minqa. * gnu/packages/statistics.scm (r-minqa): New variable. Signed-off-by: Ben Woodcroft --- gnu/packages/statistics.scm | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/gnu/packages/statistics.scm b/gnu/packages/statistics.scm index ff2aab2a83..055669de90 100644 --- a/gnu/packages/statistics.scm +++ b/gnu/packages/statistics.scm @@ -4442,3 +4442,26 @@ showing the progress is useful e.g. bootstrap.") search algorithms and related applications including KNN classification, regression and information measures.") (license license:gpl2+))) + +(define-public r-minqa + (package + (name "r-minqa") + (version "1.2.4") + (source + (origin + (method url-fetch) + (uri (cran-uri "minqa" version)) + (sha256 + (base32 + "036drja6xz7awja9iwb76x91415p26fb0jmg7y7v0p65m6j978fg")))) + (build-system r-build-system) + (propagated-inputs + `(("r-rcpp" ,r-rcpp))) + (inputs + `(("gfortran" ,gfortran))) + (home-page "http://optimizer.r-forge.r-project.org") + (synopsis "Derivative-free optimization algorithms by quadratic approximation") + (description + "This package provides a derivative-free optimization by quadratic approximation +based on an interface to Fortran implementations by M. J. D. Powell.") + (license license:gpl2))) From 21cfad44c1c7157d2c6bb90d3e01fd73af13ecc6 Mon Sep 17 00:00:00 2001 From: Raoul Jean Pierre Bonnal Date: Sat, 11 Mar 2017 14:41:37 +1000 Subject: [PATCH 062/107] gnu: Add r-rcppeigen. * gnu/packages/statistics.scm (r-rcppeigen): New variable. Signed-off-by: Ben Woodcroft --- gnu/packages/statistics.scm | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/gnu/packages/statistics.scm b/gnu/packages/statistics.scm index 055669de90..c43253b596 100644 --- a/gnu/packages/statistics.scm +++ b/gnu/packages/statistics.scm @@ -4465,3 +4465,27 @@ regression and information measures.") "This package provides a derivative-free optimization by quadratic approximation based on an interface to Fortran implementations by M. J. D. Powell.") (license license:gpl2))) + +(define-public r-rcppeigen + (package + (name "r-rcppeigen") + (version "0.3.2.9.0") + (source + (origin + (method url-fetch) + (uri (cran-uri "RcppEigen" version)) + (sha256 + (base32 + "0fy9kr03160f1ywzff3p380s8a59jz7d2d0rggb14g2y0slzpbr5")))) + (properties `((upstream-name . "RcppEigen"))) + (build-system r-build-system) + (propagated-inputs + `(("r-rcpp" ,r-rcpp))) + (home-page "http://eigen.tuxfamily.org") + (synopsis "Rcpp integration for the Eigen templated linear algebra library") + (description + "This package provides an integration of Eigen in R using a C++ template +library for linear algebra: matrices, vectors, numerical solvers and related algorithms. +It supports dense and sparse matrices on integer, floating point and complex numbers, +decompositions of such matrices, and solutions of linear systems.") + (license license:gpl2+))) From aa84100011b0f77516a23774eeade38ec1ae944c Mon Sep 17 00:00:00 2001 From: Raoul Jean Pierre Bonnal Date: Sat, 11 Mar 2017 14:51:50 +1000 Subject: [PATCH 063/107] gnu: Add r-modelmetrics. * gnu/packages/statistics.scm (r-modelmetrics): New variable. Signed-off-by: Ben Woodcroft --- gnu/packages/statistics.scm | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/gnu/packages/statistics.scm b/gnu/packages/statistics.scm index c43253b596..dbfa7dcd17 100644 --- a/gnu/packages/statistics.scm +++ b/gnu/packages/statistics.scm @@ -4489,3 +4489,25 @@ library for linear algebra: matrices, vectors, numerical solvers and related alg It supports dense and sparse matrices on integer, floating point and complex numbers, decompositions of such matrices, and solutions of linear systems.") (license license:gpl2+))) + +(define-public r-modelmetrics + (package + (name "r-modelmetrics") + (version "1.1.0") + (source + (origin + (method url-fetch) + (uri (cran-uri "ModelMetrics" version)) + (sha256 + (base32 + "119xxmzb5biq7k1yxqsf0jmmarmfn6lds9x9hfgv593xlpym6za8")))) + (properties `((upstream-name . "ModelMetrics"))) + (build-system r-build-system) + (propagated-inputs + `(("r-rcpp" ,r-rcpp))) + (home-page "http://cran.r-project.org/web/packages/ModelMetrics") + (synopsis "Rapid calculation of model metrics") + (description + "Written in C++ using @code{Rcpp}, this package provides a collection of +metrics for evaluating models.") + (license license:gpl2+))) From 545d0789fc56059b9543bdb1a6d194eb1d0b40ed Mon Sep 17 00:00:00 2001 From: Raoul Jean Pierre Bonnal Date: Sat, 11 Mar 2017 15:00:50 +1000 Subject: [PATCH 064/107] gnu: Add r-matrixmodels. * gnu/packages/statistics.scm (r-matrixmodels): New variable. Signed-off-by: Ben Woodcroft --- gnu/packages/statistics.scm | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/gnu/packages/statistics.scm b/gnu/packages/statistics.scm index dbfa7dcd17..9f546f49bd 100644 --- a/gnu/packages/statistics.scm +++ b/gnu/packages/statistics.scm @@ -4511,3 +4511,23 @@ decompositions of such matrices, and solutions of linear systems.") "Written in C++ using @code{Rcpp}, this package provides a collection of metrics for evaluating models.") (license license:gpl2+))) + +(define-public r-matrixmodels + (package + (name "r-matrixmodels") + (version "0.4-1") + (source + (origin + (method url-fetch) + (uri (cran-uri "MatrixModels" version)) + (sha256 + (base32 + "0cyfvhci2p1vr2x52ymkyqqs63x1qchn856dh2j94yb93r08x1zy")))) + (properties `((upstream-name . "MatrixModels"))) + (build-system r-build-system) + (home-page "https://cran.r-project.org/web/packages/MatrixModels") + (synopsis "Modelling with sparse and dense matrices") + (description + "This package models with sparse and dense matrix matrices, +using modular prediction and response module classes.") + (license license:gpl2+))) From 49dc1fa5cb506ee2442d05488efea843a82aaaa5 Mon Sep 17 00:00:00 2001 From: Raoul Jean Pierre Bonnal Date: Sat, 11 Mar 2017 15:03:07 +1000 Subject: [PATCH 065/107] gnu: Add r-quantreg. * gnu/packages/statistics.scm (r-quantreg): New variable. Signed-off-by: Ben Woodcroft --- gnu/packages/statistics.scm | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/gnu/packages/statistics.scm b/gnu/packages/statistics.scm index 9f546f49bd..eefc7be8c6 100644 --- a/gnu/packages/statistics.scm +++ b/gnu/packages/statistics.scm @@ -4531,3 +4531,30 @@ metrics for evaluating models.") "This package models with sparse and dense matrix matrices, using modular prediction and response module classes.") (license license:gpl2+))) + +(define-public r-quantreg + (package + (name "r-quantreg") + (version "5.29") + (source + (origin + (method url-fetch) + (uri (cran-uri "quantreg" version)) + (sha256 + (base32 + "098gy8xv9kcl5y0cm93b8chr5sm6crrdxi20bkx9lmwmybl3himv")))) + (build-system r-build-system) + (native-inputs + `(("gfortran" ,gfortran))) + (propagated-inputs + `(("r-matrixmodels" ,r-matrixmodels) + ("r-sparsem" ,r-sparsem))) + (home-page "http://www.r-project.org") + (synopsis "Quantile regression") + (description + "This package provides an estimation and inference methods for models +of conditional quantiles: linear and nonlinear parametric and non-parametric +models for conditional quantiles of a univariate response and several methods +for handling censored survival data. Portfolio selection methods based on +expected shortfall risk are also included.") + (license license:gpl2+))) From c549864d9002f885d420e95042137235f0accf98 Mon Sep 17 00:00:00 2001 From: Raoul Jean Pierre Bonnal Date: Sat, 11 Mar 2017 15:19:47 +1000 Subject: [PATCH 066/107] gnu: Add r-nloptr. * gnu/packages/statistics.scm (r-nloptr): New variable. Signed-off-by: Ben Woodcroft --- gnu/packages/statistics.scm | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/gnu/packages/statistics.scm b/gnu/packages/statistics.scm index eefc7be8c6..eaec0385f0 100644 --- a/gnu/packages/statistics.scm +++ b/gnu/packages/statistics.scm @@ -4558,3 +4558,29 @@ models for conditional quantiles of a univariate response and several methods for handling censored survival data. Portfolio selection methods based on expected shortfall risk are also included.") (license license:gpl2+))) + +(define-public r-nloptr + (package + (name "r-nloptr") + (version "1.0.4") + (source + (origin + (method url-fetch) + (uri (cran-uri "nloptr" version)) + (sha256 + (base32 + "1cypz91z28vhvwq2rzqjrbdc6a2lvfr2g16vid2sax618q6ai089")))) + (build-system r-build-system) + (native-inputs + `(("pkg-config" ,pkg-config))) + (inputs + `(("nlopt" ,nlopt))) + (home-page "http://cran.r-project.org/web/packages/nloptr") + (synopsis "R interface to NLopt") + (description + "This package is interface to NLopt, a library for nonlinear +optimization. NLopt is a library for nonlinear optimization, providing a +common interface for a number of different free optimization routines +available online as well as original implementations of various other +algorithms.") + (license license:lgpl3))) From 51fc7d8c31f6c72ec34a4e49050f055b2033a12b Mon Sep 17 00:00:00 2001 From: Raoul Jean Pierre Bonnal Date: Sat, 11 Mar 2017 15:46:28 +1000 Subject: [PATCH 067/107] gnu: Add r-lme4. * gnu/packages/statistics.scm (r-lme4): New variable. Signed-off-by: Ben Woodcroft --- gnu/packages/statistics.scm | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/gnu/packages/statistics.scm b/gnu/packages/statistics.scm index eaec0385f0..d3ea4f74bd 100644 --- a/gnu/packages/statistics.scm +++ b/gnu/packages/statistics.scm @@ -4584,3 +4584,30 @@ common interface for a number of different free optimization routines available online as well as original implementations of various other algorithms.") (license license:lgpl3))) + +(define-public r-lme4 + (package + (name "r-lme4") + (version "1.1-12") + (source + (origin + (method url-fetch) + (uri (cran-uri "lme4" version)) + (sha256 + (base32 + "0j60l5kgx1wvw2wm3jwfqwi63hammaq8gfcxzwa4h552likvaxi9")))) + (build-system r-build-system) + (native-inputs + `(("r-rcpp" ,r-rcpp) + ("r-rcppeigen" ,r-rcppeigen))) + (propagated-inputs + `(("r-minqa" ,r-minqa) + ("r-nloptr" ,r-nloptr))) + (home-page "http://cran.r-project.org/web/packages/lme4") + (synopsis "Linear mixed-effects models using eigen and S4") + (description + "This package provides fit linear and generalized linear mixed-effects +models. The models and their components are represented using S4 classes and +methods. The core computational algorithms are implemented using the Eigen +C++ library for numerical linear algebra and RcppEigen glue.") + (license license:gpl2+))) From a3eb8c81917f91e138112f3e374e1e529628b0e1 Mon Sep 17 00:00:00 2001 From: Raoul Jean Pierre Bonnal Date: Sat, 11 Mar 2017 15:48:44 +1000 Subject: [PATCH 068/107] gnu: Add r-pbkrtest. * gnu/packages/statistics.scm (r-pbkrtest): New variable. Signed-off-by: Ben Woodcroft --- gnu/packages/statistics.scm | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/gnu/packages/statistics.scm b/gnu/packages/statistics.scm index d3ea4f74bd..31086ba1cb 100644 --- a/gnu/packages/statistics.scm +++ b/gnu/packages/statistics.scm @@ -4611,3 +4611,25 @@ models. The models and their components are represented using S4 classes and methods. The core computational algorithms are implemented using the Eigen C++ library for numerical linear algebra and RcppEigen glue.") (license license:gpl2+))) + +(define-public r-pbkrtest + (package + (name "r-pbkrtest") + (version "0.4-6") + (source + (origin + (method url-fetch) + (uri (cran-uri "pbkrtest" version)) + (sha256 + (base32 + "00cw18q7wvddzjrbxz917wkix6r7672vi2wmsp4gwgzady8vha4x")))) + (build-system r-build-system) + (propagated-inputs + `(("r-lme4" ,r-lme4))) + (home-page "http://people.math.aau.dk/~sorenh/software/pbkrtest/") + (synopsis "Methods for linear mixed model comparison") + (description + "This package implements a parametric bootstrap test and a Kenward Roger +modification of F-tests for linear mixed effects models and a parametric +bootstrap test for generalized linear mixed models.") + (license license:gpl2+))) From ab2ec643c311353fd4f963abf2936a08487c3913 Mon Sep 17 00:00:00 2001 From: Raoul Jean Pierre Bonnal Date: Sat, 11 Mar 2017 15:57:26 +1000 Subject: [PATCH 069/107] gnu: Add r-car. * gnu/packages/statistics.scm (r-car): New variable. Signed-off-by: Ben Woodcroft --- gnu/packages/statistics.scm | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/gnu/packages/statistics.scm b/gnu/packages/statistics.scm index 31086ba1cb..3fbe04a71a 100644 --- a/gnu/packages/statistics.scm +++ b/gnu/packages/statistics.scm @@ -4633,3 +4633,25 @@ C++ library for numerical linear algebra and RcppEigen glue.") modification of F-tests for linear mixed effects models and a parametric bootstrap test for generalized linear mixed models.") (license license:gpl2+))) + +(define-public r-car + (package + (name "r-car") + (version "2.1-4") + (source + (origin + (method url-fetch) + (uri (cran-uri "car" version)) + (sha256 + (base32 + "0a6v7rsd1xsdyapnfqy37m7c4kx9wslkzsizc9k0lmnba0bwyfgx")))) + (build-system r-build-system) + (propagated-inputs + `(("r-pbkrtest" ,r-pbkrtest) + ("r-quantreg" ,r-quantreg))) + (home-page "https://r-forge.r-project.org/projects/car/") + (synopsis "Companion to applied regression") + (description + "This package provides functions and datasets from book Companion +to Applied regression, Second Edition, Sage, 2011.") + (license license:gpl2+))) From aa890f6185063bd3000a13ca9a3632d4dc1cabea Mon Sep 17 00:00:00 2001 From: Raoul Jean Pierre Bonnal Date: Sat, 11 Mar 2017 16:11:24 +1000 Subject: [PATCH 070/107] gnu: Add r-caret. * gnu/packages/statistics.scm (r-caret): New variable. Signed-off-by: Ben Woodcroft --- gnu/packages/statistics.scm | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/gnu/packages/statistics.scm b/gnu/packages/statistics.scm index 3fbe04a71a..cfd37c6191 100644 --- a/gnu/packages/statistics.scm +++ b/gnu/packages/statistics.scm @@ -4655,3 +4655,29 @@ bootstrap test for generalized linear mixed models.") "This package provides functions and datasets from book Companion to Applied regression, Second Edition, Sage, 2011.") (license license:gpl2+))) + +(define-public r-caret + (package + (name "r-caret") + (version "6.0-73") + (source + (origin + (method url-fetch) + (uri (cran-uri "caret" version)) + (sha256 + (base32 + "1jzaqwv4glyqqnfbpalgajd0ag866247vvdh5i83ffqs1yhs984h")))) + (build-system r-build-system) + (propagated-inputs + `(("r-car" ,r-car) + ("r-foreach" ,r-foreach) + ("r-ggplot2" ,r-ggplot2) + ("r-modelmetrics" ,r-modelmetrics) + ("r-plyr" ,r-plyr) + ("r-reshape2" ,r-reshape2))) + (home-page "https://github.com/topepo/caret") + (synopsis "Classification and regression training") + (description + "This package provides misc functions for training and plotting +classification and regression models.") + (license license:gpl2+))) From 362ea0dc2992442321c39700264415975360611e Mon Sep 17 00:00:00 2001 From: Raoul Jean Pierre Bonnal Date: Sat, 11 Mar 2017 16:18:44 +1000 Subject: [PATCH 071/107] gnu: Add r-rcppprogress. * gnu/packages/statistics.scm (r-rcppprogress): New variable. Signed-off-by: Ben Woodcroft --- gnu/packages/statistics.scm | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/gnu/packages/statistics.scm b/gnu/packages/statistics.scm index cfd37c6191..eb52c3b8ed 100644 --- a/gnu/packages/statistics.scm +++ b/gnu/packages/statistics.scm @@ -4681,3 +4681,26 @@ to Applied regression, Second Edition, Sage, 2011.") "This package provides misc functions for training and plotting classification and regression models.") (license license:gpl2+))) + +(define-public r-rcppprogress + (package + (name "r-rcppprogress") + (version "0.3") + (source + (origin + (method url-fetch) + (uri (cran-uri "RcppProgress" version)) + (sha256 + (base32 + "0796g11w7iv3ix1wfm3fh09qq7jki4r4cp1mjagq77igri3xrr9x")))) + (properties `((upstream-name . "RcppProgress"))) + (build-system r-build-system) + (propagated-inputs + `(("r-rcpp" ,r-rcpp))) + (home-page "https://github.com/kforner/rcpp_progress") + (synopsis "Interruptible progress bar for C++ in R packages") + (description + "This package allows to display a progress bar in the R console for long running +computations taking place in C++ code, and support for interrupting those computations +even in multithreaded code, typically using OpenMP.") + (license license:gpl3+))) From fe68c8a9906f05de5f9f37a4dac05d35644dbd8a Mon Sep 17 00:00:00 2001 From: Raoul Jean Pierre Bonnal Date: Thu, 19 Jan 2017 19:55:25 +0100 Subject: [PATCH 072/107] gnu: Add r-mnormt. * gnu/packages/statistics.scm (r-mnormt): New variable. Signed-off-by: Ben Woodcroft --- gnu/packages/statistics.scm | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/gnu/packages/statistics.scm b/gnu/packages/statistics.scm index eb52c3b8ed..79f7e56f1a 100644 --- a/gnu/packages/statistics.scm +++ b/gnu/packages/statistics.scm @@ -4704,3 +4704,26 @@ classification and regression models.") computations taking place in C++ code, and support for interrupting those computations even in multithreaded code, typically using OpenMP.") (license license:gpl3+))) + +(define-public r-mnormt + (package + (name "r-mnormt") + (version "1.5-5") + (source + (origin + (method url-fetch) + (uri (cran-uri "mnormt" version)) + (sha256 + (base32 + "1b34xxrnf35khsx82mhvmk96sgfr2flyasaah7qkb2976pwxay7z")))) + (build-system r-build-system) + (native-inputs + `(("gfortran" ,gfortran))) + (home-page "http://azzalini.stat.unipd.it/SW/Pkg-mnormt") + (synopsis "Multivariate normal and \"t\" distributions") + (description + "This package provides functions for computing the density and the +distribution function of multivariate normal and \"t\" random variables, and +for generating random vectors sampled from these distributions. Probabilities +are computed via non-Monte Carlo methods.") + (license license:gpl2+))) From 06085b5bc547a4426b300bdb5d9ea9a032cf1d9c Mon Sep 17 00:00:00 2001 From: Raoul Jean Pierre Bonnal Date: Sat, 11 Mar 2017 21:39:29 +1000 Subject: [PATCH 073/107] gnu: Add r-numderiv. * gnu/packages/statistics.scm (r-numderiv): New variable. Signed-off-by: Ben Woodcroft --- gnu/packages/statistics.scm | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/gnu/packages/statistics.scm b/gnu/packages/statistics.scm index 79f7e56f1a..b4d069fff0 100644 --- a/gnu/packages/statistics.scm +++ b/gnu/packages/statistics.scm @@ -4727,3 +4727,23 @@ distribution function of multivariate normal and \"t\" random variables, and for generating random vectors sampled from these distributions. Probabilities are computed via non-Monte Carlo methods.") (license license:gpl2+))) + +(define-public r-numderiv + (package + (name "r-numderiv") + (version "2016.8-1") + (source + (origin + (method url-fetch) + (uri (cran-uri "numDeriv" version)) + (sha256 + (base32 + "07ni52rwiap4wilfz94w5mrqaxr59axxmgn57857ip4p6qkiss0v")))) + (properties `((upstream-name . "numDeriv"))) + (build-system r-build-system) + (home-page "https://cran.r-project.org/web/packages/numDeriv") + (synopsis "Accurate numerical derivatives") + (description + "This package provides methods for calculating accurate numerical +first and second order derivatives.") + (license license:gpl2))) From 5a200a24ebdcc8c3e8459344d209495af9eac186 Mon Sep 17 00:00:00 2001 From: Raoul Jean Pierre Bonnal Date: Sat, 11 Mar 2017 21:45:53 +1000 Subject: [PATCH 074/107] gnu: Add r-sn. * gnu/packages/statistics.scm (r-sn): New variable. Co-authored-by: Ben Woodcroft --- gnu/packages/statistics.scm | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/gnu/packages/statistics.scm b/gnu/packages/statistics.scm index b4d069fff0..be201e26e3 100644 --- a/gnu/packages/statistics.scm +++ b/gnu/packages/statistics.scm @@ -4747,3 +4747,28 @@ are computed via non-Monte Carlo methods.") "This package provides methods for calculating accurate numerical first and second order derivatives.") (license license:gpl2))) + +(define-public r-sn + (package + (name "r-sn") + (version "1.5-0") + (source + (origin + (method url-fetch) + (uri (cran-uri "sn" version)) + (sha256 + (base32 + "0fh7xjsfd2x8d9lbnss7raldh24b72b3pvcv7zqa1qprzg7zfr01")))) + (build-system r-build-system) + (propagated-inputs + `(("r-mnormt" ,r-mnormt) + ("r-numderiv" ,r-numderiv))) + (home-page "http://azzalini.stat.unipd.it/SN") + (synopsis "The skew-normal and skew-t distributions") + (description + "This packages provides functionalities to build and manipulate +probability distributions of the skew-normal family and some related +ones, notably the skew-t family, and provides related statistical +methods for data fitting and diagnostics, in the univariate and the +multivariate case.") + (license license:gpl2+))) From d1906e3147966e780d2f52d3ccebb85a80ad49e5 Mon Sep 17 00:00:00 2001 From: Raoul Jean Pierre Bonnal Date: Sat, 11 Mar 2017 21:50:35 +1000 Subject: [PATCH 075/107] gnu: Add r-tclust. * gnu/packages/statistics.scm (r-tclust): New variable. Signed-off-by: Ben Woodcroft --- gnu/packages/statistics.scm | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/gnu/packages/statistics.scm b/gnu/packages/statistics.scm index be201e26e3..c48c2be6ac 100644 --- a/gnu/packages/statistics.scm +++ b/gnu/packages/statistics.scm @@ -4772,3 +4772,27 @@ ones, notably the skew-t family, and provides related statistical methods for data fitting and diagnostics, in the univariate and the multivariate case.") (license license:gpl2+))) + +(define-public r-tclust + (package + (name "r-tclust") + (version "1.2-3") + (source + (origin + (method url-fetch) + (uri (cran-uri "tclust" version)) + (sha256 + (base32 + "0a1b7yp4l9wf6ic5czizyl2cnxrc1virj0icr8i6m1vv23jd8jfp")))) + (build-system r-build-system) + (propagated-inputs + `(("r-mclust" ,r-mclust) + ("r-mvtnorm" ,r-mvtnorm) + ("r-sn" ,r-sn))) + (home-page "http://cran.r-project.org/web/packages/tclust") + (synopsis "Robust trimmed clustering") + (description + "This package implements different robust clustering +algorithms (@code{tclust}) based on trimming and including some graphical +diagnostic tools (@code{ctlcurves} and @code{DiscrFact}).") + (license license:gpl3))) From 02eec38ee16acc1bf933ac28e989501a73a1a3a1 Mon Sep 17 00:00:00 2001 From: Raoul Jean Pierre Bonnal Date: Sat, 11 Mar 2017 22:14:22 +1000 Subject: [PATCH 076/107] gnu: Add r-ranger. * gnu/packages/statistics.scm (r-ranger): New variable. Signed-off-by: Ben Woodcroft --- gnu/packages/statistics.scm | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/gnu/packages/statistics.scm b/gnu/packages/statistics.scm index c48c2be6ac..401cb17e69 100644 --- a/gnu/packages/statistics.scm +++ b/gnu/packages/statistics.scm @@ -4796,3 +4796,26 @@ multivariate case.") algorithms (@code{tclust}) based on trimming and including some graphical diagnostic tools (@code{ctlcurves} and @code{DiscrFact}).") (license license:gpl3))) + +(define-public r-ranger + (package + (name "r-ranger") + (version "0.6.0") + (source + (origin + (method url-fetch) + (uri (cran-uri "ranger" version)) + (sha256 + (base32 + "1fwqwbi0dnla16x6zj14rf95qr5gmilfmlrwnv7s960h4yiw4n97")))) + (build-system r-build-system) + (propagated-inputs + `(("r-rcpp" ,r-rcpp))) + (home-page "https://github.com/imbs-hl/ranger") + (synopsis "Fast implementation of random forests") + (description + "This package provides a fast implementation of Random Forests, +particularly suited for high dimensional data. Ensembles of classification, +regression, survival and probability prediction trees are supported. Data from +genome-wide association studies can be analyzed efficiently.") + (license license:gpl3))) From a5935d1946c42a91218c20dba5e1c4cdc396ced6 Mon Sep 17 00:00:00 2001 From: Raoul Jean Pierre Bonnal Date: Sat, 11 Mar 2017 22:36:10 +1000 Subject: [PATCH 077/107] gnu: Add r-tsne. * gnu/packages/bioinformatics.scm (r-tsne): New variable. Signed-off-by: Ben Woodcroft --- gnu/packages/statistics.scm | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/gnu/packages/statistics.scm b/gnu/packages/statistics.scm index 401cb17e69..306df9cefd 100644 --- a/gnu/packages/statistics.scm +++ b/gnu/packages/statistics.scm @@ -4819,3 +4819,21 @@ particularly suited for high dimensional data. Ensembles of classification, regression, survival and probability prediction trees are supported. Data from genome-wide association studies can be analyzed efficiently.") (license license:gpl3))) + +(define-public r-tsne + (package + (name "r-tsne") + (version "0.1-3") + (source + (origin + (method url-fetch) + (uri (cran-uri "tsne" version)) + (sha256 + (base32 + "0s8cv2pndkddq62rzlgzgfdjp1vjv5hz5i5957sllnb97vbzbzb6")))) + (build-system r-build-system) + (home-page "https://github.com/jdonaldson/rtsne/") + (synopsis "t-Distributed Stochastic Neighbor Embedding for R") + (description + "This package provides a pure R implementation of the t-SNE algorithm.") + (license license:gpl2+))) From eba560765a5afccbc5d3b64df410d89b1f79a18e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cl=C3=A9ment=20Lassieur?= Date: Sun, 26 Feb 2017 19:54:52 +0100 Subject: [PATCH 078/107] services: dovecot: Fix unix_listeners and fifo_listeners path types. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/services/mail.scm (unix-listener-configuration)[path] (fifo-listener-configuration)[path]: Change type from 'file-name' to 'string'. * doc/guix.texi (Mail Services): Document it. Signed-off-by: Clément Lassieur --- doc/guix.texi | 10 ++++++---- gnu/services/mail.scm | 10 ++++++---- 2 files changed, 12 insertions(+), 8 deletions(-) diff --git a/doc/guix.texi b/doc/guix.texi index 93d0b7a084..ddfd707665 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -10930,8 +10930,9 @@ Defaults to @samp{()}. Available @code{unix-listener-configuration} fields are: -@deftypevr {@code{unix-listener-configuration} parameter} file-name path -The file name on which to listen. +@deftypevr {@code{unix-listener-configuration} parameter} string path +Path to the file, relative to @code{base-dir} field. This is also used as +the section name. @end deftypevr @deftypevr {@code{unix-listener-configuration} parameter} string mode @@ -10952,8 +10953,9 @@ Defaults to @samp{""}. Available @code{fifo-listener-configuration} fields are: -@deftypevr {@code{fifo-listener-configuration} parameter} file-name path -The file name on which to listen. +@deftypevr {@code{fifo-listener-configuration} parameter} string path +Path to the file, relative to @code{base-dir} field. This is also used as +the section name. @end deftypevr @deftypevr {@code{fifo-listener-configuration} parameter} string mode diff --git a/gnu/services/mail.scm b/gnu/services/mail.scm index b211ab61a5..dbc5de9e62 100644 --- a/gnu/services/mail.scm +++ b/gnu/services/mail.scm @@ -165,8 +165,9 @@ (define-configuration unix-listener-configuration (path - (file-name (configuration-missing-field 'unix-listener 'path)) - "The file name on which to listen.") + (string (configuration-missing-field 'unix-listener 'path)) + "Path to the file, relative to @code{base-dir} field. This is also used as +the section name.") (mode (string "0600") "The access mode for the socket.") @@ -184,8 +185,9 @@ (define-configuration fifo-listener-configuration (path - (file-name (configuration-missing-field 'fifo-listener 'path)) - "The file name on which to listen.") + (string (configuration-missing-field 'fifo-listener 'path)) + "Path to the file, relative to @code{base-dir} field. This is also used as +the section name.") (mode (string "0600") "The access mode for the socket.") From 0a6bd107e506b535a79ff4f3bd214953d592f7e6 Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Tue, 28 Feb 2017 20:21:10 -0500 Subject: [PATCH 079/107] gnu: Add le-certs. * gnu/packages/certs.scm (le-certs): New variable. --- gnu/packages/certs.scm | 58 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 58 insertions(+) diff --git a/gnu/packages/certs.scm b/gnu/packages/certs.scm index 246e5ca14a..e35e9aabab 100644 --- a/gnu/packages/certs.scm +++ b/gnu/packages/certs.scm @@ -2,6 +2,7 @@ ;;; Copyright © 2015 Andreas Enge ;;; Copyright © 2015 Mark H Weaver ;;; Copyright © 2016 Ludovic Courtès +;;; Copyright © 2017 Leo Famulari ;;; ;;; This file is part of GNU Guix. ;;; @@ -139,3 +140,60 @@ taken from the NSS package and thus ultimately from the Mozilla project.") (home-page "https://developer.mozilla.org/en-US/docs/Mozilla/Projects/NSS") (license license:mpl2.0))) + +(define-public le-certs + (package + (name "le-certs") + (version "0") + (source #f) + (build-system trivial-build-system) + (arguments + '(#:modules ((guix build utils)) + #:builder + (begin + (use-modules (guix build utils)) + (let ((root (assoc-ref %build-inputs "isrgrootx1.pem")) + (intermediate (assoc-ref %build-inputs "letsencryptauthorityx3.pem")) + (backup (assoc-ref %build-inputs "letsencryptauthorityx4.pem")) + (out (string-append (assoc-ref %outputs "out") "/etc/ssl/certs"))) + (mkdir-p out) + (for-each + (lambda (cert) + (copy-file cert (string-append out "/" + (strip-store-file-name cert)))) + (list root intermediate backup)))))) + (inputs + `(; The Let's Encrypt root certificate, "ISRG Root X1". + ("isrgrootx1.pem" + ,(origin + (method url-fetch) + (uri "https://letsencrypt.org/certs/isrgrootx1.pem") + (sha256 + (base32 + "0zhd1ps7sz4w1x52xk3v7ng6d0rcyi7y7rcrplwkmilnq5hzjv1y")))) + ;; "Let’s Encrypt Authority X3", the active Let's Encrypt intermediate + ;; certificate. + ("letsencryptauthorityx3.pem" + ,(origin + (method url-fetch) + (uri "https://letsencrypt.org/certs/letsencryptauthorityx3.pem") + (sha256 + (base32 + "0zbamj6c7zqw1j9mbqygc8k1ykgj6xiisp9svmlif5lkbnyjhnkk")))) + ;; "Let’s Encrypt Authority X4", the backup Let's Encrypt intermediate + ;; certificate. This will be used for disaster recovery and will only be + ;; used should Let's Encrypt lose the ability to issue with "Let’s + ;; Encrypt Authority X3". + ("letsencryptauthorityx4.pem" + ,(origin + (method url-fetch) + (uri "https://letsencrypt.org/certs/letsencryptauthorityx4.pem") + (sha256 + (base32 + "003dc94c8qwj634h0dq743x7hqv9rdcfaisdksprkmi2jd107xq4")))))) + (home-page "https://letsencrypt.org/certificates/") + (synopsis "Let's Encrypt root and intermediate certificates") + (description "This package provides a certificate store containing only the +Let's Encrypt root and intermediate certificates. It is intended to be used +within Guix.") + (license license:public-domain))) From 301f12ec92808e29965e1d143451797012785648 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Sun, 12 Mar 2017 15:44:37 +0100 Subject: [PATCH 080/107] gnu: offlineimap: Update to 7.0.14. * gnu/packages/mail.scm (offlineimap): Update to 7.0.14. --- gnu/packages/mail.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/mail.scm b/gnu/packages/mail.scm index 56fe9508a0..301b2fa23d 100644 --- a/gnu/packages/mail.scm +++ b/gnu/packages/mail.scm @@ -411,7 +411,7 @@ and corrections. It is based on a Bayesian filter.") (define-public offlineimap (package (name "offlineimap") - (version "7.0.13") + (version "7.0.14") (source (origin (method url-fetch) (uri (string-append "https://github.com/OfflineIMAP/offlineimap/" @@ -419,7 +419,7 @@ and corrections. It is based on a Bayesian filter.") (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "1kl72wcxnxb4y5lm2f7ymwjsisnnpwb4w971ajkxlsiwjhzq8i7p")))) + "0i5dvygps1ai2qwgamab8kngrp0c5m3bgaw0jk34l8ypsk54wj8r")))) (build-system python-build-system) (native-inputs `(("asciidoc" ,asciidoc) From 998ac26a1e4f025ac75147c3497453615bb32d40 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Sun, 12 Mar 2017 15:45:21 +0100 Subject: [PATCH 081/107] gnu: tintin++: Use a mirror:// URI. * gnu/packages/games.scm (tintin++)[source]: Use mirror://sourceforge. --- gnu/packages/games.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm index 550652eefd..efa904f7df 100644 --- a/gnu/packages/games.scm +++ b/gnu/packages/games.scm @@ -2880,8 +2880,8 @@ the GNU GPL.") (version "2.01.2") (source (origin (method url-fetch) - (uri (string-append "https://sourceforge.net/projects/tintin" - "/files/TinTin++ Source Code/" version + (uri (string-append "mirror://sourceforge/tintin" + "/TinTin++ Source Code/" version "/tintin" "-" version ".tar.gz")) (sha256 (base32 From 239c22663ac928618028c4ec03cefc77de788e9d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Sun, 12 Mar 2017 16:48:40 +0100 Subject: [PATCH 082/107] Add 'guix pack'. * gnu/system/install.scm (self-contained-tarball): Move to... * guix/scripts/pack.scm: ... here. New file. * doc/guix.texi (Binary Installation): Mention 'guix pack'. (Invoking guix pack): New node. * build-aux/make-binary-tarball.scm: Remove. * Makefile.am (MODULES): Add guix/scripts/pack.scm. (EXTRA_DIST): Remove build-aux/make-binary-tarball.scm. (guix-binary.%.tar.xz): Rewrite using 'guix pack'. * build-aux/hydra/gnu-system.scm (tarball-jobs): Adjust accordingly. --- Makefile.am | 9 +- build-aux/hydra/gnu-system.scm | 9 +- build-aux/make-binary-tarball.scm | 47 ------ doc/guix.texi | 64 +++++++++ gnu/system/install.scm | 63 +------- guix/scripts/pack.scm | 229 ++++++++++++++++++++++++++++++ 6 files changed, 308 insertions(+), 113 deletions(-) delete mode 100644 build-aux/make-binary-tarball.scm create mode 100644 guix/scripts/pack.scm diff --git a/Makefile.am b/Makefile.am index ec1bd2eb8b..2684d66bf1 100644 --- a/Makefile.am +++ b/Makefile.am @@ -139,6 +139,7 @@ MODULES = \ guix/scripts/package.scm \ guix/scripts/gc.scm \ guix/scripts/hash.scm \ + guix/scripts/pack.scm \ guix/scripts/pull.scm \ guix/scripts/substitute.scm \ guix/scripts/authenticate.scm \ @@ -397,7 +398,6 @@ EXTRA_DIST = \ build-aux/check-available-binaries.scm \ build-aux/check-final-inputs-self-contained.scm \ build-aux/download.scm \ - build-aux/make-binary-tarball.scm \ build-aux/generate-authors.scm \ build-aux/test-driver.scm \ build-aux/run-system-tests.scm \ @@ -486,9 +486,10 @@ AM_DISTCHECK_CONFIGURE_FLAGS = \ # The self-contained tarball. guix-binary.%.tar.xz: - $(AM_V_GEN)GUIX_PACKAGE_PATH= \ - $(top_builddir)/pre-inst-env "$(GUILE)" \ - "$(top_srcdir)/build-aux/make-binary-tarball.scm" "$*" "$@" + $(AM_V_GEN)GUIX_PACKAGE_PATH= \ + tarball=`$(top_builddir)/pre-inst-env guix pack -C xz \ + -s "$*" guix` ; \ + cp "$$tarball" "$@.tmp" ; mv "$@.tmp" "$@" dist-hook: sync-descriptions gen-ChangeLog gen-AUTHORS diff --git a/build-aux/hydra/gnu-system.scm b/build-aux/hydra/gnu-system.scm index 04a9d0508a..7a26c72778 100644 --- a/build-aux/hydra/gnu-system.scm +++ b/build-aux/hydra/gnu-system.scm @@ -39,12 +39,15 @@ (use-modules (guix config) (guix store) (guix grafts) + (guix profiles) (guix packages) (guix derivations) (guix monads) ((guix licenses) #:select (gpl3+)) ((guix utils) #:select (%current-system)) ((guix scripts system) #:select (read-operating-system)) + ((guix scripts pack) + #:select (lookup-compressor self-contained-tarball)) (gnu packages) (gnu packages gcc) (gnu packages base) @@ -213,7 +216,11 @@ all its dependencies, and ready to be installed on non-GuixSD distributions.") (run-with-store store (mbegin %store-monad (set-guile-for-build (default-guile)) - (self-contained-tarball)) + (>>= (profile-derivation (packages->manifest (list guix))) + (lambda (profile) + (self-contained-tarball "guix-binary" profile + #:compressor + (lookup-compressor "xz"))))) #:system system)))) (define job-name diff --git a/build-aux/make-binary-tarball.scm b/build-aux/make-binary-tarball.scm deleted file mode 100644 index e12bec476c..0000000000 --- a/build-aux/make-binary-tarball.scm +++ /dev/null @@ -1,47 +0,0 @@ -;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2015 Ludovic Courtès -;;; -;;; This file is part of GNU Guix. -;;; -;;; GNU Guix is free software; you can redistribute it and/or modify it -;;; under the terms of the GNU General Public License as published by -;;; the Free Software Foundation; either version 3 of the License, or (at -;;; your option) any later version. -;;; -;;; GNU Guix is distributed in the hope that it will be useful, but -;;; WITHOUT ANY WARRANTY; without even the implied warranty of -;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -;;; GNU General Public License for more details. -;;; -;;; You should have received a copy of the GNU General Public License -;;; along with GNU Guix. If not, see . - - -;;; -;;; Build a self-contained tarball containing binaries for Guix and its -;;; dependencies. -;;; - -(use-modules (guix) - (guix ui) - (gnu system install) - (ice-9 match)) - -(define copy-file* - (lift2 copy-file %store-monad)) - -(define rename-file* - (lift2 rename-file %store-monad)) - -(match (command-line) - ((_ system file) - (with-store store - (run-with-store store - (mlet %store-monad ((tarball (self-contained-tarball))) - (mbegin %store-monad - (show-what-to-build* (list tarball)) - (built-derivations (list tarball)) - (copy-file* (derivation->output-path tarball) - (string-append file ".part")) - (rename-file* (string-append file ".part") file))) - #:system system)))) diff --git a/doc/guix.texi b/doc/guix.texi index ddfd707665..f4cc207e7b 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -119,6 +119,7 @@ Package Management * Packages with Multiple Outputs:: Single source package, multiple outputs. * Invoking guix gc:: Running the garbage collector. * Invoking guix pull:: Fetching the latest Guix and distribution. +* Invoking guix pack:: Creating software bundles. * Invoking guix archive:: Exporting and importing store files. Programming Interface @@ -530,6 +531,14 @@ by running the following command in the Guix source tree: make guix-binary.@var{system}.tar.xz @end example +@noindent +... which, in turn, runs: + +@example +guix pack -s @var{system} guix +@end example + +@xref{Invoking guix pack}, for more info on this handy tool. @node Requirements @section Requirements @@ -1422,6 +1431,7 @@ guix package -i emacs-guix * Packages with Multiple Outputs:: Single source package, multiple outputs. * Invoking guix gc:: Running the garbage collector. * Invoking guix pull:: Fetching the latest Guix and distribution. +* Invoking guix pack:: Creating software bundles. * Invoking guix archive:: Exporting and importing store files. @end menu @@ -2377,6 +2387,60 @@ useful to Guix developers. @end table +@node Invoking guix pack +@section Invoking @command{guix pack} + +Occasionally you want to pass software to people who are not (yet!) +lucky enough to be using Guix. You'd tell them to run @command{guix +package -i @var{something}}, but that's not possible in this case. This +is where @command{guix pack} comes in. + +@cindex pack +@cindex bundle +@cindex application bundle +@cindex software bundle +The @command{guix pack} command creates a shrink-wrapped @dfn{pack} or +@dfn{software bundle}: it creates a tarball or some other archive +containing the binaries of the software you're interested in, and all +its dependencies. The resulting archive can be used on any machine that +does not have Guix, and people can run the exact same binaries as those +you have with Guix. + +For example, to create a bundle containing Guile, Emacs, Geiser, and all +their dependencies, you can run: + +@example +$ guix pack guile emacs geiser +@dots{} +/gnu/store/@dots{}-pack.tar.gz +@end example + +The result here is a tarball containing a @file{/gnu/store} directory +with all the relevant packages. The resulting tarball contains a +@dfn{profile} with the three packages of interest; the profile is the +same as would be created by @command{guix package -i}. It is this +mechanism that is used to create Guix's own standalone binary tarball +(@pxref{Binary Installation}). + +Several command-line options allow you to customize your pack: + +@table @code +@item --system=@var{system} +@itemx -s @var{system} +Attempt to build for @var{system}---e.g., @code{i686-linux}---instead of +the system type of the build host. + +@item --compression=@var{tool} +@itemx -C @var{tool} +Compress the resulting tarball using @var{tool}---one of @code{gzip}, +@code{bzip2}, @code{xz}, or @code{lzip}. +@end table + +In addition, @command{guix pack} supports all the common build options +(@pxref{Common Build Options}) and all the package transformation +options (@pxref{Package Transformation Options}). + + @node Invoking guix archive @section Invoking @command{guix archive} diff --git a/gnu/system/install.scm b/gnu/system/install.scm index 3ec343570a..191ccf1680 100644 --- a/gnu/system/install.scm +++ b/gnu/system/install.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2014, 2015, 2016 Ludovic Courtès +;;; Copyright © 2014, 2015, 2016, 2017 Ludovic Courtès ;;; Copyright © 2015 Mark H Weaver ;;; Copyright © 2016 Andreas Enge ;;; @@ -24,7 +24,6 @@ #:use-module (guix store) #:use-module (guix monads) #:use-module ((guix store) #:select (%store-prefix)) - #:use-module (guix profiles) #:use-module (gnu services shepherd) #:use-module (gnu packages admin) #:use-module (gnu packages bash) @@ -38,8 +37,7 @@ #:use-module (gnu packages nvi) #:use-module (ice-9 match) #:use-module (srfi srfi-26) - #:export (self-contained-tarball - installation-os)) + #:export (installation-os)) ;;; Commentary: ;;; @@ -48,63 +46,6 @@ ;;; ;;; Code: - -(define* (self-contained-tarball #:key (guix guix)) - "Return a self-contained tarball containing a store initialized with the -closure of GUIX. The tarball contains /gnu/store, /var/guix, and a profile -under /root/.guix-profile where GUIX is installed." - (mlet %store-monad ((profile (profile-derivation - (manifest - (list (package->manifest-entry guix)))))) - (define build - (with-imported-modules '((guix build utils) - (guix build store-copy) - (gnu build install)) - #~(begin - (use-modules (guix build utils) - (gnu build install)) - - (define %root "root") - - (setenv "PATH" - (string-append #$guix "/sbin:" #$tar "/bin:" #$xz "/bin")) - - ;; Note: there is not much to gain here with deduplication and - ;; there is the overhead of the '.links' directory, so turn it - ;; off. - (populate-single-profile-directory %root - #:profile #$profile - #:closure "profile" - #:deduplicate? #f) - - ;; Create the tarball. Use GNU format so there's no file name - ;; length limitation. - (with-directory-excursion %root - (zero? (system* "tar" "--xz" "--format=gnu" - - ;; Avoid non-determinism in the archive. Use - ;; mtime = 1, not zero, because that is what the - ;; daemon does for files in the store (see the - ;; 'mtimeStore' constant in local-store.cc.) - "--sort=name" - "--mtime=@1" ;for files in /var/guix - "--owner=root:0" - "--group=root:0" - - "--check-links" - "-cvf" #$output - ;; Avoid adding / and /var to the tarball, so - ;; that the ownership and permissions of those - ;; directories will not be overwritten when - ;; extracting the archive. Do not include /root - ;; because the root account might have a - ;; different home directory. - "./var/guix" - (string-append "." (%store-directory)))))))) - - (gexp->derivation "guix-tarball.tar.xz" build - #:references-graphs `(("profile" ,profile))))) - (define (log-to-info) "Return a script that spawns the Info reader on the right section of the diff --git a/guix/scripts/pack.scm b/guix/scripts/pack.scm new file mode 100644 index 0000000000..e8f3d800a8 --- /dev/null +++ b/guix/scripts/pack.scm @@ -0,0 +1,229 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2015, 2017 Ludovic Courtès +;;; +;;; This file is part of GNU Guix. +;;; +;;; GNU Guix is free software; you can redistribute it and/or modify it +;;; under the terms of the GNU General Public License as published by +;;; the Free Software Foundation; either version 3 of the License, or (at +;;; your option) any later version. +;;; +;;; GNU Guix is distributed in the hope that it will be useful, but +;;; WITHOUT ANY WARRANTY; without even the implied warranty of +;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;;; GNU General Public License for more details. +;;; +;;; You should have received a copy of the GNU General Public License +;;; along with GNU Guix. If not, see . + +(define-module (guix scripts pack) + #:use-module (guix scripts) + #:use-module (guix ui) + #:use-module (guix gexp) + #:use-module (guix utils) + #:use-module (guix store) + #:use-module (guix grafts) + #:use-module (guix monads) + #:use-module (guix packages) + #:use-module (guix profiles) + #:use-module (guix derivations) + #:use-module (guix scripts build) + #:use-module (gnu packages) + #:use-module (gnu packages compression) + #:autoload (gnu packages base) (tar) + #:autoload (gnu packages package-management) (guix) + #:use-module (srfi srfi-1) + #:use-module (srfi srfi-9) + #:use-module (srfi srfi-37) + #:use-module (ice-9 match) + #:export (compressor? + lookup-compressor + self-contained-tarball + guix-pack)) + +;; Type of a compression tool. +(define-record-type + (compressor name package extension tar-option) + compressor? + (name compressor-name) ;string (e.g., "gzip") + (package compressor-package) ;package + (extension compressor-extension) ;string (e.g., "lz") + (tar-option compressor-tar-option)) ;string (e.g., "--lzip") + +(define %compressors + ;; Available compression tools. + ;; FIXME: Use '--no-name' for gzip. + (list (compressor "gzip" gzip "gz" "--gzip") + (compressor "lzip" lzip "lz" "--lzip") + (compressor "xz" xz "xz" "--xz") + (compressor "bzip2" bzip2 "bz2" "--bzip2"))) + +(define (lookup-compressor name) + "Return the compressor object called NAME. Error out if it could not be +found." + (or (find (match-lambda + (($ name*) + (string=? name* name))) + %compressors) + (leave (_ "~a: compressor not found~%") name))) + +(define* (self-contained-tarball name profile + #:key deduplicate? + (compressor (first %compressors))) + "Return a self-contained tarball containing a store initialized with the +closure of PROFILE, a derivation. The tarball contains /gnu/store, /var/guix, +and PROFILE is available as /root/.guix-profile." + (define build + (with-imported-modules '((guix build utils) + (guix build store-copy) + (gnu build install)) + #~(begin + (use-modules (guix build utils) + (gnu build install)) + + (define %root "root") + + ;; We need Guix here for 'guix-register'. + (setenv "PATH" + (string-append #$guix "/sbin:" #$tar "/bin:" + #$(compressor-package compressor) "/bin")) + + ;; Note: there is not much to gain here with deduplication and + ;; there is the overhead of the '.links' directory, so turn it + ;; off. + (populate-single-profile-directory %root + #:profile #$profile + #:closure "profile" + #:deduplicate? #f) + + ;; Create the tarball. Use GNU format so there's no file name + ;; length limitation. + (with-directory-excursion %root + (zero? (system* "tar" #$(compressor-tar-option compressor) + "--format=gnu" + + ;; Avoid non-determinism in the archive. Use + ;; mtime = 1, not zero, because that is what the + ;; daemon does for files in the store (see the + ;; 'mtimeStore' constant in local-store.cc.) + "--sort=name" + "--mtime=@1" ;for files in /var/guix + "--owner=root:0" + "--group=root:0" + + "--check-links" + "-cvf" #$output + ;; Avoid adding / and /var to the tarball, so + ;; that the ownership and permissions of those + ;; directories will not be overwritten when + ;; extracting the archive. Do not include /root + ;; because the root account might have a + ;; different home directory. + "./var/guix" + (string-append "." (%store-directory)))))))) + + (gexp->derivation (string-append name ".tar." + (compressor-extension compressor)) + build + #:references-graphs `(("profile" ,profile)))) + + + +;;; +;;; Command-line options. +;;; + +(define %default-options + ;; Alist of default option values. + `((system . ,(%current-system)) + (substitutes? . #t) + (graft? . #t) + (max-silent-time . 3600) + (verbosity . 0) + (compressor . ,(first %compressors)))) + +(define %options + ;; Specifications of the command-line options. + (cons* (option '(#\h "help") #f #f + (lambda args + (show-help) + (exit 0))) + (option '(#\V "version") #f #f + (lambda args + (show-version-and-exit "guix pack"))) + + (option '(#\n "dry-run") #f #f + (lambda (opt name arg result) + (alist-cons 'dry-run? #t (alist-cons 'graft? #f result)))) + (option '(#\s "system") #t #f + (lambda (opt name arg result) + (alist-cons 'system arg + (alist-delete 'system result eq?)))) + (option '(#\C "compression") #t #f + (lambda (opt name arg result) + (alist-cons 'compressor (lookup-compressor arg) + result))) + + (append %transformation-options + %standard-build-options))) + +(define (show-help) + (display (_ "Usage: guix pack [OPTION]... PACKAGE... +Create a bundle of PACKAGE.\n")) + (show-build-options-help) + (newline) + (show-transformation-options-help) + (newline) + (display (_ " + -s, --system=SYSTEM attempt to build for SYSTEM--e.g., \"i686-linux\"")) + (display (_ " + -C, --compression=TOOL compress using TOOL--e.g., \"lzip\"")) + (newline) + (display (_ " + -h, --help display this help and exit")) + (display (_ " + -V, --version display version information and exit")) + (newline) + (show-bug-report-information)) + + +;;; +;;; Entry point. +;;; + +(define (guix-pack . args) + (define opts + (parse-command-line args %options (list %default-options))) + + (with-error-handling + (parameterize ((%graft? (assoc-ref opts 'graft?))) + (let* ((dry-run? (assoc-ref opts 'dry-run?)) + (specs (filter-map (match-lambda + (('argument . name) + name) + (x #f)) + opts)) + (packages (map (lambda (spec) + (call-with-values + (lambda () + (specification->package+output spec)) + list)) + specs)) + (compressor (assoc-ref opts 'compressor))) + (with-store store + (run-with-store store + (mlet* %store-monad ((profile (profile-derivation + (packages->manifest packages))) + (drv (self-contained-tarball "pack" profile + #:compressor + compressor))) + (mbegin %store-monad + (show-what-to-build* (list drv) + #:use-substitutes? + (assoc-ref opts 'substitutes?) + #:dry-run? dry-run?) + (munless dry-run? + (built-derivations (list drv)) + (return (format #t "~a~%" + (derivation->output-path drv)))))) + #:system (assoc-ref opts 'system))))))) From 334c95306a298803096a0077c892d69473ad0824 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Sun, 12 Mar 2017 17:35:32 +0100 Subject: [PATCH 083/107] syscalls: Adjust 'define-bits' to macro literal semantics of 2.2. * guix/build/syscalls.scm (define-bits): Do not define NAMES... as top-level variables since that prevents literal matches in 2.2. Instead, determine constant values at expansion time. --- guix/build/syscalls.scm | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/guix/build/syscalls.scm b/guix/build/syscalls.scm index b68c48a05a..58c23f2844 100644 --- a/guix/build/syscalls.scm +++ b/guix/build/syscalls.scm @@ -1346,12 +1346,12 @@ given an integer, returns the list of names of the constants that are or'd." (begin (define-syntax constructor (syntax-rules (names ...) + ((_) 0) ((_ names) values) ... - ((_ several (... ...)) - (logior (constructor several) (... ...))))) + ((_ first rest (... ...)) + (logior (constructor first) rest (... ...))))) (define (bits->symbols bits) - (bits->symbols-body bits (names ...) (values ...))) - (define names values) ...)))) + (bits->symbols-body bits (names ...) (values ...))))))) ;; 'local-flags' bits from (define-bits local-flags From 56aef188a2a014e254d3c93c8a79cd1fb5a1ece6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cl=C3=A9ment=20Lassieur?= Date: Tue, 28 Feb 2017 23:02:14 +0100 Subject: [PATCH 084/107] services: dovecot: Reimplement proper configuration functions. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/services/mail.scm (uglify-field-name, serialize-field, serialize-string) (space-separated-string-list?, serialize-space-separated-string-list) (file-name?, serialize-file-name, serialize-boolean): Add them. These functions were inadvertently changed while being factorized in gnu/service/configuration.scm. Signed-off-by: Clément Lassieur --- gnu/services/mail.scm | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/gnu/services/mail.scm b/gnu/services/mail.scm index dbc5de9e62..05978e0068 100644 --- a/gnu/services/mail.scm +++ b/gnu/services/mail.scm @@ -69,6 +69,27 @@ ;;; ;;; Code: +(define (uglify-field-name field-name) + (let ((str (symbol->string field-name))) + (string-join (string-split (if (string-suffix? "?" str) + (substring str 0 (1- (string-length str))) + str) + #\-) + "_"))) + +(define (serialize-field field-name val) + (format #t "~a=~a\n" (uglify-field-name field-name) val)) + +(define (serialize-string field-name val) + (serialize-field field-name val)) + +(define (space-separated-string-list? val) + (and (list? val) + (and-map (lambda (x) + (and (string? x) (not (string-index x #\space)))) + val))) +(define (serialize-space-separated-string-list field-name val) + (serialize-field field-name (string-join val " "))) (define (comma-separated-string-list? val) (and (list? val) @@ -78,6 +99,12 @@ (define (serialize-comma-separated-string-list field-name val) (serialize-field field-name (string-join val ","))) +(define (file-name? val) + (and (string? val) + (string-prefix? "/" val))) +(define (serialize-file-name field-name val) + (serialize-string field-name val)) + (define (colon-separated-file-name-list? val) (and (list? val) ;; Trailing slashes not needed and not @@ -85,6 +112,9 @@ (define (serialize-colon-separated-file-name-list field-name val) (serialize-field field-name (string-join val ":"))) +(define (serialize-boolean field-name val) + (serialize-string field-name (if val "yes" "no"))) + (define (non-negative-integer? val) (and (exact-integer? val) (not (negative? val)))) (define (serialize-non-negative-integer field-name val) From 720cb10c15a4606fe0dc3511db4fef325f3d9dc6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cl=C3=A9ment=20Lassieur?= Date: Tue, 28 Feb 2017 01:44:03 +0100 Subject: [PATCH 085/107] services: Move configuration functions that shouldn't be factorized. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/services/configuration.scm (serialize-field, serialize-string) (serialize-space-separated-string-list, space-separated-string-list?) (serialize-file-name, file-name?, serialize-boolean): Move these functions... * gnu/services/cups.scm: ...to this file. * gnu/services/kerberos.scm: ...to this file. Configuration syntaxes are very specific to services. Some services may have the same configuration syntax, but none of them is common enough to be abstracted in configuration.scm. Signed-off-by: Clément Lassieur --- gnu/services/configuration.scm | 40 ---------------------------------- gnu/services/cups.scm | 32 +++++++++++++++++++++++++++ gnu/services/kerberos.scm | 15 +++++++++++++ 3 files changed, 47 insertions(+), 40 deletions(-) diff --git a/gnu/services/configuration.scm b/gnu/services/configuration.scm index a98db64fa5..2ad3a637a4 100644 --- a/gnu/services/configuration.scm +++ b/gnu/services/configuration.scm @@ -39,14 +39,6 @@ define-configuration validate-configuration generate-documentation - serialize-field - serialize-string - serialize-name - serialize-space-separated-string-list - space-separated-string-list? - serialize-file-name - file-name? - serialize-boolean serialize-package)) ;;; Commentary: @@ -140,41 +132,9 @@ #,(id #'stem #'stem #'-fields)) conf)))))))) -(define (uglify-field-name field-name) - (let ((str (symbol->string field-name))) - (string-concatenate - (map string-titlecase - (string-split (if (string-suffix? "?" str) - (substring str 0 (1- (string-length str))) - str) - #\-))))) - -(define (serialize-field field-name val) - (format #t "~a ~a\n" (uglify-field-name field-name) val)) - (define (serialize-package field-name val) #f) -(define (serialize-string field-name val) - (serialize-field field-name val)) - -(define (space-separated-string-list? val) - (and (list? val) - (and-map (lambda (x) - (and (string? x) (not (string-index x #\space)))) - val))) -(define (serialize-space-separated-string-list field-name val) - (serialize-field field-name (string-join val " "))) - -(define (file-name? val) - (and (string? val) - (string-prefix? "/" val))) -(define (serialize-file-name field-name val) - (serialize-string field-name val)) - -(define (serialize-boolean field-name val) - (serialize-string field-name (if val "yes" "no"))) - ;; A little helper to make it easier to document all those fields. (define (generate-documentation documentation documentation-name) (define (str x) (object->string x)) diff --git a/gnu/services/cups.scm b/gnu/services/cups.scm index 70b858479a..70a71eff0a 100644 --- a/gnu/services/cups.scm +++ b/gnu/services/cups.scm @@ -57,6 +57,21 @@ (home-directory "/var/empty") (shell (file-append shadow "/sbin/nologin"))))) +(define (uglify-field-name field-name) + (let ((str (symbol->string field-name))) + (string-concatenate + (map string-titlecase + (string-split (if (string-suffix? "?" str) + (substring str 0 (1- (string-length str))) + str) + #\-))))) + +(define (serialize-field field-name val) + (format #t "~a ~a\n" (uglify-field-name field-name) val)) + +(define (serialize-string field-name val) + (serialize-field field-name val)) + (define (multiline-string-list? val) (and (list? val) (and-map (lambda (x) @@ -65,11 +80,28 @@ (define (serialize-multiline-string-list field-name val) (for-each (lambda (str) (serialize-field field-name str)) val)) +(define (space-separated-string-list? val) + (and (list? val) + (and-map (lambda (x) + (and (string? x) (not (string-index x #\space)))) + val))) +(define (serialize-space-separated-string-list field-name val) + (serialize-field field-name (string-join val " "))) + (define (space-separated-symbol-list? val) (and (list? val) (and-map symbol? val))) (define (serialize-space-separated-symbol-list field-name val) (serialize-field field-name (string-join (map symbol->string val) " "))) +(define (file-name? val) + (and (string? val) + (string-prefix? "/" val))) +(define (serialize-file-name field-name val) + (serialize-string field-name val)) + +(define (serialize-boolean field-name val) + (serialize-string field-name (if val "yes" "no"))) + (define (non-negative-integer? val) (and (exact-integer? val) (not (negative? val)))) (define (serialize-non-negative-integer field-name val) diff --git a/gnu/services/kerberos.scm b/gnu/services/kerberos.scm index cb33a7c53d..f09f47893c 100644 --- a/gnu/services/kerberos.scm +++ b/gnu/services/kerberos.scm @@ -96,6 +96,12 @@ trailing '?' removed." (unless (eq? val unset-field) (serialize-field* field-name (string-join val " ")))) +(define (space-separated-string-list? val) + (and (list? val) + (and-map (lambda (x) + (and (string? x) (not (string-index x #\space)))) + val))) + (define space-separated-string-list/unset? (predicate/unset space-separated-string-list?)) @@ -118,10 +124,19 @@ trailing '?' removed." (lambda (val) (string-prefix? "/" val)))) +(define (serialize-field field-name val) + (format #t "~a ~a\n" (uglify-field-name field-name) val)) + +(define (serialize-string field-name val) + (serialize-field field-name val)) + (define (serialize-file-name field-name val) (unless (eq? val unset-field) (serialize-string field-name val))) +(define (serialize-space-separated-string-list field-name val) + (serialize-field field-name (string-join val " "))) + (define (non-negative-integer? val) (and (exact-integer? val) (not (negative? val)))) From 7e81d699de7a2c924a048175516fe1ac3820d8e6 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Wed, 1 Mar 2017 22:11:02 +0100 Subject: [PATCH 086/107] pull: Default to HTTPS. * guix/scripts/pull.scm (%snapshot-url): Use HTTPS. (guix-pull): Authenticate against LE-CERTS when URL is from Savannah. --- guix/scripts/pull.scm | 22 ++++++++++++++++++++-- 1 file changed, 20 insertions(+), 2 deletions(-) diff --git a/guix/scripts/pull.scm b/guix/scripts/pull.scm index a4824e4fd7..8e31ad620c 100644 --- a/guix/scripts/pull.scm +++ b/guix/scripts/pull.scm @@ -1,5 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2013, 2014, 2015 Ludovic Courtès +;;; Copyright © 2017 Marius Bakke ;;; ;;; This file is part of GNU Guix. ;;; @@ -29,10 +30,13 @@ #:use-module (guix monads) #:use-module ((guix build utils) #:select (with-directory-excursion delete-file-recursively)) + #:use-module ((guix build download) + #:select (%x509-certificate-directory)) #:use-module (gnu packages base) #:use-module (gnu packages guile) #:use-module ((gnu packages bootstrap) #:select (%bootstrap-guile)) + #:use-module ((gnu packages certs) #:select (le-certs)) #:use-module (gnu packages compression) #:use-module (gnu packages gnupg) #:use-module (srfi srfi-1) @@ -45,7 +49,7 @@ (define %snapshot-url ;; "http://hydra.gnu.org/job/guix/master/tarball/latest/download" - "http://git.savannah.gnu.org/cgit/guix.git/snapshot/master.tar.gz" + "https://git.savannah.gnu.org/cgit/guix.git/snapshot/master.tar.gz" ) (define-syntax-rule (with-environment-variable variable value body ...) @@ -221,11 +225,25 @@ contained therein." (leave (_ "~A: unexpected argument~%") arg)) %default-options)) + (define (use-le-certs? url) + (string-prefix? "https://git.savannah.gnu.org/" url)) + + (define (fetch-tarball store url) + (download-to-store store url "guix-latest.tar.gz")) + (with-error-handling (let* ((opts (parse-options)) (store (open-connection)) (url (assoc-ref opts 'tarball-url))) - (let ((tarball (download-to-store store url "guix-latest.tar.gz"))) + (let ((tarball + (if (use-le-certs? url) + (let* ((drv (package-derivation store le-certs)) + (certs (string-append (derivation->output-path drv) + "/etc/ssl/certs"))) + (build-derivations store (list drv)) + (parameterize ((%x509-certificate-directory certs)) + (fetch-tarball store url))) + (fetch-tarball store url)))) (unless tarball (leave (_ "failed to download up-to-date source, exiting\n"))) (parameterize ((%guile-for-build From 3f06f43058f6340a0a036ddb5b4efa92ac079c1a Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Sun, 12 Mar 2017 19:58:52 +0100 Subject: [PATCH 087/107] gnu: irssi: Update to 1.0.2. * gnu/packages/irc.scm (irssi): Update to 1.0.2. --- gnu/packages/irc.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/irc.scm b/gnu/packages/irc.scm index 6ba950763b..3d06df9ed8 100644 --- a/gnu/packages/irc.scm +++ b/gnu/packages/irc.scm @@ -101,7 +101,7 @@ irssi, but graphical.") (define-public irssi (package (name "irssi") - (version "1.0.1") + (version "1.0.2") (source (origin (method url-fetch) (uri (string-append "https://github.com/irssi/irssi/" @@ -109,7 +109,7 @@ irssi, but graphical.") version ".tar.xz")) (sha256 (base32 - "1krw71n24mj4p3f5nhzj6kdi1kq9ssl53hrqyjpgz61m7wdcaa4l")))) + "1sgvfprgrncbxcyg99rkd10kpjzqw00b1ppsfg8al0zirb13q72w")))) (build-system gnu-build-system) (arguments `(#:phases From 108f69c448e91c9c3da314260ec22c931df2e55d Mon Sep 17 00:00:00 2001 From: Andy Patterson Date: Sat, 11 Mar 2017 19:10:56 -0500 Subject: [PATCH 088/107] gnu: ecl: Update to 16.1.3. * gnu/packages/lisp.scm (ecl): Update to 16.1.3. [arguments]: Use a different method to set the binary used for tests. Signed-off-by: Leo Famulari --- gnu/packages/lisp.scm | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/gnu/packages/lisp.scm b/gnu/packages/lisp.scm index 647c64dcc7..425c273e0d 100644 --- a/gnu/packages/lisp.scm +++ b/gnu/packages/lisp.scm @@ -129,7 +129,7 @@ interface to the Tk widget system.") (define-public ecl (package (name "ecl") - (version "16.1.2") + (version "16.1.3") (source (origin (method url-fetch) @@ -137,7 +137,7 @@ interface to the Tk widget system.") "https://common-lisp.net/project/ecl/static/files/release/" name "-" version ".tgz")) (sha256 - (base32 "16ab8qs3awvdxy8xs8jy82v8r04x4wr70l9l2j45vgag18d2nj1d")) + (base32 "0m0j24w5d5a9dwwqyrg0d35c0nys16ijb4r0nyk87yp82v38b9bn")) (modules '((guix build utils))) (snippet ;; Add ecl-bundle-systems to 'default-system-source-registry'. @@ -152,9 +152,6 @@ interface to the Tk widget system.") ("libffi" ,libffi))) (arguments '(#:tests? #t - #:make-flags `(,(string-append "ECL=" - (assoc-ref %outputs "out") - "/bin/ecl")) #:parallel-tests? #f #:phases (modify-phases %standard-phases @@ -182,7 +179,12 @@ interface to the Tk widget system.") `("kernel-headers" ,@libraries))) `("LIBRARY_PATH" suffix ,library-directories) `("LD_LIBRARY_PATH" suffix ,library-directories))))) - (add-after 'wrap 'check (assoc-ref %standard-phases 'check))))) + (add-after 'wrap 'check (assoc-ref %standard-phases 'check)) + (add-before 'check 'fix-path-to-ecl + (lambda _ + (substitute* "build/tests/Makefile" + (("\\$\\{exec_prefix\\}/") "")) + #t))))) (native-search-paths (list (search-path-specification (variable "XDG_DATA_DIRS") From 49a8c92cbe01a5e843ed2be3b9643589119fc63e Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Mon, 13 Mar 2017 00:54:30 -0400 Subject: [PATCH 089/107] gnu: linux-libre: Update to 4.10.2. * gnu/packages/linux.scm (%linux-libre-version): Update to 4.10.2. (%linux-libre-hash): Update hash. --- gnu/packages/linux.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index efa6a7daa9..08c5dccc33 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -338,8 +338,8 @@ It has been modified to remove all non-free binary blobs.") (define %intel-compatible-systems '("x86_64-linux" "i686-linux")) -(define %linux-libre-version "4.10.1") -(define %linux-libre-hash "0mvwrjny1bjqyjqjxff9m97j48ybfdw8qpdazr5rwk12234v4k3d") +(define %linux-libre-version "4.10.2") +(define %linux-libre-hash "01kinnv40lqsk6fyz1k7hkx2diyg4mgp28bwraar5sii1gqmcw7k") (define-public linux-libre (make-linux-libre %linux-libre-version From 7bc57e760ca22dd78be054ef6c9ba1adc2cfa5fc Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Mon, 13 Mar 2017 00:53:03 -0400 Subject: [PATCH 090/107] gnu: linux-libre@4.9: Update to 4.9.14. * gnu/packages/linux.scm (linux-libre-4.9): Update to 4.9.14. --- gnu/packages/linux.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index 08c5dccc33..77ccf90473 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -348,8 +348,8 @@ It has been modified to remove all non-free binary blobs.") #:configuration-file kernel-config)) (define-public linux-libre-4.9 - (make-linux-libre "4.9.13" - "16miggwcwfpm7kx0yz256x887rky9wgmp1grg850lf8sdkiz0a1p" + (make-linux-libre "4.9.14" + "104715z772if18qi61jbyhvidfh6qnwkiy0m9aa8irxgzs1pk9mn" %intel-compatible-systems #:configuration-file kernel-config)) From 59bb178ccebd0d536b8ede1b4395980eac6983d8 Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Mon, 13 Mar 2017 00:55:41 -0400 Subject: [PATCH 091/107] gnu: linux-libre@4.4: Update to 4.4.53. * gnu/packages/linux.scm (linux-libre-4.4): Update to 4.4.53. --- gnu/packages/linux.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index 77ccf90473..93994f2a30 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -354,8 +354,8 @@ It has been modified to remove all non-free binary blobs.") #:configuration-file kernel-config)) (define-public linux-libre-4.4 - (make-linux-libre "4.4.52" - "1fzcq9bbsxiij2fh6kgwrp417sy2j5gnbzs0wwlmznj7mvysl7qg" + (make-linux-libre "4.4.53" + "07sfg4i506f3hmd9k4iimnq1w3x0980qxnh649d1sldqxbmhdgjs" %intel-compatible-systems #:configuration-file kernel-config)) From 8f7ea70913107d07e2dea721b2f0b8fda1af24da Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Mon, 13 Mar 2017 10:28:20 +0100 Subject: [PATCH 092/107] gnu: guile-next: Increase max-silent-time. * gnu/packages/guile.scm (guile-next)[properties]: Add 'max-silent-time'. --- gnu/packages/guile.scm | 1 + 1 file changed, 1 insertion(+) diff --git a/gnu/packages/guile.scm b/gnu/packages/guile.scm index a9fd471cd9..f9ca5d0bfe 100644 --- a/gnu/packages/guile.scm +++ b/gnu/packages/guile.scm @@ -252,6 +252,7 @@ without requiring the source code to be rewritten.") (find-files "prebuilt" "\\.go$"))))) (synopsis "Snapshot of what will become version 2.2 of GNU Guile") (properties '((timeout . 72000) ;20 hours + (max-silent-time . 10800) ;3 hours (needed on ARM) (upstream-name . "guile") (ftp-server . "alpha.gnu.org") (ftp-directory . "/gnu/guile"))) From 3288e647e393ecfd5ef99160cedd9dfd931f1bfe Mon Sep 17 00:00:00 2001 From: pjotrp Date: Tue, 28 Feb 2017 16:42:25 +0000 Subject: [PATCH 093/107] gnu: r-hexbin: Update to 1.27.1-1. The package tarball was updated in place, resulting in a change in the hash value. We decided to bump the version to 1.27.1-1 instead of keeping the version at upstream's 1.27.1. * gnu/packages/statistics.scm (r-hexbin): Update to 1.27.1-1. --- gnu/packages/statistics.scm | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/gnu/packages/statistics.scm b/gnu/packages/statistics.scm index 306df9cefd..75bdb5df83 100644 --- a/gnu/packages/statistics.scm +++ b/gnu/packages/statistics.scm @@ -3226,14 +3226,17 @@ and tidyr provides no margins or aggregation.") (define-public r-hexbin (package (name "r-hexbin") - (version "1.27.1") + ;; The package tarball was updated in place, resulting in a change in the + ;; hash value. We decided to bump the version to 1.27.1-1 instead of + ;; keeping the version at upstream's 1.27.1. + (version "1.27.1-1") (source (origin (method url-fetch) - (uri (cran-uri "hexbin" version)) + (uri (cran-uri "hexbin" "1.27.1")) (sha256 (base32 - "0xi6fbf1fvyn2gffr052n3viibqzpr3603sgi4xaminbzja4syjh")))) + "025d609z1nyy684hwvp34b9mjzkgvild7fvfr95f941dmsikan87")))) (build-system r-build-system) (propagated-inputs `(("r-lattice" ,r-lattice))) From 02161372378dd7434df84be5139d902cebd559f7 Mon Sep 17 00:00:00 2001 From: Andy Wingo Date: Mon, 13 Mar 2017 12:21:35 +0100 Subject: [PATCH 094/107] gnu: guile-next: Update to 2.1.8. * gnu/packages/guile.scm (guile-next): Update to 2.1.8. --- gnu/packages/guile.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/guile.scm b/gnu/packages/guile.scm index f9ca5d0bfe..d25603dfe3 100644 --- a/gnu/packages/guile.scm +++ b/gnu/packages/guile.scm @@ -234,7 +234,7 @@ without requiring the source code to be rewritten.") (define-public guile-next (package (inherit guile-2.0) (name "guile-next") - (version "2.1.7") + (version "2.1.8") (replacement #f) (source (origin (method url-fetch) @@ -242,7 +242,7 @@ without requiring the source code to be rewritten.") version ".tar.xz")) (sha256 (base32 - "0qf2664bglv5rrj4c99cc7gry7v9x0sqdyzgfg8zi8gm5wbcmqda")) + "0rh9vahqqwbyj79p1lc9pljkgxg8rczczf074dr8wl13j5h0y27m")) (modules '((guix build utils))) ;; Remove the pre-built object files. Instead, build everything From 2617050b3bce48c547e34cdf6217b43c17c737c5 Mon Sep 17 00:00:00 2001 From: Alex Kost Date: Sat, 11 Mar 2017 19:54:34 +0300 Subject: [PATCH 095/107] gnu: magit: Update to 2.10.3. * gnu/packages/emacs.scm (magit): Update to 2.10.3. --- gnu/packages/emacs.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm index dc2820167f..925d0f5535 100644 --- a/gnu/packages/emacs.scm +++ b/gnu/packages/emacs.scm @@ -436,7 +436,7 @@ on stdout instead of using a socket as the Emacsclient does.") (define-public magit (package (name "magit") - (version "2.10.2") + (version "2.10.3") (source (origin (method url-fetch) (uri (string-append @@ -444,7 +444,7 @@ on stdout instead of using a socket as the Emacsclient does.") version "/" name "-" version ".tar.gz")) (sha256 (base32 - "09qcc3a61irxi89x7q82hdy8dk0liiwyz66632wzcd881mhrhx18")))) + "03ln65ss420gc3h4pi56dayd1p163xfxrxrd9fkb9xnkl8mjglqk")))) (build-system gnu-build-system) (native-inputs `(("texinfo" ,texinfo) ("emacs" ,emacs-minimal))) From 846344d053d9d90b778435f5812d45d4f4afcd52 Mon Sep 17 00:00:00 2001 From: Alex Kost Date: Sat, 11 Mar 2017 19:55:00 +0300 Subject: [PATCH 096/107] gnu: git-modes: Update to 1.2.4. * gnu/packages/emacs.scm (git-modes): Update to 1.2.4. --- gnu/packages/emacs.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm index 925d0f5535..3db5527e60 100644 --- a/gnu/packages/emacs.scm +++ b/gnu/packages/emacs.scm @@ -366,7 +366,7 @@ when typing parentheses directly or commenting out code line by line.") (define-public git-modes (package (name "git-modes") - (version "1.2.2") + (version "1.2.4") (source (origin (method url-fetch) (uri (string-append @@ -375,7 +375,7 @@ when typing parentheses directly or commenting out code line by line.") (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "0gb9c18jib8rpm14vig9774104lwmd8353ps0259m861syf6664d")))) + "0xxrmf0jnyljxvllc22qa0v8lgi4k1ldnayjm5hf68m25jsr378l")))) (build-system gnu-build-system) (arguments `(#:modules ((guix build gnu-build-system) From 7a4dea524b9d10e94d348bec3df0670292247388 Mon Sep 17 00:00:00 2001 From: Alex Kost Date: Sat, 11 Mar 2017 19:58:30 +0300 Subject: [PATCH 097/107] gnu: manaplus: Update to 1.7.3.4. * gnu/packages/games.scm (manaplus): Update to 1.7.3.4. --- gnu/packages/games.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm index efa904f7df..1ce18658d0 100644 --- a/gnu/packages/games.scm +++ b/gnu/packages/games.scm @@ -1349,7 +1349,7 @@ is programmed in Haskell.") (define-public manaplus (package (name "manaplus") - (version "1.7.1.21") + (version "1.7.3.4") (source (origin (method url-fetch) (uri (string-append @@ -1357,7 +1357,7 @@ is programmed in Haskell.") version "/manaplus-" version ".tar.xz")) (sha256 (base32 - "0q9hk9jgz5jja1mmba5iafxwavk6991kjpmdxdkgbam0hk15pqmz")))) + "0mbxzsgjg16pqa3jnxkd7wwvw1lrx455r7fvwjfhzp0yv7acrn10")))) (build-system gnu-build-system) (arguments '(#:configure-flags From 87f1c7efc18f8996b0b2817a5f7b84eebe2ddf5a Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Sun, 5 Mar 2017 15:13:46 +0100 Subject: [PATCH 098/107] gnu: nss: Use 'modify-phases' syntax. * gnu/packages/gnuzilla.scm (nss)[arguments]: Use 'modify-phases'. --- gnu/packages/gnuzilla.scm | 91 +++++++++++++++++++-------------------- 1 file changed, 44 insertions(+), 47 deletions(-) diff --git a/gnu/packages/gnuzilla.scm b/gnu/packages/gnuzilla.scm index e6e24f6650..e11e831cbe 100644 --- a/gnu/packages/gnuzilla.scm +++ b/gnu/packages/gnuzilla.scm @@ -221,55 +221,52 @@ in the Mozilla clients.") (ice-9 match) (srfi srfi-26)) #:phases - (alist-replace - 'configure - (lambda* (#:key system inputs #:allow-other-keys) - (setenv "CC" "gcc") - ;; Tells NSS to build for the 64-bit ABI if we are 64-bit system. - (when (string-prefix? "x86_64" system) - (setenv "USE_64" "1")) - #t) - (alist-replace - 'check - (lambda _ - ;; Use 127.0.0.1 instead of $HOST.$DOMSUF as HOSTADDR for testing. - ;; The later requires a working DNS or /etc/hosts. - (setenv "DOMSUF" "(none)") - (setenv "USE_IP" "TRUE") - (setenv "IP_ADDRESS" "127.0.0.1") - (zero? (system* "./nss/tests/all.sh"))) - (alist-replace - 'install - (lambda* (#:key outputs #:allow-other-keys) - (let* ((out (assoc-ref outputs "out")) - (bin (string-append (assoc-ref outputs "bin") "/bin")) - (inc (string-append out "/include/nss")) - (lib (string-append out "/lib/nss")) - (obj (match (scandir "dist" (cut string-suffix? "OBJ" <>)) - ((obj) (string-append "dist/" obj))))) - ;; Install nss-config to $out/bin. - (install-file (string-append obj "/bin/nss-config") - (string-append out "/bin")) - (delete-file (string-append obj "/bin/nss-config")) - ;; Install nss.pc to $out/lib/pkgconfig. - (install-file (string-append obj "/lib/pkgconfig/nss.pc") - (string-append out "/lib/pkgconfig")) - (delete-file (string-append obj "/lib/pkgconfig/nss.pc")) - (rmdir (string-append obj "/lib/pkgconfig")) - ;; Install other files. - (copy-recursively "dist/public/nss" inc) - (copy-recursively (string-append obj "/bin") bin) - (copy-recursively (string-append obj "/lib") lib) + (modify-phases %standard-phases + (replace 'configure + (lambda* (#:key system inputs #:allow-other-keys) + (setenv "CC" "gcc") + ;; Tells NSS to build for the 64-bit ABI if we are 64-bit system. + (when (string-prefix? "x86_64" system) + (setenv "USE_64" "1")) + #t)) + (replace 'check + (lambda _ + ;; Use 127.0.0.1 instead of $HOST.$DOMSUF as HOSTADDR for testing. + ;; The later requires a working DNS or /etc/hosts. + (setenv "DOMSUF" "(none)") + (setenv "USE_IP" "TRUE") + (setenv "IP_ADDRESS" "127.0.0.1") + (zero? (system* "./nss/tests/all.sh")))) + (replace 'install + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (bin (string-append (assoc-ref outputs "bin") "/bin")) + (inc (string-append out "/include/nss")) + (lib (string-append out "/lib/nss")) + (obj (match (scandir "dist" (cut string-suffix? "OBJ" <>)) + ((obj) (string-append "dist/" obj))))) + ;; Install nss-config to $out/bin. + (install-file (string-append obj "/bin/nss-config") + (string-append out "/bin")) + (delete-file (string-append obj "/bin/nss-config")) + ;; Install nss.pc to $out/lib/pkgconfig. + (install-file (string-append obj "/lib/pkgconfig/nss.pc") + (string-append out "/lib/pkgconfig")) + (delete-file (string-append obj "/lib/pkgconfig/nss.pc")) + (rmdir (string-append obj "/lib/pkgconfig")) + ;; Install other files. + (copy-recursively "dist/public/nss" inc) + (copy-recursively (string-append obj "/bin") bin) + (copy-recursively (string-append obj "/lib") lib) - ;; FIXME: libgtest1.so is installed in the above step, and it's - ;; (unnecessarily) linked with several NSS libraries, but - ;; without the needed rpaths, causing the 'validate-runpath' - ;; phase to fail. Here we simply delete libgtest1.so, since it - ;; seems to be used only during the tests. - (delete-file (string-append lib "/libgtest1.so")) + ;; FIXME: libgtest1.so is installed in the above step, and it's + ;; (unnecessarily) linked with several NSS libraries, but + ;; without the needed rpaths, causing the 'validate-runpath' + ;; phase to fail. Here we simply delete libgtest1.so, since it + ;; seems to be used only during the tests. + (delete-file (string-append lib "/libgtest1.so")) - #t)) - %standard-phases))))) + #t)))))) (inputs `(("sqlite" ,sqlite) ("zlib" ,zlib))) From 4f3dcdd99ba13ab3bdbf1e014afcd076cd95fac7 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Mon, 13 Mar 2017 16:53:27 +0100 Subject: [PATCH 099/107] gnu: nss, nss-certs: Update to 3.29.3. * gnu/packages/gnuzilla.scm (nss): Update to 3.29.3. * gnu/packages/certs.scm (nss-certs): Update to 3.29.3. --- gnu/packages/certs.scm | 4 ++-- gnu/packages/gnuzilla.scm | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/gnu/packages/certs.scm b/gnu/packages/certs.scm index e35e9aabab..7f5c5b793f 100644 --- a/gnu/packages/certs.scm +++ b/gnu/packages/certs.scm @@ -74,7 +74,7 @@ (define-public nss-certs (package (name "nss-certs") - (version "3.29.2") + (version "3.29.3") (source (origin (method url-fetch) (uri (let ((version-with-underscores @@ -85,7 +85,7 @@ "nss-" version ".tar.gz"))) (sha256 (base32 - "149807rmzb76hnh48rw4m9jw83iw0168njzchz0hmbsgc8mk0i5w")))) + "1sz1r2iml9bhd4iqiqz75gii855a25895vpy9scjky0y4lqwrp9m")))) (build-system gnu-build-system) (outputs '("out")) (native-inputs diff --git a/gnu/packages/gnuzilla.scm b/gnu/packages/gnuzilla.scm index e11e831cbe..55dfda4948 100644 --- a/gnu/packages/gnuzilla.scm +++ b/gnu/packages/gnuzilla.scm @@ -186,7 +186,7 @@ in the Mozilla clients.") (define-public nss (package (name "nss") - (version "3.29.2") + (version "3.29.3") (source (origin (method url-fetch) (uri (let ((version-with-underscores @@ -197,7 +197,7 @@ in the Mozilla clients.") "nss-" version ".tar.gz"))) (sha256 (base32 - "149807rmzb76hnh48rw4m9jw83iw0168njzchz0hmbsgc8mk0i5w")) + "1sz1r2iml9bhd4iqiqz75gii855a25895vpy9scjky0y4lqwrp9m")) ;; Create nss.pc and nss-config. (patches (search-patches "nss-pkgconfig.patch")))) (build-system gnu-build-system) From ca453df7c8f50b240ddad549962b4e2c22788094 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Mon, 13 Mar 2017 17:02:50 +0100 Subject: [PATCH 100/107] gnu: xf86-video-nouveau: Update to 1.0.14. * gnu/packages/xorg.scm (xf86-video-nouveau): Update to 1.0.14. --- gnu/packages/xorg.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/xorg.scm b/gnu/packages/xorg.scm index f1e63c0700..1063b5af89 100644 --- a/gnu/packages/xorg.scm +++ b/gnu/packages/xorg.scm @@ -2989,7 +2989,7 @@ supported, and the RENDER extension is not accelerated by this driver.") (define-public xf86-video-nouveau (package (name "xf86-video-nouveau") - (version "1.0.13") + (version "1.0.14") (source (origin (method url-fetch) @@ -2999,7 +2999,7 @@ supported, and the RENDER extension is not accelerated by this driver.") ".tar.bz2")) (sha256 (base32 - "1js7vak68g2800f1cy5r41wl5x2j7dbmbd7zxypzfgcw2fx454kd")))) + "1h9izq510m2pvg77d0y9krc0cvvbhp2y3xlrrz6id7y47jdzkpsd")))) (build-system gnu-build-system) (inputs `(("xorg-server" ,xorg-server))) (native-inputs `(("pkg-config" ,pkg-config))) From 17fb6fb105ba63b3a221226da2391827494d8717 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Mon, 13 Mar 2017 17:09:01 +0100 Subject: [PATCH 101/107] gnu: xf86-video-intel: Update to 2.99.917-4-7e9e92c. * gnu/packages/xorg.scm (xf86-video-intel): Update to 2.99.917-4-7e9e92c. --- gnu/packages/xorg.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/xorg.scm b/gnu/packages/xorg.scm index 1063b5af89..90d4660fcd 100644 --- a/gnu/packages/xorg.scm +++ b/gnu/packages/xorg.scm @@ -2806,10 +2806,10 @@ X server.") (define-public xf86-video-intel - (let ((commit "e4fe79cf0d9a05ee3f3a027148ef0aeb2b1b34e1")) + (let ((commit "7e9e92c86b0fc4c848d164fe571798add5e1e36e")) (package (name "xf86-video-intel") - (version (string-append "2.99.917-3-" (string-take commit 7))) + (version (string-append "2.99.917-4-" (string-take commit 7))) (source (origin ;; there's no current tarball @@ -2819,7 +2819,7 @@ X server.") (commit commit))) (sha256 (base32 - "0hf3fxv5jchyh820h449c1ld9x19gc8081w1yk98mab6zr89zswp")) + "0igfw8vpz1q0a2526j81fl65z6avfh6lzzrijcs72gwihqqhb1sv")) (file-name (string-append name "-" version)))) (build-system gnu-build-system) (inputs `(("mesa" ,mesa) From dd8ecb386c5995f6574b443c50b3d89dca27ada8 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Mon, 13 Mar 2017 18:14:13 +0100 Subject: [PATCH 102/107] gnu: notmuch: Update to 0.24. * gnu/packages/mail.scm (notmuch, python-notmuch, python2-notmuch): Update to 0.24. --- gnu/packages/mail.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/mail.scm b/gnu/packages/mail.scm index 301b2fa23d..070d9ba093 100644 --- a/gnu/packages/mail.scm +++ b/gnu/packages/mail.scm @@ -663,14 +663,14 @@ invoking @command{notifymuch} from the post-new hook.") (define-public notmuch (package (name "notmuch") - (version "0.23.7") + (version "0.24") (source (origin (method url-fetch) (uri (string-append "https://notmuchmail.org/releases/notmuch-" version ".tar.gz")) (sha256 (base32 - "04w90c43zk23pys6prkqb14al408qypifcfj2qznqpwlf46v26zi")))) + "1z3m9knsdmchvfjzjhjf2cmdc9yahmvbvzn46wsrsrihfvv4rr7p")))) (build-system gnu-build-system) (arguments '(#:make-flags (list "V=1") ; Verbose test output. From 8298df96ac3ede22e5a268636a3b782013781f89 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Thu, 13 Oct 2016 12:35:30 +0100 Subject: [PATCH 103/107] gnu: Add minizip. * gnu/packages/compression.scm (minizip): New variable. --- gnu/packages/compression.scm | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/gnu/packages/compression.scm b/gnu/packages/compression.scm index 88f8f0d84e..ef176c630d 100644 --- a/gnu/packages/compression.scm +++ b/gnu/packages/compression.scm @@ -97,6 +97,33 @@ independent of the input data and can be reduced, if necessary, at some cost in compression.") (license license:zlib))) +(define-public minizip + (package + (name "minizip") + (version (package-version zlib)) + (source (package-source zlib)) + (build-system gnu-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'enter-source + (lambda _ (chdir "contrib/minizip") #t)) + (add-before 'configure 'autoreconf + (lambda _ + (zero? (system* "autoreconf" "-vif"))))))) + (native-inputs + `(("autoconf" ,autoconf) + ("automake" ,automake) + ("libtool" ,libtool))) + (propagated-inputs `(("zlib" ,zlib))) + (home-page (package-home-page zlib)) + (synopsis "Zip Compression library") + (description + "Minizip is a minimalistic library that supports compressing, +extracting and viewing ZIP archives. This version is extracted from +the @code{zlib} source.") + (license (package-license zlib)))) + (define-public fastjar (package (name "fastjar") From 1bbbb0b4af95f20ea09d9f348a5fc8c09048b208 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Mon, 13 Mar 2017 19:10:41 +0100 Subject: [PATCH 104/107] gnu: diffoscope: Update to 78. * gnu/packages/package-management.scm (diffoscope): Update to 78. --- gnu/packages/package-management.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/package-management.scm b/gnu/packages/package-management.scm index c608f397dc..685636e8ba 100644 --- a/gnu/packages/package-management.scm +++ b/gnu/packages/package-management.scm @@ -445,13 +445,13 @@ transactions from C or Python.") (define-public diffoscope (package (name "diffoscope") - (version "77") + (version "78") (source (origin (method url-fetch) (uri (pypi-uri name version)) (sha256 (base32 - "0wrb6pl88611frxj19kq3vikhbld40fy1ncrskb1iayxsmbfcbn9")))) + "1bx8i6sx2mcvm166nhw0i5442ld6wigkwav8dsnv22y7gnsl9d7n")))) (build-system python-build-system) (arguments `(#:phases (modify-phases %standard-phases From 35db2d3cb766401fa90041cd3ec8248dcbd8d3b5 Mon Sep 17 00:00:00 2001 From: humanitiesNerd Date: Sun, 12 Mar 2017 20:44:47 +0100 Subject: [PATCH 105/107] gnu: Add python-htmlmin. * gnu/packages/python.scm (python-htmlmin, python2-htmlmin): New variables. Signed-off-by: Marius Bakke --- gnu/packages/python.scm | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm index ee785c26ed..d77014d5c6 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -36,6 +36,7 @@ ;;; Copyright © 2016, 2017 Thomas Danckaert ;;; Copyright © 2017 Carlo Zancanaro ;;; Copyright © 2017 Frederick M. Muriithi +;;; Copyright © 2017 humanitiesNerd ;;; ;;; This file is part of GNU Guix. ;;; @@ -13598,3 +13599,26 @@ The distinctive feature of this B-tree is that a node is never copy-on-write. This makes it easy to clone a tree, and modify only the clone, while other processes access the original tree.") (license license:gpl3+))) + +(define-public python-htmlmin + (package + (name "python-htmlmin") + (version "0.1.10") + (source + (origin + (method url-fetch) + (uri (pypi-uri "htmlmin" version)) + (sha256 + (base32 + "0qxa93j3p1ak32qh8d9kshqv8v3z0hkc13dwbhp5cn7sn3xmsp6a")))) + (arguments + `(#:tests? #f)) ;htmlmin has no tests + (build-system python-build-system) + (home-page "https://htmlmin.readthedocs.org/en/latest/") + (synopsis "HTML minifier") + (description "@code{htmlmin} is an HTML minifier that just works. +It comes with safe defaults and easily configurable options.") + (license license:bsd-3))) + +(define-public python2-htmlmin + (package-with-python2 python-htmlmin)) From 78c556636509515080a66511f1998a974d0e2623 Mon Sep 17 00:00:00 2001 From: humanitiesNerd Date: Sun, 12 Mar 2017 20:46:38 +0100 Subject: [PATCH 106/107] gnu: Add python-flask-htmlmin. * gnu/packages/python.scm (python-flask-htmlmin, python2-flask-htmlmin): New variables. Signed-off-by: Marius Bakke --- gnu/packages/python.scm | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm index d77014d5c6..f307b5c5b5 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -13622,3 +13622,27 @@ It comes with safe defaults and easily configurable options.") (define-public python2-htmlmin (package-with-python2 python-htmlmin)) + +(define-public python-flask-htmlmin + (package + (name "python-flask-htmlmin") + (version "1.2") + (source + (origin + (method url-fetch) + (uri (pypi-uri "Flask-HTMLmin" version)) + (sha256 + (base32 + "1n6zlq72kakkw0z2jpq6nh74lfsmxybm4g053pwhc14fbr809348")))) + (propagated-inputs + `(("python-flask" ,python-flask) + ("python-htmlmin" ,python-htmlmin))) + (build-system python-build-system) + (home-page "https://github.com/hamidfzm/Flask-HTMLmin") + (synopsis "HTML response minifier for Flask") + (description + "Minify @code{text/html} MIME type responses when using @code{Flask}.") + (license license:bsd-3))) + +(define-public python2-flask-htmlmin + (package-with-python2 python-flask-htmlmin)) From a71c863834448e2645518b31b60a96ef488dd761 Mon Sep 17 00:00:00 2001 From: humanitiesNerd Date: Sun, 12 Mar 2017 21:02:08 +0100 Subject: [PATCH 107/107] gnu: Add python-flask-login. * gnu/packages/python.scm (python-flask-login, python2-flask-login): 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 f307b5c5b5..333cfd54e9 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -13646,3 +13646,32 @@ It comes with safe defaults and easily configurable options.") (define-public python2-flask-htmlmin (package-with-python2 python-flask-htmlmin)) + +(define-public python-flask-login + (package + (name "python-flask-login") + (version "0.4.0") + (source + (origin + (method url-fetch) + (uri (string-append "https://github.com/maxcountryman/flask-login/archive/" + version ".tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1pdqp7a2gyb7k06xda004x0fi2w66s6kn2i0ndkqndmg12d83f9w")))) + (arguments + ;; Tests fail PEP8 compliance. See: + ;; https://github.com/maxcountryman/flask-login/issues/340 + `(#:tests? #f)) + (build-system python-build-system) + (home-page "https://github.com/maxcountryman/flask-login") + (synopsis "User session management for Flask") + (description + "@code{Flask-Login} provides user session management for Flask. It +handles the common tasks of logging in, logging out, and remembering your +users' sessions over extended periods of time.") + (license license:expat))) + +(define-public python2-flask-login + (package-with-python2 python-flask-login))