diff options
| author | Marius Bakke <mbakke@fastmail.com> | 2020-04-19 16:53:01 +0200 |
|---|---|---|
| committer | Marius Bakke <mbakke@fastmail.com> | 2020-04-19 16:53:01 +0200 |
| commit | 7abe35febe4234609e14e169b6fcc0cbaf4c7119 (patch) | |
| tree | 5a8307a28e0c0a6aeab21ce8b9d3487229522588 | |
| parent | 457ded48c54ba04489cb871d3ec6bda0c59bead7 (diff) | |
| parent | 5c10d55206a4f7a9b932ff08512a4f50c1db35be (diff) | |
Merge branch 'master' into core-updates
59 files changed, 1075 insertions, 503 deletions
diff --git a/Makefile.am b/Makefile.am index 1fcf1c7b56f..bb243fe9fe7 100644 --- a/Makefile.am +++ b/Makefile.am | |||
| @@ -669,7 +669,7 @@ GUIX_FOR_BINARY_TARBALL = guile3.0-guix | |||
| 669 | # The self-contained tarball. | 669 | # The self-contained tarball. |
| 670 | guix-binary.%.tar.xz: | 670 | guix-binary.%.tar.xz: |
| 671 | $(AM_V_GEN)GUIX_PACKAGE_PATH= \ | 671 | $(AM_V_GEN)GUIX_PACKAGE_PATH= \ |
| 672 | tarball=`$(top_builddir)/pre-inst-env guix pack -K -C xz \ | 672 | tarball=`$(top_builddir)/pre-inst-env guix pack -C xz \ |
| 673 | --fallback \ | 673 | --fallback \ |
| 674 | -s "$*" --localstatedir --profile-name=current-guix \ | 674 | -s "$*" --localstatedir --profile-name=current-guix \ |
| 675 | $(GUIX_FOR_BINARY_TARBALL)` ; \ | 675 | $(GUIX_FOR_BINARY_TARBALL)` ; \ |
| @@ -819,6 +819,7 @@ release: dist-with-updated-version | |||
| 819 | for system in $(GUIX_SYSTEM_VM_SYSTEMS) ; do \ | 819 | for system in $(GUIX_SYSTEM_VM_SYSTEMS) ; do \ |
| 820 | image=`$(top_builddir)/pre-inst-env \ | 820 | image=`$(top_builddir)/pre-inst-env \ |
| 821 | guix system vm-image $(GUIX_SYSTEM_VM_IMAGE_FLAGS) \ | 821 | guix system vm-image $(GUIX_SYSTEM_VM_IMAGE_FLAGS) \ |
| 822 | --save-provenance \ | ||
| 822 | --system=$$system --fallback \ | 823 | --system=$$system --fallback \ |
| 823 | gnu/system/examples/vm-image.tmpl` ; \ | 824 | gnu/system/examples/vm-image.tmpl` ; \ |
| 824 | if [ ! -f "$$image" ] ; then \ | 825 | if [ ! -f "$$image" ] ; then \ |
diff --git a/build-aux/git-authenticate.scm b/build-aux/git-authenticate.scm index 37e0c6800c9..bb48dddc59a 100644 --- a/build-aux/git-authenticate.scm +++ b/build-aux/git-authenticate.scm | |||
| @@ -1,5 +1,6 @@ | |||
| 1 | ;;; GNU Guix --- Functional package management for GNU | 1 | ;;; GNU Guix --- Functional package management for GNU |
| 2 | ;;; Copyright © 2019, 2020 Ludovic Courtès <ludo@gnu.org> | 2 | ;;; Copyright © 2019, 2020 Ludovic Courtès <ludo@gnu.org> |
| 3 | ;;; Copyright © 2020 Tobias Geerinckx-Rice <me@tobias.gr> | ||
| 3 | ;;; | 4 | ;;; |
| 4 | ;;; This file is part of GNU Guix. | 5 | ;;; This file is part of GNU Guix. |
| 5 | ;;; | 6 | ;;; |
| @@ -148,10 +149,10 @@ | |||
| 148 | "F2A3 8D7E EB2B 6640 5761 070D 0ADE E100 9460 4D37") | 149 | "F2A3 8D7E EB2B 6640 5761 070D 0ADE E100 9460 4D37") |
| 149 | ("nckx" | 150 | ("nckx" |
| 150 | ;; primary: "F5BC 5534 C36F 0087 B39D 36EF 1C9D C4FE B9DB 7C4B" | 151 | ;; primary: "F5BC 5534 C36F 0087 B39D 36EF 1C9D C4FE B9DB 7C4B" |
| 151 | "7E8F AED0 0944 78EF 72E6 4D16 D889 B0F0 18C5 493C") | ||
| 152 | ("nckx (2nd)" | ||
| 153 | ;; primary: "F5BC 5534 C36F 0087 B39D 36EF 1C9D C4FE B9DB 7C4B" | ||
| 154 | "F5DA 2032 4B87 3D0B 7A38 7672 0DB0 FF88 4F55 6D79") | 152 | "F5DA 2032 4B87 3D0B 7A38 7672 0DB0 FF88 4F55 6D79") |
| 153 | ("nckx (revoked; not compromised)" | ||
| 154 | ;; primary: "F5BC 5534 C36F 0087 B39D 36EF 1C9D C4FE B9DB 7C4B" | ||
| 155 | "7E8F AED0 0944 78EF 72E6 4D16 D889 B0F0 18C5 493C") | ||
| 155 | ("niedzejkob" | 156 | ("niedzejkob" |
| 156 | "E576 BFB2 CF6E B13D F571 33B9 E315 A758 4613 1564") | 157 | "E576 BFB2 CF6E B13D F571 33B9 E315 A758 4613 1564") |
| 157 | ("ngz" | 158 | ("ngz" |
diff --git a/doc/guix.texi b/doc/guix.texi index ef5f68db24f..0b8460a6fe6 100644 --- a/doc/guix.texi +++ b/doc/guix.texi | |||
| @@ -77,6 +77,7 @@ Copyright @copyright{} 2020 Jakub Kądziołka@* | |||
| 77 | Copyright @copyright{} 2020 Jack Hill@* | 77 | Copyright @copyright{} 2020 Jack Hill@* |
| 78 | Copyright @copyright{} 2020 Naga Malleswari@* | 78 | Copyright @copyright{} 2020 Naga Malleswari@* |
| 79 | Copyright @copyright{} 2020 Brice Waegeneire@* | 79 | Copyright @copyright{} 2020 Brice Waegeneire@* |
| 80 | Copyright @copyright{} 2020 R Veera Kumar@* | ||
| 80 | 81 | ||
| 81 | Permission is granted to copy, distribute and/or modify this document | 82 | Permission is granted to copy, distribute and/or modify this document |
| 82 | under the terms of the GNU Free Documentation License, Version 1.3 or | 83 | under the terms of the GNU Free Documentation License, Version 1.3 or |
| @@ -547,7 +548,14 @@ We recommend the use of this | |||
| 547 | @uref{https://git.savannah.gnu.org/cgit/guix.git/plain/etc/guix-install.sh, | 548 | @uref{https://git.savannah.gnu.org/cgit/guix.git/plain/etc/guix-install.sh, |
| 548 | shell installer script}. The script automates the download, installation, and | 549 | shell installer script}. The script automates the download, installation, and |
| 549 | initial configuration steps described below. It should be run as the root | 550 | initial configuration steps described below. It should be run as the root |
| 550 | user. | 551 | user. As root, you can thus run this: |
| 552 | |||
| 553 | @example | ||
| 554 | cd /tmp | ||
| 555 | wget https://git.savannah.gnu.org/cgit/guix.git/plain/etc/guix-install.sh | ||
| 556 | chmod +x guix-install.sh | ||
| 557 | ./guix-install.sh | ||
| 558 | @end example | ||
| 551 | @end quotation | 559 | @end quotation |
| 552 | 560 | ||
| 553 | Installing goes along these lines: | 561 | Installing goes along these lines: |
| @@ -651,7 +659,7 @@ with these commands: | |||
| 651 | @example | 659 | @example |
| 652 | # cp ~root/.config/guix/current/lib/systemd/system/guix-daemon.service \ | 660 | # cp ~root/.config/guix/current/lib/systemd/system/guix-daemon.service \ |
| 653 | /etc/systemd/system/ | 661 | /etc/systemd/system/ |
| 654 | # systemctl start guix-daemon && systemctl enable guix-daemon | 662 | # systemctl enable --now guix-daemon |
| 655 | @end example | 663 | @end example |
| 656 | 664 | ||
| 657 | If your host distro uses the Upstart init system: | 665 | If your host distro uses the Upstart init system: |
| @@ -2823,6 +2831,15 @@ in the root of their project source tree that can be used to test | |||
| 2823 | development snapshots and create reproducible development environments | 2831 | development snapshots and create reproducible development environments |
| 2824 | (@pxref{Invoking guix environment}). | 2832 | (@pxref{Invoking guix environment}). |
| 2825 | 2833 | ||
| 2834 | The @var{file} may also contain a JSON representation of one or more | ||
| 2835 | package definitions. Running @code{guix package -f} on | ||
| 2836 | @file{hello.json} with the following contents would result in installing | ||
| 2837 | the package @code{greeter} after building @code{myhello}: | ||
| 2838 | |||
| 2839 | @example | ||
| 2840 | @verbatiminclude package-hello.json | ||
| 2841 | @end example | ||
| 2842 | |||
| 2826 | @item --remove=@var{package} @dots{} | 2843 | @item --remove=@var{package} @dots{} |
| 2827 | @itemx -r @var{package} @dots{} | 2844 | @itemx -r @var{package} @dots{} |
| 2828 | Remove the specified @var{package}s. | 2845 | Remove the specified @var{package}s. |
| @@ -4616,8 +4633,8 @@ served by @code{@value{SUBSTITUTE-SERVER}} to @file{/tmp/emacs}: | |||
| 4616 | 4633 | ||
| 4617 | @example | 4634 | @example |
| 4618 | $ wget -O - \ | 4635 | $ wget -O - \ |
| 4619 | https://@value{SUBSTITUTE-SERVER}/nar/@dots{}-emacs-24.5 \ | 4636 | https://@value{SUBSTITUTE-SERVER}/nar/gzip/@dots{}-emacs-24.5 \ |
| 4620 | | bunzip2 | guix archive -x /tmp/emacs | 4637 | | gunzip | guix archive -x /tmp/emacs |
| 4621 | @end example | 4638 | @end example |
| 4622 | 4639 | ||
| 4623 | Single-item archives are different from multiple-item archives produced | 4640 | Single-item archives are different from multiple-item archives produced |
| @@ -4627,7 +4644,8 @@ and they do @emph{not} embed a signature. Thus this operation does | |||
| 4627 | unsafe. | 4644 | unsafe. |
| 4628 | 4645 | ||
| 4629 | The primary purpose of this operation is to facilitate inspection of | 4646 | The primary purpose of this operation is to facilitate inspection of |
| 4630 | archive contents coming from possibly untrusted substitute servers. | 4647 | archive contents coming from possibly untrusted substitute servers |
| 4648 | (@pxref{Invoking guix challenge}). | ||
| 4631 | 4649 | ||
| 4632 | @item --list | 4650 | @item --list |
| 4633 | @itemx -t | 4651 | @itemx -t |
| @@ -5807,7 +5825,7 @@ or a list of such values. | |||
| 5807 | @item @code{home-page} | 5825 | @item @code{home-page} |
| 5808 | The URL to the home-page of the package, as a string. | 5826 | The URL to the home-page of the package, as a string. |
| 5809 | 5827 | ||
| 5810 | @item @code{supported-systems} (default: @var{%supported-systems}) | 5828 | @item @code{supported-systems} (default: @code{%supported-systems}) |
| 5811 | The list of systems supported by the package, as strings of the form | 5829 | The list of systems supported by the package, as strings of the form |
| 5812 | @code{architecture-kernel}, for example @code{"x86_64-linux"}. | 5830 | @code{architecture-kernel}, for example @code{"x86_64-linux"}. |
| 5813 | 5831 | ||
| @@ -6171,7 +6189,6 @@ if they are defined by the crate. | |||
| 6171 | 6189 | ||
| 6172 | 6190 | ||
| 6173 | @defvr {Scheme Variable} copy-build-system | 6191 | @defvr {Scheme Variable} copy-build-system |
| 6174 | @cindex (copy build system) | ||
| 6175 | This variable is exported by @code{(guix build-system copy)}. It | 6192 | This variable is exported by @code{(guix build-system copy)}. It |
| 6176 | supports builds of simple packages that don't require much compiling, | 6193 | supports builds of simple packages that don't require much compiling, |
| 6177 | mostly just moving files around. | 6194 | mostly just moving files around. |
| @@ -7371,7 +7388,7 @@ increments the current state value: | |||
| 7371 | @result{} 3 | 7388 | @result{} 3 |
| 7372 | @end lisp | 7389 | @end lisp |
| 7373 | 7390 | ||
| 7374 | When ``run'' through @var{%state-monad}, we obtain that additional state | 7391 | When ``run'' through @code{%state-monad}, we obtain that additional state |
| 7375 | value, which is the number of @code{square} calls. | 7392 | value, which is the number of @code{square} calls. |
| 7376 | @end defvr | 7393 | @end defvr |
| 7377 | 7394 | ||
| @@ -7403,7 +7420,7 @@ The main interface to the store monad, provided by the @code{(guix | |||
| 7403 | store)} module, is as follows. | 7420 | store)} module, is as follows. |
| 7404 | 7421 | ||
| 7405 | @defvr {Scheme Variable} %store-monad | 7422 | @defvr {Scheme Variable} %store-monad |
| 7406 | The store monad---an alias for @var{%state-monad}. | 7423 | The store monad---an alias for @code{%state-monad}. |
| 7407 | 7424 | ||
| 7408 | Values in the store monad encapsulate accesses to the store. When its | 7425 | Values in the store monad encapsulate accesses to the store. When its |
| 7409 | effect is needed, a value of the store monad must be ``evaluated'' by | 7426 | effect is needed, a value of the store monad must be ``evaluated'' by |
| @@ -7764,7 +7781,7 @@ information about monads.) | |||
| 7764 | [#:system (%current-system)] [#:target #f] [#:graft? #t] @ | 7781 | [#:system (%current-system)] [#:target #f] [#:graft? #t] @ |
| 7765 | [#:hash #f] [#:hash-algo #f] @ | 7782 | [#:hash #f] [#:hash-algo #f] @ |
| 7766 | [#:recursive? #f] [#:env-vars '()] [#:modules '()] @ | 7783 | [#:recursive? #f] [#:env-vars '()] [#:modules '()] @ |
| 7767 | [#:module-path @var{%load-path}] @ | 7784 | [#:module-path @code{%load-path}] @ |
| 7768 | [#:effective-version "2.2"] @ | 7785 | [#:effective-version "2.2"] @ |
| 7769 | [#:references-graphs #f] [#:allowed-references #f] @ | 7786 | [#:references-graphs #f] [#:allowed-references #f] @ |
| 7770 | [#:disallowed-references #f] @ | 7787 | [#:disallowed-references #f] @ |
| @@ -8068,7 +8085,7 @@ item. This is achieved using the @code{lower-object} monadic procedure. | |||
| 8068 | 8085 | ||
| 8069 | @deffn {Monadic Procedure} lower-object @var{obj} [@var{system}] @ | 8086 | @deffn {Monadic Procedure} lower-object @var{obj} [@var{system}] @ |
| 8070 | [#:target #f] | 8087 | [#:target #f] |
| 8071 | Return as a value in @var{%store-monad} the derivation or store item | 8088 | Return as a value in @code{%store-monad} the derivation or store item |
| 8072 | corresponding to @var{obj} for @var{system}, cross-compiling for | 8089 | corresponding to @var{obj} for @var{system}, cross-compiling for |
| 8073 | @var{target} if @var{target} is true. @var{obj} must be an object that | 8090 | @var{target} if @var{target} is true. @var{obj} must be an object that |
| 8074 | has an associated gexp compiler, such as a @code{<package>}. | 8091 | has an associated gexp compiler, such as a @code{<package>}. |
| @@ -8550,6 +8567,15 @@ As an example, @var{file} might contain a package definition like this | |||
| 8550 | @include package-hello.scm | 8567 | @include package-hello.scm |
| 8551 | @end lisp | 8568 | @end lisp |
| 8552 | 8569 | ||
| 8570 | The @var{file} may also contain a JSON representation of one or more | ||
| 8571 | package definitions. Running @code{guix build -f} on @file{hello.json} | ||
| 8572 | with the following contents would result in building the packages | ||
| 8573 | @code{myhello} and @code{greeter}: | ||
| 8574 | |||
| 8575 | @example | ||
| 8576 | @verbatiminclude package-hello.json | ||
| 8577 | @end example | ||
| 8578 | |||
| 8553 | @item --manifest=@var{manifest} | 8579 | @item --manifest=@var{manifest} |
| 8554 | @itemx -m @var{manifest} | 8580 | @itemx -m @var{manifest} |
| 8555 | Build all packages listed in the given @var{manifest} | 8581 | Build all packages listed in the given @var{manifest} |
| @@ -10555,8 +10581,8 @@ Alternately, we can do something along these lines (@pxref{Invoking guix | |||
| 10555 | archive}): | 10581 | archive}): |
| 10556 | 10582 | ||
| 10557 | @example | 10583 | @example |
| 10558 | $ wget -q -O - https://@value{SUBSTITUTE-SERVER}/nar/@dots{}-git-2.5.0 \ | 10584 | $ wget -q -O - https://@value{SUBSTITUTE-SERVER}/nar/lzip/@dots{}-git-2.5.0 \ |
| 10559 | | guix archive -x /tmp/git | 10585 | | lzip -d | guix archive -x /tmp/git |
| 10560 | $ diff -ur --no-dereference /gnu/store/@dots{}-git.2.5.0 /tmp/git | 10586 | $ diff -ur --no-dereference /gnu/store/@dots{}-git.2.5.0 /tmp/git |
| 10561 | @end example | 10587 | @end example |
| 10562 | 10588 | ||
| @@ -11234,7 +11260,7 @@ By that, we mean all the global system configuration, not per-user | |||
| 11234 | configuration (@pxref{Using the Configuration System}). | 11260 | configuration (@pxref{Using the Configuration System}). |
| 11235 | 11261 | ||
| 11236 | @table @asis | 11262 | @table @asis |
| 11237 | @item @code{kernel} (default: @var{linux-libre}) | 11263 | @item @code{kernel} (default: @code{linux-libre}) |
| 11238 | The package object of the operating system kernel to use@footnote{Currently | 11264 | The package object of the operating system kernel to use@footnote{Currently |
| 11239 | only the Linux-libre kernel is supported. In the future, it will be | 11265 | only the Linux-libre kernel is supported. In the future, it will be |
| 11240 | possible to use the GNU@tie{}Hurd.}. | 11266 | possible to use the GNU@tie{}Hurd.}. |
| @@ -11391,11 +11417,11 @@ As a user you should @emph{never} need to touch this field. | |||
| 11391 | Linux @dfn{pluggable authentication module} (PAM) services. | 11417 | Linux @dfn{pluggable authentication module} (PAM) services. |
| 11392 | @c FIXME: Add xref to PAM services section. | 11418 | @c FIXME: Add xref to PAM services section. |
| 11393 | 11419 | ||
| 11394 | @item @code{setuid-programs} (default: @var{%setuid-programs}) | 11420 | @item @code{setuid-programs} (default: @code{%setuid-programs}) |
| 11395 | List of string-valued G-expressions denoting setuid programs. | 11421 | List of string-valued G-expressions denoting setuid programs. |
| 11396 | @xref{Setuid Programs}. | 11422 | @xref{Setuid Programs}. |
| 11397 | 11423 | ||
| 11398 | @item @code{sudoers-file} (default: @var{%sudoers-specification}) | 11424 | @item @code{sudoers-file} (default: @code{%sudoers-specification}) |
| 11399 | @cindex sudoers file | 11425 | @cindex sudoers file |
| 11400 | The contents of the @file{/etc/sudoers} file as a file-like object | 11426 | The contents of the @file{/etc/sudoers} file as a file-like object |
| 11401 | (@pxref{G-Expressions, @code{local-file} and @code{plain-file}}). | 11427 | (@pxref{G-Expressions, @code{local-file} and @code{plain-file}}). |
| @@ -11561,7 +11587,7 @@ variables. | |||
| 11561 | 11587 | ||
| 11562 | @defvr {Scheme Variable} %base-file-systems | 11588 | @defvr {Scheme Variable} %base-file-systems |
| 11563 | These are essential file systems that are required on normal systems, | 11589 | These are essential file systems that are required on normal systems, |
| 11564 | such as @var{%pseudo-terminal-file-system} and @var{%immutable-store} (see | 11590 | such as @code{%pseudo-terminal-file-system} and @code{%immutable-store} (see |
| 11565 | below.) Operating system declarations should always contain at least | 11591 | below.) Operating system declarations should always contain at least |
| 11566 | these. | 11592 | these. |
| 11567 | @end defvr | 11593 | @end defvr |
| @@ -12628,7 +12654,7 @@ and caches. | |||
| 12628 | @defvr {Scheme Variable} %nscd-default-configuration | 12654 | @defvr {Scheme Variable} %nscd-default-configuration |
| 12629 | This is the default @code{<nscd-configuration>} value (see below) used | 12655 | This is the default @code{<nscd-configuration>} value (see below) used |
| 12630 | by @code{nscd-service}. It uses the caches defined by | 12656 | by @code{nscd-service}. It uses the caches defined by |
| 12631 | @var{%nscd-default-caches}; see below. | 12657 | @code{%nscd-default-caches}; see below. |
| 12632 | @end defvr | 12658 | @end defvr |
| 12633 | 12659 | ||
| 12634 | @deftp {Data Type} nscd-configuration | 12660 | @deftp {Data Type} nscd-configuration |
| @@ -12653,7 +12679,7 @@ Name of the nscd log file. This is where debugging output goes when | |||
| 12653 | Integer denoting the debugging levels. Higher numbers mean that more | 12679 | Integer denoting the debugging levels. Higher numbers mean that more |
| 12654 | debugging output is logged. | 12680 | debugging output is logged. |
| 12655 | 12681 | ||
| 12656 | @item @code{caches} (default: @var{%nscd-default-caches}) | 12682 | @item @code{caches} (default: @code{%nscd-default-caches}) |
| 12657 | List of @code{<nscd-cache>} objects denoting things to be cached; see | 12683 | List of @code{<nscd-cache>} objects denoting things to be cached; see |
| 12658 | below. | 12684 | below. |
| 12659 | 12685 | ||
| @@ -12925,7 +12951,7 @@ well as in the @var{groups} field of the @var{operating-system} record. | |||
| 12925 | @end lisp | 12951 | @end lisp |
| 12926 | 12952 | ||
| 12927 | @defvr {Scheme Variable} urandom-seed-service-type | 12953 | @defvr {Scheme Variable} urandom-seed-service-type |
| 12928 | Save some entropy in @var{%random-seed-file} to seed @file{/dev/urandom} | 12954 | Save some entropy in @code{%random-seed-file} to seed @file{/dev/urandom} |
| 12929 | when rebooting. It also tries to seed @file{/dev/urandom} from | 12955 | when rebooting. It also tries to seed @file{/dev/urandom} from |
| 12930 | @file{/dev/hwrng} while booting, if @file{/dev/hwrng} exists and is | 12956 | @file{/dev/hwrng} while booting, if @file{/dev/hwrng} exists and is |
| 12931 | readable. | 12957 | readable. |
| @@ -13304,7 +13330,7 @@ Either @code{#f} or a gexp to execute once the rotation has completed. | |||
| 13304 | @end deftp | 13330 | @end deftp |
| 13305 | 13331 | ||
| 13306 | @defvr {Scheme Variable} %default-rotations | 13332 | @defvr {Scheme Variable} %default-rotations |
| 13307 | Specifies weekly rotation of @var{%rotated-files} and of | 13333 | Specifies weekly rotation of @code{%rotated-files} and of |
| 13308 | @file{/var/log/guix-daemon.log}. | 13334 | @file{/var/log/guix-daemon.log}. |
| 13309 | @end defvr | 13335 | @end defvr |
| 13310 | 13336 | ||
| @@ -13764,7 +13790,7 @@ clock synchronized with that of the given servers. | |||
| 13764 | 13790 | ||
| 13765 | @defvr {Scheme Variable} %openntpd-servers | 13791 | @defvr {Scheme Variable} %openntpd-servers |
| 13766 | This variable is a list of the server addresses defined in | 13792 | This variable is a list of the server addresses defined in |
| 13767 | @var{%ntp-servers}. | 13793 | @code{%ntp-servers}. |
| 13768 | @end defvr | 13794 | @end defvr |
| 13769 | 13795 | ||
| 13770 | @deftp {Data Type} openntpd-configuration | 13796 | @deftp {Data Type} openntpd-configuration |
| @@ -13782,7 +13808,7 @@ See @uref{https://man.openbsd.org/ntpd.conf, upstream documentation} for more | |||
| 13782 | information. | 13808 | information. |
| 13783 | @item @code{server} (default: @code{'()}) | 13809 | @item @code{server} (default: @code{'()}) |
| 13784 | Specify a list of IP addresses or hostnames of NTP servers to synchronize to. | 13810 | Specify a list of IP addresses or hostnames of NTP servers to synchronize to. |
| 13785 | @item @code{servers} (default: @var{%openntp-servers}) | 13811 | @item @code{servers} (default: @code{%openntp-servers}) |
| 13786 | Specify a list of IP addresses or hostnames of NTP pools to synchronize to. | 13812 | Specify a list of IP addresses or hostnames of NTP pools to synchronize to. |
| 13787 | @item @code{constraint-from} (default: @code{'()}) | 13813 | @item @code{constraint-from} (default: @code{'()}) |
| 13788 | @code{ntpd} can be configured to query the ‘Date’ from trusted HTTPS servers via TLS. | 13814 | @code{ntpd} can be configured to query the ‘Date’ from trusted HTTPS servers via TLS. |
| @@ -25634,6 +25660,11 @@ If true, this must be the name of a file to log messages to. | |||
| 25634 | @cindex dictionary | 25660 | @cindex dictionary |
| 25635 | The @code{(gnu services dict)} module provides the following service: | 25661 | The @code{(gnu services dict)} module provides the following service: |
| 25636 | 25662 | ||
| 25663 | @defvr {Scheme Variable} dicod-service-type | ||
| 25664 | This is the type of the service that runs the @command{dicod} daemon, an | ||
| 25665 | implementation of DICT server (@pxref{Dicod,,, dico, GNU Dico Manual}). | ||
| 25666 | @end defvr | ||
| 25667 | |||
| 25637 | @deffn {Scheme Procedure} dicod-service [#:config (dicod-configuration)] | 25668 | @deffn {Scheme Procedure} dicod-service [#:config (dicod-configuration)] |
| 25638 | Return a service that runs the @command{dicod} daemon, an implementation | 25669 | Return a service that runs the @command{dicod} daemon, an implementation |
| 25639 | of DICT server (@pxref{Dicod,,, dico, GNU Dico Manual}). | 25670 | of DICT server (@pxref{Dicod,,, dico, GNU Dico Manual}). |
| @@ -27086,8 +27117,8 @@ evaluates to. As an example, @var{file} might contain a definition like this: | |||
| 27086 | 27117 | ||
| 27087 | The file should evaluate to a list of @var{machine} objects. This example, | 27118 | The file should evaluate to a list of @var{machine} objects. This example, |
| 27088 | upon being deployed, will create a new generation on the remote system | 27119 | upon being deployed, will create a new generation on the remote system |
| 27089 | realizing the @code{operating-system} declaration @var{%system}. | 27120 | realizing the @code{operating-system} declaration @code{%system}. |
| 27090 | @var{environment} and @var{configuration} specify how the machine should be | 27121 | @code{environment} and @code{configuration} specify how the machine should be |
| 27091 | provisioned---that is, how the computing resources should be created and | 27122 | provisioned---that is, how the computing resources should be created and |
| 27092 | managed. The above example does not create any resources, as a | 27123 | managed. The above example does not create any resources, as a |
| 27093 | @code{'managed-host} is a machine that is already running the Guix system and | 27124 | @code{'managed-host} is a machine that is already running the Guix system and |
| @@ -27229,7 +27260,8 @@ This image boots the Xfce graphical environment and it contains some | |||
| 27229 | commonly-used tools. You can install more software in the image by running | 27260 | commonly-used tools. You can install more software in the image by running |
| 27230 | @command{guix package} in a terminal (@pxref{Invoking guix package}). You can | 27261 | @command{guix package} in a terminal (@pxref{Invoking guix package}). You can |
| 27231 | also reconfigure the system based on its initial configuration file available | 27262 | also reconfigure the system based on its initial configuration file available |
| 27232 | as @file{/etc/config.scm} (@pxref{Using the Configuration System}). | 27263 | as @file{/run/current-system/configuration.scm} (@pxref{Using the |
| 27264 | Configuration System}). | ||
| 27233 | 27265 | ||
| 27234 | Instead of using this pre-built image, one can also build their own virtual | 27266 | Instead of using this pre-built image, one can also build their own virtual |
| 27235 | machine image using @command{guix system vm-image} (@pxref{Invoking guix | 27267 | machine image using @command{guix system vm-image} (@pxref{Invoking guix |
diff --git a/doc/local.mk b/doc/local.mk index 3805593172c..30c4a8c34dd 100644 --- a/doc/local.mk +++ b/doc/local.mk | |||
| @@ -53,7 +53,8 @@ EXTRA_DIST += \ | |||
| 53 | $(DOT_VECTOR_GRAPHICS) \ | 53 | $(DOT_VECTOR_GRAPHICS) \ |
| 54 | %D%/images/coreutils-size-map.eps \ | 54 | %D%/images/coreutils-size-map.eps \ |
| 55 | %D%/environment-gdb.scm \ | 55 | %D%/environment-gdb.scm \ |
| 56 | %D%/package-hello.scm | 56 | %D%/package-hello.scm \ |
| 57 | %D%/package-hello.json | ||
| 57 | 58 | ||
| 58 | OS_CONFIG_EXAMPLES_TEXI = \ | 59 | OS_CONFIG_EXAMPLES_TEXI = \ |
| 59 | %D%/os-config-bare-bones.texi \ | 60 | %D%/os-config-bare-bones.texi \ |
diff --git a/doc/package-hello.json b/doc/package-hello.json new file mode 100644 index 00000000000..a47e266e4bd --- /dev/null +++ b/doc/package-hello.json | |||
| @@ -0,0 +1,31 @@ | |||
| 1 | [ | ||
| 2 | { | ||
| 3 | "name": "myhello", | ||
| 4 | "version": "2.10", | ||
| 5 | "source": "mirror://gnu/hello/hello-2.10.tar.gz", | ||
| 6 | "build-system": "gnu", | ||
| 7 | "arguments": { | ||
| 8 | "tests?": false | ||
| 9 | } | ||
| 10 | "home-page": "https://www.gnu.org/software/hello/", | ||
| 11 | "synopsis": "Hello, GNU world: An example GNU package", | ||
| 12 | "description": "GNU Hello prints a greeting.", | ||
| 13 | "license": "GPL-3.0+", | ||
| 14 | "native-inputs": ["gettext"] | ||
| 15 | }, | ||
| 16 | { | ||
| 17 | "name": "greeter", | ||
| 18 | "version": "1.0", | ||
| 19 | "source": "https://example.com/greeter-1.0.tar.gz", | ||
| 20 | "build-system": "gnu", | ||
| 21 | "arguments": { | ||
| 22 | "test-target": "foo", | ||
| 23 | "parallel-build?": false, | ||
| 24 | }, | ||
| 25 | "home-page": "https://example.com/", | ||
| 26 | "synopsis": "Greeter using GNU Hello", | ||
| 27 | "description": "This is a wrapper around GNU Hello.", | ||
| 28 | "license": "GPL-3.0+", | ||
| 29 | "inputs": ["myhello", "hello"] | ||
| 30 | } | ||
| 31 | ] | ||
diff --git a/gnu/installer.scm b/gnu/installer.scm index 3b69cdbdeed..79113cb0ef8 100644 --- a/gnu/installer.scm +++ b/gnu/installer.scm | |||
| @@ -301,25 +301,6 @@ selected keymap." | |||
| 301 | ((installer-final-page current-installer) | 301 | ((installer-final-page current-installer) |
| 302 | result prev-steps)))))))) | 302 | result prev-steps)))))))) |
| 303 | 303 | ||
| 304 | (define guile-newt | ||
| 305 | ;; Guile-Newt with 'form-watch-fd'. | ||
| 306 | ;; TODO: Remove once a new release is out. | ||
| 307 | (let ((commit "c3cdeb0b53ac71aedabee669f57d44563c662446") | ||
| 308 | (revision "2")) | ||
| 309 | (package | ||
| 310 | (inherit (@ (gnu packages guile-xyz) guile-newt)) | ||
| 311 | (name "guile-newt") | ||
| 312 | (version (git-version "0.0.1" revision commit)) | ||
| 313 | (source (origin | ||
| 314 | (method git-fetch) | ||
| 315 | (uri (git-reference | ||
| 316 | (url "https://gitlab.com/mothacehe/guile-newt") | ||
| 317 | (commit commit))) | ||
| 318 | (file-name (git-file-name name version)) | ||
| 319 | (sha256 | ||
| 320 | (base32 | ||
| 321 | "1gksd1lzgjjh1p9vczghg8jw995d22hm34kbsiv8rcryirv2xy09"))))))) | ||
| 322 | |||
| 323 | (define (installer-program) | 304 | (define (installer-program) |
| 324 | "Return a file-like object that runs the given INSTALLER." | 305 | "Return a file-like object that runs the given INSTALLER." |
| 325 | (define init-gettext | 306 | (define init-gettext |
| @@ -377,6 +358,7 @@ selected keymap." | |||
| 377 | (gnu installer services) | 358 | (gnu installer services) |
| 378 | (gnu installer timezone) | 359 | (gnu installer timezone) |
| 379 | (gnu installer user) | 360 | (gnu installer user) |
| 361 | (gnu installer utils) | ||
| 380 | (gnu installer newt) | 362 | (gnu installer newt) |
| 381 | ((gnu installer newt keymap) | 363 | ((gnu installer newt keymap) |
| 382 | #:select (keyboard-layout->configuration)) | 364 | #:select (keyboard-layout->configuration)) |
diff --git a/gnu/installer/connman.scm b/gnu/installer/connman.scm index 7f47b9af77a..386f431ced7 100644 --- a/gnu/installer/connman.scm +++ b/gnu/installer/connman.scm | |||
| @@ -393,6 +393,7 @@ interactive connmanctl process." | |||
| 393 | (dynamic-wind | 393 | (dynamic-wind |
| 394 | (const #t) | 394 | (const #t) |
| 395 | (lambda () | 395 | (lambda () |
| 396 | (setvbuf pipe 'line) | ||
| 396 | (run-connection-sequence pipe) | 397 | (run-connection-sequence pipe) |
| 397 | #t) | 398 | #t) |
| 398 | (lambda () | 399 | (lambda () |
diff --git a/gnu/local.mk b/gnu/local.mk index 0795dec6e88..08b659c9297 100644 --- a/gnu/local.mk +++ b/gnu/local.mk | |||
| @@ -1387,6 +1387,7 @@ dist_patch_DATA = \ | |||
| 1387 | %D%/packages/patches/python-pep8-stdlib-tokenize-compat.patch \ | 1387 | %D%/packages/patches/python-pep8-stdlib-tokenize-compat.patch \ |
| 1388 | %D%/packages/patches/python-pyfakefs-remove-bad-test.patch \ | 1388 | %D%/packages/patches/python-pyfakefs-remove-bad-test.patch \ |
| 1389 | %D%/packages/patches/python-flint-includes.patch \ | 1389 | %D%/packages/patches/python-flint-includes.patch \ |
| 1390 | %D%/packages/patches/python-jedi-sort-project-test.patch \ | ||
| 1390 | %D%/packages/patches/python-libxml2-utf8.patch \ | 1391 | %D%/packages/patches/python-libxml2-utf8.patch \ |
| 1391 | %D%/packages/patches/python-mox3-python3.6-compat.patch \ | 1392 | %D%/packages/patches/python-mox3-python3.6-compat.patch \ |
| 1392 | %D%/packages/patches/python-testtools.patch \ | 1393 | %D%/packages/patches/python-testtools.patch \ |
diff --git a/gnu/packages/admin.scm b/gnu/packages/admin.scm index e4f98082312..7105a09dd10 100644 --- a/gnu/packages/admin.scm +++ b/gnu/packages/admin.scm | |||
| @@ -790,7 +790,7 @@ connection alive.") | |||
| 790 | (define-public isc-dhcp | 790 | (define-public isc-dhcp |
| 791 | (let* ((bind-major-version "9") | 791 | (let* ((bind-major-version "9") |
| 792 | (bind-minor-version "11") | 792 | (bind-minor-version "11") |
| 793 | (bind-patch-version "14") | 793 | (bind-patch-version "18") |
| 794 | (bind-release-type "") ; for patch release, use "-P" | 794 | (bind-release-type "") ; for patch release, use "-P" |
| 795 | (bind-release-version "") ; for patch release, e.g. "6" | 795 | (bind-release-version "") ; for patch release, e.g. "6" |
| 796 | (bind-version (string-append bind-major-version | 796 | (bind-version (string-append bind-major-version |
| @@ -927,7 +927,7 @@ connection alive.") | |||
| 927 | "/bind-" bind-version ".tar.gz")) | 927 | "/bind-" bind-version ".tar.gz")) |
| 928 | (sha256 | 928 | (sha256 |
| 929 | (base32 | 929 | (base32 |
| 930 | "1pv3bvm9dzyz2kqjkw15sgh0hd5fzsv274v5z6jp9c4nb5130fyr")))) | 930 | "0vws0zzb39mkphj4hhjrgfj9dzw951lc4pfa6pqg5ll5ma51mbsr")))) |
| 931 | 931 | ||
| 932 | ;; When cross-compiling, we need the cross Coreutils and sed. | 932 | ;; When cross-compiling, we need the cross Coreutils and sed. |
| 933 | ;; Otherwise just use those from %FINAL-INPUTS. | 933 | ;; Otherwise just use those from %FINAL-INPUTS. |
diff --git a/gnu/packages/aidc.scm b/gnu/packages/aidc.scm index b68f2137beb..5648f5a9ec4 100644 --- a/gnu/packages/aidc.scm +++ b/gnu/packages/aidc.scm | |||
| @@ -1,6 +1,6 @@ | |||
| 1 | ;;; GNU Guix --- Functional package management for GNU | 1 | ;;; GNU Guix --- Functional package management for GNU |
| 2 | ;;; Copyright © 2014 John Darringon <jmd@gnu.org> | 2 | ;;; Copyright © 2014 John Darringon <jmd@gnu.org> |
| 3 | ;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il> | 3 | ;;; Copyright © 2016, 2020 Efraim Flashner <efraim@flashner.co.il> |
| 4 | ;;; Copyright © 2017 Hartmut Goebel <h.goebel@crazy-compilers.com> | 4 | ;;; Copyright © 2017 Hartmut Goebel <h.goebel@crazy-compilers.com> |
| 5 | ;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr> | 5 | ;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr> |
| 6 | ;;; Copyright © 2019 Guillaume Le Vaillant <glv@posteo.net> | 6 | ;;; Copyright © 2019 Guillaume Le Vaillant <glv@posteo.net> |
| @@ -157,39 +157,34 @@ Python as well as GUI widgets for GTK and Qt.") | |||
| 157 | (license license:lgpl2.1+))) | 157 | (license license:lgpl2.1+))) |
| 158 | 158 | ||
| 159 | (define-public qrcodegen-cpp | 159 | (define-public qrcodegen-cpp |
| 160 | ;; Currently this project's installation mechanism only exists as a GitHub | 160 | (package |
| 161 | ;; pull request, so we build from a recent commit that the proposed patch | 161 | (name "qrcodegen-cpp") |
| 162 | ;; applies to. | 162 | (version "1.6.0") |
| 163 | (let ((commit "6ea933f1596d818bd21e9a6b8d2e851fb8b4bcf1") | 163 | (source (origin |
| 164 | (revision "0")) | 164 | (method git-fetch) |
| 165 | (package | 165 | (uri (git-reference |
| 166 | (name "qrcodegen-cpp") | 166 | (url "https://github.com/nayuki/QR-Code-generator.git") |
| 167 | (version (git-version "1.5.0" revision commit)) | 167 | (commit (string-append "v" version)))) |
| 168 | (source (origin | 168 | (file-name (git-file-name name version)) |
| 169 | (method git-fetch) | 169 | (patches (search-patches "qrcodegen-cpp-make-install.patch")) |
| 170 | (uri (git-reference | 170 | (sha256 |
| 171 | (url "https://github.com/nayuki/QR-Code-generator.git") | 171 | (base32 |
| 172 | (commit commit))) | 172 | "0iq9sv9na0vg996aqrxrjn9rrbiyy7sc9vslw945p3ky22pw3lql")))) |
| 173 | (file-name (git-file-name name version)) | 173 | (build-system gnu-build-system) |
| 174 | (patches (search-patches "qrcodegen-cpp-make-install.patch")) | 174 | (arguments |
| 175 | (sha256 | 175 | `(#:tests? #f ; no test suite |
| 176 | (base32 | 176 | #:make-flags |
| 177 | "19fcwqmfk2n9p2n01dv2j4x2y2mqip0j1wbmfbxjp34rqkjwcwxm")))) | 177 | (list (string-append "PREFIX=" (assoc-ref %outputs "out"))) |
| 178 | (build-system gnu-build-system) | 178 | #:phases |
| 179 | (arguments | 179 | (modify-phases %standard-phases |
| 180 | `(#:tests? #f ; no test suite | 180 | (delete 'configure) ; No ./configure script |
| 181 | #:make-flags | 181 | ;; Only build the C++ variant. |
| 182 | (list (string-append "PREFIX=" (assoc-ref %outputs "out"))) | 182 | (add-after 'unpack 'chdir |
| 183 | #:phases | 183 | (lambda _ |
| 184 | (modify-phases %standard-phases | 184 | (chdir "cpp") |
| 185 | (delete 'configure) ; No ./configure script | 185 | #t))))) |
| 186 | ;; Only build the C++ variant. | 186 | (synopsis "QR Code generator library") |
| 187 | (add-after 'unpack 'chdir | 187 | (description "qrcodegen-cpp is a QR code generator library in C++. The |
| 188 | (lambda _ | ||
| 189 | (chdir "cpp") | ||
| 190 | #t))))) | ||
| 191 | (synopsis "QR Code generator library") | ||
| 192 | (description "qrcodegen-cpp is a QR code generator library in C++. The | ||
| 193 | project also offers Java, Javascript, Python, C, and Rust implementations.") | 188 | project also offers Java, Javascript, Python, C, and Rust implementations.") |
| 194 | (home-page "https://www.nayuki.io/page/qr-code-generator-library") | 189 | (home-page "https://www.nayuki.io/page/qr-code-generator-library") |
| 195 | (license license:expat)))) | 190 | (license license:expat))) |
diff --git a/gnu/packages/augeas.scm b/gnu/packages/augeas.scm index fcba5bae7b8..b3c4803e04c 100644 --- a/gnu/packages/augeas.scm +++ b/gnu/packages/augeas.scm | |||
| @@ -2,6 +2,7 @@ | |||
| 2 | ;;; Copyright © 2016, 2017, 2018 Ricardo Wurmus <rekado@elephly.net> | 2 | ;;; Copyright © 2016, 2017, 2018 Ricardo Wurmus <rekado@elephly.net> |
| 3 | ;;; Copyright © 2017, 2018 Efraim Flashner <efraim@flashner.co.il> | 3 | ;;; Copyright © 2017, 2018 Efraim Flashner <efraim@flashner.co.il> |
| 4 | ;;; Copyright © 2017 Eric Bavier <bavier@member.fsf.org> | 4 | ;;; Copyright © 2017 Eric Bavier <bavier@member.fsf.org> |
| 5 | ;;; Copyright © 2020 Tobias Geerinckx-Rice <me@tobias.gr> | ||
| 5 | ;;; | 6 | ;;; |
| 6 | ;;; This file is part of GNU Guix. | 7 | ;;; This file is part of GNU Guix. |
| 7 | ;;; | 8 | ;;; |
| @@ -32,23 +33,23 @@ | |||
| 32 | (define-public augeas | 33 | (define-public augeas |
| 33 | (package | 34 | (package |
| 34 | (name "augeas") | 35 | (name "augeas") |
| 35 | (version "1.11.0") | 36 | (version "1.12.0") |
| 36 | (source (origin | 37 | (source (origin |
| 37 | (method url-fetch) | 38 | (method url-fetch) |
| 38 | (uri (string-append "http://download.augeas.net/augeas-" | 39 | (uri (string-append "http://download.augeas.net/augeas-" |
| 39 | version ".tar.gz")) | 40 | version ".tar.gz")) |
| 40 | (sha256 | 41 | (sha256 |
| 41 | (base32 | 42 | (base32 |
| 42 | "1c507qj6dfn2dnsl27w94zs9r45xrgm07y8bqba9ry2s0psfhg1r")))) | 43 | "11ybhb13wkkilsn7b416a1dn61m1xrq0lbdpkhp5w61jrk4l469j")))) |
| 43 | (build-system gnu-build-system) | 44 | (build-system gnu-build-system) |
| 44 | ;; Marked as "required" in augeas.pc | 45 | ;; Marked as "required" in augeas.pc. |
| 45 | (propagated-inputs | 46 | (propagated-inputs |
| 46 | `(("libxml2" ,libxml2))) | 47 | `(("libxml2" ,libxml2))) |
| 47 | (inputs | 48 | (inputs |
| 48 | `(("readline" ,readline))) | 49 | `(("readline" ,readline))) |
| 49 | (native-inputs | 50 | (native-inputs |
| 50 | `(("pkg-config" ,pkg-config))) | 51 | `(("pkg-config" ,pkg-config))) |
| 51 | (home-page "http://augeas.net/") | 52 | (home-page "https://augeas.net") |
| 52 | (synopsis "Edit configuration files programmatically") | 53 | (synopsis "Edit configuration files programmatically") |
| 53 | (description | 54 | (description |
| 54 | "Augeas is a library and command line tool for programmatically editing | 55 | "Augeas is a library and command line tool for programmatically editing |
diff --git a/gnu/packages/backup.scm b/gnu/packages/backup.scm index 97c7be48ca0..149f857a41b 100644 --- a/gnu/packages/backup.scm +++ b/gnu/packages/backup.scm | |||
| @@ -92,6 +92,7 @@ | |||
| 92 | ("par2cmdline" ,par2cmdline) | 92 | ("par2cmdline" ,par2cmdline) |
| 93 | ("python-pexpect" ,python2-pexpect) | 93 | ("python-pexpect" ,python2-pexpect) |
| 94 | ("python-fasteners" ,python2-fasteners) | 94 | ("python-fasteners" ,python2-fasteners) |
| 95 | ("tzdata" ,tzdata-for-tests) | ||
| 95 | ("mock" ,python2-mock))) | 96 | ("mock" ,python2-mock))) |
| 96 | (propagated-inputs | 97 | (propagated-inputs |
| 97 | `(("lockfile" ,python2-lockfile) | 98 | `(("lockfile" ,python2-lockfile) |
| @@ -100,8 +101,7 @@ | |||
| 100 | `(("librsync" ,librsync-0.9) | 101 | `(("librsync" ,librsync-0.9) |
| 101 | ("lftp" ,lftp) | 102 | ("lftp" ,lftp) |
| 102 | ("gnupg" ,gnupg) ; gpg executable needed | 103 | ("gnupg" ,gnupg) ; gpg executable needed |
| 103 | ("util-linux" ,util-linux) ; for setsid | 104 | ("util-linux" ,util-linux))) ; for setsid |
| 104 | ("tzdata" ,tzdata))) | ||
| 105 | (arguments | 105 | (arguments |
| 106 | `(#:python ,python-2 ; setup assumes Python 2 | 106 | `(#:python ,python-2 ; setup assumes Python 2 |
| 107 | #:test-target "test" | 107 | #:test-target "test" |
diff --git a/gnu/packages/bioconductor.scm b/gnu/packages/bioconductor.scm index a49c05dbce4..68d8e5b5742 100644 --- a/gnu/packages/bioconductor.scm +++ b/gnu/packages/bioconductor.scm | |||
| @@ -2313,6 +2313,8 @@ possible, parallelization is achieved using the BiocParallel framework.") | |||
| 2313 | ("r-tidyr" ,r-tidyr) | 2313 | ("r-tidyr" ,r-tidyr) |
| 2314 | ("r-tidyselect" ,r-tidyselect) | 2314 | ("r-tidyselect" ,r-tidyselect) |
| 2315 | ("r-vim" ,r-vim))) | 2315 | ("r-vim" ,r-vim))) |
| 2316 | (native-inputs | ||
| 2317 | `(("r-nbconvertr" ,r-nbconvertr))) ; for vignettes | ||
| 2316 | (home-page "https://bioconductor.org/packages/destiny/") | 2318 | (home-page "https://bioconductor.org/packages/destiny/") |
| 2317 | (synopsis "Create and plot diffusion maps") | 2319 | (synopsis "Create and plot diffusion maps") |
| 2318 | (description "This package provides tools to create and plot diffusion | 2320 | (description "This package provides tools to create and plot diffusion |
| @@ -3529,6 +3531,8 @@ to multiple hypothesis correction.") | |||
| 3529 | ("r-qvalue" ,r-qvalue) | 3531 | ("r-qvalue" ,r-qvalue) |
| 3530 | ("r-reshape2" ,r-reshape2) | 3532 | ("r-reshape2" ,r-reshape2) |
| 3531 | ("r-s4vectors" ,r-s4vectors))) | 3533 | ("r-s4vectors" ,r-s4vectors))) |
| 3534 | (native-inputs | ||
| 3535 | `(("r-knitr" ,r-knitr))) | ||
| 3532 | (home-page "https://guangchuangyu.github.io/software/DOSE/") | 3536 | (home-page "https://guangchuangyu.github.io/software/DOSE/") |
| 3533 | (synopsis "Disease ontology semantic and enrichment analysis") | 3537 | (synopsis "Disease ontology semantic and enrichment analysis") |
| 3534 | (description | 3538 | (description |
| @@ -3899,6 +3903,8 @@ further downstream analysis on its output.") | |||
| 3899 | `(("r-biocparallel" ,r-biocparallel) | 3903 | `(("r-biocparallel" ,r-biocparallel) |
| 3900 | ("r-ellipse" ,r-ellipse) | 3904 | ("r-ellipse" ,r-ellipse) |
| 3901 | ("r-ggplot2" ,r-ggplot2))) | 3905 | ("r-ggplot2" ,r-ggplot2))) |
| 3906 | (native-inputs | ||
| 3907 | `(("r-knitr" ,r-knitr))) | ||
| 3902 | (home-page "https://bioconductor.org/packages/bacon/") | 3908 | (home-page "https://bioconductor.org/packages/bacon/") |
| 3903 | (synopsis "Controlling bias and inflation in association studies") | 3909 | (synopsis "Controlling bias and inflation in association studies") |
| 3904 | (description | 3910 | (description |
| @@ -6733,6 +6739,8 @@ using whole genome sequencing data.") | |||
| 6733 | `(("r-data-table" ,r-data-table) | 6739 | `(("r-data-table" ,r-data-table) |
| 6734 | ("r-ggplot2" ,r-ggplot2) | 6740 | ("r-ggplot2" ,r-ggplot2) |
| 6735 | ("r-metap" ,r-metap))) | 6741 | ("r-metap" ,r-metap))) |
| 6742 | (native-inputs | ||
| 6743 | `(("r-knitr" ,r-knitr))) | ||
| 6736 | (home-page "https://cran.r-project.org/web/packages/ActivePathways/") | 6744 | (home-page "https://cran.r-project.org/web/packages/ActivePathways/") |
| 6737 | (synopsis "Multivariate pathway enrichment analysis") | 6745 | (synopsis "Multivariate pathway enrichment analysis") |
| 6738 | (description | 6746 | (description |
| @@ -7105,6 +7113,8 @@ structures.") | |||
| 7105 | ("r-rjson" ,r-rjson) | 7113 | ("r-rjson" ,r-rjson) |
| 7106 | ("r-rsqlite" ,r-rsqlite) | 7114 | ("r-rsqlite" ,r-rsqlite) |
| 7107 | ("r-xml" ,r-xml))) | 7115 | ("r-xml" ,r-xml))) |
| 7116 | (native-inputs | ||
| 7117 | `(("r-knitr" ,r-knitr))) | ||
| 7108 | (home-page "https://github.com/TylerBackman/bioassayR") | 7118 | (home-page "https://github.com/TylerBackman/bioassayR") |
| 7109 | (synopsis "Cross-target analysis of small molecule bioactivity") | 7119 | (synopsis "Cross-target analysis of small molecule bioactivity") |
| 7110 | (description | 7120 | (description |
diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm index cb4cfd58af3..e23bafa6235 100644 --- a/gnu/packages/bioinformatics.scm +++ b/gnu/packages/bioinformatics.scm | |||
| @@ -2399,13 +2399,13 @@ files.") | |||
| 2399 | (define-public python-pybigwig | 2399 | (define-public python-pybigwig |
| 2400 | (package | 2400 | (package |
| 2401 | (name "python-pybigwig") | 2401 | (name "python-pybigwig") |
| 2402 | (version "0.3.12") | 2402 | (version "0.3.17") |
| 2403 | (source (origin | 2403 | (source (origin |
| 2404 | (method url-fetch) | 2404 | (method url-fetch) |
| 2405 | (uri (pypi-uri "pyBigWig" version)) | 2405 | (uri (pypi-uri "pyBigWig" version)) |
| 2406 | (sha256 | 2406 | (sha256 |
| 2407 | (base32 | 2407 | (base32 |
| 2408 | "00w4kfnm2c5l7wdwr2nj1z5djv8kzgf7h1zhsgv6njff1rwr26g0")) | 2408 | "157x6v48y299zm382krf1dw08fdxg95im8lnabhp5vc94s04zxj1")) |
| 2409 | (modules '((guix build utils))) | 2409 | (modules '((guix build utils))) |
| 2410 | (snippet | 2410 | (snippet |
| 2411 | '(begin | 2411 | '(begin |
| @@ -13642,32 +13642,34 @@ fasta subsequences.") | |||
| 13642 | (define-public python-cooler | 13642 | (define-public python-cooler |
| 13643 | (package | 13643 | (package |
| 13644 | (name "python-cooler") | 13644 | (name "python-cooler") |
| 13645 | (version "0.7.11") | 13645 | (version "0.8.7") |
| 13646 | (source | 13646 | (source |
| 13647 | (origin | 13647 | (origin |
| 13648 | (method url-fetch) | 13648 | (method url-fetch) |
| 13649 | (uri (pypi-uri "cooler" version)) | 13649 | (uri (pypi-uri "cooler" version)) |
| 13650 | (sha256 | 13650 | (sha256 |
| 13651 | (base32 | 13651 | (base32 |
| 13652 | "08k5nxnxa6qsbk15z5z0q01n28042k87wi4905hh95rzqib15mhx")))) | 13652 | "01g6gqix9ba27sappz6nfyiwabzrlf8i5fn8kwcz8ra356cq9crp")))) |
| 13653 | (build-system python-build-system) | 13653 | (build-system python-build-system) |
| 13654 | (propagated-inputs | 13654 | (propagated-inputs |
| 13655 | `(("python-biopython" ,python-biopython) | 13655 | `(("python-asciitree" ,python-asciitree) |
| 13656 | ("python-biopython" ,python-biopython) | ||
| 13656 | ("python-click" ,python-click) | 13657 | ("python-click" ,python-click) |
| 13657 | ("python-cytoolz" ,python-cytoolz) | 13658 | ("python-cytoolz" ,python-cytoolz) |
| 13658 | ("python-dask" ,python-dask) | 13659 | ("python-dask" ,python-dask) |
| 13659 | ("python-h5py" ,python-h5py) | 13660 | ("python-h5py" ,python-h5py) |
| 13660 | ("python-multiprocess" ,python-multiprocess) | 13661 | ("python-multiprocess" ,python-multiprocess) |
| 13662 | ("python-numpy" ,python-numpy) | ||
| 13661 | ("python-pandas" ,python-pandas) | 13663 | ("python-pandas" ,python-pandas) |
| 13662 | ("python-pyfaidx" ,python-pyfaidx) | 13664 | ("python-pyfaidx" ,python-pyfaidx) |
| 13663 | ("python-pypairix" ,python-pypairix) | 13665 | ("python-pypairix" ,python-pypairix) |
| 13664 | ("python-pysam" ,python-pysam) | 13666 | ("python-pysam" ,python-pysam) |
| 13665 | ("python-scipy" ,python-scipy))) | 13667 | ("python-pyyaml" ,python-pyyaml) |
| 13668 | ("python-scipy" ,python-scipy) | ||
| 13669 | ("python-simplejson" ,python-simplejson))) | ||
| 13666 | (native-inputs | 13670 | (native-inputs |
| 13667 | `(("python-mock" ,python-mock) | 13671 | `(("python-mock" ,python-mock) |
| 13668 | ("python-nose" ,python-nose) | 13672 | ("python-pytest" ,python-pytest))) |
| 13669 | ("python-numpydoc" ,python-numpydoc) | ||
| 13670 | ("python-sphinx" ,python-sphinx))) | ||
| 13671 | (home-page "https://github.com/mirnylab/cooler") | 13673 | (home-page "https://github.com/mirnylab/cooler") |
| 13672 | (synopsis "Sparse binary format for genomic interaction matrices") | 13674 | (synopsis "Sparse binary format for genomic interaction matrices") |
| 13673 | (description | 13675 | (description |
| @@ -13676,6 +13678,46 @@ storage format, called @code{cool}, used to store genomic interaction data, | |||
| 13676 | such as Hi-C contact matrices.") | 13678 | such as Hi-C contact matrices.") |
| 13677 | (license license:bsd-3))) | 13679 | (license license:bsd-3))) |
| 13678 | 13680 | ||
| 13681 | (define-public python-hicmatrix | ||
| 13682 | (package | ||
| 13683 | (name "python-hicmatrix") | ||
| 13684 | (version "12") | ||
| 13685 | (source | ||
| 13686 | (origin | ||
| 13687 | ;; Version 12 is not available on pypi. | ||
| 13688 | (method git-fetch) | ||
| 13689 | (uri (git-reference | ||
| 13690 | (url "https://github.com/deeptools/HiCMatrix.git") | ||
| 13691 | (commit version))) | ||
| 13692 | (file-name (git-file-name name version)) | ||
| 13693 | (sha256 | ||
| 13694 | (base32 | ||
| 13695 | "1xhdyx16f3brgxgxybixdi64ki8nbbkq5vk4h9ahi11pzpjfn1pj")))) | ||
| 13696 | (build-system python-build-system) | ||
| 13697 | (arguments | ||
| 13698 | `(#:phases | ||
| 13699 | (modify-phases %standard-phases | ||
| 13700 | (add-after 'unpack 'relax-requirements | ||
| 13701 | (lambda _ | ||
| 13702 | (substitute* '("requirements.txt" | ||
| 13703 | "setup.py") | ||
| 13704 | (("cooler *=+ *0.8.5") | ||
| 13705 | "cooler==0.8.*")) | ||
| 13706 | #t))))) | ||
| 13707 | (propagated-inputs | ||
| 13708 | `(("python-cooler" ,python-cooler) | ||
| 13709 | ("python-intervaltree" ,python-intervaltree) | ||
| 13710 | ("python-numpy" ,python-numpy) | ||
| 13711 | ("python-pandas" ,python-pandas) | ||
| 13712 | ("python-scipy" ,python-scipy) | ||
| 13713 | ("python-tables" ,python-tables))) | ||
| 13714 | (home-page "https://github.com/deeptools/HiCMatrix/") | ||
| 13715 | (synopsis "HiCMatrix class for HiCExplorer and pyGenomeTracks") | ||
| 13716 | (description | ||
| 13717 | "This helper package implements the @code{HiCMatrix} class for | ||
| 13718 | the HiCExplorer and pyGenomeTracks packages.") | ||
| 13719 | (license license:gpl3+))) | ||
| 13720 | |||
| 13679 | (define-public python-hicexplorer | 13721 | (define-public python-hicexplorer |
| 13680 | (package | 13722 | (package |
| 13681 | (name "python-hicexplorer") | 13723 | (name "python-hicexplorer") |
| @@ -13732,23 +13774,35 @@ genomic scores), long range contacts and the visualization of viewpoints.") | |||
| 13732 | (define-public python-pygenometracks | 13774 | (define-public python-pygenometracks |
| 13733 | (package | 13775 | (package |
| 13734 | (name "python-pygenometracks") | 13776 | (name "python-pygenometracks") |
| 13735 | (version "2.0") | 13777 | (version "3.3") |
| 13736 | (source | 13778 | (source |
| 13737 | (origin | 13779 | (origin |
| 13738 | (method url-fetch) | 13780 | (method url-fetch) |
| 13739 | (uri (pypi-uri "pyGenomeTracks" version)) | 13781 | (uri (pypi-uri "pyGenomeTracks" version)) |
| 13740 | (sha256 | 13782 | (sha256 |
| 13741 | (base32 | 13783 | (base32 |
| 13742 | "1fws6bqsyy9kj3qiabhkqx4wd4i775gsxnhszqd3zg7w67sc1ic5")))) | 13784 | "16laa0wnf4qn9fb9ych4w1vqhqwjss70v0y0f6wp4gwqfrlgac0f")))) |
| 13743 | (build-system python-build-system) | 13785 | (build-system python-build-system) |
| 13786 | (arguments | ||
| 13787 | `(#:tests? #f ; there are none | ||
| 13788 | #:phases | ||
| 13789 | (modify-phases %standard-phases | ||
| 13790 | (add-after 'unpack 'relax-requirements | ||
| 13791 | (lambda _ | ||
| 13792 | (substitute* "setup.py" | ||
| 13793 | (("matplotlib ==3.1.1") | ||
| 13794 | "matplotlib >=3.1.1")) | ||
| 13795 | #t))))) | ||
| 13744 | (propagated-inputs | 13796 | (propagated-inputs |
| 13745 | `(("python-configparser" ,python-configparser) | 13797 | `(("python-future" ,python-future) |
| 13746 | ("python-future" ,python-future) | 13798 | ("python-gffutils" ,python-gffutils) |
| 13747 | ("python-hicexplorer" ,python-hicexplorer) | 13799 | ("python-hicmatrix" ,python-hicmatrix) |
| 13748 | ("python-intervaltree" ,python-intervaltree) | 13800 | ("python-intervaltree" ,python-intervaltree) |
| 13749 | ("python-matplotlib" ,python-matplotlib) | 13801 | ("python-matplotlib" ,python-matplotlib) |
| 13750 | ("python-numpy" ,python-numpy) | 13802 | ("python-numpy" ,python-numpy) |
| 13751 | ("python-pybigwig" ,python-pybigwig))) | 13803 | ("python-pybigwig" ,python-pybigwig) |
| 13804 | ("python-pysam" ,python-pysam) | ||
| 13805 | ("python-tqdm" ,python-tqdm))) | ||
| 13752 | (native-inputs | 13806 | (native-inputs |
| 13753 | `(("python-pytest" ,python-pytest))) | 13807 | `(("python-pytest" ,python-pytest))) |
| 13754 | (home-page "https://pygenometracks.readthedocs.io") | 13808 | (home-page "https://pygenometracks.readthedocs.io") |
diff --git a/gnu/packages/calendar.scm b/gnu/packages/calendar.scm index 5132a9d8ab5..104d61148ae 100644 --- a/gnu/packages/calendar.scm +++ b/gnu/packages/calendar.scm | |||
| @@ -186,7 +186,17 @@ data units.") | |||
| 186 | (uri (pypi-uri "khal" version)) | 186 | (uri (pypi-uri "khal" version)) |
| 187 | (sha256 | 187 | (sha256 |
| 188 | (base32 | 188 | (base32 |
| 189 | "1r8bkgjwkh7i8ygvsv51h1cnax50sb183vafg66x5snxf3dgjl6l")))) | 189 | "1r8bkgjwkh7i8ygvsv51h1cnax50sb183vafg66x5snxf3dgjl6l")) |
| 190 | (patches | ||
| 191 | (list | ||
| 192 | (origin | ||
| 193 | (method url-fetch) | ||
| 194 | ;; This patch fixes an issue with python-urwid-2.1.0 | ||
| 195 | (uri "https://github.com/pimutils/khal/commit/2c5990c2de2015b251ba23617faa40ee11b8c22a.patch") | ||
| 196 | (file-name "khal-compat-urwid-2.1.0.patch") | ||
| 197 | (sha256 | ||
| 198 | (base32 | ||
| 199 | "11nd8hkjz68imwqqn0p54zmb53z2pfxmzchaviy7jc1ky5s9l663"))))))) | ||
| 190 | (build-system python-build-system) | 200 | (build-system python-build-system) |
| 191 | (arguments | 201 | (arguments |
| 192 | `(#:phases (modify-phases %standard-phases | 202 | `(#:phases (modify-phases %standard-phases |
| @@ -219,9 +229,8 @@ data units.") | |||
| 219 | ("python-sphinxcontrib-newsfeed" ,python-sphinxcontrib-newsfeed) | 229 | ("python-sphinxcontrib-newsfeed" ,python-sphinxcontrib-newsfeed) |
| 220 | ("python-sphinx" ,python-sphinx))) | 230 | ("python-sphinx" ,python-sphinx))) |
| 221 | (inputs | 231 | (inputs |
| 222 | `(("sqlite" ,sqlite))) | 232 | `(("sqlite" ,sqlite) |
| 223 | (propagated-inputs | 233 | ("python-configobj" ,python-configobj) |
| 224 | `(("python-configobj" ,python-configobj) | ||
| 225 | ("python-dateutil" ,python-dateutil) | 234 | ("python-dateutil" ,python-dateutil) |
| 226 | ("python-icalendar" ,python-icalendar) | 235 | ("python-icalendar" ,python-icalendar) |
| 227 | ("python-tzlocal" ,python-tzlocal) | 236 | ("python-tzlocal" ,python-tzlocal) |
diff --git a/gnu/packages/chromium.scm b/gnu/packages/chromium.scm index d92d463e033..4755a940258 100644 --- a/gnu/packages/chromium.scm +++ b/gnu/packages/chromium.scm | |||
| @@ -248,7 +248,7 @@ from forcing GEXP-PROMISE." | |||
| 248 | #:system system | 248 | #:system system |
| 249 | #:guile-for-build guile))) | 249 | #:guile-for-build guile))) |
| 250 | 250 | ||
| 251 | (define %chromium-version "81.0.4044.92") | 251 | (define %chromium-version "81.0.4044.113") |
| 252 | (define %ungoogled-revision "b484ad4c0bdb696c86d941798ae6b0e2bd0db35d") | 252 | (define %ungoogled-revision "b484ad4c0bdb696c86d941798ae6b0e2bd0db35d") |
| 253 | (define %debian-revision "debian/81.0.4044.92-1") | 253 | (define %debian-revision "debian/81.0.4044.92-1") |
| 254 | (define package-revision "0") | 254 | (define package-revision "0") |
| @@ -264,7 +264,7 @@ from forcing GEXP-PROMISE." | |||
| 264 | %chromium-version ".tar.xz")) | 264 | %chromium-version ".tar.xz")) |
| 265 | (sha256 | 265 | (sha256 |
| 266 | (base32 | 266 | (base32 |
| 267 | "0i0szd749ihb08rxnsmsbxq75b6x952wpk94jwc0ncv6gb83zkx2")))) | 267 | "0hsxxw7fm1p8g53msqb644v8vr4cpvjmpln444c2268rm43yik17")))) |
| 268 | 268 | ||
| 269 | (define %ungoogled-origin | 269 | (define %ungoogled-origin |
| 270 | (origin | 270 | (origin |
diff --git a/gnu/packages/ci.scm b/gnu/packages/ci.scm index a5474e0a96a..39aa54a9e8a 100644 --- a/gnu/packages/ci.scm +++ b/gnu/packages/ci.scm | |||
| @@ -3,7 +3,7 @@ | |||
| 3 | ;;; Copyright © 2016 Jan Nieuwenhuizen <janneke@gnu.org> | 3 | ;;; Copyright © 2016 Jan Nieuwenhuizen <janneke@gnu.org> |
| 4 | ;;; Copyright © 2016, 2017 Mathieu Lirzin <mthl@gnu.org> | 4 | ;;; Copyright © 2016, 2017 Mathieu Lirzin <mthl@gnu.org> |
| 5 | ;;; Copyright © 2017 Mathieu Othacehe <m.othacehe@gmail.com> | 5 | ;;; Copyright © 2017 Mathieu Othacehe <m.othacehe@gmail.com> |
| 6 | ;;; Copyright © 2017, 2019 Ricardo Wurmus <rekado@elephly.net> | 6 | ;;; Copyright © 2017, 2019, 2020 Ricardo Wurmus <rekado@elephly.net> |
| 7 | ;;; Copyright © 2018 Clément Lassieur <clement@lassieur.org> | 7 | ;;; Copyright © 2018 Clément Lassieur <clement@lassieur.org> |
| 8 | ;;; | 8 | ;;; |
| 9 | ;;; This file is part of GNU Guix. | 9 | ;;; This file is part of GNU Guix. |
| @@ -47,20 +47,20 @@ | |||
| 47 | #:use-module (guix build-system gnu)) | 47 | #:use-module (guix build-system gnu)) |
| 48 | 48 | ||
| 49 | (define-public cuirass | 49 | (define-public cuirass |
| 50 | (let ((commit "b9031db946ff89a39e1507b430f64402b0e9572a") | 50 | (let ((commit "27af1d34646f4e3fca09283cb52caa8b89cbb2b1") |
| 51 | (revision "28")) | 51 | (revision "29")) |
| 52 | (package | 52 | (package |
| 53 | (name "cuirass") | 53 | (name "cuirass") |
| 54 | (version (string-append "0.0.1-" revision "." (string-take commit 7))) | 54 | (version (git-version "0.0.1" revision commit)) |
| 55 | (source (origin | 55 | (source (origin |
| 56 | (method git-fetch) | 56 | (method git-fetch) |
| 57 | (uri (git-reference | 57 | (uri (git-reference |
| 58 | (url "https://git.savannah.gnu.org/git/guix/guix-cuirass.git") | 58 | (url "https://git.savannah.gnu.org/git/guix/guix-cuirass.git") |
| 59 | (commit commit))) | 59 | (commit commit))) |
| 60 | (file-name (string-append name "-" version)) | 60 | (file-name (git-file-name name version)) |
| 61 | (sha256 | 61 | (sha256 |
| 62 | (base32 | 62 | (base32 |
| 63 | "103smfbdpgaw17xw3vc9cb3nfisrx64k71rpzn8g35f3jz7bxdcf")))) | 63 | "199fzv4d18qslcggl7lj42ib600nckp0c40x7ahnb4rgnjw8ppyi")))) |
| 64 | (build-system gnu-build-system) | 64 | (build-system gnu-build-system) |
| 65 | (arguments | 65 | (arguments |
| 66 | '(#:modules ((guix build utils) | 66 | '(#:modules ((guix build utils) |
diff --git a/gnu/packages/compression.scm b/gnu/packages/compression.scm index dfec9ac2779..72c6d93cfc6 100644 --- a/gnu/packages/compression.scm +++ b/gnu/packages/compression.scm | |||
| @@ -503,7 +503,7 @@ than gzip and 15 % smaller output than bzip2.") | |||
| 503 | "/share/zoneinfo")) | 503 | "/share/zoneinfo")) |
| 504 | #t))))) | 504 | #t))))) |
| 505 | (native-inputs | 505 | (native-inputs |
| 506 | `(("tzdata" ,tzdata))) | 506 | `(("tzdata" ,tzdata-for-tests))) |
| 507 | (home-page "https://fragglet.github.com/lhasa/") | 507 | (home-page "https://fragglet.github.com/lhasa/") |
| 508 | (synopsis "LHA archive decompressor") | 508 | (synopsis "LHA archive decompressor") |
| 509 | (description "Lhasa is a replacement for the Unix LHA tool, for | 509 | (description "Lhasa is a replacement for the Unix LHA tool, for |
diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index e8b635ac168..cd2fea59969 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm | |||
| @@ -12306,6 +12306,8 @@ select colors to use in your R code.") | |||
| 12306 | ("r-scales" ,r-scales) | 12306 | ("r-scales" ,r-scales) |
| 12307 | ("r-shiny" ,r-shiny) | 12307 | ("r-shiny" ,r-shiny) |
| 12308 | ("r-shinyjs" ,r-shinyjs))) | 12308 | ("r-shinyjs" ,r-shinyjs))) |
| 12309 | (native-inputs | ||
| 12310 | `(("r-knitr" ,r-knitr))) | ||
| 12309 | (home-page "https://github.com/daattali/ggExtra") | 12311 | (home-page "https://github.com/daattali/ggExtra") |
| 12310 | (synopsis "Marginal histograms for ggplot2 and other enhancements") | 12312 | (synopsis "Marginal histograms for ggplot2 and other enhancements") |
| 12311 | (description | 12313 | (description |
| @@ -18006,6 +18008,8 @@ allowed.") | |||
| 18006 | ("r-rsolnp" ,r-rsolnp) | 18008 | ("r-rsolnp" ,r-rsolnp) |
| 18007 | ("r-shiny" ,r-shiny) | 18009 | ("r-shiny" ,r-shiny) |
| 18008 | ("r-shinydashboard" ,r-shinydashboard))) | 18010 | ("r-shinydashboard" ,r-shinydashboard))) |
| 18011 | (native-inputs | ||
| 18012 | `(("r-knitr" ,r-knitr))) | ||
| 18009 | (home-page "https://github.com/Wenchao-Ma/GDINA") | 18013 | (home-page "https://github.com/Wenchao-Ma/GDINA") |
| 18010 | (synopsis "Generalized DINA model framework") | 18014 | (synopsis "Generalized DINA model framework") |
| 18011 | (description | 18015 | (description |
| @@ -20620,7 +20624,7 @@ techniques to average Bayesian predictive distributions.") | |||
| 20620 | "/share/zoneinfo")) | 20624 | "/share/zoneinfo")) |
| 20621 | #t))))) | 20625 | #t))))) |
| 20622 | (native-inputs | 20626 | (native-inputs |
| 20623 | `(("tzdata" ,tzdata) | 20627 | `(("tzdata" ,tzdata-for-tests) |
| 20624 | ("pandoc" ,ghc-pandoc))) | 20628 | ("pandoc" ,ghc-pandoc))) |
| 20625 | (propagated-inputs | 20629 | (propagated-inputs |
| 20626 | `(("r-bh" ,r-bh) | 20630 | `(("r-bh" ,r-bh) |
| @@ -21102,3 +21106,28 @@ client).") | |||
| 21102 | designs with and without early outcomes for treatment selection and | 21106 | designs with and without early outcomes for treatment selection and |
| 21103 | subpopulation type designs.") | 21107 | subpopulation type designs.") |
| 21104 | (license license:gpl3))) | 21108 | (license license:gpl3))) |
| 21109 | |||
| 21110 | (define-public r-nbconvertr | ||
| 21111 | (package | ||
| 21112 | (name "r-nbconvertr") | ||
| 21113 | (version "1.3.2") | ||
| 21114 | (source | ||
| 21115 | (origin | ||
| 21116 | (method url-fetch) | ||
| 21117 | (uri (cran-uri "nbconvertR" version)) | ||
| 21118 | (sha256 | ||
| 21119 | (base32 | ||
| 21120 | "0yhmz177r1miain65vspclahhz8cg7638ldbpsw8ylgf7a60l0sg")))) | ||
| 21121 | (properties `((upstream-name . "nbconvertR"))) | ||
| 21122 | (build-system r-build-system) | ||
| 21123 | (inputs | ||
| 21124 | `(("jupyter" ,python-nbconvert) | ||
| 21125 | ("pandoc" ,ghc-pandoc))) | ||
| 21126 | (home-page "https://cran.r-project.org/web/packages/nbconvertR/") | ||
| 21127 | (synopsis "Vignette engine wrapping Jupyter notebooks") | ||
| 21128 | (description | ||
| 21129 | "This package calls the Jupyter script @code{nbconvert} to create | ||
| 21130 | vignettes from notebooks. Those notebooks (@code{.ipynb} files) are files | ||
| 21131 | containing rich text, code, and its output. Code cells can be edited and | ||
| 21132 | evaluated interactively.") | ||
| 21133 | (license license:gpl3))) | ||
diff --git a/gnu/packages/databases.scm b/gnu/packages/databases.scm index 09568aec370..ccbcfca005c 100644 --- a/gnu/packages/databases.scm +++ b/gnu/packages/databases.scm | |||
| @@ -508,7 +508,7 @@ replacement for the code@{python-memcached} library.") | |||
| 508 | ("python" ,python-2) | 508 | ("python" ,python-2) |
| 509 | ("python2-pymongo" ,python2-pymongo) | 509 | ("python2-pymongo" ,python2-pymongo) |
| 510 | ("python2-pyyaml" ,python2-pyyaml) | 510 | ("python2-pyyaml" ,python2-pyyaml) |
| 511 | ("tzdata" ,tzdata))) | 511 | ("tzdata" ,tzdata-for-tests))) |
| 512 | (arguments | 512 | (arguments |
| 513 | `(#:scons ,scons-python2 | 513 | `(#:scons ,scons-python2 |
| 514 | #:phases | 514 | #:phases |
diff --git a/gnu/packages/diffoscope.scm b/gnu/packages/diffoscope.scm index 37f8f74b7bc..71c0039dfb0 100644 --- a/gnu/packages/diffoscope.scm +++ b/gnu/packages/diffoscope.scm | |||
| @@ -45,6 +45,7 @@ | |||
| 45 | #:use-module (gnu packages linux) | 45 | #:use-module (gnu packages linux) |
| 46 | #:use-module (gnu packages llvm) | 46 | #:use-module (gnu packages llvm) |
| 47 | #:use-module (gnu packages man) | 47 | #:use-module (gnu packages man) |
| 48 | #:use-module (gnu packages maths) | ||
| 48 | #:use-module (gnu packages mono) | 49 | #:use-module (gnu packages mono) |
| 49 | #:use-module (gnu packages ocaml) | 50 | #:use-module (gnu packages ocaml) |
| 50 | #:use-module (gnu packages package-management) | 51 | #:use-module (gnu packages package-management) |
| @@ -68,7 +69,7 @@ | |||
| 68 | #:use-module (ice-9 match)) | 69 | #:use-module (ice-9 match)) |
| 69 | 70 | ||
| 70 | (define-public diffoscope | 71 | (define-public diffoscope |
| 71 | (let ((version "139")) | 72 | (let ((version "141")) |
| 72 | (package | 73 | (package |
| 73 | (name "diffoscope") | 74 | (name "diffoscope") |
| 74 | (version version) | 75 | (version version) |
| @@ -80,7 +81,7 @@ | |||
| 80 | (file-name (git-file-name name version)) | 81 | (file-name (git-file-name name version)) |
| 81 | (sha256 | 82 | (sha256 |
| 82 | (base32 | 83 | (base32 |
| 83 | "1k4yjyvmn5nfdapkwgkr9gzpn18kr4c58n0f32pfkx4yakfqkk4i")))) | 84 | "0pls2jryx394ysaz0g8h959lhrsdqak9bkxjd5r6sdckgiikplkj")))) |
| 84 | (build-system python-build-system) | 85 | (build-system python-build-system) |
| 85 | (arguments | 86 | (arguments |
| 86 | `(#:phases (modify-phases %standard-phases | 87 | `(#:phases (modify-phases %standard-phases |
| @@ -91,6 +92,12 @@ | |||
| 91 | (lambda _ | 92 | (lambda _ |
| 92 | (substitute* "setup.py" | 93 | (substitute* "setup.py" |
| 93 | (("'python-magic',") "")))) | 94 | (("'python-magic',") "")))) |
| 95 | ;; Patch in support for known tools | ||
| 96 | (add-after 'unpack 'add-known-tools | ||
| 97 | (lambda _ | ||
| 98 | (substitute* "diffoscope/external_tools.py" | ||
| 99 | (("'debian': 'hdf5-tools'") | ||
| 100 | "'debian': 'hdf5-tools', 'guix': 'hdf5'")))) | ||
| 94 | ;; This test is broken because our `file` package has a | 101 | ;; This test is broken because our `file` package has a |
| 95 | ;; bug in berkeley-db file type detection. | 102 | ;; bug in berkeley-db file type detection. |
| 96 | (add-after 'unpack 'remove-berkeley-test | 103 | (add-after 'unpack 'remove-berkeley-test |
| @@ -189,6 +196,7 @@ | |||
| 189 | ("giflib:bin" ,giflib "bin") | 196 | ("giflib:bin" ,giflib "bin") |
| 190 | ("gnumeric" ,gnumeric) | 197 | ("gnumeric" ,gnumeric) |
| 191 | ("gnupg" ,gnupg) | 198 | ("gnupg" ,gnupg) |
| 199 | ("hdf5" ,hdf5) | ||
| 192 | ("imagemagick" ,imagemagick) | 200 | ("imagemagick" ,imagemagick) |
| 193 | ("libarchive" ,libarchive) | 201 | ("libarchive" ,libarchive) |
| 194 | ("llvm" ,llvm) | 202 | ("llvm" ,llvm) |
diff --git a/gnu/packages/dns.scm b/gnu/packages/dns.scm index 869be47ad14..e1198d4381b 100644 --- a/gnu/packages/dns.scm +++ b/gnu/packages/dns.scm | |||
| @@ -115,7 +115,7 @@ and BOOTP/TFTP for network booting of diskless machines.") | |||
| 115 | (define-public isc-bind | 115 | (define-public isc-bind |
| 116 | (package | 116 | (package |
| 117 | (name "bind") | 117 | (name "bind") |
| 118 | (version "9.16.1") | 118 | (version "9.16.2") |
| 119 | (source (origin | 119 | (source (origin |
| 120 | (method url-fetch) | 120 | (method url-fetch) |
| 121 | (uri (string-append | 121 | (uri (string-append |
| @@ -123,7 +123,7 @@ and BOOTP/TFTP for network booting of diskless machines.") | |||
| 123 | "/bind-" version ".tar.xz")) | 123 | "/bind-" version ".tar.xz")) |
| 124 | (sha256 | 124 | (sha256 |
| 125 | (base32 | 125 | (base32 |
| 126 | "14ayswxnyaqwb935iqdi1w9ih3zs0a0va59j4cyi5f9mh7kxf4x9")))) | 126 | "0gwr4p14zy5jqq050n762rfc33km51qwipcwy6bsvk55ziybgrfr")))) |
| 127 | (build-system gnu-build-system) | 127 | (build-system gnu-build-system) |
| 128 | (outputs `("out" "utils")) | 128 | (outputs `("out" "utils")) |
| 129 | (inputs | 129 | (inputs |
diff --git a/gnu/packages/education.scm b/gnu/packages/education.scm index 836fc2b525b..a1fee29c4e9 100644 --- a/gnu/packages/education.scm +++ b/gnu/packages/education.scm | |||
| @@ -6,6 +6,7 @@ | |||
| 6 | ;;; Copyright © 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr> | 6 | ;;; Copyright © 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr> |
| 7 | ;;; Copyright © 2018, 2019, 2020 Nicolas Goaziou <mail@nicolasgoaziou.fr> | 7 | ;;; Copyright © 2018, 2019, 2020 Nicolas Goaziou <mail@nicolasgoaziou.fr> |
| 8 | ;;; Copyright © 2020 Robert Smith <robertsmith@posteo.net> | 8 | ;;; Copyright © 2020 Robert Smith <robertsmith@posteo.net> |
| 9 | ;;; Copyright © 2020 Guy Fleury Iteriteka <gfleury@disroot.org> | ||
| 9 | ;;; | 10 | ;;; |
| 10 | ;;; This file is part of GNU Guix. | 11 | ;;; This file is part of GNU Guix. |
| 11 | ;;; | 12 | ;;; |
| @@ -31,6 +32,7 @@ | |||
| 31 | #:use-module (gnu packages compression) | 32 | #:use-module (gnu packages compression) |
| 32 | #:use-module (gnu packages curl) | 33 | #:use-module (gnu packages curl) |
| 33 | #:use-module (gnu packages databases) | 34 | #:use-module (gnu packages databases) |
| 35 | #:use-module (gnu packages flex) | ||
| 34 | #:use-module (gnu packages fonts) | 36 | #:use-module (gnu packages fonts) |
| 35 | #:use-module (gnu packages freedesktop) | 37 | #:use-module (gnu packages freedesktop) |
| 36 | #:use-module (gnu packages game-development) | 38 | #:use-module (gnu packages game-development) |
| @@ -43,12 +45,14 @@ | |||
| 43 | #:use-module (gnu packages kde) | 45 | #:use-module (gnu packages kde) |
| 44 | #:use-module (gnu packages kde-frameworks) ; extra-cmake-modules | 46 | #:use-module (gnu packages kde-frameworks) ; extra-cmake-modules |
| 45 | #:use-module (gnu packages mp3) | 47 | #:use-module (gnu packages mp3) |
| 48 | #:use-module (gnu packages ncurses) | ||
| 46 | #:use-module (gnu packages perl) | 49 | #:use-module (gnu packages perl) |
| 47 | #:use-module (gnu packages pkg-config) | 50 | #:use-module (gnu packages pkg-config) |
| 48 | #:use-module (gnu packages python) | 51 | #:use-module (gnu packages python) |
| 49 | #:use-module (gnu packages python-web) | 52 | #:use-module (gnu packages python-web) |
| 50 | #:use-module (gnu packages python-xyz) | 53 | #:use-module (gnu packages python-xyz) |
| 51 | #:use-module (gnu packages qt) | 54 | #:use-module (gnu packages qt) |
| 55 | #:use-module (gnu packages readline) | ||
| 52 | #:use-module (gnu packages sdl) | 56 | #:use-module (gnu packages sdl) |
| 53 | #:use-module (gnu packages sqlite) | 57 | #:use-module (gnu packages sqlite) |
| 54 | #:use-module (gnu packages texinfo) | 58 | #:use-module (gnu packages texinfo) |
| @@ -935,3 +939,40 @@ TuxMath also includes Factoroids, a game that gives practice in | |||
| 935 | factoring numbers and simplifying fractions, as well as zapping rocks | 939 | factoring numbers and simplifying fractions, as well as zapping rocks |
| 936 | floating through space.") | 940 | floating through space.") |
| 937 | (license license:gpl3+))) | 941 | (license license:gpl3+))) |
| 942 | |||
| 943 | (define-public mdk | ||
| 944 | (package | ||
| 945 | (name "mdk") | ||
| 946 | (version "1.2.10") | ||
| 947 | (source | ||
| 948 | (origin | ||
| 949 | (method url-fetch) | ||
| 950 | (uri (string-append "mirror://gnu/mdk/v1.2.10/mdk-" | ||
| 951 | version ".tar.gz")) | ||
| 952 | (sha256 | ||
| 953 | (base32 | ||
| 954 | "1rwcq2b5vvv7318j92nxc5dayj27dpfhzc4rjiv4ccvsc0x35x5h")))) | ||
| 955 | (build-system gnu-build-system) | ||
| 956 | (arguments | ||
| 957 | `(#:configure-flags (list "--enable-gui=yes" "-with-readline=yes"))) | ||
| 958 | (native-inputs | ||
| 959 | `(("flex" ,flex) | ||
| 960 | ("pkg-config" ,pkg-config) | ||
| 961 | ("intltool" ,intltool) | ||
| 962 | ("ncurses" ,ncurses))) | ||
| 963 | (inputs | ||
| 964 | `(("readline" ,readline) | ||
| 965 | ("glib" ,glib) | ||
| 966 | ("gtk+" ,gtk+) | ||
| 967 | ("pango" ,pango) | ||
| 968 | ("libglade" ,libglade))) | ||
| 969 | (home-page "https://www.gnu.org/software/mdk/") | ||
| 970 | (synopsis "Virtual development environment for Knuth's MIX") | ||
| 971 | (description | ||
| 972 | "GNU MDK is the Mix Development Kit, an emulation of the pedagogical | ||
| 973 | computer MIX and its assembly language MIXAL. MIX has a virtual CPU with | ||
| 974 | standard features such as registers, memory cells, an overflow toggle, | ||
| 975 | comparison flags, input-output devices, and a set of binary instructions. | ||
| 976 | The package includes a compiler, a virtual machine, a GUI for the virtual | ||
| 977 | machine, and more.") | ||
| 978 | (license license:gpl3+))) | ||
diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm index 37c449f437d..b2b15af6795 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm | |||
| @@ -4975,7 +4975,7 @@ number.") | |||
| 4975 | (define-public emacs-org-superstar | 4975 | (define-public emacs-org-superstar |
| 4976 | (package | 4976 | (package |
| 4977 | (name "emacs-org-superstar") | 4977 | (name "emacs-org-superstar") |
| 4978 | (version "1.1.0") | 4978 | (version "1.2.1") |
| 4979 | (source | 4979 | (source |
| 4980 | (origin | 4980 | (origin |
| 4981 | (method git-fetch) | 4981 | (method git-fetch) |
| @@ -4984,7 +4984,7 @@ number.") | |||
| 4984 | (commit (string-append "v" version)))) | 4984 | (commit (string-append "v" version)))) |
| 4985 | (file-name (git-file-name name version)) | 4985 | (file-name (git-file-name name version)) |
| 4986 | (sha256 | 4986 | (sha256 |
| 4987 | (base32 "14aafqw8rnbmiy3kcw1a58vjxdyamrbmlldnlw018wgk0qqv0xpx")))) | 4987 | (base32 "14w06v76xi4f6hpq6xzicrjjv0b802g5zc9as4mpimfy5gx2xpm0")))) |
| 4988 | (build-system emacs-build-system) | 4988 | (build-system emacs-build-system) |
| 4989 | (propagated-inputs | 4989 | (propagated-inputs |
| 4990 | `(("emacs-org" ,emacs-org))) | 4990 | `(("emacs-org" ,emacs-org))) |
diff --git a/gnu/packages/file-systems.scm b/gnu/packages/file-systems.scm index e2c67e9126d..cc2ae2447ed 100644 --- a/gnu/packages/file-systems.scm +++ b/gnu/packages/file-systems.scm | |||
| @@ -249,7 +249,7 @@ from the jfsutils package. It is meant to be used in initrds.") | |||
| 249 | (define-public disorderfs | 249 | (define-public disorderfs |
| 250 | (package | 250 | (package |
| 251 | (name "disorderfs") | 251 | (name "disorderfs") |
| 252 | (version "0.5.8") | 252 | (version "0.5.9") |
| 253 | (source | 253 | (source |
| 254 | (origin | 254 | (origin |
| 255 | (method git-fetch) | 255 | (method git-fetch) |
| @@ -259,7 +259,7 @@ from the jfsutils package. It is meant to be used in initrds.") | |||
| 259 | (file-name (git-file-name name version)) | 259 | (file-name (git-file-name name version)) |
| 260 | (sha256 | 260 | (sha256 |
| 261 | (base32 | 261 | (base32 |
| 262 | "0pk9i0dycjq0wl6dp37r2hbadgpgmzbmjk2xpbjl36x4yrm4jns8")))) | 262 | "0irgr9hkm9icx1s44m9382484yx8hddzjxbsz621ip9c946pif0g")))) |
| 263 | (build-system gnu-build-system) | 263 | (build-system gnu-build-system) |
| 264 | (native-inputs | 264 | (native-inputs |
| 265 | `(("pkg-config" ,pkg-config))) | 265 | `(("pkg-config" ,pkg-config))) |
diff --git a/gnu/packages/finance.scm b/gnu/packages/finance.scm index aa713350403..80d0350cf52 100644 --- a/gnu/packages/finance.scm +++ b/gnu/packages/finance.scm | |||
| @@ -13,7 +13,7 @@ | |||
| 13 | ;;; Copyright © 2018 Arun Isaac <arunisaac@systemreboot.net> | 13 | ;;; Copyright © 2018 Arun Isaac <arunisaac@systemreboot.net> |
| 14 | ;;; Copyright © 2019, 2020 Guillaume Le Vaillant <glv@posteo.net> | 14 | ;;; Copyright © 2019, 2020 Guillaume Le Vaillant <glv@posteo.net> |
| 15 | ;;; Copyright © 2019 Tanguy Le Carrour <tanguy@bioneland.org> | 15 | ;;; Copyright © 2019 Tanguy Le Carrour <tanguy@bioneland.org> |
| 16 | ;;; Copyright © 2019 Martin Becze <mjbecze@riseup.net> | 16 | ;;; Copyright © 2019, 2020 Martin Becze <mjbecze@riseup.net> |
| 17 | ;;; Copyright © 2019 Sebastian Schott <sschott@mailbox.org> | 17 | ;;; Copyright © 2019 Sebastian Schott <sschott@mailbox.org> |
| 18 | ;;; Copyright © 2020 Kei Kebreau <kkebreau@posteo.net> | 18 | ;;; Copyright © 2020 Kei Kebreau <kkebreau@posteo.net> |
| 19 | ;;; Copyright © 2020 Christopher Lemmer Webber <cwebber@dustycloud.org> | 19 | ;;; Copyright © 2020 Christopher Lemmer Webber <cwebber@dustycloud.org> |
| @@ -41,6 +41,7 @@ | |||
| 41 | #:use-module (guix git-download) | 41 | #:use-module (guix git-download) |
| 42 | #:use-module (guix build-system gnu) | 42 | #:use-module (guix build-system gnu) |
| 43 | #:use-module (guix build-system cmake) | 43 | #:use-module (guix build-system cmake) |
| 44 | #:use-module (guix build-system copy) | ||
| 44 | #:use-module (guix build-system emacs) | 45 | #:use-module (guix build-system emacs) |
| 45 | #:use-module (guix build-system python) | 46 | #:use-module (guix build-system python) |
| 46 | #:use-module (guix build-system glib-or-gtk) | 47 | #:use-module (guix build-system glib-or-gtk) |
| @@ -241,11 +242,11 @@ and dynamically with report tools based on filtering and graphical charts.") | |||
| 241 | ("libedit" ,libedit) | 242 | ("libedit" ,libedit) |
| 242 | ("mpfr" ,mpfr) | 243 | ("mpfr" ,mpfr) |
| 243 | ("python" ,python-2) | 244 | ("python" ,python-2) |
| 244 | ("tzdata" ,tzdata) | ||
| 245 | ("utfcpp" ,utfcpp))) | 245 | ("utfcpp" ,utfcpp))) |
| 246 | (native-inputs | 246 | (native-inputs |
| 247 | `(("groff" ,groff) | 247 | `(("groff" ,groff) |
| 248 | ("texinfo" ,texinfo))) | 248 | ("texinfo" ,texinfo) |
| 249 | ("tzdata" ,tzdata-for-tests))) | ||
| 249 | (home-page "https://ledger-cli.org/") | 250 | (home-page "https://ledger-cli.org/") |
| 250 | (synopsis "Command-line double-entry accounting program") | 251 | (synopsis "Command-line double-entry accounting program") |
| 251 | (description | 252 | (description |
| @@ -1165,10 +1166,37 @@ information.") | |||
| 1165 | (home-page "https://grisbi.org") | 1166 | (home-page "https://grisbi.org") |
| 1166 | (license license:gpl2+))) | 1167 | (license license:gpl2+))) |
| 1167 | 1168 | ||
| 1169 | (define-public trezord-udev-rules | ||
| 1170 | (let ((commit "bff7fdfe436c727982cc553bdfb29a9021b423b0") | ||
| 1171 | (revision "0")) | ||
| 1172 | (package | ||
| 1173 | (name "trezord-udev-rules") | ||
| 1174 | (version (git-version "0.0.0" revision commit)) | ||
| 1175 | (source | ||
| 1176 | (origin | ||
| 1177 | (method git-fetch) | ||
| 1178 | (uri (git-reference | ||
| 1179 | (url "https://github.com/trezor/trezor-common.git") | ||
| 1180 | (commit commit))) | ||
| 1181 | (sha256 | ||
| 1182 | (base32 | ||
| 1183 | "14mrirrn68if7ja6qdk9qlxs1hv0f21vrxy5ncnms0gx9iwakp2l")) | ||
| 1184 | (file-name (git-file-name name version)))) | ||
| 1185 | (build-system copy-build-system) | ||
| 1186 | (arguments | ||
| 1187 | '(#:install-plan | ||
| 1188 | '(("./udev/51-trezor.rules" "lib/udev/rules.d/")))) | ||
| 1189 | (home-page "https://github.com/trezor/trezor-common") | ||
| 1190 | (synopsis "Udev rules for trezord") | ||
| 1191 | (description | ||
| 1192 | "This contains the udev rules for trezord. This will let a user run | ||
| 1193 | trezord as a regular user instead of needing to it run as root.") | ||
| 1194 | (license license:lgpl3+)))) | ||
| 1195 | |||
| 1168 | (define-public trezord | 1196 | (define-public trezord |
| 1169 | (package | 1197 | (package |
| 1170 | (name "trezord") | 1198 | (name "trezord") |
| 1171 | (version "2.0.17") | 1199 | (version "2.0.29") |
| 1172 | (source | 1200 | (source |
| 1173 | (origin | 1201 | (origin |
| 1174 | (method git-fetch) | 1202 | (method git-fetch) |
| @@ -1177,7 +1205,7 @@ information.") | |||
| 1177 | (commit (string-append "v" version)))) | 1205 | (commit (string-append "v" version)))) |
| 1178 | (sha256 | 1206 | (sha256 |
| 1179 | (base32 | 1207 | (base32 |
| 1180 | "0nqzpq0i3crh0i4r1cppja5sn3rwi1fv9afxzwzv63096x5l30a7")) | 1208 | "1ks1fa0027s3xp0z6qp0dxmayvrb4dwwscfhbx7da0khp153f2cp")) |
| 1181 | (file-name (git-file-name name version)))) | 1209 | (file-name (git-file-name name version)))) |
| 1182 | (build-system go-build-system) | 1210 | (build-system go-build-system) |
| 1183 | (arguments | 1211 | (arguments |
| @@ -1405,14 +1433,14 @@ a Qt GUI.") | |||
| 1405 | (define-public fulcrum | 1433 | (define-public fulcrum |
| 1406 | (package | 1434 | (package |
| 1407 | (name "fulcrum") | 1435 | (name "fulcrum") |
| 1408 | (version "1.0.5b") | 1436 | (version "1.1.0") |
| 1409 | (source | 1437 | (source |
| 1410 | (origin | 1438 | (origin |
| 1411 | (method url-fetch) | 1439 | (method url-fetch) |
| 1412 | (uri (string-append "https://gitlab.com/FloweeTheHub/fulcrum/-/archive/v" | 1440 | (uri (string-append "https://gitlab.com/FloweeTheHub/fulcrum/-/archive/v" |
| 1413 | version "/fulcrum-v" version ".tar.gz")) | 1441 | version "/fulcrum-v" version ".tar.gz")) |
| 1414 | (sha256 | 1442 | (sha256 |
| 1415 | (base32 "1c1hkik8avill8ha33g76rk4b03j5ac8wiml69q4jav7a63ywgfy")))) | 1443 | (base32 "1xywwgsdhkiblv6la0pfhvn2s9q8vnz6pjg35647rlwzi6ybf0ak")))) |
| 1416 | (build-system gnu-build-system) | 1444 | (build-system gnu-build-system) |
| 1417 | (arguments | 1445 | (arguments |
| 1418 | `(#:phases | 1446 | `(#:phases |
| @@ -1440,6 +1468,71 @@ walets in a fast and small server. The full data is stored in a full node, | |||
| 1440 | like Flowee the Hub, which Fulcrum connects to over RPC.") | 1468 | like Flowee the Hub, which Fulcrum connects to over RPC.") |
| 1441 | (license license:gpl3+))) | 1469 | (license license:gpl3+))) |
| 1442 | 1470 | ||
| 1471 | (define-public flowee | ||
| 1472 | (package | ||
| 1473 | (name "flowee") | ||
| 1474 | (version "2020.03.1") | ||
| 1475 | (source | ||
| 1476 | (origin | ||
| 1477 | (method url-fetch) | ||
| 1478 | (uri (string-append "https://gitlab.com/FloweeTheHub/thehub/-/archive/" | ||
| 1479 | version "/thehub-" version ".tar.gz")) | ||
| 1480 | (sha256 | ||
| 1481 | (base32 "1ajd5axv9zyhh6njrvamm11zn52j1q4j3mwn2nfv7cjd4lhnhlsr")))) | ||
| 1482 | (build-system cmake-build-system) | ||
| 1483 | (arguments | ||
| 1484 | `(#:configure-flags '("-Dbuild_tests=ON" "-Denable_gui=OFF") | ||
| 1485 | #:phases | ||
| 1486 | (modify-phases %standard-phases | ||
| 1487 | (add-before 'configure 'make-qt-deterministic | ||
| 1488 | (lambda _ | ||
| 1489 | ;; Make Qt deterministic. | ||
| 1490 | (setenv "QT_RCC_SOURCE_DATE_OVERRIDE" "1") | ||
| 1491 | #t)) | ||
| 1492 | (add-before 'configure 'disable-black-box | ||
| 1493 | ;; the black-box testing runs full hubs and lets them interact. | ||
| 1494 | ;; this is more fragile and a slow machine, or low memory machine, may | ||
| 1495 | ;; make the tests timeout and fail. We just disable them here. | ||
| 1496 | (lambda _ | ||
| 1497 | (substitute* "testing/CMakeLists.txt" | ||
| 1498 | (("test_api") "")) | ||
| 1499 | #t)) | ||
| 1500 | (add-after 'configure 'set-build-info | ||
| 1501 | ;; Their genbuild.sh to generate a build.h fails in guix (no .git dir) . | ||
| 1502 | ;; Its purpose is to write the tag name in the build.h file. We do that | ||
| 1503 | ;; here instead. | ||
| 1504 | (lambda _ | ||
| 1505 | (with-output-to-file "include/build.h" | ||
| 1506 | (lambda _ | ||
| 1507 | (display | ||
| 1508 | (string-append "#define BUILD_DESC " "\"", version "\"")))))) | ||
| 1509 | (add-before 'check 'set-home | ||
| 1510 | (lambda _ | ||
| 1511 | (setenv "HOME" (getenv "TMPDIR")) ; tests write to $HOME | ||
| 1512 | #t)) | ||
| 1513 | (replace 'check | ||
| 1514 | (lambda _ | ||
| 1515 | (invoke "make" "check" "-C" "testing")))))) | ||
| 1516 | (inputs | ||
| 1517 | `(("boost" ,boost) | ||
| 1518 | ("gmp" ,gmp) | ||
| 1519 | ("libevent" ,libevent) | ||
| 1520 | ("miniupnpc" ,miniupnpc) | ||
| 1521 | ("openssl" ,openssl) | ||
| 1522 | ("qtbase" ,qtbase))) | ||
| 1523 | (native-inputs | ||
| 1524 | `(("pkg-config" ,pkg-config) | ||
| 1525 | ("qttools" ,qttools) | ||
| 1526 | ("util-linux" ,util-linux))) ; provides the hexdump command for tests | ||
| 1527 | (home-page "https://flowee.org") | ||
| 1528 | (synopsis "Flowee infrastructure tools and services") | ||
| 1529 | (description | ||
| 1530 | "Flowee packages all tier-1 applications and services from the Flowee group. | ||
| 1531 | This includes components like The Hub and Indexer which and various others | ||
| 1532 | that allows you to run services and through them access the Bitcoin Cash networks.") | ||
| 1533 | (license license:gpl3+))) | ||
| 1534 | |||
| 1535 | |||
| 1443 | (define-public beancount | 1536 | (define-public beancount |
| 1444 | (package | 1537 | (package |
| 1445 | (name "beancount") | 1538 | (name "beancount") |
diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm index f20a0bdca85..caa1e8d37ce 100644 --- a/gnu/packages/games.scm +++ b/gnu/packages/games.scm | |||
| @@ -19,7 +19,7 @@ | |||
| 19 | ;;; Copyright © 2016 Albin Söderqvist <albin@fripost.org> | 19 | ;;; Copyright © 2016 Albin Söderqvist <albin@fripost.org> |
| 20 | ;;; Copyright © 2016, 2017, 2018, 2019 Kei Kebreau <kkebreau@posteo.net> | 20 | ;;; Copyright © 2016, 2017, 2018, 2019 Kei Kebreau <kkebreau@posteo.net> |
| 21 | ;;; Copyright © 2016 Alex Griffin <a@ajgrf.com> | 21 | ;;; Copyright © 2016 Alex Griffin <a@ajgrf.com> |
| 22 | ;;; Copyright © 2016, 2017, 2018, 2019 Efraim Flashner <efraim@flashner.co.il> | 22 | ;;; Copyright © 2016, 2017, 2018, 2019, 2020 Efraim Flashner <efraim@flashner.co.il> |
| 23 | ;;; Copyright © 2016 Jan Nieuwenhuizen <janneke@gnu.org> | 23 | ;;; Copyright © 2016 Jan Nieuwenhuizen <janneke@gnu.org> |
| 24 | ;;; Copyright © 2016 Steve Webber <webber.sl@gmail.com> | 24 | ;;; Copyright © 2016 Steve Webber <webber.sl@gmail.com> |
| 25 | ;;; Copyright © 2017 Adonay "adfeno" Felipe Nogueira <https://libreplanet.org/wiki/User:Adfeno> <adfeno@hyperbola.info> | 25 | ;;; Copyright © 2017 Adonay "adfeno" Felipe Nogueira <https://libreplanet.org/wiki/User:Adfeno> <adfeno@hyperbola.info> |
| @@ -1955,7 +1955,7 @@ asynchronously and at a user-defined speed.") | |||
| 1955 | (define-public chess | 1955 | (define-public chess |
| 1956 | (package | 1956 | (package |
| 1957 | (name "chess") | 1957 | (name "chess") |
| 1958 | (version "6.2.5") | 1958 | (version "6.2.6") |
| 1959 | (source | 1959 | (source |
| 1960 | (origin | 1960 | (origin |
| 1961 | (method url-fetch) | 1961 | (method url-fetch) |
| @@ -1963,13 +1963,15 @@ asynchronously and at a user-defined speed.") | |||
| 1963 | ".tar.gz")) | 1963 | ".tar.gz")) |
| 1964 | (sha256 | 1964 | (sha256 |
| 1965 | (base32 | 1965 | (base32 |
| 1966 | "00j8s0npgfdi41a0mr5w9qbdxagdk2v41lcr42rwl1jp6miyk6cs")))) | 1966 | "0kxhdv01ia91v2y0cmzbll391ns2vbmn65jjrv37h4s1srszh5yn")))) |
| 1967 | (build-system gnu-build-system) | 1967 | (build-system gnu-build-system) |
| 1968 | (home-page "https://www.gnu.org/software/chess/") | 1968 | (home-page "https://www.gnu.org/software/chess/") |
| 1969 | (synopsis "Full chess implementation") | 1969 | (synopsis "Full chess implementation") |
| 1970 | (description "GNU Chess is a chess engine. It allows you to compete | 1970 | (description "GNU Chess is a chess engine. It allows you to compete |
| 1971 | against the computer in a game of chess, either through the default terminal | 1971 | against the computer in a game of chess, either through the default terminal |
| 1972 | interface or via an external visual interface such as GNU XBoard.") | 1972 | interface or via an external visual interface such as GNU XBoard.") |
| 1973 | (properties '((upstream-name . "gnuchess") | ||
| 1974 | (ftp-directory . "/chess"))) | ||
| 1973 | (license license:gpl3+))) | 1975 | (license license:gpl3+))) |
| 1974 | 1976 | ||
| 1975 | (define freedink-engine | 1977 | (define freedink-engine |
diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index 6de7aaf7c62..fbd4c5eb96b 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm | |||
| @@ -250,6 +250,34 @@ Desktop. It is designed to be as simple as possible and has some unique | |||
| 250 | features to enable users to create their discs easily and quickly.") | 250 | features to enable users to create their discs easily and quickly.") |
| 251 | (license license:gpl2+))) | 251 | (license license:gpl2+))) |
| 252 | 252 | ||
| 253 | (define-public notification-daemon | ||
| 254 | (package | ||
| 255 | (name "notification-daemon") | ||
| 256 | (version "3.20.0") | ||
| 257 | (source | ||
| 258 | (origin | ||
| 259 | (method url-fetch) | ||
| 260 | (uri | ||
| 261 | (string-append "mirror://gnome/sources/" name "/" | ||
| 262 | (version-major+minor version) "/" | ||
| 263 | name "-" version ".tar.xz")) | ||
| 264 | (sha256 | ||
| 265 | (base32 | ||
| 266 | "1rgchqi4j2ll7d6a7lgy7id0w9rrkwkgic1096fbm2zx6n7pc4yx")))) | ||
| 267 | (build-system glib-or-gtk-build-system) | ||
| 268 | (native-inputs | ||
| 269 | `(("intltool" ,intltool) | ||
| 270 | ("pkg-config" ,pkg-config))) | ||
| 271 | (inputs | ||
| 272 | `(("glib" ,glib) | ||
| 273 | ("gtk+" ,gtk+) | ||
| 274 | ("x11" ,libx11))) | ||
| 275 | (synopsis "Notification Daemon for GNOME Desktop") | ||
| 276 | (description "Notification-Daemon is the server implementation of the | ||
| 277 | freedesktop.org desktop notification specification.") | ||
| 278 | (home-page "https://wiki.gnome.org/Projects/NotificationDaemon") | ||
| 279 | (license license:gpl2+))) | ||
| 280 | |||
| 253 | (define-public mm-common | 281 | (define-public mm-common |
| 254 | (package | 282 | (package |
| 255 | (name "mm-common") | 283 | (name "mm-common") |
diff --git a/gnu/packages/gpodder.scm b/gnu/packages/gpodder.scm index 02aef3ed479..6963da9dff3 100644 --- a/gnu/packages/gpodder.scm +++ b/gnu/packages/gpodder.scm | |||
| @@ -38,7 +38,7 @@ | |||
| 38 | (define-public gpodder | 38 | (define-public gpodder |
| 39 | (package | 39 | (package |
| 40 | (name "gpodder") | 40 | (name "gpodder") |
| 41 | (version "3.10.13") | 41 | (version "3.10.15") |
| 42 | (source | 42 | (source |
| 43 | (origin | 43 | (origin |
| 44 | (method git-fetch) | 44 | (method git-fetch) |
| @@ -47,11 +47,13 @@ | |||
| 47 | (commit version))) | 47 | (commit version))) |
| 48 | (sha256 | 48 | (sha256 |
| 49 | (base32 | 49 | (base32 |
| 50 | "1h542syaxsx1hslfzlk3fx1nbp190zjw35kigw7a1kx1jwvfwapg")) | 50 | "0ghbanj142n0hgydzfjmnkdgri2kswsjal3mn10c723kih4ir4yr")) |
| 51 | (file-name (git-file-name name version)))) | 51 | (file-name (git-file-name name version)))) |
| 52 | (build-system python-build-system) | 52 | (build-system python-build-system) |
| 53 | (native-inputs | 53 | (native-inputs |
| 54 | `(("intltool" ,intltool))) | 54 | `(("intltool" ,intltool) |
| 55 | ("python-coverage" ,python-coverage) | ||
| 56 | ("python-minimock" ,python-minimock))) | ||
| 55 | (inputs | 57 | (inputs |
| 56 | `(("gtk+" ,gtk+) | 58 | `(("gtk+" ,gtk+) |
| 57 | ("python-pygobject" ,python-pygobject) | 59 | ("python-pygobject" ,python-pygobject) |
| @@ -72,6 +74,12 @@ | |||
| 72 | (substitute* "src/gpodder/util.py" | 74 | (substitute* "src/gpodder/util.py" |
| 73 | (("xdg-open") (string-append xdg-utils "/bin/xdg-open"))) | 75 | (("xdg-open") (string-append xdg-utils "/bin/xdg-open"))) |
| 74 | #t))) | 76 | #t))) |
| 77 | (replace 'check | ||
| 78 | (lambda _ | ||
| 79 | ; The `unittest' target overrides the PYTHONPATH variable. | ||
| 80 | (substitute* "makefile" | ||
| 81 | (("PYTHONPATH=src/") "PYTHONPATH=${PYTHONPATH}:src/")) | ||
| 82 | (invoke "make" "unittest"))) | ||
| 75 | ;; 'msgmerge' introduces non-determinism by resetting the | 83 | ;; 'msgmerge' introduces non-determinism by resetting the |
| 76 | ;; POT-Creation-Date in .po files. | 84 | ;; POT-Creation-Date in .po files. |
| 77 | (add-before 'install 'do-not-run-msgmerge | 85 | (add-before 'install 'do-not-run-msgmerge |
| @@ -176,7 +184,13 @@ downloading episode status changes.") | |||
| 176 | (sha256 | 184 | (sha256 |
| 177 | (base32 "0k62ppg20i41gcc5x8ddjn7zbpy47hqpxzrq9257g2c71m4qw07b")))) | 185 | (base32 "0k62ppg20i41gcc5x8ddjn7zbpy47hqpxzrq9257g2c71m4qw07b")))) |
| 178 | (native-inputs | 186 | (native-inputs |
| 179 | `(("python-nose" ,python-nose))) | 187 | `(("python-coverage" ,python-coverage) |
| 188 | ("python-nose" ,python-nose))) | ||
| 189 | (arguments | ||
| 190 | '(#:phases | ||
| 191 | (modify-phases %standard-phases | ||
| 192 | (replace 'check | ||
| 193 | (lambda _ (invoke "nosetests")))))) | ||
| 180 | (build-system python-build-system) | 194 | (build-system python-build-system) |
| 181 | (home-page "http://gpodder.org/podcastparser") | 195 | (home-page "http://gpodder.org/podcastparser") |
| 182 | (synopsis "Simplified and fast RSS parser Python library") | 196 | (synopsis "Simplified and fast RSS parser Python library") |
diff --git a/gnu/packages/guile-xyz.scm b/gnu/packages/guile-xyz.scm index ac8155fc897..5be56ba9f71 100644 --- a/gnu/packages/guile-xyz.scm +++ b/gnu/packages/guile-xyz.scm | |||
| @@ -1056,7 +1056,7 @@ format.") | |||
| 1056 | (define-public guile-newt | 1056 | (define-public guile-newt |
| 1057 | (package | 1057 | (package |
| 1058 | (name "guile-newt") | 1058 | (name "guile-newt") |
| 1059 | (version "0.0.1") | 1059 | (version "0.0.2") |
| 1060 | (source (origin | 1060 | (source (origin |
| 1061 | (method git-fetch) | 1061 | (method git-fetch) |
| 1062 | (uri (git-reference | 1062 | (uri (git-reference |
| @@ -1065,20 +1065,7 @@ format.") | |||
| 1065 | (file-name (git-file-name name version)) | 1065 | (file-name (git-file-name name version)) |
| 1066 | (sha256 | 1066 | (sha256 |
| 1067 | (base32 | 1067 | (base32 |
| 1068 | "1w7qy4dw1f4bx622l6hw8mv49sf1ha8kch8j4nganyk8fj0wn695")) | 1068 | "1gksd1lzgjjh1p9vczghg8jw995d22hm34kbsiv8rcryirv2xy09")))) |
| 1069 | (modules '((guix build utils))) | ||
| 1070 | (snippet | ||
| 1071 | '(begin | ||
| 1072 | ;; Allow builds with Guile 3.0. | ||
| 1073 | (substitute* "configure.ac" | ||
| 1074 | (("^GUILE_PKG.*") | ||
| 1075 | "GUILE_PKG([3.0 2.2 2.0])\n")) | ||
| 1076 | |||
| 1077 | ;; Remove "guile.m4" since it contains an obsolete version | ||
| 1078 | ;; of 'GUILE_PKG' that doesn't work with development | ||
| 1079 | ;; versions such as 2.9. | ||
| 1080 | (delete-file "m4/guile.m4") | ||
| 1081 | #t)))) | ||
| 1082 | (build-system gnu-build-system) | 1069 | (build-system gnu-build-system) |
| 1083 | (arguments | 1070 | (arguments |
| 1084 | '(#:make-flags | 1071 | '(#:make-flags |
diff --git a/gnu/packages/image.scm b/gnu/packages/image.scm index 0ae88ea1a41..c900bd0eb91 100644 --- a/gnu/packages/image.scm +++ b/gnu/packages/image.scm | |||
| @@ -1972,7 +1972,7 @@ This package can be used to create @code{favicon.ico} files for web sites.") | |||
| 1972 | (define-public libavif | 1972 | (define-public libavif |
| 1973 | (package | 1973 | (package |
| 1974 | (name "libavif") | 1974 | (name "libavif") |
| 1975 | (version "0.6.3") | 1975 | (version "0.7.1") |
| 1976 | (source (origin | 1976 | (source (origin |
| 1977 | (method git-fetch) | 1977 | (method git-fetch) |
| 1978 | (uri (git-reference | 1978 | (uri (git-reference |
| @@ -1981,7 +1981,7 @@ This package can be used to create @code{favicon.ico} files for web sites.") | |||
| 1981 | (file-name (git-file-name name version)) | 1981 | (file-name (git-file-name name version)) |
| 1982 | (sha256 | 1982 | (sha256 |
| 1983 | (base32 | 1983 | (base32 |
| 1984 | "0fn2mcpvzw6h9sv8h0icbz10i8ihzzf5d5mx3fc4pvhicyz4syq8")))) | 1984 | "1xybjbbprvfsrwgysrn7grg6yp7v6ch5vci7zvdcdzcgyrbph172")))) |
| 1985 | (build-system cmake-build-system) | 1985 | (build-system cmake-build-system) |
| 1986 | (arguments | 1986 | (arguments |
| 1987 | `(#:configure-flags '("-DAVIF_CODEC_AOM=ON" "-DAVIF_CODEC_DAV1D=ON" | 1987 | `(#:configure-flags '("-DAVIF_CODEC_AOM=ON" "-DAVIF_CODEC_DAV1D=ON" |
| @@ -1989,18 +1989,15 @@ This package can be used to create @code{favicon.ico} files for web sites.") | |||
| 1989 | "-DAVIF_BUILD_TESTS=ON") | 1989 | "-DAVIF_BUILD_TESTS=ON") |
| 1990 | #:phases | 1990 | #:phases |
| 1991 | (modify-phases %standard-phases | 1991 | (modify-phases %standard-phases |
| 1992 | (replace 'check | ||
| 1993 | (lambda _ | ||
| 1994 | (invoke "./aviftest" "../source/tests/data"))) | ||
| 1992 | (add-after 'install 'install-readme | 1995 | (add-after 'install 'install-readme |
| 1993 | (lambda* (#:key outputs #:allow-other-keys) | 1996 | (lambda* (#:key outputs #:allow-other-keys) |
| 1994 | (let* ((out (assoc-ref outputs "out")) | 1997 | (let* ((out (assoc-ref outputs "out")) |
| 1995 | (doc (string-append out "/share/doc/libavif-" | 1998 | (doc (string-append out "/share/doc/libavif-" ,version))) |
| 1996 | ,version))) | 1999 | (install-file "../source/README.md" doc) |
| 1997 | (install-file "../source/README.md" doc))))) | 2000 | #t)))))) |
| 1998 | ;; The test suite runs tests for all supported codecs and fails because we don't | ||
| 1999 | ;; have rav1e yet. | ||
| 2000 | ;; (replace 'check | ||
| 2001 | ;; (lambda _ | ||
| 2002 | ;; (invoke "./aviftest" "../source/tests/data")))) | ||
| 2003 | #:tests? #f)) | ||
| 2004 | (inputs | 2001 | (inputs |
| 2005 | `(("libaom" ,libaom) | 2002 | `(("libaom" ,libaom) |
| 2006 | ("dav1d" ,dav1d))) | 2003 | ("dav1d" ,dav1d))) |
diff --git a/gnu/packages/kde-frameworks.scm b/gnu/packages/kde-frameworks.scm index e220b2c24de..0c317093296 100644 --- a/gnu/packages/kde-frameworks.scm +++ b/gnu/packages/kde-frameworks.scm | |||
| @@ -3537,7 +3537,7 @@ workspace.") | |||
| 3537 | ("shared-mime-info" ,shared-mime-info) | 3537 | ("shared-mime-info" ,shared-mime-info) |
| 3538 | ("kjobwidgets" ,kjobwidgets) ;; required for running the tests | 3538 | ("kjobwidgets" ,kjobwidgets) ;; required for running the tests |
| 3539 | ("strace" ,strace) | 3539 | ("strace" ,strace) |
| 3540 | ("tzdata" ,tzdata))) | 3540 | ("tzdata" ,tzdata-for-tests))) |
| 3541 | (propagated-inputs | 3541 | (propagated-inputs |
| 3542 | ;; These are required to be installed along with this package, see | 3542 | ;; These are required to be installed along with this package, see |
| 3543 | ;; lib64/cmake/KF5KDELibs4Support/KF5KDELibs4SupportConfig.cmake | 3543 | ;; lib64/cmake/KF5KDELibs4Support/KF5KDELibs4SupportConfig.cmake |
diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index 0970a3909c1..344ff77a359 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm | |||
| @@ -369,26 +369,26 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS." | |||
| 369 | (sha256 hash))) | 369 | (sha256 hash))) |
| 370 | 370 | ||
| 371 | 371 | ||
| 372 | (define-public linux-libre-5.6-version "5.6.4") | 372 | (define-public linux-libre-5.6-version "5.6.5") |
| 373 | (define-public linux-libre-5.6-pristine-source | 373 | (define-public linux-libre-5.6-pristine-source |
| 374 | (let ((version linux-libre-5.6-version) | 374 | (let ((version linux-libre-5.6-version) |
| 375 | (hash (base32 "14cxbc9xi4s3xwx4yb1yd4z0kidsk3d443skf5sgmdhcalg79wax"))) | 375 | (hash (base32 "1rjjkcmzsj9azggh960qnk2x44ns475b8nbd4nxazrz1rgdx76zp"))) |
| 376 | (make-linux-libre-source version | 376 | (make-linux-libre-source version |
| 377 | (%upstream-linux-source version hash) | 377 | (%upstream-linux-source version hash) |
| 378 | deblob-scripts-5.6))) | 378 | deblob-scripts-5.6))) |
| 379 | 379 | ||
| 380 | (define-public linux-libre-5.4-version "5.4.32") | 380 | (define-public linux-libre-5.4-version "5.4.33") |
| 381 | (define-public linux-libre-5.4-pristine-source | 381 | (define-public linux-libre-5.4-pristine-source |
| 382 | (let ((version linux-libre-5.4-version) | 382 | (let ((version linux-libre-5.4-version) |
| 383 | (hash (base32 "1czjjnln1cqrnjxw0md6mpw9haw9abdyvmxnjds56ym4nzx9jb8r"))) | 383 | (hash (base32 "0q9q48ij6vppfcrdf7fr24pvpwsd13pxjkdni6rnjq9a60hrcmxm"))) |
| 384 | (make-linux-libre-source version | 384 | (make-linux-libre-source version |
| 385 | (%upstream-linux-source version hash) | 385 | (%upstream-linux-source version hash) |
| 386 | deblob-scripts-5.4))) | 386 | deblob-scripts-5.4))) |
| 387 | 387 | ||
| 388 | (define-public linux-libre-4.19-version "4.19.115") | 388 | (define-public linux-libre-4.19-version "4.19.116") |
| 389 | (define-public linux-libre-4.19-pristine-source | 389 | (define-public linux-libre-4.19-pristine-source |
| 390 | (let ((version linux-libre-4.19-version) | 390 | (let ((version linux-libre-4.19-version) |
| 391 | (hash (base32 "1hh170z3mv181l6cc6qqc12wif5jsmxbh2qxbq6b9km5irydkchi"))) | 391 | (hash (base32 "0r3vdc3npl1bn06w9v6wsq7d5mm7bnhm9wsz36pb9ar3xhimvrlf"))) |
| 392 | (make-linux-libre-source version | 392 | (make-linux-libre-source version |
| 393 | (%upstream-linux-source version hash) | 393 | (%upstream-linux-source version hash) |
| 394 | deblob-scripts-4.19))) | 394 | deblob-scripts-4.19))) |
diff --git a/gnu/packages/mail.scm b/gnu/packages/mail.scm index b5cd660f21b..48b9ec307d0 100644 --- a/gnu/packages/mail.scm +++ b/gnu/packages/mail.scm | |||
| @@ -24,7 +24,7 @@ | |||
| 24 | ;;; Copyright © 2017 Kyle Meyer <kyle@kyleam.com> | 24 | ;;; Copyright © 2017 Kyle Meyer <kyle@kyleam.com> |
| 25 | ;;; Copyright © 2017, 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr> | 25 | ;;; Copyright © 2017, 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr> |
| 26 | ;;; Copyright © 2017, 2018 Rene Saavedra <pacoon@protonmail.com> | 26 | ;;; Copyright © 2017, 2018 Rene Saavedra <pacoon@protonmail.com> |
| 27 | ;;; Copyright © 2018, 2019 Pierre Langlois <pierre.langlois@gmx.com> | 27 | ;;; Copyright © 2018, 2019, 2020 Pierre Langlois <pierre.langlois@gmx.com> |
| 28 | ;;; Copyright © 2018 Alex Vong <alexvong1995@gmail.com> | 28 | ;;; Copyright © 2018 Alex Vong <alexvong1995@gmail.com> |
| 29 | ;;; Copyright © 2018 Gábor Boskovits <boskovits@gmail.com> | 29 | ;;; Copyright © 2018 Gábor Boskovits <boskovits@gmail.com> |
| 30 | ;;; Copyright © 2018, 2019, 2020 Ricardo Wurmus <rekado@elephly.net> | 30 | ;;; Copyright © 2018, 2019, 2020 Ricardo Wurmus <rekado@elephly.net> |
| @@ -89,6 +89,7 @@ | |||
| 89 | #:use-module (gnu packages libevent) | 89 | #:use-module (gnu packages libevent) |
| 90 | #:use-module (gnu packages libidn) | 90 | #:use-module (gnu packages libidn) |
| 91 | #:use-module (gnu packages libunistring) | 91 | #:use-module (gnu packages libunistring) |
| 92 | #:use-module (gnu packages libunwind) | ||
| 92 | #:use-module (gnu packages linux) | 93 | #:use-module (gnu packages linux) |
| 93 | #:use-module (gnu packages lsof) | 94 | #:use-module (gnu packages lsof) |
| 94 | #:use-module (gnu packages lua) | 95 | #:use-module (gnu packages lua) |
| @@ -1432,6 +1433,11 @@ facilities for checking incoming mail.") | |||
| 1432 | (inputs | 1433 | (inputs |
| 1433 | `(("bzip2" ,bzip2) | 1434 | `(("bzip2" ,bzip2) |
| 1434 | ("libsodium" ,libsodium) ; extra password algorithms | 1435 | ("libsodium" ,libsodium) ; extra password algorithms |
| 1436 | ;; FIXME: The 'test-backtrace' tests fail on arm when using glibc's | ||
| 1437 | ;; backtrace_symbol() function so fallback to using libunwind. | ||
| 1438 | ,@(if (target-arm?) | ||
| 1439 | `(("libunwind" ,libunwind)) | ||
| 1440 | '()) | ||
| 1435 | ("linux-pam" ,linux-pam) | 1441 | ("linux-pam" ,linux-pam) |
| 1436 | ("lz4" ,lz4) | 1442 | ("lz4" ,lz4) |
| 1437 | ("openssl" ,openssl) | 1443 | ("openssl" ,openssl) |
| @@ -1955,26 +1961,26 @@ maintained.") | |||
| 1955 | (define-public khard | 1961 | (define-public khard |
| 1956 | (package | 1962 | (package |
| 1957 | (name "khard") | 1963 | (name "khard") |
| 1958 | (version "0.15.1") | 1964 | (version "0.16.1") |
| 1959 | (source (origin | 1965 | (source (origin |
| 1960 | (method url-fetch) | 1966 | (method url-fetch) |
| 1961 | (uri (pypi-uri name version)) | 1967 | (uri (pypi-uri name version)) |
| 1962 | (sha256 | 1968 | (sha256 |
| 1963 | (base32 | 1969 | (base32 |
| 1964 | "18ba2xgfq8sw0bg6xmlfjpizid1hkzgswcfcc54gl21y2dwfda2w")))) | 1970 | "0fg4qh5gzki5wg958wlpc8a2icnk74gzg33lqxjm755cfnjng7qd")))) |
| 1965 | (build-system python-build-system) | 1971 | (build-system python-build-system) |
| 1966 | (arguments | 1972 | (arguments |
| 1967 | `(#:phases | 1973 | `(#:phases |
| 1968 | (modify-phases %standard-phases | 1974 | (modify-phases %standard-phases |
| 1969 | (add-after 'install 'install-doc | 1975 | (add-after 'install 'install-completions |
| 1970 | (lambda* (#:key outputs #:allow-other-keys) | 1976 | (lambda* (#:key outputs #:allow-other-keys) |
| 1971 | (let* ((out (assoc-ref outputs "out")) | 1977 | (let* ((out (assoc-ref outputs "out")) |
| 1972 | (doc (string-append out "/share/doc/khard"))) | 1978 | (zsh (string-append out "/share/zsh/site-functions"))) |
| 1973 | (copy-recursively "misc/khard" doc) | 1979 | (copy-recursively "misc/zsh" zsh) |
| 1974 | #t)))))) | 1980 | #t)))))) |
| 1975 | (native-inputs | 1981 | (native-inputs |
| 1976 | `(("python-setuptools-scm" ,python-setuptools-scm))) | 1982 | `(("python-setuptools-scm" ,python-setuptools-scm))) |
| 1977 | (propagated-inputs | 1983 | (inputs |
| 1978 | `(("python-atomicwrites" ,python-atomicwrites) | 1984 | `(("python-atomicwrites" ,python-atomicwrites) |
| 1979 | ("python-configobj" ,python-configobj) | 1985 | ("python-configobj" ,python-configobj) |
| 1980 | ("python-pyyaml" ,python-pyyaml) | 1986 | ("python-pyyaml" ,python-pyyaml) |
diff --git a/gnu/packages/mastodon.scm b/gnu/packages/mastodon.scm index 9f86ee56490..d6b0e25e6ba 100644 --- a/gnu/packages/mastodon.scm +++ b/gnu/packages/mastodon.scm | |||
| @@ -29,13 +29,13 @@ | |||
| 29 | (define-public toot | 29 | (define-public toot |
| 30 | (package | 30 | (package |
| 31 | (name "toot") | 31 | (name "toot") |
| 32 | (version "0.25.2") | 32 | (version "0.26.0") |
| 33 | (source | 33 | (source |
| 34 | (origin | 34 | (origin |
| 35 | (method url-fetch) | 35 | (method url-fetch) |
| 36 | (uri (pypi-uri "toot" version)) | 36 | (uri (pypi-uri "toot" version)) |
| 37 | (sha256 | 37 | (sha256 |
| 38 | (base32 "16akld7zfr52rqrbgf6hmsca9qsrfdbbbd9bji8d26zggxmqq4vq")))) | 38 | (base32 "0h0lqm1q7i32i9n6yx5q2j563vc92h2sjh1ih4n2rxf98p6c5d1b")))) |
| 39 | (build-system python-build-system) | 39 | (build-system python-build-system) |
| 40 | (arguments | 40 | (arguments |
| 41 | '(#:phases | 41 | '(#:phases |
diff --git a/gnu/packages/networking.scm b/gnu/packages/networking.scm index 4618817b431..9f1a62a7e72 100644 --- a/gnu/packages/networking.scm +++ b/gnu/packages/networking.scm | |||
| @@ -608,14 +608,14 @@ of the same name.") | |||
| 608 | (define-public wireshark | 608 | (define-public wireshark |
| 609 | (package | 609 | (package |
| 610 | (name "wireshark") | 610 | (name "wireshark") |
| 611 | (version "3.2.2") | 611 | (version "3.2.3") |
| 612 | (source | 612 | (source |
| 613 | (origin | 613 | (origin |
| 614 | (method url-fetch) | 614 | (method url-fetch) |
| 615 | (uri (string-append "https://www.wireshark.org/download/src/wireshark-" | 615 | (uri (string-append "https://www.wireshark.org/download/src/wireshark-" |
| 616 | version ".tar.xz")) | 616 | version ".tar.xz")) |
| 617 | (sha256 | 617 | (sha256 |
| 618 | (base32 "0ygdxpz0i4jxp55fg9x4xcan093wycjb66yas073gviz9kpj6naz")))) | 618 | (base32 "1fpsfjrap7j84sy728yhcr2gad9nq3n5gq03mwrmxnc6ijwf81zh")))) |
| 619 | (build-system cmake-build-system) | 619 | (build-system cmake-build-system) |
| 620 | (arguments | 620 | (arguments |
| 621 | `(#:phases | 621 | `(#:phases |
diff --git a/gnu/packages/node-xyz.scm b/gnu/packages/node-xyz.scm index 44236ec469f..27cd5c18b72 100644 --- a/gnu/packages/node-xyz.scm +++ b/gnu/packages/node-xyz.scm | |||
| @@ -1,5 +1,6 @@ | |||
| 1 | ;;; GNU Guix --- Functional package management for GNU | 1 | ;;; GNU Guix --- Functional package management for GNU |
| 2 | ;;; Copyright © 2020 Efraim Flashner <efraim@flashner.co.il> | 2 | ;;; Copyright © 2020 Efraim Flashner <efraim@flashner.co.il> |
| 3 | ;;; Copyright © 2020 Giacomo Leidi <goodoldpaul@autistici.org> | ||
| 3 | ;;; | 4 | ;;; |
| 4 | ;;; This file is part of GNU Guix. | 5 | ;;; This file is part of GNU Guix. |
| 5 | ;;; | 6 | ;;; |
| @@ -244,3 +245,26 @@ protocol used in @code{node-lynx}.") | |||
| 244 | (description "This package provides the Node.js @code{util.deprecate()} | 245 | (description "This package provides the Node.js @code{util.deprecate()} |
| 245 | function with browser support.") | 246 | function with browser support.") |
| 246 | (license license:expat))) | 247 | (license license:expat))) |
| 248 | |||
| 249 | (define-public node-semver | ||
| 250 | (package | ||
| 251 | (name "node-semver") | ||
| 252 | (version "7.2.1") | ||
| 253 | (source (origin | ||
| 254 | (method git-fetch) | ||
| 255 | (uri (git-reference | ||
| 256 | (url "https://github.com/npm/node-semver.git") | ||
| 257 | (commit (string-append "v" version)))) | ||
| 258 | (file-name (git-file-name name version)) | ||
| 259 | (sha256 | ||
| 260 | (base32 | ||
| 261 | "06biknqb05r9xsmcflm3ygh50pjvdk84x6r79w43kmck4fn3qn5p")))) | ||
| 262 | (build-system node-build-system) | ||
| 263 | (arguments | ||
| 264 | `(#:tests? #f)) ;; FIXME: Tests depend on node-tap | ||
| 265 | (home-page "https://github.com/npm/node-semver") | ||
| 266 | (synopsis "Parses semantic versions strings") | ||
| 267 | (description | ||
| 268 | "@code{node-semver} is a JavaScript implementation of the | ||
| 269 | @uref{https://semver.org/, SemVer.org} specification.") | ||
| 270 | (license license:isc))) | ||
diff --git a/gnu/packages/patches/python-jedi-sort-project-test.patch b/gnu/packages/patches/python-jedi-sort-project-test.patch new file mode 100644 index 00000000000..b2d602dfe6d --- /dev/null +++ b/gnu/packages/patches/python-jedi-sort-project-test.patch | |||
| @@ -0,0 +1,18 @@ | |||
| 1 | Sort the result of file system traversal to avoid test failure on different | ||
| 2 | file systems. | ||
| 3 | |||
| 4 | Taken from upstream: | ||
| 5 | https://github.com/davidhalter/jedi/commit/7ff76bb7d0d94514e17cd1647f4ffaf533dd55f5 | ||
| 6 | |||
| 7 | diff --git a/test/test_api/test_project.py b/test/test_api/test_project.py | ||
| 8 | --- a/test/test_api/test_project.py | ||
| 9 | +++ b/test/test_api/test_project.py | ||
| 10 | @@ -135,7 +135,7 @@ def test_search(string, full_names, kwargs, skip_pre_python36): | ||
| 11 | defs = project.complete_search(string, **kwargs) | ||
| 12 | else: | ||
| 13 | defs = project.search(string, **kwargs) | ||
| 14 | - assert [('stub:' if d.is_stub() else '') + d.full_name for d in defs] == full_names | ||
| 15 | + assert sorted([('stub:' if d.is_stub() else '') + d.full_name for d in defs]) == full_names | ||
| 16 | |||
| 17 | |||
| 18 | @pytest.mark.parametrize( | ||
diff --git a/gnu/packages/pdf.scm b/gnu/packages/pdf.scm index bb3a26525f9..8ccb133e1f8 100644 --- a/gnu/packages/pdf.scm +++ b/gnu/packages/pdf.scm | |||
| @@ -822,7 +822,7 @@ using a stylus.") | |||
| 822 | (define-public xournalpp | 822 | (define-public xournalpp |
| 823 | (package | 823 | (package |
| 824 | (name "xournalpp") | 824 | (name "xournalpp") |
| 825 | (version "1.0.17") | 825 | (version "1.0.18") |
| 826 | (source | 826 | (source |
| 827 | (origin | 827 | (origin |
| 828 | (method git-fetch) | 828 | (method git-fetch) |
| @@ -831,7 +831,7 @@ using a stylus.") | |||
| 831 | (commit version))) | 831 | (commit version))) |
| 832 | (file-name (git-file-name name version)) | 832 | (file-name (git-file-name name version)) |
| 833 | (sha256 | 833 | (sha256 |
| 834 | (base32 "0xw2mcgnm4sa9hrhfgp669lfypw97drxjmz5w8i5whaprpvmkxzw")))) | 834 | (base32 "0a9ygbmd4dwgck3k8wsrm2grynqa0adb12wwspzmzvpisbadffjy")))) |
| 835 | (build-system cmake-build-system) | 835 | (build-system cmake-build-system) |
| 836 | (arguments | 836 | (arguments |
| 837 | `(#:configure-flags (list "-DENABLE_CPPUNIT=ON") ;enable tests | 837 | `(#:configure-flags (list "-DENABLE_CPPUNIT=ON") ;enable tests |
| @@ -844,11 +844,6 @@ using a stylus.") | |||
| 844 | (modify-phases %standard-phases | 844 | (modify-phases %standard-phases |
| 845 | (add-after 'unpack 'fix-permissions-on-po-files | 845 | (add-after 'unpack 'fix-permissions-on-po-files |
| 846 | (lambda _ | 846 | (lambda _ |
| 847 | ;; Always generate translations. A recent upstream patch | ||
| 848 | ;; disabled it. | ||
| 849 | (substitute* "po/CMakeLists.txt" | ||
| 850 | (("gettext_create_translations \\(\"\\$\\{potfile\\}\"\\)") | ||
| 851 | "gettext_create_translations (\"${potfile}\" ALL)")) | ||
| 852 | ;; Make sure 'msgmerge' can modify the PO files. | 847 | ;; Make sure 'msgmerge' can modify the PO files. |
| 853 | (for-each (lambda (po) (chmod po #o666)) | 848 | (for-each (lambda (po) (chmod po #o666)) |
| 854 | (find-files "." "\\.po$")) | 849 | (find-files "." "\\.po$")) |
| @@ -857,7 +852,6 @@ using a stylus.") | |||
| 857 | (assoc-ref glib-or-gtk:%standard-phases 'glib-or-gtk-wrap))))) | 852 | (assoc-ref glib-or-gtk:%standard-phases 'glib-or-gtk-wrap))))) |
| 858 | (native-inputs | 853 | (native-inputs |
| 859 | `(("cppunit" ,cppunit) | 854 | `(("cppunit" ,cppunit) |
| 860 | ("gcc" ,gcc-8) ;requires gcc 8+ | ||
| 861 | ("gettext" ,gettext-minimal) | 855 | ("gettext" ,gettext-minimal) |
| 862 | ("pkg-config" ,pkg-config))) | 856 | ("pkg-config" ,pkg-config))) |
| 863 | (inputs | 857 | (inputs |
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm index 7c73b401819..0636b2b3ea4 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm | |||
| @@ -1699,14 +1699,14 @@ Python 3.3+.") | |||
| 1699 | (define-public python-pyicu | 1699 | (define-public python-pyicu |
| 1700 | (package | 1700 | (package |
| 1701 | (name "python-pyicu") | 1701 | (name "python-pyicu") |
| 1702 | (version "2.3.1") | 1702 | (version "2.4.3") |
| 1703 | (source | 1703 | (source |
| 1704 | (origin | 1704 | (origin |
| 1705 | (method url-fetch) | 1705 | (method url-fetch) |
| 1706 | (uri (pypi-uri "PyICU" version)) | 1706 | (uri (pypi-uri "PyICU" version)) |
| 1707 | (sha256 | 1707 | (sha256 |
| 1708 | (base32 | 1708 | (base32 |
| 1709 | "1x4w8m7ifki9z2a187pgjr33z6z0rp2fii9b73djak1vhm9v9cnx")))) | 1709 | "075bw66b3w0nw6mc5k32fwmrhyrmq3d7da3q2mw212qfmm0pgjn0")))) |
| 1710 | (build-system python-build-system) | 1710 | (build-system python-build-system) |
| 1711 | (inputs | 1711 | (inputs |
| 1712 | `(("icu4c" ,icu4c))) | 1712 | `(("icu4c" ,icu4c))) |
| @@ -1717,24 +1717,10 @@ Python 3.3+.") | |||
| 1717 | (synopsis "Python extension wrapping the ICU C++ API") | 1717 | (synopsis "Python extension wrapping the ICU C++ API") |
| 1718 | (description | 1718 | (description |
| 1719 | "PyICU is a python extension wrapping the ICU C++ API.") | 1719 | "PyICU is a python extension wrapping the ICU C++ API.") |
| 1720 | (properties `((python2-variant . ,(delay python2-pyicu)))) | ||
| 1721 | (license license:x11))) | 1720 | (license license:x11))) |
| 1722 | 1721 | ||
| 1723 | (define-public python2-pyicu | 1722 | (define-public python2-pyicu |
| 1724 | (let ((base (package-with-python2 | 1723 | (package-with-python2 python-pyicu)) |
| 1725 | (strip-python2-variant python-pyicu)))) | ||
| 1726 | (package | ||
| 1727 | (inherit base) | ||
| 1728 | (arguments | ||
| 1729 | `(,@(package-arguments base) | ||
| 1730 | #:phases | ||
| 1731 | (modify-phases %standard-phases | ||
| 1732 | (add-before 'check 'delete-failing-test | ||
| 1733 | (λ _ | ||
| 1734 | ;; XXX: This fails due to Unicode issues unique to Python 2, | ||
| 1735 | ;; it seems: <https://github.com/ovalhub/pyicu/issues/61>. | ||
| 1736 | (delete-file "test/test_Script.py") | ||
| 1737 | #t)))))))) | ||
| 1738 | 1724 | ||
| 1739 | (define-public python2-dogtail | 1725 | (define-public python2-dogtail |
| 1740 | ;; Python 2 only, as it leads to "TabError: inconsistent use of tabs and | 1726 | ;; Python 2 only, as it leads to "TabError: inconsistent use of tabs and |
| @@ -3877,14 +3863,14 @@ provides additional functionality on the produced Mallard documents.") | |||
| 3877 | (define-public python-cython | 3863 | (define-public python-cython |
| 3878 | (package | 3864 | (package |
| 3879 | (name "python-cython") | 3865 | (name "python-cython") |
| 3880 | (version "0.29.15") | 3866 | (version "0.29.16") |
| 3881 | (source | 3867 | (source |
| 3882 | (origin | 3868 | (origin |
| 3883 | (method url-fetch) | 3869 | (method url-fetch) |
| 3884 | (uri (pypi-uri "Cython" version)) | 3870 | (uri (pypi-uri "Cython" version)) |
| 3885 | (sha256 | 3871 | (sha256 |
| 3886 | (base32 | 3872 | (base32 |
| 3887 | "0c5cjyxfvba6c0vih1fvhywp8bpz30vwvbjqdm1q1k55xzhmkn30")))) | 3873 | "01gs10myw0rw4jsikvqs0859fg7gficxhv508cxvnb4l9wl5a9r3")))) |
| 3888 | (build-system python-build-system) | 3874 | (build-system python-build-system) |
| 3889 | ;; we need the full python package and not just the python-wrapper | 3875 | ;; we need the full python package and not just the python-wrapper |
| 3890 | ;; because we need libpython3.3m.so | 3876 | ;; because we need libpython3.3m.so |
| @@ -6499,14 +6485,14 @@ computing.") | |||
| 6499 | (define-public python-urwid | 6485 | (define-public python-urwid |
| 6500 | (package | 6486 | (package |
| 6501 | (name "python-urwid") | 6487 | (name "python-urwid") |
| 6502 | (version "2.0.1") | 6488 | (version "2.1.0") |
| 6503 | (source | 6489 | (source |
| 6504 | (origin | 6490 | (origin |
| 6505 | (method url-fetch) | 6491 | (method url-fetch) |
| 6506 | (uri (pypi-uri "urwid" version)) | 6492 | (uri (pypi-uri "urwid" version)) |
| 6507 | (sha256 | 6493 | (sha256 |
| 6508 | (base32 | 6494 | (base32 |
| 6509 | "1g6cpicybvbananpjikmjk8npmjk4xvak1wjzji62wc600wkwkb4")))) | 6495 | "11ndnhxd41m13darf5s0c6bafdpkzq1l6mfb04wbzdmyc1hg75h8")))) |
| 6510 | (build-system python-build-system) | 6496 | (build-system python-build-system) |
| 6511 | (home-page "http://urwid.org") | 6497 | (home-page "http://urwid.org") |
| 6512 | (synopsis "Console user interface library for Python") | 6498 | (synopsis "Console user interface library for Python") |
| @@ -8037,14 +8023,14 @@ printing of sub-tables by specifying a row range.") | |||
| 8037 | (define-public python-tables | 8023 | (define-public python-tables |
| 8038 | (package | 8024 | (package |
| 8039 | (name "python-tables") | 8025 | (name "python-tables") |
| 8040 | (version "3.4.4") | 8026 | (version "3.6.1") |
| 8041 | (source | 8027 | (source |
| 8042 | (origin | 8028 | (origin |
| 8043 | (method url-fetch) | 8029 | (method url-fetch) |
| 8044 | (uri (pypi-uri "tables" version)) | 8030 | (uri (pypi-uri "tables" version)) |
| 8045 | (sha256 | 8031 | (sha256 |
| 8046 | (base32 | 8032 | (base32 |
| 8047 | "0affz7k8babh8wdmsgrz5jxrd569by2w8ffimcxs9wiaf5rw1idx")) | 8033 | "0j8vnxh2m5n0cyk9z3ndcj5n1zj5rdxgc1gb78bqlyn2lyw75aa9")) |
| 8048 | (modules '((guix build utils))) | 8034 | (modules '((guix build utils))) |
| 8049 | (snippet | 8035 | (snippet |
| 8050 | '(begin | 8036 | '(begin |
| @@ -8062,9 +8048,11 @@ printing of sub-tables by specifying a row range.") | |||
| 8062 | (add-after 'unpack 'use-gcc | 8048 | (add-after 'unpack 'use-gcc |
| 8063 | (lambda _ | 8049 | (lambda _ |
| 8064 | (substitute* "setup.py" | 8050 | (substitute* "setup.py" |
| 8065 | (("compiler = new_compiler\\(\\)" line) | 8051 | (("^( +)compiler = new_compiler\\(\\)" line indent) |
| 8066 | (string-append line | 8052 | (string-append line |
| 8067 | "\ncompiler.set_executables(compiler='gcc'," | 8053 | "\n" |
| 8054 | indent | ||
| 8055 | "compiler.set_executables(compiler='gcc'," | ||
| 8068 | "compiler_so='gcc'," | 8056 | "compiler_so='gcc'," |
| 8069 | "linker_exe='gcc'," | 8057 | "linker_exe='gcc'," |
| 8070 | "linker_so='gcc -shared')"))) | 8058 | "linker_so='gcc -shared')"))) |
| @@ -9421,13 +9409,13 @@ minimal and fast API targeting the following uses: | |||
| 9421 | (define-public python-icalendar | 9409 | (define-public python-icalendar |
| 9422 | (package | 9410 | (package |
| 9423 | (name "python-icalendar") | 9411 | (name "python-icalendar") |
| 9424 | (version "4.0.4") | 9412 | (version "4.0.5") |
| 9425 | (source (origin | 9413 | (source (origin |
| 9426 | (method url-fetch) | 9414 | (method url-fetch) |
| 9427 | (uri (pypi-uri "icalendar" version)) | 9415 | (uri (pypi-uri "icalendar" version)) |
| 9428 | (sha256 | 9416 | (sha256 |
| 9429 | (base32 | 9417 | (base32 |
| 9430 | "16gjvqv0n05jrb9g228pdjgzd3amz2pdhvcgsn1jypszjg5m2w9l")))) | 9418 | "14ynjj65kfmlcvpb7k097w789wvxncd3cr3xz5m1jz9yl9v6vv5q")))) |
| 9431 | (build-system python-build-system) | 9419 | (build-system python-build-system) |
| 9432 | (propagated-inputs | 9420 | (propagated-inputs |
| 9433 | `(("python-dateutil" ,python-dateutil) | 9421 | `(("python-dateutil" ,python-dateutil) |
| @@ -9516,20 +9504,20 @@ with a new public API, and RPython support.") | |||
| 9516 | (define-public python-hy | 9504 | (define-public python-hy |
| 9517 | (package | 9505 | (package |
| 9518 | (name "python-hy") | 9506 | (name "python-hy") |
| 9519 | (version "0.17.0") | 9507 | (version "0.18.0") |
| 9520 | (source (origin | 9508 | (source (origin |
| 9521 | (method url-fetch) | 9509 | (method url-fetch) |
| 9522 | (uri (pypi-uri "hy" version)) | 9510 | (uri (pypi-uri "hy" version)) |
| 9523 | (sha256 | 9511 | (sha256 |
| 9524 | (base32 | 9512 | (base32 |
| 9525 | "1gdbqsirsdxj320wnp7my5awzs1kfs6m4fqmkzbd1zd47qzj0zfi")))) | 9513 | "04dfwm336gw61fmgwikvh0cnxk682p19b4w555wl5d7mlym4rwj2")))) |
| 9526 | (build-system python-build-system) | 9514 | (build-system python-build-system) |
| 9527 | (arguments | 9515 | (arguments |
| 9528 | '(#:phases | 9516 | '(#:phases |
| 9529 | (modify-phases %standard-phases | 9517 | (modify-phases %standard-phases |
| 9530 | (add-before 'install 'set-HOME | 9518 | (add-before 'install 'set-HOME |
| 9531 | (lambda _ | 9519 | (lambda _ |
| 9532 | (setenv "HOME" "/tmp"))) | 9520 | (setenv "HOME" "/tmp") #t)) |
| 9533 | (replace 'check | 9521 | (replace 'check |
| 9534 | (lambda _ | 9522 | (lambda _ |
| 9535 | ;; Tests require write access to HOME. | 9523 | ;; Tests require write access to HOME. |
| @@ -9540,10 +9528,8 @@ with a new public API, and RPython support.") | |||
| 9540 | ("python-nose" ,python-nose))) | 9528 | ("python-nose" ,python-nose))) |
| 9541 | (propagated-inputs | 9529 | (propagated-inputs |
| 9542 | `(("python-astor" ,python-astor) | 9530 | `(("python-astor" ,python-astor) |
| 9543 | ("python-clint" ,python-clint) | 9531 | ("python-colorama" ,python-colorama) |
| 9544 | ("python-rply" ,python-rply) | 9532 | ("python-rply" ,python-rply) |
| 9545 | ("python-fastentrypoints" | ||
| 9546 | ,python-fastentrypoints) | ||
| 9547 | ("python-funcparserlib" | 9533 | ("python-funcparserlib" |
| 9548 | ,python-funcparserlib))) | 9534 | ,python-funcparserlib))) |
| 9549 | (home-page "http://hylang.org/") | 9535 | (home-page "http://hylang.org/") |
| @@ -9554,9 +9540,6 @@ its Lisp code into the Python Abstract Syntax Tree, you have the whole world of | |||
| 9554 | Python at your fingertips, in Lisp form.") | 9540 | Python at your fingertips, in Lisp form.") |
| 9555 | (license license:expat))) | 9541 | (license license:expat))) |
| 9556 | 9542 | ||
| 9557 | (define-public python2-hy | ||
| 9558 | (package-with-python2 python-hy)) | ||
| 9559 | |||
| 9560 | (define-public python2-functools32 | 9543 | (define-public python2-functools32 |
| 9561 | (package | 9544 | (package |
| 9562 | (name "python2-functools32") | 9545 | (name "python2-functools32") |
| @@ -10357,13 +10340,13 @@ programmatically interfacing with your system's $EDITOR.") | |||
| 10357 | (define-public python-vobject | 10340 | (define-public python-vobject |
| 10358 | (package | 10341 | (package |
| 10359 | (name "python-vobject") | 10342 | (name "python-vobject") |
| 10360 | (version "0.9.5") | 10343 | (version "0.9.6.1") |
| 10361 | (source (origin | 10344 | (source (origin |
| 10362 | (method url-fetch) | 10345 | (method url-fetch) |
| 10363 | (uri (pypi-uri "vobject" version)) | 10346 | (uri (pypi-uri "vobject" version)) |
| 10364 | (sha256 | 10347 | (sha256 |
| 10365 | (base32 | 10348 | (base32 |
| 10366 | "0hqjgf3ay1m5w1c0k00g5yfpdz1zni5qnr5rh9b8fg9hjvhwlmhg")))) | 10349 | "0081g4gngw28j7vw8101jk600wz4gzfrhf5myrqvn2mrfkn2llcn")))) |
| 10367 | (build-system python-build-system) | 10350 | (build-system python-build-system) |
| 10368 | (arguments | 10351 | (arguments |
| 10369 | '(;; The test suite relies on some non-portable Windows interfaces. | 10352 | '(;; The test suite relies on some non-portable Windows interfaces. |
| @@ -10374,7 +10357,7 @@ programmatically interfacing with your system's $EDITOR.") | |||
| 10374 | (synopsis "Parse and generate vCard and vCalendar files") | 10357 | (synopsis "Parse and generate vCard and vCalendar files") |
| 10375 | (description "Vobject is intended to be a full featured Python package for | 10358 | (description "Vobject is intended to be a full featured Python package for |
| 10376 | parsing and generating vCard and vCalendar files. Currently, iCalendar files | 10359 | parsing and generating vCard and vCalendar files. Currently, iCalendar files |
| 10377 | are supported and well tested. vCard 3.0 files are supported, and all data | 10360 | are supported and well tested. vCard 3.0 files are supported, and all data |
| 10378 | should be imported, but only a few components are understood in a sophisticated | 10361 | should be imported, but only a few components are understood in a sophisticated |
| 10379 | way.") | 10362 | way.") |
| 10380 | (home-page "https://eventable.github.io/vobject/") | 10363 | (home-page "https://eventable.github.io/vobject/") |
| @@ -11997,6 +11980,7 @@ characters, mouse support, and auto suggestions.") | |||
| 11997 | (origin | 11980 | (origin |
| 11998 | (method url-fetch) | 11981 | (method url-fetch) |
| 11999 | (uri (pypi-uri "jedi" version)) | 11982 | (uri (pypi-uri "jedi" version)) |
| 11983 | (patches (search-patches "python-jedi-sort-project-test.patch")) | ||
| 12000 | (sha256 | 11984 | (sha256 |
| 12001 | (base32 | 11985 | (base32 |
| 12002 | "0c1h9x3a9klvk2g288wl328x8xgzw7136k6vs9hkd56b85vcjh6z")))) | 11986 | "0c1h9x3a9klvk2g288wl328x8xgzw7136k6vs9hkd56b85vcjh6z")))) |
| @@ -12007,7 +11991,7 @@ characters, mouse support, and auto suggestions.") | |||
| 12007 | (replace 'check | 11991 | (replace 'check |
| 12008 | (lambda _ | 11992 | (lambda _ |
| 12009 | (setenv "HOME" "/tmp") | 11993 | (setenv "HOME" "/tmp") |
| 12010 | (invoke "python" "-m" "pytest")))))) | 11994 | (invoke "python" "-m" "pytest" "-vv")))))) |
| 12011 | (native-inputs | 11995 | (native-inputs |
| 12012 | `(("python-pytest" ,python-pytest) | 11996 | `(("python-pytest" ,python-pytest) |
| 12013 | ("python-docopt" ,python-docopt))) | 11997 | ("python-docopt" ,python-docopt))) |
diff --git a/gnu/packages/radio.scm b/gnu/packages/radio.scm index a84a31fd9c8..8f1562a176c 100644 --- a/gnu/packages/radio.scm +++ b/gnu/packages/radio.scm | |||
| @@ -35,6 +35,7 @@ | |||
| 35 | #:use-module (gnu packages check) | 35 | #:use-module (gnu packages check) |
| 36 | #:use-module (gnu packages documentation) | 36 | #:use-module (gnu packages documentation) |
| 37 | #:use-module (gnu packages engineering) | 37 | #:use-module (gnu packages engineering) |
| 38 | #:use-module (gnu packages fltk) | ||
| 38 | #:use-module (gnu packages ghostscript) | 39 | #:use-module (gnu packages ghostscript) |
| 39 | #:use-module (gnu packages glib) | 40 | #:use-module (gnu packages glib) |
| 40 | #:use-module (gnu packages gstreamer) | 41 | #:use-module (gnu packages gstreamer) |
| @@ -525,3 +526,121 @@ to the fix block above. | |||
| 525 | using GNU Radio and the Qt GUI toolkit.") | 526 | using GNU Radio and the Qt GUI toolkit.") |
| 526 | (home-page "https://gqrx.dk/") | 527 | (home-page "https://gqrx.dk/") |
| 527 | (license license:gpl3+))) | 528 | (license license:gpl3+))) |
| 529 | |||
| 530 | (define-public fldigi | ||
| 531 | (package | ||
| 532 | (name "fldigi") | ||
| 533 | (version "4.1.11") | ||
| 534 | (source | ||
| 535 | (origin | ||
| 536 | (method url-fetch) | ||
| 537 | (uri (string-append "http://www.w1hkj.com/files/fldigi/fldigi-" | ||
| 538 | version ".tar.gz")) | ||
| 539 | (sha256 | ||
| 540 | (base32 "1y62xn1pim38ibaf2mbl8b7aq20jdaac6lgggb9r402w9bj5b196")))) | ||
| 541 | (build-system gnu-build-system) | ||
| 542 | (native-inputs | ||
| 543 | `(("pkg-config" ,pkg-config))) | ||
| 544 | (inputs | ||
| 545 | `(("alsa-lib" ,alsa-lib) | ||
| 546 | ("fltk" ,fltk) | ||
| 547 | ("libpng" ,libpng) | ||
| 548 | ("libsamplerate" ,libsamplerate) | ||
| 549 | ("libx11" ,libx11) | ||
| 550 | ("libxext" ,libxext) | ||
| 551 | ("libxfixes" ,libxfixes) | ||
| 552 | ("libxft" ,libxft) | ||
| 553 | ("portaudio" ,portaudio) | ||
| 554 | ("pulseaudio" ,pulseaudio))) | ||
| 555 | (synopsis "Software modem for amateur radio use") | ||
| 556 | (description | ||
| 557 | "Fldigi is a software modem for amateur radio use. It is a sound card | ||
| 558 | based program that is used for both transmitting and receiving data by | ||
| 559 | connecting the microphone and headphone connections of a computer to some radio | ||
| 560 | hardware.") | ||
| 561 | (home-page "http://www.w1hkj.com/") | ||
| 562 | (license license:gpl3+))) | ||
| 563 | |||
| 564 | (define-public flrig | ||
| 565 | (package | ||
| 566 | (name "flrig") | ||
| 567 | (version "1.3.50") | ||
| 568 | (source | ||
| 569 | (origin | ||
| 570 | (method url-fetch) | ||
| 571 | (uri (string-append "http://www.w1hkj.com/files/flrig/flrig-" | ||
| 572 | version ".tar.gz")) | ||
| 573 | (sha256 | ||
| 574 | (base32 "0fzrknzzi8kmzmrcfpc8rxr7v4a4ny6z6z5q5qwh95sp2kn2qzp9")))) | ||
| 575 | (build-system gnu-build-system) | ||
| 576 | (native-inputs | ||
| 577 | `(("pkg-config" ,pkg-config))) | ||
| 578 | (inputs | ||
| 579 | `(("fltk" ,fltk) | ||
| 580 | ("libx11" ,libx11) | ||
| 581 | ("libxext" ,libxext) | ||
| 582 | ("libxfixes" ,libxfixes) | ||
| 583 | ("libxft" ,libxft))) | ||
| 584 | (synopsis "Radio transceiver control program") | ||
| 585 | (description | ||
| 586 | "Flrig is a transceiver control program for amateur radio use. | ||
| 587 | It provides computer aided control of various radios using a serial | ||
| 588 | or USB connection.") | ||
| 589 | (home-page "http://www.w1hkj.com/") | ||
| 590 | (license license:gpl3+))) | ||
| 591 | |||
| 592 | (define-public flamp | ||
| 593 | (package | ||
| 594 | (name "flamp") | ||
| 595 | (version "2.2.05") | ||
| 596 | (source | ||
| 597 | (origin | ||
| 598 | (method url-fetch) | ||
| 599 | (uri (string-append "http://www.w1hkj.com/files/flamp/flamp-" | ||
| 600 | version ".tar.gz")) | ||
| 601 | (sha256 | ||
| 602 | (base32 "19z1kghhdf7bq6hi2j0mzlsn2nhpn3gl1a623x3inmsk80yw3ck4")))) | ||
| 603 | (build-system gnu-build-system) | ||
| 604 | (native-inputs | ||
| 605 | `(("pkg-config" ,pkg-config))) | ||
| 606 | (inputs | ||
| 607 | `(("fltk" ,fltk) | ||
| 608 | ("libx11" ,libx11) | ||
| 609 | ("libxext" ,libxext) | ||
| 610 | ("libxfixes" ,libxfixes) | ||
| 611 | ("libxft" ,libxft))) | ||
| 612 | (synopsis "Tool for AMP file transfer") | ||
| 613 | (description | ||
| 614 | "FLAMP is a program for transfering files by radio waves using AMP | ||
| 615 | (Amateur Multicast Protocol).") | ||
| 616 | (home-page "http://www.w1hkj.com/") | ||
| 617 | (license license:gpl3+))) | ||
| 618 | |||
| 619 | (define-public flwrap | ||
| 620 | (package | ||
| 621 | (name "flwrap") | ||
| 622 | (version "1.3.5") | ||
| 623 | (source | ||
| 624 | (origin | ||
| 625 | (method url-fetch) | ||
| 626 | (uri (string-append "http://www.w1hkj.com/files/flwrap/flwrap-" | ||
| 627 | version ".tar.gz")) | ||
| 628 | (sha256 | ||
| 629 | (base32 "0qqivqkkravcg7j45740xfky2q3k7czqpkj6y364qff424q2pppg")))) | ||
| 630 | (build-system gnu-build-system) | ||
| 631 | (native-inputs | ||
| 632 | `(("pkg-config" ,pkg-config))) | ||
| 633 | (inputs | ||
| 634 | `(("fltk" ,fltk) | ||
| 635 | ("libx11" ,libx11) | ||
| 636 | ("libxext" ,libxext) | ||
| 637 | ("libxfixes" ,libxfixes) | ||
| 638 | ("libxft" ,libxft))) | ||
| 639 | (synopsis "File encapsulation program") | ||
| 640 | (description | ||
| 641 | "Flwrap is a software utility for amateur radio use. Its purpose is to | ||
| 642 | encapsulate both text and binary files in a way that allows them to be | ||
| 643 | transmitted over any of several digital modes and verified at the receipt end | ||
| 644 | for correctness.") | ||
| 645 | (home-page "http://www.w1hkj.com/") | ||
| 646 | (license license:gpl3+))) | ||
diff --git a/gnu/packages/vim.scm b/gnu/packages/vim.scm index 1d70de2ffae..ff7da7958f8 100644 --- a/gnu/packages/vim.scm +++ b/gnu/packages/vim.scm | |||
| @@ -851,7 +851,7 @@ through its msgpack-rpc API.") | |||
| 851 | (define-public vim-asyncrun | 851 | (define-public vim-asyncrun |
| 852 | (package | 852 | (package |
| 853 | (name "vim-asyncrun") | 853 | (name "vim-asyncrun") |
| 854 | (version "2.7.1") | 854 | (version "2.7.5") |
| 855 | (source (origin | 855 | (source (origin |
| 856 | (method git-fetch) | 856 | (method git-fetch) |
| 857 | (uri (git-reference | 857 | (uri (git-reference |
| @@ -860,7 +860,7 @@ through its msgpack-rpc API.") | |||
| 860 | (file-name (git-file-name name version)) | 860 | (file-name (git-file-name name version)) |
| 861 | (sha256 | 861 | (sha256 |
| 862 | (base32 | 862 | (base32 |
| 863 | "0f7slvz28772qsbrb8xfwrkprfm90wc9i36xhn797lacxcxgwqpw")))) | 863 | "02fiqf4rcrxbcgvj02mpd78wkxsrnbi54aciwh9fv5mnz5ka249m")))) |
| 864 | (build-system copy-build-system) | 864 | (build-system copy-build-system) |
| 865 | (arguments | 865 | (arguments |
| 866 | '(#:install-plan | 866 | '(#:install-plan |
diff --git a/gnu/packages/xfce.scm b/gnu/packages/xfce.scm index c17cd8ed403..1851a274067 100644 --- a/gnu/packages/xfce.scm +++ b/gnu/packages/xfce.scm | |||
| @@ -711,15 +711,15 @@ and import the new pictures from your camera.") | |||
| 711 | (define-public xfwm4 | 711 | (define-public xfwm4 |
| 712 | (package | 712 | (package |
| 713 | (name "xfwm4") | 713 | (name "xfwm4") |
| 714 | (version "4.14.0") | 714 | (version "4.14.1") |
| 715 | (source (origin | 715 | (source (origin |
| 716 | (method url-fetch) | 716 | (method url-fetch) |
| 717 | (uri (string-append "https://archive.xfce.org/src/xfce/" | 717 | (uri (string-append "https://archive.xfce.org/src/xfce/" |
| 718 | name "/" (version-major+minor version) "/" | 718 | "xfwm4/" (version-major+minor version) "/" |
| 719 | name "-" version ".tar.bz2")) | 719 | "xfwm4-" version ".tar.bz2")) |
| 720 | (sha256 | 720 | (sha256 |
| 721 | (base32 | 721 | (base32 |
| 722 | "05dn4a1i0nm6wm3nyj7qli5bvfalxghcl7x543qr5l33vkw2n65l")))) | 722 | "0a0la57jh618qfl7czsn7mspcraqczkm1m616j7jwxkhh2hq21qh")))) |
| 723 | (build-system gnu-build-system) | 723 | (build-system gnu-build-system) |
| 724 | (native-inputs | 724 | (native-inputs |
| 725 | `(("pkg-config" ,pkg-config) | 725 | `(("pkg-config" ,pkg-config) |
| @@ -741,15 +741,15 @@ on the screen.") | |||
| 741 | (define-public xfdesktop | 741 | (define-public xfdesktop |
| 742 | (package | 742 | (package |
| 743 | (name "xfdesktop") | 743 | (name "xfdesktop") |
| 744 | (version "4.14.1") | 744 | (version "4.14.2") |
| 745 | (source (origin | 745 | (source (origin |
| 746 | (method url-fetch) | 746 | (method url-fetch) |
| 747 | (uri (string-append "https://archive.xfce.org/src/xfce/" | 747 | (uri (string-append "https://archive.xfce.org/src/xfce/" |
| 748 | name "/" (version-major+minor version) "/" | 748 | "xfdesktop/" (version-major+minor version) "/" |
| 749 | name "-" version ".tar.bz2")) | 749 | "xfdesktop-" version ".tar.bz2")) |
| 750 | (sha256 | 750 | (sha256 |
| 751 | (base32 | 751 | (base32 |
| 752 | "10pqxgpj7b57wpcsh2k98sj4aavcgxbs1lc8qsq4mibf4hba01gp")) | 752 | "0x1yx9sd5aanrlr1qnbwd2nsmcg09g4132k0kyb7z47a3x3381d3")) |
| 753 | (modules '((guix build utils))) | 753 | (modules '((guix build utils))) |
| 754 | (snippet | 754 | (snippet |
| 755 | #~(begin | 755 | #~(begin |
| @@ -781,6 +781,7 @@ on the screen.") | |||
| 781 | `(("pkg-config" ,pkg-config) | 781 | `(("pkg-config" ,pkg-config) |
| 782 | ("intltool" ,intltool) | 782 | ("intltool" ,intltool) |
| 783 | 783 | ||
| 784 | ;; For our own ‘prepare-background-image’ phase. | ||
| 784 | ("inkscape" ,inkscape) | 785 | ("inkscape" ,inkscape) |
| 785 | ("imagemagick" ,imagemagick))) | 786 | ("imagemagick" ,imagemagick))) |
| 786 | (inputs | 787 | (inputs |
| @@ -949,15 +950,15 @@ the desktop wallpaper.") | |||
| 949 | (define-public xfce4-taskmanager | 950 | (define-public xfce4-taskmanager |
| 950 | (package | 951 | (package |
| 951 | (name "xfce4-taskmanager") | 952 | (name "xfce4-taskmanager") |
| 952 | (version "1.2.2") | 953 | (version "1.2.3") |
| 953 | (source (origin | 954 | (source (origin |
| 954 | (method url-fetch) | 955 | (method url-fetch) |
| 955 | (uri (string-append "https://archive.xfce.org/src/apps/" | 956 | (uri (string-append "https://archive.xfce.org/src/apps/" |
| 956 | name "/" (version-major+minor version) "/" | 957 | "xfce4-taskmanager/" (version-major+minor version) "/" |
| 957 | name "-" version ".tar.bz2")) | 958 | "xfce4-taskmanager-" version ".tar.bz2")) |
| 958 | (sha256 | 959 | (sha256 |
| 959 | (base32 | 960 | (base32 |
| 960 | "04qflazmdrj4ys4r54yg4s5pqcjgk02idrjsls395zd4374636p4")))) | 961 | "1i63bnvpjpblnd0d3l1v065x9q1cz74cvlab5hzd0q8zgkd49z6w")))) |
| 961 | (build-system gnu-build-system) | 962 | (build-system gnu-build-system) |
| 962 | (native-inputs | 963 | (native-inputs |
| 963 | `(("intltool" ,intltool) | 964 | `(("intltool" ,intltool) |
diff --git a/gnu/packages/xorg.scm b/gnu/packages/xorg.scm index 47db1f507f4..21a24677c66 100644 --- a/gnu/packages/xorg.scm +++ b/gnu/packages/xorg.scm | |||
| @@ -14,7 +14,7 @@ | |||
| 14 | ;;; Copyright © 2017, 2018, 2019 Marius Bakke <mbakke@fastmail.com> | 14 | ;;; Copyright © 2017, 2018, 2019 Marius Bakke <mbakke@fastmail.com> |
| 15 | ;;; Copyright © 2017, 2018, 2019 Rutger Helling <rhelling@mykolab.com> | 15 | ;;; Copyright © 2017, 2018, 2019 Rutger Helling <rhelling@mykolab.com> |
| 16 | ;;; Copyright © 2017, 2020 Arun Isaac <arunisaac@systemreboot.net> | 16 | ;;; Copyright © 2017, 2020 Arun Isaac <arunisaac@systemreboot.net> |
| 17 | ;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr> | 17 | ;;; Copyright © 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr> |
| 18 | ;;; Copyright © 2018 Kei Kebreau <kkebreau@posteo.net> | 18 | ;;; Copyright © 2018 Kei Kebreau <kkebreau@posteo.net> |
| 19 | ;;; Copyright © 2018 Oleg Pykhalov <go.wigust@gmail.com> | 19 | ;;; Copyright © 2018 Oleg Pykhalov <go.wigust@gmail.com> |
| 20 | ;;; Copyright © 2018 Benjamin Slade <slade@jnanam.net> | 20 | ;;; Copyright © 2018 Benjamin Slade <slade@jnanam.net> |
| @@ -6004,7 +6004,7 @@ to answer a question. Xmessage can also exit after a specified time.") | |||
| 6004 | (define-public xterm | 6004 | (define-public xterm |
| 6005 | (package | 6005 | (package |
| 6006 | (name "xterm") | 6006 | (name "xterm") |
| 6007 | (version "351") | 6007 | (version "353") |
| 6008 | (source (origin | 6008 | (source (origin |
| 6009 | (method url-fetch) | 6009 | (method url-fetch) |
| 6010 | (uri (list | 6010 | (uri (list |
| @@ -6014,7 +6014,7 @@ to answer a question. Xmessage can also exit after a specified time.") | |||
| 6014 | "xterm-" version ".tgz"))) | 6014 | "xterm-" version ".tgz"))) |
| 6015 | (sha256 | 6015 | (sha256 |
| 6016 | (base32 | 6016 | (base32 |
| 6017 | "05kf586my4irrzz2bxgmwjdvynyrg9ybhvfqmx29g70w4888l2kn")))) | 6017 | "0s5pkfn4r8iy09s1q1y78zhnr9f3sm6wgbqir7azaqggkppd68g5")))) |
| 6018 | (build-system gnu-build-system) | 6018 | (build-system gnu-build-system) |
| 6019 | (arguments | 6019 | (arguments |
| 6020 | '(#:configure-flags '("--enable-wide-chars" "--enable-load-vt-fonts" | 6020 | '(#:configure-flags '("--enable-wide-chars" "--enable-load-vt-fonts" |
diff --git a/gnu/services/base.scm b/gnu/services/base.scm index 08ab5970dca..a532e884c3d 100644 --- a/gnu/services/base.scm +++ b/gnu/services/base.scm | |||
| @@ -61,11 +61,11 @@ | |||
| 61 | #:use-module (srfi srfi-26) | 61 | #:use-module (srfi srfi-26) |
| 62 | #:use-module (ice-9 match) | 62 | #:use-module (ice-9 match) |
| 63 | #:use-module (ice-9 format) | 63 | #:use-module (ice-9 format) |
| 64 | #:re-export (user-processes-service-type) ;backwards compatibility | ||
| 64 | #:export (fstab-service-type | 65 | #:export (fstab-service-type |
| 65 | root-file-system-service | 66 | root-file-system-service |
| 66 | file-system-service-type | 67 | file-system-service-type |
| 67 | swap-service | 68 | swap-service |
| 68 | user-processes-service-type | ||
| 69 | host-name-service | 69 | host-name-service |
| 70 | console-keymap-service | 70 | console-keymap-service |
| 71 | %default-console-font | 71 | %default-console-font |
| @@ -187,128 +187,6 @@ | |||
| 187 | 187 | ||
| 188 | 188 | ||
| 189 | ;;; | 189 | ;;; |
| 190 | ;;; User processes. | ||
| 191 | ;;; | ||
| 192 | |||
| 193 | (define %do-not-kill-file | ||
| 194 | ;; Name of the file listing PIDs of processes that must survive when halting | ||
| 195 | ;; the system. Typical example is user-space file systems. | ||
| 196 | "/etc/shepherd/do-not-kill") | ||
| 197 | |||
| 198 | (define (user-processes-shepherd-service requirements) | ||
| 199 | "Return the 'user-processes' Shepherd service with dependencies on | ||
| 200 | REQUIREMENTS (a list of service names). | ||
| 201 | |||
| 202 | This is a synchronization point used to make sure user processes and daemons | ||
| 203 | get started only after crucial initial services have been started---file | ||
| 204 | system mounts, etc. This is similar to the 'sysvinit' target in systemd." | ||
| 205 | (define grace-delay | ||
| 206 | ;; Delay after sending SIGTERM and before sending SIGKILL. | ||
| 207 | 4) | ||
| 208 | |||
| 209 | (list (shepherd-service | ||
| 210 | (documentation "When stopped, terminate all user processes.") | ||
| 211 | (provision '(user-processes)) | ||
| 212 | (requirement requirements) | ||
| 213 | (start #~(const #t)) | ||
| 214 | (stop #~(lambda _ | ||
| 215 | (define (kill-except omit signal) | ||
| 216 | ;; Kill all the processes with SIGNAL except those listed | ||
| 217 | ;; in OMIT and the current process. | ||
| 218 | (let ((omit (cons (getpid) omit))) | ||
| 219 | (for-each (lambda (pid) | ||
| 220 | (unless (memv pid omit) | ||
| 221 | (false-if-exception | ||
| 222 | (kill pid signal)))) | ||
| 223 | (processes)))) | ||
| 224 | |||
| 225 | (define omitted-pids | ||
| 226 | ;; List of PIDs that must not be killed. | ||
| 227 | (if (file-exists? #$%do-not-kill-file) | ||
| 228 | (map string->number | ||
| 229 | (call-with-input-file #$%do-not-kill-file | ||
| 230 | (compose string-tokenize | ||
| 231 | (@ (ice-9 rdelim) read-string)))) | ||
| 232 | '())) | ||
| 233 | |||
| 234 | (define (now) | ||
| 235 | (car (gettimeofday))) | ||
| 236 | |||
| 237 | (define (sleep* n) | ||
| 238 | ;; Really sleep N seconds. | ||
| 239 | ;; Work around <http://bugs.gnu.org/19581>. | ||
| 240 | (define start (now)) | ||
| 241 | (let loop ((elapsed 0)) | ||
| 242 | (when (> n elapsed) | ||
| 243 | (sleep (- n elapsed)) | ||
| 244 | (loop (- (now) start))))) | ||
| 245 | |||
| 246 | (define lset= (@ (srfi srfi-1) lset=)) | ||
| 247 | |||
| 248 | (display "sending all processes the TERM signal\n") | ||
| 249 | |||
| 250 | (if (null? omitted-pids) | ||
| 251 | (begin | ||
| 252 | ;; Easy: terminate all of them. | ||
| 253 | (kill -1 SIGTERM) | ||
| 254 | (sleep* #$grace-delay) | ||
| 255 | (kill -1 SIGKILL)) | ||
| 256 | (begin | ||
| 257 | ;; Kill them all except OMITTED-PIDS. XXX: We would | ||
| 258 | ;; like to (kill -1 SIGSTOP) to get a fixed list of | ||
| 259 | ;; processes, like 'killall5' does, but that seems | ||
| 260 | ;; unreliable. | ||
| 261 | (kill-except omitted-pids SIGTERM) | ||
| 262 | (sleep* #$grace-delay) | ||
| 263 | (kill-except omitted-pids SIGKILL) | ||
| 264 | (delete-file #$%do-not-kill-file))) | ||
| 265 | |||
| 266 | (let wait () | ||
| 267 | ;; Reap children, if any, so that we don't end up with | ||
| 268 | ;; zombies and enter an infinite loop. | ||
| 269 | (let reap-children () | ||
| 270 | (define result | ||
| 271 | (false-if-exception | ||
| 272 | (waitpid WAIT_ANY (if (null? omitted-pids) | ||
| 273 | 0 | ||
| 274 | WNOHANG)))) | ||
| 275 | |||
| 276 | (when (and (pair? result) | ||
| 277 | (not (zero? (car result)))) | ||
| 278 | (reap-children))) | ||
| 279 | |||
| 280 | (let ((pids (processes))) | ||
| 281 | (unless (lset= = pids (cons 1 omitted-pids)) | ||
| 282 | (format #t "waiting for process termination\ | ||
| 283 | (processes left: ~s)~%" | ||
| 284 | pids) | ||
| 285 | (sleep* 2) | ||
| 286 | (wait)))) | ||
| 287 | |||
| 288 | (display "all processes have been terminated\n") | ||
| 289 | #f)) | ||
| 290 | (respawn? #f)))) | ||
| 291 | |||
| 292 | (define user-processes-service-type | ||
| 293 | (service-type | ||
| 294 | (name 'user-processes) | ||
| 295 | (extensions (list (service-extension shepherd-root-service-type | ||
| 296 | user-processes-shepherd-service))) | ||
| 297 | (compose concatenate) | ||
| 298 | (extend append) | ||
| 299 | |||
| 300 | ;; The value is the list of Shepherd services 'user-processes' depends on. | ||
| 301 | ;; Extensions can add new services to this list. | ||
| 302 | (default-value '()) | ||
| 303 | |||
| 304 | (description "The @code{user-processes} service is responsible for | ||
| 305 | terminating all the processes so that the root file system can be re-mounted | ||
| 306 | read-only, just before rebooting/halting. Processes still running after a few | ||
| 307 | seconds after @code{SIGTERM} has been sent are terminated with | ||
| 308 | @code{SIGKILL}."))) | ||
| 309 | |||
| 310 | |||
| 311 | ;;; | ||
| 312 | ;;; File systems. | 190 | ;;; File systems. |
| 313 | ;;; | 191 | ;;; |
| 314 | 192 | ||
diff --git a/gnu/services/sddm.scm b/gnu/services/sddm.scm index 1921afce95f..59f8b169855 100644 --- a/gnu/services/sddm.scm +++ b/gnu/services/sddm.scm | |||
| @@ -170,7 +170,7 @@ Relogin=" (if (sddm-configuration-relogin? config) | |||
| 170 | (list (shepherd-service | 170 | (list (shepherd-service |
| 171 | (documentation "SDDM display manager.") | 171 | (documentation "SDDM display manager.") |
| 172 | (requirement '(user-processes)) | 172 | (requirement '(user-processes)) |
| 173 | (provision '(display-manager)) | 173 | (provision '(xorg-server display-manager)) |
| 174 | (start #~(make-forkexec-constructor #$sddm-command)) | 174 | (start #~(make-forkexec-constructor #$sddm-command)) |
| 175 | (stop #~(make-kill-destructor))))) | 175 | (stop #~(make-kill-destructor))))) |
| 176 | 176 | ||
diff --git a/gnu/services/shepherd.scm b/gnu/services/shepherd.scm index 9906ae43c48..e99458da432 100644 --- a/gnu/services/shepherd.scm +++ b/gnu/services/shepherd.scm | |||
| @@ -63,7 +63,9 @@ | |||
| 63 | 63 | ||
| 64 | shepherd-service-lookup-procedure | 64 | shepherd-service-lookup-procedure |
| 65 | shepherd-service-back-edges | 65 | shepherd-service-back-edges |
| 66 | shepherd-service-upgrade)) | 66 | shepherd-service-upgrade |
| 67 | |||
| 68 | user-processes-service-type)) | ||
| 67 | 69 | ||
| 68 | ;;; Commentary: | 70 | ;;; Commentary: |
| 69 | ;;; | 71 | ;;; |
| @@ -415,4 +417,126 @@ need to be restarted to complete their upgrade." | |||
| 415 | 417 | ||
| 416 | (values to-unload to-restart)) | 418 | (values to-unload to-restart)) |
| 417 | 419 | ||
| 420 | |||
| 421 | ;;; | ||
| 422 | ;;; User processes. | ||
| 423 | ;;; | ||
| 424 | |||
| 425 | (define %do-not-kill-file | ||
| 426 | ;; Name of the file listing PIDs of processes that must survive when halting | ||
| 427 | ;; the system. Typical example is user-space file systems. | ||
| 428 | "/etc/shepherd/do-not-kill") | ||
| 429 | |||
| 430 | (define (user-processes-shepherd-service requirements) | ||
| 431 | "Return the 'user-processes' Shepherd service with dependencies on | ||
| 432 | REQUIREMENTS (a list of service names). | ||
| 433 | |||
| 434 | This is a synchronization point used to make sure user processes and daemons | ||
| 435 | get started only after crucial initial services have been started---file | ||
| 436 | system mounts, etc. This is similar to the 'sysvinit' target in systemd." | ||
| 437 | (define grace-delay | ||
| 438 | ;; Delay after sending SIGTERM and before sending SIGKILL. | ||
| 439 | 4) | ||
| 440 | |||
| 441 | (list (shepherd-service | ||
| 442 | (documentation "When stopped, terminate all user processes.") | ||
| 443 | (provision '(user-processes)) | ||
| 444 | (requirement requirements) | ||
| 445 | (start #~(const #t)) | ||
| 446 | (stop #~(lambda _ | ||
| 447 | (define (kill-except omit signal) | ||
| 448 | ;; Kill all the processes with SIGNAL except those listed | ||
| 449 | ;; in OMIT and the current process. | ||
| 450 | (let ((omit (cons (getpid) omit))) | ||
| 451 | (for-each (lambda (pid) | ||
| 452 | (unless (memv pid omit) | ||
| 453 | (false-if-exception | ||
| 454 | (kill pid signal)))) | ||
| 455 | (processes)))) | ||
| 456 | |||
| 457 | (define omitted-pids | ||
| 458 | ;; List of PIDs that must not be killed. | ||
| 459 | (if (file-exists? #$%do-not-kill-file) | ||
| 460 | (map string->number | ||
| 461 | (call-with-input-file #$%do-not-kill-file | ||
| 462 | (compose string-tokenize | ||
| 463 | (@ (ice-9 rdelim) read-string)))) | ||
| 464 | '())) | ||
| 465 | |||
| 466 | (define (now) | ||
| 467 | (car (gettimeofday))) | ||
| 468 | |||
| 469 | (define (sleep* n) | ||
| 470 | ;; Really sleep N seconds. | ||
| 471 | ;; Work around <http://bugs.gnu.org/19581>. | ||
| 472 | (define start (now)) | ||
| 473 | (let loop ((elapsed 0)) | ||
| 474 | (when (> n elapsed) | ||
| 475 | (sleep (- n elapsed)) | ||
| 476 | (loop (- (now) start))))) | ||
| 477 | |||
| 478 | (define lset= (@ (srfi srfi-1) lset=)) | ||
| 479 | |||
| 480 | (display "sending all processes the TERM signal\n") | ||
| 481 | |||
| 482 | (if (null? omitted-pids) | ||
| 483 | (begin | ||
| 484 | ;; Easy: terminate all of them. | ||
| 485 | (kill -1 SIGTERM) | ||
| 486 | (sleep* #$grace-delay) | ||
| 487 | (kill -1 SIGKILL)) | ||
| 488 | (begin | ||
| 489 | ;; Kill them all except OMITTED-PIDS. XXX: We would | ||
| 490 | ;; like to (kill -1 SIGSTOP) to get a fixed list of | ||
| 491 | ;; processes, like 'killall5' does, but that seems | ||
| 492 | ;; unreliable. | ||
| 493 | (kill-except omitted-pids SIGTERM) | ||
| 494 | (sleep* #$grace-delay) | ||
| 495 | (kill-except omitted-pids SIGKILL) | ||
| 496 | (delete-file #$%do-not-kill-file))) | ||
| 497 | |||
| 498 | (let wait () | ||
| 499 | ;; Reap children, if any, so that we don't end up with | ||
| 500 | ;; zombies and enter an infinite loop. | ||
| 501 | (let reap-children () | ||
| 502 | (define result | ||
| 503 | (false-if-exception | ||
| 504 | (waitpid WAIT_ANY (if (null? omitted-pids) | ||
| 505 | 0 | ||
| 506 | WNOHANG)))) | ||
| 507 | |||
| 508 | (when (and (pair? result) | ||
| 509 | (not (zero? (car result)))) | ||
| 510 | (reap-children))) | ||
| 511 | |||
| 512 | (let ((pids (processes))) | ||
| 513 | (unless (lset= = pids (cons 1 omitted-pids)) | ||
| 514 | (format #t "waiting for process termination\ | ||
| 515 | (processes left: ~s)~%" | ||
| 516 | pids) | ||
| 517 | (sleep* 2) | ||
| 518 | (wait)))) | ||
| 519 | |||
| 520 | (display "all processes have been terminated\n") | ||
| 521 | #f)) | ||
| 522 | (respawn? #f)))) | ||
| 523 | |||
| 524 | (define user-processes-service-type | ||
| 525 | (service-type | ||
| 526 | (name 'user-processes) | ||
| 527 | (extensions (list (service-extension shepherd-root-service-type | ||
| 528 | user-processes-shepherd-service))) | ||
| 529 | (compose concatenate) | ||
| 530 | (extend append) | ||
| 531 | |||
| 532 | ;; The value is the list of Shepherd services 'user-processes' depends on. | ||
| 533 | ;; Extensions can add new services to this list. | ||
| 534 | (default-value '()) | ||
| 535 | |||
| 536 | (description "The @code{user-processes} service is responsible for | ||
| 537 | terminating all the processes so that the root file system can be re-mounted | ||
| 538 | read-only, just before rebooting/halting. Processes still running after a few | ||
| 539 | seconds after @code{SIGTERM} has been sent are terminated with | ||
| 540 | @code{SIGKILL}."))) | ||
| 541 | |||
| 418 | ;;; shepherd.scm ends here | 542 | ;;; shepherd.scm ends here |
diff --git a/gnu/system/shadow.scm b/gnu/system/shadow.scm index 42480e823c5..a6f1d806cf4 100644 --- a/gnu/system/shadow.scm +++ b/gnu/system/shadow.scm | |||
| @@ -1,5 +1,5 @@ | |||
| 1 | ;;; GNU Guix --- Functional package management for GNU | 1 | ;;; GNU Guix --- Functional package management for GNU |
| 2 | ;;; Copyright © 2013, 2014, 2015, 2016, 2017, 2018, 2019 Ludovic Courtès <ludo@gnu.org> | 2 | ;;; Copyright © 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020 Ludovic Courtès <ludo@gnu.org> |
| 3 | ;;; Copyright © 2016 Alex Griffin <a@ajgrf.com> | 3 | ;;; Copyright © 2016 Alex Griffin <a@ajgrf.com> |
| 4 | ;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen <janneke@gnu.org> | 4 | ;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen <janneke@gnu.org> |
| 5 | ;;; Copyright © 2020 Efraim Flashner <efraim@flashner.co.il> | 5 | ;;; Copyright © 2020 Efraim Flashner <efraim@flashner.co.il> |
| @@ -314,9 +314,7 @@ accounts among ACCOUNTS+GROUPS." | |||
| 314 | ;; | 314 | ;; |
| 315 | ;; XXX: We arrange for this service to stop right after it's done its job so | 315 | ;; XXX: We arrange for this service to stop right after it's done its job so |
| 316 | ;; that 'guix system reconfigure' knows that it can reload it fearlessly | 316 | ;; that 'guix system reconfigure' knows that it can reload it fearlessly |
| 317 | ;; (and thus create new home directories). The cost of this hack is that | 317 | ;; (and thus create new home directories). |
| 318 | ;; there's a small window during which first-time logins could happen before | ||
| 319 | ;; the home directory has been created. | ||
| 320 | (list (shepherd-service | 318 | (list (shepherd-service |
| 321 | (requirement '(file-systems)) | 319 | (requirement '(file-systems)) |
| 322 | (provision '(user-homes)) | 320 | (provision '(user-homes)) |
| @@ -374,6 +372,11 @@ the /etc/skel directory for those." | |||
| 374 | account-activation) | 372 | account-activation) |
| 375 | (service-extension shepherd-root-service-type | 373 | (service-extension shepherd-root-service-type |
| 376 | account-shepherd-service) | 374 | account-shepherd-service) |
| 375 | ;; Have 'user-processes' depend on 'user-homes' so that | ||
| 376 | ;; daemons start after their home directory has been | ||
| 377 | ;; created. | ||
| 378 | (service-extension user-processes-service-type | ||
| 379 | (const '(user-homes))) | ||
| 377 | (service-extension etc-service-type | 380 | (service-extension etc-service-type |
| 378 | etc-files))))) | 381 | etc-files))))) |
| 379 | 382 | ||
diff --git a/guix/build/syscalls.scm b/guix/build/syscalls.scm index 0938ec0ff10..7ef03417c11 100644 --- a/guix/build/syscalls.scm +++ b/guix/build/syscalls.scm | |||
| @@ -22,7 +22,6 @@ | |||
| 22 | 22 | ||
| 23 | (define-module (guix build syscalls) | 23 | (define-module (guix build syscalls) |
| 24 | #:use-module (system foreign) | 24 | #:use-module (system foreign) |
| 25 | #:use-module (system base target) ;for cross-compilation support | ||
| 26 | #:use-module (rnrs bytevectors) | 25 | #:use-module (rnrs bytevectors) |
| 27 | #:autoload (ice-9 binary-ports) (get-bytevector-n) | 26 | #:autoload (ice-9 binary-ports) (get-bytevector-n) |
| 28 | #:use-module (srfi srfi-1) | 27 | #:use-module (srfi srfi-1) |
| @@ -892,36 +891,6 @@ system to PUT-OLD." | |||
| 892 | (namelen uint8) | 891 | (namelen uint8) |
| 893 | (name uint8)) | 892 | (name uint8)) |
| 894 | 893 | ||
| 895 | (define-syntax define-generic-identifier | ||
| 896 | (syntax-rules (gnu/linux gnu/hurd =>) | ||
| 897 | "Define a generic identifier that adjust to the current GNU variant." | ||
| 898 | ((_ id (gnu/linux => linux) (gnu/hurd => hurd)) | ||
| 899 | (define-syntax id | ||
| 900 | (lambda (s) | ||
| 901 | (syntax-case s () | ||
| 902 | ((_ args (... ...)) | ||
| 903 | (if (string-contains (or (target-type) %host-type) | ||
| 904 | "linux") | ||
| 905 | #'(linux args (... ...)) | ||
| 906 | #'(hurd args (... ...)))) | ||
| 907 | (_ | ||
| 908 | (if (string-contains (or (target-type) %host-type) | ||
| 909 | "linux") | ||
| 910 | #'linux | ||
| 911 | #'hurd)))))))) | ||
| 912 | |||
| 913 | (define-generic-identifier read-dirent-header | ||
| 914 | (gnu/linux => read-dirent-header/linux) | ||
| 915 | (gnu/hurd => read-dirent-header/hurd)) | ||
| 916 | |||
| 917 | (define-generic-identifier %struct-dirent-header | ||
| 918 | (gnu/linux => %struct-dirent-header/linux) | ||
| 919 | (gnu/hurd => %struct-dirent-header/hurd)) | ||
| 920 | |||
| 921 | (define-generic-identifier sizeof-dirent-header | ||
| 922 | (gnu/linux => sizeof-dirent-header/linux) | ||
| 923 | (gnu/hurd => sizeof-dirent-header/hurd)) | ||
| 924 | |||
| 925 | ;; Constants for the 'type' field, from <dirent.h>. | 894 | ;; Constants for the 'type' field, from <dirent.h>. |
| 926 | (define DT_UNKNOWN 0) | 895 | (define DT_UNKNOWN 0) |
| 927 | (define DT_FIFO 1) | 896 | (define DT_FIFO 1) |
| @@ -960,19 +929,30 @@ system to PUT-OLD." | |||
| 960 | "closedir: ~A" (list (strerror err)) | 929 | "closedir: ~A" (list (strerror err)) |
| 961 | (list err))))))) | 930 | (list err))))))) |
| 962 | 931 | ||
| 963 | (define readdir* | 932 | (define (readdir-procedure name-field-offset sizeof-dirent-header |
| 933 | read-dirent-header) | ||
| 964 | (let ((proc (syscall->procedure '* "readdir64" '(*)))) | 934 | (let ((proc (syscall->procedure '* "readdir64" '(*)))) |
| 965 | (lambda* (directory #:optional (pointer->string pointer->string/utf-8)) | 935 | (lambda* (directory #:optional (pointer->string pointer->string/utf-8)) |
| 966 | (let ((ptr (proc directory))) | 936 | (let ((ptr (proc directory))) |
| 967 | (and (not (null-pointer? ptr)) | 937 | (and (not (null-pointer? ptr)) |
| 968 | (cons (pointer->string | 938 | (cons (pointer->string |
| 969 | (make-pointer (+ (pointer-address ptr) | 939 | (make-pointer (+ (pointer-address ptr) name-field-offset)) |
| 970 | (c-struct-field-offset | ||
| 971 | %struct-dirent-header name))) | ||
| 972 | -1) | 940 | -1) |
| 973 | (read-dirent-header | 941 | (read-dirent-header |
| 974 | (pointer->bytevector ptr sizeof-dirent-header)))))))) | 942 | (pointer->bytevector ptr sizeof-dirent-header)))))))) |
| 975 | 943 | ||
| 944 | (define readdir* | ||
| 945 | ;; Decide at run time which one must be used. | ||
| 946 | (if (string-suffix? "linux-gnu" %host-type) | ||
| 947 | (readdir-procedure (c-struct-field-offset %struct-dirent-header/linux | ||
| 948 | name) | ||
| 949 | sizeof-dirent-header/linux | ||
| 950 | read-dirent-header/linux) | ||
| 951 | (readdir-procedure (c-struct-field-offset %struct-dirent-header/hurd | ||
| 952 | name) | ||
| 953 | sizeof-dirent-header/hurd | ||
| 954 | read-dirent-header/hurd))) | ||
| 955 | |||
| 976 | (define* (scandir* name #:optional | 956 | (define* (scandir* name #:optional |
| 977 | (select? (const #t)) | 957 | (select? (const #t)) |
| 978 | (entry<? (lambda (entry1 entry2) | 958 | (entry<? (lambda (entry1 entry2) |
diff --git a/guix/gnupg.scm b/guix/gnupg.scm index bf0283f8fe8..5fae24b325a 100644 --- a/guix/gnupg.scm +++ b/guix/gnupg.scm | |||
| @@ -1,6 +1,7 @@ | |||
| 1 | ;;; GNU Guix --- Functional package management for GNU | 1 | ;;; GNU Guix --- Functional package management for GNU |
| 2 | ;;; Copyright © 2010, 2011, 2013, 2014, 2016, 2018, 2019 Ludovic Courtès <ludo@gnu.org> | 2 | ;;; Copyright © 2010, 2011, 2013, 2014, 2016, 2018, 2019 Ludovic Courtès <ludo@gnu.org> |
| 3 | ;;; Copyright © 2013 Nikita Karetnikov <nikita@karetnikov.org> | 3 | ;;; Copyright © 2013 Nikita Karetnikov <nikita@karetnikov.org> |
| 4 | ;;; Copyright © 2020 Tobias Geerinckx-Rice <me@tobias.gr> | ||
| 4 | ;;; | 5 | ;;; |
| 5 | ;;; This file is part of GNU Guix. | 6 | ;;; This file is part of GNU Guix. |
| 6 | ;;; | 7 | ;;; |
| @@ -71,6 +72,8 @@ | |||
| 71 | "^\\[GNUPG:\\] VALIDSIG ([[:xdigit:]]+) ([[:digit:]]{4}-[[:digit:]]{2}-[[:digit:]]{2}) ([[:digit:]]+) .*$")) | 72 | "^\\[GNUPG:\\] VALIDSIG ([[:xdigit:]]+) ([[:digit:]]{4}-[[:digit:]]{2}-[[:digit:]]{2}) ([[:digit:]]+) .*$")) |
| 72 | (define expkeysig-rx ; good signature, but expired key | 73 | (define expkeysig-rx ; good signature, but expired key |
| 73 | (make-regexp "^\\[GNUPG:\\] EXPKEYSIG ([[:xdigit:]]+) (.*)$")) | 74 | (make-regexp "^\\[GNUPG:\\] EXPKEYSIG ([[:xdigit:]]+) (.*)$")) |
| 75 | (define revkeysig-rx ; good signature, but revoked key | ||
| 76 | (make-regexp "^\\[GNUPG:\\] REVKEYSIG ([[:xdigit:]]+) (.*)$")) | ||
| 74 | (define errsig-rx | 77 | (define errsig-rx |
| 75 | ;; Note: The fingeprint part (the last element of the line) appeared in | 78 | ;; Note: The fingeprint part (the last element of the line) appeared in |
| 76 | ;; GnuPG 2.2.7 according to 'doc/DETAILS', and it may be missing. | 79 | ;; GnuPG 2.2.7 according to 'doc/DETAILS', and it may be missing. |
| @@ -114,6 +117,11 @@ revoked. Return a status s-exp if GnuPG failed." | |||
| 114 | (lambda (match) | 117 | (lambda (match) |
| 115 | `(expired-key-signature ,(match:substring match 1) ; fingerprint | 118 | `(expired-key-signature ,(match:substring match 1) ; fingerprint |
| 116 | ,(match:substring match 2)))) ; user name | 119 | ,(match:substring match 2)))) ; user name |
| 120 | ((regexp-exec revkeysig-rx line) | ||
| 121 | => | ||
| 122 | (lambda (match) | ||
| 123 | `(revoked-key-signature ,(match:substring match 1) ; fingerprint | ||
| 124 | ,(match:substring match 2)))) ; user name | ||
| 117 | ((regexp-exec errsig-rx line) | 125 | ((regexp-exec errsig-rx line) |
| 118 | => | 126 | => |
| 119 | (lambda (match) | 127 | (lambda (match) |
| @@ -157,7 +165,8 @@ a fingerprint/user pair; return #f otherwise." | |||
| 157 | (match (assq 'valid-signature status) | 165 | (match (assq 'valid-signature status) |
| 158 | (('valid-signature fingerprint date timestamp) | 166 | (('valid-signature fingerprint date timestamp) |
| 159 | (match (or (assq 'good-signature status) | 167 | (match (or (assq 'good-signature status) |
| 160 | (assq 'expired-key-signature status)) | 168 | (assq 'expired-key-signature status) |
| 169 | (assq 'revoked-key-signature status)) | ||
| 161 | ((_ key-id user) (cons fingerprint user)) | 170 | ((_ key-id user) (cons fingerprint user)) |
| 162 | (_ #f))) | 171 | (_ #f))) |
| 163 | (_ | 172 | (_ |
diff --git a/guix/import/json.scm b/guix/import/json.scm index 8900724dcdf..0c98bb25b82 100644 --- a/guix/import/json.scm +++ b/guix/import/json.scm | |||
| @@ -2,6 +2,7 @@ | |||
| 2 | ;;; Copyright © 2014 David Thompson <davet@gnu.org> | 2 | ;;; Copyright © 2014 David Thompson <davet@gnu.org> |
| 3 | ;;; Copyright © 2015, 2016 Eric Bavier <bavier@member.fsf.org> | 3 | ;;; Copyright © 2015, 2016 Eric Bavier <bavier@member.fsf.org> |
| 4 | ;;; Copyright © 2018, 2019 Ludovic Courtès <ludo@gnu.org> | 4 | ;;; Copyright © 2018, 2019 Ludovic Courtès <ludo@gnu.org> |
| 5 | ;;; Copyright © 2020 Ricardo Wurmus <rekado@elephly.net> | ||
| 5 | ;;; | 6 | ;;; |
| 6 | ;;; This file is part of GNU Guix. | 7 | ;;; This file is part of GNU Guix. |
| 7 | ;;; | 8 | ;;; |
| @@ -22,8 +23,16 @@ | |||
| 22 | #:use-module (json) | 23 | #:use-module (json) |
| 23 | #:use-module (guix http-client) | 24 | #:use-module (guix http-client) |
| 24 | #:use-module (guix import utils) | 25 | #:use-module (guix import utils) |
| 26 | #:use-module (guix import print) | ||
| 27 | #:use-module (ice-9 match) | ||
| 28 | #:use-module (ice-9 rdelim) | ||
| 29 | #:use-module (srfi srfi-1) | ||
| 30 | #:use-module (srfi srfi-2) | ||
| 31 | #:use-module (srfi srfi-26) | ||
| 25 | #:use-module (srfi srfi-34) | 32 | #:use-module (srfi srfi-34) |
| 26 | #:export (json-fetch)) | 33 | #:export (json-fetch |
| 34 | json->code | ||
| 35 | json->scheme-file)) | ||
| 27 | 36 | ||
| 28 | (define* (json-fetch url | 37 | (define* (json-fetch url |
| 29 | ;; Note: many websites returns 403 if we omit a | 38 | ;; Note: many websites returns 403 if we omit a |
| @@ -42,3 +51,53 @@ the query." | |||
| 42 | (result (json->scm port))) | 51 | (result (json->scm port))) |
| 43 | (close-port port) | 52 | (close-port port) |
| 44 | result))) | 53 | result))) |
| 54 | |||
| 55 | (define (json->code file-name) | ||
| 56 | "Read FILE-NAME containing one ore more JSON package definitions and return | ||
| 57 | a list of S-expressions, or return #F when the JSON is invalid." | ||
| 58 | (catch 'json-invalid | ||
| 59 | (lambda () | ||
| 60 | (let ((json (json-string->scm | ||
| 61 | (with-input-from-file file-name read-string)))) | ||
| 62 | (match json | ||
| 63 | (#(packages ...) | ||
| 64 | ;; To allow definitions to refer to one another, collect references | ||
| 65 | ;; to local definitions and tell alist->package to ignore them. | ||
| 66 | (second | ||
| 67 | (memq #:result | ||
| 68 | (fold | ||
| 69 | (lambda (pkg names+result) | ||
| 70 | (match names+result | ||
| 71 | ((#:names names #:result result) | ||
| 72 | (list #:names | ||
| 73 | (cons (assoc-ref pkg "name") names) | ||
| 74 | #:result | ||
| 75 | (append result | ||
| 76 | (list | ||
| 77 | (package->code (alist->package pkg names)) | ||
| 78 | (string->symbol (assoc-ref pkg "name")))))))) | ||
| 79 | (list #:names '() | ||
| 80 | #:result '()) | ||
| 81 | packages)))) | ||
| 82 | (package | ||
| 83 | (list (package->code (alist->package json)) | ||
| 84 | (string->symbol (assoc-ref json "name"))))))) | ||
| 85 | (const #f))) | ||
| 86 | |||
| 87 | (define (json->scheme-file file) | ||
| 88 | "Convert the FILE containing a JSON package definition to a Scheme | ||
| 89 | representation and return the new file name (or #F on error)." | ||
| 90 | (and-let* ((sexprs (json->code file)) | ||
| 91 | (file* (let* ((tempdir (or (getenv "TMPDIR") "/tmp")) | ||
| 92 | (template (string-append tempdir "/guix-XXXXXX")) | ||
| 93 | (port (mkstemp! template))) | ||
| 94 | (close-port port) | ||
| 95 | template))) | ||
| 96 | (call-with-output-file file* | ||
| 97 | (lambda (port) | ||
| 98 | (write '(use-modules (gnu) | ||
| 99 | (guix) | ||
| 100 | ((guix licenses) #:prefix license:)) | ||
| 101 | port) | ||
| 102 | (for-each (cut write <> port) sexprs))) | ||
| 103 | file*)) | ||
diff --git a/guix/import/print.scm b/guix/import/print.scm index 4c2a91fa4f3..11cc218285a 100644 --- a/guix/import/print.scm +++ b/guix/import/print.scm | |||
| @@ -1,5 +1,5 @@ | |||
| 1 | ;;; GNU Guix --- Functional package management for GNU | 1 | ;;; GNU Guix --- Functional package management for GNU |
| 2 | ;;; Copyright © 2017 Ricardo Wurmus <rekado@elephly.net> | 2 | ;;; Copyright © 2017, 2020 Ricardo Wurmus <rekado@elephly.net> |
| 3 | ;;; | 3 | ;;; |
| 4 | ;;; This file is part of GNU Guix. | 4 | ;;; This file is part of GNU Guix. |
| 5 | ;;; | 5 | ;;; |
| @@ -57,7 +57,7 @@ when evaluated." | |||
| 57 | ;; Print either license variable name or the code for a license object | 57 | ;; Print either license variable name or the code for a license object |
| 58 | (define (license->code lic) | 58 | (define (license->code lic) |
| 59 | (let ((var (variable-name lic '(guix licenses)))) | 59 | (let ((var (variable-name lic '(guix licenses)))) |
| 60 | (or var | 60 | (or (symbol-append 'license: var) |
| 61 | `(license | 61 | `(license |
| 62 | (name ,(license-name lic)) | 62 | (name ,(license-name lic)) |
| 63 | (uri ,(license-uri lic)) | 63 | (uri ,(license-uri lic)) |
| @@ -79,7 +79,9 @@ when evaluated." | |||
| 79 | (patches (origin-patches source))) | 79 | (patches (origin-patches source))) |
| 80 | `(origin | 80 | `(origin |
| 81 | (method ,(procedure-name method)) | 81 | (method ,(procedure-name method)) |
| 82 | (uri (string-append ,@(factorize-uri uri version))) | 82 | (uri (string-append ,@(match (factorize-uri uri version) |
| 83 | ((? string? uri) (list uri)) | ||
| 84 | (factorized factorized)))) | ||
| 83 | (sha256 | 85 | (sha256 |
| 84 | (base32 | 86 | (base32 |
| 85 | ,(format #f "~a" (bytevector->nix-base32-string sha256)))) | 87 | ,(format #f "~a" (bytevector->nix-base32-string sha256)))) |
| @@ -92,6 +94,8 @@ when evaluated." | |||
| 92 | (define (package-lists->code lsts) | 94 | (define (package-lists->code lsts) |
| 93 | (list 'quasiquote | 95 | (list 'quasiquote |
| 94 | (map (match-lambda | 96 | (map (match-lambda |
| 97 | ((? symbol? s) | ||
| 98 | (list (symbol->string s) (list 'unquote s))) | ||
| 95 | ((label pkg . out) | 99 | ((label pkg . out) |
| 96 | (let ((mod (package-module-name pkg))) | 100 | (let ((mod (package-module-name pkg))) |
| 97 | (cons* label | 101 | (cons* label |
| @@ -121,45 +125,47 @@ when evaluated." | |||
| 121 | (home-page (package-home-page package)) | 125 | (home-page (package-home-page package)) |
| 122 | (supported-systems (package-supported-systems package)) | 126 | (supported-systems (package-supported-systems package)) |
| 123 | (properties (package-properties package))) | 127 | (properties (package-properties package))) |
| 124 | `(package | 128 | `(define-public ,(string->symbol name) |
| 125 | (name ,name) | 129 | (package |
| 126 | (version ,version) | 130 | (name ,name) |
| 127 | (source ,(source->code source version)) | 131 | (version ,version) |
| 128 | ,@(match properties | 132 | (source ,(source->code source version)) |
| 129 | (() '()) | 133 | ,@(match properties |
| 130 | (_ `((properties ,properties)))) | 134 | (() '()) |
| 131 | ,@(if replacement | 135 | (_ `((properties ,properties)))) |
| 132 | `((replacement ,replacement)) | 136 | ,@(if replacement |
| 133 | '()) | 137 | `((replacement ,replacement)) |
| 134 | (build-system ,(symbol-append (build-system-name build-system) | 138 | '()) |
| 135 | '-build-system)) | 139 | (build-system (@ (guix build-system ,(build-system-name build-system)) |
| 136 | ,@(match arguments | 140 | ,(symbol-append (build-system-name build-system) |
| 137 | (() '()) | 141 | '-build-system))) |
| 138 | (args `((arguments ,(list 'quasiquote args))))) | 142 | ,@(match arguments |
| 139 | ,@(match outputs | 143 | (() '()) |
| 140 | (("out") '()) | 144 | (args `((arguments ,(list 'quasiquote args))))) |
| 141 | (outs `((outputs (list ,@outs))))) | 145 | ,@(match outputs |
| 142 | ,@(match native-inputs | 146 | (("out") '()) |
| 143 | (() '()) | 147 | (outs `((outputs (list ,@outs))))) |
| 144 | (pkgs `((native-inputs ,(package-lists->code pkgs))))) | 148 | ,@(match native-inputs |
| 145 | ,@(match inputs | 149 | (() '()) |
| 146 | (() '()) | 150 | (pkgs `((native-inputs ,(package-lists->code pkgs))))) |
| 147 | (pkgs `((inputs ,(package-lists->code pkgs))))) | 151 | ,@(match inputs |
| 148 | ,@(match propagated-inputs | 152 | (() '()) |
| 149 | (() '()) | 153 | (pkgs `((inputs ,(package-lists->code pkgs))))) |
| 150 | (pkgs `((propagated-inputs ,(package-lists->code pkgs))))) | 154 | ,@(match propagated-inputs |
| 151 | ,@(if (lset= string=? supported-systems %supported-systems) | 155 | (() '()) |
| 152 | '() | 156 | (pkgs `((propagated-inputs ,(package-lists->code pkgs))))) |
| 153 | `((supported-systems (list ,@supported-systems)))) | 157 | ,@(if (lset= string=? supported-systems %supported-systems) |
| 154 | ,@(match (map search-path-specification->code native-search-paths) | 158 | '() |
| 155 | (() '()) | 159 | `((supported-systems (list ,@supported-systems)))) |
| 156 | (paths `((native-search-paths (list ,@paths))))) | 160 | ,@(match (map search-path-specification->code native-search-paths) |
| 157 | ,@(match (map search-path-specification->code search-paths) | 161 | (() '()) |
| 158 | (() '()) | 162 | (paths `((native-search-paths (list ,@paths))))) |
| 159 | (paths `((search-paths (list ,@paths))))) | 163 | ,@(match (map search-path-specification->code search-paths) |
| 160 | (home-page ,home-page) | 164 | (() '()) |
| 161 | (synopsis ,synopsis) | 165 | (paths `((search-paths (list ,@paths))))) |
| 162 | (description ,description) | 166 | (home-page ,home-page) |
| 163 | (license ,(if (list? license) | 167 | (synopsis ,synopsis) |
| 164 | `(list ,@(map license->code license)) | 168 | (description ,description) |
| 165 | (license->code license)))))) | 169 | (license ,(if (list? license) |
| 170 | `(list ,@(map license->code license)) | ||
| 171 | (license->code license))))))) | ||
diff --git a/guix/import/utils.scm b/guix/import/utils.scm index 94c8cb040b3..3809c3d0744 100644 --- a/guix/import/utils.scm +++ b/guix/import/utils.scm | |||
| @@ -2,7 +2,7 @@ | |||
| 2 | ;;; Copyright © 2012, 2013, 2018, 2019, 2020 Ludovic Courtès <ludo@gnu.org> | 2 | ;;; Copyright © 2012, 2013, 2018, 2019, 2020 Ludovic Courtès <ludo@gnu.org> |
| 3 | ;;; Copyright © 2016 Jelle Licht <jlicht@fsfe.org> | 3 | ;;; Copyright © 2016 Jelle Licht <jlicht@fsfe.org> |
| 4 | ;;; Copyright © 2016 David Craven <david@craven.ch> | 4 | ;;; Copyright © 2016 David Craven <david@craven.ch> |
| 5 | ;;; Copyright © 2017, 2019 Ricardo Wurmus <rekado@elephly.net> | 5 | ;;; Copyright © 2017, 2019, 2020 Ricardo Wurmus <rekado@elephly.net> |
| 6 | ;;; Copyright © 2018 Oleg Pykhalov <go.wigust@gmail.com> | 6 | ;;; Copyright © 2018 Oleg Pykhalov <go.wigust@gmail.com> |
| 7 | ;;; Copyright © 2019 Robert Vollmert <rob@vllmrt.net> | 7 | ;;; Copyright © 2019 Robert Vollmert <rob@vllmrt.net> |
| 8 | ;;; | 8 | ;;; |
| @@ -310,7 +310,23 @@ the expected fields of an <origin> object." | |||
| 310 | (uri (assoc-ref orig "uri")) | 310 | (uri (assoc-ref orig "uri")) |
| 311 | (sha256 sha)))))) | 311 | (sha256 sha)))))) |
| 312 | 312 | ||
| 313 | (define (alist->package meta) | 313 | (define* (alist->package meta #:optional (known-inputs '())) |
| 314 | "Return a package value generated from the alist META. If the list of | ||
| 315 | strings KNOWN-INPUTS is provided, do not treat the mentioned inputs as | ||
| 316 | specifications to look up and replace them with plain symbols instead." | ||
| 317 | (define (process-inputs which) | ||
| 318 | (let-values (((regular known) | ||
| 319 | (lset-diff+intersection | ||
| 320 | string=? | ||
| 321 | (vector->list (or (assoc-ref meta which) #())) | ||
| 322 | known-inputs))) | ||
| 323 | (append (specs->package-lists regular) | ||
| 324 | (map string->symbol known)))) | ||
| 325 | (define (process-arguments arguments) | ||
| 326 | (append-map (match-lambda | ||
| 327 | ((key . value) | ||
| 328 | (list (symbol->keyword (string->symbol key)) value))) | ||
| 329 | arguments)) | ||
| 314 | (package | 330 | (package |
| 315 | (name (assoc-ref meta "name")) | 331 | (name (assoc-ref meta "name")) |
| 316 | (version (assoc-ref meta "version")) | 332 | (version (assoc-ref meta "version")) |
| @@ -318,15 +334,13 @@ the expected fields of an <origin> object." | |||
| 318 | (build-system | 334 | (build-system |
| 319 | (lookup-build-system-by-name | 335 | (lookup-build-system-by-name |
| 320 | (string->symbol (assoc-ref meta "build-system")))) | 336 | (string->symbol (assoc-ref meta "build-system")))) |
| 321 | (native-inputs | 337 | (arguments |
| 322 | (specs->package-lists | 338 | (or (and=> (assoc-ref meta "arguments") |
| 323 | (vector->list (or (assoc-ref meta "native-inputs") '#())))) | 339 | process-arguments) |
| 324 | (inputs | 340 | '())) |
| 325 | (specs->package-lists | 341 | (native-inputs (process-inputs "native-inputs")) |
| 326 | (vector->list (or (assoc-ref meta "inputs") '#())))) | 342 | (inputs (process-inputs "inputs")) |
| 327 | (propagated-inputs | 343 | (propagated-inputs (process-inputs "propagated-inputs")) |
| 328 | (specs->package-lists | ||
| 329 | (vector->list (or (assoc-ref meta "propagated-inputs") '#())))) | ||
| 330 | (home-page | 344 | (home-page |
| 331 | (assoc-ref meta "home-page")) | 345 | (assoc-ref meta "home-page")) |
| 332 | (synopsis | 346 | (synopsis |
diff --git a/guix/scripts/build.scm b/guix/scripts/build.scm index 79bd84a1a03..8ff2fd19102 100644 --- a/guix/scripts/build.scm +++ b/guix/scripts/build.scm | |||
| @@ -2,6 +2,7 @@ | |||
| 2 | ;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020 Ludovic Courtès <ludo@gnu.org> | 2 | ;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020 Ludovic Courtès <ludo@gnu.org> |
| 3 | ;;; Copyright © 2013 Mark H Weaver <mhw@netris.org> | 3 | ;;; Copyright © 2013 Mark H Weaver <mhw@netris.org> |
| 4 | ;;; Copyright © 2020 Marius Bakke <mbakke@fastmail.com> | 4 | ;;; Copyright © 2020 Marius Bakke <mbakke@fastmail.com> |
| 5 | ;;; Copyright © 2020 Ricardo Wurmus <rekado@elephly.net> | ||
| 5 | ;;; | 6 | ;;; |
| 6 | ;;; This file is part of GNU Guix. | 7 | ;;; This file is part of GNU Guix. |
| 7 | ;;; | 8 | ;;; |
| @@ -21,6 +22,7 @@ | |||
| 21 | (define-module (guix scripts build) | 22 | (define-module (guix scripts build) |
| 22 | #:use-module (guix ui) | 23 | #:use-module (guix ui) |
| 23 | #:use-module (guix scripts) | 24 | #:use-module (guix scripts) |
| 25 | #:use-module (guix import json) | ||
| 24 | #:use-module (guix store) | 26 | #:use-module (guix store) |
| 25 | #:use-module (guix derivations) | 27 | #:use-module (guix derivations) |
| 26 | #:use-module (guix packages) | 28 | #:use-module (guix packages) |
| @@ -834,7 +836,10 @@ build---packages, gexps, derivations, and so on." | |||
| 834 | (else | 836 | (else |
| 835 | (list (specification->package spec))))) | 837 | (list (specification->package spec))))) |
| 836 | (('file . file) | 838 | (('file . file) |
| 837 | (ensure-list (load* file (make-user-module '())))) | 839 | (let ((file (or (and (string-suffix? ".json" file) |
| 840 | (json->scheme-file file)) | ||
| 841 | file))) | ||
| 842 | (ensure-list (load* file (make-user-module '()))))) | ||
| 838 | (('manifest . manifest) | 843 | (('manifest . manifest) |
| 839 | (map manifest-entry-item | 844 | (map manifest-entry-item |
| 840 | (manifest-entries | 845 | (manifest-entries |
diff --git a/guix/scripts/import/json.scm b/guix/scripts/import/json.scm index c9daf65479e..778e5f4bc59 100644 --- a/guix/scripts/import/json.scm +++ b/guix/scripts/import/json.scm | |||
| @@ -23,7 +23,7 @@ | |||
| 23 | #:use-module (guix utils) | 23 | #:use-module (guix utils) |
| 24 | #:use-module (guix scripts) | 24 | #:use-module (guix scripts) |
| 25 | #:use-module (guix import utils) | 25 | #:use-module (guix import utils) |
| 26 | #:use-module (guix import print) | 26 | #:use-module (guix import json) |
| 27 | #:use-module (guix scripts import) | 27 | #:use-module (guix scripts import) |
| 28 | #:use-module (guix packages) | 28 | #:use-module (guix packages) |
| 29 | #:use-module (srfi srfi-1) | 29 | #:use-module (srfi srfi-1) |
| @@ -88,14 +88,8 @@ Import and convert the JSON package definition in PACKAGE-FILE.\n")) | |||
| 88 | (reverse opts)))) | 88 | (reverse opts)))) |
| 89 | (match args | 89 | (match args |
| 90 | ((file-name) | 90 | ((file-name) |
| 91 | (catch 'json-invalid | 91 | (or (json->code file-name) |
| 92 | (lambda () | 92 | (leave (G_ "invalid JSON in file '~a'~%") file-name))) |
| 93 | (let ((json (json-string->scm | ||
| 94 | (with-input-from-file file-name read-string)))) | ||
| 95 | ;; TODO: also print define-module boilerplate | ||
| 96 | (package->code (alist->package json)))) | ||
| 97 | (lambda _ | ||
| 98 | (leave (G_ "invalid JSON in file '~a'~%") file-name)))) | ||
| 99 | (() | 93 | (() |
| 100 | (leave (G_ "too few arguments~%"))) | 94 | (leave (G_ "too few arguments~%"))) |
| 101 | ((many ...) | 95 | ((many ...) |
diff --git a/guix/scripts/package.scm b/guix/scripts/package.scm index b2b734aadd6..43a3bb2825c 100644 --- a/guix/scripts/package.scm +++ b/guix/scripts/package.scm | |||
| @@ -7,6 +7,7 @@ | |||
| 7 | ;;; Copyright © 2016 Benz Schenk <benz.schenk@uzh.ch> | 7 | ;;; Copyright © 2016 Benz Schenk <benz.schenk@uzh.ch> |
| 8 | ;;; Copyright © 2016 Chris Marusich <cmmarusich@gmail.com> | 8 | ;;; Copyright © 2016 Chris Marusich <cmmarusich@gmail.com> |
| 9 | ;;; Copyright © 2019 Tobias Geerinckx-Rice <me@tobias.gr> | 9 | ;;; Copyright © 2019 Tobias Geerinckx-Rice <me@tobias.gr> |
| 10 | ;;; Copyright © 2020 Ricardo Wurmus <rekado@elephly.net> | ||
| 10 | ;;; | 11 | ;;; |
| 11 | ;;; This file is part of GNU Guix. | 12 | ;;; This file is part of GNU Guix. |
| 12 | ;;; | 13 | ;;; |
| @@ -33,6 +34,7 @@ | |||
| 33 | #:use-module (guix packages) | 34 | #:use-module (guix packages) |
| 34 | #:use-module (guix profiles) | 35 | #:use-module (guix profiles) |
| 35 | #:use-module (guix search-paths) | 36 | #:use-module (guix search-paths) |
| 37 | #:use-module (guix import json) | ||
| 36 | #:use-module (guix monads) | 38 | #:use-module (guix monads) |
| 37 | #:use-module (guix utils) | 39 | #:use-module (guix utils) |
| 38 | #:use-module (guix config) | 40 | #:use-module (guix config) |
| @@ -416,7 +418,10 @@ Install, remove, or upgrade packages in a single transaction.\n")) | |||
| 416 | (option '(#\f "install-from-file") #t #f | 418 | (option '(#\f "install-from-file") #t #f |
| 417 | (lambda (opt name arg result arg-handler) | 419 | (lambda (opt name arg result arg-handler) |
| 418 | (values (alist-cons 'install | 420 | (values (alist-cons 'install |
| 419 | (load* arg (make-user-module '())) | 421 | (let ((file (or (and (string-suffix? ".json" arg) |
| 422 | (json->scheme-file arg)) | ||
| 423 | arg))) | ||
| 424 | (load* file (make-user-module '()))) | ||
| 420 | result) | 425 | result) |
| 421 | #f))) | 426 | #f))) |
| 422 | (option '(#\r "remove") #f #t | 427 | (option '(#\r "remove") #f #t |
diff --git a/guix/status.scm b/guix/status.scm index 4b2edc2f3c3..f40d5d59b96 100644 --- a/guix/status.scm +++ b/guix/status.scm | |||
| @@ -472,8 +472,8 @@ addition to build events." | |||
| 472 | (let ((count (match (assq-ref properties 'graft) | 472 | (let ((count (match (assq-ref properties 'graft) |
| 473 | (#f 0) | 473 | (#f 0) |
| 474 | (lst (or (assq-ref lst 'count) 0))))) | 474 | (lst (or (assq-ref lst 'count) 0))))) |
| 475 | (format port (info (N_ "applying ~a graft for ~a..." | 475 | (format port (info (N_ "applying ~a graft for ~a ..." |
| 476 | "applying ~a grafts for ~a..." | 476 | "applying ~a grafts for ~a ..." |
| 477 | count)) | 477 | count)) |
| 478 | count drv))) | 478 | count drv))) |
| 479 | ('profile | 479 | ('profile |
| @@ -525,7 +525,7 @@ addition to build events." | |||
| 525 | (newline port))) | 525 | (newline port))) |
| 526 | (('download-started item uri _ ...) | 526 | (('download-started item uri _ ...) |
| 527 | (erase-current-line*) | 527 | (erase-current-line*) |
| 528 | (format port (info (G_ "downloading from ~a...")) uri) | 528 | (format port (info (G_ "downloading from ~a ...")) uri) |
| 529 | (newline port)) | 529 | (newline port)) |
| 530 | (('download-progress item uri | 530 | (('download-progress item uri |
| 531 | (= string->number size) | 531 | (= string->number size) |
diff --git a/guix/tests/git.scm b/guix/tests/git.scm index 21573ac14e5..566660e85e7 100644 --- a/guix/tests/git.scm +++ b/guix/tests/git.scm | |||
| @@ -1,5 +1,5 @@ | |||
| 1 | ;;; GNU Guix --- Functional package management for GNU | 1 | ;;; GNU Guix --- Functional package management for GNU |
| 2 | ;;; Copyright © 2019 Ludovic Courtès <ludo@gnu.org> | 2 | ;;; Copyright © 2019, 2020 Ludovic Courtès <ludo@gnu.org> |
| 3 | ;;; | 3 | ;;; |
| 4 | ;;; This file is part of GNU Guix. | 4 | ;;; This file is part of GNU Guix. |
| 5 | ;;; | 5 | ;;; |
| @@ -30,6 +30,24 @@ | |||
| 30 | (define git-command | 30 | (define git-command |
| 31 | (make-parameter "git")) | 31 | (make-parameter "git")) |
| 32 | 32 | ||
| 33 | (define (call-with-environment-variables variables thunk) | ||
| 34 | "Call THUNK with the environment VARIABLES set." | ||
| 35 | (let ((environment (environ))) | ||
| 36 | (dynamic-wind | ||
| 37 | (lambda () | ||
| 38 | (for-each (match-lambda | ||
| 39 | ((variable value) | ||
| 40 | (setenv variable value))) | ||
| 41 | variables)) | ||
| 42 | thunk | ||
| 43 | (lambda () | ||
| 44 | (environ environment))))) | ||
| 45 | |||
| 46 | (define-syntax-rule (with-environment-variables variables exp ...) | ||
| 47 | "Evaluate EXP with the given environment VARIABLES set." | ||
| 48 | (call-with-environment-variables variables | ||
| 49 | (lambda () exp ...))) | ||
| 50 | |||
| 33 | (define (populate-git-repository directory directives) | 51 | (define (populate-git-repository directory directives) |
| 34 | "Initialize a new Git checkout and repository in DIRECTORY and apply | 52 | "Initialize a new Git checkout and repository in DIRECTORY and apply |
| 35 | DIRECTIVES. Each element of DIRECTIVES is an sexp like: | 53 | DIRECTIVES. Each element of DIRECTIVES is an sexp like: |
| @@ -41,8 +59,21 @@ Return DIRECTORY on success." | |||
| 41 | ;; Note: As of version 0.2.0, Guile-Git lacks the necessary bindings to do | 59 | ;; Note: As of version 0.2.0, Guile-Git lacks the necessary bindings to do |
| 42 | ;; all this, so resort to the "git" command. | 60 | ;; all this, so resort to the "git" command. |
| 43 | (define (git command . args) | 61 | (define (git command . args) |
| 44 | (apply invoke (git-command) "-C" directory | 62 | ;; Make sure Git doesn't rely on the user's config. |
| 45 | command args)) | 63 | (call-with-temporary-directory |
| 64 | (lambda (home) | ||
| 65 | (call-with-output-file (string-append home "/.gitconfig") | ||
| 66 | (lambda (port) | ||
| 67 | (display "[user] | ||
| 68 | email = charlie@example.org\n name = Charlie Guix\n" | ||
| 69 | port))) | ||
| 70 | |||
| 71 | (with-environment-variables | ||
| 72 | `(("GIT_CONFIG_NOSYSTEM" "1") | ||
| 73 | ("GIT_ATTR_NOSYSTEM" "1") | ||
| 74 | ("HOME" ,home)) | ||
| 75 | (apply invoke (git-command) "-C" directory | ||
| 76 | command args))))) | ||
| 46 | 77 | ||
| 47 | (mkdir-p directory) | 78 | (mkdir-p directory) |
| 48 | (git "init") | 79 | (git "init") |
diff --git a/guix/ui.scm b/guix/ui.scm index 1ccc80a000a..ea5f460865c 100644 --- a/guix/ui.scm +++ b/guix/ui.scm | |||
| @@ -234,8 +234,8 @@ information, or #f if it could not be found." | |||
| 234 | 234 | ||
| 235 | ;; Give 'load' an absolute file name so that it doesn't try to | 235 | ;; Give 'load' an absolute file name so that it doesn't try to |
| 236 | ;; search for FILE in %LOAD-PATH. Note: use 'load', not | 236 | ;; search for FILE in %LOAD-PATH. Note: use 'load', not |
| 237 | ;; 'primitive-load', so that FILE is compiled, which then allows us | 237 | ;; 'primitive-load', so that FILE is compiled, which then allows |
| 238 | ;; to provide better error reporting with source line numbers. | 238 | ;; us to provide better error reporting with source line numbers. |
| 239 | (load (canonicalize-path file))) | 239 | (load (canonicalize-path file))) |
| 240 | (const #f)))))) | 240 | (const #f)))))) |
| 241 | (lambda _ | 241 | (lambda _ |
| @@ -796,7 +796,7 @@ directories:~{ ~a~}~%") | |||
| 796 | (apply format #f format-string format-args)))))) | 796 | (apply format #f format-string format-args)))))) |
| 797 | 797 | ||
| 798 | (define-syntax-rule (leave-on-EPIPE exp ...) | 798 | (define-syntax-rule (leave-on-EPIPE exp ...) |
| 799 | "Run EXP... in a context when EPIPE errors are caught and lead to 'exit' | 799 | "Run EXP... in a context where EPIPE errors are caught and lead to 'exit' |
| 800 | with successful exit code. This is useful when writing to the standard output | 800 | with successful exit code. This is useful when writing to the standard output |
| 801 | may lead to EPIPE, because the standard output is piped through 'head' or | 801 | may lead to EPIPE, because the standard output is piped through 'head' or |
| 802 | similar." | 802 | similar." |
| @@ -925,7 +925,7 @@ download." | |||
| 925 | drv)) | 925 | drv)) |
| 926 | 926 | ||
| 927 | (define substitutable-info | 927 | (define substitutable-info |
| 928 | ;; Call 'substitutation-oracle' upfront so we don't end up launching the | 928 | ;; Call 'substitution-oracle' upfront so we don't end up launching the |
| 929 | ;; substituter many times. This makes a big difference, especially when | 929 | ;; substituter many times. This makes a big difference, especially when |
| 930 | ;; DRV is a long list as is the case with 'guix environment'. | 930 | ;; DRV is a long list as is the case with 'guix environment'. |
| 931 | (if use-substitutes? | 931 | (if use-substitutes? |
| @@ -1251,7 +1251,7 @@ separator between subsequent columns." | |||
| 1251 | 1251 | ||
| 1252 | (define* (indented-string str indent | 1252 | (define* (indented-string str indent |
| 1253 | #:key (initial-indent? #t)) | 1253 | #:key (initial-indent? #t)) |
| 1254 | "Return STR with each newline preceded by IDENT spaces. When | 1254 | "Return STR with each newline preceded by INDENT spaces. When |
| 1255 | INITIAL-INDENT? is true, the first line is also indented." | 1255 | INITIAL-INDENT? is true, the first line is also indented." |
| 1256 | (define indent-string | 1256 | (define indent-string |
| 1257 | (make-list indent #\space)) | 1257 | (make-list indent #\space)) |
| @@ -1534,7 +1534,7 @@ score, the more relevant OBJ is to REGEXPS." | |||
| 1534 | (,(lambda (package) | 1534 | (,(lambda (package) |
| 1535 | (filter (lambda (output) | 1535 | (filter (lambda (output) |
| 1536 | (not (member output | 1536 | (not (member output |
| 1537 | ;; Some common outpus shared by many packages. | 1537 | ;; Some common outputs shared by many packages. |
| 1538 | '("out" "doc" "debug" "lib" "include" "bin")))) | 1538 | '("out" "doc" "debug" "lib" "include" "bin")))) |
| 1539 | (package-outputs package))) | 1539 | (package-outputs package))) |
| 1540 | . 1) | 1540 | . 1) |
| @@ -1942,7 +1942,7 @@ found." | |||
| 1942 | (define (run-guix . args) | 1942 | (define (run-guix . args) |
| 1943 | "Run the 'guix' command defined by command line ARGS. | 1943 | "Run the 'guix' command defined by command line ARGS. |
| 1944 | Unlike 'guix-main', this procedure assumes that locale, i18n support, | 1944 | Unlike 'guix-main', this procedure assumes that locale, i18n support, |
| 1945 | and signal handling has already been set up." | 1945 | and signal handling have already been set up." |
| 1946 | (define option? (cut string-prefix? "-" <>)) | 1946 | (define option? (cut string-prefix? "-" <>)) |
| 1947 | 1947 | ||
| 1948 | ;; The default %LOAD-EXTENSIONS includes the empty string, which doubles the | 1948 | ;; The default %LOAD-EXTENSIONS includes the empty string, which doubles the |
