Browse Source

Merge branch 'master' into core-updates

gn-latest-20200725
Marius Bakke 1 year ago
parent
commit
ebb7cf9e21
No known key found for this signature in database GPG Key ID: A2A06DF2A33A54FA
237 changed files with 19290 additions and 5014 deletions
  1. +2
    -0
      Makefile.am
  2. +1
    -1
      bootstrap
  3. +2
    -1
      build-aux/build-self.scm
  4. +4
    -4
      build-aux/git-authenticate.scm
  5. +62
    -0
      doc/contributing.texi
  6. +114
    -31
      doc/guix.texi
  7. +4
    -2
      doc/local.mk
  8. +34
    -0
      etc/copyright.el
  9. +2
    -0
      gnu/build/file-systems.scm
  10. +2
    -2
      gnu/build/linux-boot.scm
  11. +5
    -3
      gnu/build/marionette.scm
  12. +4
    -1
      gnu/installer.scm
  13. +6
    -1
      gnu/installer/parted.scm
  14. +1
    -0
      gnu/installer/steps.scm
  15. +45
    -2
      gnu/installer/utils.scm
  16. +10
    -8
      gnu/local.mk
  17. +3
    -2
      gnu/packages/abduco.scm
  18. +2
    -1
      gnu/packages/acct.scm
  19. +56
    -21
      gnu/packages/admin.scm
  20. +17
    -17
      gnu/packages/algebra.scm
  21. +44
    -39
      gnu/packages/android.scm
  22. +1
    -1
      gnu/packages/anthy.scm
  23. +2
    -3
      gnu/packages/aspell.scm
  24. +3
    -3
      gnu/packages/assembly.scm
  25. +14
    -18
      gnu/packages/audio.scm
  26. +1
    -2
      gnu/packages/autotools.scm
  27. +3
    -2
      gnu/packages/aux-files/emacs/guix-emacs.el
  28. +14
    -2
      gnu/packages/avr.scm
  29. +1
    -1
      gnu/packages/backup.scm
  30. +5
    -5
      gnu/packages/bdw-gc.scm
  31. +29
    -2
      gnu/packages/benchmark.scm
  32. +123
    -38
      gnu/packages/bioconductor.scm
  33. +121
    -125
      gnu/packages/bioinformatics.scm
  34. +2
    -2
      gnu/packages/bittorrent.scm
  35. +14
    -1
      gnu/packages/bootloaders.scm
  36. +3
    -3
      gnu/packages/build-tools.scm
  37. +3
    -3
      gnu/packages/c.scm
  38. +2
    -2
      gnu/packages/cedille.scm
  39. +3
    -3
      gnu/packages/certs.scm
  40. +3
    -3
      gnu/packages/check.scm
  41. +4
    -3
      gnu/packages/chicken.scm
  42. +55
    -29
      gnu/packages/chromium.scm
  43. +22
    -25
      gnu/packages/compression.scm
  44. +4
    -3
      gnu/packages/connman.scm
  45. +74
    -0
      gnu/packages/cpp.scm
  46. +1658
    -226
      gnu/packages/cran.scm
  47. +6766
    -1230
      gnu/packages/crates-io.scm
  48. +18
    -10
      gnu/packages/crypto.scm
  49. +39
    -8
      gnu/packages/databases.scm
  50. +3
    -3
      gnu/packages/datamash.scm
  51. +1
    -1
      gnu/packages/dav.scm
  52. +2
    -2
      gnu/packages/debian.scm
  53. +27
    -32
      gnu/packages/dictionaries.scm
  54. +3
    -3
      gnu/packages/diffoscope.scm
  55. +13
    -10
      gnu/packages/disk.scm
  56. +4
    -4
      gnu/packages/distributed.scm
  57. +4
    -4
      gnu/packages/django.scm
  58. +61
    -67
      gnu/packages/dns.scm
  59. +4
    -2
      gnu/packages/docker.scm
  60. +25
    -0
      gnu/packages/documentation.scm
  61. +1
    -1
      gnu/packages/ebook.scm
  62. +5
    -5
      gnu/packages/education.scm
  63. +3
    -4
      gnu/packages/efi.scm
  64. +2
    -2
      gnu/packages/elixir.scm
  65. +346
    -71
      gnu/packages/emacs-xyz.scm
  66. +41
    -8
      gnu/packages/emacs.scm
  67. +1
    -1
      gnu/packages/embedded.scm
  68. +104
    -25
      gnu/packages/emulators.scm
  69. +2
    -2
      gnu/packages/enchant.scm
  70. +183
    -136
      gnu/packages/engineering.scm
  71. +3
    -3
      gnu/packages/erlang.scm
  72. +6
    -2
      gnu/packages/finance.scm
  73. +9
    -7
      gnu/packages/firmware.scm
  74. +5
    -5
      gnu/packages/flashing-tools.scm
  75. +1
    -1
      gnu/packages/fltk.scm
  76. +49
    -8
      gnu/packages/fonts.scm
  77. +63
    -1
      gnu/packages/fontutils.scm
  78. +7
    -7
      gnu/packages/fpga.scm
  79. +156
    -50
      gnu/packages/freedesktop.scm
  80. +106
    -3
      gnu/packages/game-development.scm
  81. +97
    -35
      gnu/packages/games.scm
  82. +3
    -3
      gnu/packages/gcc.scm
  83. +6
    -6
      gnu/packages/geo.scm
  84. +2
    -2
      gnu/packages/gl.scm
  85. +3
    -4
      gnu/packages/glib.scm
  86. +160
    -39
      gnu/packages/gnome-xyz.scm
  87. +73
    -27
      gnu/packages/gnome.scm
  88. +3
    -3
      gnu/packages/gnunet.scm
  89. +8
    -6
      gnu/packages/gnupg.scm
  90. +3
    -3
      gnu/packages/gnustep.scm
  91. +18
    -1
      gnu/packages/gnuzilla.scm
  92. +2
    -2
      gnu/packages/golang.scm
  93. +92
    -4
      gnu/packages/gps.scm
  94. +25
    -10
      gnu/packages/graph.scm
  95. +13
    -103
      gnu/packages/graphics.scm
  96. +1
    -1
      gnu/packages/graphviz.scm
  97. +4
    -4
      gnu/packages/gtk.scm
  98. +93
    -35
      gnu/packages/guile-xyz.scm
  99. +4
    -5
      gnu/packages/haskell-apps.scm
  100. +1
    -1
      gnu/packages/haskell-crypto.scm

+ 2
- 0
Makefile.am View File

@ -122,6 +122,7 @@ MODULES = \
guix/build-system/meson.scm \
guix/build-system/minify.scm \
guix/build-system/asdf.scm \
guix/build-system/copy.scm \
guix/build-system/glib-or-gtk.scm \
guix/build-system/gnu.scm \
guix/build-system/guile.scm \
@ -169,6 +170,7 @@ MODULES = \
guix/build/go-build-system.scm \
guix/build/asdf-build-system.scm \
guix/build/bzr.scm \
guix/build/copy-build-system.scm \
guix/build/git.scm \
guix/build/hg.scm \
guix/build/glib-or-gtk-build-system.scm \


+ 1
- 1
bootstrap View File

@ -16,7 +16,7 @@ for lang in ${langs}; do
fi
done
langs=`find po/doc -type f -name 'guix-cookbook*.po' \
| sed -e 's,guix-manual\.,,' \
| sed -e 's,guix-cookbook\.,,' \
| xargs -n 1 -I{} basename {} .po`
for lang in ${langs}; do
if [ ! -e "doc/guix-cookbook.${lang}.texi" ]; then


+ 2
- 1
build-aux/build-self.scm View File

