diff options
123 files changed, 31455 insertions, 5455 deletions
@@ -39,6 +39,7 @@ Joshua Grant <tadni@riseup.net> <gzg@riseup.net> Joshua Grant <tadni@riseup.net> <jgrant@parenthetical.io> Joshua Grant <tadni@riseup.net> <tadnimi@gmail.com> Joshua Grant <tadni@riseup.net> <youlysses@riseup.net> +Juliana Sims <juli@incana.org> <jtsims@protonmail.com> Kei Kebreau <kkebreau@posteo.net> Leo Famulari <leo@famulari.name> <lfamular@gmail.com> Liliana Marie Prikler <liliana.prikler@gmail.com> diff --git a/Makefile.am b/Makefile.am index 4f5d64e7ab..a976df705f 100644 --- a/Makefile.am +++ b/Makefile.am @@ -616,6 +616,7 @@ SH_TESTS = \ tests/guix-refresh.sh \ tests/guix-shell.sh \ tests/guix-shell-export-manifest.sh \ + tests/guix-time-machine.sh \ tests/guix-graph.sh \ tests/guix-describe.sh \ tests/guix-repl.sh \ diff --git a/doc/contributing.texi b/doc/contributing.texi index 86fae497f1..69f0327afb 100644 --- a/doc/contributing.texi +++ b/doc/contributing.texi @@ -1589,10 +1589,21 @@ will automatically show up at @indicateurl{https://qa.guix.gnu.org/branch/@var{branch}}, with an indication of its build status on various platforms. +@cindex feature branches, coordination To help coordinate the merging of branches, you must create a new guix-patches issue each time you wish to merge a branch (@pxref{The -Issue Tracker}). Normally branches will be merged in a ``first come, -first merged'' manner, tracked through the guix-patches issues. +Issue Tracker}). The title of the issue requesting to merge a branch +should have the following format: + +@cindex merge requests, template +@example +Request for merging "@var{name}" branch +@end example + +The @url{https://qa.guix.gnu.org/, QA infrastructure} recognizes such +issues and lists the merge requests on its main page. Normally branches +will be merged in a ``first come, first merged'' manner, tracked through +the guix-patches issues. If you agree on a different order with those involved, you can track this by updating which issues block@footnote{You can mark an issue as diff --git a/doc/guix-cookbook.texi b/doc/guix-cookbook.texi index 2e58c6c795..87430b741a 100644 --- a/doc/guix-cookbook.texi +++ b/doc/guix-cookbook.texi @@ -21,7 +21,7 @@ Copyright @copyright{} 2020 Brice Waegeneire@* Copyright @copyright{} 2020 André Batista@* Copyright @copyright{} 2020 Christine Lemmer-Webber@* Copyright @copyright{} 2021 Joshua Branson@* -Copyright @copyright{} 2022 Maxim Cournoyer@* +Copyright @copyright{} 2022, 2023 Maxim Cournoyer@* Copyright @copyright{} 2023 Ludovic Courtès Permission is granted to copy, distribute and/or modify this document @@ -78,7 +78,7 @@ manual}). * Containers:: Isolated environments and nested systems * Advanced package management:: Power to the users! * Environment management:: Control environment -* Installing Guix on a Cluster:: High-performance computing. +* Installing Guix on a Cluster:: High-performance computing. * Acknowledgments:: Thanks! * GNU Free Documentation License:: The license of this document. @@ -87,36 +87,86 @@ manual}). @detailmenu --- The Detailed Node Listing --- +Scheme tutorials + +* A Scheme Crash Course:: + Packaging -* Packaging Tutorial:: A tutorial on how to add packages to Guix. +* Packaging Tutorial:: A tutorial on how to add packages to Guix. + +Packaging Tutorial + +* A ``Hello World'' package:: +* Setup:: +* Extended example:: +* Other build systems:: +* Programmable and automated package definition:: +* Getting help:: +* Conclusion:: +* References:: + +Setup + +* Local file:: +* Channels:: +* Direct checkout hacking:: + +Programmable and automated package definition + +* Recursive importers:: +* Automatic update:: +* Inheritance:: System Configuration -* Auto-Login to a Specific TTY:: Automatically Login a User to a Specific TTY -* Customizing the Kernel:: Creating and using a custom Linux kernel on Guix System. -* Guix System Image API:: Customizing images to target specific platforms. -* Using security keys:: How to use security keys with Guix System. +* Auto-Login to a Specific TTY:: Automatically Login a User to a Specific TTY +* Customizing the Kernel:: Creating and using a custom Linux kernel on Guix System. +* Guix System Image API:: Customizing images to target specific platforms. +* Using security keys:: How to use security keys with Guix System. +* Dynamic DNS mcron job:: Job to update the IP address behind a DuckDNS host name. * Connecting to Wireguard VPN:: Connecting to a Wireguard VPN. -* Customizing a Window Manager:: Handle customization of a Window manager on Guix System. -* Running Guix on a Linode Server:: Running Guix on a Linode Server -* Setting up a bind mount:: Setting up a bind mount in the file-systems definition. -* Getting substitutes from Tor:: Configuring Guix daemon to get substitutes through Tor. -* Setting up NGINX with Lua:: Configuring NGINX web-server to load Lua modules. -* Music Server with Bluetooth Audio:: Headless music player with Bluetooth output. +* Customizing a Window Manager:: Handle customization of a Window manager on Guix System. +* Running Guix on a Linode Server:: Running Guix on a Linode Server. +* Setting up a bind mount:: Setting up a bind mount in the file-systems definition. +* Getting substitutes from Tor:: Configuring Guix daemon to get substitutes through Tor. +* Setting up NGINX with Lua:: Configuring NGINX web-server to load Lua modules. +* Music Server with Bluetooth Audio:: Headless music player with Bluetooth output. + +Customizing a Window Manager + +* StumpWM:: +* Session lock:: + +Session lock + +* Xorg:: Containers -* Guix Containers:: Perfectly isolated environments -* Guix System Containers:: A system inside your system +* Guix Containers:: Perfectly isolated environments +* Guix System Containers:: A system inside your system + +Guix System Containers + +* A Database Container:: +* Container Networking:: Advanced package management -* Guix Profiles in Practice:: Strategies for multiple profiles and manifests. +* Guix Profiles in Practice:: Strategies for multiple profiles and manifests. + +Guix Profiles in Practice + +* Basic setup with manifests:: +* Required packages:: +* Default profile:: +* The benefits of manifests:: +* Reproducible profiles:: Environment management -* Guix environment via direnv:: Setup Guix environment with direnv +* Guix environment via direnv:: Setup Guix environment with direnv Installing Guix on a Cluster @@ -144,6 +194,10 @@ experienced programmer to use them! Let's get started! +@menu +* A Scheme Crash Course:: +@end menu + @node A Scheme Crash Course @section A Scheme Crash Course @@ -192,7 +246,8 @@ rest are the arguments passed to the function. Every function returns the last evaluated expression as its return value. @item -Anonymous functions are declared with the @code{lambda} term: +Anonymous functions---@dfn{procedures} in Scheme parlance---are declared +with the @code{lambda} term: @lisp (lambda (x) (* x x)) @@ -208,6 +263,9 @@ which can in turn be applied to an argument: @result{} 9 @end lisp +Procedures are regular values just like numbers, strings, Booleans, and +so on. + @item Anything can be assigned a global name with @code{define}: @@ -234,6 +292,30 @@ A list structure can be created with the @code{list} procedure: @end lisp @item +Standard procedures are provided by the @code{(srfi srfi-1)} module to +create and process lists (@pxref{SRFI-1, list processing,, guile, GNU +Guile Reference Manual}). Here are some of the most useful ones in +action: + +@lisp +(use-modules (srfi srfi-1)) ;import list processing procedures + +(append (list 1 2) (list 3 4)) +@result{} (1 2 3 4) + +(map (lambda (x) (* x x)) (list 1 2 3 4)) +@result{} (1 4 9 16) + +(delete 3 (list 1 2 3 4)) @result{} (1 2 4) +(filter odd? (list 1 2 3 4)) @result{} (1 3) +(remove even? (list 1 2 3 4)) @result{} (1 3) +(find number? (list "a" 42 "b")) @result{} 42 +@end lisp + +Notice how the first argument to @code{map}, @code{filter}, +@code{remove}, and @code{find} is a procedure! + +@item @cindex S-expression The @dfn{quote} disables evaluation of a parenthesized expression, also called an S-expression or ``s-exp'': the first term is not called over @@ -280,6 +362,9 @@ they provide code to be executed during the package build process. They look like this: @lisp +(use-modules (guix gexp) ;so we can write gexps + (gnu packages base)) ;for 'coreutils' + ;; Below is a G-expression representing staged code. #~(begin ;; Invoke 'ls' from the package defined by the 'coreutils' @@ -347,6 +432,9 @@ defines the module @code{guix build-system ruby} which must be located in @file{guix/build-system/ruby.scm} somewhere in the Guile load path. It depends on the @code{(guix store)} module and it exports two variables, @code{ruby-build} and @code{ruby-build-system}. + +@xref{Package Modules,,, guix, GNU Guix Reference Manual}, for info on +modules that define packages. @end itemize @quotation Going further @@ -396,7 +484,7 @@ definitions in Guile Scheme, organizing them in package modules, and building them. @menu -* Packaging Tutorial:: A tutorial on how to add packages to Guix. +* Packaging Tutorial:: A tutorial on how to add packages to Guix. @end menu @node Packaging Tutorial @@ -438,6 +526,17 @@ It does not assume much knowledge of the Guix system nor of the Lisp language. The reader is only expected to be familiar with the command line and to have some basic programming knowledge. +@menu +* A ``Hello World'' package:: +* Setup:: +* Extended example:: +* Other build systems:: +* Programmable and automated package definition:: +* Getting help:: +* Conclusion:: +* References:: +@end menu + @node A ``Hello World'' package @subsection A ``Hello World'' package @@ -643,6 +742,12 @@ easier for everyone to contribute to the project. But first, let's look at other possibilities. +@menu +* Local file:: +* Channels:: +* Direct checkout hacking:: +@end menu + @node Local file @subsubsection Local file @@ -1293,6 +1398,12 @@ empowers us in ways that reach far beyond traditional package management. Let's illustrate this with some awesome features of Guix! +@menu +* Recursive importers:: +* Automatic update:: +* Inheritance:: +@end menu + @node Recursive importers @subsubsection Recursive importers @@ -1456,17 +1567,18 @@ chapter is to demonstrate some advanced configuration concepts. reference. @menu -* Auto-Login to a Specific TTY:: Automatically Login a User to a Specific TTY -* Customizing the Kernel:: Creating and using a custom Linux kernel on Guix System. -* Guix System Image API:: Customizing images to target specific platforms. -* Using security keys:: How to use security keys with Guix System. +* Auto-Login to a Specific TTY:: Automatically Login a User to a Specific TTY +* Customizing the Kernel:: Creating and using a custom Linux kernel on Guix System. +* Guix System Image API:: Customizing images to target specific platforms. +* Using security keys:: How to use security keys with Guix System. +* Dynamic DNS mcron job:: Job to update the IP address behind a DuckDNS host name. * Connecting to Wireguard VPN:: Connecting to a Wireguard VPN. -* Customizing a Window Manager:: Handle customization of a Window manager on Guix System. -* Running Guix on a Linode Server:: Running Guix on a Linode Server -* Setting up a bind mount:: Setting up a bind mount in the file-systems definition. -* Getting substitutes from Tor:: Configuring Guix daemon to get substitutes through Tor. -* Setting up NGINX with Lua:: Configuring NGINX web-server to load Lua modules. -* Music Server with Bluetooth Audio:: Headless music player with Bluetooth output. +* Customizing a Window Manager:: Handle customization of a Window manager on Guix System. +* Running Guix on a Linode Server:: Running Guix on a Linode Server. +* Setting up a bind mount:: Setting up a bind mount in the file-systems definition. +* Getting substitutes from Tor:: Configuring Guix daemon to get substitutes through Tor. +* Setting up NGINX with Lua:: Configuring NGINX web-server to load Lua modules. +* Music Server with Bluetooth Audio:: Headless music player with Bluetooth output. @end menu @node Auto-Login to a Specific TTY @@ -2022,6 +2134,77 @@ security key'' menu. If it works, congratulations, your security key is ready to be used with applications supporting two-factor authentication (2FA). +@subsection Disabling OTP code generation for a Yubikey +@cindex disabling yubikey OTP +If you use a Yubikey security key and are irritated by the spurious OTP +codes it generates when inadvertently touching the key (e.g. causing you +to become a spammer in the @samp{#guix} channel when discussing from +your favorite IRC client!), you can disable it via the following +@command{ykman} command: + +@example +guix shell python-yubikey-manager -- ykman config usb --force --disable OTP +@end example + +Alternatively, you could use the @command{ykman-gui} command provided by +the @code{yubikey-manager-qt} package and either wholly disable the +@samp{OTP} application for the USB interface or, from the +@samp{Applications -> OTP} view, delete the slot 1 configuration, which +comes pre-configured with the Yubico OTP application. + +@node Dynamic DNS mcron job +@section Dynamic DNS mcron job + +@cindex dynamic DNS, DDNS +If your @acronym{ISP, Internet Service Provider} only provides dynamic +IP addresses, it can be useful to setup a dynamic @acronym{DNS, Domain +Name System} (also known as @acronym{DDNS, Dynamic DNS}) service to +associate a static host name to a public but dynamic (often changing) IP +address. There are multiple existing services that can be used for +this; in the following mcron job, @url{https://duckdns.org, DuckDNS} is +used. It should also work with other dynamic DNS services that offer a +similar interface to update the IP address, such as +@url{https://freedns.afraid.org/}, with minor adjustments. + +The mcron job is provided below, where @var{DOMAIN} should be +substituted for your own domain prefix, and the DuckDNS provided token +associated to @var{DOMAIN} added to the +@file{/etc/duckdns/@var{DOMAIN}.token} file. + +@lisp +(define duckdns-job + ;; Update personal domain IP every 5 minutes. + #~(job '(next-minute (range 0 60 5)) + #$(program-file + "duckdns-update" + (with-extensions (list guile-gnutls) ;required by (web client) + #~(begin + (use-modules (ice-9 textual-ports) + (web client)) + (let ((token (string-trim-both + (call-with-input-file "/etc/duckdns/@var{DOMAIN}.token" + get-string-all))) + (query-template (string-append "https://www.duckdns.org/" + "update?domains=@var{DOMAIN}" + "&token=~a&ip="))) + (http-get (format #f query-template token)))))) + "duckdns-update" + #:user "nobody")) +@end lisp + +The job then needs to be added to the list of mcron jobs for your +system, using something like: + +@lisp +(operating-system + (services + (cons* (service mcron-service-type + (mcron-configuration + (jobs (list duckdns-job ...)))) + ... + %base-services))) +@end lisp + @node Connecting to Wireguard VPN @section Connecting to Wireguard VPN @@ -2103,6 +2286,11 @@ this post by thaller}. @section Customizing a Window Manager @cindex wm +@menu +* StumpWM:: +* Session lock:: +@end menu + @node StumpWM @subsection StumpWM @cindex stumpwm @@ -2158,6 +2346,10 @@ or it might be something you have to set up yourself. If you use a desktop envir like GNOME or KDE, it's usually built in. If you use a plain window manager like StumpWM or EXWM, you might have to set it up yourself. +@menu +* Xorg:: +@end menu + @node Xorg @subsubsection Xorg @@ -2821,8 +3013,8 @@ from foreign libraries or configuration files that are available system-wide. @menu -* Guix Containers:: Perfectly isolated environments -* Guix System Containers:: A system inside your system +* Guix Containers:: Perfectly isolated environments +* Guix System Containers:: A system inside your system @end menu @node Guix Containers @@ -3006,6 +3198,11 @@ caches or log files, etc. In Guix System the demands of this kind of software are satisfied through the deployment of system services. +@menu +* A Database Container:: +* Container Networking:: +@end menu + @node A Database Container @subsection A Database Container @@ -3208,7 +3405,7 @@ concepts. reference. @menu -* Guix Profiles in Practice:: Strategies for multiple profiles and manifests. +* Guix Profiles in Practice:: Strategies for multiple profiles and manifests. @end menu @node Guix Profiles in Practice @@ -3287,6 +3484,14 @@ Games. Let's dive in the set up! +@menu +* Basic setup with manifests:: +* Required packages:: +* Default profile:: +* The benefits of manifests:: +* Reproducible profiles:: +@end menu + @node Basic setup with manifests @subsection Basic setup with manifests @@ -3601,7 +3806,7 @@ Guix provides multiple tools to manage environment. This chapter demonstrate such utilities. @menu -* Guix environment via direnv:: Setup Guix environment with direnv +* Guix environment via direnv:: Setup Guix environment with direnv @end menu @node Guix environment via direnv diff --git a/doc/guix.texi b/doc/guix.texi index babc61e560..691d4c5e1d 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -118,6 +118,7 @@ Copyright @copyright{} 2023 Nathaniel Nicandro@* Copyright @copyright{} 2023 Tanguy Le Carrour@* Copyright @copyright{} 2023 Zheng Junjie@* Copyright @copyright{} 2023 Brian Cully@* +Copyright @copyright{} 2023 Felix Lechner@* Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or @@ -5070,6 +5071,23 @@ opens the door to security vulnerabilities. @xref{Invoking guix pull, @option{--allow-downgrades}}. @end quotation +Due to @command{guix time-machine} relying on the ``inferiors'' +mechanism (@pxref{Inferiors}), the oldest commit it can travel to is +commit @samp{6298c3ff} (``v1.0.0''), dated May 1@sup{st}, 2019, which is +the first release that included the inferiors mechanism. An error is +returned when attempting to navigate to older commits. + +@quotation Note +Although it should technically be possible to travel to such an old +commit, the ease to do so will largely depend on the availability of +binary substitutes. When traveling to a distant past, some packages may +not easily build from source anymore. One such example are old versions +of Python 2 which had time bombs in its test suite, in the form of +expiring SSL certificates. This particular problem can be worked around +by setting the hardware clock to a value in the past before attempting +the build. +@end quotation + The general syntax is: @example @@ -14530,6 +14548,26 @@ gnu/packages/guile.scm:147:2: guile: updating from version 2.0.10 to version 2.0 @dots{} @end example +In some specific cases, you may have many packages specified via a +manifest or a module selection which should all be updated together; for +these cases, the @option{--target-version} option can be provided to have +them all refreshed to the same version, as shown in the examples below: + +@example +$ guix refresh qtbase qtdeclarative --target-version=6.5.2 +gnu/packages/qt.scm:1248:13: qtdeclarative would be upgraded from 6.3.2 to 6.5.2 +gnu/packages/qt.scm:584:2: qtbase would be upgraded from 6.3.2 to 6.5.2 +@end example + +@example +$ guix refresh --manifest=qt5-manifest.scm --target-version=5.15.10 +gnu/packages/qt.scm:1173:13: qtxmlpatterns would be upgraded from 5.15.8 to 5.15.10 +gnu/packages/qt.scm:1202:13: qtdeclarative would be upgraded from 5.15.8 to 5.15.10 +gnu/packages/qt.scm:1762:13: qtserialbus would be upgraded from 5.15.8 to 5.15.10 +gnu/packages/qt.scm:2070:13: qtquickcontrols2 would be upgraded from 5.15.8 to 5.15.10 +@dots{} +@end example + Sometimes the upstream name differs from the package name used in Guix, and @command{guix refresh} needs a little help. Most updaters honor the @code{upstream-name} property in package definitions, which can be used @@ -16925,6 +16963,13 @@ Alternatively, the @code{modify-services} macro can be used: (delete avahi-service-type)) @end lisp +@quotation Do not panic +@cindex Scheme programming language, getting started +Intimidated by the Scheme language or curious about it? The Cookbook +has a short section to get started that explains the fundamentals, which +you will find helpful when hacking your configuration. @xref{A Scheme +Crash Course,,, guix-cookbook, GNU Guix Cookbook}. +@end quotation @unnumberedsubsec Instantiating the System @@ -25169,6 +25214,20 @@ There is no need to add this field for contrib extensions such as hstore or dblink as they are already loadable by postgresql. This field is only required to add extensions provided by other packages. +@item @code{create-account?} (default: @code{#t}) +Whether or not the @code{postgres} user and group should be created. + +@item @code{uid} (default: @code{#f}) +Explicitly specify the UID of the @code{postgres} daemon account. +You normally do not need to specify this, in which case a free UID will +be automatically assigned. + +One situation where this option might be useful is if the @var{data-directory} +is located on a mounted network share. + +@item @code{gid} (default: @code{#f}) +Explicitly specify the GID of the @code{postgres} group. + @end table @end deftp @@ -32539,113 +32598,6 @@ network or obtained a DHCP lease from dnsmasq. @end table @end deftp -@subsubheading ddclient Service - -@cindex ddclient -The ddclient service described below runs the ddclient daemon, which takes -care of automatically updating DNS entries for service providers such as -@uref{https://dyn.com/dns/, Dyn}. - -The following example show instantiates the service with its default -configuration: - -@lisp -(service ddclient-service-type) -@end lisp - -Note that ddclient needs to access credentials that are stored in a -@dfn{secret file}, by default @file{/etc/ddclient/secrets} (see -@code{secret-file} below). You are expected to create this file manually, in -an ``out-of-band'' fashion (you @emph{could} make this file part of the -service configuration, for instance by using @code{plain-file}, but it will be -world-readable @i{via} @file{/gnu/store}). See the examples in the -@file{share/ddclient} directory of the @code{ddclient} package. - -@c %start of fragment - -Available @code{ddclient-configuration} fields are: - -@deftypevr {@code{ddclient-configuration} parameter} package ddclient -The ddclient package. - -@end deftypevr - -@deftypevr {@code{ddclient-configuration} parameter} integer daemon -The period after which ddclient will retry to check IP and domain name. - -Defaults to @samp{300}. - -@end deftypevr - -@deftypevr {@code{ddclient-configuration} parameter} boolean syslog -Use syslog for the output. - -Defaults to @samp{#t}. - -@end deftypevr - -@deftypevr {@code{ddclient-configuration} parameter} string mail -Mail to user. - -Defaults to @samp{"root"}. - -@end deftypevr - -@deftypevr {@code{ddclient-configuration} parameter} string mail-failure -Mail failed update to user. - -Defaults to @samp{"root"}. - -@end deftypevr - -@deftypevr {@code{ddclient-configuration} parameter} string pid -The ddclient PID file. - -Defaults to @samp{"/var/run/ddclient/ddclient.pid"}. - -@end deftypevr - -@deftypevr {@code{ddclient-configuration} parameter} boolean ssl -Enable SSL support. - -Defaults to @samp{#t}. - -@end deftypevr - -@deftypevr {@code{ddclient-configuration} parameter} string user -Specifies the user name or ID that is used when running ddclient -program. - -Defaults to @samp{"ddclient"}. - -@end deftypevr - -@deftypevr {@code{ddclient-configuration} parameter} string group -Group of the user who will run the ddclient program. - -Defaults to @samp{"ddclient"}. - -@end deftypevr - -@deftypevr {@code{ddclient-configuration} parameter} string secret-file -Secret file which will be appended to @file{ddclient.conf} file. This -file contains credentials for use by ddclient. You are expected to -create it manually. - -Defaults to @samp{"/etc/ddclient/secrets.conf"}. - -@end deftypevr - -@deftypevr {@code{ddclient-configuration} parameter} list extra-options -Extra options will be appended to @file{ddclient.conf} file. - -Defaults to @samp{'()}. - -@end deftypevr - - -@c %end of fragment - @node VNC Services @subsection VNC Services @cindex VNC (virtual network computing) @@ -38650,6 +38602,94 @@ parameters, can be done as follow: @end lisp @end defvar +@subsubheading Cachefilesd Service + +@cindex cachefilesd +@cindex fscache, file system caching (Linux) +The Cachefilesd service starts a daemon that caches network file system +data locally. It is especially useful for NFS and AFS shares, where it +reduces latencies for repeated access when reading files. + +The daemon can be configured as follows: + +@lisp +(service cachefilesd-service-type + (cachefilesd-configuration + (cache-directory "/var/cache/fscache"))) +@end lisp + +@defvar cachefilesd-service-type +The service type for starting @command{cachefilesd}. The value for this +service type is a @code{cachefilesd-configuration}, whose only required +field is @var{cache-directory}. + +@end defvar + +@c %start of fragment +@deftp {Data Type} cachefilesd-configuration +Available @code{cachefilesd-configuration} fields are: + +@table @asis +@item @code{cachefilesd} (default: @code{cachefilesd}) (type: file-like) +The cachefilesd package to use. + +@item @code{debug-output?} (default: @code{#f}) (type: boolean) +Print debugging output to stderr. + +@item @code{use-syslog?} (default: @code{#t}) (type: boolean) +Log to syslog facility instead of stdout. + +@item @code{scan?} (default: @code{#t}) (type: boolean) +Scan for cachable objects. + +@item @code{cache-directory} (type: maybe-string) +Location of the cache directory. + +@item @code{cache-name} (default: @code{"CacheFiles"}) (type: maybe-string) +Name of cache (keep unique). + +@item @code{security-context} (type: maybe-string) +SELinux security context. + +@item @code{pause-culling-for-block-percentage} (default: @code{7}) (type: maybe-non-negative-integer) +Pause culling when available blocks exceed this percentage. + +@item @code{pause-culling-for-file-percentage} (default: @code{7}) (type: maybe-non-negative-integer) +Pause culling when available files exceed this percentage. + +@item @code{resume-culling-for-block-percentage} (default: @code{5}) (type: maybe-non-negative-integer) +Start culling when available blocks drop below this percentage. + +@item @code{resume-culling-for-file-percentage} (default: @code{5}) (type: maybe-non-negative-integer) +Start culling when available files drop below this percentage. + +@item @code{pause-caching-for-block-percentage} (default: @code{1}) (type: maybe-non-negative-integer) +Pause further allocations when available blocks drop below this +percentage. + +@item @code{pause-caching-for-file-percentage} (default: @code{1}) (type: maybe-non-negative-integer) +Pause further allocations when available files drop below this +percentage. + +@item @code{log2-table-size} (default: @code{12}) (type: maybe-non-negative-integer) +Size of tables holding cullable objects in logarithm of base 2. + +@item @code{cull?} (default: @code{#t}) (type: boolean) +Create free space by culling (consumes system load). + +@item @code{trace-function-entry-in-kernel-module?} (default: @code{#f}) (type: boolean) +Trace function entry in the kernel module (for debugging). + +@item @code{trace-function-exit-in-kernel-module?} (default: @code{#f}) (type: boolean) +Trace function exit in the kernel module (for debugging). + +@item @code{trace-internal-checkpoints-in-kernel-module?} (default: @code{#f}) (type: boolean) +Trace internal checkpoints in the kernel module (for debugging). + +@end table +@end deftp +@c %end of fragment + @cindex rasdaemon @cindex Platform Reliability, Availability and Serviceability daemon @subsubheading Rasdaemon Service @@ -44178,8 +44218,8 @@ font installation path (@file{~/.guix-home/profile/share/fonts}). If you configure this service directly, be sure to include the above directory. -A typical extension for adding an additional font directory and setting -a font as the default monospace font might look like this: +Here's how you'd extend it to include fonts installed with the Nix +package manager, and to prefer your favourite monospace font: @lisp (simple-service 'additional-fonts-service diff --git a/etc/teams.scm.in b/etc/teams.scm.in index 7e3f53b8c9..9481b44168 100644 --- a/etc/teams.scm.in +++ b/etc/teams.scm.in @@ -512,7 +512,7 @@ GLib/GIO, GTK, GStreamer and Webkit." (define-member (person "Ludovic Courtès" "ludo@gnu.org") - core home embedded bootstrap mentors) + core home bootstrap installer mentors) (define-member (person "Andreas Enge" "andreas@enge.fr") @@ -614,11 +614,15 @@ GLib/GIO, GTK, GStreamer and Webkit." "maxim.cournoyer@gmail.com") gnome qt telephony) +(define-member (person "Katherine Cox-Buday" + "cox.katherine.e+guix@gmail.com") + emacs go lisp) + (define (find-team name) (or (hash-ref %teams (string->symbol name)) (error (format #false - "no such team: ~a~%" name)))) + "no such team: ~a~%" name)))) (define (find-team-by-scope files) "Return the team(s) which scope matches at least one of the FILES, as list diff --git a/gnu/local.mk b/gnu/local.mk index 7461cbf07a..9db92577a3 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -588,7 +588,6 @@ GNU_SYSTEM_MODULES = \ %D%/packages/squirrel.scm \ %D%/packages/ssh.scm \ %D%/packages/sssd.scm \ - %D%/packages/stalonetray.scm \ %D%/packages/statistics.scm \ %D%/packages/stb.scm \ %D%/packages/stenography.scm \ @@ -770,6 +769,7 @@ GNU_SYSTEM_MODULES = \ %D%/tests.scm \ %D%/tests/audio.scm \ %D%/tests/base.scm \ + %D%/tests/cachefilesd.scm \ %D%/tests/ci.scm \ %D%/tests/cups.scm \ %D%/tests/databases.scm \ @@ -1056,7 +1056,6 @@ dist_patch_DATA = \ %D%/packages/patches/dbus-c++-gcc-compat.patch \ %D%/packages/patches/dbus-c++-threading-mutex.patch \ %D%/packages/patches/dbxfs-remove-sentry-sdk.patch \ - %D%/packages/patches/ddclient-skip-test.patch \ %D%/packages/patches/debops-constants-for-external-program-names.patch \ %D%/packages/patches/debops-debops-defaults-fall-back-to-less.patch \ %D%/packages/patches/dee-vapi.patch \ @@ -1089,7 +1088,7 @@ dist_patch_DATA = \ %D%/packages/patches/elm-ghc9.2.patch \ %D%/packages/patches/elm-offline-package-registry.patch \ %D%/packages/patches/elm-reactor-static-files.patch \ - %D%/packages/patches/elogind-revert-polkit-detection.patch \ + %D%/packages/patches/elogind-fix-rpath.patch \ %D%/packages/patches/emacs-deferred-fix-number-of-arguments.patch \ %D%/packages/patches/emacs-exec-path.patch \ %D%/packages/patches/emacs-ess-fix-obsolete-function-alias.patch \ @@ -1137,6 +1136,7 @@ dist_patch_DATA = \ %D%/packages/patches/fasthenry-spSolve.patch \ %D%/packages/patches/fasthenry-spFactor.patch \ %D%/packages/patches/fbreader-curl-7.62.patch \ + %D%/packages/patches/fbreader-fix-icon.patch \ %D%/packages/patches/fenics-dolfin-algorithm.patch \ %D%/packages/patches/fenics-dolfin-demo-init.patch \ %D%/packages/patches/fenics-dolfin-boost.patch \ @@ -1373,6 +1373,7 @@ dist_patch_DATA = \ %D%/packages/patches/hdf-eos5-fortrantests.patch \ %D%/packages/patches/heimdal-CVE-2022-45142.patch \ %D%/packages/patches/helm-fix-gcc-9-build.patch \ + %D%/packages/patches/highlight-gui-data-dir.patch \ %D%/packages/patches/http-parser-CVE-2020-8287.patch \ %D%/packages/patches/htslib-for-stringtie.patch \ %D%/packages/patches/hubbub-sort-entities.patch \ @@ -1588,14 +1589,13 @@ dist_patch_DATA = \ %D%/packages/patches/maxima-defsystem-mkdir.patch \ %D%/packages/patches/maven-generate-component-xml.patch \ %D%/packages/patches/maven-generate-javax-inject-named.patch \ - %D%/packages/patches/mcrl2-fix-1687.patch \ - %D%/packages/patches/mcrl2-fix-counterexample.patch \ %D%/packages/patches/mcrypt-CVE-2012-4409.patch \ %D%/packages/patches/mcrypt-CVE-2012-4426.patch \ %D%/packages/patches/mcrypt-CVE-2012-4527.patch \ %D%/packages/patches/libmemcached-build-with-gcc7.patch \ %D%/packages/patches/libmhash-hmac-fix-uaf.patch \ %D%/packages/patches/libsigrokdecode-python3.9-fix.patch \ + %D%/packages/patches/maturin-no-cross-compile.patch \ %D%/packages/patches/mecab-variable-param.patch \ %D%/packages/patches/memtest86+-build-reproducibly.patch \ %D%/packages/patches/mercurial-hg-extension-path.patch \ @@ -1684,7 +1684,6 @@ dist_patch_DATA = \ %D%/packages/patches/openjdk-15-xcursor-no-dynamic.patch \ %D%/packages/patches/openmpi-mtl-priorities.patch \ %D%/packages/patches/openmw-assume-nonconst-SIGSTKSZ.patch \ - %D%/packages/patches/openssh-hurd.patch \ %D%/packages/patches/openssh-trust-guix-store-directory.patch \ %D%/packages/patches/openresolv-restartcmd-guix.patch \ %D%/packages/patches/openrgb-unbundle-hueplusplus.patch \ @@ -1779,6 +1778,7 @@ dist_patch_DATA = \ %D%/packages/patches/plib-CVE-2011-4620.patch \ %D%/packages/patches/plib-CVE-2012-4552.patch \ %D%/packages/patches/plotutils-spline-test.patch \ + %D%/packages/patches/po4a-partial-texinfo-menu-fix.patch \ %D%/packages/patches/polkit-disable-systemd.patch \ %D%/packages/patches/portaudio-audacity-compat.patch \ %D%/packages/patches/portmidi-modular-build.patch \ @@ -1913,12 +1913,13 @@ dist_patch_DATA = \ %D%/packages/patches/ruby-mustache-1.1.1-fix-race-condition-tests.patch \ %D%/packages/patches/rustc-1.54.0-src.patch \ %D%/packages/patches/rust-1.64-fix-riscv64-bootstrap.patch \ + %D%/packages/patches/rust-ring-0.16-missing-files.patch \ + %D%/packages/patches/rust-ring-0.16-test-files.patch \ %D%/packages/patches/i3status-rust-enable-unstable-features.patch \ %D%/packages/patches/rust-ndarray-remove-blas-src-dep.patch \ %D%/packages/patches/rust-ndarray-0.13-remove-blas-src.patch \ %D%/packages/patches/rust-ndarray-0.14-remove-blas-src.patch \ %D%/packages/patches/rust-nettle-disable-vendor.patch \ - %D%/packages/patches/rust-nettle-sys-disable-vendor.patch \ %D%/packages/patches/rust-openssl-sys-no-vendor.patch \ %D%/packages/patches/rust-webbrowser-remove-unsupported-os.patch \ %D%/packages/patches/rust-wl-clipboard-rs-newer-wl.patch \ diff --git a/gnu/packages/accessibility.scm b/gnu/packages/accessibility.scm index e0a362ae4a..0b5fb79f13 100644 --- a/gnu/packages/accessibility.scm +++ b/gnu/packages/accessibility.scm @@ -3,7 +3,7 @@ ;;; Copyright © 2017 Stefan Reichör <stefan@xsteve.at> ;;; Copyright © 2018, 2021, 2022 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2019 Andrew Miloradovsky <andrew@interpretmath.pw> -;;; Copyright © 2020 Efraim Flashner <efraim@flashner.co.il> +;;; Copyright © 2020, 2023 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2022 Hunter Jozwiak <hunter.t.joz@gmail.com> ;;; Copyright © 2023 Ivan Gankevich <igankevich@capybaramail.xyz> ;;; @@ -212,7 +212,7 @@ incorporated.") (inputs (list libxml2 libglade - librsvg + (librsvg-for-system) gstreamer cairo gtk+ diff --git a/gnu/packages/admin.scm b/gnu/packages/admin.scm index 33f9b703a7..e96c14977c 100644 --- a/gnu/packages/admin.scm +++ b/gnu/packages/admin.scm @@ -55,7 +55,7 @@ ;;; Copyright © 2022 ( <paren@disroot.org> ;;; Copyright © 2022, 2023 Matthew James Kraai <kraai@ftbfs.org> ;;; Copyright © 2022 jgart <jgart@dismail.de> -;;; Copyright © 2023 Juliana Sims <jtsims@protonmail.com> +;;; Copyright © 2023 Juliana Sims <juli@incana.org> ;;; Copyright © 2023 Lu Hui <luhux76@gmail.com> ;;; Copyright © 2023 Yovan Naumovski <yovan@gorski.stream> ;;; Copyright © 2023 Alexey Abramov <levenson@mmer.org> @@ -4025,6 +4025,11 @@ you are running, what theme or icon set you are using, etc.") (delete 'configure) (add-before 'build 'patch-source-paths (lambda _ + (substitute* "fetch.c" + (("grep") + #$(file-append grep "/bin/grep")) + (("awk") + #$(file-append gawk "/bin/awk"))) (substitute* "uwufetch.c" (("(/usr(/local)?)(.*;)" all _ _ rest) (string-append #$output rest))))) @@ -4033,6 +4038,8 @@ you are running, what theme or icon set you are using, etc.") (lambda _ (mkdir-p (string-append #$output "/include"))))))) (inputs (list lshw + gawk + grep ;; viu XXX not yet packaged in Guix xwininfo)) (home-page "https://github.com/TheDarkBug/uwufetch") diff --git a/gnu/packages/audio.scm b/gnu/packages/audio.scm index 8c15189b2b..5b24197fe2 100644 --- a/gnu/packages/audio.scm +++ b/gnu/packages/audio.scm @@ -37,7 +37,7 @@ ;;; Copyright © 2021 jgart <jgart@dismail.de> ;;; Copyright © 2021 Aleksandr Vityazev <avityazev@posteo.org> ;;; Copyright © 2022 Arjan Adriaanse <arjan@adriaan.se> -;;; Copyright © 2022, 2023 Juliana Sims <jtsims@protonmail.com> +;;; Copyright © 2022, 2023 Juliana Sims <juli@incana.org> ;;; Copyright © 2022 Simon Streit <simon@netpanic.org> ;;; Copyright © 2022 Andy Tai <atai@atai.org> ;;; Copyright © 2023 Sergiu Ivanov <sivanov@colimite.fr> @@ -5936,14 +5936,14 @@ while still staying in time.") (define-public butt (package (name "butt") - (version "0.1.34") + (version "0.1.38") (source (origin (method url-fetch) (uri (string-append "mirror://sourceforge/butt/butt/butt-" version "/butt-" version ".tar.gz")) (sha256 (base32 - "0zd1g1673pv8z437y34fllxska8dzpd7mygpham35pzwpdyc5c1p")) + "10i3xpxzccdl4pidiyymw9cfavhy50yhn7xi5bd77y91f2903kp9")) (modules '((guix build utils))) (snippet '(substitute* "src/butt.cpp" @@ -5966,9 +5966,10 @@ while still staying in time.") (uri (string-append "https://danielnoethen.de/butt/butt-" version "_manual.pdf")) (sha256 - (base32 "0kadqzzbk25n0aqxgbqhg4mq4hsbjq44phzcx5qj1b8847yzz8si")))))) + (base32 "04aixxqshfj11ja3ifh0zvywl2mqzmymppcd0xj8sv0j7whjibaq")))))) (inputs - (list dbus + (list curl + dbus flac fltk lame @@ -6253,7 +6254,7 @@ and DSD streams.") (define-public qpwgraph (package (name "qpwgraph") - (version "0.4.5") + (version "0.5.2") (source (origin (method git-fetch) (uri (git-reference @@ -6262,7 +6263,7 @@ and DSD streams.") (file-name (git-file-name name version)) (sha256 (base32 - "06pgkma0i9dbir74cfhgnnkqjcq8z496by4lk1whqcj7j9ldbi2l")))) + "186c3s56py8xjasbp4380m9sqdba9mf7mppqz8hkli1nhbspbix9")))) (build-system cmake-build-system) (arguments (list #:tests? #f)) ;; no tests (inputs (list alsa-lib diff --git a/gnu/packages/backup.scm b/gnu/packages/backup.scm index d484c34826..6961d9358c 100644 --- a/gnu/packages/backup.scm +++ b/gnu/packages/backup.scm @@ -1401,14 +1401,14 @@ archives.") (define-public grsync (package (name "grsync") - (version "1.3.0") + (version "1.3.1") (source (origin (method url-fetch) (uri (string-append "http://www.opbyte.it/release/" "grsync-" version ".tar.gz")) (sha256 (base32 - "1z1m782b50x348kgynzf753apy8yszkl31y32y1jsc055skcdixp")))) + "1ly6ng211wj9sc0la73jsz2lviwd7b4a7bhw16kmnbm6v8jhxk1k")))) (build-system gnu-build-system) (native-inputs (list intltool pkg-config)) (inputs (list gtk+)) diff --git a/gnu/packages/build-tools.scm b/gnu/packages/build-tools.scm index a365cca849..c4cb7c2ff7 100644 --- a/gnu/packages/build-tools.scm +++ b/gnu/packages/build-tools.scm @@ -14,7 +14,7 @@ ;;; Copyright © 2020, 2023 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2021 qblade <qblade@protonmail.com> ;;; Copyright © 2021, 2023 Maxim Cournoyer <maxim.cournoyer@gmail.com> -;;; Copyright © 2022, 2023 Juliana Sims <jtsims@protonmail.com> +;;; Copyright © 2022, 2023 Juliana Sims <juli@incana.org> ;;; ;;; This file is part of GNU Guix. ;;; diff --git a/gnu/packages/ci.scm b/gnu/packages/ci.scm index 00be723eec..25566bc0fa 100644 --- a/gnu/packages/ci.scm +++ b/gnu/packages/ci.scm @@ -58,8 +58,8 @@ #:use-module ((guix search-paths) #:select ($SSL_CERT_DIR))) (define-public cuirass - (let ((commit "b82596778bf653a572b5fcd483388226b29b96f3") - (revision "16")) + (let ((commit "7416bb916315730cd1ea74e7914f7532a1aba193") + (revision "17")) (package (name "cuirass") (version (git-version "1.1.0" revision commit)) @@ -72,7 +72,7 @@ (file-name (git-file-name name version)) (sha256 (base32 - "1246cs3bmpkp8jis0xxasmrpq622p1ds3s0payrv5bxng9j6dbfp")))) + "1wc39c7aqva5sp3gpdxq2kqa17ywy21yn5w8r66qgxjinvj21a68")))) (build-system gnu-build-system) (arguments `(#:modules ((guix build utils) diff --git a/gnu/packages/conky.scm b/gnu/packages/conky.scm index afc6374554..54b525a04e 100644 --- a/gnu/packages/conky.scm +++ b/gnu/packages/conky.scm @@ -40,7 +40,7 @@ (package (name "conky") (home-page "https://github.com/brndnmtthws/conky") - (version "1.19.2") + (version "1.19.3") (source (origin (method git-fetch) @@ -49,7 +49,7 @@ (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "196wqr477fch1152cqmf11ckwrgkk2wmhl56ms6jk19hfs83d980")))) + (base32 "079s6icvcrryhj71qya4rnyc6pdjq488l0gjqrrblycgzppn1pas")))) (build-system cmake-build-system) (arguments `(#:configure-flags diff --git a/gnu/packages/cpp.scm b/gnu/packages/cpp.scm index 1a71c86c3c..3a439c314e 100644 --- a/gnu/packages/cpp.scm +++ b/gnu/packages/cpp.scm @@ -783,7 +783,7 @@ lock-free fixed size queue written in C++11.") (define-public gperftools (package (name "gperftools") - (version "2.10") + (version "2.11") (source (origin (method git-fetch) @@ -791,7 +791,7 @@ lock-free fixed size queue written in C++11.") (url "https://github.com/gperftools/gperftools") (commit (string-append "gperftools-" version)))) (sha256 - (base32 "0s9qhx940s8q6glc8sw74k5gs8hdhjfigq20zci92qawgm7zsicm")) + (base32 "1mwsa4y696m8zjya0k7xzr9vsgb24dq4aq13m21hb5ygy7nh47id")) (file-name (git-file-name name version)))) (build-system gnu-build-system) (arguments diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index b16d4ab3a9..223d1d3a3d 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -19,7 +19,7 @@ ;;; Copyright © 2019 Nicolò Balzarotti <anothersms@gmail.com> ;;; Copyright © 2019, 2020, 2021, 2022 Wiktor Żelazny <wzelazny@vurv.cz> ;;; Copyright © 2019 Arne Babenhauserheide <arne_bab@web.de> -;;; Copyright © 2019, 2020 Efraim Flashner <efraim@flashner.co.il> +;;; Copyright © 2019, 2020, 2023 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2020 Todor Kondić <tk.code@protonmail.com> ;;; Copyright © 2020 Danjela Lura <danielaluraa@gmail.com> ;;; Copyright © 2020 Naga Malleswari <nagamalli@riseup.net> @@ -29400,7 +29400,7 @@ automatically show a loader when the output is (re)calculating.") (properties `((upstream-name . "rsvg"))) (build-system r-build-system) (inputs - (list librsvg zlib)) + (list (librsvg-for-system) zlib)) (native-inputs (list pkg-config r-knitr)) (home-page "https://github.com/jeroen/rsvg#readme") diff --git a/gnu/packages/crates-gtk.scm b/gnu/packages/crates-gtk.scm index 7512002751..1bd61d7f19 100644 --- a/gnu/packages/crates-gtk.scm +++ b/gnu/packages/crates-gtk.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2020, 2021 Efraim Flashner <efraim@flashner.co.il> +;;; Copyright © 2020, 2021, 2023 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2020, 2021 Nicolas Goaziou <mail@nicolasgoaziou.fr> ;;; Copyright © 2022 Petr Hodina <phodina@protonmail.com> ;;; Copyright © 2022 Aleksandr Vityazev <avityazev@posteo.org> @@ -902,8 +902,52 @@ ("rust-serial-test" ,rust-serial-test-0.1) ("rust-serial-test-derive" ,rust-serial-test-derive-0.1)))))) +(define-public rust-gio-sys-0.17 + (package + (name "rust-gio-sys") + (version "0.17.10") + (source (origin + (method url-fetch) + (uri (crate-uri "gio-sys" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1hr84vgpz1hbs9q7wgvpnwhbxwh9kim0z5aqv6v6ki0j1b1qgkqc")))) + (build-system cargo-build-system) + (arguments + `(;; XXX: Tests are sensitive to the version of glib, even though + ;; the library supports a wide range. Skip for now. + #:tests? #f + #:cargo-inputs + (("rust-glib-sys" ,rust-glib-sys-0.17) + ("rust-gobject-sys" ,rust-gobject-sys-0.17) + ("rust-libc" ,rust-libc-0.2) + ("rust-system-deps" ,rust-system-deps-6) + ("rust-winapi" ,rust-winapi-0.3)) + #:cargo-development-inputs + (("rust-shell-words" ,rust-shell-words-1) + ("rust-tempfile" ,rust-tempfile-3)) + #:phases (modify-phases %standard-phases + (add-before 'check 'extend-include-path + (lambda* (#:key inputs #:allow-other-keys) + (let ((gio-headers (search-input-directory + inputs "include/gio-unix-2.0"))) + ;; Tests rely on these headers. + (setenv "C_INCLUDE_PATH" + (string-append gio-headers ":" + (getenv "C_INCLUDE_PATH"))))))))) + (native-inputs + (list pkg-config)) + (inputs + (list glib)) + (home-page "https://gtk-rs.org/") + (synopsis "FFI bindings to libgio-2.0") + (description "This package provides FFI bindings to libgio-2.0.") + (license license:expat))) + (define-public rust-gio-sys-0.15 (package + (inherit rust-gio-sys-0.17) (name "rust-gio-sys") (version "0.15.10") (source @@ -913,7 +957,6 @@ (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 "13fgmc2xdzg9qk9l3nlp1bilwn6466mrqbiq4fhc9qkia93pl59j")))) - (build-system cargo-build-system) (arguments `(;; FIXME: some GLib macros are not found #:tests? #f @@ -934,15 +977,7 @@ ;; Tests rely on these headers. (setenv "C_INCLUDE_PATH" (string-append gio-headers ":" - (getenv "C_INCLUDE_PATH"))))))))) - (native-inputs - (list pkg-config)) - (inputs - (list glib)) - (home-page "https://gtk-rs.org/") - (synopsis "FFI bindings to libgio-2.0") - (description "This package provides FFI bindings to libgio-2.0.") - (license license:expat))) + (getenv "C_INCLUDE_PATH"))))))))))) (define-public rust-gio-sys-0.14 (package @@ -1030,8 +1065,56 @@ (description "File format checker in Rust.") (license license:expat))) +(define-public rust-glib-0.17 + (package + (name "rust-glib") + (version "0.17.10") + (source (origin + (method url-fetch) + (uri (crate-uri "glib" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0jqlipn9zixj8fpqlg45v0f06j2ghdz72cml2akcxlnlm1dx9ynk")))) + (build-system cargo-build-system) + (arguments + `(;; XXX: Tests are sensitive to the version of glib, even though + ;; the library supports a wide range. Skip for now. + #:tests? #f + #:cargo-inputs + (("rust-bitflags" ,rust-bitflags-1) + ("rust-futures-channel" ,rust-futures-channel-0.3) + ("rust-futures-core" ,rust-futures-core-0.3) + ("rust-futures-executor" ,rust-futures-executor-0.3) + ("rust-futures-task" ,rust-futures-task-0.3) + ("rust-futures-util" ,rust-futures-util-0.3) + ("rust-gio-sys" ,rust-gio-sys-0.17) + ("rust-glib-macros" ,rust-glib-macros-0.17) + ("rust-glib-sys" ,rust-glib-sys-0.17) + ("rust-gobject-sys" ,rust-gobject-sys-0.17) + ("rust-libc" ,rust-libc-0.2) + ("rust-log" ,rust-log-0.4) + ("rust-memchr" ,rust-memchr-2) + ("rust-once-cell" ,rust-once-cell-1) + ("rust-smallvec" ,rust-smallvec-1) + ("rust-thiserror" ,rust-thiserror-1)) + #:cargo-development-inputs + (("rust-criterion" ,rust-criterion-0.4) + ("rust-gir-format-check" ,rust-gir-format-check-0.1) + ("rust-tempfile" ,rust-tempfile-3) + ("rust-trybuild2" ,rust-trybuild2-1)))) + (native-inputs + (list pkg-config)) + (inputs + (list glib)) + (home-page "https://gtk-rs.org/") + (synopsis "Rust bindings for the GLib library") + (description "Rust bindings for the GLib library") + (license license:expat))) + (define-public rust-glib-0.15 (package + (inherit rust-glib-0.17) (name "rust-glib") (version "0.15.12") (source @@ -1041,7 +1124,6 @@ (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 "0pahikbwxr3vafdrr5l2hnlhkf9xi4illryan0l59ayhp9pk1c7d")))) - (build-system cargo-build-system) (arguments `(;; FIXME: error[E0277]: `Errors` doesn't implement `std::fmt::Display` #:tests? #f @@ -1062,15 +1144,7 @@ #:cargo-development-inputs (("rust-futures-util" ,rust-futures-util-0.3) ("rust-gir-format-check" ,rust-gir-format-check-0.1) - ("rust-tempfile" ,rust-tempfile-3)))) - (native-inputs - (list pkg-config)) - (inputs - (list glib)) - (home-page "https://gtk-rs.org/") - (synopsis "Rust bindings for the GLib library") - (description "Rust bindings for the GLib library") - (license license:expat))) + ("rust-tempfile" ,rust-tempfile-3)))))) (define-public rust-glib-0.14 (package @@ -1160,8 +1234,43 @@ #:cargo-development-inputs (("rust-tempfile" ,rust-tempfile-3)))))) +(define-public rust-glib-macros-0.17 + (package + (name "rust-glib-macros") + (version "0.17.10") + (source (origin + (method url-fetch) + (uri (crate-uri "glib-macros" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "09nyh22nryip4i22mdrixzl4q0r5h5lxcn40mgqr30rk6y9wg9gc")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-anyhow" ,rust-anyhow-1) + ("rust-heck" ,rust-heck-0.4) + ("rust-proc-macro-crate" ,rust-proc-macro-crate-1) + ("rust-proc-macro-error" ,rust-proc-macro-error-1) + ("rust-proc-macro2" ,rust-proc-macro2-1) + ("rust-quote" ,rust-quote-1) + ("rust-syn" ,rust-syn-1)) + #:cargo-development-inputs + (("rust-glib" ,rust-glib-0.17) + ("rust-once-cell" ,rust-once-cell-1) + ("rust-trybuild2" ,rust-trybuild2-1)))) + (native-inputs + (list pkg-config)) + (inputs + (list glib)) + (home-page "https://gtk-rs.org/") + (synopsis "Rust bindings for the GLib library, proc macros crate") + (description "Rust bindings for the GLib library, proc macros crate.") + (license license:expat))) + (define-public rust-glib-macros-0.15 (package + (inherit rust-glib-macros-0.17) (name "rust-glib-macros") (version "0.15.11") (source @@ -1171,7 +1280,6 @@ (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 "0r3cr0c79rs91z0sps089nsf8ppnm8agp48qwwqlkc32lqqq39i5")))) - (build-system cargo-build-system) (arguments `(;; XXX: Circular dependency on rust-glib?? #:tests? #f @@ -1182,11 +1290,7 @@ ("rust-proc-macro-error" ,rust-proc-macro-error-1) ("rust-proc-macro2" ,rust-proc-macro2-1) ("rust-quote" ,rust-quote-1) - ("rust-syn" ,rust-syn-1)))) - (home-page "https://gtk-rs.org/") - (synopsis "Rust bindings for the GLib library, proc macros crate") - (description "Rust bindings for the GLib library, proc macros crate.") - (license license:expat))) + ("rust-syn" ,rust-syn-1)))))) (define-public rust-glib-macros-0.14 (package @@ -1237,17 +1341,17 @@ ("rust-quote" ,rust-quote-1) ("rust-syn" ,rust-syn-1)))))) -(define-public rust-glib-sys-0.15 +(define-public rust-glib-sys-0.17 (package (name "rust-glib-sys") - (version "0.15.10") + (version "0.17.10") (source (origin (method url-fetch) (uri (crate-uri "glib-sys" version)) (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "1m5sqm69fdk8vaw6hggyizhs1r1vivx73splrdvczsb5iqpijjzg")))) + "1w64ppa12s9ky6gfdaqhq9w30ad6hskll812jb3sl2xsggmac2nq")))) (build-system cargo-build-system) (arguments `(;; XXX: Tests are sensitive to the version of glib, even though @@ -1268,6 +1372,29 @@ (description "This package provides FFI bindings to libglib-2.0.") (license license:expat))) +(define-public rust-glib-sys-0.15 + (package + (inherit rust-glib-sys-0.17) + (name "rust-glib-sys") + (version "0.15.10") + (source (origin + (method url-fetch) + (uri (crate-uri "glib-sys" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1m5sqm69fdk8vaw6hggyizhs1r1vivx73splrdvczsb5iqpijjzg")))) + (arguments + `(;; XXX: Tests are sensitive to the version of glib, even though + ;; the library supports a wide range. Skip for now. + #:tests? #f + #:cargo-inputs + (("rust-libc" ,rust-libc-0.2) + ("rust-system-deps" ,rust-system-deps-6)) + #:cargo-development-inputs + (("rust-shell-words" ,rust-shell-words-1) + ("rust-tempfile" ,rust-tempfile-3)))))) + (define-public rust-glib-sys-0.14 (package (inherit rust-glib-sys-0.15) @@ -1335,8 +1462,41 @@ (("rust-shell-words" ,rust-shell-words-0.1) ("rust-tempfile" ,rust-tempfile-3)))))) +(define-public rust-gobject-sys-0.17 + (package + (name "rust-gobject-sys") + (version "0.17.10") + (source (origin + (method url-fetch) + (uri (crate-uri "gobject-sys" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0ql0pcab6dxjapiglxcjaavbbh1sznyc2wj5q273b9j0fwqw6d6d")))) + (build-system cargo-build-system) + (arguments + `(;; XXX: Tests are sensitive to the version of glib, even though + ;; the library supports a wide range. Skip for now. + #:tests? #f + #:cargo-inputs + (("rust-glib-sys" ,rust-glib-sys-0.17) + ("rust-libc" ,rust-libc-0.2) + ("rust-system-deps" ,rust-system-deps-6)) + #:cargo-development-inputs + (("rust-shell-words" ,rust-shell-words-1) + ("rust-tempfile" ,rust-tempfile-3)))) + (native-inputs + (list pkg-config)) + (inputs + (list glib)) + (home-page "https://gtk-rs.org/") + (synopsis "FFI bindings to libgobject-2.0") + (description "This package provides FFI bindings to libgobject-2.0.") + (license license:expat))) + (define-public rust-gobject-sys-0.15 (package + (inherit rust-gobject-sys-0.17) (name "rust-gobject-sys") (version "0.15.10") (source @@ -1346,7 +1506,6 @@ (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 "02hyilvpi4hw4gr03z2plsbf1zicsfs5l0xxadqx3v3b4i2cwmqd")))) - (build-system cargo-build-system) (arguments `(;; FIXME: Constant value mismatch for G_TYPE_FUNDAMENTAL_MAX ;; Rust: "255" @@ -1358,15 +1517,7 @@ ("rust-system-deps" ,rust-system-deps-6)) #:cargo-development-inputs (("rust-shell-words" ,rust-shell-words-1) - ("rust-tempfile" ,rust-tempfile-3)))) - (native-inputs - (list pkg-config)) - (inputs - (list glib)) - (home-page "https://gtk-rs.org/") - (synopsis "FFI bindings to libgobject-2.0") - (description "This package provides FFI bindings to libgobject-2.0.") - (license license:expat))) + ("rust-tempfile" ,rust-tempfile-3)))))) (define-public rust-gobject-sys-0.14 (package diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm index f9574e2797..77a41a5116 100644 --- a/gnu/packages/crates-io.scm +++ b/gnu/packages/crates-io.scm @@ -1661,8 +1661,100 @@ deadlock, like the standard Barrier).") syntax (e.g. EasyList, EasyPrivacy) filter parsing and matching.") (license license:mpl2.0))) +(define-public rust-adblock-0.5 + (package + (inherit rust-adblock-0.7) + (name "rust-adblock") + (version "0.5.8") + (source (origin + (method url-fetch) + (uri (crate-uri "adblock" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1qgjcrm7vqxq5ispdj95ql7payy5d5rj0zfwba4b076xxvw1q4yq")))) + (arguments + `(#:cargo-test-flags + (list "--release" "--" + ;; Not all files included + "--skip=check_works_same_after_deserialization" + "--skip=check_matching_equivalent" + "--skip=check_matching_hostnames" + ;; Skip tests which require the network. + "--skip=check_live_from_filterlists" + "--skip=check_live_specific_urls" + "--skip=stable_serialization" + "--skip=stable_serialization_through_load") + #:cargo-inputs + (("rust-addr" ,rust-addr-0.14) + ("rust-base64" ,rust-base64-0.13) + ("rust-bitflags" ,rust-bitflags-1) + ("rust-cssparser" ,rust-cssparser-0.28) + ("rust-flate2" ,rust-flate2-1) + ("rust-idna" ,rust-idna-0.2) + ("rust-itertools" ,rust-itertools-0.10) + ("rust-lifeguard" ,rust-lifeguard-0.6) + ("rust-once-cell" ,rust-once-cell-1) + ("rust-percent-encoding" ,rust-percent-encoding-2) + ("rust-regex" ,rust-regex-1) + ("rust-rmp-serde" ,rust-rmp-serde-0.13) + ("rust-rmp-serde" ,rust-rmp-serde-0.15) + ("rust-seahash" ,rust-seahash-3) + ("rust-selectors" ,rust-selectors-0.23) + ("rust-serde" ,rust-serde-1) + ("rust-serde-json" ,rust-serde-json-1) + ("rust-twoway" ,rust-twoway-0.2) + ("rust-url" ,rust-url-2)) + #:cargo-development-inputs + (("rust-criterion" ,rust-criterion-0.3) + ("rust-csv" ,rust-csv-1) + ("rust-futures" ,rust-futures-0.3) + ("rust-reqwest" ,rust-reqwest-0.11) + ("rust-serde-json" ,rust-serde-json-1) + ("rust-sha2" ,rust-sha2-0.9) + ("rust-tokio" ,rust-tokio-1)))))) + +(define-public rust-addr2line-0.19 + (package + (name "rust-addr2line") + (version "0.19.0") + (source (origin + (method url-fetch) + (uri (crate-uri "addr2line" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "15ywmr5wx22q69ffnn79qp65ir5p1x0k2q06plcpv6v74c5xcvx7")))) + (build-system cargo-build-system) + (arguments + `(#:tests? #f ; use of undeclared crate or module `auxiliary` + #:cargo-inputs + (("rust-compiler-builtins" ,rust-compiler-builtins-0.1) + ("rust-cpp-demangle" ,rust-cpp-demangle-0.4) + ("rust-fallible-iterator" ,rust-fallible-iterator-0.2) + ("rust-gimli" ,rust-gimli-0.27) + ("rust-object" ,rust-object-0.30) + ("rust-rustc-demangle" ,rust-rustc-demangle-0.1) + ("rust-rustc-std-workspace-alloc" ,rust-rustc-std-workspace-alloc-1) + ("rust-rustc-std-workspace-core" ,rust-rustc-std-workspace-core-1) + ("rust-smallvec" ,rust-smallvec-1)) + #:cargo-development-inputs + (("rust-backtrace" ,rust-backtrace-0.3) + ("rust-clap" ,rust-clap-3) + ("rust-findshlibs" ,rust-findshlibs-0.10) + ("rust-memmap2" ,rust-memmap2-0.5) + ("rust-rustc-test" ,rust-rustc-test-0.3) + ("rust-typed-arena" ,rust-typed-arena-2)))) + (home-page "https://github.com/gimli-rs/addr2line") + (synopsis "Symbolication library written in Rust, using gimli") + (description + "This package provides a cross-platform symbolication library written in +Rust, using gimli.") + (license (list license:asl2.0 license:expat)))) + (define-public rust-addr2line-0.17 (package + (inherit rust-addr2line-0.19) (name "rust-addr2line") (version "0.17.0") (source (origin @@ -1672,7 +1764,6 @@ syntax (e.g. EasyList, EasyPrivacy) filter parsing and matching.") (sha256 (base32 "0sw16zqy6w0ar633z69m7lw6gb0k1y7xj3387a8wly43ij5div5r")))) - (build-system cargo-build-system) (arguments `(#:tests? #false ;use of undeclared crate or module `auxiliary` #:cargo-inputs @@ -1691,13 +1782,29 @@ syntax (e.g. EasyList, EasyPrivacy) filter parsing and matching.") ("rust-findshlibs" ,rust-findshlibs-0.10) ("rust-memmap" ,rust-memmap-0.7) ("rust-rustc-test" ,rust-rustc-test-0.3) - ("rust-typed-arena" ,rust-typed-arena-2)))) - (home-page "https://github.com/gimli-rs/addr2line") - (synopsis "Symbolication library written in Rust, using gimli") - (description - "This package provides a cross-platform symbolication library written in -Rust, using gimli.") - (license (list license:asl2.0 license:expat)))) + ("rust-typed-arena" ,rust-typed-arena-2)))))) + +(define-public rust-addchain-0.2 + (package + (name "rust-addchain") + (version "0.2.0") + (source (origin + (method url-fetch) + (uri (crate-uri "addchain" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0w45hpybsx9gzhlxf6x9451kycg8xwj3x8qzjnk8wqm55926jbiv")))) + (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)))) + (home-page "https://github.com/str4d/addchain") + (synopsis "Generate addition chains") + (description "Generate addition chains") + (license (list license:expat license:asl2.0)))) (define-public rust-addr-0.14 (package @@ -1998,32 +2105,6 @@ ciphers implementations.") ("rust-aesni" ,rust-aesni-0.6) ("rust-block-cipher-trait" ,rust-block-cipher-trait-0.6)))))) -(define-public rust-aes-ctr-0.6 - (package - (name "rust-aes-ctr") - (version "0.6.0") - (source - (origin - (method url-fetch) - (uri (crate-uri "aes-ctr" version)) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 "0qspjxzrclnb83501595y01dhc0km1ssrbjnwlxhcrsdwp6w6abp")))) - (build-system cargo-build-system) - (arguments - `(#:cargo-inputs - (("rust-aes-soft" ,rust-aes-soft-0.6) - ("rust-aesni" ,rust-aesni-0.10) - ("rust-cipher" ,rust-cipher-0.2) - ("rust-ctr", rust-ctr-0.6)) - #:cargo-development-inputs - (("rust-cipher" ,rust-cipher-0.2)))) - (home-page "https://github.com/RustCrypto/block-ciphers/tree/master/aes") - (synopsis "Pure Rust implementation of AES") - (description "A pure Rust implementation of the Advanced Encryption Standard -(AES). Use the aes crate if possible, as the aes-ctr has been deprecated.") - (license (list license:expat license:asl2.0)))) - (define-public rust-aes-gcm-0.10 (package (name "rust-aes-gcm") @@ -2263,8 +2344,43 @@ This package is deprecated and was replaced by the @code{aes} crate.") ("rust-opaque-debug" ,rust-opaque-debug-0.2) ("rust-stream-cipher" ,rust-stream-cipher-0.3)))))) +(define-public rust-afl-0.12 + (package + (name "rust-afl") + (version "0.12.17") + (source (origin + (method url-fetch) + (uri (crate-uri "afl" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "05f7wrz15h97b6xqa914syiv6ij849ndgyb5iwmgwkv26qpjzhzn")))) + (build-system cargo-build-system) + (arguments + `(#:skip-build? #t ; We don't want to add AFL as an input. + #:cargo-inputs + (("rust-clap" ,rust-clap-4) + ("rust-fs-extra" ,rust-fs-extra-1) + ("rust-home" ,rust-home-0.5) + ("rust-lazy-static" ,rust-lazy-static-1) + ("rust-libc" ,rust-libc-0.2) + ("rust-rustc-version" ,rust-rustc-version-0.4) + ("rust-tempfile" ,rust-tempfile-3) + ("rust-xdg" ,rust-xdg-2)) + #:cargo-development-inputs + (("rust-arbitrary" ,rust-arbitrary-1) + ("rust-assert-cmd" ,rust-assert-cmd-2) + ("rust-tempfile" ,rust-tempfile-3)))) + (home-page "https://github.com/rust-fuzz/afl.rs") + (synopsis + "Fuzzing Rust code with american-fuzzy-lop") + (description + "Fuzz Rust code with american-fuzzy-lop.") + (license license:asl2.0))) + (define-public rust-afl-0.8 (package + (inherit rust-afl-0.12) (name "rust-afl") (version "0.8.0") (source @@ -2276,7 +2392,6 @@ This package is deprecated and was replaced by the @code{aes} crate.") (sha256 (base32 "1rw11hycfjhqbc7z1smn75m0sczq519msjwimxh7b8s6n4pzk5r7")))) - (build-system cargo-build-system) (arguments `(#:skip-build? #t #:cargo-inputs @@ -2288,13 +2403,7 @@ This package is deprecated and was replaced by the @code{aes} crate.") ("rust-xdg" ,rust-xdg-2)) #:cargo-development-inputs (("rust-rustc-version" ,rust-rustc-version-0.2) - ("rust-xdg" ,rust-xdg-2)))) - (home-page "https://github.com/rust-fuzz/afl.rs") - (synopsis - "Fuzzing Rust code with american-fuzzy-lop") - (description - "Fuzz Rust code with american-fuzzy-lop.") - (license license:asl2.0))) + ("rust-xdg" ,rust-xdg-2)))))) (define-public rust-ahash-0.8 (package @@ -2366,7 +2475,7 @@ using AES-NI for high performance.") (package (inherit rust-ahash-0.7) (name "rust-ahash") - (version "0.4.4") + (version "0.4.7") (source (origin (method url-fetch) @@ -2374,7 +2483,7 @@ using AES-NI for high performance.") (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "06bxygcis4pfx0axi1ld0lclg8mf4plywdy7fnkyw2hrhcb74rkd")))) + "0vm13qaz4nzj0gd397d36wpyav05bflg6m2nbhs82nb0ns6lm7vk")))) (arguments `(#:cargo-inputs (("rust-const-random" ,rust-const-random-0.1)) @@ -2437,26 +2546,43 @@ using AES-NI for high performance.") ("rust-rand" ,rust-rand-0.6) ("rust-seahash" ,rust-seahash-3)))))) -(define-public rust-aho-corasick-0.7 +(define-public rust-aho-corasick-1 (package (name "rust-aho-corasick") - (version "0.7.20") - (source - (origin - (method url-fetch) - (uri (crate-uri "aho-corasick" version)) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 "1b3if3nav4qzgjz9bf75b2cv2h2yisrqfs0np70i38kgz4cn94yc")))) + (version "1.0.2") + (source (origin + (method url-fetch) + (uri (crate-uri "aho-corasick" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0has59a3571irggpk5z8c0lpnx8kdx12qf4g2x0560i2y8dwpxj3")))) (build-system cargo-build-system) (arguments `(#:cargo-inputs - (("rust-memchr" ,rust-memchr-2)))) + (("rust-log" ,rust-log-0.4) + ("rust-memchr" ,rust-memchr-2)) + #:cargo-development-inputs (("rust-doc-comment" ,rust-doc-comment-0.3)))) (home-page "https://github.com/BurntSushi/aho-corasick") (synopsis "Fast multiple substring searching") (description "This package provides a fast multiple substring searching.") (license (list license:unlicense license:expat)))) +(define-public rust-aho-corasick-0.7 + (package + (inherit rust-aho-corasick-1) + (name "rust-aho-corasick") + (version "0.7.20") + (source (origin + (method url-fetch) + (uri (crate-uri "aho-corasick" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1b3if3nav4qzgjz9bf75b2cv2h2yisrqfs0np70i38kgz4cn94yc")))) + (arguments + `(#:cargo-inputs (("rust-memchr" ,rust-memchr-2)))))) + (define-public rust-aho-corasick-0.6 (package (inherit rust-aho-corasick-0.7) @@ -2706,6 +2832,26 @@ address that is aliasable when coerced to a raw pointer") types.") (license license:expat))) +(define-public rust-aligned-0.4 + (package + (name "rust-aligned") + (version "0.4.1") + (source (origin + (method url-fetch) + (uri (crate-uri "aligned" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0md67hsr0yw5qydr9hjlfz4wfxbbl39y7abkhpycf9m682a1p8l0")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs (("rust-as-slice" ,rust-as-slice-0.2)))) + (home-page "https://github.com/japaric/aligned") + (synopsis "Newtype with alignment of at least `A` bytes") + (description + "This package provides a newtype with alignment of at least `A` bytes.") + (license (list license:expat license:asl2.0)))) + (define-public rust-alloc-no-stdlib-2 (package (name "rust-alloc-no-stdlib") @@ -2750,6 +2896,26 @@ options to use calloc or a mutable global variable for pre-zeroed memory.") be used with the stdlib.") (license license:bsd-3))) +(define-public rust-allocator-api2-0.2 + (package + (name "rust-allocator-api2") + (version "0.2.15") + (source (origin + (method url-fetch) + (uri (crate-uri "allocator-api2" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1sdgkqs0pyk61m4yjksl5fv8wld11s5rp7v4v3p5hhccvkw6rz2n")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-test-flags '("--lib") + #:cargo-inputs (("rust-serde" ,rust-serde-1)))) + (home-page "https://github.com/zakarumych/allocator-api2") + (synopsis "Mirror of Rust's allocator API") + (description "Mirror of Rust's allocator API.") + (license (list license:expat license:asl2.0)))) + (define-public rust-always-assert-0.1 (package (name "rust-always-assert") @@ -2986,17 +3152,50 @@ it outputs messages to Android's logcat.") escape codes.") (license license:mpl2.0))) -(define-public rust-anstyle-0.2 +(define-public rust-anstream-0.3 + (package + (name "rust-anstream") + (version "0.3.2") + (source (origin + (method url-fetch) + (uri (crate-uri "anstream" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0qzinx9c8zfq3xqpxzmlv6nrm3ymccr4n8gffkdmj31p50v4za0c")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-anstyle" ,rust-anstyle-1) + ("rust-anstyle-parse" ,rust-anstyle-parse-0.2) + ("rust-anstyle-query" ,rust-anstyle-query-1) + ("rust-anstyle-wincon" ,rust-anstyle-wincon-1) + ("rust-colorchoice" ,rust-colorchoice-1) + ("rust-is-terminal" ,rust-is-terminal-0.4) + ("rust-utf8parse" ,rust-utf8parse-0.2)) + #:cargo-development-inputs + (("rust-criterion" ,rust-criterion-0.4) + ("rust-owo-colors" ,rust-owo-colors-3) + ("rust-proptest" ,rust-proptest-1) + ("rust-strip-ansi-escapes" ,rust-strip-ansi-escapes-0.1)))) + (home-page "https://github.com/rust-cli/anstyle") + (synopsis "Library for writing colored text to a terminal") + (description + "This package provides a simple cross platform library for writing colored +text to a terminal.") + (license (list license:expat license:asl2.0)))) + +(define-public rust-anstyle-1 (package (name "rust-anstyle") - (version "0.2.8") + (version "1.0.0") (source (origin (method url-fetch) (uri (crate-uri "anstyle" version)) (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "10kdjcyks9hcvmhk44afagnrxi4pczg6jnldjdadzbi4kyi2wqah")))) + "0zbazbfqs4mfw93573f61iy8c78vbbv824m3w206bbljpy39mva1")))) (build-system cargo-build-system) (arguments `(#:cargo-development-inputs @@ -3006,6 +3205,92 @@ escape codes.") (description "This package provides ANSI text styling.") (license (list license:expat license:asl2.0)))) +(define-public rust-anstyle-0.2 + (package + (inherit rust-anstyle-1) + (name "rust-anstyle") + (version "0.2.8") + (source (origin + (method url-fetch) + (uri (crate-uri "anstyle" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "10kdjcyks9hcvmhk44afagnrxi4pczg6jnldjdadzbi4kyi2wqah")))) + (arguments + `(#:cargo-development-inputs + (("rust-lexopt" ,rust-lexopt-0.3)))))) + +(define-public rust-anstyle-parse-0.2 + (package + (name "rust-anstyle-parse") + (version "0.2.0") + (source (origin + (method url-fetch) + (uri (crate-uri "anstyle-parse" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1vjprf080adyxxpls9iwwny3g7irawfns9s2cj9ngq28dqhzsrg7")))) + (build-system cargo-build-system) + (arguments + `(#:tests? #f ; Not all files included. + #:cargo-inputs + (("rust-arrayvec" ,rust-arrayvec-0.7) + ("rust-utf8parse" ,rust-utf8parse-0.2)) + #:cargo-development-inputs + (("rust-codegenrs" ,rust-codegenrs-2) + ("rust-criterion" ,rust-criterion-0.4) + ("rust-proptest" ,rust-proptest-1) + ("rust-snapbox" ,rust-snapbox-0.4) + ("rust-vte-generate-state-changes" ,rust-vte-generate-state-changes-0.1)))) + (home-page "https://github.com/rust-cli/anstyle") + (synopsis "Parse ANSI Style Escapes") + (description "Parse ANSI Style Escapes") + (license (list license:expat license:asl2.0)))) + +(define-public rust-anstyle-query-1 + (package + (name "rust-anstyle-query") + (version "1.0.0") + (source (origin + (method url-fetch) + (uri (crate-uri "anstyle-query" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0js9bgpqz21g0p2nm350cba1d0zfyixsma9lhyycic5sw55iv8aw")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs (("rust-windows-sys" ,rust-windows-sys-0.48)))) + (home-page "https://github.com/rust-cli/anstyle") + (synopsis "Look up colored console capabilities") + (description "Look up colored console capabilities") + (license (list license:expat license:asl2.0)))) + +(define-public rust-anstyle-wincon-1 + (package + (name "rust-anstyle-wincon") + (version "1.0.1") + (source (origin + (method url-fetch) + (uri (crate-uri "anstyle-wincon" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "12714vwjf4c1wm3qf49m5vmd93qvq2nav6zpjc0bxbh3ayjby2hq")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-anstyle" ,rust-anstyle-1) + ("rust-windows-sys" ,rust-windows-sys-0.48)) + #:cargo-development-inputs + (("rust-lexopt" ,rust-lexopt-0.3)))) + (home-page "https://github.com/rust-cli/anstyle") + (synopsis "Styling legacy Windows terminals") + (description "Styling legacy Windows terminals") + (license (list license:expat license:asl2.0)))) + (define-public rust-antidote-1 (package (name "rust-antidote") @@ -3305,7 +3590,7 @@ coverage-guided, mutation-based fuzzers.") (package (inherit rust-arc-swap-1) (name "rust-arc-swap") - (version "0.4.4") + (version "0.4.8") (source (origin (method url-fetch) @@ -3314,16 +3599,17 @@ coverage-guided, mutation-based fuzzers.") (string-append name "-" version ".tar.gz")) (sha256 (base32 - "1zwswfi9n7n3hiq51w1xv34572k2diazx680rrxlc9w07c9akf6p")))) + "1a3vg89xc7r2166mc25ciw3rbqfxjylfbjwlq4wrfy433wc5mgns")))) (arguments - `(#:cargo-development-inputs - (("rust-crossbeam-utils" ,rust-crossbeam-utils-0.6) - ("rust-itertools" ,rust-itertools-0.8) - ("rust-model" ,rust-model-0.1) + `(;; These tests require network access. + #:cargo-test-flags '("--release" "--" "--skip=test_html_root_url") + #:cargo-development-inputs + (("rust-crossbeam-utils" ,rust-crossbeam-utils-0.7) + ("rust-itertools" ,rust-itertools-0.9) ("rust-num-cpus" ,rust-num-cpus-1) ("rust-once-cell" ,rust-once-cell-1) - ("rust-proptest" ,rust-proptest-0.8) - ("rust-version-sync" ,rust-version-sync-0.8)))))) + ("rust-proptest" ,rust-proptest-0.9) + ("rust-version-sync" ,rust-version-sync-0.9)))))) (define-public rust-arg-enum-proc-macro-0.3 (package @@ -3438,6 +3724,28 @@ coverage-guided, mutation-based fuzzers.") too long errors.") (license (list license:expat license:asl2.0)))) +(define-public rust-ariadne-0.1 + (package + (name "rust-ariadne") + (version "0.1.6") + (source (origin + (method url-fetch) + (uri (crate-uri "ariadne" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1dhxrhqgdwbl7v03m29zv4rb2fvjgw8a82lybp5xhzjp97khkm83")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-concolor" ,rust-concolor-0.0.11) + ("rust-unicode-width" ,rust-unicode-width-0.1) + ("rust-yansi" ,rust-yansi-0.5)))) + (home-page "https://github.com/zesterer/ariadne") + (synopsis "Fancy diagnostics & reporting crate") + (description "This package provides a fancy diagnostics & reporting crate.") + (license license:expat))) + (define-public rust-arr-macro-impl-0.1 (package (name "rust-arr-macro-impl") @@ -3631,17 +3939,17 @@ ArrayVec and ArrayString.") (define-public rust-arrow-5 (package (name "rust-arrow") - (version "5.2.0") + (version "5.5.0") (source (origin (method url-fetch) (uri (crate-uri "arrow" version)) (file-name (string-append name "-" version ".tar.gz")) (sha256 - (base32 "1zj2sjlnkwz2sdfc83zcz75vg1d3900h8ix15nkjsbz5hd1pzvri")))) + (base32 "0c8j4766cfjc04dmcyayigbn6mim9cfys78a64ilw26qrxpyhy16")))) (build-system cargo-build-system) (arguments - `(#:skip-build? #t + `(#:tests? #f #:cargo-inputs (("rust-bitflags" ,rust-bitflags-1) ("rust-chrono" ,rust-chrono-0.4) @@ -3660,7 +3968,11 @@ ArrayVec and ArrayString.") ("rust-regex" ,rust-regex-1) ("rust-serde" ,rust-serde-1) ("rust-serde-derive" ,rust-serde-derive-1) - ("rust-serde-json" ,rust-serde-json-1)))) + ("rust-serde-json" ,rust-serde-json-1)) + #:cargo-development-inputs + (("rust-criterion" ,rust-criterion-0.3) + ("rust-flate2" ,rust-flate2-1) + ("rust-tempfile" ,rust-tempfile-3)))) (home-page "https://github.com/apache/arrow-rs") (synopsis "Rust implementation of Apache Arrow") (description @@ -3668,39 +3980,6 @@ ArrayVec and ArrayString.") format.") (license license:asl2.0))) -(define-public rust-arrow-4 - (package - (inherit rust-arrow-5) - (name "rust-arrow") - (version "4.4.0") - (source - (origin - (method url-fetch) - (uri (crate-uri "arrow" version)) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 "141qb0yqk179n324qrhbv14ysz13mcfsw00d6m09882gx9637wzn")))) - (arguments - `(#:skip-build? #t - #:cargo-inputs - (("rust-cfg-aliases" ,rust-cfg-aliases-0.1) - ("rust-chrono" ,rust-chrono-0.4) - ("rust-csv" ,rust-csv-1) - ("rust-flatbuffers" ,rust-flatbuffers-0.8) - ("rust-hex" ,rust-hex-0.4) - ("rust-indexmap" ,rust-indexmap-1) - ("rust-lazy-static" ,rust-lazy-static-1) - ("rust-lexical-core" ,rust-lexical-core-0.7) - ("rust-multiversion" ,rust-multiversion-0.6) - ("rust-num" ,rust-num-0.4) - ("rust-packed-simd-2" ,rust-packed-simd-2-0.3) - ("rust-prettytable-rs" ,rust-prettytable-rs-0.8) - ("rust-rand" ,rust-rand-0.7) - ("rust-regex" ,rust-regex-1) - ("rust-serde" ,rust-serde-1) - ("rust-serde-derive" ,rust-serde-derive-1) - ("rust-serde-json" ,rust-serde-json-1)))))) - (define-public rust-arrow-format-0.3 (package (name "rust-arrow-format") @@ -3778,49 +4057,6 @@ code of Apache Arrow spec.") a re-write of the official Arrow crate using transmute-free operations.") (license license:asl2.0))) -(define-public rust-arrow2-0.5 - (package - (inherit rust-arrow2-0.7) - (name "rust-arrow2") - (version "0.5.3") - (source - (origin - (method url-fetch) - (uri (crate-uri "arrow2" version)) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 "042m859jfffnhi84qc919pkyanlr98wqqf67pcrylk4hhh0v84xx")))) - (arguments - `(#:skip-build? #t - #:cargo-inputs - (("rust-ahash" ,rust-ahash-0.7) - ("rust-base64" ,rust-base64-0.13) - ("rust-chrono" ,rust-chrono-0.4) - ("rust-chrono-tz" ,rust-chrono-tz-0.5) - ("rust-comfy-table" ,rust-comfy-table-4) - ("rust-csv" ,rust-csv-1) - ("rust-flatbuffers" ,rust-flatbuffers-2) - ("rust-futures" ,rust-futures-0.3) - ("rust-hash-hasher" ,rust-hash-hasher-2) - ("rust-hex" ,rust-hex-0.4) - ("rust-indexmap" ,rust-indexmap-1) - ("rust-itertools" ,rust-itertools-0.10) - ("rust-lazy-static" ,rust-lazy-static-1) - ("rust-lexical-core" ,rust-lexical-core-0.8) - ("rust-lz4" ,rust-lz4-1) - ("rust-multiversion" ,rust-multiversion-0.6) - ("rust-num-traits" ,rust-num-traits-0.2) - ("rust-packed-simd-2" ,rust-packed-simd-2-0.3) - ("rust-parquet2" ,rust-parquet2-0.4) - ("rust-rand" ,rust-rand-0.8) - ("rust-regex" ,rust-regex-1) - ("rust-serde" ,rust-serde-1) - ("rust-serde-derive" ,rust-serde-derive-1) - ("rust-serde-json" ,rust-serde-json-1) - ("rust-streaming-iterator" ,rust-streaming-iterator-0.1) - ("rust-strength-reduce" ,rust-strength-reduce-0.2) - ("rust-zstd" ,rust-zstd-0.9)))))) - (define-public rust-article-scraper-1 (package (name "rust-article-scraper") @@ -3916,36 +4152,6 @@ extracted from Askama.") (description "This package provides shared code for Askama.") (license (list license:expat license:asl2.0)))) -(define-public rust-askama-shared-0.11 - (package - (inherit rust-askama-shared-0.12) - (name "rust-askama-shared") - (version "0.11.1") - (source - (origin - (method url-fetch) - (uri (crate-uri "askama_shared" version)) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 "1g3ksf5is0qwx9rd5lxn5gbvxfcpby5gl9cahg26wl1w1xzbg0i5")))) - (arguments - (list #:skip-build? #t - #:cargo-inputs - `(("rust-askama-escape" ,rust-askama-escape-0.10) - ("rust-humansize" ,rust-humansize-1) - ("rust-nom" ,rust-nom-6) - ("rust-num-traits" ,rust-num-traits-0.2) - ("rust-percent-encoding" - ,rust-percent-encoding-2) - ("rust-proc-macro2" ,rust-proc-macro2-1) - ("rust-quote" ,rust-quote-1) - ("rust-serde" ,rust-serde-1) - ("rust-serde-derive" ,rust-serde-derive-1) - ("rust-serde-json" ,rust-serde-json-1) - ("rust-serde-yaml" ,rust-serde-yaml-0.8) - ("rust-syn" ,rust-syn-1) - ("rust-toml" ,rust-toml-0.5)))))) - (define-public rust-askama-derive-0.11 (package (name "rust-askama-derive") @@ -4020,19 +4226,6 @@ library for Rust.") "This package provides #[derive] support for @code{asn1}.") (license license:bsd-3))) -(define-public rust-asn1-derive-0.8 - (package - (inherit rust-asn1-derive-0.13) - (name "rust-asn1-derive") - (version "0.8.7") - (source - (origin - (method url-fetch) - (uri (crate-uri "asn1_derive" version)) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 "098w0mxz4bx9w7v72gsl5wva6f0qbvzyc52m0s0n8svqbyh4z2dw")))))) - (define-public rust-asn1-0.13 (package (name "rust-asn1") @@ -4057,28 +4250,112 @@ library for Rust.") "This is a Rust library for parsing and generating ASN.1 data (DER only).") (license license:bsd-3))) -(define-public rust-asn1-0.8 +(define-public rust-asn1-rs-0.5 (package - (inherit rust-asn1-0.13) - (name "rust-asn1") - (version "0.8.7") - (source - (origin - (method url-fetch) - (uri (crate-uri "asn1" version)) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 "1caacmvgn463n1yc4ac6vl9phrh56ij7l3xgf6qgzbpyjm8v7zyg")))) + (name "rust-asn1-rs") + (version "0.5.2") + (source (origin + (method url-fetch) + (uri (crate-uri "asn1-rs" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1w7zq0392qs7kkv0nzw50bfqvq7q9zxv48fsp3sxyl83mzfxavvz")))) (build-system cargo-build-system) (arguments `(#:cargo-inputs - (("rust-asn1-derive" ,rust-asn1-derive-0.8) - ("rust-chrono" ,rust-chrono-0.4)) + (("rust-asn1-rs-derive" ,rust-asn1-rs-derive-0.4) + ("rust-asn1-rs-impl" ,rust-asn1-rs-impl-0.1) + ("rust-bitvec" ,rust-bitvec-1) + ("rust-cookie-factory" ,rust-cookie-factory-0.3) + ("rust-displaydoc" ,rust-displaydoc-0.2) + ("rust-nom" ,rust-nom-7) + ("rust-num-bigint" ,rust-num-bigint-0.4) + ("rust-num-traits" ,rust-num-traits-0.2) + ("rust-rusticata-macros" ,rust-rusticata-macros-4) + ("rust-thiserror" ,rust-thiserror-1) + ("rust-time" ,rust-time-0.3)) #:cargo-development-inputs - (("rust-libc" ,rust-libc-0.2)))))) + (("rust-colored" ,rust-colored-2) + ("rust-hex-literal" ,rust-hex-literal-0.3) + ("rust-oid-registry" ,rust-oid-registry-0.6) + ("rust-pem" ,rust-pem-1) + ("rust-trybuild" ,rust-trybuild-1)))) + (home-page "https://github.com/rusticata/asn1-rs") + (synopsis "Parser/encoder for ASN.1 BER/DER data") + (description "Parser/encoder for ASN.1 BER/DER data") + (license (list license:expat license:asl2.0)))) + +(define-public rust-asn1-rs-derive-0.4 + (package + (name "rust-asn1-rs-derive") + (version "0.4.0") + (source (origin + (method url-fetch) + (uri (crate-uri "asn1-rs-derive" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0v7fgmnzk7jjxv51grhwzcx5bf167nlqwk3vcmq7xblf5s4karbj")))) + (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-synstructure" ,rust-synstructure-0.12)))) + (home-page "https://github.com/rusticata/asn1-rs") + (synopsis "Derive macros for the `asn1-rs` crate") + (description + "This package provides derive macros for the @code{asn1-rs} crate.") + (license (list license:expat license:asl2.0)))) + +(define-public rust-asn1-rs-impl-0.1 + (package + (name "rust-asn1-rs-impl") + (version "0.1.0") + (source (origin + (method url-fetch) + (uri (crate-uri "asn1-rs-impl" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1va27bn7qxqp4wanzjlkagnynv6jnrhnwmcky2ahzb1r405p6xr7")))) + (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/rusticata/asn1-rs") + (synopsis "Implementation details for the `asn1-rs` crate") + (description + "This package provides implementation details for the @code{asn1-rs} crate.") + (license (list license:expat license:asl2.0)))) + +(define-public rust-as-slice-0.2 + (package + (name "rust-as-slice") + (version "0.2.1") + (source (origin + (method url-fetch) + (uri (crate-uri "as-slice" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "05j52y1ws8kir5zjxnl48ann0if79sb56p9nm76hvma01r7nnssi")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs (("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-as-slice-0.1 (package + (inherit rust-as-slice-0.2) (name "rust-as-slice") (version "0.1.5") (source @@ -4089,18 +4366,12 @@ library for Rust.") (sha256 (base32 "1q3a9494ikaq38zjg5px5gwwrbdgnyj23b505224njlmwd4knh25")))) - (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)))) + ("rust-stable-deref-trait" ,rust-stable-deref-trait-1)))))) (define-public rust-ascii-1 (package @@ -4359,6 +4630,23 @@ assertions on the result of your program's run.") "This crate provides file system fixtures and assertions for testing.") (license (list license:expat license:asl2.0)))) +(define-public rust-assert-impl-0.1 + (package + (name "rust-assert-impl") + (version "0.1.3") + (source (origin + (method url-fetch) + (uri (crate-uri "assert-impl" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "17jvig9rwdc1sf1j5q8q9k69njg3k8g7x7g6wcb711hcvq9l6in3")))) + (build-system cargo-build-system) + (home-page "https://github.com/upsuper/assert-impl") + (synopsis "Macro for static assert types implement a trait or not") + (description "Macro for static assert types implement a trait or not") + (license license:expat))) + (define-public rust-assert-json-diff-1 (package (name "rust-assert-json-diff") @@ -4432,31 +4720,6 @@ objects are the same.") capacity and random or least recently used (LRU) replacement.") (license (list license:expat license:asl2.0)))) -(define-public rust-aster-0.41 - (package - (name "rust-aster") - (version "0.41.0") - (source - (origin - (method url-fetch) - (uri (crate-uri "aster" version)) - (file-name - (string-append name "-" version ".tar.gz")) - (sha256 - (base32 - "1q704kn23wnwnrxml7w1mxw6a3xb6386x5wgys6ibnyramrxzksc")))) - (build-system cargo-build-system) - (arguments - `(#:skip-build? #t - #:cargo-inputs - (("rust-clippy" ,rust-clippy-0.0) - ("rust-compiletest-rs" ,rust-compiletest-rs-0.2) - ("rust-syntex-syntax" ,rust-syntex-syntax-0.58)))) - (home-page "https://github.com/serde-rs/aster") - (synopsis "Libsyntax ast builder") - (description "This package provides a libsyntax ast builder.") - (license (list license:expat license:asl2.0)))) - (define-public rust-async-attributes-1 (package (name "rust-async-attributes") @@ -4482,6 +4745,33 @@ capacity and random or least recently used (LRU) replacement.") Rust.") (license (list license:expat license:asl2.0)))) +(define-public rust-async-broadcast-0.5 + (package + (name "rust-async-broadcast") + (version "0.5.1") + (source (origin + (method url-fetch) + (uri (crate-uri "async-broadcast" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0avdqbci1qdlfc4glc3wqrb0wi5ffc7bqv2q1wg14syayvdwqj3w")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-event-listener" ,rust-event-listener-2) + ("rust-futures-core" ,rust-futures-core-0.3)) + #:cargo-development-inputs + (("rust-criterion" ,rust-criterion-0.3) + ("rust-doc-comment" ,rust-doc-comment-0.3) + ("rust-easy-parallel" ,rust-easy-parallel-3) + ("rust-futures-lite" ,rust-futures-lite-1) + ("rust-futures-util" ,rust-futures-util-0.3)))) + (home-page "https://github.com/smol-rs/async-broadcast") + (synopsis "Async broadcast channels") + (description "This package provides async broadcast channels in Rust.") + (license (list license:expat license:asl2.0)))) + (define-public rust-async-channel-1 (package (name "rust-async-channel") @@ -4610,27 +4900,30 @@ AsyncSeek if the inner type does.") (define-public rust-async-executor-1 (package (name "rust-async-executor") - (version "1.4.0") + (version "1.5.1") (source (origin (method url-fetch) (uri (crate-uri "async-executor" version)) (file-name (string-append name "-" version ".tar.gz")) (sha256 - (base32 "0ilivvzc082ynr096xxghc8hdmlmacxilcpn738ylh5lqxq7k1zb")))) + (base32 "1yrs723d4djhia5mimc85blrvly0kl8bj260b5vz0r4559gxr8vg")))) (build-system cargo-build-system) (arguments `(#:cargo-inputs - (("rust-async-task" ,rust-async-task-4) - ("rust-concurrent-queue" ,rust-concurrent-queue-1) + (("rust-async-lock" ,rust-async-lock-2) + ("rust-async-task" ,rust-async-task-4) + ("rust-concurrent-queue" ,rust-concurrent-queue-2) ("rust-fastrand" ,rust-fastrand-1) ("rust-futures-lite" ,rust-futures-lite-1) - ("rust-once-cell" ,rust-once-cell-1) - ("rust-vec-arena" ,rust-vec-arena-1)) + ("rust-slab" ,rust-slab-0.4)) #:cargo-development-inputs (("rust-async-channel" ,rust-async-channel-1) ("rust-async-io" ,rust-async-io-1) - ("rust-easy-parallel" ,rust-easy-parallel-3)))) + ("rust-criterion" ,rust-criterion-0.4) + ("rust-easy-parallel" ,rust-easy-parallel-3) + ("rust-num-cpus" ,rust-num-cpus-1) + ("rust-once-cell" ,rust-once-cell-1)))) (home-page "https://github.com/stjepang/async-executor") (synopsis "Async executor") (description "This library provides async executors.") @@ -4727,38 +5020,40 @@ AsyncSeek if the inner type does.") (define-public rust-async-io-1 (package (name "rust-async-io") - (version "1.3.1") + (version "1.13.0") (source (origin (method url-fetch) (uri (crate-uri "async-io" version)) (file-name (string-append name "-" version ".tar.gz")) (sha256 - (base32 "1zg0bvb58615qar6ih3ddr1cyjh0fsrfdhpy90z1qxjnfpqgh5ck")))) + (base32 "1byj7lpw0ahk6k63sbc9859v68f28hpaab41dxsjj1ggjdfv9i8g")))) (build-system cargo-build-system) (arguments `(#:cargo-inputs - (("rust-concurrent-queue" ,rust-concurrent-queue-1) - ("rust-fastrand" ,rust-fastrand-1) + (("rust-async-lock" ,rust-async-lock-2) + ("rust-autocfg" ,rust-autocfg-1) + ("rust-cfg-if" ,rust-cfg-if-1) + ("rust-concurrent-queue" ,rust-concurrent-queue-2) ("rust-futures-lite" ,rust-futures-lite-1) - ("rust-libc" ,rust-libc-0.2) ("rust-log" ,rust-log-0.4) - ("rust-nb-connect" ,rust-nb-connect-1) - ("rust-once-cell" ,rust-once-cell-1) ("rust-parking" ,rust-parking-2) ("rust-polling" ,rust-polling-2) - ("rust-vec-arena" ,rust-vec-arena-1) - ("rust-waker-fn" ,rust-waker-fn-1) - ("rust-winapi" ,rust-winapi-0.3)) + ("rust-rustix" ,rust-rustix-0.37) + ("rust-slab" ,rust-slab-0.4) + ("rust-socket2" ,rust-socket2-0.4) + ("rust-waker-fn" ,rust-waker-fn-1)) #:cargo-development-inputs (("rust-async-channel" ,rust-async-channel-1) ("rust-async-net" ,rust-async-net-1) - ("rust-inotify" ,rust-inotify-0.8) - ("rust-nix" ,rust-nix-0.18) - ("rust-signal-hook" ,rust-signal-hook-0.1) + ("rust-blocking" ,rust-blocking-1) + ("rust-criterion" ,rust-criterion-0.4) + ("rust-getrandom" ,rust-getrandom-0.2) + ("rust-inotify" ,rust-inotify-0.10) + ("rust-signal-hook" ,rust-signal-hook-0.3) ("rust-tempfile" ,rust-tempfile-3) ("rust-timerfd" ,rust-timerfd-1) - ("rust-uds-windows" ,rust-uds-windows-0.1)))) + ("rust-uds-windows" ,rust-uds-windows-1)))) (home-page "https://github.com/stjepang/async-io") (synopsis "Async I/O and timers") (description @@ -4770,19 +5065,23 @@ that expires at a point in time.") (define-public rust-async-lock-2 (package (name "rust-async-lock") - (version "2.3.0") + (version "2.7.0") (source (origin (method url-fetch) (uri (crate-uri "async-lock" version)) (file-name (string-append name "-" version ".tar.gz")) (sha256 - (base32 "1yrvnshs94aiimvprqkhcg1z7x9abzsja8f4ifcakr5x6abn15hr")))) + (base32 "1mrd4kai92fcgl9974dpmibiq6ja9drz41v3crvv0c27a8kzf97s")))) (build-system cargo-build-system) (arguments - `(#:skip-build? #t - #:cargo-inputs - (("rust-event-listener" ,rust-event-listener-2)))) + `(#:cargo-inputs + (("rust-event-listener" ,rust-event-listener-2)) + #:cargo-development-inputs + (("rust-async-channel" ,rust-async-channel-1) + ("rust-fastrand" ,rust-fastrand-1) + ("rust-futures-lite" ,rust-futures-lite-1) + ("rust-wasm-bindgen-test" ,rust-wasm-bindgen-test-0.3)))) (home-page "https://github.com/stjepang/async-lock") (synopsis "Async synchronization primitives") (description "This package provides Async synchronization primitives.") @@ -4949,6 +5248,32 @@ primitives: "Async networking primitives for TCP/UDP/Unix communication") (license (list license:asl2.0 license:expat)))) +(define-public rust-async-oneshot-0.5 + (package + (name "rust-async-oneshot") + (version "0.5.9") + (source (origin + (method url-fetch) + (uri (crate-uri "async-oneshot" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0qslzzfz3j0fb4lvsmq5nx6lkjfbdq5sjmsl7xgj0hym08mdwixf")))) + (build-system cargo-build-system) + (arguments + `(#:tests? #f ; Uses unstable features. + #:cargo-inputs + (("rust-futures-micro" ,rust-futures-micro-0.5)) + #:cargo-development-inputs + (("rust-criterion" ,rust-criterion-0.3) + ("rust-futures-lite" ,rust-futures-lite-1) + ("rust-waker-fn" ,rust-waker-fn-1)))) + (home-page "https://github.com/irrustible/async-oneshot") + (synopsis "Async-aware oneshot channel") + (description "This package provides a fast, small, full-featured, +async-aware oneshot channel.") + (license license:mpl2.0))) + (define-public rust-async-process-1 (package (name "rust-async-process") @@ -5008,6 +5333,32 @@ implementing async state machines that can later be wrapped in dedicated futures.") (license (list license:expat license:asl2.0)))) +(define-public rust-async-recursion-1 + (package + (name "rust-async-recursion") + (version "1.0.4") + (source (origin + (method url-fetch) + (uri (crate-uri "async-recursion" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1fhwz7jqgsakbjsr2nrsvgs245l1m5dkzir6f9fxw4ngwrywx5qf")))) + (build-system cargo-build-system) + (arguments + `(#:tests? #f ; TODO: Tests unexpectedly pass. + #:cargo-inputs + (("rust-proc-macro2" ,rust-proc-macro2-1) + ("rust-quote" ,rust-quote-1) + ("rust-syn" ,rust-syn-2)) + #:cargo-development-inputs + (("rust-futures-executor" ,rust-futures-executor-0.3) + ("rust-trybuild" ,rust-trybuild-1)))) + (home-page "https://github.com/dcchut/async-recursion") + (synopsis "Recursion for async functions") + (description "This package provides recursion for async functions in Rust.") + (license (list license:expat license:asl2.0)))) + (define-public rust-async-std-1 (package (name "rust-async-std") @@ -5161,20 +5512,24 @@ crate.") (define-public rust-async-task-4 (package (name "rust-async-task") - (version "4.0.3") + (version "4.4.0") (source (origin (method url-fetch) (uri (crate-uri "async-task" version)) (file-name (string-append name "-" version ".tar.gz")) (sha256 - (base32 "1w0a1c8jim6s5bvcyiiwg9m4bdv3xnd4hbjm97ndgmphmgg32679")))) + (base32 "1bis5aqnjw3gxridzpq2cwrlj4y8alrfqy19rly6ag2vh50spizc")))) (build-system cargo-build-system) (arguments `(#:cargo-development-inputs (("rust-atomic-waker" ,rust-atomic-waker-1) ("rust-easy-parallel" ,rust-easy-parallel-3) - ("rust-flume" ,rust-flume-0.10)))) + ("rust-flaky-test" ,rust-flaky-test-0.1) + ("rust-flume" ,rust-flume-0.10) + ("rust-futures-lite" ,rust-futures-lite-1) + ("rust-once-cell" ,rust-once-cell-1) + ("rust-smol" ,rust-smol-1)))) (home-page "https://github.com/stjepang/async-task") (synopsis "Task abstraction for building executors") (description @@ -5247,7 +5602,7 @@ crate.") (define-public rust-async-trait-0.1 (package (name "rust-async-trait") - (version "0.1.57") + (version "0.1.71") (source (origin (method url-fetch) @@ -5255,18 +5610,18 @@ crate.") (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "0vw256zb104ni4lw0r5j3jdws54r9n01mvl8gs6pacmwp1348ikn")))) + "1grf5p4m1bb79isbb3g4b8w7wpz51sw003a88x69ql2nvlhxar55")))) (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-syn" ,rust-syn-2)) #:cargo-development-inputs - (("rust-rustversion" ,rust-rustversion-1) + (("rust-futures" ,rust-futures-0.3) + ("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") @@ -5508,7 +5863,7 @@ bytes or encoder from file extension.") (define-public rust-automod-1 (package (name "rust-automod") - (version "1.0.0") + (version "1.0.11") (source (origin (method url-fetch) @@ -5517,15 +5872,13 @@ bytes or encoder from file extension.") (string-append name "-" version ".tar.gz")) (sha256 (base32 - "1z8kdbvvz0k8mfs45mvs16lr9xj59cdcp0sm45fawfh93gai4mhg")))) + "057sa45859nb8arbshkqc6va8b8jf5a8vx6zr739viibqbj989md")))) (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)) - ;; Tests not included in tar. - #:tests? #f)) + ("rust-syn" ,rust-syn-2)))) (home-page "https://github.com/dtolnay/automod") (synopsis "Pull in every source file in a directory as a module") (description "Pull in every source file in a directory as a module.") @@ -5875,7 +6228,7 @@ built on the Actix ecosystem.") (define-public rust-backtrace-0.3 (package (name "rust-backtrace") - (version "0.3.66") + (version "0.3.67") (source (origin (method url-fetch) @@ -5884,23 +6237,24 @@ built on the Actix ecosystem.") (string-append name "-" version ".tar.gz")) (sha256 (base32 - "19yrfx0gprqmzphmf6qv32g93w76ny5g751ks1abdkqnsqcl7f6a")))) + "1jk48laqafvbyc0mn1v0didk307qc0zji3z5jcq2lpqqdmnkfg93")))) (build-system cargo-build-system) (arguments - `(#:skip-build? #t + `(#:tests? #f ; Not all files included. #:cargo-inputs - (("rust-addr2line" ,rust-addr2line-0.17) + (("rust-addr2line" ,rust-addr2line-0.19) ("rust-cc" ,rust-cc-1) ("rust-cfg-if" ,rust-cfg-if-1) - ("rust-cpp-demangle" ,rust-cpp-demangle-0.3) + ("rust-cpp-demangle" ,rust-cpp-demangle-0.4) ("rust-libc" ,rust-libc-0.2) - ("rust-libloading" ,rust-libloading-0.7) - ("rust-miniz-oxide" ,rust-miniz-oxide-0.5) - ("rust-object" ,rust-object-0.29) + ("rust-miniz-oxide" ,rust-miniz-oxide-0.6) + ("rust-object" ,rust-object-0.30) ("rust-rustc-demangle" ,rust-rustc-demangle-0.1) ("rust-rustc-serialize" ,rust-rustc-serialize-0.3) ("rust-serde" ,rust-serde-1) - ("rust-winapi" ,rust-winapi-0.3)))) + ("rust-winapi" ,rust-winapi-0.3)) + #:cargo-development-inputs + (("rust-libloading" ,rust-libloading-0.7)))) (home-page "https://github.com/rust-lang/backtrace-rs") (synopsis "Acquire a stack trace (backtrace) at runtime in a Rust program") (description @@ -5967,6 +6321,27 @@ systems.") API for Rust.") (license (list license:expat license:x11 license:asl2.0)))) +(define-public rust-base16ct-0.2 + (package + (name "rust-base16ct") + (version "0.2.0") + (source (origin + (method url-fetch) + (uri (crate-uri "base16ct" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1kylrjhdzk7qpknrvlphw8ywdnvvg39dizw9622w3wk5xba04zsc")))) + (build-system cargo-build-system) + (home-page "https://github.com/RustCrypto/formats/tree/master/base16ct") + (synopsis "Rust implementation of Base16 a.k.a hexadecimal") + (description + "This package provides a pure Rust implementation of Base16 a.k.a +hexadecimal (RFC 4648) which avoids any usages of data-dependent branches/LUTs +and thereby provides portable \"best effort\" constant-time operation and +embedded-friendly no_std support.") + (license (list license:asl2.0 license:expat)))) + (define-public rust-base32-0.4 (package (name "rust-base32") @@ -6180,18 +6555,18 @@ c6e7d37. However, this package works only up to 128 bytes.") (define-public rust-base64ct-1 (package (name "rust-base64ct") - (version "1.3.3") + (version "1.6.0") (source (origin (method url-fetch) (uri (crate-uri "base64ct" version)) (file-name (string-append name "-" version ".tar.gz")) (sha256 - (base32 "1818i0gpg7q35s6yglmhgciwi3jwx65mqc2ipjl54jfbmm288kw7")))) + (base32 "0nvdba4jb8aikv60az40x2w1y96sjdq8z3yp09rwzmkhiwv1lg4c")))) (build-system cargo-build-system) (arguments `(#:cargo-development-inputs - (("rust-base64" ,rust-base64-0.13) + (("rust-base64" ,rust-base64-0.21) ("rust-proptest" ,rust-proptest-1)))) (home-page "https://github.com/RustCrypto/formats/tree/master/base64ct") (synopsis "Implementation of Base64 (RFC 4648)") @@ -6219,7 +6594,7 @@ portable \"best effort\" constant-time operation and embedded-friendly (define-public rust-base-x-0.2 (package (name "rust-base-x") - (version "0.2.6") + (version "0.2.11") (source (origin (method url-fetch) @@ -6227,14 +6602,13 @@ portable \"best effort\" constant-time operation and embedded-friendly (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "1hfy0wv7j5ynd73yk1vyr32pqa77rp15lkrc54f8ky9c6hcbc80v")))) + "0w02sdqvg7zwm91agb2phikw4ri8jmncw32paxsv8ra1jv8ckfsc")))) (build-system cargo-build-system) (arguments - `(#:skip-build? #t - #:cargo-development-inputs + `(#:cargo-development-inputs (("rust-bencher" ,rust-bencher-0.1) - ("rust-json" ,rust-json-0.11) - ("rust-rand" ,rust-rand-0.3)))) + ("rust-json" ,rust-json-0.12) + ("rust-rand" ,rust-rand-0.8)))) (home-page "https://github.com/OrKoN/base-x-rs") (synopsis "Encode/decode any base") (description "This library provides for encoding and decoding any base.") @@ -6862,41 +7236,6 @@ bindings to C and C++ libraries.") ("rust-diff" ,rust-diff-0.1) ("rust-shlex" ,rust-shlex-0.1)))))) -(define-public rust-bindgen-0.49 - (package - (inherit rust-bindgen-0.50) - (name "rust-bindgen") - (version "0.49.4") - (source - (origin - (method url-fetch) - (uri (crate-uri "bindgen" version)) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 "0vjacbvashvds5rbrlqvq5fy55wmp50iia3mnczvycap7mzhh1sc")))) - (build-system cargo-build-system) - (arguments - `(#:cargo-inputs - (("rust-bitflags" ,rust-bitflags-1) - ("rust-cexpr" ,rust-cexpr-0.3) - ("rust-cfg-if" ,rust-cfg-if-0.1) - ("rust-clang-sys" ,rust-clang-sys-0.28) - ("rust-clap" ,rust-clap-2) - ("rust-env-logger" ,rust-env-logger-0.6) - ("rust-fxhash" ,rust-fxhash-0.2) - ("rust-lazy-static" ,rust-lazy-static-1) - ("rust-log" ,rust-log-0.4) - ("rust-peeking-take-while" ,rust-peeking-take-while-0.1) - ("rust-proc-macro2" ,rust-proc-macro2-0.4) - ("rust-quote" ,rust-quote-0.6) - ("rust-regex" ,rust-regex-1) - ("rust-shlex" ,rust-shlex-0.1) - ("rust-which" ,rust-which-2)) - #:cargo-development-inputs - (("rust-clap" ,rust-clap-2) - ("rust-diff" ,rust-diff-0.1) - ("rust-shlex" ,rust-shlex-0.1)))))) - (define-public rust-bindgen-0.48 (package (inherit rust-bindgen-0.50) @@ -6932,72 +7271,6 @@ bindings to C and C++ libraries.") ("rust-diff" ,rust-diff-0.1) ("rust-shlex" ,rust-shlex-0.1)))))) -(define-public rust-bindgen-0.47 - (package - (inherit rust-bindgen-0.50) - (name "rust-bindgen") - (version "0.47.4") - (source - (origin - (method url-fetch) - (uri (crate-uri "bindgen" version)) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 "0b9fyq3h4lz5xfy6gv5h8v6j3hzyqcarlylvw9zc715pas1pz09a")))) - (arguments - `(#:skip-build? #t - #:cargo-inputs - (("rust-bitflags" ,rust-bitflags-1) - ("rust-cexpr" ,rust-cexpr-0.3) - ("rust-cfg-if" ,rust-cfg-if-0.1) - ("rust-clang-sys" ,rust-clang-sys-0.26) - ("rust-clap" ,rust-clap-2) - ("rust-env-logger" ,rust-env-logger-0.6) - ("rust-hashbrown" ,rust-hashbrown-0.1) - ("rust-lazy-static" ,rust-lazy-static-1) - ("rust-log" ,rust-log-0.4) - ("rust-peeking-take-while" ,rust-peeking-take-while-0.1) - ("rust-proc-macro2" ,rust-proc-macro2-0.4) - ("rust-quote" ,rust-quote-0.6) - ("rust-regex" ,rust-regex-1) - ("rust-shlex" ,rust-shlex-0.1) - ("rust-which" ,rust-which-2)))))) - -(define-public rust-bindgen-0.46 - (package - (inherit rust-bindgen-0.50) - (name "rust-bindgen") - (version "0.46.0") - (source - (origin - (method url-fetch) - (uri (crate-uri "bindgen" version)) - (file-name - (string-append name "-" version ".tar.gz")) - (sha256 - (base32 - "1qclvj5pydn5camw396b0r3nz4nn3p5wpxg4fgg1favp043pyzwg")))) - (arguments - `(#:cargo-inputs - (("rust-bitflags" ,rust-bitflags-1) - ("rust-cexpr" ,rust-cexpr-0.3) - ("rust-cfg-if" ,rust-cfg-if-0.1) - ("rust-clang-sys" ,rust-clang-sys-0.26) - ("rust-clap" ,rust-clap-2) - ("rust-env-logger" ,rust-env-logger-0.6) - ("rust-hashbrown" ,rust-hashbrown-0.1) - ("rust-lazy-static" ,rust-lazy-static-1) - ("rust-log" ,rust-log-0.4) - ("rust-peeking-take-while" ,rust-peeking-take-while-0.1) - ("rust-proc-macro2" ,rust-proc-macro2-0.4) - ("rust-quote" ,rust-quote-0.6) - ("rust-regex" ,rust-regex-1) - ("rust-which" ,rust-which-2)) - #:cargo-development-inputs - (("rust-clap" ,rust-clap-2) - ("rust-diff" ,rust-diff-0.1) - ("rust-shlex" ,rust-shlex-0.1))))) ) - (define-public rust-bindgen-0.37 (package (inherit rust-bindgen-0.50) @@ -7462,28 +7735,32 @@ types.") (define-public rust-bitflags-2 (package (name "rust-bitflags") - (version "2.1.0") + (version "2.3.3") (source (origin (method url-fetch) (uri (crate-uri "bitflags" version)) (file-name (string-append name "-" version ".tar.gz")) (sha256 - (base32 "1cxcbx6mm1w2d7x9xd2vcqgr69a2ydw9k110ir7rrkmmrdwyn2y7")))) + (base32 "0hifjw3191g3w5cwqqvbx8knrr3zchdwfc3rs6mn11p5si9yf2v3")))) (build-system cargo-build-system) (arguments - `(#:cargo-inputs + `(#:tests? #f ; Not all files included. + #:cargo-inputs (("rust-arbitrary" ,rust-arbitrary-1) + ("rust-bytemuck" ,rust-bytemuck-1) ("rust-compiler-builtins" ,rust-compiler-builtins-0.1) ("rust-rustc-std-workspace-core" ,rust-rustc-std-workspace-core-1) ("rust-serde" ,rust-serde-1)) #:cargo-development-inputs (("rust-arbitrary" ,rust-arbitrary-1) + ("rust-bytemuck" ,rust-bytemuck-1) ("rust-rustversion" ,rust-rustversion-1) ("rust-serde-derive" ,rust-serde-derive-1) ("rust-serde-json" ,rust-serde-json-1) ("rust-serde-test" ,rust-serde-test-1) - ("rust-trybuild" ,rust-trybuild-1)))) + ("rust-trybuild" ,rust-trybuild-1) + ("rust-zerocopy" ,rust-zerocopy-0.6)))) (home-page "https://github.com/bitflags/bitflags") (synopsis "Macro to generate structures which behave like bitflags") (description "This package provides a macro to generate structures which @@ -7872,8 +8149,33 @@ streams in big-endian and little-endian formats.") (description "This package provides BLAKE2 hash functions in Rust.") (license (list license:expat license:asl2.0)))) +(define-public rust-blake2b-simd-1 + (package + (name "rust-blake2b-simd") + (version "1.0.1") + (source (origin + (method url-fetch) + (uri (crate-uri "blake2b-simd" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1g04mc4gf6jyymyj41749jhhplm3ymnc6z7rhkc1fqwclv4hsbrw")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-arrayref" ,rust-arrayref-0.3) + ("rust-arrayvec" ,rust-arrayvec-0.7) + ("rust-constant-time-eq" ,rust-constant-time-eq-0.2)))) + (home-page "https://github.com/oconnor663/blake2_simd") + (synopsis "Pure Rust BLAKE2b implementation with dynamic SIMD") + (description + "This package provides a pure Rust implementation of the BLAKE2b and +BLAKE2bp hash functions.") + (license license:expat))) + (define-public rust-blake2b-simd-0.5 (package + (inherit rust-blake2b-simd-1) (name "rust-blake2b-simd") (version "0.5.10") (source @@ -7885,19 +8187,12 @@ streams in big-endian and little-endian formats.") (sha256 (base32 "12icvk8ixlivv3jv5nyrg01sajp4s279zb1kmif0nfja4ms2vyyq")))) - (build-system cargo-build-system) (arguments `(#:skip-build? #t #:cargo-inputs (("rust-arrayref" ,rust-arrayref-0.3) ("rust-arrayvec" ,rust-arrayvec-0.5) - ("rust-constant-time-eq" ,rust-constant-time-eq-0.1)))) - (home-page "https://github.com/oconnor663/blake2_simd") - (synopsis "Pure Rust BLAKE2b implementation with dynamic SIMD") - (description - "This package provides a pure Rust implementation of the BLAKE2b and -BLAKE2bp hash functions.") - (license license:expat))) + ("rust-constant-time-eq" ,rust-constant-time-eq-0.1)))))) (define-public rust-blakeout-0.3 (package @@ -8346,8 +8641,56 @@ programs.") ("rust-parking" ,rust-parking-1) ("rust-waker-fn" ,rust-waker-fn-1)))))) +(define-public rust-blowfish-0.9 + (package + (name "rust-blowfish") + (version "0.9.1") + (source (origin + (method url-fetch) + (uri (crate-uri "blowfish" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1mw7bvj3bg5w8vh9xw9xawqh7ixk2xwsxkj34ph96b9b1z6y44p4")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-byteorder" ,rust-byteorder-1) + ("rust-cipher" ,rust-cipher-0.4)) + #:cargo-development-inputs + (("rust-cipher" ,rust-cipher-0.4)))) + (home-page "https://github.com/RustCrypto/block-ciphers") + (synopsis "Blowfish block cipher") + (description "Blowfish block cipher") + (license (list license:expat license:asl2.0)))) + +(define-public rust-botan-0.10 + (package + (name "rust-botan") + (version "0.10.3") + (source (origin + (method url-fetch) + (uri (crate-uri "botan" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1vzl5pdysh848zpphsgvj9c40zdi3ynl32zzixsd8vg4vaflhb49")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-botan-sys" ,rust-botan-sys-0.10)) + #:cargo-development-inputs + (("rust-hex" ,rust-hex-0.4) + ("rust-wycheproof" ,rust-wycheproof-0.5)))) + (inputs (list botan)) + (home-page "https://botan.randombit.net/") + (synopsis "Rust wrapper for Botan cryptography library") + (description "Rust wrapper for Botan cryptography library") + (license license:expat))) + (define-public rust-botan-0.8 (package + (inherit rust-botan-0.10) (name "rust-botan") (version "0.8.1") (source (origin @@ -8356,20 +8699,35 @@ programs.") (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 "08bmiyn7c3b0dgx20w6hr28d9jcq7cj78cchr84pc686sb2s41ik")))) - (build-system cargo-build-system) (arguments `(#:cargo-inputs (("rust-botan-sys" ,rust-botan-sys-0.8) ("rust-cstr-core" ,rust-cstr-core-0.2) - ("rust-cty" ,rust-cty-0.2)))) + ("rust-cty" ,rust-cty-0.2)))))) + +(define-public rust-botan-sys-0.10 + (package + (name "rust-botan-sys") + (version "0.10.3") + (source (origin + (method url-fetch) + (uri (crate-uri "botan-sys" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1cbjr44gc5dhmgl43sfiqzbsma4anfi3h26m4yzsli23yd1lmyf8")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs (("rust-botan-src" ,rust-botan-src-0.21903)))) (inputs (list botan)) (home-page "https://botan.randombit.net/") - (synopsis "Rust wrapper for Botan cryptography library") - (description "Rust wrapper for Botan cryptography library") + (synopsis "FFI wrapper for Botan cryptography library") + (description "FFI wrapper for Botan cryptography library") (license license:expat))) (define-public rust-botan-sys-0.8 (package + (inherit rust-botan-sys-0.10) (name "rust-botan-sys") (version "0.8.1") (source (origin @@ -8378,28 +8736,22 @@ programs.") (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 "1m11zblxfanrhl97j7z3ap7n17rr8j0rg91sr7f9j6y2bsniaz1x")))) - (build-system cargo-build-system) (arguments `(#:cargo-inputs (("rust-botan-src" ,rust-botan-src-0.21703) - ("rust-cty" ,rust-cty-0.2)))) - (inputs (list botan)) - (home-page "https://botan.randombit.net/") - (synopsis "FFI wrapper for Botan cryptography library") - (description "FFI wrapper for Botan cryptography library") - (license license:expat))) + ("rust-cty" ,rust-cty-0.2)))))) -(define-public rust-botan-src-0.21703 +(define-public rust-botan-src-0.21903 (package (name "rust-botan-src") - (version "0.21703.0") + (version "0.21903.1") (source (origin (method url-fetch) (uri (crate-uri "botan-src" version)) (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "0s2ad9q84qsrllfsbj7hjhn7gr3hab9ng6lwzwqmimia6yvja8y8")) + "19fhll4g0v8hbyjxg8c790l9ln5xgf4r6xdcnw438mpy81hvrdxy")) (modules '((guix build utils))) (snippet '(begin (delete-file-recursively "botan"))))) @@ -8410,6 +8762,22 @@ programs.") (description "Sources of Botan cryptography library") (license license:expat))) +(define-public rust-botan-src-0.21703 + (package + (inherit rust-botan-src-0.21903) + (name "rust-botan-src") + (version "0.21703.0") + (source (origin + (method url-fetch) + (uri (crate-uri "botan-src" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0s2ad9q84qsrllfsbj7hjhn7gr3hab9ng6lwzwqmimia6yvja8y8")) + (modules '((guix build utils))) + (snippet + '(begin (delete-file-recursively "botan"))))))) + (define-public rust-boxfnonce-0.1 (package (name "rust-boxfnonce") @@ -8535,7 +8903,7 @@ Bresenham's line algorithm.") (define-public rust-brotli-3 (package (name "rust-brotli") - (version "3.3.0") + (version "3.3.4") (source (origin (method url-fetch) @@ -8543,7 +8911,7 @@ Bresenham's line algorithm.") (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "0gk1g3fx1vps2ic8kh5n32gzq9h5w1j3ff6lvjm171ph428r2abz")))) + "0s7z0nrv04wxniwijh5iig1w31sphc6lz38zc8lr7qlarkdv3851")))) (build-system cargo-build-system) (arguments `(#:cargo-inputs @@ -8693,20 +9061,46 @@ alphabet.") "This crate provides encoding and decoding support for BSON.") (license license:expat))) +(define-public rust-bstr-1 + (package + (name "rust-bstr") + (version "1.6.0") + (source (origin + (method url-fetch) + (uri (crate-uri "bstr" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "01bvsr3x9n75klbwxym0zf939vzim0plsmy786p0zzzvrj6i9637")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-memchr" ,rust-memchr-2) + ("rust-regex-automata" ,rust-regex-automata-0.3) + ("rust-serde" ,rust-serde-1)) + #:cargo-development-inputs + (("rust-quickcheck" ,rust-quickcheck-1) + ("rust-ucd-parse" ,rust-ucd-parse-0.1) + ("rust-unicode-segmentation" ,rust-unicode-segmentation-1)))) + (home-page "https://github.com/BurntSushi/bstr") + (synopsis "String type that is not required to be valid UTF-8") + (description + "This package provides a string type that is not required to be valid +UTF-8.") + (license (list license:expat license:asl2.0)))) + (define-public rust-bstr-0.2 (package + (inherit rust-bstr-1) (name "rust-bstr") (version "0.2.17") - (source - (origin - (method url-fetch) - (uri (crate-uri "bstr" version)) - (file-name - (string-append name "-" version ".tar.gz")) - (sha256 - (base32 - "08rjbhysy6gg27db2h3pnhvr2mlr5vkj797i9625kwg8hgrnjdds")))) - (build-system cargo-build-system) + (source (origin + (method url-fetch) + (uri (crate-uri "bstr" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "08rjbhysy6gg27db2h3pnhvr2mlr5vkj797i9625kwg8hgrnjdds")))) (arguments `(#:skip-build? #t #:cargo-inputs @@ -8717,13 +9111,27 @@ alphabet.") #:cargo-development-inputs (("rust-quickcheck" ,rust-quickcheck-0.8) ("rust-ucd-parse" ,rust-ucd-parse-0.1) - ("rust-unicode-segmentation" ,rust-unicode-segmentation-1)))) - (home-page "https://github.com/BurntSushi/bstr") - (synopsis - "String type that is not required to be valid UTF-8") - (description - "This package provides a string type that is not required to be valid -UTF-8.") + ("rust-unicode-segmentation" ,rust-unicode-segmentation-1)))))) + +(define-public rust-buf-min-0.7 + (package + (name "rust-buf-min") + (version "0.7.1") + (source (origin + (method url-fetch) + (uri (crate-uri "buf-min" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "146wb3p4n62jbka6ym7sagziydcbixwhamw0cknl49w4ys66km92")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-bytes" ,rust-bytes-1) + ("rust-ntex-bytes" ,rust-ntex-bytes-0.1)))) + (home-page "https://github.com/botika/buf-min") + (synopsis "Minimal utf-8 safe buffer traits") + (description "This package provides mminimal utf-8 safe buffer traits.") (license (list license:expat license:asl2.0)))) (define-public rust-buf-redux-0.8 @@ -8950,6 +9358,25 @@ users can send along with a bug report.") constants from build.rs or a script.") (license license:expat))) +(define-public rust-build-context-0.1 + (package + (name "rust-build-context") + (version "0.1.1") + (source (origin + (method url-fetch) + (uri (crate-uri "build-context" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "15jnnh6vk7ifc98j08rv8v9yapzaciz7awdk4q2lrna868dnzhjh")))) + (build-system cargo-build-system) + (home-page "https://github.com/taiki-e/build-context") + (synopsis "Build environment/target information available in libraries") + (description + "Make build environment/target information available as constants in normal +libraries and binaries.") + (license (list license:asl2.0 license:expat)))) + (define-public rust-built-0.5 (package (name "rust-built") @@ -8982,7 +9409,7 @@ constants from build.rs or a script.") (define-public rust-bumpalo-3 (package (name "rust-bumpalo") - (version "3.7.0") + (version "3.13.0") (source (origin (method url-fetch) @@ -8991,13 +9418,16 @@ constants from build.rs or a script.") (string-append name "-" version ".tar.gz")) (sha256 (base32 - "0ccn025n0x1gc0ijjlabin2xs7dkx5yfagkskr93yw9c06pyfncw")))) + "1h9zmxb9d14m2sx34daz88fsjw1lx7d5mhaqbldwqgl8xzdc7qm3")))) (build-system cargo-build-system) (arguments - `(#:tests? #f ;cargo_readme_up_to_date test fails + `(#:tests? #f ; Not all files included. + #:cargo-inputs + (("rust-allocator-api2" ,rust-allocator-api2-0.2)) #:cargo-development-inputs (("rust-criterion" ,rust-criterion-0.3) - ("rust-quickcheck" ,rust-quickcheck-0.9)))) + ("rust-quickcheck" ,rust-quickcheck-1) + ("rust-rand" ,rust-rand-0.8)))) (home-page "https://github.com/fitzgen/bumpalo") (synopsis "Fast bump allocation arena for Rust") (description @@ -9129,14 +9559,14 @@ of built-in fundamental numeric types.") (define-public rust-bytecheck-0.6 (package (name "rust-bytecheck") - (version "0.6.10") + (version "0.6.11") (source (origin (method url-fetch) (uri (crate-uri "bytecheck" version)) (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "07vxs7y441f7d6mjzmli80ykmfajwk9jqci549b29sr319j13zhk")))) + "09xnpjfhw36a973dpdd2mcmb93rrix539j49vkkgcqf878174qwb")))) (build-system cargo-build-system) (arguments `(#:cargo-inputs @@ -9144,7 +9574,7 @@ of built-in fundamental numeric types.") ("rust-ptr-meta" ,rust-ptr-meta-0.1) ("rust-simdutf8" ,rust-simdutf8-0.1) ("rust-uuid" ,rust-uuid-1)))) - (home-page "https://github.com/djkoloski/bytecheck") + (home-page "https://github.com/rkyv/bytecheck") (synopsis "Type validation framework") (description "This package provides a type validation framework for Rust.") @@ -9173,21 +9603,21 @@ Rust.") (define-public rust-bytecheck-derive-0.6 (package (name "rust-bytecheck-derive") - (version "0.6.10") + (version "0.6.11") (source (origin (method url-fetch) (uri (crate-uri "bytecheck_derive" version)) (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "1r9dlkx5w1p8d5gif2yvn6bz1856yij2fxi4wakq2vxl7ia2a4p3")))) + "0qdgfqx23gbjp5scbc8fhqc5kd014bpxn8hc9i9ssd8r4rplrv57")))) (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/djkoloski/bytecheck") + (home-page "https://github.com/rkyv/bytecheck") (synopsis "Derive macro for bytecheck") (description "This package provides a Derive macro for bytecheck, the type validation framework for Rust.") @@ -9214,22 +9644,22 @@ validation framework for Rust.") (define-public rust-bytecount-0.6 (package (name "rust-bytecount") - (version "0.6.2") + (version "0.6.3") (source (origin (method url-fetch) (uri (crate-uri "bytecount" version)) (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "0bklbbl5ml9ic18s9kn5iix1grrqc6sypz6hvfn8sjc6zhgv7zkj")))) + "173wsvyagflb7ic3hpvp1db6q3dsigr452inslnzmsb3ix3nlrrc")))) (build-system cargo-build-system) (arguments `(#:cargo-inputs (("rust-packed-simd-2" ,rust-packed-simd-2-0.3)) #:cargo-development-inputs (("rust-criterion" ,rust-criterion-0.3) - ("rust-quickcheck" ,rust-quickcheck-0.9) - ("rust-rand" ,rust-rand-0.7)))) + ("rust-quickcheck" ,rust-quickcheck-1) + ("rust-rand" ,rust-rand-0.8)))) (home-page "https://github.com/llogiq/bytecount") (synopsis "Count occurrences of a given byte") (description @@ -9890,31 +10320,76 @@ spreadsheet file.") canonical filesystem paths.") (license license:asl2.0))) +(define-public rust-capnp-0.14 + (package + (name "rust-capnp") + (version "0.14.11") + (source (origin + (method url-fetch) + (uri (crate-uri "capnp" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1wwp619sib07raykk93n6j7amvsinlchnicxfjnnb7bx5if0ijid")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-quickcheck" ,rust-quickcheck-0.9)) + #:cargo-development-inputs + (("rust-quickcheck" ,rust-quickcheck-0.9)))) + (home-page "https://github.com/capnproto/capnproto-rust") + (synopsis "Runtime library for Cap'n Proto data encoding") + (description "This package provides a runtime library for Cap'n Proto data +encoding.") + (license license:expat))) + (define-public rust-capnp-0.13 (package + (inherit rust-capnp-0.14) (name "rust-capnp") - (version "0.13.6") + (version "0.13.7") (source (origin (method url-fetch) (uri (crate-uri "capnp" version)) (file-name (string-append name "-" version ".tar.gz")) (sha256 - (base32 "1bx2pj0ysmyd1ryd5s43m3c7n5k067x1aciqiiyg4kjswlcs6xjf")))) - (build-system cargo-build-system) + (base32 "1xkfv6mm38y4d6ykxmvs1pdfywnn3n5bklsqcsz9xh72i9ffd3s5")))) (arguments `(#:cargo-inputs (("rust-quickcheck" ,rust-quickcheck-0.9)) #:cargo-development-inputs - (("rust-quickcheck" ,rust-quickcheck-0.9)))) - (home-page "https://github.com/capnproto/capnproto-rust") - (synopsis "Runtime library for Cap'n Proto data encoding") - (description "This package provides a runtime library for Cap'n Proto data -encoding.") + (("rust-quickcheck" ,rust-quickcheck-0.9)))))) + +(define-public rust-capnp-futures-0.14 + (package + (name "rust-capnp-futures") + (version "0.14.2") + (source (origin + (method url-fetch) + (uri (crate-uri "capnp-futures" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0fp6lr04w50mzfpxvvrbdm9pny8ch17514y7qgcsk6giqqf808cq")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-capnp" ,rust-capnp-0.14) + ("rust-futures" ,rust-futures-0.3)) + #:cargo-development-inputs + (("rust-capnp" ,rust-capnp-0.14) + ("rust-futures" ,rust-futures-0.3) + ("rust-quickcheck" ,rust-quickcheck-0.9)))) + (home-page "https://github.com/dwrensha/capnproto-rust") + (synopsis "Async serialization for Cap'n Proto messages") + (description "This package provides async serialization for Cap'n Proto +messages.") (license license:expat))) (define-public rust-capnp-futures-0.13 (package + (inherit rust-capnp-futures-0.14) (name "rust-capnp-futures") (version "0.13.2") (source @@ -9924,22 +10399,42 @@ encoding.") (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 "18q93ncbfcnjq7zhvy9idnifypmi2qcp775q7454y3r4lvvdcyyw")))) - (build-system cargo-build-system) (arguments `(#:cargo-inputs (("rust-capnp" ,rust-capnp-0.13) ("rust-futures" ,rust-futures-0.3)) #:cargo-development-inputs (("rust-capnp" ,rust-capnp-0.13) - ("rust-quickcheck" ,rust-quickcheck-0.9)))) + ("rust-quickcheck" ,rust-quickcheck-0.9)))))) + +(define-public rust-capnp-rpc-0.14 + (package + (name "rust-capnp-rpc") + (version "0.14.1") + (source (origin + (method url-fetch) + (uri (crate-uri "capnp-rpc" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0pm9bjw481lw1zp8lmzkpsjrb85lbjg5s46piqbc3wk8dzwifksc")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-capnp" ,rust-capnp-0.14) + ("rust-capnp-futures" ,rust-capnp-futures-0.14) + ("rust-futures" ,rust-futures-0.3)))) + (native-inputs + (list capnproto)) (home-page "https://github.com/capnproto/capnproto-rust") - (synopsis "Async serialization for Cap'n Proto messages") - (description "This package provides async serialization for Cap'n Proto -messages.") + (synopsis "Cap'n Proto remote procedure call protocol implementation") + (description "This package provides an implementation of the Cap'n Proto +remote procedure call protocol") (license license:expat))) (define-public rust-capnp-rpc-0.13 (package + (inherit rust-capnp-rpc-0.14) (name "rust-capnp-rpc") (version "0.13.1") (source @@ -9949,21 +10444,13 @@ messages.") (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 "17p0y0yk68pzsnpmaklhiqrrlrrv0ld8nhbg4qflmgibshi8b69p")))) - (build-system cargo-build-system) - (native-inputs - (list capnproto)) (arguments `(#:cargo-inputs (("rust-capnp" ,rust-capnp-0.13) ("rust-capnp-futures" ,rust-capnp-futures-0.13) ("rust-futures" ,rust-futures-0.3)) #:cargo-development-inputs - (("rust-capnpc" ,rust-capnpc-0.13)))) - (home-page "https://github.com/capnproto/capnproto-rust") - (synopsis "Cap'n Proto remote procedure call protocol implementation") - (description "This package provides an implementation of the Cap'n Proto -remote procedure call protocol") - (license license:expat))) + (("rust-capnpc" ,rust-capnpc-0.13)))))) (define-public rust-capnpc-0.13 (package @@ -10031,10 +10518,35 @@ capabilities.") ("rust-error-chain" ,rust-error-chain-0.12) ("rust-libc" ,rust-libc-0.2)))))) -(define-public rust-cargo-0.68 +(define-public rust-carapace-spec-clap-0.1 + (package + (name "rust-carapace-spec-clap") + (version "0.1.12") + (source (origin + (method url-fetch) + (uri (crate-uri "carapace-spec-clap" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1pb140siiqbljpvpck5hldmfyadi3db3s8xhcqnf9ff2ln3bs9zf")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-clap" ,rust-clap-4) + ("rust-clap-complete" ,rust-clap-complete-4) + ("rust-indexmap" ,rust-indexmap-2) + ("rust-serde" ,rust-serde-1) + ("rust-serde-yaml" ,rust-serde-yaml-0.9)) + #:cargo-development-inputs (("rust-snapbox" ,rust-snapbox-0.4)))) + (home-page "https://github.com/rsteube/carapace-spec-clap") + (synopsis "spec generation for clap-rs/clap") + (description "This package provides spec generation for clap-rs/clap.") + (license license:expat))) + +(define-public rust-cargo-0.69 (package (name "rust-cargo") - (version "0.68.0") + (version "0.69.1") (source (origin (method url-fetch) @@ -10043,7 +10555,12 @@ capabilities.") (string-append name "-" version ".tar.gz")) (sha256 (base32 - "0kgj3kh3lkdviz2y2apmkkh1yy7n88aj6gfb96l0gm1w2xq80pnz")))) + "0m2dki3hx81vifhy2abp3j5079y3nja52arm60xp6lv24jwimkrf")) + (modules '((guix build utils))) + (snippet + '(begin (substitute* "Cargo.toml" + (("=([[:digit:]]+\\.[[:digit:]]+\\.[[:digit:]]+)" _ version) + (string-append "^" version))))))) (build-system cargo-build-system) (arguments `(;; The test suite is disabled as the internal 'cargo-test-macro' and @@ -10087,6 +10604,7 @@ capabilities.") ("rust-opener" ,rust-opener-0.5) ("rust-openssl" ,rust-openssl-0.10) ("rust-os-info" ,rust-os-info-3) + ("rust-pasetors" ,rust-pasetors-0.6) ("rust-pathdiff" ,rust-pathdiff-0.2) ("rust-percent-encoding" ,rust-percent-encoding-2) ("rust-pretty-env-logger" ,rust-pretty-env-logger-0.4) @@ -10103,6 +10621,7 @@ capabilities.") ("rust-tar" ,rust-tar-0.4) ("rust-tempfile" ,rust-tempfile-3) ("rust-termcolor" ,rust-termcolor-1) + ("rust-time" ,rust-time-0.3) ("rust-toml-edit" ,rust-toml-edit-0.15) ("rust-unicode-width" ,rust-unicode-width-0.1) ("rust-unicode-xid" ,rust-unicode-xid-0.2) @@ -10122,10 +10641,49 @@ capabilities.") the library crate of Cargo.") (license (list license:expat license:asl2.0)))) +(define-public rust-cargo-config2-0.1 + (package + (name "rust-cargo-config2") + (version "0.1.8") + (source (origin + (method url-fetch) + (uri (crate-uri "cargo-config2" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1vxbyjd2zm75k5jx3hgqi9h5fj3j37ahrpyl1davsz5zzk1j5mj1")))) + (build-system cargo-build-system) + (arguments + `(#:tests? #f ; Not all files included. + #:cargo-inputs + (("rust-cfg-expr" ,rust-cfg-expr-0.15) + ("rust-home" ,rust-home-0.5) + ("rust-once-cell" ,rust-once-cell-1) + ("rust-serde" ,rust-serde-1) + ("rust-shell-escape" ,rust-shell-escape-0.1) + ("rust-toml" ,rust-toml-0.7)) + #:cargo-development-inputs + (("rust-anyhow" ,rust-anyhow-1) + ("rust-build-context" ,rust-build-context-0.1) + ("rust-clap" ,rust-clap-4) + ("rust-duct" ,rust-duct-0.13) + ("rust-fs-err" ,rust-fs-err-2) + ("rust-lexopt" ,rust-lexopt-0.3) + ("rust-rustversion" ,rust-rustversion-1) + ("rust-serde-json" ,rust-serde-json-1) + ("rust-static-assertions" ,rust-static-assertions-1) + ("rust-tempfile" ,rust-tempfile-3) + ("rust-toml" ,rust-toml-0.7) + ("rust-walkdir" ,rust-walkdir-2)))) + (home-page "https://github.com/taiki-e/cargo-config2") + (synopsis "Load and resolve Cargo configuration") + (description "Load and resolve Cargo configuration.") + (license (list license:asl2.0 license:expat)))) + (define-public rust-cargo-metadata-0.15 (package (name "rust-cargo-metadata") - (version "0.15.0") + (version "0.15.5") (source (origin (method url-fetch) @@ -10134,24 +10692,18 @@ the library crate of Cargo.") (string-append name "-" version ".tar.gz")) (sha256 (base32 - "0dpcddizs4zhbvbsv3kxx9p0qppidxh05jz7dlf45f5rsm9pbfrs")) - (modules '((guix build utils))) - (snippet - '(begin - ;; Allow older versions of the serde crates. - (substitute* "Cargo.toml" - (("1.0.136") "1.0.133") - (("1.0.79") "1.0.74")))))) + "1lsmvfznc6vlizxvjm5rvi8m6iyj0ldjhbh80h6bymdp08vl969g")))) (build-system cargo-build-system) (arguments `(#:tests? #f ; Not all tests included. #:cargo-inputs (("rust-camino" ,rust-camino-1) ("rust-cargo-platform" ,rust-cargo-platform-0.1) - ("rust-derive-builder" ,rust-derive-builder-0.11) + ("rust-derive-builder" ,rust-derive-builder-0.12) ("rust-semver" ,rust-semver-1) ("rust-serde" ,rust-serde-1) - ("rust-serde-json" ,rust-serde-json-1)))) + ("rust-serde-json" ,rust-serde-json-1) + ("rust-thiserror" ,rust-thiserror-1)))) (home-page "https://github.com/oli-obk/cargo_metadata") (synopsis "Structured access to the output of `cargo metadata`") (description @@ -10328,6 +10880,26 @@ optional dependency graph analysis.") ("rust-toml" ,rust-toml-0.5) ("rust-url" ,rust-url-2)))))) +(define-public rust-cargo-options-0.6 + (package + (name "rust-cargo-options") + (version "0.6.0") + (source (origin + (method url-fetch) + (uri (crate-uri "cargo-options" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0m99dz9vpsplf4s955dvfnfrcvdkm7cifwymriyam11bdfm8v3lv")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs (("rust-clap" ,rust-clap-4)) + #:cargo-development-inputs (("rust-trycmd" ,rust-trycmd-0.14)))) + (home-page "https://github.com/messense/cargo-options") + (synopsis "Reusable common Cargo command line options") + (description "Reusable common Cargo command line options.") + (license license:expat))) + (define-public rust-cargo-platform-0.1 (package (name "rust-cargo-platform") @@ -10477,6 +11049,29 @@ box''.") #:cargo-development-inputs (("rust-quickcheck" ,rust-quickcheck-0.9)))))) +(define-public rust-cast5-0.11 + (package + (name "rust-cast5") + (version "0.11.1") + (source (origin + (method url-fetch) + (uri (crate-uri "cast5" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "04crg8dj6lxbp3lmdc3filsahxcyvccvhm0gx40g1k5i7mkpvc16")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-cipher" ,rust-cipher-0.4)) + #:cargo-development-inputs + (("rust-cipher" ,rust-cipher-0.4) + ("rust-hex-literal" ,rust-hex-literal-0.3)))) + (home-page "https://github.com/RustCrypto/block-ciphers") + (synopsis "CAST5 block cipher") + (description "CAST5 block cipher") + (license (list license:expat license:asl2.0)))) + (define-public rust-castaway-0.2 (package (name "rust-castaway") @@ -10501,6 +11096,30 @@ box''.") types that works on stable Rust.") (license license:expat))) +(define-public rust-cbc-0.1 + (package + (name "rust-cbc") + (version "0.1.2") + (source (origin + (method url-fetch) + (uri (crate-uri "cbc" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "19l9y9ccv1ffg6876hshd123f2f8v7zbkc4nkckqycxf8fajmd96")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-cipher" ,rust-cipher-0.4)) + #:cargo-development-inputs + (("rust-aes" ,rust-aes-0.8) + ("rust-cipher" ,rust-cipher-0.4) + ("rust-hex-literal" ,rust-hex-literal-0.3)))) + (home-page "https://github.com/RustCrypto/block-modes") + (synopsis "Cipher Block Chaining (CBC) block cipher mode of operation") + (description "Cipher Block Chaining (CBC) block cipher mode of operation.") + (license (list license:expat license:asl2.0)))) + (define-public rust-cblas-sys-0.1 (package (name "rust-cblas-sys") @@ -10653,6 +11272,30 @@ that need to represent UTF-16 data as 8-bit characters.") #:cargo-development-inputs (("rust-clang-sys" ,rust-clang-sys-0.11)))))) +(define-public rust-cfb-mode-0.8 + (package + (name "rust-cfb-mode") + (version "0.8.2") + (source (origin + (method url-fetch) + (uri (crate-uri "cfb-mode" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0c6kd34jk4p52vr0qgn9slj6zdgmc42gfcqr6mqhmy37g138v2vk")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-cipher" ,rust-cipher-0.4)) + #:cargo-development-inputs + (("rust-aes" ,rust-aes-0.8) + ("rust-cipher" ,rust-cipher-0.4) + ("rust-hex-literal" ,rust-hex-literal-0.3)))) + (home-page "https://github.com/RustCrypto/block-modes") + (synopsis "Cipher Feedback (CFB) block cipher mode of operation") + (description "Cipher Feedback (CFB) block cipher mode of operation") + (license (list license:expat license:asl2.0)))) + (define-public rust-cfg-aliases-0.1 (package (name "rust-cfg-aliases") @@ -10673,17 +11316,17 @@ that need to represent UTF-16 data as 8-bit characters.") winded @code{#[cfg()]} checks.") (license license:expat))) -(define-public rust-cfg-expr-0.10 +(define-public rust-cfg-expr-0.15 (package (name "rust-cfg-expr") - (version "0.10.3") - (source - (origin - (method url-fetch) - (uri (crate-uri "cfg-expr" version)) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 "1nw50j1sl6q96067399r1c6ppwp483q6vvmqdsnv493cv7sarb0a")))) + (version "0.15.3") + (source (origin + (method url-fetch) + (uri (crate-uri "cfg-expr" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0744z7sky6kgchfk2ilchb16bjyz7nk8p8zfn3p953y2xir00p11")))) (build-system cargo-build-system) (arguments `(#:cargo-inputs @@ -10698,6 +11341,25 @@ winded @code{#[cfg()]} checks.") expressions.") (license (list license:expat license:asl2.0)))) +(define-public rust-cfg-expr-0.10 + (package + (inherit rust-cfg-expr-0.15) + (name "rust-cfg-expr") + (version "0.10.3") + (source (origin + (method url-fetch) + (uri (crate-uri "cfg-expr" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1nw50j1sl6q96067399r1c6ppwp483q6vvmqdsnv493cv7sarb0a")))) + (arguments + `(#:cargo-inputs + (("rust-smallvec" ,rust-smallvec-1) + ("rust-target-lexicon" ,rust-target-lexicon-0.12)) + #:cargo-development-inputs + (("rust-similar-asserts" ,rust-similar-asserts-1)))))) + (define-public rust-cfg-expr-0.8 (package (inherit rust-cfg-expr-0.10) @@ -10958,21 +11620,24 @@ clauses.") (define-public rust-charset-0.1 (package (name "rust-charset") - (version "0.1.2") + (version "0.1.3") (source (origin (method url-fetch) (uri (crate-uri "charset" version)) (file-name (string-append name "-" version ".tar.gz")) (sha256 - (base32 "0wzwnck82maqa03hvpprpd1zvnzmzxpkqna4pxnf4g8wvxj6whjg")))) + (base32 "0iidr9d5a0jghkaj0888skm3c6368ff07nxmzwmwr8hj3afhgs8q")))) (build-system cargo-build-system) (arguments - `(#:skip-build? #t - #:cargo-inputs - (("rust-base64" ,rust-base64-0.10) + `(#:cargo-inputs + (("rust-base64" ,rust-base64-0.13) ("rust-encoding-rs" ,rust-encoding-rs-0.8) - ("rust-serde" ,rust-serde-1)))) + ("rust-serde" ,rust-serde-1)) + #:cargo-development-inputs + (("rust-bincode" ,rust-bincode-1) + ("rust-serde-derive" ,rust-serde-derive-1) + ("rust-serde-json" ,rust-serde-json-1)))) (home-page "https://docs.rs/charset/") (synopsis "Thunderbird-compatible character encoding decoding for email") (description @@ -11052,23 +11717,25 @@ Python arrow.humanize.") (define-public rust-chrono-tz-0.6 (package (name "rust-chrono-tz") - (version "0.6.0") + (version "0.6.3") (source (origin (method url-fetch) (uri (crate-uri "chrono-tz" version)) (file-name (string-append name "-" version ".tar.gz")) (sha256 - (base32 "12qcpjqva4fpj5kdcksbfhsc8dkbdhyi2z56p8dwf9bxc0f1rh34")))) + (base32 "1pmv434fhw9pwiqc12pvgaiskrq4v1dh1f238gfsg48r301r5hr9")))) (build-system cargo-build-system) (arguments - `(#:skip-build? #t - #:cargo-inputs + `(#:cargo-inputs (("rust-chrono" ,rust-chrono-0.4) - ("rust-chrono-tz-build" ,rust-chrono-tz-build-0.0.2) - ("rust-phf" ,rust-phf-0.10) + ("rust-chrono-tz-build" ,rust-chrono-tz-build-0.0.3) + ("rust-phf" ,rust-phf-0.11) ("rust-serde" ,rust-serde-1) - ("rust-uncased" ,rust-uncased-0.9)))) + ("rust-uncased" ,rust-uncased-0.9)) + #:cargo-development-inputs + (("rust-chrono" ,rust-chrono-0.4) + ("rust-serde-test" ,rust-serde-test-1)))) (home-page "https://github.com/chronotope/chrono-tz") (synopsis "TimeZone implementations for rust-chrono from the IANA database") (description @@ -11095,24 +11762,23 @@ for @code{rust-chrono}.") ("rust-parse-zoneinfo" ,rust-parse-zoneinfo-0.3) ("rust-serde" ,rust-serde-1)))))) -(define-public rust-chrono-tz-build-0.0.2 +(define-public rust-chrono-tz-build-0.0.3 (package (name "rust-chrono-tz-build") - (version "0.0.2") + (version "0.0.3") (source (origin (method url-fetch) (uri (crate-uri "chrono-tz-build" version)) (file-name (string-append name "-" version ".tar.gz")) (sha256 - (base32 "0schy3z03psvmc6734hgkx52cdb3zvixgzhvhr0mzxmj7x4qs1fv")))) + (base32 "031s51dd2vbxdhz7fxk1jpbbvr800w57an14bsq3fd5khwx9ql3g")))) (build-system cargo-build-system) (arguments - `(#:skip-build? #t - #:cargo-inputs + `(#:cargo-inputs (("rust-parse-zoneinfo" ,rust-parse-zoneinfo-0.3) - ("rust-phf" ,rust-phf-0.10) - ("rust-phf-codegen" ,rust-phf-codegen-0.10) + ("rust-phf" ,rust-phf-0.11) + ("rust-phf-codegen" ,rust-phf-codegen-0.11) ("rust-regex" ,rust-regex-1) ("rust-uncased" ,rust-uncased-0.9)))) (home-page "https://github.com/chronotope/chrono-tz") @@ -11122,6 +11788,32 @@ for @code{rust-chrono}.") chrono-tz Rust crate.") (license (list license:expat license:asl2.0)))) +(define-public rust-chumsky-0.9 + (package + (name "rust-chumsky") + (version "0.9.2") + (source (origin + (method url-fetch) + (uri (crate-uri "chumsky" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "179llm5hybq5fr21mi681dq5f51j98laqmwh56kvadk2p4l045r3")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-hashbrown" ,rust-hashbrown-0.12) + ("rust-stacker" ,rust-stacker-0.1)) + #:cargo-development-inputs + (("rust-ariadne" ,rust-ariadne-0.1) + ("rust-pom" ,rust-pom-3)))) + (home-page "https://github.com/zesterer/chumsky") + (synopsis "Parser library for humans with powerful error recovery") + (description + "This package provides a parser library for humans with powerful error +recovery.") + (license license:expat))) + (define-public rust-chunked-transfer-1 (package (name "rust-chunked-transfer") @@ -11326,7 +12018,7 @@ usage.") (define-public rust-cipher-0.4 (package (name "rust-cipher") - (version "0.4.3") + (version "0.4.4") (source (origin (method url-fetch) @@ -11334,7 +12026,7 @@ usage.") (file-name (string-append name "-" version ".tar.gz")) (sha256 - (base32 "17mmmqaalirdx7bpdhrgzp1sd392zm08mjrr24cjr57pz1q351yi")))) + (base32 "1b9x9agg67xq5nq879z66ni4l08m6m3hqcshk37d4is4ysd3ngvp")))) (build-system cargo-build-system) (arguments `(#:cargo-inputs @@ -11450,31 +12142,9 @@ traits.") (base32 "1hjr333izzhs6bic84qwnyzy5xzmvasib8f3zkzj4ln3a97c1xyp")))))) -(define-public rust-clang-sys-0.22 - (package - (inherit rust-clang-sys-0.26) - (name "rust-clang-sys") - (version "0.22.0") - (source - (origin - (method url-fetch) - (uri (crate-uri "clang-sys" version)) - (file-name - (string-append name "-" version ".tar.gz")) - (sha256 - (base32 - "0f65dw1ydnzq4wrv894fql78n4ikb53jjp53xck0s4hb64s1m6lk")))) - (build-system cargo-build-system) - (arguments - `(#:cargo-inputs - (("rust-clippy" ,rust-clippy-0.0) - ("rust-glob" ,rust-glob-0.2) - ("rust-libc" ,rust-libc-0.2) - ("rust-libloading" ,rust-libloading-0.5)))))) - (define-public rust-clang-sys-0.11 (package - (inherit rust-clang-sys-0.22) + (inherit rust-clang-sys-0.26) (name "rust-clang-sys") (version "0.11.1") (source @@ -11496,6 +12166,85 @@ traits.") ("rust-libc" ,rust-libc-0.2) ("rust-libloading" ,rust-libloading-0.3)))))) +(define-public rust-clap-complete-command-0.5 + (package + (name "rust-clap-complete-command") + (version "0.5.1") + (source (origin + (method url-fetch) + (uri (crate-uri "clap-complete-command" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0gcsj6ls8y0jpjp5172gdqwx5zj6gm4wdgrqysglr3d73qvrad0q")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-carapace-spec-clap" ,rust-carapace-spec-clap-0.1) + ("rust-clap" ,rust-clap-4) + ("rust-clap-complete" ,rust-clap-complete-4) + ("rust-clap-complete-fig" ,rust-clap-complete-fig-4) + ("rust-clap-complete-nushell" ,rust-clap-complete-nushell-0.1)) + #:cargo-development-inputs (("rust-clap" ,rust-clap-4)))) + (home-page "https://github.com/nihaals/clap-complete-command") + (synopsis + "Reduces boilerplate for adding a shell completion command to Clap") + (description "This package reduces boilerplate for adding a shell completion +command to Clap.") + (license license:expat))) + +(define-public rust-clap-complete-fig-4 + (package + (name "rust-clap-complete-fig") + (version "4.3.1") + (source (origin + (method url-fetch) + (uri (crate-uri "clap-complete-fig" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "17yfrdxy555fv56y0n69r4kgd2iwpq4mgz6k5rn5lc2i1b9y3zlr")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-clap" ,rust-clap-4) + ("rust-clap-complete" ,rust-clap-complete-4)) + #:cargo-development-inputs + (("rust-clap" ,rust-clap-4) + ("rust-snapbox" ,rust-snapbox-0.4)))) + (home-page "https://github.com/clap-rs/clap/tree/master/clap_complete_fig") + (synopsis "Generator library used with clap for Fig completion scripts") + (description + "This package provides a generator library used with clap for Fig +completion scripts.") + (license (list license:expat license:asl2.0)))) + +(define-public rust-clap-complete-nushell-0.1 + (package + (name "rust-clap-complete-nushell") + (version "0.1.10") + (source (origin + (method url-fetch) + (uri (crate-uri "clap-complete-nushell" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0b15s7d9xpqjr1fpj8lmcv6nhgbhxvm0rzbh3cavv0xawvsl3yn7")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-clap" ,rust-clap-4) + ("rust-clap-complete" ,rust-clap-complete-4)) + #:cargo-development-inputs (("rust-snapbox" ,rust-snapbox-0.4)))) + (home-page + "https://github.com/clap-rs/clap/tree/master/clap_complete_nushell") + (synopsis + "Generator library used with clap for Nushell completion scripts") + (description + "This package provides a generator library used with clap for Nushell +completion scripts.") + (license license:expat))) + (define-public rust-clap-conf-0.1 (package (name "rust-clap-conf") @@ -11529,22 +12278,21 @@ how to behave across the three main input sources") (define-public rust-clap-derive-4 (package (name "rust-clap-derive") - (version "4.1.0") + (version "4.3.12") (source (origin (method url-fetch) (uri (crate-uri "clap_derive" version)) (file-name (string-append name "-" version ".tar.gz")) (sha256 - (base32 "1s4c4005xsdw5zlq8z5h02mgjcsqgcd1ydxg6iird49fcxyjfjk8")))) + (base32 "0l50j37jwbzfl29bd2a1ib7z1jpch4b9868himrgwpgwb1bvpaal")))) (build-system cargo-build-system) (arguments (list #:cargo-inputs `(("rust-heck" ,rust-heck-0.4) - ("rust-proc-macro-error" ,rust-proc-macro-error-1) ("rust-proc-macro2" ,rust-proc-macro2-1) ("rust-quote" ,rust-quote-1) - ("rust-syn" ,rust-syn-1)))) + ("rust-syn" ,rust-syn-2)))) (home-page "https://clap.rs/") (synopsis "Procedural macro crate for Clap") (description @@ -11576,33 +12324,20 @@ how to behave across the three main input sources") (define-public rust-clap-4 (package (name "rust-clap") - (version "4.1.6") + (version "4.3.19") (source (origin (method url-fetch) (uri (crate-uri "clap" version)) (file-name (string-append name "-" version ".tar.gz")) (sha256 - (base32 "1qzmsg3j2rch16gbh753hsdgvfv6q4vc2xdxgnl66kadsj40a2zc")))) + (base32 "0ba5mbnkfr5v92yrr00f194w8k2rwyi9ckjcy1bqm5gz1fi09lsz")))) (build-system cargo-build-system) (arguments - (list #:cargo-test-flags - '(list "--release" "--" - ;; Some of the doc tests fail. - "--skip=builder::range::ValueRange::new" - "--skip=builder::value_parser::value_parser") - #:cargo-inputs - `(("rust-backtrace" ,rust-backtrace-0.3) - ("rust-bitflags" ,rust-bitflags-1) + (list #:cargo-inputs + `(("rust-clap-builder" ,rust-clap-builder-4) ("rust-clap-derive" ,rust-clap-derive-4) - ("rust-clap-lex" ,rust-clap-lex-0.3) - ("rust-is-terminal" ,rust-is-terminal-0.4) - ("rust-once-cell" ,rust-once-cell-1) - ("rust-strsim" ,rust-strsim-0.10) - ("rust-termcolor" ,rust-termcolor-1) - ("rust-terminal-size" ,rust-terminal-size-0.2) - ("rust-unicase" ,rust-unicase-2) - ("rust-unicode-width" ,rust-unicode-width-0.1)) + ("rust-once-cell" ,rust-once-cell-1)) #:cargo-development-inputs `(("rust-humantime" ,rust-humantime-2) ("rust-rustversion" ,rust-rustversion-1) @@ -11694,23 +12429,67 @@ Command Line Argument Parser.") ("rust-version-sync" ,rust-version-sync-0.8)))) (license license:expat))) +(define-public rust-clap-builder-4 + (package + (name "rust-clap-builder") + (version "4.3.19") + (source (origin + (method url-fetch) + (uri (crate-uri "clap-builder" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1qg9xrshy9h5cmavg4zfc1gzjkcwq2p97qyg6lm6dr8zizqa7ih1")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-test-flags + (list "--release" "--" + ;; Some of the doc tests fail. + "--skip=builder::range::ValueRange::new" + "--skip=builder::value_parser::value_parser") + #:cargo-inputs + (("rust-anstream" ,rust-anstream-0.3) + ("rust-anstyle" ,rust-anstyle-1) + ("rust-backtrace" ,rust-backtrace-0.3) + ("rust-clap-lex" ,rust-clap-lex-0.5) + ("rust-once-cell" ,rust-once-cell-1) + ("rust-strsim" ,rust-strsim-0.10) + ("rust-terminal-size" ,rust-terminal-size-0.2) + ("rust-unicase" ,rust-unicase-2) + ("rust-unicode-width" ,rust-unicode-width-0.1)) + #:cargo-development-inputs + (("rust-color-print" ,rust-color-print-0.3) + ("rust-humantime" ,rust-humantime-2) + ("rust-rustversion" ,rust-rustversion-1) + ("rust-shlex" ,rust-shlex-1) + ("rust-snapbox" ,rust-snapbox-0.4) + ("rust-static-assertions" ,rust-static-assertions-1) + ("rust-trybuild" ,rust-trybuild-1) + ("rust-trycmd" ,rust-trycmd-0.14) + ("rust-unic-emoji-char" ,rust-unic-emoji-char-0.9)))) + (home-page "https://github.com/clap-rs/clap") + (synopsis "Full-featured Command Line Argument Parser") + (description + "This package provides a simple to use, efficient, and full-featured +Command Line Argument Parser.") + (license (list license:expat license:asl2.0)))) + (define-public rust-clap-complete-4 (package (name "rust-clap-complete") - (version "4.1.2") + (version "4.3.2") (source (origin (method url-fetch) (uri (crate-uri "clap-complete" version)) (file-name (string-append name "-" version ".tar.gz")) (sha256 - (base32 "1zinf9gdr0fh1aff71nwqf51w856sbsbgq0dqpmmbhplggl5n4mx")))) + (base32 "1khpx0fxmjh46s8354nn507ba4s9kfksiia6ambh9a419hrl7i2z")))) (build-system cargo-build-system) (arguments `(#:cargo-inputs (("rust-clap" ,rust-clap-4) - ("rust-clap-lex" ,rust-clap-lex-0.3) + ("rust-clap-lex" ,rust-clap-lex-0.5) ("rust-is-executable" ,rust-is-executable-1) - ("rust-os-str-bytes" ,rust-os-str-bytes-6) ("rust-pathdiff" ,rust-pathdiff-0.2) ("rust-shlex" ,rust-shlex-1) ("rust-unicode-xid" ,rust-unicode-xid-0.2)) @@ -11782,20 +12561,18 @@ for programs written with Clap.") with Clap to generate Fig completion scripts.") (license (list license:expat license:asl2.0)))) -(define-public rust-clap-lex-0.3 +(define-public rust-clap-lex-0.5 (package (name "rust-clap-lex") - (version "0.3.0") + (version "0.5.0") (source (origin (method url-fetch) - (uri (crate-uri "clap_lex" version)) + (uri (crate-uri "clap-lex" version)) (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "1a4dzbnlxiamfsn0pnkhn7n9bdfjh66j9fxm6mmr7d227vvrhh8d")))) + "06vcvpvp65qggc5agbirzqk2di00gxg6vazzc3qlwzkw70qxm9id")))) (build-system cargo-build-system) - (arguments - `(#:cargo-inputs (("rust-os-str-bytes" ,rust-os-str-bytes-6)))) (home-page "https://github.com/clap-rs/clap/tree/master/clap_lex") (synopsis "Command line parser for Clap") (description @@ -11805,6 +12582,21 @@ stream of tokens.") ;; The user can choose either license. (license (list license:expat license:asl2.0)))) +(define-public rust-clap-lex-0.3 + (package + (inherit rust-clap-lex-0.5) + (name "rust-clap-lex") + (version "0.3.3") + (source (origin + (method url-fetch) + (uri (crate-uri "clap_lex" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0ip688faib67iqqy96i0qss77virr42sib1afj63a7yb99x6ngq3")))) + (arguments + `(#:cargo-inputs (("rust-os-str-bytes" ,rust-os-str-bytes-6)))))) + (define-public rust-clap-lex-0.2 (package (inherit rust-clap-lex-0.3) @@ -11821,6 +12613,30 @@ stream of tokens.") (arguments (list #:cargo-inputs `(("rust-os-str-bytes" ,rust-os-str-bytes-6)))))) +(define-public rust-clap-mangen-0.2 + (package + (name "rust-clap-mangen") + (version "0.2.11") + (source (origin + (method url-fetch) + (uri (crate-uri "clap-mangen" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0cbp5cnh25qnd6l6mqs3v6ky524vxyyf7assfzg8ba83v48xkjvb")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-clap" ,rust-clap-4) + ("rust-roff" ,rust-roff-0.2)) + #:cargo-development-inputs + (("rust-clap" ,rust-clap-4) + ("rust-snapbox" ,rust-snapbox-0.4)))) + (home-page "https://github.com/clap-rs/clap/tree/master/clap_mangen") + (synopsis "Manpage generator for clap") + (description "This package provides a manpage generator for clap.") + (license (list license:expat license:asl2.0)))) + (define-public rust-clearscreen-1 (package (name "rust-clearscreen") @@ -12121,6 +12937,36 @@ contains all syscalls and related types.") license:asl2.0 license:zlib)))) +(define-public rust-cmac-0.7 + (package + (name "rust-cmac") + (version "0.7.2") + (source (origin + (method url-fetch) + (uri (crate-uri "cmac" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1an1vcala24grlyhvk71ikxk2kmgcbal9kgrzzpjcl9z7i74ahw5")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-cipher" ,rust-cipher-0.4) + ("rust-dbl" ,rust-dbl-0.3) + ("rust-digest" ,rust-digest-0.10)) + #:cargo-development-inputs + (("rust-aes" ,rust-aes-0.8) + ("rust-des" ,rust-des-0.8) + ("rust-digest" ,rust-digest-0.10) + ("rust-hex-literal" ,rust-hex-literal-0.3) + ("rust-kuznyechik" ,rust-kuznyechik-0.8) + ("rust-magma" ,rust-magma-0.8)))) + (home-page "https://github.com/RustCrypto/MACs") + (synopsis "Generic implementation of Cipher-based Message Authentication Code") + (description "This package provides a pure Rust implementation of the +Cipher-based Message Authentication Code.") + (license (list license:expat license:asl2.0)))) + (define-public rust-cmake-0.1 (package (name "rust-cmake") @@ -12288,6 +13134,29 @@ CMAKE environmental variable is set.") "This package provides bindings to Cocoa Foundation for macOS.") (license (list license:expat license:asl2.0)))) +(define-public rust-codegenrs-2 + (package + (name "rust-codegenrs") + (version "2.0.0") + (source (origin + (method url-fetch) + (uri (crate-uri "codegenrs" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1mld8n8r4ns433gxs2jbndrzqjrxv7v0pwc66pf9a2v2mrgvbv6p")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-clap" ,rust-clap-3) + ("rust-derive-more" ,rust-derive-more-0.99) + ("rust-difference" ,rust-difference-2) + ("rust-normalize-line-endings" ,rust-normalize-line-endings-0.3)))) + (home-page "https://github.com/crate-ci/codegenrs") + (synopsis "Moving code-gen our of build.rs") + (description "Moving code-gen our of build.rs") + (license (list license:expat license:asl2.0)))) + (define-public rust-codepage-0.1 (package (name "rust-codepage") @@ -12400,6 +13269,52 @@ diagnostics easy and relatively painless for everyone!") sets of intervals.") (license license:expat))) +(define-public rust-color-print-0.3 + (package + (name "rust-color-print") + (version "0.3.4") + (source (origin + (method url-fetch) + (uri (crate-uri "color-print" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1l26nrk0w21kzh7hs15wfqs7lm80xbngwl46jra8ar6q9r8fd9gj")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-color-print-proc-macro" ,rust-color-print-proc-macro-0.3) + ("rust-lazy-static" ,rust-lazy-static-1) + ("rust-terminfo" ,rust-terminfo-0.7)))) + (home-page "https://gitlab.com/yolenoyer/color-print") + (synopsis "Colorize and stylize strings at compile-time") + (description + "Colorize and stylize strings at compile-time, by using an HTML-like syntax.") + (license (list license:expat license:asl2.0)))) + +(define-public rust-color-print-proc-macro-0.3 + (package + (name "rust-color-print-proc-macro") + (version "0.3.4") + (source (origin + (method url-fetch) + (uri (crate-uri "color-print-proc-macro" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0jsijb8b1hiyrmz6hpgcn8544w7ijp00prsfycgjsgfp6yjyl6ym")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-nom" ,rust-nom-7) + ("rust-proc-macro2" ,rust-proc-macro2-1) + ("rust-quote" ,rust-quote-1) + ("rust-syn" ,rust-syn-1)))) + (home-page "https://gitlab.com/yolenoyer/color-print") + (synopsis "Implementation for the package color-print") + (description "Implementation for the package color-print") + (license (list license:expat license:asl2.0)))) + (define-public rust-color-quant-1 (package (name "rust-color-quant") @@ -12421,6 +13336,23 @@ sets of intervals.") colors.") (license license:expat))) +(define-public rust-colorchoice-1 + (package + (name "rust-colorchoice") + (version "1.0.0") + (source (origin + (method url-fetch) + (uri (crate-uri "colorchoice" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1ix7w85kwvyybwi2jdkl3yva2r2bvdcc3ka2grjfzfgrapqimgxc")))) + (build-system cargo-build-system) + (home-page "https://github.com/rust-cli/anstyle") + (synopsis "Global override of color control") + (description "Global override of color control") + (license (list license:expat license:asl2.0)))) + (define-public rust-colored-2 (package (name "rust-colored") @@ -13032,8 +13964,37 @@ capabilities, for example to find out about its colored console abilities.") (sha256 (base32 "1isbqpyiwblp0rglnaqzai5hav23095s82mwgi09v3xcck4rq5dd")))))) +(define-public rust-concurrent-queue-2 + (package + (name "rust-concurrent-queue") + (version "2.2.0") + (source (origin + (method url-fetch) + (uri (crate-uri "concurrent-queue" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0z0bnpgcblhrms6gph7x78yplj3qmlr5mvl38v9641zsxiqngv32")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-crossbeam-utils" ,rust-crossbeam-utils-0.8) + ("rust-loom" ,rust-loom-0.5) + ("rust-portable-atomic" ,rust-portable-atomic-1)) + #:cargo-development-inputs + (("rust-criterion" ,rust-criterion-0.4) + ("rust-easy-parallel" ,rust-easy-parallel-3) + ("rust-fastrand" ,rust-fastrand-1)))) + (home-page "https://github.com/smol-rs/concurrent-queue") + (synopsis "Concurrent multi-producer multi-consumer queue") + (description + "This package provides a concurrent multi-producer multi-consumer +queue.") + (license (list license:asl2.0 license:expat)))) + (define-public rust-concurrent-queue-1 (package + (inherit rust-concurrent-queue-2) (name "rust-concurrent-queue") (version "1.2.2") (source @@ -13043,19 +14004,12 @@ capabilities, for example to find out about its colored console abilities.") (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 "18w6hblcjjk9d0my3657ra1zdj79gwfjmzvc0b3985g01dahgv9h")))) - (build-system cargo-build-system) (arguments `(#:cargo-inputs (("rust-cache-padded" ,rust-cache-padded-1)) #:cargo-development-inputs (("rust-easy-parallel" ,rust-easy-parallel-3) - ("rust-fastrand" ,rust-fastrand-1)))) - (home-page "https://github.com/stjepang/concurrent-queue") - (synopsis "Concurrent multi-producer multi-consumer queue") - (description - "This package provides a concurrent multi-producer multi-consumer -queue.") - (license (list license:asl2.0 license:expat)))) + ("rust-fastrand" ,rust-fastrand-1)))))) (define-public rust-config-0.11 (package @@ -13137,20 +14091,23 @@ applications.") configuration files.") (license license:bsd-2))) -(define-public rust-configparser-2 +(define-public rust-configparser-3 (package (name "rust-configparser") - (version "2.0.0") - (source - (origin - (method url-fetch) - (uri (crate-uri "configparser" version)) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 "1qdaggalm3js86s2i11pjjcndrrvpk0pw1lfvmv7v25z3y66sqg2")))) + (version "3.0.2") + (source (origin + (method url-fetch) + (uri (crate-uri "configparser" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0ypq3phwrlx2c7agdj1rlivkhsk9k795jb30j58azvw7lp8xjn2l")))) (build-system cargo-build-system) - (arguments `(#:skip-build? #t)) - (home-page "https://github.com/mexili/configparser-rs") + (arguments + `(#:cargo-inputs + (("rust-async-std" ,rust-async-std-1) + ("rust-indexmap" ,rust-indexmap-1)))) + (home-page "https://github.com/QEDK/configparser-rs") (synopsis "Simple parsing utility for INI and ini-style syntax") (description "This package provides a simple configuration parsing utility with no @@ -13158,6 +14115,20 @@ dependencies that allows you to parse INI and ini-style syntax. You can use this to write Rust programs which can be customized by end users easily.") (license (list license:expat license:lgpl3+)))) +(define-public rust-configparser-2 + (package + (inherit rust-configparser-3) + (name "rust-configparser") + (version "2.1.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "configparser" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "13zcjw2jlcc73fd1lcjmb2vzh3ckankin490m24xa96i2vj1w87p")))) + (arguments `()))) + (define-public rust-console-0.15 (package (name "rust-console") @@ -13412,17 +14383,18 @@ const functions with conditional compilations.") (define-public rust-const-oid-0.9 (package (name "rust-const-oid") - (version "0.9.1") + (version "0.9.2") (source (origin (method url-fetch) (uri (crate-uri "const-oid" version)) (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "0fyxvwnl3x6bxhy08a3g4ryf8mky6wnhwd6ll4g6mjxgfnk1ihyf")))) + "04xr993r37hd3kcwzll34kpihxrxj7yhr7fawgir8gs80wyby3sj")))) (build-system cargo-build-system) (arguments - `(#:skip-build? #t)) + `(#:cargo-inputs (("rust-arbitrary" ,rust-arbitrary-1)) + #:cargo-development-inputs (("rust-hex-literal" ,rust-hex-literal-0.3)))) (home-page "https://github.com/RustCrypto/formats/tree/master/const-oid") (synopsis "Implementation of the ISO/IEC Object Identifier (OID)") (description @@ -13511,8 +14483,31 @@ generation.") "This package provides a sha1 implementation for use in const contexts.") (license (list license:asl2.0 license:expat)))) +(define-public rust-constant-time-eq-0.2 + (package + (name "rust-constant-time-eq") + (version "0.2.5") + (source (origin + (method url-fetch) + (uri (crate-uri "constant-time-eq" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0sy7bs12dfa2d5hw7759b0mvjqcs85giajg4qyg39xq8a1s8wh8k")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-development-inputs (("rust-criterion" ,rust-criterion-0.4)))) + (home-page "https://github.com/cesarb/constant_time_eq") + (synopsis + "Compares two equal-sized byte strings in constant time") + (description + "This package compares two equal-sized byte strings in constant time. +It is inspired by the Linux kernel's @code{crypto_memneq}.") + (license (list license:cc0 license:expat-0 license:asl2.0)))) + (define-public rust-constant-time-eq-0.1 (package + (inherit rust-constant-time-eq-0.2) (name "rust-constant-time-eq") (version "0.1.5") (source @@ -13523,13 +14518,7 @@ generation.") (sha256 (base32 "1g3vp04qzmk6cpzrd19yci6a95m7ap6wy7wkwgiy2pjklklrfl14")))) - (build-system cargo-build-system) (home-page "https://github.com/cesarb/constant_time_eq") - (synopsis - "Compares two equal-sized byte strings in constant time") - (description - "This package compares two equal-sized byte strings in constant time. -It is inspired by the Linux kernel's @code{crypto_memneq}.") (license license:cc0))) (define-public rust-content-inspector-0.2 @@ -13607,22 +14596,22 @@ semantics than those provided by @code{as} or @code{From}/@code{Into}.") (description "Convert strings into any case.") (license license:expat))) -(define-public rust-cookie-0.16 +(define-public rust-cookie-0.17 (package (name "rust-cookie") - (version "0.16.2") - (source - (origin - (method url-fetch) - (uri (crate-uri "cookie" version)) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 "1yriqbf77iigrnp2gmf6m1r296bndv051dc1qc39w3bis1bwsng8")))) + (version "0.17.0") + (source (origin + (method url-fetch) + (uri (crate-uri "cookie" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "096c52jg9iq4lfcps2psncswv33fc30mmnaa2sbzzcfcw71kgyvy")))) (build-system cargo-build-system) (arguments `(#:cargo-inputs (("rust-aes-gcm" ,rust-aes-gcm-0.10) - ("rust-base64" ,rust-base64-0.20) + ("rust-base64" ,rust-base64-0.21) ("rust-hkdf" ,rust-hkdf-0.12) ("rust-hmac" ,rust-hmac-0.12) ("rust-percent-encoding" ,rust-percent-encoding-2) @@ -13640,6 +14629,31 @@ It supports signed and private (encrypted + signed) jars.") ;; The user can choose either license. (license (list license:expat license:asl2.0)))) +(define-public rust-cookie-0.16 + (package + (inherit rust-cookie-0.17) + (name "rust-cookie") + (version "0.16.2") + (source + (origin + (method url-fetch) + (uri (crate-uri "cookie" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "1yriqbf77iigrnp2gmf6m1r296bndv051dc1qc39w3bis1bwsng8")))) + (arguments + `(#:cargo-inputs + (("rust-aes-gcm" ,rust-aes-gcm-0.10) + ("rust-base64" ,rust-base64-0.20) + ("rust-hkdf" ,rust-hkdf-0.12) + ("rust-hmac" ,rust-hmac-0.12) + ("rust-percent-encoding" ,rust-percent-encoding-2) + ("rust-rand" ,rust-rand-0.8) + ("rust-sha2" ,rust-sha2-0.10) + ("rust-subtle" ,rust-subtle-2) + ("rust-time" ,rust-time-0.3) + ("rust-version-check" ,rust-version-check-0.9)))))) + (define-public rust-cookie-0.15 (package (inherit rust-cookie-0.16) @@ -13734,6 +14748,29 @@ It supports signed and private (encrypted + signed) jars.") similar to the nom parser combinators library.") (license license:expat))) +(define-public rust-coolor-0.5 + (package + (name "rust-coolor") + (version "0.5.1") + (source (origin + (method url-fetch) + (uri (crate-uri "coolor" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "11pvplrm51xjr0mmhwrjaif6vd7p2xpmdbwd0rbx2kr4iq4c4smd")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-crossterm" ,rust-crossterm-0.25)) + #:cargo-development-inputs + (("rust-crossterm" ,rust-crossterm-0.25) + ("rust-rand" ,rust-rand-0.8)))) + (home-page "https://github.com/Canop/coolor") + (synopsis "conversion between color formats") + (description "conversion between color formats") + (license license:expat))) + (define-public rust-copyless-0.1 (package (name "rust-copyless") @@ -13871,19 +14908,47 @@ in @code{no_std}. Alloc support is optional.") #:cargo-development-inputs (("rust-version-check" ,rust-version-check-0.9)))))) +(define-public rust-cookie-store-0.19 + (package + (name "rust-cookie-store") + (version "0.19.1") + (source (origin + (method url-fetch) + (uri (crate-uri "cookie-store" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "19vy19rvp3a68sgxkrv6bxxlrr2ggqp0176yqb3zhmi0g4sqz8fm")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-cookie" ,rust-cookie-0.16) + ("rust-idna" ,rust-idna-0.3) + ("rust-indexmap" ,rust-indexmap-1) + ("rust-log" ,rust-log-0.4) + ("rust-publicsuffix" ,rust-publicsuffix-2) + ("rust-serde" ,rust-serde-1) + ("rust-serde-derive" ,rust-serde-derive-1) + ("rust-serde-json" ,rust-serde-json-1) + ("rust-time" ,rust-time-0.3) + ("rust-url" ,rust-url-2)))) + (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-cookie-store-0.16 (package + (inherit rust-cookie-store-0.19) (name "rust-cookie-store") (version "0.16.1") (source (origin (method url-fetch) (uri (crate-uri "cookie-store" version)) - (file-name - (string-append name "-" version ".tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 "1kfrmxx9mi55dgbj8qgd8qbahvi1yjqwk05v0jm5y7zld6inljrf")))) - (build-system cargo-build-system) (arguments `(#:cargo-inputs (("rust-cookie" ,rust-cookie-0.16) @@ -13894,11 +14959,7 @@ in @code{no_std}. Alloc support is optional.") ("rust-serde" ,rust-serde-1) ("rust-serde-json" ,rust-serde-json-1) ("rust-time" ,rust-time-0.3) - ("rust-url" ,rust-url-2)))) - (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)))) + ("rust-url" ,rust-url-2)))))) (define-public rust-cookie-store-0.15 (package @@ -14221,29 +15282,51 @@ intrinsics.") "This package provides a counts the number of live instances of types.") (license (list license:expat license:asl2.0)))) +(define-public rust-cpp-demangle-0.4 + (package + (name "rust-cpp-demangle") + (version "0.4.1") + (source (origin + (method url-fetch) + (uri (crate-uri "cpp-demangle" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1ikd484ja34z3mbc1r1zj3y6ymxv3sc5y1n7wrr63xn7vy5zjxic")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-afl" ,rust-afl-0.12) + ("rust-cfg-if" ,rust-cfg-if-1)) + #:cargo-development-inputs + (("rust-clap" ,rust-clap-4) + ("rust-diff" ,rust-diff-0.1)))) + (home-page "https://github.com/gimli-rs/cpp_demangle") + (synopsis "Demangle C++ symbols") + (description + "This package provides a crate for demangling C++ symbols.") + (license (list license:expat license:asl2.0)))) + (define-public rust-cpp-demangle-0.3 (package + (inherit rust-cpp-demangle-0.4) (name "rust-cpp-demangle") - (version "0.3.2") + (version "0.3.6") (source (origin (method url-fetch) (uri (crate-uri "cpp_demangle" version)) (file-name (string-append name "-" version ".tar.gz")) (sha256 - (base32 "142knq32bpa2hbp4z0bldjd1x869664l0ff2gdrqx7pryv59x4a4")))) + (base32 "0zwvaqfawsfbnzmlhk9d8zngs4v3p5k9r9m2pxq8sygy7zpvgqg5")))) (build-system cargo-build-system) (arguments - `(#:skip-build? #t - #:cargo-inputs - (("rust-afl" ,rust-afl-0.8) - ("rust-cfg-if" ,rust-cfg-if-1) - ("rust-glob" ,rust-glob-0.3)))) - (home-page "https://github.com/gimli-rs/cpp_demangle") - (synopsis "Demangle C++ symbols") - (description - "This package provides a crate for demangling C++ symbols.") - (license (list license:asl2.0 license:expat)))) + `(#:cargo-inputs + (("rust-afl" ,rust-afl-0.12) + ("rust-cfg-if" ,rust-cfg-if-1)) + #:cargo-development-inputs + (("rust-clap" ,rust-clap-4) + ("rust-diff" ,rust-diff-0.1)))))) (define-public rust-cpufeatures-0.2 (package @@ -14448,7 +15531,7 @@ mile, ...).") (define-public rust-crates-io-0.35 (package (name "rust-crates-io") - (version "0.35.0") + (version "0.35.1") (source (origin (method url-fetch) @@ -14457,7 +15540,7 @@ mile, ...).") (string-append name "-" version ".tar.gz")) (sha256 (base32 - "0zlp8zdkd0qr1ik64wik8bavdm75y54xxp6d7mqvxvv8ssq97144")))) + "0bkypzxwchlff8nb6iy3a060lbph6hvhxsxj98k0f0m6gl3vdpz2")))) (build-system cargo-build-system) (arguments `(#:cargo-test-flags @@ -15277,14 +16360,14 @@ rasterizing glyphs, using native font engines whenever possible.") (package (inherit rust-crossfont-0.5) (name "rust-crossfont") - (version "0.3.1") + (version "0.3.2") (source (origin (method url-fetch) (uri (crate-uri "crossfont" version)) (file-name (string-append name "-" version ".tar.gz")) (sha256 - (base32 "079431wkjc18zj3038djai83z6fna0x7r1hxpxjhhi50jdz9dh5n")))) + (base32 "0lc2a6q9c4p35hpiwddhnx4f21l48xixjywmlvjbf5v49id6k68j")))) (arguments `(#:skip-build? #t #:cargo-inputs @@ -15338,6 +16421,37 @@ rasterizing glyphs, using native font engines whenever possible.") terminals.") (license license:expat))) +(define-public rust-crossterm-0.23 + (package + (inherit rust-crossterm-0.25) + (name "rust-crossterm") + (version "0.23.2") + (source (origin + (method url-fetch) + (uri (crate-uri "crossterm" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "05ygjddfp70961ij7cbvrrwz88r09hghdpcqbf50z4c1yyj2w452")))) + (arguments + `(#:cargo-inputs + (("rust-bitflags" ,rust-bitflags-1) + ("rust-crossterm-winapi" ,rust-crossterm-winapi-0.9) + ("rust-futures-core" ,rust-futures-core-0.3) + ("rust-libc" ,rust-libc-0.2) + ("rust-mio" ,rust-mio-0.8) + ("rust-parking-lot" ,rust-parking-lot-0.12) + ("rust-serde" ,rust-serde-1) + ("rust-signal-hook" ,rust-signal-hook-0.3) + ("rust-signal-hook-mio" ,rust-signal-hook-mio-0.2) + ("rust-winapi" ,rust-winapi-0.3)) + #:cargo-development-inputs + (("rust-async-std" ,rust-async-std-1) + ("rust-futures" ,rust-futures-0.3) + ("rust-futures-timer" ,rust-futures-timer-3) + ("rust-serde-json" ,rust-serde-json-1) + ("rust-tokio" ,rust-tokio-1)))))) + (define-public rust-crossterm-0.20 (package (inherit rust-crossterm-0.25) @@ -15487,6 +16601,31 @@ number ``crunching``.") "@code{roxmltree} represents an XML 1.0 document as a read-only tree.") (license (list license:expat license:asl2.0)))) +(define-public rust-rtoolbox-0.0.1 + (package + (name "rust-rtoolbox") + (version "0.0.1") + (source (origin + (method url-fetch) + (uri (crate-uri "rtoolbox" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0jjjngwn1fa39kschc8zb4hynp4b0jdind7z225cph7m2k2j4kh3")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-libc" ,rust-libc-0.2) + ("rust-serde" ,rust-serde-1) + ("rust-serde-json" ,rust-serde-json-1) + ("rust-winapi" ,rust-winapi-0.3)))) + (home-page "") + (synopsis "Utility functions for other crates") + (description + "This package provides utility functions for other crates with no +backwards compatibility guarantees.") + (license license:asl2.0))) + (define-public rust-rt-format-0.3 (package (name "rust-rt-format") @@ -15552,8 +16691,49 @@ character.") (arguments `(#:cargo-inputs (("rust-nom" ,rust-nom-6)))))) +(define-public rust-crypto-bigint-0.5 + (package + (name "rust-crypto-bigint") + (version "0.5.2") + (source (origin + (method url-fetch) + (uri (crate-uri "crypto-bigint" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "05gy7sqkxg65bj1wrgq1pbh8iwn1kmfysvzx1g22p4gx3972yk6g")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-der" ,rust-der-0.7) + ("rust-generic-array" ,rust-generic-array-0.14) + ("rust-rand-core" ,rust-rand-core-0.6) + ("rust-rlp" ,rust-rlp-0.5) + ("rust-serdect" ,rust-serdect-0.2) + ("rust-subtle" ,rust-subtle-2) + ("rust-zeroize" ,rust-zeroize-1)) + #:cargo-development-inputs + (("rust-bincode" ,rust-bincode-1) + ("rust-criterion" ,rust-criterion-0.4) + ("rust-hex-literal" ,rust-hex-literal-0.4) + ("rust-num-bigint" ,rust-num-bigint-0.4) + ("rust-num-integer" ,rust-num-integer-0.1) + ("rust-num-traits" ,rust-num-traits-0.2) + ("rust-proptest" ,rust-proptest-1) + ("rust-rand-chacha" ,rust-rand-chacha-0.3) + ("rust-rand-core" ,rust-rand-core-0.6)))) + (home-page "https://github.com/RustCrypto/crypto-bigint") + (synopsis "Big integer library designed for use in cryptography") + (description + "This crate is a pure Rust implementation of a big integer library which +has been designed from the ground-up for use in cryptographic applications. +Provides constant-time, no_std-friendly implementations of modern formulas +using const generics.") + (license (list license:asl2.0 license:expat)))) + (define-public rust-crypto-bigint-0.2 (package + (inherit rust-crypto-bigint-0.5) (name "rust-crypto-bigint") (version "0.2.11") (source @@ -15563,7 +16743,6 @@ character.") (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 "00qckh65nzb7s7vd60wylw6alxf9g37xh31lirb1qw0l8fxx6fzq")))) - (build-system cargo-build-system) (arguments `(#:skip-build? #t #:cargo-inputs @@ -15571,15 +16750,7 @@ character.") ("rust-rand-core" ,rust-rand-core-0.6) ("rust-rlp" ,rust-rlp-0.5) ("rust-subtle" ,rust-subtle-2) - ("rust-zeroize" ,rust-zeroize-1)))) - (home-page "https://github.com/RustCrypto/crypto-bigint") - (synopsis "Big integer library designed for use in cryptography") - (description - "This crate is a pure Rust implementation of a big integer library which -has been designed from the ground-up for use in cryptographic applications. -Provides constant-time, no_std-friendly implementations of modern formulas -using const generics.") - (license (list license:asl2.0 license:expat)))) + ("rust-zeroize" ,rust-zeroize-1)))))) (define-public rust-crypto-common-0.1 (package @@ -16033,29 +17204,6 @@ processors.") "Bare bones CSV parsing with no_std support.") (license (list license:unlicense license:expat)))) -(define-public rust-csv-index-0.1 - (package - (name "rust-csv-index") - (version "0.1.6") - (source - (origin - (method url-fetch) - (uri (crate-uri "csv-index" version)) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 "01048y84y0bakqm0x4y1svjv6lzc753b9q598xp7xgcqrdgi6x7j")))) - (build-system cargo-build-system) - (arguments - `(#:cargo-inputs - (("rust-byteorder" ,rust-byteorder-1) - ("rust-csv" ,rust-csv-1)))) - (home-page "https://github.com/BurntSushi/rust-csv") - (synopsis "On-disk CSV indexing data structures") - (description - "A collection of data structures for indexing CSV data, with a focus on -data structures that can be easily serialized to and deserialized from disk.") - (license (list license:unlicense license:expat)))) - (define-public rust-cstr-core-0.2 (package (name "rust-cstr-core") @@ -16079,6 +17227,26 @@ data structures that can be easily serialized to and deserialized from disk.") "This crates implements CStr and CString for no_std environments.") (license (list license:asl2.0 license:expat)))) +(define-public rust-ct-codecs-1 + (package + (name "rust-ct-codecs") + (version "1.1.1") + (source (origin + (method url-fetch) + (uri (crate-uri "ct-codecs" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1pvmrkk95jadmhhd5mn88mq2dfnq0yng8mk3pfd5l6dq0i2fpdzk")))) + (build-system cargo-build-system) + (home-page "https://github.com/jedisct1/rust-ct-codecs") + (synopsis + "Constant-time hex and base64 codecs from libsodium reimplemented in Rust") + (description + "This package provides constant-time hex and base64 codecs from libsodium +reimplemented in Rust") + (license license:expat))) + (define-public rust-ct-logs-0.8 (package (name "rust-ct-logs") @@ -16119,40 +17287,33 @@ use with sct crate.") (arguments `(#:cargo-inputs (("rust-sct" ,rust-sct-0.6)))))) -(define-public rust-ct-logs-0.6 - (package - (inherit rust-ct-logs-0.7) - (name "rust-ct-logs") - (version "0.6.0") - (source - (origin - (method url-fetch) - (uri (crate-uri "ct-logs" version)) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 "04wiwiv4ghni3x2vni3z711mlz0ndqvh04vmdkbw3nr7zbsqcdjd")))) - (arguments - `(#:cargo-inputs - (("rust-sct" ,rust-sct-0.6)))))) - -(define-public rust-ct-logs-0.3 +(define-public rust-ctor-0.2 (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")))) + (name "rust-ctor") + (version "0.2.0") + (source (origin + (method url-fetch) + (uri (crate-uri "ctor" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "06rhrw85py0gkk7g99qk124mk6d5isq95nn3abc84fyf7zv5ch6x")))) + (build-system cargo-build-system) (arguments `(#:cargo-inputs - (("rust-sct" ,rust-sct-0.3)))))) + (("rust-quote" ,rust-quote-1) + ("rust-syn" ,rust-syn-2)) + #:cargo-development-inputs + (("rust-libc-print" ,rust-libc-print-0.1)))) + (home-page "https://github.com/mmastrac/rust-ctor") + (synopsis "__attribute__((constructor)) for Rust") + (description + "This package provides an @code{__attribute__((constructor))} for Rust.") + (license (list license:asl2.0 license:expat)))) (define-public rust-ctor-0.1 (package + (inherit rust-ctor-0.2) (name "rust-ctor") (version "0.1.26") (source @@ -16162,18 +17323,12 @@ use with sct crate.") (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 "15m0wqhv12p25xkxz5dxvg23r7a6bkh7p8zi1cdhgswjhdl028vd")))) - (build-system cargo-build-system) (arguments (list #:cargo-inputs `(("rust-syn" ,rust-syn-1) ("rust-quote" ,rust-quote-1)) #:cargo-development-inputs - `(("rust-libc-print" ,rust-libc-print-0.1)))) - (home-page "https://github.com/mmastrac/rust-ctor") - (synopsis "__attribute__((constructor)) for Rust") - (description - "This package provides an @code{__attribute__((constructor))} for Rust.") - (license (list license:asl2.0 license:expat)))) + `(("rust-libc-print" ,rust-libc-print-0.1)))))) (define-public rust-ctr-0.9 (package @@ -16322,7 +17477,7 @@ requests.") (define-public rust-curl-sys-0.4 (package (name "rust-curl-sys") - (version "0.4.61+curl-8.0.1") + (version "0.4.63+curl-8.1.2") (source (origin (method url-fetch) @@ -16330,7 +17485,7 @@ requests.") (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "0yfv88w17434s5mbrcphsnvpvx0103127ndkqlxnzbj1yl85rl0l")) + "1p3inybj3yb8wwnccg8jwfwsqg0fiybh9837mpia28k00kvzxc5f")) (modules '((guix build utils))) (snippet '(begin (delete-file-recursively "curl"))))) @@ -16391,6 +17546,39 @@ requests.") ristretto255 and Curve25519.") (license license:bsd-3))) +(define-public rust-curve25519-dalek-ng-4 + (package + (name "rust-curve25519-dalek-ng") + (version "4.1.1") + (source (origin + (method url-fetch) + (uri (crate-uri "curve25519-dalek-ng" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1j6y6dsqdfp26ifyygibsrm1a8f9f7870i4053xlczil95r9nd8w")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-byteorder" ,rust-byteorder-1) + ("rust-digest" ,rust-digest-0.9) + ("rust-packed-simd-2" ,rust-packed-simd-2-0.3) + ("rust-rand-core" ,rust-rand-core-0.6) + ("rust-serde" ,rust-serde-1) + ("rust-subtle-ng" ,rust-subtle-ng-2) + ("rust-zeroize" ,rust-zeroize-1)) + #:cargo-development-inputs + (("rust-bincode" ,rust-bincode-1) + ("rust-criterion" ,rust-criterion-0.3) + ("rust-rand" ,rust-rand-0.8) + ("rust-sha2" ,rust-sha2-0.9)))) + (home-page "https://github.com/zkcrypto/curve25519-dalek-ng") + (synopsis "Implementation of group operations on ristretto255 and Curve25519") + (description + "This package provides a pure-Rust implementation of group operations on +ristretto255 and Curve25519.") + (license license:bsd-3))) + (define-public rust-custom-derive-0.1 (package (name "rust-custom-derive") @@ -16416,6 +17604,25 @@ ristretto255 and Curve25519.") attributes.") (license (list license:asl2.0 license:expat)))) +(define-public rust-cvt-0.1 + (package + (name "rust-cvt") + (version "0.1.2") + (source (origin + (method url-fetch) + (uri (crate-uri "cvt" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1wdwg2rbjl86bcrymscl34pw31kyv1ada19jazpkjbdzgzvrpbnj")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs (("rust-cfg-if" ,rust-cfg-if-1)))) + (home-page "https://github.com/marmistrz/cvt") + (synopsis "Expose the cvt function from Rust libstd") + (description "Expose the cvt function from Rust libstd.") + (license license:asl2.0))) + (define-public rust-cxx-1 (package (name "rust-cxx") @@ -17121,7 +18328,7 @@ for Rust.") (define-public rust-data-encoding-2 (package (name "rust-data-encoding") - (version "2.3.1") + (version "2.4.0") (source (origin (method url-fetch) @@ -17129,7 +18336,7 @@ for Rust.") (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "027rcrwdschrkdr2n9d24gnh03vl41qmvhjqn9vn6z1njy2n0flr")))) + "023k3dk8422jgbj7k72g63x51h1mhv91dhw1j4h205vzh6fnrrn2")))) (build-system cargo-build-system) (home-page "https://github.com/ia0/data-encoding") (synopsis "Efficient and customizable data-encoding functions") @@ -17671,8 +18878,67 @@ strings.") (description "Demo of proc-macro-hack.") (license (list license:expat license:asl2.0)))) +(define-public rust-der-0.7 + (package + (name "rust-der") + (version "0.7.5") + (source (origin + (method url-fetch) + (uri (crate-uri "der" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "06f2clallhpjc51s3dc7mpcw5ms3jak727qc5yrfg3ncrpzqvr85")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-arbitrary" ,rust-arbitrary-1) + ("rust-const-oid" ,rust-const-oid-0.9) + ("rust-der-derive" ,rust-der-derive-0.7) + ("rust-flagset" ,rust-flagset-0.4) + ("rust-pem-rfc7468" ,rust-pem-rfc7468-0.7) + ("rust-time" ,rust-time-0.3) + ("rust-zeroize" ,rust-zeroize-1)) + #:cargo-development-inputs + (("rust-hex-literal" ,rust-hex-literal-0.4) + ("rust-proptest" ,rust-proptest-1)))) + (home-page "https://github.com/RustCrypto/formats/tree/master/der") + (synopsis + "Implementation of the Distinguished Encoding Rules (DER)") + (description + "This package provides a pure Rust embedded-friendly implementation of +the Distinguished Encoding Rules (DER) for Abstract Syntax Notation One +(ASN.1) as described in ITU X.690 with full support for heapless no_std +targets") + (license (list license:asl2.0 license:expat)))) + +(define-public rust-der-0.6 + (package + (inherit rust-der-0.7) + (name "rust-der") + (version "0.6.1") + (source (origin + (method url-fetch) + (uri (crate-uri "der" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1pnl3y52m1s6srxpfrfbazf6qilzq8fgksk5dv79nxaybjk6g97i")))) + (arguments + `(#:cargo-inputs + (("rust-const-oid" ,rust-const-oid-0.9) + ("rust-der-derive" ,rust-der-derive-0.6) + ("rust-flagset" ,rust-flagset-0.4) + ("rust-pem-rfc7468" ,rust-pem-rfc7468-0.6) + ("rust-time" ,rust-time-0.3) + ("rust-zeroize" ,rust-zeroize-1)) + #:cargo-development-inputs + (("rust-hex-literal" ,rust-hex-literal-0.3) + ("rust-proptest" ,rust-proptest-1)))))) + (define-public rust-der-0.4 (package + (inherit rust-der-0.7) (name "rust-der") (version "0.4.5") (source @@ -17682,26 +18948,62 @@ strings.") (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 "1x4k0jln8va1657cghl40l6p7hyvr1ixz71v9cd6imwmgp51rdvr")))) - (build-system cargo-build-system) (arguments `(#:skip-build? #t ; FIXME #:cargo-inputs (("rust-const-oid" ,rust-const-oid-0.6) ("rust-crypto-bigint" ,rust-crypto-bigint-0.2) - ("rust-der-derive" ,rust-der-derive-0.4)))) - (home-page "https://github.com/RustCrypto/formats/tree/master/der") + ("rust-der-derive" ,rust-der-derive-0.4)))))) + +(define-public rust-der-derive-0.7 + (package + (name "rust-der-derive") + (version "0.7.1") + (source (origin + (method url-fetch) + (uri (crate-uri "der-derive" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0cmyza28s52wfb67ymydjmvsc4m3sfp98dv9vprx6ibmdfx94iqi")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-proc-macro-error" ,rust-proc-macro-error-1) + ("rust-proc-macro2" ,rust-proc-macro2-1) + ("rust-quote" ,rust-quote-1) + ("rust-syn" ,rust-syn-2)))) + (home-page "https://github.com/RustCrypto/formats/tree/master/der/derive") (synopsis - "Implementation of the Distinguished Encoding Rules (DER)") + "Custom derive support for the `der` crate's `Choice` and `Sequence` traits") (description - "This package provides a pure Rust embedded-friendly implementation of -the Distinguished Encoding Rules (DER) for Abstract Syntax Notation One -(ASN.1) as described in ITU X.690 with full support for heapless no_std -targets") + "This package provides a custom derive support for the `der` crate's +`Choice` and `Sequence` traits.") (license (list license:asl2.0 license:expat)))) +(define-public rust-der-derive-0.6 + (package + (inherit rust-der-derive-0.7) + (name "rust-der-derive") + (version "0.6.1") + (source (origin + (method url-fetch) + (uri (crate-uri "der-derive" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1fg3dv4cjjwd4a6dh62ch2gb477s1pvwh5s8wbg567rsbgdivxwf")))) + (arguments + `(#:cargo-inputs + (("rust-proc-macro-error" ,rust-proc-macro-error-1) + ("rust-proc-macro2" ,rust-proc-macro2-1) + ("rust-quote" ,rust-quote-1) + ("rust-syn" ,rust-syn-1)))))) + (define-public rust-der-derive-0.4 (package + (inherit rust-der-derive-0.7) (name "rust-der-derive") (version "0.4.1") (source @@ -17711,7 +19013,6 @@ targets") (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 "0snv85yfy9iln05qsgbhwr1159gd0jfrgzj5dkrnricdc0y3pvca")))) - (build-system cargo-build-system) (arguments `(#:skip-build? #t ; FIXME @@ -17719,14 +19020,7 @@ targets") (("rust-proc-macro2" ,rust-proc-macro2-1) ("rust-quote" ,rust-quote-1) ("rust-syn" ,rust-syn-1) - ("rust-synstructure" ,rust-synstructure-0.12)))) - (home-page "https://github.com/RustCrypto/formats/tree/master/der/derive") - (synopsis - "Custom derive support for the `der` crate's `Choice` and `Sequence` traits") - (description - "This package provides a custom derive support for the `der` crate's -`Choice` and `Sequence` traits.") - (license (list license:asl2.0 license:expat)))) + ("rust-synstructure" ,rust-synstructure-0.12)))))) (define-public rust-der-oid-macro-0.5 (package @@ -17754,8 +19048,41 @@ targets") "This crate provides a macro to encode DER oids at compile time.") (license (list license:expat license:asl2.0)))) +(define-public rust-der-parser-8 + (package + (name "rust-der-parser") + (version "8.2.0") + (source (origin + (method url-fetch) + (uri (crate-uri "der-parser" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "07mnz9y395zyxwj7nam2dbzkqdngfraxp2i7y2714dxmpbxpdmnv")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-asn1-rs" ,rust-asn1-rs-0.5) + ("rust-cookie-factory" ,rust-cookie-factory-0.3) + ("rust-displaydoc" ,rust-displaydoc-0.2) + ("rust-nom" ,rust-nom-7) + ("rust-num-bigint" ,rust-num-bigint-0.4) + ("rust-num-traits" ,rust-num-traits-0.2) + ("rust-rusticata-macros" ,rust-rusticata-macros-4)) + #:cargo-development-inputs + (("rust-hex-literal" ,rust-hex-literal-0.3) + ("rust-pretty-assertions" ,rust-pretty-assertions-1) + ("rust-test-case" ,rust-test-case-3)))) + (home-page "https://github.com/rusticata/der-parser") + (synopsis "BER/DER parser written in pure Rust") + (description "This crate provides a parser for Basic Encoding Rules (BER +[X.690]) and Distinguished Encoding Rules(DER [X.690]), implemented with the +@code{nom} parser combinator framework.") + (license (list license:expat license:asl2.0)))) + (define-public rust-der-parser-6 (package + (inherit rust-der-parser-8) (name "rust-der-parser") (version "6.0.0") (source @@ -17765,7 +19092,6 @@ targets") (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 "0gn465dncghmj52k8dlkl71wkmlz5zc6jfjgj9ra2knf22ryy1wq")))) - (build-system cargo-build-system) (arguments `(#:skip-build? #t #:cargo-inputs @@ -17779,28 +19105,29 @@ targets") #:cargo-development-inputs (("rust-hex-literal" ,rust-hex-literal-0.3) ("rust-pretty-assertions" ,rust-pretty-assertions-0.7) - ("rust-test-case" ,rust-test-case-1)))) - (home-page "https://github.com/rusticata/der-parser") - (synopsis "BER/DER parser written in pure Rust") - (description "This crate provides a parser for Basic Encoding Rules (BER -[X.690]) and Distinguished Encoding Rules(DER [X.690]), implemented with the -@code{nom} parser combinator framework.") - (license (list license:expat license:asl2.0)))) + ("rust-test-case" ,rust-test-case-1)))))) (define-public rust-derivative-2 (package (name "rust-derivative") - (version "2.1.1") + (version "2.2.0") (source (origin (method url-fetch) (uri (crate-uri "derivative" version)) (file-name (string-append name "-" version ".tar.gz")) (sha256 - (base32 "03rqx8j9q5nlrpr7w8cwwrvw916pr0ahzs3y8yln18cx6mh2nn6b")))) + (base32 "02vpb81wisk2zh1d5f44szzxamzinqgq2k8ydrfjj2wwkrgdvhzw")) + (modules '((guix build utils))) + (snippet + '(begin + (substitute* "Cargo.toml" + (("version = \"([[:digit:]]+(\\.[[:digit:]]+)*), <.*\"" _ version) + (string-append "version = \"^" version "\""))))))) (build-system cargo-build-system) (arguments - `(#:cargo-inputs + `(#:tests? #f ; Tests expect a very narrow range for trybuild. + #:cargo-inputs (("rust-proc-macro2" ,rust-proc-macro2-1) ("rust-quote" ,rust-quote-1) ("rust-syn" ,rust-syn-1)) @@ -17849,8 +19176,36 @@ Instead, enable the @code{derive} feature of the @code{arbitrary} crate.") (sha256 (base32 "1rp0z4k0j5ip0bx6dssg97l4q6bakhf6lm5h1lpr3p3kwjsi585i")))))) +(define-public rust-derive-builder-0.12 + (package + (name "rust-derive-builder") + (version "0.12.0") + (source (origin + (method url-fetch) + (uri (crate-uri "derive-builder" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1y4p569zcvpmly5s5hmjp9h83drxvdp6kj6bb61h225mhj3pfrwd")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-derive-builder-macro" ,rust-derive-builder-macro-0.12)) + #:cargo-development-inputs + (("rust-pretty-assertions" ,rust-pretty-assertions-0.6) + ("rust-rustversion" ,rust-rustversion-1) + ("rust-serde" ,rust-serde-1) + ("rust-serde-json" ,rust-serde-json-1) + ("rust-trybuild" ,rust-trybuild-1)))) + (home-page "https://github.com/colin-kiegel/rust-derive-builder") + (synopsis "Builder pattern for arbitrary structs") + (description "Rust macro to automatically implement the builder pattern +for arbitrary structs.") + (license (list license:expat license:asl2.0)))) + (define-public rust-derive-builder-0.11 (package + (inherit rust-derive-builder-0.12) (name "rust-derive-builder") (version "0.11.2") (source @@ -17860,16 +19215,10 @@ Instead, enable the @code{derive} feature of the @code{arbitrary} crate.") (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 "18q4jx8zvg2pkx2d1nmlklx8m48bwrghyg8rdg1irdwkw5xxyynh")))) - (build-system cargo-build-system) (arguments `(#:skip-build? #t #:cargo-inputs - (("rust-derive-builder-macro" ,rust-derive-builder-macro-0.11)))) - (home-page "https://github.com/colin-kiegel/rust-derive-builder") - (synopsis "Builder pattern for arbitrary structs") - (description "Rust macro to automatically implement the builder pattern -for arbitrary structs.") - (license (list license:expat license:asl2.0)))) + (("rust-derive-builder-macro" ,rust-derive-builder-macro-0.11)))))) (define-public rust-derive-builder-0.10 (package @@ -17941,8 +19290,35 @@ for arbitrary structs.") ("rust-skeptic" ,rust-skeptic-0.13) ("rust-syn" ,rust-syn-0.15)))))) +(define-public rust-derive-builder-core-0.12 + (package + (name "rust-derive-builder-core") + (version "0.12.0") + (source (origin + (method url-fetch) + (uri (crate-uri "derive-builder-core" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "03vvmw3mfg370swq0dh2h5kcjjb8va2m4asqgp9wfyy4l08xq6y1")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-darling" ,rust-darling-0.14) + ("rust-proc-macro2" ,rust-proc-macro2-1) + ("rust-quote" ,rust-quote-1) + ("rust-syn" ,rust-syn-1)) + #:cargo-development-inputs + (("rust-pretty-assertions" ,rust-pretty-assertions-0.6)))) + (home-page "https://github.com/colin-kiegel/rust-derive-builder") + (synopsis "Internal helper library for @code{rust-derive-builder}") + (description + "Internal helper library for @code{rust-derive-builder}.") + (license (list license:expat license:asl2.0)))) + (define-public rust-derive-builder-core-0.11 (package + (inherit rust-derive-builder-core-0.12) (name "rust-derive-builder-core") (version "0.11.2") (source @@ -17952,19 +19328,13 @@ for arbitrary structs.") (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 "1i5gmf5lglbg7agj1khc6k9swf1clfs5fg6w0icw1w91m77x948z")))) - (build-system cargo-build-system) (arguments `(#:skip-build? #t #:cargo-inputs (("rust-darling" ,rust-darling-0.14) ("rust-proc-macro2" ,rust-proc-macro2-1) ("rust-quote" ,rust-quote-1) - ("rust-syn" ,rust-syn-1)))) - (home-page "https://github.com/colin-kiegel/rust-derive-builder") - (synopsis "Internal helper library for @code{rust-derive-builder}") - (description - "Internal helper library for @code{rust-derive-builder}.") - (license (list license:expat license:asl2.0)))) + ("rust-syn" ,rust-syn-1)))))) (define-public rust-derive-builder-core-0.10 (package @@ -18031,22 +19401,21 @@ for arbitrary structs.") ("rust-quote" ,rust-quote-0.6) ("rust-syn" ,rust-syn-0.15)))))) -(define-public rust-derive-builder-macro-0.11 +(define-public rust-derive-builder-macro-0.12 (package (name "rust-derive-builder-macro") - (version "0.11.2") - (source - (origin - (method url-fetch) - (uri (crate-uri "derive_builder_macro" version)) - (file-name - (string-append name "-" version ".tar.gz")) - (sha256 - (base32 "0s6xfgsybd9wbk39hbgqjcn7d1l36a33q6v7d0x5y17d5fvi80wg")))) + (version "0.12.0") + (source (origin + (method url-fetch) + (uri (crate-uri "derive-builder-macro" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "17p71qzh7x1q2yxzz3xrg73zw3xl0h479b7ybyjm0s1rg9fa7kgb")))) (build-system cargo-build-system) (arguments `(#:cargo-inputs - (("rust-derive-builder-core" ,rust-derive-builder-core-0.11) + (("rust-derive-builder-core" ,rust-derive-builder-core-0.12) ("rust-syn" ,rust-syn-1)))) (home-page "https://github.com/colin-kiegel/rust-derive-builder") (synopsis @@ -18056,6 +19425,22 @@ for arbitrary structs.") pattern for arbitrary structs.") (license (list license:expat license:asl2.0)))) +(define-public rust-derive-builder-macro-0.11 + (package + (inherit rust-derive-builder-macro-0.12) + (name "rust-derive-builder-macro") + (version "0.11.2") + (source (origin + (method url-fetch) + (uri (crate-uri "derive_builder_macro" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0s6xfgsybd9wbk39hbgqjcn7d1l36a33q6v7d0x5y17d5fvi80wg")))) + (arguments + `(#:cargo-inputs (("rust-derive-builder-core" ,rust-derive-builder-core-0.11) + ("rust-syn" ,rust-syn-1)))))) + (define-public rust-derive-builder-macro-0.10 (package (inherit rust-derive-builder-macro-0.11) @@ -18199,8 +19584,30 @@ traits for both structs and enums.") structs and enums.") (license license:expat))) +(define-public rust-des-0.8 + (package + (name "rust-des") + (version "0.8.1") + (source (origin + (method url-fetch) + (uri (crate-uri "des" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "07kshslxanmg0g6007scvglfhg6mli2a8qzhx4kxx4z9ik781pgz")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs (("rust-cipher" ,rust-cipher-0.4)) + #:cargo-development-inputs (("rust-cipher" ,rust-cipher-0.4)))) + (home-page "https://github.com/RustCrypto/block-ciphers") + (synopsis "DES and Triple DES block ciphers implementation") + (description "This package provides DES and Triple DES (3DES, TDES) block +ciphers implementations.") + (license (list license:expat license:asl2.0)))) + (define-public rust-des-0.7 (package + (inherit rust-des-0.8) (name "rust-des") (version "0.7.0") (source @@ -18212,19 +19619,13 @@ structs and enums.") (sha256 (base32 "0pbsfkkwfqnd4nsv3ik4z09h248f57y7bj2j1l134i2mzd4xshdc")))) - (build-system cargo-build-system) (arguments `(#:skip-build? #t #:cargo-inputs (("rust-byteorder" ,rust-byteorder-1) ("rust-cipher" ,rust-cipher-0.3) - ("rust-opaque-debug" ,rust-opaque-debug-0.3)))) - (home-page "https://github.com/RustCrypto/block-ciphers") - (synopsis "DES and Triple DES block ciphers implementation") - (description "This package provides DES and Triple DES (3DES, TDES) block -ciphers implementations.") - (license (list license:expat license:asl2.0)))) + ("rust-opaque-debug" ,rust-opaque-debug-0.3)))))) (define-public rust-des-0.6 (package @@ -18270,14 +19671,14 @@ intelligently transliterating them. It supports Emoji and Chinese.") (define-public rust-devise-0.2 (package (name "rust-devise") - (version "0.2.0") + (version "0.2.1") (source (origin (method url-fetch) (uri (crate-uri "devise" version)) (file-name (string-append name "-" version ".tar.gz")) (sha256 - (base32 "1lryvr39ia3rfswfnwn2zynsv2r8kj6gqqf0akcs0prws2i4pq3l")))) + (base32 "09p52f54givb0g9l7clj11z755vldk8758y2lwm5mp3sa156qwfx")))) (build-system cargo-build-system) (arguments `(#:skip-build? #t @@ -18294,14 +19695,14 @@ procedural macros.") (define-public rust-devise-codegen-0.2 (package (name "rust-devise-codegen") - (version "0.2.0") + (version "0.2.1") (source (origin (method url-fetch) (uri (crate-uri "devise_codegen" version)) (file-name (string-append name "-" version ".tar.gz")) (sha256 - (base32 "1msmq0h19l03n9qmkxxi1a5h8904i8m623kdvjzak4ya51wynv06")))) + (base32 "0lxbixni2v6snx2mkgi0kyq5dv8v6c5s57b6wc47q4hqs6884yza")))) (build-system cargo-build-system) (arguments `(#:skip-build? #t @@ -18312,20 +19713,20 @@ procedural macros.") (synopsis "Library for devising derives and other procedural macros") (description "This package provides a library for devising derives and other -procedural macros") +procedural macros.") (license (list license:expat license:asl2.0)))) (define-public rust-devise-core-0.2 (package (name "rust-devise-core") - (version "0.2.0") + (version "0.2.1") (source (origin (method url-fetch) (uri (crate-uri "devise_core" version)) (file-name (string-append name "-" version ".tar.gz")) (sha256 - (base32 "11v4z5kljmpiyif3mmfnm3rl1lsqygjlfy2wll7frqxm4adwahfg")))) + (base32 "0wr3jdzzibpafz73hcca83wnzdgjinvm7axmxnyfkbasbnfkw1fi")))) (build-system cargo-build-system) (arguments `(#:skip-build? #t @@ -18368,6 +19769,30 @@ procedural macros.") example.") (license license:bsd-3))) +(define-public rust-dialoguer-0.10 + (package + (name "rust-dialoguer") + (version "0.10.4") + (source (origin + (method url-fetch) + (uri (crate-uri "dialoguer" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "11rgzrhi677w9gf1r3ip2x361svdkjkr2m5dsfca9fcljacg5ijr")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-console" ,rust-console-0.15) + ("rust-fuzzy-matcher" ,rust-fuzzy-matcher-0.3) + ("rust-shell-words" ,rust-shell-words-1) + ("rust-tempfile" ,rust-tempfile-3) + ("rust-zeroize" ,rust-zeroize-1)))) + (home-page "https://github.com/mitsuhiko/dialoguer") + (synopsis "Command line prompting library") + (description "This package provides a command line prompting library.") + (license license:expat))) + (define-public rust-diesel-1 (package (name "rust-diesel") @@ -18400,7 +19825,7 @@ example.") ("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-r2d2" ,rust-r2d2-0.8) ("rust-serde-json" ,rust-serde-json-1) ("rust-time" ,rust-time-0.1) ("rust-url" ,rust-url-1) @@ -18788,8 +20213,30 @@ platform-specific standard locations of directories for config, cache and other data.") (license (list license:expat license:asl2.0)))) +(define-public rust-dirs-5 + (package + (name "rust-dirs") + (version "5.0.1") + (source (origin + (method url-fetch) + (uri (crate-uri "dirs" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0992xk5vx75b2x91nw9ssb51mpl8x73j9rxmpi96cryn0ffmmi24")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs (("rust-dirs-sys" ,rust-dirs-sys-0.4)))) + (home-page "https://github.com/soc/dirs-rs") + (synopsis "Abstractions for standard locations for various platforms") + (description + "This package is a tiny low-level library that provides platform-specific +standard locations of directories for config, cache and other data.") + (license (list license:expat license:asl2.0)))) + (define-public rust-dirs-4 (package + (inherit rust-dirs-5) (name "rust-dirs") (version "4.0.0") (source @@ -18799,16 +20246,9 @@ other data.") (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 "0n8020zl4f0frfnzvgb9agvk4a14i1kjz4daqnxkgslndwmaffna")))) - (build-system cargo-build-system) (arguments `(#:cargo-inputs - (("rust-dirs-sys" ,rust-dirs-sys-0.3)))) - (home-page "https://github.com/soc/dirs-rs") - (synopsis "Abstractions for standard locations for various platforms") - (description - "This package is a tiny low-level library that provides platform-specific -standard locations of directories for config, cache and other data.") - (license (list license:expat license:asl2.0)))) + (("rust-dirs-sys" ,rust-dirs-sys-0.3)))))) (define-public rust-dirs-3 (package @@ -18909,8 +20349,35 @@ other data.") (home-page "https://github.com/xdg-rs/dirs") (license (list license:expat license:asl2.0)))) +(define-public rust-dirs-sys-0.4 + (package + (name "rust-dirs-sys") + (version "0.4.1") + (source (origin + (method url-fetch) + (uri (crate-uri "dirs-sys" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "071jy0pvaad9lsa6mzawxrh7cmr7hsmsdxwzm7jzldfkrfjha3sj")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-libc" ,rust-libc-0.2) + ("rust-option-ext" ,rust-option-ext-0.2) + ("rust-redox-users" ,rust-redox-users-0.4) + ("rust-windows-sys" ,rust-windows-sys-0.48)))) + (home-page "https://github.com/dirs-dev/dirs-sys-rs") + (synopsis + "System-level helper functions for the dirs and directories crates") + (description + "This package provides system-level helper functions for the @code{dirs} +and @code{directories} crates.") + (license (list license:expat license:asl2.0)))) + (define-public rust-dirs-sys-0.3 (package + (inherit rust-dirs-sys-0.4) (name "rust-dirs-sys") (version "0.3.6") (source @@ -18921,7 +20388,6 @@ other data.") (string-append name "-" version ".tar.gz")) (sha256 (base32 "102pbpcrfhvhfyfnyvmvvwpl6mfvynh170f6ima6fyinxls6bn03")))) - (build-system cargo-build-system) (arguments `(#:cargo-inputs (("rust-libc" ,rust-libc-0.2) @@ -18929,14 +20395,7 @@ other data.") ("rust-winapi" ,rust-winapi-0.3)))) (inputs (list rust-cfg-if-0.1 rust-libc-0.2 rust-redox-users-0.3 - rust-winapi-0.3)) - (home-page "https://github.com/soc/dirs-sys-rs") - (synopsis - "System-level helper functions for the dirs and directories crates") - (description - "This package provides system-level helper functions for the @code{dirs} -and @code{directories} crates.") - (license (list license:asl2.0 license:expat)))) + rust-winapi-0.3)))) (define-public rust-dirs-sys-next-0.1 (package @@ -19015,6 +20474,38 @@ Central Dispatch.") "019nzy993hxaiazcdnayx3csv2iki34i535asw11ki96hakkrs84")))) (arguments '(#:tests? #f)))) ; Tests only run on Mac. +(define-public rust-displaydoc-0.2 + (package + (name "rust-displaydoc") + (version "0.2.4") + (source (origin + (method url-fetch) + (uri (crate-uri "displaydoc" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0p8pyg10csc782qlwx3znr6qx46ni96m1qh597kmyrf6s3s8axa8")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-proc-macro2" ,rust-proc-macro2-1) + ("rust-quote" ,rust-quote-1) + ("rust-syn" ,rust-syn-2)) + #:cargo-development-inputs + (("rust-libc" ,rust-libc-0.2) + ("rust-pretty-assertions" ,rust-pretty-assertions-0.6) + ("rust-rustversion" ,rust-rustversion-1) + ("rust-static-assertions" ,rust-static-assertions-1) + ("rust-thiserror" ,rust-thiserror-1) + ("rust-trybuild" ,rust-trybuild-1)))) + (home-page "https://github.com/yaahc/displaydoc") + (synopsis + "Derive macro for implementing the display Trait via a doc comment") + (description + "This package provides a derive macro for implementing the display Trait +via a doc comment and string interpolation.") + (license (list license:expat license:asl2.0)))) + (define-public rust-dissimilar-1 (package (name "rust-dissimilar") @@ -19158,7 +20649,7 @@ not support network, only raw protocol parser.") (define-public rust-doc-comment-0.3 (package (name "rust-doc-comment") - (version "0.3.1") + (version "0.3.3") (source (origin (method url-fetch) @@ -19166,9 +20657,8 @@ not support network, only raw protocol parser.") (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "15rsqxgarfpb1yim9sbp9yfgj7p2dq6v51c6bq1a62paii9ylgcj")))) + "043sprsf3wl926zmck1bm7gw0jq50mb76lkpk49vasfr6ax1p97y")))) (build-system cargo-build-system) - (arguments '(#:skip-build? #t)) (home-page "https://github.com/GuillaumeGomez/doc-comment") (synopsis "Macro to generate doc comments") (description "This package provides a way to generate doc comments @@ -19392,6 +20882,24 @@ non-persistent vector.") for graphs.") (license (list license:expat license:asl2.0)))) +(define-public rust-dot-writer-0.1 + (package + (name "rust-dot-writer") + (version "0.1.3") + (source (origin + (method url-fetch) + (uri (crate-uri "dot-writer" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0yjv36hr3klzq4bpzkkqp64s8479ssabr7zkdxn4163ybsyi26rx")))) + (build-system cargo-build-system) + (home-page "https://bitbucket.org/DrGabble/dot-writer") + (synopsis "Library for writing the Graphviz DOT graph language") + (description + "This package provides a library for writing the Graphviz DOT graph language.") + (license license:expat))) + (define-public rust-dotenv-0.15 (package (name "rust-dotenv") @@ -19552,23 +21060,23 @@ floating-point primitives to an @code{io::Write}.") (define-public rust-dtparse-1 (package (name "rust-dtparse") - (version "1.2.0") + (version "1.3.0") (source (origin (method url-fetch) (uri (crate-uri "dtparse" version)) (file-name (string-append name "-" version ".tar.gz")) (sha256 - (base32 "1xh9hasfffnfyv8q9pwr31g63rigfx114qz6xw05wdkzpmfnq9qk")))) + (base32 "1awhyy58c28fhr5nvvfpikdzraihichkz3w1mzdg7smyffldi4w2")))) (build-system cargo-build-system) (arguments - `(#:skip-build? #t - #:cargo-inputs + `(#:cargo-inputs (("rust-chrono" ,rust-chrono-0.4) - ("rust-chrono-tz" ,rust-chrono-tz-0.5) ("rust-lazy-static" ,rust-lazy-static-1) ("rust-num-traits" ,rust-num-traits-0.2) - ("rust-rust-decimal" ,rust-rust-decimal-0.10)))) + ("rust-rust-decimal" ,rust-rust-decimal-1)) + #:cargo-development-inputs + (("rust-base64" ,rust-base64-0.13)))) (home-page "https://github.com/bspeice/dtparse.git") (synopsis "Dateutil-compatible timestamp parser for Rust") (description @@ -19634,16 +21142,15 @@ Rust.") (define-public rust-dunce-1 (package (name "rust-dunce") - (version "1.0.1") + (version "1.0.4") (source (origin (method url-fetch) (uri (crate-uri "dunce" version)) (file-name (string-append name "-" version ".tar.gz")) (sha256 - (base32 "1d7f7wg83i1by16rxc1fdipi872nvkzjnmzaaggh2h8cgi51qr5j")))) + (base32 "0fqcbwfclldbknmawi69l6zyncaiqzxkpbybcb2cc7jmlxnqrkjn")))) (build-system cargo-build-system) - (arguments `(#:skip-build? #t)) (home-page "https://gitlab.com/kornelski/dunce") (synopsis "Normalize Windows paths to the most compatible format") (description @@ -19652,7 +21159,7 @@ whenever possible, but leaves UNC paths as-is when they can't be unambiguously expressed in a simpler way. This allows legacy programs to access all paths they can possibly access, and doesn't break any paths for UNC-aware programs.") - (license license:cc0))) + (license (list license:cc0 license:expat-0 license:asl2.0)))) (define-public rust-dyn-clone-1 (package @@ -19724,14 +21231,14 @@ easy.") (define-public rust-easy-parallel-3 (package (name "rust-easy-parallel") - (version "3.1.0") + (version "3.3.0") (source (origin (method url-fetch) (uri (crate-uri "easy-parallel" version)) (file-name (string-append name "-" version ".tar.gz")) (sha256 - (base32 "1x28z540fc4g8fqm1sbpqbpdfbi40mkas4xr57s3yn0jjbbszm0x")))) + (base32 "00g0fvbjkdbqm6z5xcx3b1wzi8rlrhqb840ybavgijhg74iljq64")))) (build-system cargo-build-system) (home-page "https://github.com/stjepang/easy-parallel") (synopsis "Run closures in parallel") @@ -19764,6 +21271,97 @@ from the main thread.") easy.") (license (list license:unlicense license:zlib)))) +(define-public rust-eax-0.5 + (package + (name "rust-eax") + (version "0.5.0") + (source (origin + (method url-fetch) + (uri (crate-uri "eax" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0a5cpzk577f1lw3wkk20iqvavnbdr5yzjrcglvbvk0ivj2yzlm4r")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-aead" ,rust-aead-0.5) + ("rust-cipher" ,rust-cipher-0.4) + ("rust-cmac" ,rust-cmac-0.7) + ("rust-ctr" ,rust-ctr-0.9) + ("rust-subtle" ,rust-subtle-2)) + #:cargo-development-inputs + (("rust-aead" ,rust-aead-0.5) + ("rust-aes" ,rust-aes-0.8)))) + (home-page "https://github.com/RustCrypto/AEADs") + (synopsis "Pure Rust implementation of the EAX Authenticated Encryption with +Associated Data (AEAD)") + (description + "Pure Rust implementation of the EAX Authenticated Encryption with Associated +Data (AEAD) Cipher with optional architecture-specific hardware acceleration +This scheme is only based on a block cipher. It uses counter mode (CTR) for +encryption and CBC mode for generating a OMAC/CMAC/CBCMAC (all names for the +same thing).") + (license (list license:asl2.0 license:expat)))) + +(define-public rust-ecb-0.1 + (package + (name "rust-ecb") + (version "0.1.1") + (source (origin + (method url-fetch) + (uri (crate-uri "ecb" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "18l1frsqg84c9ymn6shp0k51q7j6l95cpg3vw8g3a159h6x89z8p")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-cipher" ,rust-cipher-0.4)) + #:cargo-development-inputs + (("rust-aes" ,rust-aes-0.8) + ("rust-cipher" ,rust-cipher-0.4) + ("rust-hex-literal" ,rust-hex-literal-0.3)))) + (home-page "https://github.com/magic-akari/ecb") + (synopsis "Electronic Codebook (ECB) block cipher mode of operation") + (description "Electronic Codebook (ECB) block cipher mode of operation") + (license license:expat))) + +(define-public rust-ecdsa-0.16 + (package + (name "rust-ecdsa") + (version "0.16.6") + (source (origin + (method url-fetch) + (uri (crate-uri "ecdsa" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1zapr75j8w1b7bdnijppb94f2jrk2qdrhv8i4fqc0c4agd9mv3m4")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-der" ,rust-der-0.7) + ("rust-digest" ,rust-digest-0.10) + ("rust-elliptic-curve" ,rust-elliptic-curve-0.13) + ("rust-rfc6979" ,rust-rfc6979-0.4) + ("rust-serdect" ,rust-serdect-0.2) + ("rust-sha2" ,rust-sha2-0.10) + ("rust-signature" ,rust-signature-2)) + #:cargo-development-inputs + (("rust-elliptic-curve" ,rust-elliptic-curve-0.13) + ("rust-hex-literal" ,rust-hex-literal-0.4) + ("rust-sha2" ,rust-sha2-0.10)))) + (home-page "https://github.com/RustCrypto/signatures/tree/master/ecdsa") + (synopsis "Pure Rust implementation of the ECDSA algorithm") + (description + "This package provides a pure Rust implementation of the @dfn{Elliptic +Curve Digital Signature Algorithm} (ECDSA) as specified in FIPS 186-4 (Digital +Signature Standard), providing RFC6979 deterministic signatures as well as +support for added entropy.") + (license (list license:asl2.0 license:expat)))) + (define-public rust-ecies-ed25519-0.5 (package (name "rust-ecies-ed25519") @@ -19800,21 +21398,28 @@ easy.") (define-public rust-ed25519-1 (package (name "rust-ed25519") - (version "1.0.3") - (source - (origin - (method url-fetch) - (uri (crate-uri "ed25519" version)) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 "1vxn7x1xinbv1cl31015m0fw08jwkphylxrll17animv9i9nmiip")))) + (version "1.5.3") + (source (origin + (method url-fetch) + (uri (crate-uri "ed25519" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1rzydm5wd8szkddx3g55w4vm86y1ika8qp8qwckada5vf1fg7kwi")))) (build-system cargo-build-system) (arguments - `(#:skip-build? #t - #:cargo-inputs - (("rust-serde" ,rust-serde-1) - ("rust-signature" ,rust-signature-1)))) - (home-page "") + `(#:cargo-inputs + (("rust-pkcs8" ,rust-pkcs8-0.9) + ("rust-serde" ,rust-serde-1) + ("rust-serde-bytes" ,rust-serde-bytes-0.11) + ("rust-signature" ,rust-signature-1) + ("rust-zeroize" ,rust-zeroize-1)) + #:cargo-development-inputs + (("rust-bincode" ,rust-bincode-1) + ("rust-ed25519-dalek" ,rust-ed25519-dalek-1) + ("rust-hex-literal" ,rust-hex-literal-0.3) + ("rust-rand-core" ,rust-rand-core-0.5)))) + (home-page "https://github.com/RustCrypto/signatures/tree/master/ed25519") (synopsis "Edwards Digital Signature Algorithm (EdDSA) over Curve25519") (description "EdDSA over Curve25519 is specified in RFC 8032. This package contains @@ -19828,6 +21433,33 @@ be plugged in, enabling support for using different Ed25519 implementations, including HSMs or Cloud KMS services.") (license (list license:asl2.0 license:expat)))) +(define-public rust-ed25519-compact-2 + (package + (name "rust-ed25519-compact") + (version "2.0.4") + (source (origin + (method url-fetch) + (uri (crate-uri "ed25519-compact" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0k4y7bjl5g0l871iav4zj35qx047n0a4qsvhr28p6434hhp3hgba")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-ct-codecs" ,rust-ct-codecs-1) + ("rust-ed25519" ,rust-ed25519-1) + ("rust-getrandom" ,rust-getrandom-0.2)) + #:cargo-development-inputs + (("rust-ct-codecs" ,rust-ct-codecs-1) + ("rust-getrandom" ,rust-getrandom-0.2)))) + (home-page "https://github.com/jedisct1/rust-ed25519-compact") + (synopsis "Wasm-friendly Ed25519 implementation") + (description + "This package provides a small, self-contained, wasm-friendly Ed25519 +implementation.") + (license license:expat))) + (define-public rust-ed25519-dalek-1 (package (name "rust-ed25519-dalek") @@ -19947,6 +21579,50 @@ signing, and verification in pure Rust.") "This package provides a pure-Rust library for parsing ELF files.") (license (list license:expat license:asl2.0)))) +(define-public rust-elliptic-curve-0.13 + (package + (name "rust-elliptic-curve") + (version "0.13.4") + (source (origin + (method url-fetch) + (uri (crate-uri "elliptic-curve" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1rqn7yq9rgfs7r0dcj4phxf9hqmw2alfxa0lciamsbkz6sm1xivm")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-base16ct" ,rust-base16ct-0.2) + ("rust-base64ct" ,rust-base64ct-1) + ("rust-crypto-bigint" ,rust-crypto-bigint-0.5) + ("rust-digest" ,rust-digest-0.10) + ("rust-ff" ,rust-ff-0.13) + ("rust-generic-array" ,rust-generic-array-0.14) + ("rust-group" ,rust-group-0.13) + ("rust-hex-literal" ,rust-hex-literal-0.4) + ("rust-hkdf" ,rust-hkdf-0.12) + ("rust-pem-rfc7468" ,rust-pem-rfc7468-0.7) + ("rust-pkcs8" ,rust-pkcs8-0.10) + ("rust-rand-core" ,rust-rand-core-0.6) + ("rust-sec1" ,rust-sec1-0.7) + ("rust-serde-json" ,rust-serde-json-1) + ("rust-serdect" ,rust-serdect-0.2) + ("rust-subtle" ,rust-subtle-2) + ("rust-zeroize" ,rust-zeroize-1)) + #:cargo-development-inputs + (("rust-hex-literal" ,rust-hex-literal-0.4) + ("rust-sha2" ,rust-sha2-0.10) + ("rust-sha3" ,rust-sha3-0.10)))) + (home-page + "https://github.com/RustCrypto/traits/tree/master/elliptic-curve") + (synopsis "General purpose Elliptic Curve Cryptography (ECC) support") + (description + "This package provides general purpose @dfn{Elliptic Curve Cryptography} +(ECC) support, including types and traits for representing various elliptic +curve forms, scalars, points, and public/secret keys composed thereof.") + (license (list license:asl2.0 license:expat)))) + (define-public rust-emacs-0.18 (package (name "rust-emacs") @@ -20761,6 +22437,71 @@ implement enum_primitive.") convert enum to u8 slice ref.") (license license:bsd-3))) +(define-public rust-enumber-0.3 + (package + (name "rust-enumber") + (version "0.3.0") + (source (origin + (method url-fetch) + (uri (crate-uri "enumber" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "06gd26x1fpxphkzlxnkmyjc7zalrr2vw88lz4yg23x6q62dv8dgs")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-quote" ,rust-quote-1) + ("rust-syn" ,rust-syn-1)))) + (home-page "https://github.com/kinnison/enumber/") + (synopsis "Provide useful impls on numerical enums") + (description "Provide useful impls on numerical enums") + (license license:bsd-3))) + +(define-public rust-enumflags2-0.7 + (package + (name "rust-enumflags2") + (version "0.7.7") + (source (origin + (method url-fetch) + (uri (crate-uri "enumflags2" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1lhvq084ylw3nvhgv1zyagavkj392zamydh5v6y352zn1l4zahf0")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-enumflags2-derive" ,rust-enumflags2-derive-0.7) + ("rust-serde" ,rust-serde-1)))) + (home-page "https://github.com/meithecatte/enumflags2") + (synopsis "Enum-based bit flags") + (description "This package provides enum-based bit flags.") + (license (list license:expat license:asl2.0)))) + +(define-public rust-enumflags2-derive-0.7 + (package + (name "rust-enumflags2-derive") + (version "0.7.7") + (source (origin + (method url-fetch) + (uri (crate-uri "enumflags2-derive" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0iapq76azgkqxby4v117a3jssa9rz7n18vla4i09grc3gngiz6jy")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-proc-macro2" ,rust-proc-macro2-1) + ("rust-quote" ,rust-quote-1) + ("rust-syn" ,rust-syn-2)))) + (home-page "https://github.com/meithecatte/enumflags2") + (synopsis "Internal crate for enumflags2") + (description + "This package provides internal implementations for enumflags2.") + (license (list license:expat license:asl2.0)))) + (define-public rust-enumset-1 (package (name "rust-enumset") @@ -21082,8 +22823,33 @@ deserialized from environment variables.") "Type-erased Serialize and Serializer traits.") (license (list license:asl2.0 license:expat)))) +(define-public rust-errno-0.3 + (package + (name "rust-errno") + (version "0.3.1") + (source (origin + (method url-fetch) + (uri (crate-uri "errno" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0fp7qy6fwagrnmi45msqnl01vksqwdb2qbbv60n9cz7rf0xfrksb")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-errno-dragonfly" ,rust-errno-dragonfly-0.1) + ("rust-libc" ,rust-libc-0.2) + ("rust-windows-sys" ,rust-windows-sys-0.48)))) + (home-page "https://github.com/lambda-fairy/rust-errno") + (synopsis "Cross-platform interface to the @code{errno} variable") + (description + "This package provides a cross-platform interface to the +@code{errno} variable.") + (license (list license:expat license:asl2.0)))) + (define-public rust-errno-0.2 (package + (inherit rust-errno-0.3) (name "rust-errno") (version "0.2.8") (source @@ -21094,19 +22860,12 @@ deserialized from environment variables.") (sha256 (base32 "18cnqgk8r6lq1n5cfy3bryiyz9zkqr10dxj49sa3fkzfamih8fgn")))) - (build-system cargo-build-system) (arguments (list #:skip-build? #t #:cargo-inputs `(("rust-errno-dragonfly" ,rust-errno-dragonfly-0.1) ("rust-libc" ,rust-libc-0.2) - ("rust-winapi" ,rust-winapi-0.3)))) - (home-page "https://github.com/lambda-fairy/rust-errno") - (synopsis "Cross-platform interface to the @code{errno} variable") - (description - "This package provides a cross-platform interface to the -@code{errno} variable.") - (license (list license:asl2.0 license:expat)))) + ("rust-winapi" ,rust-winapi-0.3)))))) (define-public rust-errno-dragonfly-0.1 (package @@ -21381,14 +23140,14 @@ ecosystem.") (define-public rust-event-listener-2 (package (name "rust-event-listener") - (version "2.5.1") + (version "2.5.3") (source (origin (method url-fetch) (uri (crate-uri "event-listener" version)) (file-name (string-append name "-" version ".tar.gz")) (sha256 - (base32 "0ndyp41pb2cx7gxijqh4ymnc47nyrvhvir7rvjlw6x09ayb10lzp")))) + (base32 "1q4w3pndc518crld6zsqvvpy9lkzwahp2zgza9kbzmmqh9gif1h2")))) (build-system cargo-build-system) (arguments `(#:cargo-development-inputs @@ -21933,6 +23692,27 @@ floats.") "This package provides a simple and fast random number generator.") (license (list license:asl2.0 license:expat)))) +(define-public rust-fat-macho-0.4 + (package + (name "rust-fat-macho") + (version "0.4.7") + (source (origin + (method url-fetch) + (uri (crate-uri "fat-macho" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0ywr3xqi884i12d5mfidbma1hrd4rxj9f8jw7p4bignagmy13yk3")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-goblin" ,rust-goblin-0.7) + ("rust-llvm-bitcode" ,rust-llvm-bitcode-0.1)))) + (home-page "https://github.com/messense/fat-macho-rs.git") + (synopsis "Mach-O Fat Binary Reader and Writer") + (description "This package provides a Mach-O Fat Binary Reader and Writer.") + (license license:expat))) + (define-public rust-fd-lock-3 (package (name "rust-fd-lock") @@ -22128,6 +23908,48 @@ Atom, RSS 2.0, RSS 1.0, RSS 0.x and JSON Feed") ;; No copyright headers in the source code. LICENSE indicates gpl3. (license license:gpl3))) +(define-public rust-fehler-1 + (package + (name "rust-fehler") + (version "1.0.0") + (source (origin + (method url-fetch) + (uri (crate-uri "fehler" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0d9nk0nimhrqhlwsm42kmg6bwhfqscnfddj70xawsa50kgj9ywnm")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs (("rust-fehler-macros" ,rust-fehler-macros-1)))) + (home-page "https://github.com/withoutboats/fehler") + (synopsis "Library for error-handling syntax in Rust") + (description + "This package provides a library for error-handling syntax in Rust.") + (license (list license:expat license:asl2.0)))) + +(define-public rust-fehler-macros-1 + (package + (name "rust-fehler-macros") + (version "1.0.0") + (source (origin + (method url-fetch) + (uri (crate-uri "fehler-macros" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1y808jbwbngji40zny0b0dvxsw9a76g6fl1c5qigmfsy0jqsrdfc")))) + (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/withoutboats/fehler") + (synopsis "Macros for fehler") + (description "This package provides macros for the fehler crate.") + (license (list license:expat license:asl2.0)))) + (define-public rust-femme-2 (package (name "rust-femme") @@ -22255,6 +24077,64 @@ Atom, RSS 2.0, RSS 1.0, RSS 0.x and JSON Feed") ;; No copyright headers in the source code. LICENSE indicates gpl3. (license license:gpl3))) +(define-public rust-ff-0.13 + (package + (name "rust-ff") + (version "0.13.0") + (source (origin + (method url-fetch) + (uri (crate-uri "ff" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0jcl8yhcs5kbfxfpnrhpkkvnk7s666vly6sgawg3nri9nx215m6y")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-bitvec" ,rust-bitvec-1) + ("rust-byteorder" ,rust-byteorder-1) + ("rust-ff-derive" ,rust-ff-derive-0.13) + ("rust-rand-core" ,rust-rand-core-0.6) + ("rust-subtle" ,rust-subtle-2)) + #:cargo-development-inputs + (("rust-blake2b-simd" ,rust-blake2b-simd-1) + ("rust-rand" ,rust-rand-0.8)))) + (home-page "https://github.com/zkcrypto/ff") + (synopsis "Library for building and interfacing with finite fields") + (description "This package provides a rust library for building and +interfacing with finite fields.") + (license (list license:expat license:asl2.0)))) + +(define-public rust-ff-derive-0.13 + (package + (name "rust-ff-derive") + (version "0.13.0") + (source (origin + (method url-fetch) + (uri (crate-uri "ff-derive" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0jnq13qqmnvgh1xmjzdgynwgbbkf64qibqf5a5hjiva5pq24gxg9")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-addchain" ,rust-addchain-0.2) + ("rust-cfg-if" ,rust-cfg-if-1) + ("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-proc-macro2" ,rust-proc-macro2-1) + ("rust-quote" ,rust-quote-1) + ("rust-syn" ,rust-syn-1)))) + (home-page "https://github.com/zkcrypto/ff") + (synopsis + "Procedural macro library used to build custom prime field implementations") + (description + "This package provides a procedural macro library used to build custom +prime field implementations in rust.") + (license (list license:expat license:asl2.0)))) + (define-public rust-fiat-crypto-0.1 (package (name "rust-fiat-crypto") @@ -22273,6 +24153,23 @@ Atom, RSS 2.0, RSS 1.0, RSS 0.x and JSON Feed") @code{fiat-crypto} libraries.") (license (list license:expat license:asl2.0)))) +(define-public rust-file-diff-1 + (package + (name "rust-file-diff") + (version "1.0.0") + (source (origin + (method url-fetch) + (uri (crate-uri "file-diff" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "19a34rvbqg3b2my6ykax5n1qi2ahwbjacn9y2ji3h9gkp04ak9ri")))) + (build-system cargo-build-system) + (home-page "https://github.com/ethanpailes/file_diff-rs") + (synopsis "Atomic utility for diffing files in testing") + (description "An atomic utility for diffing files in testing.") + (license license:bsd-3))) + (define-public rust-filesize-0.2 (package (name "rust-filesize") @@ -22490,6 +24387,54 @@ custom fixed-size hash types.") (base32 "0czam11mi80dbyhf4rd4lz0ihcf7vkfchrdcrn45wbs0h40dxm46")))))) +(define-public rust-flagset-0.4 + (package + (name "rust-flagset") + (version "0.4.3") + (source (origin + (method url-fetch) + (uri (crate-uri "flagset" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "16alqal1jyg1pibd72drdq2ax5cb1fs09f54ghpw043qg75579nd")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-serde" ,rust-serde-1)) + #:cargo-development-inputs + (("rust-serde-json" ,rust-serde-json-1) + ("rust-serde-repr" ,rust-serde-repr-0.1)))) + (home-page "https://github.com/enarx/flagset") + (synopsis + "Data types and a macro for generating enumeration-based bit flags") + (description "This package provides data types and a macro for generating +enumeration-based bit flags in rust.") + (license license:asl2.0))) + +(define-public rust-flaky-test-0.1 + (package + (name "rust-flaky-test") + (version "0.1.0") + (source (origin + (method url-fetch) + (uri (crate-uri "flaky-test" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "14yvm0knhcx0xfwlykir2v198x5bpwf333yrdl2mmkv8n5gdx727")))) + (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/denoland/flaky_test") + (synopsis "Atttribute macro for running a flaky test multiple times") + (description "This package provides an atttribute macro for running a flaky +test multiple times.") + (license license:expat))) + (define-public rust-flame-0.2 (package (name "rust-flame") @@ -22516,8 +24461,32 @@ custom fixed-size hash types.") (description "A profiling and flamegraph library.") (license (list license:asl2.0 license:expat)))) +(define-public rust-flamer-0.4 + (package + (name "rust-flamer") + (version "0.4.0") + (source (origin + (method url-fetch) + (uri (crate-uri "flamer" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1avszq3fn4ix7p6wjfdkli6fjyxccks1qhzja92a6kpxakd35drn")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-flame" ,rust-flame-0.2) + ("rust-quote" ,rust-quote-1) + ("rust-syn" ,rust-syn-1)))) + (home-page "https://github.com/llogiq/flamer") + (synopsis "Macro to insert @code{flame::start_guard(_)}") + (description + "A procedural macro to insert @code{flame::start_guard(_)} calls.") + (license license:asl2.0))) + (define-public rust-flamer-0.3 (package + (inherit rust-flamer-0.4) (name "rust-flamer") (version "0.3.0") (source @@ -22529,18 +24498,12 @@ custom fixed-size hash types.") (sha256 (base32 "1b2d7jx80f3p7hqpgdi7wksaiq18k9w23p0cs2sxf7jbx2jx3bgj")))) - (build-system cargo-build-system) (arguments `(#:tests? #f ; Uses features not available in stable Rust release #:cargo-inputs (("rust-flame" ,rust-flame-0.2) ("rust-quote" ,rust-quote-0.6) - ("rust-syn" ,rust-syn-0.15)))) - (home-page "https://github.com/llogiq/flamer") - (synopsis "Macro to insert @code{flame::start_guard(_)}") - (description - "A procedural macro to insert @code{flame::start_guard(_)} calls.") - (license license:asl2.0))) + ("rust-syn" ,rust-syn-0.15)))))) (define-public rust-flatbuffers-2 (package @@ -23040,14 +25003,14 @@ implementation that is more efficient for smaller hash keys.") (define-public rust-form-urlencoded-1 (package (name "rust-form-urlencoded") - (version "1.1.0") + (version "1.2.0") (source (origin (method url-fetch) (uri (crate-uri "form_urlencoded" version)) (file-name (string-append name "-" version ".tar.gz")) (sha256 - (base32 "1y3bwavygjzv7b0yqsjqk33yi6wz25b7q2aaq9h54vqmc7qq9hx9")))) + (base32 "0ljn0kz23nr9yf3432k656k178nh4jqryfji9b0jw343dz7w2ax6")))) (build-system cargo-build-system) (arguments `(#:cargo-inputs @@ -23179,6 +25142,41 @@ values to other threads.") duplication.") (license (list license:expat license:asl2.0)))) +(define-public rust-fs-at-0.1 + (package + (name "rust-fs-at") + (version "0.1.6") + (source (origin + (method url-fetch) + (uri (crate-uri "fs-at" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "02mvd85zjs0pxpykvkbqlwkii5f768z8xm0fqbqzv1s41yrbl105")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-aligned" ,rust-aligned-0.4) + ("rust-cfg-if" ,rust-cfg-if-1) + ("rust-cvt" ,rust-cvt-0.1) + ("rust-libc" ,rust-libc-0.2) + ("rust-log" ,rust-log-0.4) + ("rust-nix" ,rust-nix-0.26) + ("rust-once-cell" ,rust-once-cell-1) + ("rust-smart-default" ,rust-smart-default-0.7) + ("rust-windows-sys" ,rust-windows-sys-0.48)) + #:cargo-development-inputs + (("rust-env-logger" ,rust-env-logger-0.10) + ("rust-fs-set-times" ,rust-fs-set-times-0.19) + ("rust-rayon" ,rust-rayon-1) + ("rust-tempfile" ,rust-tempfile-3) + ("rust-test-log" ,rust-test-log-0.2)))) + (home-page "https://github.com/rbtcollins/fs_at.git") + (synopsis "Implementation of 'at' functions for various platforms") + (description "This package provides an implementation of at functions for +various platforms.") + (license license:asl2.0))) + (define-public rust-fs-err-2 (package (name "rust-fs-err") @@ -23206,16 +25204,17 @@ more helpful error messages.") (define-public rust-fs-extra-1 (package (name "rust-fs-extra") - (version "1.2.0") + (version "1.3.0") (source (origin (method url-fetch) (uri (crate-uri "fs_extra" version)) (file-name (string-append name "-" version ".tar.gz")) (sha256 - (base32 "151k6dr35mhq5d8pc8krhw55ajhkyiv0pm14s7zzlc5bc9fp28i0")))) + (base32 "075i25z70j2mz9r7i9p9r521y8xdj81q7skslyb7zhqnnw33fw22")))) (build-system cargo-build-system) - (arguments '(#:skip-build? #t)) + (arguments + `(#:tests? #f)) ; panicked at 'assertion failed: `(left == right)` (home-page "https://github.com/webdesus/fs_extra") (synopsis "Extra file system methods") (description "Expanding opportunities standard library @code{std::fs} and @@ -23223,6 +25222,28 @@ more helpful error messages.") process and much more.") (license license:expat))) +(define-public rust-fs-set-times-0.19 + (package + (name "rust-fs-set-times") + (version "0.19.1") + (source (origin + (method url-fetch) + (uri (crate-uri "fs-set-times" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0qc822hifnwvrfd706wnx5xhajqfsc4kn2lmalfda4x02pqx0cvq")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-io-lifetimes" ,rust-io-lifetimes-1) + ("rust-rustix" ,rust-rustix-0.37) + ("rust-windows-sys" ,rust-windows-sys-0.48)))) + (home-page "https://github.com/bytecodealliance/fs-set-times") + (synopsis "Set filesystem timestamps") + (description "Set filesystem timestamps") + (license (list license:asl2.0 license:expat)))) + (define-public rust-fs-utils-1 (package (name "rust-fs-utils") @@ -23594,7 +25615,7 @@ stabilized, and eventually removed. This library reïnstates these traits.") (define-public rust-futures-0.3 (package (name "rust-futures") - (version "0.3.26") + (version "0.3.28") (source (origin (method url-fetch) @@ -23603,10 +25624,10 @@ stabilized, and eventually removed. This library reïnstates these traits.") (string-append name "-" version ".tar.gz")) (sha256 (base32 - "115z5bqihd2jq75s8n7jxy4k83kpv67vhic4snch6d7h1wmpkqhk")))) + "0h7c1xvxk751c7xlnph6fh3rb77z4lig4qif7f8q79db2az2ld13")))) (build-system cargo-build-system) (arguments - `(#:skip-build? #t + `(#:tests? #f #:cargo-inputs (("rust-futures-channel" ,rust-futures-channel-0.3) ("rust-futures-core" ,rust-futures-core-0.3) @@ -23614,7 +25635,13 @@ stabilized, and eventually removed. This library reïnstates these traits.") ("rust-futures-io" ,rust-futures-io-0.3) ("rust-futures-sink" ,rust-futures-sink-0.3) ("rust-futures-task" ,rust-futures-task-0.3) - ("rust-futures-util" ,rust-futures-util-0.3)))) + ("rust-futures-util" ,rust-futures-util-0.3)) + #:cargo-development-inputs + (("rust-assert-matches" ,rust-assert-matches-1) + ("rust-pin-project" ,rust-pin-project-1) + ("rust-pin-utils" ,rust-pin-utils-0.1) + ("rust-static-assertions" ,rust-static-assertions-1) + ("rust-tokio" ,rust-tokio-0.1)))) (home-page "https://rust-lang.github.io/futures-rs") (synopsis "Rust implementation of futures and streams") (description @@ -23646,7 +25673,7 @@ featuring zero allocations, composability, and iterator-like interfaces.") (define-public rust-futures-channel-0.3 (package (name "rust-futures-channel") - (version "0.3.26") + (version "0.3.28") (source (origin (method url-fetch) @@ -23655,10 +25682,10 @@ featuring zero allocations, composability, and iterator-like interfaces.") (string-append name "-" version ".tar.gz")) (sha256 (base32 - "1xadcvj4hi6278hq6i0vnrsa231fyiylh2n03rx7d2ch79k1flrf")))) + "1wmm9wm5zjigxz61qkscmxp7c30zp08dy63spjz5pch9gva1hmcm")))) (build-system cargo-build-system) (arguments - `(#:skip-build? #t + `(#:tests? #f #:cargo-inputs (("rust-futures-core" ,rust-futures-core-0.3) ("rust-futures-sink" ,rust-futures-sink-0.3)))) @@ -23697,7 +25724,7 @@ featuring zero allocations, composability, and iterator-like interfaces.") (define-public rust-futures-core-0.3 (package (name "rust-futures-core") - (version "0.3.26") + (version "0.3.28") (source (origin (method url-fetch) @@ -23706,10 +25733,10 @@ featuring zero allocations, composability, and iterator-like interfaces.") (string-append name "-" version ".tar.gz")) (sha256 (base32 - "02467z5mv0219hkrgmpvsb3h7vb8pg31s1j901h7vxg11x6zz47c")))) + "137fdxy5amg9zkpa1kqnj7bnha6b94fmddz59w973x96gqxmijjb")))) (build-system cargo-build-system) (arguments - `(#:skip-build? #t + `(#:tests? #f #:cargo-inputs (("rust-portable-atomic" ,rust-portable-atomic-1)))) (home-page "https://rust-lang.github.io/futures-rs") @@ -23767,7 +25794,7 @@ the computation on the threads themselves.") (define-public rust-futures-executor-0.3 (package (name "rust-futures-executor") - (version "0.3.26") + (version "0.3.28") (source (origin (method url-fetch) @@ -23776,7 +25803,7 @@ the computation on the threads themselves.") (string-append name "-" version ".tar.gz")) (sha256 (base32 - "03mm37yv235i2ifjfaacw5cl8cmiyirj8ap3d64fr5xblqshmpp8")))) + "1q468di96knnla72xdvswic1ir2qkrf5czsdigc5n4l86a1fxv6c")))) (build-system cargo-build-system) (arguments `(#:skip-build? #t @@ -23852,7 +25879,7 @@ intrusive collections.") (define-public rust-futures-io-0.3 (package (name "rust-futures-io") - (version "0.3.26") + (version "0.3.28") (source (origin (method url-fetch) @@ -23861,9 +25888,8 @@ intrusive collections.") (string-append name "-" version ".tar.gz")) (sha256 (base32 - "0cc5s3qdgls25rlm3zpdf9fdk6gwmfp0fiiph39b5bmjdwdkgf5z")))) + "0r4rhkdhq1my4fahlhz59barqa511bylq813w3w4gvbidq4p9zsg")))) (build-system cargo-build-system) - (arguments `(#:skip-build? #t)) (home-page "https://rust-lang.github.io/futures-rs") (synopsis "@code{AsyncRead} and @code{AsyncWrite} traits for the @code{futures-rs} @@ -23921,14 +25947,14 @@ for the @code{futures-rs} library.") (define-public rust-futures-lite-1 (package (name "rust-futures-lite") - (version "1.11.3") + (version "1.13.0") (source (origin (method url-fetch) (uri (crate-uri "futures-lite" version)) (file-name (string-append name "-" version ".tar.gz")) (sha256 - (base32 "1ywmyvpy4f348jri8rxhpj59a7bvy12pspm59x5207fys061sj5l")))) + (base32 "1kkbqhaib68nzmys2dc8j9fl2bwzf2s91jfk13lb2q3nwhfdbaa9")))) (build-system cargo-build-system) (arguments `(#:cargo-inputs @@ -23974,21 +26000,20 @@ and removes almost all unsafe code from it.") (define-public rust-futures-macro-0.3 (package (name "rust-futures-macro") - (version "0.3.26") + (version "0.3.28") (source (origin (method url-fetch) (uri (crate-uri "futures-macro" version)) (file-name (string-append name "-" version ".tar.gz")) (sha256 - (base32 "0w3ahy69varlfw57rb2pag7jwngy771vvzmcag7mlfx3gpw3m9wm")))) + (base32 "0wpfsqxwqk5k569xl0jzz4zxy85x695mndf7y9jn66q6jid59jl9")))) (build-system cargo-build-system) (arguments - `(#:skip-build? #t - #:cargo-inputs + `(#:cargo-inputs (("rust-proc-macro2" ,rust-proc-macro2-1) ("rust-quote" ,rust-quote-1) - ("rust-syn" ,rust-syn-1)))) + ("rust-syn" ,rust-syn-2)))) (home-page "https://rust-lang.github.io/futures-rs") (synopsis "@code{futures-rs} procedural macro implementations") (description @@ -23996,6 +26021,27 @@ and removes almost all unsafe code from it.") implementations.") (license (list license:expat license:asl2.0)))) +(define-public rust-futures-micro-0.5 + (package + (name "rust-futures-micro") + (version "0.5.0") + (source (origin + (method url-fetch) + (uri (crate-uri "futures-micro" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "09n8d1qnpk6mjpnv338wkbgyppvd4aygfddwlwb8pmlk6m5jcq5l")))) + (build-system cargo-build-system) + (arguments + `(#:tests? #f ; Uses unstable features. + #:cargo-inputs (("rust-pin-project-lite" ,rust-pin-project-lite-0.2)) + #:cargo-development-inputs (("rust-futures-lite" ,rust-futures-lite-0.1)))) + (home-page "https://github.com/irrustible/futures-micro") + (synopsis "Minimal, no_std compatible async prelude") + (description "Minimal, no_std compatible async prelude.") + (license license:asl2.0))) + (define-public rust-futures-preview-0.3 (package (name "rust-futures-preview") @@ -24060,7 +26106,7 @@ different @code{Future}s at once and handling the first one to complete.") (define-public rust-futures-sink-0.3 (package (name "rust-futures-sink") - (version "0.3.26") + (version "0.3.28") (source (origin (method url-fetch) @@ -24069,9 +26115,8 @@ different @code{Future}s at once and handling the first one to complete.") (string-append name "-" version ".tar.gz")) (sha256 (base32 - "0r43djzf0caz89c724ishpzxy59y6nw7ykfvh1nd9kz8nc5q447k")))) + "0vkv4frf4c6gm1ag9imjz8d0xvpnn22lkylsls0rffx147zf8fzl")))) (build-system cargo-build-system) - (arguments `(#:skip-build? #t)) (home-page "https://rust-lang.github.io/futures-rs") (synopsis "Asynchronous @code{Sink} trait for the @code{futures-rs} library") (description "This package provides the asynchronous @code{Sink} trait for @@ -24105,17 +26150,16 @@ futures-rs library.") (define-public rust-futures-task-0.3 (package (name "rust-futures-task") - (version "0.3.26") + (version "0.3.28") (source (origin (method url-fetch) (uri (crate-uri "futures-task" version)) (file-name (string-append name "-" version ".tar.gz")) (sha256 - (base32 "0rk3jg6lri1rrn03ns89cmw8lircbaf2i2d4mr10zc8hyqdrmxyw")))) + (base32 "0ravgihyarbplj32zp60asirfnaalw2wfsa0afhnl3kcpqrd3lvn")))) (build-system cargo-build-system) - (arguments - `(#:skip-build? #t)) + (arguments `(#:tests? #f)) (home-page "https://rust-lang.github.io/futures-rs") (synopsis "Tools for working with tasks") (description "This package provides tools for working with tasks.") @@ -24124,7 +26168,7 @@ futures-rs library.") (define-public rust-futures-test-0.3 (package (name "rust-futures-test") - (version "0.3.26") + (version "0.3.28") (source (origin (method url-fetch) @@ -24132,7 +26176,7 @@ futures-rs library.") (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "0pbdzvbmzrnc67bpp7hbh7l5mavqifpgk2vhaprr0vlr6qrpcyi4")))) + "0j83960iv317xj8bfq5jay4s1yqdjidfcb1lz8js793h91s2gbw4")))) (build-system cargo-build-system) (arguments `(#:tests? #f ; Doc tests fail. @@ -24231,7 +26275,7 @@ timeouts and delays with futures.") (define-public rust-futures-util-0.3 (package (name "rust-futures-util") - (version "0.3.26") + (version "0.3.28") (source (origin (method url-fetch) @@ -24239,10 +26283,10 @@ timeouts and delays with futures.") (file-name (string-append name "-" version ".tar.gz")) (sha256 - (base32 "1lbvdf6hq62yczd87glm6ih8h5qkagsl7xdiwhmqvwzymkins7cw")))) + (base32 "0cwmls9369w6q6hwlbm10q0plr6hmg8w28fpqvv4rmbjnx01xc16")))) (build-system cargo-build-system) (arguments - `(#:skip-build? #t + `(#:tests? #f ; Doc tests fail. #:cargo-inputs (("rust-futures" ,rust-futures-0.1) ("rust-futures-channel" ,rust-futures-channel-0.3) @@ -24255,7 +26299,8 @@ timeouts and delays with futures.") ("rust-pin-project-lite" ,rust-pin-project-lite-0.2) ("rust-pin-utils" ,rust-pin-utils-0.1) ("rust-slab" ,rust-slab-0.4) - ("rust-tokio-io" ,rust-tokio-io-0.1)))) + ("rust-tokio-io" ,rust-tokio-io-0.1)) + #:cargo-development-inputs (("rust-tokio" ,rust-tokio-0.1)))) (home-page "https://rust-lang.github.io/futures-rs") (synopsis "Common utilities and extension traits for the @code{futures-rs} library") @@ -24534,7 +26579,7 @@ Rust.") (define-public rust-generic-array-0.14 (package (name "rust-generic-array") - (version "0.14.4") + (version "0.14.7") (source (origin (method url-fetch) @@ -24543,13 +26588,15 @@ Rust.") (string-append name "-" version ".tar.gz")) (sha256 (base32 - "05qqwm9v5asbil9z28wjkmpfvs1c5c99n8n9gwxis3d3r3n6c52h")))) + "16lyyrzrljfq424c3n8kfwkqihlimmsg5nhshbbp48np3yjrqr45")))) (build-system cargo-build-system) (arguments - `(#:cargo-inputs + `(#:tests? #f ; Doc tests fail + #:cargo-inputs (("rust-serde" ,rust-serde-1) ("rust-typenum" ,rust-typenum-1) - ("rust-version-check" ,rust-version-check-0.9)) + ("rust-version-check" ,rust-version-check-0.9) + ("rust-zeroize" ,rust-zeroize-1)) #:cargo-development-inputs (("rust-bincode" ,rust-bincode-1) ("rust-serde-json" ,rust-serde-json-1)))) @@ -25131,17 +27178,17 @@ permitted in ordinary Rust.") ;; Either license can be chosen at the users option. (license (list license:expat license:asl2.0)))) -(define-public rust-gimli-0.26 +(define-public rust-gimli-0.27 (package (name "rust-gimli") - (version "0.26.2") + (version "0.27.2") (source (origin (method url-fetch) (uri (crate-uri "gimli" version)) (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "0pafbk64rznibgnvfidhm1pqxd14a5s9m50yvsgnbv38b8n0w0r2")))) + "1d5v6jjchf4872jynjsg5ni4vankm1341bas8qindygb6g9962md")))) (build-system cargo-build-system) (arguments `(#:cargo-inputs @@ -25152,11 +27199,13 @@ permitted in ordinary Rust.") ("rust-rustc-std-workspace-core" ,rust-rustc-std-workspace-core-1) ("rust-stable-deref-trait" ,rust-stable-deref-trait-1)) #:cargo-development-inputs - (("rust-byteorder" ,rust-byteorder-0.5) - ("rust-crossbeam" ,rust-crossbeam-0.8) + (("rust-crossbeam" ,rust-crossbeam-0.8) ("rust-getopts" ,rust-getopts-0.2) ("rust-memmap2" ,rust-memmap2-0.5) - ("rust-object" ,rust-object-0.29) + ("rust-num-cpus" ,rust-num-cpus-1) + ("rust-object" ,rust-object-0.30) + ("rust-rayon" ,rust-rayon-1) + ("rust-regex" ,rust-regex-1) ("rust-test-assembler" ,rust-test-assembler-0.1) ("rust-typed-arena" ,rust-typed-arena-2)))) (home-page "https://github.com/gimli-rs/gimli") @@ -25164,7 +27213,90 @@ permitted in ordinary Rust.") (description "This package provides a library for reading and writing the DWARF debugging format.") - (license (list license:asl2.0 license:expat)))) + (license (list license:expat license:asl2.0)))) + +(define-public rust-gimli-0.26 + (package + (inherit rust-gimli-0.27) + (name "rust-gimli") + (version "0.26.2") + (source (origin + (method url-fetch) + (uri (crate-uri "gimli" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0pafbk64rznibgnvfidhm1pqxd14a5s9m50yvsgnbv38b8n0w0r2")))) + (arguments + `(#:cargo-inputs + (("rust-compiler-builtins" ,rust-compiler-builtins-0.1) + ("rust-fallible-iterator" ,rust-fallible-iterator-0.2) + ("rust-indexmap" ,rust-indexmap-1) + ("rust-rustc-std-workspace-alloc" ,rust-rustc-std-workspace-alloc-1) + ("rust-rustc-std-workspace-core" ,rust-rustc-std-workspace-core-1) + ("rust-stable-deref-trait" ,rust-stable-deref-trait-1)) + #:cargo-development-inputs + (("rust-byteorder" ,rust-byteorder-0.5) + ("rust-crossbeam" ,rust-crossbeam-0.8) + ("rust-getopts" ,rust-getopts-0.2) + ("rust-memmap2" ,rust-memmap2-0.5) + ("rust-object" ,rust-object-0.29) + ("rust-test-assembler" ,rust-test-assembler-0.1) + ("rust-typed-arena" ,rust-typed-arena-2)))))) + +(define-public rust-git-testament-0.2 + (package + (name "rust-git-testament") + (version "0.2.4") + (source (origin + (method url-fetch) + (uri (crate-uri "git-testament" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1c9l10wpyz39vhb5cijvbym6gmpmw3y3nb35l2hg6w42h1ygaswq")))) + (build-system cargo-build-system) + (arguments + `(#:tests? #f ; Not all files included. + #:cargo-inputs + (("rust-git-testament-derive" ,rust-git-testament-derive-0.1) + ("rust-no-std-compat" ,rust-no-std-compat-0.4)) + #:cargo-development-inputs + (("rust-lazy-static" ,rust-lazy-static-1) + ("rust-rand" ,rust-rand-0.8) + ("rust-regex" ,rust-regex-1) + ("rust-tempfile" ,rust-tempfile-3)))) + (home-page "https://github.com/kinnison/git-testament/") + (synopsis "Record git working tree status when compiling your crate") + (description "Record git working tree status when compiling your crate") + (license license:bsd-3))) + +(define-public rust-git-testament-derive-0.1 + (package + (name "rust-git-testament-derive") + (version "0.1.14") + (source (origin + (method url-fetch) + (uri (crate-uri "git-testament-derive" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1rlais0i47mgsmp3r5jcqry2agjfyg5s9paj6mgvfykchssjsy2a")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-log" ,rust-log-0.4) + ("rust-proc-macro2" ,rust-proc-macro2-1) + ("rust-quote" ,rust-quote-1) + ("rust-syn" ,rust-syn-1) + ("rust-time" ,rust-time-0.3)) + #:cargo-development-inputs + (("rust-git-testament" ,rust-git-testament-0.2)))) + (home-page "https://github.com/kinnison/git-testament/") + (synopsis "Record git working tree status when compiling your crate") + (description + "This package provides an inner procedural macro for git-testament.") + (license license:bsd-3))) (define-public rust-git-version-0.3 (package @@ -25742,7 +27874,7 @@ shell style patterns.") (define-public rust-globset-0.4 (package (name "rust-globset") - (version "0.4.7") + (version "0.4.12") (source (origin (method url-fetch) @@ -25750,12 +27882,12 @@ shell style patterns.") (file-name (string-append name "-" version ".tar.gz")) (sha256 - (base32 "1ca96s29s7aqpkm04z4babyk8xqn1w7slpdrlldgnkz6l2gipz7h")))) + (base32 "01phmxrkr9d7lhh84b6nylgjb3r21ssfddxvm23ihz3hw3cbpa5c")))) (build-system cargo-build-system) (arguments `(#:cargo-inputs - (("rust-aho-corasick" ,rust-aho-corasick-0.7) - ("rust-bstr" ,rust-bstr-0.2) + (("rust-aho-corasick" ,rust-aho-corasick-1) + ("rust-bstr" ,rust-bstr-1) ("rust-fnv" ,rust-fnv-1) ("rust-log" ,rust-log-0.4) ("rust-regex" ,rust-regex-1) @@ -25872,32 +28004,68 @@ timers.") libraries GMP, MPFR, and MPC.") (license license:lgpl3+))) -(define-public rust-goblin-0.2 +(define-public rust-goblin-0.7 (package (name "rust-goblin") - (version "0.2.1") - (source - (origin - (method url-fetch) - (uri (crate-uri "goblin" version)) - (file-name - (string-append name "-" version ".tar.gz")) - (sha256 - (base32 - "1j38fkqadbsjxawr3wnj9m0qaihcwp6pmfakmhsar881509y7mfx")))) + (version "0.7.1") + (source (origin + (method url-fetch) + (uri (crate-uri "goblin" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0d11fk9bdxzf228xpr8v6d6a01dib00khjg5bldk9kf2d51inz7j")))) (build-system cargo-build-system) (arguments - `(#:skip-build? #t + `(#:tests? #f ; Not all files included. #:cargo-inputs - (("rust-scroll" ,rust-scroll-0.10) + (("rust-log" ,rust-log-0.4) ("rust-plain" ,rust-plain-0.2) - ("rust-log" ,rust-log-0.4)))) + ("rust-scroll" ,rust-scroll-0.11)))) (home-page "https://github.com/m4b/goblin") (synopsis "ELF, Mach-o, and PE binary parsing and loading crate") (description "This package provides an ELF, Mach-o, and PE binary parsing and loading crate.") (license license:expat))) +(define-public rust-goblin-0.6 + (package + (inherit rust-goblin-0.7) + (name "rust-goblin") + (version "0.6.1") + (source (origin + (method url-fetch) + (uri (crate-uri "goblin" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0s7zs27b192virbp88y2fgq8p6nb8blkn7byqyl4cv7bm3j4ssqd")))) + (arguments + `(#:tests? #f ; Not all files included. + #:cargo-inputs + (("rust-log" ,rust-log-0.4) + ("rust-plain" ,rust-plain-0.2) + ("rust-scroll" ,rust-scroll-0.11)))))) + +(define-public rust-goblin-0.2 + (package + (inherit rust-goblin-0.6) + (name "rust-goblin") + (version "0.2.1") + (source (origin + (method url-fetch) + (uri (crate-uri "goblin" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1j38fkqadbsjxawr3wnj9m0qaihcwp6pmfakmhsar881509y7mfx")))) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-scroll" ,rust-scroll-0.10) + ("rust-plain" ,rust-plain-0.2) + ("rust-log" ,rust-log-0.4)))))) + (define-public rust-greetd-ipc-0.8 (package (name "rust-greetd-ipc") @@ -26134,6 +28302,31 @@ provides standard printing of search results, similar to grep itself.") "Fast line oriented regex searching as a library.") (license (list license:unlicense license:expat)))) +(define-public rust-group-0.13 + (package + (name "rust-group") + (version "0.13.0") + (source (origin + (method url-fetch) + (uri (crate-uri "group" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0qqs2p5vqnv3zvq9mfjkmw3qlvgqb0c3cm6p33srkh7pc9sfzygh")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-ff" ,rust-ff-0.13) + ("rust-memuse" ,rust-memuse-0.2) + ("rust-rand" ,rust-rand-0.8) + ("rust-rand-core" ,rust-rand-core-0.6) + ("rust-rand-xorshift" ,rust-rand-xorshift-0.3) + ("rust-subtle" ,rust-subtle-2)))) + (home-page "https://github.com/zkcrypto/group") + (synopsis "Elliptic curve group traits and utilities") + (description "Elliptic curve group traits and utilities.") + (license (list license:expat license:asl2.0)))) + (define-public rust-groupable-0.2 (package (name "rust-groupable") @@ -26535,8 +28728,81 @@ already-hashed or hash-like data.") @code{#[derive(Hash32)]}.") (license (list license:expat license:asl2.0)))) +(define-public rust-hashbrown-0.14 + (package + (name "rust-hashbrown") + (version "0.14.0") + (source (origin + (method url-fetch) + (uri (crate-uri "hashbrown" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0yj3nf0w30pf30w503kgaw4sbjnh62l5cbmc7dd0mnczzywh2qic")) + (modules '((guix build utils))) + (snippet + '(begin + (substitute* "Cargo.toml" + (("=([[:digit:]]+\\.[[:digit:]]+\\.[[:digit:]]+)" _ version) + (string-append "^" version))))))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-ahash" ,rust-ahash-0.8) + ("rust-allocator-api2" ,rust-allocator-api2-0.2) + ("rust-compiler-builtins" ,rust-compiler-builtins-0.1) + ("rust-rayon" ,rust-rayon-1) + ("rust-rkyv" ,rust-rkyv-0.7) + ("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-bumpalo" ,rust-bumpalo-3) + ("rust-doc-comment" ,rust-doc-comment-0.3) + ("rust-fnv" ,rust-fnv-1) + ("rust-lazy-static" ,rust-lazy-static-1) + ("rust-rand" ,rust-rand-0.8) + ("rust-rayon" ,rust-rayon-1) + ("rust-rkyv" ,rust-rkyv-0.7) + ("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:expat license:asl2.0)))) + +(define-public rust-hashbrown-0.13 + (package + (inherit rust-hashbrown-0.14) + (name "rust-hashbrown") + (version "0.13.2") + (source (origin + (method url-fetch) + (uri (crate-uri "hashbrown" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "03ji3n19j4b6mf2wlla81vsixcmlivglp6hgk79d1pcxfcrw38s3")))) + (arguments + `(#:cargo-inputs + (("rust-ahash" ,rust-ahash-0.8) + ("rust-bumpalo" ,rust-bumpalo-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-fnv" ,rust-fnv-1) + ("rust-lazy-static" ,rust-lazy-static-1) + ("rust-rand" ,rust-rand-0.8) + ("rust-rayon" ,rust-rayon-1) + ("rust-serde-test" ,rust-serde-test-1)))))) + (define-public rust-hashbrown-0.12 (package + (inherit rust-hashbrown-0.13) (name "rust-hashbrown") (version "0.12.3") (source (origin @@ -26553,7 +28819,6 @@ already-hashed or hash-like data.") '(substitute* "Cargo.toml" (("\\[package\\]" m) (string-append "cargo-features = [\"edition2021\"]\n" m)))))) - (build-system cargo-build-system) (arguments `(#:cargo-inputs (("rust-ahash" ,rust-ahash-0.7) @@ -26569,12 +28834,7 @@ already-hashed or hash-like data.") ("rust-lazy-static" ,rust-lazy-static-1) ("rust-rand" ,rust-rand-0.8) ("rust-rayon" ,rust-rayon-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:expat license:asl2.0)))) + ("rust-serde-test" ,rust-serde-test-1)))))) (define-public rust-hashbrown-0.11 (package @@ -26780,8 +29040,34 @@ hash map.") ("rust-rustc-hash" ,rust-rustc-hash-1) ("rust-serde-test" ,rust-serde-test-1)))))) +(define-public rust-hashlink-0.8 + (package + (name "rust-hashlink") + (version "0.8.2") + (source (origin + (method url-fetch) + (uri (crate-uri "hashlink" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1ap6ar5jlqq6ln7d9r2j5079mbx0zg8643xacqyjwkqw96ws2q87")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-hashbrown" ,rust-hashbrown-0.13) + ("rust-serde" ,rust-serde-1)) + #:cargo-development-inputs + (("rust-rustc-hash" ,rust-rustc-hash-1) + ("rust-serde-test" ,rust-serde-test-1)))) + (home-page "https://github.com/kyren/hashlink") + (synopsis "HashMap-like containers with user controllable order") + (description "This package provides HashMap-like containers that hold +their key-value pairs in a user controllable order.") + (license (list license:expat license:asl2.0)))) + (define-public rust-hashlink-0.7 (package + (inherit rust-hashlink-0.8) (name "rust-hashlink") (version "0.7.0") (source @@ -26791,19 +29077,13 @@ hash map.") (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 "1kzs54xq1g41zph39cfdfchiafij99382zw5fk6zq7xwkh9a6jbj")))) - (build-system cargo-build-system) (arguments `(#:skip-build? #t #:cargo-inputs (("rust-hashbrown" ,rust-hashbrown-0.11) ("rust-serde" ,rust-serde-1)) #:cargo-development-inputs - (("rust-serde-test" ,rust-serde-test-1)))) - (home-page "https://crates.io/crates/hashlink") - (synopsis "HashMap-like containers with user controllable order") - (description "This package provides HashMap-like containers that hold -their key-value pairs in a user controllable order.") - (license (list license:expat license:asl2.0)))) + (("rust-serde-test" ,rust-serde-test-1)))))) (define-public rust-hdrhistogram-6 (package @@ -27107,22 +29387,21 @@ consistent, and reasonably well performing.") #:cargo-inputs (("rust-unicode-segmentation" ,rust-unicode-segmentation-1)))))) -(define-public rust-hermit-abi-0.2 +(define-public rust-hermit-abi-0.3 (package (name "rust-hermit-abi") - (version "0.2.6") + (version "0.3.1") (source (origin (method url-fetch) (uri (crate-uri "hermit-abi" version)) (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "1iz439yz9qzk3rh9pqx2rz5c4107v3qbd7bppfsbzb1mzr02clgf")))) + "11j2v3q58kmi5mhjvh6hfrb7il2yzg7gmdf5lpwnwwv6qj04im7y")))) (build-system cargo-build-system) (arguments `(#:cargo-inputs (("rust-compiler-builtins" ,rust-compiler-builtins-0.1) - ("rust-libc" ,rust-libc-0.2) ("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/hermitcore/rusty-hermit") @@ -27133,11 +29412,30 @@ It is used to build the target x86_64-unknown-hermit.") ;; The user can choose either license. (license (list license:expat license:asl2.0)))) +(define-public rust-hermit-abi-0.2 + (package + (inherit rust-hermit-abi-0.3) + (name "rust-hermit-abi") + (version "0.2.6") + (source (origin + (method url-fetch) + (uri (crate-uri "hermit-abi" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1iz439yz9qzk3rh9pqx2rz5c4107v3qbd7bppfsbzb1mzr02clgf")))) + (arguments + `(#:cargo-inputs + (("rust-compiler-builtins" ,rust-compiler-builtins-0.1) + ("rust-libc" ,rust-libc-0.2) + ("rust-rustc-std-workspace-alloc" ,rust-rustc-std-workspace-alloc-1) + ("rust-rustc-std-workspace-core" ,rust-rustc-std-workspace-core-1)))))) + (define-public rust-hermit-abi-0.1 (package (inherit rust-hermit-abi-0.2) (name "rust-hermit-abi") - (version "0.1.10") + (version "0.1.20") (source (origin (method url-fetch) @@ -27146,13 +29444,12 @@ It is used to build the target x86_64-unknown-hermit.") (string-append name "-" version ".tar.gz")) (sha256 (base32 - "0blmmzik5cs79ivq70s9gal8ypgzj50wnl2hwsaam46gjjbz2p3j")))) + "1ypkwpf5r7m0jqdn2wfa0070i412kn9snvi1hg52w1yfvc40k8y7")))) (arguments - `(#:skip-build? #t - #: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)))))) + `(#: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)))))) (define-public rust-hex-0.4 (package @@ -27203,10 +29500,31 @@ hexadecimal representation.") (sha256 (base32 "1ajkw40qzn2ygnqjj9w584f6l31wi318258n84pn2hax8la2i8nn")))))) +(define-public rust-hex-literal-0.4 + (package + (name "rust-hex-literal") + (version "0.4.1") + (source (origin + (method url-fetch) + (uri (crate-uri "hex-literal" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0iny5inkixsdr41pm2vkqh3fl66752z5j5c0cdxw16yl9ryjdqkg")))) + (build-system cargo-build-system) + (home-page "https://github.com/RustCrypto/utils") + (synopsis + "Convert hexadecimal string to byte array at compile time") + (description + "Procedural macro for converting hexadecimal string to byte array at +compile time.") + (license (list license:expat license:asl2.0)))) + (define-public rust-hex-literal-0.3 (package + (inherit rust-hex-literal-0.4) (name "rust-hex-literal") - (version "0.3.3") + (version "0.3.4") (source (origin (method url-fetch) @@ -27215,15 +29533,7 @@ hexadecimal representation.") (string-append name "-" version ".tar.gz")) (sha256 (base32 - "0nzljsyz9rwhh4vi0xs9ya4l5g0ka754wgpy97r1j3v42c75kr11")))) - (build-system cargo-build-system) - (home-page "https://github.com/RustCrypto/utils") - (synopsis - "Convert hexadecimal string to byte array at compile time") - (description - "Procedural macro for converting hexadecimal string to byte array at -compile time.") - (license (list license:asl2.0 license:expat)))) + "1q54yvyy0zls9bdrx15hk6yj304npndy9v4crn1h1vd95sfv5gby")))))) (define-public rust-hex-literal-0.2 (package @@ -27624,32 +29934,59 @@ Hash-based Message Authentication Code algorithm} for SHA1.") (("rust-libc" ,rust-libc-0.2) ("rust-winutil" ,rust-winutil-0.1)))))) +(define-public rust-html5ever-0.26 + (package + (name "rust-html5ever") + (version "0.26.0") + (source (origin + (method url-fetch) + (uri (crate-uri "html5ever" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1dx3lhfwngi21wa79cpjv5rd4wn5vmklr50wrwbryidq92mqr9my")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-log" ,rust-log-0.4) + ("rust-mac" ,rust-mac-0.1) + ("rust-markup5ever" ,rust-markup5ever-0.11) + ("rust-proc-macro2" ,rust-proc-macro2-1) + ("rust-quote" ,rust-quote-1) + ("rust-syn" ,rust-syn-1)) + #:cargo-development-inputs + (("rust-criterion" ,rust-criterion-0.3) + ("rust-typed-arena" ,rust-typed-arena-1)))) + (home-page "https://github.com/servo/html5ever") + (synopsis "High-performance browser-grade HTML5 parser") + (description + "This package provides a high-performance browser-grade HTML5 parser.") + (license (list license:expat license:asl2.0)))) + (define-public rust-html5ever-0.25 (package + (inherit rust-html5ever-0.26) (name "rust-html5ever") - (version "0.25.1") + (version "0.25.2") (source (origin (method url-fetch) (uri (crate-uri "html5ever" version)) (file-name (string-append name "-" version ".tar.gz")) (sha256 - (base32 "0szdpwr6l3p21flf01pdlpj6fkpqisqf34lvs918449n3a5g7z5a")))) + (base32 "0j1iw2yy3fglr5rxqfrghmhksxzpcfp8ps753qazqkaxisq3zhg5")))) (build-system cargo-build-system) (arguments - `(#:skip-build? #t - #:cargo-inputs + `(#:cargo-inputs (("rust-log" ,rust-log-0.4) ("rust-mac" ,rust-mac-0.1) ("rust-markup5ever" ,rust-markup5ever-0.10) ("rust-proc-macro2" ,rust-proc-macro2-1) ("rust-quote" ,rust-quote-1) - ("rust-syn" ,rust-syn-1)))) - (home-page "https://github.com/servo/html5ever") - (synopsis "High-performance browser-grade HTML5 parser") - (description - "This package provides a high-performance browser-grade HTML5 parser.") - (license (list license:expat license:asl2.0)))) + ("rust-syn" ,rust-syn-1)) + #:cargo-development-inputs + (("rust-criterion" ,rust-criterion-0.3) + ("rust-typed-arena" ,rust-typed-arena-1)))))) (define-public rust-html5ever-0.24 (package @@ -27726,14 +30063,14 @@ Hash-based Message Authentication Code algorithm} for SHA1.") (define-public rust-html-escape-0.2 (package (name "rust-html-escape") - (version "0.2.12") + (version "0.2.13") (source (origin (method url-fetch) (uri (crate-uri "html-escape" version)) (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "01f2v3c6j2rk5h2lhdbh62j07cm1fvzqw4vplj2sms83jpx5qc8m")))) + "0xml3hswv0205fbm5iq7dqiwjkr6d245xkfppwi7wqjdfr4x86kd")))) (build-system cargo-build-system) (arguments `(#:cargo-inputs @@ -27750,22 +30087,24 @@ characters in HTML, decoding and unescaping HTML entities as well.") (define-public rust-hts-sys-2 (package (name "rust-hts-sys") - (version "2.0.2") + (version "2.0.3") (source (origin (method url-fetch) (uri (crate-uri "hts-sys" version)) (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "1qn1qz2xa69x2dj1fbh91avm9943rbcykr37zs68pb2bdy847i3j")) + "1sy4wfk64f1i81m0brhrs4cm6qkb099zv62gr0k6js6k0v24zfhd")) (modules '((guix build utils))) (snippet '(substitute* "Cargo.toml" ;; Do not use zlib-ng; just use zlib. - (("features = \\[\"zlib-ng\", \"static\"\\]") "") - ;; No static libraries please. - (("\"static-curl\", \"static-ssl\",") "") - ((", \"static\"") "") + (("\"zlib-ng\",") "") + (("\"static\",") "") + ;; No static libraries please in curl-sys. + (("\"static-curl\",") "") + (("\"static-ssl\",") "\"ssl\",") + ;; No static lzma. (("\\[\"static\"\\]") "[]"))))) (build-system cargo-build-system) (arguments @@ -27776,7 +30115,7 @@ characters in HTML, decoding and unescaping HTML entities as well.") ("rust-curl-sys" ,rust-curl-sys-0.4) ("rust-fs-utils" ,rust-fs-utils-1) ("rust-glob" ,rust-glob-0.3) - ("rust-libdeflate-sys" ,rust-libdeflate-sys-0.5) + ("rust-libdeflate-sys" ,rust-libdeflate-sys-0.7) ("rust-libz-sys" ,rust-libz-sys-1) ("rust-lzma-sys" ,rust-lzma-sys-0.1) ("rust-openssl-sys" ,rust-openssl-sys-0.9)))) @@ -28132,10 +30471,31 @@ HTTP request or response body.") "This package provides a Humantime serialization timestamp format.") (license (list license:expat license:asl2.0)))) +(define-public rust-humansize-2 + (package + (name "rust-humansize") + (version "2.1.3") + (source (origin + (method url-fetch) + (uri (crate-uri "humansize" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1msxd1akb3dydsa8qs461sds9krwnn31szvqgaq93p4x0ad1rdbc")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs (("rust-libm" ,rust-libm-0.2)))) + (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-humansize-1 (package + (inherit rust-humansize-2) (name "rust-humansize") - (version "1.1.0") + (version "1.1.1") (source (origin (method url-fetch) @@ -28143,13 +30503,7 @@ HTTP request or response body.") (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)))) + "09nh6xyssghjajvip9crd79i4a40nw8r4bdwwg3dg5l7rfb6ja82")))))) (define-public rust-humantime-2 (package @@ -28474,32 +30828,6 @@ SystemTime}}.") #:cargo-development-inputs (("rust-tokio" ,rust-tokio-0.2)))))) -(define-public rust-hyper-rustls-0.17 - (package - (inherit rust-hyper-rustls-0.21) - (name "rust-hyper-rustls") - (version "0.17.1") - (source - (origin - (method url-fetch) - (uri (crate-uri "hyper-rustls" version)) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 "0li9xkzmqd40dbjbl9g0nbf2ka9y0q538ififyd30zsavz3qb7bi")))) - (arguments - `(#:cargo-test-flags '("--release" "--" "--skip=server" "--skip=client" - "--skip=custom_ca_store") - #:cargo-inputs - (("rust-bytes" ,rust-bytes-0.4) - ("rust-ct-logs" ,rust-ct-logs-0.6) - ("rust-futures" ,rust-futures-0.1) - ("rust-hyper" ,rust-hyper-0.12) - ("rust-rustls" ,rust-rustls-0.16) - ("rust-tokio-io" ,rust-tokio-io-0.1) - ("rust-tokio-rustls" ,rust-tokio-rustls-0.10) - ("rust-webpki" ,rust-webpki-0.21) - ("rust-webpki-roots" ,rust-webpki-roots-0.17)))))) - (define-public rust-hyper-sync-rustls-0.3 (package (name "rust-hyper-sync-rustls") @@ -28709,6 +31037,26 @@ with hyper.") "This package provides the IANA time zone for the current system.") (license (list license:expat license:asl2.0)))) +(define-public rust-idea-0.5 + (package + (name "rust-idea") + (version "0.5.1") + (source (origin + (method url-fetch) + (uri (crate-uri "idea" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0xv4hd9mgrwgzfl7cc5nlwyahm9yni5z9dwb3c1z5mqr8h05fm87")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs (("rust-cipher" ,rust-cipher-0.4)) + #:cargo-development-inputs (("rust-cipher" ,rust-cipher-0.4)))) + (home-page "https://github.com/RustCrypto/block-ciphers") + (synopsis "IDEA block cipher") + (description "IDEA block cipher") + (license (list license:expat license:asl2.0)))) + (define-public rust-ident-case-1 (package (name "rust-ident-case") @@ -28729,8 +31077,36 @@ with hyper.") "Utility for applying case rules to Rust identifiers.") (license (list license:expat license:asl2.0)))) +(define-public rust-idna-0.4 + (package + (name "rust-idna") + (version "0.4.0") + (source (origin + (method url-fetch) + (uri (crate-uri "idna" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0z4i1dhqk83bbv230pp1c31dqdlnscvqxvc85n40ihgvgfqdc83x")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-unicode-bidi" ,rust-unicode-bidi-0.3) + ("rust-unicode-normalization" ,rust-unicode-normalization-0.1)) + #:cargo-development-inputs + (("rust-assert-matches" ,rust-assert-matches-1) + ("rust-bencher" ,rust-bencher-0.1) + ("rust-serde-json" ,rust-serde-json-1) + ("rust-tester" ,rust-tester-0.9)))) + (home-page "https://github.com/servo/rust-url/") + (synopsis "Internationalizing Domain Names in Applications and Punycode") + (description + "IDNA (Internationalizing Domain Names in Applications) and Punycode.") + (license (list license:expat license:asl2.0)))) + (define-public rust-idna-0.3 (package + (inherit rust-idna-0.4) (name "rust-idna") (version "0.3.0") (source @@ -28740,7 +31116,6 @@ with hyper.") (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 "1rh9f9jls0jy3g8rh2bfpjhvvhh4q80348jc4jr2s844133xykg1")))) - (build-system cargo-build-system) (arguments `(#:cargo-inputs (("rust-unicode-bidi" ,rust-unicode-bidi-0.3) @@ -28749,12 +31124,7 @@ with hyper.") (("rust-assert-matches" ,rust-assert-matches-1) ("rust-bencher" ,rust-bencher-0.1) ("rust-serde-json" ,rust-serde-json-1) - ("rust-tester" ,rust-tester-0.9)))) - (home-page "https://github.com/servo/rust-url/") - (synopsis "Internationalizing Domain Names in Applications and Punycode") - (description - "IDNA (Internationalizing Domain Names in Applications) and Punycode.") - (license (list license:expat license:asl2.0)))) + ("rust-tester" ,rust-tester-0.9)))))) (define-public rust-idna-0.2 (package @@ -28856,7 +31226,7 @@ on both POSIX and Microsoft Windows hosts.") (build-system cargo-build-system) (arguments `(#:cargo-inputs - (("rust-cc", rust-cc-1) + (("rust-cc" ,rust-cc-1) ("rust-libc" ,rust-libc-0.2)))) (home-page "https://github.com/messense/if-addrs") (synopsis "Retrieve the IP addresses for all network interfaces") @@ -28886,19 +31256,18 @@ let} expressions.") (define-public rust-ignore-0.4 (package (name "rust-ignore") - (version "0.4.18") + (version "0.4.20") (source (origin (method url-fetch) (uri (crate-uri "ignore" version)) (file-name (string-append name "-" version ".tar.gz")) (sha256 - (base32 "07bmnv96msggqb040z6xqp1p7s8ys0f97b731hp6mybkjc9ingvi")))) + (base32 "14kl9fv83klbnjxdv0y8lpwlj3gkypxf3vbrmm29m2jkmcyqgryv")))) (build-system cargo-build-system) (arguments `(#:cargo-inputs - (("rust-crossbeam-utils" ,rust-crossbeam-utils-0.8) - ("rust-globset" ,rust-globset-0.4) + (("rust-globset" ,rust-globset-0.4) ("rust-lazy-static" ,rust-lazy-static-1) ("rust-log" ,rust-log-0.4) ("rust-memchr" ,rust-memchr-2) @@ -29194,23 +31563,26 @@ crate.") that efficiently appends and removes common indentation after every newline.") (license (list license:expat license:asl2.0)))) -(define-public rust-indexmap-1 +(define-public rust-indexmap-2 (package (name "rust-indexmap") - (version "1.9.2") - (source - (origin - (method url-fetch) - (uri (crate-uri "indexmap" version)) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 "16dkr2h5p379jcr8rnb420396yvzid2myirc2w70zcf43yffg18q")))) + (version "2.0.0") + (source (origin + (method url-fetch) + (uri (crate-uri "indexmap" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0pdnbvv6gnyxx2li8mks8p00fya3ynmhx3n6infpcy8a4gi7yiym")))) (build-system cargo-build-system) (arguments `(#:cargo-inputs (("rust-arbitrary" ,rust-arbitrary-1) + ("rust-equivalent" ,rust-equivalent-1) + ("rust-hashbrown" ,rust-hashbrown-0.14) ("rust-quickcheck" ,rust-quickcheck-1) - ("rust-rustc-rayon" ,rust-rustc-rayon-0.4) + ("rust-rayon" ,rust-rayon-1) + ("rust-rustc-rayon" ,rust-rustc-rayon-0.5) ("rust-serde" ,rust-serde-1)) #:cargo-development-inputs (("rust-fnv" ,rust-fnv-1) @@ -29232,24 +31604,26 @@ removals, and it allows lookup of its elements by either hash table key or numerical index. A corresponding hash set type is also provided.") (license (list license:asl2.0 license:expat)))) -(define-public rust-indexmap-1.8 +(define-public rust-indexmap-1 (package - (inherit rust-indexmap-1) + (inherit rust-indexmap-2) (name "rust-indexmap") - (version "1.8.2") + (version "1.9.3") (source (origin (method url-fetch) (uri (crate-uri "indexmap" version)) (file-name (string-append name "-" version ".tar.gz")) (sha256 - (base32 "0nnaw0whv3xysrpjrz69bsibbscd81rwx63s6f4kbajv1ia2s0g6")))) + (base32 "16dxmy7yvk51wvnih3a3im6fp5lmx0wx76i03n06wyak6cwhw1xx")))) (arguments `(#:cargo-inputs - (("rust-autocfg" ,rust-autocfg-1) - ("rust-hashbrown" ,rust-hashbrown-0.11) + (("rust-arbitrary" ,rust-arbitrary-1) + ("rust-autocfg" ,rust-autocfg-1) + ("rust-hashbrown" ,rust-hashbrown-0.12) + ("rust-quickcheck" ,rust-quickcheck-1) ("rust-rayon" ,rust-rayon-1) - ("rust-rustc-rayon" ,rust-rustc-rayon-0.4) + ("rust-rustc-rayon" ,rust-rustc-rayon-0.5) ("rust-serde" ,rust-serde-1)) #:cargo-development-inputs (("rust-fnv" ,rust-fnv-1) @@ -29260,48 +31634,50 @@ or numerical index. A corresponding hash set type is also provided.") ("rust-rand" ,rust-rand-0.8) ("rust-serde-derive" ,rust-serde-derive-1)))))) -(define-public rust-indexmap-1.7 +(define-public rust-indexmap-1.8 (package (inherit rust-indexmap-1) (name "rust-indexmap") - (version "1.7.0") - (source (origin - (method url-fetch) - (uri (crate-uri "indexmap" version)) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 - "19b2zwfajhsfcgny0clv8y4jppy704znfhv8nv2dw9a18l2kcqxw")))) + (version "1.8.2") + (source + (origin + (method url-fetch) + (uri (crate-uri "indexmap" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "0nnaw0whv3xysrpjrz69bsibbscd81rwx63s6f4kbajv1ia2s0g6")))) (arguments `(#:cargo-inputs (("rust-autocfg" ,rust-autocfg-1) ("rust-hashbrown" ,rust-hashbrown-0.11) ("rust-rayon" ,rust-rayon-1) + ("rust-rustc-rayon" ,rust-rustc-rayon-0.4) ("rust-serde" ,rust-serde-1)) #:cargo-development-inputs (("rust-fnv" ,rust-fnv-1) ("rust-fxhash" ,rust-fxhash-0.2) - ("rust-itertools" ,rust-itertools-0.9) + ("rust-itertools" ,rust-itertools-0.10) ("rust-lazy-static" ,rust-lazy-static-1) - ("rust-quickcheck" ,rust-quickcheck-0.9) - ("rust-rand" ,rust-rand-0.7) + ("rust-quickcheck" ,rust-quickcheck-1) + ("rust-rand" ,rust-rand-0.8) ("rust-serde-derive" ,rust-serde-derive-1)))))) -(define-public rust-indexmap-1.6 +(define-public rust-indexmap-1.7 (package (inherit rust-indexmap-1) (name "rust-indexmap") - (version "1.6.2") + (version "1.7.0") (source (origin (method url-fetch) (uri (crate-uri "indexmap" version)) (file-name (string-append name "-" version ".tar.gz")) (sha256 - (base32 "1wxfh55zlrlpdxfcvvvj6wwc46f23cnb0j9q71190yl9pyh4aj42")))) + (base32 + "19b2zwfajhsfcgny0clv8y4jppy704znfhv8nv2dw9a18l2kcqxw")))) (arguments `(#:cargo-inputs (("rust-autocfg" ,rust-autocfg-1) - ("rust-hashbrown" ,rust-hashbrown-0.9) + ("rust-hashbrown" ,rust-hashbrown-0.11) ("rust-rayon" ,rust-rayon-1) ("rust-serde" ,rust-serde-1)) #:cargo-development-inputs @@ -29375,14 +31751,14 @@ Rust.") (define-public rust-indoc-2 (package (name "rust-indoc") - (version "2.0.1") + (version "2.0.2") (source (origin (method url-fetch) (uri (crate-uri "indoc" version)) (file-name (string-append name "-" version ".tar.gz")) (sha256 - (base32 "142nzc474x1xgdzk057yv1yfrgxsk5a9zybbcwwrzp5ih65v8b4z")))) + (base32 "19xv7xcwln384m5m3p93hva9vv3yicjgsa69z1vrhakyq90dw73n")))) (build-system cargo-build-system) (arguments `(#:cargo-development-inputs @@ -29547,22 +31923,20 @@ 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.9 +(define-public rust-inotify-0.10 (package (name "rust-inotify") - (version "0.9.3") - (source - (origin - (method url-fetch) - (uri (crate-uri "inotify" version)) - (file-name - (string-append name "-" version ".tar.gz")) - (sha256 - (base32 "1cs3xlkq3fnfca3mimvifazp01ayscinm07v38ifw0xin5f4fcdh")))) + (version "0.10.2") + (source (origin + (method url-fetch) + (uri (crate-uri "inotify" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1k2m6a95827yspax1icmwiz4szr7c01w3dnn2b2bil4hfvcnilgx")))) (build-system cargo-build-system) (arguments - `(#:skip-build? #t - #:cargo-inputs + `(#:cargo-inputs (("rust-bitflags" ,rust-bitflags-1) ("rust-futures-core" ,rust-futures-core-0.3) ("rust-inotify-sys" ,rust-inotify-sys-0.1) @@ -29570,14 +31944,41 @@ as both traits and pure functions acting on String types.") ("rust-tokio" ,rust-tokio-1)) #:cargo-development-inputs (("rust-futures-util" ,rust-futures-util-0.3) + ("rust-maplit" ,rust-maplit-1) + ("rust-rand" ,rust-rand-0.8) ("rust-tempfile" ,rust-tempfile-3) ("rust-tokio" ,rust-tokio-1)))) - (home-page "https://github.com/inotify-rs/inotify") + (home-page "https://github.com/hannobraun/inotify") (synopsis "Idiomatic wrapper for inotify") (description "This package provides an idiomatic wrapper for inotify written in Rust.") (license license:isc))) +(define-public rust-inotify-0.9 + (package + (inherit rust-inotify-0.10) + (name "rust-inotify") + (version "0.9.3") + (source (origin + (method url-fetch) + (uri (crate-uri "inotify" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1cs3xlkq3fnfca3mimvifazp01ayscinm07v38ifw0xin5f4fcdh")))) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-bitflags" ,rust-bitflags-1) + ("rust-futures-core" ,rust-futures-core-0.3) + ("rust-inotify-sys" ,rust-inotify-sys-0.1) + ("rust-libc" ,rust-libc-0.2) + ("rust-tokio" ,rust-tokio-1)) + #:cargo-development-inputs + (("rust-futures-util" ,rust-futures-util-0.3) + ("rust-tempfile" ,rust-tempfile-3) + ("rust-tokio" ,rust-tokio-1)))))) + (define-public rust-inotify-0.8 (package (inherit rust-inotify-0.9) @@ -29928,23 +32329,20 @@ bytestring representations.") "Simple procedural macro attribute for repetitive tests.") (license license:expat))) -(define-public rust-inventory-0.2 +(define-public rust-inventory-0.3 (package (name "rust-inventory") - (version "0.2.3") - (source - (origin - (method url-fetch) - (uri (crate-uri "inventory" version)) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 "06h9xw67wx18rank4yyz93iq89j0fk6fbazryfvf5ach1dp4qd44")))) + (version "0.3.8") + (source (origin + (method url-fetch) + (uri (crate-uri "inventory" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1yd0qljqk29vkgpgac1vnigs44li8sd029jbrlrj8xg2w2hqg2n3")))) (build-system cargo-build-system) (arguments - `(#:cargo-inputs - (("rust-ctor" ,rust-ctor-0.1) - ("rust-ghost" ,rust-ghost-0.1)) - #:cargo-development-inputs + `(#:cargo-development-inputs (("rust-rustversion" ,rust-rustversion-1) ("rust-trybuild" ,rust-trybuild-1)))) (home-page "https://github.com/dtolnay/inventory") @@ -29953,9 +32351,28 @@ bytestring representations.") "This package provides a way to set up a plugin registry into which plugins can be registered from any source file linked into your program. There does not need to be a central list of all the plugins.") - ;; Either license can be chosen at the users option. (license (list license:expat license:asl2.0)))) +(define-public rust-inventory-0.2 + (package + (inherit rust-inventory-0.3) + (name "rust-inventory") + (version "0.2.3") + (source (origin + (method url-fetch) + (uri (crate-uri "inventory" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "06h9xw67wx18rank4yyz93iq89j0fk6fbazryfvf5ach1dp4qd44")))) + (arguments + `(#:cargo-inputs + (("rust-ctor" ,rust-ctor-0.1) + ("rust-ghost" ,rust-ghost-0.1)) + #:cargo-development-inputs + (("rust-rustversion" ,rust-rustversion-1) + ("rust-trybuild" ,rust-trybuild-1)))))) + (define-public rust-inventory-0.1 (package (inherit rust-inventory-0.2) @@ -30005,24 +32422,25 @@ versions < 0.2.") (define-public rust-io-lifetimes-1 (package (name "rust-io-lifetimes") - (version "1.0.3") + (version "1.0.10") (source (origin (method url-fetch) (uri (crate-uri "io-lifetimes" version)) (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "0g76f1c4w3cgyl6qn3kfmi7srphrmjhx3a0rl4qks4ib4n9jl4a6")))) + "08625nsz0lgbd7c9lly6b6l45viqpsnj9jbsixd9mrz7596wfrlw")))) (build-system cargo-build-system) (arguments `(#:cargo-inputs (("rust-async-std" ,rust-async-std-1) ("rust-fs-err" ,rust-fs-err-2) + ("rust-hermit-abi" ,rust-hermit-abi-0.3) ("rust-libc" ,rust-libc-0.2) ("rust-mio" ,rust-mio-0.8) ("rust-os-pipe" ,rust-os-pipe-1) ("rust-socket2" ,rust-socket2-0.4) ("rust-tokio" ,rust-tokio-1) - ("rust-windows-sys" ,rust-windows-sys-0.42)))) + ("rust-windows-sys" ,rust-windows-sys-0.48)))) (home-page "https://github.com/sunfishcode/io-lifetimes") (synopsis "Low-level I/O ownership and borrowing library") (description @@ -30122,6 +32540,25 @@ network configuration for Windows.") ("rust-winapi" ,rust-winapi-0.3) ("rust-winreg" ,rust-winreg-0.6)))))) +(define-public rust-is-ci-1 + (package + (name "rust-is-ci") + (version "1.1.1") + (source (origin + (method url-fetch) + (uri (crate-uri "is-ci" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1ywra2z56x6d4pc02zq24a4x7gvpixynh9524icbpchbf9ydwv31")))) + (build-system cargo-build-system) + (home-page "https://github.com/zkat/is_ci") + (synopsis "Lightweight CI environment checker") + (description + "Super lightweight CI environment checker. Just tells you if you're in CI +or not without much fuss.") + (license license:isc))) + (define-public rust-is-macro-0.1 (package (name "rust-is-macro") @@ -30209,7 +32646,7 @@ that integrates with Rust idioms.") (define-public rust-ipnet-2 (package (name "rust-ipnet") - (version "2.3.0") + (version "2.7.2") (source (origin (method url-fetch) @@ -30217,11 +32654,12 @@ that integrates with Rust idioms.") (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "0db147nh8jnxr23yxa7hwqn7dcjivdqi3aq4mgf2zgkqqqa2zgj7")))) + "0zxmnidy5qha1i384fzjfxcsi0qvkbcp730h26q4z3dg54hyxdhj")))) (build-system cargo-build-system) (arguments `(#:cargo-inputs - (("rust-serde" ,rust-serde-1)) + (("rust-schemars" ,rust-schemars-0.8) + ("rust-serde" ,rust-serde-1)) #:cargo-development-inputs (("rust-serde-test" ,rust-serde-test-1)))) (home-page "https://github.com/krisprice/ipnet") @@ -30341,21 +32779,25 @@ whether or not a given path points to an executable file.") (define-public rust-is-terminal-0.4 (package (name "rust-is-terminal") - (version "0.4.1") + (version "0.4.7") (source (origin (method url-fetch) (uri (crate-uri "is-terminal" version)) (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "0c2322dg9s35h87ln33w6qsjlgplhzza89rwmkvac4r9ikvhjxlj")))) + "07xyfla3f2jjb666s72la5jvl9zq7mixbqkjvyfi5j018rhr7kxd")))) (build-system cargo-build-system) (arguments `(#:cargo-inputs - (("rust-hermit-abi" ,rust-hermit-abi-0.2) + (("rust-hermit-abi" ,rust-hermit-abi-0.3) ("rust-io-lifetimes" ,rust-io-lifetimes-1) - ("rust-rustix" ,rust-rustix-0.36) - ("rust-windows-sys" ,rust-windows-sys-0.42)))) + ("rust-rustix" ,rust-rustix-0.37) + ("rust-windows-sys" ,rust-windows-sys-0.48)) + #:cargo-development-inputs + (("rust-atty" ,rust-atty-0.2) + ("rust-libc" ,rust-libc-0.2) + ("rust-tempfile" ,rust-tempfile-3)))) (home-page "https://github.com/sunfishcode/is-terminal") (synopsis "Test whether a given stream is a terminal") (description @@ -30560,15 +33002,17 @@ and functions.") (define-public rust-itoa-1 (package (name "rust-itoa") - (version "1.0.1") + (version "1.0.6") (source (origin (method url-fetch) (uri (crate-uri "itoa" version)) (file-name (string-append name "-" version ".tar.gz")) (sha256 - (base32 "0d8wr2qf5b25a04xf10rz9r0pdbjdgb0zaw3xvf8k2sqcz1qzaqs")))) + (base32 "19jc2sa3wvdc29zhgbwf3bayikq4rq18n20dbyg9ahd4hbsxjfj5")))) (build-system cargo-build-system) + (arguments + `(#:cargo-inputs (("rust-no-panic" ,rust-no-panic-0.1)))) (home-page "https://github.com/dtolnay/itoa") (synopsis "Fast functions for printing integer primitives") (description "This crate provides fast functions for printing integer @@ -31008,7 +33452,7 @@ the jni-bindgen code generator for binding to JVM APIs from Rust.") (define-public rust-jobserver-0.1 (package (name "rust-jobserver") - (version "0.1.24") + (version "0.1.26") (source (origin (method url-fetch) @@ -31017,7 +33461,7 @@ the jni-bindgen code generator for binding to JVM APIs from Rust.") (string-append name "-" version ".tar.gz")) (sha256 (base32 - "1yn1vxbbqv7dqir6qbfcj8h8ddjf89m5mhvm36h13xx7k5raf9dg")))) + "1hkprvh1zp5s3qwjjwwhw7rcpivczcbf6q60rcxr0m8158hzsv4k")))) (build-system cargo-build-system) (arguments `(#:cargo-inputs @@ -31025,7 +33469,7 @@ the jni-bindgen code generator for binding to JVM APIs from Rust.") #:cargo-development-inputs (("rust-futures" ,rust-futures-0.1) ("rust-num-cpus" ,rust-num-cpus-1) - ("rust-tempdir" ,rust-tempdir-0.3) + ("rust-tempfile" ,rust-tempfile-3) ("rust-tokio-core" ,rust-tokio-core-0.1) ("rust-tokio-process" ,rust-tokio-process-0.2)))) (home-page "https://github.com/alexcrichton/jobserver-rs") @@ -31143,8 +33587,27 @@ like Node.js and browsers, built on @code{#[wasm_bindgen]} using the wasm-bindgen crate.") (license (list license:asl2.0 license:expat)))) +(define-public rust-json-0.12 + (package + (name "rust-json") + (version "0.12.4") + (source (origin + (method url-fetch) + (uri (crate-uri "json" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1z9vybaaz3xq95bwmyln2ijmn4dmzj61xlz06jsc9dnzmxg2i3h7")))) + (build-system cargo-build-system) + (home-page "https://github.com/maciejhirsz/json-rust") + (synopsis "JSON implementation in Rust") + (description "This crate provides a JSON implementation in Rust, reducing +friction with idiomatic Rust structs to ease interopability.") + (license (list license:expat license:asl2.0)))) + (define-public rust-json-0.11 (package + (inherit rust-json-0.12) (name "rust-json") (version "0.11.15") (source @@ -31155,14 +33618,7 @@ wasm-bindgen crate.") (sha256 (base32 "1rg9jxf6bpbwis3ixd5ak8rp37him7n4z8awz4ssrxl6hyplbhlj")))) - (build-system cargo-build-system) - (arguments '(#:skip-build? #t)) - (home-page "https://github.com/maciejhirsz/json-rust") - (synopsis "JSON implementation in Rust") - (description "This crate provides a JSON implementation in Rust, reducing -friction with idiomatic Rust structs to ease interopability.") - (license (list license:asl2.0 - license:expat)))) + (arguments '(#:skip-build? #t)))) (define-public rust-juliex-0.3 (package @@ -31264,20 +33720,23 @@ debugging.") (define-public rust-keccak-0.1 (package (name "rust-keccak") - (version "0.1.0") - (source - (origin - (method url-fetch) - (uri (crate-uri "keccak" version)) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 "19ybbvxrdk9yy65rk7f5ad0hcxszkjwph68yzkj3954lnir1bhk7")))) + (version "0.1.4") + (source (origin + (method url-fetch) + (uri (crate-uri "keccak" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0h7rcvwvf20g4k8cx2brnrqvah6jwzs84w09vrj4743dczc5wvcg")))) (build-system cargo-build-system) - (arguments `(#:skip-build? #t)) - (home-page "https://crates.io/crates/keccak") + (arguments + `(#:cargo-inputs (("rust-cpufeatures" ,rust-cpufeatures-0.2)))) + (home-page "https://github.com/RustCrypto/sponges/tree/master/keccak") (synopsis "Keccak-f sponge function for Rust") - (description "This package provides a keccak-f sponge function") - (license license:cc0))) + (description + "Pure Rust implementation of the Keccak sponge function including the +keccak-f and keccak-p variants.") + (license (list license:asl2.0 license:expat)))) (define-public rust-kernel32-sys-0.2 (package @@ -31303,6 +33762,39 @@ debugging.") kernel32.") (license license:expat))) +(define-public rust-keyring-2 + (package + (name "rust-keyring") + (version "2.0.5") + (source (origin + (method url-fetch) + (uri (crate-uri "keyring" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "14i4qxz6kpy1ijkx1gwig494f3bq54kwxldjf459w508plls2jcm")))) + (build-system cargo-build-system) + (arguments + `(#:tests? #f ; Tests need a TTY. + #:cargo-inputs + (("rust-byteorder" ,rust-byteorder-1) + ("rust-lazy-static" ,rust-lazy-static-1) + ("rust-linux-keyutils" ,rust-linux-keyutils-0.2) + ("rust-secret-service" ,rust-secret-service-3) + ("rust-security-framework" ,rust-security-framework-2) + ("rust-winapi" ,rust-winapi-0.3)) + #:cargo-development-inputs + (("rust-clap" ,rust-clap-4) + ("rust-doc-comment" ,rust-doc-comment-0.3) + ("rust-rand" ,rust-rand-0.8) + ("rust-rpassword" ,rust-rpassword-7) + ("rust-whoami" ,rust-whoami-1)))) + (home-page "https://github.com/hwchen/keyring-rs") + (synopsis "Cross-platform library for managing passwords/credentials") + (description "This package provides a cross-platform library for managing +passwords/credentials.") + (license (list license:expat license:asl2.0)))) + (define-public rust-khronos-api-3 (package (name "rust-khronos-api") @@ -31756,6 +34248,28 @@ requires non-const function calls to be computed.") `(#:cargo-inputs (("rust-clippy" ,rust-clippy-0.0)))))) +(define-public rust-lddtree-0.3 + (package + (name "rust-lddtree") + (version "0.3.3") + (source (origin + (method url-fetch) + (uri (crate-uri "lddtree" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "15f24jcglphqdjxmzafp8fnzslczzr6q1rls36akmb9hd32gwnrg")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-fs-err" ,rust-fs-err-2) + ("rust-glob" ,rust-glob-0.3) + ("rust-goblin" ,rust-goblin-0.7)))) + (home-page "https://github.com/messense/lddtree-rs") + (synopsis "Read the ELF dependency tree") + (description "Read the ELF dependency tree.") + (license license:expat))) + (define-public rust-lebe-0.5 (package (name "rust-lebe") @@ -31799,7 +34313,7 @@ requires non-const function calls to be computed.") ("rust-log" ,rust-log-0.4) ("rust-native-tls" ,rust-native-tls-0.2) ("rust-nom" ,rust-nom-4) - ("rust-r2d2" ,rust-r2d2) + ("rust-r2d2" ,rust-r2d2-0.8) ("rust-serde" ,rust-serde-1) ("rust-serde-derive" ,rust-serde-derive-1) ("rust-serde-json" ,rust-serde-json-1)))) @@ -32023,14 +34537,14 @@ parser in Rust.") (define-public rust-libc-0.2 (package (name "rust-libc") - (version "0.2.137") + (version "0.2.144") (source (origin (method url-fetch) (uri (crate-uri "libc" version)) (file-name (string-append name "-" version ".tar.gz")) (sha256 - (base32 "12dz2lk4a7lm03k079n2rkm1l6cpdhvy6nrngbfprzrv19icqzzw")))) + (base32 "1qfzrwhncsradwvdzd8vsj4mc31fh0rb5rvny3884rwa48fcq01b")))) (build-system cargo-build-system) (arguments (list #:cargo-inputs @@ -32052,14 +34566,14 @@ values of all the exported APIs match the platform that libc is compiled for.") (define-public rust-libc-print-0.1 (package (name "rust-libc-print") - (version "0.1.13") + (version "0.1.21") (source (origin (method url-fetch) (uri (crate-uri "libc-print" version)) (file-name (string-append name "-" version ".tar.gz")) (sha256 - (base32 "0cjvz622b9bmf32q3mzmxv9ddxfdla6z2v647v8f3qx7lci9kmji")))) + (base32 "04bcx06gb04v0csgyzsvd1v9wvmv26xwbipmpcblgfnrigasbkh6")))) (build-system cargo-build-system) (arguments `(#:cargo-inputs (("rust-libc" ,rust-libc-0.2)))) @@ -32116,22 +34630,20 @@ exposed as non-streaming buffer operations. It contains bindings for raw deflate, zlib, and gzip data.") (license license:asl2.0))) -(define-public rust-libdeflate-sys-0.5 +(define-public rust-libdeflate-sys-0.7 (package (inherit rust-libdeflate-sys-0.11) (name "rust-libdeflate-sys") - (version "0.5.0") + (version "0.7.5") (source (origin (method url-fetch) (uri (crate-uri "libdeflate-sys" version)) (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "07ychzvz9xrqs92frs3zpny0l8jp3sndzqpl7zhv6kdqhzx9xqr1")))) + "0a5pkrxa7zcb0nab2j48dn6j8d8g1pjvz196c308wrax6dpazkjc")))) (arguments - `(#:cargo-inputs - (("rust-cc" ,rust-cc-1)))) - (home-page "https://github.com/adamkewley/libdeflater"))) + `(#:cargo-inputs (("rust-cc" ,rust-cc-1)))))) (define-public rust-libdeflater-0.11 (package @@ -32856,30 +35368,51 @@ suite of tools for the rapid, accurate and memory-frugal processing single-cell and single-nucleus sequencing data.") (license license:bsd-3))) +(define-public rust-libsqlite3-sys-0.26 + (package + (name "rust-libsqlite3-sys") + (version "0.26.0") + (source (origin + (method url-fetch) + (uri (crate-uri "libsqlite3-sys" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "09j3v5nhgvjdyskgwajhg9g6v3b2ij0lxiz8qqav2cxic7zjxhmg")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-bindgen" ,rust-bindgen-0.64) + ("rust-cc" ,rust-cc-1) + ("rust-openssl-sys" ,rust-openssl-sys-0.9) + ("rust-pkg-config" ,rust-pkg-config-0.3) + ("rust-vcpkg" ,rust-vcpkg-0.2)))) + (inputs + (list sqlite)) + (home-page "https://github.com/rusqlite/rusqlite") + (synopsis "Native bindings to the libsqlite3 library") + (description "Native bindings to the libsqlite3 library") + (license license:expat))) + (define-public rust-libsqlite3-sys-0.23 (package + (inherit rust-libsqlite3-sys-0.26) (name "rust-libsqlite3-sys") - (version "0.23.1") + (version "0.23.2") (source (origin (method url-fetch) (uri (crate-uri "libsqlite3-sys" version)) (file-name (string-append name "-" version ".tar.gz")) (sha256 - (base32 "1wm91qnsz729vfl3n1rhaq2ip2v4zzxbsawb975vlh4v8h68bmdb")))) - (build-system cargo-build-system) + (base32 "0n6b4mlpw9l74cl5mahnpaanyjsgpmz5y517kmnk6v09fiygrjnj")))) (arguments - `(#:skip-build? #t - #:cargo-inputs + `(#:cargo-inputs (("rust-bindgen" ,rust-bindgen-0.59) ("rust-cc" ,rust-cc-1) ("rust-openssl-sys" ,rust-openssl-sys-0.9) ("rust-pkg-config" ,rust-pkg-config-0.3) - ("rust-vcpkg" ,rust-vcpkg-0.2)))) - (home-page "https://github.com/rusqlite/rusqlite") - (synopsis "Native bindings to the libsqlite3 library") - (description "Native bindings to the libsqlite3 library") - (license license:expat))) + ("rust-vcpkg" ,rust-vcpkg-0.2)))))) (define-public rust-libsqlite3-sys-0.22 (package @@ -33050,6 +35583,25 @@ high-performance zlib library.") (description "This package provides an object pool manager in Rust.") (license license:expat))) +(define-public rust-line-col-0.2 + (package + (name "rust-line-col") + (version "0.2.1") + (source (origin + (method url-fetch) + (uri (crate-uri "line-col" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1nvqjxn2kkxkph3qdlkc5xq1m2ygla4l0saga778sp2vp3vcsscy")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs (("rust-unicode-segmentation" ,rust-unicode-segmentation-1)))) + (home-page "https://github.com/TheBerkin/line-col-rs") + (synopsis "Convert string slice indices into line/column numbers") + (description "Convert string slice indices into line/column numbers") + (license license:expat))) + (define-public rust-line-wrap-0.1 (package (name "rust-line-wrap") @@ -33232,25 +35784,52 @@ in plain text. It is smart about where a link ends, such as with trailing punctuation.") (license (list license:expat license:asl2.0)))) -(define-public rust-linux-raw-sys-0.1 +(define-public rust-linux-keyutils-0.2 + (package + (name "rust-linux-keyutils") + (version "0.2.3") + (source (origin + (method url-fetch) + (uri (crate-uri "linux-keyutils" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0jxq2bsrr80diyh8h4a0ls6yaljhyvj6ha2qmfshn7fxyrkvn9rz")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-bitflags" ,rust-bitflags-1) + ("rust-libc" ,rust-libc-0.2)) + #:cargo-development-inputs + (("rust-clap" ,rust-clap-3) + ("rust-zeroize" ,rust-zeroize-1)))) + (home-page "https://github.com/landhb/linux-keyutils") + (synopsis "Rust interface to the Linux key-management facility") + (description + "This package provides a rust interface to the Linux key-management +facility. Provides a safe interface around the raw system calls allowing +user-space programs to perform key manipulation.") + (license (list license:asl2.0 license:expat)))) + +(define-public rust-linux-raw-sys-0.3 (package (name "rust-linux-raw-sys") - (version "0.1.3") + (version "0.3.7") (source (origin (method url-fetch) (uri (crate-uri "linux-raw-sys" version)) (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "0zxlp1c4h7kkc4ldgcj5cn7dzynvlksg8y0s9czn2v1sjvc0i7wg")))) + "17s7qr5h82blrxy29014zzhr30jcxcjc8r16v2p31rzcfal7xsgc")))) (build-system cargo-build-system) (arguments - `(#:cargo-development-inputs - (("rust-libc" ,rust-libc-0.2) - ("rust-static-assertions" ,rust-static-assertions-1)) - #:cargo-inputs + `(#:cargo-inputs (("rust-compiler-builtins" ,rust-compiler-builtins-0.1) - ("rust-rustc-std-workspace-core" ,rust-rustc-std-workspace-core-1)))) + ("rust-rustc-std-workspace-core" ,rust-rustc-std-workspace-core-1)) + #:cargo-development-inputs + (("rust-libc" ,rust-libc-0.2) + ("rust-static-assertions" ,rust-static-assertions-1)))) (home-page "https://github.com/sunfishcode/linux-raw-sys") (synopsis "Generated bindings for Linux APIs") (description @@ -33260,6 +35839,26 @@ Linux userspace APIs.") ;; LLVM exception. See COPYRIGHT in the repository. (license (list license:asl2.0 license:expat)))) +(define-public rust-linux-raw-sys-0.1 + (package + (inherit rust-linux-raw-sys-0.3) + (name "rust-linux-raw-sys") + (version "0.1.3") + (source (origin + (method url-fetch) + (uri (crate-uri "linux-raw-sys" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0zxlp1c4h7kkc4ldgcj5cn7dzynvlksg8y0s9czn2v1sjvc0i7wg")))) + (arguments + `(#:cargo-development-inputs + (("rust-libc" ,rust-libc-0.2) + ("rust-static-assertions" ,rust-static-assertions-1)) + #:cargo-inputs + (("rust-compiler-builtins" ,rust-compiler-builtins-0.1) + ("rust-rustc-std-workspace-core" ,rust-rustc-std-workspace-core-1)))))) + (define-public rust-linux-raw-sys-0.0.46 (package (inherit rust-linux-raw-sys-0.1) @@ -33405,6 +36004,25 @@ language representing fixed values). Particularly useful for proc macros, but can also be used outside of a proc-macro context.") (license (list license:expat license:asl2.0)))) +(define-public rust-llvm-bitcode-0.1 + (package + (name "rust-llvm-bitcode") + (version "0.1.2") + (source (origin + (method url-fetch) + (uri (crate-uri "llvm-bitcode" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1fskb2nzddg8m038kh2lm91gb5yg0l4j3rcnv44kz7f37kcxz5cb")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs (("rust-num-enum" ,rust-num-enum-0.5)))) + (home-page "https://github.com/messense/llvm-bitcode-rs.git") + (synopsis "LLVM Bitcode parser in Rust") + (description "This package provides an LLVM Bitcode parser in Rust.") + (license license:expat))) + (define-public rust-locale-0.2 (package (name "rust-locale") @@ -34035,7 +36653,7 @@ server (LSP).") (define-public rust-lzma-sys-0.1 (package (name "rust-lzma-sys") - (version "0.1.17") + (version "0.1.20") (source (origin (method url-fetch) @@ -34043,10 +36661,10 @@ server (LSP).") (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "06fnjsx5cj2w6rsqb12x30nl9lnj0xv4hv78z4x1vlfsxp1vgd5x")) + "09sxp20waxyglgn3cjz8qjkspb3ryz2fwx4rigkwvrk46ymh9njz")) (modules '((guix build utils))) (snippet - '(begin (delete-file-recursively "xz-5.2") #t)))) + '(begin (delete-file-recursively "xz-5.2"))))) (build-system cargo-build-system) (arguments `(#:cargo-inputs @@ -34293,30 +36911,50 @@ algorithms. It supports CBC block cipher mode, PKCS5 padding and 64, 128, "This package provides a simple library for maildir manipulation.") (license license:bsd-0))) -(define-public rust-mailparse-0.13 +(define-public rust-mailparse-0.14 (package (name "rust-mailparse") - (version "0.13.5") - (source - (origin - (method url-fetch) - (uri (crate-uri "mailparse" version)) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 "1qacyzfl3wsl745b92w9gj0mjg43rcwg99l96rmg8l1sq5pm4vy0")))) + (version "0.14.0") + (source (origin + (method url-fetch) + (uri (crate-uri "mailparse" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1al0yb9wgy26ihd0gm4x1dk9rsv23wrmp2qw1lk4f04cbw7mfmkb")))) (build-system cargo-build-system) (arguments - `(#:skip-build? #t + `(#:tests? #f ; Doc tests fail. #:cargo-inputs - (("rust-base64" ,rust-base64-0.13) - ("rust-charset" ,rust-charset-0.1) - ("rust-quoted-printable" ,rust-quoted-printable-0.4)))) - (home-page "https://github.com/staktrace/mailparse") + (("rust-charset" ,rust-charset-0.1) + ("rust-data-encoding" ,rust-data-encoding-2) + ("rust-quoted-printable" ,rust-quoted-printable-0.4)) + #:cargo-development-inputs (("rust-ouroboros" ,rust-ouroboros-0.14)))) + (home-page "https://github.com/staktrace/mailparse/blob/master/README.md") (synopsis "Simple parser for MIME e-mail messages") (description "This package provides a simple parser for MIME e-mail messages.") (license license:bsd-0))) +(define-public rust-mailparse-0.13 + (package + (inherit rust-mailparse-0.14) + (name "rust-mailparse") + (version "0.13.5") + (source (origin + (method url-fetch) + (uri (crate-uri "mailparse" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1qacyzfl3wsl745b92w9gj0mjg43rcwg99l96rmg8l1sq5pm4vy0")))) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-base64" ,rust-base64-0.13) + ("rust-charset" ,rust-charset-0.1) + ("rust-quoted-printable" ,rust-quoted-printable-0.4)))))) + (define-public rust-malloc-buf-0.0 (package (name "rust-malloc-buf") @@ -34406,8 +37044,35 @@ template engine for Rust.") "This package provides a fast, type-safe template engine for Rust.") (license (list license:expat license:asl2.0)))) +(define-public rust-markup5ever-0.11 + (package + (name "rust-markup5ever") + (version "0.11.0") + (source (origin + (method url-fetch) + (uri (crate-uri "markup5ever" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "05mhzsp6lfxla1fgd0ac283b405s6kyj27wj5r6d7wq42jxjj9ks")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-log" ,rust-log-0.4) + ("rust-phf" ,rust-phf-0.10) + ("rust-phf-codegen" ,rust-phf-codegen-0.10) + ("rust-string-cache" ,rust-string-cache-0.8) + ("rust-string-cache-codegen" ,rust-string-cache-codegen-0.5) + ("rust-tendril" ,rust-tendril-0.4)))) + (home-page "https://github.com/servo/html5ever") + (synopsis "Common code for xml5ever and html5ever") + (description + "Common code for xml5ever and html5ever.") + (license (list license:expat license:asl2.0)))) + (define-public rust-markup5ever-0.10 (package + (inherit rust-markup5ever-0.11) (name "rust-markup5ever") (version "0.10.1") (source @@ -34419,7 +37084,6 @@ template engine for Rust.") (sha256 (base32 "1zf8iq2czd6kz99fjs3pgf5c17lfz75ds31khkfiqbc50gxl0kx2")))) - (build-system cargo-build-system) (arguments `(#:cargo-inputs (("rust-log" ,rust-log-0.4) @@ -34427,12 +37091,7 @@ template engine for Rust.") ("rust-phf-codegen" ,rust-phf-codegen-0.8) ("rust-string-cache" ,rust-string-cache-0.8) ("rust-string-cache-codegen" ,rust-string-cache-codegen-0.5) - ("rust-tendril" ,rust-tendril-0.4)))) - (home-page "https://github.com/servo/html5ever") - (synopsis "Common code for xml5ever and html5ever") - (description - "Common code for xml5ever and html5ever.") - (license (list license:asl2.0 license:expat)))) + ("rust-tendril" ,rust-tendril-0.4)))))) (define-public rust-markup5ever-0.9 (package @@ -34475,30 +37134,27 @@ template engine for Rust.") (base32 "08ayl9aqjnmf7ly1ipy6dk3wjvyfn4w51l40jzh1fh984ykldbzi")))))) -(define-public rust-markup5ever-rcdom-0.1 +(define-public rust-markup5ever-rcdom-0.2 (package (name "rust-markup5ever-rcdom") - (version "0.1.0") - (source - (origin - (method url-fetch) - (uri (crate-uri "markup5ever-rcdom" version)) - (file-name - (string-append name "-" version ".tar.gz")) - (sha256 - (base32 - "0axf6vrms8579lvhbjaj0v7bhs8xb7s26d4sam2g3m6qpi1xl5gh")))) + (version "0.2.0") + (source (origin + (method url-fetch) + (uri (crate-uri "markup5ever-rcdom" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1hir73wmvl0i5mfplfjg0qvxxmsn8qp5xmjkdkp813hgfpb1slmr")))) (build-system cargo-build-system) (arguments - `(#:skip-build? #t - #:cargo-inputs - (("rust-html5ever" ,rust-html5ever-0.25) - ("rust-markup5ever" ,rust-markup5ever-0.10) - ("rust-tendril" ,rust-tendril-0.4) - ("rust-xml5ever" ,rust-xml5ever-0.16)) - #:cargo-development-inputs - (("rust-rustc-test" ,rust-rustc-test-0.3) - ("rust-serde-json" ,rust-serde-json-1)))) + `(#:cargo-inputs + (("rust-html5ever" ,rust-html5ever-0.26) + ("rust-markup5ever" ,rust-markup5ever-0.11) + ("rust-tendril" ,rust-tendril-0.4) + ("rust-xml5ever" ,rust-xml5ever-0.17)) + #:cargo-development-inputs + (("rust-rustc-test" ,rust-rustc-test-0.3) + ("rust-serde-json" ,rust-serde-json-1)))) (home-page "https://github.com/servo/html5ever") (synopsis "Basic, unsupported DOM structure for use by tests in html5ever/xml5ever") @@ -34507,6 +37163,30 @@ template engine for Rust.") in html5ever/xml5ever") (license (list license:expat license:asl2.0)))) +(define-public rust-markup5ever-rcdom-0.1 + (package + (inherit rust-markup5ever-rcdom-0.2) + (name "rust-markup5ever-rcdom") + (version "0.1.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "markup5ever-rcdom" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0axf6vrms8579lvhbjaj0v7bhs8xb7s26d4sam2g3m6qpi1xl5gh")))) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-html5ever" ,rust-html5ever-0.25) + ("rust-markup5ever" ,rust-markup5ever-0.10) + ("rust-tendril" ,rust-tendril-0.4) + ("rust-xml5ever" ,rust-xml5ever-0.16)) + #:cargo-development-inputs + (("rust-rustc-test" ,rust-rustc-test-0.3) + ("rust-serde-json" ,rust-serde-json-1)))))) + (define-public rust-match-cfg-0.1 (package (name "rust-match-cfg") @@ -35175,8 +37855,69 @@ file IO.") (sha256 (base32 "0nmymqy9q62x577ydja0ysfyir7h5qa0n5fwcnvchfhhlsi0rdyr")))))) +(define-public rust-memo-map-0.3 + (package + (name "rust-memo-map") + (version "0.3.1") + (source (origin + (method url-fetch) + (uri (crate-uri "memo-map" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0h0c80ilf74872nfn1dx65zdj60cxcczrbks113l9kk0jp07dhmf")))) + (build-system cargo-build-system) + (home-page "https://github.com/mitsuhiko/memo-map") + (synopsis "Synchronized map for memoization") + (description "This package provides a crate implementing a synchronized map +for memoization.") + (license license:asl2.0))) + +(define-public rust-memoffset-0.9 + (package + (name "rust-memoffset") + (version "0.9.0") + (source (origin + (method url-fetch) + (uri (crate-uri "memoffset" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0v20ihhdzkfw1jx00a7zjpk2dcp5qjq6lz302nyqamd9c4f4nqss")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-autocfg" ,rust-autocfg-1)) + #:cargo-development-inputs + (("rust-doc-comment" ,rust-doc-comment-0.3)))) + (home-page "https://github.com/Gilnaa/memoffset") + (synopsis "C-like offset_of functionality for Rust structs") + (description + "This package provides C-like @code{offset_of} functionality +for Rust structs.") + (license license:expat))) + +(define-public rust-memoffset-0.8 + (package + (inherit rust-memoffset-0.9) + (name "rust-memoffset") + (version "0.8.0") + (source (origin + (method url-fetch) + (uri (crate-uri "memoffset" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1qcdic88dhgw76pafgndpz04pig8il4advq978mxdxdwrydp276n")))) + (arguments + `(#:cargo-inputs + (("rust-autocfg" ,rust-autocfg-1)) + #:cargo-development-inputs + (("rust-doc-comment" ,rust-doc-comment-0.3)))))) + (define-public rust-memoffset-0.7 (package + (inherit rust-memoffset-0.8) (name "rust-memoffset") (version "0.7.1") (source @@ -35186,18 +37927,11 @@ file IO.") (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 "1x2zv8hv9c9bvgmhsjvr9bymqwyxvgbca12cm8xkhpyy5k1r7s2x")))) - (build-system cargo-build-system) (arguments `(#:cargo-inputs (("rust-autocfg" ,rust-autocfg-1)) #:cargo-development-inputs - (("rust-doc-comment" ,rust-doc-comment-0.3)))) - (home-page "https://github.com/Gilnaa/memoffset") - (synopsis "C-like offset_of functionality for Rust structs") - (description - "This package provides C-like @code{offset_of} functionality -for Rust structs.") - (license license:expat))) + (("rust-doc-comment" ,rust-doc-comment-0.3)))))) (define-public rust-memoffset-0.6 (package @@ -35279,6 +38013,25 @@ for Rust structs.") (sha256 (base32 "13ir50j549gdz94pds1i7ljnk14d66q5x91s11hncm1pih7jif8c")))))) +(define-public rust-memuse-0.2 + (package + (name "rust-memuse") + (version "0.2.1") + (source (origin + (method url-fetch) + (uri (crate-uri "memuse" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "06kgsfv8fnhqbwnq3q841ndfq5wkanz5jpykldpfmrdc6na8ci91")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs (("rust-nonempty" ,rust-nonempty-0.7)))) + (home-page "https://github.com/str4d/memuse") + (synopsis "Traits for measuring dynamic memory usage of types") + (description "Traits for measuring dynamic memory usage of types.") + (license (list license:expat license:asl2.0)))) + (define-public rust-merge-derive-0.1 (package (name "rust-merge-derive") @@ -35349,50 +38102,6 @@ proofs. It automates the Fiat-Shamir transform, so that by using Merlin, non-interactive protocols can be implemented as if they were interactive.") (license license:expat))) -(define-public rust-mesalink-1 - (package - (name "rust-mesalink") - (version "1.1.0-cratesio") - (source - (origin - (method url-fetch) - (uri (crate-uri "mesalink" version)) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 "02lp27j5vxdc95bf5g983yr660cm6vljikk0yqry4j6cjvfnyq85")))) - (build-system cargo-build-system) - (arguments - `(#:cargo-test-flags - '("--release" - "--" - "--skip=libssl::ssl::tests::early_data_to_mesalink_io" - "--skip=libssl::ssl::tests::get_ssl_fd" - "--skip=libssl::ssl::tests::ssl_on_nonblocking_socket") - #:cargo-inputs - (("rust-base64" ,rust-base64-0.10) - ("rust-bitflags" ,rust-bitflags-1) - ("rust-enum-to-u8-slice-derive" ,rust-enum-to-u8-slice-derive-0.1) - ("rust-env-logger" ,rust-env-logger-0.6) - ("rust-jemallocator" ,rust-jemallocator-0.3) - ("rust-lazy-static" ,rust-lazy-static-1) - ("rust-libc" ,rust-libc-0.2) - ("rust-parking-lot" ,rust-parking-lot-0.9) - ("rust-ring" ,rust-ring-0.16) - ("rust-rustls" ,rust-rustls-0.16) - ("rust-sct" ,rust-sct-0.6) - ("rust-untrusted" ,rust-untrusted-0.7) - ("rust-walkdir" ,rust-walkdir-2) - ("rust-webpki" ,rust-webpki-0.21) - ("rust-webpki-roots" ,rust-webpki-roots-0.17)) - #:cargo-development-inputs - (("rust-cfg-if" ,rust-cfg-if-1)))) - (home-page "https://github.com/mesalock-linux/mesalink") - (synopsis "Memory-safe and OpenSSL-compatible TLS library") - (description - "MesaLink is a memory-safe and OpenSSL-compatible TLS library -based on Rustls and Ring.") - (license license:bsd-3))) - (define-public rust-metadeps-1 (package (name "rust-metadeps") @@ -35832,6 +38541,58 @@ file's MIME type by its extension.") ;; No copyright headers in the source code. LICENSE indicates gpl3. (license license:gpl3))) +(define-public rust-minijinja-0.34 + (package + (name "rust-minijinja") + (version "0.34.0") + (source (origin + (method url-fetch) + (uri (crate-uri "minijinja" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1gf14x3rvixw1pqwbdj95nx5wxcrkkdpmg2k7spxdjkxm35r3akm")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-aho-corasick" ,rust-aho-corasick-1) + ("rust-indexmap" ,rust-indexmap-1) + ("rust-memo-map" ,rust-memo-map-0.3) + ("rust-percent-encoding" ,rust-percent-encoding-2) + ("rust-self-cell" ,rust-self-cell-1) + ("rust-serde" ,rust-serde-1) + ("rust-serde-json" ,rust-serde-json-1) + ("rust-unicode-ident" ,rust-unicode-ident-1) + ("rust-v-htmlescape" ,rust-v-htmlescape-0.15)) + #:cargo-development-inputs + (("rust-insta" ,rust-insta-1) + ("rust-serde" ,rust-serde-1) + ("rust-serde-json" ,rust-serde-json-1) + ("rust-similar-asserts" ,rust-similar-asserts-1)))) + (home-page "https://github.com/mitsuhiko/minijinja") + (synopsis "Template engine for Rust") + (description "This package provides a template engine for Rust.") + (license license:asl2.0))) + +(define-public rust-minimad-0.9 + (package + (name "rust-minimad") + (version "0.9.1") + (source (origin + (method url-fetch) + (uri (crate-uri "minimad" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0d2qnjwdrb3ngb0sayzj2b56pjb75ajqiaz4iw7zfs4537q3jxi7")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs (("rust-once-cell" ,rust-once-cell-1)))) + (home-page "https://github.com/Canop/minimad") + (synopsis "Light markdown parser") + (description "Light markdown parser.") + (license license:expat))) + (define-public rust-minimal-lexical-0.2 (package (name "rust-minimal-lexical") @@ -35933,31 +38694,6 @@ streaming API for miniz_oxide.") (arguments `(#:cargo-inputs (("rust-adler32" ,rust-adler32-1)))))) -(define-public rust-miniz-sys-0.1 - (package - (name "rust-miniz-sys") - (version "0.1.12") - (source - (origin - (method url-fetch) - (uri (crate-uri "miniz-sys" version)) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 - "00l2r4anm8g35x0js2zfdnwfbrih9m43vphdpb77c5ga3kjkm7hy")))) - (build-system cargo-build-system) - (arguments - `(#:cargo-inputs - (("rust-libc" ,rust-libc-0.2) - ;; Build dependencies: - ("rust-cc" ,rust-cc-1)))) - (home-page "https://github.com/alexcrichton/flate2-rs") - (synopsis "Bindings to the miniz.c library") - (description - "This package provides bindings to the @code{miniz.c} library.") - (license (list license:asl2.0 - license:expat)))) - (define-public rust-mint-0.5 (package (name "rust-mint") @@ -35984,21 +38720,21 @@ streaming API for miniz_oxide.") (define-public rust-mio-0.8 (package (name "rust-mio") - (version "0.8.5") + (version "0.8.6") (source (origin (method url-fetch) (uri (crate-uri "mio" version)) (file-name (string-append name "-" version ".tar.gz")) (sha256 - (base32 "1pjqn6jvmqkgyykf2z5danqka1rfs3il7w4d0qin8yi062y35mz5")))) + (base32 "1ygx5chq81k3vk2bx722xwcwf2qydmm337jsnijgzd7mxx39m7av")))) (build-system cargo-build-system) (arguments (list #:cargo-inputs `(("rust-libc" ,rust-libc-0.2) ("rust-log" ,rust-log-0.4) ("rust-wasi" ,rust-wasi-0.11) - ("rust-windows-sys" ,rust-windows-sys-0.42)) + ("rust-windows-sys" ,rust-windows-sys-0.45)) #:cargo-development-inputs `(("rust-env-logger" ,rust-env-logger-0.8) ("rust-rand" ,rust-rand-0.8)))) @@ -36242,7 +38978,7 @@ IOCP and Async I/O abstractions.") (package (inherit rust-miow-0.3) (name "rust-miow") - (version "0.2.1") + (version "0.2.2") (source (origin (method url-fetch) @@ -36250,7 +38986,7 @@ IOCP and Async I/O abstractions.") (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "06g9b8sqlh5gxakwqq4rrib07afwanfnxgxajrldwcgk3hxjy7wc")))) + "0kcl8rnv0bhiarcdakik670w8fnxzlxhi1ys7152sck68510in7b")))) (arguments `(#:skip-build? #t #:cargo-inputs @@ -36366,32 +39102,6 @@ IOCP and Async I/O abstractions.") select the mock struct at compile time. Used with the Mockall crate.") (license (list license:expat license:asl2.0)))) -(define-public rust-model-0.1 - (package - (name "rust-model") - (version "0.1.2") - (source - (origin - (method url-fetch) - (uri (crate-uri "model" version)) - (file-name - (string-append name "-" version ".tar.gz")) - (sha256 - (base32 - "0kx6hy5i1fn2qs4x6hpng9jixpm68g83vm24z8bqqscr317yinb6")))) - (build-system cargo-build-system) - (arguments - `(#:skip-build? #t - #:cargo-inputs - (("rust-permutohedron" ,rust-permutohedron-0.2) - ("rust-proptest" ,rust-proptest-0.9)))) - (home-page "https://github.com/spacejam/model") - (synopsis "Model-based testing for data structures") - (description - "Model-based testing for data structures, with linearizability -checking.") - (license (list license:expat license:asl2.0)))) - (define-public rust-modifier-0.1 (package (name "rust-modifier") @@ -36609,7 +39319,7 @@ library.") (define-public rust-mysqlclient-sys-0.2 (package (name "rust-mysqlclient-sys") - (version "0.2.4") + (version "0.2.5") (source (origin (method url-fetch) @@ -36617,7 +39327,7 @@ library.") (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "11ggkcbfnmp81amc9g0j98dk17fnmqcp9smgm9w401286kckg5ky")))) + "16wndr59cbpc2wgli45zfgi0hi837pbrsh1aqh2k0ads50akh6zn")))) (build-system cargo-build-system) (arguments `(#:cargo-inputs @@ -37274,19 +39984,20 @@ library.") (define-public rust-ndarray-0.15 (package (name "rust-ndarray") - (version "0.15.3") + (version "0.15.6") (source (origin (method url-fetch) (uri (crate-uri "ndarray" version)) (file-name (string-append name "-" version ".tar.gz")) (sha256 - (base32 "1jd845r1ihybq02iz85b1xcnvxr7l2qs06dabgk278v086b59s08")))) + (base32 "0cpsm28hyk8qfjs4g9649dprv3hm53z12qqwyyjqbi3yjr72vcdd")))) (build-system cargo-build-system) (arguments `(#:skip-build? #t #:cargo-inputs (("rust-approx" ,rust-approx-0.4) + ("rust-approx" ,rust-approx-0.5) ("rust-cblas-sys" ,rust-cblas-sys-0.1) ("rust-libc" ,rust-libc-0.2) ("rust-matrixmultiply" ,rust-matrixmultiply-0.3) @@ -37300,7 +40011,7 @@ library.") (("rust-approx" ,rust-approx-0.4) ("rust-defmac" ,rust-defmac-0.2) ("rust-itertools" ,rust-itertools-0.10) - ("rust-quickcheck" ,rust-quickcheck-0.9)))) + ("rust-quickcheck" ,rust-quickcheck-1)))) (home-page "https://github.com/rust-ndarray/ndarray") (synopsis "N-dimensional container for general elements and for numerics") (description "@code{ndarray} implements an n-dimensional container for @@ -37719,7 +40430,7 @@ in Rust that can compile to WebAssembly.") (define-public rust-net2-0.2 (package (name "rust-net2") - (version "0.2.33") + (version "0.2.38") (source (origin (method url-fetch) @@ -37727,11 +40438,10 @@ in Rust that can compile to WebAssembly.") (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "126g3fgfxp06zimc1l9iyxnn9cif1hjsg7sd81nlls5nnyghsma2")))) + "0cf66y4415qc1i9sr0rrn9my5f1pgxzf3xllwsr309fdrycxzl3l")))) (build-system cargo-build-system) (arguments - `(#:skip-build? #t - #:cargo-inputs + `(#:cargo-inputs (("rust-cfg-if" ,rust-cfg-if-0.1) ("rust-libc" ,rust-libc-0.2) ("rust-winapi" ,rust-winapi-0.3)))) @@ -37746,29 +40456,26 @@ types as proposed in RFC 1158.") (define-public rust-nettle-7 (package (name "rust-nettle") - (version "7.0.3") + (version "7.3.0") (source (origin (method url-fetch) (uri (crate-uri "nettle" version)) (file-name (string-append name "-" version ".tar.gz")) (sha256 - (base32 "1qlsq3szglkw7s089h5qh9xa787qyvkdj5cgxm4qj30fazwr0hx0")))) + (base32 "0dk36l90p79c3xgmrzp8489h8dfaal0jzaid1n8n3cg7xbrwrzdr")))) (build-system cargo-build-system) (native-inputs (list pkg-config)) (inputs (list clang gmp nettle)) (arguments - `(#:skip-build? #t ;; provides nothing, has no tests - #:cargo-inputs - (("rust-getrandom" ,rust-getrandom-0.1) + `(#:cargo-inputs + (("rust-getrandom" ,rust-getrandom-0.2) ("rust-libc" ,rust-libc-0.2) ("rust-nettle-sys" ,rust-nettle-sys-2) - ("rust-thiserror" ,rust-thiserror-1)) - #:cargo-development-inputs - (("rust-bindgen" ,rust-bindgen-0.51) - ("rust-pkg-config" ,rust-pkg-config-0.3)))) + ("rust-thiserror" ,rust-thiserror-1) + ("rust-typenum" ,rust-typenum-1)))) (home-page "https://gitlab.com/sequoia-pgp/nettle-rs") (synopsis "Rust bindings for the Nettle cryptographic library") (description "This package provides Rust bindings for the Nettle @@ -37787,20 +40494,25 @@ cryptographic library.") (string-append (package-name rust-nettle-7) "-" version ".tar.gz")) (sha256 (base32 "0zfplqdf3mag8r7lc124hl24vri8yg711jmm8gl1mpwnlhass2n4")) - (patches (search-patches "rust-nettle-disable-vendor.patch")))))) + (patches (search-patches "rust-nettle-disable-vendor.patch")))) + (arguments + `(#:cargo-inputs + (("rust-failure" ,rust-failure-0.1) + ("rust-getrandom" ,rust-getrandom-0.1) + ("rust-libc" ,rust-libc-0.2) + ("rust-nettle-sys" ,rust-nettle-sys-2)))))) (define-public rust-nettle-sys-2 (package (name "rust-nettle-sys") - (version "2.0.4") + (version "2.2.0") (source (origin (method url-fetch) (uri (crate-uri "nettle-sys" version)) (file-name (string-append name "-" version ".tar.gz")) (sha256 - (base32 "1yq1w6dlcmg89x529i7s20j29afdhgim7qnsa7978fszzwrr6qmq")) - (patches (search-patches "rust-nettle-sys-disable-vendor.patch")))) + (base32 "0wwa7pmxdz7yl9jwybml2kmrj3i87jcn0h0cdc5xl0lhgcs1rs5m")))) (build-system cargo-build-system) (native-inputs (list clang pkg-config)) @@ -37808,8 +40520,12 @@ cryptographic library.") (list nettle)) (arguments `(#:cargo-inputs - (("rust-bindgen" ,rust-bindgen-0.51) - ("rust-pkg-config" ,rust-pkg-config-0.3)))) + (("rust-bindgen" ,rust-bindgen-0.63) + ("rust-cc" ,rust-cc-1) + ("rust-libc" ,rust-libc-0.2) + ("rust-pkg-config" ,rust-pkg-config-0.3) + ("rust-tempfile" ,rust-tempfile-3) + ("rust-vcpkg" ,rust-vcpkg-0.2)))) (home-page "https://gitlab.com/sequoia-pgp/nettle-sys") (synopsis "Low-level Rust bindings for the Nettle cryptographic library") (description "This package provides low-level Rust bindings for the Nettle @@ -38215,24 +40931,36 @@ while still providing platform specific APIs.") (package (inherit rust-nix-0.23) (name "rust-nix") - (version "0.22.1") + (version "0.22.3") (source (origin (method url-fetch) (uri (crate-uri "nix" version)) (file-name (string-append name "-" version ".tar.gz")) (sha256 - (base32 "0cahgzxhdwsaa8491n6cn8gadgfsxk5razyfw4xr3k34f5n5smg7")))) + (base32 "1bsgc8vjq07a1wg9vz819bva3dvn58an4r87h80dxrfqkqanz4g4")) + (modules '((guix build utils))) + (snippet + '(begin (substitute* "Cargo.toml" + ((">= 1\\.1\\.0, < 1\\.3\\.0") ">= 1.1.0")))))) (arguments - `(#:skip-build? #t + `(#:tests? #f ; Tests hang forever. #:cargo-inputs - (("rust-bitflags" ,rust-bitflags-1.2) + (("rust-bitflags" ,rust-bitflags-1) ("rust-cc" ,rust-cc-1) ("rust-cfg-if" ,rust-cfg-if-1) ("rust-libc" ,rust-libc-0.2) - ("rust-memoffset" ,rust-memoffset-0.6)))) + ("rust-memoffset" ,rust-memoffset-0.6)) + #:cargo-development-inputs + (("rust-assert-impl" ,rust-assert-impl-0.1) + ("rust-caps" ,rust-caps-0.5) + ("rust-lazy-static" ,rust-lazy-static-1) + ("rust-rand" ,rust-rand-0.8) + ("rust-semver" ,rust-semver-1) + ("rust-sysctl" ,rust-sysctl-0.1) + ("rust-tempfile" ,rust-tempfile-3)))) (inputs - (list rust-bitflags-1.2 rust-cc-1 rust-cfg-if-1 rust-libc-0.2 + (list rust-bitflags-1 rust-cc-1 rust-cfg-if-1 rust-libc-0.2 rust-memoffset-0.6)))) (define-public rust-nix-0.21 @@ -38493,6 +41221,31 @@ environment variable is set.") prove a function can't ever panic.") (license (list license:expat license:asl2.0)))) +(define-public rust-no-std-compat-0.4 + (package + (name "rust-no-std-compat") + (version "0.4.1") + (source (origin + (method url-fetch) + (uri (crate-uri "no-std-compat" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "132vrf710zsdp40yp1z3kgc2ss8pi0z4gmihsz3y7hl4dpd56f5r")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-hashbrown" ,rust-hashbrown-0.8) + ("rust-spin" ,rust-spin-0.5)) + #:cargo-development-inputs + (("rust-libc" ,rust-libc-0.2)))) + (home-page "https://gitlab.com/jD91mZM2/no-std-compat") + (synopsis "No_std compatibility layer") + (description + "This package provides a @code{#![no_std]} compatibility layer that will +make porting your crate to no_std *easy*.") + (license license:expat))) + (define-public rust-no-std-net-0.5 (package (name "rust-no-std-net") @@ -38808,6 +41561,26 @@ combinators library (fork for proposals for v8)") (description "This package provides custom derive nom parsers from structs.") (license (list license:expat license:asl2.0)))) +(define-public rust-nonempty-0.7 + (package + (name "rust-nonempty") + (version "0.7.0") + (source (origin + (method url-fetch) + (uri (crate-uri "nonempty" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1xynyd2mgjfc4lcishd6xky7cmkxgy4d7rawxfx6wpiq37kr3rg9")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs (("rust-serde" ,rust-serde-1)) + #:cargo-development-inputs (("rust-serde-json" ,rust-serde-json-1)))) + (home-page "https://github.com/cloudhead/nonempty") + (synopsis "Correct by construction non-empty vector") + (description "Correct by construction non-empty vector.") + (license license:expat))) + (define-public rust-noop-proc-macro-0.3 (package (name "rust-noop-proc-macro") @@ -38865,8 +41638,37 @@ with all line endings.") (base32 "1a1knz9j1w5a1pl2q6whmjphm3z6p64r5njnam7syp5rx8wil2if")))))) +(define-public rust-normpath-1 + (package + (name "rust-normpath") + (version "1.1.1") + (source (origin + (method url-fetch) + (uri (crate-uri "normpath" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1xcpznc827hwn3rjrckyv574ddmz68r0gpvfbmpih9ijd45ccq7c")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-print-bytes" ,rust-print-bytes-1) + ("rust-serde" ,rust-serde-1) + ("rust-uniquote" ,rust-uniquote-3) + ("rust-windows-sys" ,rust-windows-sys-0.48)) + #:cargo-development-inputs + (("rust-bincode" ,rust-bincode-1) + ("rust-libc" ,rust-libc-0.2) + ("rust-tempfile" ,rust-tempfile-3) + ("rust-windows-sys" ,rust-windows-sys-0.48)))) + (home-page "https://github.com/dylni/normpath") + (synopsis "More reliable path manipulation") + (description "This package provides more reliable path manipulation in rust.") + (license (list license:expat license:asl2.0)))) + (define-public rust-normpath-0.3 (package + (inherit rust-normpath-1) (name "rust-normpath") (version "0.3.2") (source (origin @@ -38875,7 +41677,6 @@ with all line endings.") (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 "1bxwffmqqhic8rfb711009w9hsprrpm5jca2q0y8igqgrglzbah4")))) - (build-system cargo-build-system) (arguments `(#:cargo-inputs (("rust-print-bytes" ,rust-print-bytes-0.4) @@ -38885,11 +41686,7 @@ with all line endings.") (("rust-bincode" ,rust-bincode-1) ("rust-libc" ,rust-libc-0.2) ("rust-rustversion" ,rust-rustversion-1) - ("rust-tempfile" ,rust-tempfile-3)))) - (home-page "https://github.com/dylni/normpath") - (synopsis "More reliable path manipulation") - (description "This package provides more reliable path manipulation in rust.") - (license (list license:expat license:asl2.0)))) + ("rust-tempfile" ,rust-tempfile-3)))))) (define-public rust-notify-5 (package @@ -38997,8 +41794,28 @@ notification library.") "This crate provides a Rust interface and bindings for Notmuch.") (license license:gpl3+))) +(define-public rust-ntapi-0.4 + (package + (name "rust-ntapi") + (version "0.4.1") + (source (origin + (method url-fetch) + (uri (crate-uri "ntapi" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1r38zhbwdvkis2mzs6671cm1p6djgsl49i7bwxzrvhwicdf8k8z8")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs (("rust-winapi" ,rust-winapi-0.3)))) + (home-page "https://github.com/MSxDOS/ntapi") + (synopsis "FFI bindings for Native API") + (description "FFI bindings for Native API") + (license (list license:asl2.0 license:expat)))) + (define-public rust-ntapi-0.3 (package + (inherit rust-ntapi-0.4) (name "rust-ntapi") (version "0.3.6") (source @@ -39008,17 +41825,36 @@ notification library.") (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 "0i5daj9sr8wyi5jkpwpybln2jqpn59z0mqfc0dpdidipwh1bjsrz")))) + (arguments + `(#:cargo-inputs + (("rust-winapi" ,rust-winapi-0.3)))))) + +(define-public rust-ntest-0.9 + (package + (name "rust-ntest") + (version "0.9.0") + (source (origin + (method url-fetch) + (uri (crate-uri "ntest" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "04pmi0y7rzpkngv7lqw48c2831bn15lg8nkgj9z30i9xnz9cd3ns")))) (build-system cargo-build-system) (arguments `(#:cargo-inputs - (("rust-winapi" ,rust-winapi-0.3)))) - (home-page "") - (synopsis "FFI bindings for Native API") - (description "FFI bindings for Native API") - (license (list license:asl2.0 license:expat)))) + (("rust-ntest-test-cases" ,rust-ntest-test-cases-0.9) + ("rust-ntest-timeout" ,rust-ntest-timeout-0.9)) + #:cargo-development-inputs (("rust-tokio" ,rust-tokio-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-0.8 (package + (inherit rust-ntest-0.9) (name "rust-ntest") (version "0.8.1") (source @@ -39029,31 +41865,25 @@ notification library.") (sha256 (base32 "1yyih3b0bcr9gj11m9xj330as2sjihblkmb2bmv10lp38q5m0rg8")))) - (build-system cargo-build-system) (arguments `(#:cargo-inputs (("rust-ntest-proc-macro-helper" ,rust-ntest-proc-macro-helper-0.8) ("rust-ntest-test-cases" ,rust-ntest-test-cases-0.8) ("rust-ntest-timeout" ,rust-ntest-timeout-0.8)) #:cargo-development-inputs - (("rust-tokio" ,rust-tokio-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))) + (("rust-tokio" ,rust-tokio-1)))))) -(define-public rust-ntest-test-cases-0.8 +(define-public rust-ntest-test-cases-0.9 (package (name "rust-ntest-test-cases") - (version "0.8.0") - (source - (origin - (method url-fetch) - (uri (crate-uri "ntest_test_cases" version)) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 "03ip2dpi7fd2wyz99yd17w302nci3b05slbl3rr6dfs2683ayz3g")))) + (version "0.9.0") + (source (origin + (method url-fetch) + (uri (crate-uri "ntest-test-cases" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "08ifw9zhm1l93wh24k8zrk25sj3k9vpw29sfwq4lsvwwf6z36zdy")))) (build-system cargo-build-system) (arguments `(#:cargo-inputs @@ -39065,41 +41895,39 @@ enhances the built-in library with some useful features.") (description "This package provides test cases for ntest framework.") (license license:expat))) -(define-public rust-ntest-test-cases-0.3 +(define-public rust-ntest-test-cases-0.8 (package - (inherit rust-ntest-test-cases-0.8) + (inherit rust-ntest-test-cases-0.9) (name "rust-ntest-test-cases") - (version "0.3.4") + (version "0.8.0") (source (origin (method url-fetch) (uri (crate-uri "ntest_test_cases" version)) (file-name (string-append name "-" version ".tar.gz")) (sha256 - (base32 - "0b67m368599b2zgwx19psqz6n3m9m5532h1257x6vz1pym3gd2na")))) + (base32 "03ip2dpi7fd2wyz99yd17w302nci3b05slbl3rr6dfs2683ayz3g")))) (arguments `(#:cargo-inputs (("rust-proc-macro2" ,rust-proc-macro2-1) ("rust-quote" ,rust-quote-1) ("rust-syn" ,rust-syn-1)))))) -(define-public rust-ntest-timeout-0.8 +(define-public rust-ntest-timeout-0.9 (package (name "rust-ntest-timeout") - (version "0.8.1") - (source - (origin - (method url-fetch) - (uri (crate-uri "ntest_timeout" version)) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 "01vcdlz9xj471z5knk2qynm7adz3p614glf6n0pgn161qynym9mw")))) + (version "0.9.0") + (source (origin + (method url-fetch) + (uri (crate-uri "ntest-timeout" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1948a5ps329acg8fy2c2dyjgc8f96l0gin271cpl0yjq420lcsq6")))) (build-system cargo-build-system) (arguments `(#:cargo-inputs - (("rust-ntest-proc-macro-helper" ,rust-ntest-proc-macro-helper-0.8) - ("rust-proc-macro-crate" ,rust-proc-macro-crate-1) + (("rust-proc-macro-crate" ,rust-proc-macro-crate-1) ("rust-proc-macro2" ,rust-proc-macro2-1) ("rust-quote" ,rust-quote-1) ("rust-syn" ,rust-syn-1)))) @@ -39109,25 +41937,25 @@ enhances the built-in library with some useful features.") framework.") (license license:expat))) -(define-public rust-ntest-timeout-0.3 +(define-public rust-ntest-timeout-0.8 (package - (inherit rust-ntest-timeout-0.8) + (inherit rust-ntest-timeout-0.9) (name "rust-ntest-timeout") - (version "0.3.3") + (version "0.8.1") (source (origin (method url-fetch) (uri (crate-uri "ntest_timeout" version)) (file-name (string-append name "-" version ".tar.gz")) (sha256 - (base32 - "0klryn3rgjxnq3cv6j8bwcsr0b7zw3x216h63144v22aja18p0g0")))) + (base32 "01vcdlz9xj471z5knk2qynm7adz3p614glf6n0pgn161qynym9mw")))) (arguments `(#:cargo-inputs - (("rust-proc-macro2" ,rust-proc-macro2-1) + (("rust-ntest-proc-macro-helper" ,rust-ntest-proc-macro-helper-0.8) + ("rust-proc-macro-crate" ,rust-proc-macro-crate-1) + ("rust-proc-macro2" ,rust-proc-macro2-1) ("rust-quote" ,rust-quote-1) - ("rust-syn" ,rust-syn-1) - ("rust-timebomb" ,rust-timebomb-0.1)))))) + ("rust-syn" ,rust-syn-1)))))) (define-public rust-ntest-proc-macro-helper-0.8 (package @@ -39146,6 +41974,31 @@ framework.") macros used in ntest.") (license license:expat))) +(define-public rust-ntex-bytes-0.1 + (package + (name "rust-ntex-bytes") + (version "0.1.19") + (source (origin + (method url-fetch) + (uri (crate-uri "ntex-bytes" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0kpj93rkm9xknhkk31n21d7dwdx0y4jwc1y3nvnh1kx2l8p7razm")))) + (build-system cargo-build-system) + (arguments + `(#:skip-build? #t ; Cut off the dependency tree of ntex here. + #:cargo-inputs + (("rust-bitflags" ,rust-bitflags-1) + ("rust-bytes" ,rust-bytes-1) + ("rust-futures-core" ,rust-futures-core-0.3) + ("rust-serde" ,rust-serde-1) + ("rust-simdutf8" ,rust-simdutf8-0.1)))) + (home-page "https://github.com/ntex-rs") + (synopsis "Types and traits for working with bytes (bytes crate fork)") + (description "Types and traits for working with bytes (bytes crate fork)") + (license license:expat))) + (define-public rust-nu-ansi-term-0.46 (package (name "rust-nu-ansi-term") @@ -39372,8 +42225,46 @@ more.") #:cargo-development-inputs (("rust-rand" ,rust-rand-0.4)))))) +(define-public rust-num-bigint-dig-0.8 + (package + (name "rust-num-bigint-dig") + (version "0.8.2") + (source (origin + (method url-fetch) + (uri (crate-uri "num-bigint-dig" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "01b9lnqkjgwr1fv8jlw8w8y8pf70h2h9panq969r0pxw793ck693")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-arbitrary" ,rust-arbitrary-1) + ("rust-byteorder" ,rust-byteorder-1) + ("rust-lazy-static" ,rust-lazy-static-1) + ("rust-libm" ,rust-libm-0.2) + ("rust-num-integer" ,rust-num-integer-0.1) + ("rust-num-iter" ,rust-num-iter-0.1) + ("rust-num-traits" ,rust-num-traits-0.2) + ("rust-rand" ,rust-rand-0.8) + ("rust-serde" ,rust-serde-1) + ("rust-smallvec" ,rust-smallvec-1) + ("rust-zeroize" ,rust-zeroize-1)) + #:cargo-development-inputs + (("rust-rand" ,rust-rand-0.8) + ("rust-rand-chacha" ,rust-rand-chacha-0.3) + ("rust-rand-isaac" ,rust-rand-isaac-0.3) + ("rust-rand-xorshift" ,rust-rand-xorshift-0.3) + ("rust-serde-test" ,rust-serde-test-1)))) + (home-page "https://github.com/dignifiedquire/num-bigint") + (synopsis "Big integer implementation for Rust") + (description "This package provides a big integer implementation for +Rust.") + (license (list license:expat license:asl2.0)))) + (define-public rust-num-bigint-dig-0.7 (package + (inherit rust-num-bigint-dig-0.8) (name "rust-num-bigint-dig") (version "0.7.0") (source @@ -39383,7 +42274,6 @@ more.") (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 "1004mmipvc7pvaf3kf13i1nqh3vxf789bj72d8wl51y185aywis5")))) - (build-system cargo-build-system) (arguments `(#:cargo-inputs (("rust-autocfg" ,rust-autocfg-0.1) @@ -39402,12 +42292,7 @@ more.") ("rust-rand-chacha" ,rust-rand-chacha-0.3) ("rust-rand-isaac" ,rust-rand-isaac-0.3) ("rust-rand-xorshift" ,rust-rand-xorshift-0.3) - ("rust-serde-test" ,rust-serde-test-1)))) - (home-page "https://github.com/dignifiedquire/num-bigint") - (synopsis "Big integer implementation for Rust") - (description "This package provides a big integer implementation for -Rust.") - (license (list license:expat license:asl2.0)))) + ("rust-serde-test" ,rust-serde-test-1)))))) (define-public rust-num-complex-0.4 (package @@ -39671,29 +42556,33 @@ primitives and enums easier.") (define-public rust-num-format-0.4 (package (name "rust-num-format") - (version "0.4.0") + (version "0.4.4") (source (origin (method url-fetch) (uri (crate-uri "num-format" version)) (file-name (string-append name "-" version ".tar.gz")) (sha256 - (base32 "0r94i9lhr15hk32494v9my31r0829w29yyp7iql98a1cf9wl3zms")))) + (base32 "1hvjmib117jspyixfr76f900mhz5zfn71dnyqg9iywb339vxjlm6")))) (build-system cargo-build-system) (arguments - `(#:skip-build? #t - #:cargo-inputs - (("rust-arrayvec" ,rust-arrayvec-0.4) - ("rust-cfg-if" ,rust-cfg-if-0.1) + `(#:cargo-inputs + (("rust-arrayvec" ,rust-arrayvec-0.7) + ("rust-cfg-if" ,rust-cfg-if-1) ("rust-encoding-rs" ,rust-encoding-rs-0.8) - ("rust-itoa" ,rust-itoa-0.4) + ("rust-itoa" ,rust-itoa-1) ("rust-lazy-static" ,rust-lazy-static-1) ("rust-libc" ,rust-libc-0.2) - ("rust-num-bigint" ,rust-num-bigint-0.2) - ("rust-num-format-windows" ,rust-num-format-windows-0.3) + ("rust-num-bigint" ,rust-num-bigint-0.4) + ("rust-num-format-windows" ,rust-num-format-windows-0.4) ("rust-serde" ,rust-serde-1) - ("rust-widestring" ,rust-widestring-0.4) - ("rust-winapi" ,rust-winapi-0.3)))) + ("rust-widestring" ,rust-widestring-1) + ("rust-winapi" ,rust-winapi-0.3)) + #:cargo-development-inputs + (("rust-cfg-if" ,rust-cfg-if-1) + ("rust-lazy-static" ,rust-lazy-static-1) + ("rust-rand" ,rust-rand-0.8) + ("rust-serde-json" ,rust-serde-json-1)))) (home-page "https://github.com/bcmyers/num-format") (synopsis "Produce string-representations of numbers") (description @@ -39701,22 +42590,20 @@ primitives and enums easier.") of numbers, formatted according to international standards.") (license (list license:expat license:asl2.0)))) -(define-public rust-num-format-windows-0.3 +(define-public rust-num-format-windows-0.4 (package (name "rust-num-format-windows") - (version "0.3.0") - (source - (origin - (method url-fetch) - (uri (crate-uri "num-format-windows" version)) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 "1sy5jxrbhv6s28c51ibzi34s8qcjm8b21nf7biray7v1qi89h5sf")))) + (version "0.4.4") + (source (origin + (method url-fetch) + (uri (crate-uri "num-format-windows" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1yic2lcv3gngyshzmnqjhaq1z736j8jgghhn3n8yph95fbv0f7lv")))) (build-system cargo-build-system) (arguments - `(#:skip-build? #t - #:cargo-inputs - (("rust-bindgen" ,rust-bindgen-0.47)))) + `(#:cargo-inputs (("rust-bindgen" ,rust-bindgen-0.63)))) (home-page "https://github.com/bcmyers/num-format/num-format-windows") (synopsis "Helper crate for @code{num-format}") (description @@ -40273,25 +43160,28 @@ representation and parsing.") (description "This package provides procedural macros for the objc2 project.") (license license:expat))) -(define-public rust-object-0.29 +(define-public rust-object-0.30 (package (name "rust-object") - (version "0.29.0") + (version "0.30.3") (source (origin (method url-fetch) (uri (crate-uri "object" version)) (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "0lzblxwxcih7j4z2cfx9094caax97hlfm9n0y5hlavda6cn8n591")))) + "0fdl7qjsz1j9kl3j7f4656fswzrqpyj2kgaizhknmjrx7mfjd1pa")))) (build-system cargo-build-system) (arguments - `(#:skip-build? #t + `(#:cargo-test-flags + '("--release" "--" + ;; Not all files are included + "--skip=read::coff::coff_extended_relocations") #:cargo-inputs (("rust-compiler-builtins" ,rust-compiler-builtins-0.1) ("rust-crc32fast" ,rust-crc32fast-1) ("rust-flate2" ,rust-flate2-1) - ("rust-hashbrown" ,rust-hashbrown-0.12) + ("rust-hashbrown" ,rust-hashbrown-0.13) ("rust-indexmap" ,rust-indexmap-1) ("rust-memchr" ,rust-memchr-2) ("rust-rustc-std-workspace-alloc" ,rust-rustc-std-workspace-alloc-1) @@ -40304,6 +43194,31 @@ representation and parsing.") file formats.") (license (list license:asl2.0 license:expat)))) +(define-public rust-object-0.29 + (package + (inherit rust-object-0.30) + (name "rust-object") + (version "0.29.0") + (source (origin + (method url-fetch) + (uri (crate-uri "object" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0lzblxwxcih7j4z2cfx9094caax97hlfm9n0y5hlavda6cn8n591")))) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-compiler-builtins" ,rust-compiler-builtins-0.1) + ("rust-crc32fast" ,rust-crc32fast-1) + ("rust-flate2" ,rust-flate2-1) + ("rust-hashbrown" ,rust-hashbrown-0.12) + ("rust-indexmap" ,rust-indexmap-1) + ("rust-memchr" ,rust-memchr-2) + ("rust-rustc-std-workspace-alloc" ,rust-rustc-std-workspace-alloc-1) + ("rust-rustc-std-workspace-core" ,rust-rustc-std-workspace-core-1) + ("rust-wasmparser" ,rust-wasmparser-0.57)))))) + (define-public rust-object-0.28 (package (inherit rust-object-0.29) @@ -40368,37 +43283,6 @@ file formats.") ("rust-rustc-std-workspace-core" ,rust-rustc-std-workspace-core-1) ("rust-wasmparser" ,rust-wasmparser-0.57)))))) -(define-public rust-object-0.24 - (package - (inherit rust-object-0.28) - (name "rust-object") - (version "0.24.0") - (source - (origin - (method url-fetch) - (uri (crate-uri "object" version)) - (file-name - (string-append name "-" version ".tar.gz")) - (sha256 - (base32 - "0w21hp41mixzaavsdpjylbylh44z2b5d2wbnf5ipkvkjq38ksnqs")))) - (build-system cargo-build-system) - (arguments - `(#:skip-build? #t - #:cargo-inputs - (("rust-compiler-builtins" - ,rust-compiler-builtins-0.1) - ("rust-crc32fast" ,rust-crc32fast-1) - ("rust-flate2" ,rust-flate2-1) - ("rust-indexmap" ,rust-indexmap-1) - ("rust-rustc-std-workspace-alloc" - ,rust-rustc-std-workspace-alloc-1) - ("rust-rustc-std-workspace-core" - ,rust-rustc-std-workspace-core-1) - ("rust-wasmparser" ,rust-wasmparser-0.57)) - #:cargo-development-inputs - (("rust-memmap" ,rust-memmap-0.7)))))) - (define-public rust-odds-0.3 (package (name "rust-odds") @@ -40457,24 +43341,20 @@ Things in odds may move to more appropriate crates if we find them.") ("rust-memchr" ,rust-memchr-2) ("rust-quickcheck" ,rust-quickcheck-0.4)))))) -(define-public rust-oid-registry-0.2 +(define-public rust-oid-registry-0.6 (package (name "rust-oid-registry") - (version "0.2.0") - (source - (origin - (method url-fetch) - (uri (crate-uri "oid-registry" version)) - (file-name - (string-append name "-" version ".tar.gz")) - (sha256 - (base32 - "058qip5j5y0i95ckmw67mp73372rq16ci0lcczyq9irv76r4qmgy")))) + (version "0.6.1") + (source (origin + (method url-fetch) + (uri (crate-uri "oid-registry" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1zwvjp3ad6gzn8g8w2hcn9a2xdap0lkzckhlnwp6rabbzdpz7vcv")))) (build-system cargo-build-system) (arguments - `(#:skip-build? #t - #:cargo-inputs - (("rust-der-parser" ,rust-der-parser-6)))) + `(#:cargo-inputs (("rust-asn1-rs" ,rust-asn1-rs-0.5)))) (home-page "https://github.com/rusticata/oid-registry") (synopsis "Object Identifier (OID) database") (description "This crate is a helper crate, containing a database of @@ -40482,6 +43362,22 @@ OID objects. These objects are intended for use when manipulating ASN.1 grammars and BER/DER encodings, for example.") (license (list license:expat license:asl2.0)))) +(define-public rust-oid-registry-0.2 + (package + (inherit rust-oid-registry-0.6) + (name "rust-oid-registry") + (version "0.2.0") + (source (origin + (method url-fetch) + (uri (crate-uri "oid-registry" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "058qip5j5y0i95ckmw67mp73372rq16ci0lcczyq9irv76r4qmgy")))) + (arguments + `(#:skip-build? #t + #:cargo-inputs (("rust-der-parser" ,rust-der-parser-6)))))) + (define-public rust-onig-6 (package (name "rust-onig") @@ -40538,7 +43434,7 @@ other crates to create safe wrappers around Oniguruma.") (define-public rust-once-cell-1 (package (name "rust-once-cell") - (version "1.17.1") + (version "1.18.0") (source (origin (method url-fetch) @@ -40546,7 +43442,7 @@ other crates to create safe wrappers around Oniguruma.") (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "1lrsy9c5ikf2iwxr4iwgd3rlq9mg8alh0np1g8abnvp1k4151rdp")))) + "0vapcd5ambwck95wyz3ymlim35jirgnqn9a0qmi19msymv95v2yx")))) (build-system cargo-build-system) (arguments `(#:cargo-inputs @@ -40555,8 +43451,6 @@ other crates to create safe wrappers around Oniguruma.") ("rust-parking-lot-core" ,rust-parking-lot-core-0.9)) #:cargo-development-inputs (("rust-critical-section" ,rust-critical-section-1) - ("rust-crossbeam-utils" ,rust-crossbeam-utils-0.8) - ("rust-lazy-static" ,rust-lazy-static-1) ("rust-regex" ,rust-regex-1)))) (home-page "https://github.com/matklad/once_cell") (synopsis "Single assignment cells and lazy values") @@ -40688,6 +43582,35 @@ the system.") the default program configured on the system.") (license (list license:expat license:asl2.0)))) +(define-public rust-openpgp-cert-d-0.1 + (package + (name "rust-openpgp-cert-d") + (version "0.1.0") + (source (origin + (method url-fetch) + (uri (crate-uri "openpgp-cert-d" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "10sqs3k1cd2yrnbyqrpq0qfslzg3qq7jalspkkqxm9828lp2manc")))) + (build-system cargo-build-system) + (arguments + `(#:tests? #f ; Not all files included. + #:cargo-inputs + (("rust-anyhow" ,rust-anyhow-1) + ("rust-dirs" ,rust-dirs-4) + ("rust-fd-lock" ,rust-fd-lock-3) + ("rust-sha1collisiondetection" ,rust-sha1collisiondetection-0.2) + ("rust-tempfile" ,rust-tempfile-3) + ("rust-thiserror" ,rust-thiserror-1)) + #:cargo-development-inputs + (("rust-assert-fs" ,rust-assert-fs-1) + ("rust-predicates" ,rust-predicates-2)))) + (home-page "https://gitlab.com/sequoia-pgp/pgp-cert-d") + (synopsis "Shared OpenPGP Certificate Directory") + (description "Shared OpenPGP Certificate Directory") + (license license:expat))) + (define-public rust-openssl-macros-0.1 (package (name "rust-openssl-macros") @@ -40715,14 +43638,14 @@ crate.") (define-public rust-openssl-0.10 (package (name "rust-openssl") - (version "0.10.49") + (version "0.10.52") (source (origin (method url-fetch) (uri (crate-uri "openssl" version)) (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "0cssygqbgdim10y7qrgz0rj5k839jqiv2n9ccw1lx8ipp1m10bsd")))) + "0mldyz9w6d5bf3004m7kyjry7944m0pkkifzbywgg06z0935gf01")))) (build-system cargo-build-system) (arguments `(#:cargo-inputs @@ -40825,21 +43748,20 @@ system for OpenSSL.") (define-public rust-openssl-sys-0.9 (package (name "rust-openssl-sys") - (version "0.9.84") + (version "0.9.87") (source (origin (method url-fetch) (uri (crate-uri "openssl-sys" version)) (file-name (string-append name "-" version ".tar.gz")) (sha256 - (base32 "1ym0vcfnyp8bf8lidz8w0yx0n6pva37nvdww0c22kn62kp7fl81s")) + (base32 "0znc0q7a2gi2pmkscv0d6wzpfd64mgmy3w4lmrvrv05jcj9ga5wf")) (patches (search-patches "rust-openssl-sys-no-vendor.patch")))) (build-system cargo-build-system) (arguments `(#:cargo-inputs (("rust-libc" ,rust-libc-0.2) ;; Build dependencies: - ("rust-autocfg" ,rust-autocfg-1) ("rust-bindgen" ,rust-bindgen-0.64) ("rust-cc" ,rust-cc-1) ("rust-pkg-config" ,rust-pkg-config-0.3) @@ -40941,6 +43863,23 @@ system for OpenSSL.") (description "This package provides an OPML parser for Rust.") (license (list license:expat license:asl2.0)))) +(define-public rust-option-ext-0.2 + (package + (name "rust-option-ext") + (version "0.2.0") + (source (origin + (method url-fetch) + (uri (crate-uri "option-ext" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0zbf7cx8ib99frnlanpyikm1bx8qn8x602sw1n7bg6p9x94lyx04")))) + (build-system cargo-build-system) + (home-page "https://github.com/soc/option-ext") + (synopsis "Extends `Option` with additional operations") + (description "Extends `Option` with additional operations") + (license license:mpl2.0))) + (define-public rust-option-set-0.1 (package (name "rust-option-set") @@ -41109,6 +44048,31 @@ PartialOrd types, like floats.") insertion order across all keys and values.") (license license:expat))) +(define-public rust-ordered-stream-0.1 + (package + (name "rust-ordered-stream") + (version "0.1.4") + (source (origin + (method url-fetch) + (uri (crate-uri "ordered-stream" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "140c0h0ap30mcfhdk2xy1q9iqyb450wh11dglshh2y6vmjyj82in")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-futures-core" ,rust-futures-core-0.3) + ("rust-pin-project-lite" ,rust-pin-project-lite-0.2)) + #:cargo-development-inputs + (("rust-futures-executor" ,rust-futures-executor-0.3) + ("rust-futures-util" ,rust-futures-util-0.3)))) + (home-page "https://github.com/danieldg/ordered-stream") + (synopsis "Streams that are ordered relative to external events") + (description "This package provides streams that are ordered relative to +external events in Rust.") + (license (list license:expat license:asl2.0)))) + (define-public rust-ordermap-0.3 (package (name "rust-ordermap") @@ -41142,6 +44106,40 @@ iteration. NOTE: This crate was renamed to @code{indexmap}. Please use it under its new name.") (license (list license:asl2.0 license:expat)))) +(define-public rust-orion-0.17 + (package + (name "rust-orion") + (version "0.17.4") + (source (origin + (method url-fetch) + (uri (crate-uri "orion" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0ri0b0vyd9vqwlzlcv0q4i7r9pga23q7nnnvd5z4zycjc9v4mryb")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-ct-codecs" ,rust-ct-codecs-1) + ("rust-fiat-crypto" ,rust-fiat-crypto-0.1) + ("rust-getrandom" ,rust-getrandom-0.2) + ("rust-serde" ,rust-serde-1) + ("rust-subtle" ,rust-subtle-2) + ("rust-zeroize" ,rust-zeroize-1)) + #:cargo-development-inputs + (("rust-criterion" ,rust-criterion-0.4) + ("rust-hex" ,rust-hex-0.4) + ("rust-quickcheck" ,rust-quickcheck-1) + ("rust-quickcheck-macros" ,rust-quickcheck-macros-1) + ("rust-serde" ,rust-serde-1) + ("rust-serde-json" ,rust-serde-json-1)))) + (home-page "https://github.com/orion-rs/orion") + (synopsis "Pure-Rust crypto") + (description + "Orion is a cryptography library written in pure Rust. It aims to provide +easy and usable crypto while trying to minimize the use of unsafe code.") + (license license:expat))) + (define-public rust-os-info-3 (package (name "rust-os-info") @@ -41171,19 +44169,19 @@ under its new name.") (define-public rust-os-pipe-1 (package (name "rust-os-pipe") - (version "1.1.2") + (version "1.1.4") (source (origin (method url-fetch) (uri (crate-uri "os-pipe" version)) (file-name (string-append name "-" version ".tar.gz")) (sha256 - (base32 "0fa640v9bi1qcq3jgq1p76lphi4fwj4a9msrmfrq87n1z3qm58n6")))) + (base32 "0xy1igr1jfd9ijhr4sccvl8mzp0jic7njdmr56lsk3220ym5ks0a")))) (build-system cargo-build-system) (arguments `(#:cargo-inputs (("rust-libc" ,rust-libc-0.2) - ("rust-windows-sys" ,rust-windows-sys-0.42)))) + ("rust-windows-sys" ,rust-windows-sys-0.48)))) (native-inputs (list python-minimal-wrapper)) ; For the tests. (home-page "https://github.com/oconnor663/os_pipe.rs") @@ -41249,27 +44247,27 @@ under its new name.") (define-public rust-os-str-bytes-6 (package (name "rust-os-str-bytes") - (version "6.0.0") + (version "6.5.0") (source (origin (method url-fetch) (uri (crate-uri "os-str-bytes" version)) (file-name (string-append name "-" version ".tar.gz")) (sha256 - (base32 "0r5z5xds2wzzqlqjaw96dpjsz5nqyzc1rflm4mh09aa32qyl88lf")))) + (base32 "0rz2711gl575ng6vm9a97q42wqnf4wk1165wn221jb8gn17z9vff")))) (build-system cargo-build-system) (arguments `(#:cargo-inputs (("rust-memchr" ,rust-memchr-2) - ("rust-print-bytes" ,rust-print-bytes-0.5) + ("rust-print-bytes" ,rust-print-bytes-1) ("rust-uniquote" ,rust-uniquote-3)) #:cargo-development-inputs - (("rust-getrandom" ,rust-getrandom-0.2)))) + (("rust-fastrand" ,rust-fastrand-1)))) (home-page "https://github.com/dylni/os_str_bytes") (synopsis "Traits for converting between byte sequences and platform-native strings") (description - "This package provides a traits for converting between byte sequences and + "This package provides a trait for converting between byte sequences and platform-native strings.") (license (list license:expat license:asl2.0)))) @@ -41312,18 +44310,17 @@ platform-native strings.") (define-public rust-ouroboros-macro-0.15 (package (name "rust-ouroboros-macro") - (version "0.15.2") + (version "0.15.6") (source (origin (method url-fetch) (uri (crate-uri "ouroboros_macro" version)) (file-name (string-append name "-" version ".tar.gz")) (sha256 - (base32 "01lgyj5nxgr6r1l0m20pp4ilz3m14clsqg2j28hic2rrlsjafjkk")))) + (base32 "1dsn37vds4qpkzscmwaw17dv3m5m7a7j9qby8dsac19ks3622zaz")))) (build-system cargo-build-system) (arguments - `(#:skip-build? #t - #:cargo-inputs + `(#:cargo-inputs (("rust-inflector" ,rust-inflector-0.11) ("rust-proc-macro-error" ,rust-proc-macro-error-1) ("rust-proc-macro2" ,rust-proc-macro2-1) @@ -41351,20 +44348,19 @@ platform-native strings.") (define-public rust-ouroboros-0.15 (package (name "rust-ouroboros") - (version "0.15.2") + (version "0.15.6") (source (origin (method url-fetch) (uri (crate-uri "ouroboros" version)) (file-name (string-append name "-" version ".tar.gz")) (sha256 - (base32 "1qhd9cvc4hwdbr37da1jh0k0742slchixlxn4wxgc7g3l63yl9bl")))) + (base32 "1nvjra9dana2g6kxv3397qrgpyw6lknzya6lzs1s1llbap8qndg1")))) (build-system cargo-build-system) (arguments `(#:cargo-inputs (("rust-aliasable" ,rust-aliasable-0.1) - ("rust-ouroboros-macro" ,rust-ouroboros-macro-0.15) - ("rust-stable-deref-trait" ,rust-stable-deref-trait-1)))) + ("rust-ouroboros-macro" ,rust-ouroboros-macro-0.15)))) (home-page "https://github.com/joshua-maros/ouroboros") (synopsis "Self-referential struct generation") (description @@ -41454,6 +44450,25 @@ platform-native strings.") "This package provides a ttf-parser plus support for owned data.") (license license:asl2.0))) +(define-public rust-owo-colors-3 + (package + (name "rust-owo-colors") + (version "3.6.0") + (source (origin + (method url-fetch) + (uri (crate-uri "owo-colors" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0943lynkwz1glq3w7m9anv73lnrhd8yabs09krbh49g1wz4lxp39")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs (("rust-supports-color" ,rust-supports-color-2)))) + (home-page "https://github.com/jam1garner/owo-colors") + (synopsis "Zero-allocation terminal colors that'll make people go owo") + (description "Zero-allocation terminal colors that'll make people go owo") + (license license:expat))) + (define-public rust-owned-ttf-parser-0.6 (package (name "rust-owned-ttf-parser") @@ -41500,10 +44515,83 @@ owner with them. This can sometimes be useful because Rust borrowing rules normally prevent moving a type that has been borrowed from.") (license license:expat))) +(define-public rust-p256-0.13 + (package + (name "rust-p256") + (version "0.13.2") + (source (origin + (method url-fetch) + (uri (crate-uri "p256" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0jyd3c3k239ybs59ixpnl7dqkmm072fr1js8kh7ldx58bzc3m1n9")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-ecdsa" ,rust-ecdsa-0.16) + ("rust-elliptic-curve" ,rust-elliptic-curve-0.13) + ("rust-hex-literal" ,rust-hex-literal-0.4) + ("rust-primeorder" ,rust-primeorder-0.13) + ("rust-serdect" ,rust-serdect-0.2) + ("rust-sha2" ,rust-sha2-0.10)) + #:cargo-development-inputs + (("rust-blobby" ,rust-blobby-0.3) + ("rust-criterion" ,rust-criterion-0.4) + ("rust-ecdsa" ,rust-ecdsa-0.16) + ("rust-hex-literal" ,rust-hex-literal-0.4) + ("rust-primeorder" ,rust-primeorder-0.13) + ("rust-proptest" ,rust-proptest-1) + ("rust-rand-core" ,rust-rand-core-0.6)))) + (home-page + "https://github.com/RustCrypto/elliptic-curves/tree/master/p256") + (synopsis "Pure Rust implementation of the NIST P-256") + (description + "This package provides a pure Rust implementation of the NIST P-256 (a.k.a. +secp256r1, prime256v1) elliptic curve as defined in SP 800-186, with support for +ECDH, ECDSA signing/verification, and general purpose curve arithmetic.") + (license (list license:asl2.0 license:expat)))) + +(define-public rust-p384-0.13 + (package + (name "rust-p384") + (version "0.13.0") + (source (origin + (method url-fetch) + (uri (crate-uri "p384" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "02cjlxdvxwvhmnckqnydqpvrwhf5raj67q300d66m7y6pi8nyy3h")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-ecdsa" ,rust-ecdsa-0.16) + ("rust-elliptic-curve" ,rust-elliptic-curve-0.13) + ("rust-hex-literal" ,rust-hex-literal-0.3) + ("rust-primeorder" ,rust-primeorder-0.13) + ("rust-serdect" ,rust-serdect-0.2) + ("rust-sha2" ,rust-sha2-0.10)) + #:cargo-development-inputs + (("rust-blobby" ,rust-blobby-0.3) + ("rust-criterion" ,rust-criterion-0.4) + ("rust-ecdsa" ,rust-ecdsa-0.16) + ("rust-hex-literal" ,rust-hex-literal-0.3) + ("rust-proptest" ,rust-proptest-1) + ("rust-rand-core" ,rust-rand-core-0.6)))) + (home-page + "https://github.com/RustCrypto/elliptic-curves/tree/master/p384") + (synopsis "Pure Rust implementation of the NIST P-384 elliptic curve") + (description + "This package provides a pure Rust implementation of the NIST P-384 (a.k.a. +secp384r1) elliptic curve as defined in SP 800-186 with support for ECDH, ECDSA +signing/verification, and general purpose curve arithmetic support.") + (license (list license:asl2.0 license:expat)))) + (define-public rust-packed-simd-0.3 (package (name "rust-packed-simd") - (version "0.3.3") + (version "0.3.8") (source (origin (method url-fetch) @@ -41512,19 +44600,25 @@ normally prevent moving a type that has been borrowed from.") (string-append name "-" version ".tar.gz")) (sha256 (base32 - "0822wqf6kzw4ig9ykndg348w2bxkhs3x64brzsvdxh2a1pyajpm8")))) + "17xih19yr6izg1d065d2ax29axs7bmywnxa3qps0l6d3bd4nbybc")) + (modules '((guix build utils))) + (snippet + '(begin (substitute* "Cargo.toml" + (("\"=([[:digit:]]+(\\.[[:digit:]]+)*)" _ version) + (string-append "\"^" version))))))) (build-system cargo-build-system) (arguments `(#:skip-build? #t #:cargo-inputs - (("rust-cfg-if" ,rust-cfg-if-0.1) + (("rust-cfg-if" ,rust-cfg-if-1) ("rust-core-arch" ,rust-core-arch-0.1) + ("rust-libm" ,rust-libm-0.1) ("rust-sleef-sys" ,rust-sleef-sys-0.1)) #:cargo-development-inputs - (("rust-arrayvec" ,rust-arrayvec-0.4) + (("rust-arrayvec" ,rust-arrayvec-0.5) ("rust-paste" ,rust-paste-0.1) ("rust-wasm-bindgen" ,rust-wasm-bindgen-0.2) - ("rust-wasm-bindgen-test" ,rust-wasm-bindgen-test-0.2)))) + ("rust-wasm-bindgen-test" ,rust-wasm-bindgen-test-0.3)))) (home-page "https://github.com/rust-lang/packed_simd") (synopsis "Portable Packed SIMD vectors") (description "Portable Packed SIMD vectors.") @@ -41679,25 +44773,6 @@ memory page size.") "This package pipes your Rust output through an external pager.") (license (list license:asl2.0 license:expat)))) -(define-public rust-pager-0.15 - (package - (inherit rust-pager-0.16) - (name "rust-pager") - (version "0.15.0") - (source - (origin - (method url-fetch) - (uri (crate-uri "pager" version)) - (file-name - (string-append name "-" version ".tar.gz")) - (sha256 - (base32 - "0a35mg68s0p63ya2k5hsg620c4llkjw2fx1sfi0laz4pz8myv75n")))) - (arguments - `(#:cargo-inputs - (("rust-errno" ,rust-errno-0.2) - ("rust-libc" ,rust-libc-0.2)))))) - (define-public rust-pam-sys-0.5 (package (name "rust-pam-sys") @@ -42101,14 +45176,14 @@ synchronization primitives.") (define-public rust-parking-lot-core-0.9 (package (name "rust-parking-lot-core") - (version "0.9.6") + (version "0.9.7") (source (origin (method url-fetch) (uri (crate-uri "parking_lot_core" version)) (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "1grkf6s7zgl5blgw941g98z5csfjbrxavprspc8396aw9f0zh7ms")))) + "08cm5gg3a4jmr683x9dgih8vj66yn772kjvc8y1m0flyz6wwnsch")))) (build-system cargo-build-system) (arguments `(#:cargo-inputs @@ -42119,7 +45194,7 @@ synchronization primitives.") ("rust-redox-syscall" ,rust-redox-syscall-0.2) ("rust-smallvec" ,rust-smallvec-1) ("rust-thread-id" ,rust-thread-id-4) - ("rust-windows-sys" ,rust-windows-sys-0.42)))) + ("rust-windows-sys" ,rust-windows-sys-0.45)))) (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 @@ -42308,36 +45383,6 @@ synchronization primitives.") "This crate provides an Apache Parquet implementation in Rust.") (license license:asl2.0))) -(define-public rust-parquet-4 - (package - (inherit rust-parquet-5) - (name "rust-parquet") - (version "4.4.0") - (source - (origin - (method url-fetch) - (uri (crate-uri "parquet" version)) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 "0m3aqmaa79wka7adijl3zqkfjf1iwm2y58v0g16askv73pj48l16")))) - (arguments - `(#:skip-build? #t - #:cargo-inputs - (("rust-arrow" ,rust-arrow-4) - ("rust-base64" ,rust-base64-0.13) - ("rust-brotli" ,rust-brotli-3) - ("rust-byteorder" ,rust-byteorder-1) - ("rust-chrono" ,rust-chrono-0.4) - ("rust-clap" ,rust-clap-2) - ("rust-flate2" ,rust-flate2-1) - ("rust-lz4" ,rust-lz4-1) - ("rust-num-bigint" ,rust-num-bigint-0.4) - ("rust-parquet-format" ,rust-parquet-format-2) - ("rust-serde-json" ,rust-serde-json-1) - ("rust-snap" ,rust-snap-1) - ("rust-thrift" ,rust-thrift-0.13) - ("rust-zstd" ,rust-zstd-0.8)))))) - (define-public rust-parquet-format-2 (package (name "rust-parquet-format") @@ -42468,8 +45513,40 @@ parallelism and safety in mind.") "This package parses zoneinfo files from the IANA database.") (license license:expat))) +(define-public rust-partial-io-0.5 + (package + (name "rust-partial-io") + (version "0.5.4") + (source (origin + (method url-fetch) + (uri (crate-uri "partial-io" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "05hfdlbqwfkwmkws797b6nrlpaszxg50avfs161v8n4zchicz5dg")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-futures" ,rust-futures-0.3) + ("rust-pin-project" ,rust-pin-project-1) + ("rust-proptest" ,rust-proptest-1) + ("rust-quickcheck" ,rust-quickcheck-1) + ("rust-rand" ,rust-rand-0.8) + ("rust-tokio" ,rust-tokio-1)) + #:cargo-development-inputs + (("rust-itertools" ,rust-itertools-0.10) + ("rust-once-cell" ,rust-once-cell-1) + ("rust-quickcheck" ,rust-quickcheck-1) + ("rust-tokio" ,rust-tokio-1)))) + (home-page "https://github.com/sunshowers-code/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.3 (package + (inherit rust-partial-io-0.5) (name "rust-partial-io") (version "0.3.1") (source @@ -42480,7 +45557,6 @@ parallelism and safety in mind.") (sha256 (base32 "0b9a2bvqmaj2r4rkbshjsg8zzvp23b67qfvj2y6jwjckrn6zhb38")))) - (build-system cargo-build-system) (arguments `(#:cargo-inputs (("rust-futures" ,rust-futures-0.1) @@ -42489,12 +45565,7 @@ parallelism and safety in mind.") #: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))) + ("rust-tokio-core" ,rust-tokio-core-0.1)))))) (define-public rust-partial-io-0.2 (package @@ -42521,17 +45592,53 @@ and would-block I/O operations.") ("rust-tokio-core" ,rust-tokio-core-0.1)))) (license license:bsd-3))) -(define-public rust-password-hash-0.4 +(define-public rust-pasetors-0.6 + (package + (name "rust-pasetors") + (version "0.6.6") + (source (origin + (method url-fetch) + (uri (crate-uri "pasetors" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0sgag8mxix45inzmvkcp2nahmnd5gdi62wdh5v7dxhaxp0rzcjw2")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-ct-codecs" ,rust-ct-codecs-1) + ("rust-ed25519-compact" ,rust-ed25519-compact-2) + ("rust-getrandom" ,rust-getrandom-0.2) + ("rust-orion" ,rust-orion-0.17) + ("rust-p384" ,rust-p384-0.13) + ("rust-rand-core" ,rust-rand-core-0.6) + ("rust-regex" ,rust-regex-1) + ("rust-serde" ,rust-serde-1) + ("rust-serde-json" ,rust-serde-json-1) + ("rust-sha2" ,rust-sha2-0.10) + ("rust-subtle" ,rust-subtle-2) + ("rust-time" ,rust-time-0.3) + ("rust-zeroize" ,rust-zeroize-1)) + #:cargo-development-inputs + (("rust-hex" ,rust-hex-0.4) + ("rust-serde" ,rust-serde-1) + ("rust-serde-json" ,rust-serde-json-1)))) + (home-page "https://github.com/brycx/pasetors") + (synopsis "PASETO: Platform-Agnostic Security Tokens (in Rust)") + (description "PASETO: Platform-Agnostic Security Tokens (in Rust)") + (license license:expat))) + +(define-public rust-password-hash-0.5 (package (name "rust-password-hash") - (version "0.4.2") - (source - (origin - (method url-fetch) - (uri (crate-uri "password-hash" version)) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 "003p2hssyrcaxyq9fs8x2wx5di8ny9byaakskrf352pfm963fxkn")))) + (version "0.5.0") + (source (origin + (method url-fetch) + (uri (crate-uri "password-hash" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0ri1mim11zk0a9s40zdi288dfqvmdiryc7lw8vl46b59ifa08vrl")))) (build-system cargo-build-system) (arguments `(#:cargo-inputs @@ -42548,6 +45655,24 @@ the PHC string format (a well-defined subset of the Modular Crypt Format (MCF).") (license (list license:expat license:asl2.0)))) +(define-public rust-password-hash-0.4 + (package + (inherit rust-password-hash-0.5) + (name "rust-password-hash") + (version "0.4.2") + (source + (origin + (method url-fetch) + (uri (crate-uri "password-hash" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "003p2hssyrcaxyq9fs8x2wx5di8ny9byaakskrf352pfm963fxkn")))) + (arguments + `(#:cargo-inputs + (("rust-base64ct" ,rust-base64ct-1) + ("rust-rand-core" ,rust-rand-core-0.6) + ("rust-subtle" ,rust-subtle-2)))))) + (define-public rust-password-hash-0.3 (package (inherit rust-password-hash-0.4) @@ -42636,14 +45761,14 @@ Format (MCF).") (define-public rust-path-abs-0.5 (package (name "rust-path-abs") - (version "0.5.0") + (version "0.5.1") (source (origin (method url-fetch) (uri (crate-uri "path_abs" version)) (file-name (string-append name "-" version ".tar.gz")) (sha256 - (base32 "131qi5j201caraqz9rwbzk4mybd9bcrryrhf63lr9gz0xmnqwszb")))) + (base32 "1hrkjrk9w2mhgzwl84gl2lmajs7yagdrcpxnjf51vh1a6kv05vq5")))) (build-system cargo-build-system) (arguments `(#:cargo-inputs @@ -42653,6 +45778,7 @@ Format (MCF).") ("rust-stfu8" ,rust-stfu8-0.2)) #:cargo-development-inputs (("rust-pretty-assertions" ,rust-pretty-assertions-0.4) + ("rust-regex" ,rust-regex-0.2) ("rust-serde-json" ,rust-serde-json-1) ("rust-tempdir" ,rust-tempdir-0.3)))) (home-page "https://github.com/vitiral/path_abs") @@ -42704,8 +45830,43 @@ relative path from a provided base directory path to the provided path.") (license (list license:asl2.0 license:expat)))) +(define-public rust-pbkdf2-0.12 + (package + (name "rust-pbkdf2") + (version "0.12.1") + (source (origin + (method url-fetch) + (uri (crate-uri "pbkdf2" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0cbcfkb9qh5czbm88gw3aii4y5m84wig6s5d7fzrhxb0d1d0pjph")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-digest" ,rust-digest-0.10) + ("rust-hmac" ,rust-hmac-0.12) + ("rust-password-hash" ,rust-password-hash-0.5) + ("rust-rayon" ,rust-rayon-1) + ("rust-sha1" ,rust-sha1-0.10) + ("rust-sha2" ,rust-sha2-0.10)) + #:cargo-development-inputs + (("rust-hex-literal" ,rust-hex-literal-0.3) + ("rust-hmac" ,rust-hmac-0.12) + ("rust-sha1" ,rust-sha1-0.10) + ("rust-sha2" ,rust-sha2-0.10) + ("rust-streebog" ,rust-streebog-0.10)))) + (home-page + "https://github.com/RustCrypto/password-hashes/tree/master/pbkdf2") + (synopsis "Generic implementation of PBKDF2") + (description "This package contains a collection of password hashing +algorithms, otherwise known as password-based key derivation functions, written +in pure Rust.") + (license (list license:expat license:asl2.0)))) + (define-public rust-pbkdf2-0.11 (package + (inherit rust-pbkdf2-0.12) (name "rust-pbkdf2") (version "0.11.0") (source @@ -42715,7 +45876,6 @@ path.") (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 "05q9wqjvfrs4dvw03yn3bvcs4zghz0a7ycfa53pz2k2fqhp6k843")))) - (build-system cargo-build-system) (arguments `(#:cargo-inputs (("rust-digest" ,rust-digest-0.10) @@ -42730,12 +45890,7 @@ path.") ("rust-sha-1" ,rust-sha-1-0.10) ("rust-sha2" ,rust-sha2-0.10) ("rust-streebog" ,rust-streebog-0.10)))) - (home-page "https://github.com/RustCrypto/password-hashing") - (synopsis "Generic implementation of PBKDF2") - (description "This package contains a collection of password hashing -algorithms, otherwise known as password-based key derivation functions, written -in pure Rust.") - (license (list license:expat license:asl2.0)))) + (home-page "https://github.com/RustCrypto/password-hashing"))) (define-public rust-pbkdf2-0.10 (package @@ -42981,14 +46136,14 @@ pdqsort.") (define-public rust-pear-0.1 (package (name "rust-pear") - (version "0.1.4") + (version "0.1.5") (source (origin (method url-fetch) (uri (crate-uri "pear" version)) (file-name (string-append name "-" version ".tar.gz")) (sha256 - (base32 "12mb00ick6y1slbxk6r4i8qxdbq8km3bs4pygjv94xwnvc9g482k")))) + (base32 "02lnp8c414z5ds0lskd4zxlalrjljzpkg8g6kizszij4h52sgprj")))) (build-system cargo-build-system) (arguments `(#:skip-build? #t @@ -43002,14 +46157,14 @@ pdqsort.") (define-public rust-pear-codegen-0.1 (package (name "rust-pear-codegen") - (version "0.1.4") + (version "0.1.5") (source (origin (method url-fetch) (uri (crate-uri "pear_codegen" version)) (file-name (string-append name "-" version ".tar.gz")) (sha256 - (base32 "1jk8jxkgjd3pymldkckg2ligkpy4nnskgcj8qf3yzlf3zlvcihdz")))) + (base32 "19lcpkfspizd4ywwvca6rxgc311m070k3ndvwa9vrbw1snjqna60")))) (build-system cargo-build-system) (arguments `(#:skip-build? #t @@ -43141,32 +46296,52 @@ 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-pem-1 +(define-public rust-pem-2 (package (name "rust-pem") - (version "1.1.1") - (source - (origin - (method url-fetch) - (uri (crate-uri "pem" version)) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 "1f184b7vs5kgwglfsy9adqqy7625jsq8jj1lsxah9abn78kmr0x8")))) + (version "2.0.1") + (source (origin + (method url-fetch) + (uri (crate-uri "pem" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "06j4vmzkfg5jh9ykc5bdvydishqkbb4sf64fa528wg6zbi0zw4vb")))) (build-system cargo-build-system) (arguments - `(#:cargo-inputs - (("rust-base64" ,rust-base64-0.13) - ("rust-serde" ,rust-serde-1)) - #:cargo-development-inputs - (("rust-criterion" ,rust-criterion-0.3) - ("rust-serde-json" ,rust-serde-json-1)))) - (home-page "https://github.com/jcreekmore/pem-rs") + `(#:cargo-inputs + (("rust-base64" ,rust-base64-0.21) + ("rust-serde" ,rust-serde-1)) + #:cargo-development-inputs + (("rust-criterion" ,rust-criterion-0.3) + ("rust-proptest" ,rust-proptest-1) + ("rust-serde-json" ,rust-serde-json-1)))) + (home-page "https://github.com/jcreekmore/pem-rs.git") (synopsis "Parse and encode PEM-encoded data") (description "This package provides a Rust library for parsing and encoding PEM-encoded data.") (license license:expat))) +(define-public rust-pem-1 + (package + (inherit rust-pem-2) + (name "rust-pem") + (version "1.1.1") + (source (origin + (method url-fetch) + (uri (crate-uri "pem" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "1f184b7vs5kgwglfsy9adqqy7625jsq8jj1lsxah9abn78kmr0x8")))) + (arguments + `(#:cargo-inputs + (("rust-base64" ,rust-base64-0.13) + ("rust-serde" ,rust-serde-1)) + #:cargo-development-inputs + (("rust-criterion" ,rust-criterion-0.3) + ("rust-serde-json" ,rust-serde-json-1)))))) + (define-public rust-pem-0.8 (package (inherit rust-pem-1) @@ -43187,8 +46362,49 @@ PEM-encoded data.") #:cargo-development-inputs (("rust-criterion" ,rust-criterion-0.3)))))) +(define-public rust-pem-rfc7468-0.7 + (package + (name "rust-pem-rfc7468") + (version "0.7.0") + (source (origin + (method url-fetch) + (uri (crate-uri "pem-rfc7468" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "04l4852scl4zdva31c1z6jafbak0ni5pi0j38ml108zwzjdrrcw8")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs (("rust-base64ct" ,rust-base64ct-1)))) + (home-page "https://github.com/RustCrypto/formats/tree/master/pem-rfc7468") + (synopsis + "PEM Encoding implementing a subset of Privacy-Enhanced Mail encoding") + (description + "This package provides PEM Encoding (RFC 7468) for PKIX, PKCS, and CMS +Structures, implementing a strict subset of the original Privacy-Enhanced Mail +encoding intended specifically for use with cryptographic keys, certificates, +and other messages. It provides a no_std-friendly, constant-time +implementation suitable for use with cryptographic private keys.") + (license (list license:asl2.0 license:expat)))) + +(define-public rust-pem-rfc7468-0.6 + (package + (inherit rust-pem-rfc7468-0.7) + (name "rust-pem-rfc7468") + (version "0.6.0") + (source (origin + (method url-fetch) + (uri (crate-uri "pem-rfc7468" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1b5d8rvc4lgwxhs72m99fnrg0wq7bqh4x4wq0c7501ci7a1mkl94")))) + (arguments + `(#:cargo-inputs (("rust-base64ct" ,rust-base64ct-1)))))) + (define-public rust-pem-rfc7468-0.2 (package + (inherit rust-pem-rfc7468-0.7) (name "rust-pem-rfc7468") (version "0.2.4") (source @@ -43198,25 +46414,84 @@ PEM-encoded data.") (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 "1m1c9jypydzabg4yscplmvff7pdcc8gg4cqg081hnlf03hxkmsc4")))) - (build-system cargo-build-system) (arguments `(#:skip-build? #t - #:cargo-inputs (("rust-base64ct" ,rust-base64ct-1)))) - (home-page "https://github.com/RustCrypto/formats/tree/master/pem-rfc7468") + #:cargo-inputs (("rust-base64ct" ,rust-base64ct-1)))))) + +(define-public rust-pep440-rs-0.3 + (package + (name "rust-pep440-rs") + (version "0.3.9") + (source (origin + (method url-fetch) + (uri (crate-uri "pep440-rs" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0l3nyvfz8qq62dvilwfbzgdqxyz9kbf006s0gpx2qhhi79lia7gy")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-lazy-static" ,rust-lazy-static-1) + ("rust-pyo3" ,rust-pyo3-0.18) + ("rust-regex" ,rust-regex-1) + ("rust-serde" ,rust-serde-1) + ("rust-tracing" ,rust-tracing-0.1) + ("rust-unicode-width" ,rust-unicode-width-0.1)) + #:cargo-development-inputs (("rust-indoc" ,rust-indoc-2)))) + (home-page "https://github.com/konstin/pep440-rs") (synopsis - "PEM Encoding implementing a subset of Privacy-Enhanced Mail encoding") + "Library for python version numbers and specifiers, implementing PEP 440") (description - "This package provides PEM Encoding (RFC 7468) for PKIX, PKCS, and CMS -Structures, implementing a strict subset of the original Privacy-Enhanced Mail -encoding intended specifically for use with cryptographic keys, certificates, -and other messages. It provides a no_std-friendly, constant-time -implementation suitable for use with cryptographic private keys.") - (license (list license:asl2.0 license:expat)))) + "This package provides a library for python version numbers and specifiers, +implementing PEP 440.") + (license (list license:asl2.0 license:bsd-2)))) + +;; Should be the same rust-pyo3 version as cargo-input rust-pep440-rs. +(define-public rust-pep508-rs-0.2 + (package + (name "rust-pep508-rs") + (version "0.2.1") + (source (origin + (method url-fetch) + (uri (crate-uri "pep508-rs" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1qjkhh89xhjwhpjz2ppk5lp3mdm464gqx8sh9iyjpjk1p1xkswf0")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-anyhow" ,rust-anyhow-1) + ("rust-once-cell" ,rust-once-cell-1) + ("rust-pep440-rs" ,rust-pep440-rs-0.3) + ("rust-pyo3" ,rust-pyo3-0.18) + ("rust-pyo3-log" ,rust-pyo3-log-0.8) + ("rust-regex" ,rust-regex-1) + ("rust-serde" ,rust-serde-1) + ("rust-serde-json" ,rust-serde-json-1) + ("rust-thiserror" ,rust-thiserror-1) + ("rust-toml" ,rust-toml-0.7) + ("rust-tracing" ,rust-tracing-0.1) + ("rust-unicode-width" ,rust-unicode-width-0.1) + ("rust-url" ,rust-url-2)) + #:cargo-development-inputs + (("rust-indoc" ,rust-indoc-2) + ("rust-log" ,rust-log-0.4) + ("rust-serde-json" ,rust-serde-json-1) + ("rust-testing-logger" ,rust-testing-logger-0.1)))) + (home-page "https://github.com/konstin/pep508_rs") + (synopsis + "Library for python dependency specifiers, better known as PEP 508") + (description + "This package provides a library for python dependency specifiers, better +known as PEP 508.") + (license (list license:asl2.0 license:bsd-2)))) (define-public rust-percent-encoding-2 (package (name "rust-percent-encoding") - (version "2.2.0") + (version "2.3.0") (source (origin (method url-fetch) @@ -43224,7 +46499,7 @@ implementation suitable for use with cryptographic private keys.") (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "13nrpp6r1f4k14viksga3094krcrxgv4b42kqbriy63k7ln5g327")))) + "152slflmparkh27hprw62sph8rv77wckzhwl2dhqk6bf563lfalv")))) (build-system cargo-build-system) (home-page "https://github.com/servo/rust-url/") (synopsis "Percent encoding and decoding") @@ -43345,7 +46620,7 @@ algorithm.") (define-public rust-pest-2 (package (name "rust-pest") - (version "2.5.3") + (version "2.6.0") (source (origin (method url-fetch) @@ -43354,13 +46629,11 @@ algorithm.") (string-append name "-" version ".tar.gz")) (sha256 (base32 - "02n3b2hv9ciysybs9qzxza25gp8493dd7r8b57kfkxwi9nhb8ms2")))) + "0w3vaad35km41g2liasf0sfkgfhj190rn7mc9q9hf18zn2zq93p6")))) (build-system cargo-build-system) (arguments - `(#:skip-build? #t - #:cargo-inputs - (("rust-bytecount" ,rust-bytecount-0.6) - ("rust-memchr" ,rust-memchr-2) + `(#:cargo-inputs + (("rust-memchr" ,rust-memchr-2) ("rust-serde" ,rust-serde-1) ("rust-serde-json" ,rust-serde-json-1) ("rust-thiserror" ,rust-thiserror-1) @@ -43373,7 +46646,7 @@ algorithm.") (define-public rust-pest-derive-2 (package (name "rust-pest-derive") - (version "2.5.3") + (version "2.6.0") (source (origin (method url-fetch) @@ -43382,11 +46655,10 @@ algorithm.") (string-append name "-" version ".tar.gz")) (sha256 (base32 - "19m0wd2lcg6d2halnlfcgl0mfpgjy5a29q875vk6bp8c7cwxl714")))) + "1yzv982pypxrr2zwhd08xv40plr474p155i26aj2anl63k3x8ybb")))) (build-system cargo-build-system) (arguments - `(#:skip-build? #t - #:cargo-inputs + `(#:cargo-inputs (("rust-pest" ,rust-pest-2) ("rust-pest-generator" ,rust-pest-generator-2)))) (home-page "https://pest.rs/") @@ -43397,7 +46669,7 @@ algorithm.") (define-public rust-pest-generator-2 (package (name "rust-pest-generator") - (version "2.5.3") + (version "2.6.0") (source (origin (method url-fetch) @@ -43406,11 +46678,10 @@ algorithm.") (string-append name "-" version ".tar.gz")) (sha256 (base32 - "0z52iw9g9jcg8v7d56s9m49cbl1k5wsxax1wjl1666f8v0s3dda6")))) + "0zh7igibnn9d4skgx3vjy4q6nya2hjhw7vf8xd8vhdv40zqmnhvc")))) (build-system cargo-build-system) (arguments - `(#:skip-build? #t - #:cargo-inputs + `(#:cargo-inputs (("rust-pest" ,rust-pest-2) ("rust-pest-meta" ,rust-pest-meta-2) ("rust-proc-macro2" ,rust-proc-macro2-1) @@ -43424,7 +46695,7 @@ algorithm.") (define-public rust-pest-meta-2 (package (name "rust-pest-meta") - (version "2.5.3") + (version "2.6.0") (source (origin (method url-fetch) @@ -43433,10 +46704,10 @@ algorithm.") (string-append name "-" version ".tar.gz")) (sha256 (base32 - "0lbskklh77xnyk1yr8c387l80s37s30lrfv636s7hild58rz3x0f")))) + "04ala2f51zxninvajvvqk5gq80qxyp2v6cpfv3zkj7mpiqplankl")))) (build-system cargo-build-system) (arguments - `(#:skip-build? #t + `(#:tests? #f ; Not all test files included. #:cargo-inputs (("rust-once-cell" ,rust-once-cell-1) ("rust-pest" ,rust-pest-2) @@ -43534,8 +46805,33 @@ and graph algorithms.") (("fn dot\\(\\) \\{" all) (string-append "#[ignore] " all)))))))))) +(define-public rust-phf-0.11 + (package + (name "rust-phf") + (version "0.11.1") + (source (origin + (method url-fetch) + (uri (crate-uri "phf" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1354fbpb52cp9gs5mlkaygc5qhdx6r07rfv3xy482m4kvqsnb34j")))) + (build-system cargo-build-system) + (arguments + `(#:tests? #f ; Doc tests fail. + #:cargo-inputs + (("rust-phf-macros" ,rust-phf-macros-0.11) + ("rust-phf-shared" ,rust-phf-shared-0.11) + ("rust-serde" ,rust-serde-1)))) + (home-page "https://github.com/rust-phf/rust-phf") + (synopsis "Runtime support for perfect hash function data structures") + (description "This package provides runtime support for perfect hash +function data structures.") + (license license:expat))) + (define-public rust-phf-0.10 (package + (inherit rust-phf-0.11) (name "rust-phf") (version "0.10.1") (source @@ -43545,19 +46841,32 @@ and graph algorithms.") (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 "0naj8n5nasv5hj5ldlva3cl6y3sv7zp3kfgqylhbrg55v3mg3fzs")))) - (build-system cargo-build-system) (arguments `(#:tests? #f ; Doc tests fail. #:cargo-inputs (("rust-phf-macros" ,rust-phf-macros-0.10) ("rust-phf-shared" ,rust-phf-shared-0.10) ("rust-proc-macro-hack" ,rust-proc-macro-hack-0.5) - ("rust-serde" ,rust-serde-1)))) - (home-page "https://github.com/sfackler/rust-phf") - (synopsis "Runtime support for perfect hash function data structures") - (description "This package provides runtime support for perfect hash -function data structures.") - (license license:expat))) + ("rust-serde" ,rust-serde-1)))))) + +(define-public rust-phf-0.9 + (package + (inherit rust-phf-0.10) + (name "rust-phf") + (version "0.9.1") + (source (origin + (method url-fetch) + (uri (crate-uri "phf" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0sk9arhiv4hkg3hbmbxnpjvr0bffhyz7kpb2pn86mn6ia4c566xj")))) + (arguments + `(#:tests? #f ; Doc tests fail. + #:cargo-inputs + (("rust-phf-macros" ,rust-phf-macros-0.9) + ("rust-phf-shared" ,rust-phf-shared-0.9) + ("rust-proc-macro-hack" ,rust-proc-macro-hack-0.5)))))) (define-public rust-phf-0.8 (package @@ -43605,8 +46914,30 @@ function data structures.") "Runtime support for perfect hash function data structures.") (license license:expat))) +(define-public rust-phf-codegen-0.11 + (package + (name "rust-phf-codegen") + (version "0.11.1") + (source (origin + (method url-fetch) + (uri (crate-uri "phf-codegen" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0w274bcqbz499vpvd7isb252bc5mxmj9kagapn5mkjp3qn8chsm5")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-phf-generator" ,rust-phf-generator-0.11) + ("rust-phf-shared" ,rust-phf-shared-0.11)))) + (home-page "https://github.com/rust-phf/rust-phf") + (synopsis "Codegen library for PHF types") + (description "Codegen library for PHF types.") + (license license:expat))) + (define-public rust-phf-codegen-0.10 (package + (inherit rust-phf-codegen-0.11) (name "rust-phf-codegen") (version "0.10.0") (source @@ -43616,16 +46947,28 @@ function data structures.") (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 "1k8kdad9wk2d5972k6jmjki2xpdy2ky4zd19rv7ybm2dpjlc7cag")))) - (build-system cargo-build-system) (arguments `(#:skip-build? #t #:cargo-inputs (("rust-phf-generator" ,rust-phf-generator-0.10) - ("rust-phf-shared" ,rust-phf-shared-0.10)))) - (home-page "https://github.com/sfackler/rust-phf") - (synopsis "Codegen library for PHF types") - (description "Codegen library for PHF types.") - (license license:expat))) + ("rust-phf-shared" ,rust-phf-shared-0.10)))))) + +(define-public rust-phf-codegen-0.9 + (package + (inherit rust-phf-codegen-0.10) + (name "rust-phf-codegen") + (version "0.9.1") + (source (origin + (method url-fetch) + (uri (crate-uri "phf-codegen" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1q4r7mqisvzjz5fzfnr16nb5bxrj6xv32qnq1ds75xql783md31z")))) + (arguments + `(#:cargo-inputs + (("rust-phf-generator" ,rust-phf-generator-0.9) + ("rust-phf-shared" ,rust-phf-shared-0.9)))))) (define-public rust-phf-codegen-0.8 (package @@ -43671,8 +47014,38 @@ function data structures.") (description "Codegen library for PHF types.") (license license:expat))) +(define-public rust-phf-generator-0.11 + (package + (name "rust-phf-generator") + (version "0.11.1") + (source (origin + (method url-fetch) + (uri (crate-uri "phf-generator" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1gsgy5k45y937qnwp58dc05d63lwlfm3imqr1zslb8qgb2a1q65i")) + (modules '((guix build utils))) + (snippet + '(begin (substitute* "Cargo.toml" + (("\"=([[:digit:]]+(\\.[[:digit:]]+)*)" _ version) + (string-append "\"^" version))))))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-criterion" ,rust-criterion-0.3) + ("rust-phf-shared" ,rust-phf-shared-0.11) + ("rust-rand" ,rust-rand-0.8)) + #:cargo-development-inputs + (("rust-criterion" ,rust-criterion-0.3)))) + (home-page "https://github.com/rust-phf/rust-phf") + (synopsis "PHF generation logic") + (description "PHF generation logic.") + (license license:expat))) + (define-public rust-phf-generator-0.10 (package + (inherit rust-phf-generator-0.11) (name "rust-phf-generator") (version "0.10.0") (source @@ -43682,17 +47055,38 @@ function data structures.") (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 "1mlq6hlajsvlsx6rhw49g9ricsm017lrxmgmmbk85sxm7f4qaljx")))) - (build-system cargo-build-system) (arguments `(#:skip-build? #t #:cargo-inputs (("rust-criterion" ,rust-criterion-0.3) ("rust-phf-shared" ,rust-phf-shared-0.10) - ("rust-rand" ,rust-rand-0.8)))) - (home-page "https://github.com/sfackler/rust-phf") - (synopsis "PHF generation logic") - (description "PHF generation logic.") - (license license:expat))) + ("rust-rand" ,rust-rand-0.8)))))) + +(define-public rust-phf-generator-0.9 + (package + (inherit rust-phf-generator-0.10) + (name "rust-phf-generator") + (version "0.9.1") + (source (origin + (method url-fetch) + (uri (crate-uri "phf-generator" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "10ih96kaxnkn1yxk3ghpzgm09nc0rn69fd52kv68003fv4h34gyl")) + (modules '((guix build utils))) + (snippet + '(begin (substitute* "Cargo.toml" + (("\"=([[:digit:]]+(\\.[[:digit:]]+)*)" _ version) + (string-append "\"^" version))))))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-criterion" ,rust-criterion-0.3) + ("rust-phf-shared" ,rust-phf-shared-0.9) + ("rust-rand" ,rust-rand-0.8)) + #:cargo-development-inputs + (("rust-criterion" ,rust-criterion-0.3)))))) (define-public rust-phf-generator-0.8 (package @@ -43738,8 +47132,35 @@ function data structures.") (description "PHF generation logic") (license license:expat))) +(define-public rust-phf-macros-0.11 + (package + (name "rust-phf-macros") + (version "0.11.1") + (source (origin + (method url-fetch) + (uri (crate-uri "phf-macros" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0rncvjimjri2vancig85icbk8h03a5s3z4cyasd70s37y72wvalj")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-phf-generator" ,rust-phf-generator-0.11) + ("rust-phf-shared" ,rust-phf-shared-0.11) + ("rust-proc-macro2" ,rust-proc-macro2-1) + ("rust-quote" ,rust-quote-1) + ("rust-syn" ,rust-syn-1) + ("rust-unicase" ,rust-unicase-2)))) + (home-page "https://github.com/rust-phf/rust-phf") + (synopsis "Macros to generate types in the phf crate") + (description + "This package contains macros to generate types in the phf crate.") + (license license:expat))) + (define-public rust-phf-macros-0.10 (package + (inherit rust-phf-macros-0.11) (name "rust-phf-macros") (version "0.10.0") (source @@ -43749,7 +47170,6 @@ function data structures.") (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 "1q5ljwvb10dx188i6jxzckqfimjw5pm2p4kkvmhg2q6m9lcg7zaq")))) - (build-system cargo-build-system) (arguments `(#:skip-build? #t #:cargo-inputs @@ -43759,12 +47179,33 @@ function data structures.") ("rust-proc-macro2" ,rust-proc-macro2-1) ("rust-quote" ,rust-quote-1) ("rust-syn" ,rust-syn-1) - ("rust-unicase" ,rust-unicase-2)))) - (home-page "https://github.com/sfackler/rust-phf") - (synopsis "Macros to generate types in the phf crate") - (description - "This package contains macros to generate types in the phf crate.") - (license license:expat))) + ("rust-unicase" ,rust-unicase-2)))))) + +(define-public rust-phf-macros-0.9 + (package + (inherit rust-phf-macros-0.10) + (name "rust-phf-macros") + (version "0.9.1") + (source (origin + (method url-fetch) + (uri (crate-uri "phf-macros" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1rpc0jy5sfrk3ir87k2q0kk44a45nsrbwc131jmsi6f8hi3fqi7g")))) + (arguments + `(#:cargo-inputs + (("rust-phf-generator" ,rust-phf-generator-0.9) + ("rust-phf-shared" ,rust-phf-shared-0.9) + ("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) + ("rust-unicase" ,rust-unicase-2)) + #:cargo-development-inputs + (("rust-phf" ,rust-phf-0.9) + ("rust-trybuild" ,rust-trybuild-1) + ("rust-unicase" ,rust-unicase-2)))))) (define-public rust-phf-macros-0.8 (package @@ -43822,8 +47263,32 @@ function data structures.") "Macros to generate types in the phf crate.") (license license:expat))) +(define-public rust-phf-shared-0.11 + (package + (name "rust-phf-shared") + (version "0.11.1") + (source (origin + (method url-fetch) + (uri (crate-uri "phf-shared" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0xp6krf3cd411rz9rbk7p6xprlz786a215039j6jlxvbh9pmzyz1")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-siphasher" ,rust-siphasher-0.3) + ("rust-uncased" ,rust-uncased-0.9) + ("rust-unicase" ,rust-unicase-2)))) + (home-page "https://github.com/rust-phf/rust-phf") + (synopsis "Support code shared by PHF libraries") + (description + "This package provides support code shared by PHF libraries.") + (license license:expat))) + (define-public rust-phf-shared-0.10 (package + (inherit rust-phf-shared-0.11) (name "rust-phf-shared") (version "0.10.0") (source @@ -43833,18 +47298,30 @@ function data structures.") (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 "15n02nc8yqpd8hbxngblar2g53p3nllc93d8s8ih3p5cf7bnlydn")))) - (build-system cargo-build-system) (arguments `(#:skip-build? #t #:cargo-inputs (("rust-siphasher" ,rust-siphasher-0.3) ("rust-uncased" ,rust-uncased-0.9) - ("rust-unicase" ,rust-unicase-2)))) - (home-page "https://github.com/sfackler/rust-phf") - (synopsis "Support code shared by PHF libraries") - (description - "This package provides support code shared by PHF libraries.") - (license license:expat))) + ("rust-unicase" ,rust-unicase-2)))))) + +(define-public rust-phf-shared-0.9 + (package + (inherit rust-phf-shared-0.10) + (name "rust-phf-shared") + (version "0.9.0") + (source (origin + (method url-fetch) + (uri (crate-uri "phf-shared" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1ng0hi2byifqah6bcdy3zcpbwq8jxgl4laz65gq40dp3dm11i0x6")))) + (arguments + `(#:cargo-inputs + (("rust-siphasher" ,rust-siphasher-0.3) + ("rust-uncased" ,rust-uncased-0.9) + ("rust-unicase" ,rust-unicase-2)))))) (define-public rust-phf-shared-0.8 (package @@ -43890,6 +47367,27 @@ function data structures.") "Support code shared by PHF libraries.") (license license:expat))) +(define-public rust-pikchr-0.1 + (package + (name "rust-pikchr") + (version "0.1.1") + (source (origin + (method url-fetch) + (uri (crate-uri "pikchr" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1lm6924k84jdwsyjf029r2xwz23dmm19mryb51jaj9q29f9n001w")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-cc" ,rust-cc-1) + ("rust-libc" ,rust-libc-0.2)))) + (home-page "https://github.com/kinnison/pikchr") + (synopsis "PIC-like diagramming language to SVG converter") + (description "PIC-like diagramming language to SVG converter") + (license (list license:expat license:asl2.0)))) + (define-public rust-pin-project-1 (package (name "rust-pin-project") @@ -43916,6 +47414,29 @@ function data structures.") "This package provides a crate for safe and ergonomic pin-projection.") (license (list license:asl2.0 license:expat)))) +(define-public rust-ping-0.4 + (package + (name "rust-ping") + (version "0.4.1") + (source (origin + (method url-fetch) + (uri (crate-uri "ping" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0h8iyphd5c6k609635ja813isyplnzrlz8hgp0pfrb2v39xahw33")))) + (build-system cargo-build-system) + (arguments + `(#:tests? #f ; Tests require network access. + #:cargo-inputs + (("rust-rand" ,rust-rand-0.8) + ("rust-socket2" ,rust-socket2-0.4) + ("rust-thiserror" ,rust-thiserror-1)))) + (home-page "https://github.com/aisk/ping") + (synopsis "ICMP library for Rust") + (description "This package provides an ICMP library for Rust.") + (license license:expat))) + (define-public rust-pin-project-0.4 (package (inherit rust-pin-project-1) @@ -43943,24 +47464,6 @@ function data structures.") ("rust-toml" ,rust-toml-0.5) ("rust-trybuild" ,rust-trybuild-1)))))) -(define-public rust-pin-project-auxiliary-macro-0.0 - (package - (name "rust-pin-project-auxiliary-macro") - (version "0.0.0") - (source - (origin - (method url-fetch) - (uri (crate-uri "pin-project-auxiliary-macro" version)) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 "1fk48gab989xxmw466yp4mvqwfkkx9ckqzmjlfyk2hnzavqwvkxj")))) - (build-system cargo-build-system) - (home-page "https://github.com/taiki-e/pin-project") - (synopsis "Internal test tool of the pin-project crate") - (description - "This package is an internal test tool of the @code{pin-project} crate.") - (license (list license:asl2.0 license:expat)))) - (define-public rust-pin-project-internal-1 (package (name "rust-pin-project-internal") @@ -44124,8 +47627,38 @@ along with strong support for variations and the core header tables.") "This crate provides async pipes, channels, mutexes, and more.") (license (list license:expat license:asl2.0)))) +(define-public rust-pkcs1-0.7 + (package + (name "rust-pkcs1") + (version "0.7.5") + (source (origin + (method url-fetch) + (uri (crate-uri "pkcs1" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0zz4mil3nchnxljdfs2k5ab1cjqn7kq5lqp62n9qfix01zqvkzy8")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-der" ,rust-der-0.7) + ("rust-pkcs8" ,rust-pkcs8-0.10) + ("rust-spki" ,rust-spki-0.7)) + #:cargo-development-inputs + (("rust-const-oid" ,rust-const-oid-0.9) + ("rust-hex-literal" ,rust-hex-literal-0.4) + ("rust-tempfile" ,rust-tempfile-3)))) + (home-page "https://github.com/RustCrypto/formats/tree/master/pkcs1") + (synopsis "Implementation of Public-Key Cryptography Standards (PKCS) #1") + (description + "This package provides a pure Rust implementation of Public-Key +Cryptography Standards (PKCS) #1: RSA Cryptography Specifications Version 2.2 +(RFC 8017).") + (license (list license:asl2.0 license:expat)))) + (define-public rust-pkcs1-0.2 (package + (inherit rust-pkcs1-0.7) (name "rust-pkcs1") (version "0.2.4") (source @@ -44135,23 +47668,76 @@ along with strong support for variations and the core header tables.") (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 "0b2f1a0lf5h53zrjvcqbxzjhh89gcfa1myhf6z7w10ypg61fwsqi")))) - (build-system cargo-build-system) (arguments `(#:skip-build? #t #:cargo-inputs (("rust-der" ,rust-der-0.4) ("rust-pem-rfc7468" ,rust-pem-rfc7468-0.2) - ("rust-zeroize" ,rust-zeroize-1)))) - (home-page "https://github.com/RustCrypto/formats/tree/master/pkcs1") - (synopsis "Implementation of Public-Key Cryptography Standards (PKCS) #1") + ("rust-zeroize" ,rust-zeroize-1)))))) + +(define-public rust-pkcs5-0.7 + (package + (name "rust-pkcs5") + (version "0.7.1") + (source (origin + (method url-fetch) + (uri (crate-uri "pkcs5" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "19k9igzay529fqj90qdkgnvmvwp65wzw73h2vn3sigqq3b4y4iz8")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-aes" ,rust-aes-0.8) + ("rust-cbc" ,rust-cbc-0.1) + ("rust-der" ,rust-der-0.7) + ("rust-des" ,rust-des-0.8) + ("rust-pbkdf2" ,rust-pbkdf2-0.12) + ("rust-scrypt" ,rust-scrypt-0.11) + ("rust-sha1" ,rust-sha1-0.10) + ("rust-sha2" ,rust-sha2-0.10) + ("rust-spki" ,rust-spki-0.7)) + #:cargo-development-inputs + (("rust-hex-literal" ,rust-hex-literal-0.3)))) + (home-page "https://github.com/RustCrypto/formats/tree/master/pkcs5") + (synopsis "Implementation of Public-Key Cryptography Standards (PKCS) #5") (description - "This package provides a pure Rust implementation of Public-Key -Cryptography Standards (PKCS) #1: RSA Cryptography Specifications Version 2.2 -(RFC 8017)") + "This package is a pure Rust implementation of Public-Key Cryptography +Standards (PKCS) #5: Password-Based Cryptography Specification Version +2.1 (RFC 8018).") (license (list license:asl2.0 license:expat)))) +(define-public rust-pkcs5-0.5 + (package + (inherit rust-pkcs5-0.7) + (name "rust-pkcs5") + (version "0.5.0") + (source (origin + (method url-fetch) + (uri (crate-uri "pkcs5" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0x81m285ijqi0fqkgym6a6ax02mfzdx87zfvqgrjsc2w3wn8c3fi")))) + (arguments + `(#:cargo-inputs + (("rust-aes" ,rust-aes-0.8) + ("rust-cbc" ,rust-cbc-0.1) + ("rust-der" ,rust-der-0.6) + ("rust-des" ,rust-des-0.8) + ("rust-hmac" ,rust-hmac-0.12) + ("rust-pbkdf2" ,rust-pbkdf2-0.11) + ("rust-scrypt" ,rust-scrypt-0.10) + ("rust-sha1" ,rust-sha1-0.10) + ("rust-sha2" ,rust-sha2-0.10) + ("rust-spki" ,rust-spki-0.6)) + #:cargo-development-inputs + (("rust-hex-literal" ,rust-hex-literal-0.3)))))) + (define-public rust-pkcs5-0.3 (package + (inherit rust-pkcs5-0.7) (name "rust-pkcs5") (version "0.3.2") (source @@ -44161,7 +47747,6 @@ Cryptography Standards (PKCS) #1: RSA Cryptography Specifications Version 2.2 (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 "1m3xrrwwbn9883bylgjzssfh3w1lbl7fhkb3ndz721rf27pca8sl")))) - (build-system cargo-build-system) (arguments `(#:skip-build? #t #:cargo-inputs @@ -44174,17 +47759,64 @@ Cryptography Standards (PKCS) #1: RSA Cryptography Specifications Version 2.2 ("rust-scrypt" ,rust-scrypt-0.8) ("rust-sha-1" ,rust-sha-1-0.9) ("rust-sha2" ,rust-sha2-0.9) - ("rust-spki" ,rust-spki-0.4)))) - (home-page "https://github.com/RustCrypto/formats/tree/master/pkcs5") - (synopsis "Implementation of Public-Key Cryptography Standards (PKCS) #5") + ("rust-spki" ,rust-spki-0.4)))))) + +(define-public rust-pkcs8-0.10 + (package + (name "rust-pkcs8") + (version "0.10.2") + (source (origin + (method url-fetch) + (uri (crate-uri "pkcs8" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1dx7w21gvn07azszgqd3ryjhyphsrjrmq5mmz1fbxkj5g0vv4l7r")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-der" ,rust-der-0.7) + ("rust-pkcs5" ,rust-pkcs5-0.7) + ("rust-rand-core" ,rust-rand-core-0.6) + ("rust-spki" ,rust-spki-0.7) + ("rust-subtle" ,rust-subtle-2)) + #:cargo-development-inputs + (("rust-hex-literal" ,rust-hex-literal-0.3) + ("rust-tempfile" ,rust-tempfile-3)))) + (home-page "https://github.com/RustCrypto/formats/tree/master/pkcs8") + (synopsis "Implementation of Public-Key Cryptography Standards (PKCS) #8") (description "This package is a pure Rust implementation of Public-Key Cryptography -Standards (PKCS) #5: Password-Based Cryptography Specification Version -2.1 (RFC 8018).") +Standards (PKCS) #8: Private-Key Information Syntax Specification (RFC 5208), +with additional support for PKCS#8v2 asymmetric key packages (RFC 5958).") (license (list license:asl2.0 license:expat)))) +(define-public rust-pkcs8-0.9 + (package + (inherit rust-pkcs8-0.10) + (name "rust-pkcs8") + (version "0.9.0") + (source (origin + (method url-fetch) + (uri (crate-uri "pkcs8" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1fm4sigvcd0zpzg9jcp862a8p272kk08b9lgcs1dm1az19cjrjly")))) + (arguments + `(#:cargo-inputs + (("rust-der" ,rust-der-0.6) + ("rust-pkcs5" ,rust-pkcs5-0.5) + ("rust-rand-core" ,rust-rand-core-0.6) + ("rust-spki" ,rust-spki-0.6) + ("rust-subtle" ,rust-subtle-2)) + #:cargo-development-inputs + (("rust-hex-literal" ,rust-hex-literal-0.3) + ("rust-tempfile" ,rust-tempfile-3)))))) + (define-public rust-pkcs8-0.7 (package + (inherit rust-pkcs8-0.10) (name "rust-pkcs8") (version "0.7.6") (source @@ -44194,7 +47826,6 @@ Standards (PKCS) #5: Password-Based Cryptography Specification Version (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 "0iq46p6fa2b8xy6pj52zpmdy8ya3fg31dj4rc19x1fi69nvgjgpf")))) - (build-system cargo-build-system) (arguments `(#:skip-build? #t #:cargo-inputs @@ -44204,14 +47835,7 @@ Standards (PKCS) #5: Password-Based Cryptography Specification Version ("rust-pkcs5" ,rust-pkcs5-0.3) ("rust-rand-core" ,rust-rand-core-0.6) ("rust-spki" ,rust-spki-0.4) - ("rust-zeroize" ,rust-zeroize-1)))) - (home-page "https://github.com/RustCrypto/formats/tree/master/pkcs8") - (synopsis "Implementation of Public-Key Cryptography Standards (PKCS) #8") - (description - "This package is a pure Rust implementation of Public-Key Cryptography -Standards (PKCS) #8: Private-Key Information Syntax Specification (RFC 5208), -with additional support for PKCS#8v2 asymmetric key packages (RFC 5958).") - (license (list license:asl2.0 license:expat)))) + ("rust-zeroize" ,rust-zeroize-1)))))) (define-public rust-pkg-config-0.3 (package @@ -44292,6 +47916,30 @@ network packet formats.") (license (list license:asl2.0 license:expat)))) +(define-public rust-platform-info-2 + (package + (name "rust-platform-info") + (version "2.0.2") + (source (origin + (method url-fetch) + (uri (crate-uri "platform-info" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "03rhwsfhdr3sb6fxr0bmf7xav745m132y6vg05jzcfz5c149q9fn")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-libc" ,rust-libc-0.2) + ("rust-winapi" ,rust-winapi-0.3)) + #:cargo-development-inputs (("rust-regex" ,rust-regex-1)))) + (home-page "https://github.com/uutils/platform-info") + (synopsis "Cross-platform interface to get info about a system") + (description + "This package provides a simple cross-platform interface to get info about +a system.") + (license license:expat))) + (define-public rust-pledge-0.4 (package (name "rust-pledge") @@ -44550,63 +48198,6 @@ applications.") "This crate provides Arrow interfaces for Polars DataFrame library.") (license license:expat))) -(define-public rust-polars-arrow-0.16 - (package - (inherit rust-polars-arrow-0.17) - (name "rust-polars-arrow") - (version "0.16.0") - (source - (origin - (method url-fetch) - (uri (crate-uri "polars-arrow" version)) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 "0pwx7nsayn526r9gw16yzqq3r6mn6ivcdxzsj8737whk04qy3ssb")))) - (arguments - `(#:skip-build? #t - #:cargo-inputs - (("rust-arrow2" ,rust-arrow2-0.5) - ("rust-num" ,rust-num-0.4) - ("rust-thiserror" ,rust-thiserror-1)))))) - -(define-public rust-polars-arrow-0.15 - (package - (inherit rust-polars-arrow-0.16) - (name "rust-polars-arrow") - (version "0.15.1") - (source - (origin - (method url-fetch) - (uri (crate-uri "polars-arrow" version)) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 "0d8ir9dajywfqg6ck557vbvzsdmndc1ipn9mgrqi15yini1qmw2z")))) - (arguments - `(#:skip-build? #t - #:cargo-inputs - (("rust-arrow" ,rust-arrow-5) - ("rust-num" ,rust-num-0.4) - ("rust-thiserror" ,rust-thiserror-1)))))) - -(define-public rust-polars-arrow-0.14 - (package - (inherit rust-polars-arrow-0.15) - (name "rust-polars-arrow") - (version "0.14.8") - (source - (origin - (method url-fetch) - (uri (crate-uri "polars-arrow" version)) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 "1wk6qfj821w6qqs35n9f0zhp9n7mffxzah12nqk1xlpv2ci2ahsr")))) - (arguments - `(#:skip-build? #t - #:cargo-inputs - (("rust-arrow" ,rust-arrow-4) - ("rust-num" ,rust-num-0.4) - ("rust-thiserror" ,rust-thiserror-1)))))) - (define-public rust-polars-core-0.17 (package (name "rust-polars-core") @@ -44651,83 +48242,6 @@ applications.") "This crate provides the core of the Polars DataFrame library.") (license license:expat))) -(define-public rust-polars-core-0.16 - (package - (inherit rust-polars-core-0.17) - (name "rust-polars-core") - (version "0.16.0") - (source - (origin - (method url-fetch) - (uri (crate-uri "polars-core" version)) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 "0knhxc2b0k5jpvm7fxm64b5hjdyqgxjjyi6cnsiy5sya3mj3v9cd")))) - (arguments - `(#:skip-build? #t - #:cargo-inputs - (("rust-ahash" ,rust-ahash-0.7) - ("rust-anyhow" ,rust-anyhow-1) - ("rust-arrow2" ,rust-arrow2-0.5) - ("rust-chrono" ,rust-chrono-0.4) - ("rust-comfy-table" ,rust-comfy-table-1) - ("rust-hashbrown" ,rust-hashbrown-0.11) - ("rust-itertools" ,rust-itertools-0.10) - ("rust-jsonpath-lib" ,rust-jsonpath-lib-0.3) - ("rust-lazy-static" ,rust-lazy-static-1) - ("rust-ndarray" ,rust-ndarray-0.15) - ("rust-num" ,rust-num-0.4) - ("rust-num-cpus" ,rust-num-cpus-1) - ("rust-polars-arrow" ,rust-polars-arrow-0.16) - ("rust-prettytable-rs" ,rust-prettytable-rs-0.8) - ("rust-rand" ,rust-rand-0.7) - ("rust-rand-distr" ,rust-rand-distr-0.3) - ("rust-rayon" ,rust-rayon-1) - ("rust-regex" ,rust-regex-1) - ("rust-serde" ,rust-serde-1) - ("rust-serde-json" ,rust-serde-json-1) - ("rust-thiserror" ,rust-thiserror-1) - ("rust-unsafe-unwrap" ,rust-unsafe-unwrap-0.1)))))) - -(define-public rust-polars-core-0.15 - (package - (inherit rust-polars-core-0.16) - (name "rust-polars-core") - (version "0.15.1") - (source - (origin - (method url-fetch) - (uri (crate-uri "polars-core" version)) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 "0vzyyqg0s6h3k77z7nkmqrrgnp7nbi7sh5nmlw1ggrlml9ps0aa9")))) - (arguments - `(#:skip-build? #t - #:cargo-inputs - (("rust-ahash" ,rust-ahash-0.7) - ("rust-anyhow" ,rust-anyhow-1) - ("rust-arrow" ,rust-arrow-5) - ("rust-chrono" ,rust-chrono-0.4) - ("rust-comfy-table" ,rust-comfy-table-1) - ("rust-hashbrown" ,rust-hashbrown-0.11) - ("rust-itertools" ,rust-itertools-0.10) - ("rust-jsonpath-lib" ,rust-jsonpath-lib-0.3) - ("rust-lazy-static" ,rust-lazy-static-1) - ("rust-ndarray" ,rust-ndarray-0.15) - ("rust-num" ,rust-num-0.4) - ("rust-num-cpus" ,rust-num-cpus-1) - ("rust-parquet" ,rust-parquet-5) - ("rust-polars-arrow" ,rust-polars-arrow-0.15) - ("rust-prettytable-rs" ,rust-prettytable-rs-0.8) - ("rust-rand" ,rust-rand-0.7) - ("rust-rand-distr" ,rust-rand-distr-0.3) - ("rust-rayon" ,rust-rayon-1) - ("rust-regex" ,rust-regex-1) - ("rust-serde" ,rust-serde-1) - ("rust-serde-json" ,rust-serde-json-1) - ("rust-thiserror" ,rust-thiserror-1) - ("rust-unsafe-unwrap" ,rust-unsafe-unwrap-0.1)))))) - (define-public rust-polars-io-0.17 (package (name "rust-polars-io") @@ -44766,38 +48280,6 @@ applications.") "This crate provides IO related logic for the Polars DataFrame library.") (license license:expat))) -(define-public rust-polars-io-0.16 - (package - (inherit rust-polars-io-0.17) - (name "rust-polars-io") - (version "0.16.0") - (source - (origin - (method url-fetch) - (uri (crate-uri "polars-io" version)) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 "0yqpjk0ymqpjq6f0mnm9hhw9xmjradx6vqzg5n54qvl6v3s3p3kh")))) - (arguments - `(#:skip-build? #t - #:cargo-inputs - (("rust-ahash" ,rust-ahash-0.7) - ("rust-anyhow" ,rust-anyhow-1) - ("rust-arrow2" ,rust-arrow2-0.5) - ("rust-csv-core" ,rust-csv-core-0.1) - ("rust-dirs" ,rust-dirs-3) - ("rust-flate2" ,rust-flate2-1) - ("rust-lazy-static" ,rust-lazy-static-1) - ("rust-lexical" ,rust-lexical-6) - ("rust-memmap2" ,rust-memmap2-0.2) - ("rust-num" ,rust-num-0.4) - ("rust-num-cpus" ,rust-num-cpus-1) - ("rust-polars-arrow" ,rust-polars-arrow-0.16) - ("rust-polars-core" ,rust-polars-core-0.16) - ("rust-rayon" ,rust-rayon-1) - ("rust-regex" ,rust-regex-1) - ("rust-simdutf8" ,rust-simdutf8-0.1)))))) - (define-public rust-polars-lazy-0.17 (package (name "rust-polars-lazy") @@ -45036,34 +48518,6 @@ overloading without macros in Rust.") "This package provides a native, synchronous PostgreSQL client.") (license license:expat))) -(define-public rust-postgres-0.15 - (package - (inherit rust-postgres-0.19) - (name "rust-postgres") - (version "0.15.2") - (source - (origin - (method url-fetch) - (uri (crate-uri "postgres" version)) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 "1id6jb56jack7kxivpp3rnjjmkmymmxqadf0h0smgbsixy8dwp8i")))) - (build-system cargo-build-system) - (arguments - `(#:skip-build? #t - #:cargo-inputs - (("rust-bytes" ,rust-bytes-0.4) - ("rust-fallible-iterator" ,rust-fallible-iterator-0.1) - ("rust-log" ,rust-log-0.4) - ("rust-native-tls" ,rust-native-tls-0.1) - ("rust-openssl" ,rust-openssl-0.9) - ("rust-postgres-protocol" ,rust-postgres-protocol-0.3) - ("rust-postgres-shared" ,rust-postgres-shared-0.4) - ("rust-rustc-serialize" ,rust-rustc-serialize-0.3) - ("rust-schannel" ,rust-schannel-0.1) - ("rust-security-framework" ,rust-security-framework-0.1) - ("rust-socket2" ,rust-socket2-0.3)))))) - (define-public rust-postgres-derive-0.4 (package (name "rust-postgres-derive") @@ -45120,68 +48574,6 @@ overloading without macros in Rust.") "This package provides low level Postgres protocol APIs.") (license (list license:expat license:asl2.0)))) -(define-public rust-postgres-protocol-0.3 - (package - (inherit rust-postgres-protocol-0.6) - (name "rust-postgres-protocol") - (version "0.3.2") - (source - (origin - (method url-fetch) - (uri (crate-uri "postgres-protocol" version)) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 "04kkznbhwspfn0hdja3jsv37l6g5gz7a625z8yra325zamjfd1r4")))) - (arguments - `(#:skip-build? #t - #:cargo-inputs - (("rust-base64" ,rust-base64-0.6) - ("rust-byteorder" ,rust-byteorder-1) - ("rust-bytes" ,rust-bytes-0.4) - ("rust-fallible-iterator" ,rust-fallible-iterator-0.1) - ("rust-generic-array" ,rust-generic-array-0.9) - ("rust-hmac" ,rust-hmac-0.5) - ("rust-md5" ,rust-md5-0.3) - ("rust-memchr" ,rust-memchr-1) - ("rust-rand" ,rust-rand-0.3) - ("rust-sha2" ,rust-sha2-0.7) - ("rust-stringprep" ,rust-stringprep-0.1)))))) - -(define-public rust-postgres-shared-0.4 - (package - (name "rust-postgres-shared") - (version "0.4.2") - (source - (origin - (method url-fetch) - (uri (crate-uri "postgres-shared" version)) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 "0vzk1njkqkd2xxz34jnax29z4179ni4j3f534i6416q2w2rkbb7z")))) - (build-system cargo-build-system) - (arguments - `(#:skip-build? #t - #:cargo-inputs - (("rust-bit-vec" ,rust-bit-vec-0.4) - ("rust-chrono" ,rust-chrono-0.4) - ("rust-eui48" ,rust-eui48-0.3) - ("rust-fallible-iterator" ,rust-fallible-iterator-0.1) - ("rust-geo" ,rust-geo-0.4) - ("rust-hex" ,rust-hex-0.2) - ("rust-phf" ,rust-phf-0.7) - ("rust-postgres-protocol" ,rust-postgres-protocol-0.3) - ("rust-rustc-serialize" ,rust-rustc-serialize-0.3) - ("rust-serde-json" ,rust-serde-json-1) - ("rust-time" ,rust-time-0.1) - ("rust-uuid" ,rust-uuid-0.5)))) - (home-page "https://github.com/sfackler/rust-postgres") - (synopsis - "Internal crate used by @code{postgres} and @code{postgres-tokio}") - (description - "This is an internal crate used by @code{postgres} and -@code{postgres-tokio}.") - (license license:expat))) - (define-public rust-postgres-types-0.2 (package (name "rust-postgres-types") @@ -45590,27 +48982,6 @@ replacements, adding colorful diffs.") (("rust-ansi-term" ,rust-ansi-term-0.9) ("rust-difference" ,rust-difference-1)))))) -(define-public rust-pretty-assertions-0.2 - (package - (name "rust-pretty-assertions") - (version "0.2.1") - (source - (origin - (method url-fetch) - (uri (crate-uri "pretty-assertions" version)) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 "1b3nv70i16737w3qkk1q5vqswwnb19znz8r9v2kcg1qyhh3h0l8x")))) - (build-system cargo-build-system) - (arguments - `(#:cargo-inputs - (("rust-difference" ,rust-difference-1)))) - (home-page "https://github.com/colin-kiegel/rust-pretty-assertions") - (synopsis "Colorful diffs for `assert_eq!` and `assert_ne!`") - (description "Overwrite `assert_eq!` and `assert_ne!` with drop-in -replacements, adding colorful diffs.") - (license (list license:expat license:asl2.0)))) - (define-public rust-pretty-env-logger-0.4 (package (name "rust-pretty-env-logger") @@ -45704,8 +49075,59 @@ replacements, adding colorful diffs.") formatted tables in terminal.") (license license:bsd-3))) +(define-public rust-primeorder-0.13 + (package + (name "rust-primeorder") + (version "0.13.1") + (source (origin + (method url-fetch) + (uri (crate-uri "primeorder" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1ddz0d0fzzcpdlsj6c6989va8ykf702g3zmf7dszfa0y6rski3fg")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-elliptic-curve" ,rust-elliptic-curve-0.13) + ("rust-serdect" ,rust-serdect-0.2)))) + (home-page + "https://github.com/RustCrypto/elliptic-curves/tree/master/primeorder") + (synopsis + "Rust implementation of addition formulas for prime order elliptic curves") + (description + "This package contains a pure Rust implementation of complete addition +formulas for prime order elliptic curves (Renes-Costello-Batina 2015). It +provides a generic over field elements and curve equation coefficients.") + (license (list license:asl2.0 license:expat)))) + +(define-public rust-print-bytes-1 + (package + (name "rust-print-bytes") + (version "1.2.0") + (source (origin + (method url-fetch) + (uri (crate-uri "print-bytes" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0a1pc0bs0f3mgy86mazdy81k6iaj8s23ly49mcka4in2pj27lzxl")))) + (build-system cargo-build-system) + (arguments + `(#:tests? #f ; Not all files included. + #:cargo-inputs + (("rust-windows-sys" ,rust-windows-sys-0.48)) + #:cargo-development-inputs + (("rust-os-str-bytes" ,rust-os-str-bytes-6)))) + (home-page "https://github.com/dylni/print_bytes") + (synopsis "Print bytes as losslessly as possible") + (description "This package contains a Rust library to print bytes as +losslessly as possible.") + (license (list license:expat license:asl2.0)))) + (define-public rust-print-bytes-0.5 (package + (inherit rust-print-bytes-1) (name "rust-print-bytes") (version "0.5.0") (source @@ -45715,17 +49137,11 @@ formatted tables in terminal.") (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 "0d4i9y3jx1chi6w97a8rgdbwm9g3cppr53rw53zl6fcaq31qx0b6")))) - (build-system cargo-build-system) (arguments `(#:cargo-inputs (("rust-winapi" ,rust-winapi-0.3)) #:cargo-development-inputs - (("rust-os-str-bytes" ,rust-os-str-bytes-4)))) - (home-page "https://github.com/dylni/print_bytes") - (synopsis "Print bytes as losslessly as possible") - (description "This package contains a Rust library to print bytes as -losslessly as possible.") - (license (list license:expat license:asl2.0)))) + (("rust-os-str-bytes" ,rust-os-str-bytes-4)))))) (define-public rust-print-bytes-0.4 (package @@ -45946,7 +49362,7 @@ in your code.") (define-public rust-proc-macro2-1 (package (name "rust-proc-macro2") - (version "1.0.52") + (version "1.0.64") (source (origin (method url-fetch) @@ -45954,7 +49370,7 @@ in your code.") (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "0922fkhi689x134yh6l97lnpwgarhbv0vnv3vpnkpk1nx3lil3hx")))) + "1nm7qw54jn9n0g1ygkw4f63vj90m241yih6ph3g6zx7irdi3p03q")))) (build-system cargo-build-system) (arguments `(#:cargo-test-flags '("--lib") @@ -46136,14 +49552,14 @@ property-based testing and fuzzing.") (define-public rust-proptest-1 (package (name "rust-proptest") - (version "1.0.0") + (version "1.1.0") (source (origin (method url-fetch) (uri (crate-uri "proptest" version)) (file-name (string-append name "-" version ".tar.gz")) (sha256 - (base32 "1rdhjnf0xma5rmsq04d31n2vq1pgbm42pjc6jn3jsj8qgz09q38y")))) + (base32 "0w5s3wwchd3i6m15lsbsk3r3y25d1gwn13m6a185ks8w06cbiw99")))) (build-system cargo-build-system) (arguments `(#:cargo-inputs @@ -46159,7 +49575,8 @@ property-based testing and fuzzing.") ("rust-regex-syntax" ,rust-regex-syntax-0.6) ("rust-rusty-fork" ,rust-rusty-fork-0.3) ("rust-tempfile" ,rust-tempfile-3) - ("rust-x86" ,rust-x86-0.33)) + ("rust-unarray" ,rust-unarray-0.1) + ("rust-x86" ,rust-x86-0.52)) #:cargo-development-inputs (("rust-regex" ,rust-regex-1)))) (home-page "https://altsysrq.github.io/proptest-book/proptest/index.html") @@ -46229,68 +49646,9 @@ including most strategies and the testing framework itself.") #:cargo-development-inputs (("rust-regex" ,rust-regex-1)))))) -(define-public rust-proptest-0.8 - (package - (inherit rust-proptest-0.9) - (name "rust-proptest") - (version "0.8.7") - (source - (origin - (method url-fetch) - (uri (crate-uri "proptest" version)) - (file-name - (string-append name "-" version ".tar.gz")) - (sha256 - (base32 - "07qrxwsd72wr1cqs0b5b159lnagjffp0l4s4zriz8jak8w20cvcj")))) - (build-system cargo-build-system) - (arguments - `(#:tests? #f ; 1 doc test fails - #:cargo-inputs - (("rust-bit-set" ,rust-bit-set-0.5) - ("rust-bitflags" ,rust-bitflags-1) - ("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) - ("rust-rand" ,rust-rand-0.5) - ("rust-regex-syntax" ,rust-regex-syntax-0.6) - ("rust-rusty-fork" ,rust-rusty-fork-0.2) - ("rust-tempfile" ,rust-tempfile-3)) - #:cargo-development-inputs - (("rust-regex" ,rust-regex-1)))))) - -(define-public rust-proptest-0.7 - (package - (inherit rust-proptest-0.9) - (name "rust-proptest") - (version "0.7.2") - (source - (origin - (method url-fetch) - (uri (crate-uri "proptest" version)) - (file-name - (string-append name "-" version ".tar.gz")) - (sha256 - (base32 - "13giz85f7jkjc8miplzj4zh3fr704c1y1cg0dh218iw2dfkpbwi7")))) - (arguments - `(#:cargo-inputs - (("rust-bit-set" ,rust-bit-set-0.5) - ("rust-bitflags" ,rust-bitflags-1) - ("rust-lazy-static" ,rust-lazy-static-1) - ("rust-num-traits" ,rust-num-traits-0.2) - ("rust-quick-error" ,rust-quick-error-1) - ("rust-rand" ,rust-rand-0.4) - ("rust-regex-syntax" ,rust-regex-syntax-0.4) - ("rust-rusty-fork" ,rust-rusty-fork-0.2) - ("rust-tempfile" ,rust-tempfile-3)) - #:cargo-development-inputs - (("rust-regex" ,rust-regex-0.2)))))) - (define-public rust-proptest-0.3 (package - (inherit rust-proptest-0.7) + (inherit rust-proptest-0.9) (name "rust-proptest") (version "0.3.4") (source @@ -46523,7 +49881,7 @@ name.") (define-public rust-psl-types-2 (package (name "rust-psl-types") - (version "2.0.7") + (version "2.0.11") (source (origin (method url-fetch) @@ -46531,9 +49889,8 @@ name.") (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "0kqssn9wgqpl1m26ynv7cvxanfhyjvssi2a3jc2nzpbw7q3ricv6")))) + "1b3cz1q07iy744a39smykra2j83nv8vmni6la37wnx3ax17jkjrk")))) (build-system cargo-build-system) - (arguments `(#:skip-build? #t)) (home-page "https://github.com/addr-rs/psl-types") (synopsis "Common types for the public suffix implementation crates") (description "This package provides common types for the public suffix @@ -46649,7 +50006,7 @@ configuration file and/or environment variables.") (define-public rust-publicsuffix-2 (package (name "rust-publicsuffix") - (version "2.1.1") + (version "2.2.3") (source (origin (method url-fetch) @@ -46657,16 +50014,17 @@ configuration file and/or environment variables.") (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "1q9kbcqh9pa06p3kq7d3ksbnqjhs88v5wk5qg89wrgkbmpnp4a99")))) + "0mvls29klp6xk16n8114sr1llhahy6fy8qi9kbwzf6mflnyw3a4n")))) (build-system cargo-build-system) (arguments - `(#:skip-build? #t - #:cargo-inputs - (("rust-byteorder" ,rust-byteorder-1) - ("rust-hashbrown" ,rust-hashbrown-0.11) - ("rust-idna" ,rust-idna-0.2) + `(#:cargo-inputs + (("rust-hashbrown" ,rust-hashbrown-0.12) + ("rust-idna" ,rust-idna-0.3) ("rust-psl-types" ,rust-psl-types-2) - ("rust-unicase" ,rust-unicase-2)))) + ("rust-unicase" ,rust-unicase-2)) + #:cargo-development-inputs + (("rust-lazy-static" ,rust-lazy-static-1) + ("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 @@ -46696,8 +50054,43 @@ compliant email address validation.") ("rust-regex" ,rust-regex-1) ("rust-url" ,rust-url-2)))))) +(define-public rust-pulldown-cmark-0.9 + (package + (name "rust-pulldown-cmark") + (version "0.9.3") + (source (origin + (method url-fetch) + (uri (crate-uri "pulldown-cmark" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "166rhmwk42ffirrzhv7lmsh9f3my6xv1ggmb66fgzv57y3qs58bp")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-bitflags" ,rust-bitflags-1) + ("rust-getopts" ,rust-getopts-0.2) + ("rust-memchr" ,rust-memchr-2) + ("rust-serde" ,rust-serde-1) + ("rust-unicase" ,rust-unicase-2)) + #:cargo-development-inputs + (("rust-bincode" ,rust-bincode-1) + ("rust-criterion" ,rust-criterion-0.3) + ("rust-html5ever" ,rust-html5ever-0.26) + ("rust-lazy-static" ,rust-lazy-static-1) + ("rust-markup5ever-rcdom" ,rust-markup5ever-rcdom-0.2) + ("rust-regex" ,rust-regex-1) + ("rust-serde-json" ,rust-serde-json-1) + ("rust-tendril" ,rust-tendril-0.4)))) + (home-page "https://github.com/raphlinus/pulldown-cmark") + (synopsis "Pull parser for CommonMark") + (description + "This package provides a pull parser for CommonMark.") + (license license:expat))) + (define-public rust-pulldown-cmark-0.8 (package + (inherit rust-pulldown-cmark-0.9) (name "rust-pulldown-cmark") (version "0.8.0") (source @@ -46709,7 +50102,6 @@ compliant email address validation.") (sha256 (base32 "1y6wh446g6vravvj70zsadzswyl2b4pyln9ib76m697jjljf1bgz")))) - (build-system cargo-build-system) (arguments `(#:skip-build? #t #:cargo-inputs @@ -46724,12 +50116,7 @@ compliant email address validation.") ("rust-markup5ever-rcdom" ,rust-markup5ever-rcdom-0.1) ("rust-regex" ,rust-regex-1) - ("rust-tendril" ,rust-tendril-0.4)))) - (home-page "https://github.com/raphlinus/pulldown-cmark") - (synopsis "Pull parser for CommonMark") - (description - "This package provides a pull parser for CommonMark.") - (license license:expat))) + ("rust-tendril" ,rust-tendril-0.4)))))) (define-public rust-pulldown-cmark-0.4 (package @@ -46902,17 +50289,17 @@ they were parsed from") @code{LC_COLLATE} and @code{LC_CTYPE} are not yet supported.") (license license:expat))) -(define-public rust-pyo3-build-config-0.18 +(define-public rust-pyo3-build-config-0.19 (package (name "rust-pyo3-build-config") - (version "0.18.1") - (source - (origin - (method url-fetch) - (uri (crate-uri "pyo3-build-config" version)) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 "0zb7sz2w59ba0ipmy7saigyyr9v6pkrzqb8r5gagmp87bncryhvm")))) + (version "0.19.1") + (source (origin + (method url-fetch) + (uri (crate-uri "pyo3-build-config" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1c4n6dvv79p5mb558nz1cb0ifgxbhw9gjs0j1ff0l61w1d7v4kam")))) (build-system cargo-build-system) (arguments `(#:cargo-inputs @@ -46927,6 +50314,24 @@ they were parsed from") ecosystem.") (license license:asl2.0))) +(define-public rust-pyo3-build-config-0.18 + (package + (inherit rust-pyo3-build-config-0.19) + (name "rust-pyo3-build-config") + (version "0.18.3") + (source + (origin + (method url-fetch) + (uri (crate-uri "pyo3-build-config" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "18vrn0hcf18bqjis9xq5nwijpgbfjc6r292906jn3fv1mksldfcw")))) + (arguments + `(#:cargo-inputs + (("rust-once-cell" ,rust-once-cell-1) + ("rust-python3-dll-a" ,rust-python3-dll-a-0.2) + ("rust-target-lexicon" ,rust-target-lexicon-0.12)))))) + (define-public rust-pyo3-build-config-0.16 (package (name "rust-pyo3-build-config") @@ -46968,23 +50373,23 @@ ecosystem.") `(#:cargo-inputs (("rust-once-cell" ,rust-once-cell-1)))))) -(define-public rust-pyo3-ffi-0.16 +(define-public rust-pyo3-ffi-0.19 (package (name "rust-pyo3-ffi") - (version "0.16.5") + (version "0.19.1") (source (origin (method url-fetch) (uri (crate-uri "pyo3-ffi" version)) (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "0avls4q393nmzhb124zg6kp5lj6xzy2f6qx564qa7b614xqs0xf2")))) + "193hg837vk0c9b4fxxx4bp2vjm4n4m0sx59ivba0lq78b63xwblj")))) (build-system cargo-build-system) (arguments - `(#:skip-build? #t - #:cargo-inputs + `(#:cargo-inputs (("rust-libc" ,rust-libc-0.2) - ("rust-pyo3-build-config" ,rust-pyo3-build-config-0.16)))) + ("rust-pyo3-build-config" ,rust-pyo3-build-config-0.19)))) + (native-inputs (list python)) (home-page "https://github.com/pyo3/pyo3") (synopsis "Python API bindings for the PyO3 ecosystem") (description @@ -46993,54 +50398,126 @@ ecosystem.") (define-public rust-pyo3-ffi-0.18 (package + (inherit rust-pyo3-ffi-0.19) (name "rust-pyo3-ffi") - (version "0.18.1") + (version "0.18.3") (source (origin (method url-fetch) (uri (crate-uri "pyo3-ffi" version)) (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "1r8fmkfad60wdidsj4h5w16h0n2avn5bcy9nh92gy5vsq2jjd5c3")))) - (build-system cargo-build-system) + "0p7n9zs9ifrzcnna0lwyhwscyhw45q4x288x5bm1c6c26x9pqkgx")))) (arguments - `(;; The doctests fail with this error: `core::slice::<impl - ;; [T]>::as_mut_ptr` is not yet stable as a const fn - #:tests? #false + `(#:cargo-inputs + (("rust-libc" ,rust-libc-0.2) + ("rust-pyo3-build-config" ,rust-pyo3-build-config-0.18)))))) + +(define-public rust-pyo3-ffi-0.16 + (package + (inherit rust-pyo3-ffi-0.19) + (name "rust-pyo3-ffi") + (version "0.16.5") + (source (origin + (method url-fetch) + (uri (crate-uri "pyo3-ffi" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0avls4q393nmzhb124zg6kp5lj6xzy2f6qx564qa7b614xqs0xf2")))) + (arguments + `(#:skip-build? #t #:cargo-inputs (("rust-libc" ,rust-libc-0.2) - ("rust-pyo3-build-config" ,rust-pyo3-build-config-0.18)))) - (native-inputs (list python)) + ("rust-pyo3-build-config" ,rust-pyo3-build-config-0.16)))))) + +(define-public rust-pyo3-log-0.8 + (package + (name "rust-pyo3-log") + (version "0.8.2") + (source (origin + (method url-fetch) + (uri (crate-uri "pyo3-log" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0i0lwnzp0gizijidcddas3888zrzqpa60pmqs3bmibkbb99zcky9")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-arc-swap" ,rust-arc-swap-1) + ("rust-log" ,rust-log-0.4) + ("rust-pyo3" ,rust-pyo3-0.16)) + #:cargo-development-inputs + (("rust-pyo3" ,rust-pyo3-0.16) + ("rust-syn" ,rust-syn-1)))) + (inputs (list python)) + (home-page "https://github.com/vorner/pyo3-log") + (synopsis "Logging bridge from pyo3 native extension to python") + (description "This package provides a logging bridge from pyo3 native +extension to python.") + (license (list license:asl2.0 license:expat)))) + +(define-public rust-pyo3-macros-backend-0.19 + (package + (name "rust-pyo3-macros-backend") + (version "0.19.1") + (source (origin + (method url-fetch) + (uri (crate-uri "pyo3-macros-backend" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "12zs1vx0h4hainb0lpnw8knd9i9l0g2rdzdnrmb1bnv0n75qrdz0")))) + (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/pyo3/pyo3") - (synopsis "Python API bindings for the PyO3 ecosystem") + (synopsis "Code generation for PyO3") (description - "This crate provides Rust FFI declarations for Python 3.") + "This package provides code generation backends for PyO3.") (license license:asl2.0))) +(define-public rust-pyo3-macros-backend-0.18 + (package + (inherit rust-pyo3-macros-backend-0.19) + (name "rust-pyo3-macros-backend") + (version "0.18.3") + (source (origin + (method url-fetch) + (uri (crate-uri "pyo3-macros-backend" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "062rxf7cj1dn82yiaws3dmxw5qq9ssccq92jgdc210y4lh4gznlp")))) + (arguments + `(#:cargo-inputs + (("rust-proc-macro2" ,rust-proc-macro2-1) + ("rust-quote" ,rust-quote-1) + ("rust-syn" ,rust-syn-1)))))) + (define-public rust-pyo3-macros-backend-0.16 (package + (inherit rust-pyo3-macros-backend-0.19) (name "rust-pyo3-macros-backend") (version "0.16.5") - (source - (origin - (method url-fetch) - (uri (crate-uri "pyo3-macros-backend" version)) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 "1bvzvdx2a6hhliny12n2vy7v7gbsgzanxjckjr1cbxbkizss1gak")))) - (build-system cargo-build-system) + (source (origin + (method url-fetch) + (uri (crate-uri "pyo3-macros-backend" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1bvzvdx2a6hhliny12n2vy7v7gbsgzanxjckjr1cbxbkizss1gak")))) (arguments `(#:skip-build? #t #:cargo-inputs (("rust-proc-macro2" ,rust-proc-macro2-1) ("rust-pyo3-build-config" ,rust-pyo3-build-config-0.16) ("rust-quote" ,rust-quote-1) - ("rust-syn" ,rust-syn-1)))) - (home-page "https://github.com/pyo3/pyo3") - (synopsis "Code generation for PyO3") - (description - "This package provides code generation backends for PyO3.") - (license license:asl2.0))) + ("rust-syn" ,rust-syn-1)))))) (define-public rust-pyo3-macros-backend-0.15 (package @@ -47062,30 +50539,49 @@ ecosystem.") ("rust-syn" ,rust-syn-1)))) (native-inputs (list python)))) -(define-public rust-pyo3-macros-0.16 +(define-public rust-pyo3-macros-0.19 (package (name "rust-pyo3-macros") - (version "0.16.5") - (source - (origin - (method url-fetch) - (uri (crate-uri "pyo3-macros" version)) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 "1xwh7sl4n73746q80n5m5afd261zg0kxcqfnlr89ik7vbd4c8kr8")))) + (version "0.19.1") + (source (origin + (method url-fetch) + (uri (crate-uri "pyo3-macros" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "18n57jpi3292jhzmg5bjr1343zl93gmvxz21m1j5jdfxl73awp4a")))) (build-system cargo-build-system) (arguments - `(#:skip-build? #t - #:cargo-inputs - (("rust-pyo3-macros-backend" ,rust-pyo3-macros-backend-0.16) - ("rust-quote" ,rust-quote-1) - ("rust-syn" ,rust-syn-1)))) + `(#:cargo-inputs + (("rust-proc-macro2" ,rust-proc-macro2-1) + ("rust-pyo3-macros-backend" ,rust-pyo3-macros-backend-0.19) + ("rust-quote" ,rust-quote-1) + ("rust-syn" ,rust-syn-1)))) (home-page "https://github.com/pyo3/pyo3") (synopsis "Proc macros for PyO3") (description "This package provides compiler macros for use with PyO3.") (license license:asl2.0))) +(define-public rust-pyo3-macros-0.18 + (package + (inherit rust-pyo3-macros-0.19) + (name "rust-pyo3-macros") + (version "0.18.3") + (source (origin + (method url-fetch) + (uri (crate-uri "pyo3-macros" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "13b454p012l1487lbfqkr952qifsl88arldv4m5mmz5kv9arrlx9")))) + (arguments + `(#:cargo-inputs + (("rust-proc-macro2" ,rust-proc-macro2-1) + ("rust-pyo3-macros-backend" ,rust-pyo3-macros-backend-0.18) + ("rust-quote" ,rust-quote-1) + ("rust-syn" ,rust-syn-1)))))) + (define-public rust-pyo3-macros-backend-0.13 (package (inherit rust-pyo3-macros-backend-0.15) @@ -47105,6 +50601,25 @@ ecosystem.") ("rust-quote" ,rust-quote-1) ("rust-syn" ,rust-syn-1)))))) +(define-public rust-pyo3-macros-0.16 + (package + (inherit rust-pyo3-macros-0.19) + (name "rust-pyo3-macros") + (version "0.16.5") + (source + (origin + (method url-fetch) + (uri (crate-uri "pyo3-macros" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "1xwh7sl4n73746q80n5m5afd261zg0kxcqfnlr89ik7vbd4c8kr8")))) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-pyo3-macros-backend" ,rust-pyo3-macros-backend-0.16) + ("rust-quote" ,rust-quote-1) + ("rust-syn" ,rust-syn-1)))))) + (define-public rust-pyo3-macros-0.15 (package (inherit rust-pyo3-macros-0.16) @@ -47124,8 +50639,112 @@ ecosystem.") ("rust-syn" ,rust-syn-1)))) (native-inputs (list python)))) +(define-public rust-pyo3-0.19 + (package + (name "rust-pyo3") + (version "0.19.1") + (source (origin + (method url-fetch) + (uri (crate-uri "pyo3" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0nca4p22jxwcg5dvg907j9m9618bvi8lmb20vvy4nsrhbzh8mf7z")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-anyhow" ,rust-anyhow-1) + ("rust-cfg-if" ,rust-cfg-if-1) + ("rust-chrono" ,rust-chrono-0.4) + ("rust-eyre" ,rust-eyre-0.6) + ("rust-hashbrown" ,rust-hashbrown-0.12) + ("rust-indexmap" ,rust-indexmap-1) + ("rust-indoc" ,rust-indoc-1) + ("rust-inventory" ,rust-inventory-0.3) + ("rust-libc" ,rust-libc-0.2) + ("rust-memoffset" ,rust-memoffset-0.9) + ("rust-num-bigint" ,rust-num-bigint-0.4) + ("rust-num-complex" ,rust-num-complex-0.4) + ("rust-parking-lot" ,rust-parking-lot-0.12) + ("rust-pyo3-build-config" ,rust-pyo3-build-config-0.19) + ("rust-pyo3-ffi" ,rust-pyo3-ffi-0.19) + ("rust-pyo3-macros" ,rust-pyo3-macros-0.19) + ("rust-rust-decimal" ,rust-rust-decimal-1) + ("rust-serde" ,rust-serde-1) + ("rust-unindent" ,rust-unindent-0.1)) + #:cargo-development-inputs + (("rust-assert-approx-eq" ,rust-assert-approx-eq-1) + ("rust-chrono" ,rust-chrono-0.4) + ("rust-criterion" ,rust-criterion-0.3) + ("rust-proptest" ,rust-proptest-0.10) + ("rust-rayon" ,rust-rayon-1) + ("rust-rust-decimal" ,rust-rust-decimal-1) + ("rust-rustversion" ,rust-rustversion-1) + ("rust-send-wrapper" ,rust-send-wrapper-0.6) + ("rust-serde" ,rust-serde-1) + ("rust-serde-json" ,rust-serde-json-1) + ("rust-trybuild" ,rust-trybuild-1) + ("rust-widestring" ,rust-widestring-0.5)))) + (inputs (list python)) + (home-page "https://github.com/pyo3/pyo3") + (synopsis "Rust bindings for the Python interpreter") + (description + "This package provides Rust bindings for Python, including tools for +creating native Python extension modules. Running and interacting with +Python code from a Rust binary is also supported.") + (license license:asl2.0))) + +(define-public rust-pyo3-0.18 + (package + (inherit rust-pyo3-0.19) + (name "rust-pyo3") + (version "0.18.3") + (source (origin + (method url-fetch) + (uri (crate-uri "pyo3" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "02914yszvcg7qzh1kkrhiz8qqi0p9pbzi1cpmbyk9fii6xdsrcg3")))) + (arguments + `(#:cargo-test-flags + '("--release" "--" + "--skip=test_compile_errors") + #:cargo-inputs + (("rust-anyhow" ,rust-anyhow-1) + ("rust-cfg-if" ,rust-cfg-if-1) + ("rust-chrono" ,rust-chrono-0.4) + ("rust-eyre" ,rust-eyre-0.6) + ("rust-hashbrown" ,rust-hashbrown-0.12) + ("rust-indexmap" ,rust-indexmap-1) + ("rust-indoc" ,rust-indoc-1) + ("rust-inventory" ,rust-inventory-0.3) + ("rust-libc" ,rust-libc-0.2) + ("rust-memoffset" ,rust-memoffset-0.8) + ("rust-num-bigint" ,rust-num-bigint-0.4) + ("rust-num-complex" ,rust-num-complex-0.4) + ("rust-parking-lot" ,rust-parking-lot-0.12) + ("rust-pyo3-build-config" ,rust-pyo3-build-config-0.18) + ("rust-pyo3-ffi" ,rust-pyo3-ffi-0.18) + ("rust-pyo3-macros" ,rust-pyo3-macros-0.18) + ("rust-serde" ,rust-serde-1) + ("rust-unindent" ,rust-unindent-0.1)) + #:cargo-development-inputs + (("rust-assert-approx-eq" ,rust-assert-approx-eq-1) + ("rust-chrono" ,rust-chrono-0.4) + ("rust-criterion" ,rust-criterion-0.3) + ("rust-proptest" ,rust-proptest-0.10) + ("rust-rayon" ,rust-rayon-1) + ("rust-rustversion" ,rust-rustversion-1) + ("rust-send-wrapper" ,rust-send-wrapper-0.6) + ("rust-serde" ,rust-serde-1) + ("rust-serde-json" ,rust-serde-json-1) + ("rust-trybuild" ,rust-trybuild-1) + ("rust-widestring" ,rust-widestring-0.5)))))) + (define-public rust-pyo3-0.16 (package + (inherit rust-pyo3-0.19) (name "rust-pyo3") (version "0.16.5") (source @@ -47135,7 +50754,6 @@ ecosystem.") (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 "1p5kjsj3jdw2gnahdjrzljmi93w3nxdp11qq8x3i80b0a3l04qqy")))) - (build-system cargo-build-system) (arguments `(#:cargo-inputs (("rust-anyhow" ,rust-anyhow-1) @@ -47167,15 +50785,7 @@ ecosystem.") ("rust-trybuild" ,rust-trybuild-1) ("rust-widestring" ,rust-widestring-0.5)) ;; FIXME: fails to initialize Python interpreter. - #:tests? #f)) - (inputs (list python)) - (home-page "https://github.com/pyo3/pyo3") - (synopsis "Rust bindings for the Python interpreter") - (description - "This package provides Rust bindings for Python, including tools for -creating native Python extension modules. Running and interacting with -Python code from a Rust binary is also supported.") - (license license:asl2.0))) + #:tests? #f)))) (define-public rust-pyo3-macros-0.13 (package @@ -47282,6 +50892,61 @@ Python code from a Rust binary is also supported.") ("rust-serde-json" ,rust-serde-json-1) ("rust-trybuild" ,rust-trybuild-1)))))) +(define-public rust-pyproject-toml-0.6 + (package + (name "rust-pyproject-toml") + (version "0.6.1") + (source (origin + (method url-fetch) + (uri (crate-uri "pyproject-toml" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0pywp6ml15jlv9yxfjcvrs3fgd3xnq8fc6a2wcbw9q9iknmgwygf")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-indexmap" ,rust-indexmap-1) + ("rust-pep440-rs" ,rust-pep440-rs-0.3) + ("rust-pep508-rs" ,rust-pep508-rs-0.2) + ("rust-serde" ,rust-serde-1) + ("rust-toml" ,rust-toml-0.7)))) + (home-page "https://github.com/PyO3/pyproject-toml-rs.git") + (synopsis "pyproject.toml parser in Rust") + (description "This package provides a pyproject.toml parser in Rust.") + (license license:expat))) + +(define-public rust-python-pkginfo-0.5 + (package + (name "rust-python-pkginfo") + (version "0.5.6") + (source (origin + (method url-fetch) + (uri (crate-uri "python-pkginfo" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "03hvc5h10vicfjql9dw46w0xcwq2gjm9sfbfmr13rglz1z68hfg2")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-bzip2" ,rust-bzip2-0.4) + ("rust-flate2" ,rust-flate2-1) + ("rust-fs-err" ,rust-fs-err-2) + ("rust-mailparse" ,rust-mailparse-0.14) + ("rust-rfc2047-decoder" ,rust-rfc2047-decoder-0.2) + ("rust-serde" ,rust-serde-1) + ("rust-tar" ,rust-tar-0.4) + ("rust-thiserror" ,rust-thiserror-1) + ("rust-xz" ,rust-xz-0.1) + ("rust-zip" ,rust-zip-0.6)) + #:cargo-development-inputs (("rust-serde-json" ,rust-serde-json-1)))) + (home-page "https://github.com/PyO3/python-pkginfo-rs") + (synopsis "Parse Python package metadata from sdist and bdists") + (description + "Parse Python package metadata from sdist and bdists and etc.") + (license license:expat))) + (define-public rust-python3-dll-a-0.2 (package (name "rust-python3-dll-a") @@ -47351,85 +51016,6 @@ for MinGW-w64 and MSVC (cross-)compile targets.") "This package provides a collection of approximate quantile algorithms.") (license license:expat))) -(define-public rust-quasi-0.32 - (package - (name "rust-quasi") - (version "0.32.0") - (source - (origin - (method url-fetch) - (uri (crate-uri "quasi" version)) - (file-name - (string-append name "-" version ".tar.gz")) - (sha256 - (base32 - "1csqqgz3aw85q570ywmhb34r3sqgi1sprf8xadfwzlfnai45ri0q")))) - (build-system cargo-build-system) - (arguments - `(#:skip-build? #t - #:cargo-inputs - (("rust-clippy" ,rust-clippy-0.0) - ("rust-syntex-errors" ,rust-syntex-errors-0.58) - ("rust-syntex-syntax" ,rust-syntex-syntax-0.58)))) - (home-page "https://github.com/serde-rs/quasi") - (synopsis "Quasi-quoting macro system") - (description - "This package provides a quasi-quoting macro system.") - (license (list license:expat license:asl2.0)))) - -(define-public rust-quasi-codegen-0.32 - (package - (name "rust-quasi-codegen") - (version "0.32.0") - (source - (origin - (method url-fetch) - (uri (crate-uri "quasi_codegen" version)) - (file-name - (string-append name "-" version ".tar.gz")) - (sha256 - (base32 - "1m3nwzn5ip8y86cyfk6hdnbhiinsk2faag7l0cc4q11wl9gy5fai")))) - (build-system cargo-build-system) - (arguments - `(#:cargo-inputs - (("rust-aster" ,rust-aster-0.41) - ("rust-clippy" ,rust-clippy-0.0) - ("rust-syntex" ,rust-syntex-0.58) - ("rust-syntex-errors" ,rust-syntex-errors-0.58) - ("rust-syntex-syntax" ,rust-syntex-syntax-0.58)))) - (home-page "https://github.com/serde-rs/quasi") - (synopsis "Quasi-quoting macro system") - (description "This package provides a quasi-quoting macro system.") - (license (list license:expat license:asl2.0)))) - -(define-public rust-quasi-macros-0.32 - (package - (name "rust-quasi-macros") - (version "0.32.0") - (source - (origin - (method url-fetch) - (uri (crate-uri "quasi_macros" version)) - (file-name - (string-append name "-" version ".tar.gz")) - (sha256 - (base32 - "1p825s96wa9xcc01pm5f4nlb01nx0pah50qnwkbncrw1q9xwiki9")))) - (build-system cargo-build-system) - (arguments - `(#:skip-build? #t - #:cargo-inputs - (("rust-clippy" ,rust-clippy-0.0) - ("rust-quasi-codegen" ,rust-quasi-codegen-0.32)) - #:cargo-development-inputs - (("rust-aster" ,rust-aster-0.41) - ("rust-quasi" ,rust-quasi-0.32)))) - (home-page "https://github.com/serde-rs/quasi") - (synopsis "Quasi-quoting macro system") - (description "This package provides a quasi-quoting macro system.") - (license (list license:expat license:asl2.0)))) - (define-public rust-quick-error-2 (package (name "rust-quick-error") @@ -47464,8 +51050,42 @@ to write.") (base32 "1q6za3v78hsspisc197bg3g7rpc989qycy8ypr8ap8igv10ikl51")))))) +(define-public rust-quick-xml-0.27 + (package + (name "rust-quick-xml") + (version "0.27.1") + (source (origin + (method url-fetch) + (uri (crate-uri "quick-xml" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0hacs71afvppq6d7x6b8d4liv0rcqhsf9mrcyrb8lxnxazq57h7z")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-document-features" ,rust-document-features-0.2) + ("rust-encoding-rs" ,rust-encoding-rs-0.8) + ("rust-memchr" ,rust-memchr-2) + ("rust-serde" ,rust-serde-1) + ("rust-tokio" ,rust-tokio-1)) + #:cargo-development-inputs + (("rust-criterion" ,rust-criterion-0.4) + ("rust-pretty-assertions" ,rust-pretty-assertions-1) + ("rust-regex" ,rust-regex-1) + ("rust-serde" ,rust-serde-1) + ("rust-serde-value" ,rust-serde-value-0.7) + ("rust-tokio" ,rust-tokio-1) + ("rust-tokio-test" ,rust-tokio-test-0.4)))) + (home-page "https://github.com/tafia/quick-xml") + (synopsis "High performance xml reader and writer") + (description + "This package provides a high performance XML reader and writer.") + (license license:expat))) + (define-public rust-quick-xml-0.22 (package + (inherit rust-quick-xml-0.27) (name "rust-quick-xml") (version "0.22.0") (source @@ -47475,7 +51095,6 @@ to write.") (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 "0ssk30ymrd1724g36qjnnql225i6p31jm09cb46sval2hd6g2cw5")))) - (build-system cargo-build-system) (arguments `(#:skip-build? #t #:cargo-inputs @@ -47485,12 +51104,7 @@ to write.") #:cargo-development-inputs (("rust-regex" ,rust-regex-1) ("rust-serde" ,rust-serde-1) - ("rust-serde-value" ,rust-serde-value-0.7)))) - (home-page "https://github.com/tafia/quick-xml") - (synopsis "High performance XML reader and writer") - (description - "This package provides a high performance XML reader and writer.") - (license license:expat))) + ("rust-serde-value" ,rust-serde-value-0.7)))))) (define-public rust-quick-xml-0.21 (package @@ -47954,14 +51568,14 @@ transport protocol in Rust.") (define-public rust-quote-1 (package (name "rust-quote") - (version "1.0.25") + (version "1.0.29") (source (origin (method url-fetch) (uri (crate-uri "quote" version)) (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "117y035vad1a67md2r9fk9663i5cvbax1ykc998f3hr9hwhfh22k")))) + "019ij5fwp56ydww6zr46dhmzsf078qkdq9vz6mw1cri7mgl1ac2p")))) (build-system cargo-build-system) (arguments `(#:cargo-inputs @@ -48027,16 +51641,15 @@ transport protocol in Rust.") (define-public rust-quoted-printable-0.4 (package (name "rust-quoted-printable") - (version "0.4.3") + (version "0.4.8") (source (origin (method url-fetch) (uri (crate-uri "quoted_printable" version)) (file-name (string-append name "-" version ".tar.gz")) (sha256 - (base32 "1ig9b5nr2i2f72smsjkkx8pwpxp9vz2090dhi7n4jdlj15mjaf0j")))) + (base32 "0jcyi10gh2xzjvxls8r58gwc9yavw3iighkgnb1jwrjij8hncf2s")))) (build-system cargo-build-system) - (arguments `(#:skip-build? #t)) (home-page "https://github.com/staktrace/quoted-printable") (synopsis "Simple encoder/decoder for quoted-printable data") (description @@ -48044,10 +51657,10 @@ transport protocol in Rust.") data.") (license license:bsd-0))) -(define-public rust-r2d2 +(define-public rust-r2d2-0.8 (package (name "rust-r2d2") - (version "0.8.9") + (version "0.8.10") (source (origin (method url-fetch) @@ -48055,12 +51668,12 @@ data.") (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "0vxjgh83bss63mkx308p16iwl33s80c781p422f3r5w0p315np2l")))) + "14qw32y4m564xb1f5ya8ii7dwqyknvk8bsx2r0lljlmn7zxqbpji")))) (build-system cargo-build-system) (arguments `(#:cargo-inputs (("rust-log" ,rust-log-0.4) - ("rust-parking-lot" ,rust-parking-lot-0.11) + ("rust-parking-lot" ,rust-parking-lot-0.12) ("rust-scheduled-thread-pool" ,rust-scheduled-thread-pool-0.2)))) (home-page "https://github.com/sfackler/r2d2") (synopsis "Generic connection pool") @@ -49083,8 +52696,43 @@ random generic types.") (license (list license:zlib license:asl2.0 license:expat)))) +(define-public rust-raw-cpuid-10 + (package + (name "rust-raw-cpuid") + (version "10.7.0") + (source (origin + (method url-fetch) + (uri (crate-uri "raw-cpuid" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0ckkg47m8wbdinqg4z4dx7ipi3d7fjxdnrwzikx70x46rdwpcabc")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-bitflags" ,rust-bitflags-1) + ("rust-clap" ,rust-clap-3) + ("rust-serde" ,rust-serde-1) + ("rust-serde-derive" ,rust-serde-derive-1) + ("rust-serde-json" ,rust-serde-json-1) + ("rust-termimad" ,rust-termimad-0.20)) + #:cargo-development-inputs + (("rust-core-affinity" ,rust-core-affinity-0.5) + ("rust-libc" ,rust-libc-0.2) + ("rust-phf" ,rust-phf-0.11) + ("rust-rustversion" ,rust-rustversion-1)))) + (home-page "https://github.com/gz/rust-cpuid") + (synopsis "Library to parse the x86 CPUID instruction, written in Rust") + (description + "This package provides a library to parse the x86 CPUID instruction, +written in Rust with no external dependencies. The implementation closely +resembles the Intel CPUID manual description. The library does only depend on +libcore.") + (license license:expat))) + (define-public rust-raw-cpuid-8 (package + (inherit rust-raw-cpuid-10) (name "rust-raw-cpuid") (version "8.1.2") (source @@ -49094,7 +52742,6 @@ random generic types.") (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 "0wry932lx7gqyxn7w54mg61b7hiwywyir754jhfxiws3pnfpvpqz")))) - (build-system cargo-build-system) (arguments `(#:cargo-inputs (("rust-bitflags" ,rust-bitflags-1) @@ -49105,15 +52752,7 @@ random generic types.") #:cargo-development-inputs (("rust-core-affinity" ,rust-core-affinity-0.5) ("rust-libc" ,rust-libc-0.2) - ("rust-rustversion" ,rust-rustversion-0.1)))) - (home-page "https://github.com/gz/rust-cpuid") - (synopsis "Library to parse the x86 CPUID instruction, written in Rust") - (description - "This package provides a library to parse the x86 CPUID instruction, -written in Rust with no external dependencies. The implementation closely -resembles the Intel CPUID manual description. The library does only depend on -libcore.") - (license license:expat))) + ("rust-rustversion" ,rust-rustversion-0.1)))))) (define-public rust-rawpointer-0.2 (package @@ -49283,8 +52922,51 @@ Rust.") (description "This package provides core APIs for Rayon.") (license (list license:asl2.0 license:expat)))) +(define-public rust-rcgen-0.11 + (package + (name "rust-rcgen") + (version "0.11.1") + (source (origin + (method url-fetch) + (uri (crate-uri "rcgen" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0xl91nlp4ld00gl01pfv00a3agaip980wwc7r6184kfd1p0gnm29")) + (modules '((guix build utils))) + (snippet + '(begin + ;; Don't use a vendored botan. + (substitute* "Cargo.toml" + ((".*vendored.*") "")))))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-pem" ,rust-pem-2) + ("rust-ring" ,rust-ring-0.16) + ("rust-time" ,rust-time-0.3) + ("rust-x509-parser" ,rust-x509-parser-0.15) + ("rust-yasna" ,rust-yasna-0.5) + ("rust-zeroize" ,rust-zeroize-1)) + #:cargo-development-inputs + (("rust-botan" ,rust-botan-0.10) + ("rust-openssl" ,rust-openssl-0.10) + ("rust-rand" ,rust-rand-0.8) + ("rust-rsa" ,rust-rsa-0.9) + ("rust-webpki" ,rust-webpki-0.22) + ("rust-x509-parser" ,rust-x509-parser-0.15)))) + (native-inputs + (list pkg-config)) + (inputs + (list botan openssl perl)) + (home-page "https://github.com/est31/rcgen") + (synopsis "Rust X.509 certificate generator") + (description "Rust X.509 certificate generator") + (license (list license:expat license:asl2.0)))) + (define-public rust-rcgen-0.8 (package + (inherit rust-rcgen-0.11) (name "rust-rcgen") (version "0.8.14") (source (origin @@ -49299,7 +52981,6 @@ Rust.") ;; Don't use a vendored botan. (substitute* "Cargo.toml" ((".*vendored.*") "")))))) - (build-system cargo-build-system) (arguments `(#:cargo-inputs (("rust-chrono" ,rust-chrono-0.4) @@ -49314,15 +52995,7 @@ Rust.") ("rust-rand" ,rust-rand-0.8) ("rust-rsa" ,rust-rsa-0.5) ("rust-webpki" ,rust-webpki-0.22) - ("rust-x509-parser" ,rust-x509-parser-0.12)))) - (native-inputs - (list pkg-config)) - (inputs - (list botan openssl)) - (home-page "https://github.com/est31/rcgen") - (synopsis "Rust X.509 certificate generator") - (description "Rust X.509 certificate generator") - (license (list license:expat license:asl2.0)))) + ("rust-x509-parser" ,rust-x509-parser-0.12)))))) (define-public rust-rctree-0.4 (package @@ -49557,7 +53230,7 @@ initial value.") (define-public rust-ref-cast-1 (package (name "rust-ref-cast") - (version "1.0.2") + (version "1.0.18") (source (origin (method url-fetch) @@ -49566,13 +53239,15 @@ initial value.") (string-append name "-" version ".tar.gz")) (sha256 (base32 - "08r6qz7228k55nlyl5v7ykdzxrasnawgzmb1jrbfbnkx2s3ifp3l")))) + "0sxzy3f0zmclsmi1z17n16xbjbp99d5c6nh7592yy6f3fya82h8n")))) (build-system cargo-build-system) (arguments - `(#:cargo-inputs + `(#:tests? #f ; Doesn't always interact well with the test crate. + #:cargo-inputs (("rust-ref-cast-impl" ,rust-ref-cast-impl-1)) #:cargo-development-inputs - (("rust-rustversion" ,rust-rustversion-1) + (("rust-ref-cast-test-suite" ,rust-ref-cast-test-suite-0.0.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") @@ -49609,7 +53284,7 @@ initial value.") (define-public rust-ref-cast-impl-1 (package (name "rust-ref-cast-impl") - (version "1.0.2") + (version "1.0.18") (source (origin (method url-fetch) @@ -49618,13 +53293,14 @@ initial value.") (string-append name "-" version ".tar.gz")) (sha256 (base32 - "0i1i3an8si070aqg2mvz6yqc6y2pl9zhd6dd2piz17l7mdsv88bx")))) + "05kjg9g9akzb0yns255a5zvdkbwk0wa9kp1cf8k6h25nv7d57gv8")))) (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-syn" ,rust-syn-2)) + #:cargo-development-inputs (("rust-ref-cast" ,rust-ref-cast-1)))) (home-page "https://github.com/dtolnay/ref-cast") (synopsis "Derive implementation for @code{ref_cast::RefCast}") (description @@ -49646,6 +53322,24 @@ initial value.") (base32 "0av43xxjlinfqklb67rpj217cmaxfjsf8151gs0hbs4hnr5664ck")))))) +(define-public rust-ref-cast-test-suite-0.0.0 + (package + (name "rust-ref-cast-test-suite") + (version "0.0.0") + (source (origin + (method url-fetch) + (uri (crate-uri "ref-cast-test-suite" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0cx15bhs8zq99qidrhjmjhc5krlfclcaq0y5c68pq48vlds72idl")))) + (build-system cargo-build-system) + (arguments (list #:skip-build? #t)) + (home-page "https://github.com/dtolnay/ref-cast") + (synopsis "Test suite of the ref-cast crate") + (description "Test suite of the ref-cast crate.") + (license (list license:expat license:asl2.0)))) + (define-public rust-refpool-0.4 (package (name "rust-refpool") @@ -49673,24 +53367,28 @@ memory to speed up reallocation.") (define-public rust-regex-1 (package (name "rust-regex") - (version "1.7.1") + (version "1.9.1") (source (origin (method url-fetch) (uri (crate-uri "regex" version)) (file-name (string-append name "-" version ".tar.gz")) (sha256 - (base32 "0czp6hxg02lm02hvlhp9xjkd65cjcagw119crnaznwd5idsabaj8")))) + (base32 "0xdmrvs8fy7yw2bdk76mjbhzqibms7g4ljg468jwzxr0qa7ydsmj")))) (build-system cargo-build-system) (arguments `(#:cargo-inputs - (("rust-aho-corasick" ,rust-aho-corasick-0.7) + (("rust-aho-corasick" ,rust-aho-corasick-1) ("rust-memchr" ,rust-memchr-2) - ("rust-regex-syntax" ,rust-regex-syntax-0.6)) + ("rust-regex-automata" ,rust-regex-automata-0.3) + ("rust-regex-syntax" ,rust-regex-syntax-0.7)) #:cargo-development-inputs - (("rust-lazy-static" ,rust-lazy-static-1) + (("rust-anyhow" ,rust-anyhow-1) + ("rust-doc-comment" ,rust-doc-comment-0.3) + ("rust-env-logger" ,rust-env-logger-0.9) + ("rust-once-cell" ,rust-once-cell-1) ("rust-quickcheck" ,rust-quickcheck-1) - ("rust-rand" ,rust-rand-0.8)))) + ("rust-regex-test" ,rust-regex-test-0.1)))) (home-page "https://github.com/rust-lang/regex") (synopsis "Regular expressions for Rust") (description @@ -49754,20 +53452,50 @@ 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-regex-automata-0.3 + (package + (name "rust-regex-automata") + (version "0.3.3") + (source (origin + (method url-fetch) + (uri (crate-uri "regex-automata" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "041kj8fnyh3hv8sqmqq1am6agb1ckjxj6swjfcp8qih7vl84qd9r")))) + (build-system cargo-build-system) + (arguments + `(#:tests? #f ; Not all files included. + #:cargo-inputs + (("rust-aho-corasick" ,rust-aho-corasick-1) + ("rust-log" ,rust-log-0.4) + ("rust-memchr" ,rust-memchr-2) + ("rust-regex-syntax" ,rust-regex-syntax-0.7)) + #:cargo-development-inputs + (("rust-anyhow" ,rust-anyhow-1) + ("rust-bstr" ,rust-bstr-1) + ("rust-doc-comment" ,rust-doc-comment-0.3) + ("rust-env-logger" ,rust-env-logger-0.9) + ("rust-quickcheck" ,rust-quickcheck-1) + ("rust-regex-test" ,rust-regex-test-0.1)))) + (home-page "https://github.com/rust-lang/regex/tree/master/regex-automata") + (synopsis "Automata construction and matching using regular expressions") + (description + "Automata construction and matching using regular expressions.") + (license (list license:expat license:asl2.0)))) + (define-public rust-regex-automata-0.1 (package + (inherit rust-regex-automata-0.3) (name "rust-regex-automata") (version "0.1.9") - (source - (origin - (method url-fetch) - (uri (crate-uri "regex-automata" version)) - (file-name - (string-append name "-" version ".tar.gz")) - (sha256 - (base32 - "1r3aqa9c0s9sfrmd2w0mli16ldjzbar0rzb1x7srfjkasrqys7df")))) - (build-system cargo-build-system) + (source (origin + (method url-fetch) + (uri (crate-uri "regex-automata" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1r3aqa9c0s9sfrmd2w0mli16ldjzbar0rzb1x7srfjkasrqys7df")))) (arguments `(#:skip-build? #t #:cargo-inputs @@ -49781,16 +53509,30 @@ uses finite automata and guarantees linear time matching on all inputs.") ("rust-serde" ,rust-serde-1) ("rust-serde-bytes" ,rust-serde-bytes-0.11) ("rust-serde-derive" ,rust-serde-derive-1) - ("rust-toml" ,rust-toml-0.5)))) ; 0.4 - (home-page "https://github.com/BurntSushi/regex-automata") - (synopsis - "Automata construction and matching using regular expressions") - (description - "Automata construction and matching using regular expressions.") - (license (list license:expat license:unlicense)))) + ("rust-toml" ,rust-toml-0.5)))))) ; 0.4 + +(define-public rust-regex-syntax-0.7 + (package + (name "rust-regex-syntax") + (version "0.7.4") + (source (origin + (method url-fetch) + (uri (crate-uri "regex-syntax" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1qjczlc2w92kamn9ipjdr5pjql0jnccahpi9l3r6wp0rnsjr5sp5")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs (("rust-arbitrary" ,rust-arbitrary-1)))) + (home-page "https://github.com/rust-lang/regex/tree/master/regex-syntax") + (synopsis "Regular expression parser") + (description "This package provides a regular expression parser.") + (license (list license:expat license:asl2.0)))) (define-public rust-regex-syntax-0.6 (package + (inherit rust-regex-syntax-0.7) (name "rust-regex-syntax") (version "0.6.27") (source @@ -49800,12 +53542,7 @@ uses finite automata and guarantees linear time matching on all inputs.") (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 "0i32nnvyzzkvz1rqp2qyfxrp2170859z8ck37jd63c8irrrppy53")))) - (build-system cargo-build-system) - (home-page "https://github.com/rust-lang/regex") - (synopsis "Regular expression parser") - (description - "This package provides a regular expression parser.") - (license (list license:expat license:asl2.0)))) + (arguments '()))) (define-public rust-regex-syntax-0.5 (package @@ -49863,6 +53600,31 @@ 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-regex-test-0.1 + (package + (name "rust-regex-test") + (version "0.1.0") + (source (origin + (method url-fetch) + (uri (crate-uri "regex-test" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "012nj2qjkxlv5zmnk53hc5a95kdsz8ss469s0a6fp5xdqbpi9f8l")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-anyhow" ,rust-anyhow-1) + ("rust-bstr" ,rust-bstr-1) + ("rust-serde" ,rust-serde-1) + ("rust-toml" ,rust-toml-0.7)))) + (home-page "https://github.com/rust-lang/regex/tree/master/regex-test") + (synopsis "Infrastructure for testing regexes") + (description + "Infrastructure for testing regexes. You probably don't want to use this +crate unless you're working on a regex implementation.") + (license (list license:expat license:asl2.0)))) + (define-public rust-region-3 (package (name "rust-region") @@ -49933,8 +53695,48 @@ uses finite automata and guarantees linear time matching on all inputs.") (description "This package provides portable, relative paths for Rust.") (license (list license:expat license:asl2.0)))) +(define-public rust-remove-dir-all-0.8 + (package + (name "rust-remove-dir-all") + (version "0.8.2") + (source (origin + (method url-fetch) + (uri (crate-uri "remove-dir-all" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0ay0mi06ak1n5gw3yjgp0hvzl59nj31ahxpdqvczw5qrvkx5r293")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-aligned" ,rust-aligned-0.4) + ("rust-cfg-if" ,rust-cfg-if-1) + ("rust-clap" ,rust-clap-4) + ("rust-cvt" ,rust-cvt-0.1) + ("rust-env-logger" ,rust-env-logger-0.10) + ("rust-fs-at" ,rust-fs-at-0.1) + ("rust-lazy-static" ,rust-lazy-static-1) + ("rust-libc" ,rust-libc-0.2) + ("rust-log" ,rust-log-0.4) + ("rust-normpath" ,rust-normpath-1) + ("rust-rayon" ,rust-rayon-1) + ("rust-windows-sys" ,rust-windows-sys-0.45)) + #:cargo-development-inputs + (("rust-doc-comment" ,rust-doc-comment-0.3) + ("rust-env-logger" ,rust-env-logger-0.10) + ("rust-log" ,rust-log-0.4) + ("rust-tempfile" ,rust-tempfile-3) + ("rust-test-log" ,rust-test-log-0.2)))) + (home-page "https://github.com/XAMPPRocky/remove_dir_all.git") + (synopsis "Implementation of remove_dir_all for Windows") + (description + "This package provides a safe, reliable implementation of +@code{remove_dir_all} for Windows") + (license (list license:expat license:asl2.0)))) + (define-public rust-remove-dir-all-0.5 (package + (inherit rust-remove-dir-all-0.8) (name "rust-remove-dir-all") (version "0.5.3") (source @@ -49945,19 +53747,11 @@ uses finite automata and guarantees linear time matching on all inputs.") (sha256 (base32 "1rzqbsgkmr053bxxl04vmvsd1njyz0nxvly97aip6aa2cmb15k9s")))) - (build-system cargo-build-system) (arguments `(#:cargo-inputs (("rust-winapi" ,rust-winapi-0.3)) #:cargo-development-inputs - (("rust-doc-comment" ,rust-doc-comment-0.3)))) - (home-page "https://github.com/XAMPPRocky/remove_dir_all") - (synopsis "Implementation of remove_dir_all for Windows") - (description - "This package provides a safe, reliable implementation of -@code{remove_dir_all} for Windows") - (license (list license:asl2.0 - license:expat)))) + (("rust-doc-comment" ,rust-doc-comment-0.3)))))) (define-public rust-rend-0.3 (package @@ -50263,6 +54057,59 @@ Rust.") functionality as retain but gives mutable borrow to the predicate.") (license license:expat))) +(define-public rust-rfc2047-decoder-0.2 + (package + (name "rust-rfc2047-decoder") + (version "0.2.2") + (source (origin + (method url-fetch) + (uri (crate-uri "rfc2047-decoder" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0bpc2k7dp3nxc3pnsvz6zd3vc58j8q29nzibn4q3wz49a974pz31")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-base64" ,rust-base64-0.21) + ("rust-charset" ,rust-charset-0.1) + ("rust-chumsky" ,rust-chumsky-0.9) + ("rust-memchr" ,rust-memchr-2) + ("rust-quoted-printable" ,rust-quoted-printable-0.4) + ("rust-thiserror" ,rust-thiserror-1)))) + (home-page "https://github.com/soywod/rfc2047-decoder") + (synopsis "Rust library for decoding RFC 2047 MIME Message Headers") + (description "This package provides a rust library for decoding RFC 2047 +MIME Message Headers.") + (license license:expat))) + +(define-public rust-rfc6979-0.4 + (package + (name "rust-rfc6979") + (version "0.4.0") + (source (origin + (method url-fetch) + (uri (crate-uri "rfc6979" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1chw95jgcfrysyzsq6a10b1j5qb7bagkx8h0wda4lv25in02mpgq")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-hmac" ,rust-hmac-0.12) + ("rust-subtle" ,rust-subtle-2)) + #:cargo-development-inputs + (("rust-hex-literal" ,rust-hex-literal-0.3) + ("rust-sha2" ,rust-sha2-0.10)))) + (home-page "https://github.com/RustCrypto/signatures/tree/master/rfc6979") + (synopsis "Pure Rust implementation of RFC6979") + (description + "This package provides a pure Rust implementation of RFC6979: Deterministic +Usage of the @dfn{Digital Signature Algorithm} (DSA) and @dfn{Elliptic Curve +Digital Signature Algorithm} (ECDSA).") + (license (list license:asl2.0 license:expat)))) + (define-public rust-ring-0.16 (package (name "rust-ring") @@ -50274,18 +54121,24 @@ functionality as retain but gives mutable borrow to the predicate.") (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 "1z682xp7v38ayq9g9nkbhhfpj6ygralmlx7wdmsfv8rnw99cylrh")) + (patches (search-patches "rust-ring-0.16-missing-files.patch" + "rust-ring-0.16-test-files.patch")) (modules '((guix build utils))) (snippet '(begin (delete-file-recursively "pregenerated") + ;; Regenerating the curve25519_tables requires python2 and clang-format. + ;; Luckily we've added the script back in the patch. + ;; Rust doesn't provide a clear way to regenerate files located in + ;; source directories, so for now we don't remove the file here. + ;(delete-file "crypto/curve25519/curve25519_tables.h") ;; Pretend this isn't a relase tarball. (with-output-to-file ".git" (lambda _ (format #t ""))))))) (build-system cargo-build-system) (arguments - `(#:tests? #false ;missing file - #:cargo-inputs + `(#:cargo-inputs (("rust-libc" ,rust-libc-0.2) ("rust-once-cell" ,rust-once-cell-1) ("rust-spin" ,rust-spin-0.5) @@ -50296,9 +54149,17 @@ functionality as retain but gives mutable borrow to the predicate.") ("rust-cc" ,rust-cc-1)) #:cargo-development-inputs (("rust-libc" ,rust-libc-0.2) - ("rust-wasm-bindgen-test" ,rust-wasm-bindgen-test-0.3)))) + ("rust-wasm-bindgen-test" ,rust-wasm-bindgen-test-0.3)) + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'generate-curve25519-tables + (lambda _ + (with-directory-excursion "crypto/curve25519" + (with-output-to-file "curve25519_tables.h" + (lambda _ + (invoke "python" "make_curve25519_tables.py"))))))))) (native-inputs - (list perl)) + (list clang perl python-2)) (home-page "https://github.com/briansmith/ring") (synopsis "Safe, fast, small crypto using Rust") (description "This package provided safe, fast, small crypto using Rust.") @@ -50397,6 +54258,29 @@ functionality as retain but gives mutable borrow to the predicate.") (lambda _ (invoke "python" "make_curve25519_tables.py"))))))))))) +(define-public rust-ripemd-0.1 + (package + (name "rust-ripemd") + (version "0.1.3") + (source (origin + (method url-fetch) + (uri (crate-uri "ripemd" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "17xh5yl9wjjj2v18rh3m8ajlmdjg1yj13l6r9rj3mnbss4i444mx")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-digest" ,rust-digest-0.10)) + #:cargo-development-inputs + (("rust-digest" ,rust-digest-0.10) + ("rust-hex-literal" ,rust-hex-literal-0.2)))) + (home-page "https://github.com/RustCrypto/hashes") + (synopsis "Pure Rust implementation of the RIPEMD hash functions") + (description "Pure Rust implementation of the RIPEMD hash functions") + (license (list license:expat license:asl2.0)))) + (define-public rust-riscv-0.7 (package (name "rust-riscv") @@ -50564,6 +54448,30 @@ MessagePack format.") (description "This crate provides Serde bindings for RMP.") (license license:expat))) +(define-public rust-roadmap-0.5 + (package + (name "rust-roadmap") + (version "0.5.0") + (source (origin + (method url-fetch) + (uri (crate-uri "roadmap" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0d0j88wn59sfxwh2k4f609w56n6bmcgf54m0jk9rwc3vci5f8ad1")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-anyhow" ,rust-anyhow-1) + ("rust-serde" ,rust-serde-1) + ("rust-serde-yaml" ,rust-serde-yaml-0.8) + ("rust-textwrap" ,rust-textwrap-0.15) + ("rust-thiserror" ,rust-thiserror-1)))) + (home-page "https://gitlab.com/larswirzenius/roadmap") + (synopsis "Model a project roadmap as a directed acyclic graph") + (description "Model a project roadmap as a directed acyclic graph.") + (license license:expat-0))) + (define-public rust-rocket-0.4 (package (name "rust-rocket") @@ -50662,6 +54570,27 @@ and speed.") responses, and headers for the Rocket web framework.") (license (list license:expat license:asl2.0)))) +(define-public rust-roff-0.2 + (package + (name "rust-roff") + (version "0.2.1") + (source (origin + (method url-fetch) + (uri (crate-uri "roff" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "05j324x84xkgp848smhnknnlpl70833xb9lalqg4n2ga6k8dhcxq")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-development-inputs + (("rust-duct" ,rust-duct-0.13) + ("rust-pretty-assertions" ,rust-pretty-assertions-1)))) + (home-page "https://github.com/rust-cli/roff-rs") + (synopsis "ROFF (man page format) generation library") + (description "ROFF (man page format) generation library.") + (license (list license:expat license:asl2.0)))) + (define-public rust-romio-0.3 (package (name "rust-romio") @@ -50847,8 +54776,57 @@ can handle huge texts and memory-incoherent edits with ease.") "This package provides a library for generic lossless syntax trees.") (license (list license:expat license:asl2.0)))) +(define-public rust-rsa-0.9 + (package + (name "rust-rsa") + (version "0.9.2") + (source (origin + (method url-fetch) + (uri (crate-uri "rsa" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1a762gzj9xl14n8gmclsz8kcwp958nd1k05nnhqsdh93gns3pd3a")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-byteorder" ,rust-byteorder-1) + ("rust-const-oid" ,rust-const-oid-0.9) + ("rust-digest" ,rust-digest-0.10) + ("rust-num-bigint-dig" ,rust-num-bigint-dig-0.8) + ("rust-num-integer" ,rust-num-integer-0.1) + ("rust-num-iter" ,rust-num-iter-0.1) + ("rust-num-traits" ,rust-num-traits-0.2) + ("rust-pkcs1" ,rust-pkcs1-0.7) + ("rust-pkcs8" ,rust-pkcs8-0.10) + ("rust-rand-core" ,rust-rand-core-0.6) + ("rust-serde" ,rust-serde-1) + ("rust-sha1" ,rust-sha1-0.10) + ("rust-sha2" ,rust-sha2-0.10) + ("rust-signature" ,rust-signature-2) + ("rust-spki" ,rust-spki-0.7) + ("rust-subtle" ,rust-subtle-2) + ("rust-zeroize" ,rust-zeroize-1)) + #:cargo-development-inputs + (("rust-base64ct" ,rust-base64ct-1) + ("rust-hex-literal" ,rust-hex-literal-0.4) + ("rust-proptest" ,rust-proptest-1) + ("rust-rand" ,rust-rand-0.8) + ("rust-rand-chacha" ,rust-rand-chacha-0.3) + ("rust-rand-core" ,rust-rand-core-0.6) + ("rust-rand-xorshift" ,rust-rand-xorshift-0.3) + ("rust-serde-test" ,rust-serde-test-1) + ("rust-sha1" ,rust-sha1-0.10) + ("rust-sha2" ,rust-sha2-0.10) + ("rust-sha3" ,rust-sha3-0.10)))) + (home-page "https://github.com/RustCrypto/RSA") + (synopsis "Pure Rust RSA implementation") + (description "This package provides a pure Rust RSA implementation.") + (license (list license:expat license:asl2.0)))) + (define-public rust-rsa-0.5 (package + (inherit rust-rsa-0.9) (name "rust-rsa") (version "0.5.0") (source @@ -50858,7 +54836,6 @@ can handle huge texts and memory-incoherent edits with ease.") (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 "039676a4mj0875phdi7vc0bd37hv84dh0dql6fmk8dl2w81jcp70")))) - (build-system cargo-build-system) (arguments `(#:cargo-inputs (("rust-byteorder" ,rust-byteorder-1) @@ -50889,11 +54866,7 @@ can handle huge texts and memory-incoherent edits with ease.") (lambda _ (substitute* "Cargo.toml" - (("version = \">=1, <1.5\"") "version = \"^1\""))))))) - (home-page "https://github.com/RustCrypto/RSA") - (synopsis "Pure Rust RSA implementation") - (description "This package provides a pure Rust RSA implementation.") - (license (list license:expat license:asl2.0)))) + (("version = \">=1, <1.5\"") "version = \"^1\""))))))))) (define-public rust-rspec-1 (package @@ -51173,28 +55146,64 @@ scenario you want to test.") floating-point, and complex numbers based on GMP, MPFR and MPC.") (license license:lgpl3+))) +(define-public rust-rpassword-7 + (package + (name "rust-rpassword") + (version "7.2.0") + (source (origin + (method url-fetch) + (uri (crate-uri "rpassword" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "08l3jbjwpsj6awm4lacm2bcj3cn9jhy4j6q21n68k49lmdiwyy36")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-libc" ,rust-libc-0.2) + ("rust-rtoolbox" ,rust-rtoolbox-0.0.1) + ("rust-winapi" ,rust-winapi-0.3)))) + (home-page "https://github.com/conradkleinespel/rpassword") + (synopsis "Read passwords in Rust console applications") + (description "This package provides a crate for reading passwords in +console applications.") + (license license:asl2.0))) + +(define-public rust-rpassword-6 + (package + (inherit rust-rpassword-7) + (name "rust-rpassword") + (version "6.0.1") + (source (origin + (method url-fetch) + (uri (crate-uri "rpassword" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0mnrpxvai78mn9wqkqx8wp1gd280jjhn29ixd1dm84l6i2hrkw1b")))) + (arguments + `(#:cargo-inputs + (("rust-libc" ,rust-libc-0.2) + ("rust-serde" ,rust-serde-1) + ("rust-serde-json" ,rust-serde-json-1) + ("rust-winapi" ,rust-winapi-0.3)))))) + (define-public rust-rpassword-5 (package + (inherit rust-rpassword-6) (name "rust-rpassword") - (version "5.0.0") + (version "5.0.1") (source (origin (method url-fetch) (uri (crate-uri "rpassword" version)) (file-name (string-append name "-" version ".tar.gz")) (sha256 - (base32 "1j96nc3dmqhxwb4ql50r5xjs0imwr2x6mrj02mj9i7grq1zj6mfp")))) - (build-system cargo-build-system) + (base32 "1yry1kmgjcb4qd5wak91203493x42ak3dz9hy1c0r9kyib7kdjgz")))) (arguments - `(#:skip-build? #t - #:cargo-inputs + `(#:cargo-inputs (("rust-libc" ,rust-libc-0.2) - ("rust-winapi" ,rust-winapi-0.3)))) - (home-page "https://github.com/conradkleinespel/rpassword") - (synopsis "Read passwords in Rust console applications") - (description "This package provides a crate for reading passwords in -console applications.") - (license license:asl2.0))) + ("rust-winapi" ,rust-winapi-0.3)))))) (define-public rust-rpassword-4 (package @@ -51314,8 +55323,49 @@ please consider using @code{async-std} or @code{tokio}.") (description "This package provides traits to implement custom Runtimes.") (license (list license:expat license:asl2.0)))) +(define-public rust-rusqlite-0.29 + (package + (name "rust-rusqlite") + (version "0.29.0") + (source (origin + (method url-fetch) + (uri (crate-uri "rusqlite" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1wj12rmwa8g0bfhsk307fl84k0xcw8ji872xx3k447apdl1rv6sl")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-bitflags" ,rust-bitflags-2) + ("rust-chrono" ,rust-chrono-0.4) + ("rust-csv" ,rust-csv-1) + ("rust-fallible-iterator" ,rust-fallible-iterator-0.2) + ("rust-fallible-streaming-iterator" ,rust-fallible-streaming-iterator-0.1) + ("rust-hashlink" ,rust-hashlink-0.8) + ("rust-libsqlite3-sys" ,rust-libsqlite3-sys-0.26) + ("rust-serde-json" ,rust-serde-json-1) + ("rust-smallvec" ,rust-smallvec-1) + ("rust-time" ,rust-time-0.3) + ("rust-url" ,rust-url-2) + ("rust-uuid" ,rust-uuid-1)) + #:cargo-development-inputs + (("rust-bencher" ,rust-bencher-0.1) + ("rust-doc-comment" ,rust-doc-comment-0.3) + ("rust-lazy-static" ,rust-lazy-static-1) + ("rust-regex" ,rust-regex-1) + ("rust-tempfile" ,rust-tempfile-3) + ("rust-unicase" ,rust-unicase-2) + ("rust-uuid" ,rust-uuid-1)))) + (inputs (list sqlite)) + (home-page "https://github.com/rusqlite/rusqlite") + (synopsis "Wrapper for SQLite") + (description "This crate provides a wrapper for SQLite.") + (license license:expat))) + (define-public rust-rusqlite-0.26 (package + (inherit rust-rusqlite-0.29) (name "rust-rusqlite") (version "0.26.1") (source @@ -51325,7 +55375,6 @@ please consider using @code{async-std} or @code{tokio}.") (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 "19sh4nnw1i7a6wacqllz20qpqpdj96jsg3dzaq61cwmd3ywv10la")))) - (build-system cargo-build-system) (arguments `(#:skip-build? #t #:cargo-inputs @@ -51344,11 +55393,7 @@ please consider using @code{async-std} or @code{tokio}.") ("rust-smallvec" ,rust-smallvec-1) ("rust-time" ,rust-time-0.3) ("rust-url" ,rust-url-2) - ("rust-uuid" ,rust-uuid-0.8)))) - (home-page "https://github.com/rusqlite/rusqlite") - (synopsis "Wrapper for SQLite") - (description "This crate provides a wrapper for SQLite.") - (license license:expat))) + ("rust-uuid" ,rust-uuid-0.8)))))) (define-public rust-rust-htslib-0.38 (package @@ -51479,7 +55524,7 @@ hashing function.") (define-public rust-rust-decimal-1 (package (name "rust-rust-decimal") - (version "1.14.3") + (version "1.17.0") (source (origin (method url-fetch) @@ -51488,7 +55533,7 @@ hashing function.") (string-append name "-" version ".tar.gz")) (sha256 (base32 - "10k58hf367626d4akl7ifyk5qwqphfs5x6z1yay22pkyc6w7q4h1")))) + "1s3k05vpq9ba8mj1wx1fj52kdbq1n8y88zvkrbf0wh0zdbwpadrm")))) (build-system cargo-build-system) (arguments `(#:tests? #f ; not all test files included. @@ -51506,6 +55551,7 @@ hashing function.") #:cargo-development-inputs (("rust-bincode" ,rust-bincode-1) ("rust-bytes" ,rust-bytes-1) + ("rust-criterion" ,rust-criterion-0.3) ("rust-csv" ,rust-csv-1) ("rust-futures" ,rust-futures-0.3) ("rust-serde-derive" ,rust-serde-derive-1) @@ -51518,27 +55564,6 @@ hashing function.") suitable for financial calculations.") (license license:expat))) -(define-public rust-rust-decimal-0.10 - (package - (inherit rust-rust-decimal-1) - (name "rust-rust-decimal") - (version "0.10.2") - (source - (origin - (method url-fetch) - (uri (crate-uri "rust_decimal" version)) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 "1h80xz88f07ifb4i0mfh9j9p67afiy4xm6xswkk9gnf1spirag59")))) - (arguments - `(#:skip-build? #t - #:cargo-inputs - (("rust-byteorder" ,rust-byteorder-1) - ("rust-lazy-static" ,rust-lazy-static-1) - ("rust-num" ,rust-num-0.2) - ("rust-postgres" ,rust-postgres-0.15) - ("rust-serde" ,rust-serde-1)))))) - (define-public rust-rust-embed-5 (package (name "rust-rust-embed") @@ -51643,6 +55668,23 @@ the file-system during development.") "This package provides a library for parsing @file{.eml} files.") (license license:asl2.0))) +(define-public rust-equivalent-1 + (package + (name "rust-equivalent") + (version "1.0.1") + (source (origin + (method url-fetch) + (uri (crate-uri "equivalent" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1malmx5f4lkfvqasz319lq6gb3ddg19yzf9s8cykfsgzdmyq0hsl")))) + (build-system cargo-build-system) + (home-page "https://github.com/cuviper/equivalent") + (synopsis "Traits for key comparison in maps") + (description "Traits for key comparison in maps.") + (license (list license:asl2.0 license:expat)))) + (define-public rust-rust-hawktracer-0.7 (package (name "rust-rust-hawktracer") @@ -51813,57 +55855,6 @@ the file-system during development.") library.") (license license:expat))) -(define-public rust-rustc-ap-graphviz-654 - (package - (name "rust-rustc-ap-graphviz") - (version "654.0.0") - (source - (origin - (method url-fetch) - (uri (crate-uri "rustc-ap-graphviz" version)) - (file-name - (string-append name "-" version ".tar.gz")) - (sha256 - (base32 - "1z8rs3k9zcd1i2clrnzgvfaq1q05m02wjcyy3d9zk9qln03vp43l")))) - (build-system cargo-build-system) - (home-page "https://github.com/alexcrichton/rustc-auto-publish") - (synopsis - "Automatically published versions of the graphviz crate used in rustc") - (description - "Use the graphviz library used in the Rust compiler with this crate. -It is automatically published using the compiler repository at -@url{https://www.github.com/rust-lang/rust}") - (license (list license:expat license:asl2.0)))) - -(define-public rust-rustc-ap-rustc-index-654 - (package - (name "rust-rustc-ap-rustc-index") - (version "654.0.0") - (source - (origin - (method url-fetch) - (uri (crate-uri "rustc-ap-rustc_index" version)) - (file-name - (string-append name "-" version ".tar.gz")) - (sha256 - (base32 - "0qqnvdn3zbwrn884ziw0nrmi1wqmr9yp8js7whw6y8nzdhz0q8ij")))) - (build-system cargo-build-system) - (arguments - `(#:skip-build? #t - #:cargo-inputs - (("rust-rustc-ap-serialize" ,rust-rustc-ap-serialize-654) - ("rust-smallvec" ,rust-smallvec-1)))) - (home-page "https://github.com/alexcrichton/rustc-auto-publish") - (synopsis - "Automatically published version of the types of indexes in rustc") - (description - "Use the types of index used in the Rust compiler with this crate. -It is automatically published using the compiler repository at -@url{https://www.github.com/rust-lang/rust}") - (license (list license:expat license:asl2.0)))) - (define-public rust-rustc-ap-rustc-lexer-725 (package (name "rust-rustc-ap-rustc-lexer") @@ -51892,34 +55883,6 @@ It is automatically published using the compiler repository at @url{https://www.github.com/rust-lang/rust}.") (license (list license:expat license:asl2.0)))) -(define-public rust-rustc-ap-serialize-654 - (package - (name "rust-rustc-ap-serialize") - (version "654.0.0") - (source - (origin - (method url-fetch) - (uri (crate-uri "rustc-ap-serialize" version)) - (file-name - (string-append name "-" version ".tar.gz")) - (sha256 - (base32 - "1vwfa3q4f9k0nfryr53jnwmf8vhaq7ijbgw8449nx467dr98yvkm")))) - (build-system cargo-build-system) - (arguments - `(#:skip-build? #t - #:cargo-inputs - (("rust-indexmap" ,rust-indexmap-1) - ("rust-smallvec" ,rust-smallvec-1)))) - (home-page "https://github.com/alexcrichton/rustc-auto-publish") - (synopsis - "Automatically published versions of the serialize crate used in rustc") - (description - "Use the serialize library used in the Rust compiler with this crate. -It is automatically published using the compiler repository at -@url{https://www.github.com/rust-lang/rust}") - (license (list license:expat license:asl2.0)))) - (define-public rust-rustc-demangle-0.1 (package (name "rust-rustc-demangle") @@ -51985,30 +55948,27 @@ It is automatically published using the compiler repository at hex conversion traits.") (license (list license:expat license:asl2.0)))) -(define-public rust-rustc-rayon-0.4 +(define-public rust-rustc-rayon-0.5 (package (name "rust-rustc-rayon") - (version "0.4.0") + (version "0.5.0") (source (origin (method url-fetch) (uri (crate-uri "rustc-rayon" version)) (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "0ykjr1i56jmi8ykkcr7x555wnxki1vsi703mz6n2x7k0naqg0y8s")))) + "040p2am25g3isnpsixrcrjrv70yz2lzkbq8gpv76xjipi3fam0gb")))) (build-system cargo-build-system) (arguments - `(#:tests? #f ;XXX can not find rayon? - #:cargo-inputs - (("rust-autocfg" ,rust-autocfg-1) - ("rust-crossbeam-deque" ,rust-crossbeam-deque-0.7) - ("rust-either" ,rust-either-1) - ("rust-rustc-rayon-core" ,rust-rustc-rayon-core-0.4)) + `(#:cargo-inputs + (("rust-either" ,rust-either-1) + ("rust-rustc-rayon-core" ,rust-rustc-rayon-core-0.5)) #:cargo-development-inputs - (("rust-docopt" ,rust-docopt-1)))) + (("rust-rand" ,rust-rand-0.8) + ("rust-rand-xorshift" ,rust-rand-xorshift-0.3)))) (home-page "https://github.com/rust-lang/rustc-rayon") - (synopsis - "Simple work-stealing parallelism for Rust - fork for rustc") + (synopsis "Simple work-stealing parallelism for Rust - fork for rustc") (description "Rustc-rayon is a fork of the Rayon crate. It adds a few \"in progress\" features that rustc is using, mostly around deadlock detection. These features @@ -52017,25 +55977,51 @@ way into rayon proper at some point. In general, if you are not rustc, you should be using the real rayon crate, not rustc-rayon.") (license (list license:asl2.0 license:expat)))) -(define-public rust-rustc-rayon-core-0.4 +(define-public rust-rustc-rayon-0.4 + (package + (inherit rust-rustc-rayon-0.5) + (name "rust-rustc-rayon") + (version "0.4.0") + (source (origin + (method url-fetch) + (uri (crate-uri "rustc-rayon" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0ykjr1i56jmi8ykkcr7x555wnxki1vsi703mz6n2x7k0naqg0y8s")))) + (arguments + `(#:tests? #f ;XXX can not find rayon? + #:cargo-inputs + (("rust-autocfg" ,rust-autocfg-1) + ("rust-crossbeam-deque" ,rust-crossbeam-deque-0.7) + ("rust-either" ,rust-either-1) + ("rust-rustc-rayon-core" ,rust-rustc-rayon-core-0.4)) + #:cargo-development-inputs + (("rust-docopt" ,rust-docopt-1)))))) + +(define-public rust-rustc-rayon-core-0.5 (package (name "rust-rustc-rayon-core") - (version "0.4.1") + (version "0.5.0") (source (origin (method url-fetch) (uri (crate-uri "rustc-rayon-core" version)) (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "0c4cf58056ya3282c24bnyq39cwm1rd1m96lymfbb6yvl12929h2")))) + "0zqbr87x58j2g9rgm2lc0254b6yqabb41jvddw99qd8fy2m8srk7")))) (build-system cargo-build-system) (arguments - `(#:tests? #f ;XXX cannot find rayon_core? - #:cargo-inputs + `(#:cargo-inputs (("rust-crossbeam-channel" ,rust-crossbeam-channel-0.5) ("rust-crossbeam-deque" ,rust-crossbeam-deque-0.8) ("rust-crossbeam-utils" ,rust-crossbeam-utils-0.8) - ("rust-num-cpus" ,rust-num-cpus-1)))) + ("rust-num-cpus" ,rust-num-cpus-1)) + #:cargo-development-inputs + (("rust-libc" ,rust-libc-0.2) + ("rust-rand" ,rust-rand-0.8) + ("rust-rand-xorshift" ,rust-rand-xorshift-0.3) + ("rust-scoped-tls" ,rust-scoped-tls-1)))) (home-page "https://github.com/rust-lang/rustc-rayon") (synopsis "Core APIs for Rayon - fork for rustc") (description @@ -52045,33 +56031,25 @@ Rayon-core represents the \"core, stable\" APIs of Rayon: join, scope, and so forth, as well as the ability to create custom thread-pools with ThreadPool.") (license (list license:asl2.0 license:expat)))) -(define-public rust-rustc-rayon-core-0.3 +(define-public rust-rustc-rayon-core-0.4 (package - (inherit rust-rustc-rayon-core-0.4) + (inherit rust-rustc-rayon-core-0.5) (name "rust-rustc-rayon-core") - (version "0.3.0") - (source - (origin - (method url-fetch) - (uri (crate-uri "rustc-rayon-core" version)) - (file-name - (string-append name "-" version ".tar.gz")) - (sha256 - (base32 - "1cwc50mcclzfmhmi87953fjk6cc9ppmchn9mlwzfllq03y1jf97a")))) + (version "0.4.1") + (source (origin + (method url-fetch) + (uri (crate-uri "rustc-rayon-core" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0c4cf58056ya3282c24bnyq39cwm1rd1m96lymfbb6yvl12929h2")))) (arguments - `(#:tests? #f + `(#:tests? #f ;XXX cannot find rayon_core? #:cargo-inputs - (("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-lazy-static" ,rust-lazy-static-1) - ("rust-num-cpus" ,rust-num-cpus-1)) - #:cargo-development-inputs - (("rust-libc" ,rust-libc-0.2) - ("rust-rand" ,rust-rand-0.6) - ("rust-rand-xorshift" ,rust-rand-xorshift-0.1) - ("rust-scoped-tls" ,rust-scoped-tls-1)))))) + (("rust-crossbeam-channel" ,rust-crossbeam-channel-0.5) + ("rust-crossbeam-deque" ,rust-crossbeam-deque-0.8) + ("rust-crossbeam-utils" ,rust-crossbeam-utils-0.8) + ("rust-num-cpus" ,rust-num-cpus-1)))))) (define-public rust-rustc-serialize-0.3 (package @@ -52376,41 +56354,42 @@ rustc compiler.") `(("rust-failure" ,rust-failure-0.1) ,@(alist-delete "rust-anyhow" cargo-inputs))))))) -(define-public rust-rustix-0.36 +(define-public rust-rustix-0.37 (package (name "rust-rustix") - (version "0.36.4") + (version "0.37.19") (source (origin (method url-fetch) (uri (crate-uri "rustix" version)) (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "08vwnvf76nkgb2bbxf8cn51c43x6sc9k462khrwbb2z0g19fi4yb")))) + "0gb12rp992bh2h5msqcbpdsx6h1gslsb0zpp5hdnyxj2hnfp5y5c")))) (build-system cargo-build-system) (arguments - `(#:cargo-development-inputs - (("rust-criterion" ,rust-criterion-0.4) - ("rust-ctor" ,rust-ctor-0.1) - ("rust-errno" ,rust-errno-0.2) - ("rust-flate2" ,rust-flate2-1) - ("rust-io-lifetimes" ,rust-io-lifetimes-1) - ("rust-libc" ,rust-libc-0.2) - ("rust-memoffset" ,rust-memoffset-0.7) - ("rust-serial-test" ,rust-serial-test-0.6)) - #:cargo-inputs + `(#:cargo-inputs (("rust-bitflags" ,rust-bitflags-1) ("rust-cc" ,rust-cc-1) ("rust-compiler-builtins" ,rust-compiler-builtins-0.1) - ("rust-errno" ,rust-errno-0.2) + ("rust-errno" ,rust-errno-0.3) ("rust-io-lifetimes" ,rust-io-lifetimes-1) ("rust-itoa" ,rust-itoa-1) ("rust-libc" ,rust-libc-0.2) - ("rust-linux-raw-sys" ,rust-linux-raw-sys-0.1) + ("rust-linux-raw-sys" ,rust-linux-raw-sys-0.3) ("rust-once-cell" ,rust-once-cell-1) ("rust-rustc-std-workspace-alloc" ,rust-rustc-std-workspace-alloc-1) ("rust-rustc-std-workspace-core" ,rust-rustc-std-workspace-core-1) - ("rust-windows-sys" ,rust-windows-sys-0.42)))) + ("rust-windows-sys" ,rust-windows-sys-0.48)) + #:cargo-development-inputs + (("rust-criterion" ,rust-criterion-0.4) + ("rust-ctor" ,rust-ctor-0.2) + ("rust-errno" ,rust-errno-0.3) + ("rust-flate2" ,rust-flate2-1) + ("rust-io-lifetimes" ,rust-io-lifetimes-1) + ("rust-libc" ,rust-libc-0.2) + ("rust-memoffset" ,rust-memoffset-0.8) + ("rust-serial-test" ,rust-serial-test-0.6) + ("rust-tempfile" ,rust-tempfile-3)))) (home-page "https://github.com/bytecodealliance/rustix") (synopsis "Safe Rust bindings to POSIX syscalls") (description @@ -52418,6 +56397,43 @@ rustc compiler.") ;; Apache 2.0, Apache 2.0 with LLVM exception, or Expat. (license (list license:asl2.0 license:expat)))) +(define-public rust-rustix-0.36 + (package + (inherit rust-rustix-0.37) + (name "rust-rustix") + (version "0.36.13") + (source (origin + (method url-fetch) + (uri (crate-uri "rustix" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0n6ng6kdcz65ax5s17xavkjqs5a6gwcp9acc9r8blfp91d9gjf1s")))) + (arguments + `(#:cargo-inputs + (("rust-bitflags" ,rust-bitflags-1) + ("rust-cc" ,rust-cc-1) + ("rust-compiler-builtins" ,rust-compiler-builtins-0.1) + ("rust-errno" ,rust-errno-0.3) + ("rust-io-lifetimes" ,rust-io-lifetimes-1) + ("rust-itoa" ,rust-itoa-1) + ("rust-libc" ,rust-libc-0.2) + ("rust-linux-raw-sys" ,rust-linux-raw-sys-0.1) + ("rust-once-cell" ,rust-once-cell-1) + ("rust-rustc-std-workspace-alloc" ,rust-rustc-std-workspace-alloc-1) + ("rust-rustc-std-workspace-core" ,rust-rustc-std-workspace-core-1) + ("rust-windows-sys" ,rust-windows-sys-0.45)) + #:cargo-development-inputs + (("rust-criterion" ,rust-criterion-0.4) + ("rust-ctor" ,rust-ctor-0.1) + ("rust-errno" ,rust-errno-0.3) + ("rust-flate2" ,rust-flate2-1) + ("rust-io-lifetimes" ,rust-io-lifetimes-1) + ("rust-libc" ,rust-libc-0.2) + ("rust-memoffset" ,rust-memoffset-0.7) + ("rust-serial-test" ,rust-serial-test-0.6) + ("rust-tempfile" ,rust-tempfile-3)))))) + (define-public rust-rustix-0.35 (package (inherit rust-rustix-0.36) @@ -52456,19 +56472,51 @@ rustc compiler.") ("rust-serial-test" ,rust-serial-test-0.6) ("rust-tempfile" ,rust-tempfile-3)))))) +(define-public rust-rustls-0.21 + (package + (name "rust-rustls") + (version "0.21.6") + (source (origin + (method url-fetch) + (uri (crate-uri "rustls" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1fvc3n5h6354yi2yxrvq7yfdak0y6jga5sbcbhzv7h7wzkgys7qx")))) + (build-system cargo-build-system) + (arguments + `(#:tests? #f ; Not all files included. + #:cargo-inputs + (("rust-log" ,rust-log-0.4) + ("rust-ring" ,rust-ring-0.16) + ("rust-rustls-webpki" ,rust-rustls-webpki-0.101) + ("rust-rustversion" ,rust-rustversion-1) + ("rust-sct" ,rust-sct-0.7)) + #:cargo-development-inputs + (("rust-base64" ,rust-base64-0.21) + ("rust-bencher" ,rust-bencher-0.1) + ("rust-env-logger" ,rust-env-logger-0.10) + ("rust-log" ,rust-log-0.4) + ("rust-rustls-pemfile" ,rust-rustls-pemfile-1) + ("rust-webpki-roots" ,rust-webpki-roots-0.25)))) + (native-inputs (list perl)) + (home-page "https://github.com/rustls/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.20 (package + (inherit rust-rustls-0.21) (name "rust-rustls") (version "0.20.8") - (source - (origin - (method url-fetch) - (uri (crate-uri "rustls" version)) - (file-name - (string-append name "-" version ".tar.gz")) - (sha256 - (base32 "0bqfymq5bjs1jxg1iw2nn4ab3kzz2lrk8a1vx3s98lhp9p3qzxzz")))) - (build-system cargo-build-system) + (source (origin + (method url-fetch) + (uri (crate-uri "rustls" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "0bqfymq5bjs1jxg1iw2nn4ab3kzz2lrk8a1vx3s98lhp9p3qzxzz")))) (arguments `(#:tests? #f ; Not all files included. #:cargo-inputs @@ -52483,14 +56531,7 @@ rustc compiler.") ("rust-env-logger" ,rust-env-logger-0.9) ("rust-log" ,rust-log-0.4) ("rust-rustls-pemfile" ,rust-rustls-pemfile-1) - ("rust-webpki-roots" ,rust-webpki-roots-0.22)))) - (native-inputs (list perl)) - (home-page "https://github.com/rustls/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.22)))))) (define-public rust-rustls-0.19 (package @@ -52649,39 +56690,6 @@ rustc compiler.") ("rust-untrusted" ,rust-untrusted-0.6) ("rust-webpki" ,rust-webpki-0.18)))))) -(define-public rust-rustls-0.12 - (package - (inherit rust-rustls-0.16) - (name "rust-rustls") - (version "0.12.0") - (source - (origin - (method url-fetch) - (uri (crate-uri "rustls" version)) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 "1k8b8cc0pjkv5cxdgs43jif7nslzsxair9b2sifgvjag7a4f8wmb")))) - (build-system cargo-build-system) - (arguments - `(#:tests? #f ;; 1/45 tests fails due to some missing file - #:cargo-inputs - (("rust-base64" ,rust-base64-0.9) - ("rust-log" ,rust-log-0.4) - ("rust-ring" ,rust-ring-0.13) - ("rust-sct" ,rust-sct-0.3) - ("rust-untrusted" ,rust-untrusted-0.6) - ("rust-webpki" ,rust-webpki-0.18)) - #:cargo-development-inputs - (("rust-ct-logs" ,rust-ct-logs-0.3) - ("rust-docopt" ,rust-docopt-0.8) - ("rust-env-logger" ,rust-env-logger-0.4) - ("rust-log" ,rust-log-0.4) - ("rust-mio" ,rust-mio-0.6) - ("rust-regex" ,rust-regex-0.2) - ("rust-serde" ,rust-serde-1) - ("rust-serde-derive" ,rust-serde-derive-1) - ("rust-webpki-roots" ,rust-webpki-roots-0.14)))))) - (define-public rust-rustls-ffi-0.8 (package (name "rust-rustls-ffi") @@ -52796,14 +56804,14 @@ native certificate store.") (define-public rust-rustls-pemfile-1 (package (name "rust-rustls-pemfile") - (version "1.0.2") + (version "1.0.3") (source (origin (method url-fetch) (uri (crate-uri "rustls-pemfile" version)) (file-name (string-append name "-" version ".tar.gz")) (sha256 - (base32 "16x5jhja8z0j5hcrlaqqz5qnyg9qgv8qqffwbdil6fl0b1nvb56i")))) + (base32 "1cplx6hgkr32nq31p3613b2sj7csrrq3zp6znx9vc1qx9c4qff9d")))) (build-system cargo-build-system) (arguments `(#:cargo-inputs @@ -52834,6 +56842,56 @@ PEM-encodings commonly used to store keys and certificates at rest.") #:cargo-development-inputs (("rust-criterion" ,rust-criterion-0.3)))))) +(define-public rust-rustls-webpki-0.101 + (package + (name "rust-rustls-webpki") + (version "0.101.2") + (source (origin + (method url-fetch) + (uri (crate-uri "rustls-webpki" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0ngs6y42k47jr14kka9w92hwyjsq3gm0j45nf8gsg05dfgyj4dsi")))) + (build-system cargo-build-system) + (arguments + `(#:tests? #f ; Not all files included. + #:cargo-inputs + (("rust-ring" ,rust-ring-0.16) + ("rust-untrusted" ,rust-untrusted-0.7)) + #:cargo-development-inputs + (("rust-base64" ,rust-base64-0.21) + ("rust-bencher" ,rust-bencher-0.1) + ("rust-once-cell" ,rust-once-cell-1) + ("rust-rcgen" ,rust-rcgen-0.11) + ("rust-serde" ,rust-serde-1) + ("rust-serde-json" ,rust-serde-json-1)))) + (native-inputs + (list perl)) + (home-page "https://github.com/rustls/webpki") + (synopsis "Web PKI X.509 Certificate Verification") + (description "Web PKI X.509 Certificate Verification.") + (license license:isc))) + +(define-public rust-rustls-webpki-0.100 + (package + (inherit rust-rustls-webpki-0.101) + (name "rust-rustls-webpki") + (version "0.100.1") + (source (origin + (method url-fetch) + (uri (crate-uri "rustls-webpki" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0sxlgpcczd1wihmnbgv5qz00jim32dap5wzq2rwcm39xxpapq86n")))) + (arguments + `(#:tests? #f ; Not all files included. + #:cargo-inputs + (("rust-ring" ,rust-ring-0.16) + ("rust-untrusted" ,rust-untrusted-0.7)) + #:cargo-development-inputs (("rust-base64" ,rust-base64-0.13)))))) + (define-public rust-rusttype-0.9 (package (name "rust-rusttype") @@ -52923,7 +56981,7 @@ font rendering.") (define-public rust-rustversion-1 (package (name "rust-rustversion") - (version "1.0.9") + (version "1.0.13") (source (origin (method url-fetch) @@ -52932,7 +56990,7 @@ font rendering.") (string-append name "-" version ".tar.gz")) (sha256 (base32 - "1a6nlrrnfbacn5pzg3m3311anhngcxs8kbvsbynh71ngni47wiwp")))) + "0pxx0mxigrvzsbpkw54wjyx4jfm85bcss60dcpwk2b53c6dvscfw")))) (build-system cargo-build-system) (arguments `(#:cargo-development-inputs @@ -53151,36 +57209,6 @@ sub-processes using a fork-like interface.") ("rust-rustyline-derive" ,rust-rustyline-derive-0.3) ("rust-tempfile" ,rust-tempfile-3)))))) -(define-public rust-rustyline-5 - (package - (inherit rust-rustyline-6) - (name "rust-rustyline") - (version "5.0.6") - (source - (origin - (method url-fetch) - (uri (crate-uri "rustyline" version)) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 "0dd6hwm3rqj8d17gf38ffs1lh3b8dqw45j5kxnvazmm80abv2g52")))) - (arguments - `(#:cargo-inputs - (("rust-cfg-if" ,rust-cfg-if-0.1) - ("rust-dirs" ,rust-dirs-2) - ("rust-libc" ,rust-libc-0.2) - ("rust-log" ,rust-log-0.4) - ("rust-memchr" ,rust-memchr-2) - ("rust-nix" ,rust-nix-0.14) - ("rust-unicode-segmentation" ,rust-unicode-segmentation-1) - ("rust-unicode-width" ,rust-unicode-width-0.1) - ("rust-utf8parse" ,rust-utf8parse-0.1) - ("rust-winapi" ,rust-winapi-0.3)) - #:cargo-development-inputs - (("rust-assert-matches" ,rust-assert-matches-1) - ("rust-env-logger" ,rust-env-logger-0.7) - ("rust-rustyline-derive" ,rust-rustyline-derive-0.2) - ("rust-tempdir" ,rust-tempdir-0.3)))))) - (define-public rust-rustyline-derive-0.3 (package (name "rust-rustyline-derive") @@ -53204,32 +57232,17 @@ sub-processes using a fork-like interface.") (description "This package provides Rustyline macros implementation in Rust.") (license license:expat))) -(define-public rust-rustyline-derive-0.2 - (package - (inherit rust-rustyline-derive-0.3) - (name "rust-rustyline-derive") - (version "0.2.0") - (source - (origin - (method url-fetch) - (uri (crate-uri "rustyline-derive" version)) - (file-name - (string-append name "-" version ".tar.gz")) - (sha256 - (base32 - "1n3iw9kaq70dw1rvvma0gjwydbj0f2mvvqvrva69f5cl6yv1dnd0")))))) - (define-public rust-rkyv-0.7 (package (name "rust-rkyv") - (version "0.7.40") + (version "0.7.42") (source (origin (method url-fetch) (uri (crate-uri "rkyv" version)) (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "1hsd81bkm1rvh3kl66fhnadji4h88w2pgf0yrp4cnqdav52is3y3")))) + "0n2wzwnghkr2ny16c08f5szbkljfqrp3s8fnnb096f011ciwh002")))) (build-system cargo-build-system) (arguments `(#:cargo-inputs @@ -53275,14 +57288,14 @@ sub-processes using a fork-like interface.") (define-public rust-rkyv-derive-0.7 (package (name "rust-rkyv-derive") - (version "0.7.39") + (version "0.7.42") (source (origin (method url-fetch) (uri (crate-uri "rkyv_derive" version)) (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "1i1lmir3lm8zj8k1an7j2rchv1admqhysh6r6bfkcgmmi3fdmbkf")))) + "07alynj16yqlyprlwqd8av157rrywvid2dm7swbhl8swbf8npq5j")))) (build-system cargo-build-system) (arguments `(#:cargo-inputs (("rust-proc-macro2" ,rust-proc-macro2-1) @@ -53414,8 +57427,33 @@ quickly convert floating point numbers to decimal strings.") "This package provides a procedural macros for the salsa crate.") (license (list license:asl2.0 license:expat)))) +(define-public rust-salsa20-0.10 + (package + (name "rust-salsa20") + (version "0.10.2") + (source (origin + (method url-fetch) + (uri (crate-uri "salsa20" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "04w211x17xzny53f83p8f7cj7k2hi8zck282q5aajwqzydd2z8lp")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-cipher" ,rust-cipher-0.4)) + #:cargo-development-inputs + (("rust-cipher" ,rust-cipher-0.4) + ("rust-hex-literal" ,rust-hex-literal-0.3)))) + (home-page "https://github.com/RustCrypto/stream-ciphers") + (synopsis "Salsa20 Stream Cipher") + (description "Salsa20 is a collection of stream cipher algorithms written +in pure Rust.") + (license (list license:expat license:asl2.0)))) + (define-public rust-salsa20-0.9 (package + (inherit rust-salsa20-0.10) (name "rust-salsa20") (version "0.9.0") (source @@ -53425,17 +57463,11 @@ quickly convert floating point numbers to decimal strings.") (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 "11i646kpgimimqiq8hyi0b7ngp588f7nl9xsc317d9kdcxgvn3qc")))) - (build-system cargo-build-system) (arguments `(#:skip-build? #t #:cargo-inputs (("rust-cipher" ,rust-cipher-0.3) - ("rust-zeroize" ,rust-zeroize-1)))) - (home-page "https://github.com/RustCrypto/stream-ciphers") - (synopsis "Salsa20 Stream Cipher") - (description "Salsa20 is a collection of stream cipher algorithms written -in pure Rust.") - (license (list license:expat license:asl2.0)))) + ("rust-zeroize" ,rust-zeroize-1)))))) (define-public rust-salsa-0.17 (package @@ -54033,8 +58065,59 @@ shareable by multiple crates in a build graph and erased by @code{cargo clean}.") (license (list license:expat license:asl2.0)))) +(define-public rust-scrypt-0.11 + (package + (name "rust-scrypt") + (version "0.11.0") + (source (origin + (method url-fetch) + (uri (crate-uri "scrypt" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "07zxfaqpns9jn0mnxm7wj3ksqsinyfpirkav1f7kc2bchs2s65h5")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-password-hash" ,rust-password-hash-0.5) + ("rust-pbkdf2" ,rust-pbkdf2-0.12) + ("rust-salsa20" ,rust-salsa20-0.10) + ("rust-sha2" ,rust-sha2-0.10)) + #:cargo-development-inputs + (("rust-password-hash" ,rust-password-hash-0.5)))) + (home-page + "https://github.com/RustCrypto/password-hashes/tree/master/scrypt") + (synopsis "Scrypt password-based key derivation function") + (description + "This package provides a Scrypt password-based key derivation +function.") + (license (list license:expat license:asl2.0)))) + +(define-public rust-scrypt-0.10 + (package + (inherit rust-scrypt-0.11) + (name "rust-scrypt") + (version "0.10.0") + (source (origin + (method url-fetch) + (uri (crate-uri "scrypt" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0pglmppcl8mdzfxdv2x9dsjrwxhc1bm9zvxjibnlv59jnv9297lz")))) + (arguments + `(#:cargo-inputs + (("rust-hmac" ,rust-hmac-0.12) + ("rust-password-hash" ,rust-password-hash-0.4) + ("rust-pbkdf2" ,rust-pbkdf2-0.11) + ("rust-salsa20" ,rust-salsa20-0.10) + ("rust-sha2" ,rust-sha2-0.10)) + #:cargo-development-inputs + (("rust-password-hash" ,rust-password-hash-0.4)))))) + (define-public rust-scrypt-0.8 (package + (inherit rust-scrypt-0.11) (name "rust-scrypt") (version "0.8.1") (source @@ -54044,7 +58127,6 @@ clean}.") (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 "09fkz5sc7qx97dyi1nkv69z36diggd2c9mja33cxpsqicdy6sgg7")))) - (build-system cargo-build-system) (arguments `(#:skip-build? #t #:cargo-inputs @@ -54052,13 +58134,7 @@ clean}.") ("rust-password-hash" ,rust-password-hash-0.3) ("rust-pbkdf2" ,rust-pbkdf2-0.10) ("rust-salsa20" ,rust-salsa20-0.9) - ("rust-sha2" ,rust-sha2-0.10)))) - (home-page "https://github.com/RustCrypto/password-hashes") - (synopsis "Scrypt password-based key derivation function") - (description - "This package provides a Scrypt password-based key derivation -function.") - (license (list license:expat license:asl2.0)))) + ("rust-sha2" ,rust-sha2-0.10)))))) (define-public rust-scrypt-0.5 (package @@ -54108,8 +58184,34 @@ function.") ("rust-sha2" ,rust-sha2-0.9) ("rust-subtle" ,rust-subtle-2)))))) +(define-public rust-scroll-0.11 + (package + (name "rust-scroll") + (version "0.11.0") + (source (origin + (method url-fetch) + (uri (crate-uri "scroll" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1nhrhpzf95pxbcjjy222blwf8rl3adws6vsqax0yzyxsa6snbi84")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-scroll-derive" ,rust-scroll-derive-0.11)) + #:cargo-development-inputs + (("rust-byteorder" ,rust-byteorder-1) + ("rust-rayon" ,rust-rayon-1)))) + (home-page "https://github.com/m4b/scroll") + (synopsis "Endian-aware Read/Write traits for byte buffers") + (description + "This package provides a suite of powerful, extensible, generic, +endian-aware Read/Write traits for byte buffers.") + (license license:expat))) + (define-public rust-scroll-0.10 (package + (inherit rust-scroll-0.11) (name "rust-scroll") (version "0.10.2") (source @@ -54121,19 +58223,12 @@ function.") (sha256 (base32 "1v61drdig30qfx2xh8bn7qdk2xgqbmmhwyrznjl0gf1h915qv8px")))) - (build-system cargo-build-system) (arguments `(#:cargo-inputs (("rust-scroll-derive" ,rust-scroll-derive-0.10)) #:cargo-development-inputs (("rust-byteorder" ,rust-byteorder-1) - ("rust-rayon" ,rust-rayon-1)))) - (home-page "https://github.com/m4b/scroll") - (synopsis "Endian-aware Read/Write traits for byte buffers") - (description - "This package provides a suite of powerful, extensible, generic, -endian-aware Read/Write traits for byte buffers.") - (license license:expat))) + ("rust-rayon" ,rust-rayon-1)))))) (define-public rust-scroll-0.9 (package @@ -54164,8 +58259,34 @@ endian-aware Read/Write traits for byte buffers.") endian-aware Read/Write traits for byte buffers.") (license license:expat))) +(define-public rust-scroll-derive-0.11 + (package + (name "rust-scroll-derive") + (version "0.11.1") + (source (origin + (method url-fetch) + (uri (crate-uri "scroll-derive" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1bi5ljnzksvqhic6j7i2a2ap41s78xr0gifkgjxdxlj63pw4kc8x")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-proc-macro2" ,rust-proc-macro2-1) + ("rust-quote" ,rust-quote-1) + ("rust-syn" ,rust-syn-2)) + #:cargo-development-inputs (("rust-scroll" ,rust-scroll-0.11)))) + (home-page "https://github.com/m4b/scroll") + (synopsis "Pread and Pwrite traits from the scroll crate") + (description + "This package provides a macros 1.1 derive implementation for Pread and +Pwrite traits from the scroll crate.") + (license license:expat))) + (define-public rust-scroll-derive-0.10 (package + (inherit rust-scroll-derive-0.11) (name "rust-scroll-derive") (version "0.10.1") (source @@ -54177,19 +58298,12 @@ endian-aware Read/Write traits for byte buffers.") (sha256 (base32 "0a7f0xybi27p1njs4bqmxh9zyb2dqal4dbvgnhjjix4zkgm4wn7q")))) - (build-system cargo-build-system) (arguments `(#:skip-build? #t #:cargo-inputs (("rust-proc-macro2" ,rust-proc-macro2-1) ("rust-syn" ,rust-syn-1) - ("rust-quote" ,rust-quote-1)))) - (home-page "https://github.com/m4b/scroll") - (synopsis "Pread and Pwrite traits from the scroll crate") - (description - "This package provides a macros 1.1 derive implementation for Pread and -Pwrite traits from the scroll crate.") - (license license:expat))) + ("rust-quote" ,rust-quote-1)))))) (define-public rust-scroll-derive-0.9 (package @@ -54307,26 +58421,6 @@ Pwrite traits from the scroll crate.") (("rust-ring" ,rust-ring-0.13) ("rust-untrusted" ,rust-untrusted-0.6)))))) -(define-public rust-sct-0.3 - (package - (inherit rust-sct-0.6) - (name "rust-sct") - (version "0.3.0") - (source - (origin - (method url-fetch) - (uri (crate-uri "sct" version)) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 "0z090j3lvy0lqbhmpswm4vb2n4i8dqswy0l93abdx9biipnhlm5l")))) - (build-system cargo-build-system) - (arguments - `(#:cargo-inputs - (("rust-ring" ,rust-ring-0.13) - ("rust-untrusted" ,rust-untrusted-0.6)) - #:cargo-development-inputs - (("rust-cc" ,rust-cc-1)))))) - (define-public rust-sctk-adwaita-0.5 (package (name "rust-sctk-adwaita") @@ -54395,6 +58489,39 @@ proven statistical guarantees.") statistical guarantees.") (license license:expat))) +(define-public rust-sec1-0.7 + (package + (name "rust-sec1") + (version "0.7.2") + (source (origin + (method url-fetch) + (uri (crate-uri "sec1" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0vh4pvdfnghbjglh6k74vs93jj337jpli28bbyqr0srxh67c9bph")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-base16ct" ,rust-base16ct-0.2) + ("rust-der" ,rust-der-0.7) + ("rust-generic-array" ,rust-generic-array-0.14) + ("rust-pkcs8" ,rust-pkcs8-0.10) + ("rust-serdect" ,rust-serdect-0.2) + ("rust-subtle" ,rust-subtle-2) + ("rust-zeroize" ,rust-zeroize-1)) + #:cargo-development-inputs + (("rust-hex-literal" ,rust-hex-literal-0.3) + ("rust-tempfile" ,rust-tempfile-3)))) + (home-page "https://github.com/RustCrypto/formats/tree/master/sec1") + (synopsis + "Rust implementation of SEC1: Elliptic Curve Cryptography encoding formats") + (description + "This package procides a pure Rust implementation of SEC1: Elliptic Curve +Cryptography encoding formats including ASN.1 DER-serialized private keys as +well as the Elliptic-Curve-Point-to-Octet-String encoding.") + (license (list license:asl2.0 license:expat)))) + (define-public rust-seccomp-sys-0.1 (package (name "rust-seccomp-sys") @@ -54417,6 +58544,41 @@ statistical guarantees.") (description "This package provides low-level bindings to libseccomp.") (license license:lgpl2.1))) +(define-public rust-secret-service-3 + (package + (name "rust-secret-service") + (version "3.0.1") + (source (origin + (method url-fetch) + (uri (crate-uri "secret-service" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "15cddmlbbmahlzq9ib39i1yy7x83cvrxjxrgz0v3bh189nnsb8ax")))) + (build-system cargo-build-system) + (arguments + `(#:skip-build? #t ; Build needs to decide on a crypto backend. + #:cargo-inputs + (("rust-aes" ,rust-aes-0.7) + ("rust-block-modes" ,rust-block-modes-0.8) + ("rust-futures-util" ,rust-futures-util-0.3) + ("rust-generic-array" ,rust-generic-array-0.14) + ("rust-hkdf" ,rust-hkdf-0.12) + ("rust-num" ,rust-num-0.4) + ("rust-once-cell" ,rust-once-cell-1) + ("rust-openssl" ,rust-openssl-0.10) + ("rust-rand" ,rust-rand-0.8) + ("rust-serde" ,rust-serde-1) + ("rust-sha2" ,rust-sha2-0.10) + ("rust-zbus" ,rust-zbus-3)) + #:cargo-development-inputs + (("rust-test-with" ,rust-test-with-0.8) + ("rust-tokio" ,rust-tokio-1)))) + (home-page "https://github.com/hwchen/secret-service-rs.git") + (synopsis "Library to interface with Secret Service API") + (description "Library to interface with Secret Service API.") + (license (list license:expat license:asl2.0)))) + (define-public rust-section-testing-0.0 (package (name "rust-section-testing") @@ -54496,14 +58658,14 @@ SECG elliptic curve group secp256k1 and related utilities.") (define-public rust-security-framework-2 (package (name "rust-security-framework") - (version "2.0.0") + (version "2.9.2") (source (origin (method url-fetch) (uri (crate-uri "security-framework" version)) (file-name (string-append name "-" version ".tar.gz")) (sha256 - (base32 "0scc4vj2mw9k6qpxp26zx8gnqnmw79nwayja91x030457hp9qxf1")))) + (base32 "1pplxk15s5yxvi2m1sz5xfmjibp96cscdcl432w9jzbk0frlzdh5")))) (build-system cargo-build-system) (arguments `(#:tests? #f ;missing files @@ -54512,10 +58674,15 @@ SECG elliptic curve group secp256k1 and related utilities.") ("rust-core-foundation" ,rust-core-foundation-0.9) ("rust-core-foundation-sys" ,rust-core-foundation-sys-0.8) ("rust-libc" ,rust-libc-0.2) + ("rust-log" ,rust-log-0.4) + ("rust-num-bigint" ,rust-num-bigint-0.4) ("rust-security-framework-sys" ,rust-security-framework-sys-2)) #:cargo-development-inputs - (("rust-hex" ,rust-hex-0.4) - ("rust-tempdir" ,rust-tempdir-0.3)))) + (("rust-env-logger" ,rust-env-logger-0.10) + ("rust-hex" ,rust-hex-0.4) + ("rust-tempdir" ,rust-tempdir-0.3) + ("rust-time" ,rust-time-0.3) + ("rust-x509-parser" ,rust-x509-parser-0.15)))) (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 @@ -54627,14 +58794,14 @@ macOS and iOS.") (define-public rust-security-framework-sys-2 (package (name "rust-security-framework-sys") - (version "2.0.0") + (version "2.9.1") (source (origin (method url-fetch) (uri (crate-uri "security-framework-sys" version)) (file-name (string-append name "-" version ".tar.gz")) (sha256 - (base32 "12v7wpf7cbc92xza4lf3w12411wzrkkvlbjgrhrid9yj4rg9v6zr")))) + (base32 "0yhciwlsy9dh0ps1gw3197kvyqx1bvc4knrhiznhid6kax196cp9")))) (build-system cargo-build-system) (arguments `(#:cargo-inputs @@ -54780,32 +58947,32 @@ macOS and iOS.") #:cargo-development-inputs (("rust-phf-codegen" ,rust-phf-codegen-0.8)))))) -(define-public rust-selectors-0.21 +(define-public rust-self-cell-1 (package - (inherit rust-selectors-0.22) - (name "rust-selectors") - (version "0.21.0") - (source - (origin - (method url-fetch) - (uri (crate-uri "selectors" version)) - (file-name - (string-append name "-" version ".tar.gz")) - (sha256 - (base32 - "11icfj8ix8fqjsnw3dqw83bmhd5qdhxzq2klb486akyypq0b31hv")))) - (arguments - `(#:cargo-inputs - (("rust-bitflags" ,rust-bitflags-1) - ("rust-cssparser" ,rust-cssparser-0.25) - ("rust-fxhash" ,rust-fxhash-0.2) - ("rust-log" ,rust-log-0.4) - ("rust-matches" ,rust-matches-0.1) - ("rust-phf" ,rust-phf-0.7) - ("rust-precomputed-hash" ,rust-precomputed-hash-0.1) - ("rust-servo-arc" ,rust-servo-arc-0.1) - ("rust-smallvec" ,rust-smallvec-0.6) - ("rust-thin-slice" ,rust-thin-slice-0.1)))))) + (name "rust-self-cell") + (version "1.0.1") + (source (origin + (method url-fetch) + (uri (crate-uri "self-cell" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1djgfccbfhj2zv7xmqc2nxwn41g1swyrxg1d488pirj3am8rwc2c")) + (modules '((guix build utils))) + (snippet + '(begin (substitute* "Cargo.toml" + (("=([[:digit:]]+\\.[[:digit:]]+\\.[[:digit:]]+)" _ version) + (string-append "^" version))))))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs (("rust-rustversion" ,rust-rustversion-1)) + #:cargo-development-inputs (("rust-once-cell" ,rust-once-cell-1)))) + (home-page "https://github.com/Voultapher/self_cell") + (synopsis "Self-referential structs in stable Rust") + (description + "This package provides safe-to-use proc-macro-free self-referential structs +in stable Rust.") + (license license:asl2.0))) (define-public rust-semver-1 (package @@ -54990,19 +59157,23 @@ Semantic Versioning.") (base32 "18vhypw6zgccnrlm5ps1pwa0khz7ry927iznpr88b87cagr1v2iq")))))) -(define-public rust-send-wrapper-0.5 +(define-public rust-send-wrapper-0.6 (package (name "rust-send-wrapper") - (version "0.5.0") - (source - (origin - (method url-fetch) - (uri (crate-uri "send_wrapper" version)) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 "1mwbg1nv36d5kdjb0iwmprz24km0m8ck08dn59gdngqdc77hl34k")))) + (version "0.6.0") + (source (origin + (method url-fetch) + (uri (crate-uri "send-wrapper" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0wrxzsh9fzgkkkms621ydnz8mj30ilyq299a8cf65jn1y72hw2yd")))) (build-system cargo-build-system) - (arguments `(#:skip-build? #t)) + (arguments + `(#:cargo-inputs (("rust-futures-core" ,rust-futures-core-0.3)) + #:cargo-development-inputs + (("rust-futures-executor" ,rust-futures-executor-0.3) + ("rust-futures-util" ,rust-futures-util-0.3)))) (home-page "https://github.com/thk1/send_wrapper") (synopsis "Wrapper moving around non-@code{Send} types between threads") (description @@ -55013,6 +59184,20 @@ also have to make sure that the wrapper is dropped from within the original thread. If any of these constraints is violated, a panic occurs.") (license (list license:expat license:asl2.0)))) +(define-public rust-send-wrapper-0.5 + (package + (inherit rust-send-wrapper-0.6) + (name "rust-send-wrapper") + (version "0.5.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "send_wrapper" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "1mwbg1nv36d5kdjb0iwmprz24km0m8ck08dn59gdngqdc77hl34k")))) + (arguments `(#:skip-build? #t)))) + (define-public rust-send-wrapper-0.4 (package (inherit rust-send-wrapper-0.5) @@ -55100,7 +59285,7 @@ fragment of code.") (define-public rust-serde-1 (package (name "rust-serde") - (version "1.0.160") + (version "1.0.171") (source (origin (method url-fetch) @@ -55108,7 +59293,7 @@ fragment of code.") (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "0v11q6pjdjivw24cv98zv9dkdx50d6h9748lgvdbrqxwr1q3fbxv")))) + "1a9lvibgi42mhmgafp747mvshsq6ybx6rzcjqh398rfp9wg7vqih")))) (build-system cargo-build-system) (arguments ;; XXX: three test failures, e.g.: @@ -55167,6 +59352,32 @@ fragment of code.") (("rust-clippy" ,rust-clippy-0.0)) #:tests? #f)))) +(define-public rust-serde-aux-4 + (package + (name "rust-serde-aux") + (version "4.2.0") + (source (origin + (method url-fetch) + (uri (crate-uri "serde-aux" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0fdf1hdv85ghlfcil6ynl3npbbparmlx3ynn3c0wz7bgxfvy3py3")))) + (build-system cargo-build-system) + (arguments + `(#:skip-build? #t ; Cut the dependency graph. + #:cargo-inputs + (("rust-chrono" ,rust-chrono-0.4) + ("rust-serde" ,rust-serde-1) + ("rust-serde-json" ,rust-serde-json-1)) + ;#:cargo-development-inputs + ;(("rust-serde-qs" ,rust-serde-qs-0.10)) + )) + (home-page "https://github.com/vityafx/serde-aux") + (synopsis "Serde crate's auxiliary library") + (description "This package provides a serde crate's auxiliary library.") + (license license:expat))) + (define-public rust-serde-big-array-0.4 (package (name "rust-serde-big-array") @@ -55255,7 +59466,7 @@ fragment of code.") (define-public rust-serde-bytes-0.11 (package (name "rust-serde-bytes") - (version "0.11.8") + (version "0.11.11") (source (origin (method url-fetch) @@ -55263,7 +59474,7 @@ fragment of code.") (file-name (string-append name "-" version ".tar.gz")) (sha256 - (base32 "06a8lv3x1zm1ynzq6xri4k46zklnzh62i6y47w4rjvxkypzwb3bi")))) + (base32 "0yj2kj2hcphabzrydpa4dndfm9clh8cy6iv4fc4dw2ijwm7vw5js")))) (build-system cargo-build-system) (arguments `(#:cargo-inputs @@ -55316,37 +59527,6 @@ fragment of code.") (description "CBOR support for serde.") (license (list license:expat license:asl2.0)))) -(define-public rust-serde-codegen-0.4 - (package - (name "rust-serde-codegen") - (version "0.4.3") - (source - (origin - (method url-fetch) - (uri (crate-uri "serde_codegen" version)) - (file-name - (string-append name "-" version ".tar.gz")) - (sha256 - (base32 - "0167ghvqs0n8qin8fjx2ihn3gx92m55685qpv4nzihw48h4rq0vq")))) - (build-system cargo-build-system) - (arguments - `(#:skip-build? #t - #:cargo-inputs - (("rust-aster" ,rust-aster-0.41) - ("rust-quasi" ,rust-quasi-0.32) - ("rust-quasi-macros" ,rust-quasi-macros-0.32) - ("rust-syntex" ,rust-syntex-0.58) - ("rust-syntex-syntax" ,rust-syntex-syntax-0.58)) - #:cargo-development-inputs - (("rust-quasi-codegen" ,rust-quasi-codegen-0.32) - ("rust-syntex" ,rust-syntex-0.58)))) - (home-page "https://serde.rs") - (synopsis "Macros for the serde framework") - (description "This package provides macros to auto-generate implementations -for the serde framework.") - (license (list license:expat license:asl2.0)))) - (define-public rust-serde-codegen-internals-0.14 (package (name "rust-serde-codegen-internals") @@ -55479,7 +59659,7 @@ TOML/JSON/MessagePack strings and serializable values.") (define-public rust-serde-derive-1 (package (name "rust-serde-derive") - (version "1.0.160") + (version "1.0.171") (source (origin (method url-fetch) @@ -55487,7 +59667,7 @@ TOML/JSON/MessagePack strings and serializable values.") (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "1pvpiml328jhsz5h3pdc7x7wcyaagab6l5hb2q07wjfqcdy0j6i9")))) + "10j6s97fk7fgjiqhhrx6a44rqxr7v3w985i3avx4d36i7dh9961q")))) (build-system cargo-build-system) (arguments `(#:cargo-inputs @@ -55584,18 +59764,18 @@ data. This crate provides a wrapper that works with any existing Serde (define-public rust-serde-json-1 (package (name "rust-serde-json") - (version "1.0.96") + (version "1.0.102") (source (origin (method url-fetch) (uri (crate-uri "serde-json" version)) (file-name (string-append name "-" version ".tar.gz")) (sha256 - (base32 "1waj3qwpa610vmksnzcmkll6vaw7nf7v3ckj4v0wlfs0a153jz85")))) + (base32 "1vfzj76zdn8yh5l08yzr6lf95whic3vrlkh6nq4266s8bncjl1mm")))) (build-system cargo-build-system) (arguments `(#:cargo-inputs - (("rust-indexmap" ,rust-indexmap-1) + (("rust-indexmap" ,rust-indexmap-2) ("rust-itoa" ,rust-itoa-1) ("rust-ryu" ,rust-ryu-1) ("rust-serde" ,rust-serde-1)) @@ -55640,6 +59820,31 @@ data. This crate provides a wrapper that works with any existing Serde #:cargo-development-inputs (("rust-serde-derive" ,rust-serde-derive-0.9)))))) +(define-public rust-serde-json-core-0.5 + (package + (name "rust-serde-json-core") + (version "0.5.0") + (source (origin + (method url-fetch) + (uri (crate-uri "serde-json-core" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1w2g6ylmxbj9fbz4f86i0nnyk2mbv7qbksx0mbimxx17wj7krv2q")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-heapless" ,rust-heapless-0.7) + ("rust-ryu" ,rust-ryu-1) + ("rust-serde" ,rust-serde-1)) + #:cargo-development-inputs + (("rust-serde-derive" ,rust-serde-derive-1)))) + (home-page "https://github.com/rust-embedded-community/serde-json-core") + (synopsis "serde-json for no_std programs") + (description "This package provides @code{serde-json} for @code{no_std} +programs in rust.") + (license (list license:expat license:asl2.0)))) + (define-public rust-serde-path-to-error-0.1 (package (name "rust-serde-path-to-error") @@ -55756,7 +59961,7 @@ serializing Rust structures.") (define-public rust-serde-stacker-0.1 (package (name "rust-serde-stacker") - (version "0.1.7") + (version "0.1.9") (source (origin (method url-fetch) @@ -55765,7 +59970,7 @@ serializing Rust structures.") (string-append name "-" version ".tar.gz")) (sha256 (base32 - "1zgwd22cswfsjsxmnpf97nw5fzyv0s6mif5blbb948q7qgskvxrm")))) + "13kz9x2f1bhv6n997ydkykkhz479ki25wm6jxmr5rfsj1dxh2njp")))) (build-system cargo-build-system) (arguments `(#:cargo-inputs @@ -55783,7 +59988,7 @@ by dynamically growing the stack.") (define-public rust-serde-test-1 (package (name "rust-serde-test") - (version "1.0.160") + (version "1.0.171") (source (origin (method url-fetch) @@ -55792,11 +59997,10 @@ by dynamically growing the stack.") (string-append name "-" version ".tar.gz")) (sha256 (base32 - "1s3mcs9b3qw59lc6w2d1bkpklh2fjclvy5iszkvmhcljwc0ab59w")))) + "0fjsdcxx1ig10qf73dqwgyy7ksjwmmi3657aaybyqj8l9qphlj5n")))) (build-system cargo-build-system) (arguments - `(#:tests? #f ; Requires a newer rust - #:cargo-inputs + `(#:cargo-inputs (("rust-serde" ,rust-serde-1)) #:cargo-development-inputs (("rust-serde" ,rust-serde-1) @@ -55953,8 +60157,62 @@ for later processing.") (compatible with 0.9+)") (license license:expat))) +(define-public rust-serde-xml-rs-0.4 + (package + (inherit rust-serde-xml-rs-0.5) + (name "rust-serde-xml-rs") + (version "0.4.1") + (source (origin + (method url-fetch) + (uri (crate-uri "serde-xml-rs" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1ykx1xkfd59gf0ijnp93xhpd457xy4zi8xv2hrr0ikvcd6h1pgzh")))) + (arguments + `(#:cargo-test-flags + '("--release" "--" "--skip=test_doctype_fail") + #:cargo-inputs + (("rust-log" ,rust-log-0.4) + ("rust-serde" ,rust-serde-1) + ("rust-thiserror" ,rust-thiserror-1) + ("rust-xml-rs" ,rust-xml-rs-0.8)) + #:cargo-development-inputs + (("rust-docmatic" ,rust-docmatic-0.1) + ("rust-serde-derive" ,rust-serde-derive-1) + ("rust-simple-logger" ,rust-simple-logger-1)))))) + +(define-public rust-serde-yaml-0.9 + (package + (name "rust-serde-yaml") + (version "0.9.21") + (source (origin + (method url-fetch) + (uri (crate-uri "serde-yaml" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1714w6f5b2g4svha9r96cirz05mc0d9xfaxkcrabzqvxxkiq9mnr")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-indexmap" ,rust-indexmap-1) + ("rust-itoa" ,rust-itoa-1) + ("rust-ryu" ,rust-ryu-1) + ("rust-serde" ,rust-serde-1) + ("rust-unsafe-libyaml" ,rust-unsafe-libyaml-0.2)) + #:cargo-development-inputs + (("rust-anyhow" ,rust-anyhow-1) + ("rust-indoc" ,rust-indoc-2) + ("rust-serde-derive" ,rust-serde-derive-1)))) + (home-page "https://github.com/dtolnay/serde-yaml") + (synopsis "YAML support for Serde") + (description "This package provides YAML support for Serde.") + (license (list license:expat license:asl2.0)))) + (define-public rust-serde-yaml-0.8 (package + (inherit rust-serde-yaml-0.9) (name "rust-serde-yaml") (version "0.8.26") (source @@ -55964,7 +60222,6 @@ for later processing.") (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 "06y7gxy312mink8nsnmci9cw0ykpgsdcxmayg0snmdbnnwrp92jp")))) - (build-system cargo-build-system) (arguments `(#:cargo-inputs (("rust-indexmap" ,rust-indexmap-1) @@ -55974,11 +60231,41 @@ for later processing.") #:cargo-development-inputs (("rust-anyhow" ,rust-anyhow-1) ("rust-indoc" ,rust-indoc-1) - ("rust-serde-derive" ,rust-serde-derive-1)))) - (home-page "https://github.com/dtolnay/serde-yaml") - (synopsis "YAML support for Serde") - (description "This package provides YAML support for Serde.") - (license (list license:expat license:asl2.0)))) + ("rust-serde-derive" ,rust-serde-derive-1)))))) + +(define-public rust-serdect-0.2 + (package + (name "rust-serdect") + (version "0.2.0") + (source (origin + (method url-fetch) + (uri (crate-uri "serdect" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0xw1b6acw6nd0jchzyxzr97f0s4shbcqh92iyjwln0cskshi8kx8")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-base16ct" ,rust-base16ct-0.2) + ("rust-serde" ,rust-serde-1) + ("rust-zeroize" ,rust-zeroize-1)) + #:cargo-development-inputs + (("rust-bincode" ,rust-bincode-1) + ("rust-ciborium" ,rust-ciborium-0.2) + ("rust-hex-literal" ,rust-hex-literal-0.3) + ("rust-proptest" ,rust-proptest-1) + ("rust-serde" ,rust-serde-1) + ("rust-serde-json-core" ,rust-serde-json-core-0.5) + ("rust-serde-json" ,rust-serde-json-1) + ("rust-toml" ,rust-toml-0.7)))) + (home-page "https://github.com/RustCrypto/formats/tree/master/serdect") + (synopsis + "Constant-time serde serializer/deserializer helpers") + (description + "This package provides constant-time serde serializer/deserializer helpers +for data that potentially contains secrets (e.g. cryptographic keys).") + (license (list license:asl2.0 license:expat)))) (define-public rust-serial-test-0.6 (package @@ -56240,7 +60527,7 @@ functionality and without weak references.") (define-public rust-sha-1-0.10 (package (name "rust-sha-1") - (version "0.10.0") + (version "0.10.5") (source (origin (method url-fetch) @@ -56249,15 +60536,18 @@ functionality and without weak references.") (string-append name "-" version ".tar.gz")) (sha256 (base32 - "03zag8zk4qlv40n2yryddapv5yxkam3hdr7n53d8qrzr2gali3q2")))) + "1jr2a7pi67s8nxm4m09df9nnzsdlpif5hnk29hl8xk55fx975y2y")))) (build-system cargo-build-system) (arguments - `(#:skip-build? #t + `(#:tests? #f ; use of undeclared crate or module `sha1` #:cargo-inputs (("rust-cfg-if" ,rust-cfg-if-1) ("rust-cpufeatures" ,rust-cpufeatures-0.2) ("rust-digest" ,rust-digest-0.10) - ("rust-sha1-asm" ,rust-sha1-asm-0.5)))) + ("rust-sha1-asm" ,rust-sha1-asm-0.5)) + #:cargo-development-inputs + (("rust-digest" ,rust-digest-0.10) + ("rust-hex-literal" ,rust-hex-literal-0.2)))) (home-page "https://github.com/RustCrypto/hashes") (synopsis "SHA-1 hash function") (description "This crate provides a SHA-1 hash function.") @@ -56486,14 +60776,14 @@ code is translated from C to Rust using c2rust.") (define-public rust-sha2-0.10 (package (name "rust-sha2") - (version "0.10.1") + (version "0.10.6") (source (origin (method url-fetch) (uri (crate-uri "sha2" version)) (file-name (string-append name "-" version ".tar.gz")) (sha256 - (base32 "1v60pzdr3pp6y2sgg1v1nwv4169rb6psk44jmnnq51y5d60vvhwr")))) + (base32 "1h5xrrv2y06kr1gsz4pwrm3lsp206nm2gjxgbf21wfrfzsavgrl2")))) (build-system cargo-build-system) (arguments `(#:cargo-inputs @@ -56616,8 +60906,34 @@ functions core functionality.") (sha256 (base32 "0y4n8r4362y2fa6p2j0dgny4zfi194gdf01l6j850n9vf8ha3kwj")))))) +(define-public rust-sha3-0.10 + (package + (name "rust-sha3") + (version "0.10.8") + (source (origin + (method url-fetch) + (uri (crate-uri "sha3" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0q5s3qlwnk8d5j34jya98j1v2p3009wdmnqdza3yydwgi8kjv1vm")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-digest" ,rust-digest-0.10) + ("rust-keccak" ,rust-keccak-0.1)) + #:cargo-development-inputs + (("rust-digest" ,rust-digest-0.10) + ("rust-hex-literal" ,rust-hex-literal-0.2)))) + (home-page "https://github.com/RustCrypto/hashes") + (synopsis "SHA-3 (Keccak) hash function") + (description "This package provides a pure Rust implementation of the SHA-3 +(Keccak) hash function.") + (license (list license:expat license:asl2.0)))) + (define-public rust-sha3-0.9 (package + (inherit rust-sha3-0.10) (name "rust-sha3") (version "0.9.1") (source @@ -56627,7 +60943,6 @@ functions core functionality.") (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 "02d85wpvz75a0n7r2da15ikqjwzamhii11qy9gqf6pafgm0rj4gq")))) - (build-system cargo-build-system) (arguments `(#:cargo-inputs (("rust-block-buffer" ,rust-block-buffer-0.9) @@ -56636,12 +60951,7 @@ functions core functionality.") ("rust-opaque-debug" ,rust-opaque-debug-0.3)) #:cargo-development-inputs (("rust-digest" ,rust-digest-0.9) - ("rust-hex-literal" ,rust-hex-literal-0.2)))) - (home-page "https://github.com/RustCrypto/hashes") - (synopsis "SHA-3 (Keccak) hash function") - (description "This package provides a pure Rust implementation of the SHA-3 -(Keccak) hash function.") - (license (list license:expat license:asl2.0)))) + ("rust-hex-literal" ,rust-hex-literal-0.2)))))) (define-public rust-shadow-rs-0.8 (package @@ -56672,7 +60982,7 @@ exactly where a binary came from and how it was built.") (define-public rust-sharded-slab-0.1 (package (name "rust-sharded-slab") - (version "0.1.0") + (version "0.1.4") (source (origin (method url-fetch) @@ -56680,16 +60990,17 @@ exactly where a binary came from and how it was built.") (file-name (string-append name "-" version ".tar.gz")) (sha256 - (base32 "09r1i2adjkm4flsj4l0j7x79gdyxz0hvivxdh2d8j5jfj6z22jbv")))) + (base32 "0cbb8kgwsyr3zzhsv8jrs3y1j3vsw4jxil42lfq31ikhdy0bl3wh")))) (build-system cargo-build-system) (arguments `(#:cargo-inputs (("rust-lazy-static" ,rust-lazy-static-1) - ("rust-loom" ,rust-loom-0.3)) + ("rust-loom" ,rust-loom-0.5)) #:cargo-development-inputs - (("rust-cfg-if" ,rust-cfg-if-1) - ("rust-criterion" ,rust-criterion-0.3) - ("rust-proptest" ,rust-proptest-0.9)))) + (("rust-criterion" ,rust-criterion-0.3) + ("rust-loom" ,rust-loom-0.5) + ("rust-proptest" ,rust-proptest-1) + ("rust-slab" ,rust-slab-0.4)))) (home-page "https://github.com/hawkw/sharded-slab") (synopsis "Lock-free concurrent slab") (description "This package provides a lock-free concurrent slab.") @@ -56766,7 +61077,7 @@ exactly where a binary came from and how it was built.") (define-public rust-shell-escape-0.1 (package (name "rust-shell-escape") - (version "0.1.4") + (version "0.1.5") (source (origin (method url-fetch) @@ -56775,7 +61086,7 @@ exactly where a binary came from and how it was built.") (string-append name "-" version ".tar.gz")) (sha256 (base32 - "1fgs1iyx3b124b7njjmhfn9q5ipmhxrafavh8mxbfl9a9zk162hp")))) + "0kqq83dk0r1fqj4cfzddpxrni2hpz5i1y607g366c4m9iyhngfs5")))) (build-system cargo-build-system) (home-page "https://github.com/sfackler/shell-escape") (synopsis @@ -56787,14 +61098,14 @@ exactly where a binary came from and how it was built.") (define-public rust-shell-words-1 (package (name "rust-shell-words") - (version "1.0.0") + (version "1.1.0") (source (origin (method url-fetch) (uri (crate-uri "shell-words" version)) (file-name (string-append name "-" version ".tar.gz")) (sha256 - (base32 "0x5hw7ch98sp6b99ihxjs5vw5dmwg4yvy4yxzr59394xr4w3kymn")))) + (base32 "1plgwx8r0h5ismbbp6cp03740wmzgzhip85k5hxqrrkaddkql614")))) (build-system cargo-build-system) (home-page "https://github.com/tmiasko/shell-words") (synopsis "Process command line according to parsing rules of UNIX shell") @@ -57001,8 +61312,37 @@ words, like Python's shlex.") (("rust-signal-hook" ,rust-signal-hook-0.1) ("rust-version-sync" ,rust-version-sync-0.8)))))) +(define-public rust-signature-2 + (package + (name "rust-signature") + (version "2.1.0") + (source (origin + (method url-fetch) + (uri (crate-uri "signature" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "00457czdia5gvll3a1vzf2ffsdpgcz2dz0h56z7zk28nsbp8h5sy")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-digest" ,rust-digest-0.10) + ("rust-rand-core" ,rust-rand-core-0.6) + ("rust-signature-derive" ,rust-signature-derive-2)) + #:cargo-development-inputs + (("rust-hex-literal" ,rust-hex-literal-0.3) + ("rust-sha2" ,rust-sha2-0.10)))) + (home-page "https://github.com/RustCrypto/traits/tree/master/signature") + (synopsis + "Traits for cryptographic signature algorithms (e.g. ECDSA, Ed25519)") + (description + "This package contains traits which provide generic, object-safe APIs +for generating and verifying digital signatures.") + (license (list license:asl2.0 license:expat)))) + (define-public rust-signature-1 (package + (inherit rust-signature-2) (name "rust-signature") (version "1.5.0") (source @@ -57012,23 +61352,43 @@ words, like Python's shlex.") (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 "1r4x94n6ibdd1f85cwmvi29jvyyf1l379n9yybb7jlg9lv0wcm7h")))) - (build-system cargo-build-system) (arguments `(#:skip-build? #t #:cargo-inputs (("rust-digest" ,rust-digest-0.10) ("rust-rand-core" ,rust-rand-core-0.6) - ("rust-signature-derive" ,rust-signature-derive-1)))) - (home-page "") - (synopsis "Traits for cryptographic signature algorithms (e.g. ECDSA, -Ed25519)") - (description - "This package contains traits which provide generic, object-safe APIs -for generating and verifying digital signatures.") + ("rust-signature-derive" ,rust-signature-derive-1)))))) + +(define-public rust-signature-derive-2 + (package + (name "rust-signature-derive") + (version "2.0.1") + (source (origin + (method url-fetch) + (uri (crate-uri "signature-derive" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1z0mjjg3fpj08kc3nkax4lczgp7sfzbcm8q2qgim865510wkgpxc")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-proc-macro2" ,rust-proc-macro2-1) + ("rust-quote" ,rust-quote-1) + ("rust-syn" ,rust-syn-2)))) + (home-page + "https://github.com/RustCrypto/traits/tree/master/signature/derive") + (synopsis "Custom derive support for the 'signature' crate") + (description "This package provides proc macros used by the signature +crate. + +It's not intended to be used directly. See the signature crate's documentation +for additional details.") (license (list license:asl2.0 license:expat)))) (define-public rust-signature-derive-1 (package + (inherit rust-signature-derive-2) (name "rust-signature-derive") (version "1.0.0-pre.4") (source @@ -57038,22 +61398,13 @@ for generating and verifying digital signatures.") (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 "0p1x0wv6grrgdn226m9rsqpcnpfwkpji7rjpalkbk1ynv0xpvf57")))) - (build-system cargo-build-system) (arguments `(#:skip-build? #t #:cargo-inputs (("rust-proc-macro2" ,rust-proc-macro2-1) ("rust-quote" ,rust-quote-1) ("rust-syn" ,rust-syn-1) - ("rust-synstructure" ,rust-synstructure-0.12)))) - (home-page "signature_derive") - (synopsis "Custom derive support for the 'signature' crate") - (description "This package provides proc macros used by the signature -crate. - -It's not intended to be used directly. See the signature crate's documentation -for additional details.") - (license (list license:asl2.0 license:expat)))) + ("rust-synstructure" ,rust-synstructure-0.12)))))) (define-public rust-simba-0.6 (package @@ -57726,16 +62077,39 @@ implementations.") (string-append name "-" version ".tar.gz")) (sha256 (base32 - "1881q2yc17j2m1yvh01447c93ws1mspnrj3k2nbvwbvcm8z81kkv")))) + "1881q2yc17j2m1yvh01447c93ws1mspnrj3k2nbvwbvcm8z81kkv")) + (modules '((guix build utils))) + (snippet + '(begin + (substitute* "src/lib.rs" + ;; __m64 is x86 only, not x86 or x86_64 as in the code. + ;; See: https://github.com/gnzlbg/sleef-sys/issues/27 + (("__m64") "// __m64")) + (delete-file "Cargo.toml") + (rename-file "Cargo.toml.orig" "Cargo.toml") + (substitute* "Cargo.toml" + ;; Dependabot says the dependencies can be updated. + (("cfg-if = \"\\^0.1\"") "cfg-if = \"^1.0\"") + (("env_logger = \"0.6\"") "env_logger = \"0.9\"") + (("bindgen = \"\\^0.46\"") "bindgen = \"^0.59\"")))))) (build-system cargo-build-system) (arguments - `(#:skip-build? #t - #:cargo-inputs - (("rust-cfg-if" ,rust-cfg-if-0.1) + `(#:cargo-inputs + (("rust-cfg-if" ,rust-cfg-if-1) ("rust-libc" ,rust-libc-0.2) - ("rust-bindgen" ,rust-bindgen-0.46) + ("rust-bindgen" ,rust-bindgen-0.59) ("rust-cmake" ,rust-cmake-0.1) - ("rust-env-logger" ,rust-env-logger-0.6)))) + ("rust-env-logger" ,rust-env-logger-0.9)) + #:phases + (modify-phases %standard-phases + ;; This makes it easier to test the package. + (add-after 'unpack 'enable-unstable-features + (lambda _ + (setenv "RUSTC_BOOTSTRAP" "1")))))) + (inputs + (list clang)) + (native-inputs + (list cmake-minimal)) (home-page "https://github.com/gnzlbg/sleef-sys") (synopsis "Rust FFI bindings to the SLEEF Vectorized Math Library") @@ -58119,8 +62493,33 @@ stack.") #:cargo-development-inputs (("rust-bincode" ,rust-bincode-1)))))) +(define-public rust-smart-default-0.7 + (package + (name "rust-smart-default") + (version "0.7.1") + (source (origin + (method url-fetch) + (uri (crate-uri "smart-default" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1hgzs1250559bpayxmn46gzas5ycqn39wkf4srjgqh4461k1ic0f")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-proc-macro2" ,rust-proc-macro2-1) + ("rust-quote" ,rust-quote-1) + ("rust-syn" ,rust-syn-2)))) + (home-page "https://github.com/idanarye/rust-smart-default") + (synopsis "Custom-derive macro for Default with more control on the fields") + (description + "This package provides a custom-derive macro for Default with more +control on the fields.") + (license license:expat))) + (define-public rust-smart-default-0.6 (package + (inherit rust-smart-default-0.7) (name "rust-smart-default") (version "0.6.0") (source @@ -58130,19 +62529,12 @@ stack.") (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 "1xnvxz9wilj4d5b8kg4wbs0yk48wm41fnwkmn3p6wi9rafhmjdhk")))) - (build-system cargo-build-system) (arguments `(#:skip-build? #t #:cargo-inputs (("rust-proc-macro2" ,rust-proc-macro2-1) ("rust-quote" ,rust-quote-1) - ("rust-syn" ,rust-syn-1)))) - (home-page "https://github.com/idanarye/rust-smart-default") - (synopsis "Custom-derive macro for Default with more control on the fields") - (description - "This package provides a custom-derive macro for Default with more -control on the fields.") - (license license:expat))) + ("rust-syn" ,rust-syn-1)))))) (define-public rust-smartstring-1 (package @@ -58410,15 +62802,17 @@ algorithm. Includes streaming compression and decompression.") (define-public rust-snapbox-macros-0.3 (package (name "rust-snapbox-macros") - (version "0.3.1") + (version "0.3.4") (source (origin (method url-fetch) (uri (crate-uri "snapbox-macros" version)) (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "0dkk7b5l9g8q7fswqj0686jqafkdl8apv1ay8r275cry430napj8")))) + "0cfaq1vwy90g3csmmzm773kk0i91422r3432x4myishfkzghkbza")))) (build-system cargo-build-system) + (arguments + `(#:cargo-inputs (("rust-anstream" ,rust-anstream-0.3)))) (home-page "https://github.com/assert-rs/trycmd/tree/main/crates/snapbox") (synopsis "Snapshot testing toolbox") (description @@ -58450,18 +62844,20 @@ It is also flexible enough to build your own test harness like @code{trycmd}.") (define-public rust-snapbox-0.4 (package (name "rust-snapbox") - (version "0.4.7") + (version "0.4.11") (source (origin (method url-fetch) (uri (crate-uri "snapbox" version)) (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "0gk2ggk4k3vq65yp53akvklg756b8w7bfj21sk7rjcbix270vhh9")))) + "0d9q8968hqkq64bain73shj3iqc28pch8c2fj6dghiw30xicvg7n")))) (build-system cargo-build-system) (arguments `(#:cargo-inputs - (("rust-backtrace" ,rust-backtrace-0.3) + (("rust-anstream" ,rust-anstream-0.3) + ("rust-anstyle" ,rust-anstyle-1) + ("rust-backtrace" ,rust-backtrace-0.3) ("rust-concolor" ,rust-concolor-0.0.11) ("rust-content-inspector" ,rust-content-inspector-0.2) ("rust-document-features" ,rust-document-features-0.2) @@ -58469,6 +62865,7 @@ It is also flexible enough to build your own test harness like @code{trycmd}.") ("rust-escargot" ,rust-escargot-0.5) ("rust-filetime" ,rust-filetime-0.2) ("rust-ignore" ,rust-ignore-0.4) + ("rust-libc" ,rust-libc-0.2) ("rust-libtest-mimic" ,rust-libtest-mimic-0.6) ("rust-normalize-line-endings" ,rust-normalize-line-endings-0.3) ("rust-os-pipe" ,rust-os-pipe-1) @@ -58478,8 +62875,7 @@ It is also flexible enough to build your own test harness like @code{trycmd}.") ("rust-tempfile" ,rust-tempfile-3) ("rust-wait-timeout" ,rust-wait-timeout-0.2) ("rust-walkdir" ,rust-walkdir-2) - ("rust-windows-sys" ,rust-windows-sys-0.45) - ("rust-yansi" ,rust-yansi-0.5)))) + ("rust-windows-sys" ,rust-windows-sys-0.45)))) (home-page "https://github.com/assert-rs/trycmd/tree/main/crates/snapbox") (synopsis "Snapshot testing toolbox") (description @@ -58935,19 +63331,27 @@ and spirv-std-macros.") SPIR-V.") (license (list license:expat license:asl2.0)))) -(define-public rust-spki-0.4 +(define-public rust-spki-0.7 (package (name "rust-spki") - (version "0.4.1") - (source - (origin - (method url-fetch) - (uri (crate-uri "spki" version)) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 "0ckgkcg6db5y94dqhmyikgn8yrsah6pyf4j197hv1c51bp0s00aw")))) + (version "0.7.2") + (source (origin + (method url-fetch) + (uri (crate-uri "spki" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0jhq00sv4w3psdi6li3vjjmspc6z2d9b1wc1srbljircy1p9j7lx")))) (build-system cargo-build-system) - (arguments `(#:skip-build? #t #:cargo-inputs (("rust-der" ,rust-der-0.4)))) + (arguments + `(#:cargo-inputs + (("rust-arbitrary" ,rust-arbitrary-1) + ("rust-base64ct" ,rust-base64ct-1) + ("rust-der" ,rust-der-0.7) + ("rust-sha2" ,rust-sha2-0.10)) + #:cargo-development-inputs + (("rust-hex-literal" ,rust-hex-literal-0.4) + ("rust-tempfile" ,rust-tempfile-3)))) (home-page "https://github.com/RustCrypto/formats/tree/master/spki") (synopsis "X.509 Subject Public Key Info (RFC5280) describing public keys") @@ -58957,6 +63361,41 @@ describing public keys as well as their associated AlgorithmIdentifiers (i.e. OIDs)") (license (list license:asl2.0 license:expat)))) +(define-public rust-spki-0.6 + (package + (inherit rust-spki-0.7) + (name "rust-spki") + (version "0.6.0") + (source (origin + (method url-fetch) + (uri (crate-uri "spki" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0ar1ldkl7svp8l3gfw2hyiiph7n2nqynjnjgdv1pscvsmjxh5kv7")))) + (arguments + `(#:cargo-inputs + (("rust-base64ct" ,rust-base64ct-1) + ("rust-der" ,rust-der-0.6) + ("rust-sha2" ,rust-sha2-0.10)) + #:cargo-development-inputs + (("rust-hex-literal" ,rust-hex-literal-0.3) + ("rust-tempfile" ,rust-tempfile-3)))))) + +(define-public rust-spki-0.4 + (package + (inherit rust-spki-0.7) + (name "rust-spki") + (version "0.4.1") + (source + (origin + (method url-fetch) + (uri (crate-uri "spki" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "0ckgkcg6db5y94dqhmyikgn8yrsah6pyf4j197hv1c51bp0s00aw")))) + (arguments `(#:skip-build? #t #:cargo-inputs (("rust-der" ,rust-der-0.4)))))) + (define-public rust-spmc-0.3 (package (name "rust-spmc") @@ -59234,7 +63673,7 @@ to the same address.") (define-public rust-stacker-0.1 (package (name "rust-stacker") - (version "0.1.6") + (version "0.1.15") (source (origin (method url-fetch) @@ -59242,16 +63681,15 @@ to the same address.") (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "12igajfgqz96c7vcwi91xdfsphawik6g36ndlglqih0a7bqw8vyr")))) + "1klz4mk1iqn3jixhnls6ia4ql4fpinnfjibxabpx6pqmh12bv1n8")))) (build-system cargo-build-system) (arguments `(#:cargo-inputs - (("rust-cfg-if" ,rust-cfg-if-0.1) + (("rust-cc" ,rust-cc-1) + ("rust-cfg-if" ,rust-cfg-if-1) ("rust-libc" ,rust-libc-0.2) ("rust-psm" ,rust-psm-0.1) - ("rust-winapi" ,rust-winapi-0.3)) - #:cargo-development-inputs - (("rust-cc" ,rust-cc-1)))) + ("rust-winapi" ,rust-winapi-0.3)))) (home-page "https://github.com/rust-lang/stacker") (synopsis "Manual segmented stacks for Rust") (description @@ -59281,8 +63719,33 @@ deeply recursive algorithms that may accidentally blow the stack.") (description "New standard library, old compiler.") (license (list license:expat license:asl2.0)))) +(define-public rust-state-0.5 + (package + (name "rust-state") + (version "0.5.3") + (source (origin + (method url-fetch) + (uri (crate-uri "state" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0fzji31ijbkimbzdy4dln9mp5xp7lm1a0dnqxv4n10hywphnds6v")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-loom" ,rust-loom-0.5)) + #:cargo-development-inputs + (("rust-static-assertions" ,rust-static-assertions-1)))) + (home-page "https://github.com/SergioBenitez/state") + (synopsis "Library for safe global and thread-local state management") + (description + "This package provides a library for safe global and thread-local state +management.") + (license (list license:expat license:asl2.0)))) + (define-public rust-state-0.4 (package + (inherit rust-state-0.5) (name "rust-state") (version "0.4.2") (source @@ -59292,17 +63755,10 @@ deeply recursive algorithms that may accidentally blow the stack.") (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 "10v4k9bgjryc9m40c8nnhyrby2ngkhpx841p3k4halgxlp8af59h")))) - (build-system cargo-build-system) (arguments `(#:skip-build? #t #:cargo-inputs - (("rust-lazy-static" ,rust-lazy-static-1)))) - (home-page "https://github.com/SergioBenitez/state") - (synopsis "Library for safe global and thread-local state management") - (description - "This package provides a library for safe global and thread-local state -management.") - (license (list license:expat license:asl2.0)))) + (("rust-lazy-static" ,rust-lazy-static-1)))))) (define-public rust-static-assertions-1 (package @@ -60636,6 +65092,144 @@ easier in Rust.") ("rust-quote" ,rust-quote-1) ("rust-syn" ,rust-syn-1)))))) +(define-public rust-subplot-0.7 + (package + (name "rust-subplot") + (version "0.7.1") + (source (origin + (method url-fetch) + (uri (crate-uri "subplot" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1la2vsjlxarld2w7farzlbmiy2hvascmd8bhi29ssm816m571jc8")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-test-flags + (list "--release" "--" + ;; These rely on java + "--skip=diagrams::PlantumlMarkup" + "--skip=diagrams::DotMarkup") + #:cargo-inputs + (("rust-anyhow" ,rust-anyhow-1) + ("rust-base64" ,rust-base64-0.21) + ("rust-clap" ,rust-clap-4) + ("rust-env-logger" ,rust-env-logger-0.10) + ("rust-file-diff" ,rust-file-diff-1) + ("rust-git-testament" ,rust-git-testament-0.2) + ("rust-html-escape" ,rust-html-escape-0.2) + ("rust-lazy-static" ,rust-lazy-static-1) + ("rust-line-col" ,rust-line-col-0.2) + ("rust-log" ,rust-log-0.4) + ("rust-pikchr" ,rust-pikchr-0.1) + ("rust-pulldown-cmark" ,rust-pulldown-cmark-0.9) + ("rust-regex" ,rust-regex-1) + ("rust-roadmap" ,rust-roadmap-0.5) + ("rust-serde" ,rust-serde-1) + ("rust-serde-aux" ,rust-serde-aux-4) + ("rust-serde-json" ,rust-serde-json-1) + ("rust-serde-yaml" ,rust-serde-yaml-0.9) + ("rust-tempfile" ,rust-tempfile-3) + ("rust-tempfile-fast" ,rust-tempfile-fast-0.3) + ("rust-tera" ,rust-tera-1) + ("rust-thiserror" ,rust-thiserror-1) + ("rust-time" ,rust-time-0.3) + ("rust-walkdir" ,rust-walkdir-2)))) + (home-page "https://subplot.tech/") + (synopsis "Tools for automated acceptance tests") + (description + "This package provides tools for specifying, documenting, and implementing +automated acceptance tests for systems and software.") + (license license:expat-0))) + +(define-public rust-subplot-build-0.7 + (package + (name "rust-subplot-build") + (version "0.7.1") + (source (origin + (method url-fetch) + (uri (crate-uri "subplot-build" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1p38kq7fmg6gpwqmkymn68f2qiaw7k35s7i4k0ifs6g5c0d70xfw")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-subplot" ,rust-subplot-0.7) + ("rust-tempfile" ,rust-tempfile-3) + ("rust-tracing" ,rust-tracing-0.1)))) + (home-page "https://subplot.tech/") + (synopsis "Library for using Subplot code generation") + (description + "This package provides a library for using Subplot code generation from +another project's @code{build.rs} module.") + (license license:expat-0))) + +(define-public rust-subplotlib-0.7 + (package + (name "rust-subplotlib") + (version "0.7.1") + (source (origin + (method url-fetch) + (uri (crate-uri "subplotlib" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0cbsrsk9pkyhs3fqzmxgf19x2bhr22pic5wqwvphv3sk4nc1ysiw")))) + (build-system cargo-build-system) + (arguments + `(#:tests? #f ; Not all files included. + #:cargo-inputs + (("rust-base64" ,rust-base64-0.21) + ("rust-fehler" ,rust-fehler-1) + ("rust-filetime" ,rust-filetime-0.2) + ("rust-fs2" ,rust-fs2-0.4) + ("rust-glob" ,rust-glob-0.3) + ("rust-lazy-static" ,rust-lazy-static-1) + ("rust-regex" ,rust-regex-1) + ("rust-remove-dir-all" ,rust-remove-dir-all-0.8) + ("rust-shell-words" ,rust-shell-words-1) + ("rust-state" ,rust-state-0.5) + ("rust-subplot-build" ,rust-subplot-build-0.7) + ("rust-subplotlib-derive" ,rust-subplotlib-derive-0.7) + ("rust-tempfile" ,rust-tempfile-3) + ("rust-time" ,rust-time-0.3) + ("rust-unescape" ,rust-unescape-0.1)) + #:cargo-development-inputs + (("rust-serde-json" ,rust-serde-json-1)))) + (home-page "https://subplot.tech/") + (synopsis "Utility functions and types for @code{subplot codegen}") + (description + "Utility functions and types for @code{subplot codegen} generated Rust +based test suites. Relies on @code{subplotlib-derive} for associated macros.") + (license license:expat-0))) + +(define-public rust-subplotlib-derive-0.7 + (package + (name "rust-subplotlib-derive") + (version "0.7.1") + (source (origin + (method url-fetch) + (uri (crate-uri "subplotlib-derive" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "11x93kzj6x5x44irkbiz1vyns9ivr7skixyd318sxa021xas16ci")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-fehler" ,rust-fehler-1) + ("rust-proc-macro2" ,rust-proc-macro2-1) + ("rust-quote" ,rust-quote-1) + ("rust-syn" ,rust-syn-2)))) + (home-page "https://subplot.tech/") + (synopsis "macros for constructing subplotlib based test suites") + (description + "This package provides macros for constructing subplotlib based test +suites, typically generated by @code{subplot codegen}.") + (license license:expat-0))) + (define-public rust-subprocess-0.2 (package (name "rust-subprocess") @@ -60702,6 +65296,27 @@ cryptographic implementations.") (base32 "1vm80mxbwfj334izwm8x8l65v1xl9hr0kwrg36r1rq565fkaarrd")))))) +(define-public rust-subtle-ng-2 + (package + (name "rust-subtle-ng") + (version "2.5.0") + (source (origin + (method url-fetch) + (uri (crate-uri "subtle-ng" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0hj1wp8xl64bjhbvlfffmllqy7wdw2b505f32gn3qqic4vmpcikk")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-development-inputs (("rust-rand" ,rust-rand-0.7)))) + (home-page "https://dalek.rs/") + (synopsis "Pure-Rust for constant-time cryptographic implementations") + (description + "This package provides pure-Rust traits and utilities for constant-time +cryptographic implementations.") + (license license:bsd-3))) + (define-public rust-surf-2 (package (name "rust-surf") @@ -60757,6 +65372,29 @@ alike. It's completely modular, and built directly for @code{async/await}.") values without proliferating generics.") (license (list license:expat license:asl2.0)))) +(define-public rust-supports-color-2 + (package + (name "rust-supports-color") + (version "2.0.0") + (source (origin + (method url-fetch) + (uri (crate-uri "supports-color" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0m5kayz225f23k5jyjin82sfkrqhfdq3j72ianafkazz9cbyfl29")))) + (build-system cargo-build-system) + (arguments + `(#:tests? #f ; panicked at 'assertion failed: `(left == right)` + #:cargo-inputs + (("rust-is-terminal" ,rust-is-terminal-0.4) + ("rust-is-ci" ,rust-is-ci-1)))) + (home-page "https://github.com/zkat/supports-color") + (synopsis "Detects whether a terminal supports color") + (description + "Detects whether a terminal supports color, and gives details about that support.") + (license license:asl2.0))) + (define-public rust-sval-1 (package (name "rust-sval") @@ -60992,14 +65630,14 @@ interface") (define-public rust-syn-2 (package (name "rust-syn") - (version "2.0.5") + (version "2.0.25") (source (origin (method url-fetch) (uri (crate-uri "syn" version)) (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "12iqdd7j7hfsp4584bph1318n47z7x79ddgvl63j30i6db3x3hl9")))) + "1qjswb3cifay6x9l0qjpm9c42ikacpxybr9ny4npw9kl1j6grqqm")))) (build-system cargo-build-system) (arguments ;; Tests fail to compile @@ -61021,10 +65659,17 @@ interface") #:cargo-development-inputs (("rust-anyhow" ,rust-anyhow-1) ("rust-automod" ,rust-automod-1) + ("rust-flate2" ,rust-flate2-1) ("rust-insta" ,rust-insta-1) + ("rust-rayon" ,rust-rayon-1) ("rust-ref-cast" ,rust-ref-cast-1) + ("rust-regex" ,rust-regex-1) ("rust-reqwest" ,rust-reqwest-0.11) - ("rust-tar" ,rust-tar-0.4)))) + ("rust-rustversion" ,rust-rustversion-1) + ("rust-syn-test-suite" ,rust-syn-test-suite-0.0.0) + ("rust-tar" ,rust-tar-0.4) + ("rust-termcolor" ,rust-termcolor-1) + ("rust-walkdir" ,rust-walkdir-2)))) (inputs (list openssl)) (native-inputs (list pkg-config)) (home-page "https://github.com/dtolnay/syn") @@ -61193,48 +65838,39 @@ a syntax tree of Rust source code.") ("rust-tempdir" ,rust-tempdir-0.3) ("rust-walkdir" ,rust-walkdir-1)))))) -(define-public rust-syn-mid-0.5 +(define-public rust-syn-test-suite-0.0.0 (package - (name "rust-syn-mid") - (version "0.5.0") - (source - (origin - (method url-fetch) - (uri (crate-uri "syn-mid" version)) - (file-name - (string-append name "-" version ".tar.gz")) - (sha256 - (base32 - "12ikg5jfklixq0wsgfl7sdzjqlxgq50ygklxy4f972hjdjgm7qvv")))) + (name "rust-syn-test-suite") + (version "0.0.0") + (source (origin + (method url-fetch) + (uri (crate-uri "syn-test-suite" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "15yz9q7rgxaplv0zbnanzyv1la4gmg47yq5wlkcwv3cck4qlncdm")))) (build-system cargo-build-system) - (arguments - `(#:skip-build? #t - #:cargo-inputs - (("rust-proc-macro2" ,rust-proc-macro2-1) - ("rust-syn" ,rust-syn-1) - ("rust-quote" ,rust-quote-1)))) - (home-page "https://github.com/taiki-e/syn-mid") - (synopsis - "Provide the features between \"full\" and \"derive\" of syn") - (description - "This package provides the features between \"full\" and \"derive\" of syn.") - (license (list license:asl2.0 license:expat)))) + (arguments (list #:skip-build? #t)) + (home-page "https://github.com/dtolnay/syn") + (synopsis "Test suite of the syn crate") + (description "Test suite of the syn crate.") + (license (list license:expat license:asl2.0)))) (define-public rust-synchronoise-1 (package (name "rust-synchronoise") - (version "1.0.0") + (version "1.0.1") (source (origin (method url-fetch) (uri (crate-uri "synchronoise" version)) (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "1szasv8xl6z3gxfq8h8wllw2mq53d71nn29achxsnfcxzh7fs5yp")))) + "1wnylkdf84520ks7a70fnwds2wibxmnkgqzz3j6ww9n61wwh3g1x")))) (build-system cargo-build-system) (arguments `(#:cargo-inputs - (("rust-crossbeam-queue" ,rust-crossbeam-queue-0.1)))) + (("rust-crossbeam-queue" ,rust-crossbeam-queue-0.3)))) (home-page "https://github.com/QuietMisdreavus/synchronoise") (synopsis "Synchronization primitives") (description @@ -61374,32 +66010,6 @@ standard library.") intelligence using Sublime Text's grammars.") (license license:expat))) -(define-public rust-syntex-0.58 - (package - (name "rust-syntex") - (version "0.58.1") - (source - (origin - (method url-fetch) - (uri (crate-uri "syntex" version)) - (file-name - (string-append name "-" version ".tar.gz")) - (sha256 - (base32 - "03lgd36cxhc6gzaab0wqvckbhml00s6s73lk34ymf6cklymf7xd8")))) - (build-system cargo-build-system) - (arguments - `(#:skip-build? #t - #:cargo-inputs - (("rust-syntex-errors" ,rust-syntex-errors-0.58) - ("rust-syntex-syntax" ,rust-syntex-syntax-0.58)))) - (home-page "https://github.com/erickt/rust-syntex") - (synopsis "Compile time syntax extension expansion") - (description - "This package provides a library that enables compile time -syntax extension expansion.") - (license (list license:expat license:asl2.0)))) - (define-public rust-syntex-errors-0.58 (package (name "rust-syntex-errors") @@ -61606,8 +66216,46 @@ no_std compatible by default, only relying on alloc.") ("rust-errno" ,rust-errno-0.2) ("rust-libc" ,rust-libc-0.2)))))) +(define-public rust-sysinfo-0.27 + (package + (name "rust-sysinfo") + (version "0.27.8") + (source (origin + (method url-fetch) + (uri (crate-uri "sysinfo" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0cqy39g76298pqfr8jv30j6cxl9bpnd7c2smfxl5s2na1w2yj0m9")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-test-flags + (list "--release" "--" + ;; These files aren't available in the build environment. + "--skip=test::check_system_info" + "--skip=test::check_uid_gid" + "--skip=test_networks" + "--skip=test_wait_non_child" + "--skip=test_process_disk_usage") + #:cargo-inputs + (("rust-cfg-if" ,rust-cfg-if-1) + ("rust-core-foundation-sys" ,rust-core-foundation-sys-0.8) + ("rust-libc" ,rust-libc-0.2) + ("rust-ntapi" ,rust-ntapi-0.4) + ("rust-once-cell" ,rust-once-cell-1) + ("rust-rayon" ,rust-rayon-1) + ("rust-winapi" ,rust-winapi-0.3)) + #:cargo-development-inputs (("rust-tempfile" ,rust-tempfile-3)))) + (home-page "https://github.com/GuillaumeGomez/sysinfo") + (synopsis "System handler to interact with processes") + (description + "This package is a library to get system information such as processes, +processors, disks, components and networks.") + (license license:expat))) + (define-public rust-sysinfo-0.15 (package + (inherit rust-sysinfo-0.27) (name "rust-sysinfo") (version "0.15.11") (source (origin @@ -61617,7 +66265,6 @@ no_std compatible by default, only relying on alloc.") (sha256 (base32 "0n713rhayp28z8j4pviqcg4blcp1yfvniwa1ipinp75hyv7lq0nx")))) - (build-system cargo-build-system) (arguments `(#:skip-build? #t #:cargo-inputs (("rust-cc" ,rust-cc-1) @@ -61628,13 +66275,7 @@ no_std compatible by default, only relying on alloc.") ("rust-ntapi" ,rust-ntapi-0.3) ("rust-once-cell" ,rust-once-cell-1) ("rust-rayon" ,rust-rayon-1) - ("rust-winapi" ,rust-winapi-0.3)))) - (home-page "https://github.com/GuillaumeGomez/sysinfo") - (synopsis "System handler to interact with processes") - (description - "This package is a library to get system information such as processes, -processors, disks, components and networks.") - (license license:expat))) + ("rust-winapi" ,rust-winapi-0.3)))))) (define-public rust-sysinfo-0.23 (package @@ -61842,26 +66483,6 @@ provides both a library for wrapping Rust @code{Writer}s and a small program that exposes the same functionality at the command line.") (license (list license:unlicense license:expat)))) -(define-public rust-take-0.1 - (package - (name "rust-take") - (version "0.1.0") - (source - (origin - (method url-fetch) - (uri (crate-uri "take" version)) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 "1i8p579k9kq21k7pcm4yzbc12xpshl39jfa5c1j6pxf1ia6qcmxi")))) - (build-system cargo-build-system) - (arguments `(#:skip-build? #t)) - (home-page "https://github.com/carllerche/take") - (synopsis "Simple container utility for Rust") - (description - "This package provides a cell allowing the inner value to be consumed -without a mutable reference.") - (license (list license:expat license:asl2.0)))) - (define-public rust-take-mut-0.2 (package (name "rust-take-mut") @@ -61993,17 +66614,19 @@ memory all at once.") (define-public rust-target-lexicon-0.12 (package (name "rust-target-lexicon") - (version "0.12.4") + (version "0.12.9") (source (origin (method url-fetch) (uri (crate-uri "target-lexicon" version)) (file-name (string-append name "-" version ".tar.gz")) (sha256 - (base32 "1hfk4v8gbhczr6jwsy1ja6yg4npkvznym6b7r4fbgjc0fw428960")))) + (base32 "180iwqwvdk586b1b27anfddq5zbfckisgi3yjhdzaqbsfp5pg3nz")))) (build-system cargo-build-system) - (arguments `(#:skip-build? #t)) - (home-page "https://github.com/CraneStation/target-lexicon") + (arguments + `(#:cargo-inputs (("rust-serde" ,rust-serde-1)) + #:cargo-development-inputs (("rust-serde-json" ,rust-serde-json-1)))) + (home-page "https://github.com/bytecodealliance/target-lexicon") (synopsis "Targeting utilities for compilers and related tools") (description "This package provides targeting utilities for compilers and related @@ -62755,24 +67378,24 @@ deleting all contents when it's dropped.") (define-public rust-tempfile-3 (package (name "rust-tempfile") - (version "3.3.0") + (version "3.5.0") (source (origin (method url-fetch) (uri (crate-uri "tempfile" version)) (file-name (string-append name "-" version ".tar.gz")) (sha256 - (base32 "1r3rdp66f7w075mz6blh244syr3h0lbm07ippn7xrbgfxbs1xnsw")))) + (base32 "163rp254r3x7i5hisagrpxid2166pq94jvk511dpkmc1yf2fryxr")))) (build-system cargo-build-system) (arguments - `(#:skip-build? #t - #:cargo-inputs + `(#:cargo-inputs (("rust-cfg-if" ,rust-cfg-if-1) ("rust-fastrand" ,rust-fastrand-1) - ("rust-libc" ,rust-libc-0.2) - ("rust-redox-syscall" ,rust-redox-syscall-0.2) - ("rust-remove-dir-all" ,rust-remove-dir-all-0.5) - ("rust-winapi" ,rust-winapi-0.3)))) + ("rust-redox-syscall" ,rust-redox-syscall-0.3) + ("rust-rustix" ,rust-rustix-0.37) + ("rust-windows-sys" ,rust-windows-sys-0.45)) + #:cargo-development-inputs + (("rust-doc-comment" ,rust-doc-comment-0.3)))) (home-page "https://stebalien.com/projects/tempfile-rs") (synopsis "Library for managing temporary files and directories") (description @@ -62781,6 +67404,29 @@ directories.") (license (list license:asl2.0 license:expat)))) +(define-public rust-tempfile-fast-0.3 + (package + (name "rust-tempfile-fast") + (version "0.3.4") + (source (origin + (method url-fetch) + (uri (crate-uri "tempfile-fast" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1xksx1l1019k9q0az9mhqsgb14w0vm88yax30iq6178s3d9yhjx7")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-libc" ,rust-libc-0.2) + ("rust-rand" ,rust-rand-0.8) + ("rust-tempfile" ,rust-tempfile-3)))) + (home-page "https://github.com/FauxFaux/tempfile-fast-rs") + (synopsis "Support for Linux-specific tempfile extensions") + (description + "This package provides support for Linux-specific tempfile extensions.") + (license license:expat))) + (define-public rust-tendril-0.4 (package (name "rust-tendril") @@ -62813,22 +67459,33 @@ directories.") (define-public rust-tera-1 (package (name "rust-tera") - (version "1.15.0") + (version "1.18.1") (source (origin (method url-fetch) (uri (crate-uri "tera" version)) (file-name (string-append name "-" version ".tar.gz")) (sha256 - (base32 "13dmx1qfn66v55l54gddp89mi82ghszwml9jyv75phhmnqqwijnk")))) + (base32 "1h3hgixby1vsfgk83ww09aq25p74jhqf48b7ql1jmwh22dsnb9lm")) + (modules '((guix build utils))) + (snippet + '(begin (substitute* "Cargo.toml" + (("\"=([[:digit:]]+(\\.[[:digit:]]+)*)" _ version) + (string-append "\"^" version))))))) (build-system cargo-build-system) (arguments - `(#:skip-build? #t + `(#:cargo-test-flags + (list "--release" "--" + ;; Not all files included. + "--skip=tera::tests::full_reload_with_glob" + "--skip=tera::tests::full_reload_with_glob_after_extending" + "--skip=tera::tests::can_load_from_glob_with_patterns" + "--skip=tera::tests::can_load_from_glob") #:cargo-inputs (("rust-chrono" ,rust-chrono-0.4) ("rust-chrono-tz" ,rust-chrono-tz-0.6) ("rust-globwalk" ,rust-globwalk-0.8) - ("rust-humansize" ,rust-humansize-1) + ("rust-humansize" ,rust-humansize-2) ("rust-lazy-static" ,rust-lazy-static-1) ("rust-percent-encoding" ,rust-percent-encoding-2) ("rust-pest" ,rust-pest-2) @@ -62838,7 +67495,11 @@ directories.") ("rust-serde" ,rust-serde-1) ("rust-serde-json" ,rust-serde-json-1) ("rust-slug" ,rust-slug-0.1) - ("rust-unic-segment" ,rust-unic-segment-0.9)))) + ("rust-unic-segment" ,rust-unic-segment-0.9)) + #:cargo-development-inputs + (("rust-pretty-assertions" ,rust-pretty-assertions-1) + ("rust-serde-derive" ,rust-serde-derive-1) + ("rust-tempfile" ,rust-tempfile-3)))) (home-page "https://tera.netlify.com/") (synopsis "Template engine based on Jinja2/Django templates") (description @@ -63073,6 +67734,37 @@ writing colored text to a terminal.") #:cargo-inputs (("rust-wincolor" ,rust-wincolor-0.1)))))) +(define-public rust-termimad-0.20 + (package + (name "rust-termimad") + (version "0.20.6") + (source (origin + (method url-fetch) + (uri (crate-uri "termimad" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "11qj19k1bry9pf78r515sgamnjia8s3irqyc4vr1qq0ppjs49ayg")) + (modules '((guix build utils))) + (snippet + '(begin (substitute* "Cargo.toml" + (("=([[:digit:]]+\\.[[:digit:]]+\\.[[:digit:]]+)" _ version) + (string-append "^" version))))))) + (build-system cargo-build-system) + (arguments + `(#:skip-build? #t ; Cut the dependency graph + #:cargo-inputs + (("rust-coolor" ,rust-coolor-0.5) + ("rust-crossbeam" ,rust-crossbeam-0.8) + ("rust-crossterm" ,rust-crossterm-0.23) + ("rust-minimad" ,rust-minimad-0.9) + ("rust-thiserror" ,rust-thiserror-1) + ("rust-unicode-width" ,rust-unicode-width-0.1)))) + (home-page "https://github.com/Canop/termimad") + (synopsis "Markdown Renderer for the Terminal") + (description "Markdown Renderer for the Terminal.") + (license license:expat))) + (define-public rust-terminal-size-0.2 (package (name "rust-terminal-size") @@ -63235,8 +67927,40 @@ return values to @code{std::io::Result} to indicate success or failure.") streams.") (license license:expat))) +(define-public rust-test-case-3 + (package + (name "rust-test-case") + (version "3.1.0") + (source (origin + (method url-fetch) + (uri (crate-uri "test-case" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1pr53g4x6gykfj4hvffivyd0aa0hj9pbfr87y8908sskvrxnw79a")))) + (build-system cargo-build-system) + (arguments + `(#:tests? #f ; Not all test files included. + #:cargo-inputs + (("rust-regex" ,rust-regex-1) + ("rust-test-case-macros" ,rust-test-case-macros-3)) + #:cargo-development-inputs + (("rust-insta" ,rust-insta-1) + ("rust-itertools" ,rust-itertools-0.10) + ("rust-regex" ,rust-regex-1)))) + (home-page "https://github.com/frondeus/test-case") + (synopsis "Procedural macro attribute for parametrized test cases") + (description + "This crate provides @code{#[test_case]} procedural macro attribute that +generates multiple parametrized tests using one body with different input +parameters. A test is generated for each data set passed in test_case +attribute. Under the hood, all test cases that share same body are grouped +into mod, giving clear and readable test results.") + (license license:expat))) + (define-public rust-test-case-2 (package + (inherit rust-test-case-3) (name "rust-test-case") (version "2.2.2") (source (origin @@ -63250,7 +67974,6 @@ streams.") '(begin (substitute* "Cargo.toml" (("=([[:digit:]]+\\.[[:digit:]]+\\.[[:digit:]]+)" _ version) (string-append "^" version))))))) - (build-system cargo-build-system) (arguments `(#:tests? #f ; Not all files included. #:cargo-inputs @@ -63263,16 +67986,7 @@ streams.") ("rust-linked-hash-map" ,rust-linked-hash-map-0.5) ("rust-once-cell" ,rust-once-cell-1) ("rust-regex" ,rust-regex-1) - ("rust-serde-yaml" ,rust-serde-yaml-0.8)))) - (home-page "https://github.com/frondeus/test-case") - (synopsis "Procedural macro attribute for parametrized test cases") - (description - "This crate provides @code{#[test_case]} procedural macro attribute that -generates multiple parametrized tests using one body with different input -parameters. A test is generated for each data set passed in test_case -attribute. Under the hood, all test cases that share same body are grouped -into mod, giving clear and readable test results.") - (license license:expat))) + ("rust-serde-yaml" ,rust-serde-yaml-0.8)))))) (define-public rust-test-case-1 (package @@ -63297,16 +68011,17 @@ into mod, giving clear and readable test results.") (("rust-insta" ,rust-insta-0.12) ("rust-lazy-static" ,rust-lazy-static-1)))))) -(define-public rust-test-case-macros-2 +(define-public rust-test-case-core-3 (package - (name "rust-test-case-macros") - (version "2.2.2") + (name "rust-test-case-core") + (version "3.1.0") (source (origin (method url-fetch) - (uri (crate-uri "test-case-macros" version)) + (uri (crate-uri "test-case-core" version)) (file-name (string-append name "-" version ".tar.gz")) (sha256 - (base32 "09jvbfvz48v6ya3i25gp3lbr6ym1fz7qyp3l6bcdslwkw7v7nnz4")))) + (base32 + "1vhckjjw4w1kaanhgy6bw8kdr8ligr68bz5nfbvr8xz2s7ar80yi")))) (build-system cargo-build-system) (arguments `(#:cargo-inputs @@ -63316,12 +68031,57 @@ into mod, giving clear and readable test results.") ("rust-quote" ,rust-quote-1) ("rust-syn" ,rust-syn-1)))) (home-page "https://github.com/frondeus/test-case") + (synopsis "Core functionality for the test-case crate") + (description + "This package provides core functionality for parsing #[test_case(...)] +procedural macro attribute for generating parametrized test cases easily") + (license license:expat))) + +(define-public rust-test-case-macros-3 + (package + (name "rust-test-case-macros") + (version "3.1.0") + (source (origin + (method url-fetch) + (uri (crate-uri "test-case-macros" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "014l5wafp069d251c62flwyai8nv75vpjlmib2xc2m3a3i5s9fgf")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-proc-macro-error" ,rust-proc-macro-error-1) + ("rust-proc-macro2" ,rust-proc-macro2-1) + ("rust-quote" ,rust-quote-1) + ("rust-syn" ,rust-syn-1) + ("rust-test-case-core" ,rust-test-case-core-3)))) + (home-page "https://github.com/frondeus/test-case") (synopsis "Macros for the test-case crate") (description "This package provides #[test_case(...)] procedural macro attribute for generating parametrized test cases easily.") (license license:expat))) +(define-public rust-test-case-macros-2 + (package + (inherit rust-test-case-macros-3) + (name "rust-test-case-macros") + (version "2.2.2") + (source (origin + (method url-fetch) + (uri (crate-uri "test-case-macros" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "09jvbfvz48v6ya3i25gp3lbr6ym1fz7qyp3l6bcdslwkw7v7nnz4")))) + (arguments + `(#:cargo-inputs + (("rust-cfg-if" ,rust-cfg-if-1) + ("rust-proc-macro-error" ,rust-proc-macro-error-1) + ("rust-proc-macro2" ,rust-proc-macro2-1) + ("rust-quote" ,rust-quote-1) + ("rust-syn" ,rust-syn-1)))))) + (define-public rust-test-cert-gen-0.7 (package (name "rust-test-cert-gen") @@ -63373,6 +68133,37 @@ one body with different resource input parameters. A test is generated for each resource matching the specific resource location pattern.") (license license:asl2.0))) +(define-public rust-test-log-0.2 + (package + (name "rust-test-log") + (version "0.2.11") + (source (origin + (method url-fetch) + (uri (crate-uri "test-log" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "03pmvrg6lc2qgnby9w2fhn1vzqysbl643p7jy14a0s7bz9aciw1q")))) + (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-env-logger" ,rust-env-logger-0.9) + ("rust-log" ,rust-log-0.4) + ("rust-tokio" ,rust-tokio-1) + ("rust-tracing" ,rust-tracing-0.1) + ("rust-tracing-futures" ,rust-tracing-futures-0.2) + ("rust-tracing-subscriber" ,rust-tracing-subscriber-0.3)))) + (home-page "https://github.com/d-e-s-o/test-log") + (synopsis "Replacement of the #[test] attribute that initializes logging") + (description + "This package provides a replacement of the #[test] attribute that initializes +logging and/or tracing infrastructure before running tests.") + (license (list license:asl2.0 license:expat)))) + (define-public rust-test-strategy-0.2 (package (name "rust-test-strategy") @@ -63401,6 +68192,42 @@ each resource matching the specific resource location pattern.") strategies in proptest.") (license (list license:expat license:asl2.0)))) +(define-public rust-test-with-0.8 + (package + (name "rust-test-with") + (version "0.8.1") + (source (origin + (method url-fetch) + (uri (crate-uri "test-with" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1vaqbyixd8li4jb9akvrbc6yfm0kl435byggg0kghrdl32hpn6ay")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-byte-unit" ,rust-byte-unit-4) + ("rust-num-cpus" ,rust-num-cpus-1) + ("rust-ping" ,rust-ping-0.4) + ("rust-proc-macro-error" ,rust-proc-macro-error-1) + ("rust-proc-macro2" ,rust-proc-macro2-1) + ("rust-quote" ,rust-quote-1) + ("rust-regex" ,rust-regex-1) + ("rust-reqwest" ,rust-reqwest-0.11) + ("rust-syn" ,rust-syn-1) + ("rust-sysinfo" ,rust-sysinfo-0.27) + ("rust-users" ,rust-users-0.11)) + #:cargo-development-inputs (("rust-tokio" ,rust-tokio-1)))) + (native-inputs + (list pkg-config)) + (inputs + (list openssl)) + (home-page "https://github.com/yanganto/test-with") + (synopsis "Run test with conditions") + (description + "This package provides a lib to help you run test with conditions in Rust.") + (license license:expat))) + (define-public rust-tester-0.9 (package (name "rust-tester") @@ -63452,6 +68279,25 @@ unstable language features.") ("rust-libc" ,rust-libc-0.2) ("rust-term" ,rust-term-0.4)))))) +(define-public rust-testing-logger-0.1 + (package + (name "rust-testing-logger") + (version "0.1.1") + (source (origin + (method url-fetch) + (uri (crate-uri "testing-logger" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "087pi7y9iisspafyzblj41qvrw95dfb6px7pavlkmls5rckvg4kd")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs (("rust-log" ,rust-log-0.4)))) + (home-page "https://github.com/brucechapman/rust_testing_logger") + (synopsis "Supports writing tests to verify `log` crate calls") + (description "Supports writing tests to verify `log` crate calls.") + (license license:bsd-3))) + (define-public rust-text-size-1 (package (name "rust-text-size") @@ -63714,20 +68560,21 @@ different for every thread.") (define-public rust-thread-local-1 (package (name "rust-thread-local") - (version "1.1.3") + (version "1.1.7") (source (origin (method url-fetch) (uri (crate-uri "thread_local" version)) (file-name (string-append name "-" version ".tar.gz")) (sha256 - (base32 "1gccp3grndpi6dyhzylz4hkqnkzc1xyri98n0xwwhnn90i7d4640")))) + (base32 "0lp19jdgvp5m4l60cgxdnl00yw1hlqy8gcywg9bddwng9h36zp9z")))) (build-system cargo-build-system) (arguments - `(#:skip-build? #t - #:cargo-inputs - (("rust-criterion" ,rust-criterion-0.3) - ("rust-once-cell" ,rust-once-cell-1)))) + `(#:cargo-inputs + (("rust-cfg-if" ,rust-cfg-if-1) + ("rust-once-cell" ,rust-once-cell-1)) + #:cargo-development-inputs + (("rust-criterion" ,rust-criterion-0.4)))) (home-page "https://github.com/Amanieu/thread_local-rs") (synopsis "Per-object thread-local storage") (description "Per-object thread-local storage.") @@ -64888,11 +69735,10 @@ the current thread.") (description "This package provides future execution primitives.") (license license:expat))) -;; Cyclic dependency with rust-tokio. (define-public rust-tokio-executor-0.1 (package (name "rust-tokio-executor") - (version "0.1.7") + (version "0.1.10") (source (origin (method url-fetch) @@ -64901,12 +69747,11 @@ the current thread.") (string-append name "-" version ".tar.gz")) (sha256 (base32 - "0pjmgpg58k3hf5q9w6xjljsv8xy66lf734qnfwsc0g3pq3349sl3")))) + "0w8n78d2vixs1vghqc4wy9w0d1h6qkli51c1yzhzbns88n7inbgv")))) (build-system cargo-build-system) (arguments - `(#:skip-build? #t - #:cargo-inputs - (("rust-crossbeam-utils" ,rust-crossbeam-utils-0.6) + `(#:cargo-inputs + (("rust-crossbeam-utils" ,rust-crossbeam-utils-0.7) ("rust-futures" ,rust-futures-0.1)) #:cargo-development-inputs (("rust-tokio" ,rust-tokio-0.1)))) @@ -65311,7 +70156,7 @@ in Rust.") (define-public rust-tokio-process-0.2 (package (name "rust-tokio-process") - (version "0.2.4") + (version "0.2.5") (source (origin (method url-fetch) @@ -65320,11 +70165,10 @@ in Rust.") (string-append name "-" version ".tar.gz")) (sha256 (base32 - "1s6vi5n5iax4ksx3bzpfdhfbngj49mvq5n40np1d4aycp3qnxgdg")))) + "0hvygspal1v62kamkjxqygzr8cwnakccziivbnzaw7537zs90b9q")))) (build-system cargo-build-system) (arguments - `(#:skip-build? #t - #:cargo-inputs + `(#:cargo-inputs (("rust-crossbeam-queue" ,rust-crossbeam-queue-0.1) ("rust-futures" ,rust-futures-0.1) ("rust-lazy-static" ,rust-lazy-static-1) @@ -65351,7 +70195,7 @@ futures.") (define-public rust-tokio-reactor-0.1 (package (name "rust-tokio-reactor") - (version "0.1.9") + (version "0.1.12") (source (origin (method url-fetch) @@ -65360,17 +70204,22 @@ futures.") (string-append name "-" version ".tar.gz")) (sha256 (base32 - "1khip64cn63xvayq1db68kxcnhgw3cb449a4n2lbw4p1qzx6pwba")))) + "0l8klnd41q55f3ialzz0lb7s5bfwa38nh86sa9vai2xsqh75kg09")) + (modules '((guix build utils))) + (snippet + '(begin (substitute* "Cargo.toml" + (("\"=([[:digit:]]+(\\.[[:digit:]]+)*)" _ version) + (string-append "\"^" version))))))) (build-system cargo-build-system) (arguments `(#:cargo-inputs - (("rust-crossbeam-utils" ,rust-crossbeam-utils-0.6) + (("rust-crossbeam-utils" ,rust-crossbeam-utils-0.7) ("rust-futures" ,rust-futures-0.1) ("rust-lazy-static" ,rust-lazy-static-1) ("rust-log" ,rust-log-0.4) ("rust-mio" ,rust-mio-0.6) ("rust-num-cpus" ,rust-num-cpus-1) - ("rust-parking-lot" ,rust-parking-lot-0.7) + ("rust-parking-lot" ,rust-parking-lot-0.9) ("rust-slab" ,rust-slab-0.4) ("rust-tokio-executor" ,rust-tokio-executor-0.1) ("rust-tokio-io" ,rust-tokio-io-0.1) @@ -65525,31 +70374,6 @@ Rustls.") ("rust-webpki-roots" ,rust-webpki-roots-0.18)))) (license (list license:expat license:asl2.0)))) -(define-public rust-tokio-rustls-0.10 - (package - (inherit rust-tokio-rustls-0.12) - (name "rust-tokio-rustls") - (version "0.10.3") - (source - (origin - (method url-fetch) - (uri (crate-uri "tokio-rustls" version)) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 "0xh6gxilm7waj55rxfgqmvl8abynzr3ang57qvbap400k67z0z1d")))) - (arguments - `(#:cargo-test-flags '("--release" "--" "--skip=test_badssl") - #:cargo-inputs - (("rust-bytes" ,rust-bytes-0.4) - ("rust-futures" ,rust-futures-0.1) - ("rust-iovec" ,rust-iovec-0.1) - ("rust-rustls" ,rust-rustls-0.16) - ("rust-tokio-io" ,rust-tokio-io-0.1) - ("rust-webpki" ,rust-webpki-0.21)) - #:cargo-development-inputs - (("rust-tokio" ,rust-tokio-0.1) - ("rust-webpki-roots" ,rust-webpki-roots-0.17)))))) - (define-public rust-tokio-rustls-0.9 (package (inherit rust-tokio-rustls-0.12) @@ -65667,25 +70491,26 @@ Rust.") (define-public rust-tokio-stream-0.1 (package (name "rust-tokio-stream") - (version "0.1.0") + (version "0.1.14") (source (origin (method url-fetch) (uri (crate-uri "tokio-stream" version)) (file-name (string-append name "-" version ".tar.gz")) (sha256 - (base32 "0airchgn5zwzynchygdr8m7i4nizhfmifjz0iw6224sbnw9yjfrz")))) + (base32 "0hi8hcwavh5sdi1ivc9qc4yvyr32f153c212dpd7sb366y6rhz1r")))) (build-system cargo-build-system) (arguments - `(#:tests? #false ;FIXME: unresolved import + `(#:tests? #false ; unresolved import `tokio_test` #:cargo-inputs (("rust-async-stream" ,rust-async-stream-0.3) - ("rust-futures-core" ,rust-futures-core-0.3) ("rust-pin-project-lite" ,rust-pin-project-lite-0.2) - ("rust-tokio" ,rust-tokio-1)) + ("rust-tokio" ,rust-tokio-1) + ("rust-tokio-util" ,rust-tokio-util-0.7)) #:cargo-development-inputs - (("rust-futures" ,rust-futures-0.3) - ("rust-proptest" ,rust-proptest-0.10) + (("rust-async-stream" ,rust-async-stream-0.3) + ("rust-futures" ,rust-futures-0.3) + ("rust-parking-lot" ,rust-parking-lot-0.12) ("rust-tokio" ,rust-tokio-1)))) (home-page "https://tokio.rs") (synopsis "Utilities to work with @code{Stream} and @code{tokio}") @@ -65746,14 +70571,14 @@ Rust.") (define-public rust-tokio-test-0.4 (package (name "rust-tokio-test") - (version "0.4.0") + (version "0.4.2") (source (origin (method url-fetch) (uri (crate-uri "tokio-test" version)) (file-name (string-append name "-" version ".tar.gz")) (sha256 - (base32 "1gwrqdwlfih6ib66wxc7yaaq7a9mlsmnxj2ahag3zc2rdxgj0zbw")))) + (base32 "1qv3h6y0c87i22p3q6sqvq2a1y5lzim9abbzs4q6a5jymqkl6isk")))) (build-system cargo-build-system) (arguments `(#:cargo-inputs @@ -65848,7 +70673,7 @@ futures-based code.") (define-public rust-tokio-threadpool-0.1 (package (name "rust-tokio-threadpool") - (version "0.1.14") + (version "0.1.18") (source (origin (method url-fetch) @@ -65857,23 +70682,23 @@ futures-based code.") (string-append name "-" version ".tar.gz")) (sha256 (base32 - "1wkj3wixicsqvllm8w74b24knw6mdn00zslm8l9fm1p81gr8lmbj")))) + "12azq8jm71b7hdm72pxrgqm2879bn6b0fcdl1s7i2k3qh5jhnwnz")))) (build-system cargo-build-system) (arguments `(#:cargo-inputs (("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-lazy-static" ,rust-lazy-static-1) + ("rust-crossbeam-queue" ,rust-crossbeam-queue-0.2) + ("rust-crossbeam-utils" ,rust-crossbeam-utils-0.7) ("rust-futures" ,rust-futures-0.1) + ("rust-lazy-static" ,rust-lazy-static-1) ("rust-log" ,rust-log-0.4) ("rust-num-cpus" ,rust-num-cpus-1) - ("rust-rand" ,rust-rand-0.6) ("rust-slab" ,rust-slab-0.4) ("rust-tokio-executor" ,rust-tokio-executor-0.1)) #:cargo-development-inputs - (("rust-env-logger" ,rust-env-logger-0.5) + (("rust-env-logger" ,rust-env-logger-0.6) ("rust-futures-cpupool" ,rust-futures-cpupool-0.1) + ("rust-rand" ,rust-rand-0.7) ("rust-threadpool" ,rust-threadpool-1)))) (home-page "https://github.com/tokio-rs/tokio") (synopsis @@ -65886,7 +70711,7 @@ pool.") (define-public rust-tokio-timer-0.2 (package (name "rust-tokio-timer") - (version "0.2.11") + (version "0.2.13") (source (origin (method url-fetch) @@ -65895,17 +70720,16 @@ pool.") (string-append name "-" version ".tar.gz")) (sha256 (base32 - "03m68ainkdy3b5pf20rjyknhk2ppx35bjdc2yfj2bv80sl96h47j")))) + "15pjjj6daks3sii8p24a509b0dapl2kyk740nwfgz59w64nly14k")))) (build-system cargo-build-system) (arguments - `(#:skip-build? #t - #:cargo-inputs - (("rust-crossbeam-utils" ,rust-crossbeam-utils-0.6) + `(#:cargo-inputs + (("rust-crossbeam-utils" ,rust-crossbeam-utils-0.7) ("rust-futures" ,rust-futures-0.1) ("rust-slab" ,rust-slab-0.4) ("rust-tokio-executor" ,rust-tokio-executor-0.1)) #:cargo-development-inputs - (("rust-rand" ,rust-rand-0.4) + (("rust-rand" ,rust-rand-0.7) ("rust-tokio" ,rust-tokio-0.1) ("rust-tokio-mock-task" ,rust-tokio-mock-task-0.1)))) (home-page "https://github.com/tokio-rs/tokio") @@ -66250,6 +71074,38 @@ stream-based WebSocket implementation.") ("rust-tokio" ,rust-tokio-0.2) ("rust-tokio-test" ,rust-tokio-test-0.2)))))) +(define-public rust-tokio-vsock-0.3 + (package + (name "rust-tokio-vsock") + (version "0.3.4") + (source (origin + (method url-fetch) + (uri (crate-uri "tokio-vsock" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1g1fhsibfdgsqayjr9gxkd5npgxh8rj36pcb9pi1c7ci51l5acwv")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-test-flags + '("--release" "--" "--skip=test_vsock_server") + #:cargo-inputs + (("rust-bytes" ,rust-bytes-0.4) + ("rust-futures" ,rust-futures-0.3) + ("rust-libc" ,rust-libc-0.2) + ("rust-tokio" ,rust-tokio-1) + ("rust-tonic" ,rust-tonic-0.6) + ("rust-vsock" ,rust-vsock-0.2)) + #:cargo-development-inputs + (("rust-rand" ,rust-rand-0.8) + ("rust-sha2" ,rust-sha2-0.9) + ("rust-tokio" ,rust-tokio-1)))) + (home-page "https://github.com/rust-vsock/tokio-vsock") + (synopsis "Asynchronous Virtio socket support for Rust") + (description + "This package provides asynchronous Virtio socket support for Rust.") + (license license:asl2.0))) + (define-public rust-toml-0.7 (package (name "rust-toml") @@ -66591,17 +71447,17 @@ parser.") (define-public rust-tonic-0.6 (package (name "rust-tonic") - (version "0.6.1") + (version "0.6.2") (source (origin (method url-fetch) (uri (crate-uri "tonic" version)) (file-name (string-append name "-" version ".tar.gz")) (sha256 - (base32 "1yjsnfkkq3c7xcyxkid0zgpm8w774qqdny0im6fr0s1drxwkn814")))) + (base32 "02jxiy0n2mw2c1fchykj3m18wp986685bji26px0z9qhkmjg827z")))) (build-system cargo-build-system) (arguments - `(#:skip-build? #t + `(#:tests? #f ; unresolved import `crate::codec::compression` #:cargo-inputs (("rust-async-stream" ,rust-async-stream-0.3) ("rust-async-trait" ,rust-async-trait-0.1) @@ -66629,7 +71485,15 @@ parser.") ("rust-tower-service" ,rust-tower-service-0.3) ("rust-tracing" ,rust-tracing-0.1) ("rust-tracing-futures" ,rust-tracing-futures-0.2) - ("rust-webpki-roots" ,rust-webpki-roots-0.21)))) + ("rust-webpki-roots" ,rust-webpki-roots-0.21)) + #:cargo-development-inputs + (("rust-bencher" ,rust-bencher-0.1) + ("rust-quickcheck" ,rust-quickcheck-1) + ("rust-quickcheck-macros" ,rust-quickcheck-macros-1) + ("rust-rand" ,rust-rand-0.8) + ("rust-static-assertions" ,rust-static-assertions-1) + ("rust-tokio" ,rust-tokio-1) + ("rust-tower" ,rust-tower-0.4)))) (home-page "https://github.com/hyperium/tonic") (synopsis "gRPC over HTTP/2 implementation for Rust") (description @@ -66802,27 +71666,26 @@ server @code{Service} tests.") (define-public rust-tracing-0.1 (package (name "rust-tracing") - (version "0.1.36") + (version "0.1.38") (source (origin (method url-fetch) (uri (crate-uri "tracing" version)) (file-name (string-append name "-" version ".tar.gz")) (sha256 - (base32 "01s3qsm1jfz4h4l401lhy8j2yfds45kpb234l447v9k0pmkrbkig")))) + (base32 "0kc1mpsh00l2zd9wryf1jyzwvilmbjdg5dmnn240rx6k2flgd76g")))) (build-system cargo-build-system) (arguments - `(#:cargo-inputs - (("rust-cfg-if" ,rust-cfg-if-1) - ("rust-log" ,rust-log-0.4) + `(#:tests? #f + #:cargo-inputs + (("rust-log" ,rust-log-0.4) ("rust-pin-project-lite" ,rust-pin-project-lite-0.2) ("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-futures" ,rust-futures-0.3) ("rust-log" ,rust-log-0.4) - ("rust-tokio" ,rust-tokio-0.2) ("rust-wasm-bindgen-test" ,rust-wasm-bindgen-test-0.3)))) (home-page "https://tokio.rs") (synopsis "Application-level tracing for Rust") @@ -66833,7 +71696,7 @@ programs to collect structured, event-based diagnostic information.") (define-public rust-tracing-attributes-0.1 (package (name "rust-tracing-attributes") - (version "0.1.22") + (version "0.1.26") (source (origin (method url-fetch) @@ -66841,19 +71704,21 @@ programs to collect structured, event-based diagnostic information.") (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "1qjf90dvc9jiw78bjzb3iqzrhaybypg8nm0n0zhwi6smmy9miiqi")))) + "1ax44ldpbcb7dsvpljiv2krnx6xp0hs85zcyv8385sarc7sk2ksz")))) (build-system cargo-build-system) (arguments - `(#:cargo-inputs + `(#:tests? #f + #:cargo-inputs (("rust-proc-macro2" ,rust-proc-macro2-1) ("rust-quote" ,rust-quote-1) - ("rust-syn" ,rust-syn-1)) + ("rust-syn" ,rust-syn-2)) #:cargo-development-inputs (("rust-async-trait" ,rust-async-trait-0.1) - ("rust-tokio-test" ,rust-tokio-test-0.3) + ("rust-rustversion" ,rust-rustversion-1) + ("rust-tokio-test" ,rust-tokio-test-0.4) ("rust-tracing" ,rust-tracing-0.1) - ("rust-tracing-core" ,rust-tracing-core-0.1) - ("rust-tracing-subscriber" ,rust-tracing-subscriber-0.3)))) + ("rust-tracing-subscriber" ,rust-tracing-subscriber-0.3) + ("rust-trybuild" ,rust-trybuild-1)))) (home-page "https://tokio.rs") (synopsis "Automatically instrument functions") (description "This package provides procedural macro attributes for @@ -66863,7 +71728,7 @@ automatically instrumenting functions.") (define-public rust-tracing-core-0.1 (package (name "rust-tracing-core") - (version "0.1.29") + (version "0.1.31") (source (origin (method url-fetch) @@ -66871,7 +71736,7 @@ automatically instrumenting functions.") (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "1xr2dqar64fj4y43vy0xvaxs6n3xssd3z0jbf408lmbn60qa9vjs")))) + "16pp28izw9c41m7c55qsghlz07r9ark8lzd3x6ig3xhxg89vhm89")))) (build-system cargo-build-system) (arguments `(#:cargo-inputs @@ -66918,7 +71783,7 @@ automatically instrumenting functions.") (define-public rust-tracing-log-0.1 (package (name "rust-tracing-log") - (version "0.1.2") + (version "0.1.3") (source (origin (method url-fetch) @@ -66927,16 +71792,19 @@ automatically instrumenting functions.") (string-append name "-" version ".tar.gz")) (sha256 (base32 - "1qv1cwvdqrgvizkszbff4fvkw0m3nn5yz68r3yaw2hcflivk94m6")))) + "08prnkxq8yas6jvvjnvyx5v3hwblas5527wxxgbiw2yis8rsvpbq")))) (build-system cargo-build-system) (arguments `(#:cargo-inputs - (("rust-env-logger" ,rust-env-logger-0.7) + (("rust-ahash" ,rust-ahash-0.7) + ("rust-env-logger" ,rust-env-logger-0.7) ("rust-lazy-static" ,rust-lazy-static-1) ("rust-log" ,rust-log-0.4) + ("rust-lru" ,rust-lru-0.7) ("rust-tracing-core" ,rust-tracing-core-0.1)) #:cargo-development-inputs - (("rust-tracing" ,rust-tracing-0.1)))) + (("rust-criterion" ,rust-criterion-0.3) + ("rust-tracing" ,rust-tracing-0.1)))) (home-page "https://tokio.rs") (synopsis "Provides compatibility between tracing the log crates") @@ -66961,19 +71829,21 @@ with tracing (optional, enabled by the env-logger feature). (define-public rust-tracing-serde-0.1 (package (name "rust-tracing-serde") - (version "0.1.2") + (version "0.1.3") (source (origin (method url-fetch) (uri (crate-uri "tracing-serde" version)) (file-name (string-append name "-" version ".tar.gz")) (sha256 - (base32 "12xjirg0b3cparjdhkd9pksrmv33gz7rdm4gfkvgk15v3x2flrgv")))) + (base32 "1qfr0va69djvxqvjrx4vqq7p6myy414lx4w1f6amcn0hfwqj2sxw")))) (build-system cargo-build-system) (arguments `(#:cargo-inputs (("rust-serde" ,rust-serde-1) - ("rust-tracing-core" ,rust-tracing-core-0.1)) + ("rust-tracing-core" ,rust-tracing-core-0.1) + ("rust-valuable" ,rust-valuable-0.1) + ("rust-valuable-serde" ,rust-valuable-serde-0.1)) #:cargo-development-inputs (("rust-serde-json" ,rust-serde-json-1)))) (home-page "https://tokio.rs") @@ -66987,22 +71857,22 @@ with @code{serde}.") (define-public rust-tracing-subscriber-0.3 (package (name "rust-tracing-subscriber") - (version "0.3.5") + (version "0.3.17") (source (origin (method url-fetch) (uri (crate-uri "tracing-subscriber" version)) (file-name (string-append name "-" version ".tar.gz")) (sha256 - (base32 "157mz6q0ljpragrj4hsv5rchyabsbfc7r0sb0g5rik142jlbz0ax")))) + (base32 "0xvwfpmb943hdy4gzyn7a2azgigf30mfd1kx10gyh5gr6yy539ih")))) (build-system cargo-build-system) (arguments - `(#:skip-build? #t + `(#:tests? #f ; use of undeclared crate or module `tracing_mock` #:cargo-inputs - (("rust-ansi-term" ,rust-ansi-term-0.12) - ("rust-lazy-static" ,rust-lazy-static-1) - ("rust-matchers" ,rust-matchers-0.1) - ("rust-parking-lot" ,rust-parking-lot-0.11) + (("rust-matchers" ,rust-matchers-0.1) + ("rust-nu-ansi-term" ,rust-nu-ansi-term-0.46) + ("rust-once-cell" ,rust-once-cell-1) + ("rust-parking-lot" ,rust-parking-lot-0.12) ("rust-regex" ,rust-regex-1) ("rust-serde" ,rust-serde-1) ("rust-serde-json" ,rust-serde-json-1) @@ -67013,7 +71883,18 @@ with @code{serde}.") ("rust-tracing" ,rust-tracing-0.1) ("rust-tracing-core" ,rust-tracing-core-0.1) ("rust-tracing-log" ,rust-tracing-log-0.1) - ("rust-tracing-serde" ,rust-tracing-serde-0.1)))) + ("rust-tracing-serde" ,rust-tracing-serde-0.1) + ("rust-valuable" ,rust-valuable-0.1) + ("rust-valuable-serde" ,rust-valuable-serde-0.1)) + #:cargo-development-inputs + (("rust-criterion" ,rust-criterion-0.3) + ("rust-log" ,rust-log-0.4) + ("rust-regex" ,rust-regex-1) + ("rust-time" ,rust-time-0.3) + ("rust-tokio" ,rust-tokio-1) + ("rust-tracing" ,rust-tracing-0.1) + ("rust-tracing-futures" ,rust-tracing-futures-0.2) + ("rust-tracing-log" ,rust-tracing-log-0.1)))) (home-page "https://tokio.rs") (synopsis "Implement and compose tracing subscribers") (description @@ -67175,26 +72056,31 @@ be used directly. See @code{rust-trackable} for more information.") (define-public rust-trash-2 (package (name "rust-trash") - (version "2.0.2") + (version "2.1.3") (source (origin (method url-fetch) (uri (crate-uri "trash" version)) (file-name (string-append name "-" version ".tar.gz")) (sha256 - (base32 "1g3wjnr5qvgvvi144mlgf0mh80dybmy9zv2xyswpm55p5p5vdsyk")))) + (base32 "14ji8b84ghwkln01v90ahhl2jkxv2qxkm0afprzphf1ln41k6nqi")))) (build-system cargo-build-system) (arguments - `(#:skip-build? #t - #:cargo-inputs + `(#:cargo-inputs (("rust-chrono" ,rust-chrono-0.4) ("rust-libc" ,rust-libc-0.2) ("rust-log" ,rust-log-0.4) ("rust-objc" ,rust-objc-0.2) + ("rust-once-cell" ,rust-once-cell-1) ("rust-scopeguard" ,rust-scopeguard-1) ("rust-url" ,rust-url-2) - ("rust-windows" ,rust-windows-0.9) - ("rust-windows" ,rust-windows-0.9)))) + ("rust-windows" ,rust-windows-0.9)) + #:cargo-development-inputs + (("rust-chrono" ,rust-chrono-0.4) + ("rust-env-logger" ,rust-env-logger-0.9) + ("rust-once-cell" ,rust-once-cell-1) + ("rust-rand" ,rust-rand-0.8) + ("rust-serial-test" ,rust-serial-test-0.6)))) (home-page "https://github.com/ArturKovacs/trash-rs") (synopsis "Library for moving files and folders to the recycle bin") (description @@ -67288,6 +72174,58 @@ etc. distance calculations and string search.") (sha256 (base32 "0v795l496crk3h6yff9zh1cjyrh5s9v23fbgccc4dpz25z70jav2")))))) +(define-public rust-trust-dns-client-0.22 + (package + (name "rust-trust-dns-client") + (version "0.22.0") + (source (origin + (method url-fetch) + (uri (crate-uri "trust-dns-client" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1znkfhzwikii6v9k98ccbn3krwic1xs3bknf6y0b7nx9wqr8qh3c")))) + (build-system cargo-build-system) + (arguments + `(#:tests? #f ; Tests require network access. + #:cargo-inputs + (("rust-cfg-if" ,rust-cfg-if-1) + ("rust-data-encoding" ,rust-data-encoding-2) + ("rust-futures-channel" ,rust-futures-channel-0.3) + ("rust-futures-util" ,rust-futures-util-0.3) + ("rust-lazy-static" ,rust-lazy-static-1) + ("rust-openssl" ,rust-openssl-0.10) + ("rust-radix-trie" ,rust-radix-trie-0.2) + ("rust-rand" ,rust-rand-0.8) + ("rust-ring" ,rust-ring-0.16) + ("rust-rustls" ,rust-rustls-0.20) + ("rust-serde" ,rust-serde-1) + ("rust-thiserror" ,rust-thiserror-1) + ("rust-time" ,rust-time-0.3) + ("rust-tokio" ,rust-tokio-1) + ("rust-tracing" ,rust-tracing-0.1) + ("rust-trust-dns-proto" ,rust-trust-dns-proto-0.22) + ("rust-webpki" ,rust-webpki-0.22)) + #:cargo-development-inputs + (("rust-futures" ,rust-futures-0.3) + ("rust-openssl" ,rust-openssl-0.10) + ("rust-tokio" ,rust-tokio-1) + ("rust-tracing-subscriber" ,rust-tracing-subscriber-0.3)))) + (native-inputs + (list pkg-config)) + (inputs + (list openssl)) + (home-page "https://trust-dns.org/") + (synopsis "DNS library with DNSSEC support") + (description + "Trust-DNS is a DNS library. This is the Client library with DNSSEC +support. DNSSEC with NSEC validation for negative records, is complete. The +client supports dynamic DNS with SIG0 authenticated requests, implementing +easy to use high level funtions. Trust-DNS is based on the Tokio and Futures +libraries, which means it should be easily integrated into other software that +also use those libraries.") + (license (list license:expat license:asl2.0)))) + (define-public rust-trust-dns-https-0.20 (package (name "rust-trust-dns-https") @@ -68184,14 +73122,14 @@ the Trust-DNS client to use rustls for TLS.") (define-public rust-trybuild-1 (package (name "rust-trybuild") - (version "1.0.77") + (version "1.0.81") (source (origin (method url-fetch) (uri (crate-uri "trybuild" version)) (file-name (string-append name "-" version ".tar.gz")) (sha256 - (base32 "04rlcx55q7qbc17hv4znypwnm5n5d5ynbh5vsca8wk0nyakaakd4")))) + (base32 "0ab7ahdx563n6kbm14pm3qnxq4fp06pz42nh5ii4acvlzycnwdh4")))) (build-system cargo-build-system) (arguments `(#:cargo-inputs @@ -68202,27 +73140,59 @@ the Trust-DNS client to use rustls for TLS.") ("rust-serde" ,rust-serde-1) ("rust-serde-derive" ,rust-serde-derive-1) ("rust-serde-json" ,rust-serde-json-1) - ("rust-termcolor" ,rust-termcolor-1)))) + ("rust-termcolor" ,rust-termcolor-1)) + #:cargo-development-inputs (("rust-automod" ,rust-automod-1)))) (home-page "https://github.com/dtolnay/trybuild") (synopsis "Test harness for ui tests of compiler diagnostics") (description "Test harness for ui tests of compiler diagnostics.") (license (list license:expat license:asl2.0)))) +(define-public rust-trybuild2-1 + (package + (name "rust-trybuild2") + (version "1.1.0") + (source (origin + (method url-fetch) + (uri (crate-uri "trybuild2" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0z5nv6skmzz4d74sbrsrd7smyhs76sh8dwz4pd1kbvjpzq2l3v8i")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-basic-toml" ,rust-basic-toml-0.1) + ("rust-dissimilar" ,rust-dissimilar-1) + ("rust-glob" ,rust-glob-0.3) + ("rust-once-cell" ,rust-once-cell-1) + ("rust-serde" ,rust-serde-1) + ("rust-serde-derive" ,rust-serde-derive-1) + ("rust-serde-json" ,rust-serde-json-1) + ("rust-termcolor" ,rust-termcolor-1)) + #:cargo-development-inputs (("rust-automod" ,rust-automod-1)))) + (home-page "https://github.com/GuillaumeGomez/trybuild2") + (synopsis "Test harness for ui tests of compiler diagnostics") + (description + "This package provides a test harness for ui tests of compiler diagnostics +(with support for inline tests).") + (license (list license:expat license:asl2.0)))) + (define-public rust-trycmd-0.14 (package (name "rust-trycmd") - (version "0.14.12") + (version "0.14.16") (source (origin (method url-fetch) (uri (crate-uri "trycmd" version)) (file-name (string-append name "-" version ".tar.gz")) (sha256 - (base32 "10ag8s931glx0g1arj823dph27x77jc37nal733z7pal2g4dwiq3")))) + (base32 "13i5bmw4c8pansylgixfzknzm79g5n602rmi3qy1fax1d0cff999")))) (build-system cargo-build-system) (arguments `(#:cargo-inputs - (("rust-escargot" ,rust-escargot-0.5) + (("rust-anstream" ,rust-anstream-0.3) + ("rust-escargot" ,rust-escargot-0.5) ("rust-glob" ,rust-glob-0.3) ("rust-humantime" ,rust-humantime-2) ("rust-humantime-serde" ,rust-humantime-serde-1) @@ -68468,6 +73438,29 @@ design abstracts away all the internals of the WebSocket protocol but still makes them accessible for those who wants full control over the network.") (license (list license:expat license:asl2.0)))) +(define-public rust-twofish-0.7 + (package + (name "rust-twofish") + (version "0.7.1") + (source (origin + (method url-fetch) + (uri (crate-uri "twofish" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "04w0ii2c0c9ws08aw6c7illh9zql22il9lbwjk1mgir30aiq73m7")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-cipher" ,rust-cipher-0.4)) + #:cargo-development-inputs + (("rust-cipher" ,rust-cipher-0.4) + ("rust-hex-literal" ,rust-hex-literal-0.3)))) + (home-page "https://github.com/RustCrypto/block-ciphers") + (synopsis "Twofish block cipher") + (description "Twofish block cipher") + (license (list license:expat license:asl2.0)))) + (define-public rust-twoway-0.2 (package (name "rust-twoway") @@ -68748,8 +73741,30 @@ with the Unicode character database.") (license (list license:asl2.0 license:expat)))) +(define-public rust-uds-windows-1 + (package + (name "rust-uds-windows") + (version "1.0.2") + (source (origin + (method url-fetch) + (uri (crate-uri "uds-windows" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "03ckj6vnzvm4r5xd17dxyyqqqcfgs3xqj53hcswykk6k4i1n0rff")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-tempfile" ,rust-tempfile-3) + ("rust-winapi" ,rust-winapi-0.3)))) + (home-page "https://github.com/haraldh/rust_uds_windows") + (synopsis "Unix Domain Sockets for Windows") + (description "This library integrates Unix Domain Sockets on Windows.") + (license license:expat))) + (define-public rust-uds-windows-0.1 (package + (inherit rust-uds-windows-1) (name "rust-uds-windows") (version "0.1.5") (source @@ -68759,17 +73774,12 @@ with the Unicode character database.") (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 "0mdv9xyrf8z8zr2py5drbilkncgrkg61axq6h7hcvgggklv9f14z")))) - (build-system cargo-build-system) (arguments `(#:cargo-inputs (("rust-kernel32-sys" ,rust-kernel32-sys-0.2) ("rust-tempdir" ,rust-tempdir-0.3) ("rust-winapi" ,rust-winapi-0.2) - ("rust-ws2-32-sys" ,rust-ws2-32-sys-0.2)))) - (home-page "https://github.com/haraldh/rust_uds_windows") - (synopsis "Unix Domain Sockets for Windows") - (description "This library integrates Unix Domain Sockets on Windows.") - (license license:expat))) + ("rust-ws2-32-sys" ,rust-ws2-32-sys-0.2)))))) (define-public rust-ufmt-0.1 (package @@ -68887,6 +73897,27 @@ arithmetic.") "This package provides an utility to deal with Unix access mode.") (license license:expat))) +(define-public rust-unarray-0.1 + (package + (name "rust-unarray") + (version "0.1.4") + (source (origin + (method url-fetch) + (uri (crate-uri "unarray" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "154smf048k84prsdgh09nkm2n0w0336v84jd4zikyn6v6jrqbspa")))) + (build-system cargo-build-system) + (arguments + `(#:tests? #f ; use of undeclared crate or module `proptest` + #:cargo-development-inputs + (("rust-test-strategy" ,rust-test-strategy-0.2)))) + (home-page "https://github.com/cameron1024/unarray") + (synopsis "Utilities for working with uninitialized arrays") + (description "Utilities for working with uninitialized arrays.") + (license (list license:expat license:asl2.0)))) + (define-public rust-uncased-0.9 (package (name "rust-uncased") @@ -68932,6 +73963,24 @@ arithmetic.") "Unchecked indexing wrapper using regular index syntax.") (license (list license:asl2.0 license:expat)))) +(define-public rust-unescape-0.1 + (package + (name "rust-unescape") + (version "0.1.0") + (source (origin + (method url-fetch) + (uri (crate-uri "unescape" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0vlgws15n4kz8xq4igzr1f80nbiyr838k687hn6ly8a36an7vffc")))) + (build-system cargo-build-system) + (home-page "https://github.com/saghm/unescape-rs") + (synopsis "Unescapes strings") + (description + "Unescapes strings with escape sequences written out as literal characters.") + (license license:expat))) + (define-public rust-ungrammar-1 (package (name "rust-ungrammar") @@ -69168,7 +74217,7 @@ Unicode and Internationalization Crates (UNIC) project.") (define-public rust-unicode-bidi-0.3 (package (name "rust-unicode-bidi") - (version "0.3.4") + (version "0.3.13") (source (origin (method url-fetch) @@ -69177,14 +74226,13 @@ Unicode and Internationalization Crates (UNIC) project.") (string-append name "-" version ".tar.gz")) (sha256 (base32 - "1malx8ljgm7v1gbaazkn7iicy5wj0bwcyadj3l727a38ch6bvwj9")))) + "0q0l7rdkiq54pan7a4ama39dgynaf1mnjj1nddrq1w1zayjqp24j")))) (build-system cargo-build-system) (arguments - `(#:skip-build? #t + `(#:tests? #f ; Not all files included. #:cargo-inputs (("rust-flame" ,rust-flame-0.2) - ("rust-flamer" ,rust-flamer-0.3) - ("rust-matches" ,rust-matches-0.1) + ("rust-flamer" ,rust-flamer-0.4) ("rust-serde" ,rust-serde-1)) #:cargo-development-inputs (("rust-serde-test" ,rust-serde-test-1)))) @@ -69216,14 +74264,14 @@ membership for characters in Rust.") (define-public rust-unicode-ident-1 (package (name "rust-unicode-ident") - (version "1.0.3") + (version "1.0.8") (source (origin (method url-fetch) (uri (crate-uri "unicode-ident" version)) (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "1bqswc96ws8l6k7xx56dg521a3l5imi3mhlcz7rsi6a92mxb7xf4")))) + "1x4v4v95fv9gn5zbpm23sa9awjvmclap1wh1lmikmw9rna3llip5")))) (build-system cargo-build-system) ;; Most development inputs are competing implementations ;; for benchmarks. @@ -69267,7 +74315,7 @@ breaking algorithm in Rust.") (define-public rust-unicode-normalization-0.1 (package (name "rust-unicode-normalization") - (version "0.1.19") + (version "0.1.22") (source (origin (method url-fetch) @@ -69275,7 +74323,7 @@ breaking algorithm in Rust.") (file-name (string-append name "-" version ".tar.gz")) (sha256 - (base32 "1yabhmg8zlcksda3ajly9hpbzqgbhknxwch8dwkfkaa1569r0ifm")))) + (base32 "08d95g7b1irc578b2iyhzv4xhsa4pfvwsqxcl9lbcpabzkq16msw")))) (build-system cargo-build-system) (arguments `(#:cargo-inputs @@ -69426,14 +74474,14 @@ whitespace from a string.") (define-public rust-uniquote-3 (package (name "rust-uniquote") - (version "3.1.0") + (version "3.3.0") (source (origin (method url-fetch) (uri (crate-uri "uniquote" version)) (file-name (string-append name "-" version ".tar.gz")) (sha256 - (base32 "1bkl0n41yvs415mqny4b434kr456ysnb3dhic1zrrzppwx95jvxa")))) + (base32 "037xznqcdvc3riy9498cfrzzdhj2591cz0dpiy0h9wxfnbp01aal")))) (build-system cargo-build-system) (home-page "https://github.com/dylni/uniquote") (synopsis "Quote strings for clear display in output") @@ -69567,6 +74615,30 @@ clear display in the output.") "Traits and implementations for unchecked downcasting.") (license license:expat))) +;; This package was originally transpiled from libyaml, but has seen development +;; since then, showing that it is in its editable form. +(define-public rust-unsafe-libyaml-0.2 + (package + (name "rust-unsafe-libyaml") + (version "0.2.8") + (source (origin + (method url-fetch) + (uri (crate-uri "unsafe-libyaml" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "19l0v20x83dvxbr68rqvs9hvawaqd929hia1nldfahlhamm80r8q")))) + (build-system cargo-build-system) + (arguments + `(#:tests? #f ; use of undeclared crate or module `unsafe_libyaml_test_suite` + #:cargo-development-inputs + (("rust-pretty-assertions" ,rust-pretty-assertions-1)))) + (home-page "https://github.com/dtolnay/unsafe-libyaml") + (synopsis "Libyaml in rust") + (description "This package provides libyaml transpiled to rust by c2rust, +with changes and updated applied to it.") + (license license:expat))) + (define-public rust-unsafe-unwrap-0.1 (package (name "rust-unsafe-unwrap") @@ -69647,23 +74719,29 @@ comparable to calling @code{unwrap_err()}.") (define-public rust-ureq-2 (package (name "rust-ureq") - (version "2.4.0") + (version "2.6.2") (source (origin (method url-fetch) (uri (crate-uri "ureq" version)) (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "1m8nzx683iph4zfpfg2xmkkbwmgf1i403lnbhxqk4gbsj8pzm6ck")))) + "0vf412wyfk1wpaknqiq2v7y5zy9djammgvgkmcx8zxhl2gfk32rk")))) (build-system cargo-build-system) (arguments - `(#:tests? #f ;tests fail + `(#:cargo-test-flags + (list "--release" "--" + ;; These tests want network access. + "--skip=test::range::read_range_rustls" + "--skip=tests::connect_http_google" + "--skip=tests::connect_https_google_rustls" + "--skip=tls_client_certificate" + "--skip=middleware::Middleware") #:cargo-inputs (("rust-base64" ,rust-base64-0.13) ("rust-brotli-decompressor" ,rust-brotli-decompressor-2) - ("rust-chunked-transfer" ,rust-chunked-transfer-1) - ("rust-cookie" ,rust-cookie-0.15) - ("rust-cookie-store" ,rust-cookie-store-0.15) + ("rust-cookie" ,rust-cookie-0.16) + ("rust-cookie-store" ,rust-cookie-store-0.19) ("rust-encoding-rs" ,rust-encoding-rs-0.8) ("rust-flate2" ,rust-flate2-1) ("rust-log" ,rust-log-0.4) @@ -69678,10 +74756,11 @@ comparable to calling @code{unwrap_err()}.") ("rust-webpki" ,rust-webpki-0.22) ("rust-webpki-roots" ,rust-webpki-roots-0.22)) #:cargo-development-inputs - (("rust-env-logger" ,rust-env-logger-0.9) + (("rust-env-logger" ,rust-env-logger-0.10) ("rust-rustls" ,rust-rustls-0.20) - ("rust-rustls-pemfile" ,rust-rustls-pemfile-0.2) + ("rust-rustls-pemfile" ,rust-rustls-pemfile-1) ("rust-serde" ,rust-serde-1)))) + (native-inputs (list perl)) (home-page "https://github.com/algesten/ureq") (synopsis "Simple, safe HTTP client") (description "This package provides minimal request library in Rust.") @@ -69690,7 +74769,7 @@ comparable to calling @code{unwrap_err()}.") (define-public rust-url-2 (package (name "rust-url") - (version "2.3.1") + (version "2.4.0") (source (origin (method url-fetch) @@ -69699,12 +74778,12 @@ comparable to calling @code{unwrap_err()}.") (string-append name "-" version ".tar.gz")) (sha256 (base32 - "0hs67jw257y0a7mj2p9wi0n61x8fc2vgwxg37y62nxkmmscwfs0d")))) + "1jw89ack5ldvajpzsvhq9sy12y2xqa2x0cbin62hl80r3s1zggsh")))) (build-system cargo-build-system) (arguments `(#:cargo-inputs (("rust-form-urlencoded" ,rust-form-urlencoded-1) - ("rust-idna" ,rust-idna-0.3) + ("rust-idna" ,rust-idna-0.4) ("rust-percent-encoding" ,rust-percent-encoding-2) ("rust-serde" ,rust-serde-1)) #:cargo-development-inputs @@ -69768,25 +74847,6 @@ comparable to calling @code{unwrap_err()}.") encoding.") (license license:expat))) -(define-public rust-urlocator-0.1 - (package - (name "rust-urlocator") - (version "0.1.3") - (source - (origin - (method url-fetch) - (uri (crate-uri "urlocator" version)) - (file-name - (string-append name "-" version ".tar.gz")) - (sha256 - (base32 - "0r5ig00np3svjpvb1gha3ni798cwj2w7rnlwrc8jrrw7bvlb2yri")))) - (build-system cargo-build-system) - (home-page "https://github.com/alacritty/urlocator") - (synopsis "Locate URLs in character streams") - (description "Locate URLs in character streams.") - (license (list license:expat license:asl2.0)))) - (define-public rust-user32-sys-0.2 (package (name "rust-user32-sys") @@ -69843,27 +74903,6 @@ See winapi for types and constants.") Unix users and groups.") (license license:expat))) -(define-public rust-users-0.10 - (package - (inherit rust-users-0.11) - (name "rust-users") - (version "0.10.0") - (source - (origin - (method url-fetch) - (uri (crate-uri "users" version)) - (file-name - (string-append name "-" version ".tar.gz")) - (sha256 - (base32 - "11plda5r3dl8hs0sl0jskazam4ayv3a06vmhzk4l7914agljfhma")))) - (arguments - `(#:cargo-inputs - (("rust-libc" ,rust-libc-0.2) - ("rust-log" ,rust-log-0.4)) - #:cargo-development-inputs - (("rust-env-logger" ,rust-env-logger-0.7)))))) - (define-public rust-utf-8-0.7 (package (name "rust-utf-8") @@ -69952,7 +74991,7 @@ first byte.") (define-public rust-utf8parse-0.2 (package (name "rust-utf8parse") - (version "0.2.0") + (version "0.2.1") (source (origin (method url-fetch) @@ -69961,9 +75000,9 @@ first byte.") (string-append name "-" version ".tar.gz")) (sha256 (base32 - "0wjkvy22cxg023vkmvq2wwkgqyqam0d4pjld3m13blfg594lnvlk")))) + "02ip1a0az0qmc2786vxk2nqwsgcwf17d3a38fkf0q7hrmwh9c6vi")))) (build-system cargo-build-system) - (home-page "https://github.com/jwilm/vte") + (home-page "https://github.com/alacritty/vte") (synopsis "Table-driven UTF-8 parser") (description "This package provides a table-driven UTF-8 parser.") (license (list license:asl2.0 license:expat)))) @@ -69986,7 +75025,7 @@ first byte.") (define-public rust-uuid-1 (package (name "rust-uuid") - (version "1.3.0") + (version "1.3.3") (source (origin (method url-fetch) (uri (crate-uri "uuid" version)) @@ -69994,7 +75033,7 @@ first byte.") (string-append name "-" version ".tar.gz")) (sha256 (base32 - "0ygxkj6bgfjkbhpdj1s0607zi9l8886pcw04lryd647f4r9q8x0n")))) + "1lpcqp1z0zy3l00yd418dpjlpih9la2swm62gwk1nia24kil8m1l")))) (build-system cargo-build-system) (arguments `(#:cargo-development-inputs @@ -70006,7 +75045,7 @@ first byte.") ("rust-trybuild" ,rust-trybuild-1) ("rust-wasm-bindgen" ,rust-wasm-bindgen-0.2) ("rust-wasm-bindgen-test" ,rust-wasm-bindgen-test-0.3) - ("rust-windows-sys" ,rust-windows-sys-0.45)) + ("rust-windows-sys" ,rust-windows-sys-0.48)) #:cargo-inputs (("rust-arbitrary" ,rust-arbitrary-1) ("rust-atomic" ,rust-atomic-0.5) @@ -70110,20 +75149,20 @@ first byte.") (define-public rust-uuid-macro-internal-1 (package (name "rust-uuid-macro-internal") - (version "1.3.0") + (version "1.3.3") (source (origin (method url-fetch) (uri (crate-uri "uuid-macro-internal" version)) (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "1jbccm5pk216zrrf0ibd1j7m86lgmsyibs8d59ykhak5g2l01cy1")))) + "1nj53qzhk4xqw6rkz33q40rjs0mx9pdbjg11xvhydwiayicv8rrz")))) (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-syn" ,rust-syn-2)))) (home-page "https://github.com/uuid-rs/uuid") (synopsis "@code{uuid!} macro implementation details") (description @@ -70160,6 +75199,25 @@ first byte.") a part of rav1e.") (license license:bsd-2))) +(define-public rust-v-htmlescape-0.15 + (package + (name "rust-v-htmlescape") + (version "0.15.8") + (source (origin + (method url-fetch) + (uri (crate-uri "v-htmlescape" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "135inp4x7cc32k0hzrymlz1baf0rj0ah5h82nrpa9w0hqpxmg0jf")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs (("rust-buf-min" ,rust-buf-min-0.7)))) + (home-page "https://github.com/botika/v_escape") + (synopsis "Simd optimized HTML escaping code") + (description "This package provides simd optimized HTML escaping code.") + (license (list license:expat license:asl2.0)))) + (define-public rust-valuable-derive-0.1 (package (name "rust-valuable-derive") @@ -70207,6 +75265,33 @@ crate.") un-typed structured data across trait-object boundaries.") (license license:expat))) +(define-public rust-valuable-serde-0.1 + (package + (name "rust-valuable-serde") + (version "0.1.0") + (source (origin + (method url-fetch) + (uri (crate-uri "valuable-serde" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "01q9ifpd1mk1ic2g8lagp35djzb8i7cm8skk4rkf5ayd63zwz1aj")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-serde" ,rust-serde-1) + ("rust-valuable" ,rust-valuable-0.1)) + #:cargo-development-inputs + (("rust-serde" ,rust-serde-1) + ("rust-serde-json" ,rust-serde-json-1) + ("rust-serde-test" ,rust-serde-test-1) + ("rust-valuable" ,rust-valuable-0.1)))) + (home-page "https://github.com/tokio-rs/valuable") + (synopsis "`serde::Serialize` implementation for `Valuable` types") + (description "This package provides a @code{serde::Serialize} implementation +for @code{Valuable} types.") + (license license:expat))) + (define-public rust-value-bag-1 (package (name "rust-value-bag") @@ -70567,6 +75652,52 @@ updated when the crate version changes.") hardware registers.") (license (list license:expat license:asl2.0)))) +(define-public rust-vsock-0.3 + (package + (name "rust-vsock") + (version "0.3.0") + (source (origin + (method url-fetch) + (uri (crate-uri "vsock" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0mwwcjk2yd3fi5ryv5xhd7569bmcj0dlsmi4bh4jh6qypzq1v3jc")))) + (build-system cargo-build-system) + (arguments + `(#:tests? #f ; Tests not runnable from the build environment. + #:cargo-inputs + (("rust-libc" ,rust-libc-0.2) + ("rust-nix" ,rust-nix-0.24)) + #:cargo-development-inputs + (("rust-rand" ,rust-rand-0.8) + ("rust-sha2" ,rust-sha2-0.10)))) + (home-page "https://github.com/rust-vsock/vsock-rs") + (synopsis "Virtio socket support for Rust") + (description "This package provdies virtio socket support for Rust.") + (license license:asl2.0))) + +(define-public rust-vsock-0.2 + (package + (inherit rust-vsock-0.3) + (name "rust-vsock") + (version "0.2.6") + (source (origin + (method url-fetch) + (uri (crate-uri "vsock" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0cy1gpiahygfzxms4z170qj672c7n8cjvd8a9hkxzr9w5gp7a9p3")))) + (arguments + `(#:tests? #f ; Tests not runnable from the build environment. + #:cargo-inputs + (("rust-libc" ,rust-libc-0.2) + ("rust-nix" ,rust-nix-0.23)) + #:cargo-development-inputs + (("rust-rand" ,rust-rand-0.8) + ("rust-sha2" ,rust-sha2-0.10)))))) + (define-public rust-vswhom-0.1 (package (name "rust-vswhom") @@ -71617,8 +76748,58 @@ Verification.") (lambda _ (invoke "python" "make_curve25519_tables.py"))))))))))) +(define-public rust-webpki-roots-0.25 + (package + (name "rust-webpki-roots") + (version "0.25.1") + (source (origin + (method url-fetch) + (uri (crate-uri "webpki-roots" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "15piy0vccppqb74li32gnn9l5a4ysxzwh8bp3qv6z8rhr2hyvin9")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-test-flags + (list "--release" "--" + ;; This test wants network access. + "--skip=generated_code_is_fresh") + #:cargo-development-inputs + (("rust-percent-encoding" ,rust-percent-encoding-2) + ("rust-reqwest" ,rust-reqwest-0.11) + ("rust-ring" ,rust-ring-0.16) + ("rust-rustls-pemfile" ,rust-rustls-pemfile-1) + ("rust-rustls-webpki" ,rust-rustls-webpki-0.101) + ("rust-tokio" ,rust-tokio-1)))) + (native-inputs + (list perl pkg-config)) + (inputs + (list openssl)) + (home-page "https://github.com/rustls/webpki-roots") + (synopsis "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.23 + (package + (inherit rust-webpki-roots-0.25) + (name "rust-webpki-roots") + (version "0.23.1") + (source (origin + (method url-fetch) + (uri (crate-uri "webpki-roots" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0f4k8nng542iilxbibh1nhrdf5wbyi9is4fr219zzrc6hgw5hc5h")))) + (arguments + `(#:cargo-inputs (("rust-rustls-webpki" ,rust-rustls-webpki-0.100)))))) + (define-public rust-webpki-roots-0.22 (package + (inherit rust-webpki-roots-0.25) (name "rust-webpki-roots") (version "0.22.2") (source @@ -71628,17 +76809,9 @@ Verification.") (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 "0jbll0ys9jakrvv3l1i216bbgj7jbxr7ad2dihw28xcm7s8fnb2m")))) - (build-system cargo-build-system) (arguments `(#:cargo-inputs - (("rust-webpki" ,rust-webpki-0.22)))) - (native-inputs - (list perl)) - (home-page "https://github.com/rustls/webpki-roots") - (synopsis "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))) + (("rust-webpki" ,rust-webpki-0.22)))))) (define-public rust-webpki-roots-0.21 (package @@ -71754,23 +76927,6 @@ with webpki.") (("rust-untrusted" ,rust-untrusted-0.6) ("rust-webpki" ,rust-webpki-0.18)))))) -(define-public rust-webpki-roots-0.14 - (package - (inherit rust-webpki-roots-0.18) - (name "rust-webpki-roots") - (version "0.14.0") - (source - (origin - (method url-fetch) - (uri (crate-uri "webpki-roots" version)) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 "05zw919077i3jadbvdsvl69wv2siijg2pjbykl6fyi7hmgb7bggd")))) - (arguments - `(#:cargo-inputs - (("rust-untrusted" ,rust-untrusted-0.6) - ("rust-webpki" ,rust-webpki-0.18)))))) - (define-public rust-webview-sys-0.6 (package (name "rust-webview-sys") @@ -71968,25 +77124,41 @@ executable.") #:cargo-development-inputs (("rust-tempdir" ,rust-tempdir-0.3)))))) -(define-public rust-whoami-0.8 +(define-public rust-whoami-1 (package (name "rust-whoami") - (version "0.8.2") - (source - (origin - (method url-fetch) - (uri (crate-uri "whoami" version)) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 "0z18m6w2q8a6rivd61sh3f00pdhyvxiwycs2j5088gvgdxb5bfqq")))) + (version "1.4.1") + (source (origin + (method url-fetch) + (uri (crate-uri "whoami" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0l6ca9pl92wmngsn1dh9ih716v216nmn2zvcn94k04x9p1b3gz12")))) (build-system cargo-build-system) - (arguments `(#:skip-build? #t)) - (home-page "https://github.com/libcala/whoami") + (arguments + `(#:cargo-inputs + (("rust-wasm-bindgen" ,rust-wasm-bindgen-0.2) + ("rust-web-sys" ,rust-web-sys-0.3)))) + (home-page "https://github.com/ardaku/whoami/blob/stable/CHANGELOG.md") (synopsis "Retrieve the current user and environment") (description "This package provides simple functions to retrieve the current user and environment.") - (license (list license:expat license:boost1.0)))) + (license (list license:asl2.0 license:boost1.0 license:expat)))) + +(define-public rust-whoami-0.8 + (package + (inherit rust-whoami-1) + (name "rust-whoami") + (version "0.8.2") + (source (origin + (method url-fetch) + (uri (crate-uri "whoami" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "0z18m6w2q8a6rivd61sh3f00pdhyvxiwycs2j5088gvgdxb5bfqq")))) + (arguments `(#:skip-build? #t)))) (define-public rust-wide-0.7 (package @@ -72052,8 +77224,31 @@ terms of allowing LLVM's auto-vectorizer to do its job.") (("rust-bytemuck" ,rust-bytemuck-1)))) (license (list license:zlib)))) +(define-public rust-widestring-1 + (package + (name "rust-widestring") + (version "1.0.2") + (source (origin + (method url-fetch) + (uri (crate-uri "widestring" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1a11qxmqf8jhh0vbyb6cc614d9qdqsh01r5bqnivn5pc74gi8gv5")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-development-inputs (("rust-winapi" ,rust-winapi-0.3)))) + (home-page "https://github.com/starkat99/widestring-rs") + (synopsis "Wide string Rust FFI library") + (description + "A wide string Rust FFI library for converting to and from wide strings, +such as those often used in Windows API or other FFI libraries. Both UTF-16 and +UTF-32 types are provided, including support for malformed encoding.") + (license (list license:expat license:asl2.0)))) + (define-public rust-widestring-0.5 (package + (inherit rust-widestring-1) (name "rust-widestring") (version "0.5.1") (source @@ -72064,18 +77259,9 @@ terms of allowing LLVM's auto-vectorizer to do its job.") (sha256 (base32 "10qrilijh1qzw362mvd4nsz3vv32dxx530vk41hkcx8hah22z20p")))) - (build-system cargo-build-system) (arguments `(#:cargo-development-inputs - (("rust-winapi" ,rust-winapi-0.3)))) - (home-page "https://github.com/starkat99/widestring-rs") - (synopsis "Wide string Rust FFI library") - (description - "A wide string Rust FFI library for converting to and from wide strings, -such as those often used in Windows API or other FFI libraries. Both UTF-16 and -UTF-32 types are provided, including support for malformed encoding.") - (license (list license:asl2.0 - license:expat)))) + (("rust-winapi" ,rust-winapi-0.3)))))) (define-public rust-widestring-0.4 (package @@ -72097,18 +77283,18 @@ UTF-32 types are provided, including support for malformed encoding.") (define-public rust-wild-2 (package (name "rust-wild") - (version "2.0.4") + (version "2.1.0") (source (origin (method url-fetch) (uri (crate-uri "wild" version)) (file-name (string-append name "-" version ".tar.gz")) (sha256 - (base32 "0800hfmb099abwh7gqqbxhlvl7l3g5x681qsy0rm0x2lp2mr6mq3")))) + (base32 "0x0a65qrifm3q1gp7cy74qw69nr6zz5k8cqhb8pwbq3bb9l1dc85")))) (build-system cargo-build-system) (arguments - `(#:cargo-inputs - (("rust-glob" ,rust-glob-0.3)))) + `(#:cargo-inputs (("rust-glob" ,rust-glob-0.3)) + #:cargo-development-inputs (("rust-glob" ,rust-glob-0.3)))) (home-page "https://lib.rs/crates/wild") (synopsis "Glob (wildcard) expanded command-line arguments") (description @@ -72116,6 +77302,33 @@ UTF-32 types are provided, including support for malformed encoding.") command-line, uniformly on all platforms") (license (list license:asl2.0 license:expat)))) +(define-public rust-win-crypto-ng-0.5 + (package + (name "rust-win-crypto-ng") + (version "0.5.0") + (source (origin + (method url-fetch) + (uri (crate-uri "win-crypto-ng" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0faf5bd4d5kaf642yw91lh0n2bfwnz0l70bm85ysmj3dsj4hg9mf")))) + (build-system cargo-build-system) + (arguments + `(#:skip-build? #t ; Windows library + #:cargo-inputs + (("rust-cipher" ,rust-cipher-0.4) + ("rust-doc-comment" ,rust-doc-comment-0.3) + ("rust-rand-core" ,rust-rand-core-0.5) + ("rust-winapi" ,rust-winapi-0.3) + ("rust-zeroize" ,rust-zeroize-1)) + #:cargo-development-inputs + (("rust-doc-comment" ,rust-doc-comment-0.3)))) + (home-page "https://github.com/emgre/win-crypto-ng") + (synopsis "Safe bindings to Windows Cryptography API: Next Generation") + (description "Safe bindings to Windows Cryptography API: Next Generation") + (license license:bsd-3))) + (define-public rust-winapi-0.3 (package (name "rust-winapi") @@ -72380,19 +77593,19 @@ if they were just another Rust module.") ("rust-windows-gen" ,rust-windows-gen-0.9) ("rust-windows-macros" ,rust-windows-macros-0.9)))))) -(define-public rust-windows-aarch64-gnullvm-0.42 +(define-public rust-windows-aarch64-gnullvm-0.48 (package (name "rust-windows-aarch64-gnullvm") - (version "0.42.2") + (version "0.48.0") (source (origin (method url-fetch) (uri (crate-uri "windows-aarch64-gnullvm" version)) (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "1y4q0qmvl0lvp7syxvfykafvmwal5hrjb4fmv04bqs0bawc52yjr")) + "1g71yxi61c410pwzq05ld7si4p9hyx6lf5fkw21sinvr3cp5gbli")) (snippet - '(delete-file "lib/libwindows.a")))) + '(delete-file "lib/libwindows.0.48.0.a")))) (build-system cargo-build-system) (arguments (list #:skip-build? #t)) @@ -72402,19 +77615,36 @@ if they were just another Rust module.") "This package provides code gen support for the windows crate.") (license (list license:expat license:asl2.0)))) -(define-public rust-windows-aarch64-msvc-0.42 +(define-public rust-windows-aarch64-gnullvm-0.42 (package - (name "rust-windows-aarch64-msvc") + (inherit rust-windows-aarch64-gnullvm-0.48) + (name "rust-windows-aarch64-gnullvm") (version "0.42.2") (source (origin (method url-fetch) + (uri (crate-uri "windows-aarch64-gnullvm" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1y4q0qmvl0lvp7syxvfykafvmwal5hrjb4fmv04bqs0bawc52yjr")) + (snippet + '(delete-file "lib/libwindows.a")))) + (arguments + (list #:skip-build? #t)))) + +(define-public rust-windows-aarch64-msvc-0.48 + (package + (name "rust-windows-aarch64-msvc") + (version "0.48.0") + (source (origin + (method url-fetch) (uri (crate-uri "windows-aarch64-msvc" version)) (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "0hsdikjl5sa1fva5qskpwlxzpc5q9l909fpl1w6yy1hglrj8i3p0")) + "1wvwipchhywcjaw73h998vzachf668fpqccbhrxzrz5xszh2gvxj")) (snippet - '(delete-file "lib/windows.lib")))) + '(delete-file "lib/windows.0.48.0.lib")))) (build-system cargo-build-system) (arguments (list #:skip-build? #t)) @@ -72424,6 +77654,23 @@ if they were just another Rust module.") crate.") (license (list license:expat license:asl2.0)))) +(define-public rust-windows-aarch64-msvc-0.42 + (package + (inherit rust-windows-aarch64-msvc-0.48) + (name "rust-windows-aarch64-msvc") + (version "0.42.2") + (source (origin + (method url-fetch) + (uri (crate-uri "windows-aarch64-msvc" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0hsdikjl5sa1fva5qskpwlxzpc5q9l909fpl1w6yy1hglrj8i3p0")) + (snippet + '(delete-file "lib/windows.lib")))) + (arguments + (list #:skip-build? #t)))) + (define-public rust-windows-aarch64-msvc-0.36 (package (inherit rust-windows-aarch64-msvc-0.42) @@ -72466,19 +77713,19 @@ crate.") (base32 "1hpk0n2z0jzzvwlvs98b75sa4q920953nqfc119rv19nwm0mlsaj")))))) -(define-public rust-windows-i686-gnu-0.42 +(define-public rust-windows-i686-gnu-0.48 (package (name "rust-windows-i686-gnu") - (version "0.42.2") + (version "0.48.0") (source (origin (method url-fetch) - (uri (crate-uri "windows_i686_gnu" version)) + (uri (crate-uri "windows-i686-gnu" version)) (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "0kx866dfrby88lqs9v1vgmrkk1z6af9lhaghh5maj7d4imyr47f6")) + "0hd2v9kp8fss0rzl83wzhw0s5z8q1b4875m6s1phv0yvlxi1jak2")) (snippet - '(delete-file "lib/libwindows.a")))) + '(delete-file "lib/libwindows.0.48.0.a")))) (build-system cargo-build-system) (arguments (list #:skip-build? #t)) @@ -72488,6 +77735,23 @@ crate.") "This package provides code gen support for the windows crate.") (license (list license:expat license:asl2.0)))) +(define-public rust-windows-i686-gnu-0.42 + (package + (inherit rust-windows-i686-gnu-0.48) + (name "rust-windows-i686-gnu") + (version "0.42.2") + (source (origin + (method url-fetch) + (uri (crate-uri "windows_i686_gnu" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0kx866dfrby88lqs9v1vgmrkk1z6af9lhaghh5maj7d4imyr47f6")) + (snippet + '(delete-file "lib/libwindows.a")))) + (arguments + (list #:skip-build? #t)))) + (define-public rust-windows-i686-gnu-0.36 (package (inherit rust-windows-i686-gnu-0.42) @@ -72530,19 +77794,19 @@ crate.") (base32 "12hx7qpsjg9p7jggfcplqa3mf1mzr7k7s5ybzqwg1zmg4fn2aizm")))))) -(define-public rust-windows-i686-msvc-0.42 +(define-public rust-windows-i686-msvc-0.48 (package (name "rust-windows-i686-msvc") - (version "0.42.2") + (version "0.48.0") (source (origin (method url-fetch) - (uri (crate-uri "windows_i686_msvc" version)) + (uri (crate-uri "windows-i686-msvc" version)) (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "0q0h9m2aq1pygc199pa5jgc952qhcnf0zn688454i7v4xjv41n24")) + "004fkyqv3if178xx9ksqc4qqv8sz8n72mpczsr2vy8ffckiwchj5")) (snippet - '(delete-file "lib/windows.lib")))) + '(delete-file "lib/windows.0.48.0.lib")))) (build-system cargo-build-system) (arguments (list #:skip-build? #t)) @@ -72552,6 +77816,23 @@ crate.") "This package provides code gen support for the windows crate.") (license (list license:expat license:asl2.0)))) +(define-public rust-windows-i686-msvc-0.42 + (package + (inherit rust-windows-i686-msvc-0.48) + (name "rust-windows-i686-msvc") + (version "0.42.2") + (source (origin + (method url-fetch) + (uri (crate-uri "windows_i686_msvc" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0q0h9m2aq1pygc199pa5jgc952qhcnf0zn688454i7v4xjv41n24")) + (snippet + '(delete-file "lib/windows.lib")))) + (arguments + (list #:skip-build? #t)))) + (define-public rust-windows-i686-msvc-0.36 (package (inherit rust-windows-i686-msvc-0.42) @@ -72665,21 +77946,21 @@ crate.") crate.") (license (list license:expat license:asl2.0)))) -(define-public rust-windows-sys-0.45 +(define-public rust-windows-sys-0.48 (package (name "rust-windows-sys") - (version "0.45.0") + (version "0.48.0") (source (origin (method url-fetch) (uri (crate-uri "windows-sys" version)) (file-name (string-append name "-" version ".tar.gz")) (sha256 - (base32 "1l36bcqm4g89pknfp8r9rl1w4bn017q6a8qlx8viv0xjxzjkna3m")))) + (base32 + "1aan23v5gs7gya1lc46hqn9mdh8yph3fhxmhxlw36pn6pqc28zb7")))) (build-system cargo-build-system) (arguments - (list #:skip-build? #t - #:cargo-inputs - `(("rust-windows-targets" ,rust-windows-targets-0.42)))) + `(#:skip-build? #t + #:cargo-inputs (("rust-windows-targets" ,rust-windows-targets-0.48)))) (home-page "https://github.com/microsoft/windows-rs") (synopsis "Rust for Windows") (description "The windows crate lets you call any Windows API past, @@ -72688,6 +77969,22 @@ describing the API and right into your Rust package where you can call them as if they were just another Rust module.") (license (list license:expat license:asl2.0)))) +(define-public rust-windows-sys-0.45 + (package + (inherit rust-windows-sys-0.48) + (name "rust-windows-sys") + (version "0.45.0") + (source (origin + (method url-fetch) + (uri (crate-uri "windows-sys" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "1l36bcqm4g89pknfp8r9rl1w4bn017q6a8qlx8viv0xjxzjkna3m")))) + (arguments + (list #:skip-build? #t + #:cargo-inputs + `(("rust-windows-targets" ,rust-windows-targets-0.42)))))) + (define-public rust-windows-sys-0.42 (package (inherit rust-windows-sys-0.45) @@ -72792,8 +78089,36 @@ if they were just another Rust module.") (description "Macros for the windows crate") (license (list license:expat license:asl2.0)))) +(define-public rust-windows-targets-0.48 + (package + (name "rust-windows-targets") + (version "0.48.0") + (source (origin + (method url-fetch) + (uri (crate-uri "windows-targets" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1mfzg94w0c8h4ya9sva7rra77f3iy1712af9b6bwg03wrpqbc7kv")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-windows-aarch64-gnullvm" ,rust-windows-aarch64-gnullvm-0.48) + ("rust-windows-aarch64-msvc" ,rust-windows-aarch64-msvc-0.48) + ("rust-windows-i686-gnu" ,rust-windows-i686-gnu-0.48) + ("rust-windows-i686-msvc" ,rust-windows-i686-msvc-0.48) + ("rust-windows-x86-64-gnu" ,rust-windows-x86-64-gnu-0.48) + ("rust-windows-x86-64-gnullvm" ,rust-windows-x86-64-gnullvm-0.48) + ("rust-windows-x86-64-msvc" ,rust-windows-x86-64-msvc-0.48)))) + (home-page "https://github.com/microsoft/windows-rs") + (synopsis "Code gen support for the windows crate") + (description + "This package provides code gen support for the windows crate.") + (license (list license:expat license:asl2.0)))) + (define-public rust-windows-targets-0.42 (package + (inherit rust-windows-targets-0.48) (name "rust-windows-targets") (version "0.42.2") (source (origin @@ -72803,7 +78128,6 @@ if they were just another Rust module.") (sha256 (base32 "0wfhnib2fisxlx8c507dbmh97kgij4r6kcxdi0f9nk6l1k080lcf")))) - (build-system cargo-build-system) (arguments `(#:cargo-inputs (("rust-windows-aarch64-gnullvm" ,rust-windows-aarch64-gnullvm-0.42) @@ -72812,12 +78136,7 @@ if they were just another Rust module.") ("rust-windows-i686-msvc" ,rust-windows-i686-msvc-0.42) ("rust-windows-x86-64-gnu" ,rust-windows-x86-64-gnu-0.42) ("rust-windows-x86-64-gnullvm" ,rust-windows-x86-64-gnullvm-0.42) - ("rust-windows-x86-64-msvc" ,rust-windows-x86-64-msvc-0.42)))) - (home-page "https://github.com/microsoft/windows-rs") - (synopsis "Code gen support for the windows crate") - (description - "This package provides code gen support for the windows crate.") - (license (list license:expat license:asl2.0)))) + ("rust-windows-x86-64-msvc" ,rust-windows-x86-64-msvc-0.42)))))) (define-public rust-windows-tokens-0.32 (package @@ -72839,19 +78158,19 @@ if they were just another Rust module.") windows crate.") (license (list license:expat license:asl2.0)))) -(define-public rust-windows-x86-64-gnu-0.42 +(define-public rust-windows-x86-64-gnu-0.48 (package (name "rust-windows-x86-64-gnu") - (version "0.42.2") + (version "0.48.0") (source (origin (method url-fetch) - (uri (crate-uri "windows_x86_64_gnu" version)) + (uri (crate-uri "windows-x86_64-gnu" version)) (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "0dnbf2xnp3xrvy8v9mgs3var4zq9v9yh9kv79035rdgyp2w15scd")) + "1cblz5m6a8q6ha09bz4lz233dnq5sw2hpra06k9cna3n3xk8laya")) (snippet - '(delete-file "lib/libwindows.a")))) + '(delete-file "lib/libwindows.0.48.0.a")))) (build-system cargo-build-system) (arguments (list #:skip-build? #t)) @@ -72861,6 +78180,23 @@ windows crate.") "This package provides code gen support for the windows crate.") (license (list license:expat license:asl2.0)))) +(define-public rust-windows-x86-64-gnu-0.42 + (package + (inherit rust-windows-x86-64-gnu-0.48) + (name "rust-windows-x86-64-gnu") + (version "0.42.2") + (source (origin + (method url-fetch) + (uri (crate-uri "windows_x86_64_gnu" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0dnbf2xnp3xrvy8v9mgs3var4zq9v9yh9kv79035rdgyp2w15scd")) + (snippet + '(delete-file "lib/libwindows.a")))) + (arguments + (list #:skip-build? #t)))) + (define-public rust-windows-x86-64-gnu-0.36 (package (inherit rust-windows-x86-64-gnu-0.42) @@ -72903,8 +78239,30 @@ windows crate.") (base32 "0m79bhdr54g4h4wh2q8wkjlkypb5wvl7xzhc2csiaqb5yl4z8cdw")))))) +(define-public rust-windows-x86-64-gnullvm-0.48 + (package + (name "rust-windows-x86-64-gnullvm") + (version "0.48.0") + (source (origin + (method url-fetch) + (uri (crate-uri "windows-x86_64-gnullvm" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0lxryz3ysx0145bf3i38jkr7f9nxiym8p3syklp8f20yyk0xp5kq")) + (snippet + '(delete-file "lib/libwindows.0.48.0.a")))) + (build-system cargo-build-system) + (arguments (list #:skip-build? #t)) + (home-page "https://github.com/microsoft/windows-rs") + (synopsis "Code gen support for the windows crate") + (description + "This package provides code gen support for the windows crate.") + (license (list license:expat license:asl2.0)))) + (define-public rust-windows-x86-64-gnullvm-0.42 (package + (inherit rust-windows-x86-64-gnullvm-0.48) (name "rust-windows-x86-64-gnullvm") (version "0.42.2") (source (origin @@ -72916,6 +78274,21 @@ windows crate.") "18wl9r8qbsl475j39zvawlidp1bsbinliwfymr43fibdld31pm16")) (snippet '(delete-file "lib/libwindows.a")))) + (arguments (list #:skip-build? #t)))) + +(define-public rust-windows-x86-64-msvc-0.48 + (package + (name "rust-windows-x86-64-msvc") + (version "0.48.0") + (source (origin + (method url-fetch) + (uri (crate-uri "windows-x86_64-msvc" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "12ipr1knzj2rwjygyllfi5mkd0ihnbi3r61gag5n2jgyk5bmyl8s")) + (snippet + '(delete-file "lib/windows.0.48.0.lib")))) (build-system cargo-build-system) (arguments (list #:skip-build? #t)) (home-page "https://github.com/microsoft/windows-rs") @@ -72926,6 +78299,7 @@ windows crate.") (define-public rust-windows-x86-64-msvc-0.42 (package + (inherit rust-windows-x86-64-msvc-0.48) (name "rust-windows-x86-64-msvc") (version "0.42.2") (source (origin @@ -72937,13 +78311,7 @@ windows crate.") "1w5r0q0yzx827d10dpjza2ww0j8iajqhmb54s735hhaj66imvv4s")) (snippet '(delete-file "lib/windows.lib")))) - (build-system cargo-build-system) - (arguments (list #:skip-build? #t)) - (home-page "https://github.com/microsoft/windows-rs") - (synopsis "Code gen support for the windows crate") - (description - "This package provides code gen support for the windows crate.") - (license (list license:expat license:asl2.0)))) + (arguments (list #:skip-build? #t)))) (define-public rust-windows-x86-64-msvc-0.36 (package @@ -73245,6 +78613,30 @@ serialization.") "Contains function definitions for the Windows API library ws2_32.") (license license:expat))) +(define-public rust-wycheproof-0.5 + (package + (name "rust-wycheproof") + (version "0.5.0") + (source (origin + (method url-fetch) + (uri (crate-uri "wycheproof" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "072rq77c9jp4ida3ag55hd4fn30q8zvi1k5adzvgf6cwyqcggbnc")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-base64" ,rust-base64-0.13) + ("rust-hex" ,rust-hex-0.4) + ("rust-num-bigint" ,rust-num-bigint-0.4) + ("rust-serde" ,rust-serde-1) + ("rust-serde-json" ,rust-serde-json-1)))) + (home-page "https://github.com/randombit/wycheproof-rs") + (synopsis "Wycheproof test vectors") + (description "Wycheproof test vectors") + (license license:asl2.0))) + (define-public rust-wyhash-0.5 (package (name "rust-wyhash") @@ -73368,8 +78760,67 @@ Diffie-Hellman key exchange, with curve operations provided by @code{curve25519-dalek}.") (license license:bsd-3))) +(define-public rust-x25519-dalek-ng-1 + (package + (name "rust-x25519-dalek-ng") + (version "1.1.1") + (source (origin + (method url-fetch) + (uri (crate-uri "x25519-dalek-ng" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "09n35vgrryjy0m6ascfaykc8s0i517rzgj64qdq2jrlri7g78w5z")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-curve25519-dalek-ng" ,rust-curve25519-dalek-ng-4) + ("rust-rand" ,rust-rand-0.8) + ("rust-rand-core" ,rust-rand-core-0.6) + ("rust-serde" ,rust-serde-1) + ("rust-zeroize" ,rust-zeroize-1)) + #:cargo-development-inputs + (("rust-bincode" ,rust-bincode-1) + ("rust-criterion" ,rust-criterion-0.3)))) + (home-page "https://dalek.rs/") + (synopsis "Fork of x25519-dalek") + (description "This package provides a fork x25519-dalek, with an updated +rand_core.") + (license license:bsd-3))) + +(define-public rust-x509-parser-0.15 + (package + (name "rust-x509-parser") + (version "0.15.0") + (source (origin + (method url-fetch) + (uri (crate-uri "x509-parser" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0d7nshccpnybbh8mypirplf4bqxiy36bgh4rrd7jzng19bsw5c5s")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-asn1-rs" ,rust-asn1-rs-0.5) + ("rust-data-encoding" ,rust-data-encoding-2) + ("rust-der-parser" ,rust-der-parser-8) + ("rust-lazy-static" ,rust-lazy-static-1) + ("rust-nom" ,rust-nom-7) + ("rust-oid-registry" ,rust-oid-registry-0.6) + ("rust-ring" ,rust-ring-0.16) + ("rust-rusticata-macros" ,rust-rusticata-macros-4) + ("rust-thiserror" ,rust-thiserror-1) + ("rust-time" ,rust-time-0.3)))) + (home-page "https://github.com/rusticata/x509-parser") + (synopsis "X.509 parser written in pure Rust") + (description "This crate provides a parser for the X.509 v3 format (RFC +5280 certificates).") + (license (list license:expat license:asl2.0)))) + (define-public rust-x509-parser-0.12 (package + (inherit rust-x509-parser-0.15) (name "rust-x509-parser") (version "0.12.0") (source @@ -73381,7 +78832,6 @@ Diffie-Hellman key exchange, with curve operations provided by (sha256 (base32 "1vanwazknxwd1kmlp443bpph9qyas021ayqk6iljxdscm0v0ijgz")))) - (build-system cargo-build-system) (arguments `(#:skip-build? #t #:cargo-inputs @@ -73394,15 +78844,42 @@ Diffie-Hellman key exchange, with curve operations provided by ("rust-oid-registry" ,rust-oid-registry-0.2) ("rust-ring" ,rust-ring-0.16) ("rust-rusticata-macros" ,rust-rusticata-macros-4) - ("rust-thiserror" ,rust-thiserror-1)))) - (home-page "https://github.com/rusticata/x509-parser") - (synopsis "X.509 parser written in pure Rust") - (description "This crate provides a parser for the X.509 v3 format (RFC -5280 certificates).") - (license (list license:expat license:asl2.0)))) + ("rust-thiserror" ,rust-thiserror-1)))))) + +(define-public rust-x86-0.52 + (package + (name "rust-x86") + (version "0.52.0") + (source (origin + (method url-fetch) + (uri (crate-uri "x86" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "11d3jip94x3dvcv0i0d5cxsgi1p2xyjrdhs550mas5vjg2bxp097")))) + (build-system cargo-build-system) + (arguments + `(#:skip-build? #t ; Remove some dependencies + #:cargo-inputs + (("rust-bit-field" ,rust-bit-field-0.10) + ("rust-bitflags" ,rust-bitflags-1) + ("rust-csv" ,rust-csv-1) + ("rust-phf" ,rust-phf-0.9) + ("rust-phf-codegen" ,rust-phf-codegen-0.9) + ("rust-raw-cpuid" ,rust-raw-cpuid-10) + ("rust-serde-json" ,rust-serde-json-1)))) + (home-page "https://github.com/gz/rust-x86") + (synopsis "Library to program x86 (amd64) hardware") + (description + "This is a Library to program x86 (amd64) hardware. It contains x86 +specific data structure descriptions, data-tables, as well as convenience +function to call assembly instructions typically not exposed in higher level +languages.") + (license license:expat))) (define-public rust-x86-0.33 (package + (inherit rust-x86-0.52) (name "rust-x86") (version "0.33.0") (source @@ -73417,7 +78894,6 @@ Diffie-Hellman key exchange, with curve operations provided by '(begin (substitute* "Cargo.toml" (("8\\.0") "8")))))) - (build-system cargo-build-system) (arguments `(#:skip-build? #t #:cargo-inputs @@ -73427,15 +78903,7 @@ Diffie-Hellman key exchange, with curve operations provided by ("rust-phf" ,rust-phf-0.7) ("rust-phf-codegen" ,rust-phf-codegen-0.7) ("rust-raw-cpuid" ,rust-raw-cpuid-8) - ("rust-serde-json" ,rust-serde-json-1)))) - (home-page "https://github.com/gz/rust-x86") - (synopsis "Library to program x86 (amd64) hardware") - (description - "This is a Library to program x86 (amd64) hardware. It contains x86 -specific data structure descriptions, data-tables, as well as convenience -function to call assembly instructions typically not exposed in higher level -languages.") - (license license:expat))) + ("rust-serde-json" ,rust-serde-json-1)))))) (define-public rust-xattr-0.2 (package @@ -73550,16 +79018,24 @@ extended attributes.") (define-public rust-xdg-2 (package (name "rust-xdg") - (version "2.4.1") + (version "2.5.0") (source (origin (method url-fetch) (uri (crate-uri "xdg" version)) (file-name (string-append name "-" version ".tar.gz")) (sha256 - (base32 "1xl81zfx5fsc5n06h77s0fvrslzhh2piabfz0c1lqk5xbkdq6i8c")))) + (base32 "1vkzfsy3n85qnn1076h9111jg3h7k9r99jqi8nnrq3kmbbdrg1b8")))) (build-system cargo-build-system) - (arguments `(#:cargo-inputs (("rust-dirs" ,rust-dirs-4)))) + (arguments + `(#:cargo-inputs + (("rust-home" ,rust-home-0.5) + ("rust-serde" ,rust-serde-1)) + #:phases + (modify-phases %standard-phases + (add-before 'check 'pre-check + (lambda _ + (setenv "HOME" (getcwd))))))) (home-page "https://github.com/whitequark/rust-xdg") (synopsis "Store and retrieve files according to XDG specification") (description @@ -73694,8 +79170,36 @@ including a line breaking iterator.") (description "An XML library in pure Rust.") (license license:expat))) +(define-public rust-xml5ever-0.17 + (package + (name "rust-xml5ever") + (version "0.17.0") + (source (origin + (method url-fetch) + (uri (crate-uri "xml5ever" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0l76v0c228c92sskiflpsy19c0bgc8q7flhlfanm32zrbb8f2d20")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-log" ,rust-log-0.4) + ("rust-mac" ,rust-mac-0.1) + ("rust-markup5ever" ,rust-markup5ever-0.11)) + #:cargo-development-inputs + (("rust-criterion" ,rust-criterion-0.3) + ("rust-rustc-test" ,rust-rustc-test-0.3)))) + (home-page + "https://github.com/servo/html5ever/blob/master/xml5ever/README.md") + (synopsis "Push based streaming parser for xml") + (description + "Push based streaming parser for xml.") + (license (list license:expat license:asl2.0)))) + (define-public rust-xml5ever-0.16 (package + (inherit rust-xml5ever-0.17) (name "rust-xml5ever") (version "0.16.2") (source @@ -73707,7 +79211,6 @@ including a line breaking iterator.") (sha256 (base32 "0rfqys8yyigkzrqcrn5c6r10v42pwxahccyyzhc293px30w1cd4j")))) - (build-system cargo-build-system) (arguments `(#:cargo-inputs (("rust-log" ,rust-log-0.4) @@ -73716,13 +79219,7 @@ including a line breaking iterator.") ("rust-time" ,rust-time-0.1)) #:cargo-development-inputs (("rust-criterion" ,rust-criterion-0.3) - ("rust-rustc-test" ,rust-rustc-test-0.3)))) - (home-page - "https://github.com/servo/html5ever/blob/master/xml5ever/README.md") - (synopsis "Push based streaming parser for xml") - (description - "Push based streaming parser for xml.") - (license (list license:expat license:asl2.0)))) + ("rust-rustc-test" ,rust-rustc-test-0.3)))))) (define-public rust-xmlparser-0.13 (package @@ -73852,6 +79349,29 @@ file into an in-memory tree structure.") algorithm in Rust.") (license license:boost1.0))) +(define-public rust-xz-0.1 + (package + (name "rust-xz") + (version "0.1.0") + (source (origin + (method url-fetch) + (uri (crate-uri "xz" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0d6sq57g1969hjl5k7gzzdbyr60za9hk8qs9iqz26biazy87d21w")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs (("rust-xz2" ,rust-xz2-0.1)))) + (native-inputs + (list pkg-config xz)) + (home-page "https://github.com/alexcrichton/xz2-rs") + (synopsis "Alias of `xz2` crate") + (description + "Rust bindings to @code{liblzma} providing Read/Write streams as well as +low-level in-memory encoding/decoding. Alias of @code{xz2} crate.") + (license (list license:expat license:asl2.0)))) + (define-public rust-xz2-0.1 (package (name "rust-xz2") @@ -73943,8 +79463,32 @@ Read/Write streams as well as low-level in-memory encoding and decoding.") library.") (license (list license:expat license:asl2.0)))) +(define-public rust-yasna-0.5 + (package + (name "rust-yasna") + (version "0.5.2") + (source (origin + (method url-fetch) + (uri (crate-uri "yasna" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1ka4ixrplnrfqyl1kymdj8cwpdp2k0kdr73b57hilcn1kiab6yz1")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-bit-vec" ,rust-bit-vec-0.6) + ("rust-num-bigint" ,rust-num-bigint-0.4) + ("rust-time" ,rust-time-0.3)) + #:cargo-development-inputs (("rust-num-traits" ,rust-num-traits-0.2)))) + (home-page "https://github.com/qnighy/yasna.rs") + (synopsis "ASN.1 library for Rust") + (description "ASN.1 library for Rust") + (license (list license:expat license:asl2.0)))) + (define-public rust-yasna-0.4 (package + (inherit rust-yasna-0.5) (name "rust-yasna") (version "0.4.0") (source (origin @@ -73953,18 +79497,13 @@ library.") (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 "0xgsvxqnycdakh6j3hg4dk3mylrpnba50w0d36vg5k311sfs4qp2")))) - (build-system cargo-build-system) (arguments `(#:cargo-inputs (("rust-bit-vec" ,rust-bit-vec-0.6) ("rust-chrono" ,rust-chrono-0.4) ("rust-num-bigint" ,rust-num-bigint-0.4)) #:cargo-development-inputs - (("rust-num-traits" ,rust-num-traits-0.2)))) - (home-page "https://github.com/qnighy/yasna.rs") - (synopsis "ASN.1 library for Rust") - (description "ASN.1 library for Rust") - (license (list license:expat license:asl2.0)))) + (("rust-num-traits" ,rust-num-traits-0.2)))))) (define-public rust-yeslogic-fontconfig-sys-3 (package @@ -74035,6 +79574,125 @@ for locating fonts.") (description "This package provides an implementation of zbase32.") (license license:lgpl3+))) +(define-public rust-zbus-3 + (package + (name "rust-zbus") + (version "3.7.0") + (source (origin + (method url-fetch) + (uri (crate-uri "zbus" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0pl5ri4lihzzxzxgvw1m0lpq90pnack0hi6gg48jsqyb1iy5i79p")))) + (build-system cargo-build-system) + (arguments + `(#:tests? #f ; Not all files included. + #:cargo-inputs + (("rust-async-broadcast" ,rust-async-broadcast-0.5) + ("rust-async-executor" ,rust-async-executor-1) + ("rust-async-io" ,rust-async-io-1) + ("rust-async-lock" ,rust-async-lock-2) + ("rust-async-recursion" ,rust-async-recursion-1) + ("rust-async-task" ,rust-async-task-4) + ("rust-async-trait" ,rust-async-trait-0.1) + ("rust-byteorder" ,rust-byteorder-1) + ("rust-derivative" ,rust-derivative-2) + ("rust-dirs" ,rust-dirs-4) + ("rust-enumflags2" ,rust-enumflags2-0.7) + ("rust-event-listener" ,rust-event-listener-2) + ("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-hex" ,rust-hex-0.4) + ("rust-lazy-static" ,rust-lazy-static-1) + ("rust-nix" ,rust-nix-0.25) + ("rust-once-cell" ,rust-once-cell-1) + ("rust-ordered-stream" ,rust-ordered-stream-0.1) + ("rust-quick-xml" ,rust-quick-xml-0.27) + ("rust-rand" ,rust-rand-0.8) + ("rust-serde" ,rust-serde-1) + ("rust-serde-xml-rs" ,rust-serde-xml-rs-0.4) + ("rust-serde-repr" ,rust-serde-repr-0.1) + ("rust-sha1" ,rust-sha1-0.10) + ("rust-static-assertions" ,rust-static-assertions-1) + ("rust-tokio" ,rust-tokio-1) + ("rust-tokio-vsock" ,rust-tokio-vsock-0.3) + ("rust-tracing" ,rust-tracing-0.1) + ("rust-uds-windows" ,rust-uds-windows-1) + ("rust-vsock" ,rust-vsock-0.3) + ("rust-winapi" ,rust-winapi-0.3) + ("rust-zbus-macros" ,rust-zbus-macros-3) + ("rust-zbus-names" ,rust-zbus-names-2) + ("rust-zvariant" ,rust-zvariant-3)) + #:cargo-development-inputs + (("rust-async-std" ,rust-async-std-1) + ("rust-doc-comment" ,rust-doc-comment-0.3) + ("rust-futures-util" ,rust-futures-util-0.3) + ("rust-ntest" ,rust-ntest-0.9) + ("rust-tempfile" ,rust-tempfile-3) + ("rust-test-log" ,rust-test-log-0.2) + ("rust-tokio" ,rust-tokio-1) + ("rust-tracing-subscriber" ,rust-tracing-subscriber-0.3)))) + (home-page "https://github.com/dbus2/zbus/") + (synopsis "API for D-Bus communication") + (description "This package provides an API for D-Bus communication.") + (license license:expat))) + +(define-public rust-zbus-macros-3 + (package + (name "rust-zbus-macros") + (version "3.7.0") + (source (origin + (method url-fetch) + (uri (crate-uri "zbus-macros" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1y4cw7x8hrpz9xd43spd0vzvfbm1991bik1yb2873py0j0p2ljb6")))) + (build-system cargo-build-system) + (arguments + `(#:tests? #f ; Tests need a running dbus instance. + #:cargo-inputs + (("rust-proc-macro-crate" ,rust-proc-macro-crate-1) + ("rust-proc-macro2" ,rust-proc-macro2-1) + ("rust-quote" ,rust-quote-1) + ("rust-regex" ,rust-regex-1) + ("rust-syn" ,rust-syn-1)) + #:cargo-development-inputs + (("rust-async-io" ,rust-async-io-1) + ("rust-doc-comment" ,rust-doc-comment-0.3) + ("rust-futures-util" ,rust-futures-util-0.3) + ("rust-rustversion" ,rust-rustversion-1) + ("rust-serde" ,rust-serde-1) + ("rust-trybuild" ,rust-trybuild-1)))) + (home-page "https://github.com/dbus2/zbus/") + (synopsis "proc-macros for zbus") + (description "This package provides proc-macros for zbus.") + (license license:expat))) + +(define-public rust-zbus-names-2 + (package + (name "rust-zbus-names") + (version "2.6.0") + (source (origin + (method url-fetch) + (uri (crate-uri "zbus-names" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1adl0acl39flk4jnrv7axg29kpwm7cy15w2wf0yy59mxdmvvp07v")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-serde" ,rust-serde-1) + ("rust-static-assertions" ,rust-static-assertions-1) + ("rust-zvariant" ,rust-zvariant-3)))) + (home-page "https://github.com/dbus2/zbus/") + (synopsis "Collection of D-Bus bus names types") + (description "This package provides a collection of D-Bus bus names types.") + (license license:expat))) + (define-public rust-zerocopy-0.6 (package (name "rust-zerocopy") @@ -74287,9 +79945,14 @@ implementation that works everywhere, even WASM!") (base32 "1r7xlmgnifhxbfyid8vkcnd5ip16gx9hf89d1l0lzrpc4q1rdk10")))) (build-system cargo-build-system) (arguments - `(#:skip-build? #t + `(#:tests? #f ; Not all files included. #:cargo-inputs - (("rust-zstd-safe" ,rust-zstd-safe-5)))) + (("rust-zstd-safe" ,rust-zstd-safe-5)) + #:cargo-development-inputs + (("rust-clap" ,rust-clap-3) + ("rust-humansize" ,rust-humansize-1) + ("rust-partial-io" ,rust-partial-io-0.5) + ("rust-walkdir" ,rust-walkdir-2)))) (home-page "https://github.com/gyscos/zstd-rs") (synopsis "Binding to the zstd compression library") (description @@ -74300,7 +79963,7 @@ implementation that works everywhere, even WASM!") (package (inherit rust-zstd-0.11) (name "rust-zstd") - (version "0.9.0+zstd.1.5.0") + (version "0.9.3+zstd.1.5.2") (source (origin (method url-fetch) @@ -74309,30 +79972,21 @@ implementation that works everywhere, even WASM!") (string-append name "-" version ".tar.gz")) (sha256 (base32 - "1k9caa048d8x9asksjaf62xkpv0m1wsmw94h29k3csybq9frlx07")))) - (arguments - `(#:skip-build? #t - #:cargo-inputs - (("rust-zstd-safe" ,rust-zstd-safe-4)))))) - -(define-public rust-zstd-0.8 - (package - (inherit rust-zstd-0.9) - (name "rust-zstd") - (version "0.8.3+zstd.1.5.0") - (source - (origin - (method url-fetch) - (uri (crate-uri "zstd" version)) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 "1gy2rc3hmqpzfkh9f5d395lhwjk8qwpll3gb73bznn2agd60k9sy")))) + "15dsisk3g9ncbxzb6miwav35p2v98az6clh5qdab5jxn05l9qzrp")) + (modules '((guix build utils))) + (snippet + '(begin (substitute* "Cargo.toml" + (("\"=([[:digit:]]+(\\.[[:digit:]]+)*)" _ version) + (string-append "\"^" version))))))) (arguments - `(#:skip-build? #t + `(#:tests? #f ; Not all files included. #:cargo-inputs - (("rust-futures" ,rust-futures-0.1) - ("rust-tokio-io" ,rust-tokio-io-0.1) - ("rust-zstd-safe" ,rust-zstd-safe-4)))))) + (("rust-zstd-safe" ,rust-zstd-safe-4)) + #:cargo-development-inputs + (("rust-clap" ,rust-clap-3) + ("rust-humansize" ,rust-humansize-1) + ("rust-partial-io" ,rust-partial-io-0.5) + ("rust-walkdir" ,rust-walkdir-2)))))) (define-public rust-zstd-safe-5 (package @@ -74348,8 +80002,7 @@ implementation that works everywhere, even WASM!") (base32 "1nzl4q3xl68pq58g9xlym299bvjdii8cl7ix595ym7jgw22maahx")))) (build-system cargo-build-system) (arguments - `(#:skip-build? #t - #:cargo-inputs + `(#:cargo-inputs (("rust-libc" ,rust-libc-0.2) ("rust-zstd-sys" ,rust-zstd-sys-2)))) (home-page "https://github.com/gyscos/zstd-rs") @@ -74363,7 +80016,7 @@ library.") (package (inherit rust-zstd-safe-5) (name "rust-zstd-safe") - (version "4.1.1+zstd.1.5.0") + (version "4.1.6+zstd.1.5.2") (source (origin (method url-fetch) @@ -74371,36 +80024,19 @@ library.") (file-name (string-append name "-" version ".tar.gz")) (sha256 - (base32 "0yghr94blhnfigzsynm2km3g93886z49612y7rh07c4kqpr90769")))) + (base32 "1fz97qn7galkwl31n28cil44nxfj81ryd33v2vb041r7pd8irdll")))) (arguments - `(#:skip-build? #t - #:cargo-inputs - (("rust-libc" ,rust-libc-0.2) - ("rust-zstd-sys" ,rust-zstd-sys-1)))))) - -(define-public rust-zstd-safe-3 - (package - (inherit rust-zstd-safe-4) - (name "rust-zstd-safe") - (version "3.0.1+zstd.1.4.9") - (source - (origin - (method url-fetch) - (uri (crate-uri "zstd-safe" version)) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 "133gassn5zy4vf0hhgsff3gxv1q3nc0bzi3qrqq7n4iqv6ycm1qk")))) - (arguments - `(#:skip-build? #t - #:cargo-inputs + `(#:cargo-inputs (("rust-libc" ,rust-libc-0.2) ("rust-zstd-sys" ,rust-zstd-sys-1)))))) ;; TODO: Unbundle zstd. +;; The 'legacy' feature, enabled by default, needs headers which aren't +;; installed by default in zstd. (define-public rust-zstd-sys-2 (package (name "rust-zstd-sys") - (version "2.0.7+zstd.1.5.4") + (version "2.0.8+zstd.1.5.5") (source (origin (method url-fetch) @@ -74408,11 +80044,12 @@ library.") (file-name (string-append name "-" version ".tar.gz")) (sha256 - (base32 "1xf7ng97h6h89bvisllj05vapkqcacn88y9bfm6jjmgyl8xrql4l")))) + (base32 "137c0wkxb04l0ig5df8a1ni94dl0g2ibz2q9dicg4bfk4ppfcmjm")))) (build-system cargo-build-system) (arguments - `(#:cargo-inputs - (("rust-bindgen" ,rust-bindgen-0.63) + `(#:install-source? #f ; invalid inclusion of reserved file name + #:cargo-inputs + (("rust-bindgen" ,rust-bindgen-0.64) ("rust-cc" ,rust-cc-1) ("rust-libc" ,rust-libc-0.2) ("rust-pkg-config" ,rust-pkg-config-0.3)))) @@ -74427,7 +80064,7 @@ compression library.") (package (inherit rust-zstd-sys-2) (name "rust-zstd-sys") - (version "1.6.1+zstd.1.5.0") + (version "1.6.3+zstd.1.5.2") (source (origin (method url-fetch) @@ -74435,10 +80072,11 @@ compression library.") (file-name (string-append name "-" version ".tar.gz")) (sha256 - (base32 "0cra76lginz5k659rch7axg5nyms67yffygr3k7ic7a3lb3j0lb1")))) + (base32 "1a1f839k3mxh3qhjga1vd2sfxrsi41cqrnpyc5byfd6nr2jsyjgw")))) (arguments - `(#:cargo-inputs - (("rust-bindgen" ,rust-bindgen-0.58) + `(#:install-source? #f ; invalid inclusion of reserved file name + #:cargo-inputs + (("rust-bindgen" ,rust-bindgen-0.59) ("rust-cc" ,rust-cc-1) ("rust-libc" ,rust-libc-0.2) ("rust-pkg-config" ,rust-pkg-config-0.3)))))) @@ -74469,6 +80107,99 @@ compression library.") in Pure Rust.") (license (list license:expat license:asl2.0)))) +(define-public rust-zvariant-3 + (package + (name "rust-zvariant") + (version "3.15.0") + (source (origin + (method url-fetch) + (uri (crate-uri "zvariant" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "131kaczf10psc8clzlndcc52dym5vi4g22kqf0qwaq6rw2z93cj4")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-arrayvec" ,rust-arrayvec-0.7) + ("rust-byteorder" ,rust-byteorder-1) + ("rust-chrono" ,rust-chrono-0.4) + ("rust-enumflags2" ,rust-enumflags2-0.7) + ("rust-libc" ,rust-libc-0.2) + ("rust-serde" ,rust-serde-1) + ("rust-serde-bytes" ,rust-serde-bytes-0.11) + ("rust-static-assertions" ,rust-static-assertions-1) + ("rust-time" ,rust-time-0.3) + ("rust-url" ,rust-url-2) + ("rust-uuid" ,rust-uuid-1) + ("rust-zvariant-derive" ,rust-zvariant-derive-3)) + #:cargo-development-inputs + (("rust-criterion" ,rust-criterion-0.4) + ("rust-glib" ,rust-glib-0.17) + ("rust-rand" ,rust-rand-0.8) + ("rust-serde-json" ,rust-serde-json-1) + ("rust-serde-repr" ,rust-serde-repr-0.1)))) + (native-inputs + (list pkg-config)) + (inputs + (list glib)) + (home-page "https://github.com/dbus2/zbus/") + (synopsis "D-Bus & GVariant encoding & decoding") + (description "D-Bus & GVariant encoding & decoding") + (license license:expat))) + +(define-public rust-zvariant-derive-3 + (package + (name "rust-zvariant-derive") + (version "3.15.0") + (source (origin + (method url-fetch) + (uri (crate-uri "zvariant-derive" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1kcfgpqshggr5v7dwldjggix79zcyj7fizw7dkh6w39iziyplkck")))) + (build-system cargo-build-system) + (arguments + `(#:tests? #f ; Needs unstable features. + #:cargo-inputs + (("rust-proc-macro-crate" ,rust-proc-macro-crate-1) + ("rust-proc-macro2" ,rust-proc-macro2-1) + ("rust-quote" ,rust-quote-1) + ("rust-syn" ,rust-syn-1) + ("rust-zvariant-utils" ,rust-zvariant-utils-1)) + #:cargo-development-inputs + (("rust-byteorder" ,rust-byteorder-1) + ("rust-enumflags2" ,rust-enumflags2-0.7) + ("rust-serde" ,rust-serde-1) + ("rust-serde-repr" ,rust-serde-repr-0.1)))) + (home-page "https://github.com/dbus2/zbus/") + (synopsis "D-Bus & GVariant encoding & decoding") + (description "D-Bus & GVariant encoding & decoding") + (license license:expat))) + +(define-public rust-zvariant-utils-1 + (package + (name "rust-zvariant-utils") + (version "1.0.1") + (source (origin + (method url-fetch) + (uri (crate-uri "zvariant-utils" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "00625h3240rixvfhq6yhws1d4bwf3vrf74v8s69b97aq27cg0d3j")))) + (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/dbus2/zbus/") + (synopsis "Utilities used internally by the zvariant crate") + (description "Various utilities used internally by the zvariant crate.") + (license license:expat))) + ;;; ;;; Avoid adding new packages to the end of this file. To reduce the chances ;;; of a merge conflict, place them above by existing packages with similar diff --git a/gnu/packages/databases.scm b/gnu/packages/databases.scm index 762d8bd402..3d41649f4d 100644 --- a/gnu/packages/databases.scm +++ b/gnu/packages/databases.scm @@ -1190,14 +1190,14 @@ and high-availability (HA).") (define-public postgresql-15 (package (name "postgresql") - (version "15.3") + (version "15.4") (source (origin (method url-fetch) (uri (string-append "https://ftp.postgresql.org/pub/source/v" version "/postgresql-" version ".tar.bz2")) (sha256 (base32 - "0cnrk5jrwfqkcx8mlg761s60ninqrsxpzasf7xfbzzq03y4x9izz")) + "1yf8cfg9j2pfxh5lxfaq1ifbvrcvv2g5vjxnadk36ds4vi5mmv5s")) (patches (search-patches "postgresql-disable-resolve_symlinks.patch")))) (build-system gnu-build-system) (arguments @@ -1265,27 +1265,27 @@ pictures, sounds, or video.") (define-public postgresql-13 (package (inherit postgresql-14) - (version "13.11") + (version "13.12") (source (origin (inherit (package-source postgresql-14)) (uri (string-append "https://ftp.postgresql.org/pub/source/v" version "/postgresql-" version ".tar.bz2")) (sha256 (base32 - "1yqbwnzgdgaim476smwkdj2jd6j92x9xqm2f1mknnmh3f9jgz4j9")))))) + "12r1kwjaclq2qn4qg3k6j0asrs4r0k0g1fkdpb3pnjsiwg7fv88d")))))) (define-public postgresql-11 (package (inherit postgresql-13) (name "postgresql") - (version "11.20") + (version "11.21") (source (origin (inherit (package-source postgresql-13)) (uri (string-append "https://ftp.postgresql.org/pub/source/v" version "/postgresql-" version ".tar.bz2")) (sha256 (base32 - "1kmcnnc2nwjxv042b8bxbdxdgfksxvgmfhh4999rhzjays18hz1x")))) + "0l7qrwzwyiy5dwg6j7nnd9mq245sycc4gcv6a6r7gpfmf5s87c07")))) (native-inputs (modify-inputs (package-native-inputs postgresql-13) (replace "docbook-xml" docbook-xml-4.2))))) @@ -1850,8 +1850,8 @@ which uses SQL to describe changes.") (define-public sqlcrush ;; Unfortunately, there is no proper upstream release and may never be. - (let ((commit "b5f6868f189566a26eecc78d0f0659813c1aa98a") - (revision "1")) + (let ((commit "502a583e97a84efdeb48e59f1bfe403daa9681ee") + (revision "2")) (package (name "sqlcrush") (version (git-version "0.1.5" revision commit)) @@ -1863,7 +1863,7 @@ which uses SQL to describe changes.") (file-name (git-file-name name version)) (sha256 (base32 - "0x3wy40r93p0jv3nbwj9a77wa4ff697d13r0wffmm7q9h3mzsww8")))) + "0x2q4m9ryw68kifalnm3x4bv9v2xrc2ffsiap8m9wnw6lf1h05la")))) (build-system python-build-system) (inputs (list python-cryptography python-psycopg2 python-pymysql diff --git a/gnu/packages/dezyne.scm b/gnu/packages/dezyne.scm index ef2130a940..23b51274a5 100644 --- a/gnu/packages/dezyne.scm +++ b/gnu/packages/dezyne.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2022, 2023 Jan (janneke) Nieuwenhuizen <janneke@gnu.org> +;;; Copyright © 2022, 2023 Janneke Nieuwenhuizen <janneke@gnu.org> ;;; ;;; This file is part of GNU Guix. ;;; @@ -32,14 +32,14 @@ (define-public dezyne (package (name "dezyne") - (version "2.17.3") + (version "2.17.5") (source (origin (method url-fetch) (uri (string-append "https://dezyne.org/download/dezyne/" name "-" version ".tar.gz")) (sha256 - (base32 "0x2aqfvbxhiwxj6vm17g7dkxwj8skcs9pg3a3l1x9pxy7v22wxd7")))) + (base32 "15jhi17f0aqnlznvpf6lkz2y837xkzf8chi9rhhb55920vqf6cgg")))) (inputs (list bash-minimal guile-3.0-latest guile-json-4 diff --git a/gnu/packages/disk.scm b/gnu/packages/disk.scm index fab35850f5..afa11d3852 100644 --- a/gnu/packages/disk.scm +++ b/gnu/packages/disk.scm @@ -1131,7 +1131,7 @@ LVM D-Bus API).") (define-public rmlint (package (name "rmlint") - (version "2.10.1") + (version "2.10.2") (source (origin (method git-fetch) (uri (git-reference @@ -1140,48 +1140,44 @@ LVM D-Bus API).") (file-name (git-file-name name version)) (sha256 (base32 - "15xfkcw1bkfyf3z8kl23k3rlv702m0h7ghqxvhniynvlwbgh6j2x")))) + "0sk4v1chnk2hvzi92svyf8qgamfs4fvial90qwx4a7dayxhkbsm4")))) (build-system scons-build-system) (arguments - `(#:scons ,scons-python2 - #:scons-flags (list (string-append "--prefix=" %output) - (string-append "--actual-prefix=" %output)) - #:tests? #f ; No tests? - #:phases - (modify-phases %standard-phases - (add-after 'unpack 'scons-propagate-environment - (lambda* (#:key inputs #:allow-other-keys) - ;; TODO: `rmlint --gui` fails with - ;; "Failed to load shredder: No module named 'shredder'". - ;; The GUI might also need extra dependencies, such as - ;; python-gobject, python-cairo, dconf, librsvg, gtksourceview3. - (substitute* "lib/cmdline.c" - (("const char \\*commands\\[\\] = \\{\"python3\", \"python\", NULL\\};") - (string-append - "const char *commands[] = {\"" - (assoc-ref inputs "python") "/bin/python" - "\", \"python\", NULL};"))) - ;; By design, SCons does not, by default, propagate - ;; environment variables to subprocesses. See: - ;; <http://comments.gmane.org/gmane.linux.distributions.nixos/4969> - ;; Here, we modify the SConstruct file to arrange for - ;; environment variables to be propagated. - (substitute* "SConstruct" - (("^env = Environment\\(.*\\)" all) - (string-append - all - "\nenv['ENV']=os.environ")))))))) + (list + #:scons scons-python2 + #:scons-flags + #~(list (string-append "--prefix=" #$output) + (string-append "--actual-prefix=" #$output)) + #:tests? #f ; no tests + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'scons-propagate-environment + (lambda* (#:key inputs #:allow-other-keys) + ;; TODO: `rmlint --gui` fails with + ;; "Failed to load shredder: No module named 'shredder'". + ;; The GUI might also need extra dependencies, such as + ;; python-gobject, python-cairo, dconf, librsvg, gtksourceview3. + (substitute* "lib/cmdline.c" + (("const char \\*commands\\[\\] = \\{\"python3\", \"python\", NULL\\};") + (string-append "const char *commands[] = {\"" + (search-input-file inputs "/bin/python") + "\", \"python\", NULL};"))) + ;; By design, SCons does not, by default, propagate + ;; environment variables to subprocesses. See: + ;; <http://comments.gmane.org/gmane.linux.distributions.nixos/4969> + ;; Here, we modify the SConstruct file to arrange for + ;; environment variables to be propagated. + (substitute* "SConstruct" + (("^env = Environment\\(.*\\)" all) + (string-append all "\nenv['ENV']=os.environ")))))))) (native-inputs - `(("pkg-config" ,pkg-config) - ("glib:bin" ,glib "bin") - ("python-sphinx" ,python-sphinx))) + (list `(,glib "bin") pkg-config python-sphinx)) (inputs - `(("python" ,python-wrapper) - ("glib" ,glib) - ("libelf" ,libelf) - ("elfutils" ,elfutils) - ("json-glib" ,json-glib) - ("libblkid" ,util-linux "lib"))) + (list elfutils + glib + json-glib + python-wrapper + `(,util-linux "lib"))) (home-page "https://rmlint.rtfd.org") (synopsis "Remove duplicates and other lint from the file system") (description "@command{rmlint} finds space waste and other broken things diff --git a/gnu/packages/display-managers.scm b/gnu/packages/display-managers.scm index f6c9283a29..327a29aa9e 100644 --- a/gnu/packages/display-managers.scm +++ b/gnu/packages/display-managers.scm @@ -10,7 +10,7 @@ ;;; Copyright © 2020 Fredrik Salomonsson <plattfot@gmail.com> ;;; Copyright © 2020 Vincent Legoll <vincent.legoll@gmail.com> ;;; Copyright © 2021 Zheng Junjie <873216071@qq.com> -;;; Copyright © 2021, 2022 Efraim Flashner <efraim@flashner.co.il> +;;; Copyright © 2021-2023 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2021 Petr Hodina <phodina@protonmail.com> ;;; Copyright © 2022, 2023 Maxim Cournoyer <maxim.cournoyer@gmail.com> ;;; @@ -421,7 +421,7 @@ display manager which supports different greeters.") bash-minimal ;for wrap-program gtk+ guile-3.0 - librsvg + (librsvg-for-system) libxklavier lightdm shared-mime-info)) diff --git a/gnu/packages/dns.scm b/gnu/packages/dns.scm index fdd10a6611..d6bea61ca7 100644 --- a/gnu/packages/dns.scm +++ b/gnu/packages/dns.scm @@ -9,7 +9,7 @@ ;;; Copyright © 2016, 2020 Marius Bakke <mbakke@fastmail.com> ;;; Copyright © 2017 Vasile Dumitrascu <va511e@yahoo.com> ;;; Copyright © 2017 Gregor Giesen <giesen@zaehlwerk.net> -;;; Copyright © 2018, 2022 Oleg Pykhalov <go.wigust@gmail.com> +;;; Copyright © 2022 Oleg Pykhalov <go.wigust@gmail.com> ;;; Copyright © 2019 Mathieu Othacehe <m.othacehe@gmail.com> ;;; Copyright © 2019 Chris Marusich <cmmarusich@gmail.com> ;;; Copyright © 2019 Rutger Helling <rhelling@mykolab.com> @@ -91,8 +91,7 @@ #:use-module (guix build-system copy) #:use-module (guix build-system glib-or-gtk) #:use-module (guix build-system gnu) - #:use-module (guix build-system meson) - #:use-module (guix build-system trivial)) + #:use-module (guix build-system meson)) (define-public cloudflare-cli (let ((commit "2d986d3ec1b0e3158c4bd40e8918947cb74aa392") @@ -1067,72 +1066,6 @@ LuaJIT, both a resolver library and a daemon.") license:cc0 license:lgpl2.0)))) -(define-public ddclient - (package - (name "ddclient") - (version "3.10.0") - (source - (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/ddclient/ddclient") - (commit (string-append "v" version)))) - (file-name (git-file-name name version)) - (sha256 - (base32 "0l87d72apwrg6ipc9gix5gv64d4hr1ykxmss8x4r8d8mgj6j8rf1")) - (modules '((guix build utils))) - (snippet - ;; XXX: erroneous version value, this is fixed in master - #~(begin - (substitute* "configure.ac" - (("3.10.0_2") #$version)))) - (patches (search-patches "ddclient-skip-test.patch")))) - (build-system gnu-build-system) - (native-inputs - (list autoconf automake libtool - perl-test-warnings perl-test-mockmodule)) - (inputs - (list inetutils ; logger - net-tools - bash-minimal ;for 'wrap-program' - perl - perl-digest-sha1 - perl-io-socket-ssl - perl-io-socket-inet6 ;; XXX: this is likely to be removed in a future ddclient release - ;; https://github.com/ddclient/ddclient/issues/461 - perl-json)) - (arguments - (list - #:configure-flags #~(list "--localstatedir=/var") - #:phases - #~(modify-phases %standard-phases - (replace 'install - (lambda _ - ;; XXX: Do not create /var - (invoke "make" "localstatedir=/tmp/discard" "install"))) - (add-after 'wrap 'wrap-ddclient - (lambda* (#:key inputs #:allow-other-keys) - (wrap-program (string-append #$output "/bin/ddclient") - `("PERL5LIB" ":" prefix ,(string-split (getenv "PERL5LIB") #\:)) - `("PATH" prefix ,(map (lambda (x) - (string-append (assoc-ref inputs x) "/bin")) - '("inetutils" "net-tools"))))))))) - (native-search-paths - (list $SSL_CERT_DIR $SSL_CERT_FILE)) - (home-page "https://ddclient.net/") - (synopsis "Address updating utility for dynamic DNS services") - (description "This package provides a client to update dynamic IP -addresses with several dynamic DNS service providers, such as -@uref{https://www.dyndns.com/account/login.html,DynDNS.com}. - -This makes it possible to use a fixed hostname (such as myhost.dyndns.org) to -access a machine with a dynamic IP address. - -The client supports both dynamic and (near) static services, as well as MX -record and alternative name management. It caches the address, and only -attempts the update when it has changed.") - (license license:gpl2+))) - (define-public hnsd (package (name "hnsd") diff --git a/gnu/packages/dunst.scm b/gnu/packages/dunst.scm index 0855e45084..4a8ff59ec9 100644 --- a/gnu/packages/dunst.scm +++ b/gnu/packages/dunst.scm @@ -1,7 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2015, 2017, 2018 Alex Kost <alezost@gmail.com> ;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr> -;;; Copyright © 2019 Efraim Flashner <efraim@flashner.co.il> +;;; Copyright © 2019, 2023 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2020 Brice Waegeneire <brice@waegenei.re> ;;; Copyright © 2021 Alexandru-Sergiu Marton <brown121407@posteo.ro> ;;; Copyright © 2021 Guillaume Le Vaillant <glv@posteo.net> @@ -69,7 +69,7 @@ which)) (inputs (list dbus - librsvg ; for svg support + (librsvg-for-system) ; for svg support glib cairo pango diff --git a/gnu/packages/ebook.scm b/gnu/packages/ebook.scm index 6962547c75..16d4fcd6e3 100644 --- a/gnu/packages/ebook.scm +++ b/gnu/packages/ebook.scm @@ -454,7 +454,8 @@ designed to be used in a generic text renderer.") (sha256 (base32 "0c0s4silpax74kwfz3dfmzn4lkv6jsyb800vfak166vii0hvbv3d")) - (patches (search-patches "fbreader-curl-7.62.patch")))) + (patches (search-patches "fbreader-curl-7.62.patch" + "fbreader-fix-icon.patch")))) (build-system gnu-build-system) (inputs `(("curl" ,curl) diff --git a/gnu/packages/education.scm b/gnu/packages/education.scm index 54380e7ebb..bb307cf7ab 100644 --- a/gnu/packages/education.scm +++ b/gnu/packages/education.scm @@ -116,7 +116,7 @@ ":" (or (getenv "CPATH") "")))))))) (inputs `(("gtk+" ,gtk+-2) - ("librsvg" ,librsvg) + ("librsvg" ,(librsvg-for-system)) ("libxml2" ,libxml2) ("sdl-mixer" ,sdl-mixer) ("sqlite" ,sqlite) @@ -876,7 +876,7 @@ endless. For example: (inputs `(("font-andika" ,font-sil-andika) ("libpng" ,libpng) - ("librsvg" ,librsvg) + ("librsvg" ,(librsvg-for-system)) ("libxml2" ,libxml2) ("sdl" ,(sdl-union (list sdl sdl-image sdl-mixer sdl-net sdl-pango))))) (home-page "https://github.com/tux4kids/t4kcommon") @@ -932,7 +932,7 @@ TuxMath and TuxType.") (native-inputs (list pkg-config)) (inputs - `(("librsvg" ,librsvg) + `(("librsvg" ,(librsvg-for-system)) ("libxml2" ,libxml2) ("sdl" ,(sdl-union (list sdl sdl-image sdl-mixer sdl-net sdl-pango))) ("t4k-common" ,t4k-common))) diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm index 11c1a6be67..0f0751e39a 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -9052,6 +9052,30 @@ completion candidate when using the Company text completion framework.") @code{company-math}.") (license license:gpl3+))) +(define-public emacs-math-preview + (package + (name "emacs-math-preview") + (version "5.1.1") + (source + (origin + (method git-fetch) + (uri + (git-reference + (url "https://gitlab.com/matsievskiysv/math-preview") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0ni08900p0pbajw143iw0b7a62qiqcm9b6jy7pqgpn437vydjx1z")))) + (build-system emacs-build-system) + (propagated-inputs (list emacs-dash emacs-s)) + (home-page "https://gitlab.com/matsievskiysv/math-preview") + (synopsis "Preview TeX math equations inline using MathJax") + (description + "Emacs math-preview uses MathJax for displaying TeX, MathML and AsciiMath + math inline in Emacs buffers.") + (license license:gpl3+))) + (define-public emacs-company-coq (package (name "emacs-company-coq") @@ -23891,7 +23915,7 @@ within Emacs.") (define-public emacs-ibrowse (package (name "emacs-ibrowse") - (version "0.1.8") + (version "0.2.2") (source (origin (method git-fetch) @@ -23900,9 +23924,9 @@ within Emacs.") (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "0q3imid9byaay0lqvv5n2klwk680w8x3qzdb279rdr08bb36w5ya")))) + (base32 "1dm46k67smg2m33c6n68blpw2mw7fx1ymq81kv54jjlpmv3xrdsf")))) (build-system emacs-build-system) - (inputs (list sqlite)) + (inputs (list emacs-websocket sqlite)) (home-page "https://git.sr.ht/~ngraves/ibrowse.el") (synopsis "Interact with your browser from emacs") (description "This package provides some commands to act on the browser diff --git a/gnu/packages/engineering.scm b/gnu/packages/engineering.scm index e0f7199d2e..9c14e9c602 100644 --- a/gnu/packages/engineering.scm +++ b/gnu/packages/engineering.scm @@ -3223,7 +3223,7 @@ data structures and to operate on them.") gerbv glibmm gtkmm-2 - librsvg)) + (librsvg-for-system))) (native-inputs (list autoconf automake libtool pkg-config)) (home-page "https://github.com/pcb2gcode/pcb2gcode") diff --git a/gnu/packages/file-systems.scm b/gnu/packages/file-systems.scm index 90e00d7592..82b52fe2e9 100644 --- a/gnu/packages/file-systems.scm +++ b/gnu/packages/file-systems.scm @@ -1725,7 +1725,12 @@ Dropbox API v2.") (sha256 (base32 "1vzfhw3z2r0rb6s0qdzirh3pl7rv1z8xmxa0z5h7h1wqhpl05ai7")) - (patches (search-patches "dbxfs-remove-sentry-sdk.patch")))) + (patches (search-patches "dbxfs-remove-sentry-sdk.patch")) + (snippet + #~(begin (use-modules (guix build utils)) + ;; Don't check for package updates. + (substitute* "dbxfs/main.py" + (("if version") "if false")))))) (build-system python-build-system) (arguments '(#:tests? #f)) ; tests requires safefs diff --git a/gnu/packages/fonts.scm b/gnu/packages/fonts.scm index d7b2e80026..e881ab11cd 100644 --- a/gnu/packages/fonts.scm +++ b/gnu/packages/fonts.scm @@ -1858,7 +1858,7 @@ programming. Iosevka is completely generated from its source code.") (define-public font-sarasa-gothic (package (name "font-sarasa-gothic") - (version "0.41.4") + (version "0.41.6") (source (origin (method url-fetch) @@ -1866,7 +1866,7 @@ programming. Iosevka is completely generated from its source code.") "/releases/download/v" version "/sarasa-gothic-ttc-" version ".7z")) (sha256 - (base32 "0rqw6wrr55alsld8a9vk5g6n7zyivfh2zpw4my72qz3nfp448fs2")))) + (base32 "1l238rx9nw6acxy5k5b7bjd8br8cnivdlyly7r20w1b36gscl878")))) (build-system font-build-system) (arguments `(#:phases (modify-phases %standard-phases diff --git a/gnu/packages/freedesktop.scm b/gnu/packages/freedesktop.scm index 88dbcb581d..0a1c9bffb3 100644 --- a/gnu/packages/freedesktop.scm +++ b/gnu/packages/freedesktop.scm @@ -5,7 +5,7 @@ ;;; Copyright © 2015-2017, 2019, 2021-2022 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2015, 2017, 2018, 2019, 2021, 2022, 2023 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2015 David Hashe <david.hashe@dhashe.com> -;;; Copyright © 2016, 2017, 2019, 2021, 2022 Efraim Flashner <efraim@flashner.co.il> +;;; Copyright © 2016, 2017, 2019, 2021-2023 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2016 Kei Kebreau <kkebreau@posteo.net> ;;; Copyright © 2017 Nikita <nikita@n0.is> ;;; Copyright © 2017, 2018 Mark H Weaver <mhw@netris.org> @@ -339,7 +339,7 @@ tests.") (define-public malcontent (package (name "malcontent") - (version "0.8.0") + (version "0.11.1") (source (origin (method git-fetch) @@ -348,7 +348,7 @@ tests.") (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "0vnf0pk516fwwh41v96c29l2i7h1pnwhivlkbf53kkx1q35g7lb3")))) + (base32 "0g622ig5ffrzk9184xff3lardk7rnmkvj8y5g6h6s41bfh51b71m")))) (build-system meson-build-system) (arguments `(#:glib-or-gtk? #t @@ -359,25 +359,26 @@ tests.") (lambda _ (substitute* "libmalcontent/tests/app-filter.c" (("g_test_add_func \\(\"/app-filter/appinfo\", test_app_filter_appinfo\\);") - "")) - #t))))) + ""))))))) (native-inputs - `(("desktop-file-utils" ,desktop-file-utils) - ("gettext" ,gettext-minimal) - ("glib:bin" ,glib "bin") - ("gobject-introspection" ,gobject-introspection) - ("gtk+:bin" ,gtk+ "bin") - ("itstool" ,itstool) - ("libglib-testing" ,libglib-testing) - ("libxml2" ,libxml2) - ("pkg-config" ,pkg-config))) + (list desktop-file-utils + gettext-minimal + `(,glib "bin") + gobject-introspection + `(,gtk "bin") + itstool + libglib-testing + libxml2 + pkg-config)) (inputs (list accountsservice + appstream appstream-glib dbus flatpak glib - gtk+ + gtk + libadwaita libostree linux-pam polkit)) @@ -644,7 +645,7 @@ the freedesktop.org XDG Base Directory specification.") (define-public elogind (package (name "elogind") - (version "246.10") + (version "252.9") (source (origin (method git-fetch) (uri (git-reference @@ -653,25 +654,30 @@ the freedesktop.org XDG Base Directory specification.") (file-name (git-file-name name version)) (sha256 (base32 - "16045bhpwjq2nqgswln67ipg1zrz2djxlgkfngqng3jqpwagmnzq")) - (patches (search-patches - "elogind-revert-polkit-detection.patch")))) + "049cfv97975x700s7lx4p9i22nv6v7j046iwkspxba7kr5qq7akw")) + (patches (search-patches "elogind-fix-rpath.patch")))) (build-system meson-build-system) (arguments `(#:configure-flags ,#~(let* ((out #$output) (sysconf (string-append out "/etc")) (libexec (string-append out "/libexec/elogind")) - (dbuspolicy (string-append out "/etc/dbus-1/system.d")) + (dbus-data (string-append out "/share/dbus-1")) + (dbuspolicy (string-append dbus-data "/system.d")) + (dbussessionservice (string-append dbus-data "/services")) + (dbussystemservice (string-append dbus-data + "/system-services")) + (dbusinterfaces (string-append dbus-data "/interfaces")) + #$@(if (not (target-riscv64?)) - #~((kexec-tools #$(this-package-input "kexec-tools"))) - #~()) + #~((kexec-tools #$(this-package-input "kexec-tools"))) + #~()) (shadow #$(this-package-input "shadow")) (shepherd #$(this-package-input "shepherd")) (halt-path (string-append shepherd "/sbin/halt")) #$@(if (not (target-riscv64?)) - #~((kexec-path (string-append kexec-tools "/sbin/kexec"))) - #~()) + #~((kexec-path (string-append kexec-tools "/sbin/kexec"))) + #~()) (nologin-path (string-append shadow "/sbin/nologin")) (poweroff-path (string-append shepherd "/sbin/shutdown")) (reboot-path (string-append shepherd "/sbin/reboot"))) @@ -680,12 +686,15 @@ the freedesktop.org XDG Base Directory specification.") (string-append "-Dsysconfdir=" sysconf) (string-append "-Drootlibexecdir=" libexec) (string-append "-Ddbuspolicydir=" dbuspolicy) + (string-append "-Ddbussessionservicedir=" dbussessionservice) + (string-append "-Ddbussystemservicedir=" dbussystemservice) + (string-append "-Ddbus-interfaces-dir=" dbusinterfaces) (string-append "-Dc_link_args=-Wl,-rpath=" libexec) (string-append "-Dcpp_link_args=-Wl,-rpath=" libexec) (string-append "-Dhalt-path=" halt-path) #$@(if (not (target-riscv64?)) - #~((string-append "-Dkexec-path=" kexec-path)) - #~()) + #~((string-append "-Dkexec-path=" kexec-path)) + #~()) (string-append "-Dpoweroff-path=" poweroff-path) (string-append "-Dreboot-path=" reboot-path) (string-append "-Dnologin-path=" nologin-path) @@ -704,21 +713,28 @@ the freedesktop.org XDG Base Directory specification.") ;; XXX There is no run-time setting to set this per-process, only a ;; build-time, hard-coded list of global directories. (lambda _ - (substitute* (list "src/login/elogind-dbus.c" - "src/sleep/sleep.c") + (substitute* (list "src/login/logind-core.c" + "src/login/logind-dbus.c" + "src/sleep/sleep.c" + "src/shared/sleep-config.c") (("PKGSYSCONFDIR") "\"/etc/elogind\"")))) (add-after 'unpack 'adjust-tests (lambda _ - ;; Skip the following test, which depends on users such as 'root' - ;; existing in the build environment. - (invoke "sed" "/src\\/test\\/test-user-util.c/,+2s/^/#/g" - "-i" "src/test/meson.build") + ;; Skip the user-util tests, which depends on users such as + ;; 'root' existing in the build environment. + (substitute* "src/test/meson.build" + ((".*'test-user-util.c'.*") "") + ((".*'test-cgroup.c'.*") "")) ;; This test tries to copy some bytes from /usr/lib/os-release, ;; which does not exist in the build container. Choose something ;; more likely to be available. (substitute* "src/test/test-copy.c" (("/usr/lib/os-release") - "/etc/passwd")) + "/etc/passwd") + ;; Skip the copy_holes test, which fails for unknown reasons + ;; (see: https://github.com/elogind/elogind/issues/261). + (("TEST_RET\\(copy_holes).*" all) + (string-append all " return 77;\n"))) ;; Use a shebang that works in the build container. (substitute* "src/test/test-exec-util.c" (("#!/bin/sh") @@ -743,41 +759,37 @@ the freedesktop.org XDG Base Directory specification.") ;; loopback device, but that fails because /sys is unavailable. (substitute* "src/libelogind/sd-device/test-sd-device-thread.c" ((".*sd_device_new_from_syspath.*/sys/class/net/lo.*") - "return 77;")) - ;; Most of these tests require cgroups or an actual live - ;; logind system so that it can flicker the monitor, etc. - ;; Just skip it until a more narrow selection can be made. - (substitute* "src/libelogind/sd-login/test-login.c" - (("test_login\\(\\);") "return 77;")))) (add-after 'unpack 'change-pid-file-path (lambda _ (substitute* "src/login/elogind.c" (("\"/run/elogind.pid\"") "\"/run/systemd/elogind.pid\""))))))) (native-inputs - `(("docbook-xml" ,docbook-xml-4.5) - ("docbook-xml-4.2" ,docbook-xml-4.2) - ("docbook-xsl" ,docbook-xsl) - ("gettext" ,gettext-minimal) - ("gperf" ,gperf) - ("libxml2" ,libxml2) ;for XML_CATALOG_FILES - ("m4" ,m4) - ("pkg-config" ,pkg-config) - ("python" ,python) - ("xsltproc" ,libxslt))) + (list docbook-xml-4.5 + docbook-xml-4.2 + docbook-xsl + gettext-minimal + gperf + libxml2 ;for XML_CATALOG_FILES + m4 + pkg-config + python + python-jinja2 + libxslt)) (inputs (append - (if (not (target-riscv64?)) - (list kexec-tools) - '()) - (list linux-pam - libcap - shadow ; for 'nologin' - shepherd ; for 'halt' and 'reboot', invoked - ; when pressing the power button - dbus - eudev - acl))) ; to add individual users to ACLs on /dev nodes + (if (not (target-riscv64?)) + (list kexec-tools) + '()) + (list linux-pam + libcap + `(,util-linux "lib") ;for 'libmount' + shadow ;for 'nologin' + shepherd ;for 'halt' and 'reboot', invoked + ;when pressing the power button + dbus + eudev + acl))) ; to add individual users to ACLs on /dev nodes (home-page "https://github.com/elogind/elogind") (synopsis "User, seat, and session management service") (description "Elogind is the systemd project's \"logind\" service, diff --git a/gnu/packages/fvwm.scm b/gnu/packages/fvwm.scm index 872810c658..f7866ea870 100644 --- a/gnu/packages/fvwm.scm +++ b/gnu/packages/fvwm.scm @@ -1,6 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2015 Sou Bunnbu <iyzsong@gmail.com> -;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il> +;;; Copyright © 2016, 2023 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2017 Nikita <nikita@n0.is> ;;; Copyright © 2019 Tobias Geerinckx-Rice <me@tobias.gr> ;;; @@ -67,7 +67,7 @@ (inputs (list fribidi libpng - librsvg + (librsvg-for-system) libxcursor libxext libxft diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm index bf5c680042..a5fa19fc20 100644 --- a/gnu/packages/games.scm +++ b/gnu/packages/games.scm @@ -1160,7 +1160,7 @@ allows users to brew while offline.") (define-public corsix-th (package (name "corsix-th") - (version "0.66") + (version "0.67") (source (origin (method git-fetch) @@ -1169,29 +1169,28 @@ allows users to brew while offline.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "0sgsvhqgiq6v1v5am7ghja8blhlrj0y1arvq6xq1j5fwa7c59ihs")))) + (base32 "14996kbrwdrd0gpz19il2i4p650qdhjw8v8ka3aigk6pl4kda3sq")))) (build-system cmake-build-system) (arguments - `(#:phases - (modify-phases %standard-phases - (add-after 'install 'wrap-binary - (lambda _ - ;; Set Lua module paths and default MIDI soundfont on startup. - (let* ((out (assoc-ref %outputs "out")) - (fluid (assoc-ref %build-inputs "fluid-3")) - (lua-version ,(version-major+minor (package-version lua))) - (lua-cpath - (map (lambda (lib) - (string-append - (assoc-ref %build-inputs (string-append "lua-" lib)) - "/lib/lua/" lua-version "/?.so")) - '("filesystem" "lpeg")))) - (wrap-program (string-append out "/bin/corsix-th") - `("LUA_CPATH" ";" = ,lua-cpath) - `("SDL_SOUNDFONTS" ":" suffix - (,(string-append fluid "/share/soundfonts/FluidR3Mono_GM.sf3"))))) - #t))) - #:tests? #f)) ; TODO need busted package to run tests + (list + #:phases + #~(modify-phases %standard-phases + (add-after 'install 'wrap-binary + (lambda _ + ;; Set Lua module paths and default MIDI soundfont on startup. + (let* ((fluid #$(this-package-input "fluid-3")) + (lua-version #$(version-major+minor (package-version lua))) + (lua-cpath + (map (lambda (lib) + (string-append + (assoc-ref %build-inputs (string-append "lua-" lib)) + "/lib/lua/" lua-version "/?.so")) + '("filesystem" "lpeg")))) + (wrap-program (string-append #$output "/bin/corsix-th") + `("LUA_CPATH" ";" = ,lua-cpath) + `("SDL_SOUNDFONTS" ":" suffix + (,(string-append fluid "/share/soundfonts/FluidR3Mono_GM.sf3")))))))) + #:tests? #f)) ; TODO need busted package to run tests ;; Omit Lua-Socket dependency to disable automatic updates. (inputs (list ffmpeg @@ -3740,7 +3739,7 @@ object-oriented programming.") (assoc-ref inputs "chess") "/bin/gnuchessx")))))))) (inputs - (list alsa-utils chess gtk+-2 librsvg)) + (list alsa-utils chess gtk+-2 (librsvg-for-system))) (native-inputs (list texinfo pkg-config)) (home-page "https://www.gnu.org/software/xboard/") @@ -5166,7 +5165,7 @@ are only two levels to play with, but they are very addictive.") (("\"beep\"") (string-append "\"" (assoc-ref inputs "beep") "/bin/beep\""))) #t))))) - (inputs (list avahi beep gtk+ librsvg)) + (inputs (list avahi beep gtk+ (librsvg-for-system))) (native-inputs (list intltool itstool libxml2 pkg-config)) (synopsis "Board game inspired by The Settlers of Catan") (description "Pioneers is an emulation of the board game The Settlers of @@ -5815,7 +5814,7 @@ safety of the Chromium vessel.") ("fribidi" ,fribidi) ("gettext" ,gettext-minimal) ("libpng" ,libpng) - ("librsvg" ,librsvg) + ("librsvg" ,(librsvg-for-system)) ("libpaper" ,libpaper) ("netpbm" ,netpbm) ("sdl" ,(sdl-union (list sdl sdl-mixer sdl-ttf sdl-image))))) @@ -7755,7 +7754,7 @@ Github or Gitlab.") (base32 "1s86cd36rwkff329mb1ay1wi5qqyi35564ppgr3f4qqz9wj9vs2m")))) ("gettext" ,gettext-minimal) - ("librsvg" ,librsvg) + ("librsvg" ,(librsvg-for-system)) ("po4a" ,po4a) ("python" ,python-wrapper))) (inputs diff --git a/gnu/packages/genealogy.scm b/gnu/packages/genealogy.scm index b8bd4339b9..c1cd26a9c4 100644 --- a/gnu/packages/genealogy.scm +++ b/gnu/packages/genealogy.scm @@ -63,7 +63,7 @@ gtk+ gtkspell3 graphviz - librsvg + (librsvg-for-system) osm-gps-map pango python-bsddb3 diff --git a/gnu/packages/geo.scm b/gnu/packages/geo.scm index cce4f2518d..f5f59d1d99 100644 --- a/gnu/packages/geo.scm +++ b/gnu/packages/geo.scm @@ -685,15 +685,16 @@ coverages using a SpatiaLite DBMS.") (define-public libspatialite (package (name "libspatialite") - (version "5.0.1") + (version "5.1.0") (source (origin (method url-fetch) - (uri (string-append "https://www.gaia-gis.it/gaia-sins/libspatialite-" + (uri (string-append "https://www.gaia-gis.it/gaia-sins/" + "libspatialite-sources/libspatialite-" version ".tar.gz")) (sha256 (base32 - "164y82rw2lrp5glfc0rkn7n6xvx5dvlgmh7bb7815067251wkjzf")))) + "102hc18fvwr1kw8aap53zqi8r0l52b8wa00lvlbf1zys979jvgj3")))) (build-system gnu-build-system) (native-inputs (list pkg-config)) @@ -2275,14 +2276,15 @@ associated attribute file (@file{.dbf}).") (define-public spatialite-tools (package (name "spatialite-tools") - (version "5.0.1") + (version "5.1.0") (source (origin (method url-fetch) (uri (string-append "https://www.gaia-gis.it/gaia-sins/" + "spatialite-tools-sources/" "spatialite-tools-" version ".tar.gz")) (sha256 - (base32 "070p6pg541wvwb28wkn7k0z1qdyirik2qc2jpj4pf0vzx02w414n")))) + (base32 "1dc3hnqa9ns0ycsac6wyl96pi052y7rrf233lq7sk708ghv30c6z")))) (build-system gnu-build-system) (native-inputs (list pkg-config)) diff --git a/gnu/packages/gettext.scm b/gnu/packages/gettext.scm index f2e01e6a3f..1408cc4cb4 100644 --- a/gnu/packages/gettext.scm +++ b/gnu/packages/gettext.scm @@ -240,11 +240,13 @@ from Markdown files.") (version "0.69") (source (origin (method url-fetch) - (uri (string-append "https://github.com/mquinson/po4a/releases/download/v" + (uri (string-append "https://github.com/mquinson/po4a" + "/releases/download/v" version "/po4a-" version ".tar.gz")) (sha256 (base32 - "15llrfdp4ilbrxy65hmmxka86xj0mrbqfiyzv715wrk16vqszm3w")))) + "15llrfdp4ilbrxy65hmmxka86xj0mrbqfiyzv715wrk16vqszm3w")) + (patches (search-patches "po4a-partial-texinfo-menu-fix.patch")))) (build-system perl-build-system) (arguments (list diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index c887da7003..69e870adf8 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -384,7 +384,6 @@ services.") (define-public libcloudproviders (package/inherit libcloudproviders-minimal (name "libcloudproviders") - (version "0.3.1") (outputs (cons "doc" (package-outputs libcloudproviders-minimal))) (arguments (substitute-keyword-arguments (package-arguments libcloudproviders-minimal) @@ -567,7 +566,7 @@ in JavaScript.") vala)) (inputs (list avahi - librsvg + (librsvg-for-system) libgee gst-plugins-base gtk+)) @@ -871,7 +870,7 @@ tomorrow, the rest of the week and for special occasions.") libjpeg-turbo libportal libpng - librsvg + (librsvg-for-system) python-pygobject rest tracker @@ -4381,7 +4380,7 @@ engineering.") python)) (inputs (list bash-minimal - librsvg + (librsvg-for-system) gsettings-desktop-schemas gtk+ pango @@ -6734,7 +6733,7 @@ which can read a large number of file formats.") (define-public rhythmbox (package (name "rhythmbox") - (version "3.4.6") + (version "3.4.7") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/rhythmbox/" @@ -6742,7 +6741,7 @@ which can read a large number of file formats.") "rhythmbox-" version ".tar.xz")) (sha256 (base32 - "0d5hbsdk2p8w567mfzy4kk8xn4d227hrbyy857li3r2mrq884mpr")))) + "0zps1k72n7yycw6djgilgdacwdi993xqh1sh9x9lr9n17z0mcv9g")))) (build-system meson-build-system) (arguments (list @@ -6802,7 +6801,7 @@ which can read a large number of file formats.") libpeas libsecret libmtp - libsoup-minimal-2 + libsoup-minimal libxml2 lirc pango @@ -9109,7 +9108,7 @@ devices using the GNOME desktop.") libgtop libnma libpwquality - librsvg ;for loading SVG files + (librsvg-for-system) ;for loading SVG files libsecret libxml2 libwacom @@ -10987,7 +10986,7 @@ Bluefish supports many programming and markup languages.") gtk+ gtkmm-3 libhandy - librsvg + (librsvg-for-system) libxml2 libwnck)) (home-page "https://wiki.gnome.org/Apps/SystemMonitor") @@ -11772,7 +11771,7 @@ functionality.") ("libheif" ,libheif) ("libjpeg" ,libjpeg-turbo) ("libraw" ,libraw) - ("librsvg" ,librsvg) + ("librsvg" ,(librsvg-for-system)) ("libtiff" ,libtiff) ("libwebp" ,libwebp))) (home-page "https://wiki.gnome.org/Apps/Gthumb") @@ -12468,7 +12467,7 @@ to.") ("itstool" ,itstool) ("pkg-config" ,pkg-config))) (inputs - (list gtk+ librsvg libxml2)) + (list gtk+ (librsvg-for-system) libxml2)) (arguments `(#:configure-flags '("CFLAGS=-fcommon"))) (home-page "https://glabels.org/") diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm index ea6aadbe80..5a53838435 100644 --- a/gnu/packages/golang.scm +++ b/gnu/packages/golang.scm @@ -3261,6 +3261,23 @@ Signing and Encryption set of standards. This includes support for JSON Web Encryption, JSON Web Signature, and JSON Web Token standards.") (license license:asl2.0))) +(define-public go-github-com-go-jose-go-jose-v3 + (package + (inherit go-gopkg-in-square-go-jose-v2) + (name "go-github-com-go-jose-go-jose-v3") + (version "3.0.0") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/go-jose/go-jose") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1fnw0p49wc9gmd2xcji2x9jf97dgg9igagd5m6bmq3nw9jjfqdc5")))) + (arguments + (list #:import-path "github.com/go-jose/go-jose/v3")))) + (define-public go-gopkg.in-tomb.v2 (let ((commit "d5d1b5820637886def9eef33e03a27a9f166942c") (revision "0")) @@ -9572,6 +9589,28 @@ use one of our glamorous default themes.") @code{go-golang-org-x-oauth2} package.") (license license:asl2.0))) +(define-public go-github-com-coreos-go-oidc-v3 + (package + (inherit go-github-com-coreos-go-oidc) + (name "go-github-com-coreos-go-oidc-v3") + (version "3.6.0") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/coreos/go-oidc") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1sbm6n3lp48lymn0g921afhq2j6inb38w3wy5rhyx9h8gpzhnxx9")))) + (arguments + (list ;; no Go files in [...]/src/github.com/coreos/go-oidc/v3. + #:import-path "github.com/coreos/go-oidc/v3/oidc" + #:unpack-path "github.com/coreos/go-oidc/v3")) + (propagated-inputs + (list go-github-com-go-jose-go-jose-v3 + go-golang-org-x-oauth2)))) + (define-public go-github-com-coreos-go-semver (package (name "go-github-com-coreos-go-semver") diff --git a/gnu/packages/gpodder.scm b/gnu/packages/gpodder.scm index 474065836e..f9102d3a44 100644 --- a/gnu/packages/gpodder.scm +++ b/gnu/packages/gpodder.scm @@ -50,7 +50,7 @@ (define-public gpodder (package (name "gpodder") - (version "3.11.0") + (version "3.11.1") (source (origin (method git-fetch) @@ -58,7 +58,7 @@ (url "https://github.com/gpodder/gpodder") (commit version))) (sha256 - (base32 "1387n0kgpan869c09smq5jnc3316vz8majl9bw01bw7cxg4vss3p")) + (base32 "121cb8qz4rp6602lpbi6m2vqx3ar1cw2s4z4r7nr5qaxb0q3gk9n")) (file-name (git-file-name name version)) (patches (search-patches "gpodder-disable-updater.patch")))) (build-system python-build-system) diff --git a/gnu/packages/graphics.scm b/gnu/packages/graphics.scm index da49f23f1f..2a94bd51cc 100644 --- a/gnu/packages/graphics.scm +++ b/gnu/packages/graphics.scm @@ -1397,7 +1397,7 @@ visual effects work for film.") `(("giflib" ,giflib) ("libjpeg" ,libjpeg-turbo) ; required for the JPEG texture plugin. ("jasper" ,jasper) - ("librsvg" ,librsvg) + ("librsvg" ,(librsvg-for-system)) ("libxrandr" ,libxrandr) ("ffmpeg" ,ffmpeg-4) ("mesa" ,mesa))) diff --git a/gnu/packages/guile-xyz.scm b/gnu/packages/guile-xyz.scm index a350b6700e..4e7c80ac8d 100644 --- a/gnu/packages/guile-xyz.scm +++ b/gnu/packages/guile-xyz.scm @@ -3046,7 +3046,7 @@ format is also supported.") (propagated-inputs (list guile-cairo guile-rsvg)) (native-inputs - (list autoconf automake librsvg pkg-config texinfo)) + (list autoconf automake (librsvg-for-system) pkg-config texinfo)) (home-page "https://git.elephly.net/software/guile-picture-language.git") (synopsis "Picture language for Guile") (description @@ -3844,7 +3844,7 @@ debugging code.") (define-public guile-png (package (name "guile-png") - (version "0.6.0") + (version "0.7.0") (source (origin (method git-fetch) (uri (git-reference @@ -3853,7 +3853,7 @@ debugging code.") (file-name (string-append name "-" version "-checkout")) (sha256 (base32 - "0i0q2h4kfp1mj5m3wnz2hk6z895001j38s5vkbhkdxf05cjvwkky")))) + "0nkim662lb48y8n5hik8rrj76600v2inwaxwnfpdny7h2j0yq1wm")))) (build-system gnu-build-system) (arguments `(#:make-flags '("GUILE_AUTO_COMPILE=0"))) ;to prevent guild warnings @@ -5345,7 +5345,7 @@ GitLab instance.") (define-public guile-smc (package (name "guile-smc") - (version "0.6.0") + (version "0.6.2") (source (origin (method git-fetch) @@ -5355,7 +5355,7 @@ GitLab instance.") (file-name (string-append name "-" version)) (sha256 (base32 - "15b8m30kjl46p44xjd65vv1bv60hy130zfskkcsrj10fzahyk9zd")))) + "11083lj048ab5zsdgwpkshxi8v5nfdr7kvmmslszbi7lq2pwfqig")))) (build-system gnu-build-system) (arguments `(#:make-flags '("GUILE_AUTO_COMPILE=0") ;to prevent guild warnings diff --git a/gnu/packages/image-processing.scm b/gnu/packages/image-processing.scm index 965eca82b7..afeda4bc20 100644 --- a/gnu/packages/image-processing.scm +++ b/gnu/packages/image-processing.scm @@ -754,7 +754,7 @@ the OpenCV-Python library.") libgsf libjpeg-turbo libpng - librsvg + (librsvg-for-system) libtiff libxml2 libwebp @@ -906,7 +906,7 @@ including 2D color images.") libxml2 libexif libjpeg-turbo ;required by vips.pc - librsvg + (librsvg-for-system) fftw libgsf imagemagick diff --git a/gnu/packages/image.scm b/gnu/packages/image.scm index 3336e38852..75f9e3c691 100644 --- a/gnu/packages/image.scm +++ b/gnu/packages/image.scm @@ -1432,6 +1432,7 @@ language bindings to VIGRA.") (package (name "libwebp") (version "1.2.4") + (replacement libwebp/fixed) (source (origin ;; No tarballs are provided for >0.6.1. @@ -1470,6 +1471,22 @@ to PNG when lossy compression is acceptable for the red/green/blue color channels.") (license license:bsd-3))) +(define libwebp/fixed + (package + (inherit libwebp) + (name "libwebp") + (version "1.3.1") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://chromium.googlesource.com/webm/libwebp") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1aas6gwy7kfcq34cil781kcsl286khh9grwcx7k4d2n1g7zcpl3m")))))) + (define-public libmng (package (name "libmng") @@ -2571,7 +2588,7 @@ GIF, TIFF, WEBP, BMP, PNG, XPM formats.") ("gettext" ,gettext-minimal))) (inputs (list gtk+ - librsvg + (librsvg-for-system) hicolor-icon-theme libmypaint mypaint-brushes diff --git a/gnu/packages/imagemagick.scm b/gnu/packages/imagemagick.scm index 6f6fa63c64..b407af3588 100644 --- a/gnu/packages/imagemagick.scm +++ b/gnu/packages/imagemagick.scm @@ -213,7 +213,7 @@ script.") (define-public graphicsmagick (package (name "graphicsmagick") - (version "1.3.38") + (version "1.3.40") (source (origin (method url-fetch) @@ -226,7 +226,7 @@ script.") "/GraphicsMagick-" version ".tar.xz"))) (sha256 (base32 - "0x96wcspcqmkcy7jagfifgq2iamcf0ql9swvn6f2n79mb7dxj36n")))) + "0ikpza74p00hrs4z2cgykf7vhlqnzzkhaidjlcjppiw99sfimp4p")))) (build-system gnu-build-system) (arguments (list diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm index 1dbec6bd12..436688526b 100644 --- a/gnu/packages/java.scm +++ b/gnu/packages/java.scm @@ -1579,7 +1579,6 @@ blacklisted.certs.pem" (synopsis "JetBrains Java Runtime") (description "This package provides a Java runtime environment for and Java development kit. It supports enhanced class redefinition (DCEVM), -features optional JCEF, a framework for embedding Chromium-based browsers, includes a number of improvements in font rendering, keyboards support, windowing/focus subsystems, HiDPI, accessibility, and performance, provides better desktop integration and bugfixes not yet present in @@ -1614,7 +1613,6 @@ OpenJDK.") (synopsis "JetBrains Java Runtime") (description "This package provides a Java runtime environment for and Java development kit. It supports enhanced class redefinition (DCEVM), -features optional JCEF, a framework for embedding Chromium-based browsers, includes a number of improvements in font rendering, keyboards support, windowing/focus subsystems, HiDPI, accessibility, and performance, provides better desktop integration and bugfixes not yet present in diff --git a/gnu/packages/language.scm b/gnu/packages/language.scm index 175cdc8d5e..faf3114b84 100644 --- a/gnu/packages/language.scm +++ b/gnu/packages/language.scm @@ -181,7 +181,7 @@ m17n-lib qtbase-5 librime - librsvg + (librsvg-for-system) wayland wayland-protocols libx11 diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index a88fb575a9..93def72048 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -487,7 +487,7 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS." ;; The current "stable" kernels. That is, the most recently released major ;; versions that are still supported upstream. -(define-public linux-libre-6.4-version "6.4.9") +(define-public linux-libre-6.4-version "6.4.10") (define-public linux-libre-6.4-gnu-revision "gnu") (define deblob-scripts-6.4 (linux-libre-deblob-scripts @@ -497,7 +497,7 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS." (base32 "1rwm09anyn4py1g877f9vh6ya86y2hfvlqx51bpa53dci5k0b0ds"))) (define-public linux-libre-6.4-pristine-source (let ((version linux-libre-6.4-version) - (hash (base32 "17ycanx738bgxg5wn536kbad4zzvj5ngygp9qhvz76draaca5f5q"))) + (hash (base32 "0fgjym6y0zj7wz1byqhxmv3pc3wq412vm1dxbj4gv23pm6r3y2wq"))) (make-linux-libre-source version (%upstream-linux-source version hash) deblob-scripts-6.4))) @@ -505,7 +505,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-6.1-version "6.1.44") +(define-public linux-libre-6.1-version "6.1.45") (define-public linux-libre-6.1-gnu-revision "gnu") (define deblob-scripts-6.1 (linux-libre-deblob-scripts @@ -515,12 +515,12 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS." (base32 "1c73516nbhnz0cxjz38b5794dxygb8sznv9idiibw7ablmjbhd11"))) (define-public linux-libre-6.1-pristine-source (let ((version linux-libre-6.1-version) - (hash (base32 "19d1fdvdp8lc5mvlcawd8hcpzjh7pdr5gq6fczhjl20xw4gx8l9f"))) + (hash (base32 "14piy4cwv18a0yqp4gkrvr51z4zccyhab29n9ybxinkxdqwl68xx"))) (make-linux-libre-source version (%upstream-linux-source version hash) deblob-scripts-6.1))) -(define-public linux-libre-5.15-version "5.15.125") +(define-public linux-libre-5.15-version "5.15.126") (define-public linux-libre-5.15-gnu-revision "gnu") (define deblob-scripts-5.15 (linux-libre-deblob-scripts @@ -530,12 +530,12 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS." (base32 "1c3lm0j401lv2lk39dmr4mlf5ic173snm7cc0cckl6czyvxr5ysy"))) (define-public linux-libre-5.15-pristine-source (let ((version linux-libre-5.15-version) - (hash (base32 "1izyv1ibiy4dapwb8745dshfbb9b6xqyz77l6mhkmlkcnx33h3qm"))) + (hash (base32 "0vzdncrvwqxzjkpgf3gjxvl8iwz92szfyzc33cayx28ghjwsmx5d"))) (make-linux-libre-source version (%upstream-linux-source version hash) deblob-scripts-5.15))) -(define-public linux-libre-5.10-version "5.10.189") +(define-public linux-libre-5.10-version "5.10.190") (define-public linux-libre-5.10-gnu-revision "gnu1") (define deblob-scripts-5.10 (linux-libre-deblob-scripts @@ -545,12 +545,12 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS." (base32 "0nnp46mn32yk436swd2qh34igmzinfgkwvbzp3lqyy45f06hbc2j"))) (define-public linux-libre-5.10-pristine-source (let ((version linux-libre-5.10-version) - (hash (base32 "1jcqj0yh8k81a02y8wq1psy109w9s0r5j5zgm8gmf5ylw5m520sc"))) + (hash (base32 "15zmz9pg91gph2dhigjf1z3w6gkv1kwslki5dpzhgzs03pq3swi9"))) (make-linux-libre-source version (%upstream-linux-source version hash) deblob-scripts-5.10))) -(define-public linux-libre-5.4-version "5.4.252") +(define-public linux-libre-5.4-version "5.4.253") (define-public linux-libre-5.4-gnu-revision "gnu1") (define deblob-scripts-5.4 (linux-libre-deblob-scripts @@ -560,12 +560,12 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS." (base32 "0sw67b2pk3lng4y67diqqnhxaggnp3nbkx8dxc5fs27rinfxr4m1"))) (define-public linux-libre-5.4-pristine-source (let ((version linux-libre-5.4-version) - (hash (base32 "0rw2b1rr3rb5498rv1zmj0ml3p67awrvd2ch66kp80wl4dsmhy1s"))) + (hash (base32 "1rr6mnkbw6gwdm9bqjhf4z2xqr458fn2qdv5b4mgm65a15gvmchz"))) (make-linux-libre-source version (%upstream-linux-source version hash) deblob-scripts-5.4))) -(define-public linux-libre-4.19-version "4.19.290") +(define-public linux-libre-4.19-version "4.19.291") (define-public linux-libre-4.19-gnu-revision "gnu1") (define deblob-scripts-4.19 (linux-libre-deblob-scripts @@ -575,12 +575,12 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS." (base32 "1425mhkfxn18vxn05bb4h3li7x1jl7l1hf1zi8xhnqv3wa31h9wl"))) (define-public linux-libre-4.19-pristine-source (let ((version linux-libre-4.19-version) - (hash (base32 "1kqflbf78aamnbdc2v973qk9ymignl1cy6q0rpw865brgm5y59cz"))) + (hash (base32 "0cxmq8mrkw179jb8sqvad3dskllwn579g2lxcjn21jyqsf85nwz6"))) (make-linux-libre-source version (%upstream-linux-source version hash) deblob-scripts-4.19))) -(define-public linux-libre-4.14-version "4.14.321") +(define-public linux-libre-4.14-version "4.14.322") (define-public linux-libre-4.14-gnu-revision "gnu1") (define deblob-scripts-4.14 (linux-libre-deblob-scripts @@ -590,7 +590,7 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS." (base32 "1faagsj4i31z2bp83hflx3q9vrddjnn37a3ah2b47iaplva7z1nd"))) (define-public linux-libre-4.14-pristine-source (let ((version linux-libre-4.14-version) - (hash (base32 "058p6ba24gx0q1fxyf5gnbnl49r82iaz97z01h7c4z2lgba2pqyh"))) + (hash (base32 "1r71g5p0cnbi0nixv91nyhv24dqmvh49rqb2lnbhsdq81fqm8ssm"))) (make-linux-libre-source version (%upstream-linux-source version hash) deblob-scripts-4.14))) @@ -5022,7 +5022,9 @@ in a digital read-out.") python-2 ;'perf' links against libpython elfutils libiberty ;used alongside BDF for symbol demangling + libtraceevent libunwind ;better stack walking + libtraceevent numactl ;for 'perf bench numa mem' ;; Documentation. libxml2 ;for $XML_CATALOG_FILES @@ -9265,7 +9267,7 @@ types and interfaces and translates so that the X server can use them.") (define-public pipewire (package (name "pipewire") - (version "0.3.70") + (version "0.3.77") (source (origin (method git-fetch) (uri (git-reference @@ -9274,7 +9276,7 @@ types and interfaces and translates so that the X server can use them.") (file-name (git-file-name name version)) (sha256 (base32 - "1n74rrbwymm89ri4daa4v092f4b81wrak4vg685xfz2wl89p64n6")))) + "11jdd9ljm6967cdp97qqf5fa02ad69kdgk3212ap5gfndky2h43m")))) (build-system meson-build-system) (arguments (list @@ -9299,6 +9301,7 @@ types and interfaces and translates so that the X server can use them.") gstreamer jack-2 ldacbt + libcamera libfdk libfreeaptx libsndfile diff --git a/gnu/packages/lua.scm b/gnu/packages/lua.scm index 63a4bd5455..405f8511cb 100644 --- a/gnu/packages/lua.scm +++ b/gnu/packages/lua.scm @@ -1190,7 +1190,7 @@ enabled.") (define-public fennel (package (name "fennel") - (version "1.3.0") + (version "1.3.1") (source (origin (method git-fetch) (uri (git-reference @@ -1199,7 +1199,7 @@ enabled.") (file-name (git-file-name name version)) (sha256 (base32 - "1g22y0bpw1ads6bmsr946fw1m5xxvlvb1hdym3f3k3fziislwwhd")))) + "12zm3rd0vvkqazv1cv5bhwk6igsj18im2qakqw7cf4a20rc9wpmx")))) (build-system gnu-build-system) (arguments (list #:make-flags #~(list (string-append "PREFIX=" diff --git a/gnu/packages/lxqt.scm b/gnu/packages/lxqt.scm index d7b806e7e0..f0ae01614e 100644 --- a/gnu/packages/lxqt.scm +++ b/gnu/packages/lxqt.scm @@ -2,7 +2,7 @@ ;;; Copyright © 2015 Andreas Enge <andreas@enge.fr> ;;; Copyright © 2015, 2022 Sou Bunnbu <iyzsong@gmail.com> ;;; Copyright © 2016 Mark H Weaver <mhw@netris.org> -;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il> +;;; Copyright © 2016, 2023 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2017 Nikita <nikita@n0.is> ;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2018, 2019 Meiyo Peng <meiyo@riseup.net> @@ -909,7 +909,7 @@ image viewer.") (inputs (list imlib2 libsm - librsvg + (librsvg-for-system) libxft libxml2 openbox @@ -1078,7 +1078,7 @@ like @command{tar} and @command{zip}.") (license license:gpl2+))) (define-public lxqt-connman-applet - ;; since the main developers didn't release any version yet, their + ;; since the main developers didn't release any version yet, their ;; latest commit on `master` branch at the moment used for this version. (let ((commit "db1618d58fd3439142c4e44b24cba0dbb68b7141") (revision "0")) diff --git a/gnu/packages/machine-learning.scm b/gnu/packages/machine-learning.scm index 3923573d57..c32180615b 100644 --- a/gnu/packages/machine-learning.scm +++ b/gnu/packages/machine-learning.scm @@ -408,7 +408,7 @@ Performance is achieved by using the LLVM JIT compiler.") (deprecated-package "guile-aiscm-next" guile-aiscm)) (define-public llama-cpp - (let ((commit "3cd8dde0d1357b7f11bdd25c45d5bf5e97e284a0") + (let ((commit "f31b5397143009d682db90fd2a6cde83f1ef00eb") (revision "0")) (package (name "llama-cpp") @@ -421,7 +421,7 @@ Performance is achieved by using the LLVM JIT compiler.") (commit (string-append "master-" (string-take commit 7))))) (file-name (git-file-name name version)) (sha256 - (base32 "0i7c92cxqs31xklrn688978kk29agivgxjgvsb45wzm65gc6hm5c")))) + (base32 "0ys6n53n032zq1ll9f3vgxk8sw0qq7x3fi7awsyy13adzp3hn08p")))) (build-system cmake-build-system) (arguments (list @@ -449,18 +449,13 @@ Performance is achieved by using the LLVM JIT compiler.") (chmod (string-append bin script) #o555))) (mkdir-p bin) (make-script "convert-pth-to-ggml") - (make-script "convert-gptq-to-ggml") - (make-script "quantize.py") - (substitute* (string-append bin "quantize.py") - (("os\\.getcwd\\(\\), quantize_script_binary") - (string-append "\"" bin "\", quantize_script_binary")))))) + (make-script "convert-lora-to-ggml") + (make-script "convert")))) (add-after 'install-python-scripts 'wrap-python-scripts (assoc-ref python:%standard-phases 'wrap)) (replace 'install (lambda _ - (let ((bin (string-append #$output "/bin/"))) - (install-file "bin/quantize" bin) - (copy-file "bin/main" (string-append bin "llama")))))))) + (copy-file "bin/main" (string-append #$output "/bin/llama"))))))) (inputs (list python)) (propagated-inputs (list python-numpy python-pytorch python-sentencepiece)) @@ -4422,7 +4417,7 @@ and Numpy.") (define-public python-pyro-ppl (package (name "python-pyro-ppl") - (version "1.8.1") + (version "1.8.6") ;; The sources on pypi don't include tests. (source (origin @@ -4432,7 +4427,7 @@ and Numpy.") (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "0ns20mr8qgjshzbplrfzaz1xhb9ldbgvrj2rzlsxvns2bi1ddyl5")))) + (base32 "0n1vsih99pvswcaygdxkc6kq6r48ny130z6ca8pp3281396r2ykw")))) (build-system python-build-system) (arguments `(#:phases diff --git a/gnu/packages/mail.scm b/gnu/packages/mail.scm index a6f571e723..72d971eb77 100644 --- a/gnu/packages/mail.scm +++ b/gnu/packages/mail.scm @@ -69,9 +69,7 @@ ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. (define-module (gnu packages mail) - #:use-module (guix gexp) - #:use-module (guix utils) - #:use-module (gnu packages) + #:use-module ((guix licenses) #:prefix license:) #:use-module (gnu packages admin) #:use-module (gnu packages aspell) #:use-module (gnu packages autotools) @@ -97,6 +95,7 @@ #:use-module (gnu packages emacs) #:use-module (gnu packages enchant) #:use-module (gnu packages file) + #:use-module (gnu packages flex) #:use-module (gnu packages fontutils) #:use-module (gnu packages freedesktop) #:use-module (gnu packages gawk) @@ -104,15 +103,14 @@ #:use-module (gnu packages gettext) #:use-module (gnu packages ghostscript) #:use-module (gnu packages glib) - #:use-module (gnu packages golang) #:use-module (gnu packages gnome) #:use-module (gnu packages gnupg) + #:use-module (gnu packages golang) #:use-module (gnu packages groff) #:use-module (gnu packages gsasl) #:use-module (gnu packages gtk) #:use-module (gnu packages guile) #:use-module (gnu packages guile-xyz) - #:use-module (gnu packages flex) #:use-module (gnu packages haskell-xyz) #:use-module (gnu packages icu4c) #:use-module (gnu packages kerberos) @@ -133,8 +131,8 @@ #:use-module (gnu packages nettle) #:use-module (gnu packages networking) #:use-module (gnu packages ninja) - #:use-module (gnu packages openldap) #:use-module (gnu packages onc-rpc) + #:use-module (gnu packages openldap) #:use-module (gnu packages pcre) #:use-module (gnu packages pdf) #:use-module (gnu packages perl) @@ -149,15 +147,15 @@ #:use-module (gnu packages python-web) #:use-module (gnu packages python-xyz) #:use-module (gnu packages ragel) - #:use-module (gnu packages regex) #:use-module (gnu packages rdf) #:use-module (gnu packages readline) + #:use-module (gnu packages regex) #:use-module (gnu packages ruby) #:use-module (gnu packages rust-apps) - #:use-module (gnu packages search) - #:use-module (gnu packages serialization) #:use-module (gnu packages samba) #:use-module (gnu packages screen) + #:use-module (gnu packages search) + #:use-module (gnu packages serialization) #:use-module (gnu packages sphinx) #:use-module (gnu packages sqlite) #:use-module (gnu packages tcl) @@ -169,29 +167,30 @@ #:use-module (gnu packages web) #:use-module (gnu packages webkit) #:use-module (gnu packages xdisorg) - #:use-module (gnu packages xorg) #:use-module (gnu packages xml) - #:use-module ((guix licenses) #:prefix license:) - #:use-module (guix packages) - #:use-module (guix deprecation) - #:use-module (guix download) - #:use-module (guix git-download) - #:use-module (guix svn-download) - #:use-module (guix utils) + #:use-module (gnu packages xorg) + #:use-module (gnu packages) #:use-module (guix build-system cmake) + #:use-module (guix build-system emacs) #:use-module (guix build-system glib-or-gtk) - #:use-module (guix build-system go) #:use-module (guix build-system gnu) #:use-module (guix build-system go) #:use-module (guix build-system guile) - #:use-module (guix build-system emacs) #:use-module (guix build-system meson) #:use-module (guix build-system perl) - #:use-module (guix build-system python) #:use-module (guix build-system pyproject) + #:use-module (guix build-system python) #:use-module (guix build-system trivial) - #:use-module (srfi srfi-1) - #:use-module (ice-9 match)) + #:use-module (guix deprecation) + #:use-module (guix download) + #:use-module (guix gexp) + #:use-module (guix git-download) + #:use-module (guix packages) + #:use-module (guix svn-download) + #:use-module (guix utils) + #:use-module (guix utils) + #:use-module (ice-9 match) + #:use-module (srfi srfi-1)) (define-public abook (package @@ -4548,7 +4547,7 @@ on RFC 3501 and original @code{imaplib} module.") (define-public rspamd (package (name "rspamd") - (version "3.5") + (version "3.6") (source (origin (method git-fetch) @@ -4556,24 +4555,24 @@ on RFC 3501 and original @code{imaplib} module.") (url "https://github.com/rspamd/rspamd") (commit version))) (sha256 - (base32 "1d45vhs66r6ig5mvmx52i7c2b638y2zc7wgv3lx0pq7dqgjxxsyz")) + (base32 "1ra18c3wczbdqrg9p69k04smjskjkdpxcfff9ff4yi7pmqjaxr8s")) (file-name (git-file-name name version)))) (build-system cmake-build-system) (arguments '(#:configure-flags '("-DENABLE_LUAJIT=ON" "-DLOCAL_CONFDIR=/etc/rspamd"))) (inputs - (list openssl + (list file glib - ragel - luajit - sqlite - file icu4c + libsodium + luajit + openssl pcre2 - zlib perl - libsodium)) + ragel + sqlite + zlib)) (native-inputs (list pkg-config)) (synopsis "Spam filtering system") diff --git a/gnu/packages/mastodon.scm b/gnu/packages/mastodon.scm index 0aa88d3518..c1237b2a55 100644 --- a/gnu/packages/mastodon.scm +++ b/gnu/packages/mastodon.scm @@ -87,7 +87,7 @@ Features include: (define-public tuba (package (name "tuba") - (version "0.3.2") + (version "0.4.1") (source (origin (method git-fetch) @@ -96,7 +96,7 @@ Features include: (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "1xhyz6wi17g4m76lr6qc75q4xnnw7c3dh3d04dg8m5gzk6j0y89x")))) + (base32 "0v2ihp1dkp13jklp3kysv4blflhx3w0hwcyink4mb7hwsaqy0xnm")))) (build-system meson-build-system) (arguments (list diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm index 420f1894f3..8b765e886b 100644 --- a/gnu/packages/maths.scm +++ b/gnu/packages/maths.scm @@ -6555,17 +6555,15 @@ reduction.") (define-public mcrl2 (package (name "mcrl2") - (version "202206.0") + (version "202206.1") (source (origin (method url-fetch) (uri (string-append "https://www.mcrl2.org/download/release/mcrl2-" version ".tar.gz")) - (patches (search-patches "mcrl2-fix-1687.patch" - "mcrl2-fix-counterexample.patch")) (sha256 (base32 - "0alpck09pbvwk4axqmrvcjmsabsn20yayq5b3apq284n0hcbf01q")))) + "1rbfyw47bi31qla1sa4fd1npryb5kbdr0vijmdc2gg1zhpqfv0ia")))) (inputs (list boost glu mesa qtbase-5)) (build-system cmake-build-system) diff --git a/gnu/packages/mc.scm b/gnu/packages/mc.scm index 141295ed90..994f89f524 100644 --- a/gnu/packages/mc.scm +++ b/gnu/packages/mc.scm @@ -2,7 +2,7 @@ ;;; Copyright © 2014 Eric Bavier <bavier@member.fsf.org> ;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2016, 2017 Nikita <nikita@n0.is> -;;; Copyright © 2018–2021 Tobias Geerinckx-Rice <me@tobias.gr> +;;; Copyright © 2018–2021, 2023 Tobias Geerinckx-Rice <me@tobias.gr> ;;; ;;; This file is part of GNU Guix. ;;; @@ -21,6 +21,7 @@ (define-module (gnu packages mc) #:use-module (gnu packages aspell) + #:use-module (gnu packages bash) #:use-module (gnu packages check) #:use-module (gnu packages compression) #:use-module (gnu packages glib) @@ -32,69 +33,82 @@ #:use-module (gnu packages) #:use-module (guix build-system gnu) #:use-module (guix download) + #:use-module (guix gexp) #:use-module (guix licenses) #:use-module (guix packages)) (define-public mc (package (name "mc") - (version "4.8.29") + (version "4.8.30") (source (origin (method url-fetch) (uri (string-append "https://ftp.osuosl.org/pub/midnightcommander/mc-" version ".tar.xz")) (sha256 - (base32 "1m0aai4paxpcf3lw1dd94zyxc7wd0ysmfwpibg50q62q9yws7n01")))) + (base32 "1py7jm620lsas7rcv5j69608gdshmp25d9gx958hr5sb2jr3rg2y")))) (build-system gnu-build-system) + (arguments + (list + #:configure-flags + #~(list "--with-screen=ncurses" + "--enable-aspell" + "--disable-configure-args" ; don't keep superfluous references + (string-append "PERL_FOR_BUILD=" ; to build .hlp files + #$(this-package-native-input "perl") "/bin/perl") + (string-append "PERL=" ; for run-time helpers, mainly VFS + #$(this-package-input "perl") "/bin/perl")) + #:phases + #~(modify-phases %standard-phases + (add-after 'patch-source-shebangs 'patch-file-names + (lambda* (#:key inputs #:allow-other-keys) + ;; The following commands are all invoked at run time. + (substitute* + (list "lib/utilunix.c" + "src/filemanager/ext.c" + "src/usermenu.c" + "src/vfs/fish/fish.c" + ;; This file hard-codes other shells, but they're never + ;; tried after mc's first choice (bash) is found. + "lib/shell.c") + (("/bin/(ba|)sh" file) + (search-input-file inputs file))) + (substitute* "src/filemanager/ext.c" + ;; Look up in $PATH at run time, rather than hard-coding now. + (("/bin/(rm)" command) + command)) + (substitute* "misc/mcedit.menu.in" + ;; These are script templates. Don't embed store file names. + (("#! /bin/([[:alnum:]]*)" _ file) + (string-append "#!/usr/bin/env " file))) + + ;; The following commands are all invoked at build time. + (substitute* "tests/src/vfs/extfs/helpers-list/Makefile.in" + (("/bin/sh") + (which "sh"))))) + (add-before 'check 'fix-tests + (lambda _ + ;; Don't expect a UID or GID of ‘0’ in the build environment. + (with-directory-excursion "tests/src/vfs/extfs/helpers-list/data" + (substitute* (list "rpm.custom.output" + "rpm.glib.output") + ((" 0 0") "<<uid>> <<gid>>"))) + ;; XXX ERROR:mc_realpath.c:99:realpath_test: assertion failed + ;; (resolved_path == data->expected_string): ("" == "/usr/bin") + (substitute* "tests/lib/mc_realpath.c" + (("/usr/bin") "/") + (("usr/bin") "/"))))))) (native-inputs (list perl pkg-config)) (inputs (list aspell + bash-minimal check glib gpm libssh2 ncurses + perl unzip)) - (arguments - `(#:configure-flags - '("--with-screen=ncurses" "--enable-aspell") - #:phases - (modify-phases %standard-phases - (add-after 'patch-source-shebangs 'patch-FHS-file-names - (lambda _ - ;; Patch files to refer to executables in the store or $PATH. - (substitute* "misc/mcedit.menu.in" - (("#! /bin/sh") (string-append "#!" (which "sh"))) - (("/bin/bash") (which "bash"))) - (substitute* "misc/ext.d/misc.sh.in" - (("/bin/cat") "cat")) - (substitute* (list "lib/utilunix.c" - "src/usermenu.c" - "src/vfs/fish/fish.c" - "tests/src/vfs/extfs/helpers-list/Makefile.in") - (("/bin/sh") (which "sh"))) - (substitute* "src/filemanager/ext.c" - (("/bin/rm") "rm") - (("/bin/sh") (which "sh"))) - - ;; There are other /bin/<shell>s hard-coded in this file, but they - ;; are never tried after bash (mc's first choice) is found. - (substitute* "lib/shell.c" - (("/bin/bash") (which "bash"))) - #t)) - (add-before 'check 'fix-tests - (lambda _ - ;; Don't expect a UID or GID of ‘0’ in the build environment. - (with-directory-excursion "tests/src/vfs/extfs/helpers-list/data" - (substitute* (list "rpm.custom.output" - "rpm.glib.output") - ((" 0 0") "<<uid>> <<gid>>"))) - ;; XXX ERROR:mc_realpath.c:99:realpath_test: assertion failed - ;; (resolved_path == data->expected_string): ("" == "/usr/bin") - (substitute* "tests/lib/mc_realpath.c" - (("/usr/bin") "/") - (("usr/bin") "/")) - #t))))) (home-page "https://www.midnight-commander.org") (properties `((release-monitoring-url . "https://ftp.osuosl.org/pub/midnightcommander/"))) diff --git a/gnu/packages/messaging.scm b/gnu/packages/messaging.scm index 00d8d29017..0b23ca8012 100644 --- a/gnu/packages/messaging.scm +++ b/gnu/packages/messaging.scm @@ -1372,7 +1372,7 @@ Encryption to Gajim.") at-spi2-core bash-minimal cairo - librsvg + (librsvg-for-system) glib glib-networking gpgme diff --git a/gnu/packages/mpd.scm b/gnu/packages/mpd.scm index 0112c91fdf..a399c1eab1 100644 --- a/gnu/packages/mpd.scm +++ b/gnu/packages/mpd.scm @@ -615,7 +615,7 @@ mpdevil loads all tags and covers on demand.") (define-public mympd (package (name "mympd") - (version "10.3.3") + (version "11.0.2") (source (origin (method git-fetch) (uri (git-reference @@ -624,13 +624,21 @@ mpdevil loads all tags and covers on demand.") (file-name (git-file-name name version)) (sha256 (base32 - "1n8z3rscrw7k097q5z1d59mrryy7b8m0zdfhi767a1qpa121m8if")))) + "0n6dyy6znzicm5v9mkcghm3lwi6zwysnpr0drvacqprr0r5l596a")))) (build-system cmake-build-system) (arguments (list #:configure-flags - #~(list "-DMYMPD_STRIP_BINARY=OFF") ; handled by 'strip phase - #:tests? #f)) ; no test target + #~(list "-DMYMPD_BUILD_TESTING=ON" + ;; Handled by 'strip' phase. + "-DMYMPD_STRIP_BINARY=OFF") + #:phases + #~(modify-phases %standard-phases + (replace 'check + (lambda* (#:key tests? #:allow-other-keys) + (when tests? + ;; The following test requires network connectivity. + (invoke "ctest" "--exclude-regex" "test_http_client"))))))) (native-inputs (list jq perl pkg-config)) (inputs (list flac libid3tag lua openssl pcre2)) (home-page "https://jcorporation.github.io/") diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm index 23baa29160..8681bb1c10 100644 --- a/gnu/packages/music.scm +++ b/gnu/packages/music.scm @@ -3,7 +3,7 @@ ;;; Copyright © 2015-2023 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2015 Paul van der Walt <paul@denknerd.org> ;;; Copyright © 2016 Al McElrath <hello@yrns.org> -;;; Copyright © 2016, 2017, 2019, 2021, 2022 Efraim Flashner <efraim@flashner.co.il> +;;; Copyright © 2016, 2017, 2019, 2021-2023 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2016, 2018, 2021 Leo Famulari <leo@famulari.name> ;;; Copyright © 2016, 2017, 2019 Kei Kebreau <kkebreau@posteo.net> ;;; Copyright © 2016 John J. Foerch <jjfoerch@earthlink.net> @@ -752,7 +752,7 @@ many input formats and provides a customisable Vi-style user interface.") gtk+ gtksourceview-3 guile-2.0 - librsvg + (librsvg-for-system) libsndfile libxml2 lilypond @@ -3780,7 +3780,7 @@ event-based scripts for scrobbling, notifications, etc.") (define-public picard (package (name "picard") - (version "2.8.5") + (version "2.9") (source (origin (method url-fetch) (uri (string-append @@ -3788,7 +3788,7 @@ event-based scripts for scrobbling, notifications, etc.") "picard/picard-" version ".tar.gz")) (sha256 (base32 - "1kjl7iqgvvrv7mygsb7491cz872gm334489nyj0v8b79bxnzghdi")))) + "0afiziaq49sq1dx5r3qis4ymhhkrqlrkfnb6f7gcksj0kwljvsw9")))) (build-system python-build-system) (arguments (list @@ -3805,7 +3805,13 @@ event-based scripts for scrobbling, notifications, etc.") (("pyfpcalc") (string-append "pyfpcalc', '" - (assoc-ref inputs "chromaprint") "/bin/fpcalc")))))))) + (assoc-ref inputs "chromaprint") "/bin/fpcalc"))))) + (add-before 'check 'delete-failing-test + (lambda _ + ;; FIXME: This test fails in build environment. + ;; util/pipe.read_from_pipe:244: pipe reader exception: + ;; ERROR: Pipe doesn't exist + (delete-file "test/test_util_pipe.py")))))) (native-inputs (list gettext-minimal python-dateutil)) (inputs @@ -7217,7 +7223,7 @@ streaming audio server.") gtksourceview-4 ; undo, redo, multiline text fields hicolor-icon-theme keybinder-3.0 ; keybindings outside of GNOME - librsvg + (librsvg-for-system) libsoup-minimal-2 python python-cheetah diff --git a/gnu/packages/networking.scm b/gnu/packages/networking.scm index 542e93891c..04461fec2d 100644 --- a/gnu/packages/networking.scm +++ b/gnu/packages/networking.scm @@ -14,7 +14,7 @@ ;;; Copyright © 2016, 2017 Pjotr Prins <pjotr.guix@thebird.nl> ;;; Copyright © 2017 Mathieu Othacehe <m.othacehe@gmail.com> ;;; Copyright © 2017, 2020, 2021 Leo Famulari <leo@famulari.name> -;;; Copyright © 2017-2022 Efraim Flashner <efraim@flashner.co.il> +;;; Copyright © 2017-2023 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2017, 2018, 2019 Rutger Helling <rhelling@mykolab.com> ;;; Copyright © 2017, 2019 Gábor Boskovits <boskovits@gmail.com> ;;; Copyright © 2017 Thomas Danckaert <post@thomasdanckaert.be> @@ -350,47 +350,45 @@ them in order to efficiently transfer a minimal amount of data.") (define-public libcamera (package (name "libcamera") - (version "0.0.0-1") + (version "0.1.0") (source (origin (method git-fetch) (uri (git-reference - (url "git://linuxtv.org/libcamera.git") - (commit "10be87fa7c3bfb097b21ca3d469c67e40c333f7e"))) + (url "https://git.libcamera.org/libcamera/libcamera.git") + (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "0qgirhlalmk9f9v6piwz50dr2asb64rvbb9zb1vix7y9zh7m11by")))) + (base32 "06dj3dpfbayj61015n5kffin2g3hyys11ra0px2g4hmrznvdkhc9")))) (build-system meson-build-system) - (outputs '("out" "doc")) + (outputs '("out" "doc" "gst" "tools")) (arguments - `(#:glib-or-gtk? #t ; To wrap binaries and/or compile schemas - #:configure-flags - (list - "-Dv4l2=true" - ;; XXX: Requires bundled pybind11. - "-Dpycamera=disabled") - #:phases - (modify-phases %standard-phases - (add-after 'unpack 'disable-failing-tests - (lambda _ - (substitute* "test/meson.build" - (("\\['list-cameras', 'list-cameras.cpp'\\],") - "") - ;; TODO: Why do the gstreamer tests fail. - (("^subdir\\('gstreamer'\\)") - "")))) - (add-after 'install 'move-doc - (lambda* (#:key outputs #:allow-other-keys) - (let* ((out (assoc-ref outputs "out")) - (doc (assoc-ref outputs "doc"))) - (mkdir-p (string-append doc "/share")) - (rename-file - (string-append out "/share/doc") - (string-append doc "/share/doc")))))))) + (list #:glib-or-gtk? #t ; To wrap binaries and/or compile schemas + #:configure-flags + #~(list (string-append "-Dbindir=" + (assoc-ref %outputs "tools") "/bin") + "-Dtest=true" "-Dv4l2=true" + ;; XXX: Requires bundled pybind11. + "-Dpycamera=disabled") + #:phases + #~(modify-phases %standard-phases + (add-after 'install 'move-doc-and-gst + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (doc (assoc-ref outputs "doc")) + (gst (assoc-ref outputs "gst"))) + (mkdir-p (string-append doc "/share")) + (rename-file (string-append out "/share/doc") + (string-append doc "/share/doc")) + (mkdir-p (string-append gst "/lib")) + (rename-file + (string-append out "/lib/gstreamer-1.0") + (string-append gst "/lib/gstreamer-1.0")))))))) (native-inputs - (list graphviz ;for 'dot' + (list googletest + graphviz ;for 'dot' doxygen pkg-config python-wrapper @@ -961,7 +959,7 @@ systems with no further dependencies.") (inputs (list bluez dbus - librsvg + (librsvg-for-system) glib gtk+ iproute @@ -4617,6 +4615,42 @@ that vnStat won't actually be sniffing any traffic and also ensures light use of system resources regardless of network traffic rate.") (license license:gpl2+))) +(define-public dnstracer + (package + (name "dnstracer") + (version "1.10") + (source (origin + (method url-fetch) + (uri (string-append "http://www.mavetju.org/download/" + name "-" version ".tar.bz2")) + (sha256 + (base32 + "089bmrjnmsga2n0r4xgw4bwbf41xdqsnmabjxhw8lngg2pns1kb4")))) + (build-system gnu-build-system) + (arguments + (list #:tests? #f ;no test suite + #:make-flags #~(list (string-append "PREFIX=" #$output) + (string-append "CC=" #$(cc-for-target))) + #:phases #~(modify-phases %standard-phases + (add-after 'unpack 'patch-makefile + (lambda _ + (substitute* "Makefile" + (("\\$\\{PREFIX}/man") + "${PREFIX}/share/man") + (("^install:.*" all) + (string-append + all + "\tinstall -d ${BINPREFIX}\n" + "\tinstall -d ${MANPREFIX}\n"))))) + (delete 'configure)))) + (native-inputs (list perl)) ;for pod2man + (home-page "http://www.mavetju.org/unix/dnstracer.php") + (synopsis "Trace a chain of DNS servers to the source") + (description "@command{dnstracer} determines where a given Domain Name +Server (DNS) gets its information from, and follows the chain of DNS servers +back to the servers which know the data.") + (license license:bsd-2))) + (define-public dropwatch (package (name "dropwatch") diff --git a/gnu/packages/noweb.scm b/gnu/packages/noweb.scm index d218d8cc68..762db02fc2 100644 --- a/gnu/packages/noweb.scm +++ b/gnu/packages/noweb.scm @@ -18,6 +18,7 @@ ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. (define-module (gnu packages noweb) + #:use-module (guix gexp) #:use-module (guix packages) #:use-module (guix git-download) #:use-module (guix build-system gnu) @@ -27,7 +28,7 @@ (define-public noweb (package (name "noweb") - (version "2.12") + (version "2.13") (source (origin (method git-fetch) @@ -37,63 +38,62 @@ "_"))))) (file-name (git-file-name name version)) (sha256 - (base32 "1160i2ghgzqvnb44kgwd6s3p4jnk9668rmc15jlcwl7pdf3xqm95")))) + (base32 "0fwngh7zl9mrjz966pskhi4zvk26j6vsm85x99df9194nv51drq8")))) (build-system gnu-build-system) (arguments - '(#:phases - (modify-phases %standard-phases - (add-after 'unpack 'bind-early - (lambda* (#:key outputs #:allow-other-keys) - (let* ((out (assoc-ref outputs "out")) - (bin (string-append out "/bin"))) - (substitute* (list "src/lib/nwmtime" - "src/shell/htmltoc") - (("exec perl ") - (format #f "exec ~a " (which "perl")))) - (substitute* "src/shell/noweb" - ((" cpif ") - (format #f " ~a/cpif " bin))) - #t))) - (add-before 'install 'pre-install - (lambda* (#:key outputs #:allow-other-keys) - (let ((out (assoc-ref outputs "out"))) - (mkdir-p (string-append out "/share/texmf/tex/latex")) - #t))) - (add-after 'install 'post-install - (lambda* (#:key outputs inputs #:allow-other-keys) - (let ((out (assoc-ref outputs "out")) - (cu (assoc-ref inputs "coreutils")) - (du (assoc-ref inputs "diffutils"))) - (with-directory-excursion out - (for-each (lambda (prog) - (substitute* prog - (("nawk") (which "awk")))) - (append (map (lambda (x) - (string-append "bin/" x)) - '("noweb" "nountangle" - "noroots" "noroff" - "noindex")) - (map (lambda (x) - (string-append "lib/" x)) - '("btdefn" "emptydefn" "noidx" - "pipedocs" "toascii" "tohtml" - "toroff" "totex" "unmarkup")))) - (substitute* "bin/cpif" - (("^PATH=.*$") - (string-append "PATH=" cu "/bin:" du "/bin\n")))) - #t))) - (replace 'configure - (lambda _ - ;; Jump in the source. - (chdir "src") - #t))) - #:make-flags (let ((out (assoc-ref %outputs "out"))) - (list (string-append "BIN=" out "/bin") - (string-append "LIB=" out "/lib") - (string-append "MAN=" out "/share/man") - (string-append "TEXINPUTS=" out - "/share/texmf/tex/latex"))) - #:tests? #f)) ; no tests + (list + #:make-flags + #~(list (string-append "BIN=" #$output "/bin") + (string-append "LIB=" #$output "/lib") + (string-append "MAN=" #$output "/share/man") + (string-append "TEXINPUTS=" #$output + "/share/texmf/tex/latex")) + #:modules + '((guix build gnu-build-system) + (guix build utils) + (srfi srfi-26)) + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'enter-source-directory + (lambda _ + (chdir "src"))) + (add-after 'enter-source-directory 'bind-early + (lambda _ + (substitute* (list "lib/nwmtime" + "shell/htmltoc") + (("exec perl ") + (string-append "exec " (which "perl") " "))) + (substitute* "shell/noweb" + ((" cpif ") + (string-append " " #$output "/bin/cpif "))))) + (delete 'configure) ; no configure script + (add-before 'install 'create-latex-directory + (lambda _ + (mkdir-p (string-append #$output "/share/texmf/tex/latex")))) + (add-after 'install 'refer-to-inputs + (lambda* (#:key inputs #:allow-other-keys) + (with-directory-excursion #$output + (for-each (lambda (program) + (substitute* program + (("nawk") + (search-input-file inputs "bin/awk")))) + (append (map (cut string-append "bin/" <>) + '("noweb" "nountangle" + "noroots" "noroff" + "noindex")) + (map (cut string-append "lib/" <>) + '("btdefn" "emptydefn" "noidx" + "pipedocs" "toascii" "tohtml" + "toroff" "totex" "unmarkup")))) + (substitute* "bin/cpif" + (("^PATH=.*$") + (string-append "PATH=" + (dirname (search-input-file + inputs"bin/basename")) ":" + (dirname (search-input-file + inputs "bin/cmp")) + "\n"))))))) + #:tests? #f)) ; no tests (inputs (list perl)) (home-page "https://www.cs.tufts.edu/~nr/noweb/") diff --git a/gnu/packages/ntp.scm b/gnu/packages/ntp.scm index 1a72efbc79..3b56580842 100644 --- a/gnu/packages/ntp.scm +++ b/gnu/packages/ntp.scm @@ -47,38 +47,41 @@ (define-public chrony (package (name "chrony") - (version "4.3") + (version "4.4") (source (origin (method url-fetch) (uri (string-append "https://download.tuxfamily.org/chrony/" "chrony-" version ".tar.gz")) (sha256 - (base32 "0148bgzymdigkjs66fihrqw98g1yf6vgy40nlajqkw35m24sh3cx")))) + (base32 "123h2a9rpc6wbvnysvhl5pmckvynzrnqay7l00i18azrvbk0gyza")))) (build-system gnu-build-system) (arguments - `(#:modules ((srfi srfi-26) - (guix build utils) - (guix build gnu-build-system)) - #:configure-flags - (list "--enable-scfilter" - "--with-sendmail=sendmail" - "--with-user=chrony") - #:phases - (modify-phases %standard-phases - (add-after 'unpack 'stay-inside-out - ;; Simply setting CHRONYVARDIR to something nonsensical at install - ;; time would result in nonsense file names in man pages. - (lambda _ - (substitute* "Makefile.in" - (("mkdir -p \\$\\(DESTDIR\\)\\$\\(CHRONYVARDIR\\)") ":")))) - (add-after 'install 'install-more-documentation - (lambda* (#:key outputs #:allow-other-keys) - (let* ((out (assoc-ref outputs "out")) - (doc (string-append out "/share/doc/" ,name "-" ,version))) - (for-each (cut install-file <> doc) - (list "README" "FAQ")) - (copy-recursively "examples" (string-append doc "/examples")))))))) + (list + #:modules + '((srfi srfi-26) + (guix build utils) + (guix build gnu-build-system)) + #:configure-flags + #~(list "--enable-scfilter" + "--with-sendmail=sendmail" + "--with-user=chrony") + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'stay-inside-out + ;; Simply setting CHRONYVARDIR to something nonsensical at install + ;; time would result in nonsense file names in man pages. + (lambda _ + (substitute* "Makefile.in" + (("mkdir -p \\$\\(DESTDIR\\)\\$\\(CHRONYVARDIR\\)") ":")))) + (add-after 'install 'install-more-documentation + (lambda _ + (let* ((doc (string-append #$output "/share/doc/" + #$name "-" #$version))) + (for-each (cut install-file <> doc) + (list "README" "FAQ")) + (copy-recursively "examples" + (string-append doc "/examples")))))))) (native-inputs (list pkg-config)) (inputs @@ -139,8 +142,7 @@ time-stamping or reference clock, sub-microsecond accuracy is possible.") libevent ;; Build with POSIX capabilities support on GNU/Linux. This allows ;; 'ntpd' to run as non-root (when invoked with '-u'.) - (if (string-suffix? "-linux" - (or (%current-target-system) (%current-system))) + (if (target-linux?) (list libcap) '()))) (arguments diff --git a/gnu/packages/openbox.scm b/gnu/packages/openbox.scm index 2dac9ec644..38afb9d9a0 100644 --- a/gnu/packages/openbox.scm +++ b/gnu/packages/openbox.scm @@ -1,6 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2014 Julien Lepiller <julien@lepiller.eu> -;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il> +;;; Copyright © 2016, 2023 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2017 Nikita <nikita@n0.is> ;;; Copyright © 2022 Maxim Cournoyer <maxim.cournoyer@gmail.com> ;;; @@ -102,7 +102,7 @@ implementations.") ("openbox" ,openbox) ("startup-notification" ,startup-notification) ("libsm" ,libsm) - ("librsvg" ,librsvg) + ("librsvg" ,(librsvg-for-system)) ("libxft" ,libxft))) (native-inputs `(("gettext" ,gettext-minimal) diff --git a/gnu/packages/package-management.scm b/gnu/packages/package-management.scm index dacd4433d2..17eba3da20 100644 --- a/gnu/packages/package-management.scm +++ b/gnu/packages/package-management.scm @@ -22,6 +22,7 @@ ;;; Copyright © 2021 John Kehayias <john.kehayias@protonmail.com> ;;; Copyright © 2022, 2023 Zhu Zihao <all_but_last@163.com> ;;; Copyright © 2023 jgart <jgart@dismail.de> +;;; Copyright © 2023 Mădălin Ionel Patrașcu <madalinionel.patrascu@mdc-berlin.de> ;;; ;;; This file is part of GNU Guix. ;;; @@ -1141,6 +1142,7 @@ extracting, creating, and converting between formats.") python-boto3 python-conda-package-handling python-cytoolz + python-mock python-pluggy python-pycosat python-pytest diff --git a/gnu/packages/patches/ddclient-skip-test.patch b/gnu/packages/patches/ddclient-skip-test.patch deleted file mode 100644 index 28d748997b..0000000000 --- a/gnu/packages/patches/ddclient-skip-test.patch +++ /dev/null @@ -1,43 +0,0 @@ -From e5657802025f238b39581534f3b4d408565c8943 Mon Sep 17 00:00:00 2001 -From: Bruno Victal <mirai@makinata.eu> -Date: Sun, 5 Feb 2023 21:05:00 +0000 -Subject: [PATCH] Disable sandbox incompatible tests. - -See: https://github.com/ddclient/ddclient/issues/465 ---- - t/get_ip_from_if.pl | 21 --------------------- - 1 file changed, 21 deletions(-) - -diff --git a/t/get_ip_from_if.pl b/t/get_ip_from_if.pl -index 6f08e5d..d78c3d0 100644 ---- a/t/get_ip_from_if.pl -+++ b/t/get_ip_from_if.pl -@@ -39,25 +39,4 @@ subtest "get_ip_from_interface tests" => sub { - } - }; - --subtest "Get default interface and IP for test system" => sub { -- my $interface = ddclient::get_default_interface(4); -- if ($interface) { -- isnt($interface, "lo", "Check for loopback 'lo'"); -- isnt($interface, "lo0", "Check for loopback 'lo0'"); -- my $ip1 = ddclient::get_ip_from_interface("default", 4); -- my $ip2 = ddclient::get_ip_from_interface($interface, 4); -- is($ip1, $ip2, "Check IPv4 from default interface"); -- ok(ddclient::is_ipv4($ip1), "Valid IPv4 from get_ip_from_interface($interface)"); -- } -- $interface = ddclient::get_default_interface(6); -- if ($interface) { -- isnt($interface, "lo", "Check for loopback 'lo'"); -- isnt($interface, "lo0", "Check for loopback 'lo0'"); -- my $ip1 = ddclient::get_ip_from_interface("default", 6); -- my $ip2 = ddclient::get_ip_from_interface($interface, 6); -- is($ip1, $ip2, "Check IPv6 from default interface"); -- ok(ddclient::is_ipv6($ip1), "Valid IPv6 from get_ip_from_interface($interface)"); -- } --}; -- - done_testing(); --- -2.38.1 - diff --git a/gnu/packages/patches/elogind-fix-rpath.patch b/gnu/packages/patches/elogind-fix-rpath.patch new file mode 100644 index 0000000000..2a76cc467f --- /dev/null +++ b/gnu/packages/patches/elogind-fix-rpath.patch @@ -0,0 +1,60 @@ +Retrieved from https://github.com/elogind/elogind/issues/258 + +From: Mark Hindley <mark@hindley.org.uk> +Date: Wed, 24 May 2023 10:39:41 +0100 +Subject: Fixup_executable_rpath + +./meson.build sets + + install_rpath : rootlibexecdir + +however src/shared/meson.build sets + +libshared = shared_library( + [snip] + install_dir : rootpkglibdir + ) +--- + meson.build | 8 ++++---- + 1 file changed, 4 insertions(+), 4 deletions(-) + +diff --git a/meson.build b/meson.build +index 694a2fd..a575f69 100644 +--- a/meson.build ++++ b/meson.build +@@ -2903,7 +2903,7 @@ executable('elogind', + dependencies : [threads, + libacl, + libudev], +- install_rpath : rootlibexecdir, ++ install_rpath : rootpkglibdir, + install : true, + install_dir : rootlibexecdir) + +@@ -2913,7 +2913,7 @@ exe = executable('loginctl', + link_with : [libshared], + dependencies : [threads, + libudev], +- install_rpath : rootlibexecdir, ++ install_rpath : rootpkglibdir, + install : true, + install_dir : rootbindir) + public_programs += [exe] +@@ -2923,7 +2923,7 @@ exe = executable('elogind-inhibit', + include_directories : includes, + link_with : [libshared], + dependencies : [threads], +- install_rpath : rootlibexecdir, ++ install_rpath : rootpkglibdir, + install : true, + install_dir : rootbindir) + public_programs += [exe] +@@ -4283,7 +4283,7 @@ executable('elogind-uaccess-command', + libshared], + dependencies: [libacl, + libudev], +- install_rpath : rootlibexecdir, ++ install_rpath : rootpkglibdir, + install : true, + install_dir : rootlibexecdir) + #endif // 0 diff --git a/gnu/packages/patches/elogind-revert-polkit-detection.patch b/gnu/packages/patches/elogind-revert-polkit-detection.patch deleted file mode 100644 index 43dd1684b6..0000000000 --- a/gnu/packages/patches/elogind-revert-polkit-detection.patch +++ /dev/null @@ -1,41 +0,0 @@ -From 715ce0a6459e418f92e74c7ce52df3244c18f383 Mon Sep 17 00:00:00 2001 -From: Sven Eden <sven.eden@prydeworx.com> -Date: Mon, 8 Mar 2021 08:40:08 +0100 -Subject: [PATCH] Revert "Disable polkit support if libpolkit is not installed" - -This reverts commit 1194dec4f8f2d1b8bd14e1625f34418ecfce817e. - -Removing polkit support with -Dpolkit=auto when libpolkit is not -installed, removes the whole interface. This makes it impossible to -add polkit support as a runtime dependency. - -Bug: #167 -Closes: #206 -Signed-off-by: Sven Eden <sven.eden@prydeworx.com> ---- - meson.build | 9 --------- - 1 file changed, 9 deletions(-) - -diff --git a/meson.build b/meson.build -index 2dd05db3c..f38551f55 100644 ---- a/meson.build -+++ b/meson.build -@@ -1157,15 +1157,6 @@ if want_polkit != 'false' and not skip_deps - message('Old polkit detected, will install pkla files') - install_polkit_pkla = true - endif --#if 1 /// Disable polkit completely if libpolkit is not there. See elogind issue #167 -- if not libpolkit.found() -- if want_polkit != 'auto' -- error('Polkit requested but libpolkit was not found.') -- endif -- install_polkit = false -- want_polkit = false -- endif --#endif // 1 - endif - conf.set10('ENABLE_POLKIT', install_polkit) - --- -2.33.1 - diff --git a/gnu/packages/patches/fbreader-fix-icon.patch b/gnu/packages/patches/fbreader-fix-icon.patch new file mode 100644 index 0000000000..635abf6a43 --- /dev/null +++ b/gnu/packages/patches/fbreader-fix-icon.patch @@ -0,0 +1,29 @@ +Author: Danny Milosavljevic <dannym+a@scratchpost.org> +Date: 2023-08-15 + +--- orig/jswba9mn9nh43l7g4w2qslmr7i3q64vy-fbreader-0.99.6-checkout/fbreader/desktop/desktop 2023-08-14 23:56:03.092567740 +0200 ++++ jswba9mn9nh43l7g4w2qslmr7i3q64vy-fbreader-0.99.6-checkout/fbreader/desktop/desktop 2023-08-14 23:56:59.936213278 +0200 +@@ -25,5 +25,5 @@ + StartupNotify=true + Terminal=false + Type=Application +-Icon=FBReader.png ++Icon=FBReader + Categories=Office;Viewer;Literature; +--- orig/jswba9mn9nh43l7g4w2qslmr7i3q64vy-fbreader-0.99.6-checkout/fbreader/desktop/Makefile 2023-08-14 23:56:03.092567740 +0200 ++++ jswba9mn9nh43l7g4w2qslmr7i3q64vy-fbreader-0.99.6-checkout/fbreader/desktop/Makefile 2023-08-15 00:23:19.046691430 +0200 +@@ -10,6 +10,14 @@ + @install -m 0644 desktop $(DESTDIR)/usr/share/applications/$(TARGET).desktop + @install -d $(DESTDIR)$(IMAGEDIR) + @install -m 0644 ../data/icons/application/$(TARGET_ARCH).png $(DESTDIR)$(IMAGEDIR)/FBReader.png ++ @install -d $(DESTDIR)$(SHAREDIR)/icons/hicolor/16x16/apps ++ @install -m 0644 ../data/icons/application/16x16.png $(DESTDIR)$(SHAREDIR)/icons/hicolor/16x16/apps/FBReader.png ++ @install -d $(DESTDIR)$(SHAREDIR)/icons/hicolor/32x32/apps ++ @install -m 0644 ../data/icons/application/32x32.png $(DESTDIR)$(SHAREDIR)/icons/hicolor/32x32/apps/FBReader.png ++ @install -d $(DESTDIR)$(SHAREDIR)/icons/hicolor/48x48/apps ++ @install -m 0644 ../data/icons/application/48x48.png $(DESTDIR)$(SHAREDIR)/icons/hicolor/48x48/apps/FBReader.png ++ @install -d $(DESTDIR)$(SHAREDIR)/icons/hicolor/64x64/apps ++ @install -m 0644 ../data/icons/application/64x64.png $(DESTDIR)$(SHAREDIR)/icons/hicolor/64x64/apps/FBReader.png + @install -m 0644 ../data/default/config.desktop.xml $(SHARE_FBREADER)/default/config.xml + @install -m 0644 ../data/default/keymap.desktop.xml $(SHARE_FBREADER)/default/keymap.xml + @install -m 0644 ../data/default/styles.desktop.xml $(SHARE_FBREADER)/default/styles.xml diff --git a/gnu/packages/patches/highlight-gui-data-dir.patch b/gnu/packages/patches/highlight-gui-data-dir.patch new file mode 100644 index 0000000000..33f40d309c --- /dev/null +++ b/gnu/packages/patches/highlight-gui-data-dir.patch @@ -0,0 +1,51 @@ +This patch distinguishes between the data directory path for GUI and the one +for non-GUI by allowing to set the former path. + +highlight package has two outputs: out and gui. Both outputs have files which +will be in the same directory /share/highlight/ without this patch (see also +install and install-gui tasks in makefile). In the gui's data directory, +there are GUI specific files in /share/highlight/gui-files/{l10n,ext}/. + +diff --git a/src/gui-qt/main.cpp b/src/gui-qt/main.cpp +index 4700dc1..3567745 100644 +--- a/src/gui-qt/main.cpp ++++ b/src/gui-qt/main.cpp +@@ -47,8 +47,8 @@ int main(int argc, char *argv[]) + { + QApplication app(argc, argv); + QTranslator translator; +-#ifdef DATA_DIR +- translator.load(QString("%1/gui_files/l10n/highlight_%2").arg(DATA_DIR).arg(QLocale::system().name())); ++#ifdef GUI_DATA_DIR ++ translator.load(QString("%1/gui_files/l10n/highlight_%2").arg(GUI_DATA_DIR).arg(QLocale::system().name())); + #else + translator.load(QString("%1/gui_files/l10n/highlight_%2").arg(QDir::currentPath()).arg(QLocale::system().name())); + #endif +diff --git a/src/gui-qt/mainwindow.cpp b/src/gui-qt/mainwindow.cpp +index 3a21ad2..f060431 100644 +--- a/src/gui-qt/mainwindow.cpp ++++ b/src/gui-qt/mainwindow.cpp +@@ -2131,8 +2131,8 @@ QString MainWindow::getDistFileFilterPath(){ + #ifdef Q_OS_OSX + return QCoreApplication::applicationDirPath()+"/../Resources/gui_files/ext/fileopenfilter.conf"; + #else +- #ifdef DATA_DIR +- return QString(DATA_DIR) + "/gui_files/ext/fileopenfilter.conf"; ++ #ifdef GUI_DATA_DIR ++ return QString(GUI_DATA_DIR) + "/gui_files/ext/fileopenfilter.conf"; + #else + return QDir::currentPath()+"/gui_files/ext/fileopenfilter.conf"; + #endif +diff --git a/src/makefile b/src/makefile +index b1d7988..2963105 100644 +--- a/src/makefile ++++ b/src/makefile +@@ -118,7 +118,7 @@ gui-qt: highlight-gui + + highlight-gui: libhighlight.a ${GUI_OBJECTS} + cd gui-qt && \ +- ${QMAKE} 'DEFINES+=DATA_DIR=\\\"${HL_DATA_DIR}\\\" CONFIG_DIR=\\\"${HL_CONFIG_DIR}\\\" DOC_DIR=\\\"${HL_DOC_DIR}\\\" ' && \ ++ ${QMAKE} 'DEFINES+=DATA_DIR=\\\"${HL_DATA_DIR}\\\" CONFIG_DIR=\\\"${HL_CONFIG_DIR}\\\" DOC_DIR=\\\"${HL_DOC_DIR}\\\" GUI_DATA_DIR=\\\"${GUI_DATA_DIR}\\\" ' && \ + $(MAKE) + + $(OBJECTFILES) : makefile diff --git a/gnu/packages/patches/maturin-no-cross-compile.patch b/gnu/packages/patches/maturin-no-cross-compile.patch new file mode 100644 index 0000000000..7394d0854e --- /dev/null +++ b/gnu/packages/patches/maturin-no-cross-compile.patch @@ -0,0 +1,55 @@ +Remove dependencies on xwin and zig. We're not offering cross-compilation +options using these crates. + +diff --git a/Cargo.toml b/Cargo.toml +index 6cbdca3..22ea5ef 100644 +--- a/Cargo.toml ++++ b/Cargo.toml +@@ -76,16 +76,6 @@ version = "0.1.4" + [dependencies.cargo-options] + version = "0.6.0" + +-[dependencies.cargo-xwin] +-version = "0.14.3" +-optional = true +-default-features = false +- +-[dependencies.cargo-zigbuild] +-version = "0.16.10" +-optional = true +-default-features = false +- + [dependencies.cargo_metadata] + version = "0.15.3" + +@@ -310,8 +300,6 @@ version = "4.3.0" + [features] + cli-completion = ["dep:clap_complete_command"] + cross-compile = [ +- "zig", +- "xwin", + ] + default = [ + "full", +@@ -330,7 +318,6 @@ log = ["tracing-subscriber"] + native-tls = [ + "dep:native-tls", + "ureq?/native-tls", +- "cargo-xwin?/native-tls", + "dep:rustls-pemfile", + ] + password-storage = [ +@@ -340,7 +327,6 @@ password-storage = [ + rustls = [ + "dep:rustls", + "ureq?/tls", +- "cargo-xwin?/rustls-tls", + "dep:rustls-pemfile", + ] + scaffolding = [ +@@ -358,5 +344,3 @@ upload = [ + "wild", + "dep:dirs", + ] +-xwin = ["cargo-xwin"] +-zig = ["cargo-zigbuild"] diff --git a/gnu/packages/patches/mcrl2-fix-1687.patch b/gnu/packages/patches/mcrl2-fix-1687.patch deleted file mode 100644 index 449ecbf638..0000000000 --- a/gnu/packages/patches/mcrl2-fix-1687.patch +++ /dev/null @@ -1,337 +0,0 @@ -Taken from upstream: - https://github.com/mCRL2org/mCRL2/commit/f38998be5198236bc5bf5a957b0e132d6d6d8bee - -Fixes bug in ltsconvert: - https://listserver.tue.nl/pipermail/mcrl2-users/2022-June/000395.html - -From f38998be5198236bc5bf5a957b0e132d6d6d8bee Mon Sep 17 00:00:00 2001 -From: Jan Friso Groote <J.F.Groote@tue.nl> -Date: Tue, 28 Jun 2022 12:27:47 +0200 -Subject: [PATCH] Solved bug report #1687 - -Hidden actions were not properly recognized in ltsconvert. Multiactions -that were partly hidden compared with the default action label, and had -to be compared with a tau-action. This caused multiple tau-actions to be -listed in the list of actions of an lts, and this caused other tools to -go astray. - -The code to rename actions has completely be rewritten. - -This should solve #1687. - -A test have been added. ---- - libraries/lts/include/mcrl2/lts/lts.h | 95 ++++++++++++++++++++++--- - libraries/lts/test/lts_test.cpp | 61 ++++++++-------- - tools/release/ltsconvert/ltsconvert.cpp | 3 +- - 3 files changed, 116 insertions(+), 43 deletions(-) - -diff --git a/libraries/lts/include/mcrl2/lts/lts.h b/libraries/lts/include/mcrl2/lts/lts.h -index 095031e7c..8562eb900 100644 ---- a/libraries/lts/include/mcrl2/lts/lts.h -+++ b/libraries/lts/include/mcrl2/lts/lts.h -@@ -25,6 +25,7 @@ - #include <algorithm> - #include <cassert> - #include <set> -+#include <map> - #include "mcrl2/lts/transition.h" - #include "mcrl2/lts/lts_type.h" - -@@ -482,40 +483,112 @@ class lts: public LTS_BASE - return; - } - -+ std::map<labels_size_type, labels_size_type> action_rename_map; - for (labels_size_type i=0; i< num_action_labels(); ++i) - { - ACTION_LABEL_T a=action_label(i); - a.hide_actions(tau_actions); -- if (a==ACTION_LABEL_T()) -+ if (a==ACTION_LABEL_T::tau_action()) - { -- m_hidden_label_set.insert(i); -+ if (i!=const_tau_label_index) -+ { -+ m_hidden_label_set.insert(i); -+ } - } - else if (a!=action_label(i)) - { -- set_action_label(i,a); -+ /* In this the action_label i is changed by the tau_actions but not renamed to tau. -+ We check whether a maps onto another action label index. If yes, it is added to -+ the rename map, and we explicitly rename transition labels with this label afterwards. -+ If no, we rename the action label. -+ */ -+ bool found=false; -+ for (labels_size_type j=0; !found && j< num_action_labels(); ++j) -+ { -+ if (a==action_label(j)) -+ { -+ if (i!=j) -+ { -+ action_rename_map[i]=j; -+ } -+ found=true; -+ } -+ } -+ if (!found) // a!=action_label(j) for any j, then rename action_label(i) to a. -+ { -+ set_action_label(i,a); -+ } -+ } -+ } -+ -+ if (action_rename_map.size()>0) // Check whether there are action labels that must be renamed, and -+ { -+ for(transition& t: m_transitions) -+ { -+ auto i = action_rename_map.find(t.label()); -+ if (i!=action_rename_map.end()) -+ { -+ t=transition(t.from(),i->second,t.to()); -+ } - } - } - } - -- /** \brief Apply the recorded actions that are renamed to internal actions to the lts. -- * \details After hiding actions, it checks whether action labels are -- * equal and merges actions with the same labels in the lts. -+ /** \brief Rename the hidden actions in the lts. -+ * \details Multiactions can be partially renamed. I.e. a|b becomes a if b is hidden. -+ * In such a case the new action a is mapped onto an existing action a; if such -+ * a label a does not exist, the action a|b is renamed to a. - * \param[in] tau_actions Vector with strings indicating which actions must be - * transformed to tau's */ -- void apply_hidden_actions(void) -+ void apply_hidden_actions(const std::vector<std::string>& tau_actions) - { -- if (m_hidden_label_set.size()>0) // Check whether there is something to rename. -+ if (tau_actions.size()==0) -+ { -+ return; -+ } -+ -+ std::map<labels_size_type, labels_size_type> action_rename_map; -+ for (labels_size_type i=0; i< num_action_labels(); ++i) -+ { -+ ACTION_LABEL_T a=action_label(i); -+ a.hide_actions(tau_actions); -+#ifndef NDEBUG -+ ACTION_LABEL_T b=a; -+ b.hide_actions(tau_actions); -+ assert(a==b); // hide_actions applied twice yields the same result as applying it once. -+#endif -+ bool found=false; -+ for (labels_size_type j=0; !found && j< num_action_labels(); ++j) -+ { -+ if (a==action_label(j)) -+ { -+ if (i!=j) -+ { -+ action_rename_map[i]=j; -+ } -+ found=true; -+ } -+ } -+ if (!found) // a!=action_label(j) for any j, then rename action_label(i) to a. -+ { -+ set_action_label(i,a); -+ } -+ } -+ -+ -+ if (action_rename_map.size()>0) // Check whether there is something to rename. - { - for(transition& t: m_transitions) - { -- if (m_hidden_label_set.count(t.label())) -+ auto i = action_rename_map.find(t.label()); -+ if (i!=action_rename_map.end()) - { -- t=transition(t.from(),tau_label_index(),t.to()); -+ t=transition(t.from(),i->second,t.to()); - } - } -- m_hidden_label_set.clear(); // Empty the hidden label set. - } - } -+ - /** \brief Checks whether this LTS has state values associated with its states. - * \retval true if the LTS has state information; - * \retval false otherwise. -diff --git a/libraries/lts/test/lts_test.cpp b/libraries/lts/test/lts_test.cpp -index 5840393d9..ad69f6275 100644 ---- a/libraries/lts/test/lts_test.cpp -+++ b/libraries/lts/test/lts_test.cpp -@@ -149,7 +149,7 @@ static void reduce_lts_in_various_ways(const std::string& test_description, - BOOST_CHECK(is_deterministic(l)); - } - --static void reduce_simple_loop() -+BOOST_AUTO_TEST_CASE(reduce_simple_loop) - { - std::string SIMPLE_AUT = - "des (0,2,2)\n" -@@ -173,7 +173,7 @@ static void reduce_simple_loop() - reduce_lts_in_various_ways("Simple loop", SIMPLE_AUT, expected); - } - --static void reduce_simple_loop_with_tau() -+BOOST_AUTO_TEST_CASE(reduce_simple_loop_with_tau) - { - std::string SIMPLE_AUT = - "des (0,2,2)\n" -@@ -200,7 +200,7 @@ static void reduce_simple_loop_with_tau() - /* The example below was encountered by David Jansen. The problem is that - * for branching bisimulations the tau may supersede the b, not leading to the - * necessary splitting into two equivalence classes. */ --static void tricky_example_for_branching_bisimulation() -+BOOST_AUTO_TEST_CASE(tricky_example_for_branching_bisimulation) - { - std::string TRICKY_BB = - "des (0,3,2)\n" -@@ -226,7 +226,7 @@ static void tricky_example_for_branching_bisimulation() - } - - --static void reduce_abp() -+BOOST_AUTO_TEST_CASE(reduce_abp) - { - std::string ABP_AUT = - "des (0,92,74)\n" -@@ -342,7 +342,7 @@ static void reduce_abp() - - // Peterson's protocol has the interesting property that the number of states modulo branching bisimulation - // differs from the number of states modulo weak bisimulation, as observed by Rob van Glabbeek. --static void reduce_peterson() -+BOOST_AUTO_TEST_CASE(reduce_peterson) - { - std::string PETERSON_AUT = - "des (0,59,35)\n" -@@ -423,7 +423,7 @@ static void reduce_peterson() - reduce_lts_in_various_ways("Peterson protocol", PETERSON_AUT, expected); - } - --static void test_reachability() -+BOOST_AUTO_TEST_CASE(test_reachability) - { - std::string REACH = - "des (0,4,5) \n" -@@ -449,7 +449,7 @@ static void test_reachability() - - // The example below caused failures in the GW mlogn branching bisimulation - // algorithm when cleaning the code up. --static void failing_test_groote_wijs_algorithm() -+BOOST_AUTO_TEST_CASE(failing_test_groote_wijs_algorithm) - { - std::string GWLTS = - "des(0,29,10)\n" -@@ -511,7 +511,7 @@ static void failing_test_groote_wijs_algorithm() - // It has not been implemented fully. The problem is that it is difficult to - // prescribe the order in which refinements have to be done. - --static void counterexample_jk_1(std::size_t k) -+void counterexample_jk_1(std::size_t k) - { - // numbering scheme of states: - // states 0..k-1 are the blue squares -@@ -571,7 +571,7 @@ static void counterexample_jk_1(std::size_t k) - - // In the meantime, the bug is corrected: this is why the first part of the - // algorithm now follows a much simpler line than previously. --static void counterexample_postprocessing() -+BOOST_AUTO_TEST_CASE(counterexample_postprocessing) - { - std::string POSTPROCESS_AUT = - "des(0,33,13)\n" -@@ -634,7 +634,7 @@ static void counterexample_postprocessing() - test_lts("postprocessing problem (branching bisimulation signature [Blom/Orzan 2003])",l,expected_label_count, expected_state_count, expected_transition_count); - } - --static void regression_delete_old_bb_slice() -+BOOST_AUTO_TEST_CASE(regression_delete_old_bb_slice) - { - std::string POSTPROCESS_AUT = - "des(0,163,100)\n" -@@ -824,7 +824,7 @@ static void regression_delete_old_bb_slice() - test_lts("regression test for GJKW bug (branching bisimulation signature [Blom/Orzan 2003])",l,expected_label_count, expected_state_count, expected_transition_count); - } - --void is_deterministic_test1() -+BOOST_AUTO_TEST_CASE(is_deterministic_test1) - { - std::string automaton = - "des(0,2,2)\n" -@@ -837,7 +837,7 @@ void is_deterministic_test1() - BOOST_CHECK(is_deterministic(l_det)); - } - --void is_deterministic_test2() -+BOOST_AUTO_TEST_CASE(is_deterministic_test2) - { - std::string automaton = - "des(0,2,2)\n" -@@ -850,24 +850,25 @@ void is_deterministic_test2() - BOOST_CHECK(!is_deterministic(l_det)); - } - --void test_is_deterministic() -+BOOST_AUTO_TEST_CASE(hide_actions1) - { -- is_deterministic_test1(); -- is_deterministic_test2(); --} -+ std::string automaton = -+ "des (0,4,3)\n" -+ "(0,\"<state>\",1)\n" -+ "(1,\"return|hello\",2)\n" -+ "(1,\"return\",2)\n" -+ "(2,\"world\",1)\n"; -+ -+ std::istringstream is(automaton); -+ lts::lts_aut_t l; -+ l.load(is); -+ std::vector<std::string>hidden_actions(1,"hello"); -+ l.apply_hidden_actions(hidden_actions); -+ reduce(l,lts::lts_eq_bisim); -+ std::size_t expected_label_count = 5; -+ std::size_t expected_state_count = 3; -+ std::size_t expected_transition_count = 3; -+ test_lts("regression test for GJKW bug (branching bisimulation [Jansen/Groote/Keiren/Wijs 2019])",l,expected_label_count, expected_state_count, expected_transition_count); -+ - --BOOST_AUTO_TEST_CASE(test_main) --{ -- reduce_simple_loop(); -- reduce_simple_loop_with_tau(); -- tricky_example_for_branching_bisimulation(); -- reduce_abp(); -- reduce_peterson(); -- test_reachability(); -- test_is_deterministic(); -- failing_test_groote_wijs_algorithm(); -- counterexample_jk_1(3); -- counterexample_postprocessing(); -- regression_delete_old_bb_slice(); -- // TODO: Add groote wijs branching bisimulation and add weak bisimulation tests. For the last Peterson is a good candidate. - } -diff --git a/tools/release/ltsconvert/ltsconvert.cpp b/tools/release/ltsconvert/ltsconvert.cpp -index 231deabe2..5645d31d1 100644 ---- a/tools/release/ltsconvert/ltsconvert.cpp -+++ b/tools/release/ltsconvert/ltsconvert.cpp -@@ -123,8 +123,7 @@ class ltsconvert_tool : public input_output_tool - - LTS_TYPE l; - l.load(tool_options.infilename); -- l.record_hidden_actions(tool_options.tau_actions); -- l.apply_hidden_actions(); -+ l.apply_hidden_actions(tool_options.tau_actions); - - if (tool_options.check_reach) - { --- -2.35.1 - diff --git a/gnu/packages/patches/mcrl2-fix-counterexample.patch b/gnu/packages/patches/mcrl2-fix-counterexample.patch deleted file mode 100644 index abf541f50c..0000000000 --- a/gnu/packages/patches/mcrl2-fix-counterexample.patch +++ /dev/null @@ -1,32 +0,0 @@ -Taken from upstream: - https://github.com/mCRL2org/mCRL2/commit/435421429dde9dcc5956e8a978597111a3947ec1 - -Fixes bug in ltscompare: - https://listserver.tue.nl/pipermail/mcrl2-users/2022-June/000396.html - -From 435421429dde9dcc5956e8a978597111a3947ec1 Mon Sep 17 00:00:00 2001 -From: Maurice Laveaux <m.laveaux@tue.nl> -Date: Wed, 29 Jun 2022 10:27:58 +0200 -Subject: [PATCH] Write counterexample's structured output trace on single - line. - ---- - libraries/lts/include/mcrl2/lts/detail/counter_example.h | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/libraries/lts/include/mcrl2/lts/detail/counter_example.h b/libraries/lts/include/mcrl2/lts/detail/counter_example.h -index c339cfde4..ca3967768 100644 ---- a/libraries/lts/include/mcrl2/lts/detail/counter_example.h -+++ b/libraries/lts/include/mcrl2/lts/detail/counter_example.h -@@ -139,7 +139,7 @@ class counter_example_constructor - if (m_structured_output) - { - std::cout << m_name << ": "; -- result.save("", mcrl2::lts::trace::tfPlain); // Write to stdout. -+ result.save("", mcrl2::lts::trace::tfLine); // Write to stdout. - } - else - { --- -2.35.1 - diff --git a/gnu/packages/patches/openssh-hurd.patch b/gnu/packages/patches/openssh-hurd.patch deleted file mode 100644 index 1ad09a7ee6..0000000000 --- a/gnu/packages/patches/openssh-hurd.patch +++ /dev/null @@ -1,30 +0,0 @@ -Author: Jan (janneke) Nieuwenhuizen" <janneke@gnu.org> -Not upstreamed. - -From 1ddae040d67e9a4ebcc3e1b95af1bff12c0f086b Mon Sep 17 00:00:00 2001 -From: "Jan (janneke) Nieuwenhuizen" <janneke@gnu.org> -Date: Tue, 7 Apr 2020 17:41:05 +0200 -Subject: [PATCH] Build fix for the Hurd. - -* gss-serv.c (ssh_gssapi_acquire_cred): Use HOST_NAME_MAX instead of -MAXHOSTNAMELEN. ---- - gss-serv.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/gss-serv.c b/gss-serv.c -index 1d47870e7..22081c6f1 100644 ---- a/gss-serv.c -+++ b/gss-serv.c -@@ -107,7 +107,7 @@ ssh_gssapi_acquire_cred(Gssctxt *ctx) - gss_create_empty_oid_set(&status, &oidset); - gss_add_oid_set_member(&status, ctx->oid, &oidset); - -- if (gethostname(lname, MAXHOSTNAMELEN)) { -+ if (gethostname(lname, HOST_NAME_MAX)) { - gss_release_oid_set(&status, &oidset); - return (-1); - } --- -2.26.0 - diff --git a/gnu/packages/patches/po4a-partial-texinfo-menu-fix.patch b/gnu/packages/patches/po4a-partial-texinfo-menu-fix.patch new file mode 100644 index 0000000000..8a075fa74c --- /dev/null +++ b/gnu/packages/patches/po4a-partial-texinfo-menu-fix.patch @@ -0,0 +1,242 @@ +Submitted upstream: https://github.com/mquinson/po4a/pull/437 + +From 43db5c0b14ec2a8ba44d338bce024df87256457b Mon Sep 17 00:00:00 2001 +From: Maxim Cournoyer <maxim.cournoyer@gmail.com> +Date: Thu, 27 Jul 2023 17:44:49 -0400 +Subject: [PATCH] lib: Texinfo: Translate partial menu node names. + +Fixes <https://issues.guix.gnu.org/64881>. + +* lib/Locale/Po4a/Texinfo.pm (translate_buffer_menuentry): Refine +regexp, so that it matches menu entries lacking a description. +Only call 'translate_buffer' on the description if it was provided. +* t/fmt/texinfo/partialmenus.trans: New file. +* t/fmt/texinfo/partialmenus.texi: Likewise. +* t/fmt/texinfo/partialmenus.pot: Likewise. +* t/fmt/texinfo/partialmenus.po: Likewise. +* t/fmt/texinfo/partialmenus.norm: Likewise. +* t/fmt-texinfo.t: Register the new 'partialmenus' test. +--- + lib/Locale/Po4a/Texinfo.pm | 7 +++--- + t/fmt-texinfo.t | 2 +- + t/fmt/texinfo/partialmenus.norm | 21 +++++++++++++++++ + t/fmt/texinfo/partialmenus.po | 40 ++++++++++++++++++++++++++++++++ + t/fmt/texinfo/partialmenus.pot | 40 ++++++++++++++++++++++++++++++++ + t/fmt/texinfo/partialmenus.texi | 14 +++++++++++ + t/fmt/texinfo/partialmenus.trans | 21 +++++++++++++++++ + 7 files changed, 141 insertions(+), 4 deletions(-) + create mode 100644 t/fmt/texinfo/partialmenus.norm + create mode 100644 t/fmt/texinfo/partialmenus.po + create mode 100644 t/fmt/texinfo/partialmenus.pot + create mode 100644 t/fmt/texinfo/partialmenus.texi + create mode 100644 t/fmt/texinfo/partialmenus.trans + +diff --git a/lib/Locale/Po4a/Texinfo.pm b/lib/Locale/Po4a/Texinfo.pm +index b4750699..1c3a4bae 100644 +--- a/lib/Locale/Po4a/Texinfo.pm ++++ b/lib/Locale/Po4a/Texinfo.pm +@@ -336,7 +336,7 @@ sub translate_buffer_menuentry { + + my $translated_buffer = ""; + +- if ( $buffer =~ m/^(.*?)(::)\s+(.*)$/s ++ if ( $buffer =~ m/^(.*?)(::)(?:\s+(.*))?$/s + or $buffer =~ m/^(.*?: .*?)(\.)\s+(.*)$/s ) + { + my ( $name, $sep, $description ) = ( $1, $2, $3 ); +@@ -347,8 +347,9 @@ sub translate_buffer_menuentry { + $translated_buffer .= ' ' x ( $menu_sep_width - 1 - $l ); + $l = $menu_sep_width - 1; + } +- ( $t, @e ) = $self->translate_buffer( $description, $no_wrap, @env ); +- ++ if ($description) { ++ ( $t, @e ) = $self->translate_buffer( $description, $no_wrap, @env ); ++ } + # Replace newlines with space for proper wrapping + # See https://github.com/mquinson/po4a/issues/122 + $t =~ s/\n/ /sg; +diff --git a/t/fmt-texinfo.t b/t/fmt-texinfo.t +index 4b067e43..d9ed5df3 100644 +--- a/t/fmt-texinfo.t ++++ b/t/fmt-texinfo.t +@@ -10,7 +10,7 @@ use Testhelper; + + my @tests; + +-for my $test (qw(longmenu comments tindex)) { ++for my $test (qw(longmenu partialmenus comments tindex)) { + push @tests, + { + 'format' => 'texinfo', +diff --git a/t/fmt/texinfo/partialmenus.norm b/t/fmt/texinfo/partialmenus.norm +new file mode 100644 +index 00000000..99240682 +--- /dev/null ++++ b/t/fmt/texinfo/partialmenus.norm +@@ -0,0 +1,21 @@ ++\input texinfo ++@c =========================================================================== ++@c ++@c This file was generated with po4a. Translate the source file. ++@c ++@c =========================================================================== ++ ++ ++@c These menus do not contain a description, which used to cause a ++@c Texinfo menu entry to not be translated. ++@menu ++* A menu entry without any description:: A menu entry without any ++ description ++* Optional menu name: The menu node:: Optional menu name: The menu node ++@end menu ++ ++@node A menu entry without any description ++@chapter A menu entry without any description ++ ++@node The menu node ++@chapter Optional menu name +diff --git a/t/fmt/texinfo/partialmenus.po b/t/fmt/texinfo/partialmenus.po +new file mode 100644 +index 00000000..31a14443 +--- /dev/null ++++ b/t/fmt/texinfo/partialmenus.po +@@ -0,0 +1,40 @@ ++# SOME DESCRIPTIVE TITLE ++# Copyright (C) YEAR Free Software Foundation, Inc. ++# This file is distributed under the same license as the PACKAGE package. ++# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR. ++# ++#, fuzzy ++msgid "" ++msgstr "" ++"Project-Id-Version: PACKAGE VERSION\n" ++"POT-Creation-Date: 2023-07-27 17:29-0400\n" ++"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" ++"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" ++"Language-Team: LANGUAGE <LL@li.org>\n" ++"Language: \n" ++"MIME-Version: 1.0\n" ++"Content-Type: text/plain; charset=UTF-8\n" ++"Content-Transfer-Encoding: 8bit\n" ++ ++#. type: chapter ++#: partialmenus.texi:8 partialmenus.texi:10 partialmenus.texi:11 ++#, no-wrap ++msgid "A menu entry without any description" ++msgstr "A MENU ENTRY WITHOUT ANY DESCRIPTION" ++ ++#. type: menuentry ++#: partialmenus.texi:8 ++msgid "Optional menu name: The menu node" ++msgstr "OPTIONAL MENU NAME: THE MENU NODE" ++ ++#. type: node ++#: partialmenus.texi:13 ++#, no-wrap ++msgid "The menu node" ++msgstr "THE MENU NODE" ++ ++#. type: chapter ++#: partialmenus.texi:14 ++#, no-wrap ++msgid "Optional menu name" ++msgstr "OPTIONAL MENU NAME" +diff --git a/t/fmt/texinfo/partialmenus.pot b/t/fmt/texinfo/partialmenus.pot +new file mode 100644 +index 00000000..0379f805 +--- /dev/null ++++ b/t/fmt/texinfo/partialmenus.pot +@@ -0,0 +1,40 @@ ++# SOME DESCRIPTIVE TITLE ++# Copyright (C) YEAR Free Software Foundation, Inc. ++# This file is distributed under the same license as the PACKAGE package. ++# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR. ++# ++#, fuzzy ++msgid "" ++msgstr "" ++"Project-Id-Version: PACKAGE VERSION\n" ++"POT-Creation-Date: 2023-08-16 09:47-0400\n" ++"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" ++"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" ++"Language-Team: LANGUAGE <LL@li.org>\n" ++"Language: \n" ++"MIME-Version: 1.0\n" ++"Content-Type: text/plain; charset=UTF-8\n" ++"Content-Transfer-Encoding: 8bit\n" ++ ++#. type: chapter ++#: partialmenus.texi:8 partialmenus.texi:10 partialmenus.texi:11 ++#, no-wrap ++msgid "A menu entry without any description" ++msgstr "" ++ ++#. type: menuentry ++#: partialmenus.texi:8 ++msgid "Optional menu name: The menu node" ++msgstr "" ++ ++#. type: node ++#: partialmenus.texi:13 ++#, no-wrap ++msgid "The menu node" ++msgstr "" ++ ++#. type: chapter ++#: partialmenus.texi:14 ++#, no-wrap ++msgid "Optional menu name" ++msgstr "" +diff --git a/t/fmt/texinfo/partialmenus.texi b/t/fmt/texinfo/partialmenus.texi +new file mode 100644 +index 00000000..f8663a2b +--- /dev/null ++++ b/t/fmt/texinfo/partialmenus.texi +@@ -0,0 +1,14 @@ ++\input texinfo ++ ++@c These menus do not contain a description, which used to cause a ++@c Texinfo menu entry to not be translated. ++@menu ++* A menu entry without any description:: ++* Optional menu name: The menu node:: ++@end menu ++ ++@node A menu entry without any description ++@chapter A menu entry without any description ++ ++@node The menu node ++@chapter Optional menu name +diff --git a/t/fmt/texinfo/partialmenus.trans b/t/fmt/texinfo/partialmenus.trans +new file mode 100644 +index 00000000..0ef742a1 +--- /dev/null ++++ b/t/fmt/texinfo/partialmenus.trans +@@ -0,0 +1,21 @@ ++\input texinfo ++@c =========================================================================== ++@c ++@c This file was generated with po4a. Translate the source file. ++@c ++@c =========================================================================== ++ ++ ++@c These menus do not contain a description, which used to cause a ++@c Texinfo menu entry to not be translated. ++@menu ++* A MENU ENTRY WITHOUT ANY DESCRIPTION:: A MENU ENTRY WITHOUT ANY ++ DESCRIPTION ++* OPTIONAL MENU NAME: THE MENU NODE:: OPTIONAL MENU NAME: THE MENU NODE ++@end menu ++ ++@node A MENU ENTRY WITHOUT ANY DESCRIPTION ++@chapter A MENU ENTRY WITHOUT ANY DESCRIPTION ++ ++@node THE MENU NODE ++@chapter OPTIONAL MENU NAME + +base-commit: 5b1cd768afdf4e9445812c5d43428495a0fde3c6 +-- +2.41.0 + diff --git a/gnu/packages/patches/rust-nettle-sys-disable-vendor.patch b/gnu/packages/patches/rust-nettle-sys-disable-vendor.patch deleted file mode 100644 index ae5ef5ebe0..0000000000 --- a/gnu/packages/patches/rust-nettle-sys-disable-vendor.patch +++ /dev/null @@ -1,48 +0,0 @@ -Subject: nettle-sys: clear out "vendored" feature cruft from build.rs -From: Daniel Kahn Gillmor's avatarDaniel Kahn Gillmor <dkg@fifthhorseman.net> - -https://salsa.debian.org/rust-team/debcargo-conf/-/commit/0c71150ad26bb66a8396dcdab055181af232ddc5 -https://sources.debian.org/src/rust-nettle-sys/2.0.4-3/debian/patches/disable-vendor.diff/ ---- a/Cargo.toml 2019-10-23 13:08:07.000000000 -0400 -+++ b/Cargo.toml 2019-10-23 14:08:46.644064014 -0400 -@@ -29,12 +29,9 @@ - version = "0.51.1" - default-features = false - --[build-dependencies.nettle-src] --version = "3.5.1-0" --optional = true -- - [build-dependencies.pkg-config] - version = "0.3" - - [features] - vendored = ["nettle-src"] -+nettle-src = [] -diff --git a/build.rs b/build.rs -index 44f7af3..ede4b2f 100644 ---- a/build.rs -+++ b/build.rs -@@ -1,7 +1,5 @@ - extern crate bindgen; - extern crate pkg_config; --#[cfg(feature = "vendored")] --extern crate nettle_src; - - use std::env; - use std::fs; -@@ -36,14 +34,6 @@ fn main() { - println!("cargo:rerun-if-env-changed=NETTLE_STATIC"); - println!("cargo:rerun-if-env-changed={}", NETTLE_PREGENERATED_BINDINGS); - -- #[cfg(feature = "vendored")] -- { -- let artifacts = nettle_src::Build::new().build(); -- println!("cargo:vendored=1"); -- env::set_var("PKG_CONFIG_PATH", -- artifacts.lib_dir().join("pkgconfig")); -- } -- - let nettle = pkg_config::probe_library("nettle hogweed").unwrap(); - - let mode = match env::var_os("NETTLE_STATIC") { diff --git a/gnu/packages/patches/rust-ring-0.16-missing-files.patch b/gnu/packages/patches/rust-ring-0.16-missing-files.patch new file mode 100644 index 0000000000..fa2f94a801 --- /dev/null +++ b/gnu/packages/patches/rust-ring-0.16-missing-files.patch @@ -0,0 +1,2293 @@ +These 4 files exist in the git repository for rust-ring, and are from +the same commit where 0.16.20 is taken from. They were not added to the +include list in Cargo.toml, so they were not added to the tarball. + +--- + crypto/curve25519/make_curve25519_tables.py | 222 +++++ + crypto/fipsmodule/aes/asm/vpaes-armv7.pl | 896 ++++++++++++++++++ + crypto/fipsmodule/aes/asm/vpaes-armv8.pl | 837 ++++++++++++++++ + .../fipsmodule/modes/asm/ghash-neon-armv8.pl | 294 ++++++ + 4 files changed, 2249 insertions(+) + create mode 100755 crypto/curve25519/make_curve25519_tables.py + create mode 100644 crypto/fipsmodule/aes/asm/vpaes-armv7.pl + create mode 100755 crypto/fipsmodule/aes/asm/vpaes-armv8.pl + create mode 100644 crypto/fipsmodule/modes/asm/ghash-neon-armv8.pl + +diff --git a/crypto/curve25519/make_curve25519_tables.py b/crypto/curve25519/make_curve25519_tables.py +new file mode 100755 +index 0000000..50dee2a +--- /dev/null ++++ b/crypto/curve25519/make_curve25519_tables.py +@@ -0,0 +1,222 @@ ++#!/usr/bin/env python ++# coding=utf-8 ++# Copyright (c) 2020, Google Inc. ++# ++# Permission to use, copy, modify, and/or distribute this software for any ++# purpose with or without fee is hereby granted, provided that the above ++# copyright notice and this permission notice appear in all copies. ++# ++# THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES ++# WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF ++# MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY ++# SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES ++# WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION ++# OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN ++# CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. ++ ++import StringIO ++import subprocess ++ ++# Base field Z_p ++p = 2**255 - 19 ++ ++def modp_inv(x): ++ return pow(x, p-2, p) ++ ++# Square root of -1 ++modp_sqrt_m1 = pow(2, (p-1) // 4, p) ++ ++# Compute corresponding x-coordinate, with low bit corresponding to ++# sign, or return None on failure ++def recover_x(y, sign): ++ if y >= p: ++ return None ++ x2 = (y*y-1) * modp_inv(d*y*y+1) ++ if x2 == 0: ++ if sign: ++ return None ++ else: ++ return 0 ++ ++ # Compute square root of x2 ++ x = pow(x2, (p+3) // 8, p) ++ if (x*x - x2) % p != 0: ++ x = x * modp_sqrt_m1 % p ++ if (x*x - x2) % p != 0: ++ return None ++ ++ if (x & 1) != sign: ++ x = p - x ++ return x ++ ++# Curve constant ++d = -121665 * modp_inv(121666) % p ++ ++# Base point ++g_y = 4 * modp_inv(5) % p ++g_x = recover_x(g_y, 0) ++ ++# Points are represented as affine tuples (x, y). ++ ++def point_add(P, Q): ++ x1, y1 = P ++ x2, y2 = Q ++ x3 = ((x1*y2 + y1*x2) * modp_inv(1 + d*x1*x2*y1*y2)) % p ++ y3 = ((y1*y2 + x1*x2) * modp_inv(1 - d*x1*x2*y1*y2)) % p ++ return (x3, y3) ++ ++# Computes Q = s * P ++def point_mul(s, P): ++ Q = (0, 1) # Neutral element ++ while s > 0: ++ if s & 1: ++ Q = point_add(Q, P) ++ P = point_add(P, P) ++ s >>= 1 ++ return Q ++ ++def to_bytes(x): ++ ret = bytearray(32) ++ for i in range(len(ret)): ++ ret[i] = x % 256 ++ x >>= 8 ++ assert x == 0 ++ return ret ++ ++def to_ge_precomp(P): ++ # typedef struct { ++ # fe_loose yplusx; ++ # fe_loose yminusx; ++ # fe_loose xy2d; ++ # } ge_precomp; ++ x, y = P ++ return ((y + x) % p, (y - x) % p, (x * y * 2 * d) % p) ++ ++def to_base_25_5(x): ++ limbs = (26, 25, 26, 25, 26, 25, 26, 25, 26, 25) ++ ret = [] ++ for l in limbs: ++ ret.append(x & ((1<<l) - 1)) ++ x >>= l ++ assert x == 0 ++ return ret ++ ++def to_base_51(x): ++ ret = [] ++ for _ in range(5): ++ ret.append(x & ((1<<51) - 1)) ++ x >>= 51 ++ assert x == 0 ++ return ret ++ ++def to_literal(x): ++ ret = "{{\n#if defined(BORINGSSL_CURVE25519_64BIT)\n" ++ ret += ", ".join(map(str, to_base_51(x))) ++ ret += "\n#else\n" ++ ret += ", ".join(map(str, to_base_25_5(x))) ++ ret += "\n#endif\n}}" ++ return ret ++ ++def main(): ++ d2 = (2 * d) % p ++ ++ small_precomp = bytearray() ++ for i in range(1, 16): ++ s = (i&1) | ((i&2) << (64-1)) | ((i&4) << (128-2)) | ((i&8) << (192-3)) ++ P = point_mul(s, (g_x, g_y)) ++ small_precomp += to_bytes(P[0]) ++ small_precomp += to_bytes(P[1]) ++ ++ large_precomp = [] ++ for i in range(32): ++ large_precomp.append([]) ++ for j in range(8): ++ P = point_mul((j + 1) << (i * 8), (g_x, g_y)) ++ large_precomp[-1].append(to_ge_precomp(P)) ++ ++ bi_precomp = [] ++ for i in range(8): ++ P = point_mul(2*i + 1, (g_x, g_y)) ++ bi_precomp.append(to_ge_precomp(P)) ++ ++ ++ buf = StringIO.StringIO() ++ buf.write("""/* Copyright (c) 2020, Google Inc. ++ * ++ * Permission to use, copy, modify, and/or distribute this software for any ++ * purpose with or without fee is hereby granted, provided that the above ++ * copyright notice and this permission notice appear in all copies. ++ * ++ * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES ++ * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF ++ * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY ++ * SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES ++ * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION ++ * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN ++ * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ ++ ++// This file is generated from ++// ./make_curve25519_tables.py > curve25519_tables.h ++ ++ ++static const fe d = """) ++ buf.write(to_literal(d)) ++ buf.write("""; ++ ++static const fe sqrtm1 = """) ++ buf.write(to_literal(modp_sqrt_m1)) ++ buf.write("""; ++ ++static const fe d2 = """) ++ buf.write(to_literal(d2)) ++ buf.write("""; ++ ++#if defined(OPENSSL_SMALL) ++ ++// This block of code replaces the standard base-point table with a much smaller ++// one. The standard table is 30,720 bytes while this one is just 960. ++// ++// This table contains 15 pairs of group elements, (x, y), where each field ++// element is serialised with |fe_tobytes|. If |i| is the index of the group ++// element then consider i+1 as a four-bit number: (i₀, i₁, i₂, i₃) (where i₀ ++// is the most significant bit). The value of the group element is then: ++// (i₀×2^192 + i₁×2^128 + i₂×2^64 + i₃)G, where G is the generator. ++static const uint8_t k25519SmallPrecomp[15 * 2 * 32] = {""") ++ for i, b in enumerate(small_precomp): ++ buf.write("0x%02x, " % b) ++ buf.write(""" ++}; ++ ++#else ++ ++// k25519Precomp[i][j] = (j+1)*256^i*B ++static const ge_precomp k25519Precomp[32][8] = { ++""") ++ for child in large_precomp: ++ buf.write("{\n") ++ for val in child: ++ buf.write("{\n") ++ for term in val: ++ buf.write(to_literal(term) + ",\n") ++ buf.write("},\n") ++ buf.write("},\n") ++ buf.write("""}; ++ ++#endif // OPENSSL_SMALL ++ ++// Bi[i] = (2*i+1)*B ++static const ge_precomp Bi[8] = { ++""") ++ for val in bi_precomp: ++ buf.write("{\n") ++ for term in val: ++ buf.write(to_literal(term) + ",\n") ++ buf.write("},\n") ++ buf.write("""}; ++""") ++ ++ proc = subprocess.Popen(["clang-format"], stdin=subprocess.PIPE) ++ proc.communicate(buf.getvalue()) ++ ++if __name__ == "__main__": ++ main() +diff --git a/crypto/fipsmodule/aes/asm/vpaes-armv7.pl b/crypto/fipsmodule/aes/asm/vpaes-armv7.pl +new file mode 100644 +index 0000000..d36a97a +--- /dev/null ++++ b/crypto/fipsmodule/aes/asm/vpaes-armv7.pl +@@ -0,0 +1,896 @@ ++#! /usr/bin/env perl ++# Copyright 2015-2016 The OpenSSL Project Authors. All Rights Reserved. ++# ++# Licensed under the OpenSSL license (the "License"). You may not use ++# this file except in compliance with the License. You can obtain a copy ++# in the file LICENSE in the source distribution or at ++# https://www.openssl.org/source/license.html ++ ++ ++###################################################################### ++## Constant-time SSSE3 AES core implementation. ++## version 0.1 ++## ++## By Mike Hamburg (Stanford University), 2009 ++## Public domain. ++## ++## For details see http://shiftleft.org/papers/vector_aes/ and ++## http://crypto.stanford.edu/vpaes/. ++## ++###################################################################### ++# Adapted from the original x86_64 version and <appro@openssl.org>'s ARMv8 ++# version. ++# ++# armv7, aarch64, and x86_64 differ in several ways: ++# ++# * x86_64 SSSE3 instructions are two-address (destination operand is also a ++# source), while NEON is three-address (destination operand is separate from ++# two sources). ++# ++# * aarch64 has 32 SIMD registers available, while x86_64 and armv7 have 16. ++# ++# * x86_64 instructions can take memory references, while ARM is a load/store ++# architecture. This means we sometimes need a spare register. ++# ++# * aarch64 and x86_64 have 128-bit byte shuffle instructions (tbl and pshufb), ++# while armv7 only has a 64-bit byte shuffle (vtbl). ++# ++# This means this armv7 version must be a mix of both aarch64 and x86_64 ++# implementations. armv7 and aarch64 have analogous SIMD instructions, so we ++# base the instructions on aarch64. However, we cannot use aarch64's register ++# allocation. x86_64's register count matches, but x86_64 is two-address. ++# vpaes-armv8.pl already accounts for this in the comments, which use ++# three-address AVX instructions instead of the original SSSE3 ones. We base ++# register usage on these comments, which are preserved in this file. ++# ++# This means we do not use separate input and output registers as in aarch64 and ++# cannot pin as many constants in the preheat functions. However, the load/store ++# architecture means we must still deviate from x86_64 in places. ++# ++# Next, we account for the byte shuffle instructions. vtbl takes 64-bit source ++# and destination and 128-bit table. Fortunately, armv7 also allows addressing ++# upper and lower halves of each 128-bit register. The lower half of q{N} is ++# d{2*N}. The upper half is d{2*N+1}. Instead of the following non-existent ++# instruction, ++# ++# vtbl.8 q0, q1, q2 @ Index each of q2's 16 bytes into q1. Store in q0. ++# ++# we write: ++# ++# vtbl.8 d0, q1, d4 @ Index each of d4's 8 bytes into q1. Store in d0. ++# vtbl.8 d1, q1, d5 @ Index each of d5's 8 bytes into q1. Store in d1. ++# ++# For readability, we write d0 and d1 as q0#lo and q0#hi, respectively and ++# post-process before outputting. (This is adapted from ghash-armv4.pl.) Note, ++# however, that destination (q0) and table (q1) registers may no longer match. ++# We adjust the register usage from x86_64 to avoid this. (Unfortunately, the ++# two-address pshufb always matched these operands, so this is common.) ++# ++# This file also runs against the limit of ARMv7's ADR pseudo-instruction. ADR ++# expands to an ADD or SUB of the pc register to find an address. That immediate ++# must fit in ARM's encoding scheme: 8 bits of constant and 4 bits of rotation. ++# This means larger values must be more aligned. ++# ++# ARM additionally has two encodings, ARM and Thumb mode. Our assembly files may ++# use either encoding (do we actually need to support this?). In ARM mode, the ++# distances get large enough to require 16-byte alignment. Moving constants ++# closer to their use resolves most of this, but common constants in ++# _vpaes_consts are used by the whole file. Affected ADR instructions must be ++# placed at 8 mod 16 (the pc register is 8 ahead). Instructions with this ++# constraint have been commented. ++# ++# For details on ARM's immediate value encoding scheme, see ++# https://alisdair.mcdiarmid.org/arm-immediate-value-encoding/ ++# ++# Finally, a summary of armv7 and aarch64 SIMD syntax differences: ++# ++# * armv7 prefixes SIMD instructions with 'v', while aarch64 does not. ++# ++# * armv7 SIMD registers are named like q0 (and d0 for the half-width ones). ++# aarch64 names registers like v0, and denotes half-width operations in an ++# instruction suffix (see below). ++# ++# * aarch64 embeds size and lane information in register suffixes. v0.16b is ++# 16 bytes, v0.8h is eight u16s, v0.4s is four u32s, and v0.2d is two u64s. ++# armv7 embeds the total size in the register name (see above) and the size of ++# each element in an instruction suffix, which may look like vmov.i8, ++# vshr.u8, or vtbl.8, depending on instruction. ++ ++use strict; ++ ++my $flavour = shift; ++my $output; ++while (($output=shift) && ($output!~/\w[\w\-]*\.\w+$/)) {} ++ ++$0 =~ m/(.*[\/\\])[^\/\\]+$/; ++my $dir=$1; ++my $xlate; ++( $xlate="${dir}arm-xlate.pl" and -f $xlate ) or ++( $xlate="${dir}../../../perlasm/arm-xlate.pl" and -f $xlate) or ++die "can't locate arm-xlate.pl"; ++ ++open OUT,"| \"$^X\" $xlate $flavour $output"; ++*STDOUT=*OUT; ++ ++my $code = ""; ++ ++$code.=<<___; ++.syntax unified ++ ++.arch armv7-a ++.fpu neon ++ ++#if defined(__thumb2__) ++.thumb ++#else ++.code 32 ++#endif ++ ++.text ++ ++.type _vpaes_consts,%object ++.align 7 @ totally strategic alignment ++_vpaes_consts: ++.Lk_mc_forward: @ mc_forward ++ .quad 0x0407060500030201, 0x0C0F0E0D080B0A09 ++ .quad 0x080B0A0904070605, 0x000302010C0F0E0D ++ .quad 0x0C0F0E0D080B0A09, 0x0407060500030201 ++ .quad 0x000302010C0F0E0D, 0x080B0A0904070605 ++.Lk_mc_backward:@ mc_backward ++ .quad 0x0605040702010003, 0x0E0D0C0F0A09080B ++ .quad 0x020100030E0D0C0F, 0x0A09080B06050407 ++ .quad 0x0E0D0C0F0A09080B, 0x0605040702010003 ++ .quad 0x0A09080B06050407, 0x020100030E0D0C0F ++.Lk_sr: @ sr ++ .quad 0x0706050403020100, 0x0F0E0D0C0B0A0908 ++ .quad 0x030E09040F0A0500, 0x0B06010C07020D08 ++ .quad 0x0F060D040B020900, 0x070E050C030A0108 ++ .quad 0x0B0E0104070A0D00, 0x0306090C0F020508 ++ ++@ ++@ "Hot" constants ++@ ++.Lk_inv: @ inv, inva ++ .quad 0x0E05060F0D080180, 0x040703090A0B0C02 ++ .quad 0x01040A060F0B0780, 0x030D0E0C02050809 ++.Lk_ipt: @ input transform (lo, hi) ++ .quad 0xC2B2E8985A2A7000, 0xCABAE09052227808 ++ .quad 0x4C01307D317C4D00, 0xCD80B1FCB0FDCC81 ++.Lk_sbo: @ sbou, sbot ++ .quad 0xD0D26D176FBDC700, 0x15AABF7AC502A878 ++ .quad 0xCFE474A55FBB6A00, 0x8E1E90D1412B35FA ++.Lk_sb1: @ sb1u, sb1t ++ .quad 0x3618D415FAE22300, 0x3BF7CCC10D2ED9EF ++ .quad 0xB19BE18FCB503E00, 0xA5DF7A6E142AF544 ++.Lk_sb2: @ sb2u, sb2t ++ .quad 0x69EB88400AE12900, 0xC2A163C8AB82234A ++ .quad 0xE27A93C60B712400, 0x5EB7E955BC982FCD ++ ++.asciz "Vector Permutation AES for ARMv7 NEON, Mike Hamburg (Stanford University)" ++.size _vpaes_consts,.-_vpaes_consts ++.align 6 ++___ ++ ++{ ++my ($inp,$out,$key) = map("r$_", (0..2)); ++ ++my ($invlo,$invhi) = map("q$_", (10..11)); ++my ($sb1u,$sb1t,$sb2u,$sb2t) = map("q$_", (12..15)); ++ ++$code.=<<___; ++@@ ++@@ _aes_preheat ++@@ ++@@ Fills q9-q15 as specified below. ++@@ ++.type _vpaes_preheat,%function ++.align 4 ++_vpaes_preheat: ++ adr r10, .Lk_inv ++ vmov.i8 q9, #0x0f @ .Lk_s0F ++ vld1.64 {q10,q11}, [r10]! @ .Lk_inv ++ add r10, r10, #64 @ Skip .Lk_ipt, .Lk_sbo ++ vld1.64 {q12,q13}, [r10]! @ .Lk_sb1 ++ vld1.64 {q14,q15}, [r10] @ .Lk_sb2 ++ bx lr ++ ++@@ ++@@ _aes_encrypt_core ++@@ ++@@ AES-encrypt q0. ++@@ ++@@ Inputs: ++@@ q0 = input ++@@ q9-q15 as in _vpaes_preheat ++@@ [$key] = scheduled keys ++@@ ++@@ Output in q0 ++@@ Clobbers q1-q5, r8-r11 ++@@ Preserves q6-q8 so you get some local vectors ++@@ ++@@ ++.type _vpaes_encrypt_core,%function ++.align 4 ++_vpaes_encrypt_core: ++ mov r9, $key ++ ldr r8, [$key,#240] @ pull rounds ++ adr r11, .Lk_ipt ++ @ vmovdqa .Lk_ipt(%rip), %xmm2 # iptlo ++ @ vmovdqa .Lk_ipt+16(%rip), %xmm3 # ipthi ++ vld1.64 {q2, q3}, [r11] ++ adr r11, .Lk_mc_forward+16 ++ vld1.64 {q5}, [r9]! @ vmovdqu (%r9), %xmm5 # round0 key ++ vand q1, q0, q9 @ vpand %xmm9, %xmm0, %xmm1 ++ vshr.u8 q0, q0, #4 @ vpsrlb \$4, %xmm0, %xmm0 ++ vtbl.8 q1#lo, {q2}, q1#lo @ vpshufb %xmm1, %xmm2, %xmm1 ++ vtbl.8 q1#hi, {q2}, q1#hi ++ vtbl.8 q2#lo, {q3}, q0#lo @ vpshufb %xmm0, %xmm3, %xmm2 ++ vtbl.8 q2#hi, {q3}, q0#hi ++ veor q0, q1, q5 @ vpxor %xmm5, %xmm1, %xmm0 ++ veor q0, q0, q2 @ vpxor %xmm2, %xmm0, %xmm0 ++ ++ @ .Lenc_entry ends with a bnz instruction which is normally paired with ++ @ subs in .Lenc_loop. ++ tst r8, r8 ++ b .Lenc_entry ++ ++.align 4 ++.Lenc_loop: ++ @ middle of middle round ++ add r10, r11, #0x40 ++ vtbl.8 q4#lo, {$sb1t}, q2#lo @ vpshufb %xmm2, %xmm13, %xmm4 # 4 = sb1u ++ vtbl.8 q4#hi, {$sb1t}, q2#hi ++ vld1.64 {q1}, [r11]! @ vmovdqa -0x40(%r11,%r10), %xmm1 # .Lk_mc_forward[] ++ vtbl.8 q0#lo, {$sb1u}, q3#lo @ vpshufb %xmm3, %xmm12, %xmm0 # 0 = sb1t ++ vtbl.8 q0#hi, {$sb1u}, q3#hi ++ veor q4, q4, q5 @ vpxor %xmm5, %xmm4, %xmm4 # 4 = sb1u + k ++ vtbl.8 q5#lo, {$sb2t}, q2#lo @ vpshufb %xmm2, %xmm15, %xmm5 # 4 = sb2u ++ vtbl.8 q5#hi, {$sb2t}, q2#hi ++ veor q0, q0, q4 @ vpxor %xmm4, %xmm0, %xmm0 # 0 = A ++ vtbl.8 q2#lo, {$sb2u}, q3#lo @ vpshufb %xmm3, %xmm14, %xmm2 # 2 = sb2t ++ vtbl.8 q2#hi, {$sb2u}, q3#hi ++ vld1.64 {q4}, [r10] @ vmovdqa (%r11,%r10), %xmm4 # .Lk_mc_backward[] ++ vtbl.8 q3#lo, {q0}, q1#lo @ vpshufb %xmm1, %xmm0, %xmm3 # 0 = B ++ vtbl.8 q3#hi, {q0}, q1#hi ++ veor q2, q2, q5 @ vpxor %xmm5, %xmm2, %xmm2 # 2 = 2A ++ @ Write to q5 instead of q0, so the table and destination registers do ++ @ not overlap. ++ vtbl.8 q5#lo, {q0}, q4#lo @ vpshufb %xmm4, %xmm0, %xmm0 # 3 = D ++ vtbl.8 q5#hi, {q0}, q4#hi ++ veor q3, q3, q2 @ vpxor %xmm2, %xmm3, %xmm3 # 0 = 2A+B ++ vtbl.8 q4#lo, {q3}, q1#lo @ vpshufb %xmm1, %xmm3, %xmm4 # 0 = 2B+C ++ vtbl.8 q4#hi, {q3}, q1#hi ++ @ Here we restore the original q0/q5 usage. ++ veor q0, q5, q3 @ vpxor %xmm3, %xmm0, %xmm0 # 3 = 2A+B+D ++ and r11, r11, #~(1<<6) @ and \$0x30, %r11 # ... mod 4 ++ veor q0, q0, q4 @ vpxor %xmm4, %xmm0, %xmm0 # 0 = 2A+3B+C+D ++ subs r8, r8, #1 @ nr-- ++ ++.Lenc_entry: ++ @ top of round ++ vand q1, q0, q9 @ vpand %xmm0, %xmm9, %xmm1 # 0 = k ++ vshr.u8 q0, q0, #4 @ vpsrlb \$4, %xmm0, %xmm0 # 1 = i ++ vtbl.8 q5#lo, {$invhi}, q1#lo @ vpshufb %xmm1, %xmm11, %xmm5 # 2 = a/k ++ vtbl.8 q5#hi, {$invhi}, q1#hi ++ veor q1, q1, q0 @ vpxor %xmm0, %xmm1, %xmm1 # 0 = j ++ vtbl.8 q3#lo, {$invlo}, q0#lo @ vpshufb %xmm0, %xmm10, %xmm3 # 3 = 1/i ++ vtbl.8 q3#hi, {$invlo}, q0#hi ++ vtbl.8 q4#lo, {$invlo}, q1#lo @ vpshufb %xmm1, %xmm10, %xmm4 # 4 = 1/j ++ vtbl.8 q4#hi, {$invlo}, q1#hi ++ veor q3, q3, q5 @ vpxor %xmm5, %xmm3, %xmm3 # 3 = iak = 1/i + a/k ++ veor q4, q4, q5 @ vpxor %xmm5, %xmm4, %xmm4 # 4 = jak = 1/j + a/k ++ vtbl.8 q2#lo, {$invlo}, q3#lo @ vpshufb %xmm3, %xmm10, %xmm2 # 2 = 1/iak ++ vtbl.8 q2#hi, {$invlo}, q3#hi ++ vtbl.8 q3#lo, {$invlo}, q4#lo @ vpshufb %xmm4, %xmm10, %xmm3 # 3 = 1/jak ++ vtbl.8 q3#hi, {$invlo}, q4#hi ++ veor q2, q2, q1 @ vpxor %xmm1, %xmm2, %xmm2 # 2 = io ++ veor q3, q3, q0 @ vpxor %xmm0, %xmm3, %xmm3 # 3 = jo ++ vld1.64 {q5}, [r9]! @ vmovdqu (%r9), %xmm5 ++ bne .Lenc_loop ++ ++ @ middle of last round ++ add r10, r11, #0x80 ++ ++ adr r11, .Lk_sbo ++ @ Read to q1 instead of q4, so the vtbl.8 instruction below does not ++ @ overlap table and destination registers. ++ vld1.64 {q1}, [r11]! @ vmovdqa -0x60(%r10), %xmm4 # 3 : sbou ++ vld1.64 {q0}, [r11] @ vmovdqa -0x50(%r10), %xmm0 # 0 : sbot .Lk_sbo+16 ++ vtbl.8 q4#lo, {q1}, q2#lo @ vpshufb %xmm2, %xmm4, %xmm4 # 4 = sbou ++ vtbl.8 q4#hi, {q1}, q2#hi ++ vld1.64 {q1}, [r10] @ vmovdqa 0x40(%r11,%r10), %xmm1 # .Lk_sr[] ++ @ Write to q2 instead of q0 below, to avoid overlapping table and ++ @ destination registers. ++ vtbl.8 q2#lo, {q0}, q3#lo @ vpshufb %xmm3, %xmm0, %xmm0 # 0 = sb1t ++ vtbl.8 q2#hi, {q0}, q3#hi ++ veor q4, q4, q5 @ vpxor %xmm5, %xmm4, %xmm4 # 4 = sb1u + k ++ veor q2, q2, q4 @ vpxor %xmm4, %xmm0, %xmm0 # 0 = A ++ @ Here we restore the original q0/q2 usage. ++ vtbl.8 q0#lo, {q2}, q1#lo @ vpshufb %xmm1, %xmm0, %xmm0 ++ vtbl.8 q0#hi, {q2}, q1#hi ++ bx lr ++.size _vpaes_encrypt_core,.-_vpaes_encrypt_core ++ ++.globl GFp_vpaes_encrypt ++.type GFp_vpaes_encrypt,%function ++.align 4 ++GFp_vpaes_encrypt: ++ @ _vpaes_encrypt_core uses r8-r11. Round up to r7-r11 to maintain stack ++ @ alignment. ++ stmdb sp!, {r7-r11,lr} ++ @ _vpaes_encrypt_core uses q4-q5 (d8-d11), which are callee-saved. ++ vstmdb sp!, {d8-d11} ++ ++ vld1.64 {q0}, [$inp] ++ bl _vpaes_preheat ++ bl _vpaes_encrypt_core ++ vst1.64 {q0}, [$out] ++ ++ vldmia sp!, {d8-d11} ++ ldmia sp!, {r7-r11, pc} @ return ++.size GFp_vpaes_encrypt,.-GFp_vpaes_encrypt ++___ ++} ++{ ++my ($inp,$bits,$out,$dir)=("r0","r1","r2","r3"); ++my ($rcon,$s0F,$invlo,$invhi,$s63) = map("q$_",(8..12)); ++ ++$code.=<<___; ++@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ ++@@ @@ ++@@ AES key schedule @@ ++@@ @@ ++@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ ++ ++@ This function diverges from both x86_64 and armv7 in which constants are ++@ pinned. x86_64 has a common preheat function for all operations. aarch64 ++@ separates them because it has enough registers to pin nearly all constants. ++@ armv7 does not have enough registers, but needing explicit loads and stores ++@ also complicates using x86_64's register allocation directly. ++@ ++@ We pin some constants for convenience and leave q14 and q15 free to load ++@ others on demand. ++ ++@ ++@ Key schedule constants ++@ ++.type _vpaes_key_consts,%object ++.align 4 ++_vpaes_key_consts: ++.Lk_rcon: @ rcon ++ .quad 0x1F8391B9AF9DEEB6, 0x702A98084D7C7D81 ++ ++.Lk_opt: @ output transform ++ .quad 0xFF9F4929D6B66000, 0xF7974121DEBE6808 ++ .quad 0x01EDBD5150BCEC00, 0xE10D5DB1B05C0CE0 ++.Lk_deskew: @ deskew tables: inverts the sbox's "skew" ++ .quad 0x07E4A34047A4E300, 0x1DFEB95A5DBEF91A ++ .quad 0x5F36B5DC83EA6900, 0x2841C2ABF49D1E77 ++.size _vpaes_key_consts,.-_vpaes_key_consts ++ ++.type _vpaes_key_preheat,%function ++.align 4 ++_vpaes_key_preheat: ++ adr r11, .Lk_rcon ++ vmov.i8 $s63, #0x5b @ .Lk_s63 ++ adr r10, .Lk_inv @ Must be aligned to 8 mod 16. ++ vmov.i8 $s0F, #0x0f @ .Lk_s0F ++ vld1.64 {$invlo,$invhi}, [r10] @ .Lk_inv ++ vld1.64 {$rcon}, [r11] @ .Lk_rcon ++ bx lr ++.size _vpaes_key_preheat,.-_vpaes_key_preheat ++ ++.type _vpaes_schedule_core,%function ++.align 4 ++_vpaes_schedule_core: ++ @ We only need to save lr, but ARM requires an 8-byte stack alignment, ++ @ so save an extra register. ++ stmdb sp!, {r3,lr} ++ ++ bl _vpaes_key_preheat @ load the tables ++ ++ adr r11, .Lk_ipt @ Must be aligned to 8 mod 16. ++ vld1.64 {q0}, [$inp]! @ vmovdqu (%rdi), %xmm0 # load key (unaligned) ++ ++ @ input transform ++ @ Use q4 here rather than q3 so .Lschedule_am_decrypting does not ++ @ overlap table and destination. ++ vmov q4, q0 @ vmovdqa %xmm0, %xmm3 ++ bl _vpaes_schedule_transform ++ adr r10, .Lk_sr @ Must be aligned to 8 mod 16. ++ vmov q7, q0 @ vmovdqa %xmm0, %xmm7 ++ ++ add r8, r8, r10 ++ ++ @ encrypting, output zeroth round key after transform ++ vst1.64 {q0}, [$out] @ vmovdqu %xmm0, (%rdx) ++ ++ @ *ring*: Decryption removed. ++ ++.Lschedule_go: ++ cmp $bits, #192 @ cmp \$192, %esi ++ bhi .Lschedule_256 ++ @ 128: fall though ++ ++@@ ++@@ .schedule_128 ++@@ ++@@ 128-bit specific part of key schedule. ++@@ ++@@ This schedule is really simple, because all its parts ++@@ are accomplished by the subroutines. ++@@ ++.Lschedule_128: ++ mov $inp, #10 @ mov \$10, %esi ++ ++.Loop_schedule_128: ++ bl _vpaes_schedule_round ++ subs $inp, $inp, #1 @ dec %esi ++ beq .Lschedule_mangle_last ++ bl _vpaes_schedule_mangle @ write output ++ b .Loop_schedule_128 ++ ++@@ ++@@ .aes_schedule_256 ++@@ ++@@ 256-bit specific part of key schedule. ++@@ ++@@ The structure here is very similar to the 128-bit ++@@ schedule, but with an additional "low side" in ++@@ q6. The low side's rounds are the same as the ++@@ high side's, except no rcon and no rotation. ++@@ ++.align 4 ++.Lschedule_256: ++ vld1.64 {q0}, [$inp] @ vmovdqu 16(%rdi),%xmm0 # load key part 2 (unaligned) ++ bl _vpaes_schedule_transform @ input transform ++ mov $inp, #7 @ mov \$7, %esi ++ ++.Loop_schedule_256: ++ bl _vpaes_schedule_mangle @ output low result ++ vmov q6, q0 @ vmovdqa %xmm0, %xmm6 # save cur_lo in xmm6 ++ ++ @ high round ++ bl _vpaes_schedule_round ++ subs $inp, $inp, #1 @ dec %esi ++ beq .Lschedule_mangle_last ++ bl _vpaes_schedule_mangle ++ ++ @ low round. swap xmm7 and xmm6 ++ vdup.32 q0, q0#hi[1] @ vpshufd \$0xFF, %xmm0, %xmm0 ++ vmov.i8 q4, #0 ++ vmov q5, q7 @ vmovdqa %xmm7, %xmm5 ++ vmov q7, q6 @ vmovdqa %xmm6, %xmm7 ++ bl _vpaes_schedule_low_round ++ vmov q7, q5 @ vmovdqa %xmm5, %xmm7 ++ ++ b .Loop_schedule_256 ++ ++@@ ++@@ .aes_schedule_mangle_last ++@@ ++@@ Mangler for last round of key schedule ++@@ Mangles q0 ++@@ when encrypting, outputs out(q0) ^ 63 ++@@ when decrypting, outputs unskew(q0) ++@@ ++@@ Always called right before return... jumps to cleanup and exits ++@@ ++.align 4 ++.Lschedule_mangle_last: ++ @ schedule last round key from xmm0 ++ adr r11, .Lk_deskew @ lea .Lk_deskew(%rip),%r11 # prepare to deskew ++ ++ @ encrypting ++ vld1.64 {q1}, [r8] @ vmovdqa (%r8,%r10),%xmm1 ++ adr r11, .Lk_opt @ lea .Lk_opt(%rip), %r11 # prepare to output transform ++ add $out, $out, #32 @ add \$32, %rdx ++ vmov q2, q0 ++ vtbl.8 q0#lo, {q2}, q1#lo @ vpshufb %xmm1, %xmm0, %xmm0 # output permute ++ vtbl.8 q0#hi, {q2}, q1#hi ++ ++.Lschedule_mangle_last_dec: ++ sub $out, $out, #16 @ add \$-16, %rdx ++ veor q0, q0, $s63 @ vpxor .Lk_s63(%rip), %xmm0, %xmm0 ++ bl _vpaes_schedule_transform @ output transform ++ vst1.64 {q0}, [$out] @ vmovdqu %xmm0, (%rdx) # save last key ++ ++ @ cleanup ++ veor q0, q0, q0 @ vpxor %xmm0, %xmm0, %xmm0 ++ veor q1, q1, q1 @ vpxor %xmm1, %xmm1, %xmm1 ++ veor q2, q2, q2 @ vpxor %xmm2, %xmm2, %xmm2 ++ veor q3, q3, q3 @ vpxor %xmm3, %xmm3, %xmm3 ++ veor q4, q4, q4 @ vpxor %xmm4, %xmm4, %xmm4 ++ veor q5, q5, q5 @ vpxor %xmm5, %xmm5, %xmm5 ++ veor q6, q6, q6 @ vpxor %xmm6, %xmm6, %xmm6 ++ veor q7, q7, q7 @ vpxor %xmm7, %xmm7, %xmm7 ++ ldmia sp!, {r3,pc} @ return ++.size _vpaes_schedule_core,.-_vpaes_schedule_core ++ ++@@ ++@@ .aes_schedule_round ++@@ ++@@ Runs one main round of the key schedule on q0, q7 ++@@ ++@@ Specifically, runs subbytes on the high dword of q0 ++@@ then rotates it by one byte and xors into the low dword of ++@@ q7. ++@@ ++@@ Adds rcon from low byte of q8, then rotates q8 for ++@@ next rcon. ++@@ ++@@ Smears the dwords of q7 by xoring the low into the ++@@ second low, result into third, result into highest. ++@@ ++@@ Returns results in q7 = q0. ++@@ Clobbers q1-q4, r11. ++@@ ++.type _vpaes_schedule_round,%function ++.align 4 ++_vpaes_schedule_round: ++ @ extract rcon from xmm8 ++ vmov.i8 q4, #0 @ vpxor %xmm4, %xmm4, %xmm4 ++ vext.8 q1, $rcon, q4, #15 @ vpalignr \$15, %xmm8, %xmm4, %xmm1 ++ vext.8 $rcon, $rcon, $rcon, #15 @ vpalignr \$15, %xmm8, %xmm8, %xmm8 ++ veor q7, q7, q1 @ vpxor %xmm1, %xmm7, %xmm7 ++ ++ @ rotate ++ vdup.32 q0, q0#hi[1] @ vpshufd \$0xFF, %xmm0, %xmm0 ++ vext.8 q0, q0, q0, #1 @ vpalignr \$1, %xmm0, %xmm0, %xmm0 ++ ++ @ fall through... ++ ++ @ low round: same as high round, but no rotation and no rcon. ++_vpaes_schedule_low_round: ++ @ The x86_64 version pins .Lk_sb1 in %xmm13 and .Lk_sb1+16 in %xmm12. ++ @ We pin other values in _vpaes_key_preheat, so load them now. ++ adr r11, .Lk_sb1 ++ vld1.64 {q14,q15}, [r11] ++ ++ @ smear xmm7 ++ vext.8 q1, q4, q7, #12 @ vpslldq \$4, %xmm7, %xmm1 ++ veor q7, q7, q1 @ vpxor %xmm1, %xmm7, %xmm7 ++ vext.8 q4, q4, q7, #8 @ vpslldq \$8, %xmm7, %xmm4 ++ ++ @ subbytes ++ vand q1, q0, $s0F @ vpand %xmm9, %xmm0, %xmm1 # 0 = k ++ vshr.u8 q0, q0, #4 @ vpsrlb \$4, %xmm0, %xmm0 # 1 = i ++ veor q7, q7, q4 @ vpxor %xmm4, %xmm7, %xmm7 ++ vtbl.8 q2#lo, {$invhi}, q1#lo @ vpshufb %xmm1, %xmm11, %xmm2 # 2 = a/k ++ vtbl.8 q2#hi, {$invhi}, q1#hi ++ veor q1, q1, q0 @ vpxor %xmm0, %xmm1, %xmm1 # 0 = j ++ vtbl.8 q3#lo, {$invlo}, q0#lo @ vpshufb %xmm0, %xmm10, %xmm3 # 3 = 1/i ++ vtbl.8 q3#hi, {$invlo}, q0#hi ++ veor q3, q3, q2 @ vpxor %xmm2, %xmm3, %xmm3 # 3 = iak = 1/i + a/k ++ vtbl.8 q4#lo, {$invlo}, q1#lo @ vpshufb %xmm1, %xmm10, %xmm4 # 4 = 1/j ++ vtbl.8 q4#hi, {$invlo}, q1#hi ++ veor q7, q7, $s63 @ vpxor .Lk_s63(%rip), %xmm7, %xmm7 ++ vtbl.8 q3#lo, {$invlo}, q3#lo @ vpshufb %xmm3, %xmm10, %xmm3 # 2 = 1/iak ++ vtbl.8 q3#hi, {$invlo}, q3#hi ++ veor q4, q4, q2 @ vpxor %xmm2, %xmm4, %xmm4 # 4 = jak = 1/j + a/k ++ vtbl.8 q2#lo, {$invlo}, q4#lo @ vpshufb %xmm4, %xmm10, %xmm2 # 3 = 1/jak ++ vtbl.8 q2#hi, {$invlo}, q4#hi ++ veor q3, q3, q1 @ vpxor %xmm1, %xmm3, %xmm3 # 2 = io ++ veor q2, q2, q0 @ vpxor %xmm0, %xmm2, %xmm2 # 3 = jo ++ vtbl.8 q4#lo, {q15}, q3#lo @ vpshufb %xmm3, %xmm13, %xmm4 # 4 = sbou ++ vtbl.8 q4#hi, {q15}, q3#hi ++ vtbl.8 q1#lo, {q14}, q2#lo @ vpshufb %xmm2, %xmm12, %xmm1 # 0 = sb1t ++ vtbl.8 q1#hi, {q14}, q2#hi ++ veor q1, q1, q4 @ vpxor %xmm4, %xmm1, %xmm1 # 0 = sbox output ++ ++ @ add in smeared stuff ++ veor q0, q1, q7 @ vpxor %xmm7, %xmm1, %xmm0 ++ veor q7, q1, q7 @ vmovdqa %xmm0, %xmm7 ++ bx lr ++.size _vpaes_schedule_round,.-_vpaes_schedule_round ++ ++@@ ++@@ .aes_schedule_transform ++@@ ++@@ Linear-transform q0 according to tables at [r11] ++@@ ++@@ Requires that q9 = 0x0F0F... as in preheat ++@@ Output in q0 ++@@ Clobbers q1, q2, q14, q15 ++@@ ++.type _vpaes_schedule_transform,%function ++.align 4 ++_vpaes_schedule_transform: ++ vld1.64 {q14,q15}, [r11] @ vmovdqa (%r11), %xmm2 # lo ++ @ vmovdqa 16(%r11), %xmm1 # hi ++ vand q1, q0, $s0F @ vpand %xmm9, %xmm0, %xmm1 ++ vshr.u8 q0, q0, #4 @ vpsrlb \$4, %xmm0, %xmm0 ++ vtbl.8 q2#lo, {q14}, q1#lo @ vpshufb %xmm1, %xmm2, %xmm2 ++ vtbl.8 q2#hi, {q14}, q1#hi ++ vtbl.8 q0#lo, {q15}, q0#lo @ vpshufb %xmm0, %xmm1, %xmm0 ++ vtbl.8 q0#hi, {q15}, q0#hi ++ veor q0, q0, q2 @ vpxor %xmm2, %xmm0, %xmm0 ++ bx lr ++.size _vpaes_schedule_transform,.-_vpaes_schedule_transform ++ ++@@ ++@@ .aes_schedule_mangle ++@@ ++@@ Mangles q0 from (basis-transformed) standard version ++@@ to our version. ++@@ ++@@ On encrypt, ++@@ xor with 0x63 ++@@ multiply by circulant 0,1,1,1 ++@@ apply shiftrows transform ++@@ ++@@ On decrypt, ++@@ xor with 0x63 ++@@ multiply by "inverse mixcolumns" circulant E,B,D,9 ++@@ deskew ++@@ apply shiftrows transform ++@@ ++@@ ++@@ Writes out to [r2], and increments or decrements it ++@@ Keeps track of round number mod 4 in r8 ++@@ Preserves q0 ++@@ Clobbers q1-q5 ++@@ ++.type _vpaes_schedule_mangle,%function ++.align 4 ++_vpaes_schedule_mangle: ++ tst $dir, $dir ++ vmov q4, q0 @ vmovdqa %xmm0, %xmm4 # save xmm0 for later ++ adr r11, .Lk_mc_forward @ Must be aligned to 8 mod 16. ++ vld1.64 {q5}, [r11] @ vmovdqa .Lk_mc_forward(%rip),%xmm5 ++ ++ @ encrypting ++ @ Write to q2 so we do not overlap table and destination below. ++ veor q2, q0, $s63 @ vpxor .Lk_s63(%rip), %xmm0, %xmm4 ++ add $out, $out, #16 @ add \$16, %rdx ++ vtbl.8 q4#lo, {q2}, q5#lo @ vpshufb %xmm5, %xmm4, %xmm4 ++ vtbl.8 q4#hi, {q2}, q5#hi ++ vtbl.8 q1#lo, {q4}, q5#lo @ vpshufb %xmm5, %xmm4, %xmm1 ++ vtbl.8 q1#hi, {q4}, q5#hi ++ vtbl.8 q3#lo, {q1}, q5#lo @ vpshufb %xmm5, %xmm1, %xmm3 ++ vtbl.8 q3#hi, {q1}, q5#hi ++ veor q4, q4, q1 @ vpxor %xmm1, %xmm4, %xmm4 ++ vld1.64 {q1}, [r8] @ vmovdqa (%r8,%r10), %xmm1 ++ veor q3, q3, q4 @ vpxor %xmm4, %xmm3, %xmm3 ++ ++.Lschedule_mangle_both: ++ @ Write to q2 so table and destination do not overlap. ++ vtbl.8 q2#lo, {q3}, q1#lo @ vpshufb %xmm1, %xmm3, %xmm3 ++ vtbl.8 q2#hi, {q3}, q1#hi ++ add r8, r8, #64-16 @ add \$-16, %r8 ++ and r8, r8, #~(1<<6) @ and \$0x30, %r8 ++ vst1.64 {q2}, [$out] @ vmovdqu %xmm3, (%rdx) ++ bx lr ++.size _vpaes_schedule_mangle,.-_vpaes_schedule_mangle ++ ++.globl GFp_vpaes_set_encrypt_key ++.type GFp_vpaes_set_encrypt_key,%function ++.align 4 ++GFp_vpaes_set_encrypt_key: ++ stmdb sp!, {r7-r11, lr} ++ vstmdb sp!, {d8-d15} ++ ++ lsr r9, $bits, #5 @ shr \$5,%eax ++ add r9, r9, #5 @ \$5,%eax ++ str r9, [$out,#240] @ mov %eax,240(%rdx) # AES_KEY->rounds = nbits/32+5; ++ ++ mov $dir, #0 @ mov \$0,%ecx ++ mov r8, #0x30 @ mov \$0x30,%r8d ++ bl _vpaes_schedule_core ++ eor r0, r0, r0 ++ ++ vldmia sp!, {d8-d15} ++ ldmia sp!, {r7-r11, pc} @ return ++.size GFp_vpaes_set_encrypt_key,.-GFp_vpaes_set_encrypt_key ++___ ++} ++ ++{ ++my ($out, $inp) = map("r$_", (0..1)); ++my ($s0F, $s63, $s63_raw, $mc_forward) = map("q$_", (9..12)); ++ ++$code .= <<___; ++ ++@ Additional constants for converting to bsaes. ++.type _vpaes_convert_consts,%object ++.align 4 ++_vpaes_convert_consts: ++@ .Lk_opt_then_skew applies skew(opt(x)) XOR 0x63, where skew is the linear ++@ transform in the AES S-box. 0x63 is incorporated into the low half of the ++@ table. This was computed with the following script: ++@ ++@ def u64s_to_u128(x, y): ++@ return x | (y << 64) ++@ def u128_to_u64s(w): ++@ return w & ((1<<64)-1), w >> 64 ++@ def get_byte(w, i): ++@ return (w >> (i*8)) & 0xff ++@ def apply_table(table, b): ++@ lo = b & 0xf ++@ hi = b >> 4 ++@ return get_byte(table[0], lo) ^ get_byte(table[1], hi) ++@ def opt(b): ++@ table = [ ++@ u64s_to_u128(0xFF9F4929D6B66000, 0xF7974121DEBE6808), ++@ u64s_to_u128(0x01EDBD5150BCEC00, 0xE10D5DB1B05C0CE0), ++@ ] ++@ return apply_table(table, b) ++@ def rot_byte(b, n): ++@ return 0xff & ((b << n) | (b >> (8-n))) ++@ def skew(x): ++@ return (x ^ rot_byte(x, 1) ^ rot_byte(x, 2) ^ rot_byte(x, 3) ^ ++@ rot_byte(x, 4)) ++@ table = [0, 0] ++@ for i in range(16): ++@ table[0] |= (skew(opt(i)) ^ 0x63) << (i*8) ++@ table[1] |= skew(opt(i<<4)) << (i*8) ++@ print("\t.quad\t0x%016x, 0x%016x" % u128_to_u64s(table[0])) ++@ print("\t.quad\t0x%016x, 0x%016x" % u128_to_u64s(table[1])) ++.Lk_opt_then_skew: ++ .quad 0x9cb8436798bc4763, 0x6440bb9f6044bf9b ++ .quad 0x1f30062936192f00, 0xb49bad829db284ab ++ ++@ void GFp_vpaes_encrypt_key_to_bsaes(AES_KEY *bsaes, const AES_KEY *vpaes); ++.globl GFp_vpaes_encrypt_key_to_bsaes ++.type GFp_vpaes_encrypt_key_to_bsaes,%function ++.align 4 ++GFp_vpaes_encrypt_key_to_bsaes: ++ stmdb sp!, {r11, lr} ++ ++ @ See _vpaes_schedule_core for the key schedule logic. In particular, ++ @ _vpaes_schedule_transform(.Lk_ipt) (section 2.2 of the paper), ++ @ _vpaes_schedule_mangle (section 4.3), and .Lschedule_mangle_last ++ @ contain the transformations not in the bsaes representation. This ++ @ function inverts those transforms. ++ @ ++ @ Note also that bsaes-armv7.pl expects aes-armv4.pl's key ++ @ representation, which does not match the other aes_nohw_* ++ @ implementations. The ARM aes_nohw_* stores each 32-bit word ++ @ byteswapped, as a convenience for (unsupported) big-endian ARM, at the ++ @ cost of extra REV and VREV32 operations in little-endian ARM. ++ ++ vmov.i8 $s0F, #0x0f @ Required by _vpaes_schedule_transform ++ adr r2, .Lk_mc_forward @ Must be aligned to 8 mod 16. ++ add r3, r2, 0x90 @ .Lk_sr+0x10-.Lk_mc_forward = 0x90 (Apple's toolchain doesn't support the expression) ++ ++ vld1.64 {$mc_forward}, [r2] ++ vmov.i8 $s63, #0x5b @ .Lk_s63 from vpaes-x86_64 ++ adr r11, .Lk_opt @ Must be aligned to 8 mod 16. ++ vmov.i8 $s63_raw, #0x63 @ .LK_s63 without .Lk_ipt applied ++ ++ @ vpaes stores one fewer round count than bsaes, but the number of keys ++ @ is the same. ++ ldr r2, [$inp,#240] ++ add r2, r2, #1 ++ str r2, [$out,#240] ++ ++ @ The first key is transformed with _vpaes_schedule_transform(.Lk_ipt). ++ @ Invert this with .Lk_opt. ++ vld1.64 {q0}, [$inp]! ++ bl _vpaes_schedule_transform ++ vrev32.8 q0, q0 ++ vst1.64 {q0}, [$out]! ++ ++ @ The middle keys have _vpaes_schedule_transform(.Lk_ipt) applied, ++ @ followed by _vpaes_schedule_mangle. _vpaes_schedule_mangle XORs 0x63, ++ @ multiplies by the circulant 0,1,1,1, then applies ShiftRows. ++.Loop_enc_key_to_bsaes: ++ vld1.64 {q0}, [$inp]! ++ ++ @ Invert the ShiftRows step (see .Lschedule_mangle_both). Note we cycle ++ @ r3 in the opposite direction and start at .Lk_sr+0x10 instead of 0x30. ++ @ We use r3 rather than r8 to avoid a callee-saved register. ++ vld1.64 {q1}, [r3] ++ vtbl.8 q2#lo, {q0}, q1#lo ++ vtbl.8 q2#hi, {q0}, q1#hi ++ add r3, r3, #16 ++ and r3, r3, #~(1<<6) ++ vmov q0, q2 ++ ++ @ Handle the last key differently. ++ subs r2, r2, #1 ++ beq .Loop_enc_key_to_bsaes_last ++ ++ @ Multiply by the circulant. This is its own inverse. ++ vtbl.8 q1#lo, {q0}, $mc_forward#lo ++ vtbl.8 q1#hi, {q0}, $mc_forward#hi ++ vmov q0, q1 ++ vtbl.8 q2#lo, {q1}, $mc_forward#lo ++ vtbl.8 q2#hi, {q1}, $mc_forward#hi ++ veor q0, q0, q2 ++ vtbl.8 q1#lo, {q2}, $mc_forward#lo ++ vtbl.8 q1#hi, {q2}, $mc_forward#hi ++ veor q0, q0, q1 ++ ++ @ XOR and finish. ++ veor q0, q0, $s63 ++ bl _vpaes_schedule_transform ++ vrev32.8 q0, q0 ++ vst1.64 {q0}, [$out]! ++ b .Loop_enc_key_to_bsaes ++ ++.Loop_enc_key_to_bsaes_last: ++ @ The final key does not have a basis transform (note ++ @ .Lschedule_mangle_last inverts the original transform). It only XORs ++ @ 0x63 and applies ShiftRows. The latter was already inverted in the ++ @ loop. Note that, because we act on the original representation, we use ++ @ $s63_raw, not $s63. ++ veor q0, q0, $s63_raw ++ vrev32.8 q0, q0 ++ vst1.64 {q0}, [$out] ++ ++ @ Wipe registers which contained key material. ++ veor q0, q0, q0 ++ veor q1, q1, q1 ++ veor q2, q2, q2 ++ ++ ldmia sp!, {r11, pc} @ return ++.size GFp_vpaes_encrypt_key_to_bsaes,.-GFp_vpaes_encrypt_key_to_bsaes ++___ ++} ++ ++{ ++# Register-passed parameters. ++my ($inp, $out, $len, $key) = map("r$_", 0..3); ++# Temporaries. _vpaes_encrypt_core already uses r8..r11, so overlap $ivec and ++# $tmp. $ctr is r7 because it must be preserved across calls. ++my ($ctr, $ivec, $tmp) = map("r$_", 7..9); ++ ++# void vpaes_ctr32_encrypt_blocks(const uint8_t *in, uint8_t *out, size_t len, ++# const AES_KEY *key, const uint8_t ivec[16]); ++$code .= <<___; ++.globl GFp_vpaes_ctr32_encrypt_blocks ++.type GFp_vpaes_ctr32_encrypt_blocks,%function ++.align 4 ++GFp_vpaes_ctr32_encrypt_blocks: ++ mov ip, sp ++ stmdb sp!, {r7-r11, lr} ++ @ This function uses q4-q7 (d8-d15), which are callee-saved. ++ vstmdb sp!, {d8-d15} ++ ++ cmp $len, #0 ++ @ $ivec is passed on the stack. ++ ldr $ivec, [ip] ++ beq .Lctr32_done ++ ++ @ _vpaes_encrypt_core expects the key in r2, so swap $len and $key. ++ mov $tmp, $key ++ mov $key, $len ++ mov $len, $tmp ++___ ++my ($len, $key) = ($key, $len); ++$code .= <<___; ++ ++ @ Load the IV and counter portion. ++ ldr $ctr, [$ivec, #12] ++ vld1.8 {q7}, [$ivec] ++ ++ bl _vpaes_preheat ++ rev $ctr, $ctr @ The counter is big-endian. ++ ++.Lctr32_loop: ++ vmov q0, q7 ++ vld1.8 {q6}, [$inp]! @ Load input ahead of time ++ bl _vpaes_encrypt_core ++ veor q0, q0, q6 @ XOR input and result ++ vst1.8 {q0}, [$out]! ++ subs $len, $len, #1 ++ @ Update the counter. ++ add $ctr, $ctr, #1 ++ rev $tmp, $ctr ++ vmov.32 q7#hi[1], $tmp ++ bne .Lctr32_loop ++ ++.Lctr32_done: ++ vldmia sp!, {d8-d15} ++ ldmia sp!, {r7-r11, pc} @ return ++.size GFp_vpaes_ctr32_encrypt_blocks,.-GFp_vpaes_ctr32_encrypt_blocks ++___ ++} ++ ++foreach (split("\n",$code)) { ++ s/\bq([0-9]+)#(lo|hi)/sprintf "d%d",2*$1+($2 eq "hi")/geo; ++ print $_,"\n"; ++} ++ ++close STDOUT; +diff --git a/crypto/fipsmodule/aes/asm/vpaes-armv8.pl b/crypto/fipsmodule/aes/asm/vpaes-armv8.pl +new file mode 100755 +index 0000000..b31bbb8 +--- /dev/null ++++ b/crypto/fipsmodule/aes/asm/vpaes-armv8.pl +@@ -0,0 +1,837 @@ ++#! /usr/bin/env perl ++# Copyright 2015-2016 The OpenSSL Project Authors. All Rights Reserved. ++# ++# Licensed under the OpenSSL license (the "License"). You may not use ++# this file except in compliance with the License. You can obtain a copy ++# in the file LICENSE in the source distribution or at ++# https://www.openssl.org/source/license.html ++ ++ ++###################################################################### ++## Constant-time SSSE3 AES core implementation. ++## version 0.1 ++## ++## By Mike Hamburg (Stanford University), 2009 ++## Public domain. ++## ++## For details see http://shiftleft.org/papers/vector_aes/ and ++## http://crypto.stanford.edu/vpaes/. ++## ++###################################################################### ++# ARMv8 NEON adaptation by <appro@openssl.org> ++# ++# Reason for undertaken effort is that there is at least one popular ++# SoC based on Cortex-A53 that doesn't have crypto extensions. ++# ++# CBC enc ECB enc/dec(*) [bit-sliced enc/dec] ++# Cortex-A53 21.5 18.1/20.6 [17.5/19.8 ] ++# Cortex-A57 36.0(**) 20.4/24.9(**) [14.4/16.6 ] ++# X-Gene 45.9(**) 45.8/57.7(**) [33.1/37.6(**) ] ++# Denver(***) 16.6(**) 15.1/17.8(**) [8.80/9.93 ] ++# Apple A7(***) 22.7(**) 10.9/14.3 [8.45/10.0 ] ++# Mongoose(***) 26.3(**) 21.0/25.0(**) [13.3/16.8 ] ++# ++# (*) ECB denotes approximate result for parallelizable modes ++# such as CBC decrypt, CTR, etc.; ++# (**) these results are worse than scalar compiler-generated ++# code, but it's constant-time and therefore preferred; ++# (***) presented for reference/comparison purposes; ++ ++$flavour = shift; ++while (($output=shift) && ($output!~/\w[\w\-]*\.\w+$/)) {} ++ ++$0 =~ m/(.*[\/\\])[^\/\\]+$/; $dir=$1; ++( $xlate="${dir}arm-xlate.pl" and -f $xlate ) or ++( $xlate="${dir}../../../perlasm/arm-xlate.pl" and -f $xlate) or ++die "can't locate arm-xlate.pl"; ++ ++open OUT,"| \"$^X\" $xlate $flavour $output"; ++*STDOUT=*OUT; ++ ++$code.=<<___; ++#include <GFp/arm_arch.h> ++ ++.section .rodata ++ ++.type _vpaes_consts,%object ++.align 7 // totally strategic alignment ++_vpaes_consts: ++.Lk_mc_forward: // mc_forward ++ .quad 0x0407060500030201, 0x0C0F0E0D080B0A09 ++ .quad 0x080B0A0904070605, 0x000302010C0F0E0D ++ .quad 0x0C0F0E0D080B0A09, 0x0407060500030201 ++ .quad 0x000302010C0F0E0D, 0x080B0A0904070605 ++.Lk_mc_backward:// mc_backward ++ .quad 0x0605040702010003, 0x0E0D0C0F0A09080B ++ .quad 0x020100030E0D0C0F, 0x0A09080B06050407 ++ .quad 0x0E0D0C0F0A09080B, 0x0605040702010003 ++ .quad 0x0A09080B06050407, 0x020100030E0D0C0F ++.Lk_sr: // sr ++ .quad 0x0706050403020100, 0x0F0E0D0C0B0A0908 ++ .quad 0x030E09040F0A0500, 0x0B06010C07020D08 ++ .quad 0x0F060D040B020900, 0x070E050C030A0108 ++ .quad 0x0B0E0104070A0D00, 0x0306090C0F020508 ++ ++// ++// "Hot" constants ++// ++.Lk_inv: // inv, inva ++ .quad 0x0E05060F0D080180, 0x040703090A0B0C02 ++ .quad 0x01040A060F0B0780, 0x030D0E0C02050809 ++.Lk_ipt: // input transform (lo, hi) ++ .quad 0xC2B2E8985A2A7000, 0xCABAE09052227808 ++ .quad 0x4C01307D317C4D00, 0xCD80B1FCB0FDCC81 ++.Lk_sbo: // sbou, sbot ++ .quad 0xD0D26D176FBDC700, 0x15AABF7AC502A878 ++ .quad 0xCFE474A55FBB6A00, 0x8E1E90D1412B35FA ++.Lk_sb1: // sb1u, sb1t ++ .quad 0x3618D415FAE22300, 0x3BF7CCC10D2ED9EF ++ .quad 0xB19BE18FCB503E00, 0xA5DF7A6E142AF544 ++.Lk_sb2: // sb2u, sb2t ++ .quad 0x69EB88400AE12900, 0xC2A163C8AB82234A ++ .quad 0xE27A93C60B712400, 0x5EB7E955BC982FCD ++ ++// ++// Key schedule constants ++// ++.Lk_dksd: // decryption key schedule: invskew x*D ++ .quad 0xFEB91A5DA3E44700, 0x0740E3A45A1DBEF9 ++ .quad 0x41C277F4B5368300, 0x5FDC69EAAB289D1E ++.Lk_dksb: // decryption key schedule: invskew x*B ++ .quad 0x9A4FCA1F8550D500, 0x03D653861CC94C99 ++ .quad 0x115BEDA7B6FC4A00, 0xD993256F7E3482C8 ++.Lk_dkse: // decryption key schedule: invskew x*E + 0x63 ++ .quad 0xD5031CCA1FC9D600, 0x53859A4C994F5086 ++ .quad 0xA23196054FDC7BE8, 0xCD5EF96A20B31487 ++.Lk_dks9: // decryption key schedule: invskew x*9 ++ .quad 0xB6116FC87ED9A700, 0x4AED933482255BFC ++ .quad 0x4576516227143300, 0x8BB89FACE9DAFDCE ++ ++.Lk_rcon: // rcon ++ .quad 0x1F8391B9AF9DEEB6, 0x702A98084D7C7D81 ++ ++.Lk_opt: // output transform ++ .quad 0xFF9F4929D6B66000, 0xF7974121DEBE6808 ++ .quad 0x01EDBD5150BCEC00, 0xE10D5DB1B05C0CE0 ++.Lk_deskew: // deskew tables: inverts the sbox's "skew" ++ .quad 0x07E4A34047A4E300, 0x1DFEB95A5DBEF91A ++ .quad 0x5F36B5DC83EA6900, 0x2841C2ABF49D1E77 ++ ++.asciz "Vector Permutation AES for ARMv8, Mike Hamburg (Stanford University)" ++.size _vpaes_consts,.-_vpaes_consts ++.align 6 ++ ++.text ++___ ++ ++{ ++my ($inp,$out,$key) = map("x$_",(0..2)); ++ ++my ($invlo,$invhi,$iptlo,$ipthi,$sbou,$sbot) = map("v$_.16b",(18..23)); ++my ($sb1u,$sb1t,$sb2u,$sb2t) = map("v$_.16b",(24..27)); ++my ($sb9u,$sb9t,$sbdu,$sbdt,$sbbu,$sbbt,$sbeu,$sbet)=map("v$_.16b",(24..31)); ++ ++$code.=<<___; ++## ++## _aes_preheat ++## ++## Fills register %r10 -> .aes_consts (so you can -fPIC) ++## and %xmm9-%xmm15 as specified below. ++## ++.type _vpaes_encrypt_preheat,%function ++.align 4 ++_vpaes_encrypt_preheat: ++ adrp x10, :pg_hi21:.Lk_inv ++ add x10, x10, :lo12:.Lk_inv ++ movi v17.16b, #0x0f ++ ld1 {v18.2d-v19.2d}, [x10],#32 // .Lk_inv ++ ld1 {v20.2d-v23.2d}, [x10],#64 // .Lk_ipt, .Lk_sbo ++ ld1 {v24.2d-v27.2d}, [x10] // .Lk_sb1, .Lk_sb2 ++ ret ++.size _vpaes_encrypt_preheat,.-_vpaes_encrypt_preheat ++ ++## ++## _aes_encrypt_core ++## ++## AES-encrypt %xmm0. ++## ++## Inputs: ++## %xmm0 = input ++## %xmm9-%xmm15 as in _vpaes_preheat ++## (%rdx) = scheduled keys ++## ++## Output in %xmm0 ++## Clobbers %xmm1-%xmm5, %r9, %r10, %r11, %rax ++## Preserves %xmm6 - %xmm8 so you get some local vectors ++## ++## ++.type _vpaes_encrypt_core,%function ++.align 4 ++_vpaes_encrypt_core: ++ mov x9, $key ++ ldr w8, [$key,#240] // pull rounds ++ adrp x11, :pg_hi21:.Lk_mc_forward+16 ++ add x11, x11, :lo12:.Lk_mc_forward+16 ++ // vmovdqa .Lk_ipt(%rip), %xmm2 # iptlo ++ ld1 {v16.2d}, [x9], #16 // vmovdqu (%r9), %xmm5 # round0 key ++ and v1.16b, v7.16b, v17.16b // vpand %xmm9, %xmm0, %xmm1 ++ ushr v0.16b, v7.16b, #4 // vpsrlb \$4, %xmm0, %xmm0 ++ tbl v1.16b, {$iptlo}, v1.16b // vpshufb %xmm1, %xmm2, %xmm1 ++ // vmovdqa .Lk_ipt+16(%rip), %xmm3 # ipthi ++ tbl v2.16b, {$ipthi}, v0.16b // vpshufb %xmm0, %xmm3, %xmm2 ++ eor v0.16b, v1.16b, v16.16b // vpxor %xmm5, %xmm1, %xmm0 ++ eor v0.16b, v0.16b, v2.16b // vpxor %xmm2, %xmm0, %xmm0 ++ b .Lenc_entry ++ ++.align 4 ++.Lenc_loop: ++ // middle of middle round ++ add x10, x11, #0x40 ++ tbl v4.16b, {$sb1t}, v2.16b // vpshufb %xmm2, %xmm13, %xmm4 # 4 = sb1u ++ ld1 {v1.2d}, [x11], #16 // vmovdqa -0x40(%r11,%r10), %xmm1 # .Lk_mc_forward[] ++ tbl v0.16b, {$sb1u}, v3.16b // vpshufb %xmm3, %xmm12, %xmm0 # 0 = sb1t ++ eor v4.16b, v4.16b, v16.16b // vpxor %xmm5, %xmm4, %xmm4 # 4 = sb1u + k ++ tbl v5.16b, {$sb2t}, v2.16b // vpshufb %xmm2, %xmm15, %xmm5 # 4 = sb2u ++ eor v0.16b, v0.16b, v4.16b // vpxor %xmm4, %xmm0, %xmm0 # 0 = A ++ tbl v2.16b, {$sb2u}, v3.16b // vpshufb %xmm3, %xmm14, %xmm2 # 2 = sb2t ++ ld1 {v4.2d}, [x10] // vmovdqa (%r11,%r10), %xmm4 # .Lk_mc_backward[] ++ tbl v3.16b, {v0.16b}, v1.16b // vpshufb %xmm1, %xmm0, %xmm3 # 0 = B ++ eor v2.16b, v2.16b, v5.16b // vpxor %xmm5, %xmm2, %xmm2 # 2 = 2A ++ tbl v0.16b, {v0.16b}, v4.16b // vpshufb %xmm4, %xmm0, %xmm0 # 3 = D ++ eor v3.16b, v3.16b, v2.16b // vpxor %xmm2, %xmm3, %xmm3 # 0 = 2A+B ++ tbl v4.16b, {v3.16b}, v1.16b // vpshufb %xmm1, %xmm3, %xmm4 # 0 = 2B+C ++ eor v0.16b, v0.16b, v3.16b // vpxor %xmm3, %xmm0, %xmm0 # 3 = 2A+B+D ++ and x11, x11, #~(1<<6) // and \$0x30, %r11 # ... mod 4 ++ eor v0.16b, v0.16b, v4.16b // vpxor %xmm4, %xmm0, %xmm0 # 0 = 2A+3B+C+D ++ sub w8, w8, #1 // nr-- ++ ++.Lenc_entry: ++ // top of round ++ and v1.16b, v0.16b, v17.16b // vpand %xmm0, %xmm9, %xmm1 # 0 = k ++ ushr v0.16b, v0.16b, #4 // vpsrlb \$4, %xmm0, %xmm0 # 1 = i ++ tbl v5.16b, {$invhi}, v1.16b // vpshufb %xmm1, %xmm11, %xmm5 # 2 = a/k ++ eor v1.16b, v1.16b, v0.16b // vpxor %xmm0, %xmm1, %xmm1 # 0 = j ++ tbl v3.16b, {$invlo}, v0.16b // vpshufb %xmm0, %xmm10, %xmm3 # 3 = 1/i ++ tbl v4.16b, {$invlo}, v1.16b // vpshufb %xmm1, %xmm10, %xmm4 # 4 = 1/j ++ eor v3.16b, v3.16b, v5.16b // vpxor %xmm5, %xmm3, %xmm3 # 3 = iak = 1/i + a/k ++ eor v4.16b, v4.16b, v5.16b // vpxor %xmm5, %xmm4, %xmm4 # 4 = jak = 1/j + a/k ++ tbl v2.16b, {$invlo}, v3.16b // vpshufb %xmm3, %xmm10, %xmm2 # 2 = 1/iak ++ tbl v3.16b, {$invlo}, v4.16b // vpshufb %xmm4, %xmm10, %xmm3 # 3 = 1/jak ++ eor v2.16b, v2.16b, v1.16b // vpxor %xmm1, %xmm2, %xmm2 # 2 = io ++ eor v3.16b, v3.16b, v0.16b // vpxor %xmm0, %xmm3, %xmm3 # 3 = jo ++ ld1 {v16.2d}, [x9],#16 // vmovdqu (%r9), %xmm5 ++ cbnz w8, .Lenc_loop ++ ++ // middle of last round ++ add x10, x11, #0x80 ++ // vmovdqa -0x60(%r10), %xmm4 # 3 : sbou .Lk_sbo ++ // vmovdqa -0x50(%r10), %xmm0 # 0 : sbot .Lk_sbo+16 ++ tbl v4.16b, {$sbou}, v2.16b // vpshufb %xmm2, %xmm4, %xmm4 # 4 = sbou ++ ld1 {v1.2d}, [x10] // vmovdqa 0x40(%r11,%r10), %xmm1 # .Lk_sr[] ++ tbl v0.16b, {$sbot}, v3.16b // vpshufb %xmm3, %xmm0, %xmm0 # 0 = sb1t ++ eor v4.16b, v4.16b, v16.16b // vpxor %xmm5, %xmm4, %xmm4 # 4 = sb1u + k ++ eor v0.16b, v0.16b, v4.16b // vpxor %xmm4, %xmm0, %xmm0 # 0 = A ++ tbl v0.16b, {v0.16b}, v1.16b // vpshufb %xmm1, %xmm0, %xmm0 ++ ret ++.size _vpaes_encrypt_core,.-_vpaes_encrypt_core ++ ++.globl GFp_vpaes_encrypt ++.type GFp_vpaes_encrypt,%function ++.align 4 ++GFp_vpaes_encrypt: ++ AARCH64_SIGN_LINK_REGISTER ++ stp x29,x30,[sp,#-16]! ++ add x29,sp,#0 ++ ++ ld1 {v7.16b}, [$inp] ++ bl _vpaes_encrypt_preheat ++ bl _vpaes_encrypt_core ++ st1 {v0.16b}, [$out] ++ ++ ldp x29,x30,[sp],#16 ++ AARCH64_VALIDATE_LINK_REGISTER ++ ret ++.size GFp_vpaes_encrypt,.-GFp_vpaes_encrypt ++ ++.type _vpaes_encrypt_2x,%function ++.align 4 ++_vpaes_encrypt_2x: ++ mov x9, $key ++ ldr w8, [$key,#240] // pull rounds ++ adrp x11, :pg_hi21:.Lk_mc_forward+16 ++ add x11, x11, :lo12:.Lk_mc_forward+16 ++ // vmovdqa .Lk_ipt(%rip), %xmm2 # iptlo ++ ld1 {v16.2d}, [x9], #16 // vmovdqu (%r9), %xmm5 # round0 key ++ and v1.16b, v14.16b, v17.16b // vpand %xmm9, %xmm0, %xmm1 ++ ushr v0.16b, v14.16b, #4 // vpsrlb \$4, %xmm0, %xmm0 ++ and v9.16b, v15.16b, v17.16b ++ ushr v8.16b, v15.16b, #4 ++ tbl v1.16b, {$iptlo}, v1.16b // vpshufb %xmm1, %xmm2, %xmm1 ++ tbl v9.16b, {$iptlo}, v9.16b ++ // vmovdqa .Lk_ipt+16(%rip), %xmm3 # ipthi ++ tbl v2.16b, {$ipthi}, v0.16b // vpshufb %xmm0, %xmm3, %xmm2 ++ tbl v10.16b, {$ipthi}, v8.16b ++ eor v0.16b, v1.16b, v16.16b // vpxor %xmm5, %xmm1, %xmm0 ++ eor v8.16b, v9.16b, v16.16b ++ eor v0.16b, v0.16b, v2.16b // vpxor %xmm2, %xmm0, %xmm0 ++ eor v8.16b, v8.16b, v10.16b ++ b .Lenc_2x_entry ++ ++.align 4 ++.Lenc_2x_loop: ++ // middle of middle round ++ add x10, x11, #0x40 ++ tbl v4.16b, {$sb1t}, v2.16b // vpshufb %xmm2, %xmm13, %xmm4 # 4 = sb1u ++ tbl v12.16b, {$sb1t}, v10.16b ++ ld1 {v1.2d}, [x11], #16 // vmovdqa -0x40(%r11,%r10), %xmm1 # .Lk_mc_forward[] ++ tbl v0.16b, {$sb1u}, v3.16b // vpshufb %xmm3, %xmm12, %xmm0 # 0 = sb1t ++ tbl v8.16b, {$sb1u}, v11.16b ++ eor v4.16b, v4.16b, v16.16b // vpxor %xmm5, %xmm4, %xmm4 # 4 = sb1u + k ++ eor v12.16b, v12.16b, v16.16b ++ tbl v5.16b, {$sb2t}, v2.16b // vpshufb %xmm2, %xmm15, %xmm5 # 4 = sb2u ++ tbl v13.16b, {$sb2t}, v10.16b ++ eor v0.16b, v0.16b, v4.16b // vpxor %xmm4, %xmm0, %xmm0 # 0 = A ++ eor v8.16b, v8.16b, v12.16b ++ tbl v2.16b, {$sb2u}, v3.16b // vpshufb %xmm3, %xmm14, %xmm2 # 2 = sb2t ++ tbl v10.16b, {$sb2u}, v11.16b ++ ld1 {v4.2d}, [x10] // vmovdqa (%r11,%r10), %xmm4 # .Lk_mc_backward[] ++ tbl v3.16b, {v0.16b}, v1.16b // vpshufb %xmm1, %xmm0, %xmm3 # 0 = B ++ tbl v11.16b, {v8.16b}, v1.16b ++ eor v2.16b, v2.16b, v5.16b // vpxor %xmm5, %xmm2, %xmm2 # 2 = 2A ++ eor v10.16b, v10.16b, v13.16b ++ tbl v0.16b, {v0.16b}, v4.16b // vpshufb %xmm4, %xmm0, %xmm0 # 3 = D ++ tbl v8.16b, {v8.16b}, v4.16b ++ eor v3.16b, v3.16b, v2.16b // vpxor %xmm2, %xmm3, %xmm3 # 0 = 2A+B ++ eor v11.16b, v11.16b, v10.16b ++ tbl v4.16b, {v3.16b}, v1.16b // vpshufb %xmm1, %xmm3, %xmm4 # 0 = 2B+C ++ tbl v12.16b, {v11.16b},v1.16b ++ eor v0.16b, v0.16b, v3.16b // vpxor %xmm3, %xmm0, %xmm0 # 3 = 2A+B+D ++ eor v8.16b, v8.16b, v11.16b ++ and x11, x11, #~(1<<6) // and \$0x30, %r11 # ... mod 4 ++ eor v0.16b, v0.16b, v4.16b // vpxor %xmm4, %xmm0, %xmm0 # 0 = 2A+3B+C+D ++ eor v8.16b, v8.16b, v12.16b ++ sub w8, w8, #1 // nr-- ++ ++.Lenc_2x_entry: ++ // top of round ++ and v1.16b, v0.16b, v17.16b // vpand %xmm0, %xmm9, %xmm1 # 0 = k ++ ushr v0.16b, v0.16b, #4 // vpsrlb \$4, %xmm0, %xmm0 # 1 = i ++ and v9.16b, v8.16b, v17.16b ++ ushr v8.16b, v8.16b, #4 ++ tbl v5.16b, {$invhi},v1.16b // vpshufb %xmm1, %xmm11, %xmm5 # 2 = a/k ++ tbl v13.16b, {$invhi},v9.16b ++ eor v1.16b, v1.16b, v0.16b // vpxor %xmm0, %xmm1, %xmm1 # 0 = j ++ eor v9.16b, v9.16b, v8.16b ++ tbl v3.16b, {$invlo},v0.16b // vpshufb %xmm0, %xmm10, %xmm3 # 3 = 1/i ++ tbl v11.16b, {$invlo},v8.16b ++ tbl v4.16b, {$invlo},v1.16b // vpshufb %xmm1, %xmm10, %xmm4 # 4 = 1/j ++ tbl v12.16b, {$invlo},v9.16b ++ eor v3.16b, v3.16b, v5.16b // vpxor %xmm5, %xmm3, %xmm3 # 3 = iak = 1/i + a/k ++ eor v11.16b, v11.16b, v13.16b ++ eor v4.16b, v4.16b, v5.16b // vpxor %xmm5, %xmm4, %xmm4 # 4 = jak = 1/j + a/k ++ eor v12.16b, v12.16b, v13.16b ++ tbl v2.16b, {$invlo},v3.16b // vpshufb %xmm3, %xmm10, %xmm2 # 2 = 1/iak ++ tbl v10.16b, {$invlo},v11.16b ++ tbl v3.16b, {$invlo},v4.16b // vpshufb %xmm4, %xmm10, %xmm3 # 3 = 1/jak ++ tbl v11.16b, {$invlo},v12.16b ++ eor v2.16b, v2.16b, v1.16b // vpxor %xmm1, %xmm2, %xmm2 # 2 = io ++ eor v10.16b, v10.16b, v9.16b ++ eor v3.16b, v3.16b, v0.16b // vpxor %xmm0, %xmm3, %xmm3 # 3 = jo ++ eor v11.16b, v11.16b, v8.16b ++ ld1 {v16.2d}, [x9],#16 // vmovdqu (%r9), %xmm5 ++ cbnz w8, .Lenc_2x_loop ++ ++ // middle of last round ++ add x10, x11, #0x80 ++ // vmovdqa -0x60(%r10), %xmm4 # 3 : sbou .Lk_sbo ++ // vmovdqa -0x50(%r10), %xmm0 # 0 : sbot .Lk_sbo+16 ++ tbl v4.16b, {$sbou}, v2.16b // vpshufb %xmm2, %xmm4, %xmm4 # 4 = sbou ++ tbl v12.16b, {$sbou}, v10.16b ++ ld1 {v1.2d}, [x10] // vmovdqa 0x40(%r11,%r10), %xmm1 # .Lk_sr[] ++ tbl v0.16b, {$sbot}, v3.16b // vpshufb %xmm3, %xmm0, %xmm0 # 0 = sb1t ++ tbl v8.16b, {$sbot}, v11.16b ++ eor v4.16b, v4.16b, v16.16b // vpxor %xmm5, %xmm4, %xmm4 # 4 = sb1u + k ++ eor v12.16b, v12.16b, v16.16b ++ eor v0.16b, v0.16b, v4.16b // vpxor %xmm4, %xmm0, %xmm0 # 0 = A ++ eor v8.16b, v8.16b, v12.16b ++ tbl v0.16b, {v0.16b},v1.16b // vpshufb %xmm1, %xmm0, %xmm0 ++ tbl v1.16b, {v8.16b},v1.16b ++ ret ++.size _vpaes_encrypt_2x,.-_vpaes_encrypt_2x ++___ ++} ++{ ++my ($inp,$bits,$out,$dir)=("x0","w1","x2","w3"); ++my ($invlo,$invhi,$iptlo,$ipthi,$rcon) = map("v$_.16b",(18..21,8)); ++ ++$code.=<<___; ++######################################################## ++## ## ++## AES key schedule ## ++## ## ++######################################################## ++.type _vpaes_key_preheat,%function ++.align 4 ++_vpaes_key_preheat: ++ adrp x10, :pg_hi21:.Lk_inv ++ add x10, x10, :lo12:.Lk_inv ++ movi v16.16b, #0x5b // .Lk_s63 ++ adrp x11, :pg_hi21:.Lk_sb1 ++ add x11, x11, :lo12:.Lk_sb1 ++ movi v17.16b, #0x0f // .Lk_s0F ++ ld1 {v18.2d-v21.2d}, [x10] // .Lk_inv, .Lk_ipt ++ adrp x10, :pg_hi21:.Lk_dksd ++ add x10, x10, :lo12:.Lk_dksd ++ ld1 {v22.2d-v23.2d}, [x11] // .Lk_sb1 ++ adrp x11, :pg_hi21:.Lk_mc_forward ++ add x11, x11, :lo12:.Lk_mc_forward ++ ld1 {v24.2d-v27.2d}, [x10],#64 // .Lk_dksd, .Lk_dksb ++ ld1 {v28.2d-v31.2d}, [x10],#64 // .Lk_dkse, .Lk_dks9 ++ ld1 {v8.2d}, [x10] // .Lk_rcon ++ ld1 {v9.2d}, [x11] // .Lk_mc_forward[0] ++ ret ++.size _vpaes_key_preheat,.-_vpaes_key_preheat ++ ++.type _vpaes_schedule_core,%function ++.align 4 ++_vpaes_schedule_core: ++ AARCH64_SIGN_LINK_REGISTER ++ stp x29, x30, [sp,#-16]! ++ add x29,sp,#0 ++ ++ bl _vpaes_key_preheat // load the tables ++ ++ ld1 {v0.16b}, [$inp],#16 // vmovdqu (%rdi), %xmm0 # load key (unaligned) ++ ++ // input transform ++ mov v3.16b, v0.16b // vmovdqa %xmm0, %xmm3 ++ bl _vpaes_schedule_transform ++ mov v7.16b, v0.16b // vmovdqa %xmm0, %xmm7 ++ ++ adrp x10, :pg_hi21:.Lk_sr // lea .Lk_sr(%rip),%r10 ++ add x10, x10, :lo12:.Lk_sr ++ ++ add x8, x8, x10 ++ ++ // encrypting, output zeroth round key after transform ++ st1 {v0.2d}, [$out] // vmovdqu %xmm0, (%rdx) ++ ++ cmp $bits, #192 // cmp \$192, %esi ++ b.hi .Lschedule_256 ++ b.eq .Lschedule_192 ++ // 128: fall though ++ ++## ++## .schedule_128 ++## ++## 128-bit specific part of key schedule. ++## ++## This schedule is really simple, because all its parts ++## are accomplished by the subroutines. ++## ++.Lschedule_128: ++ mov $inp, #10 // mov \$10, %esi ++ ++.Loop_schedule_128: ++ sub $inp, $inp, #1 // dec %esi ++ bl _vpaes_schedule_round ++ cbz $inp, .Lschedule_mangle_last ++ bl _vpaes_schedule_mangle // write output ++ b .Loop_schedule_128 ++ ++## ++## .aes_schedule_192 ++## ++## 192-bit specific part of key schedule. ++## ++## The main body of this schedule is the same as the 128-bit ++## schedule, but with more smearing. The long, high side is ++## stored in %xmm7 as before, and the short, low side is in ++## the high bits of %xmm6. ++## ++## This schedule is somewhat nastier, however, because each ++## round produces 192 bits of key material, or 1.5 round keys. ++## Therefore, on each cycle we do 2 rounds and produce 3 round ++## keys. ++## ++.align 4 ++.Lschedule_192: ++ sub $inp, $inp, #8 ++ ld1 {v0.16b}, [$inp] // vmovdqu 8(%rdi),%xmm0 # load key part 2 (very unaligned) ++ bl _vpaes_schedule_transform // input transform ++ mov v6.16b, v0.16b // vmovdqa %xmm0, %xmm6 # save short part ++ eor v4.16b, v4.16b, v4.16b // vpxor %xmm4, %xmm4, %xmm4 # clear 4 ++ ins v6.d[0], v4.d[0] // vmovhlps %xmm4, %xmm6, %xmm6 # clobber low side with zeros ++ mov $inp, #4 // mov \$4, %esi ++ ++.Loop_schedule_192: ++ sub $inp, $inp, #1 // dec %esi ++ bl _vpaes_schedule_round ++ ext v0.16b, v6.16b, v0.16b, #8 // vpalignr \$8,%xmm6,%xmm0,%xmm0 ++ bl _vpaes_schedule_mangle // save key n ++ bl _vpaes_schedule_192_smear ++ bl _vpaes_schedule_mangle // save key n+1 ++ bl _vpaes_schedule_round ++ cbz $inp, .Lschedule_mangle_last ++ bl _vpaes_schedule_mangle // save key n+2 ++ bl _vpaes_schedule_192_smear ++ b .Loop_schedule_192 ++ ++## ++## .aes_schedule_256 ++## ++## 256-bit specific part of key schedule. ++## ++## The structure here is very similar to the 128-bit ++## schedule, but with an additional "low side" in ++## %xmm6. The low side's rounds are the same as the ++## high side's, except no rcon and no rotation. ++## ++.align 4 ++.Lschedule_256: ++ ld1 {v0.16b}, [$inp] // vmovdqu 16(%rdi),%xmm0 # load key part 2 (unaligned) ++ bl _vpaes_schedule_transform // input transform ++ mov $inp, #7 // mov \$7, %esi ++ ++.Loop_schedule_256: ++ sub $inp, $inp, #1 // dec %esi ++ bl _vpaes_schedule_mangle // output low result ++ mov v6.16b, v0.16b // vmovdqa %xmm0, %xmm6 # save cur_lo in xmm6 ++ ++ // high round ++ bl _vpaes_schedule_round ++ cbz $inp, .Lschedule_mangle_last ++ bl _vpaes_schedule_mangle ++ ++ // low round. swap xmm7 and xmm6 ++ dup v0.4s, v0.s[3] // vpshufd \$0xFF, %xmm0, %xmm0 ++ movi v4.16b, #0 ++ mov v5.16b, v7.16b // vmovdqa %xmm7, %xmm5 ++ mov v7.16b, v6.16b // vmovdqa %xmm6, %xmm7 ++ bl _vpaes_schedule_low_round ++ mov v7.16b, v5.16b // vmovdqa %xmm5, %xmm7 ++ ++ b .Loop_schedule_256 ++ ++## ++## .aes_schedule_mangle_last ++## ++## Mangler for last round of key schedule ++## Mangles %xmm0 ++## when encrypting, outputs out(%xmm0) ^ 63 ++## when decrypting, outputs unskew(%xmm0) ++## ++## Always called right before return... jumps to cleanup and exits ++## ++.align 4 ++.Lschedule_mangle_last: ++ // schedule last round key from xmm0 ++ adrp x11, :pg_hi21:.Lk_deskew // lea .Lk_deskew(%rip),%r11 # prepare to deskew ++ add x11, x11, :lo12:.Lk_deskew ++ ++ cbnz $dir, .Lschedule_mangle_last_dec ++ ++ // encrypting ++ ld1 {v1.2d}, [x8] // vmovdqa (%r8,%r10),%xmm1 ++ adrp x11, :pg_hi21:.Lk_opt // lea .Lk_opt(%rip), %r11 # prepare to output transform ++ add x11, x11, :lo12:.Lk_opt ++ add $out, $out, #32 // add \$32, %rdx ++ tbl v0.16b, {v0.16b}, v1.16b // vpshufb %xmm1, %xmm0, %xmm0 # output permute ++ ++.Lschedule_mangle_last_dec: ++ ld1 {v20.2d-v21.2d}, [x11] // reload constants ++ sub $out, $out, #16 // add \$-16, %rdx ++ eor v0.16b, v0.16b, v16.16b // vpxor .Lk_s63(%rip), %xmm0, %xmm0 ++ bl _vpaes_schedule_transform // output transform ++ st1 {v0.2d}, [$out] // vmovdqu %xmm0, (%rdx) # save last key ++ ++ // cleanup ++ eor v0.16b, v0.16b, v0.16b // vpxor %xmm0, %xmm0, %xmm0 ++ eor v1.16b, v1.16b, v1.16b // vpxor %xmm1, %xmm1, %xmm1 ++ eor v2.16b, v2.16b, v2.16b // vpxor %xmm2, %xmm2, %xmm2 ++ eor v3.16b, v3.16b, v3.16b // vpxor %xmm3, %xmm3, %xmm3 ++ eor v4.16b, v4.16b, v4.16b // vpxor %xmm4, %xmm4, %xmm4 ++ eor v5.16b, v5.16b, v5.16b // vpxor %xmm5, %xmm5, %xmm5 ++ eor v6.16b, v6.16b, v6.16b // vpxor %xmm6, %xmm6, %xmm6 ++ eor v7.16b, v7.16b, v7.16b // vpxor %xmm7, %xmm7, %xmm7 ++ ldp x29, x30, [sp],#16 ++ AARCH64_VALIDATE_LINK_REGISTER ++ ret ++.size _vpaes_schedule_core,.-_vpaes_schedule_core ++ ++## ++## .aes_schedule_192_smear ++## ++## Smear the short, low side in the 192-bit key schedule. ++## ++## Inputs: ++## %xmm7: high side, b a x y ++## %xmm6: low side, d c 0 0 ++## %xmm13: 0 ++## ++## Outputs: ++## %xmm6: b+c+d b+c 0 0 ++## %xmm0: b+c+d b+c b a ++## ++.type _vpaes_schedule_192_smear,%function ++.align 4 ++_vpaes_schedule_192_smear: ++ movi v1.16b, #0 ++ dup v0.4s, v7.s[3] ++ ins v1.s[3], v6.s[2] // vpshufd \$0x80, %xmm6, %xmm1 # d c 0 0 -> c 0 0 0 ++ ins v0.s[0], v7.s[2] // vpshufd \$0xFE, %xmm7, %xmm0 # b a _ _ -> b b b a ++ eor v6.16b, v6.16b, v1.16b // vpxor %xmm1, %xmm6, %xmm6 # -> c+d c 0 0 ++ eor v1.16b, v1.16b, v1.16b // vpxor %xmm1, %xmm1, %xmm1 ++ eor v6.16b, v6.16b, v0.16b // vpxor %xmm0, %xmm6, %xmm6 # -> b+c+d b+c b a ++ mov v0.16b, v6.16b // vmovdqa %xmm6, %xmm0 ++ ins v6.d[0], v1.d[0] // vmovhlps %xmm1, %xmm6, %xmm6 # clobber low side with zeros ++ ret ++.size _vpaes_schedule_192_smear,.-_vpaes_schedule_192_smear ++ ++## ++## .aes_schedule_round ++## ++## Runs one main round of the key schedule on %xmm0, %xmm7 ++## ++## Specifically, runs subbytes on the high dword of %xmm0 ++## then rotates it by one byte and xors into the low dword of ++## %xmm7. ++## ++## Adds rcon from low byte of %xmm8, then rotates %xmm8 for ++## next rcon. ++## ++## Smears the dwords of %xmm7 by xoring the low into the ++## second low, result into third, result into highest. ++## ++## Returns results in %xmm7 = %xmm0. ++## Clobbers %xmm1-%xmm4, %r11. ++## ++.type _vpaes_schedule_round,%function ++.align 4 ++_vpaes_schedule_round: ++ // extract rcon from xmm8 ++ movi v4.16b, #0 // vpxor %xmm4, %xmm4, %xmm4 ++ ext v1.16b, $rcon, v4.16b, #15 // vpalignr \$15, %xmm8, %xmm4, %xmm1 ++ ext $rcon, $rcon, $rcon, #15 // vpalignr \$15, %xmm8, %xmm8, %xmm8 ++ eor v7.16b, v7.16b, v1.16b // vpxor %xmm1, %xmm7, %xmm7 ++ ++ // rotate ++ dup v0.4s, v0.s[3] // vpshufd \$0xFF, %xmm0, %xmm0 ++ ext v0.16b, v0.16b, v0.16b, #1 // vpalignr \$1, %xmm0, %xmm0, %xmm0 ++ ++ // fall through... ++ ++ // low round: same as high round, but no rotation and no rcon. ++_vpaes_schedule_low_round: ++ // smear xmm7 ++ ext v1.16b, v4.16b, v7.16b, #12 // vpslldq \$4, %xmm7, %xmm1 ++ eor v7.16b, v7.16b, v1.16b // vpxor %xmm1, %xmm7, %xmm7 ++ ext v4.16b, v4.16b, v7.16b, #8 // vpslldq \$8, %xmm7, %xmm4 ++ ++ // subbytes ++ and v1.16b, v0.16b, v17.16b // vpand %xmm9, %xmm0, %xmm1 # 0 = k ++ ushr v0.16b, v0.16b, #4 // vpsrlb \$4, %xmm0, %xmm0 # 1 = i ++ eor v7.16b, v7.16b, v4.16b // vpxor %xmm4, %xmm7, %xmm7 ++ tbl v2.16b, {$invhi}, v1.16b // vpshufb %xmm1, %xmm11, %xmm2 # 2 = a/k ++ eor v1.16b, v1.16b, v0.16b // vpxor %xmm0, %xmm1, %xmm1 # 0 = j ++ tbl v3.16b, {$invlo}, v0.16b // vpshufb %xmm0, %xmm10, %xmm3 # 3 = 1/i ++ eor v3.16b, v3.16b, v2.16b // vpxor %xmm2, %xmm3, %xmm3 # 3 = iak = 1/i + a/k ++ tbl v4.16b, {$invlo}, v1.16b // vpshufb %xmm1, %xmm10, %xmm4 # 4 = 1/j ++ eor v7.16b, v7.16b, v16.16b // vpxor .Lk_s63(%rip), %xmm7, %xmm7 ++ tbl v3.16b, {$invlo}, v3.16b // vpshufb %xmm3, %xmm10, %xmm3 # 2 = 1/iak ++ eor v4.16b, v4.16b, v2.16b // vpxor %xmm2, %xmm4, %xmm4 # 4 = jak = 1/j + a/k ++ tbl v2.16b, {$invlo}, v4.16b // vpshufb %xmm4, %xmm10, %xmm2 # 3 = 1/jak ++ eor v3.16b, v3.16b, v1.16b // vpxor %xmm1, %xmm3, %xmm3 # 2 = io ++ eor v2.16b, v2.16b, v0.16b // vpxor %xmm0, %xmm2, %xmm2 # 3 = jo ++ tbl v4.16b, {v23.16b}, v3.16b // vpshufb %xmm3, %xmm13, %xmm4 # 4 = sbou ++ tbl v1.16b, {v22.16b}, v2.16b // vpshufb %xmm2, %xmm12, %xmm1 # 0 = sb1t ++ eor v1.16b, v1.16b, v4.16b // vpxor %xmm4, %xmm1, %xmm1 # 0 = sbox output ++ ++ // add in smeared stuff ++ eor v0.16b, v1.16b, v7.16b // vpxor %xmm7, %xmm1, %xmm0 ++ eor v7.16b, v1.16b, v7.16b // vmovdqa %xmm0, %xmm7 ++ ret ++.size _vpaes_schedule_round,.-_vpaes_schedule_round ++ ++## ++## .aes_schedule_transform ++## ++## Linear-transform %xmm0 according to tables at (%r11) ++## ++## Requires that %xmm9 = 0x0F0F... as in preheat ++## Output in %xmm0 ++## Clobbers %xmm1, %xmm2 ++## ++.type _vpaes_schedule_transform,%function ++.align 4 ++_vpaes_schedule_transform: ++ and v1.16b, v0.16b, v17.16b // vpand %xmm9, %xmm0, %xmm1 ++ ushr v0.16b, v0.16b, #4 // vpsrlb \$4, %xmm0, %xmm0 ++ // vmovdqa (%r11), %xmm2 # lo ++ tbl v2.16b, {$iptlo}, v1.16b // vpshufb %xmm1, %xmm2, %xmm2 ++ // vmovdqa 16(%r11), %xmm1 # hi ++ tbl v0.16b, {$ipthi}, v0.16b // vpshufb %xmm0, %xmm1, %xmm0 ++ eor v0.16b, v0.16b, v2.16b // vpxor %xmm2, %xmm0, %xmm0 ++ ret ++.size _vpaes_schedule_transform,.-_vpaes_schedule_transform ++ ++## ++## .aes_schedule_mangle ++## ++## Mangle xmm0 from (basis-transformed) standard version ++## to our version. ++## ++## On encrypt, ++## xor with 0x63 ++## multiply by circulant 0,1,1,1 ++## apply shiftrows transform ++## ++## On decrypt, ++## xor with 0x63 ++## multiply by "inverse mixcolumns" circulant E,B,D,9 ++## deskew ++## apply shiftrows transform ++## ++## ++## Writes out to (%rdx), and increments or decrements it ++## Keeps track of round number mod 4 in %r8 ++## Preserves xmm0 ++## Clobbers xmm1-xmm5 ++## ++.type _vpaes_schedule_mangle,%function ++.align 4 ++_vpaes_schedule_mangle: ++ mov v4.16b, v0.16b // vmovdqa %xmm0, %xmm4 # save xmm0 for later ++ // vmovdqa .Lk_mc_forward(%rip),%xmm5 ++ ++ // encrypting ++ eor v4.16b, v0.16b, v16.16b // vpxor .Lk_s63(%rip), %xmm0, %xmm4 ++ add $out, $out, #16 // add \$16, %rdx ++ tbl v4.16b, {v4.16b}, v9.16b // vpshufb %xmm5, %xmm4, %xmm4 ++ tbl v1.16b, {v4.16b}, v9.16b // vpshufb %xmm5, %xmm4, %xmm1 ++ tbl v3.16b, {v1.16b}, v9.16b // vpshufb %xmm5, %xmm1, %xmm3 ++ eor v4.16b, v4.16b, v1.16b // vpxor %xmm1, %xmm4, %xmm4 ++ ld1 {v1.2d}, [x8] // vmovdqa (%r8,%r10), %xmm1 ++ eor v3.16b, v3.16b, v4.16b // vpxor %xmm4, %xmm3, %xmm3 ++ ++.Lschedule_mangle_both: ++ tbl v3.16b, {v3.16b}, v1.16b // vpshufb %xmm1, %xmm3, %xmm3 ++ add x8, x8, #64-16 // add \$-16, %r8 ++ and x8, x8, #~(1<<6) // and \$0x30, %r8 ++ st1 {v3.2d}, [$out] // vmovdqu %xmm3, (%rdx) ++ ret ++.size _vpaes_schedule_mangle,.-_vpaes_schedule_mangle ++ ++.globl GFp_vpaes_set_encrypt_key ++.type GFp_vpaes_set_encrypt_key,%function ++.align 4 ++GFp_vpaes_set_encrypt_key: ++ AARCH64_SIGN_LINK_REGISTER ++ stp x29,x30,[sp,#-16]! ++ add x29,sp,#0 ++ stp d8,d9,[sp,#-16]! // ABI spec says so ++ ++ lsr w9, $bits, #5 // shr \$5,%eax ++ add w9, w9, #5 // \$5,%eax ++ str w9, [$out,#240] // mov %eax,240(%rdx) # AES_KEY->rounds = nbits/32+5; ++ ++ mov $dir, #0 // mov \$0,%ecx ++ mov x8, #0x30 // mov \$0x30,%r8d ++ bl _vpaes_schedule_core ++ eor x0, x0, x0 ++ ++ ldp d8,d9,[sp],#16 ++ ldp x29,x30,[sp],#16 ++ AARCH64_VALIDATE_LINK_REGISTER ++ ret ++.size GFp_vpaes_set_encrypt_key,.-GFp_vpaes_set_encrypt_key ++___ ++} ++{ ++my ($inp,$out,$len,$key,$ivec) = map("x$_",(0..4)); ++my ($ctr, $ctr_tmp) = ("w6", "w7"); ++ ++# void GFp_vpaes_ctr32_encrypt_blocks(const uint8_t *in, uint8_t *out, size_t len, ++# const AES_KEY *key, const uint8_t ivec[16]); ++$code.=<<___; ++.globl GFp_vpaes_ctr32_encrypt_blocks ++.type GFp_vpaes_ctr32_encrypt_blocks,%function ++.align 4 ++GFp_vpaes_ctr32_encrypt_blocks: ++ AARCH64_SIGN_LINK_REGISTER ++ stp x29,x30,[sp,#-16]! ++ add x29,sp,#0 ++ stp d8,d9,[sp,#-16]! // ABI spec says so ++ stp d10,d11,[sp,#-16]! ++ stp d12,d13,[sp,#-16]! ++ stp d14,d15,[sp,#-16]! ++ ++ cbz $len, .Lctr32_done ++ ++ // Note, unlike the other functions, $len here is measured in blocks, ++ // not bytes. ++ mov x17, $len ++ mov x2, $key ++ ++ // Load the IV and counter portion. ++ ldr $ctr, [$ivec, #12] ++ ld1 {v7.16b}, [$ivec] ++ ++ bl _vpaes_encrypt_preheat ++ tst x17, #1 ++ rev $ctr, $ctr // The counter is big-endian. ++ b.eq .Lctr32_prep_loop ++ ++ // Handle one block so the remaining block count is even for ++ // _vpaes_encrypt_2x. ++ ld1 {v6.16b}, [$inp], #16 // Load input ahead of time ++ bl _vpaes_encrypt_core ++ eor v0.16b, v0.16b, v6.16b // XOR input and result ++ st1 {v0.16b}, [$out], #16 ++ subs x17, x17, #1 ++ // Update the counter. ++ add $ctr, $ctr, #1 ++ rev $ctr_tmp, $ctr ++ mov v7.s[3], $ctr_tmp ++ b.ls .Lctr32_done ++ ++.Lctr32_prep_loop: ++ // _vpaes_encrypt_core takes its input from v7, while _vpaes_encrypt_2x ++ // uses v14 and v15. ++ mov v15.16b, v7.16b ++ mov v14.16b, v7.16b ++ add $ctr, $ctr, #1 ++ rev $ctr_tmp, $ctr ++ mov v15.s[3], $ctr_tmp ++ ++.Lctr32_loop: ++ ld1 {v6.16b,v7.16b}, [$inp], #32 // Load input ahead of time ++ bl _vpaes_encrypt_2x ++ eor v0.16b, v0.16b, v6.16b // XOR input and result ++ eor v1.16b, v1.16b, v7.16b // XOR input and result (#2) ++ st1 {v0.16b,v1.16b}, [$out], #32 ++ subs x17, x17, #2 ++ // Update the counter. ++ add $ctr_tmp, $ctr, #1 ++ add $ctr, $ctr, #2 ++ rev $ctr_tmp, $ctr_tmp ++ mov v14.s[3], $ctr_tmp ++ rev $ctr_tmp, $ctr ++ mov v15.s[3], $ctr_tmp ++ b.hi .Lctr32_loop ++ ++.Lctr32_done: ++ ldp d14,d15,[sp],#16 ++ ldp d12,d13,[sp],#16 ++ ldp d10,d11,[sp],#16 ++ ldp d8,d9,[sp],#16 ++ ldp x29,x30,[sp],#16 ++ AARCH64_VALIDATE_LINK_REGISTER ++ ret ++.size GFp_vpaes_ctr32_encrypt_blocks,.-GFp_vpaes_ctr32_encrypt_blocks ++___ ++} ++ ++print $code; ++ ++close STDOUT or die "error closing STDOUT"; +diff --git a/crypto/fipsmodule/modes/asm/ghash-neon-armv8.pl b/crypto/fipsmodule/modes/asm/ghash-neon-armv8.pl +new file mode 100644 +index 0000000..7e52ad6 +--- /dev/null ++++ b/crypto/fipsmodule/modes/asm/ghash-neon-armv8.pl +@@ -0,0 +1,294 @@ ++#! /usr/bin/env perl ++# Copyright 2010-2016 The OpenSSL Project Authors. All Rights Reserved. ++# ++# Licensed under the OpenSSL license (the "License"). You may not use ++# this file except in compliance with the License. You can obtain a copy ++# in the file LICENSE in the source distribution or at ++# https://www.openssl.org/source/license.html ++ ++# ==================================================================== ++# Written by Andy Polyakov <appro@openssl.org> for the OpenSSL ++# project. The module is, however, dual licensed under OpenSSL and ++# CRYPTOGAMS licenses depending on where you obtain it. For further ++# details see http://www.openssl.org/~appro/cryptogams/. ++# ==================================================================== ++ ++# This file was adapted to AArch64 from the 32-bit version in ghash-armv4.pl. It ++# implements the multiplication algorithm described in: ++# ++# Câmara, D.; Gouvêa, C. P. L.; López, J. & Dahab, R.: Fast Software ++# Polynomial Multiplication on ARM Processors using the NEON Engine. ++# ++# http://conradoplg.cryptoland.net/files/2010/12/mocrysen13.pdf ++# ++# The main distinction to keep in mind between 32-bit NEON and AArch64 SIMD is ++# AArch64 cannot compute over the upper halves of SIMD registers. In 32-bit ++# NEON, the low and high halves of the 128-bit register q0 are accessible as ++# 64-bit registers d0 and d1, respectively. In AArch64, dN is the lower half of ++# vN. Where the 32-bit version would use the upper half, this file must keep ++# halves in separate registers. ++# ++# The other distinction is in syntax. 32-bit NEON embeds lane information in the ++# instruction name, while AArch64 uses suffixes on the registers. For instance, ++# left-shifting 64-bit lanes of a SIMD register in 32-bit would be written: ++# ++# vshl.i64 q0, q0, #1 ++# ++# in 64-bit, it would be written: ++# ++# shl v0.2d, v0.2d, #1 ++# ++# See Programmer's Guide for ARMv8-A, section 7 for details. ++# http://infocenter.arm.com/help/topic/com.arm.doc.den0024a/DEN0024A_v8_architecture_PG.pdf ++# ++# Finally, note the 8-bit and 64-bit polynomial multipliers in AArch64 differ ++# only by suffix. pmull vR.8h, vA.8b, vB.8b multiplies eight 8-bit polynomials ++# and is always available. pmull vR.1q, vA.1d, vB.1d multiplies a 64-bit ++# polynomial and is conditioned on the PMULL extension. This file emulates the ++# latter with the former. ++ ++use strict; ++ ++my $flavour = shift; ++my $output; ++if ($flavour=~/\w[\w\-]*\.\w+$/) { $output=$flavour; undef $flavour; } ++else { while (($output=shift) && ($output!~/\w[\w\-]*\.\w+$/)) {} } ++ ++if ($flavour && $flavour ne "void") { ++ $0 =~ m/(.*[\/\\])[^\/\\]+$/; ++ my $dir = $1; ++ my $xlate; ++ ( $xlate="${dir}arm-xlate.pl" and -f $xlate ) or ++ ( $xlate="${dir}../../../perlasm/arm-xlate.pl" and -f $xlate) or ++ die "can't locate arm-xlate.pl"; ++ ++ open OUT,"| \"$^X\" $xlate $flavour $output"; ++ *STDOUT=*OUT; ++} else { ++ open OUT,">$output"; ++ *STDOUT=*OUT; ++} ++ ++my ($Xi, $Htbl, $inp, $len) = map("x$_", (0..3)); # argument block ++my ($Xl, $Xm, $Xh, $INlo, $INhi) = map("v$_", (0..4)); ++my ($Hlo, $Hhi, $Hhl) = map("v$_", (5..7)); ++# d8-d15 are callee-saved, so avoid v8-v15. AArch64 SIMD has plenty of registers ++# to spare. ++my ($t0, $t1, $t2, $t3) = map("v$_", (16..19)); ++my ($t0l_t1l, $t0h_t1h, $t2l_t3l, $t2h_t3h) = map("v$_", (20..23)); ++my ($k48_k32, $k16_k0) = map("v$_", (24..25)); ++ ++my $code = ""; ++ ++# clmul64x64 emits code which emulates pmull $r.1q, $a.1d, $b.1d. $r, $a, and $b ++# must be distinct from $t* and $k*. $t* are clobbered by the emitted code. ++sub clmul64x64 { ++my ($r, $a, $b) = @_; ++$code .= <<___; ++ ext $t0.8b, $a.8b, $a.8b, #1 // A1 ++ pmull $t0.8h, $t0.8b, $b.8b // F = A1*B ++ ext $r.8b, $b.8b, $b.8b, #1 // B1 ++ pmull $r.8h, $a.8b, $r.8b // E = A*B1 ++ ext $t1.8b, $a.8b, $a.8b, #2 // A2 ++ pmull $t1.8h, $t1.8b, $b.8b // H = A2*B ++ ext $t3.8b, $b.8b, $b.8b, #2 // B2 ++ pmull $t3.8h, $a.8b, $t3.8b // G = A*B2 ++ ext $t2.8b, $a.8b, $a.8b, #3 // A3 ++ eor $t0.16b, $t0.16b, $r.16b // L = E + F ++ pmull $t2.8h, $t2.8b, $b.8b // J = A3*B ++ ext $r.8b, $b.8b, $b.8b, #3 // B3 ++ eor $t1.16b, $t1.16b, $t3.16b // M = G + H ++ pmull $r.8h, $a.8b, $r.8b // I = A*B3 ++ ++ // Here we diverge from the 32-bit version. It computes the following ++ // (instructions reordered for clarity): ++ // ++ // veor \$t0#lo, \$t0#lo, \$t0#hi @ t0 = P0 + P1 (L) ++ // vand \$t0#hi, \$t0#hi, \$k48 ++ // veor \$t0#lo, \$t0#lo, \$t0#hi ++ // ++ // veor \$t1#lo, \$t1#lo, \$t1#hi @ t1 = P2 + P3 (M) ++ // vand \$t1#hi, \$t1#hi, \$k32 ++ // veor \$t1#lo, \$t1#lo, \$t1#hi ++ // ++ // veor \$t2#lo, \$t2#lo, \$t2#hi @ t2 = P4 + P5 (N) ++ // vand \$t2#hi, \$t2#hi, \$k16 ++ // veor \$t2#lo, \$t2#lo, \$t2#hi ++ // ++ // veor \$t3#lo, \$t3#lo, \$t3#hi @ t3 = P6 + P7 (K) ++ // vmov.i64 \$t3#hi, #0 ++ // ++ // \$kN is a mask with the bottom N bits set. AArch64 cannot compute on ++ // upper halves of SIMD registers, so we must split each half into ++ // separate registers. To compensate, we pair computations up and ++ // parallelize. ++ ++ ext $t3.8b, $b.8b, $b.8b, #4 // B4 ++ eor $t2.16b, $t2.16b, $r.16b // N = I + J ++ pmull $t3.8h, $a.8b, $t3.8b // K = A*B4 ++ ++ // This can probably be scheduled more efficiently. For now, we just ++ // pair up independent instructions. ++ zip1 $t0l_t1l.2d, $t0.2d, $t1.2d ++ zip1 $t2l_t3l.2d, $t2.2d, $t3.2d ++ zip2 $t0h_t1h.2d, $t0.2d, $t1.2d ++ zip2 $t2h_t3h.2d, $t2.2d, $t3.2d ++ eor $t0l_t1l.16b, $t0l_t1l.16b, $t0h_t1h.16b ++ eor $t2l_t3l.16b, $t2l_t3l.16b, $t2h_t3h.16b ++ and $t0h_t1h.16b, $t0h_t1h.16b, $k48_k32.16b ++ and $t2h_t3h.16b, $t2h_t3h.16b, $k16_k0.16b ++ eor $t0l_t1l.16b, $t0l_t1l.16b, $t0h_t1h.16b ++ eor $t2l_t3l.16b, $t2l_t3l.16b, $t2h_t3h.16b ++ zip1 $t0.2d, $t0l_t1l.2d, $t0h_t1h.2d ++ zip1 $t2.2d, $t2l_t3l.2d, $t2h_t3h.2d ++ zip2 $t1.2d, $t0l_t1l.2d, $t0h_t1h.2d ++ zip2 $t3.2d, $t2l_t3l.2d, $t2h_t3h.2d ++ ++ ext $t0.16b, $t0.16b, $t0.16b, #15 // t0 = t0 << 8 ++ ext $t1.16b, $t1.16b, $t1.16b, #14 // t1 = t1 << 16 ++ pmull $r.8h, $a.8b, $b.8b // D = A*B ++ ext $t3.16b, $t3.16b, $t3.16b, #12 // t3 = t3 << 32 ++ ext $t2.16b, $t2.16b, $t2.16b, #13 // t2 = t2 << 24 ++ eor $t0.16b, $t0.16b, $t1.16b ++ eor $t2.16b, $t2.16b, $t3.16b ++ eor $r.16b, $r.16b, $t0.16b ++ eor $r.16b, $r.16b, $t2.16b ++___ ++} ++ ++$code .= <<___; ++#include <GFp/arm_arch.h> ++ ++.text ++ ++.global GFp_gcm_init_neon ++.type GFp_gcm_init_neon,%function ++.align 4 ++GFp_gcm_init_neon: ++ AARCH64_VALID_CALL_TARGET ++ // This function is adapted from gcm_init_v8. xC2 is t3. ++ ld1 {$t1.2d}, [x1] // load H ++ movi $t3.16b, #0xe1 ++ shl $t3.2d, $t3.2d, #57 // 0xc2.0 ++ ext $INlo.16b, $t1.16b, $t1.16b, #8 ++ ushr $t2.2d, $t3.2d, #63 ++ dup $t1.4s, $t1.s[1] ++ ext $t0.16b, $t2.16b, $t3.16b, #8 // t0=0xc2....01 ++ ushr $t2.2d, $INlo.2d, #63 ++ sshr $t1.4s, $t1.4s, #31 // broadcast carry bit ++ and $t2.16b, $t2.16b, $t0.16b ++ shl $INlo.2d, $INlo.2d, #1 ++ ext $t2.16b, $t2.16b, $t2.16b, #8 ++ and $t0.16b, $t0.16b, $t1.16b ++ orr $INlo.16b, $INlo.16b, $t2.16b // H<<<=1 ++ eor $Hlo.16b, $INlo.16b, $t0.16b // twisted H ++ st1 {$Hlo.2d}, [x0] // store Htable[0] ++ ret ++.size GFp_gcm_init_neon,.-GFp_gcm_init_neon ++ ++.global GFp_gcm_gmult_neon ++.type GFp_gcm_gmult_neon,%function ++.align 4 ++GFp_gcm_gmult_neon: ++ AARCH64_VALID_CALL_TARGET ++ ld1 {$INlo.16b}, [$Xi] // load Xi ++ ld1 {$Hlo.1d}, [$Htbl], #8 // load twisted H ++ ld1 {$Hhi.1d}, [$Htbl] ++ adrp x9, :pg_hi21:.Lmasks // load constants ++ add x9, x9, :lo12:.Lmasks ++ ld1 {$k48_k32.2d, $k16_k0.2d}, [x9] ++ rev64 $INlo.16b, $INlo.16b // byteswap Xi ++ ext $INlo.16b, $INlo.16b, $INlo.16b, #8 ++ eor $Hhl.8b, $Hlo.8b, $Hhi.8b // Karatsuba pre-processing ++ ++ mov $len, #16 ++ b .Lgmult_neon ++.size GFp_gcm_gmult_neon,.-GFp_gcm_gmult_neon ++ ++.global GFp_gcm_ghash_neon ++.type GFp_gcm_ghash_neon,%function ++.align 4 ++GFp_gcm_ghash_neon: ++ AARCH64_VALID_CALL_TARGET ++ ld1 {$Xl.16b}, [$Xi] // load Xi ++ ld1 {$Hlo.1d}, [$Htbl], #8 // load twisted H ++ ld1 {$Hhi.1d}, [$Htbl] ++ adrp x9, :pg_hi21:.Lmasks // load constants ++ add x9, x9, :lo12:.Lmasks ++ ld1 {$k48_k32.2d, $k16_k0.2d}, [x9] ++ rev64 $Xl.16b, $Xl.16b // byteswap Xi ++ ext $Xl.16b, $Xl.16b, $Xl.16b, #8 ++ eor $Hhl.8b, $Hlo.8b, $Hhi.8b // Karatsuba pre-processing ++ ++.Loop_neon: ++ ld1 {$INlo.16b}, [$inp], #16 // load inp ++ rev64 $INlo.16b, $INlo.16b // byteswap inp ++ ext $INlo.16b, $INlo.16b, $INlo.16b, #8 ++ eor $INlo.16b, $INlo.16b, $Xl.16b // inp ^= Xi ++ ++.Lgmult_neon: ++ // Split the input into $INlo and $INhi. (The upper halves are unused, ++ // so it is okay to leave them alone.) ++ ins $INhi.d[0], $INlo.d[1] ++___ ++&clmul64x64 ($Xl, $Hlo, $INlo); # H.lo·Xi.lo ++$code .= <<___; ++ eor $INlo.8b, $INlo.8b, $INhi.8b // Karatsuba pre-processing ++___ ++&clmul64x64 ($Xm, $Hhl, $INlo); # (H.lo+H.hi)·(Xi.lo+Xi.hi) ++&clmul64x64 ($Xh, $Hhi, $INhi); # H.hi·Xi.hi ++$code .= <<___; ++ ext $t0.16b, $Xl.16b, $Xh.16b, #8 ++ eor $Xm.16b, $Xm.16b, $Xl.16b // Karatsuba post-processing ++ eor $Xm.16b, $Xm.16b, $Xh.16b ++ eor $Xm.16b, $Xm.16b, $t0.16b // Xm overlaps Xh.lo and Xl.hi ++ ins $Xl.d[1], $Xm.d[0] // Xh|Xl - 256-bit result ++ // This is a no-op due to the ins instruction below. ++ // ins $Xh.d[0], $Xm.d[1] ++ ++ // equivalent of reduction_avx from ghash-x86_64.pl ++ shl $t1.2d, $Xl.2d, #57 // 1st phase ++ shl $t2.2d, $Xl.2d, #62 ++ eor $t2.16b, $t2.16b, $t1.16b // ++ shl $t1.2d, $Xl.2d, #63 ++ eor $t2.16b, $t2.16b, $t1.16b // ++ // Note Xm contains {Xl.d[1], Xh.d[0]}. ++ eor $t2.16b, $t2.16b, $Xm.16b ++ ins $Xl.d[1], $t2.d[0] // Xl.d[1] ^= t2.d[0] ++ ins $Xh.d[0], $t2.d[1] // Xh.d[0] ^= t2.d[1] ++ ++ ushr $t2.2d, $Xl.2d, #1 // 2nd phase ++ eor $Xh.16b, $Xh.16b,$Xl.16b ++ eor $Xl.16b, $Xl.16b,$t2.16b // ++ ushr $t2.2d, $t2.2d, #6 ++ ushr $Xl.2d, $Xl.2d, #1 // ++ eor $Xl.16b, $Xl.16b, $Xh.16b // ++ eor $Xl.16b, $Xl.16b, $t2.16b // ++ ++ subs $len, $len, #16 ++ bne .Loop_neon ++ ++ rev64 $Xl.16b, $Xl.16b // byteswap Xi and write ++ ext $Xl.16b, $Xl.16b, $Xl.16b, #8 ++ st1 {$Xl.16b}, [$Xi] ++ ++ ret ++.size GFp_gcm_ghash_neon,.-GFp_gcm_ghash_neon ++ ++.section .rodata ++.align 4 ++.Lmasks: ++.quad 0x0000ffffffffffff // k48 ++.quad 0x00000000ffffffff // k32 ++.quad 0x000000000000ffff // k16 ++.quad 0x0000000000000000 // k0 ++.asciz "GHASH for ARMv8, derived from ARMv4 version by <appro\@openssl.org>" ++.align 2 ++___ ++ ++foreach (split("\n",$code)) { ++ s/\`([^\`]*)\`/eval $1/geo; ++ ++ print $_,"\n"; ++} ++close STDOUT or die "error closing STDOUT"; # enforce flush +-- +Efraim Flashner <efraim@flashner.co.il> רנשלפ םירפא +GPG key = A28B F40C 3E55 1372 662D 14F7 41AA E7DC CA3D 8351 +Confidentiality cannot be guaranteed on emails sent or received unencrypted + diff --git a/gnu/packages/patches/rust-ring-0.16-test-files.patch b/gnu/packages/patches/rust-ring-0.16-test-files.patch new file mode 100644 index 0000000000..dbe5c0f4ee --- /dev/null +++ b/gnu/packages/patches/rust-ring-0.16-test-files.patch @@ -0,0 +1,54 @@ +This file exists in the upstream repository at the commit which +corresponds to the ring-0.16.20 release, but was excluded from the +release tarball. + +--- + tests/ed25519_verify_tests.txt | 34 ++++++++++++++++++++++++++++++++++ + 1 file changed, 34 insertions(+) + create mode 100644 tests/ed25519_verify_tests.txt + +diff --git a/tests/ed25519_verify_tests.txt b/tests/ed25519_verify_tests.txt +new file mode 100644 +index 0000000..74c94b3 +--- /dev/null ++++ b/tests/ed25519_verify_tests.txt +@@ -0,0 +1,34 @@ ++# BoringSSL TEST(Ed25519Test Malleability) ++ ++# Control; S is in range. ++MESSAGE = 54657374 ++SIG = 7c38e026f29e14aabd059a0f2db8b0cd783040609a8be684db12f82a27774ab07a9155711ecfaf7f99f277bad0c6ae7e39d4eef676573336a5c51eb6f946b30d ++PUB = 7d4d0e7f6153a69b6242b522abbee685fda4420f8834b108c3bdae369ef549fa ++Result = P ++ ++# Same as above, but with the order L added to S so it is out of range. ++# BoringSSL commit 472ba2c2dd52d06a657a63b7fbf02732a6649d21 ++MESSAGE = 54657374 ++SIG = 7c38e026f29e14aabd059a0f2db8b0cd783040609a8be684db12f82a27774ab067654bce3832c2d76f8f6f5dafc08d9339d4eef676573336a5c51eb6f946b31d ++PUB = 7d4d0e7f6153a69b6242b522abbee685fda4420f8834b108c3bdae369ef549fa ++Result = F ++ ++ ++# BoringSSL commit 3094902fcdc2db2cc832fa854b9a6a8be383926c ++MESSAGE = 124e583f8b8eca58bb29c271b41d36986bbc45541f8e51f9cb0133eca447601e ++SIG = dac119d6ca87fc59ae611c157048f4d4fc932a149dbe20ec6effd1436abf83ea05c7df0fef06147241259113909bc71bd3c53ba4464ffcad3c0968f2ffffff0f ++PUB = 100fdf47fb94f1536a4f7c3fda27383fa03375a8f527c537e6f1703c47f94f86 ++Result = P ++ ++# Control. Same key as above; same message and signature as below, except S is in range. ++PUB = 100fdf47fb94f1536a4f7c3fda27383fa03375a8f527c537e6f1703c47f94f86 ++MESSAGE = 6a0bc2b0057cedfc0fa2e3f7f7d39279b30f454a69dfd1117c758d86b19d85e0 ++SIG = 0971f86d2c9c78582524a103cb9cf949522ae528f8054dc20107d999be673ff4f58ac9d20ec563133cabc6230b1db8625f8446639ede46ad4df4053000000000 ++Result = P ++ ++# Same key as above, but S is out of range. ++# BoringSSL commit 472ba2c2dd52d06a657a63b7fbf02732a6649d21 ++PUB = 100fdf47fb94f1536a4f7c3fda27383fa03375a8f527c537e6f1703c47f94f86 ++MESSAGE = 6a0bc2b0057cedfc0fa2e3f7f7d39279b30f454a69dfd1117c758d86b19d85e0 ++SIG = 0971f86d2c9c78582524a103cb9cf949522ae528f8054dc20107d999be673ff4e25ebf2f2928766b1248bec6e91697775f8446639ede46ad4df4053000000010 ++Result = F +-- +Efraim Flashner <efraim@flashner.co.il> רנשלפ םירפא +GPG key = A28B F40C 3E55 1372 662D 14F7 41AA E7DC CA3D 8351 +Confidentiality cannot be guaranteed on emails sent or received unencrypted + diff --git a/gnu/packages/pdf.scm b/gnu/packages/pdf.scm index 7291c42278..e270bdf27f 100644 --- a/gnu/packages/pdf.scm +++ b/gnu/packages/pdf.scm @@ -1040,7 +1040,7 @@ using a stylus.") (inputs (list alsa-lib gtk+ - librsvg + (librsvg-for-system) libsndfile libxml2 libzip diff --git a/gnu/packages/photo.scm b/gnu/packages/photo.scm index 6c77d569c3..72050a25aa 100644 --- a/gnu/packages/photo.scm +++ b/gnu/packages/photo.scm @@ -2,7 +2,7 @@ ;;; Copyright © 2014, 2015, 2017, 2019, 2021 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2015 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2015, 2017 Andreas Enge <andreas@enge.fr> -;;; Copyright © 2016, 2017, 2018, 2019, 2021 Efraim Flashner <efraim@flashner.co.il> +;;; Copyright © 2016-2019, 2021, 2023 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2017 Roel Janssen <roel@gnu.org> ;;; Copyright © 2018–2022 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2018 Leo Famulari <leo@famulari.name> @@ -617,7 +617,7 @@ such as Batch image processing.") (define-public entangle (package (name "entangle") - (version "3.0") + (version "3.0") ; delete the 'build-with-meson-0.60 phase when updating (source (origin (method git-fetch) @@ -629,34 +629,39 @@ such as Batch image processing.") (base32 "1pdmgxjdb3xlcqsaz7l8qzj5f7g7nwzhsrgid8929bm36d49cgc7")))) (build-system meson-build-system) (arguments - `(#:glib-or-gtk? #t - #:phases - (modify-phases %standard-phases - (add-after 'unpack 'skip-gtk-update-icon-cache - ;; Don't create 'icon-theme.cache'. - (lambda _ - (substitute* "meson_post_install.py" - (("gtk-update-icon-cache") "true")) - #t)) - (add-after 'install 'wrap-gi-python - ;; Make GTK find files needed by plugins. - (lambda* (#:key inputs outputs #:allow-other-keys) - (let ((out (assoc-ref outputs "out")) - (gi-typelib-path (getenv "GI_TYPELIB_PATH")) - (python-path (getenv "GUIX_PYTHONPATH"))) - (wrap-program (string-append out "/bin/entangle") - `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path)) - `("GUIX_PYTHONPATH" ":" prefix (,python-path)))) - #t))))) + (list + #:glib-or-gtk? #t + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'build-with-meson-0.60 + ;; Work around ‘ERROR: Function does not take positional arguments.’. + (lambda _ + (substitute* "src/meson.build" + (("^i18n\\.merge_file.*" match) + (string-append match " data_dirs:"))))) + (add-after 'unpack 'skip-gtk-update-icon-cache + ;; Don't create 'icon-theme.cache'. + (lambda _ + (substitute* "meson_post_install.py" + (("gtk-update-icon-cache") "true")))) + (add-after 'install 'wrap-gi-python + ;; Make GTK find files needed by plugins. + (lambda* (#:key inputs #:allow-other-keys) + (let ((gi-typelib-path (getenv "GI_TYPELIB_PATH")) + (python-path (getenv "GUIX_PYTHONPATH"))) + (wrap-program (string-append #$output "/bin/entangle") + `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path)) + `("GUIX_PYTHONPATH" ":" prefix (,python-path))))))))) (native-inputs - `(("cmake" ,cmake) - ("gettext" ,gettext-minimal) - ("glib:bin" ,glib "bin") - ("gobject-introspection" ,gobject-introspection) - ("gtk-doc" ,gtk-doc) - ("perl" ,perl) - ("pkg-config" ,pkg-config) - ("xmllint" ,libxml2))) + (list cmake + gettext-minimal + `(,glib "bin") + gobject-introspection + gtk-doc + itstool + libxml2 + perl + pkg-config)) (inputs (list gdk-pixbuf gexiv2 @@ -791,7 +796,7 @@ a complete panorama and stitch any series of overlapping pictures.") libiptcdata libjpeg-turbo libpng - librsvg + (librsvg-for-system) libsigc++ libtiff zlib)) diff --git a/gnu/packages/pretty-print.scm b/gnu/packages/pretty-print.scm index 89e5de6278..5d15b160f3 100644 --- a/gnu/packages/pretty-print.scm +++ b/gnu/packages/pretty-print.scm @@ -10,6 +10,7 @@ ;;; Copyright © 2021 Greg Hogan <code@greghogan.com> ;;; Copyright © 2022 Zhu Zihao <all_but_last@163.com> ;;; Copyright © 2022, 2023 Maxim Cournoyer <maxim.cournoyer@gmail.com> +;;; Copyright © 2023 gemmaro <gemmaro.dev@gmail.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -51,7 +52,8 @@ #:use-module (gnu packages lua) #:use-module (gnu packages perl) #:use-module (gnu packages pkg-config) - #:use-module (gnu packages swig)) + #:use-module (gnu packages swig) + #:use-module (gnu packages qt)) (define-public a2ps (package @@ -350,55 +352,96 @@ seen in a terminal.") (define-public highlight (package (name "highlight") - (version "3.62") - (source - (origin - (method url-fetch) - (uri (string-append "http://www.andre-simon.de/zip/highlight-" - version ".tar.bz2")) - (sha256 - (base32 "088di7qxd6b2r22qljllhnly0r9a0lfnwnfqswjn23s09awjbl6p")))) + (version "4.7") + (outputs (list "out" "gui")) + (source (origin + (method url-fetch) + (uri (string-append "http://www.andre-simon.de/zip/highlight-" + version ".tar.bz2")) + (sha256 + (base32 + "1cl21qpgy92w1x53vrn1bgq84mkh6fgayc9k38mz4xmz2yw01nv1")) + (patches (search-patches "highlight-gui-data-dir.patch")))) (build-system gnu-build-system) (arguments - `(#:tests? #f ; no tests - #:make-flags - (let ((confdir (string-append %output "/share/highlight/config/"))) - (list (string-append "PREFIX=" %output) - (string-append "HL_CONFIG_DIR=" confdir) - (string-append "conf_dir=" confdir))) - #:phases - (modify-phases %standard-phases - (delete 'configure) ; no configure script - (add-after 'unpack 'fix-search-for-lua - (lambda _ - (substitute* "src/makefile" - (("(LUA_PKG_NAME=).*" _ assignment) - (string-append assignment "lua-" ,(version-major+minor - (package-version lua)) - "\n"))) - (substitute* "extras/swig/makefile" - (("lua") (string-append "lua-" ,(version-major+minor - (package-version lua))))) - #t)) - (add-after 'install 'install-perl-bindings - (lambda* (#:key outputs #:allow-other-keys) - (let* ((perldir (string-append (assoc-ref outputs "out") - "/lib/perl5/site_perl/" - ,(package-version perl))) - (autodir (string-append perldir "/auto/highlight"))) - (with-directory-excursion "extras/swig" - (invoke "make" "perl") - (invoke "perl" "-I" "." "testmod.pl") - (install-file "highlight.pm" perldir) - (install-file "highlight.so" autodir)) - #t)))))) - (inputs - (list lua boost perl)) - (native-inputs - (list pkg-config swig)) + (list #:tests? #f ;no tests + #:make-flags #~(let ((confdir (string-append %output + "/share/highlight/config/"))) + (list (string-append "PREFIX=" %output) + (string-append "HL_CONFIG_DIR=" confdir) + (string-append "conf_dir=" confdir))) + #:phases #~(modify-phases %standard-phases + (delete 'configure) ;no configure script + (add-after 'unpack 'fix-search-for-lua + (lambda _ + (let ((ver #$(version-major+minor (package-version + lua)))) + (substitute* "src/makefile" + (("(LUA_PKG_NAME=).*" _ assignment) + (string-append assignment "lua-" ver "\n"))) + (substitute* "src/gui-qt/highlight.pro" + (("(PKGCONFIG \\+= lua)" _ assignment) + (string-append assignment "-" ver))) + (substitute* "extras/swig/makefile" + (("lua") + (string-append "lua-" ver)))))) + (add-after 'build 'build-gui + (lambda* (#:key inputs outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (data (string-append out + "/share/highlight/")) + (conf (string-append out "/etc/highlight/")) + (doc (string-append out + "/share/doc/highlight/")) + (gui (assoc-ref outputs "gui")) + (gui-data (string-append gui + "/share/highlight/"))) + ;; modified version of gui task in makefile + (invoke "make" + "-C" + "./src" + "-f" + "./makefile" + (string-append "HL_DATA_DIR=" data) + (string-append "HL_CONFIG_DIR=" conf) + (string-append "HL_DOC_DIR=" doc) + (string-append "GUI_DATA_DIR=" gui-data) + "gui-qt")))) + (replace 'install + (lambda* (#:key outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out"))) + (invoke "make" "install" + (string-append "PREFIX=" out))))) + (add-after 'install 'install-perl-bindings + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (data (string-append out + "/share/highlight/")) + (conf (string-append out "/etc/highlight/")) + (perldir (string-append out + "/lib/perl5/site_perl/" + #$(package-version perl))) + (autodir (string-append perldir + "/auto/highlight"))) + (with-directory-excursion "extras/swig" + (invoke "make" "perl" + (string-append "hl_data_dir=" data) + (string-append "hl_conf_dir=" conf)) + (invoke "perl" "-I" "." "testmod.pl") + (install-file "highlight.pm" perldir) + (install-file "highlight.so" autodir))))) + (add-after 'install 'install-gui + (lambda* (#:key outputs #:allow-other-keys) + (let ((gui (assoc-ref outputs "gui"))) + (mkdir-p (string-append gui "/bin")) + (invoke "make" "install-gui" + (string-append "PREFIX=" gui)))))))) + (inputs (list lua boost perl qtbase-5)) + (native-inputs (list pkg-config swig)) (home-page "http://www.andre-simon.de/doku/highlight/en/highlight.php") (synopsis "Convert code to documents with syntax highlighting") - (description "Highlight converts source code to HTML, XHTML, RTF, LaTeX, + (description + "Highlight converts source code to HTML, XHTML, RTF, LaTeX, TeX, SVG, BBCode and terminal escape sequences with colored syntax highlighting. Language definitions and color themes are customizable.") (license gpl3+))) diff --git a/gnu/packages/python-crypto.scm b/gnu/packages/python-crypto.scm index 44babe5c8c..cfd1146f06 100644 --- a/gnu/packages/python-crypto.scm +++ b/gnu/packages/python-crypto.scm @@ -476,14 +476,14 @@ is used by the Requests library to verify HTTPS requests.") (define-public python-cryptography-vectors (package (name "python-cryptography-vectors") - (version "40.0.1") + (version "40.0.2") (source (origin (method url-fetch) (uri (pypi-uri "cryptography_vectors" version)) (sha256 (base32 - "0hd0ppss5xg0kzf36q8cdaxh1xw8ry4k7jkianlf832xbdmp0q44")))) + "16hcprw919f2rl3jipsy2996bnsz170inway3lishqi30xwqf6x8")))) (build-system python-build-system) (home-page "https://github.com/pyca/cryptography") (synopsis "Test vectors for the cryptography package") @@ -495,14 +495,14 @@ is used by the Requests library to verify HTTPS requests.") (define-public python-cryptography (package (name "python-cryptography") - (version "40.0.1") + (version "40.0.2") (source (origin (method url-fetch) (uri (pypi-uri "cryptography" version)) (sha256 (base32 - "0wilrilfcyl78caxcpna2k3aya6qamppwv4j35262pz9n7wg40r8")))) + "16awbsm13vdksm98dybwvmpy2y1l636bq7g0s93scksrp0r0sg63")))) (build-system pyproject-build-system) (arguments (list @@ -557,11 +557,6 @@ ciphers, message digests and key derivation functions.") (guix build utils) (srfi srfi-1) (ice-9 match)) - ;; XXX: Building the test objects appear to fail due to a missing link - ;; directive to Python's shared library (e.g.: "ld: - ;; cryptography_rust.c950d742-cgu.11:(.text._ZN3...+0x57): undefined - ;; reference to `PyLong_FromLong'"). - #:tests? #f #:phases #~(modify-phases %standard-phases (add-after 'unpack 'chdir @@ -579,12 +574,18 @@ ciphers, message digests and key derivation functions.") (apply (assoc-ref %standard-phases 'configure) (append args (list #:inputs (alist-delete "source" inputs)))))) + (replace 'check + (lambda* (#:key tests? #:allow-other-keys) + (when tests? + ;; As seen in tox.ini + (invoke "cargo" "test" "--no-default-features")))) (add-after 'install 'install-shared-library (lambda _ (install-file "target/release/libcryptography_rust.so" (string-append #$output "/lib"))))) #:cargo-inputs `(("rust-asn1-0.13" ,rust-asn1-0.13) + ("rust-cc" ,rust-cc-1) ("rust-chrono-0.4" ,rust-chrono-0.4) ("rust-foreign-types-shared-0.1" ,rust-foreign-types-shared-0.1) ("rust-once-cell-1" ,rust-once-cell-1) @@ -592,9 +593,7 @@ ciphers, message digests and key derivation functions.") ("rust-openssl-sys-0.9" ,rust-openssl-sys-0.9) ("rust-ouroboros-0.15" ,rust-ouroboros-0.15) ("rust-pem-1" ,rust-pem-1) - ("rust-pyo3-0.15" ,rust-pyo3-0.15)) - #:cargo-development-inputs - `(("rust-cc" ,rust-cc-1)))) + ("rust-pyo3-0.15" ,rust-pyo3-0.15)))) (native-inputs (list pkg-config python python-cffi)) ;; XXX: Adding rust-openssl-sys-0.9 is needed because #:cargo-inputs ;; doesn't honor propagated-inputs. diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm index b8e8097c7b..c5e170b628 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -23251,17 +23251,15 @@ Git.") (define-public python-setuptools-rust (package (name "python-setuptools-rust") - (version "1.1.2") + (version "1.6.0") (source (origin (method url-fetch) (uri (pypi-uri "setuptools-rust" version)) (sha256 - (base32 "1lb57qx1azklgzmalflq960agvwci4bwddw0zvlc9zy00fsvkbd0")))) - (build-system python-build-system) + (base32 "0qi274r0fcnvxa8vs8vyhcknnzhq8pd0ig5zk1wmjc63x96p6vn8")))) + (build-system pyproject-build-system) (arguments '(#:tests? #f)) ;no tests - (native-inputs - (list python-setuptools-scm)) (propagated-inputs (list python-semantic-version python-typing-extensions)) (home-page "https://github.com/PyO3/setuptools-rust") diff --git a/gnu/packages/rdesktop.scm b/gnu/packages/rdesktop.scm index be4fe83cdc..2a969a2f78 100644 --- a/gnu/packages/rdesktop.scm +++ b/gnu/packages/rdesktop.scm @@ -31,19 +31,29 @@ #:use-module (guix utils) #:use-module (guix build-system cmake) #:use-module (guix build-system gnu) + #:use-module (gnu packages assembly) + #:use-module (gnu packages autotools) + #:use-module (gnu packages bison) + #:use-module (gnu packages check) #:use-module (gnu packages compression) #:use-module (gnu packages cups) #:use-module (gnu packages docbook) + #:use-module (gnu packages flex) #:use-module (gnu packages freedesktop) + #:use-module (gnu packages gettext) #:use-module (gnu packages glib) #:use-module (gnu packages gstreamer) #:use-module (gnu packages image) #:use-module (gnu packages libusb) #:use-module (gnu packages linux) + #:use-module (gnu packages mp3) #:use-module (gnu packages nettle) #:use-module (gnu packages pkg-config) + #:use-module (gnu packages python) + #:use-module (gnu packages python-xyz) #:use-module (gnu packages pulseaudio) #:use-module (gnu packages tls) + #:use-module (gnu packages version-control) #:use-module (gnu packages video) #:use-module (gnu packages xdisorg) #:use-module (gnu packages xorg) @@ -137,3 +147,109 @@ It consists of the @code{xfreerdp} client, libraries for client and server functionality, and Windows Portable Runtime (WinPR), a portable implementation of parts of the Windows API.") (license license:asl2.0))) + +(define-public xrdp + (package + (name "xrdp") + (version "0.9.22.1") + (source (origin + (method url-fetch) + (uri (string-append + "https://github.com/neutrinolabs/xrdp/releases/download/v" + version "/xrdp-" version ".tar.gz")) + (sha256 + (base32 + "1jzknwy003fk5lqzrncbypirq3smpghxy2prg2m2ljjrx77j1lvd")))) + (build-system gnu-build-system) + (inputs (list check + fuse-2 + imlib2 + lame + libjpeg-turbo + libx11 + libxfixes + libxml2 + libxpm + libxrandr + libxslt + libxt + linux-pam + openssl + pixman + python + python-libxml2)) + (native-inputs (list bison + flex + gettext-minimal + intltool + nasm + pkg-config + pixman)) + (arguments + (list #:configure-flags #~(list "--enable-strict-locations=yes" + "--enable-fuse=yes" + "--enable-mp3lame=yes" + "--enable-pixman=yes" + "--enable-imlib2=yes" + "--enable-pam-config=unix" + "--enable-ipv6=yes"))) + (home-page "https://www.xrdp.org") + (synopsis "Remote Desktop Protocol (RDP) server") + (description + "Xrdp provides a graphical login to remote machines using +Microsoft Remote Desktop Protocol (RDP). Xrdp accepts connections from a +variety of RDP clients: +@itemize +@item FreeRDP +@item rdesktop +@item KRDC +@item NeutrinoRDP +@item Windows MSTSC (Microsoft Terminal Services Client, aka mstsc.exe) +@item Microsoft Remote Desktop (found on Microsoft Store, which is distinct from MSTSC). +@end itemize") + (license license:asl2.0))) + +(define-public xorgxrdp + (package + (name "xorgxrdp") + (version "0.9.19") + (source (origin + (method url-fetch) + (uri (string-append + "https://github.com/neutrinolabs/xorgxrdp/releases/download/v" + version "/xorgxrdp-" version ".tar.gz")) + (sha256 + (base32 + "0m8lvdnhfvwwqrr56difgy3mblplp23x6iy12kl4r8i87ic4rky1")))) + (build-system gnu-build-system) + (inputs (list check + imlib2 + libx11 + libxfixes + libxfont2 + libxml2 + libxpm + libxrandr + libxslt + libxt + pixman + xdpyinfo + xorg-server + xrdp)) + (native-inputs (list nasm + intltool + pkg-config + pixman)) + (arguments + (list #:configure-flags #~(list "--enable-strict-locations=yes" + (string-append "XRDP_CFLAGS=-I" + #$(this-package-input + "xrdp") "/common")))) + (home-page "https://github.com/neutrinolabs/xorgxrdp") + (synopsis "Xorg drivers for xrdp") + (description + "xorgxrdp is a collection of modules to be used with a pre-existing X.Org +install to make the X server act like X11rdp. Unlike X11rdp, you don't have to +recompile the whole X Window System. Instead, additional modules are installed +to a location where the existing Xorg installation would pick them.") + (license license:x11))) diff --git a/gnu/packages/rust-apps.scm b/gnu/packages/rust-apps.scm index 8c29969712..a291282325 100644 --- a/gnu/packages/rust-apps.scm +++ b/gnu/packages/rust-apps.scm @@ -41,6 +41,7 @@ (define-module (gnu packages rust-apps) #:use-module (guix build-system cargo) + #:use-module (guix build-system pyproject) #:use-module (guix deprecation) #:use-module (guix download) #:use-module (guix gexp) @@ -74,6 +75,8 @@ #:use-module (gnu packages perl) #:use-module (gnu packages pkg-config) #:use-module (gnu packages pulseaudio) + #:use-module (gnu packages python) + #:use-module (gnu packages python-build) #:use-module (gnu packages python-xyz) #:use-module (gnu packages rust) #:use-module (gnu packages tls) @@ -520,6 +523,11 @@ also knows about symlinks, extended attributes, and Git.") (setenv "CARGO_FEATURE_UNPREFIXED_MALLOC_ON_SUPPORTED_PLATFORMS" "1") (setenv "JEMALLOC_OVERRIDE" (string-append jemalloc "/lib/libjemalloc.so"))))) + (add-after 'unpack 'adjust-feature-flags + (lambda _ + ;; unstable-grouped was stablized in rust-clap 4.2.0 + (substitute* "Cargo.toml" + ((".*unstable-grouped.*") "")))) (add-after 'install 'install-extra (lambda* (#:key outputs #:allow-other-keys) (let ((out (assoc-ref outputs "out"))) @@ -729,6 +737,168 @@ replacement for i3status, written in pure Rust. It provides a way to display bar. It is also compatible with sway.") (license license:gpl3))) +(define-public maturin + (package + (name "maturin") + (version "1.1.0") + (source (origin + (method url-fetch) + (uri (crate-uri "maturin" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0asdljd396kdsvnx9kbsr5s0x6w73b59kdpx732333dhm13qgn03")) + (patches (search-patches "maturin-no-cross-compile.patch")))) + (build-system cargo-build-system) + (arguments + `(#:modules ((guix build cargo-build-system) + ((guix build pyproject-build-system) #:prefix py:) + (guix build utils)) + #:imported-modules ((guix build cargo-build-system) + (guix build cargo-utils) + ,@%pyproject-build-system-modules) + #:install-source? #f + #:cargo-test-flags + '("--release" "--" + ;; Not all files are included. + "--skip=build_options::test::test_find_bridge_bin" + "--skip=build_options::test::test_find_bridge_cffi" + "--skip=build_options::test::test_find_bridge_pyo3" + "--skip=build_options::test::test_find_bridge_pyo3_abi3" + "--skip=build_options::test::test_find_bridge_pyo3_feature" + "--skip=metadata::test::test_implicit_readme" + "--skip=metadata::test::test_merge_metadata_from_pyproject_dynamic_license_test" + "--skip=metadata::test::test_merge_metadata_from_pyproject_toml" + "--skip=metadata::test::test_merge_metadata_from_pyproject_toml_with_customized_python_source_dir" + "--skip=pyproject_toml::tests::test_warn_missing_maturin_version") + #:cargo-inputs + (("rust-anyhow" ,rust-anyhow-1) + ("rust-base64" ,rust-base64-0.21) + ("rust-bytesize" ,rust-bytesize-1) + ("rust-cargo-config2" ,rust-cargo-config2-0.1) + ("rust-cargo-options" ,rust-cargo-options-0.6) + ;("rust-cargo-xwin" ,rust-cargo-xwin-0.14) + ;("rust-cargo-zigbuild" ,rust-cargo-zigbuild-0.16) + ("rust-cargo-metadata" ,rust-cargo-metadata-0.15) + ("rust-cbindgen" ,rust-cbindgen-0.24) + ("rust-cc" ,rust-cc-1) + ("rust-clap" ,rust-clap-4) + ("rust-clap-complete-command" ,rust-clap-complete-command-0.5) + ("rust-configparser" ,rust-configparser-3) + ("rust-console" ,rust-console-0.15) + ("rust-dialoguer" ,rust-dialoguer-0.10) + ("rust-dirs" ,rust-dirs-5) + ("rust-dunce" ,rust-dunce-1) + ("rust-fat-macho" ,rust-fat-macho-0.4) + ("rust-flate2" ,rust-flate2-1) + ("rust-fs-err" ,rust-fs-err-2) + ("rust-glob" ,rust-glob-0.3) + ("rust-goblin" ,rust-goblin-0.6) + ("rust-ignore" ,rust-ignore-0.4) + ("rust-indexmap" ,rust-indexmap-1) + ("rust-itertools" ,rust-itertools-0.10) + ("rust-keyring" ,rust-keyring-2) + ("rust-lddtree" ,rust-lddtree-0.3) + ("rust-minijinja" ,rust-minijinja-0.34) + ("rust-multipart" ,rust-multipart-0.18) + ("rust-native-tls" ,rust-native-tls-0.2) + ("rust-normpath" ,rust-normpath-1) + ("rust-once-cell" ,rust-once-cell-1) + ("rust-pep440-rs" ,rust-pep440-rs-0.3) + ("rust-pep508-rs" ,rust-pep508-rs-0.2) + ("rust-platform-info" ,rust-platform-info-2) + ("rust-pyproject-toml" ,rust-pyproject-toml-0.6) + ("rust-python-pkginfo" ,rust-python-pkginfo-0.5) + ("rust-regex" ,rust-regex-1) + ("rust-rustc-version" ,rust-rustc-version-0.4) + ("rust-rustls" ,rust-rustls-0.20) + ("rust-rustls-pemfile" ,rust-rustls-pemfile-1) + ("rust-same-file" ,rust-same-file-1) + ("rust-semver" ,rust-semver-1) + ("rust-serde" ,rust-serde-1) + ("rust-serde-json" ,rust-serde-json-1) + ("rust-sha2" ,rust-sha2-0.10) + ("rust-tar" ,rust-tar-0.4) + ("rust-target-lexicon" ,rust-target-lexicon-0.12) + ("rust-tempfile" ,rust-tempfile-3) + ("rust-textwrap" ,rust-textwrap-0.16) + ("rust-thiserror" ,rust-thiserror-1) + ("rust-time" ,rust-time-0.3) + ("rust-toml" ,rust-toml-0.7) + ("rust-toml-edit" ,rust-toml-edit-0.19) + ("rust-tracing" ,rust-tracing-0.1) + ("rust-tracing-subscriber" ,rust-tracing-subscriber-0.3) + ("rust-ureq" ,rust-ureq-2) + ("rust-url" ,rust-url-2) + ("rust-wild" ,rust-wild-2) + ("rust-zip" ,rust-zip-0.6)) + #:cargo-development-inputs + (("rust-indoc" ,rust-indoc-2) + ("rust-pretty-assertions" ,rust-pretty-assertions-1) + ("rust-rustversion" ,rust-rustversion-1) + ("rust-time" ,rust-time-0.3) + ("rust-trycmd" ,rust-trycmd-0.14) + ("rust-which" ,rust-which-4)) + #:phases + (modify-phases %standard-phases + (add-after 'build 'build-python-module + (lambda _ + ;; Match the features from the cargo-build-system and Cargo.toml. + (setenv "MATURIN_SETUP_ARGS" "--features=default") + ((assoc-ref py:%standard-phases 'build)))) + + ;; We can't use the pyproject install phase because maturin is a + ;; binary, not a python script. + (add-after 'install 'install-python-module + (lambda* (#:key inputs outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out")) + (wheel (car (find-files "dist" "\\.whl$"))) + (site-dir (py:site-packages inputs outputs)) + (pyversion + (string-append "python" + (py:python-version + (assoc-ref inputs "python-wrapper"))))) + (invoke "python" "-m" "zipfile" "-e" wheel site-dir) + (mkdir-p (string-append out "/bin")) + (for-each delete-file + (find-files (string-append out "/lib/" pyversion) + "^maturin$"))))) + (add-after 'install 'install-completions + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (share (string-append out "/share")) + (maturin (string-append out "/bin/maturin"))) + ;; TODO? fig, nushell, powershell + (mkdir-p (string-append share "/bash-completion/completions")) + (with-output-to-file + (string-append share "/bash-completion/completions/maturin") + (lambda _ (invoke maturin "completions" "bash"))) + (mkdir-p (string-append share "/fish/vendor_completions.d")) + (with-output-to-file + (string-append share "/fish/vendor_completions.d/maturin.fish") + (lambda _ (invoke maturin "completions" "fish"))) + (mkdir-p (string-append share "/zsh/site-functions")) + (with-output-to-file + (string-append share "/zsh/site-functions/_maturin") + (lambda _ (invoke maturin "completions" "zsh"))) + (mkdir-p (string-append share "/elvish/lib")) + (with-output-to-file + (string-append share "/elvish/lib/maturin") + (lambda _ (invoke maturin "completions" "elvish"))))))))) + (propagated-inputs + (list python-tomli)) + (native-inputs + (list perl + python-wheel + python-wrapper + python-setuptools-rust)) + (home-page "https://github.com/pyo3/maturin") + (synopsis "Build and publish crates and python packages") + (description + "Build and publish crates with @code{pyo3}, @code{rust-cpython} and +@code{cffi} bindings as well as rust binaries as python packages.") + (license (list license:expat license:asl2.0)))) + (define-public ripgrep (package (name "ripgrep") @@ -1099,19 +1269,6 @@ rebase.") (base32 "006rn3fn4njayjxr2vd24g1awssr9i3894nbmfzkybx07j728vav")))))) -(define-public rust-cbindgen-0.20 - (package - (inherit rust-cbindgen-0.24) - (name "rust-cbindgen") - (version "0.20.0") - (source (origin - (method url-fetch) - (uri (crate-uri "cbindgen" version)) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 - "1p67vvjkxh07yfizfkvm6bjlv2bywrnl57hshcsz9h2x2qxrgqsi")))))) - (define-public rust-cbindgen-0.19 (package (inherit rust-cbindgen) @@ -1144,36 +1301,6 @@ rebase.") (native-inputs (list python-cython)))) -(define-public rust-cbindgen-0.17 - (package - (inherit rust-cbindgen) - (name "rust-cbindgen") - (version "0.17.0") - (source (origin - (method url-fetch) - (uri (crate-uri "cbindgen" version)) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 - "1f40hxj6h7wqmsj8dzxjm3m421hjqpz2m5zxasbn8kgnr6scykvl")))) - (arguments - `(#:cargo-inputs - (("rust-clap" ,rust-clap-2) - ("rust-heck" ,rust-heck-0.3) - ("rust-indexmap" ,rust-indexmap-1) - ("rust-log" ,rust-log-0.4) - ("rust-proc-macro2" ,rust-proc-macro2-1) - ("rust-quote" ,rust-quote-1) - ("rust-serde" ,rust-serde-1) - ("rust-serde-json" ,rust-serde-json-1) - ("rust-syn" ,rust-syn-1) - ("rust-tempfile" ,rust-tempfile-3) - ("rust-toml" ,rust-toml-0.5)) - #:cargo-development-inputs - (("rust-serial-test" ,rust-serial-test-0.5)))) - (native-inputs - (list python-cython)))) - (define-public rust-cbindgen-0.16 (package (inherit rust-cbindgen) @@ -1203,63 +1330,6 @@ rebase.") #:cargo-development-inputs (("rust-serial-test" ,rust-serial-test-0.5)))))) -(define-public rust-cbindgen-0.15 - (package - (inherit rust-cbindgen) - (name "rust-cbindgen") - (version "0.15.0") - (source - (origin - (method url-fetch) - (uri (crate-uri "cbindgen" version)) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 "0dgf49zij9rxnf0lv4k5gcmx1mxcz16czkk6q63anz0xp8ds3xhx")))) - (arguments - `(#:tests? #false ;missing files - #:cargo-inputs - (("rust-clap" ,rust-clap-2) - ("rust-heck" ,rust-heck-0.3) - ("rust-indexmap" ,rust-indexmap-1) - ("rust-log" ,rust-log-0.4) - ("rust-proc-macro2" ,rust-proc-macro2-1) - ("rust-quote" ,rust-quote-1) - ("rust-serde" ,rust-serde-1) - ("rust-serde-json" ,rust-serde-json-1) - ("rust-syn" ,rust-syn-1) - ("rust-tempfile" ,rust-tempfile-3) - ("rust-toml" ,rust-toml-0.5)))))) - -(define-public rust-cbindgen-0.14 - (package - (inherit rust-cbindgen) - (name "rust-cbindgen") - (version "0.14.1") - (source - (origin - (method url-fetch) - (uri (crate-uri "cbindgen" version)) - (file-name - (string-append name "-" version ".tar.gz")) - (sha256 - (base32 - "1ppwqbzydxlg9a24lynzfk60xrvqw4k31mpz1wrk6lbf88zf8nxi")))))) - -(define-public rust-cbindgen-0.12 - (package - (inherit rust-cbindgen) - (name "rust-cbindgen") - (version "0.12.2") - (source - (origin - (method url-fetch) - (uri (crate-uri "cbindgen" version)) - (file-name - (string-append name "-" version ".tar.gz")) - (sha256 - (base32 - "13jzbmjz1bmmfr0i80hw6ar484mgabx3hbpb2ynhk0ddqi0yr58m")))))) - (define-public sniffglue (package (name "sniffglue") @@ -1869,7 +1939,7 @@ support for Rust.") (define-public rust-cargo-c (package (name "rust-cargo-c") - (version "0.9.16+cargo-0.68") + (version "0.9.18+cargo-0.69") (source (origin (method url-fetch) @@ -1878,12 +1948,12 @@ support for Rust.") (string-append name "-" version ".tar.gz")) (sha256 (base32 - "0k2sw67dx06b45qpvckbhz00kn2ingd89y53pwlzky72hnzv075v")))) + "191d0813g4m2g1c1h8ykgrfp00blkbds6pg3zl044iyxaclng29h")))) (build-system cargo-build-system) (arguments `(#:cargo-inputs (("rust-anyhow" ,rust-anyhow-1) - ("rust-cargo" ,rust-cargo-0.68) + ("rust-cargo" ,rust-cargo-0.69) ("rust-cargo-util" ,rust-cargo-util-0.2) ("rust-cbindgen" ,rust-cbindgen-0.24) ("rust-cc" ,rust-cc-1) @@ -1896,7 +1966,7 @@ support for Rust.") ("rust-serde" ,rust-serde-1) ("rust-serde-derive" ,rust-serde-derive-1) ("rust-serde-json" ,rust-serde-json-1) - ("rust-toml" ,rust-toml-0.6)))) + ("rust-toml" ,rust-toml-0.7)))) (native-inputs (list pkg-config)) (inputs diff --git a/gnu/packages/rust.scm b/gnu/packages/rust.scm index 8e106a9927..4ee5ded5de 100644 --- a/gnu/packages/rust.scm +++ b/gnu/packages/rust.scm @@ -705,7 +705,7 @@ safety and thread safety guarantees.") (rust-bootstrapped-package rust-1.67 "1.68.2" "15ifyd5jj8rd979dkakp887hgmhndr68pqaqvd2hqkfdywirqcwk")) -;;; Note: Only the latest versions of Rust are supported and tested. The +;;; Note: Only the latest version of Rust is supported and tested. The ;;; intermediate rusts are built for bootstrapping purposes and should not ;;; be relied upon. This is to ease maintenance and reduce the time ;;; required to build the full Rust bootstrap chain. @@ -713,7 +713,7 @@ safety and thread safety guarantees.") ;;; Here we take the latest included Rust, make it public, and re-enable tests ;;; and extra components such as rustfmt. (define-public rust - (let ((base-rust rust-1.67)) + (let ((base-rust rust-1.68)) (package (inherit base-rust) (outputs (cons "rustfmt" (package-outputs base-rust))) @@ -807,7 +807,7 @@ safety and thread safety guarantees.") ;; We skip the test since it's drastically unlikely Guix's ;; packaging will introduce a bug here. (lambda _ - (delete-file "src/test/ui/parser/shebang/sneaky-attrib.rs"))) + (delete-file "tests/ui/parser/shebang/sneaky-attrib.rs"))) (add-after 'unpack 'patch-process-tests (lambda* (#:key inputs #:allow-other-keys) (let ((bash (assoc-ref inputs "bash"))) @@ -831,6 +831,17 @@ safety and thread safety guarantees.") ((file) file)) (("fn ctrl_c_kills_everyone") "#[ignore]\nfn ctrl_c_kills_everyone")))) + (add-after 'unpack 'adjust-rpath-values + ;; This adds %output:out to rpath, allowing us to install utilities in + ;; different outputs while reusing the shared libraries. + (lambda* (#:key outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out"))) + (substitute* "src/bootstrap/builder.rs" + ((" = rpath.*" all) + (string-append all + " " + "rustflags.arg(\"-Clink-args=-Wl,-rpath=" + out "/lib\");\n")))))) (add-after 'configure 'add-gdb-to-config (lambda* (#:key inputs #:allow-other-keys) (let ((gdb (assoc-ref inputs "gdb"))) diff --git a/gnu/packages/scheme.scm b/gnu/packages/scheme.scm index a4f43001ca..c0e2e3ab48 100644 --- a/gnu/packages/scheme.scm +++ b/gnu/packages/scheme.scm @@ -21,7 +21,7 @@ ;;; Copyright © 2022 jgart <jgart@dismail.de> ;;; Copyright © 2022 Robby Zambito <contact@robbyzambito.me> ;;; Copyright © 2023 Andrew Whatson <whatson@tailcall.au> -;;; Copyright © 2023 Juliana Sims <jtsims@protonmail.com> +;;; Copyright © 2023 Juliana Sims <juli@incana.org> ;;; Copyright © 2023 Maxim Cournoyer <maxim.cournoyer@gmail.com> ;;; ;;; This file is part of GNU Guix. diff --git a/gnu/packages/sequoia.scm b/gnu/packages/sequoia.scm index f2dee7dc64..6d6733c055 100644 --- a/gnu/packages/sequoia.scm +++ b/gnu/packages/sequoia.scm @@ -1,6 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2019, 2020, 2021 Hartmut Goebel <h.goebel@crazy-compilers.com> -;;; Copyright © 2021 Efraim Flashner <efraim@flashner.co.il> +;;; Copyright © 2021, 2023 Efraim Flashner <efraim@flashner.co.il> ;;; ;;; This file is part of GNU Guix. ;;; @@ -21,49 +21,43 @@ #:use-module (guix build-system cargo) #:use-module (guix build-system trivial) #:use-module (guix download) - #:use-module (guix git-download) #:use-module ((guix licenses) #:prefix license:) #:use-module (guix packages) #:use-module (guix gexp) #:use-module (guix utils) #:use-module (gnu packages) #:use-module (gnu packages base) ; glibc - #:use-module (gnu packages check) ;; python-pytest #:use-module (gnu packages crates-io) - #:use-module (gnu packages libffi) ;; python-cffi #:use-module (gnu packages llvm) #:use-module (gnu packages multiprecision) #:use-module (gnu packages nettle) #:use-module (gnu packages pkg-config) - #:use-module (gnu packages python) - #:use-module (gnu packages python-build) ;python-setuptools - #:use-module (gnu packages rust) + #:use-module (gnu packages sqlite) #:use-module (gnu packages tls)) -(define-public rust-sequoia-autocrypt-0.23 +(define-public rust-sequoia-autocrypt-0.25 (package (name "rust-sequoia-autocrypt") - (version "0.23.1") - (source - (origin - (method url-fetch) - (uri (crate-uri "sequoia-autocrypt" version)) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 "0skj0dv15341v470g6w5pggsl0iy27qb8h24rr8k6rq7vxdjxl7g")))) + (version "0.25.0") + (source (origin + (method url-fetch) + (uri (crate-uri "sequoia-autocrypt" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0796mn8kwrpfc8qzliwyyy62mrg2w0j6ax8929jwrkibvwy2axi2")))) (build-system cargo-build-system) (arguments - `(#:skip-build? #t - #:cargo-inputs - (("rust-base64" ,rust-base64-0.13) - ("rust-sequoia-openpgp" ,rust-sequoia-openpgp-1)) - #:phases - (modify-phases %standard-phases - (add-after 'unpack 'remove-other-crypto-features - (lambda _ - (substitute* "Cargo.toml" - (("^crypto-cng =" line) (string-append "# " line)) - (("^crypto-rust =" line) (string-append "# " line)))))))) + `(#:features '("sequoia-openpgp/crypto-nettle") + #:cargo-inputs + (("rust-base64" ,rust-base64-0.13) + ("rust-sequoia-openpgp" ,rust-sequoia-openpgp-1)) + #:cargo-development-inputs + (("rust-sequoia-openpgp" ,rust-sequoia-openpgp-1)))) + (native-inputs + (list clang pkg-config)) + (inputs + (list gmp nettle)) (home-page "https://sequoia-pgp.org/") (synopsis "Deal with Autocrypt encoded data") (description "This crate implements low-level functionality like encoding @@ -71,91 +65,136 @@ and decoding of Autocrypt headers and setup messages. Note: Autocrypt is more than just headers; it requires tight integration with the MUA.") (license license:lgpl2.0+))) -(define-public rust-sequoia-ipc-0.26 +(define-public rust-sequoia-cert-store-0.3 + (package + (name "rust-sequoia-cert-store") + (version "0.3.2") + (source (origin + (method url-fetch) + (uri (crate-uri "sequoia-cert-store" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0gmkqn2f23i2xwjwmnaj3dx9l4ir74dyylkw1qsxawxd95i8dk02")))) + (build-system cargo-build-system) + (arguments + `(#:features '("sequoia-openpgp/crypto-nettle") + #:cargo-inputs + (("rust-anyhow" ,rust-anyhow-1) + ("rust-crossbeam" ,rust-crossbeam-0.8) + ("rust-dirs" ,rust-dirs-5) + ("rust-num-cpus" ,rust-num-cpus-1) + ("rust-once-cell" ,rust-once-cell-1) + ("rust-openpgp-cert-d" ,rust-openpgp-cert-d-0.1) + ("rust-rayon" ,rust-rayon-1) + ("rust-rusqlite" ,rust-rusqlite-0.29) + ("rust-sequoia-net" ,rust-sequoia-net-0.27) + ("rust-sequoia-openpgp" ,rust-sequoia-openpgp-1) + ("rust-smallvec" ,rust-smallvec-1) + ("rust-thiserror" ,rust-thiserror-1) + ("rust-tokio" ,rust-tokio-1)) + #:cargo-development-inputs + (("rust-sequoia-openpgp" ,rust-sequoia-openpgp-1) + ("rust-tempfile" ,rust-tempfile-3)))) + (native-inputs + (list clang pkg-config)) + (inputs + (list gmp nettle openssl sqlite)) + (home-page "https://sequoia-pgp.org/") + (synopsis "Certificate database interface") + (description "This package provides a certificate database interface.") + (license license:lgpl2.0+))) + +(define-public rust-sequoia-ipc-0.30 (package (name "rust-sequoia-ipc") - (version "0.26.0") + (version "0.30.1") (source (origin (method url-fetch) (uri (crate-uri "sequoia-ipc" version)) (file-name (string-append name "-" version ".tar.gz")) (sha256 - (base32 "0xyhz55g1igzjw46f667kqmbbk7pgqy2zf5p13zspr6bwv39s1yk")))) + (base32 "1fgqjwaw9rz74y394i3n2a6y2vvy0214daamzswn5ahidhycm3x3")))) (build-system cargo-build-system) (arguments - `(#:skip-build? #t - #:cargo-inputs - (("rust-anyhow" ,rust-anyhow-1) - ("rust-buffered-reader" ,rust-buffered-reader-1) - ("rust-capnp-rpc" ,rust-capnp-rpc-0.13) - ("rust-ctor" ,rust-ctor-0.1) - ("rust-dirs" ,rust-dirs-2) - ("rust-fs2" ,rust-fs2-0.4) - ("rust-futures" ,rust-futures-0.3) - ("rust-lalrpop" ,rust-lalrpop-0.19) - ("rust-lalrpop-util" ,rust-lalrpop-util-0.19) - ("rust-lazy-static" ,rust-lazy-static-1) - ("rust-libc" ,rust-libc-0.2) - ("rust-memsec" ,rust-memsec-0.6) - ("rust-rand" ,rust-rand-0.7) - ("rust-sequoia-openpgp" ,rust-sequoia-openpgp-1) - ("rust-socket2" ,rust-socket2-0.3) - ("rust-tempfile" ,rust-tempfile-3) - ("rust-thiserror" ,rust-thiserror-1) - ("rust-tokio" ,rust-tokio-0.2) - ("rust-tokio-util" ,rust-tokio-util-0.3) - ("rust-winapi" ,rust-winapi-0.3)) - #:cargo-development-inputs - (("rust-clap" ,rust-clap-2) - ("rust-quickcheck" ,rust-quickcheck-0.9)) - #:phases - (modify-phases %standard-phases - (add-after 'unpack 'remove-other-crypto-features - (lambda _ - (substitute* "Cargo.toml" - (("^crypto-cng =" line) (string-append "# " line)) - (("^crypto-rust =" line) (string-append "# " line)))))))) + `(#:features '("sequoia-openpgp/crypto-nettle") + #:cargo-inputs + (("rust-anyhow" ,rust-anyhow-1) + ("rust-buffered-reader" ,rust-buffered-reader-1) + ("rust-capnp-rpc" ,rust-capnp-rpc-0.14) + ("rust-crossbeam-utils" ,rust-crossbeam-utils-0.8) + ("rust-ctor" ,rust-ctor-0.1) + ("rust-dirs" ,rust-dirs-4) + ("rust-fs2" ,rust-fs2-0.4) + ("rust-futures" ,rust-futures-0.3) + ("rust-lalrpop" ,rust-lalrpop-0.19) + ("rust-lalrpop-util" ,rust-lalrpop-util-0.19) + ("rust-lazy-static" ,rust-lazy-static-1) + ("rust-libc" ,rust-libc-0.2) + ("rust-memsec" ,rust-memsec-0.6) + ("rust-rand" ,rust-rand-0.8) + ("rust-sequoia-openpgp" ,rust-sequoia-openpgp-1) + ("rust-socket2" ,rust-socket2-0.4) + ("rust-tempfile" ,rust-tempfile-3) + ("rust-thiserror" ,rust-thiserror-1) + ("rust-tokio" ,rust-tokio-1) + ("rust-tokio-util" ,rust-tokio-util-0.7) + ("rust-winapi" ,rust-winapi-0.3)) + #:cargo-development-inputs + (("rust-clap" ,rust-clap-3) + ("rust-quickcheck" ,rust-quickcheck-1) + ("rust-sequoia-openpgp" ,rust-sequoia-openpgp-1) + ("rust-tokio" ,rust-tokio-1)))) + (native-inputs + (list clang pkg-config)) + (inputs + (list nettle)) (home-page "https://sequoia-pgp.org/") (synopsis "Interprocess communication infrastructure for Sequoia") (description "Interprocess communication infrastructure for Sequoia") (license license:lgpl2.0+))) -(define-public rust-sequoia-net-0.23 +(define-public rust-sequoia-net-0.27 (package (name "rust-sequoia-net") - (version "0.23.0") - (source - (origin - (method url-fetch) - (uri (crate-uri "sequoia-net" version)) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 "05gv053zqnb00mrai5hva3i4909hn77bnh4z1g4b29cw5qb52cbl")))) + (version "0.27.0") + (source (origin + (method url-fetch) + (uri (crate-uri "sequoia-net" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0gyk5765hi3s05l64a744f9a4vynfisja92l51az9dpqgfkiw3wn")))) (build-system cargo-build-system) (arguments - `(#:skip-build? #t + `(#:features '("sequoia-openpgp/crypto-nettle") #:cargo-inputs (("rust-anyhow" ,rust-anyhow-1) + ("rust-base64" ,rust-base64-0.13) ("rust-futures-util" ,rust-futures-util-0.3) ("rust-http" ,rust-http-0.2) - ("rust-hyper" ,rust-hyper-0.13) - ("rust-hyper-tls" ,rust-hyper-tls-0.4) + ("rust-hyper" ,rust-hyper-0.14) + ("rust-hyper-tls" ,rust-hyper-tls-0.5) ("rust-libc" ,rust-libc-0.2) ("rust-native-tls" ,rust-native-tls-0.2) ("rust-percent-encoding" ,rust-percent-encoding-2) ("rust-sequoia-openpgp" ,rust-sequoia-openpgp-1) ("rust-tempfile" ,rust-tempfile-3) ("rust-thiserror" ,rust-thiserror-1) + ("rust-tokio" ,rust-tokio-1) + ("rust-trust-dns-client" ,rust-trust-dns-client-0.22) + ("rust-trust-dns-resolver" ,rust-trust-dns-resolver-0.22) ("rust-url" ,rust-url-2) ("rust-zbase32" ,rust-zbase32-0.1)) - #:phases - (modify-phases %standard-phases - (add-after 'unpack 'remove-other-crypto-features - (lambda _ - (substitute* "Cargo.toml" - (("^crypto-cng =" line) (string-append "# " line)) - (("^crypto-rust =" line) (string-append "# " line)))))))) + #:cargo-development-inputs + (("rust-hyper" ,rust-hyper-0.14) + ("rust-rand" ,rust-rand-0.8) + ("rust-sequoia-openpgp" ,rust-sequoia-openpgp-1)))) + (native-inputs + (list clang pkg-config)) + (inputs + (list gmp nettle openssl)) (home-page "https://sequoia-pgp.org/") (synopsis "Discover and publish OpenPGP certificates over the network") (description "This package provides a crate to access keyservers using the @@ -165,75 +204,86 @@ HKP protocol, and searching and publishing Web Key Directories.") (define-public rust-sequoia-openpgp-1 (package (name "rust-sequoia-openpgp") - (version "1.6.0") + (version "1.16.0") (source (origin (method url-fetch) (uri (crate-uri "sequoia-openpgp" version)) (file-name (string-append name "-" version ".tar.gz")) (sha256 - (base32 "1mdprsijszkg2j6jk1iq7q1z9yikq598y12m5zbv94fs37xlx3qm")) - (modules '((guix build utils))) - (snippet - ;; Remove dependencies on rust-crypto and win32-cng - '(let* ((other-crypto-pkgs - (list ;; rust-crypto - "aes" "block-modes" "block-padding" "blowfish" "cast5" - "cipher" "des" "digest" "eax" "ed25519-dalek" - "generic-array" "idea" "md-5" "num-bigint-dig" "rand" - "ripemd160" "rsa" "sha-1" "sha2" "twofish" "typenum" - "x25519-dalek" "p256" "rand_core" "rand_core" "ecdsa" - ;; win32-cng - "eax" "winapi" "win-crypto-ng" "ed25519-dalek" - "num-bigint-dig")) - (pkgs-pattern (pk (string-join - (list "^\\[dependencies\\.(" - (string-join other-crypto-pkgs "|") - ")\\]") - "")))) - (substitute* "Cargo.toml" - ((pkgs-pattern line name) (string-append "[off." name "]")) - (("^crypto-cng =" line) (string-append "# " line)) - (("^crypto-rust =" line) (string-append "# " line)) - (("^\\[(target\\.\"cfg\\(windows\\))" line name) - (string-append "[off." name))))))) + (base32 "1z0xl7hnm1p51pyhwdqyzcnl2dhzfjnvssz7hi15ps1hk4zzzvrh")))) (build-system cargo-build-system) (native-inputs (list clang pkg-config)) (inputs (list gmp nettle)) (arguments - `(#:skip-build? #t + `(#:features '("crypto-nettle") + #:cargo-test-flags + (list "--release" "--" + ;; TODO: Figure out how this test is supposed to fail. + "--skip=parse::test::panic_on_short_zip") #:cargo-inputs - (("rust-anyhow" ,rust-anyhow-1) - ("rust-backtrace" ,rust-backtrace-0.3) - ("rust-base64" ,rust-base64-0.13) + (("rust-aes" ,rust-aes-0.8) + ("rust-anyhow" ,rust-anyhow-1) + ("rust-base64" ,rust-base64-0.21) + ("rust-block-padding" ,rust-block-padding-0.3) + ("rust-blowfish" ,rust-blowfish-0.9) + ("rust-botan" ,rust-botan-0.10) ("rust-buffered-reader" ,rust-buffered-reader-1) ("rust-bzip2" ,rust-bzip2-0.4) + ("rust-cast5" ,rust-cast5-0.11) + ("rust-cfb-mode" ,rust-cfb-mode-0.8) ("rust-chrono" ,rust-chrono-0.4) + ("rust-cipher" ,rust-cipher-0.4) + ("rust-des" ,rust-des-0.8) + ("rust-digest" ,rust-digest-0.10) ("rust-dyn-clone" ,rust-dyn-clone-1) + ("rust-eax" ,rust-eax-0.5) + ("rust-ecb" ,rust-ecb-0.1) + ("rust-ecdsa" ,rust-ecdsa-0.16) + ("rust-ed25519" ,rust-ed25519-1) + ("rust-ed25519-dalek" ,rust-ed25519-dalek-1) ("rust-flate2" ,rust-flate2-1) - ("rust-idna" ,rust-idna-0.2) - ("rust-itertools" ,rust-itertools-0.10) + ("rust-generic-array" ,rust-generic-array-0.14) + ("rust-getrandom" ,rust-getrandom-0.2) + ("rust-idea" ,rust-idea-0.5) + ("rust-idna" ,rust-idna-0.3) ("rust-lalrpop" ,rust-lalrpop-0.19) ("rust-lalrpop-util" ,rust-lalrpop-util-0.19) - ("rust-lazy-static" ,rust-lazy-static-1) ;; 1.4.0 - ("rust-libc" ,rust-libc-0.2) ;; 0.2.66 + ("rust-lazy-static" ,rust-lazy-static-1) + ("rust-libc" ,rust-libc-0.2) + ("rust-md-5" ,rust-md-5-0.10) ("rust-memsec" ,rust-memsec-0.6) ("rust-nettle" ,rust-nettle-7) - ("rust-plotters" ,rust-plotters-0.3) + ("rust-num-bigint-dig" ,rust-num-bigint-dig-0.8) + ("rust-once-cell" ,rust-once-cell-1) + ("rust-openssl" ,rust-openssl-0.10) + ("rust-openssl-sys" ,rust-openssl-sys-0.9) + ("rust-p256" ,rust-p256-0.13) + ("rust-rand" ,rust-rand-0.7) + ("rust-rand" ,rust-rand-0.7) + ("rust-rand" ,rust-rand-0.8) + ("rust-rand-core" ,rust-rand-core-0.6) ("rust-regex" ,rust-regex-1) ("rust-regex-syntax" ,rust-regex-syntax-0.6) + ("rust-ripemd" ,rust-ripemd-0.1) + ("rust-rsa" ,rust-rsa-0.9) + ("rust-sha-1" ,rust-sha-1-0.10) ("rust-sha1collisiondetection" ,rust-sha1collisiondetection-0.2) + ("rust-sha2" ,rust-sha2-0.10) ("rust-thiserror" ,rust-thiserror-1) - ("rust-unicode-normalization" ,rust-unicode-normalization-0.1) + ("rust-twofish" ,rust-twofish-0.7) + ("rust-typenum" ,rust-typenum-1) + ("rust-win-crypto-ng" ,rust-win-crypto-ng-0.5) + ("rust-winapi" ,rust-winapi-0.3) + ("rust-x25519-dalek-ng" ,rust-x25519-dalek-ng-1) ("rust-xxhash-rust" ,rust-xxhash-rust-0.8)) #:cargo-development-inputs - ;; keep the development-inputs to allow running tests easily - (("rust-criterion" ,rust-criterion-0.3) - ("rust-quickcheck" ,rust-quickcheck-0.9) - ("rust-rand" ,rust-rand-0.7) - ("rust-rpassword" ,rust-rpassword-5)))) + (("rust-criterion" ,rust-criterion-0.4) + ("rust-quickcheck" ,rust-quickcheck-1) + ("rust-rand" ,rust-rand-0.8) + ("rust-rpassword" ,rust-rpassword-6)))) (home-page "https://sequoia-pgp.org/") (synopsis "OpenPGP data types and associated machinery") (description "This crate aims to provide a complete implementation of @@ -281,6 +331,40 @@ This Guix package is built to use the nettle cryptographic library.") ("rust-sequoia-rfc2822" ,rust-sequoia-rfc2822-0.9) ("rust-time" ,rust-time-0.1)))))) +(define-public rust-sequoia-policy-config-0.6 + (package + (name "rust-sequoia-policy-config") + (version "0.6.0") + (source (origin + (method url-fetch) + (uri (crate-uri "sequoia-policy-config" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0x42h22kng4dsbfr0a6zdf2j9bcq14r0yr6xdw6rrggj139lazbm")))) + (build-system cargo-build-system) + (arguments + `(#:features '("sequoia-openpgp/crypto-nettle") + #:cargo-inputs + (("rust-anyhow" ,rust-anyhow-1) + ("rust-chrono" ,rust-chrono-0.4) + ("rust-sequoia-openpgp" ,rust-sequoia-openpgp-1) + ("rust-serde" ,rust-serde-1) + ("rust-thiserror" ,rust-thiserror-1) + ("rust-toml" ,rust-toml-0.5)) + #:cargo-development-inputs + (("rust-assert-cmd" ,rust-assert-cmd-2) + ("rust-lazy-static" ,rust-lazy-static-1) + ("rust-sequoia-openpgp" ,rust-sequoia-openpgp-1)))) + (native-inputs + (list clang pkg-config)) + (inputs + (list gmp nettle)) + (home-page "https://sequoia-pgp.org/") + (synopsis "Configure Sequoia using a configuration file") + (description "Configure Sequoia using a configuration file.") + (license license:lgpl2.0+))) + (define-public rust-sequoia-rfc2822-0.9 (package (name "rust-sequoia-rfc2822") @@ -309,48 +393,103 @@ Although the above appear simple to parse, RFC 2822's whitespace and comment rules are rather complex. This crate implements the whole grammar." ) (license license:gpl3))) +(define-public rust-sequoia-wot-0.8 + (package + (name "rust-sequoia-wot") + (version "0.8.1") + (source (origin + (method url-fetch) + (uri (crate-uri "sequoia-wot" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0rcp7ndjpdd4dkryhkkhakc8axbj93c1gr9qxxksdvrik803alfg")))) + (build-system cargo-build-system) + (arguments + `(#:features '("sequoia-openpgp/crypto-nettle") + #:cargo-test-flags + (list "--release" "--" + ;; Not all files included. + "--skip=gpg_trust_roots") + #:cargo-inputs + (("rust-anyhow" ,rust-anyhow-1) + ("rust-chrono" ,rust-chrono-0.4) + ("rust-clap" ,rust-clap-4) + ("rust-clap-complete" ,rust-clap-complete-4) + ("rust-clap-mangen" ,rust-clap-mangen-0.2) + ("rust-crossbeam" ,rust-crossbeam-0.8) + ("rust-dot-writer" ,rust-dot-writer-0.1) + ("rust-enumber" ,rust-enumber-0.3) + ("rust-lazy-static" ,rust-lazy-static-1) + ("rust-num-cpus" ,rust-num-cpus-1) + ("rust-openpgp-cert-d" ,rust-openpgp-cert-d-0.1) + ("rust-sequoia-cert-store" ,rust-sequoia-cert-store-0.3) + ("rust-sequoia-openpgp" ,rust-sequoia-openpgp-1) + ("rust-sequoia-policy-config" ,rust-sequoia-policy-config-0.6) + ("rust-thiserror" ,rust-thiserror-1) + ("rust-tokio" ,rust-tokio-1)) + #:cargo-development-inputs + (("rust-assert-cmd" ,rust-assert-cmd-2) + ("rust-predicates" ,rust-predicates-2) + ("rust-quickcheck" ,rust-quickcheck-1) + ("rust-sequoia-openpgp" ,rust-sequoia-openpgp-1) + ("rust-tempfile" ,rust-tempfile-3)))) + (inputs + (list nettle openssl sqlite)) + (native-inputs + (list clang pkg-config)) + (home-page "https://sequoia-pgp.org/") + (synopsis "Implementation of OpenPGP's web of trust") + (description "An implementation of OpenPGP's web of trust.") + (license license:lgpl2.0+))) + (define-public sequoia-sq (package (name "sequoia-sq") - (version "0.25.0") + (version "0.30.0") (source (origin (method url-fetch) (uri (crate-uri "sequoia-sq" version)) (file-name (string-append name "-" version ".tar.gz")) (sha256 - (base32 "0j26vpp98i7zwwhqsvwj0zknj4s0s0ilfqpynj1vgd5laanhyr0d")))) + (base32 "0l3mlhvh93b8s1853gyzzfh1dznjdhbsbyxxcm3bbyxmkyr74wkd")))) (build-system cargo-build-system) (inputs - (list nettle openssl)) + (list nettle openssl sqlite)) (native-inputs (list clang pkg-config)) (arguments - `(#:tests? #f ;; tests require data-files not provided in the package + `(#:tests? #f ; `(dyn std::fmt::Display + 'static)` cannot be sent between threads safely #:install-source? #f #:cargo-inputs (("rust-anyhow" ,rust-anyhow-1) ("rust-buffered-reader" ,rust-buffered-reader-1) + ("rust-cfg-if" ,rust-cfg-if-1) ("rust-chrono" ,rust-chrono-0.4) - ("rust-clap" ,rust-clap-2) - ("rust-clap" ,rust-clap-2) - ("rust-itertools" ,rust-itertools-0.9) - ("rust-rpassword" ,rust-rpassword-5) - ("rust-sequoia-autocrypt" ,rust-sequoia-autocrypt-0.23) - ("rust-sequoia-net" ,rust-sequoia-net-0.23) + ("rust-clap" ,rust-clap-4) + ("rust-clap-complete" ,rust-clap-complete-4) + ("rust-clap-mangen" ,rust-clap-mangen-0.2) + ("rust-dirs" ,rust-dirs-5) + ("rust-dot-writer" ,rust-dot-writer-0.1) + ("rust-itertools" ,rust-itertools-0.10) + ("rust-rpassword" ,rust-rpassword-6) + ("rust-sequoia-autocrypt" ,rust-sequoia-autocrypt-0.25) + ("rust-sequoia-cert-store" ,rust-sequoia-cert-store-0.3) + ("rust-sequoia-net" ,rust-sequoia-net-0.27) ("rust-sequoia-openpgp" ,rust-sequoia-openpgp-1) + ("rust-sequoia-wot" ,rust-sequoia-wot-0.8) + ("rust-serde" ,rust-serde-1) + ("rust-serde-json" ,rust-serde-json-1) + ("rust-subplot-build" ,rust-subplot-build-0.7) ("rust-tempfile" ,rust-tempfile-3) ("rust-term-size" ,rust-term-size-0.3) - ("rust-tokio" ,rust-tokio-0.2)) + ("rust-tokio" ,rust-tokio-1)) #:cargo-development-inputs - (("rust-assert-cli" ,rust-assert-cli-0.6)) - #:phases - (modify-phases %standard-phases - (add-after 'unpack 'remove-other-crypto-features - (lambda _ - (substitute* "Cargo.toml" - (("^crypto-cng =" line) (string-append "# " line)) - (("^crypto-rust =" line) (string-append "# " line)))))))) + (("rust-assert-cmd" ,rust-assert-cmd-2) + ("rust-fehler" ,rust-fehler-1) + ("rust-predicates" ,rust-predicates-2) + ("rust-subplotlib" ,rust-subplotlib-0.7)))) (home-page "https://sequoia-pgp.org/") (synopsis "Command-line frontend for Sequoia OpenPGP") (description "This package provides the command-line frontend for Sequoia @@ -362,37 +501,28 @@ This Guix package is built to use the nettle cryptographic library.") (define-public sequoia-sqv (package (name "sequoia-sqv") - (version "1.0.0") + (version "1.1.0") (source (origin (method url-fetch) (uri (crate-uri "sequoia-sqv" version)) (file-name (string-append name "-" version ".tar.gz")) (sha256 - (base32 "0nrfjn64fm038x5dssipf7jxi27z741m5n5a7zsa9768zab1hr9d")))) + (base32 "0vzqahx7dk1wh2vp7lbzjgah8v7fqpvdf0dq0dydi9695ffm99lc")))) (build-system cargo-build-system) (inputs (list nettle openssl)) (native-inputs (list clang pkg-config)) (arguments - `(#:tests? #f ;; tests require data-files not provided in the package - #:install-source? #f + `(#:install-source? #f #:cargo-inputs (("rust-anyhow" ,rust-anyhow-1) ("rust-chrono" ,rust-chrono-0.4) ("rust-clap" ,rust-clap-2) - ("rust-clap" ,rust-clap-2) ("rust-sequoia-openpgp" ,rust-sequoia-openpgp-1)) #:cargo-development-inputs - (("rust-assert-cli" ,rust-assert-cli-0.6)) - #:phases - (modify-phases %standard-phases - (add-after 'unpack 'remove-other-crypto-features - (lambda _ - (substitute* "Cargo.toml" - (("^crypto-cng =" line) (string-append "# " line)) - (("^crypto-rust =" line) (string-append "# " line)))))))) + (("rust-assert-cli" ,rust-assert-cli-0.6)))) (home-page "https://sequoia-pgp.org/") (synopsis "Simple OpenPGP signature verification program") (description "@code{sqv} verifies detached OpenPGP signatures. It is a @@ -402,150 +532,75 @@ constraints on the signature into account. This Guix package is built to use the nettle cryptographic library.") (license license:lgpl2.0+))) -(define (sequoia-package-origin version) - (origin - (method git-fetch) - (uri (git-reference - (url "https://gitlab.com/sequoia-pgp/sequoia.git") - (commit (string-append "openpgp/v" version)))) - (sha256 - (base32 "1cq1xgvllbpii5hfl3wlia2ayznpvhv8lq8g8ygwxga86ijg98lq")) - (file-name (git-file-name "sequoia" version)) - (patches (search-patches "libsequoia-remove-store.patch" - "libsequoia-fix-ffi-Makefile.patch")))) - -(define-public libsequoia +(define-public sequoia-wot (package - (name "libsequoia") - (version "0.22.0") - (source (sequoia-package-origin "1.6.0")) - (build-system cargo-build-system) - (outputs '("out" "python")) - (native-inputs - (list clang pkg-config python-pytest python-pytest-runner - python-wrapper)) - (inputs - (list gmp nettle openssl python python-cffi)) + (inherit rust-sequoia-wot-0.8) + (name "sequoia-wot") (arguments - (list - #:tests? #f ;; TODO make python tests find the shared object file - #:cargo-inputs - `(("rust-anyhow" ,rust-anyhow-1) - ("rust-lazy-static" ,rust-lazy-static-1) - ("rust-libc" ,rust-libc-0.2) - ("rust-memsec" ,rust-memsec-0.6) - ("rust-native-tls" ,rust-native-tls-0.2) - ("rust-proc-macro2" ,rust-proc-macro2-1) ;; for ffi-macros - ("rust-quote" ,rust-quote-1) ;; for ffi-macros - ("rust-sequoia-ipc" ,rust-sequoia-ipc-0.26) - ("rust-sequoia-net" ,rust-sequoia-net-0.23) - ("rust-sequoia-openpgp" ,rust-sequoia-openpgp-1) - ("rust-sha2" ,rust-sha2-0.8) ;; for ffi-macros - ("rust-tokio" ,rust-tokio-1)) - #:cargo-development-inputs - `(("rust-filetime" ,rust-filetime-0.2)) - #:phases - #~(modify-phases %standard-phases - (add-after 'configure 'set-PREFIX - (lambda _ - (setenv "PREFIX" #$output))) - (replace 'build - (lambda _ - (invoke "make" "-C" "openpgp-ffi" "build-release") - (invoke "make" "-C" "ffi" "build-release"))) - (delete 'package) ;; cargo can't package a multi-crate workspace - (replace 'check - (lambda* (#:key tests? #:allow-other-keys) - (when tests? - (begin - (invoke "make" "-C" "openpgp-ffi" "check") - (invoke "make" "-C" "ffi" "check"))))) - (replace 'install - (lambda _ - (invoke "make" "-C" "openpgp-ffi" "install") - (invoke "make" "-C" "ffi" "install"))) - (add-after 'configure 'fix-build-environment - (lambda _ - (delete-file "Cargo.toml") - (symlink "../.cargo" "openpgp-ffi/.cargo") - (symlink "../.cargo" "ffi/.cargo") - (for-each delete-file-recursively - (find-files "guix-vendor" "^sequoia-[0-9]+\\.*" - #:directories? #t)))) - (add-after 'unpack 'fix-for-python-output - (lambda _ - (substitute* "ffi/lang/python/Makefile" - ;; adjust prefix for python package - (("PREFIX\\s*\\??=.*") - (string-append "PREFIX = " (pk #$output:python) "\n")) - ;; fix rpath to include the main package - (("\\WLDFLAGS=" text) - (string-append text "'-Wl,-rpath=" #$output "/lib '")) - ;; make setuptools install into the prefix, see - ;; guix/build/python-build-system.scm for explanation - (("\\ssetup.py\\s+install\\s") - " setup.py install --root=/ --single-version-externally-managed ")))) - (add-after 'unpack 'fix-Makefiles - (lambda _ - (substitute* '("openpgp-ffi/Makefile") - (("^check-headers: force-build") "check-headers:")))) - (add-after 'unpack 'remove-other-crypto-features - (lambda _ - (substitute* '("openpgp-ffi/Cargo.toml" "ffi/Cargo.toml") - (("^crypto-cng =" line) (string-append "# " line)) - (("^crypto-rust =" line) (string-append "# " line))))) - (add-after 'unpack 'fix-missing-feature - (lambda _ - (substitute* '("ffi/Cargo.toml") - (("^(tokio = .* features = \\[)" line) - (string-append line "\"net\", "))))) - (add-after 'unpack 'unbundle-crates - (lambda _ - (substitute* '("openpgp-ffi/Cargo.toml" "ffi/Cargo.toml") - (("path = \"\\.\\./(openpgp|store|net|ipc)\",") ""))))))) - (home-page "https://sequoia-pgp.org") - (synopsis "C/FFI interfaces for Sequoia-PGP") - (description "This package provides a C and FFI interface to both the -low-level and a high-level API of Sequoia-PGP. + (substitute-keyword-arguments (package-arguments rust-sequoia-wot-0.8) + ((#:install-source? _ #t) #f) + ((#:phases phases '%standard-phases) + `(modify-phases ,phases + (add-after 'install 'install-more + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (share (string-append out "/share")) + (man1 (string-append share "/man/man1"))) + (for-each (lambda (file) + (install-file file man1)) + (find-files "target/release" "\\.1$")) + ;; TODO: Install _sq-wot.ps1, sq-wot.elv + (mkdir-p (string-append out "/etc/bash_completion.d")) + (mkdir-p (string-append share "/fish/vendor_completions.d")) + (copy-file (car (find-files "target/release" "sq-wot.bash")) + (string-append out "/etc/bash_completion.d/sq-wot")) + (copy-file (car (find-files "target/release" "sq-wot.fish")) + (string-append + share "/fish/vendor_completions.d/sq-wot.fish")) + (install-file (car (find-files "target/release" "_sq-wot")) + (string-append + share "/zsh/site-functions"))))))))) + (description "An implementation of OpenPGP's web of trust. -Use with caution: This is an \"unofficial\" package, which are not officially -released, but part of the Sequoia-PGP v1.6.0 archive. So this package might -even go away.") - (license license:lgpl2.0+))) +This Guix package is built to use the nettle cryptographic library."))) + +;; (define-public sequoia (package (name "sequoia") - (version "1.6.0") + (version "1.16.0") (source #f) (build-system trivial-build-system) - (outputs '("out" "python")) - (inputs - (list glibc ;; for ldconfig in make-dynamic-linker-cache - libsequoia - `(,libsequoia "python") - sequoia-sq - sequoia-sqv)) (arguments (list - #:modules '((guix build utils) (guix build gnu-build-system) - (guix build gremlin) (guix elf)) + #:modules '((guix build utils) + (guix build union) + (guix build gnu-build-system) + (guix build gremlin) + (guix elf)) #:builder #~(begin - (use-modules (guix build utils) (guix build gnu-build-system)) + (use-modules (guix build utils) + (guix build union) + (guix build gnu-build-system) + (ice-9 match)) (let ((make-dynamic-linker-cache (assoc-ref %standard-phases 'make-dynamic-linker-cache)) (ld.so.cache (string-append #$output "/etc/ld.so.cache"))) - (copy-recursively #$libsequoia #$output) - (copy-recursively #$sequoia-sq #$output) + (match %build-inputs + (((names . directories) ...) + (union-build #$output directories))) (delete-file ld.so.cache) - (copy-recursively #$sequoia-sqv #$output) - (delete-file ld.so.cache) - (copy-recursively #$libsequoia:python #$output:python) - (setenv "PATH" - (string-append (getenv "PATH") ":" #$glibc "/sbin")) - (make-dynamic-linker-cache #:outputs %outputs))))) + (setenv "PATH" + (string-append (getenv "PATH") ":" #$glibc "/sbin")) + (make-dynamic-linker-cache #:outputs %outputs))))) + (inputs + (list ;glibc ;; for ldconfig in make-dynamic-linker-cache + sequoia-sq + sequoia-sqv + sequoia-wot)) (home-page "https://sequoia-pgp.org") (synopsis "New OpenPGP implementation (meta-package)") (description "Sequoia is a new OpenPGP implementation, written in Rust, diff --git a/gnu/packages/shells.scm b/gnu/packages/shells.scm index aef22efd01..8042fab12f 100644 --- a/gnu/packages/shells.scm +++ b/gnu/packages/shells.scm @@ -21,6 +21,7 @@ ;;; Copyright © 2021, 2022 Felix Gruber <felgru@posteo.net> ;;; Copyright © 2022 Andrew Tropin <andrew@trop.in> ;;; Copyright © 2023 Zheng Junjie <873216071@qq.com> +;;; Copyright © 2023 David Pflug <david@pflug.io> ;;; ;;; This file is part of GNU Guix. ;;; @@ -602,36 +603,36 @@ use of experts and novices alike.") (license license:bsd-2))) (define-public scsh - (let ((commit "114432435e4eadd54334df6b37fcae505079b49f") - (revision "1")) + (let ((commit "4acf6e4ed7b65b46186ef0c9c2a1e10bef8dc052") + (revision "0")) (package (name "scsh") - (version (string-append "0.0.0-" revision "." (string-take commit 7))) + (version (git-version "0.7" revision commit)) (source (origin (method git-fetch) (uri (git-reference (url "https://github.com/scheme/scsh") (commit commit))) - (file-name (string-append name "-" version "-checkout")) + (file-name (git-file-name name version)) (sha256 (base32 - "1ghk08akiz7hff1pndi8rmgamgcrn2mv9asbss9l79d3c2iaav3q")) + "1czrp808v5gs0ci5lmkp3wr3gfkrb3vd5b2iw2hz1bpqgaf6bxpv")) (patches (search-patches "scsh-nonstring-search-path.patch")))) (build-system gnu-build-system) (arguments - `(#:test-target "test" - #:phases - (modify-phases %standard-phases - (add-before 'configure 'replace-rx - (lambda* (#:key inputs #:allow-other-keys) - (let* ((rx (assoc-ref inputs "scheme48-rx")) - (rxpath (string-append rx "/share/scheme48-" - ,(package-version scheme48) + (list + #:test-target "test" + #:phases + #~(modify-phases %standard-phases + (add-before 'configure 'replace-rx + (lambda _ + (let ((rxpath (string-append #$scheme48-rx + "/share/scheme48-" + #$(package-version scheme48) "/rx"))) - (delete-file-recursively "rx") - (symlink rxpath "rx")) - #t))))) + (delete-file-recursively "rx") + (symlink rxpath "rx"))))))) (inputs (list scheme48 scheme48-rx)) (native-inputs @@ -788,26 +789,24 @@ The OpenBSD Korn Shell is a cleaned up and enhanced ksh.") (define-public loksh (package (name "loksh") - (version "6.9") - (source - (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/dimkr/loksh") - (commit version) - ;; Include the ‘lolibc’ submodule, a static compatibility library - ;; created for and currently used only by loksh. - (recursive? #t))) - (file-name (git-file-name name version)) - (sha256 - (base32 "0x33plxqhh5202hgqidgccz5hpg8d2q71ylgnm437g60mfi9z0px")))) + (version "7.3") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/dimkr/loksh") + (commit version) + ;; Include the ‘lolibc’ submodule, a static compatibility library + ;; created for and currently used only by loksh. + (recursive? #t))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1miydvb79wagckchinp189l8i81f08lqajg5jngn77m4x4gwjf3n")))) (build-system meson-build-system) - (inputs - (list ncurses)) - (native-inputs - (list pkg-config)) + (inputs (list ncurses)) + (native-inputs (list pkg-config)) (arguments - `(#:tests? #f)) ; no tests included + `(#:tests? #f)) ;no tests included (home-page "https://github.com/dimkr/loksh") (synopsis "Korn Shell from OpenBSD") (description @@ -858,7 +857,7 @@ Shell (pdksh).") (define-public oil (package (name "oil") - (version "0.15.0") + (version "0.17.0") (source ;; oil's sources contain a modified version of CPython 2.7.13. ;; According to https://www.oilshell.org/blog/2017/05/05.html @@ -871,7 +870,7 @@ Shell (pdksh).") (uri (string-append "https://www.oilshell.org/download/oil-" version ".tar.gz")) (sha256 - (base32 "1yy4523lbwkb0abnnvp4v08nv94isxb16wjryrp820idb90c1zfb")))) + (base32 "01b67dq56iam44d7c81ba9w62jjnjx2z7wm928rkc1ff6bacm37r")))) (build-system gnu-build-system) (arguments (list #:strip-binaries? #f ; strip breaks the binary diff --git a/gnu/packages/ssh.scm b/gnu/packages/ssh.scm index 81fbfd87a1..3a5d5ef59b 100644 --- a/gnu/packages/ssh.scm +++ b/gnu/packages/ssh.scm @@ -198,16 +198,15 @@ a server that supports the SSH-2 protocol.") (define-public openssh (package (name "openssh") - (version "9.3p2") - (source (origin - (method url-fetch) - (uri (string-append "mirror://openbsd/OpenSSH/portable/" - "openssh-" version ".tar.gz")) - (patches (search-patches "openssh-hurd.patch" - "openssh-trust-guix-store-directory.patch")) - (sha256 - (base32 - "1s3nqv57r3l7avsdkzwd575dvxra8h19xpqczl0z3cvcgwabw3i0")))) + (version "9.4p1") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://openbsd/OpenSSH/portable/" + "openssh-" version ".tar.gz")) + (patches (search-patches "openssh-trust-guix-store-directory.patch")) + (sha256 + (base32 "11bahrik5qi337m954g5479f63cxnxdch076ng7668fvi28gs21n")))) (build-system gnu-build-system) (arguments (list diff --git a/gnu/packages/stalonetray.scm b/gnu/packages/stalonetray.scm deleted file mode 100644 index 65732313fe..0000000000 --- a/gnu/packages/stalonetray.scm +++ /dev/null @@ -1,49 +0,0 @@ -;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2014 Raimon Grau <raimonster@gmail.com> -;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il> -;;; -;;; 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/>. - -(define-module (gnu packages stalonetray) - #:use-module (guix packages) - #:use-module (guix download) - #:use-module (guix build-system gnu) - #:use-module ((guix licenses) #:select (gpl2+)) - #:use-module (gnu packages xorg)) - -(define-public stalonetray - (package - (name "stalonetray") - (version "0.8.3") - (source - (origin - (method url-fetch) - (uri - (string-append "mirror://sourceforge/stalonetray/stalonetray/stalonetray-" - version "/stalonetray-" version ".tar.bz2")) - (sha256 - (base32 - "0k7xnpdb6dvx25d67v0crlr32cdnzykdsi9j889njiididc8lm1n")))) - (inputs (list libx11)) - (build-system gnu-build-system) - (home-page "https://stalonetray.sourceforge.net") - (synopsis "Standalone freedesktop.org and KDE systray implementation") - (description - "Stalonetray is a stand-alone freedesktop.org and KDE system -tray (notification area) for X Window System/X11 (e.g. X.Org or XFree86). It -has full XEMBED support and minimal dependencies: an X11 lib only. Stalonetray -works with virtually any EWMH-compliant window manager.") - (license gpl2+))) diff --git a/gnu/packages/syndication.scm b/gnu/packages/syndication.scm index 68c7fce26c..ac00d396b5 100644 --- a/gnu/packages/syndication.scm +++ b/gnu/packages/syndication.scm @@ -224,22 +224,21 @@ cards.") (define-public newsboat (package (name "newsboat") - (version "2.31") + (version "2.32") (source (origin (method url-fetch) (uri (string-append "https://newsboat.org/releases/" version "/newsboat-" version ".tar.xz")) (sha256 - (base32 "1nn1akjc3l29gcr0n6g7y39qvmbw8vf5sfmnxd794sgmbki7vbsb")))) + (base32 "1rp67fqsnsknlhlq75vgdjg9rggx8j7wbmixvps967m2f92m2qsv")))) (build-system cargo-build-system) (native-inputs `(("gettext" ,gettext-minimal) ("openssl" ,openssl) ("pkg-config" ,pkg-config) ;; For building documentation. - ,@(if (member (%current-system) - (package-transitive-supported-systems ruby-asciidoctor)) + ,@(if (supported-package? ruby-asciidoctor) `(("asciidoctor" ,ruby-asciidoctor)) `()))) (inputs diff --git a/gnu/packages/tex.scm b/gnu/packages/tex.scm index fa7c2fe30c..d01c31e7db 100644 --- a/gnu/packages/tex.scm +++ b/gnu/packages/tex.scm @@ -903,6 +903,89 @@ mathematical or other technical packages.") (description "This is the TeX Live scheme for installing ConTeXt.") (license (license:fsf-free "https://www.tug.org/texlive/copying.html")))) +(define-public texlive-scheme-gust + (package + (name "texlive-scheme-gust") + (version (number->string %texlive-revision)) + (source #f) + (build-system trivial-build-system) + (arguments (list #:builder #~(mkdir #$output))) + (propagated-inputs + (list texlive-amslatex-primer + texlive-amstex + texlive-antt + texlive-bibtex8 + texlive-collection-basic + texlive-collection-context + texlive-collection-fontsrecommended + texlive-collection-fontutils + texlive-collection-langpolish + texlive-collection-latex + texlive-collection-latexrecommended + texlive-collection-metapost + texlive-collection-plaingeneric + texlive-collection-xetex + texlive-comment + texlive-comprehensive + texlive-concrete + texlive-cyklop + texlive-dvidvi + texlive-dviljk + texlive-fontinstallationguide + texlive-gustprog + texlive-impatient + texlive-iwona + texlive-metafont-beginners + texlive-metapost-examples + texlive-poltawski + texlive-seetexk + texlive-seminar + texlive-tds + texlive-tex4ht + texlive-texdoc)) + (home-page "https://www.tug.org/texlive/") + (synopsis "GUST TeX Live scheme") + (description + "This is the GUST TeX Live scheme: it is a set of files sufficient to +typeset Polish plain TeX, LaTeX and ConTeXt documents in PostScript or PDF.") + (license (license:fsf-free "https://www.tug.org/texlive/copying.html")))) + +(define-public texlive-scheme-medium + (package + (name "texlive-scheme-medium") + (version (number->string %texlive-revision)) + (source #f) + (build-system trivial-build-system) + (arguments (list #:builder #~(mkdir #$output))) + (propagated-inputs + (list texlive-collection-basic + texlive-collection-binextra + texlive-collection-context + texlive-collection-fontsrecommended + texlive-collection-fontutils + texlive-collection-langczechslovak + texlive-collection-langenglish + texlive-collection-langeuropean + texlive-collection-langfrench + texlive-collection-langgerman + texlive-collection-langitalian + texlive-collection-langpolish + texlive-collection-langportuguese + texlive-collection-langspanish + texlive-collection-latex + texlive-collection-latexrecommended + texlive-collection-luatex + texlive-collection-mathscience + texlive-collection-metapost + texlive-collection-plaingeneric + texlive-collection-xetex)) + (home-page "https://www.tug.org/texlive/") + (synopsis "Small scheme with additional packages and languages") + (description + "This is the medium TeX Live collection: it contains plain TeX, +LaTeX, many recommended packages, and support for most European languages.") + (license (license:fsf-free "https://www.tug.org/texlive/copying.html")))) + (define-public texlive-scheme-minimal (package (name "texlive-scheme-minimal") @@ -970,6 +1053,81 @@ variant. It adds XeTeX, MetaPost, and some recommended packages to @code{scheme-basic}.") (license (license:fsf-free "https://www.tug.org/texlive/copying.html")))) +(define-public texlive-scheme-tetex + (package + (name "texlive-scheme-tetex") + (version (number->string %texlive-revision)) + (source #f) + (build-system trivial-build-system) + (arguments (list #:builder #~(mkdir #$output))) + (propagated-inputs + (list texlive-acronym + texlive-amslatex-primer + texlive-bbm + texlive-bbm-macros + texlive-bbold + texlive-bibtex8 + texlive-cmbright + texlive-collection-basic + texlive-collection-context + texlive-collection-fontsrecommended + texlive-collection-fontutils + texlive-collection-formatsextra + texlive-collection-langcjk + texlive-collection-langcyrillic + texlive-collection-langczechslovak + texlive-collection-langenglish + texlive-collection-langeuropean + texlive-collection-langfrench + texlive-collection-langgerman + texlive-collection-langgreek + texlive-collection-langitalian + texlive-collection-langother + texlive-collection-langpolish + texlive-collection-langportuguese + texlive-collection-langspanish + texlive-collection-latex + texlive-collection-latexrecommended + texlive-collection-mathscience + texlive-collection-metapost + texlive-collection-pictures + texlive-collection-plaingeneric + texlive-collection-pstricks + texlive-ctie + texlive-cweb + texlive-detex + texlive-dtl + texlive-dvi2tty + texlive-dvicopy + texlive-dvidvi + texlive-dviljk + texlive-eplain + texlive-eulervm + texlive-gentle + texlive-lshort-english + texlive-mltex + texlive-multirow + texlive-nomencl + texlive-patgen + texlive-pst-pdf + texlive-rsfs + texlive-seetexk + texlive-siunits + texlive-subfigure + texlive-supertabular + texlive-tamethebeast + texlive-tds + texlive-tex-refs + texlive-tie + texlive-web + texlive-xpdfopen)) + (home-page "https://www.tug.org/texlive/") + (synopsis "teTeX scheme (more than medium, but nowhere near full)") + (description + "Larger than medium, this TeX Live scheme is nearly equivalent to the +teTeX distribution that was maintained by Thomas Esser.") + (license (license:fsf-free "https://www.tug.org/texlive/copying.html")))) + ;; This package must be located before any package adding it to its native ;; inputs. (define-public texlive-updmap.cfg @@ -1089,6 +1247,50 @@ TGA. Accepted output formats are: EPS, PCL5, PDF, PDF1, PBM, PGM, PPM, PS, markedEPS, markedPS, PNG, XWD, BMP, TIFF, JPEG, GIF, XPM.") (license license:gpl3+))) +(define-public texlive-aalok + (package + (name "texlive-aalok") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/aalok/" "source/latex/aalok/" + "tex/latex/aalok/") + (base32 + "0vpvqv60p5v3frdqa5r8k9k4zxk0icma5blw9dr6jhqfzf6lc3jy"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/aalok") + (synopsis "LaTeX class file for the Marathi journal @emph{Aalok}") + (description + "This package provides the class file for typesetting @emph{Aalok}, +a Marathi journal, with LaTeX.") + (license (list license:gpl3+ + ;; Aalok (आलोक) copyleft license v1.0+. + (license:fsf-free "file://doc/latex/aalok/README.txt") + license:fdl1.3+)))) + +(define-public texlive-abc + (package + (name "texlive-abc") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/abc/" "source/latex/abc/" + "tex/latex/abc/") + (base32 + "1vywrv35h65gkxipc7d26k32r04fk61kfkkk9bj3zsmxsw1v3r8d"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/abc") + (synopsis "Support ABC music notation in LaTeX") + (description + "The abc package lets you include lines of music written in the ABC Plus +language. The package will then employ the @code{\\write18} facility to +convert your notation to PostScript (using the established utility +@command{abcm2ps}) and hence to the format needed for inclusion in your +document.") + (license license:lppl1.2+))) + (define-public texlive-accents (package (name "texlive-accents") @@ -1201,6 +1403,41 @@ adaptation for working with Babel.") controlling the searches that the package does.") (license license:lppl))) +(define-public texlive-adtrees + (package + (name "texlive-adtrees") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/adtrees/" "tex/latex/adtrees/") + (base32 + "0ypb609wvw3mvs7bf2mwa7r7v4frxjhfll8d1sqfry3dv3kr13pq"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/adtrees") + (synopsis "Macros for drawing adpositional trees") + (description + "This package provides a means to write adpositional trees, a formalism +devoted to representing natural language expressions.") + (license license:gpl3+))) + +(define-public texlive-adobemapping + (package + (name "texlive-adobemapping") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "fonts/cmap/adobemapping/") + (base32 + "1yvf74mlmxmnq9m0wvda9xcna8xnn382bbrzizzjm5w7bk8c4g98"))) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/adobemapping") + (synopsis "Adobe CMap and PDF mapping files") + (description + "The package comprises the collection of CMap and PDF mapping files made +available for distribution by Adobe.") + (license license:bsd-3))) + (define-public texlive-afm2pl (package (name "texlive-afm2pl") @@ -1224,6 +1461,25 @@ a @file{.tfm} (TeX Font Metric) file. It normally preserves kerns and ligatures, but also offers additional control over them.") (license license:gpl2))) +(define-public texlive-akshar + (package + (name "texlive-akshar") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/akshar/" "source/latex/akshar/" + "tex/latex/akshar/") + (base32 + "17xiqalqpw64pgvmpsa41qf6y5fhg720rpbr57kv8ipvvm1fn3n5"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/akshar") + (synopsis "Support for syllables in the Devanagari script") + (description + "This LaTeX3 package provides macros and interfaces to work with +Devanagari characters and syllables in a more correct way.") + (license license:lppl1.3c))) + (define-public texlive-albatross (package (name "texlive-albatross") @@ -1247,6 +1503,33 @@ ligatures, but also offers additional control over them.") a given (Unicode) glyph. It relies on Fontconfig.") (license license:bsd-3))) +(define-public texlive-aleph + (package + (name "texlive-aleph") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/aleph/base/" "doc/man/man1/aleph.1" + "doc/man/man1/aleph.man1.pdf") + (base32 + "0b7dihilh2v8qcp4m8fblyc10jc5i4fhpj3pspzinag0pk66b7nb"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (arguments (list #:create-formats #~(list "aleph"))) + (propagated-inputs + (list texlive-cm + texlive-hyphen-base + texlive-knuth-lib + texlive-lambda + texlive-latex + texlive-plain)) + (home-page "https://ctan.org/pkg/aleph") + (synopsis "Extended TeX") + (description + "This package provides a development of Omega, using most of the +extensions of TeX, itself developed for e-TeX.") + (license license:gpl3+))) + (define-public texlive-alg (package (name "texlive-alg") @@ -1426,6 +1709,45 @@ text which spans over multiple lines.") math environments.") (license license:lppl1.3c))) +(define-public texlive-alkalami + (package + (name "texlive-alkalami") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/fonts/alkalami/" + "fonts/truetype/public/alkalami/") + (base32 + "0979xhsjar0gwjp9yqp0kaf4gp4z715gr2kdb8dkqg8zzlkqhgzk"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/alkalami") + (synopsis "Font for Arabic-based writing systems in Nigeria and Niger") + (description + "This font is designed for Arabic-based writing systems in the Kano +region of Nigeria and Niger.") + (license license:silofl1.1))) + +(define-public texlive-alpha-persian + (package + (name "texlive-alpha-persian") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "bibtex/bst/alpha-persian/" + "doc/bibtex/alpha-persian/") + (base32 + "15ynmgh3fp6s40c200kgr6v0q84bkzp9cv45yg90mr9d7mq72djv"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/alpha-persian") + (synopsis "Persian version of @file{alpha.bst}") + (description + "The package provides a Persian version of the alpha BibTeX style and +offers several enhancements. It is compatible with the @code{hyperref}, +@code{url}, @code{natbib}, and @code{cite} packages.") + (license license:lppl1.3c))) + (define-public texlive-amscdx (package (name "texlive-amscdx") @@ -1451,6 +1773,92 @@ geometry remains. This nevertheless allows the drawing of a much broader class of commutative diagrams and alike.") (license license:lppl1.3c))) +(define-public texlive-amscls-doc + (package + (name "texlive-amscls-doc") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/amscls-doc/") + (base32 + "0allim05cp20zhn480df2mivd3p9gnc069d7hbjlzv660bw7mapx"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/amscls-doc") + (synopsis "User documentation for AMS document classes") + (description + "This collection comprises a set of four manuals, or Author Handbooks, +each documenting the use of a class of publications based on one of the AMS +document classes @code{amsart}, @code{amsbook}, @code{amsproc} and one hybrid, +as well as a guide to the generation of the four manuals from a coordinated +set of LaTeX source files. The Handbooks comprise the user documentation for +the pertinent document classes. As the source for the Handbooks consists of +a large number of files, and the intended output is multiple different +documents, the principles underlying this collection can be used as a model +for similar projects. The manual @emph{Compiling the AMS Author Handbooks} +provides information about the structure of and interaction between the +various components.") + (license license:lppl1.3c))) + +(define-public texlive-amslatex-primer + (package + (name "texlive-amslatex-primer") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/amslatex-primer/") + (base32 + "1kzayyh1bycmq43s2xn81jf05r18azidbk3gv6igf2vaq37fmxil"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/amslatex-primer") + (synopsis "Getting up and running with AMS-LaTeX") + (description + "The document aims to get you up and running with AMS-LaTeX as quickly as +possible. These instructions are not a substitute for the full documentation, +but they may get you started quickly enough so that you will only need to +refer to the main documentation occasionally. In addition to AMS-LaTeX out of +the box, the document contains a section describing how to draw commutative +diagrams using Xy-pic and a section describing how to use @code{amsrefs} to +create a bibliography.") + (license license:lppl))) + +(define-public texlive-amsldoc-it + (package + (name "texlive-amsldoc-it") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/amsldoc-it/") + (base32 + "0d4hwb7hywy56d6934448lcr6fdx7qchkfzs806dr7wfzfy36yix"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/amsldoc-it") + (synopsis "Italian translation of @code{amsldoc}") + (description + "This package provides an Italian translation of @code{amsldoc}.") + ;; Use same license as `amsmath'. + (license license:lppl1.3c))) + +(define-public texlive-amsldoc-vn + (package + (name "texlive-amsldoc-vn") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/amsldoc-vn/") + (base32 + "1iz0zjn1v7izwbsq0zb6cvpnkbvk0nxw1b24j7dzqwk3m9j43i6x"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/amslatexdoc-vietnamese") + (synopsis "Vietnamese translation of AMSLaTeX documentation") + (description + "This is a Vietnamese translation of @code{amsldoc}, the users guide to +@code{amsmath}.") + (license license:lppl1.3+))) + (define-public texlive-amstex (package (name "texlive-amstex") @@ -1489,6 +1897,47 @@ is the historical basis of @code{amslatex}, which should now be used to prepare submissions for the AMS.") (license license:lppl))) +(define-public texlive-amsthdoc-it + (package + (name "texlive-amsthdoc-it") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/amsthdoc-it/") + (base32 + "0ic88gs89m3d9ys40c4k7sgx6wy82c8isg2qkmd4snw5yms6fpaz"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/amsthdoc-it") + (synopsis "Italian translation of @code{amsthdoc}") + (description + "This package provides an Italian translation of @code{amsthdoc}.") + ;; Use same license as `amscls'. + (license license:lppl1.3c))) + +(define-public texlive-annee-scolaire + (package + (name "texlive-annee-scolaire") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/annee-scolaire/" + "source/latex/annee-scolaire/" + "tex/latex/annee-scolaire/") + (base32 + "1nwm67p4s822d7r4kr3rbvnm9vlkvzjbikqy8hq2fqsc9bdx34ib"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/annee-scolaire") + (synopsis "Automatically typeset the academic year (French way)") + (description + "This package provides a macro @code{\\anneescolaire} to automatically +write the academic year in the French way, according to the date of +compilation, two other macros to obtain the first and the second calendar year +of the academic year, a macro to be redefined to change the presentation of +the years.") + (license license:lppl1.3c))) + (define-public texlive-annotate-equations (package (name "texlive-annotate-equations") @@ -1509,6 +1958,63 @@ equations and add annotation labels using TikZ. It should work with pdfLaTeX as well as LuaLaTeX.") (license license:expat))) +(define-public texlive-antanilipsum + (package + (name "texlive-antanilipsum") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/antanilipsum/" + "source/latex/antanilipsum/" + "tex/latex/antanilipsum/") + (base32 + "1yighrv3nxb266949m8sqvvl5yp8bhjq478h2abfrs1z0r65gpjr"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/antanilipsum") + (synopsis "Generate sentences in the style of @emph{Amici miei}") + (description + "This package is an italian blind text generator that ouputs supercazzole, +mocking nonsense phrases from the movie series @emph{Amici Miei} (``My +friends'', in English), directed by Mario Monicelli.") + (license license:lppl1.3c))) + +(define-public texlive-antomega + (package + (name "texlive-antomega") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/omega/antomega/" "omega/ocp/antomega/" + "omega/otp/antomega/" + "source/lambda/antomega/" + "tex/lambda/antomega/") + (base32 + "02pfjm9y33mjggn9w2lrk1fxfz3m72xgbvyvrq2iri9yf0hk33pf"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (arguments + (list + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'fix-build + ;; This phase is necessary because the build phase is reluctant to + ;; generate "hyphen.cfg" since there is another one among the + ;; inputs already. + (lambda _ + (substitute* "source/lambda/antomega/antomega.ins" + (("\\\\generateFile\\{hyphen\\.cfg\\}\\{t\\}") + "\\generateFile{hyphen.cfg}{f}"))))))) + (propagated-inputs (list texlive-omega)) + (home-page "https://ctan.org/pkg/antomega") + (synopsis "Alternative language support for Omega and Lambda") + (description + "This package provides a language support package for Omega and Lambda. +This replaces the original Omega package for use with Lambda, and provides +extra facilities (including Babel-like language switching, which eases porting +of LaTeX documents to Lambda).") + (license license:lppl))) + (define-public texlive-apnum (package (name "texlive-apnum") @@ -1529,6 +2035,44 @@ Operands may be numbers with arbitrary numbers of digits; scientific notation is allowed. The expression scanner is also provided.") (license license:public-domain))) +(define-public texlive-apprendre-a-programmer-en-tex + (package + (name "texlive-apprendre-a-programmer-en-tex") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/plain/apprendre-a-programmer-en-tex/") + (base32 + "05779lk9v849k712wfjv0mhyzahwpl4n892ydamfdc5yg05bsnyv"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/apprendre-a-programmer-en-tex") + (synopsis "@emph{Apprendre à programmer en TeX} book") + (description + "This book explains the basic concepts required for programming in TeX +and explains the programming methods, providing many examples. The package +makes the compileable source code as well as the compiled PDF file accessible +to everyone.") + (license license:lppl1.2+))) + +(define-public texlive-apprends-latex + (package + (name "texlive-apprends-latex") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/apprends-latex/") + (base32 + "1xzy7svb2xz6bdfg0f1r3whwda118pl7qdwygx1l7h4d1vqm2rcq"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/apprends-latex") + (synopsis "@emph{Apprends LaTeX!} book") + (description + "@emph{Apprends LaTeX!} (``Learn LaTeX'', in English) is French +documentation for LaTeX beginners.") + (license license:lppl))) + (define-public texlive-apxproof (package (name "texlive-apxproof") @@ -1555,6 +2099,145 @@ the main text, and supports a separate bibliography for the appendix material.") (license license:lppl1.3+))) +(define-public texlive-arabi + (package + (name "texlive-arabi") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/arabi/" + "fonts/afm/arabi/arabeyes/" + "fonts/enc/dvips/arabi/" + "fonts/map/dvips/arabi/" + "fonts/tfm/arabi/arabeyes/" + "fonts/tfm/arabi/farsiweb/" + "fonts/type1/arabi/arabeyes/" + "fonts/type1/arabi/farsiweb/" + "tex/latex/arabi/") + (base32 + "19js5lw5r51n97gnf7ggvnvdkaamd0aagx73hnpyfzgzj9nb8pjr"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/arabi") + (synopsis "(La)TeX support for Arabic and Farsi, compliant with Babel") + (description + "The package provides an Arabic and Farsi script support for TeX without +the need of any external pre-processor, and in a way that is compatible with +Babel. The bi-directional capability supposes that the user has a TeX engine +that knows the four primitives @code{\\beginR}, @code{\\endR}, @code{\\beginL} +and @code{\\endL}. That is the case in both the TeX--XeT and e-TeX engines. + +Arabi will accept input in several 8-bit encodings, including UTF-8. Arabi +can make use of a wide variety of Arabic and Farsi fonts, and provides one of +its own. PDF files generated using Arabi may be searched, and text may be +copied from them and pasted elsewhere.") + (license license:lppl))) + +(define-public texlive-arabi-add + (package + (name "texlive-arabi-add") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/arabi-add/" + "tex/latex/arabi-add/") + (base32 + "1lrr3vr9sv554bvad70rc32x0jgsam2jaflgxw0nid0629rmigdj"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/arabi-add") + (synopsis + "Using @code{hyperref} and @code{bookmark} packages with Arabic and Farsi languages") + (description + "This package takes advantage of some of the possibilities that +@code{hyperref} and @code{bookmark} packages offer when you create a table of +contents for Arabic texts created by the @code{arabi} package.") + (license license:lppl1.3))) + +(define-public texlive-arabic-book + (package + (name "texlive-arabic-book") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/xelatex/arabic-book/" + "tex/xelatex/arabic-book/") + (base32 + "070agzwpgdfvjqn2klxw2m1bavy0l9b9pqqikc7il3wx107m4ni1"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/arabic-book") + (synopsis "Arabic @code{book} class") + (description + "This document class provides both Arabic and English support for TeX and +LaTeX. Input may be in ASCII transliteration or other encodings +(including UTF-8), and output may be Arabic, Hebrew, or any of several +languages that use the Arabic script, as can be specified by the Polyglossia +package. The Arabic font is presently available in any Arabic fonts style. +In order to use Amiri font style, the user needs to install the amiri package. +This document class runs with the XeTeX engine. PDF files generated using +this class can be searched, and text can be copied from them and pasted +elsewhere.") + (license license:lppl1.3+))) + +(define-public texlive-arabluatex + (package + (name "texlive-arabluatex") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/lualatex/arabluatex/" + "source/lualatex/arabluatex/" + "tex/lualatex/arabluatex/") + (base32 + "1g1ai0inai3jniq49avfswyaysxlk1yp6n97l94pq8v3vszx0k8i"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/arabluatex") + (synopsis "ArabTeX for LuaLaTeX") + (description + "This package provides for LuaLaTeX an ArabTeX-like interface to generate +Arabic writing from an ascii transliteration. It is particularly well-suited +for complex documents such as technical documents or critical editions where +a lot of left-to-right commands intertwine with Arabic writing. +@code{arabluatex} is able to process any ArabTeX input notation. Its output +can be set in the same modes of vocalization as ArabTeX, or in different roman +transliterations. It further allows many typographical refinements. It will +eventually interact with some other packages yet to come to produce from +@file{.tex} source files, in addition to printed books, TEI XML compliant +critical editions and/or lexicons that can be searched, analyzed and +correlated in various ways.") + (license (list license:gpl3+ license:cc-by-sa4.0)))) + +(define-public texlive-arabtex + (package + (name "texlive-arabtex") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/arabtex/" + "fonts/map/dvips/arabtex/" + "fonts/source/public/arabtex/" + "fonts/tfm/public/arabtex/" + "fonts/type1/public/arabtex/" + "tex/latex/arabtex/") + (base32 + "1z1iaj59lawilydp31d3zxbd5jbny4szpdnkbwl6lrnki4c0s51c"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (native-inputs (list texlive-metafont)) + (home-page "https://ctan.org/pkg/arabtex") + (synopsis "Macros and fonts for typesetting Arabic") + (description + "ArabTeX is a package extending the capabilities of TeX and LaTeX to +generate Arabic and Hebrew text. Input may be in ASCII transliteration or +other encodings (including UTF-8); output may be Arabic, Hebrew, or any of +several languages that use the Arabic script. ArabTeX consists of a TeX macro +package and Arabic and Hebrew fonts (provided both in Metafont format and +Adobe Type 1). The Arabic font is presently only available in the Naskhi +style. ArabTeX will run with Plain TeX and also with LaTeX.") + (license license:lppl))) + (define-public texlive-arara (package (name "texlive-arara") @@ -1589,6 +2272,285 @@ on indirect resources, such as log file analysis. Arara requires a Java virtual machine.") (license license:bsd-3))) +(define-public texlive-aramaic-serto + (package + (name "texlive-aramaic-serto") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/aramaic-serto/" + "fonts/afm/public/aramaic-serto/" + "fonts/map/dvips/aramaic-serto/" + "fonts/source/public/aramaic-serto/" + "fonts/tfm/public/aramaic-serto/" + "fonts/type1/public/aramaic-serto/" + "tex/latex/aramaic-serto/") + (base32 + "154bicknhsj8nypnyzr999wj34xli0kfpic9vym805abxbpwrmsw"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (native-inputs (list texlive-metafont)) + (home-page "https://ctan.org/pkg/aramaic-serto") + (synopsis "Fonts and LaTeX for Syriac written in Serto") + (description + "This package enables (La)TeX users to typeset words or phrases (e-TeX +extensions are needed) in Syriac (Aramaic) using the Serto-alphabet. The +package includes a preprocessor written in Python in order to deal with +right-to-left typesetting for those who do not want to use e-LaTeX and to +choose the correct letter depending on word context (initial/medial/final +form).") + (license license:lppl1.3+))) + +(define-public texlive-armtex + (package + (name "texlive-armtex") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/generic/armenian/" + "fonts/afm/public/armenian/" + "fonts/map/dvips/armenian/" + "fonts/source/public/armenian/" + "fonts/tfm/public/armenian/" + "fonts/type1/public/armenian/" + "tex/latex/armenian/" + "tex/plain/armenian/") + (base32 + "161c66av2zkxp9r32dr449sa9crmyjkjijrvx5a56avkyyr1s0kp"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (native-inputs (list texlive-metafont)) + (home-page "https://ctan.org/pkg/armtex") + (synopsis "System for writing in Armenian with TeX and LaTeX") + (description + "ArmTeX is a system for typesetting Armenian text with Plain TeX or LaTeX(2e). +It may be used with input: from a standard Latin keyboard without any special +encoding or support for Armenian letters, from any keyboard which uses an +encoding that has Armenian letters in the second half (characters 128-255) of +the extended ASCII table (for example ArmSCII8 Armenian standard), or from an +Armenian keyboard using UTF-8 encoding.") + (license license:lppl))) + +(define-public texlive-around-the-bend + (package + (name "texlive-around-the-bend") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/generic/around-the-bend/") + (base32 + "00nc6kx4ylz9g6vmjlgyjvmy1ls86pjblbcpm5z40wh5xl7l184f"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/around-the-bend") + (synopsis "Typeset exercises in TeX, with answers") + (description + "This is a typeset version of the files of the @code{aro-bend}, plus +three extra questions (with their answers) that Michael Downes didn't manage +to get onto CTAN.") + (license license:lppl))) + +(define-public texlive-arphic + (package + (name "texlive-arphic") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/fonts/arphic/" + "dvips/arphic/" + "fonts/afm/arphic/bkaiu/" + "fonts/afm/arphic/bsmiu/" + "fonts/afm/arphic/gbsnu/" + "fonts/afm/arphic/gkaiu/" + "fonts/map/dvips/arphic/" + "fonts/tfm/arphic/bkaimp/" + "fonts/tfm/arphic/bkaiu/" + "fonts/tfm/arphic/bsmilp/" + "fonts/tfm/arphic/bsmiu/" + "fonts/tfm/arphic/gbsnlp/" + "fonts/tfm/arphic/gbsnu/" + "fonts/tfm/arphic/gkaimp/" + "fonts/tfm/arphic/gkaiu/" + "fonts/type1/arphic/bkaiu/" + "fonts/type1/arphic/bsmiu/" + "fonts/type1/arphic/gbsnu/" + "fonts/type1/arphic/gkaiu/" + "fonts/vf/arphic/bkaimp/" + "fonts/vf/arphic/bsmilp/" + "fonts/vf/arphic/gbsnlp/" + "fonts/vf/arphic/gkaimp/") + (base32 + "1sqsgw9xjgd3ss2q7hwnb3vv38sg7l9i8bvsy79m5hyg29wn973x"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/arphic") + (synopsis "Arphic (Chinese) font packages") + (description + "These are font bundles for the Chinese Arphic fonts which work with the +CJK package. TrueType versions of these fonts for use with XeLaTeX and +LuaLaTeX are provided by the @code{arphic-ttf} package.") + ;; The files are generated from `chinese-fonts-truetype', located in + ;; non-GNU FTP site, using the license below. + (license license:arphic-1999))) + +(define-public texlive-arphic-ttf + (package + (name "texlive-arphic-ttf") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/fonts/arphic-ttf/" + "fonts/truetype/public/arphic-ttf/") + (base32 + "141hsz7lhqpbz3k10kl57bg21yslrb562alk1a6q129i56zb7jby"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/arphic-ttf") + (synopsis "TrueType version of Chinese Arphic fonts") + (description + "This package provides TrueType versions of the Chinese Arphic fonts for +use with XeLaTeX and LuaLaTeX. Type1 versions of these fonts, for use with +pdfLaTeX and the @code{cjk} package, are provided by the @code{arphic} +package.") + (license license:arphic-1999))) + +(define-public texlive-ascii-chart + (package + (name "texlive-ascii-chart") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/support/ascii-chart/") + (base32 + "1m2x7iwz80plq6hbhp9xia6bp8wbi03iifs0pkr7ji3gn8hqgh1r"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/ascii-chart") + (synopsis "ASCII wall chart") + (description + "This package contains an ASCII wall chart. The document may be +converted between Plain TeX and LaTeX by a simple editing action.") + (license license:lppl1.3+))) + +(define-public texlive-ascmac + (package + (name "texlive-ascmac") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/ascmac/" + "fonts/map/dvips/ascmac/" + "fonts/source/public/ascmac/" + "fonts/tfm/public/ascmac/" + "fonts/type1/public/ascmac/" + "source/latex/ascmac/" + "tex/latex/ascmac/") + (base32 + "1d388nqyjipqsgd0pd4zrskaf3wddacg6rrmy3q1n8pvmna4gmz1"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (native-inputs (list texlive-metafont)) + (home-page "https://ctan.org/pkg/ascmac") + (synopsis "Boxes and picture macros with Japanese vertical writing support") + (description + "The bundle provides boxes and picture macros with Japanese vertical +writing support. It uses only native picture macros and fonts for drawing +boxes and is thus driver independent.") + (license license:bsd-3))) + +(define-public texlive-asternote + (package + (name "texlive-asternote") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/asternote/" + "tex/latex/asternote/") + (base32 + "1a53pmw237lm1yjx55qwq3fq6jq34vlw03w62vrq3ksw9346dg5r"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/asternote") + (synopsis "Annotation symbols enclosed in square brackets with an asterisk") + (description + "This LaTeX package can output annotation symbols enclosed in square +brackets and marked with an asterisk.") + (license license:expat))) + +(define-public texlive-asymptote-by-example-zh-cn + (package + (name "texlive-asymptote-by-example-zh-cn") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/support/asymptote-by-example-zh-cn/") + (base32 + "0854pbh3rm21rzzbhai7xijzw26qawffj4wd3mrwbva1406106ff"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/asymptote-by-example-zh-cn") + (synopsis "Asymptote by example") + (description "This is an Asymptote tutorial written in Simplified +Chinese.") + (license license:gpl3+))) + +(define-public texlive-asymptote-faq-zh-cn + (package + (name "texlive-asymptote-faq-zh-cn") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/support/asymptote-faq-zh-cn/") + (base32 + "0z09f5as68dz66dlj370xfx593bv50ihxx10zxmm9lk27ymr52hb"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/asymptote-faq-zh-cn") + (synopsis "Asymptote FAQ (Chinese translation)") + (description "This is a Chinese translation of the Asymptote FAQ.") + (license license:lppl))) + +(define-public texlive-asymptote-manual-zh-cn + (package + (name "texlive-asymptote-manual-zh-cn") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/support/asymptote-manual-zh-cn/") + (base32 + "047l3bh8vvk185wkazyfw4dm6893xpa2ksn5vfc57r5rv4x16wmb"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/asymptote-manual-zh-cn") + (synopsis "Chinese translation of the Asymptote manual") + (description + "This is an (incomplete, simplified) Chinese translation of the Asymptote +manual.") + (license license:lgpl3+))) + +(define-public texlive-auto-pst-pdf + (package + (name "texlive-auto-pst-pdf") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/auto-pst-pdf/" + "source/latex/auto-pst-pdf/" + "tex/latex/auto-pst-pdf/") + (base32 + "1lpjwqd0rhdzz3kywl54pjlpj1qsj7kflj0336vj2zb20rxl0hqp"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (propagated-inputs (list texlive-ifplatform texlive-iftex texlive-xkeyval)) + (home-page "https://ctan.org/pkg/auto-pst-pdf") + (synopsis "Wrapper for @code{pst-pdf} (with some PSfrag features)") + (description + "The package uses @samp{--shell-escape} to execute @code{pst-pdf} when necessary. +Wrappers are provided for various psfrag-related features so that Matlab +figures via @code{laprint}, Mathematica figures via MathPSfrag, and regular +PSfrag figures can all be input consistently and easily.") + (license license:lppl1.3c))) + (define-public texlive-autoaligne (package (name "texlive-autoaligne") @@ -1631,6 +2593,34 @@ package tries to put breaks at adequate places. It is suitable for computer-generated long formulae with many terms.") (license license:lppl1.3+))) +(define-public texlive-autosp + (package + (name "texlive-autosp") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/generic/autosp/" + "doc/man/man1/autosp.1" + "doc/man/man1/autosp.man1.pdf" + "doc/man/man1/tex2aspc.1" + "doc/man/man1/tex2aspc.man1.pdf") + (base32 + "16szmbffp9pwzv7zq3l4yvnsfk4m7w57wib7pqpgv1v5fzhlaahs"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/autosp") + (synopsis + "Preprocessor generating note-spacing commands for MusiXTeX scores") + (description + "This program simplifies the creation of MusiXTeX scores by converting +(non-standard) commands of the form @code{\\anotes ... \\en} into one or more +conventional note-spacing commands, as determined by the note values +themselves, with @code{\\sk} spacing commands inserted as necessary. The +coding for an entire measure can be entered one part at a time, without +concern for note-spacing changes within the part or spacing requirements of +other parts.") + (license license:gpl2+))) + (define-public texlive-axodraw2 (package (name "texlive-axodraw2") @@ -1711,6 +2701,88 @@ formatted lists of productions, with numbers if required. It can also print in-line BNF expressions using math mode.") (license license:lppl1.3c))) +(define-public texlive-baekmuk + (package + (name "texlive-baekmuk") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/fonts/baekmuk/" + "fonts/truetype/public/baekmuk/") + (base32 + "0nc6sfjbimh1g8zhcl58ag6kqskhwd3h0m68y7k2v3v5i9n5g5yr"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/baekmuk") + (synopsis "Baekmuk Korean TrueType fonts") + (description + "This bundle consists of four Korean fonts: @file{batang.ttf} (serif), +@file{dotum.ttf} (sans-serif), @file{gulim.ttf} (sans-serif rounded) and +@file{hline.ttf} (headline).") + (license license:expat))) + +(define-public texlive-bagpipe + (package + (name "texlive-bagpipe") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/generic/bagpipe/" + "tex/generic/bagpipe/") + (base32 + "0zybnikkj00hmlzfaaljcq1ml5vi6qfhl1hfrjq9vjc409vzzvka"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/bagpipe") + (synopsis "Support for typesetting bagpipe music") + (description + "Typesetting bagpipe music in MusixTeX is needlessly tedious. This +package provides specialized and re-defined macros to simplify this task.") + (license license:lppl1.3+))) + +(define-public texlive-bangla + (package + (name "texlive-bangla") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/bangla/" + "fonts/truetype/public/bangla/" + "tex/latex/bangla/") + (base32 + "0basibrsbns9s2ny6ny95hl6dj4rjf6q4z9bqn2kc9945akxg8af"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (propagated-inputs (list texlive-charissil texlive-doulossil)) + (home-page "https://ctan.org/pkg/bangla") + (synopsis "Comprehensive Bangla LaTeX package") + (description + "This package provides all the necessary LaTeX frontends for the Bangla +language and comes with some fonts of its own.") + (license (list license:lppl1.3c license:silofl1.1)))) + +(define-public texlive-bangtex + (package + (name "texlive-bangtex") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/bangtex/" + "fonts/source/public/bangtex/" + "fonts/tfm/public/bangtex/" + "tex/latex/bangtex/") + (base32 + "1hmv27wpnwv70gipvfvxs1rwfjqbcy0lgn09hs2ah6ayqgr740im"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (native-inputs (list texlive-metafont)) + (home-page "https://ctan.org/pkg/bangtex") + (synopsis "Writing Bangla and Assamese with LaTeX") + (description + "The bundle provides class files for writing Bangla and Assamese with LaTeX, +and Metafont sources for fonts.") + (license license:lppl))) + (define-public texlive-barr (package (name "texlive-barr") @@ -1729,6 +2801,91 @@ in-line BNF expressions using math mode.") of mathematical disciplines.") (license license:lppl1.3+))) +(define-public texlive-basque-book + (package + (name "texlive-basque-book") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/basque-book/" + "source/latex/basque-book/" + "tex/latex/basque-book/") + (base32 + "16jgn4pxqbmq2dx5gfyy4p04ykaijkjyy9banp3l3a6ykm2xn8w7"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/basque-book") + (synopsis "Class for book-type documents written in Basque") + (description + "The class is derived from the LaTeX @code{book} class. The extensions +solve grammatical and numeration issues that occur when book-type documents +are written in Basque. The class is useful for writing books, PhD and Master +Theses, etc., in Basque.") + (license license:lppl1.2+))) + +(define-public texlive-basque-date + (package + (name "texlive-basque-date") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/basque-date/" + "source/latex/basque-date/" + "tex/latex/basque-date/") + (base32 + "0n1nc2nrwl3ajk1n7xbnf49mvg8dlqlyndsyywgs46dnv55b7gs5"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/basque-date") + (synopsis "Print the date in Basque") + (description + "The package provides two LaTeX commands to print the current date in +Basque according to the correct forms ruled by The Basque Language Academy +(Euskaltzaindia). The commands automatically solve the complex declination +issues of numbers in Basque.") + (license license:lppl1.2+))) + +(define-public texlive-bclogo + (package + (name "texlive-bclogo") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/bclogo/" "metapost/bclogo/" + "tex/latex/bclogo/") + (base32 + "1hdg99xkmdca23s7i63099r9jvgw2larv8aawjllj9mw18195jr9"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/bclogo") + (synopsis "Creating colourful boxes with logos") + (description + "The package facilitates the creation of colorful boxes with a title and logo. +It may use either TikZ or PSTricks as graphics engine.") + (license license:lppl1.3+))) + +(define-public texlive-begingreek + (package + (name "texlive-begingreek") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/begingreek/" + "source/latex/begingreek/" + "tex/latex/begingreek/") + (base32 + "1amzzc96pqxjicrgl4fnl2j7b65vvpxl32ckl308nbwfhd56fz6l"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/begingreek") + (synopsis "Greek environment to be used with pdfLaTeX only") + (description + "This simple package defines a greek environment to be used with pdfLaTeX +only, that accepts an optional Greek font family name to type its contents +with. A similar @code{\\greektxt} command does a similar action for shorter +texts.") + (license license:lppl1.3c))) + (define-public texlive-begriff (package (name "texlive-begriff") @@ -1747,6 +2904,213 @@ of mathematical disciplines.") @emph{Begriffschrift}.") (license license:gpl3+))) +(define-public texlive-bengali + (package + (name "texlive-bengali") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/fonts/bengali/" + "fonts/source/public/bengali/" + "fonts/tfm/public/bengali/" + "source/latex/bengali/" "tex/latex/bengali/") + (base32 + "077rs7rcx592g5m53hy73w6jd39qgb83z5sg2jbymjfwkk7y593h"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (native-inputs (list texlive-metafont)) + (home-page "https://ctan.org/pkg/bengali-pandey") + (synopsis "Support for the Bengali language") + (description + "The package is based on Velthuis transliteration scheme, with extensions +to deal with the Bengali letters that are not in Devanagari. The package also +supports Assamese.") + (license license:lppl))) + +(define-public texlive-betababel + (package + (name "texlive-betababel") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/betababel/" + "tex/latex/betababel/") + (base32 + "1lck0wighndd3qrhcks6amc6gm5y50f6a61nfcz31j087r3a7liv"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/betababel") + (synopsis "Insert ancient greek text coded in Beta Code") + (description + "The @code{betababel} package extends the Babel @samp{polutonikogreek} +option to provide a simple way to insert ancient Greek texts with diacritical +characters into your document using the commonly used Beta Code +transliteration.") + (license license:lppl))) + +(define-public texlive-bib-fr + (package + (name "texlive-bib-fr") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "bibtex/bst/bib-fr/" "doc/bibtex/bib-fr/") + (base32 + "11af1p52vr16l5gf69ql2zz0328yqd75nbcvik7b0g05pbqc12nv"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/bib-fr") + (synopsis "French translation of classical BibTeX styles") + (description + "These files are French translations of the classical BibTeX style +files.") + (license license:lppl))) + +(define-public texlive-bibleref + (package + (name "texlive-bibleref") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/bibleref/" + "source/latex/bibleref/" + "tex/latex/bibleref/") + (base32 + "1fgb6lljdsdvkbs4i7yvwvgjbpbc8vnki0wv3gdi9yq6s5j6lzv5"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/bibleref") + (synopsis "Format @emph{Bible} citations") + (description + "The bibleref package offers consistent formatting of references to parts +of the Christian @emph{Bible}, in a number of well-defined formats.") + (license license:lppl1.3+))) + +(define-public texlive-bibleref-french + (package + (name "texlive-bibleref-french") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/bibleref-french/" + "source/latex/bibleref-french/" + "tex/latex/bibleref-french/") + (base32 + "12y9xdsz0swh3rndmzk7ch9fbszbhcp0ixb21jyy36xnb3x80wa5"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/bibleref-french") + (synopsis "French translations for @code{bibleref}") + (description + "The package provides translations and alternative typesetting +conventions for use of @code{bibleref} in French.") + (license license:lppl1.3+))) + +(define-public texlive-bibleref-german + (package + (name "texlive-bibleref-german") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/bibleref-german/" + "tex/latex/bibleref-german/") + (base32 + "0nqky0x9j6w3xg2vaj29db7l0zjw88d7bl6vs8864hqz2i6h2pcw"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/bibleref-german") + (synopsis "German adaptation of @code{bibleref}") + (description + "The package provides translations and various formats for the use of +@code{bibleref} in German documents. The German naming of the Bible books +complies with the @emph{Loccumer Richtlinien} (Locum guidelines). In +addition, the Vulgate (Latin Bible) is supported.") + (license license:lppl1.3+))) + +(define-public texlive-bibleref-lds + (package + (name "texlive-bibleref-lds") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/bibleref-lds/" + "source/latex/bibleref-lds/" + "tex/latex/bibleref-lds/") + (base32 + "0wqmpzml3yyhzv7bx5wkfl2ni0qinz0kjzdanh6rx0bczp29dlfh"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/bibleref-lds") + (synopsis + "Bible references, including scriptures of the Church of Jesus Christ of +Latter Day Saints") + (description + "The package extends the @code{bibleref-mouth} package to support +references to the scriptures of The Church of Jesus Christ of Latter-day +Saints (LDS).") + (license license:lppl1.3+))) + +(define-public texlive-bibleref-mouth + (package + (name "texlive-bibleref-mouth") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/bibleref-mouth/" + "source/latex/bibleref-mouth/" + "tex/latex/bibleref-mouth/") + (base32 + "0dakbx8rnjs9yjnn1xal9y0bmh165lqhbjj3bns974vkyb7nla4m"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/bibleref-mouth") + (synopsis "Consistent formatting of @emph{Bible} references") + (description + "The package allows @emph{Bible} references to be formatted in +a consistent way. It is similar to the @code{bibleref} package, except that +the formatting macros are all purely expandable --- that is, they are all +implemented in TeX's mouth. This means that they can be used in any +expandable context, such as an argument to a @code{\\url} command.") + (license license:lppl1.3+))) + +(define-public texlive-bibleref-parse + (package + (name "texlive-bibleref-parse") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/bibleref-parse/" + "tex/latex/bibleref-parse/") + (base32 + "01jhic1idgjgv9hsx5gih4230krfqm8pc3j7f4kn22w2jnw7fs68"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/bibleref-parse") + (synopsis "Specify @emph{Bible} passages in human-readable format") + (description + "The package parses @emph{Bible} passages that are given in human +readable format. It accepts a wide variety of formats. This allows for +a simpler and more convenient interface to the functionality of the +@code{bibleref} package.") + (license license:lppl1.3+))) + +(define-public texlive-bidihl + (package + (name "texlive-bidihl") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/xelatex/bidihl/" "tex/xelatex/bidihl/") + (base32 + "021q2qhfl2ww95nbp63p3j7lv9wjj5s9wvn2sj5zyj1pcw75l8ir"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/bidihl") + (synopsis "Experimental Bidi-aware text highlighting") + (description + "This package provides experimental Bidi-aware text highlighting.") + (license license:lppl1.3+))) + (define-public texlive-binomexp (package (name "texlive-binomexp") @@ -1908,6 +3272,42 @@ convert atomic numbers to element symbols or element names and vice versa.") characters.") (license license:gpl3+))) +(define-public texlive-booktabs-de + (package + (name "texlive-booktabs-de") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/booktabs-de/") + (base32 + "1ld7zdr88xjhnnl2x734rxr7h0fz84awapmv50p1kzn6fczrwyam"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/booktabs-de") + (synopsis "German version of @code{booktabs}") + (description + "This is a German translation of the @code{booktabs} package +documentation.") + (license license:gpl3+))) + +(define-public texlive-booktabs-fr + (package + (name "texlive-booktabs-fr") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/booktabs-fr/") + (base32 + "1xkqh6r2q835xaa92b24fzf61jsm85280570hivvwnch96i4fnh3"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/booktabs-fr") + (synopsis "French translation of @code{booktabs} documentation") + (description + "This package provides a French translation of @code{booktabs} +documentation.") + (license license:lppl))) + (define-public texlive-borceux (package (name "texlive-borceux") @@ -1998,6 +3398,44 @@ involving brackets and allow partial differentials to be expressed in an alternate form.") (license license:lppl1.3+))) +(define-public texlive-burmese + (package + (name "texlive-burmese") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/fonts/burmese/" + "fonts/map/dvips/burmese/" + "fonts/tfm/public/burmese/" + "fonts/type1/public/burmese/" + "source/fonts/burmese/" + "tex/latex/burmese/") + (base32 + "04d022k7bqc7092xhsda0h5ma18b24hkmn0b7mlblpd3zf4qhs79"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (arguments + (list + #:phases + #~(modify-phases %standard-phases + ;; The "birm.pl" script is located in the "source" part, and + ;; therefore will not appear in any output. This phase forces its + ;; installation in "bin/" directory. + (add-after 'install 'install-script + (lambda _ + (install-file "source/fonts/burmese/birm.pl" + (string-append #$output "/bin"))))))) + (inputs (list perl)) + (home-page "https://ctan.org/pkg/burmese") + (synopsis "Basic support for writing Burmese") + (description + "This package provides basic support for writing Burmese. The package +provides a preprocessor (written in Perl), an Adobe Type 1 font, and LaTeX +macros.") + ;; The package itself is under LPPL terms, but the preprocessor relies on + ;; Knuth's. + (license (list license:lppl license:knuth)))) + (define-public texlive-bussproofs-extra (package (name "texlive-bussproofs-extra") @@ -2019,6 +3457,214 @@ alternate form.") entire (sub)deductions.") (license license:lppl1.3c))) +(define-public texlive-bxbase + (package + (name "texlive-bxbase") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/bxbase/" "tex/latex/bxbase/") + (base32 + "19zhvwj55lihlj11mk322735z595al847wsg3p0s3a9zm17b0skk"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/bxbase") + (synopsis "BX bundle base components") + (description + "The main purpose of this bundle is to serve as an underlying library for +other packages created by the same author. However @code{bxbase} package +contains a few user-level commands and is of some use by itself.") + (license license:expat))) + +(define-public texlive-bxcjkjatype + (package + (name "texlive-bxcjkjatype") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/bxcjkjatype/" + "tex/latex/bxcjkjatype/") + (base32 + "1cnh1xdqcapahixzfxrrmadplkfrljh1vcdq7i3p4xdaclrbhzds"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/bxcjkjatype") + (synopsis "Typeset Japanese with pdfLaTeX and CJK") + (description + "The package provides a working configuration of the CJK package, +suitable for Japanese typesetting of moderate quality. Moreover, it +facilitates use of the CJK package for pLaTeX users, by providing commands +that are similar to those used by the pLaTeX kernel and some other packages +used with it.") + (license license:expat))) + +(define-public texlive-bxghost + (package + (name "texlive-bxghost") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/bxghost/" "tex/latex/bxghost/") + (base32 + "11hnnyd6h3r5fl9p23qj1zspwzgnamfah7xqj7l1prp6ygb322mn"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/bxghost") + (synopsis "Ghost insertion for proper @code{xkanjiskip}") + (description + "The package provides two commands to help authors for documents in +Japanese to insert proper @code{xkanjiskips}. It supports LuaTeX, XeTeX, +pTeX, upTeX, and ApTeX (pTeX-ng).") + (license license:expat))) + +(define-public texlive-bxjaholiday + (package + (name "texlive-bxjaholiday") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/bxjaholiday/" + "tex/latex/bxjaholiday/") + (base32 + "1n0h9g5lgaz00gn8wjai8w3pbg7bs02aaw7zi7h8l01i4lc8l1r1"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/bxjaholiday") + (synopsis "Support for Japanese holidays") + (description + "This LaTeX package provides a command to convert dates to names of +Japanese holidays. Another command, converting dates to the day of the week +in Japanese, is available as a free gift.") + (license license:expat))) + +(define-public texlive-bxjalipsum + (package + (name "texlive-bxjalipsum") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/bxjalipsum/" + "tex/latex/bxjalipsum/") + (base32 + "1d71l9mrqc2lwzri5p97rfy0rdvj6jv2jpfm10grfpbwpln7big8"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/bxjalipsum") + (synopsis "Dummy text in Japanese") + (description + "This package enables users to print some Japanese text that can be used +as dummy text. It is a Japanese counterpart of the @code{lipsum} package. +Since there is no well-known nonsense text like Lipsum in the Japanese +language, the package uses some real text in public domain.") + (license license:expat))) + +(define-public texlive-bxjaprnind + (package + (name "texlive-bxjaprnind") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/bxjaprnind/" + "tex/latex/bxjaprnind/") + (base32 + "0j2k06y63c7dgpcflrfrjy82g2746fnmpf8dk445lbqkbn1jypr5"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/bxjaprnind") + (synopsis "Adjust the position of parentheses at paragraph head") + (description + "In Japanese typesetting, opening parentheses placed at the beginning of +paragraphs or lines are treated specially. This package adjusts the position +of parentheses accordingly.") + (license license:expat))) + +(define-public texlive-bxjatoucs + (package + (name "texlive-bxjatoucs") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/bxjatoucs/" + "fonts/tfm/public/bxjatoucs/" + "tex/latex/bxjatoucs/") + (base32 + "1032lfp9qy4arzy06s5hkqlva7y182763wxfdql93yn68hcn85vd"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/bxjatoucs") + (synopsis "Convert Japanese character code to Unicode") + (description + "This package is meant for macro or package developers: it provides +function-like macros that convert a character code value in one of several +Japanese encodings to a Unicode value. Supported source encodings are: +ISO-2022-JP (jis), EUC-JP (euc), Shift_JIS (sjis), and the Adobe-Japan1 glyph +set.") + (license license:expat))) + +(define-public texlive-bxjscls + (package + (name "texlive-bxjscls") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/bxjscls/" "source/latex/bxjscls/" + "tex/latex/bxjscls/") + (base32 + "0bm9ab1j949v3ygnml8w0isx7yydq6jfq4ws3i0pf1rhs56m6rm0"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/bxjscls") + (synopsis "Japanese document class collection for all major engines") + (description + "This package provides an extended version of the Japanese document class +collection provided by @code{jsclasses}. While the original version supports +only pLaTeX and upLaTeX, the extended version also supports pdfLaTeX, XeLaTeX +and LuaLaTeX, with the aid of suitable packages that provide capability of +Japanese typesetting.") + (license license:bsd-2))) + +(define-public texlive-bxorigcapt + (package + (name "texlive-bxorigcapt") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/bxorigcapt/" + "tex/latex/bxorigcapt/") + (base32 + "1gj61hjmyxsbfkrs1sh604b6dfl00kp39fcamlfzb8s197wsl9fv"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/bxorigcapt") + (synopsis "Retain the original caption names when using Babel") + (description + "This package forces the caption names declared by the document class in +use to be used as the caption names for a specific language introduced by the +Babel package.") + (license license:expat))) + +(define-public texlive-bxwareki + (package + (name "texlive-bxwareki") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/bxwareki/" "tex/latex/bxwareki/") + (base32 + "0qy1nsxi8ihhxdz5grp3nymsm2lfj5gf6wmky30fxizxya92ml2b"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/bxwareki") + (synopsis "Convert dates from Gregorian to Japanese calender") + (description + "This LaTeX package provides commands to convert from the Gregorian +calendar to the Japanese rendering of the Japanese calendar. You can choose +whether the numbers are written in Western numerals or kanji numerals. Note +that the package only deals with dates in the year 1873 or later, where the +Japanese calendar is really a Gregorian calendar with a different notation of +years.") + (license license:expat))) + (define-public texlive-bytefield (package (name "texlive-bytefield") @@ -2060,6 +3706,23 @@ a packet or in memory.") in Python, C and Pascal. Program source files may also be input.") (license license:public-domain))) +(define-public texlive-c90 + (package + (name "texlive-c90") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/fonts/enc/c90/" "fonts/enc/dvips/c90/" + "source/fonts/enc/c90/") + (base32 + "0g4rwimlqqzbbs8ar15nsf8qcr8bbyjacmklbgv4pmsls5ka9n3n"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/c90") + (synopsis "C90 font encoding for Thai") + (description "This package provides C90 font encoding for Thai.") + (license license:gpl2+))) + (define-public texlive-calculation (package (name "texlive-calculation") @@ -2505,6 +4168,70 @@ formatting chemistry documents according to the conventions of a number of leading journals. It also provides some handy chemistry-related macros.") (license license:lppl1.3+))) +(define-public texlive-chhaya + (package + (name "texlive-chhaya") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/chhaya/" "source/latex/chhaya/" + "tex/latex/chhaya/") + (base32 + "1if47icrsy56sjza170cxcpcczwfh9k8jl7j22gwwam4msa4d1if"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/chhaya") + (synopsis "Linguistic glossing in Marathi language") + (description + "This package provides macros for linguistic glossing as per the rules +given by Mumbai University.") + (license (list license:gpl3+ + ;; Aalok (आलोक) copyleft license v1.0+. + (license:fsf-free "file://doc/latex/aalok/README.txt") + license:fdl1.3+)))) + +(define-public texlive-chordbars + (package + (name "texlive-chordbars") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/chordbars/" + "tex/latex/chordbars/") + (base32 + "0pyxnjalrmkan3mjir6w3g3xhgyzzbjkjhxz460p1nm8n5ng05xq"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/chordbars") + (synopsis "Print chord grids for pop/jazz tunes") + (description + "This Tikz-based music-related package is targeted at pop/jazz +guitar/bass/piano musicians. They usually need only the chords and the song +structure. This package produces rectangular song patterns with one square +per bar, with the chord shown inside the square. It also handles the song +structure by showing the bar count and the repetitions of the patterns.") + (license license:lppl1.3+))) + +(define-public texlive-chordbox + (package + (name "texlive-chordbox") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/chordbox/" "tex/latex/chordbox/") + (base32 + "01css8dnzss7s711ry2rs2fi3bw70s0lgj0cwwdicjgi331zbq70"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/chordbox") + (synopsis "Draw chord diagrams") + (description + "This package provides two macros for drawing chord diagrams, as may be +found for example in chord charts/books and educational materials. They are +composed as TikZ pictures and have several options to modify their +appearance.") + (license license:lppl1.3+))) + (define-public texlive-chronosys (package (name "texlive-chronosys") @@ -2524,6 +4251,196 @@ leading journals. It also provides some handy chemistry-related macros.") Interfaces for Plain TeX, ConTeXt and LaTeX are provided.") (license license:lppl1.3+))) +(define-public texlive-churchslavonic + (package + (name "texlive-churchslavonic") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/churchslavonic/" + "tex/latex/churchslavonic/") + (base32 + "1qyxyp0ckizrryvqyz8cz066g9vvz01ki6b50sm5hk44b6b4v3ri"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (propagated-inputs + (list texlive-etoolbox + texlive-fonts-churchslavonic + texlive-hyphen-complete + texlive-oberdiek + texlive-xcolor)) + (home-page "https://ctan.org/pkg/churchslavonic") + (synopsis "Typeset documents in Church Slavonic language using Unicode") + (description + "The package provides fonts, hyphenation patterns, and supporting macros +to typeset Church Slavonic texts.") + (license license:expat))) + +(define-public texlive-cjhebrew + (package + (name "texlive-cjhebrew") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/cjhebrew/" + "fonts/afm/public/cjhebrew/" + "fonts/enc/dvips/cjhebrew/" + "fonts/map/dvips/cjhebrew/" + "fonts/tfm/public/cjhebrew/" + "fonts/type1/public/cjhebrew/" + "fonts/vf/public/cjhebrew/" + "tex/latex/cjhebrew/") + (base32 + "00rf55ck8y1ny1v242sbhcfchnq7q5mlsmmqppgqspd892ymlxh0"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/cjhebrew") + (synopsis "Typeset Hebrew with LaTeX") + (description + "The @code{cjhebrew} package provides Adobe Type 1 fonts for Hebrew, and +LaTeX macros to support their use. Hebrew text can be vocalised, and a few +accents are also available. The package makes it easy to include Hebrew text +in other-language documents.") + (license license:lppl))) + +(define-public texlive-cjk + (package + (name "texlive-cjk") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/cjk/" + "source/latex/cjk/contrib/wadalab/" + "source/latex/cjk/texinput/KS/HLaTeX/" + "source/latex/cjk/utils/" + "tex/latex/cjk/contrib/wadalab/" + "tex/latex/cjk/texinput/" + "tex/latex/cjk/utils/pyhyphen/") + (base32 + "044r1mmszq3hjmlck87vmqp62j2z02bm7lda8wb17phs0grkws5z"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (propagated-inputs + (list texlive-arphic + texlive-cns + texlive-garuda-c90 + texlive-norasi-c90 + texlive-uhc + texlive-wadalab)) + (home-page "https://ctan.org/pkg/cjk") + (synopsis "CJK language support") + (description + "CJK is a macro package for LaTeX, providing simultaneous support for +various Asian scripts in many encodings (including Unicode): Chinese (both +traditional and simplified), Japanese, Korean and Thai. A special add-on +feature is an interface to the Emacs editor (@file{cjk-enc.el}) which gives +simultaneous, easy-to-use support to a bunch of other scripts in addition to +the above -- Cyrillic, Greek, Latin-based scripts, Russian and Vietnamese are +supported.") + (license license:gpl2))) + +(define-public texlive-cjk-gs-integrate + (package + (name "texlive-cjk-gs-integrate") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/fonts/cjk-gs-integrate/" + "fonts/misc/cjk-gs-integrate/" + "scripts/cjk-gs-integrate/" + "source/fonts/cjk-gs-integrate/") + (base32 + "0ml35bs1pr3kbdqnbclyy31ln8yigy609rsm9rc2y3j5ngmw2y8y"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (arguments (list #:link-scripts #~(list "cjk-gs-integrate.pl"))) + (inputs (list perl)) + (home-page "https://ctan.org/pkg/cjk-gs-integrate") + (synopsis "Tools to integrate CJK fonts into Ghostscript") + (description + "This script searches a list of directories for CJK fonts, and makes them +available to an installed Ghostscript. In the simplest case, with sufficient +privileges, a run without arguments should result in a complete setup of +Ghostscript.") + (license license:gpl3))) + +(define-public texlive-cjk-ko + (package + (name "texlive-cjk-ko") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/cjk-ko/" "tex/latex/cjk-ko/") + (base32 + "0z94rrbr56kybvxx37hpncc0rj4v4i44kyb9nc42nb7854y8zl0a"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (propagated-inputs (list texlive-cjk)) + (home-page "https://ctan.org/pkg/cjk-ko") + (synopsis "Extension of the CJK package for Korean typesetting") + (description + "The package supports typesetting UTF-8-encoded modern Korean documents +with the help of the LaTeX2e CJK package. It provides some enhanced features +focused on Korean typesetting culture, one of them being allowing line-break +between Latin and CJK characters.") + (license (list license:gpl3+ license:lppl license:public-domain)))) + +(define-public texlive-cjkpunct + (package + (name "texlive-cjkpunct") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/cjkpunct/" + "source/latex/cjkpunct/" + "tex/latex/cjkpunct/") + (base32 + "0l4jnawgcsq7lzsrky7259diswxm06mn9mvgxgw8j0za10kvv4vb"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/cjkpunct") + (synopsis "Adjust locations and kerning of CJK punctuation marks") + (description "The package serves as a companion package for CJK. It +adjust locations and kerning of CJK punctuation marks.") + (license license:lppl1.3+))) + +(define-public texlive-cjkutils + (package + (name "texlive-cjkutils") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/man/man1/bg5conv.1" + "doc/man/man1/bg5conv.man1.pdf" + "doc/man/man1/cef5conv.1" + "doc/man/man1/cef5conv.man1.pdf" + "doc/man/man1/cefconv.1" + "doc/man/man1/cefconv.man1.pdf" + "doc/man/man1/cefsconv.1" + "doc/man/man1/cefsconv.man1.pdf" + "doc/man/man1/extconv.1" + "doc/man/man1/extconv.man1.pdf" + "doc/man/man1/hbf2gf.1" + "doc/man/man1/hbf2gf.man1.pdf" + "doc/man/man1/sjisconv.1" + "doc/man/man1/sjisconv.man1.pdf" + "hbf2gf/") + (base32 + "0by2g05xv5dndnd78jz9y73fyswqhfvcbzcw8rzhvpvd6inrcdq8"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/cjk") + (synopsis "CJK language support") + (description + "CJK is a macro package for LaTeX, providing simultaneous support for +various Asian scripts in many encodings (including Unicode): Chinese (both +traditional and simplified), Japanese, Korean and Thai. A special add-on +feature is an interface to the Emacs editor (cjk-enc.el) which gives +simultaneous, easy-to-use support to a bunch of other scripts in addition to +the above --- Cyrillic, Greek, Latin-based scripts, Russian and Vietnamese are +supported.") + (license license:gpl2))) + (define-public texlive-clrscode (package (name "texlive-clrscode") @@ -2589,6 +4506,28 @@ this idea are code illustrations from the book @emph{Computer Science: An Interdisciplinary Approach} from Robert Sedgewick and Kevin Wayne.") (license license:lppl1.3c))) +(define-public texlive-codicefiscaleitaliano + (package + (name "texlive-codicefiscaleitaliano") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/codicefiscaleitaliano/" + "source/latex/codicefiscaleitaliano/" + "tex/latex/codicefiscaleitaliano/") + (base32 + "1ij3vcikhwx1d55z2gsx4yb9fin9dhm8yjwc6apiwg353ipxwibw"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/codicefiscaleitaliano") + (synopsis "Test the consistency of the Italian personal Fiscal Code") + (description + "The alphanumeric string that forms the Italian personal Fiscal Code is +prone to be misspelled thus rendering a legal document invalid. The package +quickly verifies the consistency of the fiscal code string, and can therefore +be useful for lawyers and accountants that use fiscal codes very frequently.") + (license license:lppl1.3+))) + (define-public texlive-colorsep (package (name "texlive-colorsep") @@ -2777,6 +4716,27 @@ systems of continued equalities (or inequalities). Several variant layouts of the equalities are provided, and the user may define their own.") (license license:lppl1.3+))) +(define-public texlive-convbkmk + (package + (name "texlive-convbkmk") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/support/convbkmk/" "scripts/convbkmk/") + (base32 + "0w4fm4az1smrw002sqjkiiz94x01z6jkrb0mf9wb8qxdwrxriql9"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (arguments (list #:link-scripts #~(list "convbkmk.rb"))) + (inputs (list ruby)) + (home-page "https://ctan.org/pkg/convbkmk") + (synopsis + "Correct pLaTeX/upLaTeX bookmarks in PDF created with @code{hyperref}") + (description + "The package provides a small Ruby script that corrects bookmarks in PDF +files created by pLaTeX or upLaTeX, using @code{hyperref}.") + (license license:expat))) + (define-public texlive-correctmathalign (package (name "texlive-correctmathalign") @@ -2796,6 +4756,26 @@ the equalities are provided, and the user may define their own.") mathematical environments.") (license license:bsd-2))) +(define-public texlive-covington + (package + (name "texlive-covington") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/covington/" + "tex/latex/covington/") + (base32 + "0h47zgbiylnirwcjprh31q2n8g842qlhlddd733xn1zal3n5alsz"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/covington") + (synopsis "LaTeX macros for Linguistics") + (description + "This package provides numerous minor LaTeX enhancements for linguistics, +including multiple accents on the same letter, interline glosses (word-by-word +translations), Discourse Representation Structures, and example numbering.") + (license license:lppl1.3+))) + (define-public texlive-crossrefenum (package (name "texlive-crossrefenum") @@ -2919,6 +4899,34 @@ Environmental scores will be part of a future release.") "This package contains parts of CWEB that are no longer useful.") (license license:knuth))) +(define-public texlive-dad + (package + (name "texlive-dad") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/fonts/dad/" + "fonts/afm/public/dad/" + "fonts/map/dvips/dad/" + "fonts/ofm/public/dad/" + "fonts/ovf/public/dad/" + "fonts/tfm/public/dad/" + "fonts/type1/public/dad/" + "tex/lualatex/dad/") + (base32 + "0mkfhdai5m1fwj9x0rkpklvcrp3synfxl67dp6cb0bfz3w8nmis0"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/dad") + (synopsis "Simple typesetting system for mixed Arabic/Latin documents") + (description + "This package allows simple typesetting in Arabic script, intended for +mixed Arabic/Latin script usage in situations where heavy-duty solutions are +discouraged. The system operates with both Unicode and transliterated input, +allowing the user to choose the most appropriate approach for every +situation.") + (license license:lppl))) + (define-public texlive-decision-table (package (name "texlive-decision-table") @@ -3038,6 +5046,56 @@ custom derivatives and differential operators. The options follow a consistent naming scheme making them easy to use and understand.") (license license:lppl1.3+))) +(define-public texlive-diadia + (package + (name "texlive-diadia") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/diadia/" "scripts/diadia/" + "tex/latex/diadia/") + (base32 + "1sjnjabgqsv6v45sffkkzm78fnx89vmk836dajsvck5pd5nvkzxv"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (arguments (list #:link-scripts #~(list "diadia.lua"))) + (home-page "https://ctan.org/pkg/diadia") + (synopsis "Package to keep a diabetes diary") + (description + "The @code{diadia} package allows you to keep a diabetes diary. Usually, +this means keeping record of certain medical values like blood sugar, blood +pressure, pulse or weight. It might also include other medical, +pharmaceutical or nutritional data (HbA1c, insulin doses, carbohydrate units). + +The @code{diadia} package supports all of this plus more --- simply by adding +more columns to the data file! It is able to evaluate the data file and +typesets formatted tables and derived plots. Furthermore, it supports +medication charts and info boxes.") + (license license:lppl))) + +(define-public texlive-diagbox + (package + (name "texlive-diagbox") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/diagbox/" "source/latex/diagbox/" + "tex/latex/diagbox/") + (base32 + "0zr7ih8jr56j727gf3l1q87rlrqn3zfz8cm7hs2q5l1f3y1gmcgh"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/diagbox") + (synopsis "Table heads with diagonal lines") + (description + "The package's principal command, @code{\\diagbox}, takes two +arguments (texts for the slash-separated parts of the box), and an optional +argument with which the direction the slash will go, the box dimensions, etc., +may be controlled. The package also provides @code{\\slashbox} and +@code{\\backslashbox} commands for compatibility with the now removed slashbox +package, which it supersedes.") + (license license:lppl1.3+))) + (define-public texlive-diffcoeff (package (name "texlive-diffcoeff") @@ -3146,6 +5204,45 @@ displaying one step in to the right. The macros work equally well with Plain TeX and with LaTeX.") (license license:lppl))) +(define-public texlive-disser + (package + (name "texlive-disser") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/disser/" "makeindex/disser/" + "source/latex/disser/" "tex/latex/disser/") + (base32 + "0sxvj4cka9xqzl2s3c465fm19lc1b8hyar1chjb51y42q4mx2bmg"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/disser") + (synopsis "Class and templates for typesetting dissertations in Russian") + (description + "Disser comprises a document class and set of templates for typesetting +dissertations in Russian. One of its primary advantages is a simplicity of +format specification for titlepage, headers and elements of automatically +generated lists (table of contents, list of figures, etc). Bibliography +styles, that conform to the requirements of the Russian standard GOST +R 7.0.11-2011, are provided.") + (license license:lppl1.3+))) + +(define-public texlive-dnp + (package + (name "texlive-dnp") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "fonts/sfd/dnp/") + (base32 + "0jlvb0nps1ij4sgbg3clgbk34p80la1fhh9zihn9fhl9nrqk637r"))) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/dnp") + (synopsis "Subfont numbers for DNP font encoding") + (description "This package provides subfont numbers for DNP font encoding.") + ;; This is part of the CJK package, use the same GPL license. + (license license:gpl2))) + (define-public texlive-docbytex (package (name "texlive-docbytex") @@ -3219,6 +5316,29 @@ such lists. Applications in mind belonged to LaTeX, but the package should work with other formats as well.") (license license:lppl1.3+))) +(define-public texlive-dramatist + (package + (name "texlive-dramatist") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/dramatist/" + "source/latex/dramatist/" + "tex/latex/dramatist/") + (base32 + "17x10jaa7f9rnqfrnvgw225n5ypqrmacbpsfpl5zdhx9abbjh793"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/dramatist") + (synopsis "Typeset dramas, both in verse and in prose") + (description + "This package is intended for typesetting drama of any length. It +provides two environments for typesetting dialogues in prose or in verse; new +document divisions corresponding to acts and scenes; macros that control the +appearance of characters and stage directions; and automatic generation of +a ``dramatis personae'' list.") + (license license:gpl3+))) + (define-public texlive-drawmatrix (package (name "texlive-drawmatrix") @@ -3260,6 +5380,70 @@ triangular, or banded matrices.") top of TikZ.") (license license:lppl1.3+))) +(define-public texlive-droit-fr + (package + (name "texlive-droit-fr") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/droit-fr/" "tex/latex/droit-fr/") + (base32 + "0lx4k3w7mzldhwykpfvhv05v7fhd1jibra80kz0zf9s0jga8sq4a"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/droit-fr") + (synopsis "Document class and bibliographic style for French law") + (description + "The bundle provides a toolkit intended for students writing a thesis in +French law. It features a LaTeX document class, a bibliographic style for +BibLaTeX package, a practical example of french thesis document, and +documentation. The class assumes use of Biber and BibLaTeX.") + (license license:lppl1.3+))) + +(define-public texlive-dsptricks + (package + (name "texlive-dsptricks") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/dsptricks/" + "tex/latex/dsptricks/") + (base32 + "03ykpbvmb95n6j5071c5hrja4x6x3cpdnmppj9gjjjh63ddv40m6"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/dsptricks") + (synopsis "Macros for Digital Signal Processing (DSP) plots") + (description + "The package provides a set of @code{LaTeX} macros (based on PSTricks) +for plotting the kind of graphs and figures that are usually employed in +digital signal processing publications. DSPTricks provides facilities for +standard discrete-time lollipop plots, continuous-time and frequency plots, +and pole-zero plots. The companion package +DSPFunctions (@file{dspfunctions.sty}) provides macros for computing frequency +responses and DFTs, while the package DSPBlocks (@file{dspblocks.sty}) +supports DSP block diagrams.") + (license license:lppl))) + +(define-public texlive-dvgloss + (package + (name "texlive-dvgloss") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/dvgloss/" "source/latex/dvgloss/" + "tex/latex/dvgloss/") + (base32 + "1fs5ghbyl3qhg1v0iljjqn723a93m4l7f873h3h81pcga75mng4s"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/dvgloss") + (synopsis "Facilities for setting interlinear glossed text") + (description + "The package provides extensible macros for setting interlinear glossed +text --- useful, for instance, for typing linguistics papers.") + (license license:lppl))) + (define-public texlive-dyntree (package (name "texlive-dyntree") @@ -3284,6 +5468,28 @@ simple roots.") ;; LGPL 2.1+. (license license:lgpl2.1+))) +(define-public texlive-e-french + (package + (name "texlive-e-french") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/generic/e-french/" + "makeindex/e-french/" + "tex/generic/e-french/") + (base32 + "14qxxfjlxygprs1ndhnn9mhz9hkb4j2dqikni5cvva457bivm4l9"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/e-french") + (synopsis "Comprehensive LaTeX support for French-language typesetting") + (description + "E-french is a distribution that keeps alive the work of Bernard +Gaulle (now deceased), under a free licence. It replaces the old full +@code{frenchpro} (the professional distribution) and the light-weight +@code{frenchle} packages.") + (license license:lppl1.3+))) + (define-public texlive-easing (package (name "texlive-easing") @@ -3302,6 +5508,25 @@ simple roots.") to the PGF mathematical engine.") (license license:lppl1.3+))) +(define-public texlive-ecltree + (package + (name "texlive-ecltree") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/ecltree/" "tex/latex/ecltree/") + (base32 + "0ki5zzpl8dkz7zwyccmsxfnfq7vl5vlx3gi1py64mgqxfxp0rivw"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/ecltree") + (synopsis "Trees using Epic and Eepic macros") + (description + "The package recursively draws trees: each subtree is defined in +a @code{bundle} environment, with a set of leaves described by @code{\\chunk} +macros. A chunk may have a @code{bundle} environment inside it.") + (license license:lppl))) + (define-public texlive-econometrics (package (name "texlive-econometrics") @@ -3325,6 +5550,88 @@ letters statistical distributions constants and symbols matrix operators and statistical operators.") (license license:lppl1.3+))) +(define-public texlive-edfnotes + (package + (name "texlive-edfnotes") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/edfnotes/" + "source/latex/edfnotes/" + "tex/latex/edfnotes/") + (base32 + "074db5fanasjzk7clj0l4ka3x1qpmvczwxix0l2v6sjjmyb4xfz4"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/edfnotes") + (synopsis "Critical annotations to footnotes with @code{ednotes}") + (description + "The package modifies the annotation commands and label-test mechanism of +the ednotes package so that critical notes appear on the pages and in the +order that one would expect.") + (license license:lppl1.3+))) + +(define-public texlive-edmac + (package + (name "texlive-edmac") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/edmac/" "source/latex/edmac/" + "tex/generic/edmac/") + (base32 + "1pflqzrzfyw725ypc6lcryzzbizk13j69h4875r6q4fs763kv3w1"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/edmac") + (synopsis "Typeset critical editions") + (description + "This is the type example package for typesetting scholarly critical +editions.") + (license license:gpl2))) + +(define-public texlive-eledform + (package + (name "texlive-eledform") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/eledform/" + "source/latex/eledform/" + "tex/latex/eledform/") + (base32 + "1sslbwabzpvx314bfmr6gy1p8nrh89v5mnkgdcby9w42hnfqiw2n"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/eledform") + (synopsis "Define textual variants") + (description + "The package provides commands to formalize textual variants in critical +editions typeset using @code{eledmac}.") + (license license:lppl1.3+))) + +(define-public texlive-eledmac + (package + (name "texlive-eledmac") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/eledmac/" "source/latex/eledmac/" + "tex/latex/eledmac/") + (base32 + "1a4579g3rykcgbwjqbky260lx6x7mc41i6cqhi83anf3zilsii0r"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/eledmac") + (synopsis "Typeset scholarly editions") + (description + "This package provides a package for typesetting scholarly critical editions, +replacing the established @code{ledmac} package. The package supports +indexing by page and by line numbers, and simple @code{tabular}- and +@code{array}-style environments. The package is distributed with the related +@code{eledpar} package. The package is now superseded by @code{reledmac}.") + (license license:lppl1.3+))) + (define-public texlive-eltex (package (name "texlive-eltex") @@ -3451,6 +5758,72 @@ you use any special symbols inside your command.") @url{https://www.eolang.org, EO} programming language.") (license license:expat))) +(define-public texlive-eplain + (package + (name "texlive-eplain") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/eplain/" + "doc/info/eplain.info" + "doc/man/man1/eplain.1" + "doc/man/man1/eplain.man1.pdf" + "source/eplain/" + "tex/eplain/") + (base32 + "00nmqhfckrf8ygw6i93d5xnf85i8a88ryadb5ml73w4rllwjxr72"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (arguments (list #:create-formats #~(list "eplain"))) + (propagated-inputs + (list texlive-atbegshi + texlive-atveryend + texlive-babel + texlive-cm + texlive-everyshi + texlive-firstaid + texlive-hyphen-complete + texlive-knuth-lib + texlive-l3backend + texlive-l3kernel + texlive-l3packages + texlive-latex + texlive-latex-fonts + texlive-pdftex + texlive-plain + texlive-tex-ini-files + texlive-unicode-data)) + (home-page "https://ctan.org/pkg/eplain") + (synopsis "Extended plain TeX macros") + (description + "This package provides an extended version of the plain TeX format, +adding support for bibliographies, tables of contents, enumerated lists, +verbatim input of files, numbered equations, tables, two-column output, +footnotes, hyperlinks in PDF output and commutative diagrams. Eplain can also +load some of the more useful LaTeX packages, notably @code{graphics}, +@code{graphicx} (an extended version of graphics), @code{color}, +@code{autopict} (a package instance of the LaTeX picture code), @code{psfrag}, +and @code{url}.") + (license license:gpl2+))) + +(define-public texlive-epslatex-fr + (package + (name "texlive-epslatex-fr") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/epslatex-fr/") + (base32 + "1xs9977g9g3i6sipkf7i9jdl8sdm69ci3161a4p7k66qbizi7zvb"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/fepslatex") + (synopsis "French version of @emph{Graphics in LaTeX}") + (description + "This is the French translation of @code{epslatex}, and describes how to +use imported graphics in LaTeX(2e) documents.") + (license license:gpl3+))) + (define-public texlive-eqexpl (package (name "texlive-eqexpl") @@ -3537,6 +5910,69 @@ ellipsograph. This package extends the functionalities of the @code{curve2e} package.") (license license:lppl1.3c))) +(define-public texlive-evangelion-jfm + (package + (name "texlive-evangelion-jfm") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/luatex/evangelion-jfm/" + "tex/luatex/evangelion-jfm/") + (base32 + "1wr55p96v9x58l0bqcnrbs1q47pf5v0rj8pmclfv0jx9mzc3d5j7"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/evangelion-jfm") + (synopsis "Japanese font metric supporting many advanced features") + (description + "This package provides a Japanese font metric supporting vertical and +horizontal typesetting, linegap punctuations, extended fonts, and more +interesting and helpful features using traditional and simplified Chinese or +Japanese fonts under LuaTeX-ja. It also makes full use of the priority +feature, meeting the standards, and allows easy customisation.") + (license license:expat))) + +(define-public texlive-expex + (package + (name "texlive-expex") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/generic/expex/" "tex/generic/expex/") + (base32 + "0is4cdpsqycaw8xzc6x1gkg4ldk8v6a1i52qmxw13q8k10qh6b95"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/expex") + (synopsis "Linguistic examples and glosses, with reference capabilities") + (description + "The package provides macros for typesetting linguistic examples and +glosses, with a refined mechanism for referencing examples and parts of +examples. The package can be used with LaTeX or with Plain TeX.") + (license license:lppl))) + +(define-public texlive-expose-expl3-dunkerque-2019 + (package + (name "texlive-expose-expl3-dunkerque-2019") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/expose-expl3-dunkerque-2019/") + (base32 + "0xij1ycxnc3hfzkl0bfs03s0zzzv6xsj3myvykb6n836j1g66g2y"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/expose-expl3-dunkerque-2019") + (synopsis "Using @code{expl3} to implement some numerical algorithms") + (description + "This is an article, in French, based on a presentation made in Dunkerque +for the @emph{Stage LaTeX} on 12 June 2019. The article gives three examples +of code in @code{expl3} with (lots of) comments: Knuth's algorithm to create +a list of primes, the sieve of Eratosthenes, Kaprekar sequences. The package +contains the code itself, the documentation as a PDF file, and all the files +needed to produce it.") + (license license:lppl1.3+))) + (define-public texlive-extarrows (package (name "texlive-extarrows") @@ -3579,6 +6015,27 @@ as @code{\\xleftarrow} from @code{amsmath}), and a simple command to create new ones.") (license license:lppl1.3+))) +(define-public texlive-facture + (package + (name "texlive-facture") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/xelatex/facture/" + "source/xelatex/facture/" + "tex/xelatex/facture/") + (base32 + "1f7w697g12wx1kc7j84yyvxarkwlvmxr10nxcg93dnqz7lpfwvng"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/facture") + (synopsis "Generate an invoice") + (description + "This package provides a simple class that allows production of an invoice, +with or without VAT; different addresses for delivery and for billing are +permitted.") + (license license:cc-by-sa2.0))) + (define-public texlive-faktor (package (name "texlive-faktor") @@ -3624,6 +6081,50 @@ the chapters. Each chapter can consist of three sections: the lesson, the exercises and the activities.") (license license:lppl))) +(define-public texlive-fduthesis + (package + (name "texlive-fduthesis") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/fduthesis/" + "source/latex/fduthesis/" + "tex/latex/fduthesis/") + (base32 + "1imgp79fa048nyvyjzfky1fzzmak4h4j7xa4168ak07qgr5gdq87"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/fduthesis") + (synopsis "LaTeX thesis template for Fudan University") + (description + "This package is a LaTeX thesis template package for Fudan University. +It can make it easy to write theses both in Chinese and English.") + (license license:lppl1.3c))) + +(define-public texlive-figbas + (package + (name "texlive-figbas") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/fonts/figbas/" + "fonts/afm/public/figbas/" + "fonts/map/dvips/figbas/" + "fonts/tfm/public/figbas/" + "fonts/type1/public/figbas/") + (base32 + "07dc19989sx968hbn3h2m1bbplp8zqh1yj9v92mcp54876rk8bbp"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/figbas") + (synopsis "Mini-fonts for figured-bass notation in music") + (description + "This package consists of three mini-fonts (and associated metrics) of +conventional ligatures for the figured-bass notations 2+, 4+, 5+, 6+ and 9+ in +music manuscripts. The fonts are usable with Computer Modern Roman and Sans, +and Palatino/Palladio, respectively.") + (license license:lppl))) + (define-public texlive-filecontentsdef (package (name "texlive-filecontentsdef") @@ -3672,6 +6173,47 @@ with pdfTeX, XeTeX and LuaTeX, and can also be used with the @code{unicode-math} package.") (license license:lppl1.3c))) +(define-public texlive-fixjfm + (package + (name "texlive-fixjfm") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/generic/fixjfm/" "tex/generic/fixjfm/") + (base32 + "0x3wf7v03jqczvxaslqw422bvccvna31jl5sgld6llvfh7b0ziyx"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/fixjfm") + (synopsis "Fix JFM (for *pTeX)") + (description + "This package fixes several bugs in the JFM format. Both LaTeX and plain +TeX are supported.") + (license license:knuth))) + +(define-public texlive-fixltxhyph + (package + (name "texlive-fixltxhyph") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/fixltxhyph/" + "source/latex/fixltxhyph/" + "tex/latex/fixltxhyph/") + (base32 + "1wjrq2gplal5hpij758c4mk6s6aidqp2h25mvf7jmbbzq2nfsyq1"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/fixltxhyph") + (synopsis "Allow hyphenation of partially-emphasised substrings") + (description + "The package fixes the problem of TeX failing to hyphenate letter strings +that seem (to TeX} to be words, but which are followed by an apostrophe and +then an emphasis command. The cause of the problem is not the apostrophe, but +the font change in the middle of the string. The problem arises in Catalan, +French, Italian and Romansh.") + (license license:lppl1.3+))) + (define-public texlive-fixmath (package (name "texlive-fixmath") @@ -3742,6 +6284,26 @@ therefore, there are macros to emphasize or downplay some parts of the grammar (which is the main novelty compared to other BNF packages).") (license license:lppl1.3+))) +(define-public texlive-formation-latex-ul + (package + (name "texlive-formation-latex-ul") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/formation-latex-ul/" + "source/latex/formation-latex-ul/") + (base32 + "1cvicnjx5ayyj66f18pglz55bajxpqnkgygw3vmvca5ixg8aiwxm"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/formation-latex-ul") + (synopsis "Introductory LaTeX course in French") + (description + "This package contains the supporting documentation, slides, exercise files, +and templates for an introductory LaTeX course (in French) prepared for +Universite Laval, Quebec, Canada.") + (license license:cc-by4.0))) + (define-public texlive-fouridx (package (name "texlive-fouridx") @@ -3764,6 +6326,102 @@ level, as appropriate. The package provides an alternative to the use of the @code{\\sideset} command in the @code{amsmath} package.") (license license:lppl))) +(define-public texlive-frenchmath + (package + (name "texlive-frenchmath") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/frenchmath/" + "source/latex/frenchmath/" + "tex/latex/frenchmath/") + (base32 + "0f6x5glpvjxvl5l8nvrjcbc6mfqpyv77y4qyxaaqxcwyhbkp5fw7"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/frenchmath") + (synopsis "Typesetting mathematics according to French rules") + (description + "The package provides: + +@itemize +@item capital letters in roman (upright shape) in mathematical mode according +to French rule (can be optionally disabled), +@item optionally lowercase Greek letters in upright shape, +@item correct spacing in math mode after commas, before a semicolon and around +square brackets, +@item some useful macros and aliases for symbols used in France such as +@code{\\infeg}, @code{\\supeg}, @code{\\paral}, @item several macros for +writing french operator names like @emph{pgcd}, @emph{ppcm}, @emph{Card}, +@emph{rg}, @emph{Vect}. +@end itemize") + (license license:lppl1.3+))) + +(define-public texlive-frletter + (package + (name "texlive-frletter") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/frletter/" "tex/latex/frletter/") + (base32 + "0h8lsfmv0icb616kwhkqqbfh64l43vwc63p4bl8sw9xy2lfal5xm"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/frletter") + (synopsis "Typeset letters in the French style") + (description + "This package provides a small class for typesetting letters in France. +No assumption is made about the language in use. The class represents a small +modification of the @code{beletter} class, which is itself a modification of +the standard LaTeX @code{letter} class.") + (license license:public-domain))) + +(define-public texlive-frontespizio + (package + (name "texlive-frontespizio") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/frontespizio/" + "source/latex/frontespizio/" + "tex/latex/frontespizio/") + (base32 + "17xqq0n2b0acpqq2hd5c5qi5fsrhyjwm1c452i3rbdmf1xkqvkvy"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/frontespizio") + (synopsis "Create a frontispiece for Italian theses") + (description + "Typesetting a frontispiece independently of the layout of the main +document is difficult. This package provides a solution by producing an +auxiliary TeX file to be typeset on its own and the result is automatically +included at the next run. The markup necessary for the frontispiece is +written in the main document in a @code{frontespizio} environment. +Documentation is mainly in Italian, as the style is probably apt only to +theses in Italy.") + (license license:lppl))) + +(define-public texlive-frpseudocode + (package + (name "texlive-frpseudocode") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/frpseudocode/" + "tex/latex/frpseudocode/") + (base32 + "1jsrx1slbbqx9hg0a3f7xylxfly2cinw2g5vhhvvgxpp356v6ick"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/frpseudocode") + (synopsis "French translation for the @code{algorithmicx} package") + (description + "This package is intended for use alongside @code{algorithmicx} package. +Its aim is to provide a French translation of terms and words used in +algorithms to make it integrate seamlessly in a French written document.") + (license license:lppl1.3c))) + (define-public texlive-functan (package (name "texlive-functan") @@ -3805,6 +6463,45 @@ possibility to override the standard behavior of norms, ...).") nets, diagrams, etc., very easily, in the LaTeX @code{picture} environment.") (license license:lppl))) +(define-public texlive-gb4e + (package + (name "texlive-gb4e") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/gb4e/" "tex/latex/gb4e/") + (base32 + "1pi6n59v8vrrm2qaff8z28kwb0xa6nykgrfi9r0lxc8f1d2r5k7f"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/gb4e") + (synopsis "Linguistic tools") + (description + "This package provides an environment for linguistic examples, tools for +glosses, and various other goodies.") + (license license:lppl1.2+))) + +(define-public texlive-gchords + (package + (name "texlive-gchords") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/gchords/" "tex/latex/gchords/") + (base32 + "0wchfk25v6rh5nffjyn8bypwjsqc9pi2rjrw3np65a0sxxc0sl1v"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/gchords") + (synopsis "Typeset guitar chords") + (description + "This package provides a LaTeX package for typesetting of guitar chord +diagrams, including options for chord names, finger numbers and typesetting +above lyrics. The bundle also includes a TCL script (@file{chordbox.tcl}) +that provides a graphical application which creates LaTeX files that use +@file{gchords.sty}.") + (license license:gpl3+))) + (define-public texlive-gene-logic (package (name "texlive-gene-logic") @@ -3825,6 +6522,27 @@ provides an environment like @code{eqnarray}, a @code{newtheorem}-like environment (NewTheorem), and several macros.") (license license:isc))) +(define-public texlive-ghab + (package + (name "texlive-ghab") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/ghab/" + "fonts/source/public/ghab/" + "tex/latex/ghab/") + (base32 + "0jknnlcigk6aa48xqvxd67015fxjlmmp36p52c95xrii4lv3m0zk"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/ghab") + (synopsis "Typeset ghab boxes in LaTeX") + (description + "The package defines a command @code{\\darghab} that will typeset its +argument in a box with a decorated frame. The width of the box may be set +using an optional argument.") + (license license:lppl))) + (define-public texlive-ghsystem (package (name "texlive-ghsystem") @@ -3875,6 +6593,68 @@ package. Its main features are: @end itemize") (license license:lppl1.3c))) +(define-public texlive-gloss-occitan + (package + (name "texlive-gloss-occitan") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/gloss-occitan/" + "source/latex/gloss-occitan/") + (base32 + "0h9w7gk7klwhackx30c7wa2xv23jy2r75zvgs22crhv40h8blj3f"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/gloss-occitan") + (synopsis "Polyglossia support for Occitan") + (description + "This package provides Occitan language description file for +Polyglossia.") + (license license:lppl1.3+))) + +(define-public texlive-gmverse + (package + (name "texlive-gmverse") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/gmverse/" "tex/latex/gmverse/") + (base32 + "13vs1w9pfl4is5f5papwqqm83kmb17d4z7gv8nxkswnav9v5cl56"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/gmverse") + (synopsis "Package for typesetting (short) poems") + (description + "This package provides a redefinition of the @code{verse} environment to +make the @code{\\\\} command optional for line ends and to give it +a possibility of optical centering and right-hanging alignment of lines broken +because of length.") + (license license:lppl))) + +(define-public texlive-gost + (package + (name "texlive-gost") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "bibtex/bst/gost/" "bibtex/csf/gost/" + "doc/bibtex/gost/" "source/bibtex/gost/") + (base32 + "0rsqk4r1r741ggvpgg7g51knlaqrrdq9g8yiix66vx3n5v1arp26"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/gost") + (synopsis "BibTeX styles to format according to GOST") + (description + "This package provides BibTeX styles to format bibliographies in English, +Russian or Ukrainian according to GOST 7.0.5-2008 or GOST 7.1-2003. Both +8-bit and Unicode (UTF-8) versions of each @code{BibTeX} style, in each case +offering a choice of sorted and unsorted. Further, a set of three +styles (which do not conform to current standards) are retained for backwards +compatibility.") + (license license:lppl1.3c))) + (define-public texlive-gotoh (package (name "texlive-gotoh") @@ -3895,6 +6675,32 @@ The package also provides an interface to control various settings including algorithm parameters.") (license license:expat))) +(define-public texlive-gregoriotex + (package + (name "texlive-gregoriotex") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/luatex/gregoriotex/" + "fonts/source/gregoriotex/" + "fonts/truetype/public/gregoriotex/" + "scripts/gregoriotex/" + "source/luatex/gregoriotex/" + "tex/lualatex/gregoriotex/" + "tex/luatex/gregoriotex/") + (base32 + "0lnpq6rfdb6dg543cmbsm817ziim6arxnzxzbn0wn8i8aw681idr"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/gregoriotex") + (synopsis "Engraving gregorian chant scores") + (description + "Gregorio is a software application for engraving gregorian chant scores +on a computer. Gregorio's main job is to convert a gabc file (simple text +representation of a score) into a GregorioTeX file, which makes TeX able to +create a PDF of your score.") + (license license:gpl3))) + (define-public texlive-grundgesetze (package (name "texlive-grundgesetze") @@ -3916,6 +6722,27 @@ concept-script in the style of his @emph{Grundgesetze der Arithmetik} (Basic Laws of Arithmetic).") (license license:gpl2))) +(define-public texlive-gtrcrd + (package + (name "texlive-gtrcrd") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/gtrcrd/" "tex/latex/gtrcrd/") + (base32 + "0ndnzkm84ynn3wcnfg6j6fcl87wmd3g9w5d17g1z6qp340asrkp9"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/gtrcrd") + (synopsis "Add chords to lyrics") + (description + "The package provides the means to specify guitar chords to be played +with each part of the lyrics of a song. The syntax of the macros reduces the +chance of failing to provide a chord where one is needed, and the structure of +the macros ensures that the chord specification appears immediately above the +start of the lyric.") + (license license:lppl1.3+))) + (define-public texlive-gu (package (name "texlive-gu") @@ -3937,6 +6764,189 @@ Afterwards all necessary dimensions are calculated and the scheme is drawn. Currently two steps of symmetry reduction are supported.") (license license:lppl))) +(define-public texlive-guide-to-latex + (package + (name "texlive-guide-to-latex") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/guide-to-latex/") + (base32 + "1wc5pclv27af2zr6kjjahjzxxlab31d8970jvxr9lxiqllvkxyab"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/guide-to-latex") + (synopsis "Examples and more from @emph{Guide to LaTeX}, by Kopka and Daly") + (description + "This package contains material presented in the book @emph{Guide to LaTeX}, +4th edition, by Helmut Kopka and Patrick W. Daly as code, sample figures, +processed files, as well as solutions to the exercices.") + (license license:lppl1.3c+))) + +(define-public texlive-guitar + (package + (name "texlive-guitar") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/guitar/" "source/latex/guitar/" + "tex/latex/guitar/") + (base32 + "0rywmlz59mjm59n4607qk9fa62w1c9qv9iyyja8k9vb4pc9yijrc"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/guitar") + (synopsis "Guitar chords and song texts") + (description + "This package provides (La)TeX macros for typesetting guitar chords over +song texts. Note that this package only places arbitrary TeX code over the +lyrics. To typeset the chords graphically (and not only by name), the author +recommends use of an additional package such as @code{gchords}.") + (license license:lppl1.3+))) + +(define-public texlive-guitarchordschemes + (package + (name "texlive-guitarchordschemes") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/guitarchordschemes/" + "tex/latex/guitarchordschemes/") + (base32 + "189xx0y549ss4ip8x2f1rpcqyad5njrni785sxmy2cghqbdcgzzn"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/guitarchordschemes") + (synopsis "Guitar chord and scale tablatures") + (description + "This package provides two commands (@code{\\chordscheme} and +@code{\\scales}). With those commands it is possible to draw schematic +diagrams of guitar chord tablatures and scale tablatures. Both commands know +a range of options that allow wide customization of the output.") + (license license:lppl1.3+))) + +(define-public texlive-guitartabs + (package + (name "texlive-guitartabs") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/guitartabs/" + "tex/latex/guitartabs/") + (base32 + "1hk5yl7za7mm6cpg9g4z5wnq4m2nwm41sq8w7m8ic38sr85n67zz"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/guitartabs") + (synopsis "Class for drawing guitar tablatures easily") + (description + "This package provides is a simple LaTeX2e class that allows guitarists +to create basic guitar tablatures using LaTeX.") + (license license:lppl1.3c))) + +(define-public texlive-gustlib + (package + (name "texlive-gustlib") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "bibtex/bib/gustlib/" "bibtex/bst/gustlib/" + "doc/plain/gustlib/" "tex/plain/gustlib/") + (base32 + "1jfmsx5zw9yb8fkhw4fad82m48n7fs1inmx471mr7ys0i7y1l92v"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/gustlib") + (synopsis "Plain macros for much core and extra functionality, from GUST") + (description + "This package includes Plain TeX macros adding extra functionalities. +This comprises bibliography support, token manipulation, cross-references, +verbatim, determining length of a paragraph's last line, multicolumn output, +Polish bibliography and index styles, prepress and color separation, graphics +manipulation, and tables.") + (license (list license:knuth license:public-domain)))) + +(define-public texlive-gustprog + (package + (name "texlive-gustprog") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/support/gustprog/") + (base32 + "07qx4xvyqb4p0cx0macjgyg0pcxgcmdxmzfsx9ah5s0dqvminwrc"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/gustprog") + (synopsis "Utility programs for Polish users of TeX") + (description + "This package provides utility programs for Polish users of TeX. These +programs are provided as sources, not installed in the @file{bin} +directories.") + (license license:public-domain))) + +(define-public texlive-happy4th + (package + (name "texlive-happy4th") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/plain/happy4th/") + (base32 + "1x950scxbvcgwycpakflpklc775pknjab620g099dnsfrpb76f4a"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/happy4th") + (synopsis "Firework display in obfuscated TeX") + (description + "The output PDF file gives an amusing display, as the reader pages +through it.") + (license license:public-domain))) + +(define-public texlive-harmony + (package + (name "texlive-harmony") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/harmony/" "tex/latex/harmony/") + (base32 + "0ky4aiv3zvykfwalf1md4lzjbr9pc14i93xsxdwl25jcsi2kvjk7"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/harmony") + (synopsis "Typeset harmony symbols, etc., for musicology") + (description + "The package @file{harmony.sty} helps typesetting harmony symbols for +musicology.") + (license license:lppl))) + +(define-public texlive-hanzibox + (package + (name "texlive-hanzibox") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/xelatex/hanzibox/" + "source/xelatex/hanzibox/" + "tex/xelatex/hanzibox/") + (base32 + "1bgbybzz5h79i2l3mbjxm11x9nsxm366c6d2mha9j5qabjghakya"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (native-inputs (list texlive-ctex)) + (home-page "https://ctan.org/pkg/hanzibox") + (synopsis + "Boxed Chinese characters with Pinyin above and translation below") + (description + "This is a LaTeX package written to simplify the input of Chinese with +Hanyu Pinyin and translation. Hanyu Pinyin is placed above Chinese with the +@code{xpinyin} package, and the translation is placed below. The package can +be used as a utility for learning to write and pronounce Chinese characters, +for Chinese character learning plans, presentations, exercise booklets and +other documentation work.") + (license license:lppl1.3c))) + (define-public texlive-helmholtz-ellis-ji-notation (package (name "texlive-helmholtz-ellis-ji-notation") @@ -4116,6 +7126,144 @@ adds a collection of useful @acronym{HEP, High Energy Physics} units to the existing SIunits set.") (license license:lppl))) +(define-public texlive-hitex + (package + (name "texlive-hitex") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/hitex/base/" + "doc/man/man1/hishrink.1" + "doc/man/man1/hishrink.man1.pdf" + "doc/man/man1/histretch.1" + "doc/man/man1/histretch.man1.pdf" + "doc/man/man1/hitex.1" + "doc/man/man1/hitex.man1.pdf" + "makeindex/hitex/" + "tex/hitex/base/") + (base32 + "19q0sd0mhsamns9i7gr85n2n0jjc6p2n2xcc7s9b65hz8zp0bdbk"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (arguments (list #:create-formats #~(list "hilatex" "hitex"))) + (propagated-inputs + (list texlive-atbegshi + texlive-atveryend + texlive-babel + texlive-cm + texlive-etex + texlive-everyshi + texlive-firstaid + texlive-hyphen-base + texlive-knuth-lib + texlive-l3backend + texlive-l3kernel + texlive-l3packages + texlive-latex + texlive-latex-fonts + texlive-plain + texlive-tex-ini-files + texlive-unicode-data)) + (home-page "https://ctan.org/pkg/hitex") + (synopsis "TeX extension writing HINT output for on-screen reading") + (description + "This package provides a TeX extension that generates HINT output. The +HINT file format is an alternative to the DVI and PDF formats which was +designed specifically for on-screen reading of documents. Especially on +mobile devices, reading DVI or PDF documents can be cumbersome. Mobile +devices are available in a large variety of sizes but typically are not large +enough to display documents formated for a4/letter-size paper. To compensate +for the limitations of a small screen, users are used to alternating between +landscape (few long lines) and portrait (more short lines) mode. The HINT +format supports variable and varying screen sizes, leveraging the ability of +TeX to format a document for nearly-arbitrary values of @code{\\hsize} and +@code{\\vsize}.") + (license license:x11))) + +(define-public texlive-hrlatex + (package + (name "texlive-hrlatex") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/hrlatex/" "source/latex/hrlatex/" + "tex/latex/hrlatex/") + (base32 + "16npkf18gy8clwkzvm0qysfv90wb6979cppj5rykn1x0icsvw2ix"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/hrlatex") + (synopsis "LaTeX support for Croatian documents") + (description + "This package simplifies creation of new documents for the (average) +Croatian user. As an example, a class file @code{hrdipl.cls} (designed for +the graduation thesis at the University of Zagreb) and sample thesis documents +are included.") + (license license:lppl))) + +(define-public texlive-huaz + (package + (name "texlive-huaz") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/huaz/" "tex/latex/huaz/") + (base32 + "103wnzw8401d1ckc31y6ga75bph0ls71hxs0hdkszw719ghm7vjr"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/huaz") + (synopsis "Automatic Hungarian definite articles") + (description + "In Hungarian there are two definite articles, @samp{a} and @samp{az}, +which are determined by the pronunciation of the subsequent word. The +@code{huaz} package helps the user to insert automatically the correct +definite article for cross-references and other commands containing text.") + (license license:lppl1.3+))) + +(define-public texlive-hulipsum + (package + (name "texlive-hulipsum") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/hulipsum/" + "source/latex/hulipsum/" + "tex/latex/hulipsum/") + (base32 + "1w62vawh2l49bgm7ivprmz61b71qsf38xdsrq6x2dc2ywzvs4z2f"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/hulipsum") + (synopsis "Hungarian dummy text (Lorum ipse)") + (description + "Lorem ipsum is an improper Latin filler dummy text, cf.@: the +@code{lipsum} package. It is commonly used for demonstrating the textual +elements of a document template. Lorum ipse is a Hungarian variation of Lorem +ipsum. (Lorum is a Hungarian card game, and ipse is a Hungarian slang word +meaning bloke.) With this package you can typeset 150 paragraphs of Lorum +ipse.") + (license license:lppl1.3+))) + +(define-public texlive-hvarabic + (package + (name "texlive-hvarabic") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/hvarabic/" "tex/latex/hvarabic/") + (base32 + "0kjx2x3fnpqw6hybw7ifdlqad4mmbacba290qwlhhggpjrxsvp39"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/hvarabic") + (synopsis "Macros for RTL typesetting") + (description + "This package provides some macros for right-to-left typesetting. It +uses by default the Arabic fonts Scheherazade and ALM fixed, the only +monospaced Arabic font. The package only works with LuaLaTeX or XeLaTeX.") + (license license:lppl1.3c))) + (define-public texlive-ibrackets (package (name "texlive-ibrackets") @@ -4137,6 +7285,98 @@ existing SIunits set.") when using for open intervals.") (license license:lppl1.3+))) +(define-public texlive-impatient + (package + (name "texlive-impatient") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/plain/impatient/") + (base32 + "03cjl3lg7k7p4h8drw7vcbw6ymgmm2clv6sgfs3hdixs8dmab1b2"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/impatient") + (synopsis "@emph{TeX for the Impatient} book") + (description + "@emph{TeX for the Impatient} is a book on TeX, Plain TeX and Eplain.") + (license license:fdl1.3+))) + +(define-public texlive-impatient-cn + (package + (name "texlive-impatient-cn") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/plain/impatient-cn/") + (base32 + "1pc20pb0las3slam1d9hmqigipmr6r98wwif12m33mm750vmq65i"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/impatient") + (synopsis "Chinese translation of @emph{TeX for the Impatient} book") + (description + "@emph{TeX for the Impatient} is a book (of around 350 pages) on TeX, +Plain TeX and Eplain. This is its Chinese translation.") + (license license:fdl1.3+))) + +(define-public texlive-impatient-fr + (package + (name "texlive-impatient-fr") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/plain/impatient-fr/") + (base32 + "1qwdllmi0ci304smf4yl6g8ah083jrch9clkyav7r5qsxnhwxbxh"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/impatient") + (synopsis "French translation of @emph{TeX for the Impatient} book") + (description + "@emph{TeX for the Impatient} is a book (of around 350 pages) on TeX, +Plain TeX and Eplain. This is its French translation.") + (license license:fdl1.3+))) + +(define-public texlive-impnattypo + (package + (name "texlive-impnattypo") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/impnattypo/" + "source/latex/impnattypo/" + "tex/latex/impnattypo/") + (base32 + "05ddbpxvybr0a7sg1ximsifvgjg83qwx5pd9xcc22bliz3j5ixvm"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/impnattypo") + (synopsis "Support typography of l'Imprimerie Nationale Francaise") + (description + "The package provides useful macros implementing recommendations by the +French Imprimerie Nationale.") + (license license:lppl1.3+))) + +(define-public texlive-imsproc + (package + (name "texlive-imsproc") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/xelatex/imsproc/" + "tex/xelatex/imsproc/") + (base32 + "1akzdc4nas4fkmlhm6xp97xw65vm5bif73jq2ki5if5kwssxc38z"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/imsproc") + (synopsis "Typeset IMS conference proceedings") + (description + "The class typesets papers for IMS (Iranian Mathematical Society) +conference proceedings. The class uses the XePersian package.") + (license license:lppl1.3+))) + (define-public texlive-includernw (package (name "texlive-includernw") @@ -4157,6 +7397,24 @@ when using for open intervals.") installed.") (license license:lppl1.3c))) +(define-public texlive-install-latex-guide-zh-cn + (package + (name "texlive-install-latex-guide-zh-cn") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/install-latex-guide-zh-cn/") + (base32 + "1mb6d92c7llz5cpkir4d1wf0l2yvmskl0kxgch9r5zjmb67qflin"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/install-latex-guide-zh-cn") + (synopsis "Short introduction to LaTeX installation written in Chinese") + (description + "This package will introduce the operations related to installing TeX +Live and mainly introducing command line operations, in Chinese.") + (license license:lppl1.3c))) + (define-public texlive-interval (package (name "texlive-interval") @@ -4178,6 +7436,27 @@ The package also supports fence scaling and ensures that the enclosing fences will end up having the proper closing and opening types.") (license license:lppl1.3+))) +(define-public texlive-intro-scientific + (package + (name "texlive-intro-scientific") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/intro-scientific/") + (base32 + "0bzgi3zg0lm6zwjnac90ihaqwcvhindfdphjijv7mh11ii0qxlmf"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/intro-scientific") + (synopsis "Introducing scientific/mathematical documents using LaTeX") + (description + "@emph{Writing Scientific Documents Using LaTeX} is an article +introducing the use of LaTeX in typesetting scientific documents. It covers +the basics of creating a new LaTeX document, special typesetting +considerations, mathematical typesetting and graphics. It also touches on +bibliographic data and BibTeX.") + (license license:lppl))) + (define-public texlive-ionumbers (package (name "texlive-ionumbers") @@ -4212,6 +7491,25 @@ Finally, an @emph{e} starts the exponent of the number. For example, @samp{$21e6$} may be output as @samp{$26\\times10\\,^@{6@}$}.") (license license:gpl3+))) +(define-public texlive-ipaex + (package + (name "texlive-ipaex") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/fonts/ipaex/" + "fonts/truetype/public/ipaex/") + (base32 + "0zpvpdpry4ckgbs79hy0gv8cc98x9c0cizzdqzg2qkx8clp8y1bn"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/ipaex") + (synopsis "IPA (Japanese) fonts") + (description + "The fonts provide fixed-width glyphs for Kana and Kanji characters, +proportional width glyphs for Western characters.") + (license license:ipa))) + (define-public texlive-isomath (package (name "texlive-isomath") @@ -4234,6 +7532,57 @@ characters, and defines macros for markup of vector, matrix and tensor symbols.") (license license:lppl))) +(define-public texlive-itnumpar + (package + (name "texlive-itnumpar") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/itnumpar/" + "source/latex/itnumpar/" + "tex/latex/itnumpar/") + (base32 + "1jjl1mskg0vsxfjg2wpnqi0y462mv2qrfsg15zjri83zwrilaa6f"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/itnumpar") + (synopsis "Spell numbers in words (Italian)") + (description + "Sometimes we need to say ``Capitolo primo'' or ``Capitolo uno'' instead +of ``Capitolo 1'', that is, spelling the number in words instead of the usual +digit form. This package provides support for spelling out numbers in Italian +words, both in cardinal and in ordinal form.") + (license license:lppl))) + +(define-public texlive-jfmutil + (package + (name "texlive-jfmutil") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/fonts/jfmutil/" "scripts/jfmutil/") + (base32 + "1c23wak28a1kwgsk6bw1ifa794zywmqzm7a6w5g883nmbfmsq388"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (arguments (list #:link-scripts #~(list "jfmutil.pl"))) + (inputs (list perl)) + (home-page "https://ctan.org/pkg/jfmutil") + (synopsis "Utility to process pTeX-extended TFM and VF") + (description + "This program provides functionality to process data files (JFM and VF) that +form logical fonts used in (u)pTeX. The functions currently available +include: +@itemize +@item The mutual conversion between Japanese virtual fonts (pairs of VF and +JFM) and files in the ZVP format, which is an original text format +representing data in virtual fonts. This function can be seen as +a counterpart to the @code{vftovp} and @code{vptovf} programs. +@item The mutual conversion between VF files alone and files in the ZVP0 +format, which is a subset of the ZVP format. +@end itemize") + (license license:expat))) + (define-public texlive-jkmath (package (name "texlive-jkmath") @@ -4275,6 +7624,90 @@ Notebook format to proper LaTeX so it gets included seamlessly, supporting text, LaTeX, images, etc.") (license license:asl2.0))) +(define-public texlive-jura + (package + (name "texlive-jura") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/jura/" "source/latex/jura/" + "tex/latex/jura/") + (base32 + "1lxss00mymcxljzaqmwj9zpy9cpc71a0a4g6bqrzvgspj506jdp7"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/jura") + (synopsis "Document class for German legal texts") + (description + "This package implements the standard layout for German term papers in law +(one-and-half linespacing, 7 cm margins, etc.). It includes @code{alphanum} +that permits alphanumeric section numbering (e.g., @samp{A. Introduction}; +@samp{III. International Law}).") + (license license:gpl3+))) + +(define-public texlive-juraabbrev + (package + (name "texlive-juraabbrev") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/juraabbrev/" + "makeindex/juraabbrev/" + "source/latex/juraabbrev/" + "tex/latex/juraabbrev/") + (base32 + "0xybpc9j3x0gvq8hs5hrbb6ivilmp8ayjp6bq8xd7gsy7awag5d7"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/juraabbrev") + (synopsis "Abbreviations for typesetting (German) juridical documents") + (description + "This package should be helpful for people working on (German) law. It +helps you to handle abbreviations and creates a list of those (pre-defined) +abbreviations that have actually been used in the document.") + (license license:gpl3+))) + +(define-public texlive-juramisc + (package + (name "texlive-juramisc") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/juramisc/" "tex/latex/juramisc/") + (base32 + "0ka6gmlb0vlg0317ihjnlklvaajj4rrbi7c2iisngz69fgjm26iy"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/juramisc") + (synopsis "Typesetting German juridical documents") + (description + "This package provides a collection of classes for typesetting court +sentences, legal opinions, books and dissertations for German lawyers. +A @code{jurabook} class is also provided, which may not yet be complete.") + (license license:lppl))) + +(define-public texlive-jurarsp + (package + (name "texlive-jurarsp") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "bibtex/bst/jurarsp/" "doc/latex/jurarsp/" + "source/latex/jurarsp/" "tex/latex/jurarsp/") + (base32 + "03lwp5v6fmq2zhiwaf4qj52k44grzh119il4pdp2fvgl2q4a39sm"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/jurarsp") + (synopsis + "Citations of judgements and official documents in (German) juridical +documents") + (description + "This package should be helpful for people working on (German) law. +It (ab)uses BibTeX for citations of judgements and official documents. For +this purpose, a special BibTeX-style is provided.") + (license license:gpl3+))) + (define-public texlive-karnaugh (package (name "texlive-karnaugh") @@ -4339,6 +7772,187 @@ using TikZ. Though similar to the @code{karnaugh} macros, it provides a key-value system to customize Karnaugh maps and a proper LaTeX package.") (license license:lppl1.2+))) +(define-public texlive-kaytannollista-latexia + (package + (name "texlive-kaytannollista-latexia") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/kaytannollista-latexia/") + (base32 + "12ysr2501m77zjljpi30cxw45drn2hw552yk9asksvrbvavjphm0"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/kaytannollista-latexia") + (synopsis "Practical manual for LaTeX (Finnish)") + (description + "@emph{Kaytannollista Latexia} is a practical manual for LaTeX written in +the Finnish language. The manual covers most of the topics that a typical +document author needs. So it can be a useful guide for beginners as well as +a reference manual for advanced users.") + (license license:cc-by-sa4.0))) + +(define-public texlive-kotex-oblivoir + (package + (name "texlive-kotex-oblivoir") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/kotex-oblivoir/" + "tex/latex/kotex-oblivoir/") + (base32 + "0hq22jdzcg516zx26mkijpnk5i8gdj30lhjldly8plwmfznhzwwa"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (propagated-inputs (list texlive-kotex-utf texlive-memoir)) + (home-page "https://ctan.org/pkg/kotex-oblivoir") + (synopsis "LaTeX document class for typesetting Korean documents") + (description + "The class is based on @code{memoir}, and is adapted to typesetting +Korean documents.") + (license license:lppl1.3c))) + +(define-public texlive-kotex-plain + (package + (name "texlive-kotex-plain") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/plain/kotex-plain/" + "tex/plain/kotex-plain/") + (base32 + "0r79cvm7iy1266yvrn60vwq9wjkgmzgfihbz9dqc84lif5q8kmnw"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/kotex-plain") + (synopsis "Macros for typesetting Korean under Plain TeX") + (description + "The package provides macros for typesetting Hangul, the native alphabet +of the Korean language, using Plain TeX. Korean text should be encoded in +UTF-8.") + (license license:lppl1.3c))) + +(define-public texlive-kotex-utf + (package + (name "texlive-kotex-utf") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/kotex-utf/" + "tex/latex/kotex-utf/") + (base32 + "1l3hlav7fihws2ly49fn994sc7mjcdwk3zp4xhkgvm0mqjbxzxzz"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (propagated-inputs (list texlive-cjk-ko)) + (home-page "https://ctan.org/pkg/kotex-utf") + (synopsis "Typeset Hangul, coded in UTF-8") + (description + "The package typesets Hangul, which is the native alphabet of the Korean +language; input Korean text should be encoded in UTF-8.") + (license license:lppl1.3c))) + +(define-public texlive-kotex-utils + (package + (name "texlive-kotex-utils") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/kotex-utils/" + "makeindex/kotex-utils/" + "scripts/kotex-utils/") + (base32 + "01qmr50fr3i2gzgjyj69jgj4czf62s22z58kja6hbqygczc1jba3"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (arguments + (list #:link-scripts + #~(list "jamo-normalize.pl" "komkindex.pl" "ttf2kotexfont.pl"))) + (inputs (list perl)) + (propagated-inputs (list texlive-kotex-utf)) + (home-page "https://ctan.org/pkg/kotex-utils") + (synopsis "Utility scripts and support files for typesetting Korean") + (description + "The bundle provides scripts and support files for index generation in +Korean language typesetting.") + (license license:lppl))) + +(define-public texlive-knuth-errata + (package + (name "texlive-knuth-errata") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/generic/knuth-errata/") + (base32 + "0rcyw7dqcwlnf9q421k017hrx5c0d9rra6rcr3n6wqmhxmdy5mn9"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/knuth-errata") + (synopsis "Knuth's published errata") + (description + "These files record details of problems reported in Knuth's Computers and +Typesetting series of books, for the Computer Modern fonts, and for TeX, +Metafont and related programs.") + (license license:knuth))) + +(define-public texlive-knuth-hint + (package + (name "texlive-knuth-hint") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/generic/knuth-hint/") + (base32 + "13ka3b636vwgwz29bl9mh40incldq6mk6cr6q3by01xj12za41kw"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/knuth-hint") + (synopsis "HINT collection of typeset C/WEB sources in TeX Live") + (description + "The @code{knuth-hint} package contains the large collection of HINT +documents for many of the CWEB amd WEB sources of programs in the TeX Live +distribution (and, for technical reasons, PDF documents for CTWILL and XeTeX). +Each program is presented in its original form as written by the respective +authors, and in the changed form as used in TeX Live. Care has been taken to +keep the section numbering intact, so that you can study the codes and the +changes in parallel. + +Also included are the errata for Donald Knuth's @emph{Computers & +Typesetting}. HINT is the dynamic document format created by Martin Ruckert's +HiTeX engine. The HINT files can be viewed with the @code{hintview} +application. The @code{knuth-hint} package is a showcase of HiTeX's +capabilities.") + (license (list license:public-domain license:knuth)))) + +(define-public texlive-knuth-pdf + (package + (name "texlive-knuth-pdf") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/generic/knuth-pdf/") + (base32 + "14by59b7d1fi4jh5d0xvzb56g9pgd5zi1sdvfgi50vrpn28gfqfw"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/knuth-pdf") + (synopsis "PDF collection of typeset C/WEB sources in TeX Live") + (description + "Here you find a large collection of PDF documents for many C/WEB +programs in TeX Live, both in their original form as written by their +respective authors, and in the changed form as they are actually used in the +TeX Live system. Care has been taken to keep the section numbering intact, so +that you can study the sources and their changes in parallel. + +Also included is the collection of errata for Donald Knuth's @emph{Computers & +Typesetting series}. Although not all the texts here are written or +maintained by Donald Knuth, it is more convenient for everything to be +collected in one place for reading and searching. They all stem from the +system that Knuth created. The central entry point is the index file, with +links to the individual documents, either in HTML or in PDF format.") + (license license:public-domain))) + (define-public texlive-kvmap (package (name "texlive-kvmap") @@ -4361,6 +7975,371 @@ It provides a tabular-like input syntax and support for drawing bundles (implicants) around adjacent values.") (license license:lppl1.3c))) +(define-public texlive-l2picfaq + (package + (name "texlive-l2picfaq") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/l2picfaq/") + (base32 + "0mk8d082gcqlxw2x7d2w85sm6i51928pijybzbsh9fy2rfcv99xz"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/l2picfaq") + (synopsis "LaTeX pictures how-to (German)") + (description + "The document (in German) is a collection of how-to notes about LaTeX and +pictures. The aim of the document is to provide a solution, in the form of +some sample code, for every problem.") + (license license:fdl1.3+))) + +(define-public texlive-l2tabu + (package + (name "texlive-l2tabu") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/l2tabu/") + (base32 + "1jl0n43bqbys0c9v0xb4sjql0gvk4r14ldzp2rbwzjsk8a39q8v8"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/l2tabu") + (synopsis "Obsolete packages and commands") + (description + "This package provides a German translation of the @emph{l2tabu} +practical guide to LaTeX2e by Mark Trettin. It focuses on obsolete packages +and commands.") + (license license:gpl3+))) + +(define-public texlive-l2tabu-english + (package + (name "texlive-l2tabu-english") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/l2tabu-english/") + (base32 + "0dqmdr3lffhiaq7pg5pn6ia46miwq4nh5vimhd0qbf936amiv1mm"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/l2tabu-english") + (synopsis "English translation of @emph{Obsolete packages and commands}") + (description + "This package provides an English translation of the @emph{l2tabu} +practical guide to LaTeX2e by Mark Trettin. It focuses on obsolete packages +and commands.") + (license license:fdl1.2+))) + +(define-public texlive-l2tabu-french + (package + (name "texlive-l2tabu-french") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/l2tabu-french/") + (base32 + "0c6fbmgwv2adlxbhl1shvpa1w6xd36gmrwvkjgdp9xc3q999l4dj"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/l2tabu-french") + (synopsis "English translation of @emph{Obsolete packages and commands}") + (description + "This package provides a French translation of the @emph{l2tabu} +practical guide to LaTeX2e by Mark Trettin. It focuses on obsolete packages +and commands.") + (license license:fdl1.2+))) + +(define-public texlive-l2tabu-italian + (package + (name "texlive-l2tabu-italian") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/l2tabu-italian/") + (base32 + "0bgfmn5v80rdhs9wmjj6mki29p28ip1d29rmgbw4jh4z6gd4sf22"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/l2tabu-italian") + (synopsis "Italian translation of @emph{Obsolete packages and commands}") + (description + "This package provides an Italian translation of the @emph{l2tabu} +practical guide to LaTeX2e by Mark Trettin. It focuses on obsolete packages +and commands.") + (license license:fdl1.2+))) + +(define-public texlive-l2tabu-spanish + (package + (name "texlive-l2tabu-spanish") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/l2tabu-spanish/") + (base32 + "1p83xflgv8x7nq9mylh468zn3hz5pv3zxprc63q51fwx0ylxfdbk"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/l2tabu-spanish") + (synopsis "Spanish translation of @emph{Obsolete packages and commands}") + (description + "This package provides a Spanish translation of the @emph{l2tabu} +practical guide to LaTeX2e by Mark Trettin. It focuses on obsolete packages +and commands.") + (license license:public-domain))) + +(define-public texlive-lambda + (package + (name "texlive-lambda") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "tex/lambda/base/" "tex/lambda/config/") + (base32 + "1ajx5g5cd5s9jqr4b196689k7zmlxmhhksly88qps31s7lzaprvn"))) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/lambda") + (synopsis "LaTeX for Omega and Aleph") + (description "This is LaTeX for Omega and Aleph.") + (license license:lppl1.0+))) + +(define-public texlive-langnames + (package + (name "texlive-langnames") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/langnames/" + "source/latex/langnames/" + "tex/latex/langnames/") + (base32 + "0fi2xfy33d970g8wdnzasqdzgjcj7rkss9y7pzsp89z1hij3d1z2"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/langnames") + (synopsis "Name languages and their genetic affiliations consistently") + (description + "This package attempts to make the typing of language names, codes, and +families slightly easier by providing macros to access pre-defined +language --- code --- family combinations from two important databases, as +well as the possibility to create new combinations. It may be particularly +useful for large, collaborative projects as well as typologically minded ones +with a variety of language examples.") + (license license:lppl1.3+))) + +(define-public texlive-latex-notes-zh-cn + (package + (name "texlive-latex-notes-zh-cn") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/generic/latex-notes-zh-cn/") + (base32 + "0w9rmd7b5fnfvix653n9vbnn1k8yxlaaak79ipvm8p53dx75xfxd"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/latex-notes-zh-cn") + (synopsis "Chinese Introduction to TeX and LaTeX") + (description + "The document is an introduction to TeX and LaTeX, in Chinese. It covers +basic text typesetting, mathematics, graphics, tables, Chinese language & +fonts, and some miscellaneous features (hyperlinks, long documents, +bibliographies, indexes and page layout).") + (license license:lppl1.3+))) + +(define-public texlive-latex2e-help-texinfo-fr + (package + (name "texlive-latex2e-help-texinfo-fr") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/info/latex2e-fr.info" + "doc/latex/latex2e-help-texinfo-fr/") + (base32 + "13s0zjwk3m95kbx4qrz2xwp8kifzc2zmasp1ks9l2acf1nqfac9p"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/latex2e-help-texinfo-fr") + (synopsis "French translation of @code{latex2e-help-texinfo}") + (description + "This package provides a complete French translation of +@code{latex2e-help-texinfo}.") + (license license:public-domain))) + +(define-public texlive-latex2e-help-texinfo-spanish + (package + (name "texlive-latex2e-help-texinfo-spanish") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/info/latex2e-es.info" + "doc/latex/latex2e-help-texinfo-spanish/") + (base32 + "1v3wa99phdmsiajbq0ad4h939cpwjwzpq88h6s0796h5fr34hrvq"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/latex2e-help-texinfo") + (synopsis "Spanish translation of @code{latex2e-help-texinfo}") + (description + "This package provides a complete Spanish translation of +@code{latex2e-help-texinfo}.") + (license license:public-domain))) + +(define-public texlive-latex4musicians + (package + (name "texlive-latex4musicians") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/latex4musicians/") + (base32 + "1zvy2pa93kyn056d5n0irzdq5xmzki6d35zxacxfy19r0g9rwq6f"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/latex4musicians") + (synopsis "Guide for combining LaTeX and music") + (description + "This guide, @emph{LaTeX for Musicians}, explains how to create LaTeX +documents that include several kinds of music elements: music symbols, song +lyrics, guitar chords diagrams, lead sheets, music excerpts, guitar +tablatures, multi-page scores.") + (license license:fdl1.3+))) + +(define-public texlive-latexcheat-de + (package + (name "texlive-latexcheat-de") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/latexcheat-de/") + (base32 + "1cpqcvqkkyb2bf87yjvc2migxawnacx5mva8dapma7hmwx0z7rhm"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/latexcheat-de") + (synopsis "LaTeX cheat sheet, in German") + (description + "This is a translation to German of Winston Chang's LaTeX cheat sheet (a +reference sheet for writing scientific papers). It has been adapted to German +standards using the KOMA script document classes.") + (license license:lppl))) + +(define-public texlive-latexcheat-esmx + (package + (name "texlive-latexcheat-esmx") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/latexcheat-esmx/") + (base32 + "1d6nk9p9adlhgr28mnnizrxzzqlk20zw2clcddqlaa8pn73dqhcm"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/latexcheat-esmx") + (synopsis "LaTeX cheat sheet, in Spanish") + (description + "This is a translation to Spanish (Castellano) of Winston Chang's LaTeX +cheat sheet (a reference sheet for writing scientific papers).") + (license license:lppl))) + +(define-public texlive-latino-sine-flexione + (package + (name "texlive-latino-sine-flexione") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/latino-sine-flexione/" + "tex/latex/latino-sine-flexione/") + (base32 + "0py61xhgg73jlz6f9p7g9r06pn7m648d29068i4d97gqc20i2jvc"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/latino-sine-flexione") + (synopsis "LaTeX support for documents written in Peano's Interlingua") + (description + "Latino sine Flexione (or Interlingua) is a language constructed by +Giuseppe Peano at the beginning of the last century. This simplified Latin is +designed to be an instrument for international cooperation, especially in the +academic sphere. This package provides the necessary translations to use the +language within a LaTeX document. It also imports @code{fontenc} in order to +be able to use ligatures and quotation marks. Finally, it offers a text in +Interlingua that can be used as a dummy text: @emph{Fundamento de +intelligentia}.") + (license license:public-domain))) + +(define-public texlive-leadsheets + (package + (name "texlive-leadsheets") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/leadsheets/" + "tex/latex/leadsheets/") + (base32 + "12aly170pf10dw82i6rykiaxl9r5mmva7kvkhlywir4s6gx07gjc"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/leadsheets") + (synopsis "Typesetting leadsheets and songbooks") + (description + "This LaTeX package offers support for typesetting simple leadsheets of +songs, i.e., song lyrics and the corresponding chords.") + (license license:lppl1.3+))) + +(define-public texlive-ledmac + (package + (name "texlive-ledmac") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/ledmac/" "source/latex/ledmac/" + "tex/latex/ledmac/") + (base32 + "03b23rkhdhvr0rbmp687p76mlq68crsfyh67frxbnh11vccmfgnc"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/ledmac") + (synopsis "Typeset scholarly editions") + (description + "This package provides a macro package for typesetting scholarly critical +editions. The @code{ledmac} package is a LaTeX port of the Plain TeX EDMAC +macros. It supports indexing by page and line number and simple +@code{tabular}- and @code{array}-style environments. The package is +distributed with the related @code{ledpar} and @code{ledarab} packages. The +package is now superseded by @code{reledmac}.") + (license license:lppl1.3+))) + +(define-public texlive-letgut + (package + (name "texlive-letgut") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/lualatex/letgut/" + "source/lualatex/letgut/" + "tex/lualatex/letgut/") + (base32 + "1wk6bibz59jw9vx2syq0hfi2yz69kr3w87839bhnl3svz2x958nn"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/letgut") + (synopsis + "Class for the newsletter @code{La Lettre GUTenberg} of the French TeX User +Group GUTenberg") + (description + "The French TeX User Group GUTenberg has been publishing @emph{The +GUTenberg Letter}, its irregular newsletter, since February 1993. For this +purpose, a dedicated, in-house (La)TeX class was gradually created but, +depending on new needs and on the people who were publishing the Newsletter, +its development was somewhat erratic; in particular, it would not have been +possible to publish its code as it was. In addition, its documentation was +non-existent. The Board of Directors of the association, elected in November +2020, wished to provide a better structured, more perennial and documented +class, able to be published on the CTAN. This is now done with the present +@code{letgut} class.") + (license license:lppl1.3c))) + (define-public texlive-letterswitharrows (package (name "texlive-letterswitharrows") @@ -4383,6 +8362,44 @@ with the symbols. While it is possible to set arrows over longer strings of symbols, the focus lies on single characters.") (license license:lppl1.3+))) +(define-public texlive-lexikon + (package + (name "texlive-lexikon") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/lexikon/" "tex/latex/lexikon/") + (base32 + "0x2h8w3cchzr2lvx5xqs1fn01y7b4lqkky85dard223w2r1dn22m"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/lexikon") + (synopsis "Macros for a two language dictionary") + (description "This package provides macros for a two language +dictionary.") + (license license:lppl))) + +(define-public texlive-lexref + (package + (name "texlive-lexref") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/lexref/" "tex/latex/lexref/") + (base32 + "0562vjn0vvjsqfi2jqy1yp6mqi8nrs25yc9nr1zc950q421w0vrb"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/lexref") + (synopsis "Convenient and uniform references to legal provisions") + (description + "The package is aimed at continental lawyers (especially those in +Switzerland and Germany), allowing the user to make references to legal +provisions conveniently and uniformly. The package also allows the user to +add cited Acts to a nomenclature list (automatically), and to build specific +indexes for each cited Act.") + (license license:lppl1.3+))) + (define-public texlive-lie-hasse (package (name "texlive-lie-hasse") @@ -4403,6 +8420,131 @@ simple roots of any complex simple Lie algebra. It uses the Dynkin diagrams package @code{dynkin-diagrams}.") (license license:lppl1.3c))) +(define-public texlive-lilyglyphs + (package + (name "texlive-lilyglyphs") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/lilyglyphs/" + "fonts/opentype/public/lilyglyphs/" + "scripts/lilyglyphs/" + "source/latex/lilyglyphs/fonts/" + "source/latex/lilyglyphs/glyphimages/definitions/" + "source/latex/lilyglyphs/glyphimages/generated_src/" + "tex/latex/lilyglyphs/") + (base32 + "1g5v2bq7ml9pnh2xlkzf6k9zh3azw7i96iapp8yajyxk8akj0ki2"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (arguments + (list #:link-scripts + #~(list "lily-glyph-commands.py" + "lily-image-commands.py" + "lily-rebuild-pdfs.py"))) + (inputs (list python)) + (home-page "https://ctan.org/pkg/lilyglyphs") + (synopsis "Access Lilypond fragments and glyphs, in LaTeX") + (description + "The package provides the means to include arbitrary elements of LilyPond +notation, including symbols from Lilypond's Emmentaler font, in a LaTeX +document. The package uses OpenType fonts, and as a result must be compiled +with LuaLaTeX or XeLaTeX.") + (license license:lppl1.3c))) + +(define-public texlive-ling-macros + (package + (name "texlive-ling-macros") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/ling-macros/" + "tex/latex/ling-macros/") + (base32 + "0q5l9h5xkd9gkpx2g5inzkcsssqvdicv05r8xvlmmx41mf1ikc88"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/ling-macros") + (synopsis "Macros for typesetting formal linguistics") + (description + "This package contains macros for typesetting glosses and formal +expressions. It covers a range of subfields in formal linguistics.") + (license license:lppl1.3+))) + +(define-public texlive-linguex + (package + (name "texlive-linguex") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/linguex/" "tex/latex/linguex/") + (base32 + "0w2rxvjljrl4b7s1dr7k2vk5nifq0zgmjlx68ajpsihjnzal7k8g"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/linguex") + (synopsis "Format linguists' examples") + (description + "This bundle comprises two packages: the @code{linguex} package +facilitates the formatting of linguist examples, automatically taking care of +example numbering, indentations, indexed brackets, and the @samp{*} in +grammaticality judgments. The @code{ps-trees} package provides linguistic +trees.") + (license license:lppl))) + +(define-public texlive-lithuanian + (package + (name "texlive-lithuanian") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/lithuanian/" + "fonts/enc/dvips/lithuanian/" + "fonts/map/dvips/lithuanian/" + "fonts/tfm/public/lithuanian/" + "tex/latex/lithuanian/") + (base32 + "1iq06vlryl4fj2mzkmmphw9ihm0y7wmi5k8wxniaciw5mm5vrw7x"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/lithuanian") + (synopsis "Lithuanian language support") + (description + "This language support package provides: + +@itemize +@item extra 8-bit encoding L7x used by @code{fontenc}: @file{l7xenc.def}, +@file{l7xenc.dfu}, @file{l7xenc.sty}; +@item Lithuanian TeX support for URW family Type1 fonts: map, fd, tfm with L7x +encoding; +@item extra code page definitions used by @code{inputenc}: @file{cp775.def} +and @file{latin7.def}. +@end itemize") + (license license:lppl1.3c))) + +(define-public texlive-liturg + (package + (name "texlive-liturg") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/liturg/" "source/latex/liturg/" + "tex/latex/liturg/") + (base32 + "1nmcz7zg27aasczdv3p6ilsmy66cbfjg9yri45d0pml7m7c56din"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + ;; The "liturg.ins" provided by the package does not generate anything. + ;; As a consequence, there's nothing to build. + (arguments (list #:build-targets #~'())) + (home-page "https://ctan.org/pkg/liturg") + (synopsis "Support for typesetting Catholic liturgical texts") + (description + "The packages offers simple macros for typesetting Catholic liturgical +texts, particularly @code{Missal} and @code{Breviary} texts. The package +assumes availability of Latin typesetting packages.") + (license license:lppl))) + (define-public texlive-logicproof (package (name "texlive-logicproof") @@ -4427,6 +8569,29 @@ proofs and boxes. It creates proofs in a style similar to that used in @emph{Logic in Computer Science} by Huth and Ryan.") (license license:lppl1.3+))) +(define-public texlive-lollipop + (package + (name "texlive-lollipop") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/otherformats/lollipop/" "tex/lollipop/") + (base32 + "0xdldlnhsr2n8544j9vd6gllin8bfkpcbhlpmxlhrvjl5bdg0rjp"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (arguments (list #:create-formats #~(list "lollipop"))) + (propagated-inputs (list texlive-cm texlive-hyphen-base)) + (home-page "https://ctan.org/pkg/lollipop") + (synopsis "TeX made easy") + (description + "Lollipop is a macro package that functions as a toolbox for writing TeX +macros. Its main aim is to make macro writing so easy that implementing +a fully new layout in TeX would become a matter of less than an hour for an +average document. The aim is that such a task could be accomplished by +someone with only a very basic training in TeX programming.") + (license license:gpl3))) + (define-public texlive-longdivision (package (name "texlive-longdivision") @@ -4500,6 +8665,441 @@ from use of the package are in the format used in the textbook @emph{Language, Proof, and Logic} by Dave Barker-Plummer, Jon Barwise, and John Etchemendy.") (license license:lppl1.3+))) +(define-public texlive-lshort-bulgarian + (package + (name "texlive-lshort-bulgarian") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/lshort-bulgarian/") + (base32 + "0qg23asq2i5mqhp9xblv5hm3qxmd5886d5x0gq1fkdbyy9gsawi3"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/lshort-bulgarian") + (synopsis + "Bulgarian translation of the @emph{Short Introduction to LaTeX2e}") + (description + "This package includes the source files, PostScript and PDF files of the +Bulgarian translation of the @emph{Short Introduction to LaTeX2e}.") + (license license:public-domain))) + +(define-public texlive-lshort-chinese + (package + (name "texlive-lshort-chinese") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/lshort-chinese/") + (base32 + "0455mdpcv3yg4m5vrbdp47j7mcwi43mvsy2p9clp7794agaf2ir6"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/lshort-zh-cn") + (synopsis "Introduction to LaTeX, in Chinese") + (description + "This package provides a Chinese edition of the @emph{(Not so) short +introduction to LaTeX2e}, with additional information of typesetting Chinese +language.") + (license license:fdl1.3+))) + +(define-public texlive-lshort-czech + (package + (name "texlive-lshort-czech") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/lshort-czech/") + (base32 + "0ar9qa0cg0mjv6ydgx1phaa1qpiy25s3jciznbylgi5xprvnnfa9"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/lshort-czech") + (synopsis "Czech translation to LaTeX") + (description + "This is the Czech translation of a @emph{(Not So) Short Introduction to +LaTeX2e}.}") + (license license:gpl3+))) + +(define-public texlive-lshort-dutch + (package + (name "texlive-lshort-dutch") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/lshort-dutch/") + (base32 + "160r060gmw6f6lgbnyvfxafjpqvyr4jwd56ddkjfm3ir2bfl973d"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/lshort-dutch") + (synopsis "Introduction to LaTeX in Dutch") + (description + "This is the Dutch (Nederlands) translation of the @emph{(No So) Short +Introduction to LaTeX2e}.") + (license license:gpl3+))) + +(define-public texlive-lshort-estonian + (package + (name "texlive-lshort-estonian") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/lshort-estonian/") + (base32 + "0dfwp7kkynpskb345i3yz7h5pvc8iljqg3q6l546vrwla0bmb95c"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/lshort-estonian") + (synopsis "Estonian introduction to LaTeX") + (description + "This is the Estonian translation of @emph{(No So) Short Introduction to +LaTeX2e}.") + (license license:gpl2))) + +(define-public texlive-lshort-english + (package + (name "texlive-lshort-english") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/lshort-english/") + (base32 + "0pzqdbzynlwvpamd69cmfpa8jdcvq96qjr9k1fy3dxpzi2mapvhd"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/lshort-english") + (synopsis "(Not So) short introduction to LaTeX2e") + (description + "@emph{The Not So Short Introduction to LaTeX2e} derives from a German +introduction (@emph{lkurz}), which was translated and updated; it continues to +be updated. This translation has, in its turn, been translated into several +other languages; see the @code{lshort} catalogue entry for the current list.") + (license license:gpl2))) + +(define-public texlive-lshort-finnish + (package + (name "texlive-lshort-finnish") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/lshort-finnish/") + (base32 + "06madlm869kmwxprmy2c78ma4s8zk8mclzmd4xdl0r4mlhk4vdsl"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/lshort-finnish") + (synopsis "Finnish introduction to LaTeX") + (description + "This is the Finnish translation of @emph{(No So) Short Introduction to +LaTeX2e}, with added coverage of Finnish typesetting rules.") + (license license:public-domain))) + +(define-public texlive-lshort-french + (package + (name "texlive-lshort-french") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/lshort-french/") + (base32 + "1hdl0w7b1ablx7qfcvgniz7dcbgazb49b8wfw7c08hlb38gxfqh7"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/lshort-french") + (synopsis "Short introduction to LaTeX, French translation") + (description + "This package contains a French version of a @emph{(Not so) short +introduction to LaTeX2e}.") + (license license:gpl3+))) + +(define-public texlive-lshort-german + (package + (name "texlive-lshort-german") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/lshort-german/") + (base32 + "073v7zvk8xri0f05mr0ad770p81akl9b9cnia1q4hcma9fk89k10"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/lshort-german") + (synopsis + "German version of @emph{A Short Introduction to LaTeX2e: +LaTeX2e-Kurzbeschreibung}") + (description + "This package provides the German version of @emph{A Short Introduction +to LaTeX2e: LaTeX2e-Kurzbeschreibung}.") + (license license:opl1.0+))) + +(define-public texlive-lshort-italian + (package + (name "texlive-lshort-italian") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/lshort-italian/") + (base32 + "085ydria5q7s648r7frl54sa1y4kyr569zvqjjkancfd83h873cg"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/lshort-italian") + (synopsis "Introduction to LaTeX in Italian") + (description + "This is the Italian translation of the @emph{(Not so) Short Introduction +to LaTeX2e.}") + (license license:gpl3+))) + +(define-public texlive-lshort-japanese + (package + (name "texlive-lshort-japanese") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/lshort-japanese/") + (base32 + "0mfxig980jyzhay1i83d69p294hgbr92v3kk2a4z8ca3fwzy8w74"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/lshort-japanese") + (synopsis "Japanese version of the @emph{Short Introduction to LaTeX2e}") + (description "This is the Japanese version of the @emph{(Not so) Short +Introduction to LaTeX2e}.") + (license license:gpl3+))) + +(define-public texlive-lshort-korean + (package + (name "texlive-lshort-korean") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/lshort-korean/") + (base32 + "07660lrss97hswmis7rgc419h05mgrvsfrrwmnrwk5yn97flhhqd"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/lshort-korean") + (synopsis "Korean introduction to LaTeX") + (description + "This package provides a translation of Oetiker's original @emph{(Not so) +short introduction to LaTeX2e}.") + (license license:fdl1.3+))) + +(define-public texlive-lshort-mongol + (package + (name "texlive-lshort-mongol") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/lshort-mongol/") + (base32 + "153k4dzia30fpx847wli7i5p407a808gmj3p7jifq5bpx479qg1g"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/lshort-mongol") + (synopsis "Short introduction to LaTeX, in Mongolian") + (description + "This package provides a translation of Oetiker's @emph{(Not so) short +introduction to LaTeX2e}.") + (license license:lppl))) + +(define-public texlive-lshort-persian + (package + (name "texlive-lshort-persian") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/lshort-persian/") + (base32 + "0b1b45nh2d3d3zv735dymgyllj6m8i57icbihjkl1im0nghrzklk"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/lshort-persian") + (synopsis "Persian (Farsi) introduction to LaTeX") + (description + "This package provides a Persian (Farsi) translation of Oetiker's +@emph{(Not so) short introduction to LaTeX2e}.") + (license license:public-domain))) + +(define-public texlive-lshort-polish + (package + (name "texlive-lshort-polish") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/lshort-polish/") + (base32 + "121y638k4f4pbjpa4q0n9qj2w57624q2d1v4jz09qh399fl5yk81"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/lshort-polish") + (synopsis "Introduction to LaTeX in Polish") + (description + "This is the Polish translation of the @emph{(Not so) Short Introduction +to LaTeX2e}.") + (license license:gpl2+))) + +(define-public texlive-lshort-portuguese + (package + (name "texlive-lshort-portuguese") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/lshort-portuguese/") + (base32 + "0wg51rjcayiizkz0vvjkirrx19q8fbnfrwilgh13prlbpams1hsh"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/lshort-portuguese") + (synopsis "Introduction to LaTeX in Portuguese") + (description + "This is the Portuguese translation of a @emph{(Not So) Short +Introduction to LaTeX2e}.") + (license license:public-domain))) + +(define-public texlive-lshort-russian + (package + (name "texlive-lshort-russian") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/lshort-russian/") + (base32 + "02abh69xl43p56fcciyan4j0z4mqq2j7ynwazq1nywhz37d6zn7y"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/lshort-russian") + (synopsis "Russian introduction to LaTeX") + (description "This package provides the Russian version of the @emph{Short +Introduction to LaTeX2e}.") + (license license:gpl3+))) + +(define-public texlive-lshort-slovak + (package + (name "texlive-lshort-slovak") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/lshort-slovak/") + (base32 + "0b5gn95i32dyn8r7v2cdcz759fllp3b0zwx17adjs282n06vfymq"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/lshort-slovak") + (synopsis "Slovak introduction to LaTeX") + (description + "This package provides a Slovak translation of Oetiker's @emph{(Not So) +Short Introduction to LaTeX2e}.") + (license license:lppl))) + +(define-public texlive-lshort-slovenian + (package + (name "texlive-lshort-slovenian") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/lshort-slovenian/") + (base32 + "0cwjg0z5vr4x93bz1khwl27rk8k7kpjm978iyzn6w7gx3wi87zr0"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/lshort-slovenian") + (synopsis "Slovenian introduction to LaTeX") + (description + "This package provides a Slovenian translation of the @emph{(Not So) +Short Introduction to LaTeX2e}.") + (license license:gpl3+))) + +(define-public texlive-lshort-spanish + (package + (name "texlive-lshort-spanish") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/lshort-spanish/") + (base32 + "0ls50syrg3dl5dl5a3fi33cr9j990l2xr6pribn1vqglsqrh191l"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/lshort-spanish") + (synopsis "Short introduction to LaTeX, in Spanish") + (description + "This package provides a Spanish translation of the @emph{(Not So) Short +Introduction to LaTeX2e}.") + (license license:gpl3+))) + +(define-public texlive-lshort-thai + (package + (name "texlive-lshort-thai") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/lshort-thai/") + (base32 + "16r9gx902a342q2mj570y269yw97yaj6hrbqrk4h49ihm695z30i"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/lshort-thai") + (synopsis "Introduction to LaTeX in Thai") + (description + "This is the Thai translation of the @emph{Short Introduction to LaTeX2e}.") + (license license:public-domain))) + +(define-public texlive-lshort-turkish + (package + (name "texlive-lshort-turkish") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/lshort-turkish/") + (base32 + "00r6pv4z4933jw072djdasd2wp5j05wghln62ga4g6y6jblf6zks"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/lshort-turkish") + (synopsis "Turkish introduction to LaTeX") + (description + "This package provides a Turkish translation of Oetiker's @emph{(Not so) +short introduction to LaTeX2e}.") + (license license:public-domain))) + +(define-public texlive-lshort-ukr + (package + (name "texlive-lshort-ukr") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/lshort-ukr/") + (base32 + "1nsah1h3z3sy96a9x0mfdwby7pvvjwq7zxfv2s8nvsbvnn1al17s"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/lshort-ukr") + (synopsis "Ukrainian version of the LaTeX introduction") + (description + "This package provides the Ukrainian version of the @emph{Short +Introduction to LaTeX2e}.") + (license license:gpl2+))) + +(define-public texlive-lshort-vietnamese + (package + (name "texlive-lshort-vietnamese") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/lshort-vietnamese/") + (base32 + "094lfry6cqvpk02c3acss6581mgb7j30fnja1b3qwzxmyxjdblwa"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/lshort-vietnamese") + (synopsis "Vietnamese version of the LaTeX introduction") + (description + "This is the Vietnamese version of the @emph{Short Introduction to +LaTeX2e}.") + (license license:lppl))) + (define-public texlive-lstbayes (package (name "texlive-lstbayes") @@ -4520,6 +9120,131 @@ Proof, and Logic} by Dave Barker-Plummer, Jon Barwise, and John Etchemendy.") several languages not included in that package: BUGS, JAGS, and Stan.") (license license:lppl1.3+))) +(define-public texlive-lyluatex + (package + (name "texlive-lyluatex") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/support/lyluatex/" "scripts/lyluatex/" + "tex/luatex/lyluatex/") + (base32 + "04w57pki09mzhaxv3s1f2m0bj1df5aqxygqgrihvkabc5x00is87"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/lyluatex") + (synopsis + "Commands to include LilyPond scores within a (Lua)LaTeX document") + (description + "This package provides macros for the inclusion of LilyPond scores within +LuaLaTeX. It calls LilyPond to compile scores, then includes the produced +files.") + (license license:expat))) + +(define-public texlive-m-tx + (package + (name "texlive-m-tx") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/generic/m-tx/" + "doc/man/man1/prepmx.1" + "doc/man/man1/prepmx.man1.pdf" + "scripts/m-tx/" + "tex/generic/m-tx/" + "tex/latex/m-tx/") + (base32 + "1sakzv7r6mybx0k7k0fi1qb789nf7lvbl0ns8s0hhc9fz37b0br5"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (arguments (list #:link-scripts #~(list "m-tx.lua"))) + (home-page "https://ctan.org/pkg/m-tx") + (synopsis "Preprocessor for @command{pmx}") + (description + "M-Tx is a preprocessor to @command{pmx}, which is itself a preprocessor +to MusixTeX, a music typesetting system. The prime motivation to the +development of M-Tx was to provide lyrics for music to be typeset. In fact, +@command{pmx} now provides a lyrics interface, but M-Tx continues in use by +those who prefer its language.") + (license license:expat))) + +(define-public texlive-macros2e + (package + (name "texlive-macros2e") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/macros2e/" "tex/latex/macros2e/") + (base32 + "0vdw389gvwmpqs7ykm3vlyqbpwm45mgqasmqyxm7q9jgay3dn2iz"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/macros2e") + (synopsis "List of internal LaTeX2e macros") + (description + "This document lists the internal macros defined by the LaTeX2e base files, +which can also be useful to package authors. The macros are hyper-linked to +their description in @code{source2e}. For this to work both PDFs must be +inside the same directory. This document is not yet complete in content and +format and may miss some macros.") + (license license:lppl1.3c))) + +(define-public texlive-mafr + (package + (name "texlive-mafr") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/mafr/" "tex/latex/mafr/") + (base32 + "0bzmf36xy2ppd2bkc5lkcw43jangwn0w4scgr9il06d14lbw68yn"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/mafr") + (synopsis "Mathematics in accord with French usage") + (description + "The package provides settings and macros for typesetting mathematics +with LaTeX in compliance with French usage. It comes with two document +classes, @code{fiche} and @code{cours}, useful to create short high school +documents such as tests or lessons. The documentation is in French.") + (license license:gpl3+))) + +(define-public texlive-matapli + (package + (name "texlive-matapli") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/matapli/" "tex/latex/matapli/") + (base32 + "0khkgc80hbydnlciqr02ay88gazr4nxdq099pjgf1xcjlnlmnwcp"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/matapli") + (synopsis "Class for the French journal @emph{MATAPLI}") + (description + "This is a class for the French journal @emph{MATAPLI} of the Société de +Mathématiques Appliquées et Industrielles (SMAI).") + (license license:lppl1.3c))) + +(define-public texlive-math-into-latex-4 + (package + (name "texlive-math-into-latex-4") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/math-into-latex-4/") + (base32 + "0k11j92h9hpxnyciczknhl83b05avc0rqdnwn82ssqi1k3qixibd"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/math-into-latex-4") + (synopsis "Samples from @emph{(More) Math into LaTeX}, 4th Edition") + (description + "This package contains samples for the book @emph{(More) Math into LaTeX}, +4th edition.") + (license license:public-domain))) + (define-public texlive-mathcommand (package (name "texlive-mathcommand") @@ -4673,6 +9398,25 @@ only unify typesetting of math formulae but also allow to easily adapt notation if a user prefers to. The semantic layer is split into topics.") (license license:expat))) +(define-public texlive-maths-symbols + (package + (name "texlive-maths-symbols") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/maths-symbols/") + (base32 + "0z83qf1rz84cr0b1zvwlacf24pc5r8dn1cxiiyl0xrqncl3279ka"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/maths-symbols") + (synopsis "Summary of mathematical symbols available in LaTeX") + (description + "This package provides a predecessor of the comprehensive symbols list, +covering mathematical symbols available in standard @code{LaTeX} (including +the AMS symbols, if available at compile time).") + (license license:lppl1.2+))) + (define-public texlive-matlab-prettifier (package (name "texlive-matlab-prettifier") @@ -4777,6 +9521,47 @@ to languages and computational complexity usually needed for Membrane Computing research.") (license license:lppl1.3+))) +(define-public texlive-memdesign + (package + (name "texlive-memdesign") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/fonts/memdesign/") + (base32 + "0aij1b7l1kb2x44qn33m39k0kbhdrclmr25nmvzfn6yw42lh9fz7"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/memdesign") + (synopsis "Notes on book design") + (description + "@emph{A Few Notes on Book Design} provides an introduction to the +business of book design. It is an extended version of what used to be the +first part of the @code{memoir} users manual.") + (license license:lppl1.3+))) + +(define-public texlive-memoirchapterstyles + (package + (name "texlive-memoirchapterstyles") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/memoirchapterstyles/") + (base32 + "0jxd7sbh5vc3j5d5jd3zmyg58kwhy550l5z8q14b4msm00fp6z0a"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/memoirchapterstyles") + (synopsis "Chapter styles in @code{memoir} class") + (description + "This package provides a showcase of chapter styles available to users of +@code{memoir}: the six provided in the class itself, plus many from +elsewhere (by the present author and others). The package's resources apply +only to @code{memoir}, but the package draws from a number of sources relating +to standard classes, including the @code{fncychap} package, and Vincent +Zoonekynd's tutorial on headings.") + (license license:lppl))) + (define-public texlive-memorygraphs (package (name "texlive-memorygraphs") @@ -4797,6 +9582,26 @@ styles that ease the declaration of memory graphs. It is intended for graphs that represent the memory of a computer program during its execution.") (license license:lppl1.3+))) +(define-public texlive-mendex-doc + (package + (name "texlive-mendex-doc") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/support/mendex-doc/" + "makeindex/mendex-doc/" + "source/latex/mendex-doc/") + (base32 + "096b1v9zzl3qm189paaxz16z4a1xgcj7l2bhdgvl2wqshsz9lx4p"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/mendex-doc") + (synopsis "Documentation for Mendex index processor") + (description + "This package provides documentation for Mendex (Japanese index +processor).") + (license license:bsd-3))) + (define-public texlive-messagepassing (package (name "texlive-messagepassing") @@ -4821,6 +9626,97 @@ decorate those diagrams, for instance to annotate the diagram, to add crashes to the processes, checkpoints, ...") (license license:lppl1.3+))) +(define-public texlive-metafont-beginners + (package + (name "texlive-metafont-beginners") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/fonts/metafont-beginners/") + (base32 + "12hhvlnvh8dj1396242m6yi0341cina7sxrv7pwzqxzzahwdvmgm"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/metafont-beginners") + (synopsis "Introductory tutorial for Metafont") + (description + "This package provides an old introduction to the use of Metafont, that +has stood the test of time. It focuses on using the program, rather than +designing fonts, but does offer advice about understanding errors in other +people's fonts.") + (license license:public-domain))) + +(define-public texlive-metapost-examples + (package + (name "texlive-metapost-examples") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/metapost/metapost-examples/") + (base32 + "1rslyjnw27b5br17cbf6mjjkcgyr49yav4kw12spm3vdwyzb7gxr"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/metapost-examples") + (synopsis "Example drawings using MetaPost") + (description + "This package provides a few (hundred) example pictures drawn with MetaPost, +ranging from very simple (lines and circles) to rather intricate (uncommon +geometric transformations, fractals, bitmap, etc).") + (license license:gpl1+))) + +(define-public texlive-metrix + (package + (name "texlive-metrix") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/metrix/" "source/latex/metrix/" + "tex/latex/metrix/") + (base32 + "185w7pgil8zix0czvd69l5pv6pcjc0n4nfbllm5v5mzr31sc0k5j"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/metrix") + (synopsis "Typeset metric marks for Latin text") + (description + "The package may be used to type the prosodics/metrics of (Latin) verse; +it provides macros to typeset the symbols standing alone, and in combination +with symbols, giving automatic alignment.") + (license license:lppl1.3c))) + +(define-public texlive-mex + (package + (name "texlive-mex") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/mex/base/" "source/mex/base/" + "tex/mex/base/" "tex/mex/config/") + (base32 + "0kc766cvvbcqrj60ncz4a105nrn454y5c2330y7s7jzh45dx8qsi"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (arguments (list #:create-formats #~(list "mex" "pdfmex" "utf8mex"))) + (propagated-inputs + (list texlive-enctex + texlive-hyphen-complete + texlive-knuth-lib + texlive-pdftex + texlive-pl + texlive-plain + texlive-tex + texlive-tex-ini-files + texlive-utf8mex)) + (home-page "https://ctan.org/pkg/mex") + (synopsis "Polish formats for TeX") + (description + "MeX is an adaptation of Plain TeX (MeX) and LaTeX209 (LaMeX) formats to +the Polish language and to Polish printing customs. It contains a complete +set of Metafont sources of Polish fonts, hyphenation rules for the Polish +language and sources of formats.") + (license license:knuth))) + (define-public texlive-mgltex (package (name "texlive-mgltex") @@ -4943,6 +9839,45 @@ systems of equations and small matrices, @code{displaymath} in double columns for long calculations.") (license license:lppl1.3+))) +(define-public texlive-mltex + (package + (name "texlive-mltex") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/mltex/" "tex/latex/mltex/" + "tex/mltex/config/") + (base32 + "1ip0q5kqj6bg4jkginzljknbrd74ss4iky2gvlmf8nnrq06n89my"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (arguments (list #:create-formats #~(list "mllatex" "mltex"))) + (propagated-inputs + (list texlive-atbegshi + texlive-atveryend + texlive-babel + texlive-cm + texlive-everyshi + texlive-firstaid + texlive-hyphen-complete + texlive-knuth-lib + texlive-l3backend + texlive-l3kernel + texlive-l3packages + texlive-latex + texlive-latex-fonts + texlive-latexconfig + texlive-plain + texlive-tex-ini-files + texlive-unicode-data)) + (home-page "https://ctan.org/pkg/mltex") + (synopsis "The MLTeX system") + (description + "MLTeX is a modification of TeX that allows the hyphenation of words with +accented letters using ordinary Computer Modern (CM) fonts. The system is +distributed as a TeX change file.") + (license license:knuth))) + (define-public texlive-multiobjective (package (name "texlive-multiobjective") @@ -4964,6 +9899,269 @@ related to multiobjective optimisation, multiobjective evolutionary algorithms, multicriteria decision making and similar fields.") (license license:lppl))) +(define-public texlive-musical + (package + (name "texlive-musical") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/musical/" "tex/latex/musical/") + (base32 + "0qdrd622vs5dkr5w6pvf04hvni1jqcgxfvhf0ak7gjaxjczisb9h"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/musical") + (synopsis "Typeset (musical) theatre scripts") + (description + "This package is designed to simplify the development and distribution of +scripts for theatrical musicals, especially ones under development. The +output is formatted to follow generally accepted script style while also +maintaining a high level of typographic integrity, and includes commands for +dialog, lyrics, stage directions, music and dance cues, rehearsal marks, and +more. It gracefully handles dialog that crosses page breaks, and can generate +lists of songs and lists of dances in the show.") + (license license:lppl1.3+))) + +(define-public texlive-musicography + (package + (name "texlive-musicography") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/musicography/" + "tex/latex/musicography/") + (base32 + "07z5yg0ganmmp3qx5v55ll82sf45x6mhjl59abc5xckkfrgixpxn"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/musicography") + (synopsis "Accessing symbols for music writing with pdfLaTeX") + (description + "This package makes available the most commonly used symbols in writing +about music in a way that can be used with pdfLaTeX and looks consistent and +attractive. It includes accidentals, meters, and notes of different rhythmic +values. The package builds on the approach used in the @code{harmony} +package, where the symbols are taken from the MusiXTeX fonts. But it provides +a larger range of symbols and a more flexible, user-friendly interface.") + (license license:lppl1.3+))) + +(define-public texlive-musixguit + (package + (name "texlive-musixguit") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/musixguit/" + "tex/latex/musixguit/") + (base32 + "1ck8li0wdn22x0g4f57c9r57ans4rj7ggrm3rsp7xnqgc78as065"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/musixguit") + (synopsis "Easy notation for guitar music, in MusixTeX") + (description + "The package provides commands for typesetting notes for guitar, +especially for simplifying guitar notation with MusixTeX.") + (license license:lppl1.3+))) + +(define-public texlive-musixtex + (package + (name "texlive-musixtex") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/generic/musixtex/" + "doc/man/man1/musixflx.1" + "doc/man/man1/musixflx.man1.pdf" + "doc/man/man1/musixtex.1" + "doc/man/man1/musixtex.man1.pdf" + "dvips/musixtex/" + "scripts/musixtex/" + "source/generic/musixtex/musixcrd/" + "tex/generic/musixtex/" + "tex/latex/musixtex/") + (base32 + "1j46cf3v3jmhww47xvm4grnb495aggf1vnmb2sq3zbk9pfmrvd4x"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (arguments + (list #:build-targets #~(list "strip.tex") + #:link-scripts #~(list "musixflx.lua" "musixtex.lua"))) + (home-page "https://ctan.org/pkg/musixtex") + (synopsis "Sophisticated music typesetting") + (description + "MusiXTeX provides a set of macros, based on the earlier MusicTeX, +for typesetting music with TeX. To produce optimal spacing, MusiXTeX +is a three-pass system: @command{etex}, @command{musixflx}, and +@command{etex} again. (Musixflx is a Lua script that is provided in +the bundle.) The three-pass process, optionally followed by processing +for printed output, is automated by the @command{musixtex} wrapper +script. + +The package uses its own specialised fonts, which must be available on the +system for @command{musixtex} to run. The MusiXTeX macros are universally +acknowledged to be challenging to use directly: the @command{pmx} preprocessor +compiles a simpler input language to MusiXTeX macros.") + (license license:gpl2+))) + +(define-public texlive-musixtex-fonts + (package + (name "texlive-musixtex-fonts") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/fonts/musixtex-fonts/" + "fonts/map/dvips/musixtex-fonts/" + "fonts/opentype/public/musixtex-fonts/" + "fonts/source/public/musixtex-fonts/" + "fonts/tfm/public/musixtex-fonts/" + "fonts/type1/public/musixtex-fonts/") + (base32 + "0ychs959d1yvxkhwayf73iwvl4qg0a6v5fk7lnw8w3hk8n7zvp86"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (native-inputs (list texlive-metafont)) + (home-page "https://ctan.org/pkg/musixtex-fonts") + (synopsis "Fonts used by MusixTeX") + (description + "These are fonts for use with MusixTeX; they are provided both as +original Metafont source, and as converted Adobe Type 1. The bundle renders +the older (Type 1 fonts only) bundle @code{musixtex-t1fonts} obsolete.") + (license license:gpl3+))) + +(define-public texlive-musixtnt + (package + (name "texlive-musixtnt") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/generic/musixtnt/" + "doc/man/man1/msxlint.1" + "doc/man/man1/msxlint.man1.pdf" + "tex/generic/musixtnt/") + (base32 + "0z1rfscla1hiibd0gs3lgf8x5yx19pmwdsbzvx2vvz0ikwgjglm9"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (arguments + (list + #:tests? #true + #:modules '((guix build texlive-build-system) + ((guix build gnu-build-system) #:prefix gnu:) + (guix build utils) + (srfi srfi-1)) + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'unpack-musixtnt-source + (lambda _ + (mkdir-p "build") + (with-directory-excursion "build" + (invoke "tar" "xvf" + ;; Tarball includes a release date that we ignore. + (first (find-files ".." "^musixtnt-.*\\.tar.gz")) + "--strip-components=1")))) + (add-after 'unpack-prerex-source 'build-msxlint + (lambda args + (with-directory-excursion "build" + (for-each (lambda (phase) + (apply (assoc-ref gnu:%standard-phases phase) args)) + '(configure + build + check + install + compress-documentation)))))))) + (propagated-inputs (list texlive-musixtex)) + (home-page "https://ctan.org/pkg/musixtnt") + (synopsis + "MusiXTeX extension library enabling transformations of the effect of +notes commands") + (description + "This archive contains a MusiXTeX extension library @file{musixtnt.tex} +and a program, @command{msxlint}. + +@file{musixtnt.tex} provides a macro @code{\\TransformNotes} that enables +transformations of the effect of notes commands such as @code{\\notes}. In +general, the effect of @code{\\TransformNotes@{input@}@{output@}} is that +notes commands in the source will expect their arguments to match the input +pattern, but the notes will be typeset according to the output pattern. An +example is extracting single-instrument parts from a multi-instrument score. + +@command{msxlint} detects incorrectly formatted notes lines in a MusiXTeX +source file. This should be used before using @code{\\TransformNotes}.") + (license license:gpl2))) + +(define-public texlive-mwcls + (package + (name "texlive-mwcls") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/mwcls/" "source/latex/mwcls/" + "tex/latex/mwcls/") + (base32 + "1pj1m08gh5zsahvzan6wq9v0lnir9zb4qvgkadsl6jm9ia8990yn"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/mwcls") + (synopsis "Polish-oriented document classes") + (description + "@code{mwcls} is a set of document classes for LaTeX designed with Polish +typographical tradition in mind. The classes include: @code{mwart} (which is +a replacement for @code{article}), @code{mwrep} (replacing @code{report}), and +@code{mwbk} (replacing @code{book}). + +Most features present in standard classes work with @code{mwcls} classes. +Some extensions/exceptions include: sectioning commands allow for second +optional argument (it is possible to state different texts for running head +and for TOC), new environments @code{itemize*} and @code{enumerate*} for lists +with long items, page styles have variants for normal, opening, closing, and +blank pages.") + (license license:lppl1.2+))) + +(define-public texlive-mxedruli + (package + (name "texlive-mxedruli") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/fonts/mxedruli/" + "fonts/afm/public/mxedruli/" + "fonts/map/dvips/mxedruli/" + "fonts/source/public/mxedruli/" + "fonts/tfm/public/mxedruli/" + "fonts/type1/public/mxedruli/" + "tex/latex/mxedruli/") + (base32 + "070lfw12mfimcwhkgb1hh092p8npmhpmba28rzzwfl1kmsmk99q5"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (native-inputs (list texlive-metafont)) + (home-page "https://ctan.org/pkg/mxedruli") + (synopsis "Pair of fonts for different Georgian alphabets") + (description + "This package provides two Georgian fonts, in both Metafont and Type +1 formats, which cover the Mxedruli and the Xucuri alphabets.") + (license license:lppl))) + +(define-public texlive-na-box + (package + (name "texlive-na-box") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/xelatex/na-box/" "tex/xelatex/na-box/") + (base32 + "1j02k0d4m23yackb1vn8pajxwkimkkrx9h512xs3hkxdi6qdwb73"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/na-box") + (synopsis "Arabic-aware version of @code{pas-cours} package") + (description + "This is a modified version of the @code{pas-cours} package made +compatible with XeLaTeX and Polyglossia to write Arabic documents with fancy +boxed @code{theorem}-alike environments.") + (license license:lppl))) + (define-public texlive-naive-ebnf (package (name "texlive-naive-ebnf") @@ -5006,6 +10204,55 @@ Form (EBNF) notation.") (description "This style file provides macros for named tensor notation.") (license license:expat))) +(define-public texlive-nanicolle + (package + (name "texlive-nanicolle") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/xelatex/nanicolle/" + "tex/xelatex/nanicolle/") + (base32 + "0lzcsmy4iw0ch3w1g3h5b23hkzspi5q2gs406l4cihfmf30yiadk"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/nanicolle") + (synopsis "Typesetting herbarium specimen labels") + (description + "This package provides a LaTeX class @file{nanicolle.cls} for typesetting +collection labels and identification labels in Chinese style or in western +style for plant herbarium specimens. So far, documents using this class can +only be compiled with XeLaTeX.") + (license license:lppl1.3c))) + +(define-public texlive-nanumtype1 + (package + (name "texlive-nanumtype1") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/fonts/nanumtype1/" + "fonts/afm/public/nanumtype1/" + "fonts/map/dvips/nanumtype1/" + "fonts/tfm/public/nanumtype1/" + "fonts/type1/public/nanumtype1/" + "fonts/vf/public/nanumtype1/" + "tex/latex/nanumtype1/") + (base32 + "0n7dbhxa186x7f2ql8kjr2bn425vlhswl2m5n2n3iklfam9bmf6k"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/nanumtype1") + (synopsis "Type1 subfonts of Nanum Korean fonts") + (description + "Nanum is a unicode font designed especially for Korean-language script. +The font was designed by Sandoll Communication and Fontrix; it includes the +sans serif (gothic), serif (myeongjo), pen script and brush script typefaces. +The package provides Type1 subfonts converted from Nanum Myeongjo (Regular and +@code{ExtraBold)} and Nanum Gothic (Regular and Bold) OTFs. C70, LUC, T1, and +TS1 font definition files are also provided.") + (license license:silofl1.1))) + (define-public texlive-natded (package (name "texlive-natded") @@ -5068,6 +10315,24 @@ physics at the University of Wurzburg as a collection of macros and predefined environments for quickly creating nice mathematical documents.") (license license:lppl1.3+))) +(define-public texlive-nevelok + (package + (name "texlive-nevelok") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/nevelok/" "source/latex/nevelok/" + "tex/latex/nevelok/") + (base32 + "02g60npy2hp181vnzpna7h2544y7bnbi9y6srpm7kjmd6immm7qn"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/nevelok") + (synopsis "LaTeX package for automatic definite articles for Hungarian") + (description + "This LaTeX package provides automatic definite articles for Hungarian.") + (license license:lppl1.3+))) + (define-public texlive-nicematrix (package (name "texlive-nicematrix") @@ -5093,6 +10358,28 @@ the columns; tools to color rows and columns with a good PDF result; blocks of cells; etc.") (license license:lppl1.3+))) +(define-public texlive-nnext + (package + (name "texlive-nnext") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/nnext/" "source/latex/nnext/" + "tex/latex/nnext/") + (base32 + "0hh2kn4ghnxv9l0xfkh0c0bkflmq5qwnc24y0jm1djjwrnyg1y2r"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/nnext") + (synopsis "Extension for the @code{gb4e} package") + (description + "This is an add-on for the @code{gb4e} package used in linguistics. It +implements the @code{\\Next}, @code{\\NNext}, @code{\\Last}, and +@code{\\LLast} commands from the @code{linguex} package or the @code{\\nextx}, +@code{\\anextx}, @code{\\lastx}, @code{\\blastx}, and @code{\\bblastx} +commands from the @code{expex} package.") + (license license:lppl1.3+))) + (define-public texlive-nuc (package (name "texlive-nuc") @@ -5114,6 +10401,26 @@ digits than A require special spacing to appear properly; this spacing is supported in the package.") (license license:lppl))) +(define-public texlive-njurepo + (package + (name "texlive-njurepo") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/njurepo/" "source/latex/njurepo/" + "tex/latex/njurepo/") + (base32 + "03dli7kk1h8kycbj83h2gy434zl6wvj4xz0lli91b1h8k59i8fv4"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/njurepo") + (synopsis "Reports for Nanjing University") + (description + "This LaTeX document class provides a thesis template for Nanjing +University in order to make it easy to write experiment reports and homework +for the bachelor's curriculum.") + (license license:lppl1.3c))) + (define-public texlive-nucleardata (package (name "texlive-nucleardata") @@ -5135,6 +10442,28 @@ mass and energy data in LaTeX documents. It uses the PythonTeX package and requires @command{pythontex} to be called with the TeX file as the argument.") (license license:lppl1.3+))) +(define-public texlive-numberpt + (package + (name "texlive-numberpt") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/numberpt/" + "source/latex/numberpt/" + "tex/latex/numberpt/") + (base32 + "14515d1l9d9pxs333f8m99mclaf8mklrs14h2w3bdk5m37m7pv8i"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/numberpt") + (synopsis "Counters spelled out in Portuguese") + (description + "This package defines commands to display counters spelled out in Portuguese. +Options are offered to select variations in the spelling of @samp{14}, or +Brazilian vs. European Portuguese forms in the spelling of @samp{16}, +@samp{17}, and @samp{19}.") + (license license:lppl1.3c))) + (define-public texlive-numerica (package (name "texlive-numerica") @@ -5214,6 +10543,101 @@ mathematical function values.") "The package will typeset both Z and Object-Z specifications.") (license license:lppl))) +(define-public texlive-octave + (package + (name "texlive-octave") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/octave/" "tex/latex/octave/") + (base32 + "1avikh00n92lxk7p7h0kvsv2dk2z411fv85fagj7bg6azb3fch8g"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/octave") + (synopsis "Typeset musical pitches with octave designations") + (description + "This package package typesets musical pitch names with designation for +the octave in either the Helmholtz system (with octave numbers), or the +traditional system (with prime symbols). The system can also be changed +mid-document.") + (license license:lppl1.3+))) + +(define-public texlive-omega + (package + (name "texlive-omega") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/omega/base/" + "dvips/omega/" + "fonts/afm/public/omega/" + "fonts/map/dvips/omega/" + "fonts/ofm/public/omega/" + "fonts/ovf/public/omega/" + "fonts/ovp/public/omega/" + "fonts/tfm/public/omega/" + "fonts/type1/public/omega/" + "omega/ocp/char2uni/" + "omega/ocp/misc/" + "omega/ocp/omega/" + "omega/ocp/uni2char/" + "omega/otp/char2uni/" + "omega/otp/misc/" + "omega/otp/omega/" + "omega/otp/uni2char/" + "tex/generic/encodings/" + "tex/generic/omegahyph/" + "tex/plain/omega/") + (base32 + "1gma5angnq5wdxianz0ml7y9jh04lsq9ksspykan06p0cp1bnmjc"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/omega") + (synopsis "Wide-character-set extension of TeX") + (description + "This package provides a development of TeX, which deals in multi-octet +Unicode characters, to enable native treatment of a wide range of languages +without changing character-set. Work on Omega has ceased; its compatible +successor is Aleph, which is itself also in major maintenance mode only. +Ongoing projects developing Omega (and Aleph) ideas include Omega-2 and +LuaTeX.") + (license license:gpl3+))) + +(define-public texlive-omegaware + (package + (name "texlive-omegaware") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/man/man1/odvicopy.1" + "doc/man/man1/odvicopy.man1.pdf" + "doc/man/man1/odvitype.1" + "doc/man/man1/odvitype.man1.pdf" + "doc/man/man1/ofm2opl.1" + "doc/man/man1/ofm2opl.man1.pdf" + "doc/man/man1/opl2ofm.1" + "doc/man/man1/opl2ofm.man1.pdf" + "doc/man/man1/otangle.1" + "doc/man/man1/otangle.man1.pdf" + "doc/man/man1/otp2ocp.1" + "doc/man/man1/otp2ocp.man1.pdf" + "doc/man/man1/outocp.1" + "doc/man/man1/outocp.man1.pdf" + "doc/man/man1/ovf2ovp.1" + "doc/man/man1/ovf2ovp.man1.pdf" + "doc/man/man1/ovp2ovf.1" + "doc/man/man1/ovp2ovf.man1.pdf") + (base32 + "06kzz0342h6vvc32ydrzgpqsdqv5l0jbd5finr43fmzqi5jnswil"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/omega") + (synopsis "Documentation for Omega executables") + (description + "This package provides the documentation for Omega executables.") + (license license:gpl3+))) + (define-public texlive-oplotsymbl (package (name "texlive-oplotsymbl") @@ -5234,6 +10658,29 @@ easily available. Especially, these symbols are used in scientific plots, but the potential user is allowed to use them in other ways.") (license license:lppl1.3+))) +(define-public texlive-ordinalpt + (package + (name "texlive-ordinalpt") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/ordinalpt/" + "source/latex/ordinalpt/" + "tex/latex/ordinalpt/") + (base32 + "02hsl021gd23qrfm3myazg606lmp149dmpss3vyx93dyqcg8axbr"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/ordinalpt") + (synopsis "Counters as ordinal numbers in Portuguese") + (description + "The package provides a counter style (like @code{\\arabic}, +@code{\\alph} and others) which produces output strings like +@samp{primeiro} (``first'' in Portuguese), @samp{segundo}, (``second''), and +so on up to 1999th. Separate counter commands are provided for different +letter case variants, and for masculine and feminine gender inflections.") + (license license:lppl))) + (define-public texlive-ot-tableau (package (name "texlive-ot-tableau") @@ -5255,6 +10702,34 @@ working with the source code painless (well, less painful). A variety of stylistic variants are available to suit personal taste.") (license license:lppl1.3+))) +(define-public texlive-otibet + (package + (name "texlive-otibet") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/otibet/" + "fonts/ofm/public/otibet/" + "fonts/ovf/public/otibet/" + "fonts/ovp/public/otibet/" + "fonts/source/public/otibet/" + "fonts/tfm/public/otibet/" + "omega/ocp/otibet/" + "omega/otp/otibet/" + "source/latex/otibet/" + "tex/latex/otibet/") + (base32 + "0cman22brlm8qklb60mzq8f6c9kmdspv3zfg4s5p0lj9sf03bb6c"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (native-inputs (list texlive-metafont)) + (home-page "https://ctan.org/pkg/otibet") + (synopsis "Support for Tibetan using Omega") + (description "This package provides support for Tibetan using Omega.") + ;; Per "unidoc.tex": "this package is freely distributable under the GPL + ;; Version~?.? or any later one." + (license license:gpl1+))) + (define-public texlive-oubraces (package (name "texlive-oubraces") @@ -5299,6 +10774,68 @@ kerning when a subscript follows. Some predefined commands are also provided.") (license license:lppl1.3c))) +(define-public texlive-padauk + (package + (name "texlive-padauk") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/fonts/padauk/" + "fonts/truetype/public/padauk/") + (base32 + "0yn5w8bkcf9ihqy4v2zq4yc74d2d3dc1c6dcissaa6pcdj4z9r9l"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/padauk") + (synopsis + "High-quality TrueType font for languages using the Myanmar script") + (description + "Padauk is a Unicode-based font family with broad support for writing +systems that use the Myanmar script.") + (license license:silofl1.1))) + +(define-public texlive-parallel + (package + (name "texlive-parallel") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/parallel/" + "source/latex/parallel/" + "tex/latex/parallel/") + (base32 + "14gca28ph90vhsliy5g8jc6fd87igni1wkiy41jrp33qhjiz94qa"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/parallel") + (synopsis "Typeset parallel texts") + (description + "This package provides a @code{parallel} environment which allows two +potentially different texts to be typeset in two columns, while maintaining +alignment. The two columns may be on the same page, or on facing pages. This +arrangement of text is commonly used when typesetting translations, but it can +have value when comparing any two texts.") + (license license:lppl))) + +(define-public texlive-parrun + (package + (name "texlive-parrun") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/parrun/" "source/latex/parrun/" + "tex/latex/parrun/") + (base32 + "1cfqvsda505pxwyjv6k197lg464y4njr2j65sghvzk7qp3i6vq11"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/parrun") + (synopsis "Typesets (two) streams of text running parallel") + (description + "This package can be used for typesetting translated text and the +original source, parallel on the same page, one above the other.") + (license license:lppl))) + (define-public texlive-pascaltriangle (package (name "texlive-pascaltriangle") @@ -5321,6 +10858,24 @@ customized by means of different @code{\\pascal} macro options or the @code{\\pascalset} macro.") (license license:lppl1.3c))) +(define-public texlive-patgen2-tutorial + (package + (name "texlive-patgen2-tutorial") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/support/patgen2-tutorial/") + (base32 + "016bx1rp8kpvlywg0yafhbbhlzw4zxdcbdrd5525vffn6fyp9fi3"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/patgen2-tutorial") + (synopsis "Tutorial on the use of Patgen 2") + (description + "This document describes the use of Patgen 2 to create hyphenation +patterns for wide ranges of languages.") + (license license:lppl1.3c))) + (define-public texlive-perfectcut (package (name "texlive-perfectcut") @@ -5350,6 +10905,29 @@ will behave in the same way. The package also offers a robust reimplementation of @code{\\big}, @code{\\bigg}, etc.") (license license:lppl1.3+))) +(define-public texlive-persian-bib + (package + (name "texlive-persian-bib") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "bibtex/bst/persian-bib/" + "bibtex/csf/persian-bib/" + "doc/xelatex/persian-bib/") + (base32 + "18x592g8y1i8kw724an65q84jj91cam5qvwp9mgnhqpwh3gjflpw"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/persian-bib") + (synopsis "Persian translations of classic BibTeX styles") + (description + "This package provides BibTeX styles modified for Persian documents +prepared with XePersian (which the present package depends on). The Persian +@file{.bst} files can simultaneously handle both Latin and Persian references. +A file @file{p1256fa.csf} is provided for correct sorting of Persian +references and three fields LANGUAGE, TRANSLATOR and AUTHORFA are defined.") + (license license:lppl1.3+))) + (define-public texlive-pfdicons (package (name "texlive-pfdicons") @@ -5399,6 +10977,24 @@ from true constants, e.g. the fine structure constant, have been calculated using the accepted values of the fundamental constants.") (license license:lppl1.3c))) +(define-public texlive-phonrule + (package + (name "texlive-phonrule") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/phonrule/" "tex/latex/phonrule/") + (base32 + "09nhlhqgq2af2p6rn5r0q8ccn9a2qq35znn5j4z2kjq744wbzjih"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/phonrule") + (synopsis "Typeset linear phonological rules") + (description + "The package provides macros for typesetting phonological rules like +those in @emph{Sound Pattern of English} (Chomsky and Halle 1968).") + (license license:lppl1.0+))) + (define-public texlive-physics2 (package (name "texlive-physics2") @@ -5449,6 +11045,25 @@ mode. All major SI units are included, as well as some @acronym{CGS, Centimetre–Gram–Second} units used in astronomy.") (license license:lppl1.3c))) +(define-public texlive-piano + (package + (name "texlive-piano") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/piano/" "tex/latex/piano/") + (base32 + "0nbax18dgg2a9l6bihqhwx0va7829324lk29ibq29wjissmhjqww"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/piano") + (synopsis "Typeset a basic 2-octave piano diagram") + (description + "This package adds the @code{\\keyboard[1][2]..[7]} command to your +project. When used, it draws a small 2 octaves piano keyboard on your +document, with up to 7 keys highlighted.") + (license license:lppl))) + (define-public texlive-pinoutikz (package (name "texlive-pinoutikz") @@ -5469,6 +11084,44 @@ It is designed as a tool that is easy to use, with a lean syntax, native to LaTeX, and directly supporting PDF output format.") (license license:lppl1.3c))) +(define-public texlive-plari + (package + (name "texlive-plari") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/plari/" "source/latex/plari/" + "tex/latex/plari/") + (base32 + "07g4rn4nn5wvwqd39s0xnn35ijkamhzxi12icnha8vb0b564jwq8"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/plari") + (synopsis "Typesetting stageplay scripts") + (description + "Plari is a @code{report}-alike class, without section headings, and with +paragraphs vertically separated rather than indented.") + (license license:gpl3+))) + +(define-public texlive-play + (package + (name "texlive-play") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/play/" "source/latex/play/" + "tex/latex/play/") + (base32 + "1v1d8hfng6s8x8spzrzhhkgg36zay9jvfna9md1mh4ijlipnzyma"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/play") + (synopsis "Typeset drama using LaTeX") + (description + "This package provides a class and style file that supports the +typesetting of plays, including options for line numbering.") + (license license:lppl))) + (define-public texlive-pm-isomath (package (name "texlive-pm-isomath") @@ -5492,6 +11145,169 @@ only a maximum of such alphabets. The necessary user macros are defined for typsetting common math symbols that require special ISO treatment.") (license license:lppl1.3c))) +(define-public texlive-pmhanguljamo + (package + (name "texlive-pmhanguljamo") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/pmhanguljamo/" + "tex/latex/pmhanguljamo/") + (base32 + "1k8cvzmrrpb6hkkjczfq4mad71450pappf68jdlf1vmg3qb0f9z3"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/pmhanguljamo") + (synopsis "Poor man's Hangul Jamo input method") + (description + "This package provides a Hangul transliteration input method that allows +to typeset Korean letters (Hangul) using the proper fonts. The use of XeLaTeX +is recommended.") + (license license:lppl1.3+))) + +(define-public texlive-pmx + (package + (name "texlive-pmx") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/generic/pmx/" + "doc/man/man1/pmxab.1" + "doc/man/man1/pmxab.man1.pdf" + "doc/man/man1/scor2prt.1" + "doc/man/man1/scor2prt.man1.pdf" + "tex/generic/pmx/") + (base32 + "1p9js9izv50vg7qqqmyg5jz4am4phhscqdfnn4nszlyfv3zkg7p3"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/pmx") + (synopsis "Preprocessor for MusiXTeX") + (description + "PMX provides a preprocessor for MusiXTeX. @command{pmxab} builds a TeX +input file based on a @file{.pmx} input file in a much simpler language, +making most of the layout decisions by itself. It has most of MusiXTeX's +functionality, but it also permits in-line TeX to give access to virtually all +of MusiXTeX. For proof-listening, @command{pmxab} will make a MIDI file of +your score. @command{scor2prt} is an auxiliary program that makes parts from +a score.") + (license license:gpl2))) + +(define-public texlive-pmxchords + (package + (name "texlive-pmxchords") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/man/man1/pmxchords.1" + "doc/man/man1/pmxchords.man1.pdf" + "doc/pmxchords/" "scripts/pmxchords/" + "tex/generic/pmxchords/") + (base32 + "01dlic0b0fdm41982mqj3xpin0wksmsyz4h53vdckkz2ayyagagk"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (arguments (list #:link-scripts #~(list "pmxchords.lua"))) + (home-page "https://ctan.org/pkg/pmxchords") + (synopsis "Produce chord information to go with @command{pmx} output") + (description + "The bundle supplements @command{pmx}, providing the means of typesetting +chords above the notes of a score. The bundle contains: macros for typing the +chords; a Lua script to transpose chord macros to the required key signature; +and support scripts for common requirements.") + (license license:gpl2))) + +(define-public texlive-poemscol + (package + (name "texlive-poemscol") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/poemscol/" + "source/latex/poemscol/" + "tex/latex/poemscol/") + (base32 + "0hz6zsqcvlzcccxywwzwlpp9gsv41g4hc88481vmj313bys77spd"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/poemscol") + (synopsis "Typesetting critical editions of poetry") + (description + "The package offers LaTeX macros for typesetting critical editions of +poetry. Its features include automatic linenumbering, generation of separate +endnotes sections for emendations, textual collations, and explanatory notes, +special marking for cases in which page breaks occur during stanza breaks, +running headers of the form @samp{Notes to pp.@: xx-yy} for the notes +sections, index of titles and first lines, and automatic generation of a table +of contents.") + (license license:lppl1.3c))) + +(define-public texlive-poetry + (package + (name "texlive-poetry") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/poetry/" "source/latex/poetry/" + "tex/latex/poetry/") + (base32 + "1z262am0qh6h1qqf36hxj2lc7d5pr4r65yx8ysrydh0sijccgild"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/poetry") + (synopsis "Facilities for typesetting poetry and poetical structure") + (description + "This package provides some macros and general doodads for typesetting poetry. +There is, of course, already the excellent @code{verse} package, and the +@code{poetrytex} package provides some extra functionality on top of it. But +@code{poetry} provides much of the same functionality in a bit of a different +way, and with a few additional abilities, such as facilities for a list of +poems, an index of first lines, and some structural commands.") + (license license:lppl1.3c))) + +(define-public texlive-poetrytex + (package + (name "texlive-poetrytex") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/poetrytex/" + "source/latex/poetrytex/" + "tex/latex/poetrytex/") + (base32 + "1y78zd1hd3z1901x6mc6q0mw4rgj3qcqhnjn34zix11r0gn4b2jr"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (arguments + (list #:tex-format "latex" + #:phases + #~(modify-phases %standard-phases + ;; Replace "\code{...}" with "\texttt{...}" (which is the alias + ;; chosen in the documentation) in order to prevent a "Command + ;; \code already defined" error. + (add-after 'unpack 'fix-documentation-source + (lambda _ + (substitute* "source/latex/poetrytex/poetrytex.dtx" + (("\\\\newcommand\\*\\\\code\\[1\\].*") "") + (("\\\\code\\{") "\\texttt{"))))))) + (native-inputs + (list (texlive-updmap.cfg + (list texlive-etoolbox + texlive-fancyvrb + texlive-framed + texlive-hologo + texlive-hypdoc + texlive-parskip + texlive-tipa + texlive-tocloft)))) + (home-page "https://ctan.org/pkg/poetrytex") + (synopsis "Typeset anthologies of poetry") + (description + "The package is designed to aid in the management and formatting of +anthologies of poetry and other writings; it does not concern itself with +actually typesetting the verse itself.") + (license license:lppl1.3+))) + (define-public texlive-polexpr (package (name "texlive-polexpr") @@ -5573,6 +11389,63 @@ includes some short commands for set (blackboard) or filtrations (calligraphic).") (license license:lppl))) +(define-public texlive-profcollege + (package + (name "texlive-profcollege") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/profcollege/" + "metapost/profcollege/" + "tex/latex/profcollege/") + (base32 + "06bj5crnqslqlg2dkh43b30jvdvknblg8l4fri15gpdx1z5k1d6h"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/profcollege") + (synopsis "LaTeX package for French maths teachers in college") + (description + "This package provides some commands to help French mathematics teachers +for 11-16 years olds.") + (license license:lppl1.3c))) + +(define-public texlive-proflabo + (package + (name "texlive-proflabo") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/proflabo/" "tex/latex/proflabo/") + (base32 + "0208sjybqgvd7xrrnc49d31cpvd0bfjyjamfsyzi6yb0fhsxd7x7"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/proflabo") + (synopsis "Draw laboratory equipment") + (description + "This package was developed to help French chemistry teachers to create +drawings (using TikZ) for laboratory stuff.") + (license license:lppl))) + +(define-public texlive-proflycee + (package + (name "texlive-proflycee") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/proflycee/" + "tex/latex/proflycee/") + (base32 + "0kvwdppbw4gmdfa90blgj1gxv03clfx21nahdgvzk9i2dyccfllv"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/proflycee") + (synopsis "LaTeX package for French maths teachers in high school") + (description + "This package provides some commands to help French mathematics teachers +for 15-18 years olds.") + (license license:lppl1.3c))) + (define-public texlive-proof-at-the-end (package (name "texlive-proof-at-the-end") @@ -5660,6 +11533,28 @@ elements such as keywords, identifiers, and comments.") algorithms in a natural manner.") (license license:lppl))) +(define-public texlive-psizzl + (package + (name "texlive-psizzl") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/otherformats/psizzl/base/" + "source/psizzl/base/" "tex/psizzl/base/" + "tex/psizzl/config/") + (base32 + "07h8raq2k80ycvsaaaxaaczwwnhkxdbnvnr52mihr8dyih5s7jns"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/psizzl") + (synopsis "TeX format for physics papers") + (description + "PSIZZL is a TeX format for physics papers written at SLAC and used at +several other places. It dates from rather early in the development of TeX82; +as a result, some of the descriptions of limitations look rather quaint to +modern eyes.") + (license license:lppl))) + (define-public texlive-pythonhighlight (package (name "texlive-pythonhighlight") @@ -5680,6 +11575,25 @@ algorithms in a natural manner.") @code{listings} package.") (license license:bsd-3))) +(define-public texlive-qobitree + (package + (name "texlive-qobitree") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/qobitree/" "tex/latex/qobitree/") + (base32 + "1pzy5i8fi37zhkpsrh179qd4gp8ahwk8s2gw6261kjjiqf6p6znc"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/qobitree") + (synopsis "LaTeX macros for typesetting trees") + (description + "This package provides commands @code{\\branch} and @code{\\leaf} for +specifying the elements of the tree; you build up your tree with those +commands, and then issue the @code{\\tree} command to typeset the whole.") + (license license:lppl))) + (define-public texlive-qsharp (package (name "texlive-qsharp") @@ -5699,6 +11613,28 @@ algorithms in a natural manner.") a domain-specific language for quantum programming.") (license license:lppl1.3c))) +(define-public texlive-qtree + (package + (name "texlive-qtree") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/qtree/" "tex/latex/qtree/") + (base32 + "1gmwkm6400pcrjnq111bih7za0p45nx6gy4lksvgjhdcpnykbbla"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/qtree") + (synopsis "Draw tree structures") + (description + "The package offers support for drawing tree diagrams, and is especially +suitable for linguistics use. It allows trees to be specified in a simple +bracket notation, automatically calculates branch sizes, and supports both +DVI/PostScript and PDF output by use of @code{pict2e} facilities. The package +is a development of the existing @code{qobitree} package, offering a new front +end.") + (license license:lppl))) + (define-public texlive-rank-2-roots (package (name "texlive-rank-2-roots") @@ -5760,6 +11696,50 @@ functionals, c.e.@: sets, stagewise computations, forcing and syntactic classes.") (license license:public-domain))) +(define-public texlive-recorder-fingering + (package + (name "texlive-recorder-fingering") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/recorder-fingering/" + "tex/latex/recorder-fingering/") + (base32 + "075n6ifhpn15fdnrhp326lzp0dnzs0j287g7kr4xx59cc1m6lqkg"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/recorder-fingering") + (synopsis "Package to display recorder fingering diagrams") + (description + "This package provides support for generating and displaying fingering +diagrams for baroque fingering recorders. Standard fingerings are provided +for recorders in both C and F, along with methods to create and display +alternate fingerings for trills, etc.") + (license license:lppl1.3+))) + +(define-public texlive-reledmac + (package + (name "texlive-reledmac") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/reledmac/" + "source/latex/reledmac/" + "tex/latex/reledmac/") + (base32 + "16nfibnjdasflskmxd23hxkapz788abfilwxm3vdj6djkznxq4sw"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/reledmac") + (synopsis "Typeset scholarly editions") + (description + "This package provides a package for typesetting scholarly critical +editions, replacing the established @code{ledmac} and @code{eledmac} packages. +It supports indexing by page and by line numbers, and simple @code{tabular}- +and @code{array}-style environments. The package is distributed with the +related @code{reledpar} package.") + (license license:lppl1.3+))) + (define-public texlive-resolsysteme (package (name "texlive-resolsysteme") @@ -5881,6 +11861,48 @@ package solves the problem by extending ideas described in M. I. Grinchuk mathematical packages.") (license license:lppl1.3+))) +(define-public texlive-rrgtrees + (package + (name "texlive-rrgtrees") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/rrgtrees/" + "source/latex/rrgtrees/" + "tex/latex/rrgtrees/") + (base32 + "0h33q32pb1s8zv598aacdzfhpk2psrzxgxnav6am16cxfri60hpi"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/rrgtrees") + (synopsis + "Linguistic tree diagrams for Role and Reference Grammar (RRG) with LaTeX") + (description + "This package provides a set of LaTeX macros that makes it easy to +produce linguistic tree diagrams suitable for Role and Reference +Grammar (RRG). This package allows the construction of trees with crossing +lines, as is required by this theory for many languages.") + (license license:lppl))) + +(define-public texlive-rtklage + (package + (name "texlive-rtklage") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/rtklage/" "tex/latex/rtklage/") + (base32 + "0p9z4dgh572n7j6b8vf8aqag8ybqw3xzsh5kab1czks2774gm7cq"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/ratex") + (synopsis "Package for German lawyers") + (description + "RATeX is a newly developed bundle of packages and classes provided for +German lawyers. Now in the early beginning it only contains @code{rtklage}, +a class to make lawsuits.") + (license license:lppl))) + (define-public texlive-sankey (package (name "texlive-sankey") @@ -5984,6 +12006,123 @@ LaTeX documents. This may be particularly useful for Math Teachers and IT specialists.") (license license:lppl1.3c))) +(define-public texlive-screenplay + (package + (name "texlive-screenplay") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/screenplay/" + "source/latex/screenplay/" + "tex/latex/screenplay/") + (base32 + "16vw7ikxblzlmamz0d95d0zj6vzhdg75w0q645sfh75pj7v6b1v0"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/screenplay") + (synopsis "Class file to typeset screenplays") + (description + "The class implements the format recommended by the Academy of Motion +Picture Arts and Sciences.") + (license license:gpl3+))) + +(define-public texlive-screenplay-pkg + (package + (name "texlive-screenplay-pkg") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/screenplay-pkg/" + "tex/latex/screenplay-pkg/") + (base32 + "07xl6631yjjx56whl1vl4mzdcn8k63i624lspxiw18ppfrxdh3an"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/screenplay-pkg") + (synopsis "Package version of the screenplay document class") + (description + "This package implements the tools of the @code{screenplay} document +class in the form of a package so that screenplay fragments can be included +within another document class.") + (license license:lppl1.3+))) + +(define-public texlive-serbian-apostrophe + (package + (name "texlive-serbian-apostrophe") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/serbian-apostrophe/" + "tex/latex/serbian-apostrophe/") + (base32 + "0hkgm4q74kn172nr5whlwjq88sfqm66cvnsv7nidcqssybnn5891"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/serbian-apostrophe") + (synopsis "Commands for Serbian words with apostrophes") + (description + "The package provides a collection of commands (whose names are Serbian +words) whose expansion is the Serbian word with appropriate apostrophes.") + (license license:lppl1.3+))) + +(define-public texlive-serbian-date-lat + (package + (name "texlive-serbian-date-lat") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/serbian-date-lat/" + "tex/latex/serbian-date-lat/") + (base32 + "1m23r2i2dxw4xnxih94iyiwk4a5ggvn7wkqhp8ai5va5grp36kfk"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/serbian-date-lat") + (synopsis "Updated date typesetting for Serbian") + (description + "Babel defines dates for Serbian texts, in Latin script. The style it +uses does not match current practices. The present package defines +a @code{\\date} command that solves the problem.") + (license license:gpl2))) + +(define-public texlive-serbian-def-cyr + (package + (name "texlive-serbian-def-cyr") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/serbian-def-cyr/" + "tex/latex/serbian-def-cyr/") + (base32 + "116sgzxvny1hbkfc5s8bxirk9zshyv8qdd2fdr8iwqjfd7lhx03i"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/serbian-def-cyr") + (synopsis "Serbian Cyrillic localization") + (description + "This package provides abstract, chapter, title, date etc, for Serbian +language in Cyrillic scripts in T2A encoding and CP1251 code pages.") + (license license:lppl1.3+))) + +(define-public texlive-serbian-lig + (package + (name "texlive-serbian-lig") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/serbian-lig/" + "tex/latex/serbian-lig/") + (base32 + "1vq33mr8br7z7y5ayb5wmhy0ralgx6alb9kmhaahdx8a105dl81b"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/serbian-lig") + (synopsis "Control ligatures in Serbian") + (description + "The package suppresses @samp{fi} and @samp{fl} (and other ligatures) in +Serbian text written using Roman script.") + (license license:lppl1.3+))) + (define-public texlive-sesamanuel (package (name "texlive-sesamanuel") @@ -6046,6 +12185,25 @@ electrical and electronics engineers and graph theorists.") the shuffle product which is used in some part of mathematics and physics.") (license license:public-domain))) +(define-public texlive-sides + (package + (name "texlive-sides") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/sides/" "tex/latex/sides/") + (base32 + "0lffwhb6px6f09f8jk6r9kvfh49dl5n0461b261mk2sr6fgyxrfz"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/sides") + (synopsis "LaTeX class for typesetting stage plays") + (description + "This is a LaTeX class for typesetting stage plays, based on the +@code{plari} class. It has been updated and several formatting changes have +been made to it.") + (license license:gpl3+))) + (define-public texlive-simplebnf (package (name "texlive-simplebnf") @@ -6192,6 +12350,88 @@ by @code{siunitx}; @code{siunits} has maintenance-only support, now.") re-definitions of existing commands.") (license license:lppl1.3+))) +(define-public texlive-songbook + (package + (name "texlive-songbook") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/songbook/" "makeindex/songbook/" + "source/latex/songbook/" + "tex/latex/songbook/") + (base32 + "0ab4l130dyzaslqmy7vm71rszwszw11kqzkn0b5fb680kxvsyicf"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/songbook") + (synopsis "Package for typesetting song lyrics and chord books") + (description + "The package provides an all purpose songbook style. Three types of +output may be created from a single input file: ``words and chords'' books for +the musicians to play from, ``words only'' songbooks for the congregation to +sing from, and overhead transparency masters for congregational use. + +The package will also print a table of contents, an index sorted by title and +first line, and an index sorted by key, or by artist/composer. The package +attempts to handle songs in multiple keys, as well as songs in multiple +languages.") + (license license:lgpl2.1))) + +(define-public texlive-songproj + (package + (name "texlive-songproj") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/songproj/" + "source/latex/songproj/" + "tex/latex/songproj/") + (base32 + "044b9zbm2l1w8flnb5vx99590m65d1nxgys2dj3w79kkbmnhc7jy"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/songproj") + (synopsis "Generate Beamer slideshows with song lyrics") + (description + "This package, together with the Beamer class, is used to generate +slideshows with song lyrics. This is typically used in religious services in +churches equipped with a projector, for which this package has been written, +but it can be useful for any type of singing assembly. It provides +environments to describe a song in a natural way, and formatting it into +slides with overlays. The package comes with an additional Python script that +can be used to convert plain-text song lyrics to the expected LaTeX markup.") + (license license:bsd-3))) + +(define-public texlive-songs + (package + (name "texlive-songs") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/songs/" "source/latex/songs/" + "tex/latex/songs/") + (base32 + "0mgzkh6cvq3smwjlkvd1gnhb7m151fgiv7f4v3drjqlsjyg2qds6"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/songs") + (synopsis "Produce song books for church or fellowship") + (description + "The package provides a means of producing beautiful song books for +church or fellowship. It offers: +@itemize +@item a very easy chord-entry syntax; +@item multiple modes (words-only; words+chords; slides; handouts); +@item measure bars; +@item guitar tablatures; +@item automatic transposition; +@item scripture quotations; +@item multiple indexes (sorted by title, author, important lyrics, or +scripture references); +@item and projector-style output generation, for interactive use. +@end itemize") + (license license:gpl2))) + (define-public texlive-spalign (package (name "texlive-spalign") @@ -6239,6 +12479,25 @@ can be adjusted with respect to relative position and format, and can be used in text and math mode.") (license license:cc-by4.0))) +(define-public texlive-stage + (package + (name "texlive-stage") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/stage/" "source/latex/stage/" + "tex/latex/stage/") + (base32 + "0789mddzsadiw9fiasjzjdma0f9li8gddf8m9wy5jblnsl2asf5p"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/stage") + (synopsis "LaTeX class for stage plays") + (description + "@file{stage.cls} is a LaTeX class for creating plays of any length in +a standard manuscript format for production and submission.") + (license license:lppl1.3+))) + (define-public texlive-stanli (package (name "texlive-stanli") @@ -6260,6 +12519,27 @@ engineering, those small structures are a key part for teaching. This package permits to create such 2D and 3D structures in a very fast and simple way.") (license (list license:gpl3+ license:lppl1.3+)))) +(define-public texlive-startex + (package + (name "texlive-startex") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/otherformats/startex/" + "makeindex/startex/" + "source/startex/startex/" "tex/startex/") + (base32 + "06hyz1bwzvabavkl6j9588skjwx8hc5dmiv8z9n7gr1w9aa9zm7x"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/startex") + (synopsis "XML-inspired format for student use") + (description + "This package provides a TeX format designed to help students write short +reports and essays. It provides the user with a suitable set of commands for +such a task. It is also more robust than plain TeX and LaTeX.") + (license license:public-domain))) + (define-public texlive-statex (package (name "texlive-statex") @@ -6591,6 +12871,34 @@ including emTeX drivers, dviwin, xdvi and dvips, and (using some code from ConTeXt) it may also be used with pdfLaTeX.") (license license:gpl3+))) +(define-public texlive-t2 + (package + (name "texlive-t2") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/generic/t2/" "fonts/enc/t2/" + "tex/generic/t2/cyrfinst/" "tex/latex/t2/") + (base32 + "058j3bpv03d9nb0nxal1vjpliqqibv6hsjl1qlbgnndm95xd5n1a"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/t2") + (synopsis "Support for using T2 encoding") + (description + "The T2 bundle provides a variety of separate support functions for using +Cyrillic characters in LaTeX: +@itemize +@item the @code{mathtext} package, for using Cyrillic letters +transparently in formulae; +@item the @code{citehack} package, for using Cyrillic (or indeed any +non-ASCII) characters in citation keys; +@item support for Cyrillic in BibTeX; +@item support for Cyrillic in Makeindex; +@item and various items of font support. +@end itemize") + (license license:lppl))) + (define-public texlive-tablor (package (name "texlive-tablor") @@ -6613,6 +12921,52 @@ configuration of the language to be used in the diagrams. The @code{tablor} package requires that shell escape be enabled.") (license license:lppl))) +(define-public texlive-tabvar + (package + (name "texlive-tabvar") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/tabvar/" + "fonts/afm/public/tabvar/" + "fonts/map/dvips/tabvar/" + "fonts/tfm/public/tabvar/" + "fonts/type1/public/tabvar/" + "metapost/tabvar/" + "source/latex/tabvar/" + "tex/latex/tabvar/") + (base32 + "1yjf0j3296a5csr6xrzziralfsy2iny21cyjf4dmlwp4l0h6kcpc"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/tabvar") + (synopsis "Typesetting tables showing variations of functions") + (description + "This LaTeX package is meant to ease the typesetting of tables showing +variations of functions as they are used in France.") + (license license:lppl1.3+))) + +(define-public texlive-tdsfrmath + (package + (name "texlive-tdsfrmath") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/tdsfrmath/" + "source/latex/tdsfrmath/" + "tex/latex/tdsfrmath/") + (base32 + "1z1z3jy0mbn6dc75pnfsq9877y8yafvdhv5p8a54dbxxkzdcl3ll"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/tdsfrmath") + (synopsis "Macros for French teachers of mathematics") + (description + "This package provides a collection of macros for French maths teachers +in colleges and lycées (and perhaps elsewhere). It is hoped that the package +will facilitate the everyday use of LaTeX by mathematics teachers.") + (license license:lppl))) + (define-public texlive-tensind (package (name "texlive-tensind") @@ -6673,6 +13027,95 @@ mathematical proofs and to construct programs. This package provides macros that support calculational proofs and Dijkstra's guarded command language.") (license license:bsd-1))) +(define-public texlive-tex-virtual-academy-pl + (package + (name "texlive-tex-virtual-academy-pl") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/generic/tex-virtual-academy-pl/") + (base32 + "1kb86nn5vp1b0sy21aw9wlla1dwlaijppzq7728bmfs5nk1dnbjv"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/tex-virtual-academy-pl") + (synopsis "TeX usage web pages, in Polish") + (description + "TeX Virtual Academy is a bundle of Polish documentation in HTML format +about TeX and Co. It contains information for beginners, LaTeX packages, +descriptions, etc.") + (license license:fdl1.3+))) + +(define-public texlive-texsis + (package + (name "texlive-texsis") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "bibtex/bst/texsis/" + "doc/man/man1/texsis.1" + "doc/man/man1/texsis.man1.pdf" + "doc/otherformats/texsis/base/" + "tex/texsis/base/" + "tex/texsis/config/") + (base32 + "1vdywyg03ab5w50370ml8hwiidim2sy7hhygmz917rnhsnm87lnv"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (arguments (list #:create-formats #~(list "texsis"))) + (propagated-inputs + (list texlive-cm + texlive-hyphen-base + texlive-knuth-lib + texlive-plain + texlive-tex)) + (home-page "https://ctan.org/pkg/texsis") + (synopsis "Plain TeX macros for Physicists") + (description + "TeXsis is a TeX macro package which provides useful features for +typesetting research papers and related documents. For example, it includes +support specifically for: + +@itemize +@item automatic numbering of equations, figures, tables and references; +@item simplified control of type sizes, line spacing, footnotes, running +headlines and footlines, and tables of contents, figures and tables; +@item specialized document formats for research papers, preprints and +e-prints, conference proceedings, theses, books, referee reports, letters, and +memoranda; +@item simplified means of constructing an index for a book or thesis; +@item easy to use double column formatting; +@item specialized environments for lists, theorems and proofs, centered or +non-justified text, and listing computer code; +@item specialized macros for easily constructing ruled tables. +@end itemize + +TeXsis was originally developed for physicists, but others may also find it +useful. It is completely compatible with Plain TeX.") + (license license:lppl))) + +(define-public texlive-textglos + (package + (name "texlive-textglos") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/textglos/" + "source/latex/textglos/" + "tex/latex/textglos/") + (base32 + "1jxx3wrwkmmm6ida3ih0yap57laflvsks8nv0395sv49xn7waxf0"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/textglos") + (synopsis "Typeset and index linguistic gloss abbreviations") + (description + "The package provides a set of macros for in-line linguistic examples (as +opposed to interlinear glossing, set apart from the main text). It prevents +hyphenated examples from breaking across lines and consistently formats +phonemic examples, orthographic examples, and more.") + (license license:lppl1.3+))) + (define-public texlive-textgreek (package (name "texlive-textgreek") @@ -6713,6 +13156,86 @@ symbols.") membrane protein topology plots and helical wheels.") (license license:gpl3+))) +(define-public texlive-thaienum + (package + (name "texlive-thaienum") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/thaienum/" "tex/latex/thaienum/") + (base32 + "1g7sf5gjnrmhgq4qmdh3gphc0ixyfx4rpm7kmbwmjra3b8j2i46w"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/thaienum") + (synopsis "Thai labels in @code{enumerate} environments") + (description + "This LaTeX package provides a command to use Thai numerals or characters +as labels in enumerate environments. Once the package is loaded with +@samp{\\usepackage@{thaienum@}} you can use labels such as @code{\\thainum*} +or @code{\\thaimultialph*} in conjunction with the package @code{enumitem}. +Concrete examples are given in the documentation.") + (license license:lppl1.3+))) + +(define-public texlive-thaispec + (package + (name "texlive-thaispec") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/thaispec/" + "source/latex/thaispec/" + "tex/latex/thaispec/") + (base32 + "1d0mj98akv7bfq3msaplm2pffcwfayssn4i5an12zrw0wxicmp96"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/thaispec") + (synopsis "Thai language typesetting in XeLaTeX") + (description + "This package allows you to input Thai characters directly to LaTeX +documents and choose any (system wide) Thai fonts for typesetting in XeLaTeX. +It also tries to appropriately justify paragraphs with no more external +tools.") + (license license:lppl1.3+))) + +(define-public texlive-thalie + (package + (name "texlive-thalie") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/thalie/" "tex/latex/thalie/") + (base32 + "08dg91nr469s3x5c8njj0gpki1j89dji7ii9sw5l5ajd3pk8xbwv"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/thalie") + (synopsis "Typeset drama plays") + (description + "The package provides tools to typeset drama plays. It defines commands +to introduce characters lines, to render stage directions, to divide a play +into acts and scenes and to build the dramatis personae automatically.") + (license license:lppl1.3+))) + +(define-public texlive-theatre + (package + (name "texlive-theatre") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/theatre/") + (base32 + "1nhm56spqvryhmhwmzly939mzv5yv3398lh2lyfhf40rr02mzgi5"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/theatre") + (synopsis "Sophisticated package for typesetting stage plays") + (description + "This package enables the user to typeset stage plays in a way that +permits to create highly customized printouts for each actor.") + (license license:lppl1.2+))) + (define-public texlive-thermodynamics (package (name "texlive-thermodynamics") @@ -6778,6 +13301,103 @@ to use the environment.") display calculators, specifically the TI-82 STATS.") (license license:lppl1.3c))) +(define-public texlive-translation-array-fr + (package + (name "texlive-translation-array-fr") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/translation-array-fr/") + (base32 + "128k8isyn4s0v496sykn22fqn0gfwyyk19kcrmxnc6clgxxfbdy6"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/translation-array-fr") + (synopsis "French translation of the documentation of @code{array}") + (description + "This package provides a French translation of the documentation of +@code{array}.") + (license license:lppl))) + +(define-public texlive-translation-dcolumn-fr + (package + (name "texlive-translation-dcolumn-fr") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/translation-dcolumn-fr/") + (base32 + "0xakssrkxb2wc6xyy1yvx4mm398x3yq032b7vapqxl82h992fjll"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/translation-dcolumn-fr") + (synopsis "French translation of the documentation of @code{dcolumn}") + (description + "This package provides a French translation of the documentation of +@code{dcolumn}.") + (license license:lppl))) + +(define-public texlive-translation-natbib-fr + (package + (name "texlive-translation-natbib-fr") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/translation-natbib-fr/") + (base32 + "0f0r1n8q3jkxsdcddabsgz9h9ndq4yffdpxdqxvqjmhfafhzwgkg"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/translation-natbib-fr") + (synopsis "French translation of the documentation of @code{natbib}") + (description + "This package provides a French translation of the documentation of +@code{natbib}.") + (license license:lppl))) + +(define-public texlive-translation-tabbing-fr + (package + (name "texlive-translation-tabbing-fr") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/translation-tabbing-fr/") + (base32 + "1cih442gp6zf8nwb2lbgjn7a64aglyrcw3aciqy5pkdw09pwn0an"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/translation-tabbing-fr") + (synopsis "French translation of the documentation of @code{tabbing}") + (description + "This package provides a translation to French of the documentation of +the @code{tabbing} package.") + (license license:lppl1.0+))) + +(define-public texlive-tree-dvips + (package + (name "texlive-tree-dvips") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/tree-dvips/" "dvips/tree-dvips/" + "tex/latex/tree-dvips/") + (base32 + "0wk86z29aqfrsg947h5qbp98fngdx55v8xcx6dgniv5fv7d9ffrp"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/tree-dvips") + (synopsis "Trees and other linguists' macros") + (description + "The package defines a mechanism for specifying connected trees that uses +a @code{tabular} environment to generate node positions. The package uses +PostScript code, loaded by Dvips, so output can only be generated by use of +Dvips. + +The package @code{lingmacros.sty} defines a few macros for linguists: +@code{\\enumsentence} for enumerating sentence examples, simple +@code{tabular}-based non-connected tree macros, and gloss macros.") + (license license:lppl1.0+))) + (define-public texlive-turnstile (package (name "texlive-turnstile") @@ -6835,6 +13455,85 @@ providing the LaTeX user with macros which are used to markup textual information.") (license license:lppl))) +(define-public texlive-unfonts-core + (package + (name "texlive-unfonts-core") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/fonts/unfonts-core/" + "fonts/truetype/public/unfonts-core/") + (base32 + "12q7h1akmgc3vdvyb4i8x51a716451kwi90vh9i57xw76hmg5f4x"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/unfonts-core") + (synopsis "TrueType version of Un-fonts") + (description + "This is TrueType version of Un-fonts core bundle. It includes the +following font families (12 fonts): +@itemize +@item UnBatang, UnBatangBold: serif; +@item UnDotum, UnDotumBold: sans-serif; +@item UnGraphic, UnGraphicBold: sans-serif style; +@item UnDinaru, UnDinaruBold, UnDinaruLight; +@item UnPilgi, UnPilgiBold: script; +@item UnGungseo: cursive, brush-stroke. +@end itemize") + (license license:gpl2))) + +(define-public texlive-unfonts-extra + (package + (name "texlive-unfonts-extra") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/fonts/unfonts-extra/" + "fonts/truetype/public/unfonts-extra/") + (base32 + "1krs93dsi50278qxgm24ij9w9r7gdcxqsdfk6ai5klvkmlka8gkf"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/unfonts-extra") + (synopsis "TrueType version of Un-fonts") + (description + "This is TrueType version of Un-fonts extra bundle. It includes the +following Korean font families (11 fonts): +@itemize +@item UnPen, UnPenheulim: script; +@item UnTaza: typewriter style; +@item UnShinmun; +@item UnYetgul: old Korean printing style; +@item UnJamoSora, UnJamoNovel, UnJamoDotum, UnJamoBatang; +@item UnPilgia; +@item UnVada. +@end itemize") + (license license:gpl2))) + +(define-public texlive-unicode-alphabets + (package + (name "texlive-unicode-alphabets") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/unicode-alphabets/" + "tex/latex/unicode-alphabets/") + (base32 + "0xvzmx0xa8mmi39a8c89byi6c6y7vbl5k3plp63k5mif19ncyq3s"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/unicode-alphabets") + (synopsis "Macros for using characters from Unicode's Private Use Area") + (description + "While Unicode supports the vast majority of use cases, there are certain +specialized niches which require characters and glyphs not (yet) represented +in the standard. Thus the Private Use Area (PUA) at code points E000-F8FF, +which enables third parties to define arbitrary character sets. This package +allows configuring a number of macros for using various PUA character sets in +LaTeX (AGL, CYFI, MUFI, SIL, TITUS, UCSUR, UNZ), to enable transcription and +display of medieval and other documents.") + (license license:cc-by-sa4.0))) + (define-public texlive-unitsdef (package (name "texlive-unitsdef") @@ -6856,6 +13555,40 @@ to define new units and changes the output concerning to the surrounding font settings.") (license license:lppl))) +(define-public texlive-velthuis + (package + (name "texlive-velthuis") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/generic/velthuis/" + "doc/man/man1/devnag.1" + "doc/man/man1/devnag.man1.pdf" + "fonts/afm/public/velthuis/" + "fonts/map/dvips/velthuis/" + "fonts/source/public/velthuis/" + "fonts/tfm/public/velthuis/" + "fonts/type1/public/velthuis/" + "tex/generic/velthuis/" + "tex/latex/velthuis/" + "tex/plain/velthuis/" + "tex/xelatex/velthuis/") + (base32 + "0h9maci6b65x7zy13v5j4vlr07lnghiwckh7bn4ix7d1wmh74bij"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (native-inputs (list texlive-metafont)) + (propagated-inputs (list texlive-xetex-devanagari)) + (home-page "https://ctan.org/pkg/devanagari") + (synopsis "Typeset Devanagari") + (description + "This package provides Frans Velthuis preprocessor for Devanagari text, +and fonts and macros to use when typesetting the processed text. The macros +provide features that support Sanskrit, Hindi, Marathi, Nepali, and other +languages typically printed in the Devanagari script. The package provides +fonts, in both Metafont and Type 1 formats.") + (license license:gpl3+))) + (define-public texlive-venn (package (name "texlive-venn") @@ -6872,6 +13605,103 @@ settings.") (description "This package provides MetaPost macros for Venn diagrams.") (license license:lppl))) +(define-public texlive-verse + (package + (name "texlive-verse") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/verse/" "source/latex/verse/" + "tex/latex/verse/") + (base32 + "0v54xgn9d91xsjcy5dmgs5r50amvqnakyc7hymdzbqkv5cz2dd3r"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/verse") + (synopsis "Aids for typesetting simple verse") + (description + "The package provides aids for typesetting simple verses; the package is +strong on layout, from simple alternate-line indentation to the @code{Mouse's +tale} from @emph{Alice in Wonderland}.") + (license license:lppl))) + +(define-public texlive-vlna + (package + (name "texlive-vlna") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/man/man1/vlna.1" + "doc/man/man1/vlna.man1.pdf" "doc/vlna/") + (base32 + "0nfb7mj6y9d4n89z59ppi96grfylwky97mxcv9rjflr5kpqlpga2"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/vlna") + (synopsis "Add @samp{~} after non-syllabic preposition, for Czech/Slovak") + (description + "This package provides a preprocessor for TeX source implementing the +Czech/Slovak typographical rule forbidding a non-syllabic preposition alone at +the end of a line.") + (license license:knuth))) + +(define-public texlive-vntex + (package + (name "texlive-vntex") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/generic/vntex/" + "fonts/afm/vntex/chartervn/" + "fonts/afm/vntex/grotesqvn/" + "fonts/afm/vntex/urwvn/" + "fonts/afm/vntex/vntopia/" + "fonts/enc/dvips/vntex/" + "fonts/enc/pdftex/vntex/" + "fonts/map/dvips/vntex/" + "fonts/source/vntex/vnr/" + "fonts/tfm/vntex/arevvn/" + "fonts/tfm/vntex/chartervn/" + "fonts/tfm/vntex/cmbrightvn/" + "fonts/tfm/vntex/concretevn/" + "fonts/tfm/vntex/grotesqvn/" + "fonts/tfm/vntex/txttvn/" + "fonts/tfm/vntex/urwvn/" + "fonts/tfm/vntex/vnr/" + "fonts/tfm/vntex/vntopia/" + "fonts/type1/vntex/arevvn/" + "fonts/type1/vntex/chartervn/" + "fonts/type1/vntex/cmbrightvn/" + "fonts/type1/vntex/concretevn/" + "fonts/type1/vntex/grotesqvn/" + "fonts/type1/vntex/txttvn/" + "fonts/type1/vntex/urwvn/" + "fonts/type1/vntex/vnr/" + "fonts/type1/vntex/vntopia/" + "fonts/vf/vntex/chartervn/" + "fonts/vf/vntex/urwvn/" + "fonts/vf/vntex/vntopia/" + "source/generic/vntex/" + "tex/latex/vntex/" + "tex/plain/vntex/") + (base32 + "0vbpxzqvqpymw2chgrrva7alrvp6lj735hy8wqksal968sch6azx"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (native-inputs (list texlive-ec texlive-metafont)) + (home-page "https://ctan.org/pkg/vntex") + (synopsis "Support for Vietnamese") + (description + "The vntex bundle provides fonts, Plain TeX, texinfo and LaTeX macros for +typesetting documents in Vietnamese. Users of the fonts (in both Metafont and +Adobe Type 1 format) of this bundle may alternatively use the @code{lm} fonts +bundle, for which map files are available to provide a Vietnamese version.") + ;; Vietnamese glyphs has been added according to the conditions of the + ;; Adobe/TUG license agreement. The package itself is released under + ;; LPPL1.3+ terms. + (license (list license:lppl1.3+ + (license:fsf-free "file://source/generic/vntex/LICENSE-utopia.txt"))))) + (define-public texlive-witharrows (package (name "texlive-witharrows") @@ -6895,6 +13725,135 @@ These arrows are usually used to give explanations concerning the mathematical calculus presented.") (license license:lppl1.3+))) +(define-public texlive-wnri + (package + (name "texlive-wnri") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/fonts/wnri/" + "fonts/source/public/wnri/" + "fonts/tfm/public/wnri/") + (base32 + "1p2b847a5xa00xvv46b8p0f2fhi1k01w4l7bm2517hs7inwj3brs"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (native-inputs (list texlive-metafont)) + (home-page "https://ctan.org/pkg/wnri") + (synopsis "Ridgeway's fonts") + (description + "This package provides fonts (as Metafont source) for Old English, Indic +languages in Roman transliteration and Puget Salish (Lushootseed) and other +Native American languages.") + (license license:gpl3+))) + +(define-public texlive-wnri-latex + (package + (name "texlive-wnri-latex") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/wnri-latex/" + "source/latex/wnri-latex/" + "tex/latex/wnri-latex/") + (base32 + "08ld2nys36vb368977dpwav75ffra2p8999dx4dwrs4vg6k2r2l7"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/wnri-latex") + (synopsis "LaTeX support for @code{wnri} fonts") + (description + "This package provides LaTeX support for the @code{wnri} fonts.") + (license license:gpl2))) + +(define-public texlive-xecjk + (package + (name "texlive-xecjk") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/xelatex/xecjk/" + "fonts/misc/xetex/fontmapping/xecjk/" + "source/xelatex/xecjk/" "tex/xelatex/xecjk/") + (base32 + "0mpmfrj0n00gpnh67zh627vxhpp6vim8x755vdpb75h36k8zm6yq"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (arguments + (list + #:phases + #~(modify-phases %standard-phases + (add-before 'build 'copy-ctxdocstrip.tex + ;; There's a circular dependency between this package (where + ;; `ctex' should be a native input) and `ctex' (where this package + ;; is a propagated input). To work around this, install the + ;; specific "ctxdocstrip.tex" file from `ctex' in the build + ;; directory and set TEXINPUTS variable accordingly so the process + ;; can find it. + (lambda* (#:key inputs #:allow-other-keys) + (install-file (search-input-file inputs + "tex/generic/ctex/ctxdocstrip.tex") + "build/") + (setenv "TEXINPUTS" (string-append (getcwd) "/build:"))))))) + (native-inputs + (list (texlive-origin + "ctxdocstrip.tex" (number->string %texlive-revision) + (list "tex/generic/ctex/ctxdocstrip.tex") + (base32 + "154v2d6wfzhfg654nlh2apy9zr78d09rkimymyjqpxymkpbk8lli")))) + (home-page "https://ctan.org/pkg/xecjk") + (synopsis "Support for CJK documents in XeLaTeX") + (description + "This package provides a LaTeX package for typesetting CJK documents in +the way users have become used to, in the CJK package.") + (license license:lppl1.3c))) + +(define-public texlive-xecyrmongolian + (package + (name "texlive-xecyrmongolian") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/xecyrmongolian/" + "source/latex/xecyrmongolian/" + "tex/latex/xecyrmongolian/") + (base32 + "0097l8vx76sqpimljwxw194yg6drxzagjxflq3y99n0a0yisax05"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/xecyrmongolian") + (synopsis + "Basic support for Cyrillic Mongolian documents using (Xe|Lua)LaTeX") + (description + "The @code{xecyrmongolian} package can be used to produce documents in +Cyrillic Mongolian using either XeLaTeX or LuaLaTeX. The command +@code{\\setlanguage} can be used to load alternative hyphenation patterns so +to be able to create multilingual documents.") + (license license:lppl1.3c))) + +(define-public texlive-xyling + (package + (name "texlive-xyling") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/xyling/" "tex/latex/xyling/") + (base32 + "1c4bgkbd42japidvrfg3ibj4h1l8v6zlivy7bqyiyj8alzdjhq4g"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/xyling") + (synopsis + "Draw syntactic trees, etc., for linguistics literature, using XY-Pic") + (description + "The macros in this package model the construction of linguistic tree +structures as a genuinely graphical problem: they contain two types of +objects, ``branches'' and ``node labels'', and these are positioned relative +to a ``grid''. It is essential that each of these three elements is +constructed independent of the other two, and hence they can be modified +without unwanted side effects. The macros are based on the XY-Pic package.") + (license license:lppl))) + (define-public texlive-xymtex (package (name "texlive-xymtex") @@ -7009,6 +13968,24 @@ providing lots more features. Skew and coloured tableaux are easy, and pgfkeys-enabled options are provided both at package load and configurably.") (license license:lppl1.2+))) +(define-public texlive-zitie + (package + (name "texlive-zitie") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/xelatex/zitie/" "tex/xelatex/zitie/") + (base32 + "0la4fg42c20isdip5gnynzhkj0hn295lf48hbyjjfvadx7zx408s"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/zitie") + (synopsis "Create CJK character calligraphy practicing sheets") + (description + "This is a LaTeX package for creating CJK character calligraphy +practicing sheets (copybooks). Currently, only XeTeX is supported.") + (license license:lppl1.3c))) + (define-public texlive-zx-calculus (package (name "texlive-zx-calculus") @@ -7030,6 +14007,72 @@ multiple flavours for putting labels inside or outside nodes), and a debugging mode to avoid getting lost in big diagrams.") (license license:expat))) +(define-public texlive-zxjafont + (package + (name "texlive-zxjafont") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/zxjafont/" "tex/latex/zxjafont/") + (base32 + "1n8sky4aprs7r12pvyj6q1lman57k94s7mkynnzfw1z4xnam459j"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/zxjafont") + (synopsis "Set up Japanese font families for XeLaTeX") + (description "This package sets up Japanese font families for XeLaTeX.") + (license license:expat))) + +(define-public texlive-zxjatype + (package + (name "texlive-zxjatype") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/zxjatype/" "tex/latex/zxjatype/") + (base32 + "0llm0414kdwqsajb1nl92xa8kqwvbm446pwijag2735gk8rxqz8j"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/zxjatype") + (synopsis "Standard conforming typesetting of Japanese, for XeLaTeX") + (description "This package eases standard conforming typesetting of +Japanese, for XeLaTeX.") + (license license:expat))) + +(define-public texlive-zxjafbfont + (package + (name "texlive-zxjafbfont") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/zxjafbfont/" + "tex/latex/zxjafbfont/") + (base32 + "1vwbr2nwxp5f8c7q1gwm9z3karjkxjxr1j4lg5p12ljqlwm7p3lw"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/zxjafbfont") + (synopsis "Fallback CJK font support for xeCJK") + (description "This package provides fallback CJK font support for xeCJK.") + (license license:expat))) + +(define-public texlive-biblatex-cheatsheet + (package + (name "texlive-biblatex-cheatsheet") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/biblatex-cheatsheet/") + (base32 + "0y2ry2q1kvpy8dqglqdfq3rc849hmbni0k78wr1xnjbpd102l3k9"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/biblatex-cheatsheet") + (synopsis "BibLaTeX and Biber cheat sheet") + (description "This package provides a BibLaTeX and Biber cheat sheet.") + (license license:lppl1.3+))) + (define-public texlive-bibtex8 (package (name "texlive-bibtex8") @@ -7240,6 +14283,44 @@ a corresponding option is set. Furthermore, @command{cluttex} can watch input files for changes (using an external program).") (license license:gpl3+))) +(define-public texlive-components + (package + (name "texlive-components") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/generic/components/") + (base32 + "04yg9hq0wcyi1ag9y9m2fnf5h3n4fdykiwljgpw0kyc73bfyhq1m"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/components") + (synopsis "Introduction to TeX components and files") + (description + "This package is an introduction to the components and files users of TeX +may encounter.") + (license license:gpl3+))) + +(define-public texlive-comprehensive + (package + (name "texlive-comprehensive") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/comprehensive/") + (base32 + "1pa76hkxfmms5h6y6zyg4l5wrspprhnycfdigby8302srx676vhi"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/comprehensive") + (synopsis "Symbols accessible from LaTeX") + (description + "This package document the symbols accessible from LaTeX. Over 18000 +symbols are listed as a set of tables. The tables of symbols are ordered in +a logical way (the document begins with a frequently requested symbols list), +the aim being to make the document a convenient way of looking up symbols.") + (license license:lppl1.3+))) + (define-public texlive-ctan-o-mat (package (name "texlive-ctan-o-mat") @@ -7360,6 +14441,109 @@ release process for LaTeX package authors. Note by the CTAN team (2015-02-05): It seems that this script is currently not working.") (license license:gpl3))) +(define-public texlive-ctex + (package + (name "texlive-ctex") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/ctex/" "source/latex/ctex/" + "tex/generic/ctex/" "tex/latex/ctex/" + "tex/luatex/ctex/") + (base32 + "17zyr0cyxvp91832q35ha3qabdzh4njh96yvp4gfkkfkkszqp3jh"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (arguments + ;; FIXME: I couldn't find how to build this package from source. + (list #:phases #~(modify-phases %standard-phases (delete 'build)))) + (propagated-inputs + (list texlive-adobemapping + texlive-atbegshi + texlive-beamer + texlive-cjk + texlive-cjkpunct + texlive-ec + texlive-epstopdf-pkg + texlive-etoolbox + texlive-everyhook + texlive-fandol + texlive-fontspec + texlive-iftex + texlive-infwarerr + texlive-kvoptions + texlive-kvsetkeys + texlive-latex-bin + texlive-ltxcmds + texlive-luatexja + texlive-mptopdf + texlive-ms + texlive-pdftexcmds + texlive-platex-tools + texlive-svn-prov + texlive-tipa + texlive-tools + texlive-ttfutils + texlive-ulem + texlive-uplatex + texlive-xcjk2uni + texlive-xecjk + texlive-xetex + texlive-xkeyval + texlive-xpinyin + texlive-xunicode + texlive-zhmetrics + texlive-zhmetrics-uptex + texlive-zhnumber)) + (home-page "https://ctan.org/pkg/ctex") + (synopsis "LaTeX classes and packages for Chinese typesetting") + (description + "CTeX is a collection of macro packages and document classes for LaTeX +Chinese typesetting.") + (license license:lppl1.3c))) + +(define-public texlive-ctex-faq + (package + (name "texlive-ctex-faq") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/ctex-faq/") + (base32 + "15c0g0x8w7vm3hyn6lk60jf66akyfcq6x8jc2lnbjx8ydwgb26br"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/ctex-faq") + (synopsis "LaTeX FAQ by the Chinese TeX Society (ctex.org)") + (description + "This is the LaTeX FAQ by the Chinese TeX Society. Most questions were +collected on the @url{bbs.ctex.org} forum, and were answered in detail by the +author.") + (license license:fdl1.3+))) + +(define-public texlive-ctib + (package + (name "texlive-ctib") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/ctib/" + "fonts/source/public/ctib/" + "fonts/tfm/public/ctib/" + "source/latex/ctib/" "tex/latex/ctib/") + (base32 + "0qvh0icrijcsyi3kvzkp890qjx7j9axv9yzzfa1paivyfp33aijn"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (native-inputs (list texlive-metafont)) + (home-page "https://ctan.org/pkg/ctib4tex") + (synopsis "Tibetan for TeX and LaTeX2e") + (description + "This LaTeX package uses a modified version of Sirlin's Tibetan font. An +advantage of this Tibetan implementation is that all consonant clusters are +formed by TeX and Metafont. No external preprocessor is needed.") + (license license:gpl3+))) + (define-public texlive-ctie (package (name "texlive-ctie") @@ -7447,6 +14631,54 @@ code navigation, and related functionality to any text editor that speaks the LSP protocol.") (license (list license:gpl3+ license:lppl1.3+ license:fdl1.3+)))) +(define-public texlive-dickimaw + (package + (name "texlive-dickimaw") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/dickimaw/") + (base32 + "1mxjqn4lblnpbmad3jk453lyx1qzcmrddis59j3jsgc5sp929w4k"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/dickimaw") + (synopsis "Books and tutorials from the @emph{Dickimaw LaTeX Series}") + (description + "The package provides some of the books and tutorials that form part of +the @code{Dickimaw LaTeX Series}. Only the A4 PDF of each book is detailed +here. Other formats, such as HTML or screen optimized PDF, are available from +the package home page. + +Books included are: +@itemize +@item @emph{LaTeX for Complete Novices}, +@item @emph{Using LaTeX to Write a PhD thesis}, +@item @emph{Creating a LaTeX minimal example}. +@end itemize") + (license license:fdl1.3+))) + +(define-public texlive-docsurvey + (package + (name "texlive-docsurvey") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/docsurvey/") + (base32 + "0f2kzmmpm7qwci04krmnz5impfwwmy2wwanmgq05878w8xbcqjj6"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/docsurvey") + (synopsis "Survey of LaTeX documentation") + (description + "This package provides a survey of programming-related documentation for +LaTeX. Included are references to printed and electronic books and manuals, +symbol lists, FAQs, the LaTeX source code, CTAN and distributions, +programming-related packages, users groups and online communities, and +information on creating packages and documentation.") + (license license:lppl1.3+))) + (define-public texlive-dtl (package (name "texlive-dtl") @@ -7490,6 +14722,25 @@ which is readily readable by humans. The DTL bundle contains an assembler LaTeX source (.dtx) file.") (license license:gpl3+))) +(define-public texlive-dtxtut + (package + (name "texlive-dtxtut") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/dtxtut/") + (base32 + "1szg0xvwm0jbzs8waillijzrff4kv04a73gsqh9c12ap427xfryr"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/dtxtut") + (synopsis "Tutorial on writing @file{.dtx} and @file{.ins} files") + (description + "This tutorial is intended for advanced LaTeX2e users who want to learn +how to create @file{.ins} and @file{.dtx} files for distributing their +homebrewed classes and package files.") + (license license:lppl1.3+))) + (define-public texlive-dvi2tty (package (name "texlive-dvi2tty") @@ -7745,6 +14996,28 @@ optionally be replaced with graphics paths so that applications that do not support SVG fonts are enabled to render the graphics properly.") (license license:gpl3+))) +(define-public texlive-ebong + (package + (name "texlive-ebong") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/ebong/" "scripts/ebong/") + (base32 + "0ivzr6d83ws7q00k71zdz1v25y88fhja1safc4jfvd45i58fccy7"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (arguments (list #:link-scripts #~(list "ebong.py"))) + (inputs (list python)) + (home-page "https://ctan.org/pkg/ebong") + (synopsis "Utility for writing Bengali in Rapid Roman Format") + (description + "This package provides a tool (preprocessor) for writing your +@code{pRaa-ne-r} ka-thaa in the Bengali langauage. It allows one to write the +text in Rapid Roman Bangla and convert it to the BangTeX format by a Python +program. All LaTeX markups are preserved in the target file.") + (license license:public-domain))) + (define-public texlive-eijkhout (package (name "texlive-eijkhout") @@ -7825,6 +15098,56 @@ an @file{.eps} file has anything except the origin for the lower-left of its bounding box.") (license license:public-domain))) +(define-public texlive-ethiop + (package + (name "texlive-ethiop") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/ethiop/" + "fonts/ofm/public/ethiop/" + "fonts/ovf/public/ethiop/" + "fonts/ovp/public/ethiop/" + "fonts/source/public/ethiop/" + "fonts/tfm/public/ethiop/" + "omega/ocp/ethiop/" + "omega/otp/ethiop/" + "source/latex/ethiop/" + "tex/latex/ethiop/") + (base32 + "1852g96rjyrsky7mpfwlxgip11qmk800xcmqccs8cv51f5342qlq"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (native-inputs (list texlive-metafont)) + (home-page "https://ctan.org/pkg/ethiop") + (synopsis "LaTeX macros and fonts for typesetting Amharic") + (description + "This package provides Ethiopian language support for the Babel package, +including a collection of fonts and TeX macros for typesetting the characters +of the languages of Ethiopia, with Metafont fonts based on EthTeX's. The +macros use the Babel framework.") + (license license:gpl3+))) + +(define-public texlive-ethiop-t1 + (package + (name "texlive-ethiop-t1") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/ethiop-t1/" + "fonts/map/dvips/ethiop-t1/" + "fonts/type1/public/ethiop-t1/") + (base32 + "19n6i61db88nhhkq9gg3gfr3sgpaf1ylr41l0xdhpfkn71y7par1"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/ethiop-t1") + (synopsis "Type 1 versions of Amharic fonts") + (description + "These fonts provided in this package are drop-in Adobe type +1 replacements for the fonts of the @code{ethiop} package.") + (license license:gpl3+))) + (define-public texlive-expex-acro (package (name "texlive-expex-acro") @@ -7887,6 +15210,33 @@ a comfortable and straightforward way. allow a somewhat natural formulation.") (license license:lppl1.3c))) +(define-public texlive-fc + (package + (name "texlive-fc") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/fonts/fc/" "fonts/source/jknappen/fc/" + "fonts/tfm/jknappen/fc/" "tex/latex/fc/") + (base32 + "0v0r8jcr1lv31mx613h76h13psj73g49p2a6dnd0nfbfharww3gr"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (arguments + (list #:phases + #~(modify-phases %standard-phases + ;; FIXME: Font metrics cannot be generated due to "bad pos" + ;; errors with "fcitt" fonts. + (delete 'generate-font-metrics)))) + (native-inputs (list texlive-metafont texlive-sauter)) + (home-page "https://ctan.org/pkg/fc") + (synopsis "Fonts for African languages") + (description + "This package includes fonts for African languages. The fonts are +provided as Metafont source, in the familiar arrangement of lots of preamble +files and a modest set of glyph specifications.") + (license license:gpl2))) + (define-public texlive-fenixpar (package (name "texlive-fenixpar") @@ -7914,6 +15264,26 @@ register. The packages require the e-TeX extensions; with them, they work either with Plain TeX or with LaTeX.") (license license:lppl))) +(define-public texlive-feupphdteses + (package + (name "texlive-feupphdteses") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/feupphdteses/" + "tex/latex/feupphdteses/") + (base32 + "1p6qwmcwayh45cmsgyx352ffzj2fcx2gaaya5qadn0ymx0pvb0lp"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/feupphdteses") + (synopsis "Typeset Engineering PhD theses at the University of Porto") + (description + "This package provides a complete template for thesis/works of Faculdade +de Engenharia da Universidade do Porto (FEUP) Faculty of Engineering +University of Porto.") + (license license:lppl))) + (define-public texlive-figflow (package (name "texlive-figflow") @@ -7938,6 +15308,22 @@ area.") ;; file, without limitation." (license (license:fsf-free "file://doc/plain/figflow/README")))) +(define-public texlive-finbib + (package + (name "texlive-finbib") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "bibtex/bst/finbib/") + (base32 + "1dr1ivhfb83ky3q82dzzv5vvc8bl84iq7am0p1rc8fjlbj95i4wm"))) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/finplain") + (synopsis "Finnish version of @file{plain.bst}") + (description "This package provides a Finnish version of +@file{plain.bst}.") + (license license:knuth))) + (define-public texlive-findhyph (package (name "texlive-findhyph") @@ -7962,6 +15348,25 @@ enough context to enable you to find the hyphenated word that's being referenced.") (license license:gpl2))) +(define-public texlive-first-latex-doc + (package + (name "texlive-first-latex-doc") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/first-latex-doc/") + (base32 + "13ngk5pia5vbrbb4jrrlq1lmyja08m7cy4ydcjasxha8kns001ss"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/first-latex-doc") + (synopsis "Document for absolute LaTeX beginners") + (description + "The document leads a reader, who knows nothing about LaTeX, through the +production of a two page document. The user who has completed that first +document, and wants to carry on, will find recommendations for tutorials.") + (license license:public-domain))) + (define-public texlive-fixpdfmag (package (name "texlive-fixpdfmag") @@ -8068,6 +15473,28 @@ Math mode always uses CM fonts. A command for producing doubled-spaced documents is also provided.") (license license:lppl))) +(define-public texlive-fontinstallationguide + (package + (name "texlive-fontinstallationguide") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/fonts/fontinstallationguide/") + (base32 + "1i6im0nckcr9fzs0kc54dvcj3jvjz2j8jd55xgjm0r569qjj1hi5"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/fontinstallationguide") + (synopsis "Font installation guide") + (description + "This guide discusses the most common scenarios you are likely to +encounter when installing Type 1 PostScript fonts. While the individual tools +employed in the installation process are documented well, the actual +difficulty most users are facing when trying to install new fonts is +understanding how to put all the pieces together. This is what this guide is +about.") + (license license:fdl1.3+))) + (define-public texlive-fontools (package (name "texlive-fontools") @@ -8108,6 +15535,35 @@ otc) into individual fonts. @end itemize") (license license:gpl2))) +(define-public texlive-fonts-tlwg + (package + (name "texlive-fonts-tlwg") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/fonts/fonts-tlwg/" + "fonts/afm/public/fonts-tlwg/" + "fonts/enc/dvips/fonts-tlwg/" + "fonts/map/dvips/fonts-tlwg/" + "fonts/opentype/public/fonts-tlwg/" + "fonts/tfm/public/fonts-tlwg/" + "fonts/type1/public/fonts-tlwg/" + "fonts/vf/public/fonts-tlwg/" + "source/fonts/fonts-tlwg/" + "tex/latex/fonts-tlwg/") + (base32 + "19g1ksxsidf6cpcxm3knbbfpjw6jsfq2acy99cgmsy7jn33k253b"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/fonts-tlwg") + (synopsis "Thai fonts for LaTeX from TLWG") + (description + "This package provides a collection of Thai fonts, supplied as FontForge +sources, and with LaTeX @file{.fd} files.") + (license (list license:gpl2+ + license:lppl1.3+ + (license:x11-style "file://source/fonts/fonts-tlwg/COPYING"))))) + (define-public texlive-fontware (package (name "texlive-fontware") @@ -8137,6 +15593,25 @@ generates a VF file and a TFM file; @command{vftovp} takes a VF file and a TFM file and generates a VPL file.") (license license:knuth))) +(define-public texlive-forest-quickstart + (package + (name "texlive-forest-quickstart") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/forest-quickstart/") + (base32 + "1bjy0bfkb90nv2dbdw8hdrm3dvm1v0r0m7a0l44ckw48vnc6amvk"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/forest-quickstart") + (synopsis "Quickstart Guide for Linguists package @code{forest}") + (description + "@code{forest} is a PGF/TikZ-based package for drawing linguistic (and +other kinds of) trees. This manual provides a quickstart guide for linguists +with just the essential things that you need to get started.") + (license license:fdl1.3+))) + (define-public texlive-fragmaster (package (name "texlive-fragmaster") @@ -8159,6 +15634,25 @@ EPS files and @command{psfrag} substitution definition files, and produces PDF and EPS files with the substitutions included.") (license license:gpl3+))) +(define-public texlive-gentle + (package + (name "texlive-gentle") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/plain/gentle/") + (base32 + "1l5fyfdbkpqlgpgi1hrnn2sz8hchlnp7z5s5584czafvs10jg6vx"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/gentle") + (synopsis "Gentle introduction to TeX") + (description + "The @emph{Gentle Introduction} is the longest-established comprehensive +tutorial on the use of plain TeX.") + (license + (license:fsf-free "file://share/texmf-dist/doc/plain/gentle/gentle.tex")))) + (define-public texlive-getoptk (package (name "texlive-getoptk") @@ -8199,6 +15693,61 @@ invented by Gottlob Frege in 1879 for his books @emph{Begriffsschrift} and books are supported.") (license license:gpl3))) +(define-public texlive-gfsbaskerville + (package + (name "texlive-gfsbaskerville") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/fonts/gfsbaskerville/" + "fonts/afm/public/gfsbaskerville/" + "fonts/enc/dvips/gfsbaskerville/" + "fonts/map/dvips/gfsbaskerville/" + "fonts/opentype/public/gfsbaskerville/" + "fonts/tfm/public/gfsbaskerville/" + "fonts/type1/public/gfsbaskerville/" + "fonts/vf/public/gfsbaskerville/" + "tex/latex/gfsbaskerville/") + (base32 + "0hf2nr0y1l9wzxvk0s2ajy3g80fcc02avr2fqrnss23c1a0jhr8q"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/gfsbaskerville") + (synopsis "Greek font, from one such by Baskerville") + (description + "The font is a digital implementation of Baskerville's classic Greek font, +provided by the Greek Font Society. The font covers Greek only, and LaTeX +support provides for the use of LGR encoding.") + (license (list license:lppl1.0+ license:silofl1.1)))) + +(define-public texlive-gfsporson + (package + (name "texlive-gfsporson") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/fonts/gfsporson/" + "fonts/afm/public/gfsporson/" + "fonts/enc/dvips/gfsporson/" + "fonts/map/dvips/gfsporson/" + "fonts/opentype/public/gfsporson/" + "fonts/tfm/public/gfsporson/" + "fonts/type1/public/gfsporson/" + "fonts/vf/public/gfsporson/" + "tex/latex/gfsporson/") + (base32 + "11m9f3vh41w8gbla62219vf2djc5kl9i4kpg6i1iiixwrhi56smc"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/gfsporson") + (synopsis "Greek font, originally from Porson") + (description + "Porson is an elegant Greek font, originally cut at the turn of the 19th +Century in England. The present version has been provided by the Greek Font +Society. The font supports the Greek alphabet only. LaTeX support is +provided, using the LGR encoding.") + (license (list license:lppl1.0+ license:silofl1.1)))) + (define-public texlive-gobble (package (name "texlive-gobble") @@ -8251,6 +15800,95 @@ those packages provided by @code{miniltx}. The bundle also contains a file provides the LaTeX picture mode to Plain TeX users.") (license license:lppl1.0+))) +(define-public texlive-greek-inputenc + (package + (name "texlive-greek-inputenc") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/greek-inputenc/" + "tex/latex/greek-inputenc/") + (base32 + "1vifrgxwx92c44vmic9x7y65fl6lcmlavqq63dakl922ijlssrb1"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/greek-inputenc") + (synopsis "Greek encoding support for @code{inputenc}") + (description + "The bundle provides UTF-8, Macintosh Greek encoding and ISO 8859-7 +definition files for use with @code{inputenc}.") + (license license:lppl1.3+))) + +(define-public texlive-greekdates + (package + (name "texlive-greekdates") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/greekdates/" + "source/latex/greekdates/" + "tex/latex/greekdates/") + (base32 + "1hwjskdllwxa14l12d0fn850sll3i9yihxlpjp2fk62v3iwkrq4r"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/greekdates") + (synopsis "Provides ancient Greek day and month names, dates, etc") + (description + "The package provides easy access to ancient Greek names of days and +months of various regions of Greece. In case the historical information about +a region is not complete, we use the Athenian name of the month. Moreover +commands and options are provided, in order to completely switch to the +ancient way, such as @code{\\today}.") + (license license:lppl))) + +(define-public texlive-greektex + (package + (name "texlive-greektex") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/fonts/greektex/" "tex/latex/greektex/") + (base32 + "0zs3kakr7k261j876r1xpynvnmjjdn5rky0acfbcjxp7mmsqpmzn"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/greektex") + (synopsis "Fonts for typesetting Greek/English documents") + (description + "The fonts are based on Silvio Levy's classical Greek fonts; macros and +Greek hyphenation patterns for the fonts encoding are also provided.") + (license license:public-domain))) + +(define-public texlive-greektonoi + (package + (name "texlive-greektonoi") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/greektonoi/" + "fonts/map/dvips/greektonoi/" + "tex/latex/greektonoi/") + (base32 + "14phabwakq87qgh3jxs95gk1w2q3aw29vhy441538y4fxvskqhrw"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/greektonoi") + (synopsis "Facilitates writing/editing of multiaccented Greek") + (description + "The @code{greektonoi} mapping extends the @code{betababel} package or +the Babel @samp{polutonikogreek} option to provide a simple way to insert +ancient Greek texts with diacritical characters into your document using +a similar method to the commonly used Beta Code transliteration, but with much +more freedom. It is designed especially for the XeTeX engine and it could +also be used for fast and easy modification of monotonic Greek texts to +polytonic. The output text is natively encoded in Unicode, so it can be +reused in any possible way. The @code{greektonoi} package provides, in +addition to inserting Greek accents and breathings, many other symbols used in +Greek numbers and arithmetic or in the Greek archaic period. It could be used +with @code{greektonoi} mapping or indepedently.") + (license license:lgpl3))) + (define-public texlive-gtl (package (name "texlive-gtl") @@ -8272,6 +15910,25 @@ which are not necessarily balanced. It is in particular used a lot in the to work with entire braced groups at a time.") (license license:lppl1.3c))) +(define-public texlive-hindawi-latex-template + (package + (name "texlive-hindawi-latex-template") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/hindawi-latex-template/") + (base32 + "0q35drybrlcfcrhrd5691m66nd17b0m6hkcsqazpb1ck227zih61"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/hindawi-latex-template") + (synopsis "LaTeX template for authors of the Hindawi journals") + (description + "This package contains a LaTeX template for authors of the Hindawi journals. +Authors can use this template for formatting their research articles for +submissions.") + (license license:lppl1.3+))) + (define-public texlive-hlist (package (name "texlive-hlist") @@ -8309,6 +15966,58 @@ languages and/or dialects, and to select them or switch between them while typesetting.") (license license:public-domain))) +(define-public texlive-ibycus-babel + (package + (name "texlive-ibycus-babel") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/ibycus-babel/" + "source/latex/ibycus-babel/" + "tex/latex/ibycus-babel/") + (base32 + "1lwf28h6lzlblg7s7bx2dhqprxvjj78a8rlljhk9kw5pf065c7aj"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/ibycus-babel") + (synopsis "Use the Ibycus 4 Greek font with Babel") + (description + "The package allows you to use the Ibycus 4 font for ancient Greek with +Babel. It uses a Perl script to generate hyphenation patterns for Ibycus from +those for the ordinary Babel encoding, @samp{cbgreek}. It sets up +@code{ibycus} as a pseudo-language you can specify in the normal Babel +manner.") + (license license:lppl))) + +(define-public texlive-ibygrk + (package + (name "texlive-ibygrk") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/fonts/ibygrk/" + "fonts/afm/public/ibygrk/" + "fonts/enc/dvips/ibygrk/" + "fonts/map/dvips/ibygrk/" + "fonts/source/public/ibygrk/" + "fonts/tfm/public/ibygrk/" + "fonts/type1/public/ibygrk/" + "tex/generic/ibygrk/") + (base32 + "14a1hqqwz3pfpz5rz9k8finxnlan4a3l8a0brgs98p6mdp9xl3q1"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (native-inputs (list texlive-levy texlive-metafont)) + (home-page "https://ctan.org/pkg/ibygrk") + (synopsis "Fonts and macros to typeset ancient Greek") + (description + "Ibycus is a Greek typeface, based on Silvio Levy's realisation of +a classic Didot cut of Greek type from around 1800. The fonts are available +both as Metafont source and in Adobe Type 1 format. This distribution of +@code{ibycus} is accompanied by a set of macro packages to use it with Plain +TeX or LaTeX, but for use with Babel, see the @code{ibycus-babel} package.") + (license license:gpl3+))) + (define-public texlive-inputnormalization (package (name "texlive-inputnormalization") @@ -8366,6 +16075,57 @@ for short verbatim; @file{xfig.tex}, for including xfig/transfig output in a TeX document; and @file{cassette.tex} for setting cassette labels.") (license license:public-domain))) +(define-public texlive-jsclasses + (package + (name "texlive-jsclasses") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/platex/jsclasses/" + "source/platex/jsclasses/" + "tex/platex/jsclasses/") + (base32 + "024bgaim5rkamlwj4xa6w4yp8i37f8j6vn4jyrh8avwm9anc22pg"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/jsclasses") + (synopsis "Classes tailored for use with Japanese") + (description + "This package provides classes @code{jsarticle} and @code{jsbook}, +together with packages @code{okumacro} and @code{okuverb}. These classes are +designed to work under ASCII Corporation's Japanese TeX system pTeX.") + (license license:bsd-2))) + +(define-public texlive-kerkis + (package + (name "texlive-kerkis") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/fonts/kerkis/" + "fonts/afm/public/kerkis/" + "fonts/enc/dvips/kerkis/" + "fonts/map/dvips/kerkis/" + "fonts/opentype/public/kerkis/" + "fonts/tfm/public/kerkis/" + "fonts/type1/public/kerkis/" + "fonts/vf/public/kerkis/" + "tex/latex/kerkis/") + (base32 + "1mkrnydgc05k2n6mrz6i3ichigf0bmy465s2vg514m7ma399khi9"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/kerkis") + (synopsis "Kerkis (Greek) font family") + (description + "This package provides sans-serif Greek fonts to match the URW Bookman +set (which are distributed with Kerkis). The Kerkis font set has some support +for mathematics as well as other glyphs missing from the base URW Bookman +fonts. Macros are provided to use the fonts in OT1, T1 (only NG/ng glyphs +missing) and LGR encodings, as well as in mathematics; small caps and +old-style number glyphs are also available.") + (license license:lppl1.3c))) + (define-public texlive-lambda-lists (package (name "texlive-lambda-lists") @@ -8467,6 +16227,67 @@ to make the text fit the box. Note that letterspacing is not ordinarily considered acceptable in modern typesetting of English.") (license license:knuth))) +(define-public texlive-levy + (package + (name "texlive-levy") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/fonts/levy/" + "fonts/source/public/levy/" + "fonts/tfm/public/levy/" "tex/generic/levy/") + (base32 + "1nkfsq5k2rysgsplv6rhvx8fimd7999dylzd2khvw7flryig32nv"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (native-inputs (list texlive-metafont)) + (home-page "https://ctan.org/pkg/levy-font") + (synopsis "Fonts for typesetting classical Greek") + (description + "These fonts are derivatives of Kunth's CM fonts. Macros for use with +Plain TeX are included in the package; for use with LaTeX, see @code{lgreek} +(with English documentation) or @code{levy} (with German documentation).") + (license license:gpl2))) + +(define-public texlive-lgreek + (package + (name "texlive-lgreek") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/lgreek/" "tex/latex/lgreek/") + (base32 + "1wa8d5mlk6jkx3m1rfddasw169sc6l6p8n4axh6i0np1imgsxx2b"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/lgreek") + (synopsis "LaTeX macros for using Silvio Levy's Greek fonts") + (description + "This package provides a conversion of Silvio Levy's Plain TeX macros for +use with LaTeX.") + (license license:gpl2))) + +(define-public texlive-lgrmath + (package + (name "texlive-lgrmath") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/lgrmath/" "source/latex/lgrmath/" + "tex/latex/lgrmath/") + (base32 + "0lj4jdzwykqz1hkv2s6y2ghf1zlalx27gd6kfpbnignxmh63cpkb"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/lgrmath") + (synopsis "Use LGR-encoded fonts in math mode") + (description + "The @code{lgrmath} package is a LaTeX package which sets the Greek +letters in math mode to use glyphs from the LGR-encoded font of one's choice. +The documentation includes a rather extensive list of the available font +family names on typical LaTeX installations.") + (license license:lppl1.3c))) + (define-public texlive-localloc (package (name "texlive-localloc") @@ -8540,6 +16361,29 @@ of TeX and one of Metafont are needed.") ;; when modified. (license (license:fsf-free "file://tex/generic/midnight/border.tex")))) +(define-public texlive-mkgrkindex + (package + (name "texlive-mkgrkindex") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/support/mkgrkindex/" + "makeindex/mkgrkindex/" + "scripts/mkgrkindex/") + (base32 + "0bj35wdxn0xllpqzf8lrd00b5rmyy9fws84avz3ijk4k8rvfz8gk"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (arguments (list #:link-scripts #~(list "mkgrkindex"))) + (home-page "https://ctan.org/pkg/greek-makeindex") + (synopsis "MakeIndex working with Greek") + (description + "MakeIndex is resolutely stuck with Latin-based alphabets, so will not +deal with Greek indexes, unaided. This package provides a Perl script that +will transmute the index of a Greek document in such a way that MakeIndex will +sort the entries according to the rules of the Greek alphabet.") + (license license:lppl))) + (define-public texlive-modulus (package (name "texlive-modulus") @@ -8563,6 +16407,63 @@ a division operation without destroying the values of the counters containing the dividend and divisor.") (license license:lppl1.3c))) +(define-public texlive-mongolian-babel + (package + (name "texlive-mongolian-babel") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/mongolian-babel/" + "source/latex/mongolian-babel/" + "tex/latex/mongolian-babel/") + (base32 + "12kzips0jmjahrrfaripglg203dvvr408v5qxjvnrnxqzb8d1i2w"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/mongolian-babel") + (synopsis "Language definition file for Mongolian in Babel") + (description + "This package provides support for Mongolian in a Cyrillic +alphabet. (The work derives from the earlier Russian work for Babel.)") + (license license:lppl))) + +(define-public texlive-montex + (package + (name "texlive-montex") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/montex/" + "fonts/map/dvips/montex/" + "fonts/source/public/montex/" + "fonts/tfm/public/montex/" + "fonts/type1/public/montex/" + "tex/latex/montex/") + (base32 + "01rbzw0kbiy3wig2mrdclygx7a71dckq9rhqj8jpdnbjyhm9jw35"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (native-inputs (list texlive-metafont)) + (propagated-inputs (list texlive-cbfonts)) + (home-page "https://ctan.org/pkg/montex") + (synopsis "Mongolian LaTeX") + (description + "MonTeX provides Mongolian and Manju support for the TeX and LaTeX community. +It provides all necessary characters for writing standard Mongolian in +Cyrillic and Classical (aka Traditional or Uighur) writing, and Manju as well +as transliterated Tibetan texts, for which purpose a number of additional +characters was created. + +In MonTeX, both Mongolian and Manju are entered in romanized form. The +retransliteration (from Latin input to Mongolian and Manju output) is +completely realized in TeX and Metafont so that no external preprocessor is +required. Please note that most of the enhanced functions of MonTeX require +a working e-LaTeX environment. This is especially true when compiling +documents with Mongolian or Manju as the main document language. It is +recommended to choose pdfLaTeX as the resulting PDF files are truly portable. +Vertical text generated by MonTeX is not supported in DVI.") + (license license:gpl3+))) + (define-public texlive-moreverb (package (name "texlive-moreverb") @@ -8587,6 +16488,49 @@ advised to consider using the @code{fancyvrb} package in place of @code{moreverb}.") (license license:lppl))) +(define-public texlive-morisawa + (package + (name "texlive-morisawa") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/fonts/morisawa/" + "fonts/map/dvipdfmx/morisawa/" + "fonts/tfm/public/morisawa/" + "fonts/vf/public/morisawa/" + "source/fonts/morisawa/" + "tex/latex/morisawa/") + (base32 + "1wqyiq049y0mv6d1r3d0mrjzhh5pq2vi50sr0jhd58k4wdg8zqkb"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/morisawa") + (synopsis + "Selection of 5 standard Japanese fonts for pLaTeX and dvips") + (description + "The package enables selection of 5 standard Japanese fonts for pLaTeX +and dvips.") + (license license:bsd-2))) + +(define-public texlive-mpman-ru + (package + (name "texlive-mpman-ru") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/metapost/mpman-ru/") + (base32 + "1x3drpi21zcmkhkscvl4l7805wskqa4zskydb33i0asss5p62396"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/mpman-ru") + (synopsis "Russian translation of the MetaPost manual") + (description + "This package provides a translation of the MetaPost user manual, as +distributed with MetaPost itself.") + ;; Explicitly use the same license as MetaPost. + (license license:lppl))) + (define-public texlive-namedef (package (name "texlive-namedef") @@ -8652,6 +16596,25 @@ and use raw PDF objects.") ;; explicitly instead of simply renaming the file. (license (license:fsf-free "file://doc/plain/newsletr/read.me")))) +(define-public texlive-numnameru + (package + (name "texlive-numnameru") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/numnameru/" + "tex/latex/numnameru/") + (base32 + "1il8qn9wkdk554r4a8h5vmdmwcvgwygcx58zwnqxflz6hqsxdjmx"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/numnameru") + (synopsis "Converts a number to the Russian spelled out name") + (description + "This package converts a numerical number to the Russian spelled out name +of the number.") + (license license:lppl1.3+))) + (define-public texlive-ofs (package (name "texlive-ofs") @@ -8817,6 +16780,32 @@ documentation (for example, that of the @code{texapi} and @code{yax} packages).") (license license:lppl))) +(define-public texlive-pl + (package + (name "texlive-pl") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/fonts/pl/" + "dvips/pl/" + "fonts/afm/public/pl/" + "fonts/enc/dvips/pl/" + "fonts/map/dvips/pl/" + "fonts/source/public/pl/" + "fonts/tfm/public/pl/" + "fonts/type1/public/pl/") + (base32 + "18s3by7isk85ksvp40i6qg2ws3iyj5f35fh8h0561rw6jdc024rc"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (native-inputs (list texlive-amsfonts texlive-metafont texlive-cm)) + (home-page "https://ctan.org/pkg/pl-mf") + (synopsis "Polish extension of Computer Modern fonts") + (description + "This package provides the Polish extension of the Computer Modern +fonts (compatible with CM itself) for use with Polish TeX formats.") + (license license:public-domain))) + (define-public texlive-placeins-plain (package (name "texlive-placeins-plain") @@ -8859,6 +16848,125 @@ functionality, and handling of arbitrary (multiple) private letters (analagous LaTeX packages use of @samp{@@@@}) in nested package files.") (license license:lppl1.3+))) +(define-public texlive-platex + (package + (name "texlive-platex") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/man/man1/platex.1" + "doc/man/man1/platex.man1.pdf" + "doc/platex/base/" + "source/platex/base/" + "tex/platex/base/" + "tex/platex/config/") + (base32 + "0a843xnp3iikjxw1klxb3j2bssm6ylhcw32s046xxm2bs527hxi8"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (arguments + (list #:create-formats #~(list "platex" "platex-dev") + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'fix-build + ;; This phase is necessary because the build phase is + ;; reluctant to generate "kinsoku.tex" since there is another + ;; one among the inputs (texlive-ptex) already. + (lambda _ + (substitute* "source/platex/base/plfmt.ins" + (("\\\\keepsilent\n" all) + (string-append all "\\askforoverwritefalse\n")))))))) + (propagated-inputs + (list texlive-atbegshi + texlive-atveryend + texlive-babel + texlive-cm + texlive-everyshi + texlive-firstaid + texlive-hyphen-base + texlive-l3backend + texlive-l3kernel + texlive-l3packages + texlive-latex + texlive-latex-fonts + texlive-ptex + texlive-ptex-fonts + texlive-tex-ini-files + texlive-unicode-data + texlive-uptex)) + (home-page "https://ctan.org/pkg/platex") + (synopsis "pLaTeX2e and miscellaneous macros for pTeX") + (description + "The bundle provides pLaTeX2e and miscellaneous macros for pTeX and +e-pTeX.") + (license license:bsd-3))) + +(define-public texlive-platex-tools + (package + (name "texlive-platex-tools") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/platex-tools/" + "tex/latex/platex-tools/") + (base32 + "1wdxcmag1kk6zs7dv10jdcs9ih0bs08xr14iw5bqqyppia4pa1lv"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/platex-tools") + (synopsis "pLaTeX standard tools bundle") + (description + "This bundle is an extended version of the @code{latex-tools} bundle +developed by the LaTeX team, mainly intended to support pLaTeX2e and +upLaTeX2e. Currently patches for the @code{latex-tools} bundle and Martin +Schroder's @code{ms} bundle are included.") + (license license:bsd-3))) + +(define-public texlive-platexcheat + (package + (name "texlive-platexcheat") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/platexcheat/") + (base32 + "04hvm19x4z7vq2md3p3r2wwa7iqkgkxnvvj1xx3s9145m6fjib5a"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/platexcheat") + (synopsis "LaTeX cheat sheet, in Japanese") + (description + "This is a translation to Japanese of Winston Chang's LaTeX cheat +sheet (a reference sheet for writing scientific papers). It has been adapted +to Japanese standards using pLaTeX, and also attached additional information +of standard LaTeX (especially about Math mode).") + (license license:expat))) + +(define-public texlive-plautopatch + (package + (name "texlive-plautopatch") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/plautopatch/" + "tex/latex/plautopatch/") + (base32 + "1fhphmjhq0mbsarkfmfj0580b97lxxbcwanr4zpwjj5f6krqq742"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/plautopatch") + (synopsis "Automated patches for pLaTeX/upLaTeX") + (description + "Japanese pLaTeX and upLaTeX formats and packages often conflict with +other LaTeX packages which are unaware of pLaTeX and upLaTeX. In the worst +case, such packages throw a fatal error or end up with a wrong output. The +goal of this package is that there should be no need to worry about such +incompatibilities, because specific patches are loaded automatically whenever +necessary. This helps not only to simplify source files, but also to make the +appearance of working pLaTeX or upLaTeX sources similar to those of ordinary +LaTeX ones.") + (license license:bsd-3))) + (define-public texlive-plipsum (package (name "texlive-plipsum") @@ -8963,6 +17071,360 @@ not overly complex, so that users should find it easy to adapt the macros to their specific needs.") (license license:lppl))) +(define-public texlive-ptex + (package + (name "texlive-ptex") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/man/man1/eptex.1" + "doc/man/man1/eptex.man1.pdf" + "doc/man/man1/makejvf.1" + "doc/man/man1/makejvf.man1.pdf" + "doc/man/man1/mendex.1" + "doc/man/man1/mendex.man1.pdf" + "doc/man/man1/pbibtex.1" + "doc/man/man1/pbibtex.man1.pdf" + "doc/man/man1/ppltotf.1" + "doc/man/man1/ppltotf.man1.pdf" + "doc/man/man1/ptex.1" + "doc/man/man1/ptex.man1.pdf" + "doc/man/man1/ptftopl.1" + "doc/man/man1/ptftopl.man1.pdf") + (base32 + "1dk8rvadr1q00bjizj567lzjp5l47pr7miyk0ghkajbiiwbqi0kn"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (arguments (list #:create-formats #~(list "eptex" "ptex"))) + (propagated-inputs + (list texlive-cm + texlive-etex + texlive-hyphen-base + texlive-knuth-lib + texlive-plain + texlive-ptex-base + texlive-ptex-fonts)) + (home-page "https://ctan.org/pkg/ptex") + (synopsis "TeX system for publishing in Japanese") + (description + "pTeX adds features related to vertical writing, and deals with other +problems in typesetting Japanese. A manual (in both Japanese and English) is +distributed as package @code{pTeX-manual}.") + (license license:bsd-3))) + +(define-public texlive-ptex-base + (package + (name "texlive-ptex-base") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/ptex/ptex-base/" "tex/ptex/ptex-base/") + (base32 + "0hfccpsfpj56v97056k77lyb09az7m24m8klf1n2v0a7kqdc1fv6"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/ptex-base") + (synopsis "Plain TeX format for pTeX and e-pTeX") + (description + "The bundle contains the plain TeX format for pTeX and e-pTeX.") + (license license:bsd-3))) + +(define-public texlive-ptex-fontmaps + (package + (name "texlive-ptex-fontmaps") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/fonts/ptex-fontmaps/" + "fonts/cmap/ptex-fontmaps/" + "fonts/map/dvipdfmx/ptex-fontmaps/adobe/" + "fonts/map/dvipdfmx/ptex-fontmaps/apple/" + "fonts/map/dvipdfmx/ptex-fontmaps/arphic/" + "fonts/map/dvipdfmx/ptex-fontmaps/baekmuk/" + "fonts/map/dvipdfmx/ptex-fontmaps/bizud/" + "fonts/map/dvipdfmx/ptex-fontmaps/canon/" + "fonts/map/dvipdfmx/ptex-fontmaps/cjkunifonts-ttf/" + "fonts/map/dvipdfmx/ptex-fontmaps/cjkunifonts/" + "fonts/map/dvipdfmx/ptex-fontmaps/dynacomware/" + "fonts/map/dvipdfmx/ptex-fontmaps/fandol/" + "fonts/map/dvipdfmx/ptex-fontmaps/founder/" + "fonts/map/dvipdfmx/ptex-fontmaps/haranoaji/" + "fonts/map/dvipdfmx/ptex-fontmaps/hiragino-pron/" + "fonts/map/dvipdfmx/ptex-fontmaps/hiragino/" + "fonts/map/dvipdfmx/ptex-fontmaps/ipa/" + "fonts/map/dvipdfmx/ptex-fontmaps/ipaex/" + "fonts/map/dvipdfmx/ptex-fontmaps/kozuka-pr6/" + "fonts/map/dvipdfmx/ptex-fontmaps/kozuka-pr6n/" + "fonts/map/dvipdfmx/ptex-fontmaps/kozuka/" + "fonts/map/dvipdfmx/ptex-fontmaps/moga-mobo-ex/" + "fonts/map/dvipdfmx/ptex-fontmaps/moga-mobo/" + "fonts/map/dvipdfmx/ptex-fontmaps/morisawa-pr6n/" + "fonts/map/dvipdfmx/ptex-fontmaps/morisawa/" + "fonts/map/dvipdfmx/ptex-fontmaps/ms-osx/" + "fonts/map/dvipdfmx/ptex-fontmaps/ms-win10/" + "fonts/map/dvipdfmx/ptex-fontmaps/ms/" + "fonts/map/dvipdfmx/ptex-fontmaps/noEmbed/" + "fonts/map/dvipdfmx/ptex-fontmaps/noto-otc/" + "fonts/map/dvipdfmx/ptex-fontmaps/noto/" + "fonts/map/dvipdfmx/ptex-fontmaps/solaris/" + "fonts/map/dvipdfmx/ptex-fontmaps/sourcehan-otc/" + "fonts/map/dvipdfmx/ptex-fontmaps/sourcehan/" + "fonts/map/dvipdfmx/ptex-fontmaps/ume/" + "fonts/map/dvipdfmx/ptex-fontmaps/unfonts/" + "fonts/map/dvipdfmx/ptex-fontmaps/yu-osx/" + "fonts/map/dvipdfmx/ptex-fontmaps/yu-win/" + "fonts/map/dvipdfmx/ptex-fontmaps/yu-win10/" + "fonts/misc/ptex-fontmaps/" + "scripts/ptex-fontmaps/" + "source/ptex-fontmaps/jis04cmap_exp/" + "source/ptex-fontmaps/script/") + (base32 + "07qm41d33z9vjvchsxfrqxim7zb15cg77x4aw5a06mgn3w7kz6ha"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (arguments + (list #:link-scripts #~(list "kanji-config-updmap-sys.sh" + "kanji-config-updmap-user.sh" + "kanji-config-updmap.pl" + "kanji-fontmap-creator.pl"))) + (inputs (list perl)) + (home-page "https://ctan.org/pkg/ptex-fontmaps") + (synopsis + "Font maps and tools for Japanese/Chinese/Korean fonts with (u)pTeX") + (description + "This package provides font maps and setup tools for Japanese, Korean, +Traditional Chinese, and Simplified Chinese. It is the successor of the +@code{jfontmaps} package. The files in this package contain font maps for +dvipdfmx to make various Japanese, Chinese, and Korean fonts available +for (u)ptex and related programs and formats.") + (license (list license:public-domain license:gpl3)))) + +(define-public texlive-ptex-manual + (package + (name "texlive-ptex-manual") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/ptex/ptex-manual/") + (base32 + "1pz8jyd86s2fjj0d63q9h04x0sxcyx1ffp48lf3n8awj0zrij861"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/ptex-manual") + (synopsis "Japanese pTeX manual") + (description "This package contains the Japanese pTeX manual.") + (license license:bsd-3))) + +(define-public texlive-ptex-fonts + (package + (name "texlive-ptex-fonts") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/fonts/ptex-fonts/" + "fonts/source/ptex-fonts/jis/" + "fonts/source/ptex-fonts/nmin-ngoth/" + "fonts/source/ptex-fonts/standard/" + "fonts/tfm/ptex-fonts/dvips/" + "fonts/tfm/ptex-fonts/jis/" + "fonts/tfm/ptex-fonts/nmin-ngoth/" + "fonts/tfm/ptex-fonts/standard/" + "fonts/vf/ptex-fonts/jis/" + "fonts/vf/ptex-fonts/nmin-ngoth/" + "fonts/vf/ptex-fonts/standard/") + (base32 + "0f33y28zmrc6gw01qj956vrwj3mh5gn6kph2i13yg1yi2hdl7wwa"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/ptex-fonts") + (synopsis "Fonts for use with pTeX") + (description + "The bundle contains fonts for use with pTeX and the documents for the +@command{makejvf} program.") + (license license:bsd-3))) + +(define-public texlive-ptex2pdf + (package + (name "texlive-ptex2pdf") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/ptex2pdf/" "scripts/ptex2pdf/") + (base32 + "0vc4clig35s9cir2gmls7zvj8k1qal4np0akvlgsz2zch44b0imr"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (arguments (list #:link-scripts #~(list "ptex2pdf.lua"))) + (home-page "https://ctan.org/pkg/ptex2pdf") + (synopsis "Convert Japanese TeX documents to PDF") + (description + "The Lua script provides system-independent support of Japanese +typesetting engines in TeXworks. As TeXworks typesetting setup does not allow +for multistep processing, this script runs one of the pTeX-based programs +followed by dvipdfmx.") + (license license:gpl2))) + +(define-public texlive-pxbase + (package + (name "texlive-pxbase") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/platex/pxbase/" "tex/platex/pxbase/") + (base32 + "0dq9d4ixddffjnzb73d2qacgzm27665hvq2gsfjqzikzaa70dahw"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/pxbase") + (synopsis "Tools for use with (u)pLaTeX") + (description + "The main purpose of this package is to provide auxiliary functions which +are utilized by other packages created by the same author. It also provides +a few user commands to assist in creating Japanese documents using +@code{(u)pLaTeX.}") + (license license:expat))) + +(define-public texlive-pxchfon + (package + (name "texlive-pxchfon") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/platex/pxchfon/" "fonts/sfd/pxchfon/" + "fonts/tfm/public/pxchfon/" + "fonts/vf/public/pxchfon/" + "tex/platex/pxchfon/") + (base32 + "0pvhgcv6rxp2lnscsh9k3z907114p09ja3frcy5276is21d6sdrj"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/pxchfon") + (synopsis "Japanese font setup for pLaTeX and upLaTeX") + (description + "This package enables users to declare in their document which physical +fonts should be used for the standard Japanese (logical) fonts of pLaTeX and +upLaTeX. Font setup is realized by changing the font mapping of dvipdfmx, and +thus users can use any (monospaced) physical fonts they like, once they +properly install this package, without creating helper files for each new +font. This package also supports setup for the fonts used in the +@code{japanese-otf} package.") + (license license:expat))) + +(define-public texlive-pxcjkcat + (package + (name "texlive-pxcjkcat") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/pxcjkcat/" "tex/latex/pxcjkcat/") + (base32 + "10lbwry55rdldfhj2v893rpp1jdzv00vxhg4hf4gsgsmv1nnp25f"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/pxcjkcat") + (synopsis "LaTeX interface for the CJK category codes of upTeX") + (description + "The package provides management of the CJK category code table of the +upTeX extended TeX engine. Package options are available for tailored use in +the cases of documents that are principally written in Japanese, or +principally written in English or other Western languages.") + (license license:expat))) + +(define-public texlive-pxjahyper + (package + (name "texlive-pxjahyper") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/platex/pxjahyper/" + "tex/platex/pxjahyper/") + (base32 + "0128yslhwbrdhshjhxk6ayfl42ds0x0sfyvp91aspwbkfjnr34p9"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/pxjahyper") + (synopsis "Hyperref support for pLaTeX") + (description + "This package adjusts the behavior of @code{hyperref} on (u)pLaTeX so +that authors can properly create PDF documents that contain document +information in Japanese.") + (license license:expat))) + +(define-public texlive-pxjodel + (package + (name "texlive-pxjodel") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/pxjodel/" + "fonts/tfm/public/pxjodel/" + "fonts/vf/public/pxjodel/" + "tex/latex/pxjodel/") + (base32 + "1g5sd60zd34ark50qy2dgqrdcd5pwy5hxmi6g5jxqlj3j1n6r1ny"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/pxjodel") + (synopsis "Help change metrics of fonts from japanese-otf") + (description + "This package changes the setup of the @code{japanese-otf} package so +that the TFMs for direct input are all replaced by new ones with prefixed +names. This function will assist users who want to use the +@code{japanese-otf} package together with tailored TFMs of Japanese fonts.") + (license license:expat))) + +(define-public texlive-pxrubrica + (package + (name "texlive-pxrubrica") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/platex/pxrubrica/" + "source/platex/pxrubrica/" + "tex/platex/pxrubrica/") + (base32 + "0n8jc65szkq114qg197hc9amrpifqvha8wifxplhvbmb09kzm5mm"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/pxrubrica") + (synopsis "Ruby annotations according to JIS X 4051") + (description + "This package provides a function to add ruby annotations (furigana) that +follow the style conventional in Japanese typography as described in the W3C +technical note @emph{Requirements for Japanese Text Layout} and the JIS +specification JIS X 4051.") + (license license:expat))) + +(define-public texlive-pxufont + (package + (name "texlive-pxufont") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/pxufont/" + "fonts/tfm/public/pxufont/" + "fonts/vf/public/pxufont/" + "tex/latex/pxufont/") + (base32 + "167hmw73lxgsv27gkzanr1plalsqfxphknl8q3rbamy2zp6n0al0"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/pxufont") + (synopsis "Emulate non-Unicode Japanese fonts using Unicode fonts") + (description + "The set of the Japanese logical fonts (JFMs) that are used as standard +fonts in pTeX and upTeX contains both Unicode JFMs and non-Unicode JFMs. This +bundle provides an alternative set of non-Unicode JFMs that are tied to the +virtual fonts (VFs) that refer to the glyphs in the Unicode JFMs. Moreover it +provides a LaTeX package that redefines the NFSS settings of the Japanese +fonts of @code{(u)pLaTeX} so that the new set of non-Unicode JFMs will be +employed. As a whole, this bundle allows users to dispense with the mapping +setup on non-Unicode JFMs. Such a setup is useful in particular when users +want to use OpenType fonts (such as Source Han Serif) that have a glyph +encoding different from Adobe-Japan1, because mapping setups from non-Unicode +JFMs to such physical fonts are difficult to prepare.") + (license license:expat))) + (define-public texlive-pwebmac (package (name "texlive-pwebmac") @@ -9199,6 +17661,27 @@ required.") position is already further along, @code{\\tabto} starts a new line.") (license license:public-domain))) +(define-public texlive-talos + (package + (name "texlive-talos") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/fonts/talos/" + "fonts/opentype/public/talos/") + (base32 + "1m656d4lkc9ikp7gb91yna4323lip3xcr6n3kqh1j4sqvp4rkm61"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/talos") + (synopsis "Greek cult font from the eighties") + (description + "This package provides a cult Greek font from the eighties, used at the +University of Crete, Greece. It belonged to the first TeX installation in +a Greek University and most probably the first TeX installation that supported +the Greek language.") + (license license:gfl1.0))) + (define-public texlive-termmenu (package (name "texlive-termmenu") @@ -9221,6 +17704,27 @@ these options for the program to process. @code{termmenu} provides this mechanism for TeX.") (license license:lppl1.3+))) +(define-public texlive-teubner + (package + (name "texlive-teubner") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/teubner/" "source/latex/teubner/" + "tex/latex/teubner/") + (base32 + "1wlp2hv1xsn7z1d42y01mwp4yq06w1j9p3fgk2vvi4ca20rgg7pk"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/teubner") + (synopsis "Philological typesetting of classical Greek") + (description + "This package provides an extension to Babel @samp{greek} option for +typesetting classical Greek with a philological approach. The package works +with the author's greek fonts using the Lispiakos font shape derived from that +of the fonts used in printers shops in Lispia.") + (license license:lppl1.3c))) + (define-public texlive-tex (package (name "texlive-tex") @@ -9424,6 +17928,180 @@ analytical expansion of sin and cos.") barcodes.") (license license:lppl))) +(define-public texlive-uplatex + (package + (name "texlive-uplatex") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/man/man1/uplatex.1" + "doc/man/man1/uplatex.man1.pdf" + "doc/uplatex/base/" + "source/uplatex/base/" + "tex/uplatex/base/" + "tex/uplatex/config/") + (base32 + "0bzkyira30b9xdsdfxjmwzgqffl9pvckz5avm6c3r0bq6asiml9l"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (arguments + (list #:create-formats #~(list "uplatex" "uplatex-dev") + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'fix-build + ;; This phase is necessary because the build phase is + ;; reluctant to generate "ukinsoku.tex" since there is + ;; another one among the inputs (texlive-uptex) already. + (lambda _ + (substitute* "source/uplatex/base/uplfmt.ins" + (("\\\\keepsilent\n" all) + (string-append all "\\askforoverwritefalse\n")))))))) + (propagated-inputs + (list texlive-atbegshi + texlive-atveryend + texlive-babel + texlive-cm + texlive-everyshi + texlive-firstaid + texlive-hyphen-base + texlive-l3backend + texlive-l3kernel + texlive-l3packages + texlive-latex + texlive-latex-fonts + texlive-platex + texlive-tex-ini-files + texlive-unicode-data + texlive-uptex + texlive-uptex-fonts)) + (home-page "https://ctan.org/pkg/uplatex") + (synopsis "pLaTeX2e and miscellaneous macros for upTeX") + (description + "The bundle provides pLaTeX2e macros for upTeX by Takuji Tanaka.") + (license license:bsd-3))) + +(define-public texlive-uptex-base + (package + (name "texlive-uptex-base") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/uptex/uptex-base/" + "tex/uptex/uptex-base/") + (base32 + "1xd55rv5ivlmmfmvvz611by6dbi0cw4lwpprcvd9yvgmqjafc1pj"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/uptex-base") + (synopsis "Plain TeX formats and documents for upTeX") + (description + "The bundle contains plain TeX format files and documents for upTeX and +and e-upTeX.") + (license license:bsd-3))) + +(define-public texlive-uptex + (package + (name "texlive-uptex") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/man/man1/euptex.1" + "doc/man/man1/euptex.man1.pdf" + "doc/man/man1/upbibtex.1" + "doc/man/man1/upbibtex.man1.pdf" + "doc/man/man1/uppltotf.1" + "doc/man/man1/uppltotf.man1.pdf" + "doc/man/man1/uptex.1" + "doc/man/man1/uptex.man1.pdf" + "doc/man/man1/uptftopl.1" + "doc/man/man1/uptftopl.man1.pdf") + (base32 + "14hn2n6jbibbqbdr72j74z5bz003jnlabi3kja0f0waxhas680gd"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (arguments (list #:create-formats #~(list "euptex" "uptex"))) + (propagated-inputs + (list texlive-cm + texlive-etex + texlive-hyphen-base + texlive-knuth-lib + texlive-plain + texlive-ptex-base + texlive-uptex-base + texlive-uptex-fonts)) + (home-page "https://ctan.org/pkg/uptex") + (synopsis "Unicode version of pTeX") + (description + "upTeX is an extension of pTeX, using UTF-8 input and producing UTF-8 output. +It was originally designed to improve support for Japanese, but is also useful +for documents in Chinese and Korean. It can process Chinese simplified, +Chinese traditional, Japanese, and Korean simultaneously, and can also process +original LaTeX with @code{\\inputenc@{utf8@}} and Babel +(Latin/Cyrillic/Greek etc.) by switching its @code{\\kcatcode} tables.") + (license license:bsd-3))) + +(define-public texlive-uptex-fonts + (package + (name "texlive-uptex-fonts") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/fonts/uptex-fonts/" + "fonts/cmap/uptex-fonts/" + "fonts/source/uptex-fonts/" + "fonts/tfm/uptex-fonts/jis/" + "fonts/tfm/uptex-fonts/min/" + "fonts/vf/uptex-fonts/jis/" + "fonts/vf/uptex-fonts/min/") + (base32 + "13cvdmfr97ad77q0djffl28grm1brqcsb1ccwkfdnkznp7ihiz82"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/uptex-fonts") + (synopsis "Fonts for use with upTeX") + (description "The bundle contains fonts (TFM and VF) for use with upTeX.") + (license license:bsd-3))) + +(define-public texlive-upzhkinsoku + (package + (name "texlive-upzhkinsoku") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/generic/upzhkinsoku/" + "tex/generic/upzhkinsoku/") + (base32 + "0c95fy9raykpjgnkz5h0wyjxyg2h0ksx2kb14lx2rsv65xsi909y"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/upzhkinsoku") + (synopsis "Supplementary Chinese kinsoku for Unicode *pTeX") + (description + "This package provides supplementary Chinese kinsoku (line breaking rules +etc.)@: settings for Unicode (e-)upTeX (when using Unicode as its internal +encoding), and ApTeX. Both LaTeX and plain TeX are supported.") + (license license:knuth))) + +(define-public texlive-variations + (package + (name "texlive-variations") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/generic/variations/" + "tex/generic/variations/") + (base32 + "1ad1yc1v32ds4wj36fql6fjiacziw4ynvw0rpj3x01k6jdvh44xh"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/variations") + (synopsis "Typeset tables of variations of functions") + (description + "The package provides macros for typesetting tables showing variations of +functions according to French usage. These macros may be used by both LaTeX +and plain TeX users.") + (license license:gpl3+))) + (define-public texlive-varisize (package (name "texlive-varisize") @@ -9443,6 +18121,32 @@ a size-change macro. Note that @file{10point.tex} is by convention called by one of the other files, so that there's always a way back.") (license license:public-domain))) +(define-public texlive-xgreek + (package + (name "texlive-xgreek") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/xgreek/" "source/latex/xgreek/" + "tex/latex/xgreek/") + (base32 + "0hmy7s53bi9szvp13zcg6hk23s8mr2ssbnmq9cw5sb8ggz8icywa"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/xgreek") + (synopsis "Greek language support for XeLaTeX and LuaLaTeX") + (description + "This package has been designed so to allow people to typeset Greek +language documents using XeLaTeX or LuaLaTeX. Practically, it provides all +the capabilities of the @samp{greek} option of the Babel package. + +The package can be invoked with any of the following options: +@samp{monotonic} (for typesetting modern monotonic Greek), +@samp{polytonic} (for typesetting modern polytonic Greek), and +@samp{ancient} (for typesetting ancient texts). The default option is +@samp{monotonic}.") + (license license:lppl1.3c))) + (define-public texlive-xii (package (name "texlive-xii") @@ -9525,6 +18229,91 @@ features allow to deal with numbers (tests, display, some high level operations, etc.)") (license license:lppl1.3+))) +(define-public texlive-xtuthesis + (package + (name "texlive-xtuthesis") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/xtuthesis/" + "tex/latex/xtuthesis/") + (base32 + "1fdk9dkikqlkjwrg8qjm2phvsyyvddshf78bjy6liyz5hqakk6r8"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/xtuthesis") + (synopsis "XTU thesis template") + (description + "The package provides a thesis template for the Xiangtan University.") + (license license:lppl1.3+))) + +(define-public texlive-yannisgr + (package + (name "texlive-yannisgr") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/fonts/yannisgr/" + "fonts/source/public/yannisgr/" + "fonts/tfm/public/yannisgr/") + (base32 + "0s5cfid1r6jn34kzvmxwxyxpvyb0rayn80x3n7k515p1plqmmrnq"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (native-inputs (list texlive-levy texlive-metafont)) + (home-page "https://ctan.org/pkg/yannisgr") + (synopsis "Greek fonts by Yannis Haralambous") + (description + "This package provides a family of 7-bit fonts with a code table designed +for setting modern polytonic Greek. The fonts are provided as Metafont +source; macros to produce a Greek variant of Plain TeX (including +a hyphenation table adapted to the fonts code table) are provided.") + (license license:gpl2))) + +(define-public texlive-zhlineskip + (package + (name "texlive-zhlineskip") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/zhlineskip/" + "tex/latex/zhlineskip/") + (base32 + "070vi0pra74in55r0pq2k35s3x3xk6gjwvnsif7bnx4k7wn39mal"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/zhlineskip") + (synopsis "Line spacing for CJK documents") + (description + "This package supports typesetting CJK documents. It allows users to +specify the two ratios between the leading and the font size of the body text +and the footnote text. For CJK typesetting, these ratios usually range from +1.5 to 1.67. This package is also capable of restoring the math leading to +that of the Latin text (usually 1.2 times the font size).") + (license license:lppl1.3c))) + +(define-public texlive-zhlipsum + (package + (name "texlive-zhlipsum") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/zhlipsum/" + "source/latex/zhlipsum/" + "tex/latex/zhlipsum/") + (base32 + "1lhc3a8l5sizyw0v1cfsrwwwymmyab1yvx99iqhdh7avrzmi2gda"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (native-inputs (list texlive-ctex)) + (home-page "https://ctan.org/pkg/zhlipsum") + (synopsis "Chinese dummy text") + (description + "This package provides an interface to dummy text in Chinese language, +which will be useful for testing Chinese documents. UTF-8, GBK and Big5 +encodings are supported.") + (license license:lppl1.3c))) + (define-public texlive-zztex (package (name "texlive-zztex") @@ -9671,6 +18460,48 @@ test file that is intended to be sent to the LaTeX bug database as part of a bug report.") (license license:lppl1.3c))) +(define-public texlive-lcyw + (package + (name "texlive-lcyw") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/lcyw/" "source/latex/lcyw/" + "tex/latex/lcyw/") + (base32 + "1yijk9l2ls6sq45ifx6m9d7xxk0ysrnn1y3fjz8wxwgwxp88x9fh"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/lcyw") + (synopsis "Make classic Cyrillic CM fonts accessible in LaTeX") + (description + "The package makes the classic CM Cyrillic fonts accessible for use with +LaTeX.") + (license license:lppl1.3+))) + +(define-public texlive-lhcyr + (package + (name "texlive-lhcyr") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "source/latex/lhcyr/" "tex/latex/lhcyr/") + (base32 + "09cg2hs5g20axbfpv2k6df5pi3xm0aywcswhnknllykr6z0ip2zw"))) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/lhcyr") + (synopsis "Non-standard Cyrillic input scheme") + (description + "This package provides a collection of three LaTeX2e styles intended for +typesetting Russian and bilingual English-Russian documents, using the +@code{lh} fonts and without the benefit of Babel's language-switching +mechanisms. The packages (@code{hcyralt} and @code{hcyrwin} for use under +emTeX, and @code{hcyrkoi} for use under teTeX} provide mappings between the +input encoding and the font encoding, which is described as OT1. The way this +is done does not match the way @code{inputenc} would do the job, for output +via fontenc to one of the T2 series of font encodings.") + (license license:knuth))) + (define-public texlive-luafindfont (package (name "texlive-luafindfont") @@ -9924,6 +18755,24 @@ from Adobe's basic set.") documentation from TeX files. It is part of the LaTeX base.") (license license:lppl1.3+))) +(define-public texlive-undergradmath + (package + (name "texlive-undergradmath") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/undergradmath/") + (base32 + "1z8my3fwqc8rfc1843j7lcmfka2023z9k0js4ygh1m8kilc2nrr7"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/undergradmath") + (synopsis "LaTeX Math for undergraduates cheat sheet") + (description + "This is a cheat sheet for writing mathematics with LaTeX. It is aimed +at US undergraduates.") + (license license:cc-by-sa4.0))) + (define-public texlive-underscore (package (name "texlive-underscore") @@ -10320,6 +19169,23 @@ this is to print on (notional) small paper, and then to magnify the result; the script calculates the settings for various font and paper sizes.") (license license:asl2.0))) +(define-public texlive-latex-via-exemplos + (package + (name "texlive-latex-via-exemplos") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/latex-via-exemplos/") + (base32 + "1w0rqhgdkflxypfmxyz61aknmjil9yikc641v2dmc5l55gl2r3nw"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/latex-via-exemplos") + (synopsis "LaTeX course written in Brazilian Portuguese language") + (description + "This is a LaTeX2e course written in Brazilian Portuguese language.") + (license license:gpl2+))) + (define-public texlive-latex2man (package (name "texlive-latex2man") @@ -10719,6 +19585,71 @@ process. It also provides a library which can be used to create customized conversion tools.") (license license:lppl1.3+))) +(define-public texlive-makecell + (package + (name "texlive-makecell") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/makecell/" + "source/latex/makecell/" + "tex/latex/makecell/") + (base32 + "1n122230s49jizldn8ps1pfa5dsg8wmh5x8wla4y6rsgjcccqn4s"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (arguments + (list + #:tex-format "latex" + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'replace-obsolete-package + ;; "slashbox" is no longer provided in TeX Live. It is superseded + ;; by `diagbox', which is backward compatible. + (lambda _ + (substitute* "source/latex/makecell/makecell.dtx" + (("\\\\usepackage\\{slashbox\\}") + "\\usepackage{diagbox}")))) + (add-after 'replace-obsolete-package 'load-float + ;; Loading `float' package prevents the "Unknown float option `H'" + ;; error. + (lambda _ + (substitute* "source/latex/makecell/makecell.dtx" + (("usepackage\\{diagbox\\}.*" line) + (string-append line "\\usepackage{float}\n"))))) + (add-after 'load-float 'remove-hsize-reference + ;; Replace "\hsize" primitive with a dummy value to prevent + ;; a "missing number treated as zero" error. + (lambda _ + (substitute* "source/latex/makecell/makecell.dtx" + (("\\\\ttabbox\\[\\\\hsize\\]") "\\ttabbox[10cm]"))))))) + (native-inputs + (list (texlive-updmap.cfg + (list texlive-diagbox + texlive-float + texlive-hypdoc + texlive-multirow + texlive-pict2e)))) + (home-page "https://ctan.org/pkg/makecell") + (synopsis "Tabular column heads and multilined cells") + (description + "This package supports common layouts for tabular column heads in whole +documents, based on one-column tabular environment. In addition, it can +create multi-lined tabular cells. + +The package also offers: +@itemize +@item a macro which changes the vertical space around all the cells in a @code{tabular} +environment, +@item macros for multirow cells, which use the facilities +of the @code{multirow} package, +@item macros to number rows in tables, or to skip cells; +@item diagonally divided cells; +@item horizontal lines in @code{tabular} environments with defined thickness. +@end itemize") + (license license:lppl))) + + (define-public texlive-optexcount (package (name "texlive-optexcount") @@ -11628,6 +20559,59 @@ mathematical fonts in a range of styles, based on Monotype Modern 8A.") (define-deprecated-package texlive-fonts-cm texlive-cm) +(define-public texlive-cmbright + (package + (name "texlive-cmbright") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/fonts/cmbright/" + "doc/latex/cmbright/" + "fonts/source/public/cmbright/" + "fonts/tfm/public/cmbright/" + "source/latex/cmbright/" + "tex/latex/cmbright/") + (base32 + "0sj6g877p6ak045x7737g3lg4kab8hgc2s2g6i23dw9d35csqf8d"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (native-inputs (list texlive-amsfonts texlive-ec texlive-metafont)) + (home-page "https://ctan.org/pkg/cmbright") + (synopsis "Computer Modern Bright fonts") + (description + "This package provides a family of sans serif fonts for TeX and LaTeX, +based on Donald Knuth's CM fonts. It comprises OT1, T1 and TS1 encoded text +fonts of various shapes as well as all the fonts necessary for mathematical +typesetting, including AMS symbols. This collection provides all the +necessary files for using the fonts with LaTeX.") + (license license:lppl))) + +(define-public texlive-cmcyr + (package + (name "texlive-cmcyr") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/fonts/cmcyr/" + "fonts/map/dvips/cmcyr/" + "fonts/source/public/cmcyr/" + "fonts/tfm/public/cmcyr/" + "fonts/type1/public/cmcyr/" + "fonts/vf/public/cmcyr/") + (base32 + "0mmlb3ky6cakwg8nsgkdkpc52ni2jf2w7nz5bfiyxhvy6mx1c64b"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (native-inputs (list texlive-metafont)) + (home-page "https://ctan.org/pkg/cmcyr") + (synopsis "Computer Modern fonts with Cyrillic extensions") + (description + "These are the Computer Modern fonts extended with Russian letters, in +Metafont sources and ATM Compatible Type 1 format. The fonts are provided in +KOI-7, but virtual fonts are available to recode them to three other Russian +8-bit encodings.") + (license license:public-domain))) + (define-public texlive-cmextra (package (name "texlive-cmextra") @@ -11714,6 +20698,61 @@ originals.") (define-deprecated-package texlive-fonts-cm-super texlive-cm-super) +(define-public texlive-cnbwp + (package + (name "texlive-cnbwp") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "bibtex/bst/cnbwp/" "doc/latex/cnbwp/" + "makeindex/cnbwp/" "tex/latex/cnbwp/") + (base32 + "13i5nvdnvq5f7rx0w63q8j1km7bfq1rs7kr49hsabz5v0z0v90xc"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/cnbwp") + (synopsis "Typeset working papers of the Czech National Bank") + (description + "The package supports proper formatting of Working Papers of the Czech +National Bank (WP CNB). The package was developed for CNB but it is also +intended for authors from outside CNB.") + (license license:lppl))) + +(define-public texlive-cns + (package + (name "texlive-cns") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/fonts/cns/cns40-1/" + "doc/fonts/cns/cns40-2/" + "doc/fonts/cns/cns40-3/" + "doc/fonts/cns/cns40-4/" + "doc/fonts/cns/cns40-5/" + "doc/fonts/cns/cns40-6/" + "doc/fonts/cns/cns40-7/" + "doc/fonts/cns/cns40-b5/" + "fonts/misc/cns/" + "fonts/tfm/cns/c0so12/" + "fonts/tfm/cns/c1so12/" + "fonts/tfm/cns/c2so12/" + "fonts/tfm/cns/c3so12/" + "fonts/tfm/cns/c4so12/" + "fonts/tfm/cns/c5so12/" + "fonts/tfm/cns/c6so12/" + "fonts/tfm/cns/c7so12/") + (base32 + "00v6sf0a0fm09z54d3zhvdwc2gi712knbxnx3mlj2ri5x2jisyqa"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/cjk-fonts") + (synopsis "Chinese/Japanese/Korean bitmap fonts") + (description + "This bundle provides fonts to go with the @code{cjk} macro package for Chinese, +Japanese and Korean with LaTeX2e. The package aims to supersede HLaTeX fonts +bundle.") + (license license:public-domain))) + (define-public texlive-courier (package (name "texlive-courier") @@ -11742,6 +20781,95 @@ Adobe's basic set.") ;; No license version specified. (license license:gpl3+))) +(define-public texlive-csbulletin + (package + (name "texlive-csbulletin") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/csbulletin/" + "tex/latex/csbulletin/") + (base32 + "15zjwwjdxs0avb5y4g29nyvhafrv2s8pgqihhi2kb72y8wzj9cdz"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/csbulletin") + (synopsis + "LaTeX class for articles submitted to the CSTUG Bulletin (@emph{Zpravodaj})") + (description + "The package provides the class for articles for the CSTUG +Bulletin (@emph{Zpravodaj Ceskoslovenskeho sdruzeni uzivatelu TeXu}). You can +see the structure of a document by looking at the source file of the manual.") + (license license:lppl1.3c))) + +(define-public texlive-cslatex + (package + (name "texlive-cslatex") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/man/man1/cslatex.1" + "doc/man/man1/cslatex.man1.pdf" + "doc/man/man1/pdfcslatex.1" + "doc/man/man1/pdfcslatex.man1.pdf" + "source/cslatex/base/" + "source/cslatex/cspsfonts/" + "tex/cslatex/base/" + "tex/cslatex/cspsfonts/") + (base32 + "1px1b4zicvdzs5br22c8ksna7imb9m7bv9c3q55a705cqfawd97h"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (arguments + (list + #:create-formats #~(list "cslatex" "pdfcslatex") + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'fix-build + ;; This phase is necessary because the build phase is reluctant to + ;; generate "hyphen.cfg" since there is another one among the + ;; inputs already. + (lambda _ + (substitute* "source/cslatex/base/cslatex.ins" + (("\\keepsilent\n" all) + (string-append all "\\askforoverwritefalse\n")))))))) + (propagated-inputs + (list texlive-atbegshi + texlive-atveryend + texlive-cm + texlive-csplain + texlive-everyshi + texlive-firstaid + texlive-hyphen-base + texlive-l3kernel + texlive-l3packages + texlive-latex + texlive-latex-fonts + texlive-tex-ini-files + texlive-unicode-data)) + (home-page "https://ctan.org/pkg/cslatex") + (synopsis "LaTeX support for Czech/Slovak typesetting") + (description + "This package provides LaTeX support for Czech and Slovak typesetting.") + (license license:gpl3+))) + +(define-public texlive-cstex + (package + (name "texlive-cstex") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/cstex/") + (base32 + "1vsbq9a31ymvrj0bx48n93chyqmma3q7b49k7dmhb0hkic6h73aj"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/cstex") + (synopsis "Support for Czech/Slovak languages") + (description + "CSTeX is a Czech and Slovak languages distribution of Plain and LaTeX.") + (license license:gpl2))) + (define-public texlive-cweb (package (name "texlive-cweb") @@ -11776,6 +20904,32 @@ for German, French (partially), and Italian program documentation on any machine.") (license license:knuth))) +(define-public texlive-cyrplain + (package + (name "texlive-cyrplain") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "tex/plain/cyrplain/") + (base32 + "1wdcibxs0g53warxs6vz39s3chldzh05p7v1ksskppghg5qzgh8z"))) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/t2") + (synopsis "Support for using T2 encoding") + (description + "The T2 bundle provides a variety of separate support functions for using +Cyrillic characters in LaTeX: +@itemize +@item the @code{mathtext} package, for using Cyrillic letters transparently in +formulae; +@item the @code{citehack} package, for using Cyrillic (or indeed any +non-ASCII) characters in citation keys; +@item support for Cyrillic in BibTeX; +@item support for Cyrillic in Makeindex; +@item various items of font support. +@end itemize") + (license license:lppl))) + (define-public texlive-tex-gyre (package (name "texlive-tex-gyre") @@ -12104,6 +21258,59 @@ can interact with LaTeX.mk so that the latter automatically invokes @end itemize") (license license:gpl3+))) +(define-public texlive-latex-mr + (package + (name "texlive-latex-mr") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/latex-mr/") + (base32 + "1zd948d9y63js7980g2bvxpf67hshh2xa3n2ihbzwhpw6l9cbh1w"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/latex-mr") + (synopsis + "Practical guide to LaTeX and Polyglossia for Marathi and other Indian +languages") + (description + "This document aims to introduce LaTeX and Polyglossia for Indian languages. +Though the document often discusses the language Marathi, the discussion +applies to other India languages also. We assume that the user of this +document knows basic (La)TeX or has, at least, tried her hand on it. This +document is not very suitable for first time users.") + (license license:lppl1.3+))) + +(define-public texlive-latexbangla + (package + (name "texlive-latexbangla") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/latexbangla/" + "tex/latex/latexbangla/") + (base32 + "19h1axbfp1xclbhffdiczzqpr4lk2jw8kkz4qqh8f2rnhjxd94vw"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/latexbangla") + (synopsis "Enhanced LaTeX integration for Bangla") + (description + "This package simplifies the process of writing Bangla in LaTeX and +addresses most of the associated typesetting issues. Its notable features +are: + +@itemize +@item automated transition from Bangla to English and vice versa; +@item patch for the unproportionate whitespace issue in popular Bangla fonts; +@item full support for all the common commands and environments; +@item Bangla numbering for page, section, chapter, footnotes, extending +Polyglossia's support. +@item new @code{theorem}, @code{problems}, @code{example}, @code{solution} and +other environments, all of which are in Bangla. +@end itemize") + (license license:lppl1.3+))) + (define-public texlive-liftarm (package (name "texlive-liftarm") @@ -12598,6 +21805,45 @@ LaTeX user to easily create complex commutative diagrams, by placing formula nodes on a conceptual grid and attaching arrows to them.") (license license:gpl2+))) +(define-public texlive-pbibtex-base + (package + (name "texlive-pbibtex-base") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/ptex/pbibtex/" "pbibtex/bib/" + "pbibtex/bst/") + (base32 + "06glwwv1rw4n5cpg6cs70yzgyix65nhfsakyq72sn82yss1gvf8z"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/pbibtex-base") + (synopsis "Bibliography styles and miscellaneous files for pBibTeX") + (description + "These are miscellaneous files, including bibliography +styles (@file{.bst}), for pBibTeX, which is a Japanese extended version of +BibTeX contained in TeX Live.") + (license license:bsd-3))) + +(define-public texlive-pbibtex-manual + (package + (name "texlive-pbibtex-manual") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/pbibtex-manual/") + (base32 + "030rhhb4xcijvjc0x1ylyk6xz5mn90wrlp5ss4yr6qlpzmq21b50"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/pbibtex-manual") + (synopsis "Documentation files for (u)pBibTeX") + (description + "The bundle contains documentation files for Japanese pBibTeX and +upBibTeX. For historical reasons, this also contains old documentation files +for JBibTeX.") + (license license:bsd-3))) + (define-public texlive-penrose (package (name "texlive-penrose") @@ -12916,6 +22162,27 @@ same way that @code{kvoptions} adds the same facility to the LaTeX standard PGF/TikZ.") (license license:lppl1.3+))) +(define-public texlive-pgfornament-han + (package + (name "texlive-pgfornament-han") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/pgfornament-han/" + "tex/latex/pgfornament-han/") + (base32 + "17h71dbzj7a381gv3zn1pr1g2376mwwg8l9mk3y97wiv9m9afhxn"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/pgfornament-han") + (synopsis "Library for Chinese traditional motifs and patterns") + (description + "This package provides a @code{pgfornament} library for Chinese +traditional motifs and patterns. The command @code{\\pgfornamenthan} takes +the same options as @code{\\pgfornament} from the @code{pgfornament} package, +but renders Chinese traditional motifs instead.") + (license license:lppl1.3c))) + (define-public texlive-pgfplots (package (name "texlive-pgfplots") @@ -13010,6 +22277,25 @@ modifies @code{\\plot} to use a rule instead of dots if the line segment is horizontal or vertical.") (license license:lppl))) +(define-public texlive-pictexsum + (package + (name "texlive-pictexsum") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/pictexsum/") + (base32 + "00yd0945qiss5jizkxncg8a9bdsld7mkhaipi92bbn1ghqicsw5a"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/pictexsum") + (synopsis "Summary of PicTeX commands") + (description + "The document summarises the commands of PicTeX. While it is no +substitute for the PicTeX manual itself, the document is a useful aide-memoire +for those who have read the manual.") + (license license:bsd-2))) + (define-public texlive-pinlabel (package (name "texlive-pinlabel") @@ -13068,6 +22354,26 @@ using TikZ.") arts.") (license license:lppl1.3c))) +(define-public texlive-plain-doc + (package + (name "texlive-plain-doc") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/plain/plain-doc/") + (base32 + "062d6hg4npy57307avvyd2sdxnmyrh5ia2rdb17p6cx555k8zxwq"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/csname-doc") + (synopsis "List of Plain TeX control sequence names") + (description + "The document constitutes a list of every control sequence +name (@dfn{csname}) described in the TeXbook, together with an indication of +whether the csname is a primitive TeX command, or is defined in +@file{plain.tex}.") + (license license:public-domain))) + (define-public texlive-pmgraph (package (name "texlive-pmgraph") @@ -13371,6 +22677,26 @@ duck) showcasing the use of characters from the Mario video games by Nintendo in LaTeX.") (license license:lppl1.3c))) +(define-public texlive-pxtatescale + (package + (name "texlive-pxtatescale") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/pxtatescale/" + "tex/latex/pxtatescale/") + (base32 + "1f9xm6nc9h6r2n5rsz6iw4m1x8r13anisv08j5hkidcyvj6n2s6n"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/pxtatescale") + (synopsis + "Patch to graphics driver for scaling in vertical direction of pTeX") + (description + "This package patches graphics driver @code{dvipdfmx} to support correct +scaling in vertical direction of Japanese pTeX and upTeX.") + (license license:expat))) + (define-public texlive-qcircuit (package (name "texlive-qcircuit") @@ -13408,6 +22734,126 @@ designed to help users generate circuits.") drawing quantum circuit diagrams.") (license license:cc-by4.0))) +(define-public texlive-quran + (package + (name "texlive-quran") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/quran/" "tex/latex/quran/") + (base32 + "0y5znkwaw5qy2541p10pqqvbblzn0v088c7v8p5lc2za6lh83fj2"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/quran") + (synopsis "Easy way to typeset any part of the @emph{Holy Quran}") + (description + "This package offers the user an easy way to typeset the @emph{Holy +Quran}. It provides several macros for typesetting the whole or any part of +the Quran based on its popular division, including @emph{Surah}, @emph{Ayah}, +@emph{Juz}, @emph{Hizb}, @emph{Quarter}, and @emph{Page}. Besides the Arabic +original, translations to English, German, French, and Persian are provided, +as well as an English transliteration.") + (license license:lppl1.3c))) + +(define-public texlive-quran-bn + (package + (name "texlive-quran-bn") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/quran-bn/" "tex/latex/quran-bn/") + (base32 + "1zlm02drh9qfasxf0bwhvrmp521ixzys2aqq896339grkzay0g6q"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/quran-bn") + (synopsis "Bengali translations to the @code{quran} package") + (description + "The package is prepared for typesetting some Bengali translations of the +Holy Quran. It adds two Bengali translations to the @code{quran} package.") + (license license:lppl1.3+))) + +(define-public texlive-quran-de + (package + (name "texlive-quran-de") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/xelatex/quran-de/" + "tex/xelatex/quran-de/") + (base32 + "06syk1ifxcy8wxfxgnrh6d3hpx4bdprxgkc9jicaaca6j6m3rm65"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/quran-de") + (synopsis "German translations to the @code{quran} package") + (description + "The package is prepared for typesetting some German translations of the +Holy Quran. It adds three more German translations to the @code{quran} +package.") + (license license:lppl1.3c))) + +(define-public texlive-quran-ur + (package + (name "texlive-quran-ur") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/quran-ur/" "tex/latex/quran-ur/") + (base32 + "0lsp4ldbi1cl044ah5x2br1krglw6qn92rx8h7hkfdr85byzyk25"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/quran-ur") + (synopsis "Urdu translations to the @code{quran} package") + (description + "The package is prepared for typesetting some Urdu translations of the +Holy Quran. It adds eight Urdu translations to the @code{quran} package.") + (license license:lppl1.3c))) + +(define-public texlive-qyxf-book + (package + (name "texlive-qyxf-book") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/qyxf-book/" + "tex/latex/qyxf-book/") + (base32 + "0sgjdfpmwjqh40sbanj772bwimbf3az7wah65hxaz5198xd67m1y"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/qyxf-book") + (synopsis "Book Template for Qian Yuan Xue Fu") + (description + "@code{qyxf-book} is a LaTeX document class (template) developed by Qian +Yuan Xue Fu (QYXF), a student club of Xi'an Jiaotong University (XJTU). It +creates a minimalistic document style, and several color schemes are offered. +Currently the template is only designed for Chinese typesetting.") + (license license:expat))) + +(define-public texlive-r-und-s + (package + (name "texlive-r-und-s") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/r_und_s/" "tex/latex/r_und_s/") + (base32 + "15w8sggvlh28567y1d4vpbq8and12hvhphfvd7vabbn8g1l6h1yi"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/r-und-s") + (synopsis "Chemical hazard codes") + (description + "The @code{r-und-s} package decodes the german R- und S-Satze, which are +numerically coded security advice for chemical substances into plain text. +This is, e.g., used to compose security sheets or lab protocols and especially +useful for students of chemistry. There are four packages, giving texts in +German, English, French and Dutch.") + (license license:bsd-2))) + (define-public texlive-randbild (package (name "texlive-randbild") @@ -13526,6 +22972,29 @@ steps can be customized in various ways.") example to be used in educational material.") (license license:lppl1.3+))) +(define-public texlive-rojud + (package + (name "texlive-rojud") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/fonts/rojud/" "fonts/map/dvips/rojud/" + "fonts/tfm/public/rojud/" + "fonts/type1/public/rojud/" + "tex/latex/rojud/") + (base32 + "0vq5m755wa5j9y072gmyf7pl7cisxh029b5j8rm46kqllfpaz4zj"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/rojud") + (synopsis "Font with the images of the counties of Romania") + (description + "This package provides a Type 1 font with images of the 42 counties of Romania, +constructed using a general method which is described in detail in the +documentation. The package name is an abbreviation of @emph{judetele +Romaniei} (i.e., counties of Romania).") + (license license:lppl))) + (define-public texlive-rviewport (package (name "texlive-rviewport") @@ -13610,6 +23079,27 @@ model of psychological experience. These symbols are prepared using TikZ.") using TikZ.") (license license:lppl))) +(define-public texlive-schulmathematik + (package + (name "texlive-schulmathematik") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/schulmathematik/" + "tex/latex/schulmathematik/") + (base32 + "1lgsn7my9v2jks553c25wcagaqvxzmzjsijwkilys697c936dv57"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/schulmathematik") + (synopsis + "Commands and document classes for German-speaking teachers of +mathematics and physics") + (description + "The @code{schulmathematik} bundle provides two LaTeX packages and six +document classes for German-speaking teachers of mathematics and physics.") + (license license:lppl1.3+))) + (define-public texlive-scratch (package (name "texlive-scratch") @@ -13683,6 +23173,24 @@ display many variants of snowman") (description "The package will typeset cards for use in a game of Set.") (license license:gpl3))) +(define-public texlive-sexam + (package + (name "texlive-sexam") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/xelatex/sexam/" "tex/xelatex/sexam/") + (base32 + "0bwzxm8xj7p930rgxh6j6rzb7r26i0w61ixy74wkqwmvb3951rf6"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/sexam") + (synopsis "Typeset Arabic exam scripts") + (description + "The package provides a modified version of the @code{exam} package made +compatible with XeLaTeX and Polyglossia to typeset Arabic exams.") + (license license:lppl1.3+))) + (define-public texlive-signchart (package (name "texlive-signchart") @@ -13746,6 +23254,25 @@ popular Java script Bootstrap.") mirrors for use in optical diagrams.") (license license:lppl1.3c))) +(define-public texlive-simurgh + (package + (name "texlive-simurgh") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/lualatex/simurgh/" + "tex/lualatex/simurgh/") + (base32 + "11256ssaq6hw6c93ldfgyp0gagv69hl54yg1c8wl5wkc0mrh42rb"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/simurgh") + (synopsis "Typeset Parsi in LuaLaTeX") + (description + "The package provides an automatic and unified interface for Parsi +typesetting in LaTeX, using the LuaTeX engine.") + (license license:gpl2))) + (define-public texlive-smartdiagram (package (name "texlive-smartdiagram") @@ -13835,6 +23362,26 @@ possible what is going wrong.") partitions, permutations, braids, etc.") (license license:lppl1.3+))) +(define-public texlive-swebib + (package + (name "texlive-swebib") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "bibtex/bst/swebib/" "doc/latex/swebib/") + (base32 + "0bw7ls5gbi31gr9h4mqv2blva1skqymprp350n9wm086kgyv4s8h"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/swebib") + (synopsis "Swedish bibliography styles") + (description + "The bundle contains Swedish versions of the standard bibliography +styles, and of the style @code{plainnat}. The styles should be functionally +equivalent to the corresponding original styles, apart from the Swedish +translations. The styles do not implement Swedish collation.") + (license license:lppl1.2+))) + (define-public texlive-swimgraf (package (name "texlive-swimgraf") @@ -13937,6 +23484,82 @@ and -editable format; a function and a convexity table of its graph.") (license license:lppl1.3+))) +(define-public texlive-templates-fenn + (package + (name "texlive-templates-fenn") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/templates-fenn/") + (base32 + "1s91swqsysva49cjrb9khgik5mvhxcb3wr2wz4l2683gdgxlbgkf"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/templates-fenn") + (synopsis "Templates for TeX usage") + (description + "This package provides a set of templates for using LaTeX packages that +the author uses, comprising: + +@itemize +@item @file{scrlttr2.tex}: a letter, written with @code{scrlttr2.cls} from the +KOMA-Script bundl, +@item @file{dinbrief.tex}: a letter according to the German +(DIN) standards, written with @file{dinbrief.cls}, +@item @file{kbrief.tex}: a brief memo (@emph{Kurzbrief}) to accompany +enclosures, as used in German offices, again based on @code{dinbrief}, +@item @file{vermerk.tex}: a general form for taking down notes on events in +the office, +@item @file{diabetes.tex}: a diary for the basis-bolus insulin therapy of +diabetes mellitus, using @file{scrartcl.cls} from the KOMA-Script bundle. +@end itemize") + (license license:lppl))) + +(define-public texlive-templates-sommer + (package + (name "texlive-templates-sommer") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/templates-sommer/") + (base32 + "0z75xhawsmcxv4f24cqcvfi0r22gavjpg4si6nwrgc8sg82x24m6"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/templates-sommer") + (synopsis "Templates for TeX usage") + (description + "This package provides a set of templates for using LaTeX packages that the +author uses, comprising: + +@itemize +@item @file{hausarbeit.tex}: for students of the Lehrstuhl Volkskunde an der +Friedrich-Schiller-Universitat Jena, +@item @file{psycho-Dipl.tex}: for diploma theses in psychology. +@end itemize") + (license license:lppl))) + +(define-public texlive-termcal-de + (package + (name "texlive-termcal-de") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/termcal-de/" + "source/latex/termcal-de/" + "tex/latex/termcal-de/") + (base32 + "0av913y88vfv0yb68xx1lrqpxd8hwx8x7zzb1qcb2d9r5ry1l8z7"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/termcal-de") + (synopsis "German localization for @code{termcal}") + (description + "This package provides a German localization to the @code{termcal} +package written by Bill Mitchell, which is intended to print a term calendar +for use in planning a class.") + (license license:lppl1.3c))) + (define-public texlive-tex4ht (package (name "texlive-tex4ht") @@ -14328,6 +23951,28 @@ no file is specified), filters out less relevant messages, and displays a summary report.") (license license:gpl3+))) +(define-public texlive-texnegar + (package + (name "texlive-texnegar") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/texnegar/" + "source/latex/texnegar/" + "tex/latex/texnegar/") + (base32 + "0rza5bmn7cm85aznnffpmfv6b8776jxkpfwhs0y04f83sdjapw63"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/texnegar") + (synopsis "Kashida justification in XeLaTeX and LuaLaTeX") + (description + "In some cursive scripts such as Persian or Arabic, kashida is used to +create justification. In this type of justification characters are elongated +rather than expanding spaces between words. This package extends the kashida +justification to be used with the LuaTeX engine.") + (license license:lppl1.3c))) + (define-public texlive-texosquery (package (name "texlive-texosquery") @@ -14402,6 +24047,38 @@ application is powerful enough to generate any text-based structure, given that a corresponding template exists.") (license license:bsd-3))) +(define-public texlive-texproposal + (package + (name "texlive-texproposal") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/texproposal/") + (base32 + "1yxb3yagljsdp4s07fzd6498889i7cscch68fb77jbfc2z4srvsy"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/texproposal") + (synopsis "Proposal prototype for LaTeX promotion in Chinese universities") + (description + "This package contains the original source code and necessary attachment +of the document @emph{Proposal for Offering TeX Courses and Relevant Resources +in Chongqing University}. This proposal could be helpful if one is +considering to suggest their (Chinese) university or company to use TeX (or +LaTeX, or XeLaTeX} as a typesetting system. + +The present proposal mainly explains the importance and necessity of +introducing TeX, a typesetting system often used in academic writing, to +students and teachers. This proposal starts from a brief introduction of TeX, +then steps further into its fascinating application to academic writing and +dissertation formatting. Finally, a set of possible implementation strategies +with regard to the proper introduction of TeX and relevant resources to our +university, is proposed.") + ;; The content of the project itself is released under CC-BY 4.0 terms, + ;; but the underlying code used to format and display that content is + ;; licensed under the Expat license. + (license (list license:cc-by4.0 license:expat)))) + (define-public texlive-texware (package (name "texlive-texware") @@ -15911,6 +25588,27 @@ cobordisms between circles, such as those used in TQFT and other mathematical diagrams.") (license license:lppl1.3+))) +(define-public texlive-tram + (package + (name "texlive-tram") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/tram/" + "fonts/source/public/tram/" + "tex/latex/tram/") + (base32 + "1b26615dd1qs12vl9d82xcxlc718s5jgirzygss9g7m908w2hqch"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/tram") + (synopsis "Typeset tram boxes in LaTeX") + (description + "Tram boxes are highlighted with patterns of dots; the package defines an +environment @code{tram} that typesets its content into a tram box. The +pattern used may be selected in an optional argument to the environment.") + (license license:lppl))) + (define-public texlive-tsemlines (package (name "texlive-tsemlines") @@ -16062,6 +25760,24 @@ Zhuyin) for Chinese Han scripts (Hanzi ideographs). @end itemize") (license license:bsd-3))) +(define-public texlive-utf8mex + (package + (name "texlive-utf8mex") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/mex/utf8mex/" "tex/mex/utf8mex/") + (base32 + "13013asha1v6vk743hxk4naciiham0cpar6jw0ndlh7mbmyll2y8"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/utf8mex") + (synopsis "Tools to produce formats that read Polish language input") + (description + "The bundle provides files for building formats to read input in Polish +encodings.") + (license license:public-domain))) + (define-public texlive-utfsym (package (name "texlive-utfsym") @@ -16100,6 +25816,46 @@ able to use them originally in a school setting such as on worksheets.") diagrams for lectures or assignment sheets.") (license license:lppl))) +(define-public texlive-visualfaq + (package + (name "texlive-visualfaq") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/visualfaq/") + (base32 + "0fjx5y95n8bhsnwsw34sazbgygznvw76z01rrxmn1bp8za7751n0"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/visualfaq") + (synopsis "Visual LaTeX FAQ") + (description + "Having trouble finding the answer to a LaTeX question? The @emph{Visual +LaTeX FAQ} is a search interface that presents over a hundred typeset samples +of frequently requested document formatting. Simply click on a hyperlinked +piece of text and the @emph{Visual LaTeX FAQ} will send your web browser to +the appropriate page in the TeX FAQ.") + (license license:lppl))) + +(define-public texlive-visualfaq-fr + (package + (name "texlive-visualfaq-fr") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/visualfaq-fr/") + (base32 + "0xk0qly49dqkrw1qjhnyp4r7y5jykghlp1y26hipghlaqqhdynga"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/visualfaq-fr") + (synopsis "FAQ LaTeX visuelle francophone") + (description + "The Visual LaTeX FAQ is an innovative new search interface on LaTeX +Frequently Asked Questions. This version is a French translation, offering +links to the French-speaking LaTeX FAQ.") + (license license:lppl1.3c))) + (define-public texlive-visualpstricks (package (name "texlive-visualpstricks") @@ -16118,6 +25874,25 @@ diagrams for lectures or assignment sheets.") per command or per parameter.") (license license:gpl3+))) +(define-public texlive-visualtikz + (package + (name "texlive-visualtikz") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/visualtikz/") + (base32 + "1q0a1mhc330z8cnhghp2p46bxsmzz8cdba8hcvssglz0gsq5z5fc"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/visualtikz") + (synopsis "Visual help for TikZ based on images with minimum text") + (description + "This package provides a visual help for TikZ based on images with +minimum text: an image per command or parameter. The document is in French, +but will be translated into English later.") + (license license:lppl1.3+))) + (define-public texlive-web (package (name "texlive-web") @@ -16184,6 +25959,48 @@ ordinary text, and as a picture element within a TikZ-picture. The appearance of a flag (size, frame etc.) can be adapted using optional parameters.") (license license:lppl1.3+))) +(define-public texlive-xepersian + (package + (name "texlive-xepersian") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/xelatex/xepersian/" + "fonts/misc/xetex/fontmapping/xepersian/" + "source/xelatex/xepersian/" + "tex/xelatex/xepersian/") + (base32 + "1h6nicajnvrrr72yixcdzcwdck82qa3zv2k2k6q5xprsf9sz8yly"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/xepersian") + (synopsis "Persian for LaTeX, using XeTeX") + (description + "This package provides a convenient interface for typesetting Persian and +English texts in LaTeX, using the XeTeX engine.") + (license license:lppl1.3c))) + +(define-public texlive-xepersian-hm + (package + (name "texlive-xepersian-hm") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/xelatex/xepersian-hm/" + "source/xelatex/xepersian-hm/" + "tex/xelatex/xepersian-hm/") + (base32 + "0lq5bam9vx2phwphy2ig9hygsz4vvz4bx2c6f87my84kp8n3w25n"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/xepersian-hm") + (synopsis "Fixes kashida feature in XePersian package") + (description + "The kashida feature in XePersian has problems with some fonts such as +the HM Series fonts and the XB Series fonts. This package fixes these +problems.") + (license license:lppl1.3c))) + (define-public texlive-xindex (package (name "texlive-xindex") @@ -16295,6 +26112,27 @@ aesthetics and traditions of Arabic typesetting, and adapting it to the era of digital typesetting, in a publicly available form.") (license license:silofl1.1))) +(define-public texlive-amiweb2c-guide + (package + (name "texlive-amiweb2c-guide") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/amiweb2c-guide/") + (base32 + "0cxwsx49p3c162ysv0ydyxdncfg8ij9sx2x7c4pvzb0yidvad01c"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/amiweb2c-guide") + (synopsis "How to install AmiWeb2c") + (description + "This is a guide for the installation of (La)TeX with the Amiga port of +Web2C named AmiWeb2C in the version 2.1 on an emulated Amiga 4000 computer +running Workbench 3.1. Furthermore the installation of an ARexx server for +calling LaTeX from an editor is described and some tips for the installation +of new fonts are given.") + (license license:lppl1.3c))) + (define-public texlive-amsfonts (package (name "texlive-amsfonts") @@ -16580,6 +26418,48 @@ and so on) while being, at the same time, seamlessly integrated within the rest of the mathematics produced by (AmS-)LaTeX.") (license license:lppl1.3+))) +(define-public texlive-haranoaji + (package + (name "texlive-haranoaji") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/fonts/haranoaji/" + "fonts/opentype/public/haranoaji/") + (base32 + "06lkgiylh0vjxqm8i4dvygna0zb112dw5xxlh8r5hr5kf2805m99"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/haranoaji") + (synopsis "Harano Aji fonts") + (description + "Harano Aji fonts (Harano Aji Mincho and Harano Aji Gothic) are fonts +obtained by replacing Adobe-Identity-0 (AI0) CIDs of Source Han fonts (Source +Han Serif and Source Han Sans) with Adobe-Japan1 (AJ1) CIDs. There are 14 +fonts, 7 weights each for Mincho and Gothic.") + (license license:silofl1.1))) + +(define-public texlive-haranoaji-extra + (package + (name "texlive-haranoaji-extra") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/fonts/haranoaji-extra/" + "fonts/opentype/public/haranoaji-extra/") + (base32 + "1zy3bv836rmpqimky7b2xgsmdh6xkkbnjiljraci2vnfgwl1q3pb"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/haranoaji-extra") + (synopsis "Extra weights for Harano Aji fonts") + (description + "Harano Aji fonts (Harano Aji Mincho and Harano Aji Gothic) are fonts +obtained by replacing Adobe-Identity-0 (AI0) CIDs of Source Han fonts (Source +Han Serif and Source Han Sans) with Adobe-Japan1 (AJ1) CIDs. This package +provides extra weights for these fonts.") + (license license:silofl1.1))) + (define-public texlive-hardwrap (package (name "texlive-hardwrap") @@ -16651,6 +26531,28 @@ Adobe's basic set.") ;; No license version specified. (license license:gpl3+))) +(define-public texlive-ieejtran + (package + (name "texlive-ieejtran") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "bibtex/bst/ieejtran/" + "doc/bibtex/ieejtran/") + (base32 + "01bcw45v6mbyb1gzykzk5ccwz70s6591994xrj84z9ljgzp06lyg"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/ieejtran") + (synopsis + "Unofficial bibliography style file for the Institute of Electrical +Engineers of Japan") + (description + "This package provides an unofficial BibTeX style for authors of the +Institute of Electrical Engineers of Japan (IEEJ) transactions journals and +conferences.") + (license license:expat))) + (define-public texlive-inputenx (package (name "texlive-inputenx") @@ -17192,6 +27094,26 @@ verbatim source).") (define-deprecated-package texlive-latex-fancyvrb texlive-fancyvrb) +(define-public texlive-fandol + (package + (name "texlive-fandol") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/fonts/fandol/" + "fonts/opentype/public/fandol/") + (base32 + "1lk91ypsvj2wkqsw8lklkqfsqimjyn0vzbwgqgs5h6kf61m6qsk5"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/fandol") + (synopsis "Four basic fonts for Chinese typesetting") + (description + "This package provides Fandol fonts designed for Chinese typesetting. +The current version contains four styles: Song, Hei, Kai, Fang. All fonts are +in OpenType format.") + (license license:gpl3+))) + (define-public texlive-gentium-tug (package (name "texlive-gentium-tug") @@ -17416,6 +27338,51 @@ for the user.") (define-deprecated-package texlive-latex-hycolor texlive-hycolor) +(define-public texlive-xcjk2uni + (package + (name "texlive-xcjk2uni") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/xcjk2uni/" + "source/latex/xcjk2uni/" + "tex/latex/xcjk2uni/") + (base32 + "1vjp47ngrirrvbnk4vnm5lbysj3qlbwxbfc1szc22gaikm52ggaq"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (arguments + (list + #:phases + #~(modify-phases %standard-phases + (add-before 'build 'copy-ctxdocstrip.tex + ;; There's a circular dependency between this package (where + ;; `ctex' should be a native input) and `ctex' (where this package + ;; is a propagated input). To work around this, install the + ;; specific "ctxdocstrip.tex" file from `ctex' in the build + ;; directory and set TEXINPUTS variable accordingly so the process + ;; can find it. + (lambda* (#:key inputs #:allow-other-keys) + (install-file (search-input-file inputs + "tex/generic/ctex/ctxdocstrip.tex") + "build/") + (setenv "TEXINPUTS" (string-append (getcwd) "/build:"))))))) + (native-inputs + (list (texlive-origin + "ctxdocstrip.tex" (number->string %texlive-revision) + (list "tex/generic/ctex/ctxdocstrip.tex") + (base32 + "154v2d6wfzhfg654nlh2apy9zr78d09rkimymyjqpxymkpbk8lli")))) + (home-page "https://ctan.org/pkg/xcjk2uni") + (synopsis "Convert CJK characters to Unicode, in pdfTeX") + (description + "The package provides commands to convert CJK characters to Unicode in +non-UTF-8 encoding; it provides hooks to support hyperref in producing correct +bookmarks. The bundle also provides @code{/ToUnicode} mapping file(s) for +a CJK subfont; these can be used with the cmap package, allowing searches of, +and cut-and-paste operations on a PDF file generated by pdfTeX.") + (license license:lppl1.3c))) + (define-public texlive-xcolor (package (name "texlive-xcolor") @@ -17469,6 +27436,25 @@ correctly; and define two extra commands: @code{\\vfrac} and @code{\\namedglyph}.") (license license:lppl1.3c))) +(define-public texlive-xml2pmx + (package + (name "texlive-xml2pmx") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/man/man1/xml2pmx.1" + "doc/man/man1/xml2pmx.man1.pdf") + (base32 + "1d3ralqh0b71scd59b4hmm707yfrz1rj28ni2lzkhbb1ql73bvah"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/xml2pmx") + (synopsis "Convert MusicXML to PMX and MusiXTeX") + (description + "This program translates MusicXML files to input suitable for PMX and +MusiXTeX processing.") + (license license:gpl3+))) + (define-public texlive-xmltexconfig (package (name "texlive-xmltexconfig") @@ -17537,6 +27523,104 @@ names, as well as character data, may use any characters allowed in XML, using UTF-8 or a suitable 8-bit encoding.") (license license:lppl1.0+))) ;per xmltex/base/readme.txt +(define-public texlive-xpiano + (package + (name "texlive-xpiano") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/xpiano/" "source/latex/xpiano/" + "tex/latex/xpiano/") + (base32 + "1nk8v0d641cr4mg4l2k0fv7pl9b26nyi30k4px5wajwm976f042p"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/xpiano") + (synopsis "Extension of the @code{piano} package") + (description + "This package provides macros for typesetting virtual keyboards limited +to two octaves for showing notes represented by a colored circle. Optionally, +the number used for pitch analysis can be shown. It is an extension of +@file{piano.sty}. It features extended syntax and several options, like +setting the color, adding numbers for pitch analysis, one or two octaves, and +others.") + (license license:lppl1.3+))) + +(define-public texlive-xpinyin + (package + (name "texlive-xpinyin") + ;; XXX: Whenever updating this package, please check if "Unihan.zip" + ;; native input needs to be updated, too. + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/xpinyin/" "source/latex/xpinyin/" + "tex/latex/xpinyin/") + (base32 + "1fxsnvmkm66rfq08j03sch24maw0wgb8dhl73r2rf6gwxzf4imc5"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (arguments + (list + #:tex-format "luatex" + #:modules '((ice-9 match) + (srfi srfi-1) + (guix build texlive-build-system) + (guix build utils)) + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'copy-unihan.zip + ;; Copy the "Unihan.zip" file where the Lua script expects to find + ;; it. + (lambda* (#:key inputs #:allow-other-keys) + (let ((unihan.zip + (any (match-lambda + ((_ . dir) + (and (string-suffix? "Unihan.zip" dir) dir))) + inputs))) + (with-directory-excursion "source/latex/xpinyin" + (install-file unihan.zip ".") + (rename-file (basename unihan.zip) "Unihan.zip"))))) + (add-before 'build 'copy-ctxdocstrip.tex + ;; Set TEXINPUTS so that the process can find extracted + ;; "ctxdocstrip.tex". + (lambda* (#:key inputs #:allow-other-keys) + (install-file (search-input-file inputs + "tex/generic/ctex/ctxdocstrip.tex") + "build/") + (setenv "TEXINPUTS" (string-append (getcwd) "/build:")))) + (add-after 'build 'fix-reproducibility + ;; Remove a time-stamp so the generated database is reproducible. + (lambda _ + (substitute* "tex/latex/xpinyin/xpinyin-database.def" + (("%% +by \"texlua xpinyin.lua\" .*") ""))))))) + (native-inputs + (list + ;; XXX: The Unihan database may need to be updated whenever this package + ;; is. Appropriate Unicode version can be found in the + ;; "tex/latex/xpinyin/xpinyin-database.def" file. + (origin + (method url-fetch) + (uri "https://www.unicode.org/Public/14.0.0/ucd/Unihan.zip") + (sha256 + (base32 + "0bc5277lpc5j0gg7fjfsah7krhqjzdxya5ww6walvkc25fdm3r1a"))) + ;; There's a circular dependency between this package (where `ctex' + ;; should be a native input) and `ctex' (where this package is + ;; a propagated input). To work around this, grab the required + ;; "ctxdocstrip.tex" file from `ctex'. + (texlive-origin + "ctxdocstrip.tex" (number->string %texlive-revision) + (list "tex/generic/ctex/ctxdocstrip.tex") + (base32 + "154v2d6wfzhfg654nlh2apy9zr78d09rkimymyjqpxymkpbk8lli")))) + (home-page "https://ctan.org/pkg/xpinyin") + (synopsis "Automatically add pinyin to Chinese characters") + (description + "The package is written to simplify the input of Hanyu Pinyin. Macros are +provided that automatically add pinyin to Chinese characters.") + (license license:lppl1.3c))) + (define-public texlive-hyperref (package (name "texlive-hyperref") @@ -17640,6 +27724,294 @@ LaTeX document authors to store XMP metadata in their documents as well. It is compatible with pdfLaTeX, XeLaTeX, LaTeX+dvipdfm, and LaTeX+dvips+ps2pdf.") (license license:lppl1.3c))) +(define-public texlive-latex-brochure + (package + (name "texlive-latex-brochure") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/latex-brochure/") + (base32 + "0xba20sy8q10ac9hxwnz9axh853hrj06vp7mfn12ajax31miznmy"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/latex-brochure") + (synopsis "Publicity flyer for LaTeX") + (description + "The document is designed as a publicity flyer for LaTeX, but also serves +as an interesting showcase of what LaTeX can do. The flyer is designed for +printing, double-sided, on A3 paper, which would then be folded once.") + (license license:lppl))) + +(define-public texlive-latex-course + (package + (name "texlive-latex-course") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/latex-course/") + (base32 + "0z6q95l2vvxrspc04ki9wnrzhz76nynb5ai6969pgw6ihl68384f"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/latex-course") + (synopsis "LaTeX course as a projected presentation") + (description + "This package provides a brief Beamer-based slide presentation on LaTeX, +based on Rupprecht's LaTeX 2.09 course, which the author has translated to +English and taken to LaTeX2e and Beamer. Additional material was taken from +the @emph{Short Introduction to LaTeX}.") + (license license:gpl3+))) + +(define-public texlive-latex-doc-ptr + (package + (name "texlive-latex-doc-ptr") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/latex-doc-ptr/") + (base32 + "0mamlfnxzi4lwh5cpss8zcfr64jdnf6vnj9fp48accrqdj2rpfs2"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/latex-doc-ptr") + (synopsis "Direction-finder for LaTeX resources available online") + (description + "This package provides a brief set of recommendations for users who need +online documentation of LaTeX. The document supports the need for +documentation of LaTeX itself, in distributions.") + (license license:public-domain))) + +(define-public texlive-latex-for-undergraduates + (package + (name "texlive-latex-for-undergraduates") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/latex-for-undergraduates/") + (base32 + "0krj27gmra2mpriircasv32snk80z9ap85h76n0bgy4wjqyblyp0"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/latex-for-undergraduates") + (synopsis "Tutorial aimed at introducing undergraduate students to LaTeX") + (description + "This package provides a tutorial aimed at introducing undergraduate +students to LaTeX, including an introduction to LaTeX Workshop in Visual +Studio Code and an example package of user-defined LaTeX commands.") + (license license:public-domain))) + +(define-public texlive-latex-graphics-companion + (package + (name "texlive-latex-graphics-companion") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/latex-graphics-companion/") + (base32 + "01zs32gck1sl9zlbhghyjmjwxyvw0jha5vl2hd10knyrb3z4dhxc"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/lgc-examples") + (synopsis "Examples from @emph{The LaTeX Graphics Companion}") + (description + "This package contains the source of the examples printed in @emph{The +LaTeX Graphics Companion} book, together with necessary supporting files.") + (license license:lppl))) + +(define-public texlive-latex-refsheet + (package + (name "texlive-latex-refsheet") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/latex-refsheet/") + (base32 + "169h1syday30qiw032k14fhxikdwszggvqz8b9ga4i9wwxf1vh4m"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/latex-refsheet") + (synopsis "LaTeX reference sheet for a thesis with KOMA-Script") + (description + "This LaTeX reference sheet is for writing a thesis using the KOMA-Script +document classes (@code{scrartcl}, @code{scrreprt}, @code{scrbook}) and all +the packages needed for a thesis in natural sciences.") + (license license:lppl1.3c))) + +(define-public texlive-latex-veryshortguide + (package + (name "texlive-latex-veryshortguide") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/latex-veryshortguide/") + (base32 + "17i8zmr7mjfrx911psdy9cbn05c5inn4ixqmnjkpr9sbgsninyc4"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/latex-veryshortguide") + (synopsis "The Very Short Guide to LaTeX") + (description + "This is a 4-page reminder of what LaTeX does. It is designed for +printing on A4 paper, double-sided, and folding once to A5. Such an imposed +version of the document is provided in the distribution, as PDF. An analogous +version is provided in legal format.") + (license license:lppl1.3+))) + +(define-public texlive-latex-web-companion + (package + (name "texlive-latex-web-companion") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/latex-web-companion/") + (base32 + "0v018lwf88z3qmzyqpyvfql7dbwk5a9r0wj3jfjc9cp2ksl8zf8f"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/lwc-examples") + (synopsis "Examples from @emph{The LaTeX Web Companion}") + (description + "This package contains the source of the examples printed in @emph{The +LaTeX Web Companion} book, together with necessary supporting files.") + (license license:lppl))) + +(define-public texlive-latex2e-help-texinfo + (package + (name "texlive-latex2e-help-texinfo") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/info/latex2e.info" + "doc/latex/latex2e-help-texinfo/") + (base32 + "0rk69n89hl67qfbi5mmb4msaibychsk9a83dx593170ayiir6s6g"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/latex2e-help-texinfo") + (synopsis "Unofficial reference manual covering LaTeX2e") + (description + "This is an unofficial reference manual for LaTeX. It is provided as +Texinfo source. This is a collaborative development, and details of getting +involved are to be found on the package home page.") + (license license:fdl1.1+))) + +(define-public texlive-latex4wp + (package + (name "texlive-latex4wp") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/latex4wp/") + (base32 + "0xyk6w8jmmcsccbd9q4ikblfq6nacjjyrmf58ddjxkb6v0lzndph"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/latex4wp") + (synopsis "LaTeX guide specifically designed for word processor users") + (description + "@emph{LaTeX for Word Processor Users} is a guide that helps converting +knowledge and techniques of word processing into the LaTeX typesetting +environment. It aims at helping such users use LaTeX instead.") + (license license:fdl1.3+))) + +(define-public texlive-latex4wp-it + (package + (name "texlive-latex4wp-it") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/latex4wp-it/") + (base32 + "14r86fwhb9zafmyv05pqfi9962dpxj7wq94acm43gv8m2rsjp52k"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/latex4wp-it") + (synopsis "LaTeX guide for word processor users, in Italian") + (description + "The package provides a version of the @emph{LaTeX for Word Processor +Users} document in Italian.") + (license license:fdl1.3+))) + +(define-public texlive-latexcheat + (package + (name "texlive-latexcheat") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/latexcheat/") + (base32 + "1383rsi21ma0291asi779bjr33m7fii019di8gv8kxwgci692fz0"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/latexcheat") + (synopsis "LaTeX cheat sheet") + (description + "This package provides a LaTeX reference sheet for writing scientific +papers. Unlike many other such sheets, this sheet does not focus on +typesetting mathematics, though it does list some symbols.") + (license license:lppl))) + +(define-public texlive-latexcheat-ptbr + (package + (name "texlive-latexcheat-ptbr") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/latexcheat-ptbr/") + (base32 + "0m636j9gdfpm4j1b679z5qw5ygbm6jp8xl9dzy6v5zzy695fcgaf"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/latexcheat-ptbr") + (synopsis "LaTeX cheat sheet, in Brazilian Portuguese") + (description + "This is a translation to Brazilian Portuguese of Winston Chang's LaTeX +cheat sheet.") + (license license:lppl))) + +(define-public texlive-latexcourse-rug + (package + (name "texlive-latexcourse-rug") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/latexcourse-rug/") + (base32 + "027siznmshk60flxgra7dgzvwbmgwvckwb6r257b91x3rm77anv5"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/latexcourse-rug") + (synopsis "LaTeX course book") + (description + "The package provides the book and practice files for a LaTeX course that +the author has give several times at the Rijksuniversiteit +Groningen (Netherlands).") + (license license:fdl1.1+))) + +(define-public texlive-latexfileinfo-pkgs + (package + (name "texlive-latexfileinfo-pkgs") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/latexfileinfo-pkgs/" + "source/latex/latexfileinfo-pkgs/" + "tex/latex/latexfileinfo-pkgs/") + (base32 + "08afjj6im3bdxv3j0z6kg8yw0pyjl5164fqn0sx084zbdfwdfrqn"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/latexfileinfo-pkgs") + (synopsis "Comparison of packages showing LaTeX file information") + (description + "The package provides an HTML file that lists and compares CTAN packages +that display LaTeX source file information from @code{\\ProvidesClass}, +@code{\\ProvidesFile}, and @code{\\ProvidesPackage} commands in the LaTeX +file. Five packages of the author's, and several other packages are +discussed; revision control systems are mentioned briefly.") + (license license:lppl1.3+))) + (define-public texlive-oberdiek (package (name "texlive-oberdiek") @@ -17977,6 +28349,25 @@ a means of defining generic functions using a key-value syntax, and (define-deprecated-package texlive-latex-l3packages texlive-l3packages) +(define-public texlive-fonts-churchslavonic + (package + (name "texlive-fonts-churchslavonic") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/fonts/fonts-churchslavonic/" + "fonts/opentype/public/fonts-churchslavonic/") + (base32 + "0yv3n8m6wcd6jk68fwlaiszv96lbax5rcv1j0wgam4dgpqqmacm4"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/fonts-churchslavonic") + (synopsis "Fonts for typesetting in Church Slavonic language") + (description + "The package provides Unicode-encoded OpenType fonts for Church Slavonic +which are intended for Unicode TeX engines only.") + (license license:silofl1.1))) + (define-public texlive-fontspec (package (name "texlive-fontspec") @@ -18029,6 +28420,50 @@ base LaTeX code now supports multiple dots and spaces, and this package by default is a stub that just loads @code{graphicx}.") (license license:lppl1.3c+))) +(define-public texlive-sanskrit + (package + (name "texlive-sanskrit") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/sanskrit/" + "fonts/source/public/sanskrit/" + "fonts/tfm/public/sanskrit/" + "source/latex/sanskrit/" + "tex/latex/sanskrit/") + (base32 + "0qc0mylgdcc4rnid29was51s6mzil0smrs7kgnnrv8kvlb6mzydl"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (native-inputs (list texlive-metafont)) + (home-page "https://ctan.org/pkg/sanskrit") + (synopsis "Sanskrit support") + (description + "This package provides a font and pre-processor suitable for the +production of documents written in Sanskrit. Type 1 versions of the fonts are +available.") + (license license:lppl))) + +(define-public texlive-sanskrit-t1 + (package + (name "texlive-sanskrit-t1") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/fonts/sanskrit-t1/" + "fonts/map/dvips/sanskrit-t1/" + "fonts/type1/public/sanskrit-t1/") + (base32 + "0mv9ph7999y9shnq25k0w4sgcbvlf2gav5d1fpycjxan3h6rc7vi"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/sanskrit-t1") + (synopsis "Type 1 version of @code{skt} fonts for Sanskrit") + (description + "The sanskrit-t1 font package provides Type 1 version of Charles Wikner's +@code{skt} font series for the Sanskrit language.") + (license license:lppl))) + (define-public texlive-sansmath (package (name "texlive-sansmath") @@ -18093,6 +28528,31 @@ Computer Modern.") string between different encodings. Both LaTeX and plain-TeX are supported.") (license license:lppl1.3c+))) +(define-public texlive-svg-inkscape + (package + (name "texlive-svg-inkscape") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/svg-inkscape/") + (base32 + "1gw3jp7wph0ys6372z2rgjwlpmmawdax7xpgrp4hzg5hxz748pn5"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/svg-inkscape") + (synopsis "How to include an SVG image in LaTeX using Inkscape") + (description + "The document demonstrates the use of SVG images in LaTeX documents. +Using the @samp{PDF+LaTeX output} option of Inkscape, it is possible to +include SVG in documents, in which LaTeX typesets the text. This results in +uniform text style throughout the document, including text in images; +moreover, LaTeX commands may be used in the image's text, providing such +things as mathematics and references. + +The document also describes how to automate the conversion from SVG to +@samp{PDF+LaTeX} using Inkscape.") + (license license:lppl1.3+))) + (define-public texlive-svn-prov (package (name "texlive-svn-prov") @@ -18184,6 +28644,26 @@ package provides the @code{\\luaexec} command and the @code{luacode} environments to help with these problems.") (license license:lppl1.3+))) +(define-public texlive-lualatex-doc-de + (package + (name "texlive-lualatex-doc-de") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/lualatex-doc-de/") + (base32 + "0vnmgs475bzbqi14m9sm45cwjfsbvbk45wkb8m73j1bnk7wg7hh4"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/lualatex-doc-de") + (synopsis "Guide to LuaLaTeX (German translation)") + (description + "The document is a German translation of the map/guide to the world of +LuaLaTeX. Coverage supports both new users and package developers. Apart +from the introductory material, the document gathers information from several +sources, and offers links to others.") + (license license:fdl1.3+))) + (define-public texlive-lualatex-math (package (name "texlive-lualatex-math") @@ -18345,6 +28825,27 @@ upgrade smoothly to the new support structure.") "The package provides emulation of pdfTeX primitives for LuaTeX v0.85+.") (license license:lppl1.3+))) +(define-public texlive-luatexja + (package + (name "texlive-luatexja") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/luatex/luatexja/" + "source/luatex/luatexja/" + "tex/luatex/luatexja/") + (base32 + "1j4dvzxgjyx5aa7akg5wg2w694vds6ra70zk9crrlm83aryqkda7"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (propagated-inputs (list texlive-luatexbase)) + (home-page "https://ctan.org/pkg/luatexja") + (synopsis "Typeset Japanese with Lua(La)TeX") + (description + "The package offers support for typesetting Japanese documents with LuaTeX. +Either of the Plain and LaTeX2e formats may be used with the package.") + (license license:bsd-3))) + (define-public texlive-luahbtex (package (name "texlive-luahbtex") @@ -18475,6 +28976,25 @@ similar) definitions.") (define-deprecated-package texlive-latex-amsmath texlive-amsmath) +(define-public texlive-amsmath-it + (package + (name "texlive-amsmath-it") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/amsmath-it/") + (base32 + "0xcwsk8q9q3nsz8wbklgpbw0vzjw7iw0chffzcbp2zsk6rypqf7w"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/amsmath-it") + (synopsis "Italian translations of some old @code{amsmath} documents") + (description + "This package provides an Italian translation for some old @code{amsmath} +documents. The documents are: @file{diffs-m.txt} of December 1999, and +@file{amsmath.faq} of March 2000.") + (license license:lppl))) + (define-public texlive-manfnt (package (name "texlive-manfnt") @@ -18670,6 +29190,86 @@ needed.") sorts with MetaPost.") (license license:public-domain))) +(define-public texlive-bbm + (package + (name "texlive-bbm") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/fonts/bbm/" "fonts/source/public/bbm/" + "fonts/tfm/public/bbm/") + (base32 + "0fyzr8zfcv3i1ymzvpifbkmfxqvrva029vh4v0siia63sl36lvq3"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (arguments + (list #:phases + #~(modify-phases %standard-phases + ;; FIXME: Font metrics cannot be generated due to "bad pos" + ;; errors with "bbmitt" fonts. + (delete 'generate-font-metrics)))) + (native-inputs (list texlive-metafont)) + (home-page "https://ctan.org/pkg/bbm") + (synopsis "Blackboard-style CM fonts") + (description + "This package provides blackboard variants of Computer Modern fonts. The +fonts are distributed as Metafont source (only); LaTeX support is available +with the @code{bbm-macros} package. A sample of these fonts appears in the +blackboard bold sampler.") + ;; The package states "You may freely use, modify and/or distribute this + ;; file." everywhere, notably in the file below. + (license (license:fsf-free "file://doc/fonts/bbm/README")))) + +(define-public texlive-bbm-macros + (package + (name "texlive-bbm-macros") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/bbm-macros/" + "source/latex/bbm-macros/" + "tex/latex/bbm-macros/") + (base32 + "11klh7hwi06yr2wx5bpk230hn7rpfspk6sd55j6rmw8kz2wa3lr7"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/bbm-macros") + (synopsis "LaTeX support for blackboard-style CM fonts") + (description + "This package provides LaTeX support for Blackboard variants of Computer +Modern fonts. It declares a font family @code{bbm} so you can in principle +write running text in blackboard bold, and lots of math alphabets for using +the fonts within maths.") + (license license:lppl))) + +(define-public texlive-bbold + (package + (name "texlive-bbold") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/bbold/" + "fonts/source/public/bbold/" + "fonts/tfm/public/bbold/" + "source/latex/bbold/" "tex/latex/bbold/") + (base32 + "0x3fhz582xcv33s9yiwka82j8bz3nxribgmni3j8j03r6dih8d8r"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (arguments + (list #:build-targets #~(list "bbold.dtx") + #:tex-format "latex")) + (native-inputs + (list (texlive-updmap.cfg + (list texlive-hypdoc texlive-metafont)))) + (home-page "https://ctan.org/pkg/bbold") + (synopsis "Sans serif blackboard bold") + (description + "This package provides a geometric sans serif blackboard bold font, for +use in mathematics; Metafont sources are provided, as well as macros for use +with LaTeX.") + (license license:bsd-3))) + (define-public texlive-blockdraw-mp (package (name "texlive-blockdraw-mp") @@ -18929,6 +29529,49 @@ The OPmac macros can generate a bibliography without any external program.") right-aligned table and (multiple-)figure floats, with footnotes.") (license license:lppl))) +(define-public texlive-babel-albanian + (package + (name "texlive-babel-albanian") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/generic/babel-albanian/" + "source/generic/babel-albanian/" + "tex/generic/babel-albanian/") + (base32 + "1sgyxj2f2w5fb22ys0idcfy10m1wbz3mk3rkpvv7cwa0v3a0arhl"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/babel-albanian") + (synopsis "Support for Albanian within Babel") + (description + "The package provides support for typesetting Albanian (as part of the +Babel system).") + (license license:lppl1.3+))) + +(define-public texlive-babel-azerbaijani + (package + (name "texlive-babel-azerbaijani") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/generic/babel-azerbaijani/" + "source/generic/babel-azerbaijani/" + "tex/generic/babel-azerbaijani/") + (base32 + "0vpgx76316gfhxp9maiqnd3z1hjavzlnjibxi4yhalbby0dnswi1"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/babel-azerbaijani") + (synopsis "Support for Azerbaijani within Babel") + (description + "This is the Babel style for Azerbaijani. This language poses special +challenges because no traditional font encoding contains the full character +set, and therefore a mixture must be used (e.g., T2A and T1). This package is +compatible with Unicode engines LuaTeX and XeTeX, which are very likely the +most convenient way to write Azerbaijani documents.") + (license license:lppl1.3+))) + (define-public texlive-babel-basque (package (name "texlive-babel-basque") @@ -18947,6 +29590,127 @@ right-aligned table and (multiple-)figure floats, with footnotes.") (description "The package establishes Basque conventions in a document.") (license license:lppl1.3+))) +(define-public texlive-babel-belarusian + (package + (name "texlive-babel-belarusian") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/generic/babel-belarusian/" + "source/generic/babel-belarusian/" + "tex/generic/babel-belarusian/") + (base32 + "1055gyy9hab9whnr5c2p4i4yczkn5pwm0n54ylnnsl8wg8q58w1z"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/babel-belarusian") + (synopsis "Babel support for Belarusian") + (description + "The package provides support for use of Babel in documents written in +Belarusian.") + (license license:lppl1.3c))) + +(define-public texlive-babel-bosnian + (package + (name "texlive-babel-bosnian") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/generic/babel-bosnian/" + "source/generic/babel-bosnian/" + "tex/generic/babel-bosnian/") + (base32 + "097j3cwq29x17hc6wbdj2m4h7m2yv47i1m2irqxkrjvywq0b5bqd"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/babel-bosnian") + (synopsis "Babel contrib support for Bosnian") + (description + "The package provides a language definition file that enables support of +Bosnian with Babel.") + (license license:lppl1.3+))) + +(define-public texlive-babel-breton + (package + (name "texlive-babel-breton") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/generic/babel-breton/" + "source/generic/babel-breton/" + "tex/generic/babel-breton/") + (base32 + "0hvb2qjin8jx4lmw3w2y04jnnnc6w0033kjhgflfyp309dmvhzhl"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/babel-breton") + (synopsis "Babel contributed support for Breton") + (description + "Breton (being, principally, a spoken language) does not have typographic +rules of its own; this package provides an appropriate selection of French and +British typographic rules.") + (license license:lppl1.3+))) + +(define-public texlive-babel-bulgarian + (package + (name "texlive-babel-bulgarian") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/generic/babel-bulgarian/" + "source/generic/babel-bulgarian/" + "tex/generic/babel-bulgarian/") + (base32 + "065j31rl7r4x8krkwxhq0lwdkmbq90jr8666if4br36kw0g3kzv3"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/babel-bulgarian") + (synopsis "Babel contributed support for Bulgarian") + (description + "The package provides support for documents in Bulgarian (or simply +containing some Bulgarian text).") + (license license:lppl1.3+))) + +(define-public texlive-babel-catalan + (package + (name "texlive-babel-catalan") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/generic/babel-catalan/" + "source/generic/babel-catalan/" + "tex/generic/babel-catalan/") + (base32 + "162ih5948z2kbxqxf7bp94ffg7f2b5l8ffa9w304868hj9ik6jfk"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/babel-catalan") + (synopsis "Babel contributed support for Catalan") + (description + "The package establishes Catalan conventions in a document (or a subset +of the conventions, if Catalan is not the main language of the document).") + (license license:lppl1.3+))) + +(define-public texlive-babel-croatian + (package + (name "texlive-babel-croatian") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/generic/babel-croatian/" + "source/generic/babel-croatian/" + "tex/generic/babel-croatian/") + (base32 + "1r3cccrc2i57sza8qc24hxm2p6igvhbkr8a6lnsrcrhbji2smi07"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/babel-croatian") + (synopsis "Babel contributed support for Croatian") + (description + "The package establishes Croatian conventions in a document (or a subset +of the conventions, if Croatian is not the main language of the document).") + (license license:lppl1.3+))) + (define-public texlive-babel-english (package (name "texlive-babel-english") @@ -18971,6 +29735,48 @@ Canadian and USA text.") (define-deprecated-package texlive-generic-babel-english texlive-babel-english) +(define-public texlive-babel-esperanto + (package + (name "texlive-babel-esperanto") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/generic/babel-esperanto/" + "source/generic/babel-esperanto/" + "tex/generic/babel-esperanto/") + (base32 + "1av9x9d5rff6hsssssbn1jnyrqnj1c2n5fa4kgxlla95xn7zs65m"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/babel-esperanto") + (synopsis "Babel support for Esperanto") + (description + "The package provides the language definition file for support of +Esperanto in Babel. Some shortcuts are defined, as well as translations to +Esperanto of standard LaTeX names.") + (license license:lppl1.3+))) + +(define-public texlive-babel-estonian + (package + (name "texlive-babel-estonian") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/generic/babel-estonian/" + "source/generic/babel-estonian/" + "tex/generic/babel-estonian/") + (base32 + "0pi4rmbwjg8mrxi9y6jhczfv6nbrb25n025sx56yn36f579rwwiy"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/babel-estonian") + (synopsis "Babel support for Estonian") + (description + "The package provides the language definition file for support of +Estonian in Babel. Some shortcuts are defined, as well as translations to +Estonian of standard LaTeX names.") + (license license:lppl1.3+))) + (define-public texlive-babel-french (package (name "texlive-babel-french") @@ -18993,6 +29799,66 @@ the conventions, if French is not the main language of the document).") (define-deprecated-package texlive-generic-babel-french texlive-babel-french) +(define-public texlive-babel-friulan + (package + (name "texlive-babel-friulan") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/generic/babel-friulan/" + "source/generic/babel-friulan/" + "tex/generic/babel-friulan/") + (base32 + "082xhr083hcbp0lqvkfj48hnqj4fa7x30vn6sk6v2f1g57zq9v69"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/babel-friulan") + (synopsis "Babel and Polyglossia support for Friulan(Furlan)") + (description + "The package provides a language description file that enables support of +Friulan either with Babel or with Polyglossia.") + (license license:lppl1.3+))) + +(define-public texlive-babel-galician + (package + (name "texlive-babel-galician") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/generic/babel-galician/" + "source/generic/babel-galician/" + "tex/generic/babel-galician/") + (base32 + "13giby8mzyxjccyvhb9dsnyqc2h17k70fch84z5mi8si3jnm9sq4"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/babel-galician") + (synopsis "Babel and Polyglossia support for Galician") + (description + "The package provides a language description file that enables support of +Galician either with Babel or with Polyglossia.") + (license license:lppl1.3+))) + +(define-public texlive-babel-georgian + (package + (name "texlive-babel-georgian") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/generic/babel-georgian/" + "tex/generic/babel-georgian/") + (base32 + "1qjpaxzgm0qh88j6x1zvnjb1n994prxqnzchrp05pgsbyjcf410p"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/babel-georgian") + (synopsis "Babel support for Georgian") + (description + "The package provides support for use of Babel in documents written in +Georgian. The package is adapted for use both under traditional TeX engines, +and under XeTeX and LuaTeX.") + (license license:lppl1.3+))) + (define-public texlive-babel-german (package (name "texlive-babel-german") @@ -19018,6 +29884,49 @@ German.") (define-deprecated-package texlive-generic-babel-german texlive-babel-german) +(define-public texlive-babel-greek + (package + (name "texlive-babel-greek") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/generic/babel-greek/" + "source/generic/babel-greek/" + "tex/generic/babel-greek/") + (base32 + "116nifgjwx588f63fwkyny36i8p7i9prsz785m81hwnhylii2fhj"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/babel-greek") + (synopsis "Babel support for documents written in Greek") + (description + "The file provides modes for monotonic (single-diacritic) and polytonic +(multiple-diacritic) modes of writing. Provision is made for Greek function +names in mathematics, and for classical-era symbols.") + (license license:lppl1.3+))) + +(define-public texlive-babel-hebrew + (package + (name "texlive-babel-hebrew") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/generic/babel-hebrew/" + "source/generic/babel-hebrew/" + "tex/generic/babel-hebrew/") + (base32 + "1h4ksd9nvicdgi88fxv8jfh9r5gabg0w75jpqgnngszfnfw486k2"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/babel-hebrew") + (synopsis "Babel support for Hebrew") + (description + "The package provides the language definition file for support of Hebrew +in babel. Macros to control the use of text direction control of TeX--XeT and +e-TeX are provided (and may be used elsewhere). Some shortcuts are defined, +as well as translations to Hebrew of standard LaTeX names.") + (license license:lppl1.3+))) + (define-public texlive-babel-hungarian (package (name "texlive-babel-hungarian") @@ -19037,6 +29946,89 @@ German.") Magyar (Hungarian) with Babel.") (license license:lppl))) +(define-public texlive-babel-icelandic + (package + (name "texlive-babel-icelandic") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/generic/babel-icelandic/" + "source/generic/babel-icelandic/" + "tex/generic/babel-icelandic/") + (base32 + "1cz6q6mn34h19k1rd2c5pfw3s6allqcbsvm0pyriinnylpx9i44d"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/babel-icelandic") + (synopsis "Babel support for Icelandic") + (description + "The package provides the language definition file for support of +Icelandic in Babel. Some shortcuts are defined, as well as translations to +Icelandic of standard LaTeX names.") + (license license:lppl1.3+))) + +(define-public texlive-babel-indonesian + (package + (name "texlive-babel-indonesian") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/generic/babel-indonesian/" + "source/generic/babel-indonesian/" + "tex/generic/babel-indonesian/") + (base32 + "1ilkl7s5dh8cs6z211p4imyzg3d2axfa5vkmrxn4d3lbx1g3chs1"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/babel-indonesian") + (synopsis "Support for Indonesian within Babel") + (description "This is the Babel style for Indonesian.") + (license license:lppl1.3+))) + +(define-public texlive-babel-interlingua + (package + (name "texlive-babel-interlingua") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/generic/babel-interlingua/" + "source/generic/babel-interlingua/" + "tex/generic/babel-interlingua/") + (base32 + "0mxyfa6rsaxwazliblg9p4cbr0vip12c00mkvnz4dak2adnhzvbg"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/babel-interlingua") + (synopsis "Babel support for Interlingua") + (description + "The package provides the language definition file for support of +Interlingua in Babel. This includes translations to Interlingua of standard +LaTeX names (no shortcuts are provided). Interlingua itself is an auxiliary +language, built from the common vocabulary of Spanish/Portuguese, English, +Italian and French, with some normalisation of spelling.") + (license license:lppl1.3+))) + +(define-public texlive-babel-irish + (package + (name "texlive-babel-irish") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/generic/babel-irish/" + "source/generic/babel-irish/" + "tex/generic/babel-irish/") + (base32 + "0j78inzjbv653gla11g3rzmn0b5fvzbkmppmhbgq9qi8102p7k55"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/babel-irish") + (synopsis "Babel support for Irish") + (description + "The package provides the language definition file for support of Irish +Gaelic in Babel. The principal content is translations to Irish of standard +LaTeX names.") + (license license:lppl1.3+))) + (define-public texlive-babel-italian (package (name "texlive-babel-italian") @@ -19056,6 +30048,192 @@ Magyar (Hungarian) with Babel.") Babel.") (license license:lppl1.3c))) +(define-public texlive-babel-japanese + (package + (name "texlive-babel-japanese") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/generic/babel-japanese/" + "source/generic/babel-japanese/" + "tex/generic/babel-japanese/") + (base32 + "0jn2pl080c0dd6ryj6y5b87h6ijg3lcd2hw7g5kyw7p9r7a6b8i0"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/babel-japanese") + (synopsis "Babel support for Japanese") + (description + "This package provides a japanese option for the Babel package. It +defines all the language definition macros in Japanese. Currently this +package works with pLaTeX, upLaTeX, XeLaTeX and LuaLaTeX.") + (license license:lppl1.3+))) + +(define-public texlive-babel-kurmanji + (package + (name "texlive-babel-kurmanji") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/generic/babel-kurmanji/" + "source/generic/babel-kurmanji/" + "tex/generic/babel-kurmanji/") + (base32 + "021dzdjhiymsvqxc1cq409vkm7390lrr691snydr9xr35x0k3wr1"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/babel-kurmanji") + (synopsis "Babel support for Kurmanji") + (description + "The package provides the language definition file for support of +Kurmanji in Babel. Kurmanji belongs to the family of Kurdish languages. Some +shortcuts are defined, as well as translations to Kurmanji of standard LaTeX +names. Note that the package is dealing with Northern Kurdish, written using +a Latin-based alphabet. The @code{arabxetex} package offers support for +Kurdish written in Arabic script.") + (license license:lppl1.3+))) + +(define-public texlive-babel-latin + (package + (name "texlive-babel-latin") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/generic/babel-latin/" + "source/generic/babel-latin/" + "tex/generic/babel-latin/") + (base32 + "1ykiny7rcz5czsadxfxl53403ixkyxi67dqlphqaxkvvm2k61kpb"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/babel-latin") + (synopsis "Babel support for Latin") + (description + "The Babel-latin package provides the Babel languages @code{latin}, + @code{classiclatin}, @code{medievallatin}, and @code{ecclesiasticlatin}. It +also defines several useful shorthands as well as some modifiers for +typographical fine-tuning.") + (license license:lppl1.3+))) + +(define-public texlive-babel-latvian + (package + (name "texlive-babel-latvian") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/generic/babel-latvian/" + "source/generic/babel-latvian/" + "tex/generic/babel-latvian/") + (base32 + "1a605a9ksibxf8kbrqa2bmk24j9wmgzpz5f12jwcym02jm66sw82"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/babel-latvian") + (synopsis "Babel support for Latvian") + (description + "The package provides the language definition file for support of Latvian +in Babel.") + (license license:lppl1.3+))) + +(define-public texlive-babel-lithuanian + (package + (name "texlive-babel-lithuanian") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/generic/babel-lithuanian/" + "source/generic/babel-lithuanian/" + "tex/generic/babel-lithuanian/") + (base32 + "08ifkjb61m9nx3wn8hvca9vfrzlmxpwvrh21hq1rh6dwmqli11j6"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/babel-lithuanian") + (synopsis "Babel support for documents written in Lithuanian") + (description + "Babel support material for documents written in Lithuanian moved from +the @code{lithuanian} package into a new package @code{babel-lithuanian} to +match Babel support for other languages.") + (license license:lppl1.3+))) + +(define-public texlive-babel-macedonian + (package + (name "texlive-babel-macedonian") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/generic/babel-macedonian/" + "source/generic/babel-macedonian/" + "tex/generic/babel-macedonian/") + (base32 + "0fps3nlbr4j2vy8pww4xkp2xsxiclzal4ifcpc1a0dsc4blll5nr"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/babel-macedonian") + (synopsis "Babel module to support Macedonian Cyrillic") + (description + "The package provides support for Macedonian documents written in +Cyrillic, in Babel.") + (license license:lppl1.3+))) + +(define-public texlive-babel-malay + (package + (name "texlive-babel-malay") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/generic/babel-malay/" + "source/generic/babel-malay/" + "tex/generic/babel-malay/") + (base32 + "1gbjrsf4drmrplhwl0avpzv5yfyb30znhza4pxk704i1khabnwzk"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/babel-malay") + (synopsis "Support for Malay within Babel") + (description "This is the Babel style for Malay.") + (license license:lppl1.3+))) + +(define-public texlive-babel-occitan + (package + (name "texlive-babel-occitan") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/generic/babel-occitan/" + "source/generic/babel-occitan/" + "tex/generic/babel-occitan/") + (base32 + "0apg6i95lhhlwwci3mm8gqrs5x5qchxkc9w615cj083bvsri8vnk"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/babel-occitan") + (synopsis "Babel support for Occitan") + (description "This package provides Occitan language description file for +Babel, with usage instructions.") + (license license:lppl1.3+))) + +(define-public texlive-babel-piedmontese + (package + (name "texlive-babel-piedmontese") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/generic/babel-piedmontese/" + "source/generic/babel-piedmontese/" + "tex/generic/babel-piedmontese/") + (base32 + "04hig8rd6nxwwz1zjskpmap00gixmb63qh08p5fxqc6mb4bdh78b"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/babel-piedmontese") + (synopsis "Babel support for Piedmontese") + (description + "The package provides the language definition file for support of +Piedmontese in Babel. Some shortcuts are defined, as well as translations to +Piedmontese of standard LaTeX names.") + (license license:lppl1.3+))) + (define-public texlive-babel-portuges (package (name "texlive-babel-portuges") @@ -19077,6 +30255,218 @@ Portuguese and Brazilian Portuguese in Babel. Some shortcuts are defined, as well as translations to Portuguese of standard LaTeX names.") (license license:lppl1.3+))) +(define-public texlive-babel-romanian + (package + (name "texlive-babel-romanian") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/generic/babel-romanian/" + "source/generic/babel-romanian/" + "tex/generic/babel-romanian/") + (base32 + "0yyzcw7pm0b7fmxwn3j677g066dlmkmpa1flrivkqzbcn4mykwir"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/babel-romanian") + (synopsis "Babel support for Romanian") + (description + "The package provides the language definition file for support of +Romanian in Babel. Translations to Romanian of standard LaTeX names are +provided.") + (license license:lppl1.3+))) + +(define-public texlive-babel-romansh + (package + (name "texlive-babel-romansh") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/generic/babel-romansh/" + "source/generic/babel-romansh/" + "tex/generic/babel-romansh/") + (base32 + "08lc76yglblidg24s5ap9j0xmzbxgsfwcf9f6g1m4bwbqwkh089x"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (arguments (list #:tex-format "latex")) + (native-inputs (list (texlive-updmap.cfg (list texlive-hypdoc)))) + (home-page "https://ctan.org/pkg/babel-romansh") + (synopsis "Babel and Polyglossia support for the Romansh language") + (description + "The package provides a language description file that enables support of +Romansh either with Babel or with Polyglossia.") + (license license:lppl1.3+))) + +(define-public texlive-babel-russian + (package + (name "texlive-babel-russian") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/generic/babel-russian/" + "source/generic/babel-russian/" + "tex/generic/babel-russian/") + (base32 + "0sy3b7qx5l6smpixa9896zqqrh6ymrz31pd4026f815jy78k3cfb"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/babel-russian") + (synopsis "Russian language module for Babel") + (description + "The package provides support for use of Babel in documents written in +Russian (in both traditional and modern forms). The support is adapted for +use both under traditional TeX engines, and under XeTeX and LuaTeX.") + (license license:lppl1.3c))) + +(define-public texlive-babel-samin + (package + (name "texlive-babel-samin") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/generic/babel-samin/" + "source/generic/babel-samin/" + "tex/generic/babel-samin/") + (base32 + "17ackyknv665jzcd9ywf54lnmdnl1qgnhdlwybwsjj6m86y71mjl"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/babel-samin") + (synopsis "Babel support for Samin") + (description + "The package provides the language definition file for support of North +Sami in Babel. Several Sami dialects/languages are spoken in Finland, Norway, +Sweden and on the Kola Peninsula of Russia. Not all use the same alphabet, +and no attempt is made to support any other than North Sami here. Some +shortcuts are defined, as well as translations to Norsk of standard LaTeX +names.") + (license license:lppl1.3+))) + +(define-public texlive-babel-scottish + (package + (name "texlive-babel-scottish") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/generic/babel-scottish/" + "source/generic/babel-scottish/" + "tex/generic/babel-scottish/") + (base32 + "0wnrahbjkqrgxr4ra2lpnj5yiygbd8pyivcndzax1r7x2ci0f805"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/babel-scottish") + (synopsis "Babel support for Scottish Gaelic") + (description + "The package provides the language definition file for support of Gaidhlig +(Scottish Gaelic) in Babel. Some shortcuts are defined, as well as +translations of standard LaTeX names.") + (license license:lppl1.3+))) + +(define-public texlive-babel-serbian + (package + (name "texlive-babel-serbian") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/generic/babel-serbian/" + "source/generic/babel-serbian/" + "tex/generic/babel-serbian/") + (base32 + "089w8phd1pyzh8dmn4v2bspnmx4hqi63mby1yn7xk596qxi3nqrz"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/babel-serbian") + (synopsis "Babel and Polyglossia support for Serbian") + (description + "The package provides support for Serbian documents written in Latin, in +Babel.") + (license license:lppl1.3+))) + +(define-public texlive-babel-serbianc + (package + (name "texlive-babel-serbianc") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/generic/babel-serbianc/" + "source/generic/babel-serbianc/" + "tex/generic/babel-serbianc/") + (base32 + "1ji77vlb10vxdka5bsnqkrlf34c4qhpl162xizrzxf11z6099wng"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/babel-serbianc") + (synopsis "Babel module to support Serbian Cyrillic") + (description + "The package provides support for Serbian documents written in Cyrillic, +in Babel.") + (license license:lppl1.3+))) + +(define-public texlive-babel-slovak + (package + (name "texlive-babel-slovak") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/generic/babel-slovak/" + "source/generic/babel-slovak/" + "tex/generic/babel-slovak/") + (base32 + "16w95j3ckvjvmwccx2qvf7lq3b3zvnlf7ygm35i8xq22f3lm2a9k"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/babel-slovak") + (synopsis "Babel support for typesetting Slovak") + (description + "The package provides the language definition file for support of Slovak +in Babel, including Slovak variants of LaTeX built-in-names. Shortcuts are +also defined.") + (license license:lppl1.3+))) + +(define-public texlive-babel-slovenian + (package + (name "texlive-babel-slovenian") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/generic/babel-slovenian/" + "source/generic/babel-slovenian/" + "tex/generic/babel-slovenian/") + (base32 + "08bf1732vsa148km0vkfj6k1cg3j3yrhkzsvnhv283bbr1wqprz6"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/babel-slovenian") + (synopsis "Babel support for typesetting Slovenian") + (description + "The package provides the language definition file for support of +Slovenian in Babel. Several shortcuts are defined, as well as translations to +Slovenian of standard LaTeX names.") + (license license:lppl1.3+))) + +(define-public texlive-babel-sorbian + (package + (name "texlive-babel-sorbian") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/generic/babel-sorbian/" + "source/generic/babel-sorbian/" + "tex/generic/babel-sorbian/") + (base32 + "1b6qqk0qik294z8sirvf58cf5v8mhsz4hj91gw7zg8b4j362lp8y"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/babel-sorbian") + (synopsis "Babel support for Upper and Lower Sorbian") + (description + "The package provides language definitions file for support of both Upper +and Lower Sorbian, in Babel. Some shortcuts are defined, as well as +translations to the relevant language of standard LaTeX names.") + (license license:lppl1.3+))) + (define-public texlive-babel-spanish (package (name "texlive-babel-spanish") @@ -19117,6 +30507,144 @@ provided for those who wish to typeset Spanish as written in Mexico.") "The package provides the language definition file for Swedish.") (license license:lppl1.3+))) +(define-public texlive-babel-thai + (package + (name "texlive-babel-thai") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/generic/babel-thai/" + "source/generic/babel-thai/" + "tex/generic/babel-thai/") + (base32 + "1wgprys500a1fn56bnsmq8fhmb9y8cfwsqn5hginfb36d3gym4p6"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/babel-thai") + (synopsis "Support for Thai within babel") + (description + "The package provides support for typesetting Thai text within the Babel +system.") + (license license:lppl1.3+))) + +(define-public texlive-babel-turkish + (package + (name "texlive-babel-turkish") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/generic/babel-turkish/" + "source/generic/babel-turkish/" + "tex/generic/babel-turkish/") + (base32 + "0q88q0kfa4jjd4m51mvj798scxr5c5l7bjp9sfv8s5pq3ym19bq0"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/babel-turkish") + (synopsis "Babel support for Turkish documents") + (description + "The package provides support, within Babel, of the Turkish language.") + (license license:lppl1.3+))) + +(define-public texlive-babel-ukrainian + (package + (name "texlive-babel-ukrainian") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/generic/babel-ukrainian/" + "source/generic/babel-ukrainian/" + "tex/generic/babel-ukrainian/") + (base32 + "1nz8yzpc5khyv6wgm5ndwfdxx591wqlg311crzxk08ardg8zwvgs"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/babel-ukrainian") + (synopsis "Babel support for Ukrainian") + (description + "The package provides support for use of babel in documents written in +Ukrainian. The support is adapted for use under legacy TeX engines as well as +XeTeX and LuaTeX.") + (license license:lppl1.3c))) + +(define-public texlive-babel-vietnamese + (package + (name "texlive-babel-vietnamese") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/generic/babel-vietnamese/" + "source/generic/babel-vietnamese/" + "tex/generic/babel-vietnamese/") + (base32 + "12nnrdk0k2xfab33249s3gzs1815p7j197bv4zisndxvrmiv6hdf"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/babel-vietnamese") + (synopsis "Babel support for typesetting Vietnamese") + (description + "The package provides the language definition file for support of +Vietnamese in Babel.") + (license license:lppl1.3+))) + +(define-public texlive-babel-welsh + (package + (name "texlive-babel-welsh") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/generic/babel-welsh/" + "source/generic/babel-welsh/" + "tex/generic/babel-welsh/") + (base32 + "0qba526ralldh4y6w0pzdw2vb2ng31mw416qzn0zzjp8sppc3hyw"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/babel-welsh") + (synopsis "Babel support for Welsh") + (description + "The package provides the language definition file for Welsh.") + (license license:lppl1.3+))) + +(define-public texlive-cyklop + (package + (name "texlive-cyklop") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/fonts/cyklop/" + "fonts/afm/public/cyklop/" + "fonts/enc/dvips/cyklop/" + "fonts/map/dvips/cyklop/" + "fonts/opentype/public/cyklop/" + "fonts/tfm/public/cyklop/" + "fonts/type1/public/cyklop/" + "tex/latex/cyklop/") + (base32 + "0jfri15l1jycqzjac8s5bz6izypdwfjagfz6jhw95ixj1s9brnpl"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/cyklop") + (synopsis "The Cyclop typeface") + (description + "The Cyclop typeface was designed in the 1920s at the workshop of Warsaw +type foundry @emph{Odlewnia Czcionek J. Idzkowski i S-ka}. This sans serif +typeface has a highly modulated stroke so it has high typographic contrast. +The vertical stems are much heavier then horizontal ones. Most characters +have thin rectangles as additional counters giving the unique shape of the +characters. The lead types of Cyclop typeface were produced in slanted +variant at sizes 8-48 pt. It was heavily used for heads in newspapers and +accidents prints. Typesetters used Cyclop in the inter-war period, during the +occupation in the underground press. The typeface was used until the +beginnings of the offset print and computer typesetting era. Nowadays it is +hard to find the metal types of this typeface. + +The fonts are distributed in the Type1 and OpenType formats along with the +files necessary for use these fonts in TeX and LaTeX including encoding +definition files: T1 (ec), T5 (Vietnamese), OT4, QX, texnansi and nonstandard +ones (IL2 for Czech fonts).") + (license license:gfl1.0))) + (define-public texlive-cyrillic-bin (package (name "texlive-cyrillic-bin") @@ -19287,6 +30815,25 @@ between various classes of Unix systems.") (define-deprecated-package texlive-latex-ifplatform texlive-ifplatform) +(define-public texlive-ifptex + (package + (name "texlive-ifptex") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/generic/ifptex/" "tex/generic/ifptex/") + (base32 + "0l5mclz9cwj756ah0nqbiai0b5m9368dz4ykb0ih5irm6cmswdfm"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/ifptex") + (synopsis "Check if the engine is pTeX or one of its derivatives") + (description + "The @code{ifptex} package is a counterpart of @code{ifxetex}, +@code{ifluatex}, etc.@: for the pTeX engine. The @code{ifuptex} package is an +alias to @code{ifptex} provided for backward compatibility.") + (license license:expat))) + (define-public texlive-iftex (package (name "texlive-iftex") @@ -19312,6 +30859,26 @@ the engine in use.") (define-deprecated-package texlive-generic-iftex texlive-iftex) (define-deprecated-package texlive-generic-ifxetex texlive-iftex) +(define-public texlive-ifxptex + (package + (name "texlive-ifxptex") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/generic/ifxptex/" + "tex/generic/ifxptex/") + (base32 + "0r77j010a9fcn47kjy6vwv72i8fynb8jsilas6hs9c9lgk5bal1g"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/ifxptex") + (synopsis "Detect pTeX and its derivatives") + (description + "The package provides commands for detecting pTeX and its derivatives +(e-pTeX, upTeX, e-upTeX, and ApTeX). Both LaTeX and plain TeX are +supported.") + (license license:knuth))) + (define-public texlive-tipa (package (name "texlive-tipa") @@ -19339,6 +30906,24 @@ T3, and the set of addendum symbols as encoding TS3. Times-like Adobe Type 1 versions are provided for both the T3 and the TS3 fonts.") (license license:lppl))) +(define-public texlive-tipa-de + (package + (name "texlive-tipa-de") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/tipa-de/") + (base32 + "16gwc0dpdls6s2vdl3hmd6307d88gfzsa3kbw3vhl0z5iawvwj4h"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/tipa-de") + (synopsis "German translation of @code{tipa} documentation") + (description + "This is a German translation of Fukui Rei's @code{tipaman} from the +@code{tipa} bundle.") + (license license:lppl))) + (define-public texlive-amsrefs (package (name "texlive-amsrefs") @@ -19984,6 +31569,26 @@ Unicode blocks, for automatic font tagging of multilingual text.") Easter nomogram.") (license license:lppl))) +(define-public texlive-garuda-c90 + (package + (name "texlive-garuda-c90") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "dvips/garuda-c90/" + "fonts/map/dvips/garuda-c90/" + "fonts/tfm/public/garuda-c90/" + "source/fonts/garuda-c90/") + (base32 + "1f6rlfxq3ccv9wdf7pzfgs1081yflxd3fzhkzi23mpyl777l7q9y"))) + (build-system texlive-build-system) + (propagated-inputs (list texlive-fonts-tlwg)) + (home-page "https://ctan.org/pkg/garuda-c90") + (synopsis "TeX support (from CJK) for the Garuda font") + (description + "This package provides TeX support (from CJK) for the Garuda font.") + (license license:gpl2+))) + (define-public texlive-hanging (package (name "texlive-hanging") @@ -20172,6 +31777,26 @@ is much more flexible, since it can be used as direct replacement for provided by @code{tex.mp}.") (license license:public-domain))) +(define-public texlive-marathi + (package + (name "texlive-marathi") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/marathi/" "source/latex/marathi/" + "tex/latex/marathi/") + (base32 + "0xlyvdb6dadg4x2xixcxr1ixqsz69ssifpbh5p46lzsz080pwd58"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/marathi") + (synopsis "Typeset Marathi language using XeLaTeX or LuaLaTeX") + (description + "This package is used to typeset Marathi language with LuaLaTeX and XeLaTeX. +It will provide localizations needed for the Marathi language. Currently the +package localizes package @code{blindtext} and package @code{expex}.") + (license (list license:gpl3+ license:fdl1.3+)))) + (define-public texlive-markdown (package (name "texlive-markdown") @@ -20694,6 +32319,45 @@ of node lists. It uses a similar visual representation for node lists as the UNIX @command{tree} command for a folder structure.") (license license:lppl1.3+))) +(define-public texlive-nomencl + (package + (name "texlive-nomencl") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/nomencl/" "makeindex/nomencl/" + "source/latex/nomencl/" "tex/latex/nomencl/") + (base32 + "176lqab9ypsym7x7mk9d0pbqf3fl9iwi539zjqv3l6nbmxj9ga88"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/nomencl") + (synopsis "Produce lists of symbols as in nomenclature") + (description + "This package produces lists of symbols using the capabilities of the +MakeIndex program.") + (license license:lppl))) + +(define-public texlive-norasi-c90 + (package + (name "texlive-norasi-c90") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "dvips/norasi-c90/" + "fonts/map/dvips/norasi-c90/" + "fonts/tfm/public/norasi-c90/" + "source/fonts/norasi-c90/") + (base32 + "19ynw46dbk71sbzx6rna359gdddjmwl57gw3kfz3f9ywvhq01m1k"))) + (build-system texlive-build-system) + (propagated-inputs (list texlive-fonts-tlwg)) + (home-page "https://ctan.org/pkg/norasi-c90") + (synopsis "TeX support (from CJK) for the Norasi font") + (description + "This package provides TeX support (from CJK) for the Norasi font.") + (license license:gpl2+))) + (define-public texlive-noto (package (name "texlive-noto") @@ -20903,6 +32567,24 @@ rotated.") (define-deprecated-package texlive-latex-psfrag texlive-psfrag) +(define-public texlive-psfrag-italian + (package + (name "texlive-psfrag-italian") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/psfrag-italian/") + (base32 + "0ssx8rw7fwln02zzscywivnhizgrb6w05awscvv9gf9n1qj6avsf"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/psfrag-italian") + (synopsis "PSfrag documentation in Italian") + (description + "This is a translation of the documentation that comes with the +@code{psfrag} package.") + (license license:gpl3+))) + (define-public texlive-pstool (package (name "texlive-pstool") @@ -21101,6 +32783,26 @@ may itself contain text).") @end itemize") (license license:lppl))) +(define-public texlive-sauter + (package + (name "texlive-sauter") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "fonts/source/public/sauter/") + (base32 + "037skfr46198y0vczwcy6dzq9ry8w5imj1ih9nfy9mrb0hmj8caq"))) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/sauter") + (synopsis "Wide range of design sizes for CM fonts") + (description + "This package includes extensions, originally to the CM fonts, providing +a parameterization scheme to build Metafont fonts at true design sizes, for +a large range of sizes. The scheme has now been extended to a range of other +fonts, including the AMS fonts, @code{bbm}, @code{bbold}, @code{rsfs} and +@code{wasy} fonts.") + (license license:gpl3+))) + (define-public texlive-selinput (package (name "texlive-selinput") @@ -21243,6 +32945,28 @@ circles (useful for visually demonstrating the nature of fractions) in MetaPost.") (license license:lppl1.3+))) +(define-public texlive-short-math-guide + (package + (name "texlive-short-math-guide") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/short-math-guide/") + (base32 + "1wjcjgw0xk4zx57f364cpl57qpxj3lq4lahlkbk6iiin1h9v2prf"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/short-math-guide") + (synopsis "Guide to typeset mathematical notation with LaTeX") + (description + "@emph{The Short Math Guide} is intended to be a concise introduction to +the use of the facilities provided by @code{amsmath} and various other LaTeX +packages for typesetting mathematical notation. Originally created by Michael +Downes of the American Mathematical Society based only on @code{amsmath}, it +has been brought up to date with references to related packages and other +useful information.") + (license license:lppl1.3c))) + (define-public texlive-showexpl (package (name "texlive-showexpl") @@ -21303,6 +33027,24 @@ technical report, in XeLaTeX. This simple template that can be further customized or extended, with numerous examples.") (license license:public-domain))) +(define-public texlive-simplified-latex + (package + (name "texlive-simplified-latex") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/simplified-latex/") + (base32 + "1cgf1p7p2ikda1nb0c2vhhx7ai6rd973pz6a00pr9yanxsvghp6d"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/simplified-latex") + (synopsis "Simplified introduction to LaTeX") + (description + "This package provides an accessible introduction to LaTeX for the +beginner.") + (license license:lppl))) + (define-public texlive-slideshow (package (name "texlive-slideshow") @@ -21547,6 +33289,25 @@ definition, or to define space-stripped macros.") and books created by Edward Tufte.") (license license:asl2.0))) +(define-public texlive-turkmen + (package + (name "texlive-turkmen") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/turkmen/" "source/latex/turkmen/" + "tex/latex/turkmen/") + (base32 + "0jgz9vkqpp853pxvhknafrwpl41h04j7fr1gfjrzqzcrdq7d855i"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/turkmen") + (synopsis "Babel support for Turkmen") + (description + "The package provides support for Turkmen in Babel, but integration with +Babel is not available.") + (license license:lppl))) + (define-public texlive-ucharclasses (package (name "texlive-ucharclasses") @@ -21770,6 +33531,26 @@ The package is a reimplementation of the @code{spotcolor} package for use with XeLaTeX. As such, it has the same user interface and the same capabilities.") (license license:lppl1.3c))) +(define-public texlive-xetex-devanagari + (package + (name "texlive-xetex-devanagari") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/xetex/xetex-devanagari/" + "fonts/misc/xetex/fontmapping/xetex-devanagari/") + (base32 + "17br9aq1af36wadq2cmndbb0z2jdhr1mn7jdb3cq642wwngcfi13"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/xetex-devanagari") + (synopsis "XeTeX input map for Unicode Devanagari") + (description + "The package provides a map for use with Jonathan Kew's TECkit, to +translate Devanagari (encoded according to the Harvard/Kyoto convention) to +Unicode (range 0900-097F).") + (license license:lppl))) + (define-public texlive-xetex-itrans (package (name "texlive-xetex-itrans") @@ -21870,6 +33651,24 @@ texts), using XeTeX. It enhances the existing support, in XeTeX, providing features that provide quality typesetting.") (license license:lppl1.3c))) +(define-public texlive-xetexref + (package + (name "texlive-xetexref") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/xetex/xetexref/") + (base32 + "0d6xwyd09rrmd0pjvrdha05l1qldppd2k7wcpyfb475pd9q05r5r"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/xetexref") + (synopsis "Reference documentation of XeTeX") + (description + "The package comprises reference documentation for XeTeX detailing its +extended features.") + (license license:lppl1.3c))) + (define-public texlive-xevlna (package (name "texlive-xevlna") @@ -21916,6 +33715,24 @@ available, together with the parent (including file) and parents (all including files to the root of the tree). The package supersedes FiNK.") (license license:lppl1.3+))) +(define-public texlive-cursolatex + (package + (name "texlive-cursolatex") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/cursolatex/") + (base32 + "048s5fg8c19s3zbl2dkmh8ffkicb8fd9n46m0iqrc39i0wrh7p12"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/cursolatex") + (synopsis "LaTeX tutorial, in Portuguese") + (description + "This package provides a LaTeX tutorial, in Portuguese. The tutorial is +presented as a set of slides.") + (license license:gpl3+))) + (define-public texlive-calrsfs (package (name "texlive-calrsfs") @@ -22188,6 +34005,55 @@ BibLaTeX, and is considered experimental.") (define-deprecated-package texlive-latex-gcite texlive-gcite) +(define-public texlive-gckanbun + (package + (name "texlive-gckanbun") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/gckanbun/" "tex/latex/gckanbun/") + (base32 + "1hjp7nw2b34pkfxh6n2722zc83hjpn492q77gb063jzi79pgbprx"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/gckanbun") + (synopsis "Kanbun typesetting for (u)pLaTeX and LuaLaTeX") + (description + "This package provides a Kanbun (Han Wen, ``Chinese writing'') +typesetting for @code{(u)pLaTeX} and LuaLaTeX.") + (license license:expat))) + +(define-public texlive-gentombow + (package + (name "texlive-gentombow") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/gentombow/" + "tex/latex/gentombow/") + (base32 + "1pc1cxsxlnj9d2qnvm31r3cw15mf7fwr5dadd10473mww8bp8irf"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/gentombow") + (synopsis "Generate Japanese-style crop marks") + (description + "This bundle provides a LaTeX package for generating Japanese-style crop +marks (called tombow in Japanese) for practical use in self-publishing. + +The bundle contains the following packages: +@itemize +@item @file{gentombow.sty}: Generate crop marks (called tombow in +Japanese) for practical use in self-publishing. It provides the core +tombow feature if not available. +@item @file{pxgentombow.sty}: Superseded by @file{gentombow.sty}; kept +for compatibility only. +@item @file{bounddvi.sty}: Set papersize special to DVI file. Can be +used on LaTeX, pLaTeX, upLaTeX (with DVI output mode) with dvips or +dvipdfmx drivers. +@end itemize") + (license license:bsd-3))) + (define-public texlive-geometry (package (name "texlive-geometry") @@ -22354,6 +34220,34 @@ running text or as separate paragraphs with a preceding number or symbol. It also provides compacted versions of @code{enumerate} and @code{itemize}.") (license license:lppl1.0+))) +(define-public texlive-polski + (package + (name "texlive-polski") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/polski/" "source/latex/polski/" + "tex/latex/polski/") + (base32 + "0rcqyq8a96dl61fi9yr201rpm93w70sq93872ngfgvnk5m19xy13"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (arguments (list #:build-targets #~(list "polski.ins"))) + (propagated-inputs (list texlive-hyphen-complete texlive-pl)) + (home-page "https://ctan.org/pkg/polski") + (synopsis "Typeset Polish documents with LaTeX and Polish fonts") + (description + "This package provides tools to typeset monolingual Polish documents in +LaTeX2e without Babel or Polyglossia. The package loads Polish hyphenation +patterns, ensures that a font encoding suitable for Polish is used; in +particular it enables Polish adaptation of Computer Modern fonts (the +so-called PL fonts), provides translations of @code{\\today} and names like +@samp{Bibliography} or @samp{Chapter}, redefines math symbols according to +Polish typographical tradition, provides macros for dashes according to Polish +orthography, provides a historical input method for Polish characters, works +with traditional TeX as well as with Unicode aware variants.") + (license license:lppl1.2+))) + (define-public texlive-polyglossia (package (name "texlive-polyglossia") @@ -22461,6 +34355,48 @@ written from right to left. (define-deprecated-package texlive-latex-polyglossia texlive-polyglossia) +(define-public texlive-przechlewski-book + (package + (name "texlive-przechlewski-book") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "bibtex/bst/przechlewski-book/" + "doc/latex/przechlewski-book/" + "tex/latex/przechlewski-book/") + (base32 + "06bsdpm26s3qqxhik185pkrxp0mx2n5jxndm14cd917drh162yr8"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/przechlewski-book") + (synopsis "Examples from Przechlewski's LaTeX book") + (description + "The bundle provides machine-readable copies of the examples from the +book @emph{Praca magisterska i dyplomowa z programem LaTeX}.") + (license license:lppl))) + +(define-public texlive-qpxqtx + (package + (name "texlive-qpxqtx") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/fonts/qpxqtx/" + "fonts/tfm/public/qpxqtx/" + "fonts/vf/public/qpxqtx/" + "tex/generic/qpxqtx/") + (base32 + "0ksikdpzsv0rdnl5p536aw3625rlmzpgmhsycb8sbm9jlbrpxvi6"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/qpxqtx") + (synopsis + "Polish macros and fonts supporting Pagella/pxfonts and Termes/txfonts") + (description + "This package provides Polish macros and fonts supporting Pagella/pxfonts +and Termes/txfonts") + (license license:public-domain))) + (define-public texlive-supertabular (package (name "texlive-supertabular") @@ -22485,6 +34421,27 @@ a few situations where longtable has problems.") (define-deprecated-package texlive-latex-supertabular texlive-supertabular) +(define-public texlive-tap + (package + (name "texlive-tap") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/generic/tap/" "tex/generic/tap/") + (base32 + "18xfn4p90i0hw5h7am982jgqnsj7qyaijw20zjy3shwihgkaq7fs"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/tap") + (synopsis "TeX macros for typesetting complex tables") + (description + "The package offers a simple notation for pretty complex tables (to +Michael J.@: Ferguson's credit). With PostScript, the package allows +shaded/coloured tables, diagonal rules, etc. The package is supposed to work +with both Plain and LaTeX. An AWK converter from ASCII semigraphic tables to +TAP notation is included.") + (license license:public-domain))) + (define-public texlive-texinfo (package (name "texlive-texinfo") @@ -22917,6 +34874,24 @@ would automatically change the heading style in use).") (define-deprecated-package texlive-latex-fancyhdr texlive-fancyhdr) +(define-public texlive-fancyhdr-it + (package + (name "texlive-fancyhdr-it") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/fancyhdr-it/") + (base32 + "117826hd9zl15i8qf6d1pz2qz57l68a9nxqldxyk21acc29ifalr"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/fancyhdr-it") + (synopsis "Italian translation of @code{fancyhdr} documentation") + (description + "This package provides an Italian translation of documentation provided +with the @code{fancyhdr} package.") + (license license:lppl))) + (define-public texlive-fancyref (package (name "texlive-fancyref") @@ -23120,6 +35095,27 @@ into Python''. The package is modelled on @code{lipsum}, and may be used for similar purposes.") (license license:lppl1.3c))) +(define-public texlive-kurdishlipsum + (package + (name "texlive-kurdishlipsum") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/xelatex/kurdishlipsum/" + "tex/xelatex/kurdishlipsum/") + (base32 + "0lpdjqbif0pqsb6pmg8jc8igdf06dzwn3yfxh19mnjfzslcxkcmk"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/kurdishlipsum") + (synopsis "Lipsum package for the Kurdish language") + (description + "This package provides lipsum-like facilities for the Kurdish language. +The package gives you easy access to the Kurdish poetry and balladry texts of +the Diwany Vafaiy, Ahmedy Xani, Naly, Mahwy,.... The package needs to be run +under XeLaTeX.") + (license license:lppl))) + (define-public texlive-kurier (package (name "texlive-kurier") @@ -23699,6 +35695,89 @@ what your review will look like on zbMATH Open and you can test whether your LaTeX-Code will compile on our system.") (license (list license:gpl3 license:cc-by-sa4.0)))) +(define-public texlive-zhmetrics + (package + (name "texlive-zhmetrics") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/fonts/zhmetrics/" + "fonts/tfm/zhmetrics/cyberb/" + "fonts/tfm/zhmetrics/gbk/" + "fonts/tfm/zhmetrics/gbkfs/" + "fonts/tfm/zhmetrics/gbkhei/" + "fonts/tfm/zhmetrics/gbkkai/" + "fonts/tfm/zhmetrics/gbkli/" + "fonts/tfm/zhmetrics/gbksong/" + "fonts/tfm/zhmetrics/gbkyou/" + "fonts/tfm/zhmetrics/unifs/" + "fonts/tfm/zhmetrics/unihei/" + "fonts/tfm/zhmetrics/unikai/" + "fonts/tfm/zhmetrics/unili/" + "fonts/tfm/zhmetrics/unisong/" + "fonts/tfm/zhmetrics/uniyou/" + "source/fonts/zhmetrics/" + "tex/generic/zhmetrics/" + "tex/latex/zhmetrics/") + (base32 + "0953rxs3k3vil9aq9v8hacwbnchz73ql8xp0dp0ynpw6v8iabxyg"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/zhmetrics") + (synopsis "TFM subfont files for using Chinese fonts in 8-bit TeX") + (description + "These are metrics to use existing Chinese TrueType fonts in workflows +that use LaTeX and @command{dvipdfmx}, or pdfLaTeX. The fonts themselves are +not included in the package. Six font families are supported: Kai, Song, +Lishu, Fangsong, Youyuan and Hei. Two encodings (GBK and UTF-8) are +supported.") + (license license:lppl))) + +(define-public texlive-zhmetrics-uptex + (package + (name "texlive-zhmetrics-uptex") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/fonts/zhmetrics-uptex/" + "fonts/tfm/public/zhmetrics-uptex/" + "fonts/vf/public/zhmetrics-uptex/") + (base32 + "1598l2k32g8nvxqzbgc6mzsib4v0pmsn9h221r4m1d95vm3n0pvd"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/zhmetrics-uptex") + (synopsis "Chinese font metrics for upTeX") + (description + "The package contains some Chinese font metrics (JFM, VF, etc) for upTeX +engine, together with a simple DVIPDFMx font mapping of Fandol fonts for +DVIPDFMx.") + (license license:lppl1.3+))) + +(define-public texlive-zhnumber + (package + (name "texlive-zhnumber") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/zhnumber/" + "source/latex/zhnumber/" + "tex/latex/zhnumber/") + (base32 + "170lwb97ji9zgmmayzxmpawjkzk50g7rwqmwr11w72zfqkc2v9g2"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + ;; FIXME: I couldn't find how to build this package from source. + (arguments + (list #:phases #~(modify-phases %standard-phases (delete 'build)))) + (home-page "https://ctan.org/pkg/zhnumber") + (synopsis "Typeset Chinese representations of numbers") + (description + "The package provides commands to typeset Chinese representations of +numbers. The main difference between this package and CJKnumb is that the +commands provided are expandable in the proper way.") + (license license:lppl1.3c))) + (define-public texlive-zhspacing (package (name "texlive-zhspacing") @@ -23777,6 +35856,63 @@ via one of the packages @code{calrsfs} and @code{mathrsfs}.") (define-deprecated-package texlive-fonts-rsfs texlive-rsfs) +(define-public texlive-es-tex-faq + (package + (name "texlive-es-tex-faq") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/generic/es-tex-faq/") + (base32 + "0wp5jx1qs4yp3y4qpwqhpw7rnilw3vb2z5xb4lzwph6zw27jf6sd"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/faq-es") + (synopsis "CervanTeX (Spanish TeX Group) FAQ") + (description + "This package provides the SGML source, converted LaTeX version, and +readable copies of the FAQ from the Spanish TeX users group.") + (license license:lppl))) + +(define-public texlive-eskd + (package + (name "texlive-eskd") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/eskd/" "source/latex/eskd/" + "tex/latex/eskd/") + (base32 + "1q83pvycckrmyaiwwg3mcl77jy5wrcy8jy7kz004x7asq2p0a2ls"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/eskd") + (synopsis "Modern Russian typesetting") + (description + "The class offers modern Russian text formatting, in accordance with +accepted design standards. Fonts not (apparently) available on CTAN are +required for use of the class.") + (license license:lppl))) + +(define-public texlive-eskdx + (package + (name "texlive-eskdx") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/eskdx/" "tex/latex/eskdx/") + (base32 + "07c9gbvgr4455s5sfsdjxbbdllx2lhmb5d1c2sdk7rpkvjh64lv8"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/eskdx") + (synopsis "Modern Russian typesetting") + (description + "Eskdx is a collection of LaTeX classes and packages to typeset textual +and graphical documents in accordance with Russian (and probably post USSR) +standards for designers.") + (license license:lppl1.3+))) + (define-public texlive-eso-pic (package (name "texlive-eso-pic") @@ -23863,6 +35999,26 @@ provides means for easy customization of the list of notes.") document.") (license license:lppl1.2+))) +(define-public texlive-endnotesj + (package + (name "texlive-endnotesj") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/endnotesj/" + "tex/latex/endnotesj/") + (base32 + "1yv8jzvps79svd4013f6cpm41mh3mx2m64jx7bv01ryqdgjzq2g9"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/endnotesj") + (synopsis "Japanese-style endnotes") + (description + "This package provides customized styles for endnotes to be used with +Japanese documents. It can be used on pLaTeX, upLaTeX, and LuaLaTeX +(LuaTeX-ja).") + (license license:bsd-3))) + (define-public texlive-enumitem (package (name "texlive-enumitem") @@ -24200,6 +36356,175 @@ according to the natural width of the widest cell in the column.") (define-deprecated-package texlive-latex-tabulary texlive-tabulary) +(define-public texlive-tamethebeast + (package + (name "texlive-tamethebeast") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/bibtex/tamethebeast/") + (base32 + "13shw7hcimckn7pp8pj0cr1zsi1wq6r400x1v6akpmwwjxkw09g5"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/tamethebeast") + (synopsis "Manual about bibliographies and especially BibTeX") + (description + "This package is an as complete as possible manual about bibliographies +in LaTeX, and thus mainly about BibTeX.") + (license license:lppl1.3+))) + +(define-public texlive-tds + (package + (name "texlive-tds") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/generic/tds/" "doc/info/tds.info") + (base32 + "04lhavbayyisxxqfm1vpfq38xx1xwkn136hdnjaa3szky2xyn3yh"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/tds") + (synopsis "TeX Directory Structure standard") + (description + "This package defines a structure for placement of TeX-related files on +an hierarchical file system, in a way that is well-defined, and is readily +implementable.") + (license license:fdl1.1+))) + +(define-public texlive-tex-font-errors-cheatsheet + (package + (name "texlive-tex-font-errors-cheatsheet") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/tex-font-errors-cheatsheet/") + (base32 + "0pfd5qphmizhxb2p4gg6809xcx1rlfkwqa6vs4f74457chcwljwn"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/tex-font-errors-cheatsheet") + (synopsis "Cheat sheet outlining the most common TeX font errors") + (description + "This is a compact three-pages document highlighting the TeX flow of +integrating fonts, and explains how some of the most common font-related error +messages occur. Also, hints are given on how to address those.") + (license license:lppl))) + +(define-public texlive-tex-nutshell + (package + (name "texlive-tex-nutshell") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/plain/tex-nutshell/") + (base32 + "1pc9hx4fzk0k6lwab6galf7gxm55x4z250dymsmbz4fan76xk51x"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/tex-nutshell") + (synopsis "Short document about TeX principles") + (description + "This document is meant for users who are looking for information about +the basics of TeX. Its main goal is its brevity. The pure TeX features are +described, no features provided by macro extensions. Only the last section +gives a summary of plain TeX macros.") + (license license:public-domain))) + +(define-public texlive-tex-overview + (package + (name "texlive-tex-overview") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/tex-overview/") + (base32 + "1agfya9rwvyjvip0alvibimz75jivpf19hp4jvlv7z0n9m26m9jd"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/tex-overview") + (synopsis "Overview of the development of TeX") + (description + "The document gives a short overview of TeX and its children, as well as +the macro packages LaTeX and ConTeXt.") + (license license:lppl1.3+))) + +(define-public texlive-tex-refs + (package + (name "texlive-tex-refs") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/generic/tex-refs/") + (base32 + "1w7hcd3qsdhmb2siakjg2hm3h6kxa90ncsaif9spr4xkxs03ib6l"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/tex-references") + (synopsis "References for TeX and Friends") + (description + "This is an ongoing project with the aim of providing a help file for +LaTeX (and its friends like ConTeXt, MetaPost, Metafont, etc.) using +DocBook/XML source format.") + (license license:fdl1.2+))) + +(define-public texlive-tex-vpat + (package + (name "texlive-tex-vpat") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/tex-vpat/") + (base32 + "16nfvhzzg46vk6pqli6spxq9y9r0manqd5b7b4k6r9lssdqxf8ld"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/tex-vpat") + (synopsis "TeX accessibility conformance report") + (description + "This package provides the TeX accessibility conformance report based on +ITI VPAT(R) guidelines.") + (license license:cc-by3.0))) + +(define-public texlive-texbytopic + (package + (name "texlive-texbytopic") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/plain/texbytopic/") + (base32 + "0pnh1hsd6k434c8i1xdjq3ywrwylmryrsl86d6h7i1cnmzz4pwlx"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/texbytopic") + (synopsis "@emph{TeX by Topic} book") + (description + "@emph{TeX by Topic} is a book originally published by Addison-Wesley. +It describes itself as ``a TeXnician's reference'', and covers the way +TeX (the engine) works in as much detail as most ordinary TeX programmers will +ever need to know.") + (license license:fdl1.3+))) + +(define-public texlive-texonly + (package + (name "texlive-texonly") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/plain/texonly/") + (base32 + "0h40f8hj03ha0ilpj2fx5kzzvdv0yplmr4528s2rmmy62l9kgdkd"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/texonly") + (synopsis "Sample document in Plain TeX") + (description + "This package provides a file written with TeX, not using any packages, +to be compiled with TeX or pdfTeX only, not with LaTeX and al.") + (license license:lppl1.3c))) + (define-public texlive-threeparttable (package (name "texlive-threeparttable") @@ -24248,6 +36573,100 @@ package @code{thumbpdf.sty} to automatically include the thumbnails. This arrangement works with both plain TeX and LaTeX.") (license license:lppl1.3+))) +(define-public texlive-titlepages + (package + (name "texlive-titlepages") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/titlepages/") + (base32 + "17ib7rpb2dhb2m724x66fdzddv8cqd808wxy5kkvx0vb3rl27hyh"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/titlepages") + (synopsis "Sample titlepages, and how to code them") + (description + "The document provides examples of over two dozen title page designs +based on a range of published books and theses, together with the LaTeX code +used to create them.") + (license license:lppl))) + +(define-public texlive-tlc2 + (package + (name "texlive-tlc2") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/tlc2/") + (base32 + "1ysb233rjb8gpl9s35qql1dny5rj6fn8ssy2dqdqsn5xj9pdasyy"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/tlc2-examples") + (synopsis "Examples from @emph{The LaTeX Companion}, second edition") + (description + "This package provides the source of the examples printed in @emph{The +LaTeX Companion} book, together with necessary supporting files.") + (license license:lppl))) + +(define-public texlive-tlc3-examples + (package + (name "texlive-tlc3-examples") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/tlc3-examples/") + (base32 + "01ny6r3ycji0af0cdywn2fmxd0fyz3y7afdnn983a5gy1j9rza7v"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/tlc3-examples") + (synopsis "All examples from @emph{The LaTeX Companion}, third edition") + (description + "This package provides the PDFsand sources for all examples from +@emph{The LaTeX Companion}, third edition (Parts I+II), together with +necessary supporting files.") + (license license:lppl1.3c))) + +(define-public texlive-tlmgr-intro-zh-cn + (package + (name "texlive-tlmgr-intro-zh-cn") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/support/tlmgr-intro-zh-cn/") + (base32 + "127fad3aq66rnn4jkccyw7qc8pdcwapyjb6lj9kn49nqcy3jm6nk"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/tlmgr-intro-zh-cn") + (synopsis "Short tutorial on using @command{tlmgr} in Chinese") + (description + "This is a Chinese translation of the @command{tlmgr} documentation. It +introduces some of the common usage of the TeX Live Manager. The original can +be found in the @code{tlmgrbasics} package.") + (license license:gpl3+))) + +(define-public texlive-tlmgrbasics + (package + (name "texlive-tlmgrbasics") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/support/tlmgrbasics/") + (base32 + "0zychfw7zvx7pj8zp89zg0rjablm8p6ja2nibbdbgvan0gfc1m97"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/tlmgrbasics") + (synopsis "Simplified documentation for @command{tlmgr}") + (description + "This package provides simplified documentation for @command{tlmgr}, the +TeX Live manager. It describes the most commonly-used actions and options in +a convenient format.") + (license license:gpl2+))) + (define-public texlive-txfonts (package (name "texlive-txfonts") @@ -24436,6 +36855,176 @@ command).") ;; The license text is found at the header of the jadetex.dtx file. (license license:expat))) +(define-public texlive-japanese-mathformulas + (package + (name "texlive-japanese-mathformulas") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/lualatex/japanese-mathformulas/" + "tex/lualatex/japanese-mathformulas/") + (base32 + "0a5kqgkl89m5yc9zgkhlz44dvvi52jfaja3lwcf7g7q039k2h6fg"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/japanese-mathformulas") + (synopsis "Compiling basic math formulas in Japanese using LuaLaTeX") + (description + "This is a style file for compiling basic maths formulas in Japanese +using LuaLaTeX. @code{\\NewDocumentCommand} allows you to specify whether the +formula should be used within a sentence or on a new line.") + (license license:lppl1.3c))) + +(define-public texlive-japanese-otf + (package + (name "texlive-japanese-otf") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/fonts/japanese-otf/" + "fonts/ofm/public/japanese-otf/" + "fonts/tfm/public/japanese-otf/" + "fonts/vf/public/japanese-otf/" + "source/fonts/japanese-otf/" + "tex/platex/japanese-otf/") + (base32 + "125z1fi13dnksngsc442n6fcmicv7hhrxrq8anzxax4ic3dqfvha"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/japanese-otf") + (synopsis "Advanced font selection for platex and its friends") + (description + "The package contains pLaTeX support files and virtual fonts for +supporting a wide variety of fonts in LaTeX using the pTeX engine.") + (license license:bsd-3))) + +(define-public texlive-jieeetran + (package + (name "texlive-jieeetran") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "bibtex/bst/jieeetran/" + "doc/bibtex/jieeetran/") + (base32 + "122g618j9wli9amx9c82whjp81i5cpjz1mj4pnmyfa8x5mfdh6dp"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/jieeetran") + (synopsis + "UnofficiaL BibTeX style for citing Japanese articles in IEEE format") + (description + "This package provides an unofficial BibTeX style for authors trying to +cite Japanese articles in the Institute of Electrical and Electronics +Engineers (IEEE) format.") + (license license:expat))) + +(define-public texlive-jlreq + (package + (name "texlive-jlreq") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/jlreq/" + "fonts/tfm/public/jlreq/" + "fonts/vf/public/jlreq/" + "source/latex/jlreq/" + "tex/latex/jlreq/" + "tex/luatex/jlreq/") + (base32 + "11jyj5mcyd9yxhb7mnm7naaaj26cgdk5iqkwna20109pcc2qy0wz"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/jlreq") + (synopsis + "Japanese document class based on requirements for Japanese text layout") + (description + "This package provides a Japanese document class based on requirements +for Japanese text layout. The class file and the JFM (Japanese font metric) +files for LuaTeX-ja, pLaTeX, or upLaTeX are provided.") + (license license:bsd-2))) + +(define-public texlive-jlreq-deluxe + (package + (name "texlive-jlreq-deluxe") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/platex/jlreq-deluxe/" + "fonts/tfm/public/jlreq-deluxe/" + "fonts/vf/public/jlreq-deluxe/" + "tex/platex/jlreq-deluxe/") + (base32 + "0l80iqgsnhvqisrkhgflwpxs5fqyz2ddv6vp3b17vnxvymyzzvg4"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/jlreq-deluxe") + (synopsis "Multi-weight Japanese font support for the @code{jlreq} class") + (description + "This package provides multi-weight Japanese font support for the +@code{jlreq} class.") + (license license:expat))) + +(define-public texlive-jpneduenumerate + (package + (name "texlive-jpneduenumerate") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/jpneduenumerate/" + "tex/latex/jpneduenumerate/") + (base32 + "0ndg4ig5bg9ns2pxcf070c7jyh7d7r3r7c7xg5d99k3qlg4vkd9n"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/jpneduenumerate") + (synopsis "Enumerative expressions in Japanese education") + (description + "Mathematical equation representation in Japanese education differs +somewhat from the standard LaTeX writing style. This package introduces +enumerative expressions in Japanese education.") + (license license:expat))) + +(define-public texlive-jpnedumathsymbols + (package + (name "texlive-jpnedumathsymbols") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/jpnedumathsymbols/" + "tex/latex/jpnedumathsymbols/") + (base32 + "0ap370bp831xxrq45zllyrbhhxs0yv3qb1l5pkpvgsildfk5rk7m"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/jpnedumathsymbols") + (synopsis "Mathematical equation representation in Japanese education") + (description + "Mathematical equation representation in Japanese education differs +somewhat from the standard LaTeX writing style. This package introduces +mathematical equation representation in Japanese education.") + (license license:expat))) + +(define-public texlive-kanbun + (package + (name "texlive-kanbun") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/kanbun/" "tex/latex/kanbun/") + (base32 + "1a922jly8f791r4jbz4097h8js5z29435zphm5i52pvkl6p245wy"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/kanbun") + (synopsis "Typeset kanbun-kundoku with support for kanbun annotation") + (description + "This package allows users to manually input macros for elements in +a kanbun-kundoku (Han Wen Xun Du) paragraph. More importantly, it accepts +plain text input in the kanbun annotation form when used with LuaLaTeX, which +allows typesetting kanbun-kundoku paragraphs efficiently.") + (license license:lppl1.3+))) + (define-public texlive-libertine (package (name "texlive-libertine") @@ -26239,6 +38828,26 @@ not only with KOMA-Script classes but also with the standard classes.") (define-deprecated-package texlive-latex-koma-script texlive-koma-script) +(define-public texlive-koma-script-examples + (package + (name "texlive-koma-script-examples") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/koma-script-examples/") + (base32 + "1s95a3vgjxrn34cpcinkyr1yw2rj8s2973np71yxrwzi9dqdjpn1"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/koma-script-examples") + (synopsis "Examples from the KOMA-Script book") + (description + "This package contains some examples from the 6th edition of the book +@emph{KOMA-Script<, Eine Sammlung von Klassen und Paketen fur LaTeX2e} by +Markus Kohm, published by Lehmanns Media. There are no further descriptions +of these examples.") + (license license:lppl1.3c))) + (define-public texlive-atbegshi (package (name "texlive-atbegshi") @@ -26633,6 +39242,48 @@ in places where the standard @code{verbatim} environment (which is based on a (define-deprecated-package texlive-latex-verbatimbox texlive-verbatimbox) +(define-public texlive-verifica + (package + (name "texlive-verifica") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/verifica/" + "source/latex/verifica/" + "tex/latex/verifica/") + (base32 + "1q7kdx7rywc98sdgycj33v8w3a3rk30qil5nqh9h0kgmc7a91mpc"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/verifica") + (synopsis "Typeset (Italian high school) exercises") + (description + "This class provides various environments and commands to produce the +typical exercises contained in a test. It is mainly intended for Italian high +school teachers, as the style is probably more in line with Italian high +school tests.") + (license license:lppl1.3+))) + +(define-public texlive-exam-zh + (package + (name "texlive-exam-zh") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/xelatex/exam-zh/" "tex/latex/exam-zh/") + (base32 + "1p0zy0y2c75mq84n3bqbd39hw1phiyfl22q0fzid58v5ngcf0ip1"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/exam-zh") + (synopsis "LaTeX template for Chinese exams") + (description + "This package provides a class @file{exam-zh.cls} suitable for Chinese +exams of all types. It also includes several module packages like +@file{exam-zh-question.sty} and @file{exam-zh-choices.sty}, which can be used +individually.") + (license license:lppl1.3c))) + (define-public texlive-examplep (package (name "texlive-examplep") @@ -26718,6 +39369,22 @@ AMS-LaTeX, AMS-TeX, and plain TeX). The distribution includes Michael Barr's (define-deprecated-package texlive-generic-xypic texlive-xypic) +(define-public texlive-xypic-tut-pt + (package + (name "texlive-xypic-tut-pt") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/generic/xypic-tut-pt/") + (base32 + "0d9ivdz5jnhnh3pg8qb2jn7qfxad06hxff65scyhdd6wbsfaizi9"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/xypic-tut-pt") + (synopsis "Tutorial for XY-pic, in Portuguese") + (description "This is a tutorial for XY-pic, in Portuguese.") + (license license:gpl3+))) + (define-public texlive-bibtex (package (name "texlive-bibtex") @@ -26744,6 +39411,32 @@ be specified in the document itself (one often needs a LaTeX citation-style package, such as @command{natbib} as well).") (license license:knuth))) +(define-public texlive-charissil + (package + (name "texlive-charissil") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/fonts/charissil/" + "fonts/enc/dvips/charissil/" + "fonts/map/dvips/charissil/" + "fonts/tfm/SIL/charissil/" + "fonts/truetype/SIL/charissil/" + "fonts/type1/SIL/charissil/" + "fonts/vf/SIL/charissil/" + "tex/latex/charissil/") + (base32 + "0hdwxbck39xjkyq981fm3zxxkjw753mnr05jb7h7824k9x9wpfsl"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/charissil") + (synopsis "CharisSIL fonts with support for all LaTeX engines") + (description + "This package provides the CharisSIL family of fonts adapted by SIL +International from Bitstream Charter in TrueType format, with support for +LaTeX, pdfLaTeX, XeLaTeX and LuaLaTeX.") + (license (list license:silofl1.1 license:lppl)))) + (define-public texlive-charter (package (name "texlive-charter") @@ -27721,6 +40414,24 @@ effects, varying slide transitions and animations.") (define-deprecated-package texlive-latex-beamer texlive-beamer) +(define-public texlive-beamer-tut-pt + (package + (name "texlive-beamer-tut-pt") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/beamer-tut-pt/") + (base32 + "0ayh3kbh11l4nyyzp2kcwzn0phqhzawppy044iyl1wwwc2v3zx5b"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/beamer-tut-pt") + (synopsis "Introduction to the @code{beamer} class, in Portuguese") + (description + "This package provides an introduction to the @code{beamer} class, in +Portuguese.") + (license license:gpl3+))) + (define-public texlive-xmpincl (package (name "texlive-xmpincl") @@ -27849,6 +40560,27 @@ not (yet) be used with other packages, since the implementation might change.") (license license:lppl1.3+))) +(define-public texlive-yet-another-guide-latex2e + (package + (name "texlive-yet-another-guide-latex2e") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/yet-another-guide-latex2e/") + (base32 + "1bxpk66cfmqc6g0d29vvfd4d6y83nhdxsb9gsfwqbh38yr6rlq1b"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/yet-another-guide-latex2e") + (synopsis "Short guide to using LaTeX2e to typeset high quality documents") + (description + "This document is a short guide to using LaTeX2e to typeset high quality +documents. It focuses on users of Windows and guides the reader through +installation, some of LaTeX's conventions, and creating the front matter, body +and end matter. The appendices contain a list of useful facilities not +otherwise covered in this document and a list of helpful resources.") + (license license:fdl1.3+))) + (define-public texlive-pstricks (package (name "texlive-pstricks") @@ -27873,6 +40605,1905 @@ and with colour support. There are macros for colouring or shading the cells of tables.") (license license:lppl1.3+))) +(define-public texlive-pst-2dplot + (package + (name "texlive-pst-2dplot") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/generic/pst-2dplot/" + "tex/latex/pst-2dplot/") + (base32 + "1lq39hdlqf4af16lx7qrs6x2hj10rsashgd3yl8659346a2mq75a"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/pst-2dplot") + (synopsis "PSTricks package for drawing 2D curves") + (description + "Pst-2dplot is a PSTricks package that offers an intuitive tool for +plotting 2-d curves. It defines an environment with commands similar to +MATLAB for plotting.") + (license license:lppl))) + +(define-public texlive-pst-3d + (package + (name "texlive-pst-3d") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/generic/pst-3d/" "dvips/pst-3d/" + "source/generic/pst-3d/" + "tex/generic/pst-3d/" "tex/latex/pst-3d/") + (base32 + "12gpsg14glcjavlwsb7g0dkxcax89z2adkx7p29cpzvssnimdj50"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/pst-3d") + (synopsis "PSTricks package for tilting and other pseudo-3D tricks") + (description + "The package provides basic macros that use PSTricks for shadows, tilting +and three dimensional representations of text or graphical objects.") + (license license:lppl))) + +(define-public texlive-pst-3dplot + (package + (name "texlive-pst-3dplot") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/generic/pst-3dplot/" + "dvips/pst-3dplot/" + "tex/generic/pst-3dplot/" + "tex/latex/pst-3dplot/") + (base32 + "0k49c4kc126zacv2p2crdv00l50cg6kfpdnsa9m223naigifzf22"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/pst-3dplot") + (synopsis "Draw 3D objects in parallel projection, using PSTricks") + (description + "This package provides a package using PSTricks to draw a large variety +of graphs and plots, including 3D maths functions. Data can be read from +external data files, making this package a generic tool for graphing within +TeX or LaTeX, without the need for external tools.") + (license license:lppl))) + +(define-public texlive-pst-abspos + (package + (name "texlive-pst-abspos") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/generic/pst-abspos/" + "source/generic/pst-abspos/" + "tex/generic/pst-abspos/" + "tex/latex/pst-abspos/") + (base32 + "12k786hfhp8vrq4a6a6caf6fi1p16hd79r3lf19d5vcyykppdcm8"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/pst-abspos") + (synopsis "Put objects at an absolute position") + (description + "This PSTricks package provides a command @code{\\pstPutAbs(x,y)} to put +an object at an arbitrary absolute (or even a relative) position on the +page.") + (license license:lppl))) + +(define-public texlive-pst-am + (package + (name "texlive-pst-am") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/generic/pst-am/" + "source/generic/pst-am/" "tex/latex/pst-am/") + (base32 + "1dyhjycy6ccamxcp65761gbszxpvxdsiirqbpljkywsbynwfcn6q"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/pst-am") + (synopsis "Simulation of modulation and demodulation") + (description + "The package allows the simulation of the modulated and demodulated +amplitude of radio waves. The user may plot curves of modulated signals, wave +carrier, signal modulation, signal recovery and signal demodulation.") + (license license:lppl))) + +(define-public texlive-pst-antiprism + (package + (name "texlive-pst-antiprism") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/generic/pst-antiprism/" + "dvips/pst-antiprism/" + "tex/generic/pst-antiprism/" + "tex/latex/pst-antiprism/") + (base32 + "158691m8i8zd0w7d7vsbmkjm4y1ixfvj4j7bxszcw67cz2q2cmyi"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/pst-antiprism") + (synopsis "PSTricks related package which draws an antiprism") + (description + "@code{pst-antiprism} is a PSTricks related package which draws an antiprism, +which is a semiregular polyhedron constructed with 2-gons and triangles.") + (license license:lppl))) + +(define-public texlive-pst-arrow + (package + (name "texlive-pst-arrow") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/generic/pst-arrow/" + "tex/generic/pst-arrow/" + "tex/latex/pst-arrow/") + (base32 + "1z216b5189f390mdzxxcc240i0iav13nicqjqwcn31f4j4wclpzj"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/pst-arrow") + (synopsis "Special arrows for PSTricks") + (description + "This package has all the code from the package @code{pstricks-add}, +which was related to arrows, like multiple arrows and so on.") + (license license:lppl))) + +(define-public texlive-pst-asr + (package + (name "texlive-pst-asr") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/generic/pst-asr/" + "tex/generic/pst-asr/" "tex/latex/pst-asr/") + (base32 + "0hxp905d2r4j2z8hfbl9v45xid20lm41k8xy52fdj5grpshhg2z1"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/pst-asr") + (synopsis "Typeset autosegmental representations for linguists") + (description + "The package allows the user to typeset autosegmental representations.") + (license license:lppl))) + +(define-public texlive-pst-bar + (package + (name "texlive-pst-bar") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/generic/pst-bar/" "dvips/pst-bar/" + "tex/generic/pst-bar/" "tex/latex/pst-bar/") + (base32 + "19x8a3r09m28g6mpa98rz94274yahajznkkqarzwh1n8v54bb7hd"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/pst-bar") + (synopsis "Produces bar charts using PSTricks") + (description + "The package uses PSTricks to draw bar charts from data stored in +a comma-delimited file. Several types of bar charts may be drawn, and the +drawing parameters are highly customizable.") + (license license:lppl))) + +(define-public texlive-pst-barcode + (package + (name "texlive-pst-barcode") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/generic/pst-barcode/" + "dvips/pst-barcode/" + "tex/generic/pst-barcode/" + "tex/latex/pst-barcode/") + (base32 + "10990hhhj961rizfffplx8v3rhnv7knm8nz2zd1aqp686fr3fkgv"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/pst-barcode") + (synopsis "Print barcodes using PostScript") + (description + "The @code{pst-barcode} package allows printing of barcodes, in a huge +variety of formats, including quick-response (QR) codes. As a PSTricks +package, the package requires pstricks. The package uses @code{PostScript} +for calculating the bars. For PDF output use a multi-pass mechansism such as +@code{pst-pdf}.") + (license license:lppl))) + +(define-public texlive-pst-bezier + (package + (name "texlive-pst-bezier") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/generic/pst-bezier/" + "dvips/pst-bezier/" + "tex/generic/pst-bezier/" + "tex/latex/pst-bezier/") + (base32 + "181232snaqfjdc5mzazsdgjvmjn27pcfx45mydkk0cpp61kdr9yk"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/pst-bezier") + (synopsis "Draw Bezier curves") + (description + "The package provides a macro @code{\\psbcurve} for drawing a Bezier curve. +Provision is made for full control of over all the control points of the +curve.") + (license license:lppl))) + +(define-public texlive-pst-blur + (package + (name "texlive-pst-blur") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/generic/pst-blur/" "dvips/pst-blur/" + "source/generic/pst-blur/" + "tex/generic/pst-blur/" + "tex/latex/pst-blur/") + (base32 + "1zz5ixznkl3i59zlv9lxz7f1cfqwbar3qjy5x4323gmzjw2k9f8m"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/pst-blur") + (synopsis "PSTricks package for blurred shadows") + (description + "Pst-blur is a package built for use with PSTricks. It provides macros +that apply blurring to the normal shadow function of PSTricks.") + (license license:lppl))) + +(define-public texlive-pst-bspline + (package + (name "texlive-pst-bspline") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/generic/pst-bspline/" + "dvips/pst-bspline/" + "tex/generic/pst-bspline/" + "tex/latex/pst-bspline/") + (base32 + "0djf1izf9779lgmbw5zhcz7k5hf8ay96nlgdgpsm1zj4ncwkpibg"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/pst-bspline") + (synopsis "Draw cubic Bspline curves and interpolations") + (description + "The package draws uniform, cubic B-spline curves, open and closed, based +on a sequence of B-spline control points. There is also code which permits +drawing the open or closed cubic Bspline curve interpolating a sequence of +points. Graphical output is created using PStricks.") + (license license:lppl1.3+))) + +(define-public texlive-pst-calculate + (package + (name "texlive-pst-calculate") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/generic/pst-calculate/" + "tex/latex/pst-calculate/") + (base32 + "19yi0n8p4gj2p16nsk8f3i02a9adlqssyv57r67dc0qh6a0ipa9k"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/pst-calculate") + (synopsis "Support for floating point operations at LaTeX level") + (description + "This package provides an interface to the LaTeX3 floating point unit, +mainly used for PSTricks related packages to allow math expressions at LaTeX +level.") + (license license:lppl1.3+))) + +(define-public texlive-pst-calendar + (package + (name "texlive-pst-calendar") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/pst-calendar/" + "tex/latex/pst-calendar/") + (base32 + "07vc1jxrr0n0iwjx6qjww53xji1pv42dvlc2ghi1r14nypgm8j5n"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/pst-calendar") + (synopsis "Plot calendars in fancy ways") + (description + "The package draws tabular calendars, or calendars on dodecahedra with +a month to each face. The package works for years 2000--2099, and has options +for calendars in French German and English, but the documentation is not +available in English.") + (license license:lppl))) + +(define-public texlive-pst-cie + (package + (name "texlive-pst-cie") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/generic/pst-cie/" "dvips/pst-cie/" + "tex/generic/pst-cie/" "tex/latex/pst-cie/") + (base32 + "0g5yry8m935idznwn486gn75vjyhbdzs2w99l0szh95026kd4f0a"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/pst-cie") + (synopsis "CIE color space") + (description + "pst-cie is a PSTricks related package to show the different CIE color +spaces: Adobe, CIE, ColorMatch, NTSC, Pal-Secam, ProPhoto, SMPTE, and sRGB.") + (license license:lppl))) + +(define-public texlive-pst-circ + (package + (name "texlive-pst-circ") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/generic/pst-circ/" "dvips/pst-circ/" + "tex/generic/pst-circ/" + "tex/latex/pst-circ/") + (base32 + "0255xcjhm0jcgw352cmdn8d8062g2mihfzhii20zh4j0zznmk7hj"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/pst-circ") + (synopsis "PSTricks package for drawing electric circuits") + (description + "The package can easily draw current 2-terminal devices and some 3- and +4-terminal devices used in electronic or electric theory. The package's +macros are designed with a view to logical representation of circuits, as far +as possible, so as to relieve the user of purely graphical considerations when +expressing a circuit.") + (license license:lppl))) + +(define-public texlive-pst-coil + (package + (name "texlive-pst-coil") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/generic/pst-coil/" "dvips/pst-coil/" + "tex/generic/pst-coil/" + "tex/latex/pst-coil/") + (base32 + "0d3wqrv19zc9qwp3gbr32siad408z4g23k5861p0hqy2hw8f908q"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/pst-coil") + (synopsis "PSTricks package for coils, etc") + (description + "Pst-coil is a PSTricks based package for coils and zigzags and for coil +and zigzag node connections.") + (license license:lppl))) + +(define-public texlive-pst-contourplot + (package + (name "texlive-pst-contourplot") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/generic/pst-contourplot/" + "tex/generic/pst-contourplot/" + "tex/latex/pst-contourplot/") + (base32 + "00nqg59x1x3nh30cclqjdyyyjzinyl9czjfywznh68dzari1fvqk"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/pst-contourplot") + (synopsis + "Draw implicit functions using the marching squares algorithm") + (description + "This package allows to draw implicit functions @samp{f(x,y) = 0} with +options for coloring the inside of the surfaces, for marking the points and +arrowing the curve at points chosen by the user. The package uses the +marching squares algorithm.") + (license license:lppl))) + +(define-public texlive-pst-cox + (package + (name "texlive-pst-cox") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/generic/pst-cox/" "dvips/pst-cox/" + "tex/generic/pst-cox/" "tex/latex/pst-cox/") + (base32 + "1bw2qmsc735q3ji4h7l166s37wcpd6s4fvi98ggagndm29mcbia3"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/pst-cox") + (synopsis "Drawing regular complex polytopes with PSTricks") + (description + "Pst-cox is a PSTricks package for drawing 2-dimensional projections of +complex regular polytopes (after the work of Coxeter). The package consists +of a macro library for drawing the projections. The complex polytopes appear +in the study of the root systems and play a crucial role in many domains +related to mathematics and physics. These polytopes have been completely +described by Coxeter in his book @emph{Regular Complex Polytopes}. There +exist only a finite numbers of exceptional regular complex polytopes (for +example the icosahedron) and some infinite series (for example, one can +construct a multi-dimensional analogue of the hypercube in any finite +dimension). + +The library contains two packages. The first, @code{pst-coxcoor}, is devoted +to the exceptional complex regular polytopes whose coordinates have been +pre-computed. The second, @code{pst-coxeterp}, is devoted to the infinite +series.") + (license license:lgpl3+))) + +(define-public texlive-pst-dart + (package + (name "texlive-pst-dart") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/generic/pst-dart/" + "tex/generic/pst-dart/" + "tex/latex/pst-dart/") + (base32 + "1834hxlg4hfqmrl6k5i2c1jimzd0lcdi6x82b8lfj8dhnddlbgzr"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/pst-dart") + (synopsis "Plotting dart boards") + (description + "@code{pst-dart} is a PSTricks related package and draws dart boards. +Optional arguments are the unit and the fontsize.") + (license license:lppl))) + +(define-public texlive-pst-dbicons + (package + (name "texlive-pst-dbicons") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/generic/pst-dbicons/" + "source/generic/pst-dbicons/" + "tex/latex/pst-dbicons/") + (base32 + "0pzfahir5vvxw28095myqppfpyik7agzncm9vm42gvldw45byr4q"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/pst-dbicons") + (synopsis "Support for drawing ER diagrams") + (description + "The package provides some useful macros in the database area. The +package focusses on typesetting ER-Diagrams in a declarative style, i.e., by +positioning some nodes and defining the position of all other nodes relative +to them by using the standard database terminology.") + (license license:lppl))) + +(define-public texlive-pst-diffraction + (package + (name "texlive-pst-diffraction") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/generic/pst-diffraction/" + "source/generic/pst-diffraction/" + "tex/generic/pst-diffraction/" + "tex/latex/pst-diffraction/") + (base32 + "1wi67md3046nj0arqi1wmbgdhdrsnfqgmmb0ayk2iswfhvx32myr"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/pst-diffraction") + (synopsis "Print diffraction patterns from various apertures") + (description + "The package enables the user to draw (using PSTricks) the diffraction +patterns for different geometric forms of apertures for monochromatic light. +The aperture stops can have rectangular, circular or triangular openings. The +view of the diffraction may be planar, or three-dimensional. Options +available are the dimensions of the aperture under consideration and of the +particular optical setting, e.g., the radius in case of an circular opening. +Moreover one can choose the wavelength of the light (the associated color will +be calculated by the package).") + (license license:lppl))) + +(define-public texlive-pst-electricfield + (package + (name "texlive-pst-electricfield") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/generic/pst-electricfield/" + "dvips/pst-electricfield/" + "source/generic/pst-electricfield/" + "tex/generic/pst-electricfield/" + "tex/latex/pst-electricfield/") + (base32 + "1awc5nqp7giqmczx1xd1y78j5vgsw7y8m767mbhgs5j12j3yl4yd"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/pst-electricfield") + (synopsis "Draw electric field and equipotential lines with PSTricks") + (description + "The package provides macros to plot electric field and equipotential +lines using PStricks. There may be any number of charges which can be placed +in a cartesian coordinate system.") + (license license:lppl))) + +(define-public texlive-pst-eps + (package + (name "texlive-pst-eps") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/generic/pst-eps/" + "source/generic/pst-eps/" + "tex/generic/pst-eps/" "tex/latex/pst-eps/") + (base32 + "1lf106rw3w6gicn6021jpj4bgbpgjyixp64l9aqqxn6ip6vm4yh3"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/pst-eps") + (synopsis "Create EPS files from PSTricks figures") + (description + "Pst-eps is a PSTricks-based package for exporting PSTricks images on the +fly to encapsulated PostScript (EPS) image files, which can then be read into +a document in the usual way.") + (license license:lppl))) + +(define-public texlive-pst-eucl + (package + (name "texlive-pst-eucl") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/generic/pst-eucl/" "dvips/pst-eucl/" + "tex/generic/pst-eucl/" + "tex/latex/pst-eucl/") + (base32 + "070f7chfvj65mhhdnghblhlq0ywvy76bw17dcb8519ixra6p4f4d"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/pst-eucl") + (synopsis "Euclidian geometry with PSTricks") + (description + "The package allows the drawing of Euclidean geometric figures using TeX +PSTricks macros for specifying mathematical constraints. It is thus possible +to build point using common transformations or intersections. The use of +coordinates is limited to points which controlled the figure.") + (license license:lppl))) + +(define-public texlive-pst-eucl-translation-bg + (package + (name "texlive-pst-eucl-translation-bg") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/pst-eucl-translation-bg/") + (base32 + "06c9ajnfl01sl81z5r8a5lzmaygq9rdmgym2v40y7xp7z033gwwv"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/pst-eucl-translation-bg") + (synopsis "Bulgarian translation of the @code{pst-eucl} documentation") + (description + "The package provides the @code{pst-eucl} package documentation in +Bulgarian language.") + (license license:lppl))) + +(define-public texlive-pst-exa + (package + (name "texlive-pst-exa") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/pst-exa/" "tex/latex/pst-exa/") + (base32 + "1jbkk5nircdv0mas1vbydqhca1r5vcmrxyyi5xwzi1qhfbw3xa8g"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/pst-exa") + (synopsis "Typeset PSTricks examples, with code") + (description + "The (PSTricks-related) package provides an environment @code{PSTexample} +to put code and output side by side or one above the other.") + (license license:lppl))) + +(define-public texlive-pst-feyn + (package + (name "texlive-pst-feyn") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/generic/pst-feyn/" "dvips/pst-feyn/" + "tex/generic/pst-feyn/" + "tex/latex/pst-feyn/") + (base32 + "08m8pwl5kk2rs835pnksap8ld6ir0chlbswchgpvks229i6gkrj0"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/pst-feyn") + (synopsis "Draw graphical elements for Feynman diagrams") + (description + "@code{pst-feyn} is a set of drawing graphical elements which are used +for Feynman diagrams.") + (license license:lppl))) + +(define-public texlive-pst-fill + (package + (name "texlive-pst-fill") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/generic/pst-fill/" + "tex/generic/pst-fill/" + "tex/latex/pst-fill/") + (base32 + "0anzq671nsprckhy92ybp2y93g5f2z1s0qja9wx2mrjpb4xq8ng0"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/pst-fill") + (synopsis "Fill or tile areas with PSTricks") + (description + "Pst-fill is a PSTricks-based package for filling and tiling areas or +characters.") + (license license:lppl))) + +(define-public texlive-pst-fit + (package + (name "texlive-pst-fit") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/generic/pst-fit/" + "tex/generic/pst-fit/" "tex/latex/pst-fit/") + (base32 + "0w2vnd6zb9vdrqbk256ynr7lg7p9ps53rrdq9l999bw8f8vip1as"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/pst-fit") + (synopsis "Macros for curve fitting") + (description + "The package uses PSTricks to fit curves to: linear functions; power +functions; exp function; logarithm functions; Recip; Kings Law data; Gaussian; +and fourth order polynomials.") + (license license:lppl))) + +(define-public texlive-pst-flags + (package + (name "texlive-pst-flags") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/pst-flags/" + "tex/latex/pst-flags/") + (base32 + "13078q4mg1r8hg5zvywfasfz26phcr9dvsw4s05spc116b8fz9gn"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/pst-flags") + (synopsis "Draw flags of countries using PSTricks") + (description + "This package provides a number of macros for rendering flags of +countries and their associated artefacts using PSTricks. Formatting of the +resulting drawings is entirely controlled by TeX macros. A good working +knowledge of LaTeX should be sufficient to design flags of sovereign countries +and adapt them to create new designs. Features such as color or shape +customisation and dynamic modifications are possible by cleverly adjusting the +options supplied to the TeX macros.") + (license license:lppl1.3c))) + +(define-public texlive-pst-fr3d + (package + (name "texlive-pst-fr3d") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/generic/pst-fr3d/" + "source/generic/pst-fr3d/" + "tex/generic/pst-fr3d/" + "tex/latex/pst-fr3d/") + (base32 + "0y8xsq6wklpygzf0lfdy683vkdrglw5jl00qyfwk6rl08wb4l17y"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/pst-fr3d") + (synopsis "Draw 3-dimensional framed boxes using PSTricks") + (description + "This package provides a package using PSTricks to draw three dimensional +framed boxes using a macro @code{\\PstFrameBoxThreeD}. The macro is +especially useful for drawing 3D-seeming buttons.") + (license license:lppl))) + +(define-public texlive-pst-fractal + (package + (name "texlive-pst-fractal") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/generic/pst-fractal/" + "dvips/pst-fractal/" + "tex/generic/pst-fractal/" + "tex/latex/pst-fractal/") + (base32 + "0jc9zwjp23l6njr7y63jh0xv4a6qy2610bb88fdiwdsqnh70gs72"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/pst-fractal") + (synopsis "Draw fractal sets using PSTricks") + (description + "The package uses PSTricks to draw the Julia and Mandelbrot sets, the +Sierpinski triangle, Koch flake, and Apollonius Circle as well as fractal +trees (which need not be balanced) with a variety of different +parameters (including varying numbers of iterations).") + (license license:lppl))) + +(define-public texlive-pst-fun + (package + (name "texlive-pst-fun") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/generic/pst-fun/" "dvips/pst-fun/" + "source/generic/pst-fun/" + "tex/generic/pst-fun/" "tex/latex/pst-fun/") + (base32 + "070nv0yv0rcfvx36xmya953pk89whrr26irvy0ccb41k66fvw5j1"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/pst-fun") + (synopsis "Draw funny objects with PSTricks") + (description + "This is a PSTricks related package for drawing funny objects, like ant, bird, +fish, kangaroo, etc. Such objects may be useful for testing other PSTricks +macros and/or packages. (Or they can be used for fun...)") + (license license:lppl))) + +(define-public texlive-pst-func + (package + (name "texlive-pst-func") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/generic/pst-func/" "dvips/pst-func/" + "tex/generic/pst-func/" + "tex/latex/pst-func/") + (base32 + "01ibjcyb71l5wqm0x2vq3i4by7q0hp6jmghyw9gkrapmdlwqig5q"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/pst-func") + (synopsis "PSTricks package for plotting mathematical functions") + (description + "The package is built for use with PSTricks. It provides macros for +plotting and manipulating various mathematical functions: + +@itemize +@item polynomials and their derivatives, +@item Fourier sums, +@item the Bessel function defined by its order; +@item the Gauss function defined by sigma and mu, +@item Bezier curves from order 1 (two control points) to order 9 (10 control +points), +@item the superellipse function (the Lame curve), +@item Chebyshev polynomials of the first and second kind, +@item the Thomae (or popcorn) function, +@item the Weierstrass function, +@item various integration-derived functions: normal, binomial, poisson, gamma, +chi-squared, student's t, F, beta, Cauchy and Weibull distribution functions +and the Lorenz curve, +@item the zeroes of a function, or the intermediate point of two functions, +@item the Vasicek function for describing the evolution of interest rates, +@item implicit functions. +@end itemize + +The plots may be generated as volumes of rotation about the X-axis, as well.") + (license license:lppl))) + +(define-public texlive-pst-gantt + (package + (name "texlive-pst-gantt") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/generic/pst-gantt/" + "tex/generic/pst-gantt/" + "tex/latex/pst-gantt/") + (base32 + "1ziahdc0r8pkxxn6p6ijrx1diihkbbrmwbbc1pzi1sddqg05l5sc"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/pst-gantt") + (synopsis "Draw GANTT charts with PSTricks") + (description + "The package uses PSTricks to draw GANTT charts, which are a kind of bar +chart that displays a project schedule.") + (license license:lppl))) + +(define-public texlive-pst-geo + (package + (name "texlive-pst-geo") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/generic/pst-geo/" "dvips/pst-geo/" + "tex/generic/pst-geo/" "tex/latex/pst-geo/") + (base32 + "1zqmjjg9zmmzjqmhx2jwcc761f1rrxcchsnrd5s686f9p6z4w7c6"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/pst-geo") + (synopsis "Geographical projections") + (description + "The package offers a set of PSTricks related packages for various +cartographic projections of the terrestrial sphere. The package +@code{pst-map2d} provides conventional projections such as Mercator, Lambert, +cylindrical, etc. The package @code{pst-map3d} treats representation in three +dimensions of the terrestrial sphere. Packages @code{pst-map2dII} and +@code{pst-map3dII} allow use of the CIA World DataBank II. Various parameters +of the packages allow for choice of the level of the detail and the layouts +possible (cities, borders, rivers etc). Substantial data files are provided, +in an (internally) compressed format. Decompression happens on-the-fly as +a document using the data is displayed, printed or converted to PDF format. +A Perl script is provided for the user to do the decompression, if the need +should arise.") + (license license:lppl))) + +(define-public texlive-pst-geometrictools + (package + (name "texlive-pst-geometrictools") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/generic/pst-geometrictools/" + "tex/generic/pst-geometrictools/" + "tex/latex/pst-geometrictools/") + (base32 + "14mhyjq8w3llkyjij274n5sdwbp3ak2xi6q6ggqdakgn032a7yhn"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/pst-geometrictools") + (synopsis "PSTricks package to draw geometric tools") + (description + "This PSTricks package facilitates the drawing of protractors, rulers, +compasses and pencils.") + (license license:lppl1.3c))) + +(define-public texlive-pst-gr3d + (package + (name "texlive-pst-gr3d") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/generic/pst-gr3d/" + "source/latex/pst-gr3d/" + "tex/generic/pst-gr3d/" + "tex/latex/pst-gr3d/") + (base32 + "0pppd4l4yrdgy0vss8l2kndd0cg9nxip7d7vcyrfr0cz9kw0z45n"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/pst-gr3d") + (synopsis "Three dimensional grids with PSTricks") + (description + "This PSTricks package provides a command @code{\\PstGridThreeD} that +will draw a three dimensional grid, offering a number of options for its +appearance.") + (license license:lppl))) + +(define-public texlive-pst-grad + (package + (name "texlive-pst-grad") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/generic/pst-grad/" "dvips/pst-grad/" + "tex/generic/pst-grad/" + "tex/latex/pst-grad/") + (base32 + "10b8b7mb6c1kkwvwrq31zwmn184qprd69ckypp0gs5s1nz9klc4l"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/pst-grad") + (synopsis "Filling with colour gradients, using PSTricks") + (description + "The package fills with colour gradients, using PSTricks. The RGB, CMYK +and HSB models are supported. Other colour gradient mechanisms are to be +found in package @code{pst-slpe}.") + (license license:lppl))) + +(define-public texlive-pst-graphicx + (package + (name "texlive-pst-graphicx") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/generic/pst-graphicx/" + "tex/generic/pst-graphicx/") + (base32 + "0x1053a92hi1msbmw7s0222k0vfg28172qrinz3hdv94igaxi38q"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/pst-graphicx") + (synopsis "PSTricks-compatible @code{graphicx} for use with Plain TeX") + (description + "The package provides a version of @code{graphicx} that avoids loading +the graphics bundle's (original) @code{keyval} package, which clashes with +PSTricks use of @code{xkeyval}.") + (license license:lppl))) + +(define-public texlive-pst-hsb + (package + (name "texlive-pst-hsb") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/generic/pst-hsb/" + "tex/generic/pst-hsb/" "tex/latex/pst-hsb/") + (base32 + "0cv81bbkg2yhszjs2y7b5vs241y272by5mcb7adg347jzyrs8s74"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/pst-hsb") + (synopsis "Curves with continuous colours") + (description + "This is a PSTricks-related package. It can plot lines and/or curves +with continuous colours. Only colours defined in the HSB model are +supported.") + (license license:lppl))) + +(define-public texlive-pst-infixplot + (package + (name "texlive-pst-infixplot") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/generic/pst-infixplot/" + "tex/generic/pst-infixplot/" + "tex/latex/pst-infixplot/") + (base32 + "07yqjzznayk3pjbsaxjz5b63hiabmkdywv2h6kshpjqmh2q1zi6w"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/pst-infixplot") + (synopsis "Use PSTricks plotting capacities with infix expressions") + (description + "Plotting functions with pst-plot is very powerful but sometimes +difficult to learn since the syntax of @code{\\psplot} and +@code{\\parametricplot} requires some PostScript knowledge. The infix-RPN and +@code{pst-infixplot} styles simplify the usage of @code{pst-plot} for the +beginner, providing macro commands that convert natural mathematical +expressions to PostScript syntax.") + (license license:lppl))) + +(define-public texlive-pst-intersect + (package + (name "texlive-pst-intersect") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/pst-intersect/" + "dvips/pst-intersect/" + "source/latex/pst-intersect/" + "tex/generic/pst-intersect/" + "tex/latex/pst-intersect/") + (base32 + "157yqj923kikm8abiv3giyf9rrr6cw0jwqj37ri5ya5iyxlfvmmv"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/pst-intersect") + (synopsis "Compute intersections of arbitrary curves") + (description + "The package computes the intersections between arbitrary PostScript +paths or Bezier curves, using the Bezier clipping algorithm.") + (license license:lppl))) + +(define-public texlive-pst-jtree + (package + (name "texlive-pst-jtree") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/generic/pst-jtree/" + "tex/generic/pst-jtree/" + "tex/latex/pst-jtree/") + (base32 + "07vzx418syv1v04z1552k9iwjz4b4kmw7g2m1i4nqdfg2lvina8s"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/pst-jtree") + (synopsis "Typeset complex trees for linguists") + (description + "jTree uses PSTricks to enable linguists to typeset complex trees.") + (license license:lppl1.3+))) + +(define-public texlive-pst-knot + (package + (name "texlive-pst-knot") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/generic/pst-knot/" "dvips/pst-knot/" + "tex/generic/pst-knot/" + "tex/latex/pst-knot/") + (base32 + "1b69m4qwd37vd3x734r4hp4wzsirsp6k5m87yqmxlhlkrf0wmrwc"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/pst-knot") + (synopsis "PSTricks package for displaying knots") + (description + "The package can produce a fair range of knot shapes, with all the +standard graphics controls one expects.") + (license license:lppl))) + +(define-public texlive-pst-labo + (package + (name "texlive-pst-labo") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/generic/pst-labo/" + "tex/generic/pst-labo/" + "tex/latex/pst-labo/") + (base32 + "10c2qv2fpijb49yn7p00b116icimhiva5kq0bfgj2975y90fncjb"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/pst-labo") + (synopsis "Draw objects for Chemistry laboratories") + (description + "Pst-labo is a PSTricks related package for drawing basic and complex +chemical objects. The documentation of the package is illuminated with plenty +of illustrations together with their source code, making it an easy read.") + (license license:lppl))) + +(define-public texlive-pst-layout + (package + (name "texlive-pst-layout") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/pst-layout/" + "tex/latex/pst-layout/") + (base32 + "1f07j551kiajqyrfjlsj7xk40zv18ik2b3fih5iyzkf4zk4f650r"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/pst-layout") + (synopsis "Page layout macros based on PSTricks packages") + (description + "The package provides a means of creating elaborate (``pseudo-tabular'') +layouts of material, typically to be overlaid on an included graphic.") + (license license:lppl))) + +(define-public texlive-pst-lens + (package + (name "texlive-pst-lens") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/generic/pst-lens/" + "source/generic/pst-lens/" + "tex/generic/pst-lens/" + "tex/latex/pst-lens/") + (base32 + "0h2930i4izgfjk96445yiwsk6x8cg5cl4zlqrg5rsv7nr2k8njy3"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/pst-lens") + (synopsis "Lenses with PSTricks") + (description + "This PSTricks package provides a really rather simple command +@code{\\PstLens} that will draw a lens. Command parameters provide +a remarkable range of effects.") + (license license:lppl))) + +(define-public texlive-pst-light3d + (package + (name "texlive-pst-light3d") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/generic/pst-light3d/" + "dvips/pst-light3d/" + "source/generic/pst-light3d/" + "tex/generic/pst-light3d/" + "tex/latex/pst-light3d/") + (base32 + "0kwdbf64m2kmplk4r7ifxckajh3d5sgjini70fmababnrp1g8nzf"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/pst-light3d") + (synopsis "Three dimensional lighting effects (PSTricks)") + (description + "This package provides a PSTricks package for three dimensional lighting +effects on characters and PSTricks graphics, like lines, curves, plots, ...") + (license license:lppl))) + +(define-public texlive-pst-lsystem + (package + (name "texlive-pst-lsystem") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/generic/pst-lsystem/" + "dvips/pst-lsystem/" + "tex/generic/pst-lsystem/" + "tex/latex/pst-lsystem/") + (base32 + "1k3krdcfqa5cyzaq0jp8dzil6arfvs5ah2mp87460pl2wvfza0lr"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/pst-lsystem") + (synopsis "Create images based on a L-system") + (description + "@code{pst-lsystem} is a PSTricks based package for creating images based +on a L-system. A L-system (Lindenmayer system) is a set of rules which can be +used to model the morphology of a variety of organisms or fractals like the +Kochflake or Hilbert curve.") + (license license:lppl))) + +(define-public texlive-pst-magneticfield + (package + (name "texlive-pst-magneticfield") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/generic/pst-magneticfield/" + "dvips/pst-magneticfield/" + "tex/generic/pst-magneticfield/" + "tex/latex/pst-magneticfield/") + (base32 + "0gxz7yfj16b23lwn5pq68r8yb6klm7xhmq5m0addmrq1dvb3id5n"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/pst-magneticfield") + (synopsis "Plotting a magnetic field with PSTricks") + (description + "@code{pst-magneticfield} is a PSTricks related package to draw the +magnetic field lines of Helmholtz coils in a two or three dimensional view. +There are several parameters to create a different output.") + (license license:lppl))) + +(define-public texlive-pst-marble + (package + (name "texlive-pst-marble") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/generic/pst-marble/" + "dvips/pst-marble/" + "tex/generic/pst-marble/" + "tex/latex/pst-marble/") + (base32 + "1j5jags1m4wwwfkd25n57q49ggdwc7b9qjp8da4q255yf0i54w91"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/pst-marble") + (synopsis "PSTricks package to draw marble-like patterns") + (description "This is a PSTricks package to draw marble-like patterns.") + (license license:lppl1.3c))) + +(define-public texlive-pst-math + (package + (name "texlive-pst-math") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/generic/pst-math/" "dvips/pst-math/" + "tex/generic/pst-math/" + "tex/latex/pst-math/") + (base32 + "1h9fg3wz7k28kgmlanli8jzz8kqif11lf0y50w5wxrnaasdmh1ib"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/pst-math") + (synopsis "Enhancement of PostScript math operators to use with PSTricks") + (description + "PostScript lacks a lot of basic operators such as tan, acos, asin, cosh, +sinh, tanh, acosh, asinh, atanh, exp (with e base). Also (oddly) cos and sin +use arguments in degrees. Pst-math provides all those operators in a header +file @file{pst-math.pro} with wrappers @file{pst-math.sty} and +@file{pst-math.tex}. In addition, sinc, gauss, gammaln and bessel are +implemented (only partially for the latter). The package is designed +essentially to work with @code{pst-plot} but can be used in whatever PS code. +The package also provides a routine SIMPSON for numerical integration and +a solver of linear equation systems.") + (license license:lppl))) + +(define-public texlive-pst-mirror + (package + (name "texlive-pst-mirror") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/generic/pst-mirror/" + "dvips/pst-mirror/" + "tex/generic/pst-mirror/" + "tex/latex/pst-mirror/") + (base32 + "0b2q1islf9mwphzcs6g04vq69hlmyisx4rb5fb77yiw3na5xlnq0"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/pst-mirror") + (synopsis "Images on a spherical mirror") + (description + "The package provides commands and supporting PostScript material for +drawing images as if reflected by a spherical mirror.") + (license license:lppl))) + +(define-public texlive-pst-moire + (package + (name "texlive-pst-moire") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/generic/pst-moire/" "dvips/pst-moire/" + "tex/generic/pst-moire/" + "tex/latex/pst-moire/") + (base32 + "0i2p5b2cfhnbmszcs5ydlk4nfxhwgl84kq148kpg6cx07gg8rr6l"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/pst-moire") + (synopsis "PSTricks package to draw moiré patterns") + (description "This is a PSTricks package to draw moiré patterns.") + (license license:lppl1.3c))) + +(define-public texlive-pst-node + (package + (name "texlive-pst-node") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/generic/pst-node/" "dvips/pst-node/" + "tex/generic/pst-node/" + "tex/latex/pst-node/") + (base32 + "0w9j1l5hlid98sp6hm7ny0z3nh6jcccvxglprq0wr08w89zb7dmz"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/pst-node") + (synopsis "Nodes and node connections in PSTricks") + (description + "The package enables the user to connect information, and to place labels, +without knowing (in advance) the actual positions of the items to be +connected, or where the connecting line should go. The macros are useful for +making graphs and trees, mathematical diagrams, linguistic syntax diagrams, +and so on.") + (license license:lppl))) + +(define-public texlive-pst-ob3d + (package + (name "texlive-pst-ob3d") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/generic/pst-ob3d/" + "source/generic/pst-ob3d/" + "tex/generic/pst-ob3d/" + "tex/latex/pst-ob3d/") + (base32 + "1j6y3v4x5gkshzxnmklwl2hqbz7nr904v1qa1dr9l4m814p2jhcc"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/pst-ob3d") + (synopsis "Three dimensional objects using PSTricks") + (description + "The package uses PSTricks to provide basic three-dimensional objects. +As yet, only cubes (which can be deformed to rectangular parallelipipeds) and +dies (which are only a special kind of cubes) are defined.") + (license license:lppl))) + +(define-public texlive-pst-ode + (package + (name "texlive-pst-ode") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/generic/pst-ode/" "dvips/pst-ode/" + "tex/generic/pst-ode/" "tex/latex/pst-ode/") + (base32 + "0mx6wsdl4m0nr6848qpyfi6rn7x1nsqljnflsp0yk010r0vsmid5"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/pst-ode") + (synopsis + "Solve initial value problems for sets of Ordinary Differential +Equations") + (description + "The package defines @code{\\pstODEsolve} for solving initial value +problems for sets of Ordinary Differential Equations (ODE) using the +Runge-Kutta-Fehlberg (RKF45) method with automatic step size adjustment. The +result is stored as a PostScript object and may be plotted later using macros +from other PSTricks packages, such as @code{\\listplot} (from @code{pst-plot}) +and @code{\\listplotThreeD} (from @code{pst-3dplot}), or may be further +processed by user-defined PostScript procedures. Optionally, the computed +state vectors can be written as a table to a text file.") + (license license:lppl))) + +(define-public texlive-pst-optexp + (package + (name "texlive-pst-optexp") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/pst-optexp/" "dvips/pst-optexp/" + "makeindex/pst-optexp/" + "source/latex/pst-optexp/" + "tex/latex/pst-optexp/") + (base32 + "0m835c700a6bxd8r8m84injzz862j1xdxbbh8waxh97yrfwmhp45"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/pst-optexp") + (synopsis "Drawing optical experimental setups") + (description + "The package is a collection of optical components that facilitate easy +sketching of optical experimental setups. The package uses PSTricks for its +output. A wide range of free-ray and fibre components is provided, the +alignment, positioning and labelling of which can be achieved in very simple +and flexible ways. The components may be connected with fibers or beams, and +realistic raytraced beam paths are also possible.") + (license license:lppl1.3+))) + +(define-public texlive-pst-optic + (package + (name "texlive-pst-optic") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/generic/pst-optic/" + "tex/generic/pst-optic/" + "tex/latex/pst-optic/") + (base32 + "1qgxqygcfv3v6wkf6igkyp5aimp9f9nvfyizcwlxlxr32mjvvbly"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/pst-optic") + (synopsis "Drawing optics diagrams") + (description + "This package provides a package for drawing both reflective and +refractive optics diagrams.") + (license license:lppl))) + +(define-public texlive-pst-osci + (package + (name "texlive-pst-osci") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/generic/pst-osci/" + "tex/generic/pst-osci/" + "tex/latex/pst-osci/") + (base32 + "0h7wnpm26z8v904yj0wvadrjsh3j5fsn73ihilxhb4zd88zqib99"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/pst-osci") + (synopsis "Oscgons with PSTricks") + (description + "This PSTricks package enables you to produce oscilloscope screen shots. +Three channels can be used to represent the most common signals (damped or +not): namely sinusoidal, rectangular, triangular, dog's tooth (left and right +oriented). The third channel allows you to add, to subtract or to multiply +the two other signals. Lissajous diagrams (XY-mode) can also be obtained.") + (license license:lppl))) + +(define-public texlive-pst-ovl + (package + (name "texlive-pst-ovl") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/generic/pst-ovl/" "dvips/pst-ovl/" + "tex/generic/pst-ovl/" "tex/latex/pst-ovl/") + (base32 + "0v9f4k475cm922y7i2x6w6p1w3nnbaw69rniznwap9bhliv0ynfg"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/pst-ovl") + (synopsis "Create and manage graphical overlays") + (description + "The package is useful when building an image from assorted material, as +in the slides of a projected presentation.") + (license license:lppl))) + +(define-public texlive-pst-pad + (package + (name "texlive-pst-pad") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/generic/pst-pad/" + "source/generic/pst-pad/" + "tex/generic/pst-pad/" "tex/latex/pst-pad/") + (base32 + "1vvgjf2g9dynjg1y6dm1d47v40sga4a34ngyy3h5lfmy58860jri"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/pst-pad") + (synopsis "Draw simple attachment systems with PSTricks") + (description + "The package collects a set of graphical elements based on PStricks that +can be used to facilitate display of attachment systems such as two +differently shaped surfaces with or without a fluid wedged in between. These +macros ease the display of wet adhesion models and common friction systems +such as boundary lubrication, elastohydrodynamic lubrication and hydrodynamic +lubrication.") + (license license:lppl))) + +(define-public texlive-pst-pdf + (package + (name "texlive-pst-pdf") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/pst-pdf/" "scripts/pst-pdf/" + "source/latex/pst-pdf/" "tex/latex/pst-pdf/") + (base32 + "1as5q9p6z9y3ps3hm8v8par18xmxmhrcxmknpl6rhjq0wbyjlj26"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (arguments (list #:link-scripts #~(list "ps4pdf"))) + (home-page "https://ctan.org/pkg/pst-pdf") + (synopsis "Make PDF versions of graphics by processing between runs") + (description + "The package @code{pst-pdf} simplifies the use of graphics from PSTricks +and other PostScript code in PDF documents. As in building a bibliography +with BibTeX, additional external programmes are invoked. In this case they +are used to create a PDF file that will contain all the graphics material. In +the final document these contents will be inserted instead of the original +PostScript code.") + (license license:lppl1.2+))) + +(define-public texlive-pst-pdgr + (package + (name "texlive-pst-pdgr") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/generic/pst-pdgr/" + "source/generic/pst-pdgr/" + "tex/generic/pst-pdgr/" + "tex/latex/pst-pdgr/") + (base32 + "08v28601j7ygp7d8xliwhfbrl2gh93ikf6kbl4p86wfxsbxlhg0c"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/pst-pdgr") + (synopsis "Draw medical pedigrees using PSTricks") + (description + "The package provides a set of macros based on PSTricks to draw medical +pedigrees according to the recommendations for standardized human pedigree +nomenclature. The drawing commands place the symbols on a @code{pspicture} +canvas. An interface for making trees is also provided. The package may be +used both with LaTeX and PlainTeX. A separate Perl program for generating TeX +files from spreadsheets is available.") + (license license:lppl))) + +(define-public texlive-pst-perspective + (package + (name "texlive-pst-perspective") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/generic/pst-perspective/" + "tex/generic/pst-perspective/" + "tex/latex/pst-perspective/") + (base32 + "0dm7qqar0kjnc68xwhp7vn4m8bcsmzcs6qzh61ainbls7gni5aq8"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/pst-perspective") + (synopsis "Draw perspective views using PSTricks") + (description + "The package provides the means to draw an orthogonal parallel projection +with an arbitrarily chosen angle and a variable shortening factor.") + (license license:lppl1.3+))) + +(define-public texlive-pst-platon + (package + (name "texlive-pst-platon") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/generic/pst-platon/" + "source/generic/pst-platon/" + "tex/latex/pst-platon/") + (base32 + "0a4w47varc1i22h5iwd49c0clwb2k8hdlva5l6nfmc889wgwp0d7"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/pst-platon") + (synopsis "Platonic solids in PSTricks") + (description + "The package adds to PSTricks the ability to draw 3-dimensional views of +the five Platonic solids.") + (license license:lppl))) + +(define-public texlive-pst-plot + (package + (name "texlive-pst-plot") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/generic/pst-plot/" + "tex/generic/pst-plot/" + "tex/latex/pst-plot/") + (base32 + "12jrn04nxfhw07y86pjkr6bbvdvwcnhfxr6aj9ni13383dxcwl7j"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/pst-plot") + (synopsis "Plot data using PSTricks") + (description + "The package provides plotting of data (typically from external files), +using PSTricks. Plots may be configured using a wide variety of parameters.") + (license license:lppl))) + +(define-public texlive-pst-poker + (package + (name "texlive-pst-poker") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/pst-poker/" + "tex/latex/pst-poker/") + (base32 + "0c1v75rxw717hvjgzb4i0ahk7acmqpgl9czaihvw36r9yaicsm5n"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/pst-poker") + (synopsis "Drawing poker cards") + (description + "This PSTricks related package can create poker cards in various +manners.") + (license license:lgpl3))) + +(define-public texlive-pst-poly + (package + (name "texlive-pst-poly") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/generic/pst-poly/" + "tex/generic/pst-poly/" + "tex/latex/pst-poly/") + (base32 + "1fasd2y6vv28id1w858kq4rc3qd46rkds9z7vi8k102aqvv9as8n"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/pst-poly") + (synopsis "Polygons with PSTricks") + (description + "This PSTricks package provides a really rather simple command +@code{\\PstPolygon} that will draw various regular and non-regular +polygons (according to command parameters); various shortcuts to commonly-used +polygons are provided, as well as a command @code{\\pspolygonbox} that frames +text with a polygon.") + (license license:lppl))) + +(define-public texlive-pst-pulley + (package + (name "texlive-pst-pulley") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/generic/pst-pulley/" + "tex/generic/pst-pulley/" + "tex/latex/pst-pulley/") + (base32 + "1n1kv743vxjw8b6nqrlivb3m3pg3z9kw56bzxij438p5him3sdaa"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/pst-pulley") + (synopsis "Plot pulleys, using PSTricks") + (description + "The package enables the user to draw pulley systems with up to 6 pulleys. +The pulley diagrams are labelled with the physical properties of the system.") + (license license:lppl1.3+))) + +(define-public texlive-pst-qtree + (package + (name "texlive-pst-qtree") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/generic/pst-qtree/" + "tex/generic/pst-qtree/" + "tex/latex/pst-qtree/") + (base32 + "1hdmv4lar1hdg9bh049kmsjqd14rdv2066qrcaacwmd39nh816z5"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/pst-qtree") + (synopsis "Simple syntax for trees") + (description "The package provides a Qtree-like front end for PSTricks.") + (license license:gpl3+))) + +(define-public texlive-pst-rputover + (package + (name "texlive-pst-rputover") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/generic/pst-rputover/" + "tex/generic/pst-rputover/" + "tex/latex/pst-rputover/") + (base32 + "1d25sdhvira5vlibgv3r51dk64jplqbpf4fdimh2l1flq5h0d9dw"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/pst-rputover") + (synopsis "Place text over objects without obscuring background colors") + (description + "This is a PSTricks package which allows to place text over objects +without obscuring background colors.") + (license license:lppl1.3c))) + +(define-public texlive-pst-rubans + (package + (name "texlive-pst-rubans") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/generic/pst-rubans/" + "source/generic/pst-rubans/" + "tex/generic/pst-rubans/" + "tex/latex/pst-rubans/") + (base32 + "1izpw60jm4w8xgd5aiqc7qxhjd0js1g9k9anwbpni9sn1qma66zs"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/pst-rubans") + (synopsis "Draw three-dimensional ribbons") + (description + "The package uses PStricks and @code{pst-solides3d} to draw three +dimensional ribbons on a cylinder, torus, sphere, cone or paraboloid. The +width of the ribbon, the number of turns, the colour of the outer and the +inner surface of the ribbon may be set. In the case of circular and conical +helices, one may also choose the number of ribbons.") + (license license:lppl))) + +(define-public texlive-pst-shell + (package + (name "texlive-pst-shell") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/generic/pst-shell/" "dvips/pst-shell/" + "source/generic/pst-shell/" + "tex/generic/pst-shell/" + "tex/latex/pst-shell/") + (base32 + "18w5csarnjv3ws554vjw2zlmpc5mcd03fc8fircv0pbxxl53l11r"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/pst-shell") + (synopsis "Plotting sea shells") + (description + "@code{pst-shell} is a PSTricks related package to draw seashells in 3D +view: Argonauta, Epiteonium, Lyria, Turritella, Tonna, Achatina, Oxystele, +Conus, Ammonite, Codakia, Escalaria, Helcion, Natalina, Planorbis, and +Nautilus, all with different parameters.") + (license license:lppl))) + +(define-public texlive-pst-sigsys + (package + (name "texlive-pst-sigsys") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/generic/pst-sigsys/" + "tex/generic/pst-sigsys/" + "tex/latex/pst-sigsys/") + (base32 + "18g1s1afh3lnkb3993k1ypkzbb4a88jw5paclwgyn59yqjq8x737"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/pst-sigsys") + (synopsis "Support of signal processing-related disciplines") + (description + "The package offers a collection of useful macros for disciplines related +to signal processing. It defines macros for plotting a sequence of numbers, +drawing the pole-zero diagram of a system, shading the region of convergence, +creating an adder or a multiplier node, placing a framed node at a given +coordinate, creating an up-sampler or a down-sampler node, drawing the block +diagram of a system, drawing adaptive systems, sequentially connecting a list +of nodes, and connecting a list of nodes using any node-connecting macro.") + (license license:lppl))) + +(define-public texlive-pst-slpe + (package + (name "texlive-pst-slpe") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/generic/pst-slpe/" "dvips/pst-slpe/" + "source/generic/pst-slpe/" + "tex/generic/pst-slpe/" + "tex/latex/pst-slpe/") + (base32 + "12m6iss3hqsngq2dk7n3d1zz6z2rq4j2w1di9l26hpzly2mdp26n"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/pst-slpe") + (synopsis "Sophisticated colour gradients") + (description + "This PStricks package covers all the colour gradient functionality of +@code{pst-grad} (part of the base PSTricks distribution), and provides the +following facilities: + +@itemize +@item it permits the user to specify an arbitrary number of colours, along +with the points at which they are to be reached; +@item it converts between RGB and HSV behind the scenes; +@item it provides concentric and radial gradients; +@item it provides a command @code{\\psBall} that generates bullets with +a three-dimensional appearance. +@end itemize") + (license license:lppl))) + +(define-public texlive-pst-solarsystem + (package + (name "texlive-pst-solarsystem") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/generic/pst-solarsystem/" + "dvips/pst-solarsystem/" + "tex/generic/pst-solarsystem/" + "tex/latex/pst-solarsystem/") + (base32 + "147mbrir52fl1ra3qqwlmmgk7789nrpr9hh015kc07mx10zfmc5x"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/pst-solarsystem") + (synopsis "Plot the solar system for a specific date") + (description + "The package uses PSTricks to produce diagrams of the visible planets, +projected on the plane of the ecliptic. It is not possible to represent all +the planets in their real proportions, so only Mercury, Venus, Earth and Mars +have their orbits in correct proportions and their relative sizes are +observed. Saturn and Jupiter are in the right direction, but not in the +correct size.") + (license license:lppl))) + +(define-public texlive-pst-solides3d + (package + (name "texlive-pst-solides3d") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/generic/pst-solides3d/" + "dvips/pst-solides3d/" + "tex/generic/pst-solides3d/" + "tex/latex/pst-solides3d/") + (base32 + "1w6qpaw5k6x5c90k15q3r397f3ai7fd443yzwif2fhkqb2wjv3k8"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/pst-solides3d") + (synopsis "Draw perspective views of 3D solids") + (description + "The package is designed to draw solids in 3d perspective. Its features +include: +@itemize +@item create primitive solids; +@item create solids by including a list of its vertices and faces; +@item faces of solids and surfaces can be colored by choosing from a very +large palette of colors; +@item draw parametric surfaces in algebraic and reverse polish notation; +@item create explicit and parameterized algebraic functions drawn in 2 or +3 dimensions; +@item project text onto a plane or onto the faces of a solid; +@item support for including external database files. +@end itemize") + (license license:lppl1.3+))) + +(define-public texlive-pst-soroban + (package + (name "texlive-pst-soroban") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/generic/pst-soroban/" + "source/generic/pst-soroban/" + "tex/latex/pst-soroban/") + (base32 + "1cpmqgaj1h2dh3acypm9xkjinmlw9wd40n1s2vdab5ascvprbr6n"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/pst-soroban") + (synopsis "Draw a soroban using PSTricks") + (description + "The package uses PSTricks to draw a Japanese abacus, or soroban. The +soroban is still used in Japan today.") + (license license:lppl))) + +(define-public texlive-pst-spectra + (package + (name "texlive-pst-spectra") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/generic/pst-spectra/" + "dvips/pst-spectra/" + "tex/generic/pst-spectra/" + "tex/latex/pst-spectra/") + (base32 + "0l88wag5i1jy6pd1lx3s9cijiymzdgwvl52hkarc84d8qpn53wcw"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/pst-spectra") + (synopsis "Draw continuum, emission and absorption spectra with PSTricks") + (description + "The package is a PSTricks extension, based on a NASA lines database. It +allows you to draw continuum, emission and absorption spectra. A Total of 16 +880 visible lines from 99 elements can be displayed.") + (license license:lppl))) + +(define-public texlive-pst-spinner + (package + (name "texlive-pst-spinner") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/generic/pst-spinner/" + "dvips/pst-spinner/" + "tex/generic/pst-spinner/" + "tex/latex/pst-spinner/") + (base32 + "0fm70v1kgjs32pvyvcnh2j47clqgdr4hll4j7fr935584d604g49"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/pst-spinner") + (synopsis "Drawing a fidget spinner") + (description + "This package aims to propose a model of the fidget spinner gadget. It +exists under different forms with 2, 3 poles and even more. We chose the most +popular model: the triple fidget spinner.") + (license license:lppl))) + +(define-public texlive-pst-stru + (package + (name "texlive-pst-stru") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/generic/pst-stru/" + "tex/generic/pst-stru/" + "tex/latex/pst-stru/") + (base32 + "1zxf0bj43picgd86bwgc38d8valpx0fn0pr3pgfv2kn42r2pampj"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/pst-stru") + (synopsis "Civil engineering diagrams, using PSTricks") + (description + "This PSTricks-based package provides facilities to draw structural +schemes in civil engineering analysis, for beams, portals, arches and piles.") + (license license:lppl))) + +(define-public texlive-pst-support + (package + (name "texlive-pst-support") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/generic/pst-support/") + (base32 + "1470n03zanpw35dnfzyjqm7d5lgddrimypz28x0zsk9nqpamnqnv"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/pst-support") + (synopsis "Assorted support files for use with PSTricks") + (description + "This package provides an appropriate set of job options, together with +process scripts for use with TeXnicCenter.") + (license license:lppl))) + (define-public texlive-pst-text (package (name "texlive-pst-text") @@ -27894,6 +42525,280 @@ a different path and manipulating characters. It includes the functionality of the old package @code{pst-char}.") (license license:lppl))) +(define-public texlive-pst-thick + (package + (name "texlive-pst-thick") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/generic/pst-thick/" + "source/generic/pst-thick/" + "tex/generic/pst-thick/" + "tex/latex/pst-thick/") + (base32 + "1clg9ahhg3zg91phlp2ni1j5m6pb68bdk74glh398r8y2gj2b5fb"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/pst-thick") + (synopsis "Drawing very thick lines and curves") + (description + "The package supports drawing of very thick lines and curves in PSTricks, +with various fillings for the body of the lines.") + (license license:lppl))) + +(define-public texlive-pst-tools + (package + (name "texlive-pst-tools") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/generic/pst-tools/" "dvips/pst-tools/" + "tex/generic/pst-tools/" + "tex/latex/pst-tools/") + (base32 + "1ws149np6121mc7msw32wkc6pn528ldsd5g95w4n4vcm6r54pmgq"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/pst-tools") + (synopsis "PSTricks support functions") + (description + "The package provides helper functions for other PSTricks related +packages.") + (license license:lppl))) + +(define-public texlive-pst-tree + (package + (name "texlive-pst-tree") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/generic/pst-tree/" + "tex/generic/pst-tree/" + "tex/latex/pst-tree/") + (base32 + "1vznc4qyjpnni3smdxlpqi7h3qxd13kv5pigvlly0zq676n6gw8n"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/pst-tree") + (synopsis "Trees, using PSTricks") + (description + "@code{pst-tree} defines a macro \\pstree that offers a structured way of +joining nodes created using @code{pst-node} in order to draw trees.") + (license license:lppl))) + +(define-public texlive-pst-turtle + (package + (name "texlive-pst-turtle") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/generic/pst-turtle/" + "dvips/pst-turtle/" + "tex/generic/pst-turtle/" + "tex/latex/pst-turtle/") + (base32 + "0mgpjs9jkgfx0hbd9l5jw60rf0vpdkv933ksjlwcjlh98y9gay4c"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/pst-turtle") + (synopsis "Commands for Turtle operations") + (description + "This is a PSTricks related package for creating Turtle graphics.") + (license license:lppl))) + +(define-public texlive-pst-tvz + (package + (name "texlive-pst-tvz") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/generic/pst-tvz/" + "source/generic/pst-tvz/" + "tex/generic/pst-tvz/" "tex/latex/pst-tvz/") + (base32 + "1xpzvfgngv5r5cdnvip87wr1i0pmrc6ibwi5gzmibfzl64w7vkqr"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/pst-tvz") + (synopsis "Draw trees with more than one root node, using PSTricks") + (description + "The package uses PSTricks to draw trees with more than one root node. +It is similar to @code{pst-tree}, though it uses a different placement +algorithm.") + (license license:lppl1.3+))) + +(define-public texlive-pst-uml + (package + (name "texlive-pst-uml") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/generic/pst-uml/" + "source/generic/pst-uml/" + "tex/latex/pst-uml/") + (base32 + "0sgsyg9gk4wxgz7r44h6a7f5f7gl5b522f864n0kv35cgmwnzyr7"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (propagated-inputs (list texlive-multido)) + (home-page "https://ctan.org/pkg/pst-uml") + (synopsis "UML diagrams with PSTricks") + (description + "This a PSTricks package that provides support for drawing moderately +complex UML (Universal Modelling Language) diagrams. (The PDF documentation +is written in French.)") + (license license:lppl))) + +(define-public texlive-pst-vectorian + (package + (name "texlive-pst-vectorian") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/pst-vectorian/" + "dvips/pst-vectorian/" + "tex/latex/pst-vectorian/") + (base32 + "0knvzl4gqz79jzvb4w7a9ka1iiz5f3pjivnwvwmd1kmibykqwb67"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/pst-vectorian") + (synopsis "Printing ornaments") + (description + "The package uses PSTricks to draw ornaments (a substantial repertoire of +ornaments is provided).") + (license license:lppl))) + +(define-public texlive-pst-vehicle + (package + (name "texlive-pst-vehicle") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/generic/pst-vehicle/" + "tex/generic/pst-vehicle/" + "tex/latex/pst-vehicle/") + (base32 + "1b0s5fy4w4k2q486sdwlrh649n99k9s5hy5m2v01lh7qnjl1z4c3"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/pst-vehicle") + (synopsis "Rolling vehicles on graphs of mathematical functions") + (description + "This package permits to represent vehicles rolling without slipping on +mathematical curves. Different types of vehicles are proposed, the shape of +the curve is to be defined by its equation in algebraic notation.") + (license license:lppl1.3c))) + +(define-public texlive-pst-venn + (package + (name "texlive-pst-venn") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/generic/pst-venn/" + "tex/latex/pst-venn/") + (base32 + "0gz7sxwycqd71yy8jln7h3v064mrzhh1852fc7b785v55x8kna2n"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/pst-venn") + (synopsis "PSTricks package for drawing Venn sets") + (description + "This is a PSTricks related package for drawing Venn diagrams with three +circles.") + (license license:lppl))) + +(define-public texlive-pst-vowel + (package + (name "texlive-pst-vowel") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/pst-vowel/" + "tex/latex/pst-vowel/") + (base32 + "0p0qnfbmd1lh21nk6xq246xr6y50q0y55rdcq3i9vkg4j7kkkfy6"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/pst-vowel") + (synopsis "Enable arrows showing diphthongs on vowel charts") + (description + "The package extends the @code{vowel} package (distributed as part of the +@code{tipa} bundle) by allowing the user to draw arrows between vowels to show +relationships such as diphthong membership.") + (license license:lppl))) + +(define-public texlive-pst2pdf + (package + (name "texlive-pst2pdf") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/support/pst2pdf/" "scripts/pst2pdf/") + (base32 + "0yihyrnwwpad5hf8yrjqljpwsnj6kcbb6y6cfnxwxbi1c5pf1jk9"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (arguments (list #:link-scripts #~(list "pst2pdf.pl"))) + (inputs (list perl)) + (home-page "https://ctan.org/pkg/pst2pdf") + (synopsis "Script to compile PSTricks documents via pdfTeX") + (description + "The script extracts the preamble of the document and runs all +@code{\\begin@{postscript@}...\\end@{postscript@}}, +@code{\\begin@{pspicture@}...\\end@{pspicture@}} and +@code{\\pspicture...\\endpspicture} separately through LaTeX with the same +preamble as the original document; thus it creates EPS, PNG and PDF files of +these snippets. In a final pdfLaTeX run the script replaces the environments +with @code{\\includegraphics} to include the processed snippets.") + (license license:gpl2))) + +(define-public texlive-pstricks-add + (package + (name "texlive-pstricks-add") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/generic/pstricks-add/" + "dvips/pstricks-add/" + "tex/generic/pstricks-add/" + "tex/latex/pstricks-add/") + (base32 + "18khs28v3dg5z7215k0yv7hxna9x5nh09hlrw2fc4nhmzymy2kjg"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/pstricks-add") + (synopsis "Collection of add-ons and bugfixes for PSTricks") + (description + "This package collects together examples that have been posted to the +PSTricks mailing list, together with many additional features for the basic +@code{pstricks}, @code{pst-plot} and @code{pst-node}, including: bugfixes; new +options for the pspicture environment; arrows; braces as node +connection/linestyle; extended axes for plots (e.g., logarithm axes); polar +plots; plotting tangent lines of curves or functions; solving and printing +differential equations; box plots; matrix plots; and pie charts.") + (license license:lppl))) + +(define-public texlive-pstricks-calcnotes + (package + (name "texlive-pstricks-calcnotes") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/pstricks_calcnotes/") + (base32 + "00vgcdf73p4143dfjcvs4b5v4phvisv76ink3iiijl6s6f9zbmy3"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/pstricks-calcnotes") + (synopsis "Use of PSTricks in calculus lecture notes") + (description + "The bundle shows the construction of PSTricks macros to draw Riemann +sums of an integral and to draw the vector field of an ordinary differential +equation. The results are illustrated in a fragment of lecture notes.") + (license license:lppl))) + (define-public texlive-marginnote (package (name "texlive-marginnote") @@ -27936,6 +42841,71 @@ sort of tabular, and an environment @code{longtabu} which provides the facilities of @code{tabu} in a modified @code{longtable} environment.") (license license:lppl1.3+))) +(define-public texlive-uml + (package + (name "texlive-uml") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/uml/" "source/latex/uml/" + "tex/latex/uml/") + (base32 + "039kg3xk03cm4xfsaj33kx1j5hjqy9330zxamqyzs1jnp8xgcfdz"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/uml") + (synopsis "UML diagrams in LaTeX") + (description + "This package provides a PSTricks related package for writing +UML (Unified Modelling Language) diagrams in LaTeX. Currently, it implements +a subset of class diagrams, and some extra constructs as well. The package +cannot be used together with @code{pst-uml}.") + (license license:lppl))) + +(define-public texlive-vaucanson-g + (package + (name "texlive-vaucanson-g") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/generic/vaucanson-g/" + "tex/generic/vaucanson-g/") + (base32 + "18ig6kszjr2jfr3hvq18clq8ccxbv2zw280pw20mphfjh6rjwbrj"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/vaucanson-g") + (synopsis "PSTricks macros for drawing automata") + (description + "VauCanSon-G is a package that enables the user to draw automata within +texts written using LaTeX. The package macros make use of commands of +PSTricks.") + (license license:lppl))) + +(define-public texlive-vocaltract + (package + (name "texlive-vocaltract") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/vocaltract/" + "tex/latex/vocaltract/") + (base32 + "072b712bhfxq429jh4r9d786nwpdyl8rlbm6ds4nf9asxg2lg9wr"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/vocaltract") + (synopsis "Visualise the vocal tract using LaTeX and PSTricks") + (description + "The package enables the user to visualise the vocal tract. The vocal +tract (in the package) is manipulated by a vector of articulation parameters +according to the S. Maeda model. Animation may be achieved by providing +a sequence of vectors over time (e.g., from Matlab). A sequence of vectors +for certain German phonemes is embedded in the package, which allows for +animation when no other vector is available. The package's graphics are +produced using PSTricks.") + (license license:lppl))) + (define-public texlive-xkeyval (package (name "texlive-xkeyval") @@ -28248,6 +43218,202 @@ especially in the humanities and the social sciences. All quote styles as well as the optional active quotes are freely configurable.") (license license:lppl1.3c+))) +(define-public texlive-csquotes-de + (package + (name "texlive-csquotes-de") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/csquotes-de/") + (base32 + "087c08c44811vd8p00l1xrkg5w6fsl8as64jq83m6gf1hfan9w4c"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/csquotes-de") + (synopsis "German translation of @code{csquotes} documentation") + (description + "This is a German translation of the documentation of @code{csquotes}.") + (license license:lppl))) + +(define-public texlive-dhua + (package + (name "texlive-dhua") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/dhua/" "source/latex/dhua/" + "tex/latex/dhua/") + (base32 + "0npf0bz5cdl6a98gc4l66v0hxwgg94af31bdrz8xai6r4vwjbzhl"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/dhua") + (synopsis "German abbreviations using thin space") + (description + "The package provides commands for those abbreviations of German phrases +for which the use of thin space is recommended.") + (license license:lppl1.3+))) + +(define-public texlive-dtk-bibliography + (package + (name "texlive-dtk-bibliography") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "bibtex/bib/dtk-bibliography/" + "doc/bibtex/dtk-bibliography/" + "tex/latex/dtk-bibliography/") + (base32 + "1mrlm2yrzrafq2xhk6mc70wc55ngrxylhxrl3qmgz0yxag5yspn8"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/dtk-bibliography") + (synopsis "Bibliography of @emph{Die TeXnische Komodie}") + (description + "This package contains the bibliography for @emph{Die TeXnische Komodie}, +the journal of the German-speaking TeX User Group.") + (license license:lppl1.3c))) + +(define-public texlive-etdipa + (package + (name "texlive-etdipa") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/etdipa/") + (base32 + "1jp35apalaa1lh44dbn1zayavv1n3wkm0v69hgy8vdz73yp5yvhz"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/etdipa") + (synopsis "Simple, lightweight template for scientific documents") + (description + "This package provides a complete working directory for the scientific +documentation of arbitrary projects. It was originally developed to provide +a template for Austrian @emph{Diplomarbeiten} or @emph{Vorwissenschaftliche +Arbeiten}, which are scientfic projects of students at a secondary school.") + (license license:lppl1.3+))) + +(define-public texlive-etoolbox-de + (package + (name "texlive-etoolbox-de") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/etoolbox-de/") + (base32 + "1vchha7ymvj51jfnvl76rxv466lzfpxr6xcvwafxhi78w4bk9yry"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/etoolbox-de") + (synopsis "German translation of documentation of @code{etoolbox}") + (description "This package provides the German translation of +@code{etoolbox} documentation.") + (license license:lppl))) + +(define-public texlive-fifinddo-info + (package + (name "texlive-fifinddo-info") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/fifinddo-info/" + "source/latex/fifinddo-info/") + (base32 + "0m95qyd5kbaa2x8rpjwr6f9c76ajg6l49igzw9yb0hcrwwg7cni6"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/fifinddo-info") + (synopsis "German HTML beamer presentation on nicetext and morehype") + (description + "The bundle: exhibits the process of making an HTML beamer presentation +with the @code{blogdot} package from the @code{morehype} bundle, and HTML +generation based on the @code{fifinddo} package.") + (license license:lppl1.3+))) + +(define-public texlive-german + (package + (name "texlive-german") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/generic/german/" + "source/generic/german/" + "tex/generic/german/") + (base32 + "0n17j7rc69kxgs3b2cyxjb8hsh6bc9aydxf90x98rdc2ardl9idg"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/german") + (synopsis "Support for German typography") + (description + "This package provides supports the old German orthography (alte deutsche +Rechtschreibung).") + (license license:lppl))) + +(define-public texlive-germbib + (package + (name "texlive-germbib") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "bibtex/bst/germbib/" "doc/bibtex/germbib/" + "tex/latex/germbib/") + (base32 + "1mc95h4ndzbg2q30vsq2rx9v0a8f0q0vhmjiz709lllkmj6n402p"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/germbib") + (synopsis "German variants of standard BibTeX styles") + (description + "This package provides a development of the (old) @file{german.sty}, this +bundle provides German packages, BibTeX styles and documentary examples, for +writing documents with bibliographies. The author has since developed the +@code{babelbib} bundle, which (he asserts) supersedes @code{germbib}.") + ;; The license is a variation of Knuth's. + (license (license:fsf-free "file://doc/bibtex/germbib/apalike.tex")))) + +(define-public texlive-germkorr + (package + (name "texlive-germkorr") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/germkorr/" "tex/latex/germkorr/") + (base32 + "0qgh3j97dljwh7625m577jcsvqhfkas3jn4q09m05jsjfxb7n2bx"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/germkorr") + (synopsis "Change kerning for German quotation marks") + (description + "The package brings some letters nearer to German single and double +quotes even when that letter wears a standard accent") + (license license:gpl3+))) + +(define-public texlive-hausarbeit-jura + (package + (name "texlive-hausarbeit-jura") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/hausarbeit-jura/" + "source/latex/hausarbeit-jura/" + "tex/latex/hausarbeit-jura/") + (base32 + "14raizfrrfnwdgwaq9irxdkg2mg280csjcirsxjq4rpdwqg2nkwh"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/hausarbeit-jura") + (synopsis + "Class for writing @emph{juristische Hausarbeiten} at German Universities") + (description + "The class was developed for use by students writing legal +essays (@emph{juristische Hausarbeit}) at German Universities. It is based on +@code{jurabook} and @code{jurabib} and makes it easy for LaTeX beginners to +get a correct and nicely formatted paper.") + (license license:lppl1.3+))) + (define-public texlive-logreq (package (name "texlive-logreq") @@ -28479,6 +43645,24 @@ a straight-forward and flexible way. An alternative package bundle.") (license license:lppl1.3c))) +(define-public texlive-microtype-de + (package + (name "texlive-microtype-de") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/microtype-de/") + (base32 + "069d2f0jcg9m4fv8dli2dr9ags9gz6mkwy6fzz37ns4jzrqfsvwi"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/microtype-de") + (synopsis "Translation into German of the documentation of @code{microtype}") + (description + "This package provides the translation into German of the documentation +of @code{microtype}.") + (license license:lppl1.3+))) + (define-public texlive-minitoc (package (name "texlive-minitoc") @@ -28696,6 +43880,29 @@ layouts and designs. The class also provides the functionality of over thirty of the more popular packages, thus simplifying document sources.") (license license:lppl1.3+))) +(define-public texlive-milog + (package + (name "texlive-milog") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/milog/" "tex/latex/milog/") + (base32 + "1114i8hgs84nnvmkiy8azbh6rgk0gjzp387idvvkx651vcyc82kf"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/milog") + (synopsis + "LaTeX class for documentation duties according to the German minimum wage law +MiLoG") + (description + "The @file{milog.cls} class provides means to fulfill the documentation +duties by the German minimum wage law MiLoG. The recording of working hours +is carried out in a simple CSV file from which the class will automatically +create a time sheet. Alternatively, data can also be collected by a CSV +export of a suitable app.") + (license license:lppl))) + (define-public texlive-fp (package (name "texlive-fp") @@ -29693,6 +44900,899 @@ manipulation, mft, fontinst, etc. Manipulating OpenType, TrueType, Type 1,and for manipulation of PostScript and other image formats.") (license (license:fsf-free "https://www.tug.org/texlive/copying.html")))) +(define-public texlive-collection-formatsextra + (package + (name "texlive-collection-formatsextra") + (version (number->string %texlive-revision)) + (source #f) + (build-system trivial-build-system) + (arguments (list #:builder #~(mkdir #$output))) + (propagated-inputs + (list texlive-aleph + texlive-antomega + texlive-collection-basic + texlive-collection-latex + texlive-edmac + texlive-eplain + texlive-hitex + texlive-jadetex + texlive-lambda + texlive-lollipop + texlive-mltex + texlive-mxedruli + texlive-omega + texlive-omegaware + texlive-otibet + texlive-passivetex + texlive-psizzl + texlive-startex + texlive-texsis + texlive-xmltex + texlive-xmltexconfig)) + (home-page "https://www.tug.org/texlive/") + (synopsis "Additional TeX formats") + (description + "This is a collection of TeX formats, i.e., large-scale macro packages +designed to be dumped into @file{.fmt} files --- excluding the most common +ones, such as LaTeX and ConTeXt, which have their own package(s). It also +includes the Aleph engine and related Omega formats and packages, and the +HiTeX engine and related.") + (license (license:fsf-free "https://www.tug.org/texlive/copying.html")))) + +(define-public texlive-collection-humanities + (package + (name "texlive-collection-humanities") + (version (number->string %texlive-revision)) + (source #f) + (build-system trivial-build-system) + (arguments (list #:builder #~(mkdir #$output))) + (propagated-inputs + (list texlive-adtrees + texlive-bibleref + texlive-bibleref-lds + texlive-bibleref-mouth + texlive-bibleref-parse + texlive-collection-latex + texlive-covington + texlive-diadia + texlive-dramatist + texlive-dvgloss + texlive-ecltree + texlive-edfnotes + texlive-eledform + texlive-eledmac + texlive-expex + texlive-gb4e + texlive-gmverse + texlive-jura + texlive-juraabbrev + texlive-juramisc + texlive-jurarsp + texlive-langnames + texlive-ledmac + texlive-lexikon + texlive-lexref + texlive-ling-macros + texlive-linguex + texlive-liturg + texlive-metrix + texlive-nnext + texlive-parallel + texlive-parrun + texlive-phonrule + texlive-plari + texlive-play + texlive-poemscol + texlive-poetry + texlive-poetrytex + texlive-qobitree + texlive-qtree + texlive-reledmac + texlive-rrgtrees + texlive-rtklage + texlive-screenplay + texlive-screenplay-pkg + texlive-sides + texlive-stage + texlive-textglos + texlive-thalie + texlive-theatre + texlive-tree-dvips + texlive-verse + texlive-xyling)) + (home-page "https://www.tug.org/texlive/") + (synopsis "Humanities packages") + (description + "This collection contains packages for law, linguistics, social sciences, +humanities, etc.") + (license (license:fsf-free "https://www.tug.org/texlive/copying.html")))) + +(define-public texlive-collection-langarabic + (package + (name "texlive-collection-langarabic") + (version (number->string %texlive-revision)) + (source #f) + (build-system trivial-build-system) + (arguments (list #:builder #~(mkdir #$output))) + (propagated-inputs + (list texlive-alkalami + texlive-alpha-persian + texlive-amiri + texlive-arabi + texlive-arabi-add + texlive-arabic-book + texlive-arabluatex + texlive-arabtex + texlive-bidi + texlive-bidihl + texlive-collection-basic + texlive-dad + texlive-ghab + texlive-hvarabic + texlive-hyphen-complete + texlive-imsproc + texlive-kurdishlipsum + texlive-lshort-persian + texlive-luabidi + texlive-na-box + texlive-persian-bib + texlive-quran + texlive-sexam + texlive-simurgh + texlive-texnegar + texlive-tram + texlive-xepersian + texlive-xepersian-hm + texlive-xindy-persian)) + (home-page "https://www.tug.org/texlive/") + (synopsis "Support for Arabic and Persian") + (description "This collection provides support for Arabic and Persian.") + (license (license:fsf-free "https://www.tug.org/texlive/copying.html")))) + +(define-public texlive-collection-langchinese + (package + (name "texlive-collection-langchinese") + (version (number->string %texlive-revision)) + (source #f) + (build-system trivial-build-system) + (arguments (list #:builder #~(mkdir #$output))) + (propagated-inputs + (list texlive-arphic + texlive-arphic-ttf + texlive-asymptote-by-example-zh-cn + texlive-asymptote-faq-zh-cn + texlive-asymptote-manual-zh-cn + texlive-cns + texlive-collection-langcjk + texlive-ctex + texlive-ctex-faq + texlive-exam-zh + texlive-fandol + texlive-fduthesis + texlive-hanzibox + texlive-hyphen-complete + texlive-impatient-cn + texlive-install-latex-guide-zh-cn + texlive-latex-notes-zh-cn + texlive-lshort-chinese + texlive-nanicolle + texlive-njurepo + texlive-pgfornament-han + texlive-qyxf-book + texlive-texproposal + texlive-tlmgr-intro-zh-cn + texlive-upzhkinsoku + texlive-xpinyin + texlive-xtuthesis + texlive-zhlineskip + texlive-zhlipsum + texlive-zhmetrics + texlive-zhmetrics-uptex + texlive-zhnumber + texlive-zhspacing)) + (home-page "https://www.tug.org/texlive/") + (synopsis "Support for Chinese") + (description + "This collection provides support for Chinese, with additional packages +from @code{collection-langcjk}.") + (license (license:fsf-free "https://www.tug.org/texlive/copying.html")))) + +(define-public texlive-collection-langcjk + (package + (name "texlive-collection-langcjk") + (version (number->string %texlive-revision)) + (source #f) + (build-system trivial-build-system) + (arguments (list #:builder #~(mkdir #$output))) + (propagated-inputs + (list texlive-adobemapping + texlive-c90 + texlive-cjk + texlive-cjk-gs-integrate + texlive-cjkpunct + texlive-cjkutils + texlive-collection-basic + texlive-dnp + texlive-evangelion-jfm + texlive-fixjfm + texlive-garuda-c90 + texlive-jfmutil + texlive-norasi-c90 + texlive-pxtatescale + texlive-xcjk2uni + texlive-xecjk + texlive-zitie + texlive-zxjafont)) + (home-page "https://www.tug.org/texlive/") + (synopsis "Chinese/Japanese/Korean support (base)") + (description + "This is a collection of packages supporting a combination of Chinese, +Japanese, Korean, including macros, fonts, documentation. Also Thai in the +c90 encoding, since there is some overlap in those fonts; standard Thai +support is in @code{collection-langother}. Additional packages for CJK are in +their individual language collections.") + (license (license:fsf-free "https://www.tug.org/texlive/copying.html")))) + +(define-public texlive-collection-langcyrillic + (package + (name "texlive-collection-langcyrillic") + (version (number->string %texlive-revision)) + (source #f) + (build-system trivial-build-system) + (arguments (list #:builder #~(mkdir #$output))) + (propagated-inputs + (list texlive-babel-belarusian + texlive-babel-bulgarian + texlive-babel-russian + texlive-babel-serbian + texlive-babel-serbianc + texlive-babel-ukrainian + texlive-churchslavonic + texlive-cmcyr + texlive-collection-basic + texlive-collection-latex + texlive-cyrillic + texlive-cyrillic-bin + texlive-cyrplain + texlive-disser + texlive-eskd + texlive-eskdx + texlive-gost + texlive-hyphen-complete + texlive-lcyw + texlive-lh + texlive-lhcyr + texlive-lshort-bulgarian + texlive-lshort-mongol + texlive-lshort-russian + texlive-lshort-ukr + texlive-mongolian-babel + texlive-montex + texlive-mpman-ru + texlive-numnameru + texlive-pst-eucl-translation-bg + texlive-russ + texlive-serbian-apostrophe + texlive-serbian-date-lat + texlive-serbian-def-cyr + texlive-serbian-lig + texlive-t2 + texlive-xecyrmongolian)) + (home-page "https://www.tug.org/texlive/") + (synopsis "Support for Cyrillic scripts") + (description + "This collection provides packages supporting Cyrillic scripts (Bulgarian, +Russian, Serbian, Ukrainian), even if Latin alphabets may also be used.") + (license (license:fsf-free "https://www.tug.org/texlive/copying.html")))) + +(define-public texlive-collection-langczechslovak + (package + (name "texlive-collection-langczechslovak") + (version (number->string %texlive-revision)) + (source #f) + (build-system trivial-build-system) + (arguments (list #:builder #~(mkdir #$output))) + (propagated-inputs + (list texlive-babel-czech + texlive-babel-slovak + texlive-cnbwp + texlive-collection-basic + texlive-collection-latex + texlive-cs + texlive-csbulletin + texlive-cslatex + texlive-csplain + texlive-cstex + texlive-hyphen-complete + texlive-lshort-czech + texlive-lshort-slovak + texlive-vlna)) + (home-page "https://www.tug.org/texlive/") + (synopsis "Support for Czech and Slovak") + (description + "This collection of packages provides support for Czech and Slovak.") + (license (license:fsf-free "https://www.tug.org/texlive/copying.html")))) + +(define-public texlive-collection-langenglish + (package + (name "texlive-collection-langenglish") + (version (number->string %texlive-revision)) + (source #f) + (build-system trivial-build-system) + (arguments (list #:builder #~(mkdir #$output))) + (propagated-inputs + (list texlive-amiweb2c-guide + texlive-amscls-doc + texlive-amslatex-primer + texlive-around-the-bend + texlive-ascii-chart + texlive-biblatex-cheatsheet + texlive-collection-basic + texlive-components + texlive-comprehensive + texlive-dickimaw + texlive-docsurvey + texlive-dtxtut + texlive-first-latex-doc + texlive-fontinstallationguide + texlive-forest-quickstart + texlive-gentle + texlive-guide-to-latex + texlive-happy4th + texlive-hyphen-complete + texlive-impatient + texlive-intro-scientific + texlive-knuth-errata + texlive-knuth-hint + texlive-knuth-pdf + texlive-l2tabu-english + texlive-latex-brochure + texlive-latex-course + texlive-latex-doc-ptr + texlive-latex-for-undergraduates + texlive-latex-graphics-companion + texlive-latex-refsheet + texlive-latex-veryshortguide + texlive-latex-web-companion + texlive-latex2e-help-texinfo + texlive-latex4wp + texlive-latexcheat + texlive-latexcourse-rug + texlive-latexfileinfo-pkgs + texlive-lshort-english + texlive-macros2e + texlive-math-into-latex-4 + texlive-maths-symbols + texlive-memdesign + texlive-memoirchapterstyles + texlive-metafont-beginners + texlive-metapost-examples + texlive-patgen2-tutorial + texlive-pictexsum + texlive-plain-doc + texlive-short-math-guide + texlive-simplified-latex + texlive-svg-inkscape + texlive-tamethebeast + texlive-tds + texlive-tex-font-errors-cheatsheet + texlive-tex-nutshell + texlive-tex-overview + texlive-tex-refs + texlive-tex-vpat + texlive-texbytopic + texlive-texonly + texlive-titlepages + texlive-tlc2 + texlive-tlc3-examples + texlive-tlmgrbasics + texlive-undergradmath + texlive-visualfaq + ;; texlive-webguide XXX: No license? + texlive-xetexref + texlive-yet-another-guide-latex2e)) + (home-page "https://www.tug.org/texlive/") + (synopsis "Support for, and documentation in, English") + (description + "These packages provide support for, and documentation in, English.") + (license (license:fsf-free "https://www.tug.org/texlive/copying.html")))) + +(define-public texlive-collection-langeuropean + (package + (name "texlive-collection-langeuropean") + (version (number->string %texlive-revision)) + (source #f) + (build-system trivial-build-system) + (arguments (list #:builder #~(mkdir #$output))) + (propagated-inputs + (list texlive-armtex + texlive-babel-albanian + texlive-babel-bosnian + texlive-babel-breton + texlive-babel-croatian + texlive-babel-danish + texlive-babel-dutch + texlive-babel-estonian + texlive-babel-finnish + texlive-babel-friulan + texlive-babel-hungarian + texlive-babel-icelandic + texlive-babel-irish + texlive-babel-kurmanji + texlive-babel-latin + texlive-babel-latvian + texlive-babel-lithuanian + texlive-babel-macedonian + texlive-babel-norsk + texlive-babel-occitan + texlive-babel-piedmontese + texlive-babel-romanian + texlive-babel-romansh + texlive-babel-samin + texlive-babel-scottish + texlive-babel-slovenian + texlive-babel-swedish + texlive-babel-turkish + texlive-babel-welsh + texlive-collection-basic + texlive-finbib + texlive-gloss-occitan + texlive-hrlatex + texlive-huaz + texlive-hulipsum + texlive-hyphen-complete + texlive-kaytannollista-latexia + texlive-lithuanian + texlive-lshort-dutch + texlive-lshort-estonian + texlive-lshort-finnish + texlive-lshort-slovenian + texlive-lshort-turkish + texlive-nevelok + texlive-rojud + texlive-swebib + texlive-turkmen)) + (home-page "https://www.tug.org/texlive/") + (synopsis "Support for a some European languages") + (description + "This collection provides support for a number of European languages; +others (Greek, German, French, ...) have their own collections, depending +simply on the size of the support.") + (license (license:fsf-free "https://www.tug.org/texlive/copying.html")))) + +(define-public texlive-collection-langfrench + (package + (name "texlive-collection-langfrench") + (version (number->string %texlive-revision)) + (source #f) + (build-system trivial-build-system) + (arguments (list #:builder #~(mkdir #$output))) + (propagated-inputs + (list texlive-aeguill + texlive-annee-scolaire + texlive-apprendre-a-programmer-en-tex + texlive-apprends-latex + texlive-babel-basque + texlive-babel-french + texlive-basque-book + texlive-basque-date + texlive-bib-fr + texlive-bibleref-french + texlive-booktabs-fr + texlive-collection-basic + texlive-droit-fr + texlive-e-french + texlive-epslatex-fr + texlive-expose-expl3-dunkerque-2019 + texlive-facture + texlive-formation-latex-ul + texlive-frenchmath + texlive-frletter + texlive-frpseudocode + texlive-hyphen-complete + texlive-impatient-fr + texlive-impnattypo + texlive-l2tabu-french + texlive-latex2e-help-texinfo-fr + texlive-letgut + texlive-lshort-french + texlive-mafr + texlive-matapli + texlive-profcollege + texlive-proflabo + texlive-proflycee + texlive-tabvar + texlive-tdsfrmath + texlive-translation-array-fr + texlive-translation-dcolumn-fr + texlive-translation-natbib-fr + texlive-translation-tabbing-fr + texlive-variations + texlive-visualfaq-fr + texlive-visualtikz)) + (home-page "https://www.tug.org/texlive/") + (synopsis "Support for French and Basque") + (description + "This collection provides support packages for French and Basque.") + (license (license:fsf-free "https://www.tug.org/texlive/copying.html")))) + +(define-public texlive-collection-langgerman + (package + (name "texlive-collection-langgerman") + (version (number->string %texlive-revision)) + (source #f) + (build-system trivial-build-system) + (arguments (list #:builder #~(mkdir #$output))) + (propagated-inputs + (list texlive-apalike-german + texlive-babel-german + texlive-bibleref-german + texlive-booktabs-de + texlive-collection-basic + texlive-csquotes-de + texlive-dhua + texlive-dtk-bibliography + texlive-etdipa + texlive-etoolbox-de + texlive-fifinddo-info + texlive-german + texlive-germbib + texlive-germkorr + texlive-hausarbeit-jura + texlive-hyphen-complete + texlive-koma-script-examples + texlive-l2picfaq + texlive-l2tabu + texlive-latexcheat-de + texlive-lshort-german + texlive-lualatex-doc-de + texlive-microtype-de + texlive-milog + texlive-quran-de + texlive-r-und-s + texlive-schulmathematik + texlive-templates-fenn + texlive-templates-sommer + texlive-termcal-de + texlive-tipa-de + texlive-translation-arsclassica-de + texlive-translation-biblatex-de + texlive-translation-chemsym-de + texlive-translation-ecv-de + texlive-translation-enumitem-de + texlive-translation-europecv-de + texlive-translation-filecontents-de + texlive-translation-moreverb-de + texlive-udesoftec + texlive-uhrzeit + texlive-umlaute + texlive-voss-mathcol)) + (home-page "https://www.tug.org/texlive/") + (synopsis "Support for German") + (description "This collection provides support packages for German.") + (license (license:fsf-free "https://www.tug.org/texlive/copying.html")))) + +(define-public texlive-collection-langgreek + (package + (name "texlive-collection-langgreek") + (version (number->string %texlive-revision)) + (source #f) + (build-system trivial-build-system) + (arguments (list #:builder #~(mkdir #$output))) + (propagated-inputs + (list texlive-babel-greek + texlive-begingreek + texlive-betababel + texlive-cbfonts + texlive-cbfonts-fd + texlive-collection-basic + texlive-gfsbaskerville + texlive-gfsporson + texlive-greek-fontenc + texlive-greek-inputenc + texlive-greekdates + texlive-greektex + texlive-greektonoi + texlive-hyphen-complete + texlive-ibycus-babel + texlive-ibygrk + texlive-kerkis + texlive-levy + texlive-lgreek + texlive-lgrmath + texlive-mkgrkindex + texlive-talos + texlive-teubner + texlive-xgreek + texlive-yannisgr)) + (home-page "https://www.tug.org/texlive/") + (synopsis "Support for Greek") + (description "This collection provides support for Greek.") + (license (license:fsf-free "https://www.tug.org/texlive/copying.html")))) + +(define-public texlive-collection-langitalian + (package + (name "texlive-collection-langitalian") + (version (number->string %texlive-revision)) + (source #f) + (build-system trivial-build-system) + (arguments (list #:builder #~(mkdir #$output))) + (propagated-inputs + (list texlive-amsldoc-it + texlive-amsmath-it + texlive-amsthdoc-it + texlive-antanilipsum + texlive-babel-italian + texlive-codicefiscaleitaliano + texlive-collection-basic + texlive-fancyhdr-it + texlive-fixltxhyph + texlive-frontespizio + texlive-hyphen-complete + texlive-itnumpar + texlive-l2tabu-italian + texlive-latex4wp-it + texlive-layaureo + texlive-lshort-italian + texlive-psfrag-italian + texlive-verifica)) + (home-page "https://www.tug.org/texlive/") + (synopsis "Support for Italian") + (description "This collection provides support packages for Italian.") + (license (license:fsf-free "https://www.tug.org/texlive/copying.html")))) + +(define-public texlive-collection-langjapanese + (package + (name "texlive-collection-langjapanese") + (version (number->string %texlive-revision)) + (source #f) + (build-system trivial-build-system) + (arguments (list #:builder #~(mkdir #$output))) + (propagated-inputs + (list texlive-ascmac + texlive-asternote + texlive-babel-japanese + texlive-bxbase + texlive-bxcjkjatype + texlive-bxghost + texlive-bxjaholiday + texlive-bxjalipsum + texlive-bxjaprnind + texlive-bxjatoucs + texlive-bxjscls + texlive-bxorigcapt + texlive-bxwareki + texlive-collection-langcjk + texlive-convbkmk + texlive-endnotesj + texlive-gckanbun + texlive-gentombow + texlive-haranoaji + texlive-haranoaji-extra + texlive-ieejtran + texlive-ifptex + texlive-ifxptex + texlive-ipaex + texlive-japanese-mathformulas + texlive-japanese-otf + texlive-jieeetran + texlive-jlreq + texlive-jlreq-deluxe + texlive-jpneduenumerate + texlive-jpnedumathsymbols + texlive-jsclasses + texlive-kanbun + texlive-lshort-japanese + texlive-luatexja + texlive-mendex-doc + texlive-morisawa + texlive-pbibtex-base + texlive-pbibtex-manual + texlive-platex + texlive-platex-tools + texlive-platexcheat + texlive-plautopatch + texlive-ptex + texlive-ptex-base + texlive-ptex-fontmaps + texlive-ptex-fonts + texlive-ptex-manual + texlive-ptex2pdf + texlive-pxbase + texlive-pxchfon + texlive-pxcjkcat + texlive-pxjahyper + texlive-pxjodel + texlive-pxrubrica + texlive-pxufont + texlive-uplatex + texlive-uptex + texlive-uptex-base + texlive-uptex-fonts + texlive-wadalab + texlive-zxjafbfont + texlive-zxjatype)) + (home-page "https://www.tug.org/texlive/") + (synopsis "Support for Japanese") + (description + "This collection provides support for Japanese, with additional packages +from @code{collection-langcjk}.") + (license (license:fsf-free "https://www.tug.org/texlive/copying.html")))) + +(define-public texlive-collection-langkorean + (package + (name "texlive-collection-langkorean") + (version (number->string %texlive-revision)) + (source #f) + (build-system trivial-build-system) + (arguments (list #:builder #~(mkdir #$output))) + (propagated-inputs + (list texlive-baekmuk + texlive-cjk-ko + texlive-collection-langcjk + texlive-kotex-oblivoir + texlive-kotex-plain + texlive-kotex-utf + texlive-kotex-utils + texlive-lshort-korean + texlive-nanumtype1 + texlive-pmhanguljamo + texlive-uhc + texlive-unfonts-core + texlive-unfonts-extra)) + (home-page "https://www.tug.org/texlive/") + (synopsis "Support for Korean") + (description + "This collection provides support for Korean, with additional packages +from @code{collection-langcjk}.") + (license (license:fsf-free "https://www.tug.org/texlive/copying.html")))) + +(define-public texlive-collection-langother + (package + (name "texlive-collection-langother") + (version (number->string %texlive-revision)) + (source #f) + (build-system trivial-build-system) + (arguments (list #:builder #~(mkdir #$output))) + (propagated-inputs + (list texlive-aalok + texlive-akshar + texlive-amsldoc-vn + texlive-aramaic-serto + texlive-babel-azerbaijani + texlive-babel-esperanto + texlive-babel-georgian + texlive-babel-hebrew + texlive-babel-indonesian + texlive-babel-interlingua + texlive-babel-malay + texlive-babel-sorbian + texlive-babel-thai + texlive-babel-vietnamese + texlive-bangla + texlive-bangtex + texlive-bengali + texlive-burmese + texlive-chhaya + texlive-cjhebrew + texlive-collection-basic + texlive-ctib + texlive-ebong + texlive-ethiop + texlive-ethiop-t1 + texlive-fc + texlive-fonts-tlwg + texlive-hindawi-latex-template + texlive-hyphen-complete + texlive-latex-mr + texlive-latexbangla + texlive-latino-sine-flexione + texlive-lshort-thai + texlive-lshort-vietnamese + texlive-marathi + texlive-ntheorem-vn + texlive-padauk + texlive-quran-bn + texlive-quran-ur + texlive-sanskrit + texlive-sanskrit-t1 + texlive-thaienum + texlive-thaispec + texlive-unicode-alphabets + texlive-velthuis + texlive-vntex + texlive-wnri + texlive-wnri-latex + texlive-xetex-devanagari)) + (home-page "https://www.tug.org/texlive/") + (synopsis "Support other languages") + (description + "This collection provides support for languages not otherwise listed, +including Indic, Thai, Vietnamese, Hebrew, Indonesian, African languages, and +plenty more. The split is made simply on the basis of the size of the +support, to keep both collection sizes and the number of collections +reasonable.") + (license (license:fsf-free "https://www.tug.org/texlive/copying.html")))) + +(define-public texlive-collection-langpolish + (package + (name "texlive-collection-langpolish") + (version (number->string %texlive-revision)) + (source #f) + (build-system trivial-build-system) + (arguments (list #:builder #~(mkdir #$output))) + (propagated-inputs + (list texlive-babel-polish + texlive-bredzenie + texlive-cc-pl + texlive-collection-basic + texlive-collection-latex + texlive-gustlib + texlive-gustprog + texlive-hyphen-complete + texlive-lshort-polish + texlive-mex + texlive-mwcls + texlive-pl + texlive-polski + texlive-przechlewski-book + texlive-qpxqtx + texlive-tap + texlive-tex-virtual-academy-pl + texlive-utf8mex)) + (home-page "https://www.tug.org/texlive/") + (synopsis "Support for Polish") + (description "This collection provides support packages for Polish.") + (license (license:fsf-free "https://www.tug.org/texlive/copying.html")))) + +(define-public texlive-collection-langportuguese + (package + (name "texlive-collection-langportuguese") + (version (number->string %texlive-revision)) + (source #f) + (build-system trivial-build-system) + (arguments (list #:builder #~(mkdir #$output))) + (propagated-inputs + (list texlive-babel-portuges + texlive-beamer-tut-pt + texlive-collection-basic + texlive-cursolatex + texlive-feupphdteses + texlive-hyphen-complete + texlive-latex-via-exemplos + texlive-latexcheat-ptbr + texlive-lshort-portuguese + texlive-numberpt + texlive-ordinalpt + texlive-xypic-tut-pt)) + (home-page "https://www.tug.org/texlive/") + (synopsis "Support for Portuguese") + (description "This collection provides support packages for Portuguese.") + (license (license:fsf-free "https://www.tug.org/texlive/copying.html")))) + +(define-public texlive-collection-langspanish + (package + (name "texlive-collection-langspanish") + (version (number->string %texlive-revision)) + (source #f) + (build-system trivial-build-system) + (arguments (list #:builder #~(mkdir #$output))) + (propagated-inputs + (list texlive-babel-catalan + texlive-babel-galician + texlive-babel-spanish + texlive-collection-basic + texlive-es-tex-faq + texlive-hyphen-complete + texlive-l2tabu-spanish + texlive-latex2e-help-texinfo-spanish + texlive-latexcheat-esmx + texlive-lshort-spanish)) + (home-page "https://www.tug.org/texlive/") + (synopsis "Support for Spanish") + (description "This collection provides support packages for Spanish.") + (license (license:fsf-free "https://www.tug.org/texlive/copying.html")))) + (define-public texlive-collection-latex (package (name "texlive-collection-latex") @@ -30292,6 +46392,55 @@ science packages.") with packages in @code{collection-basic}.") (license (license:fsf-free "https://www.tug.org/texlive/copying.html")))) +(define-public texlive-collection-music + (package + (name "texlive-collection-music") + (version (number->string %texlive-revision)) + (source #f) + (build-system trivial-build-system) + (arguments (list #:builder #~(mkdir #$output))) + (propagated-inputs + (list texlive-abc + texlive-autosp + texlive-bagpipe + texlive-chordbars + texlive-chordbox + texlive-collection-latex + texlive-ddphonism + texlive-figbas + texlive-gchords + texlive-gregoriotex + texlive-gtrcrd + texlive-guitar + texlive-guitarchordschemes + texlive-guitartabs + texlive-harmony + texlive-latex4musicians + texlive-leadsheets + texlive-lilyglyphs + texlive-lyluatex + texlive-m-tx + texlive-musical + texlive-musicography + texlive-musixguit + texlive-musixtex + texlive-musixtex-fonts + texlive-musixtnt + texlive-octave + texlive-piano + texlive-pmx + texlive-pmxchords + texlive-recorder-fingering + texlive-songbook + texlive-songproj + texlive-songs + texlive-xml2pmx + texlive-xpiano)) + (home-page "https://www.tug.org/texlive/") + (synopsis "Music packages") + (description "This collection includes music-related fonts and packages.") + (license (license:fsf-free "https://www.tug.org/texlive/copying.html")))) + (define-public texlive-collection-pictures (package (name "texlive-collection-pictures") @@ -30671,6 +46820,134 @@ PStricks are separate.") often LaTeX, and occasionally other formats.") (license (license:fsf-free "https://www.tug.org/texlive/copying.html")))) +(define-public texlive-collection-pstricks + (package + (name "texlive-collection-pstricks") + (version (number->string %texlive-revision)) + (source #f) + (build-system trivial-build-system) + (arguments (list #:builder #~(mkdir #$output))) + (propagated-inputs + (list texlive-auto-pst-pdf + texlive-bclogo + texlive-collection-basic + texlive-collection-plaingeneric + texlive-dsptricks + texlive-luapstricks + texlive-makeplot + texlive-pdftricks + texlive-pdftricks2 + texlive-pedigree-perl + texlive-psbao + texlive-pst-2dplot + texlive-pst-3d + texlive-pst-3dplot + texlive-pst-abspos + texlive-pst-am + texlive-pst-antiprism + texlive-pst-arrow + texlive-pst-asr + texlive-pst-bar + texlive-pst-barcode + texlive-pst-bezier + texlive-pst-blur + texlive-pst-bspline + texlive-pst-calculate + texlive-pst-calendar + texlive-pst-cie + texlive-pst-circ + texlive-pst-coil + texlive-pst-contourplot + texlive-pst-cox + texlive-pst-dart + texlive-pst-dbicons + texlive-pst-diffraction + texlive-pst-electricfield + texlive-pst-eps + texlive-pst-eucl + texlive-pst-exa + texlive-pst-feyn + texlive-pst-fill + texlive-pst-fit + texlive-pst-flags + texlive-pst-fr3d + texlive-pst-fractal + texlive-pst-fun + texlive-pst-func + texlive-pst-gantt + texlive-pst-geo + texlive-pst-geometrictools + texlive-pst-gr3d + texlive-pst-grad + texlive-pst-graphicx + texlive-pst-hsb + texlive-pst-infixplot + texlive-pst-intersect + texlive-pst-jtree + texlive-pst-knot + texlive-pst-labo + texlive-pst-layout + texlive-pst-lens + texlive-pst-light3d + texlive-pst-lsystem + texlive-pst-magneticfield + texlive-pst-marble + texlive-pst-math + texlive-pst-mirror + texlive-pst-moire + texlive-pst-node + texlive-pst-ob3d + texlive-pst-ode + texlive-pst-optexp + texlive-pst-optic + texlive-pst-osci + texlive-pst-ovl + texlive-pst-pad + texlive-pst-pdf + texlive-pst-pdgr + texlive-pst-perspective + texlive-pst-platon + texlive-pst-plot + texlive-pst-poker + texlive-pst-poly + texlive-pst-pulley + texlive-pst-qtree + texlive-pst-rputover + texlive-pst-rubans + texlive-pst-shell + texlive-pst-sigsys + texlive-pst-slpe + texlive-pst-solarsystem + texlive-pst-solides3d + texlive-pst-soroban + texlive-pst-spectra + texlive-pst-spinner + texlive-pst-stru + texlive-pst-support + texlive-pst-text + texlive-pst-thick + texlive-pst-tools + texlive-pst-tree + texlive-pst-turtle + texlive-pst-tvz + texlive-pst-uml + texlive-pst-vectorian + texlive-pst-vehicle + texlive-pst-venn + texlive-pst-vowel + texlive-pst2pdf + texlive-pstricks + texlive-pstricks-add + texlive-pstricks-calcnotes + texlive-uml + texlive-vaucanson-g + texlive-vocaltract)) + (home-page "https://www.tug.org/texlive/") + (synopsis "PSTricks core and add-ons") + (description + "This collection provides PSTricks core and all add-on packages.") + (license (license:fsf-free "https://www.tug.org/texlive/copying.html")))) + (define-public texlive-collection-xetex (package (name "texlive-collection-xetex") @@ -31644,6 +47921,24 @@ in your document (DOT and Neato are both part of @code{graphviz}; DOT creates directed graphs, Neato undirected graphs).") (license license:gpl3+))) +(define-public texlive-doulossil + (package + (name "texlive-doulossil") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/fonts/doulossil/" + "fonts/truetype/public/doulossil/") + (base32 + "0frhwpm7xzhhz83wpmlrwgz3c3bpvhm8pa0b6vkdgm8qj799irrb"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/doulossil") + (synopsis "Font for typesetting the International Phonetic Alphabet (IPA)") + (description + "This package provides the IPA font Doulos SIL in TrueType format.") + (license license:silofl1.1))) + (define-public texlive-dpcircling (package (name "texlive-dpcircling") @@ -32778,6 +49073,142 @@ to bases 2, 4, 8 and 16. All constructs TeX accepts as arguments to its may be used under LaTeX and plain TeX.") (license (license:fsf-free "file:/binhex.dtx")))) +(define-public texlive-translation-arsclassica-de + (package + (name "texlive-translation-arsclassica-de") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/translation-arsclassica-de/") + (base32 + "1ix5lafy3ay2bc9zkkbqw2rrw6ng3izb8d9p6rki6h2j7n0qj47s"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/translation-arsclassica-de") + (synopsis "German version of @code{arsclassica}") + (description + "This is a German translation of the @code{arsclassica} documentation.") + (license license:lppl))) + +(define-public texlive-translation-biblatex-de + (package + (name "texlive-translation-biblatex-de") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/translation-biblatex-de/") + (base32 + "1ygbz7prjg6pdiqm7lknnk8a9ar05xvpdam38piivif3d3yk5bg1"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/translation-biblatex-de") + (synopsis "German translation of the User Guide for BibLaTeX") + (description + "This package provides a German translation of the User Guide for +BibLaTeX.") + (license license:lppl))) + +(define-public texlive-translation-chemsym-de + (package + (name "texlive-translation-chemsym-de") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/translation-chemsym-de/") + (base32 + "01liazqafs3lh9ppipw6i6sljcjzr31nq70r83qgknqmb9j0yfl0"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/translation-chemsym-de") + (synopsis "German version of @code{chemsym}") + (description + "This is a German translation of the @code{chemsym} documentation.") + (license license:lppl))) + +(define-public texlive-translation-ecv-de + (package + (name "texlive-translation-ecv-de") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/translation-ecv-de/") + (base32 + "06b4vhsgdphi6kdh5x4a2kl74b64z3y5qzxcpkn0hj40038z1av7"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/translation-ecv-de") + (synopsis "@code{ecv} documentation, in German") + (description "This is a German translation of the @code{ecv} documentation.") + (license license:lppl))) + +(define-public texlive-translation-enumitem-de + (package + (name "texlive-translation-enumitem-de") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/translation-enumitem-de/") + (base32 + "121raikamd33gabvbgwygrc8hyi3qhvx4hhv4h8wq2chrglj37dq"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/translation-enumitem-de") + (synopsis "@code{enumitem} documentation, in German") + (description + "This is a German translation of the manual for @code{enumitem}.") + (license license:lppl))) + +(define-public texlive-translation-europecv-de + (package + (name "texlive-translation-europecv-de") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/translation-europecv-de/") + (base32 + "0n3x8g6k3qq3f4drkhzygz4khxyw6isgxmz963xqp91s0y667gws"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/translation-europecv-de") + (synopsis "German version of @code{europecv}") + (description + "This is a German translation of the @code{europecv} documentation.") + (license license:lppl))) + +(define-public texlive-translation-filecontents-de + (package + (name "texlive-translation-filecontents-de") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/translation-filecontents-de/") + (base32 + "0d2ds8kc98yd1can0gzcngm7gsn2gwhriaxnnds5kz3z3al71gkc"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/translation-filecontents-de") + (synopsis "German version of @code{filecontents}") + (description + "This is a German translation of the @code{filecontents} documentation.") + (license license:lppl))) + +(define-public texlive-translation-moreverb-de + (package + (name "texlive-translation-moreverb-de") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/translation-moreverb-de/") + (base32 + "1jbpmvcm9q73kh09mhrbsb2wlycwwm4n8il342hz4jd15gwhmy8f"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/translation-moreverb-de") + (synopsis "German version of @code{moreverb}") + (description + "This is a German translation of the @code{moreverb} documentation.") + (license license:lppl))) + (define-public texlive-translations (package (name "texlive-translations") @@ -32873,6 +49304,97 @@ conference posters.") (define-deprecated-package texlive-latex-textpos texlive-textpos) +(define-public texlive-udesoftec + (package + (name "texlive-udesoftec") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "bibtex/bst/udesoftec/" + "doc/latex/udesoftec/" + "source/latex/udesoftec/" + "tex/latex/udesoftec/") + (base32 + "02ja6n570hc1521anr12lkgc5xrcfg97lxca2pylwgi5bfkbsr0b"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/udesoftec") + (synopsis "Thesis class for the University of Duisburg-Essen") + (description + "The class is designed for typesetting theses in the Research Group for +Business Informatics and Software Engineering. (The class may also serve as +a template for such theses.) The class is designed for use with pdfLaTeX; +input in UTF-8 encoding is assumed.") + (license license:lppl1.3+))) + +(define-public texlive-uhc + (package + (name "texlive-uhc") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/fonts/uhc/umj/" + "dvips/uhc/" + "fonts/afm/uhc/umj/" + "fonts/map/dvips/uhc/" + "fonts/tfm/uhc/umj/" + "fonts/tfm/uhc/uwmj/" + "fonts/tfm/uhc/wmj/" + "fonts/type1/uhc/umj/" + "fonts/vf/uhc/uwmj/" + "fonts/vf/uhc/wmj/") + (base32 + "1hpqdzmz4xrcgk443lysif8yk52rbra8rh6cjjfr4kibyfpy77p3"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/uhc") + (synopsis "Fonts for the Korean language") + (description + "This package provides support for Korean documents written in Korean +standard KSC codes for LaTeX2e.") + (license license:lppl))) + +(define-public texlive-uhrzeit + (package + (name "texlive-uhrzeit") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/uhrzeit/" "tex/latex/uhrzeit/") + (base32 + "18qms6ych9q8bras2ajkl4z3dmnrp07gpzizywz206c3i1any3rc"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/uhrzeit") + (synopsis "Time printing, in German") + (description + "The primary goal of this package is to facilitate formats and ranges of +times as formerly used in Germany. A variety of printing formats are +available.") + (license license:lppl1.3+))) + +(define-public texlive-umlaute + (package + (name "texlive-umlaute") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/umlaute/" "source/latex/umlaute/" + "tex/latex/umlaute/") + (base32 + "1fz2v0p8a46car0iga8m0si7ampff8hqpsmc9v2miqqzmdlqcqcj"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/umlaute") + (synopsis "German input encodings in LaTeX") + (description + "This is an early package for using alternate input encodings. The +author considers the package mostly obsolete, since most of its functions are +taken by the @code{inputenc} package; however, @code{inputenc} doesn't support +the @code{roman8} and @code{atari} encodings, so umlaute remains the sole +source of that support.") + (license license:lppl))) + (define-public texlive-unicode-math (package (name "texlive-unicode-math") @@ -32910,6 +49432,26 @@ fonts: @end itemize") (license license:lppl1.3c+))) +(define-public texlive-voss-mathcol + (package + (name "texlive-voss-mathcol") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/voss-mathcol/") + (base32 + "1c7kzk2m2i8f6vqywnzfvcmv11ckanhcjxf72p4rgivw8f0lbwjm"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/voss-mathcol") + (synopsis "Typesetting mathematics in colour, in (La)TeX") + (description + "This is a short paper from the TeXnische Komodie, in German. Since the +body of the paper is dominated by clear LaTeX coding examples, most LaTeX +programmers will understand how to achieve the results shown in the diagrams, +even if they don't understand German.") + (license license:lppl))) + (define-public texlive-xifthen (package (name "texlive-xifthen") @@ -32989,6 +49531,23 @@ SGML-based languages. Xindy is highly configurable, both in markup terms and in terms of the collating order of the text being processed.") (license license:gpl2+))) +(define-public texlive-xindy-persian + (package + (name "texlive-xindy-persian") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/support/xindy-persian/") + (base32 + "04w3h65215slnakk5w19m94xmj9cjx01izbk9xijifv5l6dqh447"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/xindy-persian") + (synopsis "Support for the Persian language in Xindy") + (description + "The package offers Persian language support for indexing using Xindy.") + (license license:lppl1.3+))) + (define-public texlive-xits (package (name "texlive-xits") @@ -33077,6 +49636,24 @@ support for @code{amsmath} displayed-equation environments); and support for making a list of theorems, analagous to @code{\\listoffigures}.") (license license:lppl))) +(define-public texlive-ntheorem-vn + (package + (name "texlive-ntheorem-vn") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/ntheorem-vn/") + (base32 + "13lkgb4qjiblbfm4jcxgkxsf08zk90lqz02bxrmim1n8gvyihwcc"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/ntheorem-vn") + (synopsis "Vietnamese translation of documentation of @code{ntheorem}") + (description + "This is a translation of the documentation provided with +@code{ntheorem}.") + (license license:lppl))) + (define-public texlive-fmtcount (package (name "texlive-fmtcount") @@ -33251,6 +49828,25 @@ for citations. The package follows the 6th edition of the APA manual, and is designed to work with the @code{apa6} class.") (license license:lppl))) +(define-public texlive-apalike-german + (package + (name "texlive-apalike-german") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "bibtex/bst/apalike-german/" + "doc/bibtex/apalike-german/") + (base32 + "15mr1s9622bj5vmmlw7cp0afcbrz2h4kq9cp303ijklcslfsx748"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/apalike-german") + (synopsis "Copy of @file{apalike.bst} with German localization") + (description + "This package provides a copy of @file{apalike.bst}, which is part of the +base BibTeX distribution, with German localization.") + (license license:lppl1.3c))) + (define-public texlive-endfloat (package (name "texlive-endfloat") @@ -33271,6 +49867,54 @@ the end of the document, optionally leaving markers in the text near to where the figure (or table) would normally have occurred.") (license license:gpl3+))) +(define-public texlive-wadalab + (package + (name "texlive-wadalab") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/fonts/wadalab/" + "fonts/afm/wadalab/dgj/" + "fonts/afm/wadalab/dmj/" + "fonts/afm/wadalab/mc2j/" + "fonts/afm/wadalab/mcj/" + "fonts/afm/wadalab/mr2j/" + "fonts/afm/wadalab/mrj/" + "fonts/map/dvips/wadalab/" + "fonts/tfm/wadalab/dgj/" + "fonts/tfm/wadalab/dmj/" + "fonts/tfm/wadalab/mc2j/" + "fonts/tfm/wadalab/mcj/" + "fonts/tfm/wadalab/mr2j/" + "fonts/tfm/wadalab/mrj/" + "fonts/tfm/wadalab/udgj/" + "fonts/tfm/wadalab/udmj/" + "fonts/tfm/wadalab/umcj/" + "fonts/tfm/wadalab/umrj/" + "fonts/type1/wadalab/dgj/" + "fonts/type1/wadalab/dmj/" + "fonts/type1/wadalab/mc2j/" + "fonts/type1/wadalab/mcj/" + "fonts/type1/wadalab/mr2j/" + "fonts/type1/wadalab/mrj/" + "fonts/vf/wadalab/udgj/" + "fonts/vf/wadalab/udmj/" + "fonts/vf/wadalab/umcj/" + "fonts/vf/wadalab/umrj/") + (base32 + "1i72xbn28wh2rl4j1yzl1rvb5nd8bxmci9q9qjzynwq845zgjvnk"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/wadalab") + (synopsis "Wadalab (Japanese) font packages") + (description + "These are font bundles for the Japanese Wadalab fonts which work with +the CJK package. All subfonts now have glyph names compliant to the Adobe +Glyph List, making ToUnicode CMaps in PDF documents (created automatically by +@code{dvipdfmx}) work correctly. All font bundles now contain virtual Unicode +subfonts.") + (license (license:fsf-free "https://fedoraproject.org/wiki/Licensing:Wadalab")))) + (define-public texlive-was (package (name "texlive-was") @@ -34051,6 +50695,29 @@ to load external Lua modules, including modules installed via LuaRocks.") cells using LaTeX macros.") (license license:expat))) +(define-public texlive-luapstricks + (package + (name "texlive-luapstricks") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/lualatex/luapstricks/" + "fonts/opentype/public/luapstricks/" + "tex/lualatex/luapstricks/") + (base32 + "160y66x93rcm0zpjscxyqbfkhbl0yypv0gyixm6vjwcm50vi2w5k"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/luapstricks") + (synopsis "PSTricks backend for LuaLaTeX") + (description + "This package enables the use of PSTricks directly in LuaLaTeX documents, +without invoking external programmes, by implementing a PostScript interpreter +in Lua. Therefore it does not require shell escape to be enabled or special +environments, and instead allows PSTricks to be used exactly like in Dvips +based documents.") + (license license:lppl1.3+))) + (define-public texlive-luaquotes (package (name "texlive-luaquotes") @@ -34245,6 +50912,26 @@ makecell with an easy to use syntax. It also adds some enhanced rules for the @code{booktabs} package.") (license license:expat))) +(define-public texlive-makeplot + (package + (name "texlive-makeplot") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/makeplot/" + "source/latex/makeplot/" + "tex/latex/makeplot/") + (base32 + "1w34508lvb6rjhp41k78ph2p609mk03n8sp4mfgmhdpay0qxyjz5"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/makeplot") + (synopsis "Easy plots from Matlab in LaTeX") + (description + "Makeplot is a LaTeX package that uses the PSTricks @code{pst-plot} +functions to plot data that it takes from Matlab output files.") + (license license:lppl))) + (define-public texlive-minim (package (name "texlive-minim") @@ -34631,6 +51318,94 @@ integrated into the LaTeX kernel (or in parts into permanent support packages), and the current testphase bundle will be removed.") (license license:lppl1.3c))) +(define-public texlive-pdftricks + (package + (name "texlive-pdftricks") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/pdftricks/" + "tex/latex/pdftricks/") + (base32 + "07vr97rgn0n73zb2b3sb3wkwxl0p6nbnjk0cgxd05drf1k8shxnp"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/pdftricks") + (synopsis "Support for PSTricks in pdfTeX") + (description + "The PSTricks macros cannot be used (directly) with pdfTeX, since +PSTricks uses PostScript arithmetic, which isn't part of PDF. This package +circumvents this limitation so that the extensive facilities offered by the +powerful PSTricks package can be made use of in a pdfTeX document. This is +done using the shell escape function available in current TeX implementations. +The package may also be used in support of other PostScript-output-only +packages, such as PSfrag.") + (license license:gpl3+))) + +(define-public texlive-pdftricks2 + (package + (name "texlive-pdftricks2") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/pdftricks2/" + "tex/latex/pdftricks2/") + (base32 + "0znq52nzknv0x16cqbpfi90gz89frzk74ww3sg7ibjacmbpfl3j0"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/pdftricks2") + (synopsis "Use PSTricks in pdfTeX") + (description + "The package provides the means of processing documents that contain +PSTricks graphics specifications. The package is inspired by +@code{pdftricks}.") + (license license:gpl2))) + +(define-public texlive-pedigree-perl + (package + (name "texlive-pedigree-perl") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/man/man1/pedigree.1" + "doc/man/man1/pedigree.man1.pdf" + "doc/support/pedigree-perl/" + "scripts/pedigree-perl/" + "source/latex/pedigree-perl/") + (base32 + "0s2186j4hx5v12g5r8admif2ysi6nnm8d0xxpwq26brfcjrbbh7r"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (arguments (list #:link-scripts #~(list "pedigree.pl"))) + (inputs (list perl)) + (home-page "https://ctan.org/pkg/pedigree-perl") + (synopsis "Generate TeX pedigree files from CSV files") + (description + "This program generates TeX commands to typeset pedigrees --- either TeX +fragments or full LaTeX files, to be processed by the @code{pst-pdgr} package. +The program has support for multilanguage pedigrees (at the present moment the +English and Russian languages are supported).") + (license license:gpl2))) + +(define-public texlive-psbao + (package + (name "texlive-psbao") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/psbao/" "tex/latex/psbao/") + (base32 + "11gfnjvhrgic18s45pj6hn8slj9kmrmsrh4kqn83sfdxy2mr2y32"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/psbao") + (synopsis "Draw Bao diagrams") + (description + "The package draws Bao diagrams in LaTeX. The package is a development +of @code{psgo}, and uses PSTricks to draw the diagrams.") + (license license:lppl))) + (define-public texlive-pslatex (package (name "texlive-pslatex") @@ -34851,6 +51626,67 @@ a number of @code{\\magsteps} to change size; from this are defined commands @code{\\larger}, @code{\\smaller}, @code{\\textlarger}, etc.") (license license:public-domain))) +(define-public texlive-russ + (package + (name "texlive-russ") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/russ/" "tex/latex/russ/") + (base32 + "0ixvdjvgrqn5z8glvbr1i9k4yw00n260d11n034x6j67srxph3rb"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/russ") + (synopsis "LaTeX in Russian, without Babel") + (description + "The package aims to facilitate Russian typesetting (based on input using +MicroSoft Code Page 1251). Russian hyphenation is selected, and various +mathematical commands are set up in Russian style. Furthermore all Cyrillic +letters catcodes are set to @samp{letter}, so that commands with Cyrillic +letters in their names may be defined.") + (license license:lppl))) + +(define-public texlive-everyhook + (package + (name "texlive-everyhook") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/everyhook/" + "source/latex/everyhook/" + "tex/latex/everyhook/") + (base32 + "0rcw2d5ncq8avk33nxika34q3da1v4kcmr6jqdxdg49bq4h8ljs7"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (arguments (list #:tex-format "latex")) + (native-inputs + (list (texlive-updmap.cfg + (list texlive-bera + texlive-enumitem + texlive-etoolbox + texlive-hypdoc + texlive-inconsolata + texlive-lipsum + texlive-listings + texlive-mathpazo + texlive-microtype + texlive-palatino + texlive-svn-prov + texlive-upquote + texlive-xkeyval)))) + (home-page "https://ctan.org/pkg/everyhook") + (synopsis "Hooks for standard TeX token lists") + (description + "The package takes control of the six TeX token registers @code{\\everypar}, +@code{\\everymath}, @code{\\everydisplay}, @code{\\everyhbox}, +@code{\\everyvbox} and @code{\\everycr}. Real hooks for each of the registers +may be installed using a stack like interface. For backwards compatibility, +each of the @code{\\everyX} token lists can be set without interfering with +the hooks.") + (license license:lppl1.3+))) + (define-public texlive-everypage (package (name "texlive-everypage") @@ -34974,6 +51810,28 @@ the @code{abstract} environment, and in particular provides for a one column abstract in a two column paper.") (license license:lppl))) +(define-public texlive-bredzenie + (package + (name "texlive-bredzenie") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/latex/bredzenie/" + "tex/latex/bredzenie/") + (base32 + "07ixmdcg2kxnaf2wacq6imp6i159jmyy3xn16135j8ddl2kbxp4s"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (home-page "https://ctan.org/pkg/bredzenie") + (synopsis + "Polish version of ``lorem ipsum'' in the form of a LaTeX package") + (description + "This is a polish version of the classic pseudo-Latin ``lorem ipsum dolor +sit amet''. It provides access to several paragraphs of pseudo-Polish +generated with Hidden Markov Models and Recurrent Neural Networks trained on +a corpus of Polish.") + (license license:lppl1.3c))) + (define-public texlive-breqn (package (name "texlive-breqn") @@ -35019,6 +51877,29 @@ the middle of the created link: the link comes in one atomic piece. This package allows such line breaks in the generated links.") (license license:lppl))) +(define-public texlive-cc-pl + (package + (name "texlive-cc-pl") + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list "doc/fonts/cc-pl/" "fonts/map/dvips/cc-pl/" + "fonts/source/public/cc-pl/" + "fonts/tfm/public/cc-pl/" + "fonts/type1/public/cc-pl/") + (base32 + "0wxpa4s2rx54z259zmg5km91ycydra4d9kn3y6mhkvjjif1yl8av"))) + (outputs '("out" "doc")) + (build-system texlive-build-system) + (native-inputs (list texlive-concrete texlive-metafont texlive-pl)) + (home-page "https://ctan.org/pkg/cc-pl") + (synopsis "Polish extension of Computer Concrete fonts") + (description + "These Metafont sources rely on the availability of the Metafont Polish +fonts and of the Metafont sources of the original Concrete fonts. Adobe Type +1 versions of the fonts are included.") + (license license:public-domain))) + (define-public texlive-comment (package (name "texlive-comment") diff --git a/gnu/packages/textutils.scm b/gnu/packages/textutils.scm index 4e026fc6f9..2eb0f0986f 100644 --- a/gnu/packages/textutils.scm +++ b/gnu/packages/textutils.scm @@ -1470,7 +1470,7 @@ JSON for post-processing (define-public ack (package (name "ack") - (version "3.5.0") + (version "3.7.0") (source (origin (method git-fetch) (uri @@ -1479,7 +1479,7 @@ JSON for post-processing (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "00131vqjbzcn6w22m0h3j6x9kp59dimfnnqhpmi78vbcj0jws1dv")))) + (base32 "0xrbgjj3nys4158nskd0npqf825xlrqa2x3fqcfz0nnxai2jzbck")))) (build-system perl-build-system) (arguments `(#:phases diff --git a/gnu/packages/tls.scm b/gnu/packages/tls.scm index f51c47db04..b669ac2e8d 100644 --- a/gnu/packages/tls.scm +++ b/gnu/packages/tls.scm @@ -659,14 +659,14 @@ kilobytes of RAM.") (define-public libressl (package (name "libressl") - (version "3.6.1") + (version "3.7.3") (source (origin (method url-fetch) (uri (string-append "mirror://openbsd/LibreSSL/" "libressl-" version ".tar.gz")) (sha256 (base32 - "0x37037rb0zx34zp0kbbqj2xwd57gh1m6bfn52f92fz92q9wdymc")))) + "1csx6gfgiqr43dw23qj2mr5jbkcd99kqavwb4vbmp0hcm5bchj3r")))) (build-system gnu-build-system) (arguments `(#:configure-flags diff --git a/gnu/packages/tor.scm b/gnu/packages/tor.scm index 8ae2118188..7fec88656f 100644 --- a/gnu/packages/tor.scm +++ b/gnu/packages/tor.scm @@ -63,14 +63,14 @@ (define-public tor (package (name "tor") - (version "0.4.7.13") + (version "0.4.7.14") (source (origin (method url-fetch) (uri (string-append "https://dist.torproject.org/tor-" version ".tar.gz")) (sha256 (base32 - "17ga25dq2lcph390ljqmyd8sggp97h42d3h423qmci83rqn1fy90")))) + "1y2xwrji1rvk6h0k15705yra5s74h72h2g84x02zr0338vv6gb55")))) (build-system gnu-build-system) (arguments (list #:configure-flags diff --git a/gnu/packages/tryton.scm b/gnu/packages/tryton.scm index 0b367675ae..f5d193cc6f 100644 --- a/gnu/packages/tryton.scm +++ b/gnu/packages/tryton.scm @@ -129,7 +129,7 @@ and security.") `(("glib-compile-schemas" ,glib "bin") ("gobject-introspection" ,gobject-introspection))) (propagated-inputs - (list librsvg + (list (librsvg-for-system) gsettings-desktop-schemas gtk+ python-dateutil diff --git a/gnu/packages/version-control.scm b/gnu/packages/version-control.scm index c6bfaad4db..699a091642 100644 --- a/gnu/packages/version-control.scm +++ b/gnu/packages/version-control.scm @@ -3097,7 +3097,7 @@ will reconstruct the object along its delta-base chain and return it.") (define-public git-lfs (package (name "git-lfs") - (version "3.3.0") + (version "3.4.0") (source (origin (method git-fetch) (uri (git-reference @@ -3106,7 +3106,7 @@ will reconstruct the object along its delta-base chain and return it.") (file-name (git-file-name name version)) (sha256 (base32 - "1g268pplld04b9myhlrwc4fd8r1hvfyya5ja8wr558rar3pgsp5g")))) + "0ljjs8kyznp2ifkqdcd9q3550sknyx5qxx247icwkd9djjq7x74m")))) (build-system go-build-system) (arguments (list @@ -3171,7 +3171,7 @@ file contents on a remote server.") (define-public lfs-s3 (package (name "lfs-s3") - (version "0.1.2") + (version "0.1.5") (source (origin (method git-fetch) (uri (git-reference @@ -3180,7 +3180,7 @@ file contents on a remote server.") (file-name (git-file-name name version)) (sha256 (base32 - "0ncfy3lgc7dik9k71xk9l5f2llsh2jk33aaqb8dkslschc1mx4g6")))) + "0yilbxpia2lh36s872hiji77hazy83h2zc0iyqldrf3r18szqniw")))) (build-system go-build-system) (arguments (list diff --git a/gnu/packages/web-browsers.scm b/gnu/packages/web-browsers.scm index c7143e38e1..4b0e33ca63 100644 --- a/gnu/packages/web-browsers.scm +++ b/gnu/packages/web-browsers.scm @@ -723,7 +723,7 @@ is fully configurable and extensible in Common Lisp.") (define-public lagrange (package (name "lagrange") - (version "1.16.6") + (version "1.16.7") (source (origin (method url-fetch) @@ -731,7 +731,7 @@ is fully configurable and extensible in Common Lisp.") (string-append "https://git.skyjake.fi/skyjake/lagrange/releases/" "download/v" version "/lagrange-" version ".tar.gz")) (sha256 - (base32 "05wqg78l6jwbsmy8rsz14cp2wl1wss02vwrzfzpyx8qhjxcw7v32")) + (base32 "0ig7xdsihq7wc8h7n1af275z3kjxq5iiy0x4dwjahgligrdmj7vm")) (modules '((guix build utils))) (snippet '(begin diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm index b56fad1876..46a60b8b15 100644 --- a/gnu/packages/web.scm +++ b/gnu/packages/web.scm @@ -326,7 +326,7 @@ and its related documentation.") (define-public miniflux (package (name "miniflux") - (version "2.0.44") + (version "2.0.46") (source (origin (method git-fetch) (uri (git-reference @@ -335,21 +335,32 @@ and its related documentation.") (file-name (git-file-name name version)) (sha256 (base32 - "18ggk71nk3zylgkwq32glggdcapgsj772qn2y4i9hbk374l6h61w")))) + "1qv95kipjlg374kiq6gssh5jsb5arahq4jsb7vkg3njnx0ldwvkb")))) (build-system go-build-system) (arguments (list #:go go-1.19 #:install-source? #f #:import-path "miniflux.app" + #:build-flags + #~(list (string-append + "-ldflags= -X miniflux.app/version.Version=" #$version)) #:phases #~(modify-phases %standard-phases - (add-after 'install 'rename-binary + (add-before 'build 'disable-cgo + (lambda _ + (setenv "CGO_ENABLED" "0"))) + (add-after 'install 'install-manpage + (lambda* (#:key import-path #:allow-other-keys) + (let ((man1 (string-append #$output "/share/man/man1/")) + (page (format #f "src/~a/miniflux.1" import-path))) + (install-file page man1)))) + (add-after 'install-manpage 'rename-binary (lambda _ (let ((bindir (string-append #$output "/bin/"))) (rename-file (string-append bindir "miniflux.app") (string-append bindir "miniflux")))))))) (inputs - (list go-github-com-coreos-go-oidc + (list go-github-com-coreos-go-oidc-v3 go-github-com-go-telegram-bot-api-telegram-bot-api go-github-com-gorilla-mux go-github-com-lib-pq diff --git a/gnu/packages/wm.scm b/gnu/packages/wm.scm index 8cc1f43e38..3185fa860c 100644 --- a/gnu/packages/wm.scm +++ b/gnu/packages/wm.scm @@ -5,7 +5,7 @@ ;;; Copyright © 2015 xd1le <elisp.vim@gmail.com> ;;; Copyright © 2015 Paul van der Walt <paul@denknerd.org> ;;; Copyright © 2016 Danny Milosavljevic <dannym@scratchpost.org> -;;; Copyright © 2016, 2019, 2020 Efraim Flashner <efraim@flashner.co.il> +;;; Copyright © 2016, 2019, 2020, 2023 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2016 Al McElrath <hello@yrns.org> ;;; Copyright © 2016 Carlo Zancanaro <carlo@zancanaro.id.au> ;;; Copyright © 2016 2019, 2021-2022 Ludovic Courtès <ludo@gnu.org> @@ -63,6 +63,7 @@ ;;; Copyright © 2023 Gabriel Wicki <gabriel@erlikon.ch> ;;; Copyright © 2023 Jonathan Brielamier <jonathan.brielmaier@web.de> ;;; Copyright © 2023 Vessel Wave <vesselwave@disroot.org> +;;; Copyright © 2023 Nicolas Graves <ngraves@ngraves.fr> ;;; ;;; This file is part of GNU Guix. ;;; @@ -193,6 +194,27 @@ the leaves of a full binary tree.") (license license:bsd-2))) +(define-public cage + (package + (name "cage") + (version "0.1.5") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/cage-kiosk/cage") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 (base32 "11sg9x08zl2nr7a723h462knz5lf58sgvkhv1mgc9z3hhkhvbsja")))) + (build-system meson-build-system) + (native-inputs (list pkg-config scdoc)) + (inputs (list wayland wlroots libxkbcommon)) + (home-page "https://github.com/cage-kiosk/cage") + (synopsis "Wayland kiosk") + (description "This package provides a Wayland @dfn{kiosk}, which runs a +single, maximized application.") + (license license:expat))) + (define-public herbstluftwm (package (name "herbstluftwm") @@ -3023,7 +3045,7 @@ capabilities. It is heavily inspired by the Calm Window manager(cwm).") (list cairo libjpeg-turbo libpng - librsvg + (librsvg-for-system) libxext libxinerama libxmu diff --git a/gnu/packages/xdisorg.scm b/gnu/packages/xdisorg.scm index da5ca76e10..32afa3a921 100644 --- a/gnu/packages/xdisorg.scm +++ b/gnu/packages/xdisorg.scm @@ -59,6 +59,7 @@ ;;; Copyright © 2022 Tobias Kortkamp <tobias.kortkamp@gmail.com> ;;; Copyright © 2023 Yovan Naumovski <yovan@gorski.stream> ;;; Copyright © 2023 Jake Leporte <jakeleporte@outlook.com> +;;; Copyright © 2023 Hilton Chain <hako@ultrarare.space> ;;; ;;; This file is part of GNU Guix. ;;; @@ -102,6 +103,7 @@ #:use-module (gnu packages compression) #:use-module (gnu packages cpp) #:use-module (gnu packages datastructures) + #:use-module (gnu packages docbook) #:use-module (gnu packages documentation) #:use-module (gnu packages flex) #:use-module (gnu packages fontutils) @@ -132,6 +134,8 @@ #:use-module (gnu packages polkit) #:use-module (gnu packages python) #:use-module (gnu packages python-xyz) + #:use-module (gnu packages python-web) + #:use-module (gnu packages python-check) #:use-module (gnu packages qt) #:use-module (gnu packages sphinx) #:use-module (gnu packages syncthing) @@ -140,6 +144,8 @@ #:use-module (gnu packages tcl) #:use-module (gnu packages terminals) #:use-module (gnu packages xml) + #:use-module (gnu packages wm) + #:use-module (gnu packages webkit) #:use-module (gnu packages xorg) #:use-module (gnu packages) #:use-module (ice-9 match)) @@ -1816,6 +1822,66 @@ but can also follow a growing file, display contents, delete entries and more.") connectivity of the X server running on a particular @code{DISPLAY}.") (license license:gpl3+))) +(define-public ulauncher + (package + (name "ulauncher") + (version "6.0.0") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/Ulauncher/Ulauncher") + (commit "1e68d47473f8e77d375cb4eca644c3cda68ed7e9"))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1c2czlrsf5aq8c88qliqbnqvf04q9cnjc1j6hivqa0w260mzjll1")))) + (build-system python-build-system) + (arguments + (list #:phases #~(modify-phases %standard-phases + (add-after 'unpack 'fix-libX11 + (lambda* (#:key inputs #:allow-other-keys) + (substitute* "ulauncher/utils/xinit.py" + (("libX11.so.6") + (search-input-file inputs "/lib/libX11.so"))))) + (add-after 'unpack 'fix-usr + (lambda _ + (substitute* "setup.py" + (("\\{sys.prefix\\}") + (string-append #$output))))) + (add-after 'unpack 'fix-os-release + (lambda _ + (define (touch file) + (call-with-output-file file + (const #t))) + (let* ((hard-path "/etc/os-release") + (fixed-path (string-append #$output + hard-path))) + ;; Make it relative + ;; Update hardcoded path to something + ;; within the build enviroment. + (substitute* "ulauncher/utils/environment.py" + ((hard-path) + fixed-path)) + ;; Create directory for the dummy file. + (mkdir-p (string-append #$output "/etc")) + (touch fixed-path)))) + (add-before 'check 'env-setup + ;; The test require access to home to put temporary files. + (lambda _ + (setenv "HOME" + (getcwd))))))) + (native-inputs (list intltool python-distutils-extra python-mock)) + (inputs (list libx11 python-levenshtein python-pycairo)) + (propagated-inputs (list keybinder libwnck gsettings-desktop-schemas + python-pygobject webkitgtk-with-libsoup2)) + (home-page "https://ulauncher.io") + (synopsis "Application launcher for Linux") + (description + "Ulauncher is a fast application launcher for Linux. It is written in +Python, using GTK+, and features: App Search (fuzzy matching), Calculator, +Extensions, Shortcuts, File browser mode and Custom Color Themes.") + (license license:gpl3+))) + (define-public rofi (package (name "rofi") @@ -1827,7 +1893,16 @@ connectivity of the X server running on a particular @code{DISPLAY}.") version "/rofi-" version ".tar.xz")) (sha256 (base32 - "138c4bl60p7namsb2pk8q5cdlxbdkli7zny192vk5jv5s5kczzya")))) + "138c4bl60p7namsb2pk8q5cdlxbdkli7zny192vk5jv5s5kczzya")) + (snippet + #~(begin + ;; Delete pre-generated files. + (for-each delete-file + (list "lexer/theme-lexer.c" + "lexer/theme-parser.c" + "lexer/theme-parser.h" + "resources/resources.c" + "resources/resources.h")))))) (build-system gnu-build-system) (native-inputs (list bison @@ -1839,7 +1914,7 @@ connectivity of the X server running on a particular @code{DISPLAY}.") (list cairo glib libjpeg-turbo - librsvg + (librsvg-for-system) libxcb libxkbcommon pango @@ -1875,7 +1950,7 @@ by name.") (package (inherit rofi) (name "rofi-wayland") - (version "1.7.5+wayland1") + (version "1.7.5+wayland2") (source (origin (method url-fetch) (uri (string-append "https://github.com/lbonn/rofi" @@ -1883,16 +1958,16 @@ by name.") "/rofi-" version ".tar.xz")) (sha256 (base32 - "09n71wv3nxpzpjmvqmxlxk0zfln3x2l8admfq571781p9hw0w6wp")))) + "0l6rf8qwvawyh938pinl9fkwzjnq72xpa9a7lwk9jrr5lkk3h8yj")))) (build-system meson-build-system) (inputs (modify-inputs (package-inputs base) (append wayland wayland-protocols))) (description - (string-append - (package-description base) - " This package, @code{rofi-wayland}, provides additional wayland -support."))))) + "Rofi is a minimalist application launcher. It memorizes which +applications you regularly use and also allows you to search for an +application by name. This package, @code{rofi-wayland}, provides additional +wayland support.")))) (define-public rofi-calc (package @@ -1958,7 +2033,7 @@ natural language input and provide results.") (inputs (list gtk+ imlib2 - librsvg + (librsvg-for-system) libxcomposite libxdamage libxft @@ -1979,6 +2054,46 @@ border, and background. It also supports multihead setups, customized mouse actions, a built-in clock, a battery monitor and a system tray.") (license license:gpl2))) +(define-public stalonetray + (package + (name "stalonetray") + (version "0.8.5") + (source + (origin + (method git-fetch) + (uri + (git-reference + (url "https://github.com/kolbusa/stalonetray") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "074wy1xppfycillbxq6fwrq87ik9glc95083df5vgm20mhzni7pz")))) + (arguments + (list + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'fix-docbook-root + (lambda _ + (substitute* "configure.ac" + (("AC_SUBST\\(DOCBOOK_ROOT\\)" all) + (string-append "DOCBOOK_ROOT=" + #$(this-package-native-input "docbook-xsl") + "/xml/xsl/docbook-xsl-" + #$(package-version (this-package-native-input "docbook-xsl")) + "; " all)))))))) + (inputs (list libx11 libxpm)) + (native-inputs (list autoconf automake docbook-xsl libxslt)) + (build-system gnu-build-system) + (home-page "https://kolbusa.github.io/stalonetray") + (synopsis "Standalone freedesktop.org and KDE systray implementation") + (description + "Stalonetray is a stand-alone freedesktop.org and KDE system +tray (notification area) for X Window System/X11 (e.g. X.Org or XFree86). It +has full XEMBED support and minimal dependencies: an X11 lib only. Stalonetray +works with virtually any EWMH-compliant window manager.") + (license license:gpl2+))) + (define-public tofi (package (name "tofi") @@ -2583,7 +2698,7 @@ Wayland and @code{wlroots} by leveraging @command{grim} and @command{slurp}.") (define-public wl-clipboard (package (name "wl-clipboard") - (version "2.1.0") + (version "2.2.0") (source (origin (method git-fetch) @@ -2592,7 +2707,7 @@ Wayland and @code{wlroots} by leveraging @command{grim} and @command{slurp}.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "1g6hcsn4klapvz3bw0k8syixwyyi4cl1c7vbc6f1a2hjpcf4pawn")))) + (base32 "0r45k6fk9k26qs88s2sjlgjjamhj2jqghdivlh2xjqknws63d29g")))) (build-system meson-build-system) (arguments (list #:configure-flags @@ -2605,7 +2720,7 @@ Wayland and @code{wlroots} by leveraging @command{grim} and @command{slurp}.") (add-after 'unpack 'patch-file-names (lambda* (#:key inputs #:allow-other-keys) (substitute* (find-files "src" "\\.c$") - (("\"(cat|rm)\"" _ command) + (("\"(cat)\"" _ command) (string-append "\"" (assoc-ref inputs "coreutils") "/bin/" command "\"")) (("\"xdg-mime\"") @@ -3097,7 +3212,7 @@ using @command{dmenu}.") fontconfig libpng libxkbcommon - librsvg ;if librsvg is not used, bundled nanosvg is used + (librsvg-for-system) ;if librsvg is not used, bundled nanosvg is used pixman wayland wayland-protocols)) @@ -3151,7 +3266,7 @@ such as sway, similar to @command{rofi}.") "0hq2qiqxvrw3g515ywcb676ljc8mdw3pyslgxr3vahizfljah1pv")))) (build-system meson-build-system) (native-inputs (list nlohmann-json pkg-config)) - (inputs (list gtk-layer-shell gtkmm-3 librsvg)) + (inputs (list gtk-layer-shell gtkmm-3 (librsvg-for-system))) (home-page "https://github.com/nwg-piotr/nwg-launchers") (synopsis "Application launchers for wlroots") (description diff --git a/gnu/packages/xml.scm b/gnu/packages/xml.scm index 555f0ab624..01e48fda57 100644 --- a/gnu/packages/xml.scm +++ b/gnu/packages/xml.scm @@ -29,7 +29,7 @@ ;;; Copyright © 2021 Michael Rohleder <mike@rohleder.de> ;;; Copyright © 2021, 2022, 2023 Maxim Cournoyer <maxim.cournoyer@gmail.com> ;;; Copyright © 2021 Julien Lepiller <julien@lepiller.eu> -;;; Copyright © 2021 Felix Gruber <felgru@posteo.net> +;;; Copyright © 2021, 2023 Felix Gruber <felgru@posteo.net> ;;; Copyright © 2021 Guillaume Le Vaillant <glv@posteo.net> ;;; Copyright © 2021 David Larsson <david.larsson@selfhosted.xyz> ;;; Copyright © 2021 Matthew James Kraai <kraai@ftbfs.org> @@ -88,7 +88,7 @@ (define-public libxmlb (package (name "libxmlb") - (version "0.3.10") + (version "0.3.12") (source (origin (method git-fetch) @@ -98,7 +98,7 @@ (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "1q7kizfgbvs02fdnvz09yjyy3v1dpbxl7xf1gx056mbnlib6faxs")))) + (base32 "0v9s2k5saxrs0ssjyg1zxaibybikvaw7fip6sy0b8ixzax9r5y0c")))) (build-system meson-build-system) (arguments `(#:glib-or-gtk? #t)) @@ -106,6 +106,8 @@ (list gobject-introspection gtk-doc/stable pkg-config)) (inputs (list appstream-glib glib)) + (propagated-inputs + (list `(,zstd "lib"))) ; in Requires.private of xmlb.pc (synopsis "Library to help create and query binary XML blobs") (description "Libxmlb library takes XML source, and converts it to a structured binary representation with a deduplicated string table; where the @@ -1457,20 +1459,23 @@ files. It is designed to be fast and to handle large input files.") (define-public freexl (package (name "freexl") - (version "1.0.6") + (version "2.0.0") (source (origin (method url-fetch) (uri (string-append "https://www.gaia-gis.it/gaia-sins/" + "freexl-sources/" "freexl-" version ".tar.gz")) (sha256 (base32 - "08pwj17l0lgp6zms9nmpawdxpvhzrslklbd53s4b430k7mxbbs1x")))) + "1w57w73gfj2niz9dn235hn5wsvxpdbj6sp5zxcg7rasqvvqharqp")))) (build-system gnu-build-system) + (inputs + (list expat minizip)) (home-page "https://www.gaia-gis.it/fossil/freexl/index") (synopsis "Read Excel files") (description - "FreeXL is a C library to extract valid data from within an Excel (.xls) -spreadsheet.") + "FreeXL is a C library to extract valid data from within an Excel +(.xls, .xlsx) or LibreOffice (.ods) spreadsheet.") ;; Any of these licenses may be picked. (license (list license:gpl2+ license:lgpl2.1+ diff --git a/gnu/services/authentication.scm b/gnu/services/authentication.scm index f1ad1b1afe..fbfef2d3d0 100644 --- a/gnu/services/authentication.scm +++ b/gnu/services/authentication.scm @@ -504,7 +504,7 @@ password.") (define (pam-ldap-pam-service config) "Return a PAM service for LDAP authentication." (define pam-ldap-module - #~(string-append #$(nslcd-configuration-nss-pam-ldapd config) + (file-append (nslcd-configuration-nss-pam-ldapd config) "/lib/security/pam_ldap.so")) (pam-extension (transformer diff --git a/gnu/services/base.scm b/gnu/services/base.scm index 492cf8a693..b3f2d2e8b8 100644 --- a/gnu/services/base.scm +++ b/gnu/services/base.scm @@ -1603,38 +1603,36 @@ information on the configuration file syntax." (define pam-limits-service-type (let ((pam-extension - (pam-extension - (transformer - (lambda (pam) - (let ((pam-limits (pam-entry - (control "required") - (module "pam_limits.so") - (arguments - '("conf=/etc/security/limits.conf"))))) - (if (member (pam-service-name pam) - '("login" "greetd" "su" "slim" "gdm-password" - "sddm" "sudo" "sshd" "lightdm")) - (pam-service - (inherit pam) - (session (cons pam-limits - (pam-service-session pam)))) - pam)))))) - - ;; XXX: Using file-like objects is deprecated, use lists instead. - ;; This is to be reduced into the list? case when the deprecated - ;; code gets removed. - ;; Create /etc/security containing the provided "limits.conf" file. - (security-limits + (lambda (limits-file) + (pam-extension + (transformer + (lambda (pam) + (let ((pam-limits (pam-entry + (control "required") + (module "pam_limits.so") + (arguments + (list #~(string-append "conf=" #$limits-file)))))) + (if (member (pam-service-name pam) + '("login" "greetd" "su" "slim" "gdm-password" + "sddm" "lightdm" "sudo" "sshd")) + (pam-service + (inherit pam) + (session (cons pam-limits + (pam-service-session pam)))) + pam))))))) + (make-limits-file (match-lambda + ;; XXX: Using file-like objects is deprecated, use lists instead. + ;; This is to be reduced into the list? case when the deprecated + ;; code gets removed. ((? file-like? obj) (warning (G_ "Using file-like value for \ 'pam-limits-service-type' is deprecated~%")) - `(("security/limits.conf" ,obj))) + obj) ((? list? lst) - `(("security/limits.conf" - ,(plain-file "limits.conf" - (string-join (map pam-limits-entry->string lst) - "\n" 'suffix))))) + (plain-file "limits.conf" + (string-join (map pam-limits-entry->string lst) + "\n" 'suffix))) (_ (raise (formatted-message (G_ "invalid input for 'pam-limits-service-type'~%"))))))) @@ -1642,13 +1640,12 @@ information on the configuration file syntax." (service-type (name 'limits) (extensions - (list (service-extension etc-service-type security-limits) - (service-extension pam-root-service-type - (lambda _ (list pam-extension))))) + (list (service-extension pam-root-service-type + (lambda (config) + (list (pam-extension (make-limits-file config))))))) (description - "Install the specified resource usage limits by populating -@file{/etc/security/limits.conf} and using the @code{pam_limits} -authentication module.") + "Use the @code{pam_limits} authentication module to set the specified +resource usage limits.") (default-value '())))) (define-deprecated (pam-limits-service #:optional (limits '())) @@ -3266,7 +3263,7 @@ to handle." (define optional-pam-mount (pam-entry (control "optional") - (module #~(string-append #$greetd-pam-mount "/lib/security/pam_mount.so")) + (module (file-append greetd-pam-mount "/lib/security/pam_mount.so")) (arguments '("disable_interactive")))) (list diff --git a/gnu/services/databases.scm b/gnu/services/databases.scm index 7148971c1d..d3fee2a8ef 100644 --- a/gnu/services/databases.scm +++ b/gnu/services/databases.scm @@ -180,17 +180,30 @@ host all all ::1/128 md5")) (data-directory postgresql-configuration-data-directory (default "/var/lib/postgresql/data")) (extension-packages postgresql-configuration-extension-packages - (default '()))) - -(define %postgresql-accounts - (list (user-group (name "postgres") (system? #t)) - (user-account - (name "postgres") - (group "postgres") - (system? #t) - (comment "PostgreSQL server user") - (home-directory "/var/empty") - (shell (file-append shadow "/sbin/nologin"))))) + (default '())) + (create-account? postgresql-configuration-create-account? + (default #t)) + (uid postgresql-configuration-uid + (default #f)) + (gid postgresql-configuration-gid + (default #f))) + +(define (create-postgresql-account config) + (match-record config <postgresql-configuration> + (create-account? uid gid) + (if (not create-account?) '() + (list (user-group + (name "postgres") + (id gid) + (system? #t)) + (user-account + (name "postgres") + (group "postgres") + (system? #t) + (uid uid) + (comment "PostgreSQL server user") + (home-directory "/var/empty") + (shell (file-append shadow "/sbin/nologin"))))))) (define (final-postgresql postgresql extension-packages) (if (null? extension-packages) @@ -327,7 +340,7 @@ host all all ::1/128 md5")) (service-extension activation-service-type postgresql-activation) (service-extension account-service-type - (const %postgresql-accounts)) + create-postgresql-account) (service-extension profile-service-type (compose list postgresql-configuration-postgresql)))) diff --git a/gnu/services/desktop.scm b/gnu/services/desktop.scm index ae3f90e96d..5b79fbcda1 100644 --- a/gnu/services/desktop.scm +++ b/gnu/services/desktop.scm @@ -1174,6 +1174,10 @@ started~%") (string-append #$output service-directory)) (symlink (string-append #$elogind "/etc") ;for etc/dbus-1 (string-append #$output "/etc")) + ;; Also expose the D-Bus policy configurations (.conf) files, now + ;; installed under '/share' instead of the legacy '/etc' prefix. + (symlink (string-append #$elogind "/share/dbus-1/system.d") + (string-append #$output "/share/dbus-1/system.d")) ;; Replace the "Exec=" line of the 'org.freedesktop.login1.service' ;; file with one that refers to WRAPPER instead of elogind. diff --git a/gnu/services/dns.scm b/gnu/services/dns.scm index f45fc99c69..6608046909 100644 --- a/gnu/services/dns.scm +++ b/gnu/services/dns.scm @@ -1,6 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2017 Julien Lepiller <julien@lepiller.eu> -;;; Copyright © 2018 Oleg Pykhalov <go.wigust@gmail.com> ;;; Copyright © 2020 Pierre Langlois <pierre.langlois@gmx.com> ;;; Copyright © 2021 Maxime Devos <maximedevos@telenet.be> ;;; Copyright © 2022 Remco van 't Veer <remco@remworks.net> @@ -53,10 +52,7 @@ knot-resolver-configuration dnsmasq-service-type - dnsmasq-configuration - - ddclient-service-type - ddclient-configuration)) + dnsmasq-configuration)) ;;; ;;; Knot DNS. @@ -901,165 +897,3 @@ cache.size = 100 * MB dnsmasq-activation))) (default-value (dnsmasq-configuration)) (description "Run the dnsmasq DNS server."))) - - -;;; -;;; ddclient -;;; - -(define (uglify-field-name field-name) - (string-delete #\? (symbol->string field-name))) - -(define (serialize-field field-name val) - (when (not (member field-name '(group secret-file user))) - (format #t "~a=~a\n" (uglify-field-name field-name) val))) - -(define (serialize-boolean field-name val) - (serialize-field field-name (if val "yes" "no"))) - -(define (serialize-integer field-name val) - (serialize-field field-name (number->string val))) - -(define (serialize-string field-name val) - (if (and (string? val) (string=? val "")) - "" - (serialize-field field-name val))) - -(define (serialize-list field-name val) - (if (null? val) "" (serialize-field field-name (string-join val)))) - -(define (serialize-extra-options extra-options) - (string-join extra-options "\n" 'suffix)) - -(define-configuration ddclient-configuration - (ddclient - (file-like ddclient) - "The ddclient package.") - (daemon - (integer 300) - "The period after which ddclient will retry to check IP and domain name.") - (syslog - (boolean #t) - "Use syslog for the output.") - (mail - (string "root") - "Mail to user.") - (mail-failure - (string "root") - "Mail failed update to user.") - (pid - (string "/var/run/ddclient/ddclient.pid") - "The ddclient PID file.") - (ssl - (boolean #t) - "Enable SSL support.") - (user - (string "ddclient") - "Specifies the user name or ID that is used when running ddclient -program.") - (group - (string "ddclient") - "Group of the user who will run the ddclient program.") - (secret-file - (string "/etc/ddclient/secrets.conf") - "Secret file which will be appended to @file{ddclient.conf} file. This -file contains credentials for use by ddclient. You are expected to create it -manually.") - (extra-options - (list '()) - "Extra options will be appended to @file{ddclient.conf} file.")) - -(define (ddclient-account config) - "Return the user accounts and user groups for CONFIG." - (let ((ddclient-user (ddclient-configuration-user config)) - (ddclient-group (ddclient-configuration-group config))) - (list (user-group - (name ddclient-group) - (system? #t)) - (user-account - (name ddclient-user) - (system? #t) - (group ddclient-group) - (comment "ddclientd privilege separation user") - (home-directory (string-append "/var/run/" ddclient-user)))))) - -(define (ddclient-activation config) - "Return the activation GEXP for CONFIG." - (with-imported-modules '((guix build utils)) - #~(begin - (use-modules (guix build utils) - (ice-9 rdelim)) - (let ((ddclient-user - (passwd:uid (getpw #$(ddclient-configuration-user config)))) - (ddclient-group - (passwd:gid (getpw #$(ddclient-configuration-group config)))) - (ddclient-secret-file - #$(ddclient-configuration-secret-file config))) - ;; 'ddclient' complains about ddclient.conf file permissions, which - ;; rules out /gnu/store. Thus we copy the ddclient.conf to /etc. - (for-each (lambda (dir) - (mkdir-p dir) - (chmod dir #o700) - (chown dir ddclient-user ddclient-group)) - '("/var/cache/ddclient" "/var/run/ddclient" - "/etc/ddclient")) - (with-output-to-file "/etc/ddclient/ddclient.conf" - (lambda () - (display - (string-append - "# Generated by 'ddclient-service'.\n\n" - #$(with-output-to-string - (lambda () - (serialize-configuration config - ddclient-configuration-fields))) - (if (string-null? ddclient-secret-file) - "" - (format #f "\n\n# Appended from '~a'.\n\n~a" - ddclient-secret-file - (with-input-from-file ddclient-secret-file - read-string))))))) - (chmod "/etc/ddclient/ddclient.conf" #o600) - (chown "/etc/ddclient/ddclient.conf" - ddclient-user ddclient-group))))) - -(define (ddclient-shepherd-service config) - "Return a <shepherd-service> for ddclient with CONFIG." - (let ((ddclient (ddclient-configuration-ddclient config)) - (ddclient-pid (ddclient-configuration-pid config)) - (ddclient-user (ddclient-configuration-user config)) - (ddclient-group (ddclient-configuration-group config))) - (list (shepherd-service - (provision '(ddclient)) - (documentation "Run ddclient daemon.") - (start #~(make-forkexec-constructor - (list #$(file-append ddclient "/bin/ddclient") - "-foreground" - "-file" "/etc/ddclient/ddclient.conf") - #:pid-file #$ddclient-pid - #:environment-variables - (list "SSL_CERT_DIR=/run/current-system/profile\ -/etc/ssl/certs" - "SSL_CERT_FILE=/run/current-system/profile\ -/etc/ssl/certs/ca-certificates.crt") - #:user #$ddclient-user - #:group #$ddclient-group)) - (stop #~(make-kill-destructor)))))) - -(define ddclient-service-type - (service-type - (name 'ddclient) - (extensions - (list (service-extension account-service-type - ddclient-account) - (service-extension shepherd-root-service-type - ddclient-shepherd-service) - (service-extension activation-service-type - ddclient-activation))) - (default-value (ddclient-configuration)) - (description "Configure address updating utility for dynamic DNS services, -ddclient."))) - -(define (generate-ddclient-documentation) - (generate-documentation - `((ddclient-configuration ,ddclient-configuration-fields)) - 'ddclient-configuration)) diff --git a/gnu/services/kerberos.scm b/gnu/services/kerberos.scm index 1a1b37f890..a6f540a9b6 100644 --- a/gnu/services/kerberos.scm +++ b/gnu/services/kerberos.scm @@ -432,8 +432,8 @@ generates such a file. It does not cause any daemon to be started."))) (transformer (lambda (pam) (define pam-krb5-module - #~(string-append #$(pam-krb5-configuration-pam-krb5 config) - "/lib/security/pam_krb5.so")) + (file-append (pam-krb5-configuration-pam-krb5 config) + "/lib/security/pam_krb5.so")) (let ((pam-krb5-sufficient (pam-entry diff --git a/gnu/services/linux.scm b/gnu/services/linux.scm index d105c42850..d17f492e15 100644 --- a/gnu/services/linux.scm +++ b/gnu/services/linux.scm @@ -6,6 +6,7 @@ ;;; Copyright © 2021 B. Wilson <elaexuotee@wilsonb.com> ;;; Copyright © 2022 Josselin Poiret <dev@jpoiret.xyz> ;;; Copyright © 2023 Bruno Victal <mirai@makinata.eu> +;;; Copyright © 2023 Felix Lechner <felix.lechner@lease-up.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -67,6 +68,28 @@ kernel-module-loader-service-type + cachefilesd-configuration + cachefilesd-configuration? + cachefilesd-configuration-cachefilesd + cachefilesd-configuration-debug-output? + cachefilesd-configuration-use-syslog? + cachefilesd-configuration-scan? + cachefilesd-configuration-cache-directory + cachefilesd-configuration-cache-name + cachefilesd-configuration-security-context + cachefilesd-configuration-pause-culling-for-block-percentage + cachefilesd-configuration-pause-culling-for-file-percentage + cachefilesd-configuration-resume-culling-for-block-percentage + cachefilesd-configuration-resume-culling-for-file-percentage + cachefilesd-configuration-pause-caching-for-block-percentage + cachefilesd-configuration-pause-caching-for-file-percentage + cachefilesd-configuration-log2-table-size + cachefilesd-configuration-cull? + cachefilesd-configuration-trace-function-entry-in-kernel-module + cachefilesd-configuration-trace-function-exit-in-kernel-module + cachefilesd-configuration-trace-internal-checkpoints-in-kernel-module + cachefilesd-service-type + rasdaemon-configuration rasdaemon-configuration? rasdaemon-configuration-record? @@ -308,6 +331,180 @@ more information)." ;;; +;;; Cachefilesd, an FS-Cache daemon +;;; + +(define (serialize-string variable-symbol value) + #~(format #f "~a ~a~%" #$(symbol->string variable-symbol) #$value)) + +(define-maybe string) + +(define (non-negative-integer? val) + (and (exact-integer? val) (not (negative? val)))) + +(define (serialize-non-negative-integer variable-symbol value) + #~(format #f "~a ~d~%" #$(symbol->string variable-symbol) #$value)) + +(define-maybe non-negative-integer) + +(define (make-option-serializer option-symbol) + (lambda (variable-symbol text) + (if (maybe-value-set? text) + #~(format #f "~a ~a~%" #$(symbol->string option-symbol) #$text) + ""))) + +(define (make-percentage-threshold-serializer threshold-symbol) + (lambda (variable-symbol percentage) + (if (maybe-value-set? percentage) + #~(format #f "~a ~a%~%" #$(symbol->string threshold-symbol) #$percentage) + ""))) + +(define-configuration cachefilesd-configuration + (cachefilesd + (file-like cachefilesd) + "The cachefilesd package to use." + (serializer empty-serializer)) + + ;; command-line options + (debug-output? + (boolean #f) + "Print debugging output to stderr." + (serializer empty-serializer)) + + (use-syslog? + (boolean #t) + "Log to syslog facility instead of stdout." + (serializer empty-serializer)) + + ;; culling is part of the configuration file + ;; despite the name of the command-line option + (scan? + (boolean #t) + "Scan for cachable objects." + (serializer empty-serializer)) + + ;; sole required field in the configuration file + (cache-directory + maybe-string + "Location of the cache directory." + (serializer (make-option-serializer 'dir))) + + (cache-name + (maybe-string "CacheFiles") + "Name of cache (keep unique)." + (serializer (make-option-serializer 'tag))) + + (security-context + maybe-string + "SELinux security context." + (serializer (make-option-serializer 'secctx))) + + ;; percentage thresholds in the configuration file + (pause-culling-for-block-percentage + (maybe-non-negative-integer 7) + "Pause culling when available blocks exceed this percentage." + (serializer (make-percentage-threshold-serializer 'brun))) + + (pause-culling-for-file-percentage + (maybe-non-negative-integer 7) + "Pause culling when available files exceed this percentage." + (serializer (make-percentage-threshold-serializer 'frun))) + + (resume-culling-for-block-percentage + (maybe-non-negative-integer 5) + "Start culling when available blocks drop below this percentage." + (serializer (make-percentage-threshold-serializer 'bcull))) + + (resume-culling-for-file-percentage + (maybe-non-negative-integer 5) + "Start culling when available files drop below this percentage." + (serializer (make-percentage-threshold-serializer 'fcull))) + + (pause-caching-for-block-percentage + (maybe-non-negative-integer 1) + "Pause further allocations when available blocks drop below this percentage." + (serializer (make-percentage-threshold-serializer 'bstop))) + + (pause-caching-for-file-percentage + (maybe-non-negative-integer 1) + "Pause further allocations when available files drop below this percentage." + (serializer (make-percentage-threshold-serializer 'fstop))) + + ;; run time optimizations in the configuration file + (log2-table-size + (maybe-non-negative-integer 12) + "Size of tables holding cullable objects in logarithm of base 2." + (serializer (make-option-serializer 'culltable))) + + (cull? + (boolean #t) + "Create free space by culling (consumes system load)." + (serializer + (lambda (variable-symbol value) + (if value "" "nocull\n")))) + + ;; kernel module debugging in the configuration file + (trace-function-entry-in-kernel-module? + (boolean #f) + "Trace function entry in the kernel module (for debugging)." + (serializer empty-serializer)) + + (trace-function-exit-in-kernel-module? + (boolean #f) + "Trace function exit in the kernel module (for debugging)." + (serializer empty-serializer)) + + (trace-internal-checkpoints-in-kernel-module? + (boolean #f) + "Trace internal checkpoints in the kernel module (for debugging)." + (serializer empty-serializer))) + +(define (serialize-cachefilesd-configuration configuration) + (mixed-text-file + "cachefilesd.conf" + (serialize-configuration configuration cachefilesd-configuration-fields))) + +(define (cachefilesd-shepherd-service config) + "Return a list of <shepherd-service> for cachefilesd for CONFIG." + (match-record + config <cachefilesd-configuration> (cachefilesd + debug-output? + use-syslog? + scan? + cache-directory) + (let ((configuration-file (serialize-cachefilesd-configuration config))) + (shepherd-service + (documentation "Run the cachefilesd daemon for FS-Cache.") + (provision '(cachefilesd)) + (requirement (append '(file-systems) + (if use-syslog? '(syslogd) '()))) + (start #~(begin + (and=> #$(maybe-value cache-directory) mkdir-p) + (make-forkexec-constructor + `(#$(file-append cachefilesd "/sbin/cachefilesd") + ;; do not detach + "-n" + #$@(if debug-output? '("-d") '()) + #$@(if use-syslog? '() '("-s")) + #$@(if scan? '() '("-N")) + "-f" #$configuration-file)))) + (stop #~(make-kill-destructor)))))) + +(define cachefilesd-service-type + (service-type + (name 'cachefilesd) + (description + "Run the file system cache daemon @command{cachefilesd}, which relies on +the Linux @code{cachefiles} module.") + (extensions + (list (service-extension kernel-module-loader-service-type + (const '("cachefiles"))) + (service-extension shepherd-root-service-type + (compose list cachefilesd-shepherd-service)))) + (default-value (cachefilesd-configuration)))) + + +;;; ;;; Reliability, Availability, and Serviceability (RAS) daemon ;;; @@ -351,7 +548,7 @@ more information)." ;;; -;;; Kernel module loader. +;;; Zram device ;;; (define-record-type* <zram-device-configuration> diff --git a/gnu/services/pam-mount.scm b/gnu/services/pam-mount.scm index dbb9d0285f..b3a02e82e9 100644 --- a/gnu/services/pam-mount.scm +++ b/gnu/services/pam-mount.scm @@ -94,7 +94,7 @@ (define optional-pam-mount (pam-entry (control "optional") - (module #~(string-append #$pam-mount "/lib/security/pam_mount.so")))) + (module (file-append pam-mount "/lib/security/pam_mount.so")))) (list (pam-extension (transformer diff --git a/gnu/tests/cachefilesd.scm b/gnu/tests/cachefilesd.scm new file mode 100644 index 0000000000..7f5d513067 --- /dev/null +++ b/gnu/tests/cachefilesd.scm @@ -0,0 +1,71 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2017 Peter Mikkelsen <petermikkelsen10@gmail.com> +;;; Copyright © 2022 Bruno Victal <mirai@makinata.eu> +;;; Copyright © 2023 Felix Lechner <felix.lechner@lease-up.com> +;;; +;;; This file is part of GNU Guix. +;;; +;;; GNU Guix is free software; you can redistribute it and/or modify it +;;; under the terms of the GNU General Public License as published by +;;; the Free Software Foundation; either version 3 of the License, or (at +;;; your option) any later version. +;;; +;;; GNU Guix is distributed in the hope that it will be useful, but +;;; WITHOUT ANY WARRANTY; without even the implied warranty of +;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;;; GNU General Public License for more details. +;;; +;;; You should have received a copy of the GNU General Public License +;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. + +(define-module (gnu tests cachefilesd) + #:use-module (gnu tests) + #:use-module (gnu system) + #:use-module (gnu system vm) + #:use-module (gnu services) + #:use-module (gnu services linux) + #:use-module (guix gexp) + #:export (%test-cachefilesd)) + +(define %cachefilesd-os + (simple-operating-system + (service cachefilesd-service-type + (cachefilesd-configuration + (cache-directory "/var/cache/fscache"))))) + +(define (run-cachefilesd-test) + "Run tests in %cachefilesd-os, which has cachefilesd running." + (define os + (marionette-operating-system + %cachefilesd-os + #:imported-modules '((gnu services herd)))) + + (define vm + (virtual-machine os)) + + (define test + (with-imported-modules '((gnu build marionette)) + #~(begin + (use-modules (srfi srfi-64) + (gnu build marionette)) + (define marionette + (make-marionette (list #$vm))) + + (test-runner-current (system-test-runner #$output)) + (test-begin "cachefilesd") + + (test-assert "service is running" + (marionette-eval + '(begin + (use-modules (gnu services herd)) + (start-service 'cachefilesd)) + marionette)) + + (test-end)))) + (gexp->derivation "cachefilesd-test" test)) + +(define %test-cachefilesd + (system-test + (name "cachefilesd") + (description "Test that the cachefilesd runs when started.") + (value (run-cachefilesd-test)))) diff --git a/gnu/tests/desktop.scm b/gnu/tests/desktop.scm index 137260ea93..ef30442886 100644 --- a/gnu/tests/desktop.scm +++ b/gnu/tests/desktop.scm @@ -55,7 +55,7 @@ (test-equal "login on tty1" '(("c1" "0" "root" "seat0" "tty1") ;session ("seat0") ;seat - ("0" "root")) ;user + ("0" "root" "no")) ;user (begin ;; Wait for tty1. diff --git a/gnu/tests/pam.scm b/gnu/tests/pam.scm index 1654396e42..fa480e69ff 100644 --- a/gnu/tests/pam.scm +++ b/gnu/tests/pam.scm @@ -1,5 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2023 Bruno Victal <mirai@makinata.eu> +;;; Copyright © 2023 Felix Lechner <felix.lechner@lease-up.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -25,8 +26,7 @@ #:use-module (gnu system vm) #:use-module (guix gexp) #:use-module (ice-9 format) - #:export (%test-pam-limits - %test-pam-limits-deprecated)) + #:export (%test-pam-limits)) ;;; @@ -35,26 +35,29 @@ (define pam-limit-entries (list - (pam-limits-entry "@realtime" 'both 'rtprio 99) - (pam-limits-entry "@realtime" 'both 'memlock 'unlimited))) + ;; make sure the limits apply to root (uid 0) + (pam-limits-entry ":0" 'both 'rtprio 99) ;default is 0 + (pam-limits-entry ":0" 'both 'memlock 'unlimited))) ;default is 8192 kbytes (define (run-test-pam-limits config) "Run tests in a os with pam-limits-service-type configured." (define os (marionette-operating-system (simple-operating-system - (service pam-limits-service-type config)))) + (service pam-limits-service-type config)) + #:imported-modules '((gnu services herd)))) (define vm (virtual-machine os)) - (define name (format #f "pam-limit-service~:[~;-deprecated~]" - (file-like? config))) + (define name "pam-limits-service") (define test - (with-imported-modules '((gnu build marionette)) + (with-imported-modules '((gnu build marionette) + (guix build syscalls)) #~(begin (use-modules (gnu build marionette) + (guix build syscalls) (srfi srfi-64)) (let ((marionette (make-marionette (list #$vm)))) @@ -63,18 +66,32 @@ (test-begin #$name) - (test-assert "/etc/security/limits.conf ready" - (wait-for-file "/etc/security/limits.conf" marionette)) - - (test-equal "/etc/security/limits.conf content matches" - #$(string-join (map pam-limits-entry->string pam-limit-entries) - "\n" 'suffix) - (marionette-eval - '(begin - (use-modules (rnrs io ports)) - (call-with-input-file "/etc/security/limits.conf" - get-string-all)) - marionette)) + (test-equal "log in on tty1 and read limits" + '(("99") ;real-time priority + ("unlimited")) ;max locked memory + + (begin + ;; Wait for tty1. + (marionette-eval '(begin + (use-modules (gnu services herd)) + (start-service 'term-tty1)) + marionette) + + (marionette-control "sendkey ctrl-alt-f1" marionette) + + ;; Now we can type. + (marionette-type "root\n" marionette) + (marionette-type "ulimit -r > real-time-priority\n" marionette) + (marionette-type "ulimit -l > max-locked-memory\n" marionette) + + ;; Read the two files. + (marionette-eval '(use-modules (rnrs io ports)) marionette) + (let ((guest-file (lambda (file) + (string-tokenize + (wait-for-file file marionette + #:read 'get-string-all))))) + (list (guest-file "/root/real-time-priority") + (guest-file "/root/max-locked-memory"))))) (test-end))))) @@ -83,17 +100,6 @@ (define %test-pam-limits (system-test (name "pam-limits-service") - (description "Test that pam-limits-service can serialize its config -(as a list) to @file{limits.conf}.") + (description "Test that pam-limits-service actually sets the limits as +configured.") (value (run-test-pam-limits pam-limit-entries)))) - -(define %test-pam-limits-deprecated - (system-test - (name "pam-limits-service-deprecated") - (description "Test that pam-limits-service can serialize its config -(as a file-like object) to @file{limits.conf}.") - (value (run-test-pam-limits - (plain-file "limits.conf" - (string-join (map pam-limits-entry->string - pam-limit-entries) - "\n" 'suffix)))))) diff --git a/guix/git.scm b/guix/git.scm index be20cde019..dbc3b7caa7 100644 --- a/guix/git.scm +++ b/guix/git.scm @@ -439,7 +439,7 @@ could not be fetched from Software Heritage~%") #:recursive? recursive?))) "Update the cached checkout of URL to REF in CACHE-DIRECTORY. Return three values: the cache directory name, and the SHA1 commit (a string) corresponding -to REF, and the relation of the new commit relative to STARTING-COMMIT (if +to REF, and the relation of STARTING-COMMIT relative to the new commit (if provided) as returned by 'commit-relation'. REF is pair whose key is [branch | commit | tag | tag-or-commit ] and value diff --git a/guix/import/texlive.scm b/guix/import/texlive.scm index b5a812b34e..7e79c77884 100644 --- a/guix/import/texlive.scm +++ b/guix/import/texlive.scm @@ -101,6 +101,7 @@ ("cc-by-sa-3" 'cc-by-sa3.0) ("cc-by-sa-4" 'cc-by-sa4.0) ("mit" 'expat) + ("x11" 'x11) ("fdl" 'fdl1.3+) ;; The GUST Font Nosource License, which is legally equivalent to ;; lppl1.3c+, is no longer in use (per @@ -298,7 +299,7 @@ When TEXLIVE-ONLY is true, only TeX Live packages are returned." (define (linked-scripts name package-database) "Return a list of script names to symlink from \"bin/\" directory for package NAME according to PACKAGE-DATABASE. Consider as scripts files with -\".lua\", \".pl\", \".py\", \".sh\", \".tcl\", \".texlua\", \".tlu\" +\".lua\", \".pl\", \".py\", \".rb\", \".sh\", \".tcl\", \".texlua\", \".tlu\" extensions, and files without extension." (and-let* ((data (assoc-ref package-database name)) ;; Check if binaries are associated to the package. @@ -317,7 +318,8 @@ extensions, and files without extension." (filter-map (lambda (script) (and (any (lambda (ext) (member (basename script ext) binaries)) - '(".lua" ".pl" ".py" ".sh" ".tcl" ".texlua" ".tlu")) + '(".lua" ".pl" ".py" ".rb" ".sh" ".tcl" ".texlua" + ".tlu")) (basename script))) ;; Get the right (alphabetic) order. (reverse scripts)))) @@ -476,6 +478,7 @@ of those files are returned that are unexpectedly installed." ,@(match (append-map (lambda (s) (cond ((string-suffix? ".pl" s) '(perl)) ((string-suffix? ".py" s) '(python)) + ((string-suffix? ".rb" s) '(ruby)) ((string-suffix? ".tcl" s) '(tcl tk)) (else '()))) (or scripts '())) @@ -499,7 +502,7 @@ of those files are returned that are unexpectedly installed." (license ,(cond (meta-package? - '(license:fsf-free "https://www.tug.org/texlive/copying.html")) + '(fsf-free "https://www.tug.org/texlive/copying.html")) ((assoc-ref data 'catalogue-license) => string->license) (else #f)))) (translate-depends depends #t))))) diff --git a/guix/inferior.scm b/guix/inferior.scm index 5dfd30a6c8..fca6fb4b22 100644 --- a/guix/inferior.scm +++ b/guix/inferior.scm @@ -871,11 +871,15 @@ prefix, resolve it; and if 'commit' is unset, fetch CHANNEL's branch tip." #:key (authenticate? #t) (cache-directory (%inferior-cache-directory)) - (ttl (* 3600 24 30))) + (ttl (* 3600 24 30)) + validate-channels) "Return a directory containing a guix filetree defined by CHANNELS, a list of channels. -The directory is a subdirectory of CACHE-DIRECTORY, where entries can be reclaimed after TTL seconds. -This procedure opens a new connection to the build daemon. AUTHENTICATE? -determines whether CHANNELS are authenticated." +The directory is a subdirectory of CACHE-DIRECTORY, where entries can be +reclaimed after TTL seconds. This procedure opens a new connection to the +build daemon. AUTHENTICATE? determines whether CHANNELS are authenticated. +VALIDATE-CHANNELS, if specified, must be a one argument procedure accepting a +list of channels that can be used to validate the channels; it should raise an +exception in case of problems." (define commits ;; Since computing the instances of CHANNELS is I/O-intensive, use a ;; cheaper way to get the commit list of CHANNELS. This limits overhead @@ -923,27 +927,30 @@ determines whether CHANNELS are authenticated." (if (file-exists? cached) cached - (run-with-store store - (mlet* %store-monad ((instances - -> (latest-channel-instances store channels - #:authenticate? - authenticate?)) - (profile - (channel-instances->derivation instances))) - (mbegin %store-monad - ;; It's up to the caller to install a build handler to report - ;; what's going to be built. - (built-derivations (list profile)) - - ;; Cache if and only if AUTHENTICATE? is true. - (if authenticate? - (mbegin %store-monad - (symlink* (derivation->output-path profile) cached) - (add-indirect-root* cached) - (return cached)) - (mbegin %store-monad - (add-temp-root* (derivation->output-path profile)) - (return (derivation->output-path profile))))))))) + (begin + (when (procedure? validate-channels) + (validate-channels channels)) + (run-with-store store + (mlet* %store-monad ((instances + -> (latest-channel-instances store channels + #:authenticate? + authenticate?)) + (profile + (channel-instances->derivation instances))) + (mbegin %store-monad + ;; It's up to the caller to install a build handler to report + ;; what's going to be built. + (built-derivations (list profile)) + + ;; Cache if and only if AUTHENTICATE? is true. + (if authenticate? + (mbegin %store-monad + (symlink* (derivation->output-path profile) cached) + (add-indirect-root* cached) + (return cached)) + (mbegin %store-monad + (add-temp-root* (derivation->output-path profile)) + (return (derivation->output-path profile)))))))))) (define* (inferior-for-channels channels #:key diff --git a/guix/platforms/powerpc.scm b/guix/platforms/powerpc.scm index 9d0b343bc3..1c7141ab42 100644 --- a/guix/platforms/powerpc.scm +++ b/guix/platforms/powerpc.scm @@ -20,6 +20,7 @@ #:use-module (guix platform) #:use-module (guix records) #:export (powerpc-linux + powerpc64-linux powerpc64le-linux)) (define powerpc-linux @@ -29,6 +30,13 @@ (linux-architecture "powerpc") (glibc-dynamic-linker "/lib/ld.so.1"))) +(define powerpc64-linux + (platform + (target "powerpc64-linux-gnu") + (system #f) ;not supported + (linux-architecture "powerpc") + (glibc-dynamic-linker "/lib/ld64.so.1"))) + (define powerpc64le-linux (platform (target "powerpc64le-linux-gnu") diff --git a/guix/scripts/home.scm b/guix/scripts/home.scm index fbd5689be8..e0800bc062 100644 --- a/guix/scripts/home.scm +++ b/guix/scripts/home.scm @@ -330,6 +330,10 @@ immediately. Return the exit status of the process in the container." (display "127.0.0.1 localhost\n" port) (chmod port #o444)))) + ;; Create /tmp; bits of code expect it, such as + ;; 'least-authority-wrapper'. + (mkdir-p "/tmp") + ;; Set PATH for things that the activation script might expect, such ;; as "env". (load-profile #$system-profile) diff --git a/guix/scripts/pull.scm b/guix/scripts/pull.scm index ecd264d3fa..9b78d4b5ca 100644 --- a/guix/scripts/pull.scm +++ b/guix/scripts/pull.scm @@ -166,7 +166,7 @@ Download and deploy the latest version of Guix.\n")) (alist-delete 'repository-url result)))) (option '("commit") #t #f (lambda (opt name arg result) - (alist-cons 'ref `(commit . ,arg) result))) + (alist-cons 'ref `(tag-or-commit . ,arg) result))) (option '("branch") #t #f (lambda (opt name arg result) (alist-cons 'ref `(branch . ,arg) result))) @@ -774,7 +774,8 @@ Use '~/.config/guix/channels.scm' instead.")) (if (guix-channel? c) (let ((url (or url (channel-url c)))) (match ref - (('commit . commit) + ((or ('commit . commit) + ('tag-or-commit . commit)) (channel (inherit c) (url url) (commit commit) (branch #f))) (('branch . branch) diff --git a/guix/scripts/refresh.scm b/guix/scripts/refresh.scm index a9241aa20d..f39dc743b1 100644 --- a/guix/scripts/refresh.scm +++ b/guix/scripts/refresh.scm @@ -10,6 +10,7 @@ ;;; Copyright © 2020 Simon Tournier <zimon.toutoune@gmail.com> ;;; Copyright © 2021 Sarah Morgensen <iskarian@mgsn.dev> ;;; Copyright © 2022 Hartmut Goebel <h.goebel@crazy-compilers.com> +;;; Copyright © 2023 Maxim Cournoyer maxim.cournoyer@gmail.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -106,6 +107,9 @@ (option '(#\m "manifest") #t #f (lambda (opt name arg result) (alist-cons 'manifest arg result))) + (option '("target-version") #t #f + (lambda (opt name arg result) + (alist-cons 'target-version arg result))) (option '(#\e "expression") #t #f (lambda (opt name arg result) (alist-cons 'expression arg result))) @@ -165,6 +169,9 @@ specified with `--select'.\n")) (display (G_ " -m, --manifest=FILE select all the packages from the manifest in FILE")) (display (G_ " + --target-version=VERSION + update the package or packages to VERSION")) + (display (G_ " -t, --type=UPDATER,... restrict to updates from the specified updaters (e.g., 'gnu')")) (display (G_ " @@ -213,17 +220,20 @@ specified with `--select'.\n")) (define* (update-spec package #:optional version) (%update-spec package version)) -(define (update-specification->update-spec spec) +(define (update-specification->update-spec spec fallback-version) "Given SPEC, a package name like \"guile@2.0=2.0.8\", return a <update> -record with two fields: the package to upgrade, and the target version." +record with two fields: the package to upgrade, and the target version. When +SPEC lacks a version, use FALLBACK-VERSION." (match (string-rindex spec #\=) - (#f (update-spec (specification->package spec) #f)) + (#f (update-spec (specification->package spec) fallback-version)) (idx (update-spec (specification->package (substring spec 0 idx)) (substring spec (1+ idx)))))) (define (options->update-specs opts) "Return the list of <update-spec> records requested by OPTS, honoring options like '--recursive'." + (define target-version (assoc-ref opts 'target-version)) + (define core-package? (let* ((input->package (match-lambda ((name (? package? package) _ ...) package) @@ -263,13 +273,18 @@ update would trigger a complete rebuild." ;; Update specs explicitly passed as command-line arguments. (match (append-map (match-lambda (('argument . spec) - ;; Take either the specified version or the - ;; latest one. - (list (update-specification->update-spec spec))) + ;; Take either the specified version or the latest + ;; one. The version specified as part of a spec + ;; takes precedence, with the command-line specified + ;; --target-version used as a fallback. + (list (update-specification->update-spec + spec target-version))) (('expression . exp) - (list (update-spec (read/eval-package-expression exp)))) + (list (update-spec (read/eval-package-expression exp) + target-version))) (('manifest . manifest) - (map update-spec (packages-from-manifest manifest))) + (map (cut update-spec <> target-version) + (packages-from-manifest manifest))) (_ '())) opts) diff --git a/guix/scripts/system/reconfigure.scm b/guix/scripts/system/reconfigure.scm index 9948df0ca6..ff6242ffb4 100644 --- a/guix/scripts/system/reconfigure.scm +++ b/guix/scripts/system/reconfigure.scm @@ -186,22 +186,22 @@ services as defined by OS." #:target-type shepherd-root-service-type)))) (mlet* %store-monad ((live-services (running-services eval))) - (let ((to-unload to-restart - (shepherd-service-upgrade live-services target-services))) - (let* ((to-unload (map live-service-canonical-name to-unload)) - (to-restart (map shepherd-service-canonical-name to-restart)) - (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 - to-start - to-unload - to-restart)))))))) + (let* ((to-unload to-restart + (shepherd-service-upgrade live-services target-services)) + (to-unload (map live-service-canonical-name to-unload)) + (to-restart (map shepherd-service-canonical-name to-restart)) + (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 + to-start + to-unload + to-restart))))))) ;;; diff --git a/guix/scripts/time-machine.scm b/guix/scripts/time-machine.scm index d7c71ef705..e4fe511382 100644 --- a/guix/scripts/time-machine.scm +++ b/guix/scripts/time-machine.scm @@ -2,6 +2,7 @@ ;;; Copyright © 2019 Konrad Hinsen <konrad.hinsen@fastmail.net> ;;; Copyright © 2019, 2020, 2021 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2021 Simon Tournier <zimon.toutoune@gmail.com> +;;; Copyright © 2023 Maxim Cournoyer <maxim.cournoyer@gmail.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -19,13 +20,15 @@ ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. (define-module (guix scripts time-machine) + #:use-module (guix channels) + #:use-module (guix diagnostics) #:use-module (guix ui) #:use-module (guix scripts) #:use-module (guix inferior) #:use-module (guix store) #:use-module (guix status) #:use-module ((guix git) - #:select (with-git-error-handling)) + #:select (update-cached-checkout with-git-error-handling)) #:use-module ((guix utils) #:select (%current-system)) #:use-module ((guix scripts pull) @@ -38,9 +41,17 @@ #:use-module (srfi srfi-1) #:use-module (srfi srfi-11) #:use-module (srfi srfi-26) + #:use-module (srfi srfi-34) #:use-module (srfi srfi-37) + #:use-module (srfi srfi-71) #:export (guix-time-machine)) +;;; The required inferiors mechanism relied on by 'guix time-machine' was +;;; firmed up in v1.0.0; it is the oldest, safest commit that can be travelled +;;; to. +(define %oldest-possible-commit + "6298c3ffd9654d3231a6f25390b056483e8f407c") ;v1.0.0 + ;;; ;;; Command-line options. @@ -81,7 +92,7 @@ Execute COMMAND ARGS... in an older version of Guix.\n")) (alist-delete 'repository-url result)))) (option '("commit") #t #f (lambda (opt name arg result) - (alist-cons 'ref `(commit . ,arg) result))) + (alist-cons 'ref `(tag-or-commit . ,arg) result))) (option '("branch") #t #f (lambda (opt name arg result) (alist-cons 'ref `(branch . ,arg) result))) @@ -140,8 +151,27 @@ Execute COMMAND ARGS... in an older version of Guix.\n")) (let* ((opts (parse-args args)) (channels (channel-list opts)) (command-line (assoc-ref opts 'exec)) + (ref (assoc-ref opts 'ref)) (substitutes? (assoc-ref opts 'substitutes?)) (authenticate? (assoc-ref opts 'authenticate-channels?))) + + (define (validate-guix-channel channels) + "Finds the Guix channel among CHANNELS, and validates that REF as +captured from the closure, a git reference specification such as a commit hash +or tag associated to CHANNEL, is valid and new enough to satisfy the 'guix +time-machine' requirements. A `formatted-message' condition is raised +otherwise." + (let* ((guix-channel (find guix-channel? channels)) + (checkout commit relation (update-cached-checkout + (channel-url guix-channel) + #:ref (or ref '()) + #:starting-commit + %oldest-possible-commit))) + (unless (memq relation '(ancestor self)) + (raise (formatted-message + (G_ "cannot travel past commit `~a' from May 1st, 2019") + (string-take %oldest-possible-commit 12)))))) + (when command-line (let* ((directory (with-store store @@ -153,6 +183,8 @@ Execute COMMAND ARGS... in an older version of Guix.\n")) #:dry-run? #f) (set-build-options-from-command-line store opts) (cached-channel-instance store channels - #:authenticate? authenticate?))))) + #:authenticate? authenticate? + #:validate-channels + validate-guix-channel))))) (executable (string-append directory "/bin/guix"))) (apply execl (cons* executable executable command-line)))))))) diff --git a/tests/guix-refresh.sh b/tests/guix-refresh.sh index 51d34c4b51..2ce3c592ab 100644 --- a/tests/guix-refresh.sh +++ b/tests/guix-refresh.sh @@ -109,6 +109,13 @@ case "$(guix refresh -t test guile=2.0.0 2>&1)" in *"failed to find"*"2.0.0"*) true;; *) false;; esac + +guix refresh -t test guile --target-version=2.0.0 # XXX: should return non-zero? +case "$(guix refresh -t test guile --target-version=2.0.0 2>&1)" in + *"failed to find"*"2.0.0"*) true;; + *) false;; +esac + for spec in "guile=1.6.4" "guile@3=1.6.4" do guix refresh -t test "$spec" diff --git a/tests/guix-time-machine.sh b/tests/guix-time-machine.sh new file mode 100644 index 0000000000..8b62ef75ea --- /dev/null +++ b/tests/guix-time-machine.sh @@ -0,0 +1,28 @@ +# GNU Guix --- Functional package management for GNU +# Copyright © 2023 Maxim Cournoyer <maxim.cournoyer@gmail.com> +# +# This file is part of GNU Guix. +# +# GNU Guix is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 3 of the License, or (at +# your option) any later version. +# +# GNU Guix is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. + +# +# Test the 'guix time-machine' command-line utility. +# + +guix time-machine --version + +# Visiting a commit older than v1.0.0 fails. +! guix time-machine --commit=v0.15.0 + +exit 0 diff --git a/tests/texlive.scm b/tests/texlive.scm index 98461f7e51..fac9faf714 100644 --- a/tests/texlive.scm +++ b/tests/texlive.scm @@ -542,12 +542,12 @@ completely compatible with Plain TeX.") ('arguments ('list '#:builder ('gexp ('mkdir ('ungexp 'output))))) ('propagated-inputs - ('list 'texlive-collection-basic 'texlive-texworks)) + ('list 'texlive-collection-basic)) ('home-page "https://www.tug.org/texlive/") ('synopsis (? string?)) ('description (? string?)) ('license - ('license:fsf-free "https://www.tug.org/texlive/copying.html"))) + ('fsf-free "https://www.tug.org/texlive/copying.html"))) #true) (_ (begin |