diff options
author | Marius Bakke <marius@gnu.org> | 2020-10-13 23:39:27 +0200 |
---|---|---|
committer | Marius Bakke <marius@gnu.org> | 2020-10-13 23:39:27 +0200 |
commit | f7175626ffce578be1bc6df4916a129f86557872 (patch) | |
tree | 2eb0040522f2883764b3e09dc36595d68eeb14c1 | |
parent | 2b6ecdf41a09ab9ecae06d7c537583a2f0f28efc (diff) | |
parent | e8c5533d26b4441c96e9ae92350efcb24d787c4b (diff) | |
download | guix-f7175626ffce578be1bc6df4916a129f86557872.tar.gz |
Merge branch 'master' into staging
128 files changed, 8630 insertions, 1415 deletions
diff --git a/Makefile.am b/Makefile.am index 26973d14d9..a75d9c1ffc 100644 --- a/Makefile.am +++ b/Makefile.am @@ -47,6 +47,18 @@ scripts/guix: scripts/guix.in Makefile $(AM_V_GEN)$(do_subst) < "$(srcdir)/$@.in" > "$@-t" $(AM_V_at)chmod a+x,a-w "$@-t" && mv -f "$@-t" "$@" +# This is our variant of the 'guile' executable, one that doesn't complain +# about locales. +pkglibexec_PROGRAMS = guile +guile_SOURCES = gnu/packages/aux-files/guile-launcher.c +guile_LDADD = $(GUILE_LIBS) +guile_CFLAGS = $(GUILE_CFLAGS) + +# Have the 'guix' command refer to our 'guile'. +install-exec-hook: + $(SED) -i "$(DESTDIR)$(bindir)/guix" \ + -e 's,^#![[:graph:]]\+,#!$(pkglibexecdir)/guile,g' + nodist_noinst_SCRIPTS = \ pre-inst-env \ test-env diff --git a/configure.ac b/configure.ac index adca374619..6861112eaf 100644 --- a/configure.ac +++ b/configure.ac @@ -105,6 +105,9 @@ if test "x$GUILE_EFFECTIVE_VERSION" = "x2.2"; then PKG_CHECK_MODULES([GUILE], [guile-2.2 >= 2.2.3]) fi +dnl Get CFLAGS and LDFLAGS for libguile. +GUILE_FLAGS + dnl Installation directories for .scm and .go files. guilemoduledir="${datarootdir}/guile/site/$GUILE_EFFECTIVE_VERSION" guileobjectdir="${libdir}/guile/$GUILE_EFFECTIVE_VERSION/site-ccache" diff --git a/doc/contributing.texi b/doc/contributing.texi index 535cfc2a6f..af3601442e 100644 --- a/doc/contributing.texi +++ b/doc/contributing.texi @@ -121,8 +121,9 @@ more information. Then, run @command{./configure} as usual. Make sure to pass @code{--localstatedir=@var{directory}} where @var{directory} is the @code{localstatedir} value used by your current installation (@pxref{The -Store}, for information about this). We recommend to use the value -@code{/var}. +Store}, for information about this), usually @file{/var}. Note that you +will probably not run @command{make install} at the end (you don't have +to) but it's still important to pass the right @code{localstatedir}. Finally, you have to invoke @code{make check} to run tests (@pxref{Running the Test Suite}). If anything @@ -159,13 +160,11 @@ with all the dependencies available (@pxref{Building from Git}), and then simply prefix each command with @command{./pre-inst-env} (the @file{pre-inst-env} script lives in the top build tree of Guix; it is generated by @command{./configure}). -An example@footnote{The @option{-E} flag to -@command{sudo} guarantees that @code{GUILE_LOAD_PATH} is correctly set -such that @command{guix-daemon} and the tools it uses can find the Guile -modules they need.}: +As an example, here is how you would build the @code{hello} package as +defined in your working tree (this assumes @command{guix-daemon} is +already running on your system; it's OK if it's a different version): @example -$ sudo -E ./pre-inst-env guix-daemon --build-users-group=guixbuild $ ./pre-inst-env guix build hello @end example @@ -200,6 +199,17 @@ scheme@@(guile-user)> (length snakes) $1 = 361 @end example +If you are hacking on the daemon and its supporting code or if +@command{guix-daemon} is not already running on your system, you can +launch it straight from the build tree@footnote{The @option{-E} flag to +@command{sudo} guarantees that @code{GUILE_LOAD_PATH} is correctly set +such that @command{guix-daemon} and the tools it uses can find the Guile +modules they need.}: + +@example +$ sudo -E ./pre-inst-env guix-daemon --build-users-group=guixbuild +@end example + The @command{pre-inst-env} script sets up all the environment variables necessary to support this, including @env{PATH} and @env{GUILE_LOAD_PATH}. diff --git a/doc/guix.texi b/doc/guix.texi index 76545d0f50..0be2c7303d 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -1081,7 +1081,28 @@ architecture natively supports it, via emulation (@pxref{Transparent Emulation with QEMU}), or both. Missing prerequisites for the build are copied over SSH to the target machine, which then proceeds with the build; upon success the output(s) of the build are copied back to the -initial machine. +initial machine. The offload facility comes with a basic scheduler that +attempts to select the best machine. The best machine is chosen among +the available machines based on criteria such as: + +@enumerate +@item +The availability of a build slot. A build machine can have as many +build slots (connections) as the value of the @code{parallel-builds} +field of its @code{build-machine} object. + +@item +Its relative speed, as defined via the @code{speed} field of its +@code{build-machine} object. + +@item +Its load. The normalized machine load must be lower than a threshold +value, configurable via the @code{overload-threshold} field of its +@code{build-machine} object. + +@item +Disk space availability. More than a 100 MiB must be available. +@end enumerate The @file{/etc/guix/machines.scm} file typically looks like this: @@ -1185,6 +1206,13 @@ when transferring files to and from build machines. File name of the Unix-domain socket @command{guix-daemon} is listening to on that machine. +@item @code{overload-threshold} (default: @code{0.6}) +The load threshold above which a potential offload machine is +disregarded by the offload scheduler. The value roughly translates to +the total processor usage of the build machine, ranging from 0.0 (0%) to +1.0 (100%). It can also be disabled by setting +@code{overload-threshold} to @code{#f}. + @item @code{parallel-builds} (default: @code{1}) The number of builds that may run in parallel on the machine. @@ -6530,6 +6558,35 @@ cross-compiling: It is an error to refer to @code{this-package} outside a package definition. @end deffn +Because packages are regular Scheme objects that capture a complete +dependency graph and associated build procedures, it is often useful to +write procedures that take a package and return a modified version +thereof according to some parameters. Below are a few examples. + +@cindex tool chain, choosing a package's tool chain +@deffn {Scheme Procedure} package-with-c-toolchain @var{package} @var{toolchain} +Return a variant of @var{package} that uses @var{toolchain} instead of +the default GNU C/C++ toolchain. @var{toolchain} must be a list of +inputs (label/package tuples) providing equivalent functionality, such +as the @code{gcc-toolchain} package. + +The example below returns a variant of the @code{hello} package built +with GCC@tie{}10.x and the rest of the GNU tool chain (Binutils and the +GNU C Library) instead of the default tool chain: + +@lisp +(let ((toolchain (specification->package "gcc-toolchain@@10"))) + (package-with-c-toolchain hello `(("toolchain" ,toolchain)))) +@end lisp + +The build tool chain is part of the @dfn{implicit inputs} of +packages---it's usually not listed as part of the various ``inputs'' +fields and is instead pulled in by the build system. Consequently, this +procedure works by changing the build system of @var{package} so that it +pulls in @var{toolchain} instead of the defaults. @ref{Build Systems}, +for more on build systems. +@end deffn + @node origin Reference @subsection @code{origin} Reference @@ -6666,6 +6723,9 @@ ornamentation---in other words, a bag is a lower-level representation of a package, which includes all the inputs of that package, including some that were implicitly added by the build system. This intermediate representation is then compiled to a derivation (@pxref{Derivations}). +The @code{package-with-c-toolchain} is an example of a way to change the +implicit inputs that a package's build system pulls in (@pxref{package +Reference, @code{package-with-c-toolchain}}). Build systems accept an optional list of @dfn{arguments}. In package definitions, these are passed @i{via} the @code{arguments} field @@ -9124,11 +9184,9 @@ Non-deterministic build processes are a problem because they make it practically impossible for users to @emph{verify} whether third-party binaries are genuine. @xref{Invoking guix challenge}, for more. -Note that, currently, the differing build results are not kept around, -so you will have to manually investigate in case of an error---e.g., by -stashing one of the build results with @code{guix archive --export} -(@pxref{Invoking guix archive}), then rebuilding, and finally comparing -the two results. +When used in conjunction with @option{--keep-failed}, the differing +output is kept in the store, under @file{/gnu/store/@dots{}-check}. +This makes it easy to look for differences between the two results. @item --no-offload Do not use offload builds to other machines (@pxref{Daemon Offload @@ -9303,6 +9361,44 @@ must be compatible. If @var{replacement} is somehow incompatible with @var{package}, then the resulting package may be unusable. Use with care! +@cindex tool chain, changing the build tool chain of a package +@item --with-c-toolchain=@var{package}=@var{toolchain} +This option changes the compilation of @var{package} and everything that +depends on it so that they get built with @var{toolchain} instead of the +default GNU tool chain for C/C++. + +Consider this example: + +@example +guix build octave-cli \ + --with-c-toolchain=fftw=gcc-toolchain@@10 \ + --with-c-toolchain=fftwf=gcc-toolchain@@10 +@end example + +The command above builds a variant of the @code{fftw} and @code{fftwf} +packages using version 10 of @code{gcc-toolchain} instead of the default +tool chain, and then builds a variant of the GNU@tie{}Octave +command-line interface using them. GNU@tie{}Octave itself is also built +with @code{gcc-toolchain@@10}. + +This other example builds the Hardware Locality (@code{hwloc}) library +and its dependents up to @code{intel-mpi-benchmarks} with the Clang C +compiler: + +@example +guix build --with-c-toolchain=hwloc=clang-toolchain \ + intel-mpi-benchmarks +@end example + +@quotation Note +There can be application binary interface (ABI) incompatibilities among +tool chains. This is particularly true of the C++ standard library and +run-time support libraries such as that of OpenMP. By rebuilding all +dependents with the same tool chain, @option{--with-c-toolchain} minimizes +the risks of incompatibility but cannot entirely eliminate them. Choose +@var{package} wisely. +@end quotation + @item --with-git-url=@var{package}=@var{url} @cindex Git, using the latest commit @cindex latest commit, building @@ -12059,11 +12155,15 @@ following in your operating system declaration: (guix-service-type config => (guix-configuration (inherit config) - (use-substitutes? #f) - (extra-options '("--gc-keep-derivations")))) + ;; Fetch substitutes from example.org. + (substitute-urls + (list "https://example.org/guix" + "https://ci.guix.gnu.org")))) (mingetty-service-type config => (mingetty-configuration - (inherit config))))) + (inherit config) + ;; Automatially log in as "guest". + (auto-login "guest"))))) (operating-system ;; @dots{} @@ -15316,6 +15416,9 @@ example: This is the configuration record for OpenSSH's @command{sshd}. @table @asis +@item @code{openssh} (default @var{openssh}) +The Openssh package to use. + @item @code{pid-file} (default: @code{"/var/run/sshd.pid"}) Name of the file where @command{sshd} writes its PID. @@ -23360,6 +23463,60 @@ disables caching. @item @code{negative-cache?} (default: @code{#t}) When false, disable negative caching. +@item @code{tftp-enable?} (default: @code{#f}) +Whether to enable the built-in TFTP server. + +@item @code{tftp-no-fail?} (default: @code{#f}) +If true, does not fail dnsmasq if the TFTP server could not start up. + +@item @code{tftp-single-port?} (default: @code{#f}) +Whether to use only one single port for TFTP. + +@item @code{tftp-secure?} (default: @code{#f}) +If true, only files owned by the user running the dnsmasq process are accessible. + +If dnsmasq is being run as root, different rules apply: +@code{tftp-secure?} has no effect, but only files which have the +world-readable bit set are accessible. + +@item @code{tftp-max} (default: @code{#f}) +If set, sets the maximal number of concurrent connections allowed. + +@item @code{tftp-mtu} (default: @code{#f}) +If set, sets the MTU for TFTP packets to that value. + +@item @code{tftp-no-blocksize?} (default: @code{#f}) +If true, stops the TFTP server from negotiating the blocksize with a client. + +@item @code{tftp-lowercase?} (default: @code{#f}) +Whether to convert all filenames in TFTP requests to lowercase. + +@item @code{tftp-port-range} (default: @code{#f}) +If set, fixes the dynamical ports (one per client) to the given range +(@code{"<start>,<end>"}). + +@item @code{tftp-root} (default: @code{/var/empty,lo}) +Look for files to transfer using TFTP relative to the given directory. +When this is set, TFTP paths which include ".." are rejected, to stop clients +getting outside the specified root. Absolute paths (starting with /) are +allowed, but they must be within the tftp-root. If the optional interface +argument is given, the directory is only used for TFTP requests via that +interface. + +@item @code{tftp-unique-root} (default: @code{#f}) +If set, add the IP or hardware address of the TFTP client as a path component +on the end of the TFTP-root. Only valid if a TFTP root is set and the +directory exists. Defaults to adding IP address (in standard dotted-quad +format). + +For instance, if --tftp-root is "/tftp" and client 1.2.3.4 requests file +"myfile" then the effective path will be "/tftp/1.2.3.4/myfile" if +/tftp/1.2.3.4 exists or /tftp/myfile otherwise. When "=mac" is specified +it will append the MAC address instead, using lowercase zero padded digits +separated by dashes, e.g.: 01-02-03-04-aa-bb Note that resolving MAC +addresses is only possible if the client is in the local network or obtained +a DHCP lease from dnsmasq. + @end table @end deftp @@ -27761,6 +27918,168 @@ The complete list of possible options can be found in the man page for @node Guix Services @subsection Guix Services +@subsubheading Guix Build Coordinator +The @uref{https://git.cbaines.net/guix/build-coordinator/,Guix Build +Coordinator} aids in distributing derivation builds among machines +running an @dfn{agent}. The build daemon is still used to build the +derivations, but the Guix Build Coordinator manages allocating builds +and working with the results. + +@quotation Note +This service is considered experimental. Configuration options may be +changed in a backwards-incompatible manner, and not all features have +been thorougly tested. +@end quotation + +The Guix Build Coordinator consists of one @dfn{coordinator}, and one or +more connected @dfn{agent} processes. The coordinator process handles +clients submitting builds, and allocating builds to agents. The agent +processes talk to a build daemon to actually perform the builds, then +send the results back to the coordinator. + +There is a script to run the coordinator component of the Guix Build +Coordinator, but the Guix service uses a custom Guile script instead, to +provide better integration with G-expressions used in the configuration. + +@defvar {Scheme Variable} guix-build-coordinator-service-type +Service type for the Guix Build Coordinator. Its value must be a +@code{guix-build-coordinator-configuration} object. +@end defvar + +@deftp {Data Type} guix-build-coordinator-configuration +Data type representing the configuration of the Guix Build Coordinator. + +@table @asis +@item @code{package} (default: @code{guix-build-coordinator}) +The Guix Build Coordinator package to use. + +@item @code{user} (default: @code{"guix-build-coordinator"}) +The system user to run the service as. + +@item @code{group} (default: @code{"guix-build-coordinator"}) +The system group to run the service as. + +@item @code{database-uri-string} (default: @code{"sqlite:///var/lib/guix-build-coordinator/guix_build_coordinator.db"}) +The URI to use for the database. + +@item @code{agent-communication-uri} (default: @code{"http://0.0.0.0:8745"}) +The URI describing how to listen to requests from agent processes. + +@item @code{client-communication-uri} (default: @code{"http://127.0.0.1:8746"}) +The URI describing how to listen to requests from clients. The client +API allows submitting builds and currently isn't authenticated, so take +care when configuring this value. + +@item @code{allocation-strategy} (default: @code{#~basic-build-allocation-strategy}) +A G-expression for the allocation strategy to be used. This is a +procedure that takes the datastore as an argument and populates the +allocation plan in the database. + +@item @code{hooks} (default: @var{'()}) +An association list of hooks. These provide a way to execute arbitrary +code upon certian events, like a build result being processed. + +@item @code{guile} (default: @code{guile-3.0-latest}) +The Guile package with which to run the Guix Build Coordinator. + +@end table +@end deftp + +@defvar {Scheme Variable} guix-build-coordinator-agent-service-type +Service type for a Guix Build Coordinator agent. Its value must be a +@code{guix-build-coordinator-agent-configuration} object. +@end defvar + +@deftp {Data Type} guix-build-coordinator-agent-configuration +Data type representing the configuration a Guix Build Coordinator agent. + +@table @asis +@item @code{package} (default: @code{guix-build-coordinator}) +The Guix Build Coordinator package to use. + +@item @code{user} (default: @code{"guix-build-coordinator-agent"}) +The system user to run the service as. + +@item @code{coordinator} (default: @code{"http://localhost:8745"}) +The URI to use when connecting to the coordinator. + +@item @code{uuid} +The UUID of the agent. This should be generated by the coordinator +process, stored in the coordinator database, and used by the intended +agent. + +@item @code{password} (default: @code{#f}) +The password to use when connecting to the coordinator. A file to read +the password from can also be specified, and this is more secure. + +@item @code{password-file} (default: @code{#f}) +A file containing the password to use when connecting to the +coordinator. + +@item @code{systems} (default: @var{#f}) +The systems for which this agent should fetch builds. The agent process +will use the current system it's running on as the default. + +@item @code{max-parallel-builds} (default: @code{1}) +The number of builds to perform in parallel. + +@item @code{derivation-substitute-urls} (default: @code{1}) +URLs from which to attempt to fetch substitutes for derivations, if the +derivations aren't already available. + +@item @code{non-derivation-substitute-urls} (default: @code{1}) +URLs from which to attempt to fetch substitutes for build inputs, if the +input store items aren't already available. + +@end table +@end deftp + +The Guix Build Coordinator package contains a script to query an +instance of the Guix Data Service for derivations to build, and then +submit builds for those derivations to the coordinator. The service +type below assists in running this script. This is an additional tool +that may be useful when building derivations contained within an +instance of the Guix Data Service. + +@defvar {Scheme Variable} guix-build-coordinator-queue-builds-service-type +Service type for the +guix-build-coordinator-queue-builds-from-guix-data-service script. Its +value must be a @code{guix-build-coordinator-queue-builds-configuration} +object. +@end defvar + +@deftp {Data Type} guix-build-coordinator-queue-builds-configuration +Data type representing the options to the queue builds from guix data +service script. + +@table @asis +@item @code{package} (default: @code{guix-build-coordinator}) +The Guix Build Coordinator package to use. + +@item @code{user} (default: @code{"guix-build-coordinator-queue-builds"}) +The system user to run the service as. + +@item @code{coordinator} (default: @code{"http://localhost:8745"}) +The URI to use when connecting to the coordinator. + +@item @code{systems} (default: @code{#f}) +The systems for which to fetch derivations to build. + +@item @code{systems-and-targets} (default: @code{#f}) +An association list of system and target pairs for which to fetch +derivations to build. + +@item @code{guix-data-service} (default: @code{"https://data.guix.gnu.org"}) +The Guix Data Service instance from which to query to find out about +derivations to build. + +@item @code{processed-commits-file} (default: @code{"/var/cache/guix-build-coordinator-queue-builds/processed-commits"}) +A file to record which commits have been processed, to avoid needlessly +processing them again if the service is restarted. + +@end table +@end deftp + @subsubheading Guix Data Service The @uref{http://data.guix.gnu.org,Guix Data Service} processes, stores and provides data about GNU Guix. This includes information about @@ -30212,7 +30531,7 @@ A service of this type is instantiated like this: (service guix-service-type (guix-configuration (build-accounts 5) - (use-substitutes? #f))) + (extra-options '("--gc-keep-derivations")))) @end lisp The second argument to the @code{service} form is a value representing diff --git a/etc/committer.scm.in b/etc/committer.scm.in index 2f247835f3..ebe6b96bcc 100755 --- a/etc/committer.scm.in +++ b/etc/committer.scm.in @@ -175,8 +175,8 @@ corresponding to the top-level definition containing the staged changes." (let ((old-values (get-values old field)) (new-values (get-values new field))) (or (equal? old-values new-values) - (let ((removed (lset-difference eq? old-values new-values)) - (added (lset-difference eq? new-values old-values))) + (let ((removed (lset-difference equal? old-values new-values)) + (added (lset-difference equal? new-values old-values))) (format port "[~a]: ~a~%" field (match (list (map symbol->string removed) diff --git a/etc/news.scm b/etc/news.scm index 885a00fb7d..027436647b 100644 --- a/etc/news.scm +++ b/etc/news.scm @@ -2,6 +2,11 @@ ;; ;; Copyright © 2019, 2020 Ludovic Courtès <ludo@gnu.org> ;; Copyright © 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr> +;; Copyright © 2019, 2020 Miguel Ángel Arruga Vivas <rosen644835@gmail.com> +;; Copyright © 2019, 2020 Konrad Hinsen <konrad.hinsen@fastmail.net> +;; Copyright © 2019, 2020 Julien Lepiller <julien@lepiller.eu> +;; Copyright © 2019, 2020 Florian Pelz <pelzflorian@pelzflorian.de> +;; Copyright © 2020 Marius Bakke <mbakke@fastmail.com> ;; Copyright © 2020 Mathieu Othacehe <m.othacehe@gmail.com> ;; Copyright © 2020 Jan (janneke) Nieuwenhuizen <janneke@gnu.org> ;; Copyright © 2020 Maxim Cournoyer <maxim.cournoyer@gmail.com> @@ -13,8 +18,48 @@ (channel-news (version 0) + (entry (commit "abd7a474615353149a44f4504f0b4b248dcc0716") + (title (en "New @option{--with-c-toolchain} package transformation option") + (fr "Nouvelle option de transformation @option{--with-c-toolchain}")) + (body + (en "The new @option{--with-c-toolchain} package transformation +options provides an easy way for developers to rebuild their favorite packages +with the C/C++ tool chain of their choice instead of the default one. + +For example, the following command rebuilds the @code{fftw} and @code{fftwf} +packages as well as every package that depends on them, up to and including +@code{octave-cli}, using GCC version 10 (currently GCC 7.5 is used by +default): + +@example +guix build octave-cli \\ + --with-c-toolchain=fftw=gcc-toolchain@@10 \\ + --with-c-toolchain=fftwf=gcc-toolchain@@10 +@end example + +Run @command{info \"(guix) Package Transformation Options\"} for more info.") + (fr "La nouvelle option de transformation de paquets +@option{--with-c-toolchain} permet aux développeur·euses de recompiler leurs +paquets préférés avec la chaîne d'outils C/C++ de leur choix à la place de +celle par défaut. + +Par exemple, la commande ci-dessous recompile @code{fftw}, @code{fftwf} et +tous les paquets qui en dépendent, jusqu'à @code{octave-cli} inclus, avec GCC +10 (actuellement c'est GCC 7.5 qui est utilisé par défaut): + +@example +guix build octave-cli \\ + --with-c-toolchain=fftw=gcc-toolchain@@10 \\ + --with-c-toolchain=fftwf=gcc-toolchain@@10 +@end example + +Voir @command{info \"(guix.fr) Options de transformation de paquets\"} pour +plus de détails."))) + (entry (commit "8e1907a72430aa989125b053573ef0897c480697") (title (en "Package transformation options now recorded in profiles") + (es "Las opciones de transformación de paquetes ahora se +quedan registradas en el perfil") (de "Paketumwandlungsoptionen werden nun in Profilen gesichert") (fr "Options de transformation sauvegardées dans les profils")) (body @@ -24,6 +69,14 @@ you eventually run @command{guix upgrade}, those transformations will be automatically applied to the upgraded packages. Run @command{info \"(guix) Package Transformation Options\"} for more info.") + (es "Si durante la instalación de paquetes en un perfil se utilizaron +opciones de transformación de paquetes, como por ejemplo +@option{--with-input}, éstas se registran en el perfil. Cuando vuelva a +ejecutar @command{guix upgrade}, dichas transformaciones se aplicarán +automáticamente a los paquetes actualizados. + +Ejecute @command{info \"(guix.es) Opciones de transformación de paquetes\"} +para obtener más información.") (de "Wenn Sie ein Paket in ein Profil installieren, werden nun Paketumwandlungsoptionen wie @option{--with-input} im Profil gespeichert. Sobald Sie später @command{guix upgrade} ausführen, werden dieselben @@ -41,6 +94,7 @@ plus de détails."))) (entry (commit "313f492657f1d0863c641fa5ee7f5b7028e27c94") (title (en "New @option{--image-type} option for @command{guix system disk-image}.") + (es "Nueva opción @option{--image-type} para @command{guix system disk-image}.") (de "Neue Option @option{--image-type} für @command{guix system disk-image}.") (fr "Nouvelle option @option{--image-type} pour @command{guix system disk-image}.")) (body @@ -51,6 +105,14 @@ By default, @code{raw} disk images are produced, but @code{hurd-qcow2}, are also available. The @option{--list-image-types} option lists all the available image types.") + (es "La opción @option{--file-system-type} de @command{guix system +disk-image} se ha sustituido por la nueva opción @option{--image-type}. De +manera predeterminada se producen imágenes en formato crudo (@code{raw}) pero +también están disponibles los tipos de imagen @code{hurd-qcow2}, +@code{hurd-raw}, @code{uncompressed-iso9660} y @code{iso9660}. + +La opción @option{--list-image-types} muestra una lista con todos los tipos +de imagen disponibles.") (de "Anstelle der Befehlszeilenoption @option{--file-system-type} für @command{guix system disk-image} gibt es nun die neue Option @option{--image-type}. In der Vorgabeeinstellung @code{raw} werden rohe @@ -72,6 +134,8 @@ disponibles."))) (entry (commit "8819551c8d2a12cd4e84e09b51e434d05a012c9d") (title (en "Package transformations now apply to implicit inputs") + (es "Las transformaciones de paquetes ahora afectan también +a las dependencias implícitas") (de "Paketumwandlungen betreffen jetzt auch implizite Eingaben") (fr "Les transformations de paquets s'appliquent aux dépendances implicites")) @@ -96,6 +160,26 @@ guix build --with-graft=glibc=glibc@@2.31 hello Run @command{info \"(guix) Package Transformation Options\"} for more info.") + (es "Las opciones de transformación de paquetes como +@option{--with-branch}, @option{--with-input}, etcétera, ahora también +influyen en las entradas implícitas---antes únicamente las entradas explícitas +del paquete se veían afectadas. Esto permite, por ejemplo, sustituir la +dependencia en python de un paquete que use @code{python-build-system}: + +@example +guix install --with-input=python=python2 python-itsdangerous +@end example + +Otro ejemplo podría ser el injerto de una versión diferente de la biblioteca +de C de GNU (@code{glibc} es una entrada implícita de casi todos los paquetes +y ``muy abajo'' en el grafo de dependencias): + +@example +guix build --with-graft=glibc=glibc@@2.31 hello +@end example + +Ejecute @command{info \"(guix.es) Opciones de transformación de paquetes\"} +para obtener más información.") (de "Paketumwandlungsoptionen wie @option{--with-branch}, @option{--with-input} und so weiter betreffen nun auch implizite Eingaben — zuvor haben sie sich nur auf die expliziten Eingaben eines Pakets @@ -140,6 +224,7 @@ plus de détails."))) (entry (commit "f458cfbcc54ed87b1a87dd9e150ea276f17eab74") (title (en "New @option{--without-tests} transformation option") + (es "Nueva opción de transformación @option{--without-tests}") (de "Neue Paketumwandlungsoption @option{--without-tests}") (fr "Nouvelle option de transformation @option{--without-tests}")) (body @@ -156,6 +241,21 @@ This is primarily useful as a way to speed up development cycles, or to work around flaky test suites---skipping tests can hide real issues, so use with care. Run @command{info \"(guix) Package Transformation Options\"} for more info.") + (es "La nueva opción de transformación de paquetes +@option{--without-tests} indica a Guix que omita la batería de pruebas del +paquete proporcionado. En el siguiente ejemplo @code{guile-gcrypt} se +construye usando una variación de @code{automake}, la cual se ha construido +sin ejecutar su (larga) batería de pruebas: + +@example +guix build guile-gcrypt --without-tests=automake +@end example + +Esto es principalmente útil como una forma de acelerar ciclos de desarrollo o +de omitir temporalmente baterías de pruebas problemáticas---omitir las pruebas +puede ocultar problemas reales, por lo que debe usarse con precaución. +Ejecute @command{info \"(guix.es) Opciones de transformación de paquetes\"} +para obtener más información.") (de "Mit der neuen Paketumwandlungsoption @option{--without-tests} wird Guix angewiesen, den Testkatalog des angegebenen Pakets zu überspringen. Im folgenden Beispiel wird @code{guile-gcrypt} mit einer @@ -189,6 +289,7 @@ paquets\"} pour plus de détails."))) (entry (commit "a98712785e0b042a290420fd74e5a4a5da4fc68f") (title (en "New @command{guix git authenticate} command") + (es "Nueva orden @command{guix git authenticate}") (de "Neuer Befehl @command{guix git authenticate}") (fr "Nouvelle commande @command{guix git authenticate}")) (body @@ -204,6 +305,20 @@ to allow people to authenticate code fetched from your repository. Run @command{info \"(guix) Invoking guix git authenticate\"} for more info, and see @uref{https://guix.gnu.org/blog/2020/securing-updates/} for details on these mechanisms.") + (es "La nueva orden @command{guix git authenticate} comprueba la +validez de un repositorio git verificando las firmas de las revisiones y +comprobando que todas las firmas están autorizadas, exactamente igual que +@command{guix pull}. + +Esta orden es principalmente útil para desarrolladoras de canales. Permite +asegurar, antes de subir nada al repositorio remoto, que el canal contiene +únicamente revisiones firmadas por claves autorizadas. No obstante esta orden +es útil siempre que use git y quiera que otras personas puedan verificar el +código obtenido de su repositorio. + +Ejecute @command{info \"(guix.es) Invocación de guix git authenticate\"} +para obtener más información y vea detalles sobre estos mecanismos en + @uref{https://guix.gnu.org/blog/2020/securing-updates/}.") (de "Mit dem neuen Befehl @command{guix git authenticate} können Sie ein Git-Repository authentifizieren. Dazu werden alle Commit-Signaturen verifiziert und geprüft, dass jede von einer autorisierten Quelle kommt, genau @@ -236,6 +351,7 @@ pour en savoir plus sur ces mécanismes."))) (entry (commit "43badf261f4688c8a7a7a9004a4bff8acb205835") (title (en "@command{guix pull} authenticates channels") + (es "@command{guix pull} verifica los canales") (de "@command{guix pull} authentifiziert Kanäle") (fr "@command{guix pull} authentifie les canaux")) (body @@ -248,6 +364,16 @@ repository and from attempts to ship malicious code to users. This feature is currently limited to the @code{guix} channel but will soon be available to third-party channel authors.") + (es "Las ordenes @command{guix pull} y @command{guix time-machine} +ahora verifican el código fuente que obtienen, a menos que se proporcione la +opción @option{--disable-authentication}. Lo que esto significa es que Guix se +asegura de que cada revisión que recibe está firmada criptográficamente por +una desarrolladora autorizada. Esto le protege de intentos de modificación del +repositorio de Guix y de entregas de código con malas intenciones sobre las +usuarias. + +Esta característica está limitada actualmente al canal @code{guix} pero pronto +estará disponible para autoras de canales independientes.") (de "Die Befehle @command{guix pull} und @command{guix time-machine} prüfen nun die Authentizität des heruntergeladenen Quellcodes, außer wenn die neue Befehlszeilenoption @option{--disable-authentication} angegeben @@ -271,6 +397,7 @@ Cette fonctionnalité n'est actuellement disponible que pour le canal (entry (commit "c924e541390f9595d819edc33c19d979917c15ec") (title (en "@command{guix repl} adds support for running Guile scripts") + (es "@command{guix repl} puede ejecutar guiones de Guile") (de "@command{guix repl} kann Guile-Skripte ausführen") (fr "@command{guix repl} permet d'exécuter des scripts en langage Guile")) (body @@ -284,6 +411,18 @@ guix repl -- my-script,scm --option1 --option2=option-arg arg1 arg2 @end example Run @command{info \"(guix) Invoking guix repl\"} for more information.") + (es "La orden @command{guix repl} ahora se puede usar para +ejecutar guiones de Guile. En comparación con únicamente la ejecución +de la orden @command{guile}, @command{guix repl} garantiza que todos +los módulos de Guix y sus dependencias están disponibles en la ruta + de búsqueda. Los guiones se ejecutan de este modo: + +@example +guix repl -- mi-guion.scm --opcion1 --opcion2=param-op2 param1 param2 +@end example + +Ejecute @command{info \"(guix.es) Invocación de guix repl\"} para obtener +más información.") (de "Der Befehl @command{guix repl} kann jetzt zur Ausführung von Guile-Skripten verwendet werden. Im Vergleich zum Befehl @command{guile} garantiert @command{guix repl}, dass alle Guix-Module und @@ -310,6 +449,7 @@ Exécutez @command{info \"(guix.fr) Invoquer guix repl\"} pour plus d'informatio (entry (commit "b460ba7992a0b4af2ddb5927dcf062784539ef7b") (title (en "Add support to boot from a Btrfs subvolume") + (es "Implementado el arranque desde un subvolumen de Btrfs") (de "Unterstützung für Systemstart von einem Btrfs-Unterlaufwerk hinzugefügt") (fr "Ajout du support pour démarrer depuis un sous-volume Btrfs") @@ -320,6 +460,11 @@ operating system declaration now takes into account the use of a Btrfs subvolume for the partition holding @file{/gnu/store}. Run the command @command{info \"(guix) Btrfs file system\"} for more information and examples.") + (es "El fichero de configuración de GRUB producido por la +declaración de sistema operativo ahora tiene en cuenta el uso de +subvolúmenes de Btrfs en la partición que contiene @file{/gnu/store}. +Ejecute la orden @command{info \"(guix.es) Sistema de ficheros Btrfs\"} + para obtener más información y ejemplos.") (de "Für die Erzeugung einer GRUB-Konfigurationsdatei aus einer Betriebssystemdeklaration kann jetzt ein Btrfs-Unterlaufwerk („Subvolume“) für die Partition mit @file{/gnu/store} angegeben werden. Führen Sie @@ -339,6 +484,8 @@ voorbeelden."))) (entry (commit "6456232164890dbf5aa20394ee24637feb4b7b9e") (title (en "@command{guix pack -RR} introduces a new execution engine") + (es "@command{guix pack -RR} introduce un nuevo motor +de ejecución") (de "@command{guix pack -RR} führt neuen Ausführungstreiber ein")) (body @@ -359,6 +506,26 @@ export GUIX_EXECUTION_ENGINE @end example Run @command{info \"(guix) Invoking guix pack\"} for more information.") + (es "La orden @command{guix pack -RR} le permite crear un +archivador tar que contiene @dfn{binarios reposicionables}. Hasta ahora +dichos binarios dependían o bien de los ``espacios de nombres de usuarias +sin privilegios'' de Linux o en PRoot, cuando estos no estaban +implementados. No obstante, PRoot introduce una sobrecarga significativa +en algunos escenarios de trabajo. + +Para estos casos @command{guix pack -RR} introduce una tercera opción +basada en una extensión al enlazador de tiempo de ejecución de GNU (ld.so) +y en Fakechroot, lo que conlleva muy poca sobrecarga. Puede seleccionar +la opción más rápida cuando ejecute un binario reposicionable de esta +manera: + +@example +GUIX_EXECUTION_ENGINE=performance +export GUIX_EXECUTION_ENGINE +@end example + +Ejecute @command{info \"(guix.es) Invocación de guix pack\"} para +obtener más información.") (de "Mit dem Befehl @command{guix pack -RR} können Sie einen Tarball mit @dfn{verschieblichen Binärdateien} erzeugen (englisch „Relocatable Binaries“). Bisher wurden diese entweder in „unprivilegierten @@ -383,6 +550,7 @@ mehr wissen wollen."))) (entry (commit "88a96c568c47c97d05d883ada5afbc4e1200b10f") (title (en "New @option{--path} option for @command{guix graph}") + (es "Nueva opción @option{--path} para @command{guix graph}") (de "Neue Option @option{--path} für @command{guix graph}")) (body (en "The @command{guix graph} command has a new @option{--path} @@ -395,6 +563,18 @@ guix graph --path libreoffice libunistring @end example Run @code{info \"(guix) Invoking guix graph\"} for more information.") + (es "La orden @command{guix graph} tiene una nueva opción +@option{--path} que le indica que debe mostrar la ruta más corta entre dos +paquetes, derivaciones o elementos del almacén. Por ejemplo, la siguiente +orden muestra la ruta más corta desde el paquete @code{libreoffice} hasta +@code{libunistring}: + +@example +guix graph --path libreoffice libunistring +@end example + +Ejecute @code{info \"(guix.es) Invocación de guix graph\"} para obtener más +información.") (de "Der Befehl @command{guix graph} verfügt über eine neue Befehlszeilenoption @option{--path}, die ihn den kürzesten Pfad zwischen zwei Paketen, Ableitungen oder Store-Objekten ausgeben lässt. Zum Beispiel zeigt diff --git a/etc/release-manifest.scm b/etc/release-manifest.scm index caa200c673..7f54fe8768 100644 --- a/etc/release-manifest.scm +++ b/etc/release-manifest.scm @@ -1,5 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2020 Ludovic Courtès <ludo@gnu.org> +;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen <janneke@gnu.org> ;;; ;;; This file is part of GNU Guix. ;;; @@ -53,6 +54,7 @@ TARGET." (append (map specification->package '("xorg-server" "xfce" "gnome" "mate" "enlightenment" "openbox" "awesome" "i3-wm" "ratpoison" + "emacs" "emacs-exwm" "emacs-desktop-environment" "xlockmore" "slock" "libreoffice" "connman" "network-manager" "network-manager-applet" "openssh" "ntp" "tor" diff --git a/gnu/build/hurd-boot.scm b/gnu/build/hurd-boot.scm index adc8b4ce16..45d0040e60 100644 --- a/gnu/build/hurd-boot.scm +++ b/gnu/build/hurd-boot.scm @@ -244,6 +244,7 @@ set." (false-if-EEXIST (symlink "/dev/fd/0" (scope "dev/stdin"))) (false-if-EEXIST (symlink "/dev/fd/1" (scope "dev/stdout"))) (false-if-EEXIST (symlink "/dev/fd/2" (scope "dev/stderr"))) + (false-if-EEXIST (symlink "crash-dump-core" (scope "servers/crash"))) ;; Make sure /etc/mtab is a symlink to /proc/mounts. (false-if-exception (delete-file (scope "etc/mtab"))) diff --git a/gnu/ci.scm b/gnu/ci.scm index fc35be87b4..bf9952a450 100644 --- a/gnu/ci.scm +++ b/gnu/ci.scm @@ -56,6 +56,7 @@ #:use-module (gnu system vm) #:use-module (gnu system install) #:use-module (gnu system images hurd) + #:use-module (gnu system images pine64) #:use-module (gnu tests) #:use-module (srfi srfi-1) #:use-module (srfi srfi-26) @@ -203,7 +204,8 @@ SYSTEM." '("x86_64-linux" "i686-linux")) (define %guix-system-images - (list hurd-barebones-qcow2-image)) + (list hurd-barebones-qcow2-image + pine64-barebones-raw-image)) (define (image-jobs store system) "Return a list of jobs that build images for SYSTEM." diff --git a/gnu/installer/newt/services.scm b/gnu/installer/newt/services.scm index 4f32d9077b..6d431cb4bb 100644 --- a/gnu/installer/newt/services.scm +++ b/gnu/installer/newt/services.scm @@ -1,6 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2018 Mathieu Othacehe <m.othacehe@gmail.com> ;;; Copyright © 2019 Ludovic Courtès <ludo@gnu.org> +;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen <janneke@gnu.org> ;;; ;;; This file is part of GNU Guix. ;;; @@ -40,7 +41,7 @@ choose the one to use on the log-in screen.") #:items items #:selection (map system-service-recommended? items) #:item->text system-service-name ;no i18n for DE names - #:checkbox-tree-height 8 + #:checkbox-tree-height 9 #:exit-button-callback-procedure (lambda () (raise diff --git a/gnu/installer/services.scm b/gnu/installer/services.scm index dbac79196d..ec5ea30594 100644 --- a/gnu/installer/services.scm +++ b/gnu/installer/services.scm @@ -1,6 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2018 Mathieu Othacehe <m.othacehe@gmail.com> ;;; Copyright © 2019 Ludovic Courtès <ludo@gnu.org> +;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen <janneke@gnu.org> ;;; ;;; This file is part of GNU Guix. ;;; @@ -82,6 +83,11 @@ (name "ratpoison") (packages '((specification->package "ratpoison") (specification->package "xterm")))) + (desktop-environment + (name "Emacs EXWM") + (packages '((specification->package "emacs") + (specification->package "emacs-exwm") + (specification->package "emacs-desktop-environment")))) ;; Networking. (system-service diff --git a/gnu/local.mk b/gnu/local.mk index 4d1ed13891..3bfd619dd1 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1229,6 +1229,7 @@ dist_patch_DATA = \ %D%/packages/patches/libbase-use-own-logging.patch \ %D%/packages/patches/libbonobo-activation-test-race.patch \ %D%/packages/patches/libcanberra-sound-theme-freedesktop.patch \ + %D%/packages/patches/libcanberra-wayland-crash.patch \ %D%/packages/patches/libgeotiff-adapt-test-script-for-proj-6.2.patch \ %D%/packages/patches/libgit2-mtime-0.patch \ %D%/packages/patches/libgnome-encoding.patch \ @@ -1291,6 +1292,7 @@ dist_patch_DATA = \ %D%/packages/patches/lm-sensors-hwmon-attrs.patch \ %D%/packages/patches/lrcalc-includes.patch \ %D%/packages/patches/lrzip-CVE-2017-8842.patch \ + %D%/packages/patches/lsh-fix-x11-forwarding.patch \ %D%/packages/patches/lua-CVE-2014-5461.patch \ %D%/packages/patches/lua-pkgconfig.patch \ %D%/packages/patches/lua51-liblua-so.patch \ @@ -1419,6 +1421,7 @@ dist_patch_DATA = \ %D%/packages/patches/sdl-pango-matrix_declarations.patch \ %D%/packages/patches/sdl-pango-sans-serif.patch \ %D%/packages/patches/sqlite-hurd.patch \ + %D%/packages/patches/sunxi-tools-remove-sys-io.patch \ %D%/packages/patches/patchutils-test-perms.patch \ %D%/packages/patches/patch-hurd-path-max.patch \ %D%/packages/patches/perl-autosplit-default-time.patch \ @@ -1489,6 +1492,7 @@ dist_patch_DATA = \ %D%/packages/patches/python-argcomplete-1.11.1-fish31.patch \ %D%/packages/patches/python-axolotl-AES-fix.patch \ %D%/packages/patches/python-cairocffi-dlopen-path.patch \ + %D%/packages/patches/python-chardet-3.0.4-pytest.patch \ %D%/packages/patches/python-cross-compile.patch \ %D%/packages/patches/python2-larch-coverage-4.0a6-compatibility.patch \ %D%/packages/patches/python-configobj-setuptools.patch \ diff --git a/gnu/packages/acl.scm b/gnu/packages/acl.scm index bcab125164..4e90703d81 100644 --- a/gnu/packages/acl.scm +++ b/gnu/packages/acl.scm @@ -5,6 +5,7 @@ ;;; Copyright © 2017 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2018 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2019 Marius Bakke <mbakke@fastmail.com> +;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen <janneke@gnu.org> ;;; ;;; This file is part of GNU Guix. ;;; @@ -25,6 +26,7 @@ #:use-module (guix licenses) #:use-module (gnu packages attr) #:use-module (gnu packages base) + #:use-module (gnu packages hurd) #:use-module (gnu packages gettext) #:use-module (gnu packages perl) #:use-module (guix packages) @@ -49,6 +51,7 @@ `(#:modules ((ice-9 ftw) ,@%gnu-build-system-modules) #:configure-flags '("--disable-static") + #:tests? ,(not (hurd-target?)) #:phases (modify-phases %standard-phases ;; XXX After repacking the sources the timestamps are reset to the diff --git a/gnu/packages/admin.scm b/gnu/packages/admin.scm index e62a145614..1b80eb8ab7 100644 --- a/gnu/packages/admin.scm +++ b/gnu/packages/admin.scm @@ -443,7 +443,7 @@ graphs and can export its output to different formats.") (define-public facter (package (name "facter") - (version "4.0.41") + (version "4.0.43") (source (origin (method git-fetch) (uri (git-reference @@ -452,7 +452,7 @@ graphs and can export its output to different formats.") (file-name (git-file-name name version)) (sha256 (base32 - "09i3kv91g2y5hgl75ccd59gjjvkkri4cj80m7smlx6p14hmbgdif")))) + "0ppzr7vsl6iw8x82c4g60mx1vz06nzwcy8byablhg0n0g6qa3pb0")))) (build-system ruby-build-system) (arguments `(#:phases @@ -1414,18 +1414,12 @@ system administrator.") (delete-file-recursively "lib/zlib") #t)))) (build-system gnu-build-system) - (outputs (list "out" "python")) + (outputs (list "out")) (arguments `(#:configure-flags (list (string-append "--docdir=" (assoc-ref %outputs "out") "/share/doc/" ,name "-" ,version) - ;; XXX: Disable Python support when cross-compiling because - ;; 'configure' tries to run 'python', which fails. - ,(if (%current-target-system) - "--disable-python" - "--enable-python") ; for plug-ins written in ~ - "--with-logpath=/var/log/sudo.log" "--with-rundir=/var/run/sudo" ; must be cleaned up at boot time "--with-vardir=/var/db/sudo" @@ -1472,34 +1466,19 @@ system administrator.") (substitute* "plugins/sudoers/Makefile.in" (("^pre-install:" match) (string-append match "\ndisabled-" match))) - #t)) - (add-after 'install 'separate-python-output - (lambda* (#:key target outputs #:allow-other-keys) - (let ((out (assoc-ref outputs "out")) - (out:python (assoc-ref outputs "python"))) - (if target - (mkdir-p (string-append out:python "/empty")) - (for-each - (lambda (file) - (let ((old (string-append out "/" file)) - (new (string-append out:python "/" file))) - (mkdir-p (dirname new)) - (rename-file old new))) - (list "libexec/sudo/python_plugin.so" - "libexec/sudo/python_plugin.la"))) - #t)))) + #t))) ;; XXX: The 'testsudoers' test series expects user 'root' to exist, but ;; the chroot's /etc/passwd doesn't have it. Turn off the tests. #:tests? #f)) (native-inputs - `(("groff" ,groff))) + ;; XXX TODO: Remove on next rebuild cycle. + (if (hurd-target?) + '() + `(("groff" ,groff)))) (inputs `(("coreutils" ,coreutils) ("linux-pam" ,linux-pam) - ,@(if (%current-target-system) - '() - `(("python" ,python))) ("zlib" ,zlib))) (home-page "https://www.sudo.ws/") (synopsis "Run commands as root") @@ -2606,14 +2585,14 @@ done with the @code{auditctl} utility.") (define-public nmap (package (name "nmap") - (version "7.90") + (version "7.91") (source (origin (method url-fetch) (uri (string-append "https://nmap.org/dist/nmap-" version ".tar.bz2")) (sha256 (base32 - "1s20i84m9bci70lrl0p2j7h3kpbi9snmvyhc3lzc9s3mh92w6msm")) + "001kb5xadqswyw966k2lqi6jr6zz605jpp9w4kmm272if184pk0q")) (modules '((guix build utils))) (snippet '(begin @@ -2691,7 +2670,7 @@ advanced netcat implementation (ncat), a utility for comparing scan results (ndiff), and a packet generation and response analysis tool (nping).") ;; This package uses nmap's bundled versions of libdnet and liblinear, which ;; both use a 3-clause BSD license. - (license (list license:nmap license:bsd-3)))) + (license (list license:npsl license:bsd-3)))) (define-public dstat (package @@ -2945,6 +2924,8 @@ Kerberos and Heimdal and FAST is supported with recent MIT Kerberos.") (commit (string-append "v" version)))) (sha256 (base32 "04f3jqg8ww4jxsf9c6ddcdgy2xbhkyp0b3l5f1hvvbv94p81rjxd")) + (patches + (search-patches "sunxi-tools-remove-sys-io.patch")) (modules '((guix build utils))) (snippet ;; Remove binaries contained in the tarball which are only for the @@ -4098,3 +4079,44 @@ the system configuration; hosts only works when using the Guix package manager on a foreign distro. @command{hosts} works with existing hosts files and entries, providing commands to add, remove, comment, and search.") (license license:expat))) + +(define-public nmrpflash + (package + (name "nmrpflash") + (version "0.9.14") + (source + (origin + (method git-fetch) + (uri + (git-reference + (url "https://github.com/jclehner/nmrpflash.git") + (commit (string-append "v" version)))) + (sha256 + (base32 "1fdjrxhjs96rdclbkld57xarf592slhkp79h46z833npxpn12ck1")) + (file-name (git-file-name name version)))) + (build-system gnu-build-system) + (native-inputs + `(("pkg-config" ,pkg-config))) + (inputs + `(("libnl" ,libnl) + ("libpcap" ,libpcap))) + (arguments + `(#:tests? #f ; None exist + #:make-flags + (list (string-append "CC=" ,(cc-for-target)) + (string-append "PREFIX=" (assoc-ref %outputs "out"))) + #:phases + (modify-phases %standard-phases + (delete 'configure) + (add-before 'install 'prepare-install + (lambda* (#:key outputs #:allow-other-keys) + (mkdir-p (string-append (assoc-ref outputs "out") "/bin")) + #t))))) + (home-page "https://github.com/jclehner/nmrpflash") + (synopsis "Netgear unbrick utility") + (description "This package provides a utility to flash a new firmware +image to a Netgear device. It has been tested on Netgear EX2700, EX6120, +EX6150v2, DNG3700v2, R6100, R6220, R7000, D7000, WNR3500, R6400, R6800, +R8000, R8500, WNDR3800, but is likely to be compatible with many other +Netgear devices.") + (license license:gpl3+))) diff --git a/gnu/packages/algebra.scm b/gnu/packages/algebra.scm index 912ec2fe64..b712d3a869 100644 --- a/gnu/packages/algebra.scm +++ b/gnu/packages/algebra.scm @@ -48,6 +48,7 @@ #:use-module (gnu packages maths) #:use-module (gnu packages mpi) #:use-module (gnu packages multiprecision) + #:use-module (gnu packages ocaml) #:use-module (gnu packages perl) #:use-module (gnu packages pkg-config) #:use-module (gnu packages pulseaudio) @@ -354,7 +355,7 @@ precision.") (define-public giac (package (name "giac") - (version "1.6.0-23") + (version "1.6.0-25") (source (origin (method url-fetch) @@ -366,7 +367,7 @@ precision.") "~parisse/debian/dists/stable/main/source/" "giac_" version ".tar.gz")) (sha256 - (base32 "0bgc3jw9r0f2bkqv0m4hla7r7mxi3fzscnkjfc5cvffp3nk2gwvf")))) + (base32 "11kik2csdg9wy0npiih21kaag0nc89i9ldgk7ak7gvf9ycddm6mh")))) (build-system gnu-build-system) (arguments `(#:modules ((ice-9 ftw) @@ -431,6 +432,7 @@ precision.") (native-inputs `(("bison" ,bison) ("flex" ,flex) + ("hevea" ,hevea) ("python" ,python-wrapper) ("readline" ,readline) ("texlive" ,texlive-tiny))) diff --git a/gnu/packages/aux-files/guile-launcher.c b/gnu/packages/aux-files/guile-launcher.c new file mode 100644 index 0000000000..886ede2846 --- /dev/null +++ b/gnu/packages/aux-files/guile-launcher.c @@ -0,0 +1,46 @@ +/* GNU Guix --- Functional package management for GNU + Copyright 1996-1997,2000-2001,2006,2008,2011,2013,2018 + Free Software Foundation, Inc. + Copyright (C) 2020 Ludovic Courtès <ludo@gnu.org> + + This file is part of GNU Guix. + + GNU Guix is free software; you can redistribute it and/or modify it + under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or (at + your option) any later version. + + GNU Guix is distributed in the hope that it will be useful, but + WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. */ + +/* This file implements a variant of the 'guile' executable that does not + complain about locale issues. */ + +#include <locale.h> +#include <libguile.h> + +static void +inner_main (void *unused, int argc, char **argv) +{ + scm_shell (argc, argv); +} + +int +main (int argc, char **argv) +{ + /* Try to install the current locale; remain silent if it fails. */ + if (setlocale (LC_ALL, "") == NULL) + /* The 'guix pull'-provided 'guix' includes at least en_US.utf8 so use + that. That gives us UTF-8 support for 'scm_to_locale_string', etc., + which is always preferable over the C locale. */ + setlocale (LC_ALL, "en_US.utf8"); + + scm_install_gmp_memory_functions = 1; + scm_boot_guile (argc, argv, inner_main, 0); + return 0; /* never reached */ +} diff --git a/gnu/packages/backup.scm b/gnu/packages/backup.scm index 9b769ccefb..27741e9c5c 100644 --- a/gnu/packages/backup.scm +++ b/gnu/packages/backup.scm @@ -569,13 +569,13 @@ detection, and lossless compression.") (define-public borg (package (name "borg") - (version "1.1.13") + (version "1.1.14") (source (origin (method url-fetch) (uri (pypi-uri "borgbackup" version)) (sha256 - (base32 "089q3flmwbz7dc28zlscwylf64kgck3jf1n6lqpwww8hlrk8cjhn")) + (base32 "1fpdj73cgp96xwasdcifxl7q2pr1my2f4vfdjpv771llri3hgfvx")) (modules '((guix build utils))) (snippet '(begin @@ -606,7 +606,7 @@ detection, and lossless compression.") #t)))) (build-system python-build-system) (arguments - `(#:modules ((srfi srfi-26) ; for cut + `(#:modules ((srfi srfi-26) ; for cut (guix build utils) (guix build python-build-system)) #:phases diff --git a/gnu/packages/bioconductor.scm b/gnu/packages/bioconductor.scm index 4ca0906fbf..f30f2fd117 100644 --- a/gnu/packages/bioconductor.scm +++ b/gnu/packages/bioconductor.scm @@ -1609,14 +1609,14 @@ problems in genomics, brain imaging, astrophysics, and data mining.") (define-public r-diffbind (package (name "r-diffbind") - (version "2.16.0") + (version "2.16.2") (source (origin (method url-fetch) (uri (bioconductor-uri "DiffBind" version)) (sha256 (base32 - "1mwqgljya1c7r2dfrdds3nswn9bn1l3ak1wavbpv4lbv3nkmykn5")))) + "11y9kigdikqcd0cnksh306nsaadak0kgivk7773mv3yszrxxwzj1")))) (properties `((upstream-name . "DiffBind"))) (build-system r-build-system) (inputs @@ -2707,13 +2707,13 @@ gene and isoform level using RNA-seq data") (define-public r-karyoploter (package (name "r-karyoploter") - (version "1.14.0") + (version "1.14.1") (source (origin (method url-fetch) (uri (bioconductor-uri "karyoploteR" version)) (sha256 (base32 - "0h0gk4xd95k5phy6qcsv7j931d7gk3p24i2fg4mz5dsk110lpifs")))) + "1wlnzkq58baqj9854nzf5rbglchb2xy4wsp3s0q8xfq8v0p3baxf")))) (build-system r-build-system) (propagated-inputs `(("r-annotationdbi" ,r-annotationdbi) @@ -3628,14 +3628,14 @@ information about samples and features can be added to the plot.") (define-public r-gosemsim (package (name "r-gosemsim") - (version "2.14.1") + (version "2.14.2") (source (origin (method url-fetch) (uri (bioconductor-uri "GOSemSim" version)) (sha256 (base32 - "0v4q9xr1cm5xr08pgbzrss41kh3yz7xyh31n55l0sjmr1629ykln")))) + "02r7m1x6g8bb7q8l0hpvakdzdv5v1nplhx5lbiy798a7c3xg895b")))) (properties `((upstream-name . "GOSemSim"))) (build-system r-build-system) (propagated-inputs @@ -4364,14 +4364,14 @@ position-specific scores within R and Bioconductor.") (define-public r-atacseqqc (package (name "r-atacseqqc") - (version "1.12.4") + (version "1.12.5") (source (origin (method url-fetch) (uri (bioconductor-uri "ATACseqQC" version)) (sha256 (base32 - "1gs9862hhh4gr1akij6ykhcj29s9dzg1vnj87hqrm19dfgl43qbh")))) + "1103daz82k97vzmxjmf7jwm2nd3w8i0jwplrsi9996bkih11qwbf")))) (properties `((upstream-name . "ATACseqQC"))) (build-system r-build-system) (propagated-inputs @@ -5062,14 +5062,14 @@ based on @dfn{Continuous Wavelet Transform} (CWT).") (define-public r-xcms (package (name "r-xcms") - (version "3.10.1") + (version "3.10.2") (source (origin (method url-fetch) (uri (bioconductor-uri "xcms" version)) (sha256 (base32 - "1aa11gy1v7kkamv3hsnvdx715q8f1saw9p664j6wifyjj0hx13kn")))) + "0sk53jcl7sjrpw2ncdpl8sw1b1j9mizlrj517rinr1qrbm6lsn8f")))) (build-system r-build-system) (propagated-inputs `(("r-biobase" ,r-biobase) @@ -7161,14 +7161,14 @@ data.") (define-public r-activedriverwgs (package (name "r-activedriverwgs") - (version "1.1.0") + (version "1.1.1") (source (origin (method url-fetch) (uri (cran-uri "ActiveDriverWGS" version)) (sha256 (base32 - "0l6h0f54zjvcx19ngq3kp01dypsjqf28vssjm8yzccmpyacfypag")))) + "06mvakdc8d2pn91p0sr4ixc561s4ia5h1cvd1p7pqd6s50dy4say")))) (properties `((upstream-name . "ActiveDriverWGS"))) (build-system r-build-system) @@ -7247,14 +7247,14 @@ gene expression.") (define-public r-bgx (package (name "r-bgx") - (version "1.54.0") + (version "1.54.1") (source (origin (method url-fetch) (uri (bioconductor-uri "bgx" version)) (sha256 (base32 - "0r67a6m5hrnsxgk0f57hl5yaagi2wai2kpfyjjlhrck4rlm1sjcx")))) + "0a10fg9n5p024jrmbis102gqpbz23sc6vdn1sal2697hlxikzb46")))) (properties `((upstream-name . "bgx"))) (build-system r-build-system) (propagated-inputs @@ -8187,14 +8187,14 @@ truncated data.") (define-public r-interval (package (name "r-interval") - (version "1.1-0.1") + (version "1.1-0.7") (source (origin (method url-fetch) (uri (cran-uri "interval" version)) (sha256 (base32 - "1lln9jkli28i4wivwzqrsxvv2n15560f7msjy5gssrm45vxrxms8")))) + "1b31lh0sv7lzy76230djipahxa10lblbr37kdiigr6hp3dd1xmz9")))) (properties `((upstream-name . "interval"))) (build-system r-build-system) (propagated-inputs @@ -8214,14 +8214,14 @@ plot them, and perform logrank or Wilcoxon type tests.") (define-public r-fhtest (package (name "r-fhtest") - (version "1.4") + (version "1.5") (source (origin (method url-fetch) (uri (cran-uri "FHtest" version)) (sha256 (base32 - "1wsn0j9ydpp9nfswiqg21p09kgkvaq8fh0y0h8syqgizah7i8vs2")))) + "00mql2r4f5hxhdqf27q3x9s5rz2zzakx2myym97b1w1s7c5znl4q")))) (properties `((upstream-name . "FHtest"))) (build-system r-build-system) (propagated-inputs diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm index cbb2649bb4..b0edfa8403 100644 --- a/gnu/packages/bioinformatics.scm +++ b/gnu/packages/bioinformatics.scm @@ -4225,6 +4225,13 @@ performance.") (base32 "16ljv43sc3fxmv63w7b2ff8m1s7h89xhazwmbm1bicz8axq8fjz0")))) (build-system gnu-build-system) + ;; Let htslib translate "gs://" and "s3://" to regular https links with + ;; "--enable-gcs" and "--enable-s3". For these options to work, we also + ;; need to set "--enable-libcurl". + (arguments + `(#:configure-flags '("--enable-gcs" + "--enable-libcurl" + "--enable-s3"))) (inputs `(("curl" ,curl) ("openssl" ,openssl))) @@ -7539,13 +7546,13 @@ also known as views, in a controlled vocabulary.") (define-public r-biocstyle (package (name "r-biocstyle") - (version "2.16.0") + (version "2.16.1") (source (origin (method url-fetch) (uri (bioconductor-uri "BiocStyle" version)) (sha256 (base32 - "07rjl2n4sazdg581zh7w3yykzphgr2gpz41ba4ryqs7347vh9nbf")))) + "09sz2bnbfbj8wz16k0q8xrvag9fldxqyp5vbg9pvd9skh28hv7c7")))) (properties `((upstream-name . "BiocStyle"))) (build-system r-build-system) @@ -8848,13 +8855,13 @@ of gene-level counts.") (define-public r-rhdf5 (package (name "r-rhdf5") - (version "2.32.2") + (version "2.32.3") (source (origin (method url-fetch) (uri (bioconductor-uri "rhdf5" version)) (sha256 (base32 - "1v6ygi0avh3gmaj2ld2nr7vww4ipw39b5kqci9w27i3ja985lb8j")))) + "0fnx60dpf6s2qwq48lg98g18g8k7wgm66pw0kamlbb7l2hnwycvf")))) (build-system r-build-system) (propagated-inputs `(("r-rhdf5lib" ,r-rhdf5lib))) @@ -10272,14 +10279,14 @@ interval to data view, mismatch pileup, and several splicing summaries.") (define-public r-gqtlbase (package (name "r-gqtlbase") - (version "1.20.0") + (version "1.20.4") (source (origin (method url-fetch) (uri (bioconductor-uri "gQTLBase" version)) (sha256 (base32 - "06xvzp4fn3qfa46ggg8kxi267gbyd821vvx4040173xkqxpr0g5j")))) + "1ly14vhhqxjpbxjypi6ppd37dycabdhf4ny4nsvp9969k418zv41")))) (properties `((upstream-name . "gQTLBase"))) (build-system r-build-system) (propagated-inputs diff --git a/gnu/packages/boost.scm b/gnu/packages/boost.scm index 6a08b0d6c7..b1ab8a4ec9 100644 --- a/gnu/packages/boost.scm +++ b/gnu/packages/boost.scm @@ -3,7 +3,7 @@ ;;; Copyright © 2014, 2015, 2018 Mark H Weaver <mhw@netris.org> ;;; Copyright © 2015 Andreas Enge <andreas@enge.fr> ;;; Copyright © 2016 Eric Bavier <bavier@member.fsf.org> -;;; Copyright © 2015, 2019 Ludovic Courtès <ludo@gnu.org> +;;; Copyright © 2015, 2019, 2020 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2017 Thomas Danckaert <post@thomasdanckaert.be> ;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2018 Arun Isaac <arunisaac@systemreboot.net> @@ -40,6 +40,7 @@ #:use-module (guix build-system trivial) #:use-module (gnu packages) #:use-module (gnu packages compression) + #:use-module (gnu packages hurd) #:use-module (gnu packages icu4c) #:use-module (gnu packages perl) #:use-module (gnu packages python) @@ -138,6 +139,15 @@ ,(%current-target-system))))) '()) + ;; Change an #ifdef __MACH__ that really targets macOS. + ;; TODO: Inline this on the next rebuild cycle. + ,@(if (hurd-target?) + '((substitute* "boost/test/utils/timer.hpp" + (("defined\\(__MACH__\\)") + "(defined __MACH__ && !defined __GNU__)")) + #t) + '()) + (invoke "./bootstrap.sh" (string-append "--prefix=" out) ;; Auto-detection looks for ICU only in traditional diff --git a/gnu/packages/c.scm b/gnu/packages/c.scm index 25bc78e6bf..c1ae98ddd3 100644 --- a/gnu/packages/c.scm +++ b/gnu/packages/c.scm @@ -8,7 +8,7 @@ ;;; Copyright © 2019 Andreas Enge <andreas@enge.fr> ;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen <janneke@gnu.org> ;;; Copyright © 2020 Marius Bakke <marius@gnu.org> -;;; Copyright @ 2020 Katherine Cox-Buday <cox.katherine.e@gmail.com> +;;; Copyright © 2020 Katherine Cox-Buday <cox.katherine.e@gmail.com> ;;; Copyright © 2020 Maxim Cournoyer <maxim.cournoyer@gmail.com> ;;; ;;; This file is part of GNU Guix. diff --git a/gnu/packages/check.scm b/gnu/packages/check.scm index 61474fd1d0..3d8dbe6f04 100644 --- a/gnu/packages/check.scm +++ b/gnu/packages/check.scm @@ -349,7 +349,7 @@ a multi-paradigm automated test framework for C++ and Objective-C.") (define-public catch-framework2 (package (name "catch2") - (version "2.13.1") + (version "2.13.2") (home-page "https://github.com/catchorg/Catch2") (source (origin (method git-fetch) @@ -359,7 +359,7 @@ a multi-paradigm automated test framework for C++ and Objective-C.") (file-name (git-file-name name version)) (sha256 (base32 - "1fbzdqzvad3nxsxlwd5ws7csj6rbyyrza0ckq6km2cf5bhhxagrs")))) + "100r0kmra8jmra2hv92lzvwcmphpaiccwvq3lpdsa5b7hailhach")))) (build-system cmake-build-system) (inputs `(("python" ,python-wrapper))) diff --git a/gnu/packages/ci.scm b/gnu/packages/ci.scm index a4bf2980fb..3d303a29d8 100644 --- a/gnu/packages/ci.scm +++ b/gnu/packages/ci.scm @@ -68,8 +68,8 @@ (file-name (string-append name "-" version "-checkout"))))))) (define-public cuirass - (let ((commit "71aac24f3fe8cb396c9d232453d8721519cae914") - (revision "50")) + (let ((commit "cb2c4e3d8f7eda187adf6da1fc35aef838c49828") + (revision "51")) (package (name "cuirass") (version (git-version "0.0.1" revision commit)) @@ -81,7 +81,7 @@ (file-name (git-file-name name version)) (sha256 (base32 - "0d9s39zi44fvck3dqd58j35wdiwa1s4f86lms3gagvkzbc0mwdia")))) + "0f2di2pqqw8k4ii7h65kbzyf2d4w7nd5n3a93a8l9si4phf6a5c7")))) (build-system gnu-build-system) (arguments '(#:modules ((guix build utils) diff --git a/gnu/packages/cluster.scm b/gnu/packages/cluster.scm index 5241ed1296..17ce23da66 100644 --- a/gnu/packages/cluster.scm +++ b/gnu/packages/cluster.scm @@ -39,7 +39,7 @@ (define-public drbd-utils (package (name "drbd-utils") - (version "9.13.1") + (version "9.15.0") (source (origin (method url-fetch) ;; Older releases are moved to /archive. List it first because in @@ -51,7 +51,7 @@ "/utils/drbd-utils-" version ".tar.gz"))) (sha256 (base32 - "0di55y0vzaw8jhcgz0fakww03h1gpg4a5q1zklxhjw3dwzjvysnk")) + "0jh7zdxpbjkq53pmrn0jfn33abi4vs8axp55h5256czwc2gfb6z8")) (modules '((guix build utils))) (snippet '(begin diff --git a/gnu/packages/commencement.scm b/gnu/packages/commencement.scm index 4041d5bb89..0938bc3d46 100644 --- a/gnu/packages/commencement.scm +++ b/gnu/packages/commencement.scm @@ -3856,8 +3856,12 @@ COREUTILS-FINAL vs. COREUTILS, etc." "libc-static"))) #t)))) - (native-search-paths (package-native-search-paths gcc)) - (search-paths (package-search-paths gcc)) + (native-search-paths + (append (package-native-search-paths gcc) + (package-native-search-paths libc))) ;GUIX_LOCPATH + (search-paths + (append (package-search-paths gcc) + (package-search-paths libc))) (license (package-license gcc)) (synopsis "Complete GCC tool chain for C/C++ development") diff --git a/gnu/packages/cpp.scm b/gnu/packages/cpp.scm index d3daae74c0..f51e83283f 100644 --- a/gnu/packages/cpp.scm +++ b/gnu/packages/cpp.scm @@ -41,12 +41,22 @@ #:use-module (guix build-system python) #:use-module (gnu packages) #:use-module (gnu packages autotools) + #:use-module (gnu packages boost) #:use-module (gnu packages check) #:use-module (gnu packages code) #:use-module (gnu packages compression) + #:use-module (gnu packages crypto) + #:use-module (gnu packages gcc) + #:use-module (gnu packages libevent) + #:use-module (gnu packages libunwind) + #:use-module (gnu packages linux) #:use-module (gnu packages llvm) + #:use-module (gnu packages logging) + #:use-module (gnu packages maths) #:use-module (gnu packages perl) #:use-module (gnu packages pkg-config) + #:use-module (gnu packages popt) + #:use-module (gnu packages pretty-print) #:use-module (gnu packages tls) #:use-module (gnu packages web)) @@ -669,3 +679,52 @@ parsers according to a Parsing Expression Grammar (PEG).") standard GNU style syntax for options.") (home-page "https://github.com/jarro2783/cxxopts/wiki") (license license:expat))) + +(define-public folly + (package + (name "folly") + (version "2020.10.05.00") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/facebook/folly") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0q4w4cvjxffc462hvs8h4zryq4965j7015zvkwagcm6cj6wmz3cn")))) + (build-system cmake-build-system) + (arguments + '(;; Tests must be explicitly enabled + ;;#:configure-flags '("-DBUILD_TESTS=ON"))) + ;; Leave tests disabled; see https://github.com/facebook/folly/issues/1456 + #:tests? #f)) + (propagated-inputs + `(("boost" ,boost) + ("gflags" ,gflags) + ("glog" ,glog) + ("liburing" ,liburing))) + (inputs + `(("bzip2" ,bzip2) + ("double-conversion" ,double-conversion) + ("fmt" ,fmt) + ("libaio" ,libaio) + ("libevent" ,libevent) + ("libiberty" ,libiberty) + ("libsodium" ,libsodium) + ("libunwind" ,libunwind) + ("lz4" ,lz4) + ("openssl" ,openssl) + ("snappy" ,snappy) + ("zlib" ,zlib) + ("zstd" ,zstd "lib"))) + (native-inputs + `(("googletest" ,googletest))) + (synopsis "Collection of C++ components complementing the standard library") + (description + "Folly (acronymed loosely after Facebook Open Source Library) is a library +of C++14 components that complements @code{std} and Boost.") + (home-page "https://github.com/facebook/folly/wiki") + ;; 32-bit is not supported: https://github.com/facebook/folly/issues/103 + (supported-systems '("aarch64-linux" "x86_64-linux")) + (license license:asl2.0))) diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index 0939c4d5a6..59a409f8e9 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -29,6 +29,7 @@ ;;; Copyright © 2020 Lars-Dominik Braun <ldb@leibniz-psychology.org> ;;; Copyright © 2020 Vinicius Monego <monego@posteo.net> ;;; Copyright © 2020 Antoine Côté <antoine.cote@posteo.net> +;;; Copyright © 2020 Arun Isaac <arunisaac@systemreboot.net> ;;; ;;; This file is part of GNU Guix. ;;; @@ -99,14 +100,14 @@ (define-public r-rticles (package (name "r-rticles") - (version "0.15") + (version "0.16") (source (origin (method url-fetch) (uri (cran-uri "rticles" version)) (sha256 (base32 - "0svh2bcqnlqdxdpw5afz1b980i2q13k8cxpq6flfqbi3dlwf3h8l")))) + "1ca3k5sdy9mnm6frcimqwf5k18j14wn69x5iagjnjwhq711l8dv0")))) (properties `((upstream-name . "rticles"))) (build-system r-build-system) (propagated-inputs @@ -989,18 +990,20 @@ directory.") (define-public r-htmlwidgets (package (name "r-htmlwidgets") - (version "1.5.1") + (version "1.5.2") (source (origin (method url-fetch) (uri (cran-uri "htmlwidgets" version)) (sha256 (base32 - "10fp306l1nybkah6jrlrqwwdb6zvklbddp8i3w9v9naj8la5jbnl")))) + "0072wlkl58lav3qszzqw6pmx8qra4784r0yb6rx4lg7rbrik6335")))) (build-system r-build-system) (propagated-inputs `(("r-htmltools" ,r-htmltools) ("r-jsonlite" ,r-jsonlite) ("r-yaml" ,r-yaml))) + (native-inputs + `(("r-knitr" ,r-knitr))) (home-page "https://github.com/ramnathv/htmlwidgets") (synopsis "HTML Widgets for R") (description @@ -1012,13 +1015,13 @@ applications.") (define-public r-htmltable (package (name "r-htmltable") - (version "2.0.1") + (version "2.1.0") (source (origin (method url-fetch) (uri (cran-uri "htmlTable" version)) (sha256 - (base32 "0ma52kajzxfg9w811d6ldhghzn9xhyr8bh7k5v265k82bzx7rac6")))) + (base32 "1gzh0bdxi55p1ckxv4k0a41b1j0grwv2w3lkqz4c3gkw66dk6ja0")))) (properties `((upstream-name . "htmlTable"))) (build-system r-build-system) (propagated-inputs @@ -2409,14 +2412,14 @@ compare different dendrograms to one another.") (define-public r-getoptlong (package (name "r-getoptlong") - (version "1.0.2") + (version "1.0.3") (source (origin (method url-fetch) (uri (cran-uri "GetoptLong" version)) (sha256 (base32 - "1p89v2qzqfxyrmqzkv245716n9i4bllnq77a6gw811mgdhxbd51l")))) + "142gi3ifpcz1rhqrbw4wh326jn2q61s659wkzf92ys4dybs43dky")))) (properties `((upstream-name . "GetoptLong"))) (build-system r-build-system) (inputs @@ -3171,19 +3174,21 @@ available in a vignette.") (define-public r-lava (package (name "r-lava") - (version "1.6.7") + (version "1.6.8") (source (origin (method url-fetch) (uri (cran-uri "lava" version)) (sha256 (base32 - "0ffzxbb8pvfh1m6j61az4ga37snyhylq2941fyc76w7w9i2sixv3")))) + "0jdmjjs894mfncswmzz7sa6cy7hqbqii5fcvl3zqkmzpbadb2za2")))) (build-system r-build-system) (propagated-inputs `(("r-numderiv" ,r-numderiv) ("r-squarem" ,r-squarem) ("r-survival" ,r-survival))) + (native-inputs + `(("r-knitr" ,r-knitr))) (home-page "https://github.com/kkholst/lava") (synopsis "Latent variable models") (description @@ -3525,14 +3530,14 @@ problems as well as resampling based estimators of prediction error.") (define-public r-psych (package (name "r-psych") - (version "2.0.8") + (version "2.0.9") (source (origin (method url-fetch) (uri (cran-uri "psych" version)) (sha256 (base32 - "0ymds7ql2dv994m73h68dnhbsws8bl09p2rqvl6xsq6c6xr0yryg")))) + "0wdh580a0psbdil28n0d85hnp42wmn11hcbnihjq8r7h54drgzpn")))) (build-system r-build-system) (propagated-inputs `(("r-lattice" ,r-lattice) @@ -3578,14 +3583,14 @@ by base R methods related to model fitting.") (define-public r-broom (package (name "r-broom") - (version "0.7.0") + (version "0.7.1") (source (origin (method url-fetch) (uri (cran-uri "broom" version)) (sha256 (base32 - "0bq8w1ckrladzck2g0mgiyjdrzi06kbqalk5q3pfvj1607fdv3d5")))) + "12xnpmm1cyhksv4gwcrwgrpw7c0xf1c7chlpng9lk8arifbfvqpg")))) (build-system r-build-system) (propagated-inputs `(("r-backports" ,r-backports) @@ -3986,14 +3991,14 @@ programming} (SQP) based solver).") (define-public r-hardyweinberg (package (name "r-hardyweinberg") - (version "1.6.6") + (version "1.6.8") (source (origin (method url-fetch) (uri (cran-uri "HardyWeinberg" version)) (sha256 (base32 - "1qn1bbzfk4w3mqrzisshw5xx7x249sgmj6qdi39lkqb58a4mf4kh")))) + "0b6j1mkpr7ck2nr9fmpnsjdv29jc6vg4b91cg50skmcgky1j0zi7")))) (properties `((upstream-name . "HardyWeinberg"))) (build-system r-build-system) (propagated-inputs @@ -4186,14 +4191,14 @@ modeling for empirical income distributions.") (define-public r-vcd (package (name "r-vcd") - (version "1.4-7") + (version "1.4-8") (source (origin (method url-fetch) (uri (cran-uri "vcd" version)) (sha256 (base32 - "16aj688nhlcvdxzfsqh4s375v8f8vl8997dl8h1xg29b42nv52gc")))) + "030yyhpzsj4ivwrla7p9kgvmyjh6b8fr7czf678ykxjj64ccnvr3")))) (build-system r-build-system) (propagated-inputs `(("r-colorspace" ,r-colorspace) @@ -4232,14 +4237,14 @@ of Eigenmatrices} (JADE).") (define-public r-dtw (package (name "r-dtw") - (version "1.21-3") + (version "1.22-3") (source (origin (method url-fetch) (uri (cran-uri "dtw" version)) (sha256 (base32 - "02hyhx1sy5h3vzh9zixy18a7d47df4k5d0wyflcvlcbsbcl6p90s")))) + "004gm4mzgdzdj807j3bwqsv5lizmnmz5jq514bdjshhkysnzjz6z")))) (build-system r-build-system) (propagated-inputs `(("r-proxy" ,r-proxy))) (home-page "http://dtw.r-forge.r-project.org/") @@ -4522,14 +4527,14 @@ Markdown documents.") (define-public r-seriation (package (name "r-seriation") - (version "1.2-8") + (version "1.2-9") (source (origin (method url-fetch) (uri (cran-uri "seriation" version)) (sha256 (base32 - "1zbdxq0s5rc5v307b69fw9k52m0654ls7pf22lh35ggirig6lwsk")))) + "1glxn098ar1v96xlwp85kjxzfd1nyfzp2f82x5z3fm87yv57k4lb")))) (build-system r-build-system) (propagated-inputs `(("r-cluster" ,r-cluster) @@ -4556,13 +4561,13 @@ iVAT).") (define-public r-xfun (package (name "r-xfun") - (version "0.17") + (version "0.18") (source (origin (method url-fetch) (uri (cran-uri "xfun" version)) (sha256 - (base32 "1zd5qi1rrz3b1lpisapa2yscanz39ghaamf28g7aq3z9ai2a2ymj")))) + (base32 "0iqh9b0a5wlc4lmqf7r169h4m2xji5l1viwwi47qf094rl5r3ddr")))) (build-system r-build-system) ;; knitr itself depends on xfun #; @@ -4706,14 +4711,14 @@ terminals.") (define-public r-tinytex (package (name "r-tinytex") - (version "0.25") + (version "0.26") (source (origin (method url-fetch) (uri (cran-uri "tinytex" version)) (sha256 (base32 - "0zbhzxxjlkdj9byxyab477p7cnws5y87nyg989lkzarxdc7dglza")))) + "02b0v8ydbfspma3rgsdpkf2cm6jl9qm3l9jsrl0xng482b06bb0q")))) (build-system r-build-system) (propagated-inputs `(("r-xfun" ,r-xfun))) @@ -4774,22 +4779,44 @@ complementary pairs stability selection with improved error bounds arbitrary user specified variable selection approaches.") (license license:gpl2))) +(define-public r-rle + (package + (name "r-rle") + (version "0.9.2") + (source + (origin + (method url-fetch) + (uri (cran-uri "rle" version)) + (sha256 + (base32 + "0sagl0jggg40lihzy7pfq4593rfvc3b3f7g6ggi85s7n18qvwg40")))) + (properties `((upstream-name . "rle"))) + (build-system r-build-system) + (home-page "https://cran.r-project.org/web/packages/rle/") + (synopsis "Common functions for run-length encoded vectors") + (description + "This package provides common @code{base} and @code{stats} methods for +@code{rle} objects, aiming to make it possible to treat them transparently as +vectors.") + (license license:gpl3))) + (define-public r-statnet-common (package (name "r-statnet-common") - (version "4.3.0") + (version "4.4.1") (source (origin (method url-fetch) (uri (cran-uri "statnet.common" version)) (sha256 (base32 - "0ng90i0wm9wlyhjbnmnylc1bbqw396p1dr7f402dyry9x9ck6jl3")))) + "1z89an46xcl1d7dacj4irhk6pkajdz7v85b2347vczwdf622pksf")))) (properties `((upstream-name . "statnet.common"))) (build-system r-build-system) (propagated-inputs - `(("r-coda" ,r-coda))) + `(("r-coda" ,r-coda) + ("r-rle" ,r-rle))) (home-page "https://statnet.org") (synopsis "R scripts and utilities used by the Statnet software") (description "This package provides non-statistical utilities used by the @@ -5201,14 +5228,14 @@ interface.") (define-public r-trend (package (name "r-trend") - (version "1.1.3") + (version "1.1.4") (source (origin (method url-fetch) (uri (cran-uri "trend" version)) (sha256 (base32 - "0bj40acr1sc7vfxdcsdja3g28xsmrclmgb3n94p89gfjcgp8nv1d")))) + "1mr5g5gaxiqj6x83ngcbwwh57vhrhcz0x9dh0rmvs9y2ivk29ccs")))) (build-system r-build-system) (propagated-inputs `(("r-extradistr" ,r-extradistr))) @@ -5471,15 +5498,17 @@ Memorial-Sloan-Kettering Cancer Center (MSKCC).") (define-public r-import (package (name "r-import") - (version "1.1.0") + (version "1.2.0") (source (origin (method url-fetch) (uri (cran-uri "import" version)) (sha256 (base32 - "0blf9539rbfwcmw8zsb4k58slb4pdnc075v34vmyjw752fznhcji")))) + "018s0x224gqnv4cjfh0fwliyfg6ma9vslmwybrlizfsmqcc5wp37")))) (build-system r-build-system) + (native-inputs + `(("r-knitr" ,r-knitr))) (home-page "https://github.com/smbache/import") (synopsis "Import mechanism for R") (description @@ -6053,14 +6082,14 @@ additional external tools on any platform.") (define-public r-openxlsx (package (name "r-openxlsx") - (version "4.1.5") + (version "4.2.2") (source (origin (method url-fetch) (uri (cran-uri "openxlsx" version)) (sha256 (base32 - "0wkpa3wsd8rs0pib7cp67iv0s6jn99frcrw7clypqxmvvdwyb9kq")))) + "12sjarcmbdww6jmkcqy8c6id94zv3lwmm15ns1y0xj3ipr8qmphb")))) (build-system r-build-system) (propagated-inputs `(("r-rcpp" ,r-rcpp) @@ -6388,14 +6417,14 @@ Python to R they are converted back to R types.") (define-public r-bibtex (package (name "r-bibtex") - (version "0.4.2.2") + (version "0.4.2.3") (source (origin (method url-fetch) (uri (cran-uri "bibtex" version)) (sha256 (base32 - "140hkjzdp3033cvji861rd06z1ixgpnn4n5amygqsmhnixk8ff07")))) + "0vdwx6808r73pk15263f33bkqbfmb08d8jkmr4d7h4ml414ikbbv")))) (build-system r-build-system) (propagated-inputs `(("r-stringr" ,r-stringr))) (home-page "https://github.com/romainfrancois/bibtex") @@ -7126,14 +7155,14 @@ other add-on packages.") (define-public r-insight (package (name "r-insight") - (version "0.9.5") + (version "0.9.6") (source (origin (method url-fetch) (uri (cran-uri "insight" version)) (sha256 (base32 - "0853kq4j8kic8z2gh5mxfqkwxjs4bdphlajzyvxka7af4r04bfmi")))) + "15mws316qfbq3nn6gb7s0m0a6jk2zi056g43yqiw4gp2ar92wd0h")))) (build-system r-build-system) (native-inputs `(("r-knitr" ,r-knitr))) @@ -7154,14 +7183,14 @@ information are missing.") (define-public r-sjlabelled (package (name "r-sjlabelled") - (version "1.1.6") + (version "1.1.7") (source (origin (method url-fetch) (uri (cran-uri "sjlabelled" version)) (sha256 (base32 - "0xvb0yi7c7wiiqjbnbisyb2cjinm11i373jacfv1yzyc9cznzyzq")))) + "0d3fsjd2gxchv8mlx9l5pf8xvkmx4pgvizam83f3qss07bmvpzwg")))) (build-system r-build-system) (propagated-inputs `(("r-insight" ,r-insight))) @@ -7482,14 +7511,14 @@ Group (Non-)Overlap considerations.") (define-public r-deriv (package (name "r-deriv") - (version "4.0.1") + (version "4.1.0") (source (origin (method url-fetch) (uri (cran-uri "Deriv" version)) (sha256 (base32 - "16rq65x1xhxvqwn4p427divay3b9fgam2lxccxb8529adnrxmw6p")))) + "1n5d10g9qv4fvl8q0q6yc0mzdbba10jniid6k3br3bfqvdp2a4pq")))) (properties `((upstream-name . "Deriv"))) (build-system r-build-system) (home-page "https://cran.r-project.org/web/packages/Deriv") @@ -8916,14 +8945,14 @@ observation.") (define-public r-sandwich (package (name "r-sandwich") - (version "2.5-1") + (version "3.0-0") (source (origin (method url-fetch) (uri (cran-uri "sandwich" version)) (sha256 (base32 - "1mk685b9wq7k566pbml52rj96i5h6b3vf215k9picgmq296nzvyv")))) + "0afm6snak7r11dxyl3qirqdjah6d9pdv4afmxwam1nq9bqxyb3w2")))) (build-system r-build-system) (propagated-inputs `(("r-zoo" ,r-zoo))) @@ -8961,14 +8990,14 @@ packages maintained by Torsten Hothorn.") (define-public r-multcomp (package (name "r-multcomp") - (version "1.4-13") + (version "1.4-14") (source (origin (method url-fetch) (uri (cran-uri "multcomp" version)) (sha256 (base32 - "1nszi22rcc551yc75h9cdfkdqsxw1rz30vadazmpyzihp1bh63yk")))) + "14a55isy1sp745s109nirlk5fryy144cri6dl8y9d9wjhfxz336a")))) (build-system r-build-system) (propagated-inputs `(("r-codetools" ,r-codetools) @@ -8989,14 +9018,14 @@ Hothorn, Westfall, 2010, CRC Press).") (define-public r-emmeans (package (name "r-emmeans") - (version "1.5.0") + (version "1.5.1") (source (origin (method url-fetch) (uri (cran-uri "emmeans" version)) (sha256 (base32 - "09nap4aazpbsswqzk0d4kjngwd8sib222s31yd08sd1sqw432c6k")))) + "05z3vvykn56g50zhzsphdhfjzdw8g8xfindcas08hbhv5y7izhs8")))) (build-system r-build-system) (propagated-inputs `(("r-estimability" ,r-estimability) @@ -9309,14 +9338,14 @@ results using @code{ggplot2}.") (define-public r-effectsize (package (name "r-effectsize") - (version "0.3.2") + (version "0.3.3") (source (origin (method url-fetch) (uri (cran-uri "effectsize" version)) (sha256 (base32 - "0h9f260gb8707pcssf8dq7dakpq1ggkxr5kpbrbl8sn8h3qbvws9")))) + "00c9j6lc58ls1vrwlpzk3h1lgvxpkcrh7b4ym6kmy4fg4f08izp7")))) (properties `((upstream-name . "effectsize"))) (build-system r-build-system) (propagated-inputs @@ -9336,13 +9365,13 @@ conversion of indices such as Cohen's d, r, odds, etc.") (define-public r-sjplot (package (name "r-sjplot") - (version "2.8.4") + (version "2.8.5") (source (origin (method url-fetch) (uri (cran-uri "sjPlot" version)) (sha256 - (base32 "0b7k0mshkk8k26w11xbxkb5v0klhq279zn2xdz83cn8k791xkqyd")))) + (base32 "07fwa6ga9430irk68g9wcfpn9g24pf8qc2i127nrydm865y7ri24")))) (properties `((upstream-name . "sjPlot"))) (build-system r-build-system) (propagated-inputs @@ -9466,14 +9495,14 @@ terminals that do not support Unicode.") (define-public r-usethis (package (name "r-usethis") - (version "1.6.1") + (version "1.6.3") (source (origin (method url-fetch) (uri (cran-uri "usethis" version)) (sha256 (base32 - "0vwxsnq615mwc706a4a71gyy0hmvnllbh249gzm7vl3ym5cr0cv0")))) + "09lk04kycvf5x9ggrb6pwc7bx5mzqxwialm2w9vn1a0w0gh2gcfc")))) (build-system r-build-system) (propagated-inputs `(("r-cli" ,r-cli) @@ -9689,14 +9718,14 @@ users.") (define-public r-lsei (package (name "r-lsei") - (version "1.2-0.1") + (version "1.3-0") (source (origin (method url-fetch) (uri (cran-uri "lsei" version)) (sha256 (base32 - "1rvzdb33x9ykl5qfwxkps1iylxqzlf1qla3l88420nbq7pxp7m87")))) + "1dka0rigfw4vj809qma2dkiwjb3nw5635ynnba5cm299cn7hb2b2")))) (build-system r-build-system) (native-inputs `(("gfortran" ,gfortran))) @@ -9712,14 +9741,14 @@ problems into least squares ones first.") (define-public r-npsurv (package (name "r-npsurv") - (version "0.4-0.1") + (version "0.5-0") (source (origin (method url-fetch) (uri (cran-uri "npsurv" version)) (sha256 (base32 - "09nxibp93bp9v8qcx0gnazk7fkvyh0fq9vlgxl639m6ndr7fwp88")))) + "1ihxhb42cga1hssj2jv4ah0f4hlwsky899ij5261fzh1wxvdp1xw")))) (build-system r-build-system) (propagated-inputs `(("r-lsei" ,r-lsei))) @@ -9829,14 +9858,14 @@ analysing multivariate abundance data in community ecology.") (define-public r-afex (package (name "r-afex") - (version "0.27-2") + (version "0.28-0") (source (origin (method url-fetch) (uri (cran-uri "afex" version)) (sha256 (base32 - "0qsmcddy4449qjj3ajmqvdiqdkhkswmz5dqf150wxwq897p3bvf2")))) + "0c47bq2llzw2b4avhkxyhmf1m2zjh9jsjiw2kww9n1bhwqsyr4ci")))) (build-system r-build-system) (propagated-inputs `(("r-car" ,r-car) @@ -10411,14 +10440,14 @@ components).") (define-public r-fftwtools (package (name "r-fftwtools") - (version "0.9-8") + (version "0.9-9") (source (origin (method url-fetch) (uri (cran-uri "fftwtools" version)) (sha256 (base32 - "1nqvpzda281rxi1cmwajxxsn3sc3gz7scv8bvs5jm34kf36whha6")))) + "0h8lyl2i6zq16ir7xnfj9dhyivxvwikm8lml19s8s8jx95z3n9x9")))) (build-system r-build-system) (inputs `(("fftw" ,fftw))) (home-page "https://github.com/krahim/fftwtools") @@ -11377,14 +11406,14 @@ preparing, executing, and processing HTTP requests.") (define-public r-bigrquery (package (name "r-bigrquery") - (version "1.3.1") + (version "1.3.2") (source (origin (method url-fetch) (uri (cran-uri "bigrquery" version)) (sha256 (base32 - "0mq03sqv5lkyn3dlxvyd6lqqwnryfdaqh05pjvngzp194fxmd9cy")))) + "16whccv7f94vf57dvbbrhdskz3nnbmpa11a14kp7aynckldlfy0v")))) (build-system r-build-system) (propagated-inputs `(("r-assertthat" ,r-assertthat) @@ -11410,14 +11439,14 @@ preparing, executing, and processing HTTP requests.") (define-public r-gmp (package (name "r-gmp") - (version "0.6-0") + (version "0.6-1") (source (origin (method url-fetch) (uri (cran-uri "gmp" version)) (sha256 (base32 - "1c9vpr6j6h5f6dm9l535nscl66rvr8sba5az2kswjhmzwb9xpjxc")))) + "11rl7qmfrpp1974f0vzsi3zjyx147wlb82ydxak2b60khfvhrn90")))) (build-system r-build-system) (arguments '(#:phases @@ -11935,13 +11964,13 @@ Differences with other sparse matrix packages are: (define-public r-fields (package (name "r-fields") - (version "11.4") + (version "11.5") (source (origin (method url-fetch) (uri (cran-uri "fields" version)) (sha256 - (base32 "0x8hbl0rn7gnhn7w45wd757g9in27884qr6vy30xrk150qaq941y")))) + (base32 "1mgg5l6w4yvz7cccgfz3h19k11ng1s1hy26rl2h215gnfb24mnga")))) (build-system r-build-system) (propagated-inputs `(("r-maps" ,r-maps) @@ -11960,14 +11989,14 @@ covariance functions for large data sets.") (define-public r-spatialextremes (package (name "r-spatialextremes") - (version "2.0-8") + (version "2.0-9") (source (origin (method url-fetch) (uri (cran-uri "SpatialExtremes" version)) (sha256 (base32 - "0r2byz5xxc46zqnigdax28q7446ibmzmsmi10lmm2hdks3ml6sl3")))) + "1mhn1c8n3bmgf0fjyac3wji4790zswzkqliqcv3n8kv9806crb0y")))) (properties `((upstream-name . "SpatialExtremes"))) (build-system r-build-system) @@ -12384,14 +12413,14 @@ subsetting.") (define-public r-globals (package (name "r-globals") - (version "0.12.5") + (version "0.13.0") (source (origin (method url-fetch) (uri (cran-uri "globals" version)) (sha256 (base32 - "1ha8iasgijp4q3v2b0b17y1wh7cd3nvzd9b03w49qm2bidkaf68m")))) + "0gqh7dbd38wqyjy9qm85v5k60vld97pyc46wf4xkgi4mr7y0ixg3")))) (build-system r-build-system) (propagated-inputs `(("r-codetools" ,r-codetools))) @@ -12408,14 +12437,14 @@ them in distributed compute environments.") (define-public r-future (package (name "r-future") - (version "1.18.0") + (version "1.19.1") (source (origin (method url-fetch) (uri (cran-uri "future" version)) (sha256 (base32 - "01fp8kgjf0k6c83q1w3dy9z90g72cc9d0004d1qw6n1j65nwxg4f")))) + "12f483h7g172ygafbg7h43vykv0f7xz9miwqf5q8dyv7gpgqi5fl")))) (build-system r-build-system) (propagated-inputs `(("r-digest" ,r-digest) @@ -12887,14 +12916,14 @@ to easily call your own custom JavaScript functions from R.") (define-public r-colourpicker (package (name "r-colourpicker") - (version "1.0") + (version "1.1.0") (source (origin (method url-fetch) (uri (cran-uri "colourpicker" version)) (sha256 (base32 - "0z3v2083g7kwdp21x9s2n1crfh24agpdq3yxkcdzc2awn2pwpnpi")))) + "1qjispj7i12m02js5cm5xlgn5lyff0kc5ybz6lbknz8q5lkbdyrd")))) (build-system r-build-system) (arguments `(#:modules ((guix build utils) @@ -12935,7 +12964,8 @@ to easily call your own custom JavaScript functions from R.") ("r-shiny" ,r-shiny) ("r-shinyjs" ,r-shinyjs))) (native-inputs - `(("uglify-js" ,uglify-js) + `(("r-knitr" ,r-knitr) + ("uglify-js" ,uglify-js) ("js-jquery" ,(origin (method url-fetch) @@ -14027,13 +14057,13 @@ also provided to illustrate various methods.") (define-public r-pegas (package (name "r-pegas") - (version "0.13") + (version "0.14") (source (origin (method url-fetch) (uri (cran-uri "pegas" version)) (sha256 - (base32 "002i7s4g0nhnq0v05gs0yssqiyhpq2f7rw2rhn31hsbgxc86frvy")))) + (base32 "0lr06gajzdanj8ax91kgpxsj863m367v2s1z5gnxps3999n0xybx")))) (build-system r-build-system) (propagated-inputs `(("r-adegenet" ,r-adegenet) @@ -14791,20 +14821,21 @@ the XKCD web comic.") (define-public r-msigdbr (package (name "r-msigdbr") - (version "7.1.1") + (version "7.2.1") (source (origin (method url-fetch) (uri (cran-uri "msigdbr" version)) (sha256 (base32 - "0jvi49qa7616s58p0rx66pcw7h12rc8kgcg9225jk7pc3934hnzh")))) + "1rc2p9vw57pn4prmfgay4w18qd53ggq7wxfsi9kp7w25ciip1dq1")))) (build-system r-build-system) (propagated-inputs `(("r-dplyr" ,r-dplyr) ("r-magrittr" ,r-magrittr) ("r-rlang" ,r-rlang) - ("r-tibble" ,r-tibble))) + ("r-tibble" ,r-tibble) + ("r-tidyselect" ,r-tidyselect))) (native-inputs `(("r-knitr" ,r-knitr))) (home-page "https://github.com/igordot/msigdbr") @@ -15181,14 +15212,14 @@ discriminant analysis for the purpose of classifying high dimensional data.") (define-public r-ggvis (package (name "r-ggvis") - (version "0.4.5") + (version "0.4.6") (source (origin (method url-fetch) (uri (cran-uri "ggvis" version)) (sha256 (base32 - "091i9f17912j8qcyxppjgwzjnyqj7769ixs9d2gjg6f2clskqdw2")))) + "1k40mkfxj66qvwbsp849maihv6vxkdprhhzjkwffwn0lwl78lsz1")))) (build-system r-build-system) (propagated-inputs `(("r-assertthat" ,r-assertthat) @@ -15718,17 +15749,18 @@ code edited with @code{RStudio IDE}, @code{Emacs} and @code{Vim}.") (define-public r-sctransform (package (name "r-sctransform") - (version "0.2.1") + (version "0.3") (source (origin (method url-fetch) (uri (cran-uri "sctransform" version)) (sha256 (base32 - "07v3lzccsrkh1glfxd1q20r8f8gl9ls5az0s1dvxm4vcls0hlhyn")))) + "1vyjxzghfvw57pwncvkfg3lbcsqfdsiplh1h4vscxpnd3872nrq3")))) (build-system r-build-system) (propagated-inputs - `(("r-future-apply" ,r-future-apply) + `(("r-future" ,r-future) + ("r-future-apply" ,r-future-apply) ("r-ggplot2" ,r-ggplot2) ("r-gridextra" ,r-gridextra) ("r-mass" ,r-mass) @@ -16137,14 +16169,14 @@ includes data sets from oceanography.") (define-public r-ggfortify (package (name "r-ggfortify") - (version "0.4.10") + (version "0.4.11") (source (origin (method url-fetch) (uri (cran-uri "ggfortify" version)) (sha256 (base32 - "0wmcwp63h90v3f00ixszvis4z28im621jickvc0wgi6qvjvnayq0")))) + "1wfm7l9bz6msh7rflgfv9dgbxh1ikz2ay0v7sgk9nkc24y6lhbpk")))) (build-system r-build-system) (propagated-inputs `(("r-dplyr" ,r-dplyr) @@ -16621,13 +16653,13 @@ function and interfaces to external frameworks.") (define-public r-covr (package (name "r-covr") - (version "3.5.0") + (version "3.5.1") (source (origin (method url-fetch) (uri (cran-uri "covr" version)) (sha256 - (base32 "1pvr95h7jg9hqq1qq1cccy323pkxldrwafl08151cc410499k4fb")))) + (base32 "0v5cv3cw2kpdr6wxmkbd3wclavr17zipypdcb10hhmpa4cvgqk55")))) (properties `((upstream-name . "covr"))) (build-system r-build-system) (propagated-inputs @@ -16654,14 +16686,14 @@ both R code and compiled C/C++/FORTRAN code.") (define-public r-systemfonts (package (name "r-systemfonts") - (version "0.3.1") + (version "0.3.2") (source (origin (method url-fetch) (uri (cran-uri "systemfonts" version)) (sha256 (base32 - "0ldxgcayyisp2gcbv4xw9zpb48bp4czi8016kq5nqdqhv1qb3sz0")))) + "12hdvv66kkd3b4rs82blc3c4ifz2dw1048sqpkbz6vkk1zqpc53x")))) (properties `((upstream-name . "systemfonts"))) (build-system r-build-system) (propagated-inputs @@ -16802,14 +16834,14 @@ in pipelines.") (define-public r-parameters (package (name "r-parameters") - (version "0.8.5") + (version "0.8.6") (source (origin (method url-fetch) (uri (cran-uri "parameters" version)) (sha256 (base32 - "1vax5p1znq2ddbks2i614hbrnn2x6x71942xx49p813qk8dh284l")))) + "0z4qy62pxiwnsgi77ydymlc12ss9p9gbqljik2h0rwlmkpmk016w")))) (properties `((upstream-name . "parameters"))) (build-system r-build-system) (propagated-inputs @@ -16831,18 +16863,18 @@ effect size.") (define-public r-rgdal (package (name "r-rgdal") - (version "1.5-16") + (version "1.5-17") (source (origin (method url-fetch) (uri (cran-uri "rgdal" version)) (sha256 - (base32 "0rwlsafqxgqflfid4ciaa9qz3f75fgw8hilhaqj558gdxg8bzigp")))) + (base32 "16vk3a8azbqhv4m598i78hs9m1nlfcls6lx011v0wgiw6ksq64zw")))) (properties `((upstream-name . "rgdal"))) (build-system r-build-system) (inputs `(("gdal" ,gdal) - ("proj.4" ,proj.4) + ("proj" ,proj) ("zlib" ,zlib))) (propagated-inputs `(("r-sp" ,r-sp))) @@ -17085,14 +17117,14 @@ structural data.") (define-public r-bios2cor (package (name "r-bios2cor") - (version "2.1") + (version "2.2") (source (origin (method url-fetch) (uri (cran-uri "Bios2cor" version)) (sha256 (base32 - "04wk1cjrrxhpv1kdhd67r1qvjv268xxi0z0r105wy912110z9m6x")))) + "1wkj9vr33m9jilidil9jpw5rzr3pf7gkimxdvch22ks4bgkx7l1w")))) (properties `((upstream-name . "Bios2cor"))) (build-system r-build-system) (propagated-inputs @@ -17990,14 +18022,14 @@ See e.g. Gentle (2003) @url{doi:10.1007/b97336}.") (define-public r-lhs (package (name "r-lhs") - (version "1.0.2") + (version "1.1.1") (source (origin (method url-fetch) (uri (cran-uri "lhs" version)) (sha256 (base32 - "0n0i1hr9gmc0hfcs2cvpjvdfgm6k26rhcq3q22r8ic0gfj953572")))) + "1p4h03qlijs2a59wfd4rlvdlb9i87pw2zm8xsjd6yzz8vlm9yglh")))) (properties `((upstream-name . "lhs"))) (build-system r-build-system) (propagated-inputs `(("r-rcpp" ,r-rcpp))) @@ -18013,14 +18045,14 @@ Latin Hypercube Samples.") (define-public r-acebayes (package (name "r-acebayes") - (version "1.9") + (version "1.10") (source (origin (method url-fetch) (uri (cran-uri "acebayes" version)) (sha256 (base32 - "1imfwm1vpbb24vfmfn1nljhmaz8429mwjihw34892p387s8h7xz2")))) + "11bffz430gdfdaxjx3simig66vhynmx6l1ylac4q2shcmj52nx73")))) (properties `((upstream-name . "acebayes"))) (build-system r-build-system) (propagated-inputs @@ -19869,14 +19901,14 @@ generation for the Poisson binomial distribution.") (define-public r-diagram (package (name "r-diagram") - (version "1.6.4") + (version "1.6.5") (source (origin (method url-fetch) (uri (cran-uri "diagram" version)) (sha256 (base32 - "0f6ffprn5k0ir1s7m9s7izc64aa17r3gnygagz5bihrlsvawaavw")))) + "1r3lyl0h7mk9cfg8smr3jydfkjdawaphnxibkxfjqa7029vkxh79")))) (properties `((upstream-name . "diagram"))) (build-system r-build-system) (propagated-inputs @@ -20447,14 +20479,14 @@ Norwegian, Portuguese, Romanian, Russian, Spanish, Swedish and Turkish.") (define-public r-quanteda (package (name "r-quanteda") - (version "2.1.1") + (version "2.1.2") (source (origin (method url-fetch) (uri (cran-uri "quanteda" version)) (sha256 (base32 - "1wlrd7g2b459pnkqhihxhn74f37py1c9pxrdzp5xzp4mnbdxcsj8")))) + "13rjwgmg5v1dbryrs9ifyy76s5ib6wrbrm2y5af44vhf1h6p9cvy")))) (properties `((upstream-name . "quanteda"))) (build-system r-build-system) (propagated-inputs @@ -20523,14 +20555,14 @@ Gibbs sampling by Xuan-Hieu Phan and co-authors.") (define-public r-stm (package (name "r-stm") - (version "1.3.5") + (version "1.3.6") (source (origin (method url-fetch) (uri (cran-uri "stm" version)) (sha256 (base32 - "1yyfxaxqc6yq0yq68zhdnhpwpvsyp71dlmivn7zxixfmp932s6cn")))) + "0qwq4nin2n9fjd06852r8k7arvcgh46kcfb3lm21swgx6j8bgrhb")))) (properties `((upstream-name . "stm"))) (build-system r-build-system) (propagated-inputs @@ -20732,14 +20764,14 @@ least squares.") (define-public r-regsem (package (name "r-regsem") - (version "1.5.2") + (version "1.6.2") (source (origin (method url-fetch) (uri (cran-uri "regsem" version)) (sha256 (base32 - "0ch057010xfsw0nqcsarzakdbiplvxaldyqlbbacspqs65ax1yk7")))) + "14nrzyrkrijdrr4jwkri5zra2wh36w68wy6xs600l2z1633h2lmn")))) (properties `((upstream-name . "regsem"))) (build-system r-build-system) (propagated-inputs @@ -20747,6 +20779,8 @@ least squares.") ("r-rcpp" ,r-rcpp) ("r-rcpparmadillo" ,r-rcpparmadillo) ("r-rsolnp" ,r-rsolnp))) + (native-inputs + `(("r-knitr" ,r-knitr))) (home-page "https://cran.r-project.org/package=regsem") (synopsis "Regularized structural equation modeling") (description @@ -20801,14 +20835,14 @@ and analyze Stan models.") (define-public r-rpf (package (name "r-rpf") - (version "1.0.4") + (version "1.0.5") (source (origin (method url-fetch) (uri (cran-uri "rpf" version)) (sha256 (base32 - "17crcgsbcsh0c00n7bgdqfnd7n1vzz7drfxjs7d18253yl5x44pl")))) + "0kz7i7g3l16irz6bxgnkxdmmd931m1fk6rl72dvs21ir5brr010l")))) (properties `((upstream-name . "rpf"))) (build-system r-build-system) (propagated-inputs @@ -22136,14 +22170,14 @@ is also implemented here.") (define-public r-aws (package (name "r-aws") - (version "2.4-3") + (version "2.5") (source (origin (method url-fetch) (uri (cran-uri "aws" version)) (sha256 (base32 - "0ccm8ffjf8bylhfr64j9wzi49hzigz4bs172pvkb0bi4d5vdr0l5")))) + "1mwg1q7l4a07g5aa9c6kh3fpl9lakk01pbzlk7ixbpy12yfvj9nm")))) (properties `((upstream-name . "aws"))) (build-system r-build-system) @@ -22300,21 +22334,22 @@ infinite-precision rational arithmetic.") (define-public r-rxnat (package (name "r-rxnat") - (version "1.0.12") + (version "1.0.14") (source (origin (method url-fetch) (uri (cran-uri "Rxnat" version)) (sha256 (base32 - "06w99b5lvpycykzlga6grw33zkajwbb04s89s37wy9zxy42vc4cb")))) + "00fl68pa0c2vy4xlny67pn41lzgm7b97wgg3dwm6z35izca62l11")))) (properties `((upstream-name . "Rxnat"))) (build-system r-build-system) (propagated-inputs `(("r-dplyr" ,r-dplyr) ("r-httr" ,r-httr) - ("r-rcurl" ,r-rcurl))) + ("r-rcurl" ,r-rcurl) + ("r-tibble" ,r-tibble))) (native-inputs `(("r-knitr" ,r-knitr))) (home-page "https://cran.r-project.org/web/packages/Rxnat/") @@ -22704,14 +22739,14 @@ incremented as outlined at @url{http://semver.org}.") (define-public r-binman (package (name "r-binman") - (version "0.1.1") + (version "0.1.2") (source (origin (method url-fetch) (uri (cran-uri "binman" version)) (sha256 (base32 - "0hm0h285p4v9lhrqjy8s22f1s1vmfpfla5iaycpj8vw3qb3632az")))) + "00l7m98h41r67gf0qxqis3vx63j7wylnk9vlgcyk41szkrz8ikkc")))) (properties `((upstream-name . "binman"))) (build-system r-build-system) (propagated-inputs @@ -23056,14 +23091,14 @@ formal inference.") (define-public r-gaston (package (name "r-gaston") - (version "1.5.6") + (version "1.5.7") (source (origin (method url-fetch) (uri (cran-uri "gaston" version)) (sha256 (base32 - "1bx6iqfjb9lf3vn0z7v8wjv9m7issvqsnymm4qsgl3622s6qz6rg")))) + "14z94dpln4dvgrv2w7w9ik7h6rpvbf02qhq1hqzx8c2cndzxr21i")))) (properties `((upstream-name . "gaston"))) (build-system r-build-system) (inputs `(("zlib" ,zlib))) @@ -23084,14 +23119,14 @@ for linear mixed models (AIREML).") (define-public r-cpp11 (package (name "r-cpp11") - (version "0.2.1") + (version "0.2.2") (source (origin (method url-fetch) (uri (cran-uri "cpp11" version)) (sha256 (base32 - "1113y61lj4cg1d2yjavdx9zih5rzb4pnxmj5v3sr4bhzlxz2scda")))) + "1b1h7kjl3xrd4nfly7wd6v8mbyancm632r4k37pafs8xi6cqm848")))) (properties `((upstream-name . "cpp11"))) (build-system r-build-system) (native-inputs `(("r-knitr" ,r-knitr))) @@ -23662,14 +23697,14 @@ more.") (define-public r-workflows (package (name "r-workflows") - (version "0.1.3") + (version "0.2.0") (source (origin (method url-fetch) (uri (cran-uri "workflows" version)) (sha256 (base32 - "1d5njd1xdl8kghlbar4acgl9hxq83p6k7yks592cvakmcz7f853m")))) + "1mj0ibl6myzw5vl5n4gcfy7fz8wd1755kp8sdy18isxg8h5h23ya")))) (properties `((upstream-name . "workflows"))) (build-system r-build-system) (propagated-inputs @@ -23679,7 +23714,8 @@ more.") ("r-glue" ,r-glue) ("r-hardhat" ,r-hardhat) ("r-parsnip" ,r-parsnip) - ("r-rlang" ,r-rlang))) + ("r-rlang" ,r-rlang) + ("r-tidyselect" ,r-tidyselect))) (native-inputs `(("r-knitr" ,r-knitr))) (home-page "https://github.com/tidymodels/workflows") @@ -23754,25 +23790,81 @@ to a data set such as confusion matrices, class probability curve summaries, and regression metrics (e.g., RMSE).") (license license:gpl2))) +(define-public r-warp + (package + (name "r-warp") + (version "0.1.0") + (source + (origin + (method url-fetch) + (uri (cran-uri "warp" version)) + (sha256 + (base32 + "16bmym91h0sbbh4iqasqs0f4kp3jqlm3sqgc356mznhxwnsm8dm2")))) + (properties `((upstream-name . "warp"))) + (build-system r-build-system) + (native-inputs `(("r-knitr" ,r-knitr))) + (home-page "https://github.com/DavisVaughan/warp") + (synopsis "Group dates") + (description + "This package provides tooling to group dates by a variety of periods +including: yearly, monthly, by second, by week of the month, and more. The +groups are defined in such a way that they also represent the distance between +dates in terms of the period. This extracts valuable information that can be +used in further calculations that rely on a specific temporal spacing between +observations.") + (license license:expat))) + +(define-public r-slider + (package + (name "r-slider") + (version "0.1.5") + (source + (origin + (method url-fetch) + (uri (cran-uri "slider" version)) + (sha256 + (base32 + "1x4jwfxam4czfkb1s5qds5krfw1h2p5a4rh6f5z4yvhsv0d81xck")))) + (properties `((upstream-name . "slider"))) + (build-system r-build-system) + (propagated-inputs + `(("r-glue" ,r-glue) + ("r-rlang" ,r-rlang) + ("r-vctrs" ,r-vctrs) + ("r-warp" ,r-warp))) + (native-inputs `(("r-knitr" ,r-knitr))) + (home-page "https://github.com/DavisVaughan/slider") + (synopsis "Sliding window functions") + (description + "This package provides type-stable rolling window functions over any R +data type. Cumulative and expanding windows are also supported. For more +advanced usage, an index can be used as a secondary vector that defines how +sliding windows are to be created.") + (license license:expat))) + (define-public r-rsample (package (name "r-rsample") - (version "0.0.7") + (version "0.0.8") (source (origin (method url-fetch) (uri (cran-uri "rsample" version)) (sha256 (base32 - "0s6hgq0rcv3ianyidq3n9z34y5ww51gaggqkwmwns9yyxmwfjcm8")))) + "1psmxk16d4bz1v05x0gb9hn4brkdjxw8hjbxmj62snichnix3q3i")))) (properties `((upstream-name . "rsample"))) (build-system r-build-system) (propagated-inputs `(("r-dplyr" ,r-dplyr) + ("r-ellipsis" ,r-ellipsis) ("r-furrr" ,r-furrr) ("r-generics" ,r-generics) + ("r-modeldata" ,r-modeldata) ("r-purrr" ,r-purrr) ("r-rlang" ,r-rlang) + ("r-slider" ,r-slider) ("r-tibble" ,r-tibble) ("r-tidyr" ,r-tidyr) ("r-tidyselect" ,r-tidyselect) @@ -23809,14 +23901,14 @@ Design} (SFD) and to test their quality.") (define-public r-dials (package (name "r-dials") - (version "0.0.8") + (version "0.0.9") (source (origin (method url-fetch) (uri (cran-uri "dials" version)) (sha256 (base32 - "0jxmlcy20y57chflx91fqz6c4pbdckzr7jirq4s72vp723avrr4p")))) + "0g9wj2py4wz703rh4p7hk8qxqnkm7zyrypv4qz4vaqziazjsmxks")))) (properties `((upstream-name . "dials"))) (build-system r-build-system) (propagated-inputs @@ -23921,14 +24013,14 @@ models without involving a test set.") (define-public r-tidypredict (package (name "r-tidypredict") - (version "0.4.6") + (version "0.4.7") (source (origin (method url-fetch) (uri (cran-uri "tidypredict" version)) (sha256 (base32 - "1fx1nr8fry3nwy2391g26zkqakdf8f3j7zyrihbc0qhscvbdskiy")))) + "0z0wr0ssl1h0smr9431cy1ik5kxfy1nvkdcyyq9c0355h828hybh")))) (properties `((upstream-name . "tidypredict"))) (build-system r-build-system) (propagated-inputs @@ -23937,7 +24029,9 @@ models without involving a test set.") ("r-knitr" ,r-knitr) ("r-purrr" ,r-purrr) ("r-rlang" ,r-rlang) - ("r-tibble" ,r-tibble))) + ("r-stringr" ,r-stringr) + ("r-tibble" ,r-tibble) + ("r-tidyr" ,r-tidyr))) (native-inputs `(("r-knitr" ,r-knitr))) (home-page "https://tidypredict.tidymodels.org") @@ -24043,14 +24137,14 @@ vignettes in all common formats.") (define-public r-tidytext (package (name "r-tidytext") - (version "0.2.5") + (version "0.2.6") (source (origin (method url-fetch) (uri (cran-uri "tidytext" version)) (sha256 (base32 - "0kwbpffdnqrb6hgrrmrfnx890imbzvp5bs6sj1k72if28qijarm5")))) + "0xmjkab7p13ncfglf3a9hvndf8fh96mmxw3l7hcpbnaq9qkiwk29")))) (properties `((upstream-name . "tidytext"))) (build-system r-build-system) (propagated-inputs @@ -24355,13 +24449,13 @@ as allowing spectra with different resolutions.") (define-public r-seurat (package (name "r-seurat") - (version "3.2.1") + (version "3.2.2") (source (origin (method url-fetch) (uri (cran-uri "Seurat" version)) (sha256 (base32 - "0jipc4xpmx56jzc31w6nsl77ah8x8wq7jclg2mxhjql4ixkwmz54")))) + "048vnj0c3mrwhr6yq3jqhgnkg68w99nj1ccsmgnd8rl694w26spj")))) (properties `((upstream-name . "Seurat"))) (build-system r-build-system) (propagated-inputs diff --git a/gnu/packages/crates-graphics.scm b/gnu/packages/crates-graphics.scm index e0b60f9f09..9193479092 100644 --- a/gnu/packages/crates-graphics.scm +++ b/gnu/packages/crates-graphics.scm @@ -910,7 +910,7 @@ for computer graphics.") `(#:tests? #f ; Some test images are missing from the release. #:cargo-inputs (("rust-bytemuck" ,rust-bytemuck-1) - ("rust-byteorder" ,rust-byteorder-1.3) + ("rust-byteorder" ,rust-byteorder-1) ("rust-gif" ,rust-gif-0.10) ("rust-jpeg-decoder" ,rust-jpeg-decoder-0.1) ("rust-num-iter" ,rust-num-iter-0.1) @@ -920,7 +920,7 @@ for computer graphics.") ("rust-scoped-threadpool" ,rust-scoped-threadpool-0.1) ("rust-tiff" ,rust-tiff-0.5)) #:cargo-development-inputs - (("rust-crc32fast" ,rust-crc32fast-1.2) + (("rust-crc32fast" ,rust-crc32fast-1) ("rust-criterion" ,rust-criterion-0.3) ("rust-glob" ,rust-glob-0.3) ("rust-num-complex" ,rust-num-complex-0.3) @@ -949,7 +949,7 @@ for the most common image formats.") (arguments `(#:tests? #f ; Some test images are missing from the release. #:cargo-inputs - (("rust-byteorder" ,rust-byteorder-1.3) + (("rust-byteorder" ,rust-byteorder-1) ("rust-gif" ,rust-gif-0.10) ("rust-jpeg-decoder" ,rust-jpeg-decoder-0.1) ("rust-num-iter" ,rust-num-iter-0.1) @@ -959,7 +959,7 @@ for the most common image formats.") ("rust-scoped-threadpool" ,rust-scoped-threadpool-0.1) ("rust-tiff" ,rust-tiff-0.3)) #:cargo-development-inputs - (("rust-crc32fast" ,rust-crc32fast-1.2) + (("rust-crc32fast" ,rust-crc32fast-1) ("rust-glob" ,rust-glob-0.3) ("rust-num-complex" ,rust-num-complex-0.2) ("rust-quickcheck" ,rust-quickcheck-0.9)))))) @@ -980,7 +980,7 @@ for the most common image formats.") "1sv534xp8yyn7jj0q6yn2bgng1350f962g81sv8v7c6pgi31wdrm")))) (arguments `(#:cargo-inputs - (("rust-byteorder" ,rust-byteorder-1.3) + (("rust-byteorder" ,rust-byteorder-1) ("rust-gif" ,rust-gif-0.10) ("rust-jpeg-decoder" ,rust-jpeg-decoder-0.1) ("rust-lzw" ,rust-lzw-0.10) @@ -1011,7 +1011,7 @@ for the most common image formats.") "01058n0jcw25pq5shn7lkvywv8c28xsxb3nwwyb4r16ijm1mnrj4")))) (arguments `(#:cargo-inputs - (("rust-byteorder" ,rust-byteorder-1.3) + (("rust-byteorder" ,rust-byteorder-1) ("rust-gif" ,rust-gif-0.10) ("rust-jpeg-decoder" ,rust-jpeg-decoder-0.1) ("rust-lzw" ,rust-lzw-0.10) @@ -1043,7 +1043,7 @@ for the most common image formats.") (arguments `(#:tests? #f ; Some test files missing. #:cargo-inputs - (("rust-byteorder" ,rust-byteorder-1.3) + (("rust-byteorder" ,rust-byteorder-1) ("rust-rayon" ,rust-rayon-1)) #:cargo-development-inputs (("rust-criterion" ,rust-criterion-0.3) @@ -1538,7 +1538,7 @@ interactive applications.") `(#:skip-build? #t #:cargo-inputs (("rust-bitflags" ,rust-bitflags-1) - ("rust-crc32fast" ,rust-crc32fast-1.2) + ("rust-crc32fast" ,rust-crc32fast-1) ("rust-deflate" ,rust-deflate-0.8) ("rust-miniz-oxide" ,rust-miniz-oxide-0.3)) #:cargo-development-inputs @@ -1573,7 +1573,7 @@ interactive applications.") `(#:skip-build? #t #:cargo-inputs (("rust-bitflags" ,rust-bitflags-1) - ("rust-crc32fast" ,rust-crc32fast-1.2) + ("rust-crc32fast" ,rust-crc32fast-1) ("rust-deflate" ,rust-deflate-0.7) ("rust-inflate" ,rust-inflate-0.4)) #:cargo-development-inputs @@ -1740,7 +1740,7 @@ first-class Rust objects.") ("rust-wayland-client" ,rust-wayland-client-0.23) ("rust-wayland-protocols" ,rust-wayland-protocols-0.23)) #:cargo-development-inputs - (("rust-byteorder" ,rust-byteorder-1.3) + (("rust-byteorder" ,rust-byteorder-1) ("rust-image" ,rust-image-0.21) ("rust-wayland-client" ,rust-wayland-client-0.23)))) (home-page "https://github.com/smithay/client-toolkit") @@ -1775,7 +1775,7 @@ first-class Rust objects.") ("rust-wayland-commons" ,rust-wayland-commons-0.21) ("rust-wayland-protocols" ,rust-wayland-protocols-0.21)) #:cargo-development-inputs - (("rust-byteorder" ,rust-byteorder-1.3) + (("rust-byteorder" ,rust-byteorder-1) ("rust-image" ,rust-image-0.20) ("rust-wayland-client" ,rust-wayland-client-0.21)))))) @@ -1825,7 +1825,7 @@ first-class Rust objects.") (arguments `(#:tests? #f ; not all test files included #:cargo-inputs - (("rust-byteorder" ,rust-byteorder-1.3) + (("rust-byteorder" ,rust-byteorder-1) ("rust-lzw" ,rust-lzw-0.10) ("rust-miniz-oxide" ,rust-miniz-oxide-0.3)))) (home-page "https://github.com/image-rs/image-tiff") @@ -1852,7 +1852,7 @@ first-class Rust objects.") (arguments `(#:tests? #f ; Tests images not included with release. #:cargo-inputs - (("rust-byteorder" ,rust-byteorder-1.3) + (("rust-byteorder" ,rust-byteorder-1) ("rust-lzw" ,rust-lzw-0.10) ("rust-num-derive" ,rust-num-derive-0.2) ("rust-num-traits" ,rust-num-traits-0.2)) @@ -1875,7 +1875,7 @@ first-class Rust objects.") "1kn7psgpacns337vvqh272rkqwnakmjd51rc7ygwnc03ibr38j0y")))) (arguments `(#:cargo-inputs - (("rust-byteorder" ,rust-byteorder-1.3) + (("rust-byteorder" ,rust-byteorder-1) ("rust-lzw" ,rust-lzw-0.10) ("rust-num-derive" ,rust-num-derive-0.2) ("rust-num-traits" ,rust-num-traits-0.2)))))) @@ -1906,7 +1906,7 @@ first-class Rust objects.") ("rust-wayland-sys" ,rust-wayland-sys-0.23) ("rust-wayland-scanner" ,rust-wayland-scanner-0.23)) #:cargo-development-inputs - (("rust-byteorder" ,rust-byteorder-1.3) + (("rust-byteorder" ,rust-byteorder-1) ("rust-tempfile" ,rust-tempfile-3)))) (home-page "https://github.com/smithay/wayland-rs") (synopsis @@ -1942,7 +1942,7 @@ the wayland protocol, client side.") ("rust-wayland-sys" ,rust-wayland-sys-0.21) ("rust-wayland-scanner" ,rust-wayland-scanner-0.21)) #:cargo-development-inputs - (("rust-byteorder" ,rust-byteorder-1.3) + (("rust-byteorder" ,rust-byteorder-1) ("rust-tempfile" ,rust-tempfile-3)))))) (define-public rust-wayland-commons-0.23 @@ -2223,7 +2223,7 @@ protocol extensions. Look at the crate wayland-client for usable bindings.") ("rust-log" ,rust-log-0.4) ("rust-objc" ,rust-objc-0.2) ("rust-parking-lot" ,rust-parking-lot-0.10) - ("rust-percent-encoding" ,rust-percent-encoding-2.1) + ("rust-percent-encoding" ,rust-percent-encoding-2) ("rust-raw-window-handle" ,rust-raw-window-handle-0.3) ("rust-serde" ,rust-serde-1) ("rust-smithay-client-toolkit" ,rust-smithay-client-toolkit-0.6) @@ -2272,7 +2272,7 @@ protocol extensions. Look at the crate wayland-client for usable bindings.") ("rust-log" ,rust-log-0.4) ("rust-objc" ,rust-objc-0.2) ("rust-parking-lot" ,rust-parking-lot-0.9) - ("rust-percent-encoding" ,rust-percent-encoding-2.1) + ("rust-percent-encoding" ,rust-percent-encoding-2) ("rust-raw-window-handle" ,rust-raw-window-handle-0.3) ("rust-serde" ,rust-serde-1) ("rust-smithay-client-toolkit" ,rust-smithay-client-toolkit-0.4) diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm index 3ad8336c91..5b4767a779 100644 --- a/gnu/packages/crates-io.scm +++ b/gnu/packages/crates-io.scm @@ -10,6 +10,7 @@ ;;; Copyright © 2020 Leo Famulari <leo@famulari.name> ;;; Copyright © 2020 Gabriel Arazas <foo.dogsquared@gmail.com> ;;; Copyright © 2020 André Batista <nandre@riseup.net> +;;; Copyright © 2020 Arun Isaac <arunisaac@systemreboot.net> ;;; ;;; This file is part of GNU Guix. ;;; @@ -29,13 +30,17 @@ (define-module (gnu packages crates-io) #:use-module (guix build-system cargo) #:use-module (guix download) + #:use-module (guix git-download) #:use-module ((guix licenses) #:prefix license:) #:use-module (guix packages) + #:use-module (guix utils) #:use-module (gnu packages) + #:use-module (gnu packages cmake) #:use-module (gnu packages compression) #:use-module (gnu packages crates-graphics) #:use-module (gnu packages crates-gtk) #:use-module (gnu packages curl) + #:use-module (gnu packages databases) #:use-module (gnu packages fontutils) #:use-module (gnu packages gettext) #:use-module (gnu packages jemalloc) @@ -105,7 +110,7 @@ library in Rust.") ("rust-cpp-demangle" ,rust-cpp-demangle-0.2) ("rust-gimli" ,rust-gimli-0.20) ("rust-smallvec" ,rust-smallvec-1) - ("rust-lazycell" ,rust-lazycell-1.2)) + ("rust-lazycell" ,rust-lazycell-1)) #:cargo-development-inputs (("rust-backtrace" ,rust-backtrace-0.3) ("rust-clap" ,rust-clap-2) @@ -140,7 +145,7 @@ Rust, using gimli.") ("rust-fallible-iterator" ,rust-fallible-iterator-0.2) ("rust-gimli" ,rust-gimli-0.18) ("rust-intervaltree" ,rust-intervaltree-0.2) - ("rust-lazycell" ,rust-lazycell-1.2) + ("rust-lazycell" ,rust-lazycell-1) ("rust-object" ,rust-object-0.12) ("rust-rustc-demangle" ,rust-rustc-demangle-0.1) ("rust-smallvec" ,rust-smallvec-0.6)) @@ -168,7 +173,7 @@ Rust, using gimli.") (arguments `(#:cargo-inputs (("rust-compiler-builtins" ,rust-compiler-builtins-0.1) - ("rust-rustc-std-workspace-core" ,rust-rustc-std-workspace-core-1.0)) + ("rust-rustc-std-workspace-core" ,rust-rustc-std-workspace-core-1)) #:cargo-development-inputs (("rust-bencher" ,rust-bencher-0.1) ("rust-rand" ,rust-rand-0.4)))) @@ -180,19 +185,157 @@ the Rust programming language.") (license (list license:bsd-3 license:zlib)))) +(define-public rust-aead-0.3 + (package + (name "rust-aead") + (version "0.3.2") + (source + (origin + (method url-fetch) + (uri (crate-uri "aead" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0c8388alvivcj4qkxgh4s4l6fbczn3p8wc0pnar6crlfvcdmvjbz")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-blobby" ,rust-blobby-0.3) + ("rust-generic-array" ,rust-generic-array-0.14) + ("rust-heapless" ,rust-heapless-0.5)))) + (home-page "https://github.com/RustCrypto/traits") + (synopsis "Traits for Authenticated Encryption with Associated Data (AEAD) +algorithms") + (description "This package provides traits for Authenticated Encryption +with Associated Data (AEAD) algorithms.") + (license (list license:expat license:asl2.0)))) + +(define-public rust-aes-0.4 + (package + (name "rust-aes") + (version "0.4.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "aes" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1xgsp2bn5llsppald60iw4497gaspslg0a8hknhniiz4zmki607p")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-aes-soft" ,rust-aes-soft-0.4) + ("rust-aesni" ,rust-aesni-0.7) + ("rust-block-cipher" ,rust-block-cipher-0.7)) + #:cargo-development-inputs + (("rust-block-cipher" ,rust-block-cipher-0.7)))) + (home-page "https://github.com/RustCrypto/block-ciphers") + (synopsis "Facade for AES (Rijndael) block ciphers implementations") + (description "This package provides a facade for AES (Rijndael) block +ciphers implementations.") + (license (list license:expat license:asl2.0)))) + +(define-public rust-aes-gcm-0.6 + (package + (name "rust-aes-gcm") + (version "0.6.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "aes-gcm" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1lga8my3zlc0b1nhcpc1hrbykfm014fqs6d64bwrjqii05w01xc6")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-aead" ,rust-aead-0.3) + ("rust-aes" ,rust-aes-0.4) + ("rust-block-cipher" ,rust-block-cipher-0.7) + ("rust-ghash" ,rust-ghash-0.3) + ("rust-subtle" ,rust-subtle-2) + ("rust-zeroize" ,rust-zeroize-1)) + #:cargo-development-inputs + (("rust-criterion" ,rust-criterion-0.3) + ("rust-criterion-cycles-per-byte" + ,rust-criterion-cycles-per-byte-0.1) + ("rust-hex-literal" ,rust-hex-literal-0.2)))) + (home-page "https://github.com/RustCrypto/AEADs") + (synopsis "AES-GCM (Galois/Counter Mode) Authenticated Encryption") + (description "This package provides a pure Rust implementation of the +AES-GCM (Galois/Counter Mode) Authenticated Encryption with Associated +Data (AEAD) Cipher with optional architecture-specific hardware +acceleration.") + (license (list license:asl2.0 license:expat)))) + +(define-public rust-aes-soft-0.4 + (package + (name "rust-aes-soft") + (version "0.4.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "aes-soft" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "19szsg0qqxq42k7bj5p3svb147n8wxy9a20n4g7mcl2fwrz689a9")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-block-cipher" ,rust-block-cipher-0.7) + ("rust-byteorder" ,rust-byteorder-1) + ("rust-opaque-debug" ,rust-opaque-debug-0.2)) + #:cargo-development-inputs + (("rust-block-cipher" ,rust-block-cipher-0.7)))) + (home-page "https://github.com/RustCrypto/block-ciphers") + (synopsis "Bit-sliced implementation of AES (Rijndael) block ciphers") + (description "This package provides a bit-sliced implementation of +AES (Rijndael) block ciphers.") + (license (list license:expat license:asl2.0)))) + +(define-public rust-aesni-0.7 + (package + (name "rust-aesni") + (version "0.7.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "aesni" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0r6j0mjkyqnwvgib01cvrwfw8rlx1biw75234niv723n1fdx6l6h")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-block-cipher" ,rust-block-cipher-0.7) + ("rust-opaque-debug" ,rust-opaque-debug-0.2) + ("rust-stream-cipher" ,rust-stream-cipher-0.4)) + #:cargo-development-inputs + (("rust-block-cipher" ,rust-block-cipher-0.7) + ("rust-stream-cipher" ,rust-stream-cipher-0.4)))) + (home-page "https://github.com/RustCrypto/block-ciphers") + (synopsis "AES (Rijndael) block ciphers implementation using AES-NI") + (description "This package provides an implementation of AES (Rijndael) +block ciphers using AES-NI.") + (license (list license:expat license:asl2.0)))) + (define-public rust-afl-0.8 (package (name "rust-afl") (version "0.8.0") (source - (origin - (method url-fetch) - (uri (crate-uri "afl" version)) - (file-name - (string-append name "-" version ".tar.gz")) - (sha256 - (base32 - "1rw11hycfjhqbc7z1smn75m0sczq519msjwimxh7b8s6n4pzk5r7")))) + (origin + (method url-fetch) + (uri (crate-uri "afl" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1rw11hycfjhqbc7z1smn75m0sczq519msjwimxh7b8s6n4pzk5r7")))) (build-system cargo-build-system) (arguments `(#:skip-build? #t @@ -253,6 +396,62 @@ the Rust programming language.") (base32 "0g2chc18ji7qxi0d03n2ai140qdcww958v5si6rcjnnhmri1vyfb")))))) +(define-public rust-ahash-0.4 + (package + (name "rust-ahash") + (version "0.4.4") + (source + (origin + (method url-fetch) + (uri (crate-uri "ahash" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "06bxygcis4pfx0axi1ld0lclg8mf4plywdy7fnkyw2hrhcb74rkd")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-const-random" ,rust-const-random-0.1)) + #:cargo-development-inputs + (("rust-criterion" ,rust-criterion-0.3) + ("rust-fnv" ,rust-fnv-1) + ("rust-fxhash" ,rust-fxhash-0.2) + ("rust-hex" ,rust-hex-0.3) + ("rust-no-panic" ,rust-no-panic-0.1) + ("rust-rand" ,rust-rand-0.6) + ("rust-seahash" ,rust-seahash-3)))) + (home-page "https://github.com/tkaitchuck/ahash") + (synopsis "Non-cryptographic hash function using AES-NI") + (description "This package provides a non-cryptographic hash function +using AES-NI for high performance.") + (license (list license:expat license:asl2.0)))) + +(define-public rust-ahash-0.3 + (package + (inherit rust-ahash-0.4) + (name "rust-ahash") + (version "0.3.8") + (source + (origin + (method url-fetch) + (uri (crate-uri "ahash" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "05qjnr0wccch0gg2kghg0xyh8qd5gfqd15q9dd6r1lamcs375zg8")))) + (arguments + `(#:cargo-inputs + (("rust-const-random" ,rust-const-random-0.1)) + #:cargo-development-inputs + (("rust-criterion" ,rust-criterion-0.3) + ("rust-fnv" ,rust-fnv-1) + ("rust-fxhash" ,rust-fxhash-0.2) + ("rust-hex" ,rust-hex-0.3) + ("rust-no-panic" ,rust-no-panic-0.1) + ("rust-rand" ,rust-rand-0.6) + ("rust-seahash" ,rust-seahash-3)))))) + (define-public rust-aho-corasick-0.7 (package (name "rust-aho-corasick") @@ -389,6 +588,52 @@ code that is generic with regard to the algebraic entity types.") @code{alga} crate.") (license license:asl2.0))) +(define-public rust-alloc-no-stdlib-2 + (package + (name "rust-alloc-no-stdlib") + (version "2.0.1") + (source + (origin + (method url-fetch) + (uri (crate-uri "alloc-no-stdlib" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "19lhmi73fii1b6vrzh23vvp5yjqm33cb94h9yz17pn25b51yr4ji")))) + (build-system cargo-build-system) + (home-page "https://github.com/dropbox/rust-alloc-no-stdlib") + (synopsis "Dynamic allocator that may be used with or without the stdlib") + (description "This package provides a dynamic allocator that may be used +with or without the stdlib. This allows a package with nostd to allocate +memory dynamically and be used either with a custom allocator, items on the +stack, or by a package that wishes to simply use Box<>. It also provides +options to use calloc or a mutable global variable for pre-zeroed memory.") + (license license:bsd-3))) + +(define-public rust-alloc-no-stdlib-2.0 rust-alloc-no-stdlib-2) + +(define-public rust-alloc-stdlib-0.2 + (package + (name "rust-alloc-stdlib") + (version "0.2.1") + (source + (origin + (method url-fetch) + (uri (crate-uri "alloc-stdlib" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1hj3r1x88aajnvigdck0diygj2isc90wa271kkj1swgiq3nxfzk9")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-alloc-no-stdlib" ,rust-alloc-no-stdlib-2.0)))) + (home-page "https://github.com/dropbox/rust-alloc-no-stdlib") + (synopsis "A dynamic allocator example that may be used with the stdlib") + (description "This package provides a dynamic allocator example that may +be used with the stdlib.") + (license license:bsd-3))) + (define-public rust-android-glue-0.2 (package (name "rust-android-glue") @@ -447,9 +692,9 @@ code that is generic with regard to the algebraic entity types.") `(#:skip-build? #t #:cargo-development-inputs (("rust-futures" ,rust-futures-0.3) - ("rust-rustversion" ,rust-rustversion-1.0) - ("rust-thiserror" ,rust-thiserror-1.0) - ("rust-trybuild" ,rust-trybuild-1.0)))) + ("rust-rustversion" ,rust-rustversion-1) + ("rust-thiserror" ,rust-thiserror-1) + ("rust-trybuild" ,rust-trybuild-1)))) (home-page "https://github.com/dtolnay/anyhow") (synopsis "Flexible concrete Error type") (description "This package provides a flexible concrete Error type built on @@ -608,7 +853,7 @@ that runs on Argon2.") (define-public rust-arrayref-0.3 (package (name "rust-arrayref") - (version "0.3.5") + (version "0.3.6") (source (origin (method url-fetch) @@ -617,11 +862,10 @@ that runs on Argon2.") (string-append name "-" version ".tar.gz")) (sha256 (base32 - "1vphy316jbgmgckk4z7m8csvlyc8hih9w95iyq48h8077xc2wf0d")))) + "0i6m1l3f73i0lf0cjdf5rh3xpvxydyhfbakq7xx7bkrp5qajgid4")))) (build-system cargo-build-system) (arguments - `(#:skip-build? #t - #:cargo-development-inputs + `(#:cargo-development-inputs (("rust-quickcheck" ,rust-quickcheck-0.6)))) (home-page "https://github.com/droundy/arrayref") (synopsis "Macros to take array references of slices") @@ -683,6 +927,31 @@ ArrayVec and ArrayString.") ("rust-matches" ,rust-matches-0.1) ("rust-serde-test" ,rust-serde-test-1)))))) +(define-public rust-as-slice-0.1 + (package + (name "rust-as-slice") + (version "0.1.4") + (source + (origin + (method url-fetch) + (uri (crate-uri "as-slice" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1rmhdfj11va424163d6r79wbgf2043i2p37s59ky6x2v8wiiqkdv")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-generic-array-0.14" ,rust-generic-array-0.14) + ("rust-generic-array-0.13" ,rust-generic-array-0.13) + ("rust-generic-array-0.12" ,rust-generic-array-0.12) + ("rust-stable-deref-trait" ,rust-stable-deref-trait-1)))) + (home-page "https://github.com/japaric/as-slice") + (synopsis "AsSlice and AsMutSlice traits") + (description "This package provides @code{AsSlice} and @code{AsMutSlice} +traits.") + (license (list license:expat license:asl2.0)))) + (define-public rust-ascii-1.0 (package (name "rust-ascii") @@ -745,8 +1014,8 @@ standard library.") (arguments `(#:tests? #f ;; requires `printenv`, but installing coreutils doesn't help #:cargo-inputs - (("rust-colored" ,rust-colored-1.9) - ("rust-difference" ,rust-difference-2.0) + (("rust-colored" ,rust-colored-1) + ("rust-difference" ,rust-difference-2) ("rust-environment" ,rust-environment-0.1) ("rust-failure" ,rust-failure-0.1) ("rust-failure-derive" ,rust-failure-derive-0.1) @@ -860,18 +1129,109 @@ standard library.") (description "This package provides a libsyntax ast builder.") (license (list license:expat license:asl2.0)))) +(define-public rust-async-compression-0.3 + (package + (name "rust-async-compression") + (version "0.3.5") + (source + (origin + (method url-fetch) + (uri (crate-uri "async-compression" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "164dfy1wrl9qbj95rvcpkfbrkpz3c1s7mk288sv9cwp7rj5pc8ch")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-brotli" ,rust-brotli-3) + ("rust-bytes" ,rust-bytes-0.5) + ("rust-bzip2" ,rust-bzip2-0.3) + ("rust-flate2" ,rust-flate2-1) + ("rust-futures-core" ,rust-futures-core-0.3) + ("rust-futures-io" ,rust-futures-io-0.3) + ("rust-memchr" ,rust-memchr-2) + ("rust-pin-project-lite" ,rust-pin-project-lite-0.1) + ("rust-tokio" ,rust-tokio-0.2) + ("rust-xz2" ,rust-xz2-0.1) + ("rust-zstd" ,rust-zstd-0.5) + ("rust-zstd-safe" ,rust-zstd-safe-2)) + #:cargo-development-inputs + (("rust-bytes" ,rust-bytes-0.5) + ("rust-futures" ,rust-futures-0.3) + ("rust-futures-test" ,rust-futures-test-0.3) + ("rust-ntest" ,rust-ntest-0.3) + ("rust-proptest" ,rust-proptest-0.9) + ("rust-proptest-derive" ,rust-proptest-derive-0.1) + ("rust-rand" ,rust-rand-0.7) + ("rust-timebomb" ,rust-timebomb-0.1) + ("rust-tokio" ,rust-tokio-0.2)))) + (home-page "https://github.com/Nemo157/async-compression") + (synopsis "Adaptors between compression crates and Rust's modern asynchronous IO types") + (description "This package provides adaptors between compression crates +and Rust's modern asynchronous IO types.") + (license (list license:expat license:asl2.0)))) + +(define-public rust-async-trait-0.1 + (package + (name "rust-async-trait") + (version "0.1.40") + (source + (origin + (method url-fetch) + (uri (crate-uri "async-trait" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "10x7jcg8xqvkmqyz11117aw959p4af5gq1cpf022b9f0hl6j6z38")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-proc-macro2" ,rust-proc-macro2-1) + ("rust-quote" ,rust-quote-1) + ("rust-syn" ,rust-syn-1)) + #:cargo-development-inputs + (("rust-rustversion" ,rust-rustversion-1) + ("rust-tracing" ,rust-tracing-0.1) + ("rust-tracing-attributes" ,rust-tracing-attributes-0.1) + ("rust-tracing-futures" ,rust-tracing-futures-0.2) + ("rust-trybuild" ,rust-trybuild-1)))) + (home-page "https://github.com/dtolnay/async-trait") + (synopsis "Type erasure for async trait methods") + (description "This package provides type erasure for async trait +methods.") + (license (list license:expat license:asl2.0)))) + +(define-public rust-atom-0.3 + (package + (name "rust-atom") + (version "0.3.5") + (source + (origin + (method url-fetch) + (uri (crate-uri "atom" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1qig9fcdqf07mzzpkicm5wgxv0zpr28njdsqf708wxq27yf6k1iw")))) + (build-system cargo-build-system) + (home-page "https://github.com/slide-rs/atom") + (synopsis "A safe abstraction around AtomicPtr") + (description "This package provides a safe abstraction around AtomicPtr.") + (license license:asl2.0))) + (define-public rust-atty-0.2 (package (name "rust-atty") (version "0.2.14") (source - (origin - (method url-fetch) - (uri (crate-uri "atty" version)) - (file-name (string-append name "-" version ".crate")) - (sha256 - (base32 - "1s7yslcs6a28c5vz7jwj63lkfgyx8mx99fdirlhi9lbhhzhrpcyr")))) + (origin + (method url-fetch) + (uri (crate-uri "atty" version)) + (file-name (string-append name "-" version ".crate")) + (sha256 + (base32 + "1s7yslcs6a28c5vz7jwj63lkfgyx8mx99fdirlhi9lbhhzhrpcyr")))) (build-system cargo-build-system) (arguments `(#:skip-build? #t @@ -1034,7 +1394,7 @@ in Rust.") ("rust-memmap" ,rust-memmap-0.7) ("rust-rustc-demangle" ,rust-rustc-demangle-0.1) ("rust-rustc-serialize" ,rust-rustc-serialize-0.3) - ("rust-rustc-std-workspace-core" ,rust-rustc-std-workspace-core-1.0) + ("rust-rustc-std-workspace-core" ,rust-rustc-std-workspace-core-1) ("rust-serde" ,rust-serde-1) ("rust-winapi" ,rust-winapi-0.3)))) (home-page "https://github.com/rust-lang/backtrace-rs") @@ -1045,6 +1405,21 @@ in Rust.") trace (backtrace) at runtime in a Rust program.") (license (list license:asl2.0 license:expat)))) +(define-public rust-backtrace-0.3.35 + (package + (inherit rust-backtrace-0.3) + (name "rust-backtrace") + (version "0.3.35") + (source + (origin + (method url-fetch) + (uri (crate-uri "backtrace" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0mfwbb6832rh1za304w8x37bvs9fjbybpmmz0iksqfzsaf108w8k")))))) + (define-public rust-backtrace-sys-0.1 (package (name "rust-backtrace-sys") @@ -1062,7 +1437,7 @@ trace (backtrace) at runtime in a Rust program.") `(#:cargo-inputs (("rust-libc" ,rust-libc-0.2) ("rust-compiler-builtins" ,rust-compiler-builtins-0.1) - ("rust-rustc-std-workspace-core" ,rust-rustc-std-workspace-core-1.0) + ("rust-rustc-std-workspace-core" ,rust-rustc-std-workspace-core-1) ("rust-cc" ,rust-cc-1)))) (home-page "https://github.com/rust-lang/backtrace-rs") (synopsis "Bindings to the libbacktrace gcc library") @@ -1074,7 +1449,7 @@ trace (backtrace) at runtime in a Rust program.") (define-public rust-base64-0.12 (package (name "rust-base64") - (version "0.12.2") + (version "0.12.3") (source (origin (method url-fetch) @@ -1083,7 +1458,7 @@ trace (backtrace) at runtime in a Rust program.") (string-append name "-" version ".tar.gz")) (sha256 (base32 - "0ryc48pp8dpx3rl1dcwn723dyfgifi4imh1f6kwd95lcqh6sy8z2")) + "1zq33had71xh48n17g4kqs96szhx3yh7qibzwi4fk217n3vz0h9l")) (modules '((guix build utils))) (snippet '(begin @@ -1134,7 +1509,7 @@ trace (backtrace) at runtime in a Rust program.") "13k6bvd3n6dm7jqn9x918w65dd9xhx454bqphbnv0bkd6n9dj98b")))) (arguments `(#:cargo-inputs - (("rust-byteorder" ,rust-byteorder-1.3)) + (("rust-byteorder" ,rust-byteorder-1)) #:cargo-development-inputs (("rust-criterion" ,rust-criterion-0.2) ("rust-rand" ,rust-rand-0.4)))))) @@ -1153,7 +1528,7 @@ trace (backtrace) at runtime in a Rust program.") (base32 "0hs62r35bgxslawyrn1vp9rmvrkkm76fqv0vqcwd048vs876r7a8")))) (arguments `(#:cargo-inputs - (("rust-byteorder" ,rust-byteorder-1.3) + (("rust-byteorder" ,rust-byteorder-1) ("rust-safemem" ,rust-safemem-0.3)) #:cargo-development-inputs (("rust-rand" ,rust-rand-0.4)))))) @@ -1230,6 +1605,32 @@ and no more (caveat: black_box is still missing!).") tracebacks.") (license (list license:expat license:asl2.0)))) +(define-public rust-bigdecimal-0.2 + (package + (name "rust-bigdecimal") + (version "0.2.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "bigdecimal" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0fd5chyy76y4qb043w1bbgz1v22f9hw5703f5r90ac5hwqk3qh6c")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-num-bigint" ,rust-num-bigint-0.3) + ("rust-num-integer" ,rust-num-integer-0.1) + ("rust-num-traits" ,rust-num-traits-0.2) + ("rust-serde" ,rust-serde-1)) + #:cargo-development-inputs + (("rust-serde-json" ,rust-serde-json-1)))) + (home-page "https://github.com/akubera/bigdecimal-rs") + (synopsis "Arbitrary precision decimal numbers") + (description "This package provides arbitrary precision decimal numbers.") + (license (list license:expat license:asl2.0)))) + (define-public rust-bincode-1 (package (name "rust-bincode") @@ -1247,7 +1648,7 @@ tracebacks.") (arguments `(#:cargo-inputs (("rust-serde" ,rust-serde-1) - ("rust-byteorder" ,rust-byteorder-1.3)) + ("rust-byteorder" ,rust-byteorder-1)) #:cargo-development-inputs (("rust-serde-bytes" ,rust-serde-bytes-0.11) ("rust-serde-derive" ,rust-serde-derive-1)))) @@ -1259,8 +1660,63 @@ tracebacks.") that uses Serde for transforming structs into bytes and vice versa!") (license license:expat))) +(define-public rust-bindgen-0.55 + (package + (name "rust-bindgen") + (version "0.55.1") + (source + (origin + (method url-fetch) + (uri (crate-uri "bindgen" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0hxlvy9q9984rr3rqaxwmgxjrd9wh11mcc161hv3shz6b7jkrcbm")))) + (build-system cargo-build-system) + (inputs + `(("clang" ,clang))) + (arguments + `(#:cargo-inputs + (("rust-bitflags" ,rust-bitflags-1) + ("rust-cexpr" ,rust-cexpr-0.4) + ("rust-cfg-if" ,rust-cfg-if-0.1) + ("rust-clang-sys" ,rust-clang-sys-1) + ("rust-clap" ,rust-clap-2) + ("rust-env-logger" ,rust-env-logger-0.7) + ("rust-lazy-static" ,rust-lazy-static-1) + ("rust-lazycell" ,rust-lazycell-1) + ("rust-log" ,rust-log-0.4) + ("rust-peeking-take-while" ,rust-peeking-take-while-0.1) + ("rust-proc-macro2" ,rust-proc-macro2-1) + ("rust-quote" ,rust-quote-1) + ("rust-regex" ,rust-regex-1) + ("rust-rustc-hash" ,rust-rustc-hash-1) + ("rust-shlex" ,rust-shlex-0.1) + ("rust-which" ,rust-which-3)) + #:cargo-development-inputs + (("rust-clap" ,rust-clap-2) + ("rust-diff" ,rust-diff-0.1) + ("rust-shlex" ,rust-shlex-0.1)) + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'enable-unstable-features + (lambda _ + (setenv "RUSTC_BOOTSTRAP" "1") + #t)) + (add-before 'configure 'configure-clang + (lambda* (#:key inputs #:allow-other-keys) + (setenv "LIBCLANG_PATH" (string-append (assoc-ref inputs "clang") + "/lib")) + #t))))) + (home-page "https://rust-lang.github.io/rust-bindgen/") + (synopsis "Generate Rust FFI bindings to C and C++ libraries.") + (description "This package can be used to automatically generate Rust FFI +bindings to C and C++ libraries.") + (license license:bsd-3))) + (define-public rust-bindgen-0.54 (package + (inherit rust-bindgen-0.55) (name "rust-bindgen") (version "0.54.1") (source @@ -1283,15 +1739,15 @@ that uses Serde for transforming structs into bytes and vice versa!") ("rust-clap" ,rust-clap-2) ("rust-env-logger" ,rust-env-logger-0.7) ("rust-lazy-static" ,rust-lazy-static-1) - ("rust-lazycell" ,rust-lazycell-1.2) + ("rust-lazycell" ,rust-lazycell-1) ("rust-log" ,rust-log-0.4) ("rust-peeking-take-while" ,rust-peeking-take-while-0.1) ("rust-proc-macro2" ,rust-proc-macro2-1) ("rust-quote" ,rust-quote-1) ("rust-regex" ,rust-regex-1) - ("rust-rustc-hash" ,rust-rustc-hash-1.1) + ("rust-rustc-hash" ,rust-rustc-hash-1) ("rust-shlex" ,rust-shlex-0.1) - ("rust-which" ,rust-which-3.1)) + ("rust-which" ,rust-which-3)) #:cargo-development-inputs (("rust-clap" ,rust-clap-2) ("rust-diff" ,rust-diff-0.1) @@ -1305,13 +1761,7 @@ that uses Serde for transforming structs into bytes and vice versa!") (string-append clang "/lib"))) #t))))) (inputs - `(("libclang" ,clang))) - (home-page "https://rust-lang.github.io/rust-bindgen/") - (synopsis - "Automatically generates Rust FFI bindings to C and C++ libraries") - (description - "Automatically generates Rust FFI bindings to C and C++ libraries.") - (license license:bsd-3))) + `(("libclang" ,clang))))) (define-public rust-bindgen-0.53 (package @@ -1336,15 +1786,15 @@ that uses Serde for transforming structs into bytes and vice versa!") ("rust-clap" ,rust-clap-2) ("rust-env-logger" ,rust-env-logger-0.7) ("rust-lazy-static" ,rust-lazy-static-1) - ("rust-lazycell" ,rust-lazycell-1.2) + ("rust-lazycell" ,rust-lazycell-1) ("rust-log" ,rust-log-0.4) ("rust-peeking-take-while" ,rust-peeking-take-while-0.1) ("rust-proc-macro2" ,rust-proc-macro2-1) ("rust-quote" ,rust-quote-1) ("rust-regex" ,rust-regex-1) - ("rust-rustc-hash" ,rust-rustc-hash-1.1) + ("rust-rustc-hash" ,rust-rustc-hash-1) ("rust-shlex" ,rust-shlex-0.1) - ("rust-which" ,rust-which-3.1)) + ("rust-which" ,rust-which-3)) #:cargo-development-inputs (("rust-clap" ,rust-clap-2) ("rust-diff" ,rust-diff-0.1) @@ -1384,13 +1834,13 @@ that uses Serde for transforming structs into bytes and vice versa!") ("rust-env-logger" ,rust-env-logger-0.7) ("rust-proc-macro2" ,rust-proc-macro2-1) ("rust-quote" ,rust-quote-1) - ("rust-rustc-hash" ,rust-rustc-hash-1.1) + ("rust-rustc-hash" ,rust-rustc-hash-1) ("rust-bitflags" ,rust-bitflags-1) - ("rust-lazycell" ,rust-lazycell-1.2) + ("rust-lazycell" ,rust-lazycell-1) ("rust-regex" ,rust-regex-1) ("rust-lazy-static" ,rust-lazy-static-1) ("rust-clap" ,rust-clap-2) - ("rust-which" ,rust-which-3.1)) + ("rust-which" ,rust-which-3)) #:cargo-development-inputs (("rust-clap" ,rust-clap-2) ("rust-diff" ,rust-diff-0.1) @@ -1430,12 +1880,12 @@ that uses Serde for transforming structs into bytes and vice versa!") ("rust-env-logger" ,rust-env-logger-0.6) ("rust-proc-macro2" ,rust-proc-macro2-1) ("rust-quote" ,rust-quote-1) - ("rust-rustc-hash" ,rust-rustc-hash-1.1) + ("rust-rustc-hash" ,rust-rustc-hash-1) ("rust-bitflags" ,rust-bitflags-1) ("rust-regex" ,rust-regex-1) ("rust-lazy-static" ,rust-lazy-static-1) ("rust-clap" ,rust-clap-2) - ("rust-which" ,rust-which-3.1)) + ("rust-which" ,rust-which-3)) #:cargo-development-inputs (("rust-clap" ,rust-clap-2) ("rust-diff" ,rust-diff-0.1) @@ -1822,7 +2272,7 @@ behave like a set of bitflags.") ("rust-clippy" ,rust-clippy-0.0) ("rust-constant-time-eq" ,rust-constant-time-eq-0.1)) #:cargo-development-inputs - (("rust-data-encoding" ,rust-data-encoding-2.1)))) + (("rust-data-encoding" ,rust-data-encoding-2)))) (home-page "https://github.com/cesarb/blake2-rfc") (synopsis "Rust implementation of BLAKE2 based on RFC 7693") (description @@ -1880,8 +2330,32 @@ BLAKE2bp hash functions.") (license (list license:asl2.0 license:expat)))) +(define-public rust-blobby-0.3 + (package + (name "rust-blobby") + (version "0.3.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "blobby" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1s2f3a7lx5rd26554d9940basff7qpyf1y8gkc309cgc8csmalpw")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-development-inputs + (("rust-hex" ,rust-hex-0.3)))) + (home-page "https://github.com/RustCrypto/utils") + (synopsis "Iterator over simple binary blob storage") + (description "This package provides an iterator over simple binary blob +storage.") + (license (list license:expat license:asl2.0)))) + (define-public rust-blobby-0.1 (package + (inherit rust-blobby-0.3) (name "rust-blobby") (version "0.1.2") (source @@ -1897,15 +2371,10 @@ BLAKE2bp hash functions.") (arguments `(#:skip-build? #t #:cargo-inputs - (("rust-byteorder" ,rust-byteorder-1.3)) + (("rust-byteorder" ,rust-byteorder-1)) #:cargo-development-inputs - (("rust-byteorder" ,rust-byteorder-1.3) - ("rust-hex" ,rust-hex-0.3)))) - (home-page "https://github.com/RustCrypto/utils") - (synopsis "Iterator over simple binary blob storage") - (description - "Iterator over simple binary blob storage.") - (license (list license:asl2.0 license:expat)))) + (("rust-byteorder" ,rust-byteorder-1) + ("rust-hex" ,rust-hex-0.3)))))) (define-public rust-block-0.1 (package @@ -1973,7 +2442,7 @@ extension of blocks.") `(#:cargo-inputs (("rust-block-padding" ,rust-block-padding-0.1) ("rust-byte-tools" ,rust-byte-tools-0.3) - ("rust-byteorder" ,rust-byteorder-1.3) + ("rust-byteorder" ,rust-byteorder-1) ("rust-generic-array" ,rust-generic-array-0.14)))))) (define-public rust-block-buffer-0.7 @@ -1994,9 +2463,54 @@ extension of blocks.") `(#:cargo-inputs (("rust-block-padding" ,rust-block-padding-0.1) ("rust-byte-tools" ,rust-byte-tools-0.3) - ("rust-byteorder" ,rust-byteorder-1.3) + ("rust-byteorder" ,rust-byteorder-1) ("rust-generic-array" ,rust-generic-array-0.12)))))) +(define-public rust-block-cipher-0.7 + (package + (name "rust-block-cipher") + (version "0.7.1") + (source + (origin + (method url-fetch) + (uri (crate-uri "block-cipher" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "043zgfz1x4sxkdcsyabrcr440fcwhfpcqqa54jm7zp35wx4n84zs")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-blobby" ,rust-blobby-0.1) + ("rust-generic-array" ,rust-generic-array-0.14)))) + (home-page "https://github.com/RustCrypto/traits") + (synopsis "Traits for description of block ciphers") + (description "This package provides traits for description of block +ciphers.") + (license (list license:expat license:asl2.0)))) + +(define-public rust-block-cipher-trait-0.4 + (package + (name "rust-block-cipher-trait") + (version "0.4.2") + (source + (origin + (method url-fetch) + (uri (crate-uri "block-cipher-trait" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "10qmg8vphqmfllb9a2yx6s7r66jh1wh33clhsawq7ikg2wgz2p6q")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-generic-array" ,rust-generic-array-0.8)))) + (home-page "https://github.com/RustCrypto/block-ciphers") + (synopsis "Block cipher algorithms") + (description "This package provides a collection of block cipher +algorithms. This package is deprecated. Please use block-cipher instead") + (license (list license:expat license:asl2.0)))) + (define-public rust-block-padding-0.2 (package (name "rust-block-padding") @@ -2057,6 +2571,58 @@ extension of blocks.") Bresenham's line algorithm.") (license license:expat))) +(define-public rust-brotli-3 + (package + (name "rust-brotli") + (version "3.3.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "brotli" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0gk1g3fx1vps2ic8kh5n32gzq9h5w1j3ff6lvjm171ph428r2abz")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-alloc-no-stdlib" ,rust-alloc-no-stdlib-2) + ("rust-alloc-stdlib" ,rust-alloc-stdlib-0.2) + ("rust-brotli-decompressor" ,rust-brotli-decompressor-2) + ("rust-packed-simd" ,rust-packed-simd-0.3) + ("rust-sha2" ,rust-sha2-0.8)))) + (home-page "https://github.com/dropbox/rust-brotli") + (synopsis "Brotli compressor and decompressor") + (description "This package provides a brotli compressor and decompressor +with no dependency on the rust stdlib. This makes it suitable for embedded +devices and kernels.") + (license (list license:bsd-3 license:expat)))) + +(define-public rust-brotli-decompressor-2 + (package + (name "rust-brotli-decompressor") + (version "2.3.1") + (source + (origin + (method url-fetch) + (uri (crate-uri "brotli-decompressor" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1v7l1sa63ix1aq8h0k1ijvxvb5w796hz154b9aw0xn6lp31y2lhh")))) + (build-system cargo-build-system) + (arguments + `(#:tests? #f ; not all test files included + #:cargo-inputs + (("rust-alloc-no-stdlib" ,rust-alloc-no-stdlib-2.0) + ("rust-alloc-stdlib" ,rust-alloc-stdlib-0.2)))) + (home-page "https://github.com/dropbox/rust-brotli-decompressor") + (synopsis "Brotli decompressor") + (description "This package provides a brotli decompressor with no +dependency on the rust stdlib. This makes it suitable for embedded devices +and kernels.") + (license (list license:bsd-3 license:expat)))) + (define-public rust-bstr-0.2 (package (name "rust-bstr") @@ -2105,6 +2671,25 @@ UTF-8.") (base32 "0nzi9vqhl56ws8gq39f3aj4qjrr4l3g5lbkkcj8xq1x4cb74wq2r")))))) +(define-public rust-build-const-0.2 + (package + (name "rust-build-const") + (version "0.2.1") + (source + (origin + (method url-fetch) + (uri (crate-uri "build_const" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0faz882spx9474cszay2djmb0lghbwq51qayabcar1s7g4r2l29r")))) + (build-system cargo-build-system) + (home-page "https://crates.io/crates/build_const") + (synopsis "Create importable constants from build.rs or a script") + (description "This package provides a library for creating importable +constants from build.rs or a script.") + (license license:expat))) + (define-public rust-bumpalo-3 (package (name "rust-bumpalo") @@ -2293,7 +2878,7 @@ in a byte slice, fast.") (license (list license:zlib license:asl2.0 license:expat)))) -(define-public rust-byteorder-1.3 +(define-public rust-byteorder-1 (package (name "rust-byteorder") (version "1.3.4") @@ -2323,7 +2908,7 @@ little-endian.") (define-public rust-byteorder-0.5 (package - (inherit rust-byteorder-1.3) + (inherit rust-byteorder-1) (name "rust-byteorder") (version "0.5.3") (source @@ -2380,8 +2965,8 @@ little-endian.") (build-system cargo-build-system) (arguments `(#:cargo-inputs - (("rust-byteorder" ,rust-byteorder-1.3) - ("rust-either" ,rust-either-1.5) + (("rust-byteorder" ,rust-byteorder-1) + ("rust-either" ,rust-either-1) ("rust-iovec" ,rust-iovec-0.1) ("rust-serde" ,rust-serde-1)) #:cargo-development-inputs @@ -2494,7 +3079,7 @@ exposed as Reader/Writer streams.") (arguments `(#:skip-build? #t #:cargo-inputs - (("rust-byteorder" ,rust-byteorder-1.3) + (("rust-byteorder" ,rust-byteorder-1) ("rust-lazy-static" ,rust-lazy-static-1) ("rust-ppv-lite86" ,rust-ppv-lite86-0.2) ("rust-stream-cipher" ,rust-stream-cipher-0.3)) @@ -2532,7 +3117,7 @@ exposed as Reader/Writer streams.") ("rust-mio-extras" ,rust-mio-extras-2) ("rust-nix" ,rust-nix-0.14)) #:cargo-development-inputs - (("rust-lazycell" ,rust-lazycell-1.2)))) + (("rust-lazycell" ,rust-lazycell-1)))) (home-page "https://github.com/Smithay/calloop") (synopsis "Callback-based event loop") (description @@ -2928,7 +3513,7 @@ archive to be linked into Rustcode.") (arguments `(#:cargo-inputs (("rust-compiler-builtins" ,rust-compiler-builtins-0.1) - ("rust-rustc-std-workspace-core" ,rust-rustc-std-workspace-core-1.0)))) + ("rust-rustc-std-workspace-core" ,rust-rustc-std-workspace-core-1)))) (home-page "https://github.com/alexcrichton/cfg-if") (synopsis "Define an item depending on parameters") (description "This package provides a macro to ergonomically define an item @@ -2940,7 +3525,7 @@ depending on a large number of #[cfg] parameters. Structured like an (define-public rust-chrono-0.4 (package (name "rust-chrono") - (version "0.4.11") + (version "0.4.13") (source (origin (method url-fetch) @@ -2949,7 +3534,7 @@ depending on a large number of #[cfg] parameters. Structured like an (string-append name "-" version ".tar.gz")) (sha256 (base32 - "1cmmxamkzzs36zncqjjr7qm7xkb6zyrkjslnlj3axdgqki84y2c0")))) + "1dm0q1kmk2vq5djwhp1j9cm4aa38wr9vy1i1w19p2y0nj4188kf7")))) (build-system cargo-build-system) (arguments `(#:skip-build? #t @@ -2999,8 +3584,42 @@ depending on a large number of #[cfg] parameters. Structured like an "This package provides current CI environment information.") (license license:asl2.0))) +(define-public rust-clang-sys-1 + (package + (name "rust-clang-sys") + (version "1.0.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "clang-sys" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0695kfrqx7n091fzm6msbqg2q2kyhka64q08lm63f3l9d964i8cx")))) + (build-system cargo-build-system) + (inputs + `(("libclang" ,clang))) + (arguments + `(#:cargo-inputs + (("rust-glob" ,rust-glob-0.3) + ("rust-libc" ,rust-libc-0.2) + ("rust-libloading" ,rust-libloading-0.6)) + #:phases + (modify-phases %standard-phases + (add-before 'configure 'configure-clang + (lambda* (#:key inputs #:allow-other-keys) + (setenv "LIBCLANG_PATH" + (string-append (assoc-ref inputs "libclang") + "/lib")) + #t))))) + (home-page "https://github.com/KyleMayes/clang-sys") + (synopsis "Rust bindings for libclang") + (description "This package provides Rust bindings for libclang.") + (license license:asl2.0))) + (define-public rust-clang-sys-0.29 (package + (inherit rust-clang-sys-1) (name "rust-clang-sys") (version "0.29.3") (source @@ -3024,14 +3643,7 @@ depending on a large number of #[cfg] parameters. Structured like an (let ((clang (assoc-ref inputs "libclang"))) (setenv "LIBCLANG_PATH" (string-append clang "/lib"))) - #t))))) - (inputs - `(("libclang" ,clang))) - (home-page "https://github.com/KyleMayes/clang-sys") - (synopsis "Rust bindings for libclang") - (description - "This package provides Rust bindings for @code{libclang}.") - (license license:asl2.0))) + #t))))))) (define-public rust-clang-sys-0.28 (package @@ -3279,10 +3891,10 @@ pitfalls in Rust.") `(#:skip-build? #t #:cargo-inputs (("rust-bitflags" ,rust-bitflags-1)))) - (home-page "https://nuxi.nl/cloudabi/") + (home-page "https://cloudabi.org/") (synopsis "Low level interface to CloudABI") - (description - "Low level interface to CloudABI. Contains all syscalls and related types.") + (description "This package provides a low level interface to CloudABI. It +contains all syscalls and related types.") (license license:bsd-2))) (define-public rust-cloudabi-0.0 @@ -3299,8 +3911,7 @@ pitfalls in Rust.") (base32 "0kxcg83jlihy0phnd2g8c2c303px3l2p3pkjz357ll6llnd5pz6x")))) (arguments - `(#:skip-build? #t - #:cargo-inputs + `(#:cargo-inputs (("rust-bitflags" ,rust-bitflags-1)))))) (define-public rust-cloudflare-zlib-sys-0.2 @@ -3421,7 +4032,7 @@ CMAKE environmental variable is set.") "Color quantization library to reduce n colors to 256 colors.") (license license:expat))) -(define-public rust-colored-1.9 +(define-public rust-colored-1 (package (name "rust-colored") (version "1.9.3") @@ -3458,7 +4069,7 @@ CMAKE environmental variable is set.") (license license:mpl2.0))) (define-public rust-colored-1.9.1 - (package/inherit rust-colored-1.9 + (package/inherit rust-colored-1 (name "rust-colored") (version "1.9.1") (source @@ -3487,7 +4098,7 @@ CMAKE environmental variable is set.") (arguments `(#:skip-build? #t #:cargo-inputs - (("rust-rustc-std-workspace-core" ,rust-rustc-std-workspace-core-1.0) + (("rust-rustc-std-workspace-core" ,rust-rustc-std-workspace-core-1) ("rust-cc" ,rust-cc-1)))) (home-page "https://github.com/rust-lang/compiler-builtins") (synopsis "Compiler intrinsics used by the Rust compiler") @@ -3717,6 +4328,71 @@ that logs panics to @code{console.error}.") the browser's console.") (license (list license:expat license:asl2.0)))) +(define-public rust-const-fn-0.4 + (package + (name "rust-const-fn") + (version "0.4.2") + (source + (origin + (method url-fetch) + (uri (crate-uri "const-fn" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1wnhzyrhfcaawnzi172k98cfawwi5zwqql7pg0nz2qlccm6dz46f")))) + (build-system cargo-build-system) + (home-page "https://github.com/taiki-e/const_fn") + (synopsis "Generate const functions with conditional compilations") + (description "This package provides an attribute for easy generation of +const functions with conditional compilations.") + (license (list license:asl2.0 license:expat)))) + +(define-public rust-const-random-0.1 + (package + (name "rust-const-random") + (version "0.1.8") + (source + (origin + (method url-fetch) + (uri (crate-uri "const-random" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0sp1ang5sh27fq5b7g9fdwpq4d5s17ymj7khfzax4bbvffngj6ig")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-const-random-macro" ,rust-const-random-macro-0.1) + ("rust-proc-macro-hack" ,rust-proc-macro-hack-0.5)))) + (home-page "https://github.com/tkaitchuck/constrandom") + (synopsis "Compile time random number generation") + (description "This package provides compile time random number +generation.") + (license (list license:expat license:asl2.0)))) + +(define-public rust-const-random-macro-0.1 + (package + (name "rust-const-random-macro") + (version "0.1.8") + (source + (origin + (method url-fetch) + (uri (crate-uri "const-random-macro" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0ykc9riajn6bijvw46092gp18vrbky3y1cjpgjgx57a5xc3cdr15")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-getrandom" ,rust-getrandom-0.1) + ("rust-proc-macro-hack" ,rust-proc-macro-hack-0.5)))) + (home-page "https://github.com/tkaitchuck/constrandom") + (synopsis "Procedural macro used by const-random") + (description "This package provides the procedural macro used by +@code{rust-const-random}.") + (license (list license:expat license:asl2.0)))) + (define-public rust-constant-time-eq-0.1 (package (name "rust-constant-time-eq") @@ -3793,6 +4469,69 @@ semantics than those provided by @code{as} or @code{From}/@code{Into}.") numbers using the CORDIC method.") (license license:bsd-3))) +(define-public rust-cookie-0.14 + (package + (name "rust-cookie") + (version "0.14.2") + (source + (origin + (method url-fetch) + (uri (crate-uri "cookie" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1q56fl2cqrci9ksa80d7g220phq02nf1yfbvxkpk9g1p95ma2wqk")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-aes-gcm" ,rust-aes-gcm-0.6) + ("rust-base64" ,rust-base64-0.12) + ("rust-hkdf" ,rust-hkdf-0.9) + ("rust-hmac" ,rust-hmac-0.8) + ("rust-percent-encoding" ,rust-percent-encoding-2) + ("rust-rand" ,rust-rand-0.7) + ("rust-sha2" ,rust-sha2-0.9) + ("rust-time" ,rust-time-0.2)) + #:cargo-development-inputs + (("rust-version-check" ,rust-version-check-0.9)))) + (home-page "https://github.com/SergioBenitez/cookie-rs") + (synopsis "HTTP cookie parsing and cookie jar management") + (description "This package provides HTTP cookie parsing and cookie jar +management. It supports signed and private (encrypted, authenticated) jars.") + (license (list license:expat license:asl2.0)))) + +(define-public rust-cookie-store-0.12 + (package + (name "rust-cookie-store") + (version "0.12.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "cookie_store" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1lqhmdwgnyvi1mjmw4rbgd02fwav4aabpg4vcld23d8c9g5dy61q")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-cookie" ,rust-cookie-0.14) + ("rust-idna" ,rust-idna-0.2) + ("rust-indexmap" ,rust-indexmap-1) + ("rust-log" ,rust-log-0.4) + ("rust-publicsuffix" ,rust-publicsuffix-1) + ("rust-serde" ,rust-serde-1) + ("rust-serde-json" ,rust-serde-json-1) + ("rust-time" ,rust-time-0.2) + ("rust-url" ,rust-url-2)) + #:cargo-development-inputs + (("rust-env-logger" ,rust-env-logger-0.7) + ("rust-pretty-assertions" ,rust-pretty-assertions-0.6)))) + (home-page "https://github.com/pfernie/cookie_store") + (synopsis "Cookie storage and retrieval") + (description "This package implements cookie storage and retrieval.") + (license (list license:expat license:asl2.0)))) + (define-public rust-core-arch-0.1 (package (name "rust-core-arch") @@ -3819,8 +4558,36 @@ numbers using the CORDIC method.") intrinsics.") (license (list license:expat license:asl2.0)))) +(define-public rust-core-foundation-0.7 + (package + (name "rust-core-foundation") + (version "0.7.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "core-foundation" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0wbias8f0m5kyn2pcksi0h58fdslams6nmf16w78fgn42dx4rljp")))) + (build-system cargo-build-system) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-chrono" ,rust-chrono-0.4) + ("rust-core-foundation-sys" ,rust-core-foundation-sys-0.7) + ("rust-libc" ,rust-libc-0.2) + ("rust-uuid" ,rust-uuid-0.5)))) + (home-page "https://github.com/servo/core-foundation-rs") + (synopsis "Bindings to Core Foundation for macOS") + (description "This package provides bindings to Core Foundation for +macOS.") + (license (list license:expat license:asl2.0)))) + (define-public rust-core-foundation-0.6 (package + (inherit rust-core-foundation-0.7) (name "rust-core-foundation") (version "0.6.4") (source @@ -3832,41 +4599,47 @@ intrinsics.") (sha256 (base32 "0va97wf49c8dzm9c8pgyk1jn7z21rl0bj1syf2zz5m2z2hzy1f95")))) - (build-system cargo-build-system) (arguments - `(#:skip-build? #t ; only for macOS + `(#:tests? #f #:cargo-inputs (("rust-chrono" ,rust-chrono-0.4) ("rust-core-foundation-sys" ,rust-core-foundation-sys-0.6) ("rust-libc" ,rust-libc-0.2) - ("rust-uuid" ,rust-uuid-0.5)))) + ("rust-uuid" ,rust-uuid-0.5)))))) + +(define-public rust-core-foundation-sys-0.7 + (package + (name "rust-core-foundation-sys") + (version "0.7.2") + (source + (origin + (method url-fetch) + (uri (crate-uri "core-foundation-sys" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1ghrg46h4ci306agr2vwm28w6gb5l455nzp61y2zkhwfs49p4nis")))) + (build-system cargo-build-system) (home-page "https://github.com/servo/core-foundation-rs") - (synopsis - "Bindings to Core Foundation for macOS") - (description - "Bindings to Core Foundation for macOS.") + (synopsis "Bindings to Core Foundation for macOS") + (description "This package provides bindings to Core Foundation for +macOS.") (license (list license:expat license:asl2.0)))) (define-public rust-core-foundation-sys-0.6 (package + (inherit rust-core-foundation-sys-0.7) (name "rust-core-foundation-sys") (version "0.6.2") (source - (origin - (method url-fetch) - (uri (crate-uri "core-foundation-sys" version)) - (file-name (string-append name "-" version ".crate")) - (sha256 - (base32 - "0fzsw1j9g1x598yhwklg59l15hwzc0pyvs01w9fg2kin4598mjp7")))) - (build-system cargo-build-system) - (arguments '(#:skip-build? #t)) - (home-page "https://github.com/servo/core-foundation-rs") - (synopsis "Bindings to Core Foundation for OS X") - (description - "Bindings to Core Foundation for OS X.") - (license (list license:asl2.0 - license:expat)))) + (origin + (method url-fetch) + (uri (crate-uri "core-foundation-sys" version)) + (file-name (string-append name "-" version ".crate")) + (sha256 + (base32 + "0fzsw1j9g1x598yhwklg59l15hwzc0pyvs01w9fg2kin4598mjp7")))))) (define-public rust-core-text-13 (package @@ -3978,7 +4751,29 @@ to @code{is_x86_feature_detected}.") "Library for retrieving and interacting with the crates.io index.") (license license:asl2.0))) -(define-public rust-crc32fast-1.2 +(define-public rust-crc-1 + (package + (name "rust-crc") + (version "1.8.1") + (source + (origin + (method url-fetch) + (uri (crate-uri "crc" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1sqal6gm6lbj7f45iv3rw2s9w3pvvha8v970y51s7k7mwy6m8qyn")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-build-const" ,rust-build-const-0.2)))) + (home-page "https://crates.io/crates/crc") + (synopsis "Rust implementation of CRC(16, 32, 64)") + (description "This package provides a Rust implementation of CRC(16, 32, +64) with support for various standards.") + (license (list license:expat license:asl2.0)))) + +(define-public rust-crc32fast-1 (package (name "rust-crc32fast") (version "1.2.0") @@ -4010,7 +4805,7 @@ to @code{is_x86_feature_detected}.") (define-public rust-criterion-0.3 (package (name "rust-criterion") - (version "0.3.1") + (version "0.3.3") (source (origin (method url-fetch) @@ -4019,7 +4814,7 @@ to @code{is_x86_feature_detected}.") (string-append name "-" version ".tar.gz")) (sha256 (base32 - "1lgpr82rlmg6rm4gr3c3pla2xgxnakbf8w9sabjsig8jkikmbiqz")))) + "1n24l95pgjig4nfhgm3vn9gxb49ky5ylr8390scl7wbcxk7agnkh")))) (build-system cargo-build-system) (arguments `(#:cargo-inputs @@ -4028,22 +4823,24 @@ to @code{is_x86_feature_detected}.") ("rust-clap" ,rust-clap-2) ("rust-criterion-plot" ,rust-criterion-plot-0.4) ("rust-csv" ,rust-csv-1.1) - ("rust-itertools" ,rust-itertools-0.8) + ("rust-itertools" ,rust-itertools-0.9) ("rust-lazy-static" ,rust-lazy-static-1) ("rust-num-traits" ,rust-num-traits-0.2) ("rust-oorandom" ,rust-oorandom-11.1) ("rust-plotters" ,rust-plotters-0.2) ("rust-rayon" ,rust-rayon-1) + ("rust-regex" ,rust-regex-1) ("rust-serde" ,rust-serde-1) + ("rust-serde-cbor" ,rust-serde-cbor-0.11) ("rust-serde-derive" ,rust-serde-derive-1) ("rust-serde-json" ,rust-serde-json-1) - ("rust-tinytemplate" ,rust-tinytemplate-1.0) + ("rust-tinytemplate" ,rust-tinytemplate-1) ("rust-walkdir" ,rust-walkdir-2)) #:cargo-development-inputs (("rust-approx" ,rust-approx-0.3) ("rust-quickcheck" ,rust-quickcheck-0.9) ("rust-rand" ,rust-rand-0.7) - ("rust-tempdir" ,rust-tempdir-0.3)))) + ("rust-tempfile" ,rust-tempfile-3)))) (home-page "https://bheisler.github.io/criterion.rs/book/index.html") (synopsis "Statistics-driven micro-benchmarking library") (description @@ -4083,7 +4880,7 @@ to @code{is_x86_feature_detected}.") ("rust-serde" ,rust-serde-1) ("rust-serde-derive" ,rust-serde-derive-1) ("rust-serde-json" ,rust-serde-json-1) - ("rust-tinytemplate" ,rust-tinytemplate-1.0) + ("rust-tinytemplate" ,rust-tinytemplate-1) ("rust-walkdir" ,rust-walkdir-2)) #:cargo-development-inputs (("rust-approx" ,rust-approx-0.3) @@ -4091,10 +4888,32 @@ to @code{is_x86_feature_detected}.") ("rust-rand" ,rust-rand-0.6) ("rust-tempdir" ,rust-tempdir-0.3)))))) +(define-public rust-criterion-cycles-per-byte-0.1 + (package + (name "rust-criterion-cycles-per-byte") + (version "0.1.2") + (source + (origin + (method url-fetch) + (uri (crate-uri "criterion-cycles-per-byte" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "15iw8zvyilx6k3a7z79vpzmpm6kkyds4c1ng3jlwfc43axd4hd4d")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-criterion" ,rust-criterion-0.3)))) + (home-page "https://crates.io/crates/criterion-cycles-per-byte") + (synopsis "Measure time with CPU cycles for criterion") + (description "This package lets you measure time with CPU cycles for +criterion.") + (license (list license:expat license:asl2.0)))) + (define-public rust-criterion-plot-0.4 (package (name "rust-criterion-plot") - (version "0.4.1") + (version "0.4.3") (source (origin (method url-fetch) @@ -4103,12 +4922,12 @@ to @code{is_x86_feature_detected}.") (string-append name "-" version ".tar.gz")) (sha256 (base32 - "0id5sfww0hjxlzvkzacdlgbls3lxza8iysqljr7j7s2qxbh1a7m0")))) + "17c8v5fv064181yspagkdcfd6jhs7233ba6g94bbl7v0xjnzw8p0")))) (build-system cargo-build-system) (arguments `(#:cargo-inputs (("rust-cast" ,rust-cast-0.2) - ("rust-itertools" ,rust-itertools-0.8)) + ("rust-itertools" ,rust-itertools-0.9)) #:cargo-development-inputs (("rust-itertools-num" ,rust-itertools-num-0.1) ("rust-num-complex" ,rust-num-complex-0.2) @@ -4134,7 +4953,7 @@ to @code{is_x86_feature_detected}.") "13pv09z4ryp70qyzablkibwa2mh6c2852qq1sjr9wjigvwnj3ybn")))) (arguments `(#:cargo-inputs - (("rust-byteorder" ,rust-byteorder-1.3) + (("rust-byteorder" ,rust-byteorder-1) ("rust-cast" ,rust-cast-0.2) ("rust-itertools" ,rust-itertools-0.8)) #:cargo-development-inputs @@ -4295,7 +5114,7 @@ to @code{is_x86_feature_detected}.") ("rust-lazy-static" ,rust-lazy-static-1) ("rust-maybe-uninit" ,rust-maybe-uninit-2.0) ("rust-memoffset" ,rust-memoffset-0.5) - ("rust-scopeguard" ,rust-scopeguard-1.0)) + ("rust-scopeguard" ,rust-scopeguard-1)) #:cargo-development-inputs (("rust-rand" ,rust-rand-0.6)))) (home-page @@ -4325,7 +5144,7 @@ to @code{is_x86_feature_detected}.") ("rust-crossbeam-utils" ,rust-crossbeam-utils-0.6) ("rust-lazy-static" ,rust-lazy-static-1) ("rust-memoffset" ,rust-memoffset-0.5) - ("rust-scopeguard" ,rust-scopeguard-1.0)) + ("rust-scopeguard" ,rust-scopeguard-1)) #:cargo-development-inputs (("rust-rand" ,rust-rand-0.6)))))) @@ -4518,19 +5337,68 @@ Code} (MAC) algorithms.") ("rust-generic-array" ,rust-generic-array-0.12) ("rust-subtle" ,rust-subtle-1.0)))))) +(define-public rust-crypto-mac-0.4 + (package + (name "rust-crypto-mac") + (version "0.4.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "crypto-mac" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "160ixpghhz5kz16f38kzcyv6lx8wmi4cgbhlhq4nazf678iib43p")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-constant-time-eq" ,rust-constant-time-eq-0.1) + ("rust-generic-array" ,rust-generic-array-0.8)))) + (home-page "https://github.com/RustCrypto/traits") + (synopsis "Trait for Message Authentication Code (MAC) algorithms") + (description "This package provides traits for Message Authentication +Code (MAC) algorithms.") + (license (list license:expat license:asl2.0)))) + +(define-public rust-crypto-tests-0.5 + (package + (name "rust-crypto-tests") + (version "0.5.5") + (source + (origin + (method url-fetch) + (uri (crate-uri "crypto-tests" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "08yrh40a9ll4k29ppizg2yjf96i6s3i9pbkhxp60y8arar93134v")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-block-cipher-trait" ,rust-block-cipher-trait-0.4) + ("rust-crypto-mac" ,rust-crypto-mac-0.4) + ("rust-digest" ,rust-digest-0.6) + ("rust-generic-array" ,rust-generic-array-0.8)))) + (home-page "https://github.com/RustCrypto/utils") + (synopsis "Test helpers for cryptographic algorithms") + (description "This package provides test helpers for cryptographic +algorithms.") + (license (list license:expat license:asl2.0)))) + (define-public rust-cssparser-0.27 (package (name "rust-cssparser") (version "0.27.2") (source - (origin - (method url-fetch) - (uri (crate-uri "cssparser" version)) - (file-name - (string-append name "-" version ".tar.gz")) - (sha256 - (base32 - "02nbm690rmkaz1ca0383qq7mc1g066w3s85f17pdihnda79njjvm")))) + (origin + (method url-fetch) + (uri (crate-uri "cssparser" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "02nbm690rmkaz1ca0383qq7mc1g066w3s85f17pdihnda79njjvm")))) (build-system cargo-build-system) (arguments `(#:tests? #f ; Not all files included in the tarball. @@ -4546,7 +5414,7 @@ Code} (MAC) algorithms.") ("rust-smallvec" ,rust-smallvec-1) ("rust-syn" ,rust-syn-1)) #:cargo-development-inputs - (("rust-difference" ,rust-difference-2.0) + (("rust-difference" ,rust-difference-2) ("rust-encoding-rs" ,rust-encoding-rs-0.8) ("rust-serde-json" ,rust-serde-json-1)))) (home-page "https://github.com/servo/rust-cssparser") @@ -4586,7 +5454,7 @@ Code} (MAC) algorithms.") ("rust-quote" ,rust-quote-1) ("rust-syn" ,rust-syn-1)) #:cargo-development-inputs - (("rust-difference" ,rust-difference-2.0) + (("rust-difference" ,rust-difference-2) ("rust-encoding-rs" ,rust-encoding-rs-0.8) ("rust-serde-json" ,rust-serde-json-1)))))) @@ -4713,27 +5581,43 @@ Code} (MAC) algorithms.") "Bare bones CSV parsing with no_std support.") (license (list license:unlicense license:expat)))) -(define-public rust-ct-logs-0.3 +(define-public rust-ct-logs-0.7 (package (name "rust-ct-logs") - (version "0.3.0") + (version "0.7.0") (source (origin (method url-fetch) (uri (crate-uri "ct-logs" version)) (file-name (string-append name "-" version ".tar.gz")) (sha256 - (base32 "1f0885ws3p49xh6dfgnhh7zjw9h4rhs9ljs8i9cnkhifzz98784f")))) + (base32 + "0bk7pbmkjm18cgccm4a76vyn3wkaf2z4bh0jy9fk3dl4188i73lc")))) (build-system cargo-build-system) (arguments - `(#:cargo-inputs - (("rust-sct" ,rust-sct-0.3)))) + `(#:cargo-inputs (("rust-sct" ,rust-sct-0.6)))) (home-page "https://github.com/ctz/ct-logs") (synopsis "Google's list of Certificate Transparency logs") (description "This package contains Google's list of Certificate Transparency logs for use with sct crate.") (license (list license:asl2.0 license:isc license:expat)))) +(define-public rust-ct-logs-0.3 + (package + (inherit rust-ct-logs-0.7) + (name "rust-ct-logs") + (version "0.3.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "ct-logs" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "1f0885ws3p49xh6dfgnhh7zjw9h4rhs9ljs8i9cnkhifzz98784f")))) + (arguments + `(#:cargo-inputs + (("rust-sct" ,rust-sct-0.3)))))) + (define-public rust-ctor-0.1 (package (name "rust-ctor") @@ -4786,6 +5670,25 @@ Transparency logs for use with sct crate.") "This package provides an easy Ctrl-C handler for Rust projects.") (license (list license:expat license:asl2.0)))) +(define-public rust-cty-0.2 + (package + (name "rust-cty") + (version "0.2.1") + (source + (origin + (method url-fetch) + (uri (crate-uri "cty" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1qvkdnkxmd7g6fwhmv26zxqi0l7b9cd4d7h1knylvjyh43bc04vk")))) + (build-system cargo-build-system) + (home-page "https://github.com/japaric/cty") + (synopsis "Type aliases to C types") + (description "This package provides type aliases to C types like c_int for +use with bindgen.") + (license (list license:expat license:asl2.0)))) + (define-public rust-curl-sys-0.4 (package (name "rust-curl-sys") @@ -4941,7 +5844,47 @@ reading attributes into structs when implementing custom derives.") reading attributes into structs when implementing custom derives.") (license license:expat))) -(define-public rust-data-encoding-2.1 +(define-public rust-dashmap-3 + (package + (name "rust-dashmap") + (version "3.11.10") + (source + (origin + (method url-fetch) + (uri (crate-uri "dashmap" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1ddrjj4khb0s263pw278g5dvbhaid40611h123s9w5shr0phw9hg")) + (modules '((guix build utils))) + (snippet + '(begin + ;; Enable unstable features + (substitute* "src/lib.rs" + (("#!\\[cfg_attr" all) + (string-append "#![feature(map_get_key_value)]" "\n" + "#![feature(inner_deref)]" "\n" + all))) + #t)))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-ahash" ,rust-ahash-0.3) + ("rust-hashbrown" ,rust-hashbrown-0.8) + ("rust-serde" ,rust-serde-1)) + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'enable-unstable-features + (lambda _ + (setenv "RUSTC_BOOTSTRAP" "1") + #t))))) + (home-page "https://github.com/xacrimon/dashmap") + (synopsis "Blazing fast concurrent HashMap for Rust") + (description "This package implements a blazing fast concurrent HashMap +for Rust.") + (license license:expat))) + +(define-public rust-data-encoding-2 (package (name "rust-data-encoding") (version "2.1.2") @@ -5070,7 +6013,7 @@ and arithmetic.") `(#:tests? #f ; not all test files included #:cargo-inputs (("rust-adler32" ,rust-adler32-1) - ("rust-byteorder" ,rust-byteorder-1.3) + ("rust-byteorder" ,rust-byteorder-1) ("rust-gzip-header" ,rust-gzip-header-0.3)) #:cargo-development-inputs (("rust-miniz-oxide" ,rust-miniz-oxide-0.3)))) @@ -5097,9 +6040,9 @@ and arithmetic.") (arguments `(#:cargo-inputs (("rust-adler32" ,rust-adler32-1) - ("rust-byteorder" ,rust-byteorder-1.3) + ("rust-byteorder" ,rust-byteorder-1) ("rust-gzip-header" ,rust-gzip-header-0.3) - ("rust-flate2" ,rust-flate2-1.0)))))) + ("rust-flate2" ,rust-flate2-1)))))) (define-public rust-defmac-0.2 (package @@ -5313,6 +6256,29 @@ for arbitrary structs.") #:cargo-development-inputs (("rust-pretty-assertions" ,rust-pretty-assertions-0.2)))))) +(define-public rust-derive-error-chain-0.10 + (package + (name "rust-derive-error-chain") + (version "0.10.1") + (source + (origin + (method url-fetch) + (uri (crate-uri "derive-error-chain" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0jnybrpiq5jzx69xq74cwxply36js02z14y9sym8sf2iwsnsk71w")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-quote" ,rust-quote-0.3) + ("rust-syn" ,rust-syn-0.14)))) + (home-page "https://github.com/Arnavion/derive-error-chain") + (synopsis "Macros 1.1 implementation of error-chain") + (description "This package provides a Macros 1.1 implementation of +error-chain.") + (license (list license:expat license:asl2.0)))) + (define-public rust-derive-more-0.99 (package (name "rust-derive-more") @@ -5374,6 +6340,126 @@ traits for both structs and enums.") structs and enums.") (license license:expat))) +(define-public rust-dialoguer-0.6 + (package + (name "rust-dialoguer") + (version "0.6.2") + (source + (origin + (method url-fetch) + (uri (crate-uri "dialoguer" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0f31ahy6myg2vz9xrdmp0vx0m7x427a1wxpgrgwhxd0rgfpqdapl")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-console" ,rust-console-0.11) + ("rust-lazy-static" ,rust-lazy-static-1) + ("rust-tempfile" ,rust-tempfile-3)))) + (home-page "https://github.com/mitsuhiko/dialoguer") + (synopsis "Library for command line prompts") + (description + "This package provides a library for command line prompts and the like.") + (license license:expat))) + +(define-public rust-dialoguer-0.3 + (package + (inherit rust-dialoguer-0.6) + (name "rust-dialoguer") + (version "0.3.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "dialoguer" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1a9gqvqp83gg4jbm286q5ab3l44zyyzlsdaiqmw8x4k80fdc5l8s")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-test-flags '("--lib") + #:cargo-inputs + (("rust-console" ,rust-console-0.11) + ("rust-lazy-static" ,rust-lazy-static-1) + ("rust-tempfile" ,rust-tempfile-2)))))) + +(define-public rust-diesel-1 + (package + (name "rust-diesel") + (version "1.4.5") + (source + (origin + (method url-fetch) + (uri (crate-uri "diesel" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "134dy6gdbv30q388gsp5777w2qh63hdqsim1j8s1aylpmggfjb9y")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-bigdecimal" ,rust-bigdecimal-0.2) + ("rust-bitflags" ,rust-bitflags-1) + ("rust-byteorder" ,rust-byteorder-1) + ("rust-chrono" ,rust-chrono-0.4) + ("rust-diesel-derives" ,rust-diesel-derives-1.4) + ("rust-ipnetwork" ,rust-ipnetwork-0.17) + ("rust-libc" ,rust-libc-0.2) + ("rust-libsqlite3-sys" ,rust-libsqlite3-sys-0.15) + ("rust-mysqlclient-sys" ,rust-mysqlclient-sys-0.2) + ("rust-num-bigint" ,rust-num-bigint-0.3) + ("rust-num-integer" ,rust-num-integer-0.1) + ("rust-num-traits" ,rust-num-traits-0.2) + ("rust-pq-sys" ,rust-pq-sys-0.4) + ("rust-quickcheck" ,rust-quickcheck-0.4) + ("rust-r2d2" ,rust-r2d2) + ("rust-serde-json" ,rust-serde-json-1) + ("rust-time" ,rust-time-0.1) + ("rust-url" ,rust-url-1) + ("rust-uuid" ,rust-uuid-0.7)) + #:cargo-development-inputs + (("rust-cfg-if" ,rust-cfg-if-0.1) + ("rust-dotenv" ,rust-dotenv-0.10) + ("rust-quickcheck" ,rust-quickcheck-0.4) + ("rust-tempdir" ,rust-tempdir-0.3)))) + (home-page "https://diesel.rs") + (synopsis "A safe, extensible ORM and Query Builder") + (description "This package provides a safe, extensible ORM and Query +Builder for PostgreSQL, SQLite, and MySQL.") + (license (list license:expat license:asl2.0)))) + +(define-public rust-diesel-derives-1.4 + (package + (name "rust-diesel-derives") + (version "1.4.1") + (source + (origin + (method url-fetch) + (uri (crate-uri "diesel_derives" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1lsq133fwk0zj8xvxhdxqgg0xs31zf3abnwdyshaf0ldca7hkxa5")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-proc-macro2" ,rust-proc-macro2-1) + ("rust-quote" ,rust-quote-1) + ("rust-syn" ,rust-syn-1)) + #:cargo-development-inputs + (("rust-cfg-if" ,rust-cfg-if-0.1) + ("rust-diesel" ,rust-diesel-1) + ("rust-dotenv" ,rust-dotenv-0.10)))) + (home-page "https://diesel.rs") + (synopsis "Crate internal to Diesel") + (description "You should not use this crate directly, it is internal to +Diesel.") + (license (list license:expat license:asl2.0)))) + (define-public rust-diff-0.1 (package (name "rust-diff") @@ -5400,7 +6486,7 @@ structs and enums.") "An LCS based slice and string diffing implementation.") (license (list license:expat license:asl2.0)))) -(define-public rust-difference-2.0 +(define-public rust-difference-2 (package (name "rust-difference") (version "2.0.0") @@ -5428,7 +6514,7 @@ structs and enums.") (license license:expat))) (define-public rust-difference-1 - (package/inherit rust-difference-2.0 + (package/inherit rust-difference-2 (name "rust-difference") (version "1.0.0") (source @@ -5489,6 +6575,28 @@ structs and enums.") (("rust-blobby" ,rust-blobby-0.1) ("rust-generic-array" ,rust-generic-array-0.13)))))) +(define-public rust-digest-0.6 + (package + (name "rust-digest") + (version "0.6.2") + (source + (origin + (method url-fetch) + (uri (crate-uri "digest" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "02mgf8z4hi96w9nl2zb5w3k6lqbhjgv5z8hhyv2b7x7kavqrpcp5")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-generic-array" ,rust-generic-array-0.8)))) + (home-page "https://github.com/RustCrypto/traits") + (synopsis "Traits for cryptographic hash functions") + (description "This package provides traits for cryptographic hash +functions.") + (license (list license:expat license:asl2.0)))) + (define-public rust-directories-3 (package (name "rust-directories") @@ -5875,19 +6983,62 @@ O(1)-in-practice, if not in theory, but obviously not as fast as a non-persistent vector.") (license (list license:asl2.0 license:expat)))) +(define-public rust-dotenv-0.15 + (package + (name "rust-dotenv") + (version "0.15.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "dotenv" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "13ysjx7n2bqxxqydvnnbdwgik7i8n6h5c1qhr9g11x6cxnnhpjbp")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-clap" ,rust-clap-2)) + #:cargo-development-inputs + (("rust-tempfile" ,rust-tempfile-3)))) + (home-page "https://github.com/dotenv-rs/dotenv") + (synopsis "@code{dotenv} implementation for Rust") + (description "This package provides a @code{dotenv} implementation for +Rust.") + (license license:expat))) + +(define-public rust-dotenv-0.10 + (package + (inherit rust-dotenv-0.15) + (name "rust-dotenv") + (version "0.10.1") + (source + (origin + (method url-fetch) + (uri (crate-uri "dotenv" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1ww0wfnilz4cy789fni06gckm45xsb9fplrih26l4qyi4jxy5w6n")))) + (arguments + `(#:cargo-inputs + (("rust-derive-error-chain" ,rust-derive-error-chain-0.10) + ("rust-error-chain" ,rust-error-chain-0.10) + ("rust-regex" ,rust-regex-0.2)))))) + (define-public rust-draw-state-0.8 (package (name "rust-draw-state") (version "0.8.0") (source - (origin - (method url-fetch) - (uri (crate-uri "draw_state" version)) - (file-name - (string-append name "-" version ".tar.gz")) - (sha256 - (base32 - "0lfng4fz9x7bwsmzv9r20ply10w0iid6vfcrhx292s6hw8vrbkrk")))) + (origin + (method url-fetch) + (uri (crate-uri "draw_state" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0lfng4fz9x7bwsmzv9r20ply10w0iid6vfcrhx292s6hw8vrbkrk")))) (build-system cargo-build-system) (arguments `(#:cargo-inputs @@ -6041,7 +7192,7 @@ floating-point primitives to an @code{io::Write}.") "Levenshtein edit distance between strings, a measure for similarity.") (license license:asl2.0))) -(define-public rust-either-1.5 +(define-public rust-either-1 (package (name "rust-either") (version "1.5.3") @@ -6378,6 +7529,31 @@ Standard.") "Streaming transcoding for encoding_rs.") (license (list license:asl2.0 license:expat)))) +(define-public rust-enum-as-inner-0.3 + (package + (name "rust-enum-as-inner") + (version "0.3.3") + (source + (origin + (method url-fetch) + (uri (crate-uri "enum-as-inner" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "15gmpgywijda93lkq7hf2y53h66sqkhzabzbxich288xm6b00pvw")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-heck" ,rust-heck-0.3) + ("rust-proc-macro2" ,rust-proc-macro2-1) + ("rust-quote" ,rust-quote-1) + ("rust-syn" ,rust-syn-1)))) + (home-page "https://github.com/bluejekyll/enum-as-inner") + (synopsis "Proc-macro for deriving inner field accessor functions on enums") + (description "This package provides a proc-macro for deriving inner field +accessor functions on enums.") + (license (list license:expat license:asl2.0)))) + (define-public rust-env-logger-0.7 (package (name "rust-env-logger") @@ -6584,7 +7760,7 @@ variables.") ("rust-proc-macro-error" ,rust-proc-macro-error-0.4) ("rust-proc-macro2" ,rust-proc-macro2-1) ("rust-syn" ,rust-syn-1) - ("rust-rustversion" ,rust-rustversion-1.0) + ("rust-rustversion" ,rust-rustversion-1) ("rust-quote" ,rust-quote-1)) #:cargo-development-inputs (("rust-skeptic" ,rust-skeptic-0.13)))) @@ -6916,7 +8092,7 @@ provides implementations for @code{HashMap} and @code{HashSet}.") (arguments `(#:cargo-inputs (("rust-chrono" ,rust-chrono-0.4) - ("rust-colored" ,rust-colored-1.9) + ("rust-colored" ,rust-colored-1) ("rust-libc" ,rust-libc-0.2) ("rust-log" ,rust-log-0.4) ("rust-reopen" ,rust-reopen-0.3) @@ -6952,7 +8128,7 @@ provides implementations for @code{HashMap} and @code{HashSet}.") ("rust-reopen" ,rust-reopen-0.3) ("rust-log" ,rust-log-0.4) ("rust-chrono" ,rust-chrono-0.4) - ("rust-colored" ,rust-colored-1.9) + ("rust-colored" ,rust-colored-1) ("rust-syslog" ,rust-syslog-3.3) ("rust-syslog" ,rust-syslog-4.0)) #:cargo-development-inputs @@ -7103,7 +8279,7 @@ cross platform API.") ("rust-serde" ,rust-serde-1) ("rust-serde-derive" ,rust-serde-derive-1) ("rust-serde-json" ,rust-serde-json-1) - ("rust-thread-id" ,rust-thread-id-3.3)))) + ("rust-thread-id" ,rust-thread-id-3)))) (home-page "https://github.com/llogiq/flame") (synopsis "Profiling and flamegraph library") (description "A profiling and flamegraph library.") @@ -7135,7 +8311,7 @@ cross platform API.") "A procedural macro to insert @code{flame::start_guard(_)} calls.") (license license:asl2.0))) -(define-public rust-flate2-1.0 +(define-public rust-flate2-1 (package (name "rust-flate2") (version "1.0.14") @@ -7155,7 +8331,7 @@ cross platform API.") (("rust-cfg-if" ,rust-cfg-if-0.1) ("rust-cloudflare-zlib-sys" ,rust-cloudflare-zlib-sys-0.2) - ("rust-crc32fast" ,rust-crc32fast-1.2) + ("rust-crc32fast" ,rust-crc32fast-1) ("rust-futures" ,rust-futures-0.1) ("rust-libc" ,rust-libc-0.2) ("rust-libz-sys" ,rust-libz-sys-1) @@ -7270,6 +8446,55 @@ streams.") "This package provides a total ordering for floating-point numbers.") (license (list license:asl2.0 license:expat)))) +(define-public rust-fluid-0.4 + (package + (name "rust-fluid") + (version "0.4.1") + (source + (origin + (method url-fetch) + (uri (crate-uri "fluid" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "04qgdc4lx934158icx9rvs0v6lyvirmb0brllvz38hj9fsaqfbsp")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-colored" ,rust-colored-1) + ("rust-fluid-attributes" ,rust-fluid-attributes-0.4) + ("rust-num-traits" ,rust-num-traits-0.2)))) + (home-page "https://crates.io/crates/fluid") + (synopsis "Human readable test library") + (description "This package provides a human readable test library.") + (license license:asl2.0))) + +(define-public rust-fluid-attributes-0.4 + (package + (name "rust-fluid-attributes") + (version "0.4.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "fluid_attributes" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1i67vcas0gr64bc8spprlfp7m7msv1jyspghgq1q8f0qrnvy8px8")))) + (build-system cargo-build-system) + (arguments + `(#:tests? #f + #:cargo-inputs + (("rust-proc-macro2" ,rust-proc-macro2-0.4) + ("rust-quote" ,rust-quote-0.6) + ("rust-syn" ,rust-syn-0.15) + ("rust-uuid" ,rust-uuid-0.7)))) + (home-page "https://gitlab.com/Boiethios/fluid-rs/wikis") + (synopsis "Proc macro attributes for the fluid crate") + (description "This package provides proc macro attributes for the fluid +crate.") + (license license:asl2.0))) + (define-public rust-fnv-1 (package (name "rust-fnv") @@ -7322,7 +8547,7 @@ implementation that is more efficient for smaller hash keys.") ("rust-memmap" ,rust-memmap-0.7) ("rust-dwrote" ,rust-dwrote-0.9) ("rust-dirs" ,rust-dirs-1.0) - ("rust-byteorder" ,rust-byteorder-1.3) + ("rust-byteorder" ,rust-byteorder-1) ("rust-lazy-static" ,rust-lazy-static-1) ("rust-core-text" ,rust-core-text-13) ("rust-walkdir" ,rust-walkdir-2)))) @@ -8225,6 +9450,34 @@ futures-rs library.") (description "Tools for working with tasks.") (license (list license:expat license:asl2.0)))) +(define-public rust-futures-test-0.3 + (package + (name "rust-futures-test") + (version "0.3.5") + (source + (origin + (method url-fetch) + (uri (crate-uri "futures-test" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0v9r2mmgdbm0x4gppd5jzf4rss7439ivkqwi604m0r2il3zap6ci")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-futures-core" ,rust-futures-core-0.3) + ("rust-futures-executor" ,rust-futures-executor-0.3) + ("rust-futures-io" ,rust-futures-io-0.3) + ("rust-futures-task" ,rust-futures-task-0.3) + ("rust-futures-util" ,rust-futures-util-0.3) + ("rust-once-cell" ,rust-once-cell-1) + ("rust-pin-utils" ,rust-pin-utils-0.1)))) + (home-page "https://rust-lang.github.io/futures-rs") + (synopsis "Test components built off futures-rs") + (description "This package provides common utilities for testing +components built off futures-rs.") + (license (list license:expat license:asl2.0)))) + (define-public rust-futures-timer-0.1 (package (name "rust-futures-timer") @@ -8333,12 +9586,11 @@ library.") "037mb9ichariqi45xm6mz0b11pa92gj38ba0409z3iz239sns6y3")))) (build-system cargo-build-system) (arguments - `(#:skip-build? #t - #:cargo-inputs - (("rust-byteorder" ,rust-byteorder-1.3)) + `(#:cargo-inputs + (("rust-byteorder" ,rust-byteorder-1)) #:cargo-development-inputs (("rust-fnv" ,rust-fnv-1) - ("rust-seahash" ,rust-seahash-3.0)))) + ("rust-seahash" ,rust-seahash-3)))) (home-page "https://github.com/cbreeden/fxhash") (synopsis "Hashing algorithm from hasher used in FireFox and Rustc") (description @@ -8491,6 +9743,27 @@ API library @code{gdi32}.") (base32 "1v5jg7djicq34nbiv1dwaki71gkny002wyy9qfn3y0hfmrs053y6")))))) +(define-public rust-generic-array-0.8 + (package + (inherit rust-generic-array-0.12) + (name "rust-generic-array") + (version "0.8.3") + (source + (origin + (method url-fetch) + (uri (crate-uri "generic-array" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1wi6rlx3dmrvl26yxm4z5n68kyj2ikk4nllk1kazw2ik9scnkszw")))) + (arguments + `(#:cargo-inputs + (("rust-nodrop" ,rust-nodrop-0.1) + ("rust-serde" ,rust-serde-1) + ("rust-typenum" ,rust-typenum-1)) + #:cargo-development-inputs + (("rust-serde-json" ,rust-serde-json-1)))))) + (define-public rust-genmesh-0.6 (package (name "rust-genmesh") @@ -8529,10 +9802,9 @@ API library @code{gdi32}.") "1mgb3qvivi26gs6ihqqhh8iyhp3vgxri6vwyrwg28w0xqzavznql")))) (build-system cargo-build-system) (arguments - `(#:skip-build? #t - #:cargo-inputs + `(#:cargo-inputs (("rust-unicode-width" ,rust-unicode-width-0.1) - ("rust-rustc-std-workspace-core" ,rust-rustc-std-workspace-core-1.0) + ("rust-rustc-std-workspace-core" ,rust-rustc-std-workspace-core-1) ("rust-rustc-std-workspace-std" ,rust-rustc-std-workspace-std-1.0)) #:cargo-development-inputs (("rust-log" ,rust-log-0.3)))) @@ -8566,7 +9838,7 @@ API library @code{gdi32}.") ("rust-log" ,rust-log-0.4) ("rust-stdweb" ,rust-stdweb-0.4) ("rust-wasi" ,rust-wasi-0.9) - ("rust-rustc-std-workspace-core" ,rust-rustc-std-workspace-core-1.0)))) + ("rust-rustc-std-workspace-core" ,rust-rustc-std-workspace-core-1)))) (home-page "https://github.com/rust-random/getrandom") (synopsis "Retrieve random data from system source") (description @@ -8697,6 +9969,32 @@ retrieving random data from system source.") @acronym{GFA, Graphical Fragment Assembly} format.") (license license:expat))) +(define-public rust-ghash-0.3 + (package + (name "rust-ghash") + (version "0.3.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "ghash" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0c957q9sk1q93pqqfvhcmflfm1zvbr14aznfpm25kqd6i437zqnn")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-polyval" ,rust-polyval-0.4) + ("rust-zeroize" ,rust-zeroize-1)) + #:cargo-development-inputs + (("rust-hex-literal" ,rust-hex-literal-0.1)))) + (home-page "https://github.com/RustCrypto/universal-hashes") + (synopsis "Universal hash over GF(2^128)") + (description "This package provides a universal hash over GF(2^128) useful +for constructing a Message Authentication Code (MAC), as in the AES-GCM +authenticated encryption cipher.") + (license (list license:expat license:asl2.0)))) + (define-public rust-gimli-0.20 (package (name "rust-gimli") @@ -8718,10 +10016,10 @@ retrieving random data from system source.") ,rust-fallible-iterator-0.2) ("rust-arrayvec" ,rust-arrayvec-0.5) ("rust-stable-deref-trait" - ,rust-stable-deref-trait-1.1) + ,rust-stable-deref-trait-1) ("rust-smallvec" ,rust-smallvec-1) ("rust-indexmap" ,rust-indexmap-1) - ("rust-byteorder" ,rust-byteorder-1.3)))) + ("rust-byteorder" ,rust-byteorder-1)))) (home-page "https://github.com/gimli-rs/gimli") (synopsis "Library for reading and writing the DWARF debugging format") (description @@ -8745,10 +10043,10 @@ retrieving random data from system source.") (arguments `(#:cargo-inputs (("rust-arrayvec" ,rust-arrayvec-0.4) - ("rust-byteorder" ,rust-byteorder-1.3) + ("rust-byteorder" ,rust-byteorder-1) ("rust-fallible-iterator" ,rust-fallible-iterator-0.2) ("rust-indexmap" ,rust-indexmap-1) - ("rust-stable-deref-trait" ,rust-stable-deref-trait-1.1)) + ("rust-stable-deref-trait" ,rust-stable-deref-trait-1)) #:cargo-development-inputs (("rust-crossbeam" ,rust-crossbeam-0.7) ("rust-getopts" ,rust-getopts-0.2) @@ -8788,13 +10086,13 @@ DWARF debugging format.") ("rust-log" ,rust-log-0.4) ("rust-openssl-probe" ,rust-openssl-probe-0.1) ("rust-openssl-sys" ,rust-openssl-sys-0.9) - ("rust-url" ,rust-url-2.1)) + ("rust-url" ,rust-url-2)) #:cargo-development-inputs (("rust-docopt" ,rust-docopt-1.1) ("rust-serde" ,rust-serde-1) ("rust-serde-derive" ,rust-serde-derive-1) ("rust-tempfile" ,rust-tempfile-3) - ("rust-thread-id" ,rust-thread-id-3.3) + ("rust-thread-id" ,rust-thread-id-3) ("rust-time" ,rust-time-0.1)))) (native-inputs `(("libgit2" ,libgit2) @@ -8832,13 +10130,13 @@ reading and writing git repositories.") ("rust-log" ,rust-log-0.4) ("rust-openssl-probe" ,rust-openssl-probe-0.1) ("rust-openssl-sys" ,rust-openssl-sys-0.9) - ("rust-url" ,rust-url-1.7)) + ("rust-url" ,rust-url-1)) #:cargo-development-inputs (("rust-docopt" ,rust-docopt-1.1) ("rust-serde" ,rust-serde-1) ("rust-serde-derive" ,rust-serde-derive-1) ("rust-tempdir" ,rust-tempdir-0.3) - ("rust-thread-id" ,rust-thread-id-3.3) + ("rust-thread-id" ,rust-thread-id-3) ("rust-time" ,rust-time-0.1)))))) (define-public rust-glium-0.25 @@ -8893,7 +10191,7 @@ OpenGL's old and error-prone API.") "0x25wfr7vg3mzxc9x05dcphvd3nwlcmbnxrvwcvrrdwplcrrk4cv")))) (build-system cargo-build-system) (arguments - `(#:skip-build? #t + `(#:tests? #f #:cargo-development-inputs (("rust-tempdir" ,rust-tempdir-0.3)))) (home-page "https://github.com/rust-lang-nursery/glob") @@ -8954,33 +10252,58 @@ the process of matching one or more glob patterns against a single candidate path simultaneously, and returning all of the globs that matched.") (license (list license:expat license:unlicense)))) -(define-public rust-globwalk-0.5 +(define-public rust-globwalk-0.8 (package (name "rust-globwalk") - (version "0.5.0") + (version "0.8.0") (source - (origin - (method url-fetch) - (uri (crate-uri "globwalk" version)) - (file-name - (string-append name "-" version ".tar.gz")) - (sha256 - (base32 - "09axyql26s09z60sgi3y3lkin9swy2b5km3b0v6mm84xhlljxyl9")))) + (origin + (method url-fetch) + (uri (crate-uri "globwalk" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0ihld70ngnri1qd8sd61099yfzcl6iqn17rfa102q1bl6ck710hp")))) (build-system cargo-build-system) (arguments `(#:cargo-inputs - (("rust-ignore" ,rust-ignore-0.4) + (("rust-bitflags" ,rust-bitflags-1) + ("rust-ignore" ,rust-ignore-0.4) ("rust-walkdir" ,rust-walkdir-2)) #:cargo-development-inputs - (("rust-docmatic" ,rust-docmatic-0.1) + (("rust-backtrace" ,rust-backtrace-0.3.35) + ("rust-docmatic" ,rust-docmatic-0.1) ("rust-tempdir" ,rust-tempdir-0.3)))) (home-page "https://github.com/gilnaa/globwalk") (synopsis "Glob-matched recursive file system walking") - (description - "Glob-matched recursive file system walking.") + (description "This package provides glob-matched recursive file system +walking. Based on both @code{rust-walkdir} and @code{rust-ignore}, this crate +inherits many goodies from both, such as limiting search depth and amount of +open file descriptors.") (license license:expat))) +(define-public rust-globwalk-0.5 + (package + (inherit rust-globwalk-0.8) + (name "rust-globwalk") + (version "0.5.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "globwalk" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "09axyql26s09z60sgi3y3lkin9swy2b5km3b0v6mm84xhlljxyl9")))) + (arguments + `(#:cargo-inputs + (("rust-ignore" ,rust-ignore-0.4) + ("rust-walkdir" ,rust-walkdir-2)) + #:cargo-development-inputs + (("rust-docmatic" ,rust-docmatic-0.1) + ("rust-tempdir" ,rust-tempdir-0.3)))))) + (define-public rust-goblin-0.2 (package (name "rust-goblin") @@ -9284,7 +10607,7 @@ standard printing of search results, similar to grep itself.") (build-system cargo-build-system) (arguments `(#:cargo-inputs - (("rust-crc32fast" ,rust-crc32fast-1.2)))) + (("rust-crc32fast" ,rust-crc32fast-1)))) (home-page "https://github.com/oyvindln/gzip-header") (synopsis "Decoding and encoding the header part of gzip files") (description @@ -9292,8 +10615,53 @@ standard printing of search results, similar to grep itself.") of gzip files based on the gzip header implementation in the @code{flate2} crate.") (license (list license:expat license:asl2.0)))) +(define-public rust-h2-0.2 + (package + (name "rust-h2") + (version "0.2.6") + (source + (origin + (method url-fetch) + (uri (crate-uri "h2" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0lvdrzn43iikl521dlrb7z96lsmy7l6nnm35ylf00q7dmq5rwgwr")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-bytes" ,rust-bytes-0.5) + ("rust-fnv" ,rust-fnv-1) + ("rust-futures-core" ,rust-futures-core-0.3) + ("rust-futures-sink" ,rust-futures-sink-0.3) + ("rust-futures-util" ,rust-futures-util-0.3) + ("rust-http" ,rust-http-0.2) + ("rust-indexmap" ,rust-indexmap-1) + ("rust-slab" ,rust-slab-0.4) + ("rust-tokio" ,rust-tokio-0.2) + ("rust-tokio-util" ,rust-tokio-util-0.3) + ("rust-tracing" ,rust-tracing-0.1)) + #:cargo-development-inputs + (("rust-env-logger" ,rust-env-logger-0.5) + ("rust-hex" ,rust-hex-0.2) + ("rust-quickcheck" ,rust-quickcheck-0.4) + ("rust-rand" ,rust-rand-0.3) + ("rust-rustls" ,rust-rustls-0.16) + ("rust-serde" ,rust-serde-1) + ("rust-serde-json" ,rust-serde-json-1) + ("rust-tokio" ,rust-tokio-0.2) + ("rust-tokio-rustls" ,rust-tokio-rustls-0.12) + ("rust-walkdir" ,rust-walkdir-1) + ("rust-webpki" ,rust-webpki-0.21) + ("rust-webpki-roots" ,rust-webpki-roots-0.17)))) + (home-page "https://github.com/hyperium/h2") + (synopsis "HTTP/2.0 client and server") + (description "This package provides an HTTP/2.0 client and server.") + (license license:expat))) + (define-public rust-h2-0.1 (package + (inherit rust-h2-0.2) (name "rust-h2") (version "0.1.26") (source @@ -9303,11 +10671,10 @@ of gzip files based on the gzip header implementation in the @code{flate2} crate (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 "0qn457y8xh03p7c7cpk76r22gqpyqxc58g5022j3iya7d0j4rcx5")))) - (build-system cargo-build-system) (arguments `(#:skip-build? #t ;; TODO missing indirect dependency #:cargo-inputs - (("rust-byteorder" ,rust-byteorder-1.3) + (("rust-byteorder" ,rust-byteorder-1) ("rust-bytes" ,rust-bytes-0.4) ("rust-fnv" ,rust-fnv-1) ("rust-futures" ,rust-futures-0.1) @@ -9329,11 +10696,7 @@ of gzip files based on the gzip header implementation in the @code{flate2} crate ("rust-tokio-rustls" ,rust-tokio-rustls-0.12) ("rust-walkdir" ,rust-walkdir-1) ("rust-webpki" ,rust-webpki-0.21) - ("rust-webpki-roots" ,rust-webpki-roots-0.17)))) - (home-page "https://github.com/hyperium/h2") - (synopsis "HTTP/2.0 client and server") - (description "This packages provides a HTTP/2.0 client and server.") - (license license:expat))) + ("rust-webpki-roots" ,rust-webpki-roots-0.17)))))) (define-public rust-half-1 (package @@ -9384,8 +10747,8 @@ IEEE 754-2008 binary16 type.") #:cargo-inputs (("rust-hashbrown" ,rust-hashbrown-0.5) ("rust-log" ,rust-log-0.4) - ("rust-pest" ,rust-pest-2.1) - ("rust-pest-derive" ,rust-pest-derive-2.1) + ("rust-pest" ,rust-pest-2) + ("rust-pest-derive" ,rust-pest-derive-2) ("rust-quick-error" ,rust-quick-error-1.2) ("rust-serde" ,rust-serde-1) ("rust-serde-json" ,rust-serde-json-1) @@ -9403,8 +10766,90 @@ IEEE 754-2008 binary16 type.") the template engine that renders the official Rust website") (license license:expat))) +(define-public rust-hash32-0.1 + (package + (name "rust-hash32") + (version "0.1.1") + (source + (origin + (method url-fetch) + (uri (crate-uri "hash32" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1k7lv7hsbzv14pz90cxay6v7avh6d6kcrra0rsc45b33dvw1l16l")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-byteorder" ,rust-byteorder-1)) + #:cargo-development-inputs + (("rust-hash32-derive" ,rust-hash32-derive-0.1)))) + (home-page "https://github.com/japaric/hash32") + (synopsis "32-bit hashing machinery") + (description "This package provides 32-bit hashing machinery.") + (license (list license:expat license:asl2.0)))) + +(define-public rust-hash32-derive-0.1 + (package + (name "rust-hash32-derive") + (version "0.1.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "hash32-derive" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "18lrlxycq45kaz0l688shxnhgh3ryjp3zn0n6vfcs5sa2nyyzh7b")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-proc-macro2" ,rust-proc-macro2-0.3) + ("rust-quote" ,rust-quote-0.5) + ("rust-syn" ,rust-syn-0.13)))) + (home-page "https://github.com/japaric/hash32") + (synopsis "Macros 1.1 implementation of @code{#[derive(Hash32)]}") + (description "This package provides a macros 1.1 implementation of +@code{#[derive(Hash32)]}.") + (license (list license:expat license:asl2.0)))) + +(define-public rust-hashbrown-0.8 + (package + (name "rust-hashbrown") + (version "0.8.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "hashbrown" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "09y86zmf59n6ys9yf2bvg9ckwwa1ijv2i3flkz45iqkwfmh7i6xb")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-ahash" ,rust-ahash-0.3) + ("rust-compiler-builtins" ,rust-compiler-builtins-0.1) + ("rust-rayon" ,rust-rayon-1) + ("rust-rustc-std-workspace-alloc" ,rust-rustc-std-workspace-alloc-1) + ("rust-rustc-std-workspace-core" ,rust-rustc-std-workspace-core-1) + ("rust-serde" ,rust-serde-1)) + #:cargo-development-inputs + (("rust-doc-comment" ,rust-doc-comment-0.3) + ("rust-lazy-static" ,rust-lazy-static-1) + ("rust-rand" ,rust-rand-0.7) + ("rust-rayon" ,rust-rayon-1) + ("rust-rustc-hash" ,rust-rustc-hash-1.0) + ("rust-serde-test" ,rust-serde-test-1)))) + (home-page "https://github.com/rust-lang/hashbrown") + (synopsis "Rust port of Google's SwissTable hash map") + (description "This package provides a Rust port of Google's SwissTable +hash map.") + (license (list license:asl2.0 license:expat)))) + (define-public rust-hashbrown-0.5 (package + (inherit rust-hashbrown-0.8) (name "rust-hashbrown") (version "0.5.0") (source @@ -9416,39 +10861,63 @@ the template engine that renders the official Rust website") (sha256 (base32 "0lr3gsicplw7czapsscmii87hgzpvxf5ch92v7pi95xsipxl3pp1")))) - (build-system cargo-build-system) (arguments `(#:skip-build? #t #:cargo-inputs (("rust-compiler-builtins" ,rust-compiler-builtins-0.1) ("rust-rayon" ,rust-rayon-1) - ("rust-rustc-std-workspace-alloc" ,rust-rustc-std-workspace-alloc-1.0) - ("rust-rustc-std-workspace-core" ,rust-rustc-std-workspace-core-1.0) + ("rust-rustc-std-workspace-alloc" ,rust-rustc-std-workspace-alloc-1) + ("rust-rustc-std-workspace-core" ,rust-rustc-std-workspace-core-1) ("rust-serde" ,rust-serde-1)) #:cargo-development-inputs (("rust-lazy-static" ,rust-lazy-static-1) ("rust-rand" ,rust-rand-0.5) ("rust-rayon" ,rust-rayon-1) - ("rust-rustc-hash" ,rust-rustc-hash-1.1) - ("rust-serde-test" ,rust-serde-test-1)))) - (home-page "https://github.com/rust-lang/hashbrown") - (synopsis "Rust port of Google's SwissTable hash map") - (description - "This package provides a Rust port of Google's SwissTable hash map.") - (license (list license:asl2.0 license:expat)))) + ("rust-rustc-hash" ,rust-rustc-hash-1) + ("rust-serde-test" ,rust-serde-test-1)))))) + +(define-public rust-heapless-0.5 + (package + (name "rust-heapless") + (version "0.5.5") + (source + (origin + (method url-fetch) + (uri (crate-uri "heapless" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1h1d6s1f9zn0rz2vkdn0b42kcnkmlpd90yhfyqqhpirv38ws5a3k")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-as-slice" ,rust-as-slice-0.1) + ("rust-generic-array" ,rust-generic-array-0.13) + ("rust-hash32" ,rust-hash32-0.1) + ("rust-serde" ,rust-serde-1) + ("rust-stable-deref-trait" ,rust-stable-deref-trait-1) + ("rust-ufmt-write" ,rust-ufmt-write-0.1)) + #:cargo-development-inputs + (("rust-scoped-threadpool" ,rust-scoped-threadpool-0.1) + ("rust-ufmt" ,rust-ufmt-0.1)))) + (home-page "https://github.com/japaric/heapless") + (synopsis "@code{statice} friendly data structures") + (description "This package provides @code{static} friendly data structures +that don't require dynamic memory allocation.") + (license (list license:expat license:asl2.0)))) (define-public rust-heapsize-0.4 (package (name "rust-heapsize") (version "0.4.2") (source - (origin - (method url-fetch) - (uri (crate-uri "heapsize" version)) - (file-name (string-append name "-" version ".crate")) - (sha256 - (base32 - "0q94q9ppqjgrw71swiyia4hgby2cz6dldp7ij57nkvhd6zmfcy8n")))) + (origin + (method url-fetch) + (uri (crate-uri "heapsize" version)) + (file-name (string-append name "-" version ".crate")) + (sha256 + (base32 + "0q94q9ppqjgrw71swiyia4hgby2cz6dldp7ij57nkvhd6zmfcy8n")))) (build-system cargo-build-system) (arguments `(#:skip-build? #t @@ -9547,7 +11016,7 @@ consistent, and reasonably well performing.") #:cargo-inputs (("rust-compiler-builtins" ,rust-compiler-builtins-0.1) ("rust-libc" ,rust-libc-0.2) - ("rust-rustc-std-workspace-core" ,rust-rustc-std-workspace-core-1.0)))) + ("rust-rustc-std-workspace-core" ,rust-rustc-std-workspace-core-1)))) (home-page "https://github.com/hermitcore/rusty-hermit") (synopsis "Small interface to call functions from RustyHermit") (description @@ -9690,6 +11159,35 @@ compile time.") `(#:cargo-inputs (("rust-proc-macro-hack" ,rust-proc-macro-hack-0.4)))))) +(define-public rust-hkdf-0.9 + (package + (name "rust-hkdf") + (version "0.9.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "hkdf" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1jdvmf8aadk3s0kn9kk3dj00nprjk9glks5f8dm55r43af34j4gy")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-digest" ,rust-digest-0.9) + ("rust-hmac" ,rust-hmac-0.8)) + #:cargo-development-inputs + (("rust-bencher" ,rust-bencher-0.1) + ("rust-crypto-tests" ,rust-crypto-tests-0.5) + ("rust-hex" ,rust-hex-0.4) + ("rust-sha-1" ,rust-sha-1-0.9) + ("rust-sha2" ,rust-sha2-0.9)))) + (home-page "https://github.com/RustCrypto/KDFs/") + (synopsis "HMAC-based Extract-and-Expand Key Derivation Function (HKDF)") + (description "This package provides a HMAC-based Extract-and-Expand Key +Derivation Function (HKDF).") + (license (list license:expat license:asl2.0)))) + (define-public rust-hmac-0.8 (package (name "rust-hmac") @@ -9867,7 +11365,7 @@ Hash-based Message Authentication Code}.") ("rust-indexmap" ,rust-indexmap-1) ("rust-quickcheck" ,rust-quickcheck-0.9) ("rust-rand" ,rust-rand-0.7) - ("rust-seahash" ,rust-seahash-3.0) + ("rust-seahash" ,rust-seahash-3) ("rust-serde" ,rust-serde-1) ("rust-serde-json" ,rust-serde-json-1)))) (home-page "https://github.com/hyperium/http") @@ -9898,7 +11396,7 @@ requests and responses.") (("rust-indexmap" ,rust-indexmap-1) ("rust-quickcheck" ,rust-quickcheck-0.6) ("rust-rand" ,rust-rand-0.4) - ("rust-seahash" ,rust-seahash-3.0) + ("rust-seahash" ,rust-seahash-3) ("rust-serde" ,rust-serde-1) ("rust-serde-json" ,rust-serde-json-1)))))) @@ -9970,7 +11468,7 @@ or response body.") "Simple and lightweight HTTP client with built-in HTTPS support.") (license license:expat))) -(define-public rust-httparse-1.3 +(define-public rust-httparse-1 (package (name "rust-httparse") (version "1.3.3") @@ -9994,6 +11492,25 @@ or response body.") "This package provides a tiny, safe, speedy, zero-copy HTTP/1.x parser.") (license (list license:asl2.0 license:expat)))) +(define-public rust-humansize-1 + (package + (name "rust-humansize") + (version "1.1.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "humansize" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0piadmwjah1jv6q288im4za9szlgalzjyq2811w35i6gg9ib5jmn")))) + (build-system cargo-build-system) + (home-page "https://github.com/LeopoldArkham/humansize") + (synopsis "Represent file sizes in a human-readable format") + (description "This package provides a configurable crate to easily +represent file sizes in a human-readable format.") + (license (list license:expat license:asl2.0)))) + (define-public rust-humantime-2 (package (name "rust-humantime") @@ -10044,8 +11561,59 @@ SystemTime}}.") ("rust-rand" ,rust-rand-0.4) ("rust-time" ,rust-time-0.1)))))) +(define-public rust-hyper-0.13 + (package + (name "rust-hyper") + (version "0.13.7") + (source + (origin + (method url-fetch) + (uri (crate-uri "hyper" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1symcnba2y03b8lj6xp2wd994lk3xyk3wizacjg5s60njzfshs1y")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-bytes" ,rust-bytes-0.5) + ("rust-futures-channel" ,rust-futures-channel-0.3) + ("rust-futures-core" ,rust-futures-core-0.3) + ("rust-futures-util" ,rust-futures-util-0.3) + ("rust-h2" ,rust-h2-0.2) + ("rust-http" ,rust-http-0.2) + ("rust-http-body" ,rust-http-body-0.3) + ("rust-httparse" ,rust-httparse-1) + ("rust-itoa" ,rust-itoa-0.4) + ("rust-pin-project" ,rust-pin-project-0.4) + ("rust-socket2" ,rust-socket2-0.3) + ("rust-time" ,rust-time-0.1) + ("rust-tokio" ,rust-tokio-0.2) + ("rust-tower-service" ,rust-tower-service-0.3) + ("rust-tracing" ,rust-tracing-0.1) + ("rust-want" ,rust-want-0.3)) + #:cargo-development-inputs + (("rust-futures-util" ,rust-futures-util-0.3) + ("rust-matches" ,rust-matches-0.1) + ("rust-num-cpus" ,rust-num-cpus-1) + ("rust-pretty-env-logger" ,rust-pretty-env-logger-0.4) + ("rust-serde" ,rust-serde-1) + ("rust-serde-derive" ,rust-serde-derive-1) + ("rust-serde-json" ,rust-serde-json-1) + ("rust-spmc" ,rust-spmc-0.3) + ("rust-tokio" ,rust-tokio-0.2) + ("rust-tokio-test" ,rust-tokio-test-0.2) + ("rust-tokio-util" ,rust-tokio-util-0.3) + ("rust-tower-util" ,rust-tower-util-0.3) + ("rust-url" ,rust-url-1)))) + (home-page "https://hyper.rs") + (synopsis "Fast and correct HTTP library.") + (description "This package provides a fast and correct HTTP library.") + (license license:expat))) + (define-public rust-hyper-0.12 (package + (inherit rust-hyper-0.13) (name "rust-hyper") (version "0.12.35") (source @@ -10055,7 +11623,6 @@ SystemTime}}.") (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 "1xnm8zi4bdjqhlnx3238kx8yjf29jjd1ww54apcql7wf8g8nxglx")))) - (build-system cargo-build-system) (arguments `(#:skip-build? #t ;; fails due to some missing example file #:cargo-inputs @@ -10065,7 +11632,7 @@ SystemTime}}.") ("rust-h2" ,rust-h2-0.1) ("rust-http" ,rust-http-0.1) ("rust-http-body" ,rust-http-body-0.1) - ("rust-httparse" ,rust-httparse-1.3) + ("rust-httparse" ,rust-httparse-1) ("rust-iovec" ,rust-iovec-0.1) ("rust-itoa" ,rust-itoa-0.4) ("rust-log" ,rust-log-0.4) @@ -10091,23 +11658,55 @@ SystemTime}}.") ("rust-spmc" ,rust-spmc-0.3) ("rust-tokio-fs" ,rust-tokio-fs-0.1) ("rust-tokio-mockstream" ,rust-tokio-mockstream-1) - ("rust-url" ,rust-url-1.7)))) - (home-page "https://hyper.rs") - (synopsis "Fast and correct HTTP library") - (description "This package provides a fast and correct HTTP library.") - (license license:expat)) ) + ("rust-url" ,rust-url-1)))))) -(define-public rust-hyper-tls-0.3 +(define-public rust-hyper-rustls-0.21 + (package + (name "rust-hyper-rustls") + (version "0.21.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "hyper-rustls" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1dmbj15fx6qyg26hji2jm7q9y383090jy3z9zjn5xs4f7v43qx1p")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-bytes" ,rust-bytes-0.5) + ("rust-ct-logs" ,rust-ct-logs-0.7) + ("rust-futures-util" ,rust-futures-util-0.3) + ("rust-hyper" ,rust-hyper-0.13) + ("rust-log" ,rust-log-0.4) + ("rust-rustls" ,rust-rustls-0.18) + ("rust-rustls-native-certs" ,rust-rustls-native-certs-0.4) + ("rust-tokio" ,rust-tokio-0.2) + ("rust-tokio-rustls" ,rust-tokio-rustls-0.14) + ("rust-webpki" ,rust-webpki-0.21) + ("rust-webpki-roots" ,rust-webpki-roots-0.20)) + #:cargo-development-inputs + (("rust-tokio" ,rust-tokio-0.2)))) + (home-page "https://github.com/ctz/hyper-rustls") + (synopsis "Rustls+hyper integration for pure rust HTTPS") + (description "This package provides Rustls+hyper integration for pure rust +HTTPS.") + (license + (list license:asl2.0 license:isc license:expat)))) + +(define-public rust-hyper-tls-0.4 (package (name "rust-hyper-tls") - (version "0.3.2") + (version "0.4.3") (source (origin (method url-fetch) (uri (crate-uri "hyper-tls" version)) (file-name (string-append name "-" version ".tar.gz")) (sha256 - (base32 "0kqp4sz8613j6nv375wfj3gh95ff4nb6a3rb1f2vbx0almm0v01s")))) + (base32 + "1vcfyz7dxavf4brns15afmj5fxz88lbn05rrpbfqsnybdp2sqyfr")))) (build-system cargo-build-system) (native-inputs `(("pkg-config" ,pkg-config))) @@ -10115,17 +11714,40 @@ SystemTime}}.") `(("openssl" ,openssl))) (arguments `(#:cargo-inputs + (("rust-bytes" ,rust-bytes-0.5) + ("rust-hyper" ,rust-hyper-0.13) + ("rust-native-tls" ,rust-native-tls-0.2) + ("rust-tokio" ,rust-tokio-0.2) + ("rust-tokio-tls" ,rust-tokio-tls-0.3)) + #:cargo-development-inputs + (("rust-tokio" ,rust-tokio-0.2)))) + (home-page "https://hyper.rs") + (synopsis "Default TLS implementation for use with hyper") + (description "This package provides the default TLS implementation for use +with hyper.") + (license (list license:expat license:asl2.0)))) + +(define-public rust-hyper-tls-0.3 + (package + (inherit rust-hyper-tls-0.4) + (name "rust-hyper-tls") + (version "0.3.2") + (source + (origin + (method url-fetch) + (uri (crate-uri "hyper-tls" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "0kqp4sz8613j6nv375wfj3gh95ff4nb6a3rb1f2vbx0almm0v01s")))) + (arguments + `(#:cargo-inputs (("rust-bytes" ,rust-bytes-0.4) ("rust-futures" ,rust-futures-0.1) ("rust-hyper" ,rust-hyper-0.12) ("rust-native-tls" ,rust-native-tls-0.2) ("rust-tokio-io" ,rust-tokio-io-0.1)) #:cargo-development-inputs - (("rust-tokio" ,rust-tokio-0.1)))) - (home-page "https://hyper.rs") - (synopsis "Default TLS implementation for use with hyper") - (description "Default TLS implementation for use with hyper") - (license (list license:expat license:asl2.0)))) + (("rust-tokio" ,rust-tokio-0.1)))))) (define-public rust-ident-case-1 (package @@ -10200,6 +11822,25 @@ SystemTime}}.") (("rust-rustc-serialize" ,rust-rustc-serialize-0.3) ("rust-rustc-test" ,rust-rustc-test-0.3)))))) +(define-public rust-if-chain-1 + (package + (name "rust-if-chain") + (version "1.0.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "if_chain" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0zgcn31bahnsmsjc0cgk0cy38p8sfjs79yvi6rjs5zz5b5xhqdn3")))) + (build-system cargo-build-system) + (home-page "https://github.com/lfairy/if_chain") + (synopsis "Macro for writing nested @code{if let} expressions") + (description "This package provides a macro for writing nested @code{if +let} expressions.") + (license (list license:expat license:asl2.0)))) + (define-public rust-ignore-0.4 (package (name "rust-ignore") @@ -10294,6 +11935,31 @@ or numerical index. A corresponding hash set type is also provided.") (description "This package provides DEFLATE decoding.") (license license:expat))) +(define-public rust-inflector-0.11 + (package + (name "rust-inflector") + (version "0.11.4") + (source + (origin + (method url-fetch) + (uri (crate-uri "Inflector" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1lqmcni21ifzyq41fhz6k1j2b23cmsx469s4g4sf01l78miqqhzy")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-lazy-static" ,rust-lazy-static-1) + ("rust-regex" ,rust-regex-1)))) + (home-page "https://github.com/whatisinternet/inflector") + (synopsis "String based inflections for Rust") + (description "This package adds String based inflections for Rust. Snake, +kebab, camel, sentence, class, title and table cases as well as ordinalize, +deordinalize, demodulize, foreign key, and pluralize/singularize are supported +as both traits and pure functions acting on String types.") + (license license:bsd-2))) + (define-public rust-inotify-0.7 (package (name "rust-inotify") @@ -10374,8 +12040,40 @@ in Rust.") "This package provides inotify bindings for the Rust programming language.") (license license:isc))) +(define-public rust-insta-0.16 + (package + (name "rust-insta") + (version "0.16.1") + (source + (origin + (method url-fetch) + (uri (crate-uri "insta" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1vhqlirp75nx8qalz87qk2wjs7mzwxww0n09n2ircgw1phd94zk1")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-backtrace" ,rust-backtrace-0.3) + ("rust-console" ,rust-console-0.11) + ("rust-difference" ,rust-difference-2) + ("rust-globwalk" ,rust-globwalk-0.8) + ("rust-lazy-static" ,rust-lazy-static-1) + ("rust-pest" ,rust-pest-2) + ("rust-pest-derive" ,rust-pest-derive-2) + ("rust-ron" ,rust-ron-0.5) + ("rust-serde" ,rust-serde-1) + ("rust-serde-json" ,rust-serde-json-1) + ("rust-serde-yaml" ,rust-serde-yaml-0.8)))) + (home-page "https://github.com/mitsuhiko/insta") + (synopsis "Snapshot testing library for Rust") + (description "This package provides a snapshot testing library for Rust.") + (license license:asl2.0))) + (define-public rust-insta-0.8 (package + (inherit rust-insta-0.16) (name "rust-insta") (version "0.8.1") (source @@ -10387,28 +12085,22 @@ in Rust.") (sha256 (base32 "17rvqw9xm61prncbqi3cplphr3l2dl85sljdpyr3fz2mqjgbdfwb")))) - (build-system cargo-build-system) (arguments `(#:skip-build? #t #:cargo-inputs (("rust-chrono" ,rust-chrono-0.4) ("rust-ci-info" ,rust-ci-info-0.3) ("rust-console" ,rust-console-0.7) - ("rust-difference" ,rust-difference-2.0) + ("rust-difference" ,rust-difference-2) ("rust-failure" ,rust-failure-0.1) ("rust-lazy-static" ,rust-lazy-static-1) - ("rust-pest" ,rust-pest-2.1) - ("rust-pest-derive" ,rust-pest-derive-2.1) + ("rust-pest" ,rust-pest-2) + ("rust-pest-derive" ,rust-pest-derive-2) ("rust-ron" ,rust-ron-0.4) ("rust-serde" ,rust-serde-1) ("rust-serde-json" ,rust-serde-json-1) ("rust-serde-yaml" ,rust-serde-yaml-0.8) - ("rust-uuid" ,rust-uuid-0.7)))) - (home-page "https://github.com/mitsuhiko/insta") - (synopsis "Snapshot testing library for Rust") - (description - "This package provides a snapshot testing library for Rust.") - (license license:asl2.0))) + ("rust-uuid" ,rust-uuid-0.7)))))) (define-public rust-instant-0.1 (package @@ -10537,7 +12229,114 @@ immutable interval tree.") (license (list license:asl2.0 license:expat)))) -(define-public rust-is-executable-0.1 +(define-public rust-ipconfig-0.2 + (package + (name "rust-ipconfig") + (version "0.2.2") + (source + (origin + (method url-fetch) + (uri (crate-uri "ipconfig" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1mzsagc6bk3i3fpggqlq8am5rxn4hgs297rsaya90w79xj5g3qpp")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-socket2" ,rust-socket2-0.3) + ("rust-widestring" ,rust-widestring-0.4) + ("rust-winapi" ,rust-winapi-0.3) + ("rust-winreg" ,rust-winreg-0.6)))) + (home-page "https://github.com/liranringel/ipconfig") + (synopsis "Get network adapters and configuration information for Windows") + (description "This package lets you get network adapters information and +network configuration for Windows.") + (license (list license:expat license:asl2.0)))) + +(define-public rust-is-macro-0.1 + (package + (name "rust-is-macro") + (version "0.1.8") + (source + (origin + (method url-fetch) + (uri (crate-uri "is-macro" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1vjh4sdpvx1kdf1znyk3b54gkyk7f8lsasc47ypkksp3r4ypz004")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-inflector" ,rust-inflector-0.11) + ("rust-pmutil" ,rust-pmutil-0.5) + ("rust-proc-macro2" ,rust-proc-macro2-1) + ("rust-quote" ,rust-quote-1) + ("rust-syn" ,rust-syn-1)))) + (home-page "https://github.com/kdy1/is-macro") + (synopsis "Create methods to use custom enum like Option/Result") + (description "This package lets you easily create methods to use a custom +enum like Option/Result.") + (license license:expat))) + +(define-public rust-ipnet-2 + (package + (name "rust-ipnet") + (version "2.3.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "ipnet" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0db147nh8jnxr23yxa7hwqn7dcjivdqi3aq4mgf2zgkqqqa2zgj7")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-serde" ,rust-serde-1)) + #:cargo-development-inputs + (("rust-serde-test" ,rust-serde-test-1)))) + (home-page "https://github.com/krisprice/ipnet") + (synopsis "Work with IPv4 and IPv6 network addresses") + (description "This package provides types and useful methods for working +with IPv4 and IPv6 network addresses, commonly called IP prefixes. The new +IpNet, Ipv4Net, and Ipv6Net types build on the existing IpAddr, Ipv4Addr, and +Ipv6Addr types already provided in Rust's standard library and align to their +design to stay consistent. The module also provides useful traits that extend +Ipv4Addr and Ipv6Addr with methods for Add, Sub, BitAnd, and BitOr operations. +The module only uses stable feature so it is guaranteed to compile using the +stable toolchain.") + (license (list license:expat license:asl2.0)))) + +(define-public rust-ipnetwork-0.17 + (package + (name "rust-ipnetwork") + (version "0.17.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "ipnetwork" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0sviri9ksb3cmhx3h0rcfy8pvpx7f0cx5ba1z87ydvf07amymhq2")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-serde" ,rust-serde-1)) + #:cargo-development-inputs + (("rust-criterion" ,rust-criterion-0.3) + ("rust-serde-derive" ,rust-serde-derive-1) + ("rust-serde-json" ,rust-serde-json-1)))) + (home-page "https://crates.io/crates/ipnetwork") + (synopsis "Work with IP CIDRs in Rust") + (description "This package provides a library to work with IP CIDRs in +Rust.") + (license (list license:expat license:asl2.0)))) + +(define-public rust-is-executable (package (name "rust-is-executable") (version "0.1.2") @@ -10610,7 +12409,7 @@ whether or not a given path points to an executable file.") (build-system cargo-build-system) (arguments `(#:cargo-inputs - (("rust-either" ,rust-either-1.5)) + (("rust-either" ,rust-either-1)) #:cargo-development-inputs (("rust-criterion" ,rust-criterion-0.3) ("rust-permutohedron" ,rust-permutohedron-0.2) @@ -10648,7 +12447,7 @@ whether or not a given path points to an executable file.") (arguments `(#:skip-build? #t #:cargo-inputs - (("rust-either" ,rust-either-1.5)) + (("rust-either" ,rust-either-1)) #:cargo-development-inputs (("rust-permutohedron" ,rust-permutohedron-0.2) ("rust-quickcheck" ,rust-quickcheck-0.7) @@ -10669,7 +12468,7 @@ whether or not a given path points to an executable file.") "03cpsj26xmyamcalclqzr1i700vwx8hnbgxbpjvs354f8mnr8iqd")))) (arguments `(#:cargo-inputs - (("rust-either" ,rust-either-1.5)) + (("rust-either" ,rust-either-1)) #:cargo-development-inputs (("rust-permutohedron" ,rust-permutohedron-0.2) ("rust-quickcheck" ,rust-quickcheck-0.5)))))) @@ -10690,7 +12489,7 @@ whether or not a given path points to an executable file.") (arguments `(#:tests? #f ; Tests fail to compile #:cargo-inputs - (("rust-either" ,rust-either-1.5)) + (("rust-either" ,rust-either-1)) #:cargo-development-inputs (("rust-permutohedron" ,rust-permutohedron-0.2) ("rust-quickcheck" ,rust-quickcheck-0.4)))))) @@ -11272,7 +13071,7 @@ requires non-const function calls to be computed.") "05vl1h4b0iv800grsdyc3fg2bq29p70wjav6zpjvxxd5i8d6s66g")))) (arguments '()))) -(define-public rust-lazycell-1.2 +(define-public rust-lazycell-1 (package (name "rust-lazycell") (version "1.2.1") @@ -11372,7 +13171,7 @@ requires non-const function calls to be computed.") (build-system cargo-build-system) (arguments `(#:cargo-inputs - (("rust-rustc-std-workspace-core" ,rust-rustc-std-workspace-core-1.0)))) + (("rust-rustc-std-workspace-core" ,rust-rustc-std-workspace-core-1)))) (home-page "https://github.com/rust-lang/libc") (synopsis "Raw FFI bindings to platform libraries like libc") (description @@ -11407,21 +13206,92 @@ values of all the exported APIs match the platform that libc is compiled for.") macros on libc without stdlib.") (license (list license:asl2.0 license:expat)))) +(define-public rust-libflate-1 + (package + (name "rust-libflate") + (version "1.0.2") + (source + (origin + (method url-fetch) + (uri (crate-uri "libflate" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0jarv5ildsm0ci4prd4gz7fqypifhp9xk34z9w49rchx7q1ckfp9")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-adler32" ,rust-adler32-1) + ("rust-crc32fast" ,rust-crc32fast-1) + ("rust-libflate-lz77" ,rust-libflate-lz77-1) + ("rust-rle-decode-fast" ,rust-rle-decode-fast-1)) + #:cargo-development-inputs + (("rust-clap" ,rust-clap-2)))) + (home-page "https://github.com/sile/libflate") + (synopsis "DEFLATE algorithm and related formats (ZLIB, GZIP)") + (description "This package provides a Rust implementation of DEFLATE +algorithm and related formats (ZLIB, GZIP).") + (license license:expat))) + +(define-public rust-libflate-0.1 + (package + (inherit rust-libflate-1) + (name "rust-libflate") + (version "0.1.27") + (source + (origin + (method url-fetch) + (uri (crate-uri "libflate" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1p8z839c5lpl0g01mf8iglys9lgcjxw6xjw56crhwp8z7gs5s4yr")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-adler32" ,rust-adler32-1) + ("rust-crc32fast" ,rust-crc32fast-1) + ("rust-rle-decode-fast" ,rust-rle-decode-fast-1) + ("rust-take-mut" ,rust-take-mut-0.2)) + #:cargo-development-inputs + (("rust-clap" ,rust-clap-2)))))) + +(define-public rust-libflate-lz77-1 + (package + (name "rust-libflate-lz77") + (version "1.0.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "libflate_lz77" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "06xir79gmp97mdnlnjclk5zlzgkf5s6qvwilcd4gq9j9gngz11ij")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-development-inputs + (("rust-libflate" ,rust-libflate-0.1)))) + (home-page "https://github.com/sile/libflate") + (synopsis "LZ77 encoder for libflate crate") + (description "This package provides a LZ77 encoder for libflate crate.") + (license license:expat))) + (define-public rust-libgit2-sys-0.10 (package (name "rust-libgit2-sys") (version "0.10.0") (source - (origin - (method url-fetch) - (uri (crate-uri "libgit2-sys" version)) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 - "0l9fvki7qxsl97vgzqwlv75nl213a5vxw7b1jaik97ala356pv6r")) - (modules '((guix build utils))) - (snippet - '(begin (delete-file-recursively "libgit2") #t)))) + (origin + (method url-fetch) + (uri (crate-uri "libgit2-sys" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0l9fvki7qxsl97vgzqwlv75nl213a5vxw7b1jaik97ala356pv6r")) + (modules '((guix build utils))) + (snippet + '(begin (delete-file-recursively "libgit2") #t)))) (build-system cargo-build-system) (arguments `(#:cargo-inputs @@ -11494,6 +13364,39 @@ macros on libc without stdlib.") ("rust-cc" ,rust-cc-1) ("rust-pkg-config" ,rust-pkg-config-0.3)))))) +(define-public rust-libloading-0.6 + (package + (name "rust-libloading") + (version "0.6.3") + (source + (origin + (method url-fetch) + (uri (crate-uri "libloading" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1ygliqa518jjxwa5ih4b2f8m984ib596vxmjb28pa5lb8zqdhhr4")) + (modules '((guix build utils))) + (snippet + '(begin + ;; Enable unstable features + (substitute* "src/lib.rs" + (("//! A memory" all) + (string-append "#![feature(non_exhaustive)]\n" all))))))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-cfg-if" ,rust-cfg-if-0.1) + ("rust-winapi" ,rust-winapi-0.3)) + #:cargo-development-inputs + (("rust-libc" ,rust-libc-0.2) + ("rust-static-assertions" ,rust-static-assertions-1)))) + (home-page "https://github.com/nagisa/rust_libloading/") + (synopsis "Safer binding to dynamic library loading utilities") + (description "This package provides a safer binding to dynamic library +loading utilities.") + (license license:isc))) + (define-public rust-libloading-0.5 (package (name "rust-libloading") @@ -11583,6 +13486,31 @@ functions and static variables these libraries contain.") (base32 "16pc0gx4gkg0q2s1ssq8268brn14j8344623vwhadmivc4lsmivz")))))) +(define-public rust-libmimalloc-sys-0.1 + (package + (name "rust-libmimalloc-sys") + (version "0.1.18") + (source + (origin + (method url-fetch) + (uri (crate-uri "libmimalloc-sys" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0bbm03687j9fspvk6nqspmjlvchlvbxydl0mrc1x9i1k6kqiy5c2")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-cty" ,rust-cty-0.2) + ("rust-cmake" ,rust-cmake-0.1)))) + (native-inputs + `(("cmake" ,cmake-minimal))) + (home-page "https://github.com/purpleprotocol/mimalloc_rust") + (synopsis "Sys crate wrapping the mimalloc allocator") + (description "This package provides a sys crate wrapping the mimalloc +allocator.") + (license license:expat))) + (define-public rust-libnghttp2-sys-0.1 (package (name "rust-libnghttp2-sys") @@ -11897,32 +13825,45 @@ by inspecting the system for user preference.") ("rust-regex" ,rust-regex-1) ("rust-winapi" ,rust-winapi-0.3)))))) -(define-public rust-lock-api-0.3 +(define-public rust-lock-api-0.4 (package (name "rust-lock-api") - (version "0.3.4") + (version "0.4.1") (source (origin (method url-fetch) (uri (crate-uri "lock_api" version)) - (file-name - (string-append name "-" version ".tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "0xgc5dzmajh0akbh5d6d7rj9mh5rzpk74pyrc946v2ixgakj9nn4")))) + "0716z2rs0kydmd1818kqp4641dfkqzr0rpbnrpxhabxylp2pq918")))) (build-system cargo-build-system) (arguments `(#:cargo-inputs (("rust-owning-ref" ,rust-owning-ref-0.4) - ("rust-scopeguard" ,rust-scopeguard-1.0) + ("rust-scopeguard" ,rust-scopeguard-1) ("rust-serde" ,rust-serde-1)))) (home-page "https://github.com/Amanieu/parking_lot") - (synopsis - "Wrappers to create fully-featured Mutex and RwLock types") - (description - "This package provides wrappers to create fully-featured @code{Mutex} and -@code{RwLock} types. It is compatible with @code{no_std}.") - (license (list license:expat license:asl2.0)))) + (synopsis "Wrappers to create fully-featured Mutex and RwLock types") + (description "This package provides wrappers to create fully-featured +@code{Mutex} and @code{RwLock} types. It is compatible with @code{no_std}.") + (license (list license:asl2.0 license:expat)))) + +(define-public rust-lock-api-0.3 + (package + (inherit rust-lock-api-0.4) + (name "rust-lock-api") + (version "0.3.4") + (source + (origin + (method url-fetch) + (uri (crate-uri "lock_api" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0xgc5dzmajh0akbh5d6d7rj9mh5rzpk74pyrc946v2ixgakj9nn4")))) + (build-system cargo-build-system))) (define-public rust-lock-api-0.2 (package @@ -12090,7 +14031,7 @@ by inspecting the system for user preference.") (("rust-chrono" ,rust-chrono-0.4) ("rust-dtoa" ,rust-dtoa-0.4) ("rust-encoding" ,rust-encoding-0.2) - ("rust-flate2" ,rust-flate2-1.0) + ("rust-flate2" ,rust-flate2-1) ("rust-image" ,rust-image-0.20) ("rust-itoa" ,rust-itoa-0.4) ("rust-linked-hash-map" ,rust-linked-hash-map-0.4) @@ -12629,10 +14570,10 @@ compression function.") (build-system cargo-build-system) (arguments `(#:cargo-inputs - (("rust-byteorder" ,rust-byteorder-1.3) + (("rust-byteorder" ,rust-byteorder-1) ("rust-memmap" ,rust-memmap-0.7) ("rust-parking-lot" ,rust-parking-lot-0.9) - ("rust-rustc-hash" ,rust-rustc-hash-1.1)))) + ("rust-rustc-hash" ,rust-rustc-hash-1)))) (home-page "https://github.com/rust-lang/measureme") (synopsis "Support crate for rustc's self-profiling feature") (description @@ -12893,6 +14834,28 @@ for Rust structs.") (description "Rust bindings for Metal.") (license (list license:expat license:asl2.0)))) +(define-public rust-mimalloc-0.1 + (package + (name "rust-mimalloc") + (version "0.1.20") + (source + (origin + (method url-fetch) + (uri (crate-uri "mimalloc" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0x74b6jv6pxfl6bh44bnch6ajm3l5z3zq8w8mqlscbq8d77rnx80")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-libmimalloc-sys" ,rust-libmimalloc-sys-0.1)))) + (home-page "https://crates.io/crates/mimalloc") + (synopsis "Performance and security oriented drop-in allocator") + (description "This package provides a performance and security oriented +drop-in allocator.") + (license license:expat))) + (define-public rust-mime-0.3 (package (name "rust-mime") @@ -12914,6 +14877,32 @@ for Rust structs.") (license (list license:asl2.0 license:expat)))) +(define-public rust-mime-guess-2 + (package + (name "rust-mime-guess") + (version "2.0.3") + (source + (origin + (method url-fetch) + (uri (crate-uri "mime_guess" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "04pjpbl90z4yn0cmifvwgf4mqznciw6b095k626q96bxx71d9116")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-mime" ,rust-mime-0.3) + ("rust-unicase" ,rust-unicase-2)) + #:cargo-development-inputs + (("rust-criterion" ,rust-criterion-0.3) + ("rust-unicase" ,rust-unicase-2)))) + (home-page "https://github.com/abonander/mime_guess") + (synopsis "Detect a file's MIME type by its extension") + (description "This package provides a simple crate for detection of a +file's MIME type by its extension.") + (license license:expat))) + (define-public rust-miniz-oxide-0.3 (package (name "rust-miniz-oxide") @@ -12970,7 +14959,7 @@ streaming API for miniz_oxide.") (arguments `(#:skip-build? #t #:cargo-inputs - (("rust-crc32fast" ,rust-crc32fast-1.2) + (("rust-crc32fast" ,rust-crc32fast-1) ("rust-libc" ,rust-libc-0.2) ("rust-miniz-oxide" ,rust-miniz-oxide-0.2)) #:cargo-development-inputs @@ -13107,7 +15096,7 @@ drop-in replacement for miniz.") (build-system cargo-build-system) (arguments `(#:cargo-inputs - (("rust-lazycell" ,rust-lazycell-1.2) + (("rust-lazycell" ,rust-lazycell-1) ("rust-log" ,rust-log-0.4) ("rust-mio" ,rust-mio-0.6) ("rust-slab" ,rust-slab-0.4)))) @@ -13299,6 +15288,31 @@ which defines a default trait implementation, and @code{trait_impl} which uses a default trait implementation you've defined.") (license license:lgpl2.1+))) +(define-public rust-mysqlclient-sys-0.2 + (package + (name "rust-mysqlclient-sys") + (version "0.2.4") + (source + (origin + (method url-fetch) + (uri (crate-uri "mysqlclient-sys" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "11ggkcbfnmp81amc9g0j98dk17fnmqcp9smgm9w401286kckg5ky")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-pkg-config" ,rust-pkg-config-0.3) + ("rust-vcpkg" ,rust-vcpkg-0.2)))) + (native-inputs + `(("mariadb" ,mariadb "lib"))) + (home-page "https://github.com/sgrif/mysqlclient-sys") + (synopsis "Auto-generated rust bindings for libmysqlclient") + (description "This package provides auto-generated rust bindings for +libmysqlclient.") + (license (list license:expat license:asl2.0)))) + (define-public rust-nasm-rs-0.1 (package (name "rust-nasm-rs") @@ -13347,8 +15361,8 @@ a default trait implementation you've defined.") ("rust-num-complex" ,rust-num-complex-0.2) ("rust-num-rational" ,rust-num-rational-0.2) ("rust-num-traits" ,rust-num-traits-0.2) - ("rust-pest" ,rust-pest-2.1) - ("rust-pest-derive" ,rust-pest-derive-2.1) + ("rust-pest" ,rust-pest-2) + ("rust-pest-derive" ,rust-pest-derive-2) ("rust-quickcheck" ,rust-quickcheck-0.9) ("rust-rand" ,rust-rand-0.7) ("rust-rand-distr" ,rust-rand-distr-0.2) @@ -13392,8 +15406,8 @@ statically-sized or dynamically-sized matrices.") ("rust-num-complex" ,rust-num-complex-0.2) ("rust-num-rational" ,rust-num-rational-0.2) ("rust-num-traits" ,rust-num-traits-0.2) - ("rust-pest" ,rust-pest-2.1) - ("rust-pest-derive" ,rust-pest-derive-2.1) + ("rust-pest" ,rust-pest-2) + ("rust-pest-derive" ,rust-pest-derive-2) ("rust-quickcheck" ,rust-quickcheck-0.9) ("rust-rand" ,rust-rand-0.7) ("rust-rand-distr" ,rust-rand-distr-0.2) @@ -13429,8 +15443,8 @@ statically-sized or dynamically-sized matrices.") ("rust-num-complex" ,rust-num-complex-0.2) ("rust-num-rational" ,rust-num-rational-0.2) ("rust-num-traits" ,rust-num-traits-0.2) - ("rust-pest" ,rust-pest-2.1) - ("rust-pest-derive" ,rust-pest-derive-2.1) + ("rust-pest" ,rust-pest-2) + ("rust-pest-derive" ,rust-pest-derive-2) ("rust-quickcheck" ,rust-quickcheck-0.8) ("rust-rand" ,rust-rand-0.6) ("rust-serde" ,rust-serde-1) @@ -13463,6 +15477,112 @@ statically-sized or dynamically-sized matrices.") IO of Windows's named pipes.") (license (list license:expat license:asl2.0)))) +(define-public rust-napi-0.5 + (package + (name "rust-napi") + (version "0.5.1") + (source + (origin + (method url-fetch) + (uri (crate-uri "napi" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0mp0di7zv1r9gn3r3pmqnyy6q94akd9d6bl1p7m76nm9hgj9rw56")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-encoding-rs" ,rust-encoding-rs-0.8) + ("rust-futures" ,rust-futures-0.3) + ("rust-napi-sys" ,rust-napi-sys-0.4) + ("rust-once-cell" ,rust-once-cell-1) + ("rust-serde" ,rust-serde-1) + ("rust-serde-json" ,rust-serde-json-1) + ("rust-tokio" ,rust-tokio-0.2)) + #:cargo-development-inputs + (("rust-napi-build" ,rust-napi-build-0.2)))) + (home-page "https://github.com/napi-rs/napi-rs") + (synopsis "N-API bindings") + (description "This package provides N-API bindings.") + (license license:expat))) + +(define-public rust-napi-build-0.2 + (package + (name "rust-napi-build") + (version "0.2.1") + (source + (origin + (method url-fetch) + (uri (crate-uri "napi-build" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1z02mlw1wa01fjpjnqns3f3vxacbg1jnk98hcg3pgwp5xy3zdyqq")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-cfg-if" ,rust-cfg-if-0.1) + ("rust-reqwest" ,rust-reqwest-0.10)))) + (home-page "https://github.com/napi-rs/napi-rs") + (synopsis "N-API build support") + (description "This package provides N-API build support.") + (license license:expat))) + +(define-public rust-napi-derive-0.5 + (package + (name "rust-napi-derive") + (version "0.5.1") + (source + (origin + (method url-fetch) + (uri (crate-uri "napi-derive" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0kkgpzw4i6f0zkg80v9vhr7y5rg25q3kv67029i1gcgsrxlqx4zi")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-proc-macro2" ,rust-proc-macro2-1) + ("rust-quote" ,rust-quote-1) + ("rust-syn" ,rust-syn-1)))) + (home-page "https://github.com/napi-rs/napi-rs") + (synopsis "N-API procedural macros") + (description "This package provides N-API procedural macros.") + (license license:expat))) + +(define-public rust-napi-sys-0.4 + (package + (name "rust-napi-sys") + (version "0.4.7") + (source + (origin + (method url-fetch) + (uri (crate-uri "napi-sys" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0cjirf6n4i2lw65iaww8d4hahv3cbfm5ka9hlansvnbfgzwadzq9")))) + (build-system cargo-build-system) + (inputs + `(("openssl" ,openssl))) + (native-inputs + `(("pkg-config" ,pkg-config))) + (arguments + `(#:cargo-inputs + (("rust-bindgen" ,rust-bindgen-0.55) + ("rust-semver" ,rust-semver-0.10) + ("rust-tar" ,rust-tar-0.4)) + #:cargo-development-inputs + (("rust-flate2" ,rust-flate2-1) + ("rust-glob" ,rust-glob-0.3) + ("rust-regex" ,rust-regex-1) + ("rust-reqwest" ,rust-reqwest-0.10)))) + (home-page "https://github.com/napi-rs/napi-rs") + (synopsis "NodeJS N-API raw binding") + (description "This package provides a NodeJS N-API raw binding.") + (license license:expat))) + (define-public rust-native-tls-0.2 (package (name "rust-native-tls") @@ -13581,7 +15701,7 @@ types as proposed in RFC 1158.") (("rust-getrandom" ,rust-getrandom-0.1) ("rust-libc" ,rust-libc-0.2) ("rust-nettle-sys" ,rust-nettle-sys-2) - ("rust-thiserror" ,rust-thiserror-1.0)) + ("rust-thiserror" ,rust-thiserror-1)) #:cargo-development-inputs (("rust-bindgen" ,rust-bindgen-0.51) ("rust-pkg-config" ,rust-pkg-config-0.3)) @@ -13988,6 +16108,82 @@ with all line endings.") "Cross-platform file system notification library.") (license license:cc0))) +(define-public rust-ntest-0.3 + (package + (name "rust-ntest") + (version "0.3.3") + (source + (origin + (method url-fetch) + (uri (crate-uri "ntest" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "04cljndihkcqqwj061bgpnxyv7wqbd3f91ag1b3ryrayn7rrclxv")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-ntest-test-cases" ,rust-ntest-test-cases-0.3) + ("rust-ntest-timeout" ,rust-ntest-timeout-0.3) + ("rust-timebomb" ,rust-timebomb-0.1)) + #:cargo-development-inputs + (("rust-ntest-test-cases" ,rust-ntest-test-cases-0.3) + ("rust-ntest-timeout" ,rust-ntest-timeout-0.3) + ("rust-timebomb" ,rust-timebomb-0.1)))) + (home-page "https://github.com/becheran/ntest") + (synopsis "Testing framework for Rust") + (description "This package provides a testing framework for Rust which +enhances the built-in library with some useful features.") + (license license:expat))) + +(define-public rust-ntest-test-cases-0.3 + (package + (name "rust-ntest-test-cases") + (version "0.3.4") + (source + (origin + (method url-fetch) + (uri (crate-uri "ntest_test_cases" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0b67m368599b2zgwx19psqz6n3m9m5532h1257x6vz1pym3gd2na")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-proc-macro2" ,rust-proc-macro2-1) + ("rust-quote" ,rust-quote-1) + ("rust-syn" ,rust-syn-1)))) + (home-page "https://github.com/becheran/ntest") + (synopsis "Test cases for ntest framework") + (description "This package provides test cases for ntest framework.") + (license license:expat))) + +(define-public rust-ntest-timeout-0.3 + (package + (name "rust-ntest-timeout") + (version "0.3.3") + (source + (origin + (method url-fetch) + (uri (crate-uri "ntest_timeout" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0klryn3rgjxnq3cv6j8bwcsr0b7zw3x216h63144v22aja18p0g0")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-proc-macro2" ,rust-proc-macro2-1) + ("rust-quote" ,rust-quote-1) + ("rust-syn" ,rust-syn-1) + ("rust-timebomb" ,rust-timebomb-0.1)))) + (home-page "https://github.com/becheran/ntest") + (synopsis "Timeout attribute for the ntest framework") + (description "This package provides a timeout attribute for the ntest +framework.") + (license license:expat))) + (define-public rust-num-0.3 (package (name "rust-num") @@ -14659,8 +16855,8 @@ Foundation framework.") ("rust-scroll" ,rust-scroll-0.10) ("rust-parity-wasm" ,rust-parity-wasm-0.41) ("rust-uuid" ,rust-uuid-0.8) - ("rust-flate2" ,rust-flate2-1.0) - ("rust-crc32fast" ,rust-crc32fast-1.2) + ("rust-flate2" ,rust-flate2-1) + ("rust-crc32fast" ,rust-crc32fast-1) ("rust-indexmap" ,rust-indexmap-1)))) (home-page "https://github.com/gimli-rs/object") (synopsis "Unified interface for reading and writing object file formats") @@ -14685,7 +16881,7 @@ writing object file formats.") (arguments `(#:skip-build? #t #:cargo-inputs - (("rust-flate2" ,rust-flate2-1.0) + (("rust-flate2" ,rust-flate2-1) ("rust-goblin" ,rust-goblin-0.0) ("rust-parity-wasm" ,rust-parity-wasm-0.40) ("rust-scroll" ,rust-scroll-0.9) @@ -14821,7 +17017,7 @@ You probably don't want to link to this crate directly; instead check out the (define-public rust-once-cell-1 (package (name "rust-once-cell") - (version "1.4.0") + (version "1.4.1") (source (origin (method url-fetch) @@ -14830,11 +17026,11 @@ You probably don't want to link to this crate directly; instead check out the (string-append name "-" version ".tar.gz")) (sha256 (base32 - "138n52yni5qym7ds8kxckvhdy4x0m0scy0gl74brmwsahmz1yqqb")))) + "1ba56vr8n85xgajnn78pg6iag4inwil3mqg90wi5jaz6xzkm23i6")))) (build-system cargo-build-system) (arguments `(#:cargo-inputs - (("rust-parking-lot" ,rust-parking-lot-0.10)) + (("rust-parking-lot" ,rust-parking-lot-0.11)) #:cargo-development-inputs (("rust-crossbeam-utils" ,rust-crossbeam-utils-0.7) ("rust-lazy-static" ,rust-lazy-static-1) @@ -15266,7 +17462,7 @@ under its new name.") (build-system cargo-build-system) (arguments `(#:cargo-inputs - (("rust-stable-deref-trait" ,rust-stable-deref-trait-1.1)))) + (("rust-stable-deref-trait" ,rust-stable-deref-trait-1)))) (home-page "https://github.com/Kimundi/owning-ref-rs") (synopsis "Create references that carry their owner with them") (description @@ -15460,6 +17656,33 @@ deserialization, and interpreter in Rust.") (license (list license:asl2.0 license:expat)))) +(define-public rust-parking-lot-0.11 + (package + (name "rust-parking-lot") + (version "0.11.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "parking_lot" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0cw73942xhxb7a49mp9gkjnlwc8acr30wpfs8zk758icz92ki2d4")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-instant" ,rust-instant-0.1) + ("rust-lock-api" ,rust-lock-api-0.4) + ("rust-parking-lot-core" ,rust-parking-lot-core-0.8)) + #:cargo-development-inputs + (("rust-bincode" ,rust-bincode-1) + ("rust-rand" ,rust-rand-0.7)))) + (home-page "https://github.com/Amanieu/parking_lot") + (synopsis "More compact and efficient implementations of the standard synchronization primitives") + (description "This package provides more compact and efficient +implementations of the standard synchronization primitives.") + (license (list license:asl2.0 license:expat)))) + (define-public rust-parking-lot-0.10 (package (name "rust-parking-lot") @@ -15468,8 +17691,7 @@ deserialization, and interpreter in Rust.") (origin (method url-fetch) (uri (crate-uri "parking_lot" version)) - (file-name - (string-append name "-" version ".tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 "0pjhcbyk6n0g6jsr6s9nf4x8wribm1b2yf8fgc8drbqa77mh99yk")))) @@ -15564,8 +17786,40 @@ synchronization primitives.") ("rust-rand" ,rust-rand-0.4) ("rust-rustc-version" ,rust-rustc-version-0.2)))))) +(define-public rust-parking-lot-core-0.8 + (package + (name "rust-parking-lot-core") + (version "0.8.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "parking_lot_core" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "16yazfg3sq9mz6cfdkhgbv8yvc1kkasyhys4y7r3g16hgmralqf3")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-backtrace" ,rust-backtrace-0.3) + ("rust-cfg-if" ,rust-cfg-if-0.1) + ("rust-cloudabi" ,rust-cloudabi-0.1) + ("rust-instant" ,rust-instant-0.1) + ("rust-libc" ,rust-libc-0.2) + ("rust-petgraph" ,rust-petgraph-0.5) + ("rust-redox-syscall" ,rust-redox-syscall-0.1) + ("rust-smallvec" ,rust-smallvec-1) + ("rust-thread-id" ,rust-thread-id-3) + ("rust-winapi" ,rust-winapi-0.3)))) + (home-page "https://github.com/Amanieu/parking_lot") + (synopsis "API for creating custom synchronization primitives") + (description "This package provides an advanced API for creating custom +synchronization primitives.") + (license (list license:asl2.0 license:expat)))) + (define-public rust-parking-lot-core-0.7 (package + (inherit rust-parking-lot-core-0.8) (name "rust-parking-lot-core") (version "0.7.2") (source @@ -15577,7 +17831,6 @@ synchronization primitives.") (sha256 (base32 "18s0cw5y32447c06fhg2mp3xfng22fn1h9fpx3il98sbimv7r36m")))) - (build-system cargo-build-system) (arguments `(#:cargo-inputs (("rust-backtrace" ,rust-backtrace-0.3) @@ -15587,13 +17840,8 @@ synchronization primitives.") ("rust-petgraph" ,rust-petgraph-0.5) ("rust-redox-syscall" ,rust-redox-syscall-0.1) ("rust-smallvec" ,rust-smallvec-1) - ("rust-thread-id" ,rust-thread-id-3.3) - ("rust-winapi" ,rust-winapi-0.3)))) - (home-page "https://github.com/Amanieu/parking_lot") - (synopsis "API for creating custom synchronization primitives") - (description - "An advanced API for creating custom synchronization primitives in Rust.") - (license (list license:asl2.0 license:expat)))) + ("rust-thread-id" ,rust-thread-id-3) + ("rust-winapi" ,rust-winapi-0.3)))))) (define-public rust-parking-lot-core-0.6 (package @@ -15620,7 +17868,7 @@ synchronization primitives.") ("rust-rand" ,rust-rand-0.4) ("rust-redox-syscall" ,rust-redox-syscall-0.1) ("rust-smallvec" ,rust-smallvec-0.6) - ("rust-thread-id" ,rust-thread-id-3.3) + ("rust-thread-id" ,rust-thread-id-3) ("rust-winapi" ,rust-winapi-0.3)) #:cargo-development-inputs (("rust-rustc-version" ,rust-rustc-version-0.2)))))) @@ -15638,7 +17886,20 @@ synchronization primitives.") (string-append name "-" version ".tar.gz")) (sha256 (base32 - "1317j5a1yd03baza2kqqrxb4kr1vxa7rckw4frksl2vrncfcp26b")))))) + "1317j5a1yd03baza2kqqrxb4kr1vxa7rckw4frksl2vrncfcp26b")))) + (arguments + `(#:cargo-inputs + (("rust-backtrace" ,rust-backtrace-0.3) + ("rust-cfg-if" ,rust-cfg-if-0.1) + ("rust-cloudabi" ,rust-cloudabi-0.0) + ("rust-libc" ,rust-libc-0.2) + ("rust-petgraph" ,rust-petgraph-0.4) + ("rust-rand" ,rust-rand-0.6) + ("rust-redox-syscall" ,rust-redox-syscall-0.1) + ("rust-smallvec" ,rust-smallvec-0.6) + ("rust-thread-id" ,rust-thread-id-3) + ("rust-winapi" ,rust-winapi-0.3) + ("rust-rustc-version" ,rust-rustc-version-0.2)))))) (define-public rust-parking-lot-core-0.4 (package @@ -15653,10 +17914,49 @@ synchronization primitives.") (string-append name "-" version ".tar.gz")) (sha256 (base32 - "1jcq8aq4wv9y5fip7jg12jdwjd5g5r3x857xdma8vcin769cgj4l")))))) + "1jcq8aq4wv9y5fip7jg12jdwjd5g5r3x857xdma8vcin769cgj4l")))) + (arguments + `(#:cargo-inputs + (("rust-backtrace" ,rust-backtrace-0.3) + ("rust-libc" ,rust-libc-0.2) + ("rust-petgraph" ,rust-petgraph-0.4) + ("rust-rand" ,rust-rand-0.6) + ("rust-smallvec" ,rust-smallvec-0.6) + ("rust-thread-id" ,rust-thread-id-3) + ("rust-winapi" ,rust-winapi-0.3) + ("rust-rustc-version" ,rust-rustc-version-0.2)))))) + +(define-public rust-partial-io-0.3 + (package + (name "rust-partial-io") + (version "0.3.1") + (source + (origin + (method url-fetch) + (uri (crate-uri "partial-io" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0b9a2bvqmaj2r4rkbshjsg8zzvp23b67qfvj2y6jwjckrn6zhb38")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-futures" ,rust-futures-0.1) + ("rust-quickcheck" ,rust-quickcheck-0.6) + ("rust-tokio-io" ,rust-tokio-io-0.1)) + #:cargo-development-inputs + (("rust-lazy-static" ,rust-lazy-static-1) + ("rust-quickcheck" ,rust-quickcheck-0.6) + ("rust-tokio-core" ,rust-tokio-core-0.1)))) + (home-page "https://github.com/facebookincubator/rust-partial-io") + (synopsis "Helpers to test partial, interrupted and would-block I/O operations") + (description "This package provides helpers to test partial, interrupted +and would-block I/O operations.") + (license license:expat))) (define-public rust-partial-io-0.2 (package + (inherit rust-partial-io-0.3) (name "rust-partial-io") (version "0.2.5") (source @@ -15668,7 +17968,6 @@ synchronization primitives.") (sha256 (base32 "03iynvayh11a4mckhwflm5y1qmnkw5m3b20gzi1crpasndy3h8xx")))) - (build-system cargo-build-system) (arguments `(#:cargo-inputs (("rust-futures" ,rust-futures-0.1) @@ -15678,11 +17977,6 @@ synchronization primitives.") (("rust-lazy-static" ,rust-lazy-static-0.2) ("rust-quickcheck" ,rust-quickcheck-0.4) ("rust-tokio-core" ,rust-tokio-core-0.1)))) - (home-page "https://github.com/facebookincubator/rust-partial-io") - (synopsis - "Helpers to test partial, interrupted and would-block I/O operations") - (description - "Helpers to test partial, interrupted and would-block I/O operations.") (license license:bsd-3))) (define-public rust-paste-0.1 @@ -15704,8 +17998,8 @@ synchronization primitives.") (("rust-paste-impl" ,rust-paste-impl-0.1) ("rust-proc-macro-hack" ,rust-proc-macro-hack-0.5)) #:cargo-development-inputs - (("rust-rustversion" ,rust-rustversion-1.0) - ("rust-trybuild" ,rust-trybuild-1.0)))) + (("rust-rustversion" ,rust-rustversion-1) + ("rust-trybuild" ,rust-trybuild-1)))) (home-page "https://github.com/dtolnay/paste") (synopsis "Macros for all your token pasting needs") (description @@ -15738,6 +18032,25 @@ synchronization primitives.") "Implementation detail of the paste crate.") (license (list license:asl2.0 license:expat)))) +(define-public rust-path-clean-0.1 + (package + (name "rust-path-clean") + (version "0.1.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "path-clean" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1pcgqxw0mgg3ha5hi5xkjhyjf488bw5rw1g3qlr9awbq4szh3fpc")))) + (build-system cargo-build-system) + (home-page "https://github.com/danreeves/path-clean") + (synopsis "Rust implementation of cleanname or path.Clean") + (description "This package provides a Rust implementation of cleanname or +path.Clean.") + (license (list license:expat license:asl2.0)))) + (define-public rust-pbkdf2-0.4 (package (name "rust-pbkdf2") @@ -15790,7 +18103,7 @@ in pure Rust.") (arguments `(#:cargo-inputs (("rust-base64" ,rust-base64-0.9) - ("rust-byteorder" ,rust-byteorder-1.3) + ("rust-byteorder" ,rust-byteorder-1) ("rust-crypto-mac" ,rust-crypto-mac-0.7) ("rust-hmac" ,rust-hmac-0.7) ("rust-rand" ,rust-rand-0.5) @@ -15905,7 +18218,7 @@ the @code{take_while} predicate returned false after dropping the @code{by_ref}. (("rust-peg-macros" ,rust-peg-macros-0.6) ("rust-peg-runtime" ,rust-peg-runtime-0.6)) #:cargo-development-inputs - (("rust-trybuild" ,rust-trybuild-1.0)))) + (("rust-trybuild" ,rust-trybuild-1)))) (home-page "https://github.com/kevinmehall/rust-peg") (synopsis "Simple Parsing Expression Grammar (PEG) parser generator") (description @@ -15978,7 +18291,7 @@ procedural macros for rust-peg. To use rust-peg, see the peg package.") runtime support for rust-peg grammars. To use rust-peg, see the peg crate.") (license license:expat))) -(define-public rust-percent-encoding-2.1 +(define-public rust-percent-encoding-2 (package (name "rust-percent-encoding") (version "2.1.0") @@ -15999,7 +18312,7 @@ runtime support for rust-peg grammars. To use rust-peg, see the peg crate.") (define-public rust-percent-encoding-1.0 (package - (inherit rust-percent-encoding-2.1) + (inherit rust-percent-encoding-2) (name "rust-percent-encoding") (version "1.0.1") (source @@ -16034,7 +18347,7 @@ algorithm.") (license (list license:asl2.0 license:expat)))) -(define-public rust-pest-2.1 +(define-public rust-pest-2 (package (name "rust-pest") (version "2.1.1") @@ -16059,7 +18372,7 @@ algorithm.") (description "The Elegant Parser.") (license (list license:asl2.0 license:expat)))) -(define-public rust-pest-derive-2.1 +(define-public rust-pest-derive-2 (package (name "rust-pest-derive") (version "2.1.0") @@ -16076,7 +18389,7 @@ algorithm.") (arguments `(#:skip-build? #t #:cargo-inputs - (("rust-pest" ,rust-pest-2.1) + (("rust-pest" ,rust-pest-2) ("rust-pest-generator" ,rust-pest-generator-2.1)))) (home-page "https://pest.rs/") (synopsis "Pest's derive macro") @@ -16100,7 +18413,7 @@ algorithm.") (arguments `(#:skip-build? #t #:cargo-inputs - (("rust-pest" ,rust-pest-2.1) + (("rust-pest" ,rust-pest-2) ("rust-pest-meta" ,rust-pest-meta-2.1) ("rust-proc-macro2" ,rust-proc-macro2-1) ("rust-quote" ,rust-quote-1) @@ -16128,7 +18441,7 @@ algorithm.") `(#:skip-build? #t #:cargo-inputs (("rust-maplit" ,rust-maplit-1.0) - ("rust-pest" ,rust-pest-2.1) + ("rust-pest" ,rust-pest-2) ("rust-sha-1" ,rust-sha-1-0.8)))) (home-page "https://pest.rs") (synopsis "Pest meta language parser and validator") @@ -16560,8 +18873,8 @@ function data structures.") (build-system cargo-build-system) (arguments `(#:cargo-development-inputs - (("rust-rustversion" ,rust-rustversion-1.0) - ("rust-trybuild" ,rust-trybuild-1.0)))) + (("rust-rustversion" ,rust-rustversion-1) + ("rust-trybuild" ,rust-trybuild-1)))) (home-page "https://github.com/taiki-e/pin-project-lite") (synopsis "Lightweight version of pin-project written with declarative macros") @@ -16637,7 +18950,7 @@ used in Cargo build scripts.") ("rust-xml-rs" ,rust-xml-rs-0.8) ("rust-serde" ,rust-serde-1) ("rust-humantime" ,rust-humantime-1) - ("rust-byteorder" ,rust-byteorder-1.3)))) + ("rust-byteorder" ,rust-byteorder-1)))) (home-page "https://github.com/ebarnard/rust-plist/") (synopsis "Rusty plist parser") (description @@ -16705,6 +19018,29 @@ both WASM and native applications") "Lazily evaluated, order-independent plugins for extensible types.") (license license:expat))) +(define-public rust-pmutil-0.5 + (package + (name "rust-pmutil") + (version "0.5.3") + (source + (origin + (method url-fetch) + (uri (crate-uri "pmutil" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0170zgziivri4qsch682pga3qq3z4wpr4wngzr5f9jyc97ayb51q")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-proc-macro2" ,rust-proc-macro2-1) + ("rust-quote" ,rust-quote-1) + ("rust-syn" ,rust-syn-1)))) + (home-page "https://github.com/kdy1/rust-pmutil") + (synopsis "Utils for proc-macro") + (description "This package provides utils for proc-macro.") + (license (list license:asl2.0 license:expat)))) + (define-public rust-pnacl-build-helper-1.4 (package (name "rust-pnacl-build-helper") @@ -16769,6 +19105,35 @@ applications.") "Additional trait for Read and Write to read and write Plain Old Data.") (license (list license:expat license:asl2.0)))) +(define-public rust-polyval-0.4 + (package + (name "rust-polyval") + (version "0.4.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "polyval" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1p0765j30qxr50zh74aflafx540xkxqb7pv8kw7fvcssnm1039fr")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-cfg-if" ,rust-cfg-if-0.1) + ("rust-universal-hash" ,rust-universal-hash-0.4) + ("rust-zeroize" ,rust-zeroize-1)) + #:cargo-development-inputs + (("rust-criterion" ,rust-criterion-0.3) + ("rust-criterion-cycles-per-byte" + ,rust-criterion-cycles-per-byte-0.1) + ("rust-hex-literal" ,rust-hex-literal-0.1)))) + (home-page "https://github.com/RustCrypto/universal-hashes") + (synopsis "GHASH-like universal hash") + (description "POLYVAL is a GHASH-like universal hash over GF(2^128) useful +for constructing a Message Authentication Code (MAC).") + (license (list license:asl2.0 license:expat)))) + (define-public rust-pom-3 (package (name "rust-pom") @@ -16809,6 +19174,31 @@ for x86.") (license (list license:asl2.0 license:expat)))) +(define-public rust-pq-sys-0.4 + (package + (name "rust-pq-sys") + (version "0.4.6") + (source + (origin + (method url-fetch) + (uri (crate-uri "pq-sys" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1npz9756283pjq3lcpwss8xh1rw4sx8f6dz8cxdg90h5bbp5xhka")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-pkg-config" ,rust-pkg-config-0.3) + ("rust-vcpkg" ,rust-vcpkg-0.2)))) + (native-inputs + `(("postgresql" ,postgresql))) + (home-page "https://crates.io/crates/pq-sys") + (synopsis "Auto-generated rust bindings for libpq") + (description "This package provides auto-generated rust bindings for +libpq.") + (license (list license:expat license:asl2.0)))) + (define-public rust-precomputed-hash-0.1 (package (name "rust-precomputed-hash") @@ -16849,7 +19239,7 @@ dependency to expose a precomputed hash.") (build-system cargo-build-system) (arguments `(#:cargo-inputs - (("rust-difference" ,rust-difference-2.0) + (("rust-difference" ,rust-difference-2) ("rust-float-cmp" ,rust-float-cmp-0.6) ("rust-normalize-line-endings" ,rust-normalize-line-endings-0.3) ("rust-predicates-core" ,rust-predicates-core-1) @@ -16930,7 +19320,7 @@ dependency to expose a precomputed hash.") (("rust-ctor" ,rust-ctor-0.1) ("rust-output-vt100" ,rust-output-vt100-0.1) ("rust-ansi-term" ,rust-ansi-term-0.11) - ("rust-difference" ,rust-difference-2.0)))) + ("rust-difference" ,rust-difference-2)))) (home-page "https://github.com/colin-kiegel/rust-pretty-assertions") (synopsis "Drop-in replacements for assert_eq! and assert_ne!") (description @@ -17123,9 +19513,9 @@ formatted tables in terminal.") (arguments `(#:cargo-development-inputs (("rust-quote" ,rust-quote-1) - ("rust-rustversion" ,rust-rustversion-1.0) + ("rust-rustversion" ,rust-rustversion-1) ("rust-syn" ,rust-syn-1) - ("rust-trybuild" ,rust-trybuild-1.0) + ("rust-trybuild" ,rust-trybuild-1) ("rust-demo-hack" ,rust-demo-hack-0.0) ("rust-demo-hack-impl" ,rust-demo-hack-impl-0.0)))) (home-page "https://github.com/dtolnay/proc-macro-hack") @@ -17201,7 +19591,7 @@ formatted tables in terminal.") (define-public rust-proc-macro2-1 (package (name "rust-proc-macro2") - (version "1.0.10") + (version "1.0.21") (source (origin (method url-fetch) @@ -17209,7 +19599,7 @@ formatted tables in terminal.") (file-name (string-append name "-" version ".crate")) (sha256 (base32 - "1qxbnl8i3a5b2nxb8kdxbq6kj3pd1ckhm35wm7z3jd7n5wlns96z")))) + "0b1azz1c2a3rap1kfz2sjinv7narfhssazaq39axvwwlvwb8bqin")))) (build-system cargo-build-system) (arguments `(#:cargo-inputs @@ -17309,7 +19699,7 @@ macro use case.") `(#:cargo-inputs (("rust-bit-set" ,rust-bit-set-0.5) ("rust-bitflags" ,rust-bitflags-1) - ("rust-byteorder" ,rust-byteorder-1.3) + ("rust-byteorder" ,rust-byteorder-1) ("rust-lazy-static" ,rust-lazy-static-1) ("rust-num-traits" ,rust-num-traits-0.2) ("rust-quick-error" ,rust-quick-error-1.2) @@ -17349,7 +19739,7 @@ macro use case.") #:cargo-inputs (("rust-bit-set" ,rust-bit-set-0.5) ("rust-bitflags" ,rust-bitflags-1) - ("rust-byteorder" ,rust-byteorder-1.3) + ("rust-byteorder" ,rust-byteorder-1) ("rust-lazy-static" ,rust-lazy-static-1) ("rust-num-traits" ,rust-num-traits-0.2) ("rust-quick-error" ,rust-quick-error-1.2) @@ -17412,6 +19802,35 @@ macro use case.") #:cargo-development-inputs (("rust-regex" ,rust-regex-0.2)))))) +(define-public rust-proptest-derive-0.1 + (package + (name "rust-proptest-derive") + (version "0.1.2") + (source + (origin + (method url-fetch) + (uri (crate-uri "proptest-derive" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0nziczbm7w0jisjrd216hh2j45fs5m363ga7r6nawwxcxlbxn7nk")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-proc-macro2" ,rust-proc-macro2-0.4) + ("rust-quote" ,rust-quote-0.6) + ("rust-syn" ,rust-syn-0.15)) + #:cargo-development-inputs + (("rust-compiletest-rs" ,rust-compiletest-rs-0.3) + ("rust-criterion" ,rust-criterion-0.2) + ("rust-proptest" ,rust-proptest-0.9)))) + (home-page + "https://altsysrq.github.io/proptest-book/proptest-derive/index.html") + (synopsis "Custom-derive for the Arbitrary trait of proptest") + (description "This package provides a Custom-derive for the Arbitrary +trait of proptest.") + (license (list license:expat license:asl2.0)))) + (define-public rust-psm-0.1 (package (name "rust-psm") @@ -17435,6 +19854,35 @@ macro use case.") stack pointer and inspect the properties of the stack.") (license (list license:isc license:asl2.0)))) +(define-public rust-publicsuffix-1 + (package + (name "rust-publicsuffix") + (version "1.5.4") + (source + (origin + (method url-fetch) + (uri (crate-uri "publicsuffix" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0yvmjpywfyypfr17kxiwy6ssykgv8nmcdhfakas6548pfn8a9fiv")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-error-chain" ,rust-error-chain-0.12) + ("rust-idna" ,rust-idna-0.2) + ("rust-lazy-static" ,rust-lazy-static-1) + ("rust-native-tls" ,rust-native-tls-0.2) + ("rust-regex" ,rust-regex-1) + ("rust-url" ,rust-url-2)) + #:cargo-development-inputs + (("rust-rspec" ,rust-rspec-1)))) + (home-page "https://github.com/rushmorem/publicsuffix") + (synopsis "Domain name parsing and email address validation") + (description "This package provides robust domain name parsing and RFC +compliant email address validation.") + (license (list license:expat license:asl2.0)))) + (define-public rust-pulldown-cmark-0.4 (package (name "rust-pulldown-cmark") @@ -17530,6 +19978,28 @@ stack pointer and inspect the properties of the stack.") (("rust-bitflags" ,rust-bitflags-0.5) ("rust-getopts" ,rust-getopts-0.2)))))) +(define-public rust-pulse-0.5 + (package + (name "rust-pulse") + (version "0.5.3") + (source + (origin + (method url-fetch) + (uri (crate-uri "pulse" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1w4skcnwmavm8ra9blf1hy7bc9grnin2kziiyc18lsnrr2v14mk5")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-atom" ,rust-atom-0.3) + ("rust-time" ,rust-time-0.1)))) + (home-page "https://github.com/csherratt/pulse") + (synopsis "Async wake signals library") + (description "This package provides a library for async wake signals.") + (license license:asl2.0))) + (define-public rust-quantiles-0.7 (package (name "rust-quantiles") @@ -17864,8 +20334,8 @@ integers, floats, tuples, booleans, lists, strings, options and results.") `(#:cargo-inputs (("rust-proc-macro2" ,rust-proc-macro2-1)) #:cargo-development-inputs - (("rust-rustversion" ,rust-rustversion-1.0) - ("rust-trybuild" ,rust-trybuild-1.0)))) + (("rust-rustversion" ,rust-rustversion-1) + ("rust-trybuild" ,rust-trybuild-1)))) (home-page "https://github.com/dtolnay/quote") (synopsis "Quasi-quoting macro quote!(...)") (description "Quasi-quoting macro quote!(...)") @@ -17921,6 +20391,29 @@ integers, floats, tuples, booleans, lists, strings, options and results.") "0yhnnix4dzsv8y4wwz4csbnqjfh73al33j35msr10py6cl5r4vks")))) (arguments '()))) +(define-public rust-r2d2 + (package + (name "rust-r2d2") + (version "0.8.9") + (source + (origin + (method url-fetch) + (uri (crate-uri "r2d2" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0vxjgh83bss63mkx308p16iwl33s80c781p422f3r5w0p315np2l")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-log" ,rust-log-0.4) + ("rust-parking-lot" ,rust-parking-lot-0.11) + ("rust-scheduled-thread-pool" ,rust-scheduled-thread-pool-0.2)))) + (home-page "https://github.com/sfackler/r2d2") + (synopsis "A generic connection pool") + (description "This package provides a generic connection pool.") + (license (list license:expat license:asl2.0)))) + (define-public rust-racer-cargo-metadata-0.1 (package (name "rust-racer-cargo-metadata") @@ -17971,6 +20464,28 @@ Racer.") fashion. It is mostly used in Racer.") (license license:expat))) +(define-public rust-radix-fmt-1 + (package + (name "rust-radix-fmt") + (version "1.0.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "radix_fmt" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "09jlq152iwn56215kghqby4pi8vamhg0nzcb9any5b5782cjl26f")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-development-inputs + (("rust-fluid" ,rust-fluid-0.4)))) + (home-page "https://gitlab.com/Boiethios/radix_fmt_rs") + (synopsis "Format a number in an arbitrary radix") + (description "This package lets you format a number in an arbitrary +radix.") + (license license:asl2.0))) + (define-public rust-rand-0.7 (package (name "rust-rand") @@ -18559,7 +21074,7 @@ random number generators.") "07w3qgrac8r356lz5vqff42rly6yd9vs3g5lx5pbn13rcmb05rqb")))) (arguments `(#:cargo-inputs - (("rust-byteorder" ,rust-byteorder-1.3) + (("rust-byteorder" ,rust-byteorder-1) ("rust-rand-core" ,rust-rand-core-0.5) ("rust-serde" ,rust-serde-1)) #:cargo-development-inputs @@ -18582,7 +21097,7 @@ random number generators.") (build-system cargo-build-system) (arguments `(#:cargo-inputs - (("rust-byteorder" ,rust-byteorder-1.3) + (("rust-byteorder" ,rust-byteorder-1) ("rust-rand-core" ,rust-rand-core-0.3)) #:cargo-development-inputs (("rust-rand" ,rust-rand-0.6)))))) @@ -18667,7 +21182,7 @@ accessors.") `(#:cargo-inputs (("rust-autocfg" ,rust-autocfg-1.0) ("rust-crossbeam-deque" ,rust-crossbeam-deque-0.7) - ("rust-either" ,rust-either-1.5) + ("rust-either" ,rust-either-1) ("rust-rayon-core" ,rust-rayon-core-1)) #:cargo-development-inputs (("rust-docopt" ,rust-docopt-1.1) @@ -18916,8 +21431,8 @@ functionality.") `(#:cargo-inputs (("rust-ref-cast-impl" ,rust-ref-cast-impl-1.0)) #:cargo-development-inputs - (("rust-rustversion" ,rust-rustversion-1.0) - ("rust-trybuild" ,rust-trybuild-1.0)))) + (("rust-rustversion" ,rust-rustversion-1) + ("rust-trybuild" ,rust-trybuild-1)))) (home-page "https://github.com/dtolnay/ref-cast") (synopsis "Safely cast &T to &U") (description @@ -18943,7 +21458,7 @@ functionality.") (("rust-ref-cast-impl" ,rust-ref-cast-impl-0.2)) #:cargo-development-inputs (("rust-rustversion" ,rust-rustversion-0.1) - ("rust-trybuild" ,rust-trybuild-1.0)))) + ("rust-trybuild" ,rust-trybuild-1)))) (home-page "https://github.com/dtolnay/ref-cast") (synopsis "Safely cast &T to &U") (description @@ -19095,7 +21610,7 @@ uses finite automata and guarantees linear time matching on all inputs.") `(#:skip-build? #t #:cargo-inputs (("rust-fst" ,rust-fst-0.4) - ("rust-byteorder" ,rust-byteorder-1.3) + ("rust-byteorder" ,rust-byteorder-1) ("rust-regex-syntax" ,rust-regex-syntax-0.6)) #:cargo-development-inputs (("rust-bstr" ,rust-bstr-0.2) @@ -19188,6 +21703,29 @@ uses finite automata and guarantees linear time matching on all inputs.") (("rust-quickcheck" ,rust-quickcheck-0.2) ("rust-rand" ,rust-rand-0.3)))))) +(define-public rust-relative-path-1 + (package + (name "rust-relative-path") + (version "1.3.2") + (source + (origin + (method url-fetch) + (uri (crate-uri "relative_path" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "152zdks8chgsq4vmp562bx6whvixm7gzivab1cf8rs1r634ggbv5")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-serde" ,rust-serde-1)) + #:cargo-development-inputs + (("rust-serde" ,rust-serde-1)))) + (home-page "https://docs.rs/crate/relative-path/") + (synopsis "Portable, relative paths for Rust") + (description "This package provides portable, relative paths for Rust.") + (license (list license:expat license:asl2.0)))) + (define-public rust-remove-dir-all-0.5 (package (name "rust-remove-dir-all") @@ -19245,6 +21783,72 @@ uses finite automata and guarantees linear time matching on all inputs.") (description "File reopening utility.") (license (list license:asl2.0 license:expat)))) +(define-public rust-reqwest-0.10 + (package + (name "rust-reqwest") + (version "0.10.8") + (source + (origin + (method url-fetch) + (uri (crate-uri "reqwest" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "07nnj0qzj8g64iagx7xzk02493yqdahqy49xa2vkif6pqmxa3sp9")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-async-compression" ,rust-async-compression-0.3) + ("rust-base64" ,rust-base64-0.12) + ("rust-bytes" ,rust-bytes-0.5) + ("rust-cookie" ,rust-cookie-0.14) + ("rust-cookie-store" ,rust-cookie-store-0.12) + ("rust-encoding-rs" ,rust-encoding-rs-0.8) + ("rust-futures-core" ,rust-futures-core-0.3) + ("rust-futures-util" ,rust-futures-util-0.3) + ("rust-http" ,rust-http-0.2) + ("rust-http-body" ,rust-http-body-0.3) + ("rust-hyper" ,rust-hyper-0.13) + ("rust-hyper-rustls" ,rust-hyper-rustls-0.21) + ("rust-hyper-tls" ,rust-hyper-tls-0.4) + ("rust-ipnet" ,rust-ipnet-2) + ("rust-js-sys" ,rust-js-sys-0.3) + ("rust-lazy-static" ,rust-lazy-static-1) + ("rust-log" ,rust-log-0.4) + ("rust-mime" ,rust-mime-0.3) + ("rust-mime-guess" ,rust-mime-guess-2) + ("rust-native-tls" ,rust-native-tls-0.2) + ("rust-percent-encoding" ,rust-percent-encoding-2) + ("rust-pin-project-lite" ,rust-pin-project-lite-0.1) + ("rust-rustls" ,rust-rustls-0.18) + ("rust-serde" ,rust-serde-1) + ("rust-serde-json" ,rust-serde-json-1) + ("rust-serde-urlencoded" ,rust-serde-urlencoded-0.6) + ("rust-time" ,rust-time-0.2) + ("rust-tokio" ,rust-tokio-0.2) + ("rust-tokio-rustls" ,rust-tokio-rustls-0.14) + ("rust-tokio-socks" ,rust-tokio-socks-0.2) + ("rust-tokio-tls" ,rust-tokio-tls-0.3) + ("rust-trust-dns-resolver" ,rust-trust-dns-resolver-0.19) + ("rust-url" ,rust-url-2) + ("rust-wasm-bindgen" ,rust-wasm-bindgen-0.2) + ("rust-wasm-bindgen-futures" ,rust-wasm-bindgen-futures-0.4) + ("rust-web-sys" ,rust-web-sys-0.3) + ("rust-webpki-roots" ,rust-webpki-roots-0.19) + ("rust-winreg" ,rust-winreg-0.7)) + #:cargo-development-inputs + (("rust-brotli" ,rust-brotli-3) + ("rust-doc-comment" ,rust-doc-comment-0.3) + ("rust-env-logger" ,rust-env-logger-0.7) + ("rust-hyper" ,rust-hyper-0.13) + ("rust-libflate" ,rust-libflate-1) + ("rust-serde" ,rust-serde-1) + ("rust-tokio" ,rust-tokio-0.2)))) + (home-page "https://github.com/seanmonstar/reqwest") + (synopsis "High level HTTP client library") + (description "This package provides a high level HTTP client library.") + (license (list license:expat license:asl2.0)))) + (define-public rust-resolv-conf-0.6 (package (name "rust-resolv-conf") @@ -19270,6 +21874,25 @@ uses finite automata and guarantees linear time matching on all inputs.") (license (list license:asl2.0 license:expat)))) +(define-public rust-retain-mut-0.1 + (package + (name "rust-retain-mut") + (version "0.1.1") + (source + (origin + (method url-fetch) + (uri (crate-uri "retain_mut" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0cgmm1q7sr31r9wk7syh53ipgqpl37jzsvahdhmwrsi6mmcdc1g0")))) + (build-system cargo-build-system) + (home-page "https://github.com/upsuper/retain_mut") + (synopsis "Mutable borrow for the retain predicate") + (description "This package provides retain_mut method that has the same +functionality as retain but gives mutable borrow to the predicate.") + (license license:expat))) + (define-public rust-ring-0.16 (package (name "rust-ring") @@ -19372,8 +21995,33 @@ your own implementation.") Rust Language Server.") (license (list license:expat license:asl2.0)))) +(define-public rust-ron-0.5 + (package + (name "rust-ron") + (version "0.5.1") + (source + (origin + (method url-fetch) + (uri (crate-uri "ron" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 (base32 "1mb2bavvp8jg5wx0kx9n45anrsbjwhjzddim987bjaa11hg45kif")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-base64" ,rust-base64-0.10) + ("rust-bitflags" ,rust-bitflags-1) + ("rust-serde" ,rust-serde-1)) + #:cargo-development-inputs + (("rust-serde-bytes" ,rust-serde-bytes-0.10) + ("rust-serde-json" ,rust-serde-json-1)))) + (home-page "https://github.com/ron-rs/ron") + (synopsis "Rusty Object Notation") + (description "This package provides Rusty Object Notation (RON).") + (license (list license:expat license:asl2.0)))) + (define-public rust-ron-0.4 (package + (inherit rust-ron-0.5) (name "rust-ron") (version "0.4.2") (source @@ -19385,7 +22033,6 @@ Rust Language Server.") (sha256 (base32 "13ypx80ac1minrmn9w9sgnbxlknwiv7qhx5n50azh0s484j2mx8p")))) - (build-system cargo-build-system) (arguments `(#:skip-build? #t #:cargo-inputs @@ -19394,12 +22041,7 @@ Rust Language Server.") ("rust-serde" ,rust-serde-1)) #:cargo-development-inputs (;("rust-serde-bytes" ,rust-serde-bytes-0.10) - ("rust-serde-json" ,rust-serde-json-1)))) - (home-page "https://github.com/ron-rs/ron") - (synopsis "Rusty Object Notation") - (description "Rusty Object Notation.") - (license (list license:asl2.0 - license:expat)))) + ("rust-serde-json" ,rust-serde-json-1)))))) (define-public rust-rspec-1 (package @@ -19416,7 +22058,7 @@ Rust Language Server.") (arguments `(#:skip-build? #t ;; TODO unpackaged dev-dependencies #:cargo-inputs - (("rust-colored" ,rust-colored-1.9) + (("rust-colored" ,rust-colored-1) ("rust-derive-new" ,rust-derive-new-0.5) ("rust-derive-builder" ,rust-derive-builder-0.5) ("rust-expectest" ,rust-expectest-0.9) @@ -19468,7 +22110,7 @@ console applications.") (arguments `(#:cargo-inputs (("rust-bitflags" ,rust-bitflags-1) - ("rust-byteorder" ,rust-byteorder-1.3) + ("rust-byteorder" ,rust-byteorder-1) ("rust-chrono" ,rust-chrono-0.4) ("rust-csv" ,rust-csv-1.1) ("rust-fallible-iterator" ,rust-fallible-iterator-0.2) @@ -19480,7 +22122,7 @@ console applications.") ("rust-memchr" ,rust-memchr-2) ("rust-serde-json" ,rust-serde-json-1) ("rust-time" ,rust-time-0.1) - ("rust-url" ,rust-url-1.7) + ("rust-url" ,rust-url-1) ("rust-uuid" ,rust-uuid-0.7)) #:cargo-development-inputs (("rust-lazy-static" ,rust-lazy-static-1) @@ -19776,11 +22418,11 @@ It is automatically published using the compiler repository at ("rust-rustc-ap-graphviz" ,rust-rustc-ap-graphviz-654) ("rust-rustc-ap-rustc-index" ,rust-rustc-ap-rustc-index-654) ("rust-rustc-ap-serialize" ,rust-rustc-ap-serialize-654) - ("rust-rustc-hash" ,rust-rustc-hash-1.1) + ("rust-rustc-hash" ,rust-rustc-hash-1) ("rust-rustc-rayon" ,rust-rustc-rayon-0.3) ("rust-rustc-rayon-core" ,rust-rustc-rayon-core-0.3) ("rust-smallvec" ,rust-smallvec-1) - ("rust-stable-deref-trait" ,rust-stable-deref-trait-1.1) + ("rust-stable-deref-trait" ,rust-stable-deref-trait-1) ("rust-winapi" ,rust-winapi-0.3)))) (home-page "https://github.com/alexcrichton/rustc-auto-publish") (synopsis "Automatically published versions of rustc data structures") @@ -19989,7 +22631,7 @@ It is automatically published using the compiler repository at `(#:skip-build? #t #:cargo-inputs (("rust-compiler-builtins" ,rust-compiler-builtins-0.1) - ("rust-rustc-std-workspace-core" ,rust-rustc-std-workspace-core-1.0)))) + ("rust-rustc-std-workspace-core" ,rust-rustc-std-workspace-core-1)))) (home-page "https://github.com/alexcrichton/rustc-demangle") (synopsis "Rust compiler symbol demangling") (description @@ -19997,7 +22639,7 @@ It is automatically published using the compiler repository at (license (list license:asl2.0 license:expat)))) -(define-public rust-rustc-hash-1.1 +(define-public rust-rustc-hash-1 (package (name "rust-rustc-hash") (version "1.1.0") @@ -20018,6 +22660,20 @@ It is automatically published using the compiler repository at "This package provides a speedy, non-cryptographic hash used in rustc.") (license (list license:asl2.0 license:expat)))) +(define-public rust-rustc-hash-1.0 + (package + (inherit rust-rustc-hash-1) + (name "rust-rustc-hash") + (version "1.0.1") + (source + (origin + (method url-fetch) + (uri (crate-uri "rustc-hash" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1f4cnbcmz2c3zjidqszc9c4fip37ch4xl74nkkp9dw291j5zqh3m")))))) + (define-public rust-rustc-rayon-0.3 (package (name "rust-rustc-rayon") @@ -20036,7 +22692,7 @@ It is automatically published using the compiler repository at `(#:tests? #f #:cargo-inputs (("rust-crossbeam-deque" ,rust-crossbeam-deque-0.7) - ("rust-either" ,rust-either-1.5) + ("rust-either" ,rust-either-1) ("rust-rustc-rayon-core" ,rust-rustc-rayon-core-0.3)) #:cargo-development-inputs (("rust-doc-comment" ,rust-doc-comment-0.3) @@ -20120,7 +22776,7 @@ decoding.") (license (list license:asl2.0 license:expat)))) -(define-public rust-rustc-std-workspace-alloc-1.0 +(define-public rust-rustc-std-workspace-alloc-1 (package (name "rust-rustc-std-workspace-alloc") (version "1.0.0") @@ -20140,7 +22796,7 @@ decoding.") (description "This package is a Rust workspace hack.") (license (list license:asl2.0 license:expat)))) -(define-public rust-rustc-std-workspace-core-1.0 +(define-public rust-rustc-std-workspace-core-1 (package (name "rust-rustc-std-workspace-core") (version "1.0.0") @@ -20304,7 +22960,7 @@ rustc compiler.") ("rust-serde" ,rust-serde-1) ("rust-serde-json" ,rust-serde-json-1)) #:cargo-development-inputs - (("rust-difference" ,rust-difference-2.0) + (("rust-difference" ,rust-difference-2) ("rust-duct" ,rust-duct-0.13) ("rust-env-logger" ,rust-env-logger-0.6) ("rust-log" ,rust-log-0.4) @@ -20316,8 +22972,70 @@ rustc compiler.") "Automatically apply the suggestions made by rustc.") (license (list license:expat license:asl2.0)))) +(define-public rust-rustls-0.18 + (package + (name "rust-rustls") + (version "0.18.1") + (source + (origin + (method url-fetch) + (uri (crate-uri "rustls" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "108cf3bfw5high066shz9xrfv4jz7djdmnwqs3kwx4wfypf2c4ax")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-base64" ,rust-base64-0.12) + ("rust-log" ,rust-log-0.4) + ("rust-ring" ,rust-ring-0.16) + ("rust-sct" ,rust-sct-0.6) + ("rust-webpki" ,rust-webpki-0.21)) + #:cargo-development-inputs + (("rust-criterion" ,rust-criterion-0.3) + ("rust-env-logger" ,rust-env-logger-0.7) + ("rust-log" ,rust-log-0.4) + ("rust-webpki-roots" ,rust-webpki-roots-0.20)))) + (home-page "https://github.com/ctz/rustls") + (synopsis "Modern TLS library written in Rust.") + (description "This package provides a modern TLS library written in +Rust.") + (license + (list license:asl2.0 license:isc license:expat)))) + +(define-public rust-rustls-0.17 + (package + (inherit rust-rustls-0.18) + (name "rust-rustls") + (version "0.17.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "rustls" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1q8m835viqrf4bbd2fa8rnmaj48fkd984saxf0238hb8blgs7m60")))) + (arguments + `(#:cargo-inputs + (("rust-base64" ,rust-base64-0.11) + ("rust-log" ,rust-log-0.4) + ("rust-ring" ,rust-ring-0.16) + ("rust-sct" ,rust-sct-0.6) + ("rust-webpki" ,rust-webpki-0.21)) + #:cargo-development-inputs + (("rust-criterion" ,rust-criterion-0.3) + ("rust-env-logger" ,rust-env-logger-0.7) + ("rust-log" ,rust-log-0.4) + ("rust-tempfile" ,rust-tempfile-3) + ("rust-webpki-roots" ,rust-webpki-roots-0.19)))))) + (define-public rust-rustls-0.16 (package + (inherit rust-rustls-0.17) (name "rust-rustls") (version "0.16.0") (source @@ -20327,7 +23045,6 @@ rustc compiler.") (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 "17n0fx3fpkg4fhpdplrdhkissnl003kj90vzbqag11vkpyqihnmj")))) - (build-system cargo-build-system) (arguments `(#:tests? #f ;; 1/114 tests fail (test file not found) #:cargo-inputs @@ -20341,11 +23058,7 @@ rustc compiler.") ("rust-env-logger" ,rust-env-logger-0.6) ("rust-log" ,rust-log-0.4) ("rust-tempfile" ,rust-tempfile-3) - ("rust-webpki-roots" ,rust-webpki-roots-0.17)))) - (home-page "https://github.com/ctz/rustls") - (synopsis "Modern TLS library written in Rust") - (description "This package provides a modern TLS library written in Rust.") - (license (list license:asl2.0 license:isc license:expat)))) + ("rust-webpki-roots" ,rust-webpki-roots-0.17)))))) (define-public rust-rustls-0.12 (package/inherit rust-rustls-0.16 @@ -20379,6 +23092,38 @@ rustc compiler.") ("rust-serde-derive" ,rust-serde-derive-1) ("rust-webpki-roots" ,rust-webpki-roots-0.14)))))) +(define-public rust-rustls-native-certs-0.4 + (package + (name "rust-rustls-native-certs") + (version "0.4.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "rustls-native-certs" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1f2rkvdkz92qcmwryyqiw9phkqkf95g4962ljpfq5nkjfsd477b2")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-openssl-probe" ,rust-openssl-probe-0.1) + ("rust-rustls" ,rust-rustls-0.18) + ("rust-schannel" ,rust-schannel-0.1) + ("rust-security-framework" + ,rust-security-framework-1)) + #:cargo-development-inputs + (("rust-ring" ,rust-ring-0.16) + ("rust-untrusted" ,rust-untrusted-0.7) + ("rust-webpki" ,rust-webpki-0.21) + ("rust-webpki-roots" ,rust-webpki-roots-0.20)))) + (home-page "https://github.com/ctz/rustls-native-certs") + (synopsis "Use the platform native certificate store with rustls") + (description "@code{rustls-native-certs} allows rustls to use the platform +native certificate store.") + (license + (list license:asl2.0 license:isc license:expat)))) + (define-public rust-rusttype-0.8 (package (name "rust-rusttype") @@ -20404,7 +23149,7 @@ rustc compiler.") ("rust-linked-hash-map" ,rust-linked-hash-map-0.5) ("rust-num-cpus" ,rust-num-cpus-1) ("rust-ordered-float" ,rust-ordered-float-1.0) - ("rust-rustc-hash" ,rust-rustc-hash-1.1) + ("rust-rustc-hash" ,rust-rustc-hash-1) ("rust-stb-truetype" ,rust-stb-truetype-0.3)))) (home-page "https://gitlab.redox-os.org/redox-os/rusttype") (synopsis "Pure Rust alternative to libraries like FreeType") @@ -20441,7 +23186,7 @@ font rendering.") ("rust-lazy-static" ,rust-lazy-static-1) ("rust-unicode-normalization" ,rust-unicode-normalization-0.1)))))) -(define-public rust-rustversion-1.0 +(define-public rust-rustversion-1 (package (name "rust-rustversion") (version "1.0.2") @@ -20665,6 +23410,27 @@ paths point to the same file.") server functionality.") (license license:expat))) +(define-public rust-scheduled-thread-pool-0.2 + (package + (name "rust-scheduled-thread-pool") + (version "0.2.5") + (source + (origin + (method url-fetch) + (uri (crate-uri "scheduled-thread-pool" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1mz7s21q1d7xn9j15dlhhv1y86q2r2z6hpax5nh3y1q42byp8vyw")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-parking-lot" ,rust-parking-lot-0.11)))) + (home-page "https://github.com/sfackler/scheduled-thread-pool") + (synopsis "A scheduled thread pool") + (description "This package provides a scheduled thread pool.") + (license (list license:expat license:asl2.0)))) + (define-public rust-scoped-threadpool-0.1 (package (name "rust-scoped-threadpool") @@ -20770,7 +23536,7 @@ with one of the implemented strategies.") (define-public rust-scopeguard-0.3 (package - (inherit rust-scopeguard-1.0) + (inherit rust-scopeguard-1) (name "rust-scopeguard") (version "0.3.3") (source @@ -20830,7 +23596,7 @@ with one of the implemented strategies.") `(#:cargo-inputs (("rust-base64" ,rust-base64-0.9) ("rust-byte-tools" ,rust-byte-tools-0.3) - ("rust-byteorder" ,rust-byteorder-1.3) + ("rust-byteorder" ,rust-byteorder-1) ("rust-hmac" ,rust-hmac-0.7) ("rust-pbkdf2" ,rust-pbkdf2-0.3) ("rust-rand" ,rust-rand-0.5) @@ -20882,7 +23648,7 @@ endian-aware Read/Write traits for byte buffers.") (("rust-scroll-derive" ,rust-scroll-derive-0.9) ("rust-rustc-version" ,rust-rustc-version-0.2)) #:cargo-development-inputs - (("rust-byteorder" ,rust-byteorder-1.3) + (("rust-byteorder" ,rust-byteorder-1) ("rust-rayon" ,rust-rayon-1)))) (home-page "https://github.com/m4b/scroll") (synopsis "Read/Write traits for byte buffers") @@ -20989,7 +23755,7 @@ Pwrite traits from the scroll crate.") (("rust-cc" ,rust-cc-1)))))) -(define-public rust-seahash-3.0 +(define-public rust-seahash-3 (package (name "rust-seahash") (version "3.0.7") @@ -21032,8 +23798,38 @@ proven statistical guarantees.") "This package provides a library for section-style testing.") (license license:expat))) +(define-public rust-security-framework-1 + (package + (name "rust-security-framework") + (version "1.0.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "security-framework" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0axwlax65j1f79rsm4ylc8rc6p2knbi3dgnpbdq7a1bzh5k2hl5d")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-bitflags" ,rust-bitflags-1) + ("rust-core-foundation" ,rust-core-foundation-0.7) + ("rust-core-foundation-sys" ,rust-core-foundation-sys-0.7) + ("rust-libc" ,rust-libc-0.2) + ("rust-security-framework-sys" ,rust-security-framework-sys-1)) + #:cargo-development-inputs + (("rust-hex" ,rust-hex-0.4) + ("rust-tempdir" ,rust-tempdir-0.3)))) + (home-page "https://lib.rs/crates/security_framework") + (synopsis "@code{Security.framework} bindings for macOS and iOS") + (description "This package provides @code{Security.framework} bindings for +macOS and iOS.") + (license (list license:expat license:asl2.0)))) + (define-public rust-security-framework-0.3 (package + (inherit rust-security-framework-1) (name "rust-security-framework") (version "0.3.4") (source @@ -21045,7 +23841,6 @@ proven statistical guarantees.") (sha256 (base32 "1pqn79cl9njnnhsmjvvphkzx8is5jhfd8bhxpllgvrgggjfl5wlf")))) - (build-system cargo-build-system) (arguments `(#:tests? #f ; Some test files not included in release. #:cargo-inputs @@ -21055,16 +23850,61 @@ proven statistical guarantees.") ("rust-security-framework-sys" ,rust-security-framework-sys-0.3)) #:cargo-development-inputs (("rust-hex" ,rust-hex-0.4) - ("rust-tempdir" ,rust-tempdir-0.3)))) - (home-page "https://lib.rs/crates/security_framework") - (synopsis - "Security.framework bindings for macOS and iOS") - (description - "Security.framework bindings for macOS and iOS.") + ("rust-tempdir" ,rust-tempdir-0.3)))))) + +(define-public rust-security-framework-0.2 + (package + (inherit rust-security-framework-0.3) + (name "rust-security-framework") + (version "0.2.4") + (source + (origin + (method url-fetch) + (uri (crate-uri "security-framework" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0gw3xxg8yzbjb4ny5cy07gky177c1nbgpxqjsw3hfzpfgrxji9bz")))) + (arguments + `(#:cargo-inputs + (("rust-core-foundation" + ,rust-core-foundation-0.6) + ("rust-core-foundation-sys" + ,rust-core-foundation-sys-0.6) + ("rust-libc" ,rust-libc-0.2) + ("rust-security-framework-sys" + ,rust-security-framework-sys-0.2)) + #:cargo-development-inputs + (("rust-hex" ,rust-hex-0.3) + ("rust-tempdir" ,rust-tempdir-0.3)))))) + +(define-public rust-security-framework-sys-1 + (package + (name "rust-security-framework-sys") + (version "1.0.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "security-framework-sys" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1iynsjz53lqkkw4zbq8l99xn799chbx90lsmrlfnsyxii14v1kji")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-core-foundation-sys" ,rust-core-foundation-sys-0.7) + ("rust-libc" ,rust-libc-0.2)))) + (home-page "https://lib.rs/crates/security-framework-sys") + (synopsis "Low-level FFI bindings to Apple @code{Security.framework}") + (description "This package provides low level FFI bindings to Apple +@code{Security.framework}.") (license (list license:expat license:asl2.0)))) (define-public rust-security-framework-sys-0.3 (package + (inherit rust-security-framework-sys-1) (name "rust-security-framework-sys") (version "0.3.3") (source @@ -21078,13 +23918,25 @@ proven statistical guarantees.") (build-system cargo-build-system) (arguments `(#:cargo-inputs - (("rust-core-foundation-sys" ,rust-core-foundation-sys-0.6)))) - (home-page "https://lib.rs/crates/security-framework-sys") - (synopsis "Apple `Security.framework` low-level FFI bindings") - (description - "Apple @code{Security.framework} low-level FFI bindings.") - (license (list license:asl2.0 - license:expat)))) + (("rust-core-foundation-sys" ,rust-core-foundation-sys-0.6)))))) + +(define-public rust-security-framework-sys-0.2 + (package + (inherit rust-security-framework-sys-0.3) + (name "rust-security-framework-sys") + (version "0.2.4") + (source + (origin + (method url-fetch) + (uri (crate-uri "security-framework-sys" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "07zv0szz2kfy1hn251h0qsq0q9i1zia768d8vzril1g6xarj7mcj")))) + (arguments + `(#:cargo-inputs + (("rust-core-foundation-sys" ,rust-core-foundation-sys-0.6) + ("rust-libc" ,rust-libc-0.2)))))) (define-public rust-selectors-0.22 (package @@ -21152,6 +24004,33 @@ proven statistical guarantees.") (description "Rust semaphore library.") (license license:expat))) +(define-public rust-semver-0.10 + (package + (name "rust-semver") + (version "0.10.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "semver" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1401i88135h2paxwvf0b51hf585rdzxa8yxg7j800gk2z8lfqk1r")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-diesel" ,rust-diesel-1) + ("rust-semver-parser" ,rust-semver-parser-0.7) + ("rust-serde" ,rust-serde-1)) + #:cargo-development-inputs + (("rust-serde-derive" ,rust-serde-derive-1) + ("rust-serde-json" ,rust-serde-json-1)))) + (home-page "https://docs.rs/crate/semver/") + (synopsis "Semantic version parsing and comparison") + (description "This package provides semantic version parsing and +comparison.") + (license (list license:expat license:asl2.0)))) + (define-public rust-semver-0.9 (package (name "rust-semver") @@ -21219,7 +24098,7 @@ proven statistical guarantees.") (define-public rust-serde-1 (package (name "rust-serde") - (version "1.0.113") + (version "1.0.116") (source (origin (method url-fetch) @@ -21227,7 +24106,7 @@ proven statistical guarantees.") (file-name (string-append name "-" version ".crate")) (sha256 (base32 - "0smc5pj00nci5g9a9hrz9w7rs7f5cir7gvsqf54pj74qc62cfdb1")))) + "19bhld1qyjs4qr3rd6dmzmy13imb6a1qbinb2fjqd0yjh6pmgzln")))) (build-system cargo-build-system) (arguments `(#:cargo-inputs @@ -21370,6 +24249,21 @@ proven statistical guarantees.") "Optimized handling of @code{&[u8]} and @code{Vec<u8>} for Serde.") (license (list license:expat license:asl2.0)))) +(define-public rust-serde-bytes-0.10 + (package + (inherit rust-serde-bytes-0.11) + (name "rust-serde-bytes") + (version "0.10.5") + (source + (origin + (method url-fetch) + (uri (crate-uri "serde_bytes" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "127c9br02ygajs4z3bw850i48nc25f4yn7kmh21wqd3z7nlbiyyy")))))) + (define-public rust-serde-cbor-0.11 (package (name "rust-serde-cbor") @@ -21412,7 +24306,7 @@ proven statistical guarantees.") (arguments `(#:skip-build? #t #:cargo-inputs - (("rust-byteorder" ,rust-byteorder-1.3) + (("rust-byteorder" ,rust-byteorder-1) ("rust-half" ,rust-half-1) ("rust-serde" ,rust-serde-1)) #:cargo-development-inputs @@ -21474,7 +24368,7 @@ for the serde framework.") (define-public rust-serde-derive-1 (package (name "rust-serde-derive") - (version "1.0.113") + (version "1.0.116") (source (origin (method url-fetch) @@ -21482,7 +24376,7 @@ for the serde framework.") (file-name (string-append name "-" version ".crate")) (sha256 (base32 - "0cdf4r6bwxw6cwg2fj93kwd7mypwhjfzxzyw3i4cnm09gnhymick")))) + "1s4sbl32lk1afxryfax73clvq22lwzdgzljb7f3mgr6q1wvscc7n")))) (build-system cargo-build-system) (arguments `(#:cargo-inputs @@ -21547,11 +24441,11 @@ for the serde framework.") ("rust-serde" ,rust-serde-1)) #:cargo-development-inputs (;("rust-automod" ,rust-automod-0.1) - ("rust-rustversion" ,rust-rustversion-1.0) + ("rust-rustversion" ,rust-rustversion-1) ("rust-serde-bytes" ,rust-serde-bytes-0.11) ("rust-serde-derive" ,rust-serde-derive-1) ;("rust-serde-stacker" ,rust-serde-stacker-0.1) - ("rust-trybuild" ,rust-trybuild-1.0)))) + ("rust-trybuild" ,rust-trybuild-1)))) (home-page "https://github.com/serde-rs/json") (synopsis "JSON serialization file format") (description @@ -21693,6 +24587,32 @@ for the serde framework.") ((", path = \"../serde\"") "")) #t))))))) +(define-public rust-serde-urlencoded-0.6 + (package + (name "rust-serde-urlencoded") + (version "0.6.1") + (source + (origin + (method url-fetch) + (uri (crate-uri "serde_urlencoded" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "15rcwfkff0md5i231m2ym5756ksw1mkh5b5g2rw72wsc5mzdgicy")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-dtoa" ,rust-dtoa-0.4) + ("rust-itoa" ,rust-itoa-0.4) + ("rust-serde" ,rust-serde-1) + ("rust-url" ,rust-url-2)) + #:cargo-development-inputs + (("rust-serde-derive" ,rust-serde-derive-1)))) + (home-page "https://github.com/nox/serde_urlencoded") + (synopsis "x-www-form-urlencoded meets serde") + (description "x-www-form-urlencoded meets serde.") + (license (list license:expat license:asl2.0)))) + (define-public rust-serde-yaml-0.8 (package (name "rust-serde-yaml") @@ -21787,7 +24707,7 @@ for the serde framework.") `(#:cargo-inputs (("rust-nodrop" ,rust-nodrop-0.1) ("rust-serde" ,rust-serde-1) - ("rust-stable-deref-trait" ,rust-stable-deref-trait-1.1)))) + ("rust-stable-deref-trait" ,rust-stable-deref-trait-1)))) (home-page "https://github.com/servo/servo") (synopsis "Fork of std::sync::Arc with some extra functionality") (description @@ -22733,6 +25653,50 @@ track of where each new file and line starts.") (license (list license:asl2.0 license:expat)))) +(define-public rust-sourcemap-6 + (package + (name "rust-sourcemap") + (version "6.0.1") + (source + (origin + (method url-fetch) + (uri (crate-uri "sourcemap" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1sv1rxc6d2rfvd5xrqzqq0i2y0z1q7sqj3wm9krxbggcccj1y0vf")) + (modules '((guix build utils))) + (snippet + '(begin + ;; Enable unstable features + (substitute* "src/lib.rs" + (("//! This library" all) + (string-append "#![feature(inner_deref)]" "\n" all))) + #t)))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-base64" ,rust-base64-0.11) + ("rust-if-chain" ,rust-if-chain-1) + ("rust-lazy-static" ,rust-lazy-static-1) + ("rust-regex" ,rust-regex-1) + ("rust-scroll" ,rust-scroll-0.10) + ("rust-serde" ,rust-serde-1) + ("rust-serde-json" ,rust-serde-json-1) + ("rust-url" ,rust-url-2)) + #:cargo-development-inputs + (("rust-rustc-version" ,rust-rustc-version-0.2)) + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'enable-unstable-features + (lambda _ + (setenv "RUSTC_BOOTSTRAP" "1") + #t))))) + (home-page "https://github.com/getsentry/rust-sourcemap") + (synopsis "Basic sourcemap handling for Rust") + (description "This package provides basic sourcemap handling for Rust.") + (license license:bsd-3))) + (define-public rust-speculate-0.1 (package (name "rust-speculate") @@ -22840,7 +25804,29 @@ initializers are available.") "This package provides a single-producer single-consumer lock-free buffer.") (license license:expat))) -(define-public rust-stable-deref-trait-1.1 +(define-public rust-st-map-0.1 + (package + (name "rust-st-map") + (version "0.1.4") + (source + (origin + (method url-fetch) + (uri (crate-uri "st-map" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1l820pisfi134v3wy0na480wl7rf69kgxzvmgc560ngqb0xb3biw")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-arrayvec" ,rust-arrayvec-0.5) + ("rust-static-map-macro" ,rust-static-map-macro-0.2)))) + (home-page "https://github.com/kdy1/rust-static-map") + (synopsis "Runtime for a stack-alocated map") + (description "This package provides a runtime for a stack-alocated map.") + (license license:expat))) + +(define-public rust-stable-deref-trait-1 (package (name "rust-stable-deref-trait") (version "1.1.1") @@ -22919,6 +25905,27 @@ deeply recursive algorithms that may accidentally blow the stack.") "StackVec: vector-like facade for stack-allocated arrays.") (license (list license:asl2.0 license:expat)))) +(define-public rust-standback-0.2 + (package + (name "rust-standback") + (version "0.2.10") + (source + (origin + (method url-fetch) + (uri (crate-uri "standback" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1rnqv9dbq9c4nz7097v0f1d04fjwwsvvyy8rmz8lg1szxahix9rk")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-development-inputs + (("rust-version-check" ,rust-version-check-0.9)))) + (home-page "https://github.com/jhpratt/standback") + (synopsis "New standard library, old compiler") + (description "New standard library, old compiler.") + (license (list license:expat license:asl2.0)))) + (define-public rust-static-assertions-1 (package (name "rust-static-assertions") @@ -22953,6 +25960,31 @@ are met.") (base32 "1lw33i89888yb3x29c6dv4mrkg3534n0rlg3r7qzh4p58xmv6gkz")))))) +(define-public rust-static-map-macro-0.2 + (package + (name "rust-static-map-macro") + (version "0.2.1") + (source + (origin + (method url-fetch) + (uri (crate-uri "static-map-macro" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1zcm28d46dggdpbn06xlpa274z25l228cmzxpc8qh8s8y43kwl6m")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-pmutil" ,rust-pmutil-0.5) + ("rust-proc-macro2" ,rust-proc-macro2-1) + ("rust-quote" ,rust-quote-1) + ("rust-syn" ,rust-syn-1)))) + (home-page "https://github.com/kdy1/rust-static-map") + (synopsis "Macro to create a stack-alocated map") + (description "This package provides a macro to create a stack-alocated +map.") + (license license:expat))) + (define-public rust-stb-truetype-0.3 (package (name "rust-stb-truetype") @@ -22970,7 +26002,7 @@ are met.") (arguments `(#:tests? #f ; tests not included in release #:cargo-inputs - (("rust-byteorder" ,rust-byteorder-1.3) + (("rust-byteorder" ,rust-byteorder-1) ("rust-libm" ,rust-libm-0.2)) #:cargo-development-inputs (("rust-approx" ,rust-approx-0.3)))) @@ -23178,8 +26210,32 @@ longform text (e.g., ESC becomes @code{r\x1B}) and tries to encode ill-formed UTF-8.") (license (list license:expat license:asl2.0)))) +(define-public rust-stream-cipher-0.4 + (package + (name "rust-stream-cipher") + (version "0.4.1") + (source + (origin + (method url-fetch) + (uri (crate-uri "stream-cipher" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "120y04k3d2jyfnvyrlf38x6bf0yckyk30c7zf8v8qaq4fjcyvy09")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-blobby" ,rust-blobby-0.1) + ("rust-block-cipher" ,rust-block-cipher-0.7) + ("rust-generic-array" ,rust-generic-array-0.14)))) + (home-page "https://github.com/RustCrypto/traits") + (synopsis "Stream cipher traits") + (description "This package provides stream cipher traits.") + (license (list license:expat license:asl2.0)))) + (define-public rust-stream-cipher-0.3 (package + (inherit rust-stream-cipher-0.4) (name "rust-stream-cipher") (version "0.3.0") (source @@ -23191,16 +26247,11 @@ UTF-8.") (sha256 (base32 "1g1nd8r6pph70rzk5yyvg7a9ji7pkap9ddiqpp4v9xa9ys0bqqc8")))) - (build-system cargo-build-system) (arguments `(#:skip-build? #t #:cargo-inputs (("rust-blobby" ,rust-blobby-0.1) - ("rust-generic-array" ,rust-generic-array-0.13)))) - (home-page "https://github.com/RustCrypto/traits") - (synopsis "Stream cipher traits") - (description "Stream cipher traits.") - (license (list license:asl2.0 license:expat)))) + ("rust-generic-array" ,rust-generic-array-0.13)))))) (define-public rust-streaming-stats-0.2 (package @@ -23625,10 +26676,123 @@ cryptographic implementations.") (description "Custom derive for sval.") (license (list license:asl2.0 license:expat)))) +(define-public rust-swc-1 + (package + (name "rust-swc") + (version "1.2.24") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/swc-project/swc") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1w9al035x0gmard80vqvah8sy8szs6bnd1ynnyssiiylzg7vhyyv")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-ansi-term" ,rust-ansi-term-0.12) + ("rust-base64" ,rust-base64-0.12) + ("rust-console-error-panic-hook" ,rust-console-error-panic-hook-0.1) + ("rust-crc" ,rust-crc-1) + ("rust-darling" ,rust-darling-0.10) + ("rust-dashmap" ,rust-dashmap-3) + ("rust-either" ,rust-either-1) + ("rust-fxhash" ,rust-fxhash-0.2) + ("rust-is-macro" ,rust-is-macro-0.1) + ("rust-jemallocator" ,rust-jemallocator-0.3) + ("rust-log" ,rust-log-0.4) + ("rust-mimalloc" ,rust-mimalloc-0.1) + ("rust-napi" ,rust-napi-0.5) + ("rust-napi-build" ,rust-napi-build-0.2) + ("rust-napi-derive" ,rust-napi-derive-0.5) + ("rust-nom" ,rust-nom-5) + ("rust-once-cell" ,rust-once-cell-1) + ("rust-parking-lot" ,rust-parking-lot-0.7) + ("rust-path-clean" ,rust-path-clean-0.1) + ("rust-petgraph" ,rust-petgraph-0.5) + ("rust-proc-macro2" ,rust-proc-macro2-1) + ("rust-radix-fmt" ,rust-radix-fmt-1) + ("rust-regex" ,rust-regex-1) + ("rust-relative-path" ,rust-relative-path-1) + ("rust-retain-mut" ,rust-retain-mut-0.1) + ("rust-scoped-tls" ,rust-scoped-tls-1.0) + ("rust-st-map" ,rust-st-map-0.1) + ("rust-string-cache" ,rust-string-cache-0.8) + ("rust-walkdir" ,rust-walkdir-2) + ("rust-wasm-bindgen-futures" ,rust-wasm-bindgen-futures-0.4)) + #:cargo-development-inputs + (("rust-anyhow" ,rust-anyhow-1.0) + ("rust-env-logger" ,rust-env-logger-0.7) + ("rust-num-bigint" ,rust-num-bigint-0.2) + ("rust-pretty-assertions" ,rust-pretty-assertions-0.6) + ("rust-pretty-env-logger" ,rust-pretty-env-logger-0.3) + ("rust-serde" ,rust-serde-1) + ("rust-serde-json" ,rust-serde-json-1) + ("rust-sourcemap" ,rust-sourcemap-6) + ("rust-string-cache-codegen" ,rust-string-cache-codegen-0.5) + ("rust-tempfile" ,rust-tempfile-3)) + #:tests? #f ;; tests env_query_chrome_71 and project_env fail + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'enable-unstable-features + (lambda _ + (setenv "RUSTC_BOOTSTRAP" "1") + (substitute* "ecmascript/jsdoc/src/lib.rs" + (("pub use self" all) + (string-append "#![feature(non_exhaustive)]\n" all))) + (substitute* "ecmascript/parser/src/lib.rs" + (("//! es2019" all) + (string-append "#![feature(non_exhaustive)] +#![feature(mem_take)] +#![feature(proc_macro_hygiene)] +" all))) + (substitute* "ecmascript/transforms/src/lib.rs" + (("#!\\[cfg_attr" all) + (string-append "#![feature(mem_take)]\n" all))) + #t)) + (add-after 'enable-unstable-features 'patch-build-failures + (lambda _ + (chmod ".cargo/config" 420) + (substitute* "ecmascript/transforms/macros/src/lib.rs" + (("use proc_macro::") + "extern crate proc_macro;\nuse proc_macro::")) + (substitute* "common/src/errors/emitter.rs" + ((" #\\[cfg\\(feature = \"tty-emitter\"\\)\\]\n") "")) + #t))))) + (home-page "https://swc.rs/") + (synopsis "Typescript/javascript compiler") + (description "@code{rust-swc} is a typescript/javascript compiler. It +consumes a javascript or typescript file which uses recently added features +like async-await and emits javascript code which can be executed on old +browsers.") + (license (list license:expat + license:asl2.0)))) + +(define-public rust-syn-test-suite-0 + (package + (name "rust-syn-test-suite") + (version "0.0.0+test") + (source + (origin + (method url-fetch) + (uri (crate-uri "syn-test-suite" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1d9ffrbgci1qjdcpvgrsg3sh24qdsdh66zcsvn5prrk05ycn3mm0")))) + (build-system cargo-build-system) + (home-page "https://github.com/dtolnay/syn") + (synopsis "Test suite of the syn crate") + (description "This package provides the test suite of the syn crate.") + (license (list license:expat license:asl2.0)))) + (define-public rust-syn-1 (package (name "rust-syn") - (version "1.0.17") + (version "1.0.40") (source (origin (method url-fetch) @@ -23636,7 +26800,7 @@ cryptographic implementations.") (file-name (string-append name "-" version ".crate")) (sha256 (base32 - "00xvf772ys4fj9fr8kplmsqb9if215dsipi3nv54aw9q7xkfpw0d")))) + "0l437lsnv289y64pgl2mfvr1vgrb2hix5bb5a4rbjncvqly7sgwn")))) (build-system cargo-build-system) (arguments `(#:skip-build? #t @@ -23646,12 +26810,13 @@ cryptographic implementations.") ("rust-quote" ,rust-quote-1)) #:cargo-development-inputs (("rust-anyhow" ,rust-anyhow-1.0) - ("rust-flate2" ,rust-flate2-1.0) - ;("rust-insta" ,rust-insta-0.12) + ("rust-flate2" ,rust-flate2-1) + ("rust-insta" ,rust-insta-0.16) ("rust-rayon" ,rust-rayon-1) ("rust-ref-cast" ,rust-ref-cast-1.0) ("rust-regex" ,rust-regex-1) - ;("rust-reqwest" ,rust-reqwest-0.10) + ("rust-reqwest" ,rust-reqwest-0.10) + ("rust-syn-test-suite" ,rust-syn-test-suite-0) ("rust-tar" ,rust-tar-0.4) ("rust-termcolor" ,rust-termcolor-1) ("rust-walkdir" ,rust-walkdir-2)))) @@ -23689,6 +26854,53 @@ cryptographic implementations.") ("rust-walkdir" ,rust-walkdir-2)))) (properties '()))) +(define-public rust-syn-0.14 + (package + (inherit rust-syn-0.15) + (name "rust-syn") + (version "0.14.9") + (source + (origin + (method url-fetch) + (uri (crate-uri "syn" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0hgpgi8lcvkfd5jnma5fxq41ycb9kna635b4c2wl4z1rmbnfj6i6")))) + (arguments + `(#:cargo-inputs + (("rust-proc-macro2" ,rust-proc-macro2-0.4) + ("rust-quote" ,rust-quote-0.6) + ("rust-unicode-xid" ,rust-unicode-xid-0.1)) + #:cargo-development-inputs + (("rust-rayon" ,rust-rayon-1) + ("rust-walkdir" ,rust-walkdir-2)))))) + +(define-public rust-syn-0.13 + (package + (inherit rust-syn-0.14) + (name "rust-syn") + (version "0.13.11") + (source + (origin + (method url-fetch) + (uri (crate-uri "syn" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "16qvx8qyb5v4vjbg9rk8848bw6x4i6vzs8v7f4n1v9pkj9ibzy8l")))) + (arguments + `(#:tests? #f + #:cargo-inputs + (("rust-proc-macro2" ,rust-proc-macro2-0.3) + ("rust-quote" ,rust-quote-0.5) + ("rust-unicode-xid" ,rust-unicode-xid-0.1)) + #:cargo-development-inputs + (("rust-rayon" ,rust-rayon-1) + ("rust-walkdir" ,rust-walkdir-2)))))) + (define-public rust-syn-0.11 (package (inherit rust-syn-0.15) @@ -23877,11 +27089,11 @@ cryptographic implementations.") ("rust-regex-syntax" ,rust-regex-syntax-0.6) ("rust-serde" ,rust-serde-1) ("rust-serde-derive" ,rust-serde-derive-1) - ("rust-flate2" ,rust-flate2-1.0) + ("rust-flate2" ,rust-flate2-1) ("rust-serde-json" ,rust-serde-json-1) ("rust-fnv" ,rust-fnv-1) ("rust-bitflags" ,rust-bitflags-1) - ("rust-lazycell" ,rust-lazycell-1.2) + ("rust-lazycell" ,rust-lazycell-1) ("rust-bincode" ,rust-bincode-1) ("rust-lazy-static" ,rust-lazy-static-1) ("rust-walkdir" ,rust-walkdir-2) @@ -24014,7 +27226,7 @@ syntax extension expansion.") `(#:skip-build? #t #:cargo-inputs (("rust-bitflags" ,rust-bitflags-1) - ("rust-byteorder" ,rust-byteorder-1.3) + ("rust-byteorder" ,rust-byteorder-1) ("rust-failure" ,rust-failure-0.1) ("rust-libc" ,rust-libc-0.2) ("rust-walkdir" ,rust-walkdir-2)))) @@ -24041,7 +27253,7 @@ syntax extension expansion.") (arguments `(#:skip-build? #t ; Unsupported on Linux. #:cargo-inputs - (("rust-byteorder" ,rust-byteorder-1.3) + (("rust-byteorder" ,rust-byteorder-1) ("rust-errno" ,rust-errno-0.2) ("rust-libc" ,rust-libc-0.2)))))) @@ -24097,6 +27309,24 @@ syntax extension expansion.") (description "Send log messages to syslog.") (license license:expat))) +(define-public rust-take-mut-0.2 + (package + (name "rust-take-mut") + (version "0.2.2") + (source + (origin + (method url-fetch) + (uri (crate-uri "take_mut" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0q2d7w6nd5bl7bay5csq065sjg8fw0jcx6hl1983cpzf25fh0r7p")))) + (build-system cargo-build-system) + (home-page "https://github.com/Sgeo/take_mut") + (synopsis "Take a T from a &mut T temporarily") + (description "This package lets you temporarily take a T from a &mut T.") + (license license:expat))) + (define-public rust-takeable-option-0.4 (package (name "rust-takeable-option") @@ -24254,6 +27484,28 @@ directories.") (license (list license:asl2.0 license:expat)))) +(define-public rust-tempfile-2 + (package + (inherit rust-tempfile-3) + (name "rust-tempfile") + (version "2.2.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "tempfile" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1q61byf232rra0vqxp4qp10wwwqsqqd45qjj80ql5f34vgljzkhi")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-kernel32-sys" ,rust-kernel32-sys-0.2) + ("rust-libc" ,rust-libc-0.2) + ("rust-rand" ,rust-rand-0.3) + ("rust-redox-syscall" ,rust-redox-syscall-0.1) + ("rust-winapi" ,rust-winapi-0.2)))))) + (define-public rust-tendril-0.4 (package (name "rust-tendril") @@ -24324,7 +27576,7 @@ directories.") "0hkgjrfisj6zjwz525639pmsvzhlc48a0h65nw87qrdp6jihdlgd")))) (arguments `(#:cargo-inputs - (("rust-byteorder" ,rust-byteorder-1.3) + (("rust-byteorder" ,rust-byteorder-1) ("rust-dirs" ,rust-dirs-1.0) ("rust-winapi" ,rust-winapi-0.3)))))) @@ -24560,6 +27812,20 @@ bindings are a small wrapper around the raw C functions, which converts integer return values to @code{std::io::Result} to indicate success or failure.") (license license:expat))) +(define-public rust-termios-0.2 + (package + (inherit rust-termios-0.3) + (name "rust-termios") + (version "0.2.2") + (source + (origin + (method url-fetch) + (uri (crate-uri "termios" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0fk8nl0rmk43jrh6hjz6c6d83ri7l6fikag6lh0ffz3di9cwznfm")))))) + (define-public rust-test-assembler-0.1 (package (name "rust-test-assembler") @@ -24577,7 +27843,7 @@ return values to @code{std::io::Result} to indicate success or failure.") (arguments `(#:skip-build? #t #:cargo-inputs - (("rust-byteorder" ,rust-byteorder-1.3)))) + (("rust-byteorder" ,rust-byteorder-1)))) (home-page "https://github.com/luser/rust-test-assembler") (synopsis "Build complex binary streams") (description @@ -24668,7 +27934,7 @@ handle Unicode characters correctly.") "An owned slice that packs the slice storage into a single word when possible.") (license license:mpl2.0))) -(define-public rust-thiserror-1.0 +(define-public rust-thiserror-1 (package (name "rust-thiserror") (version "1.0.9") @@ -24689,8 +27955,8 @@ handle Unicode characters correctly.") #:cargo-development-inputs (("rust-anyhow" ,rust-anyhow-1.0) ("rust-ref-cast" ,rust-ref-cast-1.0) - ("rust-rustversion" ,rust-rustversion-1.0) - ("rust-trybuild" ,rust-trybuild-1.0)))) + ("rust-rustversion" ,rust-rustversion-1) + ("rust-trybuild" ,rust-trybuild-1)))) (home-page "https://github.com/dtolnay/thiserror") (synopsis "derive(Error)") (description "This package provides @code{derive(Error)} in Rust.") @@ -24722,7 +27988,7 @@ handle Unicode characters correctly.") @code{thiserror} crate.") (license (list license:expat license:asl2.0)))) -(define-public rust-thread-id-3.3 +(define-public rust-thread-id-3 (package (name "rust-thread-id") (version "3.3.0") @@ -24750,7 +28016,7 @@ different for every thread.") (define-public rust-thread-id-2.0 (package - (inherit rust-thread-id-3.3) + (inherit rust-thread-id-3) (name "rust-thread-id") (version "2.0.0") (source @@ -24848,10 +28114,42 @@ fixed set of worker threads.") (license (list license:asl2.0 license:expat)))) +(define-public rust-time-0.2 + (package + (name "rust-time") + (version "0.2.19") + (source + (origin + (method url-fetch) + (uri (crate-uri "time" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "18bhl0nmfyd8drksskw830ybw9pr47pisfn4245wabqijgys3hc0")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-const-fn" ,rust-const-fn-0.4) + ("rust-libc" ,rust-libc-0.2) + ("rust-rand" ,rust-rand-0.7) + ("rust-serde" ,rust-serde-1) + ("rust-standback" ,rust-standback-0.2) + ("rust-stdweb" ,rust-stdweb-0.4) + ("rust-time-macros" ,rust-time-macros-0.1) + ("rust-winapi" ,rust-winapi-0.3)) + #:cargo-development-inputs + (("rust-version-check" ,rust-version-check-0.9)))) + (home-page "https://github.com/time-rs/time") + (synopsis "Date and time library") + (description "This package provides a date and time library. It is fully +interoperable with the standard library, and is mostly compatible with +@code{#![no_std]}.") + (license (list license:expat license:asl2.0)))) + (define-public rust-time-0.1 (package (name "rust-time") - (version "0.1.42") + (version "0.1.43") (source (origin (method url-fetch) @@ -24859,7 +28157,7 @@ fixed set of worker threads.") (file-name (string-append name "-" version ".crate")) (sha256 (base32 - "0vsbvsz0ryxb35dy9j4anxvy8zlaplmjmi0a4z4l64bc135cz3fv")))) + "0f14wrgxj7ya2v4msg5mni7046bsm2angm7cn3pd3yv04gpm12na")))) (build-system cargo-build-system) (arguments `(#:skip-build? #t @@ -24879,10 +28177,81 @@ in Rust.") (license (list license:asl2.0 license:expat)))) -(define-public rust-tinytemplate-1.0 +(define-public rust-time-macros-0.1 + (package + (name "rust-time-macros") + (version "0.1.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "time-macros" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0bdbxjgbxb81xgy08h5dh4qvwy95sy9x8g1y31g11g4my3lvdscs")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-proc-macro-hack" ,rust-proc-macro-hack-0.5) + ("rust-time-macros-impl" ,rust-time-macros-impl-0.1)))) + (home-page "https://github.com/time-rs/time") + (synopsis "Procedural macros for the time crate") + (description "This package provides procedural macros for the time +crate.") + (license (list license:expat license:asl2.0)))) + +(define-public rust-time-macros-impl-0.1 + (package + (name "rust-time-macros-impl") + (version "0.1.1") + (source + (origin + (method url-fetch) + (uri (crate-uri "time-macros-impl" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1ymqhvnvry3giiw45xvarlgagl8hnd6cz4alkz32fq5dvwgbxhz5")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-proc-macro-hack" ,rust-proc-macro-hack-0.5) + ("rust-proc-macro2" ,rust-proc-macro2-1) + ("rust-quote" ,rust-quote-1) + ("rust-standback" ,rust-standback-0.2) + ("rust-syn" ,rust-syn-1)))) + (home-page "https://github.com/time-rs/time") + (synopsis "Procedural macros for the time crate") + (description "This package provides procedural macros for the time +crate.") + (license (list license:expat license:asl2.0)))) + +(define-public rust-timebomb-0.1 + (package + (name "rust-timebomb") + (version "0.1.2") + (source + (origin + (method url-fetch) + (uri (crate-uri "timebomb" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0fl8bxi9bf5bv44i1afii63695cx4jlki869v0kp01ipnvs8c23z")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-pulse" ,rust-pulse-0.5) + ("rust-time" ,rust-time-0.2)))) + (home-page "https://github.com/csherratt/timebomb") + (synopsis "Timeout mechanism for unit tests") + (description "This package provides a timeout mechanism for unit tests.") + (license license:asl2.0))) + +(define-public rust-tinytemplate-1 (package (name "rust-tinytemplate") - (version "1.0.3") + (version "1.1.0") (source (origin (method url-fetch) @@ -24891,7 +28260,7 @@ in Rust.") (string-append name "-" version ".tar.gz")) (sha256 (base32 - "06ipxjwl1w6synvql8b50qxbqv0w04agvmmfqcdynr9ygmkcd8sp")))) + "0by1k1hdz6jgv4ykd0izirwsm6p3qb6s9g1jb4ffqg500ihcfgbd")))) (build-system cargo-build-system) (arguments `(#:skip-build? #t @@ -25011,10 +28380,10 @@ backed applications.") ("rust-tokio-uds" ,rust-tokio-uds-0.2)) #:cargo-development-inputs (("rust-env-logger" ,rust-env-logger-0.5) - ("rust-flate2" ,rust-flate2-1.0) + ("rust-flate2" ,rust-flate2-1) ("rust-futures-cpupool" ,rust-futures-cpupool-0.1) ("rust-http" ,rust-http-0.1) - ("rust-httparse" ,rust-httparse-1.3) + ("rust-httparse" ,rust-httparse-1) ("rust-libc" ,rust-libc-0.2) ("rust-num-cpus" ,rust-num-cpus-1) ("rust-serde" ,rust-serde-1) @@ -25043,7 +28412,7 @@ backed applications.") (arguments `(#:cargo-inputs (("rust-bytes" ,rust-bytes-0.4) - ("rust-either" ,rust-either-1.5) + ("rust-either" ,rust-either-1) ("rust-futures" ,rust-futures-0.1)) #:cargo-development-inputs (("rust-tokio-mock-task" ,rust-tokio-mock-task-0.1)))) @@ -25109,10 +28478,10 @@ backed applications.") ("rust-tokio-timer" ,rust-tokio-timer-0.2)) #:cargo-development-inputs (("rust-env-logger" ,rust-env-logger-0.4) - ("rust-flate2" ,rust-flate2-1.0) + ("rust-flate2" ,rust-flate2-1) ("rust-futures-cpupool" ,rust-futures-cpupool-0.1) ("rust-http" ,rust-http-0.1) - ("rust-httparse" ,rust-httparse-1.3) + ("rust-httparse" ,rust-httparse-1) ("rust-libc" ,rust-libc-0.2) ("rust-num-cpus" ,rust-num-cpus-1) ("rust-serde" ,rust-serde-1) @@ -25154,6 +28523,37 @@ Foundation for the rest of the tokio crates.") the current thread.") (license license:expat))) +(define-public rust-tokio-executor-0.2 + (package + (name "rust-tokio-executor") + (version "0.2.0-alpha.6") + (source + (origin + (method url-fetch) + (uri (crate-uri "tokio-executor" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1j67p4g9y20bvlbphjmpfzc0yy8clhmz6wza6hw94iciyvncxscy")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-crossbeam-channel" ,rust-crossbeam-channel-0.3) + ("rust-crossbeam-deque" ,rust-crossbeam-deque-0.7) + ("rust-crossbeam-queue" ,rust-crossbeam-queue-0.1) + ("rust-crossbeam-utils" ,rust-crossbeam-utils-0.6) + ("rust-futures-core-preview" ,rust-futures-core-preview-0.3) + ("rust-futures-util-preview" ,rust-futures-util-preview-0.3) + ("rust-lazy-static" ,rust-lazy-static-1) + ("rust-num-cpus" ,rust-num-cpus-1) + ("rust-slab" ,rust-slab-0.4) + ("rust-tokio-sync" ,rust-tokio-sync-0.2) + ("rust-tracing" ,rust-tracing-0.1)))) + (home-page "https://github.com/tokio-rs/tokio") + (synopsis "Future execution primitives") + (description "This package provides future execution primitives.") + (license license:expat))) + ;; Cyclic dependency with rust-tokio. (define-public rust-tokio-executor-0.1 (package @@ -25367,6 +28767,32 @@ applications backed by buffers.") Tokio.") (license (list license:expat license:asl2.0)))) +(define-public rust-tokio-openssl-0.4 + (package + (name "rust-tokio-openssl") + (version "0.4.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "tokio-openssl" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "15751d47984ncvllagz35ldl10ifr8555wixvsg6k3i0yk2hhjrw")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-openssl" ,rust-openssl-0.10) + ("rust-tokio" ,rust-tokio-0.2)) + #:cargo-development-inputs + (("rust-futures" ,rust-futures-0.3) + ("rust-tokio" ,rust-tokio-0.2)))) + (home-page "https://github.com/alexcrichton/tokio-openssl") + (synopsis "SSL streams for Tokio backed by OpenSSL") + (description "This package is an implementation of SSL streams for Tokio +backed by OpenSSL.") + (license (list license:expat license:asl2.0)))) + (define-public rust-tokio-process-0.2 (package (name "rust-tokio-process") @@ -25445,8 +28871,71 @@ futures.") "Event loop that drives Tokio I/O resources.") (license license:expat))) +(define-public rust-tokio-rustls-0.14 + (package + (name "rust-tokio-rustls") + (version "0.14.1") + (source + (origin + (method url-fetch) + (uri (crate-uri "tokio-rustls" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "16l8kx3j7i3jxq36qs3hnmys6cd2zqcixc1n0kf3kymwanr32a71")))) + (build-system cargo-build-system) + (arguments + `(;; These tests require network access. + #:cargo-test-flags '("--release" "--" "--skip=tls12" "--skip=modern") + #:cargo-inputs + (("rust-bytes" ,rust-bytes-0.5) + ("rust-futures-core" ,rust-futures-core-0.3) + ("rust-rustls" ,rust-rustls-0.18) + ("rust-tokio" ,rust-tokio-0.2) + ("rust-webpki" ,rust-webpki-0.21)) + #:cargo-development-inputs + (("rust-futures-util" ,rust-futures-util-0.3) + ("rust-lazy-static" ,rust-lazy-static-1) + ("rust-tokio" ,rust-tokio-0.2) + ("rust-webpki-roots" ,rust-webpki-roots-0.20)))) + (home-page "https://github.com/tokio-rs/tls") + (synopsis "Asynchronous TLS/SSL streams for Tokio") + (description "This package provides asynchronous TLS/SSL streams for Tokio +using Rustls.") + (license (list license:expat license:asl2.0)))) + +(define-public rust-tokio-rustls-0.13 + (package + (inherit rust-tokio-rustls-0.14) + (name "rust-tokio-rustls") + (version "0.13.1") + (source + (origin + (method url-fetch) + (uri (crate-uri "tokio-rustls" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1d2iy01v5psvm0ygcflzjna7zwgwk36w36bfr6mqf1vpsah65jqm")))) + (arguments + `(;; These tests require network access. + #:cargo-test-flags '("--release" "--" "--skip=tls12" "--skip=modern") + #:cargo-inputs + (("rust-bytes" ,rust-bytes-0.5) + ("rust-futures-core" ,rust-futures-core-0.3) + ("rust-rustls" ,rust-rustls-0.17) + ("rust-tokio" ,rust-tokio-0.2) + ("rust-webpki" ,rust-webpki-0.21)) + #:cargo-development-inputs + (("rust-futures-util" ,rust-futures-util-0.3) + ("rust-lazy-static" ,rust-lazy-static-1) + ("rust-tokio" ,rust-tokio-0.2) + ("rust-webpki-roots" ,rust-webpki-roots-0.19)))) + (license (list license:expat license:asl2.0)))) + (define-public rust-tokio-rustls-0.12 (package + (inherit rust-tokio-rustls-0.13) (name "rust-tokio-rustls") (version "0.12.2") (source @@ -25456,7 +28945,6 @@ futures.") (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 "1k6rpw4nmgsamh8vbf8xqrf4rr5sqs18i93561bydflajz0gw6hl")))) - (build-system cargo-build-system) (arguments `(;; These tests require network access. #:cargo-test-flags '("--release" "--" "--skip=tls12" "--skip=modern") @@ -25471,10 +28959,6 @@ futures.") ("rust-lazy-static" ,rust-lazy-static-1) ("rust-tokio" ,rust-tokio-0.2) ("rust-webpki-roots" ,rust-webpki-roots-0.18)))) - (home-page "https://github.com/quininer/tokio-rustls") - (synopsis "Asynchronous TLS/SSL streams for Tokio using Rustls") - (description "This package provides asynchronous TLS/SSL streams for Tokio -using Rustls.") (license (list license:expat license:asl2.0)))) (define-public rust-tokio-signal-0.2 @@ -25513,8 +28997,63 @@ using Rustls.") futures.") (license license:expat))) +(define-public rust-tokio-socks-0.2 + (package + (name "rust-tokio-socks") + (version "0.2.2") + (source + (origin + (method url-fetch) + (uri (crate-uri "tokio-socks" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1bwdjafbbs0907w42dl899inykflz4gbm026wh097q151s57i5qr")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-bytes" ,rust-bytes-0.4) + ("rust-either" ,rust-either-1) + ("rust-futures" ,rust-futures-0.3) + ("rust-thiserror" ,rust-thiserror-1) + ("rust-tokio" ,rust-tokio-0.2)) + #:cargo-development-inputs + (("rust-hyper" ,rust-hyper-0.13) + ("rust-once-cell" ,rust-once-cell-1) + ("rust-tokio" ,rust-tokio-0.2)))) + (home-page "https://github.com/sticnarf/tokio-socks") + (synopsis "Asynchronous SOCKS proxy support for Rust") + (description "This package provides asynchronous SOCKS proxy support for +Rust.") + (license license:expat))) + +(define-public rust-tokio-sync-0.2 + (package + (name "rust-tokio-sync") + (version "0.2.0-alpha.6") + (source + (origin + (method url-fetch) + (uri (crate-uri "tokio-sync" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1lirf9s9pibgv8cypqzlddy8q9bxfp4z29qfx83p83slhnvaw6jg")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-fnv" ,rust-fnv-1) + ("rust-futures-core-preview" ,rust-futures-core-preview-0.3) + ("rust-futures-sink-preview" ,rust-futures-sink-preview-0.3) + ("rust-futures-util-preview" ,rust-futures-util-preview-0.3)))) + (home-page "https://tokio.rs") + (synopsis "Synchronization utilities") + (description "This package provides synchronization utilities.") + (license license:expat))) + (define-public rust-tokio-sync-0.1 (package + (inherit rust-tokio-sync-0.2) (name "rust-tokio-sync") (version "0.1.6") (source @@ -25526,7 +29065,6 @@ futures.") (sha256 (base32 "1ryalh7dcmnz46xj1va8aaw3if6vd4mj87r67dqvrqhpyf7j8qi1")))) - (build-system cargo-build-system) (arguments `(#:skip-build? #t #:cargo-inputs @@ -25536,11 +29074,7 @@ futures.") (("rust-env-logger" ,rust-env-logger-0.6) ("rust-loom" ,rust-loom-0.1) ("rust-tokio" ,rust-tokio-0.1) - ("rust-tokio-mock-task" ,rust-tokio-mock-task-0.1)))) - (home-page "https://tokio.rs") - (synopsis "Synchronization utilities") - (description "Synchronization utilities.") - (license license:expat))) + ("rust-tokio-mock-task" ,rust-tokio-mock-task-0.1)))))) (define-public rust-tokio-test-0.2 (package @@ -25666,6 +29200,39 @@ pool.") (description "Timer facilities for Tokio.") (license license:expat))) +(define-public rust-tokio-tls-0.3 + (package + (name "rust-tokio-tls") + (version "0.3.1") + (source + (origin + (method url-fetch) + (uri (crate-uri "tokio-tls" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0hv375949532p32d0w6bm2f6d3r0d00mcdzqjjqlzcmkszyg8w4s")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-native-tls" ,rust-native-tls-0.2) + ("rust-tokio" ,rust-tokio-0.2)) + #:cargo-development-inputs + (("rust-cfg-if" ,rust-cfg-if-0.1) + ("rust-env-logger" ,rust-env-logger-0.6) + ("rust-futures" ,rust-futures-0.3) + ("rust-openssl" ,rust-openssl-0.10) + ("rust-schannel" ,rust-schannel-0.1) + ("rust-security-framework" ,rust-security-framework-0.2) + ("rust-tokio" ,rust-tokio-0.2) + ("rust-tokio-util" ,rust-tokio-util-0.3) + ("rust-winapi" ,rust-winapi-0.3)))) + (home-page "https://tokio.rs") + (synopsis "TLS/SSL streams for Tokio") + (description "An implementation of TLS/SSL streams for Tokio giving an +implementation of TLS for nonblocking I/O streams.") + (license license:expat))) + (define-public rust-tokio-trace-core-0.2 (package (name "rust-tokio-trace-core") @@ -25755,10 +29322,43 @@ pool.") (description "Unix Domain sockets for Tokio.") (license license:expat))) +(define-public rust-tokio-util-0.3 + (package + (name "rust-tokio-util") + (version "0.3.1") + (source + (origin + (method url-fetch) + (uri (crate-uri "tokio-util" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "16b48dl6sbc9x944jgjvsd65ab1w2c2qcziddbrbwv1b3y4l50my")))) + (build-system cargo-build-system) + (arguments + `(#:tests? #f + #:cargo-inputs + (("rust-bytes" ,rust-bytes-0.5) + ("rust-futures-core" ,rust-futures-core-0.3) + ("rust-futures-io" ,rust-futures-io-0.3) + ("rust-futures-sink" ,rust-futures-sink-0.3) + ("rust-log" ,rust-log-0.4) + ("rust-pin-project-lite" ,rust-pin-project-lite-0.1) + ("rust-tokio" ,rust-tokio-0.2)) + #:cargo-development-inputs + (("rust-futures" ,rust-futures-0.3) + ("rust-tokio" ,rust-tokio-0.2) + ("rust-tokio-test" ,rust-tokio-test-0.2)))) + (home-page "https://tokio.rs") + (synopsis "Additional utilities for working with Tokio") + (description "This package provides additional utilities for working with +Tokio.") + (license license:expat))) + (define-public rust-toml-0.5 (package (name "rust-toml") - (version "0.5.6") + (version "0.5.7") (source (origin (method url-fetch) @@ -25766,11 +29366,10 @@ pool.") (file-name (string-append name "-" version ".crate")) (sha256 (base32 - "06n7j8z63hj6g0kj2x6sqwxnm4q3s0q5d873bdk41vqy1cb2vjgz")))) + "0iannv6pb226h0q9vlqg7hdn36fs146yrahw016n107g1fxlbkvm")))) (build-system cargo-build-system) (arguments - `(#:skip-build? #t - #:cargo-inputs + `(#:cargo-inputs (("rust-indexmap" ,rust-indexmap-1) ("rust-serde" ,rust-serde-1)) #:cargo-development-inputs @@ -25832,13 +29431,175 @@ serializing Rust structures.") "This package provides a native Rust encoder and decoder of TOML-formatted files and streams. Provides implementations of the standard Serialize/Deserialize traits for TOML data to facilitate deserializing and -serializing Rust str") - (license (list license:expat license:asl2.0)))) +serializing Rust structures.") + (license (list license:asl2.0 + license:expat)))) + +(define-public rust-tower-layer-0.3 + (package + (name "rust-tower-layer") + (version "0.3.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "tower-layer" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1p6i9rn5d98wsx6hi4hbxh2xqh2clwz0blcm6jrqiciq4rpnapd3")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-development-inputs + (("rust-tower-service" ,rust-tower-service-0.3)))) + (home-page "https://github.com/tower-rs/tower") + (synopsis "Easy composition between @code{Service}s") + (description "This package decorates a @code{Service} to allow easy +composition between @code{Service}s.") + (license license:expat))) + +(define-public rust-tower-service-0.3 + (package + (name "rust-tower-service") + (version "0.3.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "tower-service" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0q4q53w82w1wd71x7vbspg2l3jicb6al2w1qdwxmnjrz8jzvd1z9")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-development-inputs + (("rust-http" ,rust-http-0.1)))) + (home-page "https://github.com/tower-rs/tower") + (synopsis "Asynchronous, request / response based, client or server.") + (description "This package provides a trait representing an asynchronous, +request/response based, client or server.") + (license license:expat))) + +(define-public rust-tower-test-0.3 + (package + (name "rust-tower-test") + (version "0.3.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "tower-test" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1j2k07g3z8ascq7r30bmw3b75v8lhd63mhfl60y59a74q71bp94v")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-futures-util" ,rust-futures-util-0.3) + ("rust-pin-project" ,rust-pin-project-0.4) + ("rust-tokio" ,rust-tokio-0.2) + ("rust-tokio-test" ,rust-tokio-test-0.2) + ("rust-tower-layer" ,rust-tower-layer-0.3) + ("rust-tower-service" ,rust-tower-service-0.3)) + #:cargo-development-inputs + (("rust-tokio" ,rust-tokio-0.2)))) + (home-page "https://github.com/tower-rs/tower") + (synopsis "Utilities for writing client and server @code{Service} tests") + (description "This package provides utilities for writing client and +server @code{Service} tests.") + (license license:expat))) + +(define-public rust-tower-util-0.3 + (package + (name "rust-tower-util") + (version "0.3.1") + (source + (origin + (method url-fetch) + (uri (crate-uri "tower-util" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0x4np2s7h891spvxaarcyainj12a7gvnh7jif9y80cvdh8ckq2fi")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-futures-core" ,rust-futures-core-0.3) + ("rust-futures-util" ,rust-futures-util-0.3) + ("rust-pin-project" ,rust-pin-project-0.4) + ("rust-tower-service" ,rust-tower-service-0.3)) + #:cargo-development-inputs + (("rust-tokio" ,rust-tokio-0.2) + ("rust-tokio-test" ,rust-tokio-test-0.2) + ("rust-tower-test" ,rust-tower-test-0.3)))) + (home-page "https://github.com/tower-rs/tower") + (synopsis "Utilities for working with @code{Service}") + (description "This package provides utilities for working with +@code{Service}.") + (license license:expat))) + +(define-public rust-tracing-0.1 + (package + (name "rust-tracing") + (version "0.1.20") + (source + (origin + (method url-fetch) + (uri (crate-uri "tracing" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0hwgbyflibmsz7x6v7ndchnx1qvv43pg18419ji2y7pflzkmngbi")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-cfg-if" ,rust-cfg-if-0.1) + ("rust-log" ,rust-log-0.4) + ("rust-tracing-attributes" ,rust-tracing-attributes-0.1) + ("rust-tracing-core" ,rust-tracing-core-0.1)) + #:cargo-development-inputs + (("rust-criterion" ,rust-criterion-0.3) + ("rust-futures" ,rust-futures-0.1) + ("rust-log" ,rust-log-0.4)))) + (home-page "https://tokio.rs") + (synopsis "Application-level tracing for Rust") + (description "@code{rust-tracing} is a framework for instrumenting Rust +programs to collect structured, event-based diagnostic information.") + (license license:expat))) + +(define-public rust-tracing-attributes-0.1 + (package + (name "rust-tracing-attributes") + (version "0.1.11") + (source + (origin + (method url-fetch) + (uri (crate-uri "tracing-attributes" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1njady03jycfarjbmbhnrpsl6s9pd9knp50c4z70rnkq6gycrq40")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-proc-macro2" ,rust-proc-macro2-1) + ("rust-quote" ,rust-quote-1) + ("rust-syn" ,rust-syn-1)) + #:cargo-development-inputs + (("rust-async-trait" ,rust-async-trait-0.1) + ("rust-tokio-test" ,rust-tokio-test-0.2) + ("rust-tracing" ,rust-tracing-0.1) + ("rust-tracing-core" ,rust-tracing-core-0.1) + ("rust-tracing-futures" ,rust-tracing-futures-0.2)))) + (home-page "https://tokio.rs") + (synopsis "Automatically instrument functions") + (description "This package provides procedural macro attributes for +automatically instrumenting functions.") + (license license:expat))) (define-public rust-tracing-core-0.1 (package (name "rust-tracing-core") - (version "0.1.9") + (version "0.1.16") (source (origin (method url-fetch) @@ -25846,7 +29607,7 @@ serializing Rust str") (file-name (string-append name "-" version ".crate")) (sha256 (base32 - "0y0rcvvqq89yaiz0qdx88byxgz8j6hsm9slq8d5vvf3jwc8nz90k")))) + "16hisz8nvbav9q6r5lbar2baac097n33q7xqssifwsphy70ldksv")))) (build-system cargo-build-system) (arguments `(#:cargo-inputs @@ -25858,6 +29619,37 @@ serializing Rust str") (license (list license:asl2.0 license:expat)))) +(define-public rust-tracing-futures-0.2 + (package + (name "rust-tracing-futures") + (version "0.2.4") + (source + (origin + (method url-fetch) + (uri (crate-uri "tracing-futures" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0k4vd3jyqz9cx8rbwbp0p93qfp1w6rfk7sc6c1jh1ai18zqvcyxb")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-futures" ,rust-futures-0.3) + ("rust-futures-task" ,rust-futures-task-0.3) + ("rust-pin-project" ,rust-pin-project-0.4) + ("rust-tokio" ,rust-tokio-0.1) + ("rust-tokio-executor" ,rust-tokio-executor-0.1) + ("rust-tracing" ,rust-tracing-0.1)) + #:cargo-development-inputs + (("rust-tokio" ,rust-tokio-0.1) + ("rust-tokio-test" ,rust-tokio-test-0.2) + ("rust-tracing-core" ,rust-tracing-core-0.1)))) + (home-page "https://tokio.rs") + (synopsis "Utilities for instrumenting @code{futures} with @code{tracing}") + (description "This package provides utilities for instrumenting +@code{futures} with @code{tracing}.") + (license license:expat))) + (define-public rust-traitobject-0.1 (package (name "rust-traitobject") @@ -25897,18 +29689,236 @@ serializing Rust str") "This package provides a library for visualizing tree structured data.") (license license:expat))) +(define-public rust-trust-dns-https-0.19 + (package + (name "rust-trust-dns-https") + (version "0.19.5") + (source + (origin + (method url-fetch) + (uri (crate-uri "trust-dns-https" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0s6yiqy98wddc2vid0dypj4cdnvycd4vrrj6l9s7yymq0iqpky5g")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-backtrace" ,rust-backtrace-0.3) + ("rust-bytes" ,rust-bytes-0.5) + ("rust-data-encoding" ,rust-data-encoding-2) + ("rust-futures" ,rust-futures-0.3) + ("rust-h2" ,rust-h2-0.2) + ("rust-http" ,rust-http-0.2) + ("rust-log" ,rust-log-0.4) + ("rust-rustls" ,rust-rustls-0.17) + ("rust-thiserror" ,rust-thiserror-1) + ("rust-tokio" ,rust-tokio-0.2) + ("rust-tokio-rustls" ,rust-tokio-rustls-0.13) + ("rust-trust-dns-proto" ,rust-trust-dns-proto-0.19) + ("rust-trust-dns-rustls" ,rust-trust-dns-rustls-0.19) + ("rust-typed-headers" ,rust-typed-headers-0.2) + ("rust-webpki" ,rust-webpki-0.21) + ("rust-webpki-roots" ,rust-webpki-roots-0.19)) + #:cargo-development-inputs + (("rust-env-logger" ,rust-env-logger-0.7) + ("rust-futures" ,rust-futures-0.3)))) + (home-page "http://www.trust-dns.org/index.html") + (synopsis "DNS over HTTPS extension for the Trust-DNS client") + (description "Trust-DNS is a safe and secure DNS library. This is an +extension for the Trust-DNS client to use DNS over HTTPS.") + (license (list license:expat license:asl2.0)))) + +(define-public rust-trust-dns-native-tls-0.19 + (package + (name "rust-trust-dns-native-tls") + (version "0.19.5") + (source + (origin + (method url-fetch) + (uri (crate-uri "trust-dns-native-tls" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "173443yivsiyzvnai4h53v71br8jsz4zjwhp83q3x4hnh6306ymv")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-futures" ,rust-futures-0.3) + ("rust-native-tls" ,rust-native-tls-0.2) + ("rust-tokio" ,rust-tokio-0.2) + ("rust-tokio-tls" ,rust-tokio-tls-0.3) + ("rust-trust-dns-proto" ,rust-trust-dns-proto-0.19)))) + (home-page "http://www.trust-dns.org/index.html") + (synopsis "native-tls extension for the Trust-DNS client") + (description "Trust-DNS is a safe and secure DNS library. This is an +extension for the Trust-DNS client to use native-tls for TLS.") + (license (list license:expat license:asl2.0)))) + +(define-public rust-trust-dns-openssl-0.19 + (package + (name "rust-trust-dns-openssl") + (version "0.19.5") + (source + (origin + (method url-fetch) + (uri (crate-uri "trust-dns-openssl" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0as4jzrscjlmgj04l2aa2lf09vpd0fg5v0vfz019ybxgiqn89g45")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-futures" ,rust-futures-0.3) + ("rust-openssl" ,rust-openssl-0.10) + ("rust-tokio" ,rust-tokio-0.2) + ("rust-tokio-openssl" ,rust-tokio-openssl-0.4) + ("rust-trust-dns-proto" ,rust-trust-dns-proto-0.19)) + #:cargo-development-inputs + (("rust-openssl" ,rust-openssl-0.10) + ("rust-tokio" ,rust-tokio-0.2)))) + (home-page "http://www.trust-dns.org/index.html") + (synopsis "tokio-openssl extension for the Trust-DNS client") + (description "Trust-DNS is a safe and secure DNS library. This is an +extension for the Trust-DNS client to use tokio-openssl for TLS.") + (license (list license:expat license:asl2.0)))) + +(define-public rust-trust-dns-proto-0.19 + (package + (name "rust-trust-dns-proto") + (version "0.19.5") + (source + (origin + (method url-fetch) + (uri (crate-uri "trust-dns-proto" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0a4zlv60kkbg1nvy3zh18fdg681z83yzppzy39rdkm7llqdhdmyd")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-async-trait" ,rust-async-trait-0.1) + ("rust-backtrace" ,rust-backtrace-0.3) + ("rust-data-encoding" ,rust-data-encoding-2) + ("rust-enum-as-inner" ,rust-enum-as-inner-0.3) + ("rust-futures" ,rust-futures-0.3) + ("rust-idna" ,rust-idna-0.2) + ("rust-js-sys" ,rust-js-sys-0.3) + ("rust-lazy-static" ,rust-lazy-static-1) + ("rust-log" ,rust-log-0.4) + ("rust-openssl" ,rust-openssl-0.10) + ("rust-rand" ,rust-rand-0.7) + ("rust-ring" ,rust-ring-0.16) + ("rust-serde" ,rust-serde-1) + ("rust-smallvec" ,rust-smallvec-1) + ("rust-socket2" ,rust-socket2-0.3) + ("rust-thiserror" ,rust-thiserror-1) + ("rust-tokio" ,rust-tokio-0.2) + ("rust-url" ,rust-url-2) + ("rust-wasm-bindgen" ,rust-wasm-bindgen-0.2)) + #:cargo-development-inputs + (("rust-env-logger" ,rust-env-logger-0.7) + ("rust-futures" ,rust-futures-0.3) + ("rust-tokio" ,rust-tokio-0.2)))) + (home-page "http://www.trust-dns.org/index.html") + (synopsis "Safe and secure DNS library") + (description "Trust-DNS is a safe and secure DNS library. This is the +foundational DNS protocol library for all Trust-DNS projects.") + (license (list license:expat license:asl2.0)))) + +(define-public rust-trust-dns-resolver-0.19 + (package + (name "rust-trust-dns-resolver") + (version "0.19.5") + (source + (origin + (method url-fetch) + (uri (crate-uri "trust-dns-resolver" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0xqv31gndybcrr5gi6jjp47qcvdxsc147s69a0y0nc6qqgyws8qg")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-backtrace" ,rust-backtrace-0.3) + ("rust-cfg-if" ,rust-cfg-if-0.1) + ("rust-futures" ,rust-futures-0.3) + ("rust-ipconfig" ,rust-ipconfig-0.2) + ("rust-lazy-static" ,rust-lazy-static-1) + ("rust-log" ,rust-log-0.4) + ("rust-lru-cache" ,rust-lru-cache-0.1) + ("rust-resolv-conf" ,rust-resolv-conf-0.6) + ("rust-rustls" ,rust-rustls-0.17) + ("rust-serde" ,rust-serde-1) + ("rust-smallvec" ,rust-smallvec-1) + ("rust-thiserror" ,rust-thiserror-1) + ("rust-tokio" ,rust-tokio-0.2) + ("rust-tokio-openssl" ,rust-tokio-openssl-0.4) + ("rust-tokio-rustls" ,rust-tokio-rustls-0.13) + ("rust-tokio-tls" ,rust-tokio-tls-0.3) + ("rust-trust-dns-https" ,rust-trust-dns-https-0.19) + ("rust-trust-dns-native-tls" ,rust-trust-dns-native-tls-0.19) + ("rust-trust-dns-openssl" ,rust-trust-dns-openssl-0.19) + ("rust-trust-dns-proto" ,rust-trust-dns-proto-0.19) + ("rust-trust-dns-rustls" ,rust-trust-dns-rustls-0.19) + ("rust-webpki-roots" ,rust-webpki-roots-0.19)) + #:cargo-development-inputs + (("rust-env-logger" ,rust-env-logger-0.7) + ("rust-futures" ,rust-futures-0.3)))) + (home-page "http://www.trust-dns.org/index.html") + (synopsis "Safe and secure DNS library") + (description "Trust-DNS is a safe and secure DNS library. This Resolver +library uses the Client library to perform all DNS queries. The Resolver is +intended to be a high-level library for any DNS record resolution see Resolver +and AsyncResolver for supported resolution types. The Client can be used for +other queries.") + (license (list license:expat license:asl2.0)))) + +(define-public rust-trust-dns-rustls-0.19 + (package + (name "rust-trust-dns-rustls") + (version "0.19.5") + (source + (origin + (method url-fetch) + (uri (crate-uri "trust-dns-rustls" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1hj4fx2x4ncj7v8pf6bbn7634zq76hjigm1s2h6b6yjzzmz4yprn")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-futures" ,rust-futures-0.3) + ("rust-log" ,rust-log-0.4) + ("rust-rustls" ,rust-rustls-0.17) + ("rust-tokio" ,rust-tokio-0.2) + ("rust-tokio-rustls" ,rust-tokio-rustls-0.13) + ("rust-trust-dns-proto" ,rust-trust-dns-proto-0.19) + ("rust-webpki" ,rust-webpki-0.21)) + #:cargo-development-inputs + (("rust-openssl" ,rust-openssl-0.10)))) + (home-page "http://www.trust-dns.org/index.html") + (synopsis "rustls extension for the Trust-DNS client") + (description "Trust-DNS is a safe and secure DNS library. This is an +extension for the Trust-DNS client to use rustls for TLS.") + (license (list license:expat license:asl2.0)))) + (define-public rust-try-from-0.3 (package (name "rust-try-from") (version "0.3.2") (source - (origin - (method url-fetch) - (uri (crate-uri "try_from" version)) - (file-name (string-append name "-" version ".crate")) - (sha256 - (base32 - "12wdd4ja7047sd3rx70hv2056hyc8gcdllcx3a41g1rnw64kng98")))) + (origin + (method url-fetch) + (uri (crate-uri "try_from" version)) + (file-name (string-append name "-" version ".crate")) + (sha256 + (base32 + "12wdd4ja7047sd3rx70hv2056hyc8gcdllcx3a41g1rnw64kng98")))) (build-system cargo-build-system) (arguments `(#:cargo-inputs @@ -25938,7 +29948,7 @@ serializing Rust str") "This package provides a lightweight atomic lock.") (license license:expat))) -(define-public rust-trybuild-1.0 +(define-public rust-trybuild-1 (package (name "rust-trybuild") (version "1.0.23") @@ -26006,6 +30016,32 @@ serializing Rust str") "The arena, a fast but limited type of allocator.") (license license:expat))) +(define-public rust-typed-headers-0.2 + (package + (name "rust-typed-headers") + (version "0.2.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "typed-headers" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0jm2xzvvml3a9hhvzf9q4v22l5ifrxrx2kspy7aymknckqgacy9i")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-base64" ,rust-base64-0.11) + ("rust-bytes" ,rust-bytes-0.5) + ("rust-chrono" ,rust-chrono-0.4) + ("rust-http" ,rust-http-0.2) + ("rust-mime" ,rust-mime-0.3)))) + (home-page "https://github.com/sfackler/typed-headers") + (synopsis "Typed HTTP header serialization and deserialization") + (description "This package provides typed HTTP header serialization and +deserialization.") + (license (list license:expat license:asl2.0)))) + (define-public rust-typemap-0.3 (package (name "rust-typemap") @@ -26119,6 +30155,72 @@ with the Unicode character database.") (license (list license:asl2.0 license:expat)))) +(define-public rust-ufmt-0.1 + (package + (name "rust-ufmt") + (version "0.1.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "ufmt" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1844qwbmc4m69nfi6xmdcdf4fmjjvypi9rpfg3wgilvrxykwwzif")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-proc-macro-hack" ,rust-proc-macro-hack-0.5) + ("rust-ufmt-macros" ,rust-ufmt-macros-0.1) + ("rust-ufmt-write" ,rust-ufmt-write-0.1)))) + (home-page "https://crates.io/crates/ufmt") + (synopsis "Faster and panic-free alternative to @code{core::fmt}") + (description "This package provides a (6-40x) smaller, (2-9x) faster and +panic-free alternative to @code{core::fmt}.") + (license (list license:expat license:asl2.0)))) + +(define-public rust-ufmt-macros-0.1 + (package + (name "rust-ufmt-macros") + (version "0.1.1") + (source + (origin + (method url-fetch) + (uri (crate-uri "ufmt-macros" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0sf0z9f6kjw5h15xd1hlj46dgri59lqwin1fxrcdradzl8s3x0gd")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-proc-macro-hack" ,rust-proc-macro-hack-0.5) + ("rust-proc-macro2" ,rust-proc-macro2-1) + ("rust-quote" ,rust-quote-1) + ("rust-syn" ,rust-syn-1)))) + (home-page "https://github.com/japaric/ufmt") + (synopsis "μfmt macros") + (description "This package provides μfmt macros.") + (license (list license:expat license:asl2.0)))) + +(define-public rust-ufmt-write-0.1 + (package + (name "rust-ufmt-write") + (version "0.1.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "ufmt-write" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0sdx0r6ah9xr3nydrqxj01v25sb956c0jk5rqf6f5i9fnkb2wyp8")))) + (build-system cargo-build-system) + (home-page "https://github.com/japaric/ufmt") + (synopsis "μfmt's uWrite trait") + (description "This package provides @code{μfmt}'s @code{uWrite} trait.") + (license (list license:expat license:asl2.0)))) + (define-public rust-unchecked-index-0.2 (package (name "rust-unchecked-index") @@ -26280,20 +30382,20 @@ boundaries according to Unicode Standard Annex #29 rules.") (define-public rust-unicode-width-0.1 (package (name "rust-unicode-width") - (version "0.1.7") + (version "0.1.8") (source (origin (method url-fetch) (uri (crate-uri "unicode-width" version)) - (file-name (string-append name "-" version ".crate")) + (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "0yflmxkxmm89ckrb3sz58whn491aycrj8cxra0hzzlb72x9rvana")))) + "1qxizyi6xbcqyi4z79p523ywvmgsfcgfqb3zv3c8i6x1jcc5jdwk")))) (build-system cargo-build-system) (arguments `(#:cargo-inputs (("rust-compiler-builtins" ,rust-compiler-builtins-0.1) - ("rust-rustc-std-workspace-core" ,rust-rustc-std-workspace-core-1.0) + ("rust-rustc-std-workspace-core" ,rust-rustc-std-workspace-core-1) ("rust-rustc-std-workspace-std" ,rust-rustc-std-workspace-std-1.0)))) (home-page "https://github.com/unicode-rs/unicode-width") (synopsis "Determine displayed width according to Unicode rules") @@ -26370,6 +30472,28 @@ whitespace from a string.") (license (list license:asl2.0 license:expat)))) +(define-public rust-universal-hash-0.4 + (package + (name "rust-universal-hash") + (version "0.4.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "universal-hash" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "00hljq64l0p68yrncvyww4cdgkzpzl49vrlnj57kwblkak3b49l3")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-generic-array" ,rust-generic-array-0.14) + ("rust-subtle" ,rust-subtle-2)))) + (home-page "https://github.com/RustCrypto/traits") + (synopsis "Trait for universal hash functions") + (description "This package provides traits for universal hash functions.") + (license (list license:expat license:asl2.0)))) + (define-public rust-unix-socket-0.5 (package (name "rust-unix-socket") @@ -26471,7 +30595,7 @@ untrusted inputs in Rust.") (sha256 (base32 "0byf88b7ca1kb5aap8f6npp6xncvg95dnma8ipmnmd4n9r5izkam")))))) -(define-public rust-url-2.1 +(define-public rust-url-2 (package (name "rust-url") (version "2.1.1") @@ -26490,7 +30614,7 @@ untrusted inputs in Rust.") #:cargo-inputs (("rust-idna" ,rust-idna-0.2) ("rust-matches" ,rust-matches-0.1) - ("rust-percent-encoding" ,rust-percent-encoding-2.1) + ("rust-percent-encoding" ,rust-percent-encoding-2) ("rust-serde" ,rust-serde-1)) #:cargo-development-inputs (("rust-bencher" ,rust-bencher-0.1) @@ -26502,9 +30626,9 @@ untrusted inputs in Rust.") "URL library for Rust, based on the WHATWG URL Standard.") (license (list license:asl2.0 license:expat)))) -(define-public rust-url-1.7 +(define-public rust-url-1 (package - (inherit rust-url-2.1) + (inherit rust-url-2) (name "rust-url") (version "1.7.2") (source @@ -26758,7 +30882,7 @@ Unix users and groups.") (arguments `(#:skip-build? #t #:cargo-inputs - (("rust-byteorder" ,rust-byteorder-1.3) + (("rust-byteorder" ,rust-byteorder-1) ("rust-md5" ,rust-md5-0.6) ("rust-rand" ,rust-rand-0.6) ("rust-serde" ,rust-serde-1) @@ -26959,7 +31083,7 @@ If that fails, no determination is made, and calls return None.") ("rust-semver-parser" ,rust-semver-parser-0.9) ("rust-syn" ,rust-syn-0.15) ("rust-toml" ,rust-toml-0.5) - ("rust-url" ,rust-url-1.7)))) + ("rust-url" ,rust-url-1)))) (home-page "https://github.com/mgeisler/version-sync") (synopsis "Ensure that version numbers are updated when the crate version changes") @@ -26996,7 +31120,7 @@ updated when the crate version changes.") ("rust-semver-parser" ,rust-semver-parser-0.9) ("rust-syn" ,rust-syn-0.15) ("rust-toml" ,rust-toml-0.4) - ("rust-url" ,rust-url-1.7)))))) + ("rust-url" ,rust-url-1)))))) (define-public rust-void-1 (package @@ -27163,6 +31287,32 @@ specified across Unix and Windows platforms.") ("rust-rand" ,rust-rand-0.3) ("rust-rustc-serialize" ,rust-rustc-serialize-0.3)))))) +(define-public rust-want-0.3 + (package + (name "rust-want") + (version "0.3.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "want" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "181b2zmwfq389x9n2g1n37cvcvvdand832zz6v8i1l8wrdlaks0w")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-log" ,rust-log-0.4) + ("rust-try-lock" ,rust-try-lock-0.2)) + #:cargo-development-inputs + (("rust-tokio-executor" ,rust-tokio-executor-0.2) + ("rust-tokio-sync" ,rust-tokio-sync-0.2)))) + (home-page "https://github.com/seanmonstar/want") + (synopsis "Detect when another future wants a result") + (description "This package lets you detect when another future wants a +result.") + (license license:expat))) + (define-public rust-want-0.2 (package (name "rust-want") @@ -27204,8 +31354,8 @@ specified across Unix and Windows platforms.") `(#:skip-build? #t #:cargo-inputs (("rust-compiler-builtins" ,rust-compiler-builtins-0.1) - ("rust-rustc-std-workspace-alloc" ,rust-rustc-std-workspace-alloc-1.0) - ("rust-rustc-std-workspace-core" ,rust-rustc-std-workspace-core-1.0)))) + ("rust-rustc-std-workspace-alloc" ,rust-rustc-std-workspace-alloc-1) + ("rust-rustc-std-workspace-core" ,rust-rustc-std-workspace-core-1)))) (home-page "https://github.com/bytecodealliance/wasi") (synopsis "Experimental WASI API bindings for Rust") (description @@ -27401,7 +31551,7 @@ wasm-bindgen.") ("rust-wasm-bindgen-macro-support" ,rust-wasm-bindgen-macro-support-0.2)) #:cargo-development-inputs - (("rust-trybuild" ,rust-trybuild-1.0) + (("rust-trybuild" ,rust-trybuild-1) ("rust-wasm-bindgen" ,rust-wasm-bindgen-0.2) ("rust-wasm-bindgen-futures" ,rust-wasm-bindgen-futures-0.4)))) (home-page "https://rustwasm.github.io/wasm-bindgen/") @@ -27706,25 +31856,56 @@ Verification.") #:cargo-development-inputs (("rust-base64" ,rust-base64-0.9)))))) -(define-public rust-webpki-roots-0.18 +(define-public rust-webpki-roots-0.20 (package (name "rust-webpki-roots") - (version "0.18.0") + (version "0.20.0") (source (origin (method url-fetch) (uri (crate-uri "webpki-roots" version)) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 "1d4ss607rgi9pj01zzqa13c1p3m35z314yh6lmjaj4kzvwv5gkci")))) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "17qpmyym1lsi967b4nc3112nb13ism8731bhjqd9hlajafkxw80g")))) (build-system cargo-build-system) (arguments - `(#:cargo-inputs (("rust-webpki" ,rust-webpki-0.21)))) + `(#:cargo-inputs + (("rust-webpki" ,rust-webpki-0.21)))) (home-page "https://github.com/ctz/webpki-roots") (synopsis "Mozilla's CA root certificates for use with webpki") - (description "Mozilla's CA root certificates for use with webpki") + (description "This package provides Mozilla's CA root certificates for use +with webpki.") (license license:mpl2.0))) +(define-public rust-webpki-roots-0.19 + (package + (inherit rust-webpki-roots-0.20) + (name "rust-webpki-roots") + (version "0.19.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "webpki-roots" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0fapdqwbfv0kncplpvbgnr0bjd5a9krlpij9jdzk0mvaa6vz9vzq")))))) + +(define-public rust-webpki-roots-0.18 + (package + (inherit rust-webpki-roots-0.19) + (name "rust-webpki-roots") + (version "0.18.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "webpki-roots" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "1d4ss607rgi9pj01zzqa13c1p3m35z314yh6lmjaj4kzvwv5gkci")))))) + (define-public rust-webpki-roots-0.17 (package/inherit rust-webpki-roots-0.18 (name "rust-webpki-roots") @@ -27775,7 +31956,7 @@ Verification.") "This package provides a WebIDL Parser.") (license license:expat))) -(define-public rust-which-3.1 +(define-public rust-which-3 (package (name "rust-which") (version "3.1.1") @@ -28073,6 +32254,33 @@ color in a Windows console.") (description "Rust winpty bindings.") (license license:expat))) +(define-public rust-winreg-0.7 + (package + (name "rust-winreg") + (version "0.7.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "winreg" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0sdxcyvda4v1v6a0k1j2v1400z3ng323k9a56gxvkq51x21dn801")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-chrono" ,rust-chrono-0.4) + ("rust-serde" ,rust-serde-1) + ("rust-winapi" ,rust-winapi-0.3)) + #:cargo-development-inputs + (("rust-rand" ,rust-rand-0.3) + ("rust-serde-derive" ,rust-serde-derive-1)))) + (home-page "https://github.com/gentoo90/winreg-rs") + (synopsis "Rust bindings to the MS Windows Registry API") + (description "This package provides Rust bindings to MS Windows Registry +API.") + (license license:expat))) + (define-public rust-winreg-0.6 (package (name "rust-winreg") @@ -28264,7 +32472,7 @@ to XDG Base Directory specification.") (define-public rust-xml-rs-0.7 (package (name "rust-xml-rs") - (version "0.7.1") + (version "0.7.0") (source (origin (method url-fetch) @@ -28273,19 +32481,12 @@ to XDG Base Directory specification.") (string-append name "-" version ".tar.gz")) (sha256 (base32 - "1wv7izl41jf3ylhqhw23y1h0m729v2g5k4mgfw72v4kmgvvawiin")) - (modules '((guix build utils))) - (snippet - '(begin - ;; 'doctest' isn't stable until rust-1.40 - (substitute* "src/lib.rs" - (("\\(doctest") "(test")) - #t)))) + "1hp9kf80y9qm3aiqg5psyshqfkcrjgifbcm2c2nc5qlzs80vc71w")))) (build-system cargo-build-system) (arguments - `(#:cargo-development-inputs - (("rust-doc-comment" ,rust-doc-comment-0.3) - ("rust-lazy-static" ,rust-lazy-static-1)))) + `(#:cargo-test-flags '("--release" "--lib") + #:cargo-inputs + (("rust-bitflags" ,rust-bitflags-1)))) (home-page "https://github.com/netvl/xml-rs") (synopsis "XML library in pure Rust") (description "An XML library in pure Rust.") @@ -28321,6 +32522,38 @@ to XDG Base Directory specification.") "Push based streaming parser for xml.") (license (list license:expat license:asl2.0)))) +(define-public rust-xz2-0.1 + (package + (name "rust-xz2") + (version "0.1.6") + (source + (origin + (method url-fetch) + (uri (crate-uri "xz2" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0v4jb0193gx8s1kvd2ajsgh0ffmwhqhfmrrw1n1h2z7w6jgqcyf1")))) + (build-system cargo-build-system) + (arguments + `(#:tests? #f ; Not all files included in the tarball. + #:cargo-inputs + (("rust-futures" ,rust-futures-0.1) + ("rust-lzma-sys" ,rust-lzma-sys-0.1) + ("rust-tokio-io" ,rust-tokio-io-0.1)) + #:cargo-development-inputs + (("rust-quickcheck" ,rust-quickcheck-0.7) + ("rust-rand" ,rust-rand-0.5) + ("rust-tokio-core" ,rust-tokio-core-0.1)))) + (native-inputs + `(("pkg-config" ,pkg-config) + ("xz" ,xz))) + (home-page "https://github.com/alexcrichton/xz2-rs") + (synopsis "Rust bindings to liblzma") + (description "This package provides Rust bindings to liblzma providing +Read/Write streams as well as low-level in-memory encoding and decoding.") + (license (list license:expat license:asl2.0)))) + (define-public rust-yaml-rust-0.4 (package (name "rust-yaml-rust") @@ -28452,8 +32685,8 @@ implementation that works everywhere, even WASM!") (arguments `(#:cargo-inputs (("rust-bzip2" ,rust-bzip2-0.3) - ("rust-crc32fast" ,rust-crc32fast-1.2) - ("rust-flate2" ,rust-flate2-1.0) + ("rust-crc32fast" ,rust-crc32fast-1) + ("rust-flate2" ,rust-flate2-1) ("rust-podio" ,rust-podio-0.1) ("rust-time" ,rust-time-0.1)) #:cargo-development-inputs @@ -28483,7 +32716,7 @@ implementation that works everywhere, even WASM!") (build-system cargo-build-system) (arguments `(#:cargo-inputs - (("rust-byteorder" ,rust-byteorder-1.3) + (("rust-byteorder" ,rust-byteorder-1) ("rust-datetime" ,rust-datetime-0.4)))) (home-page "https://github.com/rust-datetime/zoneinfo-compiled/") (synopsis "Library for parsing compiled zoneinfo files") @@ -28491,6 +32724,92 @@ implementation that works everywhere, even WASM!") "This package provides a library for parsing compiled zoneinfo files.") (license license:expat))) +(define-public rust-zstd-0.5 + (package + (name "rust-zstd") + (version "0.5.3+zstd.1.4.5") + (source + (origin + (method url-fetch) + (uri (crate-uri "zstd" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1n0cgj9i3dk90kn7jcahq5fligqrjfzmnq08hfg71yhyfypjxcq1")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-futures" ,rust-futures-0.1) + ("rust-tokio-io" ,rust-tokio-io-0.1) + ("rust-zstd-safe" ,rust-zstd-safe-2.0.5)) + #:cargo-development-inputs + (("rust-clap" ,rust-clap-2) + ("rust-humansize" ,rust-humansize-1) + ("rust-partial-io" ,rust-partial-io-0.3) + ("rust-quickcheck" ,rust-quickcheck-0.6) + ("rust-walkdir" ,rust-walkdir-2)))) + (home-page "https://github.com/gyscos/zstd-rs") + (synopsis "Binding to the zstd compression library") + (description "This package provides a binding to the zstd compression +library.") + (license license:expat))) + +(define-public rust-zstd-safe-2 + (package + (name "rust-zstd-safe") + (version "2.0.5+zstd.1.4.5") + (source + (origin + (method url-fetch) + (uri (crate-uri "zstd-safe" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0m8h1x030cj5bj7zxxf6gdp91bp0ays2vi9rlqllgxi71lp69yqw")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-libc" ,rust-libc-0.2) + ("rust-zstd-sys" ,rust-zstd-sys-1.4.17)))) + (home-page "https://github.com/gyscos/zstd-rs") + (synopsis "Safe low-level bindings to the zstd compression library") + (description "This package provides afe low-level bindings to the zstd +compression library.") + (license (list license:expat license:asl2.0)))) + +(define-public rust-zstd-safe-2.0.5 rust-zstd-safe-2) + +;; TODO: Unbundle zstd. +(define-public rust-zstd-sys-1 + (package + (name "rust-zstd-sys") + (version "1.4.17+zstd.1.4.5") + (source + (origin + (method url-fetch) + (uri (crate-uri "zstd-sys" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "06zhk1j5v1sm04xxrw72lgzyi1wcq7kvj6vbd4ibamph9mj4k4mq")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-libc" ,rust-libc-0.2) + ("rust-bindgen" ,rust-bindgen-0.54) + ("rust-cc" ,rust-cc-1) + ("rust-glob" ,rust-glob-0.3) + ("rust-itertools" ,rust-itertools-0.9) + ("rust-pkg-config" ,rust-pkg-config-0.3)))) + (home-page "https://github.com/gyscos/zstd-rs") + (synopsis "Low-level bindings to the zstd compression library") + (description "This package provides low-level Rust bindings to the zstd +compression library.") + (license (list license:expat license:asl2.0)))) + +(define-public rust-zstd-sys-1.4.17 rust-zstd-sys-1) + (define-public rust-packed-struct (package (name "rust-packed-struct") @@ -28573,9 +32892,9 @@ formatters with per-field documentation generated for each structure. (arguments `(#:cargo-inputs (("rust-anyhow" ,rust-anyhow-1.0) - ("rust-either" ,rust-either-1.5) + ("rust-either" ,rust-either-1) ("rust-serde" ,rust-serde-1) - ("rust-thiserror" ,rust-thiserror-1.0) + ("rust-thiserror" ,rust-thiserror-1) ("rust-xmltree" ,rust-xmltree-0.8)) #:cargo-development-inputs (("rust-serde-json" ,rust-serde-json-1)))) @@ -28638,4 +32957,3 @@ formatters with per-field documentation generated for each structure. (description "Generate Rust register maps (`struct`s) from SVD files") (license (list license:expat license:asl2.0)))) - diff --git a/gnu/packages/disk.scm b/gnu/packages/disk.scm index 1e538ef60e..370f1bb01e 100644 --- a/gnu/packages/disk.scm +++ b/gnu/packages/disk.scm @@ -1041,3 +1041,47 @@ of choice for all light thinking Unix addicts!") temperature of your hard drive by reading S.M.A.R.T. information (for drives that support this feature).") (license license:gpl2+))) + +(define-public memkind + (package + (name "memkind") + (version "1.10.1") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/memkind/memkind.git") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "11iz887f3cp5pzf1bzm644wzab8gkbhz3b7x1w6pcps71yd94ylj")))) + (build-system gnu-build-system) + (inputs + `(;; memkind patched jemalloc to add je_arenalookupx, + ;; je_check_reallocatex--i.e. they forked jemalloc. + ;("jemalloc" ,jemalloc) + ("ndctl" ,ndctl) + ("numactl" ,numactl))) + (native-inputs + `(("autoconf" ,autoconf) + ("automake" ,automake) + ("libtool" ,libtool))) + (arguments + `(#:tests? #f ; Tests require a NUMA-enabled system. + #:phases + (modify-phases %standard-phases + (add-before 'build 'autogen-jemalloc + (lambda _ + (with-directory-excursion "jemalloc" + (substitute* "Makefile.in" + (("/bin/sh") (which "sh"))) + (invoke "autoconf") + (substitute* "configure" + (("/bin/sh") (which "sh")))) + #t))))) + (home-page "https://github.com/memkind/memkind") + (synopsis "Heap manager with memory kinds (for NUMA)") + (description "This package provides a user-extensible heap manager +built on top of jemalloc which enables control of memory characteristics +and a partitioning of the heap between kinds of memory (for NUMA).") + (license license:bsd-3))) diff --git a/gnu/packages/dns.scm b/gnu/packages/dns.scm index 95524fa898..1775660162 100644 --- a/gnu/packages/dns.scm +++ b/gnu/packages/dns.scm @@ -17,6 +17,7 @@ ;;; Copyright © 2020 Arun Isaac <arunisaac@systemreboot.net> ;;; Copyright © 2020 Leo Famulari <leo@famulari.name> ;;; Copyright © 2020 Brice Waegeneire <brice@waegenei.re> +;;; Copyright © 2020 Simon South <simon@simonsouth.net> ;;; ;;; This file is part of GNU Guix. ;;; @@ -45,6 +46,7 @@ #:use-module (gnu packages compression) #:use-module (gnu packages crypto) #:use-module (gnu packages datastructures) + #:use-module (gnu packages elf) #:use-module (gnu packages flex) #:use-module (gnu packages freedesktop) #:use-module (gnu packages gcc) @@ -65,9 +67,11 @@ #:use-module (gnu packages protobuf) #:use-module (gnu packages python) #:use-module (gnu packages python-xyz) + #:use-module (gnu packages ragel) #:use-module (gnu packages shells) #:use-module (gnu packages sphinx) #:use-module (gnu packages swig) + #:use-module (gnu packages texinfo) #:use-module (gnu packages tls) #:use-module (gnu packages web) #:use-module (gnu packages xml) @@ -529,14 +533,14 @@ asynchronous fashion.") (define-public nsd (package (name "nsd") - (version "4.3.2") + (version "4.3.3") (source (origin (method url-fetch) (uri (string-append "https://www.nlnetlabs.nl/downloads/nsd/nsd-" version ".tar.gz")) (sha256 - (base32 "0ac3mbn5z4nc18782m9aswdpi2m9f4665vidw0ciyigdh0pywp2v")))) + (base32 "0lgdiqnkfvy245h6kkiqic586qjwmg51lsfs86vlc0kwjwddiijz")))) (build-system gnu-build-system) (arguments `(#:configure-flags @@ -803,32 +807,57 @@ Extensions} (DNSSEC).") (define-public knot (package (name "knot") - (version "3.0.0") + (version "3.0.1") (source (origin - (method url-fetch) - (uri (string-append "https://secure.nic.cz/files/knot-dns/" - "knot-" version ".tar.xz")) + (method git-fetch) + (uri (git-reference + (url "https://gitlab.nic.cz/knot/knot-dns") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) (sha256 - (base32 "1i76zflc49jbsaj3idxx7a6x87c0lzal294c3fdjyfl7dvznmjgi")))) + (base32 "10mlzldxqvbaw78nghkr0s73rlbpz9wg16z14321xw2l9xfibkad")) + (modules '((guix build utils))) + (snippet + '(begin + ;; Remove Ragel-generated C files. We'll recreate them below. + (for-each delete-file (find-files "." "\\.c\\.[gt].")) + (delete-file "src/libknot/yparser/ypbody.c") + ;; Remove bundled library to ensure we always use the system's. + (delete-file-recursively "src/contrib/libbpf") + #t)))) (build-system gnu-build-system) (arguments `(#:configure-flags (list "--sysconfdir=/etc" "--localstatedir=/var" "--enable-dnstap" ; let tools read/write capture files - "--with-module-dnstap=yes" ; detailed query capturing & logging - (string-append "--with-bash-completions=" - (assoc-ref %outputs "out") - "/etc/bash_completion.d")) + "--enable-fastparser" ; disabled by default when .git/ exists + "--enable-xdp=auto" ; XXX [=yes] currently means =embedded + "--with-module-dnstap=yes") ; detailed query capturing & logging #:phases (modify-phases %standard-phases + (add-after 'unpack 'link-missing-libbpf-dependency + ;; Linking against -lbpf later would fail to find -lz: libbpf.pc has + ;; zlib in its Requires.private (not Requires) field. Add it here. + (lambda _ + (substitute* "configure.ac" + (("enable_xdp=yes" match) + (string-append match "\nlibbpf_LIBS=\"$libbpf_LIBS -lz\""))) + #t)) + (add-before 'bootstrap 'update-parser + (lambda _ + (with-directory-excursion "src" + (invoke "sh" "../scripts/update-parser.sh")))) (add-before 'configure 'disable-directory-pre-creation (lambda _ ;; Don't install empty directories like ‘/etc’ outside the store. ;; This is needed even when using ‘make config_dir=... install’. (substitute* "src/Makefile.in" (("\\$\\(INSTALL\\) -d") "true")) #t)) + (add-after 'build 'build-info + (lambda _ + (invoke "make" "info"))) (replace 'install (lambda* (#:key outputs #:allow-other-keys) (let* ((out (assoc-ref outputs "out")) @@ -836,16 +865,28 @@ Extensions} (DNSSEC).") (etc (string-append doc "/examples/etc"))) (invoke "make" (string-append "config_dir=" etc) - "install"))))))) + "install")))) + (add-after 'install 'install-info + (lambda _ + (invoke "make" "install-info")))))) (native-inputs - `(("pkg-config" ,pkg-config))) + `(("autoconf" ,autoconf) + ("automake" ,automake) + ("libtool" ,libtool) + ("pkg-config" ,pkg-config) + ("python-sphinx" ,python-sphinx) + ("ragel" ,ragel) + ("texinfo" ,texinfo))) (inputs `(("fstrm" ,fstrm) ("gnutls" ,gnutls) ("jansson" ,jansson) + ("libbpf" ,libbpf) ("libcap-ng" ,libcap-ng) ("libedit" ,libedit) + ("libelf" ,libelf) ("libidn" ,libidn) + ("libnghttp2" ,nghttp2 "lib") ("liburcu" ,liburcu) ("lmdb" ,lmdb) ("ncurses" ,ncurses) diff --git a/gnu/packages/easyrpg.scm b/gnu/packages/easyrpg.scm index 6cb7b7ae88..591be38448 100644 --- a/gnu/packages/easyrpg.scm +++ b/gnu/packages/easyrpg.scm @@ -76,7 +76,7 @@ It can read and write LCF and XML files.") (define-public easyrpg-player (package (name "easyrpg-player") - (version "0.6.2.2") + (version "0.6.2.3") (source (origin (method url-fetch) (uri (string-append @@ -84,7 +84,7 @@ It can read and write LCF and XML files.") "/easyrpg-player-" version ".tar.gz")) (sha256 (base32 - "02nrqrb6klynwrq6z0639qnlhr2z900b0y94xr96i12icr7ihm5m")))) + "1lahbhgyhky0hgd3xwhgg2nm8mfa9p2i1fzxi00561hnk2ya86pm")))) (build-system gnu-build-system) (arguments '(#:configure-flags diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm index 327611f837..cc97e051d0 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -80,6 +80,7 @@ ;;; Copyright © 2020 Peng Mei Yu <i@pengmeiyu.com> ;;; Copyright © 2020 Niklas Eklund <niklas.eklund@posteo.net> ;;; Copyright © 2020 Marco Grassi <marco.au.grassi98@protonmail.com> +;;; Copyright © 2020 Tomás Ortín Fernández <tomasortin@mailbox.org> ;;; ;;; This file is part of GNU Guix. ;;; @@ -197,16 +198,16 @@ (define-public emacs-geiser (package (name "emacs-geiser") - (version "0.11.2") - (source (origin - (method git-fetch) - (uri (git-reference - (url "https://gitlab.com/jaor/geiser/") - (commit version))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "1khi1bghsjx6cs5acizmlbw9z19s4qycnji9krdbn42cbpv0rysv")))) + (version "0.12") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://gitlab.com/jaor/geiser/") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0n718xpys7v94zaf9lpmsx97qgn6qxif1acr718wyvpmfr4hiv08")))) (build-system gnu-build-system) (arguments '(#:phases @@ -218,7 +219,8 @@ "/share/emacs/site-lisp/" "geiser-autoloads.el")) #t))))) - (inputs `(("guile" ,guile-2.2))) + (inputs + `(("guile" ,guile-2.2))) (native-inputs `(("emacs" ,emacs-minimal) ("autoconf" ,autoconf) @@ -5646,6 +5648,59 @@ This provides a basic API and common UI widgets such as popup tooltips and popup menus.") (license license:gpl3+))) +(define-public emacs-python-black + (package + (name "emacs-python-black") + (version "1.0.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/wbolster/emacs-python-black") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0fjnd85nlkck156dj6cahk8chhgkbgl2kwywqzi8bl4yj700m4dk")))) + (build-system emacs-build-system) + (propagated-inputs + `(("emacs-dash" ,emacs-dash) + ("emacs-reformatter" ,emacs-reformatter) + ("python-black-macchiato" ,python-black-macchiato))) + (arguments `(#:tests? #f)) + (home-page "https://github.com/wbolster/emacs-python-black") + (synopsis "Reformat Python code via @code{python-black}") + (description + "This package makes it easy to reformat Python code using +@code{python-black} and @code{python-black-macchiato} for entire and partial +buffers, respectively.") + (license license:bsd-3))) + +(define-public emacs-py-isort + (package + (name "emacs-py-isort") + (version "2016.1") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/paetzke/py-isort.el") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "08i55gv392wc12x8v3dca0dmz8a8p9ljsqhyajsb6qv1k120wqhx")))) + (build-system emacs-build-system) + (arguments + `(#:tests? #f)) ;tests fail with "emacs: standard input is not a tty" + (propagated-inputs + `(("python-isort" ,python-isort))) + (home-page "https://github.com/paetzke/py-isort.el") + (synopsis "Sort the imports in Python buffers") + (description + "This package provides commands and a minor mode to sort Python imports +using @code{python-isort}.") + (license license:gpl3+))) + (define-public emacs-python-environment (package (name "emacs-python-environment") @@ -7180,6 +7235,31 @@ called. If there are more, each window will have its first character highlighted. Pressing that character will switch to that window.") (license license:gpl3+))) +(define-public emacs-windsize + ;; There is no proper release. The base version is extracted from the + ;; "Version" keyword in the main file. + (let ((revision "1") + (commit "62c2846bbe95b0a73e996c75e4a644d05f57aaaa")) + (package + (name "emacs-windsize") + (version (git-version "0.1" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/grammati/windsize") + (commit commit))) + (sha256 + (base32 "13kfrmv3vmkfanxv9nym5v43hx5p7xkgqmx65zcxh4gcbaham1mi")))) + (build-system emacs-build-system) + (home-page "https://github.com/grammati/windsize") + (synopsis "Easy resizing of Emacs windows") + (description + "This package allows moving the borders of the active window +with the arrow keys. It prefers to move the right or bottom border when +possible, and falls back to moving the left or top border otherwise.") + (license license:gpl3+)))) + (define-public emacs-iedit ;; Last release version was in 2016. (let ((commit "e2c100cdd67b7d82835d281ac2cd1bf4f374bc8f") @@ -9175,33 +9255,31 @@ using package inferred style.") (license license:gpl3+)))) (define-public emacs-lua-mode - (let ((commit "35b6e4c20b8b4eaf783ccc8e613d0dd06dbd165c") - (revision "0")) - (package - (name "emacs-lua-mode") - (version (git-version "20200508" revision commit)) - (home-page "https://github.com/immerrr/lua-mode/") - (source (origin - (method git-fetch) - (uri (git-reference - (url home-page) - (commit commit))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "1hai6rqjm5py0bp57nhggmj9qigwdj3a46ngacpnjc1qmy9kkgfk")))) - (build-system emacs-build-system) - (arguments - `(#:tests? #t - #:test-command '("buttercup" "-l" "lua-mode.el"))) - (native-inputs - `(("emacs-buttercup" ,emacs-buttercup) - ("lua" ,lua))) - (synopsis "Major mode for lua") - (description - "This Emacs package provides a mode for @uref{https://www.lua.org/, + (package + (name "emacs-lua-mode") + (version "20201010") + (home-page "https://github.com/immerrr/lua-mode/") + (source + (origin + (method git-fetch) + (uri (git-reference + (url home-page) + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0zf43f7fkrgki6pbc09zak975p4jx1yf3ipfs38hypfl9s5d6xrf")))) + (build-system emacs-build-system) + (arguments + `(#:tests? #t + #:test-command '("buttercup" "-l" "lua-mode.el"))) + (native-inputs + `(("emacs-buttercup" ,emacs-buttercup) + ("lua" ,lua))) + (synopsis "Major mode for lua") + (description + "This Emacs package provides a mode for @uref{https://www.lua.org/, Lua programming language}.") - (license license:gpl2+)))) + (license license:gpl2+))) (define-public emacs-ebuild-mode (package @@ -9828,7 +9906,11 @@ programming and reproducible research.") (uri (string-append "https://orgmode.org/elpa/" "org-plus-contrib-" version ".tar")) (sha256 - (base32 "1naq25g4d95cx29axx428rnpc4m9hd0j7w1l0vqwkdjyr5qfj0ab")))) + (base32 "1naq25g4d95cx29axx428rnpc4m9hd0j7w1l0vqwkdjyr5qfj0ab")) + ;; ob-sclang.el is packaged separately to avoid the dependency on + ;; SuperCollider and qtwebengine. + (modules '((guix build utils))) + (snippet '(begin (delete-file "ob-sclang.el") #t)))) (arguments `(#:modules ((guix build emacs-build-system) (guix build utils) @@ -9855,8 +9937,7 @@ programming and reproducible research.") (propagated-inputs `(("arduino-mode" ,emacs-arduino-mode) ("cider" ,emacs-cider) - ("org" ,emacs-org) - ("scel" ,emacs-scel))) + ("org" ,emacs-org))) (synopsis "Contributed packages to Org mode") (description "Org is an Emacs mode for keeping notes, maintaining TODO lists, and project planning with a fast and effective plain-text system. @@ -9864,6 +9945,28 @@ lists, and project planning with a fast and effective plain-text system. This package is equivalent to org-plus-contrib, but only includes additional files that you would find in @file{contrib/} from the git repository."))) +(define-public emacs-ob-sclang + (package + (inherit emacs-org-contrib) + (name "emacs-ob-sclang") + (source + (origin (inherit (package-source emacs-org-contrib)) + (modules '((guix build utils))) + (snippet + '(begin + (for-each (lambda (file) + (unless (equal? file "./ob-sclang.el") + (delete-file file))) + (find-files "." "\\.el")) + #t)))) + (propagated-inputs + `(("org" ,emacs-org) + ("scel" ,emacs-scel))) + (synopsis "Org Babel support for SuperCollider") + (description "This package adds support for evaluating @code{sclang} +Org mode source blocks. It is extracted from the @code{emacs-org-contrib} +package."))) + (define-public emacs-org-edna (package (name "emacs-org-edna") @@ -11208,14 +11311,14 @@ and cangjie.") (define-public emacs-posframe (package (name "emacs-posframe") - (version "0.8.0") + (version "0.8.1") (source (origin (method url-fetch) (uri (string-append "https://elpa.gnu.org/packages/" "posframe-" version ".el")) (sha256 - (base32 "1vzaiiw2pxa0zrc2bkaxljpr4035xrh3d8z3l5f0jvp72cnq49kp")))) + (base32 "01s9lc1liaxfpnfw183a320blp7cv6qg8gh2r22w4wkzi1yrcbb7")))) (build-system emacs-build-system) ;; emacs-minimal does not include the function font-info. (arguments @@ -11413,6 +11516,25 @@ It should enable you to implement low-level X11 applications.") of XELB.") (license license:gpl3+))) +(define-public emacs-xelb-no-x-toolkit + (package + (inherit emacs-xelb) + (name "emacs-xelb-no-x-toolkit") + (arguments + (substitute-keyword-arguments (package-arguments emacs-xelb) + ((#:emacs emacs) `,emacs-no-x-toolkit))))) + +(define-public emacs-exwm-no-x-toolkit + (package + (inherit emacs-exwm) + (name "emacs-exwm-no-x-toolkit") + (synopsis "Emacs X window manager (without an X toolkit)") + (propagated-inputs + `(("emacs-xelb-no-x-toolkit" ,emacs-xelb-no-x-toolkit))) + (arguments + (substitute-keyword-arguments (package-arguments emacs-exwm) + ((#:emacs emacs) `,emacs-no-x-toolkit))))) + (define-public emacs-switch-window (package (name "emacs-switch-window") @@ -15850,37 +15972,34 @@ downloading manager for Emacs.") (license license:gpl3+)))) (define-public emacs-helpful - (let ((version "0.17") - (commit "b0e937fff71dc0a5d34066bfd25310e76f284621") - (revision "1")) - (package - (name "emacs-helpful") - (version (git-version version revision commit)) - (source - (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/Wilfred/helpful") - (commit commit))) - (file-name (git-file-name name version)) - (sha256 - (base32 "048qvlyj2vkgi872z8l07diwqnq21ziycv8slxzzy7rflw3wx0b2")))) - (build-system emacs-build-system) - (propagated-inputs - `(("emacs-elisp-refs" ,emacs-elisp-refs) - ("emacs-dash" ,emacs-dash) - ("emacs-s" ,emacs-s) - ("emacs-f" ,emacs-f) - ("emacs-shut-up" ,emacs-shut-up))) - (native-inputs - `(("emacs-ert-runner" ,emacs-ert-runner) - ("emacs-undercover" ,emacs-undercover))) - (arguments - `(#:tests? #t - #:test-command '("ert-runner"))) - (home-page "https://github.com/Wilfred/helpful") - (synopsis "More contextual information in Emacs help") - (description "@code{helpful} is an alternative to the built-in Emacs help + (package + (name "emacs-helpful") + (version "0.18") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/Wilfred/helpful") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0gdjxykqkal2x765mi51m99i5ql23i1fy909wy4mzj5ajhjfgqcc")))) + (build-system emacs-build-system) + (propagated-inputs + `(("emacs-elisp-refs" ,emacs-elisp-refs) + ("emacs-dash" ,emacs-dash) + ("emacs-s" ,emacs-s) + ("emacs-f" ,emacs-f) + ("emacs-shut-up" ,emacs-shut-up))) + (native-inputs + `(("emacs-ert-runner" ,emacs-ert-runner) + ("emacs-undercover" ,emacs-undercover))) + (arguments + `(#:tests? #t + #:test-command '("ert-runner"))) + (home-page "https://github.com/Wilfred/helpful") + (synopsis "More contextual information in Emacs help") + (description "@code{helpful} is an alternative to the built-in Emacs help that provides much more contextual information. @itemize @@ -15899,7 +16018,7 @@ functions. @item Trace, disassemble functions from inside Helpful. This is discoverable and doesn't require memorisation of commands. @end itemize\n") - (license license:gpl3+)))) + (license license:gpl3+))) (define-public emacs-logview (package @@ -19768,7 +19887,7 @@ according to their use.") (define-public emacs-dtrt-indent (package (name "emacs-dtrt-indent") - (version "0.8") + (version "1.2") (source (origin (method git-fetch) (uri (git-reference @@ -19777,7 +19896,7 @@ according to their use.") (file-name (git-file-name name version)) (sha256 (base32 - "0pgf0pvqd8k4yzhdn2df9lp0y8hmlm2ccrh07jivwlccs95pcz7z")))) + "0p5v5xwr0s59hv3s0f85byafphc85qv76g41crad9fhnxzab9rly")))) (build-system emacs-build-system) (home-page "https://github.com/jscheid/dtrt-indent") (synopsis "Minor mode that guesses the indentation offset") @@ -23321,14 +23440,14 @@ interface.") (define-public emacs-ivy-posframe (package (name "emacs-ivy-posframe") - (version "0.2.0") + (version "0.5.1") (source (origin (method url-fetch) (uri (string-append "https://elpa.gnu.org/packages/" "ivy-posframe-" version ".el")) (sha256 - (base32 "0hr6bjlgflvz9rk5rnr55fcrd4873jxmksdr7r1zl1zcb8vdx7ks")))) + (base32 "1yi5avbgk143xs82yqiia7yhh6jjjm22lpmwaq0ysw5mdpazjxfa")))) (build-system emacs-build-system) (propagated-inputs `(("emacs-ivy" ,emacs-ivy) diff --git a/gnu/packages/enlightenment.scm b/gnu/packages/enlightenment.scm index f63bc20483..ed15cd28d2 100644 --- a/gnu/packages/enlightenment.scm +++ b/gnu/packages/enlightenment.scm @@ -68,7 +68,7 @@ (define-public efl (package (name "efl") - (version "1.25.0") + (version "1.25.1") (source (origin (method url-fetch) (uri (string-append @@ -76,7 +76,7 @@ version ".tar.xz")) (sha256 (base32 - "0vlmf0rp2qxdl06pdmrd1xdfa10sdz30vnxzc98inpdg1n8iz52k")))) + "0svybbrvpf6q955y6fclxh3md64z0dgmh0x54x2j60503hhs071m")))) (build-system meson-build-system) (native-inputs `(("check" ,check-0.14) @@ -179,6 +179,8 @@ "install_dir: join_paths(dir_data, 'dbus-1', 'services'))\n")) (substitute* "src/tests/elementary/meson.build" (("dir_data") "meson.source_root(), 'test-output'")) + (substitute* "data/eo/meson.build" + (("'usr', 'lib'") "'./' + dir_lib")) #t)) (add-after 'unpack 'set-home-directory ;; FATAL: Cannot create run dir '/homeless-shelter/.run' - errno=2 @@ -383,7 +385,7 @@ embedded systems.") (define-public python-efl (package (name "python-efl") - (version "1.24.0") + (version "1.25.0") (source (origin (method url-fetch) @@ -391,7 +393,7 @@ embedded systems.") "python/python-efl-" version ".tar.xz")) (sha256 (base32 - "1vk1cdd959gia4a9qzyq56a9zw3lqf9ck66k8c9g3c631mp5cfpy")) + "0bk161xwlz4dlv56r68xwkm8snzfifaxd1j7w2wcyyk4fgvnvq4r")) (modules '((guix build utils))) ;; Remove files generated by Cython (snippet diff --git a/gnu/packages/entr.scm b/gnu/packages/entr.scm index cacb5ab7f5..49e1060b5f 100644 --- a/gnu/packages/entr.scm +++ b/gnu/packages/entr.scm @@ -2,7 +2,7 @@ ;;; Copyright © 2016 Matthew Jordan <matthewjordandevops@yandex.com> ;;; Copyright © 2016 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2019 Ricardo Wurmus <rekado@elephly.net> -;;; Copyright © 2019 Tobias Geerinckx-Rice <me@tobias.gr> +;;; Copyright © 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2020 Jakub Kądziołka <kuba@kadziolka.net> ;;; ;;; This file is part of GNU Guix. @@ -21,23 +21,26 @@ ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. (define-module (gnu packages entr) + #:use-module (gnu packages base) + #:use-module (gnu packages bash) #:use-module (gnu packages ncurses) #:use-module (guix licenses) #:use-module (guix packages) #:use-module (guix download) - #:use-module (guix build-system gnu)) + #:use-module (guix build-system gnu) + #:use-module (guix utils)) (define-public entr (package (name "entr") - (version "4.2") + (version "4.6") (source (origin (method url-fetch) (uri (string-append "http://entrproject.org/code/entr-" version ".tar.gz")) (sha256 (base32 - "0w2xkf77jikcjh15fp9g7661ss30pz3jbnh261vqpaqavwah4c17")))) + "0vcflgagna2gdlpjsd6748c73j2829xlhm276mi838zl1n121phn")))) (build-system gnu-build-system) (arguments `(#:test-target "test" @@ -47,20 +50,24 @@ (lambda* (#:key outputs #:allow-other-keys) (let ((out (assoc-ref outputs "out"))) (setenv "CONFIG_SHELL" (which "bash")) - (setenv "CC" (which "gcc")) - (setenv "DESTDIR" (string-append out "/")) - (setenv "PREFIX" "") - (setenv "MANPREFIX" "man") + (setenv "CC" ,(cc-for-target)) + (setenv "PREFIX" out) + (setenv "MANPREFIX" (string-append out "/man")) (invoke "./configure")))) (add-before 'build 'remove-fhs-file-names - (lambda _ + (lambda* (#:key inputs #:allow-other-keys) (substitute* "entr.c" - (("/bin/sh") (which "sh")) - (("/bin/cat") (which "cat")) - (("/usr/bin/clear") (which "clear"))) + (("/bin/sh" command) + (string-append (assoc-ref inputs "bash") command)) + (("/bin/cat" command) + (string-append (assoc-ref inputs "coreutils") command)) + (("/usr(/bin/clear)" _ command) + (string-append (assoc-ref inputs "ncurses") command))) #t))))) - ;; ncurses provides the `clear' binary - (inputs `(("ncurses" ,ncurses))) + (inputs + `(("bash" ,bash) + ("coreutils" ,coreutils) + ("ncurses" ,ncurses))) (home-page "http://entrproject.org/") (synopsis "Run arbitrary commands when files change") (description diff --git a/gnu/packages/file-systems.scm b/gnu/packages/file-systems.scm index c6486c67ef..6ceaad4fd1 100644 --- a/gnu/packages/file-systems.scm +++ b/gnu/packages/file-systems.scm @@ -5,6 +5,7 @@ ;;; Copyright © 2018 Leo Famulari <leo@famulari.name> ;;; Copyright © 2019, 2020 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2020 Raghav Gururajan <raghavgururajan@disroot.org> +;;; Copyright © 2020 Morgan Smith <Morgan.J.Smith@outlook.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -141,6 +142,46 @@ large and/or frequently changing (network) environment.") (license (list license:bsd-3 ; modules/cyrus-sasl.c license:gpl2+)))) ; the rest +(define-public bindfs + (package + (name "bindfs") + (version "1.14.8") + (source (origin + (method url-fetch) + (uri (string-append "https://bindfs.org/downloads/bindfs-" + version ".tar.gz")) + (sha256 + (base32 + "15y4brlcrqhxl6z73785m0dr1vp2q3wc6xss08x9jjr0apzmmjp5")))) + (build-system gnu-build-system) + (arguments + ;; XXX: The tests have no hope of passing until there is a "nogroup" + ;; entry (or at least some group to which the guix builder does + ;; not belong) in the /etc/group file of the build environment. + ;; Currently we do not have such a group. Disable tests for now. + '(#:tests? #f)) + (native-inputs + ;; Native inputs to run the tests + ;; ("ruby" ,ruby) + ;; ("valgrind" ,valgrind) + ;; ("which" ,which) + `(("pkg-config" ,pkg-config))) + (inputs + `(("fuse" ,fuse))) + (home-page "https://bindfs.org") + (synopsis "Bind mount a directory and alter permission bits") + (description + "@command{bindfs} is a FUSE filesystem for mounting a directory to +another location, similar to @command{mount --bind}. It can be used for: +@itemize +@item Making a directory read-only. +@item Making all executables non-executable. +@item Sharing a directory with a list of users (or groups). +@item Modifying permission bits using rules with chmod-like syntax. +@item Changing the permissions with which files are created. +@end itemize ") + (license license:gpl2+))) + (define-public fsarchiver (package (name "fsarchiver") diff --git a/gnu/packages/fpga.scm b/gnu/packages/fpga.scm index f07c7260f7..c43b0059dc 100644 --- a/gnu/packages/fpga.scm +++ b/gnu/packages/fpga.scm @@ -340,7 +340,7 @@ FOSS FPGA place and route tool.") (define-public gtkwave (package (name "gtkwave") - (version "3.3.106") + (version "3.3.107") (source (origin (method url-fetch) @@ -350,7 +350,7 @@ FOSS FPGA place and route tool.") (string-append "http://gtkwave.sourceforge.net/" "gtkwave-" version ".tar.gz"))) (sha256 - (base32 "1pyij6dlmapjyzrmn255fkf8gyhz8i4vaipd75a68i2bnq021nn8")))) + (base32 "1ibnhn7w1awalsbndbb5nilbmih3i3dwfry95mq5sn221l5n7zj8")))) (build-system gnu-build-system) (native-inputs `(("gperf" ,gperf) diff --git a/gnu/packages/ftp.scm b/gnu/packages/ftp.scm index 651e732ab3..b178063556 100644 --- a/gnu/packages/ftp.scm +++ b/gnu/packages/ftp.scm @@ -170,20 +170,25 @@ as required.") (define-public libfilezilla (package (name "libfilezilla") - (version "0.16.0") + (version "0.24.1") (source (origin (method url-fetch) (uri (string-append "https://download.filezilla-project.org/" "libfilezilla/libfilezilla-" version ".tar.bz2")) (sha256 - (base32 "1fd71vmllzvljff5l5ka5wnzbdsxx4i54dpxpklydmbsqpilnv1v")))) + (base32 "1zfnqbn14dx0fl45mfaznr5n5xsxy1kx8z9f80fppbqn37pb9mgx")))) (build-system gnu-build-system) + (arguments + `(#:configure-flags + (list "--disable-static"))) (native-inputs `(("cppunit" ,cppunit) + ("gettext" ,gettext-minimal) ("pkg-config" ,pkg-config))) (inputs - `(("nettle" ,nettle))) + `(("gnutls" ,gnutls) + ("nettle" ,nettle))) (home-page "https://lib.filezilla-project.org") (synopsis "Cross-platform C++ library used by Filezilla client") (description @@ -208,20 +213,21 @@ output. (define-public filezilla (package (name "filezilla") - (version "3.42.1") + (version "3.50.0") (source (origin (method url-fetch) (uri (string-append "https://download.filezilla-project.org/client/" "FileZilla_" version "_src.tar.bz2")) (sha256 - (base32 "083ycsycwy1szhp3mzf998wsqa74hmdxdsy07x6k81vp2cxjxijg")))) + (base32 "042w2f5cf8g9cr7d3m6294ygx7jggcria9502jnql855khk8gnz0")))) (build-system gnu-build-system) (arguments ;; Don't let filezilla phone home to check for updates. '(#:configure-flags '("--disable-autoupdatecheck"))) (native-inputs - `(("gettext" ,gettext-minimal) + `(("cppunit" ,cppunit) + ("gettext" ,gettext-minimal) ("pkg-config" ,pkg-config) ("xdg-utils" ,xdg-utils))) (inputs diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm index 729078dc69..d473baa335 100644 --- a/gnu/packages/games.scm +++ b/gnu/packages/games.scm @@ -11409,7 +11409,7 @@ etc. You can also play games on FICS or against an engine.") (define-public stockfish (package (name "stockfish") - (version "11") + (version "12") (source (origin (method git-fetch) @@ -11418,8 +11418,15 @@ etc. You can also play games on FICS or against an engine.") (commit (string-append "sf_" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "12mppipinymj8s1ipq9a7is453vncly49c32ym9wvyklsgyxfzlk")))) + (base32 "0vcymbwp5nf114pp3ax40s21ki5dckda15vmhr77d1mnq3fn0l32")))) (build-system gnu-build-system) + (inputs + `(("neural-network" + ,(origin + (method url-fetch) + (uri "https://tests.stockfishchess.org/api/nn/nn-82215d0fd0df.nnue") + (sha256 + (base32 "1r4yqrh4di05syyhl84hqcz84djpbd605b27zhbxwg6zs07ms8c2")))))) (arguments `(#:tests? #f #:make-flags (list "-C" "src" @@ -11435,10 +11442,17 @@ etc. You can also play games on FICS or against an engine.") ("mips64el-linux" "general-64") (_ "general-32")))) #:phases (modify-phases %standard-phases - (delete 'configure)))) + (delete 'configure) + ;; The official neural network file is needed for building + ;; and is embedded in the resulting binary. + (add-after 'unpack 'copy-net + (lambda* (#:key inputs #:allow-other-keys) + (copy-file (assoc-ref inputs "neural-network") + "src/nn-82215d0fd0df.nnue") + #t))))) (synopsis "Strong chess engine") (description - "Stockfish is a very strong chess engines. It is much stronger than the + "Stockfish is a very strong chess engine. It is much stronger than the best human chess grandmasters. It can be used with UCI-compatible GUIs like ChessX.") (home-page "https://stockfishchess.org/") diff --git a/gnu/packages/gdb.scm b/gnu/packages/gdb.scm index b836228506..828e49509d 100644 --- a/gnu/packages/gdb.scm +++ b/gnu/packages/gdb.scm @@ -111,7 +111,13 @@ `(("texinfo" ,texinfo) ("dejagnu" ,dejagnu) ("pkg-config" ,pkg-config) - ,@(if (hurd-target?) `(("mig" ,mig)) '()))) + ,@(if (hurd-target?) + ;; When cross-compiling from x86_64-linux, make sure to use a + ;; 32-bit MiG because we assume target i586-pc-gnu. + `(("mig" ,(if (%current-target-system) + mig/32-bit + mig))) + '()))) (home-page "https://www.gnu.org/software/gdb/") (synopsis "The GNU debugger") (description diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index 47030f5316..8df1686aff 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -3261,7 +3261,7 @@ library.") ("rust-selectors" ,rust-selectors-0.22) ("rust-string-cache" ,rust-string-cache-0.8) ("rust-tinyvec" ,rust-tinyvec-0.3) - ("rust-url" ,rust-url-2.1) + ("rust-url" ,rust-url-2) ("rust-xml5ever" ,rust-xml5ever-0.16)) #:cargo-development-inputs (("rust-assert-cmd" ,rust-assert-cmd-1) @@ -3969,14 +3969,14 @@ Hints specification (EWMH).") (define-public goffice (package (name "goffice") - (version "0.10.47") + (version "0.10.48") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/goffice/" (version-major+minor version) "/" "goffice-" version ".tar.xz")) (sha256 - (base32 "0xmigfdzvmlpa0fw79mf3xwchmxc8rlidryn5syv8bz7msmrb215")))) + (base32 "1z6f3q8fxkd1ysqrwdxdi0844zqa00vjpf07gq8mh3kal8picfd4")))) (build-system gnu-build-system) (outputs '("out" "doc")) ; 4.0 MiB of gtk-doc @@ -4033,7 +4033,7 @@ Hints specification (EWMH).") (define-public gnumeric (package (name "gnumeric") - (version "1.12.46") + (version "1.12.48") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/gnumeric/" @@ -4041,7 +4041,7 @@ Hints specification (EWMH).") "gnumeric-" version ".tar.xz")) (sha256 (base32 - "1qdmw2dp7rmq8fmjapgwaks7ajh270wm6kyvlxlzwbgmg8vngp4z")))) + "14556b0vyxdvdwjlin0rv7jk0vq4nplbmvp9j89bhkfk84xf7k2p")))) (build-system glib-or-gtk-build-system) (arguments `(;; The gnumeric developers don't worry much about failing tests. @@ -4069,8 +4069,8 @@ Hints specification (EWMH).") ("librsvg" ,librsvg) ("libxml2" ,libxml2) ("libxslt" ,libxslt) - ("python" ,python-2) - ("python2-pygobject" ,python2-pygobject) + ("python" ,python) + ("python-pygobject" ,python-pygobject) ("zlib" ,zlib))) (native-inputs `(("bison" ,bison) @@ -4130,7 +4130,7 @@ engineering.") (define-public seahorse (package (name "seahorse") - (version "3.36") + (version "3.36.2") (source (origin (method url-fetch) @@ -4138,8 +4138,7 @@ engineering.") (version-major+minor version) "/" name "-" version ".tar.xz")) (sha256 - (base32 - "1nqn4a6dr4l1fpzj3mv4swhpnvhjcqlwsyhwm59sdzqgdfx4hbwr")))) + (base32 "16wmxxppgcgfj8zkagcny5af1c81x32ysm9d6j9f2k7bmik21ss5")))) (build-system meson-build-system) (arguments '(#:glib-or-gtk? #t @@ -4742,7 +4741,7 @@ and the GLib main loop, to integrate well with GNOME applications.") (define-public libsecret (package (name "libsecret") - (version "0.20.3") + (version "0.20.4") (source (origin (method url-fetch) (uri (string-append @@ -4751,7 +4750,7 @@ and the GLib main loop, to integrate well with GNOME applications.") "libsecret-" version ".tar.xz")) (sha256 (base32 - "1r4habxdzmn02id324m0m4mg5isf22q1z436bg3vjjmcz1b3rjsg")))) + "0a4xnfmraxchd9cq5ai66j12jv2vrgjmaaxz25kl031jvda4qnij")))) (build-system gnu-build-system) (outputs '("out" "doc")) (arguments @@ -4777,6 +4776,8 @@ and the GLib main loop, to integrate well with GNOME applications.") (propagated-inputs `(("glib" ,glib))) ; required by libsecret-1.pc (inputs + ;; The ‘build’ phase complains about missing docbook-xml-4.2 but adding it + ;; doesn't seem to affect the build result. `(("docbook-xsl" ,docbook-xsl) ("libgcrypt" ,libgcrypt) ("libxml2" ,libxml2))) ; for XML_CATALOG_FILES @@ -6421,14 +6422,14 @@ almost all of them.") (define-public eolie (package (name "eolie") - (version "0.9.98.1") + (version "0.9.99") (source (origin (method url-fetch) (uri (string-append "https://adishatz.org/eolie/eolie-" version ".tar.xz")) (sha256 (base32 - "1d844zva5w4p9pnp9c2g7zyb4vayr2g2drf78spxsdlc5lbd7lqr")))) + "0zj5v7wxqj7c20bmil127ah0vnjfzvvf6kzz82b9ip3846h43j02")))) (build-system meson-build-system) (arguments `(#:glib-or-gtk? #t diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm index 42e65b3345..0f81a752e4 100644 --- a/gnu/packages/golang.scm +++ b/gnu/packages/golang.scm @@ -12,13 +12,14 @@ ;;; Copyright © 2018 Tomáš Čech <sleep_walker@gnu.org> ;;; Copyright © 2018 Pierre-Antoine Rouby <pierre-antoine.rouby@inria.fr> ;;; Copyright © 2018 Pierre Neidhardt <mail@ambrevar.xyz> -;;; Copyright @ 2018, 2019, 2020 Katherine Cox-Buday <cox.katherine.e@gmail.com> -;;; Copyright @ 2019 Giovanni Biscuolo <g@xelera.eu> -;;; Copyright @ 2019, 2020 Alex Griffin <a@ajgrf.com> +;;; Copyright © 2018, 2019, 2020 Katherine Cox-Buday <cox.katherine.e@gmail.com> +;;; Copyright © 2019 Giovanni Biscuolo <g@xelera.eu> +;;; Copyright © 2019, 2020 Alex Griffin <a@ajgrf.com> ;;; Copyright © 2019, 2020 Arun Isaac <arunisaac@systemreboot.net> ;;; Copyright © 2020 Jack Hill <jackhill@jackhill.us> ;;; Copyright © 2020 Jakub Kądziołka <kuba@kadziolka.net> ;;; Copyright © 2020 Nicolas Goaziou <mail@nicolasgoaziou.com> +;;; Copyright © 2020 Ryan Prior <rprior@protonmail.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -3349,6 +3350,32 @@ format in Go.") (home-page "https://github.com/kr/pretty") (license license:expat))) +(define-public go-github-com-kylelemons-godebug + (package + (name "go-github-com-kylelemons-godebug") + (version "1.1.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/kylelemons/godebug") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0dkk3friykg8p6wgqryx6745ahhb9z1j740k7px9dac6v5xjp78c")))) + (build-system go-build-system) + (arguments + '(#:import-path "github.com/kylelemons/godebug/diff" + #:unpack-path "github.com/kylelemons/godebug")) + (home-page "https://github.com/kylelemons/godebug") + (synopsis "Pretty printer for Go values.") + (description + "This package will pretty print a compact representation of a Go data +structure. It can also produce a much more verbose, one-item-per-line +representation suitable for computing diffs.") + (license license:asl2.0))) + (define-public go-github-com-kr-text (package (name "go-github-com-kr-text") diff --git a/gnu/packages/gstreamer.scm b/gnu/packages/gstreamer.scm index 12b37ffe12..01474e29a7 100644 --- a/gnu/packages/gstreamer.scm +++ b/gnu/packages/gstreamer.scm @@ -723,6 +723,8 @@ model to base your own plug-in on, here it is.") ;("qtdeclarative" ,qtdeclarative) ;("qtx11extras" ,qtx11extras) ("soundtouch" ,soundtouch) + ;; GStreamer is not yet compatible with srt > 1.4.1. + ("srt" ,srt-1.4.1) ("x265" ,x265) ("wayland" ,wayland))) (home-page "https://gstreamer.freedesktop.org/") @@ -919,18 +921,7 @@ non-linear editors.") (description "This package contains GObject Introspection overrides for Python that can be used by Python applications using GStreamer.") - (license license:lgpl2.1+) - (properties `((python2-variant . ,(delay python2-gst)))))) - -(define-public python2-gst - (package (inherit python-gst) - (name "python2-gst") - (native-inputs - `(("pkg-config" ,pkg-config) - ("python" ,python-2))) - (propagated-inputs - `(("gst-plugins-base" ,gst-plugins-base) - ("python-pygobject" ,python2-pygobject))))) + (license license:lgpl2.1+))) (define-public gst123 (package diff --git a/gnu/packages/guile-xyz.scm b/gnu/packages/guile-xyz.scm index f4a1e40a18..88c0586dc9 100644 --- a/gnu/packages/guile-xyz.scm +++ b/gnu/packages/guile-xyz.scm @@ -701,8 +701,8 @@ It has a nice, simple s-expression based syntax.") (inputs `(("guile" ,guile-2.2))))) (define-public guile-squee - (let ((commit "a85902a92bf6f58a1d35fd974a01ade163deda8d") - (revision "0")) + (let ((commit "7dcd22b54fd56c9e629489191bb27ac80ecea9db") + (revision "1")) (package (name "guile-squee") (version (string-append "0-" revision "." (string-take commit 7))) @@ -714,7 +714,7 @@ It has a nice, simple s-expression based syntax.") (file-name (git-file-name name version)) (sha256 (base32 - "0p1lpsp4kx57j3ai1dkxilm4ziavzzx8wbbc42m3hpziq0a7qz5z")))) + "1568sk6ada7x9qpfhax0qq1bq93qll1q7nyjrb7h3c1c3lc9sc15")))) (build-system guile-build-system) (arguments '(#:phases @@ -845,8 +845,8 @@ Vicare Scheme and IronScheme. Right now it contains: (license license:bsd-3))) (define-public guile-prometheus - (let ((commit "cbc6e1b03512443a03d66414c426adb8470b5f2b") - (revision "0")) + (let ((commit "8980f39bafb3e59d6de17e7b311df4932e5b5182") + (revision "1")) (package (name "guile-prometheus") (version (git-version "0" revision commit)) @@ -857,13 +857,14 @@ Vicare Scheme and IronScheme. Right now it contains: (commit commit))) (sha256 (base32 - "1k1qg4ia87w2ipnf8cpikdc67lxi5bmahkhgk2x0i9ibdyvqb7np")) + "04vwza78b5nq0szzxzvpnfjyfkb4pqf2w4dx3kz1f082n01xnwss")) (file-name (string-append name "-" version "-checkout")))) (build-system gnu-build-system) (native-inputs `(("pkg-config" ,pkg-config) ("autoconf" ,autoconf) - ("automake" ,automake))) + ("automake" ,automake) + ("guile" ,guile-3.0))) (inputs `(("guile" ,guile-3.0))) (home-page "https://git.cbaines.net/guile/prometheus") diff --git a/gnu/packages/hardware.scm b/gnu/packages/hardware.scm index 211a5a34ac..e4a8112a7d 100644 --- a/gnu/packages/hardware.scm +++ b/gnu/packages/hardware.scm @@ -52,14 +52,14 @@ (define-public ddcutil (package (name "ddcutil") - (version "0.9.8") + (version "0.9.9") (source (origin (method url-fetch) (uri (string-append "https://www.ddcutil.com/tarballs/" "ddcutil-" version ".tar.gz")) (sha256 - (base32 "13ccxbqgyz4ah9jwbcylnfkgl8j3ida8xd00xkcq4xnfyyv5mg6v")))) + (base32 "0anyxy53k2613hq9glaad16llqlv6iim5p8gz0rs5pnpp8p00dg1")))) (build-system gnu-build-system) (native-inputs `(("pkg-config" ,pkg-config))) diff --git a/gnu/packages/haskell-apps.scm b/gnu/packages/haskell-apps.scm index 07bf26669b..6c1ecb4ba3 100644 --- a/gnu/packages/haskell-apps.scm +++ b/gnu/packages/haskell-apps.scm @@ -339,14 +339,14 @@ to @code{cabal repl}).") (define-public git-annex (package (name "git-annex") - (version "8.20200908") + (version "8.20201007") (source (origin (method url-fetch) (uri (string-append "https://hackage.haskell.org/package/" "git-annex/git-annex-" version ".tar.gz")) (sha256 - (base32 "1113inl10f4m0699ba2zglaqlfqvwhqjkqg6r6m1d5rqv5brswb1")))) + (base32 "0v11yc4kkxnzvwqry277dpjwlavinrjiagfw0ayhrfwd703j1y8a")))) (build-system haskell-build-system) (arguments `(#:configure-flags diff --git a/gnu/packages/hurd.scm b/gnu/packages/hurd.scm index 98fe594b7f..47c7e17573 100644 --- a/gnu/packages/hurd.scm +++ b/gnu/packages/hurd.scm @@ -157,6 +157,17 @@ for other software in the GNU system that uses Mach-based inter-process communication.") (license gpl2+))) +(define-public mig/32-bit + ;; When cross-compiling from x86_64-linux to i586-gnu, we need this 32-bit + ;; native MIG. + (package + (inherit mig) + (arguments + (substitute-keyword-arguments (package-arguments mig) + ((#:system _ #f) + "i686-linux"))) + (properties `((hidden? . #t))))) + (define-public hurd-headers ;; Resort to a post-0.9 snapshot that provides the 'file_utimens' and ;; 'file_exec_paths' RPCs that glibc 2.28 expects. @@ -536,9 +547,7 @@ exec ${system}/rc \"$@\" ("mig" ,(if (%current-target-system) ;; XXX: When targeting i586-pc-gnu, we need a 32-bit MiG, ;; hence this hack. - (package - (inherit mig) - (arguments `(#:system "i686-linux"))) + mig/32-bit mig)) ("perl" ,perl) ("texinfo" ,texinfo-4) diff --git a/gnu/packages/idutils.scm b/gnu/packages/idutils.scm index 81715591b4..26472c6900 100644 --- a/gnu/packages/idutils.scm +++ b/gnu/packages/idutils.scm @@ -1,6 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2012, 2013, 2015 Ludovic Courtès <ludo@gnu.org> -;;; Copyright © 208 Efraim Flashner <efraim@flashner.co.il> +;;; Copyright © 2018 Efraim Flashner <efraim@flashner.co.il> ;;; ;;; This file is part of GNU Guix. ;;; diff --git a/gnu/packages/kde.scm b/gnu/packages/kde.scm index daa59ad6be..385d36fdc6 100644 --- a/gnu/packages/kde.scm +++ b/gnu/packages/kde.scm @@ -135,7 +135,7 @@ This package contains GUI widgets for baloo.") (list license:lgpl2.1+ license:fdl1.2+)))) (define-public kdenlive - (let ((version "20.08.1")) + (let ((version "20.08.2")) (package (name "kdenlive") (version version) @@ -147,8 +147,7 @@ This package contains GUI widgets for baloo.") (commit (string-append "v" version)))) (file-name (string-append name "-" version "-checkout")) (sha256 - (base32 - "15mpw1sysy7mky8fcj0x4zbspz0na7q76xdfj0j8hsggg9d3yq8l")))) + (base32 "1zcckv4wj12pvxjg85c8l67vi3amz79yv8mf7m4fbxnam3yxhy90")))) (build-system cmake-build-system) (native-inputs `(("extra-cmake-modules" ,extra-cmake-modules) @@ -628,7 +627,10 @@ different notification systems.") ("qca" ,qca) ("qtbase" ,qtbase) ("qtdeclarative" ,qtdeclarative) + ("qtgraphicaleffects" ,qtgraphicaleffects) ("qtmultimedia" ,qtmultimedia) + ("qtquickcontrols" ,qtquickcontrols) + ("qtquickcontrols2" ,qtquickcontrols2) ("qtx11extras" ,qtx11extras))) (home-page "https://community.kde.org/KDEConnect") (synopsis "Enable your devices to communicate with each other") diff --git a/gnu/packages/language.scm b/gnu/packages/language.scm index 8961cf98c0..039854a2b1 100644 --- a/gnu/packages/language.scm +++ b/gnu/packages/language.scm @@ -1053,7 +1053,7 @@ noun phrases, verb phrases, etc.).") (define-public praat (package (name "praat") - (version "6.1.16") + (version "6.1.26") (source (origin (method git-fetch) (uri (git-reference @@ -1062,10 +1062,10 @@ noun phrases, verb phrases, etc.).") (file-name (git-file-name name version)) (sha256 (base32 - "1rx4qvl0dd85x0r6pl0zk4bysx9ykxl05kywjr4pyvv6dvpswkrm")))) + "12y4x7c34ddlg22kc82n17if1dqm8lyap9jg0kh1vagkdm9dy02w")))) (build-system gnu-build-system) (arguments - `(#:tests? #f; no test target + `(#:tests? #f ; no test target #:phases (modify-phases %standard-phases (replace 'configure diff --git a/gnu/packages/libcanberra.scm b/gnu/packages/libcanberra.scm index 32d1cd3605..2d08fb46e3 100644 --- a/gnu/packages/libcanberra.scm +++ b/gnu/packages/libcanberra.scm @@ -69,7 +69,8 @@ ;; his pleasure. (patch-flags '("-p0")) (patches - (search-patches "libcanberra-sound-theme-freedesktop.patch")))) + (search-patches "libcanberra-sound-theme-freedesktop.patch" + "libcanberra-wayland-crash.patch")))) (build-system gnu-build-system) (inputs `(("alsa-lib" ,alsa-lib) diff --git a/gnu/packages/libusb.scm b/gnu/packages/libusb.scm index 5ebc066ac8..f109ca0d8b 100644 --- a/gnu/packages/libusb.scm +++ b/gnu/packages/libusb.scm @@ -6,7 +6,7 @@ ;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2016 Theodoros Foradis <theodoros@foradis.org> ;;; Copyright © 2017 Jonathan Brielmaier <jonathan.brielmaier@web.de> -;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr> +;;; Copyright © 2018, 2020 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2018 Vagrant Cascadian <vagrant@debian.org> ;;; Copyright © 2020 Marius Bakke <mbakke@fastmail.com> ;;; Copyright © 2020 Christopher Howard <christopher@librehacker.com> @@ -492,14 +492,14 @@ over USB.") (define-public libmtp (package (name "libmtp") - (version "1.1.17") + (version "1.1.18") (source (origin (method url-fetch) (uri (string-append "mirror://sourceforge/libmtp/libmtp/" version "/libmtp-" version ".tar.gz")) (sha256 (base32 - "1p3r38nvdip40ab1h4scj3mzfjkx6kd14szjqyw9r6wz5pslr8zq")))) + "1w41l93yi0dmw218daiw36rylkc8rammxx37csh1ij24q18gx03j")))) (build-system gnu-build-system) (native-inputs `(("pkg-config" ,pkg-config))) diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index 0e81009059..a1a482f290 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -49,6 +49,8 @@ ;;; Copyright © 2020 Michael Rohleder <mike@rohleder.de> ;;; Copyright © 2020 Anders Thuné <asse.97@gmail.com> ;;; Copyright © 2020 Maxim Cournoyer <maxim.cournoyer@gmail.com> +;;; Copyright © 2020 Greg Hogan <code@greghogan.com> +;;; Copyright © 2020 Zhu Zihao <all_but_last@163.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -349,7 +351,7 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS." ;; The current "stable" kernel. That is, the most recently released major ;; version. -(define-public linux-libre-5.8-version "5.8.13") +(define-public linux-libre-5.8-version "5.8.14") (define deblob-scripts-5.8 (linux-libre-deblob-scripts linux-libre-5.8-version @@ -357,7 +359,7 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS." (base32 "0j6jba5fcddqlb42f95gjl78jisfla4nswqila074gglcrbnl9q7"))) (define-public linux-libre-5.8-pristine-source (let ((version linux-libre-5.8-version) - (hash (base32 "039j4ckx2p6rfpgqc5gzn6xc1krvhy0ivkjxck83s66xgqbkcngj"))) + (hash (base32 "1bzh82jpwcxsdzp6p1r8qlq9v5x79flhnzyimkcll8wdh28pjxpf"))) (make-linux-libre-source version (%upstream-linux-source version hash) deblob-scripts-5.8))) @@ -365,7 +367,7 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS." ;; The "longterm" kernels — the older releases with long-term upstream support. ;; Here are the support timelines: ;; <https://www.kernel.org/category/releases.html> -(define-public linux-libre-5.4-version "5.4.69") +(define-public linux-libre-5.4-version "5.4.70") (define deblob-scripts-5.4 (linux-libre-deblob-scripts linux-libre-5.4-version @@ -373,12 +375,12 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS." (base32 "1b3q88i2qfdxyvpi9f7jds0qlb8hfpw87mgia096ax6822c2cmyb"))) (define-public linux-libre-5.4-pristine-source (let ((version linux-libre-5.4-version) - (hash (base32 "19vxsbwvfwyz1w6m7sp38d504w98zwjxaap4hfhh6wrrddqivcx8"))) + (hash (base32 "01shqhibrxirl9bik8jwiag70n9n0l7782xh73gkb8jvbh4dicy0"))) (make-linux-libre-source version (%upstream-linux-source version hash) deblob-scripts-5.4))) -(define-public linux-libre-4.19-version "4.19.149") +(define-public linux-libre-4.19-version "4.19.150") (define deblob-scripts-4.19 (linux-libre-deblob-scripts linux-libre-4.19-version @@ -386,7 +388,7 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS." (base32 "1jiaw0as1ippkrjdpd52657w5mz9qczg3y2hlra7m9k0xawwiqlf"))) (define-public linux-libre-4.19-pristine-source (let ((version linux-libre-4.19-version) - (hash (base32 "001alvxgyb1n0fgbfi5dkzjviid32lyjfjwd3jwmcallcsdcpkfr"))) + (hash (base32 "1kmsrinhy67vh34m6z3xinwg3v6z8jm7v1asq6rqqkba13phkxzj"))) (make-linux-libre-source version (%upstream-linux-source version hash) deblob-scripts-4.19))) @@ -1109,8 +1111,8 @@ RTL8812AU, RTL8821AU, and RTL8814AU chips.") (license license:gpl2+)))) (define-public rtl8821ce-linux-module - (let ((commit "69765eb288a8dfad3b055b906760b53e02ab1dea") - (revision "0")) + (let ((commit "fe97b5003f2f3dd070f76ec38c00b83798c1cdea") + (revision "1")) (package (name "rtl8821ce-linux-module") (version (git-version "0.0.0" revision commit)) @@ -1123,7 +1125,7 @@ RTL8812AU, RTL8821AU, and RTL8814AU chips.") (file-name (git-file-name name version)) (sha256 (base32 - "17jiw25k74kv5lnvgycvj2g1n06hbrpjz6p4znk4a62g136rhn4s")))) + "10mrp63npbqb39c442vx8mra278hw7sczb3b6bjrpr3gan6ljshn")))) (build-system linux-module-build-system) (arguments `(#:make-flags @@ -7002,19 +7004,25 @@ the superuser to make device nodes.") (define-public fakeroot (package (name "fakeroot") - (version "1.24") + (version "1.25.1") (source (origin + ;; There are no tags in the repository, so take this snapshot. (method url-fetch) (uri (string-append "https://deb.debian.org/debian/pool/main/f/" "fakeroot/fakeroot_" version ".orig.tar.gz")) (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "1vb6f93hjyqnwx8dc8mm3dgma7axgqk8s7sdsjs8l2rpc0qmn11f")))) + "1ianaacwpjcw02shfiyybkqh5r6il4lvxin10n4y66kw0p7i3kcm")))) (build-system gnu-build-system) (arguments `(#:phases (modify-phases %standard-phases + (replace 'bootstrap + (lambda _ + ;; The "preroll" script takes care of Autoconf and also + ;; prepares the translated manuals. + (invoke "sh" "./preroll"))) (add-after 'configure 'patch-Makefile (lambda _ ;; Note: The root of the problem is already in "Makefile.am". @@ -7054,21 +7062,21 @@ the superuser to make device nodes.") ;; We don't have an /etc/passwd entry for "root" - use numeric IDs. (substitute* "test/compare-tar" (("tar -tvf") "tar --numeric-owner -tvf")) - - ;; coreutils 8.32 changed 'ls' to use the statx() syscall instead - ;; of lstat(). fakeroot 1.24 does not support the former, so - ;; adjust these tests to use 'test -b' instead of 'ls' to test for - ;; block device. See <https://bugs.gnu.org/41090>. - (substitute* '("test/t.mknod" "test/t.chmod_dev") - (("ls -ld? \\$tmp/hda3") - "test -b $tmp/hda3 && echo block || echo fail")) #t))))) (native-inputs - `(("acl" ,acl) - ("sharutils" ,sharutils) ; for the tests - ("xz" ,xz))) ; for the tests + `(;; For bootstrapping the package. + ("autoconf" ,autoconf) + ("automake" ,automake) + ("libtool" ,libtool) + ("gettext" ,gettext-minimal) + ("po4a" ,po4a) + + ;; For tests. + ("sharutils" ,sharutils) + ("xz" ,xz))) (inputs - `(("libcap" ,libcap/next) + `(("acl" ,acl) + ("libcap" ,libcap/next) ("util-linux" ,util-linux) ("sed" ,sed) ("coreutils" ,coreutils))) @@ -7200,7 +7208,7 @@ of Linux application development.") (package (inherit pipewire) (name "pipewire") - (version "0.3.10") + (version "0.3.13") (source (origin (method git-fetch) (uri (git-reference @@ -7209,7 +7217,7 @@ of Linux application development.") (file-name (git-file-name name version)) (sha256 (base32 - "1y293sfhhmzbgnlvs46bpiyimlii5nk71f8115qxs8sviwlsdr3w")))) + "19j5kmb7iaivkq2agfzncfm2qms41ckqi0ddxvhpc91ihwprdc5w")))) (arguments '(#:configure-flags (list (string-append "-Dudevrulesdir=" (assoc-ref %outputs "out") @@ -7373,9 +7381,8 @@ persistent over reboots.") `(#:tests? #f ; no tests #:make-flags (list - (string-append "PREFIX=''") - (string-append "DESTDIR=" (assoc-ref %outputs "out")) - (string-append "LIBDIR=/lib") + (string-append "PREFIX=" (assoc-ref %outputs "out")) + (string-append "LIBDIR=$(PREFIX)/lib") (string-append "CC=" (assoc-ref %build-inputs "gcc") "/bin/gcc")) #:phases @@ -7586,3 +7593,38 @@ iptables rule and benefit from the speed of IP sets. @end itemize\n then IP sets may be the proper tool for you.") (license license:gpl2+))) + +(define-public liburing + (package + (name "liburing") + (version "0.7") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://git.kernel.dk/liburing") + (commit (string-append "liburing-" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "15z44l7y4c6s6dlf7v8lq4znlsjbja2r4ifbni0l8cdcnq0w3zh3")))) + (build-system gnu-build-system) + (arguments + `(;; Tests are dependent on kernel version and features + #:tests? #f + #:phases + (modify-phases %standard-phases + (replace 'configure + ;; configure fails if it is followed by SHELL, CONFIG_SHELL, + ;; --enable-fast-install, and --build + (lambda* (#:key outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out"))) + (setenv "SHELL" (which "sh")) + (setenv "CONFIG_SHELL" (which "sh")) + (invoke "./configure" (string-append "--prefix=" out)))))))) + (home-page "https://github.com/axboe/liburing") + (synopsis "Interface to the Linux kernel @code{io_uring} interface") + (description "This is the io_uring library, liburing. liburing provides +helpers to setup and teardown io_uring instances, and also a simplified +interface for applications that don't need (or want) to deal with the full +kernel side implementation.") + (license license:expat))) diff --git a/gnu/packages/lisp-xyz.scm b/gnu/packages/lisp-xyz.scm index 729ca5b4ea..1f0006964b 100644 --- a/gnu/packages/lisp-xyz.scm +++ b/gnu/packages/lisp-xyz.scm @@ -3096,6 +3096,7 @@ Rosenberg's Common Lisp packages.") (uri (git-reference (url "http://git.kpe.io/cl-base64.git/") (commit commit))) + (file-name (git-file-name name version)) (sha256 (base32 "12jj54h0fs6n237cvnp8v6hn0imfksammq22ys6pi0gwz2w47rbj")))) (build-system asdf-build-system/sbcl) @@ -10946,3 +10947,88 @@ web applications. Caveman2 has three design goals: (define-public ecl-caveman (sbcl-package->ecl-package sbcl-caveman)) + +(define-public sbcl-lambda-fiddle + (let ((commit "d16bba55acf6065b412f64ab8fdff679a4a32b1e") ;; no tagged branch + (revision "1")) + (package + (name "sbcl-lambda-fiddle") + (version (git-version "1.0.0" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/Shinmera/lambda-fiddle") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1zarj1pqjqmk95kdx1axkgpwy2wq3canczk7f9z5hvaw5an6gand")))) + (build-system asdf-build-system/sbcl) + (home-page "https://github.com/Shinmera/lambda-fiddle") + (synopsis "Collection of utilities to process lambda-lists") + (description "This collection of utilities is useful in contexts where +you want a macro that uses lambda-lists in some fashion but need more precise +processing.") + (license license:zlib)))) + +(define-public cl-lambda-fiddle + (sbcl-package->cl-source-package sbcl-lambda-fiddle)) + +(define-public ecl-lambda-fiddle + (sbcl-package->ecl-package sbcl-lambda-fiddle)) + +(define-public sbcl-xmls + (let ((commit "18546f0850b1338e03997ffd1696add1cb1800d1") ;; no tagged branch + (revision "1")) + (package + (name "sbcl-xmls") + (version (git-version "3.0.2" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/rpgoldman/xmls") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1lmvfml2ldbb1wkhm25jqqk2bhwsz52hhcgljbnzj1xr8xhc3anp")))) + (native-inputs + `(("fiveam" ,sbcl-fiveam))) + (build-system asdf-build-system/sbcl) + (home-page "https://github.com/rpgoldman/xmls") + (synopsis "Non-validating XML parser for Common Lisp") + (description "Xmls is a self-contained, easily embedded parser that +recognizes a useful subset of the XML spec. It provides a simple mapping from +XML to Lisp structures or s-expressions and back.") + (license license:bsd-2)))) + +(define-public cl-xmls + (sbcl-package->cl-source-package sbcl-xmls)) + +(define-public ecl-xmls + (sbcl-package->ecl-package sbcl-xmls)) + +(define-public sbcl-geco + (package + (name "sbcl-geco") + (version "2.01a") + (source + (origin + (method url-fetch) + (uri (string-append "https://common-lisp.net/project/geco/download/" + "geco-" version ".tar.gz")) + (sha256 + (base32 "0kk0bzr1019cfmf2b1jl1rk9shv3gx5z1znifxllg9mb98yqsgw0")))) + (build-system asdf-build-system/sbcl) + (home-page "https://common-lisp.net/project/geco/") + (synopsis "Genetic algorithm toolkit for Common Lisp") + (description + "GECO (Genetic Evolution through Combination of Objects) is an extensible, +object-oriented framework for prototyping genetic algorithms in Common Lisp.") + (license license:lgpl2.1+))) + +(define-public cl-geco + (sbcl-package->cl-source-package sbcl-geco)) + +(define-public ecl-geco + (sbcl-package->ecl-package sbcl-geco)) diff --git a/gnu/packages/lisp.scm b/gnu/packages/lisp.scm index c2a3fa49b7..c2114e6935 100644 --- a/gnu/packages/lisp.scm +++ b/gnu/packages/lisp.scm @@ -51,10 +51,8 @@ #:use-module (gnu packages admin) #:use-module (gnu packages base) #:use-module (gnu packages bdw-gc) - #:use-module (gnu packages bison) #:use-module (gnu packages compression) #:use-module (gnu packages ed) - #:use-module (gnu packages flex) #:use-module (gnu packages fontutils) #:use-module (gnu packages gcc) #:use-module (gnu packages gettext) @@ -811,7 +809,7 @@ enough to play the original mainframe Zork all the way through.") (define-public txr (package (name "txr") - (version "243") + (version "244") (source (origin (method git-fetch) @@ -820,7 +818,7 @@ enough to play the original mainframe Zork all the way through.") (commit (string-append "txr-" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "08rrl7ac6jnx0zfchzbpvs3qidrbjrl9c7p8s1wms90lp10i18ak")))) + (base32 "1bzhb1pms6gjzphbsimhwdyq46ik1m7sgldigg5l1q7bppg9r3i0")))) (build-system gnu-build-system) (arguments `(#:configure-flags @@ -842,9 +840,6 @@ enough to play the original mainframe Zork all the way through.") "tests/017/realpath.expected") (("/usr/bin") "/")) #t))))) - (native-inputs - `(("bison" ,bison) - ("flex" ,flex))) (inputs `(("libffi" ,libffi))) (synopsis "General-purpose, multi-paradigm programming language") diff --git a/gnu/packages/llvm.scm b/gnu/packages/llvm.scm index 15078a1168..358fbfff0a 100644 --- a/gnu/packages/llvm.scm +++ b/gnu/packages/llvm.scm @@ -80,7 +80,7 @@ as \"x86_64-linux\"." ("i686" => "X86") ("i586" => "X86")))) -(define (llvm-download-uri component version) +(define (llvm-uri component version) (if (version>=? version "9.0.1") (string-append "https://github.com/llvm/llvm-project/releases/download" "/llvmorg-" version "/" component "-" version ".src.tar.xz") @@ -94,7 +94,7 @@ as \"x86_64-linux\"." (source (origin (method url-fetch) - (uri (llvm-download-uri "llvm" version)) + (uri (llvm-uri "llvm" version)) (sha256 (base32 "1pwgm6cr0xr5a0hrbqs1zvsvvjvy0yq1y47c96804wcs795s90yz")))) @@ -157,7 +157,7 @@ of programming tools as well as libraries with equivalent functionality.") (source (origin (method url-fetch) - (uri (llvm-download-uri "compiler-rt" version)) + (uri (llvm-uri "compiler-rt" version)) (sha256 (base32 hash)) (patches (map search-patch patches)))) (build-system cmake-build-system) @@ -213,7 +213,7 @@ given PATCHES. When TOOLS-EXTRA is given, it must point to the (source (origin (method url-fetch) - (uri (llvm-download-uri (if (version>=? version "9.0.1") + (uri (llvm-uri (if (version>=? version "9.0.1") "clang" "cfe") version)) @@ -476,6 +476,12 @@ code analysis tools.") (((names . directories) ...) (union-build out directories))) + ;; Create 'cc' and 'c++' so that one can use it as a + ;; drop-in replacement for the default tool chain and + ;; have configure scripts find the compiler. + (symlink "clang" (string-append out "/bin/cc")) + (symlink "clang++" (string-append out "/bin/c++")) + (union-build (assoc-ref %outputs "debug") (list (assoc-ref %build-inputs "libc-debug"))) @@ -484,7 +490,11 @@ code analysis tools.") "libc-static"))) #t)))) - (native-search-paths (package-native-search-paths clang)) + (native-search-paths + (append (package-native-search-paths clang) + (list (search-path-specification ;copied from glibc + (variable "GUIX_LOCPATH") + (files '("lib/locale")))))) (search-paths (package-search-paths clang)) (license (package-license clang)) @@ -514,7 +524,7 @@ output), and Binutils.") #:tools-extra (origin (method url-fetch) - (uri (llvm-download-uri "clang-tools-extra" + (uri (llvm-uri "clang-tools-extra" (package-version llvm-10))) (sha256 (base32 @@ -530,7 +540,7 @@ output), and Binutils.") (source (origin (method url-fetch) - (uri (llvm-download-uri "llvm" version)) + (uri (llvm-uri "llvm" version)) (sha256 (base32 "16hwp3qa54c3a3v7h8nlw0fh5criqh0hlr1skybyk0cz70gyx880")) @@ -566,7 +576,7 @@ output), and Binutils.") (version (package-version llvm-10)) (source (origin (method url-fetch) - (uri (llvm-download-uri "lld" version)) + (uri (llvm-uri "lld" version)) (sha256 (base32 "026pwcbczcg0j5c9h7hxxrn3ki81ia9m9sfn0sy0bvzffv2xg85r")))) @@ -590,7 +600,7 @@ components which highly leverage existing libraries in the larger LLVM Project." (version "8.0.0") (source (origin (method url-fetch) - (uri (llvm-download-uri "llvm" version)) + (uri (llvm-uri "llvm" version)) (sha256 (base32 "0k124sxkfhfi1rca6kzkdraf4axhx99x3cw2rk55056628dvwwl8")))) @@ -616,7 +626,7 @@ components which highly leverage existing libraries in the larger LLVM Project." (version "7.0.1") (source (origin (method url-fetch) - (uri (llvm-download-uri "llvm" version)) + (uri (llvm-uri "llvm" version)) (sha256 (base32 "16s196wqzdw4pmri15hadzqgdi926zln3an2viwyq0kini6zr3d3")))))) @@ -641,7 +651,7 @@ components which highly leverage existing libraries in the larger LLVM Project." (version "6.0.1") (source (origin (method url-fetch) - (uri (llvm-download-uri "llvm" version)) + (uri (llvm-uri "llvm" version)) (sha256 (base32 "1qpls3vk85lydi5b4axl0809fv932qgsqgdgrk098567z4jc7mmn")))))) @@ -667,7 +677,7 @@ components which highly leverage existing libraries in the larger LLVM Project." (source (origin (method url-fetch) - (uri (llvm-download-uri "llvm" version)) + (uri (llvm-uri "llvm" version)) (sha256 (base32 "1vi9sf7rx1q04wj479rsvxayb6z740iaz3qniwp266fgp5a07n8z")))) @@ -699,7 +709,7 @@ components which highly leverage existing libraries in the larger LLVM Project." (source (origin (method url-fetch) - (uri (llvm-download-uri "llvm" version)) + (uri (llvm-uri "llvm" version)) (sha256 (base32 "1ybmnid4pw2hxn12ax5qa5kl1ldfns0njg8533y3mzslvd5cx0kf")))))) @@ -723,7 +733,7 @@ components which highly leverage existing libraries in the larger LLVM Project." (source (origin (method url-fetch) - (uri (llvm-download-uri "llvm" version)) + (uri (llvm-uri "llvm" version)) (sha256 (base32 "1masakdp9g2dan1yrazg7md5am2vacbkb3nahb3dchpc1knr8xxy")))))) @@ -747,7 +757,7 @@ components which highly leverage existing libraries in the larger LLVM Project." (source (origin (method url-fetch) - (uri (llvm-download-uri "llvm" version)) + (uri (llvm-uri "llvm" version)) (sha256 (base32 "153vcvj8gvgwakzr4j0kndc0b7wn91c2g1vy2vg24s6spxcc23gn")))))) @@ -769,7 +779,7 @@ components which highly leverage existing libraries in the larger LLVM Project." (source (origin (method url-fetch) - (uri (llvm-download-uri "llvm" version)) + (uri (llvm-uri "llvm" version)) (patches (search-patches "llvm-3.5-fix-clang-build-with-gcc5.patch")) (sha256 @@ -832,7 +842,7 @@ components which highly leverage existing libraries in the larger LLVM Project." (source (origin (method url-fetch) - (uri (llvm-download-uri "libcxx" version)) + (uri (llvm-uri "libcxx" version)) (sha256 (base32 "0d2bj5i6mk4caq7skd5nsdmz8c2m5w5anximl5wz3x32p08zz089")))) @@ -872,7 +882,7 @@ use with Clang, targeting C++11, C++14 and above.") (source (origin (inherit (package-source libcxx)) - (uri (llvm-download-uri "libcxx" version)) + (uri (llvm-uri "libcxx" version)) (sha256 (base32 "0rzw4qvxp6qx4l4h9amrq02gp7hbg8lw4m0sy3k60f50234gnm3n")))) @@ -925,7 +935,7 @@ requirements according to version 1.1 of the OpenCL specification.") (version "9.0.1") (source (origin (method url-fetch) - (uri (llvm-download-uri "openmp" version)) + (uri (llvm-uri "openmp" version)) (sha256 (base32 "1knafnpp0f7hylx8q20lkd6g1sf0flly572dayc5d5kghh7hd52w")) diff --git a/gnu/packages/mail.scm b/gnu/packages/mail.scm index b7267245e4..d2e62bd5ea 100644 --- a/gnu/packages/mail.scm +++ b/gnu/packages/mail.scm @@ -1209,7 +1209,7 @@ and search library.") (base32 "1k2m44pj5i6vfhp9icdqs42chsp208llanc666p3d9nww8ngq2lb")))) (build-system gnu-build-system) (native-inputs - `(("ghc-pandoc" ,ghc-pandoc) + `(("pandoc" ,pandoc) ("pkg-config" ,pkg-config))) (inputs `(("libcrypto" ,openssl) @@ -3231,10 +3231,12 @@ on the fly. Both programs are written in C and are very fast.") "12awq5z4sdd54cxprj834zajxhkpy4jwhzf1fhigcx1zbhdaacsp")))) (build-system perl-build-system) (inputs - `(("perl-net-dns" ,perl-net-dns) - ("perl-net-ssleay" ,perl-net-ssleay))) + `(("perl-io-socket-inet6" ,perl-io-socket-inet6) + ("perl-net-dns" ,perl-net-dns) + ("perl-net-ssleay" ,perl-net-ssleay) + ("perl-socket6" ,perl-socket6))) ; used by perl-io-socket-inet6 (arguments - `(#:tests? #f ; No tests + `(#:tests? #f ; no tests #:phases (modify-phases %standard-phases (delete 'configure) @@ -3268,7 +3270,7 @@ operators and scripters.") (define-public alpine (package (name "alpine") - (version "2.23.2") + (version "2.24") (source (origin (method git-fetch) @@ -3281,7 +3283,7 @@ operators and scripters.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "16ldmmcymrnpnbfc1kb2rhac7nzlc87wjawic4wfinkphd124d1y")) + (base32 "0d5ybnsv29gs8krl66db56avmssq28jlg0qj5i1wka05ncc3740d")) (modules '((guix build utils))) (snippet '(begin diff --git a/gnu/packages/markup.scm b/gnu/packages/markup.scm index 56a920d873..af08774c70 100644 --- a/gnu/packages/markup.scm +++ b/gnu/packages/markup.scm @@ -3,7 +3,7 @@ ;;; Copyright © 2015 David Thompson <davet@gnu.org> ;;; Copyright © 2016, 2019 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2017 Nikita <nikita@n0.is> -;;; Copyright © 2017, 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr> +;;; Copyright © 2017, 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2020 Marius Bakke <mbakke@fastmail.com> ;;; ;;; This file is part of GNU Guix. @@ -30,9 +30,11 @@ #:use-module (guix build-system trivial) #:use-module (guix build-system cmake) #:use-module (guix build-system perl) + #:use-module (guix utils) #:use-module (gnu packages compression) #:use-module (gnu packages) #:use-module (gnu packages perl) + #:use-module (gnu packages pkg-config) #:use-module (gnu packages python) #:use-module (gnu packages web)) @@ -112,7 +114,7 @@ convert it to structurally valid XHTML (or HTML).") (define-public discount (package (name "discount") - (version "2.2.4") + (version "2.2.7") (source (origin (method url-fetch) (uri (string-append @@ -120,10 +122,11 @@ convert it to structurally valid XHTML (or HTML).") "discount/discount-" version ".tar.bz2")) (sha256 (base32 - "199hwajpspqil0a4y3yxsmhdp2dm73gqkzfk4mrwzsmlq8y1xzbl")))) + "024mxv0gpvilyfczarcgy5m7h4lv6qvhjfpf5i73qkxhszjjn9mi")))) (build-system gnu-build-system) (arguments `(#:test-target "test" + #:parallel-build? #f ; libmarkdown won't be built in time #:make-flags (list (string-append "LFLAGS=-L. -Wl,-rpath=" (assoc-ref %outputs "out") "/lib")) @@ -138,10 +141,15 @@ convert it to structurally valid XHTML (or HTML).") #t)) (replace 'configure (lambda* (#:key inputs outputs #:allow-other-keys) - (setenv "CC" "gcc") - (invoke "./configure.sh" - (string-append "--prefix=" (assoc-ref outputs "out")) - "--shared")))))) + (let ((out (assoc-ref outputs "out"))) + (setenv "CC" ,(cc-for-target)) + ;; The ‘validate-runpath’ phase fails otherwise. + (setenv "LDFLAGS" (string-append "-Wl,-rpath=" out "/lib")) + (invoke "./configure.sh" + (string-append "--prefix=" out) + "--shared"))))))) + (native-inputs + `(("pkg-config" ,pkg-config))) (synopsis "Markdown processing library, written in C") (description "Discount is a markdown implementation, written in C. It provides a diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm index 232ef40b9c..2a909ec1d4 100644 --- a/gnu/packages/maths.scm +++ b/gnu/packages/maths.scm @@ -40,6 +40,7 @@ ;;; Copyright © 2020 Nicolò Balzarotti <nicolo@nixo.xyz> ;;; Copyright © 2020 B. Wilson <elaexuotee@wilsonb.com> ;;; Copyright © 2020 Vinicius Monego <monego@posteo.net> +;;; Copyright © 2020 Simon Tournier <zimon.toutoune@gmail.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -2156,7 +2157,7 @@ This is the certified version of the Open Cascade Technology (OCCT) library.") (define-public gmsh (package (name "gmsh") - (version "2.16.0") + (version "4.6.0") (source (origin (method git-fetch) @@ -2168,12 +2169,11 @@ This is the certified version of the Open Cascade Technology (OCCT) library.") version))))) (file-name (git-file-name name version)) (sha256 - (base32 "08rq4jajwmlpivnm9yifz2jhaivnz065lnk0h2zv773nwl9wf162")) + (base32 "0m0pjxcy1bnr7a20i11lh0ih159pphq9wsvfjr3sfx4y3lginz5y")) (modules '((guix build utils))) (snippet - ;; Remove non-free METIS code '(begin - (delete-file-recursively "contrib/Metis") + (delete-file-recursively "contrib/metis") #t)))) (build-system cmake-build-system) (propagated-inputs @@ -2184,14 +2184,15 @@ This is the certified version of the Open Cascade Technology (OCCT) library.") ("lapack" ,lapack) ("mesa" ,mesa) ("glu" ,glu) - ("opencascade-oce" ,opencascade-oce) + ("metis" ,metis) + ("opencascade-occt" ,opencascade-occt) ("libx11" ,libx11) ("libxext" ,libxext))) (inputs `(("fontconfig" ,fontconfig) ("libxft" ,libxft))) (arguments - `(#:configure-flags `("-DENABLE_METIS:BOOL=OFF" + `(#:configure-flags `("-DENABLE_SYSTEM_CONTRIB:BOOL=ON" "-DENABLE_BUILD_SHARED:BOOL=ON" "-DENABLE_BUILD_DYNAMIC:BOOL=ON"))) (home-page "http://gmsh.info/") diff --git a/gnu/packages/messaging.scm b/gnu/packages/messaging.scm index 6c47c07d4f..5e2a39fece 100644 --- a/gnu/packages/messaging.scm +++ b/gnu/packages/messaging.scm @@ -24,6 +24,7 @@ ;;; Copyright © 2020 Reza Alizadeh Majd <r.majd@pantherx.org> ;;; Copyright © 2020 Jonathan Brielmaier <jonathan.brielmaier@web.de> ;;; Copyright © 2020 Mason Hock <chaosmonk@riseup.net> +;;; Copyright © 2020 Michael Rohleder <mike@rohleder.de> ;;; ;;; This file is part of GNU Guix. ;;; @@ -2319,7 +2320,7 @@ support for high performance Telegram Bot creation.") (define-public chatty (package (name "chatty") - (version "0.1.10") + (version "0.1.16") (source (origin (method git-fetch) (uri (git-reference @@ -2328,7 +2329,7 @@ support for high performance Telegram Bot creation.") (file-name (git-file-name name version)) (sha256 (base32 - "0czvqwjzsb0rvmgrmbh97m1b35rnwl41j7q32z4fcqb7bschibql")))) + "085hb3ii1cy0jb3f0mim25v5r5w3gpfsdpjid5dmrpw4gi88aa2x")))) (build-system meson-build-system) (arguments '(#:phases @@ -2345,6 +2346,7 @@ support for high performance Telegram Bot creation.") (inputs `(("feedbackd" ,feedbackd) ("folks" ,folks) + ("gsettings-desktop-schemas" ,gsettings-desktop-schemas) ("libgcrypt" ,libgcrypt) ("libgee" ,libgee) ("libhandy" ,libhandy-0.0) diff --git a/gnu/packages/mpd.scm b/gnu/packages/mpd.scm index f8294434d1..f3e98ccb17 100644 --- a/gnu/packages/mpd.scm +++ b/gnu/packages/mpd.scm @@ -184,7 +184,7 @@ player daemon.") (define-public ncmpc (package (name "ncmpc") - (version "0.39") + (version "0.40") (source (origin (method url-fetch) (uri @@ -193,7 +193,7 @@ player daemon.") "/ncmpc-" version ".tar.xz")) (sha256 (base32 - "1a0i1wm9287kd4nqii28dp84260063kyl726yjzxzr7vq8hf7sv4")))) + "1pfkf2zl55g7krrp4qi5m8j9h4m9vc3rnz65f7gb75pbmiy5iyh9")))) (build-system meson-build-system) (arguments `(#:configure-flags diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm index 879d90b241..6693f34037 100644 --- a/gnu/packages/music.scm +++ b/gnu/packages/music.scm @@ -29,6 +29,7 @@ ;;; Copyright © 2020 Lars-Dominik Braun <lars@6xq.net> ;;; Copyright © 2020 Giacomo Leidi <goodoldpaul@autistici.org> ;;; Copyright © 2020 Michael Rohleder <mike@rohleder.de> +;;; Copyright © 2020 Tanguy Le Carrour <tanguy@bioneland.org> ;;; ;;; This file is part of GNU Guix. ;;; @@ -3159,6 +3160,13 @@ websites such as Libre.fm.") (arguments `(#:phases (modify-phases %standard-phases + ;; Reported upstream: <https://github.com/beetbox/beets/issues/3771>. + ;; Disable the faulty test as the fix is unclear. + (add-after 'unpack 'disable-failing-tests + (lambda _ + (substitute* "test/test_mediafile.py" + (("def test_read_audio_properties") "def _test_read_audio_properties")) + #t)) (add-after 'unpack 'set-HOME (lambda _ (setenv "HOME" (string-append (getcwd) "/tmp")) @@ -5538,7 +5546,7 @@ and as an LV2 plugin.") ;; distros to make necessary changes to integrate the software into the ;; distribution. (name "zrythm") - (version "0.8.911") + (version "1.0.0-alpha.3.0.1") (source (origin (method url-fetch) @@ -5546,7 +5554,7 @@ and as an LV2 plugin.") version ".tar.xz")) (sha256 (base32 - "1xyp70sjc2k5pfdqbwqa988v86da0rmmyl8ry86bqv4ja80sc6g9")))) + "06025367x08y4g9grhcn35bk1dsrpgm04c8l8j50i3p49dl3s1n0")))) (build-system meson-build-system) (arguments `(#:glib-or-gtk? #t @@ -5558,15 +5566,8 @@ and as an LV2 plugin.") "-Dgraphviz=enabled" ; for exporting routing graphs "-Dguile=enabled" ; for Guile scripting "-Djack=enabled" ; for JACK audio/MIDI backend - "-Dsdl=enabled") ; for SDL audio backend (which uses ALSA) - #:phases - (modify-phases %standard-phases - (add-after 'unpack 'patch-xdg-open - (lambda _ - (substitute* "src/utils/io.c" - (("OPEN_DIR_CMD") - (string-append "\"" (which "xdg-open") "\""))) - #t))))) + "-Drtmidi=enabled" ; for RtMidi backend (ALSA sequencer) + "-Dsdl=enabled"))) ; for SDL audio backend (which uses ALSA) (inputs `(("alsa-lib" ,alsa-lib) ("jack" ,jack-1) diff --git a/gnu/packages/nano.scm b/gnu/packages/nano.scm index be8483b4e3..71ce4713f9 100644 --- a/gnu/packages/nano.scm +++ b/gnu/packages/nano.scm @@ -30,13 +30,13 @@ (define-public nano (package (name "nano") - (version "5.2") + (version "5.3") (source (origin (method url-fetch) (uri (string-append "mirror://gnu/nano/nano-" version ".tar.xz")) (sha256 - (base32 "1qd7pn9g5dgzbfg4fb3nqxqgi2iqq0g6x33x8d1mx6mfw51xmhij")))) + (base32 "0lj3fcfzprmv9raydx8yq25lw81bs6g40rhd0fv9d6idcb7wphf5")))) (build-system gnu-build-system) (inputs `(("gettext" ,gettext-minimal) diff --git a/gnu/packages/networking.scm b/gnu/packages/networking.scm index 206b805ac3..8f07b21f26 100644 --- a/gnu/packages/networking.scm +++ b/gnu/packages/networking.scm @@ -13,7 +13,7 @@ ;;; Copyright © 2016 Benz Schenk <benz.schenk@uzh.ch> ;;; Copyright © 2016, 2017 Pjotr Prins <pjotr.guix@thebird.nl> ;;; Copyright © 2017 Mathieu Othacehe <m.othacehe@gmail.com> -;;; Copyright © 2017 Leo Famulari <leo@famulari.name> +;;; Copyright © 2017, 2020 Leo Famulari <leo@famulari.name> ;;; Copyright © 2017, 2018, 2019, 2020 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2017, 2018, 2019 Rutger Helling <rhelling@mykolab.com> ;;; Copyright © 2017, 2019 Gábor Boskovits <boskovits@gmail.com> @@ -346,6 +346,24 @@ performance across unpredictable networks, such as the Internet.") (home-page "https://www.srtalliance.org/") (license license:mpl2.0))) +;; FFmpeg, GStreamer, and VLC don't support SRT 1.4.2 yet. +(define-public srt-1.4.1 + (package + (inherit srt) + (name "srt") + (version "1.4.1") + (source + (origin + (method git-fetch) + (uri + (git-reference + (url "https://github.com/Haivision/srt.git") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "01xaq44j95kbgqfl41pnybvqy0yq6wd4wdw88ckylzf0nzp977xz")))))) + (define-public lksctp-tools (package (name "lksctp-tools") diff --git a/gnu/packages/ntp.scm b/gnu/packages/ntp.scm index 5fa7d55845..2372c6138b 100644 --- a/gnu/packages/ntp.scm +++ b/gnu/packages/ntp.scm @@ -43,14 +43,14 @@ (define-public chrony (package (name "chrony") - (version "3.5.1") + (version "4.0") (source (origin (method url-fetch) (uri (string-append "https://download.tuxfamily.org/chrony/" "chrony-" version ".tar.gz")) (sha256 - (base32 "19ywl8a3lb2id7lcna5hp2g4pjnfwdc9ihr0fk6i9m45vdq2za0v")))) + (base32 "09f6w2x5h5kamb4rhcbaz911q1f730qdalgsn8s48yjyqlafl9xy")))) (build-system gnu-build-system) (arguments `(#:modules ((srfi srfi-26) @@ -80,7 +80,8 @@ (native-inputs `(("pkg-config" ,pkg-config))) (inputs - `(("libcap" ,libcap/next) + `(("gnutls" ,gnutls) + ("libcap" ,libcap/next) ("libseccomp" ,libseccomp) ("nettle" ,nettle))) (home-page "https://chrony.tuxfamily.org/") diff --git a/gnu/packages/package-management.scm b/gnu/packages/package-management.scm index 2c537fd18f..5cc2ae7fd1 100644 --- a/gnu/packages/package-management.scm +++ b/gnu/packages/package-management.scm @@ -50,6 +50,7 @@ #:use-module (gnu packages cpio) #:use-module (gnu packages crypto) #:use-module (gnu packages curl) + #:use-module (gnu packages databases) #:use-module (gnu packages dbm) #:use-module (gnu packages docbook) #:use-module (gnu packages file) @@ -130,8 +131,8 @@ ;; Note: the 'update-guix-package.scm' script expects this definition to ;; start precisely like this. (let ((version "1.1.0") - (commit "d27dbeb9d8f6c3a4c1d2fdbeb432717c119b73d1") - (revision 28)) + (commit "875c01f82dc5f2c4ca82952ea88b3240fbe8bede") + (revision 30)) (package (name "guix") @@ -147,7 +148,7 @@ (commit commit))) (sha256 (base32 - "0j60m9s47n23flfp2yn4ww4vsk8qvp500m2x1x0ib5bjywj1hiwl")) + "0mh1hnrk84h5nzqp6aflh9ab3kxr5672c8bx44minzyd26177yik")) (file-name (string-append "guix-" version "-checkout")))) (build-system gnu-build-system) (arguments @@ -988,6 +989,92 @@ environments.") ;; and the fonts included in this package are licensed OFL1.1. (license (list license:gpl3+ license:agpl3+ license:silofl1.1)))) +(define-public guix-build-coordinator + (let ((commit "e701d4d7f24a11d94cf504e7efbcee4e1091b092") + (revision "1")) + (package + (name "guix-build-coordinator") + (version (git-version "0" revision commit)) + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://git.cbaines.net/git/guix/build-coordinator") + (commit commit))) + (sha256 + (base32 + "16f09sl527b6bgyxs2ybyjfncli60dwzg4v1c58h4hcl2zm8qx70")) + (file-name (string-append name "-" version "-checkout")))) + (build-system gnu-build-system) + (arguments + `(#:modules (((guix build guile-build-system) + #:select (target-guile-effective-version)) + ,@%gnu-build-system-modules) + #:imported-modules ((guix build guile-build-system) + ,@%gnu-build-system-modules) + #:phases + (modify-phases %standard-phases + (add-before 'build 'set-GUILE_AUTO_COMPILE + (lambda _ + ;; To avoid warnings relating to 'guild'. + (setenv "GUILE_AUTO_COMPILE" "0") + #t)) + (add-after 'install 'wrap-executable + (lambda* (#:key inputs outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (bin (string-append out "/bin")) + (guile (assoc-ref inputs "guile")) + (version (target-guile-effective-version)) + (scm (string-append out "/share/guile/site/" version)) + (go (string-append out "/lib/guile/" version "/site-ccache"))) + (for-each + (lambda (file) + (simple-format (current-error-port) "wrapping: ~A\n" file) + (wrap-program file + `("PATH" ":" prefix + (,bin + ;; Support building without sqitch as an input, as it + ;; can't be cross-compiled yet + ,@(or (and=> (assoc-ref inputs "sqitch") + list) + '()))) + `("GUILE_LOAD_PATH" ":" prefix + (,scm ,(getenv "GUILE_LOAD_PATH"))) + `("GUILE_LOAD_COMPILED_PATH" ":" prefix + (,go ,(getenv "GUILE_LOAD_COMPILED_PATH"))))) + (find-files bin))) + #t)) + (delete 'strip)))) ; As the .go files aren't compatible + (native-inputs + `(("pkg-config" ,pkg-config) + ("autoconf" ,autoconf) + ("automake" ,automake) + + ;; Guile libraries are needed here for cross-compilation. + ("guile-json" ,guile-json-3) + ("guile-gcrypt" ,guile-gcrypt) + ("guix" ,guix) + ("guile-prometheus" ,guile-prometheus) + ("guile-fibers" ,guile-fibers) + ("guile" ,@(assoc-ref (package-native-inputs guix) "guile")))) + (inputs + `(("guile" ,@(assoc-ref (package-native-inputs guix) "guile")) + ("guile-fibers" ,guile-fibers) + ("guile-prometheus" ,guile-prometheus) + ("guile-gcrypt" ,guile-gcrypt) + ("guile-json" ,guile-json-3) + ("guile-lzlib" ,guile-lzlib) + ("guile-sqlite3" ,guile-sqlite3) + ("guix" ,guix) + ("sqlite" ,sqlite) + ("sqitch" ,sqitch))) + (home-page "https://git.cbaines.net/guix/build-coordinator/") + (synopsis "Tool to help build derivations") + (description + "The Guix Build Coordinator helps with performing lots of builds across +potentially many machines, and with doing something with the results and +outputs of those builds.") + (license license:gpl3+)))) + (define-public guix-jupyter (package (name "guix-jupyter") diff --git a/gnu/packages/patches/libcanberra-wayland-crash.patch b/gnu/packages/patches/libcanberra-wayland-crash.patch new file mode 100644 index 0000000000..e347436bbe --- /dev/null +++ b/gnu/packages/patches/libcanberra-wayland-crash.patch @@ -0,0 +1,55 @@ +# This patch comes from upstream commit c0620e432650e81062c1967cc669829dbd29b310. +# gtk: Don't assume all GdkDisplays are GdkX11Displays: broadway/wayland + +--- src/canberra-gtk-module.c.orig ++++ src/canberra-gtk-module.c +@@ -307,6 +307,11 @@ static gint window_get_desktop(GdkDisplay *d, GdkWindow *w) { + guchar *data = NULL; + gint ret = -1; + ++#ifdef GDK_IS_X11_DISPLAY ++ if (!GDK_IS_X11_DISPLAY(d)) ++ return 0; ++#endif ++ + if (XGetWindowProperty(GDK_DISPLAY_XDISPLAY(d), GDK_WINDOW_XID(w), + gdk_x11_get_xatom_by_name_for_display(d, "_NET_WM_DESKTOP"), + 0, G_MAXLONG, False, XA_CARDINAL, &type_return, +@@ -335,6 +340,11 @@ static gint display_get_desktop(GdkDisplay *d) { + guchar *data = NULL; + gint ret = -1; + ++#ifdef GDK_IS_X11_DISPLAY ++ if (!GDK_IS_X11_DISPLAY(d)) ++ return 0; ++#endif ++ + if (XGetWindowProperty(GDK_DISPLAY_XDISPLAY(d), DefaultRootWindow(GDK_DISPLAY_XDISPLAY(d)), + gdk_x11_get_xatom_by_name_for_display(d, "_NET_CURRENT_DESKTOP"), + 0, G_MAXLONG, False, XA_CARDINAL, &type_return, +@@ -365,6 +375,11 @@ static gboolean window_is_xembed(GdkDisplay *d, GdkWindow *w) { + gboolean ret = FALSE; + Atom xembed; + ++#ifdef GDK_IS_X11_DISPLAY ++ if (!GDK_IS_X11_DISPLAY(d)) ++ return FALSE; ++#endif ++ + /* Gnome Panel applets are XEMBED windows. We need to make sure we + * ignore them */ + +--- src/canberra-gtk.c.orig ++++ src/canberra-gtk.c +@@ -185,6 +185,11 @@ static gint window_get_desktop(GdkDisplay *d, GdkWindow *w) { + guchar *data = NULL; + gint ret = -1; + ++#ifdef GDK_IS_X11_DISPLAY ++ if (!GDK_IS_X11_DISPLAY(d)) ++ return 0; ++#endif ++ + if (XGetWindowProperty(GDK_DISPLAY_XDISPLAY(d), GDK_WINDOW_XID(w), + gdk_x11_get_xatom_by_name_for_display(d, "_NET_WM_DESKTOP"), + 0, G_MAXLONG, False, XA_CARDINAL, &type_return, diff --git a/gnu/packages/patches/lsh-fix-x11-forwarding.patch b/gnu/packages/patches/lsh-fix-x11-forwarding.patch new file mode 100644 index 0000000000..fd56a5bafd --- /dev/null +++ b/gnu/packages/patches/lsh-fix-x11-forwarding.patch @@ -0,0 +1,20 @@ +--- a/src/server_x11.c 2016-08-01 11:58:54.714647794 +0200 ++++ b/src/server_x11.c 2016-08-01 11:58:46.606563478 +0200 +@@ -151,7 +151,7 @@ DEFINE_COMMAND(open_forwarded_x11) + #define X11_MIN_DISPLAY 10 + #define X11_MAX_DISPLAY 1000 + +-/* FIXME: Create the /tmp/.X11-unix directory, if needed. Figure out ++/* FIXME: Figure out + * if and how we should use /tmp/.X17-lock. Consider using display + * "unix:17" instead of just ":17". + */ +@@ -253,6 +253,7 @@ open_x11_socket(struct ssh_channel *chan + + old_umask = umask(0077); + ++ mkdir(X11_SOCKET_DIR, S_IRWXU | S_IRWXG | S_IRWXO | S_ISVTX); + old_cd = lsh_pushd(X11_SOCKET_DIR, &dir, 0, 0); + if (old_cd < 0) + { + diff --git a/gnu/packages/patches/python-chardet-3.0.4-pytest.patch b/gnu/packages/patches/python-chardet-3.0.4-pytest.patch new file mode 100644 index 0000000000..d5bf7ccc28 --- /dev/null +++ b/gnu/packages/patches/python-chardet-3.0.4-pytest.patch @@ -0,0 +1,15 @@ +Fix test failure with Pytest 4. + +Taken from upstream: +https://github.com/chardet/chardet/commit/440828f8faafdb58700c64a9ea8f6a30b154c08b + +diff --git a/test.py b/test.py +--- a/test.py ++++ b/test.py +@@ -59,5 +59,5 @@ def gen_test_params(): + full_path = join(path, file_name) + test_case = full_path, encoding + if full_path in EXPECTED_FAILURES: +- test_case = pytest.mark.xfail(test_case) ++ test_case = pytest.param(*test_case, marks=pytest.mark.xfail) + yield test_case diff --git a/gnu/packages/patches/sunxi-tools-remove-sys-io.patch b/gnu/packages/patches/sunxi-tools-remove-sys-io.patch new file mode 100644 index 0000000000..fc1e5ea28d --- /dev/null +++ b/gnu/packages/patches/sunxi-tools-remove-sys-io.patch @@ -0,0 +1,52 @@ +From 783cbd59fcf086a9aaf603271823fb4ca71f0c55 Mon Sep 17 00:00:00 2001 +From: Danny Milosavljevic <dannym@scratchpost.org> +Date: Thu, 8 Oct 2020 23:01:05 +0200 +Subject: [PATCH] meminfo: Replace sys/io.h by direct register accesses. +See: https://github.com/linux-sunxi/sunxi-tools/pull/144 + +Signed-off-by: Danny Milosavljevic <dannym@scratchpost.org> +--- + meminfo.c | 9 ++++----- + 1 file changed, 4 insertions(+), 5 deletions(-) + +diff --git a/meminfo.c b/meminfo.c +index 0b0ff23..3b3a5df 100644 +--- a/meminfo.c ++++ b/meminfo.c +@@ -22,7 +22,6 @@ + #include <sys/mman.h> + #include <stdint.h> + #include <errno.h> +-#include <sys/io.h> + #include <stdbool.h> + + #include "common.h" +@@ -74,24 +73,24 @@ static enum sunxi_soc_version soc_version; + unsigned int + sunxi_io_read(void *base, int offset) + { +- return inl((unsigned long) (base + offset)); ++ return *(volatile unsigned int*) (base + offset); + } + + void + sunxi_io_write(void *base, int offset, unsigned int value) + { +- outl(value, (unsigned long) (base + offset)); ++ *(volatile unsigned int*) (base + offset) = value; + } + + void + sunxi_io_mask(void *base, int offset, unsigned int value, unsigned int mask) + { +- unsigned int tmp = inl((unsigned long) (base + offset)); ++ unsigned int tmp = sunxi_io_read(base, offset); + + tmp &= ~mask; + tmp |= value & mask; + +- outl(tmp, (unsigned long) (base + offset)); ++ sunxi_io_write(base, offset, tmp); + } + + diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm index e093a63770..d91e336d83 100644 --- a/gnu/packages/perl.scm +++ b/gnu/packages/perl.scm @@ -1,6 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017 Ludovic Courtès <ludo@gnu.org> -;;; Copyright © 2013, 2019 Andreas Enge <andreas@enge.fr> +;;; Copyright © 2013, 2019, 2020 Andreas Enge <andreas@enge.fr> ;;; Copyright © 2015, 2016, 2017, 2019 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2015, 2016, 2017, 2019, 2020 Eric Bavier <bavier@posteo.net> ;;; Copyright © 2015 Eric Dvorsak <eric@dvorsak.fr> @@ -27,6 +27,7 @@ ;;; Copyright © 2020 Vincent Legoll <vincent.legoll@gmail.com> ;;; Copyright © 2020 Paul Garlick <pgarlick@tourbillion-technology.com> ;;; Copyright © 2020 Nicolas Goaziou <mail@nicolasgoaziou.fr> +;;; Copyright © 2020 Malte Frank Gerdes <malte.f.gerdes@gmail.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -74,7 +75,8 @@ #:use-module (gnu packages sdl) #:use-module (gnu packages textutils) #:use-module (gnu packages video) - #:use-module (gnu packages web)) + #:use-module (gnu packages web) + #:use-module (gnu packages xorg)) ;;; ;;; Please: Try to add new module packages in alphabetic order. @@ -3812,24 +3814,15 @@ of the input. MD4 is described in RFC 1320.") (define-public perl-digest-md5 (package (name "perl-digest-md5") - (version "2.55") + (version "2.58") (source (origin (method url-fetch) - (uri (string-append "mirror://cpan/authors/id/G/GA/GAAS/Digest-MD5-" + (uri (string-append "mirror://cpan/authors/id/T/TO/TODDR/Digest-MD5-" version ".tar.gz")) (sha256 - (base32 - "0g0fklbrm2krswc1xhp4iwn1dhqq71fqh2p5wm8xj9a4s6i9ic83")))) + (base32 "057psy6k7im0pr3344ny6k5rsnbqj8aizkmwgw53kbbngabh20kx")))) (build-system perl-build-system) - (arguments - `(#:phases - (modify-phases %standard-phases - (add-after 'build 'set-permissions - (lambda _ - ;; Make MD5.so read-write so it can be stripped. - (chmod "blib/arch/auto/Digest/MD5/MD5.so" #o755) - #t))))) (home-page "https://metacpan.org/release/Digest-MD5") (synopsis "Perl interface to the MD-5 algorithm") (description @@ -7870,6 +7863,64 @@ technology to store hierarchical information such as links to other documents within a single file.") (license (package-license perl)))) +(define-public perl-opengl + (package + (name "perl-opengl") + (version "0.70") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://cpan/authors/id/C/CH/CHM/OpenGL-" + version + ".tar.gz")) + (sha256 + (base32 + "1q3lz168q081iwl9jg21fbzhp9la79gav9mv6nmh2jab83s2l3mj")))) + (build-system perl-build-system) + (inputs `(("freeglut" ,freeglut) + ("libxi" ,libxi) + ("libxmu" ,libxmu))) + (arguments + '(#:tests? #f ; test.pl fails with our empty glversion.txt, while + ; the package still seems to work on the examples + #:phases + (modify-phases %standard-phases + (add-before 'configure 'glversion + ;; Building utils/glversion.txt fails, and is probably + ;; dependent on the graphics card in the build system. + ;; Replace it by a content-free file; while this breaks + ;; the tests, the examples in the examples/ subdirectory + ;; can be run. + (lambda _ + (substitute* "Makefile.PL" + (("unlink") "# unlink") ; prevent utils/glversion.txt + ; from being deleted once... + (("\\.\"\\$make_ver clean\"") "")) ; ...and twice... + (substitute* "utils/Makefile" + (("all: glversion.txt") "all: ")) ; ...and thrice. + (call-with-output-file "utils/glversion.txt" + (lambda (port) + (display (string-append "FREEGLUT=\nGLUT=\nVERSION=\n" + "VENDOR=\nRENDERER=\n" + "EXTENSIONS=\n") + port))) + #t)) + (add-before 'configure 'fix-library-flags + (lambda* (#:key inputs #:allow-other-keys) + (substitute* "Makefile.PL" + (("-L/usr/local/freeglut/lib") + (string-append "-L" (assoc-ref inputs "freeglut") "/lib\n" + "-L" (assoc-ref inputs "glu") "/lib\n" + "-L" (assoc-ref inputs "mesa") "/lib\n"))) + #t))))) + (home-page "https://metacpan.org/release/OpenGL") + (synopsis + "Perl bindings to the OpenGL API, GLU, and GLUT/FreeGLUT") + (description "The package provides Perl bindings to OpenGL, GLU +and FreeGLUT.") + (license (package-license perl)))) + (define-public perl-package-anon (package (name "perl-package-anon") diff --git a/gnu/packages/pretty-print.scm b/gnu/packages/pretty-print.scm index 12ec1f7889..b247cf21e1 100644 --- a/gnu/packages/pretty-print.scm +++ b/gnu/packages/pretty-print.scm @@ -2,7 +2,7 @@ ;;; Copyright © 2016, 2019, 2020 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2016 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2017 Marius Bakke <mbakke@fastmail.com> -;;; Copyright © 2017 Ludovic Courtès <ludo@gnu.org> +;;; Copyright © 2017, 2020 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2017, 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2019 Meiyo Peng <meiyo@riseup.net> ;;; Copyright © 2020 Paul Garlick <pgarlick@tourbillion-technology.com> @@ -230,6 +230,18 @@ to @code{IOStreams}.") #:parallel-tests? #f ;There appear to be race conditions #:phases (modify-phases %standard-phases + ,@(if (%current-target-system) + ;; 'doc/Makefile.am' tries to run stuff even when + ;; cross-compiling. Explicitly skip it. + ;; XXX: Inline this on next rebuild cycle. + `((add-before 'build 'skip-doc-directory + (lambda _ + (substitute* "Makefile" + (("^SUBDIRS = (.*) doc(.*)$" _ before after) + (string-append "SUBDIRS = " before + " " after "\n"))) + #t))) + '()) (add-before 'check 'patch-test-files (lambda _ ;; Unpatch shebangs in test input so that source-highlight diff --git a/gnu/packages/pulseaudio.scm b/gnu/packages/pulseaudio.scm index 92d8ad33d8..d5c24c264a 100644 --- a/gnu/packages/pulseaudio.scm +++ b/gnu/packages/pulseaudio.scm @@ -118,7 +118,7 @@ for reading and writing new sound file formats.") "/libsndfile-" version ".tar.bz2")) (sha256 (base32 - "0gsbg8ni496h55mx2p9999fk0xvbsjyz6v678a0l75b5fqs8d2gc")) + "06k1wj3lwm7vf21s8yqy51k6nrkn9z610bj1gxb618ag5hq77wlx")) (modules '((ice-9 textual-ports) (guix build utils))) (snippet '(begin diff --git a/gnu/packages/python-web.scm b/gnu/packages/python-web.scm index 492c30604c..100c4caeac 100644 --- a/gnu/packages/python-web.scm +++ b/gnu/packages/python-web.scm @@ -872,14 +872,14 @@ is Python’s.") (define-public python-openid (package (name "python-openid") - (version "3.1.0") + (version "3.2.0") (source (origin (method url-fetch) (uri (pypi-uri "python3-openid" version)) (sha256 (base32 - "00l5hrjh19740w00b3fnsqldnla41wbr2rics09dl4kyd1fkd3b2")))) + "1bxf9a3ny1js422j962zfzl4a9dhj192pvai05whn7j0iy9gdyrk")))) (build-system python-build-system) (arguments `(#:phases @@ -2164,13 +2164,13 @@ adapter for use with the Requests library.") (define-public python-oauthlib (package (name "python-oauthlib") - (version "3.0.1") + (version "3.1.0") (source (origin (method url-fetch) (uri (pypi-uri "oauthlib" version)) (sha256 (base32 - "163jg4a8f7c5ki655grrr47kgljy12wri3qly7ijf64sk1fjrqqc")))) + "12gqnabwck30gdlpwm6af3s28qm9p2yc7b1w8s4fk9ncbz1irr5y")))) (build-system python-build-system) (arguments `(#:phases (modify-phases %standard-phases diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm index a0c9745a87..e87dc351a2 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -84,6 +84,8 @@ ;;; Copyright © 2020 Vinicius Monego <monego@posteo.net> ;;; Copyright © 2020 Guy Fleury Iteriteka <gfleury@disroot.org> ;;; Copyright © 2020 Hendursaga <hendursaga@yahoo.com> +;;; Copyright © 2020 Malte Frank Gerdes <malte.f.gerdes@gmail.com> +;;; Copyright © 2020 Joseph LaFreniere <joseph@lafreniere.xyz> ;;; ;;; This file is part of GNU Guix. ;;; @@ -507,14 +509,20 @@ pidof, tty, taskset, pmap.") (define-public python-shapely (package (name "python-shapely") - (version "1.6.4.post2") + (version "1.7.1") (source (origin (method url-fetch) (uri (pypi-uri "Shapely" version)) (sha256 (base32 - "03r42fmd9alp6r3q95ad6rldq2f7n1wimrw53zy5kpn33yv7pf64")))) + "0adiz4jwmwxk7k1awqifb1a9bj5x4nx4gglb5dz9liam21674h8n")) + (modules '((guix build utils))) + (snippet + '(begin + (delete-file "shapely/speedups/_speedups.c") + (delete-file "shapely/vectorized/_vectorized.c") + #t)))) (build-system python-build-system) (native-inputs `(("python-cython" ,python-cython) @@ -533,12 +541,15 @@ pidof, tty, taskset, pmap.") (let ((geos (assoc-ref inputs "geos")) (glibc (assoc-ref inputs ,(if (%current-target-system) "cross-libc" "libc")))) - (substitute* "shapely/geos.py" + (substitute* '("shapely/geos.py" "shapely/_buildcfg.py") (("_lgeos = load_dll\\('geos_c', fallbacks=.*\\)") (string-append "_lgeos = load_dll('geos_c', fallbacks=['" geos "/lib/libgeos_c.so'])")) (("free = load_dll\\('c'\\)\\.free") (string-append "free = load_dll('c', fallbacks=['" + glibc "/lib/libc.so.6']).free")) + (("free = load_dll\\('c', fallbacks=.*\\)\\.free") + (string-append "free = load_dll('c', fallbacks=['" glibc "/lib/libc.so.6']).free")))) #t))))) (home-page "https://github.com/Toblerity/Shapely") @@ -4088,6 +4099,27 @@ matching of file paths.") (description "Black is the uncompromising Python code formatter.") (license license:expat))) +(define-public python-black-macchiato + (package + (name "python-black-macchiato") + (version "1.3.0") + (source + (origin + (method url-fetch) + (uri (pypi-uri "black-macchiato" version)) + (sha256 + (base32 + "1drp5p697ni1xn5y2lbjpalgpkzy2i4cyxjj5pk4dxr0vk97dd7i")))) + (build-system python-build-system) + (propagated-inputs + `(("python-black" ,python-black))) + (home-page "https://github.com/wbolster/black-macchiato") + (synopsis "Partial @code{python-black} formatting") + (description + "This package is built on top the @{python-black} code formatter to +enable formatting of partial files.") + (license license:bsd-3))) + (define-public python-blinker (package (name "python-blinker") @@ -8048,13 +8080,13 @@ complexity of Python source code.") (define-public python-flake8 (package (name "python-flake8") - (version "3.8.3") + (version "3.8.4") (source (origin (method url-fetch) (uri (pypi-uri "flake8" version)) (sha256 (base32 - "02527892hh0qjivxaiphzalj7q32qkna1cqaikjs7c03mk5ryjzh")))) + "0fvcrsbyzjpcli8ldbpsdbpmf238nkvwc1dy4hy82lf63rvfinma")))) (build-system python-build-system) (arguments `(#:phases @@ -10039,14 +10071,13 @@ simulation, statistical modeling, machine learning and much more.") (uri (pypi-uri "chardet" version)) (sha256 (base32 - "1bpalpia6r5x1kknbk11p1fzph56fmmnp405ds8icksd3knr5aw4")))) + "1bpalpia6r5x1kknbk11p1fzph56fmmnp405ds8icksd3knr5aw4")) + (patches (search-patches "python-chardet-3.0.4-pytest.patch")))) (native-inputs `(("python-hypothesis" ,python-hypothesis) ("python-pytest" ,python-pytest) ("python-pytest-runner" ,python-pytest-runner))) (build-system python-build-system) - ;; XXX: Incompatible with Pytest 4: <https://github.com/chardet/chardet/issues/173>. - (arguments `(#:tests? #f)) (home-page "https://github.com/chardet/chardet") (synopsis "Universal encoding detector for Python 2 and 3") (description @@ -10811,36 +10842,40 @@ Pytest but stripped of Pytest specific details.") (define-public python-tox (package - (name "python-tox") - (version "2.8.1") - (source - (origin - (method url-fetch) - (uri (pypi-uri "tox" version)) - (sha256 - (base32 - "1drp6mwm8wdypjym15ia8lwjxbhcksb9vzxg4ay5dh4ji57by2ny")))) - (build-system python-build-system) - (arguments - ;; FIXME: Tests require pytest-timeout, which itself requires - ;; pytest>=2.8.0 for installation. - '(#:tests? #f)) - (propagated-inputs - `(("python-pluggy" ,python-pluggy) ; >=0.3.0,<0.4.0 - ("python-py" ,python-py) - ("python-virtualenv" ,python-virtualenv))) - (native-inputs - `(; FIXME: Missing: ("python-pytest-timeout" ,python-pytest-timeout) - ("python-pytest" ,python-pytest) ; >= 2.3.5 - ("python-setuptools-scm" ,python-setuptools-scm))) - (home-page "https://tox.readthedocs.io") - (synopsis "Virtualenv-based automation of test activities") - (description "Tox is a generic virtualenv management and test command line + (name "python-tox") + (version "3.20.0") + (source + (origin + (method url-fetch) + (uri (pypi-uri "tox" version)) + (sha256 + (base32 + "0nk0nyzhzamcrvn0qqzzy54isxxqwdi28swml7a2ym78c3f9sqpb")))) + (build-system python-build-system) + (arguments + ;; FIXME: Tests require pytest-timeout, which itself requires + ;; pytest>=2.8.0 for installation. + '(#:tests? #f)) + (propagated-inputs + `(("python-filelock" ,python-filelock) + ("python-packaging" ,python-packaging) + ("python-pluggy" ,python-pluggy) + ("python-py" ,python-py) + ("python-six" ,python-six) + ("python-toml" ,python-toml) + ("python-virtualenv" ,python-virtualenv))) + (native-inputs + `(; FIXME: Missing: ("python-pytest-timeout" ,python-pytest-timeout) + ("python-pytest" ,python-pytest) ; >= 2.3.5 + ("python-setuptools-scm" ,python-setuptools-scm))) + (home-page "https://tox.readthedocs.io") + (synopsis "Virtualenv-based automation of test activities") + (description "Tox is a generic virtualenv management and test command line tool. It can be used to check that a package installs correctly with different Python versions and interpreters, or run tests in each type of supported environment, or act as a frontend to continuous integration servers.") - (license license:expat))) + (license license:expat))) (define-public python2-tox (package-with-python2 python-tox)) @@ -15380,18 +15415,18 @@ perform the operations required for synchronizing plain text.") (define-public python-dirsync (package (name "python-dirsync") - (version "2.2.3") + (version "2.2.5") (source (origin (method url-fetch) (uri (pypi-uri "dirsync" version)) (sha256 (base32 - "1r40fkanksagcszf1ag85mdr8w7rgc7196n6s1qlsk2abw6i7v0z")))) + "1gm82jddm1lkazdi8lfsl1b3vi1z0252ng60mzjym8irnv94qfhy")))) (build-system python-build-system) (propagated-inputs `(("six" ,python-six))) - (home-page "https://bitbucket.org/tkhyn/dirsync") + (home-page "https://github.com/tkhyn/dirsync") (synopsis "Advanced directory tree synchronisation tool") (description "Advanced directory tree synchronisation tool.") (license license:expat))) @@ -21449,6 +21484,37 @@ randomness (including real life dice) and different wordlists (including cryptographically signed ones).") (license license:gpl3+))) +(define-public python-dictdiffer + (package + (name "python-dictdiffer") + (version "0.8.1") + (source (origin + (method url-fetch) + (uri (pypi-uri "dictdiffer" version)) + (sha256 + (base32 + "1lk3qmy1hkaphk4n7ayfk0wl6m2yvd6r7qkam6yncqfzgkbc1phs")))) + (build-system python-build-system) + (native-inputs + `(("python-check-manifest" ,python-check-manifest) + ("python-coverage" ,python-coverage) + ("python-isort" ,python-isort) + ("python-mock" ,python-mock) + ("python-pydoctstyle" ,python-pydocstyle) + ("python-pytest-cache" ,python-pytest-cache) + ("python-pytest-cov" ,python-pytest-cov) + ("python-pytest-pep8" ,python-pytest-pep8) + ("python-pytest-runner" ,python-pytest-runner) + ("python-pytest" ,python-pytest) + ("python-setuptools-scm" ,python-setuptools-scm) + ("python-tox" ,python-tox))) + (home-page "https://github.com/inveniosoftware/dictdiffer") + (synopsis "Diff and patch Python dictionary objects") + (description + "Dictdiffer is a Python module that helps you to diff and patch +dictionaries.") + (license license:expat))) + (define-public pyzo (package (name "pyzo") @@ -22012,6 +22078,42 @@ dates in almost any string formats commonly found on web pages.") (description "This package provides a parser for Python dependency files.") (license license:expat))) +(define-public python-dpath + (package + (name "python-dpath") + (version "2.0.1") + (source + (origin + (method url-fetch) + (uri (pypi-uri "dpath" version)) + (sha256 + (base32 + "1ymi9ssk7i0mx3mviplf4csfvzibdd6wyj4qzj6s487n9xgnp85y")))) + (build-system python-build-system) + (native-inputs + `(("python-hypothesis" ,python-hypothesis) + ("python-mock" ,python-mock) + ("python-nose" ,python-nose))) + (arguments + '(#:phases + (modify-phases %standard-phases + (replace 'check + (lambda* (#:key inputs outputs #:allow-other-keys) + (add-installed-pythonpath inputs outputs) + ;; This invokation is taken from tox.ini. + (invoke "nosetests" "-d" "-v" "tests/")))))) + (home-page "https://github.com/akesterson/dpath-python") + (synopsis "Filesystem-like pathing and searching for dictionaries") + (description + "@code{python-dpath} is a library for accessing and searching +dictionaries via /slashed/paths ala xpath. + +Basically it lets you glob over a dictionary as if it were a filesystem. It +allows you to specify globs (ala the bash eglob syntax, through some advanced +fnmatch.fnmatch magic) to access dictionary elements, and provides some +facility for filtering those results.") + (license license:expat))) + (define-public python-safety (package (name "python-safety") @@ -22137,3 +22239,60 @@ CSL 1.0.1 specification. citeproc-py can output styled citations and bibliographies in a number of different output formats. Currently supported are plain text, reStructuredText and HTML.") (license license:bsd-2))) + +(define-public python-inform + (package + (name "python-inform") + (version "1.23.0") + (source + (origin + (method url-fetch) + (uri (pypi-uri "inform" version)) + (sha256 + (base32 + "0dvc5klbnbryrvspp45nmlg02g40j7xspcz7lqsm0c0dj0z29zdz")))) + (build-system python-build-system) + (arguments + `(#:tests? #f)) ; PyPI tarball lacks tests + (native-inputs + `(("python-hypothesis" ,python-hypothesis) + ("python-pytest-cov" ,python-pytest-cov) + ("python-pytest-runner" ,python-pytest-runner))) + (propagated-inputs + `(("python-arrow" ,python-arrow) + ("python-six" ,python-six))) + (home-page "https://inform.readthedocs.io") + (synopsis "Print & logging utilities for communicating with user") + (description + "Inform is designed to display messages from programs that are typically run from +a console. It provides a collection of ‘print’ functions that allow you to simply and +cleanly print different types of messages.") + (license license:gpl3+))) + +(define-public python-nestedtext + (package + (name "python-nestedtext") + (version "1.0.0") + (source + (origin + (method url-fetch) + (uri (pypi-uri "nestedtext" version)) + (sha256 + (base32 + "0xjx863n7yd1xmkwhy48lhmqrmlzgbx3civhk386hvrzyq4sx148")))) + (build-system python-build-system) + (arguments + `(#:tests? #f)) ; PyPI tarball lacks tests + (propagated-inputs + `(("python-inform" ,python-inform))) + (home-page "https://nestedtext.org") + (synopsis "Human readable and writable data interchange format") + (description + "NestedText is a file format for holding data that is to be entered, edited, or +viewed by people. It allows data to be organized into a nested collection of +dictionaries, lists, and strings. In this way it is similar to JSON and YAML, but +without the complexity and risk of YAML and without the syntatic clutter of JSON. +NestedText is both simple and natural. Only a small number of concepts and rules must +be kept in mind when creating it. It is easily created, modified, or viewed with +a text editor and easily understood and used by both programmers and non-programmers.") + (license license:expat))) ; MIT license diff --git a/gnu/packages/sequoia.scm b/gnu/packages/sequoia.scm index 714f2b5ab0..8f2b351031 100644 --- a/gnu/packages/sequoia.scm +++ b/gnu/packages/sequoia.scm @@ -83,7 +83,7 @@ ("rust-dirs" ,rust-dirs-2.0) ;;("rust-failure" included ("rust-filetime" ,rust-filetime-0.2) - ("rust-flate2" ,rust-flate2-1.0) + ("rust-flate2" ,rust-flate2-1) ("rust-fs2" ,rust-fs2-0.4) ("rust-futures" ,rust-futures-0.1) ("rust-http" ,rust-http-0.1) @@ -98,7 +98,7 @@ ("rust-native-tls" ,rust-native-tls-0.2) ("rust-nettle" ,rust-nettle-7) ("rust-parity-tokio-ipc" ,rust-parity-tokio-ipc-0.4) - ("rust-percent-encoding" ,rust-percent-encoding-2.1) + ("rust-percent-encoding" ,rust-percent-encoding-2) ("rust-prettytable-rs" ,rust-prettytable-rs-0.8) ("rust-proc-macro2" ,rust-proc-macro2-1) ("rust-quickcheck" ,rust-quickcheck-0.9) @@ -107,11 +107,11 @@ ("rust-rusqlite" ,rust-rusqlite-0.19) ("rust-structopt" ,rust-structopt-0.3) ("rust-tempfile" ,rust-tempfile-3) - ("rust-thiserror" ,rust-thiserror-1.0) + ("rust-thiserror" ,rust-thiserror-1) ("rust-tokio" ,rust-tokio-0.1) ("rust-tokio-core" ,rust-tokio-core-0.1) ("rust-unicode-normalization" ,rust-unicode-normalization-0.1) - ("rust-url" ,rust-url-2.1) + ("rust-url" ,rust-url-2) ("rust-zbase32" ,rust-zbase32-0.1)) #:cargo-development-inputs (("rust-bindgen" ,rust-bindgen-0.51) ;; FIXME for nettle-sys and rusqlite diff --git a/gnu/packages/shells.scm b/gnu/packages/shells.scm index c12ef00c9b..3962a5be5c 100644 --- a/gnu/packages/shells.scm +++ b/gnu/packages/shells.scm @@ -513,13 +513,13 @@ ksh, and tcsh.") (define-public xonsh (package (name "xonsh") - (version "0.9.22") + (version "0.9.23") (source (origin (method url-fetch) (uri (pypi-uri "xonsh" version)) (sha256 - (base32 "1jnj063i2123d8yhqxwyx496b3npfyhszavg36748ysi0py5j8yd")) + (base32 "165lx37kibsm56srg9rj7s950b0p7g4g8qhs2iikbcyinp303g35")) (modules '((guix build utils))) (snippet `(begin diff --git a/gnu/packages/skarnet.scm b/gnu/packages/skarnet.scm index f171967957..0e259d71f3 100644 --- a/gnu/packages/skarnet.scm +++ b/gnu/packages/skarnet.scm @@ -30,14 +30,14 @@ (define-public skalibs (package (name "skalibs") - (version "2.9.2.1") + (version "2.9.3.0") (source (origin (method url-fetch) (uri (string-append "https://skarnet.org/software/skalibs/skalibs-" version ".tar.gz")) (sha256 - (base32 "0ff551181vv9d1z5sv7yg6n4b88ajcdircs4p4nif4yl7nsrj2r5")))) + (base32 "0i1vg3bh0w3bpj7cv0kzs6q9v2dd8wa2by8h8j39fh1qkl20f6ph")))) (build-system gnu-build-system) (arguments '(#:tests? #f ; no tests exist @@ -62,14 +62,14 @@ and file system operations. It is used by all skarnet.org software.") (define-public execline (package (name "execline") - (version "2.6.1.0") + (version "2.6.1.1") (source (origin (method url-fetch) (uri (string-append "https://skarnet.org/software/execline/execline-" version ".tar.gz")) (sha256 - (base32 "0mj565xml3hvw27finydms0s9abbbpgbr29vnr8gwi7zjzq7ck52")))) + (base32 "0mmsnai3bkyhng0cxdz6bf7d6b7kbsxs4p39m63215lz6kq0hhrr")))) (build-system gnu-build-system) (inputs `(("skalibs" ,skalibs))) (arguments @@ -150,14 +150,14 @@ functionality with a very small amount of code."))) (define-public s6-dns (package (name "s6-dns") - (version "2.3.2.0") + (version "2.3.3.0") (source (origin (method url-fetch) (uri (string-append "https://skarnet.org/software/s6-dns/s6-dns-" version ".tar.gz")) (sha256 - (base32 "09hyb1xv9glqq0yy7wy8hiwvlr78kwv552pags8ancgamag15di7")))) + (base32 "05l74ciflaahlgjpvy1g0slydwqclxgybxrkpvdddd2yzwc5kira")))) (build-system gnu-build-system) (inputs `(("skalibs" ,skalibs))) (arguments @@ -179,14 +179,14 @@ as an alternative to the BIND, djbdns or other DNS clients."))) (define-public s6-networking (package (name "s6-networking") - (version "2.3.1.2") + (version "2.3.2.0") (source (origin (method url-fetch) (uri (string-append "https://skarnet.org/software/s6-networking/s6-networking-" version ".tar.gz")) (sha256 - (base32 "1029bgwfmv903y5ji93j75m7p2jgchdxya1khxzb42q2z7yxnlyr")))) + (base32 "04kxj579pm4n5ifc3gfmrqj74vqqfqc82d69avzkn3yrc226mqxv")))) (build-system gnu-build-system) (inputs `(("skalibs" ,skalibs) ("execline" ,execline) @@ -263,7 +263,7 @@ environment."))) (define-public s6-portable-utils (package (name "s6-portable-utils") - (version "2.2.2.4") + (version "2.2.3.0") (source (origin (method url-fetch) @@ -271,7 +271,7 @@ environment."))) "https://skarnet.org/software/s6-portable-utils/s6-portable-utils-" version ".tar.gz")) (sha256 - (base32 "0494saavpqfa4v5kib69p186858yjy87hm5qm804a4xvq51wqbwm")))) + (base32 "063zwifigg2b3wsixdcz4h9yvr6fkqssvx0iyfsprjfmm1yapfi9")))) (build-system gnu-build-system) (inputs `(("skalibs" ,skalibs))) (arguments @@ -340,7 +340,7 @@ all the details."))) (define-public s6-linux-utils (package (name "s6-linux-utils") - (version "2.5.1.2") + (version "2.5.1.3") (source (origin (method url-fetch) @@ -348,7 +348,7 @@ all the details."))) "https://skarnet.org/software/s6-linux-utils/s6-linux-utils-" version ".tar.gz")) (sha256 - (base32 "0w4jms9qyb5kx9zcyd3gzri60rrii2rbmh08s59ckg4awy27py86")))) + (base32 "0wbv02zxaami88xbj2zg63kspz05bbplswg0c6ncb5g9khf52wa4")))) (build-system gnu-build-system) (inputs `(("skalibs" ,skalibs))) (arguments diff --git a/gnu/packages/spice.scm b/gnu/packages/spice.scm index 4b4c673a9d..2fb587aa7a 100644 --- a/gnu/packages/spice.scm +++ b/gnu/packages/spice.scm @@ -102,7 +102,7 @@ system to use the host GPU to accelerate 3D rendering.") (define-public spice-protocol (package (name "spice-protocol") - (version "0.14.2") + (version "0.14.3") (source (origin (method url-fetch) (uri (string-append @@ -110,7 +110,7 @@ system to use the host GPU to accelerate 3D rendering.") "spice-protocol-" version ".tar.xz")) (sha256 (base32 - "1sgi9ksb781qs47pdbw0bmnyg8dgayn5xrzj6vzdy043nv466flg")))) + "0yj8k7gcirrsf21w0q6146n5g4nzn2pqky4p90n5760m5ayfb1pr")))) (build-system meson-build-system) (arguments `(#:phases diff --git a/gnu/packages/ssh.scm b/gnu/packages/ssh.scm index d28e3ef83c..ca99235a01 100644 --- a/gnu/packages/ssh.scm +++ b/gnu/packages/ssh.scm @@ -594,10 +594,13 @@ basis for almost any application.") (substitute* "src/testsuite/login-auth-test" (("/bin/cat") "cat")) - #t)))) + #t)) + (patches (search-patches "lsh-fix-x11-forwarding.patch")))) (build-system gnu-build-system) (native-inputs - `(("m4" ,m4) + `(("autoconf" ,autoconf) + ("automake" ,automake) + ("m4" ,m4) ("guile" ,guile-2.0) ("gperf" ,gperf) ("psmisc" ,psmisc))) ; for `killall' @@ -615,7 +618,8 @@ basis for almost any application.") ;; The server (lshd) invokes xauth when X11 forwarding is requested. ;; This adds 24 MiB (or 27%) to the closure of lsh. - ("xauth" ,xauth))) + ("xauth" ,xauth) + ("libxau" ,libxau))) ;also required for x11-forwarding (arguments '(;; Skip the `configure' test that checks whether /dev/ptmx & ;; co. work as expected, because it relies on impurities (for @@ -628,14 +632,20 @@ basis for almost any application.") ;; 'lsh_argp.h' checks HAVE_ARGP_PARSE but nothing ;; defines it. "CPPFLAGS=-DHAVE_ARGP_PARSE") - - ;; FIXME: Tests won't run in a chroot, presumably because - ;; /etc/profile is missing, and thus clients get an empty $PATH - ;; and nothing works. - #:tests? #f - #:phases (modify-phases %standard-phases + (add-after 'unpack 'disable-failing-tests + (lambda _ + ;; FIXME: Most tests won't run in a chroot, presumably because + ;; /etc/profile is missing, and thus clients get an empty $PATH + ;; and nothing works. Run only the subset that passes. + (delete-file "configure") ;force rebootstrap + (substitute* "src/testsuite/Makefile.am" + (("seed-test \\\\") ;prevent trailing slash + "seed-test") + (("^\t(lsh|daemon|tcpip|socks|lshg|lcp|rapid7|lshd).*test.*") + "")) + #t)) (add-before 'configure 'pre-configure (lambda* (#:key inputs #:allow-other-keys) (let* ((nettle (assoc-ref inputs "nettle")) diff --git a/gnu/packages/statistics.scm b/gnu/packages/statistics.scm index 60f39fa0a9..71ff921c62 100644 --- a/gnu/packages/statistics.scm +++ b/gnu/packages/statistics.scm @@ -702,14 +702,14 @@ analysis.") (define-public r-survival (package (name "r-survival") - (version "3.2-3") + (version "3.2-7") (source (origin (method url-fetch) (uri (cran-uri "survival" version)) (sha256 (base32 - "07h76r2y23w889257krlijcw4n4d7ssx92x7i5qb1xyv5gyvl3rx")))) + "0ila864g5b9yhjhk3jirgdpi06sksc0axa78890dmkvyv9rwsmjk")))) (build-system r-build-system) (propagated-inputs `(("r-matrix" ,r-matrix))) @@ -1415,13 +1415,13 @@ emitter (http://pyyaml.org/wiki/LibYAML) for R.") (define-public r-knitr (package (name "r-knitr") - (version "1.29") + (version "1.30") (source (origin (method url-fetch) (uri (cran-uri "knitr" version)) (sha256 (base32 - "00rcwiq8znmk5h4qgrwd0639xyb38iwbjykqjk3disz3kvrcvbn1")))) + "0gn9qwc5762a6j0iywfwhalni52g228dcy4bl4di6d52cqsv3ars")))) (build-system r-build-system) (propagated-inputs `(("r-evaluate" ,r-evaluate) @@ -1965,13 +1965,13 @@ inference for statistical models.") (define-public r-coda (package (name "r-coda") - (version "0.19-3") + (version "0.19-4") (source (origin (method url-fetch) (uri (cran-uri "coda" version)) (sha256 (base32 - "1mn50bshky968gn4nf6vnkaa768fnvm1xmhkms7szwdw9341zpyk")))) + "13z5dwfpnyyhpsbpg4xr9g5c1685jhqj90f4x4qkcykr6kykqba2")))) (build-system r-build-system) (propagated-inputs `(("r-lattice" ,r-lattice))) @@ -2034,14 +2034,14 @@ files in R. It is built on top of the libxml2 C library.") (define-public r-multitaper (package (name "r-multitaper") - (version "1.0-14") + (version "1.0-15") (source (origin (method url-fetch) (uri (cran-uri "multitaper" version)) (sha256 (base32 - "04wd9bbhyx7697pfy0fpj02v1csr48hkpqj62h9p8a6w84ji4k68")))) + "1gm3wr8xqpqiby7q1dr3zxim77v0bvvrqi0hlazf5g3gnkrp2zc3")))) (build-system r-build-system) (native-inputs `(("gfortran" ,gfortran))) @@ -2100,14 +2100,14 @@ limited to R.") (define-public r-backports (package (name "r-backports") - (version "1.1.9") + (version "1.1.10") (source (origin (method url-fetch) (uri (cran-uri "backports" version)) (sha256 (base32 - "1mz3r6ad484xmx0i89gvmak4wzl4cp59gxdzirrci9znw1axrrvx")))) + "1pq16bf40zx441ylmqqqilj3xp39r707h56kwqp5yqklq9yln2z1")))) (build-system r-build-system) (home-page "https://cran.r-project.org/web/packages/backports") (synopsis "Reimplementations of functions introduced since R 3.0.0") @@ -2322,14 +2322,14 @@ collation, and NAMESPACE files.") (define-public r-openssl (package (name "r-openssl") - (version "1.4.2") + (version "1.4.3") (source (origin (method url-fetch) (uri (cran-uri "openssl" version)) (sha256 (base32 - "17fkc6pr8w5z3rpadg692a689p1v4j7xl5ak0y64is7c74cxgljx")))) + "0sc2skh1nz7jj65p0pq4a6bl8jza6lyi4zvmvwndzxfgivgh281l")))) (build-system r-build-system) (inputs `(("libressl" ,libressl))) @@ -2426,13 +2426,13 @@ informative error messages when it's not available.") (define-public r-devtools (package (name "r-devtools") - (version "2.3.1") + (version "2.3.2") (source (origin (method url-fetch) (uri (cran-uri "devtools" version)) (sha256 (base32 - "100mgighf6vqsfwv2qw5rlnd5sfvcji9l9jrmx9ii28r9fd2gyas")))) + "0vcqs4c5dfjs2ddkclv3z7zzix2zrnrxvzax8hjvjszgp8362275")))) (build-system r-build-system) (propagated-inputs `(("r-callr" ,r-callr) @@ -2467,13 +2467,13 @@ tools to simplify the devolpment of R packages.") (define-public r-withr (package (name "r-withr") - (version "2.2.0") + (version "2.3.0") (source (origin (method url-fetch) (uri (cran-uri "withr" version)) (sha256 (base32 - "10mmfffjbnb2zq5x0kqhhb4z6va4micc6pjzvlfji34gyhffa8ac")))) + "1837vjp35npjrnis1im5xrwj1swpgnms00gkjiz7296l8yckrh1c")))) (build-system r-build-system) (native-inputs `(("r-knitr" ,r-knitr))) @@ -2511,22 +2511,27 @@ time-of-day values, based on the @code{difftime} class.") (define-public r-readr (package (name "r-readr") - (version "1.3.1") + (version "1.4.0") (source (origin (method url-fetch) (uri (cran-uri "readr" version)) (sha256 (base32 - "1wz496rw0ah433p755n3xac8gh7yzid4xgdjzd1a7wmpkgilvy9k")))) + "1fa67h4l9d30ig460xizgzl115i9pm3bk9dvsbrw6awbmf51ic82")))) (build-system r-build-system) (propagated-inputs - `(("r-clipr" ,r-clipr) + `(("r-cli" ,r-cli) + ("r-clipr" ,r-clipr) + ("r-cpp11" ,r-cpp11) ("r-crayon" ,r-crayon) - ("r-rcpp" ,r-rcpp) ("r-hms" ,r-hms) + ("r-lifecycle" ,r-lifecycle) ("r-tibble" ,r-tibble) ("r-r6" ,r-r6) + ("r-rlang" ,r-rlang) ("r-bh" ,r-bh))) + (native-inputs + `(("r-knitr" ,r-knitr))) (home-page "https://github.com/hadley/readr") (synopsis "Read tabular data") (description @@ -2690,18 +2695,17 @@ certain criterion, e.g., it contains a certain regular file.") (define-public r-rmarkdown (package (name "r-rmarkdown") - (version "2.3") + (version "2.4") (source (origin (method url-fetch) (uri (cran-uri "rmarkdown" version)) (sha256 - (base32 "0vdjq4kcyxkr2m27588kk6yi5g53symjshj4jz4n0j18wz53shji")))) + (base32 "1y2156w1abik8df8vl376ilv8s1jg8i0x2w4n4dwrnm3xxgp5kf0")))) (properties `((upstream-name . "rmarkdown"))) (build-system r-build-system) (propagated-inputs - `(("r-base64enc" ,r-base64enc) - ("r-evaluate" ,r-evaluate) + `(("r-evaluate" ,r-evaluate) ("r-htmltools" ,r-htmltools) ("r-jsonlite" ,r-jsonlite) ("r-knitr" ,r-knitr) @@ -2806,13 +2810,13 @@ a column in data frame.") (define-public r-rsqlite (package (name "r-rsqlite") - (version "2.2.0") + (version "2.2.1") (source (origin (method url-fetch) (uri (cran-uri "RSQLite" version)) (sha256 (base32 - "1m38sj8rwbf3p2lhqabcp7c7djk7s9ng37cz39yxk706v9pi4380")))) + "0lynli9144dzb9vhxssba20v7z5h2nirawpvvy8ykv4n3ir7qlsl")))) (properties `((upstream-name . "RSQLite"))) (build-system r-build-system) (propagated-inputs @@ -2824,6 +2828,8 @@ a column in data frame.") ("r-bit64" ,r-bit64) ("r-blob" ,r-blob) ("r-pkgconfig" ,r-pkgconfig))) + (native-inputs + `(("r-knitr" ,r-knitr))) (home-page "https://github.com/rstats-db/RSQLite") (synopsis "SQLite interface for R") (description @@ -3604,13 +3610,13 @@ t-probabilities, quantiles, random deviates and densities.") (define-public r-matrixstats (package (name "r-matrixstats") - (version "0.56.0") + (version "0.57.0") (source (origin (method url-fetch) (uri (cran-uri "matrixStats" version)) (sha256 (base32 - "09qgfv9x32x6ncgf19iy7yjp26fwy6p5wm8spc2xzfc0qhylmqrr")))) + "0hzkx7yi9ira476izsgw7r2bhv72ra4z2m9zr1i1f4ivrn3ihs7r")))) (properties `((upstream-name . "matrixStats"))) (build-system r-build-system) (native-inputs @@ -4196,18 +4202,17 @@ including: (define-public r-gplots (package (name "r-gplots") - (version "3.0.4") + (version "3.1.0") (source (origin (method url-fetch) (uri (cran-uri "gplots" version)) (sha256 (base32 - "15ip3v4xiqzbanf8bc5fj90cbwdgixr72aj5jrp34jfdzdx0gxwg")))) + "05rislwgaw6v5dmhcwyvc04hi1fgaxrpb61f66kx483px45w6f24")))) (build-system r-build-system) (propagated-inputs `(("r-catools" ,r-catools) - ("r-gdata" ,r-gdata) ("r-gtools" ,r-gtools) ("r-kernsmooth" ,r-kernsmooth))) (native-inputs @@ -4906,14 +4911,14 @@ of the points.") (define-public r-fpc (package (name "r-fpc") - (version "2.2-7") + (version "2.2-8") (source (origin (method url-fetch) (uri (cran-uri "fpc" version)) (sha256 (base32 - "1xnp3j36hggfg675v39mnr6rgvp7i11pfng7nmyy3k2ldgklz0j9")))) + "07a125pji1flmybn6iidcnizwnqyl6chnrckxa5jp4qxxfdqx658")))) (build-system r-build-system) (propagated-inputs `(("r-class" ,r-class) @@ -5075,13 +5080,13 @@ using modular prediction and response module classes.") (define-public r-quantreg (package (name "r-quantreg") - (version "5.67") + (version "5.73") (source (origin (method url-fetch) (uri (cran-uri "quantreg" version)) (sha256 - (base32 "09hgch8x6x2k7wm17c0njp7l0r6rrrlcji60afrv19dm9r4596wr")))) + (base32 "0mjwwj3c7cfnprlh90ld0f1lll0mrqbx8mpnbfr7bvzg8h6072y4")))) (build-system r-build-system) (native-inputs `(("gfortran" ,gfortran))) @@ -5209,13 +5214,13 @@ Companion to Applied Regression, Third Edition, Sage.") (define-public r-car (package (name "r-car") - (version "3.0-9") + (version "3.0-10") (source (origin (method url-fetch) (uri (cran-uri "car" version)) (sha256 - (base32 "1clh8c7mj87i4hz27l16w76dpw7k4mlnjbgm9mbrhrfkv0lpb63c")))) + (base32 "1w95b7xm0bna3qm637pwyv4s7294ffz9dl153naprd79zv91dqqw")))) (build-system r-build-system) (propagated-inputs `(("r-abind" ,r-abind) @@ -5362,14 +5367,14 @@ multivariate case.") (define-public r-tclust (package (name "r-tclust") - (version "1.4-1") + (version "1.4-2") (source (origin (method url-fetch) (uri (cran-uri "tclust" version)) (sha256 (base32 - "17md6l9v9dl9b72l84df01b52h2xiynbcjm437mv9mzcr09fc2sb")))) + "1nb5iky4kc832627jf28lzj19wrvgwg5da6fyl3kyf0npmyx1p4m")))) (build-system r-build-system) ;; These are all suggested packages, not build dependencies. (propagated-inputs diff --git a/gnu/packages/syndication.scm b/gnu/packages/syndication.scm index 64d8a47085..e174df0d9e 100644 --- a/gnu/packages/syndication.scm +++ b/gnu/packages/syndication.scm @@ -53,7 +53,7 @@ (define-public newsboat (package (name "newsboat") - (version "2.20.1") + (version "2.21") (source (origin (method url-fetch) @@ -61,13 +61,7 @@ "/newsboat-" version ".tar.xz")) (sha256 (base32 - "0rimjikni96m52vhymgsg1b9g99af6ggyzd1lpvhgqsznxwj0y42")) - (modules '((guix build utils))) - (snippet - '(begin - (substitute* "rust/libnewsboat/Cargo.toml" - (("= 1.0.17") "1.0.17")) - #t)))) + "0ccwbb3maini18453wjqn8m3bd7zzm6dn5a9vpb8smxv8vfv6ihc")))) (build-system cargo-build-system) (native-inputs `(("gettext" ,gettext-minimal) @@ -77,7 +71,7 @@ ("asciidoctor" ,ruby-asciidoctor))) (inputs `(("curl" ,curl) - ("json-c" ,json-c-0.13) + ("json-c" ,json-c) ("libxml2" ,libxml2) ("ncurses" ,ncurses) ("stfl" ,stfl) @@ -93,18 +87,15 @@ ("rust-chrono" ,rust-chrono-0.4) ("rust-clap" ,rust-clap-2) ("rust-curl-sys" ,rust-curl-sys-0.4) - ("rust-dirs" ,rust-dirs-2.0) - ("rust-gettext-rs" ,rust-gettext-rs-0.4) + ("rust-gettext-rs" ,rust-gettext-rs-0.5) ("rust-gettext-sys" ,rust-gettext-sys-0.19) + ("rust-lazy-static" ,rust-lazy-static-1) ("rust-libc" ,rust-libc-0.2) - ("rust-libz-sys" ,rust-libz-sys-1) ("rust-natord" ,rust-natord-1.0) ("rust-nom" ,rust-nom-5) ("rust-once-cell" ,rust-once-cell-1) - ("rust-percent-encoding" ,rust-percent-encoding-2.1) - ("rust-rand" ,rust-rand-0.6) - ("rust-smallvec" ,rust-smallvec-0.6) - ("rust-url" ,rust-url-2.1) + ("rust-rand" ,rust-rand-0.7) + ("rust-url" ,rust-url-2) ("rust-unicode-width" ,rust-unicode-width-0.1) ("rust-xdg" ,rust-xdg-2.2)) #:cargo-development-inputs @@ -119,6 +110,11 @@ (delete-file-recursively (string-append vendor-dir "/" ,name "-" ,version ".tar.xz")) #t)) + (add-after 'unpack 'patch-source + (lambda _ + (substitute* "Makefile" + (("Cargo.lock") "")) + #t)) (replace 'build (lambda* args ((assoc-ref gnu:%standard-phases 'build) diff --git a/gnu/packages/terminals.scm b/gnu/packages/terminals.scm index b851ca3481..e596c1b81f 100644 --- a/gnu/packages/terminals.scm +++ b/gnu/packages/terminals.scm @@ -221,24 +221,29 @@ text-based approach to terminal recording.") (package (name "libtsm") (version (git-version "0.0.0" revision commit)) - (source (origin - (method git-fetch) - ;; The freedesktop repository is no longer maintained. - (uri (git-reference - (url (string-append "https://github.com/Aetf/" name)) - (commit commit))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "0mwn91i5h5d518i1s05y7hzv6bc13vzcvxszpfh77473iwg4wprx")))) + (source + (origin + (method git-fetch) + ;; The freedesktop repository is no longer maintained. + (uri (git-reference + (url (string-append "https://github.com/Aetf/" name)) + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0mwn91i5h5d518i1s05y7hzv6bc13vzcvxszpfh77473iwg4wprx")) + (modules '((guix build utils))) + (snippet + '(begin + ;; Remove a bundled copy of libxkbcommon's xkbcommon-keysyms.h. + (delete-file-recursively "external/xkbcommon") + #t)))) (build-system cmake-build-system) (arguments `(#:configure-flags '("-DBUILD_TESTING=ON"))) (native-inputs - `(("pkg-config" ,pkg-config))) - (inputs - `(("libxkbcommon" ,libxkbcommon) - ("check" ,check))) + `(("check" ,check) + ("libxkbcommon" ,libxkbcommon) ; for xkbcommon-keysyms.h + ("pkg-config" ,pkg-config))) (synopsis "Xterm state machine library") (description "TSM is a state machine for DEC VT100-VT520 compatible terminal emulators. It tries to support all common standards while keeping @@ -1178,7 +1183,7 @@ made by suckless.") ("rust-mio" ,rust-mio-0.6) ("rust-mio-extras" ,rust-mio-extras-2) ("rust-terminfo" ,rust-terminfo-0.6) - ("rust-url" ,rust-url-2.1) + ("rust-url" ,rust-url-2) ("rust-vte" ,rust-vte-0.3) ("rust-nix" ,rust-nix-0.15) ("rust-miow" ,rust-miow-0.3) diff --git a/gnu/packages/tex.scm b/gnu/packages/tex.scm index 7dfac59613..f297252de4 100644 --- a/gnu/packages/tex.scm +++ b/gnu/packages/tex.scm @@ -7489,3 +7489,49 @@ Packages @code{bicaption}, @code{ltcaption}, @code{newfloat}, (description "This package provides a drop-in replacement for the Symbol font from Adobe's basic set.") (license license:gpl2))) + +(define-public texlive-mathpazo + (package + (inherit (simple-texlive-package + "texlive-mathpazo" + (list "/doc/latex/mathpazo/" + "/fonts/afm/public/mathpazo/" + "/fonts/tfm/public/mathpazo/" + "/fonts/type1/public/mathpazo/" + "/fonts/vf/public/mathpazo/") + (base32 + "02in6hdnbnkz216mpy8g6fk3wmlls8nh5982vmg37vhbj77lk0rh") + #:trivial? #t)) + (home-page "http://www.ctan.org/pkg/mathpazo") + (synopsis "Fonts to typeset mathematics to match Palatino") + (description "The Pazo Math fonts are a family of PostScript fonts +suitable for typesetting mathematics in combination with the Palatino +family of text fonts. The Pazo Math family is made up of five fonts +provided in Adobe Type 1 format. These contain glyphs that are +usually not available in Palatino and for which Computer Modern looks +odd when combined with Palatino. These glyphs include the uppercase +Greek alphabet in upright and slanted shapes, the lowercase Greek +alphabet in slanted shape, several mathematical glyphs and the +uppercase letters commonly used to represent various number sets. +LaTeX macro support is provided in package @code{psnfss}.") + (license license:gpl3+))) + +(define-public texlive-fpl + (package + (inherit (simple-texlive-package + "texlive-fpl" + (list "/doc/fonts/fpl/" + "/source/fonts/fpl/" + "/fonts/afm/public/fpl/" + "/fonts/type1/public/fpl/") + (base32 + "02gkl516z9kn8xqs269pdkqn37sxm8ib0pcs43s4rs2rhyyl5z68") + #:trivial? #t)) + (home-page "https://www.ctan.org/pkg/fpl") + (synopsis "SC and OsF fonts for URW Palladio L") + (description "The FPL Fonts provide a set of SC/OsF fonts for URW +Palladio L which are compatible with the Palatino SC/OsF fonts from +Adobe. LaTeX use is enabled by the mathpazo package, which is part of +the @code{psnfss} distribution.") + ;; Either LPPL version 1.0 or later, or GPL version 2 + (license (list license:lppl1.0+ license:gpl2)))) diff --git a/gnu/packages/textutils.scm b/gnu/packages/textutils.scm index 6653d01a31..7cbbe5f61d 100644 --- a/gnu/packages/textutils.scm +++ b/gnu/packages/textutils.scm @@ -67,18 +67,19 @@ (define-public dos2unix (package (name "dos2unix") - (version "7.4.1") + (version "7.4.2") (source (origin (method url-fetch) (uri (string-append "https://waterlan.home.xs4all.nl/dos2unix/" "dos2unix-" version ".tar.gz")) (sha256 - (base32 "08w6yywzirsxq8bh87jycvvw922ybhc2l426j2iqzliyn1h8mm8w")))) + (base32 "00dfsf4rfyjb5j12gan8xjiirm0asshdz6dmd3l34a7ays6wadb0")))) (build-system gnu-build-system) (arguments - '(#:make-flags (list "CC=gcc" - (string-append "prefix=" (assoc-ref %outputs "out"))) + `(#:make-flags + (list (string-append "CC=" ,(cc-for-target)) + (string-append "prefix=" (assoc-ref %outputs "out"))) #:phases (modify-phases %standard-phases (delete 'configure)))) ; no configure script diff --git a/gnu/packages/tv.scm b/gnu/packages/tv.scm index 2196162956..88df5c90bf 100644 --- a/gnu/packages/tv.scm +++ b/gnu/packages/tv.scm @@ -1,6 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2015, 2016, 2017, 2018 Alex Kost <alezost@gmail.com> -;;; Copyright © 208 Efraim Flashner <efraim@flashner.co.il> +;;; Copyright © 2018 Efraim Flashner <efraim@flashner.co.il> ;;; ;;; This file is part of GNU Guix. ;;; diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm index 0b02ad00b9..a8f20bf11c 100644 --- a/gnu/packages/video.scm +++ b/gnu/packages/video.scm @@ -526,7 +526,7 @@ applications by providing high-level classes for commonly required tasks.") (define-public libde265 (package (name "libde265") - (version "1.0.6") + (version "1.0.7") (source (origin (method git-fetch) @@ -536,7 +536,7 @@ applications by providing high-level classes for commonly required tasks.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "0ipccyavlgf7hfzx1g8bvzg62xq10vcxvwgq70r3z3j6mdvmrzjp")))) + (base32 "0x7g9771457z49qvzpk4iswfhq018i0mzsflv9gg8if5hjqhfdp0")))) (build-system gnu-build-system) (arguments `(#:configure-flags @@ -1455,6 +1455,8 @@ operate properly.") ("sdl" ,sdl2) ("soxr" ,soxr) ("speex" ,speex) + ;; FFmpeg is not yet compatible with SRT > 1.4.1. + ("srt" ,srt-1.4.1) ("twolame" ,twolame) ("vidstab" ,vidstab) ("x265" ,x265) @@ -1539,6 +1541,7 @@ operate properly.") '()) "--enable-libsoxr" "--enable-libspeex" + "--enable-libsrt" "--enable-libtheora" "--enable-libtwolame" "--enable-libvidstab" @@ -1830,6 +1833,8 @@ videoformats depend on the configuration flags of ffmpeg.") ("sdl-image" ,sdl-image) ("speex" ,speex) ("speexdsp" ,speexdsp) + ;; VLC is not yet compatible with SRT > 1.4.1. + ("srt" ,srt-1.4.1) ("taglib" ,taglib) ("twolame" ,twolame) ("unzip" ,unzip) @@ -2129,9 +2134,8 @@ To load this plugin, specify the following option when starting mpv: (define-public libvpx (package (name "libvpx") - (version "1.8.2") + (version "1.9.0") (source (origin - ;; XXX: Upstream does not provide tarballs for > 1.6.1. (method git-fetch) (uri (git-reference (url "https://chromium.googlesource.com/webm/libvpx") @@ -2139,7 +2143,7 @@ To load this plugin, specify the following option when starting mpv: (file-name (git-file-name name version)) (sha256 (base32 - "0gyq4fkbd2fv7m1mm9xrvn6rk6f4jsmbv8bnlhingmnrvyncnmnr")) + "16xv6ambc82g14h1y0q1vyy57wp6j9fbp0nk0wd5csnrw407rhry")) (patches (search-patches "libvpx-CVE-2016-2818.patch")))) (build-system gnu-build-system) (arguments @@ -2157,7 +2161,11 @@ To load this plugin, specify the following option when starting mpv: ;; The configure script does not understand some of the GNU ;; options, so we only add the flags specified above. (apply invoke "./configure" configure-flags)))) - #:tests? #f)) ; no check target + + ;; XXX: The test suite wants to download 871 files from a cloud storage + ;; service (see test/test-data.sha1). It is possible to specify a + ;; custom directory, but there seems to be no tarball with all files. + #:tests? #f)) (native-inputs `(("perl" ,perl) ("yasm" ,yasm))) @@ -2368,7 +2376,7 @@ audio, images) from the Web. It can use either mpv or vlc for playback.") (define-public youtube-viewer (package (name "youtube-viewer") - (version "3.7.8") + (version "3.7.9") (source (origin (method git-fetch) (uri (git-reference @@ -2377,7 +2385,7 @@ audio, images) from the Web. It can use either mpv or vlc for playback.") (file-name (git-file-name name version)) (sha256 (base32 - "1ckzzf35nbwlx5prvzjr52n28chyd479vhdk5w7vb2343az80mzi")))) + "16p0sa91h0zpqdpqmy348g6b9qj5f6qrbzrljn157vk00cg6mx18")))) (build-system perl-build-system) (native-inputs `(("perl-module-build" ,perl-module-build))) @@ -2390,6 +2398,7 @@ audio, images) from the Web. It can use either mpv or vlc for playback.") ("perl-libwww" ,perl-libwww) ("perl-lwp-protocol-https" ,perl-lwp-protocol-https) ("perl-lwp-useragent-cached" ,perl-lwp-useragent-cached) + ("perl-memoize" ,perl-memoize) ("perl-mozilla-ca" ,perl-mozilla-ca) ("perl-term-readline-gnu" ,perl-term-readline-gnu) ("perl-unicode-linebreak" ,perl-unicode-linebreak) @@ -2996,7 +3005,7 @@ be used for realtime video capture via Linux-specific APIs.") (define-public obs (package (name "obs") - (version "26.0.0") + (version "26.0.2") (source (origin (method git-fetch) (uri (git-reference @@ -3005,12 +3014,21 @@ be used for realtime video capture via Linux-specific APIs.") (file-name (git-file-name name version)) (sha256 (base32 - "09y57b3c88szl3wyx3cxq8jrm3pfnyg2n25hxl1ynkq3rgaavdq2")))) + "1d502f80whh686mvq0yn6zpa5nvmnlzxwp5sjz43vpbbvhpbrdqj")))) (build-system cmake-build-system) (arguments `(#:configure-flags (list (string-append "-DOBS_VERSION_OVERRIDE=" ,version) - "-DENABLE_UNIT_TESTS=TRUE"))) + "-DENABLE_UNIT_TESTS=TRUE") + #:phases + (modify-phases %standard-phases + (add-after 'install 'wrap-executable + (lambda* (#:key outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out")) + (plugin-path (getenv "QT_PLUGIN_PATH"))) + (wrap-program (string-append out "/bin/obs") + `("QT_PLUGIN_PATH" ":" prefix (,plugin-path)))) + #t))))) (native-inputs `(("cmocka" ,cmocka) ("pkg-config" ,pkg-config))) @@ -3601,7 +3619,7 @@ practically any type of media.") (define-public libmediainfo (package (name "libmediainfo") - (version "20.08") + (version "20.09") (source (origin (method url-fetch) (uri (string-append "https://mediaarea.net/download/source/" @@ -3609,7 +3627,7 @@ practically any type of media.") name "_" version ".tar.xz")) (sha256 (base32 - "19n8h9jq42b6r3dbag77fzwfksfywszmzpi636w87fvc1nqldlqj")))) + "15ni9pnch6688m72swwax109a7mg4a08yx75qknrx7qa6dbyhz6h")))) ;; TODO add a Big Buck Bunny webm for tests. (native-inputs `(("autoconf" ,autoconf) @@ -3659,7 +3677,7 @@ MPEG-2, MPEG-4, DVD (VOB)... (define-public mediainfo (package (name "mediainfo") - (version "20.08") + (version "20.09") (source (origin (method url-fetch) ;; Warning: This source has proved unreliable 1 time at least. @@ -3670,7 +3688,7 @@ MPEG-2, MPEG-4, DVD (VOB)... name "_" version ".tar.xz")) (sha256 (base32 - "1baf2dj5s3g1x4ssqli1b2r1203syk42m09zhp36qcinmfixv11l")))) + "0rqg9z7s5bk7vlvjrs4gackzg7ib05a0dffi2ihsjf5a7kw7wcir")))) (native-inputs `(("autoconf" ,autoconf) ("automake" ,automake) @@ -4540,7 +4558,7 @@ result in several formats: ("rust-arrayvec" ,rust-arrayvec-0.5) ("rust-backtrace" ,rust-backtrace-0.3) ("rust-bitstream-io" ,rust-bitstream-io-0.8) - ("rust-byteorder" ,rust-byteorder-1.3) + ("rust-byteorder" ,rust-byteorder-1) ("rust-cfg-if" ,rust-cfg-if-0.1) ("rust-clap" ,rust-clap-2) ("rust-console" ,rust-console-0.11) @@ -4564,7 +4582,7 @@ result in several formats: ("rust-serde" ,rust-serde-1) ("rust-signal-hook" ,rust-signal-hook-0.1) ("rust-simd-helpers" ,rust-simd-helpers-0.1) - ("rust-thiserror" ,rust-thiserror-1.0) + ("rust-thiserror" ,rust-thiserror-1) ("rust-toml" ,rust-toml-0.5) ("rust-y4m" ,rust-y4m-0.5) ("rust-cc" ,rust-cc-1) diff --git a/gnu/packages/vim.scm b/gnu/packages/vim.scm index 6b741e1198..def1f870ca 100644 --- a/gnu/packages/vim.scm +++ b/gnu/packages/vim.scm @@ -70,7 +70,7 @@ (define-public vim (package (name "vim") - (version "8.2.1770") + (version "8.2.1840") (source (origin (method git-fetch) (uri (git-reference @@ -79,7 +79,7 @@ (file-name (git-file-name name version)) (sha256 (base32 - "14mbrbnjwb8r4pl06vafd56x0pmbcgqvr57s2ns2arh7xcy9bri7")))) + "0ly2kv1x3jqi363wjk694s8bi9q0xvw7yizf8pzanan8h2wy1r28")))) (build-system gnu-build-system) (arguments `(#:test-target "test" diff --git a/gnu/packages/vlang.scm b/gnu/packages/vlang.scm index 70133bb233..e0b2e7bcfc 100644 --- a/gnu/packages/vlang.scm +++ b/gnu/packages/vlang.scm @@ -1,5 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2020 Ryan Prior <rprior@protonmail.com> +;;; Copyright © 2020 Tobias Geerinckx-Rice <me@tobias.gr> +;;; Copyright © 2020 Efraim Flashner <efraim@flashner.co.il> ;;; ;;; This file is part of GNU Guix. ;;; @@ -18,15 +20,20 @@ (define-module (gnu packages vlang) #:use-module (gnu packages glib) + #:use-module (gnu packages node) + #:use-module (gnu packages sqlite) + #:use-module (gnu packages tls) + #:use-module (gnu packages xorg) #:use-module (guix build-system gnu) #:use-module (guix git-download) #:use-module ((guix licenses) #:prefix license:) + #:use-module (guix utils) #:use-module (guix packages)) (define-public vlang (package (name "vlang") - (version "0.1.27") + (version "0.1.29") (source (origin (method git-fetch) @@ -35,20 +42,18 @@ (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "1d9qhacllvkqif42jaayixhjyhx7pzslh8p1yr5p19447q763fq1")))) + (base32 "1rqi7cah5nq8aggrib9xvdpfjxq20li91svv0w9yny6nn1ag7snx")))) (build-system gnu-build-system) (arguments - '(#:tests? #f ; tests are broken in v 0.1.27 - #:make-flags - `("CC=gcc" - "GITCLEANPULL=true" - "GITFASTCLONE=mkdir -p" - "TCCREPO=" - "TMPTCC=tcc" - ,(string-append "TMPVC=" (assoc-ref %build-inputs "vc")) - "VCREPO=" - "VERBOSE=1" - "V_ALWAYS_CLEAN_TMP=false") + `(#:make-flags + (list (string-append "CC=" ,(cc-for-target)) + "TMPTCC=tcc" + (string-append "VC=" (assoc-ref %build-inputs "vc")) + "GITCLEANPULL=true" + "GITFASTCLONE=mkdir -p" + "TCCREPO=" + "VCREPO=" + "VERBOSE=1") #:phases (modify-phases %standard-phases (delete 'configure) @@ -56,22 +61,32 @@ (lambda _ (substitute* "Makefile" (("rm -rf") "true") - (("v self") "v -cc gcc cmd/v")) + (("v self") (string-append "v -cc " ,(cc-for-target) " cmd/v"))) #t)) - ;; A few tests are broken in v 0.1.27. This function should be - ;; enabled to run tests in the next release. - ;; (replace 'check - ;; (lambda _ - ;; (let* ((tmpbin "tmp/bin") - ;; (gcc (which "gcc"))) - ;; (mkdir-p tmpbin) - ;; (symlink gcc (string-append tmpbin "/cc")) - ;; (setenv "PATH" (string-append tmpbin ":" (getenv "PATH"))) - ;; (invoke "./v" "test-fixed")) - ;; #t)) - (replace 'install + (add-before 'check 'delete-failing-tests + ;; XXX As always, these should eventually be fixed and run. (lambda _ - (let* ((bin (string-append (assoc-ref %outputs "out") "/bin")) + (for-each delete-file + '("vlib/v/gen/x64/tests/x64_test.v" + "vlib/v/tests/repl/repl_test.v" + "vlib/v/tests/valgrind/valgrind_test.v" + "vlib/v/tests/valgrind/strings_and_arrays.vv" + "vlib/v/tests/live_test.v" + "vlib/net/websocket/ws_test.v")) + #t)) + (replace 'check + (lambda* (#:key tests? #:allow-other-keys) + (let* ((bin "tmp/bin") + (gcc (which "gcc"))) + (when tests? + (mkdir-p bin) + (symlink gcc (string-append bin "/cc")) + (setenv "PATH" (string-append bin ":" (getenv "PATH"))) + (invoke "./v" "test-fixed"))) + #t)) + (replace 'install + (lambda* (#:key outputs #:allow-other-keys) + (let* ((bin (string-append (assoc-ref outputs "out") "/bin")) (tools (string-append bin "/cmd/tools")) (thirdparty (string-append bin "/thirdparty")) (vlib (string-append bin "/vlib")) @@ -90,7 +105,9 @@ `(("glib" ,glib))) (native-inputs `(("vc" - ,(let ((vc-version "0884d7092f4c2a4f8ca16da6f1792efa235247be")) + ;; Versions are not consistently tagged, but the matching commit will + ;; probably have ‘v0.x.y’ in the commit message. + ,(let ((vc-version "b01d0fcda4b55861baa4be82e307cca4834b1641")) ;; v bootstraps from generated c source code from a dedicated ;; repository. It's readable, as generated source goes, and not at all ;; obfuscated, and it's about 15kb. The original source written in @@ -104,7 +121,13 @@ (commit vc-version))) (file-name (git-file-name "vc" vc-version)) (sha256 - (base32 "17bs09iwxfd0si70j48n9nd16gfgcj8imd0azypk3xzzbz4wybnz"))))))) + (base32 "052gp5q2k31r3lci3rx4k0vy0vjdjva64xvrbbihn8lgmw63lc9f"))))) + + ;; For the tests. + ("libx11" ,libx11) + ("node" ,node) + ("openssl" ,openssl) + ("sqlite" ,sqlite))) (home-page "https://vlang.io/") (synopsis "Compiler for the V programming language") (description diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm index 66b567c09d..ced6dc2eee 100644 --- a/gnu/packages/web.scm +++ b/gnu/packages/web.scm @@ -45,6 +45,7 @@ ;;; Copyright © 2018, 2019, 2020 Björn Höfling <bjoern.hoefling@bjoernhoefling.de> ;;; Copyright © 2020 Paul Garlick <pgarlick@tourbillion-technology.com> ;;; Copyright © 2020 Michael Rohleder <mike@rohleder.de> +;;; Copyright © 2020 Ryan Prior <rprior@protonmail.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -67,39 +68,39 @@ #:use-module (guix packages) #:use-module (guix download) #:use-module (guix gexp) - #:use-module (guix git-download) #:use-module (guix cvs-download) #:use-module (guix hg-download) + #:use-module (guix git-download) #:use-module (guix utils) - #:use-module (guix build-system gnu) + #:use-module (guix build-system ant) + #:use-module (guix build-system cmake) #:use-module (guix build-system glib-or-gtk) + #:use-module (guix build-system gnu) + #:use-module (guix build-system go) #:use-module (guix build-system perl) - #:use-module (guix build-system cmake) - #:use-module (guix build-system trivial) #:use-module (guix build-system python) - #:use-module (guix build-system ant) #:use-module (guix build-system scons) - #:use-module (guix build-system go) + #:use-module (guix build-system trivial) #:use-module (gnu packages) #:use-module (gnu packages admin) #:use-module (gnu packages adns) #:use-module (gnu packages apr) + #:use-module (gnu packages autotools) + #:use-module (gnu packages base) + #:use-module (gnu packages bison) #:use-module (gnu packages boost) #:use-module (gnu packages check) - #:use-module (gnu packages documentation) - #:use-module (gnu packages docbook) - #:use-module (gnu packages emacs) - #:use-module (gnu packages emacs-xyz) - #:use-module (gnu packages autotools) #:use-module (gnu packages compression) #:use-module (gnu packages curl) #:use-module (gnu packages cyrus-sasl) #:use-module (gnu packages databases) - #:use-module (gnu packages bison) + #:use-module (gnu packages docbook) + #:use-module (gnu packages documentation) + #:use-module (gnu packages emacs) + #:use-module (gnu packages emacs-xyz) #:use-module (gnu packages flex) #:use-module (gnu packages fontutils) #:use-module (gnu packages freedesktop) - #:use-module (gnu packages kerberos) #:use-module (gnu packages gcc) #:use-module (gnu packages gd) #:use-module (gnu packages gettext) @@ -113,11 +114,12 @@ #:use-module (gnu packages guile) #:use-module (gnu packages guile-xyz) #:use-module (gnu packages hurd) + #:use-module (gnu packages image) #:use-module (gnu packages java) #:use-module (gnu packages jemalloc) - #:use-module (gnu packages image) #:use-module (gnu packages imagemagick) #:use-module (gnu packages kde) + #:use-module (gnu packages kerberos) #:use-module (gnu packages libevent) #:use-module (gnu packages libidn) #:use-module (gnu packages libunistring) @@ -132,19 +134,18 @@ #:use-module (gnu packages nss) #:use-module (gnu packages openldap) #:use-module (gnu packages openstack) - #:use-module (gnu packages base) #:use-module (gnu packages package-management) + #:use-module (gnu packages pcre) #:use-module (gnu packages perl) #:use-module (gnu packages perl-check) #:use-module (gnu packages python) #:use-module (gnu packages python-crypto) #:use-module (gnu packages python-web) #:use-module (gnu packages python-xyz) - #:use-module (gnu packages pcre) #:use-module (gnu packages pkg-config) #:use-module (gnu packages qt) - #:use-module (gnu packages readline) #:use-module (gnu packages re2c) + #:use-module (gnu packages readline) #:use-module (gnu packages sphinx) #:use-module (gnu packages texinfo) #:use-module (gnu packages textutils) @@ -254,31 +255,32 @@ Interface} specification.") #t)) (replace 'configure ;; The configure script is hand-written, not from GNU autotools. - (lambda* (#:key outputs #:allow-other-keys) + (lambda* (#:key configure-flags outputs #:allow-other-keys) (let ((flags - (list (string-append "--prefix=" (assoc-ref outputs "out")) - "--with-http_ssl_module" - "--with-http_v2_module" - "--with-pcre-jit" - "--with-debug" - ;; Even when not cross-building, we pass the - ;; --crossbuild option to avoid customizing for the - ;; kernel version on the build machine. - ,(let ((system "Linux") ; uname -s - (release "3.2.0") ; uname -r - ;; uname -m - (machine (match (or (%current-target-system) - (%current-system)) - ("x86_64-linux" "x86_64") - ("i686-linux" "i686") - ("mips64el-linux" "mips64") - ;; Prevent errors when querying - ;; this package on unsupported - ;; platforms, e.g. when running - ;; "guix package --search=" - (_ "UNSUPPORTED")))) - (string-append "--crossbuild=" - system ":" release ":" machine))))) + (append (list (string-append "--prefix=" (assoc-ref outputs "out")) + "--with-http_ssl_module" + "--with-http_v2_module" + "--with-pcre-jit" + "--with-debug" + ;; Even when not cross-building, we pass the + ;; --crossbuild option to avoid customizing for the + ;; kernel version on the build machine. + ,(let ((system "Linux") ; uname -s + (release "3.2.0") ; uname -r + ;; uname -m + (machine (match (or (%current-target-system) + (%current-system)) + ("x86_64-linux" "x86_64") + ("i686-linux" "i686") + ("mips64el-linux" "mips64") + ;; Prevent errors when querying + ;; this package on unsupported + ;; platforms, e.g. when running + ;; "guix package --search=" + (_ "UNSUPPORTED")))) + (string-append "--crossbuild=" + system ":" release ":" machine))) + configure-flags))) (setenv "CC" "gcc") (format #t "configure flags: ~s~%" flags) (apply invoke "./configure" flags) @@ -1345,6 +1347,50 @@ used to validate and fix HTML data.") (home-page "http://tidy.sourceforge.net/") (license (license:x11-style "file:///include/tidy.h")))) +(define-public esbuild + (package + (name "esbuild") + (version "0.7.14") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/evanw/esbuild") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1y5hqymv2r8r29f8vh8kgncj3wlkg4fzi0zlc7mgyss872ajkc7i")) + (modules '((guix build utils))) + (snippet + '(begin + ;; Remove prebuilt binaries + (delete-file-recursively "npm") + #t)))) + (build-system go-build-system) + (arguments + '(#:import-path "github.com/evanw/esbuild/cmd/esbuild" + #:unpack-path "github.com/evanw/esbuild" + #:phases + (modify-phases %standard-phases + (replace 'check + (lambda* (#:key tests? unpack-path #:allow-other-keys) + (if tests? + (with-directory-excursion (string-append "src/" unpack-path) + (invoke "make" "test-go"))) + #t))))) + (inputs + `(("go-golang-org-x-sys" ,go-golang-org-x-sys))) + (native-inputs + `(("go-github-com-kylelemons-godebug" ,go-github-com-kylelemons-godebug))) + (home-page "https://github.com/evanw/esbuild") + (synopsis "Bundler and minifier tool for JavaScript and TypeScript") + (description + "The esbuild tool provides a unified bundler, transpiler and +minifier. It packages up JavaScript and TypeScript code, along with JSON +and other data, for distribution on the web.") + (license license:expat))) + (define-public tinyproxy (package (name "tinyproxy") @@ -2632,15 +2678,14 @@ development server with Starman.") (define-public perl-cgi (package (name "perl-cgi") - (version "4.47") + (version "4.51") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/L/LE/LEEJO/" "CGI-" version ".tar.gz")) (sha256 - (base32 - "1a9cylhqsm5icvbg09m21nj0xx4zy5gbk4p74npm1ch3qlryzyyr")))) + (base32 "02k0p8zwbn0fz9r39rg8jvbmky8fwdg6kznklzk557rg07kiblhb")))) (build-system perl-build-system) (native-inputs `(("perl-test-deep" ,perl-test-deep) @@ -2858,15 +2903,15 @@ RSS 0.91, RSS 1.0, RSS 2.0, Atom.") (define-public perl-file-listing (package (name "perl-file-listing") - (version "6.04") + (version "6.11") (source (origin (method url-fetch) (uri (string-append - "mirror://cpan/authors/id/G/GA/GAAS/File-Listing-" + "mirror://cpan/authors/id/P/PL/PLICEASE/File-Listing-" version ".tar.gz")) (sha256 (base32 - "1xcwjlnxaiwwpn41a5yi6nz95ywh3szq5chdxiwj36kqsvy5000y")))) + "0vmzw1mhv580flzkla80gvwfpficnhlbqr1dnlf9x50bw7n18k62")))) (build-system perl-build-system) (propagated-inputs `(("perl-http-date" ,perl-http-date))) @@ -5606,14 +5651,14 @@ tools like SSH (Secure Shell) to reach the outside world.") (define-public stunnel (package (name "stunnel") - (version "5.56") + (version "5.57") (source (origin (method url-fetch) (uri (string-append "https://www.stunnel.org/downloads/stunnel-" version ".tar.gz")) (sha256 - (base32 "08kb4gi9fzqngrczykvba6xhaxhq9m4wmdbhxvgrva5rasrvz13k")))) + (base32 "1q8gc05fiz7w55ws0whwzb94ffjnhzfppf1mhz1hf671vmrvjnmg")))) (build-system gnu-build-system) (native-inputs ;; For tests. @@ -7425,6 +7470,37 @@ update an existing mirrored site, and resume interrupted downloads. HTTrack is fully configurable, and has an integrated help system.") (license license:gpl3+))) +(define-public buku + (package + (name "buku") + (version "4.4") + (source + (origin + (method url-fetch) + (uri (pypi-uri "buku" version)) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1g1xhdskfn72xaraqzz2v8dl2iza7bzfpn17z2wdrzkq3ih7yvgg")))) + (build-system python-build-system) + (arguments + `(#:tests? #f)) ;FIXME: many tests need network access + (inputs + `(("python-beautifulsoup4" ,python-beautifulsoup4) + ("python-certifi" ,python-certifi) + ("python-cryptography" ,python-cryptography) + ("python-html5lib" ,python-html5lib) + ("python-urllib3" ,python-urllib3))) + (home-page "https://github.com/jarun/buku") + (synopsis "Bookmark manager") + (description + "buku is a powerful bookmark manager written in Python3 and SQLite3. +@command{buku} can auto-import bookmarks from your browser and present them +in an interactive command-line interface that lets you compose and update +bookmarks directly. It can also present them in a web interface with +@command{bukuserver}.") + (license license:gpl3+))) + (define-public anonip (package (name "anonip") diff --git a/gnu/packages/wm.scm b/gnu/packages/wm.scm index c379f70b21..2fafee29a0 100644 --- a/gnu/packages/wm.scm +++ b/gnu/packages/wm.scm @@ -1597,7 +1597,11 @@ compositors that support the layer-shell protocol.") (base32 "1ha8803ll7472kqxsy2xz0v5d4sv8apmc9z631d67m31q0z1m9rz")))) (build-system asdf-build-system/sbcl) (native-inputs `(("fiasco" ,sbcl-fiasco) - ("texinfo" ,texinfo))) + ("texinfo" ,texinfo) + + ;; To build the manual. + ("autoconf" ,autoconf) + ("automake" ,automake))) (inputs `(("cl-ppcre" ,sbcl-cl-ppcre) ("clx" ,sbcl-clx) ("alexandria" ,sbcl-alexandria))) @@ -1631,13 +1635,12 @@ compositors that support the layer-shell protocol.") out))) #t))) (add-after 'install 'install-manual - (lambda* (#:key outputs #:allow-other-keys) - ;; The proper way to the manual is bootstrapping a full autotools - ;; build system and running ‘./configure && make stumpwm.info’ to - ;; do some macro substitution. We can get away with much less. + (lambda* (#:key (make-flags '()) outputs #:allow-other-keys) (let* ((out (assoc-ref outputs "out")) (info (string-append out "/share/info"))) - (invoke "makeinfo" "stumpwm.texi.in") + (invoke "./autogen.sh") + (invoke "sh" "./configure" "SHELL=sh") + (apply invoke "make" "stumpwm.info" make-flags) (install-file "stumpwm.info" info) #t)))))) (synopsis "Window manager written in Common Lisp") @@ -2039,3 +2042,39 @@ execute a shell command on a configurable action. The icons can be moved on the desktop by dragging them, and the icons will remember their positions on start-up.") (license license:bsd-3))) + +(define-public xnotify + (package + (name "xnotify") + (version "0.5.0") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/phillbush/xnotify") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0ris7jhi7hgw7nxkwkn3zk7n3y4nvnnm6dbz0qs0g2srp2k67v7v")))) + (build-system gnu-build-system) + (inputs + `(("libx11" ,libx11) + ("libxft" ,libxft) + ("libxinerama" ,libxinerama) + ("imlib2" ,imlib2))) + (arguments + `(#:make-flags + (list (string-append "CC=" ,(cc-for-target)) + (string-append "PREFIX=" %output) + (string-append "CFLAGS=" + "-I" (assoc-ref %build-inputs "freetype") + "/include/freetype2")) + #:tests? #f ;no test suite + #:phases + (modify-phases %standard-phases + (delete 'configure)))) + (home-page "https://github.com/phillbush/xnotify") + (synopsis "Displays a notification on the screen") + (description "XNotify receives a notification specification in stdin and +shows a notification for the user on the screen.") + (license license:expat))) diff --git a/gnu/packages/xdisorg.scm b/gnu/packages/xdisorg.scm index 6240652154..7044b65eec 100644 --- a/gnu/packages/xdisorg.scm +++ b/gnu/packages/xdisorg.scm @@ -40,6 +40,7 @@ ;;; Copyright © 2020 Ivan Kozlov <kanichos@yandex.ru> ;;; Copyright © 2020 Brett Gilio <brettg@gnu.org> ;;; Copyright © 2020 Gabriel Arazas <foo.dogsquared@gmail.com> +;;; Copyright © 2020 James Smith <jsubuntuxp@disroot.org> ;;; ;;; This file is part of GNU Guix. ;;; @@ -104,6 +105,7 @@ #:use-module (gnu packages xorg) #:use-module (gnu packages fontutils) #:use-module (gnu packages bison) + #:use-module (gnu packages sphinx) #:use-module (ice-9 match)) ;; packages outside the x.org system proper @@ -2515,3 +2517,34 @@ using @command{dmenu}.") such as sway, similar to @command{rofi}.") (home-page "https://hg.sr.ht/~scoopta/wofi") (license license:gpl3+))) + +(define-public dex + (package + (name "dex") + (version "0.9.0") + (source (origin + (method git-fetch) + (uri (git-reference + (url (string-append "https://github.com/jceb/dex")) + (commit (string-append "v" version)))) + (sha256 + (base32 + "03aapcywnz4kl548cygpi25m8adwbmqlmwgxa66v4156ax9dqs86")) + (file-name (git-file-name name version)))) + (build-system gnu-build-system) + (arguments + `(#:make-flags (list (string-append "PREFIX=" (assoc-ref %outputs "out"))) + #:phases + (modify-phases %standard-phases + (delete 'configure)) + #:tests? #f)) + (inputs + `(("python", python))) + (native-inputs + `(("python-sphinx" ,python-sphinx))) + (home-page "https://github.com/jceb/dex") + (synopsis "Execute DesktopEntry files") + (description + "@command{dex}, @dfn{DesktopEntry Execution}, is a program to generate +and execute @file{.desktop} files of the Application type.") + (license license:gpl3+))) diff --git a/gnu/packages/xiph.scm b/gnu/packages/xiph.scm index cea51d2fca..2d80496330 100644 --- a/gnu/packages/xiph.scm +++ b/gnu/packages/xiph.scm @@ -494,7 +494,7 @@ things in between.") (define-public libshout (package (name "libshout") - (version "2.4.3") + (version "2.4.4") (source (origin (method url-fetch) (uri (string-append @@ -502,7 +502,7 @@ things in between.") "libshout-" version ".tar.gz")) (sha256 (base32 - "1zhdshas539cs8fsz8022ljxnnncr5lafhfd1dqr1gs125fzb2hd")))) + "1hz670a4pfpsb89b0mymy8nw4rx8x0vmh61gq6j1vbg70mfhrscc")))) (build-system gnu-build-system) (native-inputs `(("pkg-config" ,pkg-config))) diff --git a/gnu/packages/xorg.scm b/gnu/packages/xorg.scm index 4236b852fb..be6e32a61e 100644 --- a/gnu/packages/xorg.scm +++ b/gnu/packages/xorg.scm @@ -2528,7 +2528,7 @@ including most mice, keyboards, tablets and touchscreens.") (define-public xf86-input-libinput (package (name "xf86-input-libinput") - (version "0.28.2") + (version "0.30.0") (source (origin (method url-fetch) (uri (string-append @@ -2536,7 +2536,7 @@ including most mice, keyboards, tablets and touchscreens.") name "-" version ".tar.bz2")) (sha256 (base32 - "0818vr0yhk9j1y1wcbxzcd458vrvp06rrhi8k43bhqkb5jb4dcxq")))) + "1h4np66p87jf0c85ig524w8f5rbhl5gx8fww1qg0c55f87yzkizr")))) (build-system gnu-build-system) (arguments '(#:configure-flags diff --git a/gnu/services/dns.scm b/gnu/services/dns.scm index 9caa3611be..572880561c 100644 --- a/gnu/services/dns.scm +++ b/gnu/services/dns.scm @@ -757,7 +757,29 @@ cache.size = 100 * MB (cache-size dnsmasq-configuration-cache-size (default 150)) ;integer (negative-cache? dnsmasq-configuration-negative-cache? - (default #t))) ;boolean + (default #t)) ;boolean + (tftp-enable? dnsmasq-configuration-tftp-enable? + (default #f)) ;boolean + (tftp-no-fail? dnsmasq-configuration-tftp-no-fail? + (default #f)) ;boolean + (tftp-single-port? dnsmasq-configuration-tftp-single-port? + (default #f)) ;boolean + (tftp-secure? dnsmasq-tftp-secure? + (default #f)) ;boolean + (tftp-max dnsmasq-tftp-max + (default #f)) ;integer + (tftp-mtu dnsmasq-tftp-mtu + (default #f)) ;integer + (tftp-no-blocksize? dnsmasq-tftp-no-blocksize? + (default #f)) ;boolean + (tftp-lowercase? dnsmasq-tftp-lowercase? + (default #f)) ;boolean + (tftp-port-range dnsmasq-tftp-port-range + (default #f)) ;string + (tftp-root dnsmasq-tftp-root + (default "/var/empty,lo")) ;string + (tftp-unique-root dnsmasq-tftp-unique-root + (default #f))) ;"" or "ip" or "mac" (define dnsmasq-shepherd-service (match-lambda @@ -765,7 +787,12 @@ cache.size = 100 * MB no-hosts? port local-service? listen-addresses resolv-file no-resolv? servers - addresses cache-size negative-cache?) + addresses cache-size negative-cache? + tftp-enable? tftp-no-fail? + tftp-single-port? tftp-secure? + tftp-max tftp-mtu tftp-no-blocksize? + tftp-lowercase? tftp-port-range + tftp-root tftp-unique-root) (shepherd-service (provision '(dnsmasq)) (requirement '(networking)) @@ -794,7 +821,44 @@ cache.size = 100 * MB #$(format #f "--cache-size=~a" cache-size) #$@(if negative-cache? '() - '("--no-negcache"))) + '("--no-negcache")) + #$@(if tftp-enable? + '("--enable-tftp") + '()) + #$@(if tftp-no-fail? + '("--tftp-no-fail") + '()) + #$@(if tftp-single-port? + '("--tftp-single-port") + '()) + #$@(if tftp-secure? + '("--tftp-secure?") + '()) + #$@(if tftp-max + (list (format #f "--tftp-max=~a" tftp-max)) + '()) + #$@(if tftp-mtu + (list (format #f "--tftp-mtu=~a" tftp-mtu)) + '()) + #$@(if tftp-no-blocksize? + '("--tftp-no-blocksize") + '()) + #$@(if tftp-lowercase? + '("--tftp-lowercase") + '()) + #$@(if tftp-port-range + (list (format #f "--tftp-port-range=~a" + tftp-port-range)) + '()) + #$@(if tftp-root + (list (format #f "--tftp-root=~a" tftp-root)) + '()) + #$@(if tftp-unique-root + (list + (if (> (length tftp-unique-root) 0) + (format #f "--tftp-unique-root=~a" tftp-unique-root) + (format #f "--tftp-unique-root"))) + '())) #:pid-file "/run/dnsmasq.pid")) (stop #~(make-kill-destructor)))))) diff --git a/gnu/services/ganeti.scm b/gnu/services/ganeti.scm index e2a2ec63e1..d87db5b9ac 100644 --- a/gnu/services/ganeti.scm +++ b/gnu/services/ganeti.scm @@ -430,7 +430,7 @@ appropriate requests to this daemon."))) (description "@command{ganeti-luxid} is a daemon used to answer queries related to the configuration and the current live state of a Ganeti cluster. -Additionally, it is the autorative daemon for the Ganeti job queue. Jobs can +Additionally, it is the authorative daemon for the Ganeti job queue. Jobs can be submitted via this daemon and it schedules and starts them."))) (define-record-type* <ganeti-rapi-configuration> diff --git a/gnu/services/guix.scm b/gnu/services/guix.scm index 10a8581a62..a47c4bd941 100644 --- a/gnu/services/guix.scm +++ b/gnu/services/guix.scm @@ -17,20 +17,67 @@ ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. (define-module (gnu services guix) + #:use-module (srfi srfi-1) #:use-module (ice-9 match) #:use-module (guix gexp) #:use-module (guix records) + #:use-module (guix packages) #:use-module ((gnu packages base) #:select (glibc-utf8-locales)) #:use-module (gnu packages admin) + #:use-module (gnu packages databases) #:use-module (gnu packages web) + #:use-module (gnu packages guile) + #:use-module (gnu packages guile-xyz) + #:use-module (gnu packages package-management) #:use-module (gnu services) #:use-module (gnu services base) #:use-module (gnu services admin) #:use-module (gnu services shepherd) #:use-module (gnu services getmail) #:use-module (gnu system shadow) - #:export (<guix-data-service-configuration> + #:export (guix-build-coordinator-configuration + guix-build-coordinator-configuration? + guix-build-coordinator-configuration-package + guix-build-coordinator-configuration-user + guix-build-coordinator-configuration-group + guix-build-coordinator-configuration-datastore-uri-string + guix-build-coordinator-configuration-agent-communication-uri-string + guix-build-coordinator-configuration-client-communication-uri-string + guix-build-coordinator-configuration-allocation-strategy + guix-build-coordinator-configuration-hooks + guix-build-coordinator-configuration-guile + + guix-build-coordinator-service-type + + guix-build-coordinator-agent-configuration + guix-build-coordinator-agent-configuration? + guix-build-coordinator-agent-configuration-package + guix-build-coordinator-agent-configuration-user + guix-build-coordinator-agent-configuration-coordinator + guix-build-coordinator-agent-configuration-uuid + guix-build-coordinator-agent-configuration-password + guix-build-coordinator-agent-configuration-password-file + guix-build-coordinator-agent-configuration-systems + guix-build-coordinator-agent-configuration-max-parallel-builds + guix-build-coordinator-agent-configuration-derivation-substitute-urls + guix-build-coordinator-agent-configuration-non-derivation-substitute-urls + + guix-build-coordinator-agent-service-type + + guix-build-coordinator-queue-builds-configuration + guix-build-coordinator-queue-builds-configuration? + guix-build-coordinator-queue-builds-configuration-package + guix-build-coordinator-queue-builds-configuration-user + guix-build-coordinator-queue-builds-coordinator + guix-build-coordinator-queue-builds-configuration-systems + guix-build-coordinator-queue-builds-configuration-system-and-targets + guix-build-coordinator-queue-builds-configuration-guix-data-service + guix-build-coordinator-queue-builds-configuration-processed-commits-file + + guix-build-coordinator-queue-builds-service-type + + <guix-data-service-configuration> guix-data-service-configuration guix-data-service-configuration? guix-data-service-package @@ -45,11 +92,391 @@ ;;;; Commentary: ;;; -;;; This module implements a service that to run instances of the Guix Data -;;; Service, which provides data about Guix over time. +;;; Services specifically related to GNU Guix. ;;; ;;;; Code: +(define-record-type* <guix-build-coordinator-configuration> + guix-build-coordinator-configuration make-guix-build-coordinator-configuration + guix-build-coordinator-configuration? + (package guix-build-coordinator-configuration-package + (default guix-build-coordinator)) + (user guix-build-coordinator-configuration-user + (default "guix-build-coordinator")) + (group guix-build-coordinator-configuration-group + (default "guix-build-coordinator")) + (database-uri-string + guix-build-coordinator-configuration-datastore-uri-string + (default "sqlite:///var/lib/guix-build-coordinator/guix_build_coordinator.db")) + (agent-communication-uri-string + guix-build-coordinator-configuration-agent-communication-uri-string + (default "http://0.0.0.0:8745")) + (client-communication-uri-string + guix-build-coordinator-configuration-client-communication-uri-string + (default "http://127.0.0.1:8746")) + (allocation-strategy + guix-build-coordinator-configuration-allocation-strategy + (default #~basic-build-allocation-strategy)) + (hooks guix-build-coordinator-configuration-hooks + (default '())) + (guile guix-build-coordinator-configuration-guile + (default guile-3.0-latest))) + +(define-record-type* <guix-build-coordinator-agent-configuration> + guix-build-coordinator-agent-configuration + make-guix-build-coordinator-agent-configuration + guix-build-coordinator-agent-configuration? + (package guix-build-coordinator-agent-configuration-package + (default guix-build-coordinator)) + (user guix-build-coordinator-agent-configuration-user + (default "guix-build-coordinator-agent")) + (coordinator guix-build-coordinator-agent-configuration-coordinator + (default "http://localhost:8745")) + (uuid guix-build-coordinator-agent-configuration-uuid) + (password guix-build-coordinator-agent-configuration-password + (default #f)) + (password-file guix-build-coordinator-agent-configuration-password-file + (default #f)) + (systems guix-build-coordinator-agent-configuration-systems + (default #f)) + (max-parallel-builds + guix-build-coordinator-agent-configuration-max-parallel-builds + (default 1)) + (derivation-substitute-urls + guix-build-coordinator-agent-configuration-derivation-substitute-urls + (default #f)) + (non-derivation-substitute-urls + guix-build-coordinator-agent-configuration-non-derivation-substitute-urls + (default #f))) + +(define-record-type* <guix-build-coordinator-queue-builds-configuration> + guix-build-coordinator-queue-builds-configuration + make-guix-build-coordinator-queue-builds-configuration + guix-build-coordinator-queue-builds-configuration? + (package guix-build-coordinator-queue-builds-configuration-package + (default guix-build-coordinator)) + (user guix-build-coordinator-queue-builds-configuration-user + (default "guix-build-coordinator-queue-builds")) + (coordinator guix-build-coordinator-queue-builds-coordinator + (default "http://localhost:8745")) + (systems guix-build-coordinator-queue-builds-configuration-systems + (default #f)) + (systems-and-targets + guix-build-coordinator-queue-builds-configuration-system-and-targets + (default #f)) + (guix-data-service + guix-build-coordinator-queue-builds-configuration-guix-data-service + (default "https://data.guix.gnu.org")) + (processed-commits-file + guix-build-coordinator-queue-builds-configuration-processed-commits-file + (default "/var/cache/guix-build-coordinator-queue-builds/processed-commits"))) + +(define* (make-guix-build-coordinator-start-script database-uri-string + allocation-strategy + pid-file + guix-build-coordinator-package + #:key + agent-communication-uri-string + client-communication-uri-string + (hooks '()) + (guile guile-3.0)) + (program-file + "start-guix-build-coordinator" + (with-extensions (cons guix-build-coordinator-package + ;; This is a poorly constructed Guile load path, + ;; since it contains things that aren't Guile + ;; libraries, but it means that the Guile libraries + ;; needed for the Guix Build Coordinator don't need + ;; to be individually specified here. + (map second (package-inputs + guix-build-coordinator-package))) + #~(begin + (use-modules (srfi srfi-1) + (ice-9 match) + (web uri) + (prometheus) + (guix-build-coordinator hooks) + (guix-build-coordinator datastore) + (guix-build-coordinator build-allocator) + (guix-build-coordinator coordinator)) + + (let* ((metrics-registry (make-metrics-registry + #:namespace + "guixbuildcoordinator_")) + (datastore (database-uri->datastore + #$database-uri-string + #:metrics-registry metrics-registry)) + (hooks + (list #$@(map (match-lambda + ((name . hook-gexp) + #~(cons name #$hook-gexp))) + hooks))) + (hooks-with-defaults + `(,@hooks + ,@(remove (match-lambda + ((name . _) (assq-ref hooks name))) + %default-hooks))) + (build-coordinator (make-build-coordinator + #:datastore datastore + #:hooks hooks-with-defaults + #:metrics-registry metrics-registry + #:allocation-strategy #$allocation-strategy))) + + (run-coordinator-service + build-coordinator + #:update-datastore? #t + #:pid-file #$pid-file + #:agent-communication-uri (string->uri + #$agent-communication-uri-string) + #:client-communication-uri (string->uri + #$client-communication-uri-string))))) + #:guile guile)) + +(define (guix-build-coordinator-shepherd-services config) + (match-record config <guix-build-coordinator-configuration> + (package user group database-uri-string + agent-communication-uri-string + client-communication-uri-string + allocation-strategy + hooks + guile) + (list + (shepherd-service + (documentation "Guix Build Coordinator") + (provision '(guix-build-coordinator)) + (requirement '(networking)) + (start #~(make-forkexec-constructor + (list #$(make-guix-build-coordinator-start-script + database-uri-string + allocation-strategy + "/var/run/guix-build-coordinator/pid" + package + #:agent-communication-uri-string + agent-communication-uri-string + #:client-communication-uri-string + client-communication-uri-string + #:hooks hooks + #:guile guile)) + #:user #$user + #:group #$group + #:pid-file "/var/run/guix-build-coordinator/pid" + ;; Allow time for migrations to run + #:pid-file-timeout 60 + #:environment-variables + `(,(string-append + "GUIX_LOCPATH=" #$glibc-utf8-locales "/lib/locale") + "LC_ALL=en_US.utf8") + #:log-file "/var/log/guix-build-coordinator/coordinator.log")) + (stop #~(make-kill-destructor)))))) + +(define (guix-build-coordinator-activation config) + #~(begin + (use-modules (guix build utils)) + + (define %user (getpw "guix-build-coordinator")) + + (chmod "/var/lib/guix-build-coordinator" #o755) + + (mkdir-p "/var/log/guix-build-coordinator") + + ;; Allow writing the PID file + (mkdir-p "/var/run/guix-build-coordinator") + (chown "/var/run/guix-build-coordinator" + (passwd:uid %user) + (passwd:gid %user)))) + +(define (guix-build-coordinator-account config) + (match-record config <guix-build-coordinator-configuration> + (user group) + (list (user-group + (name group) + (system? #t)) + (user-account + (name user) + (group group) + (system? #t) + (comment "Guix Build Coordinator user") + (home-directory "/var/lib/guix-build-coordinator") + (shell (file-append shadow "/sbin/nologin")))))) + +(define guix-build-coordinator-service-type + (service-type + (name 'guix-build-coordinator) + (extensions + (list + (service-extension shepherd-root-service-type + guix-build-coordinator-shepherd-services) + (service-extension activation-service-type + guix-build-coordinator-activation) + (service-extension account-service-type + guix-build-coordinator-account))) + (default-value + (guix-build-coordinator-configuration)) + (description + "Run an instance of the Guix Build Coordinator."))) + +(define (guix-build-coordinator-agent-shepherd-services config) + (match-record config <guix-build-coordinator-agent-configuration> + (package user coordinator uuid password password-file max-parallel-builds + derivation-substitute-urls non-derivation-substitute-urls + systems) + (list + (shepherd-service + (documentation "Guix Build Coordinator Agent") + (provision '(guix-build-coordinator-agent)) + (requirement '(networking)) + (start #~(make-forkexec-constructor + (list #$(file-append package "/bin/guix-build-coordinator-agent") + #$(string-append "--coordinator=" coordinator) + #$(string-append "--uuid=" uuid) + #$@(if password + #~(#$(string-append "--password=" password)) + #~()) + #$@(if password-file + #~(#$(string-append "--password-file=" password-file)) + #~()) + #$(simple-format #f "--max-parallel-builds=~A" + max-parallel-builds) + #$@(if derivation-substitute-urls + #~(#$(string-append + "--derivation-substitute-urls=" + (string-join derivation-substitute-urls " "))) + #~()) + #$@(if non-derivation-substitute-urls + #~(#$(string-append + "--non-derivation-substitute-urls=" + (string-join derivation-substitute-urls " "))) + #~()) + #$@(map (lambda (system) + (string-append "--system=" system)) + (or systems '()))) + #:user #$user + #:pid-file "/var/run/guix-build-coordinator-agent/pid" + #:environment-variables + `(,(string-append + "GUIX_LOCPATH=" #$glibc-utf8-locales "/lib/locale") + "LC_ALL=en_US.utf8") + #:log-file "/var/log/guix-build-coordinator/agent.log")) + (stop #~(make-kill-destructor)))))) + +(define (guix-build-coordinator-agent-activation config) + #~(begin + (use-modules (guix build utils)) + + (mkdir-p "/var/log/guix-build-coordinator") + + ;; Allow writing the PID file + (mkdir-p "/var/run/guix-build-coordinator-agent") + (chown "/var/run/guix-build-coordinator-agent" + (passwd:uid %user) + (passwd:gid %user)))) + +(define (guix-build-coordinator-agent-account config) + (list (user-account + (name (guix-build-coordinator-agent-configuration-user config)) + (group "nogroup") + (system? #t) + (comment "Guix Build Coordinator agent user") + (home-directory "/var/empty") + (shell (file-append shadow "/sbin/nologin"))))) + +(define guix-build-coordinator-agent-service-type + (service-type + (name 'guix-build-coordinator-agent) + (extensions + (list + (service-extension shepherd-root-service-type + guix-build-coordinator-agent-shepherd-services) + (service-extension activation-service-type + guix-build-coordinator-agent-activation) + (service-extension account-service-type + guix-build-coordinator-agent-account))) + (description + "Run a Guix Build Coordinator agent."))) + +(define (guix-build-coordinator-queue-builds-shepherd-services config) + (match-record config <guix-build-coordinator-queue-builds-configuration> + (package user coordinator systems systems-and-targets + guix-data-service processed-commits-file) + (list + (shepherd-service + (documentation "Guix Build Coordinator queue builds from Guix Data Service") + (provision '(guix-build-coordinator-queue-builds)) + (requirement '(networking)) + (start + #~(make-forkexec-constructor + (list + #$(file-append + package + "/bin/guix-build-coordinator-queue-builds-from-guix-data-service") + #$(string-append "--coordinator=" coordinator) + #$@(map (lambda (system) + (string-append "--system=" system)) + (or systems '())) + #$@(map (match-lambda + ((system . target) + (string-append "--system-and-target=" system "=" target))) + (or systems-and-targets '())) + #$@(if guix-data-service + #~(#$(string-append "--guix-data-service=" guix-data-service)) + #~()) + #$@(if processed-commits-file + #~(#$(string-append "--processed-commits-file=" + processed-commits-file)) + #~())) + #:user #$user + #:pid-file "/var/run/guix-build-coordinator-queue-builds/pid" + #:environment-variables + `(,(string-append + "GUIX_LOCPATH=" #$glibc-utf8-locales "/lib/locale") + "LC_ALL=en_US.utf8") + #:log-file "/var/log/guix-build-coordinator/queue-builds.log")) + (stop #~(make-kill-destructor)))))) + +(define (guix-build-coordinator-queue-builds-activation config) + #~(begin + (use-modules (guix build utils)) + + (mkdir-p "/var/log/guix-build-coordinator") + + ;; Allow writing the PID file + (mkdir-p "/var/run/guix-build-coordinator-queue-builds") + (chown "/var/run/guix-build-coordinator-queue-builds" + (passwd:uid %user) + (passwd:gid %user)))) + +(define (guix-build-coordinator-queue-builds-account config) + (list (user-account + (name (guix-build-coordinator-queue-builds-configuration-user config)) + (group "nogroup") + (system? #t) + (comment "Guix Build Coordinator queue-builds user") + (home-directory "/var/empty") + (shell (file-append shadow "/sbin/nologin"))))) + +(define guix-build-coordinator-queue-builds-service-type + (service-type + (name 'guix-build-coordinator-queue-builds) + (extensions + (list + (service-extension shepherd-root-service-type + guix-build-coordinator-queue-builds-shepherd-services) + (service-extension activation-service-type + guix-build-coordinator-queue-builds-activation) + (service-extension account-service-type + guix-build-coordinator-queue-builds-account))) + (description + "Run the guix-build-coordinator-queue-builds-from-guix-data-service +script. + +This is a script to assist in having the Guix Build Coordinator build +derivations stored in an instance of the Guix Data Service."))) + + +;;; +;;; Guix Data Service +;;; + (define-record-type* <guix-data-service-configuration> guix-data-service-configuration make-guix-data-service-configuration guix-data-service-configuration? @@ -108,7 +535,7 @@ ca-certificates.crt file in the system profile." #:environment-variables `(,(string-append "GUIX_LOCPATH=" #$glibc-utf8-locales "/lib/locale") - "LC_ALL=en_US.utf8") + "LC_ALL=en_US.UTF-8") #:log-file "/var/log/guix-data-service/web.log")) (stop #~(make-kill-destructor))) @@ -132,7 +559,7 @@ ca-certificates.crt file in the system profile." "GIT_SSL_CAINFO=/etc/ssl/certs/ca-certificates.crt" ,(string-append "GUIX_LOCPATH=" #$glibc-utf8-locales "/lib/locale") - "LC_ALL=en_US.utf8") + "LC_ALL=en_US.UTF-8") #:log-file "/var/log/guix-data-service/process-jobs.log")) (stop #~(make-kill-destructor)))))) diff --git a/gnu/services/version-control.scm b/gnu/services/version-control.scm index cc07f8025b..f3df0b979f 100644 --- a/gnu/services/version-control.scm +++ b/gnu/services/version-control.scm @@ -307,10 +307,15 @@ access to exported repositories under @file{/srv/git}." (pubkey-file (string-append #$home "/" (basename - (strip-store-file-name admin-pubkey))))) + (strip-store-file-name admin-pubkey)))) + (rc-file #$(string-append home "/.gitolite.rc"))) (simple-format #t "guix: gitolite: installing ~A\n" #$rc-file) - (copy-file #$rc-file #$(string-append home "/.gitolite.rc")) + (copy-file #$rc-file rc-file) + ;; ensure gitolite's user can read the configuration + (chown rc-file + (passwd:uid user-info) + (passwd:gid user-info)) ;; The key must be writable, so copy it from the store (copy-file admin-pubkey pubkey-file) diff --git a/gnu/services/virtualization.scm b/gnu/services/virtualization.scm index 79d88f2b8a..edd0b644f5 100644 --- a/gnu/services/virtualization.scm +++ b/gnu/services/virtualization.scm @@ -23,6 +23,7 @@ #:use-module (gnu bootloader grub) #:use-module (gnu image) #:use-module (gnu packages admin) + #:use-module (gnu packages gdb) #:use-module (gnu packages package-management) #:use-module (gnu packages ssh) #:use-module (gnu packages virtualization) @@ -862,6 +863,9 @@ that will be listening to receive secret keys on port 1004, TCP." (bootloader grub-minimal-bootloader) (target "/dev/vda") (timeout 0))) + (packages (cons* gdb-minimal + (operating-system-packages + %hurd-default-operating-system))) (services (cons* (service openssh-service-type (openssh-configuration diff --git a/gnu/services/xorg.scm b/gnu/services/xorg.scm index ca39994516..4590709187 100644 --- a/gnu/services/xorg.scm +++ b/gnu/services/xorg.scm @@ -7,6 +7,7 @@ ;;; Copyright © 2019 Tim Gesthuizen <tim.gesthuizen@yahoo.de> ;;; Copyright © 2020 shtwzrd <shtwzrd@protonmail.com> ;;; Copyright © 2020 Jakub Kądziołka <kuba@kadziolka.net> +;;; Copyright © 2020 Alex Griffin <a@ajgrf.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -925,7 +926,7 @@ the GNOME desktop environment.") (inherit (unix-pam-service "gdm-autologin" #:login-uid? #t)) (auth (list (pam-entry - (control "[success=ok default=1]") + (control "optional") (module (file-append (gdm-configuration-gdm config) "/lib/security/pam_gdm.so"))) (pam-entry diff --git a/gnu/system.scm b/gnu/system.scm index bdb696fe2e..ab1b0ff3de 100644 --- a/gnu/system.scm +++ b/gnu/system.scm @@ -634,6 +634,8 @@ bookkeeping." (operating-system-file-systems os))) (pam-root-service (operating-system-pam-services os)) (operating-system-etc-service os) + (service setuid-program-service-type + (operating-system-setuid-programs os)) (service profile-service-type (operating-system-packages os))))) (define* (operating-system-services os) @@ -690,7 +692,7 @@ of PROVENANCE-SERVICE-TYPE to its services." (cons* procps psmisc which (@ (gnu packages admin) shadow) ;for 'passwd' - guile-3.0 + guile-3.0-latest ;; The packages below are also in %FINAL-INPUTS, so take them from ;; there to avoid duplication. diff --git a/gnu/system/examples/bare-hurd.tmpl b/gnu/system/examples/bare-hurd.tmpl index 414a9379c8..e4b795ff27 100644 --- a/gnu/system/examples/bare-hurd.tmpl +++ b/gnu/system/examples/bare-hurd.tmpl @@ -40,15 +40,20 @@ %base-file-systems)) (host-name "guixygnu") (timezone "Europe/Amsterdam") + (users (cons (user-account + (name "guix") + (comment "Anonymous Hurd Hacker") + (group "users") + (supplementary-groups '("wheel"))) + %base-user-accounts)) (packages (cons openssh-sans-x %base-packages/hurd)) (services (cons (service openssh-service-type (openssh-configuration (openssh openssh-sans-x) - (use-pam? #f) (port-number 2222) (permit-root-login #t) (allow-empty-passwords? #t) (password-authentication? #t))) - %base-services/hurd)))) + %base-services/hurd)))) %hurd-os diff --git a/gnu/system/examples/lightweight-desktop.tmpl b/gnu/system/examples/lightweight-desktop.tmpl index b4037d4f79..d5a63dc457 100644 --- a/gnu/system/examples/lightweight-desktop.tmpl +++ b/gnu/system/examples/lightweight-desktop.tmpl @@ -4,7 +4,8 @@ (use-modules (gnu) (gnu system nss)) (use-service-modules desktop) -(use-package-modules bootloaders certs ratpoison suckless wm xorg) +(use-package-modules bootloaders certs emacs emacs-xyz ratpoison suckless wm + xorg) (operating-system (host-name "antelope") @@ -43,6 +44,7 @@ (packages (append (list ;; window managers ratpoison i3-wm i3status dmenu + emacs emacs-exwm emacs-desktop-environment ;; terminal emulator xterm ;; for HTTPS access diff --git a/gnu/system/hurd.scm b/gnu/system/hurd.scm index 80fffe8e45..8b46e65e31 100644 --- a/gnu/system/hurd.scm +++ b/gnu/system/hurd.scm @@ -26,8 +26,10 @@ #:use-module (gnu packages admin) #:use-module (gnu packages base) #:use-module (gnu packages bash) + #:use-module (gnu packages compression) #:use-module (gnu packages cross-base) #:use-module (gnu packages file) + #:use-module (gnu packages gawk) #:use-module (gnu packages guile) #:use-module (gnu packages guile-xyz) #:use-module (gnu packages hurd) @@ -42,7 +44,8 @@ #:export (%base-packages/hurd %base-services/hurd %hurd-default-operating-system - %hurd-default-operating-system-kernel)) + %hurd-default-operating-system-kernel + %setuid-programs/hurd)) ;;; Commentary: ;;; @@ -61,8 +64,9 @@ (define %base-packages/hurd (list hurd bash coreutils file findutils grep sed - guile-3.0 guile-colorized guile-readline - net-base inetutils less shepherd which)) + diffutils patch gawk tar gzip bzip2 xz lzip + guile-3.0-latest guile-colorized guile-readline + net-base inetutils less shadow shepherd sudo which)) (define %base-services/hurd (list (service hurd-console-service-type @@ -86,6 +90,17 @@ `(("/bin/sh" ,(file-append bash "/bin/sh")) ("/usr/bin/env" ,(file-append coreutils "/bin/env")))))) +(define %setuid-programs/hurd + ;; Default set of setuid-root programs. + (list (file-append shadow "/bin/passwd") + (file-append shadow "/bin/sg") + (file-append shadow "/bin/su") + (file-append shadow "/bin/newgrp") + (file-append shadow "/bin/newuidmap") + (file-append shadow "/bin/newgidmap") + (file-append sudo "/bin/sudo") + (file-append sudo "/bin/sudoedit"))) + (define %hurd-default-operating-system (operating-system (kernel %hurd-default-operating-system-kernel) @@ -103,6 +118,4 @@ (timezone "GNUrope") (name-service-switch #f) (essential-services (hurd-default-essential-services this-operating-system)) - (pam-services '()) - (setuid-programs '()) - (sudoers-file #f))) + (setuid-programs %setuid-programs/hurd))) diff --git a/gnu/system/images/pine64.scm b/gnu/system/images/pine64.scm index c738a77078..f0b0c3f50d 100644 --- a/gnu/system/images/pine64.scm +++ b/gnu/system/images/pine64.scm @@ -28,7 +28,8 @@ #:use-module (gnu system image) #:use-module (srfi srfi-26) #:export (pine64-barebones-os - pine64-image-type)) + pine64-image-type + pine64-barebones-raw-image)) (define pine64-barebones-os (operating-system @@ -57,3 +58,9 @@ (image-type (name 'pine64-raw) (constructor (cut image-with-os arm64-disk-image <>)))) + +(define pine64-barebones-raw-image + (image + (inherit + (os->image pine64-barebones-os #:type pine64-image-type)) + (name 'pine64-barebones-raw-image))) diff --git a/gnu/system/install.scm b/gnu/system/install.scm index be5a678cec..eb342665e5 100644 --- a/gnu/system/install.scm +++ b/gnu/system/install.scm @@ -445,6 +445,12 @@ Access documentation at any time by pressing Alt-F2.\x1b[0m (label (string-append "GNU Guix installation " (package-version guix))) + ;; XXX: The AMD Radeon driver is reportedly broken, which makes kmscon + ;; non-functional: + ;; <https://lists.gnu.org/archive/html/guix-devel/2019-03/msg00441.html>. + ;; Thus, blacklist it. + (kernel-arguments '("quiet" "modprobe.blacklist=radeon")) + (file-systems ;; Note: the disk image build code overrides this root file system with ;; the appropriate one. diff --git a/gnu/tests/guix.scm b/gnu/tests/guix.scm index 6139e31cf0..20b67d55d3 100644 --- a/gnu/tests/guix.scm +++ b/gnu/tests/guix.scm @@ -35,7 +35,80 @@ #:use-module (guix store) #:use-module (guix utils) #:use-module (ice-9 match) - #:export (%test-guix-data-service)) + #:export (%test-guix-build-coordinator + %test-guix-data-service)) + +;;; +;;; Guix Build Coordinator +;;; + +(define %guix-build-coordinator-os + (simple-operating-system + (service dhcp-client-service-type) + (service guix-build-coordinator-service-type))) + +(define (run-guix-build-coordinator-test) + (define os + (marionette-operating-system + %guix-build-coordinator-os + #:imported-modules '((gnu services herd) + (guix combinators)))) + + (define forwarded-port 8745) + + (define vm + (virtual-machine + (operating-system os) + (memory-size 1024) + (port-forwardings `((,forwarded-port . 8745))))) + + (define test + (with-imported-modules '((gnu build marionette)) + #~(begin + (use-modules (srfi srfi-11) (srfi srfi-64) + (gnu build marionette) + (web uri) + (web client) + (web response)) + + (define marionette + (make-marionette (list #$vm))) + + (mkdir #$output) + (chdir #$output) + + (test-begin "guix-build-coordinator") + + (test-assert "service running" + (marionette-eval + '(begin + (use-modules (gnu services herd)) + (match (start-service 'guix-build-coordinator) + (#f #f) + (('service response-parts ...) + (match (assq-ref response-parts 'running) + ((pid) (number? pid)))))) + marionette)) + + (test-equal "http-get" + 200 + (let-values + (((response text) + (http-get #$(simple-format + #f "http://localhost:~A/metrics" forwarded-port) + #:decode-body? #t))) + (response-code response))) + + (test-end) + (exit (= (test-runner-fail-count (test-runner-current)) 0))))) + + (gexp->derivation "guix-build-coordinator-test" test)) + +(define %test-guix-build-coordinator + (system-test + (name "guix-build-coordinator") + (description "Connect to a running Guix Build Coordinator.") + (value (run-guix-build-coordinator-test)))) ;;; diff --git a/gnu/tests/install.scm b/gnu/tests/install.scm index dee2b870e8..86bd93966b 100644 --- a/gnu/tests/install.scm +++ b/gnu/tests/install.scm @@ -35,6 +35,8 @@ #:use-module (gnu packages bootloaders) #:use-module (gnu packages commencement) ;for 'guile-final' #:use-module (gnu packages cryptsetup) + #:use-module (gnu packages emacs) + #:use-module (gnu packages emacs-xyz) #:use-module (gnu packages linux) #:use-module (gnu packages ocr) #:use-module (gnu packages openbox) @@ -1271,7 +1273,8 @@ build (current-guix) and then store a couple of full system images.") ;; graphical installer are available. (packages (append (list openbox awesome i3-wm i3status - dmenu st ratpoison xterm) + dmenu st ratpoison xterm + emacs emacs-exwm emacs-desktop-environment) %base-packages)) (services (append diff --git a/guix/build-system.scm b/guix/build-system.scm index 4174972b98..76d670995c 100644 --- a/guix/build-system.scm +++ b/guix/build-system.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2012, 2013, 2014 Ludovic Courtès <ludo@gnu.org> +;;; Copyright © 2012, 2013, 2014, 2020 Ludovic Courtès <ludo@gnu.org> ;;; ;;; This file is part of GNU Guix. ;;; @@ -18,6 +18,7 @@ (define-module (guix build-system) #:use-module (guix records) + #:use-module (srfi srfi-1) #:use-module (ice-9 match) #:export (build-system build-system? @@ -37,7 +38,9 @@ bag-arguments bag-build - make-bag)) + make-bag + + build-system-with-c-toolchain)) (define-record-type* <build-system> build-system make-build-system build-system? @@ -98,3 +101,31 @@ intermediate representation just above derivations." #:outputs outputs #:target target arguments)))) + +(define (build-system-with-c-toolchain bs toolchain) + "Return a variant of BS, a build system, that uses TOOLCHAIN instead of the +default GNU C/C++ toolchain. TOOLCHAIN must be a list of +inputs (label/package tuples) providing equivalent functionality, such as the +'gcc-toolchain' package." + (define lower + (build-system-lower bs)) + + (define toolchain-packages + ;; These are the GNU toolchain packages pulled in by GNU-BUILD-SYSTEM and + ;; all the build systems that inherit from it. Keep the list in sync with + ;; 'standard-packages' in (guix build-system gnu). + '("gcc" "binutils" "libc" "libc:static" "ld-wrapper")) + + (define (lower* . args) + (let ((lowered (apply lower args))) + (bag + (inherit lowered) + (build-inputs + (append (fold alist-delete + (bag-build-inputs lowered) + toolchain-packages) + toolchain))))) + + (build-system + (inherit bs) + (lower lower*))) diff --git a/guix/build/cargo-build-system.scm b/guix/build/cargo-build-system.scm index 95e8dd772a..117c8da66c 100644 --- a/guix/build/cargo-build-system.scm +++ b/guix/build/cargo-build-system.scm @@ -173,7 +173,13 @@ directory = '" port) (or skip-build? (not (has-executable-target?)) (invoke "cargo" "install" "--path" "." "--root" out - "--features" (string-join features))))) + "--features" (string-join features))) + + ;; This is a file which we definitely don't need installed. + (when (file-exists? (string-append out "/.crates.toml")) + (delete-file (string-append out "/.crates.toml"))) + + #t)) (define %standard-phases (modify-phases gnu:%standard-phases diff --git a/guix/build/hg.scm b/guix/build/hg.scm index b3e3ff7ac3..0ffad7fa2d 100644 --- a/guix/build/hg.scm +++ b/guix/build/hg.scm @@ -2,6 +2,7 @@ ;;; Copyright © 2016 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2018 Mark H Weaver <mhw@netris.org> ;;; Copyright © 2018 Björn Höfling <bjoern.hoefling@bjoernhoefling.de> +;;; Copyright © 2020 Simon Tournier <zimon.toutoune@gmail.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -20,6 +21,8 @@ (define-module (guix build hg) #:use-module (guix build utils) + #:use-module (srfi srfi-34) + #:use-module (ice-9 format) #:export (hg-fetch)) ;;; Commentary: @@ -35,22 +38,29 @@ "Fetch CHANGESET from URL into DIRECTORY. CHANGESET must be a valid Mercurial changeset identifier. Return #t on success, #f otherwise." - (invoke hg-command - "clone" url - "--rev" changeset - ;; Disable TLS certificate verification. The hash of - ;; the checkout is known in advance anyway. - "--insecure" - directory) - - ;; The contents of '.hg' vary as a function of the current - ;; status of the Mercurial repo. Since we want a fixed - ;; output, this directory needs to be taken out. - ;; Since the '.hg' file is also in sub-modules, we have to - ;; search for it in all sub-directories. - (for-each delete-file-recursively - (find-files directory "^\\.hg$" #:directories? #t)) - - #t) + (mkdir-p directory) + + (guard (c ((invoke-error? c) + (report-invoke-error c) + (delete-file-recursively directory) + #f)) + (with-directory-excursion directory + (invoke hg-command + "clone" url + "--rev" changeset + ;; Disable TLS certificate verification. The hash of + ;; the checkout is known in advance anyway. + "--insecure" + directory) + + ;; The contents of '.hg' vary as a function of the current + ;; status of the Mercurial repo. Since we want a fixed + ;; output, this directory needs to be taken out. + ;; Since the '.hg' file is also in sub-modules, we have to + ;; search for it in all sub-directories. + (for-each delete-file-recursively + (find-files directory "^\\.hg$" #:directories? #t)) + + #t))) ;;; hg.scm ends here diff --git a/guix/build/svn.scm b/guix/build/svn.scm index 33783f3056..44d77a968f 100644 --- a/guix/build/svn.scm +++ b/guix/build/svn.scm @@ -1,7 +1,8 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2014 Ludovic Courtès <ludo@gnu.org> +;;; Copyright © 2014, 2020 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2014 Sree Harsha Totakura <sreeharsha@totakura.in> ;;; Copyright © 2018 Mark H Weaver <mhw@netris.org> +;;; Copyright © 2020 Simon Tournier <zimon.toutoune@gmail.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -20,6 +21,8 @@ (define-module (guix build svn) #:use-module (guix build utils) + #:use-module (srfi srfi-34) + #:use-module (ice-9 format) #:export (svn-fetch)) ;;; Commentary: @@ -36,20 +39,23 @@ (password #f)) "Fetch REVISION from URL into DIRECTORY. REVISION must be an integer, and a valid Subversion revision. Return #t on success, #f otherwise." - (apply invoke svn-command - "export" "--non-interactive" - ;; Trust the server certificate. This is OK as we - ;; verify the checksum later. This can be removed when - ;; ca-certificates package is added. - "--trust-server-cert" "-r" (number->string revision) - `(,@(if (and user-name password) - (list (string-append "--username=" user-name) - (string-append "--password=" password)) - '()) - ,@(if recursive? - '() - (list "--ignore-externals")) - ,url ,directory)) - #t) + (guard (c ((invoke-error? c) + (report-invoke-error c) + #f)) + (apply invoke svn-command + "export" "--non-interactive" + ;; Trust the server certificate. This is OK as we + ;; verify the checksum later. This can be removed when + ;; ca-certificates package is added. + "--trust-server-cert" "-r" (number->string revision) + `(,@(if (and user-name password) + (list (string-append "--username=" user-name) + (string-append "--password=" password)) + '()) + ,@(if recursive? + '() + (list "--ignore-externals")) + ,url ,directory)) + #t)) ;;; svn.scm ends here diff --git a/guix/channels.scm b/guix/channels.scm index ad2442f50e..916d663e9f 100644 --- a/guix/channels.scm +++ b/guix/channels.scm @@ -783,7 +783,8 @@ modules in the old ~/.config/guix/latest style." ;; derivation that builds modules. We have to infer what the ;; dependencies of these modules were. (list guile-json-3 guile-git guile-bytestructures - (ssh -> guile-ssh) (tls -> gnutls))))) + (ssh -> guile-ssh) (tls -> gnutls)) + #:guile (default-guile)))) (define (old-style-guix? drv) "Return true if DRV corresponds to a ~/.config/guix/latest style of diff --git a/guix/cve.scm b/guix/cve.scm index 57b8459d01..b3a8b13a06 100644 --- a/guix/cve.scm +++ b/guix/cve.scm @@ -336,7 +336,7 @@ sexp to CACHE." ,(map vulnerability->sexp vulns)) cache)))) -(define (fetch-vulnerabilities year ttl) +(define* (fetch-vulnerabilities year ttl #:key (timeout 10)) "Return the list of <vulnerability> for YEAR, assuming the on-disk cache has the given TTL (fetch from the NIST web site when TTL has expired)." (define (cache-miss uri) @@ -361,16 +361,18 @@ the given TTL (fetch from the NIST web site when TTL has expired)." (let* ((port (http-fetch/cached (yearly-feed-uri year) #:ttl ttl #:write-cache write-cache - #:cache-miss cache-miss)) + #:cache-miss cache-miss + #:timeout timeout)) (sexp (read* port))) (close-port port) (match sexp (('vulnerabilities 1 vulns) (map sexp->vulnerability vulns))))) -(define (current-vulnerabilities) +(define* (current-vulnerabilities #:key (timeout 10)) "Return the current list of Common Vulnerabilities and Exposures (CVE) as -published by the US NIST." +published by the US NIST. TIMEOUT specifies the timeout in seconds for +connection establishment." (let ((past-years (unfold (cut > <> 3) (lambda (n) (- %current-year n)) @@ -381,7 +383,7 @@ published by the US NIST." (* n %past-year-ttl)) 1+ 1))) - (append-map fetch-vulnerabilities + (append-map (cut fetch-vulnerabilities <> <> #:timeout timeout) (cons %current-year past-years) (cons %current-year-ttl past-ttls)))) diff --git a/guix/http-client.scm b/guix/http-client.scm index 5a5a33b4c0..a767175d67 100644 --- a/guix/http-client.scm +++ b/guix/http-client.scm @@ -71,7 +71,8 @@ (define* (http-fetch uri #:key port (text? #f) (buffered? #t) (verify-certificate? #t) - (headers '((user-agent . "GNU Guile")))) + (headers '((user-agent . "GNU Guile"))) + timeout) "Return an input port containing the data at URI, and the expected number of bytes available or #f. If TEXT? is true, the data at URI is considered to be textual. Follow any HTTP redirection. When BUFFERED? is #f, return an @@ -80,13 +81,17 @@ extra HTTP headers. When VERIFY-CERTIFICATE? is true, verify HTTPS server certificates. +TIMEOUT specifies the timeout in seconds for connection establishment; when +TIMEOUT is #f, connection establishment never times out. + Raise an '&http-get-error' condition if downloading fails." (let loop ((uri (if (string? uri) (string->uri uri) uri))) (let ((port (or port (guix:open-connection-for-uri uri #:verify-certificate? - verify-certificate?))) + verify-certificate? + #:timeout timeout))) (headers (match (uri-userinfo uri) ((? string? str) (cons (cons 'Authorization @@ -155,13 +160,16 @@ Raise an '&http-get-error' condition if downloading fails." (define* (http-fetch/cached uri #:key (ttl (%http-cache-ttl)) text? (write-cache dump-port) - (cache-miss (const #t))) + (cache-miss (const #t)) + (timeout 10)) "Like 'http-fetch', return an input port, but cache its contents in ~/.cache/guix. The cache remains valid for TTL seconds. Call WRITE-CACHE with the HTTP input port and the cache output port to write the data to cache. Call CACHE-MISS with URI just before fetching data from -URI." +URI. + +TIMEOUT specifies the timeout in seconds for connection establishment." (let ((file (cache-file-for-uri uri))) (define (update-cache cache-port) (define cache-time @@ -183,7 +191,7 @@ URI." cache-port) (raise c)))) (let ((port (http-fetch uri #:text? text? - #:headers headers))) + #:headers headers #:timeout timeout))) (cache-miss uri) (mkdir-p (dirname file)) (when cache-port diff --git a/guix/licenses.scm b/guix/licenses.scm index 5038f75638..cd43386102 100644 --- a/guix/licenses.scm +++ b/guix/licenses.scm @@ -76,7 +76,7 @@ mpl1.0 mpl1.1 mpl2.0 ms-pl ncsa - nmap + npsl ogl-psi1.0 openldap2.8 openssl perl-license @@ -521,10 +521,10 @@ at URI, which may be a file:// URI pointing the package's tree." "http://directory.fsf.org/wiki/License:IllinoisNCSA" "https://www.gnu.org/licenses/license-list#NCSA")) -(define nmap - (license "Nmap license" - "https://svn.nmap.org/nmap/COPYING" - "https://fedoraproject.org/wiki/Licensing/Nmap")) +(define npsl + (license "Nmap Public Source License" + "https://svn.nmap.org/nmap/LICENSE" + "https://nmap.org/npsl/")) (define ogl-psi1.0 (license "Open Government Licence for Public Sector Information" diff --git a/guix/lint.scm b/guix/lint.scm index ec43a4dcad..e1a77e8ac7 100644 --- a/guix/lint.scm +++ b/guix/lint.scm @@ -1084,7 +1084,7 @@ or HTTP errors. This allows network-less operation and makes problems with the NIST server non-fatal." (with-networking-fail-safe (G_ "while retrieving CVE vulnerabilities") '() - (current-vulnerabilities))) + (current-vulnerabilities #:timeout 4))) (define package-vulnerabilities (let ((lookup (delay (vulnerabilities->lookup-proc diff --git a/guix/packages.scm b/guix/packages.scm index 4f2bb432be..24d6417065 100644 --- a/guix/packages.scm +++ b/guix/packages.scm @@ -124,6 +124,7 @@ package-patched-vulnerabilities package-with-patches package-with-extra-patches + package-with-c-toolchain package/inherit transitive-input-references @@ -790,6 +791,14 @@ specifies modules in scope when evaluating SNIPPET." (append (origin-patches (package-source original)) patches))) +(define (package-with-c-toolchain package toolchain) + "Return a variant of PACKAGE that uses TOOLCHAIN instead of the default GNU +C/C++ toolchain. TOOLCHAIN must be a list of inputs (label/package tuples) +providing equivalent functionality, such as the 'gcc-toolchain' package." + (let ((bs (package-build-system package))) + (package/inherit package + (build-system (build-system-with-c-toolchain bs toolchain))))) + (define (transitive-inputs inputs) "Return the closure of INPUTS when considering the 'propagated-inputs' edges. Omit duplicate inputs, except for those already present in INPUTS diff --git a/guix/scripts/build.scm b/guix/scripts/build.scm index 72a5d46347..e59e0ee67f 100644 --- a/guix/scripts/build.scm +++ b/guix/scripts/build.scm @@ -26,6 +26,7 @@ #:use-module (guix store) #:use-module (guix derivations) #:use-module (guix packages) + #:use-module (guix memoization) #:use-module (guix grafts) #:use-module (guix utils) @@ -396,6 +397,83 @@ a checkout of the Git repository at the given URL." (rewrite obj) obj))) +(define (package-dependents/spec top bottom) + "Return the list of dependents of BOTTOM, a spec string, that are also +dependencies of TOP, a package." + (define-values (name version) + (package-name->name+version bottom)) + + (define dependent? + (mlambda (p) + (and (package? p) + (or (and (string=? name (package-name p)) + (or (not version) + (version-prefix? version (package-version p)))) + (match (bag-direct-inputs (package->bag p)) + (((labels dependencies . _) ...) + (any dependent? dependencies))))))) + + (filter dependent? (package-closure (list top)))) + +(define (package-toolchain-rewriting p bottom toolchain) + "Return a procedure that, when passed a package that's either BOTTOM or one +of its dependents up to P so, changes it so it is built with TOOLCHAIN. +TOOLCHAIN must be an input list." + (define rewriting-property + (gensym " package-toolchain-rewriting")) + + (match (package-dependents/spec p bottom) + (() ;P does not depend on BOTTOM + identity) + (set + ;; SET is the list of packages "between" P and BOTTOM (included) whose + ;; toolchain needs to be changed. + (package-mapping (lambda (p) + (if (or (assq rewriting-property + (package-properties p)) + (not (memq p set))) + p + (let ((p (package-with-c-toolchain p toolchain))) + (package/inherit p + (properties `((,rewriting-property . #t) + ,@(package-properties p))))))) + (lambda (p) + (or (assq rewriting-property (package-properties p)) + (not (memq p set)))) + #:deep? #t)))) + +(define (transform-package-toolchain replacement-specs) + "Return a procedure that, when passed a package, changes its toolchain or +that of its dependencies according to REPLACEMENT-SPECS. REPLACEMENT-SPECS is +a list of strings like \"fftw=gcc-toolchain@10\" meaning that the package to +the left of the equal sign must be built with the toolchain to the right of +the equal sign." + (define split-on-commas + (cute string-tokenize <> (char-set-complement (char-set #\,)))) + + (define (specification->input spec) + (let ((package (specification->package spec))) + (list (package-name package) package))) + + (define replacements + (map (lambda (spec) + (match (string-tokenize spec %not-equal) + ((spec (= split-on-commas toolchain)) + (cons spec (map specification->input toolchain))) + (_ + (leave (G_ "~a: invalid toolchain replacement specification~%") + spec)))) + replacement-specs)) + + (lambda (store obj) + (if (package? obj) + (or (any (match-lambda + ((bottom . toolchain) + ((package-toolchain-rewriting obj bottom toolchain) obj))) + replacements) + obj) + obj))) + (define (transform-package-tests specs) "Return a procedure that, when passed a package, sets #:tests? #f in its 'arguments' field." @@ -426,6 +504,7 @@ a checkout of the Git repository at the given URL." (with-branch . ,transform-package-source-branch) (with-commit . ,transform-package-source-commit) (with-git-url . ,transform-package-source-git-url) + (with-c-toolchain . ,transform-package-toolchain) (without-tests . ,transform-package-tests))) (define (transformation-procedure key) @@ -455,6 +534,8 @@ a checkout of the Git repository at the given URL." (parser 'with-commit)) (option '("with-git-url") #t #f (parser 'with-git-url)) + (option '("with-c-toolchain") #t #f + (parser 'with-c-toolchain)) (option '("without-tests") #t #f (parser 'without-tests))))) @@ -478,6 +559,9 @@ a checkout of the Git repository at the given URL." --with-git-url=PACKAGE=URL build PACKAGE from the repository at URL")) (display (G_ " + --with-c-toolchain=PACKAGE=TOOLCHAIN + build PACKAGE and its dependents with TOOLCHAIN")) + (display (G_ " --without-tests=PACKAGE build PACKAGE without running its tests"))) diff --git a/guix/scripts/offload.scm b/guix/scripts/offload.scm index 3dc8ccefcb..a5fe98b675 100644 --- a/guix/scripts/offload.scm +++ b/guix/scripts/offload.scm @@ -88,6 +88,10 @@ (default 3)) (daemon-socket build-machine-daemon-socket ; string (default "/var/guix/daemon-socket/socket")) + ;; A #f value tells the offload scheduler to disregard the load of the build + ;; machine when selecting the best offload machine. + (overload-threshold build-machine-overload-threshold ; inexact real between + (default 0.6)) ; 0.0 and 1.0 | #f (parallel-builds build-machine-parallel-builds ; number (default 1)) (speed build-machine-speed ; inexact real @@ -391,30 +395,34 @@ of free disk space on '~a'~%") (* 100 (expt 2 20))) ;100 MiB (define (node-load node) - "Return the load on NODE. Return +∞ if NODE is misbehaving." + "Return the load on NODE, a normalized value between 0.0 and 1.0. The value +is derived from /proc/loadavg and normalized according to the number of +logical cores available, to give a rough estimation of CPU usage. Return +1.0 (fully loaded) if NODE is misbehaving." (let ((line (inferior-eval '(begin (use-modules (ice-9 rdelim)) (call-with-input-file "/proc/loadavg" read-string)) - node))) - (if (eof-object? line) - +inf.0 ;MACHINE does not respond, so assume it is infinitely loaded + node)) + (ncores (inferior-eval '(begin + (use-modules (ice-9 threads)) + (current-processor-count)) + node))) + (if (or (eof-object? line) (eof-object? ncores)) + 1.0 ;MACHINE does not respond, so assume it is fully loaded (match (string-tokenize line) ((one five fifteen . x) - (string->number one)) + (let ((load (/ (string->number one) ncores))) + (if (> load 1.0) + 1.0 + load))) (x - +inf.0))))) - -(define (normalized-load machine load) - "Divide LOAD by the number of parallel builds of MACHINE." - (if (rational? load) - (let* ((jobs (build-machine-parallel-builds machine)) - (normalized (/ load jobs))) - (format (current-error-port) "load on machine '~a' is ~s\ - (normalized: ~s)~%" - (build-machine-name machine) load normalized) - normalized) - load)) + 1.0))))) + +(define (report-load machine load) + (format (current-error-port) + "normalized load on machine '~a' is ~,2f~%" + (build-machine-name machine) load)) (define (random-seed) (logxor (getpid) (car (gettimeofday)))) @@ -472,11 +480,15 @@ slot (which must later be released with 'release-build-slot'), or #f and #f." (let* ((session (false-if-exception (open-ssh-session best %short-timeout))) (node (and session (remote-inferior session))) - (load (and node (normalized-load best (node-load node)))) + (load (and node (node-load node))) + (threshold (build-machine-overload-threshold best)) (space (and node (node-free-disk-space node)))) + (when load (report-load best load)) (when node (close-inferior node)) (when session (disconnect! session)) - (if (and node (< load 2.) (>= space %minimum-disk-space)) + (if (and node + (or (not threshold) (< load threshold)) + (>= space %minimum-disk-space)) (match others (((machines slots) ...) ;; Release slots from the uninteresting machines. @@ -708,13 +720,13 @@ machine." (free (node-free-disk-space inferior))) (close-inferior inferior) (format #t "~a~% kernel: ~a ~a~% architecture: ~a~%\ - host name: ~a~% normalized load: ~a~% free disk space: ~,2f MiB~%\ + host name: ~a~% normalized load: ~,2f~% free disk space: ~,2f MiB~%\ time difference: ~a s~%" (build-machine-name machine) (utsname:sysname uts) (utsname:release uts) (utsname:machine uts) (utsname:nodename uts) - (normalized-load machine load) + load (/ free (expt 2 20) 1.) (- time now)))))))) diff --git a/guix/scripts/substitute.scm b/guix/scripts/substitute.scm index 26613df68f..7ec170b08a 100755 --- a/guix/scripts/substitute.scm +++ b/guix/scripts/substitute.scm @@ -137,7 +137,7 @@ disabled!~%")) (define %narinfo-negative-ttl ;; Likewise, but for negative lookups---i.e., cached lookup failures (404). - (* 3 3600)) + (* 1 3600)) (define %narinfo-transient-error-ttl ;; Likewise, but for transient errors such as 504 ("Gateway timeout"). diff --git a/guix/scripts/system/reconfigure.scm b/guix/scripts/system/reconfigure.scm index 45bb1d5d3b..d89caf80fc 100644 --- a/guix/scripts/system/reconfigure.scm +++ b/guix/scripts/system/reconfigure.scm @@ -126,22 +126,25 @@ return the <live-service> objects that are currently running on MACHINE." (define exp (with-imported-modules '((gnu services herd)) #~(begin - (use-modules (gnu services herd)) + (use-modules (gnu services herd) + (ice-9 match)) + (let ((services (current-services))) (and services - ;; 'live-service-running' is ignored, as we can't necessarily - ;; serialize arbitrary objects. This should be fine for now, - ;; since 'machine-current-services' is not exposed publicly, - ;; and the resultant <live-service> objects are only used for - ;; resolving service dependencies. (map (lambda (service) (list (live-service-provision service) - (live-service-requirement service))) + (live-service-requirement service) + (match (live-service-running service) + (#f #f) + (#t #t) + ((? number? pid) pid) + (_ #t)))) ;not serializable services)))))) + (mlet %store-monad ((services (eval exp))) (return (map (match-lambda - ((provision requirement) - (live-service provision requirement #f))) + ((provision requirement running) + (live-service provision requirement running))) services)))) ;; XXX: Currently, this does NOT attempt to restart running services. See @@ -181,13 +184,14 @@ services as defined by OS." (mlet* %store-monad ((live-services (running-services eval))) (let*-values (((to-unload to-restart) (shepherd-service-upgrade live-services target-services))) - (let* ((to-unload (map live-service-canonical-name to-unload)) + (let* ((to-unload (map live-service-canonical-name to-unload)) (to-restart (map shepherd-service-canonical-name to-restart)) - (to-start (lset-difference eqv? - (map shepherd-service-canonical-name - target-services) - (map live-service-canonical-name - live-services))) + (running (map live-service-canonical-name + (filter live-service-running live-services))) + (to-start (lset-difference eqv? + (map shepherd-service-canonical-name + target-services) + running)) (service-files (map shepherd-service-file target-services))) (eval #~(parameterize ((current-warning-port (%make-void-port "w"))) (primitive-load #$(upgrade-services-program service-files diff --git a/guix/scripts/upgrade.scm b/guix/scripts/upgrade.scm index 8c7abd133a..5ec844328e 100644 --- a/guix/scripts/upgrade.scm +++ b/guix/scripts/upgrade.scm @@ -36,6 +36,8 @@ This is an alias for 'guix package -u'.\n")) -p, --profile=PROFILE use PROFILE instead of the user's default profile")) (display (G_ " -v, --verbosity=LEVEL use the given verbosity LEVEL")) + (display (G_ " + --do-not-upgrade[=REGEXP] do not upgrade any packages matching REGEXP")) (newline) (show-build-options-help) (newline) diff --git a/guix/self.scm b/guix/self.scm index 5eb80f42fe..bbfd2f1b95 100644 --- a/guix/self.scm +++ b/guix/self.scm @@ -27,6 +27,7 @@ #:use-module (guix packages) #:use-module (guix sets) #:use-module (guix modules) + #:use-module ((guix utils) #:select (version-major+minor)) #:use-module ((guix build utils) #:select (find-files)) #:use-module (srfi srfi-1) #:use-module (srfi srfi-9) @@ -62,6 +63,7 @@ ("xz" (ref '(gnu packages compression) 'xz)) ("po4a" (ref '(gnu packages gettext) 'po4a)) ("gettext" (ref '(gnu packages gettext) 'gettext-minimal)) + ("gcc-toolchain" (ref '(gnu packages commencement) 'gcc-toolchain)) (_ #f)))) ;no such package @@ -580,6 +582,48 @@ that provide Guile modules." (computed-file name build)) +(define (quiet-guile guile) + "Return a wrapper that does the same as the 'guile' executable of GUILE, +except that it does not complain about locales and falls back to 'en_US.utf8' +instead of 'C'." + (define gcc + (specification->package "gcc-toolchain")) + + (define source + (search-path %load-path + "gnu/packages/aux-files/guile-launcher.c")) + + (define effective + (version-major+minor (package-version guile))) + + (define build + ;; XXX: Reuse <c-compiler> from (guix scripts pack) instead? + (with-imported-modules '((guix build utils)) + #~(begin + (use-modules (guix build utils) + (srfi srfi-26)) + + (mkdir-p (string-append #$output "/bin")) + + (setenv "PATH" #$(file-append gcc "/bin")) + (setenv "C_INCLUDE_PATH" + (string-join + (map (cut string-append <> "/include") + '#$(match (bag-transitive-build-inputs + (package->bag guile)) + (((labels packages . _) ...) + (filter package? packages)))) + ":")) + (setenv "LIBRARY_PATH" #$(file-append gcc "/lib")) + + (invoke "gcc" #$(local-file source) "-Wall" "-g0" "-O2" + "-I" #$(file-append guile "/include/guile/" effective) + "-L" #$(file-append guile "/lib") + #$(string-append "-lguile-" effective) + "-o" (string-append #$output "/bin/guile"))))) + + (computed-file "guile-wrapper" build)) + (define* (guix-command modules #:key source (dependencies '()) guile (guile-version (effective-version))) @@ -634,7 +678,9 @@ load path." ;; XXX: It would be more convenient to change it to: ;; (exit (apply guix-main (command-line))) (apply guix-main (command-line)))) - #:guile guile)) + + ;; Use a 'guile' variant that doesn't complain about locales. + #:guile (quiet-guile guile))) (define (miscellaneous-files source) "Return data files taken from SOURCE." diff --git a/nix/libstore/build.cc b/nix/libstore/build.cc index ccec513d8d..c894d72bda 100644 --- a/nix/libstore/build.cc +++ b/nix/libstore/build.cc @@ -1386,11 +1386,6 @@ void DerivationGoal::buildDone() being valid. */ registerOutputs(); - if (buildMode == bmCheck) { - done(BuildResult::Built); - return; - } - /* Delete unused redirected outputs (when doing hash rewriting). */ foreach (RedirectedOutputs::iterator, i, redirectedOutputs) if (pathExists(i->second)) deletePath(i->second); @@ -2485,8 +2480,6 @@ void DerivationGoal::registerOutputs() infos.push_back(info); } - if (buildMode == bmCheck) return; - /* Compare the result with the previous round, and report which path is different, if any.*/ if (curRound > 1 && prevInfos != infos) { diff --git a/tests/channels.scm b/tests/channels.scm index 1b6f640c4a..0264369d9e 100644 --- a/tests/channels.scm +++ b/tests/channels.scm @@ -1,5 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2018 Ricardo Wurmus <rekado@elephly.net> +;;; Copyright © 2019, 2020 Ludovic Courtès <ludo@gnu.org> ;;; ;;; This file is part of GNU Guix. ;;; diff --git a/tests/packages.scm b/tests/packages.scm index 5d5abcbd76..2d13d91344 100644 --- a/tests/packages.scm +++ b/tests/packages.scm @@ -1430,6 +1430,26 @@ (derivation-file-name (package-derivation %store coreutils)))))))) +(test-assert "package-with-c-toolchain" + (let* ((dep (dummy-package "chbouib" + (build-system gnu-build-system) + (native-inputs `(("x" ,grep))))) + (p0 (dummy-package "thingie" + (build-system gnu-build-system) + (inputs `(("foo" ,grep) + ("bar" ,dep))))) + (tc (dummy-package "my-toolchain")) + (p1 (package-with-c-toolchain p0 `(("toolchain" ,tc))))) + (define toolchain-packages + '("gcc" "binutils" "glibc" "ld-wrapper")) + + (match (bag-build-inputs (package->bag p1)) + ((("foo" foo) ("bar" bar) (_ (= package-name packages) . _) ...) + (and (not (any (cut member <> packages) toolchain-packages)) + (member "my-toolchain" packages) + (eq? foo grep) + (eq? bar dep)))))) + (test-equal "package-patched-vulnerabilities" '(("CVE-2015-1234") ("CVE-2016-1234" "CVE-2018-4567") diff --git a/tests/scripts-build.scm b/tests/scripts-build.scm index 5f91360953..6925374baa 100644 --- a/tests/scripts-build.scm +++ b/tests/scripts-build.scm @@ -22,6 +22,8 @@ #:use-module (guix derivations) #:use-module (guix packages) #:use-module (guix git-download) + #:use-module (guix build-system) + #:use-module (guix build-system gnu) #:use-module (guix scripts build) #:use-module (guix ui) #:use-module (guix utils) @@ -30,6 +32,8 @@ #:use-module (gnu packages base) #:use-module (gnu packages busybox) #:use-module (ice-9 match) + #:use-module (srfi srfi-1) + #:use-module (srfi srfi-26) #:use-module (srfi srfi-64)) @@ -270,6 +274,80 @@ ((("x" dep3)) (map package-source (list dep1 dep3)))))))))))) +(define* (depends-on-toolchain? p #:optional (toolchain "gcc-toolchain")) + "Return true if P depends on TOOLCHAIN instead of the default tool chain." + (define toolchain-packages + '("gcc" "binutils" "glibc" "ld-wrapper")) + + (define (package-name* obj) + (and (package? obj) (package-name obj))) + + (match (bag-build-inputs (package->bag p)) + (((_ (= package-name* packages) . _) ...) + (and (not (any (cut member <> packages) toolchain-packages)) + (member toolchain packages))))) + +(test-assert "options->transformation, with-c-toolchain" + (let* ((dep0 (dummy-package "chbouib" + (build-system gnu-build-system) + (native-inputs `(("y" ,grep))))) + (dep1 (dummy-package "stuff" + (native-inputs `(("x" ,dep0))))) + (p (dummy-package "thingie" + (build-system gnu-build-system) + (inputs `(("foo" ,grep) + ("bar" ,dep1))))) + (t (options->transformation + '((with-c-toolchain . "chbouib=gcc-toolchain"))))) + ;; Here we check that the transformation applies to DEP0 and all its + ;; dependents: DEP0 must use GCC-TOOLCHAIN, DEP1 must use GCC-TOOLCHAIN + ;; and the DEP0 that uses GCC-TOOLCHAIN, and so on. + (with-store store + (let ((new (t store p))) + (and (depends-on-toolchain? new "gcc-toolchain") + (match (bag-build-inputs (package->bag new)) + ((("foo" dep0) ("bar" dep1) _ ...) + (and (depends-on-toolchain? dep1 "gcc-toolchain") + (not (depends-on-toolchain? dep0 "gcc-toolchain")) + (string=? (package-full-name dep0) + (package-full-name grep)) + (match (bag-build-inputs (package->bag dep1)) + ((("x" dep) _ ...) + (and (depends-on-toolchain? dep "gcc-toolchain") + (match (bag-build-inputs (package->bag dep)) + ((("y" dep) _ ...) ;this one is unchanged + (eq? dep grep)))))))))))))) + +(test-equal "options->transformation, with-c-toolchain twice" + (package-full-name grep) + (let* ((dep0 (dummy-package "chbouib")) + (dep1 (dummy-package "stuff")) + (p (dummy-package "thingie" + (build-system gnu-build-system) + (inputs `(("foo" ,dep0) + ("bar" ,dep1) + ("baz" ,grep))))) + (t (options->transformation + '((with-c-toolchain . "chbouib=clang-toolchain") + (with-c-toolchain . "stuff=clang-toolchain"))))) + (with-store store + (let ((new (t store p))) + (and (depends-on-toolchain? new "clang-toolchain") + (match (bag-build-inputs (package->bag new)) + ((("foo" dep0) ("bar" dep1) ("baz" dep2) _ ...) + (and (depends-on-toolchain? dep0 "clang-toolchain") + (depends-on-toolchain? dep1 "clang-toolchain") + (not (depends-on-toolchain? dep2 "clang-toolchain")) + (package-full-name dep2))))))))) + +(test-assert "options->transformation, with-c-toolchain, no effect" + (let ((p (dummy-package "thingie")) + (t (options->transformation + '((with-c-toolchain . "does-not-exist=gcc-toolchain"))))) + ;; When it has no effect, '--with-c-toolchain' returns P. + (with-store store + (eq? (t store p) p)))) + (test-assert "options->transformation, without-tests" (let* ((dep (dummy-package "dep")) (p (dummy-package "foo" @@ -286,3 +364,7 @@ '(#:tests? #f)))))))) (test-end) + +;;; Local Variables: +;;; eval: (put 'dummy-package 'scheme-indent-function 1) +;;; End: |