@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2014, 2016, 2017, 2018, 2019 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2014, 2016, 2017, 2018, 2019, 2020 Ludovic Courtès <ludo@gnu.org>
;;;
;;; This file is part of GNU Guix.
;;;
@ -420,6 +420,7 @@ files."
;; $GUILE_LOAD_PATH & co.
(with-clean-environment
(setenv "GUILE_WARN_DEPRECATED" "no") ;be quiet and drive
(setenv "COLUMNS" "120") ;show wider backtraces
(when home
;; Inherit HOME so that 'xdg-directory' works.
(setenv "HOME" home))


+ 4
- 4
build-aux/git-authenticate.scm View File

@ -134,7 +134,8 @@
("lsl88"
"2AE3 1395 932B E642 FC0E D99C 9BED 6EDA 32E5 B0BC")
("mab"
"BE62 7373 8E61 6D6D 1B3A 08E8 A21A 0202 4881 6103")
;; primary: "BE62 7373 8E61 6D6D 1B3A 08E8 A21A 0202 4881 6103"
"39B3 3C8D 9448 0D2D DCC2 A498 8B44 A0CD C7B9 56F2")
("marusich"
"CBF5 9755 CBE7 E7EF EF18 3FB1 DD40 9A15 D822 469D")
("mbakke"
@ -183,8 +184,6 @@
"77DD AD2D 97F5 31BB C0F3 C7FD DFB5 EB09 AA62 5423")
("snape"
"F494 72F4 7A59 00D5 C235 F212 89F9 6D48 08F3 59C7")
("snape"
"F494 72F4 7A59 00D5 C235 F212 89F9 6D48 08F3 59C7")
("steap"
"4E26 CCE9 578E 0828 9855 BDD4 1C79 95D2 D5A3 8336")
("taylanub"
@ -192,7 +191,8 @@
;; https://lists.gnu.org/archive/html/guix-devel/2017-03/msg00826.html
("thomasd"
"1DD1 681F E285 E07F 11DC 0C59 2E15 A6BC D77D 54FD")
;; primary: "1DD1 681F E285 E07F 11DC 0C59 2E15 A6BC D77D 54FD"
"3D2C DA58 819C 08C2 A649 D43D 5C3B 064C 724A 5726")
("thomasd (old)"
"A5C5 92EA 606E 7106 A6A3 BC08 98B2 1575 91E1 2B08")


+ 62
- 0
doc/contributing.texi View File

@ -274,6 +274,33 @@ trigger string @code{origin...}, which can be expanded further. The
@code{origin} snippet in turn may insert other trigger strings ending on
@code{...}, which also can be expanded further.
@cindex insert or update copyright
@cindex @code{M-x guix-copyright}
@cindex @code{M-x copyright-update}
Additionaly we provide insertion and automatic update of a copyright in
@file{etc/copyright.el}. You may want to set your full name, mail, and
load a file.
@lisp
(setq user-full-name "Alice Doe")
(setq user-mail-address "alice@@mail.org")
;; @r{Assuming the Guix checkout is in ~/src/guix.}
(load-file "~/src/guix/etc/copyright.el")
@end lisp
To insert a copyright at the current line invoke @code{M-x guix-copyright}.
To update a copyright you need to specify a @code{copyright-names-regexp}.
@lisp
(setq copyright-names-regexp
(format "%s <%s>" user-full-name user-mail-address))
@end lisp
You can check if your copyright is up to date by evaluating @code{M-x
copyright-update}. If you want to do it automatically after each buffer
save then add @code{(add-hook 'after-save-hook 'copyright-update)} in
Emacs.
@node Packaging Guidelines
@section Packaging Guidelines
@ -347,6 +374,7 @@ needed is to review and apply the patch.
* Python Modules:: A touch of British comedy.
* Perl Modules:: Little pearls.
* Java Packages:: Coffee break.
* Rust Crates:: Beware of oxidation.
* Fonts:: Fond of fonts.
@end menu
@ -685,6 +713,40 @@ dashes and prepend the prefix @code{java-}. So the class
@code{java-apache-commons-cli}.
@node Rust Crates
@subsection Rust Crates
@cindex rust
Rust programs standing for themselves are named as any other package, using the
lowercase upstream name.
To prevent namespace collisions we prefix all other Rust packages with the
@code{rust-} prefix. The name should be changed to lowercase as appropriate and
dashes should remain in place.
In the rust ecosystem it is common for multiple incompatible versions of a
package to be used at any given time, so all packages should have a versioned
suffix. If a package has passed version 1.0.0 then just the major version
number is sufficient (e.g.@: @code{rust-clap-2}), otherwise the version suffix
should contain both the major and minor version (e.g.@: @code{rust-rand-0.6}).
Because of the difficulty in reusing rust packages as pre-compiled inputs for
other packages the Cargo build system (@pxref{Build Systems,
@code{cargo-build-system}}) presents the @code{#:cargo-inputs} and
@code{cargo-development-inputs} keywords as build system arguments. It would be
helpful to think of these as similar to @code{propagated-inputs} and
@code{native-inputs}. Rust @code{dependencies} and @code{build-dependencies}
should go in @code{#:cargo-inputs}, and @code{dev-dependencies} should go in
@code{#:cargo-development-inputs}. If a Rust package links to other libraries
then the standard placement in @code{inputs} and the like should be used.
Care should be taken to ensure the correct version of dependencies are used; to
this end we try to refrain from skipping the tests or using @code{#:skip-build?}
when possible. Of course this is not always possible, as the package may be
developed for a different Operating System, depend on features from the Nightly
Rust compiler, or the test suite may have atrophied since it was released.
@node Fonts
@subsection Fonts


+ 114
- 31
doc/guix.texi View File

@ -73,6 +73,7 @@ Copyright @copyright{} 2020 Leo Prikler@*
Copyright @copyright{} 2019, 2020 Simon Tournier@*
Copyright @copyright{} 2020 Wiktor Żelazny@*
Copyright @copyright{} 2020 Damien Cassou@*
Copyright @copyright{} 2020 Jakub Kądziołka@*
Permission is granted to copy, distribute and/or modify this document
under the terms of the GNU Free Documentation License, Version 1.3 or
@ -771,11 +772,11 @@ The following dependencies are optional:
@itemize
@item
@c Note: We need at least 0.10.2 for 'channel-send-eof'.
@c Note: We need at least 0.12.0 for 'userauth-gssapi!'.
Support for build offloading (@pxref{Daemon Offload Setup}) and
@command{guix copy} (@pxref{Invoking guix copy}) depends on
@uref{https://github.com/artyom-poptsov/guile-ssh, Guile-SSH},
version 0.10.2 or later.
version 0.12.0 or later.
@item
When @url{https://www.nongnu.org/lzip/lzlib.html, lzlib} is available, lzlib
@ -2440,6 +2441,11 @@ your system includes the latest security updates (@pxref{Security Updates}).
Note that @command{sudo guix} runs your user's @command{guix} command and
@emph{not} root's, because @command{sudo} leaves @code{PATH} unchanged. To
explicitly run root's @command{guix}, type @command{sudo -i guix @dots{}}.
The difference matters here, because @command{guix pull} updates
the @command{guix} command and package definitions only for the user it is ran
as. This means that if you choose to use @command{guix system reconfigure} in
root's login shell, you'll need to @command{guix pull} separately.
@end quotation
Join us on @code{#guix} on the Freenode IRC network or on
@ -4230,7 +4236,7 @@ guix time-machine -- build hello
@end example
will thus build the package @code{hello} as defined in the master branch,
which is in general a newer revison of Guix than you have installed.
which is in general a newer revision of Guix than you have installed.
Time travel works in both directions!
Note that @command{guix time-machine} can trigger builds of channels and
@ -4958,8 +4964,10 @@ shared and will change to the user's home directory within the container
instead. See also @code{--user}.
@item --expose=@var{source}[=@var{target}]
For containers, expose the file system @var{source} from the host system
as the read-only file system @var{target} within the container. If
@itemx --share=@var{source}[=@var{target}]
For containers, @code{--expose} (resp. @code{--share}) exposes the file
system @var{source} from the host system as the read-only
(resp. writable) file system @var{target} within the container. If
@var{target} is not specified, @var{source} is used as the target mount
point in the container.
@ -4971,19 +4979,6 @@ directory:
guix environment --container --expose=$HOME=/exchange --ad-hoc guile -- guile
@end example
@item --share=@var{source}[=@var{target}]
For containers, share the file system @var{source} from the host system
as the writable file system @var{target} within the container. If
@var{target} is not specified, @var{source} is used as the target mount
point in the container.
The example below spawns a Guile REPL in a container in which the user's
home directory is accessible for both reading and writing via the
@file{/exchange} directory:
@example
guix environment --container --share=$HOME=/exchange --ad-hoc guile -- guile
@end example
@end table
@command{guix environment}
@ -6159,6 +6154,70 @@ parameters available to cargo. It will also remove an included
if they are defined by the crate.
@end defvr
@defvr {Scheme Variable} copy-build-system
@cindex (copy build system)
This variable is exported by @code{(guix build-system copy)}. It
supports builds of simple packages that don't require much compiling,
mostly just moving files around.
It adds much of the @code{gnu-build-system} packages to the set of
inputs. Because of this, the @code{copy-build-system} does not require
all the boilerplate code often needed for the
@code{trivial-build-system}.
To further simplify the file installation process, an
@code{#:install-plan} argument is exposed to let the packager specify
which files go where. The install plan is a list of @code{(@var{source}
@var{target} [@var{filters}])}. @var{filters} are optional.
@itemize
@item When @var{source} matches a file or directory without trailing slash, install it to @var{target}.
@itemize
@item If @var{target} has a trailing slash, install @var{source} basename beneath @var{target}.
@item Otherwise install @var{source} as @var{target}.
@end itemize
@item When @var{source} is a directory with a trailing slash, or when @var{filters} are used,
the trailing slash of @var{target} is implied with the same meaning
as above.
@itemize
@item Without @var{filters}, install the full @var{source} @emph{content} to @var{target}.
@item With @var{filters} among @code{#:include}, @code{#:include-regexp}, @code{#:exclude},
@code{#:exclude-regexp}, only select files are installed depending on
the filters. Each filters is specified by a list of strings.
@itemize
@item With @code{#:include}, install all the files which the path suffix matches
at least one of the elements in the given list.
@item With @code{#:include-regexp}, install all the files which the
subpaths match at least one of the regular expressions in the given
list.
@item The @code{#:exclude} and @code{#:exclude-regexp} filters
are the complement of their inclusion counterpart. Without @code{#:include} flags,
install all files but those matching the exclusion filters.
If both inclusions and exclusions are specified, the exclusions are done
on top of the inclusions.
@end itemize
@end itemize
In all cases, the paths relative to @var{source} are preserved within
@var{target}.
@end itemize
Examples:
@itemize
@item @code{("foo/bar" "share/my-app/")}: Install @file{bar} to @file{share/my-app/bar}.
@item @code{("foo/bar" "share/my-app/baz")}: Install @file{bar} to @file{share/my-app/baz}.
@item @code{("foo/" "share/my-app")}: Install the content of @file{foo} inside @file{share/my-app},
e.g., install @file{foo/sub/file} to @file{share/my-app/sub/file}.
@item @code{("foo/" "share/my-app" #:include ("sub/file"))}: Install only @file{foo/sub/file} to
@file{share/my-app/sub/file}.
@item @code{("foo/sub" "share/my-app" #:include ("file"))}: Install @file{foo/sub/file} to
@file{share/my-app/file}.
@end itemize
@end defvr
@cindex Clojure (programming language)
@cindex simple Clojure build system
@defvr {Scheme Variable} clojure-build-system
@ -6815,9 +6874,11 @@ instruct it to listen for TCP connections (@pxref{Invoking guix-daemon,
@item ssh
@cindex SSH access to build daemons
These URIs allow you to connect to a remote daemon over
SSH@footnote{This feature requires Guile-SSH (@pxref{Requirements}).}.
A typical URL might look like this:
These URIs allow you to connect to a remote daemon over SSH. This
feature requires Guile-SSH (@pxref{Requirements}) and a working
@code{guile} binary in @code{PATH} on the destination machine. It
supports public key and GSSAPI authentication. A typical URL might look
like this:
@example
ssh://charlie@@guix.example.org:22
@ -14037,7 +14098,7 @@ Each string gets on its own line. See the @code{AcceptEnv} option in
This example allows ssh-clients to export the @code{COLORTERM} variable.
It is set by terminal emulators, which support colors. You can use it in
your shell's ressource file to enable colors for the prompt and commands
your shell's resource file to enable colors for the prompt and commands
if this variable is set.
@lisp
@ -14463,7 +14524,7 @@ Command to run when halting.
Command to run when rebooting.
@item @code{theme} (default "maldives")
Theme to use. Default themes provided by SDDM are "elarun" or "maldives".
Theme to use. Default themes provided by SDDM are "elarun", "maldives" or "maya".
@item @code{themes-directory} (default "/run/current-system/profile/share/sddm/themes")
Directory to look for themes.
@ -14538,7 +14599,7 @@ Relogin after logout.
@cindex X11 login
@defvr {Scheme Variable} sddm-service-type
This is the type of the service to run the
@uref{https://github.com/sddm/sddm,SSDM display manager}. Its value
@uref{https://github.com/sddm/sddm,SDDM display manager}. Its value
must be a @code{sddm-configuration} record (see below).
Here's an example use:
@ -15560,7 +15621,7 @@ adding a service of type @code{mate-desktop-service-type} adds the MATE
metapackage to the system profile. ``Adding Enlightenment'' means that
@code{dbus} is extended appropriately, and several of Enlightenment's binaries
are set as setuid, allowing Enlightenment's screen locker and other
functionality to work as expetected.
functionality to work as expected.
The desktop environments in Guix use the Xorg display server by
default. If you'd like to use the newer display server protocol
@ -19987,7 +20048,7 @@ The @code{ServerName} in the configuration file, used to specify the
request scheme, hostname and port that the server uses to identify
itself.
This doesn't need to be set in the server config, and can be specifyed
This doesn't need to be set in the server config, and can be specified
in virtual hosts. The default is @code{#f} to not specify a
@code{ServerName}.
@ -21143,7 +21204,7 @@ false, listed actions are allowed.
@end deftp
@deftp {Data Type} zone-entry
Data type represnting a record entry in a zone file.
Data type representing a record entry in a zone file.
This type has the following parameters:
@table @asis
@ -21266,7 +21327,7 @@ The backend to store the keys in. Can be @code{'pem} or @code{'pkcs11}.
@item @code{config} (default: @code{"/var/lib/knot/keys/keys"})
The configuration string of the backend. An example for the PKCS#11 is:
@code{"pkcs11:token=knot;pin-value=1234 /gnu/store/.../lib/pkcs11/libsofthsm2.so"}.
For the pem backend, the string reprensents a path in the file system.
For the pem backend, the string represents a path in the file system.
@end table
@end deftp
@ -21799,6 +21860,13 @@ Defaults to @samp{#t}.
@end deftypevr
@deftypevr {@code{openvpn-client-configuration} parameter} boolean fast-io?
(Experimental) Optimize TUN/TAP/UDP I/O writes by avoiding a call to
poll/epoll/select prior to the write operation.
Defaults to @samp{#f}.
@end deftypevr
@deftypevr {@code{openvpn-client-configuration} parameter} number verbosity
Verbosity level.
@ -21814,6 +21882,14 @@ Defaults to @samp{#f}.
@end deftypevr
@deftypevr {@code{openvpn-client-configuration} parameter} maybe-string auth-user-pass
Authenticate with server using username/password. The option is a file
containing username/password on 2 lines. Do not use a file-like object as it
would be added to the store and readable by any user.
Defaults to @samp{'disabled}.
@end deftypevr
@deftypevr {@code{openvpn-client-configuration} parameter} key-usage verify-key-usage?
Whether to check the server certificate has server usage extension.
@ -21935,6 +22011,13 @@ Defaults to @samp{#t}.
@end deftypevr
@deftypevr {@code{openvpn-server-configuration} parameter} boolean fast-io?
(Experimental) Optimize TUN/TAP/UDP I/O writes by avoiding a call to
poll/epoll/select prior to the write operation.
Defaults to @samp{#f}.
@end deftypevr
@deftypevr {@code{openvpn-server-configuration} parameter} number verbosity
Verbosity level.
@ -24499,7 +24582,7 @@ Defaults to @samp{"a fast webinterface for the git dscm"}.
@deftypevr {@code{cgit-configuration} parameter} string root-readme
The content of the file specified with this option will be included
verbatim below thef "about" link on the repository index page.
verbatim below the "about" link on the repository index page.
Defaults to @samp{""}.
@ -25382,7 +25465,7 @@ of DICT server (@pxref{Dicod,,, dico, GNU Dico Manual}).
The optional @var{config} argument specifies the configuration for
@command{dicod}, which should be a @code{<dicod-configuration>} object, by
default it serves the GNU Collaborative International Dictonary of English.
default it serves the GNU Collaborative International Dictionary of English.
You can add @command{open localhost} to your @file{~/.dico} file to make
@code{localhost} the default server for @command{dico} client
@ -26364,7 +26447,7 @@ Switch to an existing system generation. This action atomically
switches the system profile to the specified system generation. It
also rearranges the system's existing bootloader menu entries. It
makes the menu entry for the specified system generation the default,
and it moves the entries for the other generatiors to a submenu, if
and it moves the entries for the other generations to a submenu, if
supported by the bootloader being used. The next time the system
boots, it will use the specified system generation.


+ 4
- 2
doc/local.mk View File

@ -27,7 +27,8 @@ info_TEXINFOS = %D%/guix.texi \
%D%/guix.fr.texi \
%D%/guix.ru.texi \
%D%/guix.zh_CN.texi \
%D%/guix-cookbook.texi
%D%/guix-cookbook.texi \
%D%/guix-cookbook.de.texi
%C%_guix_TEXINFOS = \
%D%/contributing.texi \
@ -69,7 +70,8 @@ TRANSLATED_INFO = \
%D%/contributing.es.texi \
%D%/contributing.fr.texi \
%D%/contributing.ru.texi \
%D%/contributing.zh_CN.texi
%D%/contributing.zh_CN.texi \
%D%/guix-cookbook.de.texi
# Bundle this file so that makeinfo finds it in out-of-source-tree builds.
BUILT_SOURCES += $(OS_CONFIG_EXAMPLES_TEXI) $(TRANSLATED_INFO)


+ 34
- 0
etc/copyright.el View File

@ -0,0 +1,34 @@
;;; copyright.el --- Insert a Guix copyright.
;; Copyright © 2020 Oleg Pykhalov <go.wigust@gmail.com>
;; This file is part of GNU Guix.
;; GNU Guix is free software; you can redistribute it and/or modify
;; it under the terms of the GNU General Public License as published by
;; the Free Software Foundation, either version 3 of the License, or
;; (at your option) any later version.
;; GNU Guix is distributed in the hope that it will be useful,
;; but WITHOUT ANY WARRANTY; without even the implied warranty of
;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;; GNU General Public License for more details.
;; You should have received a copy of the GNU General Public License
;; along with this program. If not, see <http://www.gnu.org/licenses/>.
;;; Commentary:
;; This package provides skeleton to insert a copyright with `guix-copyright'.
;;; Code:
(define-skeleton guix-copyright
"Insert a copyright by $USER notice at cursor."
"FULL_NAME <MAIL_ADDRESS>: "
comment-start
";; Copyright © " `(format-time-string "%Y") " "
(or (format "%s <%s>" user-full-name user-mail-address) str)
comment-end)
;;; copyright.el ends here

+ 2
- 0
gnu/build/file-systems.scm View File

@ -5,6 +5,7 @@
;;; Copyright © 2019 Guillaume Le Vaillant <glv@posteo.net>
;;; Copyright © 2019 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2019 David C. Trudgian <dave@trudgian.net>
;;; Copyright © 2020 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@ -581,6 +582,7 @@ were found."
((string-prefix? "btrfs" type) check-btrfs-file-system)
((string-suffix? "fat" type) check-fat-file-system)
((string-prefix? "jfs" type) check-jfs-file-system)
((string-prefix? "nfs" type) (const 'pass))
(else #f)))
(if check-procedure


+ 2
- 2
gnu/build/linux-boot.scm View File

@ -362,12 +362,12 @@ the last argument of `mknod'."
"Mount the root file system of type TYPE at device ROOT. If VOLATILE-ROOT? is
true, mount ROOT read-only and make it an overlay with a writable tmpfs using
the kernel built-in overlayfs. FLAGS and OPTIONS indicates the options to use
to mount ROOT."
to mount ROOT, and behave the same as for the `mount' procedure."
(if volatile-root?
(begin
(mkdir-p "/real-root")
(mount root "/real-root" type MS_RDONLY options)
(mount root "/real-root" type (logior MS_RDONLY flags) options)
(mkdir-p "/rw-root")
(mount "none" "/rw-root" "tmpfs")


+ 5
- 3
gnu/build/marionette.scm View File

@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2016, 2017, 2018, 2019 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2016, 2017, 2018, 2019, 2020 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2018 Chris Marusich <cmmarusich@gmail.com>
;;;
;;; This file is part of GNU Guix.
@ -204,6 +204,7 @@ MARIONETTE. Raise an error on failure."
(catch 'system-error
(lambda ()
(connect sock AF_INET INADDR_LOOPBACK ,port)
(close-port sock)
'success)
(lambda args
(if (< i ,timeout)
@ -227,6 +228,7 @@ accept connections in MARIONETTE. Raise an error on failure."
(catch 'system-error
(lambda ()
(connect sock AF_UNIX ,file-name)
(close-port sock)
'success)
(lambda args
(if (< i ,timeout)
@ -315,8 +317,8 @@ PREDICATE, whichever comes first. Raise an error when TIMEOUT is exceeded."
(#\( . "shift-9")
(#\) . "shift-0")
(#\/ . "slash")
(#\< . "less")
(#\> . "shift-less")
(#\< . "shift-comma")
(#\> . "shift-dot")
(#\. . "dot")
(#\, . "comma")
(#\; . "semicolon")


+ 4
- 1
gnu/installer.scm View File

@ -1,6 +1,6 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2018, 2020 Mathieu Othacehe <m.othacehe@gmail.com>
;;; Copyright © 2019 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2019, 2020 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
;;;
;;; This file is part of GNU Guix.
@ -26,6 +26,7 @@
#:use-module (guix utils)
#:use-module (guix ui)
#:use-module ((guix self) #:select (make-config.scm))
#:use-module (gnu installer utils)
#:use-module (gnu packages admin)
#:use-module (gnu packages base)
#:use-module (gnu packages bash)
@ -395,6 +396,8 @@ selected keymap."
#f)))
(const #f)
(lambda (key . args)
(syslog "crashing due to uncaught exception: ~s ~s~%"
key args)
(let ((error-file "/tmp/last-installer-error"))
(call-with-output-file error-file
(lambda (port)


+ 6
- 1
gnu/installer/parted.scm View File

@ -1,6 +1,6 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2018, 2019 Mathieu Othacehe <m.othacehe@gmail.com>
;;; Copyright © 2019 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2019, 2020 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2020 Tobias Geerinckx-Rice <me@tobias.gr>
;;;
;;; This file is part of GNU Guix.
@ -1070,6 +1070,8 @@ USER-PARTITION if it is encrypted, or the plain file-name otherwise."
(call-with-luks-key-file
password
(lambda (key-file)
(syslog "formatting and opening LUKS entry ~s at ~s~%"
label file-name)
(system* "cryptsetup" "-q" "luksFormat" file-name key-file)
(system* "cryptsetup" "open" "--type" "luks"
"--key-file" key-file file-name label)))))
@ -1077,6 +1079,7 @@ USER-PARTITION if it is encrypted, or the plain file-name otherwise."
(define (luks-close user-partition)
"Close the encrypted partition pointed by USER-PARTITION."
(let ((label (user-partition-crypt-label user-partition)))
(syslog "closing LUKS entry ~s~%" label)
(system* "cryptsetup" "close" label)))
(define (format-user-partitions user-partitions)
@ -1150,6 +1153,7 @@ respective mount-points."
(file-name
(user-partition-upper-file-name user-partition)))
(mkdir-p target)
(syslog "mounting ~s on ~s~%" file-name target)
(mount file-name target mount-type)))
sorted-partitions)))
@ -1165,6 +1169,7 @@ respective mount-points."
(target
(string-append (%installer-target-dir)
mount-point)))
(syslog "unmounting ~s~%" target)
(umount target)
(when crypt-label
(luks-close user-partition))))


+ 1
- 0
gnu/installer/steps.scm View File

@ -177,6 +177,7 @@ return the accumalated result so far."
#:done-steps '())))))
((installer-step-break? c)
(reverse result)))
(syslog "running step '~a'~%" (installer-step-id step))
(let* ((id (installer-step-id step))
(compute (installer-step-compute step))
(res (compute result done-steps)))


+ 45
- 2
gnu/installer/utils.scm View File

@ -1,6 +1,6 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2018 Mathieu Othacehe <m.othacehe@gmail.com>
;;; Copyright © 2019 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2019, 2020 Ludovic Courtès <ludo@gnu.org>
;;;
;;; This file is part of GNU Guix.
;;;
@ -24,12 +24,16 @@
#:use-module (srfi srfi-34)
#:use-module (ice-9 rdelim)
#:use-module (ice-9 regex)
#:use-module (ice-9 format)
#:use-module (ice-9 textual-ports)
#:export (read-lines
read-all
nearest-exact-integer
read-percentage
run-shell-command))
run-shell-command
syslog-port
syslog))
(define* (read-lines #:optional (port (current-input-port)))
"Read lines from PORT and return them as a list."
@ -85,9 +89,48 @@ COMMAND exited successfully, #f otherwise."
(format (current-error-port)
(G_ "Command failed with exit code ~a.~%")
(invoke-error-exit-status c))
(syslog "command ~s failed with exit code ~a"
command (invoke-error-exit-status c))
(pause)
#f))
(syslog "running command ~s~%" command)
(invoke "bash" "--init-file" file)
(syslog "command ~s succeeded~%" command)
(newline)
(pause)
#t))))
;;;
;;; Logging.
;;;
(define (open-syslog-port)
"Return an open port (a socket) to /dev/log or #f if that wasn't possible."
(let ((sock (socket AF_UNIX SOCK_DGRAM 0)))
(catch 'system-error
(lambda ()
(connect sock AF_UNIX "/dev/log")
(setvbuf sock 'line)
sock)
(lambda args
(close-port sock)
#f))))
(define syslog-port
(let ((port #f))
(lambda ()
"Return an output port to syslog."
(unless port
(set! port (open-syslog-port)))
(or port (%make-void-port "w")))))
(define-syntax syslog
(lambda (s)
"Like 'format', but write to syslog."
(syntax-case s ()
((_ fmt args ...)
(string? (syntax->datum #'fmt))
(with-syntax ((fmt (string-append "installer[~d]: "
(syntax->datum #'fmt))))
#'(format (syslog-port) fmt (getpid) args ...))))))

+ 10
- 8
gnu/local.mk View File

@ -622,6 +622,7 @@ GNU_SYSTEM_MODULES = \
%D%/tests.scm \
%D%/tests/audio.scm \
%D%/tests/base.scm \
%D%/tests/cups.scm \
%D%/tests/databases.scm \
%D%/tests/desktop.scm \
%D%/tests/dict.scm \
@ -719,7 +720,6 @@ dist_patch_DATA = \
%D%/packages/patches/antiword-CVE-2014-8123.patch \
%D%/packages/patches/antlr3-3_1-fix-java8-compilation.patch \
%D%/packages/patches/antlr3-3_3-fix-java8-compilation.patch \
%D%/packages/patches/appstream-glib-2020.patch \
%D%/packages/patches/apr-skip-getservbyname-test.patch \
%D%/packages/patches/arm-trusted-firmware-disable-hdcp.patch \
%D%/packages/patches/aspell-default-dict-dir.patch \
@ -771,11 +771,8 @@ dist_patch_DATA = \
%D%/packages/patches/catdoc-CVE-2017-11110.patch \
%D%/packages/patches/cdparanoia-fpic.patch \
%D%/packages/patches/cdrtools-3.01-mkisofs-isoinfo.patch \
%D%/packages/patches/ceph-boost-compat.patch \
%D%/packages/patches/ceph-disable-cpu-optimizations.patch \
%D%/packages/patches/ceph-volume-respect-PATH.patch \
%D%/packages/patches/chmlib-inttypes.patch \
%D%/packages/patches/choqok-Fix-building-under-Qt-5.13.patch \
%D%/packages/patches/clamav-config-llvm-libs.patch \
%D%/packages/patches/clamav-system-tomsfastmath.patch \
%D%/packages/patches/clang-3.5-libc-search-path.patch \
@ -783,6 +780,7 @@ dist_patch_DATA = \
%D%/packages/patches/clang-3.8-libc-search-path.patch \
%D%/packages/patches/clang-6.0-libc-search-path.patch \
%D%/packages/patches/clang-7.0-libc-search-path.patch \
%D%/packages/patches/clang-9.0-libc-search-path.patch \
%D%/packages/patches/clang-runtime-asan-build-fixes.patch \
%D%/packages/patches/clang-runtime-esan-build-fixes.patch \
%D%/packages/patches/classpath-aarch64-support.patch \
@ -795,6 +793,7 @@ dist_patch_DATA = \
%D%/packages/patches/coda-use-system-libs.patch \
%D%/packages/patches/combinatorial-blas-awpm.patch \
%D%/packages/patches/combinatorial-blas-io-fix.patch \
%D%/packages/patches/containerd-test-with-go1.13.patch \
%D%/packages/patches/cpufrequtils-fix-aclocal.patch \
%D%/packages/patches/crawl-upgrade-saves.patch \
%D%/packages/patches/crda-optional-gcrypt.patch \
@ -814,6 +813,8 @@ dist_patch_DATA = \
%D%/packages/patches/debops-constants-for-external-program-names.patch \
%D%/packages/patches/debops-debops-defaults-fall-back-to-less.patch \
%D%/packages/patches/deja-dup-use-ref-keyword-for-iter.patch \
%D%/packages/patches/desmume-gcc6-fixes.patch \
%D%/packages/patches/desmume-gcc7-fixes.patch \
%D%/packages/patches/dfu-programmer-fix-libusb.patch \
%D%/packages/patches/diffutils-gets-undeclared.patch \
%D%/packages/patches/dkimproxy-add-ipv6-support.patch \
@ -1102,7 +1103,6 @@ dist_patch_DATA = \
%D%/packages/patches/libexif-CVE-2018-20030.patch \
%D%/packages/patches/libextractor-exiv2.patch \
%D%/packages/patches/libgeotiff-adapt-test-script-for-proj-6.2.patch \
%D%/packages/patches/libgit2-avoid-python.patch \
%D%/packages/patches/libgit2-mtime-0.patch \
%D%/packages/patches/libgnome-encoding.patch \
%D%/packages/patches/libgnomeui-utf8.patch \
@ -1357,6 +1357,7 @@ dist_patch_DATA = \
%D%/packages/patches/qrcodegen-cpp-make-install.patch \
%D%/packages/patches/qt4-ldflags.patch \
%D%/packages/patches/qtbase-use-TZDIR.patch \
%D%/packages/patches/qtbase-QTBUG-81715.patch \
%D%/packages/patches/qtscript-disable-tests.patch \
%D%/packages/patches/quagga-reproducible-build.patch \
%D%/packages/patches/quickswitch-fix-dmenu-check.patch \
@ -1468,7 +1469,6 @@ dist_patch_DATA = \
%D%/packages/patches/ustr-fix-build-with-gcc-5.patch \
%D%/packages/patches/util-linux-tests.patch \
%D%/packages/patches/upower-builddir.patch \
%D%/packages/patches/upx-fix-CVE-2017-15056.patch \
%D%/packages/patches/valgrind-enable-arm.patch \
%D%/packages/patches/vboot-utils-fix-format-load-address.patch \
%D%/packages/patches/vboot-utils-fix-tests-show-contents.patch \
@ -1514,7 +1514,9 @@ dist_patch_DATA = \
%D%/packages/patches/xsane-fix-pdf-floats.patch \
%D%/packages/patches/xsane-fix-snprintf-buffer-length.patch \
%D%/packages/patches/xsane-support-ipv6.patch \
%D%/packages/patches/xsane-tighten-default-umask.patch
%D%/packages/patches/xsane-tighten-default-umask.patch \
%D%/packages/patches/zziplib-CVE-2018-16548.patch
MISC_DISTRO_FILES = \
%D%/packages/ld-wrapper.in
%D%/packages/ld-wrapper.in \
%D%/packages/ld-wrapper-next.in

+ 3
- 2
gnu/packages/abduco.scm View File

@ -1,5 +1,6 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2015, 2016 Leo Famulari <leo@famulari.name>
;;; Copyright © 2020 Björn Höfling <bjoern.hoefling@bjoernhoefling.de>
;;;
;;; This file is part of GNU Guix.
;;;
@ -29,7 +30,7 @@
(source (origin
(method url-fetch)
(uri (string-append
"http://www.brain-dump.org/projects/abduco/abduco-"
"https://www.brain-dump.org/projects/abduco/abduco-"
version ".tar.gz"))
(sha256
(base32
@ -45,5 +46,5 @@
(description "abduco provides session management i.e. it allows programs to
be run independently from their controlling terminal. That is, programs can
be detached---run in the background---and then later reattached.")
(home-page "http://www.brain-dump.org/projects/abduco/")
(home-page "https://www.brain-dump.org/projects/abduco/")
(license isc)))

+ 2
- 1
gnu/packages/acct.scm View File

@ -1,5 +1,6 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2013 Nikita Karetnikov <nikita@karetnikov.org>
;;; Copyright © 2020 Björn Höfling <bjoern.hoefling@bjoernhoefling.de>
;;;
;;; This file is part of GNU Guix.
;;;
@ -35,7 +36,7 @@
(base32
"0gv6m8giazshvgpvwbng98chpas09myyfw1zr2y7hqxib0mvy5ac"))))
(build-system gnu-build-system)
(home-page "https://gnu.org/software/acct/")
(home-page "https://www.gnu.org/software/acct/")
(synopsis "Standard login and process accounting utilities")
(description
"GNU acct provides a means for system administrators to determine


+ 56
- 21
gnu/packages/admin.scm View File

@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2013 Cyril Roelandt <tipecaml@gmail.com>
;;; Copyright © 2014, 2015, 2016, 2018, 2019 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2014, 2015, 2016, 2017, 2018 Eric Bavier <bavier@member.fsf.org>
@ -24,7 +24,7 @@
;;; Copyright © 2018 Rutger Helling <rhelling@mykolab.com>
;;; Copyright © 2018 Pierre Neidhardt <mail@ambrevar.xyz>
;;; Copyright © 2019 Brett Gilio <brettg@gnu.org>
;;; Copyright © 2019 Björn Höfling <bjoern.hoefling@bjoernhoefling.de>
;;; Copyright © 2019,2020 Björn Höfling <bjoern.hoefling@bjoernhoefling.de>
;;; Copyright © 2019 Jakob L. Kreuze <zerodaysfordays@sdf.org>
;;; Copyright © 2019 Hartmut Goebel <h.goebel@crazy-compilers.com>
;;; Copyright © 2019 Alex Griffin <a@ajgrf.com>
@ -196,14 +196,14 @@ and provides a \"top-like\" mode (monitoring).")
(define-public shepherd
(package
(name "shepherd")
(version "0.6.1")
(version "0.7.0")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnu/shepherd/shepherd-"
version ".tar.gz"))
(sha256
(base32
"1xn6mb5bh8bpfgdrh09ja31jk0ln7bmxbbf0vjcqxkkixs2wl6sk"))))
"07j3vd0y8zab2nwbrwj0ahrfif1ldm5sjssn7m3dw4s307fsrfzx"))))
(build-system gnu-build-system)
(arguments
'(#:configure-flags '("--localstatedir=/var")))
@ -228,6 +228,16 @@ interface and is based on GNU Guile.")
(license license:gpl3+)
(home-page "https://www.gnu.org/software/shepherd/")))
(define-public guile3.0-shepherd
(package
(inherit shepherd)
(name "guile3.0-shepherd")
(native-inputs
`(("pkg-config" ,pkg-config)
("guile" ,guile-next)))
(inputs
`(("guile" ,guile-next)))))
(define-public cloud-utils
(package
(name "cloud-utils")
@ -405,7 +415,7 @@ application (for console or X terminals) and requires ncurses.")
(("\"/bin/sh\"")
(string-append "\"" bash "/bin/sh\"")))
#t))))))
(home-page "https://www.gnu.org/software/pies/")
(home-page "https://www.gnu.org.ua/software/pies/")
(synopsis "Program invocation and execution supervisor")
(description
"GNU pies is a program that supervises the invocation and execution of
@ -1571,7 +1581,7 @@ module slots, and the list of I/O ports (e.g. serial, parallel, USB).")
(define-public acpica
(package
(name "acpica")
(version "20200110")
(version "20200214")
(source (origin
(method url-fetch)
(uri (string-append
@ -1579,7 +1589,7 @@ module slots, and the list of I/O ports (e.g. serial, parallel, USB).")
version ".tar.gz"))
(sha256
(base32
"1hb4g6r7w8s4bhlkk36fmb4qxghnrwvad7f18cpn6zz0b4sjs7za"))))
"0jdasziq184l3iqyp5vhrsbi6g89n10wr0ssliiz0xi3dqwsxcqk"))))
(build-system gnu-build-system)
(native-inputs `(("flex" ,flex)
("bison" ,bison)))
@ -1774,7 +1784,7 @@ environment variable is set and output is to tty.")
(string-append "SHELL=" bash "/bin/sh")))
#t))))))
(home-page "https://www.gnu.org/software/direvent/")
(home-page "https://www.gnu.org.ua/software/direvent/")
(synopsis "Daemon to monitor directories for events such as file removal")
(description
"A daemon that monitors directories for events, such as creating,
@ -1905,13 +1915,13 @@ of supported upstream metrics systems simultaneously.")
(define-public ansible
(package
(name "ansible")
(version "2.8.5")
(version "2.9.5")
(source
(origin
(method url-fetch)
(uri (pypi-uri "ansible" version))
(sha256
(base32 "11k94ifp42psivzx147xwbmq1ak7qnjdgkb6c1xz53nfapkh754f"))))
(base32 "19fav6rs58zdc3gfhh1lxhki36jn4252183rrd769sv46b9m1bji"))))
(build-system python-build-system)
(native-inputs
`(("python-bcrypt" ,python-bcrypt)
@ -2230,7 +2240,7 @@ displays a table of current bandwidth usage by pairs of hosts.")
(define-public munge
(package
(name "munge")
(version "0.5.13")
(version "0.5.14")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/dun/munge/releases/"
@ -2238,20 +2248,45 @@ displays a table of current bandwidth usage by pairs of hosts.")
version ".tar.xz"))
(sha256
(base32
"1nj486bbg1adfg298zck96vgx57kchcypc1zdz1n7w540vyksxcr"))
"0h06sghb4rqvv1ywyd6mzsmbcgh712v6ygrff0gzm440y4ca41k6"))
(modules '((guix build utils)))
(snippet
'(begin
;; Don't insist on write access to /var.
(substitute* "src/etc/Makefile.in"
(("\\$\\(INSTALL\\)(.*)localstatedir" _ middle)
(string-append "-$(INSTALL)" middle "localstatedir")))
(string-append "-$(INSTALL)" middle "localstatedir"))
(("\\$\\(MKDIR_P\\) .*(local|run)statedir.*")
""))
#t))))
(inputs
`(("openssl" ,openssl)
("libgcrypt" ,libgcrypt)))
(build-system gnu-build-system)
(arguments '(#:configure-flags '("--localstatedir=/var")))
(arguments
'(#:configure-flags
(list "--localstatedir=/var"
(string-append "--with-pkgconfigdir="
(assoc-ref %outputs "out") "/lib/pkgconfig"))
#:phases
(modify-phases %standard-phases
;; XXX Many test series fail. Some might be fixable, others do no-no
;; things like invoking ‘sudo’.
(add-after 'unpack 'skip-failing-tests
(lambda _
(for-each (lambda (test)
(substitute* "t/Makefile.in"
(((string-append test "\\.t ")) "")))
(list "0100-munged-lock"
"0010-basic"
"0011-munged-cmdline"
"0012-munge-cmdline"
"0013-unmunge-cmdline"
"0101-munged-security-socket"
"0102-munged-security-keyfile"
"0103-munged-security-logfile"
"0110-munged-origin-addr"))
#t)))))
(home-page "https://dun.github.io/munge/")
(synopsis "Cluster computing authentication service")
(description
@ -2500,7 +2535,7 @@ a new command using the matched rule, and runs it.")
(setenv "prefix" (assoc-ref outputs "out"))
#t)))
#:make-flags (list "--environment-overrides")))
(home-page "https://www.gentoo.com/di/")
(home-page "https://gentoo.com/di/")
(synopsis "Advanced df like disk information utility")
(description
"@code{di} is a disk information utility, displaying everything that your
@ -2840,14 +2875,14 @@ Intel DRM Driver.")
(define-public fabric
(package
(name "fabric")
(version "1.14.0")
(version "1.14.1")
(source
(origin
(method url-fetch)
(uri (pypi-uri "Fabric" version))
(sha256
(base32
"13r0b0hllgf8j9rh6x1knmbgvingbdmx046aazv6vck2ll120mw1"))))
"1a3ndlpdw6bhn8fcw1jgznl117a8pnr84az9rb5fwnrypf1ph2b6"))))
(build-system python-build-system)
(arguments
`(#:python ,python-2 ; Python 2 only
@ -2871,7 +2906,7 @@ Intel DRM Driver.")
("python2-bcrypt" ,python2-bcrypt)))
(propagated-inputs
`(("python2-paramiko" ,python2-paramiko)))
(home-page "http://fabfile.org")
(home-page "https://www.fabfile.org/")
(synopsis "Simple Pythonic remote execution and deployment tool")
(description
"Fabric is designed to upload files and run shell commands on a number of
@ -3320,14 +3355,14 @@ support forum. It runs with the @code{/exec} command in most IRC clients.")
(define-public python-pyudev
(package
(name "python-pyudev")
(version "0.21.0")
(version "0.22.0")
(source
(origin
(method url-fetch)
(uri (pypi-uri "pyudev" version))
(sha256
(base32
"0arz0dqp75sszsmgm6vhg92n1lsx91ihddx3m944f4ah0487ljq9"))))
"0xmj6l08iih2js9skjqpv4w7y0dhxyg91zmrs6v5aa65gbmipfv9"))))
(build-system python-build-system)
(arguments
`(#:tests? #f ; Tests require /sys
@ -3353,7 +3388,7 @@ support forum. It runs with the @code{/exec} command in most IRC clients.")
("python-mock" ,python-mock)
("python-pytest" ,python-pytest)
("python-sphinx" ,python-sphinx)))
(home-page "http://pyudev.readthedocs.org/")
(home-page "https://pyudev.readthedocs.io/")
(synopsis "Python udev binding")
(description "This package provides @code{udev} bindings for Python.")
(license license:lgpl2.1)))


+ 17
- 17
gnu/packages/algebra.scm View File

@ -1,7 +1,7 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2013, 2015, 2017, 2018 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2016, 2017, 2018, 2019 Nicolas Goaziou <mail@nicolasgoaziou.fr>
;;; Copyright © 2016, 2017, 2018, 2019, 2020 Nicolas Goaziou <mail@nicolasgoaziou.fr>
;;; Copyright © 2014, 2018 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2016, 2018, 2019 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2017 Efraim Flashner <efraim@flashner.co.il>
@ -92,7 +92,7 @@ implement the floating point approach to complex multiplication are
implemented. On the other hand, these comprise asymptotically fast
multiplication routines such as ToomCook and the FFT.")
(license license:lgpl3+)
(home-page "http://mpfrcx.multiprecision.org/")))
(home-page "http://www.multiprecision.org/mpfrcx/")))
(define-public gf2x
(package
@ -141,7 +141,7 @@ multiplication via floating point approximations. It consists of libraries
that can be called from within a C program and of executable command
line applications.")
(license license:gpl3+)
(home-page "http://cm.multiprecision.org/")))
(home-page "http://www.multiprecision.org/cm/")))
(define-public fplll
(package
@ -346,19 +346,19 @@ precision.")
(define-public giac
(package
(name "giac")
(version "1.5.0-85")
(source (origin
(method url-fetch)
;; "~parisse/giac" is not used because the maintainer regularly
;; overwrites the release tarball there, introducing a checksum
;; mismatch every time. See
;; <https://www-fourier.ujf-grenoble.fr/~parisse/debian/dists/stable/main/source/README>
(uri (string-append "https://www-fourier.ujf-grenoble.fr/"
"~parisse/debian/dists/stable/main/"
"source/giac_" version ".tar.gz"))
(sha256
(base32
"03icgrfhb1xiy95cqmfgmcb1lw3775mr2ybnzandmyn44iycs6rh"))))
(version "1.5.0-87")
(source
(origin
(method url-fetch)
;; "~parisse/giac" is not used because the maintainer regularly
;; overwrites the release tarball there, introducing a checksum
;; mismatch every time. See
;; <https://www-fourier.ujf-grenoble.fr/~parisse/debian/dists/stable/main/source/README>
(uri (string-append "https://www-fourier.ujf-grenoble.fr/"
"~parisse/debian/dists/stable/main/source/"
"giac_" version ".tar.gz"))
(sha256
(base32 "1d0h1yb7qvh9x7wwv9yrzmcp712f49w1iljkxp4y6g9pzsmg1mmv"))))
(build-system gnu-build-system)
(arguments
`(#:modules ((ice-9 ftw)
@ -1481,7 +1481,7 @@ cohomology ring of a Grassmann variety. The software package also includes
a program that performs fast computation of the more general multiplicative
structure constants of Schubert polynomials.")
(license license:gpl2+)
(home-page "http://sites.math.rutgers.edu/~asbuch/lrcalc/")))
(home-page "https://sites.math.rutgers.edu/~asbuch/lrcalc/")))
(define-public iml
(package


+ 44
- 39
gnu/packages/android.scm View File

@ -9,6 +9,7 @@
;;; Copyright © 2018 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2019 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2019 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2020 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@ -716,7 +717,7 @@ to be passed to the @code{udev} service.")
(define-public git-repo
(package
(name "git-repo")
(version "1.12.37")
(version "2.4.1")
(source
(origin
(method git-fetch)
@ -725,61 +726,66 @@ to be passed to the @code{udev} service.")
(commit (string-append "v" version))))
(file-name (string-append "git-repo-" version "-checkout"))
(sha256
(base32 "0qp7jqhblv7xblfgpcq4n18dyjdv8shz7r60c3vnjxx2fngkj2jd"))))
(base32 "0khg1731927gvin73dcbw1657kbfq4k7agla5rpzqcnwkk5agzg3"))))
(build-system python-build-system)
(arguments
`(#:python ,python-2 ; code says: "Python 3 support is … experimental."
#:phases
`(#:phases
(modify-phases %standard-phases
(add-before 'build 'set-executable-paths
(lambda* (#:key inputs outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(git (assoc-ref inputs "git"))
(gpg (assoc-ref inputs "gnupg"))
(ssh (assoc-ref inputs "ssh")))
(substitute* '("repo" "git_command.py")
(("^GIT = 'git' ")
(string-append "GIT = '" git "/bin/git' ")))
(substitute* "repo"
((" cmd = \\['gpg',")
(string-append " cmd = ['" gpg "/bin/gpg',")))
(("^GIT = 'git'")
(string-append "GIT = '" git "/bin/git'")))
(substitute* "git_config.py"
((" command_base = \\['ssh',")
(string-append " command_base = ['" ssh "/bin/ssh',")))
#t)))
(add-before 'build 'do-not-clone-this-source
(add-before 'build 'do-not-self-update
(lambda* (#:key outputs #:allow-other-keys)
;; Setting the REPO_MAIN variable to an absolute file name is
;; enough to have _FindRepo return the store main.py file. The
;; self update mechanism is activated with the call to _Init() in
;; main(), so we bypass it.
;; Ticket requesting upstream to provide a mean to disable the
;; self update mechanism:
;; https://bugs.chromium.org/p/gerrit/issues/detail?id=12407.
(let* ((out (assoc-ref outputs "out"))
(repo-dir (string-append out "/share/" ,name)))
(repo-main (string-append out "/share/git-repo/main.py")))
(substitute* "repo"
(("^def _FindRepo\\(\\):.*")
(format #f "
def _FindRepo():
'''Look for a repo installation, starting at the current directory.'''
# Use the installed version of git-repo.
repo_main = '~a/main.py'
curdir = os.getcwd()
olddir = None
while curdir != '/' and curdir != olddir:
dot_repo = os.path.join(curdir, repodir)
if os.path.isdir(dot_repo):
return (repo_main, dot_repo)
else:
olddir = curdir
curdir = os.path.dirname(curdir)
return None, ''
# The remaining of this function is dead code. It was used to
# find a git-checked-out version in the local project.\n" repo-dir))
;; Neither clone, check out, nor verify the git repository
(("(^\\s+)_Clone\\(.*\\)") "")
(("(^\\s+)_Checkout\\(.*\\)") "")
((" rev = _Verify\\(.*\\)") " rev = None"))
#t)))
(("^REPO_MAIN = .*")
(format #f "REPO_MAIN = ~s~%" repo-main))
((" _Init\\(args, gitc_init=\\(cmd ==.*" all)
(string-append "True #" all)))
;; Prevent repo from trying to git describe its version from
;; the (disabled) self updated copy.
(substitute* "git_command.py"
(("ver = getattr\\(RepoSourceVersion.*")
(format #f "ver = ~s~%" ,version)))
(substitute* "subcmds/version.py"
(("rp_ver = .*")
(format #f "rp_ver = ~s~%" ,version)))
;; Prevent repo from adding its (disabled) self update copy to
;; the list of projects to fetch when using 'repo sync'.
(substitute* "subcmds/sync.py"
(("to_fetch\\.extend\\(all_projects\\).*" all)
(string-append "#" all))
(("self\\._Fetch\\(to_fetch")
"self._Fetch(all_projects")
(("_PostRepoFetch\\(rp, opt\\.repo_verify).*" all)
(string-append "#" all))))))
(delete 'build) ; nothing to build
(add-before 'check 'configure-git
(lambda _
(setenv "HOME" (getcwd))
(invoke "git" "config" "--global" "user.email" "you@example.com")
(invoke "git" "config" "--global" "user.name" "Your Name")))
(replace 'check
(lambda _
(invoke "python" "-m" "nose")))
(invoke "./run_tests")))
(replace 'install
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
@ -795,10 +801,9 @@ def _FindRepo():
(inputs
;; TODO: Add git-remote-persistent-https once it is available in guix
`(("git" ,git)
("gnupg" ,gnupg)
("ssh" ,openssh)))
(native-inputs
`(("nose" ,python2-nose)))
`(("pytest" ,python-pytest)))
(home-page "https://code.google.com/p/git-repo/")
(synopsis "Helps to manage many Git repositories.")
(description "Repo is a tool built on top of Git. Repo helps manage many


+ 1
- 1
gnu/packages/anthy.scm View File

@ -49,7 +49,7 @@
(lambda _
(with-directory-excursion "test"
(invoke "./anthy" "--all")))))))
(home-page "http://anthy.osdn.jp/")
(home-page "https://anthy.osdn.jp/")
(synopsis "Japanese input method")
(description "Anthy is a Japanese input method for converting
hiragana text to mixed kana and kanji. It is written in the C


+ 2
- 3
gnu/packages/aspell.scm View File

@ -174,11 +174,10 @@ dictionaries, including personal ones.")
(define-public aspell-dict-da
(aspell-dictionary "da" "Danish"
#:version "1.4.42-1"
#:prefix "aspell5-"
#:version "1.6.36-11-0"
#:sha256
(base32
"1hfkmiyhgrx5lgrb2mffjbdn1hivrm73wcg7x0iid74p2yb0fjpp")))
"1xz2haayvwlxgss9jf1x2311a1ixbk75q2vgfprjhibsmb7cpinv")))
(define-public aspell-dict-el
(aspell-dictionary "el" "Greek"


+ 3
- 3
gnu/packages/assembly.scm View File

@ -148,14 +148,14 @@ to the clients.")
(define-public fasm
(package
(name "fasm")
(version "1.73.21")
(version "1.73.22")
(source
(origin
(method url-fetch)
(uri (string-append "https://flatassembler.net/fasm-"
version ".tgz"))
(sha256
(base32 "143zh7x3q0r2kclshh8n5w4i5pw4lh60si7rspvc725xxjpjkvcv"))))
(base32 "1pb0rcfdsb0h89khjjrbikz5wjdllavj3ajim0rcyh7x12xr1hw5"))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f ; no tests exist
@ -232,7 +232,7 @@ assembler, a C compiler and a linker. The assembler uses Intel syntax
(uri (git-reference
(url "https://git.savannah.gnu.org/r/libjit.git")
(commit commit)))
(file-name (string-append name "-" version "-checkout"))
(file-name (git-file-name name version))
(sha256
(base32
"0p6wklslkkp3s4aisj3w5a53bagqn5fy4m6088ppd4fcfxgqkrcd"))))


+ 14
- 18
gnu/packages/audio.scm View File

@ -322,7 +322,7 @@ namespace ARDOUR { const char* revision = \"" version "\" ; }"))
("itstool" ,itstool)
("perl" ,perl)
("pkg-config" ,pkg-config)))
(home-page "http://ardour.org")
(home-page "https://ardour.org")
(synopsis "Digital audio workstation")
(description
"Ardour is a multi-channel digital audio workstation, allowing users to
@ -1193,7 +1193,7 @@ follower.")
(define-public fluidsynth
(package
(name "fluidsynth")
(version "2.1.0")
(version "2.1.1")
(source (origin
(method git-fetch)
(uri (git-reference
@ -1202,7 +1202,7 @@ follower.")
(file-name (git-file-name name version))
(sha256
(base